添加示例项目

This commit is contained in:
2026-04-16 16:27:53 +08:00
parent 69a2141804
commit 721fb5a992
192 changed files with 10148 additions and 0 deletions

View 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");
}
}