艦戦改 ~かんせん~ 海域スプリクト

海域ファイルに使うスプリクトのページです。
仕様等
出現させる事が出来る艦の数は、PCが操作する艦を含め、15隻です。
上から下へスプリクトは解釈されて行きます。
基本的に前作 艦戦 ~かんせん~と同じです
一部追加、パラメータの追加等があります。

改良、追加スプリクト一覧
@SeaLandSize
@ShowRoomList
@NetShip16
@CampNameA
@CampNameB
@Reward
@ShipType
@SetDropItem
@SeaSetTGPos
@SeaSetBGM
@SeaUseModName
海域レベルの最高値が無制限から9998までになりました。
出現させれる艦の数が21隻(PCを含めた数)から倍の41隻までに拡張。

@BiginShip16

ゲーム上に登場させる艦の読み込みの開始
 仕様上一番初めの艦の定義読込はPC艦となります。
 一番初めにこれを書いて、「@LoadShip16」を使うとPCが操作する艦を
 変更する事が出来ます。
@BiginShip16を記述した場合は「@EndShip16」を入れて下さい。

サンプル
@BiginShip16
@LoadShip16,Data\\Ship\\ShipData_0a.dat
@IFFShip16,1
@DCostShip16,-1.0
@PosShip16,1000.0,0.0,4500.0
@RotShip16,0.0,180.0,0.0
@CRotShip16,0.0
@SetAI,600,-999,0.0
@SetNameShip16,標的艦
@EndShip16

 

@BiginShipPC16

ゲーム上に登場させるPC艦の読み込みの開始
仕様上一番初めの艦の定義読込はPC艦となります。
一番初め以外の艦の定義読込では期待した動作が得られません。
@BiginShipPC16を記述した場合は@EndShip16を入れて下さい。
*注意 @BiginShipPC16では、@LoadShip16が使えません。

サンプル
@BiginShipPC16
@IFFShip16,0
@DCostShip16,100.0
@DCost2Ship16,0.0
@DCost3Ship16,0.0
@PosShip16,0.0,0.0,0.0
@RotShip16,0.0,0.0,0.0
@CRotShip16,0.0
@EndShip16

 

@SkipShip16

艦の読み込みを一つ飛ばす(ほとんどPC用)
「@BiginShipPC16」を作成したので、現在ほとんど意味がありません。

サンプル
@SkipShip16

 

@SeaSetBGM,no

BGMを番号で呼び出す

noの部分に0-7までの整数を入れて下さい。

サンプル
@SeaSetBGM,0

@SeaFogColor,r,g,b

フォグカラーをRGBで変える

rに0-255までの整数
gに0-255までの整数
bに0-255までの整数

サンプル
@SeaFogColor,255,0,0

赤い夕方のような景色になります。

 

@SeaSetFogStartEndRewite,s,e

フォグの距離を変更する 上書き版 ユーザーが設定出来るフォグの距離を無視して上書き使用。

sに0.0以上の実数
eに0.0以上の実数

サンプル
@SeaSetFogStartEndRewite,0.0,5000.0

カメラからsで設定した値の距離からフォグが掛かり、eで設定した距離でフォグが最大値になります。

 

@SeaSetFogStartEndSacle,s,e

フォグ距離を変更する 倍率版 ユーザーが設定出来るフォグの距離の倍率で変更する。

sに0.0以上の実数
eに0.0以上の実数

サンプル
@SeaSetFogStartEndSacle,0.0,0.5

カメラからsで設定した値の距離からフォグが掛かり、eで設定した距離でフォグが最大値になります。

 

@SeaRealTime

現実時間で海域の様子を変える
朝焼け、昼間、夜、夕方と大まかに区別される
なお、フォグカラー、フォグの距離、空モデル、海モデルが変更されます。

サンプル
@SeaRealTime

 

@SeaSkyModel,path

海域の空モデルを切り替える

pathに3Dモデルのパスを記述

サンプル
@SeaSkyModel,Media\\Model\\Sky1.mqo

@SeaWaterModel,path

海域の海モデルを切り替える

pathに3Dモデルのパスを記述

サンプル
@SeaWaterModel,Media\\Model\\water1.mqo

@SeaLandModel,path,n1,n2,n3,hit,re

海域の島(ドック)モデルを切り替える
読込める形式 mqo,mv1,xFile
一つしか置けません。

pathに3Dモデルのパスを記述
n1 当たり判定用空間X軸分割数 整数 分からなければ、2を入れて下さい。
n2 当たり判定用空間Y軸分割数 整数 分からなければ、2を入れて下さい。
n3 当たり判定用空間Z軸分割数 整数 分からなければ、2を入れて下さい。
hit 当たり判定の有無 0=有効 1=無効。
re 島モデルと海の描画順を変える 半透明を含むのモデル等で重要です。 0=島の後に海を描画 1=海の後に島を描画。

サンプル
@SeaLandModel,Media\\Model\\Doc.mqo,2,2,2,0,0

@SeaLandDel

海域の島(ドック)モデルを削除する

サンプル
@SeaLandDel

@SeaLandPos,x,y,z

海域の島(ドック)モデルの位置座標を設定する

x X座標を記述 実数。
y Y座標を記述 実数。
z Z座標を記述 実数。

サンプル
@SeaLandPos,0.0,0.0,0.0

@SeaLandRot,x,y,z

海域の島(ドック)モデルの回転座標を設定する

x X軸の回転角度を記述 0.0-360.0度 実数。
y Y軸の回転角度を記述 0.0-360.0度 実数。
z Z軸の回転角度を記述 0.0-360.0度 実数。

サンプル
@SeaLandRot,0.0,90.0,0.0

@SeaLandSize,x,y,z

海域の島(ドック)モデルの大きさの倍率を設定する

x X軸方向の倍率を記述 1.0で等倍 実数。
y Y軸方向の倍率を記述 1.0で等倍 実数。
z Z軸方向の倍率を記述 1.0で等倍 実数。

サンプル 縦のサイズが2.0倍になります。
@SeaLandSize,1.0,2.0,1.0

 

@SeaTime,t

現実時間で海域の様子を変える

t 24時間表記で記述 整数。
朝焼け、昼間、夜、夕方と大まかに区別される
なお、フォグカラー、フォグの距離、空モデル、海モデルが変更されます。

サンプル
@SeaTime,9

 

@SeaOPAdv,path

開戦開始前の会話

pathにADVのファイルパスを記述

サンプル
@SeaOPAdv,Data\\Sea\\Sea00\\Sea_00a_OPAdv.txt

@SetCam,x,y,z,h,v

PCの座標と見ている方向を設定する。

x X座標を記述 実数。
y Y座標を記述 実数。
z Z座標を記述 実数。
h 水平方向の角度を記述 0.0-360.0度 実数。
v 垂直方向の角度を記述 0.0-360.0度 実数。

サンプル
@SetCam,0.0,0.0,0.0,0.0,90.0

@SetSeaWinCost,str,iff,Cost,path

勝利および敗北条件のコスト設定。
かなり複雑なスプリクトです。

str 「沈没」か「撃破」を記述。 「」内の文字を記述して下さい。 沈没=艦を撃沈した時 撃破=艦の兵装を全て沈黙させた時。

iff iffの番号を記述 0-15の整数。 iffとは、敵と味方を分けるグループの番号です。
cost コストを記述 実数。 +の値で任務成功へ加算 -の値で任務失敗への加算。 片方の合計値が100.0を超えると任務は終了します。
*この勝利および敗北条件のコストは他の条件コストスプリクトとの合計で計算されます。
pathにADVのファイルパスを記述

サンプル1
@SetSeaWinCost,沈没,0,-100.0,Data\\自艦沈没ADV.txt
この場合、IFFが0のグループに属する艦が全て沈没すると任務失敗となります。

サンプル2
@SetSeaWinCost,沈没,1,100.0,Data\\Sea\\Sea00\\Sea_00a_CAdv.txt
この場合、IFFが1のグループに属する艦が全て沈没すると任務成功となります。

