Overf1rst 1 496 Опубликовано 1 июля, 2020 Тема посвящена моддингу на платформе Тень Чернобыля. Правила темы: Здесь задают вопросы и получают на них ответы. Прежде чем задать вопрос, воспользуйтесь поиском, ответ на него, вероятно, уже есть. Если у вас произошёл вылет, проверьте лог и поищите информацию об ошибке в справочнике. Также будет полезно посмотреть справочник ошибок. Если у Вас вылетает какой-то мод, то следует написать в тему этого мода. Грамотно оформляйте свой пост, чётко доносите суть своего вопроса (ответа). Благодарность выражаем в личке или же ставим реакцию. Посты с благодарностями в теме будут удаляться. 6 4 1 3 1 3 6 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
RayTwitty 817 Опубликовано 27 сентября, 2023 (изменено) 3 часа назад, РСФСР сказал: 0.992157, 0.545098, 0.058824 Так это просто формат записи цвета. Чтобы получить нормальный RGB, надо умножить все на 255 и округлить до целых. В данном случае это 253, 139, 15. Ну или сразу писать в колонку Scalar напротив RGB. Я правда не помню по какой причине цвет может быть больше единицы. Обычно диапазон 0..1 = 0..255. Прикол со взятием цвета со скрина пипеткой в фш конечно же не прокатит, очень много факторов влияет на итоговый цвет пикселя. P.S. Раз в релизном СДК цвет сбивается, значит в старых версиях расчет был другой. Это надо лезть в исходники и смотреть, как было раньше. Изменено 27 сентября, 2023 пользователем RayTwitty Phantoms Zone | Shadows Addon | DMX MOD Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
РСФСР 91 Опубликовано 28 сентября, 2023 8 часов назад, RayTwitty сказал: Так это просто формат записи цвета. Чтобы получить нормальный RGB, надо умножить все на 255 и округлить до целых. В данном случае это 253, 139, 15. Ну или сразу писать в колонку Scalar напротив RGB. Я правда не помню по какой причине цвет может быть больше единицы. Обычно диапазон 0..1 = 0..255. Прикол со взятием цвета со скрина пипеткой в фш конечно же не прокатит, очень много факторов влияет на итоговый цвет пикселя. P.S. Раз в релизном СДК цвет сбивается, значит в старых версиях расчет был другой. Это надо лезть в исходники и смотреть, как было раньше. открывал даже сдк 2002 года и пробовал там вводить - тоже что и в финалке Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
StrawFlux 1 079 Опубликовано 28 сентября, 2023 подскажите как в inventory_box что-то из айтемов по инфопоршню заспавнить? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Stalkervernite 348 Опубликовано 28 сентября, 2023 В чем проблема? пишет 25 ошибок, по факту 1, что делать? после того как я добавил тхмку к указанной текстуре в логе писалась что она загрузилась, но другие текстуры в логе не появились, как решать? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
РСФСР 91 Опубликовано 28 сентября, 2023 Кто знает каким ключем конвертера бардака декомпилируются локи билда 1537 в формат сдк? ключи -1580 - 1844 - 1475 - 1511 не работают, пишет формат xrlc не тот Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
N42 697 Опубликовано 28 сентября, 2023 StrawFlux в bind_stalker в info_callback лови инфопоршень и спавни 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
RicoNRT 228 Опубликовано 28 сентября, 2023 Всем привет.Хочу сделать такой квест.По условию на актере должен быть одет определённый костюм(например куртка бандита.)В чём прикол.Я поставил рестриктор,но от должен работать только в том случае,если на актере надета та самая куртка,в ином же случае, при входе в рестриктор ничего не сработает. Далее ,сама логика рестриктора.Вот мы одели эту куртку,зашли в зону.При входе в рестриктор срабатывает инфопоршень и появляется таймер,на 1:20. По инфопоршню срабатывает сразу 2 события, 1-приходит смс(типо мысли ГГ),2- это спавн условного бюрера.Так же хочу сделать такую фишки,если мы зашли в зону и начался таймер,но до окончания таймера мы вышли из зоны,задание проваливается.Если таймер закончился и мы в зоне.то происходит следующее,выдаётся инфопоршень о выполнении задания,у нас забирают нашу куртку и выдают допустим севу.Надеюсь,что хоть кто то понял мою задумку.Не прошу сразу всё разьяснить и описать.Лучше всего начните с начала,а именно выдача инфопоршня при надетой куртке в бандита в рестрикторе.За ранее всем огромное спасибо. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
ian98 238 Опубликовано 28 сентября, 2023 RicoNRT в рестникторе будет обычная функция Если у нас в слоте брони есть броня, то, если это куртка, то выдаём поршень + можно выдать тут же смс сообщение. Это для начала. А дальше уже посложнее. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
RicoNRT 228 Опубликовано 28 сентября, 2023 ian98 Извини,но фото не открывается( Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Stalkervernite 348 Опубликовано 29 сентября, 2023 У кого есть папка rawdata для Тч настроенная, не с битыми thm-ками, скачал сборник thm-ок, а половина файлов для локации не подходит, юзал dds2tga, и полученные thm-ки закинул в rawdata, по итогу у меня теперь xrlc вылетает. Как решать проблемы? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Pastalker56 107 Опубликовано 29 сентября, 2023 Всем привет. Подскажите, как сделать чтобы цена предмета была видна только во время торговли (как ЗП). И как убрать полоску состояния у предметов (по типу хлеб, гитара, водка) или для этого нужно движок править? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
РСФСР 91 Опубликовано 29 сентября, 2023 49 минут назад, Stalkervernite сказал: У кого есть папка rawdata для Тч настроенная, не с битыми thm-ками, скачал сборник thm-ок, а половина файлов для локации не подходит, юзал dds2tga, и полученные thm-ки закинул в rawdata, по итогу у меня теперь xrlc вылетает. Как решать проблемы? через paint.net или фотошоп надо конвертировать, помню с этой утилитой были проблемы Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Stalkervernite 348 Опубликовано 29 сентября, 2023 (изменено) . Дополнено 23 минуты спустя Кто знает, как разархивировать shaders.xrlc? В чем ошибка? unknown xrLC version 12 При конвертации болот Изменено 29 сентября, 2023 пользователем Stalkervernite Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
RicoNRT 228 Опубликовано 29 сентября, 2023 Всем привет.На днях переустанавливал виндоус.До переустановки сдк работал прекрасно и без сбоев.Сегодня опять скачал сдк.Как только закидываю геймдату выдаёт ошибку.В чём проблема,геймдата таже.С ней сдк прекрасно запускался неделю назад.Спасибо за ответ. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Stalkervernite 348 Опубликовано 29 сентября, 2023 (изменено) В чем дело? Переустановил чистый сдк, а в папке rawdata нету некоторых текстур flare и water и еще пару текстур в чем дело? к тому же при декомпиляции локации выдает ошибку unknown xrLC version 12 При конвертации болот. К тому же, у меня к тому же нет папки импорт Дополнено 1 минуту спустя RicoNRT Скорей всего у тебя нету msvcp файлов, у меня была похожая проблема очень давно. У тебя на скрине есть надпись Exception Reason: И там лог, ниже указанный лог напиши. Это скорей всего связано не с сдк, а с виндой нету файлов некоторых Изменено 29 сентября, 2023 пользователем Stalkervernite Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
frankenshtayn 17 Опубликовано 30 сентября, 2023 В 28.09.2023 в 17:24, RicoNRT сказал: Хочу сделать такой квест.По условию на актере должен быть одет определённый костюм(например куртка бандита.)В чём прикол.Я поставил рестриктор,но от должен работать только в том случае,если на актере надета та самая куртка,в ином же случае, при входе в рестриктор ничего не сработает. Как то так: [logic] active = sr_idle [sr_idle] on_actor_inside = {-zashel} %+zashel% sr_idle@in - зашел ГГ, переходим в sr_idle@in [sr_idle@in] on_info = {=check_outfit} sr_idle@da, {!check_outfit} sr_idle@net - проверяем одет нужный костюм или нет, если одет идем в sr_idle@da, если нет идем в sr_idle@net [sr_idle@da] on_info = {+zashel} %+vidayem_info% sr_idle@tm - если одет нужный костюм, выдаем инфо и переходим в схему таймера (выдается инфо vidayem_info из него запускается смс-ка и спавнится бюрер) [sr_idle@net] on_actor_outside = %-zashel% sr_idle - если костюм не одет, ничего не происходит, и при выходе рестриктор возвращается в исходное состояние [sr_idle@tm] type = dec start_value = 60000 -запускаем таймер(время регулируем по себя) on_actor_outside = nil %+slabak% -если вышел до окончания таймера, выдается инфо на провал задания on_value = 0 | sr_idle@tm_da - если гг в рестрикторе и таймер закончился переходим в sr_idle@tm_da [sr_idle@tm_da] on_actor_inside = nil %+molodec% - по окончании таймера и присутствии гг в рестрикторе выдается инфопоршень, по которому делается остальное: засчитывается задание, отбираетс и выдается костюм и т.д. и т.п. Функция проверки костюма должна лежать в xr_conditions.script и выглядеть так: function check_outfit() local outfit = db.actor:get_current_outfit() if outfit and outfit:section() == "name_outfit" then return true else return false end end Дополнено 5 минуты спустя В 29.09.2023 в 20:22, RicoNRT сказал: Всем привет.На днях переустанавливал виндоус.До переустановки сдк работал прекрасно и без сбоев.Сегодня опять скачал сдк.Как только закидываю геймдату выдаёт ошибку.В чём проблема,геймдата таже. проверь библиотеки, вроде ругается на KernelBase.dll 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
RicoNRT 228 Опубликовано 30 сентября, 2023 frankenshtayn У меня нету слов. Считай с 0 для меня квест написал.До сих пор в шоке.ОГРОМНОЕ СПАСИБО. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
frankenshtayn 17 Опубликовано 30 сентября, 2023 В 24.09.2023 в 08:55, Paracetamol сказал: Как сделать, чтобы нпс шёл за актёром, аля компаньён. Вот так: Спойлер Значит так, чтобы не заморачиваться с изменениями, создай скрипт с именем rx_karavan.script (в принципе можно создать и свой скрипт, но тогда в «модулях» нужно будет исправить на имя своего скрипта) в него вставь вот этот код: ---------------------------------------------- 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 "patrol" st.faraway_state = utils.cfg_get_string(ini,section,"faraway_state",npc,false,"") or "rush" 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 далее, открой скрипт modules.script и под строками ---------------------------------------------------------------------- -- Загрузка модулей сталкеров: ---------------------------------------------------------------------- if watcher_act then load_scheme("watcher_act", "watcher_act", stype_stalker) end вставь такую строчку: load_scheme("rx_karavan", "karavan", stype_stalker) со скриптами все... Ну и собственно логика персонажа будет выглядеть так: [smart_terrains] none = true [logic] active = karavan [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 = {=fighting_dist_ge(40)} always no_loot = true в принципе здесь чувак с самого начала будет бегать за ГГ...Но, если нужно не сразу, а в нужный момент. то логику можно построить примерно так: [smart_terrains] none = true [logic] active = walker [walker] ;пока чувак нам не нужен, ходит под валкером по своим путям(стоит, сидит...) path_walk = snip_naym_walk1 path_look = snip_naym_look1 on_info = {+info} karavan ;при получении инфопоршня, переходим в "караван" и бегим за ГГ [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 = {=fighting_dist_ge(40)} always no_loot = true on_info = {+info1} walker@prshli ;дошли до места, получили поршень, перешли в другой валкер(стоим, сидим и т.д.) [walker@prishli] path_walk = snip_naym_walk2 path_look = snip_naym_look2 Взято из НС, расписано подробнее некуда, кому надо - дерзайте) 1 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
RicoNRT 228 Опубликовано 1 октября, 2023 Всем привет.Кто нибудь знает где в сдк мины лежат, по типу тех, что на кордоне стоят на южном блокпосте.За ранее благодарю. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Paracetamol 900 Опубликовано 1 октября, 2023 3 часа назад, RicoNRT сказал: Всем привет.Кто нибудь знает где в сдк мины лежат, по типу тех, что на кордоне стоят на южном блокпосте.За ранее благодарю. Во вкладке zones, они на базе аномалий Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Stalkervernite 348 Опубликовано 1 октября, 2023 Кто знает, как реализовать систему выдвижение выдвижного шкафчика, типо открывал тумбу, и она открывалась нормально. 2 - ой вопрос, скажите название анимации выпившего Сталкера. К примеру Сидорович бухой шел, напиши пожалуйста :) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Paracetamol 900 Опубликовано 2 октября, 2023 Господа, кто знает, как можно отследить хит от актера по нпс? Через скрипт или логику, без разницы Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
imcrazyhoudini 1 110 Опубликовано 2 октября, 2023 Paracetamol через логику, секция on_hit как вариант [hit] on_info = {=hit_by_actor} %+info% 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Yara 117 Опубликовано 2 октября, 2023 18 часов назад, Stalkervernite сказал: Кто знает, как реализовать систему выдвижение выдвижного шкафчика, типо открывал тумбу, и она открывалась нормально. Она уже есть, но не работает, т.к. ориг.модели ящиков криво настроены. Тут исправлены: https://drive.google.com/file/d/1bmO3G8czkda1uIGGJjc7ZUgcWxvJ0tiv/view?usp=sharing https://sites.google.com/view/xray-sdk-0-4-smg Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Paracetamol 900 Опубликовано 3 октября, 2023 Господа, как реализовать gui дневник на тч (огср), типо того, что был в моде Farthest Edge? Дополнено 0 минут спустя Не понятен именно процесс добавления записей в дневник. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты