Русское сообщество по скриптингу

Меню тера (Deathrun)

Все вопросы по работе и настройке AMXX и его плагинов.

Модератор: liFe iS GoOD

Правила форума
1. Запрещено материться и оскорблять других участников форума.
2. Запрещен флуд, оффтоп, дабл постинг во всех разделах форума, кроме раздела "Болтовня".
3. Запрещено взламывать сайт/форум или наносить любой вред проекту.
4. Запрещено рекламировать другие ресурсы.
5. Запрещено создавать темы без информативного названия. Название темы должно отображать ее смысл.

В данном разделе форума разрешено создавать темы, касающие только вопросов по AMX Mod X и его плагинам.

Меню тера (Deathrun)

Сообщение Серега(ElemenT) » 24 мар 2013, 05:41

Вообще стоит, при спавне что бы появлялась менюшка у тера, а она у некоторых игроков появляется у некоторых нет.
Подскажите из за чего может это меню не всегда у игроков появляется? Заранее спасибо...

[pawn]
  1. #include <amxmodx>

  2. #include <amxmisc>

  3. #include <cstrike>

  4. #include <hamsandwich>

  5.  

  6. #define PLUGIN "[DR]GameMenu"

  7. #define VERSION "1.0"

  8. #define AUTHOR "Crash94"

  9.  

  10. new szBlockMenu, szGameMenu, szTimeMenu, szTimeBlocked

  11. new szBlock[10]

  12. new g_Cvar[12]

  13.  

  14. public plugin_init()

  15. {

  16.         register_plugin(PLUGIN, VERSION, AUTHOR)

  17.  

  18.         RegisterHam(Ham_Spawn, "player", "SpawnPlayer", 1)

  19.         RegisterHam(Ham_Use, "func_button", "UseButton")

  20.  

  21.         register_event("HLTV", "RoundStart", "a", "1=0", "2=0")

  22.  

  23.         g_Cvar[1] = register_cvar("dr_gamemenu_block1", "1")

  24.         g_Cvar[2] = register_cvar("dr_gamemenu_block2", "2")

  25.         g_Cvar[3] = register_cvar("dr_gamemenu_block3", "1")

  26.         g_Cvar[4] = register_cvar("dr_gamemenu_block4", "3")

  27.         g_Cvar[5] = register_cvar("dr_gamemenu_block5", "4")

  28.         g_Cvar[6] = register_cvar("dr_gamemenu_block6", "3")

  29.         g_Cvar[7] = register_cvar("dr_gamemenu_block7", "5")

  30.         g_Cvar[8] = register_cvar("dr_gamemenu_block8", "2")

  31.         g_Cvar[9] = register_cvar("dr_gamemenu_timemenu", "25")

  32.         g_Cvar[10] = register_cvar("dr_gamemenu_closedmenu_use", "1")

  33.  

  34.         register_dictionary("dr_gamemenu.txt")

  35. }

  36.  

  37. public RoundStart()

  38. {

  39.         szTimeBlocked = false

  40.         szBlockMenu = 0

  41.  

  42.         for(new i; i < 8;i++)

  43.         {

  44.                 --szBlock[i]

  45.         }

  46. }

  47.  

  48.  

  49. public SpawnPlayer(id)

  50. {

  51.         if(is_user_alive(id) && cs_get_user_team(id) == CS_TEAM_T)

  52.         {

  53.                 szBlockMenu = id

  54.                 TimerMenu(id)

  55.         }

  56. }

  57.  

  58. public TimerMenu(id)

  59. {

  60.         if(!szTimeBlocked)

  61.         {

  62.                 if(szBlockMenu == id)

  63.                 {

  64.                         szTimeMenu = get_pcvar_num( g_Cvar[9] )

  65.                         set_task(0.0, "GameMenuOn", id)

  66.                 }

  67.         }

  68. }

  69.  

  70. public GameMenuOn(id)

  71. {

  72.         if(!szTimeBlocked)

  73.         {

  74.                 if(szBlockMenu == id)

  75.                 {

  76.                         if(szTimeMenu > 0)

  77.                         {

  78.                                 show_menu(id, 0, "^n", 1)

  79.                                 GameMenu(id)

  80.                        

  81.                                 set_task(3.0, "GameMenuOn", id)

  82.                         }

  83.                         else

  84.                         {

  85.                                 show_menu(id, 0, "^n", 1)

  86.                         }

  87.                 }

  88.         }

  89. }

  90.  

  91. public GameMenu(id)

  92. {

  93.         --szTimeMenu

  94.  

  95.         new szText[555]

  96.  

  97.         formatex( szText, charsmax( szText ), "%L", id, "DR_GAMEMENU_MAIN_TITLE", szTimeMenu)

  98.         szGameMenu = menu_create( szText, "MainMenu_handler" )

  99.  

  100.         if(szBlock[1] <= 0)

  101.         {

  102.                 formatex( szText, charsmax( szText ), "%L", id, "DR_GAMEMENU_MAIN_ITEM_1")

  103.                 menu_additem( szGameMenu, szText, "1", 0 )

  104.         }

  105.         else

  106.         {

  107.                 formatex( szText, charsmax( szText ), "%L", id, "DR_GAMEMENU_MAIN_ITEM_1_1", szBlock[1])

  108.                 menu_additem( szGameMenu, szText, "1", ADMIN_ADMIN )

  109.         }

  110.  

  111.         if(szBlock[2] <= 0)

  112.         {

  113.                 formatex( szText, charsmax( szText ), "%L", id, "DR_GAMEMENU_MAIN_ITEM_2")

  114.                 menu_additem( szGameMenu, szText, "2", 0 )

  115.         }

  116.         else

  117.         {

  118.                 formatex( szText, charsmax( szText ), "%L", id, "DR_GAMEMENU_MAIN_ITEM_2_1", szBlock[2])

  119.                 menu_additem( szGameMenu, szText, "2", ADMIN_ADMIN )

  120.         }

  121.  

  122.         if(szBlock[3] <= 0)

  123.         {

  124.                 formatex( szText, charsmax( szText ), "%L", id, "DR_GAMEMENU_MAIN_ITEM_3")

  125.                 menu_additem( szGameMenu, szText, "3", 0 )

  126.         }

  127.         else

  128.         {

  129.                 formatex( szText, charsmax( szText ), "%L", id, "DR_GAMEMENU_MAIN_ITEM_3_1", szBlock[3])

  130.                 menu_additem( szGameMenu, szText, "3", ADMIN_ADMIN )

  131.         }

  132.  

  133.         if(szBlock[4] <= 0)

  134.         {

  135.                 formatex( szText, charsmax( szText ), "%L", id, "DR_GAMEMENU_MAIN_ITEM_4")

  136.                 menu_additem( szGameMenu, szText, "4", 0 )

  137.         }

  138.         else

  139.         {

  140.                 formatex( szText, charsmax( szText ), "%L", id, "DR_GAMEMENU_MAIN_ITEM_4_1", szBlock[4])

  141.                 menu_additem( szGameMenu, szText, "4", ADMIN_ADMIN )

  142.         }

  143.  

  144.         if(szBlock[5] <= 0)

  145.         {

  146.                 formatex( szText, charsmax( szText ), "%L", id, "DR_GAMEMENU_MAIN_ITEM_5")

  147.                 menu_additem( szGameMenu, szText, "5", 0 )

  148.         }

  149.         else

  150.         {

  151.                 formatex( szText, charsmax( szText ), "%L", id, "DR_GAMEMENU_MAIN_ITEM_5_1", szBlock[5])

  152.                 menu_additem( szGameMenu, szText, "5", ADMIN_ADMIN )

  153.         }

  154.  

  155.         if(szBlock[6] <= 0)

  156.         {

  157.                 formatex( szText, charsmax( szText ), "%L", id, "DR_GAMEMENU_MAIN_ITEM_6")

  158.                 menu_additem( szGameMenu, szText, "6", 0 )

  159.         }

  160.         else

  161.         {

  162.                 formatex( szText, charsmax( szText ), "%L", id, "DR_GAMEMENU_MAIN_ITEM_6_1", szBlock[6])

  163.                 menu_additem( szGameMenu, szText, "6", ADMIN_ADMIN )

  164.         }

  165.  

  166.         if(szBlock[7] <= 0)

  167.         {

  168.                 formatex( szText, charsmax( szText ), "%L", id, "DR_GAMEMENU_MAIN_ITEM_7")

  169.                 menu_additem( szGameMenu, szText, "7", 0 )

  170.         }

  171.         else

  172.         {

  173.                 formatex( szText, charsmax( szText ), "%L", id, "DR_GAMEMENU_MAIN_ITEM_7_1", szBlock[7])

  174.                 menu_additem( szGameMenu, szText, "7", ADMIN_ADMIN )

  175.         }

  176.        

  177.         if(szBlock[8] <= 0)

  178.         {

  179.                 formatex( szText, charsmax( szText ), "%L", id, "DR_GAMEMENU_MAIN_ITEM_8")

  180.                 menu_additem( szGameMenu, szText, "8", 0 )

  181.         }

  182.         else

  183.         {

  184.                 formatex( szText, charsmax( szText ), "%L", id, "DR_GAMEMENU_MAIN_ITEM_8_1", szBlock[8])

  185.                 menu_additem( szGameMenu, szText, "8", ADMIN_ADMIN )

  186.         }

  187.  

  188.         menu_setprop( szGameMenu, MPROP_EXIT, MEXIT_NEVER)

  189.         menu_display( id, szGameMenu, 0 )

  190. }

  191.  

  192. public MainMenu_handler( id, menu, item )

  193. {

  194.         if( item == MENU_EXIT )

  195.         {

  196.                 menu_destroy(menu)

  197.                 return PLUGIN_HANDLED

  198.         }

  199.  

  200.         new szData[6], szName[64], szAccess, szCallback

  201.         menu_item_getinfo(menu, item, szAccess, szData, charsmax( szData ), szName, charsmax( szName ), szCallback)

  202.  

  203.         new szKey = str_to_num( szData )

  204.        

  205.         switch( szKey )

  206.         {

  207.                 case 1:

  208.                 {

  209.                         szTimeBlocked = true

  210.                         szBlock[1] = get_pcvar_num( g_Cvar[1] )

  211.                         client_cmd(id,"knopki")

  212.                 }

  213.  

  214.                 case 2:

  215.                 {

  216.                         szTimeBlocked = true

  217.                         szBlock[2] = get_pcvar_num( g_Cvar[2] )

  218.                         client_cmd(id,"say /invis")

  219.                 }

  220.  

  221.                 case 3:

  222.                 {

  223.                         szTimeBlocked = true

  224.                         szBlock[3] = get_pcvar_num( g_Cvar[3] )

  225.                         client_cmd(id,"free")

  226.                 }

  227.  

  228.                 case 4:

  229.                 {

  230.                         szTimeBlocked = true

  231.                         szBlock[4] = get_pcvar_num( g_Cvar[4] )

  232.                         client_cmd(id,"dr_prizzzrak")

  233.                 }

  234.  

  235.                 case 5:

  236.                 {

  237.                         szTimeBlocked = true

  238.                         szBlock[5] = get_pcvar_num( g_Cvar[5] )

  239.                         client_cmd(id,"dr_vicT")

  240.                 }

  241.  

  242.                 case 6:

  243.                 {

  244.                         szTimeBlocked = true

  245.                         szBlock[6] = get_pcvar_num( g_Cvar[6] )

  246.                         client_cmd(id,"dr_nicemous")

  247.                 }

  248.  

  249.                 case 7:

  250.                 {

  251.                         szTimeBlocked = true

  252.                         szBlock[7] = get_pcvar_num( g_Cvar[7] )

  253.                         client_cmd(id,"dr_rambo")

  254.                 }

  255.                

  256.                 case 8:

  257.                 {

  258.                         szTimeBlocked = true

  259.                         szBlock[8] = get_pcvar_num( g_Cvar[8] )

  260.                         client_cmd(id,"dr_snow")

  261.                 }

  262.         }

  263.         return PLUGIN_HANDLED

  264. }

  265.  

  266. public UseButton(ent, caller, id)

  267. {

  268.         if(get_pcvar_num( g_Cvar[1] ))

  269.         {

  270.                 if(cs_get_user_team(id) == CS_TEAM_T)

  271.                 {

  272.                         if(!szTimeBlocked)

  273.                         {

  274.                                 szTimeBlocked = true

  275.                                 show_menu(id, 0, "^n", 1)

  276.                                 server_cmd("deathrun_mode BUTTON")

  277.                         }

  278.                 }

  279.         }

  280. }
[/pawn]
Аватара пользователя
Серега(ElemenT)
 
Сообщения: 314
Зарегистрирован: 27 сен 2012, 01:35
Благодарил (а): 81 раз.
Поблагодарили: 9 раз.
Опыт программирования: Меньше месяца
Языки программирования: Counter-Strike 1.6

Re: Меню тера (Deathrun)

Сообщение csLAN » 24 мар 2013, 13:06

у STEAM игроков такое бывает, сам столкнулся с этим .
Ждём нормальных обновлений
Аватара пользователя
csLAN
 
Сообщения: 134
Зарегистрирован: 12 окт 2012, 20:00
Откуда: Зеленокумск
Благодарил (а): 13 раз.
Поблагодарили: 17 раз.
Опыт программирования: Больше трех лет
Языки программирования: Counter-Strike 1.6
-------------------------
S.T.A.L.K.E.R
[Модостроитель]
-------------------------

Re: Меню тера (Deathrun)

Сообщение Серега(ElemenT) » 24 мар 2013, 16:50

csLAN писал(а):у STEAM игроков такое бывает, сам столкнулся с этим .
Ждём нормальных обновлений

спасибо, а вообще плагин норм? в нем не должно быть лагов?
а то иногда еще бывает игроки выбирают режим, а он не выбрался, просто меню закрылось.
Аватара пользователя
Серега(ElemenT)
 
