problems in channeling mui ability attempt

kelogsloops

You can change this now in User CP.
Reaction score
45
so i've got a spell that makes a missile and sends it towards a target location and upon destination, it circles the area for the remaining seconds of the cast which is 5 second effect (including moving towards the point). i've got the circling bit right, but then when i was told to make my moving units as missiles triggers MUI by using hashtables, i encountered some problems.

firstly, when the spell is cast, and as the first missile circles the target point, if i cast another one, both missiles circle the SECOND target point. (the first one moves to the second point), and when the first missile dies because of its expiration timer, any remaining missiles and missiles cast after that just magically move towards woopwoopland (i think center of map).

secondly, i wanted to make it that if the hero cancels or stops CHANNELING, any missiles alive would be destroyed.

here are my codes ;/

Trigger:
  • Flare
    • Events
      • Unit - A unit Begins channeling an ability
    • Conditions
      • (Ability being cast) Equal to Flare
    • Actions
      • Set Caster = (Casting unit)
      • Set Target_Loc = (Target point of ability being cast)
      • Set Temp_Point = (Position of Caster)
      • Unit - Create 1 Footman for (Owner of Caster) at Temp_Point facing (Facing of Caster) degrees
      • Unit Group - Add (Last created unit) to UnitGroup
      • Hashtable - Save 5.00 as 1 of (Key (Last created unit)) in hashtable
      • Hashtable - Save Handle OfCaster as 2 of (Key (Last created unit)) in hashtable
      • Hashtable - Save Handle OfTarget_Loc as 3 of (Key (Last created unit)) in hashtable
      • Hashtable - Save (Angle from (Position of Caster) to (Target point of ability being cast)) as 4 of (Key (Last created unit)) in hashtable
      • Hashtable - Save Handle Of(Last created unit) as 5 of (Key (Last created unit)) in hashtable
      • Trigger - Turn on FlareMove <gen>
      • Custom script: call RemoveLocation(udg_Temp_Point)
    • FlareMove
      • Events
        • Time - Every 0.02 seconds of game time
      • Conditions
      • Actions
        • Unit Group - Pick every unit in (Units of type Footman) and do (Actions)
          • Loop - Actions
            • Set RemainingTime = (Load 1 of (Key (Picked unit)) from hashtable)
            • Set Caster = (Load 2 of (Key (Picked unit)) in hashtable)
            • Set TargetPoint = (Load 3 of (Key (Picked unit)) in hashtable)
            • Set Angle = (Load 4 of (Key (Picked unit)) from hashtable)
            • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
              • If - Conditions
                • RemainingTime Greater than 0.00
                • (Caster is alive) Equal to True
              • Then - Actions
                • Unit - Move (Picked unit) instantly to ((Position of (Picked unit)) offset by (400.00 / 30.00) towards (Facing of (Picked unit)) degrees), facing Target_Loc
                • Hashtable - Save (RemainingTime - 0.02) as 1 of (Key (Picked unit)) in hashtable
              • Else - Actions
                • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                  • If - Conditions
                    • RemainingTime Equal to 0.00
                  • Then - Actions
                    • Hashtable - Clear all child hashtables of child (Execution count of (This trigger)) in (Last created hashtable)
                    • Unit - Kill (Picked unit)
                    • Unit Group - Remove (Picked unit) from UnitGroup
                    • Custom script: call RemoveLocation(udg_Target_Loc)
                  • Else - Actions
                    • Do nothing
    • Flare Stop
      • Events
        • Unit - A unit Stops casting an ability
      • Conditions
        • (Ability being cast) Equal to Flare
      • Actions
        • Unit Group - Pick every unit in (Units in (Playable map area) matching ((Unit-type of (Matching unit)) Equal to Footman)) and do (Actions)
          • Loop - Actions
            • Set Caster = (Load 2 of (Key (Picked unit)) in hashtable)
            • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
              • If - Conditions
                • (Triggering unit) Equal to Caster
              • Then - Actions
                • Unit - Create 1 Mortar Team for Player 1 (Red) at (Center of (Playable map area)) facing Default building facing degrees
              • Else - Actions
                • Do nothing
 

skyblader

You're living only because it's illegal killing.
Reaction score
159
From your explanation, and scanning through your triggers, what I can tell is, your point is not MUI. Also, when you clear your hashtables, it should be key(picked unit).

Okay after further looking, I realised you're not utilizing the saved values properly. Why are you saving the angle, and then loading it, but not using it?

Do something like

set temppoint = position of picked unit offset by 40/3 facing loaded angle
Move unit to temppoint
clear temppoint

Also your target loc.... it's set in the first trigger, why aren't you using the loaded value..
 

kelogsloops

You can change this now in User CP.
Reaction score
45
Oh!!!!
Also your target loc.... it's set in the first trigger, why aren't you using the loaded value..

that was the problem heh, my bad again, sorry!
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Members online

      No members online now.

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top