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

Рекомендуемые сообщения

 
 

EvilGeniusRo I climbed into the camp from the other side of the trailer, where there is something like a dumpster 😉

  • Жму руку 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
Только что, Konstantin.Postal сказал:

EvilGeniusRo I climbed into the camp from the other side of the trailer, where there is something like a dumpster 😉

That too, you can also jump from the 1st floor of the Merc building to the crane and then straight into the Loner camp

This was the opening I was mentioning 😉

Спойлер

788051083_S.T.A.L.K.E.R.ShadowofChernobylScreenshot2022_10.30-12_20_58_02.png.4a405211b93b7cd4c47881d3f5c69159.png

 

  • Лайк 1
  • Жму руку 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Обновил свой старый мод на сон и адаптировал к Final Update 14.

Спойлер

Описание: Реализация сна приближенная к Зову Припяти.

История версий:
1.1
- Поддержка 16:9 и 4:3.
- Исправлена ошибка из-за которой Гарик поворачивался боком к герою при диалоге с ним.
- Подправлены скрипты.
1.0
- Реализация сна приближенная к Зову Припяти. 
- Теперь игрок может спать в безопасных местах. При нахождении рядом с таким местом на экране будет мигать индикатор.
- Сон восстанавливает здоровье. Спать можно при условии, что:
 -- организм не облучен
 -- рядом нет врагов
 -- нет сильного голода или кровотечения
- После первого сна, на глобальной и мини картах появится постоянная метка этого места.

Что правлено в all.spawn:
 - в alife_l05_bar.ltx редактирована секция name = bar_bar_guard
 - в alife_l03u_agr_underground.ltx редактирована секция name = agr_und_physic_object_0018

Спойлер

1388962354_ss__10-30-22_14-29-44_(l01_escape).thumb.jpg.58e38970b8ca957c615df3dae96997b8.jpg

Ссылка.

Для игры с

В 10.10.2022 в 22:27, Mechanic сказал:

Небольшое обновление визуалов NPC. Всё затевалось ради обновления моделей новичков. Остальное идет как незначительный бонус (хотел выложить его отдельно, но решил таки всё вместе, кому не понравится - вырежет сам).

  Описание: (Показать контент)

I Обновлены модели сталкеров в кожаных и бандитских куртках, включая главного героя.
    - За основу взята модель из Чистого Неба.
    - На груди теперь виднеется свитер.
    - С текстуры курток убраны тени от отсутствующих лямок.
    - Меши рук от модели ЧН-1.
    - Новая мешь наручных часов.
    - Мешь ботинок теперь лучшего качества из билдовской модели.
II Модель Сидоровича.
    - Модель из Чистого Неба.
    - Текстура белой рубашки от lambdist.
    - Текстура растительности на голове от Partisan.
III Охотник из бара теперь в зелёном плаще.
IV Модели Стрелка в различных костюмах теперь с лицом из Зова Припяти.
    - Стрелок без надетой брони теперь в свитере. (Модель «Метро 2033» взята из Shoker Mod'а и переработана для соответствия стилистике GSC (лол, по крайней мере я пытался...))
V Для всех новых моделей сделаны соответствующие иконки.

Установка:
Файл SFU14_Some_NPC_Addon.xdb поместить в папку ...\S.T.A.L.K.E.R. Shadow of Chernobyl\mods\

  Скриншоты: (Показать контент)

Novice.png

Sidorovich.png

Hunter.png

Sweater.png

Ссылка

дополнительно закинуть в mods эту адаптацию. (Чтобы охотник в Баре менял свой визуал.)

  • Лайк 1
  • Мастер! 3
  • Хабар 2

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

SFU14(m2)

Спойлер

+возможность ремонта снаряжения у Сидоровича, Бармена, Шурупа
+реальные названия оружия
+фикс курсора и прицелов для широкоформатных мониторов
+Дополнение, улучшающее игровой ИИ, главным образом в боевой части
Расширение возможностей НПС за счёт добавления новых схем поведения:
1 Стрельба с подствольных гранатомётов
2 Перезарядка оружия после боя
3 Перевязка (самолечение)
4 Удар в лицо (рукопашный бой)
5 Использование ножа
6 Выбор подходящего оружия
7 Проверка друзей на линии огня
8 Надевание аддонов на оружие
9 Лечение раненых
10 Собирательство
+
11 Ожидание после боя
12 Оборона от монстров
13 Метание гранат
14 Камикадзе
15 Переодевание в лучшую броню(off)
16 Оттаскивание трупов
17 Хромание НПС

+рюкзак тайник(32шт в игре(конечно много, но не стал удалять координаты, туда можно прописать любой другой предмет вместо рюкзака, к примеру артефакт), в продаже нет, на локациях как тайники, но подбираемые)
+спавнер(никто не заставляет пользоваться во время игры)
+спальный мешок(не моя идея, лучше бы сон на диванах и матрасах сделал бы)
+cрезание трофеев со всех абсолютно монстров в игре(нет инвентаря у монстров, срезать с ножом в руке) Ну и разумеется что неписи не будут шмонать трупы монстров, т.к у монстров нет инвентаря.
+теперь у Сидора включен ноутбук(а то кого он там клацает, когда он выключен)
-----------------------------------------------------------------------------------------------

Нажав esp потом K, появятся координаты. Потом скринить F12 и потом их можно вписывать в my_spawn.script и my2_spawn.script
Спавнить или предметы, или нпс, или мутантов.
Мутантов брать с их конфигов, нпс с spawn_sections.ltx
С новой игры спавн новый будет только.


Если не нравится мой спавн в my_spawn.script и my2_spawn.script, можете удалить.
Там лишь собачки да рюкзаки, и свд. Свд в туннеле с электрами на кордоне.
Рюкзаки почти на всех локациях, кроме подземных. На кордоне в тепловозе возле жд. И в аномальной яме рядом с деревней новичков. В кабине, или что там такое стоит посреди.

-------------------------------------------------------------------------------------------

Может кому и пригодиться. Поиграть для разнообразия)

 


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

Mechanic, а почему мест для сна так мало? )

Нужно чтоб ГГ спал на всех диванах в игре, и на всех нормально разложенных матрасах)

Вот очень давно, как вышел мод на сон, бегал снимал координаты)))

Спойлер

--=======================================================--
-- Скрипт cна                                            --
-- Авторы: Mechanic, Shoker, Z.E.N., Ab@dDon             --
-- Может кого не указал, но скрипт брал из Zenoban Mod'а --
--=======================================================--

local table_sleep_zone =
    {
    -- Кордон:
    
    -- Матрас на чердаке в доме возле Лиса
    {"l01_escape", "m", nil, 140.09, 3.5, 336.91, 444961, 232, nil}, 

    -- Матрасы в подвале в деревне новичков
    {"l01_escape", "m", "no_icon_1", -210.73, -22.9, -122.30, 42632, 59, nil},
    {"l01_escape", "m", "icon_1", -210.34, -22.9, -125.75, 42632, 59, nil}, 
    -- Матрас в доме в лагере новичков
    {"l01_escape", "m", "1", -223.6, -19.4, -168, 32807, 47, nil}, 
    {"l01_escape", "m", "2", -222.6, -19.4, -161.07, 32807, 47, nil},
    {"l01_escape", "m", "3", -185.54, -19.42, -134.87, 65608, 56, nil},
    {"l01_escape", "m", "4", -222.56, -19.84, -164.02, 32807, 47, nil},
    {"l01_escape", "m", nil, -214.63, -22.84, -126.40, 39266, 59, nil},
    {"l01_escape", "m", nil, -217.15, -19.68, -168.81, 34087, 47, nil},
    -- У вояк
    {"l01_escape", "m", nil, -139.94, -25.01, -355.95, 116593, 19, nil},
    {"l01_escape", "m", "5", -167.71, -29.60, -352.58, 81740, 32, nil},
    {"l01_escape", "m", "6", -168.02, -29.60, -357.01, 81730, 28, nil},
    {"l01_escape", "m", "7", -115.80, -29.97, -387.15, 139308, 27, nil},
    {"l01_escape", "m", "8", -125.39, -29.52, -380.23, 126768, 26, nil},
    {"l01_escape", "m", "9", -166.50, -24.90, -356.87, 83083, 31, nil},
    {"l01_escape", "m", "10", 111.51, -2.30, 2.78, 413043, 117, nil},
    {"l01_escape", "m", "11", 111.24, -2.75, 1.52, 413041, 117, nil}, 
    

    -- Свалка:
    
    -- Матрас в ангаре возле группы Серого
    {"l02_garbage", "m", nil, -70.34, -1.60, 19.88, 131025, 329, nil},

    -- Матрас в вагончике возле заставы долга
    {"l02_garbage", "m", nil, 46.73, 1.56, 243.93, 218601, 359, nil},
    {"l02_garbage", "m", nil, 74.01, -1.88, 17.08, 136601, 330, nil},
    -- У бандитов
    {"l02_garbage", "m", nil, -223.98, -7.67, -129.76, 17000, 281, nil},

    -- Агропром:
    
    -- Матрасы в конце ж/д тунеля с аномалиями
    {"l03_agroprom", "m", "icon_2", 254.96, 0.15, 74.44, 428649, 498, nil},
    {"l03_agroprom", "m", "no_icon_2", 257.46, 0.15, 73.50, 429416, 498, nil},
    {"l03_agroprom", "m", nil, -156.96, 1.66, -153.59, 96184, 668, nil},
    {"l03_agroprom", "m", nil, 0.20, 7.83, 15.46, 239682, 682, nil},
    {"l03_agroprom", "m", nil, 33.16, 7.83, -17.72, 271738, 664, nil},
    {"l03_agroprom", "m", nil, -156.19, 1.43, -162.03, 82783, 669, nil},
    
    -- Подземелья Агропрома:
    
    -- Матрас в тайнике Стрелка
    {"l03u_agr_underground", "b", nil, -69.74, -6.87, -74.45, 3439, 717},
    {"l03u_agr_underground", "m", nil, -69.74, -6.35, -74.45, 3439, 717, "allways"},
    
    -- Бар:
    
    -- Матрасы на базе Долга
    {"l05_bar", "m", "icon_3", 232.28, -4.9, 131.44, 59301, 1200, nil},
    {"l05_bar", "m", "no_icon_3", 232.08, -4.9, 135.36, 59301, 1200, nil},
    
    -- Матрас в комнате Бармена (за барной стойкой)
    {"l05_bar", "b", nil, 115.85, -5.3, 12.0, 33756, 1239},
    {"l05_bar", "m", nil, 115.85, -4.6, 12.0, 33756, 1239, "allways"},
    {"l05_bar", "m", nil, 212.74, -1.45, -17.93, 52216, 1264, nil},
    {"l05_bar", "m", nil, 113.99, -4.96, 14.21, 33614, 1239, nil},
    {"l05_bar", "m", "12", 132.35, 0.20, 61.42, 36350, 1227, nil},
    {"l05_bar", "m", "13", 128.92, 0.20, 57.59, 35885, 1227, nil},
    {"l05_bar", "m", "14", 115.37, 0.06, 119.94, 33881, 1213, nil},
    {"l05_bar", "m", "15", 117.85, 0.06, 125.40, 34298, 1213, nil},
    {"l05_bar", "m", nil, 209.24, 0.76, 58.99, 50944, 1203, nil},
    {"l05_bar", "m", "16", 218.39, -5.33, 123.42, 54151, 1198, nil},
    {"l05_bar", "m", nil, 149.98, 0.76, 67.63, 40034, 1180, nil},
    {"l05_bar", "m", nil, 109.92, 0.43, 74.03, 33034, 1225, nil},
    {"l05_bar", "m", "17", 98.66, 0.20, 89.43, 31514, 1223, nil},
    {"l05_bar", "m", "18", 101.54, 0.20, 93.02, 32074, 1222, nil},
    {"l05_bar", "m", "19", 98.64, 0.20, 98.08, 31521, 1222, nil},

    -- Янтарь:
    
    -- Матрасы в бункере ученых на Янтаре
    {"l08_yantar", "m", "no_icon_4", 30.36, -10.98, -280.2, 54978, 1480, "allways"},
    {"l08_yantar", "m", "icon_4", 27.68, -10.98, -280.2, 54978, 1480, "allways"},

    -- Армейские склады:

    -- Матрасы на базе Свободы в казармах
    {"l07_military", "m", "no_icon_5", 14.07, -6.82, 13.1, 319840, 1582, nil},
    {"l07_military", "m", "icon_5", 11.18, -6.82, 13.27, 317158, 1582, nil},

    -- Матрас в комнате напротив Скряги
    {"l07_military", "m", nil, -25.39, -6.82, -26.74, 281271, 1593, nil},
    {"l07_military", "m", "20", -194.30, -12.67, 39.50, 131936, 1657, nil},
    {"l07_military", "m", nil, -229.46, -21.44, 200.10, 101673, 1765, nil},
    {"l07_military", "m", nil, 90.08, -0.21, 304.43, 391261, 1775, nil},
    {"l07_military", "m", nil, -18.61, -3.77, -21.31, 288157, 1593, nil},
    {"l07_military", "m", nil, -25.76, -3.78, -21.26, 281276, 1593, nil},
    {"l07_military", "m", "21", -18.72, -7.02, -22.93, 288152, 1593, nil},
    {"l07_military", "m", nil, -342.87, -13.56, 396.61, 10000, 1847, nil},


    {"l10_radar", "m", "22", 629.62, -43.76, 193.78, 224853, 1909, nil},
    {"l10_radar", "m", "23", 635.35, -43.76, 192.82, 225745, 1909, nil},
    {"l10_radar", "m", nil, 60.06, -4.27, -50.48, 30685, 1987, nil},
    {"l10_radar", "m", "24", 392.07, -34.03, 155.42, 119814, 1865, nil},
    {"l10_radar", "m", nil, 392.17, -34.14, 153.54, 119812, 1865, nil},


    {"l11_pripyat", "m", nil, -3.25, -4.75, 198.76, 96184, 2195, nil},
    {"l11_pripyat", "m", nil, 102.84, 4.33, 124.23, 73868, 2117, nil},


    {"l04_darkvalley", "m", nil, 147.22, 0.56, -244.83, 345204, 958, nil},
    {"l04_darkvalley", "m", nil, 145.47, 0.50, -248.65, 344406, 959, nil},
    {"l04_darkvalley", "m", nil, 38.61, 4.87, -81.97, 223240, 1100, nil},
    {"l04_darkvalley", "m", nil, 25.69, 4.87, -85.53, 205994, 1099, nil},
    {"l04_darkvalley", "m", "25", 33.44, 4.63, -59.72, 215692, 1074, nil},
    {"l04_darkvalley", "m", "26", 33.61, 4.63, -57.70, 215702, 1074, nil},
    {"l04_darkvalley", "m", "27", 46.05, 1.10, -59.38, 232784, 1083, nil},
    {"l04_darkvalley", "m", "28", 102.84, 1.10, -59.03, 235536, 1083, nil}

    
    --[[
    -- Это места, где можно поспать (требует начало новой игры)
    {"1", "2", "3", 4, 5, 6, 7, 8, "9", "10"}
    1 - название уровня
    2 - m или b (m - невидимый объект, при клике на который мы спим, b - кровать, для декорации)
    3 - если написать что-нибудь в "" и !добавить! эту запись в таблицу ниже, то на глобальной/мини карте для этого матраса не будет иконки сна (только для невидимого объекта)
    4,5,6 - координаты x,y,z соответственно
    7,8 - level_vertex и game_vertex соответственно
    9 - если стоит "allways" значит можно спать независимо от наличия рядом врагов (только для невидимого объекта)
    ]]
    }
 
-- таблица матрасов, при использовании которых никогда не ставить метки
local table_non_spot_sleep_zone =
    {
    ["no_icon_1"]    = true,
    ["no_icon_2"]    = true,
    ["no_icon_3"]    = true,
    ["no_icon_4"]    = true,
    ["no_icon_5"]    = true,
    ["1"]    = true,
    ["2"]    = true,
    ["3"]    = true,
    ["4"]    = true,
    ["5"]    = true,
    ["6"]    = true,
    ["7"]    = true,
    ["8"]    = true,
    ["9"]    = true,
    ["10"]    = true,
    ["11"]    = true,
    ["12"]    = true,
    ["13"]    = true,
    ["14"]    = true,
    ["15"]    = true,
    ["16"]    = true,
    ["17"]    = true,
    ["18"]    = true,
    ["19"]    = true,
    ["20"]    = true,
    ["21"]    = true,
    ["22"]    = true,
    ["23"]    = true,
    ["24"]    = true,
    ["25"]    = true,
    ["26"]    = true,
    ["27"]    = true,
    ["28"]    = true
    }

local mattress_id = {}
local mattress_count = 0
local mattress_processed = 0
local first_scaling
local left_scaling
local last_health
local ENEMY_RADIUS = 15 -- радиус врагов

-- Обычный апдейт
function update(delta)

    local mcnt = load_variable("matras_cnt", 0)

    for i=1, mcnt do
        local obj = level.object_by_id(load_variable(i.."_matras", 65000))
        if obj then
            ---------------------
            --get_console():execute("THIS_IS_SPARTA!")
            --get_console():execute(obj:name())
            local bone_name = get_ltx(obj:section(), "fixed_bone", "str")
            local ph_shell = obj:get_physics_shell()
            if not ph_shell then
                --get_console():execute("NO_PH_SHELL")
                return
            end
            local ph_element = ph_shell:get_element_by_bone_name(bone_name)
            if ph_element:is_fixed() then
                --get_console():execute("ART_FIXED")
            else
                --get_console():execute("FIXING_OBJECT")
                ph_element:fix()
            end
            ---------------------
        end
    end

    if db.actor == nil  then
        return 
    end

    if not db.actor:alive() then
        local hud = get_hud()

        local custom_static = hud:GetCustomStatic("hud_mattress")
        if custom_static ~= nil then
            hud:RemoveCustomStatic("hud_mattress")
        end
    end

    local actor = db.actor
    local pos = actor:position()
    local zn = actor_in_sleep_zone(pos)

    if load_variable("bed_spawned", false) == false then
        spawn_mattress()
        save_variable("bed_spawned", true)
    end

    if zn == "m" then
        local hud = get_hud()
        local custom_static = hud:GetCustomStatic("hud_mattress")
        if custom_static == nil then
            hud:AddCustomStatic("hud_mattress", true)
        end
    else
        local hud = get_hud()

        local custom_static = hud:GetCustomStatic("hud_mattress")
        if custom_static ~= nil then
            hud:RemoveCustomStatic("hud_mattress")
        end
    end
end

-- Update матраса(вешаем колбек если ещё не повесили)
function mattress_update(obj)
    if mattress_count ~= mattress_processed then
        for kk,vv in pairs(mattress_id) do
            if vv[1] == obj:id() and vv[2] == false then
                vv[2] = true
                obj:set_callback(callback.use_object, this.mattress_use)
                obj:set_tip_text("tip_sleep")
                mattress_processed = mattress_processed + 1
            end
        end
    end
end

-- Отлавливаем спавн матрасов и запоминаем их id
function mattress_spawn(obj)
    mattress_count = mattress_count + 1
    local m = {obj:id(), false}
    table.insert(mattress_id, m)
end

-- Юзаем матрас
function mattress_use(obj, who)
    if test_for_can_sleep(obj) then
    -------------------------------
        local hud = get_hud()
        local spwn = ui_sleep.sleep(hud)
        local frst
        local scnd
        level.start_stop_menu(spwn,true)
        
        -- можно ли ставить спот
        local valid = true
            
        for name, val in pairs(db.storage[db.actor:id()].pstor) do
            if table_non_spot_sleep_zone[name] and load_variable(name, -1) == obj:id() then
                valid = false
            end
        end
        if valid then
            if not level.map_add_object_spot_ser(obj:id(), "sleep_pointer", "Место для сна") then
                level.map_add_object_spot_ser(obj:id(), "sleep_pointer", "Место для сна")
            end
        end
        
        for i = 1, 5 do
            frst = load_variable("no_icon_"..i, -1)
            scnd = load_variable("icon_"..i, -1)
            if frst == obj:id() and not level.map_add_object_spot_ser(scnd, "sleep_pointer", "Место для сна") then
            level.map_add_object_spot_ser(scnd, "sleep_pointer", "Место для сна")
            end
        end
    -------------------------------
    end
end
    
-- Игрок в зоне сна
function actor_in_sleep_zone(pos)
    for i,z in pairs(table_sleep_zone) do
        if z[1] == level.name() and z[2] == "m" and actor_in_zone(z[4], z[5], z[6], 2, pos) then
            return z[2]
        end
    end
    return ""
end

-- Спавним всё, что нужно
function spawn_mattress()
    for kk,vv in pairs(table_sleep_zone) do
        if vv[2] == "m" then
            local obj = alife():create("mattress", vector():set(vv[4], vv[5], vv[6]), vv[7], vv[8])
             if vv[9] == "allways" then
                save_variable(obj:name().."_allways_sleep", true)
            end
            if vv[3] then
                save_variable(vv[3], obj.id)
            end
        end
        if vv[2] == "b" then
            local obj = alife():create("bed_matras", vector():set(vv[4], vv[5], vv[6]), vv[7], vv[8])
            local i = load_variable("matras_cnt", 1)
            save_variable(i.."_matras", obj.id)
            save_variable("matras_cnt", i+1)
        end
    end
end

-- Проверка, можно ли спать
function test_for_can_sleep(matras)
    local allways = load_variable(matras:name().."_allways_sleep", false)

    -- проверка на врагов
    if not allways then
        for a=1,65535 do
            local obj = level.object_by_id(a)
            if obj then
                if ((IsStalker(obj) and get_npc_relation(obj,db.actor)=="enemy") or IsMonster(obj)) and obj:position():distance_to(db.actor:position())<ENEMY_RADIUS then
                    news_manager.send_tip(db.actor, "sleep_warning_enemy", nil, "default", 5000)
                    return false
                end
            end
        end
    end

    -- проверка на радиацию
    if db.actor.radiation > 0 then
        news_manager.send_tip(db.actor, "sleep_warning_radiation", nil, "default", 5000)
        return false
    end

    return true
end

-- Спать
function sleep(h)
    sleep_manager.start_sleep(h)
end

function start_sleep(scale)
    local sleep_ltx = ini_file ("scripts\\actorsleep.ltx")
    schemes["ar_sleep"] = "ar_sleep"
    ar_sleep.set_scheme(db.actor, sleep_ltx, "ar_sleep", logic)
    db.actor:stop_talk()
    db.actor:hide_weapon()
    level.disable_input()
    sleep_manager.starter (scale)
end

function starter(scale)
    last_health = db.actor.health    
    left_scaling = scale
    first_scaling = scale

    _G.mus_vol = get_console():get_float("snd_volume_music")
    _G.amb_vol = get_console():get_float("snd_volume_eff")
    get_console():execute("snd_volume_music 0")
    get_console():execute("snd_volume_eff 0")

    game.start_tutorial("time_scaling")
    level.set_time_factor(3460)
end

-- Вызывается каждый час сна
function stop_scaling()
    left_scaling = left_scaling - 1
    if left_scaling + 1 == first_scaling and last_health > db.actor.health then
        sleep_manager.dreamer()
        news_manager.send_tip(db.actor, "sleep_warning_satiety_or_bleeding", nil, "default", 5000)
    elseif left_scaling > 0 and last_health <= db.actor.health  then
        sleep_manager.hp_corrector(2)
        last_health = db.actor.health
          game.start_tutorial("time_scaling")
    elseif left_scaling > 0 and last_health > db.actor.health  then
        sleep_manager.hp_corrector(12)
        last_health = db.actor.health
        game.start_tutorial("time_scaling")
    elseif left_scaling <= 0 and last_health > db.actor.health  then
        sleep_manager.hp_corrector(12)
        db.actor.power = 1
        last_health = db.actor.health
        sleep_manager.dreamer()
    elseif left_scaling <= 0 and last_health <= db.actor.health then
        db.actor.power = 1
        sleep_manager.dreamer()
    end    
end

function dreamer()
    level.set_time_factor(system_ini():r_float("alife","time_factor"))
    if sleep_manager.is_sleep_active() then
        get_console():execute("snd_volume_music "..tostring(_G.mus_vol))
        get_console():execute("snd_volume_eff "..tostring(_G.amb_vol))
        _G.amb_vol = 0
        _G.mus_vol = 0
        sleep_manager.stopper()
    end
