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

    Чтобы получить возможность писать на форуме, оставьте сообщение в этой теме.
    Удачи!

Gothic ½ Геймпад | zGamePad [плагин для Union]

Gratt


Модостроитель
Регистрация
14 Ноя 2014
Сообщения
3.301
Благодарности
4.636
Баллы
625
  • Первое сообщение
  • #1
zGamePad


Доступно в
Steam Workshop Gothic 1
stimSmall.png

Steam Workshop Gothic 2
stimSmall.png

Менеджер ресурсов 1559419291725.png
Google Drive

Либо посмотреть вложение к сообщению.


Требования: Union 1.0m или выше
Язык: Русский, Английский, Немецкий, Польский
Платформа: Gothic I, Gothic Sequel, Gothic II, Gothic II NoTR
Разработчики: Gratt, OsmithREV, Mirchik
Исходный код: GitHub

Поддержка геймпадов
- Все xinput совместимые (в т.ч. эмуляторы)
- Xbox семейство контроллеров
- Dualshock 4
- Dualsense
- Nintendo Switch Joy-Cons
- Nintendo Switch Pro Controller

✓ Естественные движения
Интуитивность и плавность управления - главная цель этого плагина. Прикоснитесь к миру Gothic своими руками.

✓ Подсказки
Интерактивные подсказки помогут Вам в освоении управления. Вы всегда можете настроить их внешний вид или отключить.

✓ Быстрый доступ
Плагин имеет два кольца быстрого доступа - оружия и предметы. Используйте их, чтобы всегда иметь доступ к предметам первой необходимости.

✓ Автоматические имена сохранений
Садитесь поудобнее. Вам не придется тянуться к клавиатуре, ведь плагин сам даст имя Вашим сохранениям.

✓ Чередование сохранений
Лучший аналог квиксейвов для контроллера.

✓ Виброотклик
Погрузитесь в игру еще сильнее. Вибрация позволит ощутить Вашего персонажа и всё происходящее в мире.

✓ Захват фокуса
Плагин всегда поможет Вам победить. Удерживание врага в фокусе позволит вести бой намного эффективнее.

✓ Защита от застреваний
Упс! Если Вы застряли, зажмите оба стика на несколько секунд и персонаж сбросит состояние.

Для создания собственных надстроек контроллера см. Wiki
zGamePad_Wiki.jpg
 

Вложения

  • zGamePad_03.zip
    14 MB · Просмотры: 1.243
Последнее редактирование модератором:

Xeдин


Модостроитель
Регистрация
3 Дек 2008
Сообщения
1.448
Благодарности
1.976
Баллы
365
Exerion, с Архолосом проблем не должно быть ага, я про всякие новые окна в НБ, крафты, СНК и так далее. Используя стандартный геймпад и zGamePad там фиг настроишь. Со стимдеском наверное по-другому, не знаю.
игра на стимдеке вполне реальна, где есть 2 трекпада, которые можно разделить на 9 отдельных зон, которые будут работать как отдельные кнопки + 4 задних лепестка + можно вообще слоев накрутить и количество кнопок уже возрастёт в геометрической прогрессии (а их еще и перекрасить можно красиво, чтобы на дисплее было понятно, что за что отвечает). В общем кнопок должно хватить
Можешь видео показать как это выглядит на примере НБ и крафта или СНК? Интересно посмотреть.
 

Gratt


Модостроитель
Регистрация
14 Ноя 2014
Сообщения
3.301
Благодарности
4.636
Баллы
625
Фри аим не из-за схемы управления не заработает "из коробки", а потому что это "особенный" патч, который ходит мимо базовых механик игры и его работа стандартными движковыми запросами не ловится от слова совсем. Можно использовать метод из этого поста, чтобы подружить zgp с gfa:
 

MEG@VOLT

★★★★★★★★★
ТехАдмин
Регистрация
24 Мар 2006
Сообщения
9.860
Благодарности
6.740
Баллы
1.625
OFFTOP

стим - зло! *gothic_troll*

 

Xeдин


Модостроитель
Регистрация
3 Дек 2008
Сообщения
1.448
Благодарности
1.976
Баллы
365
Gratt, в НБ свой фриаим, не нинзевский и не факт что поможет патч, к тому же там у них свое натяжение с доп. уроном на правую кнопку мышки и куча еще всего, перекаты и так далее. Играть в НБ с геймпадом все-то плохая идея по мне.
 

Exerion

Участник форума
Регистрация
26 Фев 2024
Сообщения
7
Благодарности
3
Баллы
5
Можешь видео показать как это выглядит на примере НБ и крафта или СНК? Интересно посмотреть.


Если чувствуется некоторое напряжение при нажатии кнопок, то спешу сообщить, что без штатива записывать крайне неудобно было :D
Привыкнуть не сложно ко всем этим вещам)
 

Xeдин


Модостроитель
Регистрация
3 Дек 2008
Сообщения
1.448
Благодарности
1.976
Баллы
365
Exerion, прикольно ага.
 

Gratt


Модостроитель
Регистрация
14 Ноя 2014
Сообщения
3.301
Благодарности
4.636
Баллы
625
В принципе после этого можно обрывать любую фразу, мне глубоко все равно что будет работать в НБ, что нет. Это другая реальность, которая меня не касается, и слава большому взрыву отче нашему за это ;)
 

Gratt


Модостроитель
Регистрация
14 Ноя 2014
Сообщения
3.301
Благодарности
4.636
Баллы
625
Короче смысл Торнадо бага заключается в том, что во время атаки на бегу активируется анимация attack_move. Это анимация второго слоя, то есть выполняется поверх анимации бега (runl) первого слоя.
Как только игрок останавливается во время работы attack_move, движок пытается понять, какую из анимаций ему активировать далее - idle (run) или бег (runl). Каждый кадр движок спорит, переключая эти анимации, при этом не дает войти хотя бы в один активный фрейм и обновить матрицу главной кости bip01 (которая раскручивается на текущий angle стика вновь и вновь). Плюс отсюда и возникает автоматная очередь из звуков топота, а сами ноги зависают до конца attack_move. При низком fps есть вероятность того, что анимация все таки выполнит хотя бы один кадр, в этом случае Торнадо не будет. Slavemaster или killer-m может захотите посмотреть, я не сильно горю желанием :) Для плагина сделаю по хардкору сброс матрицы bip01 через родительский прототип с матрицей из Т-позы.

HumanS Remaster, к слову, имеет устойчивую к багу движка структуру и не допускает Торнадо в принципе.
 

Slavemaster


Модостроитель
Регистрация
10 Июн 2019
Сообщения
1.081
Благодарности
1.901
Баллы
320
Gratt, по-моему это уже пофикшено в zSmoothAniTransitions
 

Xeдин


Модостроитель
Регистрация
3 Дек 2008
Сообщения
1.448
Благодарности
1.976
Баллы
365
Gratt, по-моему это уже пофикшено в zSmoothAniTransitions
Да, с zSmoothAniTransitions так не крутит, хотя пытается раскрутить, но останавливает. Как вариант вполне нормально.
С хьюманремастер вообще не крутит. Но он же глючный в плане совместимости с модами и с ним особо не поиграешь.

Для плагина сделаю по хардкору сброс матрицы bip01 через родительский прототип с матрицей из Т-позы.
У меня твой фикс не сработал почему-то. :)
 

Slavemaster


Модостроитель
Регистрация
10 Июн 2019
Сообщения
1.081
Благодарности
1.901
Баллы
320
Да, с zSmoothAniTransitions так не крутит, хотя пытается раскрутить, но останавливает.
Ну, у меня геймпада нет, но для ванили баг с топотом и зависанием ног был пофикшен. Этого нет:
движок спорит, переключая эти анимации
Трасса стека выглядит так:
Код:
+oCNpc::EV_AttackRun(oCMsgAttack*): int
    CALLER    : 0x0074BC47 (supposed oCNpc::OnMessage at 0x0074B020)
    THIS      : (objectName=PC_HERO, enemy=0x00000000, human_ai=((npc=PC_HERO, wmode=2, wLevel=0, oldWLevel=0), aiCam=(underWater=0)))
    A0        : 0x418AE3D8
    +zCModel::StartAni(zCModelAni*,int): void
        CALLER    : 0x006B010D (supposed oCAniCtrl_Human::StartHitCombo at 0x006B00C0)
        THIS      : (objectName=PC_HERO)
        A0        : (name=T_1HATTACKMOVE, id=318)
        A1        : 0
        THIS      : (objectName=PC_HERO)
        TIME      : 33
    THIS      : (objectName=PC_HERO, enemy=0x00000000, human_ai=((npc=PC_HERO, wmode=2, wLevel=0, oldWLevel=0), aiCam=(underWater=0)))
    RESULT    : 0
    TIME      : 205

