Snippet soundchaosdebug

quraji

zap
Reaction score
144
What is it?
Just a snippet that will play a bunch of sounds when you type the command ("soundchaosdebug" by default). It's a command from Diablo 2 which would play all the voices in the game.

Why?
I don't know..it just popped into my head to make it as I was thinking about Diablo.

Is this useless?
Yeah, but it's nice for Diablo fans, and can be quite fun to listen to :D

Code

JASS:
scope soundchaosdebug initializer init
// by quraji, for the lulz :]

globals
    // config
    private constant string CHAT_MESSAGE = "soundchaosdebug"  // the command to start the debug (why would you want to change it though!)
    private constant boolean ALL_PLAYERS = false              // false if you want the debug to play only for the player who typed it, or true for all (like d2 <img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" class="smilie smilie--sprite smilie--sprite7" alt=":p" title="Stick Out Tongue    :p" loading="lazy" data-shortname=":p" />)
    private constant integer CHANCE = 50                      // the chance that a sound will be played, out of 100 (to get some variation)
    // endconfig
    
    private boolean active = false
    private sound array sounds
    private integer max = 0
endglobals

private function soundchaosdebug takes nothing returns nothing
    local integer i=0
    
    if (ALL_PLAYERS==true or (GetLocalPlayer()==GetTriggerPlayer())) then
        loop
            if (active==true) then
                call StopSound(sounds<i>, false, false)
            else
                if (GetRandomInt(1, 100)&lt;=CHANCE) then
                call StartSound(sounds<i>)
                endif
            endif
            set i=i+1
            exitwhen (i==max)
        endloop
    endif
    set active=not active
endfunction

private function init takes nothing returns nothing
    local trigger t = CreateTrigger()
    local integer i = 0
    loop
        call TriggerRegisterPlayerChatEvent(t, Player(i), CHAT_MESSAGE, true)
        set i=i+1
        exitwhen (i==12)
    endloop
    call TriggerAddAction(t, function soundchaosdebug)
    set t = null
    
    // creating the sounds to be used (I just picked ones I liked)
    // just using the sounds from the &quot;Pissed&quot; section =]
    // feel free to change
    
    //! textmacro scd_cs takes race, name, category, num
    set sounds[max]=CreateSound(&quot;Units\\$race$\\$name$\\$name$$category$$num$.wav&quot;, true, false, false, 10, 10, &quot;&quot;)
    set max=max+1
    //! endtextmacro

    //! runtextmacro scd_cs(&quot;Human&quot;, &quot;HeroMountainKing&quot;,&quot;Pissed&quot;, &quot;1&quot;)
    //! runtextmacro scd_cs(&quot;Human&quot;, &quot;Footman&quot;, &quot;Pissed&quot;, &quot;2&quot;)
    //! runtextmacro scd_cs(&quot;Human&quot;, &quot;HeroPaladin&quot;, &quot;Pissed&quot;, &quot;4&quot;)
    //! runtextmacro scd_cs(&quot;Human&quot;, &quot;Sorceress&quot;, &quot;Pissed&quot;, &quot;3&quot;)
    
    //! runtextmacro scd_cs(&quot;NightElf&quot;, &quot;Archer&quot;, &quot;Pissed&quot;, &quot;2&quot;)
    //! runtextmacro scd_cs(&quot;NightElf&quot;, &quot;Dryad&quot;, &quot;Pissed&quot;, &quot;9&quot;)
    //! runtextmacro scd_cs(&quot;NightElf&quot;, &quot;DruidOfTheClaw&quot;, &quot;Pissed&quot;, &quot;7&quot;)
    //! runtextmacro scd_cs(&quot;NightElf&quot;, &quot;HeroMoonPriestess&quot;, &quot;Pissed&quot;, &quot;5&quot;)
    
    //! runtextmacro scd_cs(&quot;Orc&quot;, &quot;Trollbatrider&quot;, &quot;Pissed&quot;, &quot;4&quot;)
    //! runtextmacro scd_cs(&quot;Orc&quot;, &quot;Grunt&quot;, &quot;Pissed&quot;, &quot;7&quot;)
    //! runtextmacro scd_cs(&quot;Orc&quot;, &quot;HeroTaurenChieftain&quot;, &quot;Pissed&quot;, &quot;3&quot;)
    //! runtextmacro scd_cs(&quot;Orc&quot;, &quot;WitchDoctor&quot;, &quot;Pissed&quot;, &quot;6&quot;)
    
    //! runtextmacro scd_cs(&quot;Undead&quot;, &quot;CryptFiend&quot;, &quot;Pissed&quot;, &quot;6&quot;)
    //! runtextmacro scd_cs(&quot;Undead&quot;, &quot;HeroCryptLord&quot;, &quot;Pissed&quot;, &quot;6&quot;)
    //! runtextmacro scd_cs(&quot;Undead&quot;, &quot;Necromancer&quot;, &quot;Pissed&quot;, &quot;2&quot;)
    //! runtextmacro scd_cs(&quot;Undead&quot;, &quot;Ghoul&quot;, &quot;Pissed&quot;, &quot;1&quot;)
endfunction

endscope
</i></i>
 

Joker(Div)

Always Here..
Reaction score
86
What is it?
Just a snippet that will play a bunch of sounds when you type the command ("soundchaosdebug" by default). It's a command from Diablo 2 which would play all the voices in the game.
12 year olds can't read nowadays?
 
Reaction score
91
I think we need another section where random stuff could be sent there instead of the graveyard ... I mean, this is useful if you're too lazy to make it on your own but basically serves no strong purpose.
 

Steel

Software Engineer
Reaction score
109
Even being a snippet this serves absolutely no purpose. Nostalgic sure, useful no.
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Members online

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top