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

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

Не стесняюсь спросить....

Saturas


Модостроитель
Регистрация
11 Фев 2009
Сообщения
2.512
Благодарности
1.334
Баллы
315
А сложно зайти в справочные файлы готик сорсера?
Код:
// показывает, завершен ли диалог (возвращает 0 во время диалога и 1 после окончания диалога).
func int InfoManager_HasFinished();
Вообще видимо непосильная задача.
 

ElderGamer


Модостроитель
Регистрация
16 Апр 2008
Сообщения
4.407
Благодарности
3.232
Баллы
525
Как проверить ведет ли ГГ с кем-то диалог?
Как вариант, в режиме диалога у ГГ и у его собеседника изменяется значение переменной aivar[AIV_INVINCIBLE]. Правда, она может изменяться ещё при взаимодействии с мобси-объектами.

А вот встречный вопрос к спецам. Как зафиксировать момент окончания одной инстанции диалога, если по его завершении не следует выход из режима диалога (появляется список инстанций других диалогов)?
 

hell9999

Участник форума
Регистрация
12 Апр 2008
Сообщения
2.049
Благодарности
1.168
Баллы
340

Saturas


Модостроитель
Регистрация
11 Фев 2009
Сообщения
2.512
Благодарности
1.334
Баллы
315
Как вариант, в режиме диалога у ГГ и у его собеседника изменяется значение переменной aivar[AIV_INVINCIBLE]. Правда, она может изменяться ещё при взаимодействии с мобси-объектами.

А вот встречный вопрос к спецам. Как зафиксировать момент окончания одной инстанции диалога, если по его завершении не следует выход из режима диалога (появляется список инстанций других диалогов)?
По смотри в справке сорсера, там много чего интересного есть.
.
Флаг поставить и проверку на него?
Какой еще флаг лол? Тут не знают как юзать флаги в готике, да и вообще флаги, все думают что флаг это переменная которая либо тру либо фолс.
 

Orc Hunter


Модостроитель
Регистрация
12 Окт 2013
Сообщения
1.269
Благодарности
1.667
Баллы
305
Спасибо, получилось. Я написал неплохой скрипт на спринт и сейчас исправляю недоработки. Если вовремя бега зажать shift ГГ переключается на спринт(как в Готике 3).

Никак не могу придумать как в ситуации когда ГГ заканчивает бежать и при этом зажать shift, запретить ему переключатся на спринт? Когда ГГ чуть чуть постоит и зажать shift он нормально пойдет медленным шагом, а если зажать сразу как только перестал бежать то он снова переключится на спринт, подскажите как профиксить этот момент?

Все, уже не надо, сам разобрался.
 
Последнее редактирование:

ElderGamer


Модостроитель
Регистрация
16 Апр 2008
Сообщения
4.407
Благодарности
3.232
Баллы
525
Флаг поставить и проверку на него?
Каюсь, но не понял.
По смотри в справке сорсера, там много чего интересного есть.
Было дело, пару раз туда заглядывал. Если не трудно, ткни пальцем.

Смысл вот в чём. Функции записи в дневник и начисление опыта (и левелап, как следствие) выполняются в самом начале текущего диалога. Это сопровождается выводом текстов на экран и воспроизведением звуковых эффектов. Но в некоторых диалогах не всегда понятно в самом начале, чем диалог закончится. Досрочное выведение надписей и звуки зачастую нарушают логику. Хотелось бы понять, как сделать так, чтобы вызов функций работы с дневником и начисление опыта происходили после завершения текущего диалога. Если окончание текущего диалога сопровождается выходом из режима диалога, то отследить этот момент легко. А вот как быть, если состояние диалога сохраняется?

Пробовал зафиксировать момент выполнения кондишн-функций других диалогов непися. Но они выполняются почти сразу же после начала текущего диалога. Может помочь проигрывание фейковой анимации, однако, возможно, есть более приемлемый способ.

как в ситуации когда ГГ заканчивает бежать и при этом зажать shift
Попробуй принудительно заставить ГГ остановиться: AI_Standup(hero) или AI_StandupQuick(hero).

Но советую повнимательнее обдумать эту фичу. В Г3, благодаря спринту, ГГ может уже в самом начале игры оббегать всю карту. И это не есть хорошо, как мне кажется. В Г1, Г2 от большинства монстров тоже можно убежать, поскольку они быстро прекращают преследование. Наличие дармового спринта на ранних этапах игры может отрицательно повлиять на игровую механику.

P. S.
ГГ переключается на спринт(как в Готике 3)
Недавно заметил эту фичу на кадрах их той самой Альфы. ;)
 

Orc Hunter


Модостроитель
Регистрация
12 Окт 2013
Сообщения
1.269
Благодарности
1.667
Баллы
305
Механику не подпортит, он реализован как ннавык, причем 2 уровневый - первый уровень стоит 10 очков обучения и бежит 8 секунд, второй 20 очков обучения и бежит 16 секунд, так что халявы не будет.

P.S. Не кажется не честным что какой-то полу-дохлый рудокоп может спокойно срулить от ГГ используя спринт?
 
Последнее редактирование:

alex_draven


Модостроитель
Регистрация
13 Сен 2007
Сообщения
2.183
Благодарности
2.880
Баллы
420
Недавно заметил эту фичу на кадрах их той самой Альфы.
Аналогично.

