cstrike/csx/csstats: Added documentation, consistency updates, typo fixes
This commit is contained in:
		@@ -12,58 +12,263 @@
 | 
			
		||||
#endif
 | 
			
		||||
#define _csstats_included
 | 
			
		||||
 | 
			
		||||
/* Gets stats from given weapon index. If wpnindex is 0
 | 
			
		||||
* then the stats are from all weapons. If weapon has not been used function
 | 
			
		||||
* returns 0 in other case 1. Fields in stats are:
 | 
			
		||||
* 0 - kills
 | 
			
		||||
* 1 - deaths
 | 
			
		||||
* 2 - headshots
 | 
			
		||||
* 3 - teamkilling
 | 
			
		||||
* 4 - shots
 | 
			
		||||
* 5 - hits
 | 
			
		||||
* 6 - damage
 | 
			
		||||
/**
 | 
			
		||||
 * Retrieves the client's current weapon statistics.
 | 
			
		||||
 *
 | 
			
		||||
 * @note For a list of default CS weapon ids see the CSW_* constants in
 | 
			
		||||
 *       amxconst.inc, this function also works on custom weapons.
 | 
			
		||||
 * @note For a list of possible body hitplaces see the HIT_* constants in
 | 
			
		||||
 *       amxconst.inc
 | 
			
		||||
 * @note The fields in the statistics are:
 | 
			
		||||
 *          0 - Kills
 | 
			
		||||
 *          1 - Deaths
 | 
			
		||||
 *          2 - Headshots
 | 
			
		||||
 *          3 - Teamkills
 | 
			
		||||
 *          4 - Shots
 | 
			
		||||
 *          5 - Hits
 | 
			
		||||
 *          6 - Damage
 | 
			
		||||
 *
 | 
			
		||||
 * @param index     Client index
 | 
			
		||||
 * @param wpnindex  Weapon id, or 0 to retrieve total statistics across all
 | 
			
		||||
 *                  weapons
 | 
			
		||||
 * @param stats     Buffer to copy statistics to
 | 
			
		||||
 * @param bodyhits  Buffer to copy body hits to
 | 
			
		||||
 *
 | 
			
		||||
 * @return          1 on success, 0 if no statistics are available for the weapon
 | 
			
		||||
 *                  id
 | 
			
		||||
 * @error           If an invalid client index or weapon id is provided, an
 | 
			
		||||
 *                  error will be thrown.
 | 
			
		||||
 */
 | 
			
		||||
native get_user_wstats(index, wpnindex, stats[8], bodyhits[8]);
 | 
			
		||||
 | 
			
		||||
* For body hits fields see amxconst.inc. */
 | 
			
		||||
native get_user_wstats(index,wpnindex,stats[8],bodyhits[8]);
 | 
			
		||||
/**
 | 
			
		||||
 * Retrieves the client's weapon statistics from the current round.
 | 
			
		||||
 *
 | 
			
		||||
 * @note For a list of default CS weapon ids see the CSW_* constants in
 | 
			
		||||
 *       amxconst.inc, this function also works on custom weapons.
 | 
			
		||||
 * @note For a list of possible body hitplaces see the HIT_* constants in
 | 
			
		||||
 *       amxconst.inc
 | 
			
		||||
 * @note The fields in the statistics are:
 | 
			
		||||
 *          0 - Kills
 | 
			
		||||
 *          1 - Deaths
 | 
			
		||||
 *          2 - Headshots
 | 
			
		||||
 *          3 - Teamkills
 | 
			
		||||
 *          4 - Shots
 | 
			
		||||
 *          5 - Hits
 | 
			
		||||
 *          6 - Damage
 | 
			
		||||
 *
 | 
			
		||||
 * @param index     Client index
 | 
			
		||||
 * @param wpnindex  Weapon id, or 0 to retrieve total statistics across all
 | 
			
		||||
 *                  weapons
 | 
			
		||||
 * @param stats     Buffer to copy statistics to
 | 
			
		||||
 * @param bodyhits  Buffer to copy body hits to
 | 
			
		||||
 *
 | 
			
		||||
 * @return          1 on success, 0 if no statistics are available for the
 | 
			
		||||
 *                  weapon id
 | 
			
		||||
 * @error           If an invalid client index or weapon id is provided, an
 | 
			
		||||
 *                  error will be thrown.
 | 
			
		||||
 */
 | 
			
		||||
native get_user_wrstats(index, wpnindex, stats[8], bodyhits[8]);
 | 
			
		||||
 | 
			
		||||
/* Gets round stats from given weapon index.*/
 | 
			
		||||
native get_user_wrstats(index,wpnindex,stats[8],bodyhits[8]);
 | 
			
		||||
/**
 | 
			
		||||
 * Retrieves the client's weapon statistics from the permanent storage on the
 | 
			
		||||
 * server.
 | 
			
		||||
 *
 | 
			
		||||
 * @note The permanent storage is updated on every respawn or client disconnect.
 | 
			
		||||
 * @note Player rank is determined by the difference of kills to deaths.
 | 
			
		||||
 * @note For a list of possible body hitplaces see the HIT_* constants in
 | 
			
		||||
 *       amxconst.inc
 | 
			
		||||
 * @note The fields in the statistics are:
 | 
			
		||||
 *          0 - Kills
 | 
			
		||||
 *          1 - Deaths
 | 
			
		||||
 *          2 - Headshots
 | 
			
		||||
 *          3 - Teamkills
 | 
			
		||||
 *          4 - Shots
 | 
			
		||||
 *          5 - Hits
 | 
			
		||||
 *          6 - Damage
 | 
			
		||||
 *          7 - Rank
 | 
			
		||||
 *
 | 
			
		||||
 * @param index     Client index
 | 
			
		||||
 * @param stats     Buffer to copy statistics to
 | 
			
		||||
 * @param bodyhits  Buffer to copy body hits to
 | 
			
		||||
 *
 | 
			
		||||
 * @return          Players rank > 0 on success, or 0 if player is not ranked
 | 
			
		||||
 *                  and no statistics are available
 | 
			
		||||
 * @error           If an invalid client index is provided, an error will be
 | 
			
		||||
 *                  thrown.
 | 
			
		||||
 */
 | 
			
		||||
native get_user_stats(index, stats[8], bodyhits[8]);
 | 
			
		||||
 | 
			
		||||
/* Gets overall stats which are stored in file on server
 | 
			
		||||
* and updated on every respawn or user disconnect.
 | 
			
		||||
* Function returns the position in stats by diff. kills to deaths. */
 | 
			
		||||
native get_user_stats(index,stats[8],bodyhits[8]);
 | 
			
		||||
/**
 | 
			
		||||
 * Retrieves the client's statistics from the current round.
 | 
			
		||||
 *
 | 
			
		||||
 * @note For a list of possible body hitplaces see the HIT_* constants in
 | 
			
		||||
 *       amxconst.inc
 | 
			
		||||
 * @note The fields in the statistics are:
 | 
			
		||||
 *          0 - Kills
 | 
			
		||||
 *          1 - Deaths
 | 
			
		||||
 *          2 - Headshots
 | 
			
		||||
 *          3 - Teamkills
 | 
			
		||||
 *          4 - Shots
 | 
			
		||||
 *          5 - Hits
 | 
			
		||||
 *          6 - Damage
 | 
			
		||||
 *
 | 
			
		||||
 * @param index     Client index
 | 
			
		||||
 * @param stats     Buffer to copy statistics to
 | 
			
		||||
 * @param bodyhits  Buffer to copy body hits to
 | 
			
		||||
 *
 | 
			
		||||
 * @return          1 on success, 0 if no statistics are available
 | 
			
		||||
 * @error           If an invalid client index is provided, an error will be
 | 
			
		||||
 *                  thrown.
 | 
			
		||||
 */
 | 
			
		||||
native get_user_rstats(index, stats[8], bodyhits[8]);
 | 
			
		||||
 | 
			
		||||
/* Gets round stats of player. */
 | 
			
		||||
