ferret99gt@1801: /**
ferret99gt@1801: * vim: set ts=4 :
ferret99gt@1801: * =============================================================================
rbutler14@2482: * SourceMod Player Commands Plugin
ferret99gt@1801: * Implements slap and slay commands
ferret99gt@1801: *
ds@1947: * SourceMod (C)2004-2008 AlliedModders LLC. All rights reserved.
ferret99gt@1801: * =============================================================================
ferret99gt@1801: *
ferret99gt@1801: * This program is free software; you can redistribute it and/or modify it under
ferret99gt@1801: * the terms of the GNU General Public License, version 3.0, as published by the
ferret99gt@1801: * Free Software Foundation.
ferret99gt@1801: *
ferret99gt@1801: * This program is distributed in the hope that it will be useful, but WITHOUT
ferret99gt@1801: * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
ferret99gt@1801: * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
ferret99gt@1801: * details.
ferret99gt@1801: *
ferret99gt@1801: * You should have received a copy of the GNU General Public License along with
ferret99gt@1801: * this program. If not, see .
ferret99gt@1801: *
ferret99gt@1801: * As a special exception, AlliedModders LLC gives you permission to link the
ferret99gt@1801: * code of this program (as well as its derivative works) to "Half-Life 2," the
ferret99gt@1801: * "Source Engine," the "SourcePawn JIT," and any Game MODs that run on software
ferret99gt@1801: * by the Valve Corporation. You must obey the GNU General Public License in
ferret99gt@1801: * all respects for all other code used. Additionally, AlliedModders LLC grants
ferret99gt@1801: * this exception to all derivative works. AlliedModders LLC defines further
ferret99gt@1801: * exceptions, found in LICENSE.txt (as of this writing, version JULY-31-2007),
ferret99gt@1801: * or .
ferret99gt@1801: *
ferret99gt@1801: * Version: $Id$
ferret99gt@1801: */
ferret99gt@1801:
ferret99gt@1801: #pragma semicolon 1
ferret99gt@1801:
ferret99gt@1801: #include
ferret99gt@1801: #include
ferret99gt@1801: #undef REQUIRE_PLUGIN
ferret99gt@1801: #include
ferret99gt@1801:
ferret99gt@1801: public Plugin:myinfo =
ferret99gt@1801: {
rbutler14@2482: name = "Player Commands",
ferret99gt@1801: author = "AlliedModders LLC",
rbutler14@2482: description = "Misc. Player Commands",
ferret99gt@1801: version = SOURCEMOD_VERSION,
ferret99gt@1801: url = "http://www.sourcemod.net/"
ferret99gt@1801: };
ferret99gt@1801:
ferret99gt@1801: new Handle:hTopMenu = INVALID_HANDLE;
ferret99gt@1801:
rbutler14@2680: /* Used to get the SDK / Engine version. */
rbutler14@2662: /* This is used in sm_rename and sm_changeteam */
skamonkey@3961: new EngineVersion:g_ModVersion = Engine_Unknown;
rbutler14@2680:
dvander@1803: #include "playercommands/slay.sp"
dvander@1803: #include "playercommands/slap.sp"
rbutler14@2482: #include "playercommands/rename.sp"
ferret99gt@1801:
ferret99gt@1801: public OnPluginStart()
ferret99gt@1801: {
ferret99gt@1801: LoadTranslations("common.phrases");
dvander@2563: LoadTranslations("playercommands.phrases");
ferret99gt@1801:
ferret99gt@1801: RegAdminCmd("sm_slap", Command_Slap, ADMFLAG_SLAY, "sm_slap <#userid|name> [damage]");
ferret99gt@1801: RegAdminCmd("sm_slay", Command_Slay, ADMFLAG_SLAY, "sm_slay <#userid|name>");
rbutler14@2482: RegAdminCmd("sm_rename", Command_Rename, ADMFLAG_SLAY, "sm_rename <#userid|name>");
rbutler14@2662:
skamonkey@3961: g_ModVersion = GetEngineVersion();
ferret99gt@1801:
ferret99gt@1801: /* Account for late loading */
ferret99gt@1801: new Handle:topmenu;
ferret99gt@1801: if (LibraryExists("adminmenu") && ((topmenu = GetAdminTopMenu()) != INVALID_HANDLE))
ferret99gt@1801: {
ferret99gt@1801: OnAdminMenuReady(topmenu);
ferret99gt@1801: }
ferret99gt@1801: }
ferret99gt@1801:
ferret99gt@1801: public OnAdminMenuReady(Handle:topmenu)
ferret99gt@1801: {
ferret99gt@1801: /* Block us from being called twice */
ferret99gt@1801: if (topmenu == hTopMenu)
ferret99gt@1801: {
ferret99gt@1801: return;
ferret99gt@1801: }
ferret99gt@1801:
ferret99gt@1801: /* Save the Handle */
ferret99gt@1801: hTopMenu = topmenu;
ferret99gt@1801:
ferret99gt@1801: /* Find the "Player Commands" category */
ferret99gt@1801: new TopMenuObject:player_commands = FindTopMenuCategory(hTopMenu, ADMINMENU_PLAYERCOMMANDS);
ferret99gt@1801:
ferret99gt@1801: if (player_commands != INVALID_TOPMENUOBJECT)
ferret99gt@1801: {
ferret99gt@1801: AddToTopMenu(hTopMenu,
ferret99gt@1801: "sm_slay",
ferret99gt@1801: TopMenuObject_Item,
ferret99gt@1801: AdminMenu_Slay,
ferret99gt@1801: player_commands,
ferret99gt@1801: "sm_slay",
ferret99gt@1801: ADMFLAG_SLAY);
ferret99gt@1801:
ferret99gt@1801: AddToTopMenu(hTopMenu,
ferret99gt@1801: "sm_slap",
ferret99gt@1801: TopMenuObject_Item,
ferret99gt@1801: AdminMenu_Slap,
ferret99gt@1801: player_commands,
ferret99gt@1801: "sm_slap",
rbutler14@2482: ADMFLAG_SLAY);
rbutler14@2482:
rbutler14@2482: AddToTopMenu(hTopMenu,
rbutler14@2482: "sm_rename",
rbutler14@2482: TopMenuObject_Item,
rbutler14@2482: AdminMenu_Rename,
rbutler14@2482: player_commands,
rbutler14@2482: "sm_rename",
rbutler14@2482: ADMFLAG_SLAY);
ferret99gt@1801: }
rbutler14@2482: }