Jump to content
Poncho

How to make Custom map content [ Tutorial & Ongoing Support ]

Recommended Posts

I DO have a question though. One that can be answered by yourself, and anyone who has uploaded this city into their server. Do your roads work properly? I have tried to incorporate new roads into the map, but when extracted and sent to my admin.. he does not see the roads I took the time to place. Is this just a glitch? (if he uploads the file into the server, will the roads show?)

 

 

As long as your code is okay then you should have no problem once it is in the server. I have experienced this myself checking over content sent to me by an editor for my server, it can happen for a number of reasons, conflict in versions e.t.c for example he might not be launching the editor the same way you do so does not get the right one initializing. Either way if you can see it all and it is all aligned then you good to go :)

 

If he is worried about putting it in the server before he knows it is working tell him to sling it into his test server or you do it, either way you should be okay.

 

*Just brought this across from another of my threads to bolster the questions and answers in this tut thread - Thanks to Hero2None for the addition.

Share this post


Link to post
Share on other sites

 

great guide, apologize if this has been asked before but how do you place a building flat when it is inserted like below.  Example, on a flat hill, I want the building placed so that it is perfectly level, not following terrain.

_vehicle_0 = objNull;
if (true) then
{
  _this = createVehicle ["Land_Mil_Barracks_i", [4246.855, 10413.166, 0.12567125], [], 0, "CAN_COLLIDE"];
  _vehicle_0 = _this;
  _this setDir 143.43208;
  _this setPos [4246.855, 10413.166, 0.12567125];
};

Is there a way to specify a default azimuth of 0 or does 0 just mean follow the terrain?  

 

looks like this may work?  will have to test when I'm home.

_this setVectorUp [0,0,1];

 

 

Add the "setVehicleInit" line to the SQF file for any buildings that are leaning.  

_this setDir -415.88132;
_this setVehicleInit "this setVectorUp [0,0,1];";
_this setPos [1939.5042, 14563.26, -0.068630017];

Beidi file should look as follows:

Add the "INIT" line between the "AZIMUT" and "PARENT" lines.

AZIMUT="-67.231117";
INIT="_this setVehicleInit "this setVectorUp [0,0,1];";";
PARENT="";

*Again, brought this over from another thread. Big thanks to Wesley for this one, hope it helps hambeast, althought it looks like you were on the right track.

Share this post


Link to post
Share on other sites

What a great tutorial! It pretty much summarizes 10-15 various past and outdated tutorials - now people only need to go to one page to look stuff up, so thumbs up ;)

 

Thank you for the shoutout, Poncho :)  It really warmed to see an honest guy.

Unfortunately, I need to be honest as well and pass the credits for optimization on to Charlatan, maker of the Ghost of Chernarus add-ons.

 

It is great to see, how you add and execute your files server-side only. This is the proper way of doing it, and reduces the mission file size needed for clients to download to play on your server.

Also, it gives you some kind of protection of your files, to some extent.

However, if you want to protect them even better, only a few people are skilled enought to snatch them just by joining your server and look in the temp folder:

 

1. Make the folder for your custom .sqf file in the server folder, as described in the tutorial and put your .sqf file in there.

2. In the top of server_functions.sqf, you will see lines somehow like this:

server_spawnEvents =  compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\server_spawnEvent.sqf";

Right under these lines, you put in this line:

mapedit = compile preprocessFileLineNumbers "z\addons\dayz_server\Maps\mapedit.sqf";

You just defined a function that compiles your buildings into the server code, and it of course needs to be called in init.sqf (in the dayz_missions folder).

Somewhere in the "if (isServer) then {" section, you add this line:

call mapedit;

Of course, you edit the names of your files and functions to your liking.

 

 

About critisism - please give authors more credit for spending their time trying to help you? If the author was to cover every single detail and exception to the rules of thumb, it would be 15 pages long.

However, if people used commenting to kick in their knowledge on specific issues related to this tutorial, it would make a great reference in the end.

Share this post


Link to post
Share on other sites

Added Charlatan to the thanks on the original post. As for the guide, all outside and additional pointers are featured at the end and with credit. As for all the rest of it, it is entirely my work, written by myself from personal experience with this editor.

 

Thanks for the feedback  and praise Raven.

Share this post


Link to post
Share on other sites

Hello, if got a quick question, how is it possible to see all the Traders etc. on the Map when editing it? Cause we want to edit the Trader Citys etc. but we aren't sure how this works, particularly cause we want to move the Traders a bit either. Would be great if we could get a quick response on that :)

