UWSC初心者用スレ2 (285レス)
1-

62: 2022/01/15(土)16:59 ID:DFX5O6Fa(1/6) AAS
「一定時間マウス操作が無かった時に発動する命令」についての質問です

命令?を繰り返し続ける

1分間クリックが行われなかった場合は
命令?を行う

命令?の繰り返しに戻る

という命令文を「adbの裏マクロ」で組みたいです。
通常のマクロで上記を行う場合は「マウスカーソルの座標が移動したかどうか」
を発動条件にすればできると聞きましたが、
マウスの動かない裏マクロで上記をみたす命令文は構築できるのでしょうか
できる場合は例文やヒントを教えていただきたいです
1分間クリックが行われない状況が多岐にわたるため
「特定の画面になったら命令?を行う」はできそうにありませんでした
63
(1): 2022/01/15(土)17:17 ID:2W+4eRYP(1) AAS
マウスカーソルの座標を取得し、一分後のマウスカーソルの座標と比較
64: 2022/01/15(土)17:38 ID:DFX5O6Fa(2/6) AAS
>>63
マウスが動かないためそれが出来ず困っています
「クリックが行われたかどうか」の有無を判定する命令文があればいいのですが…
65
(1): 2022/01/15(土)18:11 ID:8h/gvJDc(1) AAS
下の想定はあってる?
ゲームを裏で自動で動かす一方で表ではPCをいろいろ使ってる
ゲーム内で1分クリックがなかった場合は命令2をする

クリックはどうやって行われるの?
命令1の中にクリックが含まれる?
気が向いた時に自分でゲーム操作してクリックする?
66
(3): 2022/01/15(土)19:18 ID:DFX5O6Fa(3/6) AAS
THREAD checkCur() //以下の命令文を「checkCur()」で監視する

WHILE TRUE //?を繰り返す
(操作?)
WEND

PROCEDURE checkCur() //「checkCur()」の効果を下記のうように定める
t = GETTIME()
WHILE TRUE
x = G_MOUSE_X
y = G_MOUSE_Y
SLEEP(1)
IF G_MOUSE_X <> x OR G_MOUSE_Y <> y THEN t = GETTIME()
FUKIDASI(GETTIME() - t)
IF GETTIME() - t >= 60 THEN BREAK
WEND

(任意の操作?) //60秒何もなかったら?を実行
FEND
67: 2022/01/15(土)19:38 ID:DFX5O6Fa(4/6) AAS
>>65
想定としては
PCを全く触らない想定です

クリックのが実行は
特定の画像を見つけたら、定位置3か所程度をクリックするというものです
これを?の繰り返し部分につかっています。

他人の書いた命令文の見様見真似で
>>66を走らせてみたのですが
?を60秒間繰り返したのち、すぐに?が発動しちゃっていて
裏マクロのクリックはマウスの動作として認識されていないようでした
68
(1): 2022/01/15(土)19:46 ID:JoeIONBq(1) AAS
それ画像が見つからない状態が一定時間経過したら命令2に移行するでいいんじゃないの
adbによるタップはマウスカーソル座標とか全く関係無いよ
69: 2022/01/15(土)20:14 ID:DFX5O6Fa(5/6) AAS
>>68
その方式にしたら私の知識でもうまく作れそうですね…
ただ、他のマクロにも利用できる汎用性のあるものを作りたいと考えていて
「一定時間クリックが行われなければ」をトリガーにした命令文を作りたい
と考えています
70: 2022/01/15(土)20:43 ID:DFX5O6Fa(6/6) AAS
改めて調べてみたのだけどクリック判定は難しそうです
ひとまず、画像なしを一定時間(複数回)検知したら〜という方式で作ってみます
ありがとうございます
71
(1): 2022/01/15(土)23:18 ID:zZcweZ63(1) AAS
>>66
checkCur()
は一度?を実行すると終了して
それを実行していたスレッドも終了してしまう
ループを2重にして?を実行したあとはまた最初っから
の処理を繰り返す必要があるのでは
72
(1): 2022/01/16(日)00:15 ID:eEuzY81s(1) AAS
タップしたかどうかで判定したいならadbによるタップを関数化して
関数内でグローバル変数に最後にタップした時間をGETTIMEで入れればいい
73
(1): 2022/01/16(日)00:32 ID:V+ZRX82D(1) AAS
こんなん?
public isclicked=0
(省略)
procedure adbclick(引数省略)
isclicked=1
doscmd(引数省略)
fend
74: 2022/01/16(日)01:24 ID:4EWMaBch(1/2) AAS
>>71
たしかにその通りでした
>66だと?発動条件の監視は1度だけになっていました
見てわかるのがすごい。私は走らさせないとわからなかった
75: 2022/01/16(日)01:36 ID:4EWMaBch(2/2) AAS
>>72
>>73
言っていることは朧げに分かりますが
それを命令文化する知識が足りません。でもありがとうございます!
>>73を参考に方法を調べてみます
76
(1): 2022/01/17(月)13:17 ID:ephhg8o+(1) AAS
これってマックで使えないの?
77: 2022/01/17(月)13:47 ID:BS7LWx0L(1) AAS
>>76
Windowsが動くマックなら使えるでしょ
試してないけど
78
(1): 2022/01/20(木)11:03 ID:V75Vz3Z+(1/2) AAS
質問します。
無料バージョンとProバージョで、単にExcel起動させるスクリプトなんですが、無料はちゃんと動くがProは工ラーが出てしまう。
Verはどちらも 5.3.0.2です。
ただ、ー部のスクリプトはProでも動きます。

