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
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
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.
QuoteAnd 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
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.
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.
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.
Markers
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.
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.
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.
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.
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:
// 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.
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.
- 64
Recommended Comments
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 accountSign in
Already have an account? Sign in here.
Sign In Now