From 069a0af2eabef2682f612f241be44991d96d335a Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期六, 13 十二月 2025 12:14:38 +0800
Subject: [PATCH] 389 流向记录(汇报中心角色信息增加: 真实充值、战力、主线任务、主线过关、公会名、官职、祝福数、主阵容信息;)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/EventReport.py |   68 ++++++++++++++++++++++++++++------
 1 files changed, 56 insertions(+), 12 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/EventReport.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/EventReport.py
index 1c55019..8e3ea4c 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/EventReport.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/EventReport.py
@@ -32,6 +32,9 @@
 #"""Version = 2017-07-04 15:00"""
 #---------------------------------------------------------------------
 
+import ChConfig
+import TurnAttack
+import PlayerControl
 import IpyGameDataPY
 import ReadChConfig
 import ShareDefine
@@ -39,6 +42,7 @@
 
 import datetime
 import urllib
+import json
 
 ## 初始化事件
 #  @param None
@@ -79,20 +83,29 @@
     if curPlayer:
         if not GameWorld.IsNormalPlayer(curPlayer):
             return
-        #UTF8 需要转成url编码才可用
-        playerInfo = urllib.urlencode({"RoleID": curPlayer.GetName(),
-                          "AccountID": GameWorld.GetPlatformAccID(curPlayer.GetAccID()),
-                          "IP": curPlayer.GetIP(),
-                          "Level": curPlayer.GetLV(),
-                          "DeviceFlag": curPlayer.GetAccountData().GetDeviceFlag(),
-                          "Job": curPlayer.GetJob(),
-                          "PlayerID": curPlayer.GetPlayerID(),
-                          "CreateRoleTime": curPlayer.GetCreateRoleTime(),
-                          }) 
-        
+        playerInfo = {"RoleID": curPlayer.GetName(),
+                      "AccountID": GameWorld.GetPlatformAccID(curPlayer.GetAccID()),
+                      "IP": curPlayer.GetIP(),
+                      "Level": curPlayer.GetLV(),
+                      "DeviceFlag": curPlayer.GetAccountData().GetDeviceFlag(),
+                      "Job": curPlayer.GetJob(),
+                      "PlayerID": curPlayer.GetPlayerID(),
+                      "CreateRoleTime": curPlayer.GetCreateRoleTime(),
+                      "CTGRealTotal": curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_CTGRealTotal),
+                      "FightPower": PlayerControl.GetFightPower(curPlayer),
+                      "MainTaskID": PlayerControl.GetMainTaskID(curPlayer),
+                      "MainPassLVID": PlayerControl.GetPassMainLevelID(curPlayer),
+                      "FamilyName": curPlayer.GetFamilyName(),
+                      "ReamlLV":curPlayer.GetOfficialRank(),
+                      "TreeLV":curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_TreeLV),
+                      "LineupHero":GetReportMainLineupInfo(curPlayer),
+                      }
+        for mapID in ChConfig.ReportCenterMapIDList:
+            playerInfo["FBPass%s" % mapID] = curPlayer.NomalDictGetProperty(ChConfig.Def_Player_Dict_FBPassLineID % mapID)
+            
         OperatorID = GameWorld.GetPlayerPlatform(curPlayer)
         RegionName = GameWorld.GetPlayerServerSID(curPlayer)
-        playerInfo = "&%s"%playerInfo
+        playerInfo = "&%s" % urllib.urlencode(playerInfo) #UTF8 需要转成url编码才可用
         
     else:
         # 合服情况,玩家取自己服发送,非玩家数据按指定平台配置发
@@ -114,6 +127,37 @@
     # 第五个参数0代表get发送  1代表post
     GameWorld.GetGameWorld().EventReport_EventReport("", "", "", "", 0, getUrl)
     return
+
+def GetReportMainLineupInfo(curPlayer):
+    lineup = TurnAttack.GetPlayerLineup(curPlayer, ShareDefine.Lineup_Main)
+    if lineup.IsEmpty():
+        return {}
+    
+    heroDict = {}
+    curPack = curPlayer.GetItemManager().GetPack(ShareDefine.rptHero)
+    for posNum in lineup.GetPosNumList():
+        hero = lineup.GetLineupHero(posNum)
+        heroID = hero.heroID
+        itemIndex = hero.itemIndex
+        heroLV = 1
+        star = 0
+        if itemIndex >= 0 and itemIndex < curPack.GetCount():
+            heroItem = curPack.GetAt(itemIndex)
+            if heroItem and not heroItem.IsEmpty():
+                heroLV = heroItem.GetUserAttr(ShareDefine.Def_IudetHeroLV)
+                star = heroItem.GetUserAttr(ShareDefine.Def_IudetHeroStar)
+                breakLV = heroItem.GetUserAttr(ShareDefine.Def_IudetHeroBreakLV)
+                awakeLV = heroItem.GetUserAttr(ShareDefine.Def_IudetHeroAwakeLV)
+        heroDict[str(posNum)] = {
+                                 "HeroID":heroID,
+                                 "SkinID":hero.skinID,
+                                 "LV":heroLV,
+                                 "Star":star,
+                                 "BreakLV":breakLV,
+                                 "AwakeLV":awakeLV,
+                                 }
+    return json.dumps(heroDict, ensure_ascii=False).replace(" ", "")
+
 ## =================================================================================================
     
 def WriteEvent_login(curPlayer):

--
Gitblit v1.8.0