Максимальное количество доступного оружия
#define MAX_WEAPONS 32
Отскакивающие гильзы
#define TE_BOUNCE_NULL 0 // Без звука.
#define TE_BOUNCE_SHELL 1 // Обычная гильза.
#define TE_BOUNCE_SHOTSHELL 2 // Гильза от патронов для дробовиков.
Громкость звуков оружия
#define LOUD_GUN_VOLUME 1000
#define NORMAL_GUN_VOLUME 600
#define QUIET_GUN_VOLUME 200
Вспышки
#define BRIGHT_GUN_FLASH 512
#define NORMAL_GUN_FLASH 256
#define DIM_GUN_FLASH 128
Фраги оружия
#define ITEM_FLAG_SELECTONEMPTY 1
#define ITEM_FLAG_NOAUTORELOAD 2
#define ITEM_FLAG_NOAUTOSWITCHEMPTY 4
#define ITEM_FLAG_LIMITINWORLD 8
#define ITEM_FLAG_EXHAUSTIBLE 16 // A player can totally exhaust their ammo supply and lose this weapon
Разброс оружия
#define VECTOR_CONE_1DEGREES Float:{ 0.00873, 0.00873, 0.00873 }
#define VECTOR_CONE_2DEGREES Float:{ 0.01745, 0.01745, 0.01745 }
#define VECTOR_CONE_3DEGREES Float:{ 0.02618, 0.02618, 0.02618 }
#define VECTOR_CONE_4DEGREES Float:{ 0.03490, 0.03490, 0.03490 }
#define VECTOR_CONE_5DEGREES Float:{ 0.04362, 0.04362, 0.04362 }
#define VECTOR_CONE_6DEGREES Float:{ 0.05234, 0.05234, 0.05234 }
#define VECTOR_CONE_7DEGREES Float:{ 0.06105, 0.06105, 0.06105 }
#define VECTOR_CONE_8DEGREES Float:{ 0.06976, 0.06976, 0.06976 }
#define VECTOR_CONE_9DEGREES Float:{ 0.07846, 0.07846, 0.07846 }
#define VECTOR_CONE_10DEGREES Float:{ 0.08716, 0.08716, 0.08716 }
#define VECTOR_CONE_15DEGREES Float:{ 0.13053, 0.13053, 0.13053 }
#define VECTOR_CONE_20DEGREES Float:{ 0.17365, 0.17365, 0.17365 }
Классификация
#define CLASS_NONE 0
#define CLASS_MACHINE 1
#define CLASS_PLAYER 2
#define CLASS_HUMAN_PASSIVE 3
#define CLASS_HUMAN_MILITARY 4
#define CLASS_ALIEN_MILITARY 5
#define CLASS_ALIEN_PASSIVE 6
#define CLASS_ALIEN_MONSTER 7
#define CLASS_ALIEN_PREY 8
#define CLASS_ALIEN_PREDATOR 9
#define CLASS_INSECT 10
#define CLASS_PLAYER_ALLY 11
#define CLASS_PLAYER_BIOWEAPON 12 // Биологическое оружие.
#define CLASS_ALIEN_BIOWEAPON 13 // Ьиологическое оружие (снарки, хорнетган).
Grenade explosion flags
#define SF_EXPLOSION_NODAMAGE ( 1 << 0 ) // When set, explosion will not actually inflict damage
#define SF_EXPLOSION_NOFIREBALL ( 1 << 1 ) // Don't draw the fireball
#define SF_EXPLOSION_NOSMOKE ( 1 << 2 ) // Don't draw the smoke
#define SF_EXPLOSION_NODECAL ( 1 << 3 ) // Don't make a scorch mark
#define SF_EXPLOSION_NOSPARKS ( 1 << 4 ) // Don't make a sparks
#define SF_EXPLOSION_NODEBRIS ( 1 << 5 ) // Don't make a debris sound
Анимация игрока
enum PLAYER_ANIM
{
PLAYER_IDLE,
PLAYER_WALK,
PLAYER_JUMP,
PLAYER_SUPERJUMP,
PLAYER_DIE,
PLAYER_ATTACK1,
};
Форварды для аммобоксов
enum e_AmmoFwds
{
/**
* Forward params for all functions:
*
* @param iItem Ammobox's entity index.
*/
Fwd_Ammo_Spawn, /* This is called whenever a ammobox entity is created. */
Fwd_Ammo_AddAmmo,
Fwd_Ammo_End
};
Типы форвардов для оружия
enum e_WpnFwds
{
/**
* Forward params for all functions:
*
* @param iItem Weapon's entity index.
* @param iPlayer Player index, owner of weapon.
* @param iClip Amount of ammo in weapon's clip.
* @param iAmmo Amount of ammo in backpack on a user for weapon.
*/
Fwd_Wpn_Spawn, /* This is called whenever a weapon entity is created. */
Fwd_Wpn_CanDeploy, /* Whether or not this weapon can be deployed. */
Fwd_Wpn_Deploy, /* Deploys a weapon. */
Fwd_Wpn_Idle, /* Displays the idle animation for the weapon. */
Fwd_Wpn_PrimaryAttack, /* Called when the main attack of a weapon is triggered. */
Fwd_Wpn_SecondaryAttack, /* Called when the secondary attack of a weapon is triggered. */
Fwd_Wpn_Reload, /* Called when the weapon is reloaded. */
Fwd_Wpn_CanHolster, /* Whether or not the weapon can be holstered. */
Fwd_Wpn_Holster, /* Holsters a weapon. */
Fwd_Wpn_IsUseable, /* Whether or not the weapon is usable. (has ammo, etc.) */
Fwd_Wpn_AddToPlayer,
Fwd_Wpn_AddToPlayer2,
Fwd_Wpn_ItemPostFrame,
Fwd_Wpn_End
};
Информация о патронах
enum e_AmmoInfo
{
AmmoInfo_szName,
AmmoInfo_End
};
Информация о предметах
enum e_ItemInfo
{
ItemInfo_bCustom,
ItemInfo_iSlot,
ItemInfo_iPosition,
ItemInfo_iMaxAmmo1,
ItemInfo_iMaxAmmo2,
ItemInfo_iMaxClip,
ItemInfo_iId,
ItemInfo_iFlags,
ItemInfo_iWeight,
ItemInfo_szName,
ItemInfo_szAmmo1,
ItemInfo_szAmmo2,
ItemInfo_szTitle,
ItemInfo_szAuthor,
ItemInfo_szVersion,
ItemInfo_End
};
Оффсеты
enum e_Offsets
{
// Оффсеты применяемые только к энтитям-оружиям:
Offset_flStartThrow,
Offset_flReleaseThrow,
Offset_iChargeReady,
Offset_iInAttack,
Offset_iFireState,
Offset_iFireOnEmpty, // Истина когда для оружия кончились боеприпасы, а кнопки атаки все еще зажаты.
Offset_flPumpTime,
Offset_iInSpecialReload, // Находимся ли мы в середине перезарядки для дробовиков.
Offset_flNextPrimaryAttack, // Устанавливаем время до следующей основной атаки.
Offset_flNextSecondaryAttack, // Устанавливаем время до следующей дополнительной атаки.
Offset_flTimeWeaponIdle, // Время до следующего периода бездействия оружия.
Offset_iPrimaryAmmoType, // ID основных боеприпасов оружия.
Offset_iSecondaryAmmoType, // ID дополнительных боеприпасов оружия.
Offset_iClip, // Кол-во аммо в обойме (магазине)оружия, равно -1, если оружие не имеет обоймы.
Offset_iInReload, // Находится ли оружие в состоянии перезарядки.
Offset_iDefaultAmmo, // Какое кол-во аммо идет вместе с оружием при его поднятии.
// Оффсеты применяемые только к игрокам:
Offset_flNextAttack, // Время до следующей атаки.
Offset_iWeaponVolume, // Насколько громкое стреляет оружие у игрока в данный момент.
Offset_iWeaponFlash, // Яркость оружейной вспышки.
Offset_iLastHitGroup, // Последний хитплейс игрока, полчувший урон.
Offset_iFOV, // Поле обзора игрока.
// Кастомные оффсеты, в которых можно хранить свои данные. Применимо только к оружию и кастомным энтитям, созданным через "info_target" метод:
Offset_iuser1,
Offset_iuser2,
Offset_iuser3,
Offset_iuser4,
Offset_fuser1,
Offset_fuser2,
Offset_fuser3,
Offset_fuser4,
Offset_End
};
Прочее
enum e_CBase
{
// Weapon
CBase_pPlayer,
CBase_pNext,
// Player
CBase_rgpPlayerItems,
CBase_pActiveItem,
CBase_pLastItem,
CBase_End
};