AMX MOD X
Пятница, 26.04.2024, 23:03:31



Приветствую Вас Гость | RSS
[ Главная ] [ Автовыбор за игрока ( меню ) - AMX Mod X Форум ] [ Регистрация ] [ Вход ]
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]

Вниманию участников! Данный форум теперь является архивом и вскором времени здесь нельзя будет создавать новых тем! Просьба всем для общения и создания новых тем перейти на наш новый форум: http://amxmodx.su/

  • Страница 1 из 1
  • 1
Модератор форума: slogic, AlMod  
AMX Mod X Форум » Скриптинг » Помощь по скриптингу » Автовыбор за игрока ( меню ) (Если игрок не выбрал пункт меню, то выберается за него.)
Автовыбор за игрока ( меню )
tavotДата: Среда, 11.11.2009, 17:08:50 | Сообщение # 1
Генерал-майор
Группа: Пользователи
Сообщений: 256
Репутация: 3
Статус: Не в сети
Стуация:
при определенных условиях игроку выдается меню ( смотри код ниже )

Мне же, необходимо сделать так, что бы: Если игрок не выбрал ни один из пунктов сам, то за него автоматом выбераетс пункт номер 5.
Голову сломал как это сделать, так ни чего дельного и не придумал.

Code
public showMenu(id)
  {
  new menu[192]
  new keys = MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4|MENU_KEY_5

  format(menu,191,"\yChoose Your Predator:^n^n\w1. Forest Predator^n2. Mountain Predator^n3. Desert Predator^n4. Snow Predator^n5. None")
  show_menu(id,keys,menu)
  return PLUGIN_HANDLED
  }
 
defaultNick8433Дата: Среда, 11.11.2009, 19:29:58 | Сообщение # 2
Генерал-полковник
Группа: Скриптеры
Сообщений: 806
Репутация: 19
Статус: Не в сети
Code
new g_Votes[6]
{
new menu=menu_create("Information","menu_handle")
menu_additem(menu,"Твоя инфа","1")
menu_additem(menu,"Твоя инфа","2")
menu_additem(menu,"Твоя инфа","3")
menu_additem(menu,"Твоя инфа","4")
menu_additem(menu,"Твоя инфа","5")
menu_setprop(menu,MPROP_EXIT,MEXIT_ALL)
}
public menu_handle(id,menu,item)
{
if( item < 0 ) return PLUGIN_CONTINUE
new cmd[3]
new access, callback
menu_item_getinfo(menu, item, access, cmd,2,_,_, callback)
new iChoice = str_to_num(cmd)
g_Votes[iChoice]++

if(g_Votes[1]|=g_Votes[2]|=g_Votes[3]|=g_Votes[4]|=g_Votes[5])
//Дальше твой код
return PLUGIN_HANDLED


Раскручиваю сайты,ставлю трекера на хостинг.Всё бесплатно.Если заинтересовало,то моя аська 400538001
 
tavotДата: Среда, 11.11.2009, 20:46:50 | Сообщение # 3
Генерал-майор
Группа: Пользователи
Сообщений: 256
Репутация: 3
Статус: Не в сети
defaultNick8433,
Спасибо ) там только не хватает menu_display(id,menu,0) с этим я разобрался. меню выводится.
Но может я плохо написал что надо.
Скажем так что бы это меню появлялось скажем как в галилео на 15 сек и исчезало, или же если игрок не выбрал ни один пункт то через 15 секунд автоматом присваивается скажем значение меню 5

Добавлено (11.11.2009, 20:46:50)
---------------------------------------------
Вот код:

Code

/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>

#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "author"

   

public plugin_init() {
  register_plugin(PLUGIN, VERSION, AUTHOR)
  register_clcmd("say t","menu")
  // Add your code here...

}

//new g_Votes[6]  
public menu(id){
   
  new menu=menu_create("Information","menu_handle")
  menu_additem(menu,"Is 1","1")  
  menu_additem(menu,"Is 2","2")  
  menu_additem(menu,"Is 3","3")  
  menu_additem(menu,"Is 4","4")  
  menu_additem(menu,"Is 5","5")  
  menu_setprop(menu,MPROP_EXIT,-1)  
  menu_display(id,menu,0)
}

public menu_handle(id,menu,item)  
{  
  if( item < 0 ) return PLUGIN_CONTINUE  
  new cmd[3]  
  new access, callback  
  menu_item_getinfo(menu, item, access, cmd,2,_,_, callback)  
  new iChoice = str_to_num(cmd)  
  //g_Votes[iChoice]++  

  //if(g_Votes[1]|=g_Votes[2]|=g_Votes[3]|=g_Votes[4]|=g_Votes[5])  
  //Дальше твой код  
  client_print(id,print_chat,"You push: %d", iChoice)

  return PLUGIN_HANDLED
}

Что нужно добавить что бы меню закрывалось через 15 секунд с выбором меню 5 ( если игрок не выбрал сам ни один пункт)

 
defaultNick8433Дата: Среда, 11.11.2009, 20:51:38 | Сообщение # 4
Генерал-полковник
Группа: Скриптеры
Сообщений: 806
Репутация: 19
Статус: Не в сети
Quote (tavot)
Скажем так что бы это меню появлялось скажем как в галилео на 15 сек и исчезало, или же если игрок не выбрал ни один пункт то через 15 секунд автоматом присваивается скажем значение меню 5

Ну я это понил,под пунктом 5 ты можешь указать что угодно,вот и реализуй.
Code
new g_Votes[6]  
{  
new menu=menu_create("Information","menu_handle")  
menu_additem(menu,"Твоя инфа","1")  
menu_additem(menu,"Твоя инфа","2")  
menu_additem(menu,"Твоя инфа","3")  
menu_additem(menu,"Твоя инфа","4")  
menu_additem(menu,"Твоя инфа","5")  
menu_setprop(menu,MPROP_EXIT,MEXIT_ALL)  

menu_display(id,menu)
set_task(15.0,"prechaching",id)//через 15 сек,реализуется сделанное тобою действие.
}  
public menu_handle(id,menu,item)  
{  
if( item < 0 ) return PLUGIN_CONTINUE  
new cmd[3]  
new access, callback  
menu_item_getinfo(menu, item, access, cmd,2,_,_, callback)  
new iChoice = str_to_num(cmd)  
g_Votes[iChoice]++  
return PLUGIN_HANDLED
}
Дальше пример:
public precaching(id)
{
if(g_Votes[1]|=g_Votes[2]|=g_Votes[3]|=g_Votes[4]|=g_Votes[5])  
//твой код,что ты хочешь сделать с предатором.
}


Раскручиваю сайты,ставлю трекера на хостинг.Всё бесплатно.Если заинтересовало,то моя аська 400538001
 
tavotДата: Среда, 11.11.2009, 21:27:34 | Сообщение # 5
Генерал-майор
Группа: Пользователи
Сообщений: 256
Репутация: 3
Статус: Не в сети
Спасибо, видимо я немного на другом языке мыслю :)
На кое какие идеи натолкнул, пошел пробывать )
Придется видимо код править сильнее чем расчитывал, ну да ладно. так даже интереснее )

Добавлено (11.11.2009, 21:27:34)
---------------------------------------------
хм мои мысли не оправдались - так как меню не закрылось.
Фокус не прошел ни со старым меню ни с новым.
Вобщем нужно Обязательно - что бы меню само закрывалось через N секунд.

Иначе с помощью не хитрой махинации можно быть практически не убиваемым предом.

 
defaultNick8433Дата: Среда, 11.11.2009, 21:50:25 | Сообщение # 6
Генерал-полковник
Группа: Скриптеры
Сообщений: 806
Репутация: 19
Статус: Не в сети
return PLUGIN_HANDLED добав в конец кода функции public precaching(id),как на примере,но у тебя функция может по другому называться

Раскручиваю сайты,ставлю трекера на хостинг.Всё бесплатно.Если заинтересовало,то моя аська 400538001
 
tavotДата: Среда, 11.11.2009, 21:59:13 | Сообщение # 7
Генерал-майор
Группа: Пользователи
Сообщений: 256
Репутация: 3
Статус: Не в сети
Вобщем все решилось:
show_menu(id,keys,menu, 15)
 
defaultNick8433Дата: Среда, 11.11.2009, 22:08:35 | Сообщение # 8
Генерал-полковник
Группа: Скриптеры
Сообщений: 806
Репутация: 19
Статус: Не в сети
отлично.

Раскручиваю сайты,ставлю трекера на хостинг.Всё бесплатно.Если заинтересовало,то моя аська 400538001
 
AMX Mod X Форум » Скриптинг » Помощь по скриптингу » Автовыбор за игрока ( меню ) (Если игрок не выбрал пункт меню, то выберается за него.)
  • Страница 1 из 1
  • 1
Поиск:

AMX Mod X Russian Community © 2006-2024