How did i miss that
Updated the 2 blks above.
Or it’s because of ta se.
One ta-se wont kill the game
In my final map it would be like 1 or 2 tanks per 3 waves or so, so it really dont matter unless players store them to crash the game
and kinda want the ta-se cuz its so funny to see players get killed by the one of the most underrated tanks in the whole game (well people dont know how to use it so they call it bad, it shreds stuarts so i love it(also people in this case with the fast moving turret))
For tnt you create medkit box. Everything is same, but in useful_box__giveItem you use ger_tnt_block (or any other tnt_block). Also it would be good to set satchel_charge_char in animchar__res and items/tnt_block in useful_box__hintFull property. You also can change image. For that you can set tnt_charge_icon in hud_icon__image.
And then nearby with fake medkit box you need to put tnt_block_exploder with +item_in_world+paid_loot_item with postfix templates. Better to set 0 in paid_loot__cost.
For mines… Probably better to make seperate entities. Here is code:
base_antipersonnel_mine_item{
_use:t="tnt_block_exploder"
_use:t="item_gun"
animchar__res:t="satchel_charge_char"
item__template:t="ger_antipersonnel_mine+disable_item_drop"
item__weapTemplate:t="ger_antipersonnel_mine+disable_item_drop"
item__name:t="items/antipersonnel_mine"
gun__locName:t="antipersonnel_mine"
}
ger_antipersonnel_mine_item{
_use:t="base_antipersonnel_mine_item"
animchar__res:t="sprengmine_35_char"
item__template:t="ger_antipersonnel_mine+disable_item_drop"
item__weapTemplate:t="ger_antipersonnel_mine+disable_item_drop"
}
ussr_antipersonnel_mine_item{
_use:t="base_antipersonnel_mine_item"
animchar__res:t="pomz_2_mine_char"
item__template:t="ussr_antipersonnel_mine+disable_item_drop"
item__weapTemplate:t="ussr_antipersonnel_mine+disable_item_drop"
}
usa_antipersonnel_mine_item{
_use:t="base_antipersonnel_mine_item"
animchar__res:t="m2a3_mine_char"
item__template:t="usa_antipersonnel_mine+disable_item_drop"
item__weapTemplate:t="usa_antipersonnel_mine+disable_item_drop"
}
uk_antipersonnel_mine_item{
_use:t="base_antipersonnel_mine_item"
animchar__res:t="uk_ap_mine_mk1_char"
item__template:t="uk_antipersonnel_mine+disable_item_drop"
item__weapTemplate:t="uk_antipersonnel_mine+disable_item_drop"
}
it_antipersonnel_mine_item{
_use:t="base_antipersonnel_mine_item"
animchar__res:t="ita_vaudagna_b4_mine_char"
item__template:t="it_antipersonnel_mine+disable_item_drop"
item__weapTemplate:t="it_antipersonnel_mine+disable_item_drop"
}
jp_antipersonnel_mine_item{
_use:t="base_antipersonnel_mine_item"
animchar__res:t="type_3_mine_char"
item__template:t="jp_antipersonnel_mine+disable_item_drop"
item__weapTemplate:t="jp_antipersonnel_mine+disable_item_drop"
}
base_antitank_mine_item{
_use:t="tnt_block_exploder"
_use:t="item_gun"
animchar__res:t="antitank_mine_char"
item__template:t="ger_antitank_mine+disable_item_drop"
item__weapTemplate:t="ger_antitank_mine+disable_item_drop"
item__name:t="items/antitank_mine"
gun__locName:t="antitank_mine"
}
ger_antitank_mine_item{
_use:t="base_antitank_mine_item"
animchar__res:t="tellermine_35_char"
item__template:t="ger_antitank_mine+disable_item_drop"
item__weapTemplate:t="ger_antitank_mine+disable_item_drop"
}
ussr_antitank_mine_item{
_use:t="base_antitank_mine_item"
animchar__res:t="tm_41_char"
item__template:t="ussr_antitank_mine+disable_item_drop"
item__weapTemplate:t="ussr_antitank_mine+disable_item_drop"
}
usa_antitank_mine_item{
_use:t="base_antitank_mine_item"
animchar__res:t="m1_antitank_mine_char"
item__template:t="usa_antitank_mine+disable_item_drop"
item__weapTemplate:t="usa_antitank_mine+disable_item_drop"
}
uk_antitank_mine_item{
_use:t="base_antitank_mine_item"
animchar__res:t="uk_at_mine_gs_mark_v_char"
item__template:t="uk_antitank_mine+disable_item_drop"
item__weapTemplate:t="uk_antitank_mine+disable_item_drop"
}
it_antitank_mine_item{
_use:t="base_antitank_mine_item"
animchar__res:t="ita_pignone_type_II_at_mine_char"
item__template:t="it_antitank_mine+disable_item_drop"
item__weapTemplate:t="it_antitank_mine+disable_item_drop"
}
jp_antitank_mine_item{
_use:t="base_antitank_mine_item"
animchar__res:t="type_93_mine_char"
item__template:t="jp_antitank_mine+disable_item_drop"
item__weapTemplate:t="jp_antitank_mine+disable_item_drop"
}
And then you will able find them in weapons. Need add only create them with +paid_loot_item postfix template.
Keep in mind that mines and exploder can be only one in slot (for mines I added +disable_item_drop, because else you will able accidently pickup another one and lost old one mine). TNT is unlimited. Later I’ll try make mines too unlimited in slot, but I’m not sure that I can really do it.
btw how to fix the tank ai problem for the event tank? I think it also broke
And just to ask if there is a way to make custom briefing
Wait what are point 2,3 and 4
The halftrack is moving and shooting!.. but only left mg is firing (and somehow only the right mg is going red hot)
What do you mean? I tested on your map yesterday and they worked fine.
Yeah… You can write your text instead wave_briefing/welcome.
Data types. That allows to use info like “0.1, 12.3” (p2) in properties.
With these new options… Now we can add custom weather inside level__weatherChoice in editor without editing scene file.
Could you show vehicle seats code? You can just screenshot properties panel.
Oh… thats way more convenient than i have ever thought
Good! (Even though i delete everything except one to make the time of day of my map static)
...
"vehicle_seats__seats:shared:array"{
"seats:object"{
directTurretControl:b=yes
name:t="main_gunner"
locName:t="vehicle_seats/gunner"
attachNode:t="gunner"
ignoreAttachNodeRotation:b=yes
attachTm:m=[[0.90628, 0.4227, 8.74272e-16] [-0.4227, 0.906281, 5.83326e-09] [2.4657e-09, -5.28653e-09, 1.00001] [-0.21, -0.3, 0.0]]
seatComponent:t="isGunner"
nextSeat:t="driver"
shouldHideOwner:b=no
receiveDamageFromDMPart:t="gunner"
cameraNodeName:t="bone_camera_gunner"
cockpitTemplate:t="us_halftrack_m13_gunner_cockpit"
directTurretControl:b=yes
cameraOffset:p3=-0.35, 0.2, 0.0
maxPosWithOpenHatch:r=0.0
hatchRotationAxis:p3=0.0, 0.0, 0.0
canLoadInHatch:b=yes
isHoldGunModeAllowed:b=no
useHatchEffectors:b=yes
"turretNames:array"{
turretNames:t="turret_01"
turretNames:t="turret_02"
}
"hatchTurretNames:array"{
turret:t="turret_01"
turret:t="turret_02"
}
"hatchNodes:array"{
node:t="hatch_01"
}
"loaderTurretNames:array"{
turret:t="turret_01"
turret:t="turret_02"
}
"effectors:object"{
"l.hand:object"{
rel_tm:m=[[1.0, 0.0, 0.0] [0.0, 1.0, 0.0] [0.0, 0.0, 1.0] [-0.0, -0.0, 0.0]]
node:t="lefthand_2"
}
"r.hand:object"{
rel_tm:m=[[1.0, 0.0, 0.0] [0.0, 1.0, 0.0] [0.0, 0.0, 1.0] [-0.0, -0.0, 0.0]]
node:t="righthand_2"
}
"l.foot:object"{
rel_tm:m=[[1.0, -0.000134336, 0.00109565] [0.000133743, 1.0, 0.000674367] [-0.00109572, -0.000674196, 0.999999] [-0.02948, -0.0187607, 0.00164175]]
node:t="pedal_lfoot_2"
}
"r.foot:object"{
rel_tm:m=[[0.999999, 3.96237e-06, 0.00119497] [-4.91767e-06, 1.0, 0.000759456] [-0.00119502, -0.000759482, 0.999999] [-0.0288086, -0.0186996, -0.000524521]]
node:t="pedal_rfoot_2"
}
}
}
"seats:object"{
name:t="driver"
locName:t="vehicle_seats/driver"
seatOwnsEntityControl:b=yes
attachNode:t="driver"
ignoreAttachNodeRotation:b=yes
attachTm:m=[[1.0, 0.0, 0.0] [0.0, 1.0, 0.0] [0.0, 0.0, 1.0] [-0.07, 0.21, -0.15]]
seatComponent:t="isDriver"
nextSeat:t="main_gunner"
shouldHideOwner:b=no
receiveDamageFromDMPart:t="driver"
cameraNodeName:t="bone_camera_driver"
cockpitTemplate:t="us_halftrack_m13_driver_cockpit"
seatAnimUpper:t="drive_passenger"
seatAnimLower:t="drive_passenger"
"effectors:object"{
"l.hand:object"{
rel_tm:m=[[0.808712, -0.032106, -0.587329] [0.571561, 0.278741, 0.771765] [0.138934, -0.95983, 0.243772] [0.0898285, 0.0626068, -0.117208]]
node:t="lefthand_1"
}
"r.hand:object"{
rel_tm:m=[[0.457613, -0.734383, -0.501273] [0.536842, 0.67761, -0.502639] [0.708796, -0.0390896, 0.704329] [0.0498199, 0.0408497, 0.0346947]]
node:t="righthand_1"
}
"l.foot:object"{
rel_tm:m=[[0.978776, 0.185353, 0.0874309] [-0.177178, 0.979724, -0.0935323] [-0.102995, 0.0760563, 0.99177] [-0.0876465, 0.0129089, 0.0589943]]
node:t="pedal_lfoot_1"
}
"r.foot:object"{
rel_tm:m=[[0.916721, 0.39311, -0.0713319] [-0.389451, 0.919087, 0.0600619] [0.0891712, -0.0272797, 0.995643] [-0.0805817, 0.0190582, -0.018856]]
node:t="pedal_rfoot_1"
}
}
}
"seats:object"{
name:t="machine_gunner"
locName:t="vehicle_seats/commander"
attachNode:t="commander"
shouldHideOwner:b=no
ignoreAttachNodeRotation:b=yes
attachTm:m=[[1.0, 0.0, 0.0] [0.0, 1.0, 0.0] [0.0, 0.0, 1.0] [-0.12, 0.36, 0.11]]
seatComponent:t="isPassenger"
isHoldGunModeAllowed:b=no
receiveDamageFromDMPart:t="commander"
seatAnimUpper:t="drive_passenger"
seatAnimLower:t="drive_passenger"
canPlaceManually:b=yes
"effectors:object"{
"l.hand:object"{
rel_tm:m=[[-0.0140025, -0.992501, 0.121439] [0.999274, -0.0095886, 0.0368515] [-0.0354104, 0.121867, 0.991914] [-0.208267, -0.674889, -0.117278]]
node:t="lefthand_3"
}
"r.hand:object"{
rel_tm:m=[[0.512722, 0.185274, -0.838326] [0.215913, 0.917232, 0.334765] [0.830962, -0.352646, 0.430281] [-0.151245, -0.0606141, 0.0719528]]
node:t="righthand_3"
}
"l.foot:object"{
rel_tm:m=[[0.988051, 0.152243, 0.024008] [-0.150694, 0.98695, -0.0567607] [-0.0323361, 0.0524647, 0.9981] [-0.104599, -0.033783, 0.0100501]]
node:t="pedal_lfoot_3"
}
"r.foot:object"{
rel_tm:m=[[0.959544, 0.273328, 0.067583] [-0.273181, 0.961893, -0.0115871] [-0.0681747, -0.00734403, 0.997647] [-0.0914841, -0.0504913, 0.00846291]]
node:t="pedal_rfoot_3"
}
}
}
}
}
us_halftrack_m13_common{
_override:b=yes
gunner_cam_limit__useCockpitDir:b=yes
commanderCockpitFpsCamMaxAngle:p2=40.0, 5.0
}
halftrack_m13_turret_01_12_7mm_m2_hb_user_machinegun_for_m15{
_override:b=yes
_group{
_tags:t="server"
tank_turret_ai__maxBurstCount:i=250
tank_turret_ai__longPauseWaitTime:r=0.0
tank_turret_ai__attackDist:r=100.0
}
}
halftrack_m13_turret_02_12_7mm_m2_hb_user_machinegun_for_m15{
_override:b=yes
_group{
_tags:t="server"
tank_turret_ai__maxBurstCount:i=250
tank_turret_ai__longPauseWaitTime:r=0.0
tank_turret_ai__attackDist:r=100.0
}
}
Btw the update messed some minor thing up. The victory message now dont go away unless i close mod editor (i.e. using restart button dont clear it anymore so the hud is gone if i dont restart the editor)
No idea. Later I’ll try to do something, but i’m not sure that I can.
Have you updated to the latest version? Opening scoreboard will “fix” this problem.
yes i always check for updates when i start my pc
Ah yes! You need to find the file unlock/id/p47firstFlight_event_s3t1/description to kill 120 enemies using a vehicle. LOL
I am just wondering if rockets can be used by ai tankers
If you have time, you can send me the seat data of this thing and i will go ahead and test if it works
I will test if na-to works or not tonight
@Devenddar another small update 0.5.6.52 was released like a few minutes ago (the last version was 0.5.6.44 with the graphics update)
Conclusion: Spgs does work flawlessly but its kind of point less in my map. I would use them when i make my tank vs tank defense. But for that map i need a player_profile and a way to make it fun (cant just spawn as tiger or some sort of op tank at first but also cant be weak stuff as i have no idea how to do like a tank gun game thingy)
"vehicle_seats__seats:shared:array"{
"seats:object"{
name:t="commander"
locName:t="vehicle_seats/commander"
locName:t="vehicle_seats/commander"
attachNode:t="commander"
shouldHideOwner:b=yes
ignoreAttachNodeRotation:b=yes
attachTm:m=[[1.0, 0.0, 0.0] [0.0, 1.0, 0.0] [0.0, 0.0, 1.0] [-0.35, 0.285, 0.2]]
cockpitTemplate:t="germ_panzerwerfer_42_commander_cockpit"
cameraType:t="commander"
seatComponent:t="isDriver"
receiveDamageFromDMPart:t="commander"
"turretNames:array"{
turretNames:t="turret_01"
}
}
"seats:object"{
name:t="main_gunner"
locName:t="vehicle_seats/gunner"
shouldHideOwner:b=yes
attachNode:t="gunner"
ignoreAttachNodeRotation:b=yes
attachTm:m=[[1.0, 0.0, 0.0] [0.0, 1.0, 0.0] [0.0, 0.0, 1.0] [-0.25, -0.5, 0.0]]
seatComponent:t="isGunner"
nextSeat:t="driver"
receiveDamageFromDMPart:t="gunner"
cameraNodeName:t="bone_camera_gunner"
cockpitTemplate:t="germ_panzerwerfer_42_gunner_cockpit"
"turretNames:array"{
turretNames:t="turret_02"
}
}
"seats:object"{
name:t="driver"
locName:t="vehicle_seats/driver"
seatOwnsEntityControl:b=yes
attachNode:t="driver"
ignoreAttachNodeRotation:b=yes
shouldHideOwner:b=yes
attachTm:m=[[1.0, 0.0, 0.0] [0.0, 1.0, 0.0] [0.0, 0.0, 1.0] [-0.25, -0.25, 0.0]]
seatComponent:t="isDriver"
nextSeat:t="main_gunner"
receiveDamageFromDMPart:t="driver"
cameraNodeName:t="bone_camera_driver"
cockpitTemplate:t="germ_panzerwerfer_42_driver_cockpit"
}
}
Custom Profiles - Another look (Guide)
Also I recommend check comments.
Yep i have checked that before but it would take me months so i would rather not start doing that before my yearly exam.
Ok i tried, the rocket launcher doesn’t do anything but the mg42 does fire if i add directTurretControl:b=yes to the commander
panzerwerfer_42_ai_vehicle_tank{
bodyCleanupTime:r=30.0
_use:t="ai_vehicle_tank_fixed_objective"
_use:t="germ_panzerwerfer_42_common"
_use:t="ai_aircraft_crew_ger"
paid_loot__pointsForKill:i=500
vehicle_seats__restrictToTeam:i=3
ai_aircraft_crew__soldier_template:t="zombie_ai_vehicle_tank_crew_member"
"dontCreateNphysObstacle:tag"{
}
"zombie:tag"{
}
_group{
_tags:t="server"
ai_vehicle_tank__pathFindingState:i=1
ai_vehicle_tank__ignoreBattleArea:b=yes
}
"vehicle_seats__seats:shared:array"{
"seats:object"{
directTurretControl:b=yes
name:t="commander"
locName:t="vehicle_seats/commander"
attachNode:t="commander"
shouldHideOwner:b=yes
ignoreAttachNodeRotation:b=yes
attachTm:m=[[1.0, 0.0, 0.0] [0.0, 1.0, 0.0] [0.0, 0.0, 1.0] [-0.35, 0.285, 0.2]]
cockpitTemplate:t="germ_panzerwerfer_42_commander_cockpit"
cameraType:t="commander"
seatComponent:t="isDriver"
receiveDamageFromDMPart:t="commander"
"turretNames:array"{
turretNames:t="turret_01"
}
}
"seats:object"{
directTurretControl:b=yes
name:t="main_gunner"
locName:t="vehicle_seats/gunner"
shouldHideOwner:b=yes
attachNode:t="gunner"
ignoreAttachNodeRotation:b=yes
attachTm:m=[[1.0, 0.0, 0.0] [0.0, 1.0, 0.0] [0.0, 0.0, 1.0] [-0.25, -0.5, 0.0]]
seatComponent:t="isGunner"
nextSeat:t="driver"
receiveDamageFromDMPart:t="gunner"
cameraNodeName:t="bone_camera_gunner"
cockpitTemplate:t="germ_panzerwerfer_42_gunner_cockpit"
"turretNames:array"{
turretNames:t="turret_02"
}
}
"seats:object"{
name:t="driver"
locName:t="vehicle_seats/driver"
seatOwnsEntityControl:b=yes
attachNode:t="driver"
ignoreAttachNodeRotation:b=yes
shouldHideOwner:b=yes
attachTm:m=[[1.0, 0.0, 0.0] [0.0, 1.0, 0.0] [0.0, 0.0, 1.0] [-0.25, -0.25, 0.0]]
seatComponent:t="isDriver"
nextSeat:t="main_gunner"
receiveDamageFromDMPart:t="driver"
cameraNodeName:t="bone_camera_driver"
cockpitTemplate:t="germ_panzerwerfer_42_driver_cockpit"
}
}
}
germ_panzerwerfer_42_common{
_override:b=yes
gunner_cam_limit__useCockpitDir:b=yes
commanderCockpitFpsCamMaxAngle:p2=40.0, 5.0
}
panzerwerfer_42_turret_01_7_92mm_mg42{
_override:b=yes
_group{
_tags:t="server"
tank_turret_ai__maxBurstCount:i=150
tank_turret_ai__longPauseWaitTime:r=0.0
tank_turret_ai__attackDist:r=100.0
}
}
panzerwerfer_42_rocket{
_override:b=yes
_group{
_tags:t="server"
tank_turret_ai__maxBurstCount:i=2
tank_turret_ai__longPauseWaitTime:r=0.0
tank_turret_ai__attackDist:r=200.0
}
}
Btw 2 more questions
- I want to ask if i can stick zombie_spawn_zone to a vehicle so that it moves with the tank/apc, then it can punish players for not destroying the tank/apc like what we have in normal battles
- I want to ask if those titans work (i mean the titan rise april fool’s event, like Pz Trx, i dont care if they can use all turrets or rockets, i just want to see if they can path find)
(and i might need 2 more vehicle seat data, m1 abrums and t80uk, since i saw a map having every april fool’s content in my dream last night)
Don’t know. I haven’t tried it yet.
"vehicle_seats__seats:shared:array"{
"seats:object"{
name:t="driver"
locName:t="vehicle_seats/driver"
seatOwnsEntityControl:b=yes
attachNode:t="driver"
ignoreAttachNodeRotation:b=yes
attachTm:m=[[1.0, 0.0, 0.0] [0.0, 1.0, 0.0] [0.0, 0.0, 1.0] [-0.25, -0.25, 0.0]]
seatComponent:t="isDriver"
nextSeat:t="main_gunner"
shouldHideOwner:b=yes
receiveDamageFromDMPart:t="driver"
cameraOffset:p3=0.15, -0.0, -0.0
cockpitTemplate:t="ger_mbm_trixter_driver_cockpit"
}
"seats:object"{
name:t="main_gunner"
locName:t="vehicle_seats/gunner"
attachNode:t="gunner"
ignoreAttachNodeRotation:b=yes
attachTm:m=[[1.0, 0.0, 0.0] [0.0, 1.0, 0.0] [0.0, 0.0, 1.0] [-0.5, 0.4, -0.29]]
seatComponent:t="isGunner"
nextSeat:t="driver"
shouldHideOwner:b=yes
receiveDamageFromDMPart:t="gunner"
cameraNodeName:t="bone_camera_gunner"
cockpitTemplate:t="ger_mbm_trixter_gunner_cockpit"
hatchRotationAxis:p3=1.8, 0.0, 0.0
maxPosWithOpenHatch:r=0.4
seatAnimUpper:t="drive_driver"
seatAnimLower:t="drive_driver"
"turretNames:array"{
turret:t="turret_01"
turret:t="turret_07"
turret:t="turret_02"
turret:t="turret_03"
turret:t="turret_04"
turret:t="turret_05"
turret:t="turret_06"
turret:t="turret_08"
}
"hatchTurretNames:array"{
turret:t="turret_01"
turret:t="turret_07"
turret:t="turret_02"
turret:t="turret_03"
turret:t="turret_04"
turret:t="turret_05"
turret:t="turret_08"
}
"hatchNodes:array"{
node:t="commander_hatch_01"
node:t="commander_hatch_02"
}
}
"seats:object"{
locName:t="vehicle_seats/commander"
attachNode:t="commander"
shouldHideOwner:b=yes
ignoreAttachNodeRotation:b=yes
attachTm:m=[[1.0, 0.0, 0.0] [0.0, 1.0, 0.0] [0.0, 0.0, 1.0] [-0.05, 0.1, -0.14]]
seatComponent:t="isPassenger"
receiveDamageFromDMPart:t="commander"
"loaderTurretNames:array"{
turret:t="turret_02"
turret:t="turret_07"
}
}
}
"vehicle_seats__seats:shared:array"{
"seats:object"{
name:t="main_gunner"
locName:t="vehicle_seats/gunner"
attachNode:t="gunner"
ignoreAttachNodeRotation:b=yes
attachTm:m=[[1.0, 0.0, 0.0] [0.0, 1.0, 0.0] [0.0, 0.0, 1.0] [-0.25, -0.5, 0.0]]
seatComponent:t="isGunner"
nextSeat:t="driver"
shouldHideOwner:b=yes
receiveDamageFromDMPart:t="gunner"
cameraNodeName:t="bone_camera_gunner"
cockpitTemplate:t="us_m1a1_hc_abrams_gunner_cockpit"
"turretNames:array"{
turretNames:t="turret_01"
turretNames:t="turret_04"
}
}
"seats:object"{
name:t="driver"
locName:t="vehicle_seats/driver"
seatOwnsEntityControl:b=yes
attachNode:t="driver"
ignoreAttachNodeRotation:b=yes
attachTm:m=[[1.0, 0.0, 0.0] [0.0, 1.0, 0.0] [0.0, 0.0, 1.0] [-0.25, -0.25, 0.0]]
seatComponent:t="isDriver"
nextSeat:t="main_gunner"
shouldHideOwner:b=yes
receiveDamageFromDMPart:t="driver"
cameraNodeName:t="bone_camera_driver"
cockpitTemplate:t="us_m1a1_hc_abrams_driver_cockpit"
}
"seats:object"{
name:t="commander"
locName:t="vehicle_seats/commander"
locName:t="vehicle_seats/commander"
attachNode:t="commander"
shouldHideOwner:b=yes
hatchRotationAxis:p3=1.8, 0.0, 0.0
ignoreAttachNodeRotation:b=yes
attachTm:m=[[1.0, 0.0, 0.0] [0.0, 1.0, 0.0] [0.0, 0.0, 1.0] [-0.52, -0.35, 0.06]]
seatComponent:t="isDriver"
receiveDamageFromDMPart:t="commander"
cameraNodeName:t="bone_turret"
cockpitTemplate:t="us_m1a1_hc_abrams_commander_cockpit"
"hatchNodes:array"{
node:t="hatch_04"
}
"hatchTurretNames:array"{
turret:t="turret_02"
turret:t="turret_03"
}
}
"seats:object"{
attachNode:t="loader"
locName:t="vehicle_seats/loader"
ignoreAttachNodeRotation:b=yes
attachTm:m=[[1.0, 0.0, 0.0] [0.0, 1.0, 0.0] [0.0, 0.0, 1.0] [-0.25, -0.5, 0.0]]
seatComponent:t="isPassenger"
shouldHideOwner:b=yes
receiveDamageFromDMPart:t="loader"
cameraNodeName:t="bone_camera_driver"
"loaderTurretNames:array"{
turret:t="turret_01"
}
}
}
"vehicle_seats__seats:shared:array"{
"seats:object"{
name:t="driver"
locName:t="vehicle_seats/driver"
seatOwnsEntityControl:b=yes
attachNode:t="driver"
ignoreAttachNodeRotation:b=yes
attachTm:m=[[1.0, 0.0, 0.0] [0.0, 1.0, 0.0] [0.0, 0.0, 1.0] [-0.25, -0.25, 0.0]]
seatComponent:t="isDriver"
nextSeat:t="main_gunner"
shouldHideOwner:b=yes
receiveDamageFromDMPart:t="driver"
cameraNodeName:t="bone_camera_driver"
cameraOffset:p3=0.15, -0.0, -0.0
cockpitTemplate:t="ussr_t_80u_driver_cockpit"
}
"seats:object"{
name:t="main_gunner"
locName:t="vehicle_seats/gunner"
attachNode:t="gunner"
ignoreAttachNodeRotation:b=yes
attachTm:m=[[1.0, 0.0, 0.0] [0.0, 1.0, 0.0] [0.0, 0.0, 1.0] [-0.25, -0.5, 0.0]]
seatComponent:t="isGunner"
nextSeat:t="driver"
shouldHideOwner:b=yes
receiveDamageFromDMPart:t="gunner"
cameraNodeName:t="bone_camera_gunner"
cockpitTemplate:t="ussr_t_80u_gunner_cockpit"
"turretNames:array"{
turret:t="turret_01"
turret:t="turret_02"
}
}
"seats:object"{
name:t="commander"
locName:t="vehicle_seats/commander"
attachNode:t="commander"
shouldHideOwner:b=yes
hatchRotationAxis:p3=1.4, 0.0, 0.0
maxPosWithOpenHatch:r=0.7
ignoreAttachNodeRotation:b=yes
attachTm:m=[[1.0, 0.0, 0.0] [0.0, 1.0, 0.0] [0.0, 0.0, 1.0] [-0.38, 0.3, 0.0]]
seatComponent:t="isDriver"
receiveDamageFromDMPart:t="commander"
cameraNodeName:t="bone_turret"
cockpitTemplate:t="ussr_t_80u_commander_cockpit"
"hatchNodes:array"{
node:t="hatch_01"
}
"hatchTurretNames:array"{
turret:t="turret_03"
}
}
}
You can always ask Bazsi37, Yopsius, ErikaKalkbrenner and maybe PrivateRyan44 how it’s done. Or you can always get info from properties panel: