既存パネルのWorldBuilder.ltpやMap.ltpにある特徴設置システムでは
複数タイル使う自然遺産の向きを指定する配置や、配置条件を無視した強制配置などが難しい
マップ作成用のシステムでは強制配置できる
TerrainBuilder.SetMultiPlotFeatureType({PlotID配列}, 自然遺産ID);
上図の数値はそれぞれのタイルのタイル番号(PlotID)なので
この3タイルに配置する場合、配列は{1529,1530,1590}になる
TerrainBuilder.SetMultiPlotFeatureType({1529,1530,1590}, 10);
自然遺産IDはわかりやすく数値を直接記述しているが
IndexはDLCやMODの導入状況で変動するので、Featuresデータから取得した方が良い
TerrainBuilder.SetMultiPlotFeatureType({1529,1530,1590}, GameInfo.Features["FEATURE_EVEREST"].Index);
ゲームマップのタイルは、マップの一番左下を0として右に行くごとに1増え
右端に行くと次は上の段に行くようにしてインデックスが割り振られ
そのインデックスをタイル番号(PlotID)としている
タイル | x,y | インデックス |
一番左下のタイル | x:0, y:0 | 0 |
左下から右に4のタイル | x:4, y:0 | 4 |
極小マップ最下段から5段目 右に4のタイル |
x:4, y:5 | 304 |
極小マップでは1列が60タイルなので (y:5) x 60 + (x:4) = 304
AppOptionのEnableDebugPlotInfoの項目をオンにすると
ゲーム中にカーソル下のタイルツールチップを表示した際にPlotIDが記載されるようになる
AppOptionのファイルは
セーブデータのあるSavesフォルダやMODの手動格納場所のModsと同じ場所にあるAppOptions.txt
メモ帳などのテキストエディタで開いて、ファイル内のEnableDebugPlotInfoの0を1に書き換える
EnableDebugPlotInfo 0 EnableDebugPlotInfo 1
ゲーム中ではタイルを数える以外にもPlotIDを割り出す関数がいくつかあるので
それらを利用しても配置に必要なPlotIDを取得できる
Map.GetPlotIndex(X, Y);
UI.GetCursorPlotID();
Map.GetAdjacentPlot(X, Y, direction);
plotデータ:GetIndex();