Code:
#include <amxmodx>
#include <amxmisc>
public plugin_init()
{
register_plugin("Hook Menu","1.0","[iwek]Nightscream")
register_clcmd("amx_hookmenu","CmdHookMenu",ADMIN_MENU, "- Displays the hookmenu")
register_clcmd("amx_hookmenu2","CmdHookMenu2",ADMIN_MENU,"- Displays the Hookmenu2")
register_clcmd("amx_hookonmenu","CmdHookOnMenu",ADMIN_MENU,"- Displays the hook on and off menu")
register_clcmd("amx_hookskymenu","CmdHookSkyMenu",ADMIN_MENU,"- Displays the sky menu")
register_clcmd("amx_hooksoundmenu","CmdHookSoundMenu",ADMIN_MENU,"- Displays the sound menu")
register_clcmd("amx_hookplayersmenu","CmdHookPlayersMenu",ADMIN_MENU,"- Displays the players menu")
register_clcmd("amx_hookwallsmenu","CmdHookWallsMenu",ADMIN_MENU,"- Displays the walls only menu")
register_clcmd("amx_hookcolormenu","CmdHookColorMenu",ADMIN_MENU,"- Displays the color menu")
register_clcmd("amx_hookinstantmenu","CmdHookInstantMenu",ADMIN_MENU,"- Displays the instant menu")
register_clcmd("amx_hookswingmenu","CmdHookSwingMenu",ADMIN_MENU,"- Displays the swing menu")
register_clcmd("amx_hookweaponmenu","CmdHookWeaponMenu",ADMIN_MENU,"- Displays the weapon menu")
register_clcmd("amx_hookusekeymenu","CmdHookUsekeyMenu",ADMIN_MENU,"- Displays the usekey menu")
register_menucmd(register_menuid("Hook Menu"),1023,"actionHookmenu")
register_menucmd(register_menuid("Hook Menu2"),1023,"actionHookmenu2")
register_menucmd(register_menuid("Hook on and off Menu"),1023,"actionHookonmenu")
register_menucmd(register_menuid("Hook Sky Menu"),1023,"actionHookSkymenu")
register_menucmd(register_menuid("Hook Sound Menu"),1023,"actionHookSoundmenu")
register_menucmd(register_menuid("Hook Players Menu"),1023,"actionHookPlayersmenu")
register_menucmd(register_menuid("Hook Walls Menu"),1023,"actionHookWallsmenu")
register_menucmd(register_menuid("Hook Color Menu"),1023,"actionHookColormenu")
register_menucmd(register_menuid("Hook Instant Menu"),1023,"actionHookInstantmenu")
register_menucmd(register_menuid("Hook Swing Menu"),1023,"actionHookSwingmenu")
register_menucmd(register_menuid("Hook Weapon Menu"),1023,"actionHookWeaponmenu")
register_menucmd(register_menuid("Hook Usekey Menu"),1023,"actionUsekeymenu")
return PLUGIN_CONTINUE
}
/*-------------------------------------Main Menu------------------------------------------------*/
public actionHookmenu(id,key) {
switch(key) {
case 0: {
client_cmd(id,"amx_hookonmenu");
}
case 1: {
client_cmd(id,"amx_hookskymenu");
}
case 3: {
client_cmd(id,"amx_hooksoundmenu");
}
case 4: {
client_cmd(id,"amx_hookplayersmenu");
}
case 5: {
client_cmd(id,"amx_hookwallsmenu");
}
case 6: {
client_cmd(id,"amx_hookcolormenu");
}
case 7: {
client_cmd(id,"amx_hookinstantmenu");
}
case 8: {
client_cmd(id,"amx_hookswingmenu");
}
case 9: {
client_cmd(id,"amx_hookmenu2");
}
}
return PLUGIN_CONTINUE
}
public CmdHookMenu(id,cid,level) {
if(!cmd_access(id,cid,level,1))
return PLUGIN_HANDLED
new menu[256]
format(menu,255,"\yHook menu^n^n\w1. Hook on and off menu^n\w2. Hook Sky menu^n\w3. Hook Sound menu^n\w4. Hook Players menu^n\w5. Hook Only Walls menu^n\w6. Hook Color menu^n\w7. Hook Instant menu^n\w8. Hook Swing menu^n\w9. More^n\w0. Exit")
show_menu(id,(1<<0)|(1<<1)|(1<<2)|(1<<3)|(1<<4)|(1<<5)|(1<<6)|(1<<7)|(1<<8)|(1<<9),menu)
return PLUGIN_CONTINUE
}
/*--------------------------------------Main Menu2--------------------------------------------------*/
public actionHookmenu2(id,key) {
switch(key) {
case 0: {
client_cmd(id,"amx_hookweaponmenu");
}
case 1: {
client_cmd(id,"amx_hookusekeymenu");
}
}
return PLUGIN_CONTINUE
}
public CmdHookMenu2(id,cid,level) {
if(!cmd_access(id,cid,level,1))
return PLUGIN_HANDLED
new menu[256]
format(menu,255,"\yHook Menu 2^n^n\w1.Hook Weapon menu^n\w2.Hook Use key Menu^n\w3.Back^n\w0.Exit")
show_menu(id,(1<<0)|(1<<1)|(1<<2)|(1<<3),menu)
return PLUGIN_CONTINUE
}
/*---------------------------------Hook on and off Menu---------------------------------------------*/
public actionHookonmenu(id,key) {
switch(key) {
case 0: {
set_cvar_num("DF_hook_on",0);
client_print(id,print_chat,"[HookMod]hook is now off");
}
case 1: {
set_cvar_num("DF_hook_on",1);
client_print(id,print_chat,"[HookMod]hook is now on");
}
}
return PLUGIN_CONTINUE
}
public CmdHookOnMenu(id, level, cid) {
if (!cmd_access(id, level, cid, 1))
return PLUGIN_HANDLED
new menu[256]
format(menu, 255, "\yHook on and off Menu^n^n\w1. Hook off^n\w2. Hook on^n\w3. Back^n\w0. Exit")
show_menu(id,((1<<0)|(1<<1)|(1<<2)|(1<<3)), menu)
return PLUGIN_CONTINUE
}
/*---------------------------------Hook Sky Menu---------------------------------------------*/
public actionHookSkymenu(id,key) {
switch(key) {
case 0: {
set_cvar_num("DF_hook_sky",0);
client_print(id,print_chat,"[HookMod]players can't attach hooks on to the Sky");
}
case 1: {
set_cvar_num("DF_hook_sky",1);
client_print(id,print_chat,"[HookMod]players can attach hooks on to the Sky");
}
}
return PLUGIN_CONTINUE
}
public CmdHookSkyMenu(id, level, cid) {
if (!cmd_access(id, level, cid, 1))
return PLUGIN_HANDLED
new menu[256]
format(menu, 255, "\yHook Sky Menu^n^n\w1. Hook Sky off^n\w2. Hook Sky on^n\w3. Back^n\w0. Exit")
show_menu(id,((1<<0)|(1<<1)|(1<<2)|(1<<3)), menu)
return PLUGIN_CONTINUE
}
/*---------------------------------Hook Sound Menu---------------------------------------------*/
public actionHookSoundmenu(id,key) {
switch(key) {
case 0: {
set_cvar_num("DF_hook_sound",0);
client_print(id,print_chat,"[HookMod]the hook will not make noise when it attaches to something");
}
case 1: {
set_cvar_num("DF_hook_sound",1);
client_print(id,print_chat,"[HookMod]the hook will make noise when it attaches to something");
}
}
return PLUGIN_CONTINUE
}
public CmdHookSoundMenu(id,level,cid) {
if (!cmd_access(id,level,cid,1))
return PLUGIN_HANDLED
new menu[256]
format(menu,255, "\yHook Sound Menu^n^n\w1. Hook Sound off^n\w2. Hook Sound on^n\w3. Back^n\w0. Exit")
show_menu(id,((1<<0)|(1<<1)|(1<<2)|(1<<3)),menu)
return PLUGIN_CONTINUE
}
/*---------------------------------Hook Players Menu---------------------------------------------*/
public actionHookPlayersmenu(id,key) {
switch(key) {
case 0: {
set_cvar_num("DF_hook_players",0);
client_print(id,print_chat,"[HookMod]Players can't attach hooks to other players");
}
case 1: {
set_cvar_num("DF_hook_players",1);
client_print(id,print_chat,"[HookMod]Players can attach hooks to other players");
}
}
return PLUGIN_CONTINUE
}
public CmdHookPlayersMenu(id,level,cid) {
if (!cmd_access(id,level,cid,1))
return PLUGIN_HANDLED
new menu[256]
format(menu,255, "\yHook Players Menu^n^n\w1.Hook Players off^n\w2.Hook Players on^n\w3.Back^n\w0.Exit")
show_menu(id,((1<<0)|(1<<1)|(1<<2)|(1<<3)),menu)
return PLUGIN_CONTINUE
}
/*---------------------------------Hook Walls Menu---------------------------------------------*/
public actionHookWallsmenu(id,key) {
switch(key) {
case 0: {
set_cvar_num("DF_hook_onlywalls",0);
client_print(id,print_chat,"[HookMod]You can hook to everything");
}
case 1: {
set_cvar_num("DF_hook_onlywalls",1);
client_print(id,print_chat,"[HookMod]Only walls can be hooked to");
}
}
return PLUGIN_CONTINUE
}
public CmdHookWallsMenu(id,level,cid) {
if(!cmd_access(id,level,cid,1))
return PLUGIN_HANDLED
new menu[256]
format(menu,255,"\yHook Only Walls Menu^n^n\w1.Hook Only Walls off^n\w2.Hook Only Walls on^n\w3.Back^n\w0.Exit")
show_menu(id,((1<<0)|(1<<1)|(1<<2)|(1<<3)),menu)
return PLUGIN_CONTINUE
}
/*---------------------------------Hook Color Menu---------------------------------------------*/
public actionHookColormenu(id,key) {
switch(key) {
case 0: {
set_cvar_num("DF_hook_color",0);
client_print(id,print_chat,"[HookMod]the hook color is white");
}
case 1: {
set_cvar_num("DF_hook_color",1);
client_print(id,print_chat,"[HookMod]the hook has a color based on team");
}
}
return PLUGIN_CONTINUE
}
public CmdHookColorMenu(id,level,cid) {
if(!cmd_access(id,level,cid,1))
return PLUGIN_HANDLED
new menu[256]
format(menu,255,"\yHook Color Menu^n^n\w1.Hook Color off^n\w2.Hook Color on^n\w3.Back^n\w0.Exit")
show_menu(id,(1<<0)|(1<<1)|(1<<2)|(1<<3),menu)
return PLUGIN_CONTINUE
}
/*---------------------------------Hook Instant Menu-------------------------------------------*/
public actionHookInstantmenu(id,key) {
switch(key) {
case 0: {
set_cvar_num("DF_hook_instant",0);
client_print(id,print_chat,"[HookMod]");
}
case 1: {
set_cvar_num("DF_hook_instant",1);
client_print(id,print_chat,"[HookMod]the hook instantly attaches to what the player is looking at");
}
}
return PLUGIN_CONTINUE
}
public CmdHookInstantMenu(id,level,cid) {
if(cmd_access(id,level,cid,1))
return PLUGIN_HANDLED
new menu[256]
format(menu,255,"\yHook InstantMenu^n^n\w1.Hook Instant off^n\w2.Hook Instant on^n\w3.Back^n\w0.Exit")
show_menu(id,(1<<0)|(1<<1)|(1<<2)|(1<<3),menu)
return PLUGIN_CONTINUE
}
/*---------------------------------Hook Swing Menu---------------------------------------------*/
public actionHookSwingmenu(id,key) {
switch(key) {
case 0: {
set_cvar_num("DF_hook_swing",0);
client_print(id,print_chat,"[HookMod]the hook pulls the player from the location to it");
}
case 1: {
set_cvar_num("DF_hook_swing",1);
client_print(id,print_chat,"[HookMod]the hook swings the player from the attached location to it");
}
}
return PLUGIN_CONTINUE
}
public CmdHookSwingMenu(id,level,cid) {
if(!cmd_access(id,level,cid,1))
return PLUGIN_HANDLED
new menu[256]
format(menu,255,"\yHook Swing Menu^n^n\w1.Hook Swing off^n\w2.Hook Swing on^n\w3.Back^n\w0.Exit")
show_menu(id,(1<<0)|(1<<1)|(1<<2)|(1<<3),menu)
return PLUGIN_CONTINUE
}
/*---------------------------------Hook Weapon Menu---------------------------------------------*/
public actionHookWeaponmenu(id,key) {
switch(key) {
case 0: {
set_cvar_num("DF_hook_weapon",0);
client_print(id,print_chat,"[HookMod]the hook don't appear to comes out of the weapon");
}
case 1: {
set_cvar_num("DF_hook_weapon",1);
client_print(id,print_chat,"[HookMod]the hook appears to comes out of the weapon");
}
}
return PLUGIN_CONTINUE
}
public CmdHookWeaponMenu(id,level,cid) {
if(!cmd_access(id,level,cid,1))
return PLUGIN_HANDLED
new menu[256]
format(menu,255,"\yHook Weapon menu^n^n\w1.Hook Weapon off^n\w2.Hook Weapon on^n\w3.Back^n\w0.Exit")
show_menu(id,(1<<0)|(1<<1)|(1<<2)|(1<<3),menu)
return PLUGIN_CONTINUE
}
/*------------------------------------Hook Use Key menu-----------------------------------------*/
public actionHookUsekeymenu(id,key) {
switch(key) {
case 0: {
set_cvar_num("DF_hook_usekey",0);
client_print(id,print_chat,"the hook can't be used by hitting the use key");
}
case 1: {
set_cvar_num("DF_hook_usekey",1);
client_print(id,print_chat,"the hook can be used by hitting the use key");
}
case 2: {
client_cmd(id,"amx_hookmenu")
}
}
return PLUGIN_CONTINUE
}
public CmdHookUsekeyMenu(id,level,cid) {
if(!cmd_access(id,level,cid,1))
return PLUGIN_HANDLED
new menu[256]
format(menu,255,"\yHook Use Key menu^n^n\w1.Hook Use Key off^n\w2.Hook Use Key on^n\w3.Back^n\w0.Exit")
show_menu(id,(1<<0)|(1<<1)|(1<<2)|(1<<3),menu)
return PLUGIN_CONTINUE
}