From 31c675b8388e92ce00c2a08da64b7e8e8fa93fe0 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期二, 25 六月 2024 16:12:40 +0800
Subject: [PATCH] 10185 【越南】【港台】【主干】BOSS凭证修改(增加活动商店支持;增加货币43凭证积分;提交1个凭证增加1积分;)
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ShareDefine.py | 7 +++++--
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py | 7 +++++++
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py | 6 ++++--
PySysDB/PySysDBPY.h | 1 +
ServerPython/CoreServerGroup/GameServer/Script/ShareDefine.py | 7 +++++--
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerActBossTrial.py | 8 ++++++++
ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py | 7 +++++++
7 files changed, 37 insertions(+), 6 deletions(-)
diff --git a/PySysDB/PySysDBPY.h b/PySysDB/PySysDBPY.h
index c3da0bf..2d5807f 100644
--- a/PySysDB/PySysDBPY.h
+++ b/PySysDB/PySysDBPY.h
@@ -1854,6 +1854,7 @@
BYTE ResetType; //重置类型,0-0点重置;1-5点重置
dict SubmitItemAwardInfo; //提交凭证个数对应奖励
BYTE SubmitAwardResetType; //提交凭证每日重置类型,0-跟随活动; 1-0点重置;2-5点重置
+ WORD ActShopType; //开放商店类型,为0时不开放
list TemplateIDList; //榜单模板编号列表
list FamilyTemplateIDList; //仙盟榜单模板编号列表
};
diff --git a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py
index 4bd68c8..e49036a 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py
@@ -31609,6 +31609,7 @@
IsDayReset = 0 #(BYTE IsDayReset)// 是否每天重置
ResetType = 0 #(BYTE ResetType)// 重置类型,0-0点重置;1-5点重置
LimitLV = 0 #(WORD LimitLV)// 限制等级
+ ShopType = 0 #(WORD ShopType)// 开放商店类型,可能为0不开放
SubResetType = 0 #(BYTE SubResetType)// 提交凭证奖励重置类型,0-跟随活动; 1-0点重置;2-5点重置
SubmitCount = 0 #(BYTE SubmitCount)
SubmitInfoList = list() #(vector<tagMCActBossTrialSubmitInfo> SubmitInfoList)// 提交凭证信息列表
@@ -31635,6 +31636,7 @@
self.IsDayReset,_pos = CommFunc.ReadBYTE(_lpData, _pos)
self.ResetType,_pos = CommFunc.ReadBYTE(_lpData, _pos)
self.LimitLV,_pos = CommFunc.ReadWORD(_lpData, _pos)
+ self.ShopType,_pos = CommFunc.ReadWORD(_lpData, _pos)
self.SubResetType,_pos = CommFunc.ReadBYTE(_lpData, _pos)
self.SubmitCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
for i in range(self.SubmitCount):
@@ -31666,6 +31668,7 @@
self.IsDayReset = 0
self.ResetType = 0
self.LimitLV = 0
+ self.ShopType = 0
self.SubResetType = 0
self.SubmitCount = 0
self.SubmitInfoList = list()
@@ -31685,6 +31688,7 @@
length += 5
length += 1
length += 1
+ length += 2
length += 2
length += 1
length += 1
@@ -31710,6 +31714,7 @@
data = CommFunc.WriteBYTE(data, self.IsDayReset)
data = CommFunc.WriteBYTE(data, self.ResetType)
data = CommFunc.WriteWORD(data, self.LimitLV)
+ data = CommFunc.WriteWORD(data, self.ShopType)
data = CommFunc.WriteBYTE(data, self.SubResetType)
data = CommFunc.WriteBYTE(data, self.SubmitCount)
for i in range(self.SubmitCount):
@@ -31733,6 +31738,7 @@
IsDayReset:%d,
ResetType:%d,
LimitLV:%d,
+ ShopType:%d,
SubResetType:%d,
SubmitCount:%d,
SubmitInfoList:%s,
@@ -31751,6 +31757,7 @@
self.IsDayReset,
self.ResetType,
self.LimitLV,
+ self.ShopType,
self.SubResetType,
self.SubmitCount,
"...",
diff --git a/ServerPython/CoreServerGroup/GameServer/Script/ShareDefine.py b/ServerPython/CoreServerGroup/GameServer/Script/ShareDefine.py
index 1b5d5a1..4c8c89d 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/ShareDefine.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/ShareDefine.py
@@ -1107,7 +1107,8 @@
CDBPlayerRefresh_SuperHitHurtPer, # 强化暴伤 259
CDBPlayerRefresh_SuperHitHurtDefPer, # 弱化暴伤 260
CDBPlayerRefresh_Lingyu, # 灵玉 261
-) = range(146, 262)
+CDBPlayerRefresh_BossTrial, # 凭证积分 262
+) = range(146, 263)
TYPE_Price_Gold_Paper_Money = 5 # 金钱类型,(先用礼券,再用金子)
TYPE_Price_Family_Contribution = 6 # 战盟贡献度(活跃度转换得来)
@@ -1138,6 +1139,7 @@
TYPE_Price_FamilyFlagWarPoint = 40 # 万界积分
TYPE_Price_Xiantao = 41 # 仙桃
TYPE_Price_Lingyu = 42 # 灵玉
+TYPE_Price_BossTrial = 43 # boss历练凭证积分
TYPE_Price_PayCoin = 99 # 代币
#key可用于遍历所有货币,value仅GM相关会用到
@@ -1145,7 +1147,7 @@
1:"仙玉", 2:"绑玉", 3:"铜钱", 6:"战盟贡献度", 10:"战盟仓库积分", 13:"境界修行点", 14:"符印融合石", 15:"仙盟活跃令",
16:"助战积分", 18:"荣誉", 19:"Boss积分", 23:"符印精华", 24:"符印碎片", 25:"寻宝积分", 26:"集市额度", 27:"丹精", 28:"魂尘",
29:"聚魂碎片", 30:"核心环", 31:"功能特权令", 32:"环保值", 33:"GM令", 34:"古神币", 35:"功德点",
- 39:"成就积分", 41:"仙桃", 42:"灵玉", 99:"代币"
+ 39:"成就积分", 41:"仙桃", 42:"灵玉", 43:"凭证积分", 99:"代币"
}
#以下是旧的金钱类型
@@ -1178,6 +1180,7 @@
TYPE_Price_SuccessSocre:CDBPlayerRefresh_SuccessScore,
TYPE_Price_Xiantao:CDBPlayerRefresh_Xiantao,
TYPE_Price_Lingyu:CDBPlayerRefresh_Lingyu,
+ TYPE_Price_BossTrial:CDBPlayerRefresh_BossTrial,
}
# 支持负值的货币及对应0418刷新类型
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py
index 4bd68c8..e49036a 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py
@@ -31609,6 +31609,7 @@
IsDayReset = 0 #(BYTE IsDayReset)// 是否每天重置
ResetType = 0 #(BYTE ResetType)// 重置类型,0-0点重置;1-5点重置
LimitLV = 0 #(WORD LimitLV)// 限制等级
+ ShopType = 0 #(WORD ShopType)// 开放商店类型,可能为0不开放
SubResetType = 0 #(BYTE SubResetType)// 提交凭证奖励重置类型,0-跟随活动; 1-0点重置;2-5点重置
SubmitCount = 0 #(BYTE SubmitCount)
SubmitInfoList = list() #(vector<tagMCActBossTrialSubmitInfo> SubmitInfoList)// 提交凭证信息列表
@@ -31635,6 +31636,7 @@
self.IsDayReset,_pos = CommFunc.ReadBYTE(_lpData, _pos)
self.ResetType,_pos = CommFunc.ReadBYTE(_lpData, _pos)
self.LimitLV,_pos = CommFunc.ReadWORD(_lpData, _pos)
+ self.ShopType,_pos = CommFunc.ReadWORD(_lpData, _pos)
self.SubResetType,_pos = CommFunc.ReadBYTE(_lpData, _pos)
self.SubmitCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
for i in range(self.SubmitCount):
@@ -31666,6 +31668,7 @@
self.IsDayReset = 0
self.ResetType = 0
self.LimitLV = 0
+ self.ShopType = 0
self.SubResetType = 0
self.SubmitCount = 0
self.SubmitInfoList = list()
@@ -31685,6 +31688,7 @@
length += 5
length += 1
length += 1
+ length += 2
length += 2
length += 1
length += 1
@@ -31710,6 +31714,7 @@
data = CommFunc.WriteBYTE(data, self.IsDayReset)
data = CommFunc.WriteBYTE(data, self.ResetType)
data = CommFunc.WriteWORD(data, self.LimitLV)
+ data = CommFunc.WriteWORD(data, self.ShopType)
data = CommFunc.WriteBYTE(data, self.SubResetType)
data = CommFunc.WriteBYTE(data, self.SubmitCount)
for i in range(self.SubmitCount):
@@ -31733,6 +31738,7 @@
IsDayReset:%d,
ResetType:%d,
LimitLV:%d,
+ ShopType:%d,
SubResetType:%d,
SubmitCount:%d,
SubmitInfoList:%s,
@@ -31751,6 +31757,7 @@
self.IsDayReset,
self.ResetType,
self.LimitLV,
+ self.ShopType,
self.SubResetType,
self.SubmitCount,
"...",
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
index ee42dc1..af7d665 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
@@ -1483,6 +1483,7 @@
("BYTE", "ResetType", 0),
("dict", "SubmitItemAwardInfo", 0),
("BYTE", "SubmitAwardResetType", 0),
+ ("WORD", "ActShopType", 0),
("list", "TemplateIDList", 0),
("list", "FamilyTemplateIDList", 0),
),
@@ -4453,8 +4454,9 @@
def GetResetType(self): return self.attrTuple[7] # 重置类型,0-0点重置;1-5点重置 BYTE
def GetSubmitItemAwardInfo(self): return self.attrTuple[8] # 提交凭证个数对应奖励 dict
def GetSubmitAwardResetType(self): return self.attrTuple[9] # 提交凭证每日重置类型,0-跟随活动; 1-0点重置;2-5点重置 BYTE
- def GetTemplateIDList(self): return self.attrTuple[10] # 榜单模板编号列表 list
- def GetFamilyTemplateIDList(self): return self.attrTuple[11] # 仙盟榜单模板编号列表 list
+ def GetActShopType(self): return self.attrTuple[10] # 开放商店 WORD
+ def GetTemplateIDList(self): return self.attrTuple[11] # 榜单模板编号列表 list
+ def GetFamilyTemplateIDList(self): return self.attrTuple[12] # 仙盟榜单模板编号列表 list
# Boss历练榜单模版表
class IPY_ActBossTrialTemplate():
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerActBossTrial.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerActBossTrial.py
index ad83198..dd2e3b5 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerActBossTrial.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerActBossTrial.py
@@ -22,6 +22,7 @@
import IpyGameDataPY
import ChPyNetSendPack
import CrossRealmPlayer
+import FunctionNPCCommon
import PlayerBillboard
import ItemControler
import NetPackCommon
@@ -117,6 +118,10 @@
PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_BossTrialSubmitAward % actNum, 0)
if state:
+ cfgID = actInfo.get(ShareDefine.ActKey_CfgID)
+ ipyData = IpyGameDataPY.GetIpyGameData("ActBossTrial", cfgID)
+ if ipyData and ipyData.GetActShopType():
+ FunctionNPCCommon.ResetShopItemBuyCountByShopType(curPlayer, [ipyData.GetActShopType()])
Sync_BossTrialActionInfo(curPlayer, actNum)
Sync_BossTrialPlayerInfo(curPlayer, actNum)
@@ -205,6 +210,8 @@
PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_BossTrialSubmitCount % actNum, updSubmitCount)
GameWorld.DebugLog("Boss历练提交凭证: actNum=%s,itemID=%s,submitCount=%s,updSubmitCount=%s,updSubmitAwardCount=%s"
% (actNum, itemID, submitCount, updSubmitCount, updSubmitAwardCount), playerID)
+
+ PlayerControl.GiveMoney(curPlayer, ShareDefine.TYPE_Price_BossTrial, submitCount, "BossTrialSubmit")
PlayerBillboard.UpdatePlayerBillboard(curPlayer, ShareDefine.Def_BT_BossTrialSubmit, updSubmitCount, autoSort=True)
@@ -337,6 +344,7 @@
actInfo.IsDayReset = ipyData.GetIsDayReset()
actInfo.ResetType = ipyData.GetResetType()
actInfo.LimitLV = ipyData.GetLVLimit()
+ actInfo.ShopType = ipyData.GetActShopType()
actInfo.SubResetType = ipyData.GetSubmitAwardResetType()
actInfo.SubmitInfoList = []
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ShareDefine.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ShareDefine.py
index 1b5d5a1..4c8c89d 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ShareDefine.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ShareDefine.py
@@ -1107,7 +1107,8 @@
CDBPlayerRefresh_SuperHitHurtPer, # 强化暴伤 259
CDBPlayerRefresh_SuperHitHurtDefPer, # 弱化暴伤 260
CDBPlayerRefresh_Lingyu, # 灵玉 261
-) = range(146, 262)
+CDBPlayerRefresh_BossTrial, # 凭证积分 262
+) = range(146, 263)
TYPE_Price_Gold_Paper_Money = 5 # 金钱类型,(先用礼券,再用金子)
TYPE_Price_Family_Contribution = 6 # 战盟贡献度(活跃度转换得来)
@@ -1138,6 +1139,7 @@
TYPE_Price_FamilyFlagWarPoint = 40 # 万界积分
TYPE_Price_Xiantao = 41 # 仙桃
TYPE_Price_Lingyu = 42 # 灵玉
+TYPE_Price_BossTrial = 43 # boss历练凭证积分
TYPE_Price_PayCoin = 99 # 代币
#key可用于遍历所有货币,value仅GM相关会用到
@@ -1145,7 +1147,7 @@
1:"仙玉", 2:"绑玉", 3:"铜钱", 6:"战盟贡献度", 10:"战盟仓库积分", 13:"境界修行点", 14:"符印融合石", 15:"仙盟活跃令",
16:"助战积分", 18:"荣誉", 19:"Boss积分", 23:"符印精华", 24:"符印碎片", 25:"寻宝积分", 26:"集市额度", 27:"丹精", 28:"魂尘",
29:"聚魂碎片", 30:"核心环", 31:"功能特权令", 32:"环保值", 33:"GM令", 34:"古神币", 35:"功德点",
- 39:"成就积分", 41:"仙桃", 42:"灵玉", 99:"代币"
+ 39:"成就积分", 41:"仙桃", 42:"灵玉", 43:"凭证积分", 99:"代币"
}
#以下是旧的金钱类型
@@ -1178,6 +1180,7 @@
TYPE_Price_SuccessSocre:CDBPlayerRefresh_SuccessScore,
TYPE_Price_Xiantao:CDBPlayerRefresh_Xiantao,
TYPE_Price_Lingyu:CDBPlayerRefresh_Lingyu,
+ TYPE_Price_BossTrial:CDBPlayerRefresh_BossTrial,
}
# 支持负值的货币及对应0418刷新类型
--
Gitblit v1.8.0