Поиск Аналог Ultimate Weapons с открытым кодом

K

kapangaIII

С модельиндексом все понятно, а в throwplayer через engfunc(EngFunc_SetModel ну и entity_set_model
 

Vaqtincha

aggressive
Разработчик
Скриптер
Регистрация
28 Янв 2018
Сообщения
963
Симпатии
685
Пол
Мужской
надеюсь ты установил модельку не на weapon entity а grenade entity который возвращает функции выше[DOUBLEPOST=1546091742][/DOUBLEPOST]Стоп. Ты начал писать плагин без меня ?
 
K

kapangaIII

?
Пример приведи. Я на grenade устанавливал, нужная мне энтити.
public PlayerThrowGrenade(const this, const grenade)
entity_set_model(grenade,"mdl");



P.s Я его ещё вчера днём написал.
 

Vaqtincha

aggressive
Разработчик
Скриптер
Регистрация
28 Янв 2018
Сообщения
963
Симпатии
685
Пол
Мужской
,
C++:
RegisterHookChain(RG_CBasePlayer_ThrowGrenade, "CBasePlayer_ThrowGrenade", .post = true)


public CBasePlayer_ThrowGrenade(const pPlayer, const pWeapon, Float:vecSrc[3], Float:vecThrow[3], Float:time, const usEvent)
{
    new pGrenade = GetHookChainReturn(ATYPE_INTEGER)
    
    if (pGrenade > 0)
    {
        server_print("[ThrowGrenade] WeaponEnt %i | Grenade %i", pWeapon, pGrenade)
    }
}
[DOUBLEPOST=1546092639][/DOUBLEPOST]В инклуде 2й аргумент описано неверно. На самом деле это weapon entity который в руках и он всегда невидимый. Когда игрок бросает гранату создается др. энтити с моделькой
 
K

kapangaIII

Попробуй сменить на w_ak47 например.
engfunc(EngFunc_SetModel, pGrenade, "models/w_ak47.mdl");
У меня просто все равно не меняется, странно.

В fm_setmodel с суперсидом меняется.[DOUBLEPOST=1546092878][/DOUBLEPOST]W_ точнее
 

Vaqtincha

aggressive
Разработчик
Скриптер
Регистрация
28 Янв 2018
Сообщения
963
Симпатии
685
Пол
Мужской
А вот юзать
set_entvar(ent, var_modelindex, index)
set_entvar(ent, var_model, "ddddd.mdl")
вместо
engfunc(EngFunc_SetModel, ent, "ddddd.mdl")
это бред
 
K

kapangaIII

var_model не использовал, он не используется нигде почти
А modelindex иногда используется, поэтому и попытался, но...
 

Vaqtincha

aggressive
Разработчик
Скриптер
Регистрация
28 Янв 2018
Сообщения
963
Симпатии
685
Пол
Мужской
,
C++:
public CBasePlayer_ThrowGrenade(const pPlayer, const pWeapon, Float:vecSrc[3], Float:vecThrow[3], Float:time, const usEvent)
{
    new pGrenade = GetHookChainReturn(ATYPE_INTEGER)
    
    if (pGrenade > 0)
    {
        server_print("[ThrowGrenade] WeaponEnt %i | Grenade %i", pWeapon, pGrenade)
        
        engfunc(EngFunc_SetModel, pGrenade, "models/w_ak47.mdl");
    }
}
 

Вложения

K

kapangaIII

Видимо ты особенный... Как ни странно, у меня не работает :/
Ладно, спс, попробую все обновить сейчас.
 

Vaqtincha

aggressive
Разработчик
Скриптер
Регистрация
28 Янв 2018
Сообщения
963
Симпатии
685
Пол
Мужской
, Обнови windows
 
K

kapangaIII

Лучше мозг сразу обновлю, виндовс долго слишком обновляется)
 
K

kapangaIII

Если кто-то хочет потестить на живых серверах и сообщить о недочетах - пишите в личку.
Требования: 1.8.3 и выше, реапи, регеймдлл.
 

fantom

Разработчик
Регистрация
11 Июн 2017
Сообщения
426
Симпатии
293
Пол
Мужской
Есть идеи как заменить w_ модель гранаты используя лишь хуки reapi, в RG_CBasePlayer_ThrowGrenade не меняется, в RG_ThrowHeGrenade уэе без импульса?
В RG_CWeaponBox_SetModel соответственно нету ее вроде.
Делал хук спавна грены (можна броска) и потом в след фрейме (RequestFrame из 190 например)
 

Vaqtincha

aggressive
Разработчик
Скриптер
Регистрация
28 Янв 2018
Сообщения
963
Симпатии
685
Пол
Мужской
fantom, костыль... Выше рабочий и правильный код и никаких фреймов!
 
K

kapangaIII

Если кто-то хочет потестить на живых серверах и сообщить о недочетах - пишите в личку.
Требования: 1.8.3 и выше, реапи, регеймдлл.
И да, те кто с отложенными тестами - не стоит. Мне нужно потестить в течении дня и сказать все ли в порядке (я и так знаю что там все нормально, но все же).
 
Сверху Снизу