Jump to content
Sign in to follow this  
nullsystems

Eject is only local?

Recommended Posts

aha!

Now, you may all recognise this well used and handy script:

Error coded removed

Now the problem is. The way I have it setup is that, if your the pilot, you dont get ejected ( the reason for the a=a+1 count at the beginning )......However, in MP, it ejects EVERYONE but Me ( im hosting it )...

Now I understand this is a locality issue with the variables but I have no idea how to get around it, can anyone help?

Thank you in advance!

Share this post


Link to post
Share on other sites

>> Eject is only local?

Yes.

Now I dont have time right now. If noone else answers I will explain you later. Up to then you may take a look at a mission I made. There is an eject.

http://mitglied.lycos.de/f4k32/interception157/

interception

check the trigger far south at tiberia where the players get inserted.

Share this post


Link to post
Share on other sites

Thanks man!

Good help and good examples... I will take a look and let you know later on if it works. **UPDATE** The pbo wouldnt extract im afraid, but the mission did work.

If you can help as you suggested, that would be excellent. Im normally not stuck, but this has gotten me sad_o.gif

Catch you later! smile_o.gif

Share this post


Link to post
Share on other sites

<table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">_getOutUnits = units grp_main;

_i = 0

#eject1

~1

_curUnit = _getOutUnits select _i;

?( local _curUnit ): _curUnit action[ "EJECT",emp_easttrans ];

?( local _curUnit ): unassignVehicle _curUnit;

_i = _i + 1;

?( _i <( count _getOutUnits ) ): goto "eject1";

Thats an exerpt from the "unbugeject.sqs"-Script. It's in sqs-syntax as you can see but the idea is the same.

Assuming that script is executed on all clients this will work.

btw: if you werent able to extract the pbo you are probably using the wrong unpacker. use the greate kegetys tools:

http://armed-assault.net/downloads/kegetys-arma-tools.html

rewritten:

<table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">http://paste-it.net/2749

Share this post


Link to post
Share on other sites

eject is not local. It only has to be executed where the unit is local, then it has global effect.

Share this post


Link to post
Share on other sites
eject is not local. It only has to be executed where the unit is local, then it has global effect.

It would be nice if you could add this to the wiki.

Share this post


Link to post
Share on other sites
eject is not local. It only has to be executed where the unit is local, then it has global effect.

biggrin_o.gif You are actually splitting hairs in your free time :> In fact I said "is local" - while "is local" neither implicates that it has global effects nor that it has global parms. But as it should be clear, that ejecting a unit will take place on all clients the only remaining way to interpret this is that the arguments are supposed to be local.

Now split this again!

xmas_o.gif

5133p39, read this article.

Share this post


Link to post
Share on other sites
5133p39, read this article.

ooops, sorry, i didn't checked whether the icon is already there smile_o.gif

I should redownload the wiki again, looks like it has been changed since the last time.

Share this post


Link to post
Share on other sites

Thanks for your contribution guys, im going to check out the lil script you posted

I cant see much difference tho, but ill test it smile_o.gif

Share this post


Link to post
Share on other sites

I tried the first version ( not the linked one ).....that did the same thing. Just ejected the pilot.

The second version, from the pastebin doesnt eject anyone sad_o.gif

Im quite lost.

I tried this:

for[ { _int_i = 0; },{ _int_i < count _vobj_units &&( _vobj_units select _int_i action[ "EJECT",heli1 ];

unassignVehicle( _v__obj_units select _int_i ); };};

But it doesnt seem to be doing anything at all.

What am I doing wrong? I only have that section in the script btw.

Share this post


Link to post
Share on other sites
eject is not local. It only has to be executed where the unit is local, then it has global effect.

biggrin_o.gif You are actually splitting hairs in your free time :> In fact I said "is local" - while "is local" neither implicates that it has global effects nor that it has global parms. But as it should be clear, that ejecting a unit will take place on all clients the only remaining way to interpret this is that the arguments are supposed to be local.

Now split this again!

xmas_o.gif

I do not understand what you write there completely... confused_o.gif The only thing I saw here is the thread's title and your post, which is obviously wrong:

Quote[/b] ]>> Eject is only local?

Yes.

If you say something "is local", you usually mean by that that it has local effect. whistle.gif

/edit: @5133p39: Correct. You can do it as well wink_o.gif

Share this post


Link to post
Share on other sites

Fixed it, thanks guys wink_o.gif

Very much apreciated!!!! I cannot thank you enough biggrin_o.gif

Share this post


Link to post
Share on other sites
Quote[/b] ]>> Eject is only local?

Yes.

If you say something "is local", you usually mean by that that it has local effect. whistle.gif

That was right the point I met:

I don't think that "is local" means "its Effects are local" in this context. Because everyone knows that ejecting a unit will be global with its effects!

And if the effects aren't local although I said that it "is local" that has to mean that it's arguments have to be local.

Nullsystems, just curious: What did you fix right now? And are you sure that you replaced _getOutUnits = units grp_main; with the according units and the rest as well?

BTW: As you can see the forum doesnt take pasting correctly. Can't imagine why the second script didnt work (Didn't try it - but actually it should).

Share this post


Link to post
Share on other sites
I don't think that "is local" means "its Effects are local" in this context. Because everyone knows that ejecting a unit will be global with its effects!

That's plain wrong, as the effect is local if you're using it on a nonlocal unit.

Share this post


Link to post
Share on other sites
I don't think that "is local" means "its Effects are local" in this context. Because everyone knows that ejecting a unit will be global with its effects!

That's plain wrong, as the effect is local if you're using it on a nonlocal unit.

huh.gif Really? So this means the units may be ejected on one client while it's still in the vehicle on another client?

Share this post


Link to post
Share on other sites
I don't think that "is local" means "its Effects are local" in this context. Because everyone knows that ejecting a unit will be global with its effects!

That's plain wrong, as the effect is local if you're using it on a nonlocal unit.

huh.gif Really? So this means the units may be ejected on one client while it's still in the vehicle on another client?

Yes.

Share this post


Link to post
Share on other sites
I don't think that "is local" means "its Effects are local" in this context. Because everyone knows that ejecting a unit will be global with its effects!

That's plain wrong, as the effect is local if you're using it on a nonlocal unit.

huh.gif Really? So this means the units may be ejected on one client while it's still in the vehicle on another client?

Yes.

I never noticed that. Is that the same with ALL functions which require local arguments. So will they ALL actually take place on the client while in "server-reality" they dont?

How can that be? Isn't the server updating the clients with that kind of information? Or does the server only broadcast actual changes and not a persistent datastream?

So if that guy, who actually didnt get out of the car but did on the client, will REALLY get out of his car - this will put evrything back to normal?

(good guessing since unfortunally I dont have arma's sourcecode)

Share this post


Link to post
Share on other sites

I remember that I was outside the vehicle on my client and in the vehicle on other clients when I tested it (in OFP!wink_o.gif. Usually such commands are reverted after the next update from the server, but I can't remember being pushed back in the vehicle.

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  

×