Movespeed check

E

elementrmx

Guest
I have an ability whose level I want to be equivalent to the units movespeed. In other words, when he moves at 100-199 ms, its level one, 200-299 ms, its level two. My question is in the event trigger do I need to list, when a unit picks up an item, is targeted by a spell, castes an ability, ect. or is there some other way of doing it?
 
E

elementrmx

Guest
just check it's ms whenever he casts it and change it then

Sorry, I wasnt clear. The ability is passive, and I want it to change levels depending on whatever his current movespeed is. So, if he gets frost nova'd, it levels down, but if he buys boots of speed it level up.
 

Ghan

Administrator - Servers are fun
Staff member
Reaction score
889
Sounds like you should use a periodic event. Make it like every second.
 

Ghan

Administrator - Servers are fun
Staff member
Reaction score
889
Only if the trigger has leaks in it.
 

Cohadar

master of fugue
Reaction score
209
REAL VALUE: Current movement speed of Triggering Unit

you need to convert it to integer to use it for a spell,
probably thats why you didn't find it.

And here is my little -ms command
Code:
Command ms
    Events
        Player - Player 1 (Red) types a chat message containing -ms as An exact match
        Player - Player 2 (Blue) types a chat message containing -ms as An exact match
        Player - Player 3 (Teal) types a chat message containing -ms as An exact match
        Player - Player 4 (Purple) types a chat message containing -ms as An exact match
        Player - Player 5 (Yellow) types a chat message containing -ms as An exact match
        Player - Player 7 (Green) types a chat message containing -ms as An exact match
        Player - Player 8 (Pink) types a chat message containing -ms as An exact match
        Player - Player 9 (Gray) types a chat message containing -ms as An exact match
        Player - Player 10 (Light Blue) types a chat message containing -ms as An exact match
        Player - Player 12 (Brown) types a chat message containing -ms as An exact match
    Conditions
    Actions
        Set U_msUnit = A_HeroesArray[(Player number of (Triggering player))]
        Set i_msCurrent = (Integer((Current movement speed of A_HeroesArray[(Player number of (Triggering player))])))
        Set i_msDefault = (Integer((Default movement speed of A_HeroesArray[(Player number of (Triggering player))])))
        Set i_msDifference = (i_msCurrent - i_msDefault)
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                i_msDifference Greater than 0
            Then - Actions
                Game - Display to (Player group((Triggering player))) the text: (|c00FFCC00Movespeed: |c000000FF + ((String(i_msCurrent)) + ( (|c00FFCC00 + ((String(i_msDefault)) + (|c0000FF00+ + ((String(i_msDifference)) + |c000000FF)))))))
            Else - Actions
                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    If - Conditions
                        i_msDifference Less than 0
                    Then - Actions
                        Game - Display to (Player group((Triggering player))) the text: (|c00FFCC00Movespeed: |c000000FF + ((String(i_msCurrent)) + ( (|c00FFCC00 + ((String(i_msDefault)) + (|c00FF0000 + ((String(i_msDifference)) + |c000000FF)))))))
                    Else - Actions
                        Game - Display to (Player group((Triggering player))) the text: (|c00FFCC00Movespeed: |c000000FF + (String(i_msCurrent)))

Note: this command works better than the one in dota. :p
 

Sim

Forum Administrator
Staff member
Reaction score
534
He isn't looking for an -ms command though.

--------------------------------

Use Periodic Events.

Code:
Movespeed and Ability
    Events
        Time - Every 0.25 seconds of game-time
    Conditions
    Actions
        Set Group_Var = (Units in (Playable map area) matching (((Matching unit) Unit-type) Equal to *Your_Hero*))
        Unit Group - Pick every units in Group_Var and do (Actions)
            Loop - Actions
                Set Real_Var = (Current movement speed of (Picked unit)
                Unit - Set the level of *Ability* for (Picked unit) to ((Integer((Real_Var) / 100.00)))
        Custom script:    call DestroyGroup(udg_Group_Var)

Should work out good!
 

Sim

Forum Administrator
Staff member
Reaction score
534
No, unless they leak. Even if they run every 0.01 seconds it won't lag unless they leak.
 
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