Added AddMenuItem
This commit is contained in:
		| @@ -142,4 +142,42 @@ stock register_menu(title[],keys,function[],outside=0) | |||||||
| /* Backwards Compatibility | /* Backwards Compatibility | ||||||
| * don't use it! */ | * don't use it! */ | ||||||
| stock get_customdir(name[],len) | stock get_customdir(name[],len) | ||||||
|   return get_localinfo("amxx_configsdir",name,len) |   return get_localinfo("amxx_configsdir",name,len) | ||||||
|  |  | ||||||
|  | /* Add a menu item to Menus Front-End plugin: | ||||||
|  | * MENU_TEXT: Text that will be shown for this item in menu | ||||||
|  | * MENU_CMD: Command that should be executed to start menu | ||||||
|  | * MENU_ACCESS: Access required for menu | ||||||
|  | * MENU_PLUGIN: The exact case-insensitive name of plugin holding the menu command  | ||||||
|  | */ | ||||||
|  | stock AddMenuItem(const MENU_TEXT[], const MENU_CMD[], const MENU_ACCESS, const MENU_PLUGIN[]) { | ||||||
|  | 	new pluginid = is_plugin_loaded("Menus Front-End") | ||||||
|  | 	if (pluginid == -1) { | ||||||
|  | 		log_amx("Can't add menu item ^"%s^" from plugin ^"%s^" to menu set because the Menus Front-End plugin itself is not loaded!", MENU_TEXT, MENU_PLUGIN) | ||||||
|  | 		return // Menus Front-End doesn't exist, return. | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	new filename[64], b[1], c[1], d[1], e[1] | ||||||
|  | 	get_plugin(pluginid, filename, 63, b, 0, c, 0, d, 0, e, 0) | ||||||
|  |  | ||||||
|  | 	new status = callfunc_begin("AddMenu", filename) | ||||||
|  | 	new bool:failed = true | ||||||
|  | 	switch (status) { | ||||||
|  | 		case 1: failed = false | ||||||
|  | 		case 0: log_amx("Run time error!") | ||||||
|  | 		case -2: log_amx("Function not found!") | ||||||
|  | 		case -1: log_amx("Plugin not found!") | ||||||
|  | 	} | ||||||
|  | 	if (failed) | ||||||
|  | 		return | ||||||
|  | 	// Body (identifier) | ||||||
|  | 	callfunc_push_str(MENU_TEXT) | ||||||
|  | 	// Cmd | ||||||
|  | 	callfunc_push_str(MENU_CMD) | ||||||
|  | 	// Access | ||||||
|  | 	callfunc_push_int(MENU_ACCESS) | ||||||
|  | 	// Description | ||||||
|  | 	callfunc_push_str(MENU_PLUGIN) | ||||||
|  |  | ||||||
|  | 	callfunc_end() | ||||||
|  | } | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user