[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 06/15 14:03 / Filesize : 331 KB / Number-of Response : 1064
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

UWSC初心者用スレ



1 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 12:13:49.92 ID:an35jPjo.net]
UWSC初心者用スレです

わかってる人はこっち
自動化ツールUWSC使いよ集まれ21
egg.5ch.net/test/read.cgi/software/1533818531/

降臨される神々においては相手を人と思わず猿と思し召されるよう
何卒お願い申し上げます

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かよ。
そんな使われ方じゃ作者が可哀想だな。






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](;´∀`)<331KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef