Ограничение использования

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

To be or not to be

Пользователь
Регистрация
9 Июн 2017
Сообщения
1.217
Симпатии
304
Всем привет.

В Меню сделана блокировка функции 1 раз за карту.
Правильно ли сделана блокировка использования?

Таким же способом блокировал функции в другом плагине;
Игроки заметили баг: если через пару минут перезайти, то можно снова использовать.

Код:
#include <amxmodx>
#include <fakemeta>

#if AMXX_VERSION_NUM < 183
    #include <colorchat>
#endif

new g_block[33];

public plugin_init()
{
    register_plugin("Test Limiter", "1.0", "T-B-O-N-T-B");
    register_menucmd(register_menuid("TestMenu"), MENU_KEY_1, "Test");
    register_clcmd("menu", "tttest");
}

public tttest(id)
{
    new szMenu[512], iLen = formatex(szMenu, charsmax(szMenu), "\yТест Меню:^n^n"), iKey = MENU_KEY_1;

    if(!g_block[id])
    {
        iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\y1. \w250 HP \r[1 раз за карту]^n");
        iKey |= MENU_KEY_1;
    }
    else iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\y1. \d250 HP \r[Использовано]^n");
    
    return show_menu(id, iKey, szMenu, -1, "TestMenu");
}

public Test(id, iKey)
{
    switch(iKey)
    {
        case 0:
        {
            if(g_block[id])
            {
                client_print_color(id, 0, "^3 Вы уже использовали !");
                return PLUGIN_HANDLED;
            }
            
            set_pev(id, pev_health, 250.0);
            g_block[id] = 1;
            return PLUGIN_HANDLED;
        }
    }
    return PLUGIN_HANDLED;
}
 

StockX

Скриптер
Регистрация
8 Июн 2017
Сообщения
168
Симпатии
132
Пол
Мужской
To be or not to be, не правильно. Такой метод будет работать до перезахода игрока грубо говоря.
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу