1 名前:名無しさん@お腹いっぱい。 [2015/11/11(水) 13:45:28.80 ID:+oPzgSay0.net] Windowsの作業を自動化するツール フリーソフト版とシェアウェア版の2種類がある ttp://www.uwsc.info/download.html ●UWSC 掲示板(※作成依頼掲示版ではありません) 質問の際には自力で作ったスクリプトを晒すか、具体的な解らない場所を提示すること 上級者が常駐、たまに作者も現れるため過去ログには有益情報の宝庫 www3.rocketbbs.com/13/bbs.cgi?id=umiumi www3.bigcosmic.com/board/s/board.cgi?id=umiumi&mode=past ●UWSC - Wikipedia ja.wikipedia.org/wiki/UWSC ●使い方・基礎解説学習サイト uwsc.g.hatena.ne.jp/cx20/20100131/1264938584 www.confrage.com/uwsc/ necro.jp/dev/uwsc/ park14.wakwak.com/~simizu/uwsc/fruwsc.html canal22.org/ big.tm.land.to/handbook/uwsc.htm www.game-rev.com/review/gameut/uwsc.html ●スクリプトテンプレサイト izagne.com/uwsc/ scripts.web.fc2.com/ www.nagomi-jp.net/~liners/ nem.symphonic-net.com/uwsct/0610uwsct.html siromasa.digi2.jp/uwsc/ iriyak.adam.ne.jp/uwsc.html 前スレ 自動化ツールUWSC使いよ集まれ15 anago.2ch.net/test/read.cgi/software/1436671958/
563 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/10(水) 12:25:07.38 ID:wTSkFc930.net] 添削というか、移植してくれ。sliceとか使うのかな $lists["あ"] = "a10 a20 a30"; $lists["い"] = "b100 b200"; $lists["う"] = "c1 c2 c3 c4"; print implode("<br>\n",(combi($lists))); function combi($lists){ $l_cur = array_shift($lists); $l_cur_arr = explode(" ",$l_cur); if(count($lists)>0){ while($l_cur_1 = array_shift($l_cur_arr)){ foreach(combi($lists) as $extra){ $res[] = $l_cur_1." ".$extra; } } }else{ return explode(" ",$l_cur); } return $res; }
564 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/10(水) 12:45:52.49 ID:R/okCavp0.net] そっちかよw
565 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/10(水) 12:54:34.10 ID:wTSkFc930.net] すまぬ499をベースにやろうとしてみたけど 5行目で「listsが定義されていません」エラーになる理由がもうわからない UWSCの配列もよく分からない hashtbl lists lists["あ"] = "a10 a20 a30"; lists["い"] = "b100 b200"; lists["う"] = "c1 c2 c3 c4" print combi(lists) function combi(lists) res = "" l_cur = lists[0] SHIFTARRAY(lists,-1); l_cur_arr = split(l_cur," "); if length(lists)>0 then while length(l_cur_arr)>0 l_cur_1 = l_cur_arr[0] SHIFTARRAY(l_cur_arr,-1) for extra in combi(lists) res = res + l_cur_1+" "+extra+"<#CR>" next wend else result = l_cur_arr endif result = res fend
566 名前:名無しさん@お腹いっぱい。 [2016/02/10(水) 14:26:42.18 ID:Lx2sic3p0.net] >>530 関数定義の方の変数が配列として定義されてないから
567 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/10(水) 17:16:00.23 ID:cNgK9kX70.net] 連想配列を、多次元で使うのは無理ですか? 可能であれば、方法を教えてください
568 名前:名無しさん@お腹いっぱい。 [2016/02/10(水) 19:45:44.31 ID:CFiYTXoe0.net] www.dotup.org/uploda
569 名前:/www.dotup.org733222.txt.html 少し長いのでうpろだに上げましたm(_ _"m) 質問です。 おそらくこの〜〜〜〜部分に稀に出てくる画像があるのですが、 処理をどう書いたら稀に出てくる画像を検出して押してループ出来ますかね? そして出ないときはスルーしてループしてくれると良いのですが.... 中々調べてもパッとしたものが出てこないので困ってます... [] [ここ壊れてます]
570 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/10(水) 22:49:09.18 ID:UdxSvPdk0.net] >>533 質問の趣旨が今一つかめないけどCASE1〜8の処理をループさせながら定期的に特定の画像をチェックしたいってことでいいのかな それならとりあえず全ケース文の先頭にその稀に出現する画像をチェックする処理入れればいいのでは ただこれだけそっくりな処理をケース分けするなら状態遷移用のパラメータ持たせた配列用意して回した方がすっきりするね
571 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/10(水) 22:55:35.86 ID:UdxSvPdk0.net] >>533 とりあえずこんな感じ? 細かい部分は適当なので後は自分でいじって dim tmpstr dim def_StateParam[8] dim VWS = 1 def_StateParam[1] = "CASE1,400,200,0,30,1.5,画像9.bmp,1,1,0" def_StateParam[2] = "CASE2,400,200,0,30,1.5,画像2.bmp,2,1,0" def_StateParam[3] = "CASE3,400,200,0,30,1.5,画像3.bmp,3,1,0" def_StateParam[4] = "CASE4,400,200,0,30,1.5,画像4.bmp,4,1,0.1" def_StateParam[5] = "CASE5,400,200,0,30,1.5,画像4.bmp,5,1,0" def_StateParam[6] = "CASE6,400,200,0,30,1.5,画像4.bmp,6,1,0" def_StateParam[7] = "CASE7,400,200,0,30,1.5,画像4.bmp,7,1,0" def_StateParam[8] = "CASE8,400,200,0,30,1.5,画像5.bmp,8,1,0" while true tmpstr = split(def_StateParam[VWS],",") fukidasi(tmpstr[0],val(tmpstr[1]),val(tmpstr[2]),val(tmpstr[3]),val(tmpstr[4]),,,) SLEEP(val(tmpstr[5])) fukidasi() //ここに稀に出現する画像をチェックする処理を書く IF VWS = 4 THEN WHILE (CHKIMG(tmpstr[6])=FALSE) SLEEP(val(tmpstr[9])) WEND ENDIF IFb Chkimg(tmpstr[6]) Then MMV(G_IMG_X, G_IMG_Y) BTN(LEFT,CLICK) VSW = val(tmpstr[7]) ELSE VSW = val(tmpstr[8]) ENDIF wend
572 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/10(水) 23:00:18.61 ID:UdxSvPdk0.net] まちがった こっちで dim tmpstr, def_StateParam[8], VWS = 1 def_StateParam[1] = "CASE1,400,200,0,30,1.5,画像9.bmp,1,1,0" def_StateParam[2] = "CASE2,400,200,0,30,1.5,画像2.bmp,2,1,0" def_StateParam[3] = "CASE3,400,200,0,30,1.5,画像3.bmp,3,1,0" def_StateParam[4] = "CASE4,400,200,0,30,1.5,画像4.bmp,4,1,0.1" def_StateParam[5] = "CASE5,400,200,0,30,1.5,画像4.bmp,5,1,0" def_StateParam[6] = "CASE6,400,200,0,30,1.5,画像4.bmp,6,1,0" def_StateParam[7] = "CASE7,400,200,0,30,1.5,画像4.bmp,7,1,0" def_StateParam[8] = "CASE8,400,200,0,30,1.5,画像5.bmp,8,1,0" while true tmpstr = split(def_StateParam[VWS],",") fukidasi(tmpstr[0],val(tmpstr[1]),val(tmpstr[2]),val(tmpstr[3]),val(tmpstr[4]),,,) SLEEP(val(tmpstr[5])) fukidasi() //ここに稀に出現する画像をチェックする処理を書く IF VWS = 4 THEN WHILE (CHKIMG(tmpstr[6])=FALSE) SLEEP(val(tmpstr[9])) WEND ELSE IFb Chkimg(tmpstr[6]) Then MMV(G_IMG_X, G_IMG_Y) BTN(LEFT,CLICK) VSW = val(tmpstr[7]) ELSE VSW = val(tmpstr[8]) ENDIF ENDIF wend
573 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/11(木) 01:00:59.88 ID:2xnip+Tc0.net] せめて構造体が使えればねぇ
574 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/11(木) 01:02:56.58 ID:PFox1uTL0.net] もしかしてselect処理毎に稀の画像チェックしたいけどselendの前に書いちゃって 毎回通らなくてうまくいかないよ!っていうことだったりするのかな?
575 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/11(木) 01:21:45.52 ID:0c+JQyo+0.net] classで構造体っぽい物は作れるけど複数のインスタンス持てるわけでもないしあんま意味ないのがな
576 名前:名無しさん@お腹いっぱい。 [2016/02/11(木) 02:19:21.45 ID:ZBhxJU1k0.net] PowerShell ではクラスを扱えるけど、クラスを作れなかったと思う。 UWSC も、クラスのデータを他言語から受け取って接着剤みたいに使えばいいんじゃね?
577 名前:526 mailto:sage [2016/02/11(木) 03:35:07.99 ID:b+3w0CHx0.net] UWSC使い始めてまだ2日目で色々酷くてすみません( ;∀;) やりたいこととして無限ループを行い、ゲーム内の画像を検出してクリックして放置が できるようにしたかったのですが、先述の通り稀に押さないと進めない物が出てきまして、それのせいでCASE1に飛ばされてしまい マクロが止まるという事態が起きてました。
578 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/11(木) 03:39:32.11 ID:b+3w0CHx0.net] >>534 527さんの解釈で合ってます! 色々検索したり、知恵袋使って質問していたのですがその仕組みが作れませんでした... >>536 529さんのが自分からすると高度すぎてよく分からない状態です( ;∀;)
579 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/11(木) 04:06:02.47 ID:BAwW+2D
] [ここ壊れてます]
580 名前:70.net mailto: エフェクトや透過処理等で素材画像とは完全一致しないケースがある クリックはあくまでイベントを送ってみようとするだけで溢れる可能性がある 次のループに入ってクリックをキャンセルしまったり やり直しが出来ない重要なクリックの場合は クリックを受け付けたか何らかの方法で確認しないと安定しなかったりする 動く時と動かない時があるのは大抵この辺 [] [ここ壊れてます]
581 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/11(木) 04:17:43.34 ID:TCAo9itq0.net] 始めて2日の>>541 に>>536 見せても意味理解できないんじゃないかなあ プログラム初心者とは書いてないけれど、どうなんだろう 始めて2週間の俺が低レベルなプログラムを書いてみる WHILE !GETKEYSTATE(VK_ESC) REPEAT IFB CHKIMG("画像9.bmp") BTN(LEFT,CLICK) ELSE BREAK ENDIF IFB CHKIMG("画像2.bmp") BTN(LEFT,CLICK) ELSE BREAK ENDIF ・ ・ ・ UNTIL FALSE WEND ん? これでよくね? 見つからない場合にBREAKすれば最初に戻るんだろ?
582 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/11(木) 12:23:32.74 ID:z++B2lkF0.net] >>544 状態遷移を省いちゃダメでしょ
583 名前:521 mailto:sage [2016/02/11(木) 13:16:17.89 ID:okUdFipF0.net] >>502 のやついまさらで「あ・い・う」も略しちゃってるけどやっと一応できた 配列の順次追加・戻り値・shiftに苦労したが勉強になって楽しかった 空の配列宣言が分からなくて if ref[0]<>""とか不恰好なのが入ってる dim res[] = ""に代わる中身0の配列宣言分かりましたら教えてください 行数も構造もあまり499と代わらなくなっちゃったかな dim lists[] = "a10 a20 a30","b100 b200","c1 c2 c3 c4" print join(combi(lists),"<#CR>") function combi(lists[]) dim res[] = "" l_cur = lists[0]; lists_s = slice(lists,1,length(lists)-1) l_cur_arr = split(l_cur," ") if length(lists_s)>0 then while length(l_cur_arr)>0 l_cur_1 = l_cur_arr[0] l_cur_arr = slice(l_cur_arr,1,length(l_cur_arr)-1) for extra in combi(lists_s) if res[0]<>"" then Resize(res,length(res)) res[length(res)-1] = l_cur_1+" "+extra+"" next wend result = slice(res,0,length(res)-1) else result = l_cur_arr endif fend
584 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/11(木) 13:26:13.37 ID:IFP6rTWM0.net] emptyとかvartypeとかそういう話でなく?
585 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/11(木) 13:32:44.65 ID:okUdFipF0.net] >>547 ごめんよく分からない。多分違うかな dim res[] = ""の部分の時点でlength 1 になっちゃうから length 0 の状態で宣言できるとそこは解決だと思うのだが
586 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/11(木) 14:11:26.72 ID:PFox1uTL0.net] >>542 単純に書くならこうなる while 1 if chkimg("稀?") elseif chkimg("9?") elseif chkimg("2?") elseif chkimg("3?") endif sleep(3)//? wend VSWでの全体の管理が必要なのかも怪しい VSWに捕らわれすぎてやりたいことが出来なくなってる可能性もある まぁそれぞれの画像の条件(出方・消え方)がいまいちわからないから・・・
587 名前:名無しさん@お腹いっぱい。 [2016/02/11(木) 19:58:05.91 ID:RBcXi3Gt0.net] 教えて下さい。 このソフトを使ってExcelシートに入力されている値を別の計算ソフトへ 自動で入力するというようなことはできますか?
588 名前:名無しさん@お腹いっぱい。 [2016/02/11(木) 20:29:19.42 ID:WYFXkEVH0.net] www.dotup.org/uploda/www.dotup.org734791.zip.html
589 名前:名無しさん@お腹いっぱい。 [2016/02/11(木) 21:05:25.66 ID:z8n8XQ1d0.net] >>524 msgbox(bitcount(7)) //3 msgbox(bitcount(3)) //2 function bitcount(n) if n<>0 then result=result+n mod 2+bitcount(int(n/2)) fend
590 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/12(金) 00:04:53.83 ID:k6qMW81B0.net] 素人でこの言語最近知ったんだが、これ最強の言語じゃね?なんであまり知られてないの?
591 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/12(金) 00:12:52.00 ID:9BztTFw/0.net] いや、言語っていうか・・・
592 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/12(金) 00:45:52.84 ID:ywMkiNaR0.net] >>553 素人判断はやめましょう
593 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/12(金) 00:51:12.45 ID:GKVk0beF0.net] ゲームを自動化すると楽しく学べるね(´・ω・`)
594 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/12(金) 00:54:49.48 ID:8lgU0Jr00.net] やっちゃいけない領域な気がするけどね!
595 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/12(金) 01:26:26.97 ID:g/t37I2b0.net] 言語というよりも録画再生機能が好き
596 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/12(金) 08:54:55.690943 ID:k6qMW81B0.net] いや、本当に素人でもブラウザとソフトウェアの自動連携を作れるってのはすごいと思うんやけど。なんで知られてないん?
597 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/12(金) 08:56:56.102247 ID:4JLZMnR80.net] お前の類友が無知だからかな
598 名前:名無しさん@お腹いっぱい。 [2016/02/12(金) 10:04:21.88 ID:i4qbzSJ40.net] 時間どうなってんのそれ
599 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/12(金) 13:27:19.60 ID:cKYrB2r90.net] >>549 元コード見るとすべてのステージで異なる画像を判別に使用してるわけじゃないから無理じゃね 画像4チェックのときだけケース分けするにしてもそれなら一括でステージ管理したほうがよさげ
600 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/12(金) 15:17:28.05 ID:8lgU0Jr00.net] >>562 不明な点が多すぎて基本的なやつになった
601 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/12(金) 16:30:11.66 ID:cKYrB2r90.net] >>546 UWSCで空配列は宣言できないからslice関数を使って普通の変数に入れる 初期値指定みたいに文字列使いたい場合はsplit関数も組み合わせる DIM x = slice(SPLIT("a,b,c,d",",")) print x[2] x=slice(SPLIT("e,f,g,h,i,j",",")) print x[2] DIM y = slice(SPLIT("w,x,y,z",",")) DIM z = slice(y) print z[2] これ使えばよくある空配列の宣言に近いことはできる
602 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/12(金) 16:42:46.02 ID:cKYrB2r90.net] >>546 もちろんslice関数での変数x初期化前にlength(x)すると0は返ってくるけど 単純にxの文字列長が返ってきてるだけで要素数では無い点には注意が必要 戻値的には同じだから十分使えるけどね
603 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/12(金) 17:09:37.34 ID:UbZzXFO50.net] >>564 おー、ありがとう >>564 を直接どう使えばいいか分からなかったけど (「変数x初期化前にlength(x)すると0は返ってくる」てのがどういう状態の時か分からず) >>546 の宣言部分を DIM res = slice(SPLIT("",",")) と 空文字列のsliceから取得したらlength 0で宣言できた あとはphpと同じようにshiftarrayの戻り値としてあふれた値取得できたり 式ひとつで配列に値を追加できるとかなりシンプルに出来るんだが そこはUWSCの仕様ってことであきらめるしかなさそうかな〜
604 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/12(金) 17:20:03.48 ID:cKYrB2r90.net] >>566 言い方悪かった >変数x初期化前にlength(x)すると0は返ってくる DIM x //初期値を与えない print length(x) //xの文字列長0が返る x = slice(SPLIT("a,b,c",",")) length(x) //x[]の要素数の3が返る って意味だったんだけど確かに宣言時に slice(SPLIT("",",")) で初期値設定しておいたほうが 後からコード見たとき変数の用途が解りやすくていいね 使わせてもらいます
605 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/12(金) 17:32:07.53 ID:bdQKZ6P80.net] 長さ0のsafearrayはこれで作れる safearray(0,-1)
606 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/12(金) 17:37:10.80 ID:ckS+rd0L0.net] phpはデフォで色々な関数が用意されてるだけなんだから array_shiftと同じ関数を自作すりゃいい
607 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/12(金) 17:42:19.65 ID:UbZzXFO50.net] >>567 なるほど> DIM x しかしそれだとその後のResizeで「配列ではありません」エラーになっちゃうな いずれにしても宣言わかってよかったですありがとう 1行での配列の追加もその線で出来ないかと res = slice(split(join(res,","),",")) とトリッキーにやってみたが上手く行かず もし出来たらまた貼らせていただくかも >>568 おー、ほんとだスッキリ >>56
608 名前:9 元の配列操作しつつ戻り値も得るって出来るのかな? [] [ここ壊れてます]
609 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/12(金) 19:27:59.43 ID:k6qMW81B0.net] ブラウザ操作する場合、uwscとエクセルvbaはどちらがいいの?同じ? それなら、ページが多いエクセルの方が良くね。
610 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/12(金) 19:32:42.63 ID:dphmFixd0.net] COM操作で解決する範囲の自動化なら同じなので自分が使いやすい方でやれば良いのです
611 名前:名無しさん@お腹いっぱい。 [2016/02/12(金) 19:53:59.16 ID:i4qbzSJ40.net] alert窓 を閉じるのは VBA では基本的に出来ないと思う。 でも、出ることが分かってる「ファイルを保存する」ダイアログは SendKeys でコントロールできるらしい。
612 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/13(土) 01:10:16.19 ID:smbIwZzf0.net] UWSCでクワインとなるソースコードを教えてください なるべく最短で、出力はmsgboxでお願いします
613 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/13(土) 01:15:32.21 ID:hFFChm3k0.net] 誰かがそれを出してもwikiとかに追記に行くなよ
614 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/13(土) 09:26:54.53 ID:7eVjLkIC0.net] MOUSEORG(id,0) if chkimgx(img_name, id) then btn(left, click, G_IMGX_X, G_IMGX_Y) これだと画像より少し左上にずれてクリックする 修正して使ってきたがこれってしかたないのか?
615 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/13(土) 14:16:58.30 ID:9elgN/hL0.net] statusでウィンドウの幅と高さとクライアント幅とクライアント高さ この辺が違ってたらその可能性もある
616 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/13(土) 18:52:01.69 ID:abY5DV330.net] >>576 使用した画像の一番左上を原点とするからだよ だから何も指示しないと左上に行く
617 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/13(土) 19:32:42.79 ID:AtiKTq4d0.net] 569の言う左上って画像の中心より左上って意味なのか? 画像の左上角より左上なのかと思った
618 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/13(土) 19:56:20.37 ID:2icoSvut0.net] chkimgってサーチ範囲の座標記述すると見た目が悪くなるのが嫌いなんだけど 俺が作ってるのはサーチ範囲は変わらないから全部同じ数字入れるのがだるい かといって書かないと遅くなるらしいし 良い方法ないかな 新しく関数作って固定させるぐらいしか思いつかん chkimgA() function chkimgA(PARAM_IMG) ifb chkimg( "PARAM_IMG" + ".bmp", 1, x1, y1, x2, y2) result = true else result = false endif fend
619 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/13(土) 20:07:46.86 ID:hFFChm3k0.net] 基本的には関数化しかない 例外を記述する時に楽するためにデフォルト引数使うと良いかもね
620 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/13(土) 20:08:01.19 ID:JoYsMZYi0.net] 定数作れよ
621 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/13(土) 20:15:10.67 ID:2icoSvut0.net] >>581 やっぱそうか デフォルト引数ってのは function chkimgA(PARAM_IMG="") みたいに書けばいいってこと? >>582 定数作れってのはCONST使えって言うこと?
622 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/13(土) 20:26:32.08 ID:hFFChm3k0.net] 全部聞いていたら何も造れないぞ 少しは考えろ //デフォルトの範囲(面倒だからXのみ) CONST checkImageRange_X = 100 checkImage("test1") //デフォルト引数な呼び出し checkImage("test2", 200) //例外的な呼び出し procedure checkImage(imageName, x = checkImageRange_X) Print imageName + "=" + x Fend
623 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/13(土) 20:37:26.58 ID:2icoSvut0.net] ごめん、全部聞いたつもりじゃなくて言葉の意味、意図がわからないから聞いただけなんだ
624 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/13(土) 21:11:34.08 ID:2icoSvut0.net] デフォルト引数とかCONSTについての知識があまりないからググって考えたんだけど >>584 は例外を引数で指定するためのやり方、ということだよね? 自作関数そのものの機能としては>>580 で問題ないよね? 俺は例外の場合は普通にCHKIMG関数を使おうと思っていたんだけど、
625 名前:>584のやり方で例外のために記述を加えたほうがいいのはどうして? [] [ここ壊れてます]
626 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/13(土) 21:19:16.44 ID:JoYsMZYi0.net] >例外の場合は普通にCHKIMG関数を使おうと思っていたんだけど だったら関数作んなくていいって 定数作れ
627 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/13(土) 21:30:44.76 ID:hFFChm3k0.net] デフォルトな条件なら呼び出し側がシンプルに成る 前後の処理を共通化できるってのが基本的なメリット 同じ処理を複数の箇所に記述すると変更する必要が生じた時に 対応が漏れる恐れがある 少し上にあった条件を配列に入れてループで回すコードみたいに 回りくどくても変更に対応しやすいコードの方が便利かもねって話
628 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/13(土) 21:39:33.04 ID:2icoSvut0.net] >>587 ごめん、その定数作れの意味がわからない >>588 関連の話として、例外を指定できる方法を教えてくれたということかな? どうもありがとう
629 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/13(土) 21:43:21.10 ID:AtiKTq4d0.net] >>580 なんで関数内にif文書いてるの? function chkimgA(〜) result = chkimg(〜 fend これだけでいいじゃん
630 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/13(土) 23:11:25.36 ID:eCDlWNP70.net] 初心者の質問です。 fukidasi(
631 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/13(土) 23:15:10.41 ID:eCDlWNP70.net] あれ、切れちゃった 初心者の質問です。 fukidasi("ゲームウィンドウ上でSキー") //Sキー入力待ちの告知 While !(GETKEYSTATE(VK_S)) //Sキー入力まで無限ループ sleep(0.1) Wend fukidasi() //入力待ち告知の吹き出しを消す winid = getid(GET_ACTIVE_WIN) この某hpのサンプルコード使ってbluestacksのID取得をして MOUSORG(winid,0,0)では動くのですがそれ以外の数値だと動きません (id,2,2)でバックで動かしたいのですがどうすれば直りますか?
632 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/14(日) 00:41:28.44 ID:V4/m1Afh0.net] 仮想環境を操作するのはUWSCでは無理
633 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/14(日) 08:59:07.59 ID:4bRrPD2X0.net] >>593 なるほど バックで動かすのはあきらめます ありがとうございました
634 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/14(日) 09:05:22.19 ID:c3uHBcDI0.net] 自分が裏だと描画を控えるアプリに対して 描画させる事は基本的に前面にするしかない
635 名前:名無しさん@お腹いっぱい。 [2016/02/14(日) 09:28:54.14 ID:Oo27r2AD0.net] 以前書いた奴 ID = GETID("BlueStacks App Player","WindowsForms10.Window.") // MOUSEORG( ID, MORG_CLIENT or MORG_DIRECT, MORG_BACK ) // MORG_DIRECT だとAndroidが反応してしまう。 // MOUSEORG( ID, MORG_CLIENT ) // MORG_CLIENT だと ChkImgX と標準関数とで原点位置が食い違う。 MOUSEORG( ID ) >>593-594 の流れはおかしい。 仮想環境でも画像で操縦は可能だし >>592 は「MOUSORG(winid,0,0)」では動くと書いてるのに。 >>595 BlueStacks は裏でも描画する XP時代は隠れた部分は描画されなかったけど
636 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/14(日) 11:08:44.73 ID:4bRrPD2X0.net] >>596 よく考えたらそうですね・・・ その後の処理はifb CHKIMG→BTNでクリックさせる→スリープ1秒 を何パターンも作ってるだけの簡単な ゲーム操作をさせるマクロなんですが色々ぐぐっても原因わからずでした
637 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/15(月) 01:57:12.49 ID:0dWxJSmB0.net] 画像検索の特殊変数G_IMG_X,G_IMG_Yってのは ローカル変数扱いなんでしょうか? 画像検索でヒットしたG_IMG_X,G_IMG_Yの値を 別の関数で使いたい場合は、引数で渡すか グローバル変数を使うかしかないんでしょうか?
638 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/15(月) 07:11:02.66 ID:X50nyRyC0.net] >>598 グローバルだったとしても、そういうのは引数で渡す癖をつけたほうがいいよ。 グローバル変数に入れなおすのもNG。
639 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/15(月) 12:48:14.51 ID:fuyjfYD1
] [ここ壊れてます]
640 名前:0.net mailto: 引数が増え過ぎてきた場合、普通はどうしたらいいの?構造体もないし [] [ここ壊れてます]
641 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/15(月) 14:28:14.98 ID:lRH39zN60.net] >>600 個人的にはそれが必要な情報なら引数にする事を厭わないかな でもクラス(モジュール)を使って必要な情報を整理して保持できるならそっちを優先する グローバル変数は最後の手段だけどクラスのメンバ変数は使用を躊躇する必要ないしね
642 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/15(月) 15:17:21.06 ID:mpgO3egX0.net] 引数を配列で渡すとか、関数を分割するとか
643 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/15(月) 17:00:42.69 ID:ml/Gl3ot0.net] ワシにはなんのこったかさっぱり UWSCはプログラミング未経験者が使うツールだと思ってた
644 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/15(月) 18:51:08.74 ID:iW+KTqvB0.net] >>603 その話題について知りたいなら素直に知りたいって書いたほうが得だよ 逆にどうでもいいなら黙ってようよ
645 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/15(月) 18:55:50.05 ID:iV3+q7Ob0.net] うざいからお前出てって
646 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/15(月) 20:36:48.80 ID:ml/Gl3ot0.net] わかったよもう来ないよ そのかわり質問スレに誘導してくれ
647 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/15(月) 20:47:06.23 ID:TntgXZj60.net] >>606 うざいと言われてるのは>>604 の方だと思うがな
648 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/15(月) 20:54:00.51 ID:VKY0mmNh0.net] もっと短いクワイン書けないでしょうか?自分の実力ではこれが限界です UWSC上級の人よろしくお願いします a=chr(34);b=
649 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/15(月) 21:00:29.60 ID:VKY0mmNh0.net] なんか切れたんでこっちに貼りました https://gist.github.com/anonymous/e522e8a7f110f3238185
650 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/15(月) 21:24:10.17 ID:ekeGmjS90.net] 特定の武器を一回だけ使って元の武器に戻す 特定の武器に持ち替えて使用する ↑ここまではUWSCでできるんだけど 直前に持っていた武器に戻す ↑識別方法がなくて諦めた
651 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/15(月) 21:45:50.39 ID:k4y1Ql7g0.net] 日記か
652 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/15(月) 22:00:26.19 ID:0XdlPD550.net] 最近恥ずかしげもなくゲームマクロの質問ばかりだな
653 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/15(月) 22:05:32.67 ID:GSjAFn9q0.net] >>610 お前が何を見て直前に持っていた武器だと認識するのかを そのままコードに書けばできるだろ お前も認識できないなら知らん
654 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/15(月) 22:21:08.17 ID:ZQ5I0KNy0.net] >>603 特定の画像出現をポーリングで待機しながらタイムアウトとか考えるのは組み込みに近いから 言語自体はシンプルだけどコード書くのはそこそこ経験必要よ
655 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/15(月) 22:37:12.48 ID:ScNC+Izw0.net] ゲームで使うのはいけないけど 楽しく学べるから一番上達が早いのよね (´・ω・`)
656 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/15(月) 22:42:37.20 ID:6/AzYlfK0.net] >ゲームで使うのはいけないけど どういうこと?
657 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/15(月) 23:01:56.67 ID:TntgXZj60.net] ゲームマクロ使用がいけないことであるっていう常識が無い奴がいるのは戦慄を覚えるね
658 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/15(月) 23:08:31.27 ID:6/AzYlfK0.net] ソフトが良くてゲームがいけない意味が分からん 最近もパズドラ攻略機械組んでる動画みてただすげえって思ったけど もともとゲーム内にプログラム要素あるのもあるし
659 名前:imi mailto:sage [2016/02/15(月) 23:11:18.16 ID:Et+z3L6S0.net] 君規約とか一切読まないタイプ?
660 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/15(月) 23:12:37.28 ID:ZQ5I0KNy0.net] オフゲなら好きに汁オンゲなら垢バンされても泣かない ここはマクロの善悪を語る場ではないので
661 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/15(月) 23:12:46.12 ID:lRH39zN60.net] 利用規約違反になるので本来公言するもんじゃないのよ だからゲームのためのノウハウ教えてと言われると供与できない 建前でゲームじゃないフリしてろ
662 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/15(月) 23:15:05.33
] [ここ壊れてます]
663 名前: ID:6/AzYlfK0.net mailto: あんまり読まないけどマクロ禁止とか書いてあるんか そういうのって一定ジャンルのみとか一部じゃないの [] [ここ壊れてます]