native get_user_rstats(index,stats[8],bodyhits[8]);
 | 
			
		||||
/**
 | 
			
		||||
 * Retrieves the client's statistics inflicted upon another client from the
 | 
			
		||||
 * current round.
 | 
			
		||||
 *
 | 
			
		||||
 * @note For a list of possible body hitplaces see the HIT_* constants in
 | 
			
		||||
 *       amxconst.inc
 | 
			
		||||
 * @note The fields in the statistics are:
 | 
			
		||||
 *          0 - Kills
 | 
			
		||||
 *          1 - Deaths
 | 
			
		||||
 *          2 - Headshots
 | 
			
		||||
 *          3 - Teamkills
 | 
			
		||||
 *          4 - Shots
 | 
			
		||||
 *          5 - Hits
 | 
			
		||||
 *          6 - Damage
 | 
			
		||||
 *
 | 
			
		||||
 * @param index     Client index
 | 
			
		||||
 * @param victim    Victim client index, or 0 to retrieve the statistics against
 | 
			
		||||
 *                  all victims
 | 
			
		||||
 * @param stats     Buffer to copy statistics to
 | 
			
		||||
 * @param bodyhits  Buffer to copy body hits to
 | 
			
		||||
 * @param wpnname   Optional buffer to copy last used weapon name to
 | 
			
		||||
 * @param len       Maximum buffer size
 | 
			
		||||
 *
 | 
			
		||||
 * @return          1 on success, 0 if no statistics are available against the
 | 
			
		||||
 *                  specified victim
 | 
			
		||||
 * @error           If an invalid client index is provided, an error will be
 | 
			
		||||
 *                  thrown.
 | 
			
		||||
 */
 | 
			
		||||
native get_user_vstats(index, victim, stats[8], bodyhits[8], wpnname[] = "", len = 0);
 | 
			
		||||
 | 
			
		||||
/* Gets stats with which user have killed/hurt his victim. If victim is 0
 | 
			
		||||
* then stats are from all victims. If victim has not been hurt, function
 | 
			
		||||
* returns 0 in other case 1. User stats are reset on his respawn. */
 | 
			
		||||
native get_user_vstats(index,victim,stats[8],bodyhits[8],wpnname[]="",len=0);
 | 
			
		||||
/**
 | 
			
		||||
 * Retrieves the client's statistics received from another client from the
 | 
			
		||||
 * current round.
 | 
			
		||||
 *
 | 
			
		||||
 * @note For a list of possible body hitplaces see the HIT_* constants in
 | 
			
		||||
 *       amxconst.inc
 | 
			
		||||
 * @note The fields in the statistics are:
 | 
			
		||||
 *          0 - Kills
 | 
			
		||||
 *          1 - Deaths
 | 
			
		||||
 *          2 - Headshots
 | 
			
		||||
 *          3 - Teamkills
 | 
			
		||||
 *          4 - Shots
 | 
			
		||||
 *          5 - Hits
 | 
			
		||||
 *          6 - Damage
 | 
			
		||||
 *
 | 
			
		||||
 * @param index     Client index
 | 
			
		||||
 * @param wpnindex  Attacker client index, or 0 to retrieve the statistics from
 | 
			
		||||
 *                  all attackers
 | 
			
		||||
 * @param stats     Buffer to copy statistics to
 | 
			
		||||
 * @param bodyhits  Buffer to copy body hits to
 | 
			
		||||
 * @param wpnname   Optional buffer to copy last used weapon name to
 | 
			
		||||
 * @param len       Maximum buffer size
 | 
			
		||||
 *
 | 
			
		||||
 * @return          1 on success, 0 if no statistics are available against the
 | 
			
		||||
 *                  specified attacker
 | 
			
		||||
 * @error           If an invalid client index is provided, an error will be
 | 
			
		||||
 *                  thrown.
 | 
			
		||||
 */
 | 
			
		||||
native get_user_astats(index, wpnindex, stats[8], bodyhits[8], wpnname[] = "", len = 0);
 | 
			
		||||
 | 
			
		||||
