Создание телепортов в ЗП.
Эти телепорты я выдрал из АМК ЗП (типа копирайт), где они были на Болотах и предназначались для попадания на базу Охотников (Чистого неба в оригинале).
Потребуется добавление секций в alife_marsh.ltx, way_marsh.ltx и создание файлов логики для телепортов.
Сначала правим alife_marsh.ltx добавляя следующие секции
- Код: Выделить всё
[16580]
; cse_abstract properties
section_name = zone_teleport
name = marsh_teleport_in
position = 19.3818283081055,0.993935346603394,-293.313903808594
direction = 0,0,0
; cse_alife_object properties
game_vertex_id = 1905
distance = 20
level_vertex_id = 148411
object_flags = 0xffffff3e
; cse_shape properties
shapes = shape0
shape0:type = sphere
shape0:offset = 0,0,0
shape0:radius = 5.5254921913147
; cse_alife_space_restrictor properties
restrictor_type = 3
; cse_alife_custom_zone properties
max_power = 0
; cse_alife_anomalous_zone properties
offline_interactive_radius = 30
artefact_spawn_count = 32
artefact_position_offset = 0x1ac0
рестриктор
- Код: Выделить всё
[16581]
; cse_abstract properties
section_name = space_restrictor
name = marsh_teleport_in_restrictor
position = 19.3818283081055,0.993935346603394,-293.313903808594
direction = 0,0,0
; cse_alife_object properties
game_vertex_id = 1905
distance = 20
level_vertex_id = 148411
object_flags = 0xffffff3e
custom_data = <<END
[logic]
cfg = scripts\marsh\marsh_teleport_in_restrictor.ltx
END
; cse_shape properties
shapes = shape0
shape0:type = sphere
shape0:offset = 0,0,0
shape0:radius = 4.24460601806641
; cse_alife_space_restrictor properties
restrictor_type = 3
Аналогично делается второй телепорт с базы наружу.
Чтобы покончить с алл.спавном, добавляем пути телепортации в way_marsh.ltx
- Код: Выделить всё
[marsh_teleport_in_restrictor_look]
points = p0
p0:name = wp00
p0:position = -178.753936767578,1.83453810214996,-276.184478759766
p0:game_vertex_id = 2044
p0:level_vertex_id = 51885
[marsh_teleport_in_restrictor_walk]
points = p0
p0:name = wp00
p0:position = -207.017044067383,0.888671875,-294.765289306641
p0:game_vertex_id = 2036
p0:level_vertex_id = 37769
+ аналогичные пути для телепорта наружу.
Создаем файл логики телепорта configs\scripts\marsh\marsh_teleport_in_restrictor.ltx со следующим содержимым
- Код: Выделить всё
[logic]
active = sr_teleport
[sr_teleport]
point1 = marsh_teleport_in_restrictor_walk
look1 = marsh_teleport_in_restrictor_look
+ создаем файл логики для телепорта configs\scripts\marsh\marsh_teleport_out_restrictor.ltx
В секции marsh_teleport_in_restrictor_walk указывается точка, в которую переносит телепорт. ЧТо описывает секция marsh_teleport_in_restrictor_look я не совсем понял... Вроде как "взгляд, смотреть" переводится...
По аналогии делаются и другие телепорты. Итого, на каждый телепорт приходится 2 секции в alife_xxx.ltx, 2 секции в way_xxx.ltx и 1 файл логики. Само собой должны иметься в наличии координаты расположения телепортов и "мест назначения"
В архиве все вышеописанные секции, для добавления в алл.спавн + файлы логики. Левел- и гейм-вертексы Хоббитовские. Телепорт малозаметен днем
Вот стартовая секция для Болот (для желающих потестить), ГГ спавнится практически рядом с телепортом
- Код: Выделить всё
[marsh_0]
; cse_abstract properties
section_name = actor
name = level_prefix_actor
position = 23,2,-278
direction = 0,0,0
s_flags = 0x29
; cse_alife_object properties
game_vertex_id = 2110
distance = 0
level_vertex_id = 150864
object_flags = 0xffffffbf
; cse_visual properties
visual_name = actors\stalker_hero\stalker_hero_1
; 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 = 0x27a13d0
upd:creature_flags = 0x90
upd:position = 23,2,-278
upd:o_model = 0
upd:o_torso = 0,0,0
upd:g_team = 0
upd:g_squad = 0
upd:g_group = 0
; cse_alife_trader_abstract properties
money = 40
trader_flags = 0
character_profile = actor
; cse_ph_skeleton properties
; cse_alife_creature_actor properties
upd:actor_state = 0xdf10
upd:actor_accel_header = 0
upd:actor_accel_data = 0
upd:actor_velocity_header = 0
upd:actor_velocity_data = 0
upd:actor_radiation = 0
upd:actor_weapon = 16
upd:num_items = 0
; se_actor properties
Надеюсь, более-менее понятно описано