interesting.
it appears the code does not work for all tank weapons as of yet.
maybe it needs to be on a new template.
yes.
despite many attempts into making a panther G with AI gunner, it didn’t worked.
additional " strange " things that i noticed, is that even if i remove the driver, the panzer IV will still move.
and with those codes, if the tank gets destroyed, the chassy will disappear.
ai_aircraft_crew_ger{
_override:b=yes
"zombie:tag"{
}
"zombie_no_award:tag"{
}
}
germ_pzkpfw_IV_ausf_J_AI{
_use:t="base_pzkpfw_iv_ausf_j"
_use:t="germ_pzkpfw_IV_ausf_J_common_vehicle_sound"
item__iconOffset:p2=0.1, 0.15
item__iconScale:r=1.4
commanderCockpitFpsCamMaxAngle:p2=40.0, 5.0
gunner_cam_limit__useCockpitDir:b=yes
armorThicknessHull:p3=80.0, 30.0, 20.0
armorThicknessTurret:p3=50.0, 30.0, 30.0
"dm_parts__initializeKilled:list<t>"{
part:t="gun_barrel"
part:t="ex_decor_04"
part:t="ex_armor_turret_l_01"
part:t="ex_armor_turret_l_02"
part:t="ex_armor_turret_r_01"
part:t="ex_armor_turret_r_02"
part:t="ex_decor_r_01"
part:t="ex_decor_l_01"
part:t="ex_decor_r_09"
}
"disableDMParts:list<t>"{
part:t="ex_armor_04"
part:t="ex_armor_body_r_01"
part:t="ex_armor_body_r_02"
part:t="ex_armor_body_r_03"
part:t="ex_armor_body_r_05"
part:t="ex_armor_body_l_01"
part:t="ex_armor_body_l_02"
part:t="ex_armor_body_l_03"
part:t="track_r_01"
part:t="track_l_01"
}
"animchar__objTexReplace:object"{
"ger_camo_dunkelgelb*":t="ger_camo_dark_grey*"
}
"turrets__initAmmoDistribution:array"{
"ammo:object"{
slot:i=0
fill:b=yes
}
"ammo:object"{
slot:i=5
count:i=7
}
}
"turret_control__turretInfo:shared:array"{
"turretInfo:object"{
turretName:t="turret_01"
gun:t="pzkpfw_iv_ausf_j_turret_01_75mm_kwk40_l48_zombie_ai+turret_with_several_types_of_shells+main_turret"
barrelDm:t="gun_barrel"
breechDm:t="cannon_breech"
verDriveDm:t="drive_turret_v"
horDriveDm:t="drive_turret_h"
salt:i=1
}
"turretInfo:object"{
turretName:t="turret_02"
gun:t="pzkpfw_iv_ausf_j_turret_02_7_92mm_mg34"
barrelDm:t="gun_barrel_01"
salt:i=1
}
"turretInfo:object"{
turretName:t="turret_03"
gun:t="pzkpfw_iv_ausf_j_turret_03_7_92mm_mg34"
barrelDm:t="gun_barrel_02"
salt:i=1
}
"turretInfo:object"{
turretName:t="turret_04"
needsAssignedGunner:b=no
turretGroup:t="smoke"
gun:t="pzkpfw_iv_ausf_j_turret_04_91mm_germ_smoke_mortar_launcher"
salt:i=1
}
}
"vehicle_seats__effectors:array"{
}
"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="germ_pzkpfw_IV_ausf_J_gunner_cockpit"
directTurretControl:b=yes
"turretNames:array"{
turret:t="turret_01"
turret:t="turret_02"
}
}
"seats:object"{
name:t="commander"
locName:t="vehicle_seats/commander"
attachNode:t="bone_turret_01"
shouldHideOwner:b=yes
hatchRotationAxis:p3=1.8, 0.0, 0.0
maxPosWithOpenHatch:r=0.6
ignoreAttachNodeRotation:b=yes
attachTm:m=[[0.945513, -0.325564, -0.0] [0.325564, 0.945513, 0.0] [0.0, -0.0, 1.0] [-0.15, -0.6, 0.07]]
seatComponent:t="isDriver"
receiveDamageFromDMPart:t="commander"
cockpitTemplate:t="germ_pzkpfw_IV_ausf_J_commander_cockpit"
cameraNodeName:t="bone_turret"
isHatchControlInversed:b=yes
"hatchNodes:array"{
node:t="hatch_10"
}
"hatchTurretNames:array"{
turret:t="turret_03"
}
"effectors:object"{
"l.hand:object"{
rel_tm:m=[[0.97117, 0.237519, 0.020345] [0.0889659, -0.440294, 0.893435] [0.221165, -0.865868, -0.448731] [0.0157318, 0.0978909, -0.0356903]]
node:t="bone_mg_aa"
}
"r.hand:object"{
rel_tm:m=[[0.457892, 0.365741, -0.810288] [-0.0172946, -0.907617, -0.419446] [-0.888839, 0.206074, -0.409265] [-0.229507, 0.231809, 0.0531616]]
node:t="bone_mg_aa"
}
"l.foot:object"{
rel_tm:m=[[0.0580978, -0.998205, -0.0145364] [0.985102, 0.0596839, -0.161282] [0.16186, -0.00494957, 0.986801] [-0.108994, -0.703663, -0.106209]]
node:t="bone_turret_01"
}
"r.foot:object"{
rel_tm:m=[[0.0380384, -0.999241, 0.00848966] [0.998773, 0.0382875, 0.0314126] [-0.0317138, 0.00728441, 0.99947] [-0.107773, -0.709267, 0.0740204]]
node:t="bone_turret_01"
}
}
}
"seats:object"{
locName:t="vehicle_seats/loader"
attachNode:t="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"
}
}
"seats:object"{
locName:t="vehicle_seats/radioman"
attachNode:t="machine_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="isPassenger"
shouldHideOwner:b=yes
receiveDamageFromDMPart:t="machine_gunner"
}
}
"attach_decorators__entities:list<eid>"{
}
"attach_decorators__templates:array"{
"templates:object"{
relativeTm:m=[[-0.0397046, 0.0454239, 0.998744] [0.967918, -0.251643, 0.0499252] [0.253322, 0.967741, -0.0339445] [2.76668, 0.972928, 0.175631]]
template:t="sandbag_single_a_decor"
nodeName:t="root"
}
"templates:object"{
relativeTm:m=[[0.081971, -0.153297, 0.985157] [-0.996855, 0.00849219, 0.084274] [-0.0212712, -0.988288, -0.152036] [-1.83018, 1.7214, 0.417252]]
template:t="sandbag_single_b_decor"
nodeName:t="root"
}
"templates:object"{
relativeTm:m=[[0.895648, -0.444415, -0.0393434] [-0.0748249, -0.0626309, -0.995828] [0.43985, 0.894302, -0.0893016] [2.54849, 1.02297, -0.694606]]
template:t="sandbag_single_c_decor"
nodeName:t="root"
}
"templates:object"{
relativeTm:m=[[-0.111425, 0.0469708, -0.992893] [-0.986354, -0.13076, 0.104539] [-0.12486, 0.990557, 0.060867] [-1.90656, 1.57031, -0.116939]]
template:t="sandbag_single_c_decor"
nodeName:t="root"
}
"templates:object"{
relativeTm:m=[[-0.0242969, 0.0301522, -0.99997] [-0.822296, 0.569102, 0.0371379] [0.569719, 0.822443, 0.0109577] [2.30269, 1.13923, 0.595828]]
template:t="sandbag_single_d_decor"
nodeName:t="root"
}
"templates:object"{
relativeTm:m=[[0.999203, 0.0216646, 0.0396109] [0.0398049, -0.00840105, -0.999206] [-0.0213138, 0.999898, -0.00925717] [-1.74838, 1.69718, -0.987704]]
template:t="tank_decor_box_01_decor"
nodeName:t="root"
}
"templates:object"{
relativeTm:m=[[0.999898, -1.32487e-05, -0.00263915] [-0.00263822, 0.0298302, -0.999728] [9.19911e-05, 0.999905, 0.0298331] [-1.71437, 1.68709, 0.994935]]
template:t="tank_decor_box_01_decor"
nodeName:t="root"
}
"templates:object"{
relativeTm:m=[[-0.00899908, -0.984255, 0.176703] [-0.999205, 0.0176307, 0.0473065] [-0.049663, -0.176088, -0.983386] [-1.92053, 1.48771, 1.38156]]
template:t="jerrycan"
nodeName:t="root"
}
"templates:object"{
relativeTm:m=[[-0.0272856, -0.935949, -0.351771] [0.998021, -0.0467129, 0.0468484] [-0.0602505, -0.349653, 0.935096] [-1.76068, 1.48194, -1.40904]]
template:t="jerrycan"
nodeName:t="root"
}
"templates:object"{
relativeTm:m=[[0.0133902, -0.501274, -0.000135187] [0.501274, 0.0133862, -0.000170138] [0.000173672, -0.000130378, 0.501073] [-0.832581, 0.969506, -1.44889]]
template:t="wooden_plank_b_decor"
nodeName:t="root"
}
"templates:object"{
relativeTm:m=[[0.00802108, -0.501514, -0.00013519] [0.501514, 0.0080189, -0.0001731] [0.000175217, -0.000132064, 0.501123] [1.54306, 0.989046, 1.42528]]
template:t="wooden_plank_b_decor"
nodeName:t="root"
}
"templates:object"{
relativeTm:m=[[0.00845192, -0.501394, 0.000187221] [0.501275, 0.00845121, 0.00782867] [-0.00782971, 5.51534e-05, 0.500845] [1.43285, 1.02978, -1.46294]]
template:t="wooden_plank_c_decor"
nodeName:t="root"
}
"templates:object"{
relativeTm:m=[[0.00606502, -0.501254, -0.000181364] [0.501448, 0.00605729, 0.00982283] [-0.00980991, -0.000299887, 0.500932] [-0.705231, 1.04167, 1.40337]]
template:t="wooden_plank_c_decor"
nodeName:t="root"
}
}
}
zombie_panther_g_ai_vehicle_tank{
_use:t="ai_vehicle_tank_no_objective"
_use:t="germ_pzkpfw_V_ausf_g_panther"
paid_loot__pointsForKill:i=100
vehicle_seats__restrictToTeam:i=3
"dontCreateNphysObstacle:tag"{
}
"zombie:tag"{
}
_group{
_tags:t="server"
ai_vehicle_tank__pathFindingState:i=0
zombie_ai_vehicle_tank__timeToDestroy:r=0.0
zombie_ai_vehicle_tank__destroyAtTime:r=0.0
ai_vehicle_tank__ignoreBattleArea:b=yes
}
}
germ_pzkpfw_V_ausf_g_panther{
_override:b=yes
"animchar__objTexReplace:object"{
"ger_camo_dunkelgelb*":t="ger_camo_dark_grey*"
}
"turret_control__turretInfo:shared:array"{
"turretInfo:object"{
turretName:t="turret_01"
gun:t="pzkpfw_v_ausf_g_panther_turret_01_75mm_kwk42_ai+turret_with_several_types_of_shells+main_turret"
barrelDm:t="gun_barrel"
breechDm:t="cannon_breech"
verDriveDm:t="drive_turret_v"
horDriveDm:t="drive_turret_h"
salt:i=1
}
"turretInfo:object"{
turretName:t="turret_02"
gun:t="pzkpfw_v_ausf_g_panther_turret_02_7_92mm_mg34"
barrelDm:t="gun_barrel_01"
verDriveDm:t="drive_turret_v"
horDriveDm:t="drive_turret_h"
salt:i=1
}
"turretInfo:object"{
turretName:t="turret_03"
gun:t="pzkpfw_v_ausf_g_panther_turret_03_7_92mm_mg34"
barrelDm:t="gun_barrel_02"
verDriveDm:t="drive_turret_v"
horDriveDm:t="drive_turret_h"
salt:i=1
}
}
}
pzkpfw_v_ausf_g_panther_turret_01_75mm_kwk42_ai{
_use:t="pzkpfw_v_ausf_g_panther_turret_01_75mm_kwk42"
turret__allowShootingFromBroken:b=no
_group{
_tags:t="server"
tank_turret_ai__maxBurstCount:i=0
tank_turret_ai__longPauseWaitTime:r=0.0
tank_turret_ai__attackDist:r=80.0
}
}
zombie_pzv_ai_vehicle_tank{
_use:t="ai_vehicle_tank_no_objective"
_use:t="germ_pzkpfw_IV_ausf_J_AI"
paid_loot__pointsForKill:i=100
vehicle_seats__restrictToTeam:i=3
"dontCreateNphysObstacle:tag"{
}
"zombie:tag"{
}
_group{
_tags:t="server"
ai_vehicle_tank__pathFindingState:i=0
zombie_ai_vehicle_tank__timeToDestroy:r=0.0
zombie_ai_vehicle_tank__destroyAtTime:r=0.0
ai_vehicle_tank__ignoreBattleArea:b=yes
}
}
guess we’ll have to manually tweak and replicate more panzer IVs intol different animchars and phys of other vehicles.