忍者ブログ
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

どうもシュクレールです。

CollectFort.jsでできなかったことをVB.NETでやろうかなと思っとります。

SE砦でいまだに迷うことがあるので、透過でSE砦の構造を出せるサポートソフトです。

↓開発途中のイメージ

後ろの壁紙が透けてるのが分かると思います。
あと機能として付加したいのが
・リンクフラッグナビゲーション
(例えば2バリケの後ろに行きたいときに何番フラッグの1か2どっちを選べばいいかとか。
・ギルマスライブラリのインポート
たぶんテキストでユーザに作ってもらって、それを基に表示させる機能です。
同盟名・ギルド名・名前・職・性別あたりですかね。

Jscriptやってるときに多重起動の禁止方法を探してるときにVB.NET少し調べてて、なんか面白そうなことが出来そうなんでこういうの作ってみようかなと。
最初概念が良く分からなくて手間取りましたが、概念が分かると結構サクサク作れますね。スクリプトじゃなくてデザインが最初からあって貼り付けるだけだって言うのもなかなかいいです。勉強にはならんかもですが・・・。

あぁ、画像の使用許可ちゃんともらわんといかんですね・・・。
PR
なんのこっちゃって人は引き続きのび監をお楽しみください。


作成日数30日にも及ぶ(勉強が半分くらい)
CollectFort.jsのVer.1.00が完成しました。
>公開ページ<
ハード屋にはプログラムってきつかったですが、やってるときは結構面白かったです。

そんなわけで一応サポートページ(仮)です。

何かありましたらコメントに書いてってください。
バグ報告は歓迎です。
なにぶん「自分のPCでは動いてる」と言うレベルなので。

関係ないものは削除します。
また本スクリプトに関わらない内容についての質問要望はしかるべきところでしてください。基本的にハード屋なので応えられるほどの知識を持ち合わせてません!
ラグナロクで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が使えないんだからたちが悪い。
その代わりプロセスからエクセルが開いているかは判別できるのでこれでもってエクセルが開いているかを判別して、開いていたらアクセスすると言った手法にしてます。まぁプロセスだとファイル名まで取得できないので、兎に角指定したファイルでなくてもなんかエクセルが起動してればスクリプトが走ってしまうのは仕様と言うしかない・・・。その場合はバックグラウンドで動くので、表面上見えていないだけで、ファイルを開いてあげればしっかりと取得履歴が参照できるようになってます。
まぁ、これが限界かなと。

スクリプトは次回解説していきます。
今回は仕様のお話・・・。
PREV ←  HOME
プロフィール
HN:
komyu/シュクレール/修造
性別:
非公開
自己紹介:
こうぶつはけものみみとのーびす(♀)とエリーン
主にROとTERAとラノベと雑多なkomyuの日記帳です。
新生FF14
TERA紋章しみゅ
ROサポートツール
タイムライン
RSSボットが記事更新をつぶやくのがほとんどっス…
ROキャラクター紹介


TERAキャラ紹介

シュクレール(バサ)



syuzo(エレ)



サケマス(アチャ)


その他サブ

ウリエルキゥィス(スレLv54)

Vermillion(サラLv56)

パズドラ

157,318,362
フレンド募集中
枠なきゃ増やす
最終プレイ3日以上になったら消す
カレンダー
03 2024/04 05
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
ツリーカテゴリ
ブログ内検索
最新コメント
[04/30 のな]
[03/22 NEIN]
[03/22 NEIN]
[10/31 イロイ]
[05/02 NONAME]
Copyright (C) 2024 のーびす監察日記 All Rights Reserved.
Photo by 戦場に猫 Template Design by kaie
忍者ブログ [PR]