Перейти к содержанию

РСФСР

Разработчики
  • Публикаций

    93
  • Зарегистрирован

  • Посещение

Весь контент РСФСР

  1. Как выдать инфо при перемещении в рестриктор объекта или тела непися?
  2. меньше или равно? Попробовал прописать сталкерам под логикой уход в смарт по инфо - ничего не произошло, также сидят под логикой при получении инфо.
  3. Поясните, если вписать это нпс: [smart_terrains] smart = {+info} что будет если в смарте уже все места заняты будут
  4. бесполезно - они все выдают ошибки на первых строках, где русский текст начинается
  5. этот файл во-первых не трогал, во вторых открыв файл оригинала- там число строк меньше. нету 87
  6. Есть способ как-нибудь локализовать ошибки в .xml - файлах? кроме [error]Line : 87 [error]Description : XML file:text\rus\string_table_includes.xml value: errDescr:Error reading Attributes. ничего не ясно. Изменял сразу много файлов и теперь понять где наебнулся не могу.Вручную вроде посмотрел - ошибок нет. Через .xml- валидатор тоже прогонял, но он бракует вообще большую часть хмл сталкера
  7. Вот функция, которая при разговоре с арни перемещает барохло актора в ящик и спавнит всяких хлам для выступлений в инвентарь: 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
  8. а нельзя если прописано [smart_terrains] none= true в другой смарт по инфо?
  9. нельзя, пробовал. Можно вроде только если создать квестовый предмет-артефакт
  10. все эти сквады- группы - это устаревшие параметры времен 2005 года. Сейчас они нужны вроде для одного - чтобы при убийстве одного из членов смарт-террейна остальные его члены с одинаковыми сквадами-группами агрились на нас Дополнено 12 минуты спустя В ванили осталась логика от сцены в вырезанном мертвом городе где при входе в зону scripts\cit\cit_jail_scene_zone.ltx у ГГ весь шмот убирается в ящик у наемников. Не знаю остался ли там скрипт, но думаю остался. Про обратное - из ящика в инвентарь - можно наверно
  11. Зависание биндера (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
  12. получается, что "or" - это "и", а "and" - "или"? Это совсем контринтуитивно! Еще такой вопрос - в гулагах, если сначала идут оффлайновые работы и только по инфо переключаются на онлайновые - неписи уже должны быть заспавненными с прописанной в кастум-дате привязкой к этому гулагу или они сами захватятся из заспавненных, как в обычном лагере?
  13. почему выйдет "если все три условия"? "or" - это ведь "или". Должен выйти при получении любого из первых трех. Разве нет?
  14. не, не работает - сталкер не появляется онлайн. У тебя работы как выглядят? Оффлайн работа есть?
  15. В ТЧ создал гулаг с одним сталкером, который появляется после одного из нескольких инфо, ходит по путям днем, уходит спать ночью и гулаг исчезает после появления еще одного инфо. Сталкер не появляется. Если убрать оффлайновую работу и оставить лишь состояния день и ночь - то работает. Где неправильно? [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
  16. нельзя, деревья - это ТСС. И да, геометрию деревьев я исправлял. Перетекстурил стволы и добавил полигонов - на скриншотах это видно Дополнено 6 минуты спустя Живое, вернусь скоро после временного отхода. Квестами занимались в крайний раз, пока в упрощенном виде
  17. maya 2009, какая-то фигня происходит при открытии объекта с которым работал - ошибка что на фото. Далее вылет. В сдк объект открывается, хоть и ошибка вылазит. Как быть? Дополнено 0 минут спустя бля, все скрины не влазят... Дополнено 2 минуты спустя В сдк ошибка: VMap layer index out of range
  18. кордон, медприбор, саркофаг и заканчиваю свалку. Это не просто взятые из билдов без исправлений локации и натыканные деревьями, как в ЛА. Стараюсь исправлять все косяки геометрии какие найду, поэтому так долго. Еще много времени отнимает расстановка источников отраженного света на р1
  19. тревожится не надо з судьбу, а про стимы и ранние доступы - не, такого не надо