From c7be7cd97a32658b8629f8c67fbd4973b642de46 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期三, 04 九月 2024 18:20:54 +0800
Subject: [PATCH] 10241 【越南】【砍树】 古宝养成(增加商店支持;)
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py | 7 +++++++
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py | 6 ++++--
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerActGubao.py | 6 ++++++
PySysDB/PySysDBPY.h | 1 +
ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py | 7 +++++++
5 files changed, 25 insertions(+), 2 deletions(-)
diff --git a/PySysDB/PySysDBPY.h b/PySysDB/PySysDBPY.h
index 670b4a3..2cfb37e 100644
--- a/PySysDB/PySysDBPY.h
+++ b/PySysDB/PySysDBPY.h
@@ -1940,6 +1940,7 @@
char JoinStartTime; //参与开始时间点
char JoinEndTime; //参与结束时间点
WORD LVLimit; //限制等级
+ WORD ActShopType; //开放商店类型,为0时不开放
WORD PersonalTemplateID; //个人排行模板编号
BYTE IsRelationCrossAct; //是否关联跨服活动
};
diff --git a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py
index 716b89d..e05f40d 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py
@@ -36236,6 +36236,7 @@
JoinStartTime = "" #(char JoinStartTime[5])// 参与开始时间点 mm:ss
JoinEndTime = "" #(char JoinEndTime[5])// 参与结束时间点 mm:ss
LimitLV = 0 #(WORD LimitLV)// 限制等级
+ ShopType = 0 #(WORD ShopType)// 开放商店类型,可能为0不开放
PersonalBillCount = 0 #(BYTE PersonalBillCount)
PersonalBillboardInfoList = list() #(vector<tagMCActGubaoBillard> PersonalBillboardInfoList)// 个人榜单奖励信息列表,如果没有代表本次活动没有该榜奖励
data = None
@@ -36255,6 +36256,7 @@
self.JoinStartTime,_pos = CommFunc.ReadString(_lpData, _pos,5)
self.JoinEndTime,_pos = CommFunc.ReadString(_lpData, _pos,5)
self.LimitLV,_pos = CommFunc.ReadWORD(_lpData, _pos)
+ self.ShopType,_pos = CommFunc.ReadWORD(_lpData, _pos)
self.PersonalBillCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
for i in range(self.PersonalBillCount):
temPersonalBillboardInfoList = tagMCActGubaoBillard()
@@ -36273,6 +36275,7 @@
self.JoinStartTime = ""
self.JoinEndTime = ""
self.LimitLV = 0
+ self.ShopType = 0
self.PersonalBillCount = 0
self.PersonalBillboardInfoList = list()
return
@@ -36285,6 +36288,7 @@
length += 10
length += 5
length += 5
+ length += 2
length += 2
length += 1
for i in range(self.PersonalBillCount):
@@ -36301,6 +36305,7 @@
data = CommFunc.WriteString(data, 5, self.JoinStartTime)
data = CommFunc.WriteString(data, 5, self.JoinEndTime)
data = CommFunc.WriteWORD(data, self.LimitLV)
+ data = CommFunc.WriteWORD(data, self.ShopType)
data = CommFunc.WriteBYTE(data, self.PersonalBillCount)
for i in range(self.PersonalBillCount):
data = CommFunc.WriteString(data, self.PersonalBillboardInfoList[i].GetLength(), self.PersonalBillboardInfoList[i].GetBuffer())
@@ -36315,6 +36320,7 @@
JoinStartTime:%s,
JoinEndTime:%s,
LimitLV:%d,
+ ShopType:%d,
PersonalBillCount:%d,
PersonalBillboardInfoList:%s
'''\
@@ -36326,6 +36332,7 @@
self.JoinStartTime,
self.JoinEndTime,
self.LimitLV,
+ self.ShopType,
self.PersonalBillCount,
"..."
)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py
index 716b89d..e05f40d 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py
@@ -36236,6 +36236,7 @@
JoinStartTime = "" #(char JoinStartTime[5])// 参与开始时间点 mm:ss
JoinEndTime = "" #(char JoinEndTime[5])// 参与结束时间点 mm:ss
LimitLV = 0 #(WORD LimitLV)// 限制等级
+ ShopType = 0 #(WORD ShopType)// 开放商店类型,可能为0不开放
PersonalBillCount = 0 #(BYTE PersonalBillCount)
PersonalBillboardInfoList = list() #(vector<tagMCActGubaoBillard> PersonalBillboardInfoList)// 个人榜单奖励信息列表,如果没有代表本次活动没有该榜奖励
data = None
@@ -36255,6 +36256,7 @@
self.JoinStartTime,_pos = CommFunc.ReadString(_lpData, _pos,5)
self.JoinEndTime,_pos = CommFunc.ReadString(_lpData, _pos,5)
self.LimitLV,_pos = CommFunc.ReadWORD(_lpData, _pos)
+ self.ShopType,_pos = CommFunc.ReadWORD(_lpData, _pos)
self.PersonalBillCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
for i in range(self.PersonalBillCount):
temPersonalBillboardInfoList = tagMCActGubaoBillard()
@@ -36273,6 +36275,7 @@
self.JoinStartTime = ""
self.JoinEndTime = ""
self.LimitLV = 0
+ self.ShopType = 0
self.PersonalBillCount = 0
self.PersonalBillboardInfoList = list()
return
@@ -36285,6 +36288,7 @@
length += 10
length += 5
length += 5
+ length += 2
length += 2
length += 1
for i in range(self.PersonalBillCount):
@@ -36301,6 +36305,7 @@
data = CommFunc.WriteString(data, 5, self.JoinStartTime)
data = CommFunc.WriteString(data, 5, self.JoinEndTime)
data = CommFunc.WriteWORD(data, self.LimitLV)
+ data = CommFunc.WriteWORD(data, self.ShopType)
data = CommFunc.WriteBYTE(data, self.PersonalBillCount)
for i in range(self.PersonalBillCount):
data = CommFunc.WriteString(data, self.PersonalBillboardInfoList[i].GetLength(), self.PersonalBillboardInfoList[i].GetBuffer())
@@ -36315,6 +36320,7 @@
JoinStartTime:%s,
JoinEndTime:%s,
LimitLV:%d,
+ ShopType:%d,
PersonalBillCount:%d,
PersonalBillboardInfoList:%s
'''\
@@ -36326,6 +36332,7 @@
self.JoinStartTime,
self.JoinEndTime,
self.LimitLV,
+ self.ShopType,
self.PersonalBillCount,
"..."
)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
index ca7d617..39292d2 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
@@ -1536,6 +1536,7 @@
("char", "JoinStartTime", 0),
("char", "JoinEndTime", 0),
("WORD", "LVLimit", 0),
+ ("WORD", "ActShopType", 0),
("WORD", "PersonalTemplateID", 0),
("BYTE", "IsRelationCrossAct", 0),
),
@@ -4662,8 +4663,9 @@
def GetJoinStartTime(self): return self.attrTuple[3] # 参与开始时间点 char
def GetJoinEndTime(self): return self.attrTuple[4] # 参与结束时间点 char
def GetLVLimit(self): return self.attrTuple[5] # 限制等级 WORD
- def GetPersonalTemplateID(self): return self.attrTuple[6] # 个人排行模板编号 WORD
- def GetIsRelationCrossAct(self): return self.attrTuple[7] # 是否关联跨服活动 BYTE
+ def GetActShopType(self): return self.attrTuple[6] # 开放商店类型,为0时不开放 WORD
+ def GetPersonalTemplateID(self): return self.attrTuple[7] # 个人排行模板编号 WORD
+ def GetIsRelationCrossAct(self): return self.attrTuple[8] # 是否关联跨服活动 BYTE
# 古宝养成榜单模版表
class IPY_ActGubaoBillTemp():
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerActGubao.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerActGubao.py
index bfab5a0..ee1d8f2 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerActGubao.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerActGubao.py
@@ -20,6 +20,7 @@
import PlayerControl
import IpyGameDataPY
import CrossRealmPlayer
+import FunctionNPCCommon
import PlayerBillboard
import ChPyNetSendPack
import PlayerZhanling
@@ -93,6 +94,10 @@
PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_ActGubaoScore % actNum, 0)
if state:
+ cfgID = actInfo.get(ShareDefine.ActKey_CfgID)
+ ipyData = IpyGameDataPY.GetIpyGameData("ActGubao", cfgID)
+ if ipyData and ipyData.GetActShopType():
+ FunctionNPCCommon.ResetShopItemBuyCountByShopType(curPlayer, [ipyData.GetActShopType()])
Sync_GubaoActionInfo(curPlayer, actNum)
Sync_GubaoPlayerInfo(curPlayer, actNum)
return True
@@ -240,6 +245,7 @@
clientPack.JoinStartTime = ipyData.GetJoinStartTime()
clientPack.JoinEndTime = ipyData.GetJoinEndTime()
clientPack.LimitLV = ipyData.GetLVLimit()
+ clientPack.ShopType = ipyData.GetActShopType()
clientPack.PersonalBillboardInfoList = __GetTempRankBillPackList(personalTempIpyDataList)
clientPack.PersonalBillCount = len(clientPack.PersonalBillboardInfoList)
--
Gitblit v1.8.0