CrazyFors
Новичок
Всем привет, мне требуется помощь с командой /givemoney.
Мне нужно сделать так, чтобы нельзя было выдать отрицательное кол-во денег меньше чем есть у игрока. Т.е. чтобы деньги не уходили в минус.
PHP:
CMD:givemoney(playerid, params[])
{
new string[MAX_PLAYER_NAME-2-2+4+MAX_PLAYER_NAME-2-2+4-2+3+90];
if(PlayerLogged[playerid] == 0) return true;
else if(PlayerInfo[playerid][pAdmin] < 9) return SendClientMessage(playerid, -1, "• {A52A2A}[Ошибка] {FFFFFF}Вам недоступно это в данный момент!");
else if(sscanf(params, "ui", params[0], params[1])) return SendClientMessage(playerid, -1, "• {FFA200}[Подсказка] {FFFFFF}Используйте: /givemoney [ID игрока] [Кол-во денег]");
else if(!IsPlayerConnected(params[0])) return SendClientMessage(playerid, -1, "• {A52A2A}[Ошибка] {FFFFFF}Этот игрок в данный момент не на сервере!");
else if(PlayerLogged[params[0]] == 0) return SendClientMessage(playerid, -1, "• {A52A2A}[Ошибка] {FFFFFF}Этот игрок в данный момент не авторизован!");
else if(params[1] < -10000000 || params[1] > 10000000) return SendClientMessage(playerid, -1, "• {A52A2A}[Ошибка] {FFFFFF}Количество денег не может быть меньше -10000000 и больше 10000000!");
TransferMoney(-1,params[0],params[1]);
format(string, sizeof(string), "{999999}[{A52A2A}A{999999}] Администратор %s[%d] выдал игроку %s[%d] количество денег равное %d", PlayerInfo[playerid][pName], playerid, PlayerInfo[params[0]][pName], params[0], params[1]);
SendAdminMessage(-1, string);
return true;
}
stock TransferMoney(playerid, toplayerid, money)
{
if(GetPlayerMoney(playerid) < 0) ResetPlayerMoney(playerid);
if(GetPlayerMoney(toplayerid) < 0) ResetPlayerMoney(toplayerid);
if(toplayerid >= 0)
{
GivePlayerMoney(toplayerid, money);
PlayerInfo[toplayerid][pMoney] = PlayerInfo[toplayerid][pMoney] + money;
}
if(playerid >= 0)
{
GivePlayerMoney(playerid, -money);
PlayerInfo[playerid][pMoney] = PlayerInfo[playerid][pMoney] - money;
}
}
Последнее редактирование:
