• Eichi

    114 comments · 35127 views

    We would like to introduce our internal 3DEN development plugin that we have used to create our Tanoa mission file. I am very bad at writing introductions, so let us come straight to the relevant parts:

    Export

    3den-simple-objects.thumb.jpg.2ec4e156fa

    As the mission file that 3DEN exports is not usable for Exile and lacks a lot of features, we have added a handful of export tools that can generate some valuable things for you:

    • Export of initServer.sqf
    • Export of initPlayerLocal.sqf
    • Export of markers and zones
    • Export of weather keyframes

    All that you have to do now is to use an empty mission.sqm with spawn points, copy and paste the markers into it and place the exported .sqf scripts into your mission. Done.

    Objects

    3den-object-placement.thumb.jpg.958d4a22

    Placing objects in Exile has been a bit inconsistent and unnecessarily complicated until now. Especially lockers, concrete mixers and Russian Roulette chairs have confused some admins. From now on you can just place these objects in 3DEN. The whole "magic" and configuration is done automatically while you export your mission to the initServer.sqf.

    Keep in mind that you must have exactly six Russian Roulette chairs in your mission. 

    Quote

    And the Lord spake, saying, "First shalt thou load into 3DEN. Then shalt thou place six Russian Roulette chairs, no more, no less. Six shall be the number thou shalt place, and the number of the placing shall be six. Seven shalt thou not place, neither place thou five, excepting that thou then proceed to six. Eight is right out. Once the number six, being the sixth number, be reached, then save thou thy initServer.sqf, which, being naughty in my sight, shall save it."

    1

    3den-concrete-mixers.thumb.jpg.062d82744

    3den-locker.thumb.jpg.751d0a600d836984be

    3den-russian-roulette-chairs.thumb.jpg.1

    3den-init-server-export.thumb.jpg.3ca0be

    Simple Objects

    For whatever reason, almost every object that is a part of the game world is a vehicle. They require simulation and thus some more performance. Not to mention the extra network traffic to keep them synchronized with all network clients.

    Most of the object we place at traders are indestructible, never move and are just there for the ambiance. Bohemia Interactive has added a new script command called createSimpleObject that allows placing a 3D model directly. These models cannot take damage, have a very limited simulation, eat less network bandwidth and are perfect for cosmetic object placements. Some Bohemia employees announced in February that 3DEN will support placing simple objects. This is not the case as of today, so we had to find a solution for that on our own. In fact, we came up with two solutions.

    During the export into the initServer.sqf, most objects are converted into a simple object automatically - a table for example. Objects, where this is not possible are still present as vehicles to preserve their look. A blue sleeping bag for example. Unfortunately, simple objects do not support skinning and thus only the base model can be placed. We have requested this functionality from Bohemia Interactive, so let us wait and see what happens. Maybe Arma will support skinning of simple objects in the future. We will find out.

    Some objects in Arma offer user interaction. An ammunition crate, for example, can be accessed by the players, but we really do not want that in our trader cities. Their functionality is disabled during our export functionality. Other objects are "proxied" within a parent object. A placed gun for example. The player could pick them up. Another thing that we really do not want in our trader cities.

    Unfortunately, since these weapons or gear in general, are "proxied" within a parent object, we cannot automatically convert them into simple objects, as there is no way to get the positioning of them in the script engine. Thus we came up with a derpy solution, which is really... creative. We use a BBQ can as a parent object in 3DEN, that can be placed, moved and rotated like a normal object. The gun is then created as a simple object in 3DEN and attached to the can. Meaning if you move the can, the simple object will follow. These cans are not exported, but the simple object model instead.

    3den-simple-object.thumb.jpg.14fd39228c9

    The BBQ cans have a special attribute that holds the 3D model path. This means you can place every model available in the game. If you do not know the model file path, you can select the model you want to convert into a simple object and choose the "Convert into Simple Object" menu entry at the top menu. This will extract the model path from the object and does the research for you. Because, yeah, lazy us.

    20160708143315_1.thumb.jpg.4e063dcc06e28

    Yes, it is derpy, but if it works, it is not dumb :) 

    Sanity Check

    As mentioned above, placing gear in 3DEN will allow players to pick them up. And we really do not want that. These objects are ignored while exporting, but it might be hard to find an answer to the question "Do I really have no questionable objects in my mission?". For this reason, we have added a "scan" function, that checks all objects for you and tells you if something is wrong. It will output a list of objects and where you can find them for you to go through. Nothing special, but helpful.

    3den-sanity-check.jpg

    Markers

    3den-markers.thumb.jpg.252600c2ae291c629

    Defining zones for Exile, like a safe zone or a spawn zone, has been done via markers until now. However, defining a contaminated zone or a non-construction zone needed to be done via a config. This was a bit complicated, so we have unified this now. 

    3den-marker-zone.thumb.jpg.93dfccb2e03ac

    3den-marker-icon.thumb.jpg.e63d65170d71c

    We have extended the "ellipsis" markers in 3DEN to support to new attributes: The functionality of the zone and the icon that is used to display that. The rest is done via an export functionality that generates the markup for your mission.sqm file. During that export, all marker shapes, colors, and brushes are exported in the "Exile" look. This means that no zones are visible on the map, but just the icons. Exceptions are safe zones and contaminated zones. All other zones will be invisible for the player. Since we have introduced new map markers, this functionality does the magic for you automatically.

    3den-marker-export.thumb.jpg.5ba6f39e876

    Traders

    Traders have always been the key point of interest of safe zones. It has been our goal from the very beginning of Exile on Altis to make them look alive. In the beginning, we have been placing them manually by hand. This was time-consuming and sometimes frustrating. It also was too complicated for starter-admins, so we have invented a new way of placing them. Well, the word "invented" might be a bit too big for that.

    In general, traders can be placed as usual units in 3DEN. However, they come along with two new attributes: Animations and the trader type. The trader type defines the "store" in your mission config that this trader is going to use. It can be a vehicle customs trader, a fast food trader, a custom rainbow unicorn trader or whatever you can think of. By default, the trader type is automatically set to be the unit type that you have placed, but you can overwrite that.

    The animations, however, are something really cool! You can set the animations that this trader is going to play directly in 3DEN and we force 3DEN to preview a static pose of the animation. This allows precise trader placement like never before. Woo, that sounds so big. Maybe it is.

    3den-trader-logic.thumb.jpg.351e2fa64139

    Also, the automatically generated initPlayerLocal.sqf that contains the traders now come along with a functionality that disables collision of traders with their environment. That means you can place them safely on chairs and tables etc. and players cannot run or drive them over. They will stay where you put them. On top of that, 3DEN supports the virtual arsenal of Arma and so do the traders. You can customize their load-out to your wishes and the export function will take care of the rest.

    3den-trader-positioning.thumb.jpg.92d11c

    3den-trader-animations.thumb.jpg.817e6a8

    3den-init-player-local-export.thumb.jpg.

    I have been searching for appropriate animations to be used for the traders. As it might save you some time doing the same, please find my personal list here. It is quick and dirty, but maybe useful for you:

    Spoiler

    // Generic Standing around with a rifle
    c4coming2cDf_genericstani1
    c4coming2cDf_genericstani2
    c4coming2cDf_genericstani3

    // Sitting, chillin the fuck out of his life
    c5efe_MichalLoop

    // Standing without a gun, like a boss
    HubBriefing_loop
    HubBriefing_scratch
    HubBriefing_stretch
    HubBriefing_think

    // Swimming with a gun
    AdvePercMstpSnonWrflDnon
    AdvePercMstpSnonWrflDnon_relax

    // Treating wounded
    Acts_TreatingWounded01
    Acts_TreatingWounded02
    Acts_TreatingWounded03
    Acts_TreatingWounded04
    Acts_TreatingWounded05
    Acts_TreatingWounded06

    Acts_LyingWounded_loop1
    Acts_LyingWounded_loop2
    Acts_LyingWounded_loop3

    // Swimming, no gun
    AdvePercMstpSnonWnonDnon_relax
    AdvePercMstpSnonWnonDnon

    // Prone, fixing vehicle, no gun, without movement
    HubFixingVehicleProne_idle1

    // Standing, fixing vehicle
    InBaseMoves_assemblingVehicleErc

    // Crouching, fixing vehicle, our crafting animation
    Acts_carFixingWheel

    // Our vehicle trader animations
    InBaseMoves_repairVehicleKnl
    InBaseMoves_repairVehiclePne

    // Sitting at table on computer
    HubSittingAtTableU_idle1
    HubSittingAtTableU_idle2
    HubSittingAtTableU_idle3

    // Sitting on a chair, with a rifle
    HubSittingChairA_idle1
    HubSittingChairA_idle2
    HubSittingChairA_idle3
    HubSittingChairA_move1

    // Sitting on a chair, not sure if rifle, pistol or unarmed
    HubSittingChairB_idle1
    HubSittingChairB_idle2
    HubSittingChairB_idle3
    HubSittingChairB_move1

    // Sitting on a chair, probably a rifle
    HubSittingChairC_idle1
    HubSittingChairC_idle2
    HubSittingChairC_idle3
    HubSittingChairC_move1

    // Sitting on a chair, with a rifle, like a boss
    InBaseMoves_SittingRifle1
    InBaseMoves_SittingRifle2

    // Standing, no rifle, on a table. Maybe a counter (our food trader thing?)
    InBaseMoves_table1

    // Standing, no rifle, aircraft trader
    LHD_krajPaluby

    // Sitting on a chair, probably NO rifle
    HubSittingChairUA_idle1
    HubSittingChairUA_idle2
    HubSittingChairUA_idle3
    HubSittingChairUA_move1

    // Sitting on a chair, no rifle
    HubSittingChairUB_idle1
    HubSittingChairUB_idle2
    HubSittingChairUB_idle3
    HubSittingChairUB_move1

    // Sitting on a chair, no rifle <<< EXTRA CHILLIN
    HubSittingChairUC_idle1
    HubSittingChairUC_idle2
    HubSittingChairUC_idle3
    HubSittingChairUC_move1

    // IRONMAN TRAINING
    AmovPercMstpSnonWnonDnon_exercisePushup
    AmovPercMstpSnonWnonDnon_exercisePushup
    AmovPercMstpSnonWnonDnon_exercisekneeBendA
    AmovPercMstpSnonWnonDnon_exercisekneeBendA
    AmovPercMstpSnonWnonDnon_exercisekneeBendB

    // Sitting up HIGH (?), with a rifle
    sitTableRfl_listening

    // Sitting up HIGH (?), with a rifle
    HubSittingHighA_idle1

    HubSittingHighB_move1

    // Sitting up HIGH (?), with a rifle
    HubSittingHighB_idle1
    HubSittingHighB_idle2
    HubSittingHighB_idle3

    // Standing, with a rifle
    HubStanding_idle1
    HubStanding_idle2
    HubStanding_idle3

    // Standing, no rifle
    HubStandingUA_idle1
    HubStandingUA_idle2
    HubStandingUA_idle3
    HubStandingUA_move1
    HubStandingUA_move2

    // Standing, no rifle, probably needs a gun belt to look okay
    HubStandingUB_idle1
    HubStandingUB_idle2
    HubStandingUB_idle3
    HubStandingUB_move1

    // Standing, no rifle, looks like a diva
    HubStandingUC_idle1
    HubStandingUC_idle2
    HubStandingUC_idle3
    HubStandingUC_move1
    HubStandingUC_move2

    // Standing, hands behind back, could be prisoner
    InBaseMoves_HandsBehindBack1
    InBaseMoves_HandsBehindBack2

    // Patrolling moves, maybe for guards
    InBaseMoves_patrolling1
    InBaseMoves_patrolling2

    // Standing, no rifle, hands behind back
    UnaErcPoslechVelitele1
    UnaErcPoslechVelitele2
    UnaErcPoslechVelitele3
    UnaErcPoslechVelitele4

    // Lying (?), rifle
    Acts_InjuredLookingRifle01
    Acts_InjuredLookingRifle02
    Acts_InjuredLookingRifle03
    Acts_InjuredLookingRifle04
    Acts_InjuredLookingRifle05

    // Standing, no rifle
    Acts_CivilListening_2

    // Prisoner, sitting
    Acts_AidlPsitMstpSsurWnonDnon01
    Acts_AidlPsitMstpSsurWnonDnon02
    Acts_AidlPsitMstpSsurWnonDnon03
    Acts_AidlPsitMstpSsurWnonDnon04
    Acts_AidlPsitMstpSsurWnonDnon05

    // Sitting on the ground, rifle
    AmovPsitMstpSrasWrflDnon_WeaponCheck1
    AmovPsitMstpSrasWrflDnon_WeaponCheck2
    AmovPsitMstpSrasWrflDnon_Smoking

    // Sitting on the ground, no rifle
    Acts_passenger_flatground_leanright

    Weather Keyframes

    This is more or less a side feature of this plugin. You probably know that the Exile server changes the weather based on keyframes that you define in your server config. This config can also be generated and exported by this plugin. Change the weather in 3DEN to your wishes and export the key frame. It will do an exact snapshot of your settings.

    3den-weather-keyframe.thumb.jpg.96d17535

    Release

    We will release this tool very soon after our Tanoa mission has proven stable productive work. Originally we did not want to release it since we would then have to invest more extra hours into supporting it. Also, we already foresee that some fishy mod makers will inspect that and rip it into pieces for their work. But we have been convinced by some insiders that it could save servers admins hours of work. It has no personal advantage for us releasing that, so if you feel it saves you a lot of work, feel free to send us a pizza :) 

    EDIT 2016-07-15: You can download it here now.


    62 people like this


    User Feedback




    Hope this is ok. 

    I did this with the assumption that the people have a basic knowledge of the editor already :) 

    EDIT: Video was taken down due to copyright. They didn't tell me what, but I figured it was the music. Sorry no music! Open a new Youtube tab and pick your favorite tunes :) 

    Edited by theduke
    1 person likes this

    Share this comment


    Link to comment
    Share on other sites

    [Solved] Just one quest. How can I take out objects in not simple object type? Because I've created a mil base for Tanoa, but I cant open doors in it :/ 

    In options turn on  in checkbox modelling for buildings

    Edited by dadirusso

    Share this comment


    Link to comment
    Share on other sites

    I must be missing something obvious. I've looked at lots or videos and read lots of posts and still can't get the 3DEN editor and plugin working properly.  I downloaded the plugin from the OP.  I created a local folder and copied  the @Exile folder into it.  I place the two plugin files into the addons folder in @Exile.  I start the Arma3 launcher and add a "local mod" to the list and select the folder I just created. 

    So when I now go to actually "play" it,  I click the Editor tile. select Tanoa, and the first thing I see is a popup "No entry 'bin\config.bin/CfgVehicles/Exile_Cosmetic_BBQSandwich.side'.   So I click "close".   But underneath the editor window, the Arma3 launcher now says "Please exit the game to manage your mods" with a "Close game" button.  Of course if I click "Close game", it closes the editor window.  If I just let that stay behind the editor window, I can see the Tanoa map, but I also get a popup saying "Addon 'exile_3den' requires addon 'exile_client'.  Do I also need to copy @Exile_client to the folder I just created.  I didn't see that in any video or forum.  But clicking "OK" still brings up the editor.   How do I know if the plugin is added in properly?  Is seeing the Exile selection in the toolbar at the top sufficient?

    Do I also need the M3_Editor files?  I saw that in a few videos but not all.

    And lastly, how do I add in other maps and items from other mods (e.g., HAP, Jonzie)?  Do I need to copy those into the folder I created, too?

    Thanks!

     

    Share this comment


    Link to comment
    Share on other sites
    On 1/2/2017 at 3:13 PM, Bob_the_K said:

    I must be missing something obvious. I've looked at lots or videos and read lots of posts and still can't get the 3DEN editor and plugin working properly.  I downloaded the plugin from the OP.  I created a local folder and copied  the @Exile folder into it.  I place the two plugin files into the addons folder in @Exile.  I start the Arma3 launcher and add a "local mod" to the list and select the folder I just created. 

    So when I now go to actually "play" it,  I click the Editor tile. select Tanoa, and the first thing I see is a popup "No entry 'bin\config.bin/CfgVehicles/Exile_Cosmetic_BBQSandwich.side'.   So I click "close".   But underneath the editor window, the Arma3 launcher now says "Please exit the game to manage your mods" with a "Close game" button.  Of course if I click "Close game", it closes the editor window.  If I just let that stay behind the editor window, I can see the Tanoa map, but I also get a popup saying "Addon 'exile_3den' requires addon 'exile_client'.  Do I also need to copy @Exile_client to the folder I just created.  I didn't see that in any video or forum.  But clicking "OK" still brings up the editor.   How do I know if the plugin is added in properly?  Is seeing the Exile selection in the toolbar at the top sufficient?

    Do I also need the M3_Editor files?  I saw that in a few videos but not all.

    And lastly, how do I add in other maps and items from other mods (e.g., HAP, Jonzie)?  Do I need to copy those into the folder I created, too?

    Thanks!

     

    Any mod you add, needs to be i nthe root of our arma 3 folder. Unless the A3launcher has a different path to your mods.

    But even as for your plugins... the 3den and exile plugin need to be in your root of arma 3.  Did you watch the video just above?

    Share this comment


    Link to comment
    Share on other sites

    i guess this tool needs an update?

    when you try to get the markers and zones extracted it starts counting with 1

    and as we know in arma we should start counting with 0

     

    if you try to load this unedited the server will tell you cannot load mission and no markers will be shown at all

    Share this comment


    Link to comment
    Share on other sites

    So I created a separate folder and get the editor and plugin to load.  If I want to be able to place objects from other mods, I just need to add their @folders to the directory I created for editing?  I did do that and not all of them show up there.  I'm guessing I need to add mod=.... to a startup somewhere?  In the dropdown at the top right, I only see some of the mods:  @Esseker, @Exile, @JBAD, CUP_Terrains for example.  And even in some of those, there are no preview thumbnails.  I have to place them in order to see them.

    Share this comment


    Link to comment
    Share on other sites

    Easiest way is to clone the @exile folder rename it to @exileeditor, stick the plugin in it. Then load it along with the mods you want to add content from.

    Share this comment


    Link to comment
    Share on other sites

    ok guys...

    i took a quick look at the files and found the problem about the marker counter

    in the exile_3den.pbo file

    under \code\export you can find the file fn_saveMarkers.sqf

    which contains on line 11

    private _counter = 1;

    change it to private _counter = 0;

    and thats it...

    Share this comment


    Link to comment
    Share on other sites

    Well, I'm making progress.  So everything seems to be working.  I can select a map, add objects, etc.  But now I want to bring in one of my maps and edit it.  So I copy over mission.sqm, initPlayerLocal.sqf, and initServer.sqf to the editor's MPMISSIONS folder.  I open it and mission.sqm appears to be opening because my markers are all on the map.   But none of my buildings/objects or traders that are in initPlayerLocal.sqf and initServer.sqf show up.  How do I get them into the editor so I can move/add/delete traders and objects?  I've looked for an import or other function but have not found a way to import my existing files for the first time.

    Share this comment


    Link to comment
    Share on other sites

    I am afraid there is no import. This plugin is unidirectional from 3DEN to mpmission :(

    Share this comment


    Link to comment
    Share on other sites

    Soooo... I reverse engineered it.  I added a few objects, saved initServer.sqf, and then compared to mission.sqm.  I've successfully created a conversion routine - in Excel of all things (mainly because I'm proficient in it) - to generate a class list for the objects that are in initServer.sqf that can then be added to mission.sqm.  The only thing I haven't been able to figure out is what atlOffset does, how to calculate it, and why some objects have it in the editor-generated mission.sqm file and some don't.  I did a quick Internet search and didn't find any good explanations but the objects don't seem to be any worse off whether they have it or not.  Does anyone know?  Is it vital?

    So I'm off to see if I can do the same for traders and NPCs with initPlayerLocal.sqf.

    Share this comment


    Link to comment
    Share on other sites

    Hi guys! I want to import building from initserver.sqf file into mission.sqm so I will be able to do my changes inside editor. How can I do that?

    Share this comment


    Link to comment
    Share on other sites



    Create an account or sign in to comment

    You need to be a member in order to leave a comment

    Create an account

    Sign up for a new account in our community. It's easy!


    Register a new account

    Sign in

    Already have an account? Sign in here.


    Sign In Now