• Check out the results of the Techtree Contest #19!
  • Listen to a special audio message from Bill Roper to the Hive Workshop community (Bill is a former Vice President of Blizzard Entertainment, Producer, Designer, Musician, Voice Actor) 🔗Click here to hear his message!
  • Read Evilhog's interview with Gregory Alper, the original composer of the music for WarCraft: Orcs & Humans 🔗Click here to read the full interview.
  • Create a void inspired texture for Warcraft 3 and enter Hive's 34th Texturing Contest: Void! Click here to enter!
  • The Hive's 22nd Icon Contest: Creep Abilities is now concluded, time to vote for your favourite set of icons! Click here to vote!

[Trigger] Music List?

Status
Not open for further replies.
Level 3
Joined
Oct 12, 2004
Messages
66
Hey guys, i'm just wondering if its possible ( I think so anyways, seen it on other maps) to make a music list with imported musics, playing radomly, while you play the game normally (3D)? (with this I mean, for example like after a cin intro you build a base and custom music's on etc)

Hope you got what I meant to say. Thanks :)
 
Well, first, have an array with the playtimes in seconds of each song (don't think you can get the expiration/time of a sound). Then, in the trigger, you'll list the songs with an If-statement (sadly there's no Music type variable)

  • Initialization
    • Events
      • Map Initialization
    • Conditions
    • Actions
      • Set myMusicLength[0] = 310
      • Set myMusicLength[1] = 352
and so on.

Then, run the trigger on Map Init or when Timer (New Music) expires.

Then, every time you play a song, do it like this

  • Playlist
    • Events
      • Time - <your timer here> expires
      • Time - Elapsed Game Time is 1.00 seconds
    • Conditions
    • Actions
      • Set tempInt = (Random Number between 0 and <playlist size - 1>)
      • Countdown Timer - Start <your timer here> as a One-shot timer that will expire in myMusicLength[tempInt] seconds
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • tempInt Equal to 1
        • Then - Actions
          • Sound - Play <Music>
        • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • tempInt Equal to 2
            • Then - Actions
              • Sound - Play <Music2>
            • Else - Actions
              • (so on...)
Where tempInt is a global integer and <your timer here> is a global timer
 
Hmm, thanks, but got abit confused with the 'your timer here', with this you mean the seconds to wait for the music to start? Can't I use /trigger off /trigger on stuff? (as I have a cinematic first)

Edit:

Also I can't seem to find the part from Countdown timer, 'timer that will expire in xxx', I cannot put the variable I used on the first trigger, or do I make a new one? (searched every option..) Sorry for being new at this :( but just trying to learn

Heres what I exactly did:

Make a trigger with map Initiation

Use Set Variable trigger, and made an Interger with Array on (I think here's the mistake, but i'm not sure.)
And use the variable 3 times (got 3 musics) changing the values 0, 1, 2 (accordingly).

Next I made a variable with 'Timer' section whitouth array checked and used it as 'Time - MyTimer expires'

Next I made Elapsed time trigger.

After I made a variable 'Interger' whitouth Array checked called 'TempInit' (names are similar just to make it easier to follow the guide)

Set 'Tempinit' = Random Nr between 0 and 2

And that's it.

Just to make it easier for ppl to spot the problem if they want to help me.

Thank you once again =|
 
Last edited:
No, you would have a global Timer variable

And as for the timer, let "t" be your timer

  • Countdown Timer - Start t as a One-shot timer that will expire in 30.00 seconds
Also, what the timer is doing is re-running the trigger when it hits the length of your song (so when your song ends)

EDIT: Whaddya know!

  • Untitled Trigger 001
    • Events
    • Conditions
    • Actions
      • Sound - Set the music list to Music, starting with song 0
Try playing with that action
 
What do you mean with global? =.=

Bah sorry to mock you with simple stuff :(

I'll try to mess with that 'new' trigger meanwhile :p
 
if it doesn't work, for future reference

Global = a variable accessible from anywhere, usually defined in the Variable Manager

You mean Object manager? Can't do anithing from there :s

Btw, i've tried the other option, however when I tested the map it disabled me every trigger no idea why :s

I'll try to paste the triggers as soon as I can, glad I didn't save before testing for once =.=
 
Hmm k that I knew :| Simply not clicking array will make it global? If not what should I do to make it *Global*? And its suposed to be on list something like 'Global', then there's probably something wrong with my WE or just miself. >_>

Really I know I sound like a slow minded nabcake, but I don't care in this case =.=

And Purple, thanks for your patience with me ;p
 
Now I get it... sorry for being stupid :/

1 last question:

What type of variable is "myMusicLength" part? Because I cannot seem to be able to add it on:
Countdown Timer - Start <your timer here> as a One-shot timer that will expire in myMusicLength[tempInt] seconds


Thanks once again...
 
Status
Not open for further replies.
Back
Top