added voting category and a menu option for cancelling votes
--HG-- extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%401529
This commit is contained in:
		
							parent
							
								
									7cb4d7ae9c
								
							
						
					
					
						commit
						ee90188103
					
				| @ -55,6 +55,7 @@ new Handle:hAdminMenu = INVALID_HANDLE; | ||||
| /* Top menu objects */ | ||||
| new TopMenuObject:obj_playercmds = INVALID_TOPMENUOBJECT; | ||||
| new TopMenuObject:obj_servercmds = INVALID_TOPMENUOBJECT; | ||||
| new TopMenuObject:obj_votingcmds = INVALID_TOPMENUOBJECT; | ||||
| 
 | ||||
| public bool:AskPluginLoad(Handle:myself, bool:late, String:error[], err_max) | ||||
| { | ||||
| @ -90,6 +91,12 @@ public OnAllPluginsLoaded() | ||||
| 		CategoryHandler, | ||||
| 		INVALID_TOPMENUOBJECT); | ||||
| 
 | ||||
| 	obj_votingcmds = AddToTopMenu(hAdminMenu, | ||||
| 		"VotingCommands", | ||||
| 		TopMenuObject_Category, | ||||
| 		CategoryHandler, | ||||
| 		INVALID_TOPMENUOBJECT); | ||||
| 	 | ||||
| 	Call_StartForward(hOnAdminMenuCreated); | ||||
| 	Call_PushCell(hAdminMenu); | ||||
| 	Call_Finish(); | ||||
| @ -120,6 +127,10 @@ public CategoryHandler(Handle:topmenu, | ||||
| 		{ | ||||
| 			Format(buffer, maxlength, "%T:", "Server Commands", param); | ||||
| 		} | ||||
| 		else if (object_id == obj_votingcmds) | ||||
| 		{ | ||||
| 			Format(buffer, maxlength, "%T:", "Voting Commands", param); | ||||
| 		} | ||||
| 	} | ||||
| 	else if (action == TopMenuAction_DrawOption) | ||||
| 	{ | ||||
| @ -131,6 +142,10 @@ public CategoryHandler(Handle:topmenu, | ||||
| 		{ | ||||
| 			Format(buffer, maxlength, "%T", "Server Commands", param); | ||||
| 		} | ||||
| 		else if (object_id == obj_votingcmds) | ||||
| 		{ | ||||
| 			Format(buffer, maxlength, "%T", "Voting Commands", param); | ||||
| 		} | ||||
| 		return ITEMDRAW_DEFAULT; | ||||
| 	} | ||||
| 	 | ||||
|  | ||||
| @ -50,6 +50,7 @@ new Handle:hTopMenu = INVALID_HANDLE; | ||||
| 
 | ||||
| #include "basecommands/kick.sp" | ||||
| #include "basecommands/reloadadmins.sp" | ||||
| #include "basecommands/cancelvote.sp" | ||||
| 
 | ||||
| public OnPluginStart() | ||||
| { | ||||
| @ -110,6 +111,19 @@ public OnAdminMenuReady(Handle:topmenu) | ||||
| 			"sm_reloadadmins", | ||||
| 			ADMFLAG_BAN); | ||||
| 	} | ||||
| 
 | ||||
| 	new TopMenuObject:voting_commands = FindTopMenuCategory(hTopMenu, ADMINMENU_VOTINGCOMMANDS); | ||||
| 
 | ||||
| 	if (voting_commands != INVALID_TOPMENUOBJECT) | ||||
| 	{ | ||||
| 		AddToTopMenu(hTopMenu, | ||||
| 			"Cancel Vote", | ||||
| 			TopMenuObject_Item, | ||||
| 			AdminMenu_CancelVote, | ||||
| 			voting_commands, | ||||
| 			"sm_cancelvote", | ||||
| 			ADMFLAG_VOTE); | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| public OnLibraryRemoved(const String:name[]) | ||||
| @ -415,18 +429,3 @@ public Action:Timer_ChangeMap(Handle:timer, Handle:dp) | ||||
| 	return Plugin_Stop; | ||||
| } | ||||
| 
 | ||||
| public Action:Command_CancelVote(client, args) | ||||
| { | ||||
| 	if (!IsVoteInProgress()) | ||||
| 	{ | ||||
| 		ReplyToCommand(client, "[SM] %t", "Vote Not In Progress"); | ||||
| 		return Plugin_Handled; | ||||
| 	} | ||||
| 
 | ||||
| 	ShowActivity(client, "%t", "Cancelled Vote"); | ||||
| 	 | ||||
| 	CancelVote(); | ||||
| 	 | ||||
| 	return Plugin_Handled; | ||||
| } | ||||
| 
 | ||||
|  | ||||
							
								
								
									
										39
									
								
								plugins/basecommands/cancelvote.sp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										39
									
								
								plugins/basecommands/cancelvote.sp
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,39 @@ | ||||
| 
 | ||||
| PerformCancelVote(client) | ||||
| { | ||||
| 	if (!IsVoteInProgress()) | ||||
| 	{ | ||||
| 		ReplyToCommand(client, "[SM] %t", "Vote Not In Progress"); | ||||
| 		return; | ||||
| 	} | ||||
| 
 | ||||
| 	ShowActivity(client, "%t", "Cancelled Vote"); | ||||
| 	 | ||||
| 	CancelVote(); | ||||
| } | ||||
| 	 | ||||
| public AdminMenu_CancelVote(Handle:topmenu,  | ||||
| 							  TopMenuAction:action, | ||||
| 							  TopMenuObject:object_id, | ||||
| 							  param, | ||||
| 							  String:buffer[], | ||||
| 							  maxlength) | ||||
| { | ||||
| 	if (action == TopMenuAction_DrawOption) | ||||
| 	{ | ||||
| 		Format(buffer, maxlength, "%T", "Cancel vote", param); | ||||
| 	} | ||||
| 	else if (action == TopMenuAction_SelectOption) | ||||
| 	{ | ||||
| 		PerformCancelVote(param); | ||||
| 		RedisplayAdminMenu(topmenu, param);	 | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| public Action:Command_CancelVote(client, args) | ||||
| { | ||||
| 	PerformCancelVote(client); | ||||
| 
 | ||||
| 	return Plugin_Handled; | ||||
| } | ||||
| 
 | ||||
| @ -54,6 +54,8 @@ | ||||
| #define ADMINMENU_PLAYERCOMMANDS		"PlayerCommands"
 | ||||
| /** Category for server commands. */ | ||||
| #define ADMINMENU_SERVERCOMMANDS		"ServerCommands"
 | ||||
| /** Category for voting commands. */ | ||||
| #define ADMINMENU_VOTINGCOMMANDS		"VotingCommands"
 | ||||
| 
 | ||||
| /** | ||||
|  * Called when the admin menu is created and 3rd party plugins can grab  | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user