10/07/09 17:58:06 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:名無しさん@お腹いっぱい。
10/07/09 19:19:11 vOMsfoxV0
ミス
バッチファイルは全角スペースを区切り文字として処理してしまうのでファイル名が壊れてしまっていた。
echo %1 >> log.txt
で確認。
半角スペースが入るファイル名の場合はダブルクォーテーションで括られているが、
半角スペースがないファイル名はダブルクォーテーションが付かない。
ところが、バッチファイルは全角スペースを区切り文字として見るのでファイル名が分割されて処理されてしまっていた。
UWSCから呼び出す場合は無条件にダブルクォーテーションをつければいいので問題ないが、
バッチファイルを直で呼ぶときにはそういう問題があるようだ。
613:名無しさん@お腹いっぱい。
10/07/09 20:42:22 yIcWbCTj0
>>612
まぁ、ロングファイルネームを扱うときの鉄則だよな。
<#DBL>で挟むだけの関数とか作ってるわ
614:名無しさん@そうだ選挙に行こう
10/07/10 15:47:58 YsZsiaJ20
他のスクリプトを組んでいて、設定した画像が出てきたときにその画像の一部をクリックしたいときには
どのようなスクリプトを組めばよいのでしょうか?
ifb CHKIMG("画像.bmp")
認識はこれでOKだと思うのですが、その後この画像のクリックが出来ません・・・
どなたかお願い致します。
615:名無しさん@そうだ選挙に行こう
10/07/10 16:28:45 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:名無しさん@そうだ選挙に行こう
10/07/10 16:36:06 YsZsiaJ20
>>615
有り難うございます。
ちなみに+5というのはどういった意味合いを持つのでしょうか?
あともう一点なんですが、
連続して何回も画像認識をしたい場合は
Ifb CHKIMG("タスクトレイアイコン.BMP")
BTN(LEFT, CLICK, G_IMG_X+5, G_IMG_Y+5)
Endif
これを複数回連続して使うことは不可能なのでしょうか?
何回も申し訳ありませんがお願いします。
617:名無しさん@そうだ選挙に行こう
10/07/10 16:38:48 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:名無しさん@そうだ選挙に行こう
10/07/10 17:00:17 2HeapwD30
>>617
無いからです
一つだけにしてみたり、状況によってドットが変わらないかのチェックは自分でしろよな。
画像チェックは、1ドットでも影が増して色が変わっただけでも反応しない。
試行錯誤は大切だ。
619:名無しさん@そうだ選挙に行こう
10/07/10 18:58:34 6eMuotW50
>>611
> cd /dは、ドライブも移動するオプション。
pushd使えよ。
それに
> if %1=="" goto end
これじゃ%1が空の時
if =="" goto end
になってエラーで終わってるだけじゃん。
goto endが実行されて終わってるわけじゃないぞ。
620:名無しさん@そうだ選挙に行こう
10/07/10 19:06:32 6eMuotW50
>>611
というかそもそもディレクトリの移動の必要が無いじゃないか。
:loop
if "%~1"=="" goto :eof
ren "%~1" "%~n1"
shift
goto :loop
これだけでいい。
621:名無しさん@そうだ選挙に行こう
10/07/10 19:21:32 2HeapwD30
UWSCや他スクリプトでディレクトリ移動は正直使ったことがなかった
pushdを始めて知ったよ。ありがとう。
622:名無しさん@そうだ選挙に行こう
10/07/10 19:38:28 6eMuotW50
UWSC単体でディレクトリ移動するコマンドってあるの?
いつも移動なしでフルパスかWScript.Shellを使うが…
623:名無しさん@そうだ選挙に行こう
10/07/10 19:43:37 2HeapwD30
>>622
いや、カレントディレクトリの概念は、
GET_CUR_DIR やGET_UWSC_DIR以上は当然フルパスだし
俺も知らないし、使った事もない。
pushdを始めて知ったというだけだよ。
624:名無しさん@そうだ選挙に行こう
10/07/10 20:23:54 ZGTswZRE0
>>619
あー、それでかあ。
"%1"とかすると展開されて"が二重についちゃうとか思って削ったんだけど、
:end以降のが処理されなくなってたんだよね。
「"」を削った上でつければよかったのか。
625:名無しさん@そうだ選挙に行こう
10/07/10 22:49:50 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:名無しさん@お腹いっぱい。
10/07/13 23:15:48 6gpdqLry0
質問です
CHKIMG関数はあくまで画面上にbmp画像がある場合でしか判定してくれないのでしょうか
オプションの"IMG_MSK_BGR4"等で色幅をもたせればpng画像等も判別できるのだろうか
と思いやってみたところダメでした
ウィンドウに表示されたbmp以外の同じ絵を認識させる方法はないでしょうか
627:名無しさん@お腹いっぱい。
10/07/17 21:49:05 aJDaFmMW0
mouseorg(id, 2)
peekcolor(x, y)
をやった場合、最前面の色情報を取得してしまいます。
idで指定したバックグラウンドのウインドウの色情報を取得するようには出来ませんか?
明後日の妹の誕生日に間に合わせたいです、よろしくお願いします
628:名無しさん@お腹いっぱい。
10/07/17 22:42:17 r0Wg8T9f0
peekcolorは無理。以前掲示板上で出て作者自身が言ってた
629:名無しさん@お腹いっぱい。
10/07/18 22:30:57 91nLnL3t0
>>628
そうですかー、やっぱバックグラウンドでLvあげるマクロは
そう簡単に作れそうにないですね
妹の誕生日プレゼントにと思いましたが他のにしたいと思います
630:名無しさん@お腹いっぱい。
10/07/18 23:53:43 FSifaFLVP
Windowsで別アカウント作ってUWSCを動かしたまま
ユーザー切り替えって無理なの?
631:名無しさん@お腹いっぱい。
10/07/19 00:34:53 AuI5qRwh0
>>630
画面がない状態だからキーもマウスも使えないけど、スクリプトは動き続けるかもしれない。
>>629
ゲームマクロなんてBANされる原因になるからそんなもんを誕生日プレゼントになんかしたら最悪だよ。
なんなら僕が初体験させてあげてもいいけどどうすか?
632:名無しさん@お腹いっぱい。
10/07/19 14:52:45 qP7LYzIv0
マクロを動かす用のパソコンをプレゼントするんだ
633:名無しさん@お腹いっぱい。
10/07/19 16:40:40 o9pV2iSG0
参考になるかわからんが
仮想PC上ならウインドウを最小化してもuwscは動き続ける。
634:名無しさん@お腹いっぱい。
10/07/20 12:42:07 1LNIKTZk0
>>633
これ最強
635:名無しさん@お腹いっぱい。
10/07/20 16:03:45 2zhj0ynG0
>>631
27歳ですが・・・
636:名無しさん@お腹いっぱい。
10/07/20 22:02:28 dQHSvRS20
27歳なら、35歳の俺とry
ところで>>629ってのは、裏でレベルを上げながら
PCで他の作業がやりたいんだよね?
だったら仮想PCという答えが出てるじゃん。
637:名無しさん@お腹いっぱい。
10/07/20 23:15:54 reIAtfwA0
妹の・・・・笑ったw
638:名無しさん@お腹いっぱい。
10/07/22 08:59:39 4ke08AvI0
起動すると画面の解像度が変わってしまうゲームでCHECKIMG使いたいんですけど
画像をどうやって用意したらいいですかね
そのままスクショで保存したら大きさが違うせいか認識してくれないんです
639:名無しさん@お腹いっぱい。
10/07/22 09:59:14 xl2JwDzx0
すくしょはJPG圧縮するから色が変わる。
色を見ないオプションをつけるか最初からBMPで保存する設定にしないと。
640:名無しさん@お腹いっぱい。
10/07/22 12:22:02 4ke08AvI0
>>639
641:名無しさん@お腹いっぱい。
10/07/22 12:23:57 4ke08AvI0
↑ミスです
>>639
色が変わってしまうんですか
設定変えてもう一度試してみます
ありがとうございました
642:名無しさん@お腹いっぱい。
10/07/22 12:37:17 d8nqc9kb0
>>641ゲーム内のスクリーンショットよりプリントスクリーンで画像を保存して使ったほうがいいよ。
643:名無しさん@お腹いっぱい。
10/07/22 12:39:04 d8nqc9kb0
途中で送信おしちまった。
どんなゲームかはわからないけど、設定を「低」とかにして、1ドット分だけ切り抜いて検索させるといい。
644:638
10/07/23 10:19:34 WAhk26IS0
>>642-643
なるほど試してみます
ありがとうございます
645:名無しさん@お腹いっぱい。
10/07/25 03:13:10 aOCpJXAw0
メモ帳を起動させ、将棋の棋譜をコピペ
ALT+F →Aで名前を付けて保存
ファイル名を"kifu201007250245.txt"のような日付タイプにしたいので
KBD入力とGETTIMEを組み合わせてなんとか・・・
ここまでは、あまりスマートではないのでしょうが
初心者なりに満足はしています。
問題は保存先の指定が出来ずに悩んでいます。
何か良い方法はありませんでしょうか?
ファイル名をフルパスにしたりもしましたが、
たまに変なところに保存されてしまいますorz
646:名無しさん@お腹いっぱい。
10/07/25 03:28:49 7XlcaHq80
>>645
フルパス名をダブルクォーテーションでくくる。
ファイル名は文字列変数で編集したらSendTextで送るだけでいいよ。
KBDはいらないし、GetTimeをどう使ってるか知らないけどやらない方がいい。
でも、ダイアログを出さないやり方の方がすばやくできるよ。
FOPEN()とかでまずファイルを作る。
ファイルはすぐ閉じる。
ファイル名はすでについているので、そのファイルを開く。
メモ帳にコピペ
SCKEY(ID,Ctrl,S)みたいな感じで上書き保存。
647:名無しさん@お腹いっぱい。
10/07/25 05:40:17 aOCpJXAw0
>>646
ありがとうございました^^
イメージしていなかった方法で、私に出来るか不安でしたが
キーワードをいくつか出してくれたので、何とかなりそうです
保存場所を指定した時間軸付きのファイルも1~2行で作れちゃうもんだったんですね^^;
648:名無しさん@お腹いっぱい。
10/07/26 13:04:20 k4CO6xIK0
下記のサイトに紹介されてたカナン(ブラウザゲーム)での狩りを試してみましたがうまくいきません・・・
uwscにmobのフォルダ作ってmob画像.bmp入れたのですが・・・
何がいけないのでしょうか?
URLリンク(uenomemo.blog31.fc2.com)
URLリンク(blog-imgs-44-origin.fc2.com)
649:名無しさん@お腹いっぱい。
10/07/26 13:35:11 BhA2wW+40
そのサイトで聞いてください
650:648
10/07/26 15:21:52 k4CO6xIK0
お騒がせして申し訳ありませんでした。
どうやら画像ファイルの作り方が悪かったみたいです。
無事動きました。
651:名無しさん@お腹いっぱい。
10/07/27 19:47:07 WMMGgM0X0
繰り返しについて・・・
for 回数 = 1 to 10
↑
10の部分をランダムにしたいんですが
0と1じゃ駄目なんで、2~10等に変わる感じにしたいです
よろしくおながないしますm(_ _)m
652:名無しさん@お腹いっぱい。
10/07/27 21:13:18 4sN4iz/W0
意味不明
653:名無しさん@お腹いっぱい。
10/07/27 21:20:06 4sN4iz/W0
もしかして random(9)+2 とかいうレベルの話だったんかな?
654:名無しさん@お腹いっぱい。
10/07/28 08:45:39 mZiLqyDj0
>>953
トンクス
ちょうど自己解決したところだったんだが
最初(8)に+2で10になると思ってたら0も含めた8なのな・・・^^
655:名無しさん@お腹いっぱい。
10/07/31 19:02:04 d6UOCQyK0
今日無料のをダウンロードしました。
エクセルやデスクトップでは問題なく使えるのですが、
IE上では保存時に『保存すべきデータがない』と警告されます。
何が原因なのでしょうか?
ご教授お願いします。
656:名無しさん@お腹いっぱい。
10/07/31 20:46:18 Ew6RvKel0
>>655
Web上のコントロールは見た目は同じだけど、Windowsの標準コントロールを使ってるわけじゃなくて
IEの内部で動かしているだけ。
仕組みが違うので標準の記録ツールでは記録できない。
有料版のRecIEで記録すればちゃんと記録できて保存もできる。
657:名無しさん@お腹いっぱい。
10/08/01 21:56:15 vShdqIJrP
Firefoxで、サイト上のフォーム名を指定して文字列を入力ってできない?
ググってもIEのことばっかりで・・・
sendstrだとちょっと使い勝手が悪くて・・・
658:名無しさん@お腹いっぱい。
10/08/01 22:37:32 btdI04e30
>>657
WinHttp.WinHttpRequest.5.1 や Msxml2.ServerXMLHTTP
とかはマジでお勧め。
ブラウザ依存しない代わりに、HTTPの仕様やPOSTやGETの仕様を学ばねばならぬがな。
659:横レス
10/08/02 18:44:59 JJ+XL60D0
>>658
そこら辺の足回りはIEと共通なような?漏れはそのままIEリモート操作使う
660:名無しさん@お腹いっぱい。
10/08/02 19:14:20 Cipvvh8p0
>>657
なんで”FireFoxで”なのかなとか思ったけど、いろいろアドオンが使えるんだね。
まとめてダウンロードとかするのかな?
UWSCでFireFoxはちょっと現実的じゃないよ。
661:名無しさん@お腹いっぱい。
10/08/03 01:30:02 1JFEwvbwP
アドレスバーにjavascript:のURIを書き込んで実行すればいい
662:名無しさん@お腹いっぱい。
10/08/06 14:40:58 JYrNWcDP0
uwscシェアウェアに金払うよりAHKやAutoITのほうが高度なことできるし無料なのに
uwscを使う人は何故uwscを選択したのですか?
663:名無しさん@お腹いっぱい。
10/08/06 14:57:16 W74hQXM80
freeのしか使わんが、日本語環境向けに作ってない奴は
とかく日本語を扱った時の問題が多くて面倒。
高度なことをやるならC#とか行った方がいいしな。
664:名無しさん@お腹いっぱい。
10/08/06 19:37:23 8YuvCzWC0
>日本語環境向けに作ってない奴は
>とかく日本語を扱った時の問題が多くて面倒。
え?
665:名無しさん@お腹いっぱい。
10/08/06 19:42:51 pDR/fTRv0
ヘルプ(上級者もリファレンス的に使ったりすると思われる)は
母国語のほうがやっぱり楽というのもある
666:名無しさん@お腹いっぱい。
10/08/06 23:01:41 tW5dfjBO0
Shift-JISの扱いは面倒だな。
あとUWSCは最初からターゲットウィンドウのハンドル使ってたが
AHKやAU3は基本はアクティブウィンドウが対象だったし。
667:名無しさん@お腹いっぱい。
10/08/06 23:14:10 c6pCZ1eU0
uwscは処理が遅いけどゲーム用スクリプト書くと厨房がHPにアクセスしてくれるんでそれだけでやってます
本業はAC TOOLだけどね
668:名無しさん@お腹いっぱい。
10/08/07 00:20:53 9TXxC+F+0
IEを自動操作するには 6,720円払わないといけないの?
無料で手に入れる方法ない?
669:名無しさん@お腹いっぱい。
10/08/07 00:23:06 EtXi5Akg0
本業としてUWSCを使いまくってしまっているなぁ。
業務アプリを外部から自動操作するのに凄く役立ってる。手動操作しか考えてないアプリのなんと多い事よ。
世に言われる一般言語で、ctrlwin, getitem, clkitem, getstr, sendstr の処理って出来る?
.netFrameWorkあたりでサクサク出来るなら試してみたいわ。
670:名無しさん@お腹いっぱい。
10/08/07 01:12:04 9EzTUoPY0
>>669
スパイツール使ってコントロールIDを取得すれば標準APIのPeekMessage()とかでコントロールできるよ。
文字列の受け渡しはちょい面倒かも。
671:名無しさん@お腹いっぱい。
10/08/07 02:42:05 gkyQg9vD0
>>669
WSH、VBS
672:名無しさん@お腹いっぱい。
10/08/07 10:27:33 N0HExwAC0
>>668
COMが使えるソフトならできる
AHKとAutoITは無料でできる
673:名無しさん@お腹いっぱい。
10/08/07 10:38:48 YAKDDRNt0
仕事で客に頼まれて作る事ので入れてるけどプライベートは使い物にならない
しょぼいツールに金払ってる情弱がバカに見えて仕方がない
674:名無しさん@お腹いっぱい。
10/08/07 12:07:09 uQIZNZs70
なんで管理人以外の人が
>ココは「UWSC」の掲示板ですので、ルールを守り、UWSC特有の質問や、バグ報告などをピンポイントで交わすのが主だと考えています。
って決め付けるんだろう。質問が気に入らないならパスワード制掲示板でも作ってもらえよ
RE:エクセルデータでの比較分岐 Liners
質問がオウム返しなので、プログラミングの基礎を学んでいただく必要がありそうですね。残念ながらココは、プログラミングの基礎を質問する場ではないと考えています。
ココは「UWSC」の掲示板ですので、ルールを守り、UWSC特有の質問や、バグ報告などをピンポイントで交わすのが主だと考えています。
例えば、
Call マクロ1
// id の取得方法が分らない。
if id = 前回 then Call マクロ2
前回 = id
としたが、id の取得方法と繰り返しが分らないなど。
675:名無しさん@お腹いっぱい。
10/08/07 12:17:48 RxyiB9bA0
・シェアウェアにしないとEXE化もできない
・記録ツールがIE限定。しかもシェアウェアのみ(笑)
・処理速度が遅い・不安定・実行結果があまり信用できないのでシビアな処理には向いてない
・他のツールでは出来る事が出来ない
・ライセンス販売しててもサポートが適当・ユーザー層も親切な人がほとんどいないので自分で解決する能力がないと厳しい
・早いうちに他に移住したほうが良い
・海外ツールより全ての面で劣るのにライセンス6720円というボッタクリ
今は海外ツールでも日本語化ヘルプとかあるから乗り換えは楽だぞ
676:名無しさん@お腹いっぱい。
10/08/07 13:26:22 35jcw7Oi0
>>675
> 今は海外ツールでも日本語化ヘルプとかあるから乗り換えは楽だぞ
日本語ヘルプが原語ヘルプと同レベルに充実してる海外ツール教えて。
677:名無しさん@お腹いっぱい。
10/08/07 13:34:25 35jcw7Oi0
そもそもこのスレの住人は乗り換える必要性そのものを感じてないと思うがな…
記録ツールなんぞ最初から使わんし。
自分のミス以外で不安定さなど感じたこと無いな
サポートなんかイラネ。ちゃんとしたヘルプありゃ自分で解決できるし。
逆にサポートが必要なヘルプ未整備なツールなんて論外だわ。
678:名無しさん@お腹いっぱい。
10/08/07 14:01:22 CH089CZh0
>>672
uwscでも無料でできるだろw
679:名無しさん@お腹いっぱい。
10/08/07 14:22:14 9EzTUoPY0
>>675
EXE化は便利だろうけど、生のスクリプトが残ってないと変更できないよね。EXEとソースのバージョン管理できる?
たとえば自動ログオンとかが基本的な使い方の一つになるけど、IDやパスワードはどこに保存する?
セキュリティがいらないならスクリプトに書いておけばいつでも確認できるし変更もできるよ。
複数のスクリプトを動かすのにEXE化してないといけないと考える人がいるかもしれないけど、
関連付け起動すれば複数同時起動できるし。
680:名無しさん@お腹いっぱい。
10/08/07 14:28:17 9EzTUoPY0
>>675
> 不安定・実行結果があまり信用できない
信用をどのレベルで考えるかによるけど、考慮してない動作をされればおかしくなるのは当然。
だけど、かなりの部分はマクロ的な処理を取り除けば対処できるよ。
> ユーザー層も親切な人がほとんどいない
規制食らって出てこれないこともあるけど、俺数年常駐してるんですけど。
だけど>>674みたいな質問を延々とされるとそりゃー拒否しますよ。
そういうのはまとめられたドキュメントを読んだほうが早いからね。
> ・他のツールでは出来る事が出来ない
むしろ逆で、フリーソフトでできないようなことをするために使うものですよ。
> ・海外ツールより全ての面で劣るのにライセンス6720円というボッタクリ
無料の機能だけで済ませばいいでしょ。
681:名無しさん@お腹いっぱい。
10/08/07 14:32:48 t9aVUOoRP
>>679
EXE化の目的はuwscを入れてない人の譲渡用とかなので
ちょっと論点がズレてるような
682:名無しさん@お腹いっぱい。
10/08/07 15:07:03 Y/K7lnXh0
>>680
>むしろ逆で、フリーソフトでできないようなことをするために使うものですよ。
お前は何を言ってるんだ
683:名無しさん@お腹いっぱい。
10/08/07 16:23:38 9EzTUoPY0
>>681
UWSCフリー版をセットで渡せばいいんじゃね?
で、メニューに
> start uwsc.exe 自作.uws
っていうコマンドを登録。
フリー版にない機能ってIERecとかの他にはエクセル操作のところですよね。
あ、フォームがあったか。
Pro版の機能を使う場合で配布が必要なら確かにEXE化が必要かも。
684:名無しさん@お腹いっぱい。
10/08/07 16:34:34 y0cjyvyY0
スクリプトにuwsc実行ファイルをセットで配布するのは禁止されてる訳だが・・・
685:名無しさん@お腹いっぱい。
10/08/07 17:29:24 m1KQHGT30
あれ、このソフトに金払ったっけ
思い出せないw
686:名無しさん@お腹いっぱい。
10/08/07 17:39:25 QlRiIcV00
ネット接続があれば本家から落とさせればいいかと
スクリプト配布にEXE化が必須なのはいまどき珍しいオフライン環境ぐらい
687:名無しさん@お腹いっぱい。
10/08/07 19:37:44 a+4o6aGY0
一昔前はuwscは確かに主流だった
今はuwscは初心者用な所に至った
流石にuwscが最強だと思って使い続けてる人は居ないと思うけど
688:名無しさん@お腹いっぱい。
10/08/07 21:24:38 WmmjjtAx0
uwsc程度の簡単なツールで公式掲示板で偉そうに回答してる人の気持ちが分からない
689:名無しさん@お腹いっぱい。
10/08/07 21:35:08 35jcw7Oi0
何でもかんでも偉そうだと勘違いしちゃう人の気持ちも分からんね。
何かコンプレックスでもあるのかしらん。
690:名無しさん@お腹いっぱい。
10/08/07 21:50:57 t9aVUOoRP
底辺プログラマは常に見下され、罵られる存在なんだよ
だからLinersとかいう人はプログラミング出来ない人を見つけては
偉そうにしている可哀想な人なんだ
あの掲示板はむしろ自己解決が出来ないプログラミング初心者のために
あるべきだと個人的には思うんだが
ヘルプを使いこなせる(はずの)人なら質問なんてそもそも不要なのだから
作者はLinersに注意を促したほうがいいよ
691:名無しさん@お腹いっぱい。
10/08/07 23:19:18 jc3OO7yP0
本日のLinersさんのIDはどれかな
692:名無しさん@お腹いっぱい。
10/08/07 23:22:41 jc3OO7yP0
偉そうな態度じゃないなら>>674みたいな上から目線の回答なんて事を書かないよね
693:名無しさん@お腹いっぱい。
10/08/09 17:07:20 C2Il1A6zO
初歩的な質問させて下さい。
数種類の画像(A.B.C.D)があり、そのいずれかがあった場合指定した動作を実行するにはどうすれば良いのでしょうか?
fb chking("A.bmp")
動作
endif
fb chking("B.bmp")
動作
endif
の様にするしかないのでしょうか?
694:名無しさん@お腹いっぱい。
10/08/09 18:22:46 vISs9FQW0
>>693
chkimg は座標を返すわけだけど、その座標を使うにはそういう書き方をするしかない。
ただ、どれかひとつあった場合に、とりあえずその一つだけ処理するということなら、
chkimg をまとめることで処理を一箇所だけに記述することができます。
関数化するのが普通だけど、break 2 というのが使えるのでそれを使って記述してみます。
while true
while true
ifb chking("A.bmp") then
break
else
break 2
endif
// "B.bmp" ~ "D.bmp"まで記述
wend
// 見つかった場合、break でここに飛ぶ
// ここに見つかった場合の処理を記述
wend
// 一つもなかった場合、break 2 でここに飛ぶ
695:名無しさん@お腹いっぱい。
10/08/09 18:29:56 vISs9FQW0
>>693
でも、処理をループの奥に記述すると分かりにくいですよね。そこで関数化してみます。
ifb MYchking("A.bmp", "B.bmp", "C.bmp", "D.bmp") then
【処理】
enfif
Function MYchking(Pic1, Pic2, Pic3, Pic4)
for i = 1 to 4
Pic = eval("Pic" + i)
ifb chking(Pic) then
result = true
exit
endif
next
result = false
exit
Fend
>>694との違いは、いずれかが見つかった場合に1度しか処理しないことです。
もし1~4の画像を順に調べたい場合はループする必要があります。
もちろん、MYchkingを繰り返し実行することで1~4の全てを処理しますが、
1の出現回数が多すぎる場合は2~4まで回ってこないということが起こりえます。
出現頻度の低いものを先にチェックすれば、効率は悪くなるものの、それ以後に回ってこないということはなくなるでしょうね。
その辺の調整は調べる対象次第になるでしょう。
696:名無しさん@お腹いっぱい。
10/08/09 18:39:48 C2Il1A6zO
>>694-695
詳しく教えていただき、ありがとうございます!
調整含め、早速試してみたいと思います。
697:名無しさん@お腹いっぱい。
10/08/10 04:30:14 tFoU40cT0
最近uwscを使い始めたのですが、
chkingで画像を探してクリックするように
web上のリンクor文字をクリックさせるコード的なものはあるのでしょうか?
お願いします。
698:名無しさん@お腹いっぱい。
10/08/10 04:59:34 HXshqRJz0
>>697
ret = IELINK(IE,"上記のページにジャンプしようとしています。問題ない場合はクリックしてください")
ところで、chkingではなくてchkimgです。
キーワードに色づけするエディタを使った方がいいと思います。
URLリンク(scripts.web.fc2.com)
699:名無しさん@お腹いっぱい。
10/08/10 10:59:44 tFoU40cT0
>>698
お早い回答ありがとうございます!
エディタはTerapadを使ってます。
700:横Terapad使い
10/08/10 17:16:16 CwYB52mM0
>>699
とりあえず表示-編集モード-VB使えば?BASIC基本構文が色分けされるだけでもだいぶ楽
CHKIMGとかのUWSC専用構文は色分けされないけど
もっと本格的にやりたきゃモード作るとか
701:693
10/08/11 19:37:03 fuFHgMGbO
再度質問させて下さい。
4種の座標
A(20.120)・B(30.130)・C(40.140)・D(50.150)
があり、A~Dの座標をランダムにクリックさせる場合にはどうすれば良いのでしょうか?
対象ウィンドウのサイズは800*640です。
また、クリック間隔は500ms程度にしようと考えています。
702:名無しさん@お腹いっぱい。
10/08/12 11:32:05 6HDVq6//0
dim a[]=1,2,3,4,5,6,7,8
r=random(4)*2
a[r]
a[r+1]
703:名無しさん@お腹いっぱい。
10/08/19 09:44:12 7ukdiQRxO
>>702
返信遅くなりました。
ありがとうございます!
704:名無しさん@お腹いっぱい。
10/08/20 18:06:08 IackKw990
PUBLIC clear_fuki = -1 // 消去する識別No.を指定する
FUKIDASI("main")
thread create_fuki(1, "aaaa", 100, 100) // スレッドにて吹出し生成
thread create_fuki(2, "bbbb", 200, 200)
thread create_fuki(3, "cccc", 300, 300)
sleep(3)
clear_fuki = 2 // bbbbbを消去
sleep(5)
// 吹出し生成 (pno=識別No.、msg=表示メッセージ、x,y=位置)
procedure create_fuki(pno, msg, x, y)
FUKIDASI(msg, x, y)
while clear_fuki<>pno; sleep(0.1); wend // 消去指定されるまで表示
Fend
公式のなんですけどこれで消さずに残すようにするにはどうすればいいですか?
705:名無しさん@お腹いっぱい。
10/08/20 18:36:15 83ayW7Fq0
>>704
むしろaaaa,bbbb,ccccを表示してbbbbだけ消す例
706:名無しさん@お腹いっぱい。
10/08/21 04:27:21 FTm8wpbq0
ネットゲームで画像を認識しようとしているのですが
用意したbmp画像をchkimgしても認識してくれません
プリントスクリーン(windowsにあるやつ)
ペイントにコピペ
24ビットマップで保存
の順に作業したのですがおかしいところはあるでしょうか
707:名無しさん@お腹いっぱい。
10/08/21 04:47:43 FTm8wpbq0
↑ペイントで開いた画像だけは認識してくれました
708:名無しさん@お腹いっぱい。
10/08/21 12:49:56 oobB5dF6i
>>706
気付かないレベルで1ドット色が変わってもだめ
動的に画像を作り出すゲームではよくある
709:名無しさん@お腹いっぱい。
10/08/21 12:52:53 sO6lLGskO
ifb CHKIMG(".bmp",-1)
endif
これで試してみては?
710:706
10/08/22 09:45:50 Y875/60n0
>>708,709
ありがとうございます
画像の用意のしかたはどうやら合ってるみたいでした
自分のPCの環境がおかしいのか
マウスを右か左クリックしているときだけ画像認証が行われることがわかりました
できれば普通に認証したいので原因など思い当たるふしがあったらアドバイスいただきたいです
OSはXPでゲーム自体はdxwndで窓化して表示しています
711:名無しさん@お腹いっぱい。
10/08/22 16:42:00 K7byzTQqP
ウィンドウ全体をキャプチャーしているのだったら、画像を切り抜いて小さくすれば(16x16とか)認識するかもしれない
もちろん切り抜く場所によって認識するか認識しないかは変わるので、良く考える
大きい画像の認識はそれなりに負荷がかかるのでいろんな意味でもキツいと思う
712:名無しさん@お腹いっぱい。
10/08/23 19:15:07 j1GIf4L/0
IE7のオプション設定を一発で変更したい。
フォントをClearTypeにし、フォントも1~2pt大きくして
IEを使用しているのですが、サイトによっては 、文字や写真が重なる
ときがあります。
その際は、デフォルトに戻す⇔再度設定 と切り替えたいのです。
具体的には
ツール→オプション→ユーザー補助→WEBページで使用されたフォント・サイズを使用しないにチェック
テンプレのURLで調べたのですが、"チェックする"はフォームでのものしかありませんでした。
713:名無しさん@お腹いっぱい。
10/08/24 13:04:18 oayi1Lr90
吹き出しで直線に近い道をゴールしてくれるのをつくりたいのですが
ifb chkimg("aka.bmp",0,1,1,2222,1000) then
a=G_IMG_X
b=G_IMG_Y
while true
ifb chkimg("siro.bmp",0,x+1,y,x+1,y) then
if x<a then x=x+1
else
endif
ifb chkimg("siro.bmp",0,x,y+1,x,y+1) then
if y<b then y=y+1
else
endif
ifb chkimg("siro.bmp",0,x-1,y,x-1,y) then
if y>b then y=y-1
else
endif
ifb chkimg("siro.bmp",0,x,y-1,x,y-1) then
if y>b then y=y-1
else
endif
print "<#CR>"+(200+x)+" "+(300+y)
wend
endif
これだと動いてくれません どうしたらいいですか
akaがゴールの色でsiroが通れる道の色です
714:名無しさん@お腹いっぱい。
10/08/24 13:06:05 oayi1Lr90
吹き出しはこの前の段階で出してスタート地点に移動しています
715:名無しさん@お腹いっぱい。
10/08/24 18:30:04 Wb+yA2C1i
>>712
ウィンドウ操作なら
タブキーで項目移動、スペースキーで項目反転が出来る
>>713
UWSCで出来ないことは無いと思うが
迷路探査アルゴリズム、でググって、考え方を理解しないと難しいだろう
716:名無しさん@お腹いっぱい。
10/08/26 00:13:14 wzBcZHfa0
712です。
>>715
ありがとうございます。
ただ、その前に オプション画面を出す方法が知りたかったのです。
717:名無しさん@お腹いっぱい。
10/08/26 08:10:07 +vvO52tv0
>>716
『インターネット オプション』のダイアログを出さずに
直にレジストリを書き換えて再読み込みさせたらいいんじゃね
実行する度に『Web ページで指定されたフォント サイズを使用しない』の
ON/OFF を切り替える例は以下
OPTION EXPLICIT
CONST HWND_BROADCAST = $ffff
CONST WM_SETTINGCHANGE = $1A
CONST SMTO_ABORTIFHUNG = $2
DEF_DLL SendMessageTimeoutA(hwnd, uint, long, uint, uint, VAR dword): long: user32.dll
DIM key = "HKCU\Software\Microsoft\Internet Explorer\Settings\Always Use My Font Size"
DIM wshshell = CREATEOLEOBJ("WScript.Shell")
DIM rsl
wshshell.RegWrite(key, !wshshell.RegRead(key), "REG_DWORD")
wshshell = NOTHING
SendMessageTimeoutA(HWND_BROADCAST, WM_SETTINGCHANGE, 0, "Software\Microsoft\Internet Explorer", SMTO_ABORTIFHUNG, 5000, rsl)
718:名無しさん@お腹いっぱい。
10/08/26 13:02:28 MdNPOjE70
質問させて下さい。
・画像A・Bが表示されたらクリックして終了。
・画像が60秒間表示されなかったら終了。
というスクリプトを作りました。
----------------------------------------
変数 = 0
while 変数 < 60
ifb CHKIMG("画像A.bmp")
BTN(LEFT, CLICK, G_IMG_X, G_IMG_Y)
変数 = 60
endif
ifb CHKIMG("画像B.bmp")
BTN(LEFT, CLICK, G_IMG_X, G_IMG_Y)
変数 = 60
endif
sleep(1)
変数 = 変数 + 1
wend
----------------------------------------
これでもちゃんと動くのですが満足してません。
※sleepとか変数を強引に60にするところとか
もっと美しく、そして応用が利く作り方はないでしょうか?
719:名無しさん@お腹いっぱい。
10/08/26 21:11:51 X8EPE0dEi
>>718
中断を表したいなら、breakに置き換えればいいだろ。ごく普通。
時間経過を表したいなら、時間取得をすればいい。関数はある。
抽象化したいという理想は何となく判るがね。
720:名無しさん@お腹いっぱい。
10/08/26 23:38:49 Pu7JT7nc0
ここは凄く勉強になるなぁ
721:名無しさん@お腹いっぱい。
10/08/28 08:38:47 oxztQxVg0
>>718
これも良く出来てると想う
722:名無しさん@お腹いっぱい。
10/08/29 05:36:14 9AX1wooV0
>>716
ありがとうございます。完璧です! まさに求めていた操作感です!
サイズに加え、フォントも変更しているので、
HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Settings\Always Use My Font Face
を追加したいのですが、これはむずかしいでしょうか。
現状、UWSファイルを2つ作って、2つを実行させるUWSを走らせています。
なんにせよ感謝です!!
723:名無しさん@お腹いっぱい。
10/08/29 08:02:00 2ohpKIfP0
>>722 こんな感じ?
OPTION EXPLICIT
CONST HWND_BROADCAST = $FFFF
CONST WM_SETTINGCHANGE = $1A
CONST SMTO_ABORTIFHUNG = $2
DEF_DLL SendMessageTimeoutA(hwnd, uint, long, uint, uint, VAR dword): long: user32.dll
DIM wshshell = CREATEOLEOBJ("WScript.Shell")
DIM rsl
toggle_ie_setting(wshshell, "Always Use My Font Face")
toggle_ie_setting(wshshell, "Always Use My Font Size")
wshshell = NOTHING
SendMessageTimeoutA(HWND_BROADCAST, WM_SETTINGCHANGE, 0, "Software\Microsoft\Internet Explorer", SMTO_ABORTIFHUNG, 5000, rsl)
PROCEDURE toggle_ie_setting(obj, name)
name = "HKCU\Software\Microsoft\Internet Explorer\Settings\" + name
obj.RegWrite(name, !obj.RegRead(name), "REG_DWORD")
FEND
724:名無しさん@お腹いっぱい。
10/08/29 09:19:42 9AX1wooV0
>>723
ありがとうございます。これで仕事の効率が確実にあがります!
ところで、こういった記述、全部ゼロから書いてるんですか?
だとしたらすごいです。
725:名無しさん@お腹いっぱい。
10/08/30 22:07:44 +01WMHHg0
>>718
これ、逆に
画像が表示されなかったらクリック
画像A・Bが表示されたら終了
にしたい場合、どうすりゃいい?簡単な事でできそうなんだがうまくいかん
726:名無しさん@お腹いっぱい。
10/08/30 23:34:46 cCQi0/eo0
>>725
while true
ifb CHKIMG("画像A.bmp") or CHKIMG("画像B.bmp")
break
else
BTN(LEFT, CLICK, X, Y)
endif
wend
こういうこと?
727:名無しさん@お腹いっぱい。
10/09/01 12:55:02 gZxFjlWw0
無料版の方を使ってますが
上位バージョン(有料版)ではどのような機能が追加されているのでしょうか?
728:名無しさん@お腹いっぱい。
10/09/01 14:32:51 mcbj3OJX0
アドバイスお願いします。
ESCキーで動作終了。
画面の座標・X400~420、Y400~420のうち
1ドットでも色の変化があった場合、座標400.400をクリックというようにしたいのですが
ESCで停止はできても、クリックが動作してくれません。
IFB Countが悪いのでしょうか?アドバイスお願い致します。
729:名無しさん@お腹いっぱい。
10/09/01 14:34:17 mcbj3OJX0
// 画面サイズ
CONST X_MAX = G_SCREEN_W
CONST Y_MAX = G_SCREEN_H
DIM OldColor[X_MAX][Y_MAX];
// X座標変化範囲を指定
CONST X_START = 400
CONST X_END = 420
// Y座標変化範囲を指定
CONST Y_START = 400
CONST Y_END = 420
Total = ((X_END - X_START) + 1) * ((Y_END - Y_START) + 1)
// 起動時の指定範囲の色を得る
FOR x = X_START to X_END
FOR y = Y_START to Y_END
OldColor[x][y] = PEEKCOLOR( x, y ) // 座標(x,y)の色を得る
NEXT
NEXT
730:729続き
10/09/01 14:38:13 mcbj3OJX0
WHILE True
if GETKEYSTATE(VK_ESC) then exit // ESCキーを押すと終了させる
Count = 0
// 起動後の指定範囲の色を得て、変化をチェックする
FOR x = X_START to X_END
FOR y = Y_START to Y_END
NewColor = PEEKCOLOR( x, y )
// 変化あり?
IFB NewColor <> OldColor[x][y]
Count = Count + 1
ENDIF
NEXT
NEXT
// 指定範囲の1色が変化
IFB Count = 1
ENDIF
WEND
BTN(LEFT,CLICK,400,400)
731:名無しさん@お腹いっぱい。
10/09/01 17:30:48 61+r90Q20
色違い判定したところでループ抜けないとダメ
// 指定範囲の1色が変化
IFB Count = 1
BREAK
ENDIF
WEND
BTN(LEFT,CLICK,400,400)
732:729
10/09/01 21:08:10 mcbj3OJX0
>>731
ありがとうございます。BREAKは思いつかなかったです。
やってみましたが、反応しませんでした。
IFB Count = 1 の1を、total にして、全ドット箇所の色を変えたら反応しました。
やはり数値は使えないんでしょうか・・・
733:名無しさん@お腹いっぱい。
10/09/01 21:09:04 XX3BJheM0
色の変化が1ピクセル”だけ”の時は動くけどそれ以上だと
count=1はfalseになったままでNGだろ。
ifb count>0
break
あるいは
734:名無しさん@お腹いっぱい。
10/09/01 21:14:02 XX3BJheM0
書いてる途中で送信してしまった
ifb count>0
break
endif
あるいは見つかった段階でbrek
IFB NewColor <> OldColor[x][y]
break 3
ENDIF
もしくは最初にsaveimgで指定範囲をbmpで取得して
以後chkimgで見つからなければbreakとか。
735:名無しさん@お腹いっぱい。
10/09/02 16:26:42 LYfMKHgu0
有料と無料の違いを3行でおねがい
736:名無しさん@お腹いっぱい。
10/09/02 20:43:28 rUWrE0cY0
・ EXE化ツールが付属しています。(EXE化後は単体での実行が可能であり、ライセンスフリーにて配布できます)
・ IE(Web)用記録ツールが付属しています。(Web上の動作をUWSCのスクリプトとして記録する事ができます)
・ HTMLを利用した画面関数が使えます。 ・ EXCELシート用関数が使えます。 ・ デバッガが付属しています。
737:729
10/09/02 21:41:38 I3CZuiar0
>>734
ありがとうございます。だいぶ理想的な動作をするようになってきました。
まだ全然理解できてないとよくわかったので、またヘルプを読みこんでみます
738:名無しさん@お腹いっぱい。
10/09/07 17:34:36 yyBP3/0p0
Twitterクライアントを作っていますが。OAuth対応で、
DEF_DLLで下記にある、OAuthLib.dllを利用しようとしていますが、どうしてもうまく行きません。
URLリンク(oauthlib.codeplex.com)
C#のソースとかはあるけど、C#分からないし……
BSMTP.DLL(BASP21)のように言語依存があったりするのでしょうか。
739:名無しさん@お腹いっぱい。
10/09/08 12:51:19 h0eA5K/vi
>>738
正直DLLは鬼門だと思う。
該当DLLを使ったことがなければまず何も答えられない。
そして、貴方が何でどうダメだったのかも解らないので
レスもつけられないスパイラル。