From d57475ffe460133d146d377e66ed19ccb77b11a7 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期一, 20 十月 2025 17:22:00 +0800
Subject: [PATCH] 121 【武将】武将系统-服务端(寻宝支持定制第x次x抽必出)
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py | 280 +++++++++++++------------------------------------------
1 files changed, 67 insertions(+), 213 deletions(-)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
index fe91e04..b7f7580 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
@@ -1023,22 +1023,6 @@
("DWORD", "ADMapID", 0),
),
- "DailyAction":(
- ("DWORD", "DailyID", 1),
- ("dict", "OpenTimeDict", 0),
- ("DWORD", "Duration", 0),
- ("DWORD", "DayTimes", 0),
- ("DWORD", "DayBuyTimes", 0),
- ("BYTE", "BuyTimesPrivilegeID", 0),
- ("BYTE", "MoneyType", 0),
- ("list", "BuyNeedMoney", 0),
- ("DWORD", "DayItemAddTimes", 0),
- ("DWORD", "DayItemID", 0),
- ("BYTE", "DayResetType", 0),
- ("DWORD", "WeekTimes", 0),
- ("BYTE", "WeekResetType", 0),
- ),
-
"EquipGSParam":(
("BYTE", "ClassLV", 1),
("BYTE", "EquipColor", 1),
@@ -1089,19 +1073,11 @@
),
"Success":(
- ("DWORD", "ID", 1),
- ("WORD", "Type", 0),
+ ("DWORD", "SuccID", 0),
+ ("WORD", "SuccType", 1),
("DWORD", "NeedCnt", 0),
("list", "Condition", 0),
- ("list", "PreSuccess", 0),
- ("dict", "AwardItem", 0),
- ("dict", "AwardItem2", 0),
- ("dict", "Money", 0),
- ("DWORD", "Exp", 0),
- ("dict", "AwardAttr", 0),
- ("DWORD", "RedPacketID", 0),
- ("DWORD", "MagicWeaponID", 0),
- ("DWORD", "MagicWeaponExp", 0),
+ ("list", "AwardItemList", 0),
),
"TongTianLV":(
@@ -1213,38 +1189,18 @@
("list", "MailItemPrize", 0),
),
- "TaskList":(
- ("DWORD", "TaskID", 1),
- ),
-
- "DailyQuest":(
- ("DWORD", "ID", 1),
- ("BYTE", "RelatedType", 0),
- ("DWORD", "RelatedID", 0),
- ("WORD", "UnLockFuncID", 0),
- ("BYTE", "OnceActivityTime", 0),
- ("BYTE", "OnceActivity", 0),
- ("WORD", "TotalActiveValue", 0),
+ "DailyTask":(
+ ("WORD", "TaskID", 0),
+ ("BYTE", "TaskType", 1),
+ ("list", "TaskConds", 0),
+ ("DWORD", "NeedValue", 0),
+ ("BYTE", "AwardLiveness", 0),
),
"DailyLivenessReward":(
- ("BYTE", "ID", 1),
- ("WORD", "Liveness", 0),
- ("list", "StageLV", 0),
- ("list", "ItemID", 0),
- ("list", "ItemCount", 0),
- ("list", "ItemBind", 0),
- ),
-
- "ActivityPlaceReward":(
- ("BYTE", "ID", 1),
- ("BYTE", "PlaceCount", 0),
- ("WORD", "PlaceMaxLV", 0),
- ("list", "FixedItemRewardList", 0),
- ("BYTE", "RandItemCountA", 0),
- ("list", "RandItemRewardListA", 0),
- ("BYTE", "RandItemCountB", 0),
- ("list", "RandItemRewardListB", 0),
+ ("BYTE", "AwardID", 1),
+ ("WORD", "NeedLiveness", 0),
+ ("list", "AwardItemList", 0),
),
"BOSSInfo":(
@@ -1264,19 +1220,6 @@
("DWORD", "NPCID", 1),
("WORD", "PerPlayerMoneyAward", 0),
("list", "PersonFirstKillAward", 0),
- ),
-
- "FamilyRedPack":(
- ("WORD", "ID", 1),
- ("WORD", "GetType", 0),
- ("WORD", "MoneyNum", 0),
- ("BYTE", "MoneyType", 0),
- ("BYTE", "PacketCnt", 0),
- ),
-
- "ActFeastRedPacketSucc":(
- ("BYTE", "FeastDay", 1),
- ("list", "FeastSuccIDList", 0),
),
"NPCShow":(
@@ -1515,6 +1458,7 @@
("list", "GridItemRateList1", 0),
("list", "GridItemRateList2", 0),
("dict", "GridItemRateList3", 0),
+ ("list", "GridItemRateList4", 0),
("dict", "LuckyItemRateInfo", 0),
),
@@ -2476,6 +2420,15 @@
("list", "EquipColorRateList", 0),
("list", "EquipColorRateList1", 0),
("list", "EquipColorRateList2", 0),
+ ),
+
+ "LLMJ":(
+ ("BYTE", "MJLV", 1),
+ ("DWORD", "CostWarhammer", 0),
+ ("BYTE", "ExpAddPer", 0),
+ ("DWORD", "ExpExUpper", 0),
+ ("BYTE", "DecomposeAddPer", 0),
+ ("DWORD", "DecomposeExUpper", 0),
),
"GoldRushCamp":(
@@ -3950,27 +3903,6 @@
def GetADAwardItemList(self): return self.attrTuple[2] # 广告奖励物品列表 list
def GetADMapID(self): return self.attrTuple[3] # 对应副本ID,默认给该副本1次次数 DWORD
-# 日常活动表
-class IPY_DailyAction():
-
- def __init__(self):
- self.attrTuple = None
- return
-
- def GetDailyID(self): return self.attrTuple[0] # 活动ID DWORD
- def GetOpenTimeDict(self): return self.attrTuple[1] # 开启时间 dict
- def GetDuration(self): return self.attrTuple[2] # 持续时间, 0为不限制 DWORD
- def GetDayTimes(self): return self.attrTuple[3] # 每日次数, 0为不限制 DWORD
- def GetDayBuyTimes(self): return self.attrTuple[4] # 每日可购买次数 DWORD
- def GetBuyTimesPrivilegeID(self): return self.attrTuple[5] # 购买次数VIP权限ID BYTE
- def GetMoneyType(self): return self.attrTuple[6] # 货币类型 BYTE
- def GetBuyNeedMoney(self): return self.attrTuple[7] # 购买次数需要仙玉 list
- def GetDayItemAddTimes(self): return self.attrTuple[8] # 每日可用物品增加次数 DWORD
- def GetDayItemID(self): return self.attrTuple[9] # 增加次数的物品ID DWORD
- def GetDayResetType(self): return self.attrTuple[10] # 每日次数重置类型; 0-不重置,1-0点,2-5点 BYTE
- def GetWeekTimes(self): return self.attrTuple[11] # 每周次数, 0为不限制 DWORD
- def GetWeekResetType(self): return self.attrTuple[12] # 每周次数重置类型; 0-不重置,1-0点,2-5点 BYTE
-
# 装备评分属性系数表
class IPY_EquipGSParam():
@@ -4032,19 +3964,11 @@
self.attrTuple = None
return
- def GetID(self): return self.attrTuple[0] # 成就ID DWORD
- def GetType(self): return self.attrTuple[1] # 成就类型 WORD
+ def GetSuccID(self): return self.attrTuple[0] # 成就ID DWORD
+ def GetSuccType(self): return self.attrTuple[1] # 成就类型 WORD
def GetNeedCnt(self): return self.attrTuple[2] # 需要数量 DWORD
def GetCondition(self): return self.attrTuple[3] # 辅助条件 list
- def GetPreSuccess(self): return self.attrTuple[4] # 需要达成前置成就 list
- def GetAwardItem(self): return self.attrTuple[5] # 奖励物品列表 dict
- def GetAwardItem2(self): return self.attrTuple[6] # 通行证奖励物品列表 dict
- def GetMoney(self): return self.attrTuple[7] # 金钱 dict
- def GetExp(self): return self.attrTuple[8] # 经验 DWORD
- def GetAwardAttr(self): return self.attrTuple[9] # 奖励属性 dict
- def GetRedPacketID(self): return self.attrTuple[10] # 红包ID DWORD
- def GetMagicWeaponID(self): return self.attrTuple[11] # 法宝ID DWORD
- def GetMagicWeaponExp(self): return self.attrTuple[12] # 法宝升级经验 DWORD
+ def GetAwardItemList(self): return self.attrTuple[4] # 奖励物品列表 list
# 通天令等级表
class IPY_TongTianLV():
@@ -4205,59 +4129,29 @@
def GetMailKey(self): return self.attrTuple[9] # 活动更新时发送邮件key char
def GetMailItemPrize(self): return self.attrTuple[10] # 活动更新时发送邮件奖励物品 list
-# 任务列表
-class IPY_TaskList():
+# 每日任务表
+class IPY_DailyTask():
def __init__(self):
self.attrTuple = None
return
- def GetTaskID(self): return self.attrTuple[0] # 任务ID DWORD
+ def GetTaskID(self): return self.attrTuple[0] # 任务ID WORD
+ def GetTaskType(self): return self.attrTuple[1] # 任务类型 BYTE
+ def GetTaskConds(self): return self.attrTuple[2] # 任务条件[...] list
+ def GetNeedValue(self): return self.attrTuple[3] # 所需任务值 DWORD
+ def GetAwardLiveness(self): return self.attrTuple[4] # 奖励活跃度 BYTE
-# 日常任务表
-class IPY_DailyQuest():
-
- def __init__(self):
- self.attrTuple = None
- return
-
- def GetID(self): return self.attrTuple[0] # ID DWORD
- def GetRelatedType(self): return self.attrTuple[1] # 关联类型 BYTE
- def GetRelatedID(self): return self.attrTuple[2] # 关联ID DWORD
- def GetUnLockFuncID(self): return self.attrTuple[3] # 解锁功能ID WORD
- def GetOnceActivityTime(self): return self.attrTuple[4] # 增加活跃所需次数 BYTE
- def GetOnceActivity(self): return self.attrTuple[5] # 单次活跃值 BYTE
- def GetTotalActiveValue(self): return self.attrTuple[6] # 总活跃 WORD
-
-# 日常活跃奖励表
+# 每日活跃奖励表
class IPY_DailyLivenessReward():
def __init__(self):
self.attrTuple = None
return
- def GetID(self): return self.attrTuple[0] # ID BYTE
- def GetLiveness(self): return self.attrTuple[1] # 所需活跃度 WORD
- def GetStageLV(self): return self.attrTuple[2] # 阶段等级 list
- def GetItemID(self): return self.attrTuple[3] # 物品ID list
- def GetItemCount(self): return self.attrTuple[4] # 物品数量 list
- def GetItemBind(self): return self.attrTuple[5] # 是否绑定 list
-
-# 日常活跃放置表
-class IPY_ActivityPlaceReward():
-
- def __init__(self):
- self.attrTuple = None
- return
-
- def GetID(self): return self.attrTuple[0] # ID BYTE
- def GetPlaceCount(self): return self.attrTuple[1] # 放置定制次数 BYTE
- def GetPlaceMaxLV(self): return self.attrTuple[2] # 最大等级 WORD
- def GetFixedItemRewardList(self): return self.attrTuple[3] # 固定奖励 [[物品ID, 个数], ...] list
- def GetRandItemCountA(self): return self.attrTuple[4] # 饼图奖励次数A BYTE
- def GetRandItemRewardListA(self): return self.attrTuple[5] # 饼图奖励库A [[饼图概率,物品ID], ...] 物品ID支持0 list
- def GetRandItemCountB(self): return self.attrTuple[6] # 饼图奖励次数B BYTE
- def GetRandItemRewardListB(self): return self.attrTuple[7] # 饼图奖励库B [[饼图概率,物品ID], ...] 物品ID支持0 list
+ def GetAwardID(self): return self.attrTuple[0] # 奖励ID BYTE
+ def GetNeedLiveness(self): return self.attrTuple[1] # 所需活跃度 WORD
+ def GetAwardItemList(self): return self.attrTuple[2] # 奖励物品列表 [[物品ID,个数], ...] list
# BOSS信息表
class IPY_BOSSInfo():
@@ -4287,29 +4181,6 @@
def GetNPCID(self): return self.attrTuple[0] # ID DWORD
def GetPerPlayerMoneyAward(self): return self.attrTuple[1] # 首杀全服玩家奖励灵石额度/人 WORD
def GetPersonFirstKillAward(self): return self.attrTuple[2] # 个人首次击杀奖励 [[物品ID,个数,是否拍品], ...] list
-
-# 仙盟红包表
-class IPY_FamilyRedPack():
-
- def __init__(self):
- self.attrTuple = None
- return
-
- def GetID(self): return self.attrTuple[0] # ID WORD
- def GetGetType(self): return self.attrTuple[1] # 获得途径 WORD
- def GetMoneyNum(self): return self.attrTuple[2] # 红包额度 WORD
- def GetMoneyType(self): return self.attrTuple[3] # 金钱类型 BYTE
- def GetPacketCnt(self): return self.attrTuple[4] # 红包个数 BYTE
-
-# 节日红包每日成就表
-class IPY_ActFeastRedPacketSucc():
-
- def __init__(self):
- self.attrTuple = None
- return
-
- def GetFeastDay(self): return self.attrTuple[0] # 节日第几天 BYTE
- def GetFeastSuccIDList(self): return self.attrTuple[1] # 节日成就ID列表 list
# NPC秀表
class IPY_NPCShow():
@@ -4658,7 +4529,8 @@
def GetGridItemRateList1(self): return self.attrTuple[6] # 常规产出格子编号饼图 [[概率, 格子编号], ...] list
def GetGridItemRateList2(self): return self.attrTuple[7] # 每满x次保底产出格子编号饼图 [[概率, 格子编号], ...] list
def GetGridItemRateList3(self): return self.attrTuple[8] # 第x次必出产出格子编号饼图 {次数:[[概率, 格子编号], ...], ...} dict
- def GetLuckyItemRateInfo(self): return self.attrTuple[9] # 幸运产出概率饼图 {"幸运值":[[概率, 格子编号], ...], ...} dict
+ def GetGridItemRateList4(self): return self.attrTuple[9] # 第x次x抽必出 list
+ def GetLuckyItemRateInfo(self): return self.attrTuple[10] # 幸运产出概率饼图 {"幸运值":[[概率, 格子编号], ...], ...} dict
# 寻宝物品库
class IPY_TreasureItemLib():
@@ -6185,6 +6057,20 @@
def GetEquipColorRateList1(self): return self.attrTuple[4] # 精英产出装备品质概率列表,[0品质万分率, 1品质万分率, ...] list
def GetEquipColorRateList2(self): return self.attrTuple[5] # boss产出装备品质概率列表,[0品质万分率, 1品质万分率, ...] list
+# 历练秘笈
+class IPY_LLMJ():
+
+ def __init__(self):
+ self.attrTuple = None
+ return
+
+ def GetMJLV(self): return self.attrTuple[0] # 秘笈等级 BYTE
+ def GetCostWarhammer(self): return self.attrTuple[1] # 消耗战锤 DWORD
+ def GetExpAddPer(self): return self.attrTuple[2] # 经验加成比例,百分比 BYTE
+ def GetExpExUpper(self): return self.attrTuple[3] # 经验加成每日上限 DWORD
+ def GetDecomposeAddPer(self): return self.attrTuple[4] # 分解加成比例,百分比 BYTE
+ def GetDecomposeExUpper(self): return self.attrTuple[5] # 结晶加成每日上限 DWORD
+
# 淘金营地表
class IPY_GoldRushCamp():
@@ -6378,7 +6264,6 @@
self.__LoadFileData("FBLine", onlyCheck)
self.__LoadFileData("Tianzi", onlyCheck)
self.__LoadFileData("ADAward", onlyCheck)
- self.__LoadFileData("DailyAction", onlyCheck)
self.__LoadFileData("EquipGSParam", onlyCheck)
self.__LoadFileData("Success", onlyCheck)
self.__LoadFileData("TongTianLV", onlyCheck)
@@ -6391,14 +6276,10 @@
self.__LoadFileData("VipPrivilege", onlyCheck)
self.__LoadFileData("Store", onlyCheck)
self.__LoadFileData("ActSpringSale", onlyCheck)
- self.__LoadFileData("TaskList", onlyCheck)
- self.__LoadFileData("DailyQuest", onlyCheck)
+ self.__LoadFileData("DailyTask", onlyCheck)
self.__LoadFileData("DailyLivenessReward", onlyCheck)
- self.__LoadFileData("ActivityPlaceReward", onlyCheck)
self.__LoadFileData("BOSSInfo", onlyCheck)
self.__LoadFileData("BOSSFirstKill", onlyCheck)
- self.__LoadFileData("FamilyRedPack", onlyCheck)
- self.__LoadFileData("ActFeastRedPacketSucc", onlyCheck)
self.__LoadFileData("NPCShow", onlyCheck)
self.__LoadFileData("MapRefreshNPC", onlyCheck)
self.__LoadFileData("RuneCompound", onlyCheck)
@@ -6534,6 +6415,7 @@
self.__LoadFileData("Xiangong", onlyCheck)
self.__LoadFileData("TiandaoTree", onlyCheck)
self.__LoadFileData("TreeLV", onlyCheck)
+ self.__LoadFileData("LLMJ", onlyCheck)
self.__LoadFileData("GoldRushCamp", onlyCheck)
self.__LoadFileData("GoldRushWorker", onlyCheck)
self.__LoadFileData("GoldRushItem", onlyCheck)
@@ -7393,13 +7275,6 @@
self.CheckLoadData("ADAward")
return self.ipyADAwardCache[index]
- def GetDailyActionCount(self):
- self.CheckLoadData("DailyAction")
- return self.ipyDailyActionLen
- def GetDailyActionByIndex(self, index):
- self.CheckLoadData("DailyAction")
- return self.ipyDailyActionCache[index]
-
def GetEquipGSParamCount(self):
self.CheckLoadData("EquipGSParam")
return self.ipyEquipGSParamLen
@@ -7484,19 +7359,12 @@
self.CheckLoadData("ActSpringSale")
return self.ipyActSpringSaleCache[index]
- def GetTaskListCount(self):
- self.CheckLoadData("TaskList")
- return self.ipyTaskListLen
- def GetTaskListByIndex(self, index):
- self.CheckLoadData("TaskList")
- return self.ipyTaskListCache[index]
-
- def GetDailyQuestCount(self):
- self.CheckLoadData("DailyQuest")
- return self.ipyDailyQuestLen
- def GetDailyQuestByIndex(self, index):
- self.CheckLoadData("DailyQuest")
- return self.ipyDailyQuestCache[index]
+ def GetDailyTaskCount(self):
+ self.CheckLoadData("DailyTask")
+ return self.ipyDailyTaskLen
+ def GetDailyTaskByIndex(self, index):
+ self.CheckLoadData("DailyTask")
+ return self.ipyDailyTaskCache[index]
def GetDailyLivenessRewardCount(self):
self.CheckLoadData("DailyLivenessReward")
@@ -7504,13 +7372,6 @@
def GetDailyLivenessRewardByIndex(self, index):
self.CheckLoadData("DailyLivenessReward")
return self.ipyDailyLivenessRewardCache[index]
-
- def GetActivityPlaceRewardCount(self):
- self.CheckLoadData("ActivityPlaceReward")
- return self.ipyActivityPlaceRewardLen
- def GetActivityPlaceRewardByIndex(self, index):
- self.CheckLoadData("ActivityPlaceReward")
- return self.ipyActivityPlaceRewardCache[index]
def GetBOSSInfoCount(self):
self.CheckLoadData("BOSSInfo")
@@ -7525,20 +7386,6 @@
def GetBOSSFirstKillByIndex(self, index):
self.CheckLoadData("BOSSFirstKill")
return self.ipyBOSSFirstKillCache[index]
-
- def GetFamilyRedPackCount(self):
- self.CheckLoadData("FamilyRedPack")
- return self.ipyFamilyRedPackLen
- def GetFamilyRedPackByIndex(self, index):
- self.CheckLoadData("FamilyRedPack")
- return self.ipyFamilyRedPackCache[index]
-
- def GetActFeastRedPacketSuccCount(self):
- self.CheckLoadData("ActFeastRedPacketSucc")
- return self.ipyActFeastRedPacketSuccLen
- def GetActFeastRedPacketSuccByIndex(self, index):
- self.CheckLoadData("ActFeastRedPacketSucc")
- return self.ipyActFeastRedPacketSuccCache[index]
def GetNPCShowCount(self):
self.CheckLoadData("NPCShow")
@@ -8485,6 +8332,13 @@
self.CheckLoadData("TreeLV")
return self.ipyTreeLVCache[index]
+ def GetLLMJCount(self):
+ self.CheckLoadData("LLMJ")
+ return self.ipyLLMJLen
+ def GetLLMJByIndex(self, index):
+ self.CheckLoadData("LLMJ")
+ return self.ipyLLMJCache[index]
+
def GetGoldRushCampCount(self):
self.CheckLoadData("GoldRushCamp")
return self.ipyGoldRushCampLen
--
Gitblit v1.8.0