1 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 12:13:49.92 ID:an35jPjo.net] UWSC初心者用スレです わかってる人はこっち 自動化ツールUWSC使いよ集まれ21 egg.5ch.net/test/read.cgi/software/1533818531/ 降臨される神々においては相手を人と思わず猿と思し召されるよう 何卒お願い申し上げます
331 名前:デフォルトの名無しさん mailto:sage [2019/05/30(木) 10:50:09.25 ID:tA+gABtL.net] HASHTBLの値に配列を設定する方法はありませんか? 以下のようにすると「式がおかしい or 型があっていない」とエラーになってしまいます。 HASHTBL aaaa = HASH_CASECARE aaaa["abs"] = 1,2,3 配列変数は DIM 宣言する必要があるみたいなので DIM a = 1,2,3 HASHTBL aaaa = HASH_CASECARE aaaa["abs"] = a と代入した所「1」しか値が代入されていません。 以下の様に値をとれると助かります。 FOR i = 0 TO (LENGTH(aaaa) - 1) key = aaaa[i, HASH_KEY] value = aaaa[i, HASH_VAL] FOR j = 0 TO (LENGTH(value) - j) PRINT key + ": " + value[j] NEXT NEXT
332 名前:デフォルトの名無しさん mailto:sage [2019/05/30(木) 10:53:57.13 ID:tA+gABtL.net] >>311 配列宣言を間違えました。 DIM a = 1,2,3 ではなく、DIM a[] = 1,2,3 になります。 この状態で aaaa["abs"] = a すると「次元数が合いません」のエラーになります。
333 名前:デフォルトの名無しさん mailto:sage [2019/05/30(木) 12:47:43.35 ID:aNGWRP0o.net] ttps://junjun777.hatenablog.com/entry/20121022/uwsc_hashtbl_parameter ググろう
334 名前:デフォルトの名無しさん mailto:sage [2019/05/30(木) 14:11:44.19 ID:DRIu++Kq.net] SafeArray使えば?
335 名前:デフォルトの名無しさん mailto:sage [2019/05/30(木) 20:29:16.58 ID:EoC6wIfp.net] >>314 なるほど >>311 を aaaa["abs"] = SLICE(a) とすればあとはそのままいけるね ケアレスミスの FOR j = 0 TO (LENGTH(value) - j) を FOR j = 0 TO (LENGTH(value) - 1) にする必要はあるけど べつに配列の内容をJOIN()で保存して SPLIT()で取り出して再配列化するとかいう必要はないのか >>311 5ちゃんに書き込んだ行頭のスペースやタブは削除されるので 全角スペースにすれば字下げできる uwscは字下げを全角スペースのままにしても実行可能
336 名前:デフォルトの名無しさん mailto:sage [2019/06/01(土) 05:28:16.71 ID:Rgk748+T.net] CMD = "cd D:\ChangZhi\LDPlayer & adb -s 127.0.0.1:5555 shell input tap 200 200" DOSCMD(CMD) エミュレーターの画面がタップされる。 次にDOSCMDで画像認識から得られた座標を変数に置き換えて attack_x=g_imgx_x attack_y=g_imgx_y CMD = "cd D:\ChangZhi\LDPlayer & adb -s 127.0.0.1:5555 shell input tap " + (attack_x) + " " + (attack_y) print CMD DOSCMD(CMD) こちらの場合だとタップされない。 printを見る限り座標自体は送られているようなのですが動作しません どう弄ればいいのか正直分かりません。分かる方いたら教えて欲しいです
337 名前:デフォルトの名無しさん mailto:sage [2019/06/01(土) 07:07:10.14 ID:Rgk748+T.net] すいません自己解決しました ウィンドウ側の座標とエミュレーター側の座標を勘違いしてました
338 名前:デフォルトの名無しさん mailto:sage [2019/06/05(水) 05:31:25.89 ID:PDrTjnI7.net] 久々に使おうとしたところ 記録(R)ボタンで操作を記録しようとしたら 最初のウインドウ移動コード以降全く記録できませんがもう使えないのでしょうか 作者死亡の噂があるし…
339 名前:317 mailto:sage [2019/06/05(水) 05:50:47.86 ID:PDrTjnI7.net] 勘違いしてました すまそ
340 名前:デフォルトの名無しさん mailto:sage [2019/06/05(水) 05:52:56.58 ID:x4OhbciW.net] 記録できない、(記録されていないので)有効データはありませんってことは良くあるってネットで話題沸騰中 低レベル記録にすればなんとかなるかも
341 名前:デフォルトの名無しさん mailto:sage [2019/06/05(水) 07:53:42.20 ID:PDrTjnI7.net] そうなんですね 高レベル記録にすると空っぽになってしまう
342 名前:デフォルトの名無しさん mailto:sage [2019/06/05(水) 10:36:15.48 ID:S7VTZIha.net] 再インストールすれば直るよ
343 名前:デフォルトの名無しさん mailto:sage [2019/06/15(土) 18:50:19.87 ID:RDrVtj7Z.net] UWSC+Noxの環境で画像認識のマクロ使っているのですが Noxを起動しマクロを動かしながら、別のゲームをフルスクリーンで遊ぶと動かなくなってしまいます。 確認した所ボーダレスもダメで動くのはウィンドウモードでは動きました。 殆ど ttps://qiita.com/macro_no_deshi/items/dd3b3405123bad0cfe4a ここのサイトを見て作りました なにかいい手段はないでしょうか?
344 名前:デフォルトの名無しさん mailto:sage [2019/06/15(土) 19:44:32.64 ID:TdaUWTtt.net] 別ゲーをフルスクリーンにすることでディスプレイの解像度変わって動作不良みたいな事なってそう
345 名前:デフォルトの名無しさん mailto:sage [2019/06/16(日) 06:23:33.22 ID:HmejiRXR.net] 呼び出されたマクロの中にEXITEXITがあると呼び出しもとのマクロまで終了するの何とかなりませんか?
346 名前:デフォルトの名無しさん mailto:sage [2019/06/16(日) 06:35:40.69 ID:POuLEWBj.net] EXITEXITを使わなければいい そのスクリプトの構造が悪い
347 名前:デフォルトの名無しさん mailto:sage [2019/06/16(日) 07:02:22.57 ID:NHc+bxmH.net] 起動時パラメータでEXIT/EXITEXIT実行を切り分け
348 名前:デフォルトの名無しさん [2019/06/16(日) 08:15:28.28 ID:HmejiRXR.net] >>327 なるほど、そういう方法がありましたね。 ただEXITEXITの挙動にどうも納得がいかないですね。 レスには感謝いたします。
349 名前:デフォルトの名無しさん mailto:sage [2019/06/16(日) 08:48:29.51 ID:rf1Bxp8m.net] うっそーん…
350 名前:デフォルトの名無しさん mailto:sage [2019/06/16(日) 09:58:41.01 ID:EZeI/CqZ.net] >>328 CALLしたスクリプトは呼び出し元にとりこんで実行されてるだけだからね EXITEXITで呼び出し元が終了するのは通常通りの挙動 どうしてもEXITEXITで呼び出し元終了させたくないなら EXECとかDOSCMDから同期フラグ立てて呼び出すとかしないと無理
351 名前:デフォルトの名無しさん mailto:sage [2019/06/16(日) 12:50:13.33 ID:VTXg1tr4.net] どこに納得がいかないのか興味があるな…そもそもなんでEXITEXIT使ってるのか てか呼び出し元も終了させたいときはどうするつもりなのか
352 名前:デフォルトの名無しさん mailto:sage [2019/06/16(日) 14:29:18.86 ID:HmejiRXR.net] >>331 マクロの中でサブルーチンがあり、そこでサブルーチンのみを終了するときはEXIT, マクロ自体を終了するときはEXITEXITを使っています。 単独でこのマクロを動かすときは正常に動きます。しかし、他のマクロから呼び出し ループさせようとしても1回動いて呼出し元のマクロごと終了してしまうのですよ。
353 名前:デフォルトの名無しさん mailto:sage [2019/06/16(日) 14:56:07.49 ID:VTXg1tr4.net] >>332 うーん? サブルーチン側にEXITEXITある時点で作りが悪いよと言ったら怒られるかな ぶっちゃけEXITEXITなんてGOTO並みの超限定的な場面でしか使うべきじゃない命令だし サブルーチンは関数にして返り値出してメインで EXITすればいいだけだよね
354 名前:デフォルトの名無しさん mailto:sage [2019/06/16(日) 15:12:02.08 ID:VTXg1tr4.net] 例えばだけどboolean型にして 今EXITのところと最後はRETURN TRUE EXITEXITのところはRETURN FALSE 呼び出し側はこんな感じで IF !関数名() EXITEXIT 逆でもいいかな
355 名前:、まあお好みで [] [ここ壊れてます]
356 名前:デフォルトの名無しさん mailto:sage [2019/06/16(日) 15:15:47.43 ID:VTXg1tr4.net] 連投すまん 呼び出し側はEXITすれば良いって話なのにEXITEXITにしてしまったEXITに読み替えてね
357 名前:デフォルトの名無しさん mailto:sage [2019/06/16(日) 15:22:52.91 ID:HmejiRXR.net] >>333 作りの悪いマクロですみません。 レスには感謝です。
358 名前:デフォルトの名無しさん mailto:sage [2019/06/17(月) 06:07:04.67 ID:0Q+iBl83.net] EXILEに空見した
359 名前:デフォルトの名無しさん mailto:sage [2019/06/17(月) 06:23:43.98 ID:nD3RS79c.net] EXILEって気持ち悪くて大嫌いだわ
360 名前:デフォルトの名無しさん mailto:sage [2019/06/28(金) 23:06:18.54 ID:5LM4ivGb.net] NOXであるゲームにあるミニゲームの釣りマクロを作ったのですが、 画像発見からクリックまでにラグがあるみたいでクリックしたときには、釣り上げるタイミングを逃しています。 CMD0 = "cd C:\Nox\bin & nox_adb shell input touchscreen tap " + (350) + " " + (1030) ///////ヒットしたら釣り上げる ifb CHKIMGX("釣りヒット.bmp", winid, 115, 430, 230, 555, Detect_num, Threshold_delta, Target_color) print "ヒット" //画像を発見したらログに表示 DOSCMD(CMD0) //Noxに操作を送信 Sleep(0.1) こんな感じで作ってあるのですが、なにかいいアドバイスはありませんか?
361 名前:デフォルトの名無しさん [2019/06/28(金) 23:24:25.29 ID:4HrFS9y+.net] せっかくの釣りゲームなのにそんなことして楽しい?
362 名前:デフォルトの名無しさん mailto:sage [2019/06/29(土) 09:44:30.14 ID:Of7sgcsJ.net] 何処で遅延発生してるのかわからないけど ChkImgXで遅延発生してるならマッチングの範囲絞るとかマッチング画像トリムして小さくするとか ChkImgXエアプだから出来るかはしらない
363 名前:デフォルトの名無しさん mailto:sage [2019/06/29(土) 11:16:41.58 ID:eEFCox6T.net] >>339 です 調べたら、adbでの操作は遅延が出るみたいでそれが原因でした btn(left,click,400,140,10) にしたら大丈夫でした
364 名前:デフォルトの名無しさん mailto:sage [2019/06/30(日) 13:11:18.40 ID:7IuFi4Dp.net] NOXで画像認識でマクロ使っているのですが、 NOX解像度の設定が720x1280でモニタ解像度が1920x1280のためNOXの実際のウィンドウサイズは581x1060なっているため 画像認識をしても座標がずれてしまいます。今は画像認識したら予め決めた座標をクリックするようにしています NOXの解像度を540x960にすると問題なく動きます NOXの解像度を変更しないで、座標のズレを直す方法はないでしょうか?
365 名前:デフォルトの名無しさん mailto:sage [2019/06/30(日) 13:48:02.61 ID:LiwPiLEo.net] >>343 正確なサイズが分かってるなら比率を掛けるだけでは?(タイトルバー分忘れないように) モニタの縦に収まるサイズで問題ないならそれでいいじゃんとも思うが
366 名前:デフォルトの名無しさん mailto:sage [2019/06/30(日) 16:35:49.95 ID:9VVtcacA.net] ゲームの座標はクリックしてそこのドットの座標とカラーなりなんなりを記憶・登録するようにすると便利だよ どのゲームやアプリでも使いまわしが利くしね 今のところメジャーな3Dゲーム4作品程度にしか使ってないけど、自動戦闘はすべてpeekcolorで済んでる このスレで人気?のchkimgはいかにも遅そうなので出番がない
367 名前:デフォルトの名無しさん mailto:sage [2019/06/30(日) 16:56:27.56 ID:VDp+hLNV.net] Botかよ。 そんな使われ方じゃ作者が可哀想だな。
368 名前:デフォルトの名無しさん mailto:sage [2019/06/30(日) 17:10:40.85 ID:9VVtcacA.net] >>346 可哀想も何も、後から画像関係の関数がわざわざ増強されたのは作者も認知してるってこった 私はその前から同様の機能を拡張して使っていたので新関数を使ってないがね
369 名前:デフォルトの名無しさん mailto:sage [2019/06/30(日) 19:45:50.69 ID:VDp+hLNV.net] >>347 それとBotと何の関係が?
370 名前:デフォルトの名無しさん mailto:sage [2019/06/30(日) 20:46:18.95 ID:a2qR2cp+.net] >>348 役立たずは黙ってろ
371 名前:デフォルトの名無しさん [2019/06/30(日) 21:32:04.04 ID:nMEM26ki.net] 仮想マシンでUWSC
372 名前:使う際に uwsファイルや画像認識用の画像がネットワークドライブにある場合 フルパス指定しても、「Not found 中断しますか?」と聞かれ 画像認識ができません。パスにはスペースは入っていませんが、日本語は入っています。 コマンドプロンプトでネットワークドライブをZに割り当てるなど いろいろ試してみましたが、解決には至りませんでした。 ファイルが大量かつ、仮想マシンが何台もあるので、コピーなどはできません。 どなたか解決策を教えていただけないでしょうか。よろしくお願いいたします。 [] [ここ壊れてます]
373 名前:デフォルトの名無しさん [2019/06/30(日) 21:40:49.75 ID:nMEM26ki.net] >>350 です。 書き忘れていました。仮想1台1台別のuwsを使用しています。 使う画像はすべて同じなので、画像をまとめているファイルは別にあり パスを指定しなければなりません。uwsと画像が同じフォルダにある場合でも 同じような現象が起きます。
374 名前:デフォルトの名無しさん mailto:sage [2019/07/01(月) 02:10:35.83 ID:BhUQI10d.net] 試してみて ネットワークをドライブ名にマップした場合でも そのパス名に日本語が入っていても(表のように0x5Cが含まれている文字も含め) 問題は起こらななかった CHKIMG()に渡すパス名が "\\machine\folder\表現\a.bmp" のようなネットワークパスだとしても有効だった なにか勘違いしているだけで 単純にパス名が間違っているのではないか
375 名前:デフォルトの名無しさん mailto:sage [2019/07/01(月) 02:48:36.99 ID:g5QsZuxD.net] 例の記事でnoxマクロが誰でも組めるようになったせいでレベルの低下が著しいな
376 名前:デフォルトの名無しさん mailto:sage [2019/07/01(月) 07:49:38.60 ID:O1pDJEnN.net] ファイルパス・ユーザー名など、システム関係に、ASCII 以外を使ったらダメ! 半角英数字(英小文字のみ)と、アンダーバーだけを使うと安全 外人の作ったアプリは、sjis を想定していないから!
377 名前:デフォルトの名無しさん mailto:sage [2019/07/01(月) 09:50:46.62 ID:Ud6nL9Ft.net] ネットワークドライブでも問題ないし、Googleドライブでも問題ない ただ意識せずに毎秒画像見に行ってたせいで転送量がすごい
378 名前:デフォルトの名無しさん mailto:sage [2019/07/05(金) 12:06:58.79 ID:alcGemYM.net] はじめまして、このミジンコ誰か教えてください。 noxにてadbを使ってバックグラウンドにて動作するマクロを作成しようと思っております。 単純なタップやスワイプ等のコマンド送信は出来たのですが、画像認識(chkimg)のような仕組みは可能なのでしょうか? また可能ならどのようなソースの書き方をすればいいのか教えて頂けませんでしょうか? よろしくお願いします
379 名前:デフォルトの名無しさん mailto:sage [2019/07/05(金) 12:10:55.06 ID:S/iigIKp.net] このスレもしくは前スレに同じような質問や実践的内容が書いてあるよ
380 名前:デフォルトの名無しさん mailto:sage [2019/07/06(土) 11:03:00.32 ID:szQx9Drp.net] すいません!pro版でRECIEを使おうとしたらL18が存在しません とでるのは、割れだからでしょうか?それとシリアルは必ず17桁でしょうか?
381 名前:デフォルトの名無しさん mailto:sage [2019/07/06(土) 14:57:38.96 ID:s7rosYjh.net] >>358 割れだから
382 名前:デフォルトの名無しさん mailto:sage [2019/07/06(土) 15:40:43.73 ID:szQx9Drp.net] >>359 そのあと正式な登録がされてません とでるんですが
383 名前:デフォルトの名無しさん mailto:sage [2019/07/06(土) 15:48:34.88 ID:6ShlGEgv.net] よくまあ割れの質問なんかするな
384 名前:デフォルトの名無しさん mailto:sage [2019/07/06(土) 16:19:04.02 ID:f5b28dyd.net] 割れ割れによる割れ割れのための割れ割れの政治
385 名前:デフォルトの名無しさん mailto:sage [2019/07/06(土) 16:30:15.77 ID:1YLcU5Mg.net] 割れだからって言われて、それに対して正式な登録が〜って聞く意味が分からん 正式な登録してから出直してこい
386 名前:デフォルトの名無しさん mailto:sage [2019/07/06(土) 16:33:01.72 ID:o0MaAedS.net] どうせ釣りだろ はい釣れた釣れた
387 名前:デフォルトの名無しさん [2019/07/06(土) 18:05:48.63 ID:aan9FGim.net] えっ、釣りだったの!? もう通報しちゃった…
388 名前:デフォルトの名無しさん mailto:sage [2019/07/19(金) 1
] [ここ壊れてます]
389 名前:7:51:44.45 ID:+VZsoYG6.net mailto: noxのadbって別窓でフルスクリーンにすると数字がガッツリ変わるんですけど、noxの座標をどうやって調べればいいか教えてくださいお願いします [] [ここ壊れてます]
390 名前:デフォルトの名無しさん mailto:sage [2019/07/19(金) 18:04:34.79 ID:TdSe3tZb.net] windowID取得してstatusで取れない?
391 名前:デフォルトの名無しさん mailto:sage [2019/07/19(金) 19:08:09.92 ID:eawjkefv.net] 話が見えないなあ 数字ってのは座標? 別窓ってのはまさかサブディスプレイ? adbというかAndroid内で座標なんかズレやしないんだから外側からの与え方、取得の仕方に問題があるだろう ウインドウ指定で取らずデスクトップ基準で取ってるのでは? 何言ってるのかわからんレベルならスクリプト貼ってくれた方が話しがはやい
392 名前:デフォルトの名無しさん mailto:sage [2019/07/20(土) 06:23:49.81 ID:5yy6Rgji.net] >>368 ありがとう、まさしくその通りでデスクトップ基準で取ってたからフルスクリーン後にタップが行ってなかったみたいです。 現在とりあえず動かすことが出来ました。ありがとうございました
393 名前:デフォルトの名無しさん [2019/07/29(月) 10:35:08.27 ID:OnS04pQR.net] UWSC総合スレという名でディスコードのコミュニティを作ってみました。 これから仕事なのでまだ何も記載してませんが、よかったらどうぞ https://t.co/R0e07jjoOZ 👀 Rock54: Caution(BBR-MD5:b73a9cd27f0065c395082e3925dacf01)
394 名前:デフォルトの名無しさん mailto:sage [2019/07/29(月) 20:31:52.42 ID:nFx6ozTz.net] メアド集めて何する気だよ?
395 名前:デフォルトの名無しさん mailto:sage [2019/07/29(月) 21:41:55.00 ID:CSar0obt.net] https://i.imgur.com/l91swsP.jpg
396 名前:デフォルトの名無しさん mailto:sage [2019/07/30(火) 20:50:17.33 ID:P8HnQUDX.net] LDplayerでゲームを起動し、バックグラウンドで画像認識した場所をクリックという動作をしたいのですがうまくいきません。 ゲームが前面に来ている時は、画像認識して座標は取ってるがクリックせず ブラウザなどで隠れ裏面に来ている時は画像認識を失敗しています。 IDが取れてないか最初のMOUSEORG指定がおかしいのかとおもうのですが、見てもらえないでしょうか w_id = getid( GET_ACTIVE_WIN ) mouseorg( w_id ,2 ,MORG_BACK ) と w_id = getid( "ウィンドウ名" ) //w_id にアクティブウィンドウを格納 Hnd = GETCTLHND( w_id, "RenderWindow") MOUSEORG(Hnd, MORG_DIRECT, MORG_FORE) どちらを使っても上記と同じ症状です OSはWindows10 画像認識にはchkimgxを使っています。 似たような処理を作ったことある方、解決策ご教授頂けないでしょうか。
397 名前:デフォルトの名無しさん mailto:sage [2019/07/30(火) 20:58:37.57 ID:tS2fmUug.net] LDplayerは使ったことがないからわからないけど バックグラウンド操作が効かないソフトもある 似たような過去スレに似たような質問たくさんあるから一読してみて
398 名前:デフォルトの名無しさん mailto:sage [2019/08/02(金) 18:41:27.29 ID:R+vlhR/4.net] NOX用のマクロを作ろうと思ってるのですが、画像認識でつまづいています。 >>245 のサイトを参考にテスト用のuwsファイル https://dotup.org/uploda/dotup.org1911694.png を走らせた結果が https://dotup.org/uploda/dotup.org1911695.png です。 bmpファイルはsaveimgで取得したもので、PCの解像度は1920×1080、NOXの解像度は540×960、ウィンドウサイズの復元もしてあります。 この場合画像認識が上手くいかない原因としてどのような事が考えられますか?
399 名前:デフォルトの名無しさん mailto:sage [2019/08/02(金) 19:40:31.57 ID:R+vlhR/4.net] >>375 ちなみに IFB CHKIMG("テスト用.bmp") MSGBOX("画像認識に成功しました。<#CR>G_IMG_X = " + G_IMG_X + "<#CR>G_IMG_Y = " + G_IMG_Y) で画面全体を検索するとNOX上の画像がきちんと認識されます。
400 名前:デフォルトの名無しさん mailto:sage [2019/08/02(金) 20:36:33.96 ID:zrwPHBgv.net] あのさあ コード画像で
401 名前:貼るとか、試すのに全部手打ちさせる気? 判定画像もどんなのか分からんし なので全く試してないが単に縦横間違ってるとかそんなレベルじゃなかろうね [] [ここ壊れてます]
402 名前:デフォルトの名無しさん mailto:sage [2019/08/02(金) 21:02:16.41 ID:R+vlhR/4.net] >>377 申し訳ないです。 長くなってしまうので画像でと思ったのですが、言われてみれば仰るとおりでした。 改行数の関係で少し変わりますが下のコードです。 winid = getid("NoxPlayer") //ゲームウィンドウを名前で検索して取得 winPosX = STATUS(winid,ST_X) winPosY = STATUS(winid,ST_Y) winsizeX = STATUS(winid,ST_WIDTH) winsizeY = STATUS(winid,ST_HEIGHT) print "位置X 位置Y 幅 高さ" print winPosX + " " + winPosY + " " + winsizeX + " " + winsizeY CALL ChkImgX.uws x1 = 0 y1 = 0 x2 = 540 y2 = 994 Detect_num = 1 Threshold_delta =20 Target_color = -1 startup_chkimgx() //CHKIMGX関数開始 While True //Wendまでの処理を繰り返す ifb CHKIMGX("テスト用.bmp", winid, x1, y1, x2, y2, Detect_num, Threshold_delta, Target_color) print "テスト用を発見しました。" //画像を発見したらログに表示 else //上記の条件全てに当てはまらなかった場合 print "画像が見つかりません" //メッセージを出す。 endif //ifbの処理の終了地点 sleep(3) //()内の秒数待機 Wend
403 名前:デフォルトの名無しさん mailto:sage [2019/08/02(金) 21:04:55.14 ID:R+vlhR/4.net] >>377 デスクトップ左端に https://dotup.org/uploda/dotup.org1911827.jpg こう置かれてるNoxのAppCenterのアイコン(https://dotup.org/uploda/dotup.org1911829.bmp.html)で認識させてます
404 名前:デフォルトの名無しさん mailto:sage [2019/08/02(金) 22:37:11.99 ID:zrwPHBgv.net] うーん? コードは違和感ないけど 試しにwinidじゃなくて0を与えるとどうなる? ※chkimgと同じく全画面という指定 後はsaveimgじゃなくてprintscreenで画像作ってみるとか
405 名前:デフォルトの名無しさん mailto:sage [2019/08/02(金) 23:11:18.56 ID:R+vlhR/4.net] >>380 winid = 0って書き方で大丈夫ですかね? プリントスクリーンで作ってwinid = 0で試してみると認識されたので画像位置をクリックするように書きえ変えてみたのですが実際にはクリックされませんでした。
406 名前:デフォルトの名無しさん mailto:sage [2019/08/02(金) 23:14:15.77 ID:R+vlhR/4.net] >>380 winid = 0 CALL ChkImgX.uws x1 = 0 y1 = 0 x2 = 0 y2 = 0 Detect_num = 1 Threshold_delta =20 Target_color = -1 startup_chkimgx() //CHKIMGX関数開始 While True //Wendまでの処理を繰り返す ifb CHKIMGX("テスト用.bmp", winid, x1, y1, x2, y2, Detect_num, Threshold_delta, Target_color) print "テスト用を発見しました。" //画像を発見したらログに表示 deffence_x=g_imgx_x deffence_y=g_imgx_y //画像認識で取得した値を代入してDOSCMDで送る内容を作成 CMD = "cd C:\Program Files (x86)\Nox\bin & nox_adb shell input touchscreen tap " + (deffence_x) + " " + (deffence_y) print CMD //CMDの内容を確認 DOSCMD(CMD) //Noxに操作を送信 else //上記の条件全てに当てはまらなかった場合 print "画像が見つかりません" //メッセージを出す。 endif //ifbの処理の終了地点 sleep(3) //()内の秒数待機 Wend これを走らせると テスト用を発見しました。 cd C:\Program Files (x86)\Nox\bin & nox_adb shell input touchscreen tap 1358 556 と出るのですが実際にはクリックされてない状況です。
407 名前:デフォルトの名無しさん mailto:sage [2019/08/03(土) 00:23:17.82 ID:/xlhahKC.net] windid = 0 のときはデスクトップの座標 winid が getid()で得た値で それが1以上なら そのウィンドウの座標 この場合はwinidに0を渡して返ってきた座標からは ウィンドウのx,y位置とさらに実際の表示領域までの 枠幅を引いてやらないといけない
408 名前:デフォルトの名無しさん mailto:sage [2019/08/03(土) 00:49:19.44 ID:/xlhahKC.net] getid()でとっていた値が対象ウィンドウの ものでなかった場合を除いてだが winidに0を指定しただけで認識できるというのは 不思議なので検索領域が広くなったことで単に 違った箇所が誤認識されているのかも
409 名前:デフォルトの名無しさん mailto:sage [2019/08/03(土) 01:11:14.59 ID:U4dG53It.net] 別にwinid=0じゃなくて直接0で良かったんだけど、まあいいや で0と画像の作り方両方同時にするんじゃなくて片方ずつではどう? 問題を切り分けたい ちなみに仮に今の方法でadbにしたいならその座標からウインドウの座標を引いて後タイトルバー分も引けば出来ることはできる
410 名前:デフォルトの名無しさん mailto:sage [2019/08/03(土) 01:12:38.38 ID:lOZq4lm8.net] >>384 winid=0の時はNoxを移動しても移動先にあるアイコンの座標を出してくれるので誤認識って事は無さそうです どうもgetid()で対象ウィンドウの値が取れていない気がするのですが
411 名前:>>379 の画像のようにNoxの左上にNoxPlayerとあればgetid("NoxPlayer")っていう認識で間違ってないですか? エミュレーターの追加をしていないのでこのNoxPlayerしかないのですが… [] [ここ壊れてます]
412 名前:デフォルトの名無しさん mailto:sage [2019/08/03(土) 01:19:42.46 ID:Ks0WXhsa.net] >>383 が既に指摘してるけどgetidの戻り値はいくつなのよ
413 名前:デフォルトの名無しさん mailto:sage [2019/08/03(土) 01:22:44.43 ID:U4dG53It.net] >>387 >>375 ウインドウは取れてる chkimgx時に何か変なようだけど何かなあ ウインドウがアクティブじゃなくてもいいはずなんだけどね
414 名前:デフォルトの名無しさん mailto:sage [2019/08/03(土) 01:54:21.96 ID:lOZq4lm8.net] >>385 0にする前のコードでsaveimg、WinShot、プリントスクリーンで試しても変わらずでした 逆に0にした後はどの方法で作った画像でも認識はされます 皆さん色々とご意見ありがとうございます こういうプログラム的な事をするのが初めてなので煩わせてしまって申し訳ない
415 名前:デフォルトの名無しさん mailto:sage [2019/08/03(土) 01:57:35.42 ID:/xlhahKC.net] >>386 >Noxの左上にNoxPlayerとあればgetid("NoxPlayer")っていう認識で間違ってないですか? たいていそうだが、必ずそうだとはいえない ヘルプのGETIDを見ると タイトル: 識別したいウィンドウのタイトル (タイトルの一部分だけでもOK) なので とれるIDは "NoxPlayer_1.txt"や"NoxPlayerについて"などのうち最初にみつけたもの また " "などが含まれているのに気づかない場合もある また >>379 の画像を見ると Windowsの標準的な形式のウィンドウスタイルではなく タイトルバー部分に関して独自の描画をしているようなので 内部的なウィンドウタイトルがNoxPlayerで始まっていない可能性もある GETID()でとった値の STATUS(id,ST_X),STATUS(id,ST_Y)などはすでに見ていて それらしい値になっているのだと思うが いちおう STATUS(id,ST_CLASS)がそれらしい名前になっているか 見たほうがいいかも さらに GETALLWIN( ) でとったリストの中に"NoxPlayer"で始まるウィンドウタイトルがほかにないことを 確かめれば完璧
416 名前:デフォルトの名無しさん mailto:sage [2019/08/03(土) 02:38:29.78 ID:lOZq4lm8.net] >>390 fukidasi("ゲームウィンドウ上でSキー") //Sキー入力待ちの告知 While !(GETKEYSTATE(VK_S)) //Sキー入力まで無限ループ sleep(0.1) Wend fukidasi() //入力待ち告知の吹き出しを消す winid = getid(GET_ACTIVE_WIN) //Sを押したウィンドウでIDが取得されるので確実に取得できる cls = STATUS(winid, ST_class) title = STATUS(winid, ST_title) print "ウィンドウ名は" + title print "ウィンドウIDは" + winid print "ウィンドウクラス名は" + cls の結果が ウィンドウ名はNoxPlayer ウィンドウIDは1 ウィンドウクラス名はQt5QWindowIcon n = GETALLWIN() PRINT "ウィンドウの数:" + n IFB n > 0 FOR i = 0 TO (n - 1) PRINT ALL_WIN_ID[i] + ":" + STATUS(ALL_WIN_ID[i], ST_TITLE) NEXT ELSE PRINT "ウィンドウが見つかりませんでした" ENDIF で全ウィンドウを取得してみた所NoxPlayerは一つだけでした にもかかわらず0以外では認識されずどうしたものかと…
417 名前:デフォルトの名無しさん mailto:sage [2019/08/03(土) 03:03:14.23 ID:U4dG53It.net] さて仕方ないということで>>378 のままで実行してみると普通に成功するね (テスト用を発見しました。が3秒毎に出る) となると基本的なところを見直そう 環境としてはWindows10? 念のためUWSCのバージョンは5.3.0.2? あと念のためNoxの設定でレンダリングモードを変えたりしてみた? 自動化ツールUWSC使いよ集まれ21 756- によれば一部の環境でOpenGLではうまく動作しないなどあるらしいよ (Windowsなのかグラボ依存なのかはっきりとはしない)
418 名前:デフォルトの名無しさん mailto:sage [2019/08/03(土) 08:20:35.61 ID:OFX4DJO3.net] >>391 >ウィンドウクラス名はQt5QWindowIcon このクラス名を見る限り実態は別にあるんじゃなかろうか
419 名前:デフォルトの名無しさん mailto:sage [2019/08/03(土) 08:43:36.26 ID:OFX4DJO3.net] >>393 あ失礼 Qt5QWindowIconのクラス名はこのスレ
420 名前:ノも過去に出てきていた それであっているようですね [] [ここ壊れてます]
421 名前:デフォルトの名無しさん mailto:sage [2019/08/03(土) 12:32:06.93 ID:lOZq4lm8.net] >>392 すみません、理由は分からないのですが動くようになりました というのも訳あってWin7にダウングレードしていたのですが、Win10に戻した所画像が認識されるようになりました ご協力いただいた皆様本当にありがとうございました
422 名前:デフォルトの名無しさん mailto:sage [2019/08/04(日) 13:50:12.50 ID:z/hKv82K.net] 画像認識のループマクロで画像が認識されず一定回数ループした場合に別の処理をさせたいのですがどのような手法をとればいいのでしょうか?
423 名前:デフォルトの名無しさん mailto:sage [2019/08/04(日) 14:43:10.09 ID:YK9Zosi+.net] 画像が認識できないのとループ回数で処理分けたいのは別の話だし手法というほどもない 自分がやるのならwhileによるループ内に画像認識とカウンタで分岐するifなりselectなりで作るが 後のことはそのうまくいかないスクリプト見ないと何が悪いのかは分からん
424 名前:デフォルトの名無しさん mailto:sage [2019/08/10(土) 04:37:33.43 ID:7UvH5Dc6.net] >一定回数ループ 本当にやりたい処理はそうじゃないだろう
425 名前:デフォルトの名無しさん mailto:sage [2019/08/25(日) 02:21:47.46 ID:02nOh0YG.net] noxにchkimgx走らせたらたまにx:-1332736054 y:399917186 とかとんでもない座標が帰ってくるのですが原因わかりません助けてください
426 名前:デフォルトの名無しさん mailto:sage [2019/08/25(日) 04:06:47.43 ID:YF3o46xU.net] 分からないものは分からないで済ませる方法を考えよう たまに変になるだけならxyが指定範囲外ならもう一度走らせればいい
427 名前:デフォルトの名無しさん [2019/08/26(月) 14:35:17.89 ID:yberui11.net] 確かにそうですね・・・異常値の検知やってみますありがとうございました
428 名前:デフォルトの名無しさん [2019/08/26(月) 22:00:32.81 ID:D4IbCpMk.net] DOSCMDを管理者として実行する方法ありますか?Windows7です
429 名前:デフォルトの名無しさん mailto:sage [2019/08/26(月) 22:10:52.63 ID:mEUMz2+C.net] そのままググれ
430 名前:デフォルトの名無しさん mailto:sage [2019/08/26(月) 22:21:25.54 ID:D4IbCpMk.net] UWSC.exeの設定を変更したあとUWSCを再起動してなかったわ ありがとう
431 名前:デフォルトの名無しさん mailto:sage [2019/08/31(土) 15:41:17.68 ID:/dYnoZCL.net] とあるフリーゲームのセーブデータのバックアップを取りたいのですが、1時間毎にファイルサイズを比較して、変化があればバックアップを取るということをしたいです。 (現在はファイルサイズの変化に関わらずバックアップを取るようにしているため、容量がどんどん増えています) ですが、ファイルサイズの取得方法がググってもイマイチわかりませんでした。 何方か教えていただけませんか?