自動化ツール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()してる間にフラグがセットされる可能性が高いから。
もっと確実にやるなら終了するぞっていうフラグも立てるべきかな。
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
4268日前に更新/257 KB
担当:undef