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