Staredit Network > Forums > SC1 UMS Mapmaking Assistance > Topic: EUD Text Detection Breaking?
EUD Text Detection Breaking?
Jan 13 2014, 5:55 am
By: Prophete  

Jan 13 2014, 5:55 am Prophete Post #1



Alright, so I have a map that is going to be solely controlled using text.

It's a map to train new players in the game Snipers.

Now, everything is working smoothly it seems, but for some reason a certain scenario breaks the map.

First of, I have a trigger for row 1-11 for each command sent just to make sure the map can't miss it, since a lot of text will be displayed constantly.
Code
Trigger("Player 1"){
Conditions:
    Memory(187424, Exactly, 1885957715);
    Memory(187425, Exactly, 121270885);
    Memory(187426, Exactly, 1886930208);
    Memory(187427, Exactly, 1852399980);
    Switch("LockExplanation", set);
    Switch("ArenaActive", set);
    Switch("LockExplanationExample", not set);
    Switch("LockExplanationExplain", not set);

Actions:
    Set Deaths("Current Player", "Alan Schezar (Goliath)", Set To, 90);
    Set Deaths("Current Player", "Alan Turret", Set To, 1);
    Display Text Message(Always Display, "\x004\x013Simply put, a \"lock\" is how you kill an opposing Sniper.");
    Set Switch("LockExplanationExplain", set);
    Preserve Trigger();
    Comment("LockExplanationExplain11");
}

//-----------------------------------------------------------------//


This specific command, starts by typing "Explain" when each of those switches are set. This command works when I first get to the are and the "LockExplanation" and "ArenaActive" are set and the "LockExplanationExample" and "LockExplanationExample" are clear.

After that command, the are a series of display text triggers, ending in this.

Code
Trigger("Player 1"){
Conditions:
    Switch("LockExplanation", set);
    Switch("LockExplanationExplain", set);
    Deaths("Current Player", "Alan Schezar (Goliath)", Exactly, 0);
    Deaths("Current Player", "Alan Turret", Exactly, 14);

Actions:
    Set Switch("LockExplanationExplain", clear);
    Display Text Message(Always Display, "\x004\x013Doing these steps, will \"Lock\" the opposing Sniper.\r\n\x004\x013Go ahead, try it!");
    Set Deaths("Current Player", "Alan Schezar (Goliath)", Set To, 45);
    Set Deaths("Current Player", "Alan Turret", Set To, 15);
    Preserve Trigger();
    Comment("LockExplanationMessage7-7");
}

//-----------------------------------------------------------------//


Now, if I don't do anything else, and I type "Explain" the trigger set refires, as it should.

But, if I kill the enemy unit, it sets this trigger off.

Code
Trigger("Player 1"){
Conditions:
    Bring("Current Player", "Terran Ghost", "LockExplanationArena", Exactly, 1);
    Bring("Player 2", "Terran Ghost", "LockExplanationArena", Exactly, 0);

Actions:
    Display Text Message(Always Display, "\x004\x013Good job, you completed this arena!\r\n\x004\x013Remember, type \"Leave\" to leave this arena or stay and practice!\r\n\x004\x013Or type \"Explain\" to hear again!");
    Create Unit("Player 2", "Terran Ghost", 1, "LockExplinationSpawnAI");
    Preserve Trigger();
    Comment("LockExplanationComplete/Respawn1");
}

//-----------------------------------------------------------------//


As it should, but after I do that, when I type "Explain" again, nothing happens at all. But, I can't see how this is, since I have the trigger for rows 1-11.



None.

Jan 13 2014, 6:35 am Prophete Post #2



Ah... after re-reading everything I noticed my problem, I needed to reset Alan Turret to 0.

Sorry!

Also, question, is doing the
Code
Trigger("Player 1"){
Conditions:
    Memory(186879, Exactly, 1885957715);
    Memory(186880, Exactly, 121270885);
    Memory(186881, Exactly, 1635013408);
    Memory(186882, Exactly, 29810);

Actions:
    Set Switch("GameStatus", set);
    Remove Unit At Location("All players", "Any unit", All, "CenterForStart");
    Display Text Message(Always Display, "\x004\x013Please look at each unit for blue and select a beacon..\r\n\x004\x013New players should move down the line.");
    Center View("LockExplanationSelection");
    Comment("Player Starts Game1");
}

//-----------------------------------------------------------------//


11x, changing the memory offsets to match the row, essentially ending up with 11 triggers per command the easiest way to do this or is there a more fool-proof way to ensure the command is never missed?

Thanks!



None.

Jan 13 2014, 3:49 pm Roy Post #3

An artist's depiction of an Extended Unit Death

There is no easy way: you have to check every row for chat messages if you don't want to miss anything.

Is this going to be a multiplayer map? If so, I hope you've read this synchronization problem on detecting text EUDs.




Jan 13 2014, 7:06 pm Prophete Post #4



Yeah, I was hoping it wasn't the only way. And yes, I am aware but thanks for for advice :)



None.

Options
  Back to forum
Please log in to reply to this topic or to report it.
Members in this topic: None.
[2026-8-24. : 1:15 am]
Symmetry -- There are so many people here I'm surprised we're still online :hurr:
[2026-8-23. : 9:47 pm]
Symmetry -- :wob::wob:
[2026-8-23. : 9:14 pm]
Apos -- I like to :wob:-it :wob:-it.
[2026-8-22. : 11:25 pm]
Zakerozi -- HI
[2026-8-22. : 10:29 pm]
Symmetry -- handledeez nuts
[2026-8-22. : 7:42 pm]
Excalibur -- Its handled.
[2026-8-22. : 6:50 pm]
Praetor -- yo nude or another mod, anyone around rn?
[2026-8-22. : 7:30 am]
NudeRaider -- ultraviolet
[2026-8-22. : 4:42 am]
LoveLess -- ultragod
[2026-8-22. : 4:07 am]
Symmetry -- I'm trying to figure out an end goal for my map. So far the best I've got is "destroy the AI data centers to summon god then kill god"
Please log in to shout.


Members Online: lifebot, Sie_Sayoka, Moose