1. Are you planning to upload your awesome spell or system to Hive? Please review the rules here.
    Dismiss Notice
  2. Updated Resource Submission Rules: All model & skin resource submissions must now include an in-game screenshot. This is to help speed up the moderation process and to show how the model and/or texture looks like from the in-game camera.
    Dismiss Notice
  3. DID YOU KNOW - That you can unlock new rank icons by posting on the forums or winning contests? Click here to customize your rank or read our User Rank Policy to see a list of ranks that you can unlock. Have you won a contest and still haven't received your rank award? Then please contact the administration.
    Dismiss Notice
  4. Ride into the sunset with the 32nd Modeling Contest. The contest is optionally paired. Best of luck, people!
    Dismiss Notice
  5. This adventure has come to an end. Congratulate our heroes in the 16th Mini Mapping Contest Results.
    Dismiss Notice
  6. From the gates of hell, the 5th Special Effect Contest Results have emerged.
    Dismiss Notice
  7. Race against the odds and Reforge, Don't Refund. The 14th Techtree Contest has begun!
    Dismiss Notice
  8. Check out the Staff job openings thread.
    Dismiss Notice
Dismiss Notice
60,000 passwords have been reset on July 8, 2019. If you cannot login, read this.

Wow critical strike

Submitted by Atideva
This bundle is marked as approved. It works and satisfies the submission rules.
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 for apply (full))
  • 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 for apply (basic))
  • 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)


(Create)
  • 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 )


(Loop 0.05)
  • 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
Moderator
14th Dec 2011 Bribe: This can be a useful system. Approved (3/5).
  1. 14th Dec 2011
    Bribe: This can be a useful system. Approved (3/5).
     
  2. Bribe

    Bribe

    Joined:
    Sep 26, 2009
    Messages:
    8,162
    Resources:
    25
    Maps:
    3
    Spells:
    10
    Tutorials:
    3
    JASS:
    9
    Resources:
    25
    I think I can, I think I can.
     
  3. SpectreD

    SpectreD

    Joined:
    Apr 4, 2011
    Messages:
    548
    Resources:
    0
    Resources:
    0
    this is just a floating text o.o
     
  4. Atideva

    Atideva

    Joined:
    May 9, 2010
    Messages:
    47
    Resources:
    2
    Spells:
    2
    Resources:
    2
    i'll fix it
     
  5. Atideva

    Atideva

    Joined:
    May 9, 2010
    Messages:
    47
    Resources:
    2
    Spells:
    2
    Resources:
    2
    fixed, thank you.
     
  6. MasterTrainer

    MasterTrainer

    Joined:
    Apr 14, 2012
    Messages:
    2,769
    Resources:
    3
    Icons:
    1
    Maps:
    1
    Spells:
    1
    Resources:
    3
    • Set Wcrt_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?
     
  7. Atideva

    Atideva

    Joined:
    May 9, 2010
    Messages:
    47
    Resources:
    2
    Spells:
    2
    Resources:
    2
    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: Feb 25, 2015
  8. Dat-C3

    Dat-C3

    Joined:
    Mar 15, 2012
    Messages:
    2,477
    Resources:
    10
    Models:
    1
    Maps:
    5
    Spells:
    3
    Tutorials:
    1
    Resources:
    10
  9. Atideva

    Atideva

    Joined:
    May 9, 2010
    Messages:
    47
    Resources:
    2
    Spells:
    2
    Resources:
    2
    Added GDD.
     
  10. Dat-C3

    Dat-C3

    Joined:
    Mar 15, 2012
    Messages:
    2,477
    Resources:
    10
    Models:
    1
    Maps:
    5
    Spells:
    3
    Tutorials:
    1
    Resources:
    10
    Why not just use the one I linked? It's far superior and it does what GDD can not. It detects melee/ranged attacks as well spell/magic attacks and code attacks.
    Just saying, doubt people will want a critical strike system applied by default to everything.
     
  11. Atideva

    Atideva

    Joined:
    May 9, 2010
    Messages:
    47
    Resources:
    2
    Spells:
    2
    Resources:
    2
    Because it takes more time to import than GDD, i guess people can use any system they want, not just onlyone which included in current map.
    It's not a critical strike ability system. Just a texttag popup system, which you can use with any event you want.
     
  12. Dat-C3

    Dat-C3

    Joined:
    Mar 15, 2012
    Messages:
    2,477
    Resources:
    10
    Models:
    1
    Maps:
    5
    Spells:
    3
    Tutorials:
    1
    Resources:
    10
    You can't combine GDD with LFH's system which is why I suggested that.... It actually takes more time to realize that you can't change GDD to account for damage type differences easily.

    At least your using some DDS though.
     
  13. MasterTrainer

    MasterTrainer

    Joined:
    Apr 14, 2012
    Messages:
    2,769
    Resources:
    3
    Icons:
    1
    Maps:
    1
    Spells:
    1
    Resources:
    3
    Oooh I get it now. Sorry for the late reply.
    Thanks. :thumbs_up: