[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: _LeoN_, Рус, ShaDe_of_The_DragoN, Dimych  
Форум » The Elder Scrolls IV: Oblivion » Модострой TES IV » Как создать квест? (Вот так.)
Как создать квест?
RioДата: Пятница, 17.06.2011, 08:07 | Сообщение # 1
Эсквайр
Группа: V.I.P.
Сообщений: 454
Статус:
Вчера поздно ночью, я разобрался с весьма сложной вещью - созданием квестов в Tes CS. Конечно же с первого раза не получилось, но все же я смог сделать свой первый квест, и теперь хочу рассказать вам как это сделать. Опять же, описываю все исходя из СВОЕГО ОПЫТА РАБОТЫ!
Итак, что нам понадобится:
1. Tes CS.
2.Желание
3. Усидчивость. (да-да, если вы хотите сделать полноценный работающий квест, а не бросить работу на пол пути)
Приступим:
Честно говоря я немного удивился, когда прочитал документации о создании квестов. Потому что особых знаний в скриптинги для создания простых квестов не нужно. Итак открываем Tes CS.
Пока он грузится, подумайте над своим квестом. Он должен быть простым! (для начала) Я предлагаю вот какой: некий человек по имени (придумайте имя сами) остановился в некой таверне.(ну или где-то еще) И он просит ГГ найти какую нибуть вещь, например, фамильный медальон, т.к. у него разбрали медальон разбойники. И если ГГ вернет медальон, то будет выдано вознаграждение. Ну примерно где-то так. Вы можете придумать что-то свое, основываясь на шаблоне. Когда CS загрузился, создаем необходимые предметы для квеста. В моем случае, это медальон и непосредственно персонаж, который дает квест. Над бандитами, их пещерой или где они у вас будут подумайте сами, вы ведь умеете создавать локации? создали, теперь отметим галочкой "quest item" на медальоне, чтоб игрок не смог выкинуть предмет. Далее создаем НПС, любого, и отмечаем галочкой "Persistent reference". теперь переместите НПС куда-нибудь, например, в таверну ваунет, а медальон - в сундук логова бандитов, которое вы сделали. Для тренировки, необязательно заселить пещеры разбойниками. Мы же квесты учимся делать! Отметим галочков на сундуке "Persistent reference". Внимание!!! Важно, что у каждого вашего предмета был свой уникальный ID! У меня на медальоне: RioQuestMedal, на персонаже:
RioQuestItem, на сундуке: RioQuestChest. Разъясняю, чтоб конфликтов не было, желательно ID такой формы: ваше ник+часть имени плагина+часть названия предмета. Расставили? Ну чтож, переходим к квесту! Ищем Character/Quests... открывается окно, со всеми квестами в Oblivion'e. Щелкаем мышкой на список квестов и нажимаем New. Пишем имя нашего квеста, у меня: RioQuest, далее в Quest data пишел название квеста, которое увидит игрок в игре. У меня: Украденный медальон. Priority Ставим значение 60 (стандарт как я понял). Затем в окне Quest Conditions кликаем мышкой и жмем New. Ниже есть кнопки, раскрываем список "Conditions function" и находим там "GetIsPlayableRace, Comparions поставьте значение "==" а Value 1.
Я не понял зачем это, в документациях было не расписано зачем, но во всех квестах это условие есть. Все, теперь так сказать самое сложное, требующее вашу усидчивость. Переходим в вкладку "Quest Stages". В окне "Index" выбираем New, и вводим значение 10. В Log entry нажимаем new, и в нижним окне log entry набираем текст. У меня такой: "В тааверне Ваунет я встретил (имя вашего персонажа). Он рассказал, чтоб по дороге, на него напали разбойники и забрали его единственный медальон. Он просит вернуть медальон за вознаграждение." Ну как- то вот так. Вы можете придумать что-нить свое. Теперь после разговора с персонажем у ГГ обновится журнал, и вы увидете этот текст. Далее на Index жмем nеw, вписываем значение 15. Делаем также, как и в последний раз, только текст другой. У меня: "Я нашел медальон. Теперь стоит его вернуть законному владельцу." Журнал обновится, когда ГГ найдет медальон.
Снова Index->new значение ставим 20. и пишел. У меня: "(Имя персонажа) поблагодарил меня и наградил 500 золотыми за помощь." теперь, когда ГГ вернет медальон, журнал обновится и вы увидете этот текст и квест завершиться. Но чтоб он завершился, поставьте галочку "Quest Complete" Все, с журналом разобрались, теперь в вкладку "Topic". Темы. Для меня это было самым сложным в создании квеста. Итак. В окне Edition ID жмем new, открывается список тем. Ищем "GREETING" В окне Info жмем new и вводим что-то подобно: "Привет! Ты не мог бы мне помочь вернуть медальон, который украли у меня бандиты?" Жмем Ок. В окне Conditions жмем New, и в Conditions function находим GetIs в Compasion поставьте значение "==" a Value 1, в function parameters выбираем вашего персонажа, (ищите ID вашего персонажа) Жмем ok. Там же создаем new и выбираем GetStage, в function Conditions ищите ID вашего квеста, в Compasion выбираем значение "<" а Value 10. теперь при встрече персонаж будет говорить приветствие, которое мы написали в последний раз и будет говорить до тех пор, пока ГГ не возьмет у него квест. В Info добавляем новое приветствие и пишем "Пожалуйста, верни мой медальон, я в долгу не останусь..." Опять ставим тот же GetIs, что и в прошлый раз, а Getstage == 10. Не забудьте про ID Квеста!!! Итак, теперь ГГ взял квест и если он не нашел медальон, то персонаж будет говорить такую фразу. Теперь создаем в info еще приветствие. Набираем текст. У меня такой: "Медальон? Здорого! Спасибо тебе! Вот твое вознаграждение!" ставим тот же GetIs, a GetStage == 15 ( не забудьте в Function Parameters указать ID квеста, иначе квест не получится) Теперь, когда гг принесет медальон, персонаж скажет такую фразу. Теперь в Response Script пишем следующее без ковычек: "Setstage idвашего квеста 20". enter, Затем: "player.additem gold001 500" enter и последнее: player.removeitem idмедальона 1. Объясняю, 1-й скрипт завершает квест после того, как гг приносит медальон персонажу, 2-й скрипт добавляет ГГ 500 золотых, а 3-й скрипт убирает медальон из инвентаря. Так, теперь в Edition Id создаем новую тему и называем своим id. У меня: RioQuest3. В Topic quest пишем: "украденный медальон". в Info жмем new и пишем что то вроде: "Да. Меня обокрали бандиты и забрали мой медальон. Пожалуйста найди его. Я щедро вознагражу тебя, если ты поможешь."
(По-хорошему бы конечно, все хорошенько обдумать, но у вас все впереди!) Опять тот же GetIs, а getstage ставим так < 10. Теперь при активации темы "пропавший медальон, персонаж расскажет вам, что с ним произошло. Далее в info создаем new и пишем что-то вроде: "Я надеюсь, ты поможешь мне..." Опять же GetIs, GetStage со значением == 10. То есть если игрок, не нашел медальон, и активировал тему, персонаж скажет такую фразу. И последнее, создаем в info new, пишем что-то вроде: "Спасибо за помощь!" тот же getIsID, getstage со значением == 20. То есть, когда игрок отдал медальон, и активировал тему, персонаж скажет такую фразу. Все! Теперь надо, что в разговоре появилась тема "украденный медальон". Возвращаемся в приветствия находим в info первое приветствие, нажимаем один раз на него и в Result script пишем следующее: addTopic IDвашей темы. теперь в разговоре будет присутствовать эта тема.
Последний штрих - СКРИПТ! Он легкий маленький и понятный. Итак. Открываем окно скриптов, жмем new и пишем:
scn MyScript
begin OnAdd
if ( getstage idвашего квеста == 10 )
SetStage idвашего квеста == 15
endif
endif
end

Сохраняем и приклепляем к медальону. Что делает этот скрипт? Когда ГГ находит медальон, журнал обновляется до значения 15.
Вот что. Маркеры! Если хотите, чтоб они были, то идем в character/Quests... Находим ваш квест, и идем в закладку Quest Target. В target ref, жмем new, затем в Conditions выбираем getstage IDвашего квеста == 10. В cell находите ячейку с вашим медальоном, а в ref - ID вашего сундука, куда вы положили медальон. Теперь, после получения квеста, маркер будет указывать на сундук с медальоном. Теперь, снова в target ref жмем new, в Conditions выбираем getstage == 15. не забудьте про Id квеста (!!!) В cell, выбираем ячейку, где находится ваш персонаж, а ref - собственно Id персонажа!
Сохраняем, тестируем. Надеюсь, я расписал все понятно. С первого раза, я тоже не понял, что, да где, но потом разобрался. Квесты писать трудновато, и чтобы освоить их создание, вы хотя бы должны уметь создавать дома, примерно знать ячейки, уметь создавать новые предметы... Иначе, будет трудно.


Сообщение отредактировал Rio - Пятница, 17.06.2011, 08:15
 
DimychДата: Пятница, 17.06.2011, 09:12 | Сообщение # 2
Лосось-Модмейкер
Группа: V.I.P.
Сообщений: 2191
Статус:
Это тоже вверх надо
 
SalvatorДата: Пятница, 17.06.2011, 16:16 | Сообщение # 3
Группа: Удаленные





Забыл упомянуть, что при неправильном создании диалога весь плаг станет уг. Потому что будут убиты изначальные диалоги.
 
LunaДата: Воскресенье, 19.06.2011, 10:12 | Сообщение # 4
Граф
Группа: V.I.P.
Сообщений: 798
Статус:
Quote (Rio)
ref - ID вашего сундука

Quote (Rio)
ref - собственно Id персонажа


немного не так. ref - это не ID, его присваивают, когда НПС или сундук, вещь, или что там, уже поставлены в игровой мир. Тогда надо два раза по нему щелкнуть и в появившемся окошке в верхней строке присвоить RefID, который не должен совпадать с ID предмета или НПС, пусть отличается хотя бы добавлением Ref к ID. То есть, если ID RioQuestMedal то RefID будет RioQuestMedalRef, и тогда тут уже отмечать Persistent reference. Тогда на этот предмет будут указывать маркеры квеста, потому что предмет станет уникальным в мире. Кроме того, RefID нужен будет при создании многих сриптов, потому что некоторые скриптовые команды не воспринимают ID, а им нужен именно RefID.
И в скрипте один endif вроде как лишний..

А вообще, Rio, все понятно и хорошо расписано. Спасибо!


Обходя разложенные грабли, теряешь драгоценный опыт

 
RioДата: Вторник, 21.06.2011, 11:20 | Сообщение # 5
Эсквайр
Группа: V.I.P.
Сообщений: 454
Статус:
Немного не разобрался.... ah
 
SalvatorДата: Вторник, 21.06.2011, 15:29 | Сообщение # 6
Группа: Удаленные





ref ID - уникальное ID отдельно взятого предмета в мире. Чтобы скрипт затрагивал не все, скажем, вилки в мире, а только одну.
 
RioДата: Вторник, 21.06.2011, 16:59 | Сообщение # 7
Эсквайр
Группа: V.I.P.
Сообщений: 454
Статус:
Quote (Salvator)
ref ID - уникальное ID отдельно взятого предмета в мире. Чтобы скрипт затрагивал не все, скажем, вилки в мире, а только одну.

Ну теперь дошло...Надо еще посидеть над этим - еще разбираться.
 
SalvatorДата: Вторник, 21.06.2011, 17:04 | Сообщение # 8
Группа: Удаленные





Двойной клик на обьекте в мире, верхнее окошечко. Там записывается рефайди, и лучше подписывать его тем же айди, что и все обьекты, но с Ref в конце и цифрой, если предметов много.
 
RioДата: Среда, 06.07.2011, 09:32 | Сообщение # 9
Эсквайр
Группа: V.I.P.
Сообщений: 454
Статус:
Grey_Prince, что значит твой смайл? Пиши, что непонятно?
 
RioДата: Вторник, 19.07.2011, 18:58 | Сообщение # 10
Эсквайр
Группа: V.I.P.
Сообщений: 454
Статус:
Сейчас закончу свой мод, и сделаю скины для более ясной картины.
 
Amib@ll_666Дата: Вторник, 19.07.2011, 21:50 | Сообщение # 11
Эсквайр
Группа: V.I.P.
Сообщений: 456
Статус:
А с диалогоми есть простое решение, чтоб путаницы небыло. Просто при создании диалоги ставь в условиях getisid того непися кто должен говорить это. Ну а если неписей много, то создай гильдию (скрытую) и поставь в условии ее))
 
