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

Wow critical strike

This's system allows you create critical damage text like in WoW (World of warcraft).
It will increase size and change color.

MUI/GUI

Thanks to : Hanky(Dyn. Index), Weep (GDD)

Update: Change Var. Names to easy importing, adding some documentation.

  • Actions
    • -------- Means it will not increase it's size --------
    • Set Wcrt_A_not_critical = False
    • -------- Size --------
    • Set Wcrt_A_size = 10.00
    • Set Wcrt_A_size_final = 15.00
    • Set Wcrt_A_size_max = 25.00
    • -------- Text. This strings showns together "before+text+after" --------
    • Set Wcrt_A_text = Etner there your DAMAGE which needed to shown
    • Set Wcrt_A_text_after = <Empty String>
    • Set Wcrt_A_text_before = <Empty String>
    • -------- Basic floating text parameters --------
    • Set Wcrt_B_angle = 90.00
    • Set Wcrt_B_towards = 64.00
    • Set Wcrt_B_fading_age = 4.00
    • Set Wcrt_B_life_span = 5.00
    • Set Wcrt_B_transparecy = 0.00
    • Set Wcrt_B_z_offset = 50.00
    • -------- Color, you can choose from allready created or put your own code color, ex: |cffffcc00 --------
    • Set Wcrt_Color = Wcrt_Color_Yellow
    • -------- Time need to increase text from SIZE to SIZE_MAX, and then decrease it from SIZE_MAX to SIZE_FINAL --------
    • Set Wcrt_C_time_increase = 0.10
    • Set Wcrt_C_time_dicrease = 0.05
    • -------- ------------------------------------------------------------------------------------------------------------ --------
    • -------- Use on of this: Unit or Point, to setup where to create text --------
    • Set Wow_Unit = (Triggering unit)
    • Set Wow_Point = (Position of (Triggering unit))
    • -------- Start it! --------
    • Trigger - Run DamageTextCreate <gen> (ignoring conditions)
  • Actions
    • -------- 'Wow_A_text' will be created over 'Wow_Unit' --------
    • Set Wow_A_text = use Real to String ( Damage Taken) ......... or whatever your want
    • Set Wow_Unit = (Triggering unit)
    • Trigger - Run Wow TextCreate <gen> (ignoring conditions)
  • Actions
    • -------- ------------------------------------------------------------------------------------------------------------ --------
    • -------- Checks if user setup the "unit" then do dofin, else we need get the point of that unit --------
    • If (unit Equal to No unit) then do (Do nothing) else do (Set point = (Position of unit))
    • -------- ------------------------------------------------------------------------------------------------------------ --------
    • -------- Check: is that critical? (if not it will not change it's size) --------
    • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      • If - Conditions
        • Wcrt_A_not_critical Equal to True
      • Then - Actions
        • -------- ------------------------------------------------------------------------------------------------------------ --------
        • -------- It's not critical, create text --------
        • Set Wcrt_text_ex[0] = (Wcrt_Color + (Wcrt_A_text_before + (Wcrt_A_text + (Wcrt_A_text_after + |r))))
        • Floating Text - Create floating text that reads Wcrt_text_ex[0] at point with Z offset Wcrt_B_z_offset, using font size Wcrt_A_size, color (100.00%, 100.00%, 100.00%), and Wcrt_B_transparecy% transparency
        • -------- ------------------------------------------------------------------------------------------------------------ --------
        • -------- ------------------------------------------------------------------------------------------------------------ --------
      • Else - Actions
        • -------- ------------------------------------------------------------------------------------------------------------ --------
        • -------- ------------------------------------------------------------------------------------------------------------ --------
        • -------- ------------------------------------------------------------------------------------------------------------ --------
        • -------- It's critical. Now setup MUI indexes --------
        • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          • If - Conditions
            • DL_i_last Equal to 0
          • Then - Actions
            • -------- Turn the Loop trigger on. --------
            • Trigger - Turn on Loop <gen>
          • Else - Actions
        • -------- Increase the index size --------
        • -------- ------------------------------------------------------------------------------------------------------------ --------
        • Set DL_i_last = (DL_i_last + 1)
        • -------- Dynamic Index --------
        • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          • If - Conditions
            • DL_i_last Greater than DL_Max_Size
          • Then - Actions
            • Set DL_i[DL_i_last] = DL_i_last
            • Set DL_Max_Size = DL_i_last
          • Else - Actions
        • -------- ------------------------------------------------------------------------------------------------------------ --------
        • -------- This one used to operate with all of variables arrays later --------
        • Set DL_TEMP = DL_i[DL_i_last]
        • -------- Dynamic Index End --------
        • -------- ------------------------------------------------------------------------------------------------------------ --------
        • -------- ------------------------------------------------------------------------------------------------------------ --------
        • -------- ------------------------------------------------------------------------------------------------------------ --------
        • -------- Setup text --------
        • Set Wcrt_text_ex[DL_TEMP] = (Wcrt_Color + (Wcrt_A_text_before + (Wcrt_A_text + (Wcrt_A_text_after + |r))))
        • Floating Text - Create floating text that reads Wcrt_text_ex[DL_TEMP] at point with Z offset Wcrt_B_z_offset, using font size Wcrt_A_size, color (100.00%, 100.00%, 100.00%), and Wcrt_B_transparecy% transparency
        • Set Wcrt_floating_text[DL_TEMP] = (Last created floating text)
        • -------- ------------------------------------------------------------------------------------------------------------ --------
        • -------- Setup changing size time --------
        • Set Wcrt_time_increase[DL_TEMP] = Wcrt_C_time_increase
        • Set Wcrt_time_dicrease[DL_TEMP] = Wcrt_C_time_dicrease
        • Set Wcrt_time_operating[DL_TEMP] = Wcrt_B_life_span
        • Set Wcrt_increasing_boolean[DL_TEMP] = True
        • -------- ------------------------------------------------------------------------------------------------------------ --------
        • -------- Setup changing size scale --------
        • Set Wcrt_size_max[DL_TEMP] = (Wcrt_A_size x Wcrt_A_size_max_multiplier)
        • Set Wcrt_size_final[DL_TEMP] = (Wcrt_A_size x Wcrt_A_size_final_multiplier)
        • Set Wcrt_size_current[DL_TEMP] = Wcrt_A_size
        • -------- ------------------------------------------------------------------------------------------------------------ --------
        • -------- Steps used to increase size throught time --------
        • Set Wcrt_step1[DL_TEMP] = (((Wcrt_size_max[DL_TEMP] - Wcrt_A_size) / Wcrt_C_time_increase) x Wcrt_LOOP_TRIGGER_INTERVAL)
        • Set Wcrt_step2[DL_TEMP] = (((Wcrt_size_max[DL_TEMP] - Wcrt_size_final[DL_TEMP]) / Wcrt_C_time_dicrease) x Wcrt_LOOP_TRIGGER_INTERVAL)
        • -------- ------------------------------------------------------------------------------------------------------------ --------
    • -------- ------------------------------------------------------------------------------------------------------------ --------
    • -------- Setup other text parameters --------
    • Floating Text - Set the velocity of (Last created floating text) to Wcrt_B_towards towards Wcrt_B_angle degrees
    • Floating Text - Change the fading age of (Last created floating text) to Wcrt_B_fading_age seconds
    • Floating Text - Change the lifespan of (Last created floating text) to Wcrt_B_life_span seconds
    • Floating Text - Change (Last created floating text): Disable permanence
    • -------- ------------------------------------------------------------------------------------------------------------ --------
    • -------- Nullification to default options, for next time trigger use --------
    • Set Wcrt_A_not_critical = False
    • Set Wcrt_A_size = 10.00
    • Set Wcrt_A_size_final_multiplier = 1.50
    • Set Wcrt_A_size_max_multiplier = 2.50
    • Set Wcrt_A_text_after = <Empty String>
    • Set Wcrt_A_text_before = <Empty String>
    • Set Wcrt_A_text = <Empty String>
    • Set Wcrt_B_angle = 90.00
    • Set Wcrt_B_towards = 64.00
    • Set Wcrt_B_fading_age = 4.00
    • Set Wcrt_B_life_span = 5.00
    • Set Wcrt_B_transparecy = 0.00
    • Set Wcrt_B_z_offset = 50.00
    • Set Wcrt_C_time_increase = 0.10
    • Set Wcrt_C_time_dicrease = 0.05
    • Set Wcrt_Color = Wcrt_Color_Yellow
    • Set Wow_Unit = No unit
    • -------- ------------------------------------------------------------------------------------------------------------ --------
    • Custom script: call RemoveLocation ( udg_Wow_Point )
  • Events
    • Time - Every 0.05 seconds of game time
  • Actions
    • For each (Integer DL_TEMP_LOOP) from 1 to DL_i_last, do (Actions)
      • Loop - Actions
        • -------- This one used to operate with all of variables arrays later --------
        • Set DL_TEMP = DL_i[DL_TEMP_LOOP]
        • -------- ..................... --------
        • -------- If operating time > 0, then let's do somefin with this text --------
        • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          • If - Conditions
            • Wcrt_time_operating[DL_TEMP] Greater than 0.00
          • Then - Actions
            • Set Wcrt_time_operating[DL_TEMP] = (Wcrt_time_operating[DL_TEMP] - Wcrt_LOOP_TRIGGER_INTERVAL)
            • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
              • If - Conditions
                • Wcrt_increasing_boolean[DL_TEMP] Equal to True
              • Then - Actions
                • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                  • If - Conditions
                    • Wcrt_size_current[DL_TEMP] Less than Wcrt_size_max[DL_TEMP]
                  • Then - Actions
                    • Set Wcrt_size_current[DL_TEMP] = (Wcrt_size_current[DL_TEMP] + Wcrt_step1[DL_TEMP])
                  • Else - Actions
                    • Set Wcrt_increasing_boolean[DL_TEMP] = False
              • Else - Actions
                • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                  • If - Conditions
                    • Wcrt_size_current[DL_TEMP] Greater than Wcrt_size_final[DL_TEMP]
                  • Then - Actions
                    • Set Wcrt_size_current[DL_TEMP] = (Wcrt_size_current[DL_TEMP] - Wcrt_step2[DL_TEMP])
                  • Else - Actions
                    • -------- RecycleIndex --------
                    • -------- RecycleIndex --------
                    • Set DL_i[DL_TEMP_LOOP] = DL_i[DL_i_last]
                    • Set DL_i[DL_i_last] = DL_TEMP
                    • Set DL_i_last = (DL_i_last - 1)
                    • Set DL_TEMP_LOOP = (DL_TEMP_LOOP - 1)
                    • -------- Turn the trigger again off if the index_size is below 0... --------
                    • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                      • If - Conditions
                        • DL_i_last Equal to 0
                      • Then - Actions
                        • Trigger - Turn off (This trigger)
                        • Skip remaining actions
                      • Else - Actions
            • Floating Text - Change text of Wcrt_floating_text[DL_TEMP] to Wcrt_text_ex[DL_TEMP] using font size Wcrt_size_current[DL_TEMP]
          • Else - Actions
Keywords:
GUI, Critical, Wow, World, Text
Contents

Just another Warcraft III map (Map)

Reviews
14th Dec 2011 Bribe: This can be a useful system. Approved (3/5).

Moderator

M

Moderator

14th Dec 2011
Bribe: This can be a useful system. Approved (3/5).
 
Level 4
Joined
May 9, 2010
Messages
50
  • Set Wow_A_text = Enter there your DAMAGE which needed to shown
Does this mean only 1 number/damage will be shown? So if I set it to 100 only strikes that deal 100 damage will be shown?

What you will set to this String - that will be displayed, it will just create texttag with String ("Wow_A_text")
  • Set Wow_A_text = Damage_taken_variable
Will show "Damage_taken"
  • Set Wow_A_text = 100
Will show you "100".
 
Last edited:
Top