From dbbcdad11c381c39b76641f2e558308933109e84 Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期四, 24 一月 2019 17:35:34 +0800 Subject: [PATCH] 5931 【后端】【1.5.100】诛仙装备开发(传奇属性生成规则格式配置修改) --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/DataRecordPack.py | 91 ++++++++++++++++++++++++++++++++++++++------- 1 files changed, 77 insertions(+), 14 deletions(-) diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/DataRecordPack.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/DataRecordPack.py index 7103f85..933c0ee 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/DataRecordPack.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/DataRecordPack.py @@ -113,6 +113,7 @@ import ChConfig import ShareDefine import PlayerControl +import PyGameData #=============================================================================== ##发送事件记录给EventShell # @param eventTypeStr: 事件类型标识 @@ -123,6 +124,7 @@ if curPlayer: pid = curPlayer.NomalDictGetProperty(ChConfig.Def_Player_Dict_PlayerFromPID) dataDict["pid"] = pid + dataDict["fightPower"] = curPlayer.GetFightPower() dataDict["time"] = str(datetime.datetime.today()).split(".")[0] dataStr = str(dataDict) @@ -153,7 +155,7 @@ name = curPlayer.GetName() dataDict = {'Type':'login', 'IP':str(ip), 'AccID':accID, - 'Name':name, 'LoginTime':str(loginTime), 'LogoutTime':''} + 'Name':name, 'LoginTime':str(loginTime), 'LogoutTime':'', 'MFPFightPower':GetMFPFightPowerInfo(curPlayer)} #发送封包 SendEventPack("LogInOut", dataDict, curPlayer) @@ -169,14 +171,24 @@ name = curPlayer.GetName() logoutTime = curPlayer.GetLogoffTime() loginTime = curPlayer.GetLoginTime() - - dataDict = {'Type':'logout', 'IP':ip, 'AccID':accID, - 'Name':name, 'LoginTime':str(loginTime), - 'LogoutTime':str(logoutTime)} + lv = curPlayer.GetLV() + vipLV = curPlayer.GetVIPLv() + gold = curPlayer.GetGold() + goldPaper = curPlayer.GetGoldPaper() + dataDict = {'Type':'logout', 'IP':ip, 'AccID':accID, 'LV':lv, 'VipLV':vipLV, + 'Name':name, 'LoginTime':str(loginTime), 'Gold':gold, 'GoldPaper':goldPaper, + 'LogoutTime':str(logoutTime), 'MFPFightPower':GetMFPFightPowerInfo(curPlayer)} #发送封包 SendEventPack("LogInOut", dataDict, curPlayer) return +def GetMFPFightPowerInfo(curPlayer): + #记录模块战力 + dataDict = {} + for mfpType in ShareDefine.ModuleFightPowerTypeList: + fightPower = PlayerControl.GetMFPFightPower(curPlayer, mfpType) + dataDict[mfpType] = fightPower + return dataDict ## 新增有效登陆 # @param accID: 账号ID @@ -347,7 +359,7 @@ def DR_CTGOK(curPlayer, addDict): ## CTG成功记录 dataDict = {'PlayerID':curPlayer.GetPlayerID(), 'PlayerName':curPlayer.GetPlayerName(), - 'AccID':curPlayer.GetAccID()} + 'AccID':curPlayer.GetAccID(), 'LV':curPlayer.GetLV()} dataDict.update(addDict) #发送封包 @@ -448,7 +460,7 @@ dataDict = {'PlayerID':curPlayer.GetPlayerID(), 'PlayerName':curPlayer.GetPlayerName(), 'AccID':curPlayer.GetAccID(), 'PlayerLV':playerLV, 'PlayerTotalExp':playerTotalExp, - 'CurLVRequireExp':curLVRequireExp} + 'CurLVRequireExp':curLVRequireExp, 'IP':curPlayer.GetIP()} #发送封包 SendEventPack("PlayerUpgrade", dataDict, curPlayer) @@ -926,8 +938,8 @@ dataDict = {"PlayerID":curPlayer.GetPlayerID(), "PlayerName":curPlayer.GetPlayerName(), "AccID":curPlayer.GetAccID()} dataDict.update(addDict) - SendEventPack("StoneChange_%s"%eventName, dataDict, curPlayer) + Cache_FightPowerChangeInfo(curPlayer, ChConfig.PowerDownType_StoneChange, addDict) return def DR_VIPChange(curPlayer, eventName, addDict={}): @@ -1258,12 +1270,6 @@ SendEventPack("PlayerGetReward", dataDict, curPlayer) return -def DR_MergePlayerEvent(playerID, eventType, eventTime, eventData, opType): - # 跨服玩家记录事件流向 - dataDict = {'PlayerID':playerID, "EventType":eventType, "EventTime":eventTime, 'EventData':eventData} - SendEventPack("MergePlayerEvent_%s" % opType, dataDict) - return - ## 申请加入贵宾俱乐部 # @param curPlayer # @param hasRegister: 之前是否已报名 @@ -1565,4 +1571,61 @@ 'AccID':curPlayer.GetAccID(), 'mwID':mwID, 'mwLV':mwLV} #发送封包 SendEventPack("MagicWeaponActive", dataDict, curPlayer) + return + +## 玩家上线成就检查 +# @return +def DR_CheckOldPlayerSuccess(curPlayer): + dataDict = {'PlayerID':curPlayer.GetPlayerID(), "PlayerName":curPlayer.GetPlayerName(), + 'AccID':curPlayer.GetAccID()} + + #发送封包 + SendEventPack("CheckOldPlayerSuccess", dataDict, curPlayer) + return + +## 玩家境界升级 +# @return +def DR_RealmLVUp(curPlayer, realmlv, realmPoint, needRealmPoint): + dataDict = {'PlayerID':curPlayer.GetPlayerID(), "PlayerName":curPlayer.GetPlayerName(), + 'AccID':curPlayer.GetAccID(), 'realmlv':realmlv, 'curRealmPoint':realmPoint, 'costRealmPoint':needRealmPoint, + 'playerlv':curPlayer.GetLV(), 'power':curPlayer.GetFightPower()} + + #发送封包 + SendEventPack("RealmLVUp", dataDict, curPlayer) + return + +def Cache_FightPowerChangeInfo(curPlayer, dotype, dataDict): + ##暂存可能导致战力降低的行为信息 + dataDict['dotime'] = str(datetime.datetime.today()).split(".")[0] + eventName = ChConfig.FightPowerDownRecordDict.get(dotype, 'Unknown') + if eventName in PyGameData.g_fightpowerChangeDataRecordDict: + PyGameData.g_fightpowerChangeDataRecordDict[eventName].append(dataDict) + else: + PyGameData.g_fightpowerChangeDataRecordDict[eventName] = [dataDict] + return + +def DR_FightPowerChangeInfo(curPlayer, beforePower): + ##记录战力降低的行为信息 + dataDict = {'beforePower':beforePower, 'PlayerID':curPlayer.GetPlayerID(), 'AccID':curPlayer.GetAccID()} + for dotype, dateList in PyGameData.g_fightpowerChangeDataRecordDict.items(): + rList = [] + for dateInfo in dateList: + dateTimeStr = dateInfo['dotime'] + if GameWorld.GetPastSeconds(dateTimeStr) >10: + continue + rList.append(dateInfo) + dataDict[dotype] = rList + PyGameData.g_fightpowerChangeDataRecordDict = {} + #发送封包 + SendEventPack("FightPowerChangeInfo", dataDict, curPlayer) + return + +## 玩家周狂欢(七天巡礼) +# @return +def DR_WeekPartyPoint(curPlayer, dayIndex, point): + dataDict = {'PlayerID':curPlayer.GetPlayerID(), + 'AccID':curPlayer.GetAccID(), 'dayIndex':dayIndex, 'point':point} + + #发送封包 + SendEventPack("WeekPartyPoint", dataDict, curPlayer) return \ No newline at end of file -- Gitblit v1.8.0