plugins/testsuite/tf2-test.sp
author Nicholas Hastings <skamonkey@gmail.com>
Tue Jan 22 23:18:27 2013 -0500 (2013-01-22)
changeset 3749 4dc3d723c490
parent 2943 1bbdb33fee53
permissions -rw-r--r--
Triggering build against new mac libprotobuf.
pred@1963
     1
#include <sourcemod>
pred@1963
     2
#include <sdktools>
pred@1963
     3
#include <tf2>
pred@1963
     4
#include <tf2_stocks>
pred@1963
     5
pred@1963
     6
public Plugin:myinfo = 
pred@1963
     7
{
pred@1963
     8
	name = "TF2 Test",
pred@1963
     9
	author = "pRED*",
pred@1963
    10
	description = "Test of Tf2 functions",
pred@1963
    11
	version = "1.0",
pred@1963
    12
	url = "www.sourcemod.net"
pred@1963
    13
}
pred@1963
    14
pred@1963
    15
public OnPluginStart()
pred@1963
    16
{
pred@1963
    17
	RegConsoleCmd("sm_burnme", Command_Burn);
pred@1963
    18
	RegConsoleCmd("sm_respawn", Command_Respawn);
pred@1963
    19
	RegConsoleCmd("sm_disguise", Command_Disguise);
pred@1963
    20
	RegConsoleCmd("sm_remdisguise", Command_RemDisguise);
pred@1963
    21
	RegConsoleCmd("sm_class", Command_Class);
pred@1963
    22
	RegConsoleCmd("sm_remove", Command_Remove);
pred@1963
    23
	RegConsoleCmd("sm_changeclass", Command_ChangeClass);
skamonkey@2939
    24
	RegConsoleCmd("sm_regenerate", Command_Regenerate);
skamonkey@2939
    25
	RegConsoleCmd("sm_uberme", Command_UberMe);
skamonkey@2939
    26
	RegConsoleCmd("sm_unuberme", Command_UnUberMe);
skamonkey@2939
    27
	RegConsoleCmd("sm_setpowerplay", Command_SetPowerPlay);
skamonkey@2943
    28
	RegConsoleCmd("sm_panic", Command_Panic);
skamonkey@2943
    29
	RegConsoleCmd("sm_bighit", Command_BigHit);
skamonkey@2943
    30
	RegConsoleCmd("sm_frighten", Command_Frighten);
pred@1963
    31
}
pred@1963
    32
pred@1963
    33
public Action:Command_Class(client, args)
pred@1963
    34
{
pred@1963
    35
	TF2_RemoveAllWeapons(client);
pred@1963
    36
	
pred@1963
    37
	PrintToChat(client, "Test: sniper's classnum is %i (should be %i)", TF2_GetClass("sniper"), TFClass_Sniper);
pred@1963
    38
		
pred@1963
    39
	return Plugin_Handled;
pred@1963
    40
}
pred@1963
    41
pred@1963
    42
public Action:Command_Remove(client, args)
pred@1963
    43
{
pred@1963
    44
	decl String:text[10];
pred@1963
    45
	GetCmdArg(1, text, sizeof(text));
pred@1963
    46
	
pred@1963
    47
	new one = StringToInt(text);
pred@1963
    48
	
pred@1963
    49
	TF2_RemoveWeaponSlot(client, one);
pred@1963
    50
	
pred@1963
    51
	PrintToChat(client, "Test: heavy's classnum is %i (should be %i)", TF2_GetClass("heavy"), TFClass_Heavy);
pred@1963
    52
	
pred@1963
    53
	new doms = TF2_GetPlayerResourceData(client, TFResource_Dominations);
pred@1963
    54
	PrintToChat(client, "Dominations read test: %i", doms);
pred@1963
    55
	
pred@1963
    56
	TF2_SetPlayerResourceData(client, TFResource_Dominations, doms + 10);
pred@1963
    57
	doms = TF2_GetPlayerResourceData(client, TFResource_Dominations);
pred@1963
    58
	PrintToChat(client, "Dominations write test: %i", doms);
pred@1963
    59
	
pred@1963
    60
	/* Note: This didn't appear to change my dominations value when I pressed tab. */
pred@1963
    61
	
pred@1963
    62
	return Plugin_Handled;
pred@1963
    63
}
pred@1963
    64
pred@1963
    65
