Overf1rst 1 582 Опубликовано 1 июля, 2020 Тема посвящена моддингу на платформе Чистое Небо. Правила темы: Здесь задают вопросы и получают на них ответы. Прежде чем задать вопрос, воспользуйтесь поиском, ответ на него, вероятно, уже есть. Если у вас произошёл вылет, проверьте лог и поищите информацию об ошибке в справочнике. Также будет полезно посмотреть справочник ошибок. Если у Вас вылетает какой-то мод, то следует написать в тему этого мода. Грамотно оформляйте свой пост, чётко доносите суть своего вопроса (ответа). Благодарность выражаем в личке или же ставим реакцию. Посты с благодарностями в теме будут удаляться. 5 3 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
imcrazyhoudini 1 249 Опубликовано 25 сентября, 2025 Вопрос такой, в ЧН есть необходимость того, чтобы все смарты были связаны между собой ради войны группировок. Имею ввиду о targets = smart_name И исходя из этого у нас могут мутанты переместиться с одного смарта в другой, то бишь кровососы подселяются к плотям, условно. Как это запретить? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
AfterGlow 625 Опубликовано 2 ноября, 2025 imcrazyhoudini попробуй указать их собственный смарт в таргет. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
etozzzhedan 0 Опубликовано 6 ноября, 2025 Всем привет. Подскажите, пожалуйста, можно ли как-то добавить апгрейд квестовому АКМ? Перенес строки, отвечающие за улучшение из файла с обычным АК-74, но чёт ничего не получается. Заранее спасибо. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
imcrazyhoudini 1 249 Опубликовано 4 января Возьмём ситуацию, есть локация Радар, на ней есть смарты монолита и смарты мутантов. И вот зачем-то монолиту надо захватить эти смарты мутантов, хотя в targets напрямую это не указано. Как запретить НПС покидать свои территории? Да и мутантам в общем-то так же. Смарты такой пример все имеют: Скрытый текст [smart_terrain] targets = rad_monolith_perehod, rad_monolith_centr sim_type = default important_point = false squad_capacity = 1 mutant_lair = false group_id = 4 spawn_point = rad_monolith_x14_spawn_point att_restr = rad_monolith_x14_space def_restr = rad_monolith_x14_space sim_avail = true respawn_sector = monolith no_mutant = false respawn = actor_hides = surge_hide_avaliable = false Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
sprint22 2 Опубликовано 4 января всем привет, все чаще стали появляться в модах конфиги db0 в какой токодировке , не возможно редактировать, можно как то это переделать? хотелось бы как на втором скрине, все ясно и понятно Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
macron 1 187 Опубликовано 4 января sprint22 http://wincmd.ru/plugring/stalker_db.html Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Bro_dyaga 143 Опубликовано 4 января 29 минут назад, sprint22 сказал: конфиги db0 в какой токодировке , не возможно редактировать у тя есть инструмент для редактирования файлов в архивах без распаковки?! "Нет лучше утверждения , чем неоспоримый факт"® Хобби: ->«open sighting reticles»<- Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Yara 194 Опубликовано 5 января 5 часов назад, imcrazyhoudini сказал: [smart_terrain] Попробуй добавить: forbidden_point = true https://sites.google.com/view/xray-sdk-0-4-smg Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
imcrazyhoudini 1 249 Опубликовано 5 января Yara а что вообще строка делает? Добавил во все смарты, не помогло, снорки всё равно идут к плотям, а монолит стремится весь Радар захватить. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
imcrazyhoudini 1 249 Опубликовано 6 января Yara поковырялся, оказывается надо название группировки писать, вроде как работает, буду дальше наблюдать. 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Yara 194 Опубликовано 7 января imcrazyhoudini Ага, только запрет для одной группы. Параметр не поддерживает перечисление, типа monster, zombied В sim_board.script есть строка: if point.forbidden_point ~= nil and point.forbidden_point == squad.player_id then заменяешь на: if point.forbidden_point ~= nil then И больше никто на смарт не нападёт. Есть альт. вариант, отключить работу "attack_point" для сквадов в gulag_general.script, в блоках: local stalker_attack_jobs = { _prior = 60, jobs = {}, local stalker_attack_smart_jobs = { _prior = 60, jobs = {}, local monster_attack_jobs = { _prior = 50, jobs = {}, local monster_attack_smart_jobs = { _prior = 50, jobs = {}, Поменять _prior = -1 1 1 https://sites.google.com/view/xray-sdk-0-4-smg Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
imcrazyhoudini 1 249 Опубликовано 7 января Пачка вопросов: 1. Заметил не раз, что зомби приходят к сталкерам и могут просто стоять, надо аж в упор как-то им заметить их, чтобы началась стрельба, в чём проблема может быть? Спойлер 2. Вот даже с оригинала помню, на сталкеров на Янтаре нападают зомби, приходит задание защитить лагерь, а вот награду никто не даёт. Награду может выдасть только торговец группировки, нельзя сделать чтобы Сахаров давал? Тоже самое с заданиями "принести предметы". 3. Что необходимо сделать, дабы работали кондлисты в логике? Пример: active = {+esc_propusk_end} kamp@esc_baza_military_2, {-esc_propusk_end} walker@esc_baza_military_fake1 Для того чтобы НПС не возвращался в первую логику и не кружлял десятки маршрутов в моём случае. А то фикс с ОГСР на ЧН касательно сейва логики не работает, под смартами НПС так же возвращается назад, а кондлисты просто так не пашут. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
khyor 16 Опубликовано 7 января (изменено) imcrazyhoudini разве кондлисты не работают? В тч и зп работали. Можно в активной секции раскидать по on_info, on_info2 и т.д., но мне кажется, должны и в чн работать. Чтобы Сахарову прилетала награда за экологов - пропиши ему [task_manager] reward = ecolog Изменено 7 января пользователем khyor 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Yara 194 Опубликовано 8 января imcrazyhoudini 3. В smart_terrain.script находишь строку: local active_section = ltx:r_string(section, "active") поменять на: local active_section_cond = xr_logic.cfg_get_condlist(self.ltx, section, "active", self) local active_section = xr_logic.pick_section_from_condlist(db.actor, self, active_section_cond.condlist) Не для ЧН, но для понимания, как это сделано в ТЧ ЕЕ: if self.ltx:line_exist( section, "active" ) then active_section = self.ltx:r_string( section, "active" ) elseif self.ltx:line_exist( section, "selective" ) then local active_section_cond = gulag_cfg_get_condlist(self.ltx, section, "selective") if not active_section_cond then abort("xr_gulag: job '%s': unable to find section(s) for 'selective'",section) return nil else active_section = xr_logic.pick_section_from_condlist(actor, npc, active_section_cond.condlist) if not active_section then abort("xr_gulag: job section '%s': section 'selective' has no conditionless else clause", section) return nil end end else abort( "gulag: ltx=%s no 'active' or 'selective' in section %s", self.ltx_name, section ) return nil end В xr_logic.script, function determine_section_to_activate local active_section_cond = cfg_get_condlist(ini, section_logic, "active", npc) or cfg_get_condlist(ini, section_logic, "selective", npc) В конфиге логики, если одна секция: active = walker@sect_1 много: selective = {+info} walker@sect_2, walker@sect_1 1 1 https://sites.google.com/view/xray-sdk-0-4-smg Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
imcrazyhoudini 1 249 Опубликовано 19 января Как понимаю всего лишь ворнинги, но поправить можно ли? Спойлер ! [LUA] attempt to kill dead object rad_stalker_0010 ! [LUA] 0 : [C ] kill ! [LUA] 1 : [Lua] ....a.l.k.e.r. clear sky\gamedata\scripts\xr_effects.script(2659) : ! [LUA] 2 : [Lua] ....t.a.l.k.e.r. clear sky\gamedata\scripts\xr_logic.script(654) : pick_section_from_condlist ! [LUA] 3 : [Lua] ....t.a.l.k.e.r. clear sky\gamedata\scripts\xr_logic.script(764) : try_switch_to_another_section ! [LUA] 4 : [Lua] e:\s.t.a.l.k.e.r. clear sky\gamedata\scripts\xr_hit.script(22) : ! [LUA] 5 : [Lua] ....t.a.l.k.e.r. clear sky\gamedata\scripts\xr_logic.script(539) : issue_event ! [LUA] 6 : [Lua] ....l.k.e.r. clear sky\gamedata\scripts\xr_motivator.script(225) : Вызываю функцию через логику hit: Спойлер function dead_monolit(actor, npc) local obj = level_object_by_sid(70) if obj:alive() then obj:kill(npc) end end function dead_gorbun(actor, npc) local npc = level_object_by_sid(71) npc:kill(npc) end Обе не нравятся игре. Ещё такое есть: Спойлер ! [LUA] bolt cannot apply GetRelationType method for non-alive object! ! [LUA] 0 : [C ] relation ! [LUA] 1 : [Lua] ....a.l.k.e.r. clear sky\gamedata\scripts\xr_effects.script(2669) : ! [LUA] 2 : [C ] give_info_portion ! [LUA] 3 : [Lua] ....t.a.l.k.e.r. clear sky\gamedata\scripts\xr_logic.script(658) : pick_section_from_condlist ! [LUA] 4 : [Lua] ....t.a.l.k.e.r. clear sky\gamedata\scripts\xr_logic.script(760) : try_switch_to_another_section ! [LUA] 5 : [Lua] ....l.k.e.r. clear sky\gamedata\scripts\xr_motivator.script(346) : ! [LUA] meshes\brkbl#0.ogf cannot apply GetRelationType method for non-alive object! ! [LUA] 0 : [C ] relation ! [LUA] 1 : [Lua] ....a.l.k.e.r. clear sky\gamedata\scripts\xr_effects.script(2669) : ! [LUA] 2 : [C ] give_info_portion ! [LUA] 3 : [Lua] ....t.a.l.k.e.r. clear sky\gamedata\scripts\xr_logic.script(658) : pick_section_from_condlist ! [LUA] 4 : [Lua] ....t.a.l.k.e.r. clear sky\gamedata\scripts\xr_logic.script(760) : try_switch_to_another_section ! [LUA] 5 : [Lua] ....l.k.e.r. clear sky\gamedata\scripts\xr_motivator.script(346) : ! [LUA] meshes\brkbl#1.ogf cannot apply GetRelationType method for non-alive object! ! [LUA] 0 : [C ] relation ! [LUA] 1 : [Lua] ....a.l.k.e.r. clear sky\gamedata\scripts\xr_effects.script(2669) : ! [LUA] 2 : [C ] give_info_portion ! [LUA] 3 : [Lua] ....t.a.l.k.e.r. clear sky\gamedata\scripts\xr_logic.script(658) : pick_section_from_condlist ! [LUA] 4 : [Lua] ....t.a.l.k.e.r. clear sky\gamedata\scripts\xr_logic.script(760) : try_switch_to_another_section ! [LUA] 5 : [Lua] ....l.k.e.r. clear sky\gamedata\scripts\xr_motivator.script(346) : Триггера обнаружить не могу. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Mass 133 Опубликовано 19 января 11 минут назад, imcrazyhoudini сказал: Вызываю функцию через логику hit: Не хватает проверки, что объект живой. Или можешь отсечь поршнем. Только поршень должен быть в секции death, а в хит проверка. 14 минут назад, imcrazyhoudini сказал: обнаружить не могу Тут явно сказано что у объекта отсутствует метод relation. Решение нужна проверка на то что объект является сталкером clsid.scrpt_stalker Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
imcrazyhoudini 1 249 Опубликовано 19 января 1 час назад, Mass сказал: а в хит проверка. Спойлер function dead_monolit(actor, npc) local obj = level_object_by_sid(70) if obj:alive() then obj:kill(npc) end end А тут разве её нет? Дополнено 26 минуты спустя 1 час назад, Mass сказал: Решение нужна проверка на то что объект является сталкером clsid.scrpt_stalker Хммм, а может это быть из-за того что перевожу в оффлайн сталкера через спавнер? В оригинале ЧН такой функции не было, с ЧН удалили её зачем-то, мне добавили поверх. Почему на это подумал - просто на мини-мапе остаётся отметка НПС, хотя его нет. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Mass 133 Опубликовано 20 января 12 часов назад, Mass сказал: Не хватает проверки, что объект живой. Или можешь отсечь поршнем. Только поршень должен быть в секции death, а в хит проверка. Это не исправит проблемы. 12 часов назад, imcrazyhoudini сказал: Вызываю функцию через логику hit: Посмотрел как я исправлял эту ошибку раньше в своей сборной солянке когда-то. Решение - не вызывать функцию напрямую из секции hit, а добавлять инфопоршень. И уже в активной секции логики через проверку по on_info. Спойлер on_info = {+info_kill_dead_monilith} %=kill_npc% 10 часов назад, imcrazyhoudini сказал: может это быть Код покажите! 10 часов назад, imcrazyhoudini сказал: просто на мини-мапе остаётся отметка НПС, хотя его нет Могла повиснуть функция. Без кода не разобраться Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
imcrazyhoudini 1 249 Опубликовано 20 января (изменено) Mass https://www.filemail.com/d/cfhejjxvltsbobq Изменено 20 января пользователем imcrazyhoudini Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Mass 133 Опубликовано 20 января imcrazyhoudini По стеку проблема же в xr_effects.script! Зачем мне ваш se_stalker.script? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
imcrazyhoudini 1 249 Опубликовано 20 января Mass упс, извиняюсь: Спойлер function reset_enemy_lusuy() local o = level_object_by_sid(69) if o and o:alive() then for id = 1, 65535 do local obj = level.object_by_id(id) if obj and o:relation(obj) == game_object.enemy then o:enable_memory_object(obj, false) db.storage[o:id()].enemy = nil end end end end Такая функция там. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Mass 133 Опубликовано 20 января imcrazyhoudini Странная и глупая функция! Я так думаю автор этого кода хотел удалить из памяти нпс врага?! А что Кондлист combat_ignore_cond не работает? Это все делается внутри xr_combat_ignore.script см колбек enemy_callback 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
imcrazyhoudini 1 249 Опубликовано 20 января 2 часа назад, Mass сказал: Кондлист combat_ignore_cond не работает? Бывает надо удалить врага чтобы перейти в другую секцию логику, а без удаления врага это не выйдет ибо он переходит под движковую логику. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
antreg 104 Опубликовано 20 января (изменено) Удалено. Ошибся темой. Изменено 21 января пользователем antreg Ошибка темы Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Mass 133 Опубликовано 21 января 12 часов назад, imcrazyhoudini сказал: Бывает надо удалить врага Удалите пожалуйста этот кошмар и возьмите из ЗП xr_effects.script функцию disable_memory_object и функцию из xr_conditions.script has_enemy Спойлер function disable_memory_object (actor, npc) --' xr_effects local best_enemy = npc:best_enemy() if best_enemy then npc:enable_memory_object(best_enemy, false) end end function has_enemy(actor, npc) --' xr_conditions return npc:best_enemy() ~= nil end И в логике on_info = {=has_enemy} Ваша секция %=disable_memory_object% 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты