| Infernuz |
03-06-2013 19:17 |
Re: Server Crash due to script
1 Attachment(s)
Dont know, may be many things. Try this instead. Hoppe you'll find it usefull.
Try to understand the code before modifying
https://forums.alliedmods.net/showpo...15&postcount=5
PHP Code:
/* * Team hook by Infernus * * This plugin will try to block the item selection at original team choose menu. Works with VGUI. * * * Credits: Kiske */
#include <amxmodx>
new bool:g_lockteams = true; new bool:g_debug = true;
public plugin_init() { register_plugin("Team hook", "1.0", "Infernus"); register_clcmd("chooseteam", "chooseteam_menu"); // called when user presses m register_clcmd("jointeam", "chooseteam_menu"); // called when user joins a team throw console register_menucmd(register_menuid("Team_Select", 1), (1<<0)|(1<<1)|(1<<4)|(1<<5), "menucmd_TeamSelect"); }
/* * This event will be called when user types "chooseteam" or "jointeam" in console. Or, presses m in game. * * Accepts: * [integer] id - Players identifier (1 to 32) * * returns PLUGIN_HANDLED on succesfull menu block, and PLUGIN_CONTINUE on no menu block. */ public chooseteam_menu(id) { if(g_debug) server_print("choose_team_enter");
// handle vgui new sParam[2], iParam; read_argv(1, sParam, 1); iParam = str_to_num(sParam); if( menu_hook(id, iParam, 0 ) ) return PLUGIN_HANDLED if(g_debug) server_print("choose_team_exit"); return PLUGIN_CONTINUE; }
/* * This event will be called when user uses menu type ShowMenu * * Accepts: * [integer] id - Players identifier (1 to 32) * * returns PLUGIN_HANDLED on successful menu block, and PLUGIN_CONTINUE on no menu block. */ public menucmd_TeamSelect(id, key) { if(g_debug) server_print("team_select_enter"); if(!is_user_connected(id)) return PLUGIN_HANDLED;
// handle menu clicking in showmenu if( menu_hook(id, key+1, 1) ) return PLUGIN_HANDLED if(g_debug) server_print("team_select_exit"); return PLUGIN_CONTINUE; }
/* * This hooks team select menu. * * Accepts: * [integer] id - Players identificator (1 to 32) * [integer] key - The menu item, player clicked in game (1 = TERS, 2 = CTS, 5 = AUTO-SELECT, 6 = SPECTATORS) * [bool] menu_type - Vgui or ShowMenu? (1 = VGUI, 0 = ShowMenu) * * returns false on no item block, and true on item block. */ public bool:menu_hook(id, key, menu_type) { if(g_debug) { server_print("menu_hook_enter"); client_print(id, print_chat, "Clicked key: %d", key); } //new msgid = menu_type ? get_user_msgid("VGUIMenu") : get_user_msgid("ShowMenu"); //new msgBlock = get_msg_block(msgid);
switch(key) { case 1: { if(g_lockteams) { client_print(id, print_center, "Team selection is disabled, can't join terrorist force!"); return true; } } case 2: { if(g_lockteams) { client_print(id, print_center, "Team selection is disabled, can't join CT force!"); return true; } } case 5: { //AUTO-SELECT } case 6: { // SPECTATORS //set_msg_block(msgid, BLOCK_SET); //engclient_cmd(id, "jointeam", teamStr); //set_msg_block(msgid, msgBlock); } }
if(g_debug) server_print("menu_hook_exit"); return false; }
|