/* Gets stats with which user have been killed/hurt. If killer is 0
 | 
			
		||||
* then stats are from all attacks. If killer has not hurt user, function
 | 
			
		||||
* returns 0 in other case 1. User stats are reset on his respawn. */
 | 
			
		||||
native get_user_astats(index,wpnindex,stats[8],bodyhits[8],wpnname[]="",len=0);
 | 
			
		||||
 | 
			
		||||
/* Resets life, weapon, victims and attackers user stats. */
 | 
			
		||||
/**
 | 
			
		||||
 * Resets the current round weapon, attacker and victim statistics.
 | 
			
		||||
 *
 | 
			
		||||
 * @param index     Client index
 | 
			
		||||
 *
 | 
			
		||||
 * @noreturn
 | 
			
		||||
 * @error           If an invalid client index is provided, an error will be
 | 
			
		||||
 *                  thrown.
 | 
			
		||||
 */
 | 
			
		||||
native reset_user_wstats(index);
 | 
			
		||||
 | 
			
		||||
/* Gets overall stats which stored in stats.dat file in amx folder
 | 
			
		||||
* and updated on every mapchange or user disconnect.
 | 
			
		||||
* Function returns next index of stats entry or 0 if no more exists. */
 | 
			
		||||
native get_stats(index,stats[8],bodyhits[8],name[],len,authid[] = "",authidlen = 0);
 | 
			
		||||
/**
 | 
			
		||||
 * Retrieves statistics from the permanent storage on the server via iterative,
 | 
			
		||||
 * incremental access.
 | 
			
		||||
 *
 | 
			
		||||
 * @note The permanent storage is updated on every respawn or client disconnect.
 | 
			
		||||
 * @note Player rank is determined by the difference of kills to deaths.
 | 
			
		||||
 * @note For a list of possible body hitplaces see the HIT_* constants in
 | 
			
		||||
 *       amxconst.inc
 | 
			
		||||
 * @note The fields in the statistics are:
 | 
			
		||||
 *          0 - Kills
 | 
			
		||||
 *          1 - Deaths
 | 
			
		||||
 *          2 - Headshots
 | 
			
		||||
 *          3 - Teamkills
 | 
			
		||||
 *          4 - Shots
 | 
			
		||||
 *          5 - Hits
 | 
			
		||||
 *          6 - Damage
 | 
			
		||||
 *          7 - Rank
 | 
			
		||||
 *
 | 
			
		||||
 * @param index         Rank index
 | 
			
		||||
 * @param stats         Buffer to copy statistics to
 | 
			
		||||
 * @param bodyhits      Buffer to copy body hits to
 | 
			
		||||
 * @param name          Buffer to copy client name to
 | 
			
		||||
 * @param len           Maximum name buffer size
 | 
			
		||||
 * @param authid        Buffer to copy client auth id to
 | 
			
		||||
 * @param authidlen     Maximum authid buffer size
 | 
			
		||||
 *
 | 
			
		||||
 * @return              Next rank index (> 0 and > index), or 0 if no more
 | 
			
		||||
 *                      statistics exist
 | 
			
		||||
 */
 | 
			
		||||
native get_stats(index, stats[8], bodyhits[8], name[], len, authid[] = "", authidlen = 0);
 | 
			
		||||
 | 
			
		||||
/* Returns number of all entries in stats. */
 | 
			
		||||
/**
 | 
			
		||||
 * Returns the number of all entries in the permanent statistics storage.
 | 
			
		||||
 *
 | 
			
		||||
 * @return  Number of entries in statistics storage
 | 
			
		||||
 */
 | 
			
		||||
native get_statsnum();
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
* new stats:
 | 
			
		||||
* 0 - total defusions
 | 
			
		||||
* 1 - bomb defused
 | 
			
		||||
* 2 - bomb plants
 | 
			
		||||
* 3 - bomb explosions
 | 
			
		||||
*/
 | 
			
		||||
native get_user_stats2(index,stats[4]);
 | 
			
		||||
native get_stats2(index,stats[4],authid[] = "",authidlen = 0);
 | 
			
		||||
