Advertisement
Guest User

Untitled

a guest
Sep 24th, 2017
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.97 KB | None | 0 0
  1.     float dx = Position->destiny.x - Position->current.x;
  2.     float dy = Position->destiny.y - Position->current.y;
  3.     float distance = sqrt( (dx*dx) + (dy*dy) );
  4.     float ntime = ( distance / Stats->Move_Speed * GServer->MOVE_SPEED_MODIF );
  5.     clock_t etime = clock() - Position->lastMoveTime;
  6.  
  7.     //LMA: bad, that's bad...
  8.     //if (ntime<=etime || distance<1.0 )
  9.     if (ntime<=etime || distance<0.01 )
  10.     {
  11.         // if (IsPlayer()) printf("Arrived! X: %i, Y: %i\n", (int)Position->current.x, (int)Position->current.y);
  12.         if(Position->Map==8&&IsMonster())
  13.         {
  14.             Log(MSG_INFO," Monster Arrived, J (%.2f:%.2f)->(%.2f:%.2f)",Position->current.x,Position->current.y,Position->destiny.x,Position->destiny.y);
  15.         }
  16.  
  17.         Position->current.x = Position->destiny.x;
  18.         Position->current.y = Position->destiny.y;
  19.     }
  20.     else
  21.     {
  22.         Position->current.x += dx*(etime/ntime);
  23.         Position->current.y += dy*(etime/ntime);
  24.     }
  25.  
  26.     Position->lastMoveTime = clock( );
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement