Город Мастеров
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
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
 
Открыть новую тему
Ответов
san
сообщение Jan 4 2008, 12:17
Сообщение #2


Level 3
*

Класс: Обыватель
Характер: Lawful Good
Раса: Человек



Самый элементарный способ сделать приложение на AJAX'e(если кто не знает, то это, вкратце, просто html страничка с Javascript'ами, приложение можно сделать как офлайновое так и онлайновое, как удобно, возможно и то и то), которое будет выдавать удобную древовидную структуру, возможно даже удобней чем в стандартном редакторе. После того как диалог будет сделан нужно будет вставить готовый код в файл скрипта. Чтобы открыть диалог нужно будет скопировать нужный диалог в AJAX приложение. Второй способ сделать плагин к тулсету НВН2, но этим я заниматься вряд ли буду, ибо нужны новые знания, и для НВН1 этот способ не подходит(а я то работаю с НВН1). В дальнейшем можно даже сделать возможность создать базу диалогов=) (ну это просто как продолжение идеи=))
"веришь, нет, но мы можем оценить что нам нужно, а что нет" Поэтому я и говорю, что я не смогу вас убедить=).
QUOTE
sName и nLocal - передаваемые из диалога параметры. таким образом этот один скрипт может проверить любую локалку игрока на любое нужное значение.

Понятно, посмотрел как это будет выглядеть в НВН2=)
QUOTE
дело в том, что все подобные системы зачастую очень специфичны и удобны только автору. Проверено годами smile.gif Все что пользователь более-менее может переварить, мы кидаем или в Базу скриптов или в виде ерефок на сайт

Ясно.
И еще приведу пример. В нашем стром модуле порядка 500 скриптов, из них 200 - для диалогов.
ps
И все даки главным образом, то что я сделал нужно для НВН1, для НВН2, проблема уже не так остра... там гораздо больше возможностей.
ps
А в НВН2 случаем нет регулярных выражений?

Сообщение отредактировал san - Jan 4 2008, 12:52
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
virusman
сообщение Jan 4 2008, 13:48
Сообщение #3


Level 17
Иконки Групп

Класс: Волшебник
Характер: Neutral Good
Раса: Человек
NWN: Скриптинг [PW]
Axistown SR 1.9
NWNX



Цитата(san @ Jan 4 2008, 12:17) *
Самый элементарный способ сделать приложение на AJAX'e(если кто не знает, то это, вкратце, просто html страничка с Javascript'ами, приложение можно сделать как офлайновое так и онлайновое, как удобно, возможно и то и то), которое будет выдавать удобную древовидную структуру, возможно даже удобней чем в стандартном редакторе. После того как диалог будет сделан нужно будет вставить готовый код в файл скрипта. Чтобы открыть диалог нужно будет скопировать нужный диалог в AJAX приложение.
http://data.virusman.ru/ax20/conv_editor/c...editor_demo.htm (IMG:http://www.kolobok.us/smiles/standart/whistle.gif)
(недоделано; можно драг-н-дропить, редактировать и т.д. если выделение не работает - надо нажать на кнопку внизу)

Сообщение отредактировал virusman - Jan 4 2008, 13:50
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения

Сообщений в этой теме
- 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

 



Текстовая версия Сейчас: 28th May 2024 - 08:41