Staredit Network > Forums > SC1 UMS Mapmaking Assistance > Topic: eud drop people ....
eud drop people ....
Apr 22 2011, 4:44 pm
By: nico141  

Apr 22 2011, 4:44 pm nico141 Post #1



my problem is when i use eud in game its drop the ppl, i maked the map whit eud the trigger is when u press 1 its going to make 1 arbiter under a ghost,in single player works fine,in multi only playing solo works fine but i was playing whit my friends and when he pressed 1 ,he disconected from the game, a solution for not to drop?

Attachments:
Eud Example.scm
Hits: 2 Size: 51.82kb



None.

Apr 22 2011, 4:51 pm Raitaki Post #2



If it's EUD actions, then every player playing that map needs to run an EUD enabler so that you will not desync.



None.

Apr 22 2011, 5:07 pm nico141 Post #3



Eud enabler, a trigger for other players , or a program thats enable euds?



None.

Apr 22 2011, 5:30 pm Raitaki Post #4



Quote from nico141
Eud enabler, a trigger for other players , or a program thats enable euds?
EUD enabler is a program that enable EUD actions on multiplayer play. I think you can find it somewhere in the DLDB.



None.

Apr 22 2011, 5:40 pm nico141 Post #5



but i played a game whitout eud enabler and its doesnt disconected and was playing whit a friend



None.

Apr 22 2011, 5:45 pm Raitaki Post #6



Quote from nico141
but i played a game whitout eud enabler and its doesnt disconected and was playing whit a friend
Then maybe it because EUD actions still work on LAN (but not bnet), or that map only had EUD conditions. Bnet only drops on EUD actions.



None.

Apr 22 2011, 6:32 pm FoxWolf1 Post #7



You've connected a non-shared condition to a shared action, resulting in a desynch.

Note that selection groups are shared, so if you want a game where a unit is created when you press "1", you can give each player a control unit that he hotkeys to 1, detect his selection of that unit via EUD conditions, and then deselect it by giving it to a different player and back again.



None.

Apr 22 2011, 6:36 pm Ahli Post #8

I do stuff and thingies... Try widening and reducing the number of small nooks and crannies to correct the problem.

What are you detecting with that EUD?
The button "1"?

Buttons aren't shared between players. But you won't be desynced immediatly or under every circumstance.
There are some actions that can be done safely locally without desyncing the game.
The display text message is an action that can be done safely.

Creating units will cause a desync EXCEPT everyone presses the key during the trigger check (-> actions run on every computer).

What you need for detecting that stuff:
Make the player hotkey some units and tell them to select the units to activate something.
Unit selection detection will work because that is shared memory data.

oh and damned, foxwolf1 was faster ;D




Apr 23 2011, 2:13 am iCCup.xboi209 Post #9



Ahli, so if everyone in the game were to press 1 at the same time, the game could do a global action and wouldn't desync anyone?



None.

Apr 23 2011, 5:57 am rockz Post #10

ᴄʜᴇᴇsᴇ ɪᴛ!

correct, but that's highly unlikely.



"Parliamentary inquiry, Mr. Chairman - do we have to call the Gentleman a gentleman if he's not one?"

Apr 23 2011, 12:47 pm NudeRaider Post #11

We can't explain the universe, just describe it; and we don't know whether our theories are true, we just know they're not wrong. >Harald Lesch

If you're not using hypertriggers you have a 1.5s window for everyone to press the same time, which is feasible, but with hypers everyone would only have 83ms to press it which is too short to be of any practical use.

So you could use switch hypers and disable them for the duration of the key press detection.




Apr 23 2011, 1:54 pm nico141 Post #12



Quote from NudeRaider
If you're not using hypertriggers you have a 1.5s window for everyone to press the same time, which is feasible, but with hypers everyone would only have 83ms to press it which is too short to be of any practical use.

So you could use switch hypers and disable them for the duration of the key press detection

if i make a trigger thats need p1,p2,p3,etc are pressing 1 we will desnyc?



None.

Apr 23 2011, 2:08 pm Roy Post #13

An artist's depiction of an Extended Unit Death

Quote from nico141
if i make a trigger thats need p1,p2,p3,etc are pressing 1 we will desnyc?
Yes. You will desync. Unless your game is based on "Do this action at this exact time to not drop from the game," there is no practical use for this. The only way you would not desync is if everyone pressed the button at nearly the exact same time, which is exponentially unlikely for each additional player.

This has already been technically been answered in xboi's/rockz's question and answer a few posts above.




Apr 23 2011, 2:35 pm NudeRaider Post #14

We can't explain the universe, just describe it; and we don't know whether our theories are true, we just know they're not wrong. >Harald Lesch

Quote from nico141
Quote from NudeRaider
If you're not using hypertriggers you have a 1.5s window for everyone to press the same time, which is feasible, but with hypers everyone would only have 83ms to press it which is too short to be of any practical use.

So you could use switch hypers and disable them for the duration of the key press detection

if i make a trigger thats need p1,p2,p3,etc are pressing 1 we will desnyc?
I don't understand your question since I answered it in the part you quoted so I'll elaborate:
Key press detection is not shared. That means only the player pressing the key has the condition true, so only this player is running the trigger.
Now if you just display text in the trigger this is no problem as display text is a local action, that doesn't affect game play so no desynch will happen.
But you want to run global actions (aka something that does affect the game) but you want to base this off a local variable (key press. No player knows what keys you press). So you have to make sure that everyone presses the key IN THE SAME TRIGGER LOOP or players will desynch.

So my suggestion is: You don't use hypers (or disable them temporarily), so trigger loops are about 1.5 seconds apart and do the following:

1. loop: Display text: "Everyone press and hold '1' NOW" -- (0.00s)
2. loop: Run EUD trigger based on pressing '1' -> everyone who isn't pressing '1' will be dropped -- (1.50s)
still 2. loop: Display text: "Everyone release '1' NOW"
3. loop: If someone is still pressing '1' he will desynch. -- (3.00s)

(not perfectly accurate, but you should get the idea)

The problem with this is that every player has to start pressing somwhere inbetween 0.00s - 1.50s and releasing somewhere between 1.50s - 3.00s. Failure to comply -> you drop from the game.
Also if you "accidently" happen to press '1' at any time you'll drop. It's not very user friendly, but it's possible when you're not using hyper triggers.
However hyper triggers are usually very much desired, so I gave you the option to use switch hypers (scroll down a bit). Those have the property that you can disable them at any time and restart them later.




Apr 23 2011, 3:03 pm nico141 Post #15



Quote from Roy
Yes. You will desync. Unless your game is based on "Do this action at this exact time to not drop from the game," there is no practical use for this. The only way you would not desync is if everyone pressed the button at nearly the exact same time, which is exponentially unlikely for each additional player.

This has already been technically been answered in xboi's/rockz's question and answer a few posts above.

ROFL Good idea xD

Quote from NudeRaider
I don't understand your question since I answered it in the part you quoted so I'll elaborate:
Key press detection is not shared. That means only the player pressing the key has the condition true, so only this player is running the trigger.
Now if you just display text in the trigger this is no problem as display text is a local action, that doesn't affect game play so no desynch will happen.
But you want to run global actions (aka something that does affect the game) but you want to base this off a local variable (key press. No player knows what keys you press). So you have to make sure that everyone presses the key IN THE SAME TRIGGER LOOP or players will desynch.

So my suggestion is: You don't use hypers (or disable them temporarily), so trigger loops are about 1.5 seconds apart and do the following:

1. loop: Display text: "Everyone press and hold '1' NOW" -- (0.00s)
2. loop: Run EUD trigger based on pressing '1' -> everyone who isn't pressing '1' will be dropped -- (1.50s)
still 2. loop: Display text: "Everyone release '1' NOW"
3. loop: If someone is still pressing '1' he will desynch. -- (3.00s)

(not perfectly accurate, but you should get the idea)

The problem with this is that every player has to start pressing somwhere inbetween 0.00s - 1.50s and releasing somewhere between 1.50s - 3.00s. Failure to comply -> you drop from the game.
Also if you "accidently" happen to press '1' at any time you'll drop. It's not very user friendly, but it's possible when you're not using hyper triggers.
However hyper triggers are usually very much desired, so I gave you the option to use switch hypers (scroll down a bit). Those have the property that you can disable them at any time and restart them later.


Uh so i have to do something like this?


Condition:
(the condition for press the 1)
Actions:
(now hold 1)
Create 1 arbiter on X location
KIll 1 arbiter at Anywhere
(release 1)



None.

Apr 23 2011, 3:40 pm Ahli Post #16

I do stuff and thingies... Try widening and reducing the number of small nooks and crannies to correct the problem.

Quote from nico141
Uh so i have to do something like this?


Condition:
(the condition for press the 1)
Actions:
(now hold 1)
Create 1 arbiter on X location
KIll 1 arbiter at Anywhere
(release 1)
trigger 1:
C: system is activated (for example: switch01 is set)
A: raise a Death Count (DC) by 1

trigger 2:
C: if DC = 1
A: display "hold down 1"

trigger 3:
C:
if DC = 2
if memory condition for key
A:
display "release 1"
Create 1 arbiter on X location
Kill 1 arbiter at Anywhere

Don't forget to change the DC afterwards. It isn't allowed to stay =2 forever.

Post has been edited 1 time(s), last time on Apr 23 2011, 3:41 pm by Ahli. Reason: copy pasta is delicious




Options
  Back to forum
Please log in to reply to this topic or to report it.
Members in this topic: None.
[01:05 am]
Vrael -- I won't stand for people going around saying things like im not a total madman
[01:05 am]
Vrael -- that's better
[12:39 am]
NudeRaider -- can confirm, Vrael is a total madman
[10:18 pm]
Vrael -- who says I'm not a total madman?
[2024-5-03. : 2:26 pm]
UndeadStar -- Vrael, since the ad messages get removed, you look like a total madman for someone that come late
[2024-5-02. : 1:19 pm]
Vrael -- IM GONNA MANUFACTURE SOME SPORTBALL EQUIPMENT WHERE THE SUN DONT SHINE BOY
[2024-5-02. : 1:35 am]
Ultraviolet -- Vrael
Vrael shouted: NEED SOME SPORTBALL> WE GOT YOUR SPORTBALL EQUIPMENT MANUFACTURING
Gonna put deez sportballs in your mouth
[2024-5-01. : 1:24 pm]
Vrael -- NEED SOME SPORTBALL> WE GOT YOUR SPORTBALL EQUIPMENT MANUFACTURING
[2024-4-30. : 5:08 pm]
Oh_Man -- https://youtu.be/lGxUOgfmUCQ
[2024-4-30. : 7:43 am]
NudeRaider -- Vrael
Vrael shouted: if you're gonna link that shit at least link some quality shit: https://www.youtube.com/watch?v=uUV3KvnvT-w
Yeah I'm not a big fan of Westernhagen either, Fanta vier much better! But they didn't drop the lyrics that fit the situation. Farty: Ich bin wieder hier; nobody: in meinem Revier; Me: war nie wirklich weg
Please log in to shout.


Members Online: NudeRaider, Roy, Moose