插件名稱: NNNN_FormulaTemplate
版本: v1.0
作者: NNNN
類型: 原創插件 (非改寫)
更新狀態: 穩定版本
公式模板系統提供可重用的傷害公式模板,避免重複設定相似公式:
- 佔位符替換系統:支援有序佔位符(%%、%0)和索引佔位符(%1、%2等)
- 雙處理模式:啟動時預處理和即時處理兩種模式
- 公式驗證:內建公式語法驗證功能
- 調試支援:完整的調試模式和命令系統
- 預設模板:提供基本攻擊、隨機傷害、固定傷害等常用模板
公式テンプレートシステムは再利用可能なダメージ公式テンプレートを提供し、類似公式の重複設定を回避:
- プレースホルダー置換システム:順次プレースホルダー(%%、%0)とインデックスプレースホルダー(%1、%2等)をサポート
- 双処理モード:起動時前処理とリアルタイム処理の2つのモード
- 公式検証:内蔵公式構文検証機能
- デバッグサポート:完全なデバッグモードとコマンドシステム
- デフォルトテンプレート:基本攻撃、ランダムダメージ、固定ダメージなど一般的なテンプレートを提供
Formula Template System provides reusable damage formula templates to avoid repetitive similar formula settings:
- Placeholder Replacement System: Support sequential placeholders (%%, %0) and indexed placeholders (%1, %2, etc.)
- Dual Processing Mode: Startup preprocessing and runtime processing modes
- Formula Validation: Built-in formula syntax validation
- Debug Support: Complete debug mode and command system
- Default Templates: Provides common templates like basic attack, random damage, fixed damage
- formulaTemplates: 公式模板列表,包含ID、名稱、公式和描述
- processingMode: 處理模式選擇
preprocess: 啟動時預處理(相容性佳)runtime: 即時處理(效能佳)
- enableDebug: 啟用調試模式,顯示公式替換過程的詳細資訊
- ID: 1 - 基本攻擊公式:
a.atk * %1 - b.def * %2 - ID: 2 - 隨機傷害公式:
Math.randomInt(%1) - ID: 3 - 固定傷害公式:
%1 - ID: 4 - 生命比例公式:
b.mhp * %1
<formulaTemplate:模板ID或名稱> # 指定使用的公式模板
<formulaValue:數值1,數值2...> # 提供替換值
- 啟用
NNNN_FormulaTemplate - 選擇處理模式(建議使用runtime)
- 設定自訂公式模板(可選)
- 啟用調試模式(開發時建議開啟)
- 在插件參數中設定公式模板
- 使用佔位符設計公式:
- 有序佔位符:
%%或%0(按順序替換) - 索引佔位符:
%1,%2,%3...(按索引替換)
- 有序佔位符:
在技能或道具的備註欄設定模板標籤:
<formulaTemplate:1>
<formulaValue:2.5,0.8>
- 建議: 同一模板中只使用一種佔位符類型
- 有序佔位符: 依序替換,適用於線性公式
- 索引佔位符: 可重複使用同一數值,適用於複雜公式
// 模板公式
"a.atk * %1 - b.def * %2 + %1 * 0.1"
// 設定標籤
<formulaTemplate:基本攻擊>
<formulaValue:150,50>
// 最終結果
"a.atk * 150 - b.def * 50 + 150 * 0.1"// 模板公式
"a.atk * %% - b.def * %% + %%"
// 設定標籤
<formulaTemplate:連續攻擊>
<formulaValue:2.5,0.8,10>
// 最終結果
"a.atk * 2.5 - b.def * 0.8 + 10"// 模板公式
"Math.max(a.atk * %1 - b.def * %2, %3)"
// 設定標籤
<formulaTemplate:最小傷害保證>
<formulaValue:3.0,1.5,20>
// 最終結果
"Math.max(a.atk * 3.0 - b.def * 1.5, 20)"// 測試指定技能的公式
FormulaTemplate test [技能ID]
// 列出所有可用模板
FormulaTemplate list
// 測試佔位符替換
FormulaTemplate testPlaceholder "公式" "數值"// 測試技能ID 1的公式
FormulaTemplate test 1
// 測試佔位符替換
FormulaTemplate testPlaceholder "a.atk*%%+%1*%0" "10,20,30"系統會自動驗證公式語法,確保:
- 語法正確性
- 變數有效性
- 計算結果合理性
// 獲取最終公式
FormulaTemplate.getDamageFormula(item)
// 驗證公式
FormulaTemplate.validateFormula(formula)
// 獲取模板
FormulaTemplate.getTemplate(identifier)
// 替換佔位符
FormulaTemplate.replacePlaceholders(formula, values)授權條款: MIT License
商業使用: ✅ 允許
二次開發: ✅ 允許
轉售權限: ❌ 禁止轉售原插件
署名要求: 建議保留原作者資訊
- 建議在同一模板中只使用一種佔位符類型
- 複雜公式建議使用索引佔位符
- 開發階段建議開啟調試模式
- Runtime模式:效能較佳,適合發佈版本
- Preprocess模式:相容性較佳,適合除錯階段
- 技能/道具本身的damage.formula
- 模板公式
- 預設公式
Q: 可以在一個模板中混用不同類型的佔位符嗎? A: 技術上可行,但不建議。兩種佔位符分開計算,容易造成混淆。
Q: 如何處理公式驗證失敗的情況? A: 系統會回退到原始公式,並在控制台輸出錯誤資訊。
Q: 模板可以引用其他模板嗎? A: 目前版本不支援模板巢狀,未來版本可能會加入此功能。
- 初始版本發布
- 支援有序和索引佔位符
- 雙處理模式
- 調試系統
- 預設模板集