What's new
  • Visit Rebornbuddy
  • Visit Resources
  • Visit API Documentation
  • Visit Downloads
  • Visit Portal
  • Visit Panda Profiles
  • Visit LLamamMagic

Gps.Move() does not stop

Barok

Member
Joined
Sep 11, 2014
Messages
231
Reaction score
0
Eng(google translate):For unknown reasons, sometimes Gps.Move() method does not stop when a character uses the endpoint.
Rus: Иногда метод Gps.Move() по непонятным причинам не хочет останавливаться, когда персонаж прибегает в конечную точку.

Example:
2eb4c8fdb70fce03d432168f8e6784cb.png


Code:
...
distCraftPoint = me.dist(craftPoint.x, craftPoint.y);
                            while (distCraftPoint > 5)
                            {
                                selfGps(craftNamePoint);
                                Thread.Sleep(1144);
                                distCraftPoint = me.dist(craftPoint.x, craftPoint.y);
                                Thread.Sleep(844);
                            }
...
Code:
public void selfGps(string name)
        {
            gps.onGpsPreMove += gpsPreMove;
            gps.onGpsPostMove += gpsPostMove;
            gps.GpsMove(name);
            gps.onGpsPreMove -= gpsPreMove;
            gps.onGpsPostMove -= gpsPostMove;
        }
Code:
public void gpsPreMove(GpsPoint point)
        {
            distPoint = me.dist(point.x, point.y);
            distCraftPoint = me.dist(craftPoint.x, craftPoint.y);
            Log("dP=" + distPoint.ToString("0.00") + "Next point name=" + point.name + " dC=" + distCraftPoint.ToString("0.00"), "Log1");
        }

        public void gpsPostMove(GpsPoint point)
        {
            distPoint = me.dist(point.x, point.y);
            distCraftPoint = me.dist(craftPoint.x, craftPoint.y);
            Log("dP=" + distPoint.ToString("0.00") + "Current point name=" + point.name + " dC=" + distCraftPoint.ToString("0.00"), "Log2");
            if (point.name == craftNamePoint)
            {
                Log("Приехали! СТАПЭ!!!!", "Log2");
            }
        }

After run script:
Log1:
Code:
dP=19,90 Next point name=3 dC=153,54
dP=57,73 Next point name=2 dC=134,66
dP=24,93 Next point name=1 dC=77,99
dP=43,86 Next point name=0 dC=55,57
dP=11,44 Next point name=PolRas dC=11,44
Log2:
Code:
dP=1,14 Current point name=3 dC=134,66
dP=0,41 Current point name=2 dC=77,99
dP=1,31 Current point name=1 dC=55,57
dP=0,85 Current point name=0 dC=11,44
Eng (google translate): The character normally runs on the GPS route, according to the event even see the end point, when he is on the penultimate. But at the moment of resorting to the last point continues to run down the line. And in the log no signs that he ran to the end point, but exactly through it ran. What is the reason?
Rus: Персонаж нормально бежит по GPS маршруту, судя по эвенту даже видит конечную точку, когда находится на предпоследней. Но в момент прибегания в последнюю точку продолжает бежать дальше по прямой. И в логе нету надписи, что он прибежал в конечную точку, хотя точно через неё пробегал. В чём причина?
 
Last edited:
Test #2:
f584ac1c08dfafc9475ff859b21b9fa5.png

Code:
public void gpsPreMove(GpsPoint point)
        {
            distCraftPoint = me.dist(craftPoint.x, craftPoint.y);
            Log("Next point name=" + point.name + " dC=" + distCraftPoint.ToString("0.00"),"Log1");
            if (point.name == "PolRas")
            {
                CancelMoveTo();
                Log("СТАПЭ!!! Приехали!!!", "Log1");
            }
        }
Log1:
Code:
Next point name=4 dC=205,31
Next point name=3 dC=132,42
Next point name=2 dC=77,35
Next point name=1 dC=53,25
Next point name=PolRas dC=9,32
СТАПЭ!!! Приехали!!!
Rus: Но метод CancelMoveTo() не отработал, перс продолжает бежать (Перс на маунте). В чем причина? Почему GPS не работает должным образом?
Eng: But the method CancelMoveTo() did not work, the character continues to run (Character on Mount). What is the reason? Why GPS is not working properly?
 
Last edited:
Eng: But the method CancelMoveTo() did not work, the character continues to run (Character on Mount). What is the reason? Why GPS is not working properly?
CancelMoveTo stops current moveto request. Try to set gps flag gpsMoveCancelRequested = true
Code:
public void gpsPreMove(GpsPoint point)
        {
            distCraftPoint = me.dist(craftPoint.x, craftPoint.y);
            Log("Next point name=" + point.name + " dC=" + distCraftPoint.ToString("0.00"),"Log1");
            if (point.name == "PolRas")
            {
                gps.gpsMoveCancelRequested  = true;
                CancelMoveTo();
                Log("СТАПЭ!!! Приехали!!!", "Log1");
            }
        }
 
Back
Top