[Info] Zombies Mode Modding

Forgot to add tank inside level__loadExtraNavMeshes.


And it seems that they will not move. Probably because tank navMesh didn’t generated.

2 Likes

so, to reiterate,

  • add the " tank " inside level__load[…] parameter ( inside level node )

  • add the zombie tank + zombie_tank_objective + zombie_ai_vehicle_tank_crew_member

correct?

Probably will be crash or it will be not created (because of zombie_ai_vehicle_tank_crew_member).

I created just zombie_ai_vehicle_tank+ai_aircraft_crew_ger.
In properties changed ai_aircraft_crew__soldier_template. Set there zombie_ai_vehicle_tank_crew_member.

1 Like

can someone post the blk of

germ_pzkpfw_IV_ausf_J_zombie ?

i have to figure out how it’s coded because my own tanks do not fire their main gun, and i would like understand how they managed to damage part of the panzer IV J.

which can allow us to place damaged vehicles in our maps.

How do I set paratrooper zombie spawn?

Hmmm… It seems that they spawn nearby team 1 spawn points. Using entities.blk you can try create new entity that will spawn them in another team spawners. Here is code:

zombie_rush_paratrooper_spawner_team2{
  _use:t="zombie_rush_paratrooper_spawner"
  simple_spawner__useTeamSpawns:i=2
}

Need only add them inside wave code. And they will spawn nearby respTeam2 points. You also can edit team (and in respawn point too) if want set another unqiue spawn point.

1 Like

So they just spawn near the spawn of team 1?

Hmmm… When you spawn it then it doesn’t looks damaged. Anyways… It seems that all info about it inside dm_parts__initializeKilled.

  "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"
  }

There also damage decals, but… It contains sooooo many lines. Around 1000.

These properties are changed:

  _group{
    _tags:t="render"

    "damage_decals_decor__shrapnelDecalLocalNormal:list<p3>"{
      item:p3=0.292375, 4.03216e-06, 0.956304
    }

    "damage_decals_decor__projectileHitLocalNormal:list<p3>"{
      item:p3=0.250654, -0.968044, 0.00803057
    }

    "damage_decals_decor__projectileHitCaliber:list<r>"{
      item:r=0.0762
    }

    "damage_decals_decor__shrapnelDecalCollNodeName:list<t>"{
      item:t="ex_armor_body_02"
    }

    "damage_decals_decor__projectileHitLocalPos:list<p3>"{
      item:p3=1.29257, -1.097, 1.50737
    }

    "damage_decals_decor__shrapnelDecalLocalPos:list<p3>"{
      item:p3=-0.131775, -0.141825, 0.0752282
    }

    "damage_decals_decor__projectileHitLocalDir:list<p3>"{
      item:p3=-0.998302, -0.0510127, 0.0281334
    }

    "damage_decals_decor__shrapnelDecalLocalDir:list<p3>"{
      item:p3=0.343383, 0.150422, -0.927072
    }

    "damage_decals_decor__projectileHitDamageType:list<t>"{
      item:t="kinetic_ricochet"
    }

    "damage_decals_decor__projectileHitCollNodeName:list<t>"{
        item:t="body_side"
    }
}

If you need full code then edit these properties in tank and save changes. They’re should be added in scene.blk.

If you nothing edit then yeah. Near spawn of team 1, but in sky. 300-400m.

1 Like

do you have the full blk?

i would like to see it’s code.

maybe i’m missing some other properties.

because i tried to make a jagdpanther with ai stuff,
but it’s not working.

it moves ( achtually, i still have to figure out why it moves in reverse, stops a few seconds, and then moves in traverse again. i guess i’ll just remove the driver ), but it doesn’t shoot unlike the panzer IV J.

zombie_jagdpanther_ai_vehicle_tank{
  _use:t="ai_vehicle_tank_no_objective"
  _use:t="germ_jagdpanther"
  paid_loot__pointsForKill:i=100
  vehicle_seats__restrictToTeam:i=3

  "dontCreateNphysObstacle:tag"{
  }

  "zombie:tag"{
  }

  _group{
    _tags:t="server"
    ai_vehicle_tank__pathFindingState:i=1
    zombie_ai_vehicle_tank__timeToDestroy:r=900.0
    zombie_ai_vehicle_tank__destroyAtTime:r=0.0
    ai_vehicle_tank__ignoreBattleArea:b=yes
  }
}


germ_jagdpanther{
  _override:b=yes

  "turret_control__turretInfo:shared:array"{

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

panzerjager_panther_turret_01_88mm_pak43_ai{
  _use:t="panzerjager_panther_turret_01_88mm_pak43"
  turret__allowShootingFromBroken:b=yes

  _group{
    _tags:t="server"
    tank_turret_ai__maxBurstCount:i=0
    tank_turret_ai__longPauseWaitTime:r=0.0
    tank_turret_ai__attackDist:r=40.0
  }
}

… or maybe not all tanks are suited to have AIs.

but, thanks for the damaged parts and neat features of damage decors :slight_smile:

1 Like

Turret doesn’t look unique.

pzkpfw_iv_ausf_j_turret_01_75mm_kwk40_l48_zombie_ai{
  _use:t="pzkpfw_iv_ausf_j_turret_01_75mm_kwk40_l48"
  turret__allowShootingFromBroken:b=yes

  _group{
    _tags:t="server"
    tank_turret_ai__maxBurstCount:i=0
    tank_turret_ai__longPauseWaitTime:r=0.0
    tank_turret_ai__attackDist:r=40.0
  }
}

But yeah. Here is full file…
germ_pzkpfw_iv_ausf_j_zombie.blkx.txt (41.4 KB)
And this:

zombie_ai_vehicle_tank{
  _use:t="ai_vehicle_tank_no_objective"
  _use:t="germ_pzkpfw_IV_ausf_J_zombie"
  paid_loot__pointsForKill:i=100
  vehicle_seats__restrictToTeam:i=3

  "dontCreateNphysObstacle:tag"{
  }

  "zombie:tag"{
  }

  _group{
    _tags:t="server"
    ai_vehicle_tank__pathFindingState:i=1
    zombie_ai_vehicle_tank__timeToDestroy:r=900.0
    zombie_ai_vehicle_tank__destroyAtTime:r=0.0
    ai_vehicle_tank__ignoreBattleArea:b=yes
  }
}
1 Like

interesting.

it appears the code does not work for all tank weapons as of yet.


pzkpfw_iv_ausf_j_turret_01_75mm_kwk40_l48_zombie_ai{
  _use:t="pzkpfw_iv_ausf_j_turret_01_75mm_kwk40_l48"
  turret__allowShootingFromBroken:b=yes

  _group{
    _tags:t="server"
    tank_turret_ai__maxBurstCount:i=0
    tank_turret_ai__longPauseWaitTime:r=0.0
    tank_turret_ai__attackDist:r=40.0
  }
}
panzerjager_panther_turret_01_88mm_pak43_ai{
  _use:t="panzerjager_panther_turret_01_88mm_pak43"
  turret__allowShootingFromBroken:b=yes

  _group{
    _tags:t="server"
    tank_turret_ai__maxBurstCount:i=0
    tank_turret_ai__longPauseWaitTime:r=0.0
    tank_turret_ai__attackDist:r=40.0
  }
}

maybe it needs to be on a new template.

EDIT:

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.

1 Like

Hey just want to know is the gamemod “survive” can work with AI soldier with guns?

Probably yes. Zombies with guns looks similar to default enlisted soldiers.

It doesn’t seem to make a difference.

I can only guess which property does what, i bumped

kép

To 3000, assuming it means the ai gets attracted to danger (in this case human entites?) within a 3000m radius.

Same with this:

kép

Assuming it means that the AI will follow the player within a 3000m radius even if not in line of sight.

EDIT:

Note to everyone: editing the BEH tree value seems to have solved the problem about distance.

nzombie_ai_without_bullet_reaction{
  _override:b=yes
  _use:t="beh_tree_regular_check"
  _use:t="agent_dangers_hit_reaction"
  _use:t="get_reaction_offender_ai"
  _use:t="corridor_walker"
  _use:t="walker_agent_danger_calc"
  _use:t="affected_by_attract_position"
  _use:t="obstacle_avoider"
  _use:t="door_obstacle_handler"
  _use:t="destructable_obstacle_handler"
  _use:t="stuck_detector"
  stuck_detector_debug__enabled:b=no
  walker_agent__velViscosity:r=0.3
  walker_agent__velFactor:r=1.0
  walker_agent__aimViscosity:r=0.5
  walker_agent__aimSpeed:r=1050.0
  _tracked:t="walker_agent__targetEid"
  walker_agent__targetPos:p3=0.0, 0.0, 0.0
  walker_agent__standShootLocalPos:p3=0.0, 1.2, 0.0
  agent_dangers__blindDistance:r=3000.0
  agent_dangers_calc__dangerMeterMult:r=1.0
  beh_tree__node:t="nzombie_attacker"
  beh_tree__refs__wander:t="sub.nAttackPriorityTarget"
  beh_tree__refs__attack:t="sub.attackPlayerOpportunistic"
  beh_tree__debug:b=no
  beh_tree__enabled:b=yes
  beh_tree__blackboard__enemyRadius:r=5000.0 //key value not 100% sure.
  obstacle_avoider__avoidsDamageZones:b=no
  agent_dangers__maxDangerDist:r=3000.0
  agent_dangers__frustumAngle:r=40.0
  agent_dangers__projectileDist:r=4.0
  agent_dangers__decrease:r=5.0
  agent_dangers__timeFromDetection:r=3.0
  agent_dangers__hmapTraceOffset:p3=0.0, -0.1, 0.0
  agent_dangers__nextDangersCheckTime:r=0.0
  agent_dangers__nextDangersTraceTime:r=0.0
  agent_dangers__dangerIncrease:r=5.0
  agent_dangers__dangerOutIncrease:r=0.0
  agent_dangers__maxDangerDistMult:r=0.3
  agent_dangers__standShootPos:p3=0.0, 0.0, 0.0
  agent_dangers__standShootDir:p3=0.0, 0.0, 0.0
  agent_dangers__rayMatId:i=-1
  agent_dangers__rayMat:t="aimRay"

  "walker_agent__targetEid:eid"{
  }

  "beh_tree__debugState:t"{
    _tags:t="dev"
    value:t=""
  }

  "beh_tree:BehaviourTree"{
    _tags:t="server"
  }

  agent_dangers{
    _tags:t="server"
  }
}

EDIT 2: No it did not.

2 Likes

Where do i put this quote in entities?

dp_42_beltfed {
_override:b=yes
gun_spread__maxDeltaAngle:r=0.44
gun_deviation__movementDevInc:p2=12.24,33.6
}

dp_42_beltfed_gun {
_override:b=yes
gun__reloadTime:r=5.2
gun__altReloadTime:r=4.0
gun__magnification:r=1.0
gun__recoilAmount:r=0.0115
gun__kineticDamageMult:r=2
gun_deviation__maxDeviation:r=0.01
gun__visualRecoilMult:r=4.0
}

Example for new gun:

tokyo_arsenal_model_1927_zombie_gun{
  _use:t="tokyo_arsenal_model_1927_gun"
  _use:t="gun_with_initial_ammo"
  _use:t="paid_loot_ressuply"
  item__template:t="tokyo_arsenal_model_1927_zombie_gun_item"
  item__weapTemplate:t="tokyo_arsenal_model_1927_zombie_gun"
  paid_loot__ressuplyCost:i=180
}
tokyo_arsenal_model_1927_zombie_gun_item{
  _use:t="item_gun"
  _use:t="tokyo_arsenal_model_1927_zombie_gun"
  collres__res:t="tokyo_arsenal_model_1927_collision"

  _group{
    _tags:t="server"

    "gun__initialAmmoHoldersCount:list<i>"{
      item:i=4
    }
  }
}
2 Likes

dp_42_beltfed_zombie_gun{
_use:t=“dp_42_beltfed_gun”
_use:t=“gun_with_initial_ammo”
_use:t=“paid_loot_ressuply”
item__template:t=“dp_42_beltfed_zombie_gun_item”
item__weapTemplate:t=“tokyo_arsenal_model_1927_zombie_gun”
paid_loot__ressuplyCost:i=400
}

dp_42_beltfed_gun_zombie_gun_item{
_use:t=“item_gun”
_use:t=“dp_42_beltfed_gun_zombie_gun”
collres__res:t=“dp_42_beltfed_gun_collision”

_group{
_tags:t=“server”

"gun__initialAmmoHoldersCount:list<i>"{
  item:i=4
}

}
}

I did it quite like this… basically replaced all the names of your code correctly with the dp_42_beltfed but somehow it still doesnt work properly…

because collres was different:

Here is the full code:

dp_42_beltfed_zombie_gun{
  _use:t="dp_42_beltfed_gun"
  _use:t="gun_with_initial_ammo"
  _use:t="paid_loot_ressuply"
  item__template:t="dp_42_beltfed_zombie_gun_item"
  item__weapTemplate:t="dp_42_beltfed_zombie_gun"
  paid_loot__ressuplyCost:i=180
}
dp_42_beltfed_zombie_gun_item{
  _use:t="item_gun"
  _use:t="dp_42_beltfed_zombie_gun"
  collres__res:t="dp_1942_collision"

  _group{
    _tags:t="server"

    "gun__initialAmmoHoldersCount:list<i>"{
      item:i=4
    }
  }
}

Don’t forget to add
kép
to make it buyable. Define resupply cost in entities.blk

2 Likes

It worked! Thank you!

Another question if you dont mind:

With anim__char you can replace the appearance of a gun.

Example: If i take ppsh(stick) and put pps 42 into the ppshs anim__char, it will still be the ppsh with all animations and stats, but with the appearance of an pps 42.

It works if you do it in the editor and copy it, but as soon as you pick it up, it turns into the ppsh again, so i guess i have to write something in entities.blk again… but how does the anim__char code work there? What do i have to do?

I did this before on my Ural map:

entity{
  _template:t="mkb_42_h_gun_item+item_in_world"
  transform:m=[[0.765899, 0.00752191, 0.642919] [-0.622519, 0.258819, 0.738569] [-0.160844, -0.965897, 0.202912] [325.305, 139.37, 824.279]]
  item__name:t="Sturmgewehr 43(F)"

  "customProps:object"{
    "initialComponents:object"{
      gun__shotFreq:r=10.833
      item__name:t="Sturmgewehr 43(F)"
      gun__altReloadTime:r=1.6
      gun__reloadTime:r=2.4
      animchar__res:t="vstg_1_5_char"
      item__userstats__pickupName:t="Sturmgewehr 43(F)"
    }
  }
}

Basically an mkb42 with vstg skin

This worked before fine

3 Likes