public Action:Command_ChangeClass(client, args)
pred@1963
    66
{
pred@1963
    67
	decl String:text[10];
pred@1963
    68
	GetCmdArg(1, text, sizeof(text));
pred@1963
    69
	
pred@1963
    70
	new one = StringToInt(text);
pred@1963
    71
	
pred@1963
    72
	PrintToChat(client, "Current class is :%i", TF2_GetPlayerClass(client));
pred@1963
    73
	
pred@1963
    74
	TF2_SetPlayerClass(client, TFClassType:one);
pred@1963
    75
	
pred@1963
    76
	PrintToChat(client, "New class is :%i", TF2_GetPlayerClass(client));
pred@1963
    77
		
pred@1963
    78
	return Plugin_Handled;
pred@1963
    79
}
pred@1963
    80
pred@1963
    81
pred@1963
    82
pred@1963
    83
public Action:Command_Burn(client, args)
pred@1963
    84
{
pred@1963
    85
	if (client == 0)
pred@1963
    86
	{
pred@1963
    87
		return Plugin_Handled;
pred@1963
    88
	}
pred@1963
    89
	
pred@1963
    90
	TF2_IgnitePlayer(client, client);
pred@1963
    91
	
pred@1963
    92
	return Plugin_Handled;
pred@1963
    93
}
pred@1963
    94
pred@1963
    95
public Action:Command_Disguise(client, args)
pred@1963
    96
{
pred@1963
    97
	if (client == 0)
pred@1963
    98
	{
pred@1963
    99
		return Plugin_Handled;
pred@1963
   100
	}
pred@1963
   101
	
pred@1963
   102
	if (args < 2)
pred@1963
   103
	{
pred@1963
   104
		return Plugin_Handled;	
pred@1963
   105
	}
pred@1963
   106
	
pred@1963
   107
	decl String:text[10];
pred@1963
   108
	decl String:text2[10];
pred@1963
   109
	GetCmdArg(1, text, sizeof(text));
pred@1963
   110
	GetCmdArg(2, text2, sizeof(text2));
pred@1963
   111
	
pred@1963
   112
	new one = StringToInt(text);
pred@1963
   113
	new two = StringToInt(text2);
pred@1963
   114
pred@1963
   115
	TF2_DisguisePlayer(client, TFTeam:one, TFClassType:two);
pred@1963
   116
	
pred@1963
   117
	return Plugin_Handled;
pred@1963
   118
}
pred@1963
   119
pred@1963
   120
public Action:Command_RemDisguise(client, args)
pred@1963
   121
{
pred@1963
   122
	if (client == 0)
pred@1963
   123
	{
pred@1963
   124
		return Plugin_Handled;
pred@1963
   125
	}
pred@1963
   126
	
pred@1963
   127
	TF2_RemovePlayerDisguise(client);
pred@1963
   128
	
pred@1963
   129
	return Plugin_Handled;
pred@1963
   130
}
pred@1963
   131
pred@1963
   132
pred@1963
   133
public Action:Command_Respawn(client, args)
pred@1963
   134
{
pred@1963
   135
	if (client == 0)
pred@1963
   136
	{
pred@1963
   137
		return Plugin_Handled;
pred@1963
   138
	}
pred@1963
   139
	
pred@1963
   140
pred@1963
   141
	TF2_RespawnPlayer(client);
pred@1963
   142
	
pred@1963
   143
	return Plugin_Handled;
pred@1963
   144
}
skamonkey@2939
   145
skamonkey@2939
   146
public Action:Command_Regenerate(client, args)
skamonkey@2939
   147
{
skamonkey@2939
   148
	if (client == 0)
skamonkey@2939
   149
	{
skamonkey@2939
   150
		return Plugin_Handled;
skamonkey@2939
   151
	}
skamonkey@2939
   152
	
skamonkey@2939
   153
	TF2_RegeneratePlayer(client);
skamonkey@2939
   154
	
skamonkey@2939
   155
	return Plugin_Handled;
skamonkey@2939
   156
}
skamonkey@2939
   157
skamonkey@2939
   158
