[SAMMELTHREAD] Kleine Scripting Fragen
- Rafelder
- Unerledigt
Dein Problem konnte durch einen User gelöst werden? Bedank dich bei ihm indem du seinen Beitrag als Hilfreich markierst sowie einen Daumen oben dalässt
Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!
Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
-
-
-
@Jeffry
Müsste das & & nicht eher zu ||?
Man kann rein theoretisch ja nur in einer Fraktion sein.
Nein, da du abfragst, ob der Wert nicht der eine, oder der andere ist.
Wenn es keiner von beiden ist, kommt die Meldung.Ist so schon richtig.
Gruß
-
hey ich wollte mal fragen wie man z.b bei einer Stadthalle die Draw und Stream Distanz einstellen sollte ?
Und wie man es bei Einen Interior mache sollte -
Die standard-Werte sind eigentlich in 99% aller Fälle passend, und wenn es mal nicht passt, dann regelt das Streamer Plugin das eigentlich von selbst. In einem Interior sind die Objekte ja ohnehin alle nahe beieinander, da bringt es gar nicht viel, etwas an den Distanzen zu ändern.
-
Wie sind die Standart werte ?
bzw kann ich die letzten 2 Parameter weg lasse ? -
Die standard-Werte sind:
Cnative STREAMER_TAG_OBJECT CreateDynamicObject(modelid, Float:x, Float:y, Float:z, Float:rx, Float:ry, Float:rz, worldid = -1, interiorid = -1, playerid = -1, Float:streamdistance = STREAMER_OBJECT_SD, Float:drawdistance = STREAMER_OBJECT_DD);Je nach dem wie das in deiner Include eingestellt ist.
Aber ja, du kannst sie auch einfach weg lassen. -
Komisch.
Wenn ich pFraktion 1 habe funktioniert es.
pFraktion 2 kommt "Kein Beamter" und in pFraktion 3 kommt "Unknown Command".
o.oCommand:
CodeCMD:megaphone(playerid, params[]) { if(!IsLoggedIn(playerid))return 1; new msg[96], string[128]; if(Spieler[playerid][pFraktion] != 1 && Spieler[playerid][pFraktion] != 3)return SendClientMessage(playerid, COLOR_GREY, "** Du bist kein Beamter/Sanitäter."); if(sscanf(params, "s[96]", msg))return SendClientMessage(playerid, COLOR_GREY, "** Benutze (/m)egaphone [Nachricht]"); format(string, sizeof(string), ">> [ %s %s: %s ] <<", GetRankName(Spieler[playerid][pFraktion], Spieler[playerid][pRank]), GetName(playerid), msg); RoundMessage(playerid, COLOR_YELLOW, string, 20.0); return 1; } -
Wie sieht deine GetRankName Funktion aus?
-
Beitrag von Simon2202 ()
Dieser Beitrag wurde vom Autor gelöscht (). -
-
Yo, kleine Frage:
Wieso erhalte ich nicht die definierten 1000 $ ?
-
Du musst die Pickup ID nehmen:
C
Alles anzeigennew myPickup; CMD:pickuptest(playerid,params[]) { new Float:x, Float:y, Float:z; GetPlayerPos(playerid, x, y, z); myPickup = CreatePickup(1212, 4, x, y+2, z, -1); return 1; } public OnPlayerPickUpPickup(playerid, pickupid) { if(pickupid == myPickup) { GivePlayerMoney(playerid, 1000); } return 1; }@Simon2202
Mache bitte einen Thread auf, das ist keine kleine Scripting Frage. -
-
Setze dir mal einen print hin und schaue ob das Callback überhaupt aufgerufen wird.
Lasse dir gegebenenfalls die beiden IDs (pickupid und myPickup) im Print ausgeben, und schaue ob die übereinstimmen. -
Beides wird aufgerufen, habe die Prints so gesetzt:
CSS
Alles anzeigenpublic OnPlayerPickUpPickup(playerid, pickupid) { print("OnPLayerPickkUp aufgerufen"); if(pickupid == myPickup) { GivePlayerMoney(playerid,5000); SendClientMessage(playerid,0xFFFF0080,"Test"); } return 1; } CMD:pickuptest(playerid,params[]) { print("Befehl aufgerufen"); new Float:x, Float:y, Float:z; GetPlayerPos(playerid, x, y, z); myPickup = CreatePickup(1212, 4, x, y+2, z, -1); return 1; } -
Komisch. Was steht so im Log?
C
Alles anzeigenpublic OnPlayerPickUpPickup(playerid, pickupid) { printf("OnPlayerPickkUp aufgerufen (%d == %d)", pickupid, myPickup); if(pickupid == myPickup) { printf("Gebe Geld."); GivePlayerMoney(playerid,5000); SendClientMessage(playerid,0xFFFF0080,"Test"); } return 1; } CMD:pickuptest(playerid,params[]) { print("Befehl aufgerufen"); new Float:x, Float:y, Float:z; GetPlayerPos(playerid, x, y, z); myPickup = CreatePickup(1212, 4, x, y+2, z, -1); printf("Erstelle ID %d", myPickup); return 1; } -
Teste ich sofort aus, möchte nur sagen das ich hier Warnings kriege:
print("OnPlayerPickkUp aufgerufen (%d == %d)", pickupid, myPickup);
Warning:
number of arguments does not match definition updates.pwn 52 -
print zu printf
-
RCON (In-Game): Player [[LnD]MoTrip] sent command: reloadfs updates
Filterscript 'updates.amx' unloaded.
Filterscript 'updates.amx' loaded.
Befehl aufgerufen
Erstelle ID 71
OnPlayerPickkUp aufgerufen (3 == 71) -
Du erstellst das Pickup mit der ID 71, läufst aber in das Pickup der ID 3.
Starte mal deinen Server komplett neu, und versuche es mit dem Pickup Typ 1 anstatt der 4 in CreatePickup. -