После того как скомпилировали скрипт, обязательно запустить от администратора.
Далее по пунктам.
1) Выставить семена в ячейку "Shift+1"
2) Ставим камеру в положение на персонажем и определяем начальную позицию посадки, как показано на скрине ниже:
Дистанция между посадками в ряду и столбце зависит от размера растения.
Для риса и азалии использовалось значение 63, можно и меньше, тестируйте.
Время движения персонажа в сек - это время, которое персонаж будет двигаться назад, чтобы урегулировать камеру для посадки новых рядов.
Все зависит от ровности поверхности.
В скрипте пример засадки БП.
Далее по пунктам.
1) Выставить семена в ячейку "Shift+1"
2) Ставим камеру в положение на персонажем и определяем начальную позицию посадки, как показано на скрине ниже:
Дистанция между посадками в ряду и столбце зависит от размера растения.
Для риса и азалии использовалось значение 63, можно и меньше, тестируйте.
Время движения персонажа в сек - это время, которое персонаж будет двигаться назад, чтобы урегулировать камеру для посадки новых рядов.
Код:
; Автозасадка в ArcheAge by Rulleks
Func _WinWaitActivate($title,$text,$timeout=0)
WinWait($title,$text,$timeout)
If Not WinActive($title,$text) Then WinActivate($title,$text)
WinWaitActive($title,$text,$timeout)
EndFunc
HotKeySet("{F11}","StartOrStop")
Global $STOP = True
Global $slp = 5 ; через сколько начнет работать прога (в сек) после активации F11
Global $crow = 3 ; кол-во посадок в ряду
Global $ccol = 5 ; кол-во рядов
Global $rrow = 63 ; дистанция между посадками в ряду
Global $rcol = 62 ; дистанция между посадками в столбце
Global $rtime = 1 ; время движения персонажа в сек
Global $footer = 2 ; через сколько рядов двигать персонажа вниз (для урегулирования камеры)
Global $countf ; кол-во сдвигов персонажа после расчетов
Global $x
Global $y
Global $stat_y
Global $i[100]
Global $j
Global $n = 2
Global $count = 2
Global $countrow = 1
$slp = InputBox("Старт бота","Через сколько сек после нажатия F11 активировать бота (Пример: 5)")
$crow = InputBox("Введите кол-во посадок","Введите количество растений в одном ряду (Пример: 4)")
$ccol = InputBox("Введите кол-во рядов","Введите кол-во рядов (Пример: 5)")
$rrow = InputBox("Интервал между посадками в ряду","Интервал между посадками в ряду (Пример: 63)")
$rcol = InputBox("Интервал между рядами","Интервал между рядами (Пример: 62)")
$rtime = InputBox("Время движения персонажа","Время движения персонажа в сек между интервалом рядов (Пример: 2)")
$footer = InputBox("Передвижение персонажа","Через сколько рядов передвигать персонажа (для урегулирования камеры) (Пример: 2)")
Global $AA_TITLE = "- ArcheAge " ;
_WinWaitActivate($AA_TITLE ,"")
Global $hWnd = WinActive($AA_TITLE ,"")
Do
Sleep(1000)
Until $STOP = False
If $STOP = False Then
$slp = $slp * 1000
Sleep($slp)
$rtime = $rtime * 1000
$pos = MouseGetPos()
$x = $pos[0]
$y = $pos[1]
$stat_y = $pos[1]
If $ccol > $footer And Mod($ccol,$footer) == 0 Then
$countf = $ccol / $footer - 1
Else
$countf = Int($ccol/$footer)
EndIf
For $j = 0 to $ccol Step 1
$i[$j] = 0
Next
$countf = $countf + 2
For $j = 3 to $countf Step 1
$i[$j-1] = $j-2
Next
While ($countrow <= $crow)
Main()
WEnd
While ($count <= $ccol)
$y = $y + $rcol
Sleep(2000)
MouseMove($x,$y)
$countrow = 1
While ($countrow <= $crow)
Main()
WEnd
cnt($count)
$count = $count + 1
WEnd
Else
Sleep(100)
EndIf
Func Main()
$pos = MouseGetPos()
$ones = True
If $STOP = False Then
If $ones = True Then
Send("{! 1}")
MouseClick("left", $pos[0], $pos[1])
Sleep(3000)
$ones = False
EndIf
Send("{! 1}")
MouseClick("left", $pos[0]+$rrow, $pos[1])
Sleep(3000)
$countrow = $countrow + 1
Else
Sleep(100)
EndIf
EndFunc
Func cnt($count)
While ($n <= $countf)
If $count = $i[$n]*$footer Then
Send("{DOWN down}")
Sleep ($rtime)
Send("{DOWN up}")
$y = $stat_y
Else
return 0
EndIf
$n = $n + 1
WEnd
EndFunc
Func foot()
$rtime = $rtime * 1000
If $STOP = False Then
Send("{DOWN down}")
Sleep ($rtime)
Send("{DOWN up}")
Else
Sleep(100)
EndIf
EndFunc
Func StartOrStop()
If $STOP = True Then
$STOP = False
Else
$STOP = True
EndIf
EndFunc
Все зависит от ровности поверхности.
В скрипте пример засадки БП.