Overf1rst 1 496 Опубликовано 1 июля, 2020 Тема посвящена моддингу на платформе Тень Чернобыля. Правила темы: Здесь задают вопросы и получают на них ответы. Прежде чем задать вопрос, воспользуйтесь поиском, ответ на него, вероятно, уже есть. Если у вас произошёл вылет, проверьте лог и поищите информацию об ошибке в справочнике. Также будет полезно посмотреть справочник ошибок. Если у Вас вылетает какой-то мод, то следует написать в тему этого мода. Грамотно оформляйте свой пост, чётко доносите суть своего вопроса (ответа). Благодарность выражаем в личке или же ставим реакцию. Посты с благодарностями в теме будут удаляться. 6 4 1 3 1 3 6 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
macron 939 Опубликовано 20 ноября, 2022 imcrazyhoudini в чистом ТЧ всё двигается. Проверяй там. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
imcrazyhoudini 1 110 Опубликовано 20 ноября, 2022 macron действительно, всё двигается... Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
N42 697 Опубликовано 21 ноября, 2022 (изменено) В 20.11.2022 в 14:06, oleg19966 сказал: Теперь вопрос от меня: как заспавнить аномалию скриптом? Не простую аномалию, а аномалию с файлом anm А для чего? В рандомном месте ее не заспавнить - координаты, по которым летает такая аномалия, четко прописываются в anm файле. Если нужно просто на месте другой раз за игру - лучше как обычно прописать в оллспавн и спавнить когда нужно, чем ковыряться с нет-пакетами (если вообще получится в нет-пакете прописать, не факт) Изменено 21 ноября, 2022 пользователем M31 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
oleg19966 296 Опубликовано 21 ноября, 2022 Только что, M31 сказал: лучше как обычно прописать в оллспавн и спавнить когда нужно Я бы не против, но видишь ли, разработчики не сделали возможности спавнить аномалии и артефакты по инфопоршню, как это работает со сталкерами, смартами или монстрами(кроме ворон). Аномалия просто спавниться с начала игры, независимо от того, есть у неё условие для спавна или нет. Внимание! Ищу любые фиксы/исправления для оригинального ТЧ. Спойлер Или людей, которые желают помочь с этим делом. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
N42 697 Опубликовано 21 ноября, 2022 oleg19966 удаляй в начале игры и потом спавни Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
oleg19966 296 Опубликовано 22 ноября, 2022 (изменено) M31 ну так как я заспавню, на определённом этапе? Я же пишу, что инфопоршни не работают. Я бы сделал через функцию, но нужен скрипт спавна, который я просил в позапрошлом сообщении. Возможно, есть ещё способ перевести аномалию в оффлайн, а потом обратно - в онлайн. Только я очень сильно сомневаюсь что такое сработает на оригинальном движке. Изменено 22 ноября, 2022 пользователем oleg19966 Внимание! Ищу любые фиксы/исправления для оригинального ТЧ. Спойлер Или людей, которые желают помочь с этим делом. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
imcrazyhoudini 1 110 Опубликовано 22 ноября, 2022 oleg19966 удаляй по story_id и спавни по spawn_story id 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
oleg19966 296 Опубликовано 22 ноября, 2022 imcrazyhoudini пример пожалуйста. Внимание! Ищу любые фиксы/исправления для оригинального ТЧ. Спойлер Или людей, которые желают помочь с этим делом. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
imcrazyhoudini 1 110 Опубликовано 22 ноября, 2022 oleg19966 Спойлер function delete_pribor() local lc = alife():story_object(story_ids.dead_zapiska) alife():release(lc, true) end function spawn_pribor() local spawn_id = alife():spawn_id(spawn_story_ids.zapiska) alife():create(spawn_id) end Дополнено 3 минуты спустя подскажите, как заставить НПС отыграть все анимации указанные в idle: Спойлер compas = { prop = { maxidle = 1, sumidle = 1, rnd = 100 }, into = { [0] = {"metering_anomalys_0_draw_0", {a="af_compass"}, "metering_anomalys_0_draw_1"} }, out = { [0] = {"metering_anomalys_0_hide_0", {d="af_compass"}, "metering_anomalys_0_hide_1"} }, idle = { [0] = "metering_anomalys_0_idle_0", [1] = "metering_anomalys_0_idle_1", [2] = "metering_anomalys_0_idle_2", [3] = "metering_anomalys_0_idle_3", [4] = "metering_anomalys_0_idle_4", [5] = "metering_anomalys_0_idle_5", [6] = "metering_anomalys_0_idle_6"}, rnd = nil }, 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Sikorskyi 274 Опубликовано 22 ноября, 2022 Подскажите пожалуйста, как реализована система подстройки прицельной сетки под экран? По типу ЗП. На движке OGSR engine. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
N42 697 Опубликовано 22 ноября, 2022 (изменено) imcrazyhoudini можно попробовать в state_mgr_animation.script где if state_mgr_animation_list.animations[id].idle ~= nil then... перенести с того же ....into код с проверкой на таблицу (где if type(anima) == "table" then и ниже), и прописывать как в into или out через запятую [0] = {"1", "2", "3"} Изменено 23 ноября, 2022 пользователем M31 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
imcrazyhoudini 1 110 Опубликовано 22 ноября, 2022 M31 ля... честно ничего не понял я просто делал как в оригинале, например вот: Спойлер cr_raciya = { prop = { maxidle = 1, sumidle = 1, rnd = 100 }, into = { [0] = {"cr_raciya_0_draw_0", {a="hand_radio"}, "cr_raciya_0_draw_1"}, [1] = {"cr_raciya_1_draw_0", {a="hand_radio"}, "cr_raciya_1_draw_1"}, [2] = {"cr_raciya_2_draw_0", {a="hand_radio"}, "cr_raciya_2_draw_1"}, [3] = {"cr_raciya_3_draw_0", {a="hand_radio"}, "cr_raciya_3_draw_1"}, [4] = {"cr_raciya_4_draw_0", {a="hand_radio"}, "cr_raciya_4_draw_1"}, [8] = {"cr_raciya_8_draw_0", {a="hand_radio"}, "cr_raciya_8_draw_1"}, [9] = {"cr_raciya_9_draw_0", {a="hand_radio"}, "cr_raciya_9_draw_1"}, [10]= {"cr_raciya_10_draw_0",{a="hand_radio"},"cr_raciya_10_draw_1"} }, out = { [0] = {"cr_raciya_0_hide_0", {d="hand_radio"}, "cr_raciya_0_hide_1"}, [1] = {"cr_raciya_1_hide_0", {d="hand_radio"}, "cr_raciya_1_hide_1"}, [2] = {"cr_raciya_2_hide_0", {d="hand_radio"}, "cr_raciya_2_hide_1"}, [3] = {"cr_raciya_3_hide_0", {d="hand_radio"}, "cr_raciya_3_hide_1"}, [4] = {"cr_raciya_4_hide_0", {d="hand_radio"}, "cr_raciya_4_hide_1"}, [8] = {"cr_raciya_8_hide_0", {d="hand_radio"}, "cr_raciya_8_hide_1"}, [9] = {"cr_raciya_9_hide_0", {d="hand_radio"}, "cr_raciya_9_hide_1"}, [10]= {"cr_raciya_10_hide_0",{d="hand_radio"},"cr_raciya_10_hide_1"} }, idle = { [0] = "cr_raciya_0_idle_0", [1] = "cr_raciya_1_idle_0", [2] = "cr_raciya_2_idle_0", [3] = "cr_raciya_3_idle_0", [4] = "cr_raciya_4_idle_0", [8] = "cr_raciya_8_idle_0", [9] = "cr_raciya_9_idle_0", [10]= "cr_raciya_10_idle_0" }, rnd = { [0] = {"cr_raciya_0_talk_0"}, [1] = {"cr_raciya_1_talk_0"}, [2] = {"cr_raciya_2_talk_0"}, [3] = {"cr_raciya_3_talk_0"}, [4] = {"cr_raciya_4_talk_0"}, [8] = {"cr_raciya_8_talk_0"}, [9] = {"cr_raciya_9_talk_0"}, [10]= {"cr_raciya_10_talk_0"} } }, там вроде всё работало Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
N42 697 Опубликовано 22 ноября, 2022 (изменено) imcrazyhoudini даже в приведенном примере всего одна анимка на анимслот. В оригинале либо одна анимка либо nil, если видел где-то несколько анимаций - наверняка там state_mgr_animation.script правленый Дополнено 10 минуты спустя Попробуй этот кусок Спойлер if state_mgr_animation_list.animations[id].idle ~= nil then anima = self:anim_for_slot(wpn_slot,state_mgr_animation_list.animations[id].idle) if anima then add_anim(self.npc, anima, true) end nn = nn + 1 else -- Для политкорректности просим анимстейт отыграть свою айдловую анимацию self.mgr.animstate:add_idle_animation() end поменять на этот Спойлер if state_mgr_animation_list.animations[id].idle ~= nil then anima = self:anim_for_slot(wpn_slot,state_mgr_animation_list.animations[id].idle) if anima then if type(anima) == "table" then for k,v in pairs(anima) do if type(v) == "table" then self:set_anim_callback(v) else add_anim(self.npc, v, true) end end else add_anim(self.npc, anima, true) end end nn = nn + 1 else -- Для политкорректности просим анимстейт отыграть свою айдловую анимацию self.mgr.animstate:add_idle_animation() end И пропиши анимации в строчку как в into или out. И смотри чтобы не зацикленные были. Либо возьми правленый файл там, где видел несколько идловых анимок Изменено 22 ноября, 2022 пользователем M31 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
BashyOne 301 Опубликовано 24 ноября, 2022 (изменено) По какой причине лайты могут просвечивать сквозь геометрию на статике? Изменено 24 ноября, 2022 пользователем Bashy Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
imcrazyhoudini 1 110 Опубликовано 24 ноября, 2022 M31 не переходит в следующую часть анимации, анимация точно имеет конец код: Спойлер local a = state_mgr_animation_list.animations[id] if a.idle ~= nil then anima = self:anim_for_slot(wpn_slot,state_mgr_animation_list.animations[id].idle) if anima then if type(anima) == "table" then for k,v in pairs(anima) do if type(v) == "table" then self:set_anim_callback(v) else add_anim(self.npc, v, true) end end else add_anim(self.npc, anima, true) end end nn = nn + 1 else -- Для политкорректности просим анимстейт отыграть свою айдловую анимацию self.mgr.animstate:add_idle_animation() end Спойлер compas = { prop = { maxidle = 7, sumidle = 7, rnd = 100 }, into = { [0] = {"metering_anomalys_0_draw_0", {a="af_compass"}, "metering_anomalys_0_draw_1", "metering_anomalys_0_idle_0", "metering_anomalys_0_idle_1", "metering_anomalys_0_idle_2", "metering_anomalys_0_idle_3", "metering_anomalys_0_idle_4", "metering_anomalys_0_idle_5", "metering_anomalys_0_idle_6"} }, out = { [0] = {"metering_anomalys_0_idle_0", {a="af_compass"}, "metering_anomalys_0_idle_1"} }, idle = { [0] = "metering_anomalys_0_idle_0", "metering_anomalys_0_idle_1", "metering_anomalys_0_idle_2", "metering_anomalys_0_idle_3", "metering_anomalys_0_idle_4", "metering_anomalys_0_idle_5", "metering_anomalys_0_idle_6"}, rnd = nil}, Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
N42 697 Опубликовано 24 ноября, 2022 imcrazyhoudini таблицей оформлять надо, у тебя же есть into и out для примера idle = { [0] = {"metering_anomalys_0_idle_0", "metering_anomalys_0_idle_1", "metering_anomalys_0_idle_2", "metering_anomalys_0_idle_3", "metering_anomalys_0_idle_4", "metering_anomalys_0_idle_5", "metering_anomalys_0_idle_6"}}, Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
imcrazyhoudini 1 110 Опубликовано 24 ноября, 2022 M31 не помогло Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
N42 697 Опубликовано 24 ноября, 2022 (изменено) 6 часов назад, imcrazyhoudini сказал: local a = state_mgr_animation_list.animations[id] if a.idle ~= nil then Это что и откуда? У меня как-бы про другое написано Изменено 24 ноября, 2022 пользователем M31 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
imcrazyhoudini 1 110 Опубликовано 24 ноября, 2022 M31 это стоит state_mgr_animation.script от bak (ai пак от него стоит). Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
N42 697 Опубликовано 24 ноября, 2022 imcrazyhoudini какая несущественная мелочь, о которой совсем не нужно писать, да Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
imcrazyhoudini 1 110 Опубликовано 24 ноября, 2022 M31 ну я так же и подумал Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
N42 697 Опубликовано 24 ноября, 2022 (изменено) imcrazyhoudini скачал последний ai additions с амк, открыл state_mgr_animation.script, никаких результатов по поиску a.idle не выдало Изменено 24 ноября, 2022 пользователем M31 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
imcrazyhoudini 1 110 Опубликовано 24 ноября, 2022 M31 ну я хз откуда его взял тогда) у меня хлама хватает посмотри вот state_mgr_animation.script Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
N42 697 Опубликовано 24 ноября, 2022 imcrazyhoudini это уже правленый? Дополнено 2 минуты спустя Изначальный скинь Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
imcrazyhoudini 1 110 Опубликовано 24 ноября, 2022 M31 ща найду бэкап Дополнено 0 минут спустя state_mgr_animation.script Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты