Jump to content
Sign in to follow this  
Outlawz7

DynO_A3 - dynamic object compositions for ArmA3

Recommended Posts

I've modified the original DynO scripts from ArmA2 for use in ArmA3. Credit goes to their original creator Joris-Jan van 't Land. Original A2/OA compositions not included.

I'm not sure if this exists already somewhere, I'm aware scripts like MCC Sandbox can export compositions, but I wanted something simple and only for this purpose.

Download example mission and script set:

Dropbox: https://dl.dropboxusercontent.com/u/35519913/otl7_dyno_a3.VR.zip

Use:

Setup: Copy the dyno_a3 folder into your mission directory.

Create the composition script: Go to \dyno_a3\doc\ directory and copy the _emptyTemplate.sqf and rename the copy to the desired name of your composition, for example myComposition.sqf. The template looks like this:

private ["_objs"];
_objs =
[
paste your copied array from Grabber over this line
];

_objs

Create a composition: Place the desired objects in editor. Once you want to copy them into a composition, use the following command:

0 = [position,radius] execvm "dyno_a3\otl7_Grabber.sqf" where position is the center of the composition and radius is the radius in which objects are included in the composition.

The composition will be copied to your clipboard. Paste it into your composition script over the "paste over this line" line. Remove the comma at the end of the array. Example:

private ["_objs"];
_objs =
[
["Land_Cargo_Patrol_V3_F",[0,0,0],0,1,0],["Land_HBarrierBig_F",[1.05176,-3.15625,0],0,1,0],["Land_HBarrierBig_F",[4.36719,0.80127,0],90,1,0],["Land_HBarrierBig_F",[0.944336,5.87842,0],0,1,0],["Land_HBarrierBig_F",[-7.52734,5.87842,0],0,1,0],["Land_HBarrierBig_F",[-10.5034,0.536621,0],90,1,0]
];

_objs

Spawn your composition: Use

_newComp = [position, direction, "filepath\yourCompositionScript.sqf", boolean] call (compile (preprocessFileLineNumbers "dyno_a3\otl7_Mapper.sqf")); in init.sqf or init field to spawn a composition at start or use

_newComp = [position, direction, "filepath\yourCompositionScript.sqf", boolean] execVM "dyno_a3\otl7_Mapper.sqf"; to spawn the composition after mission start.

Position is the position where the composition will be spawned with the composition centered there.

Direction is the direction that composition will face.

"filepath\yourCompositionScript.sqf" is the file path and name of your composition script (recommended filepath is dyno_a3\doc\).

boolean can be true or false. If true, each object's up vector will be set to 0-0-1, levelling the object. Can be useful on sloped terrain.

Edited by Outlawz7

Share this post


Link to post
Share on other sites

Could you please briefly explain the purpose of dynamic object compositions? Because I've never heared of it before and I can't imagine right now, what that is useful for.

EDIT:

OK, so as far as I understand, does this mean creating a set of objects with certain relative positions (like a small camp) and then creating that composition at a certain position where the position forms the middle of that composition?

Edited by Heeeere's Johnny!

Share this post


Link to post
Share on other sites

Does your version support init commands like the original version?

Example of composition element:

["B_MRAP_01_F",[9.43018,19.3298,0],256.556,1,0,"this setVehicleLock ""LOCKED"";"],

Share this post


Link to post
Share on other sites

Hello there,

i just want to say "thank you!" for the bis_ grabber / mapper and for the thread. Some minutes ago i wanted to use the old scripts, but i prefer bis supported functions.

Finally: Thank you for the Info :-) It saves a lot of time for me and waked me up.

... Dont go the ways you know. Try to figure out better ways ...

Regards

Hatch

Edited by Hatchet_Harry

Share this post


Link to post
Share on other sites

Hello and thank you very much Outlawz7

I tested the script [on Stratis island] and it also moves stage elements. :( Only happen to me? Any solution?

EDIT: SOLVED I now record composition in VR map without impurities.

Sorry -_-

Edited by hectrol

Share this post


Link to post
Share on other sites

Is it possible to set the init of an object?

 

it doesnt seem to copy through, for example i place an intel object on a table by using the elevation option in the object or placing this in its init doesnt copy through...

this setPos [getPos this select 0, getPos this select 1, 0.81];this enableSimulation false;

Share this post


Link to post
Share on other sites

It is really the best way to achieve this?

 

For object spawned at mission begin we can just use copy paste in editor.

For compositions spawned in game you can just convert sqm to sqf and execute it at some point.

There are also hidden 3d editor which works on biedi files. You can these convert to sqm  and then to sqf.

Share this post


Link to post
Share on other sites

Using all of this information here i have created an abomination in my mission file a tumor if you will of just shit. But i believe i have done everything right and this is not working for me so? Could someone explain the error im getting from the ObjectMapper.sqf....

 

RefreshActions: http://pastebin.com/rYSgLHCz [Adds all the player addactions] [Note the one for build bunker]

ObjectMapper: http://pastebin.com/P4FjtVVr [note _scripts]

Formatted Grabber Data: http://pastebin.com/qXpEC0sd

 

Errors: http://pastebin.com/46V71CJM [Disreguard BlueBunker errors unrelated to the objectmapper]

 

 

Just kill me now im a moron lol. missing ; in fob.sqf

 

Upon respawn the fortification is build automatically and if you try to build it again via the addaction it throws an error.

 6:47:28 Error in expression <_fobComposition>
 6:47:28   Error position: <_fobComposition>
 6:47:28   Error Undefined variable in expression: _fobcomposition [from refreshactions.sqf]

 

 

 

More errors (undefined variable in _fobComposition)

Mapper: http://pastebin.com/rYVfcCfS

fob2.sqf: http://pastebin.com/GLfa4v0x

Edited by Comfy Comfy
I was wrong more errors

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

×