1 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 12:13:49.92 ID:an35jPjo.net] UWSC初心者用スレです わかってる人はこっち 自動化ツールUWSC使いよ集まれ21 egg.5ch.net/test/read.cgi/software/1533818531/ 降臨される神々においては相手を人と思わず猿と思し召されるよう 何卒お願い申し上げます
2 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 12:14:19.87 ID:an35jPjo.net] ●ダウンロード https://www.vector.co.jp/soft/winnt/util/se115105.html https://web.archive.org/web/20180125141222/www.uwsc.info/download.html ●サンプル www.uwsc.info/sample.html ●FAQ www.uwsc.info/faq.html
3 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 12:15:03.20 ID:an35jPjo.net] ●UWSC 掲示板(※作成依頼掲示版ではありません) 質問の際には自力で作ったスクリプトを晒すか、 具体的な解らない場所を提示すること 上級者が常駐、たまに作者も現れるため過去ログには有益情報の宝庫 www3.rocketbbs.com/13/bbs.cgi?id=umiumi ●UWSC - Wikipedia ja.wikipedia.org/wiki/UWSC
4 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 12:15:36.86 ID:an35jPjo.net] ●使い方・基礎解説学習サイト uwsc.g.hatena.ne.jp/cx20/20100131/1264938584 www.confrage.com/uwsc/ necro.jp/dev/uwsc/ canal22.org/ big.tm.land.to/handbook/uwsc.htm www.game-rev.com/review/gameut/uwsc.html
5 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 12:16:00.59 ID:an35jPjo.net] ●スクリプトテンプレサイト siromasa.html.xdomain.jp/uwsc/index.html scripts.web.fc2.com/ nem.symphonic-net.com/uwsct/0610uwsct.html iriyak.adam.ne.jp/uwsc.html
6 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 12:22:09.57 ID:idPCtow3.net] >>1 おー立ててくれたのか プログラム板に立てたのはあえて?
7 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 13:25:23.39 ID:OJN25ACF.net] 板誤爆だろ
8 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 14:22:22.29 ID:+VppQ0pu.net] 改めて nox(最新)でゲームを自動化しようとしてるのですが、マウスクリックなどの操作を受け付けてくれないですし、記録する時も記録出来ません。 何かやり方あるのでしょうか あとchromeで裏マクロ作ろうとしてますが画像認識してくれません 試しにsaveimgでid クロームのハンドル webglのハンドルでそれぞれ確認したら webglハンドルはブラウザフレームだけ取得して中身の画面は真っ黒 他はそもそも現在の画面しか取り込んでくれてないです。 よろしくお願いします
9 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 16:37:22.58 ID:d+NkHGTT.net] ん〜プログラム板がよかったのかソフトウェア板がよかったのか微妙
10 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 17:38:14.77 ID:ZwyUHgZx.net] >>8 noxは直接クリックはできないのでadb使う 向こうのスレに参考スクリプトはあるしググれば出てくる 記録はできないが、単純操作ならnoxのスクリプトレコード使うか、座標系の元値としてだけ使ってもいいかも? やろうと思えば変換も出来そうだけどね Chromeはウインドウ指定で使うにはかなり難しい 過去スレを頑張って読むか諦めた方がいい
11 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 20:50:55.47 ID:lHcMF3Ar.net] >>8 自分で考えろ 聞いて解決するな 死ね 殺す
12 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 21:04:24.34 ID:DtR7Krcw.net] 早速スレつぶしに来ててワロタ とにかく罵倒したくて仕方ないんだな
13 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 23:18:39.85 ID:an35jPjo.net] 神の啓示には感謝しなきゃダメだよ
14 名前:デフォルトの名無しさん mailto:sage [2018/09/25(火) 11:04:29.32 ID:J1FBTwPW.net] 初心者スレとか嘘つかずに素直にゲームマクロスレとかにすりゃいいのに
15 名前:デフォルトの名無しさん mailto:sage [2018/09/25(火) 11:20:22.77 ID:HpChLXGF.net] 気になって仕方なくて覗きに来たのかw
16 名前:デフォルトの名無しさん mailto:sage [2018/09/25(火) 11:32:00.41 ID:KxeqxPCQ.net] 僕はもう追いかけはしない
17 名前:デフォルトの名無しさん [2018/09/25(火) 19:02:27.87 ID:qc/hnwWX.net] ありがとうございます とりあえずfirefox系列ならバックグラウンドで画像確認とか出来たのでこちらをベースにします
18 名前:デフォルトの名無しさん mailto:sage [2018/09/25(火) 19:16:03.81 ID:GnoTTlW7.net] >>1 >UWSC初心者用スレ ここはプログラム板なんだから 初心者用スレがソフト板で スクリプトを書きまくるスレが こっちにある方が自然な住み分けだと思う まあ住民視線だと 隔離で他板に飛ばす方が良いんだろうけど なおスクリプトを書く方が偉いみたいな 思想で言っている訳ではない 利便性で言っているだけ
19 名前:デフォルトの名無しさん mailto:sage [2018/09/25(火) 22:41:38.51 ID:tvEhsayp.net] >>18 全く仰る通りで。板の住人には誠に申し訳ない。
20 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 00:29:25.56 ID:Mnfitxfv.net] まあ細かいことはええやろ 向こうはUWSCというソフト全般の話する所 こっちはUWSC初心者がプログラムの話する所 とか適当に建前言っとけば問題ない
21 名前:デフォルトの名無しさん [2018/09/30(日) 21:33:27.14 ID:C+d3VFtL.net] すみません 上に書いてあるadbって何の事ですか
22 名前:デフォルトの名無しさん mailto:sage [2018/10/01(月) 05:32:35.05 ID:2PPz6CoJ.net] 「android adb」で検索!
23 名前:デフォルトの名無しさん mailto:sage [2018/10/01(月) 14:21:00.29 ID:cVCKaASP.net] 検索促すだけじゃあっちと変わらんやん(笑) 調べりゃわかることでも懇切丁寧に教えてやるためにスレ建てたんじゃなかったの?(笑)
24 名前:デフォルトの名無しさん mailto:sage [2018/10/01(月) 15:03:21.02 ID:k8diFUao.net] わざわざこっちもチエックして煽りに来てんのか 重症やな
25 名前:デフォルトの名無しさん mailto:sage [2018/10/01(月) 15:04:35.85 ID:BPii8/gs.net] 向こうにもリンク貼っておいて何言ってんだこの馬鹿は
26 名前:デフォルトの名無しさん [2018/10/01(月) 15:08:39.88 ID:Gm5J3aUY.net] いや真面目な話、検索しろじゃあっちと変わらなくね? このスレなんのために立てたの?
27 名前:デフォルトの名無しさん mailto:sage [2018/10/01(月) 19:14:57.65 ID:dpHWHOw9.net] 真面目な話、adbは板違いなので
28 名前:デフォルトの名無しさん mailto:sage [2018/10/01(月) 19:50:08.00 ID:Fhb8wAZ6.net] ウィンドウ上の定点を監視するために、saveimg(,gid) で クリップボードにキャプチャした画像の PeekColor(x, y,,TRUE) を取ってるんですが、時々 -1 が返ってくる。 うまく判定できていないのだろうと思って、PeekColor(x, y,COL_R,TRUE) もとってみたけど、こちらは時々 0 が返ってくる。 定点の仕様として、R が 0 にはならないのだけれど、何らかの例外がある場合、-1 や 0 を返す仕様でしょうか? 切り分けとして、-1 や 0 が返ってきたときのキャプチャを保存して確認してみたけど、色がついている(R も存在)しているので 対応指針が決まりません。 どのような時に、-1 や特殊な(?)0 が返ってくるのかどなたかご存知でしょうか?
29 名前:デフォルトの名無しさん mailto:sage [2018/10/01(月) 20:13:15.44 ID:AvNlBg/g.net] >>28 その異常値が返ってきたときのキャプチャをPeekColorかけるとやはり異常値返ってくるので? 返ってくる場合は画像よく見て分析するしかないかも 返ってこない場合は非同期でグローバル領域共有しておかしなことになってないか確認する 懸念として異常発生時のキャプチャが取れてるのかは疑問だけど…(描画乱れがランダムに起こってるんだとしたら判定後に撮っても遅い) 後は異常時にタイムスタンプ付きでログ出して周期的なものか、そのタイミング何か重い処理してないかなどを分析する
30 名前:デフォルトの名無しさん mailto:sage [2018/10/01(月) 20:26:28.02 ID:Fhb8wAZ6.net] >>29 キャプチャした内容(クリップボードに取り込んでた内容)を peekColor かけても、問題ないんですよねぇ。 グローバル領域かぁ。。。分からんw > 懸念として異常発生時のキャプチャが取れてるのかは疑問だけど… この辺の切り分けができるように、クリップボード使用してたんですけど、分からんねぇ。困った^^; もうちょっと調べてみます。ありがと。
31 名前:デフォルトの名無しさん mailto:sage [2018/10/01(月) 21:06:45.73 ID:k8diFUao.net] >>26 検索しろでも懇切丁寧に教えてあげるのでも好きにすりゃいいんじゃねぇの そういう所に変にこだわって肝心のuwscの話から脱線するのがウザくて離れたんだから
32 名前:デフォルトの名無しさん mailto:sage [2018/10/01(月) 21:54:24.74 ID:SSJgbJ3B.net] >>29 そもそもクリップボードから
33 名前:取得って確実性あんの? 他で使ってる可能性は?入っているデータ型は都度確認してる? あんま賢いやり方とは思えないが [] [ここ壊れてます]
34 名前:デフォルトの名無しさん mailto:sage [2018/10/01(月) 22:25:15.19 ID:fZlkxeb/.net] chkimgxをAutoItなどに移植って可能ですかね?
35 名前:デフォルトの名無しさん mailto:sage [2018/10/02(火) 00:28:05.04 ID:me1+gMvb.net] >>33 元々C++で作ってるらしいからそっちに明るいならいけるんじゃないか
36 名前:デフォルトの名無しさん mailto:sage [2018/10/02(火) 01:10:43.02 ID:HAR2y5TT.net] 元々OpenCVの関数叩いてるだけだし
37 名前:デフォルトの名無しさん mailto:あ [2018/10/03(水) 19:21:37.26 ID:srylDUsH.net] すみません While !chkimg("gazou",0,,,,,,IMG_MSK_BGR4) BTN(LEFT,CLICK,G_IMG_X,G_IMG_Y) ifb SLEEP(10) then break endif WEND と書いて10秒待っても画像が無かったらループを脱出させようとしたのですが脱出できません サンプルでは while true fukidasi ("ENDキーで終了",100,100) ifb getkeystate(vk_end) then break endif wend とエンドキー押せば止まるのでこれを真似てみたのですが よかったら分かるかたいませんでしょうか? よろしくお願いします。
38 名前:デフォルトの名無しさん mailto:sage [2018/10/03(水) 19:57:21.83 ID:yx3nQSMn.net] start = gettime() While gettime() - start < 10 if chkimg("gazou",0,,,,,,IMG_MSK_BGR4) BTN(LEFT,CLICK,G_IMG_X,G_IMG_Y) break endif WEND
39 名前:デフォルトの名無しさん mailto:sage [2018/10/03(水) 20:00:22.12 ID:KtepAYQT.net] if/ifbの次には真偽値を置く 今のコードだとタイマーが置かれてて意味がわからないので無視されている
40 名前:デフォルトの名無しさん mailto:sage [2018/10/03(水) 20:08:02.96 ID:eg7MKqyj.net] UWSC × Noxでゲームマクロの入門編の記事を作成しました。 nox_adbについてサンプルコード付きで書いている記事は今までなかったと思うので、初心者さんが来た時にでも使ってください。 https://qiita.com/macro_no_deshi/items/dd3b3405123bad0cfe4a
41 名前:デフォルトの名無しさん mailto:あ [2018/10/03(水) 20:35:01.96 ID:srylDUsH.net] >>37 >>38 神様助かりました!一日中試してたのにおかげで無事できました!ありがとうございます!
42 名前:デフォルトの名無しさん mailto:s [2018/10/09(火) 08:09:46.16 ID:dgVIN+8N.net] 保守s
43 名前:デフォルトの名無しさん mailto:sage [2018/10/13(土) 16:29:34.71 ID:0Iqx+GXq.net] 友人のために作成したスクリプトで、おかしな挙動が出ています。 ACW(gid,0,0,,) として、左上隅にウィンドウを移動させ、そこを基点に特定座標の色を拾うスクリプトを書きました。 が、時々拾えなくなると言われ、切り分けのために色を拾うタイミングで、キャプチャを実施しました。 キャプチャ結果を見ると、時々、ウィンドウが移動しているように見受けられます。 友人の操作を疑っているのですが、触っていないと言われ、原因を探っています。 ACW 以外に、ウィンドウを動かす事に注意しなければならない関数は存在しますか? 昼飯で引き受けたのですが、ずいぶん高くついてしまっています。 ヒントでもあれば教えてください。
44 名前:デフォルトの名無しさん mailto:sage [2018/10/13(土) 20:36:39.68 ID:M9OwAK6A.net] >>42 情報が少なすぎて何とも言えないが…まず、どう動くの? その場所からいなくなるという意味ではCTRLWINでもBTNでも犯人になり得るがそういう話し? 対策は面倒ならしつこくACWするか、根本対応としてMOUSEORG使うかってところが今のところ浮かぶけど もうちょっと差し支えない範囲でコードの中身見ないと分からんことが多すぎるよ
45 名前:デフォルトの名無しさん mailto:sage [2018/10/13(土) 20:38:31.06 ID:zXFRfhuI.net] 念のため前後も確認したい
46 名前:42 mailto:sage [2018/10/13(土) 21:50:49.06 ID:0Iqx+GXq.net] 定点観測して、ログを吐き出すスクリプトなんで、ざっくりというと以下な感じ。 ・ウィンドウを左上に移動 ・特定座標の色を変数として記憶 ・記憶した色のパターンが特定の条件に合致すれば、ログに出力 キーボード操作も、マウス操作も無くて、処理としては色の監視とその条件用の演算と出力です。 元のスクリプトを簡潔にして画面キャプチャのために作成した切り分けのためのスクリプトから 更に演算処理を全部抜くと OPTION EXPLICIT, TOPSTOPFORM OPTION LOGFILE = 3 OPTION LOGPATH = ".\" logprint(TRUE) dim gid = getid("hoge") ACW(gid,0,0,WINDOW_SIZEx,WINDOW_SIZEy) for id = 0 to 11 FUKIDASI(x+","+y x, y) saveimg("debug_"+ (id) + ".bmp",gid,,,,,,,IMG_FORE) print x+","+y sleep(2) next こんな感じ。saveimg してるところで、本来は色の識別してます。 この FUKIDASI の位置が、キャプチャ画面上でずれるんです。。。 手元の PC だと再現しないんですよねぇ^^; なにか怪しい箇所があれば、ぜひ教えてください。
47 名前:デフォルトの名無しさん mailto:sage [2018/10/13(土) 23:52:53.09 ID:4mi4Ve5O.net] 再現しないならその友人が怪しいだろ 本当に友人なんですかね
48 名前:デフォルトの名無しさん mailto:sage [2018/10/13(土) 23:55:44.28 ID:M9OwAK6A.net] >>45 で、結局どう動くの? ワープしてデスクトップから消え失せるの? 超高速で縦横無尽に動き回るの?
49 名前:デフォルトの名無しさん mailto:sage [2018/10/14(日) 00:39:58.87 ID:TOccAP8t.net] >>45 昨日もうひとつのUWSCスレでふきだしの話してた人? FUKIDASIのxとyってどうやって算出してるの? 元のスクリプトのほうでループのなかでxとyの値が更新されて FUKIDASIの位置が変わってるんじゃないの? それ以外吹き出しが動く要素がなさそうにおもうんだけど それとUWSC以外を疑うなら画面全体を動画キャプチャしたら?
50 名前:45 mailto:sage [2018/10/14(日) 07:47:15.28 ID:pryZUL3Y.net] もう一つの方の人とは別です。くちばしの形状は気にしてないんでw FUKIDASI の xy は色識別の座標です。 画面にタイル状に並んだ画像の位置情報を算出してます。 イメージとしては、ブラウザ上に同じフォーマットの画像が12個並んでいて、その特定座標の色を抜き出している感じです。 12箇所の基点座標の割り出しと、それに追加する相対座標を追加する計算をしています。 で、ぞの位置がずれていないか、FUKIDASI 出してざっくり位置確認をしたんですが、 ループの中で撮った12枚の画像で、FUKIDASI が本来の位置に無いものがある。 何度か取り直してもらったんですが、都度少しづつズレるんです。 ズレは、ちゃんと計測してないけど、xy それぞれの方向に 1 から 5 px 程度。 ループ中全部ズレるんではなくて、途中でズレるとか、最初にズレてそのままとか。 今の所、ループ内で複数回ズレた事は観測できてません(まぁ試行回数もそれほど多くないですけど) IMG_FORE なんで、「stop ボタン」も写り込んでるんですが、そっちもズレるんでウィンドウが動いてるって判断してます。 まぁ、何が起きてるか全然分からんので、次の切り分けでは、画面全体のキャプチャ撮ろうとは思っていますが。。。 UWSC 以外は今の所疑ってませんでした。ちょっと方法を考えてみます。
51 名前:デフォルトの名無しさん mailto:sage [2018/10/14(日) 07:48:36.02 ID:pryZUL3Y.net] >>46 怪しいよねぇ^^; リモートで接続させろって言ってるんだけど、見られたくないそうで。。。 めんどいwww
52 名前:デフォルトの名無しさん mailto:sage [2018/10/14(日) 10:17:34.99 ID:TOccAP8t.net] >>49 >>45 では FUKIDASI の位置が、キャプチャ画面上でずれるんです。。。と言ってるのに >>49 ではウィンドウが動いてるって判断してますと言ってるし結局何がずれてんの? ずれが1〜5pxなら人間が動かしてるとは考えづらい そうするとスクリプトの座標部分が変化してるんじゃないかと疑うんだけど 肝心の座標を算出するスクリプトが書かれてないからなんとも言えない なので要領を得ないから提案としては fukidasiなりpeekcolorに使うxとyを定数で定義 ウィンドウとfukidasiの座標を監視して変化を検知したらログに残して ACWで元の位置に戻してからpeekcolorを実行するようにしてはどうだろう
53 名前:49 mailto:sage [2018/10/14(日) 11:26:33.14 ID:pryZUL3Y.net] ウィンドウが動いてるんで、座標指定して表示している FUKIDASI がキャプチャ上でズレているって事です。 FUKIDASI には座標を表示しているので、FUKIDASI の座標と計算は正しいと思う。 移動を監視するのが良さそうですね。 ありがとう!
54 名前:デフォルトの名無しさん mailto:sage [2018/10/14(日) 15:51:35.35 ID:flalwaHT.net] >>49 えーと、fukidasiもデバッグ用ということ? >>43 でも書いたけどウインドウ基準で相対位置決められるならMOUSEORG使えばって感じなんだけどなんかダメな要件があるので?
55 名前:デフォルトの名無しさん mailto:sage [2018/10/14(日) 16:45:43.47 ID:pryZUL3Y.net] FUKIDASI はデバッグ用途ですね。 元々原因不明な色の抽出がうまくいかないことがあったんで、切り分けの一環として採用しています。 そのおかげで、ウィンドウが少し移動していることが判明しました。 MOUSEORG はあまり使用したくないって程度の理由で採用してません。 今回みたいに原因不明の時に人を疑いたくなるんで、できるだけ人の操作から切り離して実行しようかと。
56 名前:デフォルトの名無しさん mailto:sage [2018/10/14(日) 21:22:37.96 ID:flalwaHT.net] >>54 よく分からないけど使う側を信用できないなら、なおさら動かされてもリカバリできるようにするものでは? てかウインドウが動く原因は実のところ色々ある(UWSC外) ・画面の解像度変更、最大化以外の手段でフルスクリーン、パワポのプレビュー ・タブレットなら縦横動かした時 ・デスクトップのウインドウテーマ変更 ・グラボのドライバアップデート これをやってないか、やったらいかんとか再起動せよと友人に言い含めるのとスクリプトで対策するのはどっちが楽? (まぁ一部は再起動した方がいいと思うが) まぁやりたくないならどうぞご自由に、自分からは特に強制するつもりはないのでね
57 名前:デフォルトの名無しさん [2018/10/14(日) 23:41:27.00 ID:bd+C6J+S.net] 質問です (1)画像1を認識したらスタートして画像4をクリックするマクロA (2)画像2を認識したらスタートして画像2をクリックするマクロB (3)画像3を認識したらスタートする画像3をクリックするマクロC (画像1〜3が同時に表示されることはなく、全てのマクロを常に起動しておきたい) このようなプログラムを作成したいのですが、お知恵を貸してください ttps://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q11135040611 ここを参考に作成してみたのですが、(1)のマクロしか動作してくれません https://i.imgur.com/0G5273Y.jpg
58 名前:デフォルトの名無しさん mailto:sage [2018/10/14(日) 23:52:58.88 ID:flalwaHT.net] >>56 IFBの括りが悪い すべてが最初のIFBの中なのでその画像がある時以外は何も動かない
59 名前:デフォルトの名無しさん [2018/10/15(月) 02:43:39.99 ID:9JA9/qag.net] たしかに1.bmpの1行とENDIFの1つを消したら2と3(4の画像が出たら4も)が動作しました あとは添付の画像のように修正してみました 一見無事に動作しているのですがループが早すぎて気づいていないだけ…? https://i.imgur.com/mnpJfXM.jpg
60 名前:デフォルトの名無しさん [2018/10/17(水) 01:08:31.52 ID:rmV2ISLZ.net] CALLでの呼び出しについて教えてください 「マクロ1→マクロ2」の場合、マクロ2がループしていたらマクロ1に戻りませんよね? いまはマクロ2の最後にマクロ1に戻るようにCALLを使用して、 「マクロ1→マクロ2→マクロ1」という処理にして動作させているのですが、 「マクロ1→マクロ2→マクロ1」の他に「マクロ3→マクロ2→マクロ3」や 「マクロ4→マクロ2→マクロ4」というように、呼び出し元に戻すにはどうすれば良いのでしょうか それとも「マクロ1→マクロ2-1→マクロ1」、「マクロ3→マクロ2-3→マクロ3」のように別に作らないといけないのでしょうか
61 名前:デフォルトの名無しさん mailto:sage [2018/10/17(水) 01:17:26.70 ID:hVOihSbt.net] 沢山のマグロがどうした まあ落ち着け
62 名前:デフォルトの名無しさん mailto:sage [2018/10/17(水) 05:11:55.48 ID:UKmGEDWi.net] >>59 >マクロ2の最後にマクロ1に戻るようにCALL 勝手に呼び出し元に戻るのでCALLはいらない というかCALLは本来インポート/インクルードに近いもので関数のように再利用するものじゃない 処理をまとめて関数化するように、関数群をまとめたファイルをCALLすることで後は好きなように関数呼び出しが出来るようになる その際関数化してない部分がcall時に実行されるから外部スクリプトの呼び出しのように使うことができるというだけ a.uws public INT_A INT_A = 1 function A() INT_A = INT_A + 1 fend ---- main.uws call a.uws // <-a.uwsc全体が読み込まれINT_Aの宣言と初期化だけ行われ終了する(関数化部分は自動では実行されない) A() // <-a.uws内の関数はmain.uws内で作ったのと同じようにいつでも使える print(INT_A) // 同様にa.uws内のpublic変数は自由にアクセスできる(G_IMG_Xみたいに) ---- 仮にA()の中でループ処理をしていて抜けたい場合は単にEXITで関数を終了すればいいだけのこと
63 名前:デフォルトの名無しさん [2018/10/17(水) 22:56:42.50 ID:rmV2ISLZ.net] >>61 ありがとうございます メインを作って各パターン毎にCALLで呼び出す…って形でしょうか ゲームでマクロを勉強しているのですが、添付した画像のようなプログラムを作成してみました 宝箱の位置は固定ですがそれぞれクリックする場所が異なるため、このような記述にしてみました 問題なく動作はするのですが、 これだとひとつのuwsで行う処理が多すぎて実行されるのにタイムラグが発生してしまいます 何か良い改善策がありましたら教えてください https://i.imgur.com/0G5273Y.jpg
64 名前:デフォルトの名無しさん [2018/10/17(水) 22:59:23.31 ID:rmV2ISLZ.net] アップする画像はこちらでした… https://i.imgur.com/yEU102b.jpg
65 名前:デフォルトの名無しさん mailto:sage [2018/10/17(水) 23:42:45.42 ID:hVOihSbt.net] >>63 そじゃない、そういうことじゃねぇんだよ兄ちゃん・・・ UWSCの場合、CALLはメインスクリプトだかの先頭辺りに列挙しておく。 CALL 戦闘開始.uws // 関数「戦闘開始」を定義 CALL 戦闘終了.uws // 関数「戦闘終了」を定義 CALL 回復.uws // 関数「回復」を定義 : という風にな。 CALLで参照するスクリプトは最低限、必要な変数や関数定義にとどめておく。 ちょうど他の言語で言うライブラリやモジュールの役割に当たる。 これでスクリプト全部がオンメモリにロードされる。 後は、メインスクリプトで定義した戦闘開始()、戦闘終了()、回復()を好きなように呼べ。 IFの中でCALLは使わない。 WHILE TRUE IF CHKIMG(略 戦闘開始() ENDIF :
66 名前:デフォルトの名無しさん [2018/10/18(木) 06:45:36.30 ID:9W5rJRye.net] CALLってそういう意味だったんですね… 今回の添付した画像のような感じであっていますか? FUNCTIONはRESULTがどうたらこうたら出てきたのと>>61 がまだ理解できなくて手こずってます https://i.imgur.com/yikcDln.jpg
67 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 08:54:31.37 ID:Dp9NcRGV.net] まあ、要するにcallの位置にファイルの中身を丸ごとペーストするだけだからね 合っているかはまず期待通りに動いたのか、君にしかわからない 理解できないとか手こずってるとか言われても困る こう書いたら何が起きた、期待通りにならない、こうしたいと具体的に書いてくれ そして出来ればコードはコピペしてくれ、画像貼られても見にくいしこっちで動かせねーから ついでに言えばいつか消えるので後から見る人の参考にならない (差し支えない範囲である程度簡略化して実際に動くのが望ましい) あと理解出来てないままいきなり組み込まない、問題が複雑化するよ 簡単なコードでfunctionの機能だけ、callの機能だけまずは確認しよう その際、最初はchkimgみたいな特殊な動作する関数は使わない方がいい (動かなくてこれ変ですかって書き込まれても画像や操作対象がないと再現できないから) まあ、長々書いてしまったけどプログラム初心者なら躓くのは普通なので色々試してくれ
68 名前:デフォルトの名無しさん [2018/10/19(金) 02:45:04.72 ID:TPvM9BLe.net] 前回コードを記載して書き込みしたら、エラーが出て書き込めなかったので画像でアップしてました zipにしてアップしてみました ttps://17.gigafile.nu/1118-c64d3df20a4c37dbcd375a2808db916f7 実際>>63 でも期待通りの動作はしており、CALLの指摘を受けて改めて>>65 のように修正しても期待通りの動作はしています 個人的に現状で残る問題はメイン.uwsでループする箇所が多すぎて >>65 で言うと戦闘開始.bmpが表示されてるのに画像認識が遅れてしまうという点です 1つのuwsに全てを詰め込んでいたので遅れが出てしまうのかと思い CALLを知ったのですが、結局これでも遅れることに変わりがなかったです ただ>>61 の記載されたように、戦闘開始.uwsの方に FUNCTION 戦闘開始 目的の処理 FEND として、メインを動かしたら「戦闘開始.uwsにRESULTが無い」とポップアップが出てきて動作がスタートしませんでした そこで PROCEDURE 戦闘開始 目的の処理 FEND にしてみたら期待通りの動作はしているのですが、違いがわからずこれで問題ないのだろうか?ということでした
69 名前:デフォルトの名無しさん mailto:sage [2018/10/19(金) 09:01:05.68 ID:tiAvbHs0.net] つまり今の問題は ・スクリプトの動作が遅い(遅く感じる) ・functionとprocedureの違いが分からない の二点ってことね 一つ目の問題はループ内でifを独立させているせいで、毎回頭から最後まで全てのif条件が働いている つまり同時には一つしかヒットしないのに律儀に全部の画像を判定しようとして空振りしてので遅くなっている 対策は一つ目をifb、次以降をelseifにして最初のifbのブロック内に収める そうするとn個目の処理した後、以後のifは飛ばす構造になる(そしてwhileでまた最初から判定) ##ifとifbの違いや動作を理解しよう## 応用としては頻出するものを最初に持ってきた方がトータルではやや早い ただし結局はifbブロック内に大量にelseifでのchkimgがある時点で遅くなっていく これはそもそもゲーム構造的に同時に判定すべきでないものを全て詰め込んでいるせい 簡単に言うとタイトル画面で戦闘開始の判定をしても意味がないしクエスト画面でタイトル画面のログインボタンの判定をしても意味がないよね これも対策は出来るが長くなるのでヒントだけ ・まずはシーン(タイトル、クエストなど)を判定する為のメインループを作る ・各シーンごとの操作(画像認識)をまとめてループにする ループ内というかifbブロック内になるべく空振りさせないように構造化させるのがポイント これでも遅く感じる場合には、シーン内の画像認識をifbによる順次処理ではなく、スレッドによる並列処理にする必要がある が、まあそれはまたやってみて遅いとか、スレッドやってみて詰まったら質問してくれ 次にfunctionとprocedureだけどこれは単に>>61 では適当に構造のイメージで書いたのでresult書き忘れてるだけ 余計な混乱させてしまったなら悪いけど、正直に言えばそんなことで詰まるとは思いもしなかった…マニュアルとか見てる?? で、resultが何なのかはヘルプなりGoogle先生に聞いてもらうとして、多分懸念してる動作速度はどっちでも大差ない
70 名前:デフォルトの名無しさん mailto:sage [2018/10/19(金) 13:46:23.05 ID:qHVv99vL.net] >>67 スクリプト見たんだけどCHKIMGとCHKIMGXが混在してるのはこの通りであってるの? >>67 の切り分けによると戦闘開始関数だけで時間が掛かってるってことだよね どこで処理に時間が掛かってるかGETTIMEで計測したらどうか? たぶんCHKIMGかCHKIMGXだとおもうんだけど まずは戦闘開始.bmpが表示されたらPrintでなにか表示させるとかして 処理を小さく区切って満足行く結果が出たら次の処理につなげてという風に 問題を細かく見てったほうがいい そこがクリアされてるなら 「戦闘開始.bmpが表示されてるのに画像認識が遅れてしまう」こんなことにはならない まず戦闘開始だけを満足に動かすことを考えたほうがいい
71 名前:デフォルトの名無しさん [2018/10/19(金) 17:35:14.14 ID:TPvM9BLe.net] >>68 つい先日マクロについて知って、下記のHPを読みながら1つの問題が解決したら都度次へって感じでやってます ttps://qiita.com/macro_no_deshi/items/dd3b3405123bad0cfe4a まずゲーム内のどこでマクロに任せるべきなのかからスタートしてるのと、 プログラミングの知識がないので手探りになってしまっているのは申し訳ないです >同時に判定すべきでないものを全て詰め込んでいるせい ここは理解しているのですが、どこでどう判定させて区切るべきかわからずぐちゃぐちゃになってるのだと思います ・ダンジョン1で歩いて宝箱を回収していく ・ダンジョン1で歩き回れば敵と遭遇し戦闘が開始される ・戦闘が終わればリザルトがある 以上のようにダンジョン1で宝箱を探している間に敵は出てくるので戦闘開始と戦闘終了は必要なので、メイン.uwsの記述があのようになりました (1)ダンジョン1を宝箱を回収しながら自動で踏破 (2)途中で敵に遭遇したら自動で戦闘開始、戦闘を終えたら(1)の続きに戻る ちなみに最終的にはこのようにできれば良いなと思ってはいるんですが、まだまだ遠い未来です… >>69 CHKIMGとCHKIMGXが混在しているのは、CHKIMGで認識できない画像だけをCHKIMGXで作成してます ちなみにマクロは現状正しく動作しており、それぞれのマクロだけ動作させるなら開始も機敏です 説明が下手で申し訳ないのですが、>>68 の言葉を借りるなら全てをセットにしたメイン.uwsの作り方が下手で、空振りが多いのだと思います
72 名前:デフォルトの名無しさん mailto:sage [2018/10/19(金) 18:26:33.13 ID:QAno5ZfD.net] どんな場合があってどの様な条件(画像、回数など)が必要なのか紙に描いて整理した方が良いですよ uwscというより設計の問題です
73 名前:デフォルトの名無しさん mailto:sage [2018/10/19(金) 18:28:28.54 ID:5Sybigz9.net] >>70 すまん、ダンジョン1.uws見てなかった これはまずいわ、メイン.uwsで宝箱1〜6の画像検索してどれか見つかったら 宝箱()を呼び出してるけど、そこでまた宝箱1〜6の画像を全て検索してるじゃん 宝箱1を見つけたら宝箱1を開封する関数だけを呼び出さないと あとメイン.uwsで戦闘開始と戦闘終了を画像検索してるけど 戦闘が始まってもないのに戦闘終了の画像を検索する必要ある? 言い方を変えると、戦闘終了してるかチェックするのは 戦闘開始を見つけてからでいいんじゃない? その辺の動きももう一度整理したほうがよさそう
74 名前:デフォルトの名無しさん mailto:sage [2018/10/19(金) 18:56:25.14 ID:tiAvbHs0.net] >>70 まあとりあえず色んな人からアドバイス出たことだし、少し手を動かして頑張って ちなみにやろうとしてるほぼ全自動でゲーム進めるってのは初学者にはかなり難しいテーマだよ、もはやゲーム設計するのと大差ないからね コードだけ眺めてても解決しないので絵にしたりしないと無理じゃないかな
75 名前:デフォルトの名無しさん mailto:sage [2018/10/19(金) 23:37:36.28 ID:QpJkHdff.net] >>73 >全自動でゲーム進めるってのは >初学者にはかなり難しいテーマ 同意 単純なクリック連打じゃなくて ゲームの内容を判断しながら分岐させるのは ゲームのAIレベルだから難しい
76 名前:デフォルトの名無しさん [2018/10/20(土) 00:19:23.65 ID:6OPiVTnP.net] 今回も修正したuwsのファイルをアップしてみました 無事に動作はしていますが、変なところがあればご指摘いただければと思います ttps://32.gigafile.nu/1027-bf28bd15518fed74ae750f229487ea8c8 悩み中.uwsというファイルがありますが、 同じ画像を認識したとしても処理は異なるようにするにはどうしたら良いのでしょうか 現在はSLEEPを使用して1回目の表示と2回目の表示の間隔を空けて強引に処理させてます >>71 ある程度は整理できてるのですが、処理を開始するためにどこの画像を認識させようかの判断ができないんですよね ダンジョンの背景とかだと使い回しで別のダンジョンと間違えられても困るし… >>72 書き込んだあとちょうどその部分に変更を加えていました おかげで処理は高速になったと思われます…(実感はある) >>73 全自動というのは無理だと思っているので、移動以外は自動化できないかなって思ってます 一応今のところ8割はできてると思います
77 名前:デフォルトの名無しさん mailto:sage [2018/10/20(土) 00:57:49.14 ID:69MHWzaM.net] >>75 >同じ画像〜 させたい処理が違うなら何かが違うんでしょとしか言えないが 画面の見た目類で判断しにくく、仮に交互に繰り返すならカウンタ/フラグ変数を持って切り替えるのはどうかな? これに限らず全てchkimgで判断させるのは無理があるはず
78 名前:デフォルトの名無しさん mailto:sage [2018/10/20(土) 01:01:01.66 ID:90xm7L12.net] >>75 ボスの画像を認識した回数をカウントして処理を分ければいいんじゃない で、パターンを戻したくなったらカウントをリセットすればいい 行動パターンがあまりにも多かったら大変だけど ここからは今は重要なことじゃないし 処理が早くなるわけではないからわからなかったらスルーしてくれ 1つの行動を1つの関数にするのはいいんだけどファイルを分ける必要あるかな 例えばダンジョン1宝箱3とか他のダンジョンなりスクリプトで再利用する? それぞれのファイルで毎回全く同じCALLや変数の初期化を 何度も書くのは無駄だし間違いの元になることもある 変数のスコープやProcedureやFunctionや値渡しについて知ればもっとよくなるとおもう
79 名前:デフォルトの名無しさん mailto:sage [2018/10/20(土) 01:01:35.72 ID:90xm7L12.net] しまった、また長文書いてる間に先越されたw
80 名前:デフォルトの名無しさん mailto:sage [2018/10/20(土) 03:46:56.86 ID:I8y7CiS+
] [ここ壊れてます]
81 名前:.net mailto: 一部のbotが非常に高度なものであるのは間違いないけど。 ここの連中が作った全自動(笑)マクロなんてゴミがほとんどじゃないの。 [] [ここ壊れてます]
82 名前:デフォルトの名無しさん mailto:sage [2018/10/20(土) 09:18:37.52 ID:q084eIUp.net] とゴミが申しております そういうのは本スレでやってね
83 名前:デフォルトの名無しさん mailto:sage [2018/10/20(土) 10:13:45.64 ID:ac1pPfcT.net] たかがUWSC作ったマクロしか組めない程度の人間のマクロ技術がゲーム制作やゲームAIと同じとはとても思えないわ。 まあ雑魚同士で自画自賛しあってればいいんじゃない。
84 名前:デフォルトの名無しさん mailto:sage [2018/10/20(土) 10:25:26.46 ID:q084eIUp.net] といちいち初心者スレ監視してる雑魚が申しております 自称天才意識高い系プロは本スレで暴れててね
85 名前:デフォルトの名無しさん mailto:sage [2018/10/21(日) 03:47:50.14 ID:gVw834nh.net] 初心者スレでこれは草
86 名前:デフォルトの名無しさん mailto:sage [2018/10/21(日) 11:27:18.44 ID:ugGKSKgn.net] 寂しがり屋さんなのかな? 本スレそれほど過疎ってるわけでもないのに スレ分けてよかったかな今のところは
87 名前:デフォルトの名無しさん [2018/10/22(月) 00:09:48.52 ID:rGA5crV5.net] ttps://17.gigafile.nu/1029-dbd9d6de3c7c9d32c382d1be973850e30 カウントについて調べていろいろやってみたのですが、 「ボス戦ターン1()」を繰り返したり、 「ボス戦ターン2()」まで行っても「ボス戦ターン1()」に戻ったりしてしまいます カウントの処理について教えていただきたいです それと、最後の部分にある「CALL」ですが ttp://kobuji.me/tips/call/ ここを参考にしてみたのですが、このCALLの使い方はあっているのでしょうか? (前回一番上に記載するやり方だと教えてもらいましたが…)
88 名前:デフォルトの名無しさん mailto:sage [2018/10/22(月) 00:42:44.65 ID:ktdTMJw1.net] >>85 カウント以前の問題が多すぎる インデントを入れると自分がどれだけ変なコード組んでるかちょっと分かるかも?
89 名前:デフォルトの名無しさん [2018/10/22(月) 01:12:45.93 ID:rGA5crV5.net] >>86 申し訳ないのですが、他のサイトを参考に組み立てたもので、そこから試行錯誤してるのですがうまくいかないのです いまも随時修正は加えているのですが、問題の箇所を具体的に教えていただけるとありがたいです
90 名前:デフォルトの名無しさん mailto:sage [2018/10/22(月) 01:15:13.19 ID:ktdTMJw1.net] >>87 >>56-86 に書いてある その上で問題が認識しづらいのは「インデントのせいかも」というアドバイスをしたので、まずはインデントを入れてみてくれ
91 名前:デフォルトの名無しさん [2018/10/22(月) 01:17:20.48 ID:rGA5crV5.net] >>88 どこにカウントのことが書いてあるのでしょうか?
92 名前:デフォルトの名無しさん mailto:sage [2018/10/22(月) 01:38:22.25 ID:ktdTMJw1.net] >>89 カウント以前の問題だと>>86 に書いているよね カウントの処理が変なんじゃなくて、依然として最初期から指摘してるIF/IFBの書き方に問題があるということ まずそこを直してくれないと次のステップに進むアドバイスは自分からはできない
93 名前:デフォルトの名無しさん [2018/10/22(月) 02:06:06.56 ID:rGA5crV5.net] 教えを請う立場で申し訳ないですし、自分で問題解決まで知識を蓄えろというのはごもっともなのですが、 自分なりにできてるところはこちらで質問しておりませんし、いまも試行錯誤したうえで行き詰まってまして、 先ほどアップしたファイルはその試行錯誤の末、ぐちゃぐちゃになってるのは自分でも理解しています ただ、自分なりにいろいろ手を尽くしても解決することができなかったので、 できれば具体的な解決策もしくは参考になるページを提示していただけると助かります 今回で言うとカウンタを利用して カウント0の時、Aの画像を認識するまでループ、認識できたら1の行動(カウント+1)でループを抜け出して次の処理へ カウント1の時、Aの画像を認識するまでループ、認識できたら2の行動(カウント+1)でループを抜け出して次の処理へ カウント2の時、Aの画像を認識するまでループ、認識できたら3の行動(カウント+1)でループを抜け出して次の処理へ という形にしたいのですが、カウントと画像認識を組み合わせた時の書き方、条件分岐の策がわからず、 検索しても目的の処理について出てこないので困ってるんです
94 名前:デフォルトの名無しさん mailto:sage [2018/10/22(月) 02:12:15.48 ID:ktdTMJw1.net] >>91 だから具体的な解決策が「インデントを入れる」なんだけど ただ、それだけでこの数日どれだけ無駄にしてたか理解できると思うよ
95 名前:デフォルトの名無しさん [2018/10/22(月) 02:18:15.10 ID:rGA5crV5.net] >>92 それなら参考にしたいので試しに自分がアップしたファイルで、 >>92 さんのインデントを入れたものを見せていただきたいです
96 名前:デフォルトの名無しさん mailto:sage [2018/10/22(月) 02:24:04.66 ID:ktdTMJw1.net] >>93 ま、口でいうだけじゃ分からんこともあるだろうということで今回は特別にインデントを入れてあげよう https://paiza.io/projects/1R9_xdNXduPIL2T-pXM42Q これを見ておかしいところが分からない? それはちょっと困る展開だが…どう?
97 名前:デフォルトの名無しさん mailto:sage [2018/10/22(月) 02:44:54.75 ID:ktdTMJw1.net] >>91 さてここまでやってしまったからについでに言うと >カウント0の時、Aの画像を認識するまでループ、認識できたら1の行動(カウント+1)でループを抜け出して次の処理へ >カウント1の時、Aの画像を認識するまでループ、認識できたら2の行動(カウント+1)でループを抜け出して次の処理へ >カウント2の時、Aの画像を認識するまでループ、認識できたら3の行動(カウント+1)でループを抜け出して次の処理へ まぁこの辺は経験とかないとこうなっちゃうのかなと思うが、簡単にすると以下だよね >カウントが0からnまで繰り返し、Aの画像を認識した時、カウント別の処理実行後、カウントを+1して次へ これをプログラムしやすく整形すると… >カウントが0からnまで繰り返し > Aの画像を認識した時、 > カウント別の処理実行後、 > カウントを+1 書くべきコードのイメージも大分違ってくるでしょう
98 名前:デフォルトの名無しさん [2018/10/22(月) 03:37:01.47 ID:rGA5crV5.net] >>94-95 ありがとうございます にっちもさっちもいかず、ぐちゃぐちゃにしてしまったファイルをアップしたせいで、 より大きな誤解を招いてしまったところがあると思います… ttps://22.gigafile.nu/1029-d56268c68a387a2a9e4db0865ff3cf87f いま試行錯誤していたファイルをアップしてみました ちょうど>>95 あたり?に近かったのではないかと思われますが… ターン1→2→3→3→1という風に書いてあるにも関わらず、 ターン1→3→2、1→3→1、1→2→3など行動が飛ばされる時があります 戦闘開始.bmpを画像認識しなければ次へ進まないはずだと思うのですが、 異なる制御文でも入れてしまっているのでしょうか…
99 名前:デフォルトの名無しさん mailto:sage [2018/10/22(月) 04:28:57.69 ID:ktdTMJw1.net] >>96 肝心のカウントを判定してないんだから順番通りになるわけもない そもそも… > カウントが0からnまで繰り返し > Aの画像を認識した時、 > カウント別の処理実行後、 > カウントを+1 ↑に近づけたつもりならwhileと画像認識はひとつ カウントのif文で分岐を書けばいいだけ 同じ判定がいくつも出てくるのは構造がおかしいと指摘したはずだよね てかこれだけ言ってもインデント無視する限りもうアドバイスしないのでそのつもりで
100 名前:デフォルトの名無しさん [2018/10/22(月) 04:36:33.96 ID:rGA5crV5.net] >>97 勘違いなさってるようなので訂正させていただきますが、 >>96 のファイルは>>94-95 を拝見する前に自力で作成していたものです
101 名前:デフォルトの名無しさん mailto:sage [2018/10/22(月) 04:48:50.98 ID:iCVScRLH.net] まず状況整理のためにインデントをいれろというアドバイスがあったのに インデント入れてみてくれはさすがに乱暴だろ インデントについて調べて理解したの? IF文におかしいところがないか確認したの?
102 名前:デフォルトの名無しさん [2018/10/22(月) 05:00:05.30 ID:rGA5crV5.net] >>99 >>94 を見ても一瞬で理解できない猿で申し訳ないとしか言えません >>39 を見て、どんなものかと始めたばかりなのでプログラムの記述式等に学が浅く、 言われてることを理解するのにも四苦八苦ですし、周りからすれば幼子に6+6の計算させたら指が足りないからわからないって言ってるようなものなのは申し訳ないです
103 名前:デフォルトの名無しさん mailto:sage [2018/10/22(月) 05:35:05.90 ID:anSnU/H2.net] ID違うけど>>99 です >>100 >>99 に対して思いもよらないレスが返ってきたので2つ確認させてください 1.あなたは日本人ですか? 2.日本語苦手ですか? 煽りとかじゃなくてマジで中国人とかが日本のゲームやってbot使ってたりするので確認です
104 名前:デフォルトの名無しさん [2018/10/22(月) 16:04:47.06 ID:qAlmLxF7.net] 初心者用スレで何言ってんだこいつ
105 名前:デフォルトの名無しさん mailto:sage [2018/10/22(月) 17:38:03.95 ID:8Ffx9AaH.net] インデントを入れるとどこで処理が区切られているか、どこで処理がループされているかがはっきりするのでインデントを入れましょうって話だろ 初心者相手に
106 名前:「インデントを入れればわかる」で投げっぱなしはそらキツいっしょ インデントの入れ方の規則だってわからんだろうし [] [ここ壊れてます]
107 名前:デフォルトの名無しさん mailto:sage [2018/10/22(月) 18:08:33.49 ID:X1R8clvb.net] ここはuwscの初心者スレであってプログラミングの初心者スレではないからな
108 名前:デフォルトの名無しさん mailto:sage [2018/10/22(月) 18:13:22.50 ID:FNc64wsF.net] ゲームマクロなら画像認識とマウスキーボード自動化あればいいんだから言語なんてなんでもいいんだけどね。 開発環境しっかりしてるVBとかのほうがいいような気もする。
109 名前:デフォルトの名無しさん mailto:sage [2018/10/22(月) 19:00:12.21 ID:QPF2Uwab.net] >>104 了解。次スレで検討する。 「プログラミング初心者のためのUWSCスレ」 で、よろしいか?
110 名前:デフォルトの名無しさん mailto:sage [2018/10/22(月) 19:36:21.25 ID:ofo6/h19.net] >>100 多くの人にとってはインデントがあったほうが見やすいでしょうから 今インデントをしていないのは、単にインデントするのが面倒なのではないかと思います 多くのエディタでは 複数行を選んだ状態でTABを押すとインデントが深くなり インデントのある行を複数行を選んでSHIFT+TABでインデントが浅くなるという機能があります (※エディタによってはキー割り当てが違うこともあります) 今これというエディタを使っていないのであれば Mery (テキストエディタ) https://www.haijin-boys.com/wiki/ を使ってみてください。 このエディタは最初から 表示→表示モード に最初からUWSCが含まれています。 なので、UWSファイルを読み込んだだけで自動的に見やすいカラー表示をしてくれます。 ツール→オプションで最初にここだけ設定しておくと見やすいだろうという箇所は 「基本」タブで 「タブの桁数」で1タブでなん文字分字下げするか設定できます。 タブより空白がよければ「タブの代わりに空白を挿入」にチェック タブの代わりに空白でのTAB/SHIFT+TABによるインデントの増減が効きます 「基本」タブで 見やすいテーマを選択 「記号」タブで タブ表示、半角空白表示、全角空白表示 にチェックを入れる なお、自分が常用しているのは秀丸ですので、 このMeryエディタを広めたいとかいう意図ではありません。
111 名前:デフォルトの名無しさん mailto:sage [2018/10/22(月) 19:41:11.57 ID:ofo6/h19.net] >>107 ×「基本」タブで 見やすいテーマを選択 ○「表示」タブで 見やすいテーマを選択
112 名前:デフォルトの名無しさん [2018/10/23(火) 00:50:11.50 ID:UxSE6/em.net] 自分のせいでいろいろと申し訳ありません インデントについては普通にメモ帳でやってるのもあり、 一部HPではインデントをつけてないところもありコピペしてたので動作してから直そうと思ってました ttps://11.gigafile.nu/1030-dd4e47c88d4952d781d2d600256473315 再度修正してみました 「悩み中.uws」は目的の動作をしてくれるようになりましたので「ボス戦開始.uws」に名称を変更しました 一応動作はしてくれているのですが、正しい解決策がわからない部分もあります 行動が飛ばされてた原因がおそらく戦闘開始.bmpの画像を認識するスピードが速すぎて、 行動が終わる前に画像を再度認識してカウントをプラスしていたようで、 このやり方は違うとは思いつつもSLEEPで強制的に認識を止めてます 次にカウントで「戦闘開始.uws」についても修正してみました こちらも自分の思ったとおりの動作はしてくれているのですが、 1ターン目は完璧ですが、その後に戦闘終了の処理に移行してしまうので、 当然ながら2ターン目は動作しないということに… 「戦闘終了.uws」はメインで画像認識させた方が良いですかね… >>107 Mery調べてみます
113 名前:デフォルトの名無しさん mailto:sage [2018/10/23(火) 01:54:05.77 ID:A3TfahIO.net] >>109 気づいたところをまず指摘しておきます ボス戦開始がどういうタイミングでどこから よばれるか今回アップされた中からは判断できませんが 当然メインからたどって何かのタイミングで呼ばれるかたちになるのだろうと思います。 ということ
114 名前:ヘそこから メイン.uws をCALLしてしまうと らどんどん深いネストに入って無限ループに陥ってしまいます EXITEXITに達することはないはずです [] [ここ壊れてます]
115 名前:デフォルトの名無しさん mailto:sage [2018/10/23(火) 01:57:20.66 ID:A3TfahIO.net] 単純化すると次のような状態です 破線内をCALL_TEST1_MAIN.UWS,CALL_TEST2.UWSとして保存し CALL_TEST1_MAIN.UWSを実行してみてください −−−−−−−−−−−−−−−−−−−−−−−− //CALL_TEST1_MAIN.UWS STOPFORM( TRUE, G_SCREEN_W-400, 0) LOGPRINT( TRUE, G_SCREEN_W-400, 60, 400, 400) PRINT "CALL_TEST1_MAIN.UWS ファイル先頭" CALL CALL_TEST1.UWS SLEEP(2) PRINT "CALL_TEST1_MAIN.UWS CALL FUNC_MAIN1" FUNC_MAIN1(); PRINT "CALL_TEST1_MAIN.UWS ファイル末尾" −−−−−−−−−−−−−−−−−−−−−−−− //CALL_TEST2.UWS PRINT "CALL_TEST2.UWS TOP" FUNCTION FUNC_MAIN1() RESULT = 0 SLEEP(2) CALL CALL_TEST1_MAIN.UWS PRINT "FUNC_MAIN1 END" EXITEXIT FEND PRINT "CALL_TEST1.UWS ファイル末尾" −−−−−−−−−−−−−−−−−−−−−−−
116 名前:デフォルトの名無しさん mailto:sage [2018/10/23(火) 02:00:25.52 ID:A3TfahIO.net] 訂正 単純化すると次のような状態です 破線内をCALL_TEST1_MAIN.UWS,CALL_TEST1.UWSとして保存し CALL_TEST1_MAIN.UWSを実行してみてください −−−−−−−−−−−−−−−−−−−−−−−− //CALL_TEST1_MAIN.UWS STOPFORM( TRUE, G_SCREEN_W-400, 0) LOGPRINT( TRUE, G_SCREEN_W-400, 60, 400, 400) PRINT "CALL_TEST1_MAIN.UWS ファイル先頭" CALL CALL_TEST1.UWS SLEEP(2) PRINT "CALL_TEST1_MAIN.UWS CALL FUNC_MAIN1" FUNC_MAIN1(); PRINT "CALL_TEST1_MAIN.UWS ファイル末尾" −−−−−−−−−−−−−−−−−−−−−−−− //CALL_TEST1.UWS PRINT "CALL_TEST1.UWS TOP" FUNCTION FUNC_MAIN1() RESULT = 0 SLEEP(2) CALL CALL_TEST1_MAIN.UWS PRINT "FUNC_MAIN1() 終了" EXITEXIT FEND PRINT "CALL_TEST1.UWS ファイル末尾" −−−−−−−−−−−−−−−−−−−−−−−
117 名前:デフォルトの名無しさん mailto:sage [2018/10/23(火) 02:07:54.16 ID:mm3zor/C.net] 次のようなかたちになるべきかと思います CALL_TEST2_MAIN.UWS,CALL_TEST2.UWS を保存し、CALL_TEST2_MAIN.UWSを実行してみてください −−−−−−−−−−−−−−−−−−−−−−− //CALL_TEST2_MAIN.UWS PRINT "CALL_TEST2_MAIN.UWS ファイル先頭" STOPFORM( TRUE, G_SCREEN_W-400, 0) LOGPRINT( TRUE, G_SCREEN_W-400, 60, 400, 400) CALL CALL_TEST2.UWS WHILE 1 SLEEP(1) PRINT "CALL_TEST2_MAIN.UWS FUNC_MAIN1() 実行" FUNC_MAIN1(); IFB BTN_NO = MSGBOX( "もう一度実行しますか", BTN_YES OR BTN_NO) THEN MSGBOX( "OK後20秒で終了します") // EXEIEXIT してもいいが抜ければ自然に終了する BREAK ENDIF WEND PRINT "CALL_TEST2_MAIN.UWS ファイル末尾" SLEEP(20) −−−−−−−−−−−−−−−−−−−−−−−− //CALL_TEST2.UWS PRINT "CALL_TEST2.UWS ファイル先" FUNCTION FUNC_MAIN1() PRINT "FUNC_MAIN1() 関数先頭" RESULT = 0 SLEEP(1) PRINT "RETURN TO MAIN" PRINT "FUNC_MAIN1() 関数末尾" FEND PRINT "CALL_TEST2.UWS ファイル末尾" −−−−−−−−−−−−−−−−−−−−−−−−
118 名前:デフォルトの名無しさん mailto:sage [2018/10/23(火) 02:27:59.59 ID:poTZwO/U.net] >>109 …二文字か四文字半角スペースにしてくれ 書いてて見にくくない? 適宜sleep入れるのは普通のこと 何も指定しなかったら常に最速でプログラムは回っちゃうから、ボタンの反応や画面切り替えを想定したウェイトを入れるべし 従って後者もwhileの最後にターンとやらの切り替わる猶予を待たせたるか、ボタンが押せる状態か判定を入れてもいい (もちろん組み合わせてもいい、二重操作防止のsleepと操作受付判定いれれば完璧)
119 名前:デフォルトの名無しさん [2018/10/23(火) 03:09:10.20 ID:UxSE6/em.net] Mery使いやすいですね >>112 ttp://kobuji.me/tips/call/ >他のマクロを呼び出し現在のマクロを終了する ここの部分を参考にしてみて、一応動作はしているのですが、 なんとなくそうだろうとは思っていたものの、やはり問題ありますよね メイン→ダンジョン選択→ダンジョン1→ボス戦開始(→戦闘が終わったらメインに戻る) >>72 の書き込みから意識して深い階層に行くようにして、 流れはこのように考えているのですが、再度ドツボにハマってきました 今のところの自分が考えている問題点は以下です ・「ボス戦開始」で戦闘が終了した時に「メイン」に戻る ・「ダンジョン選択」でダンジョンを選ばなかった時に「メイン」に戻る ・「戦闘開始」の2ターン目以降とをどうするか >>114 普通のことだったんですね、それなら「ボス戦開始」のカウント処理は問題なさそうです あとは2ターン目以降の問題ですが、どう判定させるか考えてみます
120 名前:デフォルトの名無しさん [2018/10/23(火) 06:04:39.54 ID:xet0u+mg.net] >>115 ・「ボス戦開始」で戦闘が終了した時に「メイン」に戻る ボス戦開始の条件はボス画像を発見したら? それとボス戦は戦闘開始.uwsを再利用できる? 戦闘開始.bmpを画像検索してるルーチンに組み込めないかな? それができれば宝箱の判定をしたあとにExit入れればメインに戻れる ・「ダンジョン選択」でダンジョンを選ばなかった時に「メイン」に戻る メインに戻るための条件を組み込めばできそう ・「戦闘開始」の2ターン目以降とをどうするか どのキャラにどういう行動をさせたいのか 今の所1つのキャラに対して行動が1パターンしかないよね
121 名前:デフォルトの名無しさん mailto:sage [2018/10/23(火) 07:56:13.12 ID:poTZwO/U.net] >>115 >>61-66 をよく読
122 名前:゚ [] [ここ壊れてます]
123 名前:デフォルトの名無しさん mailto:sage [2018/10/24(水) 03:06:06.77 ID:JPOPYXjO.net] >>115 例に出したようなかたちだったら問題があるというだけで 実際に問題があるかどうかは作り方次第です。 CALL おわり.uws EXITEXIT だとしても −−−−−−−−−−−−− //おわり.uws FUKIDASI("おわります") SLEEP(5) FUKIDASI() −−−−−−−−−−−−− だとしたら何の問題もありません。 自分が呼び出されてる元を呼んでしまうので問題がある(可能性が高くなる)わけです 戦闘が終了したら「メイン.uws」に戻る といういいかたの通り呼び出されたところに“戻る”べきであって メインを呼んでしまっては戻るのではなく“潜って”しまいます。 前回よりもさらに単純化していうと PROCEDER test_proc() test_proc() FEND という状態です 再帰呼び出しといいますが test_proc()を呼ばずに抜ける条件がなければ無限ループになります
124 名前:デフォルトの名無しさん mailto:sage [2018/10/24(水) 08:38:49.61 ID:EHDjbV6E.net] 再帰呼び出しや無限ループになるならまだいいが、uwscでそれやると行き着く先はスタックオーバーフローである 前にも書いたがcallのところに内容をコピペすると考えて、一度テキストエディタ上で実際にペーストしてみて どうなるのか確かめて見たらいいと思う ※メインを上からなぞりcallの行をcall先の中身に置き換える というか最終的に別スクリプトに分割するのは悪いことじゃないが、そもそも質問者が期待するような 動作が早くなったり制御が楽になるなんてことはなく逆にミスの温床にしかなってないから1ファイルに戻した方がいいかも?
125 名前:デフォルトの名無しさん [2018/10/26(金) 11:32:57.00 ID:KT8sz2lK.net] UWSCと言えば、お絵かきソフトをプロッター代わりにして ドラゴン曲線を描いた覚えがある
126 名前:デフォルトの名無しさん mailto:sage [2018/10/26(金) 12:14:58.57 ID:rGWXcnDl.net] そういう使い方があったのか 目から鱗だな
127 名前:デフォルトの名無しさん mailto:sage [2018/10/26(金) 12:35:28.21 ID:Ho1Po0zE.net] ペイント使って最初にやったな
128 名前:デフォルトの名無しさん mailto:sage [2018/10/26(金) 22:49:03.24 ID:EeaDtgcV.net] 面白いけどペイントソフトのスクリプト使った方が効率的
129 名前:デフォルトの名無しさん mailto:sage [2018/10/27(土) 12:35:52.24 ID:XTWU7dAT.net] 2ヶ所クリックをctrlキー使えばいいかなーと思ってコード書いたけど、 どうしても上手くいかなくていろいろ調べたらタブで繋げばよいと知った 知らないことたくさんあるなー
130 名前:デフォルトの名無しさん mailto:sage [2018/10/30(火) 12:54:19.69 ID:wR+aWlcX.net] https://github.com/DoranekoSystems/ChkImgX_Extension ChkImgX AutoItにも対応いたしました。
131 名前:デフォルトの名無しさん mailto:sage [2018/10/30(火) 13:07:46.54 ID:QwfsTk/G.net] なぜuwsc専用スレに他のアプリ対応を宣伝しにくるのか…ほんと頭おかしい
132 名前:デフォルトの名無しさん mailto:sage [2018/10/31(水) 20:55:50.19 ID:Gkg/z3xB.net] >>125 個人情報抜き取られたりウイルス感染したりしない?
133 名前:デフォルトの名無しさん mailto:sage [2018/10/31(水) 23:58:01.63 ID:qEtCZoW0.net] アップしてるのはただのスクリプトなので怪しいなら見てみればわかります。 外部と通信してることなど一切ないです。 ChkImgX.uwsとほぼ同じことをしてるだけですね。
134 名前:デフォルトの名無しさん mailto:sage [2018/11/01(木) 09:05:29.68 ID:97yVLdc+.net] >>127 構っちゃだめですよ
135 名前:デフォルトの名無しさん mailto:sage [2018/11/04(日) 16:41:46.76 ID:4y7rUrKd.net] pro版のデバッガも試用期間過ぎると使えなくなりますか? あと記憶が不確かなんですが前にpro版の試用期間を過ぎたあたりの タイミングでスクリプトが勝手にスクランブル掛かってしまったんですが どういう条件で起きるのでしょうか 自分でスクランブル掛けてないのは間違いないです
136 名前:デフォルトの名無しさん mailto:sage [2018/11/04(日) 17:29:09.86 ID:4dO
] [ここ壊れてます]
137 名前:Mj00Y.net mailto: >>130 自分で試用期間を過ぎたって連呼してて何言ってんだ… [] [ここ壊れてます]
138 名前:デフォルトの名無しさん mailto:sage [2018/11/04(日) 19:29:50.98 ID:WH4Iex1S.net] 「pro版のデバッガ」はそういう意味ではないかもしれない でも普通に読むと、何言ってんだとしか言えんわなw
139 名前:デフォルトの名無しさん mailto:sage [2018/11/04(日) 21:26:15.36 ID:4y7rUrKd.net] >>131-132 試用期間過ぎたら勝手にスクランブル掛けるって ちょっと信じ難かったので質問しました ありがとうございました
140 名前:デフォルトの名無しさん mailto:あ [2018/11/19(月) 12:00:31.20 ID:Bnz7GW+k.net] >>39 の見させていただいたのですが While True //Wendまでの処理を繰り返す。 ifb chkimg("image1.bmp") //" "内に指定した画像を認識したら処理開始 btn(left,click,g_img_x,g_img_y) //画像の座標をマウスの左ボタンでクリック elseif chkimg("image2.bmp") //1つ目の画像が見つからなかったら別の画像を検索 btn(left,click,g_img_x,g_img_y) //画像の座標をマウスの左ボタンでクリック else //上記の条件全てに当てはまらなかった場合 print "画像が見つかりません" //メッセージを出す。 endif sleep(3.5) //()内の秒数待機 Wend とありますが逆に画像が見つからなかった場合クリックする方法はありませんでしょうか? 例 画像が見つかればスルー 画像が見つからなかったらクリック よろしくお願いします。
141 名前:デフォルトの名無しさん mailto:sage [2018/11/19(月) 12:22:00.42 ID:FEO3fFuI.net] 質問に対してそのまま返答すると else内でbtn使えばいいよ ってなるんだけど 多分そういうことを聞きたいんじゃないのだと思ってる
142 名前:デフォルトの名無しさん mailto:sage [2018/11/19(月) 13:23:15.10 ID:F1pQ/Nbq.net] 見つかった場合だと座標指定にchkimgのg_img_x/yが使えるけど、見つからなかった場合はどうやってということかね あらかじめメモって数値なり変数で指定するだけだが
143 名前:デフォルトの名無しさん mailto:あ [2018/11/19(月) 13:34:46.71 ID:Bnz7GW+k.net] ありがとうございます。 実は目的は画像が出てくるまでenterを押し続けて画像が出てきたら enterをストップして次の行動にうつりたいのですが While !chkimg("gazou",0,,,,,,IMG_MSK_BGR4) KBD(VK_enter) SLEEP(0.7) WEND で無限ループは可能なのですが画像がずっと見つからない場合抜け出せなくなるのですよね どこかにbreakを入れれば抜け出せると思うのですが 理想としては10回enterを押して画像が見つからなければ次の行動にうつる といった感じです。 前このスクリプトを聞いてかなり叩かれたのでちょっと別のスクリプトで応用しようとして聞きました。 難しいと思いますがもしよかったらお願いします。
144 名前:デフォルトの名無しさん mailto:sage [2018/11/19(月) 14:20:27.92 ID:L9zCa8ZR.net] >>137 10回押すというかそれ10回ループしたらええやん
145 名前:デフォルトの名無しさん mailto:sage [2018/11/19(月) 14:45:20.37 ID:qv8H9IjA.net] 叩かれてそれから君は少しでも自分で調べようとしたの? uwsc whileとかでググってでてくるサイトでも見りゃすぐに答え見つかるんだけど
146 名前:デフォルトの名無しさん mailto:sage [2018/11/19(月) 14:54:23.56 ID:J6erJctM.net] 繰り返し回数決まっているならFor To Next文でもいいし ヘルプ、付属サンプルみてみた?
147 名前:デフォルトの名無しさん [2018/11/19(月) 15:00:05.80 ID:lM8hlL/3.net] 叩かれたのは調べればすぐわかることを聞きっぱなしで意味もわからず使って調べようともしないからだぞ 何もわかってねーのな ググる以前にヘルプに書いてある程度のレベルじゃん
148 名前:デフォルトの名無しさん mailto:sage [2018/11/19(月) 15:18:49.89 ID:TYiI0aDU.net] 俺が難しいと思うのは137との意思疎通であって やりたい事も実現するコードも多分 簡単だと思ってるよ
149 名前:デフォルトの名無しさん mailto:あ [2018/11/19(月) 15:35:41.43 ID:Bnz7GW+k.net] >>140 ヘルプを結構読んでググっても付属サンプル見ても見つからないのでまたいきなり 聞くのも悪いのでしばらく経った後聞いてみました。 どうしても出てくる画像がランダムなので回数を決められないんですよね 向いてないと言われるかもしれませんがこのソフトのおかげで
150 名前:ゲームマクロでかなり生活も助かってまして すみません また荒れると悪いのでしばらくこの辺にしておきます [] [ここ壊れてます]
151 名前:デフォルトの名無しさん mailto:sage [2018/11/19(月) 15:47:05.45 ID:X6A/Pm1x.net] おいおい初心者スレなのにそんなにいじめたら可愛そうだろ。 お前らは何か勘違いしているようだな。よく考えろ。 向こうのスレの>>10 のこいつの書き込みから3ヶ月経ったが、whileやbreakはおろか、ifやforという基礎中の基礎すら未だ理解していない。 これはもはや自分で考えたり習得する気は微塵もなく、ただ答えを教えろ、代わりに作れと言っているだけ。 そんな奴にググれだのヘルプ見ろと言うことがそもそも無意味で間違いなんだよ。 さらに言えばそれでは向こうのスレと全く同じ流れでこのスレを建てた意味がない。 ここは初心者スレらしく、ヒントやヘルプ見ろなどと意地悪するのではなく、懇切丁寧に答えを教えてあげるべき。 ちなみに僕は初心者なのでよくわからない。
152 名前:デフォルトの名無しさん mailto:sage [2018/11/19(月) 17:04:30.02 ID:+ZNV2ej4.net] >>143 「条件を満たしたらループから抜ける」 なんてーのは基礎中の基礎以前にら自力でも考え付くだろ わからなきゃこのワード+uwscでググれば答えが出てたぞ。まじめに調べてないだろお前
153 名前:デフォルトの名無しさん mailto:sage [2018/11/19(月) 19:43:37.32 ID:XkF2k9TP.net] 正常性バイアスというか、それなりに動くものが一度出来ちゃうとそれに固執しちゃうのは初心者っぽくはある たぶんもっと簡単に抜ける条件があるのに回数(しかも不定とかイミフ)に囚われすぎ
154 名前:デフォルトの名無しさん mailto:さs [2018/11/19(月) 20:19:06.74 ID:Bnz7GW+k.net] >>146 回数のほかに理想としてるのは時間ですね >>36 は私なのですが start = gettime() While gettime() - start < 10 if chkimg("gazou",0,,,,,,IMG_MSK_BGR4) BTN(LEFT,CLICK,G_IMG_X,G_IMG_Y) break endif WEND >>37 さんに教えてもらったこのスクリプト物凄く助かりました。 今現在も利用させてもらっています。 これは10秒の間に画像が見つからなければ次の行動に向かわせるマクロなのですが 目的のはenterを10秒間連続で押しても画像が見つからなければ 次の行動に向かうでも目的は達成できますね。 画像が見つかった場合どうしてもそれ様のスクリプトをスタートしないといけないんですよね なので1秒ずつコレを作ってもまたenterを押してしまって 説明が下手ですみません if 画像 見つかったときの処理 else エンター endif を10個用意して試してちょっとおしいって感じだったんですけど結局途中でエンターをずっと連打 してしまうんですよね でもこれでも別の目的のマクロでは使えてるので凄く助かっているのでuwscと 5ちゃんねるには感謝しています。
155 名前:デフォルトの名無しさん mailto:sage [2018/11/19(月) 21:05:53.38 ID:+ZNV2ej4.net] >>147 いったい何のゲームのマクロなんだ?w 有名なMMOの自動戦闘マクロなら結構作ったが、ひとつひとつ手順をつぶしていけばいつのまにか出来てるぞ 索敵してタゲった場合にゲージが出るゲームなら、それをpeekcolorでチェックしたほうが速くて確実 それと、見つかったら発見フラグを立てて、それが存在するときは「エンター動作」とやらをしなけりゃいいだけじゃないのか
156 名前:デフォルトの名無しさん mailto:さ [2018/11/19(月) 21:21:32.06 ID:Bnz7GW+k.net] >>148 すみませんゲーム名はさすがに伏せさせてください 戦闘は一通り作れたのですがもっと手を入れたいのはいわゆる生産系と特殊な行動ですね ある程度ゲーム内通貨を稼げる生産系マクロも作れたのですがあるものにどうしても特殊な動きが必要でさきほどの内容を聞きました
157 名前: わからなくても特別困ってはないのですがわかればもっと便利になるといった感じです。 [] [ここ壊れてます]
158 名前:デフォルトの名無しさん mailto:sage [2018/11/21(水) 16:57:13.35 ID:Idcs0zEb.net] 見つかるまで回す処理にwhile 変数 = falseって形でフラグ使ってるけど変数増えすぎて面倒になってきた 見つかるまで繰り返す処理を実現したい
159 名前:デフォルトの名無しさん mailto:sage [2018/11/21(水) 17:15:39.42 ID:A7QyS99w.net] while !chkimg("a.bmp")とか
160 名前:デフォルトの名無しさん mailto:sage [2018/11/21(水) 17:41:08.13 ID:WARGIWsC.net] ゲームだとカウンタを使うことも多いので、結果的にフラグと同等のものが存在することが多い ので、それで判別しちゃうとか
161 名前:デフォルトの名無しさん mailto:sage [2018/11/21(水) 18:12:22.90 ID:R5CLMRXS.net] while true if chkimg(略) breake 見つかるまで繰り返す処理 skeep(1) wend 超適当だけどこういうのじゃいかんの?
162 名前:デフォルトの名無しさん mailto:sage [2018/11/21(水) 20:33:04.38 ID:cYYMBbSe.net] チェックが複雑になるならメソッドで切り出すのがいいかと while checker(...) exec(...) sleep(1) wend
163 名前:デフォルトの名無しさん mailto:sage [2018/11/23(金) 13:16:42.45 ID:WWSF1RwR.net] >>151 と>>153 のやり方が簡単に取り入れられ便利でした!ありがとうございました!
164 名前:デフォルトの名無しさん mailto:あ [2018/12/01(土) 14:30:51.62 ID:mlx9p/i1.net] 以前質問した>>137 ですが t1=GETTIME() WHILE ((GETTIME()-t1)<3) IF ((CHKIMG("gazou",0,,,,,,IMG_MSK_BGR4) =TRUE)) THEN BREAK KBD(VK_enter) SLEEP(0.7) WEND でついさっき解決しました お騒がせしました もしわからない方がいたら参考にしてください
165 名前:デフォルトの名無しさん mailto:sage [2018/12/01(土) 16:43:58.50 ID:03mmxMXD.net] =TRUEいらねーよ、ほんと何一つ身につかない奴だな…
166 名前:デフォルトの名無しさん mailto:sage [2018/12/01(土) 16:55:12.78 ID:0p3QcmHs.net] こんなゴミコードは参考にしたらあかんで
167 名前:デフォルトの名無しさん mailto:sage [2018/12/01(土) 17:03:05.49 ID:GMnbtXEB.net] こんなものに半月かかったのか… よくこの有様で参考にしてくれとか言えるもんだな
168 名前:デフォルトの名無しさん mailto:sage [2018/12/01(土) 19:53:18.31 ID:sZ8MPu8b.net] まぁuwscの初心者スレだしいいんじゃね 普通ならpythonでChrome操作するし
169 名前:デフォルトの名無しさん mailto:sage [2018/12/01(土) 19:56:00.80 ID:sZ8MPu8b.net] Chromeの話してるの別のuwscスレだったわw
170 名前:デフォルトの名無しさん mailto:sage [2018/12/01(土) 20:02:22.73 ID:jvJ8ZaHQ.net] これはもう初心者とか言うレベルじゃねーわ 初心者でもまともな人間ならもう少しオツム使って考えるわ
171 名前:デフォルトの名無しさん mailto:sage [2018/12/01(土) 21:36:21.31 ID:WGIeQzk8.net] ソフト板から流れてきた普段プログラムなんか書かない奴のリテラシーはこんなもんじゃないの
172 名前:デフォルトの名無しさん mailto:sage [2018/12/03(月) 13:56:00.28 ID:w4MaeKI9.net] noxで以下の用にドラッグドロップを繰り返すようにしているのですが、 これをウィンドウをアクティブ化せずにバックグラウンドで行わせて手前でPCの操作を出来るようにすることは可能でしょうか? ACW(GETID("NoxPlayer","Qt5QWindowIcon"),339,239,425,593,0) FOR X = 1 to 5000 BTN(LEFT,DOWN,641,740,30) MMV(641,755,11) MMV(639,751,10) MMV(569,653,5) MMV(566,646,1) BTN(LEFT,UP,565,644,3) MMV(565,643,15) MMV(564,600,15) BTN(LEFT,DOWN,564,597,47) MMV(563,597,31) MMV(562,597,16) MMV(518,628,16) MMV(513,631,16) MMV(511,633,15) BTN(LEFT,UP,511,634,78) NEXT
173 名前:デフォルトの名無しさん mailto:sage [2018/12/03(月) 14:05:26.11 ID:AISq9KtV.net] >>164 nox_adb使えばいいよ 本スレで話題に上がってた
174 名前:デフォルトの名無しさん mailto:sage [2018/12/03(月) 14:19:38.04 ID:w4MaeKI9.net] >>165 nox-adbでデバイスID指定して、その中の絶対座標でドラッグドロップさせればそれらすべてバックグラウンド処理できるという事でしょうか 試してみます
175 名前:ありがとうございます [] [ここ壊れてます]
176 名前:デフォルトの名無しさん mailto:sage [2018/12/26(水) 19:46:55.86 ID:lZXR1qia.net] 代数の呼び出し?ってどうやるんですか? a = "abcd" fukidasi("a ") SLEEP(5) これだと aしか表示されないです。 auto hot key だと%でくくる奴です。 a := "abcd" MsgBox, 0, , %a% Sleep, 5000
177 名前:デフォルトの名無しさん mailto:sage [2018/12/26(水) 19:51:42.50 ID:50Xsz/KL.net] fukidasi(a)
178 名前:デフォルトの名無しさん mailto:sage [2018/12/26(水) 20:05:12.07 ID:lZXR1qia.net] >>168 サーセン
179 名前:デフォルトの名無しさん mailto:sage [2018/12/27(木) 16:03:50.96 ID:lC6iyiD1.net] デスクトップにあるaaa.txtをデスクトップのa aフォルダに移動したいのですが a = "C:\Users\xxx\Desktop\aaa.txt" b = "C:\Users\xxx\Desktop\a a" DOSCMD("move " + a + " <#DBL>C:\Users\N'o'Te\Desktop\a a<#DBL>") これだと動くのですが、下の記述だと移動してくれません。 DOSCMD("move " + a + " " + b + "") どうすれば動のでしょうか。
180 名前:デフォルトの名無しさん mailto:sage [2018/12/27(木) 16:10:54.01 ID:Lwj8mmb4.net] >>170 まずはdoscmdの返り値で何のエラーか確認する てかダブルクォート外しちゃったからってだけだろうけど
181 名前:デフォルトの名無しさん mailto:sage [2018/12/27(木) 16:41:38.79 ID:lC6iyiD1.net] 返り値の出し方わからなかったんですけどダブルクォートつけたらうごきました。 b = "<#DBL>C:\Users\xxx\Desktop\a a<#DBL>" これで良いぽいです。
182 名前:デフォルトの名無しさん mailto:sage [2018/12/27(木) 22:25:30.23 ID:TffHzaDx.net] DOSCMD("move <#DBL>" + a + "<#DBL> <#DBL>" + b + "<#DBL>") とすれば "a","b" どちらのフルパス名内にスペースがあっても大丈夫
183 名前:デフォルトの名無しさん mailto:sage [2018/12/28(金) 06:37:12.07 ID:/5L8Sx5/.net] >>172 返り値てかコマンドプロンプトの標準出力だけど doscmd自体が文字列返す関数なので変数に代入してもいいし、直接fukidasiとかに突っ込んでもおk
184 名前:デフォルトの名無しさん mailto:sage [2019/01/03(木) 13:52:12.02 ID:ouJm8ahfS] SELECTSLCTBOX関数SLCT_CHKでチェック欄が複数出る場合に、 一つだけチェック入れて「OK」アイコンをクリックした場合は うまく行くのですが、二つ以上チェック入れて「OK」すると DEFAULTになってしまいます。二つ以上チェック入れてそれらを 全部実行させる方法はないでしょうか? x = 0 y = 0 SELECT SLCTBOX(SLCT_CHK,30,"test","a","b") CASE SLCT_1 x = 1 CASE SLCT_2 y = 1 DEFAULT x = 2 y = 2 SELEND PRINT x PRINT y
185 名前:デフォルトの名無しさん mailto:sage [2019/01/09(水) 18:25:52.61 ID:pINC7IeU.net] UWSCからプログラムに初めて触れる程度の初心者です。 画像認識について質問があります 現在複数の画像を設定してクリックするというコードを書いています。 While True ifb chking(“画像名1.bmp”) btn() elseif chking (“画像名2.bmp”) btn() .... Wend という文章になっており無駄が多いです。 それで一度検出した画像の検出をさせないプログラムを書きたいのですがそのような事は可能なのでしょうか?その際に使用する関数などアドバイスをしていただきたいです。
186 名前:デフォルトの名無しさん mailto:sage [2019/01/09(水) 18:34:28.37 ID:+1cYlkH0.net] 単純にチェック済みフラグ立てて画像認識の前にif置けばいいんでね
187 名前:デフォルトの名無しさん mailto:sage [2019/01/09(水) 19:12:31.19 ID:pINC7IeU.net] >>177 !! その話詳しく聞かせて欲しいです。 While True if chking(“画像名1.bmp”) else ifb chking(“画像名1.bmp”) btn() if chking(“画像名2.bmp”) else elseif chking (“画像名2.bmp”) btn() .... Wend というわけではないですよね... 画像名1.bmp=0
188 名前:ネら画像認識、1なら画像認識しない のような文を追加するのでしょうか? [] [ここ壊れてます]
189 名前:デフォルトの名無しさん mailto:sage [2019/01/09(水) 19:32:53.70 ID:W2TzwIR9.net] そういうこと フラグの方法だと画像の枚数分フラグが必要になる 俺の提案 画像ファイル名を配列に格納してヒットしたら配列の要素にtrue格納する 当然画像検索前に要素がtrueか否かチェックする
190 名前:デフォルトの名無しさん mailto:sage [2019/01/09(水) 19:58:12.98 ID:+1cYlkH0.net] >>178 まあ、実装方法は色々ある 最終的には配列を引数にした関数までいくと脱初心者って感じだが自分が言ったのは /a = true /b = true /略 /while true / if a and chkimg(“a.bmp”) then / btn() / a = false / endif / if b and chkimg(“b.bmp”) then /略 /wend みたいなの 行頭の/はインデントの為なので気にしないで
191 名前:デフォルトの名無しさん mailto:sage [2019/01/09(水) 19:58:28.44 ID:pINC7IeU.net] >>179 本当に本当にありがとうございます!! 私の考えているコードです!! 本当にC言語等学んだ事がないので助かりました。 DIM gazou[]=“画像1.bmp”,”画像2.bmp”,”画像3.bmp” DIM flag[]=0,0,0 For num = 0 to length(gazou)-1 ifb flag[num]=0 ifb chking(“gazou[num]”) btn() num=num+1 else num=+1 NEXT かなり短縮することができました。 ただフラグを追加した途端文が不安になってしまいました。
192 名前:デフォルトの名無しさん mailto:sage [2019/01/09(水) 20:03:46.42 ID:pINC7IeU.net] >>180 あーなるほど!考えてくださりありがとうございます a and chkingという使い方が良さそうですね >>181 の文を少し編集してみます!
193 名前:デフォルトの名無しさん mailto:sage [2019/01/09(水) 20:08:47.81 ID:+1cYlkH0.net] >>181 for〜nextの中で添字操作したらダメだよ nextが勝手にやるからいらない てかそれだと一周しかしないからwhileと組み合わせてね
194 名前:デフォルトの名無しさん [2019/01/09(水) 20:14:05.78 ID:DJbFsP/v.net] >>183 あっー!そういえばいりませんねw アドバイスありがとうございます あとこれのフラグを配列化したいのですがa,b,cは定数ですよね? 配列の中に入ったままa=trueなどの情報を持てるのでしょうか? DIM gazou[]=“画像1.bmp”,”画像2.bmp”,”画像3.bmp” DIM flag[]= a,b,c a = true b = true c = true while true for num=0 to length(gazou)-1 if a and chkimg(“gazou[num]”) then btn() a = false next wend
195 名前:デフォルトの名無しさん mailto:sage [2019/01/09(水) 20:15:43.50 ID:pINC7IeU.net] ごめんなさいId変わってますが同一人物です
196 名前:デフォルトの名無しさん [2019/01/09(水) 20:19:13.03 ID:DJbFsP/v.net] ごめんなさい解決しました! 付き合ってくださった方々ありがとうございます 画像が増えるたびa=trueを追加していけば以下の文章で大丈夫そうですね DIM gazou[]=“画像1.bmp”,”画像2.bmp”,”画像3.bmp” DIM flag[]= a,b,c a = true b = true c = true while true for num=0 to length(gazou)-1 if flag[num] and chkimg(“gazou[num]”) then btn() flag[num] = false next wend
197 名前:デフォルトの名無しさん mailto:sage [2019/01/09(水) 20:21:39.60 ID:W2TzwIR9.net] >>186 画像がヒットしたらgazouに格納されてるファイル名をtrueで上書きすると言いたかった そしたら配列のフラグいらなくなるでしょ
198 名前:デフォルトの名無しさん mailto:sage [2019/01/09(水) 20:28:17.81 ID:+1cYlkH0.net] >>186 そうやるなら DIM flag[]= true, true, true だね
199 名前:デフォルトの名無しさん [2019/01/09(水) 20:31:57.46 ID:DJbFsP/v.net] >>187 !!確かにそれを使えばもっと短くできますね やってみます
200 名前:デフォルトの名無しさん [2019/01/09(水) 20:36:48.88 ID:DJbFsP/v.net] 色々アドバイスありがとうございます DIM gazou[]=“画像1.bmp”,”画像2.bmp”,”画像3.bmp” while true for num=0 to length(gazou)-1 if gazou[num]!==flase and chkimg(“gazou[num]”) then btn() gazou[num] = false next wend これ完璧ですね!自宅に帰り次第実行させてみたいと思います!!
201 名前:デフォルトの名無しさん mailto:sage [2019/01/09(水) 21:28:06.29 ID:pINC7IeU.net] 本日ライセンス購入の件をumiumiさんに問い合わせをしたのですがやはり購入は厳しいですよね...
202 名前:デフォルトの名無しさん mailto:sage [2019/01/09(水) 22:51:04.96 ID:W2TzwIR9.net] 無理じゃないかねえ、返信あったらスレに報告して欲しい
203 名前:デフォルトの名無しさん [2019/01/12(土) 20:42:30.37 ID:0UO0qOat.net] この前コードの相談に乗っていたものです コードは完成したのですが DIM gazou[]="unko(1).bmp","unko(2).bmp","unko(3).bmp","unko(4).bmp","unko(5).bmp" //画像名 WHILE TRUE for num=0 to length(gazou)-1 //クリック対象マークの画像ファイルを指定 IFB gazou[num]=true and CHKIMG("gazou[num]") //クリック対象の画像が見つかった場合
204 名前:、その画像をクリック BTN() //クリック後はプログラムを終了する gazou[num] = true ENDIF //監視時間間隔[s] SLEEP(0.1) next WEND これで実行した場合chking("gazou[num]")が配列から使用されずgazou[num].bmpとして反映されてしまいunko(1)bmpとして反映されません chkingの中では配列を使用することが出来ないのでしょうか?アドバイスお願いします またproライセンスの購入の件ですがまだ返信が来てません [] [ここ壊れてます]
205 名前:デフォルトの名無しさん mailto:sage [2019/01/12(土) 21:04:21.05 ID:AXIFw4s9.net] CHKIMG(gazou[num]) ダブルクォーテーションいらない
206 名前:デフォルトの名無しさん mailto:sage [2019/01/12(土) 21:08:06.71 ID:HvhCDbr8.net] 別にuwscに限った話でもないんだが、文字列をダブルクォートで囲うというのは、プログラム的な解釈をさせずそのままの文字列で扱って下さいということ 引数に文字列をわたしたいからといってダブルクォートで囲う必要はない
207 名前:デフォルトの名無しさん mailto:sage [2019/01/12(土) 21:15:06.03 ID:0UO0qOat.net] 返信ありがとうございます!! 配列使うの初めてで勘違いしてました。実行する事ができました!本当にありがとうございます! あとumiumiさんから返信が来た場合連絡に来ます
208 名前:デフォルトの名無しさん mailto:sage [2019/01/12(土) 21:29:00.23 ID:HvhCDbr8.net] てかtrueの時はチェックさせないんだから!=では
209 名前:デフォルトの名無しさん mailto:sage [2019/01/17(木) 17:37:08.88 ID:ywa0zm07.net] UWSCのスクリプトの停止をALT+F2から変えたいんですが、 設定を見たところ、2つのキーを押すしか選択肢がないみたいなんですが、 これをEscキーのみに変えられないでしょうか?
210 名前:デフォルトの名無しさん mailto:sage [2019/01/17(木) 18:07:29.42 ID:3kooyktr.net] 設定のところでは無理みたいだからスクリプト内で キーを監視して押されたら止めるのを組み込むしかないね
211 名前:デフォルトの名無しさん mailto:sage [2019/01/17(木) 18:15:04.25 ID:pnYdwJsv.net] >>198 変えられない コードでesc押したら終了するように書いておく ループの先頭に if GETKEYSTATE(VK_ESC) then exit みたいな感じ
212 名前:197 mailto:sage [2019/01/17(木) 19:51:17.64 ID:ywa0zm07.net] どうもありがとうございます。スクリプトの方に記述しておきました。
213 名前:デフォルトの名無しさん [2019/01/24(木) 13:58:09.20 ID:Vpq0nFz5.net] マウスを取られずにドラッグ&ドロップの動作を行いたいのですがうまく動作しません。 現状はウィンドウIDを取得して mouseorg(id,2) btn(left,down,x1,y1) mmv(x2,y2) btn(left,up,x3,y3) としています。left,downまではできているようなのですがおそらくmmvが動作していない感じがします。 mouseorg(id,0)の場合はちゃんと動作するので原因が分からず困っております。 たかがドラッグ&ドロップ程度のことができないなんてことはないと思うのですがどなたか分かる方いらっしゃいませんでしょうか?
214 名前:デフォルトの名無しさん mailto:sage [2019/01/24(木) 14:25:47.31 ID:AXBwS8sa.net] >>202 ちょっとでもググって調べたらわかる事だけど、そのコードだけでは動作が早すぎる
215 名前:デフォルトの名無しさん mailto:sage [2019/01/25(金) 03:55:18.58 ID:djc20dkg.net] まずmmv挟む必要あるのかってのと遅延入れないとアプリ側で処理が追いつかない場合が多い
216 名前:デフォルトの名無しさん mailto:sage [2019/01/28(月) 03:10:09.68 ID:a09O8V2t.net] 六ヶ所あるポイントをランダムで五ヶ所クリックさせたいのですが、良い方法を教えてください。 ポイント1 x座標100 y座標185 ポイント2 x座標258y座標296 ポイント3x座標315y座標580 以下略 今書こうとしてるのが for i = 0 to 4 BTN(LEFT,CLICK,ここをランダムなポイントにしたい) next アドバイスよろしくお願いします。
217 名前:デフォルトの名無しさん mailto:sage [2019/01/28(月) 08:20:03.77 ID:kcLCmioN.net] >>205 配列とrandom
218 名前:デフォルトの名無しさん mailto:sage [2019/01/28(月) 13:16:10.93 ID:M4hiQU5j.net] randomで分岐してBTNのほうが 可読性が高くて俺は好き
219 名前:デフォルトの名無しさん mailto:sage [2019/01/28(月) 13:47:58.51 ID:yROeBYe4.net] 分岐は座標設定だけにしてBTNは1行にしようよ
220 名前:デフォルトの名無しさん mailto:sage [2019/01/28(月) 14:46:35.06 ID:Cl/r/hmy.net] クリックしないポイントん乱数できめる
221 名前:デフォルトの名無しさん mailto:sage [2019/01/28(月) 21:36:38.76 ID:3+HKzeym.net] アドバイスって言うかお前ら暇なんだろ
222 名前:俺のためにはよ作れ [] [ここ壊れてます]
223 名前:デフォルトの名無しさん mailto:sage [2019/01/28(月) 23:59:09.72 ID:UNSPa4Eu.net] 何を作ればいいですか?
224 名前:デフォルトの名無しさん [2019/01/29(火) 02:43:56.37 ID:IO64zMNw.net] >>203 201です。書き忘れていて申し訳ありませんがsleepはいろいろ数値を変えて各動作に0~2秒程度余裕を持たせて試しています。 mmvも必要ないかもと思い抜いてみたりしましたが結果は変わりません。 そもそも裏動作でドラッグ&ドロップは可能なのでしょうか? 可か不可だけでも教えていただけると嬉しいです。
225 名前:デフォルトの名無しさん mailto:sage [2019/01/29(火) 02:51:47.66 ID:LOO3gYN5.net] >>212 裏動作できるかどうかはそのアプリ次第 簡単な確認方法として裏動作させて IDでSAVEIMGして正常にスクリーンショット取れればできる 取れなければできない
226 名前:デフォルトの名無しさん [2019/02/17(日) 20:05:21.25 ID:z/uMXN8p.net] CHKIMGXで画像の色を判定したいんですけどできますか? 例えば、元の画像が灰色だったらfalseが返ってくるようにしたいです。
227 名前:デフォルトの名無しさん mailto:sage [2019/02/17(日) 21:23:07.92 ID:QHQeXIGO.net] !chkimgx(gray.bmp) 色を取得したいという話ならpeekcolor ただし座標の指定になる
228 名前:デフォルトの名無しさん [2019/02/17(日) 22:00:13.55 ID:z/uMXN8p.net] >>215 CHKIMGX(temp.bmp)の画像の色が同じじゃないときに処理通っちゃうんですけどそれは仕様ですか?
229 名前:デフォルトの名無しさん mailto:sage [2019/02/17(日) 22:08:55.58 ID:QHQeXIGO.net] >>216 説明がめんどくさいから とりあえずchkimgxを含めた前後のコード貼ってくれ
230 名前:デフォルトの名無しさん mailto:sage [2019/02/18(月) 07:07:31.39 ID:JSWq4P0e.net] >>216 そういう機能が既にある CHKIMGX( 画像名, [ID, x1, y1, x2, y2, 番号, 判定閾値, 着目する色] ) 着目する色: 指定した色とどれだけ近いかでグレースケール化した画像を使ってマッチングの計算を行う。文字の色などを指定することで背景の変化に強いマッチング判定を行うことが可能 着目する色の引数に認識したいカラーコードを入れればOK。「色 判定 アプリ」とかで検索すれば認識したい画像からカラーコード生成できるサイトは引っ掛かる。 これで色違いでの誤動作はだいたい弾いてくれるよ
231 名前:デフォルトの名無しさん mailto:sage [2019/02/18(月) 11:57:12.20 ID:B+vGb4gg.net] 色の差(閾値)を考慮する機能、いつ頃実装されたのか個人的に興味ある 15年前には無かったような気がするんだが
232 名前:デフォルトの名無しさん [2019/02/18(月) 21:39:57.37 ID:2CdapbG+.net] >>217 イメージはこんな感じの処理を期待しています。 https://imgur.com/Ax1fWdO CALL ChkImgX.uws winid = getid("Main") x1 = 0 y1 = 0 x2 = 1280 y2 = 720 Detect_num = 1 Threshold_delta = 5 Target_color = -1 startup_chkimgx() ifb CHKIMGX("pic/select.png" , winid , x1 , y1 , x2 , y2 , Detect_num , Threshold_delta , Target_color) CMD = "cd C:\Program Files (x86)\Nox\bin & nox_adb shell input touchscreen tap " + G_IMGX_X + " " + G_IMGX_Y DOSCMD(CMD) endif shutdown_chkimgx()
233 名前:デフォルトの名無しさん mailto:sage [2019/02/18(月) 22:39:55.29 ID:nrhNd94Q.net] >>220 スクリプトに問題はなさそう 閾値を調整しても駄目なんだよね? あと対象の画像をsaveimgで保存した画像で検索したらどうなるか 着目する色を指定するまでもない画像だとおもうんだけど
234 名前:デフォルトの名無しさん mailto:sage [2019/02/18(月) 23:02:29.08 ID:CU6zYEEj.net] ChkImgXは画像モノクロに加工して走査
235 名前:するからグレーボタンなんて閾値しだいかも これなら完全一致でChkImgのほうが良かったりして その際元画像はもう一回り青色範囲内にして背景含めない必要かな [] [ここ壊れてます]
236 名前:デフォルトの名無しさん mailto:sage [2019/02/19(火) 01:41:50.90 ID:Wcea5l1h.net] >>220 chkimgxは指定した判定画像に「近い」ものを探している かつ高速化の為に内部では判定画像も画面もグレースケール化して処理をしている (綺麗なグレースケールでなくかなりざっくりしたもの) なのでボタン背景色の違いはグレースケール化によって判別出来ない あるいは、あえて背景の青を着目色として指定すると青色有無が判定画像に強調されるので判別できるかもしれない ただしその場合、文字が消えてボタンの誤判定が発生すると思われる というわけで、素直にchkimg使ったらという>>222 に同意
237 名前:デフォルトの名無しさん [2019/02/19(火) 20:27:55.49 ID:/Cx1K2A5.net] >>221 ,222,223 ありがとうございます 参考にしてちょっとやってみます
238 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 00:57:44.21 ID:yFQrIlgr.net] すみません別のUWSCスレにも書いたんですが クリックがうまくされず、待機時間など入れてみましたが失敗することが多く、 どのタイミングでクリックしてるのか見るためにBTN(LEFT,CLICK,)の前に print "クリックします" という処理を入れたらなぜか確実にクリックされるようになったのですが、何が原因なのでしょうか?
239 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 17:08:59.22 ID:kABtCqRT.net] メッセージループやフォーカス問題かな アイドル状態になるまでメッセージループ回しつつ待機する処理を置く
240 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 17:20:18.72 ID:qrlmwqjK.net] いや単に実行速度が早すぎるだけでしょ sleep入れるかbtnの引数見て待ち時間入れればいい
241 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 17:22:38.46 ID:pzt1chqt.net] >>225 btn失敗するときはたいていウィンドウが非アクティブになってて1クリック目が受け付けられてないことが多いからウィンドウのアクティブ化を書いてあげると確実になる
242 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 17:56:05.87 ID:yFQrIlgr.net] ありがとうございます。 とりあえず使えてはいますが毎回 ”クリックします” が表示されるので困ってます。 BTN(LEFT,CLICK,,,100)では失敗が多く、sleep(5)では機能しますが遅すぎるので、 print "クリックします"を仕方なく使っています 失敗するのはランダムなのでウィンドウはアクティブになっていると思うのですが。
243 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 18:00:11.83 ID:yFQrIlgr.net] クリックが長押しになっているのが原因のような気がしています 画面がドラッグされてしまうことが多いので
244 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 21:35:40.19 ID:qrlmwqjK.net] >>230 よく分からないので再現できる程度のコード貼ってくれないか? アプリ隠したいならペイントでも電卓でも適当なものでいいからさ もしそれらで再現しないなら操作したいアプリ側の仕様もあるかもしれないし、切り分けの一助にはなるだろう
245 名前:デフォルトの名無しさん [2019/04/02(火) 13:20:23.00 ID:VFSC/5Or.net] INIファイルで16進表記はできないでしょうか? UWSC INI 16進 で調べてみたけど見つかりませんでした わかる方いたら教えてください 因みに$FFでは駄目でした
246 名前:デフォルトの名無しさん mailto:sage [2019/04/02(火) 13:43:08.63 ID:jgYgVP75.net] >>232 10進数じゃなければ文字列として扱われるので その文字列を自力で変換するしかない
247 名前:デフォルトの名無しさん [2019/04/02(火) 19:46:22.94 ID:Vs75GbqA.net] EVAL
248 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 02:47:11.35 ID:YAySA4WV.net] DIM writetval = $0000FFFF WRITEINI( "section", "hex", num_to_hexstr(writetval,8)) DIM readeval = hexstr_to_num(READINI( "section", "hex")) MSGBOX(num_to_hexstr(readeval,8)) FUNCTION num_to_hexstr(num
249 名前:, iwidth) RESULT = "$"+REPLACE(FORMAT(num, iwidth,-1)," ","0") FEND FUNCTION hexstr_to_num(strhex) RESULT = EVAL(strhex) FEND [] [ここ壊れてます]
250 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 12:52:33.87 ID:C44A9NNj.net] 得られる結果は同じだが EVAL より VAL のほうが素直だったな
251 名前:デフォルトの名無しさん mailto:sage [2019/04/09(火) 23:02:37.42 ID:hVRP1zbV.net] UWSCでIBM大型計算機エミュレーターの制御はできるのだろうか? 録画機能を使ってもうまく録画してくれない
252 名前:デフォルトの名無しさん mailto:sage [2019/04/09(火) 23:56:12.98 ID:elRErDJW.net] TSO(TSS)かね? P-COMとかFalconとかソフト名含めてググれば(UWSCじゃなくてVBSとかで)多少事例は出てくるだろう てかそもそもエミュレータにマクロ機能ついてて外部ソフトで操作する必要はないと思うんだけど
253 名前:デフォルトの名無しさん mailto:sage [2019/04/10(水) 04:23:21.00 ID:P1NdIghv.net] 汎用機のエミュレータなんてあるのかよ 知らんかった
254 名前:デフォルトの名無しさん mailto:sage [2019/04/10(水) 08:14:42.95 ID:m7iPF43E.net] >>239 いや汎用機のエミュレータって例外的にコンソール端末のエミュレータを指すんだよ
255 名前:デフォルトの名無しさん mailto:sage [2019/04/10(水) 09:15:41.71 ID:84IJZde6.net] PCで他のマシンのエミュレータなどという言葉が認知されるよりずっと前から汎用機の端末エミュレータの方が知られていたわけだが。
256 名前:デフォルトの名無しさん mailto:sage [2019/04/10(水) 19:59:20.55 ID:C73Jm2jh.net] >>238 別業務システムからExcelに落としたデータを 大型計算機に入力していきたいニーズがあり、 ふさわしい手段としてUWSCを選択しました
257 名前:デフォルトの名無しさん mailto:sage [2019/04/10(水) 20:44:34.98 ID:frbWEK8l.net] FTPやっていいか管理者に相談してみれば? 必要なデータ変換方法もこみで
258 名前:デフォルトの名無しさん mailto:sage [2019/04/10(水) 23:22:57.82 ID:m7iPF43E.net] >>242 ISPFで入力フォームがあって転記するのを自動化したいというお話し? そんなことするよりCSVか固定長に直してエミュレータのファイル転送機能かFTPでデータセットにしちゃった方がいいと思うけど まぁとにかくUWSCは全く適してないので、悪いこと言わんからさっさと有識者捕まえて教えてもらいな
259 名前:デフォルトの名無しさん mailto:sage [2019/04/15(月) 13:11:00.13 ID:R0+d+gEp.net] https://qiita.com/macro_no_deshi/items/dd3b3405123bad0cfe4a ここを参考に、NOXで裏マクロ化したいのですが動作しません IF CHKIMGX( "画像1.bmp", winid, x1, y1, x2, y2, Detect_num, Threshold_delta, Target_color) BTN(LEFT, CLICK, G_IMGX_X+300, G_IMGX_Y+200) ENDIF これで動作するマクロを裏マクロ化したいので、上記HPを参考に以下の記述にしてみましたが動作しません NOXの保存先はデフォルトです IF CHKIMGX( "画像1.bmp", winid, x1, y1, x2, y2, Detect_num, Threshold_delta, Target_color) CMD = "cd C:\Program Files (x86)\Nox\bin & nox_adb shell input touchscreen tap " + (G_IMGX_X+300) + " " + (G_IMGX_Y+200) PRINT CMD DOSCMD(CMD) ENDIF PRINTで表示されるテキストには、以下のように記載されています cd C:\Program Files (x86)\Nox\bin & nox_adb shell input touchscreen tap 440 300 コマンドプロンプトで直接入力すると以下のように返ってきます error: no devices/emulators found
260 名前:デフォルトの名無しさん mailto:sage [2019/04/15(月) 13:31:06.08 ID:cJYPoSuP.net] >>245 no devices/emulators found エミュレーターが接続されていませんよと出てるので今立ち上げているエミュがadbに接続されているか確認 複数立ち上げているならマクロを回したいエミュを指定する必要がある no devices/emulators foundまで表示されているということはnox_adbまではコマンドが通っているはずだからその先を見直す
261 名前:デフォルトの名無しさん mailto:sage [2019/04/16(火) 16:11:07.01 ID:OH4xxM/G.net] エンコードの自動化をしたいのですが、エンコードソフトにファイルを渡した時、 たまにエラーが出るのですがそれを回避したいです。 エラー時はコマンドウインドウが出るので "いいえ"を選択
262 名前:キれば回避できます。 if ID = -1 でエラーウインドウが出なかった場合は行けるのですが エラーウインドウが出た場合の指定ってできるのですか? 一応下のコマンドで作ってみたのですが、動くには動くのですがエラーが出なかった場合10秒ほど 止まってしまい、その後動き始めます。 うまく動かすにはどうすればいいのでしょうか 質問id=GetID("質問","Qt5QWindowIcon") IF 質問id = -1 ELSE clkitem(質問id,"いいえ",CLK_BTN) endif [] [ここ壊れてます]
263 名前:デフォルトの名無しさん mailto:sage [2019/04/16(火) 16:18:38.91 ID:8xPkTgw7.net] >>247 ヘルプより 戻値 = GETID( タイトル, [クラス名, 待ち時間秒, MDI子タイトル] ) 待ち時間秒: 確認できるまで指定された秒数待ちます (0.01〜) 0: 0.1〜10秒まで状況や負荷により自動判断 (デフォルト) -1: 無期限待ち
264 名前:246 mailto:sage [2019/04/16(火) 16:52:24.80 ID:OH4xxM/G.net] >>248 質問id=GetID("質問","Qt5QWindowIcon",0.5,) こうしたらサクッと動きました! ありがとうございます。
265 名前:デフォルトの名無しさん mailto:sage [2019/04/24(水) 22:39:44.25 ID:HpurvKDn.net] 私も>>245 と同じサイト見て裏マクロを実行しようとしているのですがうまくいきません 認識した位置でSAVEIMGを使って確認すると、認識している位置はあっていましたが、 ペイントソフトを入れてどこをタップしてるのか見ると認識したところからずれているのが分かりました 縮尺がずれているような感じなのですがなぜそうなったのかがわかりません
266 名前:デフォルトの名無しさん mailto:sage [2019/04/24(水) 23:08:04.34 ID:HpurvKDn.net] 手探りで調節すると x方向に1.8倍、y方向に1.9倍ぐらいすれば近いようになるのですがよくわかりません…
267 名前:デフォルトの名無しさん mailto:sage [2019/04/25(木) 00:53:43.08 ID:/PrCm3A4.net] >>250-251 Noxでやってるって話ならウインドウ縮小してるのでは? 当然ながらデスクトップの解像度よりNoxは小さいサイズで縮尺100%の状態で座標判定する必要がある (設定からウインドウサイズの復元でサイズ100%になる) 注意点は縦画面のアプリ、横のサイズが縦になるから入らなくなるので自動で縮小される
268 名前:デフォルトの名無しさん mailto:sage [2019/04/25(木) 01:18:48.74 ID:nkG7yKYZ.net] Yだけズレてるなら画面枠だろ マクロ解説のqiitaの最後の方に書いてる
269 名前:デフォルトの名無しさん mailto:sage [2019/04/25(木) 14:40:58.77 ID:nqSsKFf7.net] >>252 >>253 解像度を携帯電話720×1280でやってましたが PCの解像度が低くて自動的に縮小されてたんですね カスタムで360×640のサイズにしたら狙った通りの場所をタップしてくれました マクロ以前の話でしたね… レス有難うございました
270 名前:デフォルトの名無しさん mailto:sage [2019/05/07(火) 19:34:12.96 ID:tBIfA+Hb.net] 音が止まったら(無音状態になったら)クリックする というマクロを作りたいのですが音が出ているか出ていないかを検知する関数はないのでしょうか?
271 名前:デフォルトの名無しさん mailto:sage [2019/05/07(火) 21:18:38.19 ID:uIMNwWvX.net] >>255 そんな関数あるわけないじゃん やり方はいくらか思いつくが ・サウンドドライバから出力レベルを取る ・常駐するレベルメーターを表示するソフトを使って画像認識する
272 名前:デフォルトの名無しさん mailto:sage [2019/05/07(火) 23:25:46.31 ID:L8iv3v8M.net] >>255 音って何? マイクから拾う音? PCが出してる音?
273 名前:デフォルトの名無しさん mailto:sage [2019/05/07(火) 23:33:02.29 ID:tBIfA+Hb.net] >>256 サウンドドライバから出力レベルを取る方法が知りたいです 教えてください >>257 PCから出してる音
274 名前:デフォルトの名無しさん mailto:sage [2019/05/07(火) 23:42:30.40 ID:uIMNwWvX.net] >>258 具体的な方法は知らん それこそレベルメーターのソースでも読んでくれよ
275 名前:デフォルトの名無しさん mailto:sage [2019/05/08(水) 20:51:34.11 ID:bLQQQcYM.net] 高速リアルタイム スペクトラムアナライザー WaveSpectra http:/
276 名前:/efu.jp.net/soft/ws/ws.html WS151.ZIP とかで上の波形が直線になることを画像認識するのがお手軽と思う Core Audio Interfaces https://docs.microsoft.com/en-us/windows/desktop/coreaudio/core-audio-interfaces IAudioPeakMeter interface https://docs.microsoft.com/en-us/windows/desktop/api/Devicetopology/nn-devicetopology-iaudiopeakmeter IAudioPeakMeter interface https://docs.microsoft.com/en-us/windows/desktop/api/Endpointvolume/nn-endpointvolume-iaudiometerinformation For a code example that uses the IAudioMeterInformation interface, see Peak Meters https://docs.microsoft.com/ja-jp/windows/desktop/CoreAudio/peak-meters hr = pMeterInfo->GetPeakValue(&peak); IAudioMeterInformation::GetPeakValue method https://docs.microsoft.com/en-us/windows/desktop/api/Endpointvolume/nf-endpointvolume-iaudiometerinformation-getpeakvalue ↓これはPowershellでの例 .net – ウィンドウが現在サウンドを再生しているかどうかを調べる https://codeday.me/jp/qa/20190319/438303.html [] [ここ壊れてます]
277 名前:デフォルトの名無しさん mailto:sage [2019/05/09(木) 20:25:45.26 ID:Tv5gs4em.net] >>260 試してみたけど これそのまんますんなり使えるな https://codeday.me/jp/qa/20190319/438303.html Add-Type -TypeDefinition @' から '@ までの後ろに [Foo.Bar]::IsWindowsPlayingSound() を付け足して IsWindowsPlayingSound.ps1で保存 DIM playng = POWERSHELL("C:\TEST\IsWindowsPlayingSound.ps1") で音が出てればTrue、出ていなければFalseが返るようになる 今までPOWERSHELLスクリプトを実行したことがなれれば 実行できないとエラーがでるので管理者権限でポリシーの設定が必要 UWSCでpowershell()関数使ったらエラー出た問題 https://stuncloud.wordpress.com/2014/07/10/uwsc_powershell_func_had_error/ もしくはPOWERSHELL()でなくDOSCMD()を使って DIM playng = DOSCMD("powershell -ExecutionPolicy RemoteSigned -File C:\TEST\IsWindowsPlayingSound.ps1")
278 名前:デフォルトの名無しさん mailto:sage [2019/05/09(木) 20:32:53.56 ID:Tv5gs4em.net] 数値として取りたい場合は public static bool IsWindowsPlayingSound() を public static float GetWindowsPlayingSoundLevel() にして return value > 1E-08; を return value; [Foo.Bar]::IsWindowsPlayingSound() を [Foo.Bar]::GetWindowsPlayingSoundLevel() にすれば 数値としてとれるようになる
279 名前:デフォルトの名無しさん mailto:sage [2019/05/09(木) 22:09:26.74 ID:vpcETFXO.net] いやいや、何でPowerShell経由にするのよ? UWSCに移植できないの?
280 名前:デフォルトの名無しさん mailto:sage [2019/05/09(木) 22:23:47.98 ID:QmBofejm.net] ???
281 名前:デフォルトの名無しさん mailto:sage [2019/05/11(土) 14:40:46.22 ID:DJ2xDk2H.net] この内容ならC#でexe化した方が良いよ
282 名前:デフォルトの名無しさん mailto:sage [2019/05/14(火) 08:05:11.43 ID:sv+72Rh7.net] >>245 のサイトのサンプルコード(完成形)を、画面サイズと画像ファイル名だけ変更して 実行してみたのですが、 jobexp.bmpを発見しました。 cd C:\Program Files (x86)\Nox\bin & nox_adb shell input touchscreen tap 718 183 とテキストだけが繰り返されて、画面がタップされません。 パスをコマンドプロンプトから実行すると、画像認識した座標がタップされるのですが・・・。 どこを見直したら良いでしょうか?
283 名前:デフォルトの名無しさん mailto:sage [2019/05/14(火) 12:37:31.12 ID:1misB5a+.net] >>266 noxのパスを確認 ドライブ跨ぐならそのコードでは通らない
284 名前:デフォルトの名無しさん mailto:sage [2019/05/14(火) 14:48:00.89 ID:sv+72Rh7.net] >>267 ドライブは跨いでいないと思います。デフォルトのCドライブにインストールしてあり、 パスも確認しました。 試しに、 DOSCMD("cd C:\Program Files (x86)\Nox\bin & nox_adb shell input touchscreen tap 718 183") コレだけUWSに書いて実行しましたが、やはりタップされません。 コマンドプロンプトからだとタップされます。何でだろう。
285 名前:デフォルトの名無しさん mailto:sage [2019/05/14(火) 17:45:58.53 ID:0VcVEbfQ.net] コマンドプロンプトで cd C:\Program Files (x86) はスペ
286 名前:ースが入っているからだめ cd "C:\Program Files (x86)" uwscでの"の書き方は<#DBL>なので注意 [] [ここ壊れてます]
287 名前:デフォルトの名無しさん mailto:sage [2019/05/14(火) 18:41:30.62 ID:RRkLRWVV.net] >>268 その結果(doscmdの返り値)のメッセージを確認しよう ちなみにドライブ跨ぎの指摘はnoxとuwscが同じドライブかという話し
288 名前:デフォルトの名無しさん mailto:sage [2019/05/14(火) 19:44:15.43 ID:yddlmgGB.net] GETKEYSTATEの入力キャッチするタイミングがよく分からないです。 SLEEP(30) IFB GETKEYSTATE(VK_A) MSGBOX("Aが押されました") ENDIF て感じでSLEEP中にAキーを押下するとSLEEP後の判定でTRUEになる。 気持ち的にはIFBのタイミングで押下していないとFALSEになると思うんだけど。 そういう仕様なのか自分の環境によるのかどっちなんだろう。
289 名前:デフォルトの名無しさん mailto:sage [2019/05/14(火) 20:35:55.94 ID:sv+72Rh7.net] >>270 PRINT DOSCMD(省略) の出力内容で良いでしょうか? 'nox_adb' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。 で、uwsc自体はDドライブに置いてありまして、これをCドライブへ移したら正常に動作しました。 ドライブ跨ぎってこういう意味だったんですね。 コマンドプロンプトは元々Cドライブなので動作していたと。 >>269 今回はコピペでしたが、自分で書く時は気をつけます。 助言頂いた方ありがとうございました。
290 名前:デフォルトの名無しさん mailto:sage [2019/05/14(火) 22:21:46.02 ID:RRkLRWVV.net] >>271 まあ仕様と言えば仕様 keystateという変数があり、キーボードを押下するとsetされるとイメージすればどうかな getされるまでは他のキーが押されると書き換わり getされるとクリアされる というかそうでないとまさにコード実行のミリ秒タイミングでキーボード押さないと反応出来なくなっちゃうわけで イベントハンドラーではないキー受け付けはこんな仕様になる
291 名前:デフォルトの名無しさん mailto:sage [2019/05/15(水) 01:04:26.89 ID:NO6iccuH.net] chkimgについてですが検索画像は大きいより小さい方が処理速いんでしょうか? どういう検索方法なのかご存知の方居たらざっくりでいいので教えて貰えると嬉しいです
292 名前:デフォルトの名無しさん mailto:sage [2019/05/15(水) 07:49:23.40 ID:l0E6gxGG.net] >>273 なるほど、変数に格納するイメージなら分かりやすいです。 そういう仕様としてやってみます。 ありがとう!
293 名前:デフォルトの名無しさん mailto:sage [2019/05/15(水) 07:59:26.04 ID:AZdJp4Mp.net] >>274 イメージとしては解像度分の1ピクセルずつズラしながら単にビットマップ変数同士を比較してるだけ なのでまず比較用の画像が小さくても大きくても最大試行回数は変わらない 例えば対象が解像度1920*1080のデスクトップ全体であればヒットしない場合の最大は約200万回ということ (はみ出るところを省略してるかは知らない) 比較処理そのものはサイズで大いに影響があると言える 例えば100*100ピクセルの24ビットカラーであれば、3万byte、約30kbが完全一致するか比較が行われる もちろん一回は1ミリ秒にすらならないがなんせ200万回もやれば馬鹿にならない 従って小さいほど速くなる 言うまでもなく検索画像より検索対象をデスクトップ全体ではなくウインドウ内に限定した方が遥かに速くなる (可能なら範囲指定した方がさらに速い) 必ず見つかる状態なら試行回数以下で終わるからいいけど、出現待ちする場合なんかは毎回最大回数空回りさせるので遅くなる
294 名前:デフォルトの名無しさん mailto:sage [2019/05/15(水) 23:05:42.88 ID:NO6iccuH.net] >>276 理解出来ました ありがとうございました
295 名前:デフォルトの名無しさん [2019/05/16(木) 11:03:04.25 ID:k6wqzKwn.net] Chkimgにおいて24bmpで画像認識させたのですが認識してくれませんでした 4重の別
296 名前:Xに撮ったクリックしたい箇所の画像認識、chkingx関数による曖昧認識、色幅を持たせるなどしても認識してくれません また、一回は認識したものの同じクエストに入ったのに2回目は認識しないということもあります これ以外の方法または自分の見落としなどはありますか? [] [ここ壊れてます]
297 名前:デフォルトの名無しさん mailto:sage [2019/05/16(木) 11:07:54.44 ID:/xtfCvGN.net] >>278 saveimgで保存して手を加えずchkimgしてもだめ?
298 名前:デフォルトの名無しさん [2019/05/16(木) 11:13:35.45 ID:k6wqzKwn.net] >>279 ある画像がランダム出現した時に画面全体から探して一致する、その画像をクリックしたいのでペイントに貼って
299 名前:デフォルトの名無しさん [2019/05/16(木) 11:15:54.41 ID:k6wqzKwn.net] >>279 ある画像がランダム出現した時に画面全体から探して一致する、その画像をクリックしたいのでペイントに貼ってトリミングしています Saveimgでもトリミング出来ますか?
300 名前:デフォルトの名無しさん mailto:sage [2019/05/16(木) 11:34:15.95 ID:/xtfCvGN.net] >>281 x,y,幅,高さを指定してsaveimgすればいい
301 名前:デフォルトの名無しさん [2019/05/16(木) 11:41:42.70 ID:k6wqzKwn.net] >>282 やってみます!
302 名前:デフォルトの名無しさん [2019/05/16(木) 19:48:50.75 ID:zw/t/jBa.net] >>282 この方法でも2回目以降が出来ませんでした、chkimgxとの併用は指定範囲が有効ではありません、スタックトレースの取得に失敗って感じでエラー出ます…こちらも良ければ教えてください
303 名前:デフォルトの名無しさん [2019/05/16(木) 20:00:17.42 ID:zw/t/jBa.net] Chkimgxは色幅を持たせていたが故のエラーでした
304 名前:デフォルトの名無しさん mailto:sage [2019/05/17(金) 01:32:37.00 ID:a8AA4Bsn.net] スクリプトが悪い可能性は一切ないの? そうでなければ画像の一部にエフェクトが掛っているか透過色があって完全一致しないとか
305 名前:デフォルトの名無しさん mailto:sage [2019/05/18(土) 17:14:28.38 ID:qzRA2hRY.net] しまった メイン側でプログラム作ってからVPCに持っていったら解像度違うせいか画像認識しないわ… vmwだとWQHD無いのねめんどーくさー
306 名前:デフォルトの名無しさん mailto:sage [2019/05/21(火) 10:26:46.97 ID:UcoHXcCc.net] Chkimgxって64bit版なんてないよね?
307 名前:デフォルトの名無しさん mailto:sage [2019/05/21(火) 12:08:21.57 ID:DJoW+AAC.net] もしあったとしてuwscと何の関係が?
308 名前:デフォルトの名無しさん [2019/05/21(火) 21:50:55.46 ID:9ncm2Kmj.net] ifb chkimg or chkimg or chkimg or のように横に長くor文を続けると見栄えが悪く、修正なども面倒なため、縦に綺麗に並べたいのですが改行するとエラー(or型があっていない)が出ます ifb (~ ~); のようにカッコで括っても無理でした 綺麗にする方法はありますか?
309 名前:デフォルトの名無しさん mailto:sage [2019/05/21(火) 22:00:10.45 ID:GOukkBG2.net] >>290 SELECT - SELEND使えばどうだろう
310 名前:デフォルトの名無しさん mailto:sage [2019/05/21(火) 22:01:42.81 ID:pQ6gs7NX.net] <行結合> _ (アンダーバー) // 行の最後に付ける事により次の行と結合させます
311 名前:デフォルトの名無しさん [2019/05/21(火) 22:11:23.08 ID:9ncm2Kmj.net] >>291 ありがとうございます!今回は行結合を使うことにしました、しかしselect文も場合分けする時に使えそうですし、自分の知らない関数だったので視野が広がりました
312 名前:デフォルトの名無しさん [2019/05/21(火) 22:12:47.36 ID:9ncm2Kmj.net] >>292 検索しても到底見つかることは無かったであろう答えをありがとうございます!おかげで綺麗なコードが書けます!
313 名前:デフォルトの名無しさん mailto:sage [2019/05/22(水) 01:45:18.21 ID:t4YpuTXH.net] >>290 一つのif/ifbに全部orで条件結合すると途中で見つかっても全部チェックするから条件増えるほどパフォーマンス悪くなるし あり得るか知らないけど複数見つかった場合に座標の変数が書き換えられてしまうのでバグの温床にもなるから止めた方がいい 共通した処理を関数化するなりして以下のようにすればさほど可読性は悪くないと思う ifb chkimg(A.bmp) 処理() elseif chkimg(B.bmp) 処理() elseif chkimg(C.bmp) 処理() endif あとSELECTはある特定の変数(関数の戻り値)の評価の列挙だから別の条件のchkimgには使え
314 名前:ネい [] [ここ壊れてます]
315 名前:デフォルトの名無しさん [2019/05/22(水) 09:09:42.03 ID:KgqzAKkh.net] >>295 option shortcircuit を使えばいいだけでは?
316 名前:デフォルトの名無しさん mailto:sage [2019/05/22(水) 12:47:18.70 ID:t4YpuTXH.net] >>296 短絡評価あるの知らんかった…ほんとよく出来てるなあ ならまあ、後は好みでいいかな 自分は別々の処理させたりフラグ建てたりする事が多いから>>295 みたいにしてるけど
317 名前:デフォルトの名無しさん mailto:sage [2019/05/22(水) 19:54:39.43 ID:Q2YhfS/Q.net] ifとifbって何が違うの? >>295 みたいにelseifと混ぜて大丈夫?
318 名前:デフォルトの名無しさん mailto:sage [2019/05/22(水) 19:56:04.78 ID:Q2YhfS/Q.net] ごめんぐぐったら変な仕様なの理解した
319 名前:デフォルトの名無しさん mailto:sage [2019/05/23(木) 17:42:34.32 ID:HnnhfQrk.net] HASHTBL型の変数を簡単にコピーする方法はありませんか? HASHTBL a = HASH_CASECARE a["asd"] = 100 HASHTBL b = HASH_CASECARE b = a とするとシンタックスエラーになってしまいます。 FOR文で回す方法しかありませんか?
320 名前:デフォルトの名無しさん mailto:sage [2019/05/24(金) 01:28:29.43 ID:k9T5g2vH.net] //------------------------------------------------------ // HASHTBL のコピー // dst: コピー先 // src: コピー元 // bCarryKey: 複製/変更 // CarryKey=FALSE(デフォルト)なら通常の複製となる // bCarryKey=TRUEのとき // dstにしか含まれていないキーとそれに関わる値を残す //------------------------------------------------------ FUNCTION HASHTBL_COPY(var dst[],src[],bCarryKey=FALSE) DIM size = LENGTH(src) IFB FALSE=bCarryKey THEN dst = HASH_REMOVEALL ENDIF DIM i FOR i=0 TO size-1 dst[src[i,HASH_KEY]]=src[i,HASH_VAL] NEXT RESULT = LENGTH(dst) FEND 👀 Rock54: Caution(BBR-MD5:1341adc37120578f18dba9451e6c8c3b)
321 名前:デフォルトの名無しさん mailto:sage [2019/05/24(金) 01:30:21.06 ID:k9T5g2vH.net] LOGPRINT( TRUE, 0, 0) HASHTBL hst_a HASHTBL hst_b hst_a["a"]=1 hst_a["c"]=3 hst_b["z"]=26 MSG("hst_aコピー前サイズ="+LENGTH(hst_a)) MSG("hst_bコピー前サイズ="+LENGTH(hst_b)) HASHTBL_COPY(hst_b,hst_a,TRUE) MSG("hst_bコピー(変更)後サイズ="+LENGTH(hst_b)) MSG("hst_b[<#DBL>a<#DBL>]="+hst_b["a"]) MSG("hst_b[<#DBL>c<#DBL>]="+hst_b["c"]) MSG("hst_b[<#DBL>z<#DBL>]="+hst_b["z"]) HASHTBL_COPY(hst_b,hst_a) MSG("hst_bコピー(複製)後サイズ="+LENGTH(hst_b)) MSG("hst_b[<#DBL>a<#DBL>]="+hst_b["a"]) MSG("hst_b[<#DBL>c<#DBL>]="+hst_b["c"]) MSG("hst_b[<#DBL>z<#DBL>]="+hst_b["z"]) MSG("30秒後に終了") SLEEP(30) FUNCTION MSG(str) RESULT=0 PRINT str // MSGBOX(str) FEND
322 名前:デフォルトの名無しさん mailto:sage [2019/05/25(土) 16:57:36.33 ID:kezAIt7g.net] >>301 回答ありがとうございます! やはりFOR文で回す方法になるのですね。 HASHTBLを引数にする時は [] がいることを初めて知りました。 使用方法も合わせて分かりやすい回答ありがとうございました!!
323 名前:デフォルトの名無しさん mailto:sage [2019/05/26(日) 07:21:07.00 ID:gyA6d7Mz.net] noxで画面をスクロールするマクロを作りたいと思い、スワイプで動かそうと思い作って見ましたがダメでした。 DOSCMD("cd C:\Nox\bin & nox_adb shell input touchscreen swipe"+353 + 1107 + 353 + 250 ) アドバイスください。 追加で質問なんですがスワイプとドラックの違いがよくわかりません スワイプは一回タッチして軽く放して動かす。ドラックはタッチしたまま動かす であっているのでしょうか?
324 名前:デフォルトの名無しさん mailto:sage [2019/05/26(日) 09:33:03.37 ID:JiVdzwM6.net] >>304 ダメと言うのはどうなる? …てかもしそのレスの通りのコマンドだとswipeの後にスペースないし、 その後の座標も全部スペースなしで連結されるからシンタックスエラーな気がするが
325 名前:デフォルトの名無しさん mailto:sage [2019/05/26(日) 09:35:17.03 ID:JiVdzwM6.net] >>304 スワイプとドラッグは大差ない 強いて言うならドラッグはタッチして対象を掴んでから自
326 名前:由に動かす スワイプは最初に貯めなく、一定方向に動かす [] [ここ壊れてます]
327 名前:デフォルトの名無しさん mailto:sage [2019/05/26(日) 10:51:33.10 ID:G6snbdcx.net] androidをscrcpyというソフトを使ってでPCで自動化しています BTN(LEFT,CLICK,,,)でクリックがされないことが度々あるのですが、待機時間を入れたり BTN(LEFT,DOWN)BTN(LEFT,UP)のように記述したりしているのですが、失敗することがあります 操作の関係上、必要以上に待機時間を長くすることはできません。 失敗した時に画面を確認するとマウスカーソルはクリックする場所にキチンと移動しているようです 確実にクリックさせる方法はないでしょうか?
328 名前:デフォルトの名無しさん mailto:sage [2019/05/26(日) 19:53:41.40 ID:gyA6d7Mz.net] >>305 実行するとエラーは出ないのですが、何も起きません。 どう書けば動くのかわからないので、アドバイスください。
329 名前:デフォルトの名無しさん mailto:sage [2019/05/26(日) 20:30:10.96 ID:JiVdzwM6.net] >>308 エラーが出ないってのはエラー見てないだけでしょ doscmdはあくまでコマンドプロンプト叩くだけだからコマンド内容が成功しても失敗してもエラーにはならない その代わりコマンドプロンプトで叩いた時の出力が返り値になっているのでそれをprintなりすることで結果を確認できる print doscmd(~) しかしそんなことするまでもなく、まずdoscmdに突っ込もうとしてる文字列を見直しなって それこそprintしたらわかりやすい print (>>304 のdoscmdの()の中身) 後は>>305 に書いた通りなので以下略
330 名前:デフォルトの名無しさん mailto:sage [2019/05/26(日) 21:15:47.46 ID:gyA6d7Mz.net] >>309 Printで確認しながら書いたら動きました。 色々情報ありがとうございました DOSCMD("cd C:\Nox\bin & nox_adb shell input touchscreen swipe "+ 353 + " " + 1107 + " " + 353 + " " + 250 ) これで動きました。
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時間毎にファイルサイズを比較して、変化があればバックアップを取るということをしたいです。 (現在はファイルサイズの変化に関わらずバックアップを取るようにしているため、容量がどんどん増えています) ですが、ファイルサイズの取得方法がググってもイマイチわかりませんでした。 何方か教えていただけませんか?
432 名前:デフォルトの名無しさん [2019/08/31(土) 16:30:13.80 ID:7TXshm9s.net] BETWEENSTR(doscmd(“for %z in (ファイル名) do echo %~zz”), “<#CR>”, “<#CR>”, -1); 試してないので予めごめん。
433 名前:デフォルトの名無しさん mailto:sage [2019/08/31(土) 17:14:37.69 ID:/dYnoZCL.net] >>406 親切にありがとうございます。ダブルクォーテーションを半角に直して、コマンドプロンプトを直接叩くと数字が出てくるのですが、UWSCで PRINT BETWEENSTR(doscmd("for %z in (ファイル名) do echo %~zz"), "<#CR>", "<#CR>", -1); とすると、『ECHO は <ON> です。』と出てきて、数字になりません。どうしたらいいでしょうか。
434 名前:デフォルトの名無しさん mailto:sage [2019/08/31(土) 17:25:18.95 ID:/dYnoZCL.net] 自己解決しました。回答ありがとうございました!
435 名前:デフォルトの名無しさん mailto:sage [2019/08/31(土) 18:08:17.65 ID:0Yc9lQY2.net] uwsc使う必要ないような…?
436 名前:デフォルトの名無しさん mailto:sage [2019/09/01(日) 19:24:18.75 ID:5mFrqnue.net] すみません、以前から同じ問題に悩まされていて、未だに原因が分かりません。 UWSCでandroidを自動化しており、scrcpyというソフトでPCから操作しています。
437 名前:クリックがうまくされないことが多く、待機時間など入れても全く解決しないのですが、 クリックの前に 「print "クリックします"」という記述を入れると問題なくクリックされるようになります。 このような記述を無意味に入れたくはないのですが、原因は何なのでしょうか? [] [ここ壊れてます]
438 名前:デフォルトの名無しさん mailto:sage [2019/09/01(日) 19:46:09.23 ID:5mFrqnue.net] 追加です。 全く同じスクリプトでその症状がWindows10のみに出ます。 Windows7ではprintの記述がなくても問題なくクリックされます。 何かPC側の設定でそのような問題が起きる項目があるのでしょうか?
439 名前:デフォルトの名無しさん mailto:sage [2019/09/01(日) 19:46:25.58 ID:zpdGYnJT.net] 問題が再現するスクリプト貼ってくれよ あと環境やらもね
440 名前:デフォルトの名無しさん mailto:sage [2019/09/01(日) 20:13:35.68 ID:5mFrqnue.net] NGワードやら、改行が多すぎるやらでスクリプトは貼れないです。
441 名前:デフォルトの名無しさん mailto:sage [2019/09/01(日) 20:29:24.70 ID:5mFrqnue.net] 色々検証してみましたが、PRINTでなくも関係ないところを一回クリックすると動作するようです。 なのでBTN(LEFT,CLICK,,)を2回連続して書くと一回クリックされます。 もしくは10秒以上の待機を入れればクリックされました。こちらは待機時間が長すぎて実用性がありません。
442 名前:デフォルトの名無しさん mailto:sage [2019/09/01(日) 20:41:43.66 ID:N1GXnBlH.net] そうですか
443 名前:デフォルトの名無しさん mailto:sage [2019/09/01(日) 21:20:42.64 ID:zpdGYnJT.net] まあ、Windows10だとそういう問題が多々ある 更新止まってるソフトだし解決しない まあ、幸いAndroidの操作ならadbという手があるのでbtnの代わりにdoscmdでadbコマンドに置き換えればいいよ
444 名前:デフォルトの名無しさん mailto:sage [2019/09/01(日) 21:39:50.56 ID:5mFrqnue.net] ありがとうございます。色々調べても同じような解決方法しかないみたいですね。 次はadb shell input touchscreen tap x yを試してみたいと思います。
445 名前:デフォルトの名無しさん mailto:sage [2019/09/02(月) 09:23:16.27 ID:IEOCJvHA.net] サウンドで「プログラムの起動」に何かの音付けると分かるけど win10って見えないプログラムがしょっちゅう起動してる?から フォーカスを奪われたようになってるんでない
446 名前:409 mailto:sage [2019/09/02(月) 15:24:43.08 ID:y60Hvlvu.net] >>418 ありがとうございます。 My Window Loggerというソフトを使って調べてみましたが、 フォーカスは外れていないようです。
447 名前:デフォルトの名無しさん mailto:sage [2019/09/09(月) 11:38:19.09 ID:0frhp+Tu.net] スレチかもしれないんですが、UWSCのスクリプトファイルが複数あって、同じ個所を同時に修正するようなソフトってないですか? WinMergeを使っていますが、3個までしか同時編集できません。
448 名前:デフォルトの名無しさん mailto:sage [2019/09/09(月) 11:38:51.09 ID:TLffwesQ.net] 関数化する
449 名前:デフォルトの名無しさん mailto:sage [2019/09/09(月) 12:17:09.85 ID:eI5EZMSU.net] 関数化というか同じという箇所を別ファイルに切り出してcallするだけでもいい まあ、変数の管理があるので関数化が望ましいかもだけど
450 名前:デフォルトの名無しさん mailto:sage [2019/09/12(木) 14:37:32.43 ID:pwiI+xHT.net] 今まで使ってた物がwin10アプデ後動かなくて調べたら、原因はわかったんだけど、対処法がわからないのでアドバイスください ttps://qiita.com/macro_no_deshi/items/dd3b3405123bad0cfe4a ここのサイトを参考に作ったもので、「サンプルコード(完成形)」の画像を発見したあとの処理にBTN関数を入れると反応がありません。 原因は「MOUSEORGによる補正」の MOUSEORG(winid,MORG_DIRECT,MORG_FORE) が原因みたいです。 MOUSEORG関数について読んだのですが、正直良くわかりませんでした。 削除すれば一応動くのですが、どうしたら良いでしょうか?
451 名前:デフォルトの名無しさん mailto:sage [2019/09/12(木) 15:12:59.56 ID:psJkeShP.net] 過去にもそれ何度か話題になってるけど直接的な解決方法はなかった気がする NoXとかならadbで接続してタップするコマンド送信するとか
452 名前:デフォルトの名無しさん mailto:sage [2019/09/12(木) 18:50:26.13 ID:IcXkdgTx.net] 常にデスクトップに表示してマウス取られていいなら消せばいい それが嫌なら記事の通り
453 名前:デフォルトの名無しさん mailto:sage [2019/09/12(木) 19:48:01.48 ID:pwiI+xHT.net] >>424 そうなんですね。情報ありがとうございます。
454 名前:デフォルトの名無しさん mailto:sage [2019/09/14(土) 18:38:20.96 ID:J9OvsDUU.net] あいまい検索できるCHKIMGXって使うたびにstartup_chkimgxとshutdown_chkimgxではさまないといけないの? startup_chkimgx() while true <処理> wend shutdown_chkimgx() て形ではさむの1回でもあいまい検索できてる気がするんだけど <処理>のところにいくつもchkimgxて書くこと考えると毎回はさむの大変なんだけど楽なやり方ある?
455 名前:デフォルトの名無しさん mailto:sage [2019/09/14(土) 19:00:58.02 ID:suhfvUA6.net] できてりゃいいし、気になるなら何やってるかスクリプトお読みなさいよ
456 名前:デフォルトの名無しさん mailto:sage [2019/09/14(土) 19:29:28.42 ID:T/fmJAyy.net] これはもはや初心者ではなくて考えることを放棄した猿
457 名前:デフォルトの名無しさん mailto:sage [2019/09/16(月) 00:21:03.12 ID:J++fziTo.net] メールアドレスをEXCELからIEのアドレス欄にコピペしようとしたら、コピペ出来ないどころか右クリックもきかない場合はコントロールCもダメなときは、どうすれば良いでしょうか?
458 名前:デフォルトの名無しさん mailto:sage [2019/09/16(月) 02:24:56.23 ID:c545q6Mo.net] python勉強してuwscでやってたこと移行していってるけど chkimgxってめちゃくちゃ使い勝手良かったんだなー うまくここまでいい具合のもの作れないや
459 名前:デフォルトの名無しさん mailto:sage [2019/09/16(月) 03:46:26.17 ID:d0MhJ3Yl.net] chkimgxに相当する物が無いのか 人工知能やweb巡回ロボなどで注目されていから Pythonやってみようかと思っているのに
460 名前:デフォルトの名無しさん mailto:sage [2019/09/16(月) 06:36:15.46 ID:shGVxZhQ.net] >>430 シートの保護を解除する >>431 ,432 ただのopenCVラッパーなので同じように関数化すれば同じ使い勝手だが…?
461 名前:デフォルトの名無しさん mailto:sage [2019/09/16(月) 09:02:03.26 ID:J++fziTo.net] >>433 ありがとうございます。 やってみます
462 名前:デフォルトの名無しさん mailto:sage [2019/09/17(火) 09:29:48.59 ID:Qlpvvbbr.net] OpenCVそのままだね、あいまい検索もパターンマッチングの閾値さげるだけ 連番ファイル名のあいまいとか細かい処理は自分で追加しなきゃいけないけど name, ext = os.path.splitext(FileName) multi = glob.glob(name + '.[0-9]' + ext)
463 名前:デフォルトの名無しさん mailto:sage [2019/09/17(火) 12:15:59.14 ID:W7Brc645.net] 画像の特定の色指定してマッチングとかは? まあここらへんまで実装するのがただのuwscユーザーとしては難しいって意味じゃないの
464 名前:デフォルトの名無しさん mailto:sage [2019/09/17(火) 23:07:48.56 ID:Qcff0eSx.net] 何が難しいのかは本人以外には分からんが難しくたってやりゃできるお手本あるんだからその内できるだろ
465 名前:デフォルトの名無しさん [2019/09/21(土) 15:31:11.62 ID:MHWtiGlt.net] 質問失礼します。 ifb chkimg("画像名",0,,,,,,IMG_MSK_BGR4)=True SLEEP(2) BTN(LEFT,CLICK,G_IMG_X,G_IMG_Y) SLEEP(1) Else endif で画像をクリックしているのですが目標の画像のすぐ下をクリックする方法ってありますでしょうか? 目標の画像が見つかれば座標に関係なくその画像の下にカーソルが少し移動してクリックするといった感じです。 よろしくお願いします。
466 名前:デフォルトの名無しさん mailto:sage [2019/09/21(土) 15:35:02.99 ID:idUljkgM.net] あるんじゃない? 元々そういうソフトだし
467 名前:デフォルトの名無しさん mailto:sage [2019/09/21(土) 15:47:33.83 ID:mk38kF2N.net] 画像の下とはどういう意味か
468 名前:デフォルトの名無しさん [2019/09/21(土) 15:48:10.01 ID:d3d5sbQS.net] BTNの前にいったん適当な変数へG_IMG_Yを コピー代入し、それをずらしたい量だけ増加させてから その変数でBTNを呼ぶ、という単純な話ではなくて?
469 名前:デフォルトの名無しさん mailto:sage [2019/09/21(土) 18:30:07.78 ID:VtT+26ja.net] 検索画像の座標に関係あるのかないのかどっちなんだ クリックするかの判定に画像使ってるだけで実際クリックするボタンの位置固定がなら そもそもg_img_x/y使わず、クリックしたい場所を固定値なり別の変数/定
470 名前:数にしたらいい [] [ここ壊れてます]
471 名前:デフォルトの名無しさん mailto:sage [2019/09/24(火) 21:54:56.01 ID:lGKeQ6/A.net] Edge上でドラッグ&ドロップ動作をエミュレーションしようとしてるけどうまく行かない Edge側の問題っぽいが
472 名前:デフォルトの名無しさん mailto:sage [2019/09/25(水) 02:02:13.55 ID:idiO5sU0.net] EdgeというよりUWPアプリ全般で多分うまくいかないんじゃないの
473 名前:デフォルトの名無しさん [2019/09/26(木) 11:47:45.82 ID:2E8AEgsX.net] UWSCを今日から始めました。 皆様、宜しくおねがいします。 早速なのですがSLEEPについて教えて下さい <理解していること> SLEEP(0.1) 0.1秒スリープ --------------- SLEEP(RANDOM(2)) 0or1or2秒スリープ --------------- <やりたいこと> 0.01秒から1秒の範囲でランダムにスリープしたい場合は どうしたら実現できますか? 皆様のお知恵を宜しくおねがいします。
474 名前:デフォルトの名無しさん mailto:sage [2019/09/26(木) 11:56:29.09 ID:8zbcqLQ8.net] Sleep(Random(100) / 100)
475 名前:デフォルトの名無しさん [2019/09/26(木) 12:09:10.09 ID:2E8AEgsX.net] >>446 早速のご回答有り難うございます。 こういう表記の仕方があるんですね まったく思いつきもしませんでした。 有り難うございます!!!
476 名前:デフォルトの名無しさん mailto:sage [2019/09/26(木) 12:13:50.53 ID:bGOHcRaB.net] randomは引数の範囲最大値は出ないことに注意 例示の引数2の場合で言えば0か1しか出ない で、要するに1〜100の値を求めて100で割れば0.01〜1.00となるわけで randomの仕様を考慮&利用すると以下の通り (random(100) + 1) / 100
477 名前:デフォルトの名無しさん mailto:sage [2019/09/26(木) 12:20:51.72 ID:8zbcqLQ8.net] >>448 >randomは引数の範囲最大値は出ないことに注意 知らなかった、申し訳ない
478 名前:デフォルトの名無しさん [2019/09/26(木) 12:46:58.57 ID:2E8AEgsX.net] >>448 更に詳しい解説及びSLEEP(RANDOM(2))についての指摘 有り難うございます。 「引数2の場合ば0か1」勉強になりました。 本当に有り難うございます。
479 名前:デフォルトの名無しさん mailto:sage [2019/09/26(木) 13:55:37.41 ID:iUaFKvJQ.net] すっごい初歩的な質問かもしれませんが、 メモ帳にもの凄い長い文字列がありその途中に a b c という1文字ずつの文字列が10個くらいあってそれを全部 d e f に簡単に変える方法ってあるでしょうか? 最終的にはそのabcをdefに変えたもの ghiに変えたもの、jklに変えたものなど沢山必要なため、手作業で一つ一つ変えていくのだと膨大な時間がかかってしまうためよろしくお願いします。
480 名前:デフォルトの名無しさん mailto:sage [2019/09/26(木) 14:03:02.51 ID:5T2rMbCQ.net] んなもんUWSCじゃなくてエディタの正規表現で置換せーや
481 名前:デフォルトの名無しさん mailto:sage [2019/09/26(木) 14:07:22.25 ID:bMINaTXu.net] すっごい初歩的な質問だし、やり方も何通りも思いつくけど、お前が思いつかないって事はあとから要件がコロコロ変わるか、全くの初心者かなので一つ一つ手作業でやったほうが早い。
482 名前:デフォルトの名無しさん mailto:sage [2019/09/26(木) 14:09:46.30 ID:DaWSSFTy.net] Replaceってあったっけメモ帳の置換の方が早そう
483 名前:450 mailto:sage [2019/09/26(木) 14:25:46.18 ID:iUaFKvJQ.net] メモ帳の置換を使った場合 abcという横に並んだ文字列をdefという横に並んだ文字列に変えるってのだと一瞬でできたんですが、縦に並んだ a b c を d e f に変える場合だと上手くいかないんですが 何か方法はありますか?
484 名前:デフォルトの名無しさん mailto:sage [2019/09/26(木) 14:29:56.39 ID:ff/FN5DC.net] 改行を含めて直列にしてから元に戻せば楽なんじゃね つーか、改行をまたいで文字列置換してくれるエディタがあった気がするが
485 名前:デフォルトの名無しさん mailto:sage [2019/09/26(木) 14:36:55.66 ID:5T2rMbCQ.net] 正規表現でぐぐれ あとはスレチだ失せろ
486 名前:デフォルトの名無しさん mailto:sage [2019/09/26(木) 14:41:33.51 ID:bMINaTXu.net] 正規表現なんていらんだろ。。。何いってんだw
487 名前:デフォルトの名無しさん [2019/09/26(木) 14:47:35.38 ID:PdDoKstg.net] >>456 それこそ、マイクロソフトのワード(苦笑)ですら 置換画面であいまい検索にチェックを入れて a^pb^
488 名前:pc^p を abc へ置き換えることで可能かと。 秀丸エディタその他のエディタでも一般的にできる。 [] [ここ壊れてます]
489 名前:デフォルトの名無しさん [2019/09/26(木) 14:53:59.09 ID:i7CtdN8G.net] 具体的なことは一切書かず偉そうなことだけ抜かしてるお前こそ一体なんやねん アホは黙っとけ
490 名前:デフォルトの名無しさん mailto:sage [2019/09/26(木) 14:56:42.66 ID:bMINaTXu.net] >>460 間違いしか書いてないやつに言われたくないぞwあほ
491 名前:デフォルトの名無しさん mailto:sage [2019/09/26(木) 14:58:41.92 ID:3k8gDmD5.net] 別に正規表現でもできるし間違いではなくね?
492 名前:デフォルトの名無しさん mailto:sage [2019/09/26(木) 15:00:59.83 ID:5T2rMbCQ.net] >>461 なにがどう間違いなのか詳しく頼むわ そしてさっさと正しいやり方を書いてくれ それと、>>460 は俺じゃないぞ阿呆w
493 名前:デフォルトの名無しさん mailto:sage [2019/09/26(木) 15:04:09.18 ID:bMINaTXu.net] 正規表現なんて必要ない。UWSCならREPLACEでも使えばいい。 スレ内で対応可能だし、正規表現でググるとかアホ
494 名前:デフォルトの名無しさん mailto:sage [2019/09/26(木) 15:05:49.73 ID:/5glJw3r.net] 何がしたいのかいまいちわからんが abcをdefに変えるだけなら正規表現は必要ないかもしれんけど 他にも色々変えるんだったらさっさと正規表現でも使ったほうが速いだろ
495 名前:デフォルトの名無しさん mailto:sage [2019/09/26(木) 15:07:24.62 ID:bMINaTXu.net] だから「要件がコロコロ変わるか、全くの初心者かなので一つ一つ手作業でやったほうが早い」
496 名前:デフォルトの名無しさん mailto:sage [2019/09/26(木) 15:09:23.30 ID:5T2rMbCQ.net] マクロの流れで書き換える必要があるならreplace使うのは分かるが 単純にテキストの文字列書き換えるだけでわざわざuwscでreplace使うとかどっちがアホなんだよw
497 名前:デフォルトの名無しさん mailto:sage [2019/09/26(木) 15:12:54.58 ID:bMINaTXu.net] はいはい。アホとの会話は要件聞き出すより無駄だわ。 わざわざメモ帳で正規表現使う方法でもググっとけw
498 名前:デフォルトの名無しさん mailto:sage [2019/09/26(木) 15:12:58.19 ID:OcEGW6mq.net] >>464 んで、具体的なやり方は?
499 名前:デフォルトの名無しさん mailto:sage [2019/09/26(木) 15:13:06.47 ID:DaWSSFTy.net] 行・列関係なく縦に並んだ指定文字なら面白い質問なのに
500 名前:デフォルトの名無しさん mailto:sage [2019/09/26(木) 15:14:37.41 ID:bMINaTXu.net] だから「要件がコロコロ変わるか、全くの初心者かなので一つ一つ手作業でやったほうが早い」
501 名前:デフォルトの名無しさん mailto:sage [2019/09/26(木) 15:19:02.37 ID:eZXWH36o.net] abcをdef、ghi、jklとかたくさん変えるとか言ってるし正規表現でやったほうが早いだろ
502 名前:デフォルトの名無しさん mailto:sage [2019/09/26(木) 15:20:58.61 ID:bMINaTXu.net] >>472 お前は正規表現をググったほうがいいw
503 名前:デフォルトの名無しさん mailto:sage [2019/09/26(木) 15:24:30.08 ID:VJCVWXU0.net] 煽るだけのベテラン基地外がまた湧いたのか 向こうが過疎ってるからってこっちにくんなよ
504 名前:デフォルトの名無しさん mailto:sage [2019/09/26(木) 15:24:57.66 ID:5T2rMbCQ.net] 何通りもやり方は思いつくとか言いながら、煽るだけで決して何一つ言わない時点でお察し どうしようもねえなw
505 名前:デフォルトの名無しさん mailto:sage [2019/09/26(木) 15:27:37.43 ID:Dz9wKQLF.net] メモ帳で正規表現なんて使えるの?
506 名前:デフォルトの名無しさん mailto:sage [2019/09/26(木) 15:32:08.31 ID:bMINaTXu.net] おぃおぃ。本気で置換と正規表現を混同してるやつがいるのか^^; ググるなら「置換」だし、作業するなら「改行を検索に含めることができるテキストエディタを探す」だぞ。 要件変わるから多分無意味だけどw > メモ帳で正規表現なんて使えるの? メモ帳のテキストを吸い出して、正規表現にマッチングさせればいいけど、普通はやらん。 対応してるテキストエディタ使う。
507 名前:デフォルトの名無しさん mailto:sage [2019/09/26(木) 15:32:23.98 ID:balOv07a.net] 教える気もない上級者さんは>>1 のスレから出てこないでください
508 名前:デフォルトの名無しさん mailto:sage [2019/09/26(木) 15:38:07.93 ID:bMINaTXu.net] >>478 そうする。ひどいなここ。
509 名前:デフォルトの名無しさん mailto:sage [2019/09/26(木) 15:42:08.85 ID:tLIoXhFC.net] それだけ長文かけるならやり方書いてあげればいいのに uwscスレって定期的に煽りキチガイ沸くよな
510 名前:デフォルトの名無しさん [2019/09/26(木) 16:15:32.47 ID:2E8AEgsX.net] >>451 WindowsのTeraPadで置換機能つかって 検索する文字列を「\na\nb\bc\n」 置換後の文字列を「\nd\ne\nf\n」 とすれば a b c を d e f とに力技でできます。 UWSCは本日1日目なのでわかりません。
511 名前:デフォルトの名無しさん [2019/09/26(木) 16:23:29.46 ID:2E8AEgsX.net] 上の補足 qwea b c の変換はちゃんと行わないのですが 先頭から a b c となるテキストは変換できません
512 名前:。 先頭がaとなるときの表現方法が正規表現で可能なのかな? 詳しくないのでごめんなさい。 [] [ここ壊れてます]
513 名前:450 mailto:sage [2019/09/26(木) 16:40:53.92 ID:iUaFKvJQ.net] ありがとうございます。 やってみます。
514 名前:デフォルトの名無しさん mailto:sage [2019/09/26(木) 17:09:08.72 ID:dB4DsoxS.net] >>481 と同じことをUWSCでやろうとすると kekka = REPLACE( taisyou, "<#CR>a<#CR>b<#CR>c<#CR>", "<#CR>d<#CR>e<#CR>f<#CR>") >>482 TeraPadは正規表現は使えないと思うので Meryを使った場合は 検索する文字列 "(^|\n)a\nb\nc" 置換後の文字列 "\1d\ne\nf" (^|\n)で先頭か前に開業がある場合のどちらかを指し それに一致した内容が\1に入る
515 名前:デフォルトの名無しさん [2019/09/26(木) 18:14:18.26 ID:2E8AEgsX.net] >>484 わかりやすい解説有り難うございます。 おっしゃる通り、TeraPadは正規表現使えないみたいです。 Meryを使って 検索する文字列 "(^|\n)a\nb\nc" 置換後の文字列 "\1d\ne\nf" を使えば先頭文字aの場合も解決できて 置換後の文字列を何種類か作っておけば >>451 さんは幸せになれますね。 個人的にはでMaryをUWSCで操作すると言う手も考えちゃいますけど スマートな方法は UWSCで正規表現を使う場合にはVBScript等使えばできるみたいですね。
516 名前:450 mailto:sage [2019/09/26(木) 18:45:29.17 ID:iUaFKvJQ.net] Meryだと無事に置換ができました。 本当にありがとうございます。助かりました。
517 名前:デフォルトの名無しさん [2019/09/26(木) 19:56:14.78 ID:2E8AEgsX.net] 自分もMery使用したことがなかったのでインストールして 上記置換処理やってみました。 一瞬で置換され便利ですね 過去ログでもおすすめエディターみたいですので少し使ってみます。 >>484 さんに感謝
518 名前:デフォルトの名無しさん [2019/09/27(金) 06:24:51.56 ID:HGFU/goi.net] ものすごく初心者な質問させて頂きます。 過去ログのソースコードを見させて頂いているのですが 人によってコマンドの記述が違います。 例 1.print XXXX 2.Print XXXX 3.PRINT XXXX というように大文字と小文字を混在されています。 なにか理由があるのでしょうか?
519 名前:デフォルトの名無しさん mailto:sage [2019/09/27(金) 08:17:47.20 ID:C42tS7ey.net] 言語的に予約語、関数名、変数名に大文字小文字の区別がなく、専用のエディタもないから好きなように書いているだけ ※専用じゃないけどvscodeやサクラエディタ用の拡張や予約語リストはあるので入れることをオススメ ちなみに例えば自分はPCでなら関数は大文字、変数名は小文字キャメル(定数は大文字)を緩く守るが 掲示板なんかにスマホから短いコード投下する時は面倒なので小文字かな
520 名前:デフォルトの名無しさん mailto:sage [2019/09/27(金) 08:18:23.10 ID:P2udmMmf.net] 1.個人のこだわり(ひとによっては宗教レベル) 2.タイピングの癖 3.UWSCの寛容さへの甘え
521 名前:デフォルトの名無しさん mailto:sage [2019/09/27(金) 10:12:57.50 ID:UTbYC5kd.net] Pascal系は大文字小文字を区別しないものが多い、C系はほとんど区別される。UWSC作った人がPascal好きだったか?
522 名前:デフォルトの名無しさん mailto:sage [2019/09/27(金) 10:56:47.41 ID:C42tS7ey.net] uwscはPascalというかDelphi由来
523 名前:デフォルトの名無しさん [2019/09/27(金) 11:16:12.69 ID:HGFU/goi.net] >>489 大文字と小文字に区別がないこと理解しました。 私も関数は大文字、変数名は小文字キャメル(定数は大文字)で 同じ様に記述してみます。 >>490 個性が出やすくなるんですね。 短期間でのレスありがとうございます。
524 名前:デフォルトの名無しさん mailto:sage [2019/09/27(金) 21:12:48.80 ID:swY7XTEk.net] スクリプト終了しても消えない変数みたいなのは作れますか? いちいちファイルに保存しないとダメ?
525 名前:デフォルトの名無しさん mailto:sage [2019/09/27(金) 21:18:29.42 ID:szJrwaq1.net] ファイルに保存しないと駄目
526 名前:デフォルトの名無しさん mailto:age [2019/09/27(金) 22:06:37.44 ID:0SGX+H6c.net] プログラミング自体はじめたばかりの初心者です。 データのあるexcelから1つずつセルを、別ソフトへとコピペさせ
527 名前:驛求[プのマクロを作っております。 終了条件として、excelからコピーしたセル内容が空白となるまでループさせたいのですが、ループが始まりません。 どうしたらよろしいでしょうか? ※excelでセル内容が空白の場合に取得される内容は改行(<#CR>)です。 A = GETSTR(0) WHILE A = "<#CR>" //excelをアクティブに CTRLWIN(EXCELID, NORMAL) CTRLWIN(EXCELID, ACTIVATE) //セルを1つ移動させる KBD(VK_DOWN, CLICK, 50) //セルをコピー KBD(VK_CTRL, DOWN) // キーを押しっぱなしにする KBD(VK_C, CLICK, 50) KBD(VK_CTRL, UP, 50) // キーを離す //貼り付け先ソフトをアクティブに CTRLWIN(pasteID, NORMAL) CTRLWIN(pasteID, ACTIVATE) //コピー内容を貼り付け KBD(VK_CTRL, DOWN) // キーを押しっぱなしにする KBD(VK_V, CLICK, 50) KBD(VK_CTRL, UP, 50) // キーを離す A = GETSTR(0) WEND [] [ここ壊れてます]
528 名前:495 mailto:age [2019/09/27(金) 22:09:22.58 ID:0SGX+H6c.net] 連投スマソ、補足です。 495では省略してしまいましたが、 ループが始まる前に、クリップボードにはなにかしらのデータをコピーしておく プログラムを書いています。
529 名前:デフォルトの名無しさん mailto:sage [2019/09/27(金) 22:28:07.12 ID:szJrwaq1.net] WHILE A = "<#CR>" これだとAが改行の間ループすることになる
530 名前:デフォルトの名無しさん mailto:sage [2019/09/27(金) 22:34:58.29 ID:Fhm0Ycov.net] WHILE A = "<#CR>" だと空白である間ループするようになると思うけど それはそうと 今やろうとしてるような表示上のセルを直接見ながらという手もあるとは思うけど CSVなりに内容を吐き出させた上でファイルを処理したほうがよいのでは とくにセル数が多ければそちらのほうが圧倒的に速いし キー操作をおこなうより安全だと思う
531 名前:デフォルトの名無しさん mailto:sage [2019/09/27(金) 23:15:06.36 ID:C42tS7ey.net] 一列程度ならリストに突っ込んでforで回せばいいと思うが 範囲選択してコピーは省略、手作業なりスクリプト化なりご自由に //Excelでコピーした列データをリスト化 list = SPLIT(GETSTR(0),"<#CR>") //貼り付け先をアクティブに CTRLWIN(pasteID, NORMAL) CTRLWIN(pasteID, ACTIVATE) //リスト終端まで回す FOR A = 0 TO RESIZE(list) SENDSTR(0, list[A]) SCKEY(pasteID, VK_CTRL, VK_V) NEXT 貼り付け先がどんなんかよく分からんのでSLEEP入れたりは適当に調整してくれ
532 名前:495 mailto:age [2019/09/28(土) 00:24:45.36 ID:qPxO4zq5.net] 皆様迅速なご回答をしていただきありがとうございます。 whileの基礎的なことすら分かっていなかった自分が恥ずかしいです。 マクロは、excelデータから社内の伝票作成ソフトへ相手会社名や振込先口座、金額などを 転記したいために作っております。 >>498 おかげさまで=を<>にしたらイケました。 >>499 csvもあるんですね。確かにキー操作は不安でした。 ただ、このマクロを最終的に「B列のコピーした内容が"x"ならC列を飛ばしてD列をコピー」など IF?で分岐させていく予定なのですが、それでもcsvで対応できるんですかね・・・ >>500 8列くらいのデータがあるんです、、、 ただ、今後使うことがあるかもしれないので、参考にさせていただきます。
533 名前:デフォルトの名無しさん mailto:sage [2019/09/28(土) 01:21:29.50 ID:Y40c4v1p.net] CSVカンマ区切りにしか対応してないがFGET()で読めば 戻値 = FGET( ファイルID, 行, [列, ダブルコーテイション] ) のように列を指定して取り出せる 渡す相手に対しても相手のウィンドウに直接入れるのではなく ファイルをつくり渡すことも考えられる 相手がカンマ区切りのCSVを読み込めるならFPUT()で書き出し安いが そうでなかったとしてもXMLやJSONあるいは相手の独自形式のファイルに して受け渡すことは検討してみたほうがいいと思う
534 名前:デフォルトの名無しさん mailto:sage [2019/09/28(土) 01:51:10.04 ID:Y40c4v1p.net] あるいは1行まるごとを読んでSPLIT()で配列化して扱える ファイルを読んで新しいファイルを作るような
535 名前:場合だと もしかしたらperlやpythonで扱うほうが楽かもしれないが [] [ここ壊れてます]
536 名前:デフォルトの名無しさん mailto:sage [2019/09/28(土) 04:36:04.09 ID:va6TJWDv.net] >>501 ん、rpa的なことやるならuwscはやめた方がいいよ 理由は色々あるが懸念の通りexcelフォーマットを読み解き柔軟に組むのは不可能じゃないが向いてない そういうのはVBAか標準でexcel操作可能なrpa用ソフト使った方がいい (まあ、uwscもproはちょっとexcel専用関数あるんだけど…) 自分が組むならまずは分岐とか余りしなくて済むような、単純作業のインプットになるデータフォーマットを考える (何なら貼り付け先のソフトの画面全項目でもいい) そのフォーマットにexcelから落とし込むのは恐らくはVBAが適当で、転記はuwscにやらせるのがいいんじゃないかな excelから直接別ソフトへ転記は無駄に難易度上がるだけだよ
537 名前:デフォルトの名無しさん mailto:sage [2019/09/28(土) 06:16:08.57 ID:Ct1nF35m.net] 向いてないのか 職場でRPAが話題になってるの聞きながらuwscでいいじゃんって思ってた
538 名前:デフォルトの名無しさん mailto:sage [2019/09/28(土) 06:30:07.11 ID:CcJW/+z6.net] 向いてないと言うか力技なんだよ データをcsvで読みこんで対象のテキストボックスに流し込むとかやりようはありそう
539 名前:デフォルトの名無しさん [2019/09/28(土) 20:20:42.41 ID:2HxgDAhh.net] 今日でこのソフトに出会って3日目なんですけど むちゃくちゃ便利ですね。 今まで手動で3時間くらいポチポチしてたことが 皆さんのソースコードを読みながらお茶してるだけで勝手にやってくれる もうちょい早く出会ってPro版を購入したかった。
540 名前:デフォルトの名無しさん mailto:sage [2019/09/28(土) 21:58:40.51 ID:Bvcc+55+.net] CSV なら、Ruby で処理するのが簡単
541 名前:デフォルトの名無しさん mailto:sage [2019/09/29(日) 00:24:15.19 ID:2oHQQmaP.net] いやcsv処理する話しじゃないんで…
542 名前:デフォルトの名無しさん [2019/09/29(日) 17:38:04.40 ID:yyfVEle8.net] このソフトてモニタースリープ状態のまま動かすのて無理ですかね?
543 名前:デフォルトの名無しさん [2019/09/29(日) 17:42:46.79 ID:4kqLeu2A.net] uwscでマウスのカーソルを移動させても反応しません 手動で移動させると反応します この違いはなぜ起こるのでしょう mmvで移動させています クリックは両方とも反応します
544 名前:デフォルトの名無しさん [2019/09/29(日) 18:04:51.80 ID:4kqLeu2A.net] 連投すみません uwscではマウスオーバーしたという判定が出ないんです html5の仕組みが関係しているんでしょうか
545 名前:デフォルトの名無しさん mailto:sage [2019/09/29(日) 19:15:04.42 ID:uzWuDMUd.net] 試してみたいからスクリプト貼ってくれよ×2
546 名前:デフォルトの名無しさん mailto:sage [2019/09/29(日) 22:43:58.25 ID:NTZExMlG.net] >>510 たいていのことはできると思うが POFF(P_MONIPOWER2) と POFF(P_MONIPOWER3) との間に 試したい処理を入れてテストしてみればいい
547 名前:デフォルトの名無しさん mailto:sage [2019/09/29(日) 22:51:03.21 ID:NTZExMlG.net] >>512 どんなページのどういう部分かわからないけど MMVでピタッとある座標に移動しても反応しないものが 人がマウスを移動するようにMMVで位置を少しづつ ずらして移動すると反応する場合もある
548 名前:デフォルトの名無しさん mailto:sage [2019/09/30(月) 06:38:09.68 ID:PihPYg9U.net] マウスオーバーってマウスカーソルが要素の境界またいだら起きるイベントだったりしない?
549 名前:デフォルトの名無しさん mailto:sage [2019/09/30(月) 09:37:01.91 ID:n0JFz+mK.net] >>505 RPAはコーディングいらないんだよ 高性能なやつだとAIが操作内容を解析して最適化までしてくれる
550 名前:デフォルトの名無しさん mailto:sage [2019/09/30(月) 11:10:24.43 ID:jC4keZpM.net] それは幻想だ
551 名前:デフォルトの名無しさん mailto:sage [2019/09/30(月) 14:38:39.72 ID:dVa1Usr4.net] RPAはボタンやOCR的に画面の字を認識するのはデフォだろ UWSCの画像認識はお世辞にもry
552 名前:デフォルトの名無しさん [2019/10/01(火) 23:49:48.17 ID:s21ezsHI.net] >>515 >>516 mmvで動かしてるだけです。 mmvを何
553 名前:回もやって、ゆっくりにしてもだめでした。 境界をまたいでもだめでした。 [] [ここ壊れてます]
554 名前:デフォルトの名無しさん mailto:sage [2019/10/08(火) 13:22:45.54 ID:9e1T1J7x.net] Noxをアクティブ化せずに日本語の文字列を入力したいのですが何か良い方法は無いでしょうか ・MOUSEORG(ID,2)を使ってCtrl+VをKBDで送信、SENDSTRのACC指定を2にして実行 →反応せず ・ADBKeyBoardをインストール後、DOSCMDにて nox_adb.exe shell ime set com.android.adbkeyboard/.AdbIME nox_adb.exe shell am broadcast -a ADB_INPUT_TEXT --es msg 'テスト' を送信 →反応せず
555 名前:デフォルトの名無しさん mailto:sage [2019/10/08(火) 17:10:33.10 ID:Jw4k5nXF.net] >>521 MOUSEORG(ID,1)だとできるの?
556 名前:デフォルトの名無しさん mailto:sage [2019/10/08(火) 19:10:24.22 ID:9e1T1J7x.net] >>522 KBDとACC指定デフォルトのSENDSTRは入力が通ります
557 名前:デフォルトの名無しさん mailto:sage [2019/10/08(火) 19:25:09.29 ID:WUNHA4Q/.net] 変なことせずに単に nox_adb shell input text ‘文字列’ じゃなんか駄目なのかね テキストボックスにフォーカスあたってる?
558 名前:デフォルトの名無しさん mailto:sage [2019/10/08(火) 20:18:11.78 ID:9e1T1J7x.net] >>524 input textは2バイト文字送れないようです フォーカスはもちろん当たってます
559 名前:デフォルトの名無しさん mailto:sage [2019/10/08(火) 20:40:35.50 ID:WUNHA4Q/.net] なるほど、そういえば自分も同じことやった気がする 結局どうやったかなあ input keyevent 279 (もしくはKEYCODE_PASTE) でnox内のクリップボードから貼り付けは出来るよね で、sendstrだと直接Windows側のクリップボードに送っちゃうから確かnox内に送れなくてなんかしたんだけど何かを忘れた Windows側でctrl+cとかそんなレベルのことやったような…sendstrのパラメータで解決したようなうろ覚え
560 名前:デフォルトの名無しさん mailto:sage [2019/10/09(水) 01:21:59.63 ID:dWWBbVm8.net] >>526 確かにNox内のクリップボードにある文字列は貼り付け出来ますね ただ同じくUWSCからNox内のクリップボードに文字列を送る方法が分からなくて、あーだこーだしてる内に解決しました NoxでADBKeyBoardを使う場合はAndroid7でないと動作しないようで、 Android7でインスタンスを作り直したらBroadcastで2バイト文字の送信が出来ました UWSCというよりAndroidの質問になってしまいましたが、回答してくれた方々ありがとうございました
561 名前:デフォルトの名無しさん mailto:sage [2019/10/11(金) 02:29:57.15 ID:l8XLJu9S.net] 今pro番を使おうと思ったらどうしたらいいですか?
562 名前:デフォルトの名無しさん [2019/10/11(金) 06:58:36.99 ID:Td6I+Zpy.net] Pro版のインストールファイルを入手できれば 方法はあるけれど....
563 名前:デフォルトの名無しさん mailto:sage [2019/10/11(金) 07:57:18.50 ID:aMgrTkTz.net] ファイルがあってもライセンスキーがなければだめでしょ
564 名前: mailto:sage [2019/10/16(Wed) 21:26:16 ID:2hMqi2nO.net] 質問なのですが、万が一のためにマクロ実行中に、Escキーを押すと マクロを中断させたいのですが、Escキー以外は操作を無効にさせたいです。 LockHardを覚えましたが、Escキーが効かなくなってしまいます・・・ sethotkey(VK_ESC, 0, "ForceStop") LockHard(true)
565 名前: mailto:sage [2019/10/16(Wed) 23:23:09 ID:Feea5J53.net] STOPFORM()出しといたらダメなの あとLOCKHARDEX()でウィンドウ限定するとかは
566 名前:デフォルトの名無しさん [2019/10/17(木) 12:12:39 ID:A4Rdxp6g.net] >>526 なるほど、stopformという手もあるんですね! マウスとキーボード操作を受け付けないようにしながら、escキーだけ受付・・・というのはやはり難しいでしょうか?
567 名前:デフォルトの名無しさん mailto:sage [2019/10/17(木) 12:52:54.52 ID:A4Rdxp6g.net] たびたび質問ですみません。 ものすごく初歩的なことなのかもしれませんが、chkimgxって画面に前面で表示されていないのだめなのでしょうか? 2つのソフトをsckeyでキー操作しているのですが、片方が裏にまわってしまうと認識していないような気がします。 とりあ
568 名前:ヲずの対策として、acw(0,0)とctrlwin(showとtopmost)でウインドウ位置+手前表示固定しているのですが。 [] [ここ壊れてます]
569 名前: mailto:sage [2019/10/17(木) 13:06:59 ID:bO7Ftz48.net] MOUSEORGの引数が間違ってなければウィンドウが被ると駄目なソフトなんでしょ その2つのソフト名は?他に使ってる人が居れば情報が得られるかもしれない
570 名前: mailto:sage [2019/10/17(木) 14:09:22 ID:tJ4XAWvT.net] 例えばNoxだと単発ウインドウなんで裏に隠れてても取れる BlueStacksだと親ウインドウしか指定してないと描画してる子ウインドウが隠れると取れない、子ウインドウを指定すればいい
571 名前:デフォルトの名無しさん mailto:sage [2019/10/17(木) 21:35:08.48 ID:4XXN/n+s.net] >>535 >>536 ご回答ありがとうございます。 なるほどですね、そういう仕組みになっているのですね。
572 名前:デフォルトの名無しさん mailto:sage [2019/10/22(火) 02:49:35 ID:L/O8BxfD.net] UWSC+NOX環境でadb使ってダブルタップをする場合ってどうすれば良いのですか? DOSCMD("cd C:\Nox\bin & nox_adb shell input touchscreen tap " + (370) + " " + (600)) sleep(0.1) DOSCMD("cd C:\Nox\bin & nox_adb shell input touchscreen tap " + (370) + " " + (600)) と書いてみましたがだめでした。アドバイスお願いします
573 名前:デフォルトの名無しさん mailto:sage [2019/10/22(火) 04:41:04 ID:a1/9gbM9.net] シングルタップはできてるんだよね?
574 名前:デフォルトの名無しさん mailto:sage [2019/10/22(火) 13:39:26.21 ID:L/O8BxfD.net] >>539 シングルタップは問題なく動いています
575 名前:デフォルトの名無しさん mailto:sage [2019/10/22(火) 13:46:16.17 ID:a1/9gbM9.net] >>540 Sleepを増やしてどうか
576 名前:デフォルトの名無しさん mailto:sage [2019/10/22(火) 13:56:35.11 ID:8YNql35h.net] いちいち、cdから始めるから間隔空き過ぎって話じゃないの? shell以降で連続してタップ送るとか、path通して処理時間短縮するとかそういうアプローチの仕方してみたら
577 名前:デフォルトの名無しさん [2019/10/24(木) 18:01:47.14 ID:xBrr20Dc.net] >>542 多分そうじゃないかな。 nox_adb.exe はフルパスで.exeも略さずに記載する。 sleep 0.1 は消してみる。 それでもだめなら、android本体側にダブルタップの イベントを用意し、それをadbで起動する手がある。 試していないが例えば下記。 https://stackoverflow.com/questions/25865259/how-to-make-a-double-tap-to-expand-the-video-screen-using-android-adb-commands https://sp.ch.nicovideo.jp/sakaki_sourai/blomaga/ar1232345
578 名前:デフォルトの名無しさん mailto:sage [2019/10/25(金) 10:35:07.95 ID:V94JerTM.net] Noxの話題が出ているので便乗して… CHKIMG関数をNoxウィンドウに走らせると画面がチラついてそのまま真っ暗になることがあります MOUSEORGでMORG_FOREを指定してもチラつきが抑えられません 発生頻度は数時間に1回発生するかどうかで偶にという感じです 解決策か原因をご存知の方はいらっしゃいませんか 環境はOSがWindows10、Noxのバージョンが6.0.8.3です
579 名前:デフォルトの名無しさん mailto:sage [2019/10/25(金) 11:34:44.08 ID:iWBj7Wic.net] noxの設定で描画のOpenGLをDirectXに変えてみるとか
580 名前:デフォルトの名無しさん mailto:sage [2019/10/25(金) 12:17:47.97 ID:Pn1d2knk.net] >>538 です >>543 フルパスで書いてみましたがだめでした DOSCMD("C:\Nox\bin\nox_adb.exe shell input touchscreen tap 600 300") DOSCMD("C:\Nox\bin\nox_adb.exe shell input touchscreen tap 600 300") >>542 shell以降で連続してタップ送る、と言う書き方がわかりません アドバイスください
581 名前:デフォルトの名無しさん mailto:sage [2019/10/25(金) 12:53:23.96 ID:gsbQkWqD.net] >>546 試してないから出来るか微妙な気もするけど shellで1回区切ればリモートシェル状態になるので nox_adb shell & input ~ & input ~ & exit とする(exitなくてもいいかも?) 次善策としては nox_adb shell input
582 名前:~ & nox_adb shell input ~ とする [] [ここ壊れてます]
583 名前:デフォルトの名無しさん mailto:sage [2019/10/25(金) 17:43:44.15 ID:Pn1d2knk.net] >>547 ありがとうございます DOSCMD("C:\Nox\bin\nox_adb.exe shell & input touchscreen tap 600 300 & input touchscreen tap 600 300 & exit") これでやってみましたがUWSCが落ちました 一応 DOSCMD("C:\Nox\bin\nox_adb.exe shell input touchscreen tap 600 300 & C:\Nox\bin\nox_adb.exe shell input touchscreen tap 500 300") これで2回クリックされていました。ですが2行で書くよりはわずかに早くなった程度でゲーム側でダブルタップとして認識してくれませんでした
584 名前:デフォルトの名無しさん mailto:sage [2019/10/25(金) 18:48:26.13 ID:gsbQkWqD.net] >>548 & exit外しても落ちる? もし落ちたとしてダメなら>>543 の提示方法 ただこれはぶっちゃけ準備面倒で現実的じゃないので noxの仮想キーのスクリプトボタンでダブルタップ作ってuwscからはsckeyでどうかな
585 名前:デフォルトの名無しさん mailto:sage [2019/10/29(火) 18:26:13.64 ID:tLCpEMn0.net] Windows10については徐々に更新されているらしい Windows Command-Line: Unicode and UTF-8 Output Text Buffer https://devblogs.microsoft.com/commandline/windows-command-line-unicode-and-utf-8-output-text-buffer/
586 名前:549 mailto:sage [2019/10/29(火) 18:33:02.66 ID:tLCpEMn0.net] >>550 誤爆です すみません。
587 名前:デフォルトの名無しさん mailto:age [2019/10/30(水) 22:06:29.29 ID:zKjMcLjE.net] もしかしてですけど、excelのCOMオブジェクトでシート名を指定して それをアクティブにするにはpro版じゃないとできないのでしょうか? (XLACTIVATEというpro専用関数を見つけました・・・) たとえば、「test1」と「test2」というシートを交互に選択したいのですが。
588 名前:デフォルトの名無しさん mailto:sage [2019/10/30(水) 22:20:41.62 ID:zKjMcLjE.net] たびたびすみません。 既に開いているexcelファイルに対してrange.selectなどの操作をしたいのですが、 サンプルスクリプトを改変しながらやっておりますが、 EXCEL.Workbooks.add() // 新規ワークブック作成 を抜くとcomエラーが出ます。 どうすればよいのでしょうか・・・
589 名前:デフォルトの名無しさん mailto:sage [2019/10/31(木) 22:19:57.30 ID:2PR/MUI3.net] そういう場合Activeworkbookで拾うんだよ
590 名前:デフォルトの名無しさん mailto:sage [2019/11/13(水) 14:06:54.83 ID:KJOE9J4P.net] 作者さんはお亡くなりになられたのですか?
591 名前:デフォルトの名無しさん mailto:sage [2019/11/13(水) 21:11:38.75 ID:HJ+xL4oZ.net] うn
592 名前:デフォルトの名無しさん mailto:sage [2019/11/14(木) 00:26:50.94 ID:1xX/pUlc.net] ついにFirefoxの動作が思わしくなくなったので卒業した
593 名前:デフォルトの名無しさん [2019/11/24(日) 21:08:58.59 ID:twqCowHe.net] ずっとWindows7で使用していたスクリプトをWindows10で実行したところうまく動かないので UWSCを5.0から5.302へアップしたら今度はエラーが出て実行すらしなくなってしまいました 今まで動いていたスクリプトがなぜエラーになったのか見当がつきません 同じ経験をして解決された方いましたら教えて下さい エラー箇所はforループで起こりネスト構造がおかしいような内容でした よろしくおねがいします
594 名前:デフォルトの名無しさん mailto:sage [2019/11/24(日) 22:55:11.94 ID:7ZFsEzWw.net] ソース見せてもらえへんとなんとも
595 名前:デフォルトの名無しさん [2019/11/25(月) 14:38:22.16 ID:7t0vtsJ9.net] >>558 ですが解決しました 因みにforループの中のif文で if xx then 処理A elseif yy 処理B else 処理C endif といった書き方をところどころしていたのですが 1行でif xx then 処理 の後ブロック構文ががだめになったみたいで 全部 if xx 処理A にしたら動きました
596 名前:デフォルトの名無しさん mailto:sage [2019/11/25(月) 14:56:34.71 ID:E9DgYFh2.net] ifb って書けば良いのでは?
597 名前:デフォルトの名無しさん mailto:sage [2019/11/25(月) 15:52:04.30 ID:zoSkKdve.net] >>560 5302のヘルプ見るとその書き方は載ってないからもともと非対応だったのかも
598 名前:デフォルトの名無しさん mailto:
[] [ここ壊れてます]
599 名前:sage mailto:2019/11/25(月) 21:00:32.82 ID:efEnk7rY.net [ 構文解釈してるのはUWSC自体のはずだと思うけど なんでOSの影響受けるんだろう? ] [ここ壊れてます]
600 名前:デフォルトの名無しさん mailto:sage [2019/11/25(月) 22:32:08.47 ID:QpqOy3LM.net] x86→x64だと結構影響あるよ 特にActiveX使ってるとバグ作り込みやすい
601 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 00:20:42 ID:Swtl+iDB.net] sckeyって裏マクロ非対応ですか? 変数に入れた文字列を送りたいのですが・・・
602 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 02:13:46.52 ID:Swtl+iDB.net] すみません、sendstrの間違いでした、、、
603 名前:デフォルトの名無しさん [2019/11/26(火) 16:25:19.36 ID:Mtvvcsi1.net] >>561 どのバージョンからか忘れたけどifでも ifb でもどっちでも良くなったと説明書きがあったと思うのですが それ以来ifb は使用してないです 結構昔です 10年以上前かも >>562 今まで動いていたのは作者のバグだったのでしょうか? それよりエラーメッセージが日本語になったのは驚きました あとwin7のエラーメッセージは編集して行が変わっててもその都度エラーが発生した行番号を表示しますが win10は編集して行が変わっても最初に表示した行番号を表示します ファイルを編集してもすぐには反映されないのかと思いましたがとりあえずエラーは出なくなったので原因はわかりませ 後iniファイルを起動時に読みこんだ値と変わってしまっていてまともに動きません 現在調査中ですがわかる方いたら教えて下さい あと7ではタスクバーから起動したり終了させたり(マウス中ボタン)できてたのもできなくなって大変困ってます 他にも問題だらけでwin10への以降は不可能な気がしてきて気が重いです
604 名前:デフォルトの名無しさん mailto:sage [2019/11/27(水) 02:18:16 ID:7G4RG5sM.net] 数年前の事(Win7→Win10、UWSCバージョンアップ)を今更騒いでも当時の記憶掘り出せるかは怪しいもんだと思うし スクリプト全体像なり再現用のミニマムコードでもくれなきゃこっちで確認なんかできないよ 特にWin10では色々問題あったがほとんどの人はとっくに対応しちゃって何が問題だったか忘れてるか UWSC自体に見切りつけて簡単に使えるところにしか使ってないというのが現状と思われる てかね、Win10自体も最近1909出たばかリで、またUWSCの動作が何か変わっているかもしれないし変わってないかもしれない ただ言えることはUWSCは今後更新されないので、改善は見込めないということ
605 名前:デフォルトの名無しさん mailto:sage [2019/11/27(水) 03:42:15 ID:DxUr7XIY.net] >>567 まさかと思うけどUWSCのフォルダを Program Files Program Files (x86) に置いてないよね もし置いていたら、いまからでも遅くないから、そこじゃないどこかへ
606 名前:デフォルトの名無しさん mailto:sage [2019/11/27(水) 14:33:22 ID:8E8c4VQb.net] そ〜こではないど〜こか〜へと〜
607 名前:デフォルトの名無しさん mailto:sage [2019/11/27(水) 21:15:02.15 ID:aGnYyAi4.net] excelブックのシートすべてに対して各シートの1行目に検索をかけ、「印刷対象」というワードが存在する場合、そのシートを印刷する というマクロなのですが、1回目ループの印刷されたところでcomエラーが出てしまいます。 どうしたらよいのでしょうか・・・? EXCEL = CREATEOLEOBJ("Excel.Application") EXCEL.visible = True EXCEL.workbooks.add() WITH EXCEL FOR A = 1 TO .Sheets.count .Sheets(A).Select printiffind = .Range("1:1").Find("印刷対象") printif = .Cells(printiffind.row , printiffind.column).value msgbox(printif) IF printif = "印刷対象" THEN .activesheet.printout else ENDIF NEXT ENDWITH
608 名前:デフォルトの名無しさん mailto:sage [2019/11/27(水) 22:40:20
] [ここ壊れてます]
609 名前:.96 ID:MWZwasL9.net mailto: 何故それをuwsc にしようとしたのかがまったく理解できない 1つでも印刷されるのそれ? [] [ここ壊れてます]
610 名前:デフォルトの名無しさん mailto:sage [2019/11/28(木) 10:04:18.53 ID:p/uKw1d3.net] Excelのマクロでよくねw
611 名前:デフォルトの名無しさん mailto:sage [2019/12/06(金) 18:31:31 ID:43TcIdUK.net] noxではなくMumuで裏マクロをしたいのですが、CMD = "~~"の中身を書き換えるだけでは動きませんでした パス部分をMumuのadbがある場所にすればいいのかなと思ってこうしたら CMD = "cd C:\Program Files\Mumu\emulator\nemu\vmonitor\bin & adb_server shell input touchscreen tap " + 100 + " " + 100 PRINT CMD DOSCMD(CMD) PRINTで表示されたのはこうで cd C:\Program Files\Mumu\emulator\nemu\vmonitor\bin & adb_server shell input touchscreen tap 100 100 コマンドフロンプトに入力するとこう返ってきました error: device '(null)' not found 本スレ21の>>879 と同じ?だと思うのですが、>>880 の指す「いつものという感じ」が何なのか分かりませんでした。
612 名前:デフォルトの名無しさん mailto:sage [2019/12/06(金) 23:53:28.48 ID:56eN38dl.net] >>574 server叩いて何してんのよという話 まずはコマンドプロンプトなりで普通にコマンド叩けるようになってからスクリプトにしなされ
613 名前:デフォルトの名無しさん mailto:sage [2019/12/10(火) 19:46:27.81 ID:lD8f3lrI.net] もうここは初心者用スレとして成立してないなw
614 名前:デフォルトの名無しさん mailto:sage [2019/12/11(水) 00:59:28.66 ID:VzIBlOls.net] 本当の初心者なんですけどどこがおすすめですか? さっぱり分かりません
615 名前:デフォルトの名無しさん mailto:sage [2019/12/12(木) 10:56:26.42 ID:lDgwg3+p.net] 573です。sdk?入れてそこのadb.exe指すようにしたら裏マクロ動きました DOSCMDから実際にタップされるまで半秒ほどかかっているのと、コマンド実行したらMumuを再起動するまでやたらカクつくようになるのはなぜでしょうか
616 名前:デフォルトの名無しさん mailto:sage [2019/12/12(木) 11:26:37.80 ID:u7RWFF/r.net] Mumuってエミュが重いか単純にPCのスペック不足
617 名前:デフォルトの名無しさん mailto:sage [2019/12/12(木) 12:00:09.18 ID:OHjSk6WK.net] スクリプトが悪いのでは 本スレで話題になってたように画像認識にウエイトがないとかそういう
618 名前:デフォルトの名無しさん mailto:sage [2019/12/12(木) 19:50:24.51 ID:D8fZkyt4.net] コマンドプロンプトで試して同じ挙動かどうか まずは原因がUWSCなのか、PCその他環境なのか調べないと
619 名前:デフォルトの名無しさん mailto:sage [2019/12/17(火) 21:25:34.41 ID:+LcZYIpJ.net] excelのfindで見つからなかったときのcomエラー回避ってあるんでしょうか? wikiみても載ってないし、vbaにあるIS NOTHINGも使えないし・・・
620 名前:デフォルトの名無しさん mailto:sage [2019/12/17(火) 21:31:30.08 ID:+LcZYIpJ.net] すみません、自己解決しました
621 名前:デフォルトの名無しさん mailto:sage [2020/02/07(金) 17:05:22 ID:4XbBvaET.net] saveimg(gazou,0,200,300,30,30,,0,img_fore) とした時は今見えている画面の200,300の位置の30,30サイズのbmpが保存されますか? またその画像を指定して同じ画面で画像検索できますか?
622 名前:デフォルトの名無しさん mailto:sage [2020/02/07(金) 20:48:29.13 ID:SnbR1xpB.net] されないんじゃない てか動かしてから聞きにきてくれよ
623 名前:デフォルトの名無しさん mailto:sage [2020/02/09(日) 14:17:47 ID:+d0DSBvE.net] f12でソース見ると色の指定は#rrggbbで統一されてるのに iegetsrcで全文抜き出して見ると部分的にrgb(n,n,n)になっている なぜこんなことに…
624 名前:デフォルトの名無しさん mailto:sage [2020/03/02(月) 09:25:47 ID:1HOipiaV.net] すいません質問させてください クリップボードに取り込んだwebのタイトルをそのままファイル名にして保存したくて調べているのですが クエスチョンやスラッシュなどファイル名に使えない文字を変換してクリップボードに上書きする方法はありますか? よろしくお願いします
625 名前:デフォルトの名無しさん mailto:sage [2020/03/02(月) 09:33:54 ID:1Poklgsp.net] 変換とはどういうこと?消せばいいの?
626 名前:デフォルトの名無しさん mailto:sage [2020/03/02(月) 09:50:5
] [ここ壊れてます]
627 名前:7 ID:1HOipiaV.net mailto: 消すかアンダーバーなどの使える文字に変換したいと思ってまさ。 [] [ここ壊れてます]
628 名前:デフォルトの名無しさん mailto:sage [2020/03/02(月) 09:51:59 ID:1HOipiaV.net] 消すかアンダーバーなどの使える文字に変換したいと思ってます。
629 名前:デフォルトの名無しさん mailto:sage [2020/03/02(月) 09:52:58 ID:1Poklgsp.net] Replaceで置換は?
630 名前:デフォルトの名無しさん mailto:sage [2020/03/02(月) 11:58:20 ID:RHbccdbo.net] ありがとうございました。 Replaceでうまく変換出来ました。 助かりました。
631 名前:デフォルトの名無しさん mailto:sage [2020/03/09(月) 21:11:27.70 ID:bpMBC8cG.net] すみませんが、知っている方がいらしたら、教えて下さい。 Pro版のシリアルはなんですか?
632 名前:デフォルトの名無しさん mailto:sage [2020/03/09(月) 22:23:49 ID:xFD8Q/oe.net] いいえなんではないです
633 名前:デフォルトの名無しさん mailto:sage [2020/03/19(木) 08:38:19.27 ID:8+JNVm+N.net] ゲームでレベリングのマクロ組みたいんですが 操作としては左右移動(右移動キー押しっぱなしで左移動キーで調整するやり方)しながら左クリック連打だけです while 1 KBD(VK_D,DOWN) while 1 KBD(VK_A,DOWN) sleep(1) KBD(VK_A,UP) sleep(1) wend wend 左右移動はこれでできたんですが、ここに左クリック連打入れようとすると上手くいきません どうすればいいですか?
634 名前:デフォルトの名無しさん mailto:sage [2020/03/19(木) 09:28:56.69 ID:E5mfm90d.net] 関数化してthreadで別々に動かす
635 名前:デフォルトの名無しさん mailto:sage [2020/03/19(木) 09:36:31.31 ID:8+JNVm+N.net] 何やら新しいUWSC知識が必要のようですね 調べてきます
636 名前:デフォルトの名無しさん mailto:sage [2020/03/19(木) 13:31:47 ID:8+JNVm+N.net] まったく意味がわかりませんでした
637 名前:デフォルトの名無しさん mailto:sage [2020/03/19(木) 13:39:26 ID:Nl/flVcz.net] >>598 ヘルプのスクリプト構文のスレッド生成読んだ? それに当てはめるだけなんだけど
638 名前:デフォルトの名無しさん mailto:sage [2020/03/19(木) 14:00:08 ID:8+JNVm+N.net] thread BTN() BTN(LEFT,CLICK,666,374,200) とかなんか色々やってみたけどだめですね
639 名前:デフォルトの名無しさん mailto:sage [2020/03/19(木) 14:20:06 ID:8+JNVm+N.net] 他のマクロソフトと組み合わせて操作できました
640 名前:デフォルトの名無しさん mailto:sage [2020/03/19(木) 14:32:16 ID:E5mfm90d.net] それならuwsc2つ起動する方がマシな対処だが…まあ希望が満たせりゃあ何でもよかろ
641 名前:デフォルトの名無しさん mailto:sage [2020/03/19(木) 15:51:14.43 ID:I/ufwmzm.net] Threadって便利なんだけど変数に同時参照すると固まるのがな 確率的には物凄く低いんだろうけど・・・
642 名前:デフォルトの名無しさん mailto:sage [2020/03/19(木) 16:30:35.09 ID:Nl/flVcz.net] 参照してるだけで変数を書き換えてなければ大丈夫とおもったんだけど
643 名前:デフォルトの名無しさん mailto:sage [2020/03/19(木) 19:08:00 ID:vTx0gGjB.net] スレッドが最大64個も作れるから面白いんだよな
644 名前:デフォルトの名無しさん [2020/03/29(日) 20:54:34 ID:Qbasze3R.net] 初心的質問で申し訳ありません。 ページ内の画像を探し見つければクリック、見つからなければスクロール+画像検索、 を三回繰り返して見つからなければ処理を停止してメッセージを出すというマクロを考えているのですが、まぁ難しくて とっかかりすらつかめていません。 ご教示いただけませんでしょうか。よろしくお願いいたします。
645 名前:デフォルトの名無しさん mailto:sage [2020/03/29(日) 20:58:57 ID:pPr1xaO6.net] 自分ではどこまでできたの?コード貼ってくれ
646 名前:デフォルトの名無しさん mailto:sage [2020/03/29(日) 21:50:02 ID:/EyNUXLu.net] >>606 まずそれぞれ単体で動くものを作る ページ内の画像を探す クリックする スクロールする 三回繰り返す 処理を停止する メッセージを出す あとは条件とかでくっ付けるだけ
647 名前:デフォルトの名無しさん [2020/03/29(日) 21:59:10 ID:Qbasze3R.net] >>607 >>608 すいません、一番基本的な動きすらまともに作れてません… ifb chkimg("img.bmp") btn(left,click,g_img_x,g_img_y) else KBD(VK_SPACE) print "画像が見つかりません" endif
648 名前:デフォルトの名無しさん mailto:sage [2020/03/30(月) 02:39:01 ID:bxGMTHZO.net] >>609 そのサイトがどうなってるかわからないからなんとも言えないけど スクロール量をコントロールするの難しくないか? 違ったアプローチが必要な気がする
649 名前:デフォルトの名無しさん mailto:sage [2020/03/30(月) 02:57:48.27 ID:fgzboYRU.net] g_img_x g_img_yがどこの位置か知ってる クリックするのはその座標で間違いない
650 名前:デフォルトの名無しさん mailto:sage [2020/03/30(月) 03
] [ここ壊れてます]
651 名前::21:30.15 ID:bxGMTHZO.net mailto: ああ、そうか 失礼しました [] [ここ壊れてます]
652 名前:デフォルトの名無しさん mailto:sage [2020/03/30(月) 05:32:35 ID:Lez7EJJt.net] 画像 = 画像の場所.bmp カウンター = 0 while カウンター < 3 ifb chkimg(画像,画像の色、位置指定) sleep(1) btn(left,click,g_img_x,g_img_y,50) else btn(left,down,画面のどこかx,画面のどこかy,50) mmv(スクロール幅) btn(left,up,上と同じx,スクロール幅y,50) print "再検索" カウンター = カウンター + 1 endif wend
653 名前:デフォルトの名無しさん mailto:sage [2020/03/30(月) 09:11:09 ID:K5J2OuWJ.net] スペースキーで1ページ分スクロールするの知らないのだろうか…
654 名前:デフォルトの名無しさん mailto:sage [2020/03/30(月) 10:27:43.27 ID:Lez7EJJt.net] >>614 ごめん、知らなかった それってゲームのフレンド一覧でも使えたりする?
655 名前:デフォルトの名無しさん mailto:sage [2020/03/30(月) 11:10:38 ID:/ApxdN83.net] 普通は無理でしょう
656 名前:デフォルトの名無しさん mailto:sage [2020/03/30(月) 11:26:59.29 ID:8cfGBpvw.net] いや、>>609 で、スペースキー押してるじゃん 608の勘違いの可能性も否定できないけど、スクロールでまず思いつくPgDownじゃないから、多分、普段行っている操作なんだと思う 今の段階で、スペースキーでスクロールしない対応しても、複雑になるだけで意味ないよ あと、 >>611 さんのコメント、文尾に?がついてないせいで、逆の意味になってるよ IF文の真偽が出てないけど、printの位置から、スクロールしなかったんだと思うから、とりあえず真と仮定 真の場合は、クリックが失敗してるわけだから、まず、クリック位置を怪しむべき
657 名前:デフォルトの名無しさん mailto:sage [2020/03/30(月) 13:03:44 ID:Lez7EJJt.net] >>616 無理かぁ じゃあこのまま行くか >>617 btnにx軸y軸はあるけど最後に時間入れてないのって問題ないの?
658 名前:デフォルトの名無しさん mailto:sage [2020/03/30(月) 14:25:56 ID:8cfGBpvw.net] 608=612,4,7 は無理があるから別人だよね btnの時間引数は、必要な場合もあるし重要だけど、必須じゃないよ 手でクリックして動作するタイミングなら問題無いよ 時間調整が必要なのは、フォーカスの変更の様な、直前のコマンドの結果、Windows上で何かが変るのを待つ必要がある場合 調整しないと、変る前に動いちゃう事があるから、思い通りに動かないんだよ 経験上、btnで時間調整するより、sleep使った方がうまくいったし それよりも、g_img_x,yって画像の端だから、画像の中央側にクリック位置をずらさないと画像をクリックしたことにならないよ 画像ファイルを、実際の画像よりも小さめに切取った場合は別だけど
659 名前:デフォルトの名無しさん mailto:sage [2020/03/30(月) 15:44:58.10 ID:Lez7EJJt.net] >>619 ごちゃごちゃと横から質問してごめんよ 自分は608ではないよ 時間も必須だと思ってた 詳しくありがとう
660 名前:608 [2020/03/31(火) 00:24:53.60 ID:q/ETdZzS.net] sleep(2) SPEAK("処理開始") img=PARAM_STR[0] rep = PARAM_STR[1]//繰り返す回数 counter = 0 while counter < rep ifb chkimg(img) sleep(1) SPEAK("画像発見。") CALL called.uws(g_img_x,g_img_y) counter = counter + rep else KBD(VK_SPACE) sleep(1) counter = counter + 1 endif wend IFB counter=rep SPEAK("ストップ") BREAK ELSEIF counter>rep SPEAK("次の処理へ") endif KBD(VK_SPACE)
661 名前:608 mailto:sage [2020/03/31(火) 00:30:49.69 ID:q/ETdZzS.net] 誤投…orz完全に使うやつをカキコしてしまった 皆様のおかげでなんとか動かせるものが作れました!ありがとうございます 別の質問になってしまうのですが、callで呼び出した関数の…例えば上記のストップで親含めて停止させることは出来ますか? よろしくお願いいたします
662 名前:デフォルトの名無しさん mailto:sage [2020/03/31(火) 10:40:38 ID:EP7/8t0I.net] exitとexitexit
663 名前:調べよう どうでもいいけどwhile内のifbでいずれにせよsleepするならifbの外でいいのではと思った [] [ここ壊れてます]
664 名前:デフォルトの名無しさん mailto:sage [2020/04/04(土) 21:15:58.74 ID:yfraQy7x.net] 画像検索する範囲をちゃんと座標で指定するようにしたら早くなった
665 名前:デフォルトの名無しさん mailto:sage [2020/04/15(水) 01:17:38 ID:Nxi8vX8D.net] ChkImgXって普通に使えてる? なんかうまく作動しない
666 名前:デフォルトの名無しさん mailto:sage [2020/04/15(水) 05:11:08.81 ID:HYKxrR9Z.net] 長時間使ってると極稀にエラー起こすけど基本問題無いな
667 名前:デフォルトの名無しさん mailto:sage [2020/04/15(水) 07:04:01 ID:+ql6+04R.net] >>625 癖はあるけど動いている バックグラウンド動作の画像認識はDirectX描画じゃないと駄目っぽい chkimgではヒットするのにchkimgxでは全くヒットしない画像がある。chkimgxっていうか使ってるOpenCVライブラリの問題なんだろうけど
668 名前:デフォルトの名無しさん mailto:sage [2020/04/25(土) 20:57:41.86 ID:+DYe+iEQ.net] uwscを使用していると稀に external exception C0000264. と出てくるのですが、これはどうしたら出なくなりますか?
669 名前:デフォルトの名無しさん mailto:sage [2020/04/26(日) 11:35:57.42 ID:yth2UhWM.net] 0xc0000264で調べて諦めるといい
670 名前:デフォルトの名無しさん mailto:sage [2020/05/02(土) 19:11:57.36 ID:hfp4FbZC.net] chkimgxを複数の並列処理で使用したいのですが上手くいきません。 一つのプロセスでしか機能しないのでしょうか? 複数で使えるのであればやり方などお教え頂きたいです。
671 名前:デフォルトの名無しさん mailto:sage [2020/05/02(土) 22:26:35 ID:yTTamFYE.net] グローバル変数に結果格納してるわけでタイミングによっては書き換えられてしまうからでは どういううまく動かないかが分からんけど、これが原因なら実行後すぐに別の変数に退避するかスレッド別になるようにライブラリ書き換えるか、等々
672 名前:デフォルトの名無しさん mailto:sage [2020/05/03(日) 14:58:09 ID:J77i8eFq.net] procedure 並列() while trur if chkimgx(画像1.bmp,指定id1〜 msgbox(ok) endif sleep(1) wend fend ↑の様なものを並列処理で別のウィンドウidを指定し3つ程動かしているのですが、chkimgxでエラーが発生しました。と表示されて動作しません。 どういった方法を取れば解決出来ますでしょうか?
673 名前:デフォルトの名無しさん mailto:sage [2020/05/03(日) 17:30:45 ID:2n/B6drN.net] お前には無理だから諦めろ
674 名前:デフォルトの名無しさん mailto:sage [2020/05/03(日) 19:36:38.64 ID:JpRTnUDx.net] startup_chkimgx()してないだけでしょ
675 名前:デフォルトの名無しさん mailto:sage [2020/05/04(月) 23:58:16 ID:pqlhkoPy.net] >>631 > これが原因なら実行後すぐに別の変数に退避するか それでもタイミング次第で駄目だよ chkimgx実行前後に排他処理入れるしか解決方法ない
676 名前:デフォルトの名無しさん [2020/06/26(金) 12:54:56.86 ID:qsHwziaQ.net] サクラエディタの質問になってしまうのですが、指定した行、例えば2,6,14,32行を1度にコピーしたり挿入するにはどうすればできますか。 よろしくお願いします。
677 名前:デフォルトの名無しさん mailto:sage [2020/06/26(金) 13:04:26 ID:PH3cJrMz.net] 何がよろしくお願いしますだよ、スレチ過ぎて回答なんか来ないぞ
678 名前:デフォルトの名無しさん mailto:sage [2020/06/26(金) 13:44:24.55 ID:ECSKM2w9.net] サクラエディタってマクロないのかよ
679 名前:デフォルトの名無しさん mailto:sage [2020/06/26(金) 18:59:51.57 ID:42Sy87qY.net] あったはず
680 名前:デフォルトの名無しさん mailto:sage [2020/06/26(金) 19:24:43.88 ID:nyM1H0WV.net] UWSCのマクロを作るのにサクラエディタを使っているけどスレチだな
681 名前:デフォルトの名無しさん mailto:sage [2020/06/26(金) 19:32:51.02 ID:nyM1H0WV.net] そういやサクラエディタと 大昔にMIFES、VZ、 WZエディタを使っていたけど 評判の良い秀丸エディタは使った事が無かった
682 名前:デフォルトの名無しさん mailto:sage [2020/06/26(金) 19:59:38.01 ID:ECSKM2w9.net] 秀丸のマクロをUWSCのセレクトボックスに登録して呼び出して使ってたりする
683 名前:デフォルトの名無しさん mailto:sage [2020/06/26(金) 20:10:29.72 ID:42Sy87qY.net] 秀丸エディタは有料だから手を出す気にならない
684 名前:デフォルトの名無しさん mailto:sage [2020/06/27(土) 00:34:23.45 ID:iUYo3nGX.net] 秀丸=四千円もするもんな
685 名前:デフォルトの名無しさん mailto:sage [2020/06/27(土) 07:47:14.58 ID:Jk2b87/7.net] >>644 やめろ
686 名前:デフォルトの名無しさん mailto:sage [2020/06/27(土) 14:33:58.98 ID:LSvaexnY.net] このネタわかる人は高齢者
687 名前:デフォルトの名無しさん mailto:sage [2020/07/03(
] [ここ壊れてます]
688 名前:金) 01:22:06.10 ID:Dvup0ZMV.net mailto: 質問です 初めてuwsc入れたのですが記録ボタンが灰色になっていて操作が出来ません 色々調べてみたけれどもイマイチよく分からなかったのですがどうすればいいでしょうか? win10のdynabookです [] [ここ壊れてます]
689 名前:デフォルトの名無しさん [2020/07/04(土) 09:42:53.15 ID:bhHjhVrL.net] >>647 UWSC.exeと同じフォルダにRecUws.dllありますか?
690 名前:デフォルトの名無しさん mailto:sage [2020/07/04(土) 13:54:48 ID:3Gp7+FfQ.net] >>648 あります その後が分かりません…
691 名前:デフォルトの名無しさん [2020/07/04(土) 14:06:52.81 ID:BpefeSFV.net] ○ ○ ○ ○ ○ ● ○ ○ ●が自機で、○が敵です ●から一番近い○を順にタッチしていきたいのです(●は移動するが○はその場所から消えない) が、どうやればいいのか皆目検討がつきません こういうアルゴリズムって何ていうんでしょう
692 名前:デフォルトの名無しさん [2020/07/04(土) 14:11:12.78 ID:BpefeSFV.net] 間違えました ×(●は移動するが○はその場所から消えない) ○(●は移動する。○はタッチすると死骸×に変化する) でした
693 名前:デフォルトの名無しさん mailto:sage [2020/07/04(土) 16:00:55 ID:rpET5GXf.net] アルゴリズムは知らんけど CADCAMの工作機械ドリル穴あけパスの最短距離 自動生成機能みたいなやつだな
694 名前:デフォルトの名無しさん [2020/07/04(土) 16:29:11.29 ID:OTAHPrbr.net] 巡回セールスマン問題? これを真面目にやると面倒だけれど、 接近してきた画像を押すだけなら 野暮な力技で十分な気がする。
695 名前:デフォルトの名無しさん mailto:sage [2020/07/04(土) 16:38:02 ID:VhIEqfUN.net] >>650 単純に距離√(xx+yy)で当たり判定で良いんじゃまいか
696 名前:デフォルトの名無しさん mailto:sage [2020/07/04(土) 17:17:22.17 ID:DEQjmcqB.net] >>654 欲しいのは距離じゃなくて近い奴だから ルート取る必要ないだろ。
697 名前:デフォルトの名無しさん [2020/07/04(土) 17:38:19.56 ID:TN5VprEm.net] >>655 は?
698 名前:デフォルトの名無しさん mailto:sage [2020/07/04(土) 17:46:26.32 ID:1QfEBuvL.net] ルートを計算しなくても大小関係変わらんだろ 今回に関してはバカに絡まれるデメリット背負ってまでルートの計算負荷を減らす意味はないと思うけど
699 名前:デフォルトの名無しさん mailto:sage [2020/07/04(土) 17:56:59.79 ID:VPpCSEzQ.net] >>651 白は移動したら移動後の位置から近い位置の黒にいくのと、それとも元の白の位置を基準にするのとどっち? まあ、前者でも後者でもやることはchkimgなりで位置のリストが取得できるからそれ使って白位置の近似値からタップするだけよ アルゴリズム? 知らんな
700 名前:デフォルトの名無しさん mailto:sage [2020/07/04(土) 18:01:03 ID:Mq6JcoKF.net] 距離と分かる式にするか処理を少しでも軽くするかは一長一短で 自分が一番初めに思いついた方にしとく方が可読性が上がる 人に言われて変えるものではないと思う
701 名前:デフォルトの名無しさん mailto:sage [2020/07/04(土) 18:08:20.26 ID:DEQjmcqB.net] >>657 これさあ、昔読んだ叫ぶCプログラマっていう本に出てきた一節でさ。 それとも同じ作者のプログラマを笑えだったかな。
702 名前:デフォルトの名無しさん mailto:sage [2020/07/04(土) 18:10:16.03 ID:DEQjmcqB.net] >>659 この程度じゃコメントすら要らんだろ。 ま、距離の大小は2乗の時点で判明とかコメントつけときゃOK
703 名前:デフォルトの名無しさん [2020/07/05(日) 14:07:22.77 ID:s67fMTSC.net] 1) 視界内の全敵位置取得 2) abs(自XY - 敵XY[数])で並べて近い敵に移動してタッチ の繰り返しでやろうと思います ありがとうございました
704 名前:デフォルトの名無しさん mailto:sage [2020/07/27(月) 17:13:01.26 ID:LFattNL9.net] noxで 1,画像Aを探してタップ(見つからなくなるまで) 2,画像Bを探して見つからなかった
705 名前:迚コにスワイプして1に戻る 3,画像Bが見つかったら終了 のような動作をさせようと思って以下のように作って見たのですが、画像Aを発見してループ2を一周した後は画像Aと画像Bが見つからないが交互に出てループ1から抜け出せない状態です。 print "テスト開始" while True //ループ1開始 while True //ループ2開始 ifb CHKIMGX("画像A.bmp", winid, x1, y1, x2, y2, Detect_num, Threshold_delta, Target_color) print "画像Aを発見しました。" X1 = g_imgx_x + 5 + random(5) Y1 = g_imgx_y - 30 + 5+ random(5) // ウィンドウ枠分の座標補正とクリック位置調整 DOSCMD("nox_adb shell input touchscreen tap " + X1 + " " + Y1) sleep(2) DOSCMD("nox_adb shell input touchscreen tap 384 541") sleep(2) DOSCMD("nox_adb shell input touchscreen tap 272 523") sleep(2) else print "画像Aは見つかりませんでした。" break endif wend //ループ2終了 ifb CHKIMGX("画像B.bmp", winid, x1, y1, x2, y2, Detect_num, Threshold_delta, Target_color)=FALSE print "画像Bは見つかりませんでした。" DOSCMD("nox_adb shell input swipe 288 600 288 300 600") sleep(2) else print "画像Bを発見しました。" break endif wend //ループ1終了 [] [ここ壊れてます]
706 名前:デフォルトの名無しさん mailto:sage [2020/07/27(月) 17:21:22.43 ID:LFattNL9.net] ちなみに画像Aがない状態でスタートすると、画像Aが表示されるまで下にスワイプ(途中に画像Bがあってもスルー)してループ2を1周してからまた画像AとBが見つからないループに入ってしまいます。 また、adbを使わないマウスが取られるマクロの方は一応問題なく動いてます。
707 名前:デフォルトの名無しさん [2020/07/27(月) 18:37:45.17 ID:Ig/59khU.net] winid = getid("NoxPlayer")だろうとwinid = getid("メモ帳")だろうと関係なくwinidが1になってしまうのは何故なんでしょうか。
708 名前:デフォルトの名無しさん mailto:sage [2020/07/27(月) 19:56:01.58 ID:VYBQARBr.net] >>663-664 単にスワイプ後の慣性で画面が動いてて画像認識出来てないだけじゃない? 画像をタップする座標は乱数入ってるのにその後のタップやスワイプは固定座標なのとか 色々ツッコミどころはあるけど、まずはタップとスワイプを関数化しておくのをオススメする procedure tap(x, y) doscmd("nox_adb shell input touchscreen tap " + x + " " + y) fend procedure swipe(x1, y1, x2, y2) doscmd("nox_adb shell input swipe " + x1 + " " + y1 + " " + x2 + " " + y2) fend
709 名前:デフォルトの名無しさん mailto:sage [2020/07/27(月) 20:31:25.50 ID:LFattNL9.net] >>666 回答ありがとうございます、スワイプ後の慣性も考えてsleepを長めに取ったり、最初の時点で画像Aが複数ある状態でスタートしても結果は変わらずでした。 procedureは使ったことがなかったので、調べながら修正してみます。
710 名前:デフォルトの名無しさん [2020/07/27(月) 21:12:51.27 ID:2I3xUck9.net] サイトハッキングて意外と簡単やな re-file.com/18k/1669/
711 名前:デフォルトの名無しさん [2020/07/27(月) 21:21:06.80 ID:Y/C2ypnr.net] >X1 = g_imgx_x + 5 + random(5) >Y1 = g_imgx_y - 30 + 5+ random(5) // ウィンドウ枠分の座標補正とクリック位置調整 これさあ 変数名って大文字小文字区別するんだっけ
712 名前:デフォルトの名無しさん mailto:sage [2020/07/27(月) 21:49:14 ID:LFattNL9.net] >>669 X1とY1をaaaとbbbにしてみたらちゃんと動作してくれるようになりました。 大文字と小文字を区別するにしても変数にx or y+数字は安直過ぎました。 解決方法を教えていただきありがとうございます。
713 名前:デフォルトの名無しさん mailto:sage [2020/07/27(月) 22:31:39.36 ID:3jtmTLJJ.net] >>668 の本当の内容 【閲覧注意】【メキシコ】麻薬カルテル、元組織のメンバーを「皮剥ぎの刑」に処す - 18禁グロ ▼カテゴリ - 18禁グロには一部、異様・奇怪・猟奇的・暴力シーン・グロテスクな表現が含まれていますので、閲覧制限をしています。 1. 18歳未満は閲覧禁止です。 2. 耐性が無い方は閲覧しないでください。 3. 閲覧は自己責任でお願い致します。 ※上記、18歳以上で同意できる方は入室
714 名前:してください。 PASS:7777 [] [ここ壊れてます]
715 名前:デフォルトの名無しさん mailto:sage [2020/07/28(火) 01:07:54 ID:dFO+mkSs.net] >>667 まず画像Aと画像Bを認識出来てる? 同じ画像に見えても表示される座標が変わると一致率も変わっているとかよくある どこが問題か分かりやすくするために、デバッグは小さいパーツに分けてやったほうが良い 例えばスワイプ後に画像Bを探すだけのコードを試すとか
716 名前:デフォルトの名無しさん mailto:sage [2020/07/28(火) 10:35:41 ID:PZ7FD++0.net] >>672 画像Aや画像Bの認識は問題なく、>>669 であるように変数にx1とy1を使っていたのが原因でした。
717 名前:デフォルトの名無しさん mailto:sage [2020/07/28(火) 11:33:20.45 ID:hWwhsWN2.net] どなたか>>665 について分かる方みえませんか? getid("アプリ名")をしても起動中のアプリは1、起動していないアプリは-1となり、1か-1しか結果が返ってきません。 ウインドウIDを取得したいのですが、何がいけないんでしょうか。 UWSC5.3.0.2、win10 64bitです。
718 名前:デフォルトの名無しさん mailto:sage [2020/07/28(火) 11:45:37 ID:PZ7FD++0.net] >>672 更に質問で申し訳ないのですが、procedure使ってswipe(x1, y1, x2, y2)のようにして簡略化することはできたのですが、ここから更にランダム性をprocedure上で反映させるにはどうしたら良いでしょうか? とりあえず今のところメインとなるuwsファイルで swipe(x1+ random(5), y1+ random(5), x2+ random(5), y2+ random(5)) のようにすれば動作することは分かったのですが、producerで一括して処理しようと思い procedure swipe(x1, y1, x2, y2) doscmd("nox_adb shell input swipe " + x1+ random(100) + " " + y1+ random(100) + " " + x2+ random(100) + " " + y2+ random(100)) fend としてみたのですがエラーは出ないもののなにも動作しない状態です。
719 名前:デフォルトの名無しさん mailto:sage [2020/07/28(火) 12:32:50.82 ID:BIndr6P+.net] >>674 winidはそもそも数値で表現されるオブジェクトじゃない あえてそれを表示しようとすると1/-1で状態を返すという仕様なだけで別にidが1/-1ではない >>675 doscmdの()内で+で記述すると加算された合計値じゃなくてそれぞれが文字列で結合されちゃうんじゃかいかな? 括弧でくくってやればいいと思うよ
720 名前:デフォルトの名無しさん mailto:sage [2020/07/28(火) 13:09:15.41 ID:PZ7FD++0.net] >>676 おっしゃる通りにしたところ上手く動作してくれました、ありがとうございました。
721 名前:デフォルトの名無しさん mailto:sage [2020/08/01(土) 10:55:03 ID:A3rem5Z4.net] 吹き出しが下から噴き出すプログラムを作ってみた PUBLIC RZZ=0 While true FKIDSI() Fukidasi(RZZ,1200,10,0,3,,,$AAAAAA) Wend procedure FKIDSI() IF RZZ<64 Thread FKDSSUB() ENDIF fend procedure FKDSSUB() RZZ = RZZ + 1 Xinc = ((random(6)+1) * (random(2)*2 -1)) /1.9 Yinc = (random(8)/10+0.2) /4 z=random($FFFFFF) X=640 Y=1010 for i=-100 TO 100 Fukidasi(" ", X, Y, 0, ,,,Z) SLEEP(0.01) Ymov = Yinc * i X = X + Xinc Y = Y + Ymov next RZZ = RZZ - 1 fend
722 名前:デフォルトの名無しさん mailto:sage [2020/08/01(土) 10:59:28 ID:Bo5IFXl7.net] fendって何だっけ
723 名前:デフォルトの名無しさん mailto:sage [2020/08/01(土) 10:59:55 ID:Bo5IFXl7.net] procedure閉じてるのか
724 名前:デフォルトの名無しさん mailto:sage [2020/08/01(土) 11:05:00.24 ID:A3rem5Z4.net] あとマウスカーソルについてくる吹き出し PUBLIC RZZ=0 PUBLIC X=0 PUBLIC Y=0 XX=0; YY=0; WHILE TRUE FOR RZZ=0 TO 55 F=0; WHILE (F=0) XX = X; YY = Y; X = G_MOUSE_X; Y = G_MOUSE_Y; IF (XX <> X) OR (YY <> Y) F=1 ENDIF WEND Thread FKDSSUB() NEXT WEND procedure FKDSSUB() TZ=RZZ-1 IF TZ = -1 THEN TZ = 55 Fukidasi(RZZ, X+10, Y+10, 0, ,,,random($FFFFFF)) WHILE TZ <> RZZ SLEEP (0.01) WEND FEND
725 名前:デフォルトの名無しさん mailto:sage [2020/08/01(土) 12:38:15.63 ID:I5HfbaHP.net] 死ぬほど読みづらいから
726 名前:コード貼る時は適度な改行とインデントつけてくれ 5chだとアンダーバー4つか全角スペース2個でインデント1つになる while True ____ifb while True ifb [] [ここ壊れてます]
727 名前:デフォルトの名無しさん mailto:sage [2020/08/01(土) 14:01:23.40 ID:U7vGE7b3.net] >>678 >>681 インデントされてれば引用で専ブラで見れるはず
728 名前:デフォルトの名無しさん mailto:sage [2020/08/01(土) 14:34:06.11 ID:Bo5IFXl7.net] 自分で好きに整形しろ
729 名前:デフォルトの名無しさん mailto:sage [2020/08/01(土) 16:55:40.92 ID:Uz4ilC0D.net] 「Harigami」を使ってみてはどうだ ttps://harigami.jp/cd?hsh=8e4b495c-d3f3-4267-9154-8d83dc1cbd8b
730 名前:デフォルトの名無しさん [2020/08/16(日) 21:01:17.32 ID:k+kUeFyT.net] CHKIMGXをWHILE TRUEの外に出すとエラーが出てしまいます。 なぜなんでしょう 下記でメインからサブ関数でCHKIMGXは読んでいます // ChkImgX関数をインクルード CALL ChkImgX.uws; while true TRY startup_chkimgx() //CHKIMGX関数開始 ****ここにプログラム CHK(LOC) FINALLY shutdown_chkimgx() //CHKIMGX関数停止 ENDTRY wend function CHK(loc[]) CHKIMGXをここで使う FEND
731 名前:デフォルトの名無しさん mailto:sage [2020/08/17(月) 02:52:44.83 ID:UvoRp25i.net] 何エラーよ
732 名前:デフォルトの名無しさん mailto:sage [2020/08/17(月) 19:53:01.04 ID:KciEC6qM.net] *_chkimgxは何度も呼び出すような関数じゃないよ どっかでリークしてるオチじゃないの
733 名前:デフォルトの名無しさん [2020/08/17(月) 23:35:10.11 ID:wjXkQQv2.net] TRYがWHILEENDの中でずっと回っていたのだけど、 WHILEENDの外に出したら治った・・・ 皆様ありがとう
734 名前:デフォルトの名無しさん [2020/08/18(火) 12:57:20.18 ID:suCzDasT.net] CHKIMGやCHKIMGXの画像検索範囲について質問です。 大きさ10x10の画像を0,0 100,100の範囲から探す場合 画像左上のピクセルが100,100に到達するまで検索しているのか 画像右下のピクセルが100,100に到達かのどちらでしょうか
735 名前:デフォルトの名無しさん mailto:sage [2020/08/18(火) 18:59:40.87 ID:5Qy/mHcW.net] 右下かなと思うが、試してみたら? チェッカーパターンな背景作ってマスの画像で検索
736 名前:デフォルトの名無しさん mailto:sage [2020/09/02(水) 22:09:27.14 ID:fUjg46/2.net] uwscの実行中に離席した場合などでディスプレイの電源が切れないようにする方法ってないでしょうか? 今は5分に1回マウスを動かす処理を入れて対応していますがネット閲覧時にいきなりマウスが動くので操作しにくいです コントロールパネルの電源オプションで設定を変更すればよいのはわかりますがuwsc実行中だけというのが理想です よろしくお願いします
737 名前:デフォルトの名無しさん mailto:sage [2020/09/02(水) 22:16:34.51 ID:wdeVv3mH.net] UWSCで電源オプションの設定を変えれば
738 名前:デフォルトの名無しさん mailto:sage [2020/09/02(水) 22:57:57.26 ID:85wlAF9N.net] >>692 事前に2種類の電源プランを作っておき UWSCのスクリプト内で doscmd関数を使い Powercfg.exeに電源プラン変更コマンドを送る コマンドについては以下を参考に https://ascii.jp/elem/000/001/877/1877882/ うまく組めばマクロ終了時に電源プランを自動的に戻すことも可能
739 名前:デフォルトの名無しさん mailto:sage [2020/09/02(水) 23:09:28.81 ID:pBGvn6/E.net] //五分に一度 ALT を押してスリープ回避 while 1;sleep (300);kbd(vk_alt);wend;
740 名前:デフォルトの名無しさん mailto:sage [2020/09/03(木) 00:02:11.56 ID:vpra+F8w.net] >>692 DEF_DLL SetThreadExecutionSta
741 名前:te(DWORD): DWORD: kernel32 CONST ES_CONTINUOUS = $80000000 CONST ES_DISPLAY_REQUIRED = $02 SetThreadExecutionState(ES_CONTINUOUS or ES_DISPLAY_REQUIRED) [] [ここ壊れてます]
742 名前:デフォルトの名無しさん [2020/09/03(木) 20:27:05 ID:ha/scr+l.net] >>692 外部ソフト併用で良ければ FavSleepStopはおすすめ。
743 名前:デフォルトの名無しさん [2020/09/24(木) 12:33:36.91 ID:eUQ7jF7Q.net] 画像aが出るまでループし、画像aが出たらreturnという仕組みにしたいのですが ループせず最後の所で止まってしまいます。少々省略しないと貼れないので省略しますが これどうなっているんでしょうか?どこが間違いでしょうか?そのまま貼ります。 WHILE (CHKIMG("A.bmp")=FALSE) SLEEP(0.5) KBD(VK_P,DOWN,50) KBD(VK_P,UP,50) SLEEP(0.5) WEND IFB CHKIMG("A.bmp") SLEEP(0.5) KBD(VK_O,DOWN,50) KBD(VK_O,UP,50) SLEEP(0.5) ENDIF
744 名前:デフォルトの名無しさん mailto:age [2020/09/24(木) 12:35:05.91 ID:eUQ7jF7Q.net] 画像aが出るまでループし、画像aが出たらOという仕組みにしたいだった
745 名前:デフォルトの名無しさん mailto:sage [2020/09/24(木) 17:12:59.11 ID:FiwMBeQt.net] 単にループさせるだけなら While 1 〜 Wend で良くね なんか条件が書いてあるからループしなくなるのでは
746 名前:デフォルトの名無しさん mailto:sage [2020/09/24(木) 17:13:38.10 ID:FiwMBeQt.net] あとWendより後にifbがあるからループの中に条件がないね
747 名前:デフォルトの名無しさん mailto:sage [2020/09/24(木) 21:34:49.94 ID:mGnJTDMd.net] >>698 これをみても特に問題があるとは思えない >ループせず最後の所で止まってしまいます。 疑問1:ループしていないことをどう確かめたのか? 疑問2:最後の所とはどこか? 疑問3:終わるではなく止まるなのか? ループ中、ループ後に PRINT か MSGBOX かを入れて たしかにそこを通ってるかどうか確かめたほうがいいと思う MSGBOXを使う場合はどうせテストなのでループ中のSLEEPは 2秒くらいとったほうが扱いやすい
748 名前:デフォルトの名無しさん mailto:sage [2020/09/24(木) 21:45:43.40 ID:/TzBJHGH.net] こんなこと書いてるしネタだろう >少々省略しないと貼れないので省略しますが >そのまま貼ります。
749 名前:デフォルトの名無しさん mailto:sage [2020/09/29(火) 22:34:47.52 ID:FsRpumhX.net] 記録すらできないアプリがあるのか…これどうなってんだ アプリはR2games.comのR2Client 12月末のFlash終了後このclientで引き続きプレイできるそうなのでインストールしてみたのだけど UWSCで記録が全くできないので自動化が出来ない
750 名前:デフォルトの名無しさん mailto:sage [2020/09/29(火) 23:38:54.63 ID:0MYSuhb/.net] まあ、中身Flashのままみたいだからなあ
751 名前:デフォルトの名無しさん mailto:sage [2020/09/29(火) 23:48:20.89 ID:FsRpumhX.net] いやgetidすら取得できない
752 名前:デフォルトの名無しさん mailto:sage [2020/09/30(水) 16:30:38.78 ID:QVZpoBrX.net] flashのid取得するにはまずウィンドウidとって、その次にハンドル取得しなきゃダメだよ
753 名前:デフォルトの名無しさん mailto:sage [2020/10/01(木) 19:39:40.83 ID:LoI0BqO6.net] >>704 の件は解決したというか 今日起動してみたら問題なく取得できた なぜ取得できなかったのかはわからないけどこれで懸念事項は払拭できた >>707 は勘違いしてるけど解決したからいいです
754 名前:デフォルトの名無しさん mailto:sage [2020/10/02(金) 14:26:32.02 ID:fC3or5Mo.net] ある期間からある期間の月数って、 どうやったら求められる? 例えば2019年10月から2020年3月は6ヶ月。 これを求めたい。
755 名前:デフォルトの名無しさん mailto:sage [2020/10/02(金) 14:38:31.92 ID:b1fFJk4v.net] 検索したけど分からんかった 年×12+月で引き算+1したら?
756 名前:デフォルトの名無しさん mailto:sage [2020/10/02(金) 15:37:29.99 ID:fC3or5Mo.net] なるほど! 頭、いいね。 やってみる
757 名前:デフォルトの名無しさん mailto:sage [2020/10/03(土) 09:16:10.12 ID:A1z8cMTv.net] autoitを使ってる人いる?
758 名前:デフォルトの名無しさん mailto:sage [2020/10/09(金) 00:15:11.67 ID:fWH520+c.net] >>712 今は使ってないが、前は結構使ってた。
759 名前:デフォルトの名無しさん mailto:sage [2020/11/03(火) 22:30:50.25 ID:Ic7gUSD+Q] 【100万円】シルク、ルイ
760 名前:・ヴィトンで全身コーデを買う。 https://www.youtube.com/watch?v=ArFG6a3zymw 【人生最高額】シルク、30,000,000(三千万)円の限定腕時計を買う。 https://www.youtube.com/watch?v=I0U7hZR-Wp8 フィッシャーズ、新車を買う。 https://www.youtube.com/watch?v=u3oJ0AEDaJg 【人生最高額】てつや、時計をヒカキンさんと買う!! https://www.youtube.com/watch?v=14YguTpGRwc 虫眼鏡、ついにレクサスLS納車 https://www.youtube.com/watch?v=2dgL91ME-M8 ブラーボりょう、アストンマーティンDB11Volanteを購入しました!!! https://www.youtube.com/watch?v=XSK5yHETdh4 てつやの超高級車が届きました https://www.youtube.com/watch?v=HKHIPgK7CIQ 人気YouTuberが選んだ車からクジで決めたものガチで買いますwwwwwwwww https://www.youtube.com/watch?v=RX-1oXyqzO4 はなお、ついにアルファード納車しました。 【クジ引きで引いた車購入】 https://www.youtube.com/watch?v=m-melUBl8YQ 【10000円ガチャ】1回10000円の超高額ガチャ回したらついに大当たりキタァァァァア!! https://www.youtube.com/watch?v=Ha-s9KD1LyQ [] [ここ壊れてます]
761 名前:デフォルトの名無しさん mailto:sage [2020/11/06(金) 23:06:53.83 ID:362vvKB1.net] 2つのスクリプトを同時に実行したいのですがどのような処理を書くべきでしょうか? //同時.uwsの内容 call 処理1.uws call 処理2.uws こんな感じで書いても処理1.uwsが動くだけです 処理1.uwsが終わったら処理2.uwsが動くと思うのですがそうではなく1と2を同時に実行して別々の動きをして欲しいです uwscの実行ファイルとそれぞれのスクリプトファイルは全て同一フォルダにあるものとします よろしくお願いします
762 名前:デフォルトの名無しさん mailto:sage [2020/11/06(金) 23:09:52.79 ID:oall+sef.net] thread 処理1.uws thread 処理2.uws
763 名前:デフォルトの名無しさん mailto:sage [2020/11/07(土) 20:04:03.01 ID:vukJSlcq.net] thread が実行できるのは関数なので 処理1.uws, 処理2.uws を関数化したあとで call 処理1.uws call 処理2.uws thread 処理1() thread 処理2() とする必要がある しかしそれだけだと、これを実行しているメインのプロセス自体が thread を2つ起動した直後に終わってしまう なのでフラグなどを使っていつまで実行すればいいのか コントロールする必要がある thread にする必要がとくになければ uwsc を2つ実行すればいい TEST.BAT --- start C:\uwsc\UWSC.exe C:\uws\処理1.uws start C:\uwsc\UWSC.exe C:\uws\処理2.uws --- あと複数のuwsを実行する場合はマウスカーソルや キーボードは1つしかないので そういう操作がある場合は 奪い合いが起こることを意識する必要がある
764 名前:デフォルトの名無しさん mailto:sage [2020/11/08(日) 09:07:47.79 ID:96WGa2GX.net] >>716 >>717 試行錯誤してて返事が遅くなりました スクリプトの挙動が少しおかしいですが目的通りに動いてくれるようになりました なんか変だけど動いてるからまあええかとなってしまうから進歩しないんだなと実感しました ありがとうございました
765 名前:デフォルトの名無しさん mailto:sage [2020/11/15(日) 21:51:04.27 ID:PgpnhPdo.net] 参考にしようと思って開いたnaverまとめが9月末で閉鎖してる…
766 名前:デフォルトの名無しさん mailto:sage [2020/11/25(水) 11:53:39.76 ID:Qh6houu2.net] >>718 同時に実行されると困るような関数使ってたりするとはまるので注意
767 名前:デフォルトの名無しさん [2020/12/26(土) 22:00:19.24 ID:60sfrFxz.net] NoxPlayerでuwscを利用していて質問です IFB CHKIMGX( "1.bmp", winid, x1, y1, x2, y2, Detect_num, Threshold_delta, Target_color) DOSCMD SLEEP(2) IF CHKIMG( "2.bmp",,,,,,,IMG_MSK_BGR6) DOSCMD ELSE DOSCMD DOSCMD ENDIF ELSE ENDIF このような記述にしたのですが、アクティブ中だと2.bmpを認識するのに裏マクロ中だと認識してくれません 2.bmpはPrintScreenからトリミングしたもので、動きなどない固定画像です CHKIMGX( "2.bmp", winid, x1, y1, x2, y2, Detect_num, Threshold_delta, Target_color) 当初はこのように記述していたのですが、これだとアクティブ中でも見
768 名前:つけてくれなかったのでCHKIMGの記述にしてみました アクティブではない状態で2.bmpを認識するにはどうすればよろしいのでしょうか [] [ここ壊れてます]
769 名前:デフォルトの名無しさん mailto:sage [2020/12/26(土) 23:50:39.26 ID:c93B7w+q.net] >>721 SAVEIMGのIMG_BACKで取得できなかったら アプリ自体が非アクティブ時の描画をサボってるから どうやっても取得できない
770 名前:デフォルトの名無しさん mailto:sage [2020/12/27(日) 00:47:30.15 ID:n8fvXRaD.net] >>721 VMware等仮想OSの方でNOXを動作させてアクティブにすれば Vmwareを最小化にしても内部ではアクティブですからね こういうときは多コアのCPUが有利なので8コアや16コアのCPUを買おう!
771 名前:デフォルトの名無しさん [2020/12/27(日) 01:23:55.59 ID:2030r+Fs.net] >>722-723 たしかにそのやり方は強引にできそうですが、調べてたらWindows10では無理だったみたいです ただアクティブ状態でも IF CHKIMGX( "2.bmp", winid, x1, y1, x2, y2, Detect_num, Threshold_delta, Target_color) これだと画像認識せず IF CHKIMG( "2.bmp",,,,,,,IMG_MSK_BGR6) これだと画像認識されるのはどういうことでしょうか ちなみに画像は異なりますが IFB CHKIMGX( "1.bmp", winid, x1, y1, x2, y2, Detect_num, Threshold_delta, Target_color) こちらは認識してくれているので、記述のミスはないと思います
772 名前:デフォルトの名無しさん mailto:sage [2020/12/27(日) 06:46:05.34 ID:ILpVLMzN.net] 画像が異なるが答えなのでは…? 実物も見せず言うだけ言われても何も分からんがな
773 名前:デフォルトの名無しさん mailto:sage [2020/12/27(日) 11:11:31.79 ID:Go+qnVGA.net] 画像が異なるってことはチェックしてる画面が違うわけで 画像以外のパラメータがどれか合ってないのでは
774 名前:デフォルトの名無しさん mailto:sage [2020/12/27(日) 13:39:37.49 ID:Xj0rz7S9.net] よく知らないけど、X版とCHKIMGでは判定方法が違うんじやないの? X版は、かなり暗くても高スコアでヒットするから
775 名前:デフォルトの名無しさん mailto:sage [2020/12/27(日) 13:58:17.99 ID:lIVD6Aho.net] CHKIMGX( "2.bmp", winid, x1, y1, x2, y2, Detect_num, Threshold_delta, Target_color) これのx1,y1,x2,y2を使ってsaveimgしたbmpを2.bmpに差し替えてどうか PrintScreenから作ったbmpがおかしいか、座標がおかしいかわかるでしょ
776 名前:デフォルトの名無しさん [2020/12/27(日) 15:35:17.18 ID:2030r+Fs.net] >>725-728 いろいろと勘違いさせてしまいました まず2.bmpの部分はCHKIMGを用いれば画像認識されているので現状意図した動作はされています ですので、PrintScreenしたbmpがおかしいということもないと思います 疑問なのは、あいまい画像認識のCHKIMGXの方が高確率で認識されると思うのですが、 なぜあいまい画像認識のCHKIMGXでは認識せずにCHKIMGの方でないと認識しないのかとういことです 1.bmpは関係ありません ただ1.bmpと2.bmpでは認識してもらいたい画像の部分だけ変えてる以外にCHKIMGXの記述を変えてないので、 記述間違いなら1.bmpも画像認識されないから2.bmpが画像認識されないのも理解できるけどっていうことです
777 名前:デフォルトの名無しさん [2020/12/27(日) 16:00:49.64 ID:2030r+Fs.net] IFB CHKIMGX( "1.bmp", winid, x1, y1, x2, y2, Detect_num, Threshold_delta, Target_color) DOSCMD SLEEP(2) IF CHKIMG( "2.bmp",,,,,,,IMG_MSK_BGR6) DOSCMD ELSE DOSCMD DOSCMD ENDIF ELSE ENDIF これだと2.bmpを認識して動作しますが、 IFB CHKIMGX( "1.bmp", winid, x1, y1, x2, y2, Detect_num, Threshold_delta, Target_color) DOSCMD SLEEP(2) IFB CHKIMGX( "2.bmp", winid, x1, y1, x2, y2, Detect_num, Threshold_delta, Target_color) DOSCMD ELSE DOSCMD DOSCMD ENDIF ELSE ENDIF これだと2.bmpを認識しないので動作しないということです
778 名前:デフォルトの名無しさん mailto:sage [2020/12/27(日) 16:46:19.54 ID:Go+qnVGA.net] PC一回再起動したら?
779 名前:デフォルトの名無しさん mailto:sage [2020/12/27(日) 19:14:21.24 ID:ILpVLMzN.net] >>730 だから判定したい場面も判定画像も上げずに目隠しで言われてもエスパー回答しかできねーのよ ゲームの絵貼りたくないならマス目画像とか適当な背景画像で状況再現したセットをくれ
780 名前:デフォルトの名無しさん mailto:sage [2020/12/27(日) 19:37:44.59 ID:majDbP6B.net] >>730 X版はデバッグモードあるから有効にしてみたら何かわかるかも知れない
781 名前:デフォルトの名無しさん [2020/12/28(月) 15:08:59.57 ID:Btd6jx/E.net] 自己解決しました、お騒がせしました
782 名前:デフォルトの名無しさん mailto:sage [2020/12/28(月) 15:12:22.09 ID:bQ1hkiX8.net] 原因はなんだった?
783 名前:デフォルトの名無しさん mailto:sage [2020/12/28(月) 15:20:34.10 ID:A2LpudMi.net] >>734 実際に起きてた問題と原因と解決した方法を報告してね
784 名前:デフォルトの名無しさん mailto:sage [2020/12/28(月) 19:16:35.66 ID:lHgMwOra.net] >>734 ネットでの質問は、自己解決した場合もその内容を具体的に報告することがマナーとなっていますのよー そうしないと情
785 名前:報の共有が出来なくて回答者は無駄足になるし、 聞き逃げが続くと誰も答えなくなるかもしれないからね [] [ここ壊れてます]
786 名前:デフォルトの名無しさん mailto:sage [2020/12/28(月) 19:31:08.48 ID:RUvOsexB.net] 自己解決したんだから回答者は答えてないのと同じだと思いますが
787 名前:デフォルトの名無しさん mailto:sage [2020/12/28(月) 19:36:28.69 ID:rQ8H54wA.net] まー多分つまんない勘違いか思い込みだったんだろう んなもん共有されても参考にならないしいんじゃね
788 名前:デフォルトの名無しさん [2020/12/29(火) 02:36:48.48 ID:HcXyWfHn.net] 仰る通り、回答者もいなかったので記載するほどでもないと思っていました CHKIMGで認識できて、あいまい認識できるCHKIMGXが認識されなかった問題ですが、CHKIMGXでの認識は無理だと判断しました SAVEIMGで画像取得しても特に画像に違いが見当たらず、 認識する範囲を画面全体から、認識してもらいたい画像がある範囲のみに絞っても無理 判定閾値の条件を緩くしたら、今度は画像が表示されていないのに認識してしまうほどでした CHKIMGXでは色幅が利用できないようなので、一見わかりづらいですがおそらくそこに問題があったのではないかと思います
789 名前:デフォルトの名無しさん mailto:sage [2020/12/29(火) 08:14:52.64 ID:VfYR7jYh.net] CHKIMGXの着目する色では対応できなかったということか 最終的に原因を書いてくれたのだからいいけど >>721 や>>724 にいくつか回答がついたのだから原因は書くべきでしょう 例え回答が役に立たなかったとしても、回答者は質問に対して時間を割いたのだから それは質問者の最低限のマナーだとおもうよ そうでなければ見返りもなく回答する人がいなくなって質問スレは成り立たくなる
790 名前:デフォルトの名無しさん mailto:sage [2020/12/29(火) 09:42:18.91 ID:kNpkOyS+.net] >>740 >回答者もいなかったので記載するほどでもないと思っていました うん。それ間違いだから直そうね それはさておき、範囲の比較じゃ無駄が多いから、peekColorでfunction作ったほうが速いんじゃね 何に使うのか知らんが、ゲームの画面監視でHP・MP・敵と第三者を常時監視して完全な自動戦闘するなら断然軽かったぜ
791 名前:デフォルトの名無しさん mailto:sage [2020/12/29(火) 14:54:12.96 ID:4L/gF/i1.net] 昔mixiゲームにあったクライムワールドで 格下相手に粘着して5万勝以上稼いだのは僕です マクロ様々でしたね〜!
792 名前:デフォルトの名無しさん mailto:sage [2020/12/29(火) 15:00:52.48 ID:PT/2WgOq.net] それって金もうかるん?
793 名前:デフォルトの名無しさん mailto:sage [2020/12/29(火) 20:59:49.89 ID:/PhRpDJG.net] >>740 CHKIMGXはモノクロに変換して比較するから色違いの画像とかには向いてないよ
794 名前:デフォルトの名無しさん mailto:sage [2020/12/30(水) 14:54:33.60 ID:lWlFiWq8.net] >>740 chkimgxで認識できなくてchkimgだと認識する画像パターンは存在するからね chkimgxっていうか使ってるOpenCVライブラリの問題だと思う。もしかしたら、こっちのバージョン上げて作り直したら解消するかもしれない
795 名前:デフォルトの名無しさん mailto:sage [2020/12/30(水) 15:51:05.24 ID:jnop5f2w.net] もう書かれてる通り色の扱いでしょ
796 名前:デフォルトの名無しさん mailto:sage [2020/12/31(木) 09:53:15.79 ID:q35RE35p.net] windows10の1909から20H2へアップデートしたらブラウザの描画が変わって画像取得をやり直す羽目になった… フォントはブラウザ毎で異なるのは許容できるけど画像の描画も変わるのは解せない 普段chkimgしか使ったことないけどこういうのはchkimgxで解決できるのかな?
797 名前:デフォルトの名無しさん mailto:sage [2020/12/31(木) 16:07:02.38 ID:898M8IM/.net] >>748 画像の大きさが同じならある程度吸収するけど 基本はRPAスレでも散々言われてるように環境変わったらその環境用に作り直すしかないよ
798 名前:デフォルトの名無しさん mailto:sage [2021/01/18(月) 00:47:00.68 ID:3GwAoqNL.net] こういう処理をさせたいのですが、変数?の
799 名前:使い方が違っていてエラー吐いて動きません どなたか教えていていただけないでしょうか。 マクロ1 for kaisu = 1 to 10 もし、この条件を満たすなら、「処理AA」をCall next マクロ2 処理AA k=k+1 ←「処理AA」が行われた回数のカウントをしたい ※マクロ1へ戻る マクロ3 if k = 1 then 操作B if k = 2 then 操作C [] [ここ壊れてます]
800 名前:デフォルトの名無しさん mailto:sage [2021/01/18(月) 00:48:56.41 ID:3GwAoqNL.net] ↑のようなものを作っても k=k+1 これが「変数kが定義されていません」エラーを吐いて動きません
801 名前:デフォルトの名無しさん mailto:sage [2021/01/18(月) 00:55:11.99 ID:zDdtgKlc.net] マクロ2の変数をマクロ3では参照できない 詳しくは変数のスコープでググってくれ
802 名前:デフォルトの名無しさん mailto:sage [2021/01/18(月) 20:36:52.82 ID:3GwAoqNL.net] できない理由の回答ありがとう PUBLICを使うことでなんとかなりそうです
803 名前:デフォルトの名無しさん mailto:sage [2021/01/20(水) 13:52:57.09 ID:op6U359o.net] excel2013以降全般でUWSCでexcelファイルをオープンにする場合と デスクトップ上からexecelファイルをクリックしてopenする場合では何かexcelの認識が変わるのでしょうか? excelに後から入れたアドインが上記の場合だとアドインを認識してくれず 下記の場合だとアドインを認識してくれる状態で困っています
804 名前:デフォルトの名無しさん mailto:sage [2021/02/02(火) 19:37:28.21 ID:lhBS5kaI.net] お気に入りだったのがサービス終了したもんで マクロ使ってプレイすると面白いゲーム教えて下さい
805 名前:デフォルトの名無しさん mailto:sage [2021/02/02(火) 20:24:46.86 ID:CvaL/gK2.net] クッキークリッカーでも極めたら如何か
806 名前:デフォルトの名無しさん mailto:sage [2021/02/05(金) 12:52:44.92 ID:CE/PVw/N.net] 裏マクロでの画像認識について質問です w_id = getid( "エミュレーター" ) mouseorg( w_id ,2 ,MORG_BACK ) を利用した裏マクロを作り、再生してみたのですが オンマウス状態にしないと画像認識が働かず 困っています。 【現在の状況やその具体例】 ・単純なクリック操作は裏マクロとして正常に動作する ・エミュレータの外側にマウスカーソルがあると画像認識がまったく働かない ・エミュレータの内側にマウスカーソルをもっていくと即座に画像認識が行われる ・エミュレータがアクティブ状態か非アクティブ状態かは関係なく オンマウスかどうかで画像認識の「働く/働かない」が決まる状況 (PC画面の最前面はメモ帳やブラウザ。裏で開いているエミュレータの先っぽだけを ブラウザの上にハミ出させて、そのハミ部分にマウスカーソルを移動させると画像認識動く) この「オンマウスでないと画像認識が動かない」状況を解消する方法を知りたいです よろしくお願いします。
807 名前:デフォルトの名無しさん mailto:sage [2021/02/05(金) 14:06:50.35 ID:CE/PVw/N.net] >>757 すみません。質問者です >単純なクリック操作は裏マクロとして正常に動作する ↑これもオンマウス状態でないと動作していませんでした。勘違いしていたようです 根本的に裏マクロの作成に失敗してる気がします もうちょっと自分で試行錯誤してから質問しなおします。
808 名前:デフォルトの名無しさん mailto:sage [2021/02/05(金) 14:38:29.04 ID:8IWMGH1a.net] 数回滞納したら信用機関のブラックリストに載るんだろ これ最悪じゃん
809 名前:デフォルトの名無しさん mailto:sage [2021/02/05(金) 14:39:01.10 ID:8IWMGH1a.net] 誤爆でした
810 名前:デフォルトの名無しさん mailto:sage [2021/02/05(金) 14:57:30.51 ID:yiuLSrin.net] ((((;゚Д゚))))
811 名前:デフォルトの名無しさん mailto:sage [2021/02/05(金) 15:26:56.29 ID:3x1rEHtV.net] 滞納ってのは金払いますって約束を破ってるんだから信用に傷付くのは当然だと思うんだが 遅れても払えば問題ないって意識が根本的におかしい uwscで自動化しろ
812 名前:デフォルトの名無しさん mailto:sage [2021/02/06(土) 14:27:30.37 ID:NphD2JzZ.net] IEでサイトをよんだら、Edgeが起動した。 もうだめだ。オレの人生はおわった。 変わりの自動化ツールを教えて下さい
813 名前:デフォルトの名無しさん mailto:sage [2021/02/06(土) 14:37:42.46 ID:e0Fl/dIF.net] edgeで動作するように作り直した方が早
814 名前:い [] [ここ壊れてます]
815 名前:デフォルトの名無しさん mailto:sage [2021/02/06(土) 15:00:10.50 ID:NphD2JzZ.net] >>764 そんなことできるんですか 朗報!
816 名前:デフォルトの名無しさん mailto:sage [2021/02/06(土) 15:30:39.13 ID:xKFqhvrl.net] ieでそのまま開くみたいな設定がedge側にあったと思うけど
817 名前:デフォルトの名無しさん mailto:sage [2021/02/06(土) 20:25:34.70 ID:+9Nz3gBm.net] >>766 ありがとうございます。 設定を変更してできました。 前日にはIEで表示できたのに、今朝になって突然代替表示されるようになって動転してしまいました。
818 名前:デフォルトの名無しさん mailto:sage [2021/02/08(月) 18:06:22.89 ID:sakamvjP.net] adbを利用したマクロのタップ位置をちょっとだけランダム化したいです 表マクロで座標(20,50)の周辺をランダムタップする場合は 20+RANDOM(1),50+RANDOM(1) ↑みたいにすれば出来ていたのですが、 adb版の裏マクロだとどういう記述にすればいいのでしょうか
819 名前:デフォルトの名無しさん mailto:sage [2021/02/08(月) 19:54:11.87 ID:rDadBMP6.net] >>675-676 辺りを見て
820 名前:デフォルトの名無しさん mailto:sage [2021/02/08(月) 21:20:12.83 ID:sakamvjP.net] 返答ありがとうございます 括弧でくくるとはどこをどのようにくくればいいのでしょうか… 具体例を書いていただけるとありがたいです。 頭が弱くて申し訳ない泣 下記を試してみたのですが一番上のやつだけが正常に動きます 成功(ランダム化無し) DOSCMD("cd C:\LDPlayer\LDPlayer4.0 & adb shell input tap 20 50") 失敗(ランダム化有り) DOSCMD("cd C:\LDPlayer\LDPlayer4.0 & adb shell input tap 20+RANDOM(1) 50+RANDOM(1)") 失敗(ランダム化有り_座標を括弧で括る) DOSCMD("cd C:\LDPlayer\LDPlayer4.0 & adb shell input tap (31+ RANDOM(1)) (50+ RANDOM(1))") 失敗(ランダム化有り_座標を括弧で括る2) DOSCMD("cd C:\LDPlayer\LDPlayer4.0 & adb shell input tap 31(+ RANDOM(1)) 50(+ RANDOM(1))") また>>675 の書き方は doscmd(" ")の「")」の箇所が「)」になっていて「" "」で最後のY座標を覆えていないのですが これは書き込みミスですか?それとも何か意図があるでしょうか
821 名前:デフォルトの名無しさん mailto:sage [2021/02/09(火) 02:13:50.42 ID:HgHOGPAh.net] DOSCMDで送信するのは文字列 下3つはRANDOM関数がダブルクォーテーションで囲われてるから関数ではなく文字列として認識されてる 文字列は結合が出来る str = "aaa" + "bbb" print str > aaabbb
822 名前:デフォルトの名無しさん mailto:sage [2021/02/09(火) 02:58:31.43 ID:Yx4rnzv/.net] >>770 文法適当だけどこう doscmd("adb shell input tap" + " " + (10 + rnd(10)) + " " + (20 + rnd(20))) 数値の加算としてて扱いたいところを括りなさいということ doscmdで失敗したらdoscmdの返り値を吹き出しとかログに出して確認するとコマンドプロンプト上のメッセージ見れるよ まあ、あとdoscmdで構文組み立てると使い回し的に微妙だし外で組み立ててデバッグ表示とか確認してから文字列の変数で渡す方がいいかな
823 名前:デフォルトの名無しさん mailto:sage [2021/02/09(火) 10:28:45.04 ID:w8MMFkxC.net] >>771 >>772 返答ありがとうございます。 教えていただいたルールと実例を見て少しずつわかってきた気がします 「+ " " +」の箇所が不思議な並びに見えていたのですが、「" +」で一塊の記号 と捉える(?)ということが何となくわかってきました。 「" +」と「関数」の組み合わせで、関数部分は括弧で両脇ガードするイメージかな、て。 理解が追いつきそうな気がします。ありがとうございます
824 名前:デフォルトの名無しさん mailto:sage [2021/02/09(火) 12:59:51.00 ID:Yx4rnzv/.net] いや変な理解してるよw プログラム知識どのくらいあるか知らんけど、要はdoscmdは最少だと文字列1つが引数なのが大前提 次にuwscは文字列に対して+すると左辺右辺を文字列とし結合する この時、数値も文字列になるし、関数は返り値が文字列になる なのでdoscmdの1番外の括弧の中の+は基本的に文字列の結合をしている 括弧の中にある括弧内は先に数値の計算がされる doscmd(10 + 10) だと1010になって doscmd((10 + 10)) だと20になる doscmd(a + " " + b) これはなんのことはなく単にaとbの間にスペースいれてるだけだ
825 名前:デフォルトの名無しさん mailto:sage [2021/02/10(水) 08:32:17.00 ID:JYL+31L1.net] ありがとうございます。今度こそわかりました つまり、doscmd(a + " " + b)のaとbとにランダム数値を代入する、みたいな式を これの前に書けば晴れてランダム座標の完成となるわけですね ちなみにお察しの通りプログラムの知識はなく 録画した表マクロが読める程度です… 回答ありがとうございます
826 名前:デフォルトの名無しさん mailto:sage [2021/02/10(水) 16:14:00.55 ID:mYgax70j.net] >>765 IE専用ツールじゃないから、EdgeでもChromeでも動くよ
827 名前:デフォルトの名無しさん mailto:sage [2021/02/12(金) 20:13:05.76 ID:74skEOdG.net] >>776 それがですね問題なのは、IEの場合、ページが読み込み完了になるまで待っててくれる関数があるじゃなんですか。 ああいうことができないと、例えばボタンを押すタイミングが早すぎたとかいうことになって先へ進めなくなるんです。 他のRPAでしたっけか、そういったもので、ブラウザの読み込み完了になるまで待機するようなものが見つけられなくて UWSCでIEをそのまま使いたいと思ってしまっているわけなんです。
828 名前:デフォルトの名無しさん mailto:sage [2021/02/13(土) 11:45:04.70 ID:ZGnem3aY.net] Seleniumは?
829 名前:デフォルトの名無しさん mailto:sage [2021/02/13(土) 12:07:26.24 ID:dZ6ue5BC.net] Seleniumでもpuppeteerでも好きなもの使え
830 名前:デフォルトの名無しさん mailto:sage [2021/02/15(月) 20:45:26.14 ID:fa+YzTlt.net] webdriver使えば?
831 名前:デフォルトの名無しさん mailto:sage [2021/02/16(火) 15:50:22.10 ID:+7e6mc9m.net] UWSCのスクリプト集が死んでるサイトしかないけど、見る方法は・・・ canal22.org/qanda/uwsc_script/
832 名前:デフォルトの名無しさん mailto:sage [2021/02/16(火) 23:02:31.35 ID:N5xcmHzO.net] archiveでどーぞー
833 名前:デフォルトの名無しさん mailto:sage [2021/02/28(日) 12:00:54.27 ID:zlvqXFLj.net] Aという動作をループさせながら、Bという画像が現れたら数分後にBをクリックするとかできますか?スリープだとAの動作が止まってしまうので…
834 名前:デフォルトの名無しさん mailto:sage [2021/02/28(日) 12:04:06.87 ID:Gf8vzNDu.net] gettimeを使うかthreadで別処理にする
835 名前:デフォルトの名無しさん mailto:sage [2021/02/28(日) 13:15:04.71 ID:rSDXD4Hw.net] Aを内包する大ループ作るだけでよくね 正攻法はthreadでいいと思うが
836 名前:デフォルトの名無しさん mailto:sage [2021/02/28(日) 17:45:14.82 ID:zlvqXFLj.net] ありがとうございます。早速試してみます。
837 名前:デフォルトの名無しさん mailto:sage [2021/03/02(火) 13:39:10.84 ID:JZpUb5F1.net] 難しく考えすぎなのでは? DIM Flag = False //B画像検出フラグ //Aという動作をループ While True //B画像が現れたらxに現在時刻を記録しFlagをTrueにする IFB CHKIMG("B.bmp") and (Flag = False);x = GETTIME();Flag = True;ENDIF //B画像検出して60秒経過したら、B画像をクリックしてループを抜ける IFB ((GETTIME() - x) > 60) and (Flag = True);BTN(LEFT,CLICK,(G_IMG_X+5),(G_IMG_Y+5));BREAK;ENDIF //B画像が現れず、120秒経過したらループを抜ける IFB ((GETTIME() - x) > 120) and (Flag = False);BREAK;ENDIF Wend IFB Flag = True;msgbox("B画像検出");ENDIF IFB Flag = False;msgbox("B画像未検出");ENDIF
838 名前:デフォルトの名無しさん mailto:sage [2021/03/02(火) 14:30:33.02 ID:mCqWIBDx.net] 782:gettimeかthread 785:考えすぎでは?gettime使え
839 名前:デフォルトの名無しさん mailto:sage [2021/03/02(火) 18:36:17.07 ID:JZpUb5F1.net] xの初期値を入れてなかったから修正 DIM Flag = False,x = GETTIME() //B画像検出フラグ,xに現在時刻を入れる //Aという動作をループ While True //B画像が現れたら、現れた時刻をxに入れてFlagをTrueにする IFB CHKIMG("B.bmp") and (Flag = False);x = GETTIME();Flag = True;ELSE;ENDIF //B画像検出して 60秒経過したら、B画像をクリックしてループを抜ける IFB ((GETTIME() - x) > 60) and (Flag = True);BTN(LEFT,CLICK,(G_IMG_X+5),(G_IMG_Y+5));BREAK;ENDIF //B画像が現れずに120秒経過したらループを抜ける IFB ((GETTIME() - x) > 120) and (Flag = False);BREAK;ENDIF Wend IFB Flag = True;msgbox("B画像検出");ENDIF IFB Flag = False;msgbox("B画像未検出");ENDIF
840 名前:デフォルトの名無しさん mailto:sage [2021/03/03(水) 00:31:34.71 ID:UoOyY0IM.net] >>789 素人考えですが 画像検出のIFブロックで発見したらBTNの第五引数で実行待ち時間を指定すればフラグ要らないような
841 名前:デフォルトの名無しさん mailto:sage [2021/03/03(水) 00:39:48.25 ID:eEFRPXrG.net] >>790 BTNって非同期なの?
842 名前:デフォルトの名無しさん mailto:sage [2021/03/03(水) 20:36:38.79 ID:yubedTmO.net] BTN(LEFT,CLICK,(G_IMG_X+5),(G_IMG_Y+5),600000) とすると、クリックするまでループ処理が止まる 止まるとA動作のループが動かない
843 名前:デフォルトの名無しさん [2021/03/03(水) 20:58:42.86 ID:gkb1jlIk.net] MSがなにやら簡単ツールを提供するようだ 自動化が簡単になる
844 名前:デフォルトの名無しさん mailto:sage [2021/03/03(水) 22:02:40.43 ID:g0RIT2ce.net] ソースは? UWSCみたいには使えないと思うが・・・
845 名前:デフォルトの名無しさん [2021/03/03(水) 22:08:57.07 ID:gkb1jlIk.net] https://www.itmedia.co.jp/news/articles/2103/03/news096.html
846 名前:デフォルトの名無しさん mailto:sage [2021/03/03(水) 22:20:08.14 ID:g0RIT2ce.net] コードを書かずに〜と書いてあることから凝った設定はできないとも読めるよ? まあ仮に自動化できたとしてもUWSCと同等のことが出来なければ用が無い
847 名前:デフォルトの名無しさん mailto:sage [2021/03/03(水) 22:25:44.81 ID:V8Bi7ith.net] これとUWSCを組み合わせて使えば自動化が簡単にできるようになるんじゃないかと期待してみる
848 名前:デフォルトの名無しさん mailto:sage [2021/03/03(水) 22:41:06.95 ID:W0isZ3pe.net] ブラウザの読み込み完了になるまで待つ機能があるかどうかですお。
849 名前:デフォルトの名無しさん [2021/03/04(木) 08:23:11.29 ID:RtzC2UYg.net] そりゃ自動化ツールなんだから クリックした結果を見る前に次の動作するわけなかろうw 艦これの自動化くらいすぐ出来そう
850 名前:デフォルトの名無しさん mailto:sage [2021/03/04(木) 14:16:32.07 ID:U4nDCxwI.net] //IE以外で読み込み完了まで待機が出来ないとか何とか・・・? DOSCMD("start microsoft-edge:www.google.co.jp/" ) //Edgeを起動してGoogleを表示 ID = GETID("Edge", "", -1) Stand-by(ID,ITM_BTN,"Google 検索") SENDSTR(id,"屋久島", 1, True) // 屋久島と入力してEnter SCKEY(ID, VK_RETURN) Stand-by(ID, ITM_LINK, "地図") CLKITEM(ID, "地図", CLK_LINK) // 地図をクリック //指定アイテムの文字が確認できるまで待機 Procedure Stand-by(ID, kind, ITM) While True Sleep(0.4) for n in GETITEM(ID, kind) if n = ITM then Exit next wend Fend
851 名前:デフォルトの名無しさん mailto:sage [2021/03/08(月) 11:11:54.09 ID:r1yNd/Vf.net] >>795 の続きが紹介されていた windows10homeの場合は使えない機能があるとのことProを使うのは当たり前なんで気にしたことなかったが。 homeの人はproへグレードアップしてほしい。約1万5000円支払えば可能だから当たり前にやっておこう。 また、ブラウザの自動操作は拡張機能が必要とのことだ。
852 名前:デフォルトの名無しさん [2021/03/08(月) 13:19:35.29 ID:p+9eWZvC.net] やるかボケ
853 名前:デフォルトの名無しさん mailto:sage [2021/03/08(月) 13:36:33.15 ID:r1yNd/Vf.net] あっそうですか でしたら使えない機能は諦めていただく他はないですね
854 名前:デフォルトの名無しさん mailto:sage [2021/03/08(月) 13:54:11.38 ID:1eIB7vrT.net] マイクソからも提供されてるのか 試してみるかな
855 名前:デフォルトの名無しさん mailto:sage [2021/03/12(金) 15:13:37.21 ID:ZRLAvOku.net] printで表示させる文字の位置を設定する方法はありますか? サイズも設定できるとなお良いです
856 名前:デフォルトの名無しさん mailto:sage [2021/03/13(土) 13:10:54.59 ID:cA/ebhRB.net] //面倒くさいやり方もあるが、無駄な労力なのでLOGPRINTを使うと良い //なぜかx座標が7ピクセルずれるから指定座標から引く事 x = 500;y= 500 FUKIDASI("表示位置テスト1",x,y) LOGPRINT(TRUE,x-7,y,250,100) PRINT "表示位置サイズ変更テスト2" sleep(10)
857 名前:デフォルトの名無しさん mailto:sage [2021/03/14(日) 19:17:10.26 ID:MdoUOPO+.net] 凄い初心な質問ですんません。 ID = EXEC("C:\Program Files (x86)\cameeze\cameeze.exe") SLEEP(1.5) ACW(
858 名前:GETID("cameeze","TfrmMain.UnicodeClass"),1583,450,460,300,0) ↓ 5回繰り返し(座標だけ違う) こんな感じで作ったのですが、UWSCから設定ファイルを実行すると動くのですが、 設定ファイルから実行すると失敗してしまいます。(アクティブなウィンドウが切り替わらずにパッパッと動いてる) 重複起動していて同名なので、名前の後に(1)みたいな風に付ける方法はありませんでしょうか… [] [ここ壊れてます]
859 名前:デフォルトの名無しさん mailto:sage [2021/03/14(日) 19:20:27.96 ID:MdoUOPO+.net] あれ、なんでだろ書き込めない・・・
860 名前:デフォルトの名無しさん mailto:sage [2021/03/14(日) 19:25:57.43 ID:MdoUOPO+.net] くっそ初心者ですんません。 ID = EXEC("あああ") SLEEP(1.5) ACW(GETID("あああ","TfrmMain.UnicodeClass"),1583,450,330,460,0) ↓ 座標変えて5回繰り返し こんな感じで同じソフトを多重起動させて並べようとしたのですが、失敗してしまいます。 ウィンドウタイトルが同じで同じウィンドウを色々な座標に持っていこうとしてるだけみたいな感じなのですが ソフト名の後ろに(1)みたいなのを付けたりする方法はありませんでしょうか… (なぜか書けなかったのであああにしてます)
861 名前:デフォルトの名無しさん mailto:sage [2021/03/14(日) 20:13:27.68 ID:E6ui2GaX.net] 例えばこれで多重起動できる ID = EXEC("notepad.exe") ACW(ID,1583,450,330,460,0) ID2 = EXEC("notepad.exe") ACW(ID2,1583,450,330,460,0)
862 名前:デフォルトの名無しさん mailto:sage [2021/03/14(日) 22:20:18.27 ID:BQ6dfRIE.net] >>809 ID = EXEC("あああ") とやってるのに、その後のACWでIDを使わない謎
863 名前:デフォルトの名無しさん mailto:sage [2021/03/14(日) 22:32:16.30 ID:MdoUOPO+.net] >>811 ありがとう!「SLEEPを挟んじゃうからIDが受け渡せてねぇんだよ」みたいな感じですか? でもそのソフト起動遅いんです・・・。 続けて書いたら最初に立ち上がる時に表示されるロゴみたいなのが指定の位置に移動するだけで 肝心のウィンドウは前回の終了位置にいってしまうんです…
864 名前:デフォルトの名無しさん mailto:sage [2021/03/15(月) 00:00:30.92 ID:+CyRHPpu.net] //>「SLEEPを挟んじゃうからIDが受け渡せてねぇんだよ」 //変数のIDを使ってないから、渡す以前に渡してねぇだろという・・・ //SLEEPは待ち時間指定だから、好きなだけ挟んで良い //電卓を多重起動して横に並べる EXEC(GET_SYS_DIR+"\calc.exe") SLEEP(2) ID1 = GETID("電卓") ACW(ID1,100,100,500,500,0) EXEC(GET_SYS_DIR+"\calc.exe") SLEEP(2) ID2 = GETID("電卓") ACW(ID2,600,100,500,500,0) EXEC(GET_SYS_DIR+"\calc.exe") SLEEP(2) ID3 = GETID("電卓") ACW(ID3,1100,100,500,500,0)
865 名前:デフォルトの名無しさん mailto:sage [2021/03/15(月) 00:36:16.10 ID:/ZCKQNsi.net] 複数個起動できないソフトなのでは?
866 名前:デフォルトの名無しさん mailto:sage [2021/03/15(月) 01:08:44.19 ID:v5Yi3qmH.net] ああ!そういうことか!(´・ω・`)意味が分かったかもしれない!! ID = EXEC("あああ") ←この『ID』=という部分が自分で決めれるんすね!? 例えばaaa = EXEC("あああ")と書いて次の行に ACW(aaa,1583,450,330,460,0)とすると 録画機能みたいなのを利用してたのでIDと書くルールなのかと思ってました… >>814 いえ、複数個起動はできるソフトで、一応動くには動くのですが 設定ファイルから実行するとアクティブなウインドウが切り替わらず一つのウィンドウだけが座標を行ったり来たりする感じでした
867 名前:デフォルトの名無しさん mailto:sage [2021/03/15(月) 01:09:40.14 ID:v5Yi3qmH.net] わ
868 名前:デフォルトの名無しさん mailto:sage [2021/03/15(月) 09:32:47.13 ID:+CyRHPpu.net] なるほどなぁ そのレベルからの解説でも需要があるのか UWSCの需要はまだ枯れてないか
869 名前:デフォルトの名無しさん mailto:sage [2021/03/17(水) 06:59:58.16 ID:TjD9TcDJ.net] >>810 せっかく教えてくれていたのに、専ブラの設定かで見えてませんでした ありがとうございます
870 名前:デフォルトの名無しさん mailto:sage [2021/03/17(水) 07:01:40.55 ID:TjD9TcDJ.net] >>813 も見えてなかった… ありがとうございます!
871 名前:807 mailto:sage [2021/03/17(水) 16:54:27.51 ID:dsWxXXVG.net] 皆のお陰様でちょとだけ理解ができてきました あわよくばもう一点だけ教えて欲しいのです >>810 さんが教えてくれた方法は何故か上手く動いてくれませんでした 起動の遅れ?とかが関係あるのかとSLEEPを挟んでみたりしたのですがうまくいかず でもそのまんまコピペするとメモ帳はその様に動きました。
872 名前:そこで>>813 さんの教えて貰った様に起動させた後にGETIDってので戻り値?というのをID1〜6に指定 これで思惑通り動きました!でも解せないというか理解できてないんです。 ID1 = GETID("電卓") ってのは「電卓っていうウィンドウIDを返せ」「それをID1と仮名する!」という意味であってますか? だとすると電卓が複数個起動してたらどれのウィンドウIDを戻すのか分からなくなる気がするのは気の所為でしょうか それとも順番に書いてるからアクティブなウィンドウから値を引っ張ってきてるのでしょうか? 1・自動で起動させてアプリを並べる。 2・別の設定ファイルでウィンドウにあるプルダウンメニューから自動で選ぶ をやりたくて、1はできたのですが2を行う場合、GETIDではできませんでした。 初心者のクセに基礎も分からず意味不明なこと言ってるかもしれませんが、最後にしますのでお願いします… [] [ここ壊れてます]
873 名前:デフォルトの名無しさん mailto:sage [2021/03/17(水) 19:42:27.72 ID:0BuFiOnf.net] 最初から言ってる設定ファイルがなんなのか分からん どっかて買ったマクロ集かなんか? まあ他の部分は推測と合っている
874 名前:デフォルトの名無しさん mailto:sage [2021/03/17(水) 19:56:01.39 ID:+PPxZeIs.net] 省略しないで書くなら、 ID = GETID("電卓", "ApplicationFrameWindow", -1) となるが、めんどいから省略してる //IDはIDの数値を入れる変数なので、変数名は何でも良い //変数は数値や文字を入れておく箱のようなイメージ //UWSCには変数の型は無いので、数字でも文字でも区別なく入れられる //変数の宣言 使いたい所で変数を作れるの必須ではないが、使う変数を決めておく意味で宣言しておいた方が良いとは思う DIM ID1,ID2,ID3 EXEC(GET_SYS_DIR+"\calc.exe") SLEEP(2) ID1 = GETID("電卓") ACW(ID1,100,100,500,500,0) msgbox(ID1) EXEC(GET_SYS_DIR+"\calc.exe") SLEEP(2) ID2 = GETID("電卓") ACW(ID2,600,100,500,500,0) msgbox(ID2) EXEC(GET_SYS_DIR+"\calc.exe") SLEEP(2) ID3 = GETID("電卓") ACW(ID3,1100,100,500,500,0) msgbox(ID3) //こうすると、起動した順にIDが1,2,3と割り振られてる事が分かる //プルダウンメニューから選ぶのはUWSCでも出来るけどめんどい
875 名前:デフォルトの名無しさん mailto:sage [2021/03/17(水) 20:02:51.61 ID:dsWxXXVG.net] >>821 すんません、設定ファイルじゃなくてuwsファイルでした。 ということは、同名アプリ起動後に別のuwsファイルでIDを取得するには マウスで座標指定してクリック→ウィンドウをアクティブに→ * = GETIDみたいなのを書いてやると良いわけですね ありがとうございます挑戦してみます
876 名前:デフォルトの名無しさん mailto:sage [2021/03/17(水) 20:12:09.19 ID:dsWxXXVG.net] >>822 勉強なります。そうですかプルダウンはめんどうなんですね プルダウンは諦めて手動にしようかと思います。
877 名前:デフォルトの名無しさん mailto:sage [2021/03/17(水) 21:35:38.19 ID:oFq5eIyC.net] プルダウンメニューから選ぶというのがよくわからない
878 名前:デフォルトの名無しさん mailto:sage [2021/03/18(木) 07:40:23.96 ID:8urs7GkO.net] >>825 防犯カメラ複数台登録して視聴ソフトを起動させると すべて1台目のIPが指定されてしまうのです。 なのでプルダウン(ドロップダウン)から機器登録されている IPアドレスを選択してあげないといけないんです
879 名前:デフォルトの名無しさん mailto:sage [2021/03/18(木) 08:15:40.32 ID:YmFQF9g2.net] 全部を一つでは出来ないよ 所詮はアプリじゃなくてスクリプトだからさ やろうと思えば出来るけど、状態を保持してる何かするのは難しい 今上がってるもので言うと 複数の監視カメラの視聴アプリとやらを一括で起動するのは特に問題ないよね 同時に整列させるのはちょっとハードル高いから考え方変えて、同じアプリを後から整列させるなら多少は簡単にできる (ただ、uwscでやる必要性はあまり感じない) プルダウンから自動で選ぶはまだちょっと意味が分からない リストからカメラ指定して起動したいってこと? それとも起動済みの視聴アプリをリストにして、それを選んで何か操作したいということ? 後者はアプリがタイトルバーに何か色つけてくれてればやりようあるけど、そうじゃないなら難しいよ
880 名前:デフォルトの名無しさん mailto:sage [2021/03/18(木) 09:52:39.16 ID:JPJY5VhO.net] たとえば一つの例として「Fit Win」というアプリがあって 指定したアプリを整列させるだけならこういうアプリもある プルダウンから選ぶは座標クリックしていく原始的なやり方しかないだろうね 整列して同じ座標へウィンドウを固定させたら比較的簡単にできるし 視聴ソフトはあまり詳しくないので調べてみたら「smart viewer」というフリーのソフトが複数カメラ、複数画面に対応してるようだけど こういうソフトじゃないと駄目なの?機器が対応してないと駄目だろうけどLAN接続するタイプなら割と対応してるっぽいが? このソフトを採用している警備会社があるようだから悪くないと思うけどな
881 名前:デフォルトの名無しさん [2021/03/18(木) 10:40:06.48 ID:Y5jTQtWf.net] ネットワークドライブのuwsファイルを認識しないのですが、みなさんの環境でもそうですか? \\ORE-PC\UWS\hoge.uws をダブルクリックすると問題なく起動しますが、 \\ORE-PCをZドライブに割り当てて、 Z:\UWS\hoge.uwsをダブルクリックするとFILE NOT FOUNDってでる。 右クリ→メモ帳だと問題なく開けるので、UWSCの仕様なんでしょうかね・・
882 名前:デフォルトの名無しさん mailto:sage [2021/03/18(木) 11:08:31.02 ID:JPJY5VhO.net] ダブルクリックして起動? ランチャーとかUWSCから起動させるのは駄目? ネットワークドライブを割り当てるとかはやってないのでわかりませんね
883 名前:827 mailto:sage [2021/03/18(木) 12:13:19.45 ID:Y5jTQtWf.net] windowsのショートカットでも、ランチャーに登録してもダメですね。 だけど、UWSC本体からファイル開く→再生だといけますね・・・なんだこりゃ
884 名前:デフォルトの名無しさん mailto:sage [2021/03/18(木) 12:38:28.87 ID:Sp8r4MHz.net] コマンドプロンプトで実行できるなら、hoge.uwsがあるフォルダにUWSC.exeを入れて BATファイルに UWSC.exe hoge.uws と書いてBATファイルで実行する手もある
885 名前:827 mailto:sage [2021/03/18(木) 13:45:17.72 ID:Y5jTQtWf.net] >>832 やってみたら見事に FILE not found :hoge.uws が返ってきました。目の前にあるんですけどね・・
886 名前:デフォルトの名無しさん mailto:sage [2021/03/18(木) 14:05:23.77 ID:Y5jTQtWf.net] >だけど、UWSC本体からファイル開く→再生だといけますね・・・なんだこりゃ 改めてやったら、そもそもUWSC本体→開くでZドライブが見えない。 なんで開けたつもりになったんだろう・・謎 ショートカットは見えるので叩くとやっぱFILE not found
887 名前:デフォルトの名無しさん mailto:sage [2021/03/18(木) 14:25:56.67 ID:Sp8r4MHz.net] EXEファイルにするか、iexpress.exeでパッケージ化するか https://wikiwiki.jp/gutchie/%E8%87%AA%E5%8B%95%E5%8C%96%E3%83%84%E3%83%BC%E3%83%AB/UWSC#y1bf8470
888 名前:デフォルトの名無しさん mailto:sage [2021/03/24(水) 22:16:20.39 ID:SjAM6MJ0.net] 子ウィンドウを取得して操作したいのですがなかなか上手くいきません ID=GETID("親ウインドウのタイトル") idLength=GETALLWIN(ID) FOR i = 0 TO idLength-1 PRINT STATUS(ALL_WIN_ID[i],ST_TITLE) NEXT ↑を実行したところ、返ってきたのは子ウィンドウではなく 子ウィンドウ内の要素でした。(ボタン、チェックボックス、ラジオボタン) ID=GETID("親タイトル",,,"子タイトル") PRINT ↑は-1になります やり方間違ってますか
889 名前:デフォルトの名無しさん mailto:sage [2021/03/24(水) 23:30:49.98 ID:ffF9L6R4.net] //ウィンドウIDを全て取得してみてIDとタイトルを調べる方法もある n = GETALLWIN() FOR i = 0 TO n-1 PRINT ALL_WIN_ID[i] + " " +STATUS(ALL_WIN_ID[i],ST_TITLE) LOGPRINT(TRUE,100,50,800,1100) NEXT msgbox("stop")
890 名前:デフォルトの名無しさん mailto:sage [2021/03/25(木) 00:14:40.63 ID:dnI+vm3S.net] >>837 実行してみると 親ウィンドウのタイトルが、ウインドウの数+1表示されました という事は自分が子ウインドウだと思っていたものは全て親ウインドウという事かな? 今日は遅いのでまた明日やってみます ありがとうございました
891 名前:デフォルトの名無しさん mailto:sage [2021/04/09(金) 09:20:46.01 ID:vJdMFfhi.net] Windowsのユーザーを切り替えて、各ユーザーごとにマクロを実施していきたいの
892 名前:セけど、ユーザー切り替えはUWSCでは難しいですか? [] [ここ壊れてます]
893 名前:デフォルトの名無しさん mailto:sage [2021/04/09(金) 09:27:52.43 ID:Aph6z+sk.net] 何したいか分かんないけどユーザー指定して操作対象のアプリ起動するんじゃダメなん?
894 名前:デフォルトの名無しさん mailto:sage [2021/04/09(金) 11:17:30.70 ID:RfO7RRDz.net] UWSCの範囲を超えるこえど 動かしたいユーザー列挙しといて レジストリに自動ログオンと自動実行の仕掛け作っとけばいけそう 再起動→次のユーザーで自動ログオンして自動実行という流れで
895 名前:デフォルトの名無しさん mailto:sage [2021/04/09(金) 11:58:31.99 ID:AGu16ZxP.net] ユーザー分の台数を用意すればいい 10ユーザーいるなら10台用意するとかね
896 名前:デフォルトの名無しさん [2021/04/13(火) 14:47:03.51 ID:IqZsL8m5.net] 神様ちょっと助けておくれ・・・ ブラウザのスクロールバーのボタン3回クリックの1セットを、 1セット×回数で10回行いたい(=最後は30回クリック) forでかけ算すればいいんじゃね?とひらめいたが動くわけがなかった。
897 名前:デフォルトの名無しさん mailto:sage [2021/04/13(火) 15:08:40.06 ID:IqZsL8m5.net] for t=1 to 10 CHKIMG("scroll-down.bmp") c=t*3 repeat BTN(LEFT,CLICK, G_IMG_X,G_IMG_Y ,30) sleep(1) until c >c next untilの書き方にモヤモヤしているが・・・とりあえずエラーは出ない 永久にクリックし続けるだけで。
898 名前:デフォルトの名無しさん mailto:sage [2021/04/13(火) 15:14:05.98 ID:C7npRUyM.net] ブラウザの右下隅に下向きのボタンがあるが、それをクリックするという事かな?
899 名前:デフォルトの名無しさん mailto:sage [2021/04/13(火) 15:16:34.28 ID:IqZsL8m5.net] そうです。 ブラウザ上での作業を自動化したくて。 ボタンにかんしてはscroll-down.bmpで判定してます。 forのt使って repeat BTN(LEFT,CLICK, G_IMG_X,G_IMG_Y ,30) sleep(1) until t >t*3 にしてみましたがこれも永遠にクリック(tが1なんだから4で止まって欲しいのに・・・)
900 名前:デフォルトの名無しさん mailto:sage [2021/04/13(火) 16:03:51.33 ID:M7vT5OZZ.net] c > c ワロタ この不等式がおかしいと思わないってヤバない? プログラムじゃなくて数学、いや算数レベルやん
901 名前:デフォルトの名無しさん mailto:sage [2021/04/13(火) 16:11:32.97 ID:C7npRUyM.net] //FORの入れ子でOK //1回目 1*3、2回目 2*3・・・10回目 10*3 CHKIMG("scroll-down.bmp") FOR i = 1 TO 10 FOR x = 1 TO i*3 SLEEP(1) BTN(LEFT,CLICK,G_IMG_X+5,G_IMG_Y+5) NEXT NEXT msgbox("クリック完了")
902 名前:デフォルトの名無しさん mailto:sage [2021/04/13(火) 16:36:03.26 ID:IqZsL8m5.net] いろいろ試してる間にごちゃごちゃしてきたのですみませんね; UWSCではforしか使ったことがないもので >>848 入れ子でいいはずですよね・・・(同じコードだ・・・) もう一回ためしてみます。 ありがとう。
903 名前:デフォルトの名無しさん mailto:sage [2021/04/16(金) 14:51:43.21 ID:uD9tfUyH.net] プログラムファイルから消した文言が表示されエラーになってしまいます IFB CHKIMG ("C〜.BMP")を("C〜.PNG")に書き換えしたのですが、NOT FOUND 〜BMP となります (appdataなど削除し)ソフトの入れ直しや、違う名前のプログラムファイルを作成などしましたが改善せず。terapadを使用して書いてます ご教示お願いします
904 名前:デフォルトの名無しさん mailto:sage [2021/04/16(金) 14:53:20.85 ID:hdR99Jx3.net] 違うファイルを読み込んでいる
905 名前:デフォルトの名無しさん mailto:sage [2021/04/16(金) 15:17:51.55 ID:jul+q2bh.net] 実行してるファイルと編集してるファイルが違ってたとかよくある 何でこのバグ消えねぇんだ?と思ってよく見たら違ってたと
906 名前:デフォルトの名無しさん mailto:sage [2021/04/16(金) 21:43:26.23 ID:Qutb4gNt.net] CHKIMGはBMPしか使えないからそのエラーになるだけで消した文が影響している訳ではない BMPに戻せ
907 名前:デフォルトの名無しさん mailto:sage [2021/04/16(金) 21:59:57.64 ID:9Ra8nUSr.net] ちゃんとエラーメッセージ読むタイプと読まないタイプの違いが出たな
908 名前:デフォルトの名無しさん mailto:sage [2021/04/16(金) 23:08:42.23 ID:mtyX36ii.net] おお!出来ました! 皆様ありがとうございます
909 名前:デフォルトの名無しさん [2021/04/23(金) 04:45:57.46 ID:GWiJhS53.net] for文について困っていることがあります。 下記の処理Aのみ 繰り返す際に処理回数を1増やしたいです。 BTN(LEFT,CLICK,13,167,10) For i = 1 to 100 KBD(VK_RALT,DOWN,50) KBD(VK_RIGHT,CLICK,50) KBD(VK_UP,CLICK,50) //処理A ※ ここの処理だけ 1回目は1回実行 2回目は2回実行 3回目は3回実行… にしたい KBD(VK_RALT,UP,50) NEXT 調べましたがどうしてもわかりませんでした。 for文の中の処理回数を増やす方法をご存じでしたら、教えていただけたら幸いです。 よろしくお願いします。
910 名前:デフォルトの名無しさん mailto:sage [2021/04/23(金) 05:45:45.21 ID:2JaREPAx.net] For i = 1 to 100 KBD(VK_RALT,DOWN,50) KBD(VK_RIGHT,CLICK,50) For j = 1 to i KBD(VK_UP,CLICK,50) //処理A ※ ここの処理だけ 1回目は1回実行 2回目は2回実行 3回目は3回実行… にしたい Next KBD(VK_RALT,UP,50) Next
911 名前:デフォルトの名無しさん mailto:sage [2021/04/23(金) 05:56:06.69 ID:kWPc6e52.net] やるじゃん!
912 名前:デフォルトの名無しさん [2021/04/23(金) 06:00:49.79 ID:GWiJhS53.net] >>857 できました! なるほどfor文の中にfor文を入れて他の変数にiを代入すればいいんですね… お忙しいところ教えていただきありがとうございました
913 名前:デフォルトの名無しさん mailto:sage [2021/04/23(金) 12:41:11.27 ID:Fs/FdOQM.net] いや別に代入はいらんけど…
914 名前:デフォルトの名無しさん mailto:sage [2021/04/23(金) 13:40:06.30 ID:gAgD293m.net] 動けばいいんだよ 猿相手に説明してもしゃーない
915 名前:デフォルトの名無しさん mailto:sage [2021/04/23(金) 14:54:53.39 ID:zpT46eZ/.net] キーキー喚いて他人に噛み付くだけの猿は本当にしょうがないよな
916 名前:デフォルトの名無しさん mailto:sage [2021/04/23(金) 15:13:24.53 ID:gAgD293m.net] >>1 読んでないのかな
917 名前:デフォルトの名無しさん mailto:sage [2021/04/23(金) 15:35:59.73 ID:Qd1iaOGD.net] 無能な猿はすっこんでろって
918 名前:デフォルトの名無しさん mailto:sage [2021/04/23(金) 18:49:02.98 ID:k2R/iVu9.net] サルモンキーウッキー
919 名前:デフォルトの名無しさん mailto:sage [2021/04/30(金) 21:19:57.52 ID:gWvSQQ0Q.net] メモ帳上だと正常に機能するけど、動かしたいソフト上だと特定のキー(十字キーとかシフトキー)だけ受け付けないんだけどなにかわかるかな? 記録は出来て、中身を見るとちゃんとキーも入ってるけど再生時に特定のキーが無視されちゃう
920 名前:デフォルトの名無しさん mailto:sage [2021/05/01(土) 02:52:48.63 ID:MA8kI4AW.net] まず「動かしたいソフト」の名前を書け
921 名前:デフォルトの名無しさん [2021/05/14(金) 14:13:35.87 ID:2RtqhEo0.net] 画像1と画像2のどちらかを認識した場合、認識した画像の座標を取得して処理Aを行いたいです IFB CHKIMG( "画像1.bmp", , , , , , -1, IMG_MSK_BGR1) BTN(LEFT, CLICK, G_IMG_X, G_IMG_Y)//処理A ELSEIF CHKIMG( "画像2.bmp", , , , , , -1, IMG_MSK_BGR1) BTN(LEFT, CLICK, G_IMG_X, G_IMG_Y)//処理A ENDIF 処理Aは同じですが、いまはこうして分けています 今後、画像3、画像4と増えていく可能性があるので毎回分けて記述しなくても良い方法はないでしょうか IFB CHKIMG( "画像1.bmp", , , , , , -1, IMG_MSK_BGR1) OR CHKIMG( "画像2.bmp", , , , , , -1, IMG_MSK_BGR1) BTN(LEFT, CLICK, G_IMG_X, G_IMG_Y)//処理A このようにORを使って画像1が表示されてる最中に実行してみたところ、画像座標の取得に失敗してしまい処理Aが動作しませんでした (PRINTで座標を確認してみたら-99999とかになってました)
922 名前:デフォルトの名無しさん mailto:sage [2021/05/14(金) 15:09:08.52 ID:K8K4yQFj.net] getdirでファイル一覧取ってきてfor-in-nextで画像ファイルの分だけループ回せばいいと思う
923 名前:デフォルトの名無しさん mailto:sage [2021/05/14(金) 16:43:30.17 ID:iQwZsiAA.net] chkimgxを使えばもっと簡単に書けるが、使わないなら //画像1.bmp〜画像2.bmpを検索してどれかを認識したら処理Aを実行しループを抜ける FOR x = 1 TO 2 IFB CHKIMG("画像" + x + ".bmp", , , , , , -1, IMG_MSK_BGR1) //処理A BTN(LEFT, CLICK, G_IMG_X, G_IMG_Y) BREAK ENDIF NEXT
924 名前:デフォルトの名無しさん [2021/05/14(金) 17:02:47.72 ID:2RtqhEo0.net] >>869-870 ありがとうございます、ですがすいません 文にしたときにわかりづらかったので変えていたのですが、 実際の画像ファイルはファイル毎に名前を変えていて連番ではなく、画像を認識する場所もそれぞれ異なります
925 名前:デフォルトの名無しさん mailto:sage [2021/05/14(金) 17:37:15.98 ID:iQwZsiAA.net] //BMPファイルの数を取得する //BMPファイルは同じフォルダに入れておくこと N = GETDIR(GET_CUR_DIR,"*.BMP",TRUE,0) //GETDIR_FILES配列にはGETDIRで取得したBMPファイルのファイル名が全て入る //BMPファイルを検索してどれかを認識したら処理Aを実行しループを抜ける //CHKIMGで座標指定しないなら、パラメータ無指定でもOK FOR x = 0 TO N-1 IFB CHKIMG(GETDIR_FILES[x]) //処理A BTN(LEFT, CLICK, G_IMG_X, G_IMG_Y) BREAK ENDIF NEXT
926 名前:デフォルトの名無しさん mailto:sage [2021/05/14(金) 22:43:48.66 ID:6hlMfvtI.net] >>871 >画像を認識する場所もそれぞれ異なります ってこういうことかな CONST e_bmp=0 CONST e_xOffset=1 CONST e_yOffset=2 // 画像と認識位置のセット DIM aMultidim[][2] = "a.bmp",2,3 _ ,"b.bmp",-1,-1 _ ,"c.bmp",0,1 DIM i DIM iLastSet = length(aMultidim) - 1 FOR i = 0 TO iLastSet IFB TRUE = CHKIMG(aMultidim[i][e_bmp]) THEN // 発見位置にオフセットを加味してクリック BTN(LEFT, CLICK , G_IMG_X,+aMultidim[i][e_xOffset] _ , G_IMG_Y+aMultidim[i][e_yOffsetOffset]) ENDIF NEXT
927 名前:デフォルトの名無しさん mailto:sage [2021/05/15(土) 02:20:59.88 ID:d0kD+s8i.net] やっぱchkimgxで組んだら? わざわざ配列でチェック座標管理しなくて済むし
928 名前:デフォルトの名無しさん mailto:sage [2021/05/15(土) 15:01:39.06 ID:M0a+Mlf6.net] 明確に座標が違うなら配列作ってforで回す方がいいと思うがね
929 名前:デフォルトの名無しさん [2021/05/18(火) 01:52:43.80 ID:IPcsF0ko.net] すいません、返事が遅れました >>872-873 の方法でいじりながら様子を見てみます、ありがとうございます しかし元々の記述よりだいぶ複雑になるんですね… CHKIMGXはなぜかウインドウがピカピカ光って煩わしいのでなるべく使わないようにしてます 別件ですがもうひとつ質問です ランダムに表示される画像xを参照して処理を行う001.uwsというもののほかに、同じ画像xを参照するものの001.uwsとは異なる処理を行う002.uwsや003.uwsを作る予定です ・A.uwsの中身 WHILE TRUE CALL B.uws CALL C.uws CALL 001.uws//処理が終わったらA.uwsに戻ってこさせたいので、ループ処理にはしていない WEND いまUWSCにはこのように記述したA.uwsを読み込ませています 説明が難しいのですが001.uwsと002.uwsを使う場面が明確に異なるので、 CHKIMGで画像1を認識したら、画像2や画像3を認識するまで以降002.uwsや003.uwsなど特定のuwsだけを読み込まなくなり、 逆に画像2を認識したら、画像1や画像3を認識するまで以降001.uwsや003.uwsだけを読み込まないようにしたいです IFB CHKIMG( "画像1.bmp", , , , , , -1, IMG_MSK_BGR1) CALL 001.uws ELSEIF CHKIMG( "画像2.bmp", , , , , , -1, IMG_MSK_BGR1) CALL 002.uws ELSEIF CHKIMG( "画像3.bmp", , , , , , -1, IMG_MSK_BGR1) CALL 003.uws ENDIF このように記述すれば良いのでしょうが、001.uws〜003.uwsはループ処理させたくないのと、画像1〜3は常に表示されているわけではないので困ってます なにか良い解決策はないでしょうか
930 名前:デフォルトの名無しさん mailto:sage [2021/05/18(火) 06:01:50.96 ID:UDGz656x.net] ちょっと話しは逸れるけど そもそもいちいちcallする必要あるのかな 関数化しちゃいかんの?
931 名前:デフォルトの名無しさん mailto:sage [2021/05/18(火) 10:17:39.32 ID:wQ5og2t5.net] 定期的に出てくるけどCALLを関数代わりにしてる奴は頭おかしいからスルーして大丈夫
932 名前:デフォルトの名無しさん mailto:sage [2021/05/18(火) 10:19:50.75 ID:qh33yYe/.net] むしろファイルをcallできる言語仕様に驚きを禁じ得ない
933 名前:デフォルトの名無しさん mailto:sage [2021/05/18(火) 10:31:01.04 ID:4dF+L4dN.net] そこは include とか import と同じじゃないの 単機能を関数的に呼び出すのがおかしいってだけで
934 名前:デフォルトの名無しさん mailto:sage [2021/05/18(火) 10:37:54.61 ID:qh33yYe/.net] まあ確かにDLLと同じようなもんだと言われたらそれまでだけど 関数ポインタをディスパッチするような手間いらずで初心者でも手軽に使える点は評価したい
935 名前:デフォルトの名無しさん mailto:sage [2021/05/18(火) 10:42:00.07 ID:t/eWMALd.net] callもスクリプト単体で動くようにすると結構便利だけどな スクリプトは実行時に読み込まれてるみたいだし関数と変わらん気がするが
936 名前:デフォルトの名無しさん mailto:sage [2021/05/18(火) 11:10:02.73 ID:qh33yYe/.net] 利便性を優先すると使うための手続きが複雑になる このトレードオフは言語開発者の永遠のテーマだろうな
937 名前:デフォルトの名無しさん mailto:sage [2021/05/18(火) 11:14:19.63 ID:4dF+L4dN.net] たぶん上の人は関数自体使い慣れなくてだいぶ抵抗があるんだろうな 老婆心的にはスマートな使い方教えたいけど 自分でメリット感じられないとなかなか移行は難しそうだ
938 名前:デフォルトの名無しさん mailto:sage [2021/05/18(火) 11:30:39.35 ID:qh33yYe/.net] DLLを使った方がカッコイイからというくだらん理由で どう見ても静的リンクでいいだろうという場面でやたらDLLを使いたがる人もいる シンプルにEXE一本で動かせるのにランタイムライブラリという必要条件が増えるけど 素人は複雑イコール技術が高度と感じることがあるのでなんとも言えない
939 名前:デフォルトの名無しさん mailto:sage [2021/05/18(火) 12:16:39.91 ID:AZFZk1uK.net] そもそも、起動した時点でcall先のファイルは一括して読み込まれるってのを分かってないよね だから、読み込まないようにしたいっていう一文が出てくる
940 名前:デフォルトの名無しさん mailto:sage [2021/05/18(火) 12:24:17.39 ID:4dF+L4dN.net] >>886 それはそうなんだろうけど 874の人は関数的に使ってるから読み込ませたくない=実行させたくない って意図でしょう それはそうと874の実際の質問内容考えてる人俺含めていない件w 後ででもしっかり読んでみようと思ってるけど論理問題のようだから意図や齟齬たどるの面倒よね
941 名前:デフォルトの名無しさん mailto:sage [2021/05/18(火) 13:30:39.30 ID:9AUeHlwd.net] >>876 CALLの使い方を間違ってる
942 名前:デフォルトの名無しさん mailto:sage [2021/05/18(火) 13:51:29.74 ID:qh33yYe/.net] CALLの正しい使い方のお手本を出してくれるそうだから よく聞くように
943 名前:デフォルトの名無しさん mailto:sage [2021/05/18(火) 14:17:24.85 ID:XOsT82We.net] 874です 以前、こちらのスレで長々と書くのではなく、ひとつの処理に対してひとつのファイルにしてCALLで読み込ませろって書いてあったのを読んだ気がしてそうしてました よろしくおねがいします
944 名前:デフォルトの名無しさん mailto:sage [2021/05/18(火) 16:19:21.98 ID:KFxGhSSQ.net] CALLは意味が沢山あって意外と日本人に馴染みのない言葉だから仕方ないね
945 名前:デフォルトの名無しさん mailto:sage [2021/05/18(火) 16:53:51.17 ID:9AUeHlwd.net] >ランダムに表示される画像xを参照して処理を行う001.uwsというもののほかに、同じ画像xを参照するものの001.uwsとは異なる処理を行う002.uwsや003.uwsを作る予定です ファイルを分ける必要がない 動けばどう書いても良いけど、難しく考えすぎて面倒くさい書き方をしてるようにしか思えん
946 名前:デフォルトの名無しさん mailto:sage [2021/05/18(火) 16:58:47.86 ID:0sQ29iV7.net] 関数の使い方を覚えるべきだよね
947 名前:デフォルトの名無しさん mailto:sage [2021/05/18(火) 20:28:58.68 ID:9AUeHlwd.net] 認識した画像ごとに処理を分ける例 IFBでダラダラ書くより読みやすく書ける WHILE TRUE SELECT TRUE CASE CHKIMG("画像1.bmp") 処理1 CASE CHKIMG("画像2.bmp") 処理2 CASE CHKIMG("画像3.bmp") 処理3 DEFAULT 例外処理 //例外処理 SELEND WEND
948 名前:デフォルトの名無しさん mailto:sage [2021/05/18(火) 21:40:52.44 ID:pImCnyq0.net] >>894 これは凄い発想 caseに式や関数使えるとか知らなんだ
949 名前:デフォルトの名無しさん mailto:sage [2021/05/18(火) 22:21:22.88 ID:wQ5og2t5.net] CALLしてるファイルの中でも関数化してるわけじゃなさそうだし ファイルが増えればそのうち変数がバグってどこが原因か分からなくなる
950 名前:デフォルトの名無しさん [2021/05/20(木) 05:48:05.89 ID:xogd6JER.net] 874です CALLにしていた処理をまとめる方向で修正してます >>894 自分はIFB〜ELSEIFとの違いがわからず悩んでいます CASE CHKIMG("画像1.bmp")で画像を読み取れば、 IFB〜ELSEIFと同じひとつの処理に対してENDIFが必要ないってことでしょうか?
951 名前:デフォルトの名無しさん mailto:sage [2021/05/20(木) 09:42:02.88 ID:j8DWMRqC.net] >>897 書いてある通り>>894 にとってはselectの方が読みやすいってだけだろ IFBとELSEIFで段差ができる部分が揃う CASEの方が文字数少ない CHKIMGは書き方のバリエーションだからIFBと違いはないのでは
952 名前:デフォルトの名無しさん mailto:sage [2021/05/20(木) 11:13:41.40 ID:1BZg1gED.net] コードの可読性を意識し
953 名前:ト書いてるだけだがね 可読性の概念とかは プログラミング 可読性 でググれ 動けばどうでも良いという主義ならそれはそれで [] [ここ壊れてます]
954 名前:デフォルトの名無しさん mailto:sage [2021/05/20(木) 11:22:16.62 ID:HONoZ+FD.net] 892のコンセプトしだいだけど メンテナンス性拡張性とか加味するとifのほうがいいかもね
955 名前:デフォルトの名無しさん mailto:sage [2021/05/20(木) 12:20:19.57 ID:1BZg1gED.net] CASE CHKIMG("画像1.bmp") AND (CC = 1) とかIFBの条件式と同じように書けるし、どうでも良い事ではあるがね
956 名前:デフォルトの名無しさん mailto:sage [2021/05/20(木) 13:26:28.17 ID:dsnUQ917.net] on N goto 1000,1100,1200,1300…でいけるよ
957 名前:デフォルトの名無しさん [2021/05/21(金) 08:55:27.51 ID:jCHc9CEs.net] 874です メインにしてるuwsの中に複数の処理をまとめた処理群AをCALLで呼び出してましたが、処理群Aをクラス化して、処理群Aのなかの各処理をPROCEDUREなどでメインのuwsに記述する CALL 処理群A.uws クラス名は処理群A、関数名は処理Aと処理B IFB CHKIMG( "画像1.bmp", , , , , , -1, IMG_MSK_BGR1) 処理群A.処理A ELSEIF CHKIMG( "画像2.bmp", , , , , , -1, IMG_MSK_BGR1) 処理群A.処理B ENDIF CALLの使い方はこれで大丈夫でしょうか?
958 名前:デフォルトの名無しさん mailto:sage [2021/05/21(金) 09:47:46.96 ID:hKnIbAZ8.net] UWSCってクラス使えたんだっけ!?使ったことなかった >>903 それはともかくそれでいいと思うよ 処理A,Bを他のスクリプトから使わず規模も大きくないなら CALL使わず1ファイル内の関数だけで済ますんでいいと思うけど ----.uws ここから IFB CHKIMG( "画像1.bmp", , , , , , -1, IMG_MSK_BGR1) 処理A() ELSEIF CHKIMG( "画像2.bmp", , , , , , -1, IMG_MSK_BGR1) 処理B() ENDIF procedure 処理A() //Aの処理 fend procedure 処理B() //Bの処理 fend ----.uws ここまで あと下部のprocedureをクラス化せずそのまま別ファイルにしてCALLするんでも動くよ 知ってるかもだけど念の為
959 名前:デフォルトの名無しさん mailto:sage [2021/05/21(金) 12:44:57.04 ID:04KdsCb/.net] 話をループさせるなよw
960 名前:デフォルトの名無しさん mailto:sage [2021/05/21(金) 12:55:06.38 ID:hKnIbAZ8.net] スクリプト直CALLしてたのをクラス関数CALLにはしたけど それはそれでいいがもっと簡単にはできるよ って話なのでループではないと思うが 902みたいな関数の一番簡単な使い方も把握してるのか怪しかったし
961 名前:デフォルトの名無しさん [2021/05/24(月) 09:07:34.94 ID:j7BJolv/.net] CHKIMGの色幅がCHKIMGX1でも認識するくらいシビアな画像でも CHKIMGXにすると判定できなくなる場合ってどうすれば良いですか? CHKIMG使うしかないですか?
962 名前:デフォルトの名無しさん mailto:sage [2021/05/24(月) 15:27:04.53 ID:j7BJolv/.net] 読み直したら間違えてた CHKIMGX1じゃなくてIMG_MSK_BGR1で認識するくらいシビア
963 名前:デフォルトの名無しさん mailto:sage [2021/05/24(月) 15:38:58.41 ID:ULoozdN2.net] chkimgで認識できてchkimgxで認識できないってのがよくわからないんだけど chkimgxのthresholdとかcolorの引数弄っても認識できてないの?
964 名前:デフォルトの名無しさん mailto:sage [2021/05/24(月) 15:47:05.47 ID:/wIz9r2w.net] >>909 画像によってはchkimgで認識してchkimgxだとしないのがあるね 見た目で緑系色が多いと認識しない感じ
965 名前:デフォルトの名無しさん mailto:sage [2021/05/24(月) 16:22:49.00 ID:ULoozdN2.net] >>910 chkimgxはキャプチャしたイメージをグレースケール化するので色は引数のcolorを弄らない限り関係ない
966 名前:デフォルトの名無しさん mailto:sage [2021/05/24(月) 16:30:11.09 ID:jIebElNo.net] btnでクリックできなくなったね。
967 名前:デフォルトの名無しさん mailto:sage [2021/05/24(月) 17:28:10.19 ID:VAxBPl7R.net] >>911 ソースのコメントみる限り、色指定した場合はグレースケール化と読めるが 指定した色とどれだけ近いかでグレースケール化した画像を使って マッチングの計算を行う 文字の色などを指定することで背景の変化に強いマッチング判定を行う
968 名前:デフォルトの名無しさん mailto:sage [2021/05/24(月) 18:21:59.68 ID:qg+aTsN4.net] >>913 ソースコードの関数も確認した 色指定あるときはgrayscale化
969 名前:デフォルトの名無しさん mailto:sage [2021/05/26(水) 08:10:53.62 ID:K14fqcy/.net] CHKIMGからのクリックができなくなってるなぁ。 画像認識まではするけど、クリックはしない。 管理権限で起動しても、だめだったなぁ。 WINDOWSのアップデート前後で変わってるから、そ
970 名前:アかなぁ。 [] [ここ壊れてます]
971 名前:デフォルトの名無しさん mailto:sage [2021/05/26(水) 11:01:01.07 ID:XORx725k.net] >>915 ついに使えなくなったか
972 名前:デフォルトの名無しさん mailto:sage [2021/05/26(水) 13:05:07.61 ID:yYro70ts.net] アップデートは停止してるからわからないけど 使えなくなるならアップデートはしないでおこう。人柱サンキュー!ワハハハ!
973 名前:デフォルトの名無しさん mailto:sage [2021/05/26(水) 13:56:10.97 ID:9QyAf03y.net] バージョン 2004のままにしておくか
974 名前:デフォルトの名無しさん mailto:sage [2021/05/26(水) 14:14:16.02 ID:eqZO3XDC.net] Windows はいじらないほうがいいですね。
975 名前:デフォルトの名無しさん mailto:sage [2021/05/26(水) 17:01:33.65 ID:9QyAf03y.net] WEBツールの仕様変更でCLICKが使えなくなったのをDOWN,UPで対応させてるがバージョン変わったら使えなくなるんだろうか 待ち時間をランダムにして人間がクリックしてるように偽装して何とかなってる BTN(LEFT,DOWN,G_IMG_X,G_IMG_Y,(RANDOM(500)+2000)) BTN(LEFT,UP,G_IMG_X,G_IMG_Y,RANDOM(500))
976 名前:デフォルトの名無しさん mailto:sage [2021/06/03(木) 12:51:13.08 ID:q8TMEvZw.net] MEMUというandroidエミュを使っているんですが MOUSEORGでMEMUのウィンドウIDを指定して裏マクロにしようとすると、CHKIMGやPEEKCOLOR1回ごとにウィンドウの周りが白くなって一瞬(0.1秒くらい?)だけフリーズします 例えばIFB並べてCHKIMGの画像6個探すときは6回分のプチフリーズしてループ、6個のうち上から3個目がヒットするときは3回分の長さのフリーズの後に処理が始まるみたいになります SAVEIMGの取得をMEMUのウィンドウIDではなくデスクトップにして、クリップボードからPEEKCOLORすれば止まらずに動きますが裏マクロになりませんし… キーボードマッピング(MEMUの機能)で設定したキーをKBDで押すときは上のプチフリーズは起こらないんですが
977 名前:デフォルトの名無しさん mailto:sage [2021/06/03(木) 13:55:27.25 ID:8BEM7SHC.net] こちらからの報告は以上です。どうぞ
978 名前:デフォルトの名無しさん mailto:sage [2021/06/03(木) 14:53:36.50 ID:yaZ7gTV4.net] ラジャー、次の質問者どうぞっ!?
979 名前:デフォルトの名無しさん mailto:sage [2021/06/03(木) 15:02:00.58 ID:uxUjlRum.net] DorectXだと思うけど、peekcolor多量に回すmemuの画面がフリーズする フレームバッファをその度にフル転送してるからじゃないのかなあ で、画面フリーズするとどういう弊害がでてんの?
980 名前:デフォルトの名無しさん mailto:sage [2021/06/03(木) 15:22:40.86 ID:mewPK9u+.net] そうですか
981 名前:デフォルトの名無しさん mailto:sage [2021/06/03(木) 15:43:58.08 ID:PveMLo3f.net] 特定のソフトに依存する質問については、そのソフトの環境を構築する手間暇掛けてまで答える気になれない
982 名前:デフォルトの名無しさん mailto:sage [2021/06/04(金) 03:13:49.55 ID:HrGwVRMF.net] Androidエミュごときで環境構築面倒とかいうのもどうかと 中華エミュだから入れたくないとかならまだしも
983 名前:デフォルトの名無しさん mailto:sage [2021/06/04(金) 04:55:22.58 ID:8MiFu8j6.net] ガイジあらわるw
984 名前:デフォルトの名無しさん mailto:sage [2021/06/04(金) 09:57:52.95 ID:AmUi7cYO.net] わざわざ無能な人のために環境構築してあげてやる道理なんかないでしょ 自分で頑張れと冷たく言い放っておしまい。ぶっちゃけ自分には関係ないからな。困ってるのは私ではなくアイツなのだからアイツが苦しむのはOK 私は上から目線で笑いながらからかってやるだけですよ
985 名前:デフォルトの名無しさん mailto:sage [2021/06/04(金) 12:17:23.70 ID:oeJhT1F4.net] 環境作る義理ないならついでにいちいちそんなお気持ち表明しにこなくてええんやで
986 名前:デフォルトの名無しさん mailto:sage [2021/06/04(金) 12:31:28.73 ID:U0nNGufy.net] 匿名掲示板で環境作る義理あるやつなんているのかな?
987 名前:デフォルトの名無しさん mailto:sage [2021/06/04(金) 12:45:19.55 ID:DM+caa8E.net] >>927 そう思うなら、答えてあげなさい オレはやらん
988 名前:デフォルトの名無しさん mailto:sage [2021/06/04(金) 19:32:48.15 ID:AmUi7cYO.net] かくして、彼は泣きながら手動で頑張るのでしたとさ チャンチャン♪
989 名前: [] [ここ壊れてます]
990 名前:デフォルトの名無しさん mailto:sage [2021/06/05(土) 20:12:02.91 ID:AuKRvxXh.net] 表マクロなら動くんだろ それでいいじゃん
991 名前:デフォルトの名無しさん mailto:sage [2021/06/06(日) 07:09:26.47 ID:nFBl7Kad.net] 昨日触り始めた信じられないくらいの初心者で申し訳ないですが知識をお借りしたく ・画像AとBの画像が同時に存在する時のみに画像Cをクリックしたい ・画像AとBの画像が無い場合は次に書いた処理を行いたい これをしたいのですが1つ目の時点で画像Cをクリックしてくれないです おかしなところだらけとは思いますがお助けください While True ifb CHKIMG("A.bmp") _ and CHKIMG("B.bmp") _ and CHKIMG("C.bmp") BTN(LEFT,CLICK, G_IMG_X, G_IMG_Y) sleep(1/64) elseif CHKIMG("D.bmp") BTN(LEFT,CLICK, G_IMG_X, G_IMG_Y) sleep(1/64)
992 名前:デフォルトの名無しさん mailto:sage [2021/06/06(日) 07:55:07.27 ID:rQ15Fo4h.net] >>935 Andで一行にせずに書いて原因究明 横着しない
993 名前:デフォルトの名無しさん mailto:sage [2021/06/06(日) 08:14:21.20 ID:NIzk3ndz.net] 横着のつもりはなくAndしか使えそうなのがわからず… バラで使えそうな何かを探す旅に出てきます
994 名前:デフォルトの名無しさん mailto:sage [2021/06/06(日) 08:27:55.32 ID:rQ15Fo4h.net] >>937 そこまで書けてるのに、ifを分けて書くこと出来ない? その書き方じゃ、本当にABCの画像が同時に存在して認識出来ているか確認できないでしょ? 画像って目視じゃ同じに見えても実は全く同じじゃなかったりするし
995 名前:デフォルトの名無しさん mailto:sage [2021/06/06(日) 08:42:55.09 ID:NIzk3ndz.net] >>938 一度に全て探そうとせずにtrue thenで次の画像を探させる方向で考えればいいのです?
996 名前:デフォルトの名無しさん mailto:sage [2021/06/06(日) 08:53:18.19 ID:Y/jc2SzG.net] >>939 ifb CHKIMG("A.bmp") then print "found A" endif これでAを本当に認識できてるかどうか確認できる
997 名前:デフォルトの名無しさん mailto:sage [2021/06/06(日) 09:09:30.18 ID:BeC5o1Q9.net] いつもmsgbox使ってた ifb chkimg("a.bmp") print "g_img_x:"+g_img_x+" g_img_y:"+g_img_y ifb chkimg("b.bmp") print "g_img_x:"+g_img_x+" g_img_y:"+g_img_y ifb chkimg("c.bmp") print "g_img_x:"+g_img_x+" g_img_y:"+g_img_y btn(left,click,g_img_x,g_img_y) sleep(1/64) endif endif endif
998 名前:デフォルトの名無しさん mailto:sage [2021/06/06(日) 09:40:11.66 ID:NIzk3ndz.net] ありがとうございます 今は出先なので帰ったらまた試してみます また詰まったら力を貸してください
999 名前:デフォルトの名無しさん mailto:sage [2021/06/06(日) 13:21:06.69 ID:IWgw88U5.net] 初心者が増えるのは良いな UWSCがまだ死んでないという事だし 初心者向けの参考書書いても需要ありそうだから、何か書いてみるか
1000 名前:デフォルトの名無しさん mailto:sage [2021/06/19(土) 20:28:31.54 ID:h+5L1XCT.net] 素人質問で大変恐縮なのですが 乱数を用いてcall先をランダムにする事って可能でしょうか? rondam(5) で1の時に call a.uwsを呼ぶというようなことがしたいのですが
1001 名前:デフォルトの名無しさん mailto:sage [2021/06/19(土) 20:43:34.89 ID:EQ2vKl4E.net] 可能です
1002 名前:デフォルトの名無しさん mailto:sage [2021/06/19(土) 20:54:33.63 ID:Lk+y+wSz.net] //0〜e.uwsがあるとして、 SELECT RANDOM(5) CASE 0 call 0.uws CASE 1 call a.uws CASE 2 call b.uws CASE 3 call c.uws CASE 4 call d.uws CASE 5 call e.uws SELEND
1003 名前:デフォルトの名無しさん mailto:sage [2021/06/19(土) 20:56:22.82 ID:Lk+y+wSz.net] RANDOM(5) なら 0-4だったな SELECT RANDOM(5) CASE 0 call 0.uws CASE 1 call a.uws CASE 2 call b.uws CASE 3 call c.uws CASE 4 call d.uws SELEND
1004 名前:デフォルトの名無しさん mailto:sage [2021/06/19(土) 21:22:37.66 ID:h+5L1XCT.net] >>945-947 具体的な記述もありできそうです ありがとうございました
1005 名前:デフォルトの名無しさん mailto:sage [2021/06/19(土) 21:25:16.67 ID:H3JZ4m/K.net] callはそういう使い方するものじゃないって これだけ言われても理解しないんだな
1006 名前:デフォルトの名無しさん mailto:sage [2021/06/19(土) 21:29:01.75 ID:ptUlvasO.net] アホの質問にまともに理解していない馬鹿が得意げに答えるからこうやって誤った使用法が広まっていくのさ
1007 名前:デフォルトの名無しさん mailto:sage [2021/06/19(土) 21:
] [ここ壊れてます]
1008 名前:31:09.82 ID:Lk+y+wSz.net mailto: 低レベルな質問には低レベルに答える それだけの事 使い方が間違ってる事にはあえて突っ込まない優しさ [] [ここ壊れてます]
1009 名前:デフォルトの名無しさん mailto:sage [2021/06/19(土) 21:39:01.24 ID:Lk+y+wSz.net] 公式のサンプルの#1、#2のようなCALLの使い方もあるから、別に良いんじゃねという気もしないでもない 公式サンプル web.archive.org/web/20180428070202/http://www.uwsc.info/sample.html
1010 名前:デフォルトの名無しさん mailto:sage [2021/06/19(土) 21:39:10.21 ID:uJ2Gt/N3.net] あ、僕でも答えられる質問だ! よーし張り切って教えちゃうぞ! そしてこのざま
1011 名前:デフォルトの名無しさん mailto:sage [2021/06/19(土) 22:00:38.89 ID:Lk+y+wSz.net] この程度のことで凄い事になっとるなw ギスギスしすぎ
1012 名前:デフォルトの名無しさん mailto:sage [2021/06/19(土) 22:40:03.07 ID:A8n9fwTn.net] 初心者スレでも可能ではなく最適なものを理解した上で質問しなければならなかったのですね、スレが荒れる原因を作ってしまい失礼いたしました猿未満だったようなので猿レベルになるまで勉強してから質問するようにします
1013 名前:デフォルトの名無しさん mailto:sage [2021/06/19(土) 23:21:45.35 ID:25IvVjLU.net] 質問することで質問したこと以外に発見することもあるからええんやで
1014 名前:デフォルトの名無しさん [2021/06/20(日) 00:05:04.52 ID:YihnOY9y.net] UWSCはそんな高尚なもんじゃないから気にするな いい歳したおっさんには、一行もコードを書かずに喜々として叩いてる人の気持ちは分からん
1015 名前:デフォルトの名無しさん mailto:sage [2021/06/20(日) 02:46:28.68 ID:rWaLY8jt.net] 説明が難しいんですけど一部分の動作だけオンオフってできますか? AndroidエミュのNOXでゲームマクロってのに興味が出ていろいろやってるんですけど、 いろんな処理をwhileとfendの中に入れてるんですけど、その中の一部分だけ画像1を見つけた場合に画像2を見つけるまで他の処理に追加して繰り返し実行されるようにして、 画像1がいなければすっ飛ばすって処理を組み込みたいです 問題は画像1が1回しか表示されないので、都度chkimgで画像1を見つけて実行ってのができなくて、 オンオフみたいに画像1を1回でも見つけたら以降は画像2を見つけるまでwhileとfendの中に組み込めないかなって考えてるんです
1016 名前:デフォルトの名無しさん mailto:sage [2021/06/20(日) 02:55:34.48 ID:rWaLY8jt.net] call a.uws while //開始ボタンを押す 開始ボタンを押す処理 //終了ボタンを押す 終了ボタンを押す処理 //ここから 画像1を1回見つけたら以降は画像1がなくても画像2を見つけるまでa.uwsの中の処理を上2つの処理に加えたい処理() //ここまで fend こんな感じのことをやりたいです
1017 名前:デフォルトの名無しさん mailto:sage [2021/06/20(日) 06:27:18.41 ID:tvAYOSZI.net] NOXの場合の考慮とか 画像1が1回しか見つからないこととか chkimgを余分に実行して時間がかかることとか 置いておく 状態を変更できる変数を使って画像1と画像2を 見つけたかどうかという状態を管理する 変数の名前はgazou1mitsuketaじゃなくていい call a.uws gazou1mitsuketa = False while True (省略) //ここから ifb chkimg("画像1") gazou1mitsuketa = True endif ifb chkimg("画像2") gazou1mitsuketa = False endif ifb gazou1mitsuketa a.tsuika() endif //ここまで wend
1018 名前:デフォルトの名無しさん mailto:sage [2021/06/20(日) 08:03:31.93 ID:2nwNcO+1.net] >>960 option shortcircuit call a.uws gazou1mitsuketa = False while True (省略) //ここから ifb gazou1mitsuketa or chkimg("画像1") gazou1mitsuketa = True ifb chkimg("画像2") gazou1mitsuketa = False else a.tsuika() endif endif //ここまで wend
1019 名前:デフォルトの名無しさん mailto:sage [2021/06/20(日) 22:13:34.21 ID:rWaLY8jt.net] while trueにwendでした、寝ぼけてました >>961 が正しいってことですかね?やってみます
1020 名前:デフォルトの名無しさん mailto:sage [2021/06/20(日) 23:06:19.83 ID:xqcz4eEH.net] >>962 959は958を効率よくした感じのはず 958でやってること理解できるなら959の方がいいと思う
1021 名前:デフォルトの名無しさん mailto:sage [2021/06/21(月) 19:36:45.44 ID:qUhNELyw.net] >>963 ありがとうございます でもoption shortcircuitってどんな意味があるんですか? 調べてもいまいちわからなくて
1022 名前:デフォルトの名無しさん mailto:sage [2021/06/21(月) 19:57:25.10 ID:
] [ここ壊れてます]
1023 名前:xAMfoQlc.net mailto: 短絡評価でググって分からなければとりあえずおまじないでいいよ 変な動作すると思ったらまた調べてみると分かるかもね [] [ここ壊れてます]
1024 名前:デフォルトの名無しさん mailto:sage [2021/06/23(水) 09:11:36.97 ID:mNR5QgFC.net] result = funcA() AND funcB() という式があった時 funcAの戻りがFALSEなら funcBを評価しなくてもresultの値はFALSEで確定となる だからfuncBを評価しても時間の無駄なのでfuncBを呼び出さないのが短絡評価 ちなみに旧VBやVBAは短絡評価が無いが、C系やPythonは短絡評価が標準 後者に慣れてるならOPTION SHORTCIRCUITを有効にすると幸せになれる
1025 名前:デフォルトの名無しさん mailto:sage [2021/06/23(水) 23:02:39.31 ID:ZOV9Dozi.net] //ここから ifb gazou1mitsuketa or chkimg("画像1") gazou1mitsuketa = True この場合、gazou1mitsuketa を見つけた場合、chkimg("画像1")を探さずにgazou1mitsuketa = True で確定するってことであってます?
1026 名前:デフォルトの名無しさん mailto:sage [2021/06/24(木) 02:23:59.47 ID:00iTQ5wf.net] gazou1mitsuketaがTrueの場合(=すでに1回chkimg("画像1")がTrueになった後)は gazou1mitsuketaの評価だけでTrueが確定するから2回目以降のchkimg("画像1")は実行されない
1027 名前:デフォルトの名無しさん mailto:sage [2021/06/24(木) 19:13:43.20 ID:PWbklwVl.net] >>968 すいません、短絡評価についてです
1028 名前:デフォルトの名無しさん mailto:sage [2021/06/24(木) 20:30:05.47 ID:dP2DIBfG.net] >>969 言葉が足りないからちゃんと書いて そもそも「gazou1mitsuketaを見つけた場合」ておかしい gazou1mitsuketaは見つけるものじゃない
1029 名前:デフォルトの名無しさん [2021/06/25(金) 00:17:46.49 ID:vMtaTkKe.net] すいません、それも言葉遣いだったようですが、>>967 の部分が>>966 の言う短絡評価ってことであってますか?
1030 名前:デフォルトの名無しさん mailto:sage [2021/06/25(金) 09:53:18.96 ID:EowRs67i.net] もうすでに答え出てるけど、複数条件式がある場合に、最初の条件一致のみでその条件式を評価できる場合、それ以降の追加条件をスルーするという事
1031 名前:デフォルトの名無しさん [2021/06/25(金) 23:47:56.00 ID:vMtaTkKe.net] じゃああってそうですね、ありがとうございます
1032 名前:デフォルトの名無しさん mailto:sage [2021/07/03(土) 12:53:45.98 ID:7+9XI9UL.net] Andoroidエミュでゲームの周回マクロ組んでるんですけれど画像認識の処理を範囲指定じゃなくて指定のプロセス内のみで行う方法ってありませんか?
1033 名前:デフォルトの名無しさん mailto:sage [2021/07/03(土) 12:58:50.69 ID:7+9XI9UL.net] エミュレーターウィンドウが他のウィンドウに隠れちゃうと画像認識処理が進まなくて困っているということです。
1034 名前:デフォルトの名無しさん mailto:sage [2021/07/03(土) 15:31:03.86 ID:m1bhd94m.net] MOUSEORG関数を使って頑張ると可能
1035 名前:デフォルトの名無しさん mailto:sage [2021/07/06(火) 03:06:28.27 ID:amsSEIe8.net] > id = GETID("**** - FANZA GAMES - Iron") > Hnd = GETCTLHND(id, "Chrome_RenderWidgetHostHWND") > MOUSEORG(Hnd, MORG_DIRECT, MORG_BACK) > > While True > > IFB CHKIMG("****_1.bmp") > BTN(LEFT,CLICK,G_IMG_X,G_IMG_Y,10) > endif > > IFB CHKIMG("****_2.bmp") > BTN(LEFT,CLICK,G_IMG_X,G_IMG_Y,10) > SLEEP(1) > BTN(LEFT,CLICK,G_IMG_X,G_IMG_Y,10) > endif > > SLEEP(1) > > Wend これでバックグラウンドでのブラゲの自動周回自体は機能するのですが なぜか実行中はブラウザのタイトルバーなどがバグったかのようにずっとチラつきます これが起こらないようにするにはどうしたらいいんでしょう? 上のものは解説サイトを元にしたもので そこでの3行目は本来 MOUSEORG(Hnd, 2) でしたが何故かこれでは機能しなかったので さらに調べてみたところ別のサイトにて MOUSEORG(Hnd, MORG_DIRECT, MORG_BACK) を見つけました 後者で正しく動きはしたもののチラつくようになってしまったという次第です 記述の仕方などが間違っているんでしょうか 教えてください
1036 名前:デフォルトの名無しさん mailto:sage [2021/07/06(火) 07:20:51.43 ID:/RjXbpw3.net] UWSCはヘルプファイルが優秀だから分からなくなったら読むことをオススメする MOUSEORGでMORG_BACKを指定している時の画面のチラつきはどうしようもなかったと思う 諦めてそのまま使うか、
1037 名前:MORG_FOREにしてウィンドウを最前面に表示させておくか [] [ここ壊れてます]
1038 名前:>975 mailto:sage [2021/07/08(木) 00:39:02.57 ID:gAnN6jGv.net] そうなんですか 特に害も無いようなので気にしないことにします ありがとうございました
1039 名前:デフォルトの名無しさん [2021/07/10(土) 20:08:14.26 ID:XM4MvmXG.net] ifb chkimg("img.bmp") btn(left,click,g_img_x,g_img_y) これで画像の中央または右下をクリックしたいのですが xとyに画像サイズを手打ちする以外の方法ありますか?
1040 名前:デフォルトの名無しさん mailto:sage [2021/07/10(土) 20:44:43.14 ID:CnuMoVdC.net] >>980 btn(left,click,g_img_x + 50,g_img_y + 30) こういうのではないってこと?
1041 名前:デフォルトの名無しさん mailto:sage [2021/07/10(土) 21:58:25.41 ID:QRyBoOzw.net] >>980 画像の縦横の幅から中央の座標は計算できるだろ
1042 名前:デフォルトの名無しさん [2021/07/12(月) 01:07:25.55 ID:8PUM0aGH.net] >>981 はい。頻繁に新しい画像に差し替える上に 毎回画像サイズが微妙に違うので画像の 右端と中央の値も自動で検出ないでしょうか?
1043 名前:デフォルトの名無しさん mailto:sage [2021/07/12(月) 05:22:18.76 ID:vUaIVbuw.net] >>983 それぞれの画像のサイズはお前が知ってるんだから指定したらいいのでは?
1044 名前:デフォルトの名無しさん mailto:sage [2021/07/12(月) 10:24:19.84 ID:H6QXN1y/.net] BMP画像の幅と高さを得る関数 https://poku.blog/pc/code/uwsc/img-height-wifth.html
1045 名前:デフォルトの名無しさん mailto:sage [2021/07/12(月) 13:04:37.72 ID:IDkhHauo.net] 自分はchkimgxの関数使ってるな
1046 名前:デフォルトの名無しさん [2021/07/12(月) 22:40:23.83 ID:huq3V1Ev.net] >>984 サイズは調べないと分かりません。 頻繁に変わるサイズをいちいち確認するのは 中々手間な作業なので省けるなら省きたいです。
1047 名前:デフォルトの名無しさん mailto:sage [2021/07/12(月) 23:51:06.13 ID:8VMj3XKP.net] >>985 で出来ました ソース貼り付けただけだとうまく動かなかったので文字を囲う"と計算式のマイナスを直したらちゃんと動きました 情報公開する方はちゃんと動くものを出してほしいですね
1048 名前:デフォルトの名無しさん mailto:sage [2021/07/15(木) 05:11:03.79 ID:mj6R5ge4.net] > 情報公開する方はちゃんと動くものを出してほしいですね 清々しいまでの乞食だw
1049 名前:デフォルトの名無しさん mailto:sage [2021/07/15(木) 07:09:47.12 ID:BwKcyqiC.net] >>989 気持ちよくしてくれた方に対して乞食呼ばわりは失礼です まだ義務教育を受けている段階の方なら意味をはっきり理解していない言葉は辞書を引く癖をつければ間に合います
1050 名前:デフォルトの名無しさん mailto:sage [2021/07/15(木) 07:28:32.91 ID:9d/0yVjN.net] 清々しい(きよきよしい)キチガイ
1051 名前:デフォルトの名無しさん mailto:sage [2021/10/30(土) 19:25:40.38 ID:tA37D2o5.net] 昔PRO購入していたUWSCを最近ちゃんと使い始めて、初めてこのUWSCスレみつけた! 初〜中級者な自分に有益な情報多くてほんと助かります(言い争いも多いけど)。 本スレのほうも楽しみ。 あと作者が亡くなられてたということで本当に残念です。昨日知りました。 このスレが消える前に自分メモ用にログ残したった。 みんな初心者卒業しちゃってて継続なさそうだし。
1052 名前:デフォルトの名無しさん mailto:sage [2021/10/30(土) 19:40:25.15 ID:BIRu0arL.net] なんで書き込みないのかと思ったらこっちは初心者用だからなのか
1053 名前:デフォルトの名無しさん mailto:sage [2021/11/12(金) 20:31:09.08 ID:9I9Wghw5.net] UWSCはwindows10で動作するんですか?
1054 名前:デフォルトの名無しさん mailto:sage [2021/11/12(金) 20:33:23.14 ID:JKu/AJc8.net] >>994 全機能が使えるかは分からんが、俺の用途では普通に使えてる
1055 名前:デフォルトの名無しさん mailto:sage [2021/11/12(金) 22:56:54.17 ID:xoJHoay5.net] >>994 普通に使える IE関係の機能は使えないのがあるかもしれないが、IE使ってないから分からん
1056 名前:デフォルトの名無しさん mailto:sage [2021/11/13(土) 09:59:44.60 ID:CrYSxUjw.net] >>995-996 ありがとう 画像認証が出来ないOSの設定なのかな?
1057 名前:デフォルトの名無しさん mailto:sage [2021/11/13(土) 11:16:47.86 ID:Oi0tyZlY.net] 実際にうまく動作しないならそう書け 具体的に書けば教えてもらえるだろう
1058 名前:デフォルトの名無しさん mailto:sage [2021/11/14(日) 00:12:11.79 ID:tEJjUPzv.net] うめ
1059 名前:デフォルトの名無しさん mailto:sage [2021/11/14(日) 07:53:25.02 ID:xN0MYk0E.net] 誰か作者の魂を呼んでくれ
1060 名前:デフォルトの名無しさん [2021/11/16(火) 01:02:55.97 ID:fqXCMnDe.net] 999
1061 名前:デフォルトの名無しさん mailto:sage [2021/11/16(火) 01:10:18.00 ID:b0ZMvWtK.net] ご冥福をお祈りします
1062 名前:1001 [Over 1000 Thread.net] このスレッドは1000を超えました。 新しいスレッドを立ててください。 life time: 1148日 12時間 56分 29秒
1063 名前:過去ログ ★ [[過去ログ]] ■ このスレッドは過去ログ倉庫に格納されています