Updated compiler and includes to version 1.3.4.
This commit is contained in:
		
							
								
								
									
										2
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								Makefile
									
									
									
									
									
								
							@@ -3,7 +3,7 @@
 | 
				
			|||||||
SOURCEDIR=src
 | 
					SOURCEDIR=src
 | 
				
			||||||
SMINCLUDES=env/include
 | 
					SMINCLUDES=env/include
 | 
				
			||||||
BUILDDIR=build
 | 
					BUILDDIR=build
 | 
				
			||||||
SPCOMP=env/linux/bin/spcomp
 | 
					SPCOMP=env/linux/bin/spcomp-1.3.4
 | 
				
			||||||
VERSIONDUMP=./updateversion.sh
 | 
					VERSIONDUMP=./updateversion.sh
 | 
				
			||||||
 | 
					
 | 
				
			||||||
vpath %.sp $(SOURCEDIR)
 | 
					vpath %.sp $(SOURCEDIR)
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -3,7 +3,7 @@
 | 
				
			|||||||
set SOURCEDIR=src
 | 
					set SOURCEDIR=src
 | 
				
			||||||
set SMINCLUDES=env\include
 | 
					set SMINCLUDES=env\include
 | 
				
			||||||
set BUILDDIR=build
 | 
					set BUILDDIR=build
 | 
				
			||||||
set SPCOMP=env\win32\bin\spcomp.exe
 | 
					set SPCOMP=env\win32\bin\spcomp-1.3.4.exe
 | 
				
			||||||
set VERSIONDUMP=updateversion.bat
 | 
					set VERSIONDUMP=updateversion.bat
 | 
				
			||||||
 | 
					
 | 
				
			||||||
:: Dump version and revision information first.
 | 
					:: Dump version and revision information first.
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										9
									
								
								env/include/admin.inc
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										9
									
								
								env/include/admin.inc
									
									
									
									
										vendored
									
									
								
							@@ -516,6 +516,15 @@ native bool:FindFlagByName(const String:name[], &AdminFlag:flag);
 | 
				
			|||||||
 */
 | 
					 */
 | 
				
			||||||
native bool:FindFlagByChar(c, &AdminFlag:flag);
 | 
					native bool:FindFlagByChar(c, &AdminFlag:flag);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * Finds a flag char by a gived admin flag.
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * @param flag                 Flag to look up.
 | 
				
			||||||
 | 
					 * @param c                    Variable to store flag char.
 | 
				
			||||||
 | 
					 * @return                     True on success, false if not found.
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					native bool:FindFlagChar(AdminFlag:flag, &c);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * Converts a string of flag characters to a bit string.
 | 
					 * Converts a string of flag characters to a bit string.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										5
									
								
								env/include/adminmenu.inc
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										5
									
								
								env/include/adminmenu.inc
									
									
									
									
										vendored
									
									
								
							@@ -38,8 +38,9 @@
 | 
				
			|||||||
/* Decide whether topmenus should be required */
 | 
					/* Decide whether topmenus should be required */
 | 
				
			||||||
#if !defined REQUIRE_PLUGIN
 | 
					#if !defined REQUIRE_PLUGIN
 | 
				
			||||||
 #if defined REQUIRE_EXTENSIONS
 | 
					 #if defined REQUIRE_EXTENSIONS
 | 
				
			||||||
 #define TEMP_REQUIRE_EXTENSIONS
 | 
					  #define TEMP_REQUIRE_EXTENSIONS
 | 
				
			||||||
 #undef REQUIRE_EXTENSIONS
 | 
					  #undef REQUIRE_EXTENSIONS
 | 
				
			||||||
 | 
					 #endif
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <topmenus>
 | 
					#include <topmenus>
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										2
									
								
								env/include/adt_array.inc
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								env/include/adt_array.inc
									
									
									
									
										vendored
									
									
								
							@@ -199,7 +199,7 @@ native GetArrayArray(Handle:array, index, any:buffer[], size=-1);
 | 
				
			|||||||
 * @noreturn
 | 
					 * @noreturn
 | 
				
			||||||
 * @error				Invalid Handle, invalid index, or invalid block.
 | 
					 * @error				Invalid Handle, invalid index, or invalid block.
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
native any:SetArrayCell(Handle:array, index, any:value, block=0, bool:asChar=false);
 | 
					native SetArrayCell(Handle:array, index, any:value, block=0, bool:asChar=false);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * Sets a string value in an array.
 | 
					 * Sets a string value in an array.
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										18
									
								
								env/include/clientprefs.inc
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										18
									
								
								env/include/clientprefs.inc
									
									
									
									
										vendored
									
									
								
							@@ -85,10 +85,14 @@ enum CookieMenuAction
 | 
				
			|||||||
/**
 | 
					/**
 | 
				
			||||||
 * Creates a new Client preference cookie.
 | 
					 * Creates a new Client preference cookie.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 | 
					 * Handles returned by RegClientCookie can be closed via CloseHandle() when
 | 
				
			||||||
 | 
					 * no longer needed.
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 * @param name			Name of the new preference cookie.
 | 
					 * @param name			Name of the new preference cookie.
 | 
				
			||||||
 * @param description	Optional description of the preference cookie.
 | 
					 * @param description	Optional description of the preference cookie.
 | 
				
			||||||
 * @param access		What CookieAccess level to assign to this cookie.
 | 
					 * @param access		What CookieAccess level to assign to this cookie.
 | 
				
			||||||
 * @return				A handle to the newly created cookie. If the cookie already exists, a handle to it will still be returned.
 | 
					 * @return				A handle to the newly created cookie. If the cookie already
 | 
				
			||||||
 | 
					 *                      exists, a handle to it will still be returned.
 | 
				
			||||||
 * @error				Cookie name is blank.
 | 
					 * @error				Cookie name is blank.
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
native Handle:RegClientCookie(const String:name[], const String:description[], CookieAccess:access);
 | 
					native Handle:RegClientCookie(const String:name[], const String:description[], CookieAccess:access);
 | 
				
			||||||
@@ -96,6 +100,9 @@ native Handle:RegClientCookie(const String:name[], const String:description[], C
 | 
				
			|||||||
/**
 | 
					/**
 | 
				
			||||||
 * Searches for a Client preference cookie.
 | 
					 * Searches for a Client preference cookie.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 | 
					 * Handles returned by FindClientCookie can be closed via CloseHandle() when
 | 
				
			||||||
 | 
					 * no longer needed.
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 * @param name			Name of cookie to find.
 | 
					 * @param name			Name of cookie to find.
 | 
				
			||||||
 * @return				A handle to the cookie if it is found. INVALID_HANDLE otherwise.
 | 
					 * @return				A handle to the cookie if it is found. INVALID_HANDLE otherwise.
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
@@ -222,6 +229,15 @@ native bool:ReadCookieIterator(Handle:iter,
 | 
				
			|||||||
 */
 | 
					 */
 | 
				
			||||||
native CookieAccess:GetCookieAccess(Handle:cookie);
 | 
					native CookieAccess:GetCookieAccess(Handle:cookie);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * Returns the last updated timestamp for a client cookie
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * @param client		Client index.
 | 
				
			||||||
 | 
					 * @param cookie		Cookie handle.
 | 
				
			||||||
 | 
					 * @return			Last updated timestamp.
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					native GetClientCookieTime(client, Handle:cookie);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * Do not edit below this line!
 | 
					 * Do not edit below this line!
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										16
									
								
								env/include/clients.inc
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										16
									
								
								env/include/clients.inc
									
									
									
									
										vendored
									
									
								
							@@ -117,6 +117,9 @@ forward OnClientDisconnect_Post(client);
 | 
				
			|||||||
