Jump to content

Recommended Posts

ADV Zeus Script



by

Belbo

Description:

When playing as Zeus you might notice that you can't interact with editor placed objects/units or with units spawned during the mission or even with respawned players. That's why I wrote this very small script to counteract that.

Features:

This script adds (almost) all editor placed objects to the zeus interface, so you can edit them as Zeus. Additionally it checks every five seconds if units have been spawned and makes them editable as well. That way you always have a way to see or interact with your players or units spawned by scripts like UPSMON.

Installation:

1. put the ADV_zeus.sqf into your missionfolder.

2. put this in your mission's init.sqf (create if necessary)

   ////////// ADV_Zeus-Script by Belbo start //////////
       if (isServer) then 
   {
           //CuratorModuleName = your curator module name; true = boolean, if civilians should be editable by zeus as well - set to false if you don't want civilians to be editable.
       [CuratorModuleName,true] execVM "ADV_zeus.sqf";
   };
   ////////// ADV_Zeus-Script by Belbo end //////////

3. Make sure to replace "CuratorModuleName" with the name of your actual curator module.

4. Repeat for additional curator modules.

5. Start your mission and have fun with all the stuff you have placed in the editor and all the respawning players and whatnot. :)

Usage:

There's a sample mission included.

Change log:

v1.02: - small change to the while-loop (thanks to Psychobastard)

v1.01: - reduced network traffic (thanks to Moricky)

v1.0: - Initial release

Download Link:

- ADV_Zeus_v102.Stratis.rar

Edited by Belbo

Share this post


Link to post
Share on other sites
Guest

Thanks for sending us the release :cool:

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!

Edited by Guest
updated to latest

Share this post


Link to post
Share on other sites
Thanks for sending us the release :cool:

No need to thank me. I thank you. :)

Share this post


Link to post
Share on other sites

Hi,

a technical note

{_curator addCuratorEditableObjects [[_x],true]} foreach vehicles;

This means the command will be called individually on each object, causing quite a lot of network traffic. That's why the command accepts array of units, so it can send a request only once:

_curator addCuratorEditableObjects [vehicles,true];

Also, respawned players who were editable before death should be made editable automatically again. If there's a problem with it, it's most likely a bug.

Share this post


Link to post
Share on other sites
Hi,

a technical note

{_curator addCuratorEditableObjects [[_x],true]} foreach vehicles;

This means the command will be called individually on each object, causing quite a lot of network traffic. That's why the command accepts array of units, so it can send a request only once:

_curator addCuratorEditableObjects [vehicles,true];

Also, respawned players who were editable before death should be made editable automatically again. If there's a problem with it, it's most likely a bug.

Ah, thank you. I'll fix it right away. :) // fixed. ;)

About the respawned players: It's been like this in the early stages since release of Zeus, but as I've written this script quite early (especially because of this), it might be different now - I don't know. For units spawned during the mission I'd still have to use the same code, so it wouldn't make much of a difference.

Edited by Pergor

Share this post


Link to post
Share on other sites
Make sure to replace "CuratorModuleName" with the name of your actual curator module.

I don't quite understand what this means. What module name would I put in here? Noob question I know.

Share this post


Link to post
Share on other sites
I don't quite understand what this means. What module name would I put in here? Noob question I know.

To play a mission with zeus you have to place the following modules:

1. Gameplay Modes -> Game Master - No editing necessary here.

2. Zeus -> Game Master - sync that with the Gameplay Modes -> Game Master-Module and put in "Name:" the CuratorModuleName you want to use.

Not in the second "Name"-field, but in the "Name:"-field before "Initialization:" and "Description:". Whatever you put in there is the name of your curator Module.

Share this post


Link to post
Share on other sites

Thanks for this, sounds like what I've been waiting for :)

Edit: used it last night, works great!

Edited by ToxicSludge

Share this post


Link to post
Share on other sites

v.1.0.2: A small change of the while code suggested by Psychobastards. Thanks again for that! :)

Share this post


Link to post
Share on other sites
Guest

New 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

Any one have a solution for using it with MCC, then youy have no module with zeus in the mission? really appriciate any help.

Share this post


Link to post
Share on other sites
Any one have a solution for using it with MCC, then youy have no module with zeus in the mission? really appriciate any help.

I don't really know what you'd like to achieve. If you want to use Zeus with MCC, then you'd better go ask in the MCC-thread. Although it shouldn't be much of a problem and this script actually hasn't got anything to do with MCC or shouldn't interfer with it.

For some reason I cant for the life of me get this thing to work. I really really want it to.

http://i59.tinypic.com/2e3q0s6.jpg (110 kB)

Take a look at this post to know what you have to do to create a zeus mission: http://forums.bistudio.com/showthread.php?180591-ADV-Zeus-Script&p=2733315&viewfull=1#post2733315

Share this post


Link to post
Share on other sites
I don't really know what you'd like to achieve. If you want to use Zeus with MCC, then you'd better go ask in the MCC-thread. Although it shouldn't be much of a problem and this script actually hasn't got anything to do with MCC or shouldn't interfer with it.

Take a look at this post to know what you have to do to create a zeus mission: http://forums.bistudio.com/showthread.php?180591-ADV-Zeus-Script&p=2733315&viewfull=1#post2733315

Alright after tinkering around a bit, I got it to work. Thanks!

In regards to it working with MCC it should work fine. Im using it with MCC with only minor issues. Note the issues are not being caused by this script but by zeus in general.

Share this post


Link to post
Share on other sites

Hi im new to editing and the game itself but im quite hooked already. Looking forward to build a few great battlefields for private use for a start. Havent done much scripting so far and have so far only tried around with the init fields inside the units, but as thats rather limited and unhandy, ill give the scripting a go. This one here is a good reason to start as i would love to have all units recruitable, including those that respawn.

I tried to get it directly working in my map, but that seemed to fail, so i tried the included test mission.

While it seems to work there initially it does not work anymore after i add units to the map.

Again: delivered mission with the few units in it - no problem. add a unit to the map (no save) it does not anymore.

And even when i then reload the original map (even though i had not really changed it) it does not work there anymore.

I deleted the test mission, insstalled it again. It did the same thing. Worked - added unit - does not work anymore....

Why might that be? or are there any other solutions to make all units editable with zeus?

Edited by Fetzen

Share this post


Link to post
Share on other sites

hm... That sounds strange. Theoretically this script is being executed every time you start the mission. So every time you make a restart, the script is being executed, adding the editor placed units, vehicles (both land and air) and boxes to the editable objects for the provided curator module. After the mission start the script checks every 10 seconds for all units and vehicles on the map and adds them to the curator.

The important part for this to work is that you have given your curator module a unique name and put this name in the call for the script (eg. if your curator module (not the curator unit!) is called "MasterMind", you have to call it via

if (isServer) then {[MasterMind,true] execVM "ADV_zeus.sqf";};

).

The part about saving makes me curious though: If you're talking about "no save" and "reload", do you mean saving the mission itself in the editor or saving and reloading a save game via menu while in game? If the ladder is the case, I don't really know how it works, maybe the init.sqf isn't being executed completely after a reload. Then the script wouldn't be executed again. But if you're talking about saving the mission in the editor, you have to make sure to copy the script and the init.sqf with the script-call to the new mission folder. Otherwise it can't work, because the script is not present in the mission.

Share this post


Link to post
Share on other sites

Hi and thanks for the quick reply.

no im only working on the mission in the editor so far and test it in the preview mode and there is only one folder that contains all the files. so i mean reloading your original version of the mission file, not a running mission.

i tried another time:

i again deleted everything and copied your test mission. started it, worked fine. added units and it still worked fine. added a new single unit named it zeus, deleted the old unit named zeus and the script did not work anymore when i started the preview.

I had not saved any changes up to here and reloaded the original file in the editor. SO from there i am starting up again the unchanged version of the test mission in the preview, but the script does not do as it did a few clicks ago.

so even if i did something wrong by changing the zeus unit (which i dont think?) th eversion i load in theend should be the working original. I dont really understand why it wouldnt work then....

Share this post


Link to post
Share on other sites
Hi and thanks for the quick reply.

no im only working on the mission in the editor so far and test it in the preview mode and there is only one folder that contains all the files. so i mean reloading your original version of the mission file, not a running mission.

i tried another time:

i again deleted everything and copied your test mission. started it, worked fine. added units and it still worked fine. added a new single unit named it zeus, deleted the old unit named zeus and the script did not work anymore when i started the preview.

I had not saved any changes up to here and reloaded the original file in the editor. SO from there i am starting up again the unchanged version of the test mission in the preview, but the script does not do as it did a few clicks ago.

so even if i did something wrong by changing the zeus unit (which i dont think?) th eversion i load in theend should be the working original. I dont really understand why it wouldnt work then....

Hm... It's paramount that you assign a unique name to the curator module, and add that to the script call in the init.sqf. That's a bit tricky to see the difference. The name of the zeus unit doesn't at all matter for the script, only for the ownership of the curator module.

But at best you send me your mission, the one in which the script doesn't seem to work, so I can see where the error is - explanations are a bit difficult, if I can't really see what you've been doing. :)

Another option would be to replace the while-loop in the ADV_zeus.sqf

while {true} do {
_toAdd = if (!_addCivilians && {(side _x) == civilian}) then {false} else {true};
{
	if (_toAdd) then {_curator addCuratorEditableObjects [[_x], true]};
} forEach allUnits;
_curator addCuratorEditableObjects [vehicles, true];
sleep 10;
};

with

		while {true} do {
		{
			_x addCuratorEditableObjects [allUnits,true];
			_x addCuratorEditableObjects [vehicles,true];
		} forEach allCurators;
		sleep 10;
	};

That way you loose the ability to deselect civilian units, but I found this to be quite unnecessary anyways.

Edited by Belbo

Share this post


Link to post
Share on other sites

Actually it now happened with the unchanged fresh demo mission at the second time i opened it in preview....

i noticed that the message that i get assigned as zeus does not pop up anymore.

could it be that there is some sort of interference with mods? i have MCC running too and a few others (maps and units mostly)

Share this post


Link to post
Share on other sites
Actually it now happened with the unchanged fresh demo mission at the second time i opened it in preview....

i noticed that the message that i get assigned as zeus does not pop up anymore.

could it be that there is some sort of interference with mods? i have MCC running too and a few others (maps and units mostly)

MCC could be a reason. MCC creates their own curator modules, but these curator modules can't be accessed by the basic version of my script, since you have to provide the curator modules name. The changes I proposed above should cover that problem though.

Share this post


Link to post
Share on other sites

Yes, i think it might have done the job!

added units and changed the zeus player in the demo mission a few times and so far no breakdown :)

will keep you posted if something happens again. im now dealing with learning how to spawn units with sqf files... not sure why im failing there...

Thanks a lot for the help. love it

Share this post


Link to post
Share on other sites
will keep you posted if something happens again. im now dealing with learning how to spawn units with sqf files... not sure why im failing there...

If you're using upsmon (which I personally always recommend), try this one: https://www.dropbox.com/s/pmu68m70hqo1ygc/ADV_spawnPatrol.sqf?dl=0

Or, for the CBA_fnc_taskAttack-function, this one: https://www.dropbox.com/s/9yp7ucvu3yxn8ht/ADV_spawnAttack.sqf?dl=0

Share this post


Link to post
Share on other sites

Very nice script! But what if I want to interact with only blufor(opfor) and Empty units spawned during the mission. How do I do that?

Share this post


Link to post
Share on other sites

I love the idea of this script, but there is just one problem. I have static structures that I don't want the Zeus to access, this script just makes everything editable. Is there a way you can make it so it only adds vehicles? Or a way to tell the script what specific units classes to look for/check?

 

I am not very good at scripting, so I would like as much pointers/help I can get.

Edited by smashballs

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

×