Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Dynamic Zeus Curators to A3W #376

Open
wants to merge 1 commit into
base: dev
Choose a base branch
from

Conversation

wiking-at
Copy link
Contributor

to contribute back to the community i prepared everything you need to dynamically create zeus curators in this pull request. this feature is especially nice if you want to do special events on your server.

the feature is only active if there is a zeusAdmin UID defined in A3Wasteland_settings\zeus.sqf.
sample zeus.sqf:
https://gist.github.com/wiking-at/3d16a68223d3128775d9

if an authorized zeusAdmin opens the zeus userinterface the server refreshes all curatorobjects for this user. so there should only be any performance impact if this feature is used.

took me countless iterations and a month of work to get it in this final form - so i hope people like it.

… dynamically create zeus curators in this pull request.

features are only active if there is a zeusAdmin UID defined in a3wastelandsettings\zeus.sqf.

if an authorized zeusAdmin opens the zeus userinterface the server refreshes all curatorobjects for this user.
@hobart666
Copy link

You sir are one hell of a madman! I must try this!!!

@wiking-at
Copy link
Contributor Author

if you run the a3w battleye filters you may have to change the mpEventHandler.txt and the createVehicle.txt:

mpEventHandler.txt
createVehicle.txt

@AgentRev
Copy link
Member

Thanks, I will look into this next weekend.

@Soloknight
Copy link

I've been playing around with this, the only problem right now is if you use the artillery and have it hit near a player it kicks the play or any player in the area with the A3w anti hack system with "ModuleHQ_F"

@AgentRev
Copy link
Member

or this:

A3W_antiHackUnitCheck = 1; // Detect players who spawn unauthorized AI units (0 = no, 1 = yes) - disable if you have custom unit scripts/mods like AI recruitment or ALiVE

@Soloknight
Copy link

Thanks for the help, and the updates to a3w, just sent you another 15

@AgentRev
Copy link
Member

thanks!

@Soloknight
Copy link

Hi Rev, I know you didn't write this code, but I'm trying to figure out how to disable the Y key from players, It makes a sound on the client side and some players just spam it over and over.

@AgentRev
Copy link
Member

AgentRev commented Jun 6, 2016

I don't see anything that makes sound in there...

@Soloknight
Copy link

I know, it's total weird, maybe if I change it to another key, but every time someone pushes the Y key they're highlighted on the map and it makes a sound that only the player and admins listed that are on can here, no one else can here it. I'm sure it's just a zues thing and we are using the default key which is causing the issue.

@AgentRev
Copy link
Member

AgentRev commented Jun 6, 2016

Ah, I found it: https://community.bistudio.com/wiki/Arma_3_Field_Manual_-_Zeus#Pinging_Zeus

This is built into the game...

Y key

@Soloknight
Copy link

Soloknight commented Jun 6, 2016

Thanks Rev, I'll fit in another Donation this month for you, love your work, I will just live with it. we like using this to create admin missions or if some of the players are owning with the black foot. We will sometimes spawn in a few AI jets and problem is fixed lol.

@AgentRev
Copy link
Member

AgentRev commented Jun 6, 2016

Add this before the last line in client\clientEvents\onKeyPress.sqf :

// Disable Zeus ping
if (!_handled && _key in actionKeys "CuratorInterface") then
{
    _handled = true;
};

I don't know if it will work but it's my only idea.

@Soloknight
Copy link

I'll let you know, server restarts in 5 min ;-)

@AgentRev
Copy link
Member

AgentRev commented Jun 6, 2016

huh hang on this will also prevent Zeus UI from opening...

@Soloknight
Copy link

np

@AgentRev
Copy link
Member

AgentRev commented Jun 6, 2016

// Disable Zeus ping
if (!_handled && _key in actionKeys "CuratorInterface" && {!(player in allCurators)}) then
{
    _handled = true;
};

@Soloknight
Copy link

It still disabled it, but thanks for the quick response, I appreciate it.

@Soloknight
Copy link

Just sent you another 20 ;-) keep up the great work, can't wait till Tanoa

@AgentRev
Copy link
Member

AgentRev commented Jun 7, 2016

Thanks! Here's another attempt:

// Disable Zeus ping
if (!_handled && _key in actionKeys "CuratorInterface" && isNull getAssignedCuratorLogic player) then
{
    handled = true;
};

@Soloknight
Copy link

Thanks Rev, But It still works for both player and admins

@wiking-at
Copy link
Contributor Author

wiking-at commented Jun 8, 2016

maybe something like this will work:

// Disable Zeus ping
if (!_handled && _key in actionKeys "CuratorInterface" && {!(getPlayerUID player in call zeusAdmins)}) then
{
    _handled = true;
};

i can't try it out at the moment unfortunately.

If you try that code you could also replace the code around line 57 with this block inspired by agentrev's superior knowledge of arma scripting commands:


        // Zeus Key
    case ( _key in actionKeys "CuratorInterface" && (getPlayerUID player in call zeusAdmins)):
    {
        execVM "addons\aj\zeus\refreshzeus.sqf";
    };

edit: i also tested this approach on our server - it should work.

@NRZ7
Copy link

NRZ7 commented Jun 9, 2016

Replacing this

    // Z Key
    case (_key in A3W_customKeys_AJZeus):
    {
        execVM "addons\aj\zeus\refreshzeus.sqf";
    };

for this

        // Zeus Key
    case ( _key in actionKeys "CuratorInterface" && (getPlayerUID player in call zeusAdmins)):
    {
        execVM "addons\aj\zeus\refreshzeus.sqf";
    };

Works fine. Tahnks!

@wiking-at
Copy link
Contributor Author

the second block is just tidying if the player has set his zeus function to another key. to disable the zeus pings the first block is mandatory.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants