Guten Tag, ich danke für die Aufmerksamkeit.
Ich habe ein kleines Problem bei einem Befehl.
Irgendwas stimmt mit dem Return nicht, weil er immer bei dem Befehl "/abschleppen Nummernschild Preis Grund" - Unknow Command schreibt,
obwohl der funktionieren müsste.
Hier ist der Befehlscode:
if(strcmp(cmdtext,"/abschleppen ",true)==0)
{
if(IsPlayerInFrac(playerid,24))
{
tmp = strtok(cmdtext,idx);
if(!strlen(tmp))
{
SendClientMessage(playerid,0xFF0000FF,"FEHLER:/abschleppen [Kennzeichen] [Preis] [Grund]");
return 1;
}
new kz[32];
format(kz,sizeof(kz),"%s",tmp);
if(KZExistiert(kz))
{
tmp=strtok(cmdtext,idx);
if(!strlen(tmp))
{
format(string,128,"FEHLER: /abschleppen %s [Sperrpreis] [Grund]",kz);
SendClientMessage(playerid,0xFF0000FF,string);
return 1;
}
new preis;
preis = strval(tmp);
if(preis >= 1)
{
tmp=strtok(cmdtext,idx);
if(!strlen(tmp))
{
format(string,128,"FEHLER: /abschleppen %s %d [Grund]",kz,preis);
SendClientMessage(playerid,0xFF0000FF,string);
return 1;
}
new grund[256];
format(grund,sizeof(grund),"%s",tmp);
new kzveh = GetCarFromKZ(kz);
if(!IsDtCarGesperrt(kzveh))
{
new modell = GetVehicleModel(kzveh);
new gpid = GetOwner(kzveh);
new gpidname[MAX_PLAYER_NAME];
GetPlayerName(gpid,gpidname,sizeof(gpidname));
format(string,sizeof(string),"Du hast das Kennzeichen %s (User: %d || Name: %s || Fahrzeug: %s) für %d$ mit folgendem Grund gesperrt: %s",kz,gpid,gpidname,CarName[modell-400],preis,grund);
SendClientMessage(playerid,0x00FFFFFF,string);
new pnn[MAX_PLAYER_NAME];
GetPlayerName(playerid,pnn,sizeof(pnn));
format(string,sizeof(string),"%s hat dein Fahrzeug %s mit dem Kennzeichen %s für %d$ mit folgendem Grund gesperrt: %s",pnn,CarName[modell-400],kz,preis,grund);
SendClientMessage(gpid,0xFF0000FF,string);
for(new x=0;x<MaxVeh;x++)
{
if(strcmp(PlayerCar[gpid][x][CarNumber],kz,true)==0)
{
PlayerCar[gpid][x][CarGesperrt] = 1;
PlayerCar[gpid][x][CarSperrpreis]=preis;
}
}
return 1;
}
else
{
SendClientMessage(playerid,0xFF0000FF,"Dieses Fahrzeug ist bereits gesperrt.");
return 1;
}
}
else
{
SendClientMessage(playerid,0xFF0000FF,"Der Bußpreis darf nicht unter 0 sein.");
return 1;
}
}
else
{
SendClientMessage(playerid,0xFF0000FF,"Dieses Kennzeichen wurde nicht registriert.");
return 1;
}
}
else
{
SendClientMessage(playerid,0xFF0000FF,"Du bist kein Adac Mitglied");
return 1;
}
}
Ich habe mich bereits erkundigt bei dem Samp-Wiki:
http://wiki.sa-mp.com/wiki/OnPlayerCommandText
Zitat/* Returning '0' is used to inform the server that the command has not been successfully processed, and passes it to other scripts. If there hasn't been a successful process, then you will get that 'SERVER: Unknown Command.' error.
Allerdings sehe ich hier kein Return 0 bei, wordurch der Fehler nicht ausgelöst werden kann.
Rumprobiert habe ich auch schon die Returns wegzulassen oder umzuändern, vergebens.
Ich würde sich freue wenn sich jemand die Zeit nimmt mir den Fehler zu erklären damit ich eine weitere Lücke in Sachen Samp erfolgreich füllen kann.
Vielen Dank und ein schönes Wochenende.