使用事件表創建你的 seasons.json、seasons.ts、app.ts 吧!
光暈任務季度表 Json 創建器 是一個用於光暈戰記 (TwilightWars) 的任務季度表的建構工具。
你可以透過事件表 (.events) 動作可視化地創建任務、章節、季度資訊,並輸出為 JSON 或 TypeScript 檔案。
本創建器的作者為 妮娜(LoliPrincessNina) 。
seasonsJson / seasons.ts / app.ts填入任務代碼、名稱、檔案路徑、參與人數、陣營等基本資訊,可選擇是否使用 HTML 表格格式輸出任務說明。
| 欄位 | 說明 |
|---|---|
| 任務代碼 | 任務的唯一識別碼 |
| 任務名稱 | 任務顯示名稱 |
| 檔案路徑 | 任務地圖檔案路徑 |
| 最少/最多參與人數 | 任務所需玩家數量 |
| 可使用陣營 | 玩家可選擇的陣營 |
| HTML表格 | 以花靈宮規格輸出表格形式任務說明 |
| 強制基本三陣營 | 強制任務對皇家/天影/第三勢力開放 |
| 強制Lv2 | 強制設定近武能力為2 |
填入章節代碼、名稱,可設定開放條件、章節說明、勳章顯示,並從變數載入或手動填寫任務列表。
| 欄位 | 說明 |
|---|---|
| 章節代碼 | 章節的唯一識別碼 |
| 章節名稱 | 章節顯示名稱 |
| 開啟狀態 | 總是開啟/總是關閉/自定義開放條件 |
| 章節說明 | 章節的描述文字 |
| 勳章代碼 | 章節顯示的勳章 |
填入季度名稱,可設定開放條件,並從變數載入或手動填寫章節列表。
| 欄位 | 說明 |
|---|---|
| 季度名稱 | 季度的顯示名稱 |
| 開放狀態 | 總是開啟/自定義開放條件 |
| 章節列表 | 所屬章節列表 |
將建立的季度/章節/任務輸出為 JSON 或 TypeScript 檔案,可選擇下載為檔案或輸出到控制台。
| 欄位 | 說明 |
|---|---|
| 輸出檔案名稱 | 輸出的檔案名稱 |
| 輸出格式 | TypeScript (.ts) / JSON (.json) |
| 輸出變數名稱 | TypeScript 格式時的變數名稱 |
| 輸出類型 | 所有季度/一個季度/一個章節/一個任務 |
| 使用HTML表格格式 | 任務說明是否使用表格格式 |
| 下載為檔案 | 是否下載檔案 |
生成專案的 app.ts 入口檔案,包含季度載入、陣營設定、FPS 顯示等設定。
| 欄位 | 說明 |
|---|---|
| 季度JSON變數名稱 | seasons.ts 中的變數名稱 |
| 輸出檔案名稱 | 輸出的檔案名稱 |
| 停止音樂 | 是否在 App 建構時停止音樂 |
| 設定同伴資源前綴 | 是否設定同伴資源前綴陣列 |
| 使用舊版時間更新 | 是否使用舊版 SectionCamera 更新 |
| 顯示FPS | 是否顯示 FPS |
| 預設陣營 | 進入遊戲時的預設陣營 |
| 預設音樂 | 是否開啟預設音樂 |
在遊戲中彈出技能限制的系統訊息,並可同步修改遊戲的技能等級上限。
| 欄位 | 說明 |
|---|---|
| 語言 | 繁體中文/簡體中文/英文 |
| 顯示持續時間 | 訊息顯示時間(毫秒) |
| 技能類型 | 開放所有/限用一般/不能使用/特定陣營/特定武器/陣營+武器 |
| 陣營 | 選擇要顯示的陣營(支援自定義) |
| 武器 | 選擇要顯示的武器(支援自定義) |
| 顯示為錯誤 | 是否以錯誤樣式顯示 |
| 順帶改變技能等級限制 | 是否同步修改遊戲規則 |
import SeasonsJsonBuilder = CG.TWSeasonsJsonBuilder.SeasonsJsonBuilder;
const builder = new SeasonsJsonBuilder();
// 建構開放條件
const openCondition = builder.buildOpenCondition(
"chapter_1", // 所需章節
"mission_1_1", // 所需任務
undefined, // 所需任務完成(無視重置)
"badge_001", // 所需勳章
[{ key: "flag", value: true }] // 跨任務變數
);
// 建構任務
const mission = builder.buildMissionInfo(
"mission_001", // 任務代碼
"新手任務", // 任務名稱
true, // 開放條件(永久開放)
"maps/mission_001.cgm", // 檔案路徑
["這是一個新手任務"], // 任務說明
"擊敗所有敵人", // 主要目標
"隊伍全滅", // 失敗條件
1, 4, // 最少/最多人數
["royal", "skydow"], // 可使用陣營
2, // 近武能力(2=全部開放)
"close", // 房間類型
true, // 允許踢人
true, // 使用HTML表格
false, // 強制基本三陣營
false // 強制Lv2
);
// 批量建立任務
const missions = builder.massCreateMissions([
{
code: "mission_001",
name: "新手任務",
open: true,
file: "maps/mission_001.cgm",
desc: ["這是一個新手任務"],
goal: "擊敗所有敵人",
fail: "隊伍全滅",
minPlayers: 1,
maxPlayers: 4,
camps: ["royal", "skydow"],
useAbility: 2,
roomType: "close",
canKickPlayer: true,
useHtmlTable: true
}
]);