Alexand78
Новичок
Добрый вечер. Сделал команду /pay, но почему-то я могу передавать сам себе деньги, но функция есть! Помогите разобраться.
PHP:
Сама команда.
if(strcmp(cmd, "/pay", true) == 0) {
new params[128];
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) {
SendClientMessage(playerid, COLOR_WHITE, "Подсказка: /pay [Ид игрока] [Кол-во]");
return 1;
}
giveplayerid = strval(tmp);
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) {
SendClientMessage(playerid, COLOR_WHITE, "Подсказка: /pay [Ид игрока] [Кол-во]");
return 1;
}
moneys = strval(tmp);
if (IsPlayerConnected(giveplayerid)) {
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
playermoney = GetPlayerMoney(playerid);
if(params[0] == INVALID_PLAYER_ID) return SendClientMessage(playerid, -1, "Себе передавать деньги нельзя.");
if(!ProxDetectorS(2.0, playerid, params[0])) return SendClientMessage(playerid, COLOR_RED, "Игрок не рядом с вами.");
if (moneys > 0 && playermoney >= moneys) {
GivePlayerMoney(playerid, (0 - moneys));
GivePlayerMoney(giveplayerid, moneys);
format(string, sizeof(string), "Вы отправили игроку %s (%d), %d$ .", giveplayer,giveplayerid, moneys);
SendClientMessage(playerid, COLOR_YELLOW, string);
format(string, sizeof(string), "Вы получили %d$ от игрока %s (%d).", moneys, sendername, playerid);
SendClientMessage(giveplayerid, COLOR_YELLOW, string);
printf("%s (%d) передает %d$ игроку %s (%d)",sendername, playerid, moneys, giveplayer, giveplayerid);
}
else {
SendClientMessage(playerid, COLOR_RED, "*У Вас нет такого кол-ва денег!");
}
}
else {
format(string, sizeof(string), "*(%d) не активый игрок.", giveplayerid);
SendClientMessage(playerid, COLOR_YELLOW, string);
}
return 1;
}