GranvidДата: Воскресенье, 02.10.2011, 17:45 | Сообщение # 12
Странник
Группа: Пользователь
Сообщений: 5
Статус:
scn MyScript
begin OnAdd
if ( getstage idвашего квеста == 10 )
SetStage idвашего квеста == 15
endif
endif
end
Помогите у меня с этим скриптом проблема, говорит типо я не правильно что то сделал

Добавлено (02.10.2011, 17:45)
---------------------------------------------
Блин ну вот квест снова не получился, уже раз 3 или 4 пробую сделать и не получается


Да укроет тебя тень
 
GranvidДата: Понедельник, 03.10.2011, 12:36 | Сообщение # 13
Странник
Группа: Пользователь
Сообщений: 5
Статус:
Спасибо

Да укроет тебя тень
 
vladadajucДата: Воскресенье, 23.10.2011, 19:51 | Сообщение # 14
Странник
Группа: Пользователь
Сообщений: 8
Статус:
а ты на свой квест который создал дай сылку штобы скачять ,или ты уже его удалили ?
 
РусДата: Воскресенье, 23.10.2011, 19:55 | Сообщение # 15
Тан
Группа: V.I.P.
Сообщений: 338
Статус:
vladadajuc, это пример как делать квест, а не плаг который можно скачать

 
Форум » The Elder Scrolls IV: Oblivion » Модострой TES IV » Как создать квест? (Вот так.)
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск: