WeaponMod: различия между версиями

Материал из HLDM Wiki
Перейти к навигации Перейти к поиску
(Новая страница: «== hl_wpnmod.inc == === wpnmod_register_weapon === Регистрация нового оружия. Возвращает ID зарегистрированно…»)
 
(Ссылки)
 
(не показано 5 промежуточных версий этого же участника)
Строка 1: Строка 1:
 +
[[Категория:AMX MOD X]]
 
== hl_wpnmod.inc ==
 
== hl_wpnmod.inc ==
  
Строка 4: Строка 5:
  
 
Регистрация нового оружия. Возвращает ID зарегистрированного оружия или -1 в случае ошибки.
 
Регистрация нового оружия. Возвращает ID зарегистрированного оружия или -1 в случае ошибки.
 
  
 
  native wpnmod_register_weapon(const szName[], const iSlot, const iPosition, const szAmmo1[], const iMaxAmmo1, const szAmmo2[], const,  iMaxAmmo2, const iMaxClip, const iFlags, const iWeight);
 
  native wpnmod_register_weapon(const szName[], const iSlot, const iPosition, const szAmmo1[], const iMaxAmmo1, const szAmmo2[], const,  iMaxAmmo2, const iMaxClip, const iFlags, const iWeight);
Строка 10: Строка 10:
 
