添加示例项目
This commit is contained in:
57
示例项目/觉醒券/觉醒券.nut
Normal file
57
示例项目/觉醒券/觉醒券.nut
Normal file
@@ -0,0 +1,57 @@
|
||||
// =================== 加载觉醒配置 ===================
|
||||
local awakenConfig = GlobalConfig.Get("觉醒券.json");
|
||||
local AWAKEN_ITEMS = {};
|
||||
|
||||
// 转换字符串键到整型键
|
||||
foreach(keyStr, config in awakenConfig.awaken_items) {
|
||||
try {
|
||||
AWAKEN_ITEMS[keyStr.tointeger()] <- config;
|
||||
} catch(e) {
|
||||
::print("[觉醒配置错误] 无效的ID格式: " + keyStr + "\n");
|
||||
}
|
||||
}
|
||||
|
||||
// =================== 觉醒处理函数 ===================
|
||||
function HandleAwakening(SUser, ItemId) {
|
||||
// 安全校验
|
||||
if (!(ItemId in AWAKEN_ITEMS)) {
|
||||
return SendClassChangeError(SUser, "无效的觉醒道具", ItemId);
|
||||
}
|
||||
|
||||
local config = AWAKEN_ITEMS[ItemId];
|
||||
local curJob = SUser.GetCharacJob();
|
||||
local curGrow = SUser.GetCharacGrowType();
|
||||
local curAwaken = SUser.GetCharacSecondGrowType();
|
||||
// 获取转职配置
|
||||
local config = AWAKEN_ITEMS[ItemId];
|
||||
// 条件检查
|
||||
if (SUser.GetCharacLevel() < 50)
|
||||
return SendClassChangeError(SUser, "角色等级不足50级!", ItemId);
|
||||
|
||||
if (curJob != config.job)
|
||||
return SendClassChangeError(SUser, "职业不符无法觉醒!", ItemId);
|
||||
|
||||
if (curGrow == 0)
|
||||
return SendClassChangeError(SUser, "请先完成转职!", ItemId);
|
||||
|
||||
if (curGrow == config.grow + 16)
|
||||
return SendClassChangeError(SUser, "已经处于该觉醒状态!", ItemId);
|
||||
|
||||
// 执行觉醒
|
||||
SUser.ChangeGrowType(config.grow, 1); // 假设第二个参数为觉醒标志
|
||||
SUser.InitSkillW(1, 1);
|
||||
SUser.SendNotiPacket(0, 2, 0);
|
||||
SUser.SendNotiPacketMessage("觉醒成功!", 0);
|
||||
}
|
||||
|
||||
// =================== 初始化注册 ===================
|
||||
function _Dps_AWAKENING_Main_() {
|
||||
if ("awaken_items" in awakenConfig) {
|
||||
foreach(itemId, _ in AWAKEN_ITEMS) {
|
||||
Cb_Use_Item_Sp_Func[itemId] <- HandleAwakening;
|
||||
}
|
||||
::print("[觉醒系统] 载入觉醒券数量: " + AWAKEN_ITEMS.len() + "\n");
|
||||
} else {
|
||||
::print("[觉醒系统错误] 配置缺失 awaken_items 节点\n");
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user