Механику не подпортит, он реализован как навык...
Если в качестве спринта используется Humans_Sprint.MDS, то это хренотень, а не спринт. Независимо от качества исходного кода.

Неплохо сделано в анклаве с некоторым ускорением исходных движений. Этот вариант более приятный на глаз, если нет задачи серьезно мастерить новые анимации под это дело.
 

alex_draven


Модостроитель
Регистрация
13 Сен 2007
Сообщения
2.183
Благодарности
2.880
Баллы
420
Наверно. Это к Сатурасу лучше)
В целом, если рассматривать ситуацию с точки зрения разработчика, правильнее завести отдельные фазы анимации для каждого режима бега - с оружием и без. Нажатие клавиши активирует таймер и соответствующий режим бега. Скрипты считают выносливость: как только иссякает, спринт прекращается и осуществляется переход в обычный бег. В Скайриме так сделано. Можно даже FOV камеры динамино менять на время ускорения для придания лучшего эффекта.

Сам Humans_sprint не предполагает нормального бега с оружием: там такой ахтунг, что лучше не включать вообще.
 

Orc Hunter


Модостроитель
Регистрация
12 Окт 2013
Сообщения
1.269
Благодарности
1.667
Баллы
305
Может AST?
 

ElderGamer


Модостроитель
Регистрация
16 Апр 2008
Сообщения
4.407
Благодарности
3.232
Баллы
525
Если для фазы анимации прописать модификатор SPD, то анимация может выполняться быстрее, например, вдвое (SPD:50). Не уверен, что прав, но кажется, числовое значение при модификаторе указывает количество кадров в секунду. Нормальное количество 25.
 

Saturas


Модостроитель
Регистрация
11 Фев 2009
Сообщения
2.512
Благодарности
1.334
Баллы
315
Если для фазы анимации прописать модификатор SPD, то анимация может выполняться быстрее, например, вдвое (SPD:50). Не уверен, что прав, но кажется, числовое значение при модификаторе указывает количество кадров в секунду. Нормальное количество 25.
Ну, у нас меняется фпс анимации напрямую для конкретной инстанции анимации, так что эти модификаторы мдс файлов тут не причем.
Каюсь, но не понял.
Было дело, пару раз туда заглядывал. Если не трудно, ткни пальцем.
Смысл вот в чём. Функции записи в дневник и начисление опыта (и левелап, как следствие) выполняются в самом начале текущего диалога. Это сопровождается выводом текстов на экран и воспроизведением звуковых эффектов. Но в некоторых диалогах не всегда понятно в самом начале, чем диалог закончится. Досрочное выведение надписей и звуки зачастую нарушают логику. Хотелось бы понять, как сделать так, чтобы вызов функций работы с дневником и начисление опыта происходили после завершения текущего диалога. Если окончание текущего диалога сопровождается выходом из режима диалога, то отследить этот момент легко. А вот как быть, если состояние диалога сохраняется?
Пробовал зафиксировать момент выполнения кондишн-функций других диалогов непися. Но они выполняются почти сразу же после начала текущего диалога. Может помочь проигрывание фейковой анимации, однако, возможно, есть более приемлемый способ.
Попробуй принудительно заставить ГГ остановиться: AI_Standup(hero) или AI_StandupQuick(hero).
Но советую повнимательнее обдумать эту фичу. В Г3, благодаря спринту, ГГ может уже в самом начале игры оббегать всю карту. И это не есть хорошо, как мне кажется. В Г1, Г2 от большинства монстров тоже можно убежать, поскольку они быстро прекращают преследование. Наличие дармового спринта на ранних этапах игры может отрицательно повлиять на игровую механику.
P. S.
Недавно заметил эту фичу на кадрах их той самой Альфы. ;)
К слову, в AST есть функция которая вызывается во время каждой новой реплики диалога(и туда собсно передается вся реплика) как вариант.
 

alex_draven


Модостроитель
Регистрация
13 Сен 2007
Сообщения
2.183
Благодарности
2.880
Баллы
420
Если для фазы анимации прописать модификатор SPD, то анимация может выполняться быстрее, например, вдвое (SPD:50).
Есть FPS-ключ. Но он, насколько помню, умеет только замедлять (5, 10, 15 FPS). Ускорять, кажется, нельзя.

Для грубого спринта воздействуем на конкретную фазу анимации из скриптов, ускоряя ее.
 

Saturas


Модостроитель
Регистрация
11 Фев 2009
Сообщения
2.512
Благодарности
1.334
Баллы
315
Есть FPS-ключ. Но он, насколько помню, умеет только замедлять (5, 10, 15 FPS). Ускорять, кажется, нельзя.

Для грубого спринта воздействуем на конкретную фазу анимации из скриптов, ускоряя ее.
Можно ускорять.
 

Orc Hunter


Модостроитель
Регистрация
12 Окт 2013
Сообщения
1.269
Благодарности
1.667
Баллы
305
Такой вопрос - можно-ли полностью перенести в первую Готику заклинание "Смерч" из аддона, вместе с анимацией каста и анимацией кружения жертвы в смерче?
 

Saturas


Модостроитель
Регистрация
11 Фев 2009
Сообщения
2.512
Благодарности
1.334
Баллы
315
А в чем проблемы? взял и перенес.
 

Orc Hunter


Модостроитель
Регистрация
12 Окт 2013
Сообщения
1.269
Благодарности
1.667
Баллы
305
Где прописывать какие анимации гг использует при касте?
 
Сверху Снизу