Поиск Плагин осмотра оружия на "F"

Статус
В этой теме нельзя размещать новые ответы.
Сообщения
22
Реакции
2
Помог
1 раз(а)
Ищу плагин который при нажатии на клавишу "F" будет запускать осмотр оружия.
Сцена осмотра "inspect1", за исключением m4a1 (там inspect - без глушителя, inspect1 - c глушителем)
С возможностью добавления нескольких определенных оружий.
Мб есть бесплатные аналоги?
В интернете нашел только на амх-х платный
И от Vaqtincha, но он только для ножа, и без возможности указать сцену анимации описанную выше.
Код:
const ANIM_IMPULSE = 100             // flashlight

const INSPECT_ANIM_NUM = 8
const Float:INSPECT_ANIM_TIME = 6.0


#include <amxmodx>
#include <engine>
#include <hamsandwich>
#include <fakemeta>



// offsets
const m_iId = 43
const m_pActiveItem = 373
const m_flTimeWeaponIdle = 48

const XO_WEAPON = 4
const PDATA_SAFE = 2


public plugin_init()
{
    register_plugin("KNIFE Inspect", "0.0.3", "Vaqtincha")
    register_impulse(ANIM_IMPULSE, "ClCmd_Impulse")
}


public ClCmd_Impulse(const pPlayer)
{   
    if(!is_user_alive(pPlayer))
        return PLUGIN_CONTINUE

    new pActiveItem = get_pdata_cbase(pPlayer, m_pActiveItem)

    if(pev_valid(pActiveItem)== PDATA_SAFE && get_pdata_int(pActiveItem, m_iId, XO_WEAPON) == CSW_KNIFE)
    {
        SendWeaponAnim(pPlayer, pActiveItem, INSPECT_ANIM_NUM, INSPECT_ANIM_TIME)
        return PLUGIN_HANDLED
    }

    return PLUGIN_CONTINUE
}

stock SendWeaponAnim(const pPlayer, const pWeapon, const iAnim, const Float:flAnimTime)
{
    if(pev(pPlayer, pev_weaponanim) == iAnim)
        return

    set_pev(pPlayer, pev_weaponanim, iAnim)

    message_begin(MSG_ONE, SVC_WEAPONANIM, .player = pPlayer)
    write_byte(iAnim)
    write_byte(0)         // pev(pWeapon, pev_body)
    message_end()
    
    set_pdata_float(pWeapon, m_flTimeWeaponIdle, flAnimTime, XO_WEAPON)
}
 
Сообщения
1,574
Реакции
658
Помог
5 раз(а)
и правда странно что нет такого плагина, мне кажется было что-то такое типа csgo, тоже интересно есть ли такое)
 
Сообщения
511
Реакции
111
Помог
16 раз(а)
от Vaqtincha туда можно и остальное оружие добавить,по примеру как с ножом
 
Сообщения
775
Реакции
293
Помог
11 раз(а)
Мне кажется проще детектить нажатие на клавишу F и оттуда запускать определенную анимацию. Сделать проверку на оружие и чтобы с файлика читал анимации для конкретного оружия. Но на сколько мне известно плагин не выбирает по названию, а только по нумерации. могу ошибаться
 
Сообщения
775
Реакции
293
Помог
11 раз(а)
Nordic Warrior, мне это напомнило выдачу патронов в древних випках
1652124768169.png
 
Сообщения
511
Реакции
111
Помог
16 раз(а)
gore,
Код:
const INSPECT_ANIM_NUM_AK47 = 6 // номер анимации в модели

public plugin_init()
{
   register_impulse(ANIM_IMPULSE, "ClCmd_Impulse_AK47")
}

public ClCmd_Impulse_AK47(const pPlayer)
{  
    if(!is_user_alive(pPlayer))
        return PLUGIN_CONTINUE

    new pActiveItem = get_pdata_cbase(pPlayer, m_pActiveItem)

    if(pev_valid(pActiveItem)== PDATA_SAFE && get_pdata_int(pActiveItem, m_iId, XO_WEAPON) == CSW_AK47)
    {
        SendWeaponAnim(pPlayer, pActiveItem, INSPECT_ANIM_NUM_AK47, INSPECT_ANIM_TIME)
        return PLUGIN_HANDLED
    }

    return PLUGIN_CONTINUE
}
я не пишу плагины,но как то так
 
Сообщения
2,288
Реакции
1,740
Помог
31 раз(а)
gore, У кого то был приватный, напиши в покупки, может продадут
 
Сообщения
22
Реакции
2
Помог
1 раз(а)
gore,
Код:
const INSPECT_ANIM_NUM_AK47 = 6 // номер анимации в модели

public plugin_init()
{
   register_impulse(ANIM_IMPULSE, "ClCmd_Impulse_AK47")
}

