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
Code
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
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)<=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 "Pissed" section =]
// feel free to change
//! textmacro scd_cs takes race, name, category, num
set sounds[max]=CreateSound("Units\\$race$\\$name$\\$name$$category$$num$.wav", true, false, false, 10, 10, "")
set max=max+1
//! endtextmacro
//! runtextmacro scd_cs("Human", "HeroMountainKing","Pissed", "1")
//! runtextmacro scd_cs("Human", "Footman", "Pissed", "2")
//! runtextmacro scd_cs("Human", "HeroPaladin", "Pissed", "4")
//! runtextmacro scd_cs("Human", "Sorceress", "Pissed", "3")
//! runtextmacro scd_cs("NightElf", "Archer", "Pissed", "2")
//! runtextmacro scd_cs("NightElf", "Dryad", "Pissed", "9")
//! runtextmacro scd_cs("NightElf", "DruidOfTheClaw", "Pissed", "7")
//! runtextmacro scd_cs("NightElf", "HeroMoonPriestess", "Pissed", "5")
//! runtextmacro scd_cs("Orc", "Trollbatrider", "Pissed", "4")
//! runtextmacro scd_cs("Orc", "Grunt", "Pissed", "7")
//! runtextmacro scd_cs("Orc", "HeroTaurenChieftain", "Pissed", "3")
//! runtextmacro scd_cs("Orc", "WitchDoctor", "Pissed", "6")
//! runtextmacro scd_cs("Undead", "CryptFiend", "Pissed", "6")
//! runtextmacro scd_cs("Undead", "HeroCryptLord", "Pissed", "6")
//! runtextmacro scd_cs("Undead", "Necromancer", "Pissed", "2")
//! runtextmacro scd_cs("Undead", "Ghoul", "Pissed", "1")
endfunction
endscope
</i></i>