2016-12-24 3 views
1

私のコードを遅くforループを入れ子になった:が未知の理由(AutoItの)ために

Func myFunc() 

    $lag = 1300 
    while (1) 
     MouseMove(870, 189) 
     sleep(10) 
     LC(870, 189) 
     sleep(1200 + $lag) 
     LC(1010,333) 
     sleep(100) 
     RC(826,115) 
     sleep(50) 
     LC(870,212) 
     sleep(50) 
     send("{ESC}") 
     sleep(150) 
     $x = 0 
     $y = 0 

     For $i = 0 To 27 Step 1 
      sleep(11) 
      MouseClick("left", 1158 + $x ,260 + $y) 
      $x+=42 
      if ($x = 168) Then 
       $x = 0 
       $y+=36 
      EndIf 
     Next 

    WEnd 

EndFunc 

forループ内の唯一の遅延は、スリープ(11)であるが、それは反復ごとにおよそ0.5秒(500ミリ秒)をとりどんなに小さな遅延でも11ms +ではなく。また、ループのスリープ(11)部分を完全に削除すると、約500msの遅延が発生します。

誰でも想像していたのは、ビデオゲームのマクロです。 whileループの最初の部分はインターフェイスを開き、何かを設定し、2番目の部分(forループ)は非常に素早くインベントリをクリックすると仮定します。

答えて

0

マウスカーソルの移動に時間がかかります。瞬時に動かせるように速度パラメータを0に設定する

MouseClick("left", 1158 + $x ,260 + $y,1,0) 
関連する問題