2015年3月30日月曜日

[Modding]xml解析:itemprops

本稿ではMOD作成の前提として、xmlに書かれた情報を解析していきます。

今回はアイテムの持つ"要素"を定義するitempropsテーブルを解析します。

※多分にネタバレを含みます。ご注意ください。


サンプルデータ

データの参照元はitemprops.xmlです。
今回は本当にシンプルなデータなので、
"ingredients"テーブルで説明に使ったものを抽出しています。

<table name="itemprops">
    <column name="nID">3</column>
    <column name="strPropertyName">igniter</column>
</table>

<table name="itemprops">
    <column name="nID">8</column>
    <column name="strPropertyName">container</column>
</table>

<table name="itemprops">
    <column name="nID">9</column>
    <column name="strPropertyName">waterproof</column>
</table>

<table name="itemprops">
    <column name="nID">10</column>
    <column name="strPropertyName">fireproof</column>
</table>

columnの解析


今回は、IDとstrPropertyNameのみのテーブルです。

strPropertyNameにはその要素の名前が書かれているだけですが、
このテーブルは"itemtypes"テーブルと"ingredients"テーブルの中間で
そのアイテムの性質を決定する重要な役割を担っています。


例えば、新規にライターのようなアイテムを作成したとして、
そのプロパティに"3"と書いておくだけでそのアイテムは"igniter"であり、
"ingredients"テーブルにおいては"flame source"として扱われます。

逆に、新しくプロパティを追加して、それを既存のアイテムに適用する場合は
そのアイテムの数だけテーブルを上書きする必要があります。

そういった意味では、あまり手を加えずに既存のものを活用したり
"ingredients"の追加などで対応したほうがいいかもしれません。




0 件のコメント:

コメントを投稿