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 */ | /* Top menu objects */ | ||||||
| new TopMenuObject:obj_playercmds = INVALID_TOPMENUOBJECT; | new TopMenuObject:obj_playercmds = INVALID_TOPMENUOBJECT; | ||||||
| new TopMenuObject:obj_servercmds = 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) | public bool:AskPluginLoad(Handle:myself, bool:late, String:error[], err_max) | ||||||
| { | { | ||||||
| @ -89,6 +90,12 @@ public OnAllPluginsLoaded() | |||||||
| 		TopMenuObject_Category, | 		TopMenuObject_Category, | ||||||
| 		CategoryHandler, | 		CategoryHandler, | ||||||
| 		INVALID_TOPMENUOBJECT); | 		INVALID_TOPMENUOBJECT); | ||||||
|  | 
 | ||||||
|  | 	obj_votingcmds = AddToTopMenu(hAdminMenu, | ||||||
|  | 		"VotingCommands", | ||||||
|  | 		TopMenuObject_Category, | ||||||
|  | 		CategoryHandler, | ||||||
|  | 		INVALID_TOPMENUOBJECT); | ||||||
| 	 | 	 | ||||||
| 	Call_StartForward(hOnAdminMenuCreated); | 	Call_StartForward(hOnAdminMenuCreated); | ||||||
| 	Call_PushCell(hAdminMenu); | 	Call_PushCell(hAdminMenu); | ||||||
| @ -120,6 +127,10 @@ public CategoryHandler(Handle:topmenu, | |||||||
| 		{ | 		{ | ||||||
| 			Format(buffer, maxlength, "%T:", "Server Commands", param); | 			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) | 	else if (action == TopMenuAction_DrawOption) | ||||||
| 	{ | 	{ | ||||||
| @ -131,6 +142,10 @@ public CategoryHandler(Handle:topmenu, | |||||||
| 		{ | 		{ | ||||||
| 			Format(buffer, maxlength, "%T", "Server Commands", param); | 			Format(buffer, maxlength, "%T", "Server Commands", param); | ||||||
| 		} | 		} | ||||||
|  | 		else if (object_id == obj_votingcmds) | ||||||
|  | 		{ | ||||||
|  | 			Format(buffer, maxlength, "%T", "Voting Commands", param); | ||||||
|  | 		} | ||||||
| 		return ITEMDRAW_DEFAULT; | 		return ITEMDRAW_DEFAULT; | ||||||
| 	} | 	} | ||||||
| 	 | 	 | ||||||
|  | |||||||
| @ -50,6 +50,7 @@ new Handle:hTopMenu = INVALID_HANDLE; | |||||||
| 
 | 
 | ||||||
| #include "basecommands/kick.sp" | #include "basecommands/kick.sp" | ||||||
| #include "basecommands/reloadadmins.sp" | #include "basecommands/reloadadmins.sp" | ||||||
|  | #include "basecommands/cancelvote.sp" | ||||||
| 
 | 
 | ||||||
| public OnPluginStart() | public OnPluginStart() | ||||||
| { | { | ||||||
| @ -110,6 +111,19 @@ public OnAdminMenuReady(Handle:topmenu) | |||||||
| 			"sm_reloadadmins", | 			"sm_reloadadmins", | ||||||
| 			ADMFLAG_BAN); | 			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[]) | public OnLibraryRemoved(const String:name[]) | ||||||
| @ -415,18 +429,3 @@ public Action:Timer_ChangeMap(Handle:timer, Handle:dp) | |||||||
| 	return Plugin_Stop; | 	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"
 | #define ADMINMENU_PLAYERCOMMANDS		"PlayerCommands"
 | ||||||
| /** Category for server commands. */ | /** Category for server commands. */ | ||||||
| #define ADMINMENU_SERVERCOMMANDS		"ServerCommands"
 | #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  |  * Called when the admin menu is created and 3rd party plugins can grab  | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user