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: }