![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
![]()
Сообщение
#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: Модмейкер Проклятие Левора Порядок Времени ![]() |
но тогда он точно будет выглядеть не так просто=) ты немного неправ Neverwinter Script Source return ( GetLocalInt( GetPCSpeker( ), sName )==nLocal ); sName и nLocal - передаваемые из диалога параметры. таким образом этот один скрипт может проверить любую локалку игрока на любое нужное значение. Забавно, вы сами придумываете кое-что чтобы облегчить себе жизнь, а я вам предлагаю, что-то чтобы облегчить вам жизнь, а вы отказываетесь=) я от той системы в итоге отказался из-за нецелесообразности и громоздкости (ну и ненаглядности конечно). В модуле потребовалось проверок 10-15, ради них городить такой геморой не стоило и я написал по старинке, сделав лишь типовые упрощения. С чего ты взял что он будет большим? прикинул. Ты вот сам возьми не пример на 10-15 фраз, а приличный диалог фраз на 100. И попробуй потом спустя неделю в нем ногу не сломать. Неявность переходов по гоуту (метки искать нужно - а в редактре просто клик), лишний служебный текст (команды), который отвлекает от анализа. Если даже в удобном древовидном редакторе начинаешь путаться когда диалог большой, то что же будет тут, я даже представить боюсь. + я пока вижу, как не странно, в том что все перемешано. Те доступ к уловиям/действиям диалога есть прямо сразу, не нужно никуда кликать. Но имхо этот + не перевешивает проблемы с навигацией по диалогу. Может не стоит прятать подобные системы? А наоборот, стараться чтобы народ узнал о них, и если они облегчают жизнь начал использовать? дело в том, что все подобные системы зачастую очень специфичны и удобны только автору. Проверено годами (IMG:style_emoticons/kolobok_light/smile.gif) Все что пользователь более-менее может переварить, мы кидаем или в Базу скриптов или в виде ерефок на сайт ( SSS). а я вам предлагаю, что-то чтобы облегчить вам жизнь, а вы отказываетесь=) веришь, нет, но мы можем оценить что нам нужно, а что нет (IMG:style_emoticons/kolobok_light/smile.gif) Провозившись с диалогами в НВН больше 4х лет я могу точно сказать, что такой системой пользоваться не просто смогу. другим может быть пригодится, я хз (IMG:style_emoticons/kolobok_light/smile.gif) Вместо того чтобы поддержать говорите что вам это не надо=) а что нам говорить, если *нам* действительно не надо? Ждем других (IMG:style_emoticons/kolobok_light/smile.gif) Добавлено через 2 минуты 17 секунд Я еще раз говорю, если кто нить захочет юзать эту систему, то ее тоже можно сделать наглядной. каким образом? |
![]() ![]() |
Текстовая версия | Сейчас: 26th April 2025 - 23:04 |