ACBとLUA

Last-modified: 2019-03-08 (金) 20:48:49

ACBとLUA

編集時Ver2.12

はじめに

LUA学習のとっかかりとして、ACBで出来ることをLUAで書くならどう書くか、を列挙したものです。

LUAでの実現可否

Inputs

名称効果説明LUAでの実現可否
NoneこのACBは自動で稼動しません。×
Activate on spawningスポーン時にACBを稼動させます
Activate on ACB taking damegeACBが被弾した際に稼動させます。×
Activate when altitude~~greater than [inpout]高度が設定以上になったときにACBを稼動させます。
Activate when altitude~~less than [inpout]高度が設定以下になったときにACBを稼動させます。
Activate Every [input] Second]]設定秒毎に稼動させます
Activate if object infront~~within [input] MeterACBの背面側にControl Panelで設定した距離以内にオブジェクトが存在する場合に稼動させます×
Activate if NO object infront~~within [input] MeterACBの背面側に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

名称効果AffectAffectの意味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 mainframesAIメインフレームを操作します。Turn "OFF" mainframesAIメインフレームの動作を停止させます。×
Turn "ON" mainframesAIメインフレームを稼動させます。×
Switch mainframes to "COMBAT"COMBATモードに切り替えます。×
Constructable Spawnersvehicleスポナーを操作します。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 CardsAerial AI Cardを操作します。Minimum atitude to [affect] meteorsAerial AI Cardsの最小飛行高度を設定数値で上書きします。×
Nominal atitude to [affect] meteorsAerial 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 PIDPIDブロックの設定を変更します。Set set point of all G.P PIDSPID制御の設定値を変更します。(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