WW2空戦 弾薬制限レギュ
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[レギュレーション]]
#contents
**目的 [#h9fa9036]
[[WW2空戦レギュ]]においての重武装機の非現実的な弾幕射撃を...
**制限法 [#t801c8cc]
制限の方法は以下のとおり
--2.2tクラスは500ポイント、Jetは1200ポイントの弾薬ポイン...
--1.1tクラスは機体重量によって搭載できる弾薬の数が変動す...
(機体重量 -1300) /100 *20 +350
で計算し出てきた値を小数点以下四捨五入し弾薬ポイントとす...
--上記計算で350ポイント以下になった場合は350ポイントとし4...
--弾を一発発射するごとにOption値によって定められた弾薬コ...
--弾薬ポイントが0以下になった機体は射撃不能とし、着陸・撤...
--複数種類のOptionのArmを有する機体においては、その弾薬数...
--Option50K以上のARMは追加レギュで特に記述がない限り使用...
***弾薬コスト [#hefd12d7]
-50k未満
--禁止
-50K〜100k未満
--2
-100K以上
--12
***補給について [#hefd12d7]
--弾薬が不足した機体は着陸して補給することができる。弾薬...
--なお、着陸の定義は コアの地上高度が2m以下 かつ _VZの絶...
--Jet機は搭載弾薬が多く、補給に異常な時間がかかるため、補...
**導入の手引 [#h907a6da]
***Script編 [#dc7067f0]
以下のコードで弾薬ポイントをカウントできます
if _E(ARMのチップ番号) = 0 { 弾薬ポイント - 弾薬コスト }
あらかじめ、機体に合わせた弾薬ポイントの変数(350、500、12...
***Lua編 [#xade98ca]
以下の関数により弾薬ポイントをカウントできます。~
この切り取り線内をLuaにコピペすると、どんなモデルでも自動...
残ポイントの表示とか弾切れ時の発射ロックとかは各自実装し...
#codeprettify{{
LimitAmmo = 0 --自機の持つ残り弾薬ポイント。残弾表示やフ...
LimitAmmoMax = 0;
isJetPlaneLimitAmmo = false--ジェット機ならtrueに汁
isLimitAmmoInitialized = false;--内部的な初期化フラグ。い...
Cost100k = 12 --100k(Option=100000)以上のARMの弾薬コスト
Cost50k = 2 --50k以上100k未満の弾薬コスト
ListChipType = {} --ARMのチップ番号を格納
ArmCostList = {} --発見されたArmのコストを順に収納
function LimitAmmoRegulation()
--初期設定
if not isLimitAmmoInitialized then
--重量に応じて弾薬ポイントを決定
if isJetPlaneLimitAmmo then
LimitAmmo = 1200
else
if _WEIGHT() >= 1100 and _WEIGHT() < 2200 then
LimitAmmo = (_WEIGHT() -1300) /100 *20 +350
elseif _WEIGHT() >= 2200 then
LimitAmmo = 500
end
end
LimitAmmoMax= LimitAmmo
local chipNum = _CHIPS() - 1
for i = 1, chipNum do
--ARMチェック
if _TYPE(i) == 10 then
--50kの場合、100kの場合でそれぞれ弾薬コストを格納
if _OPTION(i) == 50000 then
table.insert(ListChipType, i)
table.insert(ArmCostList, Cost50k)
elseif _OPTION(i) >= 100000 then
table.insert(ListChipType, i)
table.insert(ArmCostList, Cost100k)
end
end
end
isLimitAmmoInitialized = true
elseif _TICKS() > 150 then
--発射カウント
local n = table.getn(ListChipType)
for i = 1, n do
--発射判定
if _E(ListChipType[i]) == 0 and _TOP(ListChipType[i]) ...
LimitAmmo = LimitAmmo - ArmCostList[i] --弾薬ポイント...
end
end
local h = _H(0);
local speed = _VZ(0);
if (0 < h and h < 2) and math.abs(speed) < 1.5 then
if isJetPlaneLimitAmmo then
LimitAmmo = LimitAmmo + 1;
else
LimitAmmo = LimitAmmo + 0.5;
end
if LimitAmmo > LimitAmmoMax then LimitAmmo = LimitAmmo...
end
end
end
}}
**更新履歴 [#w7e92c34]
-Ver0.35
--1.1t二重反転の弾薬計算方法を削除し統合
-Ver0.34
--2.2t機の弾薬ポイントを600に変更、表記を微修正
-Ver0.34
--1.1t機の弾薬ポイントを重量計算式に変更
-Ver0.33
--2.2tに関する記述を復元
--なぜかバルチについての記述が書いてあったため削除
-Ver0.32
--2.2tに関する記述を中途半端に削除
-Ver0.31
--Jetの補給速度改善
-Ver0.3
--補給ルールを導入
-Ver0.21
--1.1tクラスの制限コストを変更
--Op50K以外ARMの禁止
-Ver0.2
--Verを位上げすると同時に案→レギュに変更。
--体裁変更
-Ver0.14
--100K以上のコストが再び12に変更
--Luaコードに50K以下のArm発射時に弾薬を0にする機能追加
-Ver0.13
--Luaコードのバグ修正
-Ver0.12
--Luaコードのバグ修正
-Ver0.11
--100K以上のコストを15に変更。
--LuaのJet機指定方法に変更
--Luaコードのバグ修正
-Ver0.1
--1.6Mを100K以上枠に統合
--ポン付けよう見本Lua追加
終了行:
[[レギュレーション]]
#contents
**目的 [#h9fa9036]
[[WW2空戦レギュ]]においての重武装機の非現実的な弾幕射撃を...
**制限法 [#t801c8cc]
制限の方法は以下のとおり
--2.2tクラスは500ポイント、Jetは1200ポイントの弾薬ポイン...
--1.1tクラスは機体重量によって搭載できる弾薬の数が変動す...
(機体重量 -1300) /100 *20 +350
で計算し出てきた値を小数点以下四捨五入し弾薬ポイントとす...
--上記計算で350ポイント以下になった場合は350ポイントとし4...
--弾を一発発射するごとにOption値によって定められた弾薬コ...
--弾薬ポイントが0以下になった機体は射撃不能とし、着陸・撤...
--複数種類のOptionのArmを有する機体においては、その弾薬数...
--Option50K以上のARMは追加レギュで特に記述がない限り使用...
***弾薬コスト [#hefd12d7]
-50k未満
--禁止
-50K〜100k未満
--2
-100K以上
--12
***補給について [#hefd12d7]
--弾薬が不足した機体は着陸して補給することができる。弾薬...
--なお、着陸の定義は コアの地上高度が2m以下 かつ _VZの絶...
--Jet機は搭載弾薬が多く、補給に異常な時間がかかるため、補...
**導入の手引 [#h907a6da]
***Script編 [#dc7067f0]
以下のコードで弾薬ポイントをカウントできます
if _E(ARMのチップ番号) = 0 { 弾薬ポイント - 弾薬コスト }
あらかじめ、機体に合わせた弾薬ポイントの変数(350、500、12...
***Lua編 [#xade98ca]
以下の関数により弾薬ポイントをカウントできます。~
この切り取り線内をLuaにコピペすると、どんなモデルでも自動...
残ポイントの表示とか弾切れ時の発射ロックとかは各自実装し...
#codeprettify{{
LimitAmmo = 0 --自機の持つ残り弾薬ポイント。残弾表示やフ...
LimitAmmoMax = 0;
isJetPlaneLimitAmmo = false--ジェット機ならtrueに汁
isLimitAmmoInitialized = false;--内部的な初期化フラグ。い...
Cost100k = 12 --100k(Option=100000)以上のARMの弾薬コスト
Cost50k = 2 --50k以上100k未満の弾薬コスト
ListChipType = {} --ARMのチップ番号を格納
ArmCostList = {} --発見されたArmのコストを順に収納
function LimitAmmoRegulation()
--初期設定
if not isLimitAmmoInitialized then
--重量に応じて弾薬ポイントを決定
if isJetPlaneLimitAmmo then
LimitAmmo = 1200
else
if _WEIGHT() >= 1100 and _WEIGHT() < 2200 then
LimitAmmo = (_WEIGHT() -1300) /100 *20 +350
elseif _WEIGHT() >= 2200 then
LimitAmmo = 500
end
end
LimitAmmoMax= LimitAmmo
local chipNum = _CHIPS() - 1
for i = 1, chipNum do
--ARMチェック
if _TYPE(i) == 10 then
--50kの場合、100kの場合でそれぞれ弾薬コストを格納
if _OPTION(i) == 50000 then
table.insert(ListChipType, i)
table.insert(ArmCostList, Cost50k)
elseif _OPTION(i) >= 100000 then
table.insert(ListChipType, i)
table.insert(ArmCostList, Cost100k)
end
end
end
isLimitAmmoInitialized = true
elseif _TICKS() > 150 then
--発射カウント
local n = table.getn(ListChipType)
for i = 1, n do
--発射判定
if _E(ListChipType[i]) == 0 and _TOP(ListChipType[i]) ...
LimitAmmo = LimitAmmo - ArmCostList[i] --弾薬ポイント...
end
end
local h = _H(0);
local speed = _VZ(0);
if (0 < h and h < 2) and math.abs(speed) < 1.5 then
if isJetPlaneLimitAmmo then
LimitAmmo = LimitAmmo + 1;
else
LimitAmmo = LimitAmmo + 0.5;
end
if LimitAmmo > LimitAmmoMax then LimitAmmo = LimitAmmo...
end
end
end
}}
**更新履歴 [#w7e92c34]
-Ver0.35
--1.1t二重反転の弾薬計算方法を削除し統合
-Ver0.34
--2.2t機の弾薬ポイントを600に変更、表記を微修正
-Ver0.34
--1.1t機の弾薬ポイントを重量計算式に変更
-Ver0.33
--2.2tに関する記述を復元
--なぜかバルチについての記述が書いてあったため削除
-Ver0.32
--2.2tに関する記述を中途半端に削除
-Ver0.31
--Jetの補給速度改善
-Ver0.3
--補給ルールを導入
-Ver0.21
--1.1tクラスの制限コストを変更
--Op50K以外ARMの禁止
-Ver0.2
--Verを位上げすると同時に案→レギュに変更。
--体裁変更
-Ver0.14
--100K以上のコストが再び12に変更
--Luaコードに50K以下のArm発射時に弾薬を0にする機能追加
-Ver0.13
--Luaコードのバグ修正
-Ver0.12
--Luaコードのバグ修正
-Ver0.11
--100K以上のコストを15に変更。
--LuaのJet機指定方法に変更
--Luaコードのバグ修正
-Ver0.1
--1.6Mを100K以上枠に統合
--ポン付けよう見本Lua追加
ページ名: