From 229d066301a40c3e20a1167571c42185a4e6029b Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期五, 20 三月 2026 11:03:56 +0800
Subject: [PATCH] 129 【战斗】战斗系统-服务端(主线关卡每个房间开始战斗时补通知当前进度;)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/EventReport.py |   61 +++++++++++++++++-------------
 1 files changed, 35 insertions(+), 26 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..9dcf009 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/EventReport.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/EventReport.py
@@ -32,6 +32,8 @@
 #"""Version = 2017-07-04 15:00"""
 #---------------------------------------------------------------------
 
+import ChConfig
+import PlayerControl
 import IpyGameDataPY
 import ReadChConfig
 import ShareDefine
@@ -57,17 +59,18 @@
 #  @param eventParam 事件参数
 #  @param curPlayer 
 #  @return None
-def EventReport(eventActionID, eventParam, curPlayer=None, OperatorID=""):
+def EventReport(eventActionID, eventParam, curPlayer=None, OperatorID="", checkNeed=True):
     # 组成例子 eventParam 的格式必须是 xx=yy&zz=cc
     #  "http://192.168.0.249:12000/event_receiver?EventID=3099&OperatorID=test&PlayerCount=102&Time=2018-02-08 18:30:30&ProductID=snxxz&RegionName=s1"
     
-    reportActionIDList = IpyGameDataPY.GetFuncEvalCfg("EventReport", 3)
-    if reportActionIDList and eventActionID not in reportActionIDList:
-        #GameWorld.DebugLog("非需要汇报的事件ID! %s" % eventActionID)
-        return
-    if eventActionID in IpyGameDataPY.GetFuncEvalCfg("EventReport", 1):
-        #GameWorld.DebugLog("不需要汇报的事件! %s" % eventActionID)
-        return
+    if checkNeed:
+        reportActionIDList = IpyGameDataPY.GetFuncEvalCfg("EventReport", 3)
+        if reportActionIDList and eventActionID not in reportActionIDList:
+            #GameWorld.DebugLog("非需要汇报的事件ID! %s" % eventActionID)
+            return
+        if eventActionID in IpyGameDataPY.GetFuncEvalCfg("EventReport", 1):
+            #GameWorld.DebugLog("不需要汇报的事件! %s" % eventActionID)
+            return
     
     if not curPlayer and not OperatorID:
         return
@@ -79,28 +82,33 @@
     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(),
+                      "ClientVersion":curPlayer.GetAccountData().GetClientVersion(),
+                      "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),
+                      }
+        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:
-        # 合服情况,玩家取自己服发送,非玩家数据按指定平台配置发
-        sid = GameWorld.GetPlayerMainServerID(OperatorID)
-        if not sid:
-            GameWorld.ErrLog("GetPlayerMainServerID: %s-%s"%(OperatorID, sid))
-            return
-        RegionName = 's%s'%sid
+        serverID = GameWorld.GetGameWorld().GetServerID()
+        RegionName = 's%s'%serverID
 
     if eventParam:
         eventParam = "&%s"%eventParam
@@ -114,6 +122,7 @@
     # 第五个参数0代表get发送  1代表post
     GameWorld.GetGameWorld().EventReport_EventReport("", "", "", "", 0, getUrl)
     return
+
 ## =================================================================================================
     
 def WriteEvent_login(curPlayer):

--
Gitblit v1.8.0