93 lines
2.6 KiB
PHP
Executable File
93 lines
2.6 KiB
PHP
Executable File
// vim: set ts=4 sw=4 tw=99 noet:
|
|
//
|
|
// AMX Mod X, based on AMX Mod by Aleksander Naszko ("OLO").
|
|
// Copyright (C) The AMX Mod X Development Team.
|
|
//
|
|
// This software is licensed under the GNU General Public License, version 3 or higher.
|
|
// Additional exceptions apply. For full license details, see LICENSE.txt or visit:
|
|
// https://alliedmods.net/amxmodx-license
|
|
|
|
//
|
|
// TSX Functions
|
|
//
|
|
|
|
#if defined _tsx_included
|
|
#endinput
|
|
#endif
|
|
#define _tsx_included
|
|
|
|
#include <tsstats>
|
|
|
|
#if AMXX_VERSION_NUM >= 175
|
|
#pragma reqclass xstats
|
|
#if !defined AMXMODX_NOAUTOLOAD
|
|
#pragma defclasslib xstats tsx
|
|
#endif
|
|
#else
|
|
#pragma library tsx
|
|
#endif
|
|
|
|
/************* Shared Natives Start ********************************/
|
|
|
|
/* Forward types */
|
|
enum {
|
|
XMF_DAMAGE = 0,
|
|
XMF_DEATH,
|
|
};
|
|
|
|
/* Use this function to register forwards
|
|
* DEPRECATED
|
|
*/
|
|
native register_statsfwd( ftype );
|
|
|
|
/* 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);
|
|
|
|
/* 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 ex. 8 in TS , 9 in DoD */
|
|
native xmod_get_stats_size();
|
|
|
|
/* Returns 1 if true */
|
|
native xmod_is_custom_wpn(wpnindex);
|
|
|
|
/************* Shared Natives End ********************************/
|
|
|
|
/* Spawns a Weapon */
|
|
stock ts_weaponspawn(const weaponid[], const duration[], const extraclip[], const spawnflags[], const Float:Origin[3])
|
|
{
|
|
new ent = create_entity("ts_groundweapon");
|
|
|
|
DispatchKeyValue(ent, "tsweaponid", weaponid);
|
|
DispatchKeyValue(ent, "wduration", duration);
|
|
DispatchKeyValue(ent, "wextraclip", extraclip);
|
|
DispatchKeyValue(ent, "spawnflags", spawnflags);
|
|
DispatchSpawn(ent);
|
|
|
|
entity_set_origin(ent, Origin);
|
|
return PLUGIN_HANDLED;
|
|
}
|