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

РСФСР

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

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

  • Посещение

Сообщения, опубликованные РСФСР


  1. В 22.07.2023 в 20:57, Mass сказал:

    capacity должно <= чем работ в смарте!

     

    меньше или равно?
    Попробовал прописать  сталкерам под логикой уход в смарт по инфо - ничего не произошло, также сидят под логикой при получении инфо.


  2. 6 часов назад, *lusky* сказал:

    Интересует вот какой вопрос. Хочу изменить квестовый предмет, например оружие которое нужно найти. В файле all.spawn я изменил его визуальное отображение. И когда я его нахожу визуал изменился, а описание и иконка остались прежними. Где править чтобы поменялось описание и иконка?

    Это меняется в файле quest_items.ltx

    • Жму руку 1

  3. 3 минуты назад, ian98 сказал:

    РСФСР дескрипшн вроде подсказал какой файл. так что много файлов должно отпасть? наверняка мелочь, скобку какую пропустил

    этот файл во-первых не трогал, во вторых открыв файл оригинала- там число строк меньше. нету 87


  4. Есть способ как-нибудь локализовать ошибки в .xml - файлах?
    кроме
    [error]Line          : 87
    [error]Description   : XML file:text\rus\string_table_includes.xml value: errDescr:Error reading Attributes.

    ничего не ясно. Изменял сразу много файлов и теперь понять где наебнулся не могу.Вручную вроде посмотрел - ошибок нет. Через .xml- валидатор тоже прогонял, но он бракует вообще большую часть хмл сталкера


  5. Цитата

    Исправлена повторявшаяся беготня Шустрого и спасённого новичка в Тёмной долине

    Цитата

    Добавлено исправление ошибки, из-за которой несколько НПС пытались сесть на одну и ту же точку у костра

    Не подскажите, как такое исправлено было?


  6. Вот функция, которая при разговоре с арни перемещает барохло актора в ящик и спавнит всяких хлам для выступлений в инвентарь:
     

    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

     


  7. 29 минут назад, imcrazyhoudini сказал:

    Stalkervernite ну со смарта смарт в например
    [smart_terrains]
    smart1 = {-info}
    smart2 = {+info}

    когда получит info перейдёт в другой смарт

    а нельзя если прописано
    [smart_terrains]
    none= true
    в другой смарт по инфо?


  8. 6 часов назад, Stalkervernite сказал:

    ian98 А нельзя сделать так? в сдк

    [spawner]

    cond = 

    Я  спрашиваю, потому-что  плохо помню эту функцию.

     

     

    нельзя,  пробовал. Можно вроде только если создать квестовый предмет-артефакт


  9. 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

  10. Зависание биндера (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

     


  11. 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" - "или"? Это совсем контринтуитивно!:u1F633:

    Еще такой вопрос - в гулагах, если сначала идут оффлайновые работы  и только по инфо переключаются на онлайновые - неписи уже должны быть заспавненными с прописанной в кастум-дате привязкой к этому гулагу или они сами захватятся из заспавненных, как в обычном лагере?


  12. 2 часа назад, Yara сказал:

    Так-то всё правильно, четыре независимых от друг друга условий, как только будут получены три флага, нпс выйдет в онлайн, при последнем обратно.

    почему выйдет "если все три условия"? "or" - это ведь "или". Должен выйти при получении любого из первых трех. Разве нет?


  13. 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

     

    не, не работает - сталкер не появляется онлайн. У тебя работы как выглядят? Оффлайн работа есть?


  14. В ТЧ создал гулаг с одним сталкером, который появляется после одного из нескольких инфо, ходит по путям днем, уходит спать ночью и гулаг исчезает после появления еще одного инфо. Сталкер не появляется. Если убрать оффлайновую работу и оставить лишь состояния день и ночь - то работает. Где неправильно?
     

    [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

     


  15. В 17.01.2023 в 12:46, Излеченный сказал:

    Круто конечно, но почему, блин нельзя отказаться от этих кривых билдо-деревьев? Этой дезодор вас всех укусил в свое время и так досихпор не отпустило? PL, back to stalker, OLR, все пихают на локи это убожество, но не в них же шарм ТТС и билдов с их уникальной атмосферой, точно не в них.) Есть же нормальные деревья, по канону, не модерские, а просто нормальные релизные, ну зачем компилить локи с этой кривой геометрией, кривыми деревьями и открытыми швами-переходами-текстур. Никогда не понимал этого. Везде где билдо-локи, либо кривая геометрия, либо шейдеры-текстуры, либо деревья эти ужасные - в этом чтоли шарм весь тот самый или просто лень откровенная и неумение переделать нормально ТТС-контент без этих косяков, но и без отсебятины ?.. -_-

    нельзя, деревья - это ТСС. И да, геометрию деревьев я исправлял. Перетекстурил стволы и добавил полигонов - на скриншотах это видно


    Дополнено 6 минуты спустя

    Живое, вернусь скоро после временного отхода. Квестами занимались в крайний раз, пока в упрощенном виде

    • Лайк 2
    • Мастер! 1
    • Жму руку 2
    • Аплодисменты 1

  16. maya 2009, какая-то фигня происходит при открытии объекта с которым работал - ошибка что на фото. Далее вылет. В сдк объект открывается, хоть и ошибка вылазит. Как быть?

    Безымянный.jpg


    Дополнено 0 минут спустя

    бля, все скрины не влазят...


    Дополнено 2 минуты спустя

    В сдк ошибка:
    VMap layer index out of range


  17. В 10.01.2022 в 08:31, Kataklysm сказал:

    РСФСР Если не секрет,то сколько лок уже готово?

    кордон, медприбор, саркофаг и заканчиваю свалку. Это не просто взятые из билдов без исправлений локации и натыканные деревьями, как в ЛА. Стараюсь исправлять все косяки геометрии какие найду, поэтому так долго. Еще много времени отнимает расстановка источников отраженного света на р1

    • Лайк 2
    • Мастер! 3
    • Жму руку 1
    • Хабар 1
    • Спасибо 2

  18. В 10.06.2021 в 15:00, random1 сказал:

    Приветствую всех. Paradise Lost - одна из самых ожидаемых мною модификаций, поэтому очень тревожно становится за будущее данного проекта из-за последних событий. В связи с этим хочу спросить, можно ли выпустить данный проект в Стиме в виде дополнения от сообщества в раннем доступе, тем самым сохранив мотивацию для продолжения разработки? Сам далеко не фанат раннего доступа, но ради игры мечты можно сделать любое исключение, тем более очень уж хочется заиметь такое сокровище у себя в библиотеке заодно отблагодарив "копеечкой" создателей за огромную проделанную работу. Единственное чего не хотелось бы видеть - это обязательную покупку оригинального УГ для запуска Paradise Lost. Думаю, договориться с GSC не составит больших проблем. Учитывая недавние внезапные сливы по Сталкеру 2 можно предположить, что GSC нужен ажиотаж вокруг Сталкера для чего это, собственно, и могли сделать. И для этой же цели также идеально подходит релиз "того самого" Сталкера в Стиме.

    тревожится не надо з судьбу, а про стимы и ранние доступы - не, такого не надо