I'm not sure if your script work allright but if it do then you can try with this.
New version:
Code: Select all
runTime := 180 ; in you case change to 180000
isRuning := false ; in this implementation you can star both left and right walking and you stop with either x or z
farm(key1, key2, state){
If state{
is%key1% := true
is%key2% := true
SendInput {%key1% down}
SendInput {%key2% down}
}
Else{
is%key1% := false
is%key2% := false
SendInput {%key1% up}
SendInput {%key2% up}
}
}
z::
if(!isRuning){
fkey:= "a"
skey:= "d"
SetTimer, enableFarm, %runTime%
}else{
SetTimer, enableFarm, Off
isRuning := false
}
return
x::
if(!isRuning){
fkey:= "d"
skey:= "a"
SetTimer, enableFarm, %runTime%
}else{
SetTimer, enableFarm, Off
isRuning := false
}
return
enableFarm:
isRuning := true
if(is%skey%)
farm("space", skey, false)
farm("space", fkey, true)
tmpr := fkey
fkey := skey
skey := tmpr
return
Old version
Code: Select all
runTime := 180 ; in you case change to 180000
isRuning := false ; in this implementation if you start script with x then you stop with z and vice versa
farm(key1, key2, state){
If state{
SendInput {%key1% down}
SendInput {%key2% down}
}
Else{
SendInput {%key1% up}
SendInput {%key2% up}
}
}
farmSpecTime(key1,key2, farmTime){
farm(key1,key2, true)
savedKey1:= key1
savedKey2:= key2
SetTimer, disableFarm, %farmTime%
Sleep farmTime + 1
}
z::
if(!isRuning){
fkey:= "a"
skey:= "d"
}
x::
if(fkey != "a"){
fkey:= "d"
skey:= "a"
}
if(!isRuning){
isRuning := !isRuning
while(isRuning){
is%fkey% := true
is%skey% := false
farmSpecTime("space", fkey, runTime)
is%fkey% := false
is%skey% := true
farmSpecTime("space", skey, runTime)
is%fkey% := false
is%skey% := false
}
}
else{
isRuning := !isRuning
if( (is%fkey%) )
farm("space", %fkey%, false)
else if( (is%skey%) )
farm("space", %skey%, false)
SetTimer, disableFarm, Off
fkey := ""
}
return
disableFarm:
SetTimer, disableFarm, Off
farm(savedKey1, disableFarmsavedKey2, false)
return