Итак, мы решили добавить место для сна. Сначала мы распакуем all.spawn, откроем alife_zaton.ltx и добавим в конце секцию

[Ваш номер секции]
; cse_abstract properties
section_name = space_restrictor
name = произвольное название вашего места
position=155.8231048584,-6.5563974380493,-138.71978759766
direction = 0,0,0

; cse_alife_object properties
level_vertex_id=1233171
game_vertex_id=13
distance = 0
object_flags = 0xffffff3e
custom_data = <<END
[story_object]
story_id = произвольное название вашего места_id

[logic]
cfg = scripts\sr_sleep.ltx
END

; cse_shape properties
shapes = shape0
shape0:type = box
shape0:axis_x = 5.02119588851929,0,0
shape0:axis_y = 0,5.0482006072998,0
shape0:axis_z = 0,0,2.23479747772217
shape0:offset = 0,0,0

; cse_alife_space_restrictor properties
restrictor_type = 3

2. Потом идем в pda.script, ищем строки

local sleep_zones_tbl =

{
{target = "zat_a2_sr_sleep_id", hint = "st_ui_pda_sleep_place"},
{target = "jup_a6_sr_sleep_id", hint = "st_ui_pda_sleep_place"},
{target = "pri_a16_sr_sleep_id", hint = "st_ui_pda_sleep_place"},
}

и меняем на

local sleep_zones_tbl =
{
{target = "zat_a2_sr_sleep_id", hint = "st_ui_pda_sleep_place"},
{target = "jup_a6_sr_sleep_id", hint = "st_ui_pda_sleep_place"},
{target = "pri_a16_sr_sleep_id", hint = "st_ui_pda_sleep_place"},
{target = "произвольное название вашего места_id", hint = "st_ui_pda_sleep_place"},
}

3. Открываем xr_effects.script, ищем строки

function sleep(actor, npc)
local sleep_zones = {
"zat_a2_sr_sleep",
"jup_a6_sr_sleep",
"pri_a16_sr_sleep",
"actor_surge_hide_2"
}

и также меняем на

function sleep(actor, npc)
local sleep_zones = {
"произвольное название вашего места",
"zat_a2_sr_sleep",
"jup_a6_sr_sleep",
"pri_a16_sr_sleep",
"actor_surge_hide_2"
}

Собираем all.spawn. Готово! Теперь после запуска игры с новым all.spawn у нас будет спальное место в барже Ноя (координаты брались оттуда).

Автор: ZeeK