From 262e9c36dea8e7712cfc31d5284ab5319fc67990 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期一, 13 一月 2025 10:39:15 +0800
Subject: [PATCH] 10263 【越南】【英文】后端支持NPC仿真实玩家战斗和快速战斗(最大护盾改为存ExAttr16)
---
ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerFamily.py | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 52 insertions(+), 2 deletions(-)
diff --git a/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerFamily.py b/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerFamily.py
index b30be55..d9af3a4 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerFamily.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerFamily.py
@@ -29,6 +29,7 @@
import DataRecordPack
import PlayerFamilyBoss
import IpyGameDataPY
+import PlayerFamilyZhenbaoge
import PlayerFamilyRedPacket
import GameWorldFamilyWar
import ChPyNetSendPack
@@ -403,6 +404,8 @@
GameWorld.Log('创建家族 : %s(%s), fakeIndex=%s, creatFamilyTimes=%s' % (fullFamilyName, curFamily.GetID(), fakeIndex, creatFamilyTimes+1), curPlayerID)
PlayerControl.WorldNotify(0, "jiazu_liubo_671654", [curPlayer.GetName(), fullFamilyName, curFamily.GetID()])
+
+ PlayerFamilyZhenbaoge.OnZhenbaogeReset(curFamily)
return
## 获取家族全名
@@ -2153,8 +2156,10 @@
curMember.SetLV(curPlayer.GetLV())
curMember.SetReincarnationLv(curPlayer.GetReincarnationLv())
curMember.SetJob(curPlayer.GetJob())
- curMember.SetOperateInfo(curPlayer.GetFace()) #curPlayer.GetOperateInfo()
+ curMember.SetOperateInfo(curPlayer.GetOperateInfo())
curMember.SetOfficialRank(curPlayer.GetOfficialRank())
+ curMember.SetFace(curPlayer.GetFace())
+ curMember.SetFacePic(curPlayer.GetFacePic())
return
#---------------------------------------------------------------------
## 玩家刷新
@@ -2769,6 +2774,8 @@
family = familyManager.GetAt(i)
#仙盟boss
PlayerFamilyBoss.FamilyBossFBOnDayEx(family)
+ #珍宝阁
+ PlayerFamilyZhenbaoge.OnDayEx(family)
return
#---------------------------------------------------------------------
@@ -3708,6 +3715,8 @@
__DoChuangong_Response(curPlayer, tagPlayerID, isOK)
return
+ if msgType == "ThanksGift":
+ __DoChuangong_ThanksGift(curPlayer, msgData)
return
def __CheckChuangongPlayer(curPlayer, tagPlayerID):
@@ -3727,8 +3736,26 @@
def __DoChuangong_Invite(curPlayer, tagPlayerID):
## 邀请
playerID = curPlayer.GetPlayerID()
- tagPlayer = __CheckChuangongPlayer(curPlayer, tagPlayerID)
+ curFamily = curPlayer.GetFamily()
+ if not curFamily:
+ return
+ tagMember = curFamily.FindMember(tagPlayerID)
+ if not tagMember:
+ GameWorld.DebugLog("非盟友无法传功! tagPlayerID=%s" % tagPlayerID, curPlayer.GetPlayerID())
+ return
+ tagPlayer = tagMember.GetPlayer()
if not tagPlayer:
+ clientPack = ChPyNetSendPack.tagGCChuangongStart()
+ clientPack.Clear()
+ clientPack.PlayerID = tagMember.GetPlayerID()
+ clientPack.Name = tagMember.GetName()
+ clientPack.NameLen = len(clientPack.Name)
+ clientPack.LV = tagMember.GetLV()
+ clientPack.Job = tagMember.GetJob()
+ clientPack.RealmLV = tagMember.GetOfficialRank()
+ NetPackCommon.SendFakePack(curPlayer, clientPack)
+ PyGameData.g_chuangongTagPlayerDict[playerID] = tagPlayerID
+ GameWorld.DebugLog("对方离线,则自己直接开始传功: tagPlayerID=%s, %s" % (tagPlayerID, PyGameData.g_chuangongPlayerDict), playerID)
return
invitePlayerIDList = PyGameData.g_chuangongPlayerDict.get(playerID, [])
if tagPlayerID not in invitePlayerIDList:
@@ -3742,6 +3769,8 @@
clientPack.LV = curPlayer.GetLV()
clientPack.Job = curPlayer.GetJob()
clientPack.RealmLV = curPlayer.GetOfficialRank()
+ clientPack.Face = curPlayer.GetFace()
+ clientPack.FacePic = curPlayer.GetFacePic()
NetPackCommon.SendFakePack(tagPlayer, clientPack)
GameWorld.DebugLog("邀请传功: tagPlayerID=%s, %s" % (tagPlayerID, PyGameData.g_chuangongPlayerDict), playerID)
return
@@ -3782,6 +3811,27 @@
clientPack.Job = tagPlayer.GetJob()
clientPack.RealmLV = tagPlayer.GetOfficialRank()
NetPackCommon.SendFakePack(curPlayer, clientPack)
+ PyGameData.g_chuangongTagPlayerDict[curPlayer.GetPlayerID()] = tagPlayer.GetPlayerID()
+ return
+
+def __DoChuangong_ThanksGift(curPlayer, msgData):
+ itemID = msgData[0]
+ playerID = curPlayer.GetPlayerID()
+ tagPlayerID = PyGameData.g_chuangongTagPlayerDict.pop(playerID, 0)
+ GameWorld.DebugLog("__DoChuangong_ThanksGift tagPlayerID=%s" % tagPlayerID, playerID)
+ if not tagPlayerID:
+ return
+ curFamily = curPlayer.GetFamily()
+ if not curFamily:
+ return
+ tagMember = curFamily.FindMember(tagPlayerID)
+ if not tagMember:
+ return
+ assistPlayerDict = {tagPlayerID:{"PlayerName":tagMember.GetName(), "Job":tagMember.GetJob(),
+ "LV":tagMember.GetLV(), "RealmLV":tagMember.GetOfficialRank(),
+ "Face":tagMember.GetFace(), "FacePic":tagMember.GetFacePic()}}
+ GameWorld.DebugLog(" assistPlayerDict %s" % assistPlayerDict, playerID)
+ PlayerAssist.AddNewAssistThanksEx(curPlayer, itemID, assistPlayerDict)
return
##--------------------------------------------------------------------------------------------------
--
Gitblit v1.8.0