• Уважаемые гости и новички, приветствуем Вас на нашем форуме
    Здесь вы можете найти ответы практически на все свои вопросы о серии игр «Готика» (в том числе различных модах на нее), «Ведьмак», «Ризен», «Древние свитки», «Эра дракона» и о многих других играх. Можете также узнать свежие новости о разработке новых проектов, восхититься творчеством наших форумчан, либо самим показать, что вы умеете. Ну и наконец, можете обсудить общие увлечения или просто весело пообщаться с посетителями «Таверны».

    Чтобы получить возможность писать на форуме, оставьте сообщение в этой теме.
    Удачи!
  • Это снова вы, и это снова я - MEG@VOLT, какаяя радость.
    А значит нас всех снова скоро ожидают технические работы на форуме.
    Очередные работы запланированы на начало марта, 7-9 числа.

Вопросы по union

MEG@VOLT

★★★★★★★★★
ТехАдмин
Регистрация
24 Мар 2006
Сообщения
10.902
Благодарности
7.547
Баллы
1.910
если оверлеем заменить анимку
вот как раз оверлей я трогать не хотел, его с очень большим трудом понимаю))
А этот адрес от куда взялся? Я его найти не могу
что влияет на анимации уровней 1-8 и 20. По идее, можно просто использовать анимацию 9-го уровня и тогда её не будет сбивать движком.
А это, как я понял, тоже к оверлеям ?
 

ElderGamer


Модостроитель
Регистрация
16 Апр 2008
Сообщения
4.685
Благодарности
3.451
Баллы
525
А это, как я понял, тоже к оверлеям ?
Наверное, нужные анимки можно прописать в базовом наборе Humans.mds, назначив им 9й слой. Название анимок нужно будет придумать альтернативное, а исходник для компиляции взять от анимок LGuard.

И в функции AI_PlayAni нужно, как мне кажется, указать переход от Stand до LGuard. Так новая поза будет приниматься не скачком, а как положено. :)

вот как раз оверлей я трогать не хотел, его с очень большим трудом понимаю))
Это несложно, поверь. Хукать Юнькой движок, на мой взгляд, сложнее. :D
 

Slavemaster


Модостроитель
Регистрация
10 Июн 2019
Сообщения
1.175
Благодарности
2.048
Баллы
320
А этот адрес от куда взялся? Я его найти не могу
Похукал некоторые функции Хук-логгером, чтобы узнать, почему S_LGUARD начинает рассеиваться
C++:
+oCNpc::StandUp(int,int): void
    CALLER    : 0x0074C00D [0x0074C00D:oCNpc::OnMessage in oNpc.cpp(10767)]
    THIS      : (objectName=PC_HERO, enemy=SLD_800_LEE, human_ai=((npc=PC_HERO, wmode=0, wLevel=0, oldWLevel=0), aiCam=(underWater=0)), inventory2=(owner=PC_HERO, packString=ITFO_BREAD:999,ITSC_WINDFIST:999, vobs=ITSC_TRFSHEEP:999))
    A0        : 0
    A1        : 1
    +zCModel::FadeOutAnisLayerRange(int,int): void
        CALLER    : 0x006AE53C [0x006AE53C:oCAniCtrl_Human::StopTurnAnis in oAniCtrl.cpp(2264)]
        THIS      : (objectName=PC_HERO)
        A0        : 20
        A1        : 20
        +zCModel::FadeOutAni(zCModelAniActive*): void
            CALLER    : 0x0057F21D [0x0057F21D:zCModel::FadeOutAnisLayerRange in zModel.cpp(4132)]
            THIS      : (objectName=PC_HERO)
            A0        : (name="T_DIALOGGESTURE_16" (F), id=647, nextAni=, nextAniOverride=)
            THIS      : (objectName=PC_HERO)
            TIME      : 254
        THIS      : (objectName=PC_HERO)
        TIME      : 1 236
    +zCModel::StartAni(zCModelAni*,int): void
        CALLER    : 0x00682E27 [0x00682E27:oCNpc::StandUp in oNpc_Move.cpp(1191)]
        THIS      : (objectName=PC_HERO)
        A0        : (name=T_LGUARD_2_STAND, id=889)
        A1        : 0
        +zCModel::FadeOutAni(zCModelAniActive*): void
            CALLER    : 0x08A10976
            THIS      : (objectName=PC_HERO)
            A0        : (name="S_LGUARD", id=230, nextAni=S_LGUARD, nextAniOverride=)
            THIS      : (objectName=PC_HERO)
            TIME      : 74
        THIS      : (objectName=PC_HERO)
        TIME      : 532
    +zCModel::FadeOutAnisLayerRange(int,int): void
        CALLER    : 0x00682EA5 [0x00682EA5:oCNpc::StandUp in oNpc_Move.cpp(1206)]
        THIS      : (objectName=PC_HERO)
        A0        : 2
        A1        : 8
        THIS      : (objectName=PC_HERO)
        TIME      : 408
    THIS      : (objectName=PC_HERO, enemy=SLD_800_LEE, human_ai=((npc=PC_HERO, wmode=0, wLevel=0, oldWLevel=0), aiCam=(underWater=0)), inventory2=(owner=PC_HERO, packString=ITFO_BREAD:999,ITSC_WINDFIST:999, vobs=ITSC_TRFSHEEP:999))
    TIME      : 2 758
И в функции AI_PlayAni нужно, как мне кажется, указать переход от Stand до LGuard. Так новая поза будет приниматься не скачком, а как положено.
Лучше так, да. Но c zSmoothAniTransitions всё равно плавно будет.
 
Сверху Снизу