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

Как сделать ограничение на использование команды после определенного кол-ва введенных раз?

  • Автор темы Удалённый пользователь 92077
  • Дата начала
Статус
В этой теме нельзя размещать новые ответы.

Удалённый пользователь 92077

Здравствуйте, сделал систему "раздача рублей за слово". Игрок вводит слово, и получает донат рубли. Но, произошёл баг, в настройках указываешь например максимум 10 человек смогут ввести слово, чтобы получить рубли, а написать могут больше.
PHP:
CMD:startgoslovo(playerid)
{
    if(FD(playerid)) SPD(playerid, 6252, DIALOG_STYLE_INPUT, "Раздача рублей за слово", "Используйте: слово, кол-во рублей, кол-во людей\n\nВведите слово:", "Выдать", "Закрыть");
    else return true;
    return true;


        case 6252:
        {
            if(response)
            {
                if(!strlen(inputtext)) return true;
                new razdel[2], name[32];
                if(sscanf(inputtext,"p<,>s[32]ii",name,razdel[0],razdel[1])) return SCM(playerid,-1,"Неверные значения");
                //if(sscanf(inputtext,"p<,>s[30]ii",razdel[0],razdel[1],razdel[2])) return SCM(playerid,-1,"Неверные значения");
                if(razdel[0] > 100 || razdel[0] < 1) return SendClientMessage(playerid,COLOR_WHITE,"Донат рубли не могут быть ниже 1, и больше 100");
                if(razdel[1] > 10 || razdel[1] < 1) return SendClientMessage(playerid,COLOR_WHITE,"Кол-во людей не может быть ниже 1, и больше 10");
                //Viktorina = name;
                //foreach(Player,i) SetPVarString(i,"Viktorinaa",(name));
                foreach(Player,i) SetPVarString(i,"ViktorinaRub",name);
                People = razdel[1];
                VRub = razdel[0];
                format(stringer1,sizeof(stringer1),"{61c600}[РАЗДАЧА ДОНАТ-РУБ]: Напишите первым слово «{FFC800}%s{61c600}» и получите {FFC800}%d{61c600} рублей!",name,VRub);
                SendClientMessageToAll(COLOR_GREEN,stringer1);

            }
    (тут сток OnPlayerText если что)
    new output[64];
    if(strlen(text) == GetPVarString(playerid,"ViktorinaRub",output,sizeof(output)))
    {
        if(People==0) return DeletePVar(playerid,"ViktorinaRub");

        format(stringer1,sizeof(stringer1),"{61c600}[РАЗДАЧА ДОНАТ-РУБ] {FFFFFF}Игрок {FFC800}%s{61c600} ввёл слово «{FFC800}%s{61c600}» и получил {FFC800}%d{61c600} донат-рублей",PlayerInfo[playerid][pNames],text, VRub);
        SendClientMessageToAll(1,stringer1);
        PlayerInfo[playerid][pDonateRubli] += VRub;
        UpdatePlayerData(playerid, "pDonateRubli", PlayerInfo[playerid][pDonateRubli]);
        DeletePVar(playerid,"ViktorinaRub");
    }
 
Последнее редактирование модератором:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу