QUOTE
зы: кстати это гоуту в твоей структуре понятно, а в диалоге оно как обеспечено? Неужели линковка от каждой фразы есть во все узлы?
Нет. Все работает несколько иначе. Вы ведь поняли что можно создавать диалоги любого уровня вложенности? То что дано в структуре лишь пример. Я бы не смог описать полную структуру, т.к вложенность бесконечна=). От каждого ответа может быть скоко угодно хидеров, и от каждого из хидеров может быть скоко угодно ответов(только есть ограничение на максимальное кол-во одновременно отображаемых ответов = 4, не знаю почему я выбрал 4, но число это можно легко увеличить, просто мне кажется что хватает и 4ых вариантов(ОТОБРАЖАЕМЫХ!)).
Neverwinter Script Source
return ( GetLocalInt( GetPCSpeker( ), "quest" )==1 );
Тут ты прав, почти что сравнимо. Но я предпочитаю так не делать.
И во вторых мы оба указали лишь 1 скрипт, а нужно то 3=) Пусть в НВН2 можно обойтись 1 скриптом, но тогда он точно будет выглядеть не так просто=)
QUOTE
зы: у меня есть похожая система для квестов
у меня такая же для условных триггеров biggrin.gif biggrin.gif Тока синтаксис чуть другой, а идея та же. Условие в текстовые локалки/имени триггера, а в скрипте парсер и проверка smile.gif
Тут все зависит от задач... если игроку юзеру нафиг не нужны диалоги, то ему не зачем что-то придумывать. И пользоваться тем что есть. Я поэтому и назвал тему "Другой подход к созданию диалогов". Я назвал преимущества данного метода, вы назвали главный недостаток(ненаглядность). У стандартного метода тоже куча недостатков. Если вы прочитали про Шаблоны, то могли бы заметить как легко вставить какой-то параметр в текст диалога... Раз вам удобно делать так как вы привыкли, я не буду(да и не смогу) вас переубеждать. Но раз уж вы обратили на этот топик внимание(а это значит что тема вам в каком то образе близка) я просто прошу посмотреть на плюсы данного способа, и если они перевешивают минусы(а я в этом уверен=)) вседаки попробывать им пользоваться(уж для вас то это не проблема).
QUOTE
хм, а почему бы не делать диалоги через диалоги? если весь смысл в том, чтобы заменить несколько мелких скриптов одним о-хо-хо и с ним возиться на уровне некомпилицо\строкиперепутал, когда в диалоге всё видно. а модмейкеру проще разобраться в скриптах, а не сначала в скриптах и потом в какой-то системе
Я еще раз говорю, если кто нить захочет юзать эту систему, то ее тоже можно сделать наглядной. И ведь прикол даже не в том чтобы модмейкеру проще разобраться в скриптах, а в том что приходится создавать кучу "ненужных" скриптов. Я привел пример, диалога, посчитай скоко в нем должно быть скриптов, чтобы он работал как надо(по моим подсчетам 4). Хорошо, если такой диалог 1, а если их много? Количество "лишних" скриптов очень сильно возрастает, и немудрено, как вы правильно говорите "запутаться" уже в них=) Так же, вы почему то не хотите обращать внимание, на другую функцию этой "системы", это то когда надо, создать много мелких диалогов. Например дилаог для всех второстепенных NPC в городе. Удобно ли для каждой пустяковой фразы создовать по диалогу? Или опять таки надо юзать скрипты... "некомпилицо\строкиперепутал", такая возможность есть и когда вы создаете диалог с помощью скриптов и редактора диалогов. А разобраться в "какой-то системе" можно за минут 20(если вы знаете на хотябы минимальном уровне скрипты, даже не скрипты, а просто логику), врядли нужно больше времени. Имо, ничего сложного тут нет. Если в НВН2 есть диалоги с параметрами, то это несколько уменьшает проблему, но все равно, она есть.
QUOTE
я боюсь размеры будут поражать воображение. + такой диалог будет труден для разбора автору спустя пару недель. Стороннего обозревателя он вообще в кому вгонит
С чего ты взял что он будет большим? 1) То что все диалоге будут находится в одном скрипте удобно для меня. Если кто-то захочет использовать больше чем 1 скрипт, он легко сможет это сделать, если он хочет чтобы даже каждый диалог находился в отдельном скрипте, он сможет это сделать. Можно также, например, несложные диалоги помещать в 1 скрипт, а сложные в отдельные. 2)Даже если все диалоге в одном скрипт разобраться в них будет так же просто как в отдельно взятом диалоге. Ведь начало и конец диалога легко узнаваемы. Пример:
Neverwinter Script Source
//Вот первый диалог его будет говорить НПС с тагом CR_caerpost_GUARDIAN1.
StartCD( GetObjectByTag( "CR_caerpost_GUARDIAN1" ) );
SetHeaderCD( "Эта фраза НПС с тагомCR_caerpost_GUARDIAN1", TRUE );
SetAnswerCD( "А это ответ НПС", TRUE );
//А это уже диалог для НПС с тагом ANOTHER_DIALOG
StartCD( GetObjectByTag( "ANOTHER_DIALOG" ) );
SetHeaderCD( "Эта фраза НПС с тагомCR_caerpost_GUARDIAN1", TRUE );
SetAnswerCD( "А это ответ НПС", TRUE );
//И что, здесь разве можно спутать кто из NPC какой диалог говорит?
QUOTE
зы: у меня есть похожая система для квестов
у меня такая же для условных триггеров biggrin.gif biggrin.gif Тока синтаксис чуть другой, а идея та же. Условие в текстовые локалки/имени триггера, а в скрипте парсер и проверка smile.gif
Может не стоит прятать подобные системы? А наоборот, стараться чтобы народ узнал о них, и если они облегчают жизнь начал использовать? Забавно, вы сами придумываете кое-что чтобы облегчить себе жизнь, а я вам предлагаю, что-то чтобы облегчить вам жизнь, а вы отказываетесь=) Вместо того чтобы поддержать говорите что вам это не надо=)