![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
![]() ![]()
Сообщение
#1
|
|
Level 3 ![]() Класс: Маг Характер: True Neutral Раса: Нежить ![]() |
Игра будет совсем неинтересной если в ней будут одинаковые квесты.Квесты должны быть разные:На убийство,на кражу,на информацию...
Я собственно этого пока как раз не умею и прошу помочь мне: Мне надо сделать зависымый диалог,Пример:Подходишь к мужику "Йоу,мэн на меня тот крендель наехал, разберись с этим рогаликом недоеденым",подходишь к Кренделю "Я его больше не больше не буду обижать и т.п.).Мне ,собственно,надо сделать так,что бы второй диалог без первого не начался. ТОКА ОБЬЯСНИТЕ ПОНЯТНО И НЕ ГОВОРИТЕ,ЧТО В ДОКЕ ВСЕ НАПИСАНО!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! (IMG:style_emoticons/kolobok_light/shout.gif) (IMG:style_emoticons/kolobok_light/shout.gif) (IMG:style_emoticons/kolobok_light/shout.gif) (IMG:style_emoticons/kolobok_light/shout.gif) (IMG:style_emoticons/kolobok_light/shout.gif) (IMG:style_emoticons/kolobok_light/shout.gif) (IMG:style_emoticons/kolobok_light/shout.gif) (IMG:style_emoticons/kolobok_light/shout.gif) |
![]() |
![]()
Сообщение
#2
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
отдельного инструментария для квестов нет. Вся внутриигровая логика квестов - на скриптах, которые сам сделаешь. Поэтому тебе нужно запоминать что игрок сделал то или иное, чтобы потом использовать. Запоминают обычно в локальные переменные.
Простой пример на основе твоего варианта 1, дальше думаю сам сможешь: Разговор с НПС1, согласие игрока на выполнение задания - ставим на фразу игрока скрипт с установкой локальной переменной "Q_KILL_NPC2" (пусть она будет на игрока) равной 1. В скрипте на смерть НПС2 (в его слотах) проверяй переменную Q_KILL_NPC2 и если она была 1, ставь ее 2. В разговоре с НПС1 сделай фразу игрока "я выполнил задание" чтобы она появлялась, если переменная Q_KILL_NPC2 равна 2. После фразы игрока про выполнение задания, давай награду и меняй значение переменной на 3. Вот так, приблизительно, все квесты делаются. Добавляешь еще журнальные записи (лучше скриптами, не через опции диалогов, а то потом исправлять сложнее), делаешь проверку чтобы НПС2 не убили до выдачи задания (скажем в случае если НПС2 убили, а квестовая переменная еще равна 0, то делать ее -1, и квест не выдавать, если переменная -1). Таким же методом расписываются все другие твои ситуации в той или иной степени. Скажем с предметом проще, там наличие предмета можно в диалоге проверять. в целом, все довольно просто, проще чем кажется после прочтения описания. Но нужно иметь хотя бы базовые навыки скриптования, те уметь работать с локальными переменными, уметь правильно выбирать объекты (игрока, собеседника, объекты по тэгу и тд), уметь работать со скриптами в слотах. Если этого всего нет - не следует сходу хвататься за квесты. Лучше немного подучить скриптинг. |
![]() ![]() |
Текстовая версия | Сейчас: 14th June 2025 - 06:36 |