[Server Hosting] Adding custom mapping - CommanderBeelo/DayZ-Expansion-Scripts GitHub Wiki

custom mapping

Requirements:

First, make sure to have Expansion COM installed and functional https://github.com/salutesh/DayZ-Expansion-Scripts/wiki/Setting-up-offline-mode

Placing Objects:

Once in game in the offline mode you are able to bring up the COM menu by pressing "U" on your keyboard. The menu will show up on the right side of your screen: COT Menu

Click on the first menu button to bring up the Items and Objects spawner menu: COT Menu

Select the object you want to spawn in the list and doubleclick with the left mouse button on the position after that to place the object on that position: COT Menu

You can manage and change your placed object in the Object Info menu: COT Menu

Export:

Once you have finished the placement of your objects you can export your work with a simple click on the Object Info menu button called "Export": COT Menu

This will copy all the lines to your clipboard.

Make sure you save your work if you want to keep it for later use by pressing the Save button! This will create a file on your local drive with all the required information (Example: C:\Users\username\Documents\DayZ\CommunityOfflineMode\Scenes\latest.json) so it can be used again in offline mode.

Import:

Once you have exported all the lines to your clipboard you will need to import these to your Expansion.WOLDNAME mission to so they work on your server. For this you need to create a new .MAP file in the directory: Expansion.WORLDNAME\expansion\objects and paste in the exported lines. The file can be named to what ever you want as the system will load every correct .map file that is in that folder!

Troubleshooting

If you are using an old expansion mission, please remove the following lines...

...from the top of your init.c file:

#include "$CurrentDir:\\mpmissions\\MISSION_NAME_HERE.enoch\\expansion\\ExpansionObjectSpawnTools.c"
#include "$CurrentDir:\\mpmissions\\MISSION_NAME_HERE\\expansion\\missions\\MissionConstructor.c"

...from inside the void main() function:

	bool loadTraderObjects = false;
	bool loadTraderNPCs = false;

	string MissionWorldName = "empty";
	GetGame().GetWorldName(MissionWorldName);

	if (MissionWorldName != "empty")
	{
		//! Spawn mission objects and traders
		FindMissionFiles(MissionWorldName, loadTraderObjects, loadTraderNPCs);
	}