Ich habe derzeitig ein Problem mit sscanf.
Ich habe für euch einen vereinfachten Code geschrieben, mein Befehl ist durchaus komplexer.
Lest es euch bitte erstmal kurz durch:
new art[10];
if(sscanf(params,"s",art)) return SendClientMessage(playerid, WHITE, "Verwenung: /ladung [info/abholen]");
if(!strcmp(art, "info", true))
{
return SendClientMessage(playerid, GELB, "Du hast nur /info ohne Params getippt.");
}
if(!strcmp(art, "abholen", true))
{
new art2[10], menge;
if(sscanf(params, "sd", art2, menge)) return SendClientMessage(playerid, WHITE, "Verwenung: /ladung [abholen] [Menge]");
//selbst wenn eingabe richtig ist wird der weitere code nicht ausgeführt
}
Vielleicht erkennt ihr, was ich scripten möchte: Einen Befehl mit verschiedenen Parametern, wenn andere Parameter sich ändern.
Bei /ladung info: nur die Nachricht
bei /ladung abholen: noch die Menge als Parameter
Doch hier return er an der Stelle. Wenn ich nur /ladung abholen eingeben würde, kommt auch die nachricht mit "Verwenung: ...".
Doch wenn ich alle Parameter richtig eintippe, also mit der Menge, Passiert nichts mehr und der folgende Code wird nicht ausgeführt.
Kann man denn überhaupt so vorgehen, wie ich es mir gedacht habe? Und was ist falsch daran?
Danke schonmal für die Hilfe!