setvar(%middle,0)
setvar(%icount,0)
@main:
wait(100)
gotoiffighting(@main)
gotoifnpcnearbyname(@attack,darkwizard)
wait(500)
addvar(%icount,1)
gotoifnum1equalnum2(@ladders,%icount,3)
goto(@main)

@attack:
fightmode(1)
setvarfatigue(%f)
gotoifnum1equalnum2(@sleep,%f,100)
attacknearestbyname(darkwizard,true)
wait(200)
goto(@main)

@ladders:
setvar(%icount,0)
gotoifcoordsin(@down,306,537,466,703)
gotoifcoordsin(@middle,359,1512,364,1517)
gotoifcoordsin(@up,359,2461,364,2456)

@down:
objcmd1(360,570)
wait(300)
gotoifcoordsin(@down,306,537,466,703)
goto(@main)

@middle:
debugrs(%middle)
gotoifnum1equalnum2(@midup,%middle,0)
gotoifnum1equalnum2(@middown,%middle,1)
goto(@main)

@midup:
setvar(%middle,1)
objcmd1(363,1514)
wait(300)
gotoifcoordsin(@midup,359,1512,364,1517)
goto(@main)

@middown:
setvar(%middle,0)
objcmd1(360,1514)
wait(300)
gotoifcoordsin(@middown,359,1512,364,1517)
goto(@main)

@up:
objcmd1(363,2458)
wait(300)
gotoifcoordsin(@up,359,2461,364,2456)
goto(@main)

@sleep:
wait(2000)
useitembyid(1263)
wait(2000)
waitforwakeup(28000)
gotoifsleeping(@sleep)
goto(@main)