+oCNpc::EV_AttackRun(oCMsgAttack*): int
    CALLER    : 0x0074BC47 (supposed oCNpc::OnMessage at 0x0074B020)
    THIS      : (objectName=PC_HERO, enemy=0x00000000, human_ai=((npc=PC_HERO, wmode=2, wLevel=0, oldWLevel=0), aiCam=(underWater=0)))
    A0        : 0x418AE3D8
    +zCModel::StartAni(zCModelAni*,int): void
        CALLER    : 0x08A110DD (supposed _ValidateWrite at 0x007DC2F5)
        THIS      : (objectName=PC_HERO)
        A0        : (name=S_1HRUNL, id=70)
        A1        : 0
        THIS      : (objectName=PC_HERO)
        TIME      : 29
    THIS      : (objectName=PC_HERO, enemy=0x00000000, human_ai=((npc=PC_HERO, wmode=2, wLevel=0, oldWLevel=0), aiCam=(underWater=0)))
    RESULT    : 0
    TIME      : 176

+oCNpc::EV_AttackRun(oCMsgAttack*): int
    CALLER    : 0x0074BC47 (supposed oCNpc::OnMessage at 0x0074B020)
    THIS      : (objectName=PC_HERO, enemy=0x00000000, human_ai=((npc=PC_HERO, wmode=2, wLevel=0, oldWLevel=0), aiCam=(underWater=0)))
    A0        : 0x418AE3D8
    +zCModel::StartAni(zCModelAni*,int): void
        CALLER    : 0x08A110DD (supposed _ValidateWrite at 0x007DC2F5)
        THIS      : (objectName=PC_HERO)
        A0        : (name=S_1HRUNL, id=70)
        A1        : 0
        THIS      : (objectName=PC_HERO)
        TIME      : 28
    THIS      : (objectName=PC_HERO, enemy=0x00000000, human_ai=((npc=PC_HERO, wmode=2, wLevel=0, oldWLevel=0), aiCam=(underWater=0)))
    RESULT    : 0
    TIME      : 171

+oCNpc::EV_AttackRun(oCMsgAttack*): int
    CALLER    : 0x0074BC47 (supposed oCNpc::OnMessage at 0x0074B020)
    THIS      : (objectName=PC_HERO, enemy=0x00000000, human_ai=((npc=PC_HERO, wmode=2, wLevel=0, oldWLevel=0), aiCam=(underWater=0)))
    A0        : 0x418AE3D8
    +zCModel::StartAni(zCModelAni*,int): void
        CALLER    : 0x08A110DD (supposed _ValidateWrite at 0x007DC2F5)
        THIS      : (objectName=PC_HERO)
        A0        : (name=S_1HRUNL, id=70)
        A1        : 0
        THIS      : (objectName=PC_HERO)
        TIME      : 29
    THIS      : (objectName=PC_HERO, enemy=0x00000000, human_ai=((npc=PC_HERO, wmode=2, wLevel=0, oldWLevel=0), aiCam=(underWater=0)))
    RESULT    : 0
    TIME      : 236

+oCNpc::EV_AttackRun(oCMsgAttack*): int
    CALLER    : 0x0074BC47 (supposed oCNpc::OnMessage at 0x0074B020)
    THIS      : (objectName=PC_HERO, enemy=0x00000000, human_ai=((npc=PC_HERO, wmode=2, wLevel=0, oldWLevel=0), aiCam=(underWater=0)))
    A0        : 0x418AE3D8
    +zCModel::StartAni(zCModelAni*,int): void
        CALLER    : 0x08A110DD (supposed _ValidateWrite at 0x007DC2F5)
        THIS      : (objectName=PC_HERO)
        A0        : (name=S_1HRUNL, id=70)
        A1        : 0
        THIS      : (objectName=PC_HERO)
        TIME      : 30
    THIS      : (objectName=PC_HERO, enemy=0x00000000, human_ai=((npc=PC_HERO, wmode=2, wLevel=0, oldWLevel=0), aiCam=(underWater=0)))
    RESULT    : 0
    TIME      : 170

