Hallo Brotfische,
Ich habe mir eine eigene giveplayermoney Funktion gescriptet (wegen Anti-Moneycheat), Wenn jetzt ein Spieler z.B. "00005174" $ hat, und ich führe den Befehl "/givemoney ID -4 " aus, sollte ja der Spieler dann noch "00005170" $ haben. Leider hat er aber "00005178" $ also es wird irgenwie Plus gerechnet.
Codes:
giveplayermoney(playerid,money)
{
new string[128];
if(money > 0)
{
sInfo[playerid][geld]+=money;
format(string, sizeof(string), "%08d", sInfo[playerid][geld]);
PlayerTextDrawSetString(playerid,Money_Anzeige[playerid][2], string);
format(string, sizeof(string),"~g~+%d$", money);
}
else if(money < 0)
{
sInfo[playerid][geld]-=money;
format(string, sizeof(string), "%08d", sInfo[playerid][geld]);
print(string);
PlayerTextDrawSetString(playerid,Money_Anzeige[playerid][2], string);
format(string, sizeof(string),"~r~%d$", money);
}
GameTextForPlayer(playerid, string, 1000, 1);
return 1;
}
ocmd:givemoney(playerid,params[])
{
if(!isAdmin(playerid,1337)) return SendClientMessage(playerid, C_Error, "Du hast keine Berechtigung für diesen Befehl!");
new pID, money,string[128];
if(sscanf(params,"ui",pID,money)) return SendClientMessage(playerid,C_Weiß,"/givemoney [id] [Betrag]");
giveplayermoney(pID, money);
format(string,sizeof(string),"Du hast %i$ bekommen.",money);
SendClientMessage(pID,C_Blau,string);
return 1;
}
Ich hoffe ihr könnt mir helfen
MfG