public Action:Command_UberMe(client, args)
skamonkey@2939
   159
{
skamonkey@2939
   160
	if (client == 0)
skamonkey@2939
   161
	{
skamonkey@2939
   162
		return Plugin_Handled;
skamonkey@2939
   163
	}
skamonkey@2939
   164
	
skamonkey@2939
   165
	if (args < 1)
skamonkey@2939
   166
	{
skamonkey@2939
   167
		return Plugin_Handled;
skamonkey@2939
   168
	}
skamonkey@2939
   169
	
skamonkey@2939
   170
	decl String:text[10];
skamonkey@2939
   171
	GetCmdArg(1, text, sizeof(text));
skamonkey@2939
   172
	
skamonkey@2939
   173
	new Float:one = StringToFloat(text);
skamonkey@2939
   174
	
skamonkey@2939
   175
	TF2_AddCondition(client, TFCond_Ubercharged, one);
skamonkey@2939
   176
	
skamonkey@2939
   177
	return Plugin_Handled;
skamonkey@2939
   178
}
skamonkey@2939
   179
skamonkey@2939
   180
public Action:Command_UnUberMe(client, args)
skamonkey@2939
   181
{
skamonkey@2939
   182
	if (client == 0)
skamonkey@2939
   183
	{
skamonkey@2939
   184
		return Plugin_Handled;
skamonkey@2939
   185
	}
skamonkey@2939
   186
	
skamonkey@2939
   187
	TF2_RemoveCondition(client, TFCond_Ubercharged);
skamonkey@2939
   188
	
skamonkey@2939
   189
	return Plugin_Handled;
skamonkey@2939
   190
}
skamonkey@2939
   191
skamonkey@2939
   192
public Action:Command_SetPowerPlay(client, args)
skamonkey@2939
   193
{
skamonkey@2939
   194
	if (client == 0)
skamonkey@2939
   195
	{
skamonkey@2939
   196
		return Plugin_Handled;
skamonkey@2939
   197
	}
skamonkey@2939
   198
	
skamonkey@2939
   199
	if (args < 1)
skamonkey@2939
   200
	{
skamonkey@2939
   201
		return Plugin_Handled;
skamonkey@2939
   202
	}
skamonkey@2939
   203
	
skamonkey@2939
   204
	decl String:text[10];
skamonkey@2939
   205
	GetCmdArg(1, text, sizeof(text));
skamonkey@2939
   206
	
skamonkey@2939
   207
	new bool:one = bool:StringToInt(text);
skamonkey@2939
   208
	
skamonkey@2939
   209
	TF2_SetPlayerPowerPlay(client, one);
skamonkey@2939
   210
	
skamonkey@2939
   211
	return Plugin_Handled;
skamonkey@2943
   212
}
skamonkey@2943
   213
skamonkey@2943
   214
public Action:Command_Panic(client, args)
skamonkey@2943
   215
{
skamonkey@2943
   216
	if (client == 0)
skamonkey@2943
   217
	{
skamonkey@2943
   218
		return Plugin_Handled;
skamonkey@2943
   219
	}
skamonkey@2943
   220
	
skamonkey@2943
   221
	TF2_StunPlayer(client, 15.0, 0.25, TF_STUNFLAGS_LOSERSTATE);
skamonkey@2943
   222
	
skamonkey@2943
   223
	return Plugin_Handled;
skamonkey@2943
   224
}
skamonkey@2943
   225
skamonkey@2943
   226
public Action:Command_BigHit(client, args)
skamonkey@2943
   227
{
skamonkey@2943
   228
	if (client == 0)
skamonkey@2943
   229
	{
skamonkey@2943
   230
		return Plugin_Handled;
skamonkey@2943
   231
	}
skamonkey@2943
   232
	
skamonkey@2943
   233
	TF2_StunPlayer(client, 5.0, _, TF_STUNFLAGS_BIGBONK, client);
skamonkey@2943
   234
	
skamonkey@2943
   235
	return Plugin_Handled;
skamonkey@2943
   236
}
skamonkey@2943
   237
skamonkey@2943
   238
public Action:Command_Frighten(client, args)
skamonkey@2943
   239
{
skamonkey@2943
   240
	if (client == 0)
skamonkey@2943
   241
	{
skamonkey@2943
   242
		return Plugin_Handled;
skamonkey@2943
   243
	}
skamonkey@2943
   244
	
skamonkey@2943
   245
	TF2_StunPlayer(client, 5.0, _, TF_STUNFLAGS_GHOSTSCARE);
skamonkey@2943
   246
	
skamonkey@2943
   247
	return Plugin_Handled;
skamonkey@2939
   248
}