ZeeK 57 Опубликовано 24 Декабря 2009 Поделиться Опубликовано 24 Декабря 2009 (изменено) ААА блин фот фигня...незаметил! Добавлено через 11 мин.: Эмм не помогает вот другой пример <game_dialogs> <dialog id="havchik_quest_dialog"> <dont_has_info>quest_havchik_done</dont_has_info> <dont_has_info>quest_havchik_give</dont_has_info> <phrase_list> <phrase id="1"> <text>Да шепнули мне, что проход есть на новую территорию около Янова, вот и решил ребятишек туда своих послать что бы порядок навели...ты помагика нам, принеси еды, оружия...</text> <next>21</next> <next>22</next> </phrase> <phrase id="21"> <text>Согласен, скоро буду.</text> <next>3</next> </phrase> <phrase id="3"> <text>Отлично! Я сразу понял что наш пацан, а не фраер!</text> <<give_info>quest_havchik_give</give_info> <action>dialogs_zaton.give_havchik_quest</action> </phrase> <phrase id="22"> <text>Пошел ты! Сам помагай себе и своей гопоте!</text> <action>dialogs.break_dialog</action> </phrase> <phrase id="0"> <text>Здорово братве! О чем думаем?</text> <next>1</next> </phrase> </phrase_list> </dialog> <dialog id="havchik_quest_prines"> <has_info>quest_havchik_give</has_info> <precondition>dialogs_zaton.is_has_havchik_sultany</precondition> <phrase_list> <phrase id="1"> <text>О, отлично! Теперь мы сможем пройти на Чернобыль-2</text> <give_info>quest_havchik_done</give_info> </phrase> <phrase id="0"> <has_info>quest_has_havchik</has_info> <text>Вот все, что ты просил</text> <action>dialogs_zaton.transfer_havchik_to_sultan</action> <next>1</next> </phrase> </phrase_list> </dialog> Добавлено через 1 мин.: сделал с закрытием по образцу ХМК но таже пока есть разветление в диалоге...убираю его и все нормально там в айди почемуто повторяется 2 и 2..щас поправлю косяк Добавлено через 1 мин.: В тексте по другому 21 и 22 Я тоже с нуля начал Добавлено через 1 мин.: Да такой же но стоит вырезать разветление в диалоге Гг-все норм работает Народ еще один вопрос по квестам: возможно ли сделать что бы после взятия квеста вкл музон скриптовый?! Ну тогда последние 2 вопроса: Как сделать что бы квест сам включался просто так? Как сделать что бы квест вкл если подобрали какой либо предмет? Сообщение от модератора n6260 Любой квест запускается инфопошем - а вызов инфопоша завязать можно на предмет и т.д. Изменено 26 Декабря 2009 пользователем n6260 Не соответствует. N6260 Ссылка на комментарий
Guzerus 0 Опубликовано 24 Декабря 2009 Поделиться Опубликовано 24 Декабря 2009 (изменено) Хм. А почему у тебя есть в next фразы под номером 21 и 22,но в id фраз нет этих 21 и 22? Вопрос. Это так надо,сначала писать фразу 1,а потом 0? Вот. <dialog id="vodka_quest_dialog"> <dont_has_info>quest_vodka_done</dont_has_info> <dont_has_info>quest_vodka_give</dont_has_info> <phrase_list> <phrase id="1"> <text>Принеси бутылочку</text> <give_info>quest_vodka_give</give_info> <action>dialogs_zaton.give_vodka_quest</action> </phrase> <phrase id="0"> <text>Привет, тебе водки не принести?</text> <next>1</next> </phrase> </phrase_list> </dialog> Здесь сначала идёт 1,потом 0. Я всегда с нуля начинаю. Это просто автор так написал,или правило такое? Эх,в который раз убеждаюсь,что в Сталкере осторожность и аккуратность очень и очень нужна. Забыл один знак поставить-вылет. Кажется,проблема вот в чём. Ты пишешь. <<give_info>quest_havchik_give</give_info> Надо один раз "<". Лог такой же с этим диалогом? Изменено 26 Декабря 2009 пользователем n6260 Мой ник читается гузерус. Ссылка на комментарий
LeDemon 26 Опубликовано 24 Декабря 2009 Поделиться Опубликовано 24 Декабря 2009 Строгое предупреждение от модератора assassinDemon Идите в аське чат устраивать. Always, somewhere, someone is fighting for you. Ссылка на комментарий
XMK 24 Опубликовано 24 Декабря 2009 Автор Поделиться Опубликовано 24 Декабря 2009 Эмм не помогает вот другой пример через браузер открой файл он тебе покажет где косяк Здесь сначала идёт 1,потом 0. Я всегда с нуля начинаю. Это просто автор так написал,или правило такое? это просто я в стиле ПЫСов диалоги пишу ZeeK В диалоге прописываешь <action>файл.функция_запуска_музыки</action> логику включайте! Всем остальным! Задаем вопросы касательно создания квестов, а не диалогов! Ссылка на комментарий
Night_SH 0 Опубликовано 25 Декабря 2009 Поделиться Опубликовано 25 Декабря 2009 Всем остальным! Задаем вопросы касательно создания квестов, а не диалогов! :ny_ph34r_1: а может напишешь статью по созаднию хорошего диалога? С большим колличеством веток)) Строгое предупреждение от модератора Halford Юзаем поиск. Есть отдельная тема по диалогам... XMK, сегодня вечером буду писать квест по твоему примеру, если будут вопросы напишу, вроде бы всё понятно... не совсем пойму структуру диалога, что за чем следуюет как указать правильно последовательность... что бы не было сразу ответа на ещё не заданный вопрос. Ах да, и возможно ли сделать квест типа "Убить" или "Зачистить"? В ТЧ всё было реализовано легче... Ссылка на комментарий
XMK 24 Опубликовано 25 Декабря 2009 Автор Поделиться Опубликовано 25 Декабря 2009 (изменено) Любой квест запускается инфопошем - а вызов инфопоша завязать можно на предмет и т.д. прикол в том, что нет... надо всё завязывать на функцию xr_effect.give_task(ID) (если ты только не имел ввиду, то что я написал ниже) Как сделать что бы квест сам включался просто так? on_init - инфопоршень, который "включает" задание но я не проверял, лучше вызывай в нужном моменте функцию, данную выше Night_SH вот 2 статьи (Создание Диалогов | Создание Диалогов (Полный Обзор)). Учись писать диалоги, потом принимайся за квесты Изменено 25 Декабря 2009 пользователем XMK Ссылка на комментарий
ZeeK 57 Опубликовано 25 Декабря 2009 Поделиться Опубликовано 25 Декабря 2009 Эмм самый последний вопрос: как добавлять метки на карту при взятии квеста? Сообщение от модератора n6260 Следующий вопрос будет "самым-самым последним"? Не соответствует. N6260 Ссылка на комментарий
iDreD 5 Опубликовано 25 Декабря 2009 Поделиться Опубликовано 25 Декабря 2009 Делал по мануалу, в итоге... function has_eye3(task, objective) if db.actor ~= nil then return db.actor:object("af_eye") ~= nil end return false end --не работает... function eye_out(first_speaker, second_speaker) dialogs.relocate_item_section(second_speaker, "af_eye", "out") --в диалоге сообщение мол арт отдан а в инвентаре он остается end function val_in(first_speaker, second_speaker) dialogs.relocate_item_section(second_speaker, "wpn_val_m1", "in") end function lck_out(first_speaker, second_speaker) dialogs.relocate_item_section(second_speaker, "lck", "out") --тут такая же проблема... end function has_lck_to_boroda(task, objective) if db.actor ~= nil then return db.actor:object("lck") ~= nil --и здесь не работает end return false end function val_in(first_speaker, second_speaker) dialogs.relocate_item_section(second_speaker, "racia_m2", "in") end function give_lck_quest() task_manager.get_task_manager():give_task("zat_chimera_search_lck") end Работа в Sculptris 3D [туториал] Страничка на Проза.ру Ссылка на комментарий
XMK 24 Опубликовано 25 Декабря 2009 Автор Поделиться Опубликовано 25 Декабря 2009 function has_eye3(task, objective) if db.actor ~= nil then return db.actor:object("af_eye") ~= nil end return false end --не работает... потому что надо function has_eye3(task, objective) if db.actor ~= nil and db.actor:object("af_eye") ~= nil then return true end return false end function has_lck_to_boroda(task, objective) - аналогично function eye_out(first_speaker, second_speaker) dialogs.relocate_item_section(second_speaker, "af_eye", "out") --в диалоге сообщение мол арт отдан а в инвентаре он остается end dialogs.relocate_item_section_from_actor(first_speaker, second_speaker, "af_eye") function lck_out(first_speaker, second_speaker) аналогично Ссылка на комментарий
iDreD 5 Опубликовано 25 Декабря 2009 Поделиться Опубликовано 25 Декабря 2009 Да, разобрался . Теперь другой вопрос, как выдать поршн когда подобрал предмет? Просто у меня возникла проблема с диалогом, ветка в которой нужно отдать предмет появляется раньше, а это критично для квеста... Добавлено: Прекондишн я ставил, он не работает(((... Добавлено через 1 мин.: function has_lck_to_boroda(task, objective) if db.actor ~= nil then return db.actor:object("lck") ~= nil end return false end Вот прекондишн. Работа в Sculptris 3D [туториал] Страничка на Проза.ру Ссылка на комментарий
XMK 24 Опубликовано 25 Декабря 2009 Автор Поделиться Опубликовано 25 Декабря 2009 Он не возвращает значение true если у тебя есть предмет, я же тебе выше писал! function has_lck_to_boroda(task, objective) if db.actor ~= nil and db.actor:object("lck") ~= nil then return true end return false end Ссылка на комментарий
psevdoгринго 6 Опубликовано 26 Декабря 2009 Поделиться Опубликовано 26 Декабря 2009 Да, разобрался happy.gif . Теперь другой вопрос, как выдать поршн когда подобрал предмет? Просто у меня возникла проблема с диалогом, ветка в которой нужно отдать предмет появляется раньше, а это критично для квеста... function actor_has_item() if (db.actor:object("item") ~= nil) and not (db.actor:has_info("actor_has_item")) then db.actor:give_info_portion("actor_has_item") end end 1 Ушёл из модостроения Последний мод http://www.amk-team.ru/forum/index.php?sho...=60#entry351951 Ссылка на комментарий
iDreD 5 Опубликовано 26 Декабря 2009 Поделиться Опубликовано 26 Декабря 2009 Воот, теперь дело пойдет... Выставил бы плюсы да вот месаг еще мало . Работа в Sculptris 3D [туториал] Страничка на Проза.ру Ссылка на комментарий
Po-meceniy 4 Опубликовано 26 Декабря 2009 Поделиться Опубликовано 26 Декабря 2009 psevdoгринго, маленький вопрос - а зачем дважды писать "end"? Ссылка на комментарий
psevdoгринго 6 Опубликовано 26 Декабря 2009 Поделиться Опубликовано 26 Декабря 2009 Один end для function другой для if Ушёл из модостроения Последний мод http://www.amk-team.ru/forum/index.php?sho...=60#entry351951 Ссылка на комментарий
XMK 24 Опубликовано 27 Декабря 2009 Автор Поделиться Опубликовано 27 Декабря 2009 Не флудим! Теперь другой вопрос, как выдать поршн когда подобрал предмет? открываем bind_stalker.script, находим там function actor_binder:on_item_take (obj) и под ней пишемif obj and obj.section_name then if obj:section_name()=="kolbasa" then if not has_alife_info("ИНФОПОРШЕНЬ") then give_info("ИНФОПОРШЕНЬ") end end end 1 Ссылка на комментарий
Po-meceniy 4 Опубликовано 29 Декабря 2009 Поделиться Опубликовано 29 Декабря 2009 С чем может быть связан этот вылет: FATAL ERROR [error]Expression : no_assert [error]Function : CXML_IdToIndex<class CPhraseDialog>::GetById [error]File : D:\prog_repository\sources\trunk\xrServerEntities\xml_str_id_loader.h [error]Line : 112 [error]Description : item not found, id [error]Arguments : pda_vzloman Как я понял, движок жалуется на то, что не может найти итем с таким айди, хотя такой итем нигде не упоминается, есть только инфопоршень с таким названием. Ссылка на комментарий
XMK 24 Опубликовано 30 Декабря 2009 Автор Поделиться Опубликовано 30 Декабря 2009 (изменено) ну дак инфопоршень то пропиши.... в info_zaton.xml к примеру. инфопоршень прописан. идентификатор проверь Ещё вот такой вылет: на чистой игре попробуй, без модов, если с модами проверяй скрипты lua чекером. Изменено 30 Декабря 2009 пользователем XMK Ссылка на комментарий
Po-meceniy 4 Опубликовано 30 Декабря 2009 Поделиться Опубликовано 30 Декабря 2009 (изменено) XMK, инфопоршень прописан. Ещё вот такой вылет: stack trace: 001B:02B4105B lua.JIT.1.1.4.dll Изменено 30 Декабря 2009 пользователем Po-meceniy Ссылка на комментарий
Rseer 0 Опубликовано 7 Января 2010 Поделиться Опубликовано 7 Января 2010 (изменено) Простой квест я создать смог, теперь хотелось бы создать квест более сложный "взяли вещь у одного, отдали второму и вернулись к первому за наградой" прописал этот квест как 2 простых(для каждой части свою функцию, свое условие и т.д). А можно ли это сделать одним квестом с отображением в ПДА? Изменено 7 Января 2010 пользователем Rseer Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти