if(strcmp(cmd, "/suspect", true) == 0 || strcmp(cmd, "/su", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(OnDuty[playerid] != 1)
{
SendClientMessage(playerid, COLOR_GREY, "Du bist nicht im Dienst!");
return 1;
}
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GREY, "Benutzung: /su [Playerid/Name] [Wantedpunkte] [Verbrechen]");
return 1;
}
giveplayerid = ReturnUser(tmp);
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GREY, "Benutzung: /su [Playerid/Name] [Wantedpunkte] [Verbrechen]");
return 1;
}
new WantedAnzahl;
WantedAnzahl = strval(tmp);
if (IsACop(playerid) && OnDuty[playerid] ==1)
{
if(IsPlayerConnected(giveplayerid))
{
if(giveplayerid != INVALID_PLAYER_ID)
{
if(PlayerInfo[giveplayerid][pJailed] > 0)
{
SendClientMessage(playerid, COLOR_GREY, "Der Spieler ist im Gefängnis!");
return 1;
}
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= ' '))
{
idx++;
}
new offset = idx;
new result[64];
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
{
result[idx - offset] = cmdtext[idx];
idx++;
}
result[idx - offset] = EOS;
if(!strlen(result))
{
SendClientMessage(playerid, COLOR_GREY, "Benutzung: /su [Playerid/Name] [Wantedpunkte] [Verbrechen]");
return 1;
}
if(WantedAnzahl < 1 || WantedAnzahl > 69)
{
SendClientMessage(playerid, COLOR_GREY, "Du kannst mindestens 1 Wantedpunkt und maximal 69 Wantedpunkte vergeben!");
return 1;
}
else
{
WantedLevel[giveplayerid] += WantedAnzahl/10;
WantedPoints[giveplayerid] += WantedAnzahl;
format(string, sizeof(string), "Du hast ein Verbrechen begangen (%s). Reporter: %s.",result,sendername);
SendClientMessage(giveplayerid, COLOR_LIGHTRED, string);
format(string, sizeof(string), "Aktuelles Wantedlevel: %d", WantedLevel[giveplayerid]);
SendClientMessage(giveplayerid, COLOR_YELLOW, string);
format(string, sizeof(string), "Aktuelle Wantedpunkte: %d", WantedPoints[giveplayerid]);
SendClientMessage(giveplayerid, COLOR_YELLOW, string);
}
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsACop(i))
{
if(WantedPoints[giveplayerid] > 69) return SendClientMessage(playerid,COLOR_GREY,"Die Person hat bereits 69 Wantedpunkte!");
format(string, sizeof(string), "Beamter %s hat %s %d Wantedpunkte gegeben.",sendername,giveplayer, WantedAnzahl);
SendClientMessage(i, COLOR_LIGHTRED, string);
format(string, sizeof(string), "Verbrechen: %s | Wantedlevel des Verbrechers: %d",result, WantedLevel[giveplayerid]);
SendClientMessage(i, COLOR_LIGHTRED, string);
}
}
return 1;
}
}
else
{
format(string, sizeof(string), "%d ist kein aktiver Spieler.", giveplayerid);
SendClientMessage(playerid, COLOR_GREY, string);
return 1;
}
}
else
{
SendClientMessage(playerid, COLOR_GREY, "Du bist kein Beamter!");
}
}
return 1;
}
Alles anzeigen
Wenn ich jemanden z.B. zuerst 10 Wantedpunkte gebe, ist noch alles in Ordnung. Jedoch, wenn die Person dann wieder weitere Wantedpunkte gegeben bekommt, z.B. 20, werden die Wantedpunkte ab der zweiten Vergabe nur noch *2 gegeben.
Polizist gibt Spieler A 10 Wantedpunkte(1Wantedstern).
Polizist gibt wieder Spieler A 10 Wantedpunkte(3 Wantedsterne, eigentlich sollten es dann 30 Wantedpunkte sein, aber es werden keine 30 Wantedpunkte angezeigt.
Das zweite ist, wie schaff ich das, dass wenn der Spieler der Wantedpunkte bekommt maximal nur 69 haben kann? Halt wenn man der Spieler sagen wir 40 Wantedpunkte hat und dann ein Polzist 30 geben will eine Fehlermeldung kommt(Der Spieler hat bereits 69 Wantedpunkte oder kann nicht mehr als 69 Wantdepunkte haben (oder so))
Danke.