+oCNpc::EV_AttackRun(oCMsgAttack*): int
    CALLER    : 0x0074BC47 (supposed oCNpc::OnMessage at 0x0074B020)
    THIS      : (objectName=PC_HERO, enemy=0x00000000, human_ai=((npc=PC_HERO, wmode=2, wLevel=0, oldWLevel=0), aiCam=(underWater=0)))
    A0        : 0x418AE3D8
    +zCModel::StartAni(zCModelAni*,int): void
        CALLER    : 0x08A110DD (supposed _ValidateWrite at 0x007DC2F5)
        THIS      : (objectName=PC_HERO)
        A0        : (name=S_1HRUNL, id=70)
        A1        : 0
        THIS      : (objectName=PC_HERO)
        TIME      : 31
    THIS      : (objectName=PC_HERO, enemy=0x00000000, human_ai=((npc=PC_HERO, wmode=2, wLevel=0, oldWLevel=0), aiCam=(underWater=0)))
    RESULT    : 0
    TIME      : 174

+oCNpc::EV_AttackRun(oCMsgAttack*): int
    CALLER    : 0x0074BC47 (supposed oCNpc::OnMessage at 0x0074B020)
    THIS      : (objectName=PC_HERO, enemy=0x00000000, human_ai=((npc=PC_HERO, wmode=2, wLevel=0, oldWLevel=0), aiCam=(underWater=0)))
    A0        : 0x418AE3D8
    +zCModel::StartAni(zCModelAni*,int): void
        CALLER    : 0x08A110DD (supposed _ValidateWrite at 0x007DC2F5)
        THIS      : (objectName=PC_HERO)
        A0        : (name=S_1HRUNL, id=70)
        A1        : 0
        THIS      : (objectName=PC_HERO)
        TIME      : 30
    THIS      : (objectName=PC_HERO, enemy=0x00000000, human_ai=((npc=PC_HERO, wmode=2, wLevel=0, oldWLevel=0), aiCam=(underWater=0)))
    RESULT    : 0
    TIME      : 175

+oCNpc::EV_AttackRun(oCMsgAttack*): int
    CALLER    : 0x0074BC47 (supposed oCNpc::OnMessage at 0x0074B020)
    THIS      : (objectName=PC_HERO, enemy=0x00000000, human_ai=((npc=PC_HERO, wmode=2, wLevel=0, oldWLevel=0), aiCam=(underWater=0)))
    A0        : 0x418AE3D8
    +zCModel::StartAni(zCModelAni*,int): void
        CALLER    : 0x08A110DD (supposed _ValidateWrite at 0x007DC2F5)
        THIS      : (objectName=PC_HERO)
        A0        : (name=S_1HRUNL, id=70)
        A1        : 0
        THIS      : (objectName=PC_HERO)
        TIME      : 31
    THIS      : (objectName=PC_HERO, enemy=0x00000000, human_ai=((npc=PC_HERO, wmode=2, wLevel=0, oldWLevel=0), aiCam=(underWater=0)))
    RESULT    : 0
    TIME      : 254

+oCNpc::EV_AttackRun(oCMsgAttack*): int
    CALLER    : 0x0074BC47 (supposed oCNpc::OnMessage at 0x0074B020)
    THIS      : (objectName=PC_HERO, enemy=0x00000000, human_ai=((npc=PC_HERO, wmode=2, wLevel=0, oldWLevel=0), aiCam=(underWater=0)))
    A0        : 0x418AE3D8
    +zCModel::StartAni(zCModelAni*,int): void
        CALLER    : 0x08A110DD (supposed _ValidateWrite at 0x007DC2F5)
        THIS      : (objectName=PC_HERO)
        A0        : (name=S_1HRUNL, id=70)
        A1        : 0
        THIS      : (objectName=PC_HERO)
        TIME      : 30
    THIS      : (objectName=PC_HERO, enemy=0x00000000, human_ai=((npc=PC_HERO, wmode=2, wLevel=0, oldWLevel=0), aiCam=(underWater=0)))
    RESULT    : 0
    TIME      : 174

+oCNpc::EV_AttackRun(oCMsgAttack*): int
    CALLER    : 0x0074BC47 (supposed oCNpc::OnMessage at 0x0074B020)
    THIS      : (objectName=PC_HERO, enemy=0x00000000, human_ai=((npc=PC_HERO, wmode=2, wLevel=0, oldWLevel=0), aiCam=(underWater=0)))
    A0        : 0x418AE3D8
    +zCModel::StartAni(zCModelAni*,int): void
        CALLER    : 0x08A110DD (supposed _ValidateWrite at 0x007DC2F5)
        THIS      : (objectName=PC_HERO)
        A0        : (name=S_1HRUNL, id=70)
        A1        : 0
        THIS      : (objectName=PC_HERO)
        TIME      : 30
    THIS      : (objectName=PC_HERO, enemy=0x00000000, human_ai=((npc=PC_HERO, wmode=2, wLevel=0, oldWLevel=0), aiCam=(underWater=0)))
    RESULT    : 0
    TIME      : 189

+oCNpc::EV_AttackRun(oCMsgAttack*): int
    CALLER    : 0x0074BC47 (supposed oCNpc::OnMessage at 0x0074B020)
    THIS      : (objectName=PC_HERO, enemy=0x00000000, human_ai=((npc=PC_HERO, wmode=2, wLevel=0, oldWLevel=0), aiCam=(underWater=0)))
    A0        : 0x418AE3D8
    +zCModel::StartAni(zCModelAni*,int): void
        CALLER    : 0x08A110DD (supposed _ValidateWrite at 0x007DC2F5)
        THIS      : (objectName=PC_HERO)
        A0        : (name=S_1HRUNL, id=70)
        A1        : 0
        THIS      : (objectName=PC_HERO)
        TIME      : 28
    THIS      : (objectName=PC_HERO, enemy=0x00000000, human_ai=((npc=PC_HERO, wmode=2, wLevel=0, oldWLevel=0), aiCam=(underWater=0)))
    RESULT    : 0
    TIME      : 171

+oCNpc::EV_AttackRun(oCMsgAttack*): int
    CALLER    : 0x0074BC47 (supposed oCNpc::OnMessage at 0x0074B020)
    THIS      : (objectName=PC_HERO, enemy=0x00000000, human_ai=((npc=PC_HERO, wmode=2, wLevel=0, oldWLevel=0), aiCam=(underWater=0)))
    A0        : 0x418AE3D8
    +zCModel::StartAni(zCModelAni*,int): void
        CALLER    : 0x08A110DD (supposed _ValidateWrite at 0x007DC2F5)
        THIS      : (objectName=PC_HERO)
        A0        : (name=S_1HRUNL, id=70)
        A1        : 0
        THIS      : (objectName=PC_HERO)
        TIME      : 28
    THIS      : (objectName=PC_HERO, enemy=0x00000000, human_ai=((npc=PC_HERO, wmode=2, wLevel=0, oldWLevel=0), aiCam=(underWater=0)))
    RESULT    : 0
    TIME      : 174

+oCNpc::EV_AttackRun(oCMsgAttack*): int
    CALLER    : 0x0074BC47 (supposed oCNpc::OnMessage at 0x0074B020)
    THIS      : (objectName=PC_HERO, enemy=0x00000000, human_ai=((npc=PC_HERO, wmode=2, wLevel=0, oldWLevel=0), aiCam=(underWater=0)))
    A0        : 0x418AE3D8
    +zCModel::StartAni(zCModelAni*,int): void
        CALLER    : 0x08A110DD (supposed _ValidateWrite at 0x007DC2F5)
        THIS      : (objectName=PC_HERO)
        A0        : (name=S_1HRUNL, id=70)
        A1        : 0
        THIS      : (objectName=PC_HERO)
        TIME      : 31
    THIS      : (objectName=PC_HERO, enemy=0x00000000, human_ai=((npc=PC_HERO, wmode=2, wLevel=0, oldWLevel=0), aiCam=(underWater=0)))
    RESULT    : 0
    TIME      : 195

+oCNpc::EV_AttackRun(oCMsgAttack*): int
    CALLER    : 0x0074BC47 (supposed oCNpc::OnMessage at 0x0074B020)
    THIS      : (objectName=PC_HERO, enemy=0x00000000, human_ai=((npc=PC_HERO, wmode=2, wLevel=0, oldWLevel=0), aiCam=(underWater=0)))
    A0        : 0x418AE3D8
    +zCModel::StartAni(zCModelAni*,int): void
        CALLER    : 0x08A110DD (supposed _ValidateWrite at 0x007DC2F5)
        THIS      : (objectName=PC_HERO)
        A0        : (name=S_1HRUNL, id=70)
        A1        : 0
        THIS      : (objectName=PC_HERO)
        TIME      : 34
    THIS      : (objectName=PC_HERO, enemy=0x00000000, human_ai=((npc=PC_HERO, wmode=2, wLevel=0, oldWLevel=0), aiCam=(underWater=0)))
    RESULT    : 0
    TIME      : 218

+oCNpc::EV_AttackRun(oCMsgAttack*): int
    CALLER    : 0x0074BC47 (supposed oCNpc::OnMessage at 0x0074B020)
    THIS      : (objectName=PC_HERO, enemy=0x00000000, human_ai=((npc=PC_HERO, wmode=2, wLevel=0, oldWLevel=0), aiCam=(underWater=0)))
    A0        : 0x418AE3D8
    +zCModel::StartAni(zCModelAni*,int): void
        CALLER    : 0x08A110DD (supposed _ValidateWrite at 0x007DC2F5)
        THIS      : (objectName=PC_HERO)
        A0        : (name=S_1HRUNL, id=70)
        A1        : 0
        THIS      : (objectName=PC_HERO)
        TIME      : 31
    THIS      : (objectName=PC_HERO, enemy=0x00000000, human_ai=((npc=PC_HERO, wmode=2, wLevel=0, oldWLevel=0), aiCam=(underWater=0)))
    RESULT    : 0
    TIME      : 174

+oCNpc::EV_AttackRun(oCMsgAttack*): int
    CALLER    : 0x0074BC47 (supposed oCNpc::OnMessage at 0x0074B020)
    THIS      : (objectName=PC_HERO, enemy=0x00000000, human_ai=((npc=PC_HERO, wmode=2, wLevel=0, oldWLevel=0), aiCam=(underWater=0)))
    A0        : 0x418AE3D8
    +zCModel::StartAni(zCModelAni*,int): void
        CALLER    : 0x08A110DD (supposed _ValidateWrite at 0x007DC2F5)
        THIS      : (objectName=PC_HERO)
        A0        : (name=S_1HRUNL, id=70)
        A1        : 0
        THIS      : (objectName=PC_HERO)
        TIME      : 28
    THIS      : (objectName=PC_HERO, enemy=0x00000000, human_ai=((npc=PC_HERO, wmode=2, wLevel=0, oldWLevel=0), aiCam=(underWater=0)))
    RESULT    : 0
    TIME      : 174

+oCNpc::EV_AttackRun(oCMsgAttack*): int
    CALLER    : 0x0074BC47 (supposed oCNpc::OnMessage at 0x0074B020)
    THIS      : (objectName=PC_HERO, enemy=0x00000000, human_ai=((npc=PC_HERO, wmode=2, wLevel=0, oldWLevel=0), aiCam=(underWater=0)))
    A0        : 0x418AE3D8
    +zCModel::StartAni(zCModelAni*,int): void
        CALLER    : 0x08A110DD (supposed _ValidateWrite at 0x007DC2F5)
        THIS      : (objectName=PC_HERO)
        A0        : (name=S_1HRUNL, id=70)
        A1        : 0
        THIS      : (objectName=PC_HERO)
        TIME      : 38
    THIS      : (objectName=PC_HERO, enemy=0x00000000, human_ai=((npc=PC_HERO, wmode=2, wLevel=0, oldWLevel=0), aiCam=(underWater=0)))
    RESULT    : 0
    TIME      : 300

+oCNpc::EV_AttackRun(oCMsgAttack*): int
    CALLER    : 0x0074BC47 (supposed oCNpc::OnMessage at 0x0074B020)
    THIS      : (objectName=PC_HERO, enemy=0x00000000, human_ai=((npc=PC_HERO, wmode=2, wLevel=0, oldWLevel=0), aiCam=(underWater=0)))
    A0        : 0x418AE3D8
    +zCModel::StartAni(zCModelAni*,int): void
        CALLER    : 0x08A110DD (supposed _ValidateWrite at 0x007DC2F5)
        THIS      : (objectName=PC_HERO)
        A0        : (name=S_1HRUNL, id=70)
        A1        : 0
        THIS      : (objectName=PC_HERO)
        TIME      : 30
    +zCModel::StartAni(zCModelAni*,int): void
        CALLER    : 0x006A3E92 (supposed oCAniCtrl_Human::StartAni at 0x006A3DC0)
        THIS      : (objectName=PC_HERO)
        A0        : (name=T_1HRUNR_2_1HRUN, id=330)
        A1        : 0
        THIS      : (objectName=PC_HERO)
        TIME      : 33
    THIS      : (objectName=PC_HERO, enemy=0x00000000, human_ai=((npc=PC_HERO, wmode=2, wLevel=0, oldWLevel=0), aiCam=(underWater=0)))
    RESULT    : 0
    TIME      : 265

+oCNpc::EV_AttackRun(oCMsgAttack*): int
    CALLER    : 0x0074BC47 (supposed oCNpc::OnMessage at 0x0074B020)
    THIS      : (objectName=PC_HERO, enemy=0x00000000, human_ai=((npc=PC_HERO, wmode=2, wLevel=0, oldWLevel=0), aiCam=(underWater=0)))
    A0        : 0x418AE3D8
    THIS      : (objectName=PC_HERO, enemy=0x00000000, human_ai=((npc=PC_HERO, wmode=2, wLevel=0, oldWLevel=0), aiCam=(underWater=0)))
    RESULT    : 0
    TIME      : 148
 

gotik671games

Участник форума
Регистрация
11 Мар 2024
Сообщения
3
Благодарности
0
Баллы
5
Как вернуть цифру 3 для биндов? Даже после удаления плагина цифры 3 и 4 дублируются на биндах, а на 3 больше ничё назначить невозможно. Сильно раздражает.
 

Gratt


Модостроитель
Регистрация
14 Ноя 2014
Сообщения
3.301
Благодарности
4.636
Баллы
625
gotik671games, есть тут у нас на форуме один тип с каким-то чебурашкой на аватаре. Вы с ним не братья? Ему тоже вечно удалённые плагины играть мешают *gigi*
 

maximka

Участник форума
Регистрация
18 Фев 2011
Сообщения
29
Благодарности
12
Баллы
170
Я не понимаю как его включить, что-бы мод в стиме установился достаточно подписаться на него и все? В настройках эти модификации у меня с галочкой. Отключил систему ввода стим, enableJoystick = 0, может в настройках самой игры его нужно где-то включить?
PS Все разобрался нужно было в свойствах игры в стиме включить бета версию workshop.
 
Последнее редактирование:

Andr1971

Участник форума
Регистрация
27 Дек 2015
Сообщения
714
Благодарности
574
Баллы
425
Всем привет!Может не сюда пишу.,хотя по идеи именно сюда :)

40cdeaa1d3889606577ce92b82479ad1.jpg
Если конкретно,.Привык к Готике 1,2.Играю без мыши ,от слова совсем.
Вот хотелось бы купить геймпад ,подходящий под всю Готику ,плюс всякие Ризены,Ведьмаки Смуты и что там вышлол за последние 10 лети.Чтоб перестроится один раз и было б все хорошо..Такая вот несмешная история.Не охота перестраиваться каждый раз.
И хочется и конфет поесть и чтоб рыбка не пропалА.
Как-то так.

Прошу помощи!

Gratt,Xeдин,Slavemaster .Надеюсь так же на всех готоманов.Все советы будут не лишние.

З.Ы.Можно в личку советы.
Заранее всем спасибо!
 

Gratt


Модостроитель
Регистрация
14 Ноя 2014
Сообщения
3.301
Благодарности
4.636
Баллы
625
Ниченепонял
Надо то что?
 

Gratt


Модостроитель
Регистрация
14 Ноя 2014
Сообщения
3.301
Благодарности
4.636
Баллы
625
Если надо норм геймпад, вот пример хороших на датчиках холла.
8BitDo Ultimate
GuliKit KK3 MAX
GuliKit King Kong 2 pro

Дорого? Зато не говно, которое нужно менять или обслуживать 12 раз в год. И все ещё дешевле оригинальных хбоксов и дуалшоков с ущербными потенциометрами и скрипучими корпусами. Себе брал последний и допом стики разной длины.
 

Xeдин


Модостроитель
Регистрация
3 Дек 2008
Сообщения
1.448
Благодарности
1.976
Баллы
365
Вот хотелось бы купить геймпад ,подходящий под всю Готику
Только еще учти что во многие сложные моды для Готики (НБ, Грядное Болото и куча других) ты просто так не сможешь с геймпадом поиграть из-за огромного кол-ва комбинаций и фич в модах, которые или сложно или невозможно забиндить в плагине. Некоторые правда в том же НБ играют не только с плагином геймпада, но еще и параллельно используют что-то типа reWASD и тогда можно как-то все это дело разрулить.
 
Последнее редактирование:
Сверху Снизу