From ab4d62787cf6958470cecaaaf5758877e0a64c02 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期三, 28 五月 2025 11:57:13 +0800
Subject: [PATCH] 54 【三国主界面】核心主体-服务端(仙树;增加货币41-战锤;42-结晶)
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/DB/StructData/DBMail.py | 19 ++++++++++---------
1 files changed, 10 insertions(+), 9 deletions(-)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/DB/StructData/DBMail.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/DB/StructData/DBMail.py
index 5a65c35..561d085 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/DB/StructData/DBMail.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/DB/StructData/DBMail.py
@@ -156,7 +156,7 @@
itemRankList.append(key)
itemDict[key] = itemDict[key] + itemCount
- mailItemCount = 0
+ giveItemList = []
for itemInfo in itemRankList:
if len(itemInfo) == 4:
itemID, itemCount, isBind, userData = itemInfo
@@ -164,7 +164,14 @@
userData = ""
itemID, isBind = itemInfo
itemCount = itemDict.get(itemInfo, 0)
-
+ giveItemList.append([itemID, itemCount, isBind, userData])
+
+ Max_MailItem = 20
+ if len(giveItemList) > Max_MailItem:
+ GameWorld.SendGameErrorEx("MailItemMultiError", "%s|%s|%s|%s" % (guid, len(giveItemList), itemList, giveItemList))
+ #giveItemList = giveItemList[:Max_MailItem] 暂时还是让发,先做下后台邮件警告即可
+
+ for itemID, itemCount, isBind, userData in giveItemList:
dbData = DBStruct.tagDBMailItem()
dbData.GUID = guid
dbData.ItemID = itemID
@@ -173,12 +180,6 @@
dbData.UserData = userData
dbData.UserDataLen = len(dbData.UserData)
self.__InitMailItemInstance(dbData)
-
- mailItemCount += 1
- if mailItemCount >= 20:
- #防范某些异常情况,内置单封邮件物品上限,做下限制,并做后台邮件警告
- GameWorld.SendGameErrorEx("MailItemMultiError", "%s|%s" % (guid, itemList))
- break
return
@@ -402,7 +403,7 @@
for _ in xrange(cnt):
dbData.clear()
pos += dbData.readData(datas, pos, dataslen)
- self.SetServerMailPlayerState(dbData.GUID, dbData.PlayerID, dbData.MailState)
+ self.SetPlayerMailState(dbData.GUID, dbData.PlayerID, dbData.MailState)
# 个人邮件
cnt, pos = CommFunc.ReadDWORD(datas, pos)
--
Gitblit v1.8.0