Сегодня заспавним вертолет и разберем все по полочкам.
Первое: Распаковываем all.spawn, открываем alife_нужная локация.ltx и пишем секцию:
[.......]
; cse_abstract properties
section_name = helicopter
name = zat_heli_1
position = 206.76597595215,35.423793792725,175.6004486084
direction = 0,0,0
; cse_alife_object properties
game_vertex_id = 245
distance = 0
level_vertex_id = 1315816
object_flags = 0xffffffb2
custom_data = <<END
[story_object]
story_id = zat_heli
[logic]
cfg = scripts\zaton\zat_helicopter.ltx
END
; cse_visual properties
visual_name = dynamics\vehicles\mi24\veh_mi24_u_01
; cse_motion properties
; cse_ph_skeleton properties
skeleton_name = idle
; cse_alife_helicopter properties
startup_animation = idle
engine_sound = vehicles\helicopter\helicopter
Разбор:
[Номер секции, по порядку, если было 1111, то теперь 1112]
; cse_abstract properties
section_name = helicopter <-Секция(не менять!)
name = zat_heli_1 <-Уникальное имя скрипта
position = 206.76597595215,35.423793792725,175.6004486084 <-позиция
direction = 0,0,0 <-поворот вертолета
; cse_alife_object properties
game_vertex_id = 245 <-гейм вертекс уровня
distance = 0
level_vertex_id = 1315816 <-левл вертекс уровня
object_flags = 0xffffffb2
custom_data = <<END
[story_object]
story_id = zat_heli
[logic]
cfg = scripts\zaton\zat_helicopter.ltx <-путь к логике вертолёта
END
; cse_visual properties
visual_name = dynamics\vehicles\mi24\veh_mi24_u_01 <-Визуал верталёта
; cse_motion properties
; cse_ph_skeleton properties
skeleton_name = idle
; cse_alife_helicopter properties
startup_animation = idle
engine_sound = vehicles\helicopter\helicopter <-путь к звуку вертолёта
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Если хотите чтобы вертолет летал на одном месте, то пишите это:
[.......]
; cse_abstract properties
section_name = helicopter
name = zat_heli_1
position = -67.3565368652344,20.4709529876709,763.51025390625
direction = 0,0,0
; cse_alife_object properties
game_vertex_id = 291
distance = 0
level_vertex_id = 809741
object_flags = 0xffffffb2
custom_data = <<END
[story_object]
story_id = zat_heli
; cse_visual properties
visual_name = dynamics\vehicles\mi24\veh_mi24_u_01
; cse_motion properties
; cse_ph_skeleton properties
skeleton_name = idle
; cse_alife_helicopter properties
startup_animation = idle
engine_sound = vehicles\helicopter\helicopter
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Теперь открываем way_нужная локация.ltx:
[gen_heli_patrol_fly]
points = p0,p1
p0:name = wp00
p0:flags = 0x1
p0:position = 206.76597595215,35.423793792725,175.6004486084
p0:level_vertex_id = 1315816
p0:game_vertex_id = 245
p0:links = p1(1)
p1:name = wp01
p1:flags = 0x2
p1:position = 90.587173461914,32.625354766846,185.58322143555
p1:game_vertex_id = 209
p1:level_vertex_id = 1121725
p1:links = p0(1)
Разбор:
[gen_heli_patrol_fly] <-секция пути(имя в логике)
points = p0,p1 <-сколько точек перехода
p0:name = wp00 <-имя точки
p0:flags = 0x1 <-флаги(не трогать тем,кто с этим не знаком)
p0:position = 206.76597595215,35.423793792725,175.6004486084 <-позиция
p0:level_vertex_id = 1315816 <-левл вертекс уровня
p0:game_vertex_id = 245 <-гейм вертекс уровня
p0:links = p1(1) <-переход в точку 1(если нужно,что верт прилетел в одну точка и завис там,то переход не пишем,а и вторую точку)
p1:name = wp01 <-2-ая точка
p1:flags = 0x2 <-флаги
p1:position = 90.587173461914,32.625354766846,185.58322143555 <-позиция
p1:game_vertex_id = 209 <-гейм вертекс уровня
p1:level_vertex_id = 1121725 <-левл вертекс уровня
p1:links = p0(1) <-переход в точку 1
Запаковываем!
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Теперь заходим в configs, папка - scripts и еще одна папка - zaton и создаем файл - zat_helicopter.ltx там пишем:
[logic]
active = heli_move
[heli_move]
path_move = gen_heli_patrol_fly
max_velocity = 100
engine_sound = true
immortal = false
combat_ignore = false
dont_change_job = false
;enemy = 3333
min_mgun_attack_dist = 8
max_mgun_attack_dist = 70
min_rocket_attack_dist = 25
max_rocket_attack_dist = 70
use_rocket = true
use_mgun = true
upd_vis = 3
stop_fire = true
fire_trail = false
invulnerable = false
mute = false
Разбор:
[logic]
active = heli_move <-активная часть логики,указывается отдельно,это лишь ссылка на [heli_move]
[heli_move] <-собственно сама активная часть
path_move = gen_heli_patrol_fly <-секция патрулирования вертолёта,что прописана в way_локация.ltx
max_velocity = 100 <-максимальная скорость
engine_sound = true <-включен ли звук двигателя
immortal = false <-бессмертие вертолёта
combat_ignore = false <-игнорирование любых объектов,наносящих урон вертолёту или считающихся для вертолёта опасным
dont_change_job = false <-не сменять работу(Оо)
;enemy = 3333
min_mgun_attack_dist = 8 <-минимальная дистанция использования пулемёта
max_mgun_attack_dist = 70 <-максимальная дистанция использования пулемёта
min_rocket_attack_dist = 25 <-минимальная дистанция использования ракет
max_rocket_attack_dist = 70 <-максимальная дистанция использования ракет
use_rocket = true <-использовать ли ракеты
use_mgun = true <-использовать ли миниган
upd_vis = 3 <-не менять
stop_fire = true <- останавливать ли огонь или стрелять на поражение
fire_trail = false <линейное отставание бомбы(полосы дыма за ракетой,не включать на динамике,игра заглючит)
invulnerable = false <-неуязвимость
mute = false <-не атаковать кого-либо.
Вертолет будет летать над скадовском.
Автора не знаю, но урок откорректировал и оформил Я - ммихаилл