UWSC初心者用スレ
■ このスレッドは過去ログ倉庫に格納されています
UWSC初心者用スレです
わかってる人はこっち
自動化ツールUWSC使いよ集まれ21
http://egg.5ch.net/test/read.cgi/software/1533818531/
降臨される神々においては相手を人と思わず猿と思し召されるよう
何卒お願い申し上げます ●UWSC 掲示板(※作成依頼掲示版ではありません)
質問の際には自力で作ったスクリプトを晒すか、
具体的な解らない場所を提示すること
上級者が常駐、たまに作者も現れるため過去ログには有益情報の宝庫
http://www3.rocketbbs.com/13/bbs.cgi?id=umiumi
●UWSC - Wikipedia
http://ja.wikipedia.org/wiki/UWSC >>1
おー立ててくれたのか
プログラム板に立てたのはあえて? 改めて
nox(最新)でゲームを自動化しようとしてるのですが、マウスクリックなどの操作を受け付けてくれないですし、記録する時も記録出来ません。
何かやり方あるのでしょうか
あとchromeで裏マクロ作ろうとしてますが画像認識してくれません
試しにsaveimgでid クロームのハンドル webglのハンドルでそれぞれ確認したら
webglハンドルはブラウザフレームだけ取得して中身の画面は真っ黒 他はそもそも現在の画面しか取り込んでくれてないです。
よろしくお願いします ん〜プログラム板がよかったのかソフトウェア板がよかったのか微妙 >>8
noxは直接クリックはできないのでadb使う
向こうのスレに参考スクリプトはあるしググれば出てくる
記録はできないが、単純操作ならnoxのスクリプトレコード使うか、座標系の元値としてだけ使ってもいいかも?
やろうと思えば変換も出来そうだけどね
Chromeはウインドウ指定で使うにはかなり難しい
過去スレを頑張って読むか諦めた方がいい >>8
自分で考えろ
聞いて解決するな
死ね
殺す 早速スレつぶしに来ててワロタ
とにかく罵倒したくて仕方ないんだな 初心者スレとか嘘つかずに素直にゲームマクロスレとかにすりゃいいのに ありがとうございます
とりあえずfirefox系列ならバックグラウンドで画像確認とか出来たのでこちらをベースにします >>1
>UWSC初心者用スレ
ここはプログラム板なんだから
初心者用スレがソフト板で
スクリプトを書きまくるスレが
こっちにある方が自然な住み分けだと思う
まあ住民視線だと
隔離で他板に飛ばす方が良いんだろうけど
なおスクリプトを書く方が偉いみたいな
思想で言っている訳ではない
利便性で言っているだけ >>18
全く仰る通りで。板の住人には誠に申し訳ない。 まあ細かいことはええやろ
向こうはUWSCというソフト全般の話する所
こっちはUWSC初心者がプログラムの話する所
とか適当に建前言っとけば問題ない 検索促すだけじゃあっちと変わらんやん(笑)
調べりゃわかることでも懇切丁寧に教えてやるためにスレ建てたんじゃなかったの?(笑) わざわざこっちもチエックして煽りに来てんのか
重症やな 向こうにもリンク貼っておいて何言ってんだこの馬鹿は いや真面目な話、検索しろじゃあっちと変わらなくね?
このスレなんのために立てたの? ウィンドウ上の定点を監視するために、saveimg(,gid) で
クリップボードにキャプチャした画像の PeekColor(x, y,,TRUE) を取ってるんですが、時々 -1 が返ってくる。
うまく判定できていないのだろうと思って、PeekColor(x, y,COL_R,TRUE) もとってみたけど、こちらは時々 0 が返ってくる。
定点の仕様として、R が 0 にはならないのだけれど、何らかの例外がある場合、-1 や 0 を返す仕様でしょうか?
切り分けとして、-1 や 0 が返ってきたときのキャプチャを保存して確認してみたけど、色がついている(R も存在)しているので
対応指針が決まりません。
どのような時に、-1 や特殊な(?)0 が返ってくるのかどなたかご存知でしょうか? >>28
その異常値が返ってきたときのキャプチャをPeekColorかけるとやはり異常値返ってくるので?
返ってくる場合は画像よく見て分析するしかないかも
返ってこない場合は非同期でグローバル領域共有しておかしなことになってないか確認する
懸念として異常発生時のキャプチャが取れてるのかは疑問だけど…(描画乱れがランダムに起こってるんだとしたら判定後に撮っても遅い)
後は異常時にタイムスタンプ付きでログ出して周期的なものか、そのタイミング何か重い処理してないかなどを分析する >>29
キャプチャした内容(クリップボードに取り込んでた内容)を peekColor かけても、問題ないんですよねぇ。
グローバル領域かぁ。。。分からんw
> 懸念として異常発生時のキャプチャが取れてるのかは疑問だけど…
この辺の切り分けができるように、クリップボード使用してたんですけど、分からんねぇ。困った^^;
もうちょっと調べてみます。ありがと。 >>26
検索しろでも懇切丁寧に教えてあげるのでも好きにすりゃいいんじゃねぇの
そういう所に変にこだわって肝心のuwscの話から脱線するのがウザくて離れたんだから >>29
そもそもクリップボードから取得って確実性あんの?
他で使ってる可能性は?入っているデータ型は都度確認してる?
あんま賢いやり方とは思えないが chkimgxをAutoItなどに移植って可能ですかね? >>33
元々C++で作ってるらしいからそっちに明るいならいけるんじゃないか すみません
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
とエンドキー押せば止まるのでこれを真似てみたのですが
よかったら分かるかたいませんでしょうか?
よろしくお願いします。 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 if/ifbの次には真偽値を置く
今のコードだとタイマーが置かれてて意味がわからないので無視されている UWSC × Noxでゲームマクロの入門編の記事を作成しました。
nox_adbについてサンプルコード付きで書いている記事は今までなかったと思うので、初心者さんが来た時にでも使ってください。
https://qiita.com/macro_no_deshi/items/dd3b3405123bad0cfe4a >>37
>>38
神様助かりました!一日中試してたのにおかげで無事できました!ありがとうございます! 友人のために作成したスクリプトで、おかしな挙動が出ています。
ACW(gid,0,0,,)
として、左上隅にウィンドウを移動させ、そこを基点に特定座標の色を拾うスクリプトを書きました。
が、時々拾えなくなると言われ、切り分けのために色を拾うタイミングで、キャプチャを実施しました。
キャプチャ結果を見ると、時々、ウィンドウが移動しているように見受けられます。
友人の操作を疑っているのですが、触っていないと言われ、原因を探っています。
ACW 以外に、ウィンドウを動かす事に注意しなければならない関数は存在しますか?
昼飯で引き受けたのですが、ずいぶん高くついてしまっています。
ヒントでもあれば教えてください。 >>42
情報が少なすぎて何とも言えないが…まず、どう動くの?
その場所からいなくなるという意味ではCTRLWINでもBTNでも犯人になり得るがそういう話し?
対策は面倒ならしつこくACWするか、根本対応としてMOUSEORG使うかってところが今のところ浮かぶけど
もうちょっと差し支えない範囲でコードの中身見ないと分からんことが多すぎるよ 定点観測して、ログを吐き出すスクリプトなんで、ざっくりというと以下な感じ。
・ウィンドウを左上に移動
・特定座標の色を変数として記憶
・記憶した色のパターンが特定の条件に合致すれば、ログに出力
キーボード操作も、マウス操作も無くて、処理としては色の監視とその条件用の演算と出力です。
元のスクリプトを簡潔にして画面キャプチャのために作成した切り分けのためのスクリプトから
更に演算処理を全部抜くと
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 だと再現しないんですよねぇ^^;
なにか怪しい箇所があれば、ぜひ教えてください。 再現しないならその友人が怪しいだろ
本当に友人なんですかね >>45
で、結局どう動くの?
ワープしてデスクトップから消え失せるの? 超高速で縦横無尽に動き回るの? >>45
昨日もうひとつのUWSCスレでふきだしの話してた人?
FUKIDASIのxとyってどうやって算出してるの?
元のスクリプトのほうでループのなかでxとyの値が更新されて
FUKIDASIの位置が変わってるんじゃないの?
それ以外吹き出しが動く要素がなさそうにおもうんだけど
それとUWSC以外を疑うなら画面全体を動画キャプチャしたら? もう一つの方の人とは別です。くちばしの形状は気にしてないんでw
FUKIDASI の xy は色識別の座標です。
画面にタイル状に並んだ画像の位置情報を算出してます。
イメージとしては、ブラウザ上に同じフォーマットの画像が12個並んでいて、その特定座標の色を抜き出している感じです。
12箇所の基点座標の割り出しと、それに追加する相対座標を追加する計算をしています。
で、ぞの位置がずれていないか、FUKIDASI 出してざっくり位置確認をしたんですが、
ループの中で撮った12枚の画像で、FUKIDASI が本来の位置に無いものがある。
何度か取り直してもらったんですが、都度少しづつズレるんです。
ズレは、ちゃんと計測してないけど、xy それぞれの方向に 1 から 5 px 程度。
ループ中全部ズレるんではなくて、途中でズレるとか、最初にズレてそのままとか。
今の所、ループ内で複数回ズレた事は観測できてません(まぁ試行回数もそれほど多くないですけど)
IMG_FORE なんで、「stop ボタン」も写り込んでるんですが、そっちもズレるんでウィンドウが動いてるって判断してます。
まぁ、何が起きてるか全然分からんので、次の切り分けでは、画面全体のキャプチャ撮ろうとは思っていますが。。。
UWSC 以外は今の所疑ってませんでした。ちょっと方法を考えてみます。 >>46
怪しいよねぇ^^;
リモートで接続させろって言ってるんだけど、見られたくないそうで。。。
めんどいwww >>49
>>45では FUKIDASI の位置が、キャプチャ画面上でずれるんです。。。と言ってるのに
>>49ではウィンドウが動いてるって判断してますと言ってるし結局何がずれてんの?
ずれが1〜5pxなら人間が動かしてるとは考えづらい
そうするとスクリプトの座標部分が変化してるんじゃないかと疑うんだけど
肝心の座標を算出するスクリプトが書かれてないからなんとも言えない
なので要領を得ないから提案としては
fukidasiなりpeekcolorに使うxとyを定数で定義
ウィンドウとfukidasiの座標を監視して変化を検知したらログに残して
ACWで元の位置に戻してからpeekcolorを実行するようにしてはどうだろう ウィンドウが動いてるんで、座標指定して表示している FUKIDASI がキャプチャ上でズレているって事です。
FUKIDASI には座標を表示しているので、FUKIDASI の座標と計算は正しいと思う。
移動を監視するのが良さそうですね。
ありがとう! >>49
えーと、fukidasiもデバッグ用ということ?
>>43でも書いたけどウインドウ基準で相対位置決められるならMOUSEORG使えばって感じなんだけどなんかダメな要件があるので? FUKIDASI はデバッグ用途ですね。
元々原因不明な色の抽出がうまくいかないことがあったんで、切り分けの一環として採用しています。
そのおかげで、ウィンドウが少し移動していることが判明しました。
MOUSEORG はあまり使用したくないって程度の理由で採用してません。
今回みたいに原因不明の時に人を疑いたくなるんで、できるだけ人の操作から切り離して実行しようかと。 >>54
よく分からないけど使う側を信用できないなら、なおさら動かされてもリカバリできるようにするものでは?
てかウインドウが動く原因は実のところ色々ある(UWSC外)
・画面の解像度変更、最大化以外の手段でフルスクリーン、パワポのプレビュー
・タブレットなら縦横動かした時
・デスクトップのウインドウテーマ変更
・グラボのドライバアップデート
これをやってないか、やったらいかんとか再起動せよと友人に言い含めるのとスクリプトで対策するのはどっちが楽?
(まぁ一部は再起動した方がいいと思うが)
まぁやりたくないならどうぞご自由に、自分からは特に強制するつもりはないのでね 質問です
(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 >>56
IFBの括りが悪い
すべてが最初のIFBの中なのでその画像がある時以外は何も動かない たしかに1.bmpの1行とENDIFの1つを消したら2と3(4の画像が出たら4も)が動作しました
あとは添付の画像のように修正してみました
一見無事に動作しているのですがループが早すぎて気づいていないだけ…?
https://i.imgur.com/mnpJfXM.jpg ■ このスレッドは過去ログ倉庫に格納されています