Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Показано с 1 по 3 из 3

Тема: /money

  1. #1
    Аватар для Albert
    Пользователь

    Статус
    Оффлайн
    Регистрация
    24.12.2014
    Сообщений
    109
    Репутация:
    0 ±

    /money

    У меня вродибы всё работает, только игрок может передать отрицательный результат денег, и, тем самым, увеличить свой баланс. Как сделать чтобы можно было передавать только положительную сумму?

    Код:
    CMD:pay(playerid, params[]) // Передача денег
    {
         
    
    
        new
            targetid,
            money;
    
        if(sscanf(params, "ii", targetid, money))
            return SendClientMessage(playerid, -1, "Используйте: /pay [targetid] [money]");
        if(!IsPlayerConnected(targetid))
            return SendClientMessage(playerid, -1, "Указанного игрока нет на сервере.");
    if(pInfo[playerid][pMoney] >= money) // Если денег у игрока больше передаваемой суммы, то
    {
        pInfo[targetid][pMoney] = money; // Изменяется переменная передаваемому игроку
        GivePlayerMoney(targetid, money); // Изменяется денежный показатель цели
        pInfo[playerid][pMoney] -= money; // Изменяется переменная того кто передаёт деньги
        GivePlayerMoney(playerid, -money); // Изменяется денежный показатель того кто передаёт деньги
    
        SendClientMessage(playerid, 0xAA3333AA, "Деньги переданы");
        }
        else // иначе
        {
        SendClientMessage(playerid, 0xAA3333AA, "У Вас нет столько денег");
        }
    return 1;
    
    }

    Проблема решена
    Последний раз редактировалось Albert; 06.01.2015 в 16:40.
    Не злитесь. Я всего лишь учусь скриптить

  2. #2
    Аватар для gangzone.ini
    Пользователь

    Статус
    Оффлайн
    Регистрация
    15.06.2014
    Сообщений
    651
    Репутация:
    106 ±
    PHP код:
    if(GetPlayerMoney(playerid) < money || money 0) return SendClientMessage(playerid, -1,"У Вас нету столько денег");
    if(
    money || money 99999) return SendClientMessage(playerid, -1"Не меньше 1, не больше 99999"); 
    Последний раз редактировалось gangzone.ini; 07.01.2015 в 02:51.

  3. #3
    Аватар для $continue$
    Пользователь

    Статус
    Оффлайн
    Регистрация
    02.08.2014
    Адрес
    г. Киров (aka Вятка)
    Сообщений
    1,487
    Репутация:
    276 ±
    Пробуй не уверен что скомпилируеться без проблем)
    PHP код:
    CMD:pay(playeridparams[]) // Передача денег
    {
        new 
    targetid,money;
        if(
    sscanf(params"ii"targetidmoney))
            return 
    SendClientMessage(playerid, -1"Используйте: /pay [targetid] [money]");
        if(!
    IsPlayerConnected(targetid))
            return 
    SendClientMessage(playerid, -1"Указанного игрока нет на сервере.");
        if 
    pInfo[playerid][pMoney] < money *then return  SendClientMessage(playerid, -1"У вас не достаточно бабла :D");
        if 
    money || money 99999 *then return SendClientMessage(playerid, -1"Не меньше 1, не больше 99999");
        if(
    pInfo[playerid][pMoney] >= money// Если денег у игрока больше передаваемой суммы, то
        
    {
            
    pInfo[targetid][pMoney] = money// Изменяется переменная передаваемому игроку
            
    GivePlayerMoney(targetidmoney); // Изменяется денежный показатель цели
            
    pInfo[playerid][pMoney] -= money// Изменяется переменная того кто передаёт деньги
            
    GivePlayerMoney(playerid, -money); // Изменяется денежный показатель того кто передаёт деньги
            
    SendClientMessage(playerid0xAA3333AA"Деньги переданы");
        }
        return 
    1;

    Последний раз редактировалось $continue$; 07.01.2015 в 03:02. Причина: Исправил ошибки с *then

 

 

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •