From fdaa1368178da9b8b3f667c2a8294b9cf7ba8bc0 Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期六, 27 四月 2019 12:21:47 +0800
Subject: [PATCH] 6603 【后端】【2.0】增加新版的sp和被动技能  --  印记通知修改

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFamily.py |   38 ++++++++++++++++++++++++++++----------
 1 files changed, 28 insertions(+), 10 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFamily.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFamily.py
index 37d76f5..5697e1b 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFamily.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFamily.py
@@ -28,6 +28,7 @@
 import GameLogic_FamilyWar
 import ChMapToGamePyPack
 import PlayerFamilyTech
+import PlayerFamilyRedPacket
 import SkillCommon
 import BuffSkill
 import ItemCommon
@@ -35,6 +36,7 @@
 import GameFuncComm
 import PlayerTJG
 import IpyGameDataPY
+import cPickle
 
 import time
 import random
@@ -106,9 +108,11 @@
             EventShell.EventResponse_OnFamilyLVUp(curPlayer)
         
     if curPlayer.GetFamilyMemberLV() != refreshPack.GetFamilyMemberLV():
+        # 因为仙盟职位没有存DBPlayer,而跨服后又没有Family信息,所以这里做个存储,用于跨服用
+        curPlayer.SetReceivedSalary(refreshPack.GetFamilyMemberLV())
         curPlayer.SetFamilyMemberLV(refreshPack.GetFamilyMemberLV())
         #通知周围玩家家族职位刷新
-        curPlayer.Notify_FamilyMemberLVRefresh()
+        #curPlayer.Notify_FamilyMemberLVRefresh()
         GameLogic_FamilyWar.DoCheckChampionFamilyTitle(curPlayer)
     
     if curPlayer.GetFamilyMoney() != refreshPack.GetFamilyMoney():
@@ -152,6 +156,7 @@
     PlayerFamilyTech.Sync_PlayerFamilyTechLV(curPlayer)
     DelAddFamilyRecord(curPlayer)
     GameLogic_FamilyWar.DoCheckChampionFamilyTitle(curPlayer)
+    PlayerFamilyRedPacket.CreatCacheRedPacktet(curPlayer)
     return
 
 ## 退出家族触发事件
@@ -184,7 +189,7 @@
 def __OnFamilyLVBuffChange(curPlayer, tick):
     return
     # 跨服服务器不处理,防止登录跨服服务器后无战盟导致战力下降
-    if GameWorld.IsMergeServer():
+    if GameWorld.IsCrossServer():
         return
     
     familyLVBuffSkillTypeID = ReadChConfig.GetEvalChConfig("FamilyLVBuff")
@@ -586,7 +591,7 @@
             return
 
     #请求记录申请进入家族信息
-    sendMsg = str([familyID, curPlayer.GetFightPower()])
+    sendMsg = cPickle.dumps([familyID, curPlayer.GetFightPower()], 2)
     curPlayer.GameServer_QueryPlayerByID(ChConfig.queryType_AddFamilyAction, 
                                         ShareDefine.Def_ActionType_FamilyAdd, '', sendMsg, len(sendMsg))
     
@@ -630,6 +635,15 @@
     PlayerFamilyTech.Sync_PlayerFamilyTechLV(curPlayer)
     SyncFamilyActivityInfo(curPlayer)
     Sync_FamilyDayRewardState(curPlayer)
+    return
+
+def FamilyPlayerOnLoginCross(curPlayer):
+    ## 登录跨服服务器
+    crossFamilyMemberLV = curPlayer.GetReceivedSalary()
+    if crossFamilyMemberLV:
+        curPlayer.SetFamilyMemberLV(crossFamilyMemberLV)
+        GameWorld.DebugLog("跨服登录设置仙盟职位等级: %s" % crossFamilyMemberLV, curPlayer.GetPlayerID())
+        
     return
 
 
@@ -676,20 +690,21 @@
         if item.GetType() != ChConfig.Def_ItemType_FamilyBossFood:
             continue
         addActiveValue = item.GetEffectByIndex(0).GetEffectValue(0)
-        if not addActiveValue:
-            continue
+#        if not addActiveValue:
+#            continue
         itemCnt = item.GetCount() 
         totalAddActiveValue += addActiveValue * itemCnt
-        delItemList.append(item, itemCnt)
+        delItemList.append([item, itemCnt])
         totalCnt += itemCnt
-    if not totalAddActiveValue:
+    if not totalCnt:
         GameWorld.DebugLog('背包里没有可捐献的物品')
         return
     for eatItem, delCnt in delItemList:
         ItemCommon.DelItem(curPlayer, eatItem, delCnt, False)
         
     #累加个人活跃度/贡献度
-    AddPlayerFamilyActiveValue(curPlayer, totalAddActiveValue, True, ShareDefine.Def_AddFAVReason_FamilyDonateItem)
+    if totalAddActiveValue:
+        AddPlayerFamilyActiveValue(curPlayer, totalAddActiveValue, True, ShareDefine.Def_AddFAVReason_FamilyDonateItem)
     AddFamilyBossFood(curPlayer, totalCnt, ShareDefine.Def_AddFAVReason_FamilyDonateItem)
     GameWorld.DebugLog('    捐献仙盟兽粮 totalCnt=%s,totalAddActiveValue=%s'%(totalCnt,totalAddActiveValue))
     return
@@ -731,7 +746,7 @@
 ## 添加家族事件记录
 def AddFamilyEventNote(curPlayer, eventType, valueList):
     ##同步记录到GameServer, eventType默认为value1
-    sendMsg = str([eventType] + valueList)
+    sendMsg = cPickle.dumps([eventType] + valueList, 2)
     curPlayer.GameServer_QueryPlayerByID(ChConfig.queryType_AddFamilyAction, ShareDefine.Def_ActionType_FamilyEvent, '', sendMsg, len(sendMsg))
     GameWorld.DebugLog("AddFamilyEventNote sendMsg=%s" % sendMsg)
     return
@@ -752,6 +767,7 @@
 #  @param awardIndex
 #  @return None
 def GetFamilyActivityAward(curPlayer, awardIndex):
+    return
     familyActiveList = IpyGameDataPY.GetFuncEvalCfg('FamilyActive')
     familyActiveAwardList = IpyGameDataPY.GetFuncEvalCfg('FamilyActive', 2)
     if awardIndex < 0 or awardIndex >= len(familyActiveList):
@@ -787,6 +803,7 @@
     return
 
 def AddFamilyActivity(curPlayer, actionid, addCnt=1):
+    return
     ipyData = IpyGameDataPY.GetIpyGameData('FamilyActivity', actionid)
     if not ipyData:
         return
@@ -814,6 +831,7 @@
     return totalPoint
 
 def SyncFamilyActivityInfo(curPlayer, syncActionid=-1):
+    return
     #通知活跃领取情况
     syncActionIDList = ShareDefine.FamilyActiveIDList if syncActionid==-1 else [syncActionid]
     sendPack = ChPyNetSendPack.tagMCFamilyActivityInfo()
@@ -842,7 +860,7 @@
 def UpdateFamilyName(index, clientData, tick):
     
     curPlayer = GameWorld.GetPlayerManager().GetPlayerByIndex(index)
-    if GameWorld.IsMergeServer():
+    if GameWorld.IsCrossServer():
         #itemuse_lzxkoy_0:不可在跨服环境下使用改名功能。
         PlayerControl.NotifyCode(curPlayer, "itemuse_lzxkoy_0")
         return

--
Gitblit v1.8.0