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


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

自動化ツールuwsc使いよ集まれ5



1 名前:名無しさん@お腹いっぱい。 [2009/12/09(水) 05:27:33 ID:J1DL1P1U0]
Windowsを自動化させるツールUWSC。
www.uwsc.info/

uwsc使いのみなさま、マターリ己のスクリプトを晒しましょ。

500 名前:498 mailto:sage [2010/06/12(土) 16:28:35 ID:1g6XM8MfP]
そうではなくて、子ウィンドウのタイトルが分からない場合はどうすれば・・・

501 名前:横レス mailto:sage [2010/06/12(土) 17:52:51 ID:o26Fnx3o0]
>>500
>タイトルの一部分だけでもOK
これでだめならGETALLWINで存在する全ウインドウのIDとってから消去法
またはなんらかのWIN32API(知らないけど探せばあるんじゃね?)でハンドル取得してHNDTOID

502 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/06/12(土) 18:45:49 ID:5Y2bRnnp0]
参考になるか分からんが、ぴたすちおを使えば子ウィンドウ情報がみえる

503 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/06/12(土) 20:19:26 ID:e7naQunBP]
//こういう事?
def_dll GetWindow(hWnd,long):long:user32.dll
GW_HWNDNEXT = 2
GW_CHILD = 5

uCmd = GW_CHILD

p_id = getid("親")

while true
  c_h = GetWindow(idtohnd(p_id), uCmd)
  if c_h = 0 then break
  
  p_id = hndtoid(c_h)
  uCmd = GW_HWNDNEXT
  
  msgbox( status(p_id, ST_TITLE) )
wend

504 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/06/13(日) 08:48:23 ID:c9kd9eBN0]
>>486
うんこ発見装置を授けよう


うんこ ="1 5 10 18 25 37 56 58 68 74 81 97 99"
for i = 1 to 100
if pos(i,うんこ) > 0 then print i+"に うんこ発見"
next

505 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/06/13(日) 09:55:53 ID:fmHGMG6r0]
>>504
それ、致命的に駄目だろw

506 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/06/13(日) 11:23:05 ID:c9kd9eBN0]
>>505
=0 に変更すれば処理したくないiの条件になるが何がダメなんだ?
理由を書いてくれ


507 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/06/13(日) 11:47:08 ID:o9NSeFNt0]
>>506
自分で書いたのにためしに動作させてないのか?
一回動作させて、プリントログよく見てみろよ。1〜9まで全部条件に引っかかってるだろ。

508 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/06/13(日) 12:05:28 ID:86pvNGkL0]
簡単な方法として、正規表現使えるようにすればいけるな



509 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/06/13(日) 12:07:17 ID:86pvNGkL0]
ほかには、文字の前後にゴミつけて区切りをはっきりさせればいける

510 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/06/13(日) 15:49:17 ID:c9kd9eBN0]
そうだったすっかりわすれてた悪いな
これでいけるだろ

うんこ =" 1 5 10 18 25 37 56 58 68 74 81 97 99 "

for i = 1 to 100
if pos(" "+i+" ",うんこ) > 0 then print i+"に うんこ発見"
next

511 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/06/13(日) 16:31:53 ID:lV2bpcq40]
TOKEN() と連想配列でやってみた

DIM うんこ = "1 5 10 18 25 37 56 58 68 74 81 97 99"

HASHTBL hash
DIM str = うんこ

WHILE LENGTH(str)
  hash[TOKEN(" ", str, TRUE)] = TRUE
WEND

DIM i

FOR i=1 TO 100
  IF hash[i] THEN PRINT i+"に うんこ発見"
NEXT

512 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/06/13(日) 18:09:26 ID:Q8xDlz5x0]
なるほど。
ハッシュテーブルならパターンが2次元配列で大量にあったとしてもすぐに発見できるね。


513 名前:名無しさん@お腹いっぱい。 [2010/06/13(日) 18:28:57 ID:M6ZVIcE70]
UWSCを使っていて、パスが通っていないのが使いにくい。
CALL文や、ライブラリファイルを別フォルダにした場合、等。

ディレクトリ検索と、よく使うファイルのパスを登録したファイルとそれを使うスクリプトを作って、
CALLやいくつかの変数(プログラムファイル名等)はそれを経由するようにするとか
出来ないことはないけど(CALLとか作る)、
シンプルとはいえ、結構素人が作っていいのか本格的な感じになる。

みなさんはどうしているの? ひょっとしてどなたかが作ったのがありますか?

514 名前:513 [2010/06/13(日) 18:31:58 ID:M6ZVIcE70]
>>513
すいません。誤記。
× (CALLとか作る)
○ (CALL2とか作る)

CALL2みたいな新しいprocedureを作ってそこからCALLを呼ぶ、という意味にしたかった。。。

515 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/06/13(日) 21:06:35 ID:E/dbXkmj0]
>>511
変数strの参照部全部変数うんこだろw

516 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/06/13(日) 21:48:07 ID:lV2bpcq40]
>>515
参照部とは?

TOKEN() は第二引数を破壊するので
うんこに配慮して、うんこの値をコピーした str を渡しました

517 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/06/13(日) 21:53:05 ID:E/dbXkmj0]
>>516
ああごめん。ちっと勘違いしてたわ。

518 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/06/14(月) 16:34:31 ID:A4WmwryV0]
ifb iegetdata(ie, true, "yes", "はい") > 0
iesetdata(ie, true, "yes", "はい")
sleep(0.5)
else
break
endif
iesetdata(ie, true, "yes", "確認")

これ、もう少し纏まりませんか。主に1.2行目・・・
アンケサイトで「はい/いいえ」で確認ボタン出るまで押すって奴なんですが



519 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/06/14(月) 17:02:01 ID:A4WmwryV0]
While iegetdata(ie, true, "yes", "はい") > 0
iesetdata(ie, true, "yes", "はい")
sleep(0.5)
wend
iesetdata(ie, true, "yes", "確認")

あれ、こうか・・・?

520 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/06/14(月) 17:32:38 ID:jt+/tNC/0]
そんなアンケートに価値はない

521 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/06/14(月) 20:43:35 ID:aNbH09Ww0]
ifb CHKIMG(IMG , -1 )
BTN(LEFT,DOWN,102,715,579)
BTN(LEFT,UP,180,411,641)
else
(ifbの所に戻りたい)
endif

この処理を作りたいのですがelseをどう書けば良いんでしょうか。
イメージ画像が発現するまで待機する様な文が書きたいです。
if以外でも良いのです。

522 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/06/14(月) 20:51:53 ID:aNbH09Ww0]
コンティニュー見つけました。
初心者ですみません。

523 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/06/15(火) 22:23:39 ID:Y3W88cOuP]
短髪の女の子?がセックスをしながら世界一周を目指すという成人誌を見たことがあるのですが、分かる人いますか?
たしか3年ぐらい前の漫画だったと思います

524 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/06/16(水) 01:11:20 ID:jeyh3hPj0]
どんな誤爆だよw

525 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/06/16(水) 13:04:10 ID:yLa0pynz0]
これは大胆な確信犯だな。

面白そうだから探してくるわw

526 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/06/16(水) 21:29:45 ID:Z1Itnvke0]
peekcolorを使ってB値だけを判定する方法を教えてください

527 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/06/16(水) 22:16:46 ID:nX9kgu9QP]
結果をmsgboxで表示すれば目視で判定できます
それとも「どのように」判定したいのか指定があるんですかね

528 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/06/16(水) 23:16:32 ID:6Hb0U1Mg0]
「記録」を使って、
作業に使うアプリをまとめて立ち上げたり、
新しいフォルダを生成したりする程度のヘタレた使用をしています

ヘルプを読んで起動オプションがあるのはわかりましたが

スクリプト実行、実行後はUWSC本体を起動したままにする場合
UWSC.exe /K スクリプト名
   ↑
この構文をどのように使えばいいのかがわかりません

例えば、こんな感じだと動きません
GETTIME()
HIDUKE = G_TIME_YY4 + G_TIME_MM2 + G_TIME_DD2
EXEC("NOTEPAD")
SENDSTR(GETID("無題"), HIDUKE + "<#CR>")
UWSC.exe /K 日時出力.UWS

おそらく単純すぎて目の前に答えがあるのに、答えが近すぎて逆に自分の視界に入ってない状態だと思います

ヒントだけでも教えていただければ・・・・orz



529 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/06/17(木) 03:11:51 ID:sncjYoBq0]
>>526
BってBGRのB?
(peekcolor(x,y) and $FF0000)/$10000
とか?

530 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/06/17(木) 06:51:29 ID:k9E1g4kJ0]
>>528
exec

531 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/06/17(木) 08:09:29 ID:RfIdECVBP]
>>528
ヘルプにある「その他項目」は文法の話じゃないよ

スクランブルのほうには書いてあるけど
コマンドプロンプトで起動する場合とかにパラメータを付ける話

532 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/06/17(木) 18:34:42 ID:Ff+fGhbK0]
ご教授願います。
以下のスクリプトを作ったのですが、再生すると
行目のIFBに対しENDIFが閉じられていないと出ます。
どこがダメなのか教えてください
WHILE TRUE
ifb GETID(GET_ACTIVE_WIN) = GETID("paper man") then
Ifb PeekColor(512,384) = $FFFF00 then
BTN(LEFT,CLICK)
Endif
Endif
sleep(0.02)
WEND

533 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/06/17(木) 18:47:12 ID:+CCij1w00]
>>532見た感じで適当なカキコすると
2行目のGETID条件の相方が変数or定数じゃないのが気に食わないんじゃね?

534 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/06/17(木) 18:48:19 ID:k9E1g4kJ0]
>>532
それで動いたのでどこが悪いか判りません。

…正直、ゲームチートっぽいのは歓迎したくないなぁ。

535 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/06/17(木) 18:50:44 ID:x399c/MH0]
チートじゃないだろ
カスが!発言に気をつけろ
次はないと思え

536 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/06/17(木) 18:56:59 ID:pUIHTkvJ0]
まぁ、チートでは無いわな。

ちなみにuwscは、ゲームで使ってこそ価値のある物だと思うw

537 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/06/17(木) 19:19:52 ID:qd5QGDw6i]
単純にゲームに対する不正だなw

538 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/06/17(木) 19:29:39 ID:sncjYoBq0]
ゲームに対する不正のどこがチートじゃないのかkwsk



539 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/06/17(木) 19:40:04 ID:ydiblUFW0]
チートの定義はクライアント内部からでしょ。
UWSCってローカルな情報で動くし。
よくわからん、やってる事は同じだなw

540 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/06/17(木) 20:44:42 ID:sncjYoBq0]
定義も何もチートはcheatでそのまんま「不正行為」って意味だろうに。
内部も外部も関係ないだろ。

541 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/06/17(木) 20:47:52 ID:pUIHTkvJ0]
直訳とゲーム用語だと少し違うんだよね。

542 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/06/17(木) 20:50:44 ID:k9E1g4kJ0]
>>541
チートを「不正」以外の言葉で使っている場面を見たことが無い。
どんな独自の用語なんだよw

543 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/06/17(木) 20:54:53 ID:pUIHTkvJ0]
めんどくさいなー。

同じ不正でも、"チート"と"操作の自動化"は違うのだ。
後は自分で調べてね。

544 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/06/17(木) 20:57:16 ID:l8wchoUV0]
操作の本来実装されている以外の方法での自動化が認められたゲームなんかあるのか?
俺ルールでこんくらいはおkって思ってるだけだろ

545 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/06/17(木) 20:57:56 ID:k9E1g4kJ0]
>>543
ま、結局不正なのは変わりないからなぁ…

546 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/06/17(木) 21:40:09 ID:RfIdECVBP]
不正行為の総称・・・チート
自分を正当化するための魔法の言葉・・・操作の自動化


確かに違うね

547 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/06/17(木) 21:58:48 ID:lFzqbv68O]
ん? 自動化も不正だぜw

確かに、データ改ざんの事をチートと呼ぶのが一般的かな。

548 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/06/17(木) 22:04:40 ID:SzGCTaJq0]
そもそも「ズル」のことをチートっていうのであってつまりマクロだろうがパケットいじろうがチートだと思うんだが



549 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/06/17(木) 22:28:29 ID:lFzqbv68O]
ネットで調べたけど、一応はコンピューター用語として載ってるな。
でも人によって認識のズレがあるみたい。
単純に区別しやすいようにチートとマクロを分けてるとも言えるし。

俺的結論。みんな正しいw

550 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/06/17(木) 22:34:10 ID:ydiblUFW0]
ゲームで語るか大きな意味で語るかの違いだな

551 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/06/17(木) 23:06:27 ID:x399c/MH0]
マクロのほうが的確
ゲーム見たらなんでもファミコンっていう親くらい違う

552 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/06/17(木) 23:41:31 ID:dSI3F+Sd0]
チートって聞いたらドラクエのHP999を思い出した。

553 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/06/17(木) 23:52:50 ID:jN7punls0]
そんなにネトゲの話題がしたければネトゲの板にマクロやスクリプトのスレ立てろよ
ここでネトゲの話題に反発してる連中もそこまで行って邪魔はしないだろうよ

554 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/06/18(金) 10:30:47 ID:RlvK9F450]
while true
ifb CHKIMG(IMG , -1 ) or CHKIMG(IMG7 , -1 ) ←ここ
break
endif
btn(right,click,800,250)
sleep(0.5)
mmv(900,333)
sleep(0.5)
mmv(1050,333)
sleep(1.0)
ifb CHKIMG(IMG6,-1)
mmv(G_IMG_X,G_IMG_Y)
btn(left,click,G_IMG_X,G_IMG_Y)
sleep(10.0)
endif
wend

最初のIMGが無いのにこの処理が終わってしまうのですが
どこか間違ってますか?

555 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/06/18(金) 13:17:56 ID:RlvK9F450]
別の文で解決しました
色を無視してるから何か引っかかってたのかも

556 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/06/20(日) 16:51:16 ID:iYsBGIJR0]
MapleStoryというゲームでピラミッドというサバイバルゲームがあり、それは敵がたくさん出てきてそれを倒し、14分で全てが終わる
ゲームなんですが、1分50秒ほど早く終わってしまいます。ピラミッドの低レベル版の9分で全てが終わるサバイバルゲームでは、
ほとんどずれずに繰り返しできたのですが、ピラミッドで時間をずれずにUWSCでするにはどうしたらいいでしょうか?

557 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/06/20(日) 18:29:19 ID:PoKuH6O30]
>>556
正確に行動するとか
時間やタイミングを合わせて行動するとかならここでもいいけど、
きっちり14分で敵を倒すやり方はゲームやキャラの詳細が分からないと答えようがないよ。

まずはきっちり14分で倒すやり方をメイポスレで聞いて来い。


558 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/06/20(日) 19:35:11 ID:l35pdc4w0]
ずれるって事は記録機能を使ってるんだろうけど
自分で作れば可能、色々なサイトを見て少し勉強したらすぐできる



559 名前:横レス mailto:sage [2010/06/20(日) 19:42:03 ID:1vSDRlXF0]
それも今のスクリプトの適当な場所にSLEEP(150)を挿入するだけっぽい

560 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/06/20(日) 20:40:13 ID:iYsBGIJR0]
>>557
レスありがとうございます!
ピラミッド自体は普通にやっても14分で終わるんですね。ステージが5つに分かれていて、
敵が沸いてきたのを倒して、ゲージが0にならなければ次のステージに進めて、14分ちょうどに終わるんです。
詳細は↓ここに書いてあります。
maplesonar.com/wiki/index.php?%E3%83%8D%E3%83%88%E3%81%AE%E3%83%94%E3%83%A9%E3%83%9F%E3%83%83%E3%83%89
マクロで実行すると1分50秒早く実行を完了して停止してしまうんです。残った1分50秒の間にゲージが0になってゲームオーバーに
なってしまいます。

>>558
いろいろなサイトを見て勉強してみたいと思います。

>>559
動作を止めているとゲージが0になってしまいます。



みなさんありがとうございます。もっと考えてみようと思います。

561 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/06/20(日) 21:23:06 ID:PoKuH6O30]
>>560
ACTゲージのMAX近くのドットをキャプチャ(PeekColor)して
赤っぽかったら数秒休む(Sleep(5))っていう処理を追加すればいい。
赤っぽいというのはRGB分解してRが128超えてたら赤っぽいということで。

そういう処理を一箇所に入れるだけで済むようにするには、全体の行動を一つのループに集約する方法がある。

もう一つの方法は、たとえばマウス、キーボードクリックをある関数経由にし、
その関数内で、実行しても良いか悪いか判断する。
その判断するフラグを別スレッドでループする監視処理。
そうすれば延々とキークリックを羅列していても1箇所書き換えるだけで済む。

関数名の変更はエディタの痴漢・・・もとい、チカン・・・・あれ?弛緩・・・
置換だ置換
それでやる。


562 名前:名無しさん@お腹いっぱい。 [2010/06/21(月) 20:42:32 ID:2HQccvy70]
>>473
やっぱりUWSCでもできるような単純な処理っぽい。
ttp://librahack.jp/okazaki-library-case/comparativetable.html
>朝日新聞「1回ボタンを押すだけで、1秒に1回程度の速度でアクセスを繰り返せるプログラムを作っていたという。」
>ローカル環境(Thinkpad+XAMPP【Webサーバー】)では、Eclipseの実行ボタンを押して、PHPスクリプトを実行していました。

ttp://librahack.jp/okazaki-library-case/comparativetable.html
>警察・マスコミ「HTTP500が発生した時刻を「停止日時」と表現。」

HTTP500 = 内部サーバーエラー

>朝日新聞:「ホームページの閲覧は21回停止されていた。」
>中日新聞:「計8回機能を停止させ、」
>読売新聞:「閲覧しにくい状態にさせ、」
>日経新聞:「21回にわたりHP閲覧をできないようにした。」
>毎日新聞:「サーバーを21回シャットダウンさせた疑いがある。」
>毎日新聞:「県警が25日に自宅を家宅捜索した際も自動アクセス中だったという。」

>ThinkpadのEclipse環境から、合計64,008回をリクエスト送信。
>家宅捜索のとき Thinkpad電源オフ。リクエストなし。


563 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/06/22(火) 16:15:11 ID:cUoPGlwu0]
>>556ですがピラミッドマクロできましたw
攻撃する動作を追加していくっていうアナログな方法で作れましたw


564 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/06/22(火) 20:18:25 ID:FiBTNy8s0]
ゲームマクロを作っていると気付く事になる。
あれ?めんどくさい処理を自動化してるんだよな?
なんでこんなめんどくさいゲームやってんだオレ

565 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/06/22(火) 20:23:28 ID:vfPNGvwL0]
自動化って仕事(PC操作)を減らしてくれるはずが、自動化がなければとてもやる気がしないようなことに手をつけてしまい
しかもそれがあとから考えて意味あっただろうかと思うような行為だったりもする
スクリプトを組み動作を検証し改良する、という行為そのものが娯楽なのだ、と思わなければまさに愚行だたな

566 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/06/22(火) 20:57:53 ID:C+CRCydp0]
uwscを覚えると、やるゲーム全てに対して
「これって自動化できるな」という目線で見てしまう。

567 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/06/22(火) 21:52:31 ID:q8DnHohU0]
仕事になると、そういう目線は結構重要。
そんな俺は業務的にUWSCを使いまくり。無ければ仕事量的に処理出来ない…

568 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/06/22(火) 22:49:31 ID:jmCKgS7q0]
業務でスクリプト書くとバグがあってそれに気づかなかった時が怖いんだよな…
発覚した時には遥か昔のデータまで遡って修正とか
楽してた分がカウンターとなって襲ってくる



569 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/06/22(火) 23:19:31 ID:q8DnHohU0]
>>568
正直、気を使うことは確かだね。
過去数回、過去に遡る経験をしたが、新しく発見・修正スクリプトを書いて過去データを直したw

テキストエディタとヘルプ程度…+その問題が軽度である事前の注意力と幸運…が有れば、
その場でサクサクとスクリプト自体を直せるのは強み。 …臨機応変とはこの事か、と。

一般的なスクリプト言語と比べて、実行にスクリプト本体とuwsc.exeで可搬性が高いのはいいと思うよ。
WSHとは比べ辛いが、業務としてEXE化できるのはありがたかった。
…EXE化の利点って隠蔽化の外には、単体でスクリプトに対してD&Dが可能になる、って点が大きい。

570 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/06/25(金) 23:50:53 ID:NEYBETTk0]
peekcolorでピクセル単位で場所を指定して監視するのではなく、
画面全体を監視する方法ありませんか?
色で判定を出したいです。

571 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/06/26(土) 01:07:04 ID:lUJoxFiZ0]
>>570
チェックイメージを使うかピークカラーを画面全体行えば良いと思います

572 名前:名無しさん@お腹いっぱい。 [2010/06/26(土) 03:24:32 ID:iR+AoK580]
てて

573 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/06/26(土) 06:44:01 ID:YCZ3L8nQ0]
絶対やっちゃいけないとまではいわないけど、Peekcolorを画面全体でまわすなんて駄目ですよ。
ためしにやったら1回のスキャンで58秒かかりました。

ほかのコンパイラ型言語でDLL関数でも書けばいいと思うけど、
それが無理ならhsp3っていうスクリプトを呼び出して処理するのがいいんじゃないかな。

ttp://fs-cgi-basic01.freespace.jp/~hsp/ver3/hsp3.cgi?print+200604/06060040.txt
ここでhsp3の性能について語られています。
同じようにUWSCでテストしてみました。
数値の足し算が100万回で11秒 (HSP3の50倍)
文字列の連結が100万回で11秒 (HSP3の10倍未満)
peekcolor1280*1024に至っては58秒かかりました。(HSPの140倍)

もちろん僕のCPUは時代遅れなPenMですが、記事が書かれたのが僕がパソコンを購入してから1年後なので、
性能があちらが上だとしてもせいぜい2倍どまりでしょう。

画面をキャプチャするpeekcolorと、メモリをスキャンするpeekで比較したのは公平ではないかもしれませんが、
ドットをスキャンする方法がそれぞれ違うのでこれで比較するのが妥当だと思います。

文字列操作を多用するなら一桁しか違わないといえるので、hspを覚えなおすところまでは必要ないと思います。
しかし、計算速度が重要な画像処理をUWSCでやるのはさすがにナンセンスです。
UWSCでゲーム操作をやれるのは組み込みの検索関数があるからですよ。

HSP3を使うとして、言語は覚えなおさないといけませんが、せっかく覚えたUWSCの知識やスクリプトを無駄にすることはありません。
DLLランタイム経由で呼び出すことが可能です。

PC等 [ソフトウェア] “自動化ツールuwsc使いよ集まれ4”
ttp://pc12.2ch.net/test/read.cgi/software/1235990960/621

Googleのキャッシュにあります。
ttp://www.google.co.jp/search?hl=ja&source=hp&q=uwsc+_hspexec

574 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/06/26(土) 08:40:26 ID:XkryZ5iqi]
質問です。
AquesTalkのdllをロードしてwavファイルを出力したいのですが

///構文 unsigned char * AquesTalk_Synthe(const char *koe, int iSpeed, int *size)
///引数
///koe 音声記号列
///iSpeed 発話速度[%] 50-300 の間で指定 デフォルト:100 値を大きく設定するほど、速くなる
///size 生成した音声データのサイズが返る[byte](エラーの場合はエラーコードが返る)
///戻り値 WAVフォーマットのデータ(内部で領域確保、解放は呼び出し側でAquesTalk_FreeWave()で
///行う)の先頭アドレスを返す。エラー時は、NULL を返す。このときsize にエラーコードが設定さ
///れる。

DEF_DLL AquesTalk_Synthe(string, int): string: AquesTalk.dll
DEF_DLL AquesTalk_FreeWave(string): : AquesTalk.dll
sp=50
str="こんにちわ。"
fp = fopen("AquesTalk.wav", F_WRITE);
wav=AquesTalk_Synthe(str, sp)
FPUT(fp, wav)
fclose(fp)
AquesTalk_FreeWave(wav)

戻り値がデータへの先頭アドレスで帰されるので出力したwavファイルの中身は "RIFF4`" とwavファイルの
ヘッダの先頭部分のみになってしまいます。こういうアドレスの先頭・ポインタで戻り値が返された場合、
実体ののデータを取得するにはUWSCではどう記述するのか教えてください。


dllのロード自体がの記述が間違っているかもしれませんが、wavファイルを出力しない↓のコードでは問題なくできました。
DEF_DLL AquesTalkDa_PlaySync(string,int): int: AquesTalkDa.dll
sp=50
str="こんにちわ。"
AquesTalkDa_PlaySync(str,sp)

575 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/06/26(土) 09:57:52 ID:YCZ3L8nQ0]
>>574
ポインタで受け取ったら、実体をコピーすればいいです。

> VB.net
> Declare Function lstrcpy Lib "kernel32.dll" (ByVal lpString1 As String, ByVal lpString2 As Integer) As Integer

UWSC
DEF_DLL lstrcpyA(string, Long): Long: kernel32.dll
DEF_DLL lstrlenA(string): Long: kernel32.dll

ここで文字列を格納する場所の確保が必要です。
できればstrlenAで文字列の長さを調べ、その長さのバッファを確保したほうがいいんですけど・・・
とりあえず空白文字列を代入で確保しかないです。
好きな長さにするには文字列連結回数で調整ですね。

wav = AquesTalk_Synthe(str1, sp)
str2 = "                              " //この長さを超えるとメモリが壊れる。
lstrcpyA(str2, wav)
FPUT(fp, str2)

ところで、.wav ファイルを開いているようですが、UWSCはテキストファイルしか扱えません。
仮に音声データでないとしたら、間違って再生してしまうような拡張子はやめるべきです。

メモリ破壊を防ぐには、lstrcpynA() 関数を使い、コピーする長さを限定します。
n = (str2とwavの短いほうを選択して代入)
lstrcpynA(str2, wav, n)


576 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/06/26(土) 23:49:22 ID:IdkQBLMFi]
>>575
返事を忘れてました。申し訳ない。
書かれているように記述して実行してみたのですが、str2の内容が変わらずに出力されてしまいます。
色々試していたのですがどうも思うようにいきません。

>UWSCはテキストファイルしか扱えません
これは知りませんでした。
fputで出力するデータがテキスト形式ではなく、バイナリデータなので上手くいかないのかもしれませんが
もうちょっと自分の方で試してみます。レスサンクスでした。

577 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/06/27(日) 07:46:07 ID:iMo1l0nA0]
>>576
すいません。
参照渡しが必要でした。

× DEF_DLL lstrcpyA(string, Long): Long: kernel32.dll
○ DEF_DLL lstrcpyA(var string, Long): Long: kernel32.dll

コピー元の方はvar なしでもいいんですけど・・・var がないとconst扱いなのかも。
DEF_DLL lstrcpyA(var string, string): Long: kernel32.dll


やっぱりバイナリデータですか。
UWSCでもポインタとして受け取ることはできているので、WindowsAPIを使ってファイルに保存することは可能でしょう。
しかし、CreateFileA、WriteFile、CloseHandle などの関数のほか、それぞれの引数も結構あるので大変です。
HSP関連には解説があるようですが・・・
ttp://yokohama.cool.ne.jp/chokuto/urawaza/fileaccess.html

やっぱりSaveFileFromURL()みたいに一発で保存できる関数が欲しいところですね。
LightWave3Dとかいうやつだとバッファをファイルに保存するプラグインというのがあるようで・・・


メモ:
FileSystemObject はテキストデータのみ。


578 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/06/27(日) 07:48:07 ID:iMo1l0nA0]
>>576
AquesTalk2ならAqTk2Appっていうツールがありますね。
UWSC的にはこのツールを自動操縦するのが趣旨にあってると思います。




579 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/06/27(日) 08:49:30 ID:ozy0IIj4i]
>>577
あーやっぱ結構API関数たくさん使わないと無理ですか。ボチボチやってみます。dd。

>>578
以前にUWSCでSAPI関数使ってsapi5の音声エンジンを使って割と簡単にできたし、他のエンジンもCOMオブジェクトから
簡単にできたから、AquesTalkもできるかなと思ってやってみたんですけど失敗。
 現在、半ば意地になってるのと、ついでにちょっとした勉強のつもりでやってるだけで、特にスクリプトを書いてどうこうしよう
と考えてるわけじゃないんです。でも情報d。


580 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/06/29(火) 06:26:49 ID:wrNX1tM50]
ファイルに名前をつけて保存の時に、ファイルの種類がHTMLとかになってて、
flvとして保存しようとしても"〜.flv.htm"みたいに二重に拡張子がついてしまう。
ファイルの種類をいじるのもいいけどそれはめんどくさい。
保存するファイル名をダブルクォーテーションで括ってしまえば余分な拡張子はつかなくなる。

それはいいとして、今まで保存したファイルの拡張子を除去するのはめんどくさい。
ファイル名の一部に".flv"を含んだものを探すのもいいけど、
DOSでワイルドカード指定しようとしても.flvはファイル名に含まれてしまう。

UWSCで引数のファイル名を処理するのも考えたけど、実行形式にしないと受け取れないようなことがかかれてたような。
で、バッチファイルで何とかやりました。
割と簡単に記述できるんですね。

:loop
rename %1 "%~n1"
shift
if %1=="" goto end
goto loop
:end


581 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/06/29(火) 20:22:17 ID:m65QeqbN0]
よかったね^^

582 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/06/29(火) 21:33:15 ID:fJb2X/gCP]
たまにこういう超一方的なレスあるけど何なの?
他人にどういう反応を求めているの?

単純に不快にさせたいんだろうか

583 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/06/29(火) 21:52:26 ID:Qc35Lc290]
過疎板や専門板だとよくあることだ
相手にするな

584 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/06/29(火) 22:06:48 ID:usZ+cNtA0]
オナニーですから

585 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/06/29(火) 23:12:57 ID:wrNX1tM50]
なんで不快になるのか分からないな。
「名前をつけて保存」に関する質問なんてしょっちゅうされてる。

とりあえずダウンロードしてからまとめてリネームすることもあるんだけど
名前が統一ルールならワイルドカード使ってコマンド1行で済むものを
拡張子を削ることができないためにいちいちバッチファイルでリネームするしかなかったので
そういうツールなどないかなあと思ったら拡張子削るだけで金を取るようなソフトしかなくて
いろいろ考えた末にいいものができた。
同じ悩みを持つ人はいるだろうし、自分のメモ代わりにもなるし、短くて邪魔にならないし応用も利くし、
何より話題がなくて過疎ってるから書いてるんだけど。

応用といえば有償版を買うメリットにドラッグ&ドロップをあげてる人いたよね。
DOSのバッチファイルで受け取ってスクリプトに渡せば有償版使わなくても済むことになるわけで、
ユーザーにしてみればお得だし・・・


別件をついでに書いておくけど、他のソフトとの連携がらみでイベントドリブンにできないかなあと考えてる。
>>573に書いたようにUWSCはなかなか遅いので、イベントドリブンにできればより快適に使えるんじゃないかと。
普通にDLL関数のように呼び出して実行が終わるまでとまっているって言うのもひとつの手だけど、
・・・いや、それが一番いい手かもしれない。
さっきまではOCX作ってOLEEVENT()で動かすのを考えていたけど、とにかくめんどくさい。
ただでさえIEをOLEEVENT()で動かそうとしてエラーでまくりでどう使えばいいんか分からなかったりするけど、
DLL関数として呼び出すならそういう問題は起きないはずだ。
DLL関数がコールバック関数を作ってメッセージループする・・実行ファイルを同期オプションつけてEXEC()するみたいな動作をすればいい。
取りあえず画面つきDLLを実行してイベント待ち関数を呼び出せばいいかな?
問題はどんなイベントをどんな渡し方するかだが・・
なんかめんどくさ
どんなソフトからも連携できるようにしようと思ったらやっぱり実行ファイルの呼び出しだけど、
・・・ああ、めんどくさい。
やっぱりファイルの存在チェックをループして具体的な処理はファイルの中に書くのが手軽だ。
テキストファイルはコマンドラインでも作れるし連携しやすいし。

586 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/06/29(火) 23:53:55 ID:mAsbzwiX0]
自己完結している文を省けばすっきりするし読み易い

587 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/06/30(水) 00:01:11 ID:FGgZ44ac0]
お前さんはペイントで物事が解決したら、
わざわざフォトショスレに報告するのかと。


588 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/06/30(水) 00:43:22 ID:cQDwcNUMP]
何を不快と思われているかすら理解できていないのか・・・
そこから説明しよう

>なんで不快になるのか分からないな。
>「名前をつけて保存」に関する質問なんてしょっちゅうされてる。

お前のはお前自身が解決しているから既に質問じゃない
単なる日記だ

しかもダラダラ長いだけで読む人の事を完全に無視した超超一方的な内容
>>585をよーく見てみろよ



589 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/06/30(水) 02:18:34 ID:E6/1yF7a0]
よくわからんけどファイルのリネームくらいならUWSCでもできるんじゃない?

590 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/06/30(水) 02:25:37 ID:yk18Gni00]
>>589
UWSCでもファイルのリネームくらいならどの道DOS使うのが普通なんだけど、
問題はそのファイル名の受け渡しなんだよ。
Inputで多分ファイルパスの受付はできると思うけど、普通はひとつしか受け取らないもんだ。

>>587
そりゃそうだよ。
フォトショは起動に時間がかかるから、ペイントでちょちょいとできることはペイントにやらせるでしょ。
ペイントでもできるけどこんな大変だったよって場合は「やっぱりフォトショがあってよかったね」って話になるんじゃね?

フォトショ使ってる人って結構ペイントのこと知らないよね。


あとね、四則演算するときも俺はエクセルとか使わずにメモ帳と電卓を使うよ。
表計算の欠点は計算式が見えないことだね。
eval使えばいいかもしれないけど。

電卓なら「=」までをメモ帳に書いて電卓にコピペで計算できる。
1024*768*32/8/1024/1024=

もーちょっと複雑な計算に対応してくれたら便利なんだけど。

HDDで何ギガの制限とか言うときもこんな感じで電卓にこぴぺ
HDD容量は単位が違うからね。
128*1024*1024*1024/1000/1000/1000=

まあGoogle電卓がもーちょっと便利だけどね。
*じゃなくてxが使えるし単位とか入ってると分かりやすいし
128x1024^3/(1000^3)=
128x2^(10x3)/1000^3=
230km/17L=

591 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/06/30(水) 03:25:13 ID:E6/1yF7a0]
よくわからんけどUWSCは電卓ソフトではないと思うの

