• 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!

[Spell] Streak System

Status
Not open for further replies.
These particular actions won't work.
  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
    • If - Conditions
      • Streak_Level[TempInteger] Greater than 1
    • Then - Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • Streak_Level[TempInteger] Less than 23
        • Then - Actions
          • Set Streak_Level[TempInteger] = (Streak_Level[TempInteger] + 1)
        • Else - Actions
      • Game - Display to (All players) the text: (((PlayerColor[TempInteger] + ((Name of (Owner of (Killing unit))) + Endline)) + |r) + Streak_Names[Streak_Level[TempInteger]])
    • Else - Actions
Why?
 
Is there a reason why you don't use only 1 if/then/else?
Like this

  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
    • If - Conditions
      • Streak_Level[TempInteger] Greater than 1
      • Streak_Level[TempInteger] Less than 23
    • Then - Actions
      • Set Streak_Level[TempInteger] = (Streak_Level[TempInteger] + 1)
      • Game - Display to (All players) the text: <text>
    • Else - Actions
 
Is there a reason why you don't use only 1 if/then/else?
Like this

  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
    • If - Conditions
      • Streak_Level[TempInteger] Greater than 1
      • Streak_Level[TempInteger] Less than 23
    • Then - Actions
      • Set Streak_Level[TempInteger] = (Streak_Level[TempInteger] + 1)
      • Game - Display to (All players) the text: <text>
    • Else - Actions

The world may never know.

However, You could do Greater then or equal to 1 and less than or equal to 23.

Where are you recycling the streak?
 
Is there a reason why you don't use only 1 if/then/else?
Like this

  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
    • If - Conditions
      • Streak_Level[TempInteger] Greater than 1
      • Streak_Level[TempInteger] Less than 23
    • Then - Actions
      • Set Streak_Level[TempInteger] = (Streak_Level[TempInteger] + 1)
      • Game - Display to (All players) the text: <text>
    • Else - Actions

With that, when you get to lvl 23 streak, it will bug. With the next kill, you will not get the message. That is why you can't use the conditions like that.
 
I wanted to put a filter so the streak level doesn't go up anymore when reached 22(Godfury Slayer)

If you don't want it going above 22 then you need it to be less then or equal to 22. Not less then 23.


Instead of only posting that section, please post that entire trigger.
 
Will try. And will post the triggers. Thanks! :D

  • Streak Kill
    • Events
      • Unit - A unit Dies
    • Conditions
      • ((Killing unit) is A Hero) Equal to True
      • ((Dying unit) is A Hero) Equal to True
      • (Owner of (Killing unit)) Not equal to Neutral Passive
      • (Owner of (Dying unit)) Not equal to Neutral Passive
      • ((Dying unit) belongs to an enemy of (Owner of (Killing unit))) Equal to True
    • Actions
      • Set TempInteger = ((Player number of (Owner of (Killing unit))) - 1)
      • Set X = ((Player number of (Owner of (Dying unit))) - 1)
      • Set Streak_HeadValue[TempInteger] = (Streak_HeadValue[TempInteger] + (Random real number between 15.00 and 40.00))
      • Set Streak_Reward[TempInteger] = (Streak_Reward[TempInteger] + (Random real number between 20.00 and 30.00))
      • Set Streak_HeadValue[X] = 20.00
      • Set Streak_Level[X] = 0
      • Set Streak_Reward[X] = 40.00
      • Game - Display to (All players) the text: (((PlayerColor[TempInteger] + PlayerName[TempInteger]) + |r has slain) + ( + ((PlayerColor[X] + PlayerName[X]) + ((|r + for ) + ( |cffffcc00 + ((String((Integer(Streak_Reward[TempInteger])))) + gold!))))))
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • Streak_Level[TempInteger] Greater than 1
        • Then - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • Streak_Level[TempInteger] Less than 23
            • Then - Actions
              • Set Streak_Level[TempInteger] = (Streak_Level[TempInteger] + 1)
            • Else - Actions
          • Game - Display to (All players) the text: (((PlayerColor[TempInteger] + ((Name of (Owner of (Killing unit))) + Endline)) + |r) + Streak_Names[Streak_Level[TempInteger]])
        • Else - Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • Streak_Level[X] Greater than 1
        • Then - Actions
          • Game - Display to (All players) the text: (((PlayerColor[TempInteger] + ((Name of (Owner of (Killing unit))) + Endline)) + ) + ((has ended + (PlayerColor[X] + PlayerName[X])) + Streak_Name[X]))
        • Else - Actions
 
Status
Not open for further replies.
Back
Top