設定
基本設定
| 設定項目 | 預設值 | 最小值 | 最大值 |
|---|---|---|---|
| 隊伍數量 | 3 | 1 | 3 |
| 玩家數量 | 3 | 1 | 4 |
| 回合數 | 4 | 1 | 7 |
| 無限彈藥 | true | - | - |
| 無限凝膠護盾 | false | - | - |
| 無限投擲物 | false | - | - |
雖可修改上述數值,但若超過最大值或低於最小值,可能導致部分介面與邏輯功能失效。
調整地圖位置
欲將地圖移至新位置,需將下列關卡物件移動至其他地點。預設位置位於Katulistiwa。

只需將這些關卡物件移至其他位置,即可移動整個地圖。
| 關卡物件 | 圖像 | 數量 |
|---|---|---|
| 安全區 | ![]() |
1 |
| 出生點與販賣機 | ![]() |
每隊1個 |
此外,可在此處修改介面顯示的區域名稱:

可透過 屬性設置 -> 總體規則 -> LocationName 調整

安全區域設定
安全區域分為兩階段:
- 首次縮減將持續特定時間,邊界中心位置固定不變
- 第二階段從首階段中心點移轉至新中心點,同時將當前半徑縮減至0。
第一階段安全區域
此階段安全區域的多數設定可透過安全區關卡物件調整。

下列設定可於特定限制下調整:
| 屬性 | 預設值 | 最小值 | 最大值 |
| -------------------- | ------------- | --------- | ----------------------- – |
| 起始半徑 | 35.00 | - | - |
| 終止半徑 | 15.00 | - | - |
| 起始時間(秒) | 0 | - | 短於地圖時長 |
| 起始縮減時間(秒) | 5 | - | 短於地圖時長 |
| 縮減持續時間(秒) | 30 | - | 少於地圖持續時間 |
| 內部傷害(s) | 2 | - | - |
| 傷害 | 20 | - | - |
| 結束時間(s) | 40 | - | 少於地圖持續時間 |
若起始時間或結束時間設定為大於或等於地圖持續時間,安全區的第二階段將不存在。
第二階段安全區
所有第二階段安全區屬性皆可透過「屬性設置」中的「總體規則」進行設定。可調整項目如下:
| 屬性 | 預設值 | 最小值 | 最大值 |
| ----------------- | ----------------- - | ---------------- | ------------------------ |
| SZMoveMin | Vector3{30, 0, 30} | Vector3{0, 0, 0} | - |
| SZMoveMax | Vector3{50, 0, 50} | Vector3{0, 0, 0} | - |
| SZMoveDuration(s) | 100 | 0 | 短於地圖持續時間 |
| SZDamage | 40 | 1 | - |
SZMoveMin 與 SZMoveMax 決定安全區第二階段的中心位置。預設情況下,安全區中心將在 X 軸與 Z 軸上移動 30 至 50 單位。
SZMoveDuration 控制安全區移動與縮減的持續時間。
調整玩家裝備
玩家初始裝備
玩家初始裝備可於玩家腳本中修改,具體位置在 Configure 函式內

投擲物數量
投擲物數量設定位於 屬性設定 的 玩家規則 區塊。
可調整項目如下:
- GlooWallNum:每回合凝膠護盾數量。
- GrenadeNum:每回合手榴彈數量。
- GlooMelterNum:每回合凝膠腐蝕手榴彈數量。
- FlashFreezeNum:每回合冰凍手榴彈數量。
- 吸入器數量:每回合呼吸器數量。
- 醫療包數量:每回合急救包數量。
- 超級醫療包數量:每回合超級急救包數量。

調整玩家商店設定
預設情況下,所有模板中的販賣機皆使用同一商店。可透過以下流程調整商店內容:點擊更多,再點擊商店和經濟:

接著點擊此圖示進入商店編輯介面:

進入此介面後即可進一步編輯當前商店。

設定出生點隨機化流程
預設情況下,每回合開始時雙方隊伍的出生點位置皆會變動。此設定可透過遊戲實體元件進行切換。

隨機化池中的潛在出生點清單可於全局腳本的Configure函數中查閱。僅需在此函數中增刪已定義的出生點,即可變更可使用的出生點位置。

預設生成點清單包含 4 個位置,如下圖所示。

腳本說明
全局腳本
當回合開始時,會透過 Configure 函數進行一些設定。TeamAcedCnt(用來儲存本回合被淘汰的隊伍數)和 TeamWon(用來儲存本回合的勝利隊伍)都會被重置。此外,安全區域及其終點位置也會在此時透過 ResetBorder 和 RandBorderEndLoc 函數更新。

在這個階段,所有的重生點都會被加入到一個清單中以便進行隨機打亂。這份清單可以被隊伍腳本用來在每回合開始時隨機化各隊伍的重生點。

接著,RandBorderEndLoc 會執行其功能:

- 從安全區的第一階段中取得所有必要屬性,接著計算安全區第二階段的終點位置。
- 該函數會等待第一階段結束後,再開始第二階段。
在比賽進行中,當某個隊伍被淘汰時,遊戲會檢查是否所有隊伍都已被淘汰。此函數將更新TeamWon以供後續使用。同時也會更新獲勝隊伍的分數。


在重置邊界的過程中,會手動關閉上一回合的安全區,以確保從第二回合開始時不會產生兩個安全區。

團隊腳本
當回合開始時,會將儲存在全局腳本中的重生點清單進行隨機打亂。隨後,團隊腳本會使用這份已打亂的清單來決定各隊伍的玩家將被傳送到哪個重生點。

要切換此功能,請參閱設定教學。
玩家腳本
當玩家加入遊戲時,會執行以下函數以設定玩家:

在 Configure 中,可以找到與玩家初始武器相關的設定。SetProperty 用於控制玩家屬性(生命值、被淘汰時掉落物品等)。顧名思義,PreloadEquipment 和 PreloadAccessory 會為遊戲模式預先加載必要的裝備(背包、武器等)。
當回合開始時,玩家的裝備會透過 ResetWeapon 被重置。ResetWeapon 函數會重置玩家的投擲物(手榴彈等)及消耗品(醫療包)。在此階段,遊戲狀態 UI 也會根據隊伍數量、玩家、玩家狀態及隊伍分數建立並更新。

當玩家被淘汰時,所有玩家都需要更新遊戲狀態 UI,以顯示各隊伍正確的剩餘玩家數。


UpdatePlayerNum 函數透過以下步驟更新各隊伍的玩家數量:
- 計算每個隊伍中仍存活的玩家數。
- 更新對應的 UI。
這個函數也會在每個階段開始時更新,以確保玩家數量在整場比賽中維持正確。

UI 的刪除是透過多種方式處理的。第一種是在玩家退出或比賽結束時;第二種是玩家中途退出;第三種是透過階段 ID 檢查遊戲是否結束。

HUD 腳本
MatchStatus 腳本
比賽狀態 UI 不依賴於玩家,但會自動更新自己,特別是計時器與地圖位置。這兩項任務會在每個階段開始時自動啟動,並在每階段結束時停止。

當透過 SetLocation 設定位置時,地點名稱會直接從 管理元件 (Manage Component) 菜單的 遊戲實體 (Game Entity) 中取得。

計時器則是透過從階段實體中計算秒與分鐘的值,每秒為每位玩家更新。