使い始めて間がないので、よくわかってないところが大部分です。
よろしくお願いします。
79: 2022/01/20(木)11:15 ID:9lIEWcOm(1) AAS
動くスクリプトと動かないスクリプトをそのまま貼り付けて書き込みしましょう
80: 2022/01/20(木)14:49 ID:n7chvAG3(1) AAS
ついでにどう動かないのか
エラーメッセージが何なのかも書いた方がいい
81: 2022/01/20(木)17:35 ID:V75Vz3Z+(2/2) AAS
78です。
家に帰ったら、スクリプトとエラーの表示内容をアップします。
82: 2022/01/20(木)21:42 ID:MyoibU5A(1) AAS
>>78です

EXCEL = CREATEOLEOBJ("Excel.Application")
EXCEL.visible = True
EXCEL.Workbooks.add()
83
(1): 2022/01/20(木)21:44 ID:PmxKwmhK(1) AAS
画像リンク

84
(1): 2022/01/20(木)22:41 ID:BEc60Lbm(1) AAS
セキュリティソフトを起動させておくと>>83のエラーが出たけど、OFFにしておくと問題ない

EXCEL = CREATEOLEOBJ("Excel.Application")
EXCEL.Workbooks.add()
EXCEL.visible = True
85: 2022/01/21(金)07:31 ID:dq8Ljfzw(1) AAS
>>84
検証、ありがとうごさいました。
86
(2): 2022/01/23(日)23:17 ID:EK6M0RjQ(1) AAS
昨日まで問題なく使えてたChklmgXが急に画像認識しなくなったんだけど何か原因ありますか?
87: 2022/01/23(日)23:18 ID:dd4Q4/BT(1) AAS
>>86の環境が変わった
88: 2022/01/24(月)17:17 ID:aEoJXi2O(1) AAS
原因が有りすぎて特定できん
一つずつ原因を探って行くしか無い
89: 2022/01/24(月)18:47 ID:1UwK5pur(1) AAS
たびたび認識しなくなるようなら
認識用の画像を取り込むマクロ組んだほうが早い
90
(1): 2022/01/25(火)08:40 ID:2SB0W66n(1) AAS
>>86ですが、どんな感じでおかしくなったかというと、
例えば「OK」というボタンがあって、色々な「OK」ボタンがあるのですが、その違いはほとんどありません。
(OとKの隙間が何ミリ違うとかのレベル)
先日までは色々な「OK」ボタンを全て認識してくれていたのですが、急に認識しなくなりました。
どれぐらい認識しないかというと通常のChklmgぐらい認識してくれません。
91: 2022/01/25(火)09:35 ID:bQTfb4+e(1) AAS
>>90
chkimgXは全く同じ形でも大きさが変わると認識できない
なぜ今まで認識できていたかはわからないけどそれが本来の挙動
1-
あと 194 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ

ぬこの手 ぬこTOP 0.007s