Уважаемые гости и новички, приветствуем Вас на нашем форуме
Здесь вы можете найти ответы практически на все свои вопросы о серии игр «Готика» (в том числе различных модах на нее), «Ведьмак», «Ризен», «Древние свитки», «Эра дракона» и о многих других играх. Можете также узнать свежие новости о разработке новых проектов, восхититься творчеством наших форумчан, либо самим показать, что вы умеете. Ну и наконец, можете обсудить общие увлечения или просто весело пообщаться с посетителями «Таверны».
Чтобы получить возможность писать на форуме, оставьте сообщение в этой теме.
Вы используете устаревший браузер. Этот и другие сайты могут отображаться в нём некорректно. Вам необходимо обновить браузер или попробовать использовать другой.
kraw, 1-й, не уверен что выполнимо, ибо при запуске расписания и при условии что нпс выходит из видимости обзора Гг двиг телепортирует НПС куда нужно, удастся ли обойти это непонятно...
2-й, не интересовался дверьми, но если попробовать прикрутить им возможность взаимодействия с ними Непесям, т.е. наделать анимаций и прочее, то мож и в полне прокатит, при условии что Непесь будет всегда в поле видимости Гг...
1. Тут все просто, делаем реплейс функции(г2екст), которая собсно и удаляет нпс из мира, когда нпс выпадает из поля зрения гг
2. Тоже г2екст, у мну для этого выведенно несколько функций:
Mob_SetLocked(string mobname,int locked); где locked состояние замка, 1 закрыт/0 открыт/-1 невозможно открыть
Mob_SetPickLockStr(string mobname,string str); где str комбинация замка
string mobname = имя двери/сундука и прочих объектов дочерних oCMobLockable
3. думаю нету.
Тоже самое можно сделать или через B_AssessPlayer() или через циклический триггер повесив на восприятия (или расстояние). Есть только одно но: очень многие игроки играют на запредельной дальности прорисовки, и как следствие - НПС отрисовывается, стоит как пень, по мере приближения к нему двиг начинает отрабатывать дальность восприятий - и на глазах ГГ этот НПС просто испарится.
kraw написал(а):
2. Можно ли из скриптов (из диалога) управлять "запертостью" двери. Т. е. в диалоге сделать так, чтобы дверь стала запертой?
Можно пойти простым игровым путем: есть дверь, у ГГ есть ключ от нее, во время диалога собеседник просто "настоятельно-вежливо" просит отдать ему этот ключ. Ключ изъять из инвентаря не проблема.
Как это аккуратно и красиво вписать - надо смотреть по сюжету.
Или если дверь уже была открыта - можно попробовать поставить "заглушку" через мувер.
Идея такая, чтобы сделать у помещений двери. Но если просто сделать двери, то персонажи в пределах видимости не могут через них пройти. Если бы они при этом проходили...
Другая идея, нужно, чтобы после определенного монолога некая дверь была в какие-то моменты заперта, т. е. гг не должен иметь возможности через нее проходить в определенные часы игровых суток.
Как вариант делать дверь не мобси а обычным вобом с привязанным мувером. Таким образом можно запирать двери в нужные моменты через триггер скрипт. Проблема в том, что скорее всего постоянно гонять триггер открывая/закрывая дверь не получится, хотя... если поставить проверку в триггерскрипте на гг, если не выполнены условия, то при приближении гг дверь не открывается, а если не гг, то дверь при приближении нпс открывается и за ним закрывается...
hell9999,
Придумываешь лишние сложности На обычную дверь также как и на лебедку из Г1 можно поставить условие через скриптовую функцию conditionFunc, при которой ГГ не сможет ее использовать в определенное время.
А можно сделать "привратника", некого персонажа, который будет, например, в толще скалы. И у него будет некая функция расписания, по которой он будет открывать и закрывать дверь (двигать мувер).
kraw, для этих целей всегда пользовался невидимый митбаг, у мня он где-то вычещенный был, без саунд фх-сов и прочего, полностью невидивый в игре. Найду в архивах скину, пользуй...
Я невидимого "митбага" использовал в НМ вместо триггера.
Хотя, похоже, для данного случая я ломлюсь в открытую дверь. У дверей же будут стоять по охраннику. Может удастся заставить их открывать и закрывать двери.
А в другом случае (там нужно будет не закрывать/открывать, а делать запертой/отпертой), придется немного помудрить.
kraw, для этих целей всегда пользовался невидимый митбаг, у мня он где-то вычещенный был, без саунд фх-сов и прочего, полностью невидивый в игре. Найду в архивах скину, пользуй...
В чем сложности?
Получаешь ссылку на инстанцию
c_item Npc_GetEquippedArmor (c_npc n0); - возвращает доспехи, которыми экипирован НПС n0.
и эти доспехи одеваешь на напарника.
В туторе VAMa все разжевано довольно подробно.
B_GiveInvItems() - функция передачи предметов.
Попробуй разобраться каким образом она работает и найди нужные места для исправления.
Обрати внимание на выделенный фрагмент:
const int YPOS_GoldGiven = 34;
const int YPOS_GoldTaken = 34;
const int YPOS_ItemGiven = 37;
const int YPOS_ItemTaken = 40;
Как раз из за совпадений координат по оси y происходят наложения.
Точно не помню, но могу предположить, что наложения текста происходят из за того, что одновременно и получаются вещи и отдаются.
Поэтому этот вопрос: "на подумать". Я думаю он не такой сложный.
Да нет, как раз подходит. Нужно было лишь преобразовать типы через функцию Hlp_GetInstanceID(). На входе подставляешь у неё тип c_item, а на выходе получаешь int.
как мне телепортироваться к дракону нежити из OldWorld?
Нужно сначала загрузить уровень, а потом уже в Init или StartUp этого загруженного уровня прописать:
AI_Teleport(hero,"WP");
где "WP" - это точка или waypoint рядом с тем, к кому хочешь телепортировать ГГ.
Проще всех открыть тот же самый zen с драконом и поставить в нужное место "STARTUP" Vob.
Смешные какие-то у тебя вопросы или ты ради прикола тут расспрашиваешь всех?
На данном сайте используются файлы cookie, чтобы персонализировать контент и сохранить Ваш вход в систему, если Вы зарегистрируетесь.
Продолжая использовать этот сайт, Вы соглашаетесь на использование наших файлов cookie.