Hey Leute, nach ner anstrengenden Nacht und einem Tag vor nem Script sieht man nicht immer den Fehler. Es werden einfach nciht weniger Wanteds ^^"
Also Hier die zwei sachen.
Einmal das Normale Wanted werden mehr
if(strcmp(cmd, "/suspect", true) == 0 || strcmp(cmd, "/su", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(OnDuty[playerid] != 1)
{
SendClientMessage(playerid, COLOR_RED, "Sie sind nicht im Dienst.");
return 1;
}
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_LIGHTBLUE, "Benutze: /su [SpielerID] [Anzahl] [Verbrechen]");
return 1;
}
giveplayerid = ReturnUser(tmp);
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_LIGHTBLUE, "Benutze: /su [SpielerID] [Anzahl] [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_RED, "Der Spieler ist im Gefängnis.");
return 1;
}
if (gTeam[giveplayerid] != 2 && !IsACop(giveplayerid))
{
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_LIGHTBLUE, "Benutze: /su [SpielerID] [Anzahl] [Verbrechen]");
return 1;
}
WantedLevel[giveplayerid] += WantedAnzahl;
format(string, sizeof(string), "Sie haben 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);
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsACop(i))
{
format(string, sizeof(string), "** %s gibt %s, %d Wanteds.**",sendername,giveplayer, WantedAnzahl);
SendClientMessage(i, 0x0000FFFF, string);
format(string, sizeof(string), "** Verbrechen: %s ** Gesamt: %d **",result, WantedLevel[giveplayerid]);
SendClientMessage(i, 0x0000FFFF, string);
}
}
return 1;
}
else
{
SendClientMessage(playerid, COLOR_RED, "Dieser Spieler ist ein Staatsdiener.");
}
}
}
else
{
format(string, sizeof(string), "%d ist kein aktiver Spieler.", giveplayerid);
SendClientMessage(playerid, COLOR_GRAD1, string);
return 1;
}
}
else
{
SendClientMessage(playerid, COLOR_RED, "Sie sind kein Staatsdiener.");
}
}
return 1;
}
Und hier das verringern ...
public WantedLoss(playerid)
{
if(IsPlayerConnected(playerid))
{
new wanted = GetPlayerWantedLevel(playerid);
if(wanted >=1)
{
SetPlayerWantedLevel(playerid,wanted-1);
SendClientMessage(playerid,COLOR_GREY,"Du hast ein Wanted verloren!"); // Um dem Spieler nochmal zu sagen was er eh gesehen hat !! Der schönheit halber !!
}
}
return 1;
}