From a82c6b75220814b4e498f536754a61d6b28d6de3 Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期四, 17 一月 2019 20:58:15 +0800 Subject: [PATCH] 2899 【1.4.100】【1.5】跨服竞技积分超过65535报错 --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerPet.py | 31 +++++++++++++++++++++++++++---- 1 files changed, 27 insertions(+), 4 deletions(-) diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerPet.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerPet.py index 0c8873c..5a25e67 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerPet.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerPet.py @@ -35,6 +35,7 @@ import IpyGameDataPY import PlayerAttrFruit import GameMap +import OpenServerCampaign import PlayerMagicWeapon import PassiveBuffEffMng import CalcNoLineEffect @@ -319,7 +320,7 @@ #---通知客户端--- #rolePet.Sync_PetInfo() #刷新技能栏 - rolePet.Sync_SkillList() + #rolePet.Sync_SkillList() #---收到"宠物出战"请求--- #检查是否可出战 @@ -470,6 +471,9 @@ PetControl.DoLogic_PlayerPetLearnSkillList(rolePet, learnSkillList) RefreshPetItemAddAttr(curPlayer, True) SetPetSkillFightPower(curPlayer) # 技能战力重算 + + # 开服活动数据 + OpenServerCampaign.UpdOpenServerCampaignRecordData(curPlayer, ShareDefine.Def_Campaign_Type_PetLV, GetTotalPetLV(curPlayer)) return True @@ -683,16 +687,34 @@ SetPetSkillFightPower(curPlayer) # 技能战力重算 RefreshPetItemAddAttr(curPlayer, True) - + + # 开服活动数据 + OpenServerCampaign.UpdOpenServerCampaignRecordData(curPlayer, ShareDefine.Def_Campaign_Type_PetLV, GetTotalPetLV(curPlayer)) + PlayerSuccess.DoAddSuccessProgress(curPlayer, ShareDefine.SuccType_PetClassLV, 1, [petNPCID, updClassLV + 1]) extraInfoDict = {"petItemIndex":PetItemIndex, "petNPCID":petNPCID} extraInfoDict.update(eval(petDataItem.GetUserData())) DataRecordPack.DR_ClassUpSystem(curPlayer, "PetClassUp", updClassLV, extraInfoDict) #EventReport.WriteEvent_pet_class(curPlayer, petNpcData.GetName(), classLV, petClassExp, updClassLV, newClassExp) + return - +def GetTotalPetLV(curPlayer): + totalPetLV = 0 + petPackIndex = ShareDefine.rptPet + petPack = curPlayer.GetItemManager().GetPack(petPackIndex) + for i in range(petPack.GetCount()): + petItem = petPack.GetAt(i) + if petItem.IsEmpty(): + continue + petItemNPCID = petItem.GetUserAttr(ShareDefine.Def_IudetPet_NPCID) + classLV = petItem.GetUserAttr(ShareDefine.Def_IudetPet_ClassLV) + 1 + petIpyData = GetPetIpydata(petItemNPCID) + if not petIpyData: + continue + totalPetLV += classLV + return totalPetLV ## 刷新宠物数据物品增加的属性 def RefreshPetItemAddAttr(curPlayer, isUpdBillboard): @@ -757,7 +779,8 @@ PlayerControl.CalcAttrDict_Type(ShareDefine.Def_Effect_PetMaxAtk, totalMaxAtk, allAttrListPet) totalSignNum = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_TotalSignNum) # 总签到天数 # 果实给人物加属性, 魂石果实算附加属性层,单独计算 - PlayerAttrFruit.CalcAttrFruitAddAtrr(curPlayer, allAttrListPetSoul, ShareDefine.Def_AttrFruitFunc_Pet) + fightPowerEx = PlayerAttrFruit.CalcAttrFruitAddAtrr(curPlayer, allAttrListPetSoul, ShareDefine.Def_AttrFruitFunc_Pet) + curPlayer.SetDict(ChConfig.Def_PlayerKey_MFPEx % ShareDefine.Def_MFPType_PetSoul, fightPowerEx) #灵兽技能给人物加的属性 learnSkillList, passiveSkillList = GetPetLearnSkill(curPlayer) -- Gitblit v1.8.0