私は、Autoitのモバイルゲームの面倒な部分を自動化するためのスクリプトを作成しています。場合によっては、エラーや悪いWiFi信号によってゲームが切断され、スクリプトが正常に機能しなくなり、正しく動作しなくなることがあります。何をしようとしているのは、接続が切断されてから最初から再起動する場合に、テストを続けるテストを作成することです。プログラムの実行中に連続して実行するテスト
Func _TestConnection()
$Continue = True
$DisconnectTest = PixelSearch(3146,760,3262,791,0x125C12,10) ;search for popup
If not (@error) Then
_LC (3112,779) ;click Yes to reconnect
Sleep(10000)
Return $Continue = False
EndIf
EndFunc
この関数は、ポップアップが見つかるとFalseを返します。しかし、いつでも切断することができるので、プログラム全体でこれを実行する方法が必要です。
これを1行に減らすだけでも、スクリプトの各ステップにプラグインすることができます。例えば
:If _TestConnection() = False Then ExitLoop
しかし、それが出たところに、この文句を言わないの復帰。ループを終了して残りのプログラムを続行するだけです。
別の有用なコマンドはIf _TestConnection() = False Then Break
だろう。しかし、これは完全に働いてからプログラムを停止します。