map.ini

  • 種別 : 一般

質問

map.iniの書式は?

回答

map.iniの書式をついでに書いておきますと、

AreaID = a,b,c,d, X1,Y1,Z1,X2,Y2,Z2, ....

a,b,c,d はFF上の座標を(x,y,z)とし、512x512のマップ上の座標を(X , Z)(Y軸は高さになっているので、X , Zになります)としたときに、

a=0.1 c=-0.1 : フィールド
a=0.2 c=-0.2 : ダンジョン
a=0.4 c=-0.4 : 町
b=X/2-a*x d=Z/2-d*y

で表現することができます。なんでいちいちXとZを2で割っているかは、 ただ単に最初の実装が256x256に縮小したマップとの対応だったから なので、深く考えないでください(精度落ちてるから割らない方がいいけど)

X1,Y1,Z1,X2,Y2,Z2は(X1,Y1,Z1)と(X2,Y2,Z2)を頂点とする直方体 (必ずX1<X2, Y1<Y2...)の内側にゲーム上の座標があれば、 そのエリアにいることとするという風にしてあります。このX1~Z2の定義は カンマで区切って複数列挙することができます。

ほとんどのマップの定義で -10000,-10000,-10000,10000,10000,10000となっているのは、そのマップ上の全ての座標を含むというのを表現しているからです。

a,b,c,dの計算の話してる人

  1. FF上とフォトショップか何かの座標が判るグラフィックツールでマップを出して、 現在キャラがいる位置の512x512のマップにおける座標を調べる(x , y)。
  2. 次に、FFAssistが表示している座標のXとZを見る。

エラーチェックもろくに書いていない糞プログラムですが、

PluginRenderer::executePluginBlock(): Plugin #code() is not implemented.

実行すると

0.1,135,-0.1,95
0.2,126,-0.2,120
0.4,100,-0.4,135

のように表示されるので、テキトウに倍率の合いそうなものを選んで 実際に表示させて試してみる。

こんな程度で十分だったりします(;´Д`)