592 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/06/30(水) 07:47:56 ID:w+UAShhg0]
chkimgで画像の検索を左上から右下へではなく、右下から左上へ検索をかけていく方法はありますでしょうか?

593 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/06/30(水) 08:55:27 ID:WYppQ4gN0]
探査順で言えば、無いと思う。


求めているものとは違うかもしれないが
帰ってきた個数でfor文まわして、ステップを-1で逆順からやるぐらいかなぁ。


594 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/06/30(水) 13:14:19 ID:w+UAShhg0]
なるほど、探査順では無理なのですか
ありがとうございます!

595 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/06/30(水) 13:55:13 ID:L+4kKGni0]
>>585
> なんで不快になるのか

他人のオナニーが快いのは変態以外の何ものでもないですから

596 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/07/01(木) 20:10:04 ID:OXLrb3Fu0]
>>595 おい!お前!
他人(女)のオナニー見て興奮するオレに謝れ!
お前だってどうせYouTubeとかですぐ「オナニー」とかって検索するくせに!

597 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/07/01(木) 21:36:50 ID:JQqovf560]
uwsファイル、またはexe化したuwsを起動時に引数を与えてselect case文にそれを適用するという方法はあるでしょうか?
そのまま起動したらデフォルト
~.exe -1 でcase1の動作
~.exe -2 でcase2の動作といった具合です。


598 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/07/01(木) 22:20:08 ID:qiUbeCCI0]
>>597
param_str[]を使う

select param_str[0]
  case -1
    print "hoge"
    sleep(5)
  case -2
    print "fuga"
    sleep(5)
  default
    print "piyo"
    sleep(5)
selend



599 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/07/02(金) 06:31:01 ID:c3owuz6h0]
これの言語ってなにになるの?

600 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/07/02(金) 07:30:17 ID:HelCeMPk0]
uwsc。

601 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/07/03(土) 02:18:17 ID:LoG5i7vT0]
webページに表示中の画像を全部保存するために

Temporary Internet Files内のjpgファイルを消去
指定URLをリロードして再表示
Temporary Internet Files内のjpgファイルを、指定URL名のフォルダをつくってそこにコピー

と、やれば表示中の画像は保存できるはずだ、と、ここまで考えたが
同じ目的のフリーソフトはぐぐれば簡単に出てきたので、UWSCで作るのはやめたのであった

602 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/07/03(土) 20:47:52 ID:I61lA7zx0]
>>601
Temporary Internet Filesいじらなくてもどっかのフォルダに名前をつけて保存(完全)する考えが出てこなかったのかと
やめたんならいいけどさ

603 名前:名無しさん@お腹いっぱい。 [2010/07/08(木) 09:32:33 ID:VGSbza+G0]
何回やってもうまくいかなかったので質問させていただきます。
検索しても見つけられませんでした。

コードを見てください。

ファイルの中身はcsv形式です。
fid=fopen(...
lins = FGet(fid, -1)
for i = 0 to lines
lin[i] = FGet(fid, i+1, 1)
lin[i] = FGet(fid, i+1, 2)
lin[i] = FGet(fid, i+1, 3)
...
next

としているのですが、これを簡略化できないでしょうか?
ご存じの方はご教授願います。

604 名前:名無しさん@お腹いっぱい。 [2010/07/08(木) 10:31:01 ID:VGSbza+G0]
>>603 です

やりたい事を書いてませんでした。

lin[0]=FGet(fid, i+1, 1)
lin[1]=FGet(fid, i+1, 2)
lin[2]=FGet(fid, i+1, 3)
...

これを、例えば
dim lin[]=FGet(fid, i+1)
とか
dim lin[7]=FGet(fid, i+1)
などの様にならないかなぁ〜と思っています。

もちろん、試したので上記の例えはNGと分かっています。

FOR の入れ子はちょっと・・・
同じようなこと試した方はいらっしゃいませんか?

605 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/07/08(木) 11:43:42 ID:OOcrcd230]
>>604
基本機能に無いので、関数化するとかの対応が必要だろう。
forの入れ子はしょうがない。

function str2Array(str, Var array[], splitter=",")
 //スプリットして、配列サイズ整えて、配列に格納して参照渡し、resultは個数あたりを返す
fend

あとは、配列のコピー、配列ソート(+反転)、ぐらいを作ると楽です。

606 名前:名無しさん@お腹いっぱい。 [2010/07/08(木) 21:57:01 ID:VGSbza+G0]
>>605
ご返答ありがとうございます。

やはり関数化するしかないですね。
基本機能にないものは作っていこうと思います。
ありがとうございました。

607 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/07/09(金) 16:06:17 ID:hX8OxlDV0]
自分用メモ

コマンドラインからのファイル圧縮
ttp://nasunoblog.blogspot.com/2007/07/blog-post.html

コマンドラインで操作できるプログラムは、そのアプリにキー入力を送ったりダイアログにファイル名を送ったりするより、コマンドライン操作したほうがスマートにいくね!

uwscで表記した場合、たとえばこんな感じ
exec("C:\Program Files\WinRAR\WinRAR.exe x C:\tst\ttt.zip *.* C:\tst\")

AutoHotKeyだとこうなる(待ちを入れるならrunをrunwait
run, C:\Program Files\WinRAR\WinRAR.exe x C:\tst\ttt.zip *.* C:\tst\

608 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/07/09(金) 17:39:08 ID:dT0oVw9f0]
すみません質問させてください

もし、aが60の時マウスを左クリックするという命令を作りたいのですがどう組めば良いでしょうか

a=0

while
sleep(1)
a+10
→このあたりにもしa=60の時クリックさせたいんです
continue
Wend



609 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/07/09(金) 17:41:01 ID:yIcWbCTj0]
>>608
添付のヘルプにif文の書き方が載ってるよ

610 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/07/09(金) 17:42:19 ID:dT0oVw9f0]
>>609
!!!
即レス感謝しますm(_ _)m

611 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/07/09(金) 17:58:06 ID:vOMsfoxV0]
>>608
a = a + 10
としないと加算されないよ
んで、60のときという条件だと1回しか実行しないのにずーっとループしてることになるね。
60になるごとに実行なら、60になったときに初期値に戻すか、
if a mod 60 <> 0 then
って、60で割り切れたら実行するような処理にしないと。


>>580のバッチはファイルが別ドライブだと動かなかった。
そこで、最初に処理するファイルの場所に移動する。
cd /dは、ドライブも移動するオプション。
判定する位置も間違っとったので修正。

cd /d "%~dp1"
:loop
if %1=="" goto end
rename %1 "%~n1"
shift
goto loop
:end


612 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/07/09(金) 19:19:11 ID:vOMsfoxV0]
ミス
バッチファイルは全角スペースを区切り文字として処理してしまうのでファイル名が壊れてしまっていた。

echo %1 >> log.txt
で確認。

半角スペースが入るファイル名の場合はダブルクォーテーションで括られているが、
半角スペースがないファイル名はダブルクォーテーションが付かない。
ところが、バッチファイルは全角スペースを区切り文字として見るのでファイル名が分割されて処理されてしまっていた。

