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:
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.
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.
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."
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
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.
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 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
// Sitting, chillin the fuck out of his life
// Standing without a gun, like a boss
// Swimming with a gun
// Treating wounded
// Swimming, no gun
// Prone, fixing vehicle, no gun, without movement
// Standing, fixing vehicle
// Crouching, fixing vehicle, our crafting animation
// Our vehicle trader animations
// Sitting at table on computer
// Sitting on a chair, with a rifle
// Sitting on a chair, not sure if rifle, pistol or unarmed
// Sitting on a chair, probably a rifle
// Sitting on a chair, with a rifle, like a boss
// Standing, no rifle, on a table. Maybe a counter (our food trader thing?)
// Standing, no rifle, aircraft trader
// Sitting on a chair, probably NO rifle
// Sitting on a chair, no rifle
// Sitting on a chair, no rifle <<< EXTRA CHILLIN
// IRONMAN TRAINING
// Sitting up HIGH (?), with a rifle
// Sitting up HIGH (?), with a rifle
// Sitting up HIGH (?), with a rifle
// Standing, with a rifle
// Standing, no rifle
// Standing, no rifle, probably needs a gun belt to look okay
// Standing, no rifle, looks like a diva
// Standing, hands behind back, could be prisoner
// Patrolling moves, maybe for guards
// Standing, no rifle, hands behind back
// Lying (?), rifle
// Standing, no rifle
// Prisoner, sitting
// Sitting on the ground, rifle
// Sitting on the ground, no rifle
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.
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.