You don't really need to get the units movement speed, you can very easily just check the distances (as you did) and then move it closer, by that distance. Also as you're not using co-ordinates units cannot resist being pulled, and similarly they can not attack while being pulled, however when not being pulled they can do both.
Take into consideration:
If the unit that is pulling is -not moving- and the unit it is trying to pull is running away, when it gets out of the given radius of the drag, or rather to the limit. What'll happen to it?
Note: This is assuming that you don't pause units (I know you do, but it's not exactly good practice to do so)
Edit: Also you should get a proper screenshot, not a photograph taken with a phone/camera, there's a Print Screen button on your keyboard, please use it.
Edit 2: In other news you have a custom script "Uknown" which breaks your triggers when you try to save, also there's a problem with the "how to import" instructions, but this could also be linked to this "Unknown" custom script
Edit 3: It stacks with itself, making it twice as effective. Also it lags if you grab more than about 10 units at the same time (very rough approximation) this is also because of using points as opposed to co-ordinates
Thank you for your review T-C.
1) I am using movement speed, because in my setup trigger I have SlowFactor.
-
-------- make this value less than 1.00 if you want to slow the target while moving in lasso --------
-
-------- if this value is equel to 1 the target is moving with Batrider`s speed --------
-
Set FL_SlowFactor = 1.00
So target may be pulled slower than Bat-rider, may be increasing speed with level. User can configure this parameters as he wants, so I decided to use movement speed.
2) Yes, originally my spell idea doesnt allow resist to be pulling.
May be I`ll make it. Because some part of idea is from dota, but in dota target can not resist.
3) Unit will pulling as well, because it depends from Bat-riders speed.
4) Why pausing unit is bad? Earlier I have been had some problems with it, but in this spell it works correctly(As I think).
5) Yes, I know about Print screen:
And screen-shot is too bad because my Print Screen is not workable and I make it with help of my mobile phone
This is quote from my first reply.
Sorry about that once again.
6)Yes, its because it was named in Russian language, I`ll rename trigger and update it soon.
7)I don`t have experience to use coordinates, but
-
Set x1[Index[3]] = (X of FL_CasterLoc[Index[3]])
-
Set x2[Index[3]] = (X of FL_TargetLoc[Index[3]])
-
Set y1[Index[3]] = (Y of FL_CasterLoc[Index[3]])
-
Set y2[Index[3]] = (Y of FL_TargetLoc[Index[3]])
-
Set z1[Index[3]] = (zLoc + (Current flying height of FL_Caster[Index[3]]))
-
Set z2[Index[3]] = (zLoc + (Current flying height of FL_Target[Index[3]]))
It used for custom script. Is it not coordinates?)