im working on a plugin which allows admins to control.. other players
the code below works, but i was just wondering if its ok to register every menu like it does right now,
or is there another way of catching the keypress?
Code:
register_event("ShowMenu","event_showmenu", "b")
...
public event_showmenu(id) {
if(id != controlled)
return PLUGIN_CONTINUE
new menu[32], keys = read_data(1)
read_data(4, menu,31)
new name[32]
get_user_name(id, name,31)
client_print(controller,print_chat, "[%s] A ShowMenu was called on %s: %s",plugin,name,menu)
hasmenu = true
new menuid = register_menuid(menu,1)
register_menucmd(menuid,keys,"action_menu")
show_menu(controller,keys,menu)
return PLUGIN_CONTINUE
}
public action_menu(id,key) {
if(id != controller || !hasmenu)
return PLUGIN_CONTINUE
hasmenu = false
new num[2]
num_to_str(key+1, num,1)
engclient_cmd(controlled, "menuselect",num)
return PLUGIN_HANDLED
}
wont this register the same menus over and over again as they pop up on the target's screen?
EDIT: oh, i forgot to explain what to code does exactly

it just replicates the menu displayed to the controlled player to the one controlling him who can then decide what the player should "select"
__________________