Jump to content
Sign in to follow this  
geloxo

GX Zeus Advanced Script

Recommended Posts

GX_Zeus.jpg

Currently one of the limitations of Arma3 curator module (aka Zeus) is a proper exportation system to allow further editing and usage on other missions. Therefore I have created a simple script set to bypass this situation and also enhance the Zeus experience by allowing multi-editing tasks shared between several Zeus players in real time, online or offline.

This script set is configured for Arma 3 by default but can be also used with other addons such as All in Arma, Unsung, Iron Front or any Arma3 and Arma2 based addons. The content is published as script instead of as an addon to allow an easy integration with any mission and due to it´s small size. In the future I may create an addon if needed or integrate it with GX Addons pack but currently it´s not needed. This adds a powerfull extension to the great Zeus module approach and I hope it helps editors and mission makers to develop intense missions until we can have a true 3D editor available in game.

There are similar addons available which allow real time edition and exporting but the main advantage of this one is that it is compatible with any mission, as it does not require to have the script running on them due to the usage of native sqf format exporting instead of a propietary one.

Current script version (discontinued): 1.02

Latest addon version included in GX Addons mod pack: http://forums.bistudio.com/showthread.php?173559-GX-Addons-v2

Download: http://www.filedropper.com/gxzeusv102

Mirrors: (feel free to mirror it, no permission needed)

http://www.armaholic.com/page.php?id=27181

Required Addons:

This addon requires CBA. Optionally jayarma2lib can be used (not required).

Main features in current version

- Advanced real time edition in SP and MP (including JIP), supporting native sqf language

- Zeus players can access the content created or imported by other Zeus players in real time in MP

- Real time data exporting to clipboard, game RTP log file (or jayarma2lib log file) in SP and MP (notice clipboard is disabled by BIS in MP). Use jayarma2lib mod for better performance

- Real time data importing from multiple pre-saved scripts sources in SP and MP from player or server

- Imported data can be loaded into Zeus variables to convert it into editable again

- Configuration of available items for Zeus editors and editing options for side vs side missions

- Standard, advanced, private and cooperative editing modes

- Visual 3D markers to check which items are included in your exportable content

- Example mission included

- Most common elements edited by Zeus can be exported, but anything accessible via script commands can be added to the list in the future. Currently the following is exported:

a) Units (including their squad members)

b) Vehicles (including their crews)

c) Static weapons (including their gunner)

d) Buildings and other static objects

e) Any unit/object/vehicle position, direction, vectorup, damage and fuel

f) Soldiers UnitPos (eg: prone) and behaviour (formation, combat mode, etc)

NOTE: Any script generated with version v1.0 can be still imported to v1.01 but load feature won´t be available with it. Use the advanced mode to edit those imported items again and export the resulting work. It will be formatted to v1.01 automatically in this new exported script.

Changelog

v1.02:

-script initialization optimized

-added usage of setposworld to export data at the exact items placement

-added missing _sleeptime variable to generated exported script

-added class thing to the exported objects list

-explanatory note added to manual editing modes section

-debug feature extended to include more info to log files

-animals classes removed from allowed units list (they are not needed)

v1.01:

- faster script initialization

- added load feature (imported script content becomes editable again)

- added undo feature (delete last imported data)

- added private and cooperative editing modes (see only your placed units)

- added check exportable units (visual 3D marker)

- changed import feature (can be also imported from player computer to MP running session)

- changed export selected option from single object to multiple objects

- fixed teleport script

- fixed MP export and some export format errors

- debug mode added and unnecessary configuration variables removed

- configuration variables available for side vs side gameplays

- added preconfiguration of unit classes or WWII and NAM modpacks

- added unit behaviour, formation, etc to exported soldier parameters

- reduced size of exported text (default variable values ignored) and version check included

v1.0 initial release

Waypoints are not saved, but this is not due to any limitation of the script. As the real time exporting process catches the current status of everything at the moment of exporting the units may be moving around instead of staying where you initially wanted. The former idea of this script was to help editors and Zeus during multiplayer cooperative game, and to decorate and pre-define main elements such as bases, enemy forces locations, ambient life, etc. During gameplay you can always take control of those units via Zeus interface.

I hope you like it :D

Edited by geloxo

Share this post


Link to post
Share on other sites
Guest

Release frontpaged on the Armaholic homepage.

================================================

We have also "connected" these pages to your account on Armaholic.

This means in the future you will be able to maintain these pages yourself if you wish to do so. Once this new feature is ready we will contact you about it and explain how things work and what options you have.

When you have any questions already feel free to PM or email me!

Share this post


Link to post
Share on other sites

Interesting, I'll certainly be taking a look at this one. Thanks for your efforts mate and congrats on the release.

Share this post


Link to post
Share on other sites

maybe "deaktivate teleport" function would be nice, too in case zeus wants to add markers to the map again

Share this post


Link to post
Share on other sites

You can just remove or comment the addaction line which calls teleport.sqf without any problem. That line is inside zeus_init.sqf main script. But I will take this into account and prepare a variable to enable or disable it in next releases

Share this post


Link to post
Share on other sites

I fixed it already. What i meant is this: Once Zeus clicked on teleport (because he actually wants to teleport somewhere) this teleport thing stays active and he cannot add markers anymore. I changed the teleport.sqf this way:

if (player == player) then {

hint "Click on map to teleport";

onMapSingleClick "player setpos _pos";

sleep 10;

hint "Teleport deactivated";

onMapSingleClick "";

};

if (true) exitWith{};

So it only stays active for 10 seconds and then he has to click teleport again if he wants to :)

Share this post


Link to post
Share on other sites

Aaah ok. Got it. Yes the deactivation of mapclick was missing. It will be fixed. Thanks for reporting it!

Share this post


Link to post
Share on other sites

Maybe found a bug. I just installed it on my server and we have 3 zeus slots. It works for 2 of them but not for the first. The only difference is: first zeus is marked as "Player" while the others are "playable".

Share this post


Link to post
Share on other sites

The number of Zeus does not make any difference on the script cause each module need to run a single instance of zeus_init.sqf. If it Works for 1 player, it will work for more players. We have tested it in MP. Does this third player have even access to default Zeus interface? It it does not then you may have a mistake in setting that player as Zeus or running the commands at the init. Check steps included in the manual (units naming, syncronize modules and run script), and please report any problem ;-)

Share this post


Link to post
Share on other sites

yea, all 3 units are the same and all have zeus interface. just the number 1 zeus is marked as red player in the editor

Share this post


Link to post
Share on other sites

Do you see the following chat messages when playing with each of the Zeus players (they take some seconds to appear, time needed for the BIS module to start)?:

1. "Zeus exporting standard mode initialized for <player or unit name>" (you should only see one message, with the player or unit name of the unit you have selected to play the mission. Each Zeus player in MP should see its own name message.

2. "Zeus custom configuration loaded" (you should see 3 times this message or as many times as human players are present at the Zeus roles. As soon as a player joins that role the script is launched for him)

If you don´t see those messages the script is not launched properly on the curator module of the last unit, I´m affraid. If you have, as you say, vanilla Zeus interface available for the 3 units then the only possible reason is that the Zeus module init field is not properly set. It should read: xx = this execVM "gx_zeus\zeus_init.sqf" (xx can be whatever the name of a global variable, such as angel, nul, or blablabla)

Make sure you have the same text at all Zeus modules init field (not the unit init field, but the module init field)

If you still have problems send to me the mission to check it ;-)

Post edit: you will only see red marked players in SP under advanced mode. The vanilla Zeus interface does not seem to support "playableunits" command unless "allmissionobjects" command is present too, which is the case of the GX Zeus advanced mode but not the case of the standard mode. The standard mode supports this only in SP. There´s a mistake in the manual therefore, sorry...

Edited by geloxo

Share this post


Link to post
Share on other sites

I have corrected some errors with the testers feedback and also improved the code a little. But most important thing is a new and very powerfull feature being available: load. Yes, so simple, but so needed. Now you will have the option to import the work from a script into a mission as currently, but also load those units into your editable list, so that they automatically become editable/exportable to you again, which is currently not posible unless you select them manually and change any attribute to make them exportable again.

Result is very handy as you will be able to load old work packages, re-edit them, re-export and integrate them into your current work. Currently testing it and will be released very shortly. Take this into account, before you start playing with version v1.0, as any script you create now with v1.0 would not be loadable in the new version without any manual tweak (you could still import it in mission, but not reuse it for extra editing without manual intervention). I suggest you wait a bit till this new version is out (so far everthing works like a charm)

I can say now we have a true save+load+import/export tool :cool:

Edited by geloxo

Share this post


Link to post
Share on other sites

Hi, I love the script but we're having a lot of trouble getting it to work on our server.

I tried following the documentation included and also messed with the example mission you provided, but I couldn't get the script working in multiplayer.

The arma3server.rpt's are listing this as an error a lot:

 6:06:59 Ref to nonnetwork object <No group>:0 (Logic)

I could get two players with this zeus script working in single player, sometimes 3 working in single player if the players were BLUFOR. For some reason, I could only get one working if the player was a civilian. Despite getting two BLUFOR Riflemen working with the script in editor (being able to pull up the mouse-wheel menu to teleport around and stuff), I couldn't get it working in multiplayer.

Hope you sort out some of the kinks with the script, because our community would love to have it working.

Share this post


Link to post
Share on other sites

Hello,

The new v1.01 has been released. It issues a lot of improvements and corrections, mainly to the MP editing work. To overcome the problems with exporting to RTP log file I added direct support to jayarma2lib addon. If addon is loaded the MP exporting will be done to its log file automatically (JayArma2Extension.log). It´s much more reliable and clean. Please use this addon to get much better results.

Importing from player computer can be done directly during MP, in addition to importing from server. This will allow you to import several times using different scripts as userconfig folder is not write protected. Load and Undo options are also added, meaning you can import a script and load those objects to your workspace to edit the imported content again and export a new script with your corrections. Another difference with standard Zeus is that any content created by any editor is accesible to other editors in the standard mode. You can always disable the cooperative editing mode and other features such as importing for MP side vs side games. Also the addons available for Zeus players can be defined in the zeus_init.sqf script. Please read the manual for updated info and changed features.

NOTE: Any script generated with version v1.0 can be still imported to v1.01 but load feature won´t be available with it. Use the advanced mode to edit those imported items again and export the resulting work. It will be formatted to v1.01 automatically in this new exported script.

We have tested the cooperative editing/exporting in MP in our server with 3 editors without any issues, including JIP players. Please feel free to report anything you discover in this post and I will try to address it as fast as I can.

Thanks a lot for your feedback and testing and I hope you can enjoy the new full editing features I have added to vanilla Zeus.

Edited by geloxo

Share this post


Link to post
Share on other sites
Guest

Updated version frontpaged on the Armaholic homepage.

================================================

We have also "connected" these pages to your account on Armaholic.

This means in the future you will be able to maintain these pages yourself if you wish to do so. Once this new feature is ready we will contact you about it and explain how things work and what options you have.

When you have any questions already feel free to PM or email me!

Edited by Guest
Armaholic mirror updated with below fixed version!

Share this post


Link to post
Share on other sites

I have made a small and not relevant correction as the exported sqf script was lacking one line containing _sleeptime variable, which is just used to add a small delay when generating objects upon running the script in a mission (eg: at init.sqf). It does not affect your work or the behaviour of GX Zeus at all, but eliminates the warnings at Arma3 RTP log file when executing such script. I don´t want to add more lines to such log file, you know...

Now the first lines in your "gx_zeus_script.sqf" should read, after the header:

if (not(isServer)) exitWith {};

gx_curator_load = [];

gx_curator_loadversion = 1.01;

_sleeptime = 0.01;

You can also add it manually to the generated script if you prefer so. I have updated the first post with a new zip anyway. Foxhound, if you don´t mind please update the zip at the mirror too ;-)

Share this post


Link to post
Share on other sites

Hi,

We tried out your script again. Using the default mission, "zeus1" and "zeus2" could both teleport and zeus1 could edit zeus2's units, but zeus2 could not edit zeus1's units.

I also tried having four units (zeus1, zeus2, zeus3, and zeus4), but then the script would only load for zeus1 and not load for zeus2, zeus3, and zeus4.

Share this post


Link to post
Share on other sites

Hi,

