• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!

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