![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
![]() ![]()
Сообщение
#1
|
|
Level 3 ![]() Класс: Маг Характер: True Neutral Раса: Нежить ![]() |
Игра будет совсем неинтересной если в ней будут одинаковые квесты.Квесты должны быть разные:На убийство,на кражу,на информацию...
Я собственно этого пока как раз не умею и прошу помочь мне: Мне надо сделать зависымый диалог,Пример:Подходишь к мужику "Йоу,мэн на меня тот крендель наехал, разберись с этим рогаликом недоеденым",подходишь к Кренделю "Я его больше не больше не буду обижать и т.п.).Мне ,собственно,надо сделать так,что бы второй диалог без первого не начался. ТОКА ОБЬЯСНИТЕ ПОНЯТНО И НЕ ГОВОРИТЕ,ЧТО В ДОКЕ ВСЕ НАПИСАНО!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! (IMG:style_emoticons/kolobok_light/shout.gif) (IMG:style_emoticons/kolobok_light/shout.gif) (IMG:style_emoticons/kolobok_light/shout.gif) (IMG:style_emoticons/kolobok_light/shout.gif) (IMG:style_emoticons/kolobok_light/shout.gif) (IMG:style_emoticons/kolobok_light/shout.gif) (IMG:style_emoticons/kolobok_light/shout.gif) (IMG:style_emoticons/kolobok_light/shout.gif) |
![]() |
![]()
Сообщение
#2
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
в доке все есть, вот в этой: http://www.city-of-masters.ru/forums/index.php?showtopic=867
я даже не поленюсь скопировать, так что вопли "я ниче не нашел" не принимаются: ВОПРОС Здраствуйте, я вот тут захотел сделать простейший стационарный квест, но в этом я полный 0. 1) Как сделать чтобы при первом разгооре игрока с НПС показывался первый диалог; 2) После первого разговора включался второй диалог; 3) Как сделать проверку на наличие предмета у игрока? Например ели у игрока есть например ключ ему включался определеный диалог (тоесть вот смотри пункт 2, идет второй диалог. и там спрашивають.ты добыл ключ? говориш да, и делаеться проверка на наличие) 4) После того как квест выполнен включался следующий диалог ОТВЕТЫ Делается очень легко - с пмощью Локальных переменных... Как ты мог догадатсья, полистав словарик или просто почитав надписи в тулсете при создании конверсейшна: TextAppearsWhen - значит "Текст появляется когда..." и там нужно выбрать скрипт. Это значит что в скрипте задаются условия появления. (кстати там есть визард) ActionTaken - значит "Предпринимаемое действие" (или типа того), то есть - что-то происходит после того как игрко выбрал этот ответ в диалоге, или НПЦ вышел на ветку с этим скриптом... Тут опять же есть визард. Визард (Wizard) - помощник создания простых скриптов, отображается как шапочка... Итак, теперь рассказываю подробнее... Мы создаем все три ветки (для данного примера): - Привет, игрок -- Привет, нпц! - Есть ключ? -- Есть (проверка) -- Нету - Молодец, ты справился с квестом! Терь вали отсюдова! На первом диалоге (Привет, игрок) вешаем скрипт проверки локальной переменной, например назовем её - quest_prog (quest progress). Для этого можно использовать визард (пока в плане скриптинга обьяснять не буду - запустите визард, посмотрите на код и надеюсь все поймете) - визард в TextAppearsWhen (ТекстПоявляетсяКогда) - и там выбираем Local Variable, выбираем: int (числовая переменная, целая (не дробная)), пишем название переменной (q_prog), is less than (меньше чем), constant int (заданное число), 1. Далее на продолжении первого диалога ("привет, нпц!") вешаем скрипт (можно опять же визардом) на создании переменной q_prog и задачи ей числа 1. Set Local Variable (Задать локальную переменную), int, q_prog, constant int, 1. Теперь переходим к второй ветке диалога (есть ключ?) - надпись будет высвечиваться если q_prog равно 1. (Думай разберешься как сделать проверку ), ну а на ответе: (Есть) - делать првоерку на ключ... Опять же визардом: Item in Inventory и там вписываем тэг вещицы (лучше писать не попамяти - акопировать и вставлять...). Ну и Action Taken - присваиваем q_prog значение 2. И последнюю ветку вешаем првоерку, если q_prog равен 2. Раз стат квест - значит надо выдать награду. Выдавать награду можно опять же через ActionTaken (Give Rewards)... Примечание: если хочешь наградить вещью - то там надо вписывать ResRef вещит, а не тэг. Кстати попутно с квестом можно вести запись в дневнике (закладочка - Others... там думаю разберешься) ПРИМЕЧАНИЕ №1: Локальные переменные - остаюстя на игроке, так что в следущем квесте не используй переменную q_prog... ПРИМЕЧАНИЕ №2: Если хорошо подумаете - то сможете это все еще оптимизирвоать и улучшить... (хоят бы для повышения переменной - не обязательно использоват ьнесколько разных скриптов ) зы: примечание №3: скриптуется с поправкой на возможности НВН2 по передачи имени переменной и ее значения из диалога. Те количество скриптов на обслуживание квеста в НВН2 сокращается очень значительно. Логика же, что в НВН1 что в НВН2 что в любой другой игре - примерно одинаковая. |
![]() ![]()
Сообщение
#3
|
|
Level 3 ![]() Класс: Маг Характер: True Neutral Раса: Нежить ![]() |
1) Как сделать чтобы при первом разгооре игрока с НПС показывался первый диалог; Спасибо вам большое(Вы все мои мысли прочитали(почти все(Уж про журнал я точно знал)))Тока я не понял вон то что я в цитату занёс.Эт чё значит показывался? (IMG:style_emoticons/kolobok_light/yahoo.gif) Тока я нифига не понял где этот Text Apperas When И всё остальное тожэ.И "Итэм ин Инвертори" я тожэ нигде не нашёл.И ВАЩЕ НИФИГА Я НЕ ПОНЯЛ:ЭТО СКРИПТЫ ИЛИ В NODE ЭТО НАДО ИСКАТЬ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! (IMG:style_emoticons/kolobok_light/swoon.gif) (IMG:style_emoticons/kolobok_light/swoon.gif) (IMG:style_emoticons/kolobok_light/swoon.gif) (IMG:style_emoticons/kolobok_light/swoon.gif) (IMG:style_emoticons/kolobok_light/swoon.gif) (IMG:style_emoticons/kolobok_light/shout.gif) (IMG:style_emoticons/kolobok_light/shout.gif) (IMG:style_emoticons/kolobok_light/shout.gif) (IMG:style_emoticons/kolobok_light/shout.gif) (IMG:style_emoticons/kolobok_light/shout.gif) |
![]()
Сообщение
#4
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
у НПС может быть несколько фраз стартовых или ответных на фразы игрока. По умолчанию показывается первая, а остальные игнорируются. Однако если на условиях появления фраз есть скрипты, то все становится интереснее. Тут как раз описана ситуация, когда фразы появляются по условию. Те то, что и нужно в квестах.
то что описано выше - не скрипты, а инструкции по их созданию. По поводу "Text Apperas When" - это мануал для НВН, в НВН2 все немного подругому, но логика та же. Читайте мануал по созданию диалогов: http://www.wrg.ru/download.php?view.152 там поймете где условия, где действия, все описано. |
![]() ![]()
Сообщение
#5
|
|
Level 3 ![]() Класс: Маг Характер: True Neutral Раса: Нежить ![]() |
А что такое GUI,где это и как им пользоваться? (IMG:style_emoticons/kolobok_light/scratch_one-s_head.gif)
|
![]()
Сообщение
#6
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
Тема про квесты, гуи тут не при чем.
http://ru.wikipedia.org/wiki/GUI окошечки, кнопочки и прочие интерактивные элементы интерфейса, а вобщем. |
![]() ![]()
Сообщение
#7
|
|
Level 3 ![]() Класс: Маг Характер: True Neutral Раса: Нежить ![]() |
Понял,чувак,замётано (IMG:style_emoticons/kolobok_light/ph34r.gif)
|
![]()
Сообщение
#8
|
|
Level 2 ![]() Класс: Самурай Характер: True Neutral Раса: Человек ![]() |
Привет можите раскозать как делать квест
1-нпс1(даёт задание убить нпс2) и потом после этого игрок идет получать награду у нпс1 2-нпс1(даёт задание принести предмет1) и потом после этого игрок идет получать награду у нпс1 3-нпс1(даёт задание поговорить нпс2) и потом после этого игрок идет получать награду у нпс1 Сообщение отредактировал DARKNWN2 - Oct 4 2010, 17:49 |
![]()
Сообщение
#9
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
отдельного инструментария для квестов нет. Вся внутриигровая логика квестов - на скриптах, которые сам сделаешь. Поэтому тебе нужно запоминать что игрок сделал то или иное, чтобы потом использовать. Запоминают обычно в локальные переменные.
Простой пример на основе твоего варианта 1, дальше думаю сам сможешь: Разговор с НПС1, согласие игрока на выполнение задания - ставим на фразу игрока скрипт с установкой локальной переменной "Q_KILL_NPC2" (пусть она будет на игрока) равной 1. В скрипте на смерть НПС2 (в его слотах) проверяй переменную Q_KILL_NPC2 и если она была 1, ставь ее 2. В разговоре с НПС1 сделай фразу игрока "я выполнил задание" чтобы она появлялась, если переменная Q_KILL_NPC2 равна 2. После фразы игрока про выполнение задания, давай награду и меняй значение переменной на 3. Вот так, приблизительно, все квесты делаются. Добавляешь еще журнальные записи (лучше скриптами, не через опции диалогов, а то потом исправлять сложнее), делаешь проверку чтобы НПС2 не убили до выдачи задания (скажем в случае если НПС2 убили, а квестовая переменная еще равна 0, то делать ее -1, и квест не выдавать, если переменная -1). Таким же методом расписываются все другие твои ситуации в той или иной степени. Скажем с предметом проще, там наличие предмета можно в диалоге проверять. в целом, все довольно просто, проще чем кажется после прочтения описания. Но нужно иметь хотя бы базовые навыки скриптования, те уметь работать с локальными переменными, уметь правильно выбирать объекты (игрока, собеседника, объекты по тэгу и тд), уметь работать со скриптами в слотах. Если этого всего нет - не следует сходу хвататься за квесты. Лучше немного подучить скриптинг. |
![]() ![]()
Сообщение
#10
|
|
Level 2 ![]() Класс: Самурай Характер: True Neutral Раса: Человек ![]() |
Можишь выложить скрипты и инструкцию где чё заменять.
Заранее спасибо (IMG:style_emoticons/kolobok_light/rolleyes.gif) (IMG:style_emoticons/kolobok_light/rolleyes.gif) (IMG:style_emoticons/kolobok_light/rolleyes.gif) (IMG:style_emoticons/kolobok_light/rolleyes.gif) (IMG:style_emoticons/kolobok_light/rolleyes.gif) |
![]()
Сообщение
#11
|
|
Level 9 ![]() ![]() ![]() Класс: Фея Характер: Chaotic Evil Раса: Фея ![]() |
Дефолтные скрипты работают наура.
ga_journal gc_journal_entry gc_local_int ga_local_int Вообще, на твоем месте бросил бы затею своего проекта еще пока она в зародыше. |
![]()
Сообщение
#12
|
|
Level 2 ![]() Класс: Самурай Характер: True Neutral Раса: Человек ![]() |
Скрипты мне нечего не дали я не понил как с ними можно создать квест. Я использую вотетот плагит 0100_UninvitedGuests для учение но есть проблемы в скрипте
// 01_lizman_journal // When the lizardmen die, advance the journal state to 30. // EPF 8/17/06 #include "ginc_group" const string GROUP_LIZMEN = "grplizmen"; void main() { GroupAddTag(GROUP_LIZMEN,"01_lizman1"); GroupAddTag(GROUP_LIZMEN,"01_lizman2"); GroupOnDeathSetJournalEntry(GROUP_LIZMEN, "01_lizardfolk",30); } Я изменяю GroupAddTag(GROUP_LIZMEN,"01_lizman1"); на GroupAddTag(GROUP_LIZMEN,"allesa"); но я ёё убиваю но журнал не обновляется Я тут натумал может в GROUP_LIZMEN изменить что то нужно. Я так понил что это группа но где её изменять я незаю (IMG:style_emoticons/kolobok_light/swoon.gif) (Кстати allesa у меня расой человек) Кстати как использовать эти скрипты несколько раз кроме копирования срипта что нужно изменить. Да на форуме глухо (IMG:style_emoticons/kolobok_light/aggressive.gif) (IMG:style_emoticons/kolobok_light/ph34r.gif) Сообщение отредактировал DARKNWN2 - Oct 7 2010, 14:54 |
![]() ![]()
Сообщение
#13
|
|
Level 3 ![]() Класс: Маг Характер: True Neutral Раса: Нежить ![]() |
Я знаю по жизненному опыту,что тот,кто достигает своеё цели через трудности,достигнет её очень скоро (IMG:style_emoticons/kolobok_light/declare.gif) (Было бы желание).Можно вообще то посмотреть как делать квесты в Основной Кампании NWN2,там ты больше найдешь чем в UG (IMG:style_emoticons/kolobok_light/rolleyes.gif) .Я вот тоже нифига не понимаю до сих пор как вообще скрипты на проверку ставить (IMG:style_emoticons/kolobok_light/scratch_one-s_head.gif) ,но я копался в своей проблеме...и узнал...что я не один такой (IMG:style_emoticons/kolobok_light/yahoo.gif) ,а что...всё равно прогресс есть (IMG:style_emoticons/kolobok_light/crazy.gif)
|
![]()
Сообщение
#14
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
Можишь выложить скрипты и инструкцию где чё заменять. а смысл? Если ты сам не готов написать (или хотя бы использовать уже готовые скрипты, которые указал Kcapra) такие простейшие скрипты, то от того, что я их тебе напишу, тебе станет легче только в этой ситуации с этим простеньким квестом. А для других случаев ты опять будешь искать готовые решения. Это не вариант, ты так не уедешь никуда и будешь делать ну очень долго. Я же написал, создание квестов требует как минимум базового владения скриптами. Почитай мануалы (по скриптингу на базе НВН, он такой же почти, как в НВН2). Довольно неплохо написано на сайте Гены: http://remmgen.narod.ru/shpora.html есть лишь одно крайне важное и полезное отличие скриптинга под НВН2: появилась возможность из диалога получать в скрипты параметры. Это очень помогает именно в квестах и диалоговых проверках, сокращая количество скриптов в разы. Но принцип скриптования и построения логики квестов все равно тот же. |
![]() ![]()
Сообщение
#15
|
|
Level 3 ![]() Класс: Маг Характер: True Neutral Раса: Нежить ![]() |
Все скрипты которые начинаются с "gc" можно использовать для квестов.А "где чё менять" написано обычно в самих скриптах (Там что то типа пометок).Если честно,то любая игра должна быть построена на проверках (Сюжет я имею в виду) ,кроме линейных.Даже если сможешь скрипты на действие сделать,то они фигово будут смотреться без проверок (Да хоть пол персонажа и то проверять надо,а то игра про извоащенцев получится). (IMG:style_emoticons/kolobok_light/ph34r.gif)
Почему к стати мёртвые души? (IMG:style_emoticons/kolobok_light/rolleyes.gif) |
![]() ![]()
Сообщение
#16
|
|
Level 2 ![]() Класс: Самурай Характер: True Neutral Раса: Человек ![]() |
Почему к стати мёртвые души? Просто я взял за основу русскую игру(Которая не вышла и не когда не выйдет) Мне кстати помог один из разрабочиков этой игры. Насчет квестов лутше нужно было создать тотуриал по квестам однотипным типо их 1-нпс1(даёт задание убить нпс2) и потом после этого игрок идет получать награду у нпс1 2-нпс1(даёт задание принести предмет1) и потом после этого игрок идет получать награду у нпс1 3-нпс1(даёт задание поговорить нпс2) и потом после этого игрок идет получать награду у нпс1 Нас двое и то мы можым немногое я делаю модели доспехов, оружия, зданий и Т.д он всё остольное в toolset'e. У нас всё готова только нужно как нибуть наючится делать однотипные квесты. За помощь всем спс. (IMG:style_emoticons/kolobok_light/good.gif) Сообщение отредактировал DARKNWN2 - Oct 10 2010, 17:33 |
![]() ![]()
Сообщение
#17
|
|
Level 3 ![]() Класс: Маг Характер: True Neutral Раса: Нежить ![]() |
В Тулсете дофига готовых скриптов что бы сделать отличную игру.И рас уж вы такие творческие люди,то уж скриптить квесты точно научитесь,это ж не C++. (IMG:style_emoticons/kolobok_light/good.gif) (IMG:style_emoticons/kolobok_light/rolleyes.gif)
|
![]()
Сообщение
#18
|
|
Level 2 ![]() Класс: Самурай Характер: True Neutral Раса: Человек ![]() |
Спосибо Orochi за подершку.
Уменя есть идея можите зделать 3 плагита и у каждого плагита по одному квесту который я дал. |
![]() ![]()
Сообщение
#19
|
|
Level 3 ![]() Класс: Маг Характер: True Neutral Раса: Нежить ![]() |
Хах.Я то сам дуб полный (IMG:style_emoticons/kolobok_light/rolleyes.gif) .Я могу поддержать,но со всем остальным я тебе врядли помогу,ты уж прости,но я недалеко от тебя ушел и сам нуждаюсь в помощи.Ты к стати не знаешь как русский tlk файл сделать? (IMG:style_emoticons/kolobok_light/crazy.gif)
Я к стати сам не знаю как делать проверку на диалог (IMG:style_emoticons/kolobok_light/scratch_one-s_head.gif) |
![]()
Сообщение
#20
|
|
Level 1 Класс: Обыватель Характер: Lawful Good Раса: Человек ![]() |
а как создать квест, у меня все готово, скрипты понимаю немного а как сам квест сделать??? (IMG:style_emoticons/kolobok_light/scratch_one-s_head.gif)
|
![]() ![]() |
Текстовая версия | Сейчас: 26th April 2025 - 23:37 |