Staredit Network > Forums > SC1 UMS Mapmaking Assistance > Topic: Message guards for multiple players
Message guards for multiple players
Jan 11 2019, 8:02 pm
By: Pr0nogo  

Jan 21 2019, 9:32 pm Pr0nogo Post #21

Well I don't spawn any units in, so as long as this is fine with units trained from production structures I'll be able to safely use it. Otherwise I'll have to detect it and set deaths through aiscripts.

Jan 22 2019, 12:51 am NudeRaider Post #22

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

The game is paused while triggers are processed, so there's no chance that a finished unit will interfere.

We're talking solely about creating units via the create unit action*. And even that is perfectly fine. You just need to keep in mind to update the memory block if you know there's triggers depending on detecting this unit later that trigger loop. That means after creating the unit you need to run one of the following actions:
There are several trigger actions that can invalidate the block. They are:
Kill Unit
Kill Unit at Location
Remove Unit
Remove Unit At Location
Move Location
Move Unit

After that, the unit will be detected just fine in following triggers.

* This also applies to any other action not in the quoted list, which changes if a unit can be detected via bring. Not sure if there even is another, but just in case I just can't think of it right now, I thought I mention it.

Jan 24 2019, 7:57 pm Pr0nogo Post #23

Yeah the whole system is fucked up, transmission 33 will play when transmission 5 should, or similar insane behavior that isn't explicable based on how the triggers are set up. Map's here if anyone can take a look and tell me what's going wrong:!O8h3GSjD!1UiH0ZAwiADUh1junexCuw

The desync only happens if multiple trip triggers (that set the death for the transmission triggers) fire during a dialogue event. I don't know why the math breaks that way, hopefully it's an easy fix. The issues can't be reproduced or demonstrated simply since the system is too abstract and the triggers only fire if the game is in multiplayer, so if anything needs elaboration it'll have to be through text.

edit: DF resolved it with a new system but if anyone can explain the error here it would still be useful.

Post has been edited 2 time(s), last time on Jan 24 2019, 11:00 pm by Pr0nogo.

Jan 25 2019, 1:22 am NudeRaider Post #24

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

oh. That's obvious, not sure why we haven't noticed yet:

Transmission x is playing. => DC = 1bil
Transmission 5 and 8 get queued => DC = 1bil + 2mil + 13
Transmission x finishes, => DC = 2mil + 13

Conditions for Transmisson 33: Play, when DC > 1mil + 33 is fulfilled.
=> after that leaves the DC at just under 1 mil instead of 0 => chaos ensues.
I see you haven't followed my suggestion to show the dc in the leaderboard or you wouldv'e seen it for yourself :P

Even if you stopped Transmission 33 from getting precedence with better conditions you still have no way of determining if you just queued Transmission (5 and 8) or (4 and 9) or (3 and 10) etc.

Now what do to against it...?

a) Use binary values, as suggested earlier (As Roy pointed out you can get up to to 930 transmissions when you use 2 DCs)
b) prevent the dc from getting added to if it's > 1bil + 1mil

Version b) requires a buffer system to temporarily store the queued transmission in a (binary? => can queue up to 31 transmissions) temporary variable, when there's already at least 1 transmission queued.
Also use the condition DC exactly = 1mil+x, instead of at least 1mil+x and at most 1 bil.

Also, I'd be interested in the system DF came up with. Mind outlining it?

Scratch that

Post has been edited 9 time(s), last time on Jan 25 2019, 3:24 am by NudeRaider.

Jan 25 2019, 2:29 am DarkenedFantasies Post #25

Roy's Secret Service

What I did was nothing special, just a hail mary attempt at getting a functional map. Using one DC for the blocker, and a unique DC for every transmission. Inferior and wasteful way of doing it, but sure to be functional. I feel stupid for not realizing the issue with the 1bil/1mil method, and for not simply going for the binary method.

Jan 25 2019, 2:36 am NudeRaider Post #26

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

a unique DC for every transmission.
:lol: But as long as you realize your atrocity to professional mapping I won't say anything ;-)

Jan 25 2019, 2:43 am Pr0nogo Post #27

What's unprofessional about a bunch of gays kissing, huh?

  Back to forum
Please log in to reply to this topic or to report it.
Members in this topic: None.
[05:00 am]
KrayZee -- Leap of Faith Day 2020
[08:03 pm]
Moose -- Doc Halsey probs in Halo books well before Reach came out
[03:57 pm]
lil-Inferno -- probs just coincidence tbh
[2020-2-27. : 5:45 am]
Kolokol -- Okay, are both of these games referencing something else here? If so, what are they both referencing?
[2020-2-27. : 5:45 am]
Kolokol -- So I am looking at the custom campaign "Legacy of the Confederation". One of the missions has references such as "Doctor Halsey" and "Noble", but the campaign was made almost 10 years before Halo Reach.
[2020-2-27. : 2:55 am]
Dem0n -- ya
[2020-2-27. : 2:45 am]
Wing Zero -- Ah damn it Demon
[2020-2-27. : 2:03 am]
KrayZee -- Yeah, we just need 3 more. We can get a complete F if it's 4.
[2020-2-26. : 10:06 pm]
jjf28 -- i'll take that advice into cooperation
[2020-2-26. : 7:43 pm]
KrayZee -- Okay, but we need other people to cooperate and not ruin it
Please log in to shout.

Members Online: Oh_Man, jun3hong, Lanthanide, Wing Zero