WeaponMod константы: различия между версиями

Материал из HLDM Wiki
Перейти к навигации Перейти к поиску
(Новая страница: « == Максимальное количество доступного оружия == #define MAX_WEAPONS 32 == Отскакивающие гильзы ==…»)
 
(Ссылки)
 
(не показано 5 промежуточных версий этого же участника)
Строка 1: Строка 1:
 +
[[Категория:AMX MOD X]]
  
 
== Максимальное количество доступного оружия ==
 
== Максимальное количество доступного оружия ==
Строка 49: Строка 50:
 
</pre>
 
</pre>
  
== For CLASSIFY ==
+
== Классификация ==
 
<pre>
 
<pre>
 
#define CLASS_NONE 0
 
#define CLASS_NONE 0
Строка 63: Строка 64:
 
#define CLASS_INSECT 10
 
#define CLASS_INSECT 10
 
#define CLASS_PLAYER_ALLY 11
 
#define CLASS_PLAYER_ALLY 11
#define CLASS_PLAYER_BIOWEAPON         12 // Hornets and snarks, launched by players
+
#define CLASS_PLAYER_BIOWEAPON         12 // Биологическое оружие.
#define CLASS_ALIEN_BIOWEAPON         13 // Hornets and snarks, launched by the alien menace
+
#define CLASS_ALIEN_BIOWEAPON         13 // Ьиологическое оружие (снарки, хорнетган).
 
</pre>
 
</pre>
  
== Grenade explosion flags ==
+
== Фраги взрыва гранат ==
 
<pre>
 
<pre>
#define SF_EXPLOSION_NODAMAGE ( 1 << 0 ) // When set, explosion will not actually inflict damage
+
#define SF_EXPLOSION_NODAMAGE ( 1 << 0 ) // Взрыв не наносит ущерб
#define SF_EXPLOSION_NOFIREBALL ( 1 << 1 ) // Don't draw the fireball
+
#define SF_EXPLOSION_NOFIREBALL ( 1 << 1 ) // Не создавать огненный шар
#define SF_EXPLOSION_NOSMOKE ( 1 << 2 ) // Don't draw the smoke
+
#define SF_EXPLOSION_NOSMOKE ( 1 << 2 ) // Без дыма
#define SF_EXPLOSION_NODECAL ( 1 << 3 ) // Don't make a scorch mark
+
#define SF_EXPLOSION_NODECAL ( 1 << 3 ) // Без декали ожога на стене
#define SF_EXPLOSION_NOSPARKS ( 1 << 4 ) // Don't make a sparks
+
#define SF_EXPLOSION_NOSPARKS ( 1 << 4 ) // Без искр
#define SF_EXPLOSION_NODEBRIS ( 1 << 5 ) // Don't make a debris sound
+
#define SF_EXPLOSION_NODEBRIS ( 1 << 5 ) // Без звуков обломков
 
</pre>
 
</pre>
  
Строка 181: Строка 182:
 
enum e_Offsets
 
enum e_Offsets
 
{
 
{
// Weapon
+
    // Оффсеты применяемые только к энтитям-оружиям:
Offset_flStartThrow,
+
    Offset_flStartThrow,
Offset_flReleaseThrow,
+
    Offset_flReleaseThrow,
Offset_iChargeReady,
+
    Offset_iChargeReady,
Offset_iInAttack,
+
    Offset_iInAttack,
Offset_iFireState,
+
    Offset_iFireState,
Offset_iFireOnEmpty, // True when the gun is empty and the player is still holding down the attack key(s).
+
    Offset_iFireOnEmpty,           // Истина когда для оружия кончились боеприпасы, а кнопки атаки все еще зажаты.
Offset_flPumpTime,
+
    Offset_flPumpTime,
Offset_iInSpecialReload, // Are we in the middle of a reload for the shotguns.
+
    Offset_iInSpecialReload,       // Находимся ли мы в середине перезарядки для дробовиков.
Offset_flNextPrimaryAttack, // Soonest time ItemPostFrame will call PrimaryAttack.
+
    Offset_flNextPrimaryAttack,   // Устанавливаем время до следующей основной атаки.
Offset_flNextSecondaryAttack, // Soonest time ItemPostFrame will call SecondaryAttack.
+
    Offset_flNextSecondaryAttack, // Устанавливаем время до следующей дополнительной атаки.
Offset_flTimeWeaponIdle, // Soonest time ItemPostFrame will call WeaponIdle.
+
    Offset_flTimeWeaponIdle,       // Время до следующего периода бездействия оружия.
Offset_iPrimaryAmmoType, // "Primary" ammo index into players m_rgAmmo[].
+
    Offset_iPrimaryAmmoType,       // ID основных боеприпасов оружия.
Offset_iSecondaryAmmoType, // "Secondary" ammo index into players m_rgAmmo[].
+
    Offset_iSecondaryAmmoType,     // ID дополнительных боеприпасов оружия.
Offset_iClip, // Number of shots left in the primary weapon clip, -1 it not used.
+
    Offset_iClip,                 // Кол-во аммо в обойме (магазине)оружия, равно -1, если оружие не имеет обоймы.
Offset_iInReload, // Are we in the middle of a reload.
+
    Offset_iInReload,             // Находится ли оружие в состоянии перезарядки.
Offset_iDefaultAmmo, // How much ammo you get when you pick up this weapon as placed by a level designer.
+
    Offset_iDefaultAmmo,           // Какое кол-во аммо идет вместе с оружием при его поднятии.
+
 
// Player
+
    // Оффсеты применяемые только к игрокам:
Offset_flNextAttack, // Cannot attack again until this time.
+
    Offset_flNextAttack,           // Время до следующей атаки.
Offset_iWeaponVolume, // How loud the player's weapon is right now.
+
    Offset_iWeaponVolume,         // Насколько громкое стреляет оружие у игрока в данный момент.
Offset_iWeaponFlash, // Brightness of the weapon flash.
+
    Offset_iWeaponFlash,           // Яркость оружейной вспышки.
Offset_iLastHitGroup, // The last body region that took damage.
+
    Offset_iLastHitGroup,         // Последний хитплейс игрока, полчувший урон.
Offset_iFOV, // Field of view.
+
    Offset_iFOV,                   // Поле обзора игрока.
 +
 
 +
    // Кастомные оффсеты, в которых можно хранить свои данные. Применимо только к оружию и кастомным энтитям, созданным через "info_target" метод:
 +
    Offset_iuser1,
 +
    Offset_iuser2,
 +
    Offset_iuser3,
 +
    Offset_iuser4,
 +
    Offset_fuser1,
 +
    Offset_fuser2,
 +
    Offset_fuser3,
 +
    Offset_fuser4,
  
// Custom (for weapon and "info_target" entities only)
+
    Offset_End
Offset_iuser1,
 
Offset_iuser2,
 
Offset_iuser3,
 
Offset_iuser4,
 
Offset_fuser1,
 
Offset_fuser2,
 
Offset_fuser3,
 
Offset_fuser4,
 
 
Offset_End
 
 
};
 
};
<pre>
+
</pre>
  
 
== Прочее ==
 
== Прочее ==
Строка 236: Строка 237:
 
};
 
};
 
</pre>
 
</pre>
 +
 +
== Ссылки ==
 +
* [http://aghl.ru/wiki/index.php?title=Weapon_Mod_API Документация с официального сайта]
 +
* [http://aghl.ru/forum/viewtopic.php?f=42&t=729 Урок по созданию нового оружия]
 +
* [http://aghl.ru/forum/viewtopic.php?f=42&t=721 Скачать модуль с Aghl.ru]
 +
* [http://forums.alliedmods.net/showthread.php?t=183369 Скачать модуль с AlliedMods]

Текущая версия на 00:09, 15 июня 2013


Максимальное количество доступного оружия

#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 // Ьиологическое оружие (снарки, хорнетган).

Фраги взрыва гранат

#define SF_EXPLOSION_NODAMAGE			( 1 << 0 ) // Взрыв не наносит ущерб
#define SF_EXPLOSION_NOFIREBALL			( 1 << 1 ) // Не создавать огненный шар
#define SF_EXPLOSION_NOSMOKE			( 1 << 2 ) // Без дыма
#define SF_EXPLOSION_NODECAL			( 1 << 3 ) // Без декали ожога на стене
#define SF_EXPLOSION_NOSPARKS			( 1 << 4 ) // Без искр
#define SF_EXPLOSION_NODEBRIS			( 1 << 5 ) // Без звуков обломков

Анимация игрока

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
};

Ссылки