F9:: ;Expl. Hotkey F9 starts stumbling
SetTitleMatchMode, slow
IfWinExist, StumbleUpon
{
WinActivate ; use the window found above
MsgBox,,,Push Stumble button!,0.8
}
else
{
run http://www.stumbleupon.com/
sleep 2500
MsgBox,,,Push Stumble button!,1.2
}
loop
{
KeyWait, LButton, D
MouseGetPos, xpos, ypos
if(ypos<120 && errorlevel=0)
{
xpos_= %xpos%
ypos_= %ypos%
errorlevel=1
sleep 5000
break
}
}
Loop ;loop new stumble..until press Esc
{
sleep_counter_passive = 1.2
MouseClick, left, xpos_, ypos_,,0 ; x/y coordinates for stumble button
Mousemove, 950, 400, 0
sleep 5000
Loop 2 ;two-timing loop
{
loop 50 ;loop passive scrolling
{
if(sleep_counter_passive < 0.002) ;Sets scroll speed decrement
{
scroll_down(0.06, 50)
scroll_down(0.01, 200)
sleep_counter_passive =0.9
Send {Home}
scroll_down(0.06, 6)
sleep 4000
}
else if(sleep_counter_passive < 0.2)
sleep_counter_passive :=sleep_counter_passive-0.0025
else if(sleep_counter_passive < 0.4)
sleep_counter_passive :=sleep_counter_passive-0.01
else if(sleep_counter_passive < 0.7)
sleep_counter_passive :=sleep_counter_passive-0.08
else ;if(sleep_counter_passive < 1.2)
sleep_counter_passive :=sleep_counter_passive-0.26 ;end Sets scroll speed decrement
MouseGetPos, xpos, ypos
if(ypos=400 && xpos=950)
scroll_down(sleep_counter_passive, 1)
else
{
sleep 100
break
}
;if(counter>51)
;MsgBox, ,,%sleep_counter_passive% och %counter%,6
} ;end loop passive scrolling
loop ;pause from stumbling loop
{
if(xpos < 1023)
{
check_for_pause()
loop ;loop top/bottom screen
{
MouseGetPos, xpos, ypos
if(ypos<10) ;top screen border
{
if(xpos<400)
scroll_down(0.040, 1)
else if(xpos<600)
scroll_down(1.4, 1)
else
scroll_up(0.040)
}
else if(ypos>760) ;bottom screen border
{
if(xpos<400)
scroll_up(0.040)
else if(xpos<600)
scroll_down(1.4, 1)
else
scroll_down(0.040, 1)
}
else
break
} ;end ;loop top/bottom screen
loop ;loop reading scroll speed(left side)
{
MouseGetPos, xpos, ypos
if(xpos < 10)
{
if(ypos>650) ;mouseclick down left side, pgdn
{
KeyWait, LButton, D, T1
if(ErrorLevel = 0)
{
scroll_a_page()
errorevel=1
break
}
} ;end mouseclick down left side, pgdn
else if(ypos<650 && xpos<10) ;adjust read scroll speed
{
downpage=0
if(ypos<180)
scroll_down(3, 1)
else if(ypos<350)
scroll_down(1.5, 1)
else if(ypos<500, 1)
scroll_down(1, 1)
else if(ypos<650)
scroll_down(0.5, 1)
} ;end adjust read scroll speed
}
else
break
} ;end loop reading scroll spead(left side)
}
if(xpos > 1022 or (ypos=400 && xpos=950)) ;stumble rightmost screen space
{
sleep 150
MouseGetPos, xpos
if(xpos > 1020 or (ypos=400 && xpos=950))
break
}
} ;end pause from stumbling loop
} ;end two-timing loop
} ;end loop new stumble..until press Esc
;*****Functions*****
scroll_up(sleep_)
{
Send {up}
KeyWait, Esc, D, T%sleep_%
if(ErrorLevel = 0)
pause_script()
return
}
scroll_a_page()
{
Send {pgdn}
KeyWait, Esc, D, T0.1
if(ErrorLevel = 0)
pause_script()
return
}
scroll_down(sleep_, loop_)
{
loop %loop_%
{
Send {down}
KeyWait, Esc, D, T%sleep_%
if(ErrorLevel = 0)
pause_script()
}
return
}
check_for_pause()
{
KeyWait, Esc, D, T0.1
if(ErrorLevel = 0)
pause_script()
return
}
pause_script()
{
MsgBox,,,Paused scroll script!,1
errorlevel = 1
KeyWait, Esc, D
if(ErrorLevel = 0)
{
errorlevel = 1
MsgBox,,,Resumed scroll script!,1
return
}
}