Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Показано с 1 по 4 из 4
  1. #1
    Аватар для johnlaw
    Пользователь

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

    Деньги в минус, как пофиксить?

    PHP код:
    CMD:ticket(playerid,params[])
    {
        new 
    string[1000];
        if(!
    IsACopFunction(playerid)) return send(playeridCOLOR_GREYUnAdminMes);
        if(
    sscanf(params"dds[64]"params[0], params[1], params[2])) return send(playeridCOLOR_LIGHTBLUE"Используйте: {FFFFFF} /ticket [playerid] [цена] [причина]");
        if(
    params[1] < || params[1] > 99999) return send(playerid0xAFAFAFAA"Билет может стоить не ниже 1 и не выше 99999 !");
        if(!
    IsPlayerConnected(params[0])) return send(playeridCOLOR_GREYNoConnectGivePlayer);
        if(
    params[0] == INVALID_PLAYER_ID) return send(playeridCOLOR_GREYNoRules);
        
    f(string"* Ты выписал игроку {4169E1}%s{FFFFFF} штраф {32CD32}$%d{FFFFFF}, причина: {4169E1}%s{FFFFFF}"Player[params[0]][pName], params[1], (params[2]));
        
    send(playeridCOLOR_WHITEstring);
        
    f(string"* Законник %s выписал вам штраф {32CD32}$%d{FFFFFF}, причина: {4169E1}%s{FFFFFF}\nПри отказе оплаты штрафа поднимется уровень розыска."Player[playerid][pName], params[1], (params[2]));
        
    ShowPlayerDialog(params[0], DIALOG_TICKET DIALOG_STYLE_MSGBOX"{33CCFF}Штраф."string"Оплатить""Отказ");
        
    SetPVarInt(params[0],"TicketOffer",playerid);
        
    SetPVarInt(params[0],"TicketMoney",params[1]);
        return 
    true;

    поставить проверку, только как...

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

    Статус
    Оффлайн
    Регистрация
    06.03.2016
    Адрес
    Moscow
    Сообщений
    167
    Репутация:
    44 ±
    Тип того
    PHP код:
    CMD:ticket(playerid,params[])
    {
        new 
    string[1000];
        if(!
    IsACopFunction(playerid)) return send(playeridCOLOR_GREYUnAdminMes);
        if(
    sscanf(params"dds[64]"params[0], params[1], params[2])) return send(playeridCOLOR_LIGHTBLUE"Используйте: {FFFFFF} /ticket [playerid] [цена] [причина]");
        if(
    params[1] < || params[1] > 99999) return send(playerid0xAFAFAFAA"Билет может стоить не ниже 1 и не выше 99999 !");
        if(!
    IsPlayerConnected(params[0])) return send(playeridCOLOR_GREYNoConnectGivePlayer);
        if(
    params[0] == INVALID_PLAYER_ID) return send(playeridCOLOR_GREYNoRules);
        if(
    GetPlayerMoney(params[0]) < params[1]) return send(playerid0xAFAFAFAA"У нарушителя недостаточно денег.");//проверка на бабло
        
    f(string"* Ты выписал игроку {4169E1}%s{FFFFFF} штраф {32CD32}$%d{FFFFFF}, причина: {4169E1}%s{FFFFFF}"Player[params[0]][pName], params[1], (params[2]));
        
    send(playeridCOLOR_WHITEstring);
        
    f(string"* Законник %s выписал вам штраф {32CD32}$%d{FFFFFF}, причина: {4169E1}%s{FFFFFF}\nПри отказе оплаты штрафа поднимется уровень розыска."Player[playerid][pName], params[1], (params[2]));
        
    ShowPlayerDialog(params[0], DIALOG_TICKET DIALOG_STYLE_MSGBOX"{33CCFF}Штраф."string"Оплатить""Отказ");
        
    SetPVarInt(params[0],"TicketOffer",playerid);
        
    SetPVarInt(params[0],"TicketMoney",params[1]);
        return 
    true;

    Член сообщества Green Square.

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

    Статус
    Оффлайн
    Регистрация
    09.04.2018
    Сообщений
    28
    Репутация:
    0 ±
    Цитата Сообщение от Nash_Brigers Посмотреть сообщение
    Тип того
    PHP код:
    CMD:ticket(playerid,params[])
    {
        new 
    string[1000];
        if(!
    IsACopFunction(playerid)) return send(playeridCOLOR_GREYUnAdminMes);
        if(
    sscanf(params"dds[64]"params[0], params[1], params[2])) return send(playeridCOLOR_LIGHTBLUE"Используйте: {FFFFFF} /ticket [playerid] [цена] [причина]");
        if(
    params[1] < || params[1] > 99999) return send(playerid0xAFAFAFAA"Билет может стоить не ниже 1 и не выше 99999 !");
        if(!
    IsPlayerConnected(params[0])) return send(playeridCOLOR_GREYNoConnectGivePlayer);
        if(
    params[0] == INVALID_PLAYER_ID) return send(playeridCOLOR_GREYNoRules);
        if(
    GetPlayerMoney(params[0]) < params[1]) return send(playerid0xAFAFAFAA"У нарушителя недостаточно денег.");//проверка на бабло
        
    f(string"* Ты выписал игроку {4169E1}%s{FFFFFF} штраф {32CD32}$%d{FFFFFF}, причина: {4169E1}%s{FFFFFF}"Player[params[0]][pName], params[1], (params[2]));
        
    send(playeridCOLOR_WHITEstring);
        
    f(string"* Законник %s выписал вам штраф {32CD32}$%d{FFFFFF}, причина: {4169E1}%s{FFFFFF}\nПри отказе оплаты штрафа поднимется уровень розыска."Player[playerid][pName], params[1], (params[2]));
        
    ShowPlayerDialog(params[0], DIALOG_TICKET DIALOG_STYLE_MSGBOX"{33CCFF}Штраф."string"Оплатить""Отказ");
        
    SetPVarInt(params[0],"TicketOffer",playerid);
        
    SetPVarInt(params[0],"TicketMoney",params[1]);
        return 
    true;

    Спасибо!

  4. #4
    Аватар для StevenH
    Пользователь

    Статус
    Оффлайн
    Регистрация
    13.10.2015
    Сообщений
    516
    Репутация:
    21 ±
    Цитата Сообщение от johnlaw Посмотреть сообщение
    Спасибо!
    Ну да, работать то будет, но проверку лучше сделать не через GetPlayerMoney, а через переменную, где хранятся деньги, в ином случае если через собейт дать себе деньги, сервер (а именно GetPlayerMoney) подумает что у игрока есть деньги..

 

 

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

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

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

Ваши права

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