-
Публикаций
93 -
Зарегистрирован
-
Посещение
Сообщения, опубликованные РСФСР
-
-
В 22.07.2023 в 20:57, Mass сказал:capacity должно <= чем работ в смарте!
меньше или равно?
Попробовал прописать сталкерам под логикой уход в смарт по инфо - ничего не произошло, также сидят под логикой при получении инфо. -
Поясните, если вписать это нпс:
[smart_terrains]
smart = {+info}
что будет если в смарте уже все места заняты будут -
6 часов назад, *lusky* сказал:Интересует вот какой вопрос. Хочу изменить квестовый предмет, например оружие которое нужно найти. В файле all.spawn я изменил его визуальное отображение. И когда я его нахожу визуал изменился, а описание и иконка остались прежними. Где править чтобы поменялось описание и иконка?
Это меняется в файле quest_items.ltx
- 1
-
17 минут назад, theysani сказал:РСФСР и используй другой валидатор для проверки
бесполезно - они все выдают ошибки на первых строках, где русский текст начинается
-
3 минуты назад, ian98 сказал:РСФСР дескрипшн вроде подсказал какой файл. так что много файлов должно отпасть? наверняка мелочь, скобку какую пропустил
этот файл во-первых не трогал, во вторых открыв файл оригинала- там число строк меньше. нету 87
-
Есть способ как-нибудь локализовать ошибки в .xml - файлах?
кроме
[error]Line : 87
[error]Description : XML file:text\rus\string_table_includes.xml value: errDescr:Error reading Attributes.
ничего не ясно. Изменял сразу много файлов и теперь понять где наебнулся не могу.Вручную вроде посмотрел - ошибок нет. Через .xml- валидатор тоже прогонял, но он бракует вообще большую часть хмл сталкера -
ЦитатаИсправлена повторявшаяся беготня Шустрого и спасённого новичка в Тёмной долине
ЦитатаДобавлено исправление ошибки, из-за которой несколько НПС пытались сесть на одну и ту же точку у костра
Не подскажите, как такое исправлено было?
-
Вот функция, которая при разговоре с арни перемещает барохло актора в ящик и спавнит всяких хлам для выступлений в инвентарь:
function bar_arena_teleport ( actor, npc) db.actor:give_info_portion("bar_arena_entrance") inv_box_1 = level_object_by_sid (573) out_object = actor in_object = inv_box_1 actor:inventory_for_each(transfer_object_item) local spawn_items = {} if has_alife_info("bar_arena_fight_1") then table.insert(spawn_items, "wpn_pm") table.insert(spawn_items, "ammo_9x18_pmm") table.insert(spawn_items, "ammo_9x18_pmm") table.insert(spawn_items, "wpn_knife") elseif has_alife_info("bar_arena_fight_2") then table.insert(spawn_items, "wpn_mp5") table.insert(spawn_items, "ammo_9x19_pbp") table.insert(spawn_items, "wpn_knife") elseif has_alife_info("bar_arena_fight_3") then table.insert(spawn_items, "wpn_toz34") table.insert(spawn_items, "ammo_12x70_buck") table.insert(spawn_items, "ammo_12x70_buck") table.insert(spawn_items, "wpn_knife") elseif has_alife_info("bar_arena_fight_4") then table.insert(spawn_items, "wpn_ak74") table.insert(spawn_items, "ammo_5.45x39_ap") table.insert(spawn_items, "ammo_5.45x39_ap") table.insert(spawn_items, "wpn_knife") table.insert(spawn_items, "bandage") table.insert(spawn_items, "bandage") elseif has_alife_info("bar_arena_fight_5") then table.insert(spawn_items, "wpn_abakan") table.insert(spawn_items, "ammo_5.45x39_ap") table.insert(spawn_items, "ammo_5.45x39_ap") table.insert(spawn_items, "ammo_5.45x39_ap") table.insert(spawn_items, "wpn_knife") table.insert(spawn_items, "bandage") table.insert(spawn_items, "medkit") table.insert(spawn_items, "svoboda_light_outfit") elseif has_alife_info("bar_arena_fight_6") then table.insert(spawn_items, "wpn_groza") table.insert(spawn_items, "ammo_9x39_ap") table.insert(spawn_items, "ammo_9x39_ap") table.insert(spawn_items, "ammo_9x39_ap") table.insert(spawn_items, "wpn_knife") table.insert(spawn_items, "grenade_f1") table.insert(spawn_items, "specops_outfit") elseif has_alife_info("bar_arena_fight_7") then table.insert(spawn_items, "wpn_knife") table.insert(spawn_items, "bandage") table.insert(spawn_items, "grenade_f1") table.insert(spawn_items, "grenade_f1") table.insert(spawn_items, "grenade_f1") table.insert(spawn_items, "grenade_f1") elseif has_alife_info("bar_arena_fight_8") then table.insert(spawn_items, "wpn_g36") table.insert(spawn_items, "ammo_5.56x45_ap") table.insert(spawn_items, "ammo_5.56x45_ap") table.insert(spawn_items, "ammo_5.56x45_ap") table.insert(spawn_items, "ammo_5.56x45_ap") table.insert(spawn_items, "exo_outfit") table.insert(spawn_items, "wpn_knife") end local k,v = 0,0 for k,v in pairs(spawn_items) do alife():create(v, db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(), db.actor:id()) end end
Пытаюсь сделать на основе нее функцию, вызываемую через логику рестриктора для простого перемещения всего барахла в ящик. Получилось пока такое, и само собой не рабочее:
function escape_rob_actor ( actor, npc) inv_box_1 = level_object_by_sid (051) out_object = actor in_object = inv_box_1 actor:inventory_for_each(transfer_object_item) end
-
29 минут назад, imcrazyhoudini сказал:Stalkervernite ну со смарта смарт в например
[smart_terrains]
smart1 = {-info}
smart2 = {+info}
когда получит info перейдёт в другой смарта нельзя если прописано
[smart_terrains]
none= true
в другой смарт по инфо? -
6 часов назад, Stalkervernite сказал:нельзя, пробовал. Можно вроде только если создать квестовый предмет-артефакт
-
14 часов назад, Grizzly_RPA сказал:Stalkervernite Проверил на декомпилированных Кордоне и Свалке смарты, находил всякое:
В смарте сквады и группы прописаны, у всех NPC в этом смарте сквады и группы - дефолтные нули
В смарте сквады и группы не прописаны, у всех NPC в этом смарте заданы одинаковые значения
В смарте сквады и группы не прописаны, у NPC в этом смарте заданы разные группы
В смарте заданы одни значения, у всех NPC в этом смарте заданы одинаковые значения, но отличаются от смартовых
В униварсальных лагерях не прописано, у NPC - дефолтные нули
Перелопатил все вики и ютуб, ответов ноль. закономерностей ноль. нервов -50.
все эти сквады- группы - это устаревшие параметры времен 2005 года. Сейчас они нужны вроде для одного - чтобы при убийстве одного из членов смарт-террейна остальные его члены с одинаковыми сквадами-группами агрились на нас
Дополнено 12 минуты спустяВ 09.07.2023 в 10:52, Paracetamol сказал:Господа, может кто-нибудь знает, как можно перенести все предметы с инвентаря ГГ в ящик, а затем скриптом обратно положить к нему в рюкзак, либо же как-нибудь сохранить его инвентарь, потом очистить и через время выдать сохранённый шмот? И вообще возможно ли такое на ванили или хотя бы ОГСР?
В ванили осталась логика от сцены в вырезанном мертвом городе где при входе в зону scripts\cit\cit_jail_scene_zone.ltx у ГГ весь шмот убирается в ящик у наемников. Не знаю остался ли там скрипт, но думаю остался. Про обратное - из ящика в инвентарь - можно наверно
- 2
-
Зависание биндера (Shaduler try to update object) при попытке добавить зомбям строчки on_actor_dist_ge = 60 | [mob_fake_death@esc_zombie_ХХ
Затем заставить их встать а потом отбежать на расстояние.
Добавил чтобы они ложились опять при уходе игрока. Где ошибка? В остальном нормально работает
[logic@esc_zombie_1_fd] active = mob_fake_death@esc_zombie_1_fd on_hit = hit@zombie [mob_fake_death@esc_zombie_1_fd] on_info = {+esc_zombie_rise2} mob_home@esc_zombie_1_fd path_home = home_point_1 [mob_home@esc_zombie_1_fd] path_home = home_point home_min_radius = 20 home_max_radius = 35 on_actor_dist_ge = 60 | [mob_fake_death@esc_zombie_1_fd [hit@zombie] on_info = %+esc_zombie_rise2% [logic@esc_zombie_2_fd] active = mob_fake_death@esc_zombie_2_fd on_hit = hit@zombie [mob_fake_death@esc_zombie_2_fd] on_info = {+esc_zombie_rise2} mob_home@esc_zombie_2_fd path_home = home_point_2 [mob_home@esc_zombie_2_fd] path_home = home_point home_min_radius = 20 home_max_radius = 35 on_actor_dist_ge = 60 | [mob_fake_death@esc_zombie_2_fd [logic@esc_zombie_3_fd] active = mob_fake_death@esc_zombie_3_fd on_hit = hit@zombie [mob_fake_death@esc_zombie_3_fd] on_info = {+esc_zombie_rise2} mob_home@esc_zombie_3_fd path_home = home_point_3 [mob_home@esc_zombie_3_fd] path_home = home_point home_min_radius = 20 home_max_radius = 35 on_actor_dist_ge = 60 | [mob_fake_death@esc_zombie_3_fd [logic@esc_zombie_4_fd] active = mob_fake_death@esc_zombie_4_fd on_hit = hit@zombie [mob_fake_death@esc_zombie_4_fd] on_info = {+esc_zombie_rise2} mob_home@esc_zombie_4_fd path_home = home_point_4 [mob_home@esc_zombie_4_fd] path_home = home_point home_min_radius = 20 home_max_radius = 35 on_actor_dist_ge = 60 | [mob_fake_death@esc_zombie_4_fd [logic@esc_zombie_5_fd] active = mob_fake_death@esc_zombie_5_fd on_hit = hit@zombie [mob_fake_death@esc_zombie_5_fd] on_info = {+esc_zombie_rise2} mob_home@esc_zombie_5_fd path_home = home_point_5 [mob_home@esc_zombie_5_fd] path_home = home_point home_min_radius = 20 home_max_radius = 35 on_actor_dist_ge = 60 | [mob_fake_death@esc_zombie_5_fd [logic@esc_zombie_6_fd] active = mob_fake_death@esc_zombie_6_fd on_hit = hit@zombie [mob_fake_death@esc_zombie_6_fd] on_info = {+esc_zombie_rise2} mob_home@esc_zombie_6_fd path_home = home_point_6 [mob_home@esc_zombie_6_fd] path_home = home_point home_min_radius = 20 home_max_radius = 35 on_actor_dist_ge = 60 | [mob_fake_death@esc_zombie_6_fd
if type == "esc_zombie_1" then t = { section = "logic@esc_zombie_1_fd", idle = 0, prior = 5, state = {1}, online = true, in_rest = "", out_rest = "" } table.insert(sj, t) t = { section = "logic@esc_zombie_2_fd", idle = 0, prior = 5, state = {1}, online = true, in_rest = "", out_rest = "" } table.insert(sj, t) t = { section = "logic@esc_zombie_3_fd", idle = 0, prior = 5, state = {1}, online = true, in_rest = "", out_rest = "" } table.insert(sj, t) t = { section = "logic@esc_zombie_4_fd", idle = 0, prior = 5, state = {1}, online = true, in_rest = "", out_rest = "" } table.insert(sj, t) t = { section = "logic@esc_zombie_5_fd", idle = 0, prior = 5, state = {1}, online = true, in_rest = "", out_rest = "" } table.insert(sj, t) t = { section = "logic@esc_zombie_6_fd", idle = 0, prior = 5, state = {1}, online = true, in_rest = "", out_rest = "" } table.insert(sj, t) t = { section = "logic@esc_zombie_1_fd", idle = 0, prior = 5, state = {0}, online = false, in_rest = "", out_rest = "" } table.insert(sj, t) t = { section = "logic@esc_zombie_2_fd", idle = 0, prior = 5, state = {0}, online = false, in_rest = "", out_rest = "" } table.insert(sj, t) t = { section = "logic@esc_zombie_3_fd", idle = 0, prior = 5, state = {0}, online = false, in_rest = "", out_rest = "" } table.insert(sj, t) t = { section = "logic@esc_zombie_4_fd", idle = 0, prior = 5, state = {0}, online = false, in_rest = "", out_rest = "" } table.insert(sj, t) t = { section = "logic@esc_zombie_5_fd", idle = 0, prior = 5, state = {0}, online = false, in_rest = "", out_rest = "" } table.insert(sj, t) t = { section = "logic@esc_zombie_6_fd", idle = 0, prior = 5, state = {0}, online = false, in_rest = "", out_rest = "" } table.insert(sj, t) end if type == "esc_zombie_1" then return function(gulag) if has_alife_info("agroprom_military_case_have") then return 0 else return 1 end end end
-
3 часа назад, Yara сказал:Тогда нужно так:
if not has_alife_info("test1_info")
and not has_alife_info("test2_info")
and not has_alife_info("test3_info")
or has_alife_info("test4_info") thenполучается, что "or" - это "и", а "and" - "или"? Это совсем контринтуитивно!
Еще такой вопрос - в гулагах, если сначала идут оффлайновые работы и только по инфо переключаются на онлайновые - неписи уже должны быть заспавненными с прописанной в кастум-дате привязкой к этому гулагу или они сами захватятся из заспавненных, как в обычном лагере? -
2 часа назад, Yara сказал:Так-то всё правильно, четыре независимых от друг друга условий, как только будут получены три флага, нпс выйдет в онлайн, при последнем обратно.
почему выйдет "если все три условия"? "or" - это ведь "или". Должен выйти при получении любого из первых трех. Разве нет?
-
-
18 часов назад, frankenshtayn сказал:Спасибо, попробую)
Я уже точно не помню, но вроде return 0 - переключает на день, return 1 - на ночь, а return 2 в оффлайн. Во всяком случае у меня гулаг работает нормально вот с таким кодом:
if type == "voin_tochka_n" then return function(gulag) local actor = db.actor if not actor then return gulag.state end if not has_alife_info("start_gl_voin") then return 2 -- offline else if ( level.get_time_hours() >= 6 and level.get_time_hours() <= 22 ) then return 0 -- день else return 1 -- ночь end return gulag.state end end end
не, не работает - сталкер не появляется онлайн. У тебя работы как выглядят? Оффлайн работа есть?
-
В ТЧ создал гулаг с одним сталкером, который появляется после одного из нескольких инфо, ходит по путям днем, уходит спать ночью и гулаг исчезает после появления еще одного инфо. Сталкер не появляется. Если убрать оффлайновую работу и оставить лишь состояния день и ночь - то работает. Где неправильно?
[logic@esc_stalker_poisk1] active = walker@esc_stalker_poisk1 [walker@esc_stalker_poisk1] path_walk = walker_1_walk path_look = walker_1_look danger = danger_condition@esc_stalker_poisk1 [logic@esc_stalker_poisk1_sleeper] active = sleeper@esc_stalker_poisk1 [sleeper@esc_stalker_poisk1] path_main = sleep1 wakeable = true [danger_condition@esc_stalker_poisk1] ignore_distance_sound = 30
if type == "esc_stalker_poisk1" then t = { section = "logic@esc_stalker_poisk1", idle = 0, prior = 8, state = {0}, online = false, in_rest = "", out_rest = "" } table.insert(sj, t) t = { section = "logic@esc_stalker_poisk1", idle = 0, prior = 8, state = {1}, online = true, in_rest = "", out_rest = "" } table.insert(sj, t) t = { section = "logic@esc_stalker_poisk1_sleeper", idle = 0, prior = 8, state = {2}, online = true, in_rest = "", out_rest = "" } table.insert(sj, t) end
if type == "esc_stalker_poisk1" then return function(gulag) if not has_alife_info("tutorial_wounded_end") or not has_alife_info("tutorial_wounded_die") or not has_alife_info("tutorial_wounded_death") or has_alife_info("agroprom_military_case_have") then return 0 -- offline elseif level.get_time_hours() >= 5 and level.get_time_hours() <= 21 then return 1 -- день else return 2 -- ночь end end end
if gulag_type == "esc_stalker_poisk1" then return npc_community == "stalker" end
-
В 17.01.2023 в 12:46, Излеченный сказал:Круто конечно, но почему, блин нельзя отказаться от этих кривых билдо-деревьев? Этой дезодор вас всех укусил в свое время и так досихпор не отпустило? PL, back to stalker, OLR, все пихают на локи это убожество, но не в них же шарм ТТС и билдов с их уникальной атмосферой, точно не в них.) Есть же нормальные деревья, по канону, не модерские, а просто нормальные релизные, ну зачем компилить локи с этой кривой геометрией, кривыми деревьями и открытыми швами-переходами-текстур. Никогда не понимал этого. Везде где билдо-локи, либо кривая геометрия, либо шейдеры-текстуры, либо деревья эти ужасные - в этом чтоли шарм весь тот самый или просто лень откровенная и неумение переделать нормально ТТС-контент без этих косяков, но и без отсебятины ?.. -_-
нельзя, деревья - это ТСС. И да, геометрию деревьев я исправлял. Перетекстурил стволы и добавил полигонов - на скриншотах это видно
Дополнено 6 минуты спустяЖивое, вернусь скоро после временного отхода. Квестами занимались в крайний раз, пока в упрощенном виде
- 2
- 1
- 2
- 1
-
-
В 10.01.2022 в 08:31, Kataklysm сказал:РСФСР Если не секрет,то сколько лок уже готово?
кордон, медприбор, саркофаг и заканчиваю свалку. Это не просто взятые из билдов без исправлений локации и натыканные деревьями, как в ЛА. Стараюсь исправлять все косяки геометрии какие найду, поэтому так долго. Еще много времени отнимает расстановка источников отраженного света на р1
- 2
- 3
- 1
- 1
- 2
-
-
В 20.06.2021 в 14:18, Ruwar сказал:бла-бла-бла
пшел вон
- 1
-
В 10.06.2021 в 15:00, random1 сказал:Приветствую всех. Paradise Lost - одна из самых ожидаемых мною модификаций, поэтому очень тревожно становится за будущее данного проекта из-за последних событий. В связи с этим хочу спросить, можно ли выпустить данный проект в Стиме в виде дополнения от сообщества в раннем доступе, тем самым сохранив мотивацию для продолжения разработки? Сам далеко не фанат раннего доступа, но ради игры мечты можно сделать любое исключение, тем более очень уж хочется заиметь такое сокровище у себя в библиотеке заодно отблагодарив "копеечкой" создателей за огромную проделанную работу. Единственное чего не хотелось бы видеть - это обязательную покупку оригинального УГ для запуска Paradise Lost. Думаю, договориться с GSC не составит больших проблем. Учитывая недавние внезапные сливы по Сталкеру 2 можно предположить, что GSC нужен ажиотаж вокруг Сталкера для чего это, собственно, и могли сделать. И для этой же цели также идеально подходит релиз "того самого" Сталкера в Стиме.
тревожится не надо з судьбу, а про стимы и ранние доступы - не, такого не надо
-
вот это крупная рыба!
- 7
[SoC] Модострой: вопросница
в Уроки, вопросы и советы по созданию модов
Опубликовано
Как выдать инфо при перемещении в рестриктор объекта или тела непися?