Jump to content
🛡️FORUMS ARE IN READ-ONLY MODE Read more... ×
Sign in to follow this  
fett_li

3D Editor with Zeus (workaround)

Recommended Posts

Hey guys,

so I guess: a lot of you are in need for a 3D editor. But there is no proper one.

But there is Zeus. So I thought: Hey, I'd be so great, if you'd be able to export stuff you placed with Zeus. So I sat down an did it. And here's the solution. A script that is able to export everything you placed with zeus.

How to use it:

1. Create any empty mission on any map you'd like.

2. Place a player object and name it.

3. Place the Game Master Module in the category zeus and fill in the object name of the player object in "Owner".

4. In the mission folder, create a file named "export.sqf" (name is not mandatory).

5. Preview your mission and place with zeus whatever you like to.

6. If you're done or you want to save your placed stuff, just open debug console (hit enter) end type in:
execvm "export.sqf";
.

Now you have everything you placed mission.sqm ready in your clipboard! I advice to save it somewhere.

How to get the saved stuff into your mission:

1. Create any empty mission on the map you placed the objects with zeus.

2. Save the empty mission.

3. Go to the mission folder and open up the mission.sqm, it should look like:

missionsqm.JPG

4. Insert your saved data at the grey highlighted line.

Done!

I hope you enjoy my little script, greetings,

[W] Fett_Li

_grps = allGroups - [(group player),(group (getAssignedCuratorLogic player))];

{
if (isNull _x || count units _x == 0) then {
	_grps deleteAt _forEachIndex;
};
} forEach _grps;

comment "units which are not empty";
_string = "";
if !(_grps isEqualTo []) then {
_string = _string + format [
"	class Groups
{
	items=%1;
",count _grps];

_item = 0;
{
	_grp = _x;
	_vehicles = [];
	_units = units _grp;
	_side = side (_units select 0);
	_string = _string + format [
"		class Item%1
	{
		side=""%2"";
		class Vehicles
		{
			items=%3;
",_item,_side, count _grps];
	_item = _item + 1;

	_item_1 = 0;
	{
		if (vehicle _x != _x) then {
			_v = vehicle _x;
			if !(_v in _vehicles) then {
				_vehicles pushBack _v;
				_pos = getPosASL _v;
				_height = getPosATL _v select 2;
				_string = _string + format [
"				class Item%1
			{
				position[]={%2,%3,%4};
				offsetY=%5;
				azimut = %6;
				id=0;
				side=""%7"";
				vehicle=""%8"";
				leader=%9;
				skill=0.60000002;
			};
",_item_1,_pos select 0,_pos select 2,_pos select 1,_height,direction _v,_side,typeof _v, [0,1] select (leader _grp == _v)];
};
		} else {
			_pos = getPosASL _x;
			_height = getPosATL _x select 2;
			_string = _string + format [
"				class Item%1
			{
				position[]={%2,%3,%4};
				offsetY=%5;
				azimut = %6;
				id=0;
				side=""%7"";
				vehicle=""%8"";
				leader=%9;
				skill=0.60000002;
			};
",_item_1,_pos select 0,_pos select 2,_pos select 1,_height,direction _x,_side,typeof _x, [0,1] select (leader _grp == _x)];
		}
	} forEach (units _x);
	_string = _string + "			};
	};
";
} forEach _grps;
_string = _string + "	};
";
};

_string = _string + format [
"	class Vehicles
{
	items=%1;
",count (curatorEditableObjects (getAssignedCuratorLogic player))];

comment "empty objects";
_item = 0;
{
if (isNull (group _x)) Then {
	_pos = getPosASL _x;
	_height = getPosATL _x select 2;
	_string = _string + format [
"		class Item%1
	{
		position[] = {%2,%3,%4};
		offsetY=%5;
		azimut = %6;
		id=0;
		side = ""EMPTY"";
		vehicle = ""%7"";
		leader=1;
		skill=0.60000002;
		syncID=0;
	};
",_item,_pos select 0,_pos select 2,_pos select 1,_height,direction _x,typeof _x];
	_item = _item + 1;
};
} forEach (curatorEditableObjects (getAssignedCuratorLogic player));
_string = _string + "	};";
copyToClipBoard _string;

Share this post


Link to post
Share on other sites
Sign in to follow this  

×