過去ログ

記事一覧

【Lineage1】アイテムDBデータ修正

下記アイテムの情報を修正しました。

・マナバゼラート 5/4→6/4へ
・ナイトバルドツーハンドソード 22/28→22/32、命中-2→+2へ
・リッチローブをTOIアップに合わせて修正

【.net VB】サウンドキータイマー0.5b

サウンドキータイマーを更新しました。
バージョンは0.5b。
動作対象OSはWindowsXP以降で、下記の対応するOSの.NET FrameWorkをインストールして使ってください。

本体ダウンロード
http://www.lbtg2.com/lbtg/l1db/SoundKeyTimer.zip

.NET FrameWork 4(Windows XP)
https://www.microsoft.com/ja-jp/download/details.aspx?id=17851

.NET FrameWork 4.5(Windows Vista以降)
https://www.microsoft.com/ja-jp/download/details.aspx?id=30653

変更点
・設定できるキーのうち数字の0~9がテンキーまで含んでいた部分を解消しました
・テンキーを新たに設定できるキーとして追加しました

Windows Vista以降はsktimer.exeを右クリック「プロパティ」を選択し、「互換性」タブの特権レベル「管理者としてこのプログラムを実行する」にチェックを入れるか、起動時に右クリックで「管理者として実行」を選ぶと、アプリがバックグランドにあってもキー操作を取得できます。

ファイル 3453-1.png

【Lineage】.net版アイテムデータベース 0.1b

***********************************************************
2015/11/16 15:53追記
ガーダーの装着に問題があったので一部修正しました
***********************************************************


WindowsOS向け.net版アイテムデータベースを更新しました。
バージョンは0.1b。
動作対象は.NET FrameWork4.5以上をインストールしたWindows Vista/7/8/8.1/10となりますが動作確認は7/8.1のみで行っています。

本体ダウンロードはこちら
http://www.lbtg2.com/lbtg/l1db/l1itemdb.zip

.NET FrameWork4.5
https://www.microsoft.com/ja-jp/download/details.aspx?id=30653

主な変更点
・一部アイテムを追加しました

・キャラクターステータスを保存できるようになりました(スロット1~4)
*[1]~[4]をクリックしSAVEを押すと保存、LOADを押すと読み込みになります
*SAVEするまえにスロットを切り替えるとそのスロットの情報はクリアされます
*最後にSAVEを押した時点のデータが各スロットに保管されます
*データファイルはアプリケーションと同じディレクトリにl1itemdb1.cfg~l1itemdb4.cfgの名前で保存されます
*cfgファイルを削除するとそのスロットデータがクリアされます

・キャラクターの装備/ステータス情報をクリップボードへコピー/クリップボードからペーストできるようになりました
*スロット間のデータコピペや将来的にステータスシミュレーターとして動作する際の情報交換を想定しています
*ステータスIDに名前は含まれません、必ず無名のデータを作成します(cfgファイルのrace以降を暗号化する)

・職業、初期ステータス、レベルアップボーナスを設定できるようになりました
*「ステータス管理」ボタンをクリックすると管理用ウィンドウが開きます
*ステータス管理ウィンドウを閉じるとメインウィンドウに反映されます


以上

【.net VB】親フォームから子フォームを開く場合

親:Form1
子:Form2

親から子を呼び出す、これはエクセルVBAでも結構使います。
その場合Form2.Show()~Form2.Close()とするだけでフォームは何度でも再利用できますが、.netVBですとクローズボタンやClose()で閉じたフォームは再利用できないそうです。

ItemDBでもこれでちょっと困ったんですが、親フォームからレベルアップボーナス振り画面を出す場合に1度目は正常に表示されるのですが、2度目からは指定したボタンにチェックが付きません。(手動でクリックすればつく)

何をどうやってもチェックはつかないんだけど、例えば

Dim x As Integer = 0
If Form2.RadioButton1.Checked then x = 1

とラジオボタン1にチェックがついていればx=1と判断する場合、画面表示上はチェックが付いていないのですがx=1になります。表示が追いついていないのかとForm2.RefreshとかForm2.Updateとかやってみたんですがダメ。

なんなんだこれはー!とお怒り状態だったんですが、子フォームを閉じたり開いたりする場合は子フォームをShowではなくShowDialogで開かないといけないらしく、


Form2.ShowDialog()


たったこれだけの事で解決しました。
VB難しい。

【.net VB】L1ItemDBの進捗状況

現在行っている作業は、

・装備個所への装備品保存
初期スロットと同じ4か所保存予定ですが、スロットごとに1.cfg、2.cfg...と増えていくだけなのでボタン配置の関係さえ考慮すればいくつでも増やせる状態にはしてあります。それから掲示板での情報交換(ELFCOMBATさんではURLコピペが主流ですよね)用に装備状況のクリップボードへのコピーとクリップボードからの読み込みを実装する方向でいます。

・ステータス管理
初期フォーム上ではサイズが小さい事もあり、ステータス管理画面は別ウィンドウで行う予定です。このアプリの想定するメインターゲットが7インチタブレットなので初期フォームをあまり大きくできないのが難しいトコロ。

・ステリニュ後に合わせた値の設定
KR公式を見ながら作業していますが、個人サイトさんの情報も参照させていただきながら進めていきます。L1ItemDBアップデートに際してはそうした情報参照元として記事中にリンクを貼る予定です。

・現在の問題点
装備品の強化値に関して、ダメージやACくらいなら問題ありませんが「+1毎に~がX上昇」みたいな設定をどうしようか考え中です。web版ItemDBとデータは共通なのでそちらに影響が出ない程度にしなければなりません。そこら辺がちょっと難しいので装備品強化値についての実装は最後の方になると思います。


あれこれ試してVBへの理解が深まります。
ただVBを始めてから知ったのですが、ゲーム関係を作るためにはDirectXが必須でそのDirectXを扱うにはC#/C++、またストアアプリでWin32APIを利用するためにはC++じゃないといけないそうで当初の「Win10で提供されるコンバーター使えばiOS/Androidアプリの開発もできるかな」という目論見は完全に失敗しました。

非常に残念。
もうVBに手をつけちゃったのでデスクトップアプリを不満なく作れる程度までは頑張りたいと思います。