HomeUser Control Panel (unavailable in archive)ForumsTutorialsArt GalleryResourcesMaps

wait bug, wait for sound, cinematic transmissions and my inelegant solution

02-05-2003, 11:45 PM#1
Guest
As anyone who tried to use a cinematic on bnet would know, the wait bug is the bane of such triggers.

Currently, solutions range from.. use one trigger per wait (and thus per transmission),
to use for interger a 1 to number of players, wait X amount,
to use wait X amount times number of players
etc etc
even cbwhiz's wait bug fix program, but it doesn't work for my map anyway.

the problem is.. most of these don't work.

here's a question:
1) is the "wait for sound" to finish trigger affected by the wait bug at all? If someone knows, please tell me.

Anyway, for cinematic transmissions of the type:
send transmission to playergroup - player 1 from unit named name:
play sound and display message. modify duration: add 0.00 seconds and wait

the problem is that the "modify duration" part is completely USELESS. I've tried setting it to 0 and 100 seconds and it's still the same amount of time online and offline, and whether I set it to "add" or "set to" doesn't matter, nor does it matter that I set it to "wait" or "don't wait".

Some suggest using wait X number of players AFTER the cinematic transmission, but this doesn't really work either, since the message disappears from the screen and the whole point of this is so that the user can read the message properly.

So here's my inelegant solution to the wait bug and cinematic transmissions. I noticed that for those transmissions that did have sound, it wasn't affected by the wait bug. So I went into my sound editor program and made empty mp3 files of the lowest quality of a certain time length and stuck it in the place where it says play sound. And then I could get the transmission to play the proper amount of time. It's a waste of space in the map file (about 1 kb per second of empty mp3 time), but it works.

Now my second question is this:
2) is there a more elegant solution to this that WORKS? Believe me, I've tried most of the other solutions that have been posted before. They don't seem to work well for cinematic transmissions. Regular waits, yes, but cinematic transmissions seem to handle things differently.

Anyway, if there's a solution, please post it!
02-06-2003, 12:08 AM#2
Wakeman
Interesting enough! cause I've just derived a method concerning similar issue using the "wait for sound" action. It's really a genius method!

I added a dummy sound after each transmission, and a "wait for last created sound to finish" following it. Then there is another trigger fired when someone "skip the cinematic", with action "stop the last created sound". The effect is that during a transmission, player can press "esc" to end the cinematic OR if no one pressed "esc", the transmission will end after the sound finished.

So it is partly similar to your idea. I guess this should work in multiplayer too, though haven't tested.

(damn, I used a BIG sound file and the map can't even be attached! So this is definite the drawback of this method.....://// Maybe can someone post a small sound file here? Thanks!)
02-06-2003, 12:12 AM#3
Guest
yeah, wav files are large, but you can import mp3s as sound instead of music! when you click on import sound, change it to mp3 audio, and it'll look for mp3s instead.

they are way smaller than wav files. Since you want me to post one, I'll post my 10 second empty.mp3 file here (yeah yeah, what a waste of space).. I also have them in 2.5 seconds, 5 seconds, 7.5 seconds and can make longer if need be..
they are only about 1 kb per second long, so it's not that bad, and you only need one of each kind.
:D
02-06-2003, 12:41 AM#4
Wakeman
Thanks! The size is much smaller now.

Here is the demo.
02-06-2003, 01:17 AM#5
DaKaN
Quote:
Currently, solutions range from.. use one trigger per wait (and thus per transmission),
to use for interger a 1 to number of players, wait X amount,
to use wait X amount times number of players
etc etc
even cbwhiz's wait bug fix program, but it doesn't work for my map anyway.

the problem is.. most of these don't work.

I use the 1 to numplayers wait X combined with only 1 wait per trigger and the cinimatics work perfectly on bnet.
02-06-2003, 02:44 AM#6
Guest
Well, the reason the 1 wait per trigger thing is impractical for me is... a LOT of events happen during the cinematic, and I already have about 10 other triggers that concern this cinematic, so I'm not about to make 25 or 30 triggers just so a cinematic works alright. I'm sure someone will run into a similar problem.

Besides, what if I need to call on something in the "events" eg.. triggering unit, triggering player etc etc? I can't do it if I start a new trigger.
02-06-2003, 04:52 AM#7
DaKaN
actauly when you tell it to "run" a trigger, i belive those varibles are passed in.
02-06-2003, 05:28 AM#8
Guest
What if you create a new trigger and add an action to that trigger.

In other words...

The original trigger has a wait, then you create a new trigger in that trigger that also has a wait. Does this violate the 1 wait / trig rule?

And....

What if I have a wait before if/then/else statement where the else but not the then includes a wait. Does this violate the 1 wait / trig rule?

I haven't tested my map yet in MP and I've been using the 1 to X, issue wait method for everything (including triggers with only 1 wait).
02-06-2003, 06:22 AM#9
Guest
From my experience with the if, then wait..
it seems to not be affected by the wait bug since I wait an inordinately long amount of time.

so if actions:
wait
blah blah
if this true then wait
blah blah

the then wait seems to function normally..
i donno about calling another trigger after a wait with a wait in it. I will probably try that one.
02-06-2003, 06:27 AM#10
DaKaN
Actauly now that i think about it, it does pass some varibles from trigger to trigger. in HQ Episode 1, all the cinimatics triggers by heroes have atleast 20+ triggers, and i still use "hide triggering unit) or order triggering unit, and it works thoghout them all
02-07-2003, 12:03 AM#11
CBWhiz
please test the utility in my sig, and if it doesnt work, could you please post the effected map (both the non-working and orgigonal, or origonal protected)