plugins/basefuncommands.sp
author Scott Ehlert <ds@alliedmods.net>
Mon Jul 30 04:55:35 2007 +0000 (2007-07-30)
changeset 1213 130f09fae7d3
parent 1212 dd92d898ba63
child 1214 e829a7ed101e
permissions -rw-r--r--
fixed usage text for sm_play command
ferret99gt@1194
     1
/**
ferret99gt@1194
     2
 * basefuncmds.sp
ferret99gt@1194
     3
 * Implements basic punishment commands.
ferret99gt@1194
     4
 * This file is part of SourceMod, Copyright (C) 2004-2007 AlliedModders LLC
ferret99gt@1194
     5
 *
ferret99gt@1194
     6
 * This program is free software; you can redistribute it and/or
ferret99gt@1194
     7
 * modify it under the terms of the GNU General Public License
ferret99gt@1194
     8
 * as published by the Free Software Foundation; either version 2
ferret99gt@1194
     9
 * of the License, or (at your option) any later version.
ferret99gt@1194
    10
 *
ferret99gt@1194
    11
 * This program is distributed in the hope that it will be useful,
ferret99gt@1194
    12
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
ferret99gt@1194
    13
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
ferret99gt@1194
    14
 * GNU General Public License for more details.
teame06@1212
    15
 *
ferret99gt@1194
    16
 * You should have received a copy of the GNU General Public License
ferret99gt@1194
    17
 * along with this program; if not, write to the Free Software
ferret99gt@1194
    18
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
ferret99gt@1194
    19
 *
ferret99gt@1194
    20
 * Version: $Id$
ferret99gt@1194
    21
 */
ferret99gt@1194
    22
ferret99gt@1194
    23
#pragma semicolon 1
ferret99gt@1194
    24
ferret99gt@1194
    25
#include <sourcemod>
ferret99gt@1194
    26
#include <sdktools>
ferret99gt@1194
    27
teame06@1212
    28
public Plugin:myinfo =
ferret99gt@1194
    29
{
ferret99gt@1194
    30
	name = "Basic Fun Commands",
ferret99gt@1194
    31
	author = "AlliedModders LLC",
ferret99gt@1194
    32
	description = "Basic Fun Commands",
ferret99gt@1194
    33
	version = SOURCEMOD_VERSION,
ferret99gt@1194
    34
	url = "http://www.sourcemod.net/"
ferret99gt@1194
    35
};
ferret99gt@1194
    36
ferret99gt@1194
    37
public OnPluginStart()
ferret99gt@1194
    38
{
ferret99gt@1194
    39
	LoadTranslations("common.phrases");
ferret99gt@1194
    40
ferret99gt@1194
    41
	RegAdminCmd("sm_burn", Command_Burn, ADMFLAG_SLAY, "sm_burn <#userid|name> [time]");
ferret99gt@1194
    42
	RegAdminCmd("sm_slap", Command_Slap, ADMFLAG_SLAY, "sm_slap <#userid|name> [damage]");
ferret99gt@1194
    43
	RegAdminCmd("sm_slay", Command_Slay, ADMFLAG_SLAY, "sm_slay <#userid|name>");
teame06@1212
    44
	RegAdminCmd("sm_play", Command_Play, ADMFLAG_GENERIC, "sm_play <#userid|name> [filename]");
teame06@1212
    45
}
teame06@1212
    46
teame06@1212
    47
public Action:Command_Play(client, args)
teame06@1212
    48
{
teame06@1212
    49
	if(args < 2)
teame06@1212
    50
	{
ds@1213
    51
		ReplyToCommand(client, "[SM] Usage: sm_play <#userid|name> [sound]");
teame06@1212
    52
	}
teame06@1212
    53
teame06@1212
    54
	decl String:Arg[65];
teame06@1212
    55
	GetCmdArg(1, Arg, sizeof(Arg));
teame06@1212
    56
teame06@1212
    57
	new target = FindTarget(client, Arg);
teame06@1212
    58
	if (target == -1)
teame06@1212
    59
	{
teame06@1212
    60
		return Plugin_Handled;
teame06@1212
    61
	}
teame06@1212
    62
teame06@1212
    63
	decl String:SoundFile[PLATFORM_MAX_PATH];
teame06@1212
    64
	GetCmdArg(2, SoundFile, sizeof(SoundFile));
teame06@1212
    65
	GetClientName(target, Arg, sizeof(Arg));
teame06@1212
    66
teame06@1212
    67
	ShowActivity(client, "%t", "Played Sound", Arg);
teame06@1212
    68
	LogMessage("\"%L\" played sound on \"%L\" (file \"%s\")", client, target, SoundFile);
teame06@1212
    69
teame06@1212
    70
	ClientCommand(target, "playgamesound %s", SoundFile);
teame06@1212
    71
teame06@1212
    72
	return Plugin_Handled;
ferret99gt@1194
    73
}
ferret99gt@1194
    74
ferret99gt@1194
    75
public Action:Command_Burn(client, args)
ferret99gt@1194
    76
{
ferret99gt@1194
    77
	if (args < 1)
ferret99gt@1194
    78
	{
ferret99gt@1194
    79
		ReplyToCommand(client, "[SM] Usage: sm_burn <#userid|name> [time]");
ferret99gt@1194
    80
		return Plugin_Handled;
teame06@1212
    81
	}
teame06@1212
    82
ferret99gt@1194
    83
	decl String:arg[65];
teame06@1212
    84
	GetCmdArg(1, arg, sizeof(arg));
teame06@1212
    85
ferret99gt@1194
    86
	new Float:seconds = 20.0;
teame06@1212
    87
ferret99gt@1194
    88
	if (args > 1)
ferret99gt@1194
    89
	{
ferret99gt@1194
    90
		decl String:time[20];
ferret99gt@1194
    91
		GetCmdArg(2, time, sizeof(time));
ferret99gt@1194
    92
		if (StringToFloatEx(time, seconds) == 0)
ferret99gt@1194
    93
		{
ferret99gt@1194
    94
			ReplyToCommand(client, "[SM] %t", "Invalid Amount");
ferret99gt@1194
    95
			return Plugin_Handled;
teame06@1212
    96
		}
ferret99gt@1194
    97
	}
teame06@1212
    98
ferret99gt@1194
    99
	new target = FindTarget(client, arg);
ferret99gt@1194
   100
	if (target == -1)
ferret99gt@1194
   101
	{
ferret99gt@1194
   102
		return Plugin_Handled;
ferret99gt@1194
   103
	}
teame06@1212
   104
ferret99gt@1194
   105
	GetClientName(target, arg, sizeof(arg));
teame06@1212
   106
ferret99gt@1194
   107
	ShowActivity(client, "%t", "Ignited player", arg);
ferret99gt@1194
   108
	LogMessage("\"%L\" ignited \"%L\" (seconds \"%f\")", client, target, seconds);
ferret99gt@1194
   109
	IgniteEntity(target, seconds);
teame06@1212
   110
teame06@1212
   111
	return Plugin_Handled;
ferret99gt@1194
   112
}
ferret99gt@1194
   113
ferret99gt@1194
   114
public Action:Command_Slap(client, args)
ferret99gt@1194
   115
{
ferret99gt@1194
   116
	if (args < 1)
ferret99gt@1194
   117
	{
ferret99gt@1194
   118
		ReplyToCommand(client, "[SM] Usage: sm_slap <#userid|name> [damage]");
ferret99gt@1194
   119
		return Plugin_Handled;
teame06@1212
   120
	}
teame06@1212
   121
ferret99gt@1194
   122
	decl String:arg[65];
teame06@1212
   123
	GetCmdArg(1, arg, sizeof(arg));
teame06@1212
   124
ferret99gt@1194
   125
	new damage = 5;
teame06@1212
   126
ferret99gt@1194
   127
	if (args > 1)
ferret99gt@1194
   128
	{
ferret99gt@1194
   129
		decl String:arg2[20];
ferret99gt@1194
   130
		GetCmdArg(2, arg2, sizeof(arg2));
ferret99gt@1194
   131
		if (StringToIntEx(arg2, damage) == 0)
ferret99gt@1194
   132
		{
ferret99gt@1194
   133
			ReplyToCommand(client, "[SM] %t", "Invalid Amount");
ferret99gt@1194
   134
			return Plugin_Handled;
teame06@1212
   135
		}
ferret99gt@1194
   136
	}
teame06@1212
   137
ferret99gt@1194
   138
	new target = FindTarget(client, arg);
ferret99gt@1194
   139
	if (target == -1)
ferret99gt@1194
   140
	{
ferret99gt@1194
   141
		return Plugin_Handled;
ferret99gt@1194
   142
	}
teame06@1212
   143
ferret99gt@1194
   144
	GetClientName(target, arg, sizeof(arg));
teame06@1212
   145
ferret99gt@1194
   146
	ShowActivity(client, "%t", "Slapped player", arg);
ferret99gt@1194
   147
	LogMessage("\"%L\" slapped \"%L\" (damage \"%d\")", client, target, damage);
ferret99gt@1194
   148
	SlapPlayer(target, damage, true);
teame06@1212
   149
teame06@1212
   150
	return Plugin_Handled;
ferret99gt@1194
   151
}
ferret99gt@1194
   152
ferret99gt@1194
   153
public Action:Command_Slay(client, args)
ferret99gt@1194
   154
{
ferret99gt@1194
   155
	if (args < 1)
ferret99gt@1194
   156
	{
ferret99gt@1194
   157
		ReplyToCommand(client, "[SM] Usage: sm_slay <#userid|name>");
ferret99gt@1194
   158
		return Plugin_Handled;
teame06@1212
   159
	}
teame06@1212
   160
ferret99gt@1194
   161
	decl String:arg[65];
teame06@1212
   162
	GetCmdArg(1, arg, sizeof(arg));
teame06@1212
   163
ferret99gt@1194
   164
	new target = FindTarget(client, arg);
ferret99gt@1194
   165
	if (target == -1)
ferret99gt@1194
   166
	{
ferret99gt@1194
   167
		return Plugin_Handled;
ferret99gt@1194
   168
	}
teame06@1212
   169
ferret99gt@1194
   170
	GetClientName(target, arg, sizeof(arg));
teame06@1212
   171
ferret99gt@1194
   172
	ShowActivity(client, "%t", "Slayed player", arg);
ferret99gt@1194
   173
	LogMessage("\"%L\" slayed \"%L\"", client, target);
ferret99gt@1194
   174
	ForcePlayerSuicide(target);
teame06@1212
   175
teame06@1212
   176
	return Plugin_Handled;
ferret99gt@1194
   177
}