this.loader.dataが持つプロパティのデータ構造を記載します。
起動に必要なデータはchalist,itemlist,enelist,droplist,talkdata,floorname,skilldata,challengedata,ezukan,izukan
です。最低でもchalist,itemlist,enelist,skilldata がほしいです。未確定な情報は"?"にしてあり適当な値もあります。
目次
chalist
一人分 = ”NO/NAME/JOB/avatar/LV/COST/INFO”
chalist = "一人分\n一人分\n.."
- NO = NPCのNo.であり、charaData.charaListに格納されるときのインデックス
- NAME = NPCの名前
- JOB = 職業。(0=ニュートラル、1=ファイター、2=ハンター、3=メイジ、4=プリースト、5=サモナー、9=ロード、10=ガード)
- avatar = 最大5文字の文字列。5文字="髪型+顔と髪の色+帽子+服+特殊コスチューム"。特殊コスチュームはトーキンの眼鏡などに使われる。特殊コスチュームが無い場合は5文字目は必要無い。"0000"にすると、「茶髪、NPCのマイケルと同じ髪型、全裸」になる。また、「たてふだ」、「ほんだな」、「ボンチッチ」、「ポロン」などの特殊NPCには特別なグラフィックが用意されており、avatarを0文字にすると適応される。(※特殊NPC以外のavatarを0文字にするとエラーが発生するので注意)
コード内のChara.avatar_str の文字を見ればわかる - LV = NPCのLV
- COST = 雇う際に必要なG
- INFO = ステータス画面のINFOで見れるキャラの説明。wikiに記載されている説明をコピーして、"\n"の部分を" "に変えるといい感じに改行される。
例. "144/コースタン/4/002J/7/750/ようへいを ふくぎょうとするプリースト。 おさけが のめない たいしつのため、 ふだんは さかばで ミルクをのみながら しごとを まっている。"
また、NO=1,2,3,4,5は、プレイヤーキャラの処理にも一部使われる。ファイターの場合、NO=1、ハンターの場合、NO=2、メイジの場合、NO=3、プリーストの場合、NO=4、サモナーの場合、NO=5が使われる。
COST=-1にすると雇えなくなる
最低限avatar=1にしておけば裸になるけど一応動く
同じキャラでも複数あるやつもいる
itemlist
アイテムのデータが書いてあるリスト
itemlist = "item1\nitem2\nitem3\n..."
item* = "NO/NAME/HD/ATK1/ATK2/DEF/DELAY/BLOCK/BRANGE/ACT/PRICE/OPset/RP/INFO"
- NO = itemData.itemListに格納されるときのインデックス
- NAME = アイテムのなまえ
- HD = 0 -> 片手武器, 1->両手武器
- ATK1 = 攻撃力の最小値に使われる値
- ATK2 = 攻撃力の最大値に使われる値
- DEF = 防御力
- DELAY = 攻撃の頻度
- BLOCK = ブロック率
- BRANGE = ブロック範囲
- ACT = アイテムについてるスキル・わざ
- PRICE = 買値
- OPset = オプションの集合、"{武器種}:{OP1}:{OP2}:..."
- RP = プレミアムの場合のオプション、"{OP1}:{val1}_{OP2}:{val2}_..."
- INFO = アイテムの説明
オプション対応表
しゃてい=ran | かず=numA | かず(B)=numB | かず(C)=numC | かず(D)=numD | れんぞく=cnt | こうげきりょく+=ata | こうげきりょく+%=atc | ぶつりたいせい=gadr | ぶろっくりつ=blc | かんつう=pir | はんい=spr | ノックバック=sho | かいひりつ=dog | クリティカルヒット=crt | ホーミング=hom | ぼうぎょはかい=brk | サイズ=siz | スタン=frz | めいちゅうりつm=hit | コスト=cst | じかんA=timA | じかんB=timB | じかんC=timC | ひばしら=fir | えんじょうかくりつ=bur | しょうげきは=imp | ダメージ=dmg | こうげきそくど=agi | ブロックはんい=brn | ブロックこうちょく=blo | ひがいダメージ=gad | ぞくせいたいせい=rega | かえんたいせい=regf | れいきたいせい=regc | でんきたいせい=regl | どくたいせい=regp | じょうたいいじょうたいせい=regu | こんらん=cof | どく=pzn | HP+=hp | HP+%=hpr | MP+=mp | MP+%=mpr | ぼうぎょ+=defa | ぼうぎょ+%=defr | しもべのHP=smHP | しもべのこうげき=smATC | しもべのぼうぎょ=smDEF | HPきゅうしゅう=dra | MPきゅうしゅう=mdr | ぼうぎょむし=dfo | たいせいをじゃくたいか=rgo | いどうそくど=spd | HPかいふくそくど=hrg | MPかいふくそくど=mrg | ダメージをうけるとほうでん=sta | そくし=dth | ダメージはんしゃ=ref | かえんダメージ=dmgf | れいきダメージ=dmgc | でんきダメージ=dmgl | しょうかんモンスターをかえす=sbk | バウンド=bou | リング=ring | 盾=shield | 剣=sword | 斧=axe | 短剣=dagger | 弓=bow | 杖=staff | 棍棒・棒=mace | 契約書=summon | = | = | = | = | = |
わざ対応表
エアスラッシュ=Slash |
enelist
エネミーのデータが書いてあるリスト
enelist = "ENE1\nENE2\nENE3\n..."
ENE* = "NO/NAME/JOB/HP/MP/ATK1/ATK2/DEF/STR/INT/DEX/SPD/REGf/REGc/REGl/REGp/REGu/rect_width/rect_height/move_category/GOLD/EXP/put_no/INFO"
- NO = enemyList に格納するときのインデックス
- NAME = エネミーの名前
- JOB = ジョブ?
- HP = HP
- MP = MP
- ATK1 = こうげきりょく最低
- ATK2 = こうげきりょく最高
- DEF = 防御
- STR = 物理攻撃にこの値の半分が加わる
- INT = 魔法攻撃にこの値の半分が加わる
- DEX = 命中率・回避率にこの値が加わる
- SPD = うごくスピード
- REGf = 炎耐性
- REGc = 氷耐性
- REGl = 雷耐性
- REGp = 毒耐性
- REGu = 状態異常耐性
- rect_width = エネミーの横表示サイズ
- rect_height = エネミーの縦表示サイズ
- move_category = 動ける場所、1なら地上,2なら水中
- GOLD = ゴールド
- EXP = 経験値
- put_no = 図鑑の登録番号、基本的にはNOと同じで良い、センチピードの脚やサーペントの下の部分など登録しないものは空白に
- INFO = 図鑑に載る説明
droplist
上のエネミーリストの各エネミーに対応したドロップアイテムのリスト
droplist = "DRO1\nDRO2\nDRO3\n..."
DRO* = "NO,drop_item,drop_prob"
- NO = enelist の NO
- drop_item = ドロップアイテムの NO
- drop_prob = ドロップする確率、10000が100%、完全にブラックボックスなのでとりあえずユニークアイテムは100(=1%)、それ以外は1000(=10%)にしています
talkdata
それぞれのキャラがしゃべる内容のデータ
talkdata = "T1\nT2\nT3\n..."
T* = "chara/talk_no/talk_text"
- chara = 対応するキャラの charaData.charaList の NO
- talk_no = トークに割り振られてる番号
- talk_text = トークの内容
{***}で会話の一部が対応するテキストに置き換わる@NPC.talkReplace
{user} = 自キャラの名前 | {name} = トークしているキャラの名前 | {cost} = 雇うための代金 | {name} = トークしているキャラの名前 | {buy} | {item} |
改行は"_"でおこなう
選択肢を含む会話の場合、下のように<>の中に選択肢を並べ、イベントを起こす方に適当な文字(この例では0)をつける(推測される仕様)
talkdata = "aaaaa<はい:0,いいえ:>"
xmlで読み込む場合、<と>はそれぞれ<、;>とエスケープする必要があることに注意
イベントタグ{undead},{undead2},{avatar},{avatar2},{jobchange}
floorname
floorname = "F1\nF2\nF3\n..."
F* = "i,j,xxx"
使われるのはタウンポータルの表示名だけ?@ItemName.142
skilldata
skilldata = "S1\nS2\nS3\n..."
S* = "no/name/info"
no = スキルの番号
name = スキルの名前
info = スキルの説明
challengedata
それぞれのチャレンジの説明テキストが書いてあるデータ
chalengedata = "C1\nC2\nC3\n..."
C* = "no/info"
- no = チャレンジのNO、だいたいエネミーのNOと同じ
- info = チャレンジの説明
ezukan
エネミーを図鑑に載るかどうかのデータ、これに含まれるエネミーは図鑑に載る
ezukan = "EZ1\nEZ2\nEZ3\n..."
EZ* = "no/flag"
- no = エネミーのNO
- flag = 1 ならチャレンジ達成済み
1/0\n10/0\n20/0\n30/0\n40/0\n...
izukan
アイテムを図鑑に載るかどうかのデータ、これに含まれるアイテムは図鑑に載る
izukan = "IZ1\nIZ2\nIZ3\n..."
IZ* = "no"
- no = 図鑑に載せるアイテムのNO