サンプル3
@SetSeaWinCost,撃破,1,100.0,Data\\Sea\\Sea00\\Sea_00a_CAdv.txt
この場合、IFFが1のグループに属する艦が全て撃破すると任務成功となります。

*例 複数のコストスプリクトとの併用
@SeaSetTimeLimit,60,50.0,Data\\Sea\\Sea00\\Sea_00a_CAdv.txt
@SetSeaWinCost,沈没,1,50.0,Data\\Sea\\Sea00\\Sea_00a_CAdv.txt

*@SeaSetTimeLimitは時間制限のコストスプリクトです。
この場合、PC艦が60秒以内に敵艦を全滅させてもクリアとなりません。
60秒を超えるとクリア。
逆に60秒が過ぎて敵艦を全滅でクリアとなります。 コストを調整する事で複数の条件に対応出来ます。

@SetSeaImpossibleAdv,path

任務条件が達成できない場合の会話。
このスプリクトを記述する事で、条件コストスプリクトが達成不可能になった時点で任務失敗になるようにします。

pathにADVのファイルパスを記述

サンプル1
@SetSeaImpossibleAdv,Data\\任務失敗.txt

@SetSeaPCDSAdv,path

PC艦が撃沈された場合の会話

pathにADVのファイルパスを記述

サンプル1
@SetSeaPCDSAdv,Data\\Sea\\自艦沈没ADV.txt

@SeaSetTimeLimit,time,path

勝利および敗北条件の時間制限版コスト設定。

timeに秒数で時間を記述 0以上の整数
pathにADVのファイルパスを記述

サンプル1
@SeaSetTimeLimit,60,100.0,Data\\Sea\\Sea00\\Sea_00a_CAdv.txt

この場合、60秒過ぎると任務完了(PC艦の沈没、撃破は問わない)

 

@SeaSetTGPos,iff,x,y,z,len,cost,path,f,path2

勝利および敗北条件の指定座標版コスト設定。
指定座標 x,y,zを中心に半径lenの範囲にiffで指定した艦が入るとコストを加算する。
*注意 iffだけでは細かな設定が出来ない為、「@DCost3Ship16」で個別に
コストを設定します。

iff iffの番号を記述 0-15の整数。 iffとは、敵と味方を分けるグループの番号です。
x X座標を記述 実数。
y Y座標を記述 実数。
z Z座標を記述 実数。
len xyzで指定した座標を中心とした判定の半径 実数。
cost コストを記述 実数。 +の値で任務成功へ加算 -の値で任務失敗への加算。 片方の合計値が100.0を超えると任務は終了します。
pathにADVのファイルパスを記述
f 反対の条件でコスト加算させるかのフラグ 0で無効 1で有効
path2に反対の条件のADVのファイルパスを記述

サンプル1 @DCost3Ship16を100.0にした場合
@BiginShipPC16
@LoadShip16,Data\\Ship\\ShipData_0a.dat
@IFFShip16,0
@DCostShip16,0.0
@DCost2Ship16,0.0
@DCost3Ship16,100.0
@PosShip16,0.0,0.0,0.0
@RotShip16,0.0,0.0,0.0
@CRotShip16,0.0
@EndShip16
@SeaSetTGPos,0,0.0,0.0,0.0,1000.0,100.0,Data\\Sea\\Sea00\\Sea_00a_CAdv.txt
この場合、iffが0のグループの艦が1隻指定の座標に入ると任務完了します。

サンプル2 @DCost3Ship16を50.0にした場合
@BiginShip16
@LoadShip16,Data\\Ship\\ShipData_0a.dat
@IFFShip16,0
@DCostShip16,0.0
@DCost2Ship16,0.0
@DCost3Ship16,50.0
@PosShip16,0.0,0.0,0.0
@RotShip16,0.0,0.0,0.0
@CRotShip16,0.0
@EndShip16
@BiginShip16
@IFFShip16,0
@DCostShip16,0.0
@DCost2Ship16,0.0
@DCost3Ship16,100.0
@PosShip16,0.0,0.0,0.0
@RotShip16,0.0,0.0,0.0
@CRotShip16,0.0
@EndShip16
@SeaSetTGPos,0,0.0,0.0,0.0,1000.0,100.0,Data\\Sea\\Sea00\\Sea_00a_CAdv.txt
この場合、iffが0のグループの艦が2隻指定の座標に入ると任務完了します。

@SeaLavel,lv

海域のレベル設定。 9998が最高値(ストーリーフラグ これより低ければ任務一覧に表示されない)

lvに秒数で時間を記述 整数

サンプル1
@SeaLavel,1

@NextSeaLavel,lv

海域クリア後のレベル設定。
すでに海域レベルが、設定したLV以上だと設定は無視される。

lvに秒数で時間を記述 整数

サンプル1
@NextSeaLavel,2

海域レベルが1の場合レベル2になる。
海域レベルが2以上の場合は設定が無視される。

@Reward,m,f

海域クリア後の報酬

mに報酬額を記述 整数
fに0(基本)で出撃に10%費用が掛かる -1で費用が掛からないようにする。 整数
記述が無い場合や10以下だと10に設定されます。
出撃時に報奨金の10%が出撃費用として掛かるようになった為です。
なお、オンライン関係の任務の場合0が設定可能です。

サンプル1
@Reward,100,0

@Title,str

海域の作戦名

strに海域の作戦名を記述

サンプル1
@Title,訓練

@Overview,str

作戦の概要

strに作戦の概要を記述

サンプル1
@Overview,作戦の概要

@ShowRoomList

通信室(MOのロビー)呼び出しコマンド

このコマンドを記述した場合、
@SeaLavel,@Title,@Overview以外のコマンドは無視されます。

サンプル
@ShowRoomList

@CampNameA,str

味方陣営の名前設定

strに味方陣営の名前を記述
@CampNameAの記述が無い場合は「帝國海軍」が使用されます。

サンプル1
@CampNameA,帝國海軍

@CampNameB,str

敵陣営の名前設定

strに敵陣営の名前を記述
@CampNameBの記述が無い場合は「幻軍」が使用されます。

サンプル1
@CampNameB,幻軍

@ShipType,n

作戦参加可能な艦の種類を制限

nに記述 -1=全部 0=船(当たり判定あり) 1=航空機(当たり判定無し)
サンプル1の場合 制限無し

サンプル1
@ShipType,-1

サンプル2の場合 船系のみ参加可能

サンプル2
@ShipType,0

@SeaUseModName,str,n

使用を推奨したいModを表示する

strにMod名を記述。
nに記述 0=Modが違う場合、警告のみ 1=Modが違う場合 出撃不可
Modで敵艦を作った場合に違うMODだと不都合がある場合に使用します。

サンプル1の場合 使用MODがTestModでない場合に警告が表示されます。

サンプル1
@SeaUseModName,TestMod,0

@SetDropItem,str,n,m,p

ドロップアイテムの設定
一つの海域ファイルに@SetDropItemを5つまで記述する事で
最大5つまでアイテムをドロップさせる事が可能です。

strに獲得物として出したいアイテム名を記述。(ItemList.txt内の名称)
n 1以上 アイテム個数の最大数
m 0以上 アイテムの最低ドロップ数
p 0-100整数 ドロップの確率
サンプル1の場合 制限無し

サンプル1 煙幕が必ず1つ、50%の確立で出現する
@ShipType,煙幕,1,1,50

サンプル2 煙幕と消化剤が1-3個ランダムに100%の確立出現する
@ShipType,煙幕,3,1,100
@ShipType,消化剤,3,1,100

@LoadShip16,path

艦の形状読み込み

pathに読込む艦ファイルのパスを記述
pathに「PCShip_Load」を記述するとプレイヤーが
造った艦を登場させれる

サンプル1
@BiginShip16
@LoadShip16,Data\\Ship\\ShipData_0a.dat
@EndShip16

@IFFShip16,iff

