• Уважаемый Гость.
    - Прежде чем создать свою тему, пожалуйста, попробуй воспользоваться этим -> ПОИСКОМ !!!
    - После решения Вашего вопроса (проблемы) - нажмите "Лучший ответ", на сообщении, которое его решило. За игнорирование этого действия - Вы получите соответствующее предупреждение. Мы - стараемся Вам помочь. Уделите 10 секунд - чтобы нажать кнопку. (Если у Вас нет такой возможности - укажите в последнем своем сообщении какой ответ Вы считаете лучшим. Наши модераторы сделают это за Вас)
    ЗАПРЕЩЕНО:
    - Cоздавать темы с названиями "Помогите", "Плиз", "Ошибка", "Не могу найти", "Хелп" и тому подобное;
    - Cоздавать темы без детального описания того, что нужно исправить.
    - Cоздавать темы из одного скриншота.
    За игнор правил форума - Ваша тема будет удалена, а Вы получите системное предупреждение.

Проверка в команде на выдачу самому себе

Статус
В этой теме нельзя размещать новые ответы.

xatab

Новичок
Вкратце: можно самому себе передавать деньги через банкомат, маты и нарко
Пробовал залатать дыру вот так:
if(params[1] == playerid) SendClientMessage(playerid, COLOR_WHITE, "Нельзя передавать материалы самому себе!");
if(player == to_playerid) SendClientMessage(playerid, COLOR_WHITE, "Нельзя передавать наркотики самому себе!");

CMD:givenarko(playerid, params[])
{
new global_string[144];
if(!PlayerInfo[playerid][pLogin]) return true;
if(sscanf(params, "ud", params[0], params[1])) return SendClientMessage(playerid, 0x828282FF, "Введите: /givenarko [id игрока] [кол-во]");
if(player == to_playerid) SendClientMessage(playerid, COLOR_WHITE, " Нельзя передавать наркотики самому себе!");
if(params[1] > PlayerInfo[playerid][pDrugs]) return SendClientMessage(playerid, COLOR_WHITE, " У вас нет столько нарко!");
if(params[1] < 1) return SendClientMessage(playerid, COLOR_WHITE, "Нельзя передавать меньше 1 нарко!");
if(!PlayerInfo[params[0]][pLogin]) return SendClientMessage(playerid, COLOR_WHITE, "Этот игрок не в сети");
if(params[0] == INVALID_PLAYER_ID) return true;
if(!ProxDetectorS(5.0, playerid, params[0])) return SendClientMessage(playerid, COLOR_WHITE, "Этот игрок далеко от вас!");
PlayerInfo[playerid][pDrugs] = PlayerInfo[playerid][pDrugs] - params[1];
PlayerInfo[params[0]][pDrugs] = PlayerInfo[params[0]][pDrugs] + params[1];
format(global_string, sizeof(global_string), "Вы дали %s %d нарко.",PlayerInfo[params[0]][pName],params[1]);
SendClientMessage(playerid, COLOR_WHITE, global_string);
format(global_string, sizeof(global_string), "Вы получили от %s %d нарко.",PlayerInfo[playerid][pName],params[1]);
SendClientMessage(params[0], COLOR_WHITE, global_string);
format(global_string, sizeof(global_string), "%s что-то достал и передал %s.", PlayerInfo[playerid][pName] ,PlayerInfo[params[0]][pName]);
ProxDetector(20.0, playerid, global_string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
return true;

Банкомат:

new string[256];
if(!response) return true;
if(!strlen(inputtext))
{
format(string,sizeof(string), "Введите сумму которую вы хотите передать\n%s'у.", PlayerInfo[TranPlayer[playerid]][pName]);
ShowPlayerDialog(playerid,9125,DIALOG_STYLE_INPUT,"Денежный перевод",string,"Ok","Cancel");
}
new moneys;
moneys = strval(inputtext);
if(moneys < 1) return SendClientMessage(playerid, COLOR_WHITE, "Нельзя передать меньше $1!");
if(PlayerInfo[playerid][pBank] < moneys) return SendClientMessage(playerid, COLOR_WHITE, "У вас нет столько денег!");
if(!PlayerInfo[TranPlayer[playerid]][pLogin]) return ShowPlayerDialog(playerid,9124,DIALOG_STYLE_INPUT,"Неверный ID/Ник игрока","Введите ID/Ник игрока","Ok","Cancel");
PlayerInfo[playerid][pBank] -= moneys;
PlayerInfo[TranPlayer[playerid]][pBank] += moneys;
format(string, sizeof(string), "%s перевёл вам сумму $%d на ваш банковский счёт!", PlayerInfo[playerid][pName], moneys);
SendClientMessage(TranPlayer[playerid], COLOR_LIGHTRED, string);
format(string, sizeof(string), "Вы перевели $%d игроку %s на его банковский счёт!", moneys, PlayerInfo[TranPlayer[playerid]][pName]);
SendClientMessage(playerid, COLOR_LIGHTRED, string);
format(string, sizeof(string), "Игрок %s перевёл игрок %s сумму %d", PlayerInfo[playerid][pName], PlayerInfo[TranPlayer[playerid]][pName], moneys);
AdmLog(string);
TranPlayer[playerid] = 999;

}
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу