Ошибка с событием CurWeapon и функцией выброса вторичного оружия

Статус
В этой теме нельзя размещать новые ответы.

Oli

Сообщения
5
Реакции
0
Ошибка
Не изменяется модель оружия
ОС
Linux
Amx Mod X
AMX Mod X 1.9.0.5263
Билд
ReHLDS version: 3.7.0.694-dev
ReGamedll
ReGameDLL version: 5.15.0.457-dev
Версия Metamod
Metamod-r v1.3.0.128
Список метамодулей
[ 1] SafeNameAndChat        RUN   -    SafeNameAndChat.so        v1.1             ini  ANY   ANY
[ 2] AMX Mod X RUN - amxmodx_mm_i386.so v1.9.0.5263 ini Start ANY
[ 3] Reunion RUN - reunion_mm_i386.so v0.1.0.92 ini Start Never
[ 4] Revoice RUN - revoice_mm_i386.so v0.1.0.34 ini Start Never
[ 5] Rechecker RUN - rechecker_mm_i386.so v2.5 ini Chlvl ANY
[ 6] Placeholders disabler RUN - plfix_mm_i386.so v0.0.3 ini Start Never
[ 7] CSX RUN - CSX_amxx_i386.so v1.8.2 pl2 ANY ANY
[ 8] FakeMeta RUN - fakemeta_amxx_i386.so v1.9.0.5263 pl2 ANY ANY
[ 9] MySQL RUN - mysql_amxx_i386.so v1.9.0.5263 pl2 ANY ANY
[10] CStrike RUN - cstrike_amxx_i386.so v1.8.2 pl2 ANY ANY
[11] Ham Sandwich RUN - hamsandwich_amxx_i386.so v1.9.0.5263 pl2 ANY ANY
[12] Fun RUN - fun_amxx_i386.so v1.9.0.5263 pl2 ANY ANY
[13] Engine RUN - engine_amxx_i386.so v1.9.0.5263 pl2 ANY ANY
[14] ReAPI RUN - reapi_amxx_i386.so v5.12.0.192-dev pl2 ANY Never
14 plugins, 14 running
Список плагинов
[ 24] Revenant Overlord       0.1         unnamed           zp_class_revena  debug
[ 25] [ZP] Class Zombie: Dar 2.1BETA ToJI9IHGaa zp_class_revena debug
[ 26] [ZP Class] Teleport 0.2 ONYX zp_class_revena debug
[ 27] [ZP Class] Revenant - 0.1 ONYX zp_class_revena debug
[ 28] [ CSO ] VIP 0.1 Opo4uMapy cso_vip.amxx running
[ 29] Autoresponder/Advertis 0.5 MaximusBrood ad_manager.amxx running
[ 30] Ghost 1.0 OsuDesu fly_models.amxx running
[ 31] [ZP] SupplyBoxes 1.0 Docaner supplyboxes.amx running
[ 32] sound_map CS-FADE.RU CS-FADE.RU sound_map.amxx running
[ 33] [ZP] Addon: Perfect La 4.2 [P]erfec[T] [S]c zp_laser_mine.a debug
[ 34] [ZP] Extra Item: Jump 1.0 Opo4uMapy zp_jump_bombV2. running
[ 35] [ZP] Kill Rewards 1.0 Doomsday zp_bonus.amxx running
[ 36] unknown unknown unknown ammo_packs_chan running
[ 37] unknown unknown unknown zp_score.amxx running
[ 38] unknown unknown unknown zp_countdown.am running
[ 39] [ZP] Addon: Knifes 1.0 BUB9neC zp_knife_new.am running
[ 40] mkod_show_bullet_damag 1.0 MKOD damager_compact running
[ 41] mkod_leader_jumps_num 1.0 Xyu BaM ;P/;� priv_jumping.am running
[ 42] [ZP] Sub-Plugin: Parac 1.1 Random1, 93()|29 parachute.amxx running
[ 43] [ZP] Time Presents 1.0 WPMG Team & Oli zp_addon_time_p running
[ 44] unknown unknown unknown zp_death_sprite running
[ 45] unknown unknown unknown ammo_auto_save. running
[ 46] [ZP: Respawn Menu] 0.2 Phantom respawn_ammo.am running
[ 47] [FS] Chat 1.1 Docaner zp_chatv2.amxx running
[ 48] unknown unknown unknown block_audio.amx running
[ 49] [ZP] Addon: First Zomb 0.4 Arseny aka Witho zp_fz_transluce running
[ 50] Ping Checker 26.0.1 RC1 h1k3 ping_checker.am running
[ 51] unknown unknown unknown lk.amxx running
[ 52] [ZP: Buy System] Donat 0.0.1 bos93 \ heka donate.amxx running
[ 53] Galaxy Menu 0.1 inf donate_menu.amx running
[ 54] [Server Addon] Lottery 0.1 ONYX ryletka.amxx running
[ 55] Zp Model 1.0 Oli zp_replace_mode running
[ 56] Menu_Priv 1.0 NoNameNPC menu_priv.amxx running
[ 57] [ZP] VIP menu 1.2 NoNameNPC edited vip_menu.amxx running
[ 58] [ZP] Extra: Brick Dual 1.0 Crock / =) (Popr zp_extra_vip_br running
[ 59] [ZP] Extra: Brick M14E 1.0 Crock / =) (Popr zp_extra_vip_br running
[ 60] [ZP] Hunter menu 1.2 xman2030 & Oli hunter_menu.amx running
[ 61] [ZP] Extra: Brick M4A1 1.0 Crock / =) (Popr zp_extra_hunter running
[ 62] [ZP] Extra: Brick SL8 1.0 Crock / =) (Popr zp_extra_hunter running
[ 63] [ZP] King menu 1.2 xman2030 & Oli king_menu.amxx running
[ 64] [ZP] Extra: AK-47 Crys 1.0 Crock / =) (Popr zp_extra_king_a running
[ 65] [ZP] Extra: M4A1 Cryst 1.0 Crock / =) (Popr zp_extra_king_m running
[ 66] [ZP] Boss menu 1.2 xman2030 & Oli boss_menu.amxx running
[ 67] [ZP] Extra: Kel-Tec KS 1.0 Crock / =) (Popr zp_extra_boss_s running
[ 68] [ZP] Extra: M4A1 Plasm 1.0 Crock / =) (Popr zp_extra_boss_m running
[ 69] [ZP] Hyper menu 1.2 xman2030 & Oli hyper_menu.amxx running
[ 70] [ZP] Extra: Turbulent- 1.0 Crock / =) (Popr zp_extra_hyper_ running
[ 71] [ZP] Extra: Tornado 1.0 Crock / =) (Popr zp_extra_hyper_ running
[ 72] [ZP] Extra: Ethereal 1.0 Zombie-Panic zp_extra_ethere running
[ 73] [ZP] Tenno menu 1.2 NoNameNPC edited tenno_menu.amxx debug
[ 74] MG Grab 1.0 Nickron zp_extra_tenno_ running
[ 75] [MG] Hook by Nickron 2.0 LLInH9rA, Remake zp_extra_tenno_ running
[ 76] [ZP] Weapon: Stinger 1.0.2 xUnicorn (t3rkec zp_extra_tenno_ running
[ 77] [ZP] Weapon: Shining H 1.0 xUnicorn (t3rkec zp_extra_tenno_ running
[ 78] unknown unknown unknown zp_extra_tenno_ running
[ 79] [ZP] Bog menu 1.2 NoNameNPC edited creator_menu.am running
[ 80] ammo paki 4.0 Bagamut creator_ammo_me running
[ 81] [ZP] Addon: Menu Selec 1.0 Universe & BuB9n creator_give_we running
[ 82] [AMXX] Admin Gift 02.01.2018 creator_give_pr running
[ 83] [ZP] Addon: Extended G 2.0 [ru]In1ernal Err creator_galacti running
[ 84] [ZP] Addon: AWP Dragon 1.0 Crock / Lars ReE zp_extra_creato running
[ 85] unknown unknown unknown zp_extra_buy_hp running
[ 86] [ZP43] Extra item: Gas 3.0 H.RED.ZONE zp_extra_gas_ma running
[ 87] unknown unknown unknown zp_extra_no_rec running
[ 88] unknown unknown unknown zp_extra_ultima running
[ 89] [ZP] Extra: CSO Weapon 1.0 KORD_12.7 zp_extra_sapien running
[ 90] [ZP] Extra: Dual Buff 1.0 Crock / =) (Popr zp_extra_dbuff. running
[ 91] [ZP] Extra: Lego Crow- 1.0 Crock / =) (Popr zp_extra_lego_c running
[ 92] [ZP] Extra: Arx Moto 1.0 Crock / =) (Popr zp_extra_arxmot running
[ 93] [ZP] Extra: Aqua Blast 1.0 Crock / =) (Popr zp_extra_aquabl running
[ 94] [ZP] Extra: AK-47 Long 1.0 Crock / =) (Popr zp_extra_ak47lo running
[ 95] [ZP] Extra: Panda Cros 1.0 Crock / =) (Popr zp_extra_pandac running
[ 96] [ZP] Extra: Falcon VSK 1.0 Crock / =) (Popr zp_extra_falcon running
[ 97] [ZP] Extra: Savery 1.0 Crock / =) (Popr zp_extra_savery running
[ 98] [ZP] Extra: MG-3 Neon 1.0 Crock / =) (Popr zp_extra_mg3neo running
[ 99] [ZP] Extra: Lighting E 1.0 Crock / =) (Popr zp_extra_snipe_ running
[100] Chat Additions Core 1.0.0-beta Sergey Shorokhov ChatAdditions_C debug
[101] [CA] Gag 1.0.0-beta Sergey Shorokhov CA_Gag.amxx debug
[102] [CA] Mute menu 1.0.0-beta Sergey Shorokhov CA_Mute.amxx debug
102 plugins, 102 running
Автор плагина
Oli
Версия плагина
1.0
Исходный код
public plugin_init()
{
register_event("CurWeapon","Changeweapon_Hook","be","1=1")
}
// V_AK_NEW_MODEL и P_AK_NEW_MODEL читаются из .ini файла
public Changeweapon_Hook(id)
{

new weaponID = read_data(2)

if(weaponID == CSW_AK47)
{
set_pev(id,pev_viewmodel, engfunc(EngFunc_AllocString, V_AK_NEW_MODEL))
set_pev(id, pev_weaponmodel, engfunc(EngFunc_AllocString, P_AK_NEW_MODEL))
}

return PLUGIN_CONTINUE
}
Здравствуйте,
Есть функция Changeweapon_Hook, на событии CurWeapon в плагине Zp Model. Она меняет модельку оружия (В данном случае AK47).
Когда покупаешь пистолет из extra items(ZM мод) в пистолете срабатывает функция выброса всего вторичного оружия Player_DropWeapons(iPlayer, ExecuteHamB(Ham_Item_ItemSlot, iWeapon));. Вот её код:

C++:
Player_DropWeapons(const iPlayer, const iSlot)
{
    new szWeaponName[32], iItem = get_pdata_cbase(iPlayer, m_rgpPlayerItems_CBasePlayer + iSlot, extra_offset_player);

    while (IsValidPev(iItem))
    {
        pev(iItem, pev_classname, szWeaponName, charsmax(szWeaponName));
        engclient_cmd(iPlayer, "drop", szWeaponName);

        iItem = get_pdata_cbase(iItem, m_pNext, extra_offset_weapon);
    }
}
Когда это происходит, то игрок как бы убирает и достаёт обратно основное оружие, только оно уже без модели. И игра считает, что в руках не основное оружие, а пистолет, хотя это не так. Я нативом вызывал функцию Changeweapon_Hook, когда уже произошёл выброс вторичного -> скин не сменился, а это значит, что у нас не основное оружие в руках, то есть не прошла проверку конструкция if (weaponID == CSW_AK47), хотя в руках именно основное оружие(AK47). Модель изменяется на нужную после выстрела или смены оружия. Если убрать функцию выброса вторичного оружия в плагине пистолета, то всё работает как нужно, но тогда очевидно не работает выброс вторичного оружия при покупке нового пистолета. Таким образом нужно как-то изменить функцию Player_DropWeapons. Дайте, пожалуйста, наводку.
 
В этой теме было размещено решение! Перейти к решению.
Сообщения
576
Реакции
1,003
Помог
18 раз(а)
Дайте, пожалуйста, наводку.
Узнайте какие аргументы у эвента CurWeapon. Хотя там в реге учтено.
Но с методом установки модели вы опоздали лет на 15.
И какие наводки по куску функции можно дать? Если лепите кастомное оружие, то почитайте какие статьи или возьмите нормальный плагин.
 
  • Нравится
Реакции: Ayk

Oli

Сообщения
5
Реакции
0
Mistrick, спасибо за наводку. Переделал плагин замены стандартных моделей под ham_item_deploy для нужных мне оружий. Теперь всё работает так, как это и задумывалось. Спасибо :)
 
Статус
В этой теме нельзя размещать новые ответы.

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

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