IFFの設定(敵味方識別信号)
IFFの番号が同じ場合は味方と識別される。

iffに数値を記述 0-15の整数

サンプル1
@BiginShip16
@IFFShip16,0
@EndShip16

@DCostShip16,cost

沈没した/させられた 場合の損害率の設定
-1.0の場合 100.0% / IFFが同じ艦の数 で自動算出される。

costに数値を記述 実数

サンプル1
@BiginShip16
@DCostShip16,100.0
@EndShip16

@DCost2Ship16,cost

撃破した/させられた 場合の損害率の設定
-1.0の場合 100.0% / IFFが同じ艦の数 で自動算出される。

costに数値を記述 実数

サンプル1
@BiginShip16
@DCost2Ship16,100.0
@EndShip16

@DCost3Ship16,cost

指定座標版コスト設定

costに数値を記述 実数

サンプル1
@BiginShip16
@DCost3Ship16,100.0
@EndShip16
@SeaSetTGPos,0,0.0,0.0,0.0,1000.0,100.0,Data\\Sea\\Sea00\\Sea_00a_CAdv.txt

@PosShip16,x,y,z

艦の座標設定

xにX座標を記述 実数
yにY座標を記述 実数
zにZ座標を記述 実数

サンプル1
@BiginShip16
@PosShip16,0.0,0.0,1000.0
@EndShip16

@RotShip16,x,y,z

艦の座標設定

xにX軸の回転角度を記述 実数
yにY軸の回転角度を記述 実数
zにZ軸の回転角度を記述 実数

サンプル1
@BiginShip16
@RotShip16,0.0,90.0,0.0
@EndShip16

@CRotShip16,rot

艦の回転の中心点の設定
基本0.0で大丈夫です。
自動で中心点を設定するようになったので現状意味はありません。

rotに艦の回転の中心点を記述 実数

サンプル1
@BiginShip16
@CRotShip16,0.0
@EndShip16

@SetNameShip16,str

艦名の設定
このスプリクトを使わない場合、@LoadShip16で読込んだ艦ファイルに
記載されている名称を使用します。

strに艦の回転の中心点を記述 実数

サンプル1
@BiginShip16
@SetNameShip16,標的艦
@EndShip16

@SetAI,wait,no,len

AIの設定

waitにAIが行動開始するまでの時間をフレーム単位で記述 整数
noにAIが行動番号を記述する 整数
lenにAIの攻撃距離を記述する 実数
 行動番号
  0=通常のAI
  -1=直進だけのAI
  -2=PC追跡だけのAI 左右旋回
  -3=PC追跡だけのAI 左旋回
  -4=PC追跡だけのAI 右旋回
  -5=追跡だけのAI 左右旋回
  -6=追跡だけのAI 左旋回
  -7=追跡だけのAI 右旋回

サンプル1
@BiginShip16
@SetAI,600,-999,0.0
@EndShip16

@NetShip16,wait,no,len

ネットユーザーの設定

オンラインで参加出来るユーザーの設定。
このコマンドを1つ記述するとオンラインで参加出来る
ユーザー数が増えます。 最大6人まで(PCを含むため正確には5人まで)
基本的には@SetAIと置き換えで使用します。
オンラインでユーザーが足りない場合や、ロビーで
退出した場合等の時にここで設定したAIが有効になります。
waitにAIが行動開始するまでの時間をフレーム単位で記述 整数
noにAIが行動番号を記述する 整数
lenにAIの攻撃距離を記述する 実数
 行動番号
  0=通常のAI
  -1=直進だけのAI
  -2=PC追跡だけのAI 左右旋回
  -3=PC追跡だけのAI 左旋回
  -4=PC追跡だけのAI 右旋回
  -5=追跡だけのAI 左右旋回
  -6=追跡だけのAI 左旋回
  -7=追跡だけのAI 右旋回

サンプル1
@BiginShip16
@NetShip16,600,-999,0.0
@EndShip16

@EndShip16

艦の設定の終了宣言

サンプル1
@BiginShip16
@SetNameShip16,標的艦
@EndShip16