Котошметик 116 Опубликовано 17 Декабря 2020 Поделиться Опубликовано 17 Декабря 2020 Извиняюсь за очень тупой вопрос, но как засчитать задание и выдать новое при поднятии квестового предмета? Ну, да поможет Вам F1, да сохранит Вас F2, во имя Control`а, Alt`а и святого Delet`а. Enter. Ссылка на комментарий
Купер 2 889 Опубликовано 17 Декабря 2020 Поделиться Опубликовано 17 Декабря 2020 @Котошметик, infoportion_set_complete использовать. С соответствующим поршнем, запускающим второе задание. На примере почти оригинала. Унифицировать, откровенно говоря, лень: gamedata\config\gameplay\tasks_escape.xml Скрытый текст Первое задание: <game_task id="tutorial_find_artefact"> <title>tutorial_find_artefact</title> <objective> ...Поршень для закрытия первого задания: <infoportion_complete>tutorial_artefact_gain</infoportion_complete> </objective> <objective> <text>tutorial_find_artefact_1</text> ...Поршень для закрытия первого задания: <infoportion_complete>tutorial_artefact_gain</infoportion_complete> Вот здесь выдаём поршень, который запустит второе задание: <infoportion_set_complete>escape_dynamite_start</infoportion_set_complete> </objective> </game_task> Второе задание: <game_task id="esc_dinamit_to_volk"> ... </game_task> gamedata\config\gameplay\info_l01escape.xml Скрытый текст Поршни первого задания <info_portion id="tutorial_artefact_start"> <task>tutorial_find_artefact</task> -- первое задание взяли </info_portion> <info_portion id="tutorial_artefact_gain"></info_portion> --первое задание завершили Поршень, запускающий второе задание: <info_portion id="escape_dynamite_start"> <task>esc_dinamit_to_volk</task> -- запуск второго задания </info_portion> gamedata\sripts\escape_tasks.script Скрытый текст Проверяем наличие квестового предмета для первого задания: ... if has_alife_info("tutorial_artefact_start") and -- первое задание взяли not has_alife_info("tutorial_artefact_gain") and -- но не закончили actor:object("af_blood_tutorial") ~= nil -- если предмет взяли, то then actor:give_info_portion("tutorial_artefact_gain") -- выдаём поршень закрытия первого задания. end 1 Ссылка на комментарий
Saboteur 2 Опубликовано 21 Апреля 2021 Поделиться Опубликовано 21 Апреля 2021 Здравствуйте. На работе появилось свободное время и комп. Решил тряхнуть стариной и вспомнить "а что же я такого 10 лет тому делал". И соответственно появилось три вопроса. Понимаю, что ответы были уже, но всё это сейчас очень трудно ищется, и прошу вас (если действительно были ответы) ткнуть носом в нужно место. 1. Диалог с торговцем. Как сделать чтобы до диалога у торговца не было ничего? 2. Читерство. Подходишь ты к продавану в самом начале игры, у тебя 100500 денег и ты рад, но продаван вместо этого тебе в ответ "Что-то ты больно быстро обзавёлся такой суммой, а не наколотил ли ты бабушек в подворотне?" и соответственно посылает тебя в сад. Условно какой-то формулой "время-деньги". 3. Артефакт. Чтобы артефакт в продаже у продавана был, а вот из аномалии он вылететь не мог. Т.е. (условно) искусственный артефакт, который получили в лаборатории или как пример: челюсть кровососа после трамплина. Заранее благодарю за помощь и прошу прощения если не в том месте задан вопрос. Ссылка на комментарий
HellRatz 2 891 Опубликовано 23 Апреля 2021 Поделиться Опубликовано 23 Апреля 2021 @Saboteur 1. Наверно сделать подгрузку ассортимента после получения инфопоршня. У торговцев в чистой игре ассортимент меняется после прохождения квестов (после выдачи определенного инфопоршня). Поговорил, получил инфо, ассортимент обновился. Настраивается все в файлах торговли конкретного торговца. 2. На каком моменте должен посылать? При подходе, при диалоге, при попытке торговать? Я не помню, есть ли в игре функция, проверяющая количество денег у игрока. Вроде должна быть. Делаешь проверку на нее в нужный момент. Например зашиваешь в рестриктор около торговца и запрещаешь разговор, ставишь прекондишн в диалоги (чтобы одни ветки отключались, но включалась нужная), а вот как на кнопку торговли повесить эту проверку - не знаю. Или движок править, или как-то отслеживать нажатие. 3. Просто создать артефакт и не прописывать его в рождаемость аномалий, прописать торговцу как другие предметы. GTA 3 MAP X-Ray | NFS U:2 MAP X-Ray | RTCW MAP X-Ray | L2D | Раритетные моды на моем облаке — на память о былом. Ссылка на комментарий
AndreySol 215 Опубликовано 24 Апреля 2021 Поделиться Опубликовано 24 Апреля 2021 21.04.2021 в 18:46, Saboteur сказал(а): 2. Читерство. Во первых, чисто по жизненной логике - чушь, чтоб торгаш, находящийся нелегально в ЧЗО, по сути под статьей, и сбывающий нелегально скупленные у нелегальных сталкеров артефакты, и чтоб он выеживался на тему откуда у конкретного сталкера взялись деньги??? Во вторых, что бы вы не навертели в диалогах и конфигах против читера - если он знает как использовать команду give_money, то что ему помешает найти и убрать из скриптов\конфигов все ваши "противучитерские" затычки? 2 Ссылка на комментарий
Orсhello 6 Опубликовано 30 Августа 2022 Поделиться Опубликовано 30 Августа 2022 (изменено) По всем интернетам обучалки такие - "копируем это, вставляем в это(только буквы поменяйте на свои)". Непонятно, что, зачем, как это работает? Меня же интересует такой вопрос - структура построения квеста, не знаю, как это правильно назвать. Т.е., в bind_stalker.script строка self.object:give_info_portion("storyline_actor_start") даёт инфопоршень "storyline_actor_start". Это я понял. Дальше уже в тумане. Вроде, \gamedata\config\gameplay\info_portions.xml это читает, и что-то там делает. Нарисуйте мне, пожалуйста, что-то типа: Конкретно хочу сделать следующее - в начале НИ даётся квест "Забрать шняжку". Рядом бегает бандит с 0.25 хп и дружески настроеный к ГГ кровосос. Мне остаётся подойти, забрать с трупа шняжку, должен появиться кв "Отдай шняжку барыге" и стрелочка в ПДА на барыгу. Изменено 30 Августа 2022 пользователем Orсhello Добавлено Опричник, 30 Августа 2022 Перемещено. teleos@bk.ru Раскрутка соц.сетей, видео. Зарабатываю на жизнь тут. Ссылка на комментарий
Tiran_ua 0 Опубликовано 15 Февраля 2023 Поделиться Опубликовано 15 Февраля 2023 Всем добра! Подскажите пожалуйста как сделать повторяющимся сторилайновый квест? Простое убирание инфопоршнов не помогает Ссылка на комментарий
kadanec 0 Опубликовано 28 Февраля 2023 Поделиться Опубликовано 28 Февраля 2023 Ребята подскажите пожалуйста,хочу создать квест на платформе зов припяти(а точнее зов Чернобыля) на уничтожение лагеря,с чего лучше начинать,где смотреть?Извиняюсь за тупость если что… Ссылка на комментарий
Stalkersof 181 Опубликовано 16 Ноября Поделиться Опубликовано 16 Ноября (изменено) Доброе утро. Пытаюсь добавить новому нпс однотипные квесты(работу). Диалоги все появляются но при взятии задания принести артефакт.Вылет. Вчем может быть проблема? Огср движок Скрытый текст FATAL ERROR [error]Expression : start_node && path [error]Function : CXml::NavigateToNode [error]File : D:\a\OGSR-Engine\OGSR-Engine\ogsr_engine\xrCore\XML_Parser\xrXMLParser.cpp [error]Line : 95 [error]Description : NavigateToNode failed in XML file [error]Arguments : gameplay\game_tasks.xml [16.11.24 04:43:45.009] ***************************[ScriptCrashHandler]********************************** [16.11.24 04:43:45.009] stack traceback: [C]: in function 'load' d:\Мод fgm\fgm_v_1_7_4\gamedata\scripts\task_manager.script:311: in function 'action_give_task' d:\Мод fgm\fgm_v_1_7_4\gamedata\scripts\task_manager.script:1066: in function <d:\Мод fgm\fgm_v_1_7_4\gamedata\scripts\task_manager.script:1065> [16.11.24 04:43:45.009] Locals: [16.11.24 04:43:45.009] userdata (*temporary) : (CGameTask): 0000019A3ECDC5F0 [16.11.24 04:43:45.009] string (*temporary) : artefact_cit_vp [16.11.24 04:43:45.009] End само задание Скрытый текст [tm_vasiliy_1] type = artefact community = actor text = text_tm_vasiliy_1 description = desc_tm_vasiliy_1 parent = cit_vp target = af_medusa reward_money = 2000 reward_reputation = +10 Изменено 16 Ноября пользователем Stalkersof Freeplay Graphic Mod(FGM) Ссылка на комментарий
Купер 2 889 Опубликовано 16 Ноября Поделиться Опубликовано 16 Ноября @Stalkersof , dialogs.xml: Скрытый текст <dialog id="tm_barman_dialog" priority="-1"> <init_func>task_manager.init_barman_task_dialog</init_func> </dialog> <dialog id="tm_barman_reward" priority="0"> <init_func>task_manager.init_barman_reward_dialog</init_func> <precondition>task_manager.has_active_vendor_task</precondition> </dialog> game_tasks_by_vendor.xml - вот это первым делом проверить. Скрытый текст <!-- barman --> <game_task id="eliminate_lager_barman"> <title>title</title> <objective> <text>objective</text> <icon>ui_iconsTotal_eliminate_lager</icon> <function_complete>task_manager.task_complete</function_complete> <function_fail>task_manager.task_fail</function_fail> </objective> </game_task> task_manager.script Скрытый текст local parent_by_story = { [003] = "trader", [500] = "barman", [902] = "ecolog", [507] = "dolg", [707] = "freedom", [006] = "wolf", [004] = "shustriy", [510] = "drunk_dolg", [504] = "hunter", [518] = "zastava_commander", [506] = "petrenko", [607] = "lisiy", [515] = "mercenary" } local story_by_parent = { trader = 003, barman = 500, ecolog = 902, dolg = 507, freedom = 707, wolf = 006, shustriy = 004, drunk_dolg = 510, hunter = 504, zastava_commander = 518, petrenko = 506, lisiy = 607, mercenary = 515 } ? 1 1 Ссылка на комментарий
Stalkersof 181 Опубликовано 16 Ноября Поделиться Опубликовано 16 Ноября Еще такой вопрос по однотипным квестам. Сделал два квеста с идентификатором find_item (поиск предмета) но отображается только один, т.е нельзя сделать чтоб два квеста отображались в диалоге с одним идентификатором или можно как то. Freeplay Graphic Mod(FGM) Ссылка на комментарий
Купер 2 889 Опубликовано 17 Ноября Поделиться Опубликовано 17 Ноября @Stalkersof, параметр "приоритет" (prior = ) в task_manager.ltx у заданий какой? Вроде должно нормально отрабатывать этот момент даже в оригинале. Подводные камни: 1. Активным по умолчанию всё равно может быть только 1 квест данного типа (в task_manager.script у GSC даже комментарий есть по этому поводу). Без правки кода одновременно "найти" 2 предмета не получится (2 активных задания одного типа у вендора быть не может). 2. Если не ошибаюсь, это всё пишется в pstore actor-a, а он очень ограничен по размеру, т.е. следить за возможным переполнением. Что там по этому поводу в OGSR сделано - . 1 Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти