How do I create a breaking dead game?

I want to make a breaking dead mod, but I don’t know how to in the mods editor. Is it similar to making a gun game?

2 Likes

You can find answer here: [Info] Zombies Mode Modding - Game Mods - Enlisted

3 Likes

Yep most info are there except the custom tank part which me and @Devenddar and others have explored a lot on

You can ask here if you are confused by some of the things or something dont work. Because its not update now so some of those might not work anymore.

You can actually educate me on how to make a gun game mod but here is what you need to know about breaking dead mod(zombies)
Ok so to simplify it

  • Go create 2 battle areas for Team 1(Players) and Team 3(Zombies).
  • Place respTeam1 entity for player spawn. (Don’t place team 2 respawn unless you want PVP)

Those are just basic stuff you know. Because AI need battle area to limit navmesh(path finding component) to work.

  • Then you will go create an entity called zombie_spawn_mode.
  • Place zombie_spawn_zone entities for zombie spawn locations
  • Find the level entity (for pacific maps its “pacific_level” or “pacific_level_b”, others should be just “level”)
  • VERY IMPORTANT: Open the level entity in editor and add “tank” to level__loadExtraNavMeshes(




  • Place zombie_tank_spawn_zone for tank spawns, set “zombie_tank_spawn_zone__objectiveId” to an integer




  • Create template “zombie_tank_objective” This part is quite confusing actually

    So you need to set the “zombie_tank_objective__id” to the same one as above.
    “ai_tank_objective__aimAtPositionIds”: Just press the + in the array and put a “1” per objective (so that the tank aim at the target location. You may put another objective named “0” just like what i have done)
    “ai_tank_objective__positionIds”: The integer ids of the “custom_ai_tank_objective_position” below
    “ai_tank_objective__aimAtPositions” and “ai_tank_objective__positions”: Leave empty as they will fill themselves automatically when you have ids filled
    “ai_tank_objective__probabilityPerPositionType”: No idea how it work but just put “1.0” as it works for me
    “ai_tank_objective__positionCountsPerType”: I don’t see the point of having a counter but just put how many objectives in total


  • Then place template “custom_ai_tank_objective_position” at desired tank stop location



and this is already done halfway done! Congratulations!




Alright now you would need 4 of the things you see below to make the game actually playable


Firstly, Medbox and Ammo
For Ammo:

// Copy the following code to scene.blk or place a "tutorial_ammunition_box_a" 
// Then use "+" tp add "paid_ammo_box_ressuply"(to make players pay for ammo resupply) and "undestroyable_ri_extra"(to make the ammo box unbreakable by any damage)
entity{
_template:t="tutorial_ammunition_box_a+base_fortification_build+paid_ammo_box_ressuply+undestroyable_ri_extra"
  transform:m=[[0.347486, 0, -0.729748] [0, 0.808256, 0] [0.729748, 0, 0.347486] [386.729, 11.0619, -356.038]]
  ri_extra__name:t="ammunition_supply_a_destructible_part"
  team:i=1
  useful_box__maxUseCount:i=99999 // Basically infinite uses
}

For Medbox:

entity{
  _template:t="tutorial_placed_medic_box_item+placeable_item_in_world+base_ri_building+paid_medkit_box_use+undestroyable_ri_extra"
  medic_box__isOpen:b=yes // Determines the box lid is open or not visually (no effect on functionality)
  useful_box__maxUseCount:i=99999 // Infinite uses
  paid_box__ressuplyCost:i=50 // Price to buy the medkit
  useful_box__uiPrice:i=50 // Displayed price to buy the medkit
  team:i=1
  placeable_item__ownerTeam:i=1
  ri_extra__name:t="dummy_wooden_box_a"
  transform:m=[[0.372519, 0, -0.928025] [0, 1, 0] [0.928025, 0, 0.372519] [394.039, 12.2309, -355.898]] //Location of the entity
  builder_info__team:i=1
  medic_box__openedLidAngle:r=90 // Edit to make lid open at custom angles!
}

For random box:
It is very simple, just press T and place the entity “random_weapon_box”
For wall buys:

  1. If you are fine with the weapons used in the event only:
  • Just go to weapon tab in the create entity menu
    and fine the weapons with “zombie_gun_item” in their names(this is important because normal weapons will not have initial ammo and refill with the ammo box)
  • Add template (“+” button in the properties menu) “paid_loot_weapon” and edit the property “paid_loot_cost” (or else it defaults to be 10 points for purchase)
  1. If you want custom made weapons, there is the format, provided by @Devenddar when I asked before
// Create a file named "entities.blk" in the folder with the "scene.blk" to load this code in
beretta_m1918_30_zombie_gun{ // Define the name of the new gun, it can be any name but just make it easy to remember
  _use:t="beretta_m1918_30_gun" // Find the name of the original gun to load its data
  _use:t="gun_with_initial_ammo" // This tag make the gun has ammo when picked up/bought
  _use:t="paid_loot_ressuply" // This allows the weapon to be used with the ammo box we made above
  item__template:t="beretta_m1918_30_zombie_gun_item" // Copy name of the template below
  item__weapTemplate:t="beretta_m1918_30_zombie_gun" // Copy the name above 
  paid_loot__ressuplyCost:i=30 // The resupply cost don't actually work on "paid_loot_item" template
}

beretta_m1918_30_zombie_gun_item{
  _use:t="item_gun"
  _use:t="beretta_m1918_30_zombie_gun" // Copy the name of the gun template we just defined above
  collres__res:t="beretta_m1918_30_collision" // Not all collision are named like this, so if it gives you error when you try to place it down, you had better place the original gun and copy its "collres__res" tag

  _group{
    _tags:t="server"
    "gun__initialAmmoHoldersCount:list<i>"{
item:i=6 // Max number of magazines (including the one loaded on the gun. E.g. A normal kar98k should have 20 ammo in reserve and 5 loaded at max, in this case you would write i=5 here)
    }
  }
}

Your game is basically done here!
(More advanced stuff below)

And when your map is out, you will find that engineers are breaking your map
So introducing you to the custom profile that @Devenddar gave me.
This is the recreation of the soldier we controlled during the event

  • Firstly go to your scene.blk and paste the following code
entity{
  _template:t="custom_profile"
  customProfile:t="%ugm/zombie_profile.json"
}
  • And then download the following file:
    zombie_profile.json.txt (29.5 KB)
  • Rename it to zombie_profile.json
  • Lastly, put the renamed file into the folder with the scene.blk and entities.blk

Note that after you added the custom_profile entity, you can no longer test in mod editor because it fails to recognize the file
The file will work once it is on gaijin server.

2 Likes

Also need set tank inside level__loadExtraNavMeshes property that in level entity. Else game will crashes after tank spawn. And better to create spawner for tanks (zombie_tank_spawn_zone). Or edit zombie_spawn_mode and disable tanks.

1 Like

Bro asked a question and forgot to check the forum.
Well he might not be expecting an answer this quickly lol

1 Like

@BigMan4Reals i hope the guide is all you need, and post here should you encounter any issues or errors. You may read my development post too. The source code of my map is available and you can copy it for learning.

1 Like

So I just copy and paste these into the BLK file? And for those with the coordinates, I can just make a marker for where to put them, and they should go where I want them to go if I input the coordinates correctly in the BLK?

Depends on which part you mean. For battle area, team 1 spawns and zombie spawn zones, you just press t to open the create entity menu to place them
Zombie spawn mode is an entity without coordinates, you can view, edit and delete it in the tab menu (serch entity menu)

I wished there are markers. But no. You need to take coordinates from “transform” of an entity, and manually copy it onto the entity you create.

Edit #1:

If you mean ammo and medbox, yes you need to copy the code and find the coords for it.(transform = coords)

You can download my map as a sample:Enlisted mod share - Google Drive
Entities.blk goes into the same folder as secne.blk. and remember to remove the custom_profile entity if you want to test play