• 🏆 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!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

Dummy unit spell lags...

Status
Not open for further replies.
Level 10
Joined
Mar 17, 2012
Messages
579
Hi there!
Well, I have a pretty simple spell which is called "Tripple Shot". When a hero casts it, 3 dummies appear and attack the target. But when they appear fo the first time in the game, 1-second lag takes place that is not good.
I've already tried making a preload (creating a dummy on the map and removing it on a map initialization). Also I've tried creating and removing this unit in the beginning of the game.
I've even tried creating a special effect to get rid of this lag...

Any ideas?? :vw_wtf:

Here are the triggers:
Init:
  • Triple Shot
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Triple Shot
    • Actions
      • Set Player_Number_Int = (Player number of (Owner of (Triggering unit)))
      • Set Triple_Shot_Caster[Player_Number_Int] = (Triggering unit)
      • Set Triple_Shot_Target[Player_Number_Int] = (Target unit of ability being cast)
      • Set Triple_Shot_Point[Player_Number_Int] = (Position of Triple_Shot_Caster[Player_Number_Int])
      • Set Triple_Shot_Damage[Player_Number_Int] = ((Real((Strength of Triple_Shot_Caster[Player_Number_Int] (Include bonuses)))) x (((Real((Level of Triple Shot for Triple_Shot_Caster[Player_Number_Int]))) x 0.05) + 0.50))
      • Set Triple_Shot_Number[Player_Number_Int] = 3
      • Trigger - Turn on Triple Shot loop <gen>
Loop:
  • Triple Shot loop
    • Events
      • Time - Every 0.15 seconds of game time
    • Conditions
    • Actions
      • For each (Integer A) from 1 to 12, do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • Triple_Shot_Number[(Integer A)] Greater than 0
            • Then - Actions
              • Set Triple_Shot_Number[(Integer A)] = (Triple_Shot_Number[(Integer A)] - 1)
              • Unit - Create 1 Triple Shot dummy dummy for (Owner of Triple_Shot_Caster[(Integer A)]) at Triple_Shot_Point[(Integer A)] facing Default building facing degrees
              • Unit - Add a 0.15 second Generic expiration timer to (Last created unit)
              • Unit - Add DAMAGE 100-900 to (Last created unit)
              • Unit - Set level of DAMAGE 100-900 for (Last created unit) to (((Integer(Triple_Shot_Damage[(Integer A)])) / 100) + 1)
              • Unit - Add DAMAGE 10-90 to (Last created unit)
              • Unit - Set level of DAMAGE 10-90 for (Last created unit) to ((((Integer(Triple_Shot_Damage[(Integer A)])) mod 100) / 10) + 1)
              • Unit - Add DAMAGE 1-9 to (Last created unit)
              • Unit - Set level of DAMAGE 1-9 for (Last created unit) to (((Integer(Triple_Shot_Damage[(Integer A)])) mod 10) + 1)
              • Unit - Order (Last created unit) to Attack Triple_Shot_Target[(Integer A)]
            • Else - Actions
              • Custom script: call RemoveLocation(udg_Triple_Shot_Point[GetForLoopIndexA()])
 
Last edited:
Status
Not open for further replies.
Top