В алл.спавне БТР проходят под секцией m_car, искать лучше по параметру name, в нем обязательно будет "btr". Это что касается оригинальных БТР из алл.спавна
В АМК БТРы спавнятся скриптом. Приведу функцию, которой пользуюсь я, она почти полностью взята из АМК с небольшими моими доработками.
-------------------------------------------------------------------------------------------------------------
- - Спавн БТР. На основе АМК
--Параметры вызова:
--позиция x,
--позиция y,
--позиция z,
--левел вертекс,
--гейм вертекс,
--файл логики без расширения .ltx. !!!ДОЛЖЕН находиться в config\scripts\btr!!!
-------------------------------------------------------------------------------------------------------------
functi on btr(posx,posy,posz,lvid,gvid,logic)
local obj = alife():create("btr",vector():set(posx,posy,posz),lvid,gvid)
local packet = net_packet()
obj:STATE_Write(packet)
-- свойства cse_alife_object
local game_vertex_id = packet:r_u16()
local cse_alife_object__unk1_f32 = packet:r_float()
local cse_alife_object__unk2_s32 = packet:r_s32()
local level_vertex_id = packet:r_s32()
local object_flags = packet:r_s32()
local custom_data = packet:r_stringZ()
local story_id = packet:r_s32()
local cse_alife_object__unk3_s32 = packet:r_s32()
-- свойства cse_visual
local model_visual = packet:r_stringZ()
local cse_visual__unk1_u8 = packet:r_u8()
-- свойства cse_ph_skeleton
local skeleton_name = packet:r_stringZ()
local cse_ph_skeleton__unk1_u8 = packet:r_u8()
local cse_ph_skeleton__unk2_u16 = packet:r_u16()
local health = packet:r_float()
--устанавливаем логику
custom_data = "[logic]\ncfg = scripts\\btr\\"..logic..".ltx"
-- теперь заполняем нужные параметры
-- свойства cse_alife_object
packet:w_begin(game_vertex_id)
packet:w_float(cse_alife_object__unk1_f32)
packet:w_s32(cse_alife_object__unk2_s32)
packet:w_s32(level_vertex_id)
object_flags = bit_not(5) -- ~5 = 0xfffffffa
packet:w_s32(object_flags)
packet:w_stringZ(custom_data)
packet:w_s32(-1)
packet:w_s32(cse_alife_object__unk3_s32)
-- свойства cse_visual
packet:w_stringZ(model_visual)
packet:w_u8(cse_visual__unk1_u8)
-- свойства cse_ph_skeleton
skeleton_name = "idle"
packet:w_stringZ(skeleton_name)
packet:w_u8(cse_ph_skeleton__unk1_u8)
packet:w_u16(cse_ph_skeleton__unk2_u16)
health = 1
packet:w_float(health)
-- считываем скорректированные параметры
packet:r_seek(0)
obj:STATE_Read(packet, packet:w_tell())
return obj
end
Сам БТР у меня переопределен в отдельную секцию. Можно дописать в любой файл из config\creatures или в новый файл инклудом, главное не забыть потом, где искать, если что
"секция БТРа"
Код
[btr]
GroupControlSection = spawn_group
$spawn = "vehicles\vehicle_btr"
class = SCRPTCAR
cform = skeleton
visual = physics\vehicles\btr\veh_btr_u_01.ogf
actor_visual = physics\vehicles\btr\veh_btr_u_01.ogf
ef_equipment_type = 3
ph_mass = 100000
script_binding = bind_physic_object.init
Чтобы заставить БТР стрелять и ездить, нужно написать ему логику. В статье по настройке логики БТРы обошли стороной, придется разбираться по примерам логики БТРов из алл.спавна и АМК.
Логика БТРа должна находиться в ltx-файле по адресу config\scripts\btr\*.ltx, этот файл просто добавляешь, прописывать нигде не нужно.