I'm so sorry about you having those problems. I can't see where the problem could be in the code... Did you see one side chat message "zeus ready for player" for each of the players connected as zeus role? Arma3 could take several seconds to initialize the module and detect it as a zeus player. Till this does not happen my script won't do anything. After that my initialization starts and then the blue chat appears. At that point you are ready to share your work among editors. Please check if you see then 4 messages.

Also take into account that refresh cycle for detecting new placed units by other zeus is 10s and Zeus script may need to go from standard to expert modes or from private to coop modes to detect those newly placed units. Please check this switching of modes too. Anyway probably we reached a limit with number of posible Zeus module players, who knows... We tested with 3 people in our server including JIP and worked. I will take a look again but I can only imagine the problem is caused by missing data packets in the network or players desync.. When you edit you exchange variables with server and players, allowing you to access other people data. If this data is lost then nothing can be read..

I suggest you try advanced mode meanwhile as it grants access to everything available in mission (even other editors units) and if it fails then please check RTP file for any error on gx zeus script or use showscripterrors launch command to see them on screen. Also please repeat test with no other addons loaded except CBA and optionally Jayarma2lib to discard any external influences over network data exchange ingame. You can report any findings here if you could check those things.

Again sorry for the unsuccessful result

Edited by geloxo

Share this post


Link to post
Share on other sites

Version 1.02 released at first post. I was planning to release it this weekend but, due to Divaya post, I share it now in case his problems still persist. Main correction was the usage of setposworld in the generated scripts. This allows super precise replication of objects positions (e.g: when placing objects elevated near rivers).

@Divaya: I have added extra debug info to this version. In case problem still reproduces we could see some more info on the logs ;-)

Share this post


Link to post
Share on other sites
Guest

Updated version frontpaged on the Armaholic homepage.

================================================

We have also "connected" these pages to your account on Armaholic.

This means in the future you will be able to maintain these pages yourself if you wish to do so. Once this new feature is ready we will contact you about it and explain how things work and what options you have.

When you have any questions already feel free to PM or email me!

Share this post


Link to post
Share on other sites

Thanks a bunch for the update! Multi-zeus editing works a lot better now. We're able to edit each other's units in zeus now pretty well.

Some bugs/notes:

1) If you spawn a manned vehicle, other Zeuses can only edit the driver (and not the vehicle itself). If you spawn an empty vehicle and then put a driver in it via dragging him into it, you'll still be able to edit/move around the vehicle and the driver as you should be able to.

2) Selecting a lot of stuff at once (eg 50+ objects) can cause a client crash. Might be BI's fault?

3) You can't see or edit other Zeus's firesupport. Not a huge deal really, but it would be nice.

Thanks again for putting the time into this script, it's seriously so useful.

Share this post


Link to post
Share on other sites

Really nice to hear that! About your comments:

1) Take into account locallity in MP. To avoid that is why I suggest in the manual to work with empty vehicles an move troops on it.

2) I guess this is due to memory usage. Zeus itself can turn very resources demanding by itself and adding 4 scripts that monitor all mission objects to this scenario can put your pc to the limits. On my tests I experienced some of them while exporting more than 100 items on a running mission with other 200 objects/units (my pc has 16Gb RAM and 12cores). I could export them but you see a clear delay till a so huge selection is done. Everything has a limit... I suggest working with smaller sets, export them, save this to scripts and clear variables to start new project.

3) Not planned yet. Only the items types which are included in the manual list are supported.

Edited by geloxo

Share this post


Link to post
Share on other sites

Hi,

I will discontinue the script version and include the script into GX Addons mod pack: http://forums.bistudio.com/showthread.php?173559-GX-Addons-v2

The next GX Addons release (shortly next week) will include the v1.03 of this Zeus script. No modifications where done to the code, except the integration with original GX Addons mod pack.

Share this post


Link to post
Share on other sites

This is going to sound like a stupid question, but... how do I use it?

I'm in a LAN server on my own, putting down buildings (I'm wanting to run a campaign as a GM, with base upgrades over time). Where do I go to export the current state of things as a mission file? Is it a module I have to drop on Zeus?

Or have I completely got the wrong end of the stick about what this does?

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  

×