diff -r 7602d7fb60d9 -r 026da5437111 plugins/playercommands/slay.sp
--- a/plugins/playercommands/slay.sp Fri Jul 11 06:51:21 2008 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,159 +0,0 @@
-/**
- * vim: set ts=4 :
- * =============================================================================
- * SourceMod Basefuncommands Plugin
- * Provides slay functionality
- *
- * SourceMod (C)2004-2008 AlliedModders LLC. All rights reserved.
- * =============================================================================
- *
- * This program is free software; you can redistribute it and/or modify it under
- * the terms of the GNU General Public License, version 3.0, as published by the
- * Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
- * details.
- *
- * You should have received a copy of the GNU General Public License along with
- * this program. If not, see .
- *
- * As a special exception, AlliedModders LLC gives you permission to link the
- * code of this program (as well as its derivative works) to "Half-Life 2," the
- * "Source Engine," the "SourcePawn JIT," and any Game MODs that run on software
- * by the Valve Corporation. You must obey the GNU General Public License in
- * all respects for all other code used. Additionally, AlliedModders LLC grants
- * this exception to all derivative works. AlliedModders LLC defines further
- * exceptions, found in LICENSE.txt (as of this writing, version JULY-31-2007),
- * or .
- *
- * Version: $Id$
- */
-
-PerformSlay(client, target)
-{
- LogAction(client, target, "\"%L\" slayed \"%L\"", client, target);
- ForcePlayerSuicide(target);
-}
-
-DisplaySlayMenu(client)
-{
- new Handle:menu = CreateMenu(MenuHandler_Slay);
-
- decl String:title[100];
- Format(title, sizeof(title), "%T:", "Slay player", client);
- SetMenuTitle(menu, title);
- SetMenuExitBackButton(menu, true);
-
- AddTargetsToMenu(menu, client, true, true);
-
- DisplayMenu(menu, client, MENU_TIME_FOREVER);
-}
-
-public AdminMenu_Slay(Handle:topmenu,
- TopMenuAction:action,
- TopMenuObject:object_id,
- param,
- String:buffer[],
- maxlength)
-{
- if (action == TopMenuAction_DisplayOption)
- {
- Format(buffer, maxlength, "%T", "Slay player", param);
- }
- else if (action == TopMenuAction_SelectOption)
- {
- DisplaySlayMenu(param);
- }
-}
-
-public MenuHandler_Slay(Handle:menu, MenuAction:action, param1, param2)
-{
- if (action == MenuAction_End)
- {
- CloseHandle(menu);
- }
- else if (action == MenuAction_Cancel)
- {
- if (param2 == MenuCancel_ExitBack && hTopMenu != INVALID_HANDLE)
- {
- DisplayTopMenu(hTopMenu, param1, TopMenuPosition_LastCategory);
- }
- }
- else if (action == MenuAction_Select)
- {
- decl String:info[32];
- new userid, target;
-
- GetMenuItem(menu, param2, info, sizeof(info));
- userid = StringToInt(info);
-
- if ((target = GetClientOfUserId(userid)) == 0)
- {
- PrintToChat(param1, "[SM] %t", "Player no longer available");
- }
- else if (!CanUserTarget(param1, target))
- {
- PrintToChat(param1, "[SM] %t", "Unable to target");
- }
- else if (!IsPlayerAlive(target))
- {
- ReplyToCommand(param1, "[SM] %t", "Player has since died");
- }
- else
- {
- decl String:name[32];
- GetClientName(target, name, sizeof(name));
- PerformSlay(param1, target);
- ShowActivity2(param1, "[SM] ", "%t", "Slayed target", "_s", name);
- }
-
- DisplaySlayMenu(param1);
- }
-}
-
-public Action:Command_Slay(client, args)
-{
- if (args < 1)
- {
- ReplyToCommand(client, "[SM] Usage: sm_slay <#userid|name>");
- return Plugin_Handled;
- }
-
- decl String:arg[65];
- GetCmdArg(1, arg, sizeof(arg));
-
- decl String:target_name[MAX_TARGET_LENGTH];
- decl target_list[MAXPLAYERS], target_count, bool:tn_is_ml;
-
- if ((target_count = ProcessTargetString(
- arg,
- client,
- target_list,
- MAXPLAYERS,
- COMMAND_FILTER_ALIVE,
- target_name,
- sizeof(target_name),
- tn_is_ml)) <= 0)
- {
- ReplyToTargetError(client, target_count);
- return Plugin_Handled;
- }
-
- for (new i = 0; i < target_count; i++)
- {
- PerformSlay(client, target_list[i]);
- }
-
- if (tn_is_ml)
- {
- ShowActivity2(client, "[SM] ", "%t", "Slayed target", target_name);
- }
- else
- {
- ShowActivity2(client, "[SM] ", "%t", "Slayed target", "_s", target_name);
- }
-
- return Plugin_Handled;
-}