【ウディタ】基本システムの「装備時・専有箇所」を拡張する

ハロー、レビニアよ。今回の解説は「装備時・専有箇所の拡張」よ。

「装備時・専有箇所」とはなにかというと、基本システムのユーザーDB「3:武器」と「4:防具」にある設定項目のことね。


要は「1つの装備品で装備欄を複数使う武器や防具」を作るための設定項目よ。両手持ち武器や全身鎧なんかを作りたい時に便利ね。

ただご覧のようにこの項目、専有のパターンが以下の5つしかないわよね。

  • [0]専有しない[通常]
  • [3]武器+防具1欄を専有
  • [7]武器+防具1+2欄を専有
  • [28]防具2+3+4欄を専有
  • [224]防具5+6+7欄を専有

もし作成中のゲームでこの5つ以外が必要になった場合(例えば「防具3+4+5を専有」など)、他の専有パターンを作るにはどうすればいいのか、というのが今回の解説なのよ。

装備の専有は「ビットを満たすか」でチェックしている

結論を言うと、専有パターンを追加するのは簡単にできるわ。

例えば「武器+防具2+防具4を専有」なんていう変則的な装備品を作りたい場合、どうすればいいかというと、


このように「[21]武器+防具2+防具4を専有」という項目を追加するだけでいいのよ。

くわしい仕組みを説明するわね。


そもそも各専有パターンの入力値が0からの連番ではなく、なぜ「3」だったり「7」だったり「28」だったりバラバラの数値なのかしら?


これは基本システムのコモンが、装備の専有パターンを「ビットを満たすか」で判断しているからなのよ。

どういうことかというと、「各装備欄を二進数の0か1に置き換えて、その装備欄が専有するかしないかを決めている」ということなの。

……言葉で説明してもピンとこないかもね。下の図を見てもらえば解りやすいと思うわ。


こういうことよ。占有する装備箇所が「1」、しない箇所は「0」ね。

前述の例である「武器+防具2+防具4を専有」なら、各装備欄の専有するかしないかを二進数で表せば「00010101」になるわ。そしてそれを十進数に変換した「21」がユーザーDBで代入する値になる、というわけ。

元から項目にあった専有パターンの各値が「7」や「28」だったのも、同様に二進数→十進数で変換された値だったということね↓。

  • [0]専有しない[通常]
    0→0
  • [3]武器+防具1欄を専有
    00000011→3
  • [7]武器+防具1+2欄を専有
    00000111→7
  • [28]防具2+3+4欄を専有
    0011100→28
  • [224]防具5+6+7欄を専有
    11100000→224

ちなみになぜこんなややこしいことをしているのかというと、この「ビットを満たす」を活用すれば「1つの変数やDB項目でたくさんのフラグやスイッチを管理することができる」からなのよ。

※これについては解説すると長くなっちゃうから、ここでは割愛するわ。「ビットを満たす」で検索すれば解説して下さっているページがたくさんヒットするから、興味があれば探してみてね。

実際に専有パターンを追加してみる

理屈が解ったところで、こんどは実際にお好みの専有パターンを追加する手順を解説するわ。

例として「防具1~4欄を専有」という防具を作りたいとしましょう。


まずユーザーDB「6:防具」を選択して、その下にある「タイプの内容設定」をクリック


すると「タイプの設定」という画面が出るわ。今度は上部の「ページ2」をクリックして頂戴。


2ページ目の項目31番が「装備時・専有箇所」の設定項目になるわ。その下の「▼特」をクリックしてね。


すると「データ内容の特殊設定」という画面が出るわ。ここに選択肢を追加してあげるわけね。まずは登録されている選択肢の一番下(空白部分)をクリック


今回追加したい専有パターン「防具1~4欄を専有」の場合、二進数「00011110」を十進数に変換した「30」が入力する値になるから、


内部値に「30」表示文字列に「防具1~4欄を専有」を入力して、下の「挿入」ボタンをクリック


新しく選択項目が追加されたわね。後は「OK」ボタンを2回クリックで設定画面から抜ければ、


「[30]防具1~4を専有」の項目が新しく追加されたわね。これでOKよ。

追加した専有パターンを試してみる

それじゃ、追加した専有パターンがちゃんと機能するか試してみましょう。


用意する装備は、名付けて「防具1~4専有盾」(わかりやすい!)。先ほど作った専有パターン「[30]防具1~4を専有」を設定&この装備を持たせてテストプレイを起動するわ。


防具1~4欄が全て埋まった状態で、専有を設定した盾を装備してみるわ。


盾が防具1欄に装備されて、他の防具2~4欄は装備解除されたわ。


今度はこの状態で防具2~4欄に何か装備しようとすると、


専有設定されている盾は装備解除されたわ。追加した専有設定はちゃんと機能しているようね。

このようにユーザーDBに選択項目を追加して、作りたい専有パターンを用意してあげればいいわけ。コモンの改造も不要だから簡単ね。

以上、基本システムの「装備時・専有箇所」拡張についての解説でした。