Questions about stationary machineguns and vehicle turrets

Hi modders!

I’m trying to create a conquest mod based on the nord African teatre of 1940 with custom squads of only Italian vs commonwealth soldiers (shout out to @Bazsi37 and @ErikaKalkbrenner for Custom Profiles - Another look (Guide) and All Clothing list ( Updated ) wich are helping me a lot)

to make the mod more immersive I’m trying to create some weapons and vehicles of the Italian army that currently (kinda) aren’t in Enlisted… But I’m a complete noob…
Recently Holy @Devenddar helped me building a custom stationary machinegun and on the base of his Entities.Blk file I tried to create other machineguns and it worked

so my first question is:
Is it possible to create custom stationary machineguns with vehicles turrets?

The breda_88 has a perfectly modeled Breda-safat mg in the back:


I tought I could (modifing a bit the entities_blk file of the custom machinegun) use it to create a custom 50 cal mg using the stationary_type_93_hmg as a base and editing the sound_shot_path (i was trying to use the sound of the breda_safat_12_7 that we can find in basically every italian aircraft in the game) as well as the shells

so I tried to spawn it as an entity
Screenshot 2023-12-19 120632

but I couldn’t find the animchar_res inside the property_panel and I got stuck…

so that brings me to the second question:
Is it actually possible to spawn only the turret of a vehicle?

Hope I managed to explain myself :sweat_smile:
Grazie mille in advance!

3 Likes

Good question. Isn’t the gunner’s position part of the aircraft model? Only the gun can be placed i think.

Send us the entities.blk please.

On a second thought, we have those premium half tracks, the turret could be used…

1 Like

technically, yes.

matter of fact, the train turret being used in the train mode is one.

geschutz_wagen_artillerie_turret.blkx.txt (6.6 KB)

so, what you can do, is change the turret to other stuff.

hence, you may be able to change a stationary turret and create one with other visuals. but it’s mostly through entities.

i recommend to you to watch this:

( use a translator, it should do the work )

no and yes.

you can, but it’s more of a spawn the whole tank and hide most of it’s body and change the collision,
( can work on planes too, but you’ll have to hide the model )

similar to how the " flying " panzer IV turret ( also being used in the train ) works.

for best info, only @tommyZZM and @Devenddar knows more than i can.

worthed to note, we cannot change bones nor the position of where guns are.

3 Likes

entities.blk

big_action_kv_2_bunker_turret_gunner_cockpit{
  _use:t="base_gunner_cockpit"
  animchar__res:t="ba_11_gunner_char"
  cockpit__offset:p3=0.0, -0.30, 0.115 //first one X, second is Z third Y

  "cockpit__attachNodeNames:list<t>"{
    node:t="bone_camera_gunner"
  }

  "cockpit__cockpitOffsetBySlit:list<p3>"{
    slit:p3=-0.5, -0.07, 0.2
  }

  "cockpit__attachNodeIndices:list<i>"{
  }

  "cockpit__visibleVehicleNodeNames:list<t>"{
    node:t="gun_barrel"
    node:t="@root"
    node:t="bone_gun"
  }

  "cockpit__slitNodeNames:list<t>"{
    slit:t="cam_front_right"
  }

  "cockpit__slitForwardOffset:list<r>"{
    slit:r=0.22
  }

  "cockpit__slitIsGun:list<b>"{
    slit:b=yes
  }

  "cockpit__periscopeLimits:list<p4>"{
    slit:p4=-0.0, 0.0, 0.0, 0.0
  }

  "cockpit__periscopeSpeed:list<p2>"{
    slit:p2=-1.0, -1.0
  }

  "cockpit__slitZoom:array"{

    "slit:list<r>"{
      zoom:r=1.9
      zoom:r=3.5
    }
  }

  "cockpit__slitZoomTime:list<r>"{
    slit:r=0.05
  }

  "cockpit__slitTemplates:list<t>"{
    slit:t="ussr_tmfd_7"
  }

  "cockpit__slitEids:list<eid>"{
  }
}

big_action_kv_2_bunker_turret{
  _extends:t="big_action_base_bunker_turret"
  _use:t="big_action_base_bunker_turret"
  killLogName:t="Turret"
  animchar__res:t="kv_2_1939_char"
  phys_obj_net_phys__blk:t="%ugm/data/units/fixtures/is_2_turret.blk"
  collres__res:t="kv_2_1939_collision"
  dmg_animchar__res:t="kv_2_1939_dmg_char"
  xray_resource__modelName:t="kv_2_1939"
  damage_model__blk:t="%ugm/data/units/fixtures/is_2_turret.blk"
  vehicle__mapIcon:t="bunker"
  user_point__icon:t="bunker"
  repairable__baseRepairTotalTime:r=10
  repairable__baseRecoveryRatio:r=0.9
  // fortification_repair__cost:r=10
  // fortification_repair__costPercent:r=1
  building_menu__image:t="bunker"
  building_destroy__maxTimeToDestroy:r=999999
  buildingCost:r=16
  buildingRadius:r=5
  building_menu__text:t="vehicle/turret"
  useful_box__maxUseCount:i=0
  object__useDist:r=6
  destroyIfNoCrewLeft:b=no
  collision_damage__canBeOffender:b=no

  "turret_gun_flash_fx__flashNodes:shared:array"{
    node:t="emtr_gun_flame"
  }

  "turret_gun_flash_fx__flashFx:shared:array"{
    fx:t="muzzle_ground_150mm"
  }

  "turret_gun_flash_fx__flashFxScale:shared:array"{
    scale:r=1.0
  }

  "turret_control__emitterNodes:shared:array"{
    node:t="bone_gun_barrel"
  }

  "turret_control__animVars:shared:array"{

    "vars:object"{
      curYawParamName:t="turret_01_yaw"
      curPitchParamName:t="gun_01_pitch"
      aimActiveParamName:t="aim_01_active"
      paramYawSpeed:t="turret_01_yaw_speed"
      paramYawSpeedMul:t="turret_01_yaw_mul"
      paramYawAccel:t="turret_01_yaw_accel"
      paramMinYawAngle:t="turret_01_min_yaw_angle"
      paramMaxYawAngle:t="turret_01_max_yaw_angle"
      paramMinPitchAngle:t="turret_01_min_pitch_angle"
      paramMaxPitchAngle:t="turret_01_max_pitch_angle"
      paramPitchSpeed:t="gun_01_pitch_speed"
      paramPitchSpeedMul:t="gun_01_pitch_mul"
      paramPitchAccel:t="gun_01_pitch_accel"
      wishYawParamName:t="gun_01_aim:targetYaw"
      wishPitchParamName:t="gun_01_aim:targetPitch"
      gunRecoilParamName:t="gun_01_recoil"
    }
  }

  "turret_control__turretInfo:shared:array"{

    "turretInfo:object"{
      turretName:t="turret_01"
      gun:t="kv_2_1939_turret_01_152mm_m10t+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
    }
  }

  "turrets__initAmmoDistribution:array"{
    "turrets__initAmmoDistribution:object"{
      slot:i=1
      fill:b=yes
    }

    "turrets__initAmmoDistribution:object"{
      slot:i=2
      count:i=6
    }
  }

  "turretsInitialComponents:array"{
    "turretsInitialComponents:object"{
      turret__limit:p4=-120, 120, -3, 20
      gun__shotFreq:r=0.1

      "gun__shellsAmmo:array"{
        gun__shellsAmmo:i=6
        gun__shellsAmmo:i=6
        gun__shellsAmmo:i=6
      }
    }
  }

  "vehicle_seats__seats:shared:array"{
    "seats:object"{
      name:t="commander"
      locName:t="vehicle_seats/gunner"
      attachNode:t="commander"
      shouldHideOwner:b=yes
      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] [-1.2, -0.1, 0.87]]
      seatComponent:t="isGunner"
      nextSeat:t="driver"
      shouldHideOwner:b=yes
      receiveDamageFromDMPart:t="gunner"
      cameraNodeName:t="bone_camera_gunner"
	    cockpitTemplate:t="big_action_kv_2_bunker_turret_gunner_cockpit"

      "turretNames:array"{
        turret:t="turret_01"
      }

      "hatchNodes:array"{
        node:t="hatch_01"
      }

      "loaderTurretNames:array"{
        loaderTurretNames:t="turret_01"
      }
    }
  }

  "dm_parts__repairGroups:object"{

    "1:list<t>"{
      item:t="drive_turret_v"
      item:t="drive_turret_h"
      item:t="gun_barrel"
      item:t="gun_barrel_01"
      item:t="cannon_breech"
    }
  }

  "disableDMParts:list<t>"{
    item:t="@root"
    item:t="ammo"
    item:t="engine"
    item:t="transmission"
    item:t="fuel_tank"
    item:t="driver"
    item:t="ex_decor_r_01"
    item:t="ex_decor_r_02"
    item:t="ex_decor_r_03"
    item:t="ex_decor_r_04"
    item:t="ex_decor_r_05"
    item:t="ex_decor_r_06"
    item:t="ex_decor_l_01"
    item:t="ex_decor_l_02"
    item:t="ex_decor_l_03"
    item:t="ex_decor_l_04"
    item:t="ex_decor_l_05"
    item:t="ex_decor_l_06"
    item:t="ex_lantern"
    item:t="ex_lantern_b"
    item:t="ex_decor_01"
    item:t="ex_decor_02"
    item:t="ex_decor_03"
    item:t="wheel_r_01"
    item:t="wheel_r_02"
    item:t="wheel_r_03"
    item:t="wheel_r_04"
    item:t="wheel_r_05"
    item:t="wheel_r_06"
    item:t="wheel_l_01"
    item:t="wheel_l_02"
    item:t="wheel_l_03"
    item:t="wheel_l_04"
    item:t="wheel_l_05"
    item:t="wheel_l_06"
    item:t="suspension_l_01"
    item:t="suspension_l_02"
    item:t="suspension_l_03"
    item:t="suspension_l_04"
    item:t="suspension_l_05"
    item:t="suspension_l_06"
    item:t="suspension_r_01"
    item:t="suspension_r_02"
    item:t="suspension_r_03"
    item:t="suspension_r_04"
    item:t="suspension_r_05"
    item:t="suspension_r_06"
    item:t="wheel_r_top_03"
    item:t="wheel_r_top_02"
    item:t="wheel_r_top_01"
    item:t="wheel_l_top_03"
    item:t="wheel_l_top_02"
    item:t="wheel_l_top_01"
    item:t="wheel_l_drive"
    item:t="wheel_r_drive"
    item:t="wheel_l_front"
    item:t="wheel_r_front"
    item:t="track_r"
    item:t="track_l"
    item:t="hatch_02"
    item:t="hatch_03"
    item:t="hatch_04"
  }
}

big_action_t_28e_bunker_turret{
  _extends:t="big_action_base_bunker_turret"
  _use:t="big_action_base_bunker_turret"
  killLogName:t="Turret"
  animchar__res:t="t_28e_char"
  collres__res:t="pzkpfw_IV_ausf_H_collision"
  dmg_animchar__res:t="t_28e_dmg_char"
  xray_resource__modelName:t="t_28e"
  phys_obj_net_phys__blk:t="%ugm/data/units/fixtures/t_28e_turret.blk"
  damage_model__blk:t="%ugm/data/units/fixtures/t_28e_turret.blk"
  vehicle__mapIcon:t="bunker"
  user_point__icon:t="bunker"
  repairable__baseRepairTotalTime:r=10
  repairable__baseRecoveryRatio:r=0.9
  // fortification_repair__cost:r=10
  // fortification_repair__costPercent:r=1
  building_menu__image:t="bunker"
  building_destroy__maxTimeToDestroy:r=999999
  buildingCost:r=16
  buildingRadius:r=5
  building_menu__text:t="vehicle/turret"
  useful_box__maxUseCount:i=0
  object__useDist:r=6
  destroyIfNoCrewLeft:b=no
  collision_damage__canBeOffender:b=no

  "turret_gun_flash_fx__flashNodes:shared:array"{
    node:t="emtr_gun_flame_01"
    node:t="emtr_gun_flame_04"
  }

  "turret_gun_flash_fx__flashFx:shared:array"{
    fx:t="muzzle_ground_80mm"
    fx:t="muzzle_ground_8mm"
  }

  "turret_gun_flash_fx__flashFxScale:shared:array"{
    scale:r=1.0
    scale:r=1.0
  }

  "turret_control__emitterNodes:shared:array"{
    node:t="bone_gun_barrel_01"
    node:t="bone_mg_turret_01"
  }

  "turret_control__animVars:shared:array"{

    "vars:object"{
      curYawParamName:t="turret_01_yaw"
      curPitchParamName:t="gun_01_pitch"
      aimActiveParamName:t="aim_01_active"
      paramYawSpeed:t="turret_01_yaw_speed"
      paramYawSpeedMul:t="turret_01_yaw_mul"
      paramYawAccel:t="turret_01_yaw_accel"
      paramMinYawAngle:t="turret_01_min_yaw_angle"
      paramMaxYawAngle:t="turret_01_max_yaw_angle"
      paramMinPitchAngle:t="turret_01_min_pitch_angle"
      paramMaxPitchAngle:t="turret_01_max_pitch_angle"
      paramPitchSpeed:t="gun_01_pitch_speed"
      paramPitchSpeedMul:t="gun_01_pitch_mul"
      paramPitchAccel:t="gun_01_pitch_accel"
      wishYawParamName:t="gun_01_aim:targetYaw"
      wishPitchParamName:t="gun_01_aim:targetPitch"
      gunRecoilParamName:t="gun_01_recoil"
    }

    "vars:object"{
      curYawParamName:t="turret_04_yaw"
      curPitchParamName:t="gun_04_pitch"
      aimActiveParamName:t="aim_04_active"
      paramYawSpeed:t="turret_04_yaw_speed"
      paramYawSpeedMul:t="turret_04_yaw_mul"
      paramYawAccel:t="turret_04_yaw_accel"
      paramMinYawAngle:t="turret_04_min_yaw_angle"
      paramMaxYawAngle:t="turret_04_max_yaw_angle"
      paramMinPitchAngle:t="turret_04_min_pitch_angle"
      paramMaxPitchAngle:t="turret_04_max_pitch_angle"
      paramPitchSpeed:t="gun_04_pitch_speed"
      paramPitchSpeedMul:t="gun_04_pitch_mul"
      paramPitchAccel:t="gun_04_pitch_accel"
      wishYawParamName:t="gun_04_aim:targetYaw"
      wishPitchParamName:t="gun_04_aim:targetPitch"
    }
  }

  "turret_control__turretInfo:shared:array"{

    "turretInfo:object"{
      turretName:t="turret_01"
      gun:t="t_28e_turret_01_76mm_l10+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_04"
      gun:t="t_28e_turret_04_7_62mm_dt"
      barrelDm:t="gun_barrel_01"
      salt:i=1
    }
  }

  "vehicle_seats__seats:shared:array"{
    "vehicle_seats__seats:object"{
      receiveDamageFromDMPart:t="gunner"
      attachTm:m=[[1, 0, 0] [0, 1, 0] [0, 0, 1] [-0.535557, -0.172008, 0.0815636]]
      name:t="commander"
      seatComponent:t="isDriver"
      cameraNodeName:t="bone_turret_01"
      attachNode:t="commander"
      hatchRotationAxis:p3=1.85, 0, 0
      locName:t="vehicle_seats/gunner"
      ignoreAttachNodeRotation:b=yes
      cockpitTemplate:t="ussr_t_28e_gunner_cockpit"
      maxPosWithOpenHatch:r=0.7
      shouldHideOwner:b=yes

      "turretNames:array"{
        turretNames:t="turret_01"
        turretNames:t="turret_04"
      }

      "loaderTurretNames:array"{
        loaderTurretNames:t="turret_01"
      }

      "hatchNodes:array"{
        hatchNodes:t="hatch_02"
      }
    }
  }

  "turrets__initAmmoDistribution:array"{
    "turrets__initAmmoDistribution:object"{
      slot:i=0
      fill:b=yes
    }

    "turrets__initAmmoDistribution:object"{
      slot:i=1
      fill:b=yes
    }

    "turrets__initAmmoDistribution:object"{
      slot:i=2
      count:i=30
    }
  }

  "turretsInitialComponents:array"{
    "turretsInitialComponents:object"{
      turret__limit:p4=-100, 100, -6, 20

      "gun__shellsAmmo:array"{
        gun__shellsAmmo:i=60
        gun__shellsAmmo:i=60
        gun__shellsAmmo:i=30
      }
    }

    "turretsInitialComponents:object"{
      gun__overheatReduceOnOverheat:r=0.083
      turret__triggerGroup:i=2
      gun__overheatReduce:r=0.18
      gun__overheatPerShot:r=0.033

      "gun__shellsAmmo:array"{
        gun__shellsAmmo:i=1323
        gun__shellsAmmo:i=1323
        gun__shellsAmmo:i=1323
      }
    }
  }

  "dm_parts__repairGroups:object"{

    "1:list<t>"{
      item:t="gun_barrel_02"
      item:t="gun_barrel_03"
      item:t="drive_turret_v"
      item:t="drive_turret_h"
      item:t="gun_barrel_01"
      item:t="gun_barrel"
      item:t="cannon_breech"
    }
  }

  "disableDMParts:list<t>"{
    item:t="@root"
    item:t="ammo"
    item:t="engine"
    item:t="transmission"
    item:t="fuel_tank"
    item:t="driver"
    item:t="ex_decor_l_02"
    item:t="ex_decor_r_02"
    item:t="ex_decor_r_11"
    item:t="ex_decor_r_10"
    item:t="ex_decor_r_12"
    item:t="ex_decor_r_08"
    item:t="ex_decor_r_01"
    item:t="ex_decor_l_01"
    item:t="ex_armor_l_02"
    item:t="ex_armor_l_01"
    item:t="ex_decor_r_09"
    item:t="ex_armor_01"
    item:t="ex_decor_r_07"
    item:t="ex_armor_body_r_03"
    item:t="ex_armor_body_r_02"
    item:t="ex_armor_body_r_01"
    item:t="ex_armor_body_l_03"
    item:t="ex_armor_body_l_02"
    item:t="ex_armor_body_l_01"
    item:t="ex_decor_l_07"
    item:t="wheel_r_back"
    item:t="wheel_l_back"
    item:t="wheel_r_top_03"
    item:t="wheel_r_top_04"
    item:t="wheel_r_top_02"
    item:t="wheel_r_top_01"
    item:t="wheel_l_top_03"
    item:t="wheel_l_top_04"
    item:t="wheel_l_top_02"
    item:t="wheel_l_top_01"
    item:t="wheel_l_drive"
    item:t="wheel_r_drive"
    item:t="gun_barrel_02"
    item:t="bone_turret_02"
    item:t="bone_mg_turret_02_mask_sphere"
    item:t="hatch_03"
    item:t="gun_barrel_03"
    item:t="bone_turret_03"
    item:t="bone_mg_turret_03_mask_sphere"
    item:t="hatch_04"
    item:t="wheel_r_05"
    item:t="wheel_r_04"
    item:t="wheel_r_03"
    item:t="wheel_r_02"
    item:t="wheel_r_01"
    item:t="wheel_r_07"
    item:t="wheel_r_08"
    item:t="wheel_r_09"
    item:t="wheel_r_10"
    item:t="wheel_r_11"
    item:t="wheel_r_12"
    item:t="wheel_r_06"
    item:t="wheel_l_04"
    item:t="wheel_l_03"
    item:t="wheel_l_02"
    item:t="wheel_l_01"
    item:t="wheel_l_07"
    item:t="wheel_l_08"
    item:t="wheel_l_06"
    item:t="wheel_l_05"
    item:t="wheel_l_09"
    item:t="wheel_l_10"
    item:t="wheel_l_11"
    item:t="wheel_l_12"
    item:t="suspension_rocker_l_01"
    item:t="suspension_rocker_l_02"
    item:t="suspension_rocker_l_03"
    item:t="suspension_rocker_l_04"
    item:t="suspension_rocker_l_05"
    item:t="suspension_rocker_l_06"
    item:t="suspension_rocker_r_01"
    item:t="suspension_rocker_r_02"
    item:t="suspension_rocker_r_03"
    item:t="suspension_rocker_r_04"
    item:t="suspension_rocker_r_05"
    item:t="suspension_rocker_r_06"
    item:t="suspension_l_01"
    item:t="suspension_l_02"
    item:t="suspension_l_03"
    item:t="suspension_l_04"
    item:t="suspension_l_05"
    item:t="suspension_l_06"
    item:t="suspension_r_01"
    item:t="suspension_r_02"
    item:t="suspension_r_03"
    item:t="suspension_r_04"
    item:t="suspension_r_05"
    item:t="suspension_r_06"
    item:t="ex_lantern_02"
    item:t="ex_lantern_b_02"
    item:t="ex_lantern_b_01"
    item:t="ex_lantern_01"
    item:t="hatch_06"
    item:t="hatch_05"
    item:t="hatch_07"
    item:t="track_r"
    item:t="track_l"
  }
}

big_action_base_bunker_turret{
  _extends:t="resupply_vehicle"
  _extends:t="base_cannon"
  _extends:t="vehicle_fatal_explosion_external_fire"
  _extends:t="tank_ammo_distribution_default"
  _extends:t="base_tank_seat_templates"
  _extends:t="turret_controls_hit_result_info"
  _extends:t="base_xray"
  _extends:t="killer_outline"
  _extends:t="vehicle_enter_accessibility"
  _extends:t="vehicle_maintenance"
  _extends:t="base_vehicle_common"
  _use:t="resupply_vehicle"
  _use:t="base_cannon"
  _use:t="vehicle_fatal_explosion_external_fire"
  _use:t="tank_ammo_distribution_default"
  _use:t="base_tank_seat_templates"
  _use:t="turret_controls_hit_result_info"
  _use:t="base_xray"
  _use:t="killer_outline"
  _use:t="vehicle_enter_accessibility"
  _use:t="vehicle_maintenance"
  _use:t="base_vehicle_common"
  vehicle__brokenUsePrompt:t="hud/train_turret_locked_needs_repair"
  killLogName:t="Tank"
  phys_obj_net_phys__blk:t="content/enlisted/gamedata/units/pzkpfw_iv_ausf_h_cannon.blk"
  damage_model__blk:t="content/enlisted/gamedata/units/pzkpfw_iv_ausf_h_cannon.blk"
  vehicle_seats_camera_nodes__defaultNode:t="optic_turret_01"
  animchar__res:t="pzkpfw_IV_ausf_H_char"
  collres__res:t="pzkpfw_IV_ausf_H_collision"
  dmg_animchar__res:t="pzkpfw_IV_ausf_H_dmg_char"
  xray_resource__modelName:t="pzkpfw_IV_ausf_H"
  dmg_animchar__renderable:b=no
  _tracked:t="dmg_animchar__renderable"
  _tracked:t="cockpit__eid"
  vehicle_seats__enterTime:r=3.0
  vehicle_seats__exitTime:r=4.0
  vehicle_seats__enumVarName:t="tank"
  camera__magnification:r=1.0
  camera__zoomPos:r=0.0
  camera__isStabilized:b=no
  driverFpsCamMaxAngle:p2=20.0, 0.0
  passengerFpsCamMaxAngle:p2=20.0, 0.0
  gunnerFpsCamMaxAngle:p2=12.0, 9.0
  commanderFpsCamMaxAngle:p2=90.0, 60.0
  commanderCockpitFpsCamMaxAngle:p2=20.0, 0.0
  // fortification_repair__costPercent:r=0.0
  // fortification_repair__cost:r=0.0
  buildingRadius:r=5.0
  buildingCenterOffset:p3=0.0, 0.0, 0.0
  fortification_repair__text:t="hud/resupply_cannon"
  building_menu__text:t="vehicle/turret"
  object__useDist:r=5.0
  cockpit__zoomOutFov:r=2.7475
  cockpit__zoomInFov:r=5.3955
  cockpit__sightName:t="sight_model/default_tank_spg"
  cockpit__sightFov:r=20.0
  cockpit__cameraDir:p3=1.0, 0.0, 0.0
  fire_damage__fireParamsPreset:t="tank"
  fatal_fire_fx__timeToExplosion:r=77.0
  fatal_fire__timeToExplosion:r=80.0
  camName:t="tank_fps_cam"
  vehicleDeathCameraTemplate:t="tank_cam"

  "phys__kinematicBody:tag"{
  }

  "animchar__updatableOnSleepPhys:tag"{
  }

  "user_point__ignore:tag"{
  }

  "camNames:array"{
    camNames:t="tank_fps_cam"
  }

  "vehicleDeathCamera:eid"{
  }

  "vehiclePrevCamera:eid"{
  }

  "defaultCameraTypes:shared:object"{
    driver:t="driver"
    main_gunner:t="gunner"
    extra_gunner:t="gunner"
    machinegunner:t="gunner"
    commander:t="commander"
    loader:t="commander"
  }

  "vehicle__lockIfTurretBroken:tag"{
  }

  "hitmarks__groups:list<t>"{
  }

  "hitmarks__groupsIds:list<i>"{
  }

  "engineer_building__isUsable:tag"{
  }

  // "fortification__canRepairDead:tag"{
  // }

  "buildByPlayer:eid"{
  }

  "cockpit__isHeroInCockpit:b"{
    _tags:t="gameClient"
    value:b=no
  }

  "cockpit__eid:eid"{
    _tags:t="gameClient"
  }

  _group{
    _tags:t="render"

    "bullet_holes__ignoreCollisionNodes:array"{
    }

    "bullet_holes__movingCollisionNodes:array"{
      movingCollisionNodes:t="turret_front"
      movingCollisionNodes:t="turret_side"
    }
  }

  _group{
    _tags:t="render"

    "visual_dmg_remap__partIdToNodeIdMain:list<i>"{
    }

    "visual_dmg_remap__partIdToNodeIdDmg:list<i>"{
    }

    "visual_dmg_remap__partIdToNodeIdDstr:list<i>"{
    }

    "visual_dmg_remap__collNodeIdToNodeIdMain:list<i>"{
    }

    "visual_dmg_remap__collNodeIdToNodeIdDmg:list<i>"{
    }

    "visual_dmg_remap__collNodeIdToNodeIdDstr:list<i>"{
    }
  }

  _group{
    _tags:t="render"
    animchar_camera_target__node_name:t="optic_turret_01"
    animchar_camera_target__node_offset:p3=0.0, 0.5, 0.0
    animchar_camera_target__nodeIndex:i=-1
  }

  "turretsCorrection:tag"{
  }

  "turretsCorrectionUseThreadPool:tag"{
  }

  "turret_aim__shootRange:r"{
    _tags:t="gameClient"
    value:r=0.0
  }

  "setCameraDirByHero:tag"{
  }

  "explosionCover:tag"{
  }

  "scorchable:tag"{
    _tags:t="render"
  }

  "vehicle__isExplosionFatal:b"{
    _tags:t="server"
    value:b=no
  }

  "dmgNodeIdToGeomNodeId:list<i>"{
    _tags:t="render"
  }

  "dstrNodeIdToGeomNodeId:list<i>"{
    _tags:t="render"
  }

  "geomNodeIdRemapMain:list<i>"{
    _tags:t="render"
  }

  "geomNodeIdRemapDmg:list<i>"{
    _tags:t="render"
  }

  "geomNodeIdRemapDstr:list<i>"{
    _tags:t="render"
  }

  dmg_animchar{
    _tags:t="render"
  }

  cockpit_animchar_res_preload{
    _tags:t="gameClient"
  }

  "vehicle_seats_receive_damage_from_dm_part:list<i>"{
  }

  "phys_vars__skipVisibilityCheck:tag"{
  }

  "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]]
      entranceNode:t="turret_back"
      seatComponent:t="isGunner"
      nextSeat:t="driver"
      shouldHideOwner:b=yes
      receiveDamageFromDMPart:t="gunner"
      cameraNodeName:t="bone_camera_gunner"
      cockpitTemplate:t="germ_pzkpfw_IV_ausf_H_gunner_cockpit"

      "turretNames:array"{
        turret:t="turret_01"
        turret:t="turret_02"
      }
    }
  }

  "turret_gun_flash_fx__flashNodes:shared:array"{
    node:t="emtr_gun_flame"
    node:t="emtr_mg_flame_01"
    node:t="emtr_mg_flame_03"
  }

  "turret_gun_flash_fx__flashFx:shared:array"{
    fx:t="muzzle_ground_60mm"
    fx:t="muzzle_ground_8mm"
    fx:t="muzzle_ground_8mm"
  }

  "turret_gun_flash_fx__flashFxScale:shared:array"{
    scale:r=1.0
    scale:r=1.0
    scale:r=1.0
  }

  "turret_control__emitterNodes:shared:array"{
    node:t="bone_gun_barrel"
    node:t="bone_mg_gun_twin"
    node:t="bone_mg_aa_barrel"
  }

  "turret_control__animVars:shared:array"{

    "vars:object"{
      curYawParamName:t="turret_01_yaw"
      curPitchParamName:t="gun_01_pitch"
      aimActiveParamName:t="aim_01_active"
      paramYawSpeed:t="turret_01_yaw_speed"
      paramYawSpeedMul:t="turret_01_yaw_mul"
      paramYawAccel:t="turret_01_yaw_accel"
      paramMinYawAngle:t="turret_01_min_yaw_angle"
      paramMaxYawAngle:t="turret_01_max_yaw_angle"
      paramMinPitchAngle:t="turret_01_min_pitch_angle"
      paramMaxPitchAngle:t="turret_01_max_pitch_angle"
      paramPitchSpeed:t="gun_01_pitch_speed"
      paramPitchSpeedMul:t="gun_01_pitch_mul"
      paramPitchAccel:t="gun_01_pitch_accel"
      wishYawParamName:t="gun_01_aim:targetYaw"
      wishPitchParamName:t="gun_01_aim:targetPitch"
      gunRecoilParamName:t="gun_01_recoil"
    }

    "vars:object"{
      curYawParamName:t="turret_02_yaw"
      curPitchParamName:t="gun_02_pitch"
    }
  }

  "turret_control__turretInfo:shared:array"{

    "turretInfo:object"{
      turretName:t="turret_01"
      gun:t="pzkpfw_iv_ausf_h_turret_turret_01_75mm_kwk40_l48_1+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_h_turret_turret_02_7_92mm_mg34"
      barrelDm:t="gun_barrel_01"
      verDriveDm:t="drive_turret_v"
      horDriveDm:t="drive_turret_h"
      salt:i=1
    }
  }

  "dm_phys_parts__ammoPartIds:list<i>"{
  }

  "dm_phys_parts__ammo:array"{
    ammo:t="ammo_\w+"
  }

  "fatal_explosion_fx__fx:array"{

    "fx:object"{

      "dmParts:array"{
      }

      "fx:array"{

        "fx:object"{
          name:t="tank_smoke_big_template"
          emitter:t="emtr_smoke_dmg"
        }

        "fx:object"{
          name:t="tank_smoke_small_template"
          emitter:t="emtr_smoke_small_dmg_01"
        }

        "fx:object"{
          name:t="tank_smoke_small_template"
          emitter:t="emtr_smoke_small_dmg_02"
        }

        "fx:object"{
          name:t="tank_smoke_small_template"
          emitter:t="emtr_smoke_small_dmg_03"
        }

        "fx:object"{
          name:t="tank_smoke_small_template"
          emitter:t="emtr_smoke_small_dmg_04"
        }

        "fx:object"{
          name:t="tank_smoke_small_template"
          emitter:t="emtr_smoke_small_dmg_05"
        }

        "fx:object"{
          name:t="tank_smoke_small_template"
          emitter:t="emtr_smoke_small_dmg_06"
        }

        "fx:object"{
          name:t="tank_smoke_small_template"
          emitter:t="emtr_smoke_small_dmg_07"
        }

        "fx:object"{
          name:t="tank_smoke_small_template"
          emitter:t="emtr_smoke_small_dmg_08"
        }

        "fx:object"{
          name:t="tank_smoke_small_template"
          emitter:t="emtr_smoke_small_dmg_09"
        }

        "fx:object"{
          name:t="tank_smoke_small_template"
          emitter:t="emtr_smoke_small_dmg_10"
        }

        "fx:object"{
          name:t="tank_smoke_small_template"
          emitter:t="emtr_smoke_small_dmg_11"
        }

        "fx:object"{
          name:t="tank_smoke_small_template"
          emitter:t="emtr_smoke_small_dmg_12"
        }

        "fx:object"{
          name:t="tank_smoke_small_template"
          emitter:t="emtr_smoke_small_dmg_13"
        }

        "fx:object"{
          name:t="tank_smoke_small_template"
          emitter:t="emtr_smoke_small_dmg_14"
        }

        "fx:object"{
          name:t="tank_smoke_small_template"
          emitter:t="emtr_smoke_small_dmg_15"
        }

        "fx:object"{
          name:t="tank_smoke_small_template"
          emitter:t="emtr_smoke_small_dmg_16"
        }

        "fx:object"{
          name:t="tank_fire_big_template"
          emitter:t="emtr_fire_dmg"
        }

        "fx:object"{
          name:t="tank_fire_small_template"
          emitter:t="emtr_fire_small_dmg_01"
        }

        "fx:object"{
          name:t="tank_fire_small_template"
          emitter:t="emtr_fire_small_dmg_02"
        }

        "fx:object"{
          name:t="tank_fire_small_template"
          emitter:t="emtr_fire_small_dmg_03"
        }

        "fx:object"{
          name:t="tank_fire_small_template"
          emitter:t="emtr_fire_small_dmg_04"
        }

        "fx:object"{
          name:t="tank_fire_small_template"
          emitter:t="emtr_fire_small_dmg_05"
        }

        "fx:object"{
          name:t="tank_fire_small_template"
          emitter:t="emtr_fire_small_dmg_06"
        }

        "fx:object"{
          name:t="tank_fire_small_template"
          emitter:t="emtr_fire_small_dmg_07"
        }

        "fx:object"{
          name:t="tank_fire_small_template"
          emitter:t="emtr_fire_small_dmg_08"
        }

        "fx:object"{
          name:t="tank_fire_small_template"
          emitter:t="emtr_fire_small_dmg_09"
        }

        "fx:object"{
          name:t="tank_fire_small_template"
          emitter:t="emtr_fire_small_dmg_10"
        }

        "fx:object"{
          name:t="tank_fire_small_template"
          emitter:t="emtr_fire_small_dmg_11"
        }

        "fx:object"{
          name:t="tank_fire_small_template"
          emitter:t="emtr_fire_small_dmg_12"
        }

        "fx:object"{
          name:t="tank_fire_small_template"
          emitter:t="emtr_fire_small_dmg_13"
        }

        "fx:object"{
          name:t="tank_fire_small_template"
          emitter:t="emtr_fire_small_dmg_14"
        }

        "fx:object"{
          name:t="tank_fire_small_template"
          emitter:t="emtr_fire_small_dmg_15"
        }

        "fx:object"{
          name:t="tank_fire_small_template"
          emitter:t="emtr_fire_small_dmg_16"
        }
      }
    }

    "fx:object"{

      "dmParts:array"{
      }

      "fx:array"{

        "fx:object"{
          name:t="tank_smoke_small_template"
          emitter:t="emtr_fire_ammo"
        }

        "fx:object"{
          name:t="tank_smoke_small_template"
          emitter:t="emtr_fire_ammo_01"
        }

        "fx:object"{
          name:t="tank_smoke_small_template"
          emitter:t="emtr_fire_ammo_02"
        }
      }
    }
  }

  "fatal_fire_fx__fx:array"{

    "fx:object"{

      "dmParts:array"{
      }

      "fx:array"{

        "fx:object"{
          name:t="tank_ammo_fire_template"
          emitter:t="emtr_fire_ammo"
        }

        "fx:object"{
          name:t="tank_ammo_fire_template"
          emitter:t="emtr_fire_ammo_01"
        }

        "fx:object"{
          name:t="tank_ammo_fire_template"
          emitter:t="emtr_fire_ammo_02"
        }

        "fx:object"{
          name:t="tank_ammo_fire_template"
          emitter:t="emtr_fire_ammo_03"
        }

        "fx:object"{
          name:t="tank_ammo_fire_template"
          emitter:t="emtr_fire_ammo_04"
        }

        "fx:object"{
          name:t="tank_ammo_fire_template"
          emitter:t="emtr_fire_ammo_05"
        }

        "fx:object"{
          name:t="tank_ammo_fire_template"
          emitter:t="emtr_fire_ammo_06"
        }

        "fx:object"{
          name:t="tank_ammo_fire_template"
          emitter:t="emtr_fire_ammo_07"
        }

        "fx:object"{
          name:t="tank_ammo_fire_template"
          emitter:t="emtr_fire_ammo_08"
        }

        "fx:object"{
          name:t="tank_ammo_fire_template"
          emitter:t="emtr_fire_ammo_09"
        }

        "fx:object"{
          name:t="tank_ammo_fire_template"
          emitter:t="emtr_fire_ammo_10"
        }
      }
    }
  }

  "destroyed_fx__fx:array"{

    "fx:object"{

      "dmParts:array"{
      }

      "fx:array"{

        "fx:object"{
          name:t="tank_smoke_destroyed_template"
          emitter:t="emtr_smoke_small_dmg_01"
        }

        "fx:object"{
          name:t="tank_smoke_destroyed_template"
          emitter:t="emtr_smoke_small_dmg_02"
        }

        "fx:object"{
          name:t="tank_smoke_destroyed_template"
          emitter:t="emtr_smoke_small_dmg_03"
        }

        "fx:object"{
          name:t="tank_smoke_destroyed_template"
          emitter:t="emtr_smoke_small_dmg_04"
        }

        "fx:object"{
          name:t="tank_smoke_destroyed_template"
          emitter:t="emtr_smoke_small_dmg_05"
        }

        "fx:object"{
          name:t="tank_smoke_destroyed_template"
          emitter:t="emtr_smoke_small_dmg_06"
        }

        "fx:object"{
          name:t="tank_smoke_destroyed_template"
          emitter:t="emtr_smoke_small_dmg_07"
        }

        "fx:object"{
          name:t="tank_smoke_destroyed_template"
          emitter:t="emtr_smoke_small_dmg_08"
        }

        "fx:object"{
          name:t="tank_smoke_destroyed_template"
          emitter:t="emtr_smoke_small_dmg_09"
        }

        "fx:object"{
          name:t="tank_smoke_destroyed_template"
          emitter:t="emtr_smoke_small_dmg_10"
        }

        "fx:object"{
          name:t="tank_smoke_destroyed_template"
          emitter:t="emtr_smoke_small_dmg_11"
        }

        "fx:object"{
          name:t="tank_smoke_destroyed_template"
          emitter:t="emtr_smoke_small_dmg_12"
        }

        "fx:object"{
          name:t="tank_smoke_destroyed_template"
          emitter:t="emtr_smoke_small_dmg_13"
        }

        "fx:object"{
          name:t="tank_smoke_destroyed_template"
          emitter:t="emtr_smoke_small_dmg_14"
        }

        "fx:object"{
          name:t="tank_smoke_destroyed_template"
          emitter:t="emtr_smoke_small_dmg_15"
        }

        "fx:object"{
          name:t="tank_smoke_destroyed_template"
          emitter:t="emtr_smoke_small_dmg_16"
        }

        "fx:object"{
          name:t="tank_smoke_destroyed_template"
          emitter:t="emtr_fire_ammo"
        }

        "fx:object"{
          name:t="tank_smoke_destroyed_template"
          emitter:t="emtr_fire_ammo_01"
        }

        "fx:object"{
          name:t="tank_smoke_destroyed_template"
          emitter:t="emtr_fire_ammo_02"
        }
      }
    }
  }

  "disableDMParts:list<t>"{
  }

  "dm_phys_parts__engine:array"{
  }

  "dm_phys_parts__transmission:array"{
  }

  "dm_phys_parts__tracks:array"{
  }

  "dm_phys_parts__ammo:array"{
  }
}

4 Likes

small question,

so since the new update,

  _extends:t="big_action_base_bunker_turret"
  _use:t="big_action_base_bunker_turret"

we only use extend to use the reference upon the base vehicle, and for additional templates we must put " use " ?

Only this in latest version.

These two lines are for compatibility before and after updates

2 Likes

sure!

stationary_breda_mod_30{
  _extends:t="stationary_mg42"
  _use:t="stationary_mg42"

  gun__ammo:i=6000
  gun__shotFreq:r=8.03
  gun__locName:t="breda_mod_30"
  item__name:t="items/breda_mod_30"

  gun__overheatPerShot:r=0.05
  gun__overheatReduceOnOverheat:r=0.3
  gun__overheatReduce:r=0.0

  gun__length:r=0.4
  gun_deviation__shotTau:r=0.1
  gun_deviation__omegaRange:p2=30.0, 90.0
  gun_deviation__omegaDevInc:p2=0.07, 0.5
  gun_deviation__movementRange:p2=0.1, 4.0
  gun_deviation__movementDevInc:p2=14.0, 35.0
  gun_deviation__onShotDeviationChange:r=0.0
  gun_deviation__extraDeviationTau:r=0.2
  gun_deviation__maxDeviation:r=20.0
  gun_shell_ejection__timeMult:r=0.35
  gun_spread__maxDeltaAngle:r=0.36
  gun__recoilAmount:r=0.055
  gun__recoilDirAmount:r=0.6
  gun__recoilDir:r=0.0
  gun__recoilControlMult:r=0.9
  gun__recoilOffsMult:r=0.1
  gun__visualRecoilMult:r=0.4

  "gun__shells:array"{
    shells:t="content/enlisted/gamedata/weapons/bullets/6.5x52_carcano_tracer.blk"
  }

  _group{
    _tags:t="sound"
    gun_sound__forceOneshot:b=yes
  }

  "gun_sound__shotPath:shared:object"{
    _tags:t="sound"
    path:t="/weapon/mgun/zb_26"
  }

  "attach_decorators__entities:list<eid>"{ 
  }

  "attach_decorators__templates:array"{
    "attach_decorators__templates:object"{
      relativeTm:m=[[-0.999961, 3.72529e-08, 1.51061e-06] [-1.09516e-06, -0.999961, -2.72546e-06] [1.89897e-06, -9.8662e-08, 0.999956] [-0.000361009, -0.776566, 7.61304e-05]]
      template:t="breda_mod_30_animchar"
      nodeName:t="gunFx_main"
    }
  }

  "disableDMParts:list<t>"{
    part:t="mg42_ammo"
    part:t="mg_body"
  }
}

breda_mod_30_animchar{
  _extends:t="base_vehicle_decor"
  _use:t="base_vehicle_decor"

  animchar__res:t="breda_mod_30_char"
  collres__res:t="breda_mod_30_collision"

  "disableDMParts:list<t>"{
    part:t="bipod_1_mesh"
    part:t="bipod_2_mesh"
  }
}

that’s the untouched @Devenddar Entities.Blk file of the custom stationary machinegun

stationary_breda_safat_hmg{
  _use:t="stationary_type_93_hmg"

  gun__ammo:i=6000
  gun__shotFreq:r=8.03
  gun__locName:t="gun/bredasafat77_turret"
  item__name:t="items/gunbredasafat77_turret"

  gun__overheatPerShot:r=0.05
  gun__overheatReduceOnOverheat:r=0.3
  gun__overheatReduce:r=0.0

  gun__length:r=0.4
  gun_deviation__shotTau:r=0.1
  gun_deviation__omegaRange:p2=30.0, 90.0
  gun_deviation__omegaDevInc:p2=0.07, 0.5
  gun_deviation__movementRange:p2=0.1, 4.0
  gun_deviation__movementDevInc:p2=14.0, 35.0
  gun_deviation__onShotDeviationChange:r=0.0
  gun_deviation__extraDeviationTau:r=0.2
  gun_deviation__maxDeviation:r=20.0
  gun_shell_ejection__timeMult:r=0.35
  gun_spread__maxDeltaAngle:r=0.36
  gun__recoilAmount:r=0.055
  gun__recoilDirAmount:r=0.6
  gun__recoilDir:r=0.0
  gun__recoilControlMult:r=0.9
  gun__recoilOffsMult:r=0.1
  gun__visualRecoilMult:r=0.4

  "gun__shells:array"{
    shells:t="gamedata/weapons/shells/12_7x81mm_breda_ap_bullet.blk"
  }

  _group{
    _tags:t="sound"
    gun_sound__forceOneshot:b=yes
  }

  "gun_sound__shotPath:shared:object"{
    _tags:t="sound"
    path:t="/weapon/aircraft_mgun/13mm_mg131"
  }

  "attach_decorators__entities:list<eid>"{ 
  }

  "attach_decorators__templates:array"{
    "attach_decorators__templates:object"{
      relativeTm:m=[[-0.999961, 3.72529e-08, 1.51061e-06] [-1.09516e-06, -0.999961, -2.72546e-06] [1.89897e-06, -9.8662e-08, 0.999956] [-0.000361009, -0.776566, 7.61304e-05]]
      template:t="breda_safat_animchar"
      nodeName:t="gunFx_main"
    }
  }

  "disableDMParts:list<t>"{
    part:t=""   -i -
    part:t="mg_body"
  }
}

and that’s the one that I (a total noob) tried to modify

2 Likes

Ok, I’ll give it a try, thank you!!

2 Likes

Nice!
thank u very much!

2 Likes

Sadly, but weapons in vehicles are part of vehicle animchar. And you probably will need to do same how I did there. Copy code for breda_mod_30_animchar entity and a bit edit it. Need just change name, animchar__res and disableDMParts (probably better to not touch collres__res). Problem probably will be in ability to write all names inside disableDMParts property. In theory console command collres.draw_names may help with it, because it shows vehicles and infantry nodes names. Maybe you need to use plane animchar with cockpit.

1 Like

I see
Maybe later I’ll try this way
Thank you very much !!

1 Like

so… I’ve got some news:
I managed to make a new custom hmg (or kinda…) by modifying the blk file of the stationary machinegun like this:

stationary_breda_mod_37{
  _use:t="stationary_browning_m2"

  gun__ammo:i=6000
  gun__shotFreq:r=8.03
  xray_resource__modelName:t="as_42_metropolitana"
  item__name:t="items/it_as_42_metropolitana"

  gun__overheatPerShot:r=0.05
  gun__overheatReduceOnOverheat:r=0.3
  gun__overheatReduce:r=0.0

  gun__length:r=0.4
  gun_deviation__shotTau:r=0.1
  gun_deviation__omegaRange:p2=30.0, 90.0
  gun_deviation__omegaDevInc:p2=0.07, 0.5
  gun_deviation__movementRange:p2=0.1, 4.0
  gun_deviation__movementDevInc:p2=14.0, 35.0
  gun_deviation__onShotDeviationChange:r=0.0
  gun_deviation__extraDeviationTau:r=0.2
  gun_deviation__maxDeviation:r=20.0
  gun_shell_ejection__timeMult:r=0.35
  gun_spread__maxDeltaAngle:r=0.36
  gun__recoilAmount:r=0.055
  gun__recoilDirAmount:r=0.6
  gun__recoilDir:r=0.0
  gun__recoilControlMult:r=0.9
  gun__recoilOffsMult:r=0.1
  gun__visualRecoilMult:r=0.4

  "gun__shells:array"{
    shells:t="gamedata/gen/weapons/shells/8mm_breda_mod38_defaultset_bullet_3.blk"
  }

  _group{
    _tags:t="sound"
    gun_sound__forceOneshot:b=yes
  }

  "gun_sound__shotPath:shared:object"{
    _tags:t="sound"
    path:t="/weapon/mgun_mounted/8mm_breda_mod38"
  }

  "attach_decorators__entities:list<eid>"{ 
  }

  "attach_decorators__templates:array"{
    "attach_decorators__templates:object"{
      relativeTm:m=[[-0.999961, 3.72529e-08, 1.51061e-06] [-1.09516e-06, -0.999961, -2.72546e-06] [1.89897e-06, -9.8662e-08, 0.999956] [1.000661009, -1.776566, -1.7]]
      template:t="as_42_metropolitana_animchar"
      nodeName:t="gunFx_main"
    }
  }

  "disableDMParts:list<t>"{
    part:t="mg42_ammo"
    part:t="mg_body"
  }
}

as_42_metropolitana_animchar{
  _use:t="base_vehicle_decor"

  animchar__res:t="as_42_metropolitana_char"
  collres__res:t="breda_mod_30_collision"

  "disableDMParts:list<t>"{
    part:t="@root"
	part:t="ex_decor_l_06"
	part:t="ex_decor_r_07"
	part:t="ex_decor_l_10"
	part:t="ex_decor_l_04"
	part:t="ex_decor_l_09"
	part:t="ex_decor_r_03"
	part:t="ex_decor_l_03"
	part:t="ex_decor_r_04"
	part:t="ex_decor_l_11"
	part:t="ex_decor_r_11"
	part:t="ex_decor_r_05"
	part:t="ex_decor_r_10"
	part:t="ex_decor_l_12"
	part:t="ex_decor_r_01"
	part:t="ex_decor_01"
	part:t="ex_decor_r_02"
	part:t="suspension_l_01_01"
	part:t="ex_decor_l_01"
	part:t="ex_lantern_l_01"
	part:t="ex_lantern_r_01"
	part:t="suspension_r_01_01"
	part:t="ex_decor_l_02"
	part:t="ex_decor_02"
	part:t="hatch_01"
	part:t="hatch_02"
	part:t="ex_armor_l_01"
	part:t="ex_armor_r_01"
	part:t="ex_decor_r_09"
	part:t="ex_decor_r_08"
	part:t="ex_decor_l_07"
	part:t="ex_decor_l_08"
	part:t="wheel_rod_r"
	part:t="wheel_r_01"
	part:t="suspension_r_01"
	part:t="wheel_l_01"
	part:t="wheel_rod_l"
	part:t="suspension_l_01"
	part:t="bone_turret"
	part:t="bone_gun_02"
	part:t="bone_gun_01"
	part:t="bone_gun"
	part:t="gun_barrel"
	part:t="bone_roll_turret_h"
	part:t="bone_roll_turret_v"
	part:t="suspension_l_02_01"
	part:t="wheel_l_02"
	part:t="suspension_l_02"
	part:t="suspension_r_02_01"
	part:t="wheel_r_02"
	part:t="suspension_r_02"
	part:t="bone_mg_aa_h_02"
	part:t="bone_mg_aa_v_02"
	part:t="ammo_02"
	part:t="bone_mg_aa_h_03"
	part:t="bone_mg_aa_v_03"
	part:t="ammo_03"
	part:t="ex_decor_body_l_01"
	part:t="bone_roll_driver"
  }
}

but it doesn’t work very well…
to sum up, here’s what I got :

I don’t know where to find the m2 browning parts that I have to disable to hide the machinegun body(?) like @Devenddar did here with the stationary_mg42:

and How to turn (if it’s possible) the model that I’m “adding” like a decor in the correct position

1 Like

Sorry, but there I probably can’t help much. You can ask ErikaKalkbrenner or Vik_2701 about how to find nodes for weapons.

You can use rotate and move your custom animchar. And then go to m2 browning properties and edit attach_decorators__templates. Need only remove any word and return it back. After that save file.

In scene.blk file (this file contains all entities on your map) you will able find code like it:

entity{
  _template:t="stationary_breda_mod_37"
  transform:m=[[...][...][...][...]]

  "attach_decorators__templates:array"{
    "attach_decorators__templates:object"{
      relativeTm:m=[[-0.999961, 3.72529e-08, 1.51061e-06] [-1.09516e-06, -0.999961, -2.72546e-06] [1.89897e-06, -9.8662e-08, 0.999956] [1.000661009, -1.776566, -1.7]]
      template:t="as_42_metropolitana_animchar"
      nodeName:t="gunFx_main"
    }
  }
}

You need only copy relativeTm line and put it in entities.blk.

1 Like

Okay, I’ll do it
Thank u very much again!!

1 Like

Hello, what should I change if I want to replace the turret?

2 Likes

change the properties about animchar... and disableDMParts etc

big_action_is_2_bunker_turret{
  _extends:t="big_action_base_bunker_turret"
  _use:t="big_action_base_bunker_turret"
  killLogName:t="Turret"
  collres__res:t="is_2_collision"
  phys_obj_net_phys__blk:t="%ugm/data/units/fixtures/is_2_turret.blk"
  animchar__res:t="is_2_char"
  dmg_animchar__res:t="is_2_dmg_char"
  xray_resource__modelName:t="is_2"
  damage_model__blk:t="%ugm/data/units/fixtures/is_2_turret.blk"
  vehicle__mapIcon:t="bunker"
  user_point__icon:t="bunker"
  repairable__baseRepairTotalTime:r=10
  repairable__baseRecoveryRatio:r=0.9
  // fortification_repair__cost:r=10
  // fortification_repair__costPercent:r=1
  building_menu__image:t="bunker"
  building_destroy__maxTimeToDestroy:r=999999
  buildingCost:r=16
  buildingRadius:r=5
  building_menu__text:t="vehicle/turret"
  useful_box__maxUseCount:i=0
  object__useDist:r=6
  destroyIfNoCrewLeft:b=no
  collision_damage__canBeOffender:b=no

  "turret_gun_flash_fx__flashNodes:shared:array"{
    node:t="emtr_gun_flame"
    node:t="emtr_mg_flame_01"
  }

  "turret_gun_flash_fx__flashFx:shared:array"{
    fx:t="muzzle_ground_125mm_brake"
    fx:t="muzzle_ground_8mm"
  }

  "turret_gun_flash_fx__flashFxScale:shared:array"{
    scale:r=1.0
    scale:r=1.0
  }

  "turret_control__emitterNodes:shared:array"{
    node:t="bone_gun_barrel"
    node:t="bone_mg_gun_twin"
  }

  "vehicle_seats__seats:shared:array"{
    "seats:object"{
      name:t="commander"
      locName:t="vehicle_seats/gunner"
      attachNode:t="commander"
      shouldHideOwner:b=yes
      hatchRotationAxis:p3=1.6, 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.05, -0.3, 0.22]]
      seatComponent:t="isDriver"
      receiveDamageFromDMPart:t="gunner"
      cockpitTemplate:t="ussr_is_2_1943_gunner_cockpit"
      cameraNodeName:t="bone_turret"

      "turretNames:array"{
        turret:t="turret_01"
        turret:t="turret_02"
      }

      "hatchNodes:array"{
        node:t="hatch_04"
        node:t="hatch_03"
      }

      "loaderTurretNames:array"{
        loaderTurretNames:t="turret_01"
      }
    }
  }

  "turrets__initAmmoDistribution:array"{
    "turrets__initAmmoDistribution:object"{
      slot:i=2
      fill:b=yes
    }

    "turrets__initAmmoDistribution:object"{
      slot:i=1
      count:i=10
    }
  }

  "turretsInitialComponents:array"{
    "turretsInitialComponents:object"{
      turret__limit:p4=-100, 100, -3, 20
      gun__shotFreq:r=0.1

      "gun__shellsAmmo:array"{
        gun__shellsAmmo:i=8
        gun__shellsAmmo:i=6
        gun__shellsAmmo:i=2
      }
    }

    "turretsInitialComponents:object"{
      gun__overheatReduceOnOverheat:r=0.083
      turret__triggerGroup:i=2
      gun__overheatReduce:r=0.18
      gun__overheatPerShot:r=0.033

      "gun__shellsAmmo:array"{
        gun__shellsAmmo:i=945
        gun__shellsAmmo:i=945
        gun__shellsAmmo:i=945
        gun__shellsAmmo:i=945
        gun__shellsAmmo:i=945
        gun__shellsAmmo:i=945
      }
    }
  }

  "turret_control__turretInfo:shared:array"{
    "turret_control__turretInfo:object"{
      salt:i=1
      gun:t="is_2_turret_01_122mm_d25t+turret_with_several_types_of_shells+main_turret"
      barrelDm:t="gun_barrel"
      breechDm:t="cannon_breech"
      turretName:t="turret_01"
      verDriveDm:t="drive_turret_v"
      horDriveDm:t="drive_turret_h"
    }

    "turret_control__turretInfo:object"{
      salt:i=1
      gun:t="is_2_turret_02_7_62mm_dt"
      barrelDm:t="gun_barrel_01"
      turretName:t="turret_02"
    }
  }

  "dm_parts__repairGroups:object"{

    "1:list<t>"{
      item:t="drive_turret_v"
      item:t="drive_turret_h"
      item:t="gun_barrel"
      item:t="gun_barrel_01"
      item:t="cannon_breech"
    }
  }

  "disableDMParts:list<t>"{
    item:t="@root"
    item:t="ammo"
    item:t="engine"
    item:t="transmission"
    item:t="fuel_tank"
    item:t="driver"
    item:t="hatch_01"
    item:t="ex_decor_r_01"
    item:t="ex_decor_r_02"
    item:t="ex_decor_r_03"
    item:t="ex_decor_r_04"
    item:t="ex_decor_r_05"
    item:t="ex_decor_l_01"
    item:t="ex_decor_l_02"
    item:t="ex_decor_l_03"
    item:t="ex_decor_l_04"
    item:t="ex_decor_l_05"
    item:t="ex_lantern_01"
    item:t="hatch_05"
    item:t="mg_01"
    item:t="ex_decor_01"
    item:t="ex_decor_02"
    item:t="ex_decor_03"
    item:t="ex_decor_04"
    item:t="ex_decor_05"
    item:t="ex_decor_06"
    item:t="ex_decor_09"
    item:t="wheel_r_01"
    item:t="wheel_r_02"
    item:t="wheel_r_03"
    item:t="wheel_r_04"
    item:t="wheel_r_05"
    item:t="wheel_r_06"
    item:t="wheel_l_01"
    item:t="wheel_l_02"
    item:t="wheel_l_03"
    item:t="wheel_l_04"
    item:t="wheel_l_05"
    item:t="wheel_l_06"
    item:t="suspension_l_01"
    item:t="suspension_l_02"
    item:t="suspension_l_03"
    item:t="suspension_l_04"
    item:t="suspension_l_05"
    item:t="suspension_l_06"
    item:t="suspension_r_01"
    item:t="suspension_r_02"
    item:t="suspension_r_03"
    item:t="suspension_r_04"
    item:t="suspension_r_05"
    item:t="suspension_r_06"
    item:t="wheel_r_top_03"
    item:t="wheel_r_top_02"
    item:t="wheel_r_top_01"
    item:t="wheel_l_top_03"
    item:t="wheel_l_top_02"
    item:t="wheel_l_top_01"
    item:t="wheel_l_drive"
    item:t="wheel_r_drive"
    item:t="wheel_l_front"
    item:t="wheel_r_front"
    item:t="hatch_06"
    item:t="track_r"
    item:t="track_l"
  }
}

big_action_base_bunker_turret{
  _extends:t="resupply_vehicle"
  _extends:t="base_cannon"
  _extends:t="vehicle_fatal_explosion_external_fire"
  _extends:t="tank_ammo_distribution_default"
  _extends:t="base_tank_seat_templates"
  _extends:t="turret_controls_hit_result_info"
  _extends:t="base_xray"
  _extends:t="killer_outline"
  _extends:t="vehicle_enter_accessibility"
  _extends:t="vehicle_maintenance"
  _extends:t="base_vehicle_common"
  _use:t="resupply_vehicle"
  _use:t="base_cannon"
  _use:t="vehicle_fatal_explosion_external_fire"
  _use:t="tank_ammo_distribution_default"
  _use:t="base_tank_seat_templates"
  _use:t="turret_controls_hit_result_info"
  _use:t="base_xray"
  _use:t="killer_outline"
  _use:t="vehicle_enter_accessibility"
  _use:t="vehicle_maintenance"
  _use:t="base_vehicle_common"
  vehicle__brokenUsePrompt:t="hud/train_turret_locked_needs_repair"
  killLogName:t="Tank"
  phys_obj_net_phys__blk:t="content/enlisted/gamedata/units/pzkpfw_iv_ausf_h_cannon.blk"
  damage_model__blk:t="content/enlisted/gamedata/units/pzkpfw_iv_ausf_h_cannon.blk"
  vehicle_seats_camera_nodes__defaultNode:t="optic_turret_01"
  animchar__res:t="pzkpfw_IV_ausf_H_char"
  collres__res:t="pzkpfw_IV_ausf_H_collision"
  dmg_animchar__res:t="pzkpfw_IV_ausf_H_dmg_char"
  xray_resource__modelName:t="pzkpfw_IV_ausf_H"
  dmg_animchar__renderable:b=no
  _tracked:t="dmg_animchar__renderable"
  _tracked:t="cockpit__eid"
  vehicle_seats__enterTime:r=3.0
  vehicle_seats__exitTime:r=4.0
  vehicle_seats__enumVarName:t="tank"
  camera__magnification:r=1.0
  camera__zoomPos:r=0.0
  camera__isStabilized:b=no
  driverFpsCamMaxAngle:p2=20.0, 0.0
  passengerFpsCamMaxAngle:p2=20.0, 0.0
  gunnerFpsCamMaxAngle:p2=12.0, 9.0
  commanderFpsCamMaxAngle:p2=90.0, 60.0
  commanderCockpitFpsCamMaxAngle:p2=20.0, 0.0
  // fortification_repair__costPercent:r=0.0
  // fortification_repair__cost:r=0.0
  buildingRadius:r=5.0
  buildingCenterOffset:p3=0.0, 0.0, 0.0
  fortification_repair__text:t="hud/resupply_cannon"
  building_menu__text:t="vehicle/turret"
  object__useDist:r=5.0
  cockpit__zoomOutFov:r=2.7475
  cockpit__zoomInFov:r=5.3955
  cockpit__sightName:t="sight_model/default_tank_spg"
  cockpit__sightFov:r=20.0
  cockpit__cameraDir:p3=1.0, 0.0, 0.0
  fire_damage__fireParamsPreset:t="tank"
  fatal_fire_fx__timeToExplosion:r=77.0
  fatal_fire__timeToExplosion:r=80.0
  camName:t="tank_fps_cam"
  vehicleDeathCameraTemplate:t="tank_cam"

  "phys__kinematicBody:tag"{
  }

  "animchar__updatableOnSleepPhys:tag"{
  }

  "user_point__ignore:tag"{
  }

  "camNames:array"{
    camNames:t="tank_fps_cam"
  }

  "vehicleDeathCamera:eid"{
  }

  "vehiclePrevCamera:eid"{
  }

  "defaultCameraTypes:shared:object"{
    driver:t="driver"
    main_gunner:t="gunner"
    extra_gunner:t="gunner"
    machinegunner:t="gunner"
    commander:t="commander"
    loader:t="commander"
  }

  "vehicle__lockIfTurretBroken:tag"{
  }

  "hitmarks__groups:list<t>"{
  }

  "hitmarks__groupsIds:list<i>"{
  }

  "engineer_building__isUsable:tag"{
  }

  // "fortification__canRepairDead:tag"{
  // }

  "buildByPlayer:eid"{
  }

  "cockpit__isHeroInCockpit:b"{
    _tags:t="gameClient"
    value:b=no
  }

  "cockpit__eid:eid"{
    _tags:t="gameClient"
  }

  _group{
    _tags:t="render"

    "bullet_holes__ignoreCollisionNodes:array"{
    }

    "bullet_holes__movingCollisionNodes:array"{
      movingCollisionNodes:t="turret_front"
      movingCollisionNodes:t="turret_side"
    }
  }

  _group{
    _tags:t="render"

    "visual_dmg_remap__partIdToNodeIdMain:list<i>"{
    }

    "visual_dmg_remap__partIdToNodeIdDmg:list<i>"{
    }

    "visual_dmg_remap__partIdToNodeIdDstr:list<i>"{
    }

    "visual_dmg_remap__collNodeIdToNodeIdMain:list<i>"{
    }

    "visual_dmg_remap__collNodeIdToNodeIdDmg:list<i>"{
    }

    "visual_dmg_remap__collNodeIdToNodeIdDstr:list<i>"{
    }
  }

  _group{
    _tags:t="render"
    animchar_camera_target__node_name:t="optic_turret_01"
    animchar_camera_target__node_offset:p3=0.0, 0.5, 0.0
    animchar_camera_target__nodeIndex:i=-1
  }

  "turretsCorrection:tag"{
  }

  "turretsCorrectionUseThreadPool:tag"{
  }

  "turret_aim__shootRange:r"{
    _tags:t="gameClient"
    value:r=0.0
  }

  "setCameraDirByHero:tag"{
  }

  "explosionCover:tag"{
  }

  "scorchable:tag"{
    _tags:t="render"
  }

  "vehicle__isExplosionFatal:b"{
    _tags:t="server"
    value:b=no
  }

  "dmgNodeIdToGeomNodeId:list<i>"{
    _tags:t="render"
  }

  "dstrNodeIdToGeomNodeId:list<i>"{
    _tags:t="render"
  }

  "geomNodeIdRemapMain:list<i>"{
    _tags:t="render"
  }

  "geomNodeIdRemapDmg:list<i>"{
    _tags:t="render"
  }

  "geomNodeIdRemapDstr:list<i>"{
    _tags:t="render"
  }

  dmg_animchar{
    _tags:t="render"
  }

  cockpit_animchar_res_preload{
    _tags:t="gameClient"
  }

  "vehicle_seats_receive_damage_from_dm_part:list<i>"{
  }

  "phys_vars__skipVisibilityCheck:tag"{
  }

  "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]]
      entranceNode:t="turret_back"
      seatComponent:t="isGunner"
      nextSeat:t="driver"
      shouldHideOwner:b=yes
      receiveDamageFromDMPart:t="gunner"
      cameraNodeName:t="bone_camera_gunner"
      cockpitTemplate:t="germ_pzkpfw_IV_ausf_H_gunner_cockpit"

      "turretNames:array"{
        turret:t="turret_01"
        turret:t="turret_02"
      }
    }
  }

  "turret_gun_flash_fx__flashNodes:shared:array"{
    node:t="emtr_gun_flame"
    node:t="emtr_mg_flame_01"
    node:t="emtr_mg_flame_03"
  }

  "turret_gun_flash_fx__flashFx:shared:array"{
    fx:t="muzzle_ground_60mm"
    fx:t="muzzle_ground_8mm"
    fx:t="muzzle_ground_8mm"
  }

  "turret_gun_flash_fx__flashFxScale:shared:array"{
    scale:r=1.0
    scale:r=1.0
    scale:r=1.0
  }

  "turret_control__emitterNodes:shared:array"{
    node:t="bone_gun_barrel"
    node:t="bone_mg_gun_twin"
    node:t="bone_mg_aa_barrel"
  }

  "turret_control__animVars:shared:array"{

    "vars:object"{
      curYawParamName:t="turret_01_yaw"
      curPitchParamName:t="gun_01_pitch"
      aimActiveParamName:t="aim_01_active"
      paramYawSpeed:t="turret_01_yaw_speed"
      paramYawSpeedMul:t="turret_01_yaw_mul"
      paramYawAccel:t="turret_01_yaw_accel"
      paramMinYawAngle:t="turret_01_min_yaw_angle"
      paramMaxYawAngle:t="turret_01_max_yaw_angle"
      paramMinPitchAngle:t="turret_01_min_pitch_angle"
      paramMaxPitchAngle:t="turret_01_max_pitch_angle"
      paramPitchSpeed:t="gun_01_pitch_speed"
      paramPitchSpeedMul:t="gun_01_pitch_mul"
      paramPitchAccel:t="gun_01_pitch_accel"
      wishYawParamName:t="gun_01_aim:targetYaw"
      wishPitchParamName:t="gun_01_aim:targetPitch"
      gunRecoilParamName:t="gun_01_recoil"
    }

    "vars:object"{
      curYawParamName:t="turret_02_yaw"
      curPitchParamName:t="gun_02_pitch"
    }
  }

  "turret_control__turretInfo:shared:array"{

    "turretInfo:object"{
      turretName:t="turret_01"
      gun:t="pzkpfw_iv_ausf_h_turret_turret_01_75mm_kwk40_l48_1+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_h_turret_turret_02_7_92mm_mg34"
      barrelDm:t="gun_barrel_01"
      verDriveDm:t="drive_turret_v"
      horDriveDm:t="drive_turret_h"
      salt:i=1
    }
  }

  "dm_phys_parts__ammoPartIds:list<i>"{
  }

  "dm_phys_parts__ammo:array"{
    ammo:t="ammo_\w+"
  }

  "fatal_explosion_fx__fx:array"{

    "fx:object"{

      "dmParts:array"{
      }

      "fx:array"{

        "fx:object"{
          name:t="tank_smoke_big_template"
          emitter:t="emtr_smoke_dmg"
        }

        "fx:object"{
          name:t="tank_smoke_small_template"
          emitter:t="emtr_smoke_small_dmg_01"
        }

        "fx:object"{
          name:t="tank_smoke_small_template"
          emitter:t="emtr_smoke_small_dmg_02"
        }

        "fx:object"{
          name:t="tank_smoke_small_template"
          emitter:t="emtr_smoke_small_dmg_03"
        }

        "fx:object"{
          name:t="tank_smoke_small_template"
          emitter:t="emtr_smoke_small_dmg_04"
        }

        "fx:object"{
          name:t="tank_smoke_small_template"
          emitter:t="emtr_smoke_small_dmg_05"
        }

        "fx:object"{
          name:t="tank_smoke_small_template"
          emitter:t="emtr_smoke_small_dmg_06"
        }

        "fx:object"{
          name:t="tank_smoke_small_template"
          emitter:t="emtr_smoke_small_dmg_07"
        }

        "fx:object"{
          name:t="tank_smoke_small_template"
          emitter:t="emtr_smoke_small_dmg_08"
        }

        "fx:object"{
          name:t="tank_smoke_small_template"
          emitter:t="emtr_smoke_small_dmg_09"
        }

        "fx:object"{
          name:t="tank_smoke_small_template"
          emitter:t="emtr_smoke_small_dmg_10"
        }

        "fx:object"{
          name:t="tank_smoke_small_template"
          emitter:t="emtr_smoke_small_dmg_11"
        }

        "fx:object"{
          name:t="tank_smoke_small_template"
          emitter:t="emtr_smoke_small_dmg_12"
        }

        "fx:object"{
          name:t="tank_smoke_small_template"
          emitter:t="emtr_smoke_small_dmg_13"
        }

        "fx:object"{
          name:t="tank_smoke_small_template"
          emitter:t="emtr_smoke_small_dmg_14"
        }

        "fx:object"{
          name:t="tank_smoke_small_template"
          emitter:t="emtr_smoke_small_dmg_15"
        }

        "fx:object"{
          name:t="tank_smoke_small_template"
          emitter:t="emtr_smoke_small_dmg_16"
        }

        "fx:object"{
          name:t="tank_fire_big_template"
          emitter:t="emtr_fire_dmg"
        }

        "fx:object"{
          name:t="tank_fire_small_template"
          emitter:t="emtr_fire_small_dmg_01"
        }

        "fx:object"{
          name:t="tank_fire_small_template"
          emitter:t="emtr_fire_small_dmg_02"
        }

        "fx:object"{
          name:t="tank_fire_small_template"
          emitter:t="emtr_fire_small_dmg_03"
        }

        "fx:object"{
          name:t="tank_fire_small_template"
          emitter:t="emtr_fire_small_dmg_04"
        }

        "fx:object"{
          name:t="tank_fire_small_template"
          emitter:t="emtr_fire_small_dmg_05"
        }

        "fx:object"{
          name:t="tank_fire_small_template"
          emitter:t="emtr_fire_small_dmg_06"
        }

        "fx:object"{
          name:t="tank_fire_small_template"
          emitter:t="emtr_fire_small_dmg_07"
        }

        "fx:object"{
          name:t="tank_fire_small_template"
          emitter:t="emtr_fire_small_dmg_08"
        }

        "fx:object"{
          name:t="tank_fire_small_template"
          emitter:t="emtr_fire_small_dmg_09"
        }

        "fx:object"{
          name:t="tank_fire_small_template"
          emitter:t="emtr_fire_small_dmg_10"
        }

        "fx:object"{
          name:t="tank_fire_small_template"
          emitter:t="emtr_fire_small_dmg_11"
        }

        "fx:object"{
          name:t="tank_fire_small_template"
          emitter:t="emtr_fire_small_dmg_12"
        }

        "fx:object"{
          name:t="tank_fire_small_template"
          emitter:t="emtr_fire_small_dmg_13"
        }

        "fx:object"{
          name:t="tank_fire_small_template"
          emitter:t="emtr_fire_small_dmg_14"
        }

        "fx:object"{
          name:t="tank_fire_small_template"
          emitter:t="emtr_fire_small_dmg_15"
        }

        "fx:object"{
          name:t="tank_fire_small_template"
          emitter:t="emtr_fire_small_dmg_16"
        }
      }
    }

    "fx:object"{

      "dmParts:array"{
      }

      "fx:array"{

        "fx:object"{
          name:t="tank_smoke_small_template"
          emitter:t="emtr_fire_ammo"
        }

        "fx:object"{
          name:t="tank_smoke_small_template"
          emitter:t="emtr_fire_ammo_01"
        }

        "fx:object"{
          name:t="tank_smoke_small_template"
          emitter:t="emtr_fire_ammo_02"
        }
      }
    }
  }

  "fatal_fire_fx__fx:array"{

    "fx:object"{

      "dmParts:array"{
      }

      "fx:array"{

        "fx:object"{
          name:t="tank_ammo_fire_template"
          emitter:t="emtr_fire_ammo"
        }

        "fx:object"{
          name:t="tank_ammo_fire_template"
          emitter:t="emtr_fire_ammo_01"
        }

        "fx:object"{
          name:t="tank_ammo_fire_template"
          emitter:t="emtr_fire_ammo_02"
        }

        "fx:object"{
          name:t="tank_ammo_fire_template"
          emitter:t="emtr_fire_ammo_03"
        }

        "fx:object"{
          name:t="tank_ammo_fire_template"
          emitter:t="emtr_fire_ammo_04"
        }

        "fx:object"{
          name:t="tank_ammo_fire_template"
          emitter:t="emtr_fire_ammo_05"
        }

        "fx:object"{
          name:t="tank_ammo_fire_template"
          emitter:t="emtr_fire_ammo_06"
        }

        "fx:object"{
          name:t="tank_ammo_fire_template"
          emitter:t="emtr_fire_ammo_07"
        }

        "fx:object"{
          name:t="tank_ammo_fire_template"
          emitter:t="emtr_fire_ammo_08"
        }

        "fx:object"{
          name:t="tank_ammo_fire_template"
          emitter:t="emtr_fire_ammo_09"
        }

        "fx:object"{
          name:t="tank_ammo_fire_template"
          emitter:t="emtr_fire_ammo_10"
        }
      }
    }
  }

  "destroyed_fx__fx:array"{

    "fx:object"{

      "dmParts:array"{
      }

      "fx:array"{

        "fx:object"{
          name:t="tank_smoke_destroyed_template"
          emitter:t="emtr_smoke_small_dmg_01"
        }

        "fx:object"{
          name:t="tank_smoke_destroyed_template"
          emitter:t="emtr_smoke_small_dmg_02"
        }

        "fx:object"{
          name:t="tank_smoke_destroyed_template"
          emitter:t="emtr_smoke_small_dmg_03"
        }

        "fx:object"{
          name:t="tank_smoke_destroyed_template"
          emitter:t="emtr_smoke_small_dmg_04"
        }

        "fx:object"{
          name:t="tank_smoke_destroyed_template"
          emitter:t="emtr_smoke_small_dmg_05"
        }

        "fx:object"{
          name:t="tank_smoke_destroyed_template"
          emitter:t="emtr_smoke_small_dmg_06"
        }

        "fx:object"{
          name:t="tank_smoke_destroyed_template"
          emitter:t="emtr_smoke_small_dmg_07"
        }

        "fx:object"{
          name:t="tank_smoke_destroyed_template"
          emitter:t="emtr_smoke_small_dmg_08"
        }

        "fx:object"{
          name:t="tank_smoke_destroyed_template"
          emitter:t="emtr_smoke_small_dmg_09"
        }

        "fx:object"{
          name:t="tank_smoke_destroyed_template"
          emitter:t="emtr_smoke_small_dmg_10"
        }

        "fx:object"{
          name:t="tank_smoke_destroyed_template"
          emitter:t="emtr_smoke_small_dmg_11"
        }

        "fx:object"{
          name:t="tank_smoke_destroyed_template"
          emitter:t="emtr_smoke_small_dmg_12"
        }

        "fx:object"{
          name:t="tank_smoke_destroyed_template"
          emitter:t="emtr_smoke_small_dmg_13"
        }

        "fx:object"{
          name:t="tank_smoke_destroyed_template"
          emitter:t="emtr_smoke_small_dmg_14"
        }

        "fx:object"{
          name:t="tank_smoke_destroyed_template"
          emitter:t="emtr_smoke_small_dmg_15"
        }

        "fx:object"{
          name:t="tank_smoke_destroyed_template"
          emitter:t="emtr_smoke_small_dmg_16"
        }

        "fx:object"{
          name:t="tank_smoke_destroyed_template"
          emitter:t="emtr_fire_ammo"
        }

        "fx:object"{
          name:t="tank_smoke_destroyed_template"
          emitter:t="emtr_fire_ammo_01"
        }

        "fx:object"{
          name:t="tank_smoke_destroyed_template"
          emitter:t="emtr_fire_ammo_02"
        }
      }
    }
  }

  "disableDMParts:list<t>"{
  }

  "dm_phys_parts__engine:array"{
  }

  "dm_phys_parts__transmission:array"{
  }

  "dm_phys_parts__tracks:array"{
  }

  "dm_phys_parts__ammo:array"{
  }
}

1 Like

thanks

1 Like

Every time I spawn, I crash. The issue is from my me ?

1 Like

You need put this code in entities.blk.

Crash may happened because of these properties:

Probably you just doesn’t have is_2_turret.blk file.
There is code (or file, but need to change .txt to .blk): is_2_turret.blk.txt (95.6 KB)
(%ugm/ is your mod folder).

2 Likes