You can use them, but make sure to properly break out of them.
Getting a user stuck for 8 hours because a while loop didn't break properly is pretty annoying
I didn't even use 1 while loop in all of my scripts
Basicly this: (I'm using my own timer class though, not sure how osbots timer work)
Timer animationTimer = new Timer(0);
public void fletch(){
if (script.myPlayer().isAnimating())
animationTimer.reset();
if (animationTimer.getElapsed() > 2000) { //time between animations
//start fletching
}else{
//we are fletching
}
}
Khaleesi