UnLoaded 313 Опубликовано 21 Августа 2016 Поделиться Опубликовано 21 Августа 2016 Что нужно написать Писать не надо, надо прочитать "Уроки по модостроению"(и "Справочник по ф-циям и классам" до кучи), там полно примеров и разъяснений... Ссылка на комментарий
Mr. KoT 43 Опубликовано 22 Августа 2016 Поделиться Опубликовано 22 Августа 2016 @UnLoaded, ого. Мне только надо функцию выдачи предмета ГГ в диалоге. Ссылка на комментарий
Пикадоний 0 Опубликовано 29 Августа 2016 Поделиться Опубликовано 29 Августа 2016 , function complete_----_(first_speaker, second_speaker) -- получение предметаdialogs.relocate_money(second_speaker, 1500, "in") end Вроде будет так, если не ошибся.) Ссылка на комментарий
alkogolik 43 Опубликовано 31 Августа 2016 Поделиться Опубликовано 31 Августа 2016 (изменено) function название(first_speaker, second_speaker) dialogs.relocate_item_section(second_speaker, "предмет","in") end Получение предмета через диалог. function название(first_speaker, second_speaker) dialogs.relocate_money(second_speaker, 2000, "in") end Получение денег через диалог 2000 руб. Изменено 31 Августа 2016 пользователем alkogolik Ссылка на комментарий
kramer 62 Опубликовано 3 Октября 2016 Поделиться Опубликовано 3 Октября 2016 (изменено) Посоветуйте пожалуйста кто может. Первый раз пишу стандартные квесты - пойди/принеси. Вроде бы все делаю правильно, по инструкции. Работает все как надо. Но вот маленькая неувязочка - куда вставляю последнюю функцию action - выдать награду, после той фразы остальной диалог прокручивается и окно диалога закрывается. В журнале ПДА все последующие фразы видны. Проблема не критичная, но хочется посмотреть в окне диалога награду, а ее не успеваешь увидеть - мелькает за секунду. Проверил оригинал ТЧ, там такая же беда, когда Волк выдает оружие, то окно диалога сразу же закрывается, не успеваешь в окне увидеть, что-же он тебе дал. Инфопоршн и сдача квестого предмета так себя не ведут, а вот выдача награды - да. К чему-то выдача награды привязана с такими последствиями? Может немного непонятно получилось? Вот диалог <dialog id="shilov_kvest_finish"> <has_info>shilov_kvest_start</has_info> <dont_has_info>shilov_kvest_end</dont_has_info> <precondition>kramer_kvest.shilov_precond</precondition> <phrase_list> <phrase id="0"> <text>shilov_kvest_5</text> <action>kramer_kvest.shilov_give_disk</action> <next>1</next> </phrase> <phrase id="1"> <text>shilov_kvest_6</text> <give_info>shilov_kvest_end</give_info> <next>2</next> </phrase> <phrase id="2"> <text>shilov_kvest_7</text> <action>kramer_kvest.shilov_reward</action> </phrase> </phrase_list> </dialog> фраза 0 - "принес диск" (отдача), фраза 1 - "давай сюда", вот награда (задание окончено), фраза 2 - "спасибо", выдача награды. В таком порядке после "спасибо" награда мелькает в окне диалога, как в оригинале ТЧ с Волком. Когда я пытался функцию "выдача награды" передвигать в ранние фразы, то все равно происходило то же самое, даже спасибо не успевал сказать. А в в журнале ПДА это "спасибо", сказанное мной, было. Изменено 3 Октября 2016 пользователем kramer Ссылка на комментарий
Overfirst 631 Опубликовано 3 Октября 2016 Поделиться Опубликовано 3 Октября 2016 @kramer, поменяй action'ы выдачи награды и закрытия диалога местами. Тогда первым делом закроется диалог, а потом появятся уведомления о полученных предметах. Ранее был известен под ником BoBaH_671. Ссылка на комментарий
kramer 62 Опубликовано 3 Октября 2016 Поделиться Опубликовано 3 Октября 2016 (изменено) Пробовал, вроде бы логично. Но эффект такой же, только еще и функция об окончании задания не срабатывает. По этим трем фразам я эти три функции туда обратно гонял множество раз, в разных комбинациях. Постоянным остается только реакция окна диалога на функцию награды - закрывается Пробовал и еще инфопоршн добавлять в конце, добавляя пару фраз диалога, чтобы удержать окно открытым. Не помогает. Вот так могу удержать окно открытым. Если вместо предыдущих дву функций (которые на скрине) добавлять или менять местами с наградой - проскакивает. P.S. Приношу свои извинения за перевод байтов. Если можно стереть мои предыдущие посты по надуманной проблеме, то было бы неплохо. Оказывается, в момент получения награды (пистолета) пистолетный слот был пуст, поэтому при отработке функции "награда", ГГ сразу выхватывал пистолет и выбрасывал из окошка диалога. Убрав пистолет из награды, проблема исчезла.Еще раз извиняюсь... Изменено 3 Октября 2016 пользователем kramer 1 Ссылка на комментарий
nego 35 Опубликовано 13 Октября 2016 Поделиться Опубликовано 13 Октября 2016 Здравствуйте ВАМ. Нужна помощь. Создал квест. Главный вояка на кордоне дал задание выполнять приказы командира агропрома. Командир агропрома дает задание свое. Как сделать активным квест ком. агропрома, т.к. активным светится задание командира кордона? Одна голова хорошо, а две лучше. А вот три, это уже змей Горыныч. Ссылка на комментарий
UnLoaded 313 Опубликовано 13 Октября 2016 Поделиться Опубликовано 13 Октября 2016 Эммм, если я правильно понял вопрос, то тебе надо смотреть в сторону тега "prio"(от слова "приоритет") в конфигах заданий. Я об этом: <game_task id="val_come_to_trader" prio="395"> <title>val_come_to_trader_1</title> <objective key="0"> ................ .................... При выдаче задания, если у него будет "prio" выше чем у остальных, ранее выданных, то это задание станет активным. Ссылка на комментарий
nego 35 Опубликовано 15 Октября 2016 Поделиться Опубликовано 15 Октября 2016 Здравствуйте ВАМ. Разобрался с приоритетами. Чем меньше цифра, тем выше приоритет квеста. Короче, прио =5 отходит на потом если другой квест имеет прио=1. Может кому то пригодится. Одна голова хорошо, а две лучше. А вот три, это уже змей Горыныч. Ссылка на комментарий
QuestRider 2 Опубликовано 14 Декабря 2016 Поделиться Опубликовано 14 Декабря 2016 (изменено) Кто подскажет в чем фигня? Я после взятия квеста, отношу предмет Бармену, но задание не обновляется, как исправить? <game_task id="walk_to_barmen_quest"> <title>Посыльный</title> <objective> <text>Передать флеш-диск</text> <icon height="50" width="50" x="100" y="50">ui\ui_icons_task</icon> <infoportion_set_complete>quest_walktobarman_done</infoportion_set_complete> </objective> <objective> <text>Передать Бармену флешку</text> <map_location_type hint="bar_barman">blue_location</map_location_type> <object_story_id>bar_Barman</object_story_id> <infoportion_complete>quest_walktobarman_one</infoportion_complete> </objective> <objective> <text>Принести документ Сидоровичу</text> <map_location_type hint="escape_trader">blue_location</map_location_type> <object_story_id>Escape_Trader</object_story_id> <infoportion_complete>quest_walktobarman_done</infoportion_complete> </objective> </game_task> В info_l01escape вот эти инфопоршни <info_portion id="quest_walktobarman_started"> <task>walk_to_barmen_quest</task> </info_portion> <info_portion id="quest_walktobarman_one"></info_portion> <info_portion id="quest_walktobarman_done"></info_portion> вот Диалог Сидора <dialog id="walk_to_barman"> <has_info>tutorial_end</has_info> <dont_has_info>quest_walktobarman_started</dont_has_info> <phrase_list> <phrase id="5"> <text>walk_to_barman_5</text> </phrase> <phrase id="1"> <text>walk_to_barman_1</text> <next>2</next> </phrase> <phrase id="2"> <text>walk_to_barman_2</text> <next>3</next> </phrase> <phrase id="3"> <text>walk_to_barman_3</text> <next>4</next> <next>5</next> </phrase> <phrase id="0"> <text>walk_to_barman_0</text> <next>1</next> </phrase> <phrase id="4"> <text>walk_to_barman_4</text> <give_info>quest_walktobarman_started</give_info> <next>6</next> </phrase> <phrase id="6"> <text>walk_to_barman_6</text> <action>quest_escape.quest_flash_walktobarman</action> </phrase> </phrase_list> </dialog> <dialog id="walk_to_barman_done"> <has_info>quest_walktobarman_one</has_info> <dont_has_info>quest_walktobarman_done</dont_has_info> <phrase_list> <phrase id="7"> <text>walk_to_barman_done_7</text> <next>8</next> </phrase> <phrase id="8"> <text>walk_to_barman_done_8</text> </phrase> <phrase id="5"> <text>walk_to_barman_done_5</text> <next>6</next> </phrase> <phrase id="1"> <text>walk_to_barman_done_1</text> <next>2</next> </phrase> <phrase id="2"> <text>walk_to_barman_done_2</text> <next>3</next> </phrase> <phrase id="3"> <text>walk_to_barman_done_3</text> <next>4</next> </phrase> <phrase id="0"> <text>walk_to_barman_done_0</text> <next>1</next> </phrase> <phrase id="6"> <text>walk_to_barman_done_6</text> <next>7</next> </phrase> <phrase id="4"> <text>walk_to_barman_done_4</text> <action>quest_escape.quest_doc_walktobarman_dat_item</action> <give_info>quest_walktobarman_done</give_info> <next>5</next> </phrase> </phrase_list> </dialog> И Бармена <dialog id="bar_quest_walk_to_barmen_one"> <has_info>quest_walktobarman_started</has_info> <dont_has_info>quest_walktobarman_one</dont_has_info> <phrase_list> <phrase id="2"> <text>bar_quest_walk_to_barmen_one_2</text> <next>3</next> </phrase> <phrase id="1"> <text>bar_quest_walk_to_barmen_one_1</text> <next>2</next> </phrase> <phrase id="3"> <text>bar_quest_walk_to_barmen_one_3</text> <action>quest_escape.quest_doc_walktobarman</action> <next>4</next> </phrase> <phrase id="0"> <text>bar_quest_walk_to_barmen_one_0</text> <action>quest_escape.quest_flash_walktobarman_dat_item</action> <give_info>quest_walktobarman_one</give_info> <next>1</next> </phrase> <phrase id="4"> <text>bar_quest_walk_to_barmen_one_4</text> </phrase> </phrase_list> </dialog> Изменено 14 Декабря 2016 пользователем Kirgudu Добавлено Kirgudu, 14 Декабря 2016 Пункты 2.4 и 2.9 правил форума, строгое предупреждение. Ссылка на комментарий
naxac 2 445 Опубликовано 15 Декабря 2016 Поделиться Опубликовано 15 Декабря 2016 @QuestRider, замени в верхнем блоке таска <infoportion_set_complete>quest_walktobarman_done</infoportion_set_complete>на <infoportion_complete>quest_walktobarman_done</infoportion_complete> Аддон для ОП-2.09.2: Яндекс/Google/GitHub Ссылка на комментарий
QuestRider 2 Опубликовано 17 Декабря 2016 Поделиться Опубликовано 17 Декабря 2016 (изменено) Парни, подайте идей для квестов. Квестодатель: Ридер Группировка: Долг Месторасположение: Кордон Любые квесты, но первые на кордоне. Вот история: Меченный, я прав? Ну ладно расскажу мою историю... Я долговец, тоесть был им, на Армейских складах я со своим отрядом нарвался на мутантов, их вроде кровососами называют, мы их перестреляли, благо без потер обошлось. Но около водонопорной башни увидели наймов, они явно кого-то выссматривали, ну и нас заметили. Ну, короче я остался без отряда и пошел к начальству говорить, что миссию не смог выполнить, а когда двигался в сторону бара, нарвался на телепорт, представляешь впервые увидел телепорт в зоне, около забора был. Ну после вспышки я оказался на кордоне, ну и решил тут остатся. Вот квест, правильно ли все написал? Скрипты: function add_dolg () alife():create("esc_quest_rider",vector():set(-192.22,-17.96,-137.801),244704,111) end function artefact_mayatnik_have() if db.actor:object("af_medusa") then return true end return false end function artefact_mayatnik_give(first_speaker, second_speaker) dialogs.relocate_item_section(second_speaker, "af_medusa", "out") end Песронаж: character_desc_escape <!---------------------------------------esc_quest_rider-----------------------------------------------------> <specific_character id="esc_quest_rider" team_default = "1"> <name>esc_quest_rider_name</name> <icon>ui_npc_u_stalker_do_antigas</icon> <bio>esc_fanat_bio</bio> <class>esc_rider</class> <community>dolg</community> <terrain_sect>stalker_terrain</terrain_sect> <rank>678</rank> <reputation>10</reputation> <money min="12000" max="20000" infinitive="0"/> <snd_config>characters_voice\human_01\stalker\</snd_config> <crouch_type>-1</crouch_type> <panic_treshold>0</panic_treshold> <visual>actors\dolg\stalker_do_antigas</visual> <supplies> [spawn] \n wpn_pm \n ammo_9x18_fmj = 1 \n wpn_ak74 \n ammo_5.45x39_fmj \n </supplies> #include "gameplay\character_criticals_4.xml" <start_dialog>escape_quest_rider_startdialog</start_dialog> <start_dialog>dm_hello_dialog</start_dialog> <actor_dialog>dm_cool_info_dialog</actor_dialog> <actor_dialog>dm_help_wounded_medkit_dialog</actor_dialog> <actor_dialog>quest_ot_ridera_let1</actor_dialog> <actor_dialog>quest_ot_ridera_let1_done</actor_dialog> </specific_character> npc_profile <character id="esc_quest_rider"> <class>esc_rider</class> </character> spawn_section [esc_quest_rider]:stalker $spawn = "respawn\esc_quest_rider" character_profile = esc_quest_rider spec_rank = veteran community = dolg custom_data = scripts\esc_questriders_log.ltx Логика в esc_questriders_log [logic] active = remark@base danger = danger_condition meet = meet [remark@base] anim = wait no_move = true target = nil meet = meet [meet] meet_state = 10|hello@hail| 10|wait@wait meet_state_wpn = 10| hello@talk_hello| 10| threat@threat_weap victim_wpn = 5|actor use = true use_wpn = false Квест tasks_escape.ltx <game_task id="quest_mayatnik_on_ac"> <title>quest_mayatnik</title> <objective> <icon>ui_iconsTotal_tutorial_find_artefact</icon> <article>find_artefact_mayatnik</article> <infoportion_complete>esc_quest_for_AC_done</infoportion_complete> </objective> <objective> <text>finded_artefact_mayatnik</text> <function_complete>escape.artefact_mayatnik_have</function_complete> <infoportion_complete>esc_quest_for_AC_have</infoportion_complete> <infoportion_set_complete>esc_quest_for_AC_have</infoportion_set_complete> </objective> <objective> <text>finded_artefact_mayatnik_1</text> <infoportion_complete>esc_quest_for_AC_done</infoportion_complete> </objective> </game_task> Диалоги <dialog id="quest_ot_ridera_let1"> <has_info>startdialog_with_rider</has_info> <dont_has_info>esc_quest_for_AC</dont_has_info> <phrase_list> <phrase id="1"> <text>quest_ot_ridera_let1_1</text> <next>2</next> </phrase> <phrase id="2"> <text>quest_ot_ridera_let1_2</text> <next>3</next> </phrase> <phrase id="3"> <text>quest_ot_ridera_let1_3</text> <next>4</next> </phrase> <phrase id="4"> <text>quest_ot_ridera_let1_4</text> <next>5</next> </phrase> <phrase id="5"> <text>quest_ot_ridera_let1_5</text> <next>6</next> </phrase> <phrase id="6"> <text>quest_ot_ridera_let1_6</text> <give_info>esc_quest_for_AC</give_info> </phrase> <phrase id="0"> <text>quest_ot_ridera_let1_0</text> <next>1</next> </phrase> </phrase_list> </dialog> <dialog id="quest_ot_ridera_let1_done"> <has_info>esc_quest_for_AC_have</has_info> <dont_has_info>esc_quest_for_AC_done</dont_has_info> <phrase_list> <phrase id="4"> <text>quest_ot_ridera_let1_done_4</text> </phrase> <phrase id="1"> <text>quest_ot_ridera_let1_done_1</text> <next>2</next> </phrase> <phrase id="0"> <text>quest_ot_ridera_let1_done_0</text> <next>1</next> </phrase> <phrase id="3"> <text>quest_ot_ridera_let1_done_3</text> <next>4</next> </phrase> <phrase id="2"> <text>quest_ot_ridera_let1_done_2</text> <action>escape.artefact_mayatnik_give</action> <give_info>esc_quest_for_AC_done</give_info> <next>3</next> </phrase> </phrase_list> </dialog> И инфопоршни <info_portion id="esc_quest_for_AC"> <task>quest_mayatnik_on_ac</task> </info_portion> <info_portion id="esc_quest_for_AC_have"></info_portion> <info_portion id="esc_quest_for_AC_done"></info_portion> Изменено 17 Декабря 2016 пользователем QuestRider 1 Ссылка на комментарий
AlexUSSR 41 Опубликовано 26 Января 2017 Поделиться Опубликовано 26 Января 2017 @QuestRider, долговец или должен стремиться вернуться в группировку, или стать одиночкой. Как вариант, первый квест должен быть типа "я ранен, не могу вернуться к долгу, принеси аптечек", или "у меня сломан КПК, не могу связаться с долгом, будешь проходить мимо бара, передай от меня весточку" а в ответку будет задание отнести новый КПК и помочь вернуться, на эту ветку можно легко навесить еще несколько побочных "сбегай принеси". @QuestRider, если хочешь больше приключений, то сначала "принеси аптеку, оружие просеял и патроны кончились, потом "чет я притомился от этой долговской дисциплины, вот говорят в ТД лафа", а ГГ "да не вопрос, я слетаю разузнаю чо как", общается со специально созданным бандюком, который враг, но можно поговорить, Боров через него передает запрос на ништяки, ГГ летит к долговцу, тот дает наводку на нычку с ништяками, Боров разрешает придти, но у долговца КПК сломан и невозможно перепрописать группировку (или даже "как вовремя КПК сломался, хочу начать все с нуля", ГГ летит к Сидору просить КПК, тот или посылает, или совсем посылает, потом ГГ с бывшим долговцем приходят в ТД, а Боров или передумал, или хочет больше; долговец "Ну йо, чувак, ну нафиг, хочу к свободе", ГГ летит к Лукашу... Ссылка на комментарий
Тень121 755 Опубликовано 26 Января 2017 Поделиться Опубликовано 26 Января 2017 Терзают меня смутные сомненья, прав я или неправ написав в данную тему по поводу квестов. Но сделав шаг, делай второй. Погнали. Есть во многих модах потребность в ключевых НПС и есть моменты когда эти НПСы мрут по разным не зависящим от нас причинам, тем самым устраивая нам затык в прохождении мода, либо квеста. Так вот эти причины можно исправить, т.е. например грозит опасность "ключу" , Гг получает СМСку " Сталкеру Петрову грозит опасность, осталось жить 25 минут" и вперёд ноги в руки помогать, выручать, лечить, кормить, отстреливать мутиков, наймов, гопарей, снимать с дерева и т.д. Тебе "ключ" нужен, ты и заботится должен о нём, хотя бы на соседних локах. Даже если ты с перегрузом, сам погибай (сбрасывай хабар) , а товарища выручай. Возможно применить таймер. Берегите патроны, особенно если он последний. Ссылка на комментарий
Expropriator 2 118 Опубликовано 26 Января 2017 Поделиться Опубликовано 26 Января 2017 (изменено) @тень121, и сам потом играть будешь в этот мод. Квесты не должен игрок контролировать, тем более с таймером. Согласен когда ты нажал кнопку взрывателя и надо убежать за 1 минуту, то да. Квесты не должны принуждать игрока к их строгой последовательности. Я считаю, что квесты должны базироваться на фриплее - хочешь выполняй, хочешь нет. А что бы неписи не дохли квестовые, то их надо обезопасить, например зоной как на Скадовске или бессмертием. Изменено 26 Января 2017 пользователем Дизель 1 Ссылка на комментарий
Тень121 755 Опубликовано 26 Января 2017 Поделиться Опубликовано 26 Января 2017 зоной как на Скадовске или бессмертием. Позволь не согласиться. Давай Кузнецова с Кардона, Адреналина с Агры и т.д. запрём в резервацию на Свалке, что бы ближе к ним бегать было. С уважением отношусь к ветеранам модостроя, но дружище, тебя сами модеры порвут за такую глупость. Бессмерные, да один из вариаетов, но не айс, теряем возможность приклеить им квестовую составляющую. А вот это хочешь выполняй, хочешь нет, да после нескольких не выполненных квестов, ГГ будет в дупе с репой, без необходимых предметов для дальнейшего прохождения мода и жизнедеятельности. Все квесты кроме "иди сюда, пошёл на фиг" подразумевают под своим исполнением линейку для дальнейшего прохождения, замечу обязательного прохождения. и сам потом играть будешь в этот мод С удовольствием, для меня сюжетники это основа. Например сейчас прохожу новую Соль. Я далёк от той мысли что ты за "пятиминутные" модики, коих развелось как блох на собаке. @Дизель, Мы с тобой в один день регались. Да бываю же такие совпадения. Берегите патроны, особенно если он последний. Ссылка на комментарий
naxac 2 445 Опубликовано 27 Января 2017 Поделиться Опубликовано 27 Января 2017 (изменено) после нескольких не выполненных квестов, ГГ будет в дупе с репой, без необходимых предметов для дальнейшего прохождения модаТакие моменты должен предусмотреть тот, кто пишет сюжет. Почему игрок должен париться из-за того, что разработчику было лень проработать все возможнве варианты развития событий? Если в игре ГГ - нянькa, которая обязана заботиться о всех подряд, то это уже не игра, а детский сад какой-то.Я так думаю, по крайней мере. Может, кому-то роль "няньки" и нравится. Изменено 27 Января 2017 пользователем naxac 1 Аддон для ОП-2.09.2: Яндекс/Google/GitHub Ссылка на комментарий
Тень121 755 Опубликовано 27 Января 2017 Поделиться Опубликовано 27 Января 2017 @naxac, Квест (англ. quest), или приключенческая игра (англ. adventure game) — один из основных жанров компьютерных игр, представляющий собой интерактивную историю с главным героем, управляемым игроком. Важнейшими элементами игры в жанре квеста являются собственно повествование и обследование мира, а ключевую роль в игровом процессе играют решение головоломок и задач, требующих от игрока умственных усилий. Фриплей не для всех, таких модов несколько. Хотя всё верно на вкус и цвет все фломастеры разные. 2 Берегите патроны, особенно если он последний. Ссылка на комментарий
Deader 29 Опубликовано 31 Января 2017 Поделиться Опубликовано 31 Января 2017 Если в игре ГГ - нянькa, которая обязана заботиться о всех подряд, то это уже не игра, а детский сад какой-то. Хорошая формулировка. Точная. На мой взгляд квесты должны быть как-бы ненавязчивыми и свободными. ГГ же не срочник второго месяца, чтоб метаться по зоне как по команде. Да и квести типа принеси/убей без доп. составляющей (как обычно в модах) отбивают всякое желание играть дальше. Можно же заполнить его так, чтобы это была какая-то маленькая история с какой-то интригой, чтоб не просто пошел стрельнул и пришел, а надо и голову поломать, и поднапрчься, и еще даполнительную вводную в процессе получить. И главное - квесты не должны повторяться. Нет никакого интереса пойти три раза подряд принести тр разныых пушки, валяющихся в разных местах зоны, по 500 р за ходку. Тут и должен поработать сценарист, чтоб не просто например, пойти взять, но и найти надо, и головой поработать. Например, ствол уникальный, известно только в какой области он может быть. А там и все остальное, вплоть до того, что он в инвентаре у какого-нибудь непися. И с риском того, что в случае если непись сгинет и не найдешь ничего. Ну и награда сообветствующая. И квест не должен выполнятья за 5 мин. игрового времени, 4 из готорых ГГ тратит на путь туда и обратно. 2 Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти