WeaponMod: различия между версиями
Nikita (обсуждение | вклад) |
Nikita (обсуждение | вклад) (→Ссылки) |
||
(не показаны 4 промежуточные версии этого же участника) | |||
Строка 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); | ||
− | |||
{| 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: | Строка 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" | ||
|- | |- | ||
− | | iWeaponID | + | | '''iWeaponID''' |
| ID оружия | | ID оружия | ||
|- | |- | ||
− | | iForward | + | | '''iForward''' |
| Forward type to register. | | Forward type to register. | ||
|- | |- | ||
− | | szCallBack | + | | '''szCallBack''' |
| 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 === | ||
Строка 66: | Строка 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" | ||
|- | |- | ||
− | | iId | + | | '''iId''' |
| The ID of registered weapon or weapon entity Id. | | The ID of registered weapon or weapon entity Id. | ||
|- | |- | ||
− | | iInfoType | + | | '''iInfoType''' |
| ItemInfo type | | ItemInfo type | ||
|} | |} | ||
return Weapon's ItemInfo variable. | return Weapon's ItemInfo variable. | ||
− | |||
=== wpnmod_get_weapon_count === | === wpnmod_get_weapon_count === | ||
Строка 88: | Строка 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" | ||
− | | szName | + | | '''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[]); | ||
− | |||
{| class="wide" | {| class="wide" | ||
|- | |- | ||
− | | iAmmoboxID | + | | '''iAmmoboxID''' |
− | | | + | | ID аммобокса, полученный из регистрации аммобокса. |
|- | |- | ||
− | | iForward | + | | '''iForward''' |
− | | | + | | Тип хука. |
|- | |- | ||
− | | szCallBack | + | | '''szCallBack''' |
− | | | + | | Функция, которая будет вызвана по этому хуку. |
|} | |} | ||
Строка 123: | Строка 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" | ||
|- | |- | ||
− | | iId | + | | '''iId''' |
| The ID of registered ammobox or ammobox entity Id | | The ID of registered ammobox or ammobox entity Id | ||
|- | |- | ||
− | | iInfoType | + | | '''iInfoType''' |
| e_AmmoInfo_* type | | e_AmmoInfo_* type | ||
|} | |} | ||
Строка 143: | Строка 166: | ||
=== wpnmod_set_think === | === wpnmod_set_think === | ||
− | + | Установка отложенного задания (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''' |
− | | | + | | Индекс энтити, для которой необходимо вызвать отложенное задание. |
+ | |- | ||
+ | | iPlayer | ||
+ | | Индекс игрока, владельца оружия. | ||
+ | |- | ||
+ | | iClip | ||
+ | | Кол-во аммо в обойме (магазине)оружия. | ||
|- | |- | ||
− | | | + | | iAmmo |
− | | | + | | Кол-во аммо в запасе у игрока к данному оружию. |
|} | |} | ||
Строка 162: | Строка 208: | ||
native wpnmod_set_touch(const iEntity, const szCallBack[]); | native wpnmod_set_touch(const iEntity, const szCallBack[]); | ||
− | |||
{| class="wide" | {| class="wide" | ||
|- | |- | ||
− | | iEntity | + | | '''iEntity''' |
| Entity index | | Entity index | ||
|- | |- | ||
− | | szCallBack | + | | '''szCallBack''' |
| The forward to call | | The forward to call | ||
|} | |} | ||
Строка 178: | Строка 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''' |
− | | | + | | Индекс энтити оружия. |
|- | |- | ||
− | | iAnim | + | | '''iAnim''' |
− | | | + | | Номер анимации модели нашего оружия для проигрывания (можно узнать через Model Viewer). |
|} | |} | ||
=== wpnmod_set_player_anim === | === wpnmod_set_player_anim === | ||
− | + | Проигрывание определенного типа анимации моделью игрока | |
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''' |
− | | | + | | Индекс игрока |
|- | |- | ||
− | | iPlayerAnim | + | | '''iPlayerAnim''' |
− | | | + | | Тип анимации |
|} | |} | ||
Строка 210: | Строка 253: | ||
native wpnmod_set_anim_ext(const iPlayer, const szAnimExt[]); | native wpnmod_set_anim_ext(const iPlayer, const szAnimExt[]); | ||
− | |||
{| class="wide" | {| class="wide" | ||
|- | |- | ||
− | | iPlayer | + | | '''iPlayer''' |
| Player id. | | Player id. | ||
|- | |- | ||
− | | szAnimExt[] | + | | '''szAnimExt[]''' |
| Animation extension prefix. | | Animation extension prefix. | ||
|} | |} | ||
Строка 226: | Строка 268: | ||
native wpnmod_get_anim_ext(const iPlayer, szDest[], iMaxLen); | native wpnmod_get_anim_ext(const iPlayer, szDest[], iMaxLen); | ||
− | |||
{| class="wide" | {| class="wide" | ||
|- | |- | ||
− | | iPlayer | + | | '''iPlayer''' |
| Player id. | | Player id. | ||
|- | |- | ||
− | | szDest[] | + | | '''szDest[]''' |
| Buffer. | | Buffer. | ||
|- | |- | ||
− | | iMaxLen | + | | '''iMaxLen''' |
|Max buffer size. | |Max buffer size. | ||
|} | |} | ||
Строка 242: | Строка 283: | ||
=== wpnmod_set_offset_int === | === wpnmod_set_offset_int === | ||
− | + | Установка целочисленного значения по оффсету для энтити | |
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''' |
− | | | + | | Индекс энтити |
|- | |- | ||
− | | iOffset | + | | '''iOffset''' |
− | | | + | | Тип оффсета |
|- | |- | ||
− | | iValue | + | | '''iValue''' |
− | | | + | | Значение |
|} | |} | ||
=== wpnmod_get_offset_int === | === wpnmod_get_offset_int === | ||
− | + | Получение целочисленного значения по оффсету для энтити | |
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''' |
− | | | + | | Индекс энтити |
|- | |- | ||
− | | iOffset | + | | '''iOffset''' |
− | | | + | | Тип оффсета |
|} | |} | ||
Строка 279: | Строка 318: | ||
=== wpnmod_set_offset_float === | === wpnmod_set_offset_float === | ||
− | + | Установка вещественного значения по оффсету для энтити | |
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" | ||
|- | |- | ||
− | | iEntity | + | | '''iEntity''' |
| Entity index. | | Entity index. | ||
|- | |- | ||
− | | iOffset | + | | '''iOffset''' |
| Offset (see e_Offsets constants). | | Offset (see e_Offsets constants). | ||
|- | |- | ||
− | | flValue | + | | '''flValue''' |
| Value. | | Value. | ||
|} | |} | ||
Строка 298: | Строка 336: | ||
=== wpnmod_get_offset_float === | === wpnmod_get_offset_float === | ||
− | + | Получение вещественного значения по оффсету для энтити | |
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" | ||
|- | |- | ||
− | | iEntity | + | | '''iEntity''' |
| Entity index. | | Entity index. | ||
|- | |- | ||
− | | iOffset | + | | '''iOffset''' |
| Offset (see e_Offsets constants). | | Offset (see e_Offsets constants). | ||
|} | |} | ||
Строка 319: | Строка 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" | ||
|- | |- | ||
− | | iEntity | + | | '''iEntity''' |
| The entity to examine the private data | | The entity to examine the private data | ||
|- | |- | ||
− | | iOffset | + | | '''iOffset''' |
| Offset (See e_CBase constants) | | Offset (See e_CBase constants) | ||
|- | |- | ||
− | | iValue | + | | '''iValue''' |
| The index to store | | The index to store | ||
|- | |- | ||
− | | iExtraOffset | + | | '''iExtraOffset''' |
| The extra offset | | The extra offset | ||
|} | |} | ||
Строка 341: | Строка 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" | ||
|- | |- | ||
− | | iEntity | + | | '''iEntity''' |
| The entity to examine the private data. | | The entity to examine the private data. | ||
|- | |- | ||
− | | iOffset | + | | '''iOffset''' |
| Offset (See e_CBase constants). | | Offset (See e_CBase constants). | ||
|- | |- | ||
− | | iExtraOffset | + | | '''iExtraOffset''' |
| The extra offset. | | The extra offset. | ||
|} | |} | ||
Строка 359: | Строка 394: | ||
=== wpnmod_default_deploy === | === wpnmod_default_deploy === | ||
− | + | Функция активации оружия по умолчанию. | |
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''' |
− | | | + | | Индекс энтити оружия. |
|- | |- | ||
− | | szViewModel | + | | '''szViewModel''' |
− | | | + | | Модель оружия, видимая только её владельцу (V) |
|- | |- | ||
− | | szWeaponModel | + | | '''szWeaponModel''' |
− | | | + | | Модель оружия в руках игрока, видимая со стороны остальным (P) |
|- | |- | ||
− | | iAnim | + | | '''iAnim''' |
− | | | + | | Номер анимации для проигрывания при активации |
|- | |- | ||
− | | szAnimExt | + | | '''szAnimExt''' |
− | | | + | | Расширение анимации для модели игрока |
|} | |} | ||
− | |||
=== wpnmod_default_reload === | === wpnmod_default_reload === | ||
− | + | Функция перезарядки оружия по умолчанию | |
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''' |
− | | | + | | Индекс энтити оружия |
|- | |- | ||
− | | iClipSize | + | | '''iClipSize''' |
− | | | + | | Размер обоймы (магазина) |
|- | |- | ||
− | | iAnim | + | | '''iAnim''' |
− | | | + | | Номер анимации перезарядки для проигрывания |
|- | |- | ||
− | | flDelay | + | | '''flDelay''' |
− | | | + | | Длительность перезарядки. |
|} | |} | ||
=== wpnmod_reset_empty_sound === | === wpnmod_reset_empty_sound === | ||
− | + | Сброс звука осечки. Необходимо для дальнейшего проигрывания звука осечки. | |
native wpnmod_reset_empty_sound(const iItem); | native wpnmod_reset_empty_sound(const iItem); | ||
− | |||
{| class="wide" | {| class="wide" | ||
Строка 420: | Строка 451: | ||
=== wpnmod_play_empty_sound === | === wpnmod_play_empty_sound === | ||
− | + | Проигрывание звука осечки | |
native wpnmod_play_empty_sound(const iItem); | native wpnmod_play_empty_sound(const iItem); | ||
− | |||
{| class="wide" | {| class="wide" | ||
|- | |- | ||
− | | iItem | + | | iItem |
− | | | + | | Индекс энтити оружия |
|} | |} | ||
− | |||
=== wpnmod_fire_bullets === | === wpnmod_fire_bullets === | ||
Строка 437: | Строка 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''' |
− | | | + | | Индекс игрока, владельца оружия |
|- | |- | ||
− | | iAttacker | + | | '''iAttacker''' |
− | | | + | | Индекс атакующего, как правило владельца оружия |
|- | |- | ||
− | | iShotsCount | + | | '''iShotsCount''' |
− | | | + | | Кол-во выстрелов за раз |
|- | |- | ||
− | | vecSpread | + | | '''vecSpread''' |
− | | | + | | Разброс |
|- | |- | ||
− | | flDistance | + | | '''flDistance''' |
− | | | + | | Дальность выстрела |
|- | |- | ||
− | | flDamage | + | | '''flDamage''' |
− | | | + | | Урон |
|- | |- | ||
− | | bitsDamageType | + | | '''bitsDamageType''' |
− | | | + | | Тип урона |
|- | |- | ||
− | | iTracerFreq | + | | '''iTracerFreq''' |
− | | | + | | Частота трасеров |
|} | |} | ||
Строка 471: | Строка 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" | ||
|- | |- | ||
− | | iPlayer | + | | '''iPlayer''' |
| Player index | | Player index | ||
|- | |- | ||
− | | vecStart | + | | '''vecStart''' |
| Start position | | Start position | ||
|- | |- | ||
− | | vecVelocity | + | | '''vecVelocity''' |
| Velocity | | Velocity | ||
|- | |- | ||
− | | szCallBack | + | | '''szCallBack''' |
| The forward to call on explode | | The forward to call on explode | ||
|} | |} | ||
Строка 495: | Строка 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" | ||
|- | |- | ||
− | | iPlayer | + | | '''iPlayer''' |
| Player index. | | Player index. | ||
|- | |- | ||
− | | vecStart | + | | '''vecStart''' |
| Start position. | | Start position. | ||
|- | |- | ||
− | | vecVelocity | + | | '''vecVelocity''' |
| Velocity. | | Velocity. | ||
|- | |- | ||
− | | flTime | + | | '''flTime''' |
| Time before detonate. | | Time before detonate. | ||
|- | |- | ||
− | | szCallBack | + | | '''szCallBack''' |
| The forward to call on explode. | | The forward to call on explode. | ||
|} | |} | ||
Строка 525: | Строка 551: | ||
{| class="wide" | {| class="wide" | ||
|- | |- | ||
− | | vecSrc | + | | '''vecSrc''' |
| Origin of explosion. | | Origin of explosion. | ||
|- | |- | ||
− | | iInflictor | + | | '''iInflictor''' |
| Entity which causes the damage impact. | | Entity which causes the damage impact. | ||
|- | |- | ||
− | | iAttacker | + | | '''iAttacker''' |
| Attacker index. | | Attacker index. | ||
|- | |- | ||
− | | flDamage | + | | '''flDamage''' |
| Damage amount. | | Damage amount. | ||
|- | |- | ||
− | | flRadius | + | | '''flRadius''' |
| Damage radius. | | Damage radius. | ||
|- | |- | ||
− | | iClassIgnore | + | | '''iClassIgnore''' |
| Class to ignore. | | Class to ignore. | ||
|- | |- | ||
− | | bitsDamageType | + | | '''bitsDamageType''' |
| (DMG_BLAST and etc). | | (DMG_BLAST and etc). | ||
|} | |} | ||
Строка 555: | Строка 581: | ||
{| class="wide" | {| class="wide" | ||
|- | |- | ||
− | | vecSrc | + | | '''vecSrc''' |
| Origin of explosion. | | Origin of explosion. | ||
|- | |- | ||
− | | iInflictor | + | | '''iInflictor''' |
| Entity which causes the damage impact. | | Entity which causes the damage impact. | ||
|- | |- | ||
− | | iAttacker | + | | '''iAttacker''' |
| Attacker index. | | Attacker index. | ||
|- | |- | ||
− | | flDamage | + | | '''flDamage''' |
| Damage amount. | | Damage amount. | ||
|- | |- | ||
− | | flRadius | + | | '''flRadius''' |
| Damage radius. | | Damage radius. | ||
|- | |- | ||
− | | iClassIgnore | + | | '''iClassIgnore''' |
| Class to ignore. | | Class to ignore. | ||
|- | |- | ||
− | | bitsDamageType | + | | '''bitsDamageType''' |
| (DMG_BLAST and etc). | | (DMG_BLAST and etc). | ||
|} | |} | ||
Строка 591: | Строка 617: | ||
{| class="wide" | {| class="wide" | ||
|- | |- | ||
− | | iInflictor | + | | '''iInflictor''' |
| Entity which causes the damage impact. | | Entity which causes the damage impact. | ||
|- | |- | ||
− | | iAttacker | + | | '''iAttacker''' |
| Attacker index. | | Attacker index. | ||
|} | |} | ||
Строка 600: | Строка 626: | ||
=== wpnmod_eject_brass === | === wpnmod_eject_brass === | ||
− | + | Выпадение гильзы из оружия. | |
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: | Строка 632: | ||
{| class="wide" | {| class="wide" | ||
|- | |- | ||
− | | iPlayer | + | | '''iPlayer''' |
− | | | + | | Индекс игрока |
|- | |- | ||
− | | iShellModelIndex | + | | '''iShellModelIndex''' |
− | | | + | | Индекс прекешенной модели гильзы |
|- | |- | ||
− | | iSoundtype | + | | '''iSoundtype''' |
− | | | + | | Тип звука |
|- | |- | ||
− | | flForwardScale | + | | '''flForwardScale''' |
− | | | + | | Смещение вперед относительно игрока |
|- | |- | ||
− | | flUpScale | + | | '''flUpScale''' |
− | | | + | | Смещение вверх относительно игрока |
|- | |- | ||
− | | flRightScale | + | | '''flRightScale''' |
− | | | + | | Смещение вбок относительно игрока |
|} | |} | ||
=== wpnmod_create_item === | === 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}); | 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: | Строка 659: | ||
{| class="wide" | {| class="wide" | ||
|- | |- | ||
− | | szName | + | | '''szName''' |
− | | | + | | Класснейм энтити, которую хотим создать. |
|- | |- | ||
− | | vecOrigin | + | | '''vecOrigin''' |
− | | | + | | Координаты где заспавнить. |
|- | |- | ||
− | | vecAngles | + | | '''vecAngles''' |
− | | | + | | Углы, под которыми отспавнить. |
|} | |} | ||
Строка 653: | Строка 679: | ||
{| class="wide" | {| class="wide" | ||
|- | |- | ||
− | | iPlayer | + | | '''iPlayer''' |
| ID игрока | | ID игрока | ||
|- | |- | ||
− | | szAmmoName | + | | '''szAmmoName''' |
| Название типа патронов ("9mm", "uranium", "MY_AMMO" и т.д.) | | Название типа патронов ("9mm", "uranium", "MY_AMMO" и т.д.) | ||
|} | |} | ||
Строка 668: | Строка 694: | ||
{| class="wide" | {| class="wide" | ||
|- | |- | ||
− | | iPlayer | + | | '''iPlayer''' |
| ID игрока | | ID игрока | ||
|- | |- | ||
− | | szAmmoName | + | | '''szAmmoName''' |
| Название типа патронов ("9mm", "uranium", "MY_AMMO" и т.д.) | | Название типа патронов ("9mm", "uranium", "MY_AMMO" и т.д.) | ||
|- | |- | ||
− | | iAmount | + | | '''iAmount''' |
| Количество патронов | | Количество патронов | ||
|} | |} | ||
Строка 686: | Строка 712: | ||
{| class="wide" | {| class="wide" | ||
|- | |- | ||
− | | iEntity | + | | '''iEntity''' |
| Энтити | | Энтити | ||
|} | |} | ||
Строка 700: | Строка 726: | ||
{| class="wide" | {| class="wide" | ||
|- | |- | ||
− | | iPlayer | + | | '''iPlayer''' |
| Player index | | Player index | ||
|- | |- | ||
− | | vecResult | + | | '''vecResult''' |
| Calculated gun position | | Calculated gun position | ||
|- | |- | ||
− | | flForwardScale | + | | '''flForwardScale''' |
| Forward scale value | | Forward scale value | ||
|- | |- | ||
− | | flUpScale | + | | '''flUpScale''' |
| Up scale value | | Up scale value | ||
|- | |- | ||
− | | flRightScale | + | | '''flRightScale''' |
| Right scale value | | Right scale value | ||
|} | |} | ||
Строка 727: | Строка 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" | {| class="wide" | ||
|- | |- | ||
− | | iTrace | + | | '''iTrace''' |
| Trace handler. | | Trace handler. | ||
|- | |- | ||
− | | iDecalIndex | + | | '''iDecalIndex''' |
| Decal index. | | Decal index. | ||
|- | |- | ||
− | | szDecalName | + | | '''szDecalName''' |
| Decal name. | | Decal name. | ||
|} | |} | ||
Строка 745: | Строка 770: | ||
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); | ||
− | |||
{| class="wide" | {| class="wide" | ||
|- | |- | ||
− | | iEntity | + | | '''iEntity''' |
| Entity index that we want to get the texture. | | Entity index that we want to get the texture. | ||
|- | |- | ||
− | | vecSrc | + | | '''vecSrc''' |
| The point from where the trace starts. | | The point from where the trace starts. | ||
|- | |- | ||
− | | vecEnd | + | | '''vecEnd''' |
| The point where the trace ends. | | The point where the trace ends. | ||
|- | |- | ||
− | | szTextureName | + | | '''szTextureName''' |
| Buffer to save the texture name. | | Buffer to save the texture name. | ||
|- | |- | ||
− | | iLen | + | | '''iLen''' |
| Buffer's length. | | 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
Содержание
- 1 hl_wpnmod.inc
- 1.1 wpnmod_register_weapon
- 1.2 wpnmod_register_weapon_forward
- 1.3 wpnmod_get_weapon_info
- 1.4 wpnmod_get_weapon_count
- 1.5 wpnmod_register_ammobox
- 1.6 wpnmod_register_ammobox_forward
- 1.7 wpnmod_get_ammobox_info
- 1.8 wpnmod_get_ammobox_count
- 1.9 wpnmod_set_think
- 1.10 wpnmod_set_touch
- 1.11 wpnmod_send_weapon_anim
- 1.12 wpnmod_set_player_anim
- 1.13 wpnmod_set_anim_ext
- 1.14 wpnmod_get_anim_ext
- 1.15 wpnmod_set_offset_int
- 1.16 wpnmod_get_offset_int
- 1.17 wpnmod_set_offset_float
- 1.18 wpnmod_get_offset_float
- 1.19 wpnmod_set_offset_cbase
- 1.20 wpnmod_get_offset_cbase
- 1.21 wpnmod_default_deploy
- 1.22 wpnmod_default_reload
- 1.23 wpnmod_reset_empty_sound
- 1.24 wpnmod_play_empty_sound
- 1.25 wpnmod_fire_bullets
- 1.26 wpnmod_fire_contact_grenade
- 1.27 wpnmod_fire_timed_grenade
- 1.28 wpnmod_radius_damage
- 1.29 wpnmod_radius_damage2
- 1.30 wpnmod_clear_multi_damage
- 1.31 wpnmod_apply_multi_damage
- 1.32 wpnmod_eject_brass
- 1.33 wpnmod_create_item
- 1.34 wpnmod_get_player_ammo
- 1.35 wpnmod_set_player_ammo
- 1.36 wpnmod_get_damage_decal
- 1.37 wpnmod_get_gun_position
- 1.38 wpnmod_explode_entity
- 1.39 wpnmod_decal_trace
- 1.40 wpnmod_trace_texture
- 2 Ссылки
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. |