Сообщения: 314
Зарегистрирован: 27 сен 2012, 01:35
Благодарил (а): 81 раз.
Поблагодарили: 9 раз.
Опыт программирования: Меньше месяца
Языки программирования: Counter-Strike 1.6

Re: Меню тера (Deathrun)

Сообщение csLAN » 25 мар 2013, 21:22

Ещё не видел его в работе но crash`у я доверяю
Аватара пользователя
csLAN
 
Сообщения: 134
Зарегистрирован: 12 окт 2012, 20:00
Откуда: Зеленокумск
Благодарил (а): 13 раз.
Поблагодарили: 17 раз.
Опыт программирования: Больше трех лет
Языки программирования: Counter-Strike 1.6
-------------------------
S.T.A.L.K.E.R
[Модостроитель]
-------------------------

Re: Меню тера (Deathrun)

Сообщение BloodFly » 29 мар 2019, 01:52

Эх уже 2019:3

Вроде запретили steam клиентам, выполнять команды через чат что-ли, переписать нужно все, чтобы через консоль было а не в чат /invis и т.д
:thumbs_up < А твои < :zzz: < Как у тебя дела?
vk.com/reddsova < Если можно ответы сюда :ROFL:
> Не сдавайтесь в написании если вы новичок
Аватара пользователя
BloodFly
 
Сообщения: 24
Зарегистрирован: 24 мар 2019, 02:41
Откуда: vk.com/reddsova
Благодарил (а): 5 раз.
Поблагодарили: 0 раз.
Опыт программирования: Меньше недели
Языки программирования: Pawn


Вернуться в Вопросы по AMXX и его плагинам

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 9