parent
f91d659c6f
commit
542bb59978
@ -1034,7 +1034,7 @@ native int SQL_AddQuery(Transaction txn, const char[] query, any data=0);
|
|||||||
* @param prio Priority queue to use.
|
* @param prio Priority queue to use.
|
||||||
* @error An invalid handle.
|
* @error An invalid handle.
|
||||||
*/
|
*/
|
||||||
native SQL_ExecuteTransaction(
|
native void SQL_ExecuteTransaction(
|
||||||
Handle db,
|
Handle db,
|
||||||
Transaction txn,
|
Transaction txn,
|
||||||
SQLTxnSuccess onSuccess = INVALID_FUNCTION,
|
SQLTxnSuccess onSuccess = INVALID_FUNCTION,
|
||||||
|
@ -593,7 +593,7 @@ native bool SetFilePermissions(const char[] path, int mode);
|
|||||||
* @param tmode Time mode.
|
* @param tmode Time mode.
|
||||||
* @return Time value, or -1 on failure.
|
* @return Time value, or -1 on failure.
|
||||||
*/
|
*/
|
||||||
native GetFileTime(const char[] file, FileTimeMode tmode);
|
native int GetFileTime(const char[] file, FileTimeMode tmode);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Same as LogToFile(), except uses an open file Handle. The file must
|
* Same as LogToFile(), except uses an open file Handle. The file must
|
||||||
|
@ -44,7 +44,7 @@
|
|||||||
* @error Invalid client or entity, lack of mod support, or client not in
|
* @error Invalid client or entity, lack of mod support, or client not in
|
||||||
* game.
|
* game.
|
||||||
*/
|
*/
|
||||||
native bool:RemovePlayerItem(client, item);
|
native bool RemovePlayerItem(int client, int item);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gives a named item to a player.
|
* Gives a named item to a player.
|
||||||
@ -55,7 +55,7 @@ native bool:RemovePlayerItem(client, item);
|
|||||||
* @return Entity index on success, or -1 on failure.
|
* @return Entity index on success, or -1 on failure.
|
||||||
* @error Invalid client or client not in game, or lack of mod support.
|
* @error Invalid client or client not in game, or lack of mod support.
|
||||||
*/
|
*/
|
||||||
native GivePlayerItem(client, const String:item[], iSubType=0);
|
native int GivePlayerItem(int client, const char[] item, int iSubType=0);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the weapon in a player's slot.
|
* Returns the weapon in a player's slot.
|
||||||
@ -65,7 +65,7 @@ native GivePlayerItem(client, const String:item[], iSubType=0);
|
|||||||
* @return Entity index on success, -1 if no weapon existed.
|
* @return Entity index on success, -1 if no weapon existed.
|
||||||
* @error Invalid client or client not in game, or lack of mod support.
|
* @error Invalid client or client not in game, or lack of mod support.
|
||||||
*/
|
*/
|
||||||
native GetPlayerWeaponSlot(client, slot);
|
native int GetPlayerWeaponSlot(int client, int slot);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Ignites an entity on fire.
|
* Ignites an entity on fire.
|
||||||
@ -75,19 +75,17 @@ native GetPlayerWeaponSlot(client, slot);
|
|||||||
* @param npc True to only affect NPCs.
|
* @param npc True to only affect NPCs.
|
||||||
* @param size Unknown.
|
* @param size Unknown.
|
||||||
* @param level Unknown.
|
* @param level Unknown.
|
||||||
* @noreturn
|
|
||||||
* @error Invalid entity or client not in game, or lack of mod support.
|
* @error Invalid entity or client not in game, or lack of mod support.
|
||||||
*/
|
*/
|
||||||
native IgniteEntity(entity, Float:time, bool:npc=false, Float:size=0.0, bool:level=false);
|
native void IgniteEntity(int entity, float time, bool npc=false, float size=0.0, bool level=false);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Extinguishes an entity that is on fire.
|
* Extinguishes an entity that is on fire.
|
||||||
*
|
*
|
||||||
* @param entity Entity index.
|
* @param entity Entity index.
|
||||||
* @noreturn
|
|
||||||
* @error Invalid entity or client not in game, or lack of mod support.
|
* @error Invalid entity or client not in game, or lack of mod support.
|
||||||
*/
|
*/
|
||||||
native ExtinguishEntity(entity);
|
native void ExtinguishEntity(int entity);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Teleports an entity.
|
* Teleports an entity.
|
||||||
@ -96,19 +94,17 @@ native ExtinguishEntity(entity);
|
|||||||
* @param origin New origin, or NULL_VECTOR for no change.
|
* @param origin New origin, or NULL_VECTOR for no change.
|
||||||
* @param angles New angles, or NULL_VECTOR for no change.
|
* @param angles New angles, or NULL_VECTOR for no change.
|
||||||
* @param velocity New velocity, or NULL_VECTOR for no change.
|
* @param velocity New velocity, or NULL_VECTOR for no change.
|
||||||
* @noreturn
|
|
||||||
* @error Invalid entity or client not in game, or lack of mod support.
|
* @error Invalid entity or client not in game, or lack of mod support.
|
||||||
*/
|
*/
|
||||||
native TeleportEntity(entity, const Float:origin[3], const Float:angles[3], const Float:velocity[3]);
|
native void TeleportEntity(int entity, const float origin[3], const float angles[3], const float velocity[3]);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Forces a player to commit suicide.
|
* Forces a player to commit suicide.
|
||||||
*
|
*
|
||||||
* @param client Client index.
|
* @param client Client index.
|
||||||
* @noreturn
|
|
||||||
* @error Invalid client or client not in game, or lack of mod support.
|
* @error Invalid client or client not in game, or lack of mod support.
|
||||||
*/
|
*/
|
||||||
native ForcePlayerSuicide(client);
|
native void ForcePlayerSuicide(int client);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Slaps a player in a random direction.
|
* Slaps a player in a random direction.
|
||||||
@ -116,10 +112,9 @@ native ForcePlayerSuicide(client);
|
|||||||
* @param client Client index.
|
* @param client Client index.
|
||||||
* @param health Health to subtract.
|
* @param health Health to subtract.
|
||||||
* @param sound False to disable the sound effects.
|
* @param sound False to disable the sound effects.
|
||||||
* @noreturn
|
|
||||||
* @error Invalid client or client not in game, or lack of mod support.
|
* @error Invalid client or client not in game, or lack of mod support.
|
||||||
*/
|
*/
|
||||||
native SlapPlayer(client, health=5, bool:sound=true);
|
native void SlapPlayer(int client, int health=5, bool sound=true);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Searches for an entity by classname.
|
* Searches for an entity by classname.
|
||||||
@ -130,7 +125,7 @@ native SlapPlayer(client, health=5, bool:sound=true);
|
|||||||
* @return Entity index >= 0 if found, -1 otherwise.
|
* @return Entity index >= 0 if found, -1 otherwise.
|
||||||
* @error Lack of mod support.
|
* @error Lack of mod support.
|
||||||
*/
|
*/
|
||||||
native FindEntityByClassname(startEnt, const String:classname[]);
|
native int FindEntityByClassname(int startEnt, const char[] classname);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the client's eye angles.
|
* Returns the client's eye angles.
|
||||||
@ -140,7 +135,7 @@ native FindEntityByClassname(startEnt, const String:classname[]);
|
|||||||
* @return True on success, false on failure.
|
* @return True on success, false on failure.
|
||||||
* @error Invalid client index, client not in game, or no mod support.
|
* @error Invalid client index, client not in game, or no mod support.
|
||||||
*/
|
*/
|
||||||
native bool:GetClientEyeAngles(client, Float:ang[3]);
|
native bool GetClientEyeAngles(int client, float ang[3]);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates an entity by string name, but does not spawn it (see DispatchSpawn).
|
* Creates an entity by string name, but does not spawn it (see DispatchSpawn).
|
||||||
@ -152,7 +147,7 @@ native bool:GetClientEyeAngles(client, Float:ang[3]);
|
|||||||
* @return Entity index on success, or -1 on failure.
|
* @return Entity index on success, or -1 on failure.
|
||||||
* @error Invalid edict index, or no mod support.
|
* @error Invalid edict index, or no mod support.
|
||||||
*/
|
*/
|
||||||
native CreateEntityByName(const String:classname[], ForceEdictIndex=-1);
|
native int CreateEntityByName(const char[] classname, int ForceEdictIndex=-1);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Spawns an entity into the game.
|
* Spawns an entity into the game.
|
||||||
@ -161,7 +156,7 @@ native CreateEntityByName(const String:classname[], ForceEdictIndex=-1);
|
|||||||
* @return True on success, false otherwise.
|
* @return True on success, false otherwise.
|
||||||
* @error Invalid entity index, or no mod support.
|
* @error Invalid entity index, or no mod support.
|
||||||
*/
|
*/
|
||||||
native bool:DispatchSpawn(entity);
|
native bool DispatchSpawn(int entity);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Dispatches a KeyValue into given entity using a string value.
|
* Dispatches a KeyValue into given entity using a string value.
|
||||||
@ -172,7 +167,7 @@ native bool:DispatchSpawn(entity);
|
|||||||
* @return True on success, false otherwise.
|
* @return True on success, false otherwise.
|
||||||
* @error Invalid entity index, or no mod support.
|
* @error Invalid entity index, or no mod support.
|
||||||
*/
|
*/
|
||||||
native bool:DispatchKeyValue(entity, const String:keyName[], const String:value[]);
|
native bool DispatchKeyValue(int entity, const char[] keyName, const char[] value);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Dispatches a KeyValue into given entity using a floating point value.
|
* Dispatches a KeyValue into given entity using a floating point value.
|
||||||
@ -183,7 +178,7 @@ native bool:DispatchKeyValue(entity, const String:keyName[], const String:value[
|
|||||||
* @return True on success, false otherwise.
|
* @return True on success, false otherwise.
|
||||||
* @error Invalid entity index, or no mod support.
|
* @error Invalid entity index, or no mod support.
|
||||||
*/
|
*/
|
||||||
native bool:DispatchKeyValueFloat(entity, const String:keyName[], Float:value);
|
native bool DispatchKeyValueFloat(int entity, const char[] keyName, float value);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Dispatches a KeyValue into given entity using a vector value.
|
* Dispatches a KeyValue into given entity using a vector value.
|
||||||
@ -194,7 +189,7 @@ native bool:DispatchKeyValueFloat(entity, const String:keyName[], Float:value);
|
|||||||
* @return True on success, false otherwise.
|
* @return True on success, false otherwise.
|
||||||
* @error Invalid entity index, or no mod support.
|
* @error Invalid entity index, or no mod support.
|
||||||
*/
|
*/
|
||||||
native bool:DispatchKeyValueVector(entity, const String:keyName[], const Float:vec[3]);
|
native bool DispatchKeyValueVector(int entity, const char[] keyName, const float vec[3]);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the entity a client is aiming at.
|
* Returns the entity a client is aiming at.
|
||||||
@ -206,7 +201,7 @@ native bool:DispatchKeyValueVector(entity, const String:keyName[], const Float:v
|
|||||||
* -2 if the function is not supported.
|
* -2 if the function is not supported.
|
||||||
* @error Invalid client index or client not in game.
|
* @error Invalid client index or client not in game.
|
||||||
*/
|
*/
|
||||||
native GetClientAimTarget(client, bool:only_clients=true);
|
native int GetClientAimTarget(int client, bool only_clients=true);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the total number of teams in a game.
|
* Returns the total number of teams in a game.
|
||||||
@ -214,7 +209,7 @@ native GetClientAimTarget(client, bool:only_clients=true);
|
|||||||
*
|
*
|
||||||
* @return Total number of teams.
|
* @return Total number of teams.
|
||||||
*/
|
*/
|
||||||
native GetTeamCount();
|
native int GetTeamCount();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Retrieves the team name based on a team index.
|
* Retrieves the team name based on a team index.
|
||||||
@ -223,10 +218,9 @@ native GetTeamCount();
|
|||||||
* @param index Team index.
|
* @param index Team index.
|
||||||
* @param name Buffer to store string in.
|
* @param name Buffer to store string in.
|
||||||
* @param maxlength Maximum length of string buffer.
|
* @param maxlength Maximum length of string buffer.
|
||||||
* @noreturn
|
|
||||||
* @error Invalid team index.
|
* @error Invalid team index.
|
||||||
*/
|
*/
|
||||||
native GetTeamName(index, String:name[], maxlength);
|
native void GetTeamName(int index, char[] name, int maxlength);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the score of a team based on a team index.
|
* Returns the score of a team based on a team index.
|
||||||
@ -236,7 +230,7 @@ native GetTeamName(index, String:name[], maxlength);
|
|||||||
* @return Score.
|
* @return Score.
|
||||||
* @error Invalid team index.
|
* @error Invalid team index.
|
||||||
*/
|
*/
|
||||||
native GetTeamScore(index);
|
native int GetTeamScore(int index);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets the score of a team based on a team index.
|
* Sets the score of a team based on a team index.
|
||||||
@ -244,10 +238,9 @@ native GetTeamScore(index);
|
|||||||
*
|
*
|
||||||
* @param index Team index.
|
* @param index Team index.
|
||||||
* @param value New score value.
|
* @param value New score value.
|
||||||
* @return Score.
|
|
||||||
* @error Invalid team index.
|
* @error Invalid team index.
|
||||||
*/
|
*/
|
||||||
native SetTeamScore(index, value);
|
native void SetTeamScore(int index, int value);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Retrieves the number of players in a certain team.
|
* Retrieves the number of players in a certain team.
|
||||||
@ -257,7 +250,7 @@ native SetTeamScore(index, value);
|
|||||||
* @return Number of players in the team.
|
* @return Number of players in the team.
|
||||||
* @error Invalid team index.
|
* @error Invalid team index.
|
||||||
*/
|
*/
|
||||||
native GetTeamClientCount(index);
|
native int GetTeamClientCount(int index);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the entity index of a team.
|
* Returns the entity index of a team.
|
||||||
@ -273,10 +266,9 @@ native int GetTeamEntity(int teamIndex);
|
|||||||
*
|
*
|
||||||
* @param entity Entity index.
|
* @param entity Entity index.
|
||||||
* @param model Model name.
|
* @param model Model name.
|
||||||
* @noreturn
|
|
||||||
* @error Invalid entity index, or no mod support.
|
* @error Invalid entity index, or no mod support.
|
||||||
*/
|
*/
|
||||||
native SetEntityModel(entity, const String:model[]);
|
native void SetEntityModel(int entity, const char[] model);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Retrieves the decal file name associated with a given client.
|
* Retrieves the decal file name associated with a given client.
|
||||||
@ -287,7 +279,7 @@ native SetEntityModel(entity, const String:model[]);
|
|||||||
* @return True on success, otherwise false.
|
* @return True on success, otherwise false.
|
||||||
* @error Invalid client or client not in game.
|
* @error Invalid client or client not in game.
|
||||||
*/
|
*/
|
||||||
native bool:GetPlayerDecalFile(client, String:hex[], maxlength);
|
native bool GetPlayerDecalFile(int client, char[] hex, int maxlength);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Retrieves the jingle file name associated with a given client.
|
* Retrieves the jingle file name associated with a given client.
|
||||||
@ -298,36 +290,33 @@ native bool:GetPlayerDecalFile(client, String:hex[], maxlength);
|
|||||||
* @return True on success, otherwise false.
|
* @return True on success, otherwise false.
|
||||||
* @error Invalid client or client not in game.
|
* @error Invalid client or client not in game.
|
||||||
*/
|
*/
|
||||||
native bool:GetPlayerJingleFile(client, String:hex[], maxlength);
|
native bool GetPlayerJingleFile(int client, char[] hex, int maxlength);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the average server network traffic in bytes/sec.
|
* Returns the average server network traffic in bytes/sec.
|
||||||
*
|
*
|
||||||
* @param in Buffer to store the input traffic velocity.
|
* @param in Buffer to store the input traffic velocity.
|
||||||
* @param out Buffer to store the output traffic velocity.
|
* @param out Buffer to store the output traffic velocity.
|
||||||
* @noreturn
|
|
||||||
*/
|
*/
|
||||||
native GetServerNetStats(&Float:inAmount, &Float:outAmout);
|
native void GetServerNetStats(float &inAmount, float &outAmout);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Equip's a player's weapon.
|
* Equip's a player's weapon.
|
||||||
*
|
*
|
||||||
* @param client Client index.
|
* @param client Client index.
|
||||||
* @param weapon CBaseCombatWeapon entity index.
|
* @param weapon CBaseCombatWeapon entity index.
|
||||||
* @noreturn
|
|
||||||
* @error Invalid client or entity, lack of mod support, or client not in
|
* @error Invalid client or entity, lack of mod support, or client not in
|
||||||
* game.
|
* game.
|
||||||
*/
|
*/
|
||||||
native EquipPlayerWeapon(client, weapon);
|
native void EquipPlayerWeapon(int client, int weapon);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Activates an entity (CBaseAnimating::Activate)
|
* Activates an entity (CBaseAnimating::Activate)
|
||||||
*
|
*
|
||||||
* @param entity Entity index.
|
* @param entity Entity index.
|
||||||
* @noreturn
|
|
||||||
* @error Invalid entity or lack of mod support.
|
* @error Invalid entity or lack of mod support.
|
||||||
*/
|
*/
|
||||||
native ActivateEntity(entity);
|
native void ActivateEntity(int entity);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets values to client info buffer keys and notifies the engine of the change.
|
* Sets values to client info buffer keys and notifies the engine of the change.
|
||||||
@ -336,10 +325,9 @@ native ActivateEntity(entity);
|
|||||||
* @param client Player's index.
|
* @param client Player's index.
|
||||||
* @param key Key string.
|
* @param key Key string.
|
||||||
* @param value Value string.
|
* @param value Value string.
|
||||||
* @noreturn
|
|
||||||
* @error Invalid client index, or client not connected.
|
* @error Invalid client index, or client not connected.
|
||||||
*/
|
*/
|
||||||
native SetClientInfo(client, const String:key[], const String:value[]);
|
native void SetClientInfo(int client, const char[] key, const char[] value);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Changes a client's name.
|
* Changes a client's name.
|
||||||
@ -361,4 +349,4 @@ native void SetClientName(int client, const char[] name);
|
|||||||
*
|
*
|
||||||
* @return Amount of ammo actually given.
|
* @return Amount of ammo actually given.
|
||||||
*/
|
*/
|
||||||
native GivePlayerAmmo(client, amount, ammotype, bool:suppressSound=false);
|
native int GivePlayerAmmo(int client, int amount, int ammotype, bool suppressSound=false);
|
||||||
|
@ -125,9 +125,8 @@ enum
|
|||||||
* Prefetches a sound.
|
* Prefetches a sound.
|
||||||
*
|
*
|
||||||
* @param name Sound file name relative to the "sounds" folder.
|
* @param name Sound file name relative to the "sounds" folder.
|
||||||
* @noreturn
|
|
||||||
*/
|
*/
|
||||||
native PrefetchSound(const String:name[]);
|
native void PrefetchSound(const char[] name);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This function is not known to work, and may crash. You should
|
* This function is not known to work, and may crash. You should
|
||||||
@ -137,7 +136,7 @@ native PrefetchSound(const String:name[]);
|
|||||||
* @return Duration in seconds.
|
* @return Duration in seconds.
|
||||||
*/
|
*/
|
||||||
#pragma deprecated Does not work, may crash.
|
#pragma deprecated Does not work, may crash.
|
||||||
native Float:GetSoundDuration(const String:name[]);
|
native float GetSoundDuration(const char[] name);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Emits an ambient sound.
|
* Emits an ambient sound.
|
||||||
@ -150,16 +149,15 @@ native Float:GetSoundDuration(const String:name[]);
|
|||||||
* @param vol Volume (from 0.0 to 1.0).
|
* @param vol Volume (from 0.0 to 1.0).
|
||||||
* @param pitch Pitch (from 0 to 255).
|
* @param pitch Pitch (from 0 to 255).
|
||||||
* @param delay Play delay.
|
* @param delay Play delay.
|
||||||
* @noreturn
|
|
||||||
*/
|
*/
|
||||||
native EmitAmbientSound(const String:name[],
|
native void EmitAmbientSound(const char[] name,
|
||||||
const Float:pos[3],
|
const float pos[3],
|
||||||
entity = SOUND_FROM_WORLD,
|
int entity = SOUND_FROM_WORLD,
|
||||||
level = SNDLEVEL_NORMAL,
|
int level = SNDLEVEL_NORMAL,
|
||||||
flags = SND_NOFLAGS,
|
int flags = SND_NOFLAGS,
|
||||||
Float:vol = SNDVOL_NORMAL,
|
float vol = SNDVOL_NORMAL,
|
||||||
pitch = SNDPITCH_NORMAL,
|
int pitch = SNDPITCH_NORMAL,
|
||||||
Float:delay = 0.0);
|
float delay = 0.0);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Fades a client's volume level toward silence or a given percentage.
|
* Fades a client's volume level toward silence or a given percentage.
|
||||||
@ -169,10 +167,9 @@ native EmitAmbientSound(const String:name[],
|
|||||||
* @param outtime Fade out time, in seconds.
|
* @param outtime Fade out time, in seconds.
|
||||||
* @param holdtime Hold time, in seconds.
|
* @param holdtime Hold time, in seconds.
|
||||||
* @param intime Fade in time, in seconds.
|
* @param intime Fade in time, in seconds.
|
||||||
* @noreturn
|
|
||||||
* @error Invalid client index or client not in game.
|
* @error Invalid client index or client not in game.
|
||||||
*/
|
*/
|
||||||
native FadeClientVolume(client, Float:percent, Float:outtime, Float:holdtime, Float:intime);
|
native void FadeClientVolume(int client, float percent, float outtime, float holdtime, float intime);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Stops a sound.
|
* Stops a sound.
|
||||||
@ -180,9 +177,8 @@ native FadeClientVolume(client, Float:percent, Float:outtime, Float:holdtime, Fl
|
|||||||
* @param entity Entity index.
|
* @param entity Entity index.
|
||||||
* @param channel Channel number.
|
* @param channel Channel number.
|
||||||
* @param name Sound file name relative to the "sounds" folder.
|
* @param name Sound file name relative to the "sounds" folder.
|
||||||
* @noreturn
|
|
||||||
*/
|
*/
|
||||||
native StopSound(entity, channel, const String:name[]);
|
native void StopSound(int entity, int channel, const char[] name);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Emits a sound to a list of clients.
|
* Emits a sound to a list of clients.
|
||||||
@ -202,24 +198,23 @@ native StopSound(entity, channel, const String:name[]);
|
|||||||
* @param updatePos Unknown (updates positions?)
|
* @param updatePos Unknown (updates positions?)
|
||||||
* @param soundtime Alternate time to play sound for.
|
* @param soundtime Alternate time to play sound for.
|
||||||
* @param ... Optional list of Float[3] arrays to specify additional origins.
|
* @param ... Optional list of Float[3] arrays to specify additional origins.
|
||||||
* @noreturn
|
|
||||||
* @error Invalid client index.
|
* @error Invalid client index.
|
||||||
*/
|
*/
|
||||||
native EmitSound(const clients[],
|
native void EmitSound(const int[] clients,
|
||||||
numClients,
|
int numClients,
|
||||||
const String:sample[],
|
const char[] sample,
|
||||||
entity = SOUND_FROM_PLAYER,
|
int entity = SOUND_FROM_PLAYER,
|
||||||
channel = SNDCHAN_AUTO,
|
int channel = SNDCHAN_AUTO,
|
||||||
level = SNDLEVEL_NORMAL,
|
int level = SNDLEVEL_NORMAL,
|
||||||
flags = SND_NOFLAGS,
|
int flags = SND_NOFLAGS,
|
||||||
Float:volume = SNDVOL_NORMAL,
|
float volume = SNDVOL_NORMAL,
|
||||||
pitch = SNDPITCH_NORMAL,
|
int pitch = SNDPITCH_NORMAL,
|
||||||
speakerentity = -1,
|
int speakerentity = -1,
|
||||||
const Float:origin[3] = NULL_VECTOR,
|
const float origin[3] = NULL_VECTOR,
|
||||||
const Float:dir[3] = NULL_VECTOR,
|
const float dir[3] = NULL_VECTOR,
|
||||||
bool:updatePos = true,
|
bool updatePos = true,
|
||||||
Float:soundtime = 0.0,
|
float soundtime = 0.0,
|
||||||
any:...);
|
any ...);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Emits a sound or game sound to a list of clients using the latest version of the engine sound interface.
|
* Emits a sound or game sound to a list of clients using the latest version of the engine sound interface.
|
||||||
@ -242,26 +237,25 @@ native EmitSound(const clients[],
|
|||||||
* @param updatePos Unknown (updates positions?)
|
* @param updatePos Unknown (updates positions?)
|
||||||
* @param soundtime Alternate time to play sound for.
|
* @param soundtime Alternate time to play sound for.
|
||||||
* @param ... Optional list of Float[3] arrays to specify additional origins.
|
* @param ... Optional list of Float[3] arrays to specify additional origins.
|
||||||
* @noreturn
|
|
||||||
* @error Invalid client index.
|
* @error Invalid client index.
|
||||||
*/
|
*/
|
||||||
native EmitSoundEntry(const clients[],
|
native void EmitSoundEntry(const int[] clients,
|
||||||
numClients,
|
int numClients,
|
||||||
const String:soundEntry[],
|
const char[] soundEntry,
|
||||||
const String:sample[],
|
const char[] sample,
|
||||||
entity = SOUND_FROM_PLAYER,
|
int entity = SOUND_FROM_PLAYER,
|
||||||
channel = SNDCHAN_AUTO,
|
int channel = SNDCHAN_AUTO,
|
||||||
level = SNDLEVEL_NORMAL,
|
int level = SNDLEVEL_NORMAL,
|
||||||
seed = 0,
|
int seed = 0,
|
||||||
flags = SND_NOFLAGS,
|
int flags = SND_NOFLAGS,
|
||||||
Float:volume = SNDVOL_NORMAL,
|
float volume = SNDVOL_NORMAL,
|
||||||
pitch = SNDPITCH_NORMAL,
|
int pitch = SNDPITCH_NORMAL,
|
||||||
speakerentity = -1,
|
int speakerentity = -1,
|
||||||
const Float:origin[3] = NULL_VECTOR,
|
const float origin[3] = NULL_VECTOR,
|
||||||
const Float:dir[3] = NULL_VECTOR,
|
const float dir[3] = NULL_VECTOR,
|
||||||
bool:updatePos = true,
|
bool updatePos = true,
|
||||||
Float:soundtime = 0.0,
|
float soundtime = 0.0,
|
||||||
any:...);
|
any ...);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Emits a sentence to a list of clients.
|
* Emits a sentence to a list of clients.
|
||||||
@ -281,24 +275,23 @@ native EmitSoundEntry(const clients[],
|
|||||||
* @param updatePos Unknown (updates positions?)
|
* @param updatePos Unknown (updates positions?)
|
||||||
* @param soundtime Alternate time to play sound for.
|
* @param soundtime Alternate time to play sound for.
|
||||||
* @param ... Optional list of Float[3] arrays to specify additional origins.
|
* @param ... Optional list of Float[3] arrays to specify additional origins.
|
||||||
* @noreturn
|
|
||||||
* @error Invalid client index.
|
* @error Invalid client index.
|
||||||
*/
|
*/
|
||||||
native EmitSentence(const clients[],
|
native void EmitSentence(const int[] clients,
|
||||||
numClients,
|
int numClients,
|
||||||
sentence,
|
int sentence,
|
||||||
entity,
|
int entity,
|
||||||
channel = SNDCHAN_AUTO,
|
int channel = SNDCHAN_AUTO,
|
||||||
level = SNDLEVEL_NORMAL,
|
int level = SNDLEVEL_NORMAL,
|
||||||
flags = SND_NOFLAGS,
|
int flags = SND_NOFLAGS,
|
||||||
Float:volume = SNDVOL_NORMAL,
|
float volume = SNDVOL_NORMAL,
|
||||||
pitch = SNDPITCH_NORMAL,
|
int pitch = SNDPITCH_NORMAL,
|
||||||
speakerentity = -1,
|
int speakerentity = -1,
|
||||||
const Float:origin[3] = NULL_VECTOR,
|
const float origin[3] = NULL_VECTOR,
|
||||||
const Float:dir[3] = NULL_VECTOR,
|
const float dir[3] = NULL_VECTOR,
|
||||||
bool:updatePos = true,
|
bool updatePos = true,
|
||||||
Float:soundtime = 0.0,
|
float soundtime = 0.0,
|
||||||
any:...);
|
any ...);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Calculates gain of sound on given distance with given sound level in decibel
|
* Calculates gain of sound on given distance with given sound level in decibel
|
||||||
@ -307,7 +300,7 @@ native EmitSentence(const clients[],
|
|||||||
* @param distance distance of sound to calculate, not meter or feet, but Source Engine`s normal Coordinate unit
|
* @param distance distance of sound to calculate, not meter or feet, but Source Engine`s normal Coordinate unit
|
||||||
* @return gain of sound. you can multiply this with original sound`s volume to calculate volume on given distance
|
* @return gain of sound. you can multiply this with original sound`s volume to calculate volume on given distance
|
||||||
*/
|
*/
|
||||||
native Float:GetDistGainFromSoundLevel(soundlevel, Float:distance);
|
native float GetDistGainFromSoundLevel(int soundlevel, float distance);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Called when an ambient sound is about to be emitted to one or more clients.
|
* Called when an ambient sound is about to be emitted to one or more clients.
|
||||||
@ -372,37 +365,33 @@ typeset NormalSHook
|
|||||||
* Hooks all played ambient sounds.
|
* Hooks all played ambient sounds.
|
||||||
*
|
*
|
||||||
* @param hook Function to use as a hook.
|
* @param hook Function to use as a hook.
|
||||||
* @noreturn
|
|
||||||
* @error Invalid function hook.
|
* @error Invalid function hook.
|
||||||
*/
|
*/
|
||||||
native AddAmbientSoundHook(AmbientSHook:hook);
|
native void AddAmbientSoundHook(AmbientSHook hook);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Hooks all played normal sounds.
|
* Hooks all played normal sounds.
|
||||||
*
|
*
|
||||||
* @param hook Function to use as a hook.
|
* @param hook Function to use as a hook.
|
||||||
* @noreturn
|
|
||||||
* @error Invalid function hook.
|
* @error Invalid function hook.
|
||||||
*/
|
*/
|
||||||
native AddNormalSoundHook(NormalSHook:hook);
|
native void AddNormalSoundHook(NormalSHook hook);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Unhooks all played ambient sounds.
|
* Unhooks all played ambient sounds.
|
||||||
*
|
*
|
||||||
* @param hook Function used for the hook.
|
* @param hook Function used for the hook.
|
||||||
* @noreturn
|
|
||||||
* @error Invalid function hook.
|
* @error Invalid function hook.
|
||||||
*/
|
*/
|
||||||
native RemoveAmbientSoundHook(AmbientSHook:hook);
|
native void RemoveAmbientSoundHook(AmbientSHook hook);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Unhooks all played normal sounds.
|
* Unhooks all played normal sounds.
|
||||||
*
|
*
|
||||||
* @param hook Function used for the hook.
|
* @param hook Function used for the hook.
|
||||||
* @noreturn
|
|
||||||
* @error Invalid function hook.
|
* @error Invalid function hook.
|
||||||
*/
|
*/
|
||||||
native RemoveNormalSoundHook(NormalSHook:hook);
|
native void RemoveNormalSoundHook(NormalSHook hook);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Wrapper to emit sound to one client.
|
* Wrapper to emit sound to one client.
|
||||||
@ -420,24 +409,23 @@ native RemoveNormalSoundHook(NormalSHook:hook);
|
|||||||
* @param dir Sound direction.
|
* @param dir Sound direction.
|
||||||
* @param updatePos Unknown (updates positions?)
|
* @param updatePos Unknown (updates positions?)
|
||||||
* @param soundtime Alternate time to play sound for.
|
* @param soundtime Alternate time to play sound for.
|
||||||
* @noreturn
|
|
||||||
* @error Invalid client index.
|
* @error Invalid client index.
|
||||||
*/
|
*/
|
||||||
stock EmitSoundToClient(client,
|
stock void EmitSoundToClient(int client,
|
||||||
const String:sample[],
|
const char[] sample,
|
||||||
entity = SOUND_FROM_PLAYER,
|
int entity = SOUND_FROM_PLAYER,
|
||||||
channel = SNDCHAN_AUTO,
|
int channel = SNDCHAN_AUTO,
|
||||||
level = SNDLEVEL_NORMAL,
|
int level = SNDLEVEL_NORMAL,
|
||||||
flags = SND_NOFLAGS,
|
int flags = SND_NOFLAGS,
|
||||||
Float:volume = SNDVOL_NORMAL,
|
float volume = SNDVOL_NORMAL,
|
||||||
pitch = SNDPITCH_NORMAL,
|
int pitch = SNDPITCH_NORMAL,
|
||||||
speakerentity = -1,
|
int speakerentity = -1,
|
||||||
const Float:origin[3] = NULL_VECTOR,
|
const float origin[3] = NULL_VECTOR,
|
||||||
const Float:dir[3] = NULL_VECTOR,
|
const float dir[3] = NULL_VECTOR,
|
||||||
bool:updatePos = true,
|
bool updatePos = true,
|
||||||
Float:soundtime = 0.0)
|
float soundtime = 0.0)
|
||||||
{
|
{
|
||||||
new clients[1];
|
int clients[1];
|
||||||
clients[0] = client;
|
clients[0] = client;
|
||||||
/* Save some work for SDKTools and remove SOUND_FROM_PLAYER references */
|
/* Save some work for SDKTools and remove SOUND_FROM_PLAYER references */
|
||||||
entity = (entity == SOUND_FROM_PLAYER) ? client : entity;
|
entity = (entity == SOUND_FROM_PLAYER) ? client : entity;
|
||||||
@ -461,26 +449,25 @@ stock EmitSoundToClient(client,
|
|||||||
* @param dir Sound direction.
|
* @param dir Sound direction.
|
||||||
* @param updatePos Unknown (updates positions?)
|
* @param updatePos Unknown (updates positions?)
|
||||||
* @param soundtime Alternate time to play sound for.
|
* @param soundtime Alternate time to play sound for.
|
||||||
* @noreturn
|
|
||||||
* @error Invalid client index.
|
* @error Invalid client index.
|
||||||
*/
|
*/
|
||||||
stock EmitSoundToAll(const String:sample[],
|
stock void EmitSoundToAll(const char[] sample,
|
||||||
entity = SOUND_FROM_PLAYER,
|
int entity = SOUND_FROM_PLAYER,
|
||||||
channel = SNDCHAN_AUTO,
|
int channel = SNDCHAN_AUTO,
|
||||||
level = SNDLEVEL_NORMAL,
|
int level = SNDLEVEL_NORMAL,
|
||||||
flags = SND_NOFLAGS,
|
int flags = SND_NOFLAGS,
|
||||||
Float:volume = SNDVOL_NORMAL,
|
float volume = SNDVOL_NORMAL,
|
||||||
pitch = SNDPITCH_NORMAL,
|
int pitch = SNDPITCH_NORMAL,
|
||||||
speakerentity = -1,
|
int speakerentity = -1,
|
||||||
const Float:origin[3] = NULL_VECTOR,
|
const float origin[3] = NULL_VECTOR,
|
||||||
const Float:dir[3] = NULL_VECTOR,
|
const float dir[3] = NULL_VECTOR,
|
||||||
bool:updatePos = true,
|
bool updatePos = true,
|
||||||
Float:soundtime = 0.0)
|
float soundtime = 0.0)
|
||||||
{
|
{
|
||||||
new clients[MaxClients];
|
int[] clients = new int[MaxClients];
|
||||||
new total = 0;
|
int total = 0;
|
||||||
|
|
||||||
for (new i=1; i<=MaxClients; i++)
|
for (int i=1; i<=MaxClients; i++)
|
||||||
{
|
{
|
||||||
if (IsClientInGame(i))
|
if (IsClientInGame(i))
|
||||||
{
|
{
|
||||||
@ -505,7 +492,7 @@ stock EmitSoundToAll(const String:sample[],
|
|||||||
* @param attn Attenuation value.
|
* @param attn Attenuation value.
|
||||||
* @return Integer sound level.
|
* @return Integer sound level.
|
||||||
*/
|
*/
|
||||||
stock ATTN_TO_SNDLEVEL(Float:attn)
|
stock int ATTN_TO_SNDLEVEL(float attn)
|
||||||
{
|
{
|
||||||
if (attn > 0.0)
|
if (attn > 0.0)
|
||||||
{
|
{
|
||||||
@ -534,14 +521,14 @@ stock ATTN_TO_SNDLEVEL(Float:attn)
|
|||||||
* @return True if the sound was successfully retrieved, false if it
|
* @return True if the sound was successfully retrieved, false if it
|
||||||
* was not found
|
* was not found
|
||||||
*/
|
*/
|
||||||
native bool:GetGameSoundParams(const String:gameSound[],
|
native bool GetGameSoundParams(const char[] gameSound,
|
||||||
&channel,
|
int &channel,
|
||||||
&soundLevel,
|
int &soundLevel,
|
||||||
&Float:volume,
|
float &volume,
|
||||||
&pitch,
|
int &pitch,
|
||||||
String:sample[],
|
char[] sample,
|
||||||
maxlength,
|
int maxlength,
|
||||||
entity=SOUND_FROM_PLAYER);
|
int entity=SOUND_FROM_PLAYER);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Emits a game sound to a list of clients.
|
* Emits a game sound to a list of clients.
|
||||||
@ -565,22 +552,22 @@ native bool:GetGameSoundParams(const String:gameSound[],
|
|||||||
* @return True if the sound was played successfully, false if it failed
|
* @return True if the sound was played successfully, false if it failed
|
||||||
* @error Invalid client index.
|
* @error Invalid client index.
|
||||||
*/
|
*/
|
||||||
stock bool:EmitGameSound(const clients[],
|
stock bool EmitGameSound(const int[] clients,
|
||||||
numClients,
|
int numClients,
|
||||||
const String:gameSound[],
|
const char[] gameSound,
|
||||||
entity = SOUND_FROM_PLAYER,
|
int entity = SOUND_FROM_PLAYER,
|
||||||
flags = SND_NOFLAGS,
|
int flags = SND_NOFLAGS,
|
||||||
speakerentity = -1,
|
int speakerentity = -1,
|
||||||
const Float:origin[3] = NULL_VECTOR,
|
const float origin[3] = NULL_VECTOR,
|
||||||
const Float:dir[3] = NULL_VECTOR,
|
const float dir[3] = NULL_VECTOR,
|
||||||
bool:updatePos = true,
|
bool updatePos = true,
|
||||||
Float:soundtime = 0.0)
|
float soundtime = 0.0)
|
||||||
{
|
{
|
||||||
new channel;
|
int channel;
|
||||||
new level;
|
int level;
|
||||||
new Float:volume;
|
float volume;
|
||||||
new pitch;
|
int pitch;
|
||||||
new String:sample[PLATFORM_MAX_PATH];
|
char sample[PLATFORM_MAX_PATH];
|
||||||
|
|
||||||
if (GetGameSoundParams(gameSound, channel, level, volume, pitch, sample, sizeof(sample), entity))
|
if (GetGameSoundParams(gameSound, channel, level, volume, pitch, sample, sizeof(sample), entity))
|
||||||
{
|
{
|
||||||
@ -607,19 +594,18 @@ stock bool:EmitGameSound(const clients[],
|
|||||||
* @param entity Entity index to associate sound with.
|
* @param entity Entity index to associate sound with.
|
||||||
* @param flags Sound flags.
|
* @param flags Sound flags.
|
||||||
* @param delay Play delay.
|
* @param delay Play delay.
|
||||||
* @noreturn
|
|
||||||
*/
|
*/
|
||||||
stock bool:EmitAmbientGameSound(const String:gameSound[],
|
stock bool EmitAmbientGameSound(const char[] gameSound,
|
||||||
const Float:pos[3],
|
const float pos[3],
|
||||||
entity = SOUND_FROM_WORLD,
|
int entity = SOUND_FROM_WORLD,
|
||||||
flags = SND_NOFLAGS,
|
int flags = SND_NOFLAGS,
|
||||||
Float:delay = 0.0)
|
float delay = 0.0)
|
||||||
{
|
{
|
||||||
new channel; // This is never actually used for Ambients, but it's a mandatory field to GetGameSoundParams
|
int channel; // This is never actually used for Ambients, but it's a mandatory field to GetGameSoundParams
|
||||||
new level;
|
int level;
|
||||||
new Float:volume;
|
float volume;
|
||||||
new pitch;
|
int pitch;
|
||||||
new String:sample[PLATFORM_MAX_PATH];
|
char sample[PLATFORM_MAX_PATH];
|
||||||
|
|
||||||
if (GetGameSoundParams(gameSound, channel, level, volume, pitch, sample, sizeof(sample), entity))
|
if (GetGameSoundParams(gameSound, channel, level, volume, pitch, sample, sizeof(sample), entity))
|
||||||
{
|
{
|
||||||
@ -650,20 +636,19 @@ stock bool:EmitAmbientGameSound(const String:gameSound[],
|
|||||||
* @param dir Sound direction.
|
* @param dir Sound direction.
|
||||||
* @param updatePos Unknown (updates positions?)
|
* @param updatePos Unknown (updates positions?)
|
||||||
* @param soundtime Alternate time to play sound for.
|
* @param soundtime Alternate time to play sound for.
|
||||||
* @noreturn
|
|
||||||
* @error Invalid client index.
|
* @error Invalid client index.
|
||||||
*/
|
*/
|
||||||
stock bool:EmitGameSoundToClient(client,
|
stock bool EmitGameSoundToClient(int client,
|
||||||
const String:gameSound[],
|
const char[] gameSound,
|
||||||
entity = SOUND_FROM_PLAYER,
|
int entity = SOUND_FROM_PLAYER,
|
||||||
flags = SND_NOFLAGS,
|
int flags = SND_NOFLAGS,
|
||||||
speakerentity = -1,
|
int speakerentity = -1,
|
||||||
const Float:origin[3] = NULL_VECTOR,
|
const float origin[3] = NULL_VECTOR,
|
||||||
const Float:dir[3] = NULL_VECTOR,
|
const float dir[3] = NULL_VECTOR,
|
||||||
bool:updatePos = true,
|
bool updatePos = true,
|
||||||
Float:soundtime = 0.0)
|
float soundtime = 0.0)
|
||||||
{
|
{
|
||||||
new clients[1];
|
int clients[1];
|
||||||
clients[0] = client;
|
clients[0] = client;
|
||||||
/* Save some work for SDKTools and remove SOUND_FROM_PLAYER references */
|
/* Save some work for SDKTools and remove SOUND_FROM_PLAYER references */
|
||||||
entity = (entity == SOUND_FROM_PLAYER) ? client : entity;
|
entity = (entity == SOUND_FROM_PLAYER) ? client : entity;
|
||||||
@ -688,22 +673,21 @@ stock bool:EmitGameSoundToClient(client,
|
|||||||
* @param dir Sound direction.
|
* @param dir Sound direction.
|
||||||
* @param updatePos Unknown (updates positions?)
|
* @param updatePos Unknown (updates positions?)
|
||||||
* @param soundtime Alternate time to play sound for.
|
* @param soundtime Alternate time to play sound for.
|
||||||
* @noreturn
|
|
||||||
* @error Invalid client index.
|
* @error Invalid client index.
|
||||||
*/
|
*/
|
||||||
stock bool:EmitGameSoundToAll(const String:gameSound[],
|
stock bool EmitGameSoundToAll(const char[] gameSound,
|
||||||
entity = SOUND_FROM_PLAYER,
|
int entity = SOUND_FROM_PLAYER,
|
||||||
flags = SND_NOFLAGS,
|
int flags = SND_NOFLAGS,
|
||||||
speakerentity = -1,
|
int speakerentity = -1,
|
||||||
const Float:origin[3] = NULL_VECTOR,
|
const float origin[3] = NULL_VECTOR,
|
||||||
const Float:dir[3] = NULL_VECTOR,
|
const float dir[3] = NULL_VECTOR,
|
||||||
bool:updatePos = true,
|
bool updatePos = true,
|
||||||
Float:soundtime = 0.0)
|
float soundtime = 0.0)
|
||||||
{
|
{
|
||||||
new clients[MaxClients];
|
int[] clients = new int[MaxClients];
|
||||||
new total = 0;
|
int total = 0;
|
||||||
|
|
||||||
for (new i=1; i<=MaxClients; i++)
|
for (int i=1; i<=MaxClients; i++)
|
||||||
{
|
{
|
||||||
if (IsClientInGame(i))
|
if (IsClientInGame(i))
|
||||||
{
|
{
|
||||||
@ -738,4 +722,4 @@ stock bool:EmitGameSoundToAll(const String:gameSound[],
|
|||||||
* @return True if the game sound was found, false if sound did not exist
|
* @return True if the game sound was found, false if sound did not exist
|
||||||
* or had no files
|
* or had no files
|
||||||
*/
|
*/
|
||||||
native bool:PrecacheScriptSound(const String:soundname[]);
|
native bool PrecacheScriptSound(const char[] soundname);
|
||||||
|
@ -51,29 +51,26 @@ typedef TEHook = function Action (const char[] te_name, const int[] Players, int
|
|||||||
*
|
*
|
||||||
* @param te_name TE name to hook.
|
* @param te_name TE name to hook.
|
||||||
* @param hook Function to use as a hook.
|
* @param hook Function to use as a hook.
|
||||||
* @noreturn
|
|
||||||
* @error Temp Entity name not available or invalid function hook.
|
* @error Temp Entity name not available or invalid function hook.
|
||||||
*/
|
*/
|
||||||
native AddTempEntHook(const String:te_name[], TEHook:hook);
|
native void AddTempEntHook(const char[] te_name, TEHook hook);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Removes a temp entity hook.
|
* Removes a temp entity hook.
|
||||||
*
|
*
|
||||||
* @param te_name TE name to unhook.
|
* @param te_name TE name to unhook.
|
||||||
* @param hook Function used for the hook.
|
* @param hook Function used for the hook.
|
||||||
* @noreturn
|
|
||||||
* @error Temp Entity name not available or invalid function hook.
|
* @error Temp Entity name not available or invalid function hook.
|
||||||
*/
|
*/
|
||||||
native RemoveTempEntHook(const String:te_name[], TEHook:hook);
|
native void RemoveTempEntHook(const char[] te_name, TEHook hook);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Starts a temp entity transmission.
|
* Starts a temp entity transmission.
|
||||||
*
|
*
|
||||||
* @param te_name TE name.
|
* @param te_name TE name.
|
||||||
* @noreturn
|
|
||||||
* @error Temp Entity name not available.
|
* @error Temp Entity name not available.
|
||||||
*/
|
*/
|
||||||
native TE_Start(const String:te_name[]);
|
native void TE_Start(const char[] te_name);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Checks if a certain TE property exists.
|
* Checks if a certain TE property exists.
|
||||||
@ -81,17 +78,16 @@ native TE_Start(const String:te_name[]);
|
|||||||
* @param prop Property to use.
|
* @param prop Property to use.
|
||||||
* @return True if the property exists, otherwise false.
|
* @return True if the property exists, otherwise false.
|
||||||
*/
|
*/
|
||||||
native bool:TE_IsValidProp(const String:prop[]);
|
native bool TE_IsValidProp(const char[] prop);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets an integer value in the current temp entity.
|
* Sets an integer value in the current temp entity.
|
||||||
*
|
*
|
||||||
* @param prop Property to use.
|
* @param prop Property to use.
|
||||||
* @param value Integer value to set.
|
* @param value Integer value to set.
|
||||||
* @noreturn
|
|
||||||
* @error Property not found.
|
* @error Property not found.
|
||||||
*/
|
*/
|
||||||
native TE_WriteNum(const String:prop[], value);
|
native void TE_WriteNum(const char[] prop, int value);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Reads an integer value in the current temp entity.
|
* Reads an integer value in the current temp entity.
|
||||||
@ -100,56 +96,52 @@ native TE_WriteNum(const String:prop[], value);
|
|||||||
* @return Property value.
|
* @return Property value.
|
||||||
* @error Property not found.
|
* @error Property not found.
|
||||||
*/
|
*/
|
||||||
native TE_ReadNum(const String:prop[]);
|
native int TE_ReadNum(const char[] prop);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets a floating point number in the current temp entity.
|
* Sets a floating point number in the current temp entity.
|
||||||
*
|
*
|
||||||
* @param prop Property to use.
|
* @param prop Property to use.
|
||||||
* @param value Floating point number to set.
|
* @param value Floating point number to set.
|
||||||
* @noreturn
|
|
||||||
* @error Property not found.
|
* @error Property not found.
|
||||||
*/
|
*/
|
||||||
native TE_WriteFloat(const String:prop[], Float:value);
|
native void TE_WriteFloat(const char[] prop, float value);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Reads a floating point number in the current temp entity.
|
* Reads a floating point number in the current temp entity.
|
||||||
*
|
*
|
||||||
* @param prop Property to use.
|
* @param prop Property to use.
|
||||||
* @noreturn Property value.
|
* @return Property value.
|
||||||
* @error Property not found.
|
* @error Property not found.
|
||||||
*/
|
*/
|
||||||
native Float:TE_ReadFloat(const String:prop[]);
|
native float TE_ReadFloat(const char[] prop);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets a vector in the current temp entity.
|
* Sets a vector in the current temp entity.
|
||||||
*
|
*
|
||||||
* @param prop Property to use.
|
* @param prop Property to use.
|
||||||
* @param vector Vector to set.
|
* @param vector Vector to set.
|
||||||
* @noreturn
|
|
||||||
* @error Property not found.
|
* @error Property not found.
|
||||||
*/
|
*/
|
||||||
native TE_WriteVector(const String:prop[], const Float:vector[3]);
|
native void TE_WriteVector(const char[] prop, const float vector[3]);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Reads a vector in the current temp entity.
|
* Reads a vector in the current temp entity.
|
||||||
*
|
*
|
||||||
* @param prop Property to use.
|
* @param prop Property to use.
|
||||||
* @param vector Vector to read.
|
* @param vector Vector to read.
|
||||||
* @noreturn
|
|
||||||
* @error Property not found.
|
* @error Property not found.
|
||||||
*/
|
*/
|
||||||
native TE_ReadVector(const String:prop[], Float:vector[3]);
|
native void TE_ReadVector(const char[] prop, float vector[3]);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets a QAngle in the current temp entity.
|
* Sets a QAngle in the current temp entity.
|
||||||
*
|
*
|
||||||
* @param prop Property to use.
|
* @param prop Property to use.
|
||||||
* @param angles Angles to set.
|
* @param angles Angles to set.
|
||||||
* @return True on success, otherwise false.
|
|
||||||
* @error Property not found.
|
* @error Property not found.
|
||||||
*/
|
*/
|
||||||
native TE_WriteAngles(const String:prop[], const Float:angles[3]);
|
native void TE_WriteAngles(const char[] prop, const float angles[3]);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets an array of floats in the current temp entity.
|
* Sets an array of floats in the current temp entity.
|
||||||
@ -157,10 +149,9 @@ native TE_WriteAngles(const String:prop[], const Float:angles[3]);
|
|||||||
* @param prop Property to use.
|
* @param prop Property to use.
|
||||||
* @param array Array of values to copy.
|
* @param array Array of values to copy.
|
||||||
* @param arraySize Number of values to copy.
|
* @param arraySize Number of values to copy.
|
||||||
* @return True on success, otherwise false.
|
|
||||||
* @error Property not found.
|
* @error Property not found.
|
||||||
*/
|
*/
|
||||||
native TE_WriteFloatArray(const String:prop[], const Float:array[], arraySize);
|
native void TE_WriteFloatArray(const char[] prop, const float[] array, int arraySize);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sends the current temp entity to one or more clients.
|
* Sends the current temp entity to one or more clients.
|
||||||
@ -168,10 +159,9 @@ native TE_WriteFloatArray(const String:prop[], const Float:array[], arraySize);
|
|||||||
* @param clients Array containing player indexes to broadcast to.
|
* @param clients Array containing player indexes to broadcast to.
|
||||||
* @param numClients Number of players in the array.
|
* @param numClients Number of players in the array.
|
||||||
* @param delay Delay in seconds to send the TE.
|
* @param delay Delay in seconds to send the TE.
|
||||||
* @noreturn
|
|
||||||
* @error Invalid client index or client not in game.
|
* @error Invalid client index or client not in game.
|
||||||
*/
|
*/
|
||||||
native TE_Send(const clients[], numClients, Float:delay=0.0);
|
native void TE_Send(const int[] clients, int numClients, float delay=0.0);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets an encoded entity index in the current temp entity.
|
* Sets an encoded entity index in the current temp entity.
|
||||||
@ -179,12 +169,11 @@ native TE_Send(const clients[], numClients, Float:delay=0.0);
|
|||||||
*
|
*
|
||||||
* @param prop Property to use.
|
* @param prop Property to use.
|
||||||
* @param value Value to set.
|
* @param value Value to set.
|
||||||
* @noreturn
|
|
||||||
* @error Property not found.
|
* @error Property not found.
|
||||||
*/
|
*/
|
||||||
stock TE_WriteEncodedEnt(const String:prop[], value)
|
stock void TE_WriteEncodedEnt(const char[] prop, int value)
|
||||||
{
|
{
|
||||||
new encvalue = (value & 0x0FFF) | ((1 & 0xF)<<12);
|
int encvalue = (value & 0x0FFF) | ((1 & 0xF)<<12);
|
||||||
return TE_WriteNum(prop, encvalue);
|
return TE_WriteNum(prop, encvalue);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -193,13 +182,12 @@ stock TE_WriteEncodedEnt(const String:prop[], value)
|
|||||||
* @note See TE_Start().
|
* @note See TE_Start().
|
||||||
*
|
*
|
||||||
* @param delay Delay in seconds to send the TE.
|
* @param delay Delay in seconds to send the TE.
|
||||||
* @noreturn
|
|
||||||
*/
|
*/
|
||||||
stock TE_SendToAll(Float:delay=0.0)
|
stock void TE_SendToAll(float delay=0.0)
|
||||||
{
|
{
|
||||||
new total = 0;
|
int total = 0;
|
||||||
new clients[MaxClients];
|
int[] clients = new int[MaxClients];
|
||||||
for (new i=1; i<=MaxClients; i++)
|
for (int i=1; i<=MaxClients; i++)
|
||||||
{
|
{
|
||||||
if (IsClientInGame(i))
|
if (IsClientInGame(i))
|
||||||
{
|
{
|
||||||
@ -215,12 +203,11 @@ stock TE_SendToAll(Float:delay=0.0)
|
|||||||
*
|
*
|
||||||
* @param client Client to send to.
|
* @param client Client to send to.
|
||||||
* @param delay Delay in seconds to send the TE.
|
* @param delay Delay in seconds to send the TE.
|
||||||
* @noreturn
|
|
||||||
* @error Invalid client index or client not in game.
|
* @error Invalid client index or client not in game.
|
||||||
*/
|
*/
|
||||||
stock TE_SendToClient(client, Float:delay=0.0)
|
stock void TE_SendToClient(int client, float delay=0.0)
|
||||||
{
|
{
|
||||||
new players[1];
|
int players[1];
|
||||||
|
|
||||||
players[0] = client;
|
players[0] = client;
|
||||||
|
|
||||||
@ -236,9 +223,8 @@ stock TE_SendToClient(client, Float:delay=0.0)
|
|||||||
* @param origin Coordinates from which to test range.
|
* @param origin Coordinates from which to test range.
|
||||||
* @param rangeType Range type to use for filtering clients.
|
* @param rangeType Range type to use for filtering clients.
|
||||||
* @param delay Delay in seconds to send the TE.
|
* @param delay Delay in seconds to send the TE.
|
||||||
* @noreturn
|
|
||||||
*/
|
*/
|
||||||
stock TE_SendToAllInRange(float origin[3], ClientRangeType rangeType, float delay=0.0)
|
stock void TE_SendToAllInRange(float origin[3], ClientRangeType rangeType, float delay=0.0)
|
||||||
{
|
{
|
||||||
int[] clients = new int[MaxClients];
|
int[] clients = new int[MaxClients];
|
||||||
int total = GetClientsInRange(origin, rangeType, clients, MaxClients);
|
int total = GetClientsInRange(origin, rangeType, clients, MaxClients);
|
||||||
|
@ -139,7 +139,7 @@ typeset TraceEntityFilter
|
|||||||
* @param entindex Entity index found at the given position (by reference).
|
* @param entindex Entity index found at the given position (by reference).
|
||||||
* @return Contents mask.
|
* @return Contents mask.
|
||||||
*/
|
*/
|
||||||
native TR_GetPointContents(const Float:pos[3], &entindex=-1);
|
native int TR_GetPointContents(const float pos[3], int &entindex=-1);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the point contents testing only the given entity index.
|
* Get the point contents testing only the given entity index.
|
||||||
@ -148,7 +148,7 @@ native TR_GetPointContents(const Float:pos[3], &entindex=-1);
|
|||||||
* @param pos World position.
|
* @param pos World position.
|
||||||
* @return Contents mask.
|
* @return Contents mask.
|
||||||
*/
|
*/
|
||||||
native TR_GetPointContentsEnt(entindex, const Float:pos[3]);
|
native int TR_GetPointContentsEnt(int entindex, const float pos[3]);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Starts up a new trace ray using a global trace result.
|
* Starts up a new trace ray using a global trace result.
|
||||||
@ -158,12 +158,11 @@ native TR_GetPointContentsEnt(entindex, const Float:pos[3]);
|
|||||||
* ending point, or the direction angle.
|
* ending point, or the direction angle.
|
||||||
* @param flags Trace flags.
|
* @param flags Trace flags.
|
||||||
* @param rtype Method to calculate the ray direction.
|
* @param rtype Method to calculate the ray direction.
|
||||||
* @noreturn
|
|
||||||
*/
|
*/
|
||||||
native TR_TraceRay(const Float:pos[3],
|
native void TR_TraceRay(const float pos[3],
|
||||||
const Float:vec[3],
|
const float vec[3],
|
||||||
flags,
|
int flags,
|
||||||
RayType:rtype);
|
RayType rtype);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Starts up a new trace hull using a global trace result.
|
* Starts up a new trace hull using a global trace result.
|
||||||
@ -173,13 +172,12 @@ native TR_TraceRay(const Float:pos[3],
|
|||||||
* @param mins Hull minimum size.
|
* @param mins Hull minimum size.
|
||||||
* @param maxs Hull maximum size.
|
* @param maxs Hull maximum size.
|
||||||
* @param flags Trace flags.
|
* @param flags Trace flags.
|
||||||
* @noreturn
|
|
||||||
*/
|
*/
|
||||||
native TR_TraceHull(const Float:pos[3],
|
native void TR_TraceHull(const float pos[3],
|
||||||
const Float:vec[3],
|
const float vec[3],
|
||||||
const Float:mins[3],
|
const float mins[3],
|
||||||
const Float:maxs[3],
|
const float maxs[3],
|
||||||
flags);
|
int flags);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Starts up a new trace ray using a global trace result and a customized
|
* Starts up a new trace ray using a global trace result and a customized
|
||||||
@ -196,14 +194,13 @@ native TR_TraceHull(const Float:pos[3],
|
|||||||
* @param filter Function to use as a filter.
|
* @param filter Function to use as a filter.
|
||||||
* @param data Arbitrary data value to pass through to the filter
|
* @param data Arbitrary data value to pass through to the filter
|
||||||
* function.
|
* function.
|
||||||
* @noreturn
|
|
||||||
*/
|
*/
|
||||||
native TR_TraceRayFilter(const Float:pos[3],
|
native void TR_TraceRayFilter(const float pos[3],
|
||||||
const Float:vec[3],
|
const float vec[3],
|
||||||
flags,
|
int flags,
|
||||||
RayType:rtype,
|
RayType rtype,
|
||||||
TraceEntityFilter:filter,
|
TraceEntityFilter filter,
|
||||||
any:data=0);
|
any data=0);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Starts up a new trace hull using a global trace result and a customized
|
* Starts up a new trace hull using a global trace result and a customized
|
||||||
@ -221,15 +218,14 @@ native TR_TraceRayFilter(const Float:pos[3],
|
|||||||
* @param filter Function to use as a filter.
|
* @param filter Function to use as a filter.
|
||||||
* @param data Arbitrary data value to pass through to the filter
|
* @param data Arbitrary data value to pass through to the filter
|
||||||
* function.
|
* function.
|
||||||
* @noreturn
|
|
||||||
*/
|
*/
|
||||||
native TR_TraceHullFilter(const Float:pos[3],
|
native void TR_TraceHullFilter(const float pos[3],
|
||||||
const Float:vec[3],
|
const float vec[3],
|
||||||
const Float:mins[3],
|
const float mins[3],
|
||||||
const Float:maxs[3],
|
const float maxs[3],
|
||||||
flags,
|
int flags,
|
||||||
TraceEntityFilter:filter,
|
TraceEntityFilter filter,
|
||||||
any:data=0);
|
any data=0);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Starts up a new trace ray using a new trace result.
|
* Starts up a new trace ray using a new trace result.
|
||||||
@ -241,10 +237,10 @@ native TR_TraceHullFilter(const Float:pos[3],
|
|||||||
* @param rtype Method to calculate the ray direction.
|
* @param rtype Method to calculate the ray direction.
|
||||||
* @return Ray trace handle, which must be closed via CloseHandle().
|
* @return Ray trace handle, which must be closed via CloseHandle().
|
||||||
*/
|
*/
|
||||||
native Handle:TR_TraceRayEx(const Float:pos[3],
|
native Handle TR_TraceRayEx(const float pos[3],
|
||||||
const Float:vec[3],
|
const float vec[3],
|
||||||
flags,
|
int flags,
|
||||||
RayType:rtype);
|
RayType rtype);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Starts up a new trace hull using a new trace result.
|
* Starts up a new trace hull using a new trace result.
|
||||||
@ -256,11 +252,11 @@ native Handle:TR_TraceRayEx(const Float:pos[3],
|
|||||||
* @param flags Trace flags.
|
* @param flags Trace flags.
|
||||||
* @return Ray trace handle, which must be closed via CloseHandle().
|
* @return Ray trace handle, which must be closed via CloseHandle().
|
||||||
*/
|
*/
|
||||||
native Handle:TR_TraceHullEx(const Float:pos[3],
|
native Handle TR_TraceHullEx(const float pos[3],
|
||||||
const Float:vec[3],
|
const float vec[3],
|
||||||
const Float:mins[3],
|
const float mins[3],
|
||||||
const Float:maxs[3],
|
const float maxs[3],
|
||||||
flags);
|
int flags);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Starts up a new trace ray using a new trace result and a customized
|
* Starts up a new trace ray using a new trace result and a customized
|
||||||
@ -278,12 +274,12 @@ native Handle:TR_TraceHullEx(const Float:pos[3],
|
|||||||
* @param data Arbitrary data value to pass through to the filter function.
|
* @param data Arbitrary data value to pass through to the filter function.
|
||||||
* @return Ray trace handle, which must be closed via CloseHandle().
|
* @return Ray trace handle, which must be closed via CloseHandle().
|
||||||
*/
|
*/
|
||||||
native Handle:TR_TraceRayFilterEx(const Float:pos[3],
|
native Handle TR_TraceRayFilterEx(const float pos[3],
|
||||||
const Float:vec[3],
|
const float vec[3],
|
||||||
flags,
|
int flags,
|
||||||
RayType:rtype,
|
RayType rtype,
|
||||||
TraceEntityFilter:filter,
|
TraceEntityFilter filter,
|
||||||
any:data=0);
|
any data=0);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Starts up a new trace hull using a new trace result and a customized
|
* Starts up a new trace hull using a new trace result and a customized
|
||||||
@ -301,13 +297,13 @@ native Handle:TR_TraceRayFilterEx(const Float:pos[3],
|
|||||||
* @param data Arbitrary data value to pass through to the filter function.
|
* @param data Arbitrary data value to pass through to the filter function.
|
||||||
* @return Ray trace handle, which must be closed via CloseHandle().
|
* @return Ray trace handle, which must be closed via CloseHandle().
|
||||||
*/
|
*/
|
||||||
native Handle:TR_TraceHullFilterEx(const Float:pos[3],
|
native Handle TR_TraceHullFilterEx(const float pos[3],
|
||||||
const Float:vec[3],
|
const float vec[3],
|
||||||
const Float:mins[3],
|
const float mins[3],
|
||||||
const Float:maxs[3],
|
const float maxs[3],
|
||||||
flags,
|
int flags,
|
||||||
TraceEntityFilter:filter,
|
TraceEntityFilter filter,
|
||||||
any:data=0);
|
any data=0);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the time fraction from a trace result (1.0 means no collision).
|
* Returns the time fraction from a trace result (1.0 means no collision).
|
||||||
@ -316,17 +312,16 @@ native Handle:TR_TraceHullFilterEx(const Float:pos[3],
|
|||||||
* @return Time fraction value of the trace.
|
* @return Time fraction value of the trace.
|
||||||
* @error Invalid Handle.
|
* @error Invalid Handle.
|
||||||
*/
|
*/
|
||||||
native Float:TR_GetFraction(Handle:hndl=INVALID_HANDLE);
|
native float TR_GetFraction(Handle hndl=INVALID_HANDLE);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the collision position of a trace result.
|
* Returns the collision position of a trace result.
|
||||||
*
|
*
|
||||||
* @param pos Vector buffer to store data in.
|
* @param pos Vector buffer to store data in.
|
||||||
* @param hndl A trace Handle, or INVALID_HANDLE to use a global trace result.
|
* @param hndl A trace Handle, or INVALID_HANDLE to use a global trace result.
|
||||||
* @noreturn
|
|
||||||
* @error Invalid Handle.
|
* @error Invalid Handle.
|
||||||
*/
|
*/
|
||||||
native TR_GetEndPosition(Float:pos[3], Handle:hndl=INVALID_HANDLE);
|
native void TR_GetEndPosition(float pos[3], Handle hndl=INVALID_HANDLE);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the entity index that collided with the trace.
|
* Returns the entity index that collided with the trace.
|
||||||
@ -335,7 +330,7 @@ native TR_GetEndPosition(Float:pos[3], Handle:hndl=INVALID_HANDLE);
|
|||||||
* @return Entity index or -1 for no collision.
|
* @return Entity index or -1 for no collision.
|
||||||
* @error Invalid Handle.
|
* @error Invalid Handle.
|
||||||
*/
|
*/
|
||||||
native TR_GetEntityIndex(Handle:hndl=INVALID_HANDLE);
|
native int TR_GetEntityIndex(Handle hndl=INVALID_HANDLE);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns if there was any kind of collision along the trace ray.
|
* Returns if there was any kind of collision along the trace ray.
|
||||||
@ -344,7 +339,7 @@ native TR_GetEntityIndex(Handle:hndl=INVALID_HANDLE);
|
|||||||
* @return True if any collision found, otherwise false.
|
* @return True if any collision found, otherwise false.
|
||||||
* @error Invalid Handle.
|
* @error Invalid Handle.
|
||||||
*/
|
*/
|
||||||
native bool:TR_DidHit(Handle:hndl=INVALID_HANDLE);
|
native bool TR_DidHit(Handle hndl=INVALID_HANDLE);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns in which body hit group the trace collided if any.
|
* Returns in which body hit group the trace collided if any.
|
||||||
@ -353,17 +348,16 @@ native bool:TR_DidHit(Handle:hndl=INVALID_HANDLE);
|
|||||||
* @return Body hit group.
|
* @return Body hit group.
|
||||||
* @error Invalid Handle.
|
* @error Invalid Handle.
|
||||||
*/
|
*/
|
||||||
native TR_GetHitGroup(Handle:hndl=INVALID_HANDLE);
|
native int TR_GetHitGroup(Handle hndl=INVALID_HANDLE);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Find the normal vector to the collision plane of a trace.
|
* Find the normal vector to the collision plane of a trace.
|
||||||
*
|
*
|
||||||
* @param hndl A trace Handle, or INVALID_HANDLE to use a global trace result.
|
* @param hndl A trace Handle, or INVALID_HANDLE to use a global trace result.
|
||||||
* @param normal Vector buffer to store the vector normal to the collision plane
|
* @param normal Vector buffer to store the vector normal to the collision plane
|
||||||
* @noreturn
|
|
||||||
* @error Invalid Handle
|
* @error Invalid Handle
|
||||||
*/
|
*/
|
||||||
native TR_GetPlaneNormal(Handle:hndl, Float:normal[3]);
|
native void TR_GetPlaneNormal(Handle hndl, float normal[3]);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Tests a point to see if it's outside any playable area
|
* Tests a point to see if it's outside any playable area
|
||||||
@ -371,4 +365,4 @@ native TR_GetPlaneNormal(Handle:hndl, Float:normal[3]);
|
|||||||
* @param pos Vector buffer to store data in.
|
* @param pos Vector buffer to store data in.
|
||||||
* @return True if outside world, otherwise false.
|
* @return True if outside world, otherwise false.
|
||||||
*/
|
*/
|
||||||
native TR_PointOutsideWorld(Float:pos[3]);
|
native bool TR_PointOutsideWorld(float pos[3]);
|
||||||
|
@ -91,8 +91,6 @@ enum APLRes
|
|||||||
*
|
*
|
||||||
* If any run-time error is thrown during this callback, the plugin will be marked
|
* If any run-time error is thrown during this callback, the plugin will be marked
|
||||||
* as failed.
|
* as failed.
|
||||||
*
|
|
||||||
* @noreturn
|
|
||||||
*/
|
*/
|
||||||
forward void OnPluginStart();
|
forward void OnPluginStart();
|
||||||
|
|
||||||
@ -102,7 +100,7 @@ forward void OnPluginStart();
|
|||||||
* not be called, but old plugins with only AskPluginLoad() will work.
|
* not be called, but old plugins with only AskPluginLoad() will work.
|
||||||
*/
|
*/
|
||||||
#pragma deprecated Use AskPluginLoad2() instead
|
#pragma deprecated Use AskPluginLoad2() instead
|
||||||
forward bool:AskPluginLoad(Handle:myself, bool:late, String:error[], err_max);
|
forward bool AskPluginLoad(Handle myself, bool late, char[] error, int 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.
|
||||||
@ -123,7 +121,7 @@ forward bool:AskPluginLoad(Handle:myself, bool:late, String:error[], err_max);
|
|||||||
* @param err_max Maximum number of characters for error message buffer.
|
* @param err_max Maximum number of characters for error message buffer.
|
||||||
* @return APLRes_Success for load success, APLRes_Failure or APLRes_SilentFailure otherwise
|
* @return APLRes_Success for load success, APLRes_Failure or APLRes_SilentFailure otherwise
|
||||||
*/
|
*/
|
||||||
forward APLRes:AskPluginLoad2(Handle:myself, bool:late, String:error[], err_max);
|
forward APLRes AskPluginLoad2(Handle myself, bool late, char[] error, int err_max);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Called when the plugin is about to be unloaded.
|
* Called when the plugin is about to be unloaded.
|
||||||
@ -131,8 +129,6 @@ forward APLRes:AskPluginLoad2(Handle:myself, bool:late, String:error[], err_max)
|
|||||||
* It is not necessary to close any handles or remove hooks in this function.
|
* It is not necessary to close any handles or remove hooks in this function.
|
||||||
* SourceMod guarantees that plugin shutdown automatically and correctly releases
|
* SourceMod guarantees that plugin shutdown automatically and correctly releases
|
||||||
* all resources.
|
* all resources.
|
||||||
*
|
|
||||||
* @noreturn
|
|
||||||
*/
|
*/
|
||||||
forward void OnPluginEnd();
|
forward void OnPluginEnd();
|
||||||
|
|
||||||
@ -140,9 +136,8 @@ forward void OnPluginEnd();
|
|||||||
* Called when the plugin's pause status is changing.
|
* Called when the plugin's pause status is changing.
|
||||||
*
|
*
|
||||||
* @param pause True if the plugin is being paused, false otherwise.
|
* @param pause True if the plugin is being paused, false otherwise.
|
||||||
* @noreturn
|
|
||||||
*/
|
*/
|
||||||
forward void OnPluginPauseChange(bool:pause);
|
forward void OnPluginPauseChange(bool pause);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Called before every server frame. Note that you should avoid
|
* Called before every server frame. Note that you should avoid
|
||||||
@ -170,8 +165,6 @@ forward void OnMapEnd();
|
|||||||
*
|
*
|
||||||
* @note This will always be called once and only once per map. It will be
|
* @note This will always be called once and only once per map. It will be
|
||||||
* called after OnMapStart().
|
* called after OnMapStart().
|
||||||
*
|
|
||||||
* @noreturn
|
|
||||||
*/
|
*/
|
||||||
forward void OnConfigsExecuted();
|
forward void OnConfigsExecuted();
|
||||||
|
|
||||||
@ -187,8 +180,6 @@ forward void OnConfigsExecuted();
|
|||||||
*
|
*
|
||||||
* Unlike OnMapStart() and OnConfigsExecuted(), this is not called on
|
* Unlike OnMapStart() and OnConfigsExecuted(), this is not called on
|
||||||
* late loads that occur after OnMapStart().
|
* late loads that occur after OnMapStart().
|
||||||
*
|
|
||||||
* @noreturn
|
|
||||||
*/
|
*/
|
||||||
forward void OnAutoConfigsBuffered();
|
forward void OnAutoConfigsBuffered();
|
||||||
|
|
||||||
@ -210,7 +201,7 @@ forward void OnAllPluginsLoaded();
|
|||||||
*
|
*
|
||||||
* @return Handle of the calling plugin.
|
* @return Handle of the calling plugin.
|
||||||
*/
|
*/
|
||||||
native Handle:GetMyHandle();
|
native Handle GetMyHandle();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns an iterator that can be used to search through plugins.
|
* Returns an iterator that can be used to search through plugins.
|
||||||
@ -219,7 +210,7 @@ native Handle:GetMyHandle();
|
|||||||
* CloseHandle().
|
* CloseHandle().
|
||||||
* @error Invalid Handle.
|
* @error Invalid Handle.
|
||||||
*/
|
*/
|
||||||
native Handle:GetPluginIterator();
|
native Handle GetPluginIterator();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns whether there are more plugins available in the iterator.
|
* Returns whether there are more plugins available in the iterator.
|
||||||
@ -228,7 +219,7 @@ native Handle:GetPluginIterator();
|
|||||||
* @return True on more plugins, false otherwise.
|
* @return True on more plugins, false otherwise.
|
||||||
* @error Invalid Handle.
|
* @error Invalid Handle.
|
||||||
*/
|
*/
|
||||||
native bool:MorePlugins(Handle:iter);
|
native bool MorePlugins(Handle iter);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the current plugin in the iterator and advances the iterator.
|
* Returns the current plugin in the iterator and advances the iterator.
|
||||||
@ -238,7 +229,7 @@ native bool:MorePlugins(Handle:iter);
|
|||||||
* the iterator is advanced.
|
* the iterator is advanced.
|
||||||
* @error Invalid Handle.
|
* @error Invalid Handle.
|
||||||
*/
|
*/
|
||||||
native Handle:ReadPlugin(Handle:iter);
|
native Handle ReadPlugin(Handle iter);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns a plugin's status.
|
* Returns a plugin's status.
|
||||||
@ -247,7 +238,7 @@ native Handle:ReadPlugin(Handle:iter);
|
|||||||
* @return Status code for the plugin.
|
* @return Status code for the plugin.
|
||||||
* @error Invalid Handle.
|
* @error Invalid Handle.
|
||||||
*/
|
*/
|
||||||
native PluginStatus:GetPluginStatus(Handle:plugin);
|
native PluginStatus GetPluginStatus(Handle plugin);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Retrieves a plugin's file name relative to the plugins folder.
|
* Retrieves a plugin's file name relative to the plugins folder.
|
||||||
@ -255,10 +246,9 @@ native PluginStatus:GetPluginStatus(Handle:plugin);
|
|||||||
* @param plugin Plugin Handle (INVALID_HANDLE uses the calling plugin).
|
* @param plugin Plugin Handle (INVALID_HANDLE uses the calling plugin).
|
||||||
* @param buffer Buffer to the store the file name.
|
* @param buffer Buffer to the store the file name.
|
||||||
* @param maxlength Maximum length of the name buffer.
|
* @param maxlength Maximum length of the name buffer.
|
||||||
* @noreturn
|
|
||||||
* @error Invalid Handle.
|
* @error Invalid Handle.
|
||||||
*/
|
*/
|
||||||
native GetPluginFilename(Handle:plugin, String:buffer[], maxlength);
|
native void GetPluginFilename(Handle plugin, char[] buffer, int maxlength);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Retrieves whether or not a plugin is being debugged.
|
* Retrieves whether or not a plugin is being debugged.
|
||||||
@ -267,7 +257,7 @@ native GetPluginFilename(Handle:plugin, String:buffer[], maxlength);
|
|||||||
* @return True if being debugged, false otherwise.
|
* @return True if being debugged, false otherwise.
|
||||||
* @error Invalid Handle.
|
* @error Invalid Handle.
|
||||||
*/
|
*/
|
||||||
native bool:IsPluginDebugging(Handle:plugin);
|
native bool IsPluginDebugging(Handle plugin);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Retrieves a plugin's public info.
|
* Retrieves a plugin's public info.
|
||||||
@ -279,7 +269,7 @@ native bool:IsPluginDebugging(Handle:plugin);
|
|||||||
* @return True on success, false if property is not available.
|
* @return True on success, false if property is not available.
|
||||||
* @error Invalid Handle.
|
* @error Invalid Handle.
|
||||||
*/
|
*/
|
||||||
native bool:GetPluginInfo(Handle:plugin, PluginInfo:info, String:buffer[], maxlength);
|
native bool GetPluginInfo(Handle plugin, PluginInfo info, char[] buffer, int maxlength);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Finds a plugin by its order in the list from the "plugins list" server
|
* Finds a plugin by its order in the list from the "plugins list" server
|
||||||
@ -291,7 +281,7 @@ native bool:GetPluginInfo(Handle:plugin, PluginInfo:info, String:buffer[], maxle
|
|||||||
* @return Plugin Handle on success, INVALID_HANDLE if no plugin
|
* @return Plugin Handle on success, INVALID_HANDLE if no plugin
|
||||||
* matches the given number.
|
* matches the given number.
|
||||||
*/
|
*/
|
||||||
native Handle:FindPluginByNumber(order_num);
|
native Handle FindPluginByNumber(int order_num);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Causes the plugin to enter a failed state. An error will be thrown and
|
* Causes the plugin to enter a failed state. An error will be thrown and
|
||||||
@ -308,10 +298,9 @@ native Handle:FindPluginByNumber(order_num);
|
|||||||
*
|
*
|
||||||
* @param string Format specifier string.
|
* @param string Format specifier string.
|
||||||
* @param ... Formatting arguments.
|
* @param ... Formatting arguments.
|
||||||
* @noreturn
|
|
||||||
* @error Always throws SP_ERROR_ABORT.
|
* @error Always throws SP_ERROR_ABORT.
|
||||||
*/
|
*/
|
||||||
native SetFailState(const String:string[], any:...);
|
native void SetFailState(const char[] string, any ...);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Aborts the current callback and throws an error. This function
|
* Aborts the current callback and throws an error. This function
|
||||||
@ -319,10 +308,9 @@ native SetFailState(const String:string[], any:...);
|
|||||||
*
|
*
|
||||||
* @param fmt String format.
|
* @param fmt String format.
|
||||||
* @param ... Format arguments.
|
* @param ... Format arguments.
|
||||||
* @noreturn
|
|
||||||
* @error Always!
|
* @error Always!
|
||||||
*/
|
*/
|
||||||
native ThrowError(const String:fmt[], any:...);
|
native void ThrowError(const char[] fmt, any ...);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets the system time as a unix timestamp.
|
* Gets the system time as a unix timestamp.
|
||||||
@ -330,7 +318,7 @@ native ThrowError(const String:fmt[], any:...);
|
|||||||
* @param bigStamp Optional array to store the 64bit timestamp in.
|
* @param bigStamp Optional array to store the 64bit timestamp in.
|
||||||
* @return 32bit timestamp (number of seconds since unix epoch).
|
* @return 32bit timestamp (number of seconds since unix epoch).
|
||||||
*/
|
*/
|
||||||
native GetTime(bigStamp[2]={0,0});
|
native int GetTime(int bigStamp[2]={0,0});
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Produces a date and/or time string value for a timestamp.
|
* Produces a date and/or time string value for a timestamp.
|
||||||
@ -342,10 +330,9 @@ native GetTime(bigStamp[2]={0,0});
|
|||||||
* @param maxlength Maximum length of output string buffer.
|
* @param maxlength Maximum length of output string buffer.
|
||||||
* @param format Formatting rules (passing NULL_STRING will use the rules defined in sm_datetime_format).
|
* @param format Formatting rules (passing NULL_STRING will use the rules defined in sm_datetime_format).
|
||||||
* @param stamp Optional time stamp.
|
* @param stamp Optional time stamp.
|
||||||
* @noreturn
|
|
||||||
* @error Buffer too small or invalid time format.
|
* @error Buffer too small or invalid time format.
|
||||||
*/
|
*/
|
||||||
native FormatTime(String:buffer[], maxlength, const String:format[], stamp=-1);
|
native void FormatTime(char[] buffer, int maxlength, const char[] format, int stamp=-1);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Loads a game config file.
|
* Loads a game config file.
|
||||||
@ -354,7 +341,7 @@ native FormatTime(String:buffer[], maxlength, const String:format[], stamp=-1);
|
|||||||
* and the extension should be omitted.
|
* and the extension should be omitted.
|
||||||
* @return A handle to the game config file or INVALID_HANDLE in failure.
|
* @return A handle to the game config file or INVALID_HANDLE in failure.
|
||||||
*/
|
*/
|
||||||
native Handle:LoadGameConfigFile(const String:file[]);
|
native Handle LoadGameConfigFile(const char[] file);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns an offset value.
|
* Returns an offset value.
|
||||||
@ -363,7 +350,7 @@ native Handle:LoadGameConfigFile(const String:file[]);
|
|||||||
* @param key Key to retrieve from the offset section.
|
* @param key Key to retrieve from the offset section.
|
||||||
* @return An offset, or -1 on failure.
|
* @return An offset, or -1 on failure.
|
||||||
*/
|
*/
|
||||||
native GameConfGetOffset(Handle:gc, const String:key[]);
|
native int GameConfGetOffset(Handle gc, const char[] key);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets the value of a key from the "Keys" section.
|
* Gets the value of a key from the "Keys" section.
|
||||||
@ -374,7 +361,7 @@ native GameConfGetOffset(Handle:gc, const String:key[]);
|
|||||||
* @param maxlen Maximum length of output string buffer.
|
* @param maxlen Maximum length of output string buffer.
|
||||||
* @return True if key existed, false otherwise.
|
* @return True if key existed, false otherwise.
|
||||||
*/
|
*/
|
||||||
native bool:GameConfGetKeyValue(Handle:gc, const String:key[], String:buffer[], maxlen);
|
native bool GameConfGetKeyValue(Handle gc, const char[] key, char[] buffer, int maxlen);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Finds an address calculation in a GameConfig file,
|
* Finds an address calculation in a GameConfig file,
|
||||||
@ -384,7 +371,7 @@ native bool:GameConfGetKeyValue(Handle:gc, const String:key[], String:buffer[],
|
|||||||
* @param name Name of the property to find.
|
* @param name Name of the property to find.
|
||||||
* @return An address calculated on success, or 0 on failure.
|
* @return An address calculated on success, or 0 on failure.
|
||||||
*/
|
*/
|
||||||
native Address:GameConfGetAddress(Handle:gameconf, const String:name[]);
|
native Address GameConfGetAddress(Handle gameconf, const char[] name);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the operating system's "tick count," which is a number of
|
* Returns the operating system's "tick count," which is a number of
|
||||||
@ -393,7 +380,7 @@ native Address:GameConfGetAddress(Handle:gameconf, const String:name[]);
|
|||||||
*
|
*
|
||||||
* @return Tick count in milliseconds.
|
* @return Tick count in milliseconds.
|
||||||
*/
|
*/
|
||||||
native GetSysTickCount();
|
native int GetSysTickCount();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Specifies that the given config file should be executed after plugin load.
|
* Specifies that the given config file should be executed after plugin load.
|
||||||
@ -406,18 +393,16 @@ native GetSysTickCount();
|
|||||||
* @param name Name of the config file, excluding the .cfg extension.
|
* @param name Name of the config file, excluding the .cfg extension.
|
||||||
* If empty, <plugin.filename.cfg> is assumed.
|
* If empty, <plugin.filename.cfg> is assumed.
|
||||||
* @param folder Folder under cfg/ to use. By default this is "sourcemod."
|
* @param folder Folder under cfg/ to use. By default this is "sourcemod."
|
||||||
* @noreturn
|
|
||||||
*/
|
*/
|
||||||
native AutoExecConfig(bool:autoCreate=true, const String:name[]="", const String:folder[]="sourcemod");
|
native void AutoExecConfig(bool autoCreate=true, const char[] name="", const char[] folder="sourcemod");
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Registers a library name for identifying as a dependency to
|
* Registers a library name for identifying as a dependency to
|
||||||
* other plugins.
|
* other plugins.
|
||||||
*
|
*
|
||||||
* @param name Library name.
|
* @param name Library name.
|
||||||
* @noreturn
|
|
||||||
*/
|
*/
|
||||||
native RegPluginLibrary(const String:name[]);
|
native void RegPluginLibrary(const char[] name);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns whether a library exists. This function should be considered
|
* Returns whether a library exists. This function should be considered
|
||||||
@ -428,7 +413,7 @@ native RegPluginLibrary(const String:name[]);
|
|||||||
* @param name Library name of a plugin or extension.
|
* @param name Library name of a plugin or extension.
|
||||||
* @return True if exists, false otherwise.
|
* @return True if exists, false otherwise.
|
||||||
*/
|
*/
|
||||||
native bool:LibraryExists(const String:name[]);
|
native bool LibraryExists(const char[] name);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the status of an extension, by filename.
|
* Returns the status of an extension, by filename.
|
||||||
@ -441,7 +426,7 @@ native bool:LibraryExists(const String:name[]);
|
|||||||
* 0 if the extension loaded but reported an error.
|
* 0 if the extension loaded but reported an error.
|
||||||
* 1 if the extension is running without error.
|
* 1 if the extension is running without error.
|
||||||
*/
|
*/
|
||||||
native GetExtensionFileStatus(const String:name[], String:error[]="", maxlength=0);
|
native int GetExtensionFileStatus(const char[] name, char[] error="", int maxlength=0);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Called after a library is added that the current plugin references
|
* Called after a library is added that the current plugin references
|
||||||
@ -450,7 +435,7 @@ native GetExtensionFileStatus(const String:name[], String:error[]="", maxlength=
|
|||||||
*
|
*
|
||||||
* @param name Library name.
|
* @param name Library name.
|
||||||
*/
|
*/
|
||||||
forward void OnLibraryAdded(const String:name[]);
|
forward void OnLibraryAdded(const char[] name);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Called right before a library is removed that the current plugin references
|
* Called right before a library is removed that the current plugin references
|
||||||
@ -459,7 +444,7 @@ forward void OnLibraryAdded(const String:name[]);
|
|||||||
*
|
*
|
||||||
* @param name Library name.
|
* @param name Library name.
|
||||||
*/
|
*/
|
||||||
forward void OnLibraryRemoved(const String:name[]);
|
forward void OnLibraryRemoved(const char[] name);
|
||||||
|
|
||||||
#define MAPLIST_FLAG_MAPSFOLDER (1<<0) /**< On failure, use all maps in the maps folder. */
|
#define MAPLIST_FLAG_MAPSFOLDER (1<<0) /**< On failure, use all maps in the maps folder. */
|
||||||
#define MAPLIST_FLAG_CLEARARRAY (1<<1) /**< If an input array is specified, clear it before adding. */
|
#define MAPLIST_FLAG_CLEARARRAY (1<<1) /**< If an input array is specified, clear it before adding. */
|
||||||
@ -513,10 +498,10 @@ forward void OnLibraryRemoved(const String:name[]);
|
|||||||
* least one item. The serial number is updated to a positive number.
|
* least one item. The serial number is updated to a positive number.
|
||||||
* @error Invalid array Handle that is not INVALID_HANDLE.
|
* @error Invalid array Handle that is not INVALID_HANDLE.
|
||||||
*/
|
*/
|
||||||
native Handle:ReadMapList(Handle:array=INVALID_HANDLE,
|
native Handle ReadMapList(Handle array=INVALID_HANDLE,
|
||||||
&serial=-1,
|
int &serial=-1,
|
||||||
const String:str[]="default",
|
const char[] str="default",
|
||||||
flags=MAPLIST_FLAG_CLEARARRAY);
|
int flags=MAPLIST_FLAG_CLEARARRAY);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Makes a compatibility binding for map lists. For example, if a function previously used
|
* Makes a compatibility binding for map lists. For example, if a function previously used
|
||||||
@ -525,9 +510,8 @@ native Handle:ReadMapList(Handle:array=INVALID_HANDLE,
|
|||||||
*
|
*
|
||||||
* @param name Configuration name that would be used with ReadMapList().
|
* @param name Configuration name that would be used with ReadMapList().
|
||||||
* @param file Default file to use.
|
* @param file Default file to use.
|
||||||
* @noreturn
|
|
||||||
*/
|
*/
|
||||||
native SetMapListCompatBind(const String:name[], const String:file[]);
|
native void SetMapListCompatBind(const char[] name, const char[] file);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Called when a client has sent chat text. This must return either true or
|
* Called when a client has sent chat text. This must return either true or
|
||||||
@ -539,7 +523,7 @@ native SetMapListCompatBind(const String:name[], const String:file[]);
|
|||||||
* @param client Client index. The server (0) will never be passed.
|
* @param client Client index. The server (0) will never be passed.
|
||||||
* @return True if client is spamming the server, false otherwise.
|
* @return True if client is spamming the server, false otherwise.
|
||||||
*/
|
*/
|
||||||
forward bool:OnClientFloodCheck(client);
|
forward bool OnClientFloodCheck(int client);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Called after a client's flood check has been computed. This can be used
|
* Called after a client's flood check has been computed. This can be used
|
||||||
@ -551,9 +535,8 @@ forward bool:OnClientFloodCheck(client);
|
|||||||
*
|
*
|
||||||
* @param client Client index. The server (0) will never be passed.
|
* @param client Client index. The server (0) will never be passed.
|
||||||
* @param blocked True if client flooded last "say", false otherwise.
|
* @param blocked True if client flooded last "say", false otherwise.
|
||||||
* @noreturn
|
|
||||||
*/
|
*/
|
||||||
forward void OnClientFloodResult(client, bool:blocked);
|
forward void OnClientFloodResult(int client, bool blocked);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Feature types.
|
* Feature types.
|
||||||
@ -603,7 +586,7 @@ enum FeatureStatus
|
|||||||
*
|
*
|
||||||
* @return True if GetFeatureStatus will work, false otherwise.
|
* @return True if GetFeatureStatus will work, false otherwise.
|
||||||
*/
|
*/
|
||||||
stock bool:CanTestFeatures()
|
stock bool CanTestFeatures()
|
||||||
{
|
{
|
||||||
return LibraryExists("__CanTestFeatures__");
|
return LibraryExists("__CanTestFeatures__");
|
||||||
}
|
}
|
||||||
@ -615,7 +598,7 @@ stock bool:CanTestFeatures()
|
|||||||
* @param name Feature name.
|
* @param name Feature name.
|
||||||
* @return Feature status.
|
* @return Feature status.
|
||||||
*/
|
*/
|
||||||
native FeatureStatus:GetFeatureStatus(FeatureType:type, const String:name[]);
|
native FeatureStatus GetFeatureStatus(FeatureType type, const char[] name);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Requires that a given feature is available. If it is not, SetFailState()
|
* Requires that a given feature is available. If it is not, SetFailState()
|
||||||
@ -625,10 +608,9 @@ native FeatureStatus:GetFeatureStatus(FeatureType:type, const String:name[]);
|
|||||||
* @param name Feature name.
|
* @param name Feature name.
|
||||||
* @param fmt Message format string, or empty to use default.
|
* @param fmt Message format string, or empty to use default.
|
||||||
* @param ... Message format parameters, if any.
|
* @param ... Message format parameters, if any.
|
||||||
* @noreturn
|
|
||||||
*/
|
*/
|
||||||
native RequireFeature(FeatureType:type, const String:name[],
|
native void RequireFeature(FeatureType type, const char[] name,
|
||||||
const String:fmt[]="", any:...);
|
const char[] fmt="", any ...);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Represents how many bytes we can read from an address with one load
|
* Represents how many bytes we can read from an address with one load
|
||||||
@ -652,7 +634,7 @@ enum Address
|
|||||||
* @param size How many bytes should be read.
|
* @param size How many bytes should be read.
|
||||||
* @return The value that is stored at that address.
|
* @return The value that is stored at that address.
|
||||||
*/
|
*/
|
||||||
native LoadFromAddress(Address:addr, NumberType:size);
|
native int LoadFromAddress(Address addr, NumberType size);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Store up to 4 bytes to a memory address.
|
* Store up to 4 bytes to a memory address.
|
||||||
@ -660,11 +642,9 @@ native LoadFromAddress(Address:addr, NumberType:size);
|
|||||||
* @param addr Address to a memory location.
|
* @param addr Address to a memory location.
|
||||||
* @param data Value to store at the address.
|
* @param data Value to store at the address.
|
||||||
* @param size How many bytes should be written.
|
* @param size How many bytes should be written.
|
||||||
* @noreturn
|
|
||||||
*/
|
*/
|
||||||
native StoreToAddress(Address:addr, data, NumberType:size);
|
native void StoreToAddress(Address addr, int data, NumberType size);
|
||||||
|
|
||||||
#include <helpers>
|
#include <helpers>
|
||||||
#include <entity>
|
#include <entity>
|
||||||
#include <entity_prop_stocks>
|
#include <entity_prop_stocks>
|
||||||
|
|
||||||
|
@ -48,7 +48,7 @@
|
|||||||
* @param str String to check.
|
* @param str String to check.
|
||||||
* @return Number of valid character bytes in the string.
|
* @return Number of valid character bytes in the string.
|
||||||
*/
|
*/
|
||||||
native strlen(const String:str[]);
|
native int strlen(const char[] str);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Tests whether a string is found inside another string.
|
* Tests whether a string is found inside another string.
|
||||||
@ -60,7 +60,7 @@ native strlen(const String:str[]);
|
|||||||
* @return -1 on failure (no match found). Any other value
|
* @return -1 on failure (no match found). Any other value
|
||||||
* indicates a position in the string where the match starts.
|
* indicates a position in the string where the match starts.
|
||||||
*/
|
*/
|
||||||
native StrContains(const String:str[], const String:substr[], bool:caseSensitive=true);
|
native int StrContains(const char[] str, const char[] substr, bool caseSensitive=true);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Compares two strings lexographically.
|
* Compares two strings lexographically.
|
||||||
@ -73,7 +73,7 @@ native StrContains(const String:str[], const String:substr[], bool:caseSensitive
|
|||||||
* 0 if str1 == str2
|
* 0 if str1 == str2
|
||||||
* 1 if str1 > str2
|
* 1 if str1 > str2
|
||||||
*/
|
*/
|
||||||
native strcmp(const String:str1[], const String:str2[], bool:caseSensitive=true);
|
native int strcmp(const char[] str1, const char[] str2, bool caseSensitive=true);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Compares two strings parts lexographically.
|
* Compares two strings parts lexographically.
|
||||||
@ -87,14 +87,14 @@ native strcmp(const String:str1[], const String:str2[], bool:caseSensitive=true)
|
|||||||
* 0 if str1 == str2
|
* 0 if str1 == str2
|
||||||
* 1 if str1 > str2
|
* 1 if str1 > str2
|
||||||
*/
|
*/
|
||||||
native strncmp(const String:str1[], const String:str2[], num, bool:caseSensitive=true);
|
native int strncmp(const char[] str1, const char[] str2, int num, bool caseSensitive=true);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Backwards compatible stock - StrCompare is now strcmp
|
* Backwards compatible stock - StrCompare is now strcmp
|
||||||
* @deprecated Renamed to strcmp
|
* @deprecated Renamed to strcmp
|
||||||
*/
|
*/
|
||||||
#pragma deprecated Use strcmp() instead
|
#pragma deprecated Use strcmp() instead
|
||||||
stock StrCompare(const String:str1[], const String:str2[], bool:caseSensitive=true)
|
stock int StrCompare(const char[] str1, const char[] str2, bool caseSensitive=true)
|
||||||
{
|
{
|
||||||
return strcmp(str1, str2, caseSensitive);
|
return strcmp(str1, str2, caseSensitive);
|
||||||
}
|
}
|
||||||
@ -108,7 +108,7 @@ stock StrCompare(const String:str1[], const String:str2[], bool:caseSensitive=tr
|
|||||||
* If false, comparison is case insensitive.
|
* If false, comparison is case insensitive.
|
||||||
* @return True if equal, false otherwise.
|
* @return True if equal, false otherwise.
|
||||||
*/
|
*/
|
||||||
stock bool:StrEqual(const String:str1[], const String:str2[], bool:caseSensitive=true)
|
stock bool StrEqual(const char[] str1, const char[] str2, bool caseSensitive=true)
|
||||||
{
|
{
|
||||||
return (strcmp(str1, str2, caseSensitive) == 0);
|
return (strcmp(str1, str2, caseSensitive) == 0);
|
||||||
}
|
}
|
||||||
@ -123,14 +123,14 @@ stock bool:StrEqual(const String:str1[], const String:str2[], bool:caseSensitive
|
|||||||
* @param source Source string buffer to copy from.
|
* @param source Source string buffer to copy from.
|
||||||
* @return Number of cells written.
|
* @return Number of cells written.
|
||||||
*/
|
*/
|
||||||
native strcopy(String:dest[], destLen, const String:source[]);
|
native int strcopy(char[] dest, int destLen, const char[] source);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Backwards compatibility stock - use strcopy
|
* Backwards compatibility stock - use strcopy
|
||||||
* @deprecated Renamed to strcopy
|
* @deprecated Renamed to strcopy
|
||||||
*/
|
*/
|
||||||
#pragma deprecated Use strcopy() instead
|
#pragma deprecated Use strcopy() instead
|
||||||
stock StrCopy(String:dest[], destLen, const String:source[])
|
stock int StrCopy(char[] dest, int destLen, const char[] source)
|
||||||
{
|
{
|
||||||
return strcopy(dest, destLen, source);
|
return strcopy(dest, destLen, source);
|
||||||
}
|
}
|
||||||
@ -144,7 +144,7 @@ stock StrCopy(String:dest[], destLen, const String:source[])
|
|||||||
* @param ... Variable number of format parameters.
|
* @param ... Variable number of format parameters.
|
||||||
* @return Number of cells written.
|
* @return Number of cells written.
|
||||||
*/
|
*/
|
||||||
native Format(String:buffer[], maxlength, const String:format[], any:...);
|
native int Format(char[] buffer, int maxlength, const char[] format, any ...);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Formats a string according to the SourceMod format rules (see documentation).
|
* Formats a string according to the SourceMod format rules (see documentation).
|
||||||
@ -158,7 +158,7 @@ native Format(String:buffer[], maxlength, const String:format[], any:...);
|
|||||||
* @param ... Variable number of format parameters.
|
* @param ... Variable number of format parameters.
|
||||||
* @return Number of cells written.
|
* @return Number of cells written.
|
||||||
*/
|
*/
|
||||||
native FormatEx(String:buffer[], maxlength, const String:format[], any:...);
|
native int FormatEx(char[] buffer, int maxlength, const char[] format, any ...);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Formats a string according to the SourceMod format rules (see documentation).
|
* Formats a string according to the SourceMod format rules (see documentation).
|
||||||
@ -173,7 +173,7 @@ native FormatEx(String:buffer[], maxlength, const String:format[], any:...);
|
|||||||
* Note: Arguments start at 1.
|
* Note: Arguments start at 1.
|
||||||
* @return Number of bytes written.
|
* @return Number of bytes written.
|
||||||
*/
|
*/
|
||||||
native VFormat(String:buffer[], maxlength, const String:format[], varpos);
|
native int VFormat(char[] buffer, int maxlength, const char[] format, int varpos);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Converts a string to an integer.
|
* Converts a string to an integer.
|
||||||
@ -182,7 +182,7 @@ native VFormat(String:buffer[], maxlength, const String:format[], varpos);
|
|||||||
* @param nBase Numerical base to use. 10 is default.
|
* @param nBase Numerical base to use. 10 is default.
|
||||||
* @return Integer conversion of string, or 0 on failure.
|
* @return Integer conversion of string, or 0 on failure.
|
||||||
*/
|
*/
|
||||||
native StringToInt(const String:str[], nBase=10);
|
native int StringToInt(const char[] str, int nBase=10);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Converts a string to an integer with some more options.
|
* Converts a string to an integer with some more options.
|
||||||
@ -192,7 +192,7 @@ native StringToInt(const String:str[], nBase=10);
|
|||||||
* @param nBase Numerical base to use. 10 is default.
|
* @param nBase Numerical base to use. 10 is default.
|
||||||
* @return Number of characters consumed.
|
* @return Number of characters consumed.
|
||||||
*/
|
*/
|
||||||
native StringToIntEx(const String:str[], &result, nBase=10);
|
native int StringToIntEx(const char[] str, int &result, int nBase=10);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Converts an integer to a string.
|
* Converts an integer to a string.
|
||||||
@ -202,7 +202,7 @@ native StringToIntEx(const String:str[], &result, nBase=10);
|
|||||||
* @param maxlength Maximum length of string buffer.
|
* @param maxlength Maximum length of string buffer.
|
||||||
* @return Number of cells written to buffer.
|
* @return Number of cells written to buffer.
|
||||||
*/
|
*/
|
||||||
native IntToString(num, String:str[], maxlength);
|
native int IntToString(int num, char[] str, int maxlength);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Converts a string to a floating point number.
|
* Converts a string to a floating point number.
|
||||||
@ -210,7 +210,7 @@ native IntToString(num, String:str[], maxlength);
|
|||||||
* @param str String to convert to a float.
|
* @param str String to convert to a float.
|
||||||
* @return Floating point result, or 0.0 on error.
|
* @return Floating point result, or 0.0 on error.
|
||||||
*/
|
*/
|
||||||
native Float:StringToFloat(const String:str[]);
|
native float StringToFloat(const char[] str);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Converts a string to a floating point number with some more options.
|
* Converts a string to a floating point number with some more options.
|
||||||
@ -219,7 +219,7 @@ native Float:StringToFloat(const String:str[]);
|
|||||||
* @param result Variable to store result in.
|
* @param result Variable to store result in.
|
||||||
* @return Number of characters consumed.
|
* @return Number of characters consumed.
|
||||||
*/
|
*/
|
||||||
native StringToFloatEx(const String:str[], &Float:result);
|
native int StringToFloatEx(const char[] str, float &result);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Converts a floating point number to a string.
|
* Converts a floating point number to a string.
|
||||||
@ -229,7 +229,7 @@ native StringToFloatEx(const String:str[], &Float:result);
|
|||||||
* @param maxlength Maximum length of string buffer.
|
* @param maxlength Maximum length of string buffer.
|
||||||
* @return Number of cells written to buffer.
|
* @return Number of cells written to buffer.
|
||||||
*/
|
*/
|
||||||
native FloatToString(Float:num, String:str[], maxlength);
|
native int FloatToString(float num, char[] str, int maxlength);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Finds the first "argument" in a string; either a set of space
|
* Finds the first "argument" in a string; either a set of space
|
||||||
@ -243,14 +243,14 @@ native FloatToString(Float:num, String:str[], maxlength);
|
|||||||
* @param argLen Maximum length of argument buffer.
|
* @param argLen Maximum length of argument buffer.
|
||||||
* @return Index to next piece of string, or -1 if none.
|
* @return Index to next piece of string, or -1 if none.
|
||||||
*/
|
*/
|
||||||
native BreakString(const String:source[], String:arg[], argLen);
|
native int BreakString(const char[] source, char[] arg, int argLen);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Backwards compatibility stock - use BreakString
|
* Backwards compatibility stock - use BreakString
|
||||||
* @deprecated Renamed to BreakString.
|
* @deprecated Renamed to BreakString.
|
||||||
*/
|
*/
|
||||||
#pragma deprecated Use BreakString() instead
|
#pragma deprecated Use BreakString() instead
|
||||||
stock StrBreak(const String:source[], String:arg[], argLen)
|
stock int StrBreak(const char[] source, char[] arg, int argLen)
|
||||||
{
|
{
|
||||||
return BreakString(source, arg, argLen);
|
return BreakString(source, arg, argLen);
|
||||||
}
|
}
|
||||||
@ -261,7 +261,7 @@ stock StrBreak(const String:source[], String:arg[], argLen)
|
|||||||
* @param str The string to trim.
|
* @param str The string to trim.
|
||||||
* @return Number of bytes written (UTF-8 safe).
|
* @return Number of bytes written (UTF-8 safe).
|
||||||
*/
|
*/
|
||||||
native TrimString(String:str[]);
|
native int TrimString(char[] str);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns text in a string up until a certain character sequence is reached.
|
* Returns text in a string up until a certain character sequence is reached.
|
||||||
@ -274,7 +274,7 @@ native TrimString(String:str[]);
|
|||||||
* marking the first index after the searched text. The
|
* marking the first index after the searched text. The
|
||||||
* index is always relative to the start of the input string.
|
* index is always relative to the start of the input string.
|
||||||
*/
|
*/
|
||||||
native SplitString(const String:source[], const String:split[], String:part[], partLen);
|
native int SplitString(const char[] source, const char[] split, char[] part, int partLen);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Given a string, replaces all occurrences of a search string with a
|
* Given a string, replaces all occurrences of a search string with a
|
||||||
@ -287,7 +287,7 @@ native SplitString(const String:source[], const String:split[], String:part[], p
|
|||||||
* @param caseSensitive If true (default), search is case sensitive.
|
* @param caseSensitive If true (default), search is case sensitive.
|
||||||
* @return Number of replacements that were performed.
|
* @return Number of replacements that were performed.
|
||||||
*/
|
*/
|
||||||
native ReplaceString(String:text[], maxlength, const String:search[], const String:replace[], bool:caseSensitive=true);
|
native int ReplaceString(char[] text, int maxlength, const char[] search, const char[] replace, bool caseSensitive=true);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Given a string, replaces the first occurrence of a search string with a
|
* Given a string, replaces the first occurrence of a search string with a
|
||||||
@ -306,7 +306,7 @@ native ReplaceString(String:text[], maxlength, const String:search[], const Stri
|
|||||||
* the last replacement ended, or -1 if no replacements were
|
* the last replacement ended, or -1 if no replacements were
|
||||||
* made.
|
* made.
|
||||||
*/
|
*/
|
||||||
native ReplaceStringEx(String:text[], maxlength, const String:search[], const String:replace[], searchLen=-1, replaceLen=-1, bool:caseSensitive=true);
|
native int ReplaceStringEx(char[] text, int maxlength, const char[] search, const char[] replace, int searchLen=-1, int replaceLen=-1, bool caseSensitive=true);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the number of bytes a character is using. This is
|
* Returns the number of bytes a character is using. This is
|
||||||
@ -316,7 +316,7 @@ native ReplaceStringEx(String:text[], maxlength, const String:search[], const St
|
|||||||
* @param source Source input string.
|
* @param source Source input string.
|
||||||
* @return Number of bytes the current character uses.
|
* @return Number of bytes the current character uses.
|
||||||
*/
|
*/
|
||||||
native GetCharBytes(const String:source[]);
|
native int GetCharBytes(const char[] source);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns whether a character is an ASCII alphabet character.
|
* Returns whether a character is an ASCII alphabet character.
|
||||||
@ -326,7 +326,7 @@ native GetCharBytes(const String:source[]);
|
|||||||
* @param chr Character to test.
|
* @param chr Character to test.
|
||||||
* @return True if character is alphabetical, otherwise false.
|
* @return True if character is alphabetical, otherwise false.
|
||||||
*/
|
*/
|
||||||
native bool:IsCharAlpha(chr);
|
native bool IsCharAlpha(int chr);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns whether a character is numeric.
|
* Returns whether a character is numeric.
|
||||||
@ -336,7 +336,7 @@ native bool:IsCharAlpha(chr);
|
|||||||
* @param chr Character to test.
|
* @param chr Character to test.
|
||||||
* @return True if character is numeric, otherwise false.
|
* @return True if character is numeric, otherwise false.
|
||||||
*/
|
*/
|
||||||
native bool:IsCharNumeric(chr);
|
native bool IsCharNumeric(int chr);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns whether a character is whitespace.
|
* Returns whether a character is whitespace.
|
||||||
@ -346,7 +346,7 @@ native bool:IsCharNumeric(chr);
|
|||||||
* @param chr Character to test.
|
* @param chr Character to test.
|
||||||
* @return True if character is whitespace, otherwise false.
|
* @return True if character is whitespace, otherwise false.
|
||||||
*/
|
*/
|
||||||
native bool:IsCharSpace(chr);
|
native bool IsCharSpace(int chr);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns if a character is multi-byte or not.
|
* Returns if a character is multi-byte or not.
|
||||||
@ -355,7 +355,7 @@ native bool:IsCharSpace(chr);
|
|||||||
* @return 0 for a normal 7-bit ASCII character,
|
* @return 0 for a normal 7-bit ASCII character,
|
||||||
* otherwise number of bytes in multi-byte character.
|
* otherwise number of bytes in multi-byte character.
|
||||||
*/
|
*/
|
||||||
native IsCharMB(chr);
|
native int IsCharMB(int chr);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns whether an alphabetic character is uppercase.
|
* Returns whether an alphabetic character is uppercase.
|
||||||
@ -365,7 +365,7 @@ native IsCharMB(chr);
|
|||||||
* @param chr Character to test.
|
* @param chr Character to test.
|
||||||
* @return True if character is uppercase, otherwise false.
|
* @return True if character is uppercase, otherwise false.
|
||||||
*/
|
*/
|
||||||
native bool:IsCharUpper(chr);
|
native bool IsCharUpper(int chr);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns whether an alphabetic character is lowercase.
|
* Returns whether an alphabetic character is lowercase.
|
||||||
@ -375,7 +375,7 @@ native bool:IsCharUpper(chr);
|
|||||||
* @param chr Character to test.
|
* @param chr Character to test.
|
||||||
* @return True if character is lowercase, otherwise false.
|
* @return True if character is lowercase, otherwise false.
|
||||||
*/
|
*/
|
||||||
native bool:IsCharLower(chr);
|
native bool IsCharLower(int chr);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Strips a quote pair off a string if it exists. That is, the following
|
* Strips a quote pair off a string if it exists. That is, the following
|
||||||
@ -389,7 +389,7 @@ native bool:IsCharLower(chr);
|
|||||||
* @return True if string was modified, false if there was no
|
* @return True if string was modified, false if there was no
|
||||||
* set of quotes.
|
* set of quotes.
|
||||||
*/
|
*/
|
||||||
native bool:StripQuotes(String:text[]);
|
native bool StripQuotes(char[] text);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns an uppercase character to a lowercase character.
|
* Returns an uppercase character to a lowercase character.
|
||||||
@ -398,7 +398,7 @@ native bool:StripQuotes(String:text[]);
|
|||||||
* @return Lowercase character on success,
|
* @return Lowercase character on success,
|
||||||
* no change on failure.
|
* no change on failure.
|
||||||
*/
|
*/
|
||||||
stock CharToUpper(chr)
|
stock int CharToUpper(int chr)
|
||||||
{
|
{
|
||||||
if (IsCharLower(chr))
|
if (IsCharLower(chr))
|
||||||
{
|
{
|
||||||
@ -414,7 +414,7 @@ stock CharToUpper(chr)
|
|||||||
* @return Uppercase character on success,
|
* @return Uppercase character on success,
|
||||||
* no change on failure.
|
* no change on failure.
|
||||||
*/
|
*/
|
||||||
stock CharToLower(chr)
|
stock int CharToLower(int chr)
|
||||||
{
|
{
|
||||||
if (IsCharUpper(chr))
|
if (IsCharUpper(chr))
|
||||||
{
|
{
|
||||||
@ -460,9 +460,9 @@ stock int FindCharInString(const char[] str, char c, bool reverse = false)
|
|||||||
* @param source Source string to concatenate.
|
* @param source Source string to concatenate.
|
||||||
* @return Number of bytes written.
|
* @return Number of bytes written.
|
||||||
*/
|
*/
|
||||||
stock StrCat(String:buffer[], maxlength, const String:source[])
|
stock int StrCat(char[] buffer, int maxlength, const char[] source)
|
||||||
{
|
{
|
||||||
new len = strlen(buffer);
|
int len = strlen(buffer);
|
||||||
if (len >= maxlength)
|
if (len >= maxlength)
|
||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
@ -483,10 +483,10 @@ stock StrCat(String:buffer[], maxlength, const String:source[])
|
|||||||
* delimiters after last piece.
|
* delimiters after last piece.
|
||||||
* @return Number of strings retrieved.
|
* @return Number of strings retrieved.
|
||||||
*/
|
*/
|
||||||
stock ExplodeString(const String:text[], const String:split[], String:buffers[][], maxStrings,
|
stock int ExplodeString(const char[] text, const char[] split, char[][] buffers, int maxStrings,
|
||||||
maxStringLength, bool:copyRemainder = false)
|
int maxStringLength, bool copyRemainder = false)
|
||||||
{
|
{
|
||||||
new reloc_idx, idx, total;
|
int reloc_idx, idx, total;
|
||||||
|
|
||||||
if (maxStrings < 1 || !split[0])
|
if (maxStrings < 1 || !split[0])
|
||||||
{
|
{
|
||||||
@ -522,11 +522,11 @@ stock ExplodeString(const String:text[], const String:split[], String:buffers[][
|
|||||||
* @param maxLength Maximum length of the output buffer.
|
* @param maxLength Maximum length of the output buffer.
|
||||||
* @return Number of bytes written to the output buffer.
|
* @return Number of bytes written to the output buffer.
|
||||||
*/
|
*/
|
||||||
stock ImplodeStrings(const String:strings[][], numStrings, const String:join[], String:buffer[], maxLength)
|
stock int ImplodeStrings(const char[][] strings, int numStrings, const char[] join, char[] buffer, int maxLength)
|
||||||
{
|
{
|
||||||
new total, length, part_length;
|
int total, length, part_length;
|
||||||
new join_length = strlen(join);
|
int join_length = strlen(join);
|
||||||
for (new i=0; i<numStrings; i++)
|
for (int i=0; i<numStrings; i++)
|
||||||
{
|
{
|
||||||
length = strcopy(buffer[total], maxLength-total, strings[i]);
|
length = strcopy(buffer[total], maxLength-total, strings[i]);
|
||||||
total += length;
|
total += length;
|
||||||
|
@ -213,7 +213,7 @@ native bool SMC_GetErrorString(SMCError error, char[] buffer, int buf_max);
|
|||||||
* @param func SMC_ParseStart function.
|
* @param func SMC_ParseStart function.
|
||||||
* @error Invalid or corrupt Handle.
|
* @error Invalid or corrupt Handle.
|
||||||
*/
|
*/
|
||||||
native SMC_SetParseStart(Handle smc, SMC_ParseStart func);
|
native void SMC_SetParseStart(Handle smc, SMC_ParseStart func);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets the SMC_ParseEnd of a parse handle.
|
* Sets the SMC_ParseEnd of a parse handle.
|
||||||
@ -222,7 +222,7 @@ native SMC_SetParseStart(Handle smc, SMC_ParseStart func);
|
|||||||
* @param func SMC_ParseEnd function.
|
* @param func SMC_ParseEnd function.
|
||||||
* @error Invalid or corrupt Handle.
|
* @error Invalid or corrupt Handle.
|
||||||
*/
|
*/
|
||||||
native SMC_SetParseEnd(Handle smc, SMC_ParseEnd func);
|
native void SMC_SetParseEnd(Handle smc, SMC_ParseEnd func);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets the three main reader functions.
|
* Sets the three main reader functions.
|
||||||
|
@ -198,25 +198,25 @@ enum TFCond
|
|||||||
TFCond_NoTaunting,
|
TFCond_NoTaunting,
|
||||||
};
|
};
|
||||||
|
|
||||||
const Float:TFCondDuration_Infinite = -1.0;
|
const float TFCondDuration_Infinite = -1.0;
|
||||||
|
|
||||||
enum TFHoliday
|
enum TFHoliday
|
||||||
{
|
{
|
||||||
TFHoliday_Invalid = -1
|
TFHoliday_Invalid = -1
|
||||||
};
|
};
|
||||||
|
|
||||||
public const TFHoliday:TFHoliday_Birthday;
|
public const TFHoliday TFHoliday_Birthday;
|
||||||
public const TFHoliday:TFHoliday_Halloween;
|
public const TFHoliday TFHoliday_Halloween;
|
||||||
public const TFHoliday:TFHoliday_Christmas;
|
public const TFHoliday TFHoliday_Christmas;
|
||||||
public const TFHoliday:TFHoliday_EndOfTheLine;
|
public const TFHoliday TFHoliday_EndOfTheLine;
|
||||||
public const TFHoliday:TFHoliday_CommunityUpdate;
|
public const TFHoliday TFHoliday_CommunityUpdate;
|
||||||
public const TFHoliday:TFHoliday_ValentinesDay;
|
public const TFHoliday TFHoliday_ValentinesDay;
|
||||||
public const TFHoliday:TFHoliday_MeetThePyro;
|
public const TFHoliday TFHoliday_MeetThePyro;
|
||||||
public const TFHoliday:TFHoliday_SpyVsEngyWar;
|
public const TFHoliday TFHoliday_SpyVsEngyWar;
|
||||||
public const TFHoliday:TFHoliday_FullMoon;
|
public const TFHoliday TFHoliday_FullMoon;
|
||||||
public const TFHoliday:TFHoliday_HalloweenOrFullMoon;
|
public const TFHoliday TFHoliday_HalloweenOrFullMoon;
|
||||||
public const TFHoliday:TFHoliday_HalloweenOrFullMoonOrValentines;
|
public const TFHoliday TFHoliday_HalloweenOrFullMoonOrValentines;
|
||||||
public const TFHoliday:TFHoliday_AprilFools;
|
public const TFHoliday TFHoliday_AprilFools;
|
||||||
|
|
||||||
enum TFObjectType
|
enum TFObjectType
|
||||||
{
|
{
|
||||||
@ -239,28 +239,25 @@ enum TFObjectMode
|
|||||||
*
|
*
|
||||||
* @param client Player's index.
|
* @param client Player's index.
|
||||||
* @param attacker Attacker's index.
|
* @param attacker Attacker's index.
|
||||||
* @noreturn
|
|
||||||
* @error Invalid client index, client not in game, or no mod support.
|
* @error Invalid client index, client not in game, or no mod support.
|
||||||
*/
|
*/
|
||||||
native TF2_IgnitePlayer(client, attacker);
|
native void TF2_IgnitePlayer(int client, int attacker);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Respawns a client
|
* Respawns a client
|
||||||
*
|
*
|
||||||
* @param client Player's index.
|
* @param client Player's index.
|
||||||
* @noreturn
|
|
||||||
* @error Invalid client index, client not in game, or no mod support.
|
* @error Invalid client index, client not in game, or no mod support.
|
||||||
*/
|
*/
|
||||||
native TF2_RespawnPlayer(client);
|
native void TF2_RespawnPlayer(int client);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Regenerates a client's health and ammunition
|
* Regenerates a client's health and ammunition
|
||||||
*
|
*
|
||||||
* @param client Player's index.
|
* @param client Player's index.
|
||||||
* @noreturn
|
|
||||||
* @error Invalid client index, client not in game, or no mod support.
|
* @error Invalid client index, client not in game, or no mod support.
|
||||||
*/
|
*/
|
||||||
native TF2_RegeneratePlayer(client);
|
native void TF2_RegeneratePlayer(int client);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Adds a condition to a player
|
* Adds a condition to a player
|
||||||
@ -270,30 +267,27 @@ native TF2_RegeneratePlayer(client);
|
|||||||
* @param duration Duration of condition (does not apply to all conditions).
|
* @param duration Duration of condition (does not apply to all conditions).
|
||||||
* Pass TFCondDuration_Infinite to apply until manually removed.
|
* Pass TFCondDuration_Infinite to apply until manually removed.
|
||||||
* @param inflictor Condition inflictor's index (0 for no inflictor).
|
* @param inflictor Condition inflictor's index (0 for no inflictor).
|
||||||
* @noreturn
|
|
||||||
* @error Invalid client index, client not in game, or no mod support.
|
* @error Invalid client index, client not in game, or no mod support.
|
||||||
*/
|
*/
|
||||||
native TF2_AddCondition(client, TFCond:condition, Float:duration=TFCondDuration_Infinite, inflictor=0);
|
native void TF2_AddCondition(int client, TFCond condition, float duration=TFCondDuration_Infinite, int inflictor=0);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Removes a condition from a player
|
* Removes a condition from a player
|
||||||
*
|
*
|
||||||
* @param client Player's index.
|
* @param client Player's index.
|
||||||
* @param condition Integer identifier of condition to remove.
|
* @param condition Integer identifier of condition to remove.
|
||||||
* @noreturn
|
|
||||||
* @error Invalid client index, client not in game, or no mod support.
|
* @error Invalid client index, client not in game, or no mod support.
|
||||||
*/
|
*/
|
||||||
native TF2_RemoveCondition(client, TFCond:condition);
|
native void TF2_RemoveCondition(int client, TFCond condition);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Enables/disables PowerPlay mode on a player.
|
* Enables/disables PowerPlay mode on a player.
|
||||||
*
|
*
|
||||||
* @param client Player's index.
|
* @param client Player's index.
|
||||||
* @param enabled Whether to enable or disable PowerPlay on player.
|
* @param enabled Whether to enable or disable PowerPlay on player.
|
||||||
* @noreturn
|
|
||||||
* @error Invalid client index, client not in game, or no mod support.
|
* @error Invalid client index, client not in game, or no mod support.
|
||||||
*/
|
*/
|
||||||
native TF2_SetPlayerPowerPlay(client, bool:enabled);
|
native void TF2_SetPlayerPowerPlay(int 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.
|
||||||
@ -304,19 +298,17 @@ native TF2_SetPlayerPowerPlay(client, bool:enabled);
|
|||||||
* @param team Team to disguise the player as (only TFTeam_Red and TFTeam_Blue have an effect)
|
* @param team Team to disguise the player as (only TFTeam_Red and TFTeam_Blue have an effect)
|
||||||
* @param classType TFClassType class to disguise the player as
|
* @param classType TFClassType class to disguise the player as
|
||||||
* @param target Specific target player to disguise as (0 for any)
|
* @param target Specific target player to disguise as (0 for any)
|
||||||
* @noreturn
|
|
||||||
* @error Invalid client index, client not in game, or no mod support.
|
* @error Invalid client index, client not in game, or no mod support.
|
||||||
*/
|
*/
|
||||||
native TF2_DisguisePlayer(client, TFTeam:team, TFClassType:classType, target=0);
|
native void TF2_DisguisePlayer(int client, TFTeam team, TFClassType classType, int target=0);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Removes the current disguise from a client. Only has an effect on spies.
|
* Removes the current disguise from a client. Only has an effect on spies.
|
||||||
*
|
*
|
||||||
* @param client Player's index.
|
* @param client Player's index.
|
||||||
* @noreturn
|
|
||||||
* @error Invalid client index, client not in game, or no mod support.
|
* @error Invalid client index, client not in game, or no mod support.
|
||||||
*/
|
*/
|
||||||
native TF2_RemovePlayerDisguise(client);
|
native void TF2_RemovePlayerDisguise(int client);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Stuns a client
|
* Stuns a client
|
||||||
@ -327,9 +319,8 @@ native TF2_RemovePlayerDisguise(client);
|
|||||||
* Ignored if TF_STUNFLAG_SLOWDOWN is not set.
|
* Ignored if TF_STUNFLAG_SLOWDOWN is not set.
|
||||||
* @param stunflags Stun flags.
|
* @param stunflags Stun flags.
|
||||||
* @param attacker Attacker's index (0 is allowed for world).
|
* @param attacker Attacker's index (0 is allowed for world).
|
||||||
* @noreturn
|
|
||||||
*/
|
*/
|
||||||
native TF2_StunPlayer(client, Float:duration, Float:slowdown=0.0, stunflags, attacker=0);
|
native void TF2_StunPlayer(int client, float duration, float slowdown=0.0, int stunflags, int attacker=0);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Induces the bleed effect on a client
|
* Induces the bleed effect on a client
|
||||||
@ -337,9 +328,8 @@ native TF2_StunPlayer(client, Float:duration, Float:slowdown=0.0, stunflags, att
|
|||||||
* @param client Player's index.
|
* @param client Player's index.
|
||||||
* @param attacker Attacker's index.
|
* @param attacker Attacker's index.
|
||||||
* @param duration Duration of bleeding (in seconds).
|
* @param duration Duration of bleeding (in seconds).
|
||||||
* @noreturn
|
|
||||||
*/
|
*/
|
||||||
native TF2_MakeBleed(client, attacker, Float:duration);
|
native void TF2_MakeBleed(int client, int attacker, float duration);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Retrieves the entity index of the CPlayerResource entity
|
* Retrieves the entity index of the CPlayerResource entity
|
||||||
@ -347,7 +337,7 @@ native TF2_MakeBleed(client, attacker, Float:duration);
|
|||||||
* @return The current resource entity index.
|
* @return The current resource entity index.
|
||||||
*/
|
*/
|
||||||
#pragma deprecated Use GetPlayerResourceEntity instead
|
#pragma deprecated Use GetPlayerResourceEntity instead
|
||||||
native TF2_GetResourceEntity();
|
native int TF2_GetResourceEntity();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Finds the TFClassType for a given class name.
|
* Finds the TFClassType for a given class name.
|
||||||
@ -355,7 +345,7 @@ native TF2_GetResourceEntity();
|
|||||||
* @param classname A classname string such as "sniper" or "demoman"
|
* @param classname A classname string such as "sniper" or "demoman"
|
||||||
* @return A TFClassType constant.
|
* @return A TFClassType constant.
|
||||||
*/
|
*/
|
||||||
native TFClassType:TF2_GetClass(const String:classname[]);
|
native TFClassType TF2_GetClass(const char[] classname);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Called on weapon fire to decide if the current shot should be critical.
|
* Called on weapon fire to decide if the current shot should be critical.
|
||||||
@ -372,13 +362,13 @@ native TFClassType:TF2_GetClass(const String:classname[]);
|
|||||||
* @param weaponname Classname of the weapon.
|
* @param weaponname Classname of the weapon.
|
||||||
* @param result Buffer param for the result of the decision.
|
* @param result Buffer param for the result of the decision.
|
||||||
*/
|
*/
|
||||||
forward Action:TF2_CalcIsAttackCritical(client, weapon, String:weaponname[], &bool:result);
|
forward Action TF2_CalcIsAttackCritical(int client, int weapon, char[] weaponname, bool &result);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @deprecated No longer called. Use TF2_OnIsHolidayActive.
|
* @deprecated No longer called. Use TF2_OnIsHolidayActive.
|
||||||
*/
|
*/
|
||||||
#pragma deprecated No longer called. Use TF2_OnIsHolidayActive.
|
#pragma deprecated No longer called. Use TF2_OnIsHolidayActive.
|
||||||
forward Action:TF2_OnGetHoliday(&TFHoliday:holiday);
|
forward Action TF2_OnGetHoliday(TFHoliday &holiday);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Called at various times when the game checks to see if the given holiday is active.
|
* Called at various times when the game checks to see if the given holiday is active.
|
||||||
@ -389,7 +379,7 @@ forward Action:TF2_OnGetHoliday(&TFHoliday:holiday);
|
|||||||
* @param result Buffer param for the result of the decision.
|
* @param result Buffer param for the result of the decision.
|
||||||
* @return Plugin_Continue for original calculation, higher value to use 'result'.
|
* @return Plugin_Continue for original calculation, higher value to use 'result'.
|
||||||
*/
|
*/
|
||||||
forward Action:TF2_OnIsHolidayActive(TFHoliday:holiday, &bool:result);
|
forward Action TF2_OnIsHolidayActive(TFHoliday holiday, bool &result);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns whether or not a holiday is active
|
* Returns whether or not a holiday is active
|
||||||
@ -397,7 +387,7 @@ forward Action:TF2_OnIsHolidayActive(TFHoliday:holiday, &bool:result);
|
|||||||
* @param holiday Holiday being checked.
|
* @param holiday Holiday being checked.
|
||||||
* @return Boolean of whether or not the holiday is active.
|
* @return Boolean of whether or not the holiday is active.
|
||||||
*/
|
*/
|
||||||
native bool:TF2_IsHolidayActive(TFHoliday:holiday);
|
native bool TF2_IsHolidayActive(TFHoliday holiday);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns whether or not a client (Player) is in a duel.
|
* Returns whether or not a client (Player) is in a duel.
|
||||||
@ -405,7 +395,7 @@ native bool:TF2_IsHolidayActive(TFHoliday:holiday);
|
|||||||
* @param client Client Index.
|
* @param client Client Index.
|
||||||
* @return Boolean of whether or not the client/player is dueling.
|
* @return Boolean of whether or not the client/player is dueling.
|
||||||
*/
|
*/
|
||||||
native bool:TF2_IsPlayerInDuel(client);
|
native bool TF2_IsPlayerInDuel(int client);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Removes an econ wearable (hat, misc, etc) from a player.
|
* Removes an econ wearable (hat, misc, etc) from a player.
|
||||||
@ -413,10 +403,9 @@ native bool:TF2_IsPlayerInDuel(client);
|
|||||||
*
|
*
|
||||||
* @param client Client index.
|
* @param client Client index.
|
||||||
* @param wearable Index of the wearable entity.
|
* @param wearable Index of the wearable entity.
|
||||||
* @noreturn
|
|
||||||
* @error Invalid client index, client not in game, invalid wearable entity, or no mod support.
|
* @error Invalid client index, client not in game, invalid wearable entity, or no mod support.
|
||||||
*/
|
*/
|
||||||
native TF2_RemoveWearable(client, wearable);
|
native void TF2_RemoveWearable(int client, int wearable);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Called after a condition is added to a player
|
* Called after a condition is added to a player
|
||||||
@ -424,7 +413,7 @@ native TF2_RemoveWearable(client, wearable);
|
|||||||
* @param client Index of the client to which the condition is being added.
|
* @param client Index of the client to which the condition is being added.
|
||||||
* @param condition Condition that is being added.
|
* @param condition Condition that is being added.
|
||||||
*/
|
*/
|
||||||
forward void TF2_OnConditionAdded(client, TFCond:condition);
|
forward void TF2_OnConditionAdded(int client, TFCond condition);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Called after a condition is removed from a player
|
* Called after a condition is removed from a player
|
||||||
@ -432,7 +421,7 @@ forward void TF2_OnConditionAdded(client, TFCond:condition);
|
|||||||
* @param client Index of the client to which the condition is being removed.
|
* @param client Index of the client to which the condition is being removed.
|
||||||
* @param condition Condition that is being removed.
|
* @param condition Condition that is being removed.
|
||||||
*/
|
*/
|
||||||
forward void TF2_OnConditionRemoved(client, TFCond:condition);
|
forward void TF2_OnConditionRemoved(int client, TFCond condition);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Called when the server enters the Waiting for Players round state
|
* Called when the server enters the Waiting for Players round state
|
||||||
@ -455,12 +444,12 @@ forward void TF2_OnWaitingForPlayersEnd();
|
|||||||
* This is prepopulated with the game's original decision to let a player teleport.
|
* This is prepopulated with the game's original decision to let a player teleport.
|
||||||
* @return Plugin_Continue for original calculation, higher value to use 'result'.
|
* @return Plugin_Continue for original calculation, higher value to use 'result'.
|
||||||
*/
|
*/
|
||||||
forward Action:TF2_OnPlayerTeleport(client, teleporter, &bool:result);
|
forward Action TF2_OnPlayerTeleport(int client, int teleporter, bool &result);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Do not edit below this line!
|
* Do not edit below this line!
|
||||||
*/
|
*/
|
||||||
public Extension:__ext_tf2 =
|
public Extension __ext_tf2 =
|
||||||
{
|
{
|
||||||
name = "TF2 Tools",
|
name = "TF2 Tools",
|
||||||
file = "game.tf2.ext",
|
file = "game.tf2.ext",
|
||||||
@ -473,7 +462,7 @@ public Extension:__ext_tf2 =
|
|||||||
};
|
};
|
||||||
|
|
||||||
#if !defined REQUIRE_EXTENSIONS
|
#if !defined REQUIRE_EXTENSIONS
|
||||||
public __ext_tf2_SetNTVOptional()
|
public void __ext_tf2_SetNTVOptional()
|
||||||
{
|
{
|
||||||
MarkNativeAsOptional("TF2_IgnitePlayer");
|
MarkNativeAsOptional("TF2_IgnitePlayer");
|
||||||
MarkNativeAsOptional("TF2_RespawnPlayer");
|
MarkNativeAsOptional("TF2_RespawnPlayer");
|
||||||
|
@ -314,7 +314,7 @@ enum TFResourceType
|
|||||||
TFResource_PlayerClass
|
TFResource_PlayerClass
|
||||||
};
|
};
|
||||||
|
|
||||||
static const String:TFResourceNames[TFResourceType][] =
|
static const char TFResourceNames[TFResourceType][] =
|
||||||
{
|
{
|
||||||
"m_iPing",
|
"m_iPing",
|
||||||
"m_iScore",
|
"m_iScore",
|
||||||
@ -343,9 +343,9 @@ static const String:TFResourceNames[TFResourceType][] =
|
|||||||
* @return Current TFTeam of client.
|
* @return Current TFTeam of client.
|
||||||
* @error Invalid client index.
|
* @error Invalid client index.
|
||||||
*/
|
*/
|
||||||
stock TFTeam:TF2_GetClientTeam(client)
|
stock TFTeam TF2_GetClientTeam(int client)
|
||||||
{
|
{
|
||||||
return TFTeam:GetClientTeam(client);
|
return view_as<TFTeam>(GetClientTeam(client));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -353,12 +353,11 @@ stock TFTeam:TF2_GetClientTeam(client)
|
|||||||
*
|
*
|
||||||
* @param client Client index.
|
* @param client Client index.
|
||||||
* @param team TFTeam team symbol.
|
* @param team TFTeam team symbol.
|
||||||
* @noreturn
|
|
||||||
* @error Invalid client index.
|
* @error Invalid client index.
|
||||||
*/
|
*/
|
||||||
stock TF2_ChangeClientTeam(client, TFTeam:team)
|
stock void TF2_ChangeClientTeam(int client, TFTeam team)
|
||||||
{
|
{
|
||||||
ChangeClientTeam(client, _:team);
|
ChangeClientTeam(client, view_as<int>(team));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -368,9 +367,9 @@ stock TF2_ChangeClientTeam(client, TFTeam:team)
|
|||||||
* @return Current TFClassType of player.
|
* @return Current TFClassType of player.
|
||||||
* @error Invalid client index.
|
* @error Invalid client index.
|
||||||
*/
|
*/
|
||||||
stock TFClassType:TF2_GetPlayerClass(client)
|
stock TFClassType TF2_GetPlayerClass(int client)
|
||||||
{
|
{
|
||||||
return TFClassType:GetEntProp(client, Prop_Send, "m_iClass");
|
return view_as<TFClassType>(GetEntProp(client, Prop_Send, "m_iClass"));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -382,16 +381,15 @@ stock TFClassType:TF2_GetPlayerClass(client)
|
|||||||
* @param classType TFClassType class symbol.
|
* @param classType TFClassType class symbol.
|
||||||
* @param weapons This parameter is ignored.
|
* @param weapons This parameter is ignored.
|
||||||
* @param persistent If true, changes the player's desired class so the change stays after death.
|
* @param persistent If true, changes the player's desired class so the change stays after death.
|
||||||
* @noreturn
|
|
||||||
* @error Invalid client index.
|
* @error Invalid client index.
|
||||||
*/
|
*/
|
||||||
stock TF2_SetPlayerClass(client, TFClassType:classType, bool:weapons=true, bool:persistent=true)
|
stock void TF2_SetPlayerClass(int client, TFClassType classType, bool weapons=true, bool persistent=true)
|
||||||
{
|
{
|
||||||
SetEntProp(client, Prop_Send, "m_iClass", _:classType);
|
SetEntProp(client, Prop_Send, "m_iClass", view_as<int>(classType));
|
||||||
|
|
||||||
if (persistent)
|
if (persistent)
|
||||||
{
|
{
|
||||||
SetEntProp(client, Prop_Send, "m_iDesiredPlayerClass", _:classType);
|
SetEntProp(client, Prop_Send, "m_iDesiredPlayerClass", view_as<int>(classType));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -404,21 +402,21 @@ stock TF2_SetPlayerClass(client, TFClassType:classType, bool:weapons=true, bool:
|
|||||||
* @error Invalid client index, client not in game or failed to find resource entity.
|
* @error Invalid client index, client not in game or failed to find resource entity.
|
||||||
*/
|
*/
|
||||||
#pragma deprecated Use GetPlayerResourceEntity and GetEntProp instead
|
#pragma deprecated Use GetPlayerResourceEntity and GetEntProp instead
|
||||||
stock TF2_GetPlayerResourceData(client, TFResourceType:type)
|
stock int TF2_GetPlayerResourceData(int client, TFResourceType type)
|
||||||
{
|
{
|
||||||
if (!IsClientConnected(client))
|
if (!IsClientConnected(client))
|
||||||
{
|
{
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
new offset = FindSendPropInfo("CTFPlayerResource", TFResourceNames[type]);
|
int offset = FindSendPropInfo("CTFPlayerResource", TFResourceNames[type]);
|
||||||
|
|
||||||
if (offset < 1)
|
if (offset < 1)
|
||||||
{
|
{
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
new entity = TF2_GetResourceEntity();
|
int entity = TF2_GetResourceEntity();
|
||||||
|
|
||||||
if (entity == -1)
|
if (entity == -1)
|
||||||
{
|
{
|
||||||
@ -440,21 +438,21 @@ stock TF2_GetPlayerResourceData(client, TFResourceType:type)
|
|||||||
* @error Invalid client index, client not in game or failed to find resource entity.
|
* @error Invalid client index, client not in game or failed to find resource entity.
|
||||||
*/
|
*/
|
||||||
#pragma deprecated Use GetPlayerResourceEntity and SetEntProp instead
|
#pragma deprecated Use GetPlayerResourceEntity and SetEntProp instead
|
||||||
stock bool:TF2_SetPlayerResourceData(client, TFResourceType:type, any:value)
|
stock bool TF2_SetPlayerResourceData(int client, TFResourceType type, any value)
|
||||||
{
|
{
|
||||||
if (!IsClientConnected(client))
|
if (!IsClientConnected(client))
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
new offset = FindSendPropInfo("CTFPlayerResource", TFResourceNames[type]);
|
int offset = FindSendPropInfo("CTFPlayerResource", TFResourceNames[type]);
|
||||||
|
|
||||||
if (offset < 1)
|
if (offset < 1)
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
new entity = TF2_GetResourceEntity();
|
int entity = TF2_GetResourceEntity();
|
||||||
|
|
||||||
if (entity == -1)
|
if (entity == -1)
|
||||||
{
|
{
|
||||||
@ -471,17 +469,16 @@ stock bool:TF2_SetPlayerResourceData(client, TFResourceType:type, any:value)
|
|||||||
*
|
*
|
||||||
* @param client Player's index.
|
* @param client Player's index.
|
||||||
* @param slot Slot index (0-5)
|
* @param slot Slot index (0-5)
|
||||||
* @noreturn
|
|
||||||
* @error Invalid client, invalid slot or lack of mod support
|
* @error Invalid client, invalid slot or lack of mod support
|
||||||
*/
|
*/
|
||||||
stock TF2_RemoveWeaponSlot(client, slot)
|
stock void TF2_RemoveWeaponSlot(int client, int slot)
|
||||||
{
|
{
|
||||||
new weaponIndex;
|
int weaponIndex;
|
||||||
while ((weaponIndex = GetPlayerWeaponSlot(client, slot)) != -1)
|
while ((weaponIndex = GetPlayerWeaponSlot(client, slot)) != -1)
|
||||||
{
|
{
|
||||||
// bug #6206
|
// bug #6206
|
||||||
// papering over a valve bug where a weapon's extra wearables aren't properly removed from the weapon's owner
|
// papering over a valve bug where a weapon's extra wearables aren't properly removed from the weapon's owner
|
||||||
new extraWearable = GetEntPropEnt(weaponIndex, Prop_Send, "m_hExtraWearable");
|
int extraWearable = GetEntPropEnt(weaponIndex, Prop_Send, "m_hExtraWearable");
|
||||||
if (extraWearable != -1)
|
if (extraWearable != -1)
|
||||||
{
|
{
|
||||||
TF2_RemoveWearable(client, extraWearable);
|
TF2_RemoveWearable(client, extraWearable);
|
||||||
@ -502,11 +499,10 @@ stock TF2_RemoveWeaponSlot(client, slot)
|
|||||||
* Removes all weapons from a client
|
* Removes all weapons from a client
|
||||||
*
|
*
|
||||||
* @param client Player's index.
|
* @param client Player's index.
|
||||||
* @noreturn
|
|
||||||
*/
|
*/
|
||||||
stock TF2_RemoveAllWeapons(client)
|
stock void TF2_RemoveAllWeapons(int client)
|
||||||
{
|
{
|
||||||
for (new i = 0; i <= 5; i++)
|
for (int i = 0; i <= 5; i++)
|
||||||
{
|
{
|
||||||
TF2_RemoveWeaponSlot(client, i);
|
TF2_RemoveWeaponSlot(client, i);
|
||||||
}
|
}
|
||||||
@ -519,7 +515,7 @@ stock TF2_RemoveAllWeapons(client)
|
|||||||
* @return Player's condition bits
|
* @return Player's condition bits
|
||||||
*/
|
*/
|
||||||
#pragma deprecated Use TF2_IsPlayerInCondition instead.
|
#pragma deprecated Use TF2_IsPlayerInCondition instead.
|
||||||
stock TF2_GetPlayerConditionFlags(client)
|
stock int TF2_GetPlayerConditionFlags(int client)
|
||||||
{
|
{
|
||||||
return GetEntProp(client, Prop_Send, "m_nPlayerCond")|GetEntProp(client, Prop_Send, "_condition_bits");
|
return GetEntProp(client, Prop_Send, "m_nPlayerCond")|GetEntProp(client, Prop_Send, "_condition_bits");
|
||||||
}
|
}
|
||||||
@ -531,12 +527,12 @@ stock TF2_GetPlayerConditionFlags(client)
|
|||||||
* @param cond TFCond constant
|
* @param cond TFCond constant
|
||||||
* @return True if set, false otherwise
|
* @return True if set, false otherwise
|
||||||
*/
|
*/
|
||||||
stock bool:TF2_IsPlayerInCondition(client, TFCond:cond)
|
stock bool TF2_IsPlayerInCondition(int client, TFCond cond)
|
||||||
{
|
{
|
||||||
// Conditions are stored across two netprops now, one for each 32-bit segment.
|
// Conditions are stored across two netprops now, one for each 32-bit segment.
|
||||||
if (_:cond < 32)
|
if (view_as<int>(cond) < 32)
|
||||||
{
|
{
|
||||||
new bit = 1 << _:cond;
|
int bit = 1 << view_as<int>(cond);
|
||||||
if ((GetEntProp(client, Prop_Send, "m_nPlayerCond") & bit) == bit)
|
if ((GetEntProp(client, Prop_Send, "m_nPlayerCond") & bit) == bit)
|
||||||
{
|
{
|
||||||
return true;
|
return true;
|
||||||
@ -547,17 +543,17 @@ stock bool:TF2_IsPlayerInCondition(client, TFCond:cond)
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (_:cond < 64)
|
else if (view_as<int>(cond) < 64)
|
||||||
{
|
{
|
||||||
new bit = (1 << (_:cond - 32));
|
int bit = (1 << (view_as<int>(cond) - 32));
|
||||||
if ((GetEntProp(client, Prop_Send, "m_nPlayerCondEx") & bit) == bit)
|
if ((GetEntProp(client, Prop_Send, "m_nPlayerCondEx") & bit) == bit)
|
||||||
{
|
{
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (_:cond < 96)
|
else if (view_as<int>(cond) < 96)
|
||||||
{
|
{
|
||||||
new bit = (1 << (_:cond - 64));
|
int bit = (1 << (view_as<int>(cond) - 64));
|
||||||
if ((GetEntProp(client, Prop_Send, "m_nPlayerCondEx2") & bit) == bit)
|
if ((GetEntProp(client, Prop_Send, "m_nPlayerCondEx2") & bit) == bit)
|
||||||
{
|
{
|
||||||
return true;
|
return true;
|
||||||
@ -565,7 +561,7 @@ stock bool:TF2_IsPlayerInCondition(client, TFCond:cond)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
new bit = (1 << (_:cond - 96));
|
int bit = (1 << (view_as<int>(cond) - 96));
|
||||||
if ((GetEntProp(client, Prop_Send, "m_nPlayerCondEx3") & bit) == bit)
|
if ((GetEntProp(client, Prop_Send, "m_nPlayerCondEx3") & bit) == bit)
|
||||||
{
|
{
|
||||||
return true;
|
return true;
|
||||||
@ -582,16 +578,16 @@ stock bool:TF2_IsPlayerInCondition(client, TFCond:cond)
|
|||||||
* @return Current TFObjectType of entity.
|
* @return Current TFObjectType of entity.
|
||||||
* @error Invalid entity index.
|
* @error Invalid entity index.
|
||||||
*/
|
*/
|
||||||
stock TFObjectType:TF2_GetObjectType(entity)
|
stock TFObjectType TF2_GetObjectType(int entity)
|
||||||
{
|
{
|
||||||
new offset = GetEntSendPropOffs(entity, "m_iObjectType");
|
int offset = GetEntSendPropOffs(entity, "m_iObjectType");
|
||||||
|
|
||||||
if (offset <= 0)
|
if (offset <= 0)
|
||||||
{
|
{
|
||||||
ThrowError("Entity index %d is not an object", entity);
|
ThrowError("Entity index %d is not an object", entity);
|
||||||
}
|
}
|
||||||
|
|
||||||
return TFObjectType:GetEntData(entity, offset);
|
return view_as<TFObjectType>(GetEntData(entity, offset));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -601,14 +597,14 @@ stock TFObjectType:TF2_GetObjectType(entity)
|
|||||||
* @return Current TFObjectMode of entity.
|
* @return Current TFObjectMode of entity.
|
||||||
* @error Invalid entity index.
|
* @error Invalid entity index.
|
||||||
*/
|
*/
|
||||||
stock TFObjectMode:TF2_GetObjectMode(entity)
|
stock TFObjectMode TF2_GetObjectMode(int entity)
|
||||||
{
|
{
|
||||||
new offset = GetEntSendPropOffs(entity, "m_iObjectMode");
|
int offset = GetEntSendPropOffs(entity, "m_iObjectMode");
|
||||||
|
|
||||||
if (offset <= 0)
|
if (offset <= 0)
|
||||||
{
|
{
|
||||||
ThrowError("Entity index %d is not an object", entity);
|
ThrowError("Entity index %d is not an object", entity);
|
||||||
}
|
}
|
||||||
|
|
||||||
return TFObjectMode:GetEntData(entity, offset);
|
return view_as<TFObjectMode>(GetEntData(entity, offset));
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user