{| class="wide"
 
{| class="wide"
 
|-
 
|-
| szName
+
| '''szName'''
 
| Имя оружия
 
| Имя оружия
 
|-
 
|-
| iSlot
+
| '''iSlot'''
 
| ID слота от 1 до 5
 
| ID слота от 1 до 5
 
|-
 
|-
| iPosition
+
| '''iPosition'''
 
| Позиция в слоте от 1 до 5
 
| Позиция в слоте от 1 до 5
 
|-
 
|-
| szAmmo1
+
| '''szAmmo1'''
 
| Тип патронов основной атаки ("9mm", "uranium", "MY_AMMO" и т.д.).
 
| Тип патронов основной атаки ("9mm", "uranium", "MY_AMMO" и т.д.).
 
|-
 
|-
| iMaxAmmo1
+
| '''iMaxAmmo1'''
 
| Максимальное количество патронов в обойме для основной атаки
 
| Максимальное количество патронов в обойме для основной атаки
 
|-
 
|-
| szAmmo2
+
| '''szAmmo2'''
 
| Тип патронов вторичной атаки
 
| Тип патронов вторичной атаки
 
|-
 
|-
| iMaxAmmo2
+
| '''iMaxAmmo2'''
 
| Максимальное количество патронов в обойме для вторичной атаки
 
| Максимальное количество патронов в обойме для вторичной атаки
 
|-
 
|-
| iMaxClip
+
| '''iMaxClip'''
 
| Максимальное количество переносимых игроком патронов (в обойме не считается)
 
| Максимальное количество переносимых игроком патронов (в обойме не считается)
 
|-
 
|-
| iFlags
+
| '''iFlags'''
 
| Флаги оружия (смотри константы).
 
| Флаги оружия (смотри константы).
 
|-
 
|-
| iWeight
+
| '''iWeight'''
 
| Вес оружия (для автопереключения
 
| Вес оружия (для автопереключения
 
|}
 
|}
Строка 47: Строка 47:
 
  native wpnmod_register_weapon_forward(const iWeaponID, const e_WpnFwds: iForward, const szCallBack[]);
 
  native wpnmod_register_weapon_forward(const iWeaponID, const e_WpnFwds: iForward, const szCallBack[]);
  
@param iWeaponID The ID of registered weapon.
+
{| class="wide"
@param iForward Forward type to register.
+
|-
@param szCallBack The forward to call.
+
| '''iWeaponID'''
 +
| ID оружия
 +
|-
 +
| '''iForward'''
 +
| Forward type to register.
 +
|-
 +
| '''szCallBack'''
 +
| The forward to call
 +
|}
 +
 
 +
'''Пример:'''
 +
<pre>
 +
// Weapon settings
 +
#define WEAPON_NAME "weapon_deagle"      // Название оружие
 +
#define WEAPON_SLOT 2                    // Второй слот (пистолеты)
 +
#define WEAPON_POSITION 3                    // Третья позиция в слоте
 +
#define WEAPON_PRIMARY_AMMO "357"                // Тип патронов
 +
#define WEAPON_PRIMARY_AMMO_MAX 36                  // Максимальное количество патронов, исключая патроны в обойме
 +
#define WEAPON_SECONDARY_AMMO ""                  // Вторичного нет
 +
#define WEAPON_SECONDARY_AMMO_MAX -1                  // Вторичного нет
 +
#define WEAPON_MAX_CLIP 9                    // Патронов в обойме
 +
#define WEAPON_DEFAULT_AMMO 14                  // Патронов по-умолчанию, включая патроны в обойме
 +
#define WEAPON_FLAGS 0                    // Флаг оружия
 +
#define WEAPON_WEIGHT 12                  // Вес оружия, для автосмены
 +
#define WEAPON_DAMAGE 60.0                // Урон одного патрона
 +
 
 +
new deagle_id = wpnmod_register_weapon(
 +
    WEAPON_NAME,
 +
    WEAPON_SLOT,
 +
    WEAPON_POSITION,
 +
    WEAPON_PRIMARY_AMMO,
 +
    WEAPON_PRIMARY_AMMO_MAX,
 +
    WEAPON_SECONDARY_AMMO,
 +
    WEAPON_SECONDARY_AMMO_MAX,
 +
    WEAPON_MAX_CLIP,
 +
    WEAPON_FLAGS,
 +
    WEAPON_WEIGHT
 +
);
 +
</pre>
  
 
=== wpnmod_get_weapon_info ===
 
=== wpnmod_get_weapon_info ===
Строка 57: Строка 95:
 
  native wpnmod_get_weapon_info(const iId, const e_ItemInfo: iInfoType, any:...);
 
  native wpnmod_get_weapon_info(const iId, const e_ItemInfo: iInfoType, any:...);
  
@param iId The ID of registered weapon or weapon entity Id.
+
{| class="wide"
@param iInfoType ItemInfo type.
+
|-
@return Weapon's ItemInfo variable.
+
| '''iId'''
 +
| The ID of registered weapon or weapon entity Id.
 +
|-
 +
| '''iInfoType'''
 +
| ItemInfo type
 +
|}
  
 +
return Weapon's ItemInfo variable.
  
 
=== wpnmod_get_weapon_count ===
 
=== wpnmod_get_weapon_count ===
Строка 67: Строка 111:
  
 
  native wpnmod_get_weapon_count();
 
  native wpnmod_get_weapon_count();
 
  
 
=== wpnmod_register_ammobox ===
 
=== wpnmod_register_ammobox ===
  
Регистрация нового аммобокса в модуле.
+
Регистрация нового аммобокса в модуле. Возвращает ID зарегистрированого аммобокса, -1 в случае неудачи.
  
 
  native wpnmod_register_ammobox(const szClassname[]);
 
  native wpnmod_register_ammobox(const szClassname[]);
{| class="wikitable" border="1"
+
 
| szName
+
{| class="wide" border="1"
 +
| '''szName'''
 
| Название аммобокса ("uranium", "9mm", "my_ammo" и т.д.)
 
| Название аммобокса ("uranium", "9mm", "my_ammo" и т.д.)
 
|}
 
|}
 
  
 
=== wpnmod_register_ammobox_forward ===
 
=== wpnmod_register_ammobox_forward ===
  
Регистрирует форвард аммобокса
+
Регистрирует форвард аммобокса.
 +
Форвард - функция при определенном действии с аммобоксами (напр. спавн).
  
 
  native wpnmod_register_ammobox_forward(const iWeaponID, const e_AmmoFwds: iForward, const szCallBack[]);
 
  native wpnmod_register_ammobox_forward(const iWeaponID, const e_AmmoFwds: iForward, const szCallBack[]);
  
* @param iAmmoboxID The ID of registered ammobox.
+
{| class="wide"
* @param iForward Forward type to register.
+
|-
* @param szCallBack The forward to call.
+
| '''iAmmoboxID'''
 
+
| ID аммобокса, полученный из регистрации аммобокса.
 +
|-
 +
| '''iForward'''
 +
| Тип хука.
 +
|-
 +
| '''szCallBack'''
 +
| Функция, которая будет вызвана по этому хуку.
 +
|}
  
 
=== wpnmod_get_ammobox_info ===
 
=== wpnmod_get_ammobox_info ===
Строка 97: Строка 148:
 
  native wpnmod_get_ammobox_info(const iId, const e_AmmoInfo: iInfoType, any:...);
 
  native wpnmod_get_ammobox_info(const iId, const e_AmmoInfo: iInfoType, any:...);
  
* @param iId The ID of registered ammobox or ammobox entity Id.
+
{| class="wide"
* @param iInfoType e_AmmoInfo_* type.
+
|-
* @return Ammobox's AmmoInfo variable.
+
| '''iId'''
 +
| The ID of registered ammobox or ammobox entity Id
 +
|-
 +
| '''iInfoType'''
 +
| e_AmmoInfo_* type
 +
|}
 +
 
 +
return Ammobox's AmmoInfo variable.
  
 
=== wpnmod_get_ammobox_count ===
 
=== wpnmod_get_ammobox_count ===
Строка 108: Строка 166:
 
=== wpnmod_set_think ===
 
=== wpnmod_set_think ===
  
Sets weapon's think function. Analogue of set_task native.
+
Установка отложенного задания (think функция).
  
 
  native wpnmod_set_think(const iItem, const szCallBack[]);
 
  native wpnmod_set_think(const iItem, const szCallBack[]);
  
* @param iItem Weapon's entity index.
+
{| class="wide"
* @param szCallBack The forward to call.
+
|-
 +
| '''iItem'''
 +
| Индекс энтити, для которой необходимо вызвать отложенное задание.
 +
|-
 +
| '''szCallBack'''
 +
| Функция, которая будет вызвана.
 +
|}
 +
 
 +
'''Пример:'''
 +
<pre>
 +
wpnmod_set_think(iItem, "M249_CompleteReload");
 +
set_pev(iItem, pev_nextthink, get_gametime() + 1.52);
 +
</pre>
 +
Через 1.52 секунды будет вызвана функция "M249_CompleteReload".
 +
 
 +
В вызываемую функцию будут переданы следующие параметры:
 +
 
 +
{| class="wide"
 +
|-
 +
| '''iItem'''
 +
| Индекс энтити, для которой необходимо вызвать отложенное задание.
 +
|-
 +
| iPlayer
 +
| Индекс игрока, владельца оружия.
 +
|-
 +
| iClip
 +
| Кол-во аммо в обойме (магазине)оружия.
 +
|-
 +
| iAmmo
 +
| Кол-во аммо в запасе у игрока к данному оружию.
 +
|}
  
 
=== wpnmod_set_touch ===
 
=== wpnmod_set_touch ===
Строка 121: Строка 209:
 
  native wpnmod_set_touch(const iEntity, const szCallBack[]);
 
  native wpnmod_set_touch(const iEntity, const szCallBack[]);
  
* @param iEntity Entity index.
+
{| class="wide"
* @param szCallBack The forward to call.
+
|-
 +
| '''iEntity'''
 +
| Entity index
 +
|-
 +
| '''szCallBack'''
 +
| The forward to call
 +
|}
  
 
=== wpnmod_send_weapon_anim ===
 
=== wpnmod_send_weapon_anim ===
Строка 130: Строка 224:
 
  native wpnmod_send_weapon_anim(const iItem, const iAnim);
 
  native wpnmod_send_weapon_anim(const iItem, const iAnim);
  
* @param iItem Weapon's entity index.
+
{| class="wide"
* @param iAnim Sequence number.
+
|-
 +
| '''iItem'''
 +
| Индекс энтити оружия.
 +
|-
 +
| '''iAnim'''
 +
| Номер анимации модели нашего оружия для проигрывания (можно узнать через Model Viewer).
 +
|}
  
 
=== wpnmod_set_player_anim ===
 
=== wpnmod_set_player_anim ===
  
Sets the activity for player based on an event or current state.
+
Проигрывание определенного типа анимации моделью игрока
  
 
  native wpnmod_set_player_anim(const iPlayer, const PLAYER_ANIM: iPlayerAnim);
 
  native wpnmod_set_player_anim(const iPlayer, const PLAYER_ANIM: iPlayerAnim);
  
* @param iPlayer Player index.
+
{| class="wide"
* @param iPlayerAnim Animation (see PLAYER_ANIM constants).
+
|-
 +
| '''iPlayer'''
 +
| Индекс игрока
 +
|-
 +
| '''iPlayerAnim'''
 +
| Тип анимации
 +
|}
  
 
=== wpnmod_set_anim_ext ===
 
=== wpnmod_set_anim_ext ===
Строка 148: Строка 254:
 
  native wpnmod_set_anim_ext(const iPlayer, const szAnimExt[]);
 
  native wpnmod_set_anim_ext(const iPlayer, const szAnimExt[]);
  
* @param iPlayer Player id.
+
{| class="wide"
* @param szAnimExt[] Animation extension prefix.
+
|-
 +
| '''iPlayer'''
 +
| Player id.
 +
|-
 +
| '''szAnimExt[]'''
 +
| Animation extension prefix.
 +
|}
  
 
=== wpnmod_get_anim_ext ===
 
=== wpnmod_get_anim_ext ===
Строка 157: Строка 269:
 
  native wpnmod_get_anim_ext(const iPlayer, szDest[], iMaxLen);
 
  native wpnmod_get_anim_ext(const iPlayer, szDest[], iMaxLen);
  
* @param iPlayer Player id.
+
{| class="wide"
* @param szDest[] Buffer.
+
|-
* @param iMaxLen Max buffer size.
+
| '''iPlayer'''
 +
| Player id.
 +
|-
 +
| '''szDest[]'''
 +
| Buffer.
 +
|-
 +
| '''iMaxLen'''
 +
|Max buffer size.
 +
|}
  
 
=== wpnmod_set_offset_int ===
 
=== wpnmod_set_offset_int ===
  
Sets an integer from private data.
+
Установка целочисленного значения по оффсету для энтити
  
 
  native wpnmod_set_offset_int(const iEntity, const e_Offsets: iOffset, const iValue);
 
  native wpnmod_set_offset_int(const iEntity, const e_Offsets: iOffset, const iValue);
  
* @param iEntity Entity index.
+
{| class="wide"
* @param iOffset Offset (see e_Offsets constants).
+
|-
* @param iValue Value.
+
| '''iEntity'''
 +
| Индекс энтити
 +
|-
 +
| '''iOffset'''
 +
| Тип оффсета
 +
|-
 +
| '''iValue'''
 +
| Значение
 +
|}
  
 
=== wpnmod_get_offset_int ===
 
=== wpnmod_get_offset_int ===
  
Returns an integer from private data.
+
Получение целочисленного значения по оффсету для энтити
  
 
  native wpnmod_get_offset_int(const iEntity, const e_Offsets: iOffset);
 
  native wpnmod_get_offset_int(const iEntity, const e_Offsets: iOffset);
  
* @param iEntity Entity index.
+
{| class="wide"
* @param iOffset Offset (see e_Offsets constants).
+
|-
* @return Value from private data. (integer)
+
| '''iEntity'''
 +
| Индекс энтити
 +
|-
 +
| '''iOffset'''
 +
| Тип оффсета
 +
|}
 +
 
 +
return value from private data. (integer)
  
 
=== wpnmod_set_offset_float ===
 
=== wpnmod_set_offset_float ===
  
Sets a float from private data.
+
Установка вещественного значения по оффсету для энтити
  
 
  native wpnmod_set_offset_float(const iEntity, const e_Offsets: iOffset, const Float: flValue);
 
  native wpnmod_set_offset_float(const iEntity, const e_Offsets: iOffset, const Float: flValue);
  
* @param iEntity Entity index.
+
{| class="wide"
* @param iOffset Offset (see e_Offsets constants).
+
|-
* @param flValue Value.
+
| '''iEntity'''
 +
| Entity index.
 +
|-
 +
| '''iOffset'''
 +
| Offset (see e_Offsets constants).
 +
|-
 +
| '''flValue'''
 +
| Value.
 +
|}
  
 
=== wpnmod_get_offset_float ===
 
=== wpnmod_get_offset_float ===
  
Returns a float from private data.
+
Получение вещественного значения по оффсету для энтити
  
 
  native Float: wpnmod_get_offset_float(const iEntity, const e_Offsets: iOffset);
 
  native Float: wpnmod_get_offset_float(const iEntity, const e_Offsets: iOffset);
  
* @param iEntity Entity index.
+
{| class="wide"
* @param iOffset Offset (see e_Offsets constants).
+
|-
*
+
| '''iEntity'''
* @return Value from private data. (float)
+
| Entity index.
 +
|-
 +
| '''iOffset'''
 +
| Offset (see e_Offsets constants).
 +
|}
 +
 
 +
return value from private data. (float)
  
 
=== wpnmod_set_offset_cbase ===
 
=== wpnmod_set_offset_cbase ===
Строка 208: Строка 357:
 
  native wpnmod_set_offset_cbase(const iEntity, const e_CBase: iOffset, const iValue, const iExtraOffset = 0);
 
  native wpnmod_set_offset_cbase(const iEntity, const e_CBase: iOffset, const iValue, const iExtraOffset = 0);
  
* @param iEntity The entity to examine the private data.
+
{| class="wide"
* @param iOffset Offset (See e_CBase constants).
+
|-
* @param iValue The index to store.
+
| '''iEntity'''
* @param iExtraOffset The extra offset.
+
| The entity to examine the private data
 +
|-
 +
| '''iOffset'''
 +
| Offset (See e_CBase constants)
 +
|-
 +
| '''iValue'''
 +
| The index to store
 +
|-
 +
| '''iExtraOffset'''
 +
| The extra offset
 +
|}
  
 
=== wpnmod_get_offset_cbase ===
 
=== wpnmod_get_offset_cbase ===
Строка 219: Строка 378:
 
  native wpnmod_get_offset_cbase(const iEntity, const e_CBase: iOffset, const iExtraOffset = 0);
 
  native wpnmod_get_offset_cbase(const iEntity, const e_CBase: iOffset, const iExtraOffset = 0);
  
* @param iEntity The entity to examine the private data.
+
{| class="wide"
* @param iOffset Offset (See e_CBase constants).
+
|-
* @param iExtraOffset The extra offset.
+
| '''iEntity'''
*
+
| The entity to examine the private data.
* @return Value from private data. (integer)
+
|-
 +
| '''iOffset'''
 +
| Offset (See e_CBase constants).
 +
|-
 +
| '''iExtraOffset'''
 +
| The extra offset.
 +
|}
 +
 
 +
return value from private data. (integer)
  
 
=== wpnmod_default_deploy ===
 
=== wpnmod_default_deploy ===
  
Default deploy function.
+
Функция активации оружия по умолчанию.
  
 
  native wpnmod_default_deploy(const iItem, const szViewModel[], const szWeaponModel[], const iAnim, const szAnimExt[]);
 
  native wpnmod_default_deploy(const iItem, const szViewModel[], const szWeaponModel[], const iAnim, const szAnimExt[]);
  
* @param iItem Weapon's entity index.
+
{| class="wide"
* @param szViewModel Weapon's view model (V).
+
|-
* @param szWeaponModel Weapon's player model (P).
+
| '''iItem'''
* @param iAnim Sequence number of deploy animation.
+
| Индекс энтити оружия.
* @param szAnimExt Animation extension.
+
|-
 +
| '''szViewModel'''
 +
| Модель оружия, видимая только её владельцу (V)
 +
|-
 +
| '''szWeaponModel'''
 +
| Модель оружия в руках игрока, видимая со стороны остальным (P)
 +
|-
 +
| '''iAnim'''
 +
| Номер анимации для проигрывания при активации
 +
|-
 +
| '''szAnimExt'''
 +
| Расширение анимации для модели игрока
 +
|}
  
 
=== wpnmod_default_reload ===
 
=== wpnmod_default_reload ===
  
Default reload function.
+
Функция перезарядки оружия по умолчанию
  
 
  native wpnmod_default_reload(const iItem, const iClipSize, const iAnim, const Float: flDelay);
 
  native wpnmod_default_reload(const iItem, const iClipSize, const iAnim, const Float: flDelay);
  
* @param iItem Weapon's entity index.
+
{| class="wide"
* @param iClipSize Maximum weapon's clip size.
+
|-
* @param iAnim Sequence number of reload animation.
+
| '''iItem'''
* @param flDelay Reload delay time.
+
| Индекс энтити оружия
 +
|-
 +
| '''iClipSize'''
 +
| Размер обоймы (магазина)
 +
|-
 +
| '''iAnim'''
 +
| Номер анимации перезарядки для проигрывания
 +
|-
 +
| '''flDelay'''
 +
| Длительность перезарядки.
 +
|}
  
 
=== wpnmod_reset_empty_sound ===
 
=== wpnmod_reset_empty_sound ===
  
Sets the weapon so that it can play empty sound again.
+
Сброс звука осечки. Необходимо для дальнейшего проигрывания звука осечки.
  
 
  native wpnmod_reset_empty_sound(const iItem);
 
  native wpnmod_reset_empty_sound(const iItem);
  
* @param iItem Weapon's entity index.
+
{| class="wide"
 +
|-
 +
| iItem
 +
| Индекс энтити оружия
 +
|}
  
 
=== wpnmod_play_empty_sound ===
 
=== wpnmod_play_empty_sound ===
  
Plays the weapon's empty sound.
+
Проигрывание звука осечки
  
 
  native wpnmod_play_empty_sound(const iItem);
 
  native wpnmod_play_empty_sound(const iItem);
  
* @param iItem Weapon's entity index.
+
{| class="wide"
 +
|-
 +
| iItem
 +
| Индекс энтити оружия
 +
|}
  
 
=== wpnmod_fire_bullets ===
 
=== wpnmod_fire_bullets ===
Строка 270: Строка 467:
 
  native wpnmod_fire_bullets(const iPlayer, const iAttacker, const iShotsCount, const Float: vecSpread[3], const Float: flDistance, const Float: flDamage, const bitsDamageType, const iTracerFreq);
 
  native wpnmod_fire_bullets(const iPlayer, const iAttacker, const iShotsCount, const Float: vecSpread[3], const Float: flDistance, const Float: flDamage, const bitsDamageType, const iTracerFreq);
  
* @param iPlayer Player index.
+
{| class="wide"
* @param iAttacker Attacker index (usualy it equal to previous param).
+
|-
* @param iShotsCount Number of shots.
+
| '''iPlayer'''
* @param vecSpread Spread.
+
| Индекс игрока, владельца оружия
* @param flDistance Max shot distance.
+
|-
* @param flDamage Damage amount.
+
| '''iAttacker'''
* @param bitsDamageType Damage type.
+
| Индекс атакующего, как правило владельца оружия
* @param iTracerFreq Tracer frequancy.
+
|-
 +
| '''iShotsCount'''
 +
| Кол-во выстрелов за раз
 +
|-
 +
| '''vecSpread'''
 +
| Разброс
 +
|-
 +
| '''flDistance'''
 +
| Дальность выстрела
 +
|-
 +
| '''flDamage'''
 +
| Урон
 +
|-
 +
| '''bitsDamageType'''
 +
| Тип урона
 +
|-
 +
| '''iTracerFreq'''
 +
| Частота трасеров
 +
|}
  
 
=== wpnmod_fire_contact_grenade ===
 
=== wpnmod_fire_contact_grenade ===
Строка 285: Строка 500:
 
  native wpnmod_fire_contact_grenade(const iPlayer, const Float: vecStart[3], const Float: vecVelocity[3], const szCallBack[] = "");
 
  native wpnmod_fire_contact_grenade(const iPlayer, const Float: vecStart[3], const Float: vecVelocity[3], const szCallBack[] = "");
  
* @param iPlayer Player index.
+
{| class="wide"
* @param vecStart Start position.
+
|-
* @param vecVelocity Velocity.
+
| '''iPlayer'''
* @param szCallBack The forward to call on explode.
+
| Player index
 +
|-
 +
| '''vecStart'''
 +
| Start position
 +
|-
 +
| '''vecVelocity'''
 +
| Velocity
 +
|-
 +
| '''szCallBack'''
 +
| The forward to call on explode
 +
|}
  
* @return Contact grenade index or -1 on failure. (integer)
+
return contact grenade index or -1 on failure. (integer)
  
 
=== wpnmod_fire_timed_grenade ===
 
=== wpnmod_fire_timed_grenade ===
Строка 298: Строка 523:
 
  native wpnmod_fire_timed_grenade(const iPlayer, const Float: vecStart[3], const Float: vecVelocity[3], const Float: flTime = 3.0, const szCallBack[] = "");
 
  native wpnmod_fire_timed_grenade(const iPlayer, const Float: vecStart[3], const Float: vecVelocity[3], const Float: flTime = 3.0, const szCallBack[] = "");
  
* @param iPlayer Player index.
+
{| class="wide"
* @param vecStart Start position.
+
|-
* @param vecVelocity Velocity.
+
| '''iPlayer'''
* @param flTime Time before detonate.
+
| Player index.
* @param szCallBack The forward to call on explode.
+
|-
 +
| '''vecStart'''
 +
| Start position.
 +
|-
 +
| '''vecVelocity'''
 +
| Velocity.
 +
|-
 +
| '''flTime'''
 +
| Time before detonate.
 +
|-
 +
| '''szCallBack'''
 +
| The forward to call on explode.
 +
|}
  
* @return Contact grenade index or -1 on failure. (integer)
+
return contact grenade index or -1 on failure. (integer)
  
 
=== wpnmod_radius_damage ===
 
=== wpnmod_radius_damage ===
Строка 312: Строка 549:
 
  native wpnmod_radius_damage(const Float: vecSrc[3], const iInflictor, const iAttacker, const Float: flDamage, const Float: flRadius, const iClassIgnore, const bitsDamageType);
 
  native wpnmod_radius_damage(const Float: vecSrc[3], const iInflictor, const iAttacker, const Float: flDamage, const Float: flRadius, const iClassIgnore, const bitsDamageType);
  
* @param vecSrc Origin of explosion.
+
{| class="wide"
* @param iInflictor Entity which causes the damage impact.
+
|-
* @param iAttacker Attacker index.
+
| '''vecSrc'''
* @param flDamage Damage amount.
+
| Origin of explosion.
* @param flRadius Damage radius.
+
|-
* @param iClassIgnore Class to ignore.
+
| '''iInflictor'''
* @param bitsDamageType Damage type (DMG_BLAST and etc).
+
| Entity which causes the damage impact.
 +
|-
 +
| '''iAttacker'''
 +
| Attacker index.
 +
|-
 +
| '''flDamage'''
 +
| Damage amount.
 +
|-
 +
| '''flRadius'''
 +
| Damage radius.
 +
|-
 +
| '''iClassIgnore'''
 +
| Class to ignore.
 +
|-
 +
| '''bitsDamageType'''
 +
| (DMG_BLAST and etc).
 +
|}
  
 
=== wpnmod_radius_damage2 ===
 
=== wpnmod_radius_damage2 ===
Строка 326: Строка 579:
 
  native wpnmod_radius_damage2(const Float: vecSrc[3], const iInflictor, const iAttacker, const Float: flDamage, const Float: flRadius, const iClassIgnore, const bitsDamageType);
 
  native wpnmod_radius_damage2(const Float: vecSrc[3], const iInflictor, const iAttacker, const Float: flDamage, const Float: flRadius, const iClassIgnore, const bitsDamageType);
  
* @param vecSrc Origin of explosion.
+
{| class="wide"
* @param iInflictor Entity which causes the damage impact.
+
|-
* @param iAttacker Attacker index.
+
| '''vecSrc'''
* @param flDamage Damage amount.
+
| Origin of explosion.
* @param flRadius Damage radius.
+
|-
* @param iClassIgnore Class to ignore.
+
| '''iInflictor'''
* @param bitsDamageType Damage type (DMG_BLAST and etc).
+
| Entity which causes the damage impact.
 +
|-
 +
| '''iAttacker'''
 +
| Attacker index.
 +
|-
 +
| '''flDamage'''
 +
| Damage amount.
 +
|-
 +
| '''flRadius'''
 +
| Damage radius.
 +
|-
 +
| '''iClassIgnore'''
 +
| Class to ignore.
 +
|-
 +
| '''bitsDamageType'''
 +
| (DMG_BLAST and etc).
 +
|}
  
 
=== wpnmod_clear_multi_damage ===
 
=== wpnmod_clear_multi_damage ===
Строка 346: Строка 615:
 
  native wpnmod_apply_multi_damage(const iInflictor, const iAttacker);
 
  native wpnmod_apply_multi_damage(const iInflictor, const iAttacker);
  
* @param iInflictor Entity which causes the damage impact.
+
{| class="wide"
* @param iAttacker Attacker index.
+
|-
 +
| '''iInflictor'''
 +
| Entity which causes the damage impact.
 +
|-
 +
| '''iAttacker'''
 +
| Attacker index.
 +
|}
  
 
=== wpnmod_eject_brass ===
 
=== wpnmod_eject_brass ===
  
Eject a brass from player's weapon.
+
Выпадение гильзы из оружия.
  
 
  native wpnmod_eject_brass(const iPlayer, const iShellModelIndex, const iSoundtype, const Float: flForwardScale, const Float: flUpScale, const Float: flRightScale);
 
  native wpnmod_eject_brass(const iPlayer, const iShellModelIndex, const iSoundtype, const Float: flForwardScale, const Float: flUpScale, const Float: flRightScale);
  
* @param iPlayer Player index.
+
{| class="wide"
* @param iShellModelIndex Index of precached shell's model.
+
|-
* @param iSoundtype Bounce sound type (see defines).
+
| '''iPlayer'''
* @param flForwardScale Forward scale value.
+
| Индекс игрока
* @param flUpScale Up scale value.
+
|-
* @param flRightScale Right scale value.
+
| '''iShellModelIndex'''
 +
| Индекс прекешенной модели гильзы
 +
|-
 +
| '''iSoundtype'''
 +
| Тип звука
 +
|-
 +
| '''flForwardScale'''
 +
| Смещение вперед относительно игрока
 +
|-
 +
| '''flUpScale'''
 +
| Смещение вверх относительно игрока
 +
|-
 +
| '''flRightScale'''
 +
| Смещение вбок относительно игрока
 +
|}
  
 
=== wpnmod_create_item ===
 
=== wpnmod_create_item ===
  
Spawn an item by name.
+
Создание энтити оружия или аммобокса
  
 
  native wpnmod_create_item(const szName[], const Float: vecOrigin[3] = {0.0, 0.0, 0.0}, const Float: vecAngles[3] = {0.0, 0.0, 0.0});
 
  native wpnmod_create_item(const szName[], const Float: vecOrigin[3] = {0.0, 0.0, 0.0}, const Float: vecAngles[3] = {0.0, 0.0, 0.0});
  
* @param szName Item's name.
+
{| class="wide"
* @param vecOrigin Origin were to spawn.
+
|-
* @param vecAngles Angles.
+
| '''szName'''
* @return Item entity index or -1 on failure. (integer)
+
| Класснейм энтити, которую хотим создать.
 +
|-
 +
| '''vecOrigin'''
 +
| Координаты где заспавнить.
 +
|-
 +
| '''vecAngles'''
 +
| Углы, под которыми отспавнить.
 +
|}
 +
 
 +
return item entity index or -1 on failure. (integer)
  
 
=== wpnmod_get_player_ammo ===
 
=== wpnmod_get_player_ammo ===
Строка 379: Строка 677:
 
  native wpnmod_get_player_ammo(const iPlayer, const szAmmoName[]);
 
  native wpnmod_get_player_ammo(const iPlayer, const szAmmoName[]);
  
* @param iPlayer Player id.
+
{| class="wide"
* @param szAmmoName Ammo type. ("9mm", "uranium", "MY_AMMO" etc..)
+
|-
* @return Amount of given ammo. (integer)
+
| '''iPlayer'''
 +
| ID игрока
 +
|-
 +
| '''szAmmoName'''
 +
| Название типа патронов ("9mm", "uranium", "MY_AMMO" и т.д.)
 +
|}
  
 
=== wpnmod_set_player_ammo ===
 
=== wpnmod_set_player_ammo ===
Строка 389: Строка 692:
 
  native wpnmod_set_player_ammo(const iPlayer, const szAmmoName[], const iAmount);
 
  native wpnmod_set_player_ammo(const iPlayer, const szAmmoName[], const iAmount);
  
* @param iPlayer Player id.
+
{| class="wide"
* @param szAmmoName Ammo type. ("9mm", "uranium", "MY_AMMO" etc..)
+
|-
* @param iAmount Ammo amount.
+
| '''iPlayer'''
 +
| ID игрока
 +
|-
 +
| '''szAmmoName'''
 +
| Название типа патронов ("9mm", "uranium", "MY_AMMO" и т.д.)
 +
|-
 +
| '''iAmount'''
 +
| Количество патронов
 +
|}
  
 
=== wpnmod_get_damage_decal ===
 
=== wpnmod_get_damage_decal ===
Строка 399: Строка 710:
 
  native wpnmod_get_damage_decal(const iEntity);
 
  native wpnmod_get_damage_decal(const iEntity);
  
* @param iEntity Entity.
+
{| class="wide"
* @return Index of damage decal. (integer)
+
|-
 +
| '''iEntity'''
 +
| Энтити
 +
|}
 +
 
 +
return Index of damage decal. (integer)
  
 
=== wpnmod_get_gun_position ===
 
=== wpnmod_get_gun_position ===
Строка 408: Строка 724:
 
  native wpnmod_get_gun_position(const iPlayer, Float: vecResult[3], const Float: flForwardScale = 1.0, const Float: flRightScale = 1.0, const Float: flUpScale = 1.0);
 
  native wpnmod_get_gun_position(const iPlayer, Float: vecResult[3], const Float: flForwardScale = 1.0, const Float: flRightScale = 1.0, const Float: flUpScale = 1.0);
  
* @param iPlayer Player index.
+
{| class="wide"
* @param vecResult Calculated gun position.
+
|-
* @param flForwardScale Forward scale value.
+
| '''iPlayer'''
* @param flUpScale Up scale value.
+
| Player index
* @param flRightScale Right scale value.
+
|-
 +
| '''vecResult'''
 +
| Calculated gun position
 +
|-
 +
| '''flForwardScale'''
 +
| Forward scale value
 +
|-
 +
| '''flUpScale'''
 +
| Up scale value
 +
|-
 +
| '''flRightScale'''
 +
| Right scale value
 +
|}
  
 
=== wpnmod_explode_entity ===
 
=== wpnmod_explode_entity ===
Строка 425: Строка 753:
  
 
  native wpnmod_decal_trace(const iTrace, const iDecalIndex = -1, const szDecalName[] = "");
 
  native wpnmod_decal_trace(const iTrace, const iDecalIndex = -1, const szDecalName[] = "");
 
+
{| class="wide"
* @param iTrace Trace handler.
+
|-
* @param iDecalIndex Decal index.
+
| '''iTrace'''
* @param szDecalName Decal name.
+
| Trace handler.
 +
|-
 +
| '''iDecalIndex'''
 +
| Decal index.
 +
|-
 +
| '''szDecalName'''
 +
| Decal name.
 +
|}
  
 
=== wpnmod_trace_texture ===
 
=== wpnmod_trace_texture ===
Строка 436: Строка 771:
 
  native wpnmod_trace_texture(const iEntity, const Float: vecSrc[3], const Float: vecEnd[3], szTextureName[], const iLen);
 
  native wpnmod_trace_texture(const iEntity, const Float: vecSrc[3], const Float: vecEnd[3], szTextureName[], const iLen);
  
* @param iEntity Entity index that we want to get the texture.
+
{| class="wide"
* @param vecSrc The point from where the trace starts.
+
|-
* @param vecEnd The point where the trace ends.
+
| '''iEntity'''
* @param szTextureName Buffer to save the texture name.
+
| Entity index that we want to get the texture.
* @param iLen Buffer's length.
+
|-
 +
| '''vecSrc'''
 +
| The point from where the trace starts.
 +
|-
 +
| '''vecEnd'''
 +
| The point where the trace ends.
 +
|-
 +
| '''szTextureName'''
 +
| Buffer to save the texture name.
 +
|-
 +
| '''iLen'''
 +
| Buffer's length.
 +
|}
 +
 
 +
== Ссылки ==
 +
* [http://aghl.ru/wiki/index.php?title=Weapon_Mod_API Weapon_Mod_API]
 +
* [http://aghl.ru/forum/viewtopic.php?f=42&t=721 Скачать модуль с Aghl.ru]
 +
* [http://forums.alliedmods.net/showthread.php?t=183369 Скачать модуль с AlliedMods]

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

hl_wpnmod.inc

wpnmod_register_weapon

Регистрация нового оружия. Возвращает ID зарегистрированного оружия или -1 в случае ошибки.

native wpnmod_register_weapon(const szName[], const iSlot, const iPosition, const szAmmo1[], const iMaxAmmo1, const szAmmo2[], const,  iMaxAmmo2, const iMaxClip, const iFlags, const iWeight);
szName Имя оружия
iSlot ID слота от 1 до 5
iPosition Позиция в слоте от 1 до 5
szAmmo1 Тип патронов основной атаки ("9mm", "uranium", "MY_AMMO" и т.д.).
iMaxAmmo1 Максимальное количество патронов в обойме для основной атаки
szAmmo2 Тип патронов вторичной атаки
iMaxAmmo2 Максимальное количество патронов в обойме для вторичной атаки
iMaxClip Максимальное количество переносимых игроком патронов (в обойме не считается)
iFlags Флаги оружия (смотри константы).
iWeight Вес оружия (для автопереключения

wpnmod_register_weapon_forward

Регистрирует форвард оружия.

native wpnmod_register_weapon_forward(const iWeaponID, const e_WpnFwds: iForward, const szCallBack[]);
iWeaponID ID оружия
iForward Forward type to register.
szCallBack The forward to call

Пример:

// Weapon settings
#define WEAPON_NAME 			"weapon_deagle"      // Название оружие
#define WEAPON_SLOT			2                    // Второй слот (пистолеты)
#define WEAPON_POSITION			3                    // Третья позиция в слоте
#define WEAPON_PRIMARY_AMMO		"357"                // Тип патронов
#define WEAPON_PRIMARY_AMMO_MAX		36                   // Максимальное количество патронов, исключая патроны в обойме
#define WEAPON_SECONDARY_AMMO		""                   // Вторичного нет
#define WEAPON_SECONDARY_AMMO_MAX	-1                   // Вторичного нет
#define WEAPON_MAX_CLIP			9                    // Патронов в обойме
#define WEAPON_DEFAULT_AMMO		14                   // Патронов по-умолчанию, включая патроны в обойме
#define WEAPON_FLAGS			0                    // Флаг оружия
#define WEAPON_WEIGHT			12                   // Вес оружия, для автосмены
#define WEAPON_DAMAGE			60.0                 // Урон одного патрона

new deagle_id = wpnmod_register_weapon(
    WEAPON_NAME,
    WEAPON_SLOT,
    WEAPON_POSITION,
    WEAPON_PRIMARY_AMMO,
    WEAPON_PRIMARY_AMMO_MAX,
    WEAPON_SECONDARY_AMMO,
    WEAPON_SECONDARY_AMMO_MAX,
    WEAPON_MAX_CLIP,
    WEAPON_FLAGS,
    WEAPON_WEIGHT
);

wpnmod_get_weapon_info

Returns any ItemInfo variable for weapon. Use the e_ItemInfo_* enum.

native wpnmod_get_weapon_info(const iId, const e_ItemInfo: iInfoType, any:...);
iId The ID of registered weapon or weapon entity Id.
iInfoType ItemInfo type

return Weapon's ItemInfo variable.

wpnmod_get_weapon_count

Возвращает количество зарегистрированного оружия.

native wpnmod_get_weapon_count();

wpnmod_register_ammobox

Регистрация нового аммобокса в модуле. Возвращает ID зарегистрированого аммобокса, -1 в случае неудачи.

native wpnmod_register_ammobox(const szClassname[]);
szName Название аммобокса ("uranium", "9mm", "my_ammo" и т.д.)

wpnmod_register_ammobox_forward

Регистрирует форвард аммобокса. Форвард - функция при определенном действии с аммобоксами (напр. спавн).

native wpnmod_register_ammobox_forward(const iWeaponID, const e_AmmoFwds: iForward, const szCallBack[]);
iAmmoboxID ID аммобокса, полученный из регистрации аммобокса.
iForward Тип хука.
szCallBack Функция, которая будет вызвана по этому хуку.

wpnmod_get_ammobox_info

Returns any AmmoInfo variable for ammobox. Use the e_AmmoInfo_* enum.

native wpnmod_get_ammobox_info(const iId, const e_AmmoInfo: iInfoType, any:...);
iId The ID of registered ammobox or ammobox entity Id
iInfoType e_AmmoInfo_* type

return Ammobox's AmmoInfo variable.

wpnmod_get_ammobox_count

Возвращает количество зарегистрированных аммобоксов.

native wpnmod_get_ammobox_count();

wpnmod_set_think

Установка отложенного задания (think функция).

native wpnmod_set_think(const iItem, const szCallBack[]);
iItem Индекс энтити, для которой необходимо вызвать отложенное задание.
szCallBack Функция, которая будет вызвана.

Пример:

wpnmod_set_think(iItem, "M249_CompleteReload");
set_pev(iItem, pev_nextthink, get_gametime() + 1.52);

Через 1.52 секунды будет вызвана функция "M249_CompleteReload".

В вызываемую функцию будут переданы следующие параметры:

iItem Индекс энтити, для которой необходимо вызвать отложенное задание.
iPlayer Индекс игрока, владельца оружия.
iClip Кол-во аммо в обойме (магазине)оружия.
iAmmo Кол-во аммо в запасе у игрока к данному оружию.

wpnmod_set_touch

Sets entity's touch function.

native wpnmod_set_touch(const iEntity, const szCallBack[]);
iEntity Entity index
szCallBack The forward to call

wpnmod_send_weapon_anim

Играть анимацию оружия.

native wpnmod_send_weapon_anim(const iItem, const iAnim);
iItem Индекс энтити оружия.
iAnim Номер анимации модели нашего оружия для проигрывания (можно узнать через Model Viewer).

wpnmod_set_player_anim

Проигрывание определенного типа анимации моделью игрока

native wpnmod_set_player_anim(const iPlayer, const PLAYER_ANIM: iPlayerAnim);
iPlayer Индекс игрока
iPlayerAnim Тип анимации

wpnmod_set_anim_ext

Set animation extension for player.

native wpnmod_set_anim_ext(const iPlayer, const szAnimExt[]);
iPlayer Player id.
szAnimExt[] Animation extension prefix.

wpnmod_get_anim_ext

Get animation extension for player.

native wpnmod_get_anim_ext(const iPlayer, szDest[], iMaxLen);
iPlayer Player id.
szDest[] Buffer.
iMaxLen Max buffer size.

wpnmod_set_offset_int

Установка целочисленного значения по оффсету для энтити

native wpnmod_set_offset_int(const iEntity, const e_Offsets: iOffset, const iValue);
iEntity Индекс энтити
iOffset Тип оффсета
iValue Значение

wpnmod_get_offset_int

Получение целочисленного значения по оффсету для энтити

native wpnmod_get_offset_int(const iEntity, const e_Offsets: iOffset);
iEntity Индекс энтити
iOffset Тип оффсета

return value from private data. (integer)

wpnmod_set_offset_float

Установка вещественного значения по оффсету для энтити

native wpnmod_set_offset_float(const iEntity, const e_Offsets: iOffset, const Float: flValue);
iEntity Entity index.
iOffset Offset (see e_Offsets constants).
flValue Value.

wpnmod_get_offset_float

Получение вещественного значения по оффсету для энтити

native Float: wpnmod_get_offset_float(const iEntity, const e_Offsets: iOffset);
iEntity Entity index.
iOffset Offset (see e_Offsets constants).

return value from private data. (float)

wpnmod_set_offset_cbase

Set the corresponding cbase field in private data with the index.

native wpnmod_set_offset_cbase(const iEntity, const e_CBase: iOffset, const iValue, const iExtraOffset = 0);
iEntity The entity to examine the private data
iOffset Offset (See e_CBase constants)
iValue The index to store
iExtraOffset The extra offset

wpnmod_get_offset_cbase

This will return an index of the corresponding cbase field in private data.

native wpnmod_get_offset_cbase(const iEntity, const e_CBase: iOffset, const iExtraOffset = 0);
iEntity The entity to examine the private data.
iOffset Offset (See e_CBase constants).
iExtraOffset The extra offset.

return value from private data. (integer)

wpnmod_default_deploy

Функция активации оружия по умолчанию.

native wpnmod_default_deploy(const iItem, const szViewModel[], const szWeaponModel[], const iAnim, const szAnimExt[]);
iItem Индекс энтити оружия.
szViewModel Модель оружия, видимая только её владельцу (V)
szWeaponModel Модель оружия в руках игрока, видимая со стороны остальным (P)
iAnim Номер анимации для проигрывания при активации
szAnimExt Расширение анимации для модели игрока

wpnmod_default_reload

Функция перезарядки оружия по умолчанию

native wpnmod_default_reload(const iItem, const iClipSize, const iAnim, const Float: flDelay);
iItem Индекс энтити оружия
iClipSize Размер обоймы (магазина)
iAnim Номер анимации перезарядки для проигрывания
flDelay Длительность перезарядки.

wpnmod_reset_empty_sound

Сброс звука осечки. Необходимо для дальнейшего проигрывания звука осечки.

native wpnmod_reset_empty_sound(const iItem);
iItem Индекс энтити оружия

wpnmod_play_empty_sound

Проигрывание звука осечки

native wpnmod_play_empty_sound(const iItem);
iItem Индекс энтити оружия

wpnmod_fire_bullets

Выстрел из оружия.

native wpnmod_fire_bullets(const iPlayer, const iAttacker, const iShotsCount, const Float: vecSpread[3], const Float: flDistance, const Float: flDamage, const bitsDamageType, const iTracerFreq);
iPlayer Индекс игрока, владельца оружия
iAttacker Индекс атакующего, как правило владельца оружия
iShotsCount Кол-во выстрелов за раз
vecSpread Разброс
flDistance Дальность выстрела
flDamage Урон
bitsDamageType Тип урона
iTracerFreq Частота трасеров

wpnmod_fire_contact_grenade

Fire default contact grenade from player's weapon.

native wpnmod_fire_contact_grenade(const iPlayer, const Float: vecStart[3], const Float: vecVelocity[3], const szCallBack[] = "");
iPlayer Player index
vecStart Start position
vecVelocity Velocity
szCallBack The forward to call on explode

return contact grenade index or -1 on failure. (integer)

wpnmod_fire_timed_grenade

Fire default timed grenade from player's weapon.

native wpnmod_fire_timed_grenade(const iPlayer, const Float: vecStart[3], const Float: vecVelocity[3], const Float: flTime = 3.0, const szCallBack[] = "");
iPlayer Player index.
vecStart Start position.
vecVelocity Velocity.
flTime Time before detonate.
szCallBack The forward to call on explode.

return contact grenade index or -1 on failure. (integer)

wpnmod_radius_damage

Make damage upon entities within a certain range. Only damage ents that can clearly be seen by the explosion.

native wpnmod_radius_damage(const Float: vecSrc[3], const iInflictor, const iAttacker, const Float: flDamage, const Float: flRadius, const iClassIgnore, const bitsDamageType);
vecSrc Origin of explosion.
iInflictor Entity which causes the damage impact.
iAttacker Attacker index.
flDamage Damage amount.
flRadius Damage radius.
iClassIgnore Class to ignore.
bitsDamageType (DMG_BLAST and etc).

wpnmod_radius_damage2

Same as wpnmod_radius_damage, but blocks 'ghost mines' and 'ghost nades'.

native wpnmod_radius_damage2(const Float: vecSrc[3], const iInflictor, const iAttacker, const Float: flDamage, const Float: flRadius, const iClassIgnore, const bitsDamageType);
vecSrc Origin of explosion.
iInflictor Entity which causes the damage impact.
iAttacker Attacker index.
flDamage Damage amount.
flRadius Damage radius.
iClassIgnore Class to ignore.
bitsDamageType (DMG_BLAST and etc).

wpnmod_clear_multi_damage

Resets the global multi damage accumulator.

native wpnmod_clear_multi_damage();

wpnmod_apply_multi_damage

Inflicts contents of global multi damage register on entity.

native wpnmod_apply_multi_damage(const iInflictor, const iAttacker);
iInflictor Entity which causes the damage impact.
iAttacker Attacker index.

wpnmod_eject_brass

Выпадение гильзы из оружия.

native wpnmod_eject_brass(const iPlayer, const iShellModelIndex, const iSoundtype, const Float: flForwardScale, const Float: flUpScale, const Float: flRightScale);
iPlayer Индекс игрока
iShellModelIndex Индекс прекешенной модели гильзы
iSoundtype Тип звука
flForwardScale Смещение вперед относительно игрока
flUpScale Смещение вверх относительно игрока
flRightScale Смещение вбок относительно игрока

wpnmod_create_item

Создание энтити оружия или аммобокса

native wpnmod_create_item(const szName[], const Float: vecOrigin[3] = {0.0, 0.0, 0.0}, const Float: vecAngles[3] = {0.0, 0.0, 0.0});
szName Класснейм энтити, которую хотим создать.
vecOrigin Координаты где заспавнить.
vecAngles Углы, под которыми отспавнить.

return item entity index or -1 on failure. (integer)

wpnmod_get_player_ammo

Получает количество патронов заданного типа у игрока.

native wpnmod_get_player_ammo(const iPlayer, const szAmmoName[]);
iPlayer ID игрока
szAmmoName Название типа патронов ("9mm", "uranium", "MY_AMMO" и т.д.)

wpnmod_set_player_ammo

Set player's ammo inventory.

native wpnmod_set_player_ammo(const iPlayer, const szAmmoName[], const iAmount);
iPlayer ID игрока
szAmmoName Название типа патронов ("9mm", "uranium", "MY_AMMO" и т.д.)
iAmount Количество патронов

wpnmod_get_damage_decal

Returns index of random damage decal for given entity.

native wpnmod_get_damage_decal(const iEntity);
iEntity Энтити

return Index of damage decal. (integer)

wpnmod_get_gun_position

Get player's gun position. Result will set in vecResult.

native wpnmod_get_gun_position(const iPlayer, Float: vecResult[3], const Float: flForwardScale = 1.0, const Float: flRightScale = 1.0, const Float: flUpScale = 1.0);
iPlayer Player index
vecResult Calculated gun position
flForwardScale Forward scale value
flUpScale Up scale value
flRightScale Right scale value

wpnmod_explode_entity

Explode and then remove entity.

native wpnmod_explode_entity(const iEntity, const bitsDamageType = 0, const szCallBack[] = "");

wpnmod_decal_trace

Draw decal by index or name on trace end.

native wpnmod_decal_trace(const iTrace, const iDecalIndex = -1, const szDecalName[] = "");
iTrace Trace handler.
iDecalIndex Decal index.
szDecalName Decal name.

wpnmod_trace_texture

Detects the texture of an entity from a direction.

native wpnmod_trace_texture(const iEntity, const Float: vecSrc[3], const Float: vecEnd[3], szTextureName[], const iLen);
iEntity Entity index that we want to get the texture.
vecSrc The point from where the trace starts.
vecEnd The point where the trace ends.
szTextureName Buffer to save the texture name.
iLen Buffer's length.

Ссылки