AMX Mod X - Пагин выставления рейтов

Тема в разделе "Общие вопросы", создана пользователем CocaineLoRD, 3 апр 2011.

  1. CocaineLoRD

    CocaineLoRD

    Сообщения:
    10
    Симпатии:
    0
    Помогите доделать плагин
    При заходе клиента на сервер должна выскачить менюшка с выбором рейтов
    Клиент выбирает рейты и сервер ему их выставляет

    Код:
    /*
    Название: Auto Rates
    Авторы: CocaineLoRD
    Плагин автоматически устанавливает рейты у клиента
    Версия плагина: 1.0 beta
    */
    
    #include <amxmodx>
    #include <amxmisc>
    
    #define PLUGIN	"Auto Rates"
    #define AUTHOR	"CocaineLoRD"
    #define VERSION	"1.0 beta"
    
    new A_rate, A_cl_rate, A_cl_updaterate, A_cl_cmdrate, A_ex_interp, A_rate2, A_cl_rate2, A_cl_updaterate2, A_cl_cmdrate2, A_ex_interp2
    
    public plugin_init()
    {
    	register_plugin(PLUGIN, VERSION, AUTHOR)
    
    	A_rate = register_cvar("at_rate", "25000")
    	A_cl_rate = register_cvar("at_cl_rate", "25000")
    	A_cl_updaterate = register_cvar("at_cl_updaterate", "101")
    	A_cl_cmdrate = register_cvar("at_cl_cmdrate", "101")
    	A_ex_interp = register_cvar("at_ex_interp", "0.1")
    
    	A_rate2 = register_cvar("at_rate2", "20000")
    	A_cl_rate2 = register_cvar("at_cl_rate2", "20000")
    	A_cl_updaterate2 = register_cvar("at_cl_updaterate2", "100")
    	A_cl_cmdrate2 = register_cvar("at_cl_cmdrate2", "100")
    	A_ex_interp2 = register_cvar("at_ex_interp2", "0.1")
    }
    
    public client_putinserver(id)
    {
    	if(!is_user_bot(id) || !is_user_hltv(id))
    		set_task(10.0, "Rate_Menu", id)
    }
    
    public Rate_Menu(id)
    {
    	new i_Menu = menu_create("\rКакие рейты вам дать?", "menu_handler")
    	
    	menu_additem(i_Menu, "\w25000 - 101 - 101", "1", 0)
    	menu_additem(i_Menu, "\w2000 - 100 - 100 (\gрекомендуется\w)", "2", 0)
    
    	menu_setprop(i_Menu, MPROP_EXIT, MEXIT_ALL)
    	menu_display(id, i_Menu, 0)
    
    	return PLUGIN_HANDLED
    }
    
    public menu_handler(id, menu, item)
    {
    	if (item == MENU_EXIT)
    	{
    		menu_destroy(menu)
    		return PLUGIN_HANDLED
    	}
    
    	new s_Data[6], s_Name[64], i_Access, i_Callback
    	menu_item_getinfo(menu, item, i_Access, s_Data, charsmax(s_Data), s_Name, charsmax(s_Name), i_Callback)
    	new i_Key = str_to_num(s_Data)
    
    	switch(i_Key)
    	{
    		case 1:
    		{
    			client_cmd(id, "rate %i", A_rate)
    			client_cmd(id, "cl_rate %i", A_cl_rate)
    			client_cmd(id, "cl_updaterate %i", A_cl_updaterate)
    			client_cmd(id, "cl_cmdrate %i", A_cl_cmdrate)
    			client_cmd(id, "ex_interp %i", A_ex_interp)
    			client_print(id, print_chat, "Выставлены: rate - 25000, cl_cmdrate - 101, cl_updaterate - 101")
    		}
    		case 2:
    		{
    			client_cmd(id, "rate %i", A_rate2)
    			client_cmd(id, "cl_rate %i", A_cl_rate2)
    			client_cmd(id, "cl_updaterate %i", A_cl_updaterate2)
    			client_cmd(id, "cl_cmdrate %i", A_cl_cmdrate2)
    			client_cmd(id, "ex_interp %i", A_ex_interp2)
    			client_print(id, print_chat, "Выставлены: rate - 20000, cl_cmdrate - 100, cl_updaterate - 100")
    		}
    	}
    
    	return PLUGIN_HANDLED
    }