/**
 | 
			
		||||
 * Retrieves the client's objective statistics from the permanent storage.
 | 
			
		||||
 *
 | 
			
		||||
 * @note The permanent storage is updated on every respawn or client disconnect.
 | 
			
		||||
 * @note The fields in the statistics are:
 | 
			
		||||
 *          0 - total defusions
 | 
			
		||||
 *          1 - bomb defused
 | 
			
		||||
 *          2 - bomb plants
 | 
			
		||||
 *          3 - bomb explosions
 | 
			
		||||
 *
 | 
			
		||||
 * @param index     Client index
 | 
			
		||||
 * @param stats     Buffer to copy statistics to
 | 
			
		||||
 *
 | 
			
		||||
 * @return          Players rank > 0 on success, or 0 if player is not ranked
 | 
			
		||||
 *                  and no statistics are available
 | 
			
		||||
 * @error           If an invalid client index is provided, an error will be
 | 
			
		||||
 *                  thrown.
 | 
			
		||||
 */
 | 
			
		||||
native get_user_stats2(index, stats[4]);
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Retrieves objective statistics from the permanent storage on the server via
 | 
			
		||||
 * iterative, incremental access.
 | 
			
		||||
 *
 | 
			
		||||
 * @note The permanent storage is updated on every respawn or client disconnect.
 | 
			
		||||
 * @note The fields in the statistics are:
 | 
			
		||||
 *          0 - total defusions
 | 
			
		||||
 *          1 - bomb defused
 | 
			
		||||
 *          2 - bomb plants
 | 
			
		||||
 *          3 - bomb explosions
 | 
			
		||||
 *
 | 
			
		||||
 * @param index         Client index
 | 
			
		||||
 * @param stats         Buffer to copy statistics to
 | 
			
		||||
 * @param authid        Buffer to copy client auth id to
 | 
			
		||||
 * @param authidlen     Maximum authid buffer size
 | 
			
		||||
 *
 | 
			
		||||
 * @return              Next rank index (> 0 and > index), or 0 if no more
 | 
			
		||||
 *                      statistics exist
 | 
			
		||||
 */
 | 
			
		||||
native get_stats2(index, stats[4], authid[] = "", authidlen = 0);
 | 
			
		||||
 
 | 
			
		||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							@@ -27,65 +27,237 @@
 | 
			
		||||
 #pragma library csx
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * Forwards
 | 
			
		||||
/**
 | 
			
		||||
 * Map objective flags returned by get_map_objectives().
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
/* Function is called after player to player attacks ,
 | 
			
		||||
* if players were damaged by teammate TA is set to 1 */
 | 
			
		||||
forward client_damage(attacker,victim,damage,wpnindex,hitplace,TA);
 | 
			
		||||
 | 
			
		||||
/* Function is called after player death ,
 | 
			
		||||
* if player was killed by teammate TK is set to 1 */
 | 
			
		||||
forward client_death(killer,victim,wpnindex,hitplace,TK);
 | 
			
		||||
 | 
			
		||||
forward grenade_throw( index,greindex,wId );
 | 
			
		||||
 | 
			
		||||
forward bomb_planting(planter);
 | 
			
		||||
forward bomb_planted(planter);
 | 
			
		||||
forward bomb_explode(planter,defuser);
 | 
			
		||||
forward bomb_defusing(defuser);
 | 
			
		||||
forward bomb_defused(defuser);
 | 
			
		||||
 | 
			
		||||
/************* Shared Natives Start ********************************/
 | 
			
		||||
 | 
			
		||||
/* Custom Weapon Support */
 | 
			
		||||
/* function will return index of new weapon */
 | 
			
		||||
native custom_weapon_add( const wpnname[],melee = 0,const logname[]="" ); 
 | 
			
		||||
/* Function will pass damage done by this custom weapon to stats module and other plugins */
 | 
			
		||||
native custom_weapon_dmg( weapon, att, vic, damage, hitplace=0 ); 
 | 
			
		||||
/* Function will pass info about custom weapon shot to stats module */
 | 
			
		||||
