Overf1rst 1 490 Опубликовано 1 июля, 2020 Тема посвящена моддингу на платформе Чистое Небо. Правила темы: Здесь задают вопросы и получают на них ответы. Прежде чем задать вопрос, воспользуйтесь поиском, ответ на него, вероятно, уже есть. Если у вас произошёл вылет, проверьте лог и поищите информацию об ошибке в справочнике. Также будет полезно посмотреть справочник ошибок. Если у Вас вылетает какой-то мод, то следует написать в тему этого мода. Грамотно оформляйте свой пост, чётко доносите суть своего вопроса (ответа). Благодарность выражаем в личке или же ставим реакцию. Посты с благодарностями в теме будут удаляться. 4 3 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
N42 687 Опубликовано 10 марта, 2023 7 минут назад, imcrazyhoudini сказал: в тч кстати есть такое, не знаешь? Есть 8 минут назад, imcrazyhoudini сказал: такое прокатит? Должно 9 минут назад, imcrazyhoudini сказал: ибо с радиацией нет : и () radiation - это свойство, а get_bleeding() функция 26 минут назад, Sidorovich сказал: Как отключить начальную кат-сцену? Ковырять gamedata\configs\scripts\marsh\mar_intro_zone.ltx Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
imcrazyhoudini 1 088 Опубликовано 10 марта, 2023 2 часа назад, N42 сказал: Типа просто сменить погоду, добавить тряску и хит по гг с проверкой на нахождение в рестрикторе? да, типо того на чаэс вроде было чёт подобное в тч Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
imcrazyhoudini 1 088 Опубликовано 12 марта, 2023 N42 каким образом твоё скрытие меток должно работать? я добавил себе, но при включении выключении ничего не меняется (игру перезагружал если нужно) в конфиге true cтоит Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
N42 687 Опубликовано 12 марта, 2023 (изменено) 25 минут назад, imcrazyhoudini сказал: каким образом твоё скрытие меток должно работать? Это не скрытие меток, это вывод галочки в настройки, как и просил 25 минут назад, imcrazyhoudini сказал: но при включении выключении ничего не меняется Оно только меняет значение в конфиге, дальше уже сам где у тебя метки скрываются читаешь значение с конфига В 10.03.2023 в 15:48, imcrazyhoudini сказал: да, типо того на чаэс вроде было чёт подобное в тч В тч на чаэс хит во время выброса идет через схему sr_aes_deadzone, в чн есть такой файл, можно через него попробовать, но не знаю, будет ли работать. Если нет - в xr_effects есть функция stc_surge(), добавляет смену погоды и тряску, добавить еще хит при проверке на ненахождение гг в рестрикторе через actor_in_zone. Думаю, это все можно через рестриктор сделать, а не на апдейт вешать Изменено 12 марта, 2023 пользователем N42 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
imcrazyhoudini 1 088 Опубликовано 12 марта, 2023 11 минут назад, N42 сказал: Оно только меняет значение в конфиге, дальше уже сам где у тебя метки скрываются читаешь значение с конфига ну тут надо чтобы читалось значение в скрипте такая конструкция: Спойлер --' Показать отряд на картеhide_another_location_spots = true spots_mode = 1 function sim_squad_generic:show() if self.show_disabled then self:hide() return end -- Kirgudu (режим показа меток на карте) if hide_another_location_spots then local actor_loc = game_graph():vertex(alife():actor().m_game_vertex_id):level_id() local smart_loc = game_graph():vertex(alife():object(self.smart_id).m_game_vertex_id):level_id() if actor_loc ~= smart_loc then self:hide() return end end if self.current_spot_id ~= self.commander_id then self:hide() self.current_spot_id = self.commander_id self:show() return end local spots_mode = spots_mode local spot = self.spot_section if self.player_id == "monster" then if spots_mode > 0 then self:hide() return end spot = "alife_presentation_squad_monster" else if spots_mode > 2 then self:hide() return end local commander = db.storage[self.commander_id] and db.storage[self.commander_id].object local relation if commander ~= nil and db.actor then relation = commander:general_goodwill(db.actor) else if self.relationship == "enemy" then relation = -1000 elseif self.relationship == "friend" then relation = 1000 end if relation == nil then if db.actor then relation = db.actor:community_goodwill(self.player_id)+game_relations.get_factions_community(self.player_id, alife():actor():community()) else relation = game_relations.get_factions_community(self.player_id, alife():actor():community()) end end end if relation >= 1000 then spot = "alife_presentation_squad_friend" elseif relation <= -1000 then if spots_mode > 1 then self:hide() return end spot = "alife_presentation_squad_enemy" else spot = "alife_presentation_squad_neutral" end end if self.current_action and self.current_action.name == "attack_point" then if spot == "alife_presentation_squad_friend" then spot = "alife_presentation_friend_squad_attack_point" elseif spot == "alife_presentation_squad_neutral" then spot = "alife_presentation_neutral_squad_attack_point" elseif spot == "alife_presentation_squad_enemy" then spot = "alife_presentation_enemy_squad_attack_point" end end if spot == self.spot_section then if _G.dev_debug == true then level.map_change_spot_hint(self.current_spot_id, self.spot_section, self:get_squad_props()) end return end if self.spot_section == nil then level.map_add_object_spot(self.current_spot_id, spot, self:get_squad_props()) else level.map_remove_object_spot(self.current_spot_id, self.spot_section) level.map_add_object_spot(self.current_spot_id, spot, self:get_squad_props()) end self.spot_section = spot end Дополнено 6 минуты спустя хотя я в hide_another_location_spots = true сменил на false то не исчезают я скрипт с огсм взял Дополнено 8 минуты спустя Спойлер function sim_squad_generic:show() if self.show_disabled then self:hide() return end if self.current_spot_id ~= self.commander_id then self:hide() self.current_spot_id = self.commander_id self:show() return end local spot = self.spot_section if self.player_id == "monster" then spot = "alife_presentation_squad_monster" else local commander = db.storage[self.commander_id] and db.storage[self.commander_id].object local relation if commander ~= nil and db.actor then relation = commander:general_goodwill(db.actor) else if self.relationship == "enemy" then relation = -1000 elseif self.relationship == "friend" then relation = 1000 end if relation == nil then if db.actor then relation = db.actor:community_goodwill(self.player_id)+game_relations.get_factions_community(self.player_id, alife():actor():community()) else relation = game_relations.get_factions_community(self.player_id, alife():actor():community()) end end end if relation >= 1000 then spot = "alife_presentation_squad_friend" elseif relation <= -1000 then spot = "alife_presentation_squad_enemy" else spot = "alife_presentation_squad_neutral" end end if self.current_action and self.current_action.name == "attack_point" then if spot == "alife_presentation_squad_friend" then spot = "alife_presentation_friend_squad_attack_point" elseif spot == "alife_presentation_squad_neutral" then spot = "alife_presentation_neutral_squad_attack_point" elseif spot == "alife_presentation_squad_enemy" then spot = "alife_presentation_enemy_squad_attack_point" end end if spot == self.spot_section then if _G.dev_debug == true then level.map_change_spot_hint(self.current_spot_id, self.spot_section, self:get_squad_props()) end return end if self.spot_section == nil then level.map_add_object_spot(self.current_spot_id, spot, self:get_squad_props()) else level.map_remove_object_spot(self.current_spot_id, self.spot_section) level.map_add_object_spot(self.current_spot_id, spot, self:get_squad_props()) end self.spot_section = spot end Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
N42 687 Опубликовано 12 марта, 2023 imcrazyhoudini весь скрипт выложи Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
imcrazyhoudini 1 088 Опубликовано 12 марта, 2023 N42 sim_squad_generic.script Дополнено 0 минут спустя это с огсм взял здесь скрываются мутанты и нпс на других локациях Дополнено 0 минут спустя вот оригинальный sim_squad_generic.script Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
N42 687 Опубликовано 12 марта, 2023 4 часа назад, imcrazyhoudini сказал: хотя я в hide_another_location_spots = true сменил на false то не исчезают При false отображаются как в оригинале на всех локах, при true только на локе с гг. В принципе, работает, только перезагрузить сохранку надо. Но лучше чтобы вообще не отображались даже на локе с гг sim_squad_generic.script Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
imcrazyhoudini 1 088 Опубликовано 12 марта, 2023 2 часа назад, N42 сказал: Но лучше чтобы вообще не отображались даже на локе с гг можно монстров как-то скрыть? ещё не проверял а так из нпс и скрывать толком некого если честно, так что они не будут мешать Дополнено 11 минуты спустя 11 минут назад, imcrazyhoudini сказал: можно монстров как-то скрыть? да, всё норм 3 часа назад, N42 сказал: Но лучше чтобы вообще не отображались даже на локе с гг есть варик как сделать? Дополнено 12 минуты спустя слушай, касательно стейт менеджера... вот есть у меня сценка, в которой нпс 20 секунд должен держать детектор в руках но, из-за того что не читается idle, он читает две анимки с into, там пару секунд, после чего опускает руки на те оставшийся секунды не знаешь как поправить можно? скрипт артов не смотрел? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
N42 687 Опубликовано 12 марта, 2023 imcrazyhoudini длительность анимации вроде в самой анимации правится. Скрипт артов, в смысле респавн? Не, пока руки не дошли до него Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
imcrazyhoudini 1 088 Опубликовано 12 марта, 2023 1 час назад, N42 сказал: длительность анимации вроде в самой анимации правится. хорошая идея а не в курсе какая программа позволяет клонировать анимации? omf editor или как его не позволяет такое сделать Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
macron 909 Опубликовано 12 марта, 2023 3 минуты назад, imcrazyhoudini сказал: какая программа позволяет клонировать анимации Вроде Акторедитором можно было экспортировать анимку в skl и потом её же импортировать, то бишь продублируется. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
nasar75 134 Опубликовано 12 марта, 2023 (изменено) 36 минут назад, imcrazyhoudini сказал: какая программа позволяет клонировать анимации Изменено 12 марта, 2023 пользователем nasar75 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
imcrazyhoudini 1 088 Опубликовано 12 марта, 2023 nasar75 https://ap-pro.ru/forums/topic/2103-omf-editor/?do=findComment&comment=230560 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
nasar75 134 Опубликовано 12 марта, 2023 (изменено) imcrazyhoudini Изменено 12 марта, 2023 пользователем nasar75 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
imcrazyhoudini 1 088 Опубликовано 12 марта, 2023 всё равно шляпа выходит такая ситуация НПС входит в эту анимацию, ему нужно в ней простоять ровно 20 секунд: Спойлер probe = { prop = { maxidle = 1, sumidle = 1, rnd = 100 }, into = { [0] = {"metering_anomalys_0_draw_0", {a="detector_saharov"}, "metering_anomalys_0_draw_1"} }, out = { [0] = {"metering_anomalys_0_hide_0", {d="detector_saharov"}, "metering_anomalys_0_hide_1"} }, idle = { [0] = "metering_anomalys_0_idle_0" }, rnd = nil }, как я вижу ситуацию: входит в анимацию (into), потом переходит в idle, стоит так до конца таймера, потом выходит через out на практике же отыгрывает into и всё, опускает руки прога выше не позволяет редактировать время анимации да и хз как это сработало бы Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
N42 687 Опубликовано 13 марта, 2023 (изменено) 15 часов назад, imcrazyhoudini сказал: можно монстров как-то скрыть? Там разные варианты в зависимости от переменной spots_mode. if spots_mode > 0 - не отображаются монстры, if spots_mode > 2 - не отображается никто. Щас в файле при true отображаются только на локе с гг, при false - не отображаются нигде sim_squad_generic.script Дополнено 1 минуту спустя 12 часов назад, imcrazyhoudini сказал: на практике же отыгрывает into и всё, опускает руки Ну так засунь все в into. Раз время не отредактировать, добавь несколько идловых анимок, заодно живее будет смотреться Изменено 13 марта, 2023 пользователем N42 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
imcrazyhoudini 1 088 Опубликовано 13 марта, 2023 (изменено) N42 да там они не подходят в том то дело) подкинули идею перевести всё в walker Дополнено 0 минут спустя и по вэйпоинту зациклить анимацию Дополнено 28 минуты спустя не помогло шляпа этот стейт менеджер полная Дополнено 7 минуты спустя Спойлер probe = { prop = { maxidle = 1, sumidle = 1, rnd = 100 }, into = { [0] = {"metering_anomalys_0_draw_0", {a="detector_saharov"}, "metering_anomalys_0_draw_1"} }, out = { [0] = {"metering_anomalys_0_hide_0", {d="detector_saharov"}, "metering_anomalys_0_hide_1"} }, idle = { [0] = "metering_anomalys_0_idle_0" }, rnd = nil }, [logic] active = remark [remark] anim = probe on_signal = anim_end | remark@2 Ситуация на видео: анимация с out не читается, с idle скорее всего так же. Спойлер [logic] active = walker [walker] path_walk = yan_gorbun_walk path_look = yan_gorbun_look on_info = {+yan_ventilgorbun_done} remark [remark] target = actor anim = checkpda meet = no_meet on_signal = anim_end | remark@2 [remark@2] target = actor anim = checkpda meet = no_meet snd = yan_gorbun_2 on_signal = sound_end | remark@3 [remark@3] target = actor anim = wait meet = no_meet on_game_timer = 20 | remark@4 [remark@4] target = actor anim = wait meet = no_meet snd = yan_gorbun_3 on_signal = sound_end | walker@2 checkpda = { prop = { maxidle = 5, sumidle = 5, rnd = 100 }, into = { [0] = {"metering_anomalys_0_draw_0", {a="device_pda"}, "metering_anomalys_0_draw_1"} }, out = { [0] = {"metering_anomalys_0_hide_0", {d="device_pda"}, "metering_anomalys_0_hide_1"} }, idle = { [0] = "metering_anomalys_0_idle_0" }, rnd = nil }, Анимация резко сбрасывается, ПДА не прячет за спиной, он исчезает в руках. Видеодоказательство:https://youtu.be/1EjEdod710U Изменено 13 марта, 2023 пользователем imcrazyhoudini Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
N42 687 Опубликовано 14 марта, 2023 (изменено) imcrazyhoudini насчет респавна артов, пробуй. Если не с новой игры будешь - после выброса сохранись-загрузись, на нетспавне после выброса исправление неправильно сохраненного spawned_count bind_anomaly_zone.script Изменено 14 марта, 2023 пользователем N42 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
imcrazyhoudini 1 088 Опубликовано 14 марта, 2023 N42 а ты не знаешь где указывается "осталось до выброса секунд:"? сейчас пишет осталось -3 минуты Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
N42 687 Опубликовано 14 марта, 2023 imcrazyhoudini на карте? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
imcrazyhoudini 1 088 Опубликовано 14 марта, 2023 N42 ну квест выдаётся "спрятаться от выброса" в оригинале там давалось 6-40 минут игровых вроде а у меня -3 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
N42 687 Опубликовано 14 марта, 2023 imcrazyhoudini сообщение? В xr_surge_hide.script поиском найди hide_from_surge_text1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
imcrazyhoudini 1 088 Опубликовано 14 марта, 2023 9 минут назад, N42 сказал: сообщение? сам таймер времени мало даётся чтобы спрятаться, -3 минуты вместо тех 6-40 как в оригинале давалось Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
N42 687 Опубликовано 14 марта, 2023 imcrazyhoudini в функцию activate_surge передается время до выброса, смотри вызовы этой функции. Также смотри таблицу levels_surge_table 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты