The following is code from my previous LE2 project. The Lua commands are different but the essentials remain.
// Subtract the new position with the models current position
TVec3 moveAmount = NewPosition- modelPosition;
// Normalize it (Math function)
moveAmount.Normalize();
// Calculate speed based on input value and equal frame time
float t =moveSpeed * LE.AppSpeed() * 0.01;
moveAmount = new TVec3(moveAmount.X * t, moveAmount.Y * t, moveAmount.Z * t);
// Check if the distance that has to be moved is larger than a value. if so, move the entity
if (EntityDistance(model, newPosition) > 0.1)
{
MoveEntity(model, moveAmount, 1);
}