UWSCから呼び出す場合は無条件にダブルクォーテーションをつければいいので問題ないが、
バッチファイルを直で呼ぶときにはそういう問題があるようだ。


613 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/07/09(金) 20:42:22 ID:yIcWbCTj0]
>>612
まぁ、ロングファイルネームを扱うときの鉄則だよな。

<#DBL>で挟むだけの関数とか作ってるわ

614 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/10(土) 15:47:58 ID:YsZsiaJ20]
他のスクリプトを組んでいて、設定した画像が出てきたときにその画像の一部をクリックしたいときには
どのようなスクリプトを組めばよいのでしょうか?

ifb CHKIMG("画像.bmp")

認識はこれでOKだと思うのですが、その後この画像のクリックが出来ません・・・
どなたかお願い致します。

615 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/10(土) 16:28:45 ID:ZGTswZRE0]
戻値
  有ればTRUE、無ければFALSE
  TRUE の場合は見つかった座標を特殊変数 G_IMG_X、 G_IMG_Y に格納  

// タスクトレイのアイコンを左クリック
Ifb CHKIMG("タスクトレイアイコン.BMP")
  BTN(LEFT, CLICK, G_IMG_X+5, G_IMG_Y+5)
Endif

616 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/10(土) 16:36:06 ID:YsZsiaJ20]
>>615
有り難うございます。
ちなみに+5というのはどういった意味合いを持つのでしょうか?
あともう一点なんですが、
連続して何回も画像認識をしたい場合は
Ifb CHKIMG("タスクトレイアイコン.BMP")
  BTN(LEFT, CLICK, G_IMG_X+5, G_IMG_Y+5)
Endif
これを複数回連続して使うことは不可能なのでしょうか?
何回も申し訳ありませんがお願いします。


617 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/10(土) 16:38:48 ID:YsZsiaJ20]
例です
ifb CHKIMG("Aー.BMP")
x=G_IMG_X
y=G_IMG_Y
BTN(LEFT, CLICK, x, y)
sleep(1)
endif
ifb CHKIMG("B.BMP")
x=G_IMG_X
y=G_IMG_Y
BTN(LEFT, CLICK, x, y)
sleep(1)
endif
ifb CHKIMG("C.BMP")
x=G_IMG_X
y=G_IMG_Y
BTN(LEFT, CLICK, x, y)
sleep(1)
endif
ifb CHKIMG("D.BMP")
x=G_IMG_X
y=G_IMG_Y
BTN(LEFT, CLICK, x, y)
sleep(1)
endif
これでは3つ目と4つ目が実行されません・・・

618 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/10(土) 17:00:17 ID:2HeapwD30]
>>617
無いからです

一つだけにしてみたり、状況によってドットが変わらないかのチェックは自分でしろよな。
画像チェックは、1ドットでも影が増して色が変わっただけでも反応しない。

試行錯誤は大切だ。



619 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/10(土) 18:58:34 ID:6eMuotW50]
>>611
> cd /dは、ドライブも移動するオプション。

pushd使えよ。
それに

> if %1=="" goto end

これじゃ%1が空の時
if =="" goto end
になってエラーで終わってるだけじゃん。
goto endが実行されて終わってるわけじゃないぞ。

620 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/10(土) 19:06:32 ID:6eMuotW50]
>>611
というかそもそもディレクトリの移動の必要が無いじゃないか。

:loop
if "%~1"=="" goto :eof
ren "%~1" "%~n1"
shift
goto :loop

これだけでいい。

621 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/10(土) 19:21:32 ID:2HeapwD30]
UWSCや他スクリプトでディレクトリ移動は正直使ったことがなかった
pushdを始めて知ったよ。ありがとう。

622 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/10(土) 19:38:28 ID:6eMuotW50]
UWSC単体でディレクトリ移動するコマンドってあるの?
いつも移動なしでフルパスかWScript.Shellを使うが…

623 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/10(土) 19:43:37 ID:2HeapwD30]
>>622
いや、カレントディレクトリの概念は、
GET_CUR_DIR やGET_UWSC_DIR以上は当然フルパスだし
俺も知らないし、使った事もない。

pushdを始めて知ったというだけだよ。

624 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/10(土) 20:23:54 ID:ZGTswZRE0]
>>619
あー、それでかあ。
"%1"とかすると展開されて"が二重についちゃうとか思って削ったんだけど、
:end以降のが処理されなくなってたんだよね。

「"」を削った上でつければよかったのか。


625 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/10(土) 22:49:50 ID:6eMuotW50]
1行で

for %%i in (%*) do ren "%~i" "%~ni"

とかいうのも面白いかもね。
%1 といった風に裸で使うのはほぼ無いと思う。
ファイルから取得した実際に存在するパスじゃなくても動作するから
パス関係はDOSが便利。こんなのでも切り分けてくれる。

@echo off
set t=c:\abc\def\ghi\jkl.mn
call :sub %t%
pause
goto :eof
:sub
echo %~d1
echo %~dp1
echo %~n1
echo %~x1

626 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/07/13(火) 23:15:48 ID:6gpdqLry0]
質問です

CHKIMG関数はあくまで画面上にbmp画像がある場合でしか判定してくれないのでしょうか
オプションの"IMG_MSK_BGR4"等で色幅をもたせればpng画像等も判別できるのだろうか
と思いやってみたところダメでした

ウィンドウに表示されたbmp以外の同じ絵を認識させる方法はないでしょうか

627 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/07/17(土) 21:49:05 ID:aJDaFmMW0]
mouseorg(id, 2)
peekcolor(x, y)
をやった場合、最前面の色情報を取得してしまいます。
idで指定したバックグラウンドのウインドウの色情報を取得するようには出来ませんか?

明後日の妹の誕生日に間に合わせたいです、よろしくお願いします

628 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/07/17(土) 22:42:17 ID:r0Wg8T9f0]
peekcolorは無理。以前掲示板上で出て作者自身が言ってた



629 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/07/18(日) 22:30:57 ID:91nLnL3t0]
>>628
そうですかー、やっぱバックグラウンドでLvあげるマクロは
そう簡単に作れそうにないですね
妹の誕生日プレゼントにと思いましたが他のにしたいと思います

630 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/07/18(日) 23:53:43 ID:FSifaFLVP]
Windowsで別アカウント作ってUWSCを動かしたまま
ユーザー切り替えって無理なの?


631 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/07/19(月) 00:34:53 ID:AuI5qRwh0]
>>630
画面がない状態だからキーもマウスも使えないけど、スクリプトは動き続けるかもしれない。

>>629
ゲームマクロなんてBANされる原因になるからそんなもんを誕生日プレゼントになんかしたら最悪だよ。
なんなら僕が初体験させてあげてもいいけどどうすか?

632 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/07/19(月) 14:52:45 ID:qP7LYzIv0]
マクロを動かす用のパソコンをプレゼントするんだ

633 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/07/19(月) 16:40:40 ID:o9pV2iSG0]
参考になるかわからんが
仮想PC上ならウインドウを最小化してもuwscは動き続ける。

