Guten Tag,
Ich habe ein "/giveMoney" Befehl, dennoch wird das Geld immer wieder automatisch abgezogen,
da es vom Cheatsystem als "Cheat" erkannt wird.
Geld-Cheat-System:
public MoneyTimer()
{
new username[MAX_PLAYER_NAME];
for(new i=0; i<MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(GetPlayerCash(i) != GetPlayerMoney(i))
{
ResetMoneyBar(i);//Resets the money in the original moneybar, Do not remove!
UpdateMoneyBar(i,GetPlayerCash(i));//Sets the money in the moneybar to the serverside cash, Do not remove!
new hack = GetPlayerMoney(i) - GetPlayerCash(i);
GetPlayerName(i,username,sizeof(username));
printf("%s hat sich anscheinend wahrscheinlich €%d ercheatet.", username,hack);
}
}
}
}
Wie müsste ich den Befehl:
if(strcmp(cmd, "/givemoney", true) == 0)
{
if(PlayerInfo[playerid][pAdmin] >= 5)
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "Benutze: /givemoney [playerid/PartOfName] [money]");
return 1;
}
new playa;
new money;
playa = ReturnUser(tmp);
tmp = strtok(cmdtext, idx);
money = strval(tmp);
if (PlayerInfo[playerid][pAdmin] >= 5)
{
if(IsPlayerConnected(playa))
{
if(playa != INVALID_PLAYER_ID)
{
ConsumingMoney[playa] = 1;
GivePlayerMoney(playa, money);
GetPlayerName(playa, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "AdmCmd: %s hat %s €%d gegeben.",sendername,giveplayer,money);
ABroadCast(COLOR_RED,string,5);
}
}
}
else
{
SendClientMessage(playerid, COLOR_GRAD2, "Das darfst du nicht tun!");
}
}
return 1;
}
ändern, sodass kein Geld abgezogen wird?
LG