Overf1rst 1 426 Опубликовано 1 июля, 2020 Тема посвящена моддингу на платформе Тень Чернобыля. Правила темы: Здесь задают вопросы и получают на них ответы. Прежде чем задать вопрос, воспользуйтесь поиском, ответ на него, вероятно, уже есть. Если у вас произошёл вылет, проверьте лог и поищите информацию об ошибке в справочнике. Также будет полезно посмотреть справочник ошибок. Если у Вас вылетает какой-то мод, то следует написать в тему этого мода. Грамотно оформляйте свой пост, чётко доносите суть своего вопроса (ответа). Благодарность выражаем в личке или же ставим реакцию. Посты с благодарностями в теме будут удаляться. 6 4 1 3 1 3 6 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Stalkervernite 258 Опубликовано 7 июля, 2023 (изменено) del Изменено 20 марта пользователем Stalkervernite Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
frankenshtayn 17 Опубликовано 7 июля, 2023 Я давал ссылочку на вики, там можно найти всё, что угодно. Но как пример..... Аллспавн алайф_локация: Спойлер [14] ; cse_abstract properties section_name = smart_terrain name = sv_st_smart_terrain position = 217.50959777832,-1.94939196109772,176.110565185547 direction = 0,0,0 ; cse_alife_object properties game_vertex_id = 378 distance = 24.5 level_vertex_id = 354113 object_flags = 0xffffff3e custom_data = <<END [smart_terrain] type = sv_st_smart_terrain capacity = 3 END ; cse_shape properties shapes = shape0 shape0:type = sphere shape0:offset = 0,0,0 shape0:radius = 3.71439838409424 ; cse_alife_space_restrictor properties restrictor_type = 3 ; se_smart_terrain properties [15] ; cse_abstract properties section_name = stalker name = sv_st_smart_terrain00 position = 218.50959777832,-1.94939196109772,177.110565185547 direction = -0.327957004308701,0,0.944693028926849 ; cse_alife_trader_abstract properties money = 5000 character_profile = esc_stalker_novice ; cse_alife_object properties game_vertex_id = 378 distance = 4.19999980926514 level_vertex_id = 354113 object_flags = 0xffffffbf custom_data = <<END [smart_terrains] sv_st_smart_terrain = true END ; cse_visual properties visual_name = actors\novice\green_stalker_2 ; cse_alife_creature_abstract properties g_team = 0 g_squad = 0 g_group = 0 health = 1 dynamic_out_restrictions = dynamic_in_restrictions = upd:health = 1 upd:timestamp = 0 upd:creature_flags = 0 upd:position = 218.50959777832,-1.94939196109772,177.110565185547 upd:o_model = 0 upd:o_torso = 0.533530831336975,-0.000744261255022138,0 upd:g_team = 0 upd:g_squad = 0 upd:g_group = 0 ; cse_alife_monster_abstract properties upd:next_game_vertex_id = 65535 upd:prev_game_vertex_id = 65535 upd:distance_from_point = 0 upd:distance_to_point = 0 ; cse_alife_human_abstract properties predicate5 = 1,0,0,2,1 predicate4 = 1,1,0,1 ; cse_ph_skeleton properties upd:start_dialog = ; se_stalker properties [16] ; cse_abstract properties section_name = stalker name = sv_st_smart_terrain01 position = 219.50959777832,-1.94939196109772,178.110565185547 direction = -0.327957004308701,0,0.944693028926849 ; cse_alife_trader_abstract properties money = 5000 character_profile = esc_stalker_novice ; cse_alife_object properties game_vertex_id = 378 distance = 4.19999980926514 level_vertex_id = 354113 object_flags = 0xffffffbf custom_data = <<END [smart_terrains] sv_st_smart_terrain = true END ; cse_visual properties visual_name = actors\novice\green_stalker_2 ; cse_alife_creature_abstract properties g_team = 0 g_squad = 0 g_group = 0 health = 1 dynamic_out_restrictions = dynamic_in_restrictions = upd:health = 1 upd:timestamp = 0 upd:creature_flags = 0 upd:position = 219.50959777832,-1.94939196109772,178.110565185547 upd:o_model = 0 upd:o_torso = 0.533530831336975,-0.000744261255022138,0 upd:g_team = 0 upd:g_squad = 0 upd:g_group = 0 ; cse_alife_monster_abstract properties upd:next_game_vertex_id = 65535 upd:prev_game_vertex_id = 65535 upd:distance_from_point = 0 upd:distance_to_point = 0 ; cse_alife_human_abstract properties predicate5 = 1,0,0,2,1 predicate4 = 1,1,0,1 ; cse_ph_skeleton properties upd:start_dialog = ; se_stalker properties [17] ; cse_abstract properties section_name = stalker name = sv_st_smart_terrain02 position = 220.50959777832,-1.94939196109772,179.110565185547 direction = -0.327957004308701,0,0.944693028926849 ; cse_alife_trader_abstract properties money = 5000 character_profile = esc_stalker_novice ; cse_alife_object properties game_vertex_id = 378 distance = 4.19999980926514 level_vertex_id = 354113 object_flags = 0xffffffbf custom_data = <<END [smart_terrains] sv_st_smart_terrain = true END ; cse_visual properties visual_name = actors\novice\green_stalker_2 ; cse_alife_creature_abstract properties g_team = 0 g_squad = 0 g_group = 0 health = 1 dynamic_out_restrictions = dynamic_in_restrictions = upd:health = 1 upd:timestamp = 0 upd:creature_flags = 0 upd:position = 220.50959777832,-1.94939196109772,179.110565185547 upd:o_model = 0 upd:o_torso = 0.533530831336975,-0.000744261255022138,0 upd:g_team = 0 upd:g_squad = 0 upd:g_group = 0 ; cse_alife_monster_abstract properties upd:next_game_vertex_id = 65535 upd:prev_game_vertex_id = 65535 upd:distance_from_point = 0 upd:distance_to_point = 0 ; cse_alife_human_abstract properties predicate5 = 1,0,0,2,1 predicate4 = 1,1,0,1 ; cse_ph_skeleton properties upd:start_dialog = ; se_stalker properties Аллспавн вай_локация: Спойлер [sv_st_smart_terrain_dva_walk] points = p0,p1 p0:name = wp00 p0:position = 220.283889770508,-2.02869510650635,175.384140014648 p0:game_vertex_id = 378 p0:level_vertex_id = 355513 p0:links = p1(1) p1:name = wp01 p1:position = 232.254119873047,-1.04941594600677,167.089828491211 p1:game_vertex_id = 381 p1:level_vertex_id = 368817 p1:links = p0(1) [sv_st_smart_terrain_moy_sleep] points = p0,p1 p0:name = wp00 p0:position = 214.50959777832,-1.94939196109772,173.110565185547 p0:game_vertex_id = 378 p0:level_vertex_id = 354113 p1:name = wp01 p1:position = 214.50959777832,-1.94939196109772,172.110565185547 p1:game_vertex_id = 378 p1:level_vertex_id = 354113 p1:links = p0(1) [sv_st_smart_terrain_odin_walk] points = p0,p1,p2 p0:name = wp00 p0:position = 216.906387329102,-1.92757797241211,175.720275878906 p0:game_vertex_id = 378 p0:level_vertex_id = 353756 p0:links = p1(1) p1:name = wp01 p1:position = 203.708618164063,-1.05473899841309,171.603408813477 p1:game_vertex_id = 378 p1:level_vertex_id = 345806 p1:links = p2(1) p2:name = wp02 p2:position = 204.927429199219,-2.01750707626343,180.354019165039 p2:game_vertex_id = 378 p2:level_vertex_id = 346710 p2:links = p0(1) [sv_st_smart_terrain_pole_kamp] points = p0 p0:name = wp00|s=state p0:position = 216.50959777832,-1.94939196109772,175.110565185547 p0:game_vertex_id = 378 p0:level_vertex_id = 354113 gulag_локация.script: Спойлер local t = {} function load_job(sj, gname, type, squad, groups) --'-------------------------------------------------------------------------- --' GARBAGE --'-------------------------------------------------------------------------- -----первый--------- if type == "sv_st_smart_terrain" then t = { section = "logic@sv_st_smart_terrain_walker1", idle = 0, prior = 5, state = {0}, ---работа днем первого нпс-------- online = true, in_rest = "", out_rest = "", } table.insert(sj, t) end if type == "sv_st_smart_terrain" then t = { section = "logic@sv_st_smart_terrain_kamp1", idle = 0, prior = 5, state = {1}, ---работа ночью первого нпс--- online = true, in_rest = "", out_rest = "", } table.insert(sj, t) end ----------второй----------- if type == "sv_st_smart_terrain" then t = { section = "logic@sv_st_smart_terrain_walker2", idle = 0, prior = 5, state = {0}, ----работа днем второго нпс---- online = true, in_rest = "", out_rest = "", } table.insert(sj, t) end if type == "sv_st_smart_terrain" then t = { section = "logic@sv_st_smart_terrain_kamp2", idle = 0, prior = 5, state = {1}, ----работа ночью второго нпс ----- online = true, in_rest = "", out_rest = "", } table.insert(sj, t) end ------третий------------- if type == "sv_st_smart_terrain" then t = { section = "logic@sv_st_smart_terrain_walker3", idle = 0, prior = 5, state = {0}, --- работа днем третьего нпс---- online = true, in_rest = "", out_rest = "", } table.insert(sj, t) end if type == "sv_st_smart_terrain" then t = { section = "logic@sv_st_smart_terrain_sleeper", idle = 0, prior = 5, state = {1}, ---работа ночью третьего нпс--- online = true, in_rest = "", out_rest = "", } table.insert(sj, t) end end function load_states(gname, type) ----- if type == "sv_st_smart_terrain" then return function(gulag) if db.actor ~= nil then if ( level.get_time_hours() >= 5 and level.get_time_hours() <= 22 ) then return 0 -- день else return 1 -- ночь end else return gulag.state end end end end -------------------------------------------------------------------------- -- Dynamic ltx -------------------------------------------------------------------------- function load_ltx(gname, type) return nil end function checkStalker(npc_community, gulag_type, npc_rank, se_obj) ------------ if gulag_type == "sv_st_smart_terrain" then return npc_community == "stalker" end return false end gulag_локация.ltx в config/misc Спойлер ;-- сталкер1 walker первый -> состояние 0, днем) [logic@sv_st_smart_terrain_walker1] active = walker@odin_hodit on_hit = hit_w [hit_w] on_info = %=zasada_spawn% [walker@odin_hodit] path_walk = odin_walk danger = danger_condition def_state_moving1 = patrol def_state_moving2 = patrol def_state_moving3 = patrol meet = meet ;-- сталкер1 kamp первый -> состояние 1, ночью) [logic@sv_st_smart_terrain_kamp1] active = kamp@odin_sidit on_hit = hit_k [hit_k] on_info = %=zasada_spawn% [kamp@odin_sidit] center_point = pole_kamp meet = no_meet ---------------------------------------------------------------- ;-- сталкер2 walker второй -> состояние 0, днем) [logic@sv_st_smart_terrain_walker2] active = walker@dva_hodit [walker@dva_hodit] path_walk = dva_walk danger = danger_condition def_state_moving1 = patrol def_state_moving2 = patrol def_state_moving3 = patrol meet = meet ;-- сталкер2 kamp второй -> состояние 1, ночью) [logic@sv_st_smart_terrain_kamp2] active = kamp@dva_sidit [kamp@dva_sidit] center_point = pole_kamp meet = no_meet ---------------------------------------------------------------------------- ;-- сталкер3 walker третий -> состояние 0, днем) [logic@sv_st_smart_terrain_walker3] active = kamp@tri_sidit [kamp@tri_sidit] center_point = pole_kamp meet = meet ;-- сталкер3 sleeper третий -> состояние 1, ночью) [logic@sv_st_smart_terrain_sleeper] active = sleeper@tri_slip [sleeper@tri_slip] path_main = moy_sleep wakeable = false meet = no_meet В принципе всё. Соответственно либо создать своих новых нпс, либо использовать имеющихся. Настойчиво повторяю просьбу - изучить материалы на сталкер-вики, там всё достаточно подробно расписано, а вот если что-то не получается, то можно и спросить, а не требовать всё готовое) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Stalkervernite 258 Опубликовано 7 июля, 2023 Спасибо,та хочу быстро,поэтому,прошу) 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
РСФСР 87 Опубликовано 8 июля, 2023 Зависание биндера (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 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
serzhant 19 Опубликовано 8 июля, 2023 Здарова камрады! Такой вопросец у меня, хочу сделать чтобы тайники в тч были наполнены по умолчанию. Что мне нужно сделать? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Stalkerwild21 0 Опубликовано 8 июля, 2023 Здраствуйте, помогите пожалуйста, при создание квеста, вот такой вылет Expression : fatal error Function : CScriptEngine::lua_error File : E:\stalker\sources\trunk\xr_3da\xrGame\script_engine.cpp Line : 73 Description : <no expression> Arguments : LUA error: ...e.r Тень Чернобылья\gamedata\scripts\new_life.script:2: attempt to index global 'amk' (a nil value) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Stalkervernite 258 Опубликовано 8 июля, 2023 (изменено) del Изменено 20 марта пользователем Stalkervernite Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Stalkerwild21 0 Опубликовано 8 июля, 2023 Stalkervernite function spawn_ak74u() amk.spawn_item("wpn_ak74u",vector():set(-78.85,-1.29,154.74),163,189935) end function escape_bandoss_ak74u_have() return sak.have_item_namber("wpn_ak74u",1) ~= false end function give_bandoss_ak74u(first_speaker, second_speaker) sak.out_item_namber("wpn_ak74u", 1) end function complete_bandoss_quest(first_speaker, second_speaker) dialogs.relocate_money(second_speaker, 1500, "in") end Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
ian98 225 Опубликовано 8 июля, 2023 serzhant в смысле открыть все тайники? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Yara 71 Опубликовано 8 июля, 2023 4 часа назад, РСФСР сказал: on_actor_dist_ge = 60 | [mob_fake_death@esc_zombie_5_fd Опечатка [ 1 https://sites.google.com/view/xray-sdk-0-4-smg Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Stalkervernite 258 Опубликовано 8 июля, 2023 (изменено) del Изменено 20 марта пользователем Stalkervernite Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Stalkerwild21 0 Опубликовано 8 июля, 2023 Stalkervernite Нет Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Stalkervernite 258 Опубликовано 8 июля, 2023 (изменено) del Изменено 20 марта пользователем Stalkervernite Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
ScR1pt 500 Опубликовано 8 июля, 2023 3 часа назад, Stalkerwild21 сказал: Expression : fatal error Function : CScriptEngine::lua_error File : E:\stalker\sources\trunk\xr_3da\xrGame\script_engine.cpp Line : 73 Description : <no expression> Arguments : LUA error: ...e.r Тень Чернобылья\gamedata\scripts\new_life.script:2: attempt to index global 'amk' (a nil value) У тебя вообще существует файл "amk.script"? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
serzhant 19 Опубликовано 8 июля, 2023 2 часа назад, ian98 сказал: serzhant в смысле открыть все тайники? НЕ, В НЕКОТОРЫХ МОДАХ ТАЙНИКИ ЗАПОЛНЕНЫ С САМОГО НАЧАЛА, ДАЖЕ ЕСЛИ МЕТНИ НЕТ НА НЕГО, ТОЖ ТАК ХОЧУ СДЕЛАТЬ Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
ian98 225 Опубликовано 8 июля, 2023 serzhant нужен скрипт или прописывать лут через спавн или сдк. При этом оригинальные тайники сверху также останутся. Лутецкого будет на всю трилогию. Если скрипт, то я примерно представляю как он должен выглядеть. Надо перебрать все объекты в игре по клсиду, отфильтровать ящики в лагерях, а то лута ещё больше будет, чем дофигище, ну и по полученным тайникам распихать предметы. Раедомно. Если в каждый определенные предметы совать, то тоже можно скриптом, но возни побольше будет. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Stalkerwild21 0 Опубликовано 8 июля, 2023 ScR1pt Да он есть Дополнено 0 минут спустя Stalkervernite Да брал с сайта Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Hunter 2 075 Опубликовано 8 июля, 2023 (изменено) serzhant посмотри пример в моде Время Перемен 2.5. Изменено 8 июля, 2023 пользователем Hunter Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Stalkervernite 258 Опубликовано 8 июля, 2023 (изменено) Stalkerwild21 del Изменено 20 марта пользователем Stalkervernite Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Stalkerwild21 0 Опубликовано 8 июля, 2023 Stalkervernite спасибо Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Paracetamol 495 Опубликовано 9 июля, 2023 Господа, может кто-нибудь знает, как можно перенести все предметы с инвентаря ГГ в ящик, а затем скриптом обратно положить к нему в рюкзак, либо же как-нибудь сохранить его инвентарь, потом очистить и через время выдать сохранённый шмот? И вообще возможно ли такое на ванили или хотя бы ОГСР? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Stalkervernite 258 Опубликовано 9 июля, 2023 (изменено) Paracetamol Ну,я не скриптер,ну это как минимум тяжело,ты через сдк работаешь? upd:Покопайся по сайтам в большинствах если "шпаргалки ковырялки",там все про скриптинг,может попадется нужная информация. Дополнено 49 минуты спустя Привет всем,распишите в подробностях создания лагеря типа general_lager,буду очень благодарен,и есть еще один вопрос,обязательно при создания лагеря, делать много работ,а не одну к примеру,к примеру что бы только нпс сидели у костра. Изменено 9 июля, 2023 пользователем Stalkervernite 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Stalkervernite 258 Опубликовано 9 июля, 2023 (изменено) del Изменено 20 марта пользователем Stalkervernite Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Stalkerwild21 0 Опубликовано 9 июля, 2023 Помогите как в SDK 0.4 открыть свой all.spawn? А то грузит пустую локацию Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
oleg19966 263 Опубликовано 9 июля, 2023 (изменено) Paracetamol привет. Что-то похожее есть в оригинальном ТЧ: если ГГ участвует в боях на Арене, то его шмот складывается в ящик возле Арни. Вот только забирать его потом надо вручную. Возможно, я не уверен, скрипт можно переделать что бы вещи были не out, а in. То есть не забирались, а давались. Вот только не знаю, можно ли это провернуть с неживим предметом, как ящик. С НПС, например, точно можно. 2 часа назад, Stalkervernite сказал: Привет всем,распишите в подробностях создания лагеря типа general_lager,буду очень благодарен,и есть еще один вопрос,обязательно при создания лагеря, делать много работ,а не одну к примеру,к примеру что бы только нпс сидели у костра. Привет. Думал даже статью как-то на вики написать... Там всё запредельно просто. Спойлер Можно сделать как на 1-го НПС, так и для 20-х например (но если честно, я больше чем на 8 не создавал). 1.Снимаешь координаты и делаешь через АС/ДС либо СДК смарт террейн с пометкой type = general_lager. 2.Даешь ему имя, например, esc_novice_village (название вообще любое можно, но лучше делать в стиле ПЫС). 3.Далее, делаешь работы для смарта. Если нужны только сидящие у костра, то снимаешь координаты центра костра, потом любой точки, за 2-3 м от костра (что-бы нпс не горели в кострах), и прописываешь в СДК или АСДС. Если в АСДС то прописывать в файл путей, например, если это кордон, то в файл way_l01_escape.ltx (хотя если прописать в другой файл, то 99% что тоже будет работать), далее называем работу ТОЛЬКО ПО ИМЕНИ САМОГО СМАРТА - ЭТО ВАЖНО. Например, у нас смарт называется esc_novice_village, значит место для посиделок у костра будет называться esc_novice_village_kamp. Последнее слово - это название схемы. Также, делаем вторую точку, что бы НПС не жарились, которая за 2-3м, и называем её esc_novice_village_kamp_task. Соответственно, можно сделать walker, sleeper, camp и тд. Только для каждой схемы, надо свой набор путей. Пояснюю: для костровиков достаточно 2-х точек - сам костёр и task, для walker можно сделать вообще только 1 точку, тогда он тупо будет стоять, а можно 35 точек - и он будет ходить по них в заданной последовательности. Также, для walkera очень желательно сделать к каждой точке "хождения" одну точку "направления взгляда". Там ещё можно кучу всего интересного с ним придумать) Далее, sleeper - спит лёжа либо сидя. 2 точки - в первую смотрит на второй лежит (вроде бы так, если не ошибаюсь). Camp - сидит в засаде, как, например, монолитовцы на крышах в Припяти. Минимум 2 точки - позиция и взгляд. Если задать 2 точки взгляда, он будет между ними переключаться, либо сканировать если указать тип кемпера sniper... remark - не трогайте эту схему, она не нужна в смартах. Вроде как всё) Будут вопросы - можете писать. upd: забыл упомянуть что у костра больше 5-6 челов лучше не садить. Также, в секции смарта, надо указывать capacity - вместимость (нельзя делать больше чем есть), и группировку НПС, например community = stalker, dolg (можно и две группировки). Изменено 9 июля, 2023 пользователем oleg19966 2 Внимание! Ищу любые фиксы/исправления для оригинального ТЧ. Спойлер Или людей, которые желают помочь с этим делом. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты