To be or not to be
Пользователь
																			  
		- Регистрация
- 9 Июн 2017
- Сообщения
- 1.213
- Симпатии
- 304
Всем привет.
В Меню сделана блокировка функции 1 раз за карту.
Правильно ли сделана блокировка использования?
Таким же способом блокировал функции в другом плагине;
Игроки заметили баг: если через пару минут перезайти, то можно снова использовать.
	
	
		
			
	
	
	
	
	
	
		
			
			
			
			
			
		
	
	
	
		
	
	
		
	
		
	
								В Меню сделана блокировка функции 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;
} 
				 
 
		