public ClCmd_Impulse_AK47(const pPlayer)
{
    if(!is_user_alive(pPlayer))
        return PLUGIN_CONTINUE

    new pActiveItem = get_pdata_cbase(pPlayer, m_pActiveItem)

    if(pev_valid(pActiveItem)== PDATA_SAFE && get_pdata_int(pActiveItem, m_iId, XO_WEAPON) == CSW_AK47)
    {
        SendWeaponAnim(pPlayer, pActiveItem, INSPECT_ANIM_NUM_AK47, INSPECT_ANIM_TIME)
        return PLUGIN_HANDLED
    }

    return PLUGIN_CONTINUE
}
я не пишу плагины,но как то так
Проверил на ак47, где анимация осмотра как раз под номером 6, работает.
Но как быть с м4а1, где 2 анимации (с глушителем и без)?
И еще момент, у моделей, где нет анимации просмотра, воспроизводится анимация скажем перезарядки и т.п.
Можно как то сделать но названию сцены? Скажем inspect1?
 
Последнее редактирование:
Сообщения
75
Реакции
36
Помог
4 раз(а)
Можно сделать за счет конфига универсальный метод для тебя, пример:
"путь к v_ модели" "длительность анимации" "номер анимации" "доп. номер анимации при глушителе"

Так ты сможешь в каждом отлове на нужной модели вызывать нужную анимацию из списка и тд, это всячески лучше нежели вызывать парс каждой модели для поиска номера анимки.

Описание выше, больше послужит тебе либо как идея, либо как ТЗ для заказа.
 
Сообщения
3,593
Реакции
1,576
Помог
141 раз(а)
gore, я же скинул выше плагин, который поддерживает и m4a1 и usp как с глушителем, так и без.
 
Сообщения
22
Реакции
2
Помог
1 раз(а)
Nordic Warrior,подскажите, какие то настройки надо делать в исходнике?
И если
RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_famas", "Fw_Weapon_PrimaryAttack", true);
Заменю на
RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_famas", "Fw_Weapon_PrimaryAttack", false);
То для фамас не будет анимации?
 
Сообщения
3,593
Реакции
1,576
Помог
141 раз(а)
@Nordic Warrior,подскажите, какие то настройки надо делать в исходнике?
Нужно добавить register_impulse(100, "Inspect_Weapon");, для того чтобы осмотр был на кнопку фонарика.
 
Сообщения
22
Реакции
2
Помог
1 раз(а)
Nordic Warrior, так?

Код:
public plugin_init()
{
    register_plugin(PLUGIN, VERSION, "hellmonja");
    register_impulse(100, "Inspect_Weapon");
    RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_p228",    "Fw_Weapon_PrimaryAttack", true);
    RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_scout",    "Fw_Weapon_PrimaryAttack", true);
    RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_xm1014",    "Fw_Weapon_PrimaryAttack", true);
    RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_mac10",    "Fw_Weapon_PrimaryAttack", true);
    RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_aug",    "Fw_Weapon_PrimaryAttack", true);
    RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_elite",    "Fw_Weapon_PrimaryAttack", true);
    RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_fiveseven","Fw_Weapon_PrimaryAttack",true);
    RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_ump45",    "Fw_Weapon_PrimaryAttack", true);
 
Сообщения
775
Реакции
293
Помог
11 раз(а)
gore, нет, это пост и пре хук. Так же, если ты хочешь что-то убрать, это нужно закомментировать. То что ты добавил вызов фонарика, это не значит что твой код станет работать как ты хочешь. Аналоги посмотри, и должен понять как это работает
10 Май 2022
Не жадничай и сделай заказ, тебе сделают быстро грамотно и не так затратно как ты думаешь
10 Май 2022
Если уж так хочется, ищи на форуме, тут уже спрашивали как сделать проверку на глушитель. Делаешь проверку на глушитель и если глушитель снят, то проигрываешь анимацию без него, если одет, то соответственно анимацию с ним
 
Сообщения
775
Реакции
293
Помог
11 раз(а)
Nordic Warrior, в смысле, я не вижу весь код плагина. Но он просто делает вызов фонарика и ни как его не обрабатывает
 
Сообщения
22
Реакции
2
Помог
1 раз(а)
Спасибо всем, пойду в заказы. Сделают под мои свистелки перделки)
После выполнения заказа закину сюда исходник.
 
Сообщения
3,593
Реакции
1,576
Помог
141 раз(а)
maFFyoZZyk, по дефолту там вызывается отдельной командой.
 
Статус
В этой теме нельзя размещать новые ответы.

Пользователи, просматривающие эту тему

Сейчас на форуме нет ни одного пользователя.
Сверху Снизу