Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Страница 1 из 2 1 2 ПоследняяПоследняя
Показано с 1 по 10 из 12
  1. #1
    Аватар для Unknown
    Пользователь

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

    как сделать лимит денег ?

    как сделать лимит денег на руках и в банке


    Так или нет ?)
    PHP код:
    if(PlayerInfo[playerid][pMoney] <= 2000000000)
        if(
    PlayerInfo[playerid][pAccount] <= 2000000000

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

    Статус
    Оффлайн
    Регистрация
    19.10.2013
    Адрес
    Ярославль
    Сообщений
    1,366
    Репутация:
    774 ±
    <=
    на
    >

  3. Пользователь сказал cпасибо:
    Unknown (14.08.2014)
  4. #3
    Аватар для Пельмень
    Пользователь

    Статус
    Оффлайн
    Регистрация
    05.12.2013
    Сообщений
    188
    Репутация:
    116 ±
    PHP код:
    const MONEY_LIMIT 2000000000//Глобальная

    new money PlayerInfo [playerid] [pMoney] + PayMoney//Допустим PayMoney будет кол-во денег, которое дадут игроку
    if (money MONEY_LIMIT) {
        
    PlayerInfo [playerid] [pMoney] += PayMoney;
    } else {
        
    PlayerInfo [playerid] [pMoney] += MAX_MONEY PlayerInfo [playerid] [pMoney]; //Выдаём до лимита!

    Аналогично с банком

    - - - Добавлено - - -

    Точнее if (money <= MONEY_LIMIT)

    - - - Добавлено - - -

    PHP код:
    new money PlayerInfo [playerid] [pMoney] + PayMoney//Допустим PayMoney будет кол-во денег, которое дадут игроку
    PlayerInfo [playerid] [pMoney] += (money <= MONEY_LIMIT) ? PayMoney MAX_MONEY PlayerInfo [playerid] [pMoney]; 

  5. Пользователь сказал cпасибо:
    Unknown (14.08.2014)
  6. #4
    Аватар для Unknown
    Пользователь

    Статус
    Оффлайн
    Регистрация
    15.07.2014
    Сообщений
    106
    Репутация:
    0 ±
    PHP код:
    const MONEY_LIMIT 2000000000//Глобальная

    new moneyy PlayerInfo [playerid] [pMoney] + PayMoney//Допустим PayMoney будет кол-во денег, которое дадут игроку
    if (moneyy MONEY_LIMIT) {
        
    PlayerInfo [playerid] [pMoney] += PayMoney;
    } else {
        
    PlayerInfo [playerid] [pMoney] += MAX_MONEY PlayerInfo [playerid] [pMoney]; //Выдаём до лимита!



    PHP код:
     error 010invalid function or declaration
    error 010invalid function or declaration
    warning 203
    symbol is never used"moneyy" 

  7. #5
    Аватар для L0ndl3m
    Пользователь

    Статус
    Оффлайн
    Регистрация
    19.10.2013
    Адрес
    Ярославль
    Сообщений
    1,366
    Репутация:
    774 ±
    Цитата Сообщение от Unknown Посмотреть сообщение
    PHP код:
    const MONEY_LIMIT 2000000000//Глобальная

    new moneyy PlayerInfo [playerid] [pMoney] + PayMoney//Допустим PayMoney будет кол-во денег, которое дадут игроку
    if (moneyy MONEY_LIMIT) {
        
    PlayerInfo [playerid] [pMoney] += PayMoney;
    } else {
        
    PlayerInfo [playerid] [pMoney] += MAX_MONEY PlayerInfo [playerid] [pMoney]; //Выдаём до лимита!



    PHP код:
     error 010invalid function or declaration
    error 010invalid function or declaration
    warning 203
    symbol is never used"moneyy" 
    Код верный. Куда этот код вставляли?

  8. Пользователь сказал cпасибо:
    Unknown (14.08.2014)
  9. #6
    Аватар для Unknown
    Пользователь

    Статус
    Оффлайн
    Регистрация
    15.07.2014
    Сообщений
    106
    Репутация:
    0 ±
    В конец мода

  10. #7
    Аватар для Пельмень
    Пользователь

    Статус
    Оффлайн
    Регистрация
    05.12.2013
    Сообщений
    188
    Репутация:
    116 ±
    Цитата Сообщение от Unknown Посмотреть сообщение
    В конец мода
    Это не в конец мода нужно, а в каждую операцию с деньгами, для простоты можешь сделать так.

    PHP код:
    stock GiveMoneyForPlayer (playeridpaymoney) {
        new 
    moneyy PlayerInfo [playerid] [pMoney] + paymoney;
        
    PlayerInfo [playerid] [pMoney] += (moneyy <= MONEY_LIMIT) ? PayMoney MAX_MONEY PlayerInfo [playerid] [pMoney];

    И, допустим в /pay юзай
    PHP код:
    GiveMoneyForPlayer (targetidmoney); 
    А константу в самый верх!

    - - - Добавлено - - -

    Тьфу ты, в стоке поменяй PayMoney на paymoney!

    - - - Добавлено - - -

    И да, если будет warning, что moneyy не используется, измени new moneyy на stock moneyy

  11. Пользователь сказал cпасибо:
    Unknown (14.08.2014)
  12. #8
    Аватар для Unknown
    Пользователь

    Статус
    Оффлайн
    Регистрация
    15.07.2014
    Сообщений
    106
    Репутация:
    0 ±
    Вот пример команды /pay как тут юзать то правильно ?
    PHP код:
    if(strcmp(cmd"/pay"true) == 0)
        {
            
    tmp strtok(cmdtextidx);
            if(!
    strlen(tmp)) return error(playerid"/pay [ ID игрока / Nick игрока ] [ Сумма ]");
            new 
    tmpp=ReturnUser(tmp);
            if(
    tmpp == playerid) return error(playerid"Вы не можете передать деньги самому себе.");
            
    giveplayerid ReturnUser(tmp);
            
    tmp strtok(cmdtextidx);
            if(!
    strlen(tmp)) return error(playerid"/pay [ ID игрока / Nick игрока ] [ количество ]");
            if(
    PlayerInfo[playerid][pLevel] < 1) return error(playerid"Передача денег доступна с первого уровня.");
            
    moneys strval(tmp);
            if(
    moneys || moneys 100000) return error(playerid"Нельзя передать меньше 1$ и больше 100.000$.");
            if (!
    IsPlayerConnected(giveplayerid)) return NoPlayerConnect;
            if(
    giveplayerid == INVALID_PLAYER_ID) return NetotID;
            if (!
    ProxDetectorS(5.0playeridgiveplayerid)) return error(playerid"Вы слишком далеко.");
            
    GetPlayerName(giveplayeridgiveplayersizeof(giveplayer));
            
    GetPlayerName(playeridsendernamesizeof(sendername));
            
    playermoney PlayerInfo[playerid][pMoney];
            if (
    moneys || playermoney moneys) return error(playerid"Неправильное количество.");
            
    PlayerInfo[giveplayerid][pMoney] += moneys;
            
    PlayerInfo[playerid][pMoney] -= moneys;
            
    PlayerPlaySound(playerid10520.00.00.0);
            if(
    moneys >= 90000)
            {
                
    format(string256"%s[%d] передал %d$ игроку %s[%d]",sendername,playeridmoneysgiveplayer,giveplayerid);
                
    SendAdminMessage(COLOR_YELLOWstring);
            }
            
    PlayerPlaySound(giveplayerid10520.00.00.0);
            
    format(stringsizeof(string), "передал наличных игроку %s." ,giveplayer);
            
    Action(playeridstring);
            
    format(stringsizeof(string), "Ты передал %d$ игроку %s."moneysgiveplayer);
            
    SendClientMessage(playeridCOLOR_GRAD1string);
            
    format(stringsizeof(string), "Ты получил %d$ наличных от %s."moneyssendername);
            
    SendClientMessage(giveplayeridCOLOR_GRAD1string);
            
    log("pay"string);
            return 
    true;
        } 

  13. #9
    Аватар для Пельмень
    Пользователь

    Статус
    Оффлайн
    Регистрация
    05.12.2013
    Сообщений
    188
    Репутация:
    116 ±
    PHP код:
    PlayerInfo[giveplayerid][pMoney] += moneys;
    PlayerInfo[playerid][pMoney] -= moneys
    замени на
    PHP код:
    new moneyy PlayerInfo [giveplayerid] [pMoney] + moneys;
    PlayerInfo [giveplayerid] [pMoney] += (moneyy <= MONEY_LIMIT) ? moneys MAX_MONEY PlayerInfo [giveplayerid] [pMoney];
    PlayerInfo [playerid] [pMoney] -= (moneyy <= MONEY_LIMIT) ? moneys MAX_MONEY PlayerInfo [giveplayerid] [pMoney]; 

  14. Пользователь сказал cпасибо:
    Unknown (14.08.2014)
  15. #10
    Аватар для Unknown
    Пользователь

    Статус
    Оффлайн
    Регистрация
    15.07.2014
    Сообщений
    106
    Репутация:
    0 ±
    а тут я понимаю уже
    PHP код:
    new cashwithdraw strval(inputtext);
                if (
    cashwithdraw PlayerInfo[playerid][pAccount] || cashwithdraw 1) return Dialog(playerid,44,DIALOG_STYLE_MSGBOX," ","У вас нет столько денег!","Назад","");
                
    PlayerInfo[playerid][pAccount] = PlayerInfo[playerid][pAccount] - cashwithdraw;
                
    PlayerInfo[playerid][pMoney] += cashwithdraw;
                
    format(stringsizeof(string), "Вы сняли: %d$. Остаток: %d$"cashwithdrawPlayerInfo[playerid][pAccount]);
                
    Dialog(playerid,42,DIALOG_STYLE_MSGBOX,"Банк: Чек",string,"Назад",""); 

    Так и оставлять ?)

 

 
Страница 1 из 2 1 2 ПоследняяПоследняя

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

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

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

Ваши права

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