/**
 | 
					/**
 | 
				
			||||||
 * Called when a client is sending a command.
 | 
					 * Called when a client is sending a command.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 | 
					 * As of SourceMod 1.3, the client is guaranteed to be in-game.
 | 
				
			||||||
 | 
					 * Use command listeners (console.inc) for more advanced hooks.
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 * @param client		Client index.
 | 
					 * @param client		Client index.
 | 
				
			||||||
 * @param args			Number of arguments.
 | 
					 * @param args			Number of arguments.
 | 
				
			||||||
 * @noreturn
 | 
					 * @noreturn
 | 
				
			||||||
@@ -133,9 +136,8 @@ forward OnClientSettingsChanged(client);
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * Called when a client receives a Steam ID.  The state of a client's 
 | 
					 * Called when a client receives a Steam ID.  The state of a client's 
 | 
				
			||||||
 * authorization via Steam or as an admin is not guaranteed here.  
 | 
					 * authorization as an admin is not guaranteed here.  Use 
 | 
				
			||||||
 * Use OnClientAuthorized() or OnClientPostAdminCheck() for those, 
 | 
					 * OnClientPostAdminCheck() if you need a client's admin status.
 | 
				
			||||||
 * respectively.
 | 
					 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This is called by bots, but the ID will be "BOT".
 | 
					 * This is called by bots, but the ID will be "BOT".
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
@@ -599,7 +601,7 @@ native Float:GetClientTime(client);
 | 
				
			|||||||
 *
 | 
					 *
 | 
				
			||||||
 * @param client		Player's index.
 | 
					 * @param client		Player's index.
 | 
				
			||||||
 * @param flow			Traffic flowing direction.
 | 
					 * @param flow			Traffic flowing direction.
 | 
				
			||||||
 * @return				Latency.
 | 
					 * @return				Latency, or -1 if network info is not available.
 | 
				
			||||||
 * @error				Invalid client index, client not in game, or fake client.
 | 
					 * @error				Invalid client index, client not in game, or fake client.
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
native Float:GetClientLatency(client, NetFlow:flow);
 | 
					native Float:GetClientLatency(client, NetFlow:flow);
 | 
				
			||||||
@@ -609,7 +611,7 @@ native Float:GetClientLatency(client, NetFlow:flow);
 | 
				
			|||||||
 *
 | 
					 *
 | 
				
			||||||
 * @param client		Player's index.
 | 
					 * @param client		Player's index.
 | 
				
			||||||
 * @param flow			Traffic flowing direction.
 | 
					 * @param flow			Traffic flowing direction.
 | 
				
			||||||
 * @return				Average latency.
 | 
					 * @return				Latency, or -1 if network info is not available.
 | 
				
			||||||
 * @error				Invalid client index, client not in game, or fake client.
 | 
					 * @error				Invalid client index, client not in game, or fake client.
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
native Float:GetClientAvgLatency(client, NetFlow:flow);
 | 
					native Float:GetClientAvgLatency(client, NetFlow:flow);
 | 
				
			||||||
@@ -619,7 +621,7 @@ native Float:GetClientAvgLatency(client, NetFlow:flow);
 | 
				
			|||||||
 *
 | 
					 *
 | 
				
			||||||
 * @param client		Player's index.
 | 
					 * @param client		Player's index.
 | 
				
			||||||
 * @param flow			Traffic flowing direction.
 | 
					 * @param flow			Traffic flowing direction.
 | 
				
			||||||
 * @return				Average packet loss.
 | 
					 * @return				Average packet loss, or -1 if network info is not available.
 | 
				
			||||||
 * @error				Invalid client index, client not in game, or fake client.
 | 
					 * @error				Invalid client index, client not in game, or fake client.
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
native Float:GetClientAvgLoss(client, NetFlow:flow);
 | 
					native Float:GetClientAvgLoss(client, NetFlow:flow);
 | 
				
			||||||
@@ -629,7 +631,7 @@ native Float:GetClientAvgLoss(client, NetFlow:flow);
 | 
				
			|||||||
 *
 | 
					 *
 | 
				
			||||||
 * @param client		Player's index.
 | 
					 * @param client		Player's index.
 | 
				
			||||||
 * @param flow			Traffic flowing direction.
 | 
					 * @param flow			Traffic flowing direction.
 | 
				
			||||||
 * @return				Average packet choke.
 | 
					 * @return				Average packet loss, or -1 if network info is not available.
 | 
				
			||||||
 * @error				Invalid client index, client not in game, or fake client.
 | 
					 * @error				Invalid client index, client not in game, or fake client.
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
native Float:GetClientAvgChoke(client, NetFlow:flow);
 | 
					native Float:GetClientAvgChoke(client, NetFlow:flow);
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										98
									
								
								env/include/console.inc
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										98
									
								
								env/include/console.inc
									
									
									
									
										vendored
									
									
								
							@@ -473,9 +473,8 @@ native bool:GetConVarBool(Handle:convar);
 | 
				
			|||||||
/**
 | 
					/**
 | 
				
			||||||
 * Sets the boolean value of a console variable.
 | 
					 * Sets the boolean value of a console variable.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Note: The replicate and notify params are ignored on the engines for Episode 2/Orange Box
 | 
					 * Note: The replicate and notify params are only relevant for the original, Dark Messiah, and
 | 
				
			||||||
 * and Left 4 Dead. These engines automatically replicates and notifies as soon as the convar
 | 
					 * Episode 1 engines. Newer engines automatically do these things when the convar value is changed.
 | 
				
			||||||
 * is changed.
 | 
					 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * @param convar		Handle to the convar.
 | 
					 * @param convar		Handle to the convar.
 | 
				
			||||||
 * @param value			New boolean value.
 | 
					 * @param value			New boolean value.
 | 
				
			||||||
@@ -501,9 +500,8 @@ native GetConVarInt(Handle:convar);
 | 
				
			|||||||
/**
 | 
					/**
 | 
				
			||||||
 * Sets the integer value of a console variable.
 | 
					 * Sets the integer value of a console variable.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Note: The replicate and notify params are ignored on the engines for Episode 2/Orange Box
 | 
					 * Note: The replicate and notify params are only relevant for the original, Dark Messiah, and
 | 
				
			||||||
 * and Left 4 Dead. These engines automatically replicates and notifies as soon as the convar
 | 
					 * Episode 1 engines. Newer engines automatically do these things when the convar value is changed.
 | 
				
			||||||
 * is changed.
 | 
					 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * @param convar		Handle to the convar.
 | 
					 * @param convar		Handle to the convar.
 | 
				
			||||||
 * @param value			New integer value.
 | 
					 * @param value			New integer value.
 | 
				
			||||||
@@ -529,9 +527,8 @@ native Float:GetConVarFloat(Handle:convar);
 | 
				
			|||||||
/**
 | 
					/**
 | 
				
			||||||
 * Sets the floating point value of a console variable.
 | 
					 * Sets the floating point value of a console variable.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Note: The replicate and notify params are ignored on the engines for Episode 2/Orange Box
 | 
					 * Note: The replicate and notify params are only relevant for the original, Dark Messiah, and
 | 
				
			||||||
 * and Left 4 Dead. These engines automatically replicates and notifies as soon as the convar
 | 
					 * Episode 1 engines. Newer engines automatically do these things when the convar value is changed.
 | 
				
			||||||
 * is changed.
 | 
					 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * @param convar		Handle to the convar.
 | 
					 * @param convar		Handle to the convar.
 | 
				
			||||||
 * @param value			New floating point value.
 | 
					 * @param value			New floating point value.
 | 
				
			||||||
@@ -559,9 +556,8 @@ native GetConVarString(Handle:convar, String:value[], maxlength);
 | 
				
			|||||||
/**
 | 
					/**
 | 
				
			||||||
 * Sets the string value of a console variable.
 | 
					 * Sets the string value of a console variable.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Note: The replicate and notify params are ignored on the engines for Episode 2/Orange Box
 | 
					 * Note: The replicate and notify params are only relevant for the original, Dark Messiah, and
 | 
				
			||||||
 * and Left 4 Dead. These engines automatically replicates and notifies as soon as the convar
 | 
					 * Episode 1 engines. Newer engines automatically do these things when the convar value is changed.
 | 
				
			||||||
 * is changed.
 | 
					 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * @param convar		Handle to the convar.
 | 
					 * @param convar		Handle to the convar.
 | 
				
			||||||
 * @param value			New string value.
 | 
					 * @param value			New string value.
 | 
				
			||||||
@@ -578,9 +574,8 @@ native SetConVarString(Handle:convar, const String:value[], bool:replicate=false
 | 
				
			|||||||
/**
 | 
					/**
 | 
				
			||||||
 * Resets the console variable to its default value.
 | 
					 * Resets the console variable to its default value.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Note: The replicate and notify params are ignored on the engines for Episode 2/Orange Box
 | 
					 * Note: The replicate and notify params are only relevant for the original, Dark Messiah, and
 | 
				
			||||||
 * and Left 4 Dead. These engines automatically replicates and notifies as soon as the convar
 | 
					 * Episode 1 engines. Newer engines automatically do these things when the convar value is changed.
 | 
				
			||||||
 * is changed.
 | 
					 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * @param convar		Handle to the convar.
 | 
					 * @param convar		Handle to the convar.
 | 
				
			||||||
 * @param replicate		If set to true, the new convar value will be set on all clients.
 | 
					 * @param replicate		If set to true, the new convar value will be set on all clients.
 | 
				
			||||||
@@ -593,6 +588,17 @@ native SetConVarString(Handle:convar, const String:value[], bool:replicate=false
 | 
				
			|||||||
 */
 | 
					 */
 | 
				
			||||||
