一括表示

記事No: 21466
タイトル武器がどのように防具欄に格納されているのか?(仕様)
投稿日: 2022/09/08 02:42
投稿者最近ウディタにはまり続けてる人 [rrdeedeiF364(海外)]

実装したい機能があったので、
色々弄り回したり他人様のコモンイベントを参考にしたりして調べていたのですが
ゲーム内で武器を装備したりするとCDB1番の主人公ステータスの装備中の〜というところに
何が装備されたのかを反映できるのだのいう所までは分かったのですが
UDBである武器の装備箇所を防具欄に設定した時に主人公ステータスの所には
どのように反映されるのかの仕様を知りたいです。
【例えば防具欄1に装備出来るようにした武器[鉄の剣]を主人公ステータスの防具欄1の項目
から装備させようとすると防具のDBしか表示されないのになぜコモンイベントやメニュー欄から
装備を変更するとしっかり防具欄1にも格納出来ている。など…】


記事No: 21467
タイトルRe: 武器がどのように防具欄に格納されているのか?(仕様)
投稿日: 2022/09/08 22:40
投稿者YADO [LerLWW459(海外)]

> 実装したい機能があったので、
> 色々弄り回したり他人様のコモンイベントを参考にしたりして調べていたのですが
> ゲーム内で武器を装備したりするとCDB1番の主人公ステータスの装備中の〜というところに
> 何が装備されたのかを反映できるのだのいう所までは分かったのですが
> UDBである武器の装備箇所を防具欄に設定した時に主人公ステータスの所には
> どのように反映されるのかの仕様を知りたいです。
> 【例えば防具欄1に装備出来るようにした武器[鉄の剣]を主人公ステータスの防具欄1の項目
> から装備させようとすると防具のDBしか表示されないのになぜコモンイベントやメニュー欄から
> 装備を変更するとしっかり防具欄1にも格納出来ている。など…】

ウディタ内では、以下のような数値で処理しています。
技能=0〜9999(ユーザーDB[0:技能]のデータID)
アイテム=10000〜19999(ユーザーDB[2:アイテム]のデータID+10000)
武器=20000〜29999(ユーザーDB[3:武器]のデータID+20000)
防具=30000〜39999(ユーザーDB[4:防具]のデータID+30000)

防具欄1も上記の数値が適用されており、例えば、
ユーザーDB[3:武器]のデータID[7:マインゴーシュ]
ユーザーDB[4:防具]のデータID[7:鉄の小手]
の2つは、共に防具欄1に装備する事ができ、共にデータIDが「7」になっていますが、
防具欄1に装備した時の可変DB[0:主人公ステータス]の項目[29:装備中の防具1]の値は、
マインゴーシュ=20007
鉄の小手=30007
となり、値が29999以下か30000以上かで、武器なのか防具なのかを判断しています。

可変DB[0:主人公ステータス]の項目[28〜35]に設定する初期装備は、
最初の段階では「武器=20000〜29999」「防具=30000〜39999」にはなっておらず、
ゲーム開始直後に実行されるコモンイベント[48:X[共]基本システム自動初期化]の中で、
項目[28]のみが「+20000」になり、あとの項目[29〜35]が「+30000」になります。


データベースの状況は以下のような設定を実行して、ファイル出力する事で確認する事ができます。

■DB読込(可変): このEvのセルフ変数0 = 可変DB[タイプ0(主人公ステータス)のデータ数]
■DBからCSVファイルに保存: 可変DB[0:0](主人公ステータス : ヒーローさん) から [このEvのセルフ変数0 データ] → ファイル "データベースチェック.csv"

WoditorEvCOMMAND_START
[250][5,4]<0>(0,-1,0,4096,1100000)("","","","")
[251][5,4]<0>(0,0,0,4096,1100000)("データベースチェック.csv","","","")
WoditorEvCOMMAND_END
※マップイベント用のイベントコードです。

実際に出力したものを開いて確認してみると「武器=20000〜29999」「防具=30000〜39999」になっている事が分かります。


記事No: 21468
タイトルRe: 武器がどのように防具欄に格納されているのか?(仕様)
投稿日: 2022/09/09 19:07
投稿者最近ウディタにハマり続けている人 [rrdeedeiF364(海外)]

ご返答ありがとうございます。
これでなんとか自分が構想を練っていたコモンの作成が捗りそうです。
これからもまた何かあった時よろしくお願いします。