Guten Tag,
Ich sitze jetzt schon etwas länger dran und mir fällt der Fehler einfach nicht ein.
Seit heute Scripte ich mit strget und habe mein Wanted System überarbeitet.
Das ganze funktioniert soweit aber ich habe einen kleinen bug der liegt dabei
das ich halt den Befehl /wanted [ID] [Anzahl] [Grund] habe und wenn ich halt
diesen Befehl ausführe kommt halt bei den formarts wo halt steht Grund: %s
nicht der Grund raus den ich angegeben habe sondern irgendwelche buchstaben
und dann den Grund was mich stört. Ich scripte erst seit heute mit strget und
bin daher damit ein bisschen unerfahren. Ich hoffe ihr könnt mir helfen!
Hier der Code:
if(strcmp(strget(cmdtext,0),"/wanted", true, 10) == 0)
{
if(IsPlayerConnected(playerid))
{
if(gTeam[playerid] == 1 || IsACop(playerid))
{
if(OnDuty[playerid] == 1)
{
new tmp2[200],tmp3[200],sendercop[MAX_PLAYER_NAME];
tmp = strget(cmdtext,1);
tmp2 = strget(cmdtext,2);
tmp3 = strget(cmdtext,2);
if(!strlen(tmp) || !strlen(tmp2) || !strlen(tmp3))
{
SendClientMessage(playerid, COLOR_WHITE, "FEHLER: /wanted [playerid][wantedlevel][Grund]");
return 1;
}
giveplayerid = strval(strget(cmdtext,1));
new wantedpunkte = strval(strget(cmdtext,2));
if(IsPlayerConnected(giveplayerid))
{
if(giveplayerid != INVALID_PLAYER_ID)
{
if (pDaten[playerid][Funkgeraet] == 1)
{
if(giveplayerid == playerid)
{
SendClientMessage(playerid, COLOR_GREY, "Du kannst dir nicht selbst wanteds geben!");
return 1;
}
if(wantedpunkte > 6 || 1 > wantedpunkte) return SendClientMessage(playerid,COLOR_GREY,"Das Wantedlevel muss zwischen 1-6 liegen!");
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid,sendercop,sizeof(sendercop));
format(string,sizeof(string),"Du hast %d Wantedlevel von: %s bekommen Grund: %s",wantedpunkte,sendercop,cmdtext[3]); SendClientMessage(giveplayerid,COLOR_BLUE,string);
format(string,sizeof(string),"Du hast Spieler %s das WantedLevel %d gegeben. Grund: %s",giveplayer,wantedpunkte,cmdtext[3]);SendClientMessage(playerid,COLOR_BLUE,string);
format(string,sizeof(string),"!!!ACHTUNG!!! Gesucht wird die Person: %s",giveplayer);SendCopMessage(COLOR_BLUE,string);
format(string,sizeof(string),"!!!ACHTUNG!!! Das WantedLevel der Person beträgt: %d",wantedpunkte);SendCopMessage(COLOR_BLUE,string);
format(string,sizeof(string),"!!!ACHTUNG!!! Die Person wird aus folgendem Grund gesucht: %s",cmdtext[3]);SendCopMessage(COLOR_BLUE,string);
new stern = strval(strget(cmdtext,2));
new wanteds = GetPlayerWantedLevel(playerid);
SetPlayerWantedLevel(giveplayerid,wanteds+stern);
WantedPoints[giveplayerid] += stern;
pDaten[giveplayerid][Wantedss] = wanteds+stern;
ocount = 1;
if(WantedLevel[giveplayerid] > 6)
{
SetPlayerWantedLevel(giveplayerid,6);
}
}
else
{
SendClientMessage(playerid, COLOR_GREY, "Du hast kein Funkgerät bei dir.");
return 1;
}
}
}
else
{
SendClientMessage(playerid, COLOR_GREY, "Dieser Spieler ist Offline !");
return 1;
}
}
else
{
SendClientMessage(playerid, COLOR_GREY, " Du bist nicht im Dienst(/duty)");
}
}
else
{
SendClientMessage(playerid, COLOR_GREY, "Du bist kein Polizist!");
}
}
return 1;
}