Вообщем, включаем ноклип, заюзываем учёного, чтобы он шёл за нами, летим и зависаем над обрывом - учёный резко останавливается и говорит, что не пойдёт за нами. Возвращаемся на землю - он снова идёт за нами. Как убрать этот страх падения, чтобы титизены за игроком и в огонь и в воду падали? Я лишь понял, что в этот момент срабатывает { TASK_SET_FAIL_SCHEDULE, (float)SCHED_TARGET_FACE }, // If you fail, bail out of follow т.е. TASK_SET_FAIL_SCHEDULE - фраза, мол "ты чего, фриман?", а если тот же SCHED_TARGET_FACE заменить на SCHED_DIE, то при подходе к обрыву - они будут от страха падать на землю замертво. Но нужно, чтобы шли за игроком в пропасть, как это сделать? Думаю, там всего-то пару строчек изменить надо, но хз
Yo Den писал: Думаю, там всего-то пару строчек изменить надо, но хз
По моим наблюдениям, описание наиболее сложных задач всегда начинается с фразы "полагаю, что там всего-то пару строчек изменить". Отправлено JPEG 27-02-2016 в 10:14:
Цитата:
XaeroX писал: По моим наблюдениям, описание наиболее сложных задач всегда начинается с фразы "полагаю, что там всего-то пару строчек изменить".
Вы не авторизовались, или не имеете доступа к странице.
Отправлено Ku2zoff 27-02-2016 в 14:59:
Цитата:
Yo Den писал: Возвращаемся на землю - он снова идёт за нами. Как убрать этот страх падения, чтобы титизены за игроком и в огонь и в воду падали? Я лишь понял, что в этот момент срабатывает { TASK_SET_FAIL_SCHEDULE,
Ну ага, щяс Во-первых, тут дело в MOVETYPE_STEP. Во-вторых, как ты правильно заметил, щедьюли надо править. Ну и в третьих, действительно, стоит поглядеть код заложников в реверсенных сорцах кс.
Отправлено PLut 27-02-2016 в 16:13:
Я, кстати, уже заводил речь о заложниках из коэс, они и прыгать умеют и по лестницам лазать (на практике не видел, но в коде есть), только вот они юзают совершенно другой тип навигации и к классу монстров не относятся. Чтобы подобное поведение прикрутить монстрам из хл, то надо очень много кода писать. А стырить их в хл очень легко, но толку?
Дело не в MOVETYPE_STEP, а в функции движения монстров (вот эти вот самые WALK_MOVE и MOVE_TO_ORIGIN). Если монстр - не рыба и не птичъка, то код не позволит ему вытащить свое жирное тельце за пределы обрыва. Для проверки этого есть функция SV_CheckBottom. И код этот находится в движке, поэтому придётся как минимум делать собственную имплиминтацию вышеупомянутых функций. Что, впрочем, вполне реально, благо в дллку торчит важная фукнция под названием TRACE_MONSTER_HULL.
Добавлено 27-02-2016 в 23:59:
Цитата:
Yo Den писал: Вообщем, такую штуку пилю
RTS на халфе запилить - дело нехитрое, вопрос - зачем? В нормальных RTS сотни юнитов в кадре, а в халфе даже на современной видимо карте будет в этом случае слайдшоу.
Отправлено JPEG 27-02-2016 в 18:15:
Цитата:
XaeroX писал: RTS на халфе запилить - дело нехитрое, вопрос - зачем?
не, это просто в стиле ртс. А так скорее паззл, типа пройти кучкой людей от А до Б, попутно включая всякие механизмы, типа открытия дверей, чуть наподобие Incredible Machine
Добавлено 27-02-2016 в 21:15:
Цитата:
XaeroX писал: Если монстр - не рыба и не птичъка, то код не позволит ему вытащить свое жирное тельце за пределы обрыва
но ведь сами по себе учёные в игре практически не ходят, ну либо вроде можно во флагах ставить что бы он был idle и при этом реагировал на юз. Т.е. можно ли их преобразовать по поведению в рыбку, можно даже, чтобы двигались также хаотично, главное, чтоб не дёргались при ходьбе?
Рыбке вода нужна. ну поэкспериментируй с флагами FL_SWIM и FL_FLY.
Отправлено Ku2zoff 27-02-2016 в 19:33:
Цитата:
XaeroX писал: ну поэкспериментируй с флагами FL_SWIM и FL_FLY.
Хм. Мне кажется, это неправильный подход. Какой-то грязный хак. Я довольно серьёзно за последние несколько месяцев читал шаренный код монстров, и думаю, что устанавливая подобные флаги обычным ходячим монстрякам, можно напороться на какой-нибудь баг. Помнится, как-то давно я то ли флаг FL_FLY установил барнику, то ли MOVETYPE_FLY... Короче, он перестал спускаться по наклонным поверхностям и ступеням. Продолжал бежать по воздуху на той же высоте, которая была максимальной до "понижения пола".
Добавлено 28-02-2016 в 01:32:
Лучше, думаю, прошерстить код движения и вставить условия для определённых монстров. Благо, сервер позволяет ляпать дофига чего в pev->flags, так что отфильтровать условия не трудно.
Добавлено 28-02-2016 в 01:33:
Скрытый текст:
Этот текст скрытый. Вы должны оставить хотя бы одно сообщение в теме, чтобы его увидеть.
Отправлено Chyvachok 27-02-2016 в 20:00:
Кстати в свен копе помимо стрельбы на ходу монстры там еще тоже могут спрыгивать с обрывов. А вообще прикольно было бы если как-то подправить барников и докторов чтобы они могли полноценно следовать за игроком, мне еще вспомнились сингл моды на УТ, там на уровнях есть дружественные боты вроде барников, они даже могут через обрывы прыгать за игроком, прикольно, только следуют тоже не ахти, только могут легко упасть куда-то и уже до игрока сами не доберуться.
Отправлено XaeroX 28-02-2016 в 05:21:
Ku2zoff
Скрытый текст:
Этот текст скрытый. Вы должны оставить хотя бы одно сообщение в теме, чтобы его увидеть.
Еще есть альтернативный вариант, посмотреть исходники Quake Remake.
Причина: изучите поведение всех монстров на разных плоскостях геометрии и сравните их друг с другом. Какой метод лучший, а?
Отправлено JPEG 28-02-2016 в 08:47:
Цитата:
Ku2zoff писал: MOVETYPE_FLY... Короче, он перестал спускаться по наклонным поверхностям и ступеням. Продолжал бежать по воздуху на той же высоте, которая была максимальной до "понижения пола".
проверил MOVETYPE_FLY - не катит, ученый сохраняет свою первоначальную высоту в воздухе, но в обрыв не идёт. Сейчас проверю флаги
Добавлено 28-02-2016 в 11:32:
Хотя не, флаги не помогут, ведь, если их ставить, то учёные перестанут падать вообще, а нужно, чтоб они всего лишь продолжали следовать за игроком
Добавлено 28-02-2016 в 11:47:
Вот на видео видно в чём трабла. Учёный идёт за игроком, но как только игрок (курсор) зависает над обрывом, учёный резко перестаёт реагировать, как только я возвращаюсь наземь, учёный снова реагирует. Сейчас посмотрю, что за SV_CheckBottom и TRACE_MONSTER_HULL