- 12/02 Information!!
- 07/07 【グラブル】バハムートを最終上限解放
- 07/06 【グラブル】光有利の古戦場
- 06/14 【動物園】愛媛県立とべ動物園
- 05/31 【グラブル】開放したシスとエッセルの使用感
This is new entry
ラグナロクでGVGとかやっていると、砦の取得情報とかが砦ごとにソートされてくと便利かなぁとか思ったりします。
さすがにクライアントから情報を引っ張ってそれを出力すると言うのはツール的にNGな気がするので、じゃぁLimechatのマクロ機能を使って出来ないかなとか考えました。
幸いにもLimechatにはjscriptと言う言語が使えるので、これを使ってこういったことが出来ないかなと思いました。
とりあえず砦の情報が欲しいと思うときは
①偵察時に同盟の情報が欲しい
②終了間際にレース砦かどうかを判別したい
だと思われます(思ってます)。
①については、Limechatで偵察が発言した情報をキーワードで引き抜いてエクセルに自動で出力する。と言ったことが考えられます。
②についてはクライアント上でsavechatなどでログを取得して、Limechatからjscriptを起動させ、ログファイルを取得しに行ってそこから砦取得情報を抜き出して、ソートするって言うのが有効かと思われます。現在の取得ギルドとその砦がログ上では何回入れ替わったかをはじき出せばレースなのかが分かりやすいと思います。
取得条件はディレクトリの中でタイムスタンプが一番新しいものかな・・・?
とりあえず①については8割がた作ってみました。
が、なんだかんだで4日くらい掛かってます・・・。
そもそもハード屋なんでスクリプトとかほとんどわからないんだよ!
まぁでも結構面白いので勉強ついでに色々やってます。
そこで色々分かった利点と欠点。
●jscriptの利点
・作成と実行が簡単。
エディタで書いて.jsって拡張子にして、あとはBased Script Hostで実行できます。Windowsに標準ではいってるのでVisualC++とか入れる必要がないのがいいです。
・意外と分かりやすい
C言語みたいに宣言がそう多くないので、結構文章を書くみたいにしてスクリプトが組めます。
●jscript欠点
・調べにくい。
VisualBasicとよくひとくくりにされてるみたいなのですが、似ても違うものなので、調べるとき困ります。あとJavascriptともちょっと違うので調べるとき困ります。これらが検索の上位に出てきてjscriptが埋もれがちです。
・関数が少ない。
VBならこういう関数が使えるのに!っていうのが結構ある。
・Limechatで使っているJscriptのVer.が古いので、使えない関数もある。
Wscript.echo()がLimechatでは使えません・・・。
・FindWindowが使えない。
他の言語に飛ばせば使えるみたいですが、素直には使えないみたいです。ログから引っこ抜いてエクセルに出力する際には基本的に情報を常に更新し続けるわけですから(自分で参照もするし)、当然エクセルは開きっぱなしです。が、jscriptにはいま開いているウィンドウ名やファイル名の取得ができないので、ものすごく困ります。と言うかこれの解決に3日くらい掛かりました。
Jscriptからエクセルにアクセスするときは、基本的に新規に開かせるのですが、その方法が同じファイルでも2回目以降は読み取り専用として新しいウィンドウで開かせるので、ウィンドウだけが更新のたびに新しく開いていきます。それはウザイので、あらかじめエクセルを開いておいて、そのエクセルに更新を掛けるといった手法にしました。既に開いているエクセルになら新規に開かないでアクセスできるので。じゃぁ一回目は開いて、二回目からはアクセスすればいいんですが、スクリプトが走るたびに全部頭から実行されるので、難しいです。そして開いているっていうのを検知するFindwindowが使えないんだからたちが悪い。
その代わりプロセスからエクセルが開いているかは判別できるのでこれでもってエクセルが開いているかを判別して、開いていたらアクセスすると言った手法にしてます。まぁプロセスだとファイル名まで取得できないので、兎に角指定したファイルでなくてもなんかエクセルが起動してればスクリプトが走ってしまうのは仕様と言うしかない・・・。その場合はバックグラウンドで動くので、表面上見えていないだけで、ファイルを開いてあげればしっかりと取得履歴が参照できるようになってます。
まぁ、これが限界かなと。
スクリプトは次回解説していきます。
今回は仕様のお話・・・。
さすがにクライアントから情報を引っ張ってそれを出力すると言うのはツール的にNGな気がするので、じゃぁLimechatのマクロ機能を使って出来ないかなとか考えました。
幸いにもLimechatにはjscriptと言う言語が使えるので、これを使ってこういったことが出来ないかなと思いました。
とりあえず砦の情報が欲しいと思うときは
①偵察時に同盟の情報が欲しい
②終了間際にレース砦かどうかを判別したい
だと思われます(思ってます)。
①については、Limechatで偵察が発言した情報をキーワードで引き抜いてエクセルに自動で出力する。と言ったことが考えられます。
②についてはクライアント上でsavechatなどでログを取得して、Limechatからjscriptを起動させ、ログファイルを取得しに行ってそこから砦取得情報を抜き出して、ソートするって言うのが有効かと思われます。現在の取得ギルドとその砦がログ上では何回入れ替わったかをはじき出せばレースなのかが分かりやすいと思います。
取得条件はディレクトリの中でタイムスタンプが一番新しいものかな・・・?
とりあえず①については8割がた作ってみました。
が、なんだかんだで4日くらい掛かってます・・・。
そもそもハード屋なんでスクリプトとかほとんどわからないんだよ!
まぁでも結構面白いので勉強ついでに色々やってます。
そこで色々分かった利点と欠点。
●jscriptの利点
・作成と実行が簡単。
エディタで書いて.jsって拡張子にして、あとはBased Script Hostで実行できます。Windowsに標準ではいってるのでVisualC++とか入れる必要がないのがいいです。
・意外と分かりやすい
C言語みたいに宣言がそう多くないので、結構文章を書くみたいにしてスクリプトが組めます。
●jscript欠点
・調べにくい。
VisualBasicとよくひとくくりにされてるみたいなのですが、似ても違うものなので、調べるとき困ります。あとJavascriptともちょっと違うので調べるとき困ります。これらが検索の上位に出てきてjscriptが埋もれがちです。
・関数が少ない。
VBならこういう関数が使えるのに!っていうのが結構ある。
・Limechatで使っているJscriptのVer.が古いので、使えない関数もある。
Wscript.echo()がLimechatでは使えません・・・。
・FindWindowが使えない。
他の言語に飛ばせば使えるみたいですが、素直には使えないみたいです。ログから引っこ抜いてエクセルに出力する際には基本的に情報を常に更新し続けるわけですから(自分で参照もするし)、当然エクセルは開きっぱなしです。が、jscriptにはいま開いているウィンドウ名やファイル名の取得ができないので、ものすごく困ります。と言うかこれの解決に3日くらい掛かりました。
Jscriptからエクセルにアクセスするときは、基本的に新規に開かせるのですが、その方法が同じファイルでも2回目以降は読み取り専用として新しいウィンドウで開かせるので、ウィンドウだけが更新のたびに新しく開いていきます。それはウザイので、あらかじめエクセルを開いておいて、そのエクセルに更新を掛けるといった手法にしました。既に開いているエクセルになら新規に開かないでアクセスできるので。じゃぁ一回目は開いて、二回目からはアクセスすればいいんですが、スクリプトが走るたびに全部頭から実行されるので、難しいです。そして開いているっていうのを検知するFindwindowが使えないんだからたちが悪い。
その代わりプロセスからエクセルが開いているかは判別できるのでこれでもってエクセルが開いているかを判別して、開いていたらアクセスすると言った手法にしてます。まぁプロセスだとファイル名まで取得できないので、兎に角指定したファイルでなくてもなんかエクセルが起動してればスクリプトが走ってしまうのは仕様と言うしかない・・・。その場合はバックグラウンドで動くので、表面上見えていないだけで、ファイルを開いてあげればしっかりと取得履歴が参照できるようになってます。
まぁ、これが限界かなと。
スクリプトは次回解説していきます。
今回は仕様のお話・・・。
PR
COMMENT
プロフィール
HN:
komyu/シュクレール/修造
性別:
非公開
自己紹介:
こうぶつはけものみみとのーびす(♀)とエリーン
主にROとTERAとラノベと雑多なkomyuの日記帳です。
主にROとTERAとラノベと雑多なkomyuの日記帳です。
TERAキャラ紹介
シュクレール(バサ)
syuzo(エレ)
サケマス(アチャ)
その他サブ
ウリエルキゥィス(スレLv54)
Vermillion(サラLv56)
パズドラ
157,318,362
フレンド募集中
枠なきゃ増やす
最終プレイ3日以上になったら消す
カレンダー
11 | 2024/12 | 01 |
S | M | T | W | T | F | S |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
最新記事
(12/02)
(07/07)
(07/06)
(06/14)
(05/31)
ブログ内検索
最新コメント