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