Я создал небольшую функцию, которая щелкает определенную часть экрана. Он будет использоваться, но кликнул по разному количеству раз по всей программе. Я хотел бы иметь возможность вводить количество кликов в качестве параметра, однако, когда я пытаюсь сделать это, а не жестко кодировать количество циклов, эта часть кода не запускается и экран не щелкается.
Обратите внимание на изменения в функции ClickMainBuilding в определении и как она называется ниже
Вот что работает:
; ######## SETTINGS ########
#SingleInstance Force
#NoEnv
SetWorkingDir %A_ScriptDir%
CoordMode, Mouse, Window
SendMode Input
SetTitleMatchMode 2
#WinActivateForce
SetControlDelay 1
SetWinDelay 0
SetKeyDelay -1
SetMouseDelay -1
SetBatchLines -1
; ######## FUNCTIONS ########
ClickMainBuilding(){
Loop, 5
{
Click, 927, 538 Left, , Down
Sleep, 250
Click, 927, 538 Left, , Up
Sleep, 250
}
}
ClickTradeDepot(){
Click, 420, 705
Sleep, 750
}
ExitTradeDepot(){
Click, 1512, 129
Sleep, 750
}
^!u:: ; ### MAIN ###
WinActivate, ahk_class ThumbnailDeviceHelperWnd
Sleep, 333
WinActivate, BlueStacks ahk_class HwndWrapper[Bluestacks.exe;;5b32fde4-2355-48c5-be51-8927697e9914]
Sleep, 500
ClickMainBuilding()
Sleep, 1000
ClickTradeDepot()
Sleep, 1000
ExitTradeDepot()
Return
Esc::ExitApp ; Exit script with Escape key
Вот что не работает:
; ######## SETTINGS ########
#SingleInstance Force
#NoEnv
SetWorkingDir %A_ScriptDir%
CoordMode, Mouse, Window
SendMode Input
SetTitleMatchMode 2
#WinActivateForce
SetControlDelay 1
SetWinDelay 0
SetKeyDelay -1
SetMouseDelay -1
SetBatchLines -1
; ######## FUNCTIONS ########
ClickMainBuilding(x){
Loop, x
{
Click, 927, 538 Left, , Down
Sleep, 250
Click, 927, 538 Left, , Up
Sleep, 250
}
}
ClickTradeDepot(){
Click, 420, 705
Sleep, 750
}
ExitTradeDepot(){
Click, 1512, 129
Sleep, 750
}
^!u:: ; ### MAIN ###
WinActivate, ahk_class ThumbnailDeviceHelperWnd
Sleep, 333
WinActivate, BlueStacks ahk_class HwndWrapper[Bluestacks.exe;;5b32fde4-2355-48c5-be51-8927697e9914]
Sleep, 500
ClickMainBuilding(5)
Sleep, 1000
ClickTradeDepot()
Sleep, 1000
ExitTradeDepot()
Return
Esc::ExitApp ; Exit script with Escape key