HellRatz 2 814 Опубликовано 16 Января 2018 Поделиться Опубликовано 16 Января 2018 (изменено) @NL-Vincenz создаешь-то в ТЧ? Не знаю как в ЗП, но в ТЧ последнее подзадание должно быть продублировано в начало блока перед первым заданием, куда и должен быть вписан article. То есть в твоем случае должно быть так (не спрашивай зачем разработчики так сделали, это не игра, а сплошные тайны): Скрытый текст <game_task id="start_pes_kvest"> <title>start_pes_kvest_0</title> <objective> <text>start_pes_kvest_2</text> <!-- последнее подзадание дубль в начале --> <infoportion_complete>start_pes_quest_complete_0</infoportion_complete> <!-- последнее подзадание дубль в начале --> <article>start_pes_kvest</article> <!-- сюда же пихаем артикл --> </objective> <objective> <text>start_pes_kvest</text> <!-- вот и пошел уже сам квест от первого подзадания --> <icon>ui_iconsTotal_tutorial_find_artefact</icon> <infoportion_complete>start_pes_quest_complete_0</infoportion_complete> </objective> <article>start_pes_kvest</article> <objective> <text>start_pes_kvest_1</text> <function_complete>acz_quest_function.start_pes_quest</function_complete> </objective> <objective> <text>start_pes_kvest_2</text> <infoportion_complete>start_pes_quest_complete_0</infoportion_complete> </objective> </game_task> Это при условии, что у тебя ТЧ. Изменено 16 Января 2018 пользователем HellRatz 1 1 GTA 3 MAP X-Ray | NFS U:2 MAP X-Ray | RTCW MAP X-Ray | L2D | Раритетные моды на моем облаке — на память о былом. Ссылка на комментарий
Grishamen 0 Опубликовано 2 Июня 2018 Поделиться Опубликовано 2 Июня 2018 Народ, нужна помощь. Значит, ситуация такая: на кордоне в деревне новичков есть непись Н и он по логике стоит на месте, чешит репу. По задумке, после определённого диалога он должен прогуляться с гг до элеватора и вернуться обратно в деревеньку, но что-то я не понял, как ему можно сменить логику прямо в игре через диалог, какой функцией, каким скриптом. Сайт поиском прошерстил, толкого ответа не нашел, прошу помощи)) (или ткните носом на пост, который решает мою проблему). Буду благодарен! Ссылка на комментарий
AndreySol 215 Опубликовано 2 Июня 2018 Поделиться Опубликовано 2 Июня 2018 1 час назад, Grishamen сказал: как ему можно сменить логику прямо в игре через диалог, какой функцией, каким скриптом. Выдать в диалоге инфо-порцию, а в логике прописать необходимые действия. Про логику читать по ссылке ниже: http://stalkerin.gameru.net/wiki/index.php?title=Настройка_логики._Часть_0 Ссылка на комментарий
Dennis_Chikin 3 658 Опубликовано 3 Июня 2018 Поделиться Опубликовано 3 Июня 2018 Прогулка на расстояния типа от ДН до элеватора - это плохая идея. Хорошая, на стандартной кодовой базе - сделать отдельный смарт с работами в ДН и на элеваторе, и переключаться между ними. Либо, используя 2 существующих смарта, прописать в оба работы с проверкой имени непися, и гонять его из одного смарта в другой. Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
_Val_ 2 225 Опубликовано 3 Июня 2018 Поделиться Опубликовано 3 Июня 2018 35 минут назад, Dennis_Chikin сказал: гонять его из одного смарта в другой Гонять - это конечно хорошо. Но! 15 часов назад, Grishamen сказал: он должен прогуляться с гг до элеватора Я так понимаю, тут нужны независимые от смартов секции логики. Иначе получится, что не непись с ГГ гуляет, а ГГ тупо бежит за неписем... Ссылка на комментарий
Dennis_Chikin 3 658 Опубликовано 3 Июня 2018 Поделиться Опубликовано 3 Июня 2018 Ну, если непись должен гулять строго за актором, то включается ли схема из работы под смартом, или иным образом - без разницы. Просто, да, если непись прибит гвоздями к конкретно актору и актор далеко от него не убегает - у непися проблем с поиском пути быть не должно. Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
AndreySol 215 Опубликовано 3 Июня 2018 Поделиться Опубликовано 3 Июня 2018 3 часа назад, _Val_ сказал: Я так понимаю, тут нужны независимые от смартов секции логики. Иначе получится, что не непись с ГГ гуляет, а ГГ тупо бежит за неписем... Если не ошибаюсь, в оригинале ТЧ(за другие части не знаю) нет схем логики, которые бы позволили "пришпилить" непися к ГГ. Тут только добавление чего-то типа "Напарники"... Ссылка на комментарий
_Val_ 2 225 Опубликовано 3 Июня 2018 Поделиться Опубликовано 3 Июня 2018 39 минут назад, AndreySol сказал: нет схем логики, которые бы позволили "пришпилить" непися к ГГ. А ГГ к неписю - есть)) Ссылка на комментарий
Хемуль36рус 1 789 Опубликовано 23 Июня 2018 Поделиться Опубликовано 23 Июня 2018 Есть вот такая схема, когда НПС идет за ГГ куда бы он не пошел. ---------------------------------------------- -- Karavan simple -- Схема каравана простая - гг ведет чудиков -- 2008 - 2009 Rulix aka Bak ---------------------------------------------- class "evaluator_end" (property_evaluator) function evaluator_end:__init(name,storage) super (nil,name) self.st = storage end function evaluator_end:evaluate() return not xr_logic.is_active(self.object,self.st) end class "evaluator_karavan" (property_evaluator) function evaluator_karavan:__init(name,storage) super (nil, name) self.st = storage end function evaluator_karavan:evaluate() return db.actor and xr_logic.is_active(self.object,self.st) and self.st.enabled == true end class "action_karavan" (action_base) function action_karavan:__init(name,storage) super (nil, name) self.st = storage end function action_karavan:initialize() action_base.initialize(self) local npc = self.object npc:set_desired_position() npc:set_desired_direction() npc:set_detail_path_type(move.curve) npc:set_path_type(game_object.level_path) self.offset = vector():set(math.random()*6-3,0,math.random()*6-3) self.offset:normalize() end function action_karavan:execute() action_base.execute(self) local npc = self.object if xr_logic.try_switch_to_another_section(npc,self.st,db.actor) then return end local dist = db.actor:position():distance_to(npc:position()) local state,look,anim = state_mgr.get_state(npc) if dist <= self.st.radius then state,look,anim = self.st.close_state,nil,true elseif dist < self.st.close_dist then state,look,anim = self.st.close_state,nil,true elseif dist >= self.st.faraway_dist then state,look,anim = self.st.wait_state,nil,true elseif dist < self.st.near_dist then state,look,anim = self.st.near_state,nil,true elseif not (state and state_lib.states[state].movement == move.stand) then state,look,anim = self.st.faraway_state,nil,true end if self.st.look == true and state_lib.states[state].movement == move.stand then look = true end if look == true then look = {look_object = db.actor} end if anim == true then anim = {animation = true} end if state then state_mgr.set_state(npc,state,nil,nil,look,anim) end if state_lib.states[state].movement ~= move.stand then local vertex_id = level.vertex_in_direction(db.actor:level_vertex_id(),self.offset,self.st.radius) utils.send_to_nearest_accessible_vertex(npc,vertex_id) end end function action_karavan:finalize() self.object:clear_animations() end prop_karavan = 9651 prop_end = prop_karavan+1 act_karavan = prop_karavan function add_to_binder(object,char_ini,scheme,section,st) local manager = object:motivation_action_manager() manager:add_evaluator(prop_karavan,evaluator_karavan("evaluator_karavan",st)) local action = action_karavan("action_karavan",st) action:add_precondition(world_property(stalker_ids.property_alive,true)) action:add_precondition(world_property(stalker_ids.property_enemy,false)) action:add_precondition(world_property(stalker_ids.property_danger,false)) xr_motivator.addCommonPrecondition(action) if watcher_act then action:add_precondition(world_property(watcher_act.evid_near_stuff,false)) action:add_precondition(world_property(watcher_act.evid_see_body,false)) action:add_precondition(world_property(watcher_act.evid_see_stuff,false)) end action:add_precondition(world_property(prop_karavan,true)) action:add_effect(world_property(prop_karavan,false)) manager:add_action(act_karavan,action) local atbl = {xr_actions_id.alife} for i,id in ipairs(atbl) do action = manager:action(id) if action then action:add_precondition(world_property(prop_karavan,false)) end end end function set_scheme(npc,ini,scheme,section,gulag_name) local st = xr_logic.assign_storage_and_bind(npc,ini,scheme,section) st.logic = xr_logic.cfg_get_switch_conditions(ini,section,npc) st.close_dist = utils.cfg_get_number(ini,section,"close_dist",npc,false) or 7 st.near_dist = utils.cfg_get_number(ini,section,"near_dist",npc,false) or 14 st.faraway_dist = utils.cfg_get_number(ini,section,"faraway_dist",npc,false) or 32 st.close_state = utils.cfg_get_string(ini,section,"close_state",npc,false,"") or "guard" st.near_state = utils.cfg_get_string(ini,section,"near_state",npc,false,"") or "rush" st.faraway_state = utils.cfg_get_string(ini,section,"faraway_state",npc,false,"") or "sprint" st.wait_state = utils.cfg_get_string(ini,section,"wait_state",npc,false,"") or "hide" st.look = utils.cfg_get_bool(ini,section,"look_on_actor",npc,false) st.radius = utils.cfg_get_number(ini,section,"radius",npc,false) or 4 st.no_loot = utils.cfg_get_bool(ini,section,"no_loot",npc,false) if st.no_loot ~= true then st.no_loot = nil end st.enabled = true end function disable_scheme(npc,scheme) rx_ai.printf("disable") local st = db.storage[npc:id()][scheme] if st then st.enabled = false end end 1 Intrel Core i5 9400F, msi gtx 1660 super ventus, RAM 16g-DDR4, HD 2000g, Win 10x64, SSD 256g, SSD m2 500g. Ссылка на комментарий
Хемуль36рус 1 789 Опубликовано 23 Июня 2018 Поделиться Опубликовано 23 Июня 2018 В логике Скрытый текст [karavan] close_dist = 2 near_dist = 10 faraway_dist = 31 close_state = guard near_state = rush faraway_state = sprint wait_state = rush look_on_actor = false radius = 1 combat_ignore_cond = always combat_type = monolith no_loot = true on_info = {+поршень} walker3@lexa переход в схему Скрытый текст [walker2@lexa] path_walk = jupiter_lexa_walk path_look = jupiter_lexa_look meet = meet danger = danger_condition combat_ignore_cond = always on_info = {+поршень} karavan 1 Intrel Core i5 9400F, msi gtx 1660 super ventus, RAM 16g-DDR4, HD 2000g, Win 10x64, SSD 256g, SSD m2 500g. Ссылка на комментарий
Saboteur 2 Опубликовано 29 Июля 2018 Поделиться Опубликовано 29 Июля 2018 Здравствуйте уважаемые. Вопрос такой. Допустим есть диалог с Сидоровичем. В результате которого получаем задание "Взорвать звезду смерти". Берём задание и уходим. Ходим. Бродим. И варианты: 0) Взорвали. Обследовали местность. Подобрали непонятное. Вернулись. Сдали неизвестное. 1) Взорвали. Вернулись. И нас как лошару посылают таки обломки этого гадюшника на колёсиках исследовать и принести что-то непривычное. Нашли. Вернули. 2) Не взорвали. Прошло определённое игровое время. Гадюшник исчез. На земле обломки. Слышим задание "принести то не знаю что". Находим. Приносим. 3) Не взорвали. Обобрали. Голое поле. Возвращаемся. Нас посылают к кому-то узнать кто это (взорвать и обнести) мог. Уходим. Узнаём. Находим. Убиваем. Забираем. Сдаём. Таким макаром можно закрутить квест? Ссылка на комментарий
Никсон 293 Опубликовано 17 Сентября 2018 Поделиться Опубликовано 17 Сентября 2018 В 29.07.2018 в 07:49, Saboteur сказал: Здравствуйте уважаемые. Вопрос такой. Допустим есть диалог с Сидоровичем. В результате которого получаем задание "Взорвать звезду смерти". Берём задание и уходим. Ходим. Бродим. И варианты: 0) Взорвали. Обследовали местность. Подобрали непонятное. Вернулись. Сдали неизвестное. 1) Взорвали. Вернулись. И нас как лошару посылают таки обломки этого гадюшника на колёсиках исследовать и принести что-то непривычное. Нашли. Вернули. 2) Не взорвали. Прошло определённое игровое время. Гадюшник исчез. На земле обломки. Слышим задание "принести то не знаю что". Находим. Приносим. 3) Не взорвали. Обобрали. Голое поле. Возвращаемся. Нас посылают к кому-то узнать кто это (взорвать и обнести) мог. Уходим. Узнаём. Находим. Убиваем. Забираем. Сдаём. Таким макаром можно закрутить квест? Да,но писать много,учти Ссылка на комментарий
PARENTAL ADVISORY EXPLICIT CONTENT 0 Опубликовано 13 Января 2019 Поделиться Опубликовано 13 Января 2019 Не знаю в нужный форум я пишу или нет. Делаю свой мод на ТЧ. Возникли проблемы при создании квеста. Квест типа "Найди и принеси мне эту штуковину". Семёнов выдает квест на поиск артефакта "Мамины Бусы". В задании всего два пункта: - Найти Артефакт - Принести Артефакт Дело в том что я не знаю как реализовать следующее: при подборе артефакта пункт Найти артефакт отмечается как выполненный. Когда я подбираю артефакт он не отмечается, а когда я возвращаюсь к Семёнову, я сдаю ему квест и все задание выполнено полностью. Прошу помощи. Добавлено Murarius, 13 Января 2019 Перемещено. Ссылка на комментарий
imcrazyhoudini 205 Опубликовано 13 Января 2019 Поделиться Опубликовано 13 Января 2019 @PARENTAL ADVISORY EXPLICIT CONTENT, следует сделать проверку в этом пункте на наличие этого артефакта: function название_функции(task, objective) if db.actor ~= nil then return db.actor:object("название_артефакта") ~= nil end return false end Вписать так:<function_complete>название_скрипта.название_функции</function_complete> ищу человека, который смог бы заняться разработкой погоды на OGSR. кто может помочь - пишите в ЛС. Ссылка на комментарий
Алексей Новиков 0 Опубликовано 6 Февраля 2019 Поделиться Опубликовано 6 Февраля 2019 Здравствуйте. Надеюсь, пишу куда надо, т.к. ничего другого, вроде, не нашёл. Пытаюсь сделать правку на ТЧ 1.0006 (без модов, оригинал) на то, чтобы время всех квестов было либо увеличено до 100 дней, либо убрано полностью. В итоге, после ковыряния в task_manager время выполнения квестов стало 14 часов. Теперь решил не трогать, пока не подскажут, как сделать правильно. Ссылка на комментарий
EGER.OVERKILL WF 3 Опубликовано 19 Июля 2019 Поделиться Опубликовано 19 Июля 2019 (изменено) Здравствуйте Друзья, такой к вам вопрос Я ставлю чистую игру (Сталкер ТЧ 1.0004.), плюс правку на Вырезанный сюжет (которую нашел на этом сайте), она стабильно работает. А я хочу на этом пустом месте (без сюжетном) создать свой, новый. Подскажите как это реализовать, я уже добавил своего персонажа, но он к сожалению при попытке с ним поговорить, дает сбои/вылеты. Вылеты без лога, понятия не имею почему. Все инфопоршни/диалоги/скрипты вроде работают как должны, прошу помочь. Я мог что-то упустить из виду, из-за невнимательности. Проблемная Gamedata Изменено 19 Июля 2019 пользователем W.A.S.P. пунктуация Ссылка на комментарий
EGER.OVERKILL WF 3 Опубликовано 20 Июля 2019 Поделиться Опубликовано 20 Июля 2019 23 часа назад, EGER.OVERKILL WF сказал: Здравствуйте Друзья, такой к вам вопрос Я ставлю чистую игру (Сталкер ТЧ 1.0004.), плюс правку на Вырезанный сюжет (которую нашел на этом сайте), она стабильно работает. А я хочу на этом пустом месте (без сюжетном) создать свой, новый. Подскажите как это реализовать, я уже добавил своего персонажа, но он к сожалению при попытке с ним поговорить, дает сбои/вылеты. Вылеты без лога, понятия не имею почему. Все инфопоршни/диалоги/скрипты вроде работают как должны, прошу помочь. Я мог что-то упустить из виду, из-за невнимательности. Проблемная Gamedata Upd: Уже решил. Добавлено Опричник, 20 Июля 2019 Изучите "Правила цитирования". https://www.amk-team.ru/forum/topic/13514-obyavleniya/ Ссылка на комментарий
Muzafir 19 Опубликовано 14 Октября 2020 Поделиться Опубликовано 14 Октября 2020 Подскажите, пожалуйста, где можно почитать про создание типовых возобновляемых квестов торговцев на поиск артефактов, частей монстров и т.д. Нашел один урок, но игра постоянно вылетает при попытке поговорить с квестовым НПС с руганью на task_manager.script (не получает ожидаемую таблицу - что-то такое). Моих знаний в скриптах не хватает, чтобы устранить проблему. Хотелось бы еще где-то почитать про это, может удастся найти ошибку. Ссылка на комментарий
AndreySol 215 Опубликовано 15 Октября 2020 Поделиться Опубликовано 15 Октября 2020 @Muzafir А зачем знания скриптов, если надо просто правильно конфиги этих регулярных квестов настроить? Читать тут. 1 Ссылка на комментарий
Muzafir 19 Опубликовано 15 Октября 2020 Поделиться Опубликовано 15 Октября 2020 15 часов назад, AndreySol сказал: А зачем знания скриптов? Согласен, поэтому и искал, где можно еще почитать про это. Спасибо за ссылку. Почему-то через Гугл не нашел Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти