Город Мастеров
IPB

Здравствуйте, гость ( Вход | Регистрация )

 Правила этого форума ПРАВИЛА РАЗДЕЛА
> Другой подход к созданию диалогов
san
сообщение 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
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
 
Открыть новую тему
Ответов
Lex
сообщение 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 вопроса, которые он может задавать в произвольном порядке. Ну обычный вариант распроса прохожего. Как это у тебя будет выглядеть? В редакторе диалогов это делается линковкой.)
да и когда текст диалога в скрипте, это имхо не очень способствует наглядности.
Вопрос, нужно ли юзеру изучать не простую схему, новый синтаксис для того, чтобы делать простенькие диалоги, при том, что остальные ему придется делать по старинке? честно говоря я хз.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения

Сообщений в этой теме
- san   Другой подход к созданию диалогов   Jan 3 2008, 20:03
- - Lex   имхо слишком сложно, проще разобраться со скриптам...   Jan 3 2008, 20:14
- - san   Подразумевает, просто действительно об этом не нап...   Jan 3 2008, 21:26
- - Lex   SetHeaderCD( "Эта фраза появится если игрок в...   Jan 3 2008, 21:46
- - san   QUOTEЦиклы внутри тут тоже не предусмотрены? Да, м...   Jan 3 2008, 22:09
- - Lex   Цитата(san @ Jan 3 2008, 22:09) object oP...   Jan 3 2008, 23:11
- - azathoth   хм, а почему бы не делать диалоги через диалоги? е...   Jan 3 2008, 23:12
- - Lex   Цитата(san @ Jan 3 2008, 22:09) Мне прост...   Jan 3 2008, 23:15
- - azathoth   а вот .ерф интересно посмотреть на предмет метода ...   Jan 3 2008, 23:29
- - san   QUOTEзы: кстати это гоуту в твоей структуре понятн...   Jan 4 2008, 02:08
- - Lex   Цитата(san @ Jan 4 2008, 02:08) но тогда ...   Jan 4 2008, 02:45
- - san   Самый элементарный способ сделать приложение на AJ...   Jan 4 2008, 12:17
|- - virusman   Цитата(san @ Jan 4 2008, 12:17) Самый эле...   Jan 4 2008, 13:48
- - Белатрис   Я написал за все свое время с тулсетом кучу разных...   Jan 4 2008, 13:13
- - Lex   Цитата(Белатрис @ Jan 4 2008, 13:13) В об...   Jan 4 2008, 13:38
- - san   QUOTEВ общем, ты зря убил время. В целом, по ходу,...   Jan 4 2008, 14:29
|- - virusman   Цитата(san @ Jan 4 2008, 14:29) Раз это н...   Jan 4 2008, 14:40
- - Lex   Цитата(san @ Jan 4 2008, 14:29) И скоко ж...   Jan 4 2008, 14:53
- - azathoth   san, если ты это писал для себя -- молодец, а вот ...   Jan 4 2008, 15:23
- - Белатрис   Цитата(san @ Jan 4 2008, 22:29) И че прик...   Jan 5 2008, 03:39
- - gennady   San, для уменьшения количества скриптов нужно прос...   Jan 5 2008, 09:12
- - Aiwan   Пять юаней. Периодически у многих возникает желани...   Jan 5 2008, 12:02
- - Sairilias   У нас в сейчас активно используется около 30 униве...   Jan 5 2008, 12:24
- - Lex   Цитата(gennady @ Jan 5 2008, 09:12) Мне к...   Jan 5 2008, 12:56
- - san   QUOTEПять юаней. Периодически у многих возникает ж...   Jan 5 2008, 13:12
- - Lex   Цитата(san @ Jan 5 2008, 13:12) что удобн...   Jan 5 2008, 20:07
- - darkrain   Всем здрасте) Извините что не в тему,просто я обыч...   Jan 11 2011, 10:25
- - Griffon   darkrain, Попробуй поискать ответ в разделе скри...   Jan 11 2011, 10:44
- - darkrain   Спасибо) Цитата(darkrain @ Jan 11 2011, 10...   Jan 11 2011, 10:55
- - Griffon   Цитата(darkrain @ Jan 11 2011, 10:55) или...   Jan 11 2011, 12:30
- - darkrain   А по подробнее можно?) и можешь пожалуйста обьясни...   Jan 11 2011, 15:20
- - Griffon   Цитата(darkrain @ Jan 11 2011, 15:20) OnE...   Jan 11 2011, 16:38
- - darkrain   А вот еще один вопрос...тоже не втему но мне очень...   Jan 13 2011, 18:06
- - wirTUS   Руссификатор, имхо, не нужен (ибо гораздо менее уд...   May 24 2011, 19:16


Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 29th April 2024 - 17:17