dont use position, what if ur script missclicks or random event gets in the way(low chance but possible)?
u can use for loops, but u need checks like canReach /distance/plane checks
havent done agility pyramid, but sometimes all the conditions return true for unreachable object, so u need exception cases
u could also update a set to avoid previous obstacle but not suer how reliable would be
dont use static sleeps for agility- its really bizarre, use conditional sleep until your player is not animating
since ur going to use conditional sleeps alot, look up live templates in case ur using intellij IDE
https://gyazo.com/b4800615a57ea2c786a027ac0a3e6507
get full template by typing "cond" if ur lazy like me
good luck