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)
// 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() }