ACBとLUA
編集時Ver2.12
はじめに
LUA学習のとっかかりとして、ACBで出来ることをLUAで書くならどう書くか、を列挙したものです。
LUAでの実現可否
Inputs
名称 | 効果説明 | LUAでの実現可否 |
None | このACBは自動で稼動しません。 | × |
Activate on spawning | スポーン時にACBを稼動させます | 〇 |
Activate on ACB taking damege | ACBが被弾した際に稼動させます。 | × |
Activate when altitude~~greater than [inpout] | 高度が設定以上になったときにACBを稼動させます。 | 〇 |
Activate when altitude~~less than [inpout] | 高度が設定以下になったときにACBを稼動させます。 | 〇 |
Activate Every [input] Second]] | 設定秒毎に稼動させます | 〇 |
Activate if object infront~~within [input] Meter | ACBの背面側にControl Panelで設定した距離以内にオブジェクトが存在する場合に稼動させます | × |
Activate if NO object infront~~within [input] Meter | ACBの背面側にControl Panelで設定した距離以内にオブジェクトが存在しない場合に稼動させます | × |
Activate if vehicle health < [input] Percent | このACBの搭載されたVehicleの残存体力が設定%未満のときに稼動させます。 | 〇 |
Activate if vehicle health > [input] Percent | このACBの搭載されたVehicleの残存体力が設定%を超えている場合に稼動させます。 | 〇 |
Activate if vehicle Speed < [input] | このACBの搭載されたVehicleの速度が設定速度未満のときに稼動させます。 | 〇 |
Activate if vehicle Speed > [input] | このACBの搭載されたVehicleの速度が設定速度を超えた場合に稼動させます。 | 〇 |
Activate if Enemy range < [input] | 敵との彼我距離が設定距離未満のときに稼動させます。 | 〇 |
Activate if Enemy range > [input] | 敵との彼我距離が設定距離を超えた場合に稼動させます。 | 〇 |
...when enemy range > [input] or no enemies | 敵との彼我距離が設定距離を超えたとき、または近くに敵が存在しないときに稼動させます。 | 〇 |
Activate if Pitch angle < [input]° | ピッチが設定角度未満のときに稼動させます。 | 〇 |
Activate if Pitch angle > [input]° | ピッチが設定角度を超えたときに稼動させます。 | 〇 |
Activate if roll angle < [input]° | ロール角度が設定角度未満のときに稼動させます。 | 〇 |
Activate if roll angle > [input]° | ロール角度が設定角度を超えたときに稼動させます。 | 〇 |
Activate [input]seconds after spawning | スポーン後、設定秒が過ぎたらACBを稼動させます。 | 〇 |
Hostile Missile closer than [input] meters | 設定距離以内にミサイルが進入した事をAIが感知した際に稼動します。#brr~~AIがミサイルを感知するためにはMunition warnerの接続が必要です。 | 〇 |
Activated when control received to yaw left | 左ヨーの入力時に稼動させます。~~AIの制御も認識します。 | × |
Activated when control received to yaw right | 右ヨーの入力時に稼動させます。~~AIの制御も認識します。 | × |
Activated when control received to roll left | 左ロールの入力時に稼動させます。~~AIの制御も認識します。 | × |
Activated when control received to roll right | 右ロールの入力時に稼動させます。~~AIの制御も認識します。 | × |
Activated when control received to nose down | 機首下げの入力時に稼動させます。~~AIの制御も認識します。 | × |
Activated when control received to nose up | 機首上げの入力時に稼動させます。~~AIの制御も認識します。 | × |
Activated when control received to go forward | 前進の入力時に稼動させます。~~AIの制御も認識します。 | × |
Activated when control received to go back | 後退の入力時に稼動させます。~~AIの制御も認識します。 | × |
Activated when fuel below [input]% | 燃料が設定パーセント以下になった際に稼動させます。 | 〇 |
Activated when fuel above [input]% | 燃料が設定パーセント以上になった際に稼動させます。 | 〇 |
Activated when battery below [input]% | バッテリーが設定パーセント以下になった際に稼動させます。 | × |
Activated when battery above [input]% | バッテリーが設定パーセント以上になった際に稼動させます。 | × |
Activated when ammo fraction > [input] | 弾薬が設定%を越えている場合に稼動させます。 | 〇 |
Activated when ammo fraction < [input] | 弾薬が設定%未満の場合に稼動させます。 | 〇 |
Activated when power fraction > [input] | パワーが設定%を越えている場合に稼動させます。 | × |
Activated when power fraction < [input] | パワーが設定%未満の場合に稼動させます。 | × |
... height above sea/ground less then [input] | 海面もしくは陸地から(?)一定未満の高度になった場合に稼動させます。 | 〇 |
... height above sea/ground greater then [input] | 海面もしくは陸地から(?)一定より高度が高くなった場合に稼動させます。 | 〇 |
...height above Terrain greater than [input] | 入力数値よりも地形上の高さより大きい場合に稼動 | 〇 |
...height above Terrain less than [input] | 入力数値よりも地形上の高さより小さい場合に稼動 | 〇 |
Any target above [input]m altitude | 何れかのターゲットが入力数値よりも高い場合に稼動 | 〇 |
Any target below [input]m altitude | 何れかのターゲットが入力数値よりも低い場合に稼動 | 〇 |
Affected
名称 | 効果 | Affect | Affectの意味 | LUAでの実現可否 |
Air pumps | エアーポンプを操作します。 | None | 操作しません。 | - |
Active Air Pump at 100% | 全力で動作させます。 | 〇 | ||
Deactivate Air Pump | エアーポンプを停止させます。 | 〇 | ||
Set Air Pump to (afect var) | Controlで指定した割合の性能で稼動させます。 | 〇 | ||
Helium pumps | ヘリウムポンプを操作 | None | 操作しません。 | - |
Activate helium pump at 100%. | ヘリウムポンプを全力動作 | × | ||
Deactivate helium pump. | ヘリウムポンプを停止 | × | ||
Set helium pump to [affect var]. | ヘリウムポンプを指定割合で稼動 | × | ||
Balloon deployers | 熱気球を操作します。 | None | 操作しません。 | - |
Activate your balloon | 熱気球を発生させます。 | 〇 | ||
Deactivate your balloon | 熱気球を切り離します。 | 〇 | ||
Hydrofoils | 水中翼を操作します。 | None | 操作しません。 | - |
Set Hydrofoil angle to [affect var] | 水中翼の角度を設定します。 | 〇 | ||
AI mainframes | AIメインフレームを操作します。 | Turn "OFF" mainframes | AIメインフレームの動作を停止させます。 | × |
Turn "ON" mainframes | AIメインフレームを稼動させます。 | × | ||
Switch mainframes to "COMBAT" | COMBATモードに切り替えます。 | × | ||
Constructable Spawners | vehicleスポナーを操作します。 | Spawn Default vehicle | スポナーを稼動させ、設定された機体を生成します。 ※生成中のビークルが完成していなくても精製開始から一定時間後に再度稼働要請がACBなどによって入力された場合、現在の生成を破棄し、新たにビークルを生成し始めるため、あまり複雑なビークルやサブオブジェクトを多用したビークルは未完成状態のまま切り離されてしまいます。 | 〇 |
Spin Blocks | スピンブロックを操作します。 | Rotate to [affect var] degrees | 設定された角度になるまで回転させます | 〇 |
Set rotation speed to [affect var] | 設定した速度で回転させます。(スピンブロックのModeがContinuousでない場合Continuousに変更します)具体的な速度はNew Objectsを参照 | 〇 | ||
Set speed (if in continuous modes) | 設定した速度で回転させます。(スピンブロックのModeがContinuousでない場合は効果なし) | × | ||
Insta spin the spin block | 正方向に全力で回転させます。(回転速度30と等速) | 〇 | ||
Insta spin reverse the spin block | 負方向に全力で回転させます。(回転速度-30と等速) | 〇 | ||
Desired Speeds | 速度出力を操作します。 | Water and air speed to[affect var] | Water DriveとAir Driveの出力を設定した数値にします。 | 〇 |
Water speed to[affect var] | Water Driveの出力を設定した数値にします。 | 〇 | ||
Air speed to[affect var] | Air Driveの出力を設定した数値にします。 | 〇 | ||
Docking stations | ドッキングステーションを操作します。 | Releace all assigned vehicles | ドッキングステーションに接続された機体を離します。 | 〇 |
Recall all assigned vehicle | ドッキングステーションに登録された機体を呼び戻します。 | 〇 | ||
Undock with mothership | 登録されたドッキングステーションから離れます。~~Mothership側のACBのドッキング命令のほうが優先されます。 | × | ||
Dock with mothership | 登録されたドッキングステーションに帰還します。~~Mothership側のACBのドッキング解除命令のほうが優先されます。 | × | ||
Shield Projectors | シールドを操作します。 | Turn shields off | シールドをOFFにします。 | 〇 |
Turn shields to disrupt | シールドを偏向モードにします。 | 〇 | ||
Turn shields to reflect | シールドを反射モードにします。 | 〇 | ||
Turn shields to laser absorb | シールドをレーザー吸収モードにします。~~効果を発動させるには別途バッテリー電力も必要です | × | ||
Shield drive to [affect var](below l disables) | シールド出力を変更します。~~1未満は無効な数字として扱われます。 | 〇 | ||
Shield drive factored by [affect var] | シールド出力を入力数値の数で乗算します。出力2で数値3なら適用されれば6になるという具合。0.1倍なども可能。 | 〇 | ||
Enemiy Simulators | エネミーシミュレーターを操作します。 | Activate Enemy Simulation for [affect] seconds | 設定秒間エネミーシミュレーターを有効にします。 | × |
Deactivate Enemy Simulation | エネミーシミュレーターを無効にします。 | × | ||
Aerial AI Cards | Aerial AI Cardを操作します。 | Minimum atitude to [affect] meteors | Aerial AI Cardsの最小飛行高度を設定数値で上書きします。 | × |
Nominal atitude to [affect] meteors | Aerial AI Cardsの通常巡航高度を設定数値で上書きします。 | × | ||
Electric Engines | 電気エンジンを操作します。 | Set output to [affect var] | 電気エンジンの出力割合を設定数値にします。 | × |
Weapon Systems | 武装を操作します。 | Fire weapons | 攻撃します。 | 〇 |
Wireless Transmitters | ワイヤレス送信機 | Wireless Channel | 送信機のチャンネルを変更する | × |
Wireless Receivers | ワイヤレス受信機 | Wireless Channel | 受信機のチャンネルを変更する | × |
Propulsion Components | 各種推力パーツの出力を操作します。 | Set drive fraction | 推力装置を指定した割合で稼動させます。 | 〇 |
Ammo processors | 弾薬製造機を操作します。 | Turn processors on | 弾薬製造機を稼動させます。 | 〇 |
Turn processors off | 弾薬製造機を停止させます。 | 〇 | ||
General purpose PID | PIDブロックの設定を変更します。 | Set set point of all G.P PIDS | PID制御の設定値を変更します。(PIDブロックで使用中のTest Stimulusの値を設定した数値にします。) | × |
Fuel Engines | 燃料エンジンの設定を変更します。 | Set % dedicated to battery charging | バッテリーチャージに使用する動力の最大割合 | × |
Set % Maximum RPM | エンジンの最大稼働率(?) | × | ||
Light Fittings | ライトの調整 | set light intensity | ライトの調整 | × |
Control | コントロール | Complex Control Key (1 = A). Use TGYHUJIKOL | コンプレックスコントローラーに登録された動作を行います。 | 〇 |
Warp Drive | ワープドライブ | Begin charging warp drive | ワープドライブの充電を開始する | × |
Warp the warp drive (if charging) | ワープドライブを稼動させる(充電中の場合) | × | ||
Cylce the warp drive (charge if idle, warp if charging) | ワープドライブを定期的に稼動させる(アイドルの場合は充電、充電中の場合は稼動させます)。 | × | ||
Boiler | ボイラー | Set boiler burn rate to [affect var] | ボイラーの燃焼速度を設定値に設定 | × |
LUAで書くACBの真似事
ACBの Affect range や Affect delay はNo limitと仮定して書いています。
LUAでもできますが煩雑になるので。
Inputs
Activate on spawning
スポーン時にACBを稼動させます
initialized = false function Update(I) if initialized == false then -- affected initialized = true end end
Activate when altitude~~greater than [inpout]
高度が設定以上になったときにACBを稼動させます。
function Update(I) local selfPos = I:GetConstructPosition() local input = 100 -- 指定高度 if selfPos.y >= input then -- affected end end
Activate when altitude~~less than [inpout]
高度が設定以下になったときにACBを稼動させます。
function Update(I) local selfPos = I:GetConstructPosition() local input = 100 -- 指定高度 if selfPos.y <= input then -- affected end end
Activate Every [input] Second]]
設定秒毎に稼動させます
input = 5 lastTime = -input function Update(I) local now = I:GetTime() local pastTime = now - lastTime if pastTime > input then -- affected lastTime = now end end
Activate if vehicle health < [input] Percent
このACBの搭載されたVehicleの残存体力が設定%未満のときに稼動させます。
function Update(I) local input = 0.5 -- 0~1。1は100% if I:GetHealthFraction() < input then -- affected end end
Activate if vehicle health > [input] Percent
このACBの搭載されたVehicleの残存体力が設定%を超えている場合に稼動させます。
function Update(I) local input = 0.5 -- 0~1。1は100% if I:GetHealthFraction() > input then -- affected end end
Activate if vehicle Speed < [input]
このACBの搭載されたVehicleの速度が設定速度未満のときに稼動させます。
-- ACB側の仕様がわかりません。後退や横方向の速度も含む? if condition then -- affected end
Activate if vehicle Speed > [input]
このACBの搭載されたVehicleの速度が設定速度を超えた場合に稼動させます。
-- ACB側の仕様がわかりません。後退や横方向の速度も含む? if condition then -- affected end
Activate if Enemy range < [input]
敵との彼我距離が設定距離未満のときに稼動させます。
function Update(I) local input = 1000 -- 距離 for mainframeIndex = 0, I:GetNumberOfMainframes() - 1, 1 do local targetCount = I:GetNumberOfTargets(mainframeIndex) for targetIndex = 0, targetCount - 1, 1 do local info = I:GetTargetPositionInfo(mainframeIndex, targetIndex) if info.Range < input then -- affected end end end end
Activate if Enemy range > [input]
敵との彼我距離が設定距離を超えた場合に稼動させます。
function Update(I) local input = 1000 -- 距離 for mainframeIndex = 0, I:GetNumberOfMainframes() - 1, 1 do local targetCount = I:GetNumberOfTargets(mainframeIndex) for targetIndex = 0, targetCount - 1, 1 do local info = I:GetTargetPositionInfo(mainframeIndex, targetIndex) if info.Range > input then -- affected end end end end
...when enemy range > [input] or no enemies
敵との彼我距離が設定距離を超えたとき、または近くに敵が存在しないときに稼動させます。
function Update(I) local input = 1000 -- 距離 local isDetected = false for mainframeIndex = 0, I:GetNumberOfMainframes() - 1, 1 do local targetCount = I:GetNumberOfTargets(mainframeIndex) for targetIndex = 0, targetCount - 1, 1 do local info = I:GetTargetPositionInfo(mainframeIndex, targetIndex) if info.Range > input then isDetected = true break end end if isDetected then break end end
if isDetected then -- affected end end
Activate if Pitch angle < [input]°
ピッチが設定角度未満のときに稼動させます。
function Update(I) local input = 5 local pitch = I:GetConstructPitch() -- 0~360。下回り
-- -180~180に変換 if pitch > 180 then pitch = (pitch - 180) * -1 end
if pitch < input then -- affected end end
Activate if Pitch angle > [input]°
ピッチが設定角度を超えたときに稼動させます。
function Update(I) local input = 5 local pitch = I:GetConstructPitch() -- 0~360。下回り
-- -180~180に変換 if pitch > 180 then pitch = (pitch - 180) * -1 end
if pitch > input then -- affected end end
Activate if roll angle < [input]°
ロール角度が設定角度未満のときに稼動させます。
function Update(I) local input = 5 local roll = I:GetConstructRoll() -- 0~360。反時計回り
-- -180~180に変換 if roll > 180 then roll = (roll - 180) * -1 end
if roll < input then -- affected end end
Activate if roll angle > [input]°
ロール角度が設定角度を超えたときに稼動させます。
function Update(I) local input = 5 local roll = I:GetConstructRoll() -- 0~360。反時計回り
-- -180~180に変換 if roll > 180 then roll = (roll - 180) * -1 end
if roll > input then -- affected end end
Activate [input]seconds after spawning
スポーン後、設定秒が過ぎたらACBを稼動させます。
function Update(I) local input = 5 if I:GetTimeSinceSpawn() > input then -- affected end end
Hostile Missile closer than [input] meters
設定距離以内にミサイルが進入した事をAIが感知した際に稼動します。~~AIがミサイルを感知するためにはMunition warnerの接続が必要です。
function Update(I) local input = 1000 local isDetected = false for mainframeIndex = 0, I:GetNumberOfMainframes() - 1, 1 do for missileIndex = 0, I:GetNumberOfWarnings(mainframeIndex) - 1, 1 do local info = I:GetMissileWarning(mainframeIndex, missileIndex) if info.Range <= input then isDetected = true break end end if isDetected then break end end if isDetected then -- affected end end
Activated when fuel below [input]%
燃料が設定パーセント以下になった際に稼動させます。
function Update(I) local input = 0.5 -- 0~1。1は100% if I:GetFuelFraction() <= input then -- affected end end
Activated when fuel above [input]%
燃料が設定パーセント以上になった際に稼動させます。
function Update(I) local input = 0.5 -- 0~1。1は100% if I:GetFuelFraction() >= input then -- affected end end
Activated when ammo fraction > [input]
弾薬が設定%を越えている場合に稼動させます。
function Update(I) local input = 0.5 -- 0~1。1は100% if I:GetAmmoFraction() >= input then -- affected end end
Activated when ammo fraction < [input]
弾薬が設定%未満の場合に稼動させます。
function Update(I) local input = 0.5 -- 0~1。1は100% if I:GetAmmoFraction() >= input then -- affected end end
... height above sea/ground less then [input]
海面もしくは陸地から(?)一定未満の高度になった場合に稼動させます。
function Update(I) local input = 50 local selfPos = I:GetConstructPosition() local terrain = I:GetTerrainAltitudeForLocalPosition(0,0,0) local seaLevel = 0 -- 海面の高度は0 if Mathf.Max(seaLevel, terrain.y) + input > selfPos.y then -- affected end end
... height above sea/ground greater then [input]
海面もしくは陸地から(?)一定より高度が高くなった場合に稼動させます。
function Update(I) local input = 50 local selfPos = I:GetConstructPosition() local terrain = I:GetTerrainAltitudeForLocalPosition(0,0,0) local seaLevel = 0 -- 海面の高度は0 if Mathf.Max(seaLevel, terrain.y) + input < selfPos.y then -- affected end end
...height above Terrain greater than [input]
入力数値よりも地形上の高さより大きい場合に稼動
function Update(I) local input = 50 local terrain = I:GetTerrainAltitudeForLocalPosition(0,0,0) if terrain.y > input then -- affected end end
...height above Terrain less than [input]
入力数値よりも地形上の高さより小さい場合に稼動
function Update(I) local input = 50 local terrain = I:GetTerrainAltitudeForLocalPosition(0,0,0) if terrain.y < input then -- affected end end
Any target above [input]m altitude
何れかのターゲットが入力数値よりも高い場合に稼動
function Update(I) local input = 1000 -- 距離 local isDetected = false for mainframeIndex = 0, I:GetNumberOfMainframes() - 1, 1 do local targetCount = I:GetNumberOfTargets(mainframeIndex) for targetIndex = 0, targetCount - 1, 1 do local info = I:GetTargetPositionInfo(mainframeIndex, targetIndex) if info.y > input then isDetected = true break end end if isDetected then break end end if isDetected then -- affected end end
Any target below [input]m altitude
何れかのターゲットが入力数値よりも低い場合に稼動
function Update(I) local input = 1000 -- 距離 local isDetected = false for mainframeIndex = 0, I:GetNumberOfMainframes() - 1, 1 do local targetCount = I:GetNumberOfTargets(mainframeIndex) for targetIndex = 0, targetCount - 1, 1 do local info = I:GetTargetPositionInfo(mainframeIndex, targetIndex) if info.y < input then isDetected = true break end end if isDetected then break end end if isDetected then -- affected end end
Affected
Air pumps
エアーポンプを操作します。
- Active Air Pump at 100%
- 全力で動作させます。
local type = 2 I:Component_SetBoolLogicAll(type, true)
- Deactivate Air Pump
- エアーポンプを停止させます。
local type = 2 I:Component_SetBoolLogicAll(type, false)
- Set Air Pump to (afect var)
- Controlで指定した割合の性能で稼動させます。
local type = 2 local affect = 0.5 I:Component_SetFloatLogicAll(type, affect)
Balloon deployers
熱気球を操作します。
- Activate your balloon
- 熱気球を発生させます。
local type = 0 I:Component_SetBoolLogicAll(type, true)
またはI:DeployAllBalloons()
- Deactivate your balloon
- 熱気球を切り離します。
local type = 0 I:Component_SetBoolLogicAll(type, false)
またはI:SeverAllBalloons()
Hydrofoils
水中翼を操作します。
- Set Hydrofoil angle to [affect var]
- 水中翼の角度を設定します。
local type = 8 local affect = 45 I:Component_SetFloatLogicAll(type, affect)
Constructable Spawners
vehicleスポナーを操作します。
- Spawn Default vehicle
- スポナーを稼動させ、設定された機体を生成します。※生成中のビークルが完成していなくても精製開始から一定時間後に再度稼働要請がACBなどによって入力された場合、現在の生成を破棄し、新たにビークルを生成し始めるため、あまり複雑なビークルやサブオブジェクトを多用したビークルは未完成状態のまま切り離されてしまいます。
local index = 1 I.BlueprintSpawners[index]:Spawn() --スポナー側の設定でDefault blueprint nameに生成する機体のパスを入力する必要あり --パスはvehicle保存フォルダのプレイヤー名直下のパスから入力
Spin Blocks
スピンブロックを操作します。
- Rotate to [affect var] degrees
- 設定された角度になるまで回転させます
local subConstructId = 1 local affect = 30 I:SetSpinBlockRotationAngle(subConstructId, affect)
- Set rotation speed to [affect var]
- 設定した速度で回転させます。(スピンブロックのModeがContinuousでない場合Continuousに変更します)具体的な速度はNew Objectsを参照
local subConstructId = 1 local affect = 30 -- -30~30 I:SetSpinBlockContinuousSpeed(subConstructId, affect)
- Insta spin the spin block
- 正方向に全力で回転させます。(回転速度30と等速)
local subConstrucId = 1 local affect = 1 -- -1~1 I:SetSpinBlockInstaSpin(subConstructId, affect)
- Insta spin reverse the spin block
- 負方向に全力で回転させます。(回転速度-30と等速)
local subConstrucId = 1 local affect = -1 -- -1~1 I:SetSpinBlockInstaSpin(subConstructId, affect)
Desired Speeds
速度出力を操作します。
- Water and air speed to[affect var]
- Water DriveとAir Driveの出力を設定した数値にします。
local affect = 1 -- -1~1 local type = 8 -- 8:MainPropulsion I:RequestControl(0, type, affect) -- 0 :water I:RequestControl(2, type, affect) -- 2 :air
- Water speed to[affect var]
- Water Driveの出力を設定した数値にします。
local affect = 1 -- -1~1 I:RequestWaterForwards(affect)
- Air speed to[affect var]
- Air Driveの出力を設定した数値にします。
local affect = 1 -- -1~1 local type = 0 -- 0:MainPropulsion ※関数によって数字と意味がバラバラなので注意 I:RequestThrustControl(type, affect)
Docking stations
ドッキングステーションを操作します。
- Releace all assigned vehicles
- ドッキングステーションに接続された機体を離します。
local type = 7 for index = 0, I:Component_GetCount(type), 1 do I:Component_SetBoolLogic(type, index, false) end
- Recall all assigned vehicle
- ドッキングステーションに登録された機体を呼び戻します。
local type = 7 for index = 0, I:Component_GetCount(type), 1 do I:Component_SetBoolLogic(type, index, true) end
Shield Projectors
シールドを操作します。
- Turn shields off
- シールドをOFFにします。
local type = 10 I:Component_SetIntLogicAll(type, 0)
- Turn shields to disrupt
- シールドを偏向モードにします。
local type = 10 I:Component_SetIntLogicAll(type, 1)
- Turn shields to reflect
- シールドを反射モードにします。
local type = 10 I:Component_SetIntLogicAll(type, 2)
- Shield drive to [affect var](below l disables)
- シールド出力を変更します。~~1未満は無効な数字として扱われます。
local type = 10 local affect = 5 I:Component_SetFloatLogicAll(type, affect)
- Shield drive factored by [affect var]
- シールド出力を入力数値の数で乗算します。出力2で数値3なら適用されれば6になるという具合。0.1倍なども可能。
local type = 10 local affect = 0.3 I:Component_SetFloatLogicAll(type, affect)
Weapon Systems
武装を操作します。
- Fire weapons
- 攻撃します。
-- 複雑なのでとりあえずスロット1の武装を斉射 local weaponSlot = 1 for weaponIndex= 0, I:GetWeaponCount() - 1, 1 do I:FireWeapon(weaponIndex, weaponSlot) end
Propulsion Components
各種推力パーツの出力を操作します。
- Set drive fraction
- 推力装置を指定した割合で稼動させます。
-- ACB側の仕様がわかりません
Ammo processors
弾薬製造機を操作します。
- Turn processors on
- 弾薬製造機を稼動させます。
local type = 5 I:Component_SetBoolLogicAll(type, true)
- Turn processors off
- 弾薬製造機を停止させます。
local type = 5 I:Component_SetBoolLogicAll(type, false)
Control
コントロール
- Complex Control Key (1 = A). Use TGYHUJIKOL
- コンプレックスコントローラーに登録された動作を行います。
-- none = 0,T = 1,G =2,Y = 3,H = 4, -- U = 5,J = 6,I = 7,K = 8,O = 9,L = 10, -- up = 11,down = 12,left = 13,right = 14 local affect = 1 I:RequestComplexControllerStimulus(affect)
コメント
- 壁| д゚)メニューバーに載せてないけど付けたほうがよい? -- 管理人/びんせんとー? 2018-01-06 (土) 11:55:53
- 書けるだけ書いたので、メニュー入りお願いします -- 亀? 2018-01-06 (土) 14:03:47
- わぁい! -- 管理人/びんせんとー? 2018-01-06 (土) 14:23:48
- Hydrofoilsの例文、 local type = 0 じゃなくて8だよね? 多分。 -- 2018-07-05 (木) 18:02:08