Staredit Network > Forums > SC1 UMS Mapmaking Assistance > Topic: What the F*ck is wrong with the countdown
What the F*ck is wrong with the countdown
Mar 14 2013, 7:09 pm
By: StratosTygo  

Mar 14 2013, 7:09 pm StratosTygo Post #1



this is pissing me off beyond all fking reason

this fucking countdown timer piece of shit, doesn't work right anymore for some fucking reason, "at most" doesn't fucking work, "at least" doesn't fucking work and even "exactly" doesn't fucking work.

I'm fucking pissed I wasted so much fucking time on this map just so these triggers can fucking work whenever it wants too.




Mar 14 2013, 7:17 pm DevliN Post #2

OVERWATCH STATUS GO

It wouldn't make sense for them to just stop working without something causing it. I get that you're frustrated, but take a breath and maybe explain what's actually going on with your map so we can help you fix it. Can you post it for us to look at and test ourselves? Or maybe post whatever triggers you're using that could affect the countdown?



\:devlin\: Currently Working On: \:devlin\:
My Overwatch addiction.

Mar 14 2013, 7:34 pm Azrael Post #3



Countdown timer is probably the easiest condition to verify. Do you see the timer at the top of the screen? Is there at least 5 seconds left on it? Then "countdown timer is at least 5 seconds" is true. If the trigger doesn't fire, it means a different condition on the trigger is false.

Easiest way to resolve this is to attach the map and list exactly which triggers aren't working, otherwise we can only speculate.




Mar 14 2013, 8:02 pm StratosTygo Post #4



The Problem is works whenever it wants to.

the enemy factions are set to attack at a certain time on the countdown, they didn't do it when the countdown was set to 1800 but on 100 it worked.

they're set to attack at 60

same with another trigger that's the win condition. it's supposed to happen at around 0-2 seconds but doesn't.




Mar 14 2013, 8:18 pm Dem0n Post #5

ᕕ( ᐛ )ᕗ

You may have some other triggers delaying/stopping the countdown from running altogether. You should post the map here so that some people can look through your triggers to see if there are any conflicts.




Mar 14 2013, 8:25 pm DevliN Post #6

OVERWATCH STATUS GO

Quote from StratosTygo
The Problem is works whenever it wants to.

the enemy factions are set to attack at a certain time on the countdown, they didn't do it when the countdown was set to 1800 but on 100 it worked.

they're set to attack at 60

same with another trigger that's the win condition. it's supposed to happen at around 0-2 seconds but doesn't.
Then something else must be conflicting in the condition. If the only condition is the "at least"/"exactly" value, then it should work fine.



\:devlin\: Currently Working On: \:devlin\:
My Overwatch addiction.

Mar 14 2013, 8:30 pm lil-Inferno Post #7

Just here for the pie

SC will only do exactly what you tell it to do. There's probably some other condition conflicting with it.




Mar 14 2013, 9:30 pm jjf28 Post #8

Cartography Artisan

Assuming your conditions are setup well, it sound like you're getting a wait block (course I can't be sure without the map/triggers).

Wait blocks occur when using 'wait', 'transmission' and 'talking portrait' and can cause a lot of crazy-making behavior. They can be avoided by ensuring hyper triggers (if you're using them) run last, and otherwise avoiding these actions whenever possible (most often replaced with death counters).

FAQ Entry (see "WAITS, WAIT BLOCKS, AND HYPER TRIGGERS")
Old-Wiki Entry

Quote
SC will only do exactly what you tell it to do.

Cmmon now it's not that polished :P



TheNitesWhoSay - Clan Aura - github

Reached the top of StarCraft theory crafting 2:12 AM CST, August 2nd, 2014.

Mar 14 2013, 9:36 pm lil-Inferno Post #9

Just here for the pie

Quote from jjf28
Quote
SC will only do exactly what you tell it to do.

Cmmon now it's not that polished :P
There are a few quirks but other than that, yes, it does do exactly what you tell it to do. Even wait blocks are you telling SC what to do - it's waiting for that wait to be over before doing anything else.

Post has been edited 2 time(s), last time on Mar 15 2013, 12:04 am by lil-Inferno.




Mar 14 2013, 10:06 pm Azrael Post #10



Quote from jjf28
hyper triggers (if you're using them)

Well I certainly hope he is, otherwise "countdown timer is exactly 60" isn't going to fire 50% of the time :P




Mar 14 2013, 11:43 pm StratosTygo Post #11



I've never had to use "hyper triggers" before, this isn't my first time making these kinds of maps mind you, however this is the first time I've had this problem, regardless I gave up and just used an "elapsed" time thing anyway




Mar 14 2013, 11:56 pm Dem0n Post #12

ᕕ( ᐛ )ᕗ

Not using hyper triggers could possibly be the problem for you. If there's anything in your triggers that just barely conflicts with the countdown timer, all the timing will be off, and Starcraft may never register when the timer is at the amount that you want for the triggers to be executed.




Mar 15 2013, 12:47 am StratosTygo Post #13



Okay, I'll keep that in mind next time.




Mar 15 2013, 6:12 am Azrael Post #14



Quote from StratosTygo
I've never had to use "hyper triggers" before, this isn't my first time making these kinds of maps mind you, however this is the first time I've had this problem, regardless I gave up and just used an "elapsed" time thing anyway

Well, you do need to use hyper triggers when checking for an exact Countdown Timer value. The exact same thing will happen with Elapsed, so if you continue using it without hyper triggers, you'll eventually run into the same problem.

Hyper triggers make StarCraft check the trigger conditions 12 times per second. Without hyper triggers, it checks much less frequently. When you check for "countdown timer is exactly 10 seconds", it will only be true for 1 in-game second (in-game time runs faster than real time), when the timer is between 11 and 9. However, without hyper triggers, it only checks the conditions every 2 in-game seconds.

Hopefully you see the problem here. Any "exactly" value for the countdown timer will only be triggered half the time. The times it is triggered, it will always be triggered (assuming the countdown timer always starts at the same point, like the beginning of the map). Half the values you could use will not work. The same issue is true for Elapsed Time, which is basically just an invisible countdown timer that counts up from the map start, using in-game time.

It's fairly easy to create a map where you have a bunch of triggers based on Countdown Timer, checking it every 2 seconds on average, which will all never fire. They generally won't be exactly every other value (11, 9, 7, etc), due to an offset between the cycles and the timer, but it will still end up being half the values which fail.

In fact, it's easy enough that I'll just go do it now.

(Several minutes later) Done. I've attached the map below. Open it and look at the triggers. They all use "countdown timer is exactly X seconds". Be aware that no Marines will ever be created.

Hyper triggers should be used in every map (and these days, they are). There's really no excuse to not be using them (there technically can be but you really don't need to worry about it at this level of mapping). It'll improve your map's quality and the players' experience.

If you have a proper amount of sense, then you're certainly going "Oh crap, this sucks! How do I implement hyper triggers to resolve these sorts of problems? How do I make my maps more awesome like this? Is it hard?! :/"

This is where you luck out. Hyper triggers are incredibly easy to add to your map. It'll take you approximately 30 seconds. First, create a new trigger for All Players, with the condition Always, and the actions "Wait 0 milliseconds" 63 times and "Preserve Trigger" 1 time (you can also replace one of the "Wait" actions with a "Comment", for the sake of making it look smaller on the trigger list). Second, copy this trigger 3 times (for a total of 4 triggers). You now have hyper triggers.

Something important to note:

If you have a player who is always in the game (like a computer player), and they have no Wait conditions in any of their triggers (other than the hyper triggers), then you should use that player instead of All Players. This will make your life a lot easier.

Ideally, you should be using death counters instead of waits anyways, as jjf mentioned earlier.

However, if you are already using waits and don't want to switch, and all the players have waits, then just leave the hyper triggers as All Players. The caveat to this is that the hyper triggers must be moved to the bottom of the trigger list (they will be at the bottom by default, but you'd need to move them back to the bottom every time you made a new trigger which included waits in it).

At any rate, you should start using them. Your ability to map is incredibly limited without hyper triggers.

Attachments:
Countdown Without Hypers.scm
Hits: 1 Size: 38.93kb




Mar 15 2013, 6:36 am NudeRaider Post #15

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 Azrael
The times it is triggered, it will always be triggered (assuming the countdown timer always starts at the same point, like the beginning of the map).
Waits can screw with it. If you have waits (transmissions are waits) that are triggered by ingame events they can force trigger refreshs at different times, so it's possible it's not always the same occurence that fails.

Quote from Azrael
Hyper triggers are incredibly easy to add to your map. It'll take you approximately 30 seconds.
They however screw with any trigger based times. Triggers will fire 16 times faster so you'll have to adjust for that. And with hypers you are much more likely to run into wait block so you should remove all waits and replace them with death count timers unless you know exactly what you're doing. Due to these reasons the amount of work of adding hyper triggers to an existing map is much higher than adding 3 simple triggers.
But of course I agree, it's always worth the effort. Hyper triggers open a whole new world of possibilities.




Mar 15 2013, 7:03 am Azrael Post #16



Quote from NudeRaider
Waits can screw with it. If you have waits (transmissions are waits) that are triggered by ingame events they can force trigger refreshs at different times, so it's possible it's not always the same occurence that fails.

Ah, that's true. I was trying to explain how his countdown timer could always be working before, but would always be failing now. That's a good point though which is worth noting, the inclusion of waits triggered by a non-predictable method would definitely make the failure rate inconsistent.

Quote from NudeRaider
They however screw with any trigger based times. Triggers will fire 16 times faster so you'll have to adjust for that.

Since he's using Countdown Timer/Elapsed Time/Waits, and not death counters, there shouldn't be anything to adjust. I'm guessing he'll find out pretty fast if there was though lol.

I'd be more concerned about the possibility that his Countdown Timer/Elapsed Time conditions are on preserved triggers, so they'll fire 8 times all at once. This would be pretty simple to fix though.

Quote from NudeRaider
And with hypers you are much more likely to run into wait block so you should remove all waits and replace them with death count timers unless you know exactly what you're doing.

Using All Players and moving them to the end of the trigger list makes you pretty safe from this, since the other players act as a backup. Additionally, if you just give them to a player without waits, there's no possibility of causing wait blocks.

Of course death counters should be used, not only for fear of wait blocks, but the fact they're extremely versatile and significantly more powerful. Death counters are so much better that they can't really be compared to waits; however, for the purpose of adapting a map that's already been made to include hyper triggers, I think it would be better to add them to the bottom of the trigger list using All Players than to not add them at all (since it doesn't seem like he wants to update anything unless it's necessary).

Quote from NudeRaider
But of course I agree, it's always worth the effort. Hyper triggers open a whole new world of possibilities.

Yeah, hyper triggers should be considered mandatory by anyone looking to have their map taken seriously. I joined a map a couple months ago that didn't have hyper triggers, and someone immediately commented on the "lag" because the triggers weren't firing immediately, and everyone started leaving :P




Options
  Back to forum
Please log in to reply to this topic or to report it.
Members in this topic: None.
[09:38 pm]
NudeRaider -- Ultraviolet
Ultraviolet shouted: NudeRaider sing it brother
trust me, you don't wanna hear that. I defer that to the pros.
[07:56 pm]
Ultraviolet -- NudeRaider
NudeRaider shouted: "War nie wirklich weg" 🎵
sing it brother
[06:24 pm]
NudeRaider -- "War nie wirklich weg" 🎵
[03:33 pm]
O)FaRTy1billion[MM] -- o sen is back
[2024-4-27. : 1:53 am]
Ultraviolet -- :lol:
[2024-4-26. : 6:51 pm]
Vrael -- It is, and I could definitely use a company with a commitment to flexibility, quality, and customer satisfaction to provide effective solutions to dampness and humidity in my urban environment.
[2024-4-26. : 6:50 pm]
NudeRaider -- Vrael
Vrael shouted: Idk, I was looking more for a dehumidifer company which maybe stands out as a beacon of relief amidst damp and unpredictable climates of bustling metropolises. Not sure Amazon qualifies
sounds like moisture control is often a pressing concern in your city
[2024-4-26. : 6:50 pm]
Vrael -- Maybe here on the StarEdit Network I could look through the Forums for some Introductions to people who care about the Topics of Dehumidifiers and Carpet Cleaning?
[2024-4-26. : 6:49 pm]
Vrael -- Perhaps even here I on the StarEdit Network I could look for some Introductions.
[2024-4-26. : 6:48 pm]
Vrael -- On this Topic, I could definitely use some Introductions.
Please log in to shout.


Members Online: IlyaSnopchenko