Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- float dx = Position->destiny.x - Position->current.x;
- float dy = Position->destiny.y - Position->current.y;
- float distance = sqrt( (dx*dx) + (dy*dy) );
- float ntime = ( distance / Stats->Move_Speed * GServer->MOVE_SPEED_MODIF );
- clock_t etime = clock() - Position->lastMoveTime;
- //LMA: bad, that's bad...
- //if (ntime<=etime || distance<1.0 )
- if (ntime<=etime || distance<0.01 )
- {
- // if (IsPlayer()) printf("Arrived! X: %i, Y: %i\n", (int)Position->current.x, (int)Position->current.y);
- if(Position->Map==8&&IsMonster())
- {
- Log(MSG_INFO," Monster Arrived, J (%.2f:%.2f)->(%.2f:%.2f)",Position->current.x,Position->current.y,Position->destiny.x,Position->destiny.y);
- }
- Position->current.x = Position->destiny.x;
- Position->current.y = Position->destiny.y;
- }
- else
- {
- Position->current.x += dx*(etime/ntime);
- Position->current.y += dy*(etime/ntime);
- }
- Position->lastMoveTime = clock( );
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement