![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
![]()
Сообщение
#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 |
![]() |
![]()
Сообщение
#2
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
И скоко же у тебя твоих диалогов было? И че прикольно искать, какой то диалог в куче других, чтобы исправить 1-2 буквы? у меня больше 70 сюжетных/квестовых диалогов было - никаких проблем с поиском нужного - нормальная система именования диалогов. Более того, у меня скриптов больше 2300 было, где-то четверть - диалоговые. и тоже никаких проблем с поиском нужного (опять выручила система имен). Чтобы поправить какое-то скриптовое место в диалоге мне зачастую не нужно было его (диалог) открывать, я и так знал какие скрипты там стоят. проблемы с диалогами были в их архитектуре. Грамотно линковать между собой разные линии, чтобы по тексту не было нестыковок. И вот в такой работе ненаглядность - ну очень помешает. большая часть времени при работе с диалогом уходит на текст и на структуру. Скрипты занимают очень скромное место. И это при том, что у меня диалоги содержали скрипты в среднем на каждой третьей фразе, а некоторые диалоги (прохожего обычного), так вообще по 1-2 скрипта на каждой фразе имели. имхо больше работу упростит не совмещение диалог-скрипт, а написание удобных систем для квестов (установка/проверка состояний квестов + работа с журналом) и для диалогов (ввод основных, общих для всех НПС локалок и работа с ними. На этих общих/системных локалках я сэкономил несколько сотен скриптов как минимум) |
![]() ![]() |
Текстовая версия | Сейчас: 14th June 2025 - 00:27 |