Подскажите из за чего может это меню не всегда у игроков появляется? Заранее спасибо...
[pawn]
- #include <amxmodx>
- #include <amxmisc>
- #include <cstrike>
- #include <hamsandwich>
- #define PLUGIN "[DR]GameMenu"
- #define VERSION "1.0"
- #define AUTHOR "Crash94"
- new szBlockMenu, szGameMenu, szTimeMenu, szTimeBlocked
- new szBlock[10]
- new g_Cvar[12]
- public plugin_init()
- {
- register_plugin(PLUGIN, VERSION, AUTHOR)
- RegisterHam(Ham_Spawn, "player", "SpawnPlayer", 1)
- RegisterHam(Ham_Use, "func_button", "UseButton")
- register_event("HLTV", "RoundStart", "a", "1=0", "2=0")
- g_Cvar[1] = register_cvar("dr_gamemenu_block1", "1")
- g_Cvar[2] = register_cvar("dr_gamemenu_block2", "2")
- g_Cvar[3] = register_cvar("dr_gamemenu_block3", "1")
- g_Cvar[4] = register_cvar("dr_gamemenu_block4", "3")
- g_Cvar[5] = register_cvar("dr_gamemenu_block5", "4")
- g_Cvar[6] = register_cvar("dr_gamemenu_block6", "3")
- g_Cvar[7] = register_cvar("dr_gamemenu_block7", "5")
- g_Cvar[8] = register_cvar("dr_gamemenu_block8", "2")
- g_Cvar[9] = register_cvar("dr_gamemenu_timemenu", "25")
- g_Cvar[10] = register_cvar("dr_gamemenu_closedmenu_use", "1")
- register_dictionary("dr_gamemenu.txt")
- }
- public RoundStart()
- {
- szTimeBlocked = false
- szBlockMenu = 0
- for(new i; i < 8;i++)
- {
- --szBlock[i]
- }
- }
- public SpawnPlayer(id)
- {
- if(is_user_alive(id) && cs_get_user_team(id) == CS_TEAM_T)
- {
- szBlockMenu = id
- TimerMenu(id)
- }
- }
- public TimerMenu(id)
- {
- if(!szTimeBlocked)
- {
- if(szBlockMenu == id)
- {
- szTimeMenu = get_pcvar_num( g_Cvar[9] )
- set_task(0.0, "GameMenuOn", id)
- }
- }
- }
- public GameMenuOn(id)
- {
- if(!szTimeBlocked)
- {
- if(szBlockMenu == id)
- {
- if(szTimeMenu > 0)
- {
- show_menu(id, 0, "^n", 1)
- GameMenu(id)
- set_task(3.0, "GameMenuOn", id)
- }
- else
- {
- show_menu(id, 0, "^n", 1)
- }
- }
- }
- }
- public GameMenu(id)
- {
- --szTimeMenu
- new szText[555]
- formatex( szText, charsmax( szText ), "%L", id, "DR_GAMEMENU_MAIN_TITLE", szTimeMenu)
- szGameMenu = menu_create( szText, "MainMenu_handler" )
- if(szBlock[1] <= 0)
- {
- formatex( szText, charsmax( szText ), "%L", id, "DR_GAMEMENU_MAIN_ITEM_1")
- menu_additem( szGameMenu, szText, "1", 0 )
- }
- else
- {
- formatex( szText, charsmax( szText ), "%L", id, "DR_GAMEMENU_MAIN_ITEM_1_1", szBlock[1])
- menu_additem( szGameMenu, szText, "1", ADMIN_ADMIN )
- }
- if(szBlock[2] <= 0)
- {
- formatex( szText, charsmax( szText ), "%L", id, "DR_GAMEMENU_MAIN_ITEM_2")
- menu_additem( szGameMenu, szText, "2", 0 )
- }
- else
- {
- formatex( szText, charsmax( szText ), "%L", id, "DR_GAMEMENU_MAIN_ITEM_2_1", szBlock[2])
- menu_additem( szGameMenu, szText, "2", ADMIN_ADMIN )
- }
- if(szBlock[3] <= 0)
- {
- formatex( szText, charsmax( szText ), "%L", id, "DR_GAMEMENU_MAIN_ITEM_3")
- menu_additem( szGameMenu, szText, "3", 0 )
- }
- else
- {
- formatex( szText, charsmax( szText ), "%L", id, "DR_GAMEMENU_MAIN_ITEM_3_1", szBlock[3])
- menu_additem( szGameMenu, szText, "3", ADMIN_ADMIN )
- }
- if(szBlock[4] <= 0)
- {
- formatex( szText, charsmax( szText ), "%L", id, "DR_GAMEMENU_MAIN_ITEM_4")
- menu_additem( szGameMenu, szText, "4", 0 )
- }
- else
- {
- formatex( szText, charsmax( szText ), "%L", id, "DR_GAMEMENU_MAIN_ITEM_4_1", szBlock[4])
- menu_additem( szGameMenu, szText, "4", ADMIN_ADMIN )
- }
- if(szBlock[5] <= 0)
- {
- formatex( szText, charsmax( szText ), "%L", id, "DR_GAMEMENU_MAIN_ITEM_5")
- menu_additem( szGameMenu, szText, "5", 0 )
- }
- else
- {
- formatex( szText, charsmax( szText ), "%L", id, "DR_GAMEMENU_MAIN_ITEM_5_1", szBlock[5])
- menu_additem( szGameMenu, szText, "5", ADMIN_ADMIN )
- }
- if(szBlock[6] <= 0)
- {
- formatex( szText, charsmax( szText ), "%L", id, "DR_GAMEMENU_MAIN_ITEM_6")
- menu_additem( szGameMenu, szText, "6", 0 )
- }
- else
- {
- formatex( szText, charsmax( szText ), "%L", id, "DR_GAMEMENU_MAIN_ITEM_6_1", szBlock[6])
- menu_additem( szGameMenu, szText, "6", ADMIN_ADMIN )
- }
- if(szBlock[7] <= 0)
- {
- formatex( szText, charsmax( szText ), "%L", id, "DR_GAMEMENU_MAIN_ITEM_7")
- menu_additem( szGameMenu, szText, "7", 0 )
- }
- else
- {
- formatex( szText, charsmax( szText ), "%L", id, "DR_GAMEMENU_MAIN_ITEM_7_1", szBlock[7])
- menu_additem( szGameMenu, szText, "7", ADMIN_ADMIN )
- }
- if(szBlock[8] <= 0)
- {
- formatex( szText, charsmax( szText ), "%L", id, "DR_GAMEMENU_MAIN_ITEM_8")
- menu_additem( szGameMenu, szText, "8", 0 )
- }
- else
- {
- formatex( szText, charsmax( szText ), "%L", id, "DR_GAMEMENU_MAIN_ITEM_8_1", szBlock[8])
- menu_additem( szGameMenu, szText, "8", ADMIN_ADMIN )
- }
- menu_setprop( szGameMenu, MPROP_EXIT, MEXIT_NEVER)
- menu_display( id, szGameMenu, 0 )
- }
- public MainMenu_handler( id, menu, item )
- {
- if( item == MENU_EXIT )
- {
- menu_destroy(menu)
- return PLUGIN_HANDLED
- }
- new szData[6], szName[64], szAccess, szCallback
- menu_item_getinfo(menu, item, szAccess, szData, charsmax( szData ), szName, charsmax( szName ), szCallback)
- new szKey = str_to_num( szData )
- switch( szKey )
- {
- case 1:
- {
- szTimeBlocked = true
- szBlock[1] = get_pcvar_num( g_Cvar[1] )
- client_cmd(id,"knopki")
- }
- case 2:
- {
- szTimeBlocked = true
- szBlock[2] = get_pcvar_num( g_Cvar[2] )
- client_cmd(id,"say /invis")
- }
- case 3:
- {
- szTimeBlocked = true
- szBlock[3] = get_pcvar_num( g_Cvar[3] )
- client_cmd(id,"free")
- }
- case 4:
- {
- szTimeBlocked = true
- szBlock[4] = get_pcvar_num( g_Cvar[4] )
- client_cmd(id,"dr_prizzzrak")
- }
- case 5:
- {
- szTimeBlocked = true
- szBlock[5] = get_pcvar_num( g_Cvar[5] )
- client_cmd(id,"dr_vicT")
- }
- case 6:
- {
- szTimeBlocked = true
- szBlock[6] = get_pcvar_num( g_Cvar[6] )
- client_cmd(id,"dr_nicemous")
- }
- case 7:
- {
- szTimeBlocked = true
- szBlock[7] = get_pcvar_num( g_Cvar[7] )
- client_cmd(id,"dr_rambo")
- }
- case 8:
- {
- szTimeBlocked = true
- szBlock[8] = get_pcvar_num( g_Cvar[8] )
- client_cmd(id,"dr_snow")
- }
- }
- return PLUGIN_HANDLED
- }
- public UseButton(ent, caller, id)
- {
- if(get_pcvar_num( g_Cvar[1] ))
- {
- if(cs_get_user_team(id) == CS_TEAM_T)
- {
- if(!szTimeBlocked)
- {
- szTimeBlocked = true
- show_menu(id, 0, "^n", 1)
- server_cmd("deathrun_mode BUTTON")
- }
- }
- }
- }