11/09/19 10:51:50.12 Lu+UWKgw0
おぉう…次はsyntaxerrorとでた
PROCEDURE:パス→ファイル名
PROCEDURE:パス→ファイル名()
どういうことなんだ…
96:名無しさん@お腹いっぱい。
11/09/19 14:26:02.53 s/fbnihd0
>>95
ファイル名に、ファイル名(1)等使えないんじゃなかったかな
文字をチェックしてクリックさせたいんだが、透過してる文字を上手く認識出来ないんだ
何か良い方法ないだろうか
97:名無しさん@お腹いっぱい。
11/09/19 15:38:34.06 KLl7faDV0
MMVとBTNのみで指定座標にポインタ持って行って左クリックする単純なマクロ組んでみたんだけど
マクロ動作が一回終わると、マウスポインタの位置が終了地点にあった場所のままになるのが不便です
終了時に、開始時にあった場所までマウスポインタを移動させることは出来ないでしょうか?
マウス位置は毎回決まっていないので絶対座標や相対座標での指定ではどうしても対応できません
98:名無しさん@お腹いっぱい。
11/09/19 15:43:13.82 RkCkW0cL0
何がわからないのかがわからない。
開始時の座標に移動すればいいだけじゃないの?
99:名無しさん@お腹いっぱい。
11/09/19 15:44:55.54 mUCrqSzR0
>>97
G_MOUSE_XとG_MOUSE_Yを使えば良い
100:97
11/09/19 16:00:25.62 KLl7faDV0
わかりにくくてすみません
開始時、というかマクロ実行前にポインタがあった場所に戻したいという意味です
マクロ実行前のポインタの位置は毎回違う場所なので、MMVやG_MOUSEによる座標指定じゃ対応できないんです
101:名無しさん@お腹いっぱい。
11/09/19 16:45:57.98 ZacMjfvN0
>>100
対応できてないのは君の脳みそです。
メイプルストーリーのマクロの話ならメイプルストーリーマクロスレでしてください。
MapleStory マクロスレ part8
スレリンク(mmosaloon板)
102:名無しさん@お腹いっぱい。
11/09/19 17:42:49.40 RkCkW0cL0
>>100
開始時の G_MOUSE_X, G_MOUSE_Y の座標へ終了時にMMVで移動する
という方法で対応できないってってどういうことなのかがまずわからない
103:97
11/09/19 18:17:57.02 KLl7faDV0
G_MOUSE_X, G_MOUSE_Yの意味を完全に勘違いしていたようです
グーグル先生にきいたらようやく望む動作が出来ました
助言ありがとうございます、お騒がせして申し訳ありませんでした
104:名無しさん@お腹いっぱい。
11/09/20 02:03:26.44 2nDvhLTQ0
REPEAT~UNTIL構文で、もしそれらが100回繰り返されたなら最初の行に戻るとかの操作ってできますか?
他の関数を使ったほうが楽かな?
105:名無しさん@お腹いっぱい。
11/09/20 02:18:53.65 ABtM6c/O0
>>104
REPEAT
for i = 1 to 100
next
UNTIL
106:名無しさん@お腹いっぱい。
11/09/20 04:34:15.95 LIQNrKGX0
while true
if A=0 then wend
endif
wend
こんな感じの物を作ったのですが
SyntaxError ○○行目 WEND と出てしまいます
うまいことwhileに戻るためにはどうしたらいいのでしょうか?
107:名無しさん@お腹いっぱい。
11/09/20 04:35:52.73 ABtM6c/O0
>>106
メイプルストーリーのマクロの話ならメイプルストーリーマクロスレでしてください。
if A=0 then continue
108:名無しさん@お腹いっぱい。
11/09/20 07:22:00.68 2nDvhLTQ0
>>105
ありがとう
109:名無しさん@お腹いっぱい。
11/09/20 08:19:46.52 NepLfCzV0
>>105
これだと普通に100回返してREPEATに戻るだけじゃない?
i = 0
REPEAT
i = i + 1
// 処理
UNTIL i = 100
110:名無しさん@お腹いっぱい。
11/09/20 12:30:26.82 cXGtv05e0
>>107
最後の行以外は同意だが、スクリプトが間違ってるのはいただけない
111:名無しさん@お腹いっぱい。
11/09/20 14:04:44.16 ABtM6c/O0
>>109
> これだと普通に100回返してREPEATに戻るだけじゃない?
それだと普通に100回繰り返してREPEATを出るだけじゃない?
>>110
間違ってないでしょ
112:名無しさん@お腹いっぱい。
11/09/20 22:01:01.08 893Zq7jZ0
最初に戻りたいなら iをリセットして戻ってやる必要があるんだね。
113:名無しさん@お腹いっぱい。
11/09/21 11:22:13.33 0ao2G7LF0
タイムアウトのメッセが出てしまった時はどう復帰すればいいんでしょうか?
114:名無しさん@お腹いっぱい。
11/09/21 11:39:40.42 d2FZUd/Z0
>>113
タイムアウトは誰が実装したの?
115:名無しさん@お腹いっぱい。
11/09/21 11:47:38.70 0ao2G7LF0
>>114
わかりません。
BusyWait(IE)
しか書いていないのですが・・・
数分固まると勝手に永久に止まるようです。
止まった直前からやり直してもらえたら助かるんですが・・
116:名無しさん@お腹いっぱい。
11/09/21 11:54:13.75 P1YU6YWy0
BusyWait関数はちゃんと書いたの?
どういう動作させてるの?
自作じゃないの?
117:名無しさん@お腹いっぱい。
11/09/21 12:01:27.64 d2FZUd/Z0
>>115
もうちょっと調べろ
118:名無しさん@お腹いっぱい。
11/09/21 12:03:00.78 6T6vDxjv0
なんで最近は底レベルすぎる質問ばっかりなんだ?
119:名無しさん@お腹いっぱい。
11/09/21 12:08:25.84 0ao2G7LF0
質問しづらい空気になりましたので失礼しますm(__)m
120:名無しさん@お腹いっぱい。
11/09/21 15:06:38.48 tCj0OWod0
メイプルストーリーでほんの10行程度のマクロで大もうけできるぞって
そのマクロ公開したやつがいて、
(ゲーム内通貨的に)実際結構な儲けになるはずなんだけど
UWSCが一部規制されちゃって初心者があぶれたんですよ。
暇になっちゃった連中と、それを回避して味をしめた連中のなかから
ちょっと意欲的なやつがいろいろ質問したりするようになっちゃって。
121: 忍法帖【Lv=1,xxxP】
11/09/21 15:15:31.45 tCj0OWod0
もしかすると販売されていたマクロを改造する目的だったりするかもしれない。
同じやつかは分からないけど、販売されていたものをアップローダにアップしてばら撒いちゃってて。
僕も入手したんだけどね。
だけど自分でいろいろ調整しないとちゃんと動かないもんだから
(職業やら火力的に)
いろいろ改良しようと思ってるんじゃないかな。
このマクロ使用者はマクロのヘルプで勉強してるから
UWSCのヘルプは見てないんですよ。
だから関数の説明に書いてあるようなことも知らない。
122:名無しさん@お腹いっぱい。
11/09/21 16:01:45.16 iBCpWPFX0
ウゼエ。だからゲームマクロは別スレでも立てて仲間内でやれって言ってるのに。
123:名無しさん@お腹いっぱい。
11/09/21 22:56:28.04 +mhvf0BH0
そう言えばバージョン違いを探してる奴も居たからアレもそうか。
124:名無しさん@お腹いっぱい。
11/09/22 04:06:39.39 7jc+M17q0
キーボード入力で
1→2→3・・・・9→を自動入力させたい
for i = 1 to 9
KBD(VK_i)
next
KBD(VK_変数)の形を試してみましたが駄目でした
125:名無しさん@お腹いっぱい。
11/09/22 04:40:10.25 9cda07do0
>124
i と VK_i は別物。
i は変数で、VK_I は i のキーコードで定義済み
変数は単独で記述されるものなので、文字列のように連結したりできない。
やり方はいくつかある。
ひとつはVK_1~VK_9 が連続していることを利用して、
VK_1 + i とする。 i は0~8。
KBD(VK_1 + i)
もう一つは "VK_" + i という文字列連結式で "VK_1" などの文字列を作り、
それをEVAL()でコードとして処理する。 i は1~9。
KBD(EVAL("VK_" + i))
あと、キー入力にはある程度の時間が必要。
0.023秒くらいは最低でも必要。
126:名無しさん@お腹いっぱい。
11/09/22 15:14:05.92 7jc+M17q0
>>125
ありがとうございます
これから試してみます
127:名無しさん@お腹いっぱい。
11/09/22 18:45:50.89 ieEZZa7r0
>>126
FOR i=VK_1 TO VK_9
KBD(i)
NEXT
128: 忍法帖【Lv=1,xxxP】
11/09/22 19:03:30.92 rA/UEYLu0
特定のキーをかなり早く連打だけさせたいんだけど一番早く連打出来るいい記述方法はなんなんだろう
129:名無しさん@お腹いっぱい。
11/09/22 19:06:45.94 9cda07do0
>>128
KBD(VK_X, DOWN)
130:名無しさん@お腹いっぱい。
11/09/23 02:06:12.58 mmh+AISY0
IFb CHKIMGで指定した画像をクリックしたいんですけど
pngは無理ですかね?bmpだけ???
無理だったら予め画像サイズを取得してそれをクリックってできますか?
お願いします
131:名無しさん@お腹いっぱい。
11/09/23 02:46:12.79 Tqv8/OZa0
>>130
ヘルプ嫁。な?
132:名無しさん@お腹いっぱい。
11/09/23 02:53:09.70 RQMUurNF0
後半も何が言いたいのかよくわからんな・・・
133:名無しさん@お腹いっぱい。
11/09/23 03:16:04.98 mmh+AISY0
すみません
BMPだけなんですね。。。
134:名無しさん@お腹いっぱい。
11/09/23 03:38:31.22 mIouI46U0
何か根本的に誤解してるような気がするぞ?
135:名無しさん@お腹いっぱい。
11/09/23 03:46:50.10 +A+Q5ALU0
ゲームにマクロ使うのは勝手だが自分で出来ないならやるなよな
136:名無しさん@お腹いっぱい。
11/09/23 04:05:49.69 RQMUurNF0
全くわからないならせめてプログラミング言語の基礎ぐらいやったほうがいい
137:名無しさん@お腹いっぱい。
11/09/24 00:14:50.08 uCZkef0D0
>>134さんのおかげで解決しました
ご指摘の通り誤解してました。。。
138:名無しさん@お腹いっぱい。
11/09/24 02:00:08.37 +MKugBWV0
>>137
良かったなゴミ虫
139:名無しさん@お腹いっぱい。
11/09/24 06:34:18.99 6nZiI89bP
音量のミュート、音量ありを切り替えるツールを作ろうと思うのですが
何をどうしていいのか分かりません。
今のところ、この機能を持っているTask Volumeというソフトを入れて
そのショートカットをuwscに打たせているのですが
直接uwscから操作する方法はないでしょうか?
140:名無しさん@お腹いっぱい。
11/09/24 07:02:45.54 grtvQlfc0
レジストリを使う方法と、APIを使う方法があるっぽい
まあ、スピーカーをクリックしてミュートをクリックでもいいと思うけど。
サウンドのボリュームをレジストリから設定する方法
URLリンク(blogs.yahoo.co.jp)
WindowsオーディオミキサーAPIを使う
URLリンク(www.terra.dti.ne.jp)
ミキサーをVBでコントロールする
URLリンク(www.cs.k.tsukuba-tech.ac.jp)
レジストリが簡単かな
CreateOLEObj("WScript.Shell") して
RegRead、RegWriteするだけだし。
141:名無しさん@お腹いっぱい。
11/09/24 10:50:08.39 rYZowqsS0
この手のレジストリ変更は実際に反映されるにはなんかAPIが必要だったような。
142:名無しさん@お腹いっぱい。
11/09/28 21:09:35.79 EimDsRd50
これから挑戦してみます
143:名無しさん@お腹いっぱい。
11/09/29 01:45:29.89 s1KaLVds0
画像1を数字の1、画像2を数字の2、・・・、画像pをp、等とおいて
"画面内に現れた画像"を置き換えた数値がx未満ならばaの処理を、x以上ならばbの処理をさせることって可能ですか?
144:名無しさん@お腹いっぱい。
11/09/29 02:06:10.36 7akdi0U20
画像1が見つかったら変数に1代入、画像2が見つかったら変数に2代入ってすれば?
もっとキレイな方法あるかもしれんけど、上記の方法で可能は可能かと
145:名無しさん@お腹いっぱい。
11/09/29 13:33:57.97 s1KaLVds0
とりあえず素直にifbで全通りの数字をパターン分けしてみます
ありがとうございました
146:名無しさん@お腹いっぱい。
11/09/29 13:50:16.62 ghCJcMsA0
可能だろうけど画像検索だと処理遅そうだね
147:名無しさん@お腹いっぱい。
11/09/29 15:34:09.82 LtJOz40J0
BusyWait(IE)を設定したスクリプトでIEで動作中に、
TIMEOUT BusyWaitのメッセージボックスが出て勝手に終了してしまう場合、
どんな対策方法があるでしょうか?
できれば止まる直前まで戻したいのです。
148:名無しさん@お腹いっぱい。
11/09/29 16:28:49.02 cQVAf44e0
>>113-119
149:名無しさん@お腹いっぱい。
11/09/29 16:36:22.53 aucywjc50
全貌を把握できてないスクリプトなんか使うんじゃねーよ
150:名無しさん@お腹いっぱい。
11/09/29 16:47:12.50 wQJkKBCc0
答える力がないなら出てこなきゃいいのに。
151:名無しさん@お腹いっぱい。
11/09/29 17:11:30.40 cQVAf44e0
その前に質問として成立してないんだよ。
なぜ成立してないかの理由もわかってない時点でかなり問題外。
152:名無しさん@お腹いっぱい。
11/09/29 18:49:16.06 JQXz4Q/10
>>150
おまえのことか
153:名無しさん@お腹いっぱい。
11/09/29 19:30:35.12 aucywjc50
UWSCが自身が出してるエラーメッセージ以外の
単なるスクリプトが出すメッセージボックスについて文句言われてもどうしようもないわ。
スクリプトのどっかに
msgbox("TIMEOUT_BusyWait")
って書いてあるだけの話だろうに。前後の内容隠してるから論外だわ。
154:名無しさん@お腹いっぱい。
11/09/29 20:57:02.43 BYSuqPkH0
BusyWait(IE) なら、有料版で録画したときに自動的に追加されるスクリプトだよ。
その中でタイムアウトしてることは、見たことがあれば知っているはずで、
名前を見ただけで分からないといけないレベル。
> タイムアウトは誰が実装したの?
っていうのがヒントで答えなので、僕はこれに関して書き込まなかった。
知らなかったやつは以後気をつけるように。
155:名無しさん@お腹いっぱい。
11/09/29 21:53:21.53 LtJOz40J0
素人向けの質問スレないですか?
156:名無しさん@お腹いっぱい。
11/09/29 22:11:47.62 BYSuqPkH0
>>155
ここは素人のあつまりですよ。本家もあるけど、敷居が高い。
対策だけど、戻るんじゃなく抜けないことだよ。ループの終了条件をいじって永久ループにする。
ほかの人も気をつけたほうがいいよ
IPA「バグを直さない開発者の氏名を公開し指名手配する。手始めに50人を公開処刑だ」
スレリンク(news板)
> 連絡不能開発者一覧
> URLリンク(jvn.jp)
> 問合せ番号. 開発者名 関連情報 一覧追加日
> DID#90902329 竹田暁彦 Akihiko Takeda's Homepage 11/09/29
> DID#59067674 ぜろちゃんねる 0ch BBS Script 11/09/29
> DID#87319672 小山浩之 11/09/29
> DID#83385455 帰宅する部活 11/09/29
> DID#37073608 鏡の国 11/09/29
> DID#46919198 K_OKADA's WebPage 11/09/29
> (他多数)
157:名無しさん@お腹いっぱい。
11/09/29 22:54:34.14 LtJOz40J0
短いスクリプト中のどこをどう探してもmsgbox("TIMEOUT_BusyWait") なんて存在しないんで、路頭に迷うとこでした。
ループの終了条件ですか・・うーん。
158:名無しさん@お腹いっぱい。
11/09/30 03:23:28.52 LR+rzGMZ0
^^;
159:名無しさん@お腹いっぱい。
11/10/04 18:05:42.88 jjXSdlKK0
A1 =peekcolor(57,122)
A2 =peekcolor(25,122)
A3 =peekcolor(93,122)
B1 =peekcolor(57,932)
B2 =peekcolor(25,932)
B3 =peekcolor(93,932)
IF sw = 1 and A1 = $111111 and A2 = $000000 THEN exitexit
IF sw = 2 and A1 = $111111 and A2 = $111111 and A3 = $FFFFFF THEN exitexit
IF sw = 3 and B1 = $111111 and B2 = $000000 THEN exitexit
IF sw = 4 and B1 = $111111 and B2 = $111111 and B3 = $FFFFFF THEN exitexit
sw = 0
IF A1 = $111111 and A2 = $000000 THEN sw = 1
IF A1 = $111111 and A2 = $111111 and A3 = $000000 THEN sw = 2
IF B1 = $111111 and B2 = $000000 THEN sw = 3
IF B1 = $111111 and B2 = $111111 and B3 = $000000 THEN sw = 4
このスクリプトはpeekcolorを何回行なってイますか?
A1~B3の6回のつもりで書きました
160:名無しさん@お腹いっぱい。
11/10/05 02:35:02.95 MXYkAeWa0
^^;
161:名無しさん@お腹いっぱい。
11/10/05 09:56:06.58 ZZTm/FoZ0
>>159
頭大丈夫か?
自分で書いたんだろ
162:名無しさん@お腹いっぱい。
11/10/06 12:55:31.77 Xtj4wtdl0
自分ではA1~B3の6回のつもりで書いたけど実際には無駄にpeekcolor重複していないかなっていう質問です。
163:名無しさん@お腹いっぱい。
11/10/06 12:59:28.65 DiwBB3u20
>>162
どの場所がどうして重複してると怪しんでいるのかを教えてください
代入してるからとか、色々な「こう思うから怪しいと思ってる」があると思いますので。
164:名無しさん@お腹いっぱい。
11/10/06 16:47:40.26 7uksfOP90
クリックした箇所を3秒間長押しした後クリックした箇所の少し左側を長押しするのってどうやるんですか?
DOWN-UPの使い方がよくわからなくて
165:名無しさん@お腹いっぱい。
11/10/06 19:23:24.48 uoXrrPFu0
>>164
荒らしか?
いいかげん帰れ
166:名無しさん@お腹いっぱい。
11/10/06 20:41:08.74 Xtj4wtdl0
すいません解決しました
167:名無しさん@お腹いっぱい。
11/10/06 22:00:48.78 7uksfOP90
>>165
安価間違ってませんか?
168:名無しさん@お腹いっぱい。
11/10/06 22:22:37.85 LOYD7VBT0
ヘルプも読まないゲームマクロ馬鹿は荒しだろ。
169:名無しさん@お腹いっぱい。
11/10/06 22:25:01.30 +YydguWm0
>>167
死ね
170:名無しさん@お腹いっぱい。
11/10/06 22:43:32.49 7uksfOP90
このスレ恐い
171:名無しさん@お腹いっぱい。
11/10/06 22:48:12.17 O1Gk1jjfO
>>165>>168-169は住民気取りの厨房だからどうか気を悪くせずスルーしてあげてください
172:名無しさん@お腹いっぱい。
11/10/06 23:44:00.22 +YydguWm0
>>171
じゃあおまえが答えてやれ
173:名無しさん@お腹いっぱい。
11/10/07 01:00:10.44 KuVWA7tv0
なぜそういう質問をしたか、を問い続けるとなぜか自己解決することが殆ど。
質問に対するそういうアプローチは有効なのだろう。自分で問題に気づくのは重要。
というわけで今後、質問した人へ「なぜそういう事を考えたのか?」と逆に聞きまくることを推奨してみたい。
174:名無しさん@お腹いっぱい。
11/10/08 10:21:33.50 oT9pDwem0
答えたく無い質問はスルーで良いだろ
無駄に煽る奴も厨房
175:名無しさん@お腹いっぱい。
11/10/08 14:15:34.85 37r1NQX/0
すいません
画面上に、ある画像が出たらそれをクリックするっていうのは
具体的にどうやったらいいですか?
176:名無しさん@お腹いっぱい。
11/10/08 14:47:39.83 saj0dpbs0
chkimgで画像を探してbtnでクリックすればいいと思います
177:名無しさん@お腹いっぱい。
11/10/08 15:16:09.46 37r1NQX/0
>>176
ありがとうございます
>chkimgで画像を探してbtnでクリックすればいいと思います
これはどのように記述したらいいでしょうか?
よろしくお願いします
178:名無しさん@お腹いっぱい。
11/10/08 15:34:46.68 9805L8HD0
>>177
uwsc chkimg
uwsc btn
で調べて解んなきゃ諦めろ
死ね
179:名無しさん@お腹いっぱい。
11/10/08 19:26:01.73 yvX7e5am0
1たす1は3ですか? みたいな低レベルの質問する奴はマジで死んでくれ
180:名無しさん@お腹いっぱい。
11/10/09 02:19:02.69 xbel2exv0
なんなのこのスレw
知識ある奴のオナニー場?
181:名無しさん@お腹いっぱい。
11/10/09 03:16:28.32 WyIRAaHZ0
試行錯誤しない奴が多すぎる
最初から自分でなにも試そうとしてない奴を
uwsc使いとは呼ばない
スレタイよく見ろ
182:名無しさん@お腹いっぱい。
11/10/09 03:23:11.02 4oubP/I50
プログラミングの基礎も出来ない人間が扱えるツールじゃない
183:名無しさん@お腹いっぱい。
11/10/09 04:15:19.63 UrW50yvs0
みんなPro版もってるの?
184:名無しさん@お腹いっぱい。
11/10/09 04:23:36.63 bDuoV+nv0
持ってる人は堂々と本家掲示板で質問するだろ。
185:名無しさん@お腹いっぱい。
11/10/10 20:49:09.63 x4xLKU+n0
辞書を引けば分かることをわざわざ質問するやつはこっちの勉強の邪魔だから消えろとは思う
ググれる時代に生まれた意味を分からないやつも同じじゃないかな
186:名無しさん@お腹いっぱい。
11/10/11 01:11:04.89 57/fpf0f0
2011/10/11 UWSC Ver4.7b、 Pro版と Free版をリリースしました。
187:名無しさん@お腹いっぱい。
11/10/11 02:46:11.49 N7+lylsP0
乙乙
188:名無しさん@お腹いっぱい。
11/10/11 08:16:03.94 HYF3mblJ0
sleep(aTime)
ifb CHKIMG("○.bmp")
x = g_mouse_x ; y = g_mouse_y
BTN(LEFT, CLICK, G_IMG_X, G_IMG_Y)
この○があった場合○をクリックってのを
○という画像があった場合△という画像を探してクリック
ってやるにはどうやるの?
189:名無しさん@お腹いっぱい。
11/10/11 15:23:20.62 DuQLa7gZ0
> この○があった場合○をクリックってのを
○を△に書き換えてみろ
190:名無しさん@お腹いっぱい。
11/10/11 16:19:31.50 eO3qrHMT0
>>189
なんか笑えたw
191:名無しさん@お腹いっぱい。
11/10/12 01:33:54.89 W3ZzJZIm0
>>188
お前ならその動作をどういう手順でやるのか箇条書きにしてみ?
それで余裕で組めるだろ。
・画像○を探す
↓
↓
↓
・画像△の場所をクリック
この間を埋めてみ?
192:名無しさん@お腹いっぱい。
11/10/13 01:58:14.92 RD44xiK50
>>191
・画像○を探す
・服を脱ぐ
・正座する
↓
・画像△の場所をクリック
1カ所うまらなかった。
193:名無しさん@お腹いっぱい。
11/10/13 02:21:12.24 GBU8qF4P0
>>192
全部埋めてみた。
・画像○を探す
・服を脱ぐ
・コーヒーを入れる
・正座する
・塩と砂糖を間違えて吹く
・画像△の場所をクリック
194:名無しさん@お腹いっぱい。
11/10/13 08:29:27.64 wc4ZpSi40
>>191
○画像を探す
△画像を探す
クリックする
できた!
ありがとう
195:名無しさん@お腹いっぱい。
11/10/13 11:11:22.50 1rCwLgDW0
>>194
頑張れよ
196:名無しさん@お腹いっぱい。
11/10/13 12:33:43.62 khyIEHPU0
>>194
その先のヒントをあげる
○○
x
. ▽
わかったかな?
197:名無しさん@お腹いっぱい。
11/10/13 12:52:34.28 tUCIBsmS0
PHPやJavascriptなんかは、あれがやりたいこれがやりたいと思って、
ヒットしそうな単語でググれば大抵は早いうちに見つかって、組めるけど、
UWSCはたいがい路頭に迷う。
道路で道順を尋ねたら、シンプルな説明力を持たない人間がゾロゾロ集まってくるようなもの。
で、仕方なくこういう所に来ると、訳知り顔の連中に氏ねと言われるだけで終わる。
ほぼオナニースレ化してる。
198:名無しさん@お腹いっぱい。
11/10/13 13:01:37.96 oMVXXMfx0
>>197
確かにそうかもしれんけど
質問のレベルが低すぎるのも確か
調べれば出てくる物がほとんどだろ
199:名無しさん@お腹いっぱい。
11/10/13 14:21:36.64 PF43SQCm0
関数が多く全貌把握するのは難しい言語ならいい。
しかしUWSCなんてヘルプ上から下まで全部読める位に少ない。
だからヘルプ嫁って言われる。
検索するよりヘルプを上から読んでいったほうが早く解決するから。
最近のは明らかにヘルプの目次すら読んでないと思われる質問ばかり。
200:名無しさん@お腹いっぱい。
11/10/13 14:52:37.34 4eOZa6PM0
死ねとかいちいち言う奴は出てってくれ
201:名無しさん@お腹いっぱい。
11/10/13 14:58:04.89 PF43SQCm0
>>200
オマエモナー
> ほぼオナニースレ化してる。
スレタイに質問とか初心者とか入ってるなら問題だけど、そうじゃないんだよねここは。
だからオナニーで何が悪いという見方も別に悪くない。
202:名無しさん@お腹いっぱい。
11/10/13 15:37:53.44 oMVXXMfx0
>>200
お前が出てけ
嫌なら初心者の馴れ合いスレでも立てろ
203:名無しさん@お腹いっぱい。
11/10/13 15:47:44.47 khyIEHPU0
いやいや、1ソフトは1スレまでってルールがあるんだから
初心者相手にスレ立てろとか言ってマジで立てられたら困るでしょ。
ゲームマクロとしてのスレならいくら立てても問題ないからそっちに行って。
勉強がしたいんなら、今はUWSCよりもっとすばらしい言語がたくさんあるからそっちで勉強して。
204:名無しさん@お腹いっぱい。
11/10/13 15:54:01.56 4eOZa6PM0
>>201-202
ほらな、やっぱ癇に障るだろ
余計な一言なんだって
205:名無しさん@お腹いっぱい。
11/10/13 15:56:07.24 UxPWG/Y30
「初心者」というのはこの場合、スクリプトを書くことを始めたばかりの人であるはず。
質問するならまず、書いてみたけどうまくいかなかったそのスクリプトを貼ってくれないと。
>>188なんかかなりレベルの低い質問ではあるけど、ちゃんと実際のスクリプトを提示した上で
自分で何とかしようという気もありそうな感じだったからあまり叩かれてない。
206:名無しさん@お腹いっぱい。
11/10/13 16:12:37.08 b8nrK5Ss0
拾い物をよくわからず改造しようとするやつが叩かれてるだけじゃないの?
207:名無しさん@お腹いっぱい。
11/10/13 18:50:21.91 PF43SQCm0
だからゲームマクロ関係はどっか別の板なりスレなりたててそっちでやれって。
最近のアホな質問全部それ関係だろ。やたらchkimg多いし。
208:名無しさん@お腹いっぱい。
11/10/13 19:52:19.36 69CXUZzl0
>>207
chkimgの説明とか凄い詳しくググレば出てるからなぁ。
後はそこで取得した値をどう弄り回すかだけだしな…
209:名無しさん@お腹いっぱい。
11/10/14 11:05:51.90 Xa3wRZSs0
さすがにfor文とかif文を理解していない体の質問はどうしようもない。
なんかプログラム初歩学習に使えそうな、ロボット移動のゲームがあったような気がする。
繰り返しブロックでくくって動作を繰り返すとかそんなの。
210:名無しさん@お腹いっぱい。
11/10/14 11:09:38.59 Iwb6cyVB0
知識がなくて独学で学ぶ気がないならautomouseとかで我慢すべきだと思うの
簡単なマクロならググればいくらでも出てくるし
211:名無しさん@お腹いっぱい。
11/10/15 02:10:30.08 pVwTdrqg0
①座標Aをクリックする。
②10秒待つ。
③i)画像Aが現れた場合
座標Bをクリックしてから、①に戻る。
ii)画像Aが現れなかった場合
座標Cをクリック。
というマクロをくみたいんですが、
③がうまくいきません。
どうすればいいか教えてください
212:名無しさん@お腹いっぱい。
11/10/15 02:16:33.51 DCAh1rFI0
どういう風に書いたかちょっと貼ってみて
213:名無しさん@お腹いっぱい。
11/10/15 02:25:53.50 pVwTdrqg0
座標Aをクリック
SLEEP(10)
while
Ifb ChkImg("retry.bpm") = true then
座標Bをクリック
座標Aをクリック
SLEEP(10)
else
break
endif
wend
座標Cをクリック
これを実行しようをすると三行目のwhileがエラーになりました
214:名無しさん@お腹いっぱい。
11/10/15 02:44:43.06 pVwTdrqg0
Aクリック
SLEEP(10)
while true
Ifb ChkImg("retry.bpm")=true then
Bクリック
Aクリック
SLEEP(10)
else
break
endif
wend
Cクリック
これでいけそうです!
215:名無しさん@お腹いっぱい。
11/10/15 02:50:33.45 DCAh1rFI0
>>213
おお、書いてたら自己解決してるw 無事動いてよかった。
なんか一応動くみたいだけど ×bpm ○bmp ね
あと、ifbの行は = true を削っても問題ないよ
ifb chkimg("retry.bmp") = true
↓
ifb true = true
↓
ifb true
ifb chkimg("retry.bmp")
↓
ifb true
216:名無しさん@お腹いっぱい。
11/10/15 14:25:27.22 emRO3kIy0
開いても文字化けしてしまうUWSファイルがあり、とても困っています。
どうしたら開けるでしょうか?
メモ帳、TeraPad、stringsは試してみましたが、文字化けするばかりです。
IEでエンコードを見ようとしても、開けるファイルじゃないと言われてしまいます。
ちなみに、UWSCからこのUWSファイルを呼び出して実行すると、想定通りの
動作をします。
ただ、もらい物なのでちょっとだけ変えたいところがあるのですが、上記の通り
編集以前の状態です。
どうか教えてください。
217:名無しさん@お腹いっぱい。
11/10/15 14:31:04.49 EF0PrBB30
スクランブルかかってるだけでは?
218:名無しさん@お腹いっぱい。
11/10/15 14:32:46.02 xl1csyyl0
>>216
むりです。
UWSCの機能としてスクランブルがあり、それが施されていると予測されます。
スクリプト製作者の意向なのでおとなしくあきらめるのがいいでしょう。
219:名無しさん@お腹いっぱい。
11/10/15 17:52:41.93 emRO3kIy0
>>217,218
レスありがとうございます!
スクランブルなんてこともできるのですね。
よく理解できました。
でも解決できないのか…。残念です。
220:名無しさん@お腹いっぱい。
11/10/15 18:39:00.17 VmVh/62B0
自分でフルスクラッチ。
221:名無しさん@お腹いっぱい。
11/10/15 21:20:45.28 FuCy7KK40
貰い物なら貰った人に頼めばいいだけだわ。
222:名無しさん@お腹いっぱい。
11/10/16 19:20:56.83 l+TG99F+0
ifb文のandの記述ってもっとスマートなやり方あるの?
以下の方法だとなぜかfalseのはずなのに反応してしまう事があるんだ
//画面上にAAAとBBBとCCC全てあり、さらに変数(hensu)が0の場合だけCCCをクリック
ifb (CHKIMG("AAA.bmp",0) and CHKIMG("BBB.bmp",0) and CHKIMG("CCC.bmp",0) and hensu=0)
x=G_IMG_X
y=G_IMG_Y
BTN(LEFT, CLICK, x, y, 80)
endif
どんな原因が考えられます?
223:名無しさん@お腹いっぱい。
11/10/16 19:39:28.60 E41x9PgQ0
>>222
chkimgの判定にかかる時間とかじゃないの?
aaa = chkimg("aaa.bmp", 0)
bbb = chkimg("bbb.bmp", 0)
ccc = chkimg("ccc.bmp", 0)
print aaa +":"+ bbb +":"+ ccc +":"+ hensu
ifb aaa and bbb and ccc and hensu=0
以下略
とでもやって、本当に全部falseなのか確かめろよ。
224:名無しさん@お腹いっぱい。
11/10/18 11:14:11.81 e+Rjls+f0
IEの読み込みラグはどうやって解決するのでしょうか?
よく止まるのでフリーズするので
お願いします
修正方法あればごご教授くださいーー
225:名無しさん@お腹いっぱい。
11/10/18 15:47:56.57 xcmasEza0
>>224
回線を光回線する事や良いプロパイダを選ぶ等の対処が必要です。
226:名無しさん@お腹いっぱい。
11/10/18 21:35:43.10 JivqYz1s0
>>224
ヘルプに載ってるコレじゃ駄目なの?
Procedure BusyWait(ie)
repeat
Sleep(0.2)
until (! ie.busy) and (ie.readyState=4)
Fend
227:名無しさん@お腹いっぱい。
11/10/21 07:41:33.94 7TaJE2/80
メイプルでUWSCがハッキング検地ひっかかるんだが回避法しらん?
228:名無しさん@お腹いっぱい。
11/10/21 09:14:57.74 OlnHcMlm0
>>227
死ね
229:名無しさん@お腹いっぱい。
11/10/21 09:41:00.55 F+FSH9nZ0
Firefox上のFlashコンテンツに表示されている文字や数字をACC経由で読んでいると、
よく、ビジー状態で固まります。回避方法はありますか?
230:名無しさん@お腹いっぱい。
11/10/21 11:32:14.02 9ZcsHObD0
>>227
MapleStory マクロスレ part12
スレリンク(mmosaloon板)
231:名無しさん@お腹いっぱい。
11/10/21 16:59:32.38 hpkyVi5P0
ひとつのUWSファイルを2つのファイルに分けて、
CALL文で一方がもう一方のUWSファイルを読もうとすると、
変数○○が定義されていません、と表示されてしまいます。
元通りくっつけると正常に機能します。
phpなどのように簡単にはいかないようです。
かなり長く色々試行錯誤したりググったりしてるんですが、わかりません。
どうか教えてくださいm(__)m
232:名無しさん@お腹いっぱい。
11/10/21 17:09:17.44 wLb629010
>>231
変数を定義しろ
233:名無しさん@お腹いっぱい。
11/10/21 17:29:35.26 3QeNBpri0
>>231
呼び出す元の変数をpublicで宣言しろ
234:名無しさん@お腹いっぱい。
11/10/21 18:22:09.64 hpkyVi5P0
>>233
ありがとうございます。数日間探したのが、一発で解決しました!
これでやっと先に進めます。ありがとうございましたm(__)m
あとの人がgoogleでヒットしやすいようにキーワードをまいておきます(^^)。
UWSC,ファイル読み込み,CALL,エラー,変数が定義されていません,dim,public
235:名無しさん@お腹いっぱい。
11/10/21 20:01:44.90 ZX8ZuSOZ0
△△へ移動の横にあるOKボタンをクリックしたいのですが
表示されたページ内にOKボタンが複数あり、ページ移動するたびにその数が変わります。
どのページでも特定の文字の横にあるOKボタンをクリックするにはどうすれば良いでしょうか?
1ページ目
○○へ移動 <input type=submit value="OK" class=button>
△△へ移動 <input type=submit value="OK" class=button> ←クリックしたいボタン
2ページ目
○○へ移動 <input type=submit value="OK" class=button>
□□へ移動 <input type=submit value="OK" class=button>
△△へ移動 <input type=submit value="OK" class=button>←クリックしたいボタン
236:名無しさん@お腹いっぱい。
11/10/21 20:09:54.40 3QeNBpri0
>>235
inputタグを持つものを順次調べてOKだったらクリックが普通と思うけど
ClkItem で "へ移動" をCLK_MUSMOVEオプションつけてフォーカス移動し、
CLK_CONTINUE でその続きから検索するように指定して
"OK" をクリックすれば、右のボタンをクリックできると思う。
237:名無しさん@お腹いっぱい。
11/10/21 21:07:06.58 ZX8ZuSOZ0
>>236
ClkItem で "△△へ移動"という文字列に移動するという事なんでしょうか?
やってみたんですが反応無しでした
”△△へ移動”の文字列の横をクリックという事はできないのでしょうか?
238:名無しさん@お腹いっぱい。
11/10/21 21:17:53.25 aO9Zoeqf0
>>237
ie限定だし、出来る範囲は限られている。
ヘルプの、IE操作関連、を読めばわかる。
239:名無しさん@お腹いっぱい。
11/10/21 23:15:36.46 qGV5nF3y0
pro版を割れで使っていたのだが、最新版で対策されたようだな
UWS2EXE使うと、「L22が存在しません」とエラーが出るようになった
240:名無しさん@お腹いっぱい。
11/10/21 23:50:55.27 aO9Zoeqf0
>>239
ざまぁ! …としか言いようが無い事だな。馬鹿な事をしてるもんだ。
exe化は、pro版のほとんど唯一の利点だからな。
ドラッグ&ドロップの単体受付可能、他DLL等不要で単体500kb程度(圧縮込み)での可搬性、何の言語?程度のコード隠蔽。
そこらへんはpythonやruby等の一般的LL系言語よりはWindows特化で結果として扱いやすい。
会社とかで業務アプリを自動操縦しようとするのが主体で
業務外で自分のためだけにラフに扱いつつ色々なめんどくさい事に巻き込まれないようにする事がメインの機能の様な気がする。
pro使う理由があるなら安い買い物だと思うがなぁ。買ってやれよ…
241:名無しさん@お腹いっぱい。
11/10/21 23:55:35.08 mIkn20FE0
日本語でOK
242:名無しさん@お腹いっぱい。
11/10/22 08:25:14.52 BQCgFdbI0
>>240
販売促進しているようだけど、一つ前のUWS2EXE使ってれば良いだけw
243:名無しさん@お腹いっぱい。
11/10/22 11:00:18.91 6BHHELTP0
犯罪行為を公衆の面前で自慢するアホ…
244:名無しさん@お腹いっぱい。
11/10/22 11:41:13.05 7qvDx+0r0
そんなことよりAHKやろうぜ
245:sir sie
11/10/22 15:16:51.14 SGFp5L7x0
光夜星月
世界をおとそう
世界の中に
一つになれば
☆
いつでもいっしょになれる。
おきる人もねむる人も
愛とにくしみは
声になって
私達の世界は
絵になるの
☆ 明日のいたみは
はじめての音になる。
信じたい
中が同調するって。
246:名無しさん@お腹いっぱい。
11/10/23 13:11:28.79 bscbOr/W0
UWSC本体を起動しないでスクリプトを関連付け起動させた時の
printウィンドウってディスプレイの左上に出ますが、この位置を変えることは
出来ないですかね?
タスクバーを縦にして左に置いているので、printウィンドウがこの下に出てほとんど
見えない状態になっており、少々不便です。
247:名無しさん@お腹いっぱい。
11/10/23 13:47:07.43 e29n7BSx0
>>246
ひょっとしたらini設定あたりで変更できるのかも?しれないけど
力技でもOKなら、出たスクリーンを動かしてやれば良いのでは?
監視系にするか関数に書いておくか…
248:名無しさん@お腹いっぱい。
11/10/23 14:38:28.04 bscbOr/W0
>>247
iniでは無理な模様。
スクリプトで自分のウィンドウを動かすのは今試してみたのですが
タスクバーの上には出るもののウィンドウの位置大きさの変更は出来ない模様。
とりあえずタスクバーの下に隠れるって状態が改善したので当座の問題は解決ですが。
他のアプリケーションの助けを借りずにUWSC単体で何とかならんもんだか。
249:名無しさん@お腹いっぱい。
11/10/23 14:45:39.58 bscbOr/W0
間違って2つ連続で起動したら一方が他方のスクリプトのウィンドウを変更する形で
ウィンドウの位置・大きさ変更が出来た…
どうも自プロセスのウィンドウ操作は出来ないような感じですね。
250:名無しさん@お腹いっぱい。
11/10/23 15:03:55.84 e29n7BSx0
>>248
ん?当方では動くみたいだけど…
print "testtest"
sleep(1)
acw(Getid(get_logprint_win),100,0)
sleep(5)
251:名無しさん@お腹いっぱい。
11/10/23 15:34:53.12 bscbOr/W0
タイトルマッチで探してました…
1つ起動してNGで2つ起動したらOKということは
自分のウィンドウはタイトルマッチしないのだろうか?
GET_LOGPRINT_WINでいけましたね。ありがとうございます。
252:名無しさん@お腹いっぱい。
11/10/23 20:30:03.17 dBa/BKyq0
//アクティブになうちはログ表示継続
id = getid(GET_LOGPRINT_WIN )
ACW(id, 500, 500, 800, 200 )// x, y, 幅, 高さ
while status(id,ST_ACTIVE) <> 0
sleep(0.2)
wend
253:名無しさん@お腹いっぱい。
11/10/23 22:14:25.90 5DAdTKnk0
60分経ったらループから抜け出したいんだけど、
どう記述すればよいでしょうか?
while True
if ???? then exit
~
wend
254:名無しさん@お腹いっぱい。
11/10/23 23:03:45.86 V4NYj34Q0
>>253
sleep(3600)を使うのが確実。
マジレスとしては、gettimeの戻り値を好きなタイミングで確認しまくれ。
255:名無しさん@お腹いっぱい。
11/10/24 18:31:29.29 sYeEqCI20
ネトゲのTERAを自動でログインするようにしたいのですが、下記の******の部分にログインボタンを押下する命令が必要
だと思うのですが、HPのソース見てもこのログインボタンを自動で押下するようにできません。
【ソース】
IE = CREATEOLEOBJ("InternetExplorer.Application")
IE.visible = True
IE.navigate("URLリンク(tera.hangame.co.jp)")
PUBLIC id=GETID("TOP - 次世代MMORPG「TERA」メンバーズサイト - ハンゲーム")
REPEAT
SLEEP(0.1)
UNTIL !IE.busy AND IE.readystate=4
IESETDATA( IE, "[自分のID]", "strmemberid" )
IESETDATA( IE, "[自分のPASS]", "strpassword" )
******←ここ
REPEAT
SLEEP(0.1)
UNTIL !IE.busy AND IE.readystate=4
EXITEXIT
どなたかわかるかた教えてください。
256:名無しさん@お腹いっぱい。
11/10/24 20:21:59.19 NL9m5Tsc0
>>255
その処理に限らずだけど、最初はいろんなスクリプト見て勉強したら?
大体継ぎ接ぎや組み合わせで何とかなるよ
自動ログインのスクリプトなんてそこら中にあると思うよ
257: 忍法帖【Lv=10,xxxPT】
11/10/24 21:25:42.95 sYeEqCI20
>>256
このソース自体継ぎ接ぎで、どうしてもログインクリックだけできないのです
258:名無しさん@お腹いっぱい。
11/10/24 21:28:31.73 jYWaEJtn0
>>257
>>55-57あたりが丁度そんな感じのスクリプトじゃない?
259:名無しさん@お腹いっぱい。
11/10/26 17:46:02.41 lGqBzR1S0
EXE化したものを呼び出すにはどうすればいいでしょうか?
call xxxx.exeにしたのですが
xxxx.exe.uwsは存在しませんといわれてしまいます
260:名無しさん@お腹いっぱい。
11/10/26 18:46:02.91 pqkjQNG90
>>259
EXEC
261:名無しさん@お腹いっぱい。
11/10/26 19:42:35.40 lGqBzR1S0
>>260
ありがとうございます
早速使わせていただきます
262:名無しさん@お腹いっぱい。
11/10/26 20:29:13.64 lGqBzR1S0
>>260
ありがとうございましたexeを起動させることができました
execに渡すxxx.exeに変数による引数を持たせたいと思っています
TIMES = 3
exec("xxx.exe TIMES")
とやると引数は持っていくのですが
変数の中身の3ではなく TIMESという文字列を持ってきてしまいます
URLリンク(uwsc.dohow.jp)
などをみるとexe自体に引数を持たせることはできないのでしょうか?
call xxx.uws(TIMES)の様な感じで
引数に変数を持たせたいときはどのように書けばいいのか教えていただけないでしょうか?
よろしくお願いいたします
263:名無しさん@お腹いっぱい。
11/10/26 21:26:24.77 v8f1x9Y60
>>262
" "内のTIMESは変数じゃ無いから当たり前かと
exec("xxx.exe "+TIMES)
正直、ネタなのか?と思える質問の連続だけど…
264:名無しさん@お腹いっぱい。
11/10/26 22:07:59.65 j2/p56140
ググレば答えが出るんじゃないかと思ったが
265:名無しさん@お腹いっぱい。
11/10/28 11:32:58.38 NMe7w+Mk0
お前等にもそういう時期あっただろ
この子は頑張ってる感じがしてまだ許せるよ
頑張れよ
266:名無しさん@お腹いっぱい。
11/10/28 13:25:22.68 Bl+xO2Ow0
頑張って調べたけどな
本家の過去ログ漁ればいくらでも出てきそうだし
267:名無しさん@お腹いっぱい。
11/11/01 21:52:35.08 TqXK22AL0
ループで20作業ぐらいマウスクリックする作業なんだが、
5~6時間で動かなくなってしまう。
プログラムには問題ないと思うのだが、
他に考えられる理由はありますか?
メモリとか設定とか??
268:名無しさん@お腹いっぱい。
11/11/02 00:00:14.78 UVAKSiBC0
スクリプトはってみ
269:名無しさん@お腹いっぱい。
11/11/02 00:07:37.13 zWvwpYag0
スクリプトも貼らずにそんな質問されてもな・・・
ループを抜けてるか、負荷で処理が遅れてる間に判定過ぎたとか。
270:名無しさん@お腹いっぱい。
11/11/02 00:27:41.65 2TbokZ0v0
スクリプトも見ずに答えられるとでも思っているのか・・・
271:名無しさん@お腹いっぱい。
11/11/02 00:45:59.30 oLG8MShh0
動かないってどう動かないのかも書けよなー。
PC丸ごとハングorUWSCだけ異常停止なのか、操作を受け付ける状態でUWSC本体は無事なのかとかさー。
272:名無しさん@お腹いっぱい。
11/11/02 00:51:21.87 1xFbDtAF0
質の低い聞き方と内容で単発
完全に釣りとしか思えない
273:名無しさん@お腹いっぱい。
11/11/02 01:46:34.94 UVAKSiBC0
結構見てる奴いるんだな
274:名無しさん@お腹いっぱい。
11/11/03 15:13:08.89 uJFyB9d80
はじめまして。
このようなツールは初めてなんですが、
このuwscは画面を読み取ったりできますか?
例えば、画面が黄→赤になると反応して動作するといったことはできますか?
275:名無しさん@お腹いっぱい。
11/11/03 15:25:45.20 FtPbq5vm0
できますよ
276:名無しさん@お腹いっぱい。
11/11/03 15:42:46.14 uJFyB9d80
>>275
ありがとうございます。
プログラミングも全くの初めてなので手探りで頑張ってみます。
277:名無しさん@お腹いっぱい。
11/11/03 15:58:53.99 LquvWkC90
>>276
初心者に対する親切で言うけど、ヘルプ(つーかUWSCにおけるリファレンス)は数回読んでおけ。
一回通しで読んでおくとマジで捗る。ここで質問して聴ける答えの殆どが実はヘルプに載ってる。
278:まぁRGBってなに?だと躓くだろうから
11/11/03 16:06:10.29 LY6UbNub0
色 = PEEKCOLOR(x,y)
Red = 色 and $FF
Green = (色 and $FF00) / $100
Blue = (色 and $FF0000) /$10000
たぶんゲーム用なのだろうけど、色を分解するfunctionをこさえる→元の色を変数に保存→変わったかWhile True~wendループでひたすら比較し続ける。
279:名無しさん@お腹いっぱい。
11/11/03 17:39:31.98 H/V4sxV30
むしろRGBではなくBGRなところに注意かと
280:名無しさん@お腹いっぱい。
11/11/03 19:28:13.49 qzNineYM0
>>278
これの意味がいまいち分からなくてやめたな
281:名無しさん@お腹いっぱい。
11/11/03 19:46:07.68 RRLNM+5x0
クリップボードに1という数字が入っていて
クリップボードの数字に1を足したい時
sendstr(0)+1
とするとgetstr(0)=11になってますのだけど
和を出力するにはどうしたらよいのでしゅか
282:名無しさん@お腹いっぱい。
11/11/03 19:53:16.19 o3L2nQSM0
sendstr(val(getstr(0)))+1
とかでできるのでは
283:名無しさん@お腹いっぱい。
11/11/03 21:22:26.71 RRLNM+5x0
文字を数値に置き換える行動が必要だのですね
あざっすあざっす
284:名無しさん@お腹いっぱい。
11/11/06 09:18:02.88 bL6PlzVI0
すいません、質問です。
>>55-57をchromeで行うにはどのようにしたらよろしいでしょうか?
メールを送る部分は他の方法で出来たのですが、
検索の部分だけうまくいきません。
どうかご教授お願いますm(_ _)m
285:名無しさん@お腹いっぱい。
11/11/06 13:28:38.40 nXDiYYhf0
>>284
IE用だから無理
自分で記録してみたら?
286:284
11/11/07 14:50:13.46 x7j5kCs30
>>285
ありがとうございました。
287:名無しさん@お腹いっぱい。
11/11/12 02:50:26.32 645URtN60
chrome17betaで、clkitemが使えるようになってたよ
288:名無しさん@お腹いっぱい。
11/11/15 11:10:45.69 uWoZxfD60
call で 呼び出したマクロから更に別のマクロを呼び出したいのですが
FILE NOT FOUND ~ 下.uws といわれて呼び出せません。
どうしたら呼び出せるようになるでしょうか
全て同じフォルダの中です。
上.uws
CALL 中.uws
中.uws
CALL 下.uws
下.uws
KBD(VK_1,0,0)
289:名無しさん@お腹いっぱい。
11/11/15 14:32:00.24 +IyJ8OFm0
普通に何も問題は無い。
できないとしたら、実はそんなスクリプトじゃないってことだろうな。
290:名無しさん@お腹いっぱい。
11/11/15 20:46:48.47 npPJPKmo0
FLASH内のテキストボックスにペーストする場合
sckey(0,vk_ctrl,v)
が何故か効かないんだけど
kbd(vk_ctrl,down)
kbd(vk_v,click)
kbd(vk_ctrl,up)
てダラダラ書かなきゃいけないの?
291:288
11/11/15 22:10:52.76 uWoZxfD60
自己解決しました。
問題無いとの返事で、過去ログに()が有ると云々というのを見た気がしたので
なにげなくC:\ にぶち込んだら動きました。
フォルダ名の()が原因でした。
中を読み込んでも問題無いのに上からだとエラーが出たので混乱しちゃいました。
292:名無しさん@お腹いっぱい。
11/11/15 23:12:11.19 zwVIVEhe0
>>291
> なにげなくC:\ にぶち込んだら動きました。
君やめた方がいいよ。
せめてC:\tempとかにしないと。サブディレクトリが消えていくスクリプトで死ぬよ。
293:名無しさん@お腹いっぱい。
11/11/16 14:10:24.59 Pa8MTtHo0
今日、急にタイマーが効かなくなりました。
「一回だけ実行」をよく利用してるのですが、スタンバイ状態から復旧はするものの
スクリプトの実行が行われません。
Windowsとか、UWSC以外の部分がおかしいのかなと思いますが、確認ポイント等
教えてもらえないでしょうか?
294:293
11/11/16 14:40:52.55 Pa8MTtHo0
すみません、自己解決しました。
なんとパソコンの時計がちょうど一ヶ月ズレて10月になってました。
295:名無しさん@お腹いっぱい。
11/11/17 00:04:49.12 o1oina1g0
ご相談
ブログを閉鎖するのでローカルにバックアップしたいです。
サンプル//掲示板のスレをテキストファイルとして保存する #n27//
を利用して複数ページの保存ができますが、
長い記事は、記事タイトルをクリックして全表示するつづらになってます。
ソースを調べると、アンカーの中の文字がブログのタイトル名になっていて、
記事ごとに違い#n27が使えません。
一旦テキストを取得して編集し題を配列で渡すことも考えましたが、
あまりにおぼこじゃないですか・・・
当方スクリプトはわかるのですが、HTMLのタグ構造や指定に弱く、
もっとスマートな方法やコードがあると思いますが、アドバイスください。
296:名無しさん@お腹いっぱい。
11/11/17 00:08:41.30 YXuxk+jS0
>>295
ブログサービス名 エクスポート
とかで検索かけたほうが早くね? いまどきそれぐらいの手段は用意されてるだろ
297:名無しさん@お腹いっぱい。
11/11/17 00:54:17.24 o1oina1g0
>>296 ありません。SNSのおまけで、利用者が少ないのです。
298:名無しさん@お腹いっぱい。
11/11/17 05:51:47.75 9mCggz7q0
昨日見つけたんだけど
call 変数+""(引数)
ってやるとcallのファイル名に変数使えるね
299:名無しさん@お腹いっぱい。
11/11/17 18:58:31.51 wSlJbc0w0
>>295
再利用のありえない使い捨てスクリプト決定なんだから
その方針で適当に書けば?
300:名無しさん@お腹いっぱい。
11/11/18 17:01:53.15 owZ/y+zq0
CHKIMGってセカンダリモニタの画像は認識できない?プライマリに画像がある時しか反応してくれない
認識する方法があるなら教えて欲しい・・・
301:名無しさん@お腹いっぱい。
11/11/18 17:08:29.20 owZ/y+zq0
ごめん自己解決
範囲指定を-1920,1080にすればいいだけでした
302:名無しさん@お腹いっぱい。
11/11/18 17:34:30.04 P8lubUql0
x分に1回aを押すってどうすればいいですか?
ループでwaitをその数字にする、というのではなく
基本は他の行動をしていて、時間になったらaを押し、
また基本の行動をして、時間になったらaを押す、
というように使いたいのですが
お知恵をお貸しいただければ幸いです。
基本的に使っているスプリクトは
ACW(GETID("バックグラウンド.UWS - メモ帳","Notepad"),553,385,848,543,0)
id = GETID("メモ帳")
MOUSEORG(GETCTLHND(id,"edit"), 2)
While True
Call xxxx.uws // xxxx.uws 記録保存したスクリプト名
Sleep(2) // 10秒の間を取る
Wend
xxxx.uws の中身
KBD(VK_RIGHT,DOWN,31)
KBD(VK_RIGHT,DOWN,31)
KBD(VK_RIGHT,DOWN,32)
KBD(VK_RIGHT,DOWN,31)
およそこのようになっております。
303:名無しさん@お腹いっぱい。
11/11/18 17:57:45.56 CAQMUOv40
thread
304:名無しさん@お腹いっぱい。
11/11/18 18:07:33.65 rMdqs55T0
まだこんなの使ってる情弱がいんのかよ
305:名無しさん@お腹いっぱい。
11/11/18 19:49:43.23 Gvg50/vl0
Sleep(2) // 10秒の間を取る
どういうことなの!?
開始時間を取得して格納して、適当にそれと比較して時間経過したら実行すればいいとか。
306:名無しさん@お腹いっぱい。
11/11/18 19:55:53.32 zdv1k3LZ0
>>304
本体exeとスクリプトだけの簡単な配布とセットアップは手放しがたい…それだけかもしれんが。
307:名無しさん@お腹いっぱい。
11/11/18 20:28:50.68 7sqHdXCs0
情強はどうしてるの?
308:名無しさん@お腹いっぱい。
11/11/18 20:53:03.99 tA/M4Oum0
>>305
わざわざそんなの書くの?
309:名無しさん@お腹いっぱい。
11/11/19 02:32:33.11 5MwJvGq00
>>305
すまない公式から拾ってきて
10秒が長かったから2秒に書き換えたんだ、
説明書き書き換えるの忘れていた
310:名無しさん@お腹いっぱい。
11/11/20 00:14:06.23 wbSUsuvr0
>>308
数分ぐらい待つのならラーメンタイマ(ramen.uws)作って使いまわしてる
ramen.uwsの中身
tabegoro(180) //3分後に設定(秒数)
SOUND("C:\Windows\Media\ding.wav") //XP用 他は知らんw
Procedure tabegoro(t)
t1=Nowtime();t2=t1+t //t1に現在時刻 t2に指定時刻(秒数)
While t2 > t1;sleep(5);t1=Nowtime();Wend //5秒おきにチェック
Fend
Function Nowtime()
GETTIME(0);Result=G_TIME_HH*3600+G_TIME_NN*60+G_TIME_SS //現在時刻(秒数)
Fend
311:名無しさん@お腹いっぱい。
11/11/20 02:08:52.14 iRi/ZYWT0
GETTIMEにその時間書いて
IFBで時間越えたら行動。でまた時間書いて閉じる
312:名無しさん@お腹いっぱい。
11/11/20 05:16:50.35 eTwtgE2k0
>>310
これって日をまたぐとうまく動かないんちゃうかな。
313:まぁRGBってなに?だと躓くだろうから
11/11/20 08:01:18.06 hstN1dtV0
年月日時分秒を合算して完全な秒数を出せばOKだろな
314:名無しさん@お腹いっぱい。
11/11/20 08:28:17.14 Nu5fqISu0
//gettime()の戻り値をそのまま使えばいいのでは
t=180 //3分後に設定(秒数)
t2=gettime()+t //t2に指定時刻(秒数)
While t2 > gettime();sleep(5);Wend //5秒おきにチェック
SOUND("C:\Windows\Media\ding.wav") //XP用 他は知らんw
//こんな感じで。試してないけど>>310と同じ動作になるよね?
315:名無しさん@お腹いっぱい。
11/11/20 09:39:13.93 k3wr1Xk/0
t=180
sleep(t)
316:名無しさん@お腹いっぱい。
11/11/20 10:42:56.88 /7ROQBl70
>>315
よく読め
317:名無しさん@お腹いっぱい。
11/11/20 14:11:10.77 mnucJeUQO
uwsc のプログラムの
sleep() って
PCが()内の数字を読み込むまでの時間で
PCのスペックによって時間が上下してしまいますよね?
PCのスペックに左右されずに一定の時間止める命令ってありませんか?
318:名無しさん@お腹いっぱい。
11/11/20 14:51:36.10 37TjzIAA0
>>317
sleep(1)で、0.990秒か1.010ぐらいの誤差は出るという話か?
Windows自体がリアルタイムOSじゃないんだからあきらめろよ…
319:名無しさん@お腹いっぱい。
11/11/20 20:26:16.19 NBuVEZGy0
for i=1 to 180
sleep(1)
next
みたいなことやったら誤差がでかくなるけど
sleep(180)と実際の180秒との誤差なんて気にしてたらきりがない。
320:317
11/11/20 21:32:34.82 mnucJeUQO
やっぱりそういうものですよね……
繰り返しやってるとどんどん誤差が出てくるのでどうにかならないかと思っているのですが
あと
sleep() って1秒単位でしか止められないですか?
0.1秒とか細かく止めることは出来ませんか?
321:名無しさん@お腹いっぱい。
11/11/20 21:50:16.24 UjA32dPa0
なぜ試さない
322:名無しさん@お腹いっぱい。
11/11/20 22:08:12.02 NBuVEZGy0
それ以前になぜヘルプすら読まないのかと。
お前はその関数の使い方どこで知った。
またゲームマクロ厨か?
323:名無しさん@お腹いっぱい。
11/11/20 22:36:51.73 wKQBEoG/0
ヘルプ呼んでないのはスルーで良いだろ。
324:名無しさん@お腹いっぱい。
11/11/21 01:48:02.86 cK4FDRBG0
sleepだけを繰り返すスクリプトなわけないんだから
蓄積される誤差の主成分はsleep以外の処理時間だろうに。
そしてその場合はgettimeを使えって話が直前に出てるのに。
325:名無しさん@お腹いっぱい
11/11/21 22:32:56.01 95iY67le0
変数の名前の中に変数を入れることってできませんか?
名前1=50
名前2=60
名前3=70
名前4=80
名前5=90
とした場合に
i=1+random(5)
print 名前i
というような感じのことができる方法ってありませんか?
iに応じて変数1などに格納してる数値を引き出してきたいです
326:名無しさん@お腹いっぱい。
11/11/21 22:59:29.69 cK4FDRBG0
配列でできるのでは
dim 名前[4]
名前[0]=50
名前[1]=60
名前[2]=70
名前[3]=80
名前[4]=90
i=random(5)
print 名前[i]
327:名無しさん@お腹いっぱい。
11/11/22 13:45:48.19 nY2IDWqE0
Fukidasiを二つ同時にだすことは可能ですか
328:名無しさん@お腹いっぱい。
11/11/22 13:57:29.23 nY2IDWqE0
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
これしか方法ないか
329:名無しさん@お腹いっぱい。
11/11/22 14:00:46.07 0Vz8p5PL0
>>327
できますよ
330:名無しさん@お腹いっぱい。
11/11/22 14:18:22.87 nY2IDWqE0
>>329
おしえていただけますか
331:名無しさん@お腹いっぱい。
11/11/22 19:40:28.55 5GYKnaiu0
>>330
だからできますって
332:名無しさん@お腹いっぱい。
11/11/22 20:13:51.19 aqyjJSd30
>>326
出来ました。どもです
333:名無しさん@お腹いっぱい。
11/11/23 19:59:47.06 WW8lFYXg0
ループ処理で使うカウンターが勝手にインクリメントされるから、
ディクリメント・ループが書けない。ゴミ言語だな。
334:名無しさん@お腹いっぱい。
11/11/23 20:17:47.72 dKKZTPir0
言語といえば言語だけど…そこまで行ったら自分で組む方が早くね?
335:名無しさん@お腹いっぱい。
11/11/23 21:18:24.83 wzzmYU4J0
UWSCでtwitterに自動で呟けたりしますか?
336:名無しさん@お腹いっぱい。
11/11/23 21:24:58.35 d6sk/n4+0
>>333
どういう意味? step -1 とかじゃダメなの?
337:名無しさん@お腹いっぱい。
11/11/23 21:40:50.79 4KoCrPGW0
デフォルトが step 1 になってるだけだよね。
他にカウンタがインクリメントされるループなんかあったっけ?
338:名無しさん@お腹いっぱい。
11/11/23 23:01:11.80 +wgWgFMDP
無いよそんなもん
ヘルプを読まない馬鹿がいるだけ
339:名無しさん@お腹いっぱい。
11/11/24 00:41:18.47 iwgJn0yc0
>>333
既にこれは「ヘルプを読まない奴」として否定されているわけだが…
n = 100
for i = 0 to n
x = n - i
print x
next
別にデクリメントループが構文として用意されないと誤解してても
『(不恰好ながら)書ける』だろ…とか思うわけで
340:名無しさん@お腹いっぱい。
11/11/24 13:01:18.76 Xjdue0Ae0
っていうかいつも while ばかり使ってると
for の存在なんて思い出しもしないw
n=100
while 0 < n
n=n-1
print n
wend
341:名無しさん@お腹いっぱい。
11/11/24 15:02:19.21 Rk+VpmeE0
とある掲示板でPro4.2+尻ってファイル見つけたんだけど、このkeygenで4.7aまでならいけるかな
342:名無しさん@お腹いっぱい。
11/11/24 19:23:17.57 GPYvU7K20
試した?
343:名無しさん@お腹いっぱい。
11/11/25 06:22:00.11 9/umpwPe0
ウインドウを閉じるんでは無くブラウザまるごと終了する方法ありますか
プロセスから切るにもchromeだからいっぱい出ちゃう
344:名無しさん@お腹いっぱい。
11/11/25 13:00:12.48 p+EqYULU0
>>335
botでいいだろが
345:名無しさん@お腹いっぱい。
11/11/25 16:40:11.51 6JjYuI9o0
>>343
窓タイトル = "Google - " //ウインドウのタイトル(の一部)を指定
def_dll PostMessageA(hwnd,int,int,int):user32.dll
PostMessageA(idtohnd(getid(窓タイトル)),$10)
346:名無しさん@お腹いっぱい。
11/11/28 05:12:01.88 /CGzuT+y0
>>345
ありがたや
347:名無しさん@お腹いっぱい。
11/11/28 11:28:49.79 ZZDnddLi0
ドラッグ&ドロップの方法を教えてください
『余分な時間、マウス~』のチェックを外してAからGまでD&Dさせたら、点A,B,C,D,E,F,Gを移動して記録させる方法は知ってるんですが、
点AとGだけを残してB,C,D,E,Fを省略する事は出来ますか?(BCDEFも表示させると時間が掛かるため)
よろしくお願いします
348:名無しさん@お腹いっぱい。
11/11/28 11:32:33.96 t/VZjk9M0
チェック入れて記録したらいいだろ
349:名無しさん@お腹いっぱい。
11/11/28 15:35:56.57 lNj7q3Yn0
初歩的な質問ですみません。
UWSファイルを難読化もしくは中の構文を見られないようにするには
どうすればいいですか?ご教授お願いしますm(_ _)m
350:名無しさん@お腹いっぱい。
11/11/28 15:39:27.19 CoKoKKvM0
ヘルプは一度上から下まで全部読んどけよ…そんなに量あるわけじゃないし。
ヘルプ→スクリプト→その他
351:名無しさん@お腹いっぱい。
11/11/28 18:30:38.88 lNj7q3Yn0
スクランブルってどうやるんでしょうか。
コマンドプロテクトで/A と打っても認識不可能なバッチと出るだけで何も
起きないです
352:名無しさん@お腹いっぱい。
11/11/28 18:51:27.35 jqFQ2BSr0
まさかと思うが、パスに半角スペースがあるというオチじゃないよな…
353:名無しさん@お腹いっぱい。
11/11/28 18:59:44.19 pCPDtoar0
>>347
Btn(LEFT,CLICK, A_X, A_Y, 0)
Btn(LEFT,DOWN, A_X, A_Y, 50)
Btn(LEFT,UP, G_X, G_Y, 50)
単純にこれでできたが・・・
354:名無しさん@お腹いっぱい。
11/11/28 19:17:09.94 lNj7q3Yn0
コマンドプロテクトでuwsc47bをcdで指定して
ディレクトリ移動する所までは分かったんですが
指定されたパスが見つかりませんとでます
uwsc47bはProgram Filesにあって
cd C:\Program Files\uwsc47bと打っても
そのフォルダに移動しないんです。
何故ですか?
355:名無しさん@お腹いっぱい。
11/11/28 19:42:24.08 NT6h79Cr0
スクランブルかけたいモノをC:直下に置くとかで良いじゃない。
356:名無しさん@お腹いっぱい。
11/11/28 19:49:30.66 CoKoKKvM0
ここまでパスに関して無頓着だとスクリプトの実行にも問題が出てこないか?
ファイル触りたいとかいう時困るだろうに。
357:名無しさん@お腹いっぱい。
11/11/28 19:53:24.52 CoKoKKvM0
っていうかコマンドプロテクトって何さ
知らない単語が出たら適当に自分の知ってる単語に置き換えてみるんだろうか?
知ってる単語でも音だけ知ってて意味は分からない単語なんだろうけど。
意味わからない言葉を適当に使ってみるって行動が理解できないよ。
358:名無しさん@お腹いっぱい。
11/11/28 20:12:24.70 lNj7q3Yn0
無知ですみません
C:直下のProgram Filesをcdで指定してもやはり指定されたパスが見つかりません。
って出ます
cd C:\Program Files で合ってますか?
コマンドプロテクトじゃなくてコマンドプロンプトですね。すみません
359:名無しさん@お腹いっぱい。
11/11/28 20:26:17.68 rSlze9qY0
それ自体はあってるよ。
それ以外の要因が説明不足でエスパーが必要なんだろうね。
判るものも判らん。
360:名無しさん@お腹いっぱい。
11/11/28 20:26:51.15 CoKoKKvM0
散々適当書いてた経緯からして、ここに書いてあるパスと
実際入力したパスが違う可能性が否定できない…
あと、ブートドライブがCじゃない可能性も…
361:名無しさん@お腹いっぱい。
11/11/28 20:27:07.92 lNj7q3Yn0
解決しました
どうやら C:\のc:の部分がいらなかったようです.
コマンヂプロンプトのサイトの構文にはc:が入っていたので分かりませんでした;
362:名無しさん@お腹いっぱい。
11/11/28 20:27:17.46 rSlze9qY0
どうしてもわからないなら、>355 の言うとおり
UWSC.exe と 対象スクリプトをC直下に置けば良いじゃない。
363:名無しさん@お腹いっぱい。
11/11/28 20:28:09.48 lNj7q3Yn0
なんか自分で見てても文章が稚拙ですね~^^;
支離滅裂ですみません;
364:名無しさん@お腹いっぱい。
11/11/28 20:28:40.75 CoKoKKvM0
ずばり、Cドライブじゃなかったってオチか
365:名無しさん@お腹いっぱい。
11/11/28 20:32:59.42 lNj7q3Yn0
CD C:program files じゃムリでしたが
CD \Program files でいけました^^
まずDドライブっていうやつがないので;w;
でもDVD-RWっていうのがありましたがこれがDドライブなんでしょうか?
366:名無しさん@お腹いっぱい。
11/11/28 20:35:27.03 B+rdzsPG0
>>365
上のなんで\無くなってるん
367:名無しさん@お腹いっぱい。
11/11/28 20:38:39.97 lNj7q3Yn0
やったーーーーーーーー
出来ました^^
3時間も掛かっちゃったpwq
>>366さん
書き忘れましたすみません;
暗号化出来ました^^
でもORGファイルっていうのが出来たんですがこれは何ですか?
368:名無しさん@お腹いっぱい。
11/11/28 21:14:35.02 DelMMb6d0
^^;
369:名無しさん@お腹いっぱい。
11/11/28 21:24:57.65 CiLErwXn0
これ素でやってんの?
370:名無しさん@お腹いっぱい。
11/11/28 21:39:49.84 CoKoKKvM0
ここまで超弩級の初心者がスクリプトの内容を隠したがる理由って何?
またゲームマクロ関係の臭いがしてきた…
371:名無しさん@お腹いっぱい。
11/11/28 21:43:24.09 65S6433R0
だからこそだろw
ソース見られたら恥ずかしいじゃん
372:名無しさん@お腹いっぱい。
11/11/28 21:50:24.68 rSlze9qY0
自分を大きく見せるためだよ
373:名無しさん@お腹いっぱい。
11/11/28 21:52:16.25 ZZDnddLi0
>>353
教えて頂いたとおりにやってみたのですが、1行目でファイルを開いてしまいます
2行目でドラッグをしてる筈なんですが、Gまでカーソルが移動してもファイルは移動しないのです
A-G間を一気に移動出来ると良いのですが
374:名無しさん@お腹いっぱい。
11/11/29 00:22:34.51 6f1ikZrG0
>>373
具体的に何がやりたいんだ?
一応dropfileならコマンドあるような…
375:名無しさん@お腹いっぱい。
11/11/29 13:54:39.76 Wf2HEEvG0
>>373
353の一行目で何してるかわかってる?
376:名無しさん@お腹いっぱい。
11/11/29 13:56:36.68 Wf2HEEvG0
一行目のクリックと二行目の間にsleep置くか
一行目省くかで出来るだら
377:名無しさん@お腹いっぱい。
11/11/29 17:13:28.90 7tsIYmjQ0
質問です。
グローバル・スコープに組込み関数と同じ名前で関数がユーザ定義できてしまいますが、
コードが大きくなってしまい、組込みなのかユーザ定義なのか明示したくなってきました。
コード内で組込みであることを明示する書き方はあるのでしょうか?
例えば、
function Random() ←ユーザ定義されたランダム関数
・・・・・
fend
procedure Shuffle(var OBJ[], TIMES=100)
len = Length(OBJ)
for times = 1 to (len * TIMES)
c1 = Random(len) ←こちらは組込みのRandom()を使いたい
c2 = Random(len)
ifb !(c1 = c2) then
this.Swap(OBJ[c1], OBJ[c2])
endif
next
fend
378:名無しさん@お腹いっぱい。
11/11/29 17:41:41.51 JvceVNuB0
>>377
逆にユーザー定義の方をuser_RANDOMとかにして区別すれば?
379:名無しさん@お腹いっぱい。
11/11/29 18:00:40.49 7tsIYmjQ0
ユーザ定義のRandomも複数箇所で使っているので、
組込であることを明示できた方が変更箇所が少なくて済むんです。
だからBuiltin.Random()などと記述できればなーと思ったんですが・・・ヘルプを見る限りできなさそうですねぇorz
380:名無しさん@お腹いっぱい。
11/11/29 19:19:34.10 hLtj59jYi
>>379
そりゃ、求める方がおかしいからな
諦めて別名を使えよ
381:名無しさん@お腹いっぱい。
11/11/30 00:00:55.66 7tsIYmjQ0
予約語&関数一覧にある関数名がユーザで使える方がおかしくない?
382:名無しさん@お腹いっぱい。
11/11/30 00:24:34.22 vxsaB//g0
別におかしくないよ
関数をユーザーが上書きしたり改変したりといった具合にフックできる言語もある
383:名無しさん@お腹いっぱい。
11/11/30 00:31:31.53 Xo98chVK0
>>381
使えない予約語もあった気がする 具体名忘れたけど
randomはjs、javaを考慮して制約を外してあるとかじゃないかな…?
384:名無しさん@お腹いっぱい。
11/11/30 01:15:31.15 v4l4hkwp0
>>382
それは引数の型や個数で判別できる場合じゃないの?それで区別してくれれば問題ないんだけど、
UWSCは引数が違うといってエラーになるだけだからなぁ・・
385:名無しさん@お腹いっぱい。
11/11/30 06:53:29.22 08SXj0TB0
自作関数をrandomという名前にしなければならない理由はないだろ
ちょっと変更すれば済む話。
俺は自作関数で上書きすることで、スクリプトに手を加えることなくデバッグ出力とかできたらいいなと試してみたけど、
いったん上書きしたらもう標準関数を呼び出せなくなるんだよね。
だから>>379が言うような方法があればいいなと探してみたことはあったけどあきらめた。
けど今ちょっと思いついたぞ。
Withを使う方法だ。
DEBUGというモジュールとRELEASEというモジュールを用意して切り替えることで、
スクリプト本文に手を加えることなくデバッグモードの切り替えができる。
With DEBUG
.関数()
問題はWithがどの範囲で使えるかだけど、関数内で宣言が必要だろうな。関数ごとに・・・
変数が使えればいいけど無理だよな。
C言語のDEFINEみたいのがあればヘッダを書き換えるだけだけど・・・
386:名無しさん@お腹いっぱい。
11/11/30 22:18:17.27 8ezR9SNv0
>>385
世間一般的な使いこなし術、とは違って
「他言語で実現できてる事」を工夫して提唱しても虚しいぞ。
結論として他言語に移れば良い。
別にWindowsの操作制御はUWSCの専売特許でもない。
ただ、初心者でも使いやすい記述とインターフェースがあるだけ…そこはものすごい利点なのだが。
387:名無しさん@お腹いっぱい。
11/11/30 22:37:21.30 yLeiwQBs0
その初心者向けにヘルプが充実してるところか。
悲しいのは敷居が低いからいろんなのがヘルプ読まずに質問するところか。
388:名無しさん@お腹いっぱい。
11/12/01 00:43:31.29 8QVbGduq0
ヘルプや例だけでは仕様が曖昧な記述も多いよ。
389:名無しさん@お腹いっぱい。
11/12/01 00:47:03.60 n0XSScXj0
そういう質問なら別にかまわん。
しかしそれ以前の質問多すぎるだろ…
390:名無しさん@お腹いっぱい。
11/12/01 12:15:23.09 GRaVA5bs0
ビットテストしたくて下みたいに書いたんだけど、もっとシンプルで実行速度が速そうなの組みたいんだけど
どうしたらいいんだろうか?
Procedure bittest(test)
for i=0 to 3
test2=test and power(2,i)
select true
case test2=8
print test2
case test2=4
print test2
case test2=2
print test2
case test2=1
print test2
selend
next
fend
391:名無しさん@お腹いっぱい。
11/12/01 13:49:09.37 GRaVA5bs0
>>390の補足
それぞれ立ってるビットによって別の操作をしたい
selectが条件一致したら抜けるんじゃなくて条件に一致した部分全部を実行して欲しい
bittest(6) で呼ぶと
2
4
って感じで表示して欲しい
392:名無しさん@お腹いっぱい。
11/12/01 14:32:22.84 AEqpRIzn0
チェックボックスのビット判定の例を見ると参考になると思う。
393:名無しさん@お腹いっぱい。
11/12/01 14:58:53.56 GRaVA5bs0
>>392
レスありがとう
そう言えばSLCTBOX()のチェックボックス指定した時ってビット演算で戻り値取ってましたね
早速例題ググってみます
394:名無しさん@お腹いっぱい。
11/12/01 16:08:10.80 1uXdCRi30
>>390
その4ビットだけならこれでいいのでは
procedure bittest(test)
if test and 1 then print 1
if test and 2 then print 2
if test and 4 then print 4
if test and 8 then print 8
fend
395:名無しさん@お腹いっぱい。
11/12/01 16:09:56.53 GRaVA5bs0
>>390だけど
Procedure bittest(test)
if test and 8 then print test and 8
if test and 4 then print test and 4
if test and 2 then print test and 2
if test and 1 then print test and 1
fend
にした
流しそうめんみたいに上から全部判定して別処理するんだったらこれが一番シンプルだと思った
答えてくれた>>392さんありがとう。サンプルコード見て閃いた
やっぱ素直に書くのが一番でした
396:名無しさん@お腹いっぱい。
11/12/01 16:11:25.72 GRaVA5bs0
>>394
おお!レスくれてたのか。ありがとうございます。リロしてませんでした。ごめんなさい
仰るように書き直しました。これに気付くまで数時間かかったのでありがとうございます
397:名無しさん@お腹いっぱい。
11/12/02 17:53:16.31 wLnc7Jgd0
32ビットとか使いたくなった時のために
こんな感じにしといたほうが無難ではないだろうか
procedure bittest(test)
bit = 1
for i = 1 to 32
if test and bit then print bit
bit = bit * 2
next
fend
398:名無しさん@お腹いっぱい。
11/12/02 18:18:35.14 nzM92MKJ0
並列して似た作業をループさせたいんだが
内容としては、ChromeA、ChromeB、ChromeCってウィンドウがあるとして
AもBもCもループさせてる作業内容は同じで、そのループを同時進行で実行させたい。
知識ないから、単純にA、B、C用にそれぞれスクリプトを組み同時に実行させてるんだけど
なぜだかAウィンドウがCウィンドウの位置にワープしたり、BウィンドウがAウィンドウと重なる位置にワープしたり
わけわかめなんだ。
原因として、何が考えられるのか。改善は可能なのか。
ちなみに、スクリプトの内容は
FOR 回数 = 1 TO 5
ACW(GETID("~-~- Google Chrome","Chrome_WidgetWin_0"),-1,319,263,761,0)
BTN(LEFT,CLICK,176,794,1000)
BTN(LEFT,CLICK,176,794,1000)
BTN(LEFT,CLICK,176,794,1000)
BTN(LEFT,CLICK,176,794,1000)
BTN(LEFT,CLICK,176,794,1000)
BTN(LEFT,CLICK,176,794,1000)
BTN(LEFT,CLICK,176,794,1000)
NEXT
こんな感じのを、A、B、C用それぞれ作ってバッチでスクリプトを同時に実行させてる。
ちなみに、全部で12ウィンドウ分。
399:名無しさん@お腹いっぱい。
11/12/02 21:21:05.08 79OuEhei0
そりゃ毎回getidしてるからだろ。
400:名無しさん@お腹いっぱい。
11/12/02 21:38:40.01 k1G8oZ+i0
どうせIDがかぶってるオチじゃねーの
401:名無しさん@お腹いっぱい。
11/12/02 22:02:28.32 nzM92MKJ0
>>399
その通りだったみたいです。
GETIDの所無くしたら問題なく動きました。
これ、クリックする部分は絶対座標だから対象としてるウィンドウ達はスクリプトで指定してる座標から動かしちゃダメって事ですよね。
とりあえず、これで手動クリックから抜け出せましたw
1時間弱12個のウィンドウの決まった所をひたすらカチカチ作業を6時間おきにやるのがマジキチだったので
助かりました!
402:名無しさん@お腹いっぱい。
11/12/02 22:59:30.81 79OuEhei0
>>401
なんか勘違いしてるっぽいな?
同じタイトルのウィンドウが複数ある場合1回目のgetidと2回目のgetidで
同じウィンドウを取得できるとは限らんって事だぞ。
一つのウィンドウに対して複数回操作をするなら
getidを1回だけやってIDを変数に取って以降その変数でやる
403:名無しさん@お腹いっぱい。
11/12/02 23:57:44.63 fkbuA7P+0
どう考えてもまともな使用目的じゃなさそう
ま、その程度ならたいした実害はなさそうだけどな…
404:名無しさん@お腹いっぱい。
11/12/03 00:00:36.60 X9b56wfw0
マクロのまともな使用目的ってなんだよ
405:403
11/12/03 00:19:27.25 /eCiHqMi0
>>404
だからさ、マクロ目的ならこれよりAHKの方が良いって…w
406:名無しさん@お腹いっぱい。
11/12/03 00:19:31.71 i8U652yV0
ルールを正規に定めている範囲内でそのルールに違反しないこと
407:名無しさん@お腹いっぱい。
11/12/03 10:57:34.98 mXU25fWD0
IF (test_flag xor PEEKCOLOR(446,182))=($FFFE or (test_flag xor 1)) then その後の処理
って感じでtest_flagの状態によって切り替えて判定してるんだけどもっとシンプルに書きたい
norが有ればもう少しましに
IF (test_flag xor PEEKCOLOR(446,182))=($FFFE nor test_flag) then その後の処理
って感じで書けるんだろうけどnotすらないようなので・・・
○PEEKCOLORの取りうる値は$FFFFかそれ以外
○test_flagは0か1の値を取る
○検出したいのは$FFFF
やりたいことは
○test_flagが0の時、$FFFF=PEEKCOLOR(446,182)を検出するとthenを実行
○test_flagが1の時、$FFFF=PEEKCOLOR(446,182)を検出出来なければthenを実行
頑張って一回で両方を判定しようとして2,3時間悩んだ結果がこれなんだ
実際にはthread処理してて別のルーチンでtest_flagの状態を変えてるからタイミングが悪い時に
2回判定するとタイミングずれて結果が変わる
両方を同時に判定しないといけないんだけどもっといい方法無いかな
408:名無しさん@お腹いっぱい。
11/12/03 11:25:51.48 mXU25fWD0
○test_flagが1の時、$FFFF=PEEKCOLOR(446,182)を検出出来なければthenを実行
↑間違えた
○test_flagが1の時、$FFFF=PEEKCOLOR(446,182)を検出するとthenを実行
普通は判定で処理が変わるけど、処理が同じで判定の方が変わる
409:名無しさん@お腹いっぱい。
11/12/03 11:52:21.95 9zFEGBoU0
それ、test_flag で何も切り替わってない気がするけど
if peekcolor(446,182)=$FFFF then ~
ではダメな理由は何?
それと、一行にまとめたからって同時に実行されるわけじゃないかと
410:名無しさん@お腹いっぱい。
11/12/03 11:52:50.87 1rpOnUv/0
this_test_flag = test_flag
this_PEEKCOLOR = PEEKCOLOR(446,182)
共有変数を直接参照し続けなければ良いだろう…とは当然考えてしまうのだが。
411:名無しさん@お腹いっぱい。
11/12/03 12:08:59.69 mXU25fWD0
>>409
test_flagは別ルーチン(thread処理で別のが切り替えてる)
ダメな理由は
if peekcolor(446,182)=$FFFF and test_flag=0 then ~
if peekcolor(446,182)<>$FFFF and test_flag=1 then ~
って書くとifとifの間の実行中に別スレッドがtest_flagの値を切り替える可能性があるから
>>410
これも同じ理由です。そもそも状態を記憶するためにフラグを使ってるのですから
直接参照した上でないと代入や判定の際にタイミングずれて誤作動しました
412:名無しさん@お腹いっぱい。
11/12/03 12:14:18.13 1rpOnUv/0
>>411
別スレッドで動作させるなら
>IF (test_flag xor PEEKCOLOR(446,182))=($FFFE or (test_flag xor 1))
最初のフラグと最後のフラグが同じ値である保証は無いのだが。
413:名無しさん@お腹いっぱい。
11/12/03 12:17:11.88 1rpOnUv/0
俺が誤解してるのかなぁ…
414:名無しさん@お腹いっぱい。
11/12/03 12:18:53.23 1rpOnUv/0
まぁ、そこまで動作を把握してるなら自分で聞いた答えは自分で出してるんだろうな。
もっとシンプルには書けない、で終わりだ。
415:名無しさん@お腹いっぱい。
11/12/03 12:26:58.10 mXU25fWD0
>>408が間違いです。ほんとすみません
test_flagが1の時、$FFFF=PEEKCOLOR(446,182)を検出出来なければthenを実行であってました
どうも混乱しててごめんなさい
416:名無しさん@お腹いっぱい。
11/12/03 12:34:58.12 mXU25fWD0
>>413
ほんとうにごめん。>>415です。>>408が間違ってました
気分を害したのならあやまります。ただ、こう言ったロジックの話は
チェスとかパズルとか将棋みたいで知的遊戯な気がするので聞いてみました
詰め将棋やってて解けたと思ったら実は他に逃げ道が有って・・・みたいな感じですね
>>412なんですがその通りなんですよね
完全に回避しようと思ったらuwsc自体にthread処理を一旦止める実装がないと無理だと思います
ただ、
if peekcolor(446,182)=$FFFF and test_flag=0 then ~
if peekcolor(446,182)<>$FFFF and test_flag=1 then ~
と書くよりは誤作動する確立が減るので、一回でなるべく高速に判定したいと思った結果なんですよ
417:名無しさん@お腹いっぱい。
11/12/03 12:42:03.86 1rpOnUv/0
いや、実際の動作的に試したことは無かったので面白いと思いますわ。
で、実際に書いてみた…num=numでfalseが出るよねw
確実性を求めるなら、処理が外部に出る前に必ず別フラグを参照して止める必要性があるねぇ。
----
public num
thread _set()
while 1
ifb num = num
print "true"
else
print "false"
endif
sleep(0.1)
wend
procedure _set()
while 1
num = random()
wend
fend
----
418:名無しさん@お腹いっぱい。
11/12/03 12:45:34.02 9zFEGBoU0
私が>>409を書いた理由も>>408が原因だぞ。充分に反省するように。
とりあえず、条件式を1行にまとめたからって全てが同時に判定されるわけじゃなく
優先度の順にビット演算されていくだけなので、IFを多重にした方が高速な場合が多い。
そして実はあるシンプルな回答
if peekcolor(446,182)=$FFFF xor test_flag then ~
たぶんこの1行で行けるんじゃないかな
419:名無しさん@お腹いっぱい。
11/12/03 12:51:03.91 ohnwLlPk0
スケジュール設定で12:00~15:00まで3分毎ってどういう式にすればいいんですか?
420:名無しさん@お腹いっぱい。
11/12/03 12:51:56.72 1rpOnUv/0
>>418
求めるものはそういう回答なのでしょう。
ずれた話しててごめんね。
421:名無しさん@お腹いっぱい。
11/12/03 13:29:11.91 mXU25fWD0
>>417
わざわざ試して頂いてありがとうございます
ちょっと自分なりに条件を考えてみたのですが
IF (test_flag xor PEEKCOLOR(446,182))=($FFFE or (test_flag xor 1))
のフラグが最初と最後で書き換えられていない場合でPEEKCOLOR(446,182)が$FFFFを返す場合
フラグ1の時
1 xor $FFFF=$FFFE or (1 xor 1)これが判定式に入るので
if $FFFE=$FFFE then~ の式になる
フラグ0の時
0 xor $FFFF=$FFFE or (0 xor 1)
if $FFFF=$FFFF then~ の式になる
これは思った通りの動作です
改行が多いと怒られたので
422:名無しさん@お腹いっぱい。
11/12/03 13:29:31.63 mXU25fWD0
途中で切り替わってしまった場合は
フラグ1の時
1 xor $FFFF=$FFFE or (0 xor 1)これが判定式に入るので(もしくはその逆で0 xor $FFFF=$FFFE or (1 xor 1)かもしれない)
if $FFFE=$FFFF then~ の式になる
フラグ0の時
0 xor $FFFF=$FFFE or (1 xor 1)同上
if $FFFF=$FFFE then~ の式になる
IFの判定の瞬間に切り替わっちゃうとどうしようもないけど、頑張って考えたて
安全性を求めるなら、この条件を数回実行するって言うのしか方法はなさそうなんですよね
>>418
はい、ほんとうにごめんなさい。反省してます
自分でも必死に考えて試行錯誤の結果なのできっちり理解できてませんでした
if peekcolor(446,182)=$FFFF xor test_flag then ~
なんですけど試したらちゃんと動きました。ありがとうございます
ビット演算が実は逆に時間がかかる場合もあると聞いてビックリです
>>420
いえ、ありがとうございます。勉強になりました
>>418で答えていただいたのを理解してました。遅レスですが皆さん本当にありがとうございます
423:名無しさん@お腹いっぱい。
11/12/03 13:33:29.83 mXU25fWD0
あと、事後報告なんですが、>>418で回答頂いたのをコードに組み込んで
printで確認したら、やっぱり何回かに1回の割合で誤判定してるみたいです
3、4回走らせると、誤作動はしてないみたいなので、本当にthen以降を実行するかはループを回してチェックする事にしました
ありがとうございました
424:名無しさん@お腹いっぱい。
11/12/03 14:55:45.80 9zFEGBoU0
>>422
>ビット演算が実は逆に時間がかかる場合もあると聞いてビックリです
そういう意味じゃなくて、条件式というのは全てビット演算なのですよ。
マッチしたら1 しなかったら0 という1ビットの値として扱われるものなので
ビット演算子で条件を繋いだりできるわけです。
そしてたとえば
if 超重い関数() and クソ重い関数() and 死ぬほど重い関数() then ~
このような条件式があった場合、andなので一つが0ならそれで確定するのに
ビット演算を全部終わらせようとして常に関数3つとも実行されてしまうので
一つの長い条件式にするよりは多段IFの方が無難なのです。
でも今回の場合は関係なかったかも。
425:名無しさん@お腹いっぱい。
11/12/03 16:28:49.35 mXU25fWD0
>>424
そうなんですか
最終的にはif ビットが立ってるか? thenって言う判断なんですね
凄く参考になったので今if文全部見直してます
426:名無しさん@お腹いっぱい。
11/12/03 20:26:44.32 9zFEGBoU0
ところで、>>407の1行目ってやっぱり
test_flagがどっちであっても同じ動作をするように見えるんだけど・・・
つまり>>409に書いた通り
if peekcolor(446,182)=$FFFF then ~
これと全く同じ動作になってるような?
427:名無しさん@お腹いっぱい。
11/12/03 21:58:02.73 1rpOnUv/0
>>426
>>407 の一行目は完全にフラグ無視の動作だねw
動いていたのは彼の勘違いか、コードの別の部分が変にフラグ書き換えてバグってるんだよ。
別の部分の原因を把握してないから>>423 みたいな事を言ってるんだと思うわ。
428:名無しさん@お腹いっぱい。
11/12/04 15:19:27.08 /9Bgp8pL0
>>426
if peekcolor(446,182)=$FFFF then ~ だと複数回チェックする時に状態反転してるのに同じ物を検出条件にしてますよね?
その間に状態が変わって反転してるかもしれないのでこれだと誤作動です
フラグが反転すると今度は$FFFFを検出しない状態でthen~を実行して欲しいんです
フラグの状態を無視してると言うのが力不足で理解出来ません。良ければその理由を指摘いただけませんか?
>>427
画面の更新タイミングがずれる時(他アプリの起動や描画時間がかかるアプリ、windowsの画面更新そのものが止まる状況、画面上に別アプリを起動した時にそのウインドウが(446,182)の座標に被った場合など)
描画が止まったりすると1回の判定だと当然誤作動するんです。誤動作のタイミングがそれ以外にも色々あるので不定です
then~はエラー復帰と考えていただければ分かりやすいと思います
その判定の為に何回かPEEKCOLOR(446,182)を繰り返してます
429:名無しさん@お腹いっぱい。
11/12/04 15:44:59.59 oaCfJ4/G0
>>428
いい加減に自分でテストコードぐらい書いて確認しろよ。
以下の4パターンで、この二つの判定式はまったく同じboolを返す
今までこれで正しく動いていたと思うなら、ほかの部分がおかしいままだ。
flag = true; pc = $FFFF; print _a(flag, pc) +":"+ _b(flag, pc)
flag = false; pc = $FFFF; print _a(flag, pc) +":"+ _b(flag, pc)
flag = true; pc = $1111; print _a(flag, pc) +":"+ _b(flag, pc)
flag = false; pc = $1111; print _a(flag, pc) +":"+ _b(flag, pc)
function _a(test_flag, pc)
ifb (test_flag xor pc)=($FFFE or (test_flag xor 1))
result = true
else
result = false
endif
fend
function _b(test_flag, pc)
ifb pc = $FFFF
result = true
else
result = false
endif
fend
430:名無しさん@お腹いっぱい。
11/12/04 16:37:31.86 /9Bgp8pL0
>>429
thread処理じゃないのでこのコードが同じになるのは分かります
実際に動かしました。仰るようにthread処理でフラグが変えられた場合のテストコード書いてみます
431:名無しさん@お腹いっぱい。
11/12/04 16:45:45.24 oaCfJ4/G0
>>430
根本的に勘違いをしてそうだな…
432:名無しさん@お腹いっぱい。
11/12/04 17:12:51.75 NfC3QC8T0
っていうか>>421に自分で書いてるだろう
色が$FFFFの場合に
>フラグ1の時
>if $FFFE=$FFFE then~ の式になる
>フラグ0の時
>if $FFFF=$FFFF then~ の式になる
つまりフラグがどっちでもIF条件を満たして同じ動作をしてる
>IF (test_flag xor PEEKCOLOR(446,182))=($FFFE or (test_flag xor 1)) then その後の処理
は
>if peekcolor(446,182)=$FFFF then ~
と全く同じ動作しかしてない。
433:名無しさん@お腹いっぱい。
11/12/04 17:30:39.85 /9Bgp8pL0
今必死に理解に勤めてます
threadであろうがやっぱり同じになると思います。でも何故そうなるか分かりません
数学の証明問題を解いてる気分です
もうちょっと頑張りたいと思います。皆さん本当にありがとうございます
434:名無しさん@お腹いっぱい。
11/12/04 18:04:04.92 /9Bgp8pL0
ごめんなさい。やっと理解できました。根本的に間違ってたようです
IF (test_flag xor PEEKCOLOR(446,182))=($FFFE or (test_flag xor 1)) then その後の処理
は単に
IF peekcolor(446,182)=$FFFF then
を分かりにくくしただけで、式そのものが間違いと言う事に気付きました
ちゃんと動いた事があるのはうまい具合に(意図したように)誤作動してたんだと思います
本来チェックしたい条件とは逆の判定をflagによって行ってた
threadだろうが、そうでなかろうが結果が同じになるということがやっと分かりました
IF peekcolor(446,182)=$FFFF thenを因数分解した様な式で分かりにくくなっただけでflagの値が何であれ判定条件は同じ
if peekcolor(446,182)=$FFFF xor test_flag then ~
じゃないとまともに動かない。何故間違ってるのかに気付くまで時間かかりましたがご指摘、本当にありがとうございました
435:名無しさん@お腹いっぱい。
11/12/04 18:17:37.85 /9Bgp8pL0
連投失礼します
今回、if文は本来チェックしたいものをチェックして、フラグで条件が違うならそれでテストする
if 真xor真 これは偽
if 真xor偽 これは真
と言う事を改めて学ばせていただきました。本当にありがとうございます。上みたいにもっとシンプルに考えればよかったんですね
基本に立ち帰りました
理解に協力していただいた皆様に本当に感謝いたします。ありがとうございます
嬉しい事があると話が長くなるタイプなので長文失礼致しました
436:名無しさん@お腹いっぱい。
11/12/04 22:26:58.00 p5fpQ4yg0
ファイル(主にmp4,flv)が壊れているかいないかを判断するのにバイナリの先頭部分を少しみてチェックしたいんだけど、
何か良いwshかAPIあったら誰か教えて下さい。GetDetailsOfでやってみたら駄目だったのでがっくりきた。
437:名無しさん@お腹いっぱい。
11/12/05 23:52:25.98 EZJzSyhp0
APIのReadFileとかCOMのADODB.Streamとかで読み込むことはできるかも知れないけど
そもそもuwscはバイナリを扱えるようにできてないからかなり大変なのでは
438:名無しさん@お腹いっぱい。
11/12/06 00:08:45.77 lh46L2lh0
というか、壊れているかがヘッダーだけで判別できないだろ…
後ろ全部のバイナリチェックが「壊れている」かの本分だと思うけど。
439:名無しさん@お腹いっぱい。
11/12/06 00:22:08.13 Wp/yAHHF0
動画のバイナリチェックなんて事前にハッシュでもとってない限り
実際に見てみるしかないと思うが。
440:名無しさん@お腹いっぱい。
11/12/06 05:16:59.55 Xn7p9Gq+0
uwscで直接チェックするなんて、どこにも書いてないと思うが・・?
441:名無しさん@お腹いっぱい。
11/12/06 12:51:32.12 SfWAQh+f0
そうだね。UWSCとは一言も書いてないからただの誤爆かも知れないね。
いずれにせよ先頭を見ただけでは壊れてるかどうかの判別はできないだろうけど。
442:名無しさん@お腹いっぱい。
11/12/06 16:35:29.26 lJ3EajKr0
ckfol="D:\hoge"
dim filetype[]="*.mp4","*.flv"
for y=0 to RESIZE(filetype)
count=Getdir(ckfol,filetype[y])
for z=0 to count-1
file=GETDIR_FILES[z]
ifb POS("(sm",file)>0 AND POS("[nico]",file)=0 AND POS("%%エラー",file)=0
DIM objStream = CREATEOLEOBJ("ADODB.Stream")
objStream.Open()
objStream.Type = 1
objStream.LoadFromFile(ckfol+"\"+file)
str=""
for i=0 to 30
str = str + objStream.Read(1)
next
objStream.Close()
ck=POS("FLV",str)+POS("ftypi",str)
ifb ck=0
doscmd("REN <#dbl>" + ckfol +"\" + file + "<#dbl> <#dbl>%%エラー "+ file +"<#dbl>")
else
doscmd("REN <#dbl>" + ckfol +"\" + file + "<#dbl> <#dbl>[nico] "+ file +"<#dbl>")
endif
endif
next
next
443:名無しさん@お腹いっぱい。
11/12/06 16:36:33.34 lJ3EajKr0
>>437-441
先頭部分にFLV or ftypi がなければ破損と考えてるだけで、そこまで複雑にチェックしようとしているわけでないです。
PCがしょぼいせいで、ニコニコ動画で作業用BGMとかのファイルをirvineで落としてから聞いてるのですが
たまに開けないのが先頭部分がおかしかったりします。
厳密には修復可能かもしれないですけど、落とし直した方がはやいですし、簡易なチェックでいいと思ってます。
適当に作ったのが↑ですがファイル全部をロードしてしまうので30-100Mあるので動作がもっさりしてます。
ロードするバイトを指定できるCOMかAPIを教えて下さい。書かれてたReadFile関数がそれっぽいのですが、
記述方法がよくわかりませんでした(引数の型の辺り)ので、できればソース御願いします。
444:名無しさん@お腹いっぱい。
11/12/06 16:58:29.07 lh46L2lh0
>>443
URLリンク(www.google.com)
445:名無しさん@お腹いっぱい。
11/12/06 17:13:33.77 SfWAQh+f0
COMはよくわかんないのでReadFileの方をかなり適当に。
読めなかった場合の対策とか何もしてない。
def_dll CreateFileA(string,dword,int,int,int,int,int):hwnd:kernel32.dll
def_dll CloseHandle(hwnd):kernel32.dll
def_dll ReadFile(hwnd,var int,int,var int,{int,int,int,int,int}):kernel32.dll
ファイルのパス="C:\いかがわしい動画.mp4"
読むバイト数=4
読み開始位置=0
dim 内容[読むバイト数-1] //この配列に1バイトづつ入る
buffer=0
hFile = CreateFileA(ファイルのパス,$80000000,0,0,3,0,0)
for i=0 to 読むバイト数-1
ReadFile(hFile,buffer,1,0,0,0,読み開始位置+i,0,0)
内容[i] = buffer
next
CloseHandle(hFile)
446:名無しさん@お腹いっぱい。
11/12/06 17:22:05.35 lh46L2lh0
あー、すまねぇ。
447:名無しさん@お腹いっぱい。
11/12/06 18:51:34.72 Lhc7BvL10
>>445
早い回答ありがとです。問題なくできました。これからAPI使うときの参考にさせてもらいます。
448:名無し@カレイライス
11/12/06 19:57:13.13 3iAYuHHz0
uwsc4.7bって4.2のkeygen使えない・・・・
使うとEROOR2ってでちゃう
どうしてる?
449:まぁRGBってなに?だと躓くだろうから
11/12/06 20:37:33.71 AJr0eoco0
keygenって何? 不正利用の奴?
450:名無しさん@お腹いっぱい。
11/12/06 20:55:02.91 WHgW2JxR0
キーゲンっていう人の名前
451:名無しさん@お腹いっぱい。
11/12/06 22:05:12.83 FwrdrbV80
>>448
一つ前のバージョンを使う
452:名無しさん@お腹いっぱい。
11/12/06 23:18:50.42 stD1RjnF0
きっと機ー嫌がよくなかったんだろう
453:名無しさん@お腹いっぱい。
11/12/07 21:43:43.16 4DJo4FXi0
>>448 買う
454:名無しさん@お腹いっぱい。
11/12/09 01:40:33.04 2M+DX9BjO
A、B、C、3つの画像のいずれかが表示されたら(複数同時には表示されない)クリックするというのを作りたいのですが
いずれかというところはどういう命令文を使えばいいのでしょうか
画像を認識したらクリックするサンプルをいじって作ろうと思うのですが
ヒントをもらえないでしょうか
455:名無しさん@お腹いっぱい。
11/12/09 01:55:05.09 Er3abYKP0
fib 画像
あたりでググる
456:名無しさん@お腹いっぱい。
11/12/09 08:47:52.58 x34wE5u90
ふぃ・・ fib・・・。
457:名無しさん@お腹いっぱい。
11/12/09 09:01:27.94 2M+DX9BjO
ありがとうございます
後で調べてみます
458:名無しさん@お腹いっぱい。
11/12/09 14:03:10.70 ZN2u4Le30
ifb chkimg("画像")
btn(left, 0, g_img_x, g_img_y)
endif
いずれかっていう条件には当てはまらないけど
こんな感じのを画像ごとに3つ並べて外側をループで囲むってのはだめ?
459:名無しさん@お腹いっぱい。
11/12/09 16:16:35.81 2M+DX9BjO
ありがとうございます
帰ったら頑張ってみます!
460:名無しさん@お腹いっぱい。
11/12/09 19:48:48.34 aqF2OxRBi
fibとか恥ずかしすぎるミスしてたのかw
ifib 画像1
btn
else
ifb 画像2
btn
else
ifb 画像3
btn
endif
みたいな形でもいける
外出中なもんで、スペルは忘れた
461:名無しさん@お腹いっぱい。
11/12/09 20:47:35.57 7jOegEp80
素直にelseif
ifb chkimg(画像1)
btn
elseif chkimg(画像2)
btn
elseif chkimg(画像3)
btn
endif
それとも1行で
if chkimg(画像1) or chkimg(画像2) or chkimg(画像3) then btn
if使わずにやるとか
repeat
until chkimg(画像1) or chkimg(画像2) or chkimg(画像3)
btn
462:名無しさん@お腹いっぱい。
11/12/09 21:20:12.57 23JtmXTV0
orで繋ぐのは無用に重くなるんであんまりよくない。
見た目はいいけどね。
463:名無しさん@お腹いっぱい。
11/12/09 22:44:07.82 rc66RbfO0
>>462
先頭からどれか一つ真になった段階で残りは打ち切らなかったっけ
464:名無しさん@お腹いっぱい。
11/12/09 23:28:22.54 VPRYh0W+0
>>463
dim i = 1
print "start"
ifb i=1 or test1() or test2() = 1 or 1 or test3()
print "ifb実行"
elseif test4()
print "elseif実行"
endif
FUNCTION test1()
print "test1開始";sleep(5)
RESULT=1
print "test1終了"
fend
FUNCTION test2()
print "test2開始";sleep(5)
RESULT=1
print "test2終了"
fend
FUNCTION test3()
print "test3開始";sleep(5)
RESULT=1
print "test3終了"
fend
FUNCTION test4()
print "test4開始";sleep(5)
RESULT=1
print "test4終了"
fend