diff --git a/OfficialConfig/N_定制_烟花PK道具.json b/OfficialConfig/N_定制_烟花PK道具.json deleted file mode 100644 index f327ae7..0000000 --- a/OfficialConfig/N_定制_烟花PK道具.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "烟花道具ID": 7577, - "提示1": "很遗憾,您没有获得任何物品", - "提示2": "获得周年庆爆竹奖励 [%s]", - "提示1类型": 1, - "提示2类型": 1, - "道具列表": [ - { - "itemId": 3037, - "count": 10, - "probability": 100 - },{ - "itemId": 3038, - "count": 20, - "probability": 100 - }, - { - "itemId": null, - "count": 20, - "probability": 100 - } - ], - "PK经验道具ID": 7576 -} \ No newline at end of file diff --git a/OfficialConfig/全职业通用转职书_Lenheart.json b/OfficialConfig/全职业通用转职书_Lenheart.json deleted file mode 100644 index 6573fc7..0000000 --- a/OfficialConfig/全职业通用转职书_Lenheart.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "转职初始职业":[7577], - "转职第一职业":[7577], - "转职第二职业":[7577], - "转职第三职业":[7577], - "转职第四职业":[7577], - "转职第五职业":[7577] -} \ No newline at end of file diff --git a/OfficialConfig/副本播报配置_Nangua.json b/OfficialConfig/副本播报配置_Nangua.json deleted file mode 100644 index c05dfd5..0000000 --- a/OfficialConfig/副本播报配置_Nangua.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "副本播报开关(true开启,false关闭)":true, - "不需要播报的副本ID(实例中的ID为怪物攻城的副本ID尽量不要删)":[20002, 20001, 20002, 20003, 20004, 20005, 20006, 20007, 20008, 20009, 20010, 20020, 20021, 20022, 20023, 20024], - "指定角色CID不播报":[1, 2], - "提示": "角色ID可以查看数据库中 taiwan_cain → charac_info → charac_no代表角色ID", - "通关播报信息":"玩家[%s]通关[%s - %s]用时:[%s],击杀怪物数量<%d>", - "未通过一个小地图播报信息":"玩家[%s]在[%s%s-%s]中连一个地图都没通过,击杀怪物数量<%d>", - "放弃副本":"很遗憾,玩家[%s]在[%s%s-%s]中被打的落荒而逃,用时: %s,击杀怪物数量<%d>", - "在队伍中提前退出副本":"玩家[%s]在<%s>的队伍中,提前退出了[%s%s-%s],用时: %s,击杀怪物数量<%d>", - "发送信息位置":14, - "副本难度命名" : { - "0": "普通级", - "1": "冒险级", - "2": "勇士级", - "3": "王者级", - "4": "地狱级" - } -} \ No newline at end of file diff --git a/OfficialConfig/宠物装备回收配置_Maomi.json b/OfficialConfig/宠物装备回收配置_Maomi.json deleted file mode 100644 index 587da7e..0000000 --- a/OfficialConfig/宠物装备回收配置_Maomi.json +++ /dev/null @@ -1,132 +0,0 @@ -{ - "信息提示窗口提示(true开启/false关闭)": false, - "信息播报发送位置": 37, - "品级回收配置": { - "开启品级以及装备等级的回收(true开启/false关闭)": false, - "提示": "奖励[道具ID(0代表点券),数量最小值,数量最大值]", - "配置列表": [ - { - "奖励": [ - [ - 3037, - 10, - 20 - ] - ], - "装备品级": 2, - "装备等级": 55 - }, - { - "奖励": [ - [ - 7421, - 10, - 20 - ] - ], - "装备品级": 3, - "装备等级": 10 - }, - { - "奖励": [ - [ - 3037, - 10, - 20 - ] - ], - "装备品级": 4, - "装备等级": 50 - }, - { - "奖励": [ - [ - 3037, - 10, - 20 - ] - ], - "装备品级": 4, - "装备等级": 55 - }, - { - "奖励": [ - [ - 3037, - 10, - 20 - ] - ], - "装备品级": 4, - "装备等级": 60 - }, - { - "奖励": [ - [ - 3037, - 10, - 20 - ] - ], - "装备品级": 4, - "装备等级": 65 - }, - { - "奖励": [ - [ - 3037, - 10, - 20 - ] - ], - "装备品级": 4, - "装备等级": 70 - } - ] - }, - "回收失败信息": " 装备回收失败\n 没有合适的装备或已上锁", - "回收成功是否返还回收券道具(true返还/false不返还)": false, - "回收配置": { - "回收位置": [ - 140, - 156 - ], - "回收箱道具ID": 75771, - "指定宠物装备回收": [ - [ - 64007, - 3340, - 1, - 10 - ], - [ - 27102, - 0, - 1, - 10 - ], - [ - 2711001, - 3038, - 1, - 10 - ] - ], - "指定装备ID不参与回收": [ - 27099, - 27100, - 27101 - ], - "提示1": "[回收装备的ID,奖励道具的ID(0代表点券),数量最小值,数量最大值]", - "提示2": "回收位置快捷栏(快捷栏3-8),装备栏(快捷栏9-56,如第一排为9-16,第二排为17-24,第三排为25-32,第四排为33-40,第五排为41-48,第六排为49-56)", - "提示3": "如果指定装备回收和品级回收都命中的情况下,优先以指定装备回收为准", - "提示4": "排除装备ID中的装备不会参与回收,即使它们符合其他回收条件" - }, - "成功回收": { - "单位": "个", - "奖励提示": "奖励", - "标题": " 成功回收" - }, - "提示": "开启弹窗提示需在群文件下载 <客户端消息框233.dll> 插件,否则会导致游戏崩溃", - "表情ID": 59 -} diff --git a/OfficialConfig/抗魔值进入副本配置_Nangua.json b/OfficialConfig/抗魔值进入副本配置_Nangua.json deleted file mode 100644 index ffbdc8b..0000000 --- a/OfficialConfig/抗魔值进入副本配置_Nangua.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "抗魔值进入副本":{ - "提示":"抗魔值进入副本配置(副本ID[普通级,所需抗魔值,冒险级,所需抗魔值,勇士级,所需抗魔值,王者级,所需抗魔值,地狱级,所需抗魔值])", - "抗魔值进入副本开关(true为开启,false为关闭)":true, - "副本配置":{ - "1":[0, 0, 1, 200, 2, 300, 3, 400, 4, 500, 5, 600], - "2":[0, 100, 1, 200, 2, 300, 3, 400, 4, 500, 5, 600], - "3":[0, 100, 1, 200, 2, 300, 3, 400, 4, 500, 5, 600], - "4":[0, 100, 1, 200, 2, 300, 3, 400, 4, 500, 5, 600], - "5":[0, 100, 1, 200, 2, 300, 3, 400, 4, 500, 5, 600], - "6":[0, 100, 1, 200, 2, 300, 3, 400, 4, 500, 5, 600], - "7":[0, 100, 1, 200, 2, 300, 3, 400, 4, 500, 5, 600] - } - }, - "副本难度命名" : { - "0": "普通级", - "1": "冒险级", - "2": "勇士级", - "3": "王者级", - "4": "地狱级" - }, - "PVF储存路径_没有更改的话不要改动此配置":"/home/neople/game/Script.pvf" -} \ No newline at end of file diff --git a/OfficialConfig/收集图鉴移植_Lenheart.json b/OfficialConfig/收集图鉴移植_Lenheart.json deleted file mode 100644 index c762405..0000000 --- a/OfficialConfig/收集图鉴移植_Lenheart.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "1" : "哥布林", - "2" : "投掷哥布林" -} \ No newline at end of file diff --git a/OfficialConfig/时装与宠物清除卷_Lenheart.json b/OfficialConfig/时装与宠物清除卷_Lenheart.json deleted file mode 100644 index a43342e..0000000 --- a/OfficialConfig/时装与宠物清除卷_Lenheart.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "时装清除卷ID": 2021458808, - "宠物清除卷ID": 2021458807, - "时装清除完成提示": "清除前两行时装成功", - "宠物清除完成提示": "清除前两行宠物成功", - "时装清除券是否返还": true, - "宠物清除券是否返还": true, - "数据库IP 不是外置数据库不要更改": "127.0.0.1", - "数据库端口 不懂不要更改": 3306, - "数据库用户名 本地用户名不懂不要更改": "game", - "数据库密码 本地密码不懂不要更改": "uu5!^%jg" -} \ No newline at end of file diff --git a/OfficialConfig/毁梦定制_指定副本减少收益_Lenheart.json b/OfficialConfig/毁梦定制_指定副本减少收益_Lenheart.json deleted file mode 100644 index ff195b8..0000000 --- a/OfficialConfig/毁梦定制_指定副本减少收益_Lenheart.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "副本集合": { - "1": 0.2, - "2": 0.01, - "3": 0.01 - } -} \ No newline at end of file diff --git a/OfficialConfig/点券充值卡配置_Nangua.json b/OfficialConfig/点券充值卡配置_Nangua.json deleted file mode 100644 index 46dc515..0000000 --- a/OfficialConfig/点券充值卡配置_Nangua.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "充值卡配置": { - "2024120601": 1000, - "2024120602": 5000, - "2024120603": 10000, - "2024120604": 30000, - "2024120605": 50000 - }, - "提示": "如果使用233发包需要客户端插件,在群文件搜索<客户端插件消息框233>下载使用,否则会导致游戏崩溃", - "启用233发包(true/false)": false, - "充值成功提示": "成功充值 %d 点券" -} \ No newline at end of file diff --git a/OfficialConfig/装备回收配置_Nangua.json b/OfficialConfig/装备回收配置_Nangua.json deleted file mode 100644 index 70d47dc..0000000 --- a/OfficialConfig/装备回收配置_Nangua.json +++ /dev/null @@ -1,132 +0,0 @@ -{ - "信息提示窗口提示(true开启/false关闭)": false, - "信息播报发送位置": 37, - "品级回收配置": { - "开启品级以及装备等级的回收(true开启/false关闭)": false, - "提示": "奖励[道具ID(0代表点券),数量最小值,数量最大值]", - "配置列表": [ - { - "奖励": [ - [ - 3037, - 10, - 20 - ] - ], - "装备品级": 2, - "装备等级": 55 - }, - { - "奖励": [ - [ - 7421, - 10, - 20 - ] - ], - "装备品级": 3, - "装备等级": 10 - }, - { - "奖励": [ - [ - 3037, - 10, - 20 - ] - ], - "装备品级": 4, - "装备等级": 50 - }, - { - "奖励": [ - [ - 3037, - 10, - 20 - ] - ], - "装备品级": 4, - "装备等级": 55 - }, - { - "奖励": [ - [ - 3037, - 10, - 20 - ] - ], - "装备品级": 4, - "装备等级": 60 - }, - { - "奖励": [ - [ - 3037, - 10, - 20 - ] - ], - "装备品级": 4, - "装备等级": 65 - }, - { - "奖励": [ - [ - 3037, - 10, - 20 - ] - ], - "装备品级": 4, - "装备等级": 70 - } - ] - }, - "回收失败信息": " 装备回收失败\n 没有合适的装备或已上锁", - "回收成功是否返还回收券道具(true返还/false不返还)": false, - "回收配置": { - "回收位置": [ - 9, - 16 - ], - "回收箱道具ID": 17577, - "指定装备ID不参与回收": [ - 27099, - 27100, - 27101 - ], - "指定装备回收": [ - [ - 27098, - 3340, - 1, - 10 - ], - [ - 27102, - 0, - 1, - 10 - ], - [ - 2711001, - 3038, - 1, - 10 - ] - ], - "提示1": "[回收装备的ID,奖励道具的ID(0代表点券),数量最小值,数量最大值]", - "提示2": "回收位置快捷栏(快捷栏3-8),装备栏(快捷栏9-56,如第一排为9-16,第二排为17-24,第三排为25-32,第四排为33-40,第五排为41-48,第六排为49-56)", - "提示3": "如果指定装备回收和品级回收都命中的情况下,优先以指定装备回收为准", - "提示4": "排除装备ID中的装备不会参与回收,即使它们符合其他回收条件" - }, - "成功回收": { - "单位": "个", - "奖励提示": "奖励", - "标题": " 成功回收" - }, - "提示": "开启弹窗提示需在群文件下载 <客户端消息框233.dll> 插件,否则会导致游戏崩溃", - "表情ID": 59 -} \ No newline at end of file diff --git a/OfficialConfig/装备镶嵌与时装镶嵌_Lenheart.json b/OfficialConfig/装备镶嵌与时装镶嵌_Lenheart.json deleted file mode 100644 index 9cf2342..0000000 --- a/OfficialConfig/装备镶嵌与时装镶嵌_Lenheart.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "数据库IP 不是外置数据库不要更改": "127.0.0.1", - "数据库端口 不懂不要更改": 3306, - "数据库用户名 本地用户名不懂不要更改": "game", - "数据库密码 本地密码不懂不要更改": "uu5!^%jg" -} \ No newline at end of file diff --git a/OfficialConfig/门票进入副本配置_Maomi.json b/OfficialConfig/门票进入副本配置_Maomi.json deleted file mode 100644 index d1a4d94..0000000 --- a/OfficialConfig/门票进入副本配置_Maomi.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "门票进入副本":{ - "提示":"门票进入副本配置(副本ID[普通级,门票,冒险级,门票,勇士级,门票,王者级,门票,地狱级,门票])", - "门票进入副本开关(true为开启,false为关闭)":true, - "副本配置":{ - "1":[0, 3037, 1, 3037, 2, 3037, 3, 3037, 4, 3037, 5, 3037] - } - }, - "副本难度命名" : { - "0": "普通级", - "1": "冒险级", - "2": "勇士级", - "3": "王者级", - "4": "地狱级" - } -} \ No newline at end of file diff --git a/OfficialConfig/防脱机制裁_Nangua.json b/OfficialConfig/防脱机制裁_Nangua.json deleted file mode 100644 index a1337b3..0000000 --- a/OfficialConfig/防脱机制裁_Nangua.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "制裁开关(true开启false关闭)": true, - "制裁配置 达到次数 制裁时长(秒)": [2, 300], - "角色CID白名单": [1, 2], - "副本ID白名单(非正常副本接口进入的副本)": [11111,222222], - "温馨提示1":"副本ID白名单并不是加了就关闭检测,只是关闭其中一项检测", - "温馨提示2": "角色ID可以查看数据库中 taiwan_cain → charac_info → charac_no代表角色ID", - - "msgtype1": "你已经被限制获取道具和金币,剩余:[%d]秒...", - "msgtype2": "你已经被限制获取经验,剩余:[%d]秒...", - "msgtype3": "玩家[%s]因使用第三方软件已被限制进入副本,剩余:[%d]秒..." -} \ No newline at end of file diff --git a/OfficialProject/全职业通用转职书/Proj.ifo b/OfficialProject/全职业通用转职书/Proj.ifo deleted file mode 100644 index 97a912f..0000000 --- a/OfficialProject/全职业通用转职书/Proj.ifo +++ /dev/null @@ -1,12 +0,0 @@ -{ - "ProjectName": "全职业通用转职书", - "ProjectDescribe": "全职业都可用的转职书。每个转职职业是个数组,可以写多个转职卷编号,仿照7577的道具类型即可,使用\",\"隔开。", - "ProjectAuthor": "倾泪寒", - "ProjectVersion": 1.0, - "ProjectConfig": "", - "ProjectConfig": "全职业通用转职书_Lenheart.json", - "ProjectFiles": [ - "全职业通用转职书.nut" - ], - "ProjectRunFunc": "_Dps_GeneralJobTransferCertificateForAllProfessions_Main_" -} \ No newline at end of file diff --git a/OfficialProject/全职业通用转职书/全职业通用转职书.nut b/OfficialProject/全职业通用转职书/全职业通用转职书.nut deleted file mode 100644 index 2e06747..0000000 --- a/OfficialProject/全职业通用转职书/全职业通用转职书.nut +++ /dev/null @@ -1,50 +0,0 @@ -/* -文件名:全职业通用转职书.nut -路径:OfficialProject/全职业通用转职书/全职业通用转职书.nut -创建日期:2025-10-24 22:26 -文件用途: -*/ - -//重载入口 -function _Dps_GeneralJobTransferCertificateForAllProfessions_Main_Reload_(OldConfig) { - //先销毁原来注册的 - local JobArr = []; - JobArr.push(GlobalConfig["转职初始职业"]); - JobArr.push(GlobalConfig["转职第一职业"]); - JobArr.push(GlobalConfig["转职第二职业"]); - JobArr.push(GlobalConfig["转职第三职业"]); - JobArr.push(GlobalConfig["转职第四职业"]); - JobArr.push(GlobalConfig["转职第五职业"]); - - foreach(Index, arr in JobArr) { - foreach(ItemId in arr) { - if (Cb_Use_Item_Sp_Func.rawin(ItemId)) Cb_Use_Item_Sp_Func.rawdelete(ItemId); - } - } - - //重新注册 - _Dps_GeneralJobTransferCertificateForAllProfessions_Main_(); -} - -function _Dps_GeneralJobTransferCertificateForAllProfessions_Main_() { - local Config = GlobalConfig.Get("全职业通用转职书_Lenheart.json"); - local JobArr = []; - JobArr.push(Config["转职初始职业"]); - JobArr.push(Config["转职第一职业"]); - JobArr.push(Config["转职第二职业"]); - JobArr.push(Config["转职第三职业"]); - JobArr.push(Config["转职第四职业"]); - JobArr.push(Config["转职第五职业"]); - - - - foreach(Index, arr in JobArr) { - foreach(ItemId in arr) { - Cb_Use_Item_Sp_Func[ItemId] <- function(SUser, ItemId) { - SUser.ChangeGrowType(Index, 0); - SUser.SendNotiPacket(0, 2, 0); - SUser.InitSkillW(0, 0); - } - } - } -} \ No newline at end of file diff --git a/OfficialProject/宠物装备回收/Proj.ifo b/OfficialProject/宠物装备回收/Proj.ifo deleted file mode 100644 index ac7cba6..0000000 --- a/OfficialProject/宠物装备回收/Proj.ifo +++ /dev/null @@ -1,11 +0,0 @@ -{ - "ProjectName": "宠物装备回收", - "ProjectDescribe": "宠物装备回收,根据指定回收的ID奖励随机数量的奖励,以及根据品级以及装备等级进行回收给与奖励", - "ProjectAuthor": "猫咪", - "ProjectVersion": 1.4, - "ProjectConfig": "宠物装备回收配置_Maomi.json", - "ProjectFiles": [ - "宠物装备回收.nut" - ], - "ProjectRunFunc": "_Dps_PetEquipmentRecycling_Main_" -} \ No newline at end of file diff --git a/OfficialProject/宠物装备回收/folder-alias.json b/OfficialProject/宠物装备回收/folder-alias.json deleted file mode 100644 index 9e26dfe..0000000 --- a/OfficialProject/宠物装备回收/folder-alias.json +++ /dev/null @@ -1 +0,0 @@ -{} \ No newline at end of file diff --git a/OfficialProject/宠物装备回收/宠物装备回收.nut b/OfficialProject/宠物装备回收/宠物装备回收.nut deleted file mode 100644 index 8aa286c..0000000 --- a/OfficialProject/宠物装备回收/宠物装备回收.nut +++ /dev/null @@ -1,341 +0,0 @@ -// 回收装备的主函数 -function PetEquipmentRecyclingFuncBymaomi(SUser, ItemId) { - local Config = GlobalConfig.Get("宠物装备回收配置_Maomi.json"); - - // 获取用户的背包对象,如果不存在则直接返回 - local InvenObj = SUser.GetInven(); - if (!InvenObj) { - return; - } - - local foundValidSlot = false; - local index = 0; - local allRewards = []; - - // 遍历装备栏指定范围的格子 - for (local i = Config["回收配置"]["回收位置"][0]; i <= Config["回收配置"]["回收位置"][1]; i++) { - local ItemObj = InvenObj.GetSlot(3, i); - - // 如果该槽为空,跳过 - if (ItemObj.IsEmpty) { - continue; - } - - // 检查装备是否上锁,若上锁则跳过该装备 - local CheckItemLock = Sq_CallFunc(S_Ptr("0x8646942"), "int", ["pointer", "int", "int"], SUser.C_Object, 1, i); - if (CheckItemLock) { - continue; - } - - local Item_Id = ItemObj.GetIndex(); - - // 检查装备是否在排除列表中,如果在则跳过 - if ("指定装备ID不参与回收" in Config["回收配置"] && Config["回收配置"]["指定装备ID不参与回收"].len() > 0) { - local isExcluded = false; - foreach (excludeId in Config["回收配置"]["指定装备ID不参与回收"]) { - if (excludeId == Item_Id) { - isExcluded = true; - break; - } - } - if (isExcluded) { - continue; - } - } - - local PvfItemObj = PvfItem.GetPvfItemById(Item_Id); - local rarity = PvfItemObj.GetRarity(); - local level = PvfItemObj.GetUsableLevel(); - local Recycleitem_name = PvfItem.GetNameById(Item_Id); - - // 检查指定宠物装备回收配置 - local found = false; - foreach(item in Config["回收配置"]["指定宠物装备回收"]) { - if(item[0] == Item_Id) { - local Rewarditem = item[1]; - local minCount = item[2]; - local maxCount = item[3]; - local Rewarditem_name = PvfItem.GetNameById(Rewarditem); - local RewardItemObj = PvfItem.GetPvfItemById(Rewarditem); - local item_upgrade = ItemObj.GetUpgrade(); - local totalRewards = []; - if (item_upgrade > 0) { - Recycleitem_name = "+" + item_upgrade + Recycleitem_name; - } - - local count = MathClass.Rand(minCount, maxCount + 1); - if (Rewarditem == 0) { - SUser.RechargeCera(count); - _RecycleItem_nangua.sendRewardMessageForCera(SUser, Recycleitem_name, ItemObj, count, Item_Id); - } else { - local equ_type = NativePointer(RewardItemObj.C_Object).add(141 * 4).readU32(); - if (equ_type > 0) { - count = 1; - } - totalRewards.append([Rewarditem, count]); - allRewards.append([Rewarditem, count]); // 添加到总奖励列表 - _RecycleItem_nangua.api_CUser_Add_Item_list(SUser, totalRewards); - _RecycleItem_nangua.sendRewardMessageForItem(SUser, Recycleitem_name, ItemObj, Rewarditem_name, count, equ_type, Item_Id, Rewarditem); - } - foundValidSlot = true; - ItemObj.Delete(); - SUser.SendUpdateItemList(1, 3, i); - index++; - found = true; - break; - } - } - - if(found) continue; - - // 检查品级回收配置 - if (Config["品级回收配置"]["开启品级以及装备等级的回收(true开启/false关闭)"]) { - foreach(cfg in Config["品级回收配置"]["配置列表"]) { - if (cfg["装备品级"] == rarity && cfg["装备等级"] == level) { - foundValidSlot = true; - local reward = cfg["奖励"][0]; - local count = MathClass.Rand(reward[1], reward[2] + 1); - local totalReward = []; - if (reward[0] == 0) { - SUser.RechargeCera(count); - _RecycleItem_nangua.sendRewardMessageForCera(SUser, Recycleitem_name, ItemObj, count, Item_Id); - } else { - local Rewarditem_name = PvfItem.GetNameById(reward[0]); - // 获取装备类型大于0为装备 - local RewardItemObj = PvfItem.GetPvfItemById(reward[0]); - local equ_type = NativePointer(RewardItemObj.C_Object).add(141 * 4).readU32(); - if (equ_type > 0) { - count = 1; - } - totalReward.append([reward[0], count]); - allRewards.append([reward[0], count]); - _RecycleItem_nangua.api_CUser_Add_Item_list(SUser, totalReward); - _RecycleItem_nangua.sendRewardMessageForItem(SUser, Recycleitem_name, ItemObj, Rewarditem_name, count, equ_type, Item_Id, reward[0]); - } - ItemObj.Delete(); - SUser.SendUpdateItemList(1, 0, i); - index++; - } - } - } - } - - // 发送结果消息 - if (foundValidSlot) { - if (index > 0) { - SUser.SendNotiPacketMessage("恭喜: " + index + " 件宠物装备回收成功。", Config["信息播报发送位置"]); - if (allRewards.len() > 0) { - _RecycleItem_nangua.SendItemWindowNotification(SUser, allRewards); - } - } - if(Config["回收成功是否返还回收券道具(true返还/false不返还)"]){ - SUser.GiveItem(ItemId, 1); - } - } else { - _RecycleItem_nangua.RecycleError(SUser, Config["回收失败信息"], ItemId); - } -} -class _RecycleItem_nangua { - // 发送通知和返还道具 - function RecycleError(SUser, msg, ItemId) { - local Config = GlobalConfig.Get("宠物装备回收配置_Maomi.json"); - if(Config["信息提示窗口提示(true开启/false关闭)"]) { - SUser.SendNotiBox(msg, 1); - } else { - SUser.SendNotiPacketMessage(msg, Config["信息播报发送位置"]); - } - SUser.GiveItem(ItemId, 1); - } - - // 发送点券奖励消息 - function sendRewardMessageForCera(SUser, Recycleitem_name, ItemObj, count, Item_Id) { - local Config = GlobalConfig.Get("宠物装备回收配置_Maomi.json"); - local AdMsgObj = AdMsg(); - AdMsgObj.PutType(Config["信息播报发送位置"]); - AdMsgObj.PutString(" "); - AdMsgObj.PutImoticon(Config["表情ID"]); - AdMsgObj.PutString(Config["成功回收"]["标题"]); - AdMsgObj.PutEquipment("[" + Recycleitem_name + "]", ItemObj, _RecycleItem_nangua.RarityColor(Item_Id)); - AdMsgObj.PutString(Config["成功回收"]["奖励提示"]); - AdMsgObj.PutColorString("[" + count + "]", [255, 20, 0]); - AdMsgObj.PutString("点券"); - AdMsgObj.Finalize(); - SUser.Send(AdMsgObj.MakePack()); - AdMsgObj.Delete(); - } - - // 发送道具奖励消息 - function sendRewardMessageForItem(SUser, Recycleitem_name, ItemObj, Rewarditem_name, count, equ_type, Item_Id, Rewarditem) { - local Config = GlobalConfig.Get("宠物装备回收配置_Maomi.json"); - local AdMsgObj = AdMsg(); - AdMsgObj.PutType(Config["信息播报发送位置"]); - AdMsgObj.PutString(" "); - AdMsgObj.PutImoticon(Config["表情ID"]); - AdMsgObj.PutString(Config["成功回收"]["标题"]); - AdMsgObj.PutEquipment("[" + Recycleitem_name + "]", ItemObj, _RecycleItem_nangua.RarityColor(Item_Id)); - AdMsgObj.PutString(Config["成功回收"]["奖励提示"]); - if (equ_type > 0) { - AdMsgObj.PutColorString("[" + Rewarditem_name + "]", _RecycleItem_nangua.RarityColor(Rewarditem)); - } else { - AdMsgObj.PutColorString("[" + count + "]", [255, 20, 0]); - AdMsgObj.PutString(Config["成功回收"]["单位"]); - AdMsgObj.PutColorString("[" + Rewarditem_name + "]", _RecycleItem_nangua.RarityColor(Rewarditem)); - } - AdMsgObj.Finalize(); - SUser.Send(AdMsgObj.MakePack()); - AdMsgObj.Delete(); - } - function RarityColor(item_id) { - local PvfItemObj = PvfItem.GetPvfItemById(item_id); - if (PvfItemObj == null) { - return; - } - local CItem_get_rarity = PvfItemObj.GetRarity(); // 装备品级 - return _RecycleItem_nangua.rarityColorMap[(CItem_get_rarity).tostring()]; - } - //品级对应的RGB - rarityColorMap = { - "0": [255, 255, 255], // 普通 - "1": [104, 213, 237], // 高级 - "2": [179, 107, 255], // 稀有 - "3": [255, 0, 255], // 神器 - "4": [255, 180, 0], // 史诗 - "5": [255, 102, 102], // 勇者 - "6": [255, 20, 147], // 深粉红色 - "7": [255, 215, 0] // 金色 - }; - function api_CUser_Add_Item_list(SUser, item_list) { - for (local i = 0; i < item_list.len(); i++) { - local item_id = item_list[i][0]; // 道具代码 - local quantity = item_list[i][1]; // 道具数量 - local InvenObj = SUser.GetInven(); - - // 获取道具对象 - local PvfItemObj = PvfItem.GetPvfItemById(item_id); - // 获取道具类型 - local equ_type = NativePointer(PvfItemObj.C_Object).add(141 * 4).readU32(); - // 获取最大堆叠数量 - local maxStack = Sq_CallFunc(S_Ptr("0x0822C9FC"), "int", ["pointer"], PvfItemObj.C_Object); - - // 如果是装备,直接检查空格并处理 - if (equ_type > 0) { - local cnt = _RecycleItem_nangua.checkInventorySlot(SUser, item_id); - if (cnt == 1) { - SUser.GiveItem(item_id, quantity); - } else { - local RewardItems = []; - RewardItems.append([item_id, quantity]); - local title = "GM"; - local Text = "由于背包空间不足,已通过邮件发送,请查收!"; - SUser.ReqDBSendMultiMail(title, Text, 0, RewardItems); - } - continue; - } - - // 获取道具在背包中的槽位 - local slot = InvenObj.GetSlotById(item_id); - if (slot != -1) { - // 获取槽位中的道具对象 - local ItemObj = InvenObj.GetSlot(1, slot); - // 获取当前堆叠数量 - local currentCount = Sq_CallFunc(S_Ptr("0x80F783A"), "int", ["pointer"], ItemObj.C_Object); - - // 如果当前堆叠未满,计算可以添加的数量 - if (currentCount < maxStack) { - local canAdd = maxStack - currentCount; - if (quantity <= canAdd) { - // 如果奖励数量小于等于可添加数量,直接添加 - Sq_CallFunc(S_Ptr("0x80CB884"), "int", ["pointer", "int"], ItemObj.C_Object, currentCount + quantity); - // 刷新背包显示 - SUser.SendUpdateItemList(1, 0, slot); - } else { - // 如果奖励数量大于可添加数量 - // 先将当前堆叠设置为最大 - Sq_CallFunc(S_Ptr("0x80CB884"), "int", ["pointer", "int"], ItemObj.C_Object, maxStack); - SUser.SendUpdateItemList(1, 0, slot); - // 将剩余数量通过邮件发送 - local remaining = quantity - canAdd; - local RewardItems = []; - RewardItems.append([item_id, remaining]); - local title = "GM"; - local Text = "由于背包堆叠已满,部分道具已通过邮件发送,请查收!"; - SUser.ReqDBSendMultiMail(title, Text, 0, RewardItems); - } - continue; - } else { - local RewardItems = []; - RewardItems.append([item_id, quantity]); - local title = "GM"; - local Text = "由于背包堆叠已满,已通过邮件发送,请查收!"; - SUser.ReqDBSendMultiMail(title, Text, 0, RewardItems); - continue; - } - } - - // 如果道具不在背包中,检查空格 - local cnt = _RecycleItem_nangua.checkInventorySlot(SUser, item_id); - if (cnt == 1) { - // 如果道具有空格,直接添加到背包 - SUser.GiveItem(item_id, quantity); - } else { - // 如果背包空间不足,通过邮件发送 - local RewardItems = []; - RewardItems.append([item_id, quantity]); - local title = "GM"; - local Text = "由于背包空间不足,已通过邮件发送,请查收!"; - SUser.ReqDBSendMultiMail(title, Text, 0, RewardItems); - } - } - } - function SendItemWindowNotification(SUser, item_list) { - local Pack = Packet(); - Pack.Put_Header(1, 163); //协议 - Pack.Put_Byte(1); //默认1 - Pack.Put_Short(0); //槽位id 填入0即可 - Pack.Put_Int(0); //未知 0以上即可 - Pack.Put_Short(item_list.len()); //道具组数 - //写入道具代码和道具数量 - for (local i = 0; i < item_list.len(); i++) { - Pack.Put_Int(item_list[i][0]); //道具代码 - Pack.Put_Int(item_list[i][1]); //道具数量 装备/时装时 任意均可 - } - Pack.Finalize(true); //确定发包内容 - SUser.Send(Pack); //发包 - Pack.Delete(); //清空buff区 - } - /** - * 根据道具类型背包空格数量 - * @param {pointer} SUser - 用户 - * @param {int} item_id - 需要查找的道具ID - * @returns {int} - 空格数量 - */ - function checkInventorySlot(SUser, itemid) { - local InvenObj = SUser.GetInven(); - local type = Sq_CallFunc(S_Ptr("0x085018D2"), "int", ["pointer", "int"], InvenObj.C_Object, itemid); - local cnt = Sq_CallFunc(S_Ptr("0x08504F64"), "int", ["pointer", "int", "int"], InvenObj.C_Object, type, 1); - - return cnt; - } -} - -//加载入口 -function _Dps_PetEquipmentRecycling_Main_() { - _Dps_PetEquipmentRecycling_Logic_(); -} - -//重载入口 -function _Dps_PetEquipmentRecycling_Main_Reload_(OldConfig) { - local Cofig = GlobalConfig.Get("宠物装备回收配置_Maomi.json"); - Cb_Use_Item_Sp_Func.rawdelete(OldConfig["回收配置"]["回收箱道具ID"].tointeger()); - - //重新注册 - _Dps_PetEquipmentRecycling_Logic_(); -} - -function _Dps_PetEquipmentRecycling_Logic_() { - local Cofig = GlobalConfig.Get("宠物装备回收配置_Maomi.json"); - // 宠物装备回收 - Cb_Use_Item_Sp_Func[Cofig["回收配置"]["回收箱道具ID"]] <- PetEquipmentRecyclingFuncBymaomi; -} - - diff --git a/OfficialProject/宠物装备回收/宠物装备回收配置_Maomi.json b/OfficialProject/宠物装备回收/宠物装备回收配置_Maomi.json deleted file mode 100644 index ae67081..0000000 --- a/OfficialProject/宠物装备回收/宠物装备回收配置_Maomi.json +++ /dev/null @@ -1,81 +0,0 @@ -{ - "回收配置": { - "回收箱道具ID": 2021458811, - "回收位置": [9, 16], - "指定宠物装备回收": [ - [27098, 3340, 1, 10], - [27102, 0, 1, 10], - [2711001, 3038, 1, 10] - ], - "指定装备ID不参与回收": [27099, 27100, 27101], - "提示1":"[回收装备的ID,奖励道具的ID(0代表点券),数量最小值,数量最大值]", - "提示2":"回收位置快捷栏(快捷栏3-8),装备栏(快捷栏9-56,如第一排为9-16,第二排为17-24,第三排为25-32,第四排为33-40,第五排为41-48,第六排为49-56)", - "提示3":"如果指定装备回收和品级回收都命中的情况下,优先以指定装备回收为准", - "提示4":"排除装备ID中的装备不会参与回收,即使它们符合其他回收条件" - }, - "品级回收配置": { - "开启品级以及装备等级的回收(true开启/false关闭)": false, - "提示": "奖励[道具ID(0代表点券),数量最小值,数量最大值]", - "配置列表": [{ - "装备品级": 2, - "装备等级": 55, - "奖励": [ - [3037, 10, 20] - ] - }, - { - "装备品级": 3, - "装备等级": 10, - "奖励": [ - [7421, 10, 20] - ] - }, - { - "装备品级": 4, - "装备等级": 50, - "奖励": [ - [3037, 10, 20] - ] - }, - { - "装备品级": 4, - "装备等级": 55, - "奖励": [ - [3037, 10, 20] - ] - }, - { - "装备品级": 4, - "装备等级": 60, - "奖励": [ - [3037, 10, 20] - ] - }, - { - "装备品级": 4, - "装备等级": 65, - "奖励": [ - [3037, 10, 20] - ] - }, - { - "装备品级": 4, - "装备等级": 70, - "奖励": [ - [3037, 10, 20] - ] - } - ] - }, - "回收失败信息": " 装备回收失败\n 没有合适的装备或已上锁", - "信息播报发送位置": 37, - "信息提示窗口提示(true开启/false关闭)": false, - "提示":"开启弹窗提示需在群文件下载 <客户端消息框233.dll> 插件,否则会导致游戏崩溃", - "回收成功是否返还回收券道具(true返还/false不返还)":false, - "表情ID": 59, - "成功回收": { - "标题": " 成功回收", - "奖励提示":"奖励", - "单位": "个" - } -} \ No newline at end of file diff --git a/OfficialProject/宠物附魔/Proj.ifo b/OfficialProject/宠物附魔/Proj.ifo deleted file mode 100644 index 25f51c9..0000000 --- a/OfficialProject/宠物附魔/Proj.ifo +++ /dev/null @@ -1,11 +0,0 @@ -{ - "ProjectName": "宠物附魔", - "ProjectDescribe": "可以实现宠物附魔,需要登录器或dll支持!", - "ProjectAuthor": "七游云赞助", - "ProjectVersion": 1.0, - "ProjectConfig": "", - "ProjectFiles": [ - "宠物附魔.nut" - ], - "ProjectRunFunc": "_Dps_PetEnchantment_Main_" -} \ No newline at end of file diff --git a/OfficialProject/宠物附魔/宠物附魔.nut b/OfficialProject/宠物附魔/宠物附魔.nut deleted file mode 100644 index 9f80e76..0000000 --- a/OfficialProject/宠物附魔/宠物附魔.nut +++ /dev/null @@ -1,84 +0,0 @@ -function _Dps_UpdateCreatureEnchantMysql_(card_id, charac_no, uuid) { - local sql = "select card from `taiwan_cain_2nd`.`creature_items_enchant` where ui_id = " + uuid + ";"; - local column_type_list = ["int"]; - local SqlObj = MysqlPool.GetInstance().GetConnect(); - local result = SqlObj.Select(sql, column_type_list); - local UpdateSql = "update `taiwan_cain_2nd`.`creature_items_enchant` set `card` = " + card_id + " where `ui_id` = " + uuid + ";"; - if (result.len() <= 0 || result[0].len() <= 0) { - UpdateSql = "INSERT INTO `taiwan_cain_2nd`.`creature_items_enchant`(`ui_id`, `charac_no`, `card`) VALUES (" + uuid + "," + charac_no + "," + card_id + ");"; - } - SqlObj.Exec_Sql(UpdateSql); - MysqlPool.GetInstance().PutConnect(SqlObj); -} - -function _Dps_GetCreatureEnchantMysql_(charac_no) { - local sql = "select ui_id,card from `taiwan_cain_2nd`.`creature_items_enchant` where charac_no = " + charac_no + ";"; - local column_type_list = ["int", "int"]; - local SqlObj = MysqlPool.GetInstance().GetConnect(); - local result = SqlObj.Select(sql, column_type_list); - MysqlPool.GetInstance().PutConnect(SqlObj); - return result; -} - -function _Dps_PetEnchantment_Main_() { - //初始建表指令 - local CreateSql = "CREATE TABLE `taiwan_cain_2nd`.`creature_items_enchant` (`ui_id` int(11) NOT NULL DEFAULT '0',`charac_no` int(11) DEFAULT NULL,`card` int(11) NOT NULL DEFAULT '0',PRIMARY KEY (`ui_id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;"; - local SqlObj = MysqlPool.GetInstance().GetConnect(); - SqlObj.Exec_Sql(CreateSql); - MysqlPool.GetInstance().PutConnect(SqlObj); - //忽略宠物附魔错误 - Sq_WriteByteArr(S_Ptr("0x850dede"), array(2, 0x90)); - - Cb_ExpertOnEnchantByBead_Leave_Func["宠物附魔"] <- function(args) { - if (args[5] > 56) { - local SUser = User(args[1]); - local InvenObj = SUser.GetInven(); - local Bead_id = InvenObj.GetSlot(1, args[3]).GetIndex() - local PvfItemObj = PvfItem.GetPvfItemById(InvenObj.GetSlot(1, args[3]).GetIndex()) - local Card_Id = Sq_CallFunc(S_Ptr("0x0849F530"), "int", ["pointer"], PvfItemObj.C_Object); - local a7 = args[5] - 57; - local ItemObj = InvenObj.GetSlot(3, a7) - local Item_Id = ItemObj.GetIndex(); - NativePointer(ItemObj.C_Object).add(13).writeU32(Card_Id); - if (a7< 140) { - local uuid = NativePointer(ItemObj.C_Object).add(7).readInt(); - _Dps_UpdateCreatureEnchantMysql_(Card_Id, SUser.GetCID(), uuid); - } - local Pack = Packet(); - Pack.Put_Header(1, 275); - Pack.Put_Byte(1); - Pack.Finalize(true); - SUser.Send(Pack); - Pack.Delete(); - SUser.SendUpdateItemList(1, 7, a7); - InvenObj.DeleteItemCount(Bead_id, 1); - SUser.SendUpdateItemList(1, 0, args[3]); - return 0; - } - } - - Cb_reach_game_world_Func["宠物附魔"] <- function(SUser) { - local Data = _Dps_GetCreatureEnchantMysql_(SUser.GetCID()); - local DMap = {}; - foreach(data_obj in Data) { - local uuid = data_obj[0]; - local card_id = data_obj[1]; - DMap.rawset(uuid, card_id); - } - local InvenObj = SUser.GetInven(); - for (local i = 0; i< 141; i++) { - local equ; - if (i == 140) { - equ = InvenObj.GetSlot(0, 22); //获取当前格子的宠物 - } else { - equ = InvenObj.GetSlot(3, i); - } - local equ_uuid = NativePointer(equ.C_Object).add(7).readInt(); - if (DMap.rawin(equ_uuid)) { - NativePointer(equ.C_Object).add(13).writeU32(DMap[equ_uuid]); - if (i == 140) SUser.SendUpdateItemList(1, 0, 22); - else SUser.SendUpdateItemList(1, 7, i); - } - } - } -} diff --git a/OfficialProject/技能拓展14键/Proj.ifo b/OfficialProject/技能拓展14键/Proj.ifo deleted file mode 100644 index 306b7a2..0000000 --- a/OfficialProject/技能拓展14键/Proj.ifo +++ /dev/null @@ -1,11 +0,0 @@ -{ - "ProjectName": "技能拓展14键", - "ProjectDescribe": "14键位技能的服务端修复程序,需要客户端已经加载了14键技能的插件。", - "ProjectAuthor": "倾泪寒", - "ProjectVersion": 1.0, - "ProjectConfig": "", - "ProjectFiles": [ - "技能拓展14键.nut" - ], - "ProjectRunFunc": "_Dps_SkillExpansion_14Keys_Main_" -} \ No newline at end of file diff --git a/OfficialProject/技能拓展14键/技能拓展14键.nut b/OfficialProject/技能拓展14键/技能拓展14键.nut deleted file mode 100644 index 87b42b2..0000000 --- a/OfficialProject/技能拓展14键/技能拓展14键.nut +++ /dev/null @@ -1,7 +0,0 @@ - - - -function _Dps_SkillExpansion_14Keys_Main_() -{ - GameManager.Fix14Skill(); -} diff --git a/OfficialProject/抗魔值进入副本/Proj.ifo b/OfficialProject/抗魔值进入副本/Proj.ifo deleted file mode 100644 index 8a41da5..0000000 --- a/OfficialProject/抗魔值进入副本/Proj.ifo +++ /dev/null @@ -1,11 +0,0 @@ -{ - "ProjectName": "抗魔值进入副本", - "ProjectDescribe": "指定的副本按难度及抗魔值才能进入副本", - "ProjectAuthor": "南瓜", - "ProjectVersion": 1.0, - "ProjectConfig": "抗魔值进入副本配置_Nangua.json", - "ProjectFiles": [ - "抗魔值进入副本.nut" - ], - "ProjectRunFunc": "_Dps_anti_evilDgnBynangua_Main_" -} \ No newline at end of file diff --git a/OfficialProject/抗魔值进入副本/抗魔值进入副本.nut b/OfficialProject/抗魔值进入副本/抗魔值进入副本.nut deleted file mode 100644 index 201c4eb..0000000 --- a/OfficialProject/抗魔值进入副本/抗魔值进入副本.nut +++ /dev/null @@ -1,123 +0,0 @@ -class _evilDgnBynangua { - function get_required_gradeBynangua(dgn_id, dgn_diff) { - local Config = GlobalConfig.Get("抗魔值进入副本配置_Nangua.json"); - if (Config["抗魔值进入副本"]["副本配置"].rawin(dgn_id.tostring())) { - local requirements = Config["抗魔值进入副本"]["副本配置"][dgn_id.tostring()]; - for (local i = 0; i < requirements.len(); i += 2) { - if (requirements[i] == dgn_diff) { - return requirements[i + 1]; - } - } - } - return null; - } - function api_CDungeon_getDungeonName(dungeon_id) { - local G_CDataManager = Sq_CallFunc(S_Ptr("0x80CC19B"), "pointer", []); - local cdungeon = Sq_CallFunc(S_Ptr("0x835F9F8"), "pointer", ["pointer", "int"], G_CDataManager, dungeon_id); - if (!cdungeon) { - return; - } - if (cdungeon) { - local dgnobj = Sq_CallFunc(S_Ptr("0x81455A6"), "pointer", ["pointer"], cdungeon); - local name = NativePointer(dgnobj).readUtf8String(); - return name; - } - return null; - } - function join(array, delimiter) { - local result = ""; - for (local i = 0; i < array.len(); ++i) { - if (i > 0) { - result += delimiter; - } - result += array[i]; - } - return result; - } -} - -getroottable()._Nangua_EquipmentData_List_ <- {}; -getroottable()._Nangua_EquipmentData_Anti_ <- {}; -function _Nangua_GetEquipmentData_Anti_(Equipment_id) { - try { - //如果数据存在 返回数据 - if (getroottable()._Nangua_EquipmentData_Anti_.rawin(Equipment_id))return getroottable()._Nangua_EquipmentData_Anti_[Equipment_id]; - //通过装备ID获取装备路径 - local Path = getroottable()._Nangua_EquipmentData_List_[Equipment_id]; - Path = "equipment/" + Path; - //读取装备数据 - local Data = ScriptData.GetFileData(Path, function(DataTable, Data) { - while (!Data.Eof()) { - local Key = Data.Get(); - if (Key == "[anti evil]") { - getroottable()._Nangua_EquipmentData_Anti_[Equipment_id] <- Data.Get(); - return getroottable()._Nangua_EquipmentData_Anti_[Equipment_id]; - } - } - }); - } catch (exception){ - - } - return 0; -} - -function _Dps_anti_evilDgnBynangua_Main_() { - local Config = GlobalConfig.Get("抗魔值进入副本配置_Nangua.json"); - Script(Config["PVF储存路径_没有更改的话不要改动此配置"]); - //if (Config["PVF储存路径_没有更改的话不要改动此配置"].len() > 0) Script(Config["PVF储存路径_没有更改的话不要改动此配置"]); - //else Script(); - - //读取装备列表 - getroottable()._Nangua_EquipmentData_List_ = ScriptData.GetFileData("equipment/equipment.lst", function(DataTable, Data) { - while (!Data.Eof()) { - local Key = Data.Get(); - //注册装备列表 路径写入 数据未读取 - DataTable.rawset(Key, Data.Get()); - } - }); - - Cb_SelectDungeon_Check_Error_Leave_Func.Check_anti_evilByNangua <- function(args) { - local Config = GlobalConfig.Get("抗魔值进入副本配置_Nangua.json"); - local SUser = User(args[1]); - local msg_base = args[2]; - local PartyObj = SUser.GetParty(); - local dgn_id = NativePointer(msg_base).add(13).readU16(); // 获取副本ID - local dgn_diff = NativePointer(msg_base).add(15).readU8(); // 获取副本难度 - local required_grade = _evilDgnBynangua.get_required_gradeBynangua(dgn_id, dgn_diff); - local diff_name = Config["副本难度命名"][(dgn_diff).tostring()]; - local Dungeon_Name = _evilDgnBynangua.api_CDungeon_getDungeonName(dgn_id); - - if (PartyObj && Config["抗魔值进入副本"]["抗魔值进入副本开关(true为开启,false为关闭)"]) { - local not_enough_users = []; - for (local i = 0; i < 4; ++i) { - local Tuser = PartyObj.GetUser(i); - if (Tuser) { - local total_grade = 0; - local InvenObj = Tuser.GetInven(); - if (InvenObj) { - for (local j = 0; j <= 25; j++) { - local ItemObj = InvenObj.GetSlot(0, j); - if (!ItemObj.IsEmpty) { - local item_id = ItemObj.GetIndex(); - print(item_id); - local Anti = _Nangua_GetEquipmentData_Anti_(item_id); - total_grade += Anti; - } - } - } - // 比对抗魔值是否足够 - if (total_grade < required_grade) { - not_enough_users.push(Tuser.GetCharacName()); - } - } - } - - // 处理未达到抗魔值要求的用户 - if (not_enough_users.len() > 0) { - local joinedNames = _evilDgnBynangua.join(not_enough_users, ", "); - SUser.SendNotiBox("队伍中玩家[" + joinedNames + "] 抗魔值低于 " + required_grade + " ,无法进入 [" + Dungeon_Name + " - " + diff_name + "]", 2) - return 1; // 禁止进入副本 - } - } - } -} diff --git a/OfficialProject/点券充值卡/Proj.ifo b/OfficialProject/点券充值卡/Proj.ifo deleted file mode 100644 index b59e7ae..0000000 --- a/OfficialProject/点券充值卡/Proj.ifo +++ /dev/null @@ -1,11 +0,0 @@ -{ - "ProjectName": "点券充值卡", - "ProjectDescribe": "根据道具ID充值对应的点券数量", - "ProjectAuthor": "南瓜", - "ProjectVersion": 1.0, - "ProjectConfig": "点券充值卡配置_Nangua.json", - "ProjectFiles": [ - "点券充值卡.nut" - ], - "ProjectRunFunc": "_Dps_handleCeraCard_Main_" -} \ No newline at end of file diff --git a/OfficialProject/点券充值卡/点券充值卡.nut b/OfficialProject/点券充值卡/点券充值卡.nut deleted file mode 100644 index f82beed..0000000 --- a/OfficialProject/点券充值卡/点券充值卡.nut +++ /dev/null @@ -1,68 +0,0 @@ -CeraCardCoolT <- {}; - -function handleCeraCardBynangua(SUser, ItemId) { - local Config = GlobalConfig.Get("点券充值卡配置_Nangua.json"); - local ItemIdStr = ItemId.tostring(); - local UseCount = 0; - - - if (!CeraCardCoolT.rawin(SUser.GetUID())) { - CeraCardCoolT.rawset(SUser.GetUID(), 0); - } else { - UseCount = CeraCardCoolT.rawget(SUser.GetUID()); - } - if (UseCount >= 30) { - if (Config["启用233发包(true/false)"]) { - SUser.SendNotiBox("点券充值卡已达到本日使用上限!", 1); - } else { - SUser.SendNotiPacketMessage("点券充值卡已达到本日使用上限!", 8); - } - } - - if (Config["充值卡配置"].rawin(ItemIdStr)) { - local CeraAmount = Config["充值卡配置"][ItemIdStr]; - SUser.RechargeCera(CeraAmount); - if (Config["启用233发包(true/false)"]) { - SUser.SendNotiBox(format(Config["充值成功提示"], CeraAmount), 1); - SUser.SendNotiBox(format("充值卡本日已使用次数%d / 30", UseCount + 1), 1); - } else { - SUser.SendNotiPacketMessage(format(Config["充值成功提示"], CeraAmount), 8); - SUser.SendNotiPacketMessage(format("充值卡本日已使用次数%d / 30", UseCount + 1), 8); - } - } - - CeraCardCoolT.rawset(SUser.GetUID(), UseCount + 1); -} - -//加载入口 -function _Dps_handleCeraCard_Main_() { - _Dps_handleCeraCard_Logic_(); - - - Timer.SetCronTask(function() { - getroottable().CeraCardCoolT = {}; - }, { - Cron = "0 0 6 * * *", - Name = "刷新点卷充值卡每日限额" - }); -} - -//重载入口 -function _Dps_handleCeraCard_Main_Reload_(OldConfig) { - local Config = GlobalConfig.Get("点券充值卡配置_Nangua.json"); - // 删除旧的注册 - foreach(itemId, _ in OldConfig["充值卡配置"]) { - Cb_Use_Item_Sp_Func.rawdelete(itemId.tointeger()); - } - //重新注册 - _Dps_handleCeraCard_Logic_(); -} - -function _Dps_handleCeraCard_Logic_() { - local Config = GlobalConfig.Get("点券充值卡配置_Nangua.json"); - // 注册所有充值卡 - foreach(itemId, _ in Config["充值卡配置"]) { - Cb_Use_Item_Sp_Func[itemId.tointeger()] <- handleCeraCardBynangua; - } -} -