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