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.
[04:15 am]
DarkenedFantasies -- you eat lots of beans
[03:46 am]
IskatuMesk -- how do i get gas
[11:43 pm]
Moose -- you don't
[10:06 pm]
Zoan -- how do i get minerals
[2026-4-14. : 11:45 pm]
ClansAreForGays -- Anyone wanna played Skewed StarCraft?
[2026-4-14. : 12:07 am]
Vrael -- NudeRaider
NudeRaider shouted: Vrael ranting still is though
you're a gentleman and a scholar, thank you
[2026-4-13. : 10:07 pm]
NudeRaider -- ya why phone people when you can just write letters
[2026-4-13. : 9:37 pm]
IskatuMesk -- I have never and will never own a phone
[2026-4-13. : 9:15 pm]
NudeRaider -- Vrael ranting still is though
[2026-4-13. : 9:14 pm]
ClansAreForGays -- anticapitalism isnt edgy anymore
Please log in to shout.


Members Online: Excalibur