Это популярное сообщение. Dennis_Chikin 3 658 Опубликовано 16 Мая 2014 Это популярное сообщение. Поделиться Опубликовано 16 Мая 2014 (изменено) Ковыряемся в файлах ТЧ Прежде чем писать в тему - внимательно читаем первый пост, и пользуемся поиском.Возможно, ответ на Ваш вопрос уже есть.Касательно телепатии: если Вы передаете Ваши файлы телепатическим путем - ответы будут передаваться тоже телепатически. Если Вы предлагаете угадать, отчего у Вас в подвале происходит странный стук - ответ будет передан стуком. Изменено 23 Февраля 2016 пользователем warwer 4 8 6 12 Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
imcrazyhoudini 195 Опубликовано 12 Августа 2018 Поделиться Опубликовано 12 Августа 2018 (изменено) Адаптирую blowout mod 1.0: Что правил(сначала оригинал, потом мои правки) ogsm_funcs.script: function __do_timer_action(select_string,params_string) -- Начало алгоритма выброса -- -- 1. Настало время выброса. if select_string=="bl1" then if ogsm_surge then if (level.name() ~= "l03u_agr_underground") and (level.name() ~= "l08u_brainlab") and (level.name() ~= "l10u_bunker") and (level.name() ~= "l04u_labx18") and (level.name() ~= "l12u_sarcofag") and (level.name() ~= "l12u_control_monolith") and (level.name() ~= "l12_stancia") and (level.name() ~= "l12_stancia_2") then if sleep_manager and sleep_manager.is_sleep_active() then sleep_manager.stopper() end start_timer("bl2",1) else g_start_timer("bl1",0,1,0) end else g_start_timer("bl1",0,10,0) end end function __do_timer_action(select_string,params_string) -- Начало алгоритма выброса -- -- 1. Настало время выброса. if select_string=="bl1" then if ogsm_surge then if (level.name() ~= "l01_dead_city") and (level.name() ~= "l02_yantar") and (level.name() ~= "l03_bar") and (level.name() ~= "l05_military") and (level.name() ~= "l06_milrad") and (level.name() ~= "l07_radar") and (level.name() ~= "l08_generators") then if sleep_manager and sleep_manager.is_sleep_active() then sleep_manager.stopper() end start_timer("bl2",1) else g_start_timer("bl1",0,1,0) end else g_start_timer("bl1",0,10,0) end end Как я понимаю, здесь указываются локации где выброс идти не будет. У меня пока что одна локация на которой будет идти, потом расширю. ogsm_hideout.script: function is_in_specific_zone(npc) if npc_in_zone(npc,"l01_escape",-256,-246,-137,-132,-25,-20) or -- Бункер Сидора npc_in_zone(npc,"l03_agroprom",-198.31,-195.66,85.4,96.54,2,5.3) or -- Вагон дезертира npc_in_zone(npc,"l04_darkvalley",30,50,-60,-25,-4,0) or -- Тюрьма в Темной долине npc_in_zone(npc,"l05_bar",123,140,18,30,-6,0) or -- Бар npc_in_zone(npc,"l05_bar",118,121,34,41,-4,1) or -- Охранник Бара npc_in_zone(npc,"l05_bar",149,158,67,74,0,4) or -- Приемная Арни npc_in_zone(npc,"l05_bar",136,168,73,134,-22,-10) or -- Арена npc_in_zone(npc,"l05_bar",208,234,120,139,-6,2) or -- База Долга npc_in_zone(npc,"l06_rostok",-90,-87,125,151,0,6) or -- Блокпост наемников npc_in_zone(npc,"l07_military",-27,-16,-33,-14,-9,0) or -- База Свободы npc_in_zone(npc,"l08_yantar",23,40,-282,-269,-16,0) or -- Бункер ученых npc_in_zone(npc,"l08_yantar",-265,-22,-218,-6,-20,-11) or -- Кишка npc_in_zone(npc,"l11_pripyat",-16,-2,188,204,-5,0) then -- Подвал ДК return true end return false end function is_in_hide(npc) if npc_in_zone(npc,"l01_escape",-211,-198,-132,-125,-23,-20) or -- Подвал 1 в лагере новичков npc_in_zone(npc,"l01_escape",-216,-209,-133,-120,-24,-20) or -- Подвал 2 в лагере новичков npc_in_zone(npc,"l02_garbage",-112,-57,-6,25,-9,90) or -- Ангар на Свалке npc_in_zone(npc,"l05_bar",206,213,50,68,0,4) or -- Магазин Петренко npc_in_zone(npc,"l06_rostok",-285,-235,78,112,-7,0) or -- Тоннель Фримена npc_in_zone(npc,"l10_radar",639,664,167,189,-45,-37) or -- Секретная база Монолита npc_in_zone(npc,"l10_radar",86.73,153,-27,-21.70,-10,-4.6) or -- Вход в бункер npc_in_zone(npc,"l11_pripyat",-18,-12,58,83,-6,-3) or -- Подземный переход npc_in_zone(npc,"l11_pripyat",167,173,58,83,-6,-3) or -- Подземный переход npc_in_zone(npc,"l11_pripyat",-24,55,116,122,-4,0) then -- Канализация return true else local hide = get_nearest_hide(npc) if hide then if utils.npc_in_zone(npc, hide.obj) then return true end end end return false end function is_in_specific_zone(npc) end function is_in_hide(npc) end Вот тут какие-то специфические зоны, не совсем понимаю + какие-то числа, тоже не совсем понимаю... Решил удалить всё. function first_run() ------------------ -- Escape Hides -- ------------------ -- Бункер Сидора spawn_restrictor("l01_escape", vector():set(-249.9,-24.8,-134.4), 10136, 7, "fake_", 3) -- Лагерь новичков spawn_restrictor("l01_escape", vector():set(-206.5,-22.53,-128.1), 46582, 58, "stalker", 3) spawn_restrictor("l01_escape", vector():set(-211.4,-23.17,-129.5), 41963, 59, "stalker", 3) -- Ферма spawn_restrictor("l01_escape", vector():set(-8.4,0.64,258.3), 268724, 183, "stalker", 4) -- Заброшенный дом рядом с Лисом spawn_restrictor("l01_escape", vector():set(133.0,0.22,339.5), 437657, 232, "stalker_bandit", 3) -- АТП spawn_restrictor("l01_escape", vector():set(109.9,-7.48,7.7), 411371, 118, "stalker_bandit", 5) -- Блокпост spawn_restrictor("l01_escape", vector():set(-119.7,-30.04,-386.4), 133789, 27, "military", 4) spawn_restrictor("l01_escape", vector():set(-140.7,-29.68,-361.2), 109717, 18, "military", 4) -- Мельница spawn_restrictor("l01_escape", vector():set(13.3,2.7,98.7), 290783, 92, "military", 3) ------------------- -- Garbage Hides -- ------------------- -- Ангар - восточная часть spawn_restrictor("l02_garbage", vector():set(-61.6,0.75,9.1), 135489, 330, "stalker", 6) -- Изгородь spawn_restrictor("l02_garbage", vector():set(66.5,0.6,144.9), 237602, 364, "bandit", 2) -- Ангар - западная часть spawn_restrictor("l02_garbage", vector():set(-102.9,0.44,11.9), 110339, 328, "bandit", 6) -------------------- -- Agroprom Hides -- -------------------- -- Строение в районе Крота spawn_restrictor("l03_agroprom", vector():set(16.8,0,14), 256750, 693, "stalker_bandit_military", 6) -- Убежище Крота spawn_restrictor("l03_agroprom", vector():set(39.9,2.5,-10.5), 278041, 693, "stalker", 6) -- Казармы у подземелья spawn_restrictor("l03_agroprom", vector():set(-158.2,1.1,-151.2), 79088, 693, "military", 5) -- Казармы у НИИ spawn_restrictor("l03_agroprom", vector():set(-153.3,1.1,-166.6), 84356, 693, "military", 5) -- Строение у НИИ spawn_restrictor("l03_agroprom", vector():set(-179.9,0,-187.6), 56704, 693, "military", 6) -- НИИ Агропром spawn_restrictor("l03_agroprom", vector():set(-145.6,0,-200.9), 92513, 693, "military", 6) ---------------------- -- Darkvalley Hides -- ---------------------- -- Строения над входом в Х18 spawn_restrictor("l04_darkvalley", vector():set(146.3,0.22,-263.2), 345170, 813, "bandit_military_dolg", 15) spawn_restrictor("l04_darkvalley", vector():set(128.1,0.14,-294), 325149, 813, "bandit_military_dolg", 7) -- Ферма spawn_restrictor("l04_darkvalley", vector():set(-135.1,0.97,-511), 22718, 813, "stalker", 8) -- Бензоколонка spawn_restrictor("l04_darkvalley", vector():set(101.5,0.7,-7.7), 297166, 813, "stalker_", 6) -- Подвал рядом с ямой spawn_restrictor("l04_darkvalley", vector():set(34.3,-2.93,-0.7), 216848, 813, "bandit_dolg", 4) -- Элеватор spawn_restrictor("l04_darkvalley", vector():set(-7,0.11,-57.4), 165893, 813, "bandit", 4) -- Комната Борова spawn_restrictor("l04_darkvalley", vector():set(39.2,4.54,-84), 223238, 813, "bandit", 5) -- Холл spawn_restrictor("l04_darkvalley", vector():set(37.1,0.375,-66.5), 220567, 813, "bandit", 5) -- Над тюрьмой spawn_restrictor("l04_darkvalley", vector():set(40.6,1.01,-31.5), 225406, 813, "bandit", 7) --------------- -- Bar Hides -- --------------- -- Бункер на заставе spawn_restrictor("l05_bar", vector():set(214.2,-1.57,-18.9), 52736, 1233, "stalker_dolg", 3) -- Иди своей дорогой, сталкер... spawn_restrictor("l05_bar", vector():set(178.5,0.09,49.0), 44766, 1233, "stalker_dolg", 6) -- Магазин Петренко spawn_restrictor("l05_bar", vector():set(210.0,0.42,61.6), 51205, 1233, "dolg", 5) -- База Долга spawn_restrictor("l05_bar", vector():set(224.0,-5.26,130.9), 56342, 1233, "fake_", 8) -- Предбанник Арены spawn_restrictor("l05_bar", vector():set(142.8,0.09,93.1), 38428, 1233, "stalker_dolg", 6) -- Строения у Бара spawn_restrictor("l05_bar", vector():set(112.7,0.097,68.6), 33337, 1233, "stalker_dolg", 6) spawn_restrictor("l05_bar", vector():set(144.9,-0.012,40.6), 38939, 1233, "stalker_dolg", 6) -- Бар spawn_restrictor("l05_bar", vector():set(131.6,-4.83,23.8), 36240, 1233, "fake_", 10) ------------------ -- Rostok Hides -- ------------------ -- Блокпост наемников spawn_restrictor("l06_rostok", vector():set(-88.9,0,137.2), 46715, 1311, "stalker_dolg_killer_ecolog", 2) spawn_restrictor("l06_rostok", vector():set(-82.6,1.95,156.8), 48150, 1311, "stalker_dolg_killer_ecolog", 3) -- Ангар с пси-зоной spawn_restrictor("l06_rostok", vector():set(-191.8,0,130.9), 28448, 1311, "stalker_dolg_killer_ecolog", 6) -- Тоннель Фримена spawn_restrictor("l06_rostok", vector():set(-280,-6,109.2), 1769, 1311, "ecolog", 3) -- Засады наемников spawn_restrictor("l06_rostok", vector():set(-242.9,0,140), 12634, 1311, "killer", 2) spawn_restrictor("l06_rostok", vector():set(-228.2,0.13,141.4), 19047, 1311, "killer", 2) spawn_restrictor("l06_rostok", vector():set(-250.6,1.43,14), 9490, 1311, "killer", 2) -------------------- -- Military Hides -- -------------------- -- База Долга spawn_restrictor("l07_military", vector():set(-191.8,-13,39.9), 133097, 1546, "dolg", 4) -- Деревня кровососов spawn_restrictor("l07_military", vector():set(-228.9,-21.78,196.7), 102257, 1546, "freedom", 4) -- Стоянка нейтралов spawn_restrictor("l07_military", vector():set(-71.4,-16.83,242.9), 240966, 1546, "stalker", 3) -- Барьер spawn_restrictor("l07_military", vector():set(84.7,-7,341.6), 382116, 1546, "freedom", 3) -- Хутор Павлика spawn_restrictor("l07_military", vector():set(-190.4,-16,371), 134714, 1546, "killer_freedom", 4) -- Штаб Свободы spawn_restrictor("l07_military", vector():set(-21.7,-4.12,-23.8), 285439, 1546, "fake_", 6) -- Казармы spawn_restrictor("l07_military", vector():set(9.1,-7.28,16.1), 316470, 1546, "freedom", 6) spawn_restrictor("l07_military", vector():set(57.4,-8.054,16.8), 356438, 1546, "freedom", 6) -- Кухня spawn_restrictor("l07_military", vector():set(-77,-11.34,30.1), 235657, 1546, "freedom", 6) ------------------ -- Yantar Hides -- ------------------ -- Бункер ученых spawn_restrictor("l08_yantar", vector():set(31.5,-11.68,-272.3), 54643, 1459, "fake_", 6) ----------------- -- Radar Hides -- ----------------- -- Секретная база Монолита spawn_restrictor("l10_radar", vector():set(650.955,-43.887,182.48), 226701, 1868, "dolg_freedom_stalker_military_monolith", 7) -- Вход в бункер spawn_restrictor("l10_radar", vector():set(147.35,-9.277,-24.21), 52689, 1868, "dolg_freedom_stalker_military_monolith", 4) -- Казармы на Радаре spawn_restrictor("l10_radar", vector():set(33.6,-3.38,-42), 21487, 1868, "dolg_freedom_stalker_military_monolith", 4) ------------------- -- Pripyat Hides -- ------------------- -- Подземная автостоянка spawn_restrictor("l11_pripyat", vector():set(85.4,-7.39,20.3), 196856, 2269, "stalker_military_freedom_dolg_killer", 15) -- Сберкасса spawn_restrictor("l11_pripyat", vector():set(60.2,-1.74,33.6), 172091, 2269, "stalker_military_freedom_dolg_killer", 4) -- Милиция spawn_restrictor("l11_pripyat", vector():set(-35.7,-1.68,34.3), 63044, 2269, "stalker_military_freedom_dolg_killer", 6) -- Сельхозуправление spawn_restrictor("l11_pripyat", vector():set(-51.1,0,140), 48522, 2269, "stalker_military_freedom_dolg_killer", 12) -- Подвал Дома культуры spawn_restrictor("l11_pripyat", vector():set(-5.6,-5.169,193.2), 95262, 2269, "fake_", 6) -- Подземные переходы spawn_restrictor("l11_pripyat", vector():set(-15.4,-5.55,69.3), 83833, 2269, "stalker_military_freedom_dolg_killer", 3) spawn_restrictor("l11_pripyat", vector():set(170.8,-5.55,69.3), 253270, 2269, "stalker_military_freedom_dolg_killer", 3) -- Канализация spawn_restrictor("l11_pripyat", vector():set(19.6,-3.634,121.1), 125990, 2269, "stalker_military_freedom_dolg_killer", 2) end function first_run() ------------------ -- Swamp Hides -- ------------------ -- Дом Доктора spawn_restrictor("l04_swamp", vector():set(192.7744140625,2.8159973621368,-39.758411407471), 370218, 198, "stalker", 5) end Вот тут вроде как устанавливаются укрытия для всех. Удалил все, оставил тестовый. function evaluator_blowout:evaluate() if not self.object:best_enemy() and db.Flag2==1 and db.Dead2==0 and not (level.name()=="l11_pripyat" and self.object:character_community() == "monolith") and not is_in_hide(self.object) and not is_in_specific_zone(self.object) then self.st.blowout = true else self.st.blowout = false end return self.st.blowout == true end function evaluator_blowout:evaluate() if not self.object:best_enemy() and db.Flag2==1 and db.Dead2==0 and not (level.name()=="l08_generators" and self.object:character_community() == "monolith") and not is_in_hide(self.object) and not is_in_specific_zone(self.object) then self.st.blowout = true else self.st.blowout = false end return self.st.blowout == true end Тут тоже не особо понимаю, просто сменил локацию. ogsm_surge.script: function hit_actor() local psy_hit = hit() psy_hit.direction = vector():set(0,0,0) psy_hit.impulse = 0 psy_hit.draftsman = db.actor if level.name() == "l01_escape" then psy_hit.power = 0.0005 psy_hit.type = hit.radiation db.actor:hit(psy_hit) end if level.name() == "l02_garbage" then psy_hit.power = 0.0008 psy_hit.type = hit.radiation db.actor:hit(psy_hit) end if level.name() == "l03_agroprom" then psy_hit.power = 0.001 psy_hit.type = hit.radiation db.actor:hit(psy_hit) end if level.name() == "l04_darkvalley" then psy_hit.power = 0.0012 psy_hit.type = hit.radiation db.actor:hit(psy_hit) end if level.name() == "l05_bar" then psy_hit.power = 0.0015 psy_hit.type = hit.radiation db.actor:hit(psy_hit) end if level.name() == "l06_rostok" then psy_hit.power = 0.002 psy_hit.type = hit.radiation db.actor:hit(psy_hit) end if level.name() == "l08_yantar" then psy_hit.power = 0.003 psy_hit.type = hit.radiation db.actor:hit(psy_hit) psy_hit.power = 0.0001 psy_hit.type = hit.shock db.actor:hit(psy_hit) end if level.name() == "l07_military" then psy_hit.power = 0.005 psy_hit.type = hit.radiation db.actor:hit(psy_hit) psy_hit.power = 0.0002 psy_hit.type = hit.shock db.actor:hit(psy_hit) end if level.name() == "l10_radar" then psy_hit.power = 0.008 psy_hit.type = hit.radiation db.actor:hit(psy_hit) psy_hit.power = 0.0004 psy_hit.type = hit.shock db.actor:hit(psy_hit) end if level.name() == "l11_pripyat" then psy_hit.power = 0.01 psy_hit.type = hit.radiation db.actor:hit(psy_hit) psy_hit.power = 0.0007 psy_hit.type = hit.shock db.actor:hit(psy_hit) end end function hit_actor() local psy_hit = hit() psy_hit.direction = vector():set(0,0,0) psy_hit.impulse = 0 psy_hit.draftsman = db.actor if level.name() == "l04_swamp" then psy_hit.power = 0.15 psy_hit.type = hit.radiation db.actor:hit(psy_hit) psy_hit.power = 0.15 psy_hit.type = hit.shock db.actor:hit(psy_hit) end end Ну тут понятно - наносится урон при выбросе вне укрытия. Убрал лишние, добавил своё. function proceed_art_spawn(section, count) local lv local level_vertexes={ l01_escape = {lvid=595580, gvid=44}, l02_garbage = {lvid=384039, gvid=265}, l03_agroprom = {lvid=438379, gvid=693}, l04_darkvalley = {lvid=392517, gvid=813}, l05_bar = {lvid=99538, gvid=1233}, l06_rostok = {lvid=69283, gvid=1311}, l07_military = {lvid=915663, gvid=1546}, l08_yantar = {lvid=141470, gvid=1438}, l10_radar = {lvid=796328, gvid=1868}, l11_pripyat = {lvid=295965, gvid=2269} } if level.name() == "l07_military" or level.name() == "l10_radar" then lv = 200000 + math.random(-100000,100000) else lv = math.random(level_vertexes[level.name()]["lvid"]) end local gv = level_vertexes[level.name()]["gvid"] for ind = 1, count do alife():create(section, level.vertex_position(lv), lv, gv) end end function spawn_arts() local level_name = level.name() if level_name == "l01_escape" then proceed_art_spawn("af_medusa", 1) proceed_art_spawn("af_vyvert", 1) proceed_art_spawn("af_blood", 1) proceed_art_spawn("af_electra_sparkler", 1) end if level_name == "l02_garbage" or level_name == "l03_agroprom" then proceed_art_spawn("af_cristall_flower", 1) proceed_art_spawn("af_gravi", 1) proceed_art_spawn("af_rusty_thorn", 1) proceed_art_spawn("af_mincer_meat", 1) end if level_name == "l04_darkvalley" then proceed_art_spawn("af_dummy_glassbeads", 1) proceed_art_spawn("af_electra_flash", 1) proceed_art_spawn("af_fuzz_kolobok", 1) proceed_art_spawn("af_fireball", 1) end if level_name == "l05_bar" or level_name == "l06_rostok" then proceed_art_spawn("af_dummy_pellicle", 1) proceed_art_spawn("af_ameba_slime", 1) proceed_art_spawn("af_soul", 1) proceed_art_spawn("af_rusty_kristall", 1) end if level_name == "l07_military" then proceed_art_spawn("af_dummy_battery", 1) proceed_art_spawn("af_rusty_sea-urchin", 1) proceed_art_spawn("af_electra_moonlight", 1) proceed_art_spawn("af_ameba_slug", 1) end if level_name == "l08_yantar" then proceed_art_spawn("af_dummy_battery", 1) proceed_art_spawn("af_dummy_dummy", 1) proceed_art_spawn("af_night_star", 1) proceed_art_spawn("af_gold_fish", 1) end if level_name == "l10_radar" then proceed_art_spawn("af_dummy_spring", 1) proceed_art_spawn("af_rusty_sea-urchin", 1) proceed_art_spawn("af_electra_moonlight", 1) proceed_art_spawn("af_ameba_mica", 1) end if level_name == "l11_pripyat" then proceed_art_spawn("af_dummy_spring", 1) proceed_art_spawn("af_night_star", 1) proceed_art_spawn("af_dummy_glassbeads", 1) proceed_art_spawn("af_fuzz_kolobok", 1) end end function proceed_art_spawn(section, count) local lv local level_vertexes={ l04_swamp = {lvid=370218, gvid=198} } if level.name() == "l01_dead_city" or level.name() == "l02_yantar" then lv = 200000 + math.random(-100000,100000) else lv = math.random(level_vertexes[level.name()]["lvid"]) end local gv = level_vertexes[level.name()]["gvid"] for ind = 1, count do alife():create(section, level.vertex_position(lv), lv, gv) end end -- Вызов спавна артефактов для каждого уровня function spawn_arts() local level_name = level.name() if level_name == "l04_swamp" then proceed_art_spawn("af_lil_sun", 1) end end Тут как понимаю, спавнятся артефакты. Удалил лишнее. В строке if level.name() == "l01_dead_city" or level.name() == "l02_yantar" then lv = 200000 + math.random(-100000,100000) поменял локации, но не понимаю что означает функция. function update_surge() local level_name = level.name() if (level_name ~= "l03u_agr_underground") and (level_name ~= "l08u_brainlab") and (level_name ~= "l10u_bunker") and (level_name ~= "l04u_labx18") and (level_name ~= "l12u_sarcofag") and (level_name ~= "l12u_control_monolith") and (level_name ~= "l12_stancia") and (level_name ~= "l12_stancia_2") then db.FlagEsc = 0 if level_name == "l01_escape" then if actor_in_zone(-211,-198,-132,-125,-23,-20) == 1 or -- Подвал 1 в лагере новичков actor_in_zone(-256,-246,-137,-132,-25,-20) == 1 or -- Бункер Сидора actor_in_zone(-216,-209,-133,-120,-24,-20) == 1 then -- Подвал 2 в лагере новичков db.FlagEsc = 1 end end if level_name == "l02_garbage" then if actor_in_zone(-112,-57,-6,25,-9,90) == 1 then -- Ангар на Свалке db.FlagEsc = 1 end end if level_name == "l03_agroprom" then if actor_in_zone(-198.31,-195.66,85.4,96.54,2,5.3) == 1 then -- Вагон дезертира db.FlagEsc = 1 end end if level_name == "l04_darkvalley" then if actor_in_zone(30,50,-60,-25,-4,0) == 1 then -- Тюрьма в Темной долине db.FlagEsc = 1 end end if level_name == "l05_bar" then if actor_in_zone(123,140,18,30,-6,0) == 1 or -- Бар actor_in_zone(206,213,50,68,0,4) == 1 or -- Магазин Петренко actor_in_zone(149,158,67,74,0,4) == 1 or -- Приемная Арни actor_in_zone(136,168,73,134,-22,-10) == 1 or -- Арена actor_in_zone(208,234,120,139,-6,2) == 1 then -- База Долга db.FlagEsc = 1 end end if level_name == "l06_rostok" then if actor_in_zone(-90,-87,125,151,0,6) == 1 or -- Блокпост наемников actor_in_zone(-285,-235,78,112,-7,0) == 1 then -- Тоннель Фримена db.FlagEsc = 1 end end if level_name == "l07_military" then if actor_in_zone(-27,-16,-33,-14,-9,0) == 1 then -- База Свободы db.FlagEsc = 1 end end if level_name == "l08_yantar" then if actor_in_zone(23,40,-282,-269,-16,0) == 1 or -- Бункер ученых actor_in_zone(-265,-22,-218,-6,-20,-11) == 1 then -- Кишка db.FlagEsc = 1 end end if level_name == "l10_radar" then if actor_in_zone(639,664,167,189,-45,-37) == 1 or -- Секретная база Монолита actor_in_zone(86.73,153,-27,-21.70,-10,-4.6) == 1 then -- Вход в бункер db.FlagEsc = 1 end end if level_name == "l11_pripyat" then if actor_in_zone(-18,-12,58,82,-6,-3) == 1 or -- Подземный переход actor_in_zone(167,173,58,83,-6,-3) == 1 or -- Подземный переход actor_in_zone(-16,-2,188,204,-5,0) == 1 or -- Подвал ДК actor_in_zone(-24,55,116,122,-4,0) == 1 then -- Канализация db.FlagEsc = 1 end end for k,v in pairs(ogsm_hideout.restrictor_list) do local obj = level.object_by_id(v.id) if obj and utils.npc_in_zone(db.actor, obj) then db.FlagEsc = 1 end end if db.Dead2 == 1 and db.FlagEsc == 0 then g_R_Vibros:Run() hit_actor() play_sounds() level.add_pp_effector("dead_zone.ppe", 1001, false) level.set_pp_effector_factor(1001, 0.2) end if db.FlagEsc == 1 then g_R_Vibros:Stop() end end end function update_surge() local level_name = level.name() if (level_name() ~= "l01_dead_city") and (level_name() ~= "l02_yantar") and (level_name() ~= "l03_bar") and (level_name() ~= "l05_military") and (level_name() ~= "l06_milrad") and (level_name() ~= "l07_radar") and (level_name() ~= "l08_generators") then db.FlagEsc = 0 --if level_name == "l01_escape" then -- if actor_in_zone(-211,-198,-132,-125,-23,-20) == 1 or -- Подвал 1 в лагере новичков -- actor_in_zone(-256,-246,-137,-132,-25,-20) == 1 or -- Бункер Сидора -- actor_in_zone(-216,-209,-133,-120,-24,-20) == 1 then -- Подвал 2 в лагере новичков -- db.FlagEsc = 1 -- end --end end for k,v in pairs(ogsm_hideout.restrictor_list) do local obj = level.object_by_id(v.id) if obj and utils.npc_in_zone(db.actor, obj) then db.FlagEsc = 1 end end if db.Dead2 == 1 and db.FlagEsc == 0 then g_R_Vibros:Run() hit_actor() play_sounds() level.add_pp_effector("dead_zone.ppe", 1001, false) level.set_pp_effector_factor(1001, 0.2) end if db.FlagEsc == 1 then g_R_Vibros:Stop() end end end Здесь... Наверное, зоны в которых выбросы не могут быть вызваны, тоже самое с локациями. Зоны - убрал, локации - поменял. Вот и всё. Надеюсь, вы дочитали) В игре вот такое(смотрите фото): Что не так сделал? Ссылка на файлы(оригинал и правки): https://yadi.sk/d/pWDJ8xF53aAHvJ Изменено 12 Августа 2018 пользователем Houdini_one ищу человека, который смог бы заняться разработкой погоды на OGSR. кто может помочь - пишите в ЛС. Ссылка на комментарий
AndreySol 215 Опубликовано 13 Августа 2018 Поделиться Опубликовано 13 Августа 2018 В 12.08.2018 в 14:12, Houdini_one сказал: Можно как-то перенести из ЧН функцию которая отменяет задание? И ещё можно как-то закрыть переходы до получения инфопоршня? Как уже выше сказали, именно "отменить" нельзя, но если не принципиально - то просто провалить его, выдав\выполнив заранее прописанную в условиях задания инфо-порцию\ф-цию. "Закрыть" переход в общем не сложно - сложно сделать так, чтоб ГГ не мог пройти через отключенный переход. А то за ними обычно край локации\террейна, со всеми вытекающими... Ссылка на комментарий
Expropriator 2 118 Опубликовано 13 Августа 2018 Поделиться Опубликовано 13 Августа 2018 (изменено) del Изменено 13 Августа 2018 пользователем Expropriator Ссылка на комментарий
Змея 240 Опубликовано 13 Августа 2018 Поделиться Опубликовано 13 Августа 2018 1 час назад, AndreySol сказал: сложно сделать так, чтоб ГГ не мог пройти через отключенный переход Телепорт в подземелье с мутантами - не? Ссылка на комментарий
imcrazyhoudini 195 Опубликовано 13 Августа 2018 Поделиться Опубликовано 13 Августа 2018 1 час назад, AndreySol сказал: ГГ не мог пройти через отключенный переход Если смотреть как сделано в ЧН, его возвращает назад на way-point, по типу того если отказываешься перейти на другую локацию, тебя разворачивает в другую сторону. Да и закрыть отключённый переход я могу - в сдк тоже работаю. Но в приоритете это конечно же есть ли возможность отключить этот переход, чтобы потом он включился, вот. 1 час назад, AndreySol сказал: провалить Всё же провалить это не совсем то. Даже в некоторых модах которые восстанавливают старый сюжет такой забавный случай который меня всегда бесил: ГГ узнаёт от Доктора что он Стрелок, задание проваливается, хотя по сути оно отменяется, ведь если после этого гг себя, хм, застрелит - то задание выполнено. Вот. Ну это уже рассуждения, а тут такого не любят. Нельзя так нельзя, будем ограничиваться чем есть... ищу человека, который смог бы заняться разработкой погоды на OGSR. кто может помочь - пишите в ЛС. Ссылка на комментарий
UriZzz 997 Опубликовано 13 Августа 2018 Поделиться Опубликовано 13 Августа 2018 20 часов назад, Houdini_one сказал: Адаптирую blowout mod 1.0: К чему адаптируете? У меня такое как на ваше скриншоте было когда я адаптировал выброс к РМА моду, как оказалось - в РМА есть скрипт восстановления солнца, в выбросе он то же есть и они конфликтуют. Отключение онного в РМА решило проблему. Моя нычка, Нычка в арендованном у Опричника холодильнике Мы хорошие ребята, жаль патронов маловато:) Ссылка на комментарий
Norman Eisenherz 276 Опубликовано 13 Августа 2018 Поделиться Опубликовано 13 Августа 2018 Здрасьте. В каком файле описан счетчик предметов в инвентаре (число в левом верхнем углу каждой клетки) и можно ли в ТЧ сделать подложку для счетчика как в ЧН/ЗП? https://c2.staticflickr.com/2/1779/42207967150_76edaa9e60_o.png Мини-моды: ТЧ ЧН ЗП Шпаргалка Ссылка на комментарий
imcrazyhoudini 195 Опубликовано 13 Августа 2018 Поделиться Опубликовано 13 Августа 2018 3 часа назад, UriZzz сказал: К чему адаптируете? К себе в мод) Удалил строку восстановления солнца, теперь начало вылетать, на форуме не нашёл ничего общего: Expression : fatal error Function : CEnvironment::SetWeather File : E:\stalker\sources\trunk\xr_3da\Environment.cpp Line : 151 Description : <no expression> Arguments : ! Empty weather name Перевёл в гугле: "Название пустой погоды". Только я не совсем понял что оно означает... Погода норм работала до этого. Есть у кого мысли? ищу человека, который смог бы заняться разработкой погоды на OGSR. кто может помочь - пишите в ЛС. Ссылка на комментарий
imcrazyhoudini 195 Опубликовано 13 Августа 2018 Поделиться Опубликовано 13 Августа 2018 2 часа назад, Norman Eisenherz сказал: подложку Убрать альфа канал скорее всего нужно, либо же добавить подкладку. Смотри в папке textures\ui, найдёшь файл нужный. ищу человека, который смог бы заняться разработкой погоды на OGSR. кто может помочь - пишите в ЛС. Ссылка на комментарий
Norman Eisenherz 276 Опубликовано 13 Августа 2018 Поделиться Опубликовано 13 Августа 2018 1. Нужная текстура – "ui_grid.dds", но изменения отображаются позади предметов и в каждой ячейке, что не подходит для предметов с габаритами больше 1x1. 2. Где-то в "config\ui\" должен быть этот счетчик, но в какой секции – не знаю. Менял цвет всего текста в "config\ui\inventory_new.xml" и "maingame.xml" – текст счетчика все равно белый. Кто-нибудь пытался такое изменение вносить? Мини-моды: ТЧ ЧН ЗП Шпаргалка Ссылка на комментарий
lordmuzer 743 Опубликовано 13 Августа 2018 Поделиться Опубликовано 13 Августа 2018 Для ТЧ это нельзя поменять. В движке просто текст выводиться поверх ячейки. Ссылка на комментарий
Norman Eisenherz 276 Опубликовано 14 Августа 2018 Поделиться Опубликовано 14 Августа 2018 2 hours ago, lordmuzer said: Для ТЧ это нельзя поменять. В движке просто текст выводиться поверх ячейки. Ну, это тоже полезная информация. Мини-моды: ТЧ ЧН ЗП Шпаргалка Ссылка на комментарий
UriZzz 997 Опубликовано 14 Августа 2018 Поделиться Опубликовано 14 Августа 2018 (изменено) 6 часов назад, Houdini_one сказал: Удалил строку восстановления солнца, теперь начало вылетать Прекрасно, а теперь верните его назад. Что бы узнать какой скрипт восстановления солнца задействован нужно заглянуть в bind_stalker.script, строчка on_game_load(obj) чи как то так, должен быть прописан ogsm_funcs.on_game_load(obj) по моему так прописано я точно не помню, все по памяти пишу. Второе: файл game_tutoreals в самом низу посмотри - что написапо <function_on_stop>***.set_sun</function_on_stop>. Изменено 14 Августа 2018 пользователем UriZzz Моя нычка, Нычка в арендованном у Опричника холодильнике Мы хорошие ребята, жаль патронов маловато:) Ссылка на комментарий
AndrewMor 525 Опубликовано 14 Августа 2018 Поделиться Опубликовано 14 Августа 2018 13 часов назад, AndreySol сказал: сложно сделать так, чтоб ГГ не мог пройти через отключенный переход. Можно костылем. Создать рестриктор, накрывающий область перехода и до открытия перехода телепортировать ГГ в точку перед рестриктором. 1 Сталкер - наше всё! Ссылка на комментарий
imcrazyhoudini 195 Опубликовано 14 Августа 2018 Поделиться Опубликовано 14 Августа 2018 1 час назад, AndrewMor сказал: костылем А можно ещё чтобы текст вылез наверху экрана? ищу человека, который смог бы заняться разработкой погоды на OGSR. кто может помочь - пишите в ЛС. Ссылка на комментарий
imcrazyhoudini 195 Опубликовано 14 Августа 2018 Поделиться Опубликовано 14 Августа 2018 3 часа назад, UriZzz сказал: верните его назад Да я свой и удалил если что. 3 часа назад, UriZzz сказал: game_tutoreals Вот тут поставил из ogsm, было от погодного пака. Поправил вылеты, запустилось! Начался выброс, все начали прятаться, но вот, я то спрятался - а нпс видимо как-то иначе воспринимают укрытия. Вот моё укрытие: -- First run spawn. If parameter p_type is "fake_" - it means that the hide is fake - it is only for actor -- NPCs ignore such fake hides function first_run() ------------------ -- Swamp Hides -- ------------------ -- Дом Доктора spawn_restrictor("l04_swamp", vector():set(192.7744140625,2.8159973621368,-39.758411407471), 370218, 198, "stalker", 4) end Нпс хоть и в укрытии, но он падает держась за голову... Что-то ещё не так наверное. Вы добавляли себе укрытие?(В РМА и другие же локации есть). Куда добавляли, помните? Интересует что тут: function is_in_specific_zone(npc) -- if npc_in_zone(npc,"l01_escape",-256,-246,-137,-132,-25,-20) then -- Бункер Сидора -- return true end И тут: function is_in_hide(npc) -- if npc_in_zone(npc,"l01_escape",-211,-198,-132,-125,-23,-20) then -- Подвал 1 в лагере новичков -- return true -- end -- else -- end -- local hide = get_nearest_hide(npc) -- if hide then -- if utils.npc_in_zone(npc, hide.obj) then -- return true -- end -- end -- end -- return false end Особенно цифры, ибо их тут 6. ищу человека, который смог бы заняться разработкой погоды на OGSR. кто может помочь - пишите в ЛС. Ссылка на комментарий
AndrewMor 525 Опубликовано 14 Августа 2018 Поделиться Опубликовано 14 Августа 2018 @Houdini_one, конечно можно. Создать статик вверху экрана и из логики рестра вызвать функцию показа статика. Сталкер - наше всё! Ссылка на комментарий
Змея 240 Опубликовано 14 Августа 2018 Поделиться Опубликовано 14 Августа 2018 @AndrewMor, а вот надписи "Задание провалено", "Нет текущего задания" - это тоже статики или всё-таки текст выводится? Ссылка на комментарий
UriZzz 997 Опубликовано 14 Августа 2018 Поделиться Опубликовано 14 Августа 2018 53 минуты назад, Houdini_one сказал: Вы добавляли себе укрытие?(В РМА и другие же локации есть). Куда добавляли, помните? К сожалению пока нет, сборка сейчас в состоянии доводки но вы явно чего то не добавили, тут надо мод более плотно изучать. Моя нычка, Нычка в арендованном у Опричника холодильнике Мы хорошие ребята, жаль патронов маловато:) Ссылка на комментарий
Norman Eisenherz 276 Опубликовано 14 Августа 2018 Поделиться Опубликовано 14 Августа 2018 В дверь не пускают, пришлось заходить через сад… Способ не самый "прямой", но рабочий (арты подкрашены для заметности – это другая проблема): https://c2.staticflickr.com/2/1813/43978304242_98a903e246_o.png. Мини-моды: ТЧ ЧН ЗП Шпаргалка Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти