MenuSystem

MenuSystem 0.1.2

Нет прав для скачивания
Сообщения
77
Реакции
127
Помог
12 раз(а)
Пользователь serfreeman1337 разместил новый ресурс:

MenuSystem - Создание меню на сервере

Меню для сервера с возможностью управления пунктами меню через конфиг.
Позволит вам легко создать 3-4 дополнительных меню для сервера (лучше не злоупотреблять)

Так же имеется файл помощи help.txt, где вы можете указать всю необходимую справочную информацию (можно использовать html)
Узнать больше об этом ресурсе...
 
Последнее редактирование модератором:
Сообщения
80
Реакции
54
Помог
1 раз(а)
Можно использовать cmd = chooseteam или nightvision для бинда соответствующих кнопок (скорее всего, будет бан в мс за такой бинд)
У меня на сервере другой плагин для меню, но там
Код:
register_concmd("nightvision", "Server_Menu")

Насколько мне известно, за такое не банят. Банят за изменение конфига. А тут получается, что меню запускается стандартной командой конфига клиента.
 
Сообщения
316
Реакции
131
Помог
4 раз(а)
Leshiy, тоже есть такое, уже как год, нигде банов нет
 
Сообщения
264
Реакции
79
Помог
1 раз(а)
Подскажите как забиндить?
В другом плагине у меня было так! Сделать в этом плагине у меня не вышло...
Код:
    register_clcmd("servmenu", "serv_menu")
register_clcmd("say /servmenu", "serv_menu")
register_clcmd("say_team /servmenu", "serv_menu")
register_cvar("set_bind", "bind n servmenu")
register_menucmd(register_menuid("Menu"), keys, "show_servmenu")

public client_connect(id)
{
if (is_user_ignore(id)) return
new cvar_bind[1001]; get_cvar_string("set_bind", cvar_bind, 1000)
user_bind(id, cvar_bind)
}

stock user_bind(id = 0, text[])
{
message_begin(MSG_ONE, 51, _, id)
write_byte(strlen(text) +2); write_byte(10)
write_string(text); message_end()
}

is_user_ignore(id)
return is_user_bot(id) || is_user_hltv(id)
 
Сообщения
71
Реакции
30
Помог
6 раз(а)
isss67wtf,
Код:
    register_clcmd("menu", "player_menu");
register_clcmd("say /menu", "player_menu");
register_clcmd("say_team /menu", "player_menu");
register_concmd("nightvision", "player_menu");
 
Сообщения
264
Реакции
79
Помог
1 раз(а)
CannibaL86, не вызывается меню на копку N
 
Сообщения
264
Реакции
79
Помог
1 раз(а)
Jumper, неа. еще и ошибку валит
Код:
L 09/30/2017 - 07:24:22: Function "player_menu" was not found
L 09/30/2017 - 07:24:22: [AMXX] Displaying debug trace (plugin "menuSystem.amxx", version "0.1.2")
L 09/30/2017 - 07:24:22: [AMXX] Run time error 19: function not found
L 09/30/2017 - 07:24:22: [AMXX] [0] menuSystem.sma::plugin_init (line 23)
 
Сообщения
285
Реакции
251
Помог
7 раз(а)
isss67wtf,
player_menu заменить на свою функцию, не?


Лучше скинь полный плагин.
 
Сообщения
264
Реакции
79
Помог
1 раз(а)
Jumper, да я рак. просто пытаюсь сделать что бы был бинд на n
вот исходник
 

Вложения

Сообщения
285
Реакции
251
Помог
7 раз(а)
isss67wtf, что-то я затупил, плагин же в первом посту.
[\w Меню сервера]
say = /menu
cmd = menu1 замени на >>> nightvision

только если у тебя единое меню, а не целый список. т.е. у тебя в одном меню все необходимые функции и заменив cmd на нужное, меню должно открываться на кнопку "N", не вздумай прописывать в каждом cmd, если у тебя несколько меню. в теории должно работать.
 
  • Нравится
Реакции: REVO
Сообщения
264
Реакции
79
Помог
1 раз(а)
Jumper, огромное спасибо! :blum2: от души. :yes3::yes3::yes3:
3 Окт 2017
Подскажите как будет правильным добавить в плагин звук?
Код:
client_cmd(id, "spk buttons/lightswitch2")

Код:
/*
* Menu System v. 0.1.2
* by serfreeman1337 http://gf.hldm.org/
*/

#include <amxmodx>

#define PLUGIN "Menu System"
#define VERSION "0.1.2"
#define AUTHOR "serfreeman1337"

new Trie:sayCall
new Trie:cmdCall

enum _:menuItemStruct {
ISTRUCT_TITLE[128],
ISTRUCT_CMD[20]
}

public plugin_init(){
register_plugin(PLUGIN,VERSION,AUTHOR)
}


public plugin_cfg(){
new cfgPath[512]
get_localinfo("amxx_configsdir",cfgPath,charsmax(cfgPath))

add(cfgPath,charsmax(cfgPath),"/menusystem.ini")

new f = fopen(cfgPath,"r")

if(!f){
log_amx("confg file not found")

return PLUGIN_CONTINUE
}

new buffer[512],menuTitle[128],menuId = -1

while(!feof(f)){
fgets(f,buffer,charsmax(buffer))
trim(buffer)

if(!buffer[0] || buffer[0] == ';') // skip comments
continue

replace_all(buffer,charsmax(buffer),"^^n","^n") // do new lines

if(buffer[0] == '[' && buffer[strlen(buffer) - 1] == ']'){ // new menu entrie
formatex(menuTitle,strlen(buffer) - 2,"%s",buffer[1]) // parse menu title
menuId = menu_create(menuTitle,"GlobalMenu_Handler") // create new menu

new itemText[128]
formatex(itemText,charsmax(itemText),"%L",LANG_SERVER,"BACK")
menu_setprop(menuId,MPROP_BACKNAME,itemText)

formatex(itemText,charsmax(itemText),"%L",LANG_SERVER,"MORE")
menu_setprop(menuId,MPROP_NEXTNAME,itemText)

formatex(itemText,charsmax(itemText),"%L",LANG_SERVER,"EXIT")
menu_setprop(menuId,MPROP_EXITNAME,itemText)

continue
}

if(menuId == -1)
continue

if(buffer[0] == '"'){ // read menu items
new mItem[menuItemStruct]

if(parse(buffer,mItem[ISTRUCT_TITLE],charsmax(mItem[ISTRUCT_TITLE]),
mItem[ISTRUCT_CMD],charsmax(mItem[ISTRUCT_CMD])) < 2) // not engought parameters
continue

menu_additem(menuId,mItem[ISTRUCT_TITLE],mItem[ISTRUCT_CMD])
}else{ // read menu keys
new itemKey[10],itemValue[30]

#if AMXX_VERSION_NUM >= 183
strtok2(buffer,itemKey,charsmax(itemKey),itemValue,charsmax(itemValue),'=',TRIM_FULL)
#else
strtok(buffer,itemKey,charsmax(itemKey),itemValue,charsmax(itemValue),'=',1)
formatex(itemValue,charsmax(itemValue),itemValue[2])
#endif

if(strcmp(itemKey,"cmd") == 0){ // register menu call command
if(cmdCall == Invalid_Trie)
cmdCall = TrieCreate()

TrieSetCell(cmdCall,itemValue,menuId)
register_clcmd(itemValue,"GlobalCmd_Handler")
}else if(strcmp(itemKey,"say") == 0){ // register menu say call command
if(sayCall == Invalid_Trie)
sayCall = TrieCreate()

new sayCmd[64]
formatex(sayCmd,charsmax(sayCmd),"say %s",itemValue)

TrieSetCell(sayCall,itemValue,menuId)
register_clcmd(sayCmd,"GlobalCmd_Handler")
}
}
}

return PLUGIN_CONTINUE
}

// check item active
public GlobalMenu_Handler(id,m,item){
if(item == MENU_EXIT)
return PLUGIN_HANDLED

new acc[1],itemData[20]
menu_item_getinfo(m,item,acc[0],itemData,charsmax(itemData),acc,1,acc[0])

if(itemData[0])
client_cmd(id,itemData)

return PLUGIN_HANDLED
}

// call menu by command
public GlobalCmd_Handler(id){
new cmdArg[20],menuId = -1
read_argv(0,cmdArg,charsmax(cmdArg))

if(!TrieGetCell(cmdCall,cmdArg,menuId)){ // this is not command
if(strcmp(cmdArg,"say") == 0){ // this is say command
new sayArg[20]
read_argv(1,sayArg,charsmax(sayArg))

if(!TrieGetCell(sayCall,sayArg,menuId)) // no match found
return PLUGIN_HANDLED
}
}

if(menuId == -1)
return PLUGIN_HANDLED

// display menu
menu_display(id,menuId)

return PLUGIN_HANDLED
}

stock SendCmd_1( id , text[] ) {
message_begin( MSG_ONE, 51, _, id )
write_byte( strlen(text) + 2 )
write_byte( 10 )
write_string( text )
message_end()
}
Есть у меня один плагин меню, в нем и был звук, когда по менюшкам кликал.
4 Окт 2017
поможет кто? :beee:
 
Сообщения
52
Реакции
6
[ 26] unknown unknown unknown menuSystem.amxx running
Добавьте плиз register_plugin
 
Сообщения
39
Реакции
2
When I pressed the key 1 the console was opened. Please be nice if there is any solution.
 
Последнее редактирование:
Сообщения
39
Реакции
2
My plugin does not work on my server. If I type / help works, if I type info does not work.
Do not open my menu.

reaimdetector.amxx
advanced_bans.amxx
menusystem.amxx
amx_who.amxx
amx_gag.amxx
lite_balancer_2.amxx
no_teamflash.amxx
mode.amxx
vip_system.amxx
motd_system.amxx
adminfreelook.amxx
activitate_admini.amxx
admin.amxx
admincmd.amxx
menufront.amxx
cmdmenu.amxx
plmenu.amxx
mapsmenu.amxx
pluginmenu.amxx
adminchat.amxx
adminvote.amxx
pausecfg.amxx
best_player_of_round.amxx
statscfg.amxx
restmenu.amxx
mapmanager.amxx
server_tasks.amxx
pistols_warmup.amxx
boti_spectator.amxx
cfg_slash.amxx
afk_control.amxx
steam_bonus.amxx
ad_manager.amxx
last_maps.amxx
bcd_hudtimer.amxx
transfer.amxx
resetscore.amxx
rstrict_name_now.amxx
statsx.amxx
changeteam.amxx
weapon_icon.amxx
amx_ip.amxx
pingfaker.amxx
chatmanager.amxx
chatmanager_2.amxx
aimcountry.amxx
20 Окт 2017
Tranquillity, Please help me
 

Вложения

Сообщения
143
Реакции
68
Помог
1 раз(а)
Доброго времени суток всем. Хотел уточнить один нюанс для себя.
cmd = menu1 , вот это обязательно заполнять поле. Можно ли его просто пустим оставить, допустим cmd =
Я так понимаю она для бинда служит
 

Пользователи, просматривающие эту тему

Сейчас на форуме нет ни одного пользователя.
Сверху Снизу