native ResetConVar(Handle:convar, bool:replicate=false, bool:notify=false);
 | 
					native ResetConVar(Handle:convar, bool:replicate=false, bool:notify=false);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * Retrieves the default string value of a console variable.
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * @param convar		Handle to the convar.
 | 
				
			||||||
 | 
					 * @param value			Buffer to store the default value of the convar.
 | 
				
			||||||
 | 
					 * @param maxlength		Maximum length of string buffer.
 | 
				
			||||||
 | 
					 * @return				Number of bytes written to the buffer (UTF-8 safe).
 | 
				
			||||||
 | 
					 * @error				Invalid or corrupt Handle.
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					native GetConVarDefault(Handle:convar, String:value[], maxlength);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * Returns the bitstring of flags on a console variable.
 | 
					 * Returns the bitstring of flags on a console variable.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
@@ -639,12 +645,12 @@ native SetConVarBounds(Handle:convar, ConVarBounds:type, bool:set, Float:value=0
 | 
				
			|||||||
 * Retrieves the name of a console variable.
 | 
					 * Retrieves the name of a console variable.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * @param convar		Handle to the convar.
 | 
					 * @param convar		Handle to the convar.
 | 
				
			||||||
 * @param value			Buffer to store the name of the convar.
 | 
					 * @param name			Buffer to store the name of the convar.
 | 
				
			||||||
 * @param maxlength		Maximum length of string buffer.
 | 
					 * @param maxlength		Maximum length of string buffer.
 | 
				
			||||||
 * @noreturn
 | 
					 * @noreturn
 | 
				
			||||||
 * @error				Invalid or corrupt Handle.     
 | 
					 * @error				Invalid or corrupt Handle.     
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
native GetConVarName(Handle:convar, const String:name[], maxlength);
 | 
					native GetConVarName(Handle:convar, String:name[], maxlength);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
funcenum ConVarQueryFinished
 | 
					funcenum ConVarQueryFinished
 | 
				
			||||||
{	
 | 
					{	
 | 
				
			||||||
@@ -835,3 +841,61 @@ native AddServerTag(const String:tag[]);
 | 
				
			|||||||
 * @noreturn
 | 
					 * @noreturn
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
native RemoveServerTag(const String:tag[]);
 | 
					native RemoveServerTag(const String:tag[]);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * Callback for command listeners. This is invoked whenever any command
 | 
				
			||||||
 | 
					 * reaches the server, from the server console itself or a player.
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * Clients may be in the process of connecting when they are executing commands
 | 
				
			||||||
 | 
					 * IsClientConnected(client) is not guaranteed to return true.  Other functions
 | 
				
			||||||
 | 
					 * such as GetClientIP() may not work at this point either.
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * Returning Plugin_Handled or Plugin_Stop will prevent the original,
 | 
				
			||||||
 | 
					 * baseline code from running.
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * -- TEXT BELOW IS IMPLEMENTATION, AND NOT GUARANTEED --
 | 
				
			||||||
 | 
					 * Even if returning Plugin_Handled or Plugin_Stop, some callbacks will still
 | 
				
			||||||
 | 
					 * trigger. These are:
 | 
				
			||||||
 | 
					 *  * C++ command dispatch hooks from Metamod:Source plugins
 | 
				
			||||||
 | 
					 *  * Reg*Cmd() hooks that did not create new commands.
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * @param client        Client, or 0 for server.
 | 
				
			||||||
 | 
					 *                      Client may not be connected or in game.
 | 
				
			||||||
 | 
					 * @param command       Command name, lower case. To get name as typed, use
 | 
				
			||||||
 | 
					 *                      GetCmdArg() and specify argument 0.
 | 
				
			||||||
 | 
					 * @param argc          Argument count.
 | 
				
			||||||
 | 
					 * @return				Action to take (see extended notes above).
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					functag public Action:CommandListener(client, const String:command[], argc);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define FEATURECAP_COMMANDLISTENER  "command listener"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * Adds a callback that will fire when a command is sent to the server.
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * Registering commands is designed to create a new command as part of the UI,
 | 
				
			||||||
 | 
					 * whereas this is a lightweight hook on a command string, existing or not.
 | 
				
			||||||
 | 
					 * Using Reg*Cmd to intercept is in poor practice, as it physically creates a
 | 
				
			||||||
 | 
					 * new command and can slow down dispatch in general.
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * To see if this feature is available, use FeatureType_Capability and 
 | 
				
			||||||
 | 
					 * FEATURECAP_COMMANDLISTENER.
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * @param callback      Callback.
 | 
				
			||||||
 | 
					 * @param command		Command, or if not specified, a global listener.
 | 
				
			||||||
 | 
					 *                      The command is case insensitive.
 | 
				
			||||||
 | 
					 * @return              True if this feature is available on the current game,
 | 
				
			||||||
 | 
					 *                      false otherwise.
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					native bool:AddCommandListener(CommandListener:callback, const String:command[]="");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * Removes a previously added command listener, in reverse order of being added.
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * @param callback		Callback.
 | 
				
			||||||
 | 
					 * @param command		Command, or if not specified, a global listener.
 | 
				
			||||||
 | 
					 *                      The command is case insensitive.
 | 
				
			||||||
 | 
					 * @error				Callback has no active listeners.
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					native RemoveCommandListener(CommandListener:callback, const String:command[]="");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										14
									
								
								env/include/core.inc
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										14
									
								
								env/include/core.inc
									
									
									
									
										vendored
									
									
								
							@@ -151,8 +151,22 @@ public Extension:__ext_core =
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
native VerifyCoreVersion();
 | 
					native VerifyCoreVersion();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * Sets a native as optional, such that if it is unloaded, removed,
 | 
				
			||||||
 | 
					 * or otherwise non-existent, the plugin will still work.  Calling
 | 
				
			||||||
 | 
					 * removed natives results in a run-time error.
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * @param name			Native name.
 | 
				
			||||||
 | 
					 * @noreturn
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					native MarkNativeAsOptional(const String:name[]);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
public __ext_core_SetNTVOptional()
 | 
					public __ext_core_SetNTVOptional()
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
 | 
						MarkNativeAsOptional("GetFeatureStatus");
 | 
				
			||||||
 | 
						MarkNativeAsOptional("RequireFeature");
 | 
				
			||||||
 | 
						MarkNativeAsOptional("AddCommandListener");
 | 
				
			||||||
 | 
						MarkNativeAsOptional("RemoveCommandListener");
 | 
				
			||||||
	VerifyCoreVersion();
 | 
						VerifyCoreVersion();
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										4
									
								
								env/include/dbi.inc
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								env/include/dbi.inc
									
									
									
									
										vendored
									
									
								
							@@ -288,6 +288,10 @@ native bool:SQL_GetError(Handle:hndl, String:error[], maxlength);
 | 
				
			|||||||
 * characters are safely escaped according to the database engine and 
 | 
					 * characters are safely escaped according to the database engine and 
 | 
				
			||||||
 * the database's character set.
 | 
					 * the database's character set.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 | 
					 * NOTE: SourceMod only guarantees properly escaped strings when the query
 | 
				
			||||||
 | 
					 * encloses the string in ''. While drivers tend to allow " instead, the string
 | 
				
			||||||
 | 
					 * may be not be escaped (for example, on SQLite)!
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 * @param hndl			A database Handle.
 | 
					 * @param hndl			A database Handle.
 | 
				
			||||||
 * @param string		String to quote.
 | 
					 * @param string		String to quote.
 | 
				
			||||||
 * @param buffer		Buffer to store quoted string in.
 | 
					 * @param buffer		Buffer to store quoted string in.
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										14
									
								
								env/include/events.inc
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										14
									
								
								env/include/events.inc
									
									
									
									
										vendored
									
									
								
							@@ -241,3 +241,17 @@ native SetEventString(Handle:event, const String:key[], const String:value[]);
 | 
				
			|||||||
 * @error				Invalid or corrupt Handle.     
 | 
					 * @error				Invalid or corrupt Handle.     
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
native GetEventName(Handle:event, String:name[], maxlength);
 | 
					native GetEventName(Handle:event, String:name[], maxlength);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * Sets whether an event's broadcasting will be disabled or not.
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * This has no effect on events Handles that are not from HookEvent
 | 
				
			||||||
 | 
					 * or HookEventEx callbacks.
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * @param event         Handle to an event from an event hook.
 | 
				
			||||||
 | 
					 * @param dontBroadcast True to disable broadcasting, false otherwise.
 | 
				
			||||||
 | 
					 * @noreturn
 | 
				
			||||||
 | 
					 * @error               Invalid Handle.
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					native SetEventBroadcast(Handle:event, bool:dontBroadcast);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										43
									
								
								env/include/float.inc
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										43
									
								
								env/include/float.inc
									
									
									
									
										vendored
									
									
								
							@@ -413,3 +413,46 @@ stock Float:RadToDeg(Float:angle)
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
	return (angle*180)/FLOAT_PI;
 | 
						return (angle*180)/FLOAT_PI;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * Returns a random integer in the range [0, 2^31-1].
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * Note: Uniform random number streams are seeded automatically per-plugin.
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * @return			Random integer.
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					native GetURandomInt();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * Returns a uniform random float in the range [0, 1).
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * Note: Uniform random number streams are seeded automatically per-plugin.
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * @return			Uniform random floating-point number.
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					native Float:GetURandomFloat();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * Seeds a plugin's uniform random number stream. This is done automatically,
 | 
				
			||||||
 | 
					 * so normally it is totally unnecessary to call this.
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * @param seeds		Array of numbers to use as seeding data.
 | 
				
			||||||
 | 
					 * @param numSeeds	Number of seeds in the seeds array.
 | 
				
			||||||
 | 
					 * @noreturn
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					native SetURandomSeed(const seeds[], numSeeds);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * Seeds a plugin's uniform random number stream. This is done automatically,
 | 
				
			||||||
 | 
					 * so normally it is totally unnecessary to call this.
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * @param seed      Single seed value.
 | 
				
			||||||
 | 
					 * @noreturn
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					stock SetURandomSeedSimple(seed)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						new seeds[1];
 | 
				
			||||||
 | 
						seeds[0] = seed;
 | 
				
			||||||
 | 
						SetURandomSeed(seeds, 1);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										5
									
								
								env/include/functions.inc
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										5
									
								
								env/include/functions.inc
									
									
									
									
										vendored
									
									
								
							@@ -30,6 +30,11 @@
 | 
				
			|||||||
 * Version: $Id$
 | 
					 * Version: $Id$
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 | 
					#if defined _functions_included
 | 
				
			||||||
 | 
					 #endinput
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					#define _functions_included
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
#define SP_PARAMFLAG_BYREF	(1<<0)	/**< Internal use only. */
 | 
					#define SP_PARAMFLAG_BYREF	(1<<0)	/**< Internal use only. */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										38
									
								
								env/include/halflife.inc
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										38
									
								
								env/include/halflife.inc
									
									
									
									
										vendored
									
									
								
							@@ -40,7 +40,9 @@
 | 
				
			|||||||
#define SOURCE_SDK_DARKMESSIAH		15		/**< Modified version of original engine used by Dark Messiah (no SDK) */
 | 
					#define SOURCE_SDK_DARKMESSIAH		15		/**< Modified version of original engine used by Dark Messiah (no SDK) */
 | 
				
			||||||
#define SOURCE_SDK_EPISODE1			20		/**< SDK+Engine released after Episode 1 */
 | 
					#define SOURCE_SDK_EPISODE1			20		/**< SDK+Engine released after Episode 1 */
 | 
				
			||||||
#define SOURCE_SDK_EPISODE2			30		/**< SDK+Engine released after Episode 2/Orange Box */
 | 
					#define SOURCE_SDK_EPISODE2			30		/**< SDK+Engine released after Episode 2/Orange Box */
 | 
				
			||||||
 | 
					#define SOURCE_SDK_EPISODE2VALVE	35		/**< SDK+Engine released after Episode 2/Orange Box */
 | 
				
			||||||
#define SOURCE_SDK_LEFT4DEAD		40		/**< Engine released after Left 4 Dead (no SDK yet) */
 | 
					#define SOURCE_SDK_LEFT4DEAD		40		/**< Engine released after Left 4 Dead (no SDK yet) */
 | 
				
			||||||
 | 
					#define SOURCE_SDK_LEFT4DEAD2		50		/**< Engine released after Left 4 Dead 2 (no SDK yet) */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define MOTDPANEL_TYPE_TEXT		0	/**< Treat msg as plain text */
 | 
					#define MOTDPANEL_TYPE_TEXT		0	/**< Treat msg as plain text */
 | 
				
			||||||
#define MOTDPANEL_TYPE_INDEX	1	/**< Msg is auto determined by the engine */
 | 
					#define MOTDPANEL_TYPE_INDEX	1	/**< Msg is auto determined by the engine */
 | 
				
			||||||
@@ -56,6 +58,8 @@ enum DialogType
 | 
				
			|||||||
	DialogType_AskConnect	/**< ask the client to connect to a specified IP */
 | 
						DialogType_AskConnect	/**< ask the client to connect to a specified IP */
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define INVALID_ENT_REFERENCE 0xFFFFFFFF
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * Logs a generic message to the HL2 logs.
 | 
					 * Logs a generic message to the HL2 logs.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
@@ -269,10 +273,9 @@ native PrintToChat(client, const String:format[], any:...);
 | 
				
			|||||||
 */
 | 
					 */
 | 
				
			||||||
stock PrintToChatAll(const String:format[], any:...)
 | 
					stock PrintToChatAll(const String:format[], any:...)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	new maxClients = GetMaxClients();
 | 
					 | 
				
			||||||
	decl String:buffer[192];
 | 
						decl String:buffer[192];
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
	for (new i = 1; i <= maxClients; i++)
 | 
						for (new i = 1; i <= MaxClients; i++)
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		if (IsClientInGame(i))
 | 
							if (IsClientInGame(i))
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
@@ -303,10 +306,9 @@ native PrintCenterText(client, const String:format[], any:...);
 | 
				
			|||||||
 */
 | 
					 */
 | 
				
			||||||
stock PrintCenterTextAll(const String:format[], any:...)
 | 
					stock PrintCenterTextAll(const String:format[], any:...)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	new maxClients = GetMaxClients();
 | 
					 | 
				
			||||||
	decl String:buffer[192];
 | 
						decl String:buffer[192];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	for (new i = 1; i <= maxClients; i++)
 | 
						for (new i = 1; i <= MaxClients; i++)
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		if (IsClientInGame(i))
 | 
							if (IsClientInGame(i))
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
@@ -337,10 +339,9 @@ native PrintHintText(client, const String:format[], any:...);
 | 
				
			|||||||
 */
 | 
					 */
 | 
				
			||||||
stock PrintHintTextToAll(const String:format[], any:...)
 | 
					stock PrintHintTextToAll(const String:format[], any:...)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	new maxClients = GetMaxClients();
 | 
					 | 
				
			||||||
	decl String:buffer[192];
 | 
						decl String:buffer[192];
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
	for (new i = 1; i <= maxClients; i++)
 | 
						for (new i = 1; i <= MaxClients; i++)
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		if (IsClientInGame(i))
 | 
							if (IsClientInGame(i))
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
@@ -544,3 +545,28 @@ stock DisplayAskConnectBox(client, Float:time, const String:ip[])
 | 
				
			|||||||
	CreateDialog(client, Kv, DialogType_AskConnect);
 | 
						CreateDialog(client, Kv, DialogType_AskConnect);
 | 
				
			||||||
	CloseHandle(Kv);
 | 
						CloseHandle(Kv);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * Converts an entity index into a serial encoded entity reference.
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * @param entity		Entity index.
 | 
				
			||||||
 | 
					 * @return				Entity reference.
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					native EntIndexToEntRef(entity);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * Retrieves the entity index from a reference.
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * @param ref			Entity reference.
 | 
				
			||||||
 | 
					 * @return				Entity index.
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					native EntRefToEntIndex(ref);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * Converts a reference into a backwards compatible version.
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * @param ref			Entity reference.
 | 
				
			||||||
 | 
					 * @return				Bcompat reference.
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					native MakeCompatEntRef(ref);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										5
									
								
								env/include/helpers.inc
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										5
									
								
								env/include/helpers.inc
									
									
									
									
										vendored
									
									
								
							@@ -99,7 +99,6 @@ stock Handle:FindPluginByFile(const String:filename[])
 | 
				
			|||||||
#pragma deprecated Use FindTarget() or ProcessTargetString()
 | 
					#pragma deprecated Use FindTarget() or ProcessTargetString()
 | 
				
			||||||
stock SearchForClients(const String:pattern[], clients[], maxClients)
 | 
					stock SearchForClients(const String:pattern[], clients[], maxClients)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	new maxclients = GetMaxClients();
 | 
					 | 
				
			||||||
	new total = 0;
 | 
						new total = 0;
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
	if (maxClients == 0)
 | 
						if (maxClients == 0)
 | 
				
			||||||
@@ -113,7 +112,7 @@ stock SearchForClients(const String:pattern[], clients[], maxClients)
 | 
				
			|||||||
		if (!input)
 | 
							if (!input)
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
			decl String:name[65]
 | 
								decl String:name[65]
 | 
				
			||||||
			for (new i=1; i<=maxclients; i++)
 | 
								for (new i=1; i<=MaxClients; i++)
 | 
				
			||||||
			{
 | 
								{
 | 
				
			||||||
				if (!IsClientInGame(i))
 | 
									if (!IsClientInGame(i))
 | 
				
			||||||
				{
 | 
									{
 | 
				
			||||||
@@ -137,7 +136,7 @@ stock SearchForClients(const String:pattern[], clients[], maxClients)
 | 
				
			|||||||
	}
 | 
						}
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
	decl String:name[65]
 | 
						decl String:name[65]
 | 
				
			||||||
	for (new i=1; i<=maxclients; i++)
 | 
						for (new i=1; i<=MaxClients; i++)
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		if (!IsClientInGame(i))
 | 
							if (!IsClientInGame(i))
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										5
									
								
								env/include/menus.inc
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										5
									
								
								env/include/menus.inc
									
									
									
									
										vendored
									
									
								
							@@ -490,11 +490,10 @@ native bool:VoteMenu(Handle:menu, clients[], numClients, time, flags=0);
 | 
				
			|||||||
 */
 | 
					 */
 | 
				
			||||||
stock VoteMenuToAll(Handle:menu, time, flags=0)
 | 
					stock VoteMenuToAll(Handle:menu, time, flags=0)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	new num = GetMaxClients();
 | 
					 | 
				
			||||||
	new total;
 | 
						new total;
 | 
				
			||||||
	decl players[num];
 | 
						decl players[MaxClients];
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
	for (new i=1; i<=num; i++)
 | 
						for (new i=1; i<=MaxClients; i++)
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		if (!IsClientInGame(i))
 | 
							if (!IsClientInGame(i))
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										1
									
								
								env/include/sdktools.inc
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								env/include/sdktools.inc
									
									
									
									
										vendored
									
									
								
							@@ -48,6 +48,7 @@
 | 
				
			|||||||
#include <sdktools_voice>
 | 
					#include <sdktools_voice>
 | 
				
			||||||
#include <sdktools_entinput>
 | 
					#include <sdktools_entinput>
 | 
				
			||||||
#include <sdktools_entoutput>
 | 
					#include <sdktools_entoutput>
 | 
				
			||||||
 | 
					#include <sdktools_hooks>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
enum SDKCallType
 | 
					enum SDKCallType
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										49
									
								
								env/include/sdktools_hooks.inc
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										49
									
								
								env/include/sdktools_hooks.inc
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,49 @@
 | 
				
			|||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * vim: set ts=4 :
 | 
				
			||||||
 | 
					 * =============================================================================
 | 
				
			||||||
 | 
					 * SourceMod (C)2004-2009 AlliedModders LLC.  All rights reserved.
 | 
				
			||||||
 | 
					 * =============================================================================
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * This file is part of the SourceMod/SourcePawn SDK.
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * 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 <http://www.gnu.org/licenses/>.
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * 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 <http://www.sourcemod.net/license.php>.
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * Version: $Id$
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#if defined _sdktools_hooks_included
 | 
				
			||||||
 | 
					  #endinput
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					#define _sdktools_hooks_included
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * @brief Called when a clients movement buttons are being processed
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * @param client	Index of the client.
 | 
				
			||||||
 | 
					 * @param buttons	Copyback buffer containing the current commands (as bitflags - see entity_prop_stocks.inc).
 | 
				
			||||||
 | 
					 * @param impulse	Copyback buffer containing the current impulse command.
 | 
				
			||||||
 | 
					 * @param vel		Players desired velocity.
 | 
				
			||||||
 | 
					 * @param angles	Players desired view angles.
 | 
				
			||||||
 | 
					 * @param weapon	Entity index of the new weapon if player switches weapon, 0 otherwise.
 | 
				
			||||||
 | 
					 * @return 			Plugin_Handled to block the commands from being processed, Plugin_Continue otherwise.
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					forward Action:OnPlayerRunCmd(client, &buttons, &impulse, Float:vel[3], Float:angles[3], &weapon);
 | 
				
			||||||
							
								
								
									
										5
									
								
								env/include/sdktools_sound.inc
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										5
									
								
								env/include/sdktools_sound.inc
									
									
									
									
										vendored
									
									
								
							@@ -403,11 +403,10 @@ stock EmitSoundToAll(const String:sample[],
 | 
				
			|||||||
				 bool:updatePos = true,
 | 
									 bool:updatePos = true,
 | 
				
			||||||
				 Float:soundtime = 0.0)
 | 
									 Float:soundtime = 0.0)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	new maxClients = GetMaxClients();
 | 
						new clients[MaxClients];
 | 
				
			||||||
	new clients[maxClients];
 | 
					 | 
				
			||||||
	new total = 0;
 | 
						new total = 0;
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
	for (new i=1; i<=maxClients; i++)
 | 
						for (new i=1; i<=MaxClients; i++)
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		if (IsClientInGame(i))
 | 
							if (IsClientInGame(i))
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										5
									
								
								env/include/sdktools_tempents.inc
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										5
									
								
								env/include/sdktools_tempents.inc
									
									
									
									
										vendored
									
									
								
							@@ -197,10 +197,9 @@ stock TE_WriteEncodedEnt(const String:prop[], value)
 | 
				
			|||||||
 */
 | 
					 */
 | 
				
			||||||
stock TE_SendToAll(Float:delay=0.0)
 | 
					stock TE_SendToAll(Float:delay=0.0)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	new maxClients = GetMaxClients();
 | 
					 | 
				
			||||||
	new total = 0;
 | 
						new total = 0;
 | 
				
			||||||
	new clients[maxClients];
 | 
						new clients[MaxClients];
 | 
				
			||||||
	for (new i=1; i<=maxClients; i++)
 | 
						for (new i=1; i<=MaxClients; i++)
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		if (IsClientInGame(i))
 | 
							if (IsClientInGame(i))
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										7
									
								
								env/include/sdktools_trace.inc
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										7
									
								
								env/include/sdktools_trace.inc
									
									
									
									
										vendored
									
									
								
							@@ -365,3 +365,10 @@ native TR_GetHitGroup(Handle:hndl=INVALID_HANDLE);
 | 
				
			|||||||
 */
 | 
					 */
 | 
				
			||||||
native TR_GetPlaneNormal(Handle:hndl, Float:normal[3]);
 | 
					native TR_GetPlaneNormal(Handle:hndl, Float:normal[3]);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * Tests a point to see if it's outside any playable area
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * @param pos		Vector buffer to store data in.
 | 
				
			||||||
 | 
					 * @return		True if outside world, otherwise false.
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					native TR_PointOutsideWorld(Float:pos[3]);
 | 
				
			||||||
							
								
								
									
										38
									
								
								env/include/sdktools_voice.inc
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										38
									
								
								env/include/sdktools_voice.inc
									
									
									
									
										vendored
									
									
								
							@@ -49,6 +49,13 @@
 | 
				
			|||||||
 * @endsection
 | 
					 * @endsection
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					enum ListenOverride
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						Listen_Default = 0,	/**< Leave it up to the game */
 | 
				
			||||||
 | 
						Listen_No,			/**< Can't hear */
 | 
				
			||||||
 | 
						Listen_Yes,			/**< Can hear */
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * Set the client listening flags.
 | 
					 * Set the client listening flags.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
@@ -73,6 +80,7 @@ native GetClientListeningFlags(client);
 | 
				
			|||||||
 * @param iSender		The sender index.
 | 
					 * @param iSender		The sender index.
 | 
				
			||||||
 * @return			True if successful otherwise false.
 | 
					 * @return			True if successful otherwise false.
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					#pragma deprecated Use SetListenOverride() instead
 | 
				
			||||||
native bool:SetClientListening(iReceiver, iSender, bool:bListen);
 | 
					native bool:SetClientListening(iReceiver, iSender, bool:bListen);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
@@ -82,4 +90,34 @@ native bool:SetClientListening(iReceiver, iSender, bool:bListen);
 | 
				
			|||||||
 * @param iSender		The sender index.
 | 
					 * @param iSender		The sender index.
 | 
				
			||||||
 * @return			True if successful otherwise false.
 | 
					 * @return			True if successful otherwise false.
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					#pragma deprecated GetListenOverride() instead
 | 
				
			||||||
native bool:GetClientListening(iReceiver, iSender);
 | 
					native bool:GetClientListening(iReceiver, iSender);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * Override the receiver's ability to listen to the sender.
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * @param iReceiver		The listener index.
 | 
				
			||||||
 | 
					 * @param iSender		The sender index.
 | 
				
			||||||
 | 
					 * @param override		
 | 
				
			||||||
 | 
					 * @return			True if successful otherwise false.
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					native bool:SetListenOverride(iReceiver, iSender, ListenOverride:override);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * Retrieves the override of the receiver's ability to listen to the sender.
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * @param iReceiver		The listener index.
 | 
				
			||||||
 | 
					 * @param iSender		The sender index.
 | 
				
			||||||
 | 
					 * @return			The override value.
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					native ListenOverride:GetListenOverride(iReceiver, iSender);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * Retrieves if the muter has muted the mutee.
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * @param iMuter		The muter index.
 | 
				
			||||||
 | 
					 * @param iMutee		The mutee index.
 | 
				
			||||||
 | 
					 * @return			True if muter has muted mutee, false otherwise.
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					native bool:IsClientMuted(iMuter, iMutee);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										113
									
								
								env/include/sourcemod.inc
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										113
									
								
								env/include/sourcemod.inc
									
									
									
									
										vendored
									
									
								
							@@ -74,6 +74,13 @@ struct Plugin
 | 
				
			|||||||
#include <commandfilters>
 | 
					#include <commandfilters>
 | 
				
			||||||
#include <nextmap>
 | 
					#include <nextmap>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					enum APLRes
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						APLRes_Success = 0,		/**< Plugin should load */
 | 
				
			||||||
 | 
						APLRes_Failure,			/**< Plugin shouldn't load and should display an error */
 | 
				
			||||||
 | 
						APLRes_SilentFailure	/**< Plugin shouldn't load but do so silently */
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * Declare this as a struct in your plugin to expose its information.
 | 
					 * Declare this as a struct in your plugin to expose its information.
 | 
				
			||||||
 * Example:
 | 
					 * Example:
 | 
				
			||||||
@@ -102,25 +109,34 @@ public Plugin:myinfo;
 | 
				
			|||||||
 */
 | 
					 */
 | 
				
			||||||
forward OnPluginStart();
 | 
					forward OnPluginStart();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * @deprecated Use AskPluginLoad2() instead.
 | 
				
			||||||
 | 
					 * If a plugin contains both AskPluginLoad() and AskPluginLoad2(), the former will
 | 
				
			||||||
 | 
					 * not be called, but old plugins with only AskPluginLoad() will work.
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					#pragma deprecated Use AskPluginLoad2() instead
 | 
				
			||||||
 | 
					forward bool:AskPluginLoad(Handle:myself, bool:late, String:error[], err_max);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * Called before OnPluginStart, in case the plugin wants to check for load failure.
 | 
					 * Called before OnPluginStart, in case the plugin wants to check for load failure.
 | 
				
			||||||
 * This is called even if the plugin type is "private."  Any natives from modules are 
 | 
					 * This is called even if the plugin type is "private."  Any natives from modules are 
 | 
				
			||||||
 * not available at this point.  Thus, this forward should only be used for explicit 
 | 
					 * not available at this point.  Thus, this forward should only be used for explicit 
 | 
				
			||||||
 * pre-emptive things, such as adding dynamic natives, or setting certain types of load filters.
 | 
					 * pre-emptive things, such as adding dynamic natives, setting certain types of load 
 | 
				
			||||||
 | 
					 * filters (such as not loading the plugin for certain games).
 | 
				
			||||||
 * 
 | 
					 * 
 | 
				
			||||||
 * @note It is not safe to call externally resolved natives until OnPluginStart().
 | 
					 * @note It is not safe to call externally resolved natives until OnPluginStart().
 | 
				
			||||||
 * @note Any sort of RTE in this function will cause the plugin to fail loading.
 | 
					 * @note Any sort of RTE in this function will cause the plugin to fail loading.
 | 
				
			||||||
 * @note You MUST remember to return SOMETHING here.  The act of not returning is 
 | 
					 * @note If you do not return anything, it is treated like returning success. 
 | 
				
			||||||
 *       equivalent to returning 0 (false).  If you forgot to return, it will 
 | 
					 * @note If a plugin has an AskPluginLoad2(), AskPluginLoad() will not be called.
 | 
				
			||||||
 *       cause your plugin to not load with a very strange error message.
 | 
					 *
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * @param myself	Handle to the plugin.
 | 
					 * @param myself	Handle to the plugin.
 | 
				
			||||||
 * @param late		Whether or not the plugin was loaded "late" (after map load).
 | 
					 * @param late		Whether or not the plugin was loaded "late" (after map load).
 | 
				
			||||||
 * @param error		Error message buffer in case load failed.
 | 
					 * @param error		Error message buffer in case load failed.
 | 
				
			||||||
 * @param err_max	Maximum number of characters for error message buffer.
 | 
					 * @param err_max	Maximum number of characters for error message buffer.
 | 
				
			||||||
 * @return			True if load success, false otherwise.
 | 
					 * @return			APLRes_Success for load success, APLRes_Failure or APLRes_SilentFailure otherwise
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
forward bool:AskPluginLoad(Handle:myself, bool:late, String:error[], err_max);
 | 
					forward APLRes:AskPluginLoad2(Handle:myself, bool:late, String:error[], err_max);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * Called when the plugin is about to be unloaded.
 | 
					 * Called when the plugin is about to be unloaded.
 | 
				
			||||||
@@ -394,16 +410,6 @@ native GetSysTickCount();
 | 
				
			|||||||
 */
 | 
					 */
 | 
				
			||||||
native AutoExecConfig(bool:autoCreate=true, const String:name[]="", const String:folder[]="sourcemod");
 | 
					native AutoExecConfig(bool:autoCreate=true, const String:name[]="", const String:folder[]="sourcemod");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					 | 
				
			||||||
 * Sets a native as optional, such that if it is unloaded, removed,
 | 
					 | 
				
			||||||
 * or otherwise non-existent, the plugin will still work.  Calling
 | 
					 | 
				
			||||||
 * removed natives results in a run-time error.
 | 
					 | 
				
			||||||
 *
 | 
					 | 
				
			||||||
 * @param name			Native name.
 | 
					 | 
				
			||||||
 * @noreturn
 | 
					 | 
				
			||||||
 */
 | 
					 | 
				
			||||||
native MarkNativeAsOptional(const String:name[]);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * Registers a library name for identifying as a dependency to 
 | 
					 * Registers a library name for identifying as a dependency to 
 | 
				
			||||||
 * other plugins.
 | 
					 * other plugins.
 | 
				
			||||||
@@ -549,6 +555,81 @@ forward bool:OnClientFloodCheck(client);
 | 
				
			|||||||
 */
 | 
					 */
 | 
				
			||||||
forward OnClientFloodResult(client, bool:blocked);
 | 
					forward OnClientFloodResult(client, bool:blocked);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * Feature types.
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					enum FeatureType
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						/**
 | 
				
			||||||
 | 
						 * A native function call.
 | 
				
			||||||
 | 
						 */
 | 
				
			||||||
 | 
						FeatureType_Native,
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						/**
 | 
				
			||||||
 | 
						 * A named capability. This is distinctly different from checking for a
 | 
				
			||||||
 | 
						 * native, because the underlying functionality could be enabled on-demand
 | 
				
			||||||
 | 
						 * to improve loading time. Thus a native may appear to exist, but it might
 | 
				
			||||||
 | 
						 * be part of a set of features that are not compatible with the current game
 | 
				
			||||||
 | 
						 * or version of SourceMod.
 | 
				
			||||||
 | 
						 */
 | 
				
			||||||
 | 
						FeatureType_Capability
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * Feature statuses.
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					enum FeatureStatus
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						/**
 | 
				
			||||||
 | 
						 * Feature is available for use.
 | 
				
			||||||
 | 
						 */
 | 
				
			||||||
 | 
						FeatureStatus_Available,
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						/**
 | 
				
			||||||
 | 
						 * Feature is not available.
 | 
				
			||||||
 | 
						 */
 | 
				
			||||||
 | 
						FeatureStatus_Unavailable,
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						/**
 | 
				
			||||||
 | 
						 * Feature is not known at all.
 | 
				
			||||||
 | 
						 */
 | 
				
			||||||
 | 
						FeatureStatus_Unknown
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * Returns whether "GetFeatureStatus" will work. Using this native
 | 
				
			||||||
 | 
					 * or this function will not cause SourceMod to fail loading on older versions,
 | 
				
			||||||
 | 
					 * however, GetFeatureStatus will only work if this function returns true.
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * @return              True if GetFeatureStatus will work, false otherwise.
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					stock bool:CanTestFeatures()
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						return LibraryExists("__CanTestFeatures__");
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * Returns whether a feature exists, and if so, whether it is usable.
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * @param type          Feature type.
 | 
				
			||||||
 | 
					 * @param name          Feature name.
 | 
				
			||||||
 | 
					 * @return              Feature status.
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					native FeatureStatus:GetFeatureStatus(FeatureType:type, const String:name[]);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * Requires that a given feature is available. If it is not, SetFailState()
 | 
				
			||||||
 | 
					 * is called with the given message.
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * @param type          Feature type.
 | 
				
			||||||
 | 
					 * @param name          Feature name.
 | 
				
			||||||
 | 
					 * @param fmt           Message format string, or empty to use default.
 | 
				
			||||||
 | 
					 * @param ...           Message format parameters, if any.
 | 
				
			||||||
 | 
					 * @noreturn
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					native RequireFeature(FeatureType:type, const String:name[],
 | 
				
			||||||
 | 
					                      const String:fmt[]="", any:...);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <helpers>
 | 
					#include <helpers>
 | 
				
			||||||
#include <entity>
 | 
					#include <entity>
 | 
				
			||||||
#include <entity_prop_stocks>
 | 
					#include <entity_prop_stocks>
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										131
									
								
								env/include/tf2.inc
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										131
									
								
								env/include/tf2.inc
									
									
									
									
										vendored
									
									
								
							@@ -35,6 +35,20 @@
 | 
				
			|||||||
#endif
 | 
					#endif
 | 
				
			||||||
#define _tf2_included
 | 
					#define _tf2_included
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define TF_STUNFLAG_SLOWDOWN        (1 << 0)	// activates slowdown modifier
 | 
				
			||||||
 | 
					#define TF_STUNFLAG_BONKSTUCK       (1 << 1)	// bonk sound, stuck
 | 
				
			||||||
 | 
					#define TF_STUNFLAG_LIMITMOVEMENT   (1 << 2)	// disable forward/backward movement
 | 
				
			||||||
 | 
					#define TF_STUNFLAG_CHEERSOUND      (1 << 3)	// cheering sound
 | 
				
			||||||
 | 
					#define TF_STUNFLAG_NOSOUNDOREFFECT (1 << 5)	// no sound or particle
 | 
				
			||||||
 | 
					#define TF_STUNFLAG_THIRDPERSON     (1 << 6)	// panic animation
 | 
				
			||||||
 | 
					#define TF_STUNFLAG_GHOSTEFFECT     (1 << 7)	// ghost particles
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define TF_STUNFLAGS_LOSERSTATE     TF_STUNFLAG_SLOWDOWN|TF_STUNFLAG_NOSOUNDOREFFECT|TF_STUNFLAG_THIRDPERSON
 | 
				
			||||||
 | 
					#define TF_STUNFLAGS_GHOSTSCARE     TF_STUNFLAG_GHOSTEFFECT|TF_STUNFLAG_THIRDPERSON
 | 
				
			||||||
 | 
					#define TF_STUNFLAGS_SMALLBONK      TF_STUNFLAG_THIRDPERSON|TF_STUNFLAG_SLOWDOWN
 | 
				
			||||||
 | 
					#define TF_STUNFLAGS_NORMALBONK     TF_STUNFLAG_BONKSTUCK
 | 
				
			||||||
 | 
					#define TF_STUNFLAGS_BIGBONK        TF_STUNFLAG_CHEERSOUND|TF_STUNFLAG_BONKSTUCK
 | 
				
			||||||
 | 
					
 | 
				
			||||||
enum TFClassType
 | 
					enum TFClassType
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	TFClass_Unknown = 0,
 | 
						TFClass_Unknown = 0,
 | 
				
			||||||
@@ -57,6 +71,41 @@ enum TFTeam
 | 
				
			|||||||
	TFTeam_Blue = 3	
 | 
						TFTeam_Blue = 3	
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					enum TFCond
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						TFCond_Slowed = 0,
 | 
				
			||||||
 | 
						TFCond_Zoomed,
 | 
				
			||||||
 | 
						TFCond_Disguising,
 | 
				
			||||||
 | 
						TFCond_Disguised,
 | 
				
			||||||
 | 
						TFCond_Cloaked,
 | 
				
			||||||
 | 
						TFCond_Ubercharged,
 | 
				
			||||||
 | 
						TFCond_TeleportedGlow,
 | 
				
			||||||
 | 
						TFCond_Taunting,
 | 
				
			||||||
 | 
						TFCond_UberchargeFading,
 | 
				
			||||||
 | 
						TFCond_Unknown1,
 | 
				
			||||||
 | 
						TFCond_Teleporting,
 | 
				
			||||||
 | 
						TFCond_Kritzkrieged,
 | 
				
			||||||
 | 
						TFCond_Unknown2,
 | 
				
			||||||
 | 
						TFCond_DeadRingered,
 | 
				
			||||||
 | 
						TFCond_Bonked,
 | 
				
			||||||
 | 
						TFCond_Dazed,
 | 
				
			||||||
 | 
						TFCond_Buffed,
 | 
				
			||||||
 | 
						TFCond_Charging,
 | 
				
			||||||
 | 
						TFCond_DemoBuff,
 | 
				
			||||||
 | 
						TFCond_CritCola,
 | 
				
			||||||
 | 
						TFCond_Healing,
 | 
				
			||||||
 | 
						TFCond_OnFire,
 | 
				
			||||||
 | 
						TFCond_Overhealed,
 | 
				
			||||||
 | 
						TFCond_Jarated
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					enum TFHoliday
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						TFHoliday_None = 1,
 | 
				
			||||||
 | 
						TFHoliday_Halloween,
 | 
				
			||||||
 | 
						TFHoliday_Birthday
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * Sets a client on fire for 10 seconds.
 | 
					 * Sets a client on fire for 10 seconds.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
@@ -75,6 +124,46 @@ native TF2_IgnitePlayer(client, target);
 | 
				
			|||||||
 */
 | 
					 */
 | 
				
			||||||
native TF2_RespawnPlayer(client);
 | 
					native TF2_RespawnPlayer(client);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * Regenerates a client's health and ammunition
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * @param client		Player's index.
 | 
				
			||||||
 | 
					 * @noreturn
 | 
				
			||||||
 | 
					 * @error				Invalid client index, client not in game, or no mod support.
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					native TF2_RegeneratePlayer(client);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * Adds a condition to a player
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * @param client		Player's index.
 | 
				
			||||||
 | 
					 * @param condition		Integer identifier of condition to apply.
 | 
				
			||||||
 | 
					 * @param duration		Duration of condition (does not apply to all conditions).
 | 
				
			||||||
 | 
					 * @noreturn
 | 
				
			||||||
 | 
					 * @error				Invalid client index, client not in game, or no mod support.
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					native TF2_AddCondition(client, TFCond:condition, Float:duration);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * Removes a condition from a player
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * @param client		Player's index.
 | 
				
			||||||
 | 
					 * @param condition		Integer identifier of condition to remove.
 | 
				
			||||||
 | 
					 * @noreturn
 | 
				
			||||||
 | 
					 * @error				Invalid client index, client not in game, or no mod support.
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					native TF2_RemoveCondition(client, TFCond:condition);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * Enables/disables PowerPlay mode on a player.
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * @param client		Player's index.
 | 
				
			||||||
 | 
					 * @param enabled		Whether to enable or disable PowerPlay on player.
 | 
				
			||||||
 | 
					 * @noreturn
 | 
				
			||||||
 | 
					 * @error				Invalid client index, client not in game, or no mod support.
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					native TF2_SetPlayerPowerPlay(client, bool:enabled);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * Disguises a client to the given model and team. Only has an effect on spies.
 | 
					 * Disguises a client to the given model and team. Only has an effect on spies.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
@@ -97,6 +186,19 @@ native TF2_DisguisePlayer(client, TFTeam:team, TFClassType:class);
 | 
				
			|||||||
 */
 | 
					 */
 | 
				
			||||||
native TF2_RemovePlayerDisguise(client);
 | 
					native TF2_RemovePlayerDisguise(client);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * Stuns a client
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * @param client		Player's index.
 | 
				
			||||||
 | 
					 * @param float			Duration of stun.
 | 
				
			||||||
 | 
					 * @param float			Slowdown percent (as decimal, 0.00-1.00)
 | 
				
			||||||
 | 
					 *						(ignored if TF_STUNFLAG_SLOWDOWN is not set.
 | 
				
			||||||
 | 
					 * @param int			Stun flags.
 | 
				
			||||||
 | 
					 * @param attacker		Attacker's index (0 is allowed for world).
 | 
				
			||||||
 | 
					 * @noreturn
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					native TF2_StunPlayer(client, Float:duration, Float:slowdown=0.0, stunflags, attacker=0);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * Retrieves the entity index of the CPlayerResource entity
 | 
					 * Retrieves the entity index of the CPlayerResource entity
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
@@ -129,6 +231,16 @@ native TFClassType:TF2_GetClass(const String:classname[]);
 | 
				
			|||||||
 */
 | 
					 */
 | 
				
			||||||
forward Action:TF2_CalcIsAttackCritical(client, weapon, String:weaponname[], &bool:result);
 | 
					forward Action:TF2_CalcIsAttackCritical(client, weapon, String:weaponname[], &bool:result);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * Called when the game checks to see if the current day is one of its tracked holidays
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * @note Change the value of holiday and return Plugin_Changed to override.
 | 
				
			||||||
 | 
					 *       Return Plugin_Continue for no change.
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * @param holiday		Current Holiday
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					forward Action:TF2_OnGetHoliday(&TFHoliday:holiday);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * Do not edit below this line!
 | 
					 * Do not edit below this line!
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
@@ -136,10 +248,27 @@ public Extension:__ext_tf2 =
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
	name = "TF2 Tools",
 | 
						name = "TF2 Tools",
 | 
				
			||||||
	file = "game.tf2.ext",
 | 
						file = "game.tf2.ext",
 | 
				
			||||||
	autoload = 1,
 | 
						autoload = 0,
 | 
				
			||||||
#if defined REQUIRE_EXTENSIONS
 | 
					#if defined REQUIRE_EXTENSIONS
 | 
				
			||||||
	required = 1,
 | 
						required = 1,
 | 
				
			||||||
#else
 | 
					#else
 | 
				
			||||||
	required = 0,
 | 
						required = 0,
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#if !defined REQUIRE_EXTENSIONS
 | 
				
			||||||
 | 
					public __ext_tf2_SetNTVOptional()
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						MarkNativeAsOptional("TF2_IgnitePlayer");
 | 
				
			||||||
 | 
						MarkNativeAsOptional("TF2_RespawnPlayer");
 | 
				
			||||||
 | 
						MarkNativeAsOptional("TF2_RegeneratePlayer");
 | 
				
			||||||
 | 
						MarkNativeAsOptional("TF2_AddCondition");
 | 
				
			||||||
 | 
						MarkNativeAsOptional("TF2_RemoveCondition");
 | 
				
			||||||
 | 
						MarkNativeAsOptional("TF2_SetPlayerPowerPlay");
 | 
				
			||||||
 | 
						MarkNativeAsOptional("TF2_DisguisePlayer");
 | 
				
			||||||
 | 
						MarkNativeAsOptional("TF2_RemovePlayerDisguise");
 | 
				
			||||||
 | 
						MarkNativeAsOptional("TF2_StunPlayer");
 | 
				
			||||||
 | 
						MarkNativeAsOptional("TF2_GetResourceEntity");
 | 
				
			||||||
 | 
						MarkNativeAsOptional("TF2_GetClass");
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										41
									
								
								env/include/tf2_stocks.inc
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										41
									
								
								env/include/tf2_stocks.inc
									
									
									
									
										vendored
									
									
								
							@@ -38,6 +38,37 @@
 | 
				
			|||||||
#include <tf2>
 | 
					#include <tf2>
 | 
				
			||||||
#include <sdktools>
 | 
					#include <sdktools>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define TF_CONDFLAG_NONE            0
 | 
				
			||||||
 | 
					#define TF_CONDFLAG_SLOWED          (1 << 0)
 | 
				
			||||||
 | 
					#define TF_CONDFLAG_ZOOMED          (1 << 1)
 | 
				
			||||||
 | 
					#define TF_CONDFLAG_DISGUISING      (1 << 2)
 | 
				
			||||||
 | 
					#define TF_CONDFLAG_DISGUISED       (1 << 3)
 | 
				
			||||||
 | 
					#define TF_CONDFLAG_CLOAKED         (1 << 4)
 | 
				
			||||||
 | 
					#define TF_CONDFLAG_UBERCHARGED     (1 << 5)
 | 
				
			||||||
 | 
					#define TF_CONDFLAG_TELEPORTGLOW    (1 << 6)
 | 
				
			||||||
 | 
					#define TF_CONDFLAG_TAUNTING        (1 << 7)
 | 
				
			||||||
 | 
					#define TF_CONDFLAG_UBERCHARGEFADE  (1 << 8)
 | 
				
			||||||
 | 
					#define TF_CONDFLAG_TELEPORTING     (1 << 10)
 | 
				
			||||||
 | 
					#define TF_CONDFLAG_KRITZKRIEGED    (1 << 11)
 | 
				
			||||||
 | 
					#define TF_CONDFLAG_DEADRINGERED    (1 << 13)
 | 
				
			||||||
 | 
					#define TF_CONDFLAG_BONKED          (1 << 14)
 | 
				
			||||||
 | 
					#define TF_CONDFLAG_DAZED           (1 << 15)
 | 
				
			||||||
 | 
					#define TF_CONDFLAG_BUFFED          (1 << 16)
 | 
				
			||||||
 | 
					#define TF_CONDFLAG_CHARGING        (1 << 17)
 | 
				
			||||||
 | 
					#define TF_CONDFLAG_DEMOBUFF        (1 << 18)
 | 
				
			||||||
 | 
					#define TF_CONDFLAG_CRITCOLA        (1 << 19)
 | 
				
			||||||
 | 
					#define TF_CONDFLAG_HEALING         (1 << 20)
 | 
				
			||||||
 | 
					#define TF_CONDFLAG_ONFIRE          (1 << 21)
 | 
				
			||||||
 | 
					#define TF_CONDFLAG_OVERHEALED      (1 << 22)
 | 
				
			||||||
 | 
					#define TF_CONDFLAG_JARATED         (1 << 23)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define TF_DEATHFLAG_KILLERDOMINATION   (1 << 0)
 | 
				
			||||||
 | 
					#define TF_DEATHFLAG_ASSISTERDOMINATION (1 << 1)
 | 
				
			||||||
 | 
					#define TF_DEATHFLAG_KILLERREVENGE      (1 << 2)
 | 
				
			||||||
 | 
					#define TF_DEATHFLAG_ASSISTERREVENGE    (1 << 3)
 | 
				
			||||||
 | 
					#define TF_DEATHFLAG_FIRSTBLOOD         (1 << 4)
 | 
				
			||||||
 | 
					#define TF_DEATHFLAG_DEADRINGER         (1 << 5)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
enum TFResourceType
 | 
					enum TFResourceType
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	TFResource_Ping,
 | 
						TFResource_Ping,
 | 
				
			||||||
@@ -217,3 +248,13 @@ stock TF2_RemoveAllWeapons(client)
 | 
				
			|||||||
	}
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * Gets a player's condition bits
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * @param client		Player's index.
 | 
				
			||||||
 | 
					 * @return				Player's condition bits
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					stock TF2_GetPlayerConditionFlags(client)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						return GetEntProp(client, Prop_Send, "m_nPlayerCond");
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										5
									
								
								env/include/usermessages.inc
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										5
									
								
								env/include/usermessages.inc
									
									
									
									
										vendored
									
									
								
							@@ -170,10 +170,9 @@ native UnhookUserMessage(UserMsg:msg_id, MsgHook:hook, bool:intercept=false);
 | 
				
			|||||||
 */
 | 
					 */
 | 
				
			||||||
stock Handle:StartMessageAll(String:msgname[], flags=0)
 | 
					stock Handle:StartMessageAll(String:msgname[], flags=0)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	new maxClients = GetMaxClients();
 | 
					 | 
				
			||||||
	new total = 0;
 | 
						new total = 0;
 | 
				
			||||||
	new clients[maxClients];
 | 
						new clients[MaxClients];
 | 
				
			||||||
	for (new i=1; i<=maxClients; i++)
 | 
						for (new i=1; i<=MaxClients; i++)
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		if (IsClientConnected(i))
 | 
							if (IsClientConnected(i))
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										6
									
								
								env/include/version.inc
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										6
									
								
								env/include/version.inc
									
									
									
									
										vendored
									
									
								
							@@ -36,7 +36,7 @@
 | 
				
			|||||||
#define _version_included
 | 
					#define _version_included
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define SOURCEMOD_V_MAJOR		1				/**< SourceMod Major version */
 | 
					#define SOURCEMOD_V_MAJOR		1				/**< SourceMod Major version */
 | 
				
			||||||
#define SOURCEMOD_V_MINOR		2				/**< SourceMod Minor version */
 | 
					#define SOURCEMOD_V_MINOR		3				/**< SourceMod Minor version */
 | 
				
			||||||
#define SOURCEMOD_V_RELEASE		1				/**< SourceMod Release version */
 | 
					#define SOURCEMOD_V_RELEASE		4				/**< SourceMod Release version */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define SOURCEMOD_VERSION	"1.2.1"	/**< SourceMod version string (major.minor.release.build) */
 | 
					#define SOURCEMOD_VERSION	"1.3.4"				/**< SourceMod version string (major.minor.release.build) */
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										
											BIN
										
									
								
								env/linux/bin/spcomp
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								env/linux/bin/spcomp
									
									
									
									
										vendored
									
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								env/linux/bin/spcomp-1.3.4
									
									
									
									
										vendored
									
									
										Executable file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								env/linux/bin/spcomp-1.3.4
									
									
									
									
										vendored
									
									
										Executable file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										2
									
								
								env/readme.txt
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								env/readme.txt
									
									
									
									
										vendored
									
									
								
							@@ -1,7 +1,7 @@
 | 
				
			|||||||
Compiling:
 | 
					Compiling:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- Windows: Use compile.bat in the source code repository.
 | 
					- Windows: Use compile.bat in the source code repository.
 | 
				
			||||||
- Linux: Use the makefile.
 | 
					- Linux: Use the Makefile script.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
The binary will be made in <repos>/build.
 | 
					The binary will be made in <repos>/build.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										
											BIN
										
									
								
								env/win32/bin/spcomp-1.3.4.exe
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								env/win32/bin/spcomp-1.3.4.exe
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								env/win32/bin/spcomp.exe
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								env/win32/bin/spcomp.exe
									
									
									
									
										vendored
									
									
								
							
										
											Binary file not shown.
										
									
								
							
		Reference in New Issue
	
	Block a user