end

function stopper()
    level.set_time_factor(system_ini():r_float("alife","time_factor"))
    ar_sleep.disable_scheme()
    if not db.actor:alive() then
        sleep_manager.onliner()
    else 
        db.actor:restore_weapon()
    end
    level.enable_input()    
end

-- Игрок умер во время сна 
function onliner()
    get_console():execute("snd_volume_music "..tostring(_G.mus_vol))
    get_console():execute("snd_volume_eff "..tostring(_G.amb_vol))
    _G.amb_vol = 0
    _G.mus_vol = 0
end

function hp_corrector(fr)
    db.actor.health = fr/12
end

function is_sleep_active()
    if db.storage[db.actor:id()].active_scheme == "ar_sleep" then 
        return true 
    end
    return false
end

-----------------------------------------------------
-------------- Вспомогательные функции --------------
-----------------------------------------------------

-- Записываем переменную
function save_variable(variable_name, value)
    xr_logic.pstor_store(db.actor, variable_name, value)
end

-- Загружаем переменную
function load_variable(variable_name, value_if_not_found)
    return xr_logic.pstor_retrieve(db.actor, variable_name, value_if_not_found)
end

-- Удаляем переменную
function del_variable(variable_name)
    if db.storage[db.actor:id()].pstor[variable_name] then
        db.storage[db.actor:id()].pstor[variable_name] = nil
    end
end

-- Проверка на наличие актора в области
function actor_in_zone(x, y, z, r, pos)
    if math.pow(x-pos.x,2) + math.pow(y-pos.y,2) + math.pow(z-pos.z,2) <= math.pow(r,2) then
        return true
    else
        return false
    end
end

-- Узнаём отношения (взято из AMK)
function get_npc_relation(obj,target)
    local rel = obj:relation(target)
    local relation
    if rel == game_object.neutral then
        relation = "neutral"
    elseif rel == game_object.friend then
        relation = "friend"
    elseif rel == game_object.enemy then
        relation = "enemy"
    else
        return false
    end
    return relation
end

-- Получаем строку из LTX файла
function get_ltx(l_name,l_string,type)
    if system_ini():section_exist(l_name) and system_ini():line_exist(l_name, l_string) then
        if type=="bol" then
            return system_ini():r_bool(l_name, l_string)
        end
        if type=="num" then   -- целое число
            return tonumber(system_ini():r_u32(l_name, l_string))
        end
        if type=="num_float" then   -- число с запятой
            return tonumber(system_ini():r_float(l_name, l_string))
        end
        if type=="str" then
            return tostring(system_ini():r_string(l_name, l_string))
        end
        if type==nil then
            return system_ini():r_u32(l_name, l_string)
        end
    end
    return nil
end

 

  • Лайк 1

На ap-pro с 2010 года.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

alex5773 мне лень собирать координаты для всех матрасов в игре + я просто старался подобрать пару "безопасных" мест на локации, но не более.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Another thing I noticed in the final section of the CNPP is that the low grounds of the level aren't irradiated like in vanilla and you can simply wonder about, even see parts of building with missing textures that you weren't supposed to see.

For me even a few NPCs were there but that could be because of the modified distance switch 🤔

Спойлер

41851771_S.T.A.L.K.E.R.ShadowofChernobylScreenshot2022_10.30-14_39_48_21.png.16fce22723110ee294703508638548af.png

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

EvilGeniusRo Yes, it is - there is no radiation near the earth's surface in the last location. Perhaps the author of the modification will fix this in the next update

  • Мастер! 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

v1.0006 Final Update, mod ver.14 

В этой версии могут ли красть нпс вещи из синих ящиков, деревянных ящиков, тайников?

Где можно выложить вещи без риска кражи?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
9 часов назад, chuso111 сказал:

v1.0006 Final Update, mod ver.14 

В этой версии могут ли красть нпс вещи из синих ящиков, деревянных ящиков, тайников?

Где можно выложить вещи без риска кражи?

Они вещи не крадут.

Изменено пользователем Pastalker56
  • Лайк 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

chuso111, так это вроде не тема народной солянки)))

А в этом моде, даже если дополнение от автора с АИ паком поставишь, где есть собирательство, всё равно они не будут из ящиков ничего брать.

 


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

Сейчас хотел в SFU14(m2) вернуть инвентарь монстрам, т.к неписей жалко с АИ паком. Но потом подумал, да ну на фиг, от куда у монстров рюкзаки...)))

Вернуть то пара минут, но глупо то, что монстры все с рюкзаками будут снова бегать...))) В ЗП убрали рюкзаки монстрам, но срезание частей так и не добавили... В ЧН только части монстров убрали в рюкзаках...


На ap-pro с 2010 года.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
1 час назад, alex5773 сказал:

даже если дополнение от автора с АИ паком поставишь

