Другой подход к созданию диалогов |
Здравствуйте, гость ( Вход | Регистрация )
Другой подход к созданию диалогов |
Jan 3 2008, 20:03
Сообщение
#1
|
|
Level 3 Класс: Обыватель Характер: Lawful Good Раса: Человек |
Недавно была необходимость сделать диалоги для большого кол-ва NPC. Понял наскоко это неудобно(надо каждого НПС создавать диалог, а что если ему надо сказать просто "Здрасте", а игрок всего лишь должен ответить "Здраствуй"). Или надо использовать скрипты, а в них что-то вроде:
Neverwinter Script Source if( GetTag( OBJECT_SELF=="1" ) ) { return TRUE; } else if ... Думаю вы знаете как это делается=). А что если нужно создать диалог с проверками/действиями? Приходится использовать скрипты... причем коль-во скриптов может резко увеличится, в зависимости от кол-ва проверок/действий. Пример создать диалог в котором в зависимости от лвл игрока давалась 100 или 300 или 400 экспы, при этом были бы разные ответы НПС и игрока. Экспа должна даваться при ответе игрока. Это довольно простой пример, но даже здесь надо создать больше чем 1 скрипт. А что если я вообще не знаю как обращаться со скриптами? Я предлагаю создавать диалоги иначе. Как, смотрите ЗДЕСЬ. Все что приведено, - работает и проверено. Для того чтобы добавить систему к вашему модулю, надо включить в него 1 erf. Если тем что здесь описано заинтересуется кто нить(прошу напишите об этом), то добавлю эту .erf'ку, буду объяснять непонятные моменты и совершенствовать систему. На данный момент тестил в НВН1, но легко можно перенести и в НВН2. зы сори за грамотность. Добавлено через 13 минуты 30 Добавил ссылку, а то читать так не удобно... пройдите по ссылке, там тепереь все что надо=) Сообщение отредактировал san - Jan 3 2008, 20:02 |
Jan 3 2008, 21:46
Сообщение
#2
|
|
Level 5 Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени |
SetHeaderCD( "Эта фраза появится если игрок взял квест, но не выполнил#IF={( PL[quest]=1 )}", TRUE );
ты думаешь такая конструкция покажется проще тому, кто скрипты не знает? имхо нет (IMG:style_emoticons/kolobok_light/smile.gif) Фактически ты заменил скриптовой синтаксис своим, ввел пару правил, убрал ненужный для диалогов функционал, слил простенькие скрипты с диалогами. Имхо это замена шила на мыло. + такая схема позволяет сделать только совсем простенькие диалоги. Циклы внутри тут тоже не предусмотрены? (банальный пример: у игрока 4 вопроса, которые он может задавать в произвольном порядке. Ну обычный вариант распроса прохожего. Как это у тебя будет выглядеть? В редакторе диалогов это делается линковкой.) да и когда текст диалога в скрипте, это имхо не очень способствует наглядности. Вопрос, нужно ли юзеру изучать не простую схему, новый синтаксис для того, чтобы делать простенькие диалоги, при том, что остальные ему придется делать по старинке? честно говоря я хз. |
Текстовая версия | Сейчас: 13th June 2024 - 07:20 |