native custom_weapon_shot( weapon,index ); // weapon id , player id
 | 
			
		||||
 | 
			
		||||
/* function will return 1 if true */
 | 
			
		||||
native xmod_is_melee_wpn(wpnindex);
 | 
			
		||||
 | 
			
		||||
/* Returns weapon name. */
 | 
			
		||||
native xmod_get_wpnname(wpnindex,name[],len);
 | 
			
		||||
 | 
			
		||||
/* Returns weapon logname. */
 | 
			
		||||
native xmod_get_wpnlogname(wpnindex,name[],len);
 | 
			
		||||
 | 
			
		||||
/* Returns weapons array size */
 | 
			
		||||
native xmod_get_maxweapons();
 | 
			
		||||
 | 
			
		||||
/* Returns stats array size */
 | 
			
		||||
native xmod_get_stats_size();
 | 
			
		||||
 | 
			
		||||
/************* Shared Natives End ********************************/
 | 
			
		||||
 | 
			
		||||
enum MapObjective
 | 
			
		||||
{
 | 
			
		||||
	MapObjective_Bomb	 = (1<<0),
 | 
			
		||||
	MapObjective_Hostage = (1<<1),
 | 
			
		||||
	MapObjective_Vip	 = (1<<2),
 | 
			
		||||
	MapObjective_Escape  = (1<<3),
 | 
			
		||||
    MapObjective_Bomb    = (1<<0),
 | 
			
		||||
    MapObjective_Hostage = (1<<1),
 | 
			
		||||
    MapObjective_Vip     = (1<<2),
 | 
			
		||||
    MapObjective_Escape  = (1<<3),
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Gets current map objectives.
 | 
			
		||||
 * Called after a client attacks another client.
 | 
			
		||||
 *
 | 
			
		||||
 * @return 		Returns a bits sum if objectives are found, otherwise 0. 
 | 
			
		||||
 * 				See MapObjective_* constants.
 | 
			
		||||
 * @note For a list of possible weapon ids see the CSW_* constants in
 | 
			
		||||
 *       amxconst.inc
 | 
			
		||||
 * @note For a list of possible body hitplaces see the HIT_* constants in
 | 
			
		||||
 *       amxconst.inc
 | 
			
		||||
 *
 | 
			
		||||
 * @param attacker  Attacker client index
 | 
			
		||||
 * @param victim    Victim client index
 | 
			
		||||
 * @param damage    Damage dealt to victim
 | 
			
		||||
 * @param wpnindex  Weapon id
 | 
			
		||||
 * @param hitplace  Body hitplace
 | 
			
		||||
 * @param ta        If nonzero the attack was a team attack
 | 
			
		||||
 *
 | 
			
		||||
 * @noreturn
 | 
			
		||||
 */
 | 
			
		||||
forward client_damage(attacker, victim, damage, wpnindex, hitplace, TA);
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Called after a client death.
 | 
			
		||||
 *
 | 
			
		||||
 * @note For a list of possible weapon ids see the CSW_* constants in
 | 
			
		||||
 *       amxconst.inc
 | 
			
		||||
 * @note For a list of possible body hitplaces see the HIT_* constants in
 | 
			
		||||
 *       amxconst.inc
 | 
			
		||||
 *
 | 
			
		||||
 * @param attacker  Attacker client index
 | 
			
		||||
 * @param victim    Victim client index
 | 
			
		||||
 * @param wpnindex  Weapon id
 | 
			
		||||
 * @param hitplace  Body hitplace
 | 
			
		||||
 * @param tk        If nonzero the death was a teamkill
 | 
			
		||||
 *
 | 
			
		||||
 * @noreturn
 | 
			
		||||
 */
 | 
			
		||||
forward client_death(killer, victim, wpnindex, hitplace, TK);
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Called after a grenade was thrown.
 | 
			
		||||
 *
 | 
			
		||||
 * @note Weapon id is one of CSW_HEGRENADE, CSW_SMOKEGRENADE or CSW_FLASHBANG.
 | 
			
		||||
 *
 | 
			
		||||
 * @param index     Client index
 | 
			
		||||
 * @param greindex  Grenade entity index
 | 
			
		||||
 * @param wId       Weapon id
 | 
			
		||||
 *
 | 
			
		||||
 * @noreturn
 | 
			
		||||
 */
 | 
			
		||||
forward grenade_throw(index, greindex, wId);
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Called after a bomb plant attempt has started.
 | 
			
		||||
 *
 | 
			
		||||
 * @param planter   Planter client index
 | 
			
		||||
 *
 | 
			
		||||
 * @noreturn
 | 
			
		||||
 */
 | 
			
		||||
forward bomb_planting(planter);
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Called after a bomb plant has finished.
 | 
			
		||||
 *
 | 
			
		||||
 * @param planter   Planter client index
 | 
			
		||||
 *
 | 
			
		||||
 * @noreturn
 | 
			
		||||
 */
 | 
			
		||||
forward bomb_planted(planter);
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Called when the bomb exploded.
 | 
			
		||||
 *
 | 
			
		||||
 * @param planter   Planter client index
 | 
			
		||||
 * @param defuser   Defuser client index, if applicable
 | 
			
		||||
 *
 | 
			
		||||
 * @noreturn
 | 
			
		||||
 */
 | 
			
		||||
forward bomb_explode(planter, defuser);
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Called after a bomb defuse attempt has started.
 | 
			
		||||
 *
 | 
			
		||||
 * @param defuser   Defuser client index
 | 
			
		||||
 *
 | 
			
		||||
 * @noreturn
 | 
			
		||||
 */
 | 
			
		||||
forward bomb_defusing(defuser);
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Called after a bomb defuse has finished.
 | 
			
		||||
 *
 | 
			
		||||
 * @param defuser   Defuser client index
 | 
			
		||||
 *
 | 
			
		||||
 * @noreturn
 | 
			
		||||
 */
 | 
			
		||||
forward bomb_defused(defuser);
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * @section Shared natives
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Adds a custom weapon to the stats system.
 | 
			
		||||
 *
 | 
			
		||||
 * @note The weapon name should be the full display name of the gun such as
 | 
			
		||||
 *       "Desert Eagle" while the logname should be "weapon_deagle".
 | 
			
		||||
 *
 | 
			
		||||
 * @param wpnname   Full weapon name
 | 
			
		||||
 * @param melee     If nonzero the weapon will be considered a melee weapon
 | 
			
		||||
 * @param logname   Weapon short name
 | 
			
		||||
 *
 | 
			
		||||
 * @return          Cusom weapon id (>0) on success, 0 if no more custom weapons
 | 
			
		||||
 *                  can be added
 | 
			
		||||
 */
 | 
			
		||||
native custom_weapon_add(const wpnname[], melee = 0, const logname[] = "");
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Trigger a damage event on a custom weapon, adding it to the internal stats.
 | 
			
		||||
 *
 | 
			
		||||
 * @note This will also call the client_damage() and client_kill() forwards if
 | 
			
		||||
 *       applicable.
 | 
			
		||||
 * @note For a list of possible body hitplaces see the HIT_* constants in
 | 
			
		||||
 *       amxconst.inc
 | 
			
		||||
 *
 | 
			
		||||
 * @param weapon    Custom weapon id
 | 
			
		||||
 * @param att       Attacker client index
 | 
			
		||||
 * @param vic       Victim client index
 | 
			
		||||
 * @param damage    Damage dealt
 | 
			
		||||
 * @param hitplace  Optional body hitplace
 | 
			
		||||
 *
 | 
			
		||||
 * @noreturn
 | 
			
		||||
 * @error           If the weapon id is not a custom weapon, an invalid client
 | 
			
		||||
 *                  index, damage value or hitplace is provided, an error will
 | 
			
		||||
 *                  be thrown.
 | 
			
		||||
 */
 | 
			
		||||
native custom_weapon_dmg(weapon, att, vic, damage, hitplace = 0);
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Add a shot event on a custom weapon to the internal stats.
 | 
			
		||||
 *
 | 
			
		||||
 * @param weapon    Custom weapon id
 | 
			
		||||
 * @param index     Client index
 | 
			
		||||
 *
 | 
			
		||||
 * @noreturn
 | 
			
		||||
 * @error           If the weapon id is not a custom weapon or an invalid client
 | 
			
		||||
 *                  index is provided, an error will be thrown.
 | 
			
		||||
 */
 | 
			
		||||
native custom_weapon_shot(weapon, index); // weapon id , player id
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Returns if the weapon is considered a melee weapon.
 | 
			
		||||
 *
 | 
			
		||||
 * @note For a list of default CS weapon ids see the CSW_* constants in
 | 
			
		||||
 *       amxconst.inc, this function also works on custom weapons.
 | 
			
		||||
 * @note For the default CS weapons this obviously returns true only for
 | 
			
		||||
 *       CSW_KNIFE.
 | 
			
		||||
 *
 | 
			
		||||
 * @param wpnindex  Weapon id
 | 
			
		||||
 *
 | 
			
		||||
 * @return          1 if weapon is a melee weapon, 0
 | 
			
		||||
 * @error           If an invalid weapon id is provided an error will be thrown.
 | 
			
		||||
 */
 | 
			
		||||
native xmod_is_melee_wpn(wpnindex);
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Retrieves the full weapon name of a weapon id.
 | 
			
		||||
 *
 | 
			
		||||
 * @note For a list of default CS weapon ids see the CSW_* constants in
 | 
			
		||||
 *       amxconst.inc, this function also works on custom weapons.
 | 
			
		||||
 * @note For the default CS weapons this obviously returns true only for
 | 
			
		||||
 *       CSW_KNIFE.
 | 
			
		||||
 *
 | 
			
		||||
 * @param wpnindex  Weapon id
 | 
			
		||||
 * @param name      Buffer to copy weapon name to
 | 
			
		||||
 * @param len       Maximmum buffer size
 | 
			
		||||
 *
 | 
			
		||||
 * @return          Number of cells written to buffer
 | 
			
		||||
 * @error           If an invalid weapon id is provided an error will be thrown.
 | 
			
		||||
 */
 | 
			
		||||
native xmod_get_wpnname(wpnindex, name[], len);
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Retrieves the weapon log name of a weapon id.
 | 
			
		||||
 *
 | 
			
		||||
 * @note For a list of default CS weapon ids see the CSW_* constants in
 | 
			
		||||
 *       amxconst.inc, this function also works on custom weapons.
 | 
			
		||||
 * @note For the default CS weapons this obviously returns true only for
 | 
			
		||||
 *       CSW_KNIFE.
 | 
			
		||||
 *
 | 
			
		||||
 * @param wpnindex  Weapon id
 | 
			
		||||
 * @param name      Buffer to copy weapon log name to
 | 
			
		||||
 * @param len       Maximmum buffer size
 | 
			
		||||
 *
 | 
			
		||||
 * @return          Number of cells written to buffer
 | 
			
		||||
 * @error           If an invalid weapon id is provided an error will be thrown.
 | 
			
		||||
 */
 | 
			
		||||
native xmod_get_wpnlogname(wpnindex, name[], len);
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Returns the maximum amount of weapons that the stats system supports.
 | 
			
		||||
 *
 | 
			
		||||
 * @return      Maximum number of weapons supported
 | 
			
		||||
 */
 | 
			
		||||
native xmod_get_maxweapons();
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Returns the number of stats tracked by the stats system.
 | 
			
		||||
 *
 | 
			
		||||
 * @return      Number of stats tracked
 | 
			
		||||
 */
 | 
			
		||||
native xmod_get_stats_size();
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * @endsection Shared natives
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Returns the current map's objectives as a bitflag value.
 | 
			
		||||
 *
 | 
			
		||||
 * @note For a list of possible map objective flags see the MapObjective enum.
 | 
			
		||||
 *
 | 
			
		||||
 * @return      Bitflag value of map objectives
 | 
			
		||||
 */
 | 
			
		||||
native MapObjective:get_map_objectives();
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user