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)
|
||||||
{
|
{
|
||||||
@ -90,6 +91,12 @@ public OnAllPluginsLoaded()
|
|||||||
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);
|
||||||
Call_Finish();
|
Call_Finish();
|
||||||
@ -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