Beiträge von Hagi
-
-
Hau das Plugin mal drauf, das gibt dir in den meisten Fällen die fehlerhafte Zeile im Script an.
-
Parameter sind Werte, die an die Methode übergeben werden.
Der Methodenkörper ist das zwischen den beiden { }
Der Returnwert gibt einen Wert an den Teil des Scripts zurück, an dem die Methode aufgerufen wurde. -
stock methodenname(parameter)
{
// Methodenkörper
return returnwert;
}Stocks sind Codeschnipsel, welche einen returnwert liefern. So wie ich das mitbekommen habe, werden stocks beim Compilen in den Code geschrieben, was sie von publics unterscheidet.
Aber ich glaub was solche Sachen angeht, gibts hier ein paar Leute die da mehr Ahnung von haben. -
Die Samp Callbacks sind da nicht ganz synchron, weshalb du wohl oder übel ein paar Asynchronitäten in Kauf nehmen musst.
Du kannst den Callback OnPlayerTakeDamage(playerid, issuerid, Float:amount, weaponid) um zu überprüfen, ob ein Spieler mit einem Katana verletzt wurde. Dann im Callback SetPlayerHealth nutzen um weitere 25 Hp abzuziehen.
-
normalerweise schreibt man solche Methoden als stock. Da ich aber nicht weiß, was die Methode returnen soll bzw. wie die Fraktionsvariablen heißen, kann ich dir leider keine Lösung vorschlagen.
edit: Was ich grad sehe, mach mal das Semikolon hinter der Methode weg.
-
Deine Methode
IsPlayerInFrac
existiert nicht
-
Funktioniert allerdings nur so lange, wie alle Spieler beide Tasten für irgedwelche Aktionen, wie z.B:
Leer - Sprinten
2 - Submissionnutzen.
-
Hast du Mods nach dem Neuinstallieren drauf gemacht ?
-
Das was in OnPlayerCommandText unter /m steht kopierst du einfach da rein.
Nur welche Tasten willst du denn belegen. Du kannst nämlich nur Tasten abfgragen, welche von GTA auch genutzt werden.
-
Da es objekte sind, kann man sie logischerweise nicht löschen. Wie es gehen sollte ist aber wenn man Mathematik, sprich Vektorrechnung, anwendet. Dann sollte man herausfinden können, ob man mit dem Feuerlöscher usw. auf das Feuer zeigt. Dann brauchste das Objekt nur noch löschen.
-
Du kannst auch, was das Desktop Problem beheben sollte, auch den native SetPlayerName nutzen. Natürlich musst du den richtigen Namen auch in einer Spielervariable z.b. SetPVarString speichern, damit du ihn später wieder zurücksetzen kannst.
Bedenke jedoch, dass das Speichern von Spielerdaten in einer Datei oder MYSQL dadurch nicht mehr geht, da ja der Name geändert ist. Du müsstest dann unter dem Namen speichern, welcher in der PVarString steht.
-
Glaube die waren
14442 bis 14444
Bei mir werden die Objekte allerdings nicht angezeigt, vllt gehts ja bei dir.
-
Also was ich mir jetzt vorstellen könnte.
Entweder gibt deine Funktion
IsPlayerAnAdmin(playerid,1) keinen vernünftigen returnwert zurück oder der Stock muss, da ein String returnt wird als ein String returnender stock definiert werden. Hatte ich bei Floats als returnwert oft.Also mein Vorschlag wäre das hier:
stock String GetPlayerAdminRang(playerid)
{
new admintext[256];
if(IsPlayerAnAdmin(playerid,1)) admintext="Supporter";
else if(IsPlayerAnAdmin(playerid,2)) admintext="Moderator";
else if(IsPlayerAnAdmin(playerid,3)) admintext="Administrator";
else if(IsPlayerAnAdmin(playerid,4)) admintext="Super Administrator";
else if(IsPlayerAnAdmin(playerid,5)) admintext="Projektleiter";
else admintext="Kein Admin";return admintext;
} -
Für jedes Listitem brauchst du noch eine Kontrollvariable. Diese kannst du z.B. im Boolean Format handhaben.
Dann beim Dialog erstellen einfach abfragen, ob die Variable auf true oder false ist. Im DialogResponse musst du dann nochmal die Variable abfragen, da du vom Dialog nicht auf die Variable schließen kannst. -
Also als ich vor drei Jahren angefangen habe, hab ich mir ein kleines 300 Zeilen DM Script gebastelt.
Seit dem Arbeite ich da immer weiter dran und lasse neue Sachen einfließen, welche mir einfallen oder welche ich hier im Forum gesehen habe. Allerdings alles selber gescriptet.
Momentan habe ich so ein DM Script mit knapp 9000 Zeilen, welches auch eigentlich super funktioniert.Also meine Empfehlung ist ein Selfmade DM Script, da DM Scripte nie so umfangreich sind wie RL Scripte und man so seine Erfolge schnell betrachten kann.
-
Für die Halbe Stunde setzt du einen Timer mit 1000*60*30 Millisekunden an.
Im aufgerufenen Timer erstellst du dann das Feuer und gibst eine Nachricht an alle Feuerwehrleute aus. Je nachdem wie dein Feuerwehrsystem aufgebaut ist, musst du natürlich noch einiges anpassen. -
Die Variable "Spieler" ist schon irgendwo definiert. Such ma per strg+f
-
Die Variable Player existiert nicht, bzw ist nicht global gehalten.
-
Formatiere mit z, dann ist es ein optionaler Parameter.
Dann musst du ihn für die Waffe schonmal nicht angeben, allerdings auch nicht für Drogen.
Jetzt kannst du natürlich bei den Drogen Abfragen ob der Parameter zugewiesen ist oder nicht.
Quelle für Format