Share this post


Link to post
Share on other sites

Unless there is an official .biedi file for the traders I dont know of, they cannot be edited.

You need to build the location of the new trader yourselves, and delete the old location buildings.

 

Trader buildings and tables etc are located in mission.sqf, including the traders themselves defined as units.

 

.sqf files uses [XYZ] coordinates and for their markers, the .sqm files use [XZY] coords.

Share this post


Link to post
Share on other sites

Unless there is an official .biedi file for the traders I dont know of, they cannot be edited.

You need to build the location of the new trader yourselves, and delete the old location buildings.

 

Trader buildings and tables etc are located in mission.sqf, including the traders themselves defined as units.

 

.sqf files uses [XYZ] coordinates and for their markers, the .sqm files use [XZY] coords.

 

Oh but there is ;), give me a few minutes :)

 

Your welcome ;)

https://www.mediafire.com/?6tig61496obvs7u

 

contains up-to-date traders & wholesalers/boat traders

:D

Share this post


Link to post
Share on other sites

Great help Scenic! Adding a section to the Original Post for editing trader layouts, much appreciated :)

 

You're more than welcome! I spent ages trying to learn to edit the traders so this is my thank you too the community for the support ;)

Share this post


Link to post
Share on other sites

This community really is one of the best within the different dayz mods. Take this thread for example, I remember what it was like trying to get my head round all this, and how much easier it would have been with help, so I made this. Even here my knowledge is limited, but where I falter others step in to support the weight. 

 

It happens time and time again throughout these forums with people grouping together to better this mod, our servers, and the community in general. Thanks to all who have helped in this thread, and by doing so set people on their way to producing more map content for all of us to see. 

 

If I was allowed to drink on ship here (which unfortunately I am not :angry: ) I would raise a glass to you all!  :D

Share this post


Link to post
Share on other sites

Hey guys, is there a limit on how many items you can add into one map?

 

Ive got quite a large base with modular items also ( cinderwalls) etc... and in the map editor its spawning everything fine, but once i put it up on my test server, it only spawns half of the modular items,

any ideas?

Share this post


Link to post
Share on other sites

Hey :)
I have a question when about getting the map edit on my server.
I've been fighting with this for that last few hours, but no matter what I do, it dosn't seem like I can get it to work.
I think the problem is in the part where you put the mapedit.sqf ... I can't really get it to make sence :S
And where exactly to put the

 

execVM "\z\addons\dayz_server\Missions\mapedit.sqf";

 

You say it should be put in the bottom of the file, but sadly I'm don't really have any idea what I'm doing, I just keep on trying untill it works..

but now I'm stuck and I need help :)

Share this post


Link to post
Share on other sites
 

Hey  :)
I have a question when about getting the map edit on my server.
I've been fighting with this for that last few hours, but no matter what I do, it dosn't seem like I can get it to work.
I think the problem is in the part where you put the mapedit.sqf ... I can't really get it to make sence :S
And where exactly to put the

 

execVM "\z\addons\dayz_server\Missions\mapedit.sqf";

 

You say it should be put in the bottom of the file, but sadly I'm don't really have any idea what I'm doing, I just keep on trying untill it works..

but now I'm stuck and I need help  :)

 

1. Unpack your server.pbo                                                                      <-- If using ViLayer then there is no need,

                                                                                                                     you use the browser tool.

 

2. Create a folder in the root of the server.pbo called: Maps                  <-- This means make a new folder called
                                                                                                                      'Maps' In the server.pbo.
 
3. Drag your mapedit.sqf into this folder.                                                 <-- This means add your mapedit.sqf into
                                                                                                                      the above folder you just made.
 
4. In the init folder you will find a file called server_functions.sqf, at the bottom of the file add this line:
execVM "\z\addons\dayz_server\Missions\mapedit.sqf";                           <-- Literally just paste this line right at the
                                                                                                                       bottom of the  server_functions.sqf
                                                                                                                       file on a new line.
 
 

 

Argh. This house I keep trying to place, no matter location, rotation, height, or optimization and "fixes" I apply; leans... 

 

Which house is it, and what type of terrain are you trying to place it on?

 

 

 

Hey guys, is there a limit on how many items you can add into one map?

 

Ive got quite a large base with modular items also ( cinderwalls) etc... and in the map editor its spawning everything fine, but once i put it up on my test server, it only spawns half of the modular items,

any ideas?

 

Are you putting it server side or mission side?

Share this post


Link to post
Share on other sites

I'm doing some digging and I guess my trader edit goes inside my server.pbo? does it replace DayZ_Epoch_11.Chernarus\mission.sqf entirely? Or do I mission fix it in my init.sqf and put a copy inside my mission.pbo?

Share this post


Link to post
Share on other sites

Hey :)

I have a question when about getting the map edit on my server.

I've been fighting with this for that last few hours, but no matter what I do, it dosn't seem like I can get it to work.

I think the problem is in the part where you put the mapedit.sqf ... I can't really get it to make sence :S

And where exactly to put the

 

execVM "\z\addons\dayz_server\Missions\mapedit.sqf";

 

You say it should be put in the bottom of the file, but sadly I'm don't really have any idea what I'm doing, I just keep on trying untill it works..

but now I'm stuck and I need help :)

My path for vilayer ended up being:

         execVM "\vilayercodecustom\dayz_epoch\maps\mapedit.sqf";

 

 

I went to: File manager

select: Vilayercodecustom

then: dayz_epoch  

At this point I hit the New Folder icon and named the folder maps

then opened maps folder and hit upload and browse for my mapedit.sqf file (that i had edited previously to Poncho's instructions) and hit upload

then I hit the page back icon

then open the init folder and at the bottom I added   execVM "\vilayercodecustom\dayz_epoch\maps\mapedit.sqf";

which is a little different to Poncho's original instructions but it worked for me.

 

I hope this helps and doesnt add to your problem

I am in no way good at this stuff

Share this post


Link to post
Share on other sites

My path for vilayer ended up being:

         execVM "\vilayercodecustom\dayz_epoch\maps\mapedit.sqf";

 

You could still use "execVM "\z\addons\dayz_server\Missions\mapedit.sqf";" on Vilayer if you paste your mapedit.sqf to "vilayercodecustom\dayz_epoch\missions\".

Share this post


Link to post
Share on other sites
_bldObj = objNull;
if (true) then
{
  _bldObj = createVehicle ["MAP_asf2_0_2000", [1139.8907, 2393.6802, 9.5367432e-007], [], 0, "CAN_COLLIDE"];
  _bldObj setDir -26.330427;
  _bldObj setPos [1139.8907, 2393.6802, 9.5367432e-007];
};

So if you have something like this:

 

  • _vehicle_19 = objNull;
  1. if (true) then
  2. {
  3.   _this = createVehicle ["Land_SS_hangar", [8135.5732, 13685.411, 0.58342779], [], 0, "CAN_COLLIDE"];
  4.   _vehicle_19 = _this;
  5.   _this setDir 89.437462;
  6.   _this setPos [8135.5732, 13685.411, 0.58342779];
  7. };

Would you replace every _this =  with _bldObj ?? and i would also assume that in the example above i would remove _vehicle_19 = _this; Is that correct?  And last does the first bldObj have to have a number after it or can they all just start with _bldObj? for example above that first line it has vehicle 19... would it have have to be bldObj 19?  Any help would be great and thank you for this great post!!!!!

Share this post


Link to post
Share on other sites

Great thread, lots of good tips here.

 

My question is regarding fine manipulation of objects, specifically small objects near to bigger ones.  I find it very difficult with the editor to do that.  More often than not the smaller object cannot even be selected.  Is there some way to select the object from the text list and then "lock" on to it so I can move small items (especially interior) around?

 

Any help is aprpeciated, thanks!

Share this post


Link to post
Share on other sites

@ Ranoko yes its correct.

  • replace _vehicle_19 with _bldObj
  • delete line _vehicle_19 = _this;
  • replace _this with _bldObj

Final result looks like:

		_bldObj = objNull;
		if (true) then
		{
		  _bldObj = createVehicle ["Concrete_Wall_EP1", [7936.5615, 13740.813, 0.00021362305], [], 0, "CAN_COLLIDE"];
		  _bldObj setDir -69.370018;
		  _bldObj setPos [7936.5615, 13740.813, 0.00021362305];
		};

		_bldObj = objNull;
		if (true) then
		{
		  _bldObj = createVehicle ["Concrete_Wall_EP1", [7935.1016, 13737.817, 0.00012207031], [], 0, "CAN_COLLIDE"];
		  _bldObj setDir -58.284298;
		  _bldObj setPos [7935.1016, 13737.817, 0.00012207031];
		};

 

@Aristoi use the 2D Editor to select small Objects

Share this post


Link to post
Share on other sites

@Aristoi use the 2D Editor to select small Objects

 

Thanks for the reply, gunnar.  You mean the 2d map view in the 3d Editor, or the actual Arma 2d Editor (never used that one)?  I'm specifically trying to place small objects in the interios or a building, where there is not a lot of space.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Similar Content

    • By Sandbird
      Dayz.Epoch.1.0.62 - 3d.Editor.Live.Mission with Database interaction


      -=Youtube Demo=-
       
      What is this
      A custom mission file for the purpose of testing/writing scripts for DayZ Epoch without the need of a server.
      It emulates the dayz_server and dayz_mission files, so you can write scripts using the 3d editor. No need to use a dayz_server for debugging anymore. We all know how time consuming that is.

      Features
      Full Database integration (yes thats right... [:)] I would suggest to have a maximum of 100 objects in your object_data table for faster results.
      Took 5 min to load 10000 objs from my real database, so also make sure you dont go crazy with the MaxVehicleLimit, MaxDynamicDebris values in the init.sqf Fully working GUI, zombies, hit registration, addactions, everything! Write code and execute it on the fly. No need to start a server and join with a client to test things. 100% of your scripts will work! (dynamic weather, default loadouts, custom scripts etc) 2 setups. A default 3d editor player with a default loadout or a Real database character based on your UID Includes most of BIS_fnc functions, so actions like BIS_fn_invAdd will work (i've added most common ones...more included though...check details bellow.) Everything works...when i say everything i mean EVERYTHING !. (Spawning objects on mission start, traders (buy/sell), maintenance, character update, events, stats...etc) New Features!
      All .FSM files have been converted to .SQF meaning the mission acts as a full fledged server / client merge. New character creation has been ignored though, so the server expects that the client that is about to connect exists in the database. The server will start, wait for a 'fake client connection to happen' (you pressing the Preview button), and then it will load your character from the database, spawn Hive objects and create new based on your MaxVehicleLimit values etc, then initialize the events and finally spawn the character to his worldspace location. Use AdminTools to spawn any Perm, Temp vehicle you want, including buildings, crates etc. Building objects is working as expected with a little AddAction trick. Unfortunately the primary display (eg: findDisplay 46) isnt working inside the editor. That means that building stuff or placing objects is very hard to do since we can't 'capture' keystrokes.
      Further details below after the Installation instructions. Arma2Net is not allowed by Battleye anymore, so i am using extDB3 now. Requirements:
      A mysql server on the same machine as your Arma2 editor. Well...a remote PC would work as well...just make sure YOU ARE NOT using your original database. Make a copy of it!. This mission will interact with your database !
      If you don't have a mysql server on your pc...i suggest you get WampServer. It's the easiest php/mysql server out there.
      Installation
      Head over to the GitHub where the project is. Click Download on the right sidebar, and extract the rar file. Copy the 3d.live1062.DayzEpochTemplate.Chernarus mission file in your \My Documents\ArmA 2\missions\ folder If your active Arma profile is not the default one, then you probably should extract it in the \My Documents\ArmA 2 Other Profiles 2\missions\ folder, otherwise you won't be able to find the mission inside the editor. Copy everything inside "Arma2OA root folder" in your root Arma2OA folder (the same folder where @DayZ_Epoch_Server, MPMissions are). The real_date.dll...(Thanks to killzonekid) is used to get your machine's date/time to be used for live day/night cycles inside the game (...you can set a fixed day if you want...details bellow). The tbbmalloc - tbbmalloc_x64.dll files are provided by extDB3. They shouldnt interfere with your normal game, but they are needed for the mission to be able to connect to your MySQL server. (Make a backup of your original ones if you want, just be safe.) EATbaseExporter is used by the AdminTools, and allows you to export bases to an .sqf format so you can import them afterwards to your server. Now edit -=START HIVE MISSION=-.bat which was placed in your Arma2 folder, and fix the paths to their proper values. If you are using DZLauncher then the @Dayz_Epoch folder is probably where i placed it myself.  Battleye needs to be disabled inside the editor otherwise the extDB3 addon will not work. The .bat is taking care of that. It will disable Battleye after 7 seconds. Depending on your machine, if you see that the time isn't sufficient, raise that value a little bit. A sample Database has been provided with me as a character and a basic loadout. You can of course use your own database, just remember to delete most of your Object_Data table vehicles. The more vehicles you have there, the longer it will take for the dayz_server to spawn them. If you just want to write a script independent of cars etc...why wait 5 minutes for the server to spawn 10000 vehicles :) Open "ArmaOA\@extDB\extdb3-conf.ini" and add your test database data there. I named the test SQL DB dayz_cherno [dayz_cherno] IP = localhost Port = 3306 Username = dayz Password = mypass123 Database = dayz_cherno # dayz_cherno is the name of the database (change it in both values) # localhost is your mysql server (could be an IP value as well) # 3306 your mysql port # dayz is your database username # mypass123 is your database password  
      When the game launches, press Alt+E, select Chernarus, then Load mission 3d.live1062.DayzEpochTemplate.Chernarus
      Open \My Documents\ArmA 2\missions\3d.live1062.DayzEpochTemplate.Chernarus\init.sqf
      Go to line 61 and start editing the values there. DB_NAME is the name of your database (same as the extdb3 config file).
      Add your PlayerUID value (same as the DB one) in line 72. (That the player you want to load from the database)
      Depending which map you want to use, you have to change the dayZ_instance variable and also the MarkerP values (line 62) based on your mission.sqm file. Its for the Hive to spawn random vehicles, roadblocks and mines at proper locations based on the map. Just read the comments there for how to get the values. Its really simple. Just copy paste stuff from your mission.sqm file.
      Default setup vs Database setup
      There are 2 ways of initializing your player.
      A live database player based on his UID in the character_data table (coordinates, medical states, inventory etc) A default 3d editor player with a basic loadout. (Ignores Hive Loadouts and initial vehicle spawns) Default setup (extDB3)
      [DefaultTruePreMadeFalse = true;] This option is now the default one, because it's so much easier to set up, plus a lot of things have changed in the 1062 Epoch version. I couldn't totally separate the server files from the client files, so in the end a Database is necessary for the Mission files to work properly. To setup your character with this method, leave DefaultTruePreMadeFalse to true;  Everything is database based..so no need to do anything else. The mission will start with all your stats, inventory, conditions and spawn you where your world coordinates are. Premade Character Setup
      [DefaultTruePreMadeFalse = false;] This setup DOES NOT initialize the character based on a database entry, or does any HIVE related queries on mission start. (like load objects etc). Instead it uses some premade stats that you set, and only uses the Database on updates (buy vehicles etc) The loadout of the player is set in the init.sqf in line 77  
      player setVariable ["CharacterID", "1", true]; // Set here the characterID of the player. It can be anything...just leave it 1 if you want. player setVariable ["playerUID", "111111", true]; // Set here the playerUID of the player you want to have. player setVariable["Z_globalVariable", 100000]; player setVariable["Z_BankVariable", 100000]; player setVariable["Z_MoneyVariable", 100000]; player setVariable["humanity", 11000]; player setVariable["humanKills", 10]; player setVariable["banditKills", 20]; player setVariable["zombieKills", 30]; player setVariable ["friendlies", ["222222","333333"], true]; //Both DZE_Friends and this must be set for friendlies to work properly DZE_Friends = ["222222","333333"]; Everything else should work fine with the database....like traders, salvaging, etc...Unfortunately since the 1062 ver had many differences from the 1051 one, i couldn't really make this Profile option a standalone one, without any Database interaction. So in order for you to minimize any errors in the log file, i would suggest you load my sample db file provided, and also change those CharacterID and PlayerUID values in PLAYER_Data and CHARACTER_Data tables to the ones you set up here, just in case.... The Premade character setup is for people that want to fast debug a script they are making and don't want to wait for the Hive to load all map objects and authenticate the player first. Further Details to change (in both Profile Cases)
      The description.ext, mission.sqf, mission.biedi files have your character's name in them. Just search for the word Sandbird in all of them and change it according to the PlayerName value you have in your Player_DATA table for your PlayerUID value.
      Example taken from description.ext. DONT change the actual My_Player text. The mission file needs that string to read what you typed in the name field.
      class My_Player { name="Sandbird"; face="Face20"; glasses="None"; speaker="Male01EN"; pitch=1.1; };  
      Important info
      Init.sqf values
      DefaultTruePreMadeFalse = true; // True: Read player's data from the database (based on UID), False: the normal player the editor has StaticDayOrDynamic = true; // A static date is set at the bottom of \dayz_server\init\server_function.sqf. Set this to false if you want real time/date inside the mission. DZEdebug = false; // Set to true if you want a more detailed log file Enable Keyboard actions (menu option) // (findDisplay 46) wont work inside the editor. That means that building stuff or placing objects is very hard to do since we cant 'capture' keystrokes. I kinda fixed this with a trick. In order to build something first you have to initiate the building action (holding the object in your hands) and then scroll with your mouse wheel and select Enable Keyboard actions. This will create a layer on your screen capturing your keystrokes thus allowing you to change orientations etc. Pressing ESC twice after and it will close the fake display and return to normal play mode. You will have to do this every time you want to build something. Related to coding
      Since the Editor has some limitations because its not a real server some things will never work. For example:
      _playerUID = getPlayerUID player; will never work in the editor. To get the _playerUID you have to do this:
      _playerUID = player getVariable ["playerUID", 0];
      This is the most important thing to remember. Lots of scripts use getPlayerUID. You have to remember to change it every time you want to use it.  Of course the player value is just an example here. If you were inside a loop and it had (getPlayerUID _x) then you have to rewrite it like this: (_x getVariable["PlayerUID",0]) findDisplay 46 does not work in the editor. If you are using/making a script that uses Display 46 try using my Enable Keyboard action. It might work in your case. publicvariableServercommands don't exist in the editor. There is no server to accept the command. If you want to use addpublicvariableeventhandler you can do it with call/spawn commands. You can find the handlers usually in the PublicEH.sqf.
      Example: PVDZE_plr_Save = [player,dayz_Magazines,false,true]; publicVariable "PVDZE_plr_Save"; can be written like:
      PVDZE_plr_Save = [player,dayz_Magazines,false,true]; publicVariableServer "PVDZE_plr_Save"; // keeping this so when you move the code to the real server you remember to add it. [player,dayz_Magazines,false,true] spawn server_playerSync; // what to call is usually inside publicEH.sqf. In this case search for PVDZE_plr_Save in the PublicEH file and check the call it makes in the end. You could also change the publicVariableServer to publicVariable. That should work inside the editor. But keep in mind these changes wont work on the live server, since one command broadcasts something to the server while the other just to the client running it. I would suggest you keep the original value and do the PublicEH call instead, marking it down with some debug comments next to it, so when you are done and want to transfer the files to your live server you just remove the call and everything should work as expected.
      Don't forget to change the paths when you are adding addons to test/modify them. For example, notice the differences here:  player_switchModel = compile preprocessFileLineNumbers "dayz_code\compile\player_switchModel.sqf"; player_checkStealth = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_checkStealth.sqf"; The first line will look up for player_switchModel.sqf inside the editor mission files, while the 2nd one will go to the @Dayz_Epoch map file and get the .sqf file. Same thing applies for the dayz_server files (server_functions.sqf). Once you are done with your script and you have added new compile lines, you need to fix them back to their proper values before you upload them to your live server.
        If you are missing any BIS_fnc functions then check the folder dayz_code\system\functions and see if it's available there to include it in the compiles.sqf. Set DZEdebug = true;  in the init.sqf. And ALWAYS check your RPT log file for debugging. Its located at : %AppData%\Local\ArmA 2 OA folder. Related to mission file included
      You'll notice when you start the mission there are 2 bots standing there. If you double click the soldier you'll see that he initiates this script scripts\BotInit.sqf. I left that in purpose in case you want to do some scripting that requires 'another player', and you want to initialize the fake player like that. The other bot can be deleted. I just left it there because i was testing a Tag Friendly script, and needed a 3rd 'player' that has me as a friend. I've included a simple Fireworks script i made a while back only this time i used some better effects taken from aliascartoons work. Just add a 'SMAW_HEDP' into your inventory and right click on it to test it out. Here is how the old script used to look like Fireworks. Also you'll find a little 'hat script' in the files, just right click a 'IRStrobe' item to add a hat to your player. Both script were written inside the editor using the mission file above...just a small example to show you how easy it is to write code there. The @extDB folder contains a folder called debug_files. These .dlls (when replaced the ones provided) activate a more detailed log file (found under arma 2 operation arrowhead\logs folder). It will show ALL MySQL queries going in/out of the database. Very useful if you are running any custom SQL queries and the RTP log file isn't enough.
      Final Notes
      These are heavily modified files...Dont overwrite them with your own files. Add to them instead of replacing them.
      If you are writing scripts that dont require the server to restart, then you can just go to 2D editor and press Preview again after you make the changes. No need to hit Restart. As long as you are doing changes that doesnt affect the Hive loading you can basically run things on the fly. For example in the init.sqf at the bottom i added a Add BankMonkey example. That command just loads the custom\money.sqf and shows a simple extDB3 example on how to select/update a DB table. Since this command doesnt require the server to restart, you can just hit Preview, test things out, and if you want to make changes, go back to 2D Editor, edit your changes in the money.sqf file and hit Preview again. No need to hit Restart and wait for the dayz_server functions to do their thing again.
      The whole purpose of this project was to not waste any more time trying to code on this god forsaken Arma engine.
      And a personal note....You will NEVER find an easier way to code stuff for Dayz....period. This is the fastest way to write code and see it in action.

      Hope this code will help you write code faster and easier !
      ### Credits
      This mission file would not be possible without the help of these addons/people

      DayzEpochTeam | http://epochmod.com
      killzonekid | http://killzonekid.com
      extDB3 | https://bitbucket.org/torndeco/extdb3/wiki/Home
      ebayShopper | https://github.com/ebayShopper/TestKit
      JasonTM (for the latest beta AdminTools)| https://epochmod.com/forum/topic/44863-release-epoch-admin-tools-v-1107-test-branch/
    • By freakneek
      G'day, Guys and Girls,
      you might want grab another Rabbitman Beer or R4Z0R soda (if your not allowed beer). This is gonna be a long one!
      This tutorial goes into some length and is for the most part, copy/paste, from @Poncho's How to make Custom map content [ Tutorial & Ongoing Support ] tutorial. I had a major issue today trying to figure out why my map edit wasn't working. but after many thanks to the awesome @JasonTM, for identifying the issue, It has been found that you need to use a compiles line instead of a execVM line in the code.
      ***NOTE***
      This tutorial is not my work.... BUT, I felt that this could use an update.
      ***for those of you who already know how to do this scroll down to the server_functions.sqf part!***

      Most people create these map additions, simply by launching dayz through an epoch server via dayz commander will give you a working editor, but some buildings (such as Barracks, Hospitals, and Fire Stations) will not spawn any loot.
      This is because of their class names. The default ARMA editor makes most building classnames begin with "Map_" . All buildings of this type will not spawn loot in dayz, this is inherited from the EU_ update to the editor. You may simply read through your code and change all these manually to (for example) "Land_A_Hospital" instead of the original "Map_A_Hospital" to trigger loot spawns within those buildings.
      There is however an easier way for those of you unfamiliar with code, which also adds a few extra items in. This will however remove some options brought by the EU_ update such as being able to place rocks/cliffs e.t.c so it is important to pick when you want to use the editor I am about to show you.
      It is called the Jon-C5- Editor Update by (surprisingly enough) Jon-C5-. It is available  here http://www.armaholic.com/page.php?id=5932
       
      To turn your map edits into functioning dayz map additions simply follow the instructions below (If you do not wish to use the Jon-C5-Editor, skip to step 4):
      1) Download the zip file linked above.
       
      2) Drag/copy&paste it into your Arma2 Operation Arrowhead folder (where your @dayz and @dayzepoch folder are stored)
       
      3) Launch dayz with the following launch options (set via steam or dayz commander):
      -mo[email protected]_EditorUpdate  
      4) Once you are in the main menus press ALT+E
       
      5) This will open up the editor click the Chernarus map then click ok.
       
      6) A map view will then pop up, on the right hand side you will see a list of categories:
                  - First click 'Centre' then right click on the map, select 'new',  and press ok,
                  - Next click 'Group' then right click on the map, slect 'new'. and press ok,
                  - Now click 'Unit' then right click on the map, select the unit you want - default may be 'Alsatian' the change from 'non playable' to 'playable'.
       
      7) You are now ready to start editing. To begin, enter the '3D View' and click on 'Vehicle' (this is where all the buildings are listed). Right click on the map and select 'new', The list will then appear.
       
      8) Once you have selected an item, the ALT key will allow you to raise or lower items, with the SHIFT key allowing you to spin it around.
       
      9) Once you are happy with the edit, save it (Name it something relative to the edit). Then check your edits, sometimes large items may shift from where you placed them.
       
      10) Locate the mission.sqf file, usually in My Documents > Arma 2 > Missions > "Your mission name"
       
      11) Open up the mission.sqf file, you must now make some small edits to allow it to add these items to your server. Example Below:
      Default mission.sqf code example, areas to edit show indicated.
      ----------------------------------------------------------Remove start Here activateAddons [ ]; Replace with: if (isServer) then { activateAddons []; initAmbientLife; ----------------------------------------------------------Remove End Here _vehicle_4 = objNull; if (true) then { _this = createVehicle ["Land_ruin_corner_2", [14110.31, 2782.1448, 3.8146973e-006], [], 0, "CAN_COLLIDE"]; _vehicle_4 = _this; _this setPos [14110.31, 2782.1448, 3.8146973e-006]; }; ------------------------------------------------------------------------------------------ Remove Start Here _this = createCenter west; _center_0 = _this; _group_0 = createGroup _center_0; _unit_2 = objNull; if (true) then { _this = _group_0 createUnit ["GER_Soldier_EP1", [14116.508, 2764.6309, 4.0054321e-005], [], 0, "CAN_COLLIDE"]; _unit_2 = _this; _this setUnitAbility 0.60000002; if (true) then {_group_0 selectLeader _this;}; if (true) then {selectPlayer _this;}; if (true) then {setPlayable _this;}; }; ----------------------------------------------------------------------------------------- Remove End Here _vehicle_192 = objNull; if (true) then { _this = createVehicle ["Land_a_stationhouse", [5160.0171, 2183.0002, 0.14117265], [], 0, "CAN_COLLIDE"]; _vehicle_192 = _this; _this setDir 211.89264; _this setPos [5160.0171, 2183.0002, 0.14117265]; }; ----------------------------------------------------------------------------------------Remove Start Here processInitCommands; runInitScript; Replace with: }; By Mr. Smith e.t.c finishMissionInit; ----------------------------------------------------------------------------------------Remove End Here Edited mission.sqf code example:
      if (isServer) then { _vehicle_4 = objNull; if (true) then { _this = createVehicle ["Land_ruin_corner_2", [14110.31, 2782.1448, 3.8146973e-006], [], 0, "CAN_COLLIDE"]; _vehicle_4 = _this; _this setPos [14110.31, 2782.1448, 3.8146973e-006]; }; _vehicle_192 = objNull; if (true) then { _this = createVehicle ["Land_a_stationhouse", [5160.0171, 2183.0002, 0.14117265], [], 0, "CAN_COLLIDE"]; _vehicle_192 = _this; _this setDir 211.89264; _this setPos [5160.0171, 2183.0002, 0.14117265]; }; }; // By Mr. Smith e.t.c **If the code editing is not done as follows, it will crash your server on start up. Mainly because of the unit spawn (in this example "GER_Soldier_EP1"), follow the instructions for editing the code and it will work fine**
       
      The Custom Content is now ready for publishing! Here is a quick, safe and guaranteed way to get your [working] edits into your server:
       
      1. Unpack your server.pbo
       
      2. Create a folder in the root of the server.pbo called: Maps     3. Drag your mapedit.sqf into this folder.     ***UPDATED PART FOR 1.0.6.2*** 4. In the init folder you will find a file called server_functions.sqf . Find these lines: // Precise base building 1.0.5 call compile preprocessFileLineNumbers Just above it add this line:
      call compile preprocessFileLineNumbers "\z\addons\dayz_server\maps\mapedit.sqf"; so now it looks like this....
      call compile preprocessFileLineNumbers "\z\addons\dayz_server\maps\mapedit.sqf"; // Precise base building 1.0.5 call compile preprocessFileLineNumbers  NOTE**:  Be sure to change the mapedit.sqf to whatever it is you have named your file, and that it corresponds with the execVM in your server_functions.sqf
      ***END UPDATED PART FOR 1.0.6.2)***
       
      EXTRA HINTS AND TIPS:
      Having trouble moving roads and other similar items to where you want them?
       
      Want your buildings spawn straight and level like they do with the new epoch build system?
      _this setDir -415.88132; _this setVehicleInit "this setVectorUp [0,0,1];"; _this setPos [1939.5042, 14563.26, -0.068630017]; Beidi file should look as follows:
      Add the "INIT" line between the "AZIMUT" and "PARENT" lines.
      AZIMUT="-67.231117"; INIT="_this setVehicleInit "this setVectorUp [0,0,1];";"; PARENT=""; - Big thanks to @Wesley for that one!
       
      Want to edit the trader camps / locations (Chernarus Only)?
       
       
      Having trouble with buildings 'double-spawning'? (often creating duplicate doors in a building)
       
       
      Here is a little example of how to remove grass from in/around your buildings:
       
      OK i think that is pretty much it.....
      HAPPY MAP EDITING!!
      -Freak
  • Advertisement
  • Supporters
  • Discord

×
×
  • Create New...