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

Материал из HLDM Wiki
Перейти к навигации Перейти к поиску
(Ссылки)
 
(не показаны 3 промежуточные версии этого же участника)
Строка 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);
Строка 46: Строка 46:
  
 
  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[]);
 
  
 
{| class="wide"
 
{| class="wide"
Строка 59: Строка 58:
 
| The forward to call
 
| 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 ===
Строка 65: Строка 94:
  
 
  native wpnmod_get_weapon_info(const iId, const e_ItemInfo: iInfoType, any:...);
 
  native wpnmod_get_weapon_info(const iId, const e_ItemInfo: iInfoType, any:...);
 
  
 
{| class="wide"
 
{| class="wide"
Строка 77: Строка 105:
  
 
return Weapon's ItemInfo variable.
 
return Weapon's ItemInfo variable.
 
  
 
=== wpnmod_get_weapon_count ===
 
=== wpnmod_get_weapon_count ===
Строка 87: Строка 114:
 
=== wpnmod_register_ammobox ===
 
=== wpnmod_register_ammobox ===
  
Регистрация нового аммобокса в модуле.
+
Регистрация нового аммобокса в модуле. Возвращает ID зарегистрированого аммобокса, -1 в случае неудачи.
  
 
  native wpnmod_register_ammobox(const szClassname[]);
 
  native wpnmod_register_ammobox(const szClassname[]);
 
  
 
{| class="wide" border="1"
 
{| class="wide" border="1"
Строка 96: Строка 122:
 
| Название аммобокса ("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[]);
 
  
 
{| class="wide"
 
{| class="wide"
 
|-
 
|-
 
| '''iAmmoboxID'''
 
| '''iAmmoboxID'''
| The ID of registered ammobox
+
| ID аммобокса, полученный из регистрации аммобокса.
 
|-
 
|-
 
| '''iForward'''
 
| '''iForward'''
| Forward type to register
+
| Тип хука.
 
|-
 
|-
 
| '''szCallBack'''
 
| '''szCallBack'''
| The forward to call
+
| Функция, которая будет вызвана по этому хуку.
 
|}
 
|}
  
Строка 122: Строка 147:
  
 
  native wpnmod_get_ammobox_info(const iId, const e_AmmoInfo: iInfoType, any:...);
 
  native wpnmod_get_ammobox_info(const iId, const e_AmmoInfo: iInfoType, any:...);
 
  
 
{| class="wide"
 
{| class="wide"
Строка 142: Строка 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[]);
  
 +
{| class="wide"
 +
|-
 +
| '''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"
 
{| class="wide"
 
|-
 
|-
 
| '''iItem'''
 
| '''iItem'''
| Weapon's entity index
+
| Индекс энтити, для которой необходимо вызвать отложенное задание.
 +
|-
 +
| iPlayer
 +
| Индекс игрока, владельца оружия.
 +
|-
 +
| iClip
 +
| Кол-во аммо в обойме (магазине)оружия.
 
|-
 
|-
| '''szCallBack'''
+
| iAmmo
| The forward to call
+
| Кол-во аммо в запасе у игрока к данному оружию.
 
|}
 
|}
  
Строка 161: Строка 208:
  
 
  native wpnmod_set_touch(const iEntity, const szCallBack[]);
 
  native wpnmod_set_touch(const iEntity, const szCallBack[]);
 
  
 
{| class="wide"
 
{| class="wide"
Строка 177: Строка 223:
  
 
  native wpnmod_send_weapon_anim(const iItem, const iAnim);
 
  native wpnmod_send_weapon_anim(const iItem, const iAnim);
 
  
 
{| class="wide"
 
{| class="wide"
 
|-
 
|-
 
| '''iItem'''
 
| '''iItem'''
| Weapon's entity index.
+
| Индекс энтити оружия.
 
|-
 
|-
 
| '''iAnim'''
 
| '''iAnim'''
| Sequence number.
+
| Номер анимации модели нашего оружия для проигрывания (можно узнать через 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);
 
  
 
{| class="wide"
 
{| class="wide"
 
|-
 
|-
 
| '''iPlayer'''
 
| '''iPlayer'''
| Player index.
+
| Индекс игрока
 
|-
 
|-
 
| '''iPlayerAnim'''
 
| '''iPlayerAnim'''
| Animation (see PLAYER_ANIM constants).
+
| Тип анимации
 
|}
 
|}
  
Строка 209: Строка 253:
  
 
  native wpnmod_set_anim_ext(const iPlayer, const szAnimExt[]);
 
  native wpnmod_set_anim_ext(const iPlayer, const szAnimExt[]);
 
  
 
{| class="wide"
 
{| class="wide"
Строка 225: Строка 268:
  
 
  native wpnmod_get_anim_ext(const iPlayer, szDest[], iMaxLen);
 
  native wpnmod_get_anim_ext(const iPlayer, szDest[], iMaxLen);
 
  
 
{| class="wide"
 
{| class="wide"
Строка 241: Строка 283:
 
=== 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);
 
  
 
{| class="wide"
 
{| class="wide"
 
|-
 
|-
 
| '''iEntity'''
 
| '''iEntity'''
| Entity index.
+
| Индекс энтити
 
|-
 
|-
 
| '''iOffset'''
 
| '''iOffset'''
| Offset (see e_Offsets constants).
+
| Тип оффсета
 
|-
 
|-
 
| '''iValue'''
 
| '''iValue'''
| Value.
+
| Значение
 
|}
 
|}
  
 
=== 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);
 
  
 
{| class="wide"
 
{| class="wide"
 
|-
 
|-
 
| '''iEntity'''
 
| '''iEntity'''
| Entity index.
+
| Индекс энтити
 
|-
 
|-
 
| '''iOffset'''
 
| '''iOffset'''
| Offset (see e_Offsets constants).
+
| Тип оффсета
 
|}
 
|}
  
Строка 278: Строка 318:
 
=== 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);
 
  
 
{| class="wide"
 
{| class="wide"
Строка 297: Строка 336:
 
=== 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);
 
  
 
{| class="wide"
 
{| class="wide"
Строка 318: Строка 356:
  
 
  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);
 
  
 
{| class="wide"
 
{| class="wide"
Строка 340: Строка 377:
  
 
  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);
 
  
 
{| class="wide"
 
{| class="wide"
Строка 358: Строка 394:
 
=== 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[]);
 
  
 
{| class="wide"
 
{| class="wide"
 
|-
 
|-
 
| '''iItem'''
 
| '''iItem'''
| Weapon's entity index.
+
| Индекс энтити оружия.
 
|-
 
|-
 
| '''szViewModel'''
 
| '''szViewModel'''
| Weapon's view model (V)
+
| Модель оружия, видимая только её владельцу (V)
 
|-
 
|-
 
| '''szWeaponModel'''
 
| '''szWeaponModel'''
| Weapon's player model (P)
+
| Модель оружия в руках игрока, видимая со стороны остальным (P)
 
|-
 
|-
 
| '''iAnim'''
 
| '''iAnim'''
| Sequence number of deploy animation
+
| Номер анимации для проигрывания при активации
 
|-
 
|-
 
| '''szAnimExt'''
 
| '''szAnimExt'''
| Animation extension
+
| Расширение анимации для модели игрока
 
|}
 
|}
 
  
 
=== 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);
 
  
 
{| class="wide"
 
{| class="wide"
 
|-
 
|-
 
| '''iItem'''
 
| '''iItem'''
| Weapon's entity index
+
| Индекс энтити оружия
 
|-
 
|-
 
| '''iClipSize'''
 
| '''iClipSize'''
| Maximum weapon's clip size
+
| Размер обоймы (магазина)
 
|-
 
|-
 
| '''iAnim'''
 
| '''iAnim'''
| Sequence number of reload animation
+
| Номер анимации перезарядки для проигрывания
 
|-
 
|-
 
| '''flDelay'''
 
| '''flDelay'''
| Reload delay time
+
| Длительность перезарядки.
 
|}
 
|}
  
 
=== 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);
 
  
 
{| class="wide"
 
{| class="wide"
Строка 419: Строка 451:
 
=== 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);
 
  
 
{| class="wide"
 
{| class="wide"
 
|-
 
|-
| '''iItem'''
+
| iItem
| Weapon's entity index.
+
| Индекс энтити оружия
 
|}
 
|}
 
  
 
=== wpnmod_fire_bullets ===
 
=== wpnmod_fire_bullets ===
Строка 436: Строка 466:
  
 
  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);
 
  
 
{| class="wide"
 
{| class="wide"
 
|-
 
|-
 
| '''iPlayer'''
 
| '''iPlayer'''
| Player index.
+
| Индекс игрока, владельца оружия
 
|-
 
|-
 
| '''iAttacker'''
 
| '''iAttacker'''
| Attacker index (usualy it equal to previous param).
+
| Индекс атакующего, как правило владельца оружия
 
|-
 
|-
 
| '''iShotsCount'''
 
| '''iShotsCount'''
| Number of shots.
+
| Кол-во выстрелов за раз
 
|-
 
|-
 
| '''vecSpread'''
 
| '''vecSpread'''
| Spread.
+
| Разброс
 
|-
 
|-
 
| '''flDistance'''
 
| '''flDistance'''
| Max shot distance.
+
| Дальность выстрела
 
|-
 
|-
 
| '''flDamage'''
 
| '''flDamage'''
| Damage amount.
+
| Урон
 
|-
 
|-
 
| '''bitsDamageType'''
 
| '''bitsDamageType'''
| Damage type
+
| Тип урона
 
|-
 
|-
 
| '''iTracerFreq'''
 
| '''iTracerFreq'''
| Tracer frequancy
+
| Частота трасеров
 
|}
 
|}
  
Строка 470: Строка 499:
  
 
  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[] = "");
 
  
 
{| class="wide"
 
{| class="wide"
Строка 494: Строка 522:
  
 
  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[] = "");
 
  
 
{| class="wide"
 
{| class="wide"
Строка 599: Строка 626:
 
=== 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);
Строка 606: Строка 633:
 
|-
 
|-
 
| '''iPlayer'''
 
| '''iPlayer'''
| Player index.
+
| Индекс игрока
 
|-
 
|-
 
| '''iShellModelIndex'''
 
| '''iShellModelIndex'''
| Index of precached shell's model.
+
| Индекс прекешенной модели гильзы
 
|-
 
|-
 
| '''iSoundtype'''
 
| '''iSoundtype'''
| Bounce sound type (see defines).
+
| Тип звука
 
|-
 
|-
 
| '''flForwardScale'''
 
| '''flForwardScale'''
| Forward scale value.
+
| Смещение вперед относительно игрока
 
|-
 
|-
 
| '''flUpScale'''
 
| '''flUpScale'''
| Up scale value.
+
| Смещение вверх относительно игрока
 
|-
 
|-
 
| '''flRightScale'''
 
| '''flRightScale'''
| Right scale value.
+
| Смещение вбок относительно игрока
 
|}
 
|}
  
 
=== 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});
Строка 633: Строка 660:
 
|-
 
|-
 
| '''szName'''
 
| '''szName'''
| Item's name
+
| Класснейм энтити, которую хотим создать.
 
|-
 
|-
 
| '''vecOrigin'''
 
| '''vecOrigin'''
| Origin were to spawn
+
| Координаты где заспавнить.
 
|-
 
|-
 
| '''vecAngles'''
 
| '''vecAngles'''
| Angles
+
| Углы, под которыми отспавнить.
 
|}
 
|}
  
Строка 764: Строка 791:
 
== Ссылки ==
 
== Ссылки ==
 
* [http://aghl.ru/wiki/index.php?title=Weapon_Mod_API Weapon_Mod_API]
 
* [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.

Ссылки