From 23876f36a929f7e8f1fe94ae543b03bc24a61f1e Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期二, 25 二月 2025 20:24:08 +0800
Subject: [PATCH] 10263 【越南】【英文】【BT】【GM】【砍树】后端支持NPC仿真实玩家战斗和快速战斗(镜像回收时同步清除地图中缓存的镜像被动buff效果;)
---
ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerFamilyRedPacket.py | 23 ++++++++++++++++++++++-
1 files changed, 22 insertions(+), 1 deletions(-)
diff --git a/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerFamilyRedPacket.py b/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerFamilyRedPacket.py
index d2dca9f..1c95448 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerFamilyRedPacket.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerFamilyRedPacket.py
@@ -24,6 +24,7 @@
import ChPyNetSendPack
import PlayerCompensation
import PlayerDBGSEvent
+import PlayerViewCache
import PlayerControl
import PlayerFamily
import PyGameData
@@ -78,6 +79,7 @@
#value4 moneyType
#value5 getMoney
#strValue1 名字
+ #strValue2 face|facePic
recData.SetValue1(grabObj.redPacketID)
recData.SetValue2(grabObj.playerID)
@@ -85,6 +87,7 @@
recData.SetValue4(grabObj.moneyType)
recData.SetValue5(grabObj.getMoney)
recData.SetStrValue1(grabObj.playerName)
+ recData.SetStrValue2('%s|%s' % (grabObj.face, grabObj.facePic))
return
class RedPacketGrab():
@@ -97,6 +100,8 @@
self.playerName = ""
self.moneyType = 0
self.getMoney = 0
+ self.face = 0
+ self.facePic = 0
return
class RedPacketData():
@@ -356,11 +361,15 @@
if not redPacketObj:
continue
+ strValue2List = recData.GetStrValue2().split('|')
+
grabObj = RedPacketGrab(redPacketID, playerID)
grabObj.playerJob = recData.GetValue3()
grabObj.playerName = recData.GetStrValue1()
grabObj.moneyType = recData.GetValue4()
grabObj.getMoney = recData.GetValue5()
+ grabObj.face = GameWorld.ToIntDef(strValue2List[0]) if len(strValue2List) > 0 else 0
+ grabObj.facePic = GameWorld.ToIntDef(strValue2List[1]) if len(strValue2List) > 1 else 0
redPacketObj.grabDict[playerID] = grabObj
@@ -953,6 +962,9 @@
def CreateSystemRedPacket(redPackID):
## 发放系统红包
+ if IpyGameDataPY.GetFuncCfg("RedPacketClassify", 2):
+ GameWorld.DebugLog("未开放红包发放! redPackID=%s" % redPackID)
+ return
ipyData = IpyGameDataPY.GetIpyGameData('FamilyRedPack', redPackID)
if not ipyData:
return
@@ -1009,6 +1021,9 @@
def CreatNewFamilyRedPacket(family, playerID, redPackID):
'''外部接口,生成仙盟新红包'''
if not family or not playerID or not redPackID:
+ return
+ if IpyGameDataPY.GetFuncCfg("RedPacketClassify", 2):
+ GameWorld.DebugLog("未开放红包发放! redPackID=%s,familyID=%s" % (redPackID, family.GetID()), playerID)
return
ipyData = IpyGameDataPY.GetIpyGameData('FamilyRedPack', redPackID)
if not ipyData:
@@ -1203,6 +1218,8 @@
grabObj = RedPacketGrab(redPacketID, playerID)
grabObj.playerJob = curPlayer.GetJob()
grabObj.playerName = curPlayer.GetName()
+ grabObj.face = curPlayer.GetFace()
+ grabObj.facePic = curPlayer.GetFacePic()
grabObj.moneyType = moneyType
grabObj.getMoney = getMoney
grabRecordDict[playerID] = grabObj
@@ -1238,6 +1255,8 @@
grabInfo.Name = grabObj.playerName
grabInfo.NameLen = len(grabInfo.Name)
grabInfo.PlayeJob = grabObj.playerJob
+ grabInfo.Face = grabObj.face
+ grabInfo.FacePic = grabObj.facePic
grabInfo.MoneyNum = grabObj.getMoney
sendPack.GrabInfo.append(grabInfo)
sendPack.Count = len(sendPack.GrabInfo)
@@ -1295,7 +1314,7 @@
if isAll and state in [State_HasGot, State_HasAllGot]:
#GameWorld.DebugLog(" 已抢或抢完的不发: redPacketID=%s,state=%s" % (redPacketID, state))
continue
-
+ tagCacheDict = PlayerViewCache.GetCachePropDataDict(PlayerViewCache.FindViewCache(redPacketObj.playerID))
packetInfo = ChPyNetSendPack.tagFRedPacketInfo()
packetInfo.Clear()
packetInfo.RedPacketID = redPacketObj.redPacketID
@@ -1304,6 +1323,8 @@
packetInfo.NameLen = len(packetInfo.Name)
packetInfo.Time = redPacketObj.createTime
packetInfo.PlayeJob = redPacketObj.playerJob
+ packetInfo.Face = tagCacheDict.get("Face", 0)
+ packetInfo.FacePic = tagCacheDict.get("FacePic", 0)
packetInfo.MoneyType = redPacketObj.moneyType
packetInfo.MoneyNum = redPacketObj.moneyValue
packetInfo.GetWay = redPacketObj.getWay
--
Gitblit v1.8.0