АИ пак вообще никакой роли в этом вопросе не играет. В Солянке, НЛС и т.д. работает скрипт оффлайн-алайфа, который и забирает вещи из ящика и дарит их рандомному неписю, находящемуся поблизости. И это происходит только в оффлайне.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

sumrak6835, вот и написал, что это не тема народной солянки, и что даже с собирательством не будут тайники грабить.


На ap-pro с 2010 года.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Обращаюсь к автору темы или народным умельцам готовым помочь. Небольшая просьба, потомучто не понимаю как делать это для ТЧ.. 

Киньте скриптик, пожалуйста, чтобы руки, оружие убирались при лутании неписей, открытие ящиков, пда и инвентаря, очень буду благодарен! 

И еще если есть возможность дальность травы для этой версии.. Спасибо!


Дополнено 2 минуты спустя
В 30.10.2022 в 14:40, Mechanic сказал:

Обновил свой старый мод на сон и адаптировал к Final Update 14.

  Описание (Показать контент)

Описание: Реализация сна приближенная к Зову Припяти.

История версий:
1.1
- Поддержка 16:9 и 4:3.
- Исправлена ошибка из-за которой Гарик поворачивался боком к герою при диалоге с ним.
- Подправлены скрипты.
1.0
- Реализация сна приближенная к Зову Припяти. 
- Теперь игрок может спать в безопасных местах. При нахождении рядом с таким местом на экране будет мигать индикатор.
- Сон восстанавливает здоровье. Спать можно при условии, что:
 -- организм не облучен
 -- рядом нет врагов
 -- нет сильного голода или кровотечения
- После первого сна, на глобальной и мини картах появится постоянная метка этого места.

Что правлено в all.spawn:
 - в alife_l05_bar.ltx редактирована секция name = bar_bar_guard
 - в alife_l03u_agr_underground.ltx редактирована секция name = agr_und_physic_object_0018

  Скрин (Показать контент)

1388962354_ss__10-30-22_14-29-44_(l01_escape).thumb.jpg.58e38970b8ca957c615df3dae96997b8.jpg

Ссылка.

Для игры с

дополнительно закинуть в mods эту адаптацию. (Чтобы охотник в Баре менял свой визуал.)

Ты очень крутой, спасибо за работу, но почему-то не поменялись у меня визуалы.. Закинул в папку модс. Репак нормальный, все работает, но визуалы не поменялись.

Кстати, не хотел бы сделать бы поменять в будущем меши-рук из ЧН адекватные эти на всех моделях нпс, наподобие ЛА.. Я считаю это очень нормально.)

Изменено пользователем Излеченный

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

buka приветствую! скачал сейчас мод, установил всё по инструкции, начал лутать ДН, а в ящике, где раньше была броня наймов, теперь лежит сталкерский комбез. это так и должно быть, или я где-то накосячил?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
6 минут назад, Daedric_Prince сказал:

теперь лежит сталкерский комбез

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

DarkFace понял, спасибо. Но я считаю, что для каноничности и во избежание такой халявы, стоит сталкерский комбез убрать и закинуть туда либо куртку новичка с противогазом, либо сталкерскую броню, как у охранников в Баре. а то слишком лютый старт. да и броня наймов наталкивала на размышления "а кто же тут крыса?".

  • Мастер! 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
Только что, Daedric_Prince сказал:

а то слишком лютый старт

Для "знающих" в чистом ТЧ он всегда таковой, ибо в округе слишком много халявы лежит

  • Жму руку 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Еще такая просьба, если не сложно: 

1. Сделайте цифры перед диалогами, чтобы нажимать удобнее было и подсветку предметов в инвентаре при продаже.

2. Опционально возможность сохраняться в безопасных зонах или у костров (+к атмосфере).

3. Пак более мрачной погоды по вечерам, например, пару пасмурных скайбоксов из билдов, хм. 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
1 час назад, Излеченный сказал:

Закинул в папку модс. Репак нормальный, все работает, но визуалы не поменялись.

Кидать нужно не только "адаптацию", но и сам SFU14_Some_NPC_Addon.xdb

1 час назад, Излеченный сказал:

Кстати, не хотел бы сделать бы поменять в будущем меши-рук из ЧН адекватные эти на всех моделях нпс, наподобие ЛА.. Я считаю это очень нормально.)

Пока не планирую.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
33 минуты назад, Излеченный сказал:

1. Сделайте цифры перед диалогами, чтобы нажимать удобнее было и подсветку предметов в инвентаре при продаже.

Для этого правка движка нужна. Среди используемых автором инструментов такое не сделать.

 

1 час назад, Излеченный сказал:

стати, не хотел бы сделать бы поменять в будущем меши-рук из ЧН адекватные эти на всех моделях нпс, наподобие ЛА.. Я считаю это очень нормально.)

В ЛА опять же редактирован движок под модели рук и они просто перенесены напрямую из ЗП. Я Когда то переносил Re-Animation Project 2 COP на ТЧ. Если найду - скину Буке и, если он сочтёт нужным, внесет в список дополнений

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

buka бегаю уже пару часов в мод с аи-паков и доп.правками и небольшой отклик напишу.  Вы так и не дали возможность торговли пушками с НПС хотя бы в АИ-паке, а желательно просто в игру добавить, вроде бы уже обсуждали это с Вами как-то в прошлых версиях, обращал уже на это внимание. В дополнениях так и не нашёл правки на группу Круглова, а желательно бы добавить, чтоб по сайту не искать. Повышаются ли у НПС ранги при убийству врагов, также как и у ГГ? ибо пока на Свалке и не заметил. Когда будет фикс журнала? только просмотришь вкладки, сменишь раздел, а он опять зелёный((( Мелочь, а неприятно. Также так и не заметил превью локаций в КПК, хотя тут один парень делал их, очень хотелось бы, чтобы они в новую версию были включены. Убойность 5.45 оценил, но не оценил, что на большинстве пушек так и не включена возможность установки обвесов, хотя такая возможность есть, если просматривать каждую пушку отдельно, то у каждой на тот или иной обвес имеется состояние обвесов 0;1, что означает возможность установки и адаптацию данного обвеса под пушку, просто разрешить надо, как пример тот же АК-74У, на который нельзя поставить глушак, хотя обязан был. ещё какой-то парень тут в ветке правил координаты положения в руках и при прицеливании для некоторых пушек типа G36 с установленным гранатомётом, обратите внимание пожалуйста. И возможно стоило бы адаптировать и включить спальные места в игру, ибо тут тоже один парень выкладывал полный перечень координат на всех локах. Заранее благодарю Вас за Вашу работу, всё нравится и бегаю с удовольствием.

  • Мастер! 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Daedric_Prince 
 

Спойлер


19 минут назад, Daedric_Prince сказал:

В дополнениях так и не нашёл правки на группу Круглова, а желательно бы добавить, чтоб по сайту не искать.

Данную правку пока не тестировал, так что адаптации не будет. 

20 минут назад, Daedric_Prince сказал:

Повышаются ли у НПС ранги при убийству врагов, также как и у ГГ?

Так же, как в оригинате. 

20 минут назад, Daedric_Prince сказал:

Когда будет фикс журнала? только просмотришь вкладки, сменишь раздел, а он опять зелёный(((

Никогда. Для этого требуется ковырять исходники движка, либо переходить на OGSR. В моде же используется X-Ray extensions.

21 минуту назад, Daedric_Prince сказал:

Также так и не заметил превью локаций в КПК, хотя тут один парень делал их, очень хотелось бы, чтобы они в новую версию были включены.

Когда сделаем более качественные иконки - тогда и включу в сборку.

22 минуты назад, Daedric_Prince сказал:

не оценил, что на большинстве пушек так и не включена возможность установки обвесов, хотя такая возможность есть, если просматривать каждую пушку отдельно, то у каждой на тот или иной обвес имеется состояние обвесов 0;1, что означает возможность установки и адаптацию данного обвеса под пушку, просто разрешить надо, как пример тот же АК-74У, на который нельзя поставить глушак, хотя обязан был.

А я считаю, что не обязан. Считаете иначе - никто не запрещает редактировать конфиги под свои вкусы. 😉

35 минут назад, Daedric_Prince сказал:

Вы так и не дали возможность торговли пушками с НПС хотя бы в АИ-паке

38 минут назад, Daedric_Prince сказал:

ещё какой-то парень тут в ветке правил координаты положения в руках и при прицеливании для некоторых пушек типа G36 с установленным гранатомётом, обратите внимание пожалуйста.

Это, как и некоторые другие правки, будет включено в версию 14+, которую выложу после исправления вылета при попытке вылечить бандита при игре за Свободу.

 

 

  • Лайк 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Кстати, я как раз специально начал новую игру и быстренько вступил в "свободу" что бы ещё раз такую ситуацию с бандосом создать.  buka  если что вот сейв. 

Константин_quicksave.rar

  • Жму руку 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

buka ещё заметил, что после зачистки АТП в соло Петруха потом каждый раз повторяет одну и ту же фразу, как ГГ крут. Фиксанёте? Также в КПК превью у Кордона и Свалки билдовские, таких мест у нас в оригинале вообще нет. Загрузочный экран Свалки надо бы не забыть глянуть ещё, а то чот забываю))) И спецназ для зачистки НИИ после убийства не отображается на мини-карте трупами, их просто будто не существует, если потребуется, могу скрин сделать. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Есть одна модификация улучшающая механику костров.

Его функционал таков: если нет поблизости сталкеров то он не горит, а если таковые есть он горит.

Ссылка


Дополнено 7 минуты спустя
15 часов назад, DarkFace сказал:

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

Ну вообще в билдах на кордоне была деревня, в которой дислоцировались наемники. Они же и нападали на ДН когда там Фанат.

Да и Сидорович не совсем чист, что в ТЧ и в остальных частях.

  • Лайк 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   2 пользователя онлайн