DOTA-like sound announcer for Multi-kills

jig7c

Stop reading me...-statement
Reaction score
123
I want to put a system in my map that is similar to DOTA's when a player kills a hero, it announces Killing Spree, Wicked Sick, Monster Kill, etc...

I have most of that system done, but I need help doing the Double Kill part..
I have done the part where it counts and keeps track of the kills and announces accordingly... but at any time any player can get two kills and I want to annouce Double Kill sound file and not sure how to implement it in this trigger..

Code:
Sounds
    Events
        Unit - A unit Dies
    Conditions
        ((Killing unit) is A Hero) Equal to True
        ((Dying unit) is A Hero) Equal to True
    Actions
        Set Combo[(Player number of (Owner of (Dying unit)))] = 0
        Set PlayerNumber = (Player number of (Owner of (Killing unit)))
        Set Combo[PlayerNumber] = (Combo[PlayerNumber] + 1)
        -------- First Blood --------
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                Firstblood Equal to True
            Then - Actions
                Game - Display to (All players) the text: (((Name of (Player(PlayerNumber))) +  just pawned) + ((Name of (Triggering player)) +  for First Blood.))
                Sound - Play firstblood <gen>
                Sound - Destroy (Last played sound)
                Set Firstblood = False
            Else - Actions
        -------- Killing Spree --------
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                Combo[PlayerNumber] Equal to 3
            Then - Actions
                Game - Display to (All players) the text: ((Name of (Player(PlayerNumber))) +  is on a Killing Spree!!)
                Sound - Play Killing_Spree <gen>
                Sound - Destroy (Last played sound)
            Else - Actions
        -------- Mega Kill --------
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                Combo[PlayerNumber] Equal to 4
            Then - Actions
                Game - Display to (All players) the text: ((Name of (Player(PlayerNumber))) +  is on a Mega Kill!!)
                Sound - Play MegaKill <gen>
                Sound - Destroy (Last played sound)
            Else - Actions
        -------- Unstoppable --------
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                Combo[PlayerNumber] Equal to 5
            Then - Actions
                Game - Display to (All players) the text: ((Name of (Player(PlayerNumber))) +  is UNSTOPPABLE!!)
                Sound - Play Unstoppable <gen>
                Sound - Destroy (Last played sound)
            Else - Actions
        -------- Wicked Sick --------
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                Combo[PlayerNumber] Equal to 6
            Then - Actions
                Game - Display to (All players) the text: ((Name of (Player(PlayerNumber))) +  is Wicked Sick!!)
                Sound - Play WhickedSick <gen>
                Sound - Destroy (Last played sound)
            Else - Actions
        -------- Monster Kill --------
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                Combo[PlayerNumber] Equal to 7
            Then - Actions
                Game - Display to (All players) the text: ((Name of (Player(PlayerNumber))) +  is on a Monster Kill!!)
                Sound - Play MonsterKill <gen>
                Sound - Destroy (Last played sound)
            Else - Actions
        -------- Holy Shit --------
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                Combo[PlayerNumber] Greater than or equal to 8
            Then - Actions
                Game - Display to (All players) the text: (HOLY SHIT!!! Someone kill + (Name of (Player(PlayerNumber))))
                Sound - Play HolyShit <gen>
                Sound - Destroy (Last played sound)
                Wait 2.00 seconds
                Sound - Play rampage <gen>
                Sound - Destroy (Last played sound)
            Else - Actions

I have this trigger made for Double Kill, but it is disabled right now due to it not being correct.

Code:
Double Kill
    Events
        Unit - A unit Dies
    Conditions
        ((Dying unit) is A Hero) Equal to True
        DoubleKill Equal to True
    Actions
        Game - Display to (All players) the text: ((Name of (Player(PlayerNumber))) +  got a Double Kill!)
        Sound - Play Double_Kill <gen>
        Sound - Destroy (Last played sound)
        Set DoubleKill = False

help...
p.s.
I can't find the GUI tags on my post...
 

Risen

New Member
Reaction score
4
Code:
Conditions
        DoubleKill Equal to True

With the code you posted, DoubleKill isn't getting set to true.
 

jig7c

Stop reading me...-statement
Reaction score
123
yea i know that.. i need to somehow turn double kill on, but not sure how to in the Sound trigger.. because a Double Kill can happen at any level and at any time... and I also want, that if some one where to get double kill, it doesn't affect the other multi-kill integers..
 

evilwolf

Member
Reaction score
11
A unit dies
Set doublekill = double kill +1
If double kill = 2 then play double kill gen
wait 2 seconds
Set double kill=0
It should work
 

jig7c

Stop reading me...-statement
Reaction score
123
but that will work any time a hero gets 2 kills, period. I want to announce double kill only if that hero has gotten 2 kills in a row, within like 10 seconds
 

Nenad

~Choco Coronet~ Omnomnom
Reaction score
137
Have a player based array which tracks down the player and sets their own kill streak number

e.g KillStreak[Player number of (Owner of (Killing unit))] = Killstreak + 1

And add to the KillStreak every time the player makes a kill. Then, you could say, start a timer array for players that will do something like:

Start KillStreakTimer[Player number of (Owner of (Killing unit))] that will expire in 10 seconds.

Then finally add if then else actions for you're desired killing streak, and timer resets (e.g start the timer every time a player gets +1 added to the kill streak).

null the kill streak variable if the timer expires.

Hope this helped ^^
 

evilwolf

Member
Reaction score
11
but that will work any time a hero gets 2 kills, period. I want to announce double kill only if that hero has gotten 2 kills in a row, within like 10 seconds
Then do this:
Code:
Double Kill
    Events
        Unit - A unit Dies
    Conditions
    Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                ((Dying unit) is A Hero) Equal to True
                ((Killing unit) belongs to an enemy of (Owner of (Dying unit))) Equal to True
                (Owner of (Killing unit)) Not equal to Neutral Hostile
            Then - Actions
                Set DoubleKill[(Player number of (Owner of (Killing unit)))] = (DoubleKill[(Player number of (Owner of (Killing unit)))] + 1)
                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    If - Conditions
                        DoubleKill[(Player number of (Owner of (Killing unit)))] Equal to 2
                    Then - Actions
                        Game - Display to (All players) the text: (PlayerColors[(Player number of (Owner of (Killing unit)))] + (((Name of (Owner of (Killing unit))) + (|r + ( has killed  + (PlayerColors[(Player number of (Owner of (Dying unit)))] + ((Name of (Owner of (Dying unit))) + (|r +  for 200 gold!)))))) + |r))
                        Game - Display to (All players) the text: (PlayerColors[(Player number of (Owner of (Killing unit)))] + ((Name of (Owner of (Killing unit))) + (|r +  got a |cffff0000Double Kill!|r)))
                        Sound - Play Double_Kill <gen>
                        Player - Add 500 to (Owner of (Killing unit)) Current gold
                    Else - Actions
            Else - Actions
        Wait 2.00 seconds
        Set DoubleKill[(Player number of (Owner of (Killing unit)))] = 0
Hope you can understand...
 

tommerbob

Minecraft. :D
Reaction score
110
GUI tags:
Trigger:
  • <div class="bbCodeBlock bbCodeBlock--screenLimited bbCodeBlock--code"><div class="bbCodeBlock-title">Trigger:</div><div class="wc3trigger"><ul class="wc3" id="wc3_1">
    • </ul>
    • </div></div>
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Members online

      No members online now.

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top