自動化ツールuwsc使いよ集まれ5at SOFTWARE
自動化ツールuwsc使いよ集まれ5 - 暇つぶし2ch231:名無しさん@お腹いっぱい。
10/03/08 14:41:27 LRrJZmuF0
IE7のリンクをクリックした時に出るエラーダイアログを自動で閉じたいんですが

ifb GETID("Windows Internet Explorer","#32770") > -1
  //ダイアログを閉じる処理をする
endif

としてるんですが、このときエラーダイアログがでていないとGETIDでかなり時間を取られます。
エラーダイアログが表示されているかどうかの判定で良い方法はありますか?


232:名無しさん@お腹いっぱい。
10/03/08 15:19:30 8gw+l4vY0
>>231
>>97 で使ってる
> GetWindow( H, GW_ENABLEDPOPUP )

COMは多分止まってるからIEオブジェクトは使えないので、
あらかじめH = IE.HWNDとしてハンドルを保存しておく。
GetWindow()でダイアログが表示されていればハンドルが取得できる。
ただし、ポップアップウィンドウにはサブメニューとかツールチップも含まれるので、
Status()で"#32770"かどうかをチェックする必要がある。

すべてのウィンドウをリストアップするのと違い、自分の子ウィンドウだけを見るAPIを直呼びするので高速。


233:名無しさん@お腹いっぱい。
10/03/08 17:11:16 LRrJZmuF0
>>232
アドバイスありがとうございます。
APIの使い方とかわからない素人で、
>>97のスクリプトを見てもよくわからないのでもう少々詳しく質問させてください。

 def_dll GetWindow(hWnd,long):long:user32.dll   //dllを呼び出せるように宣言
 Public GW_ENABLEDPOPUP = 6   // ポップアップウィンドウ

ここまではわかります。

>あらかじめH = IE.HWNDとしてハンドルを保存しておく。
これはどういう意味でしょうか?


おそらくスクリプトとしては

 ifb GetWindow( H, GW_ENABLEDPOPUP ) > 0
   //ダイアログを閉じる処理をする
 endif


こういう感じになるのですよね?


234:名無しさん@お腹いっぱい。
10/03/08 17:42:07 8gw+l4vY0
>>233
> H = IE.HWND
これはIEオブジェクトを管理するウィンドウのウィンドウハンドルです。
UWSCで言うIDのようなものですが、ウィンドウハンドルと言うのはWindowsのAPIで使うものです。
IDとウィンドウハンドルは「IE.HWND」で検索したら出てきますが、
ID = HNDToID(IE.HWND)
HWND = IDToHND(ID)
と言うように変換できます。

if ! IDToHND(ID) then exit
と言うように、IE窓が終了している場合に中断できるのでIDを保存しておくと便利です。

GetWindow()で使うときも
GetWindow( IDToHND(ID), GW_ENABLEDPOPUP ) とできるので、IDを保存しておいてもいいです。

>  ifb GetWindow( H, GW_ENABLEDPOPUP ) > 0
ハンドルは符号なし整数なので、この比較はしない方がいいでしょう。
負の整数と判断された場合に失敗します。
!が分かりにくいなら0 <> GetWindow() でもいいです。


235:名無しさん@お腹いっぱい。
10/03/08 19:25:04 LRrJZmuF0
>>234
ご丁寧にありがとうございます。
もう少々ググッて勉強してきます。
またよろしくお願いしますm(__)m

236:名無しさん@お腹いっぱい。
10/03/16 15:03:54 HiT6yWWl0
テキスト入力のやり方が分かりません教えてください

237:名無しさん@お腹いっぱい。
10/03/16 21:52:10 cI9JqU5P0
何を聞きたいのか分かりません教えてください

238:名無しさん@お腹いっぱい。
10/03/17 06:51:54 DkHyneUl0
windows7でuwscを通常通り動かす方法ありませんか

239:名無しさん@お腹いっぱい。
10/03/17 07:01:16 8KLxlRw70
UAC切れ

240:名無しさん@お腹いっぱい。
10/03/17 11:05:24 u/flnLmx0
>>238
普通にwin7で使ってます。
しかも64
64アプリを制御できなかったりしますが、ほぼ問題なし
==>IEは32,64両方入ってますから

241:名無しさん@お腹いっぱい。
10/03/17 23:14:19 j5IphMiE0
スクリプト入力補助、3文字ぐらいうったらあとの文字が自動でるようにしたい
んですけど、どうすればいいんですか?CLCLというのは使い方が意味がわからなかったです。

242:名無しさん@お腹いっぱい。
10/03/18 16:58:33 HTSNWkk9P
それをUWSCで作ればいいと思うよ

243:名無しさん@お腹いっぱい。
10/03/18 17:57:55 pleFRDKk0
>>241
xyzzy
+
ac-mode.l (URLリンク(white.s151.xrea.com))
+
uwsc-mode.l (URLリンク(big.tm.land.to))
でできる。

244:名無しさん@お腹いっぱい。
10/03/19 00:16:25 r6TwPwzy0
241です、回答ありがとうございます。そこまで教えられてるのにわからない自分がなさけないです.

uwsc-mode.lはsite-lispフォルダに、uwscはetcフォルダに入れてください。←ここまではわかる
siteinit.lとかに以下の文を追加してください。
; UWSC
(load-library "uwsc-mode")
(push '("\\.uws$" . uwsc-mode) *auto-mode-alist*)
↑意味ワカラン

245:名無しさん@お腹いっぱい。
10/03/19 00:40:50 ZI4R2SXH0
そうですか


246:名無しさん@お腹いっぱい。
10/03/19 01:34:35 rPEvvIJr0
>>244
URLリンク(xyzzy.s53.xrea.com)
あとは気合いと根性で

247:名無しさん@お腹いっぱい。
10/03/19 03:40:08 y7YOOYqA0
釣りじゃ無かったのかよ

248:名無しさん@お腹いっぱい。
10/03/20 18:31:49 B79HWejI0
241です
気合と根性で補完入力できるようになったんですが、そのファイルにしか適用
されないというか、ほかのファイル開いたときはまた補完されなくなっちゃうんですけど
入力して覚え直させないといけないんです。これじゃー意味ないです。

249:名無しさん@お腹いっぱい。
10/03/20 19:02:33 Ajn0jtpj0
あー、そうですか。

250:名無しさん@お腹いっぱい。
10/03/21 23:22:41 FxCOzvKn0

while true
ifb getkeystate(VK_X) then
sleep(0.3)
endif

ifb getkeystate(VK_UP) then
sleep(1)
endif

ifb getkeystate(VK_G) then
KBD(VK_DOWN,DOWN,40)
KBD(VK_DOWN,UP,40)
KBD(VK_DOWN,DOWN,40)
KBD(VK_DOWN,UP,40)
KBD(VK_X,CLICK,10)
sleep(1)
KBD(VK_DELETE,CLICK,100)
endif
KBD(VK_F,CLICK,50)
wend

これだとVK_Gのときに最初の処理がスルーされることが
あります。最初というのはダウンアップとXキーのことです。


しかもそれが大体ですがひとつおきになります。
何が問題なのでしょうか?

251:名無しさん@お腹いっぱい。
10/03/21 23:42:42 9nY7crvD0
>>250
あまりよく読んでないけど、短間隔ループの中でGetKeyで分岐というのはUWSCはムズイよ。
そこまでに押されたKEYを取得だから…
公式の過去ログで良い回答あったと思うけど、探すの面倒だわ。

252:名無しさん@お腹いっぱい。
10/03/22 10:04:04 r9UvCn9t0
>>250
用途がイマイチわからないので答えるのも難しいけど
自動操作系?
それとも入力支援?
自動操作系なら一定の待ち時間を設けるといいかも。
sleepじゃなくてループで。
例えば
while true
 i=0
 Repeat
  ifb getkeystate(VK_X) then
   sleep(0.3)
  endif
  Sleep(1)
  i=i+1
 Until i>3

とか。Xキーの押下状態で処理をする時に押されてないor押そうとしている時の待ち状態を作る感じ?

253:250
10/03/23 00:07:33 l7gIg+dd0
ゲームでアイテムを拾うというのとコマンド入力というので使っています。

連続して使うこともありできれば時間をあまりおかずに使いたいと
考えてましたがやはり短い間隔では取得が難しいみたいですね。

それとパソコンの性能が低いというのも関係あるかも。

>>252
UWSC以外にもゲームパッド用のソフトも使ってるのでXが押されたときの
スリープはそっちのソフト用です。

UPのスリープもコマンド入力時のためのものです。
ずーっとアイテムを拾うようにFキーが連打されるように
なっているのでスリープを設けないと入力できないと
いうことからです。




254:名無しさん@お腹いっぱい。
10/03/24 12:24:59 2ytrfO4cP
ifb getkeystate(VK_X) thenとかが何のためにあるかわからない・・・
これは俺がアホなのか?

255:名無しさん@お腹いっぱい。
10/03/24 15:09:35 HwpEcix70
ハンゲームでファミスタオンラインというゲームをやっているのですが、
このソフトを使ってバックグラウンドで動作させる事は可能でしょうか?

256:名無しさん@お腹いっぱい。
10/03/24 16:10:50 yu0OAHHi0
間違いない

257:名無しさん@お腹いっぱい。
10/03/24 16:47:13 C4V6o9Yd0
外部DLLとかも読み込めるんだから基本不可能なことはないだろ

258:255
10/03/24 17:14:51 HwpEcix70
MOUSEORG で 2 を指定したのですが受け付けてくれないのです。
他に何かやるべき事はあるのでしょうか?

259:名無しさん@お腹いっぱい。
10/03/24 18:13:20 C4V6o9Yd0
ヒント;DirectInput

260:255
10/03/24 18:42:44 HwpEcix70
DirectInputを使用しているアプリはUWSCの送信は受付ないという事でしょうか?
表では動くのですが、裏では動かないです><


261:名無しさん@お腹いっぱい。
10/03/27 09:48:15 2VmSdvyL0
KBDで使用するCLICKとDOWNの違いってなんですか?
CLICKが反応しなくてDOWN/UPに変更した事もあるんですが。

262:名無しさん@お腹いっぱい。
10/03/27 10:03:17 2VmSdvyL0
すいません。補足です。
例えばキーを押しながら別のキーを押したい場合はDOWNだと思うのですよ。
ですが例えば"A"を単打したい場合ってCLICKでもDOWN/UPでもどちらでもいいんですかね?
記録する時どちらも記録されていたので違いがよくわかりませんでした。

263:名無しさん@お腹いっぱい。
10/03/27 12:20:23 GJlX799VP
どっちでもいい
好きな方をつかえばいいと思うよ

264:名無しさん@お腹いっぱい。
10/03/27 12:40:55 HsANWc9NP
>>262
環境によるけど
自分はダウンアップにしてるよ
ハンゲのゲームやってたときに
よく固まってたんですよ
それでダウンダウンダウンダウンって
違う箇所を4回くらいダウンさせて
アップってしたら固まらないようになったです
珍しい事例かもしれないけど
一応お伝えしておきますねw
がんがってください^^

265:名無しさん@お腹いっぱい。
10/03/27 20:09:52 2VmSdvyL0
レスありがとうございました。
なるほど。やっぱり違いはなかったんですね。
>>264
事例ありがとうございます。覚えておきますw

266:名無しさん@お腹いっぱい。
10/03/29 16:50:16 zWqUoN180
UWSCでスクリプトを動かしている間に別の作業をしたいのでMOUSEORGを使ってキーイベントを直接送りたいのですがうまくいきません

// マウス座標を相対座標にする、 またはマウスとキー情報を直接ウィンドウへ送る
MOUSEORG( ID, [基準指定 ] )

例えばnotepadに直接キーイベントを送りたい場合は
MOUSEORG( notepad, [2] )

という書き方でよろしいのでしょうか
ご教授いただけるとうれしいです



267:名無しさん@お腹いっぱい。
10/03/29 21:36:29 xNpZMuTv0
ドラッグしてCtrl+Cでコピーした文章をSendstrで出力したいんですが、
コピーした文章の出力方法がわからないのです。

Sendstrの文字列に当たる部分にはどのように書けばいいのでしょうか?



268:名無しさん@お腹いっぱい。
10/03/29 22:25:27 NFgbt+8v0
>>266
IDはプロセスIDだから、UWSCからnotepadを開くなら開く時の戻り値、
そうでないならGetIDでIDを貰って来なきゃならん。
[基準指定]の[]は省略可を表すだけで、2っていれときゃいいよ。
>>267
何処に出力したいのかは大丈夫?
ファイルに出力するなら、ヘルプのファイル操作関連
起動しているメモ帳やなんかに出力したいならSendStr
画面に表示したいならFukidasiやらPrintやらを使えばいい。
SendStrはヘルプ読めば解ると思うけど、
String=GetStr(0)
SendStr(送り先ID,String)
とすれば、変数Stringにクリップボードの文字列を格納して、それを送り先のIDに送る。
文字列の部分には""で囲った文字列か、文字列を格納した変数名を書けば良い。

269:267
10/03/30 02:35:32 i+J5d4Um0
>>268

ありがとうございました。クリップボードからの取得方法がわからなかったのです。
よく見たらヘルプにも書いてましたね・・・初心者ですいませんm(_ _)m


270:名無しさん@お腹いっぱい。
10/03/30 06:36:51 w9o7uVAy0
どなたか、TaskbarSorterをVista対応に改良してもらえないでしょうか?
一応使えることは使えるようなんですが、使えない機能がいくつかあるので、よろしければお願いします

271:名無しさん@お腹いっぱい。
10/03/30 06:37:53 w9o7uVAy0
すいません、>>270は誤爆です…

272:266
10/03/30 10:20:54 enNRlci80
>>268
返信ありがとうございます
GetIDで取得するIDはClassというものでよろしいのでしょうか?

id = GETID("Notepad")
MOUSEORG(id,2)
~処理~

これでは間違っているのかうまくいきませんでした
よろしければ教えていただけるとうれしいです




273:名無しさん@お腹いっぱい。
10/03/30 10:51:08 nQEKerym0
>>272
Notepadはクラス名はNotepadになるけど、タイトル名は別名かと…

274:名無しさん@お腹いっぱい。
10/03/30 12:21:01 uAc8A7pjP
なにか重大な勘違いをしているようだ

275:名無しさん@お腹いっぱい。
10/03/30 12:24:14 B93d/s/o0
>>272
ウィンドウのタイトルでOK
ヘルプの例にあるように、
id=GetID("メモ帳")
でいいよ。

276:名無しさん@お腹いっぱい。
10/03/30 13:57:27 TB+znm4l0
親切な人が多くて素晴らしいですね

277:266
10/03/30 17:44:58 enNRlci80
ご丁寧に教えていただいてるにも関わらず未だにうまくいきません><
実はLaTaleというオンラインゲームのウィンドウに直接送りたいのですが
ウィンドウのタイトルはLaTale Clientです

id = GetID("LaTale Client")
mouseorg(id,2)
REPEAT
KBD(VK_RIGHT,DOWN,100)
KBD(VK_RIGHT,UP,100)
KBD(VK_RIGHT,DOWN,100)
KBD(VK_RIGHT,UP,500)
KBD(VK_SHIFT,DOWN,100)
KBD(VK_SHIFT,UP,400)
UNTIL FALSE

これではだめでした
どうすればよろしいのでしょうか
よろしくお願いします

278:名無しさん@お腹いっぱい。
10/03/30 20:54:57 B93d/s/o0
なんでREPEAT-UNTILに入れてるの?
条件FALSEにしてるんじゃ意味無いでしょ。
つーかまたゲームのマクロの話かよ…
どうせまたDirectInput使ってるとかだろ
そもそも配布サイトのFAQくらい読んでから来いと…

279:名無しさん@お腹いっぱい。
10/03/31 00:50:17 2kVfTA890
>>277
それをやろうとするとバン対象だよ
ゲーム側で出来ないように工夫してるし。

280:名無しさん@お腹いっぱい。
10/03/31 03:14:21 QDwO3+WbP
そもそもこのスレって暗黙の了解かなんかでチート関連の話題は原則禁止じゃなかったか?

281:名無しさん@お腹いっぱい。
10/03/31 03:40:13 J88r7xmw0
cheatだろうと何だろうと関係ない
UWSCの事なら何でもあり
そもそもUWSCを何に使おうがそれは使い手の勝手
それが気にいらなければレスしなければよい

282:名無しさん@お腹いっぱい。
10/03/31 04:05:03 /r7+U6cH0
質問してる以上、流石にそれはないと思う
というか>>280が言いたいのはこんなスレでチートとかの質問するようなアフォは喋るなって事じゃないの
なんか最近不正行為っぽい質問が多いし
要約すると>>278
不正行為関連の質問は自重すべき

283:名無しさん@お腹いっぱい。
10/03/31 06:08:31 eObzEOzl0
>>281
そうだな。チートだと思われる質問には誰も一切何も答えなければ問題ないな
チートなんか使おうとする奴が質問自重するとは思えないから、答える側が気をつけないとな

284:266
10/03/31 12:00:12 mAVKXcTv0
ハンゲームのファミスタの話が出ていたのでオンラインゲームの話題もいいのかと思っていました;
以降気をつけます。ご迷惑をおかけしました><

285:名無しさん@お腹いっぱい。
10/03/31 12:05:44 wRNvV5G10
でもなんだかんだでこのソフトはチートでの使用が一番多いわけだが・・・

286:名無しさん@お腹いっぱい。
10/03/31 15:12:32 02z0GkxwP
>>285に1票www

287:名無しさん@お腹いっぱい。
10/03/31 17:19:37 db3wAIhw0
なんか変な流れを切るようで悪いんだけど教えてほしい。
既に開いてるIEをF5で更新した時に読み込み完了まで待ちたいんだけど
どうすればいいのかな?
よく見かけるのは

IE = CREATEOLEOBJ("InternetExplorer.Application")
IE.visible = True
IE.navigate("URLリンク(www.yahoo.co.jp)")

REPEAT
 SLEEP(0.1)
UNTIL !IE.BUSY AND IE.readystate = 4

これだけど、これだとブラウザ起動からしちゃうので目的と違うんだよね。
最初に上記でブラウザを起動してから更新の度に
REPEAT
 SLEEP(0.1)
UNTIL !IE.BUSY AND IE.readystate = 4
をすればいいのかな?
できればサイトを開くまでは手動でやりたいんだけど。

288:名無しさん@お腹いっぱい。
10/03/31 17:57:48 zl81UiL50
も少し、ヘルプよんでよ

IE=GETactiveOLEobj

ちなみに F5=IE.refresh

289:名無しさん@お腹いっぱい。
10/03/31 18:45:29 db3wAIhw0
>>288
レスサンクス
ほんとだ、、、書いてあった。。。
ヘルプに書いてあるのに質問しちまって申し訳なかったね。
お蔭様で希望通りの動きができました。
ありがとうm(__)m

290:名無しさん@お腹いっぱい。
10/03/31 20:08:51 vqZHXpqN0
>>289
おいおい、ニダランスレから出て来るなよw

291:名無しさん@お腹いっぱい。
10/03/31 21:03:28 db3wAIhw0
ニダランスレってなんだ?

292:名無しさん@お腹いっぱい。
10/04/01 03:53:25 fwJ098Wi0
何でニダーラン?

293:名無しさん@お腹いっぱい。
10/04/01 04:01:38 S8TPP2lzP
そんなことまで「なんで?」って聞き返してくるのかよ
ここは昔から質問者に「なんで?」「何するの?」「何がしたいの?」
自分の開発のヒント探るために聞くだけ聞いて質問者への回答は無視か罵倒
だから嫌になって来なくなったんだけど
たまたま覗いてみたら相変わらずのウンコ解答者ぶり

質問者さんへ
ここで聞いても無駄だよ
作者のうみうみ氏のサイトで聞いた方が時間はかかるけど正確だ
質問するために少々勉強してからの方がいいが
ここよりまともに回答してくれるよ
俺も以前はよく解答してたんだけど
UWSCというより何か儲けれるツールを作れないか
そのネタ探しに解答者ぶっているだけ
こいつらアホだからここで質問しても無駄だよ

294:名無しさん@お腹いっぱい。
10/04/01 04:27:25 S8TPP2lzP
UWSC覚えるのには時間がかかるよ
なんせ解説本は「Windowsマクロテクニック」という基本中の基本のみの
あまり役立たない本が1冊のみ販売されている
何をしたいかによって習得期間は変わるけど
オンラインゲームでちょっと自動化を作成するのに何ヶ月もかかった
インターネットを通じてしか勉強できないのも原因のひとつだろね
解答者は無報酬で応えているので
生意気だと思えば応えないし応える義務も無い
だから解答者ぶって質問者をイビリ倒すのが趣味って変人も多いよ
ぶっちゃけ奥深く入っていくとUWSCでは間に合わないよ
ゲームだけじゃないよ事務系の仕事を自動化するのも一緒
UWSCがでてすぐに課金ユーザーになって2年ほど夜も寝ないでUWSCばっかし勉強して気づいた事がある
結局間に合わせのUWSCは間に合わせに過ぎない
きちんとしたプログラムを勉強するのが一番近道だよ
それでパールやったけどパールもダメだな
掲示板の解答者がUWSCと同じ種類の人間だらけ
それでジャバスクリプトも勉強したけど
結局スクリプト言語じゃダメだったんだ
初めからC++がいいよ
C++ならなんでもできる
教材もいくらでもあるからね
掲示板でペコペコしながら質問する必要もない
UWSCの2年間全く無駄でした
初心者は初めからC++のほうがいいよ
じっくりやれば俺でも出来るようになった
やりたいことはこれだけだからって簡単にUWSCを勉強しだしたけど
次から次へと課題は出てくるもんだ
それをなんでも解決できるのはC++ですキッパリ
俺、おっさんなんだけど俺でも出来たがんがれ
ここでいつもゴマすりながら質問してた自分が今でも情けないよ
やればできるよ

295:名無しさん@お腹いっぱい。
10/04/01 04:52:02 S8TPP2lzP
俺が一番最初に質問してた頃は1人物凄く親切な方がいてた
大阪に住んでるって言ってたな
それで俺はUWSCの楽しさを教えてもらったんだ
あの方には今でも感謝してるよ
あの方はもうこないみたいだし
今、解答者ぶって質問者にレスしてる連中は
質問者が何をしたいか聞きだすのが目的なんだ
美味しいと思えば自分が先に作ってやろうって魂胆みえみえ
それで質問者へのレスは適当にしておくか
更に罵倒して、その質問者はもう来れなくするか
ヘンテコ解答者っていうか解答者の仮面を付けた基地外だな
UWSCの使い方云々抜かしてるガキが出てきた頃から
大阪に住んでるって言ってた解答者さんは来なくなって
質問者も罵倒されるのが嫌で来なくなった
前スレか前々スレは過疎過ぎてダット落ちしてたみたいだし
UWSCの使い方までご指導頂かなくて結構ですって言いたいんだけど
それを言っちゃー解答もらえないから我慢する
それで「質問者が何をしたいのかわからないので応えようが無い」とかはぐらかされて終了
UWSCとperlの解答者には気をつけた方がいいよ
スクリプト言語なんて役に立たないことが多いし
悪い事いわないからC++かJAVAがいいよ
ゲームに使おうがビジネスに使おうがお前に関係ないだろ>糞解答者

296:名無しさん@お腹いっぱい。
10/04/01 06:04:35 f/9UZXtU0
おいおい、なんのコピペだよこれ

297:名無しさん@お腹いっぱい。
10/04/01 06:11:53 NSxeyl3Z0
不覚にもワロタ

298:名無しさん@お腹いっぱい。
10/04/01 11:07:20 0yWWJhZV0
ID:S8TPP2lzP

なにこのキチガイ

299:名無しさん@お腹いっぱい。
10/04/01 11:14:41 2Up7o9yS0
C++がいいよ

300:名無しさん@お腹いっぱい。
10/04/01 21:46:18 URK6iTyf0
指定時刻に指定ポイントをクリックするスクリプトつくれる?

301:名無しさん@お腹いっぱい。
10/04/01 22:23:08 5xeykHJ2P
余裕で作れる
というか初歩中の初歩

302:名無しさん@お腹いっぱい。
10/04/02 00:28:22 4cLa/HLo0
なんで?って聞くのは別のアプローチから期待された動作をさせた方が、
確実だったり楽だったりすることがあるからだろ…

ジャバスクリプトとかカタカナで書いている所とか、一度も出てこなかったJAVAが一番最後だけ出てくるとか、
自己矛盾か自己批判を孕んでるあたりとか、自動化をやるのにC++なんぞを使うと言い出すあたりの所ですよね、笑うポイントは。

ゲームに使おうがビジネスに使おうがなんて言ってるけど、そもそもオンゲなんかはプロテクトがかかってるのが多いから、
それすら知らないとか、プロテクトをかいくぐる技術も無いのに質問するヤツが多いから回答者が辟易して、ゲーム関係をうざがるんだろーが…
そういうダークな範囲で使いたいなら独学しろと…

303:名無しさん@お腹いっぱい。
10/04/02 05:17:12 /tViDlcK0
お前はなにをいっているんだ

304:名無しさん@お腹いっぱい。
10/04/02 05:28:23 Ue5xH3Cy0
ID:S8TPP2lzPには手を触れないよーに

305:名無しさん@お腹いっぱい。
10/04/02 06:59:15 I68nnadS0
たぶんこいつは本人で自演だろう

306:名無しさん@お腹いっぱい。
10/04/02 09:08:28 +bubi7hm0
大阪に住んでる凄く親切な回答者:ID:S8TPP2lzPがしつこくてうざいからここくるのやめた

307:名無しさん@お腹いっぱい。
10/04/02 13:18:16 fDfu5inU0
>>302
うざい解答者ってお前のことだわ

308:名無しさん@お腹いっぱい。
10/04/08 05:17:27 YpPiuNaU0
001 while
002 //いろいろ計算やら比較をやって
003 条件="おなら"
004 if 条件="ほにゃら" then break
005 print "ほにゃらではない"
006 wend

004行 で breakで ループを抜けたと思ったら、 005行を実行した上で 多重ループを抜けるんで

005 if !( 条件="ほにゃら" ) then print "ほにゃらではなかった"

というような 記述でとりあえずは逃げたんですけど、 こういうもんなんでしょうか?


309:名無しさん@お腹いっぱい。
10/04/08 09:20:05 n8jkUacb0
003 条件="おなら"
て書いてるかられしょ

310:名無しさん@お腹いっぱい。
10/04/08 09:54:44 3BOGl5Ct0
>>308
単純に、3行目のif文を間違えているだけだろう。
「5以上になったらループ抜ける」をやりたいのに「if 5>i then break」と書いちゃってるとか。



311:名無しさん@お腹いっぱい。
10/04/08 09:56:16 3BOGl5Ct0
>>310
符号が逆だった。

「5以上になったらループ抜ける」をやりたいのに「if 5<i then break」と書いちゃってるとか。

312:名無しさん@お腹いっぱい。
10/04/08 13:47:14 nLPIw5SzP
>>308
× 003 条件="おなら"
○ 000 条件="おなら"


313:308:
10/04/08 14:31:05 YpPiuNaU0
>>309-312 ありがとうございます.
やはり ありえないって事のようなので指摘していただいた点を再度調べてみます.
>>312
あ、初期値がUWSCから見えないってことでしょうか。その手の事だとすると実行前に構文チェックに掛かって修理してるような気がするんですが?

314:名無しさん@お腹いっぱい。
10/04/08 15:00:26 nLPIw5SzP
>>313
条件="おなら" は
条件="おなら" であって
条件="ほにゃら" ではない


315:名無しさん@お腹いっぱい。
10/04/08 15:29:50 n8jkUacb0
>>313
初期値っていうかなんというか

みんな言いたいことは、UWSCは間違ってなくて、記述どおり動いてるってこと

316:名無しさん@お腹いっぱい。
10/04/08 15:35:19 9crZpxrL0
>>313
いやちゃんと整理して考えてみ

317:308:
10/04/08 16:24:53 YpPiuNaU0
>>314
すみません.ぐっちゃぐちゃでした.
訂正
000 条件="おなら"
001 while 条件="おなら"
002 //いろいろ計算やら比較をやっった結果
003 条件="ほにゃら"
004 if 条件="ほにゃら" then break
005 print "ほにゃらではない"  →  005 if !( 条件="ほにゃら" ) then print "ほにゃらではない"
006 wend
こうかな? こんな感じで Break条件の 否定条件をつけて逃がしてます.でした.orz
ってか、今作ったのを見直してるんですが、実際作った部分はこうです.
0001 mdelay=0; oldmdelay=mdelay; delaysw=0 //スクリプト冒頭で初期値設定済
0100 optx=7 // POPUPMENU(pp, STATUS(xID, st_x), STATUS( xID, st_y )+STATUS(xID,st_height))
0101 SELECT optx
0102  CASE 7
0103    REPEAT
0104     x= INPUT("Now : "+oldmdelay+" to set new(ms):",mdelay)
0105     IF x= EMPTY THEN BREAK
0106    UNTIL CHKNUM(x)
0107    IFB !(x = EMPTY) THEN
0108      mdelay= x; oldmdelay=mdelay;delaysw=1
0109      PRINT "*Set07. Delay. ms: "+mdelay
0110    ENDIF
0111  CASE 8
0112    PRINT "*Set08. Hi Sensitive Start."
1000 SELEND
1001 sleep(911)

0107 と 0110 が break したつもりでも抜けられなかったんで付け加えた行です.
この行に”//"を入れてやったら、やっぱり抜け出せなかったです.

318:名無しさん@お腹いっぱい。
10/04/08 17:13:56 2KfY3Rs50
>>317
「107と110を付け加えた」のなら
例文と実際のコードのprint位置が違うのだが・・・
「107~110を付け加えた」のなら修正前のコードが欲しいところ。

319:名無しさん@お腹いっぱい。
10/04/08 17:19:01 nLPIw5SzP
>>317
ちょっと待て
0105 のbreakでどこを抜けようとしたって?

0107にはxに数値が入ったときかxが空だったときとなるので
その制御では分岐が確かに必要になる。
そうしないとxを使ったときにエラーになるからね。

それを0105でどうにかしようと思うならifb使ってそこになにやら書くか、
exit、もしくはループを追加してbreak 2 を使う必要がある。

UWSCはBasic系なのでcaseを抜けるbreakはない。
そこで、0105から0110に飛ぶようにしたらどうだろう?
0102  CASE 7
0102.5  while true
0103    REPEAT
0104      x= INPUT("Now : "+oldmdelay+" to set new(ms):",mdelay)
0105 +----  IF x= EMPTY THEN break 2
0106 |   UNTIL CHKNUM(x)
0108 |   mdelay= x; oldmdelay=mdelay;delaysw=1
0109 |   PRINT "*Set07. Delay. ms: "+mdelay
0110 +->wend

ループ条件を変更して0108~0109を次のようにするほうがいいと思う
010x    ifb CHKNUM(x) then
010x      mdelay= x; oldmdelay=mdelay;delaysw=1
010x      PRINT "*Set07. Delay. ms: "+mdelay
010x      break
010x    endif


320:308:
10/04/08 17:27:56 YpPiuNaU0
>>318
すみません. 『break文で 多重ループを抜け出せない』って事があるものなのかって事を 相談したかったんで
条件式の錯誤に気がつかず、また実際のものとずいぶん違うものを提示してしまい迷惑をおかけしました.
最初 書いたときは 107 110行はありませんでしたが 105行の "EMPTY"(CANCEL)入力で BREAKしないので
単純に 107,110行を追加しているのが現状です.

321:308:
10/04/08 18:30:40 YpPiuNaU0
>>319
今 BREAK のヘルプを読んで 顔が熱くなってきました.はずかしい限りです.
0001 mdelay=0; oldmdelay=mdelay; delaysw=0 //スクリプト冒頭で初期値設定済
0100 optx=7 // POPUPMENU(pp, STATUS(xID, st_x), STATUS( xID, st_y )+STATUS(xID,st_height))
0101 SELECT optx
0102  CASE 7
0102.5  while true
0104      x= INPUT("Now : "+oldmdelay+" to set new(ms):",mdelay)
010x    ifb CHKNUM(x) then
010x      mdelay= x; oldmdelay=mdelay;delaysw=1
010x      PRINT "*Set07. Delay. ms: "+mdelay
010x      break
010x    endif
0100   WEND
0111  CASE 8
0112    PRINT "*Set08. Hi Sensitive Start."
1000 SELEND
1001 sleep(911)

こうですね.バッチリきれいに抜け出せました,皆さんどうもありがとうございました.


322:名無しさん@お腹いっぱい。
10/04/11 09:21:19 WP7Ufm9tP
無料版でIE以外のブラウザの操作もできますか?

323:名無しさん@お腹いっぱい。
10/04/11 10:53:36 7t91Tinz0
>>322
基本、無理。

324:名無しさん@お腹いっぱい。
10/04/11 11:09:55 WP7Ufm9tP
そうですか。
このゲーム(待ってクリック、待ってクリックを繰り返すFH)で
自動戦闘を繰り返すマクロ作れたらお願いします

URLリンク(mob-2.com)

325:名無しさん@お腹いっぱい。
10/04/11 11:40:13 L29VjoPvP
了解しました。
20万円くらい用意しといてね。

326:名無しさん@お腹いっぱい。
10/04/11 16:04:40 S762n6IR0
>>324
テンプレくらい読んで書き込めよカス

327:名無しさん@お腹いっぱい。
10/04/11 16:21:34 ikeA/Ag60
ブラザウ動かせない糞ソフト

328:名無しさん@お腹いっぱい。
10/04/11 16:53:32 7t91Tinz0
シベリアにいた頃に作った、ゲームでクリックするだけのマクロをあげとくわ。

太鼓の達人マクロ。
URLリンク(gamezone.gooside.com)
// ( .  )  ピリオドの位置にマウスを合わせて開始するといい。
FUKIDASI("マウスを読み取り位置にあわせてください。<#CR>Ctrlキーをクリックで開始します。")
// VK_CTRL が押されたら開始
Repeat; sleep(0.2); Until GetKeyState(VK_CONTROL)
FUKIDASI("実行中。<#CR>Ctrlキーをクリックで終了します。")

// マウス座標保存
MouseX = G_MOUSE_X
MouseY = G_MOUSE_Y

// キー保存変数
dim previousKey
dim key
dim isYellow = false
dim isPreviousYellow = false

sleep(1)
while true
 isPreviousYellow = isYellow
 isYellow = false
 sleep(0.005)
 // VK_CTRL が押されたら終了
 if GetKeyState(VK_CONTROL) then break

 key = 判定( MouseX, MouseY, previousKey, isPreviousYellow, isYellow )
 if ! key then continue


329:名無しさん@お腹いっぱい。
10/04/11 16:54:06 Ik0GncC3P
 // キーをクリック
 ifb isPreviousYellow then
  ifb isYellow then
   sleep(0.02)
  endif
 endif
 KBD(key)
 // 最後に押したキーを保存
 previousKey = key
 sleep(0.02)
wend

// 戻り値:キーコード
//     処理しない場合、0を返す。
// X: X座標
// Y: Y座標
// key: 最後のキー
// fYellow: 前回のYellow フラグ
// isYellow:今回のYellow フラグ
// 呼び出し回数:呼び出し側は常に省略する。
//        自分を呼ぶときは+1する
function 判定( X, Y, key, fYellow, var isYellow, n = 0 )
 result = 0
 // 色を取得
 color = PEEKCOLOR( X, Y )
 ifb ! fYellow then
  //黄色が出た後はグレーの判定はなし
  if isGray(color) then exit
 endif

330:名無しさん@お腹いっぱい。
10/04/11 16:54:53 7t91Tinz0
 red = color and $FF
 green = (color and $FF00) / $100
 blue = (color and $FF0000) / $10000
 ifb fYellow then
  // 黄色フラグが立っているときは、他のカラー(青、赤)の判定はしない。
  ifb 0 = color then
   // 前回黄色だったら、黒は黄色とみなす。
   isYellow = true
  else
   exit
  endif
 elseif 255 = blue then
  result = VK_M // 青なので「m」
 elseif 255 = green then
  isYellow = true // 黄色
 elseif 255 = red then
  result = VK_Z // 赤なので「z」
 else
  exit
 endif
 ifb isYellow then
  ifb 4 <= n then
   // 黄色で確定 // 黄なのでmとzを交互に
   if key <> VK_M then result = VK_M
   if key <> VK_Z then result = VK_Z
   exit
  endif
  // 規定個数の箇所をチェックする // (黒を除く)グレーがあれば中断
  if ! n then X = X + 35
  result = 判定( X + (n * 5), Y, key, fYellow, isYellow, n + 1 )
 endif
fend

331:名無しさん@お腹いっぱい。
10/04/11 16:55:11 Ik0GncC3P
//////////////////////////////////////////////////////////////////
// グレーチェック
// メーターカラーなどがグレーかどうかを調べる
function isGray( color)
 red = color and $FF
 green = (color and $FF00) / $100
 blue = (color and $FF0000) / $10000
 sum = red + green + blue
 aveH = sum / 3 + 10
 aveL = sum / 3 - 10

 Ifb ( red < aveL ) or ( aveH < red ) Then
   RESULT = false
 elseif ( green < aveL ) or ( aveH < green ) Then
   RESULT = false
 elseif ( blue < aveL ) or ( aveH < blue ) Then
   RESULT = false
 else
  RESULT = true
 endif

Fend

332:名無しさん@お腹いっぱい。
10/04/11 17:07:04 7t91Tinz0
>>328-331

1.スクリプトを起動し、
2.ゲームのページを開いて開始し、
3.( .  ) ←の顔を合わせる丸括弧のピリオドの位置にマウスを合わせ、Ctrlキーで開始する。
  ゲーム中は放置。
4.ゲームが終了したらCtrlキーでマクロを終了する。

マウスで指定した座標の色を監視し、顔が合わさる瞬間にキーを自動クリックするだけだが、
連打する部分を見分けるためにちょっとめんどくさい処理になっている。
顔の種類の判定をそれぞれ色素の一つしか見ずに済むこんなシンプルなゲームでも、
識別して適切な動作をするのにこれだけの長さのコードが必要になる。

グレーチェックの関数は流用でそれ以外の部分を新規に作ったが、
これだけで5時間もかけてる。
UWSCで小さいマップを動き回るマクロをいくつか書いてる僕がそれだけ時間かかるんだから、
実現可能だとしても、ゲームマクロにはそれなりの労力が必要。
ちなみにマップを動き回るマクロは1000行くらい必要になった。


333:名無しさん@お腹いっぱい。
10/04/11 21:45:43 1FTtfnsf0
マウスの感度をよくするにはどうしたらいいものか

334:名無しさん@お腹いっぱい。
10/04/11 22:12:34 oXYAxr2f0
マウスの裏を掃除する

335:名無しさん@お腹いっぱい。
10/04/13 22:18:41 2xzsxj+L0
マウスパッドを敷く

336:名無しさん@お腹いっぱい。
10/04/14 22:23:33 bbwcK6IR0
ここに1個のpdfファイルがあります。
ページ番号はついていません。

自分で簡易製本するためページ番号をつけたいんです。
偶数ページには左下に、奇数ヘージには右下に。

そんなページ番号をpdfファイルに挿入するためにはどうすればいいですか?

337:名無しさん@お腹いっぱい。
10/04/14 22:47:05 pM2mgX640
テンプレくらい読んできてね

338:名無しさん@お腹いっぱい。
10/04/15 02:27:46 Ti8sLQUA0
>>336
ググれ

基本的には印刷時にソフトで自動挿入だよ。
自動と言ってもUWSCとはまったく関係ないけどね。
PDFを直接編集するソフトなら手作業だろうね。


339:名無しさん@お腹いっぱい。
10/04/16 23:21:01 HC5SVg6T0
uwscはPDFの編集はできないよん

340:名無しさん@お腹いっぱい。
10/04/19 21:26:23 1NXVhFap0
俺はエロサイトからダウンロードしてきた大量のエロ動画ファイルのファイル名を
管理するのにuwsc使ってます^q^ノ

341:名無しさん@お腹いっぱい。
10/04/19 21:54:44 XgjI0OYr0
ダウンロードしたファイルの管理か。どうやってんだろ。
俺のSayMoveダウンロードスクリプトはダウンロードはするけどリスト化はしてないんだよな。
ダウンロードに失敗したり、あとで削除とかするからダウンロードソフトみたいに画面作って全部管理しないと意味ない気がするし。

342:名無しさん@お腹いっぱい。
10/04/21 22:53:33 j6JEIgFp0
フリー版でIEの自動操作はできないの?
6,720円(税込)ってたけぇな

343:名無しさん@お腹いっぱい。
10/04/22 01:47:11 BzTJSDhd0
>>342
録画機能は有償版にしかついてないけど、再生は有償無償どちらでもできる。
ただ、開発支援環境もなしに作るのは大変。
あっても大変だし労力の割りにできることは大したことなかったりするけど。

まずはフリー版と、IEを自動操作するソースでも手に入れたら?


344:名無しさん@お腹いっぱい。
10/04/22 18:51:07 1b3KZlwEP
IE自動操作ってそんなに難しかったっけ?
それとも俺が思ってるのとはまた別なのか・・・

345:名無しさん@お腹いっぱい。
10/04/22 22:38:55 BzTJSDhd0
上書き確認のダイアログ処理とかエラーメッセージの対応とか
動的ページの処理とか
結構大変やん?

僕は一度作って改良して使いまわし出来るようになってからはそれほどかからんようにはなったけど、
半年くらいみっちりやらんとちゃんとしたもんは作れん。

いや、単純な操作なら録画・再生程度でそれなりにできるけどね。
フリー版入手よりも、シェア版のお試しを勧めるべきだったか。


んでIEオブジェクトのスレッド間使い回しがなんかバグりまくって動かんしね。
OLEEVENTで受け取ったIEオブジェクトも高確率で使えんし。
どーゆー条件でなら使えるのかよく分からん。


346:名無しさん@お腹いっぱい。
10/04/24 08:10:49 6nk6f6hV0
これってUWSCを動かすファイル?
URLリンク(www.dotup.org)

347:名無しさん@お腹いっぱい。
10/04/24 08:17:59 kCRize2QP
・・・情報提供料としていくらまで出せます?

348:名無しさん@お腹いっぱい。
10/04/24 12:55:57 Xrgo5/kc0
www

349:名無しさん@お腹いっぱい。
10/04/24 17:10:01 ZblMfkgKP
ゲームでキャラの位置を正確にしたいんだけど
何かいい方法ある?
東西南北に敵キャラがいて丁度真中迄移動したいんだけど
微妙にずれていくので教えて下さい
東との距離が近くなれば西との距離が遠くなり
南との距離が近くなれば北との距離が遠くなる
上記のような感じでぴったし真中に合わせられないんですよ
ゲーム内の位置とPCの座標を合致させる方法あれば教えてください
UWSCをゲームに云々のくだらない回答は不要です
答えられないならスルーでいいですから







>>302>>343書き込んだ人は自分へのレス禁止
うざいからお前のレスなんて要らねーから
お前のレス必要ないから返事すんなよ
ていうかお前わかってないのに答えようとするから邪魔なんだ罠
消えろ変人解答者
ここでうざい解答者ってお前のことだわ
別人の振りしてレスすんなよ

350:名無しさん@お腹いっぱい。
10/04/24 17:11:45 IaNfdo2A0
チートするための方法は教えられないなぁ

351:名無しさん@お腹いっぱい。
10/04/24 17:17:38 ZblMfkgKP
>>349です
色判定で3点あわせることに成功
自己解決しましたので349への回答は不要です

352:名無しさん@お腹いっぱい。
10/04/24 17:18:41 ZblMfkgKP
>>350
おまえさー
答えられないのに出てくんなよ
マジうざっ
お前がまともな回答したことあるの?
それ聞いてみたいわw

353:名無しさん@お腹いっぱい。
10/04/24 17:20:13 e4lY74IeP
スルーな

354:名無しさん@お腹いっぱい。
10/04/24 17:28:03 ZblMfkgKP
2chのソフト板全体で言える事だけどw
質問者が何も前進しないレスが多いな
本人必死でやってんだから
そっとしておいてあげればいいのに
前進どころかw
足をひっぱりにかかるからなー
質問者をこき下ろす事だけ書いた奴が解答者ぶってるのは
変だと思う
解答者の答えを答えつつ罵倒するならまだしも
こいつわかってて解答者ぶってるの?みたいなのばっかしwww
解答者ぶりたいから張り付いてるのが趣味なんだろw

355:名無しさん@お腹いっぱい。
10/04/24 17:32:53 ZblMfkgKP
>>350
>>353
ご苦労さん
お前は今後このスレで回答しなくていいからね
アホな質問に答えられないのはアホだから
意味わからんやろねw
人が楽しんでるんだからおれでいいだろ
誰にも迷惑かかってないし
万が一かかっていたところで
お前がパトロールする必要ないから
回答できない解答者は消えろ

356:名無しさん@お腹いっぱい。
10/04/24 17:50:07 ZblMfkgKP
UWSCは大変魅力のあるソフトなのに
誰かのせいで質問者来ないw
ここは答え返ってくるよりまず罵倒されるの目に見えてるからなw
UWSCの魅力が一般人に伝わらないのは
こういうアホ解答者が蔓延るからだろ
まともな回答できないのかできるけどしないのか知らんけどw
作者のうみうみさんも痛し痒しだろなー
勝手な推測で罵倒された方はたまったもんじゃない
6700円払って怒鳴られた挙句に自分のやりたい事は一歩も前進しない
6700円は社会勉強代として放置する人が多いのはお前の責任だ>アホ解答者
UWSCはいいソフトだよ
もっと広めればいいのに
アホ解答者は正義の味方を装うライバルソフトの関係者か?
チート使用者がチートの質問者に対して
「チートは不正!!!」って叫んでライバルを増やさないよう無駄な努力してるのと同じだわw
クズ解答者の振りして実はUWSCの反映を阻止してるんだろなw

357:343
10/04/25 01:53:03 MDkvEHtj0
>>356
まあ、作者サポートのある本家掲示板でいらんことを書き込んだことは確かにある。
でもここは2ちゃんねるだ。
だから本家掲示板で禁止されているネトゲのマクロの話もできる。
ID:ZblMfkgKPは作者をよいしょしているが、 ID:ZblMfkgKPだって本家掲示板からは追い出されるような人間だと言うことを自覚しろ。

俺は>>328-332を書き込んだものだけど、UWSCで位置探知は難しいのであんまりやってない。
多少なりともコントロールできているなら>>349はすごいと思うが、基本的なことが分かってないらしい。

正確なコントロールに必要なのは事象を数式化することだよ。
単純な座標計算ではなくね。
別に関数式一つで表せと言うことじゃなく、配列データを使ってもいい。

UWSCは複数のものを同時に探査できないからキャプチャタイミングがずれる。
タイムラグもあるのでそれを想定した操作をしなければならない。
だからⅠドット単位でのコントロールは、そこまでやっても大変だ。
結局、UWSCをメインに使うとしても、DLL関数を作らないといけなかったりする。
グラフィック処理がもっと多様に記述できて高速に動作する言語ならスクリプトだけでもいけるかもしれないが、
その辺がUWSCの限界だよ。
敵が移動しなくて時間もかけていいのなら、UWSCでもちゃんとぴったりあわせられるけど、
ぴったりあわせるのが目的なら、発想を変えて計測だけ自動で行い、自分で操作するという手もある。

UWSCを使いこなすのは立派だが、優れた人間は効率よく作業するためにいろんな道具を使うし、場合によっては道具を自作する。
僕がUWSCのことをあまりよく書かなかったのは、「あなたがやろうとしていることにUWSCが適しているだろうか」という疑問を投げかけただけだよ。
探せばフリーソフトで簡単に実現できるようなことかもしれない。
お金を出すんならもっといろいろあるだろう。


358:名無しさん@お腹いっぱい。
10/04/25 02:24:53 PrF2KgzeP
>>357
お前のレスはなんでそんなにひねくれてるんだ
美味いもの食ってゆっくり寝てみ
ちょっとは考え方変わるから
どーでもいいこと1人で理論付けて面白いのかどうなんだかw

359:名無しさん@お腹いっぱい。
10/04/25 06:23:28 5DiiqLEb0
面白いキチガイが二人もいるとは
愉快なスレだな

360:名無しさん@お腹いっぱい。
10/04/25 15:59:04 inGnxg/U0
思わぬ真性が釣れたみたいだな

361:名無しさん@お腹いっぱい。
10/04/25 18:33:50 O5DTM8+t0
ふりー版使用。
あるURLのページのソースを取得したいのですが
IEのメニューで「ソース」を実行すると表示されるコードを取得するには


public ie = CreateOLEObj("InternetExplorer.Application")
IE.Visible = True
ie.navigate(URL)
REPEAT
SLEEP(0.1)
UNTIL !(ie.Busy) AND (ie.ReadyState = 4)
allhtml=ie.document.body.innerHTML

では違うんでしょうか?

URL="URLリンク(www.google.com)検索ワード"
で画像検索したページのソースを取得したいのですが、
メニュー・表示・ソースで出てくるコードと
innerHTMLで得られるコードが違うのです

362:名無しさん@お腹いっぱい。
10/04/25 19:32:32 zNMUBgVl0
64bitでSkScriptは動きますか?

363:名無しさん@お腹いっぱい。
10/04/25 23:45:37 MDkvEHtj0
>>361
IEのソースは受信したそのまんま
FireFoxのソースは文字コード変換済み
ie.document.body.innerHTMLはそのときの(動的な処理が施された後の)HTML。(だと思う)
ie.ReadyStateが3から4になるときに動的な処理が施される。
で、どうやったらその飯が取れるかだっけ?
↓のoHttp.responseBody が多分そのまんまだよ

oHttp = CreateOLEObj("MSXML2.XMLHTTP")

LastModified = "Thu, 01 Jun 1970 00:00:00 GMT"
while true
 sleep(5)
 // Webページ読み込み
COM_ERR_IGN  //COMエラー無視
 oHttp.Open("GET", url, True )
 oHttp.setRequestHeader("If-Modified-Since", LastModified);
 oHttp.Send("")
 ifb 200 = oHttp.status Then
  // ok
 else
  continue
 endif
 LastModified = oHttp.getResponseHeader("Last-Modified")
 ifb COM_ERR_FLG
  continue
 endif
COM_ERR_RET  //エラー処理復帰
 str = DECODE(oHttp.responseBody, CODE_BYTEARRAY)
 break
wend
print str

364:名無しさん@お腹いっぱい。
10/04/27 15:23:05 GVvjxkxo0
UWSCで空きメモリ容量を取得したいんですが、どうやったらいいでしょうか?

x264のエンコードをuwscを使って自動化しようとやっているんですが、
空きメモリが一定以上無い時は処理をスルーするようにしたいと思っています。

365:名無しさん@お腹いっぱい。
10/04/27 16:49:04 QTDzfzJxP
message = doscmd("systeminfo")
msgbox(message)

dosのsysteminfoから取ってくればいいんじゃね?

366:名無しさん@お腹いっぱい。
10/04/27 17:22:53 GVvjxkxo0
そんなものが…と思って調べてみたらPro限定コマンドでHomeの自環境では
不可能でしたorz

367:名無しさん@お腹いっぱい。
10/04/27 19:31:57 5iz8oRr40
>>366
タスクマネージャ起動させといてパフォーマンスタブ-物理メモリ-利用可能読めば?

368:名無しさん@お腹いっぱい。
10/04/27 22:37:02 GVvjxkxo0
>>367
ありがとうございます。タスクマネージャは常時起動しっぱなしだったんで
これでなんとかなりました。

ところで、UWSC単体あるいはWSH等を含めてUWSCのスクリプト上?で
空きメモリを取得するにはどうしたらいいんでしょうか。

369:名無しさん@お腹いっぱい。
10/04/28 01:26:20 IFvYJtzA0
>>368
URLリンク(www.upken.jp)
FreePhysicalMemory ってプロパティがある。

上記を拡張子 .vbs で保存して実行すればとりあえず空きメモリが取得できる。
コマンドラインからファイルを指定してもダイアログが出るんだけど、
> cscript test.vbs
っていう風に、コマンドプロンプトからコンソール向けスクリプトで実行すると、
コマンドプロンプトに結果を返してくれる。
これをDOSCMD()で呼び出せば結果を文字列で受け取れる。

でも余計な文字列はDOSコマンドで除去した方がいいので
> cscript test.vbs | find "Free"
として、空きメモリの行だけ受け取ればいい。

数値だけ受け取りたければ、findstrで正規表現を使って数値部分だけを返すようにも出来るけど
val()に渡すだけで数値化できるならその方が簡単だね。


370:名無しさん@お腹いっぱい。
10/04/28 02:23:37 BNDwd4xF0
>>369
これ、殆どそのままUWSCでも使えるじゃないかw

COMオブジェクトを触れるなら
わざわざコンソールの文字列をfindしなくてもいいと思う。

まぁ、COMは難しいなぁ、と思うなら369のやり方でも実用上問題ないだろう。

371:名無しさん@お腹いっぱい。
10/04/28 02:31:36 5rPFMVrg0
UWSC上でVBScriptのfor-eachに該当するのってどういうやり方になるの?

372:名無しさん@お腹いっぱい。
10/04/28 02:32:05 IFvYJtzA0
>>370
UWSCに直そうと思ったんだけど、For Each ~ in をfor ~ nextで実現する方法が分からなかった。
.lengthの回数配列でまわす程度のイメージは持ってるんだけど・・・できなかった。
そんな苦労をするくらいなら結果だけ使った方が簡単だと思ったんだ。


373:名無しさん@お腹いっぱい。
10/04/28 03:26:20 IFvYJtzA0
.length じゃなくて .Countだったっぽいけど、配列アクセスはできないものもあるらしい。
よくわからないけどもしかしたらそれかも。

WSH(・∀・)スレッド! Part 4
スレリンク(tech板:210-218番)

Item
Items
ItemIndex とかいろいろ試したんだけど。

・・・UWSCでのやり方出てきた。GetOleItem使うのか。
URLリンク(siromasa.xxxxxxxx.jp)
  Function Processor(Obj_CS)
    Dim Col_Processor = Obj_CS.ExecQuery("SELECT * FROM Win32_Processor")
    Dim i, Str
    For i = 0 To GetOleItem(Col_Processor) - 1
      Dim Obj = All_Ole_Item[i]
      If i > 0 Then Str = "<#CR>" + Str
      Str = "Cpu" + "[" + GHz(Obj.MaxClockSpeed) + "] [" + Trim(Obj.Name) + "]"
    Next
    Result = Str
  FEnd


374:名無しさん@お腹いっぱい。
10/04/28 06:07:04 TGzzLXVI0
google画像検索で出てきた画像をまとめて保存するスクリプトを書いたのだが、晒すべきかどうか迷う…
google画像検索で出たダウンロード先はそれぞれ別のサーバーだから、特定のサーバーに過重な負担をかける心配はない。
だが、pixivやふたば掲示板のような画像の置いてあるサーバが同一の掲示板やサイトで、同じようにスクリプトでダウンロードした場合、
あっという間にサーバーが悲鳴をあげる。そして管理者が対策をし、そのスクリプトは使えなくなってしまう。
サーバーに過重な負担をかけないよう、画像一枚に二分とか「手動でダウンロードするのと同じくらいのインターバルを置けばそういう事態は回避できるだろうし、
サーバーの貧弱なところからダウンロードする場合、自分ならそうする。
注意書きをしたからと言って百人に一人の馬鹿がそれを平気で破り、サイトそのものに大迷惑をかける恐れもある。
自分の発表したスクリプトが改変されてpixivやふたばに大迷惑をかけないという保証はどこにもない。
バカや不心得者にスクリプト技術を持たせばそれは凶器。
スクリプト荒らし一つで簡単に2chで特定のプロバイダがアク禁されてしまうことを考えれば、ちょっとの改変で画像サイトに大迷惑をかける恐れのある
スクリプトは、やはり自分ひとりで使うのが正解だろうか…

375:名無しさん@お腹いっぱい。
10/04/28 06:51:38 IFvYJtzA0
IEを自動操縦するぶんについては、鯖から対策されると言うことはないよ。
2ちゃんねるはプロ串とか荒らしツールの対策はされるんだけど、
IEの自動操縦についてはブラウザ情報がIEなもんだからソフト的な対策は施されない。
同じURLを書き込めば制限されたりするけど、それは自動か手動かを判断しない。
コピペ投稿したらIPアドレスで書き込み制限されるだけであって、ログ取得については無制限。人大杉にはなるけど。

Googleが負荷を気にするかについてだが、
今Youtubeが次々に自動的に動画を再生している。Youtubeの機能で。
つまり、Googleは情報を配信したがっているわけだから、収集ツールなんかはむしろ臨むところなんじゃないかな。

要するにくださいってことです。


376:名無しさん@お腹いっぱい。
10/04/28 10:35:49 5rPFMVrg0
>>373
369のをGETOLEITEMを使いアクセスするのはやったけど
エラーも何も出ない代わりに何も出力されず終わる…

377:名無しさん@お腹いっぱい。
10/04/28 11:32:02 BNDwd4xF0
>>376
//---------------------------------------------------
Locator = CreateOLEobj("WbemScripting.SWbemLocator")
objService = Locator.ConnectServer

objEnumerator = objService.ExecQuery("Select * FROM Win32_OperatingSystem")
 GetOLEitem(objEnumerator)
 print "Free : " + ALL_OLE_ITEM[0].FreePhysicalMemory
 print "Total: " + ALL_OLE_ITEM[0].TotalVisibleMemorySize
objEnumerator = null
//---------------------------------------------------

WMIを使うなら、MSDNあたりを眺めておくと何が入っているかの見当がつくよ。
URLリンク(msdn.microsoft.com) (Win32以外もたくさんあるけど)
巷にあふれるVBからのコード変換をする際の手助けになるはず。


378:名無しさん@お腹いっぱい。
10/04/28 11:32:14 IFvYJtzA0
>>376
出来たんだけど

【実行結果】
Count : 1
Free : 265140
Total: 523760

【ソース】
Locator = CreateOLEObj("WbemScripting.SWbemLocator")
objEnumerator = Locator.ConnectServer.ExecQuery("Select * FROM Win32_OperatingSystem")
print "Count : " + objEnumerator.Count
for i = 0 to GetOleItem(objEnumerator) - 1
 Obj = All_Ole_Item[i]
 print "Free : " + Obj.FreePhysicalMemory
 print "Total: " + Obj.TotalVisibleMemorySize
next
sleep(10)

379:名無しさん@お腹いっぱい。
10/04/28 11:39:28 BNDwd4xF0
>>378
短時間でかぶりすぎだろw

380:名無しさん@お腹いっぱい。
10/04/28 12:05:41 5rPFMVrg0
あれ?

コードほとんど同じはずなんだけど…
なんかミスってたかな。

ちょっとやってすぐ消したからどこが間違ってたのかわからんw

381:名無しさん@お腹いっぱい。
10/04/28 13:01:21 IFvYJtzA0
>>379
うん。書いた瞬間やっちゃったって感じだた。

>>380
for i = 1
とかがありがちなミス

あとはprintした瞬間にスクリプトが終了とか。
結果を見るためのsleep(10)だからね。

UWSCを通常起動して実行すればログ窓は残ってるけど、
関連付け実行ならsleep()入れないとすぐ消える。


382:374
10/04/28 19:57:44 TGzzLXVI0
結局晒してしまう google画像検索で出た画像を指定数、自動保存する
ここから

keyword="九龍城" // 検索キーワード
downKazu=30  // ダウンロードしたい数

folder="C:\Documents and Settings\k\My Documents\My Pictures" // 保存先フォルダ
public FS = CreateOleObj("Scripting.FileSystemObject")
ifb FS.FolderExists(folder+"\"+keyword)=false then
FS.CreateFolder(folder+"\"+keyword)
endif
for page=0 to ((downKazu+17)/ 18)
pagenum=page*18
URL="URLリンク(www.google.com)"+keyword+"&start="+pagenum+"&ndsp=18"

public ie = CreateOLEObj("InternetExplorer.Application")
IE.Visible = True
ie.navigate(URL)
REPEAT
SLEEP(0.1)
UNTIL !(ie.Busy) AND (ie.ReadyState = 4)
allhtml=ie.document.body.outerHTML

383:374(2)
10/04/28 19:58:59 TGzzLXVI0
cutword="</A>"
cut=toScanWord(str2,cutword)
//print cut
str2=afterScanWord(cut,"imgurl=")
str2=beforeScanWord(str2,"&")
print str2
nokori=copy(str2,pos(cutword,str2)+length(cutword),length(str2))// print nokori
ie.navigate(str2)
ieWait(ie)
sleep(2)
id=GetID(str2,"IEFrame")
sckey(id,vk_alt,f,a)
number=page*18+i
numberStr=""+number
orgName=copy(str2,pos("/",str2,-1)+1,length(str2))
orgName=chgmoj(orgName,":","")
name=folder+"\"+keyword+"\"+numberStr+"_"+orgName
print name
id2=GetID("画像の保存","#32770")
ifb id2>0 then
sendstr(id2,name,1,true)
sleep(2)
sendstr(id2,name,1,true)
sendstr(id2,name,1,true)
sleep(1)
clkitem(id2,"保存",CLK_BTN)
sleep(1)
else
id2=GetID("Web ページの保存","#32770")
clkitem(id2,"キャンセル")
endif
next

384:374(3)
10/04/28 19:59:41 TGzzLXVI0
next


function fromScanWord(str,scan)
// 検索ワード以後の文字列を切り取る 検索ワード含む
result=copy(str,pos(scan,str),length(str))
fend

function toScanWord(str,scan)
// 検索ワード以前の文字列を切り取る 検索ワード含む
result=copy(str,0,pos(scan,str)+length(scan)-1)
fend

function afterScanWord(str,scan)
// 検索ワード以後の文字列を切り取る 検索ワード含まない
result=copy(str,pos(scan,str)+length(scan),length(str))
fend

function beforeScanWord(str,scan)
// 検索ワード以前の文字列を切り取る 検索ワード含まな
result=copy(str,0,pos(scan,str)-1)
fend


procedure ieWait(ie)
REPEAT
SLEEP(0.1)
UNTIL !(ie.Busy) AND (ie.ReadyState = 4)
fend

385:名無しさん@お腹いっぱい。
10/04/29 04:18:51 EPCxEO3u0
>>382-384
半角スペースだからインデント消えたのかと思ったら最初から入ってなかったぜ。


386:名無しさん@お腹いっぱい。
10/05/02 09:40:15 doL+vkcY0
GETSTRみたいに、ネットフレームワークのDataGridViewのセルのデータを取得する方法は、
UWSCだけでは出来ずにWin32APIで取得するしかないでしょうか?
もしそうなら、そのAPI名を教えていただければありがたいです。
具体的には、データグリッドビューで表示されているドル-円のレートを1分毎に取得したいです。


387:名無しさん@お腹いっぱい。
10/05/04 06:36:01 0Qq9JDW3P
このソフトに挑戦しようと思います。
ふつうにネトゲで使えるようには
かなり時間を要しますか?
Autohotkeyは初級は使いこなせてると思います。
ぐぐったらゴールデンウィークにこのソフトに出会ったという人の
HPみたのでやってみようかと

388:名無しさん@お腹いっぱい。
10/05/04 07:01:47 Q0DkcYUl0
>>387
そのままでUWSCが使えるゲームなら、キーの記録と再生した奴をちょっと弄ることを覚えたらそれで応用はできるよ。
連打だけしてればいいようなものもあるだろ?
そういう単純作業をするマクロをたくさん作ってれば上達するよ。


389:名無しさん@お腹いっぱい。
10/05/04 07:11:09 0Qq9JDW3P
>>388
既存のもの弄ることからやってみようと思います。ヘルプ読んでみたが
数学捨てた低学歴文系にはこの記号の押し寄せに一瞬で圧倒される。AHKよりもぜったいムズイだろう。
AHKは飛び抜けて優れたソフトだと思うが、これにも可能性感じる。
サンプルが動かしたが嬉しい。色や文字を認識しての条件分岐が使えるようになれば
ワクテカしてきそうだ。

390:名無しさん@お腹いっぱい。
10/05/04 07:25:47 7yDjLHFl0
こいつは二重人格なのか?

391:名無しさん@お腹いっぱい。
10/05/04 15:34:19 wfwIxOPI0
いまでこそ色々使ってはいるモノの、はじめて落としてから、ああこういうことか、と仕組みを理解して動かし始めるまでに結構なタイムラグがあった。
ヘルプはたしかに、仕組みを理解しない人間にああこういうことかと理解させるにはちょっとキツイな、

392:名無しさん@お腹いっぱい。
10/05/05 05:12:36 bhIlqqXN0
俺も昨日から使い始めた。UWSCは難しい、と聞いて敬遠してたけど、
自分の操作を記録したものを修正する方法を使えば実に手軽だった。

ところで、
「コンピュータのロック」(Win + L)中はFirefoxへのマウスクリックが
動作してないんだけど、回避策ある?それともロックの仕様?
環境は Vista(x64)SP2 + Firefox v3.6.3 + UWSC v4.6。

393:名無しさん@お腹いっぱい。
10/05/05 19:16:43 oF5LYxqnP
このソフトって何年に発表されたものなんですか?
相当昔からあるみたいですね。いまでも最前線のソフトなんでしょうか?

394:名無しさん@お腹いっぱい。
10/05/05 22:36:46 kH509+ir0
>>393
URLリンク(www.uwsc.info)
10年前からあるね。すげえなあ。

395:名無しさん@お腹いっぱい。
10/05/07 07:43:29 YqDfIqgLP
3Dゲームウインドウ上で半角キーを押すことをUWSCにさせたいのですが、
まったく押してくれません。どうやれば改善するのでしょうか?

自分で半角キーを押したのを記録して再生してもおしてくれません。
KBD(VK_KANJI,CLICK,20)
というのはちゃんと記録されているみたいなのですが。
おしえてください。

396:名無しさん@お腹いっぱい。
10/05/07 10:20:09 ygJ5pRgT0
>>395
よくある質問です。
・大半の場合おいて出来ません。
・出来る可能性の中でも知識を持つ人が居ない事が多いです。


ネットゲームの場合は自動化を不正と考え
実行を阻止するプログラムが入っている場合が多数あります。
(阻止するプログラムが入っていないほうを探すのが大変なぐらいです)

そのほかのゲームでもタイトルが不明では返答のしようがありません。
また、タイトルが判っても、プレイしていない人が大半ですので
「UWSCの知識」+「そのゲームをプレイしている人」という…返答できる人が非常に限られた話です。
答が帰ってくることを期待しても望みは薄いでしょう。



//次のスレでは、ゲーム関係の質問はテンプレに入れてほしいなぁ…


397:名無しさん@お腹いっぱい。
10/05/07 10:41:17 R/Hz/ZTE0
>>396
> 「UWSCの知識」+「そのゲームをプレイしている人」という

「UWSCの知識」+「そのゲームをプレイしている人」+「チートしようとしてる人」だろう。

ゲームする奴が全てチートする気のある奴ってわけではないんだから。

398:名無しさん@お腹いっぱい。
10/05/07 10:48:58 YqDfIqgLP
395です。UWSCにある特定のバグのようなものがあるのかと思って聞きました。
AutoHotKeyでは半角キーにバインドするとバグるので(まぁあっちは海外製ソフトですが)。

じゃぁ質問を返させてください。
メモ帳の上で半角/全角キーを押す作業をUWSCにさせても
半角キー以外の作業だけせずに工程を終えてしまいます。

ほかのキーバインド関係のソフトは終了させています。日本語入力ソフトは
google日本語入力です。その設定で空白を半角キーに割り当ててみました。

あとチートのやってたわけじゃないです。うっとおしい設定を毎度させられるからです。
おしえていただけませんか?

399:名無しさん@お腹いっぱい。
10/05/07 10:53:59 ygJ5pRgT0
>>398
割と短い行で済むスクリプトでしょうから
>メモ帳の上で半角/全角キーを押す作業をUWSCにさせても
>半角キー以外の作業だけせずに工程を終えてしまいます。

を見せてみてはどうでしょうか。

400:名無しさん@お腹いっぱい。
10/05/07 11:25:23 YqDfIqgLP
これです。手入力で自分で一度したのを記録しました。

ACW(GETID("無題 - メモ帳","Notepad"),200,10,400,400,0)
MOUSEORG(GETID("無題 - メモ帳","Notepad"))
BTN(LEFT,CLICK,178,295,47)
KBD(VK_CONVERT,CLICK,40)
KBD(VK_S,DOWN,40)
KBD(VK_A,DOWN,40)
KBD(VK_S,UP,40)
KBD(VK_A,UP,31)
KBD(VK_G,DOWN,40)
KBD(VK_A,DOWN,40)
KBD(VK_G,UP,40)
KBD(VK_A,UP,40)
KBD(VK_KANJI,CLICK,20)
KBD(VK_S,CLICK,40)
KBD(VK_I,CLICK,10)
KBD(VK_M,DOWN,40)
KBD(VK_A,DOWN,40)
KBD(VK_M,UP,10)
KBD(VK_A,UP,40)
KBD(VK_N,CLICK,40)
KBD(VK_E,CLICK,40)
KBD(VK_RETURN,CLICK,40)


ちなみに半角キーはgoogle日本語入力の「変換前入力中-左の文字を削除」
に割り当てました。二回半角キーを押しました。(一回しか記録されていない?)
手入力では「しまね」の文字のみが残りますが、UWSCでは「さがしまね」
と前の言葉を削除してくれません。
AutoHotKeyではちゃんと入力して削除してくれました。

401:名無しさん@お腹いっぱい。
10/05/07 11:42:26 ygJ5pRgT0
>>400
こちらでは、半角キーの操作も忠実に実行されました。
…google日本語入力では在りませんが。

IMEをMS-IMEでやってみてはいかがでしょう。
それで出来たら、ゲームと同じでgoogle日本語入力を使っている人が来るまで待ってね。


あと記録に関してはヘルプをよく読むといいよ。取りこぼしが無くなる。

402:名無しさん@お腹いっぱい。
10/05/07 11:55:01 YqDfIqgLP
>>401
ありがとうございます。そうですか・・・。
ウチの環境に起因してるみたいですね。
googleIMEからAtokに変えることなんて確率高すぎだし、
そうなると半角キーが動作しないことは痛すぎる。

403:名無しさん@お腹いっぱい。
10/05/07 12:01:01 ygJ5pRgT0
>>402
まぁ、UWSCで出来るとは思うけど
現状の、制御をせずに操作記録をしてるだけじゃぁ辛いかな。

中に書いてあるスクリプトの意味合いを調べて
キーをどのウィンドウに送る、とかを考えて記述してみてくださいな。

404:名無しさん@お腹いっぱい。
10/05/07 13:26:54 nRrWodtj0
>>400
sendstr(id, "ほげほげ") とか iesetdata(id, "ほげほげ") じゃだめなん?

405:名無しさん@お腹いっぱい。
10/05/07 13:46:28 LRAtWfIh0
>>395
そのゲームがキーを操作できるか出来ないかは知らないけど、
漢字キーというのは対象アプリケーションがアクティブな状態でクリックしないと意味がありません。

ためしにメモ帳を使って文字の入力と漢字キーのクリックをセットでやってみてください。
文字が入力できないならアプリケーションがキー入力対象になってないから漢字のOnOffができていないと言うことになります。

アプリケーションはアクティブでもゲームは文字入力可能状態になっていないとだめですよね?
そこもちゃんと出来ているかが大事です。

>>400
・・・よく分かりません。


406:名無しさん@お腹いっぱい。
10/05/07 13:59:02 YqDfIqgLP
>>404
わたくし初心者なのでわかりません。調べます。
ただ極めて簡単な手入力なのに再現できないのがありえないと思ったのです。
しかも記録には半角キーを押すという記述があるのに。
こういうのが多発するんであれば手入力から記録するのはしんどいなと。

407:名無しさん@お腹いっぱい。
10/05/07 14:30:07 Os/9wnHl0
>>395
ネットゲームなんかだと
KBD(VK_KANJI,CLICK,20)
じゃ認識してくれないこと多いな

KBD(VK_KANJI,DOWN)
KBD(VK_KANJI,UP,30)

こういう風にすると認識するかもしれない
これでも認識しないときは30を50とかに変えると良いかも

408:名無しさん@お腹いっぱい。
10/05/07 21:39:44 YqDfIqgLP
>>407
僕の環境じゃ無理だったっす。手入力じゃできるのになぜ再現できん。

409:名無しさん@お腹いっぱい。
10/05/08 02:25:23 KCjmmf/Y0
2010/05/08 UWSC Ver4.6a、 Pro版と Free版をリリースしました。

410:名無しさん@お腹いっぱい。
10/05/08 06:32:02 JqIMMq5FP
昨日からさんざん書き込んでいる初心者ですが、Google日本語入力からATOKにしてみました。
そうするとメモ帳への半角/漢字キーの入力の再現ができました。
ただ、やはり3Dゲーム上での半角キーの入力の再現はやはりできませんでした。
しかしちょっとすっきりしました。

411:名無しさん@お腹いっぱい。
10/05/08 11:18:11 ASg7DSZb0
4.6aでやっとこchkimgのバグが修正されたか。

412:名無しさん@お腹いっぱい。
10/05/08 11:33:41 QYwcVRY00
>>411
どういうバグ?
俺はたまに repeat に入れたchkimgで止まることあるんだけど・・・
関係ないか?w

413:名無しさん@お腹いっぱい。
10/05/09 00:22:33 YB83BsnNP
>>408
仮想キーボードやらソフトウェアキーボードやらを使って間接的に入力するのは?
やった事ないから出来るかはわからないけど

414:名無しさん@お腹いっぱい。
10/05/09 22:44:32 wzyOTChL0
こんにちは。
先週初めて競艇場に行った女子大生です。
競艇場内ののトイレに入ってウンコをしようと思ったのですが、
「トイレットペーパー以外の物は流さないで下さい」
と張り紙がしてあったのでウンコをビニール袋に入れて持って帰りました。
非常に不便さを感じました。競艇場ではこうなんですか?
皆さんはどのようにしているのでしょうか?
参考に聞かせてくれませんか?


415:名無しさん@お腹いっぱい。
10/05/10 00:35:50 LYMCbv6H0
>>414
うんこは食べてしまえば荷物にならなくていいです。




と言うのは冗談で、ウンコを流してダメなトイレはないので素直に流してください。






いつものコピペだけど念のため。

416:名無しさん@お腹いっぱい。
10/05/10 11:09:35 xjPPSIWT0
トイレで流れない極太ウンコをしたことを思い出した

417:名無しさん@お腹いっぱい。
10/05/11 13:33:04 tljPtQDt0
print と UWSC本体のログの書き込み時間の違いってコントロール出来るんでしょうか?
print実行した直後にログも更新されてるといいんですが…

418:名無しさん@お腹いっぱい。
10/05/11 13:59:34 A7VZNycf0
>>417
それってログファイルを開いて最後の書き込みを監視して動くとか?
書き込みするファイルを常に開いて中身をチェックするのはあんまりよくないから、
クリップボードとか環境変数とか使ったほうがいいと思うんだけど。


419:名無しさん@お腹いっぱい。
10/05/11 18:18:28 tljPtQDt0
基本的に単に見るだけです。
問題があったらUWSC自体を止めるのが目的。

今スクリプトを書いてる最中で何度もテストしてるんですが、doscmdの実行中は
UWSC自体が応答無しになっていてprintのウィンドウを大きくできない状態になります。
UWSCを使って動画のエンコード等しているんで9割以上の時間応答無しになったままです。
一度doscmdが終わってUWSCに実行が戻ってくる瞬間はprintのウィンドウが更新されるんですが
ログの方は更新されない。

関数の中だと書き込まれないのも違うし、時間やある一定量書き込んだらというのも違うし…
ログじゃなくて、FOPEN-FCLOSEでやった方がいいんでしょうかね。

420:名無しさん@お腹いっぱい。
10/05/12 11:07:41 a5vstssbP
教えてください。getIDでタイトルなしでクラス名のみでIDを取得することはできますか?
自分がIDがほしいアプリのウインドウは毎回タイトルを変えたり、空白だったりするので。

421:名無しさん@お腹いっぱい。
10/05/12 11:19:12 8thtGBLI0
getID("",”クラス名”)
でやってみそ

422:名無しさん@お腹いっぱい。
10/05/12 11:40:57 a5vstssbP
ありがとうございます。成功シマシタ。
id = getid("", "MozillaUIWindowClass")
のクラス名の前に置くスペースの位置でつまづいていました。

ど素人にイチからちゃんと学ぶことができる筋道ってありますか?
windowsマクロテクニックの本は有効なのでしょうか?買って損したみたいな
感想もみたりするので・・・。

>>2の上の方の初歩の初歩のサイトを2日かけて読みました。
あとはヘルプみながらサンプルスクリプトを弄るしかないのでしょうか?
>>2のようなサイトでずっと続きが読みたかった。


423:名無しさん@お腹いっぱい。
10/05/12 12:22:53 henq843t0
UWSCの解説本なんかあるのかよ…

UWSCは基本だけ押さえておいて、あとはWSH関連をやったほうがいいと思うぞ。
WSH等コンポーネントを呼び出して使うことが多いから。

UWSCのヘルプとWSHのヘルプ
( URLリンク(www.microsoft.com) のscd56jp.exe)
だけで結構なんとかなる。

424:名無しさん@お腹いっぱい。
10/05/13 12:59:27 8TRBb1jz0
去年は残念ながら失敗した

425:424
10/05/13 13:00:08 8TRBb1jz0
ゴバ━━(゚∀゚)━━ク!!!!

426:名無しさん@お腹いっぱい。
10/05/14 12:27:28 ps7Xn0cn0
すみません、あるネットゲームにおいて2つのパソコンを使い
自動で対戦したいのですが、かんじんなマクロ言語をまったく知りません;;
なので、知識のある方にお願いして(PC詳しい友人無し)
画像認識を含むマクロスクリプトを作って頂きたいのですが、
そういた類の者をオファーできる会社等はあるのでしょうか?
勿論無料とはいいません
よろしくお願い致します!

427:名無しさん@お腹いっぱい。
10/05/14 12:28:58 hrZJMe7r0
>>426
ゲームによるけど?
タイトル言わないと来るものも来ないよ?

428:名無しさん@お腹いっぱい。
10/05/14 12:41:53 ps7Xn0cn0
>>427
ファミスタオンラインという恐らくネットゲームでは単純な方
のゲームだと思います

429:名無しさん@お腹いっぱい。
10/05/14 12:53:41 hrZJMe7r0
>>428
で、いくら出せるんだ?

430:名無しさん@お腹いっぱい。
10/05/14 12:56:18 ps7Xn0cn0
>>429
3万くらいじゃ無理でしょうかね?

431:名無しさん@お腹いっぱい。
10/05/14 19:24:06 rBaz5SrhP
バルーンメッセージを取得してテキストに出力したいのですが、取得方法がよくわかりません
出来れば特定ソフトのみのバルーンを取得したいのですが、なにか良い方法はありませんでしょうか
外部ソフトを使うなどでも全然おkなんですが・・・

432:名無しさん@お腹いっぱい。
10/05/14 19:50:47 JLo169nCP
>>431
情報料として8万円でいかがでしょうか?
業者に調べてもらうとなれば20万はするでしょう。

ご検討ください。

433:名無しさん@お腹いっぱい。
10/05/14 20:18:15 +o0AXIKx0
何勘違いしてるの?
2ちゃんはそういうところじゃないよ。
情報出し合う掲示板だよ。

商売したいなら出て行くか、
2ちゃんの広告枠買いなさい。


434:名無しさん@お腹いっぱい。
10/05/14 21:41:20 /UXjpTM40
>>432は何を考えて言っているんだ・・?
426に言うならわかるけども

435:名無しさん@お腹いっぱい。
10/05/14 21:48:11 wySSdIwP0
uwscでできることは基本的にWSHでも出来ますか?


436:名無しさん@お腹いっぱい。
10/05/14 22:00:32 MQnw18qw0
>>433
何細かいこと言ってるんだよ。
ネトゲのアイテムやツールやキャラなどを2ちゃんねるで売買するのは普通のことだよ。
2ちゃんねるで車の売買とかもやってんだぜ?

車どなたか譲ってください。
スレリンク(car板)

>>426
プレイ動画をちょこっと見たけど、ちょっと難しいね。
・・・仮にボールのビットマップが固定だとすれば座標サーチでいけると思うけど、・・・
あ、変化無しでただ投げるだけ打つだけならもうちょっと簡単かも。
投げる操作をすると同時に、投げましたよともう一台のPCにメッセージを送る。
打つ方は画面は見ずにメッセージを受け取ったタイミングで打つ。
それでもキャラごとにスピードが違うからなあ・・・
通信回線によっても、バッター側に届くタイミングがずれるし・・・


437:名無しさん@お腹いっぱい。
10/05/14 23:04:27 ps7Xn0cn0
>>436

アドバイスありがとうございます
こんなこと言っては失礼ですが、違うんです><試合中はもうD連打だけでいいんです><
打つタイミングとか投げるタイミングとかもランダムで...
自分が行って貰いたいのはポイントを簡単に纏めると
試合開始する→ロビーから出る→また試合開始する
この一連の作業をUWSCのマクロスクリプトで行いたいだけなのですが><
まったくPC知識もないもので..

している方に聞けば、マクロ知識と画像認識ソフトがいるみたなのですが
やっぱり人に頼むのは無理ですよね><


438:名無しさん@お腹いっぱい。
10/05/14 23:10:48 t4ypZjEx0
>>437
それなら簡単そうだから勉強する意味でも自分で組んでみたらどう?
わからなかったらその都度ここで聞けばいいし
とりあえず流れ的には
1.PC1で部屋を作る
2.PC2で1で作った部屋に入る
3.試合を開始する
4.PC1、PC2共にD連打する
5.試合が終わりロビーに出る
6.1へ戻る
でいいのかな?
画像判定は試合中なのかロビーにいるのかを判定する時に使うくらいじゃないかな
そういうのはUWSCで全部できちゃう

439:名無しさん@お腹いっぱい。
10/05/14 23:39:28 ps7Xn0cn0
>>438
さすが頭のいい方は仕組みの理解が早いですね;;
おっしゃるとうりです
上級者の方にはやっぱり簡単なプログラミングなんですね;;
マクロ知識まったく皆無で半年はかかりそうですが、自分で試す事
にしてみます!
この度はどうもありがとうございました!!

440:名無しさん@お腹いっぱい。
10/05/15 16:35:52 qdoKfTAuP
このスレ終わってんな

441:名無しさん@お腹いっぱい。
10/05/15 20:10:08 gQIYbWRy0
>>435
基本的にWSHはCOM経由で操作するために設計されてるものなので低レベル入出力はほぼできない

442:名無しさん@お腹いっぱい。
10/05/15 22:17:03 g7rDCx6T0
ctrlwinでウィンドウをTOPMOSTとNOTOPMOSTでトグルしたいんだけど
TOPMOSTになってるウィンドウかどうかというのを知るにはどうすればいい?

443:名無しさん@お腹いっぱい。
10/05/16 03:08:18 QQZQPNYAP
キッチンのカウントダウンタイマーみたいな効果を
UWSCで実現したいのです。ぐぐって見つけたのですが、
URLリンク(www3.bigcosmic.com)
このページの一番上の書き込みをそのままコピペして
新しく作った.UWSファイルにペーストしても
まったく動いてくれません。どう編集すれば
動いてくれますか?おしえてください。
(TimeWaitみたいな関数ないですよね?ヘルプにのってないし)

444:名無しさん@お腹いっぱい。
10/05/16 03:37:10 xeTkbS2L0
>>442
TOPMOSTにしてないやつはなってないはずなので、
自分でどっちに制御したかを変数で持ってればいいんじゃね?

>>443
スクリプトは
Function TimeWait(time_remain, RepeatTime)
から始まっていますよね。
これは自作関数を定義するものですが、どこかから呼び出される必要があります。

具体的には、ファイルの先頭から
TimeWait( 60, 3 )
Function TimeWait(time_remain, RepeatTime)
・・・(省略)
Fend
というように、TimeWait()を呼び出すコードを先に記述しなければなりません。
具体的にどんな引数を渡すべきなのかとかは、めんどくさいので見てません。

> TimeWaitみたいな関数ないですよね?
何もしないで休んでいる組み込み関数ならあります。
sleep() です。
でも、それでは何が起こっているかわからないのでいろいろするわけですね。


445:名無しさん@お腹いっぱい。
10/05/16 03:53:09 QQZQPNYAP
>>444
ありがとうございます。ためになります。
ということは、投稿されたものよりも前に
たくさんのコードがあってそれが
消されてるということなのかな。

自作関数っていうぐらいだから、それを定義する
コードがたくさん必要なんでしょうね。
ただ1~2行ぐらい変数を定義してやればいいとぐらいにしか
思ってませんでした。

分ー秒の単位でカウントダウンの経過がわかる
スクリプトを探していたのですが先は長そうですね。

446:名無しさん@お腹いっぱい。
10/05/16 06:56:22 xeTkbS2L0
>>445
ラーメンタイマー程度で見た目も精度もいらないんなら簡単に記述できるんですけど、
やっぱ画面とかあったほうがいいだろうし、そうすると有償版使うかHTMLのスクリプト使うか、
もしくはHSPなどを使ったほうがいいかもしれません。

sleep()を使った3分タイマーを作ってみました。
まあ、正確な時間を刻まないと生理的に受け付けないとは思いますが・・・単純なSleep()のループよりは正確です。

利点は・・・スクリプトなのにCPU負荷が小さいこと、なのに(多分)正確なタイマー。
欠点は・・・3分でもカウント(表示)が数秒ずれる。負荷を100%で動かすと表示が10秒単位でずれてしまう。
      カウントのスリープ時間を自分で微調整する必要があり、結果がまちまちなこと。
      ま、Gettime()のループにすれば正確になるんですが。・・・やっぱそっちでやった方がシンプルで分かりやすいかな?

// 3分タイマー
TIME = 60*3 // タイマーの時間
PUBLIC start_t = gettime()
print "start"
thread count(TIME)
sleep(TIME)
print "sleeptime:" + (gettime() - start_t)
msgbox("3分経ちました")

//およその残り時間を表示(表示のみ)
Procedure count(times)
 for i = 1 to times
  fukidasi(times - i)
  // sleep(0.966) // +5秒
  // sleep(0.9) // -3秒
  sleep(0.93)
 next
  print "counttime:" + (gettime() - start_t)
Fend

447:名無しさん@お腹いっぱい。
10/05/16 07:55:08 QQZQPNYAP
>>446
ありがとうございました。
使わせていただきます。時間は適当でいいです。CPU負荷が小さいほうが
利点あります。
sleepの時間ってずれるんですね。はじめてしった。
いままで単純なsleep(1)で通してたんですが。
見てもわからないところばかりですが、このコードみて調べます。
ありがとうございました。

448:名無しさん@お腹いっぱい。
10/05/16 10:42:58 ieNwpaRT0
>>444
> TOPMOSTにしてないやつはなってないはずなので、
> 自分でどっちに制御したかを変数で持ってればいいんじゃね?

いや単にウィンドウの状態を変えるだけのスクリプトなんで、
TOPMOSTにした後は終了したいんですよ。
INIでも作ればいいのかもしれないですが、もっと直接的に取得する方法って無いもんかと。

ついでに言えば、ウィンドウのZ順?も取得・変更できたら嬉しい。

449:名無しさん@お腹いっぱい。
10/05/16 10:46:32 WMf1B8jLP
sleepがズレるわけじゃなくてsleep以外の処理でズレるんだよ

for文に使われる比較処理だってCPU使うし、もちろんsleepをコールする処理自身もCPU使う
だからCPUの負荷だけではなくクロック数やバス幅に影響してしまう

450:名無しさん@お腹いっぱい。
10/05/16 10:57:04 WMf1B8jLP
>>448
uwsc自体ではZオーダー提供していないんだから
自分でAPIを呼び出すしかないんじゃね?

451:名無しさん@お腹いっぱい。
10/05/17 01:50:05 i4pMt12q0
>>439
もう見てないかもしれんけど
マド作るなら今よりロビー等の変更が来てからの方がいいよ
画像の用意とか二度手間になる。
まじでやりたいなら教えてやるよ。

452:名無しさん@お腹いっぱい。
10/05/17 02:14:59 nvgS/jkJ0
>>451
マド死ねよ。

453:名無しさん@お腹いっぱい。
10/05/23 15:52:15 O7k5xAup0
uwscって意外と時間指定してボタンを押せとか
やるの難しいと思った
知り合いの家に行く間に、何回か録画ボタンを押して欲しかったんだが
プログラム書こうとして、全く歯が立たなかった
タイマー機能があるのを思い出して、事なきを得たが1時間半くらい悩んだんだよなw
と、思って今やったら、案外簡単に時間って取得出来るのね
あとはこれを上手い具合に変数に格納して、設定した時間と比較して同じになったら
~しろって風にすれば、タイマー一丁上がりか
変数に155958みたいに格納出来れば楽そうなんだが
あー、A=15*10000+59*100+58でいいのか、簡単じゃん(^^;
俺アホス

454:名無しさん@お腹いっぱい。
10/05/23 18:51:26 yypYUx/y0
>>453
そのやり方もまだまだ。
なんとヘルプファイルにもっと良い時間の取得の方法が書いてあるんだぜw

…まぁ、変数をどういう使い方にするか、にもよるんだがな。

455:名無しさん@お腹いっぱい。
10/05/24 09:22:00 cYdOlD8C0
uwscがスクリプトを現在実行中かどうか確かめる命令はありませんか?


456:名無しさん@お腹いっぱい。
10/05/24 18:34:15 30r1mvWj0
>>453
数値を文字列として連結したければ
a=123
b=456
c=""+a+b
みたいにやればよし。c=a+""+bでもいい

> あー、A=15*10000+59*100+58でいいのか、簡単じゃん(^^;

これだったらA=""+15+59+58

457:名無しさん@お腹いっぱい。
10/05/25 19:52:53 Hp1Js47E0
テキストエディタでスクリプト書こうかなと思って先ほどフリー版uwscを導入したのですが
保存するときの文字コードや改行コードについてヘルプに書いてないのですが特に制限は無いですか?

458:名無しさん@お腹いっぱい。
10/05/25 21:12:54 HDkoFkpY0
>>457
書いてなくて安全策をとるなら普通Windows版アプリではShift-JIS+CRLFにしない?

459:名無しさん@お腹いっぱい。
10/05/25 22:29:28 Hp1Js47E0
windowsだからShift-JIS+CRLFとは限らないのにw

460:名無しさん@お腹いっぱい。
10/05/25 22:46:22 BuCIUw3E0
やってみればわかることを聞く人には向いてませんよ。

461:名無しさん@お腹いっぱい。
10/05/25 23:23:24 Hp1Js47E0
>>460
その程度の知識がないならわざわざレスしなくて結構・・・とだけレスしとく

462:名無しさん@お腹いっぱい。
10/05/25 23:24:48 Hp1Js47E0
あ、そうそう一言伝えますね
winだからsjisと決め付けてかかるのはやめたほうがいいですよ

463:名無しさん@お腹いっぱい。
10/05/25 23:42:12 PWagYqdo0
sleep(2)
sleep(2)



sleep(4)

は同じことですか?



464:名無しさん@お腹いっぱい。
10/05/26 00:45:15 tqM7XX7P0
>>455
タスクマネージャにuwsc.exeがあれば実行中かも。
メイン画面も1件としてリストに出てくるけど、見た目で実行中か分かるし。
コマンドはqprocess


>>457-462
試してみたけど、スクリプトの保存形式はunicodeでも動くけど、コードの扱いはシフトJISだね。

DEF_DLL MessageBoxA(HWND,pchar, pchar, DWORD): Long: user32.DLL
DEF_DLL MessageBoxW(HWND,pchar, pchar, DWORD): Long: user32.DLL
MessageBoxAなら保存形式に関係なくテキストが表示できるけど、
MessageBoxWだと文字化け。


>>463
微妙に違う。
sleep(2)×2の方がCPUを消費するし、時間もかかる。


465:名無しさん@お腹いっぱい。
10/05/26 01:15:34 HAnL27G70
なんで教えを乞う立場の者が煽れるんだろう。
基本的に人間ができてないな。

466:名無しさん@お腹いっぱい。
10/05/26 04:40:14 7RyXzF0VP
人間的云々言う場所じゃないだろ
嫌ならレスするなカス

467:名無しさん@お腹いっぱい。
10/05/26 07:11:30 L/ZmdYFd0
レスしているのは人工知能だよ

468:名無しさん@お腹いっぱい。
10/05/26 09:36:14 bXusYbn00
じゃあ俺も人口知能!

469:名無しさん@お腹いっぱい。
10/05/26 15:21:35 Ce2KrQJg0
このスレの人口分布

回答者・・・・・・・・・・・・・・・・・・・ 1%
質問者・・・・・・・・・・・・・・・・・・・10%
態度がでかい自称回答者・・・89%

470:名無しさん@お腹いっぱい。
10/05/26 18:00:04 DoB0DBXA0
なぜ態度のでかい質問者がないんだろう

471:名無しさん@お腹いっぱい。
10/05/26 18:03:02 Y3WtWtht0
実際はレベルの低い回答者が原因で荒れるからだろ

472:名無しさん@お腹いっぱい。
10/05/26 22:45:02 HAnL27G70
>>466
悔しそうだなwカスw

473:名無しさん@お腹いっぱい。
10/05/28 06:10:20 6og4XoNt0
ついでに書いておくと、Pythonの場合は保存形式の文字コードがスクリプトにも反映される。
だから大変。
Pythonでも新しめのバージョンでは、リテラル文字指定でユニコードに指定できたりする。



それよりこれ。
for i = 1 to 33000
 navigate(url)
 sleep(1)
next
この程度のスクリプトで逮捕ですよ。

【社会】 図書館HPにアクセス3万3千回で、会社社長逮捕。1秒に1回アクセス繰り返すプログラム作る…愛知
スレリンク(newsplus板)


474:名無しさん@お腹いっぱい。
10/05/28 11:11:33 kipVwqRc0
それは手動でやってても同じだわな。
問題なのはスクリプトじゃなくて意図。

475:名無しさん@お腹いっぱい。
10/05/28 12:08:01 XdAWpU3T0
>図書館のホームページに集中的にアクセスし、閲覧しにくくしたとして、 逮捕・・・

1秒間に3万3千回アクセスかと思ったら、1秒間に1回かよ?
逆に1秒間に1回のアクセスで重くなるHPなんて、どうやったら作れるんだよ?

476:名無しさん@お腹いっぱい。
10/05/28 12:10:35 N8m5GgbM0
>>473
お前素人だろ


477:名無しさん@お腹いっぱい。
10/05/28 13:27:01 kipVwqRc0
>>475
日本のお役所仕事を舐めちゃいけない

478:名無しさん@お腹いっぱい。
10/05/28 18:03:34 a1h0S9px0
>>475
きっと鯖が初代PC98のまま更新できなかったりするとそうなるんじゃね?

479:名無しさん@お腹いっぱい。
10/06/01 04:12:46 6RwPsnvD0
343 名前:名無しさん@十周年[sage] 投稿日:2010/06/01(火) 01:25:49 ID:SDO0GhkS0
 楽天プライズでUWSCのスクリプトで24時間スロット廻し続けてたら対策された。
 何時間も遊んでたら「遊びすぎじゃ、休憩せい」って弾かれる様になったのは
 俺のせい。 楽天グッズとかショボイ景品が途中で出るようになったのも俺のせいかも。

 ちなみに、ゴールドは長時間遊ぶほどに出玉が悪くなる仕様だと統計とれた。

480:名無しさん@お腹いっぱい。
10/06/01 09:26:32 OoGhQHoP0
20年以上動いてる鯖があるってのか

481:名無しさん@お腹いっぱい。
10/06/01 09:43:30 6RwPsnvD0
30年前のだって現役です

【大分】 「『ょ』入力できぬ」代わりに「き『よ』う子」と入力した健康保険証や年金手帳などを発行 年金事務所が謝罪
スレリンク(newsplus板)
>  同事務所が調べたところ、使用しているシステム(国が1980年に導入)は通常のパソコンとは違い、
> 「ょ」「っ」などは特殊な入力方法のため、職員が知らなかったらしい。

482:家電.com
10/06/01 09:47:46 Cz2396tn0
家電.com
HP
URLリンク(Kadencom.chochouo.com)



483:名無しさん@お腹いっぱい。
10/06/04 23:40:40 iS3gjDV40
2chなどでリンクを踏んだら直接リンク先に行くのではなく
リンク確認の画面に一度飛ばされるのですが、
その画面になったらすぐに次のリンクをクリックする
スクリプトを書きたいのです。

UWSCの誘惑にクリップボードのURLをブラウザに渡すスクリプトあるけど、
そうじゃない形で常に監視しておく形で次々にリンクを踏む形を
取りたいのです。

だれか書いてくださいませんか? お願いします。
初心者ながら書いているのですが
エラーがでてしまいます。

484:名無しさん@お腹いっぱい。
10/06/05 00:04:07 iS3gjDV40
こんなんじゃ、まだまだ遠いですか?
エラーでてとまっちゃいます

ctrlwin(getid("","TAppication"),activate)
STOPFORM(TRUE) // ストップボタン表示
ACW(0, 1150, 850)

IE = CREATEOLEOBJ("InternetExplorer.Application")
IE.visible = true
X=0
repeat

IEid = GETID("Internet Explorer")

wks = GETSTR(IEid, 0, STR_STATIC )  // タイトルをGET


IFB POS("リンク確認", wks) > 0 THEN
MsgBox("発見")
sleep(0.5)
UNTIL !IE.busy AND IE.readystate = 4

ret = IELINK(IE,"上記のページにジャンプしようとしています。問題ない場合はクリックしてください")
x=x+1

ELSE
 sleep(1)

ENDIF
until x <> 30

485:名無しさん@お腹いっぱい。
10/06/05 01:01:23 7xrzyNYi0
敢えて言おう。専ブラ使え。

486:名無しさん@お腹いっぱい。
10/06/05 01:32:53 sSGL2jFW0
初歩的な質問ですみません。
for i= 1 to 100
で回している間、実行したくない i に対して
if i=5 or i=10 or i=32 or i=56 then ・・・
の様に書いているのですが、 i= が多くなると書くのが面倒くさいのでもう少しまとめて
書く方法はあるのでしょうか?例えば
i=(5,10,32,56)
みたいに・・。これではダメだとは思うのですが、他の書き方で。
どなたかお願いします。

487:名無しさん@お腹いっぱい。
10/06/05 03:01:33 7xrzyNYi0
実行したくない数に法則性があるならそれを式にする。
単なるリストならそれを置換して作ってしまえば。

置換したくない番号の配列作っておいて、iをそれを比較するとか。

for i=0 to 10
if isNG(i) then print "NG:"+i
next
function isNG(num)
dim ng[]=5,10,32,56
for i=0 to resize(ng)-1
ifb num=ng[i]
result = 1
exit
endif
next
result = 0
fend

488:名無しさん@お腹いっぱい。
10/06/05 05:19:02 XHbnzUaJ0
>>486
基本的にない。

C言語ならこう書けるけど
switch{
 case 5:
 case 10:
 case 32:
 case 56:
  コード;
  break;
 default:
}

でも、ORoperation()っていう関数を作ればそういう書き方は可能。
if ORoperation( i, 5, 10, 32, 56 ) then
って感じで。
まあ、数値の奴は配列に入れて渡した方がいいんだけど。
if ORoperation( i, Array ) then

function ORoperation( a, x1=0, x2=0, x3=0, x4=0, x5=0, x6=0 )
 dim Array[] = x1, x2, x3, x4, x5, x6, 0 // 0はループ脱出条件
 result = true
 i = 0
 while Array[i]
  if i = Array[i] then exit
  i = i + 1
 wend
 result = false
fend
動くかどうかは知らない。


489:名無しさん@お腹いっぱい。
10/06/05 05:37:27 XHbnzUaJ0
>>486
全ての場合にそういう共通処理が考えられるのなら、配列パラメタを使うべきかも

dim Pattern[101] // ="a","x","b","x","c"・・って感じで並べてもいい
Pattern[5] = "a" // 数値の方が扱いやすいが、とりあえず文字の方が分かりやすいかと。
Pattern[10] = Pattern[5] // 都度代入は変更がめんどいので
Pattern[32] = Pattern[5]
Pattern[56] = Pattern[5]

if "a" = Pattern[i] then
もしくは
select Pattern[i]
 case "a"
  コード
 case "b"
 case "c"
 default
  print "パターンなし"
selend

490:名無しさん@お腹いっぱい。
10/06/05 08:54:06 BLq+NU9U0
初歩的かもしれませんが自分ではちょっとできないので質問させていただきます。
Aという画像が始めない場合はそのままで、もし見つかったら次に画像Aが消えたときに各処理をしていくというものとして下のようなものを書きました。
while true
 ifb chkimg(A)       ・・・1
   while true
     ifb chkimg(A)  ・・・2
   else
     処理
   endif
   wend
 else
   sleep(1)
 endif
wend
実際に動かしてみたことろ処理が終わった状態でもずっと2のifbを続けます
そこでこのスクリプトに「特定のキーを押した場合1のループに戻る」といった機能をつけようと思ったのですが、
どこにどのような命令を挿し込めばいいでしょうか。
一応2のifbのあとにif GETKEYSTATE(VK_ESC) then exitを入れてみたのですがどうにも反応していないようです。
稚拙な文にてわからづらいところ多々あるかと思いますがよろしくお願いします。

491:名無しさん@お腹いっぱい。
10/06/05 13:14:44 hXFmkiOc0
>>490
処理が終わったらループから抜けるのを忘れてるんじゃない?
2 の IFB ブロックの『処理』で最後に BREAK すれば一つ上のループに戻るよ

492:名無しさん@お腹いっぱい。
10/06/05 15:14:33 XHbnzUaJ0
>>490
elseの処理に数秒以上かかるようなら、キー入力を拾えてないかも。
キーをクリックしてから1秒以上経過してからGETKEYSTATEを動かしても、
キー情報は消えてるっぽいから、押されてないことになってるんだよ。

ESCを連打していればそのうち抜けると思うけど。


493:名無しさん@お腹いっぱい。
10/06/05 18:08:16 7xrzyNYi0
>>490
 while true
  ifb chkimg(A)  ・・・2
  else
   処理
  endif
 wend

2の結果にかかわらずずっとwhileループの中。
画像Aが無くなった後ずっと「処理」を続ける。
その間2はずっとfalseなんでifの直後つまりifがtrueの時実行される場所に
getkeystateを置いても実行されない。
入れるなら「処理」の直前。

while true
 ifb chkimg(A)
  while chkimg(A)
  wend
  処理
 endif
wend

ていうかこんなんでいいんじゃないの?
sleep無いけど。

494:名無しさん@お腹いっぱい。
10/06/08 20:48:06 /dGW5DYk0
斧戦争ツール作れよカスども

495:名無しさん@お腹いっぱい。
10/06/10 23:23:04 t9RcVFEr0
スクリプトを指定した時間だけ動かすという方法はあるのでしょうか?
例えばスクリプトを走らせてから30分間とかです。

496:名無しさん@お腹いっぱい。
10/06/11 00:39:39 aLuYGiLxP
これはひどい

497:名無しさん@お腹いっぱい。
10/06/11 04:58:24 l1wBl/570
>>495
UWSCはメインが終了したら、他のスレッドが動いていても終了します。

だから、こんな感じでやれば30分きっかりで終了できますが、当然処理は無条件に中断します。
-- sample.uws ここから--
thread func()
sleep(30*60)
exitexit // 不要だが、ここで終了と明示する意味で。

proceduer func()
 // 基本的にこちらですべて処理する
 while true
  sleep(1)
 wend
fend
-- sample.uws ここまで--

中途半端に終了したくない場合、sleep(30*60)の代わりにGettimeのループで
今はダメっていうフラグを監視すればいい
f = false // 処理中フラグ。処理中はtrueがセットされる
t = GetTime()
while GetTime < t + 30*60
 repeat
  sleep(1)
 until ! f
wend
ちなみに、この場合はrepeatじゃないといけない。
そうしないとsleep()してる間にフラグがセットされる可能性が高いから。
もっと確実にやるなら終了するぞっていうフラグも立てるべきかな。


498:名無しさん@お腹いっぱい。
10/06/12 13:07:37 1g6XM8MfP
あるウィンドウの子ウィンドウにドラッグドロップしたいんですが、子ウィンドウのIDはどうやって取得すればいいんでしょうか?


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch