[Server Hosting] Adding custom mapping - CommanderBeelo/DayZ-Expansion-Scripts GitHub Wiki
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:
Click on the first menu button to bring up the Items and Objects spawner 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:
You can manage and change your placed object in the Object Info 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":
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);
}