what did I do wrong converting my triggers to mui

madd_999

New Member
Reaction score
14
my old jump spell works good.. the jump start at and finishes at the correct point.. the arc the unit moves is also good..
the only problem with this version is that its not usable by more then 1 unit at a time...

so I tried to convert it to MUI using a hahstable.
the only problem now is that if i cast my jump far away.. my unit ends up jumping half the distance, amd if i cast it closeby it jumps almost twice the distance...

and i cant figure out why. hopefully someone can see what i can see not..


Old jump spell
Jump init
Trigger:
  • init jump
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
    • Actions
      • Set Total_Distance = (Distance between (Position of (Casting unit)) and (Target point of ability being cast))
      • Set Max_Height = (Total_Distance / 2.00)
      • Set Current_distance = Total_Distance
      • Set Jump_Speed = 10.00
      • Unit Group - Add (Casting unit) to Jump_group
      • Unit - Add Crow Form to (Casting unit)
      • Unit - Remove Crow Form from (Casting unit)

the jump itself
Trigger:
  • jump
    • Events
      • Time - Every 0.01 seconds of game time
    • Conditions
    • Actions
      • Unit Group - Pick every unit in Jump_group and do (Actions)
        • Loop - Actions
          • Set Height = (((4.00 x (500.00 / Total_Distance)) x (Total_Distance - Current_distance)) x (Current_distance / Total_Distance))
          • Set Current_distance = (Current_distance - Jump_Speed)
          • Animation - Change (Picked unit) flying height to Height at 0.00
          • Unit - Move (Picked unit) instantly to ((Position of (Picked unit)) offset by Jump_Speed towards (Facing of (Picked unit)) degrees)
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • Current_distance Less than or equal to 0.00
            • Then - Actions
              • Animation - Change (Picked unit) flying height to (Default flying height of (Picked unit)) at 0.00
              • Unit Group - Remove (Picked unit) from Jump_group
            • Else - Actions


hopefully my new mui jump spell
map init
Trigger:
  • map int
    • Events
      • Map initialization
    • Conditions
    • Actions
      • Set Jump_Speed = 10.00
      • Hashtable - Create a hashtable
      • Set JumpHastable = (Last created hashtable)

init jump
Trigger:
  • init jump
    • Events
      • Unit - A unit Finishes casting an ability
    • Conditions
    • Actions
      • Set Jump_Total_Distance = (Distance between (Position of (Casting unit)) and (Target point of ability being cast))
      • Set Jump_Max_Height = 500.00
      • Set Jump_Current_distance = Jump_Total_Distance
      • Unit Group - Add (Casting unit) to Jump_group
      • Hashtable - Save Handle Of(Casting unit) as 0 of (Player number of (Owner of (Casting unit))) in JumpHastable
      • Hashtable - Save Jump_Max_Height as 1 of (Player number of (Owner of (Casting unit))) in JumpHastable
      • Hashtable - Save Jump_Total_Distance as 2 of (Player number of (Owner of (Casting unit))) in JumpHastable
      • Hashtable - Save Jump_Current_distance as 3 of (Player number of (Owner of (Casting unit))) in JumpHastable

Jump
Trigger:
  • jump
    • Events
      • Time - Every 0.01 seconds of game time
    • Conditions
    • Actions
      • For each (Integer A) from 1 to (Number of players), do (Actions)
        • Loop - Actions
          • Set Jump_Caster = (Load 0 of (Player number of (Player((Integer A)))) in JumpHastable)
          • Set Jump_Max_Height = (Load 1 of (Player number of (Player((Integer A)))) from (Last created hashtable))
          • Set Jump_Total_Distance = (Load 2 of (Player number of (Player((Integer A)))) from (Last created hashtable))
          • Set Jump_Current_distance = (Load 3 of (Player number of (Player((Integer A)))) from (Last created hashtable))
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • Jump_Current_distance Less than or equal to 0.00
            • Then - Actions
              • Animation - Change (Picked unit) flying height to (Default flying height of (Picked unit)) at 0.00
              • Hashtable - Save Handle OfNo unit as 0 of (Player number of (Owner of (Casting unit))) in JumpHastable
            • Else - Actions
              • Unit - Add Crow Form to Jump_Caster
              • Unit - Remove Crow Form from Jump_Caster
              • Set Jump_Height = (((4.00 x (Jump_Max_Height / Jump_Total_Distance)) x (Jump_Total_Distance - Jump_Current_distance)) x (Jump_Current_distance / Jump_Total_Distance))
              • Animation - Change Jump_Caster flying height to Jump_Height at 0.00
              • Set Jump_Current_distance = (Jump_Current_distance - Jump_Speed)
              • Set Jump_Next_point = ((Position of Jump_Caster) offset by Jump_Speed towards (Facing of Jump_Caster) degrees)
              • Unit - Move Jump_Caster instantly to Jump_Next_point
              • Custom script: call RemoveLocation (udg_Jump_Next_point)
              • Hashtable - Save Jump_Current_distance as 3 of (Player number of (Owner of (Casting unit))) in JumpHastable

--
edit: i know this is not leakles, I still need to remove them but first i want to have the triggers work properly
 

madd_999

New Member
Reaction score
14
there it is.. but if you can tell me what I did wrong i can possibly solve it myself
 

Attachments

  • jump 2.w3x
    18.1 KB · Views: 184

nnieheayp

Member
Reaction score
2
I am too bad in english. So, i only fixed for you. Sorry for that

Trigger:
  • init jump
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Flame Strike
    • Actions
      • Set Jump_Total_Distance = (Distance between (Position of (Casting unit)) and (Target point of ability being cast))
      • Set Jump_Max_Height = 500.00
      • Set Jump_Current_distance = Jump_Total_Distance
      • Hashtable - Save Jump_Max_Height as (Key maxheight) of (Key (Casting unit)) in JumpHastable
      • Hashtable - Save Jump_Current_distance as (Key current) of (Key (Casting unit)) in JumpHastable
      • Hashtable - Save Jump_Total_Distance as (Key total) of (Key (Casting unit)) in JumpHastable
      • Unit Group - Add (Casting unit) to Jump_group


Trigger:
  • jump
    • Events
      • Time - Every 0.01 seconds of game time
    • Conditions
      • (Number of units in Jump_group) Greater than 0
    • Actions
      • Unit Group - Pick every unit in Jump_group and do (Actions)
        • Loop - Actions
          • Set Jump_Current_distance = (Load (Key current) of (Key (Picked unit)) from JumpHastable)
          • Set Jump_Max_Height = (Load (Key maxheight) of (Key (Picked unit)) from JumpHastable)
          • Set Jump_Total_Distance = (Load (Key total) of (Key (Picked unit)) from JumpHastable)
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • Jump_Current_distance Less than or equal to 0.00
            • Then - Actions
              • Animation - Change (Picked unit) flying height to (Default flying height of (Picked unit)) at 0.00
              • Hashtable - Clear all child hashtables of child (Key (Picked unit)) in JumpHastable
              • Unit Group - Remove (Picked unit) from Jump_group
            • Else - Actions
              • Unit - Add Crow Form to (Picked unit)
              • Unit - Remove Crow Form from (Picked unit)
              • Set Jump_Height = (((4.00 x (Jump_Max_Height / Jump_Total_Distance)) x (Jump_Total_Distance - Jump_Current_distance)) x (Jump_Current_distance / Jump_Total_Distance))
              • Animation - Change (Picked unit) flying height to Jump_Height at 0.00
              • Set Jump_Current_distance = (Jump_Current_distance - Jump_Speed)
              • Set Jump_Next_point = ((Position of (Picked unit)) offset by Jump_Speed towards (Facing of (Picked unit)) degrees)
              • Unit - Move (Picked unit) instantly to Jump_Next_point
              • Custom script: call RemoveLocation (udg_Jump_Next_point)
              • Hashtable - Save Jump_Current_distance as (Key current) of (Key (Picked unit)) in JumpHastable
 

Attachments

  • jump 2(fix).w3x
    19.1 KB · Views: 194

Nenad

~Choco Coronet~ Omnomnom
Reaction score
137
Set Height = (((4.00 x (500.00 / Total_Distance)) x (Total_Distance - Current_distance)) x (Current_distance / Total_Distance))

Set Jump_Height = (((4.00 x (Jump_Max_Height / Jump_Total_Distance)) x (Jump_Total_Distance - Jump_Current_distance)) x (Jump_Current_distance / Jump_Total_Distance))

Bold Is the Mismatch in the two triggers, try remaking that into just total distance ^^
 

madd_999

New Member
Reaction score
14
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Members online

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top