Неверная рука

Статус
В этой теме нельзя размещать новые ответы.
Сообщения
24
Реакции
25
Помог
1 раз(а)
Ошибка
В видео
ОС
Windows
Amx Mod X
1.9.0.5247
Билд
3.6.0.672-dev
ReGamedll
5.9.0.355-dev
Версия Metamod
1.3.0.128
Список метамодулей
[ 1] AMX Mod X     RUN   -    amxmodx_mm.dll        v1.9.0.5247     ini  Start ANY
[ 2] Ham Sandwich RUN - hamsandwich_amxx.dll v1.9.0.5247 pl1 ANY ANY
[ 3] CSX RUN - csx_amxx.dll v1.9.0.5247 pl1 ANY ANY
[ 4] ReAPI RUN - reapi_amxx.dll v5.9.0.171-dev pl1 ANY Never
[ 5] CStrike RUN - cstrike_amxx.dll v1.9.0.5247 pl1 ANY ANY
[ 6] FakeMeta RUN - fakemeta_amxx.dll v1.9.0.5247 pl1 ANY ANY
[ 7] Fun RUN - fun_amxx.dll v1.9.0.5247 pl1 ANY ANY
Список плагинов
[  1] Admin Base              1.9.0.5247  AMXX Dev Team     admin.amxx       running
[ 2] Admin Commands 1.9.0.5247 AMXX Dev Team admincmd.amxx running
[ 3] Admin Help 1.9.0.5247 AMXX Dev Team adminhelp.amxx running
[ 4] Slots Reservation 1.9.0.5247 AMXX Dev Team adminslots.amxx running
[ 5] Menus Front-End 1.9.0.5247 AMXX Dev Team menufront.amxx running
[ 6] Commands Menu 1.9.0.5247 AMXX Dev Team cmdmenu.amxx running
[ 7] Players Menu 1.9.0.5247 AMXX Dev Team plmenu.amxx running
[ 8] Maps Menu 1.9.0.5247 AMXX Dev Team mapsmenu.amxx running
[ 9] Plugin Menu 1.9.0.5247 AMXX Dev Team pluginmenu.amxx running
[ 10] Admin Chat 1.9.0.5247 AMXX Dev Team adminchat.amxx running
[ 11] Anti Flood 1.9.0.5247 AMXX Dev Team antiflood.amxx running
[ 12] Admin Votes 1.9.0.5247 AMXX Dev Team adminvote.amxx running
[ 13] Pause Plugins 1.9.0.5247 AMXX Dev Team pausecfg.amxx running
[ 14] Stats Configuration 1.9.0.5247 AMXX Dev Team statscfg.amxx running
[ 15] StatsX 1.9.0.5247 AMXX Dev Team statsx.amxx running
[ 16] My SteamID 1.0 R1GHTY steamid.amxx running
[ 17] Infinity: Core release R1GHTY infinity_core.a debug
[ 18] Infinity: Perks release R1GHTY infinity_perks. running
Автор плагина
Я
Версия плагина
Нет
Исходный код
Закрыт
Доброго времени суток. Понадобилось мне сделать кастомные модели оружия со сменой бодигруппы у v_ модели. Всё отлично работает за исключением 1 небольшой детали: если переключиться на нож и обратно, то оружие оказывается в левой руке. Возможно ли принудительно выставлять оружие в правой руке? Думаю, что это может происходить из-за CD, но не уверен:
C++:
public FM_Hook_UpdateClientData_Post(id, SendWeapons, CD_Handle) {
    new ActiveItem = get_member(id, m_pActiveItem);
 
    if(ActiveItem == NULLENT)
        return FMRES_IGNORED;
 
    if(IsCustomWeapon(ActiveItem))
        set_cd(CD_Handle, CD_ID, 0);
    return FMRES_HANDLED;
}
 
В этой теме было размещено решение! Перейти к решению.
Последнее редактирование:
Сообщения
24
Реакции
25
Помог
1 раз(а)
Узнал, что cl_lw изменяет руку с ножом и решил провести тест. Результат оказался очень странным: при cl_lw 0 кастомное оружие в правильной руке, но модель ненормально себя ведет. Результат в видео.
 

Ayk

Сообщения
763
Реакции
478
Помог
19 раз(а)
сменой бодигруппы у p_ модели
На видео v_ модель.

Как скин устанавливается? Когда?

И что значит исходник закрыт? С чем помогать то? Гадать на кофейной гуще?
Напоминаем Вам, что темы с проблемами в работе сервера или плагинов, в первую очередь нужны Вам и Вы заинтересованы в том, чтобы предоставить всю необходимую информацию для решения Вашей проблемы.
 
Сообщения
24
Реакции
25
Помог
1 раз(а)
Ayk, ловлю Ham_CS_Weapon_SendWeaponAnim и затем
C++:
public ham_CS_SendWeaponAnim(Weapon, Anim, Skiplocal) {
    if(!IsCustomWeapon(Weapon))
        return HAM_IGNORED;
    
    SendWeaponAnim(1, ++Anim, get_entvar(Weapon, var_body));
    
    return HAM_SUPERCEDE;
}
C++:
stock SendWeaponAnim(Player, Anim, Body) {
    set_entvar(Player, var_weaponanim, Anim);

    message_begin(MSG_ONE, SVC_WEAPONANIM, _, Player);
    write_byte(Anim);
    write_byte(Body);
    message_end();
    
    return;
}
 
Сообщения
24
Реакции
25
Помог
1 раз(а)
Решено: отлавливаем cl_lw и принудительно меняем на 0
C++:
public FM_Hook_ClientUserInfoChanged(id) {
    static UserInfo[6] = "cl_lw", ClientValue[2], ServerValue[2] = "0";
    get_user_info(id, UserInfo, ClientValue, charsmax(ClientValue));
    
    if(strcmp(ClientValue, ServerValue)) {
        set_user_info(id, UserInfo, ServerValue);
        return FMRES_SUPERCEDE;
    }
    
    return FMRES_IGNORED;
}
Для фикса поведения модели оружия делаем следующее:
C++:
public FM_Hook_PlaybackEvent(iFlags, id, iEvent, Float:fDelay, Float:vecOrigin[3], Float:vecAngle[3], Float:flParam1, Float:flParam2, iParam1, iParam2, bParam1, bParam2) {
    if(!is_user_alive(id))
        return FMRES_IGNORED;
    
    new iEnt = get_pdata_cbase(id, 373);
    
    if(!IsCustomWeapon(iEnt))
        return FMRES_IGNORED;
    
    return FMRES_SUPERCEDE;
}
 
Статус
В этой теме нельзя размещать новые ответы.

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

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