634 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/07/20(火) 12:42:07 ID:1LNIKTZk0]
>>633
これ最強

635 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/07/20(火) 16:03:45 ID:2zhj0ynG0]
>>631
27歳ですが・・・

636 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/07/20(火) 22:02:28 ID:dQHSvRS20]
27歳なら、35歳の俺とry

ところで>>629ってのは、裏でレベルを上げながら
PCで他の作業がやりたいんだよね?

だったら仮想PCという答えが出てるじゃん。


637 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/07/20(火) 23:15:54 ID:reIAtfwA0]
妹の・・・・笑ったw

638 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/07/22(木) 08:59:39 ID:4ke08AvI0]
起動すると画面の解像度が変わってしまうゲームでCHECKIMG使いたいんですけど
画像をどうやって用意したらいいですかね
そのままスクショで保存したら大きさが違うせいか認識してくれないんです



639 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/07/22(木) 09:59:14 ID:xl2JwDzx0]
すくしょはJPG圧縮するから色が変わる。
色を見ないオプションをつけるか最初からBMPで保存する設定にしないと。

640 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/07/22(木) 12:22:02 ID:4ke08AvI0]
>>639

641 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/07/22(木) 12:23:57 ID:4ke08AvI0]
↑ミスです

>>639
色が変わってしまうんですか
設定変えてもう一度試してみます
ありがとうございました


642 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/07/22(木) 12:37:17 ID:d8nqc9kb0]
>>641ゲーム内のスクリーンショットよりプリントスクリーンで画像を保存して使ったほうがいいよ。


643 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/07/22(木) 12:39:04 ID:d8nqc9kb0]
途中で送信おしちまった。

どんなゲームかはわからないけど、設定を「低」とかにして、1ドット分だけ切り抜いて検索させるといい。

644 名前:638 mailto:sage [2010/07/23(金) 10:19:34 ID:WAhk26IS0]
>>642-643
なるほど試してみます
ありがとうございます

645 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/07/25(日) 03:13:10 ID:aOCpJXAw0]
メモ帳を起動させ、将棋の棋譜をコピペ
ALT+F →Aで名前を付けて保存

ファイル名を"kifu201007250245.txt"のような日付タイプにしたいので
KBD入力とGETTIMEを組み合わせてなんとか・・・

ここまでは、あまりスマートではないのでしょうが
初心者なりに満足はしています。


問題は保存先の指定が出来ずに悩んでいます。
何か良い方法はありませんでしょうか?

ファイル名をフルパスにしたりもしましたが、
たまに変なところに保存されてしまいますorz

646 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/07/25(日) 03:28:49 ID:7XlcaHq80]
>>645
フルパス名をダブルクォーテーションでくくる。


ファイル名は文字列変数で編集したらSendTextで送るだけでいいよ。
KBDはいらないし、GetTimeをどう使ってるか知らないけどやらない方がいい。

でも、ダイアログを出さないやり方の方がすばやくできるよ。
FOPEN()とかでまずファイルを作る。
ファイルはすぐ閉じる。
ファイル名はすでについているので、そのファイルを開く。
メモ帳にコピペ
SCKEY(ID,Ctrl,S)みたいな感じで上書き保存。


647 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/07/25(日) 05:40:17 ID:aOCpJXAw0]
>>646
ありがとうございました^^
イメージしていなかった方法で、私に出来るか不安でしたが
キーワードをいくつか出してくれたので、何とかなりそうです

保存場所を指定した時間軸付きのファイルも1〜2行で作れちゃうもんだったんですね^^;

648 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/07/26(月) 13:04:20 ID:k4CO6xIK0]
下記のサイトに紹介されてたカナン(ブラウザゲーム)での狩りを試してみましたがうまくいきません・・・
uwscにmobのフォルダ作ってmob画像.bmp入れたのですが・・・
何がいけないのでしょうか?

ttp://uenomemo.blog31.fc2.com/blog-entry-451.html#more
ttp://blog-imgs-44-origin.fc2.com/u/e/n/uenomemo/mincana.txt



649 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/07/26(月) 13:35:11 ID:BhA2wW+40]
そのサイトで聞いてください

650 名前:648 mailto:sage [2010/07/26(月) 15:21:52 ID:k4CO6xIK0]
お騒がせして申し訳ありませんでした。
どうやら画像ファイルの作り方が悪かったみたいです。
無事動きました。


651 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/07/27(火) 19:47:07 ID:WMMGgM0X0]
繰り返しについて・・・
for 回数 = 1 to 10
          ↑
10の部分をランダムにしたいんですが
0と1じゃ駄目なんで、2〜10等に変わる感じにしたいです
よろしくおながないしますm(_ _)m

652 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/07/27(火) 21:13:18 ID:4sN4iz/W0]
意味不明

653 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/07/27(火) 21:20:06 ID:4sN4iz/W0]
もしかして random(9)+2 とかいうレベルの話だったんかな?

654 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/07/28(水) 08:45:39 ID:mZiLqyDj0]
>>953
トンクス
ちょうど自己解決したところだったんだが
最初(8)に+2で10になると思ってたら0も含めた8なのな・・・^^


655 名前:名無しさん@お腹いっぱい。 [2010/07/31(土) 19:02:04 ID:d6UOCQyK0]
今日無料のをダウンロードしました。

エクセルやデスクトップでは問題なく使えるのですが、
IE上では保存時に『保存すべきデータがない』と警告されます。

何が原因なのでしょうか?
ご教授お願いします。


656 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/07/31(土) 20:46:18 ID:Ew6RvKel0]
>>655
Web上のコントロールは見た目は同じだけど、Windowsの標準コントロールを使ってるわけじゃなくて
IEの内部で動かしているだけ。
仕組みが違うので標準の記録ツールでは記録できない。

有料版のRecIEで記録すればちゃんと記録できて保存もできる。


657 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/08/01(日) 21:56:15 ID:vShdqIJrP]
Firefoxで、サイト上のフォーム名を指定して文字列を入力ってできない?
ググってもIEのことばっかりで・・・
sendstrだとちょっと使い勝手が悪くて・・・

658 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/08/01(日) 22:37:32 ID:btdI04e30]
>>657
WinHttp.WinHttpRequest.5.1 や Msxml2.ServerXMLHTTP
とかはマジでお勧め。

ブラウザ依存しない代わりに、HTTPの仕様やPOSTやGETの仕様を学ばねばならぬがな。



659 名前:横レス mailto:sage [2010/08/02(月) 18:44:59 ID:JJ+XL60D0]
>>658
そこら辺の足回りはIEと共通なような?漏れはそのままIEリモート操作使う

660 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/08/02(月) 19:14:20 ID:Cipvvh8p0]
>>657
なんで”FireFoxで”なのかなとか思ったけど、いろいろアドオンが使えるんだね。
まとめてダウンロードとかするのかな?

UWSCでFireFoxはちょっと現実的じゃないよ。


661 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/08/03(火) 01:30:02 ID:1JFEwvbwP]
アドレスバーにjavascript:のURIを書き込んで実行すればいい






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

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

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