Du kannst nicht die playerid verwenden, da die sich doch jedes mal ändert und wenn der Spieler offline ist schon gar nicht existiert.
Du musst einfach nur den Namen von dem Spieler verwenden, das ist der eindeutige Key und nicht die playerid ![]()
Du kannst nicht die playerid verwenden, da die sich doch jedes mal ändert und wenn der Spieler offline ist schon gar nicht existiert.
Du musst einfach nur den Namen von dem Spieler verwenden, das ist der eindeutige Key und nicht die playerid ![]()
Lies bitte noch mal meinen Beitrag. Ich rede eigentlich nirgends von listitem.
welche Datenbank ID der Player hat den ich ausgewählt habe.
Habe doch exakt erklärt was du dann tun kannst. Du hast den Namen des Spielers, dieser ist ein eindeutiger Key für deine MySQL Tabelle.
Jetzt kannst du sowas machen:
So kannst du dann dem Spieler z.B. sein Adminlevel entziehen.
Mit [wiki]SetPVarString[/wiki] kannst du inputtext natürlich auch ganz einfach zwischenspeichern ![]()
Ja, ist irgendwie komisch, manche Funktionen buggen und werden nicht angezeigt.
Da hilft ein schneller Blick ins Wiki: [wiki]GetPVarFloat[/wiki] und du weißt, ahh ja die Funktion existiert ![]()
Und natürlich, kannst du das damit zwischenspeichern ![]()
new Float:literCount = floatstr(inputtext);
Ja, schreib mal hier:
new Float:literCount = floatstr(inputtext)+FLOAT_ERROR;
Eigentlich sollte dies funktionieren.
Wenn nicht, gib die Zahlen mal durch ![]()
Und mach im format mal aus dem %0.2f ein %.02f.
Unter [wiki]OnDialogResponse[/wiki], hast du ja einmal listitem, aber auch inputtext.
In diesem Fall bei DIALOG_STYLE_TABLIST_HEADERS entspricht inputtext exakt dem ersten Eintrag, also dem Namen von dem listitem.
Sagen wir dein Dialog sieht so aus:
Klickt man jetzt auf listitem 1, entspricht inputtext = "Kaliber" und klickt man auf 2, entspricht inputtext "reaL."
Das bedeutet, wenn du dann etwas ändern willst, hast du direkt den Namen und kannst über SQL direkt etwas ändern und natürlich auch mit ReturnUser die playerid von dem Spieler herausfinden, falls dieser online ist und diesen bearbeiten ![]()
//Edit: Hier mal eine detaillierte Liste: http://wiki.sa-mp.com/wiki/Dialog_Styles
Hmm, also da du das nur auf die 2. Stelle genau haben willst, funktioniert das eigentlich perfekt:
//Test-Code:
printf("1.04 == %.02f",floatstr("1.04")+FLOAT_ERROR);
printf("1.50 == %.02f",floatstr("1.5")+FLOAT_ERROR);
printf("1.49 == %.02f",floatstr("1.49")+FLOAT_ERROR);
printf("1.54 == %.02f",floatstr("1.54")+FLOAT_ERROR);
//Output:
1.04 == 1.04
1.50 == 1.50
1.49 == 1.49
1.54 == 1.54
Alles anzeigen
Also bei mir funktioniert das alles perfekt.
Kann es sein, dass du bei der Zuweisung einen Fehler gemacht hast oder so? ![]()
Darf ich mal fragen, wie deine weiteren Abfragen aussehen und wofür du das brauchst?
Denn es tritt immer bei Floating Operationen ein Fehler auf.
Wenn ich als Beispiel: 1.05 eingebe, erkennt er es als 1.04 ... muss ich also den Wert Manuell erhöhen ?
Ja, da entsteht ein kleiner Rundungsfehler.
So kannst du es lösen:
new Float:literCount = strval(inputtext);
new Float:literCount = floatstr(inputtext);
Ne 16 ist die String-Länge.
Kannst beide Array Klammern einfach leer lassen ![]()
Und ja kannst auch mehrere defines machen mit anderem Namen, die den Wert 0 haben.
Sollte also klappen.
#Handy
if(strcmp(mInfo[vModel][fuelTyp], kraftstoff))
Schau ins Wiki: [wiki]strcmp[/wiki]
Die Funktion gibt 0 zurück, wenn die Strings übereinstimmen.
Somit musst du auch das abfragen:
if(strcmp(mInfo[vModel][fuelTyp], kraftstoff) == 0)
oder kurz:
if(!strcmp(mInfo[vModel][fuelTyp], kraftstoff))
Entweder:
if(strlen(inputtext) == 0)
oder besser:
if(!inputtext[0])
Und kann mein Tor sogar vom Dach oder 100 Meter weit weg aufmachen ..
Da fehlt das !.
Also:
if(!IsPlayerInRangeOfPoint(playerid,5.0,1106.0683,-1691.4707,12.9108))
3 Dinge zu dem Code:
if(strcmp(cmdtext,"/towopen", true) == 0)
{
if(!PlayerToPoint(5,playerid,1106.0683,-1691.4707,12.9108)) return SendClientMessage(playerid,-1,"Du befindest dich nicht in der Nähe!");
DestroyObject(OamtTor);
OamtTor2=CreateObject(968, 1106.07, -1691.47, 12.91, 0.00, -4.00, -90.00);
SendClientMessage(playerid,0x00C5FFFF,"Das Tor schließt in 5 Sekunden.");
SetTimerEx("oamtzu",5000,0,"i",playerid);
return 1;
}
Gut möglich, die Funktion ist in deinem Skript ![]()
Musste suchen und dann hier posten ![]()
Also trotz der richtigen Syntax, kommt dieser Fehler im Log?
Bist du sicher, mal server_log gelöscht und neu erstellen lassen usw? ![]()
Mit CreateDynamicObject erstellst du einfach das Feuer, da gibt es verschiedene modelids.
https://dev.prineside.com/en/g…p_model_id/search/?q=fire
Und joa, da gibst du halt die Koordinaten an und dann prüfst du ob wer in der Nähe ist mit was zum löschen und dann DestroyDynamicObject einfach ![]()
Allerdings ist es nicht ganz soo einfach, da ja geguckt werden muss, da auch wirklich auf das Feuer gezielt wird usw.
Meta hat da mal n System released gehabt, was ganz gut war: https://forum.sa-mp.com/showthread.php?t=226953
Kannst da ja mal n bisschen schauen ![]()
Da verwendest du die falsche Syntax.
Du musst anstatt p, p<,> schreiben ![]()
Dann poste mal, wo du die ganzen Syntax Fehler bekommst, dann kann man dir evtl so helfen ![]()
Der Fehler liegt bei den Includes.
Öffne alle Skripte + Filterskripte, schau dass überall die neue Version verwendet wird und sei dir sicher, dass du das überall richtig eingefügt hast.
Hier ein original Zitat von Y_LESS:
Zitat von Y_LESSIf you get this error, you need to make sure that you have recompiled ALL your scripts using the LATEST version of "sscanf2.inc". Older versions didn't really require this as they only had two natives - "sscanf" and "unformat", the new version has some other functions - you don't need to worry about them, but you must use "sscanf2.inc" so that they are correctly called. If you think you have done this and STILL get the error then try again - make sure you are using the correct version of PAWNO for example.
Jemand Lust auf ne Runde Sumo?
Gar nicht so schlecht ![]()
Die Maps sind sehr abwechslungsreich und jede hat so seine Tücken, besonders mit den wechselnden Fahrzeugen, das finde ich sehr gut.
Allerdings ist es etwas nervig, dass nach jeder Runde der Server restartet...
Das könnte man ein wenig eleganter lösen, z.B. mit Filterskripts, die man dann neu lädt oder alles im Gamemode über seperate Includes ![]()
Und Hacker sind ein großes Problem, da eventuell nochmal über ein geeignetes Anti-Cheat nachdenken ![]()