From 388823edfe6308cba6f76ca6dc4f20022c5cb2be Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期一, 30 六月 2025 19:03:50 +0800 Subject: [PATCH] 10431 【英文】看广告获得限时代金券 --- ServerPython/CoreServerGroup/GameServer/Script/EventReport.py | 33 +++++++++++++++++++++++++-------- 1 files changed, 25 insertions(+), 8 deletions(-) diff --git a/ServerPython/CoreServerGroup/GameServer/Script/EventReport.py b/ServerPython/CoreServerGroup/GameServer/Script/EventReport.py index 7b6577f..2dbb565 100644 --- a/ServerPython/CoreServerGroup/GameServer/Script/EventReport.py +++ b/ServerPython/CoreServerGroup/GameServer/Script/EventReport.py @@ -38,6 +38,8 @@ import md5 import os import re +import urllib +import IpyGameDataPY EventFilepath = "D:\\EventServer\\PythonScribe\\EventLog\\" @@ -87,7 +89,15 @@ def EventReport(eventActionID, eventParam, curPlayer=None, OperatorID=""): # 组成例子 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 not curPlayer and not OperatorID: return @@ -96,8 +106,8 @@ playerInfo = "" if curPlayer: - playerInfo = "&AccountID=%s&IP=%s"%(GameWorld.GetPlatformAccID(curPlayer.GetAccID()), - curPlayer.GetIP()) + playerInfo = "&AccountID=%s&IP=%s&DeviceFlag=%s"%(GameWorld.GetPlatformAccID(curPlayer.GetAccID()), + curPlayer.GetIP(), curPlayer.GetDeviceFlag()) #======================================================================= # #UTF8 需要转成url编码才可用 # playerInfo = urllib.urlencode({"RoleID": curPlayer.GetName(), @@ -109,12 +119,19 @@ RegionName = GameWorld.GetPlayerServerSID(curPlayer) else: - # 合服情况,玩家取自己服发送,非玩家数据按指定平台配置发,没有则取配置主服 - RegionName = 's%s'%GameWorld.GetPlayerMainServerID(OperatorID) + # 合服情况,玩家取自己服发送,非玩家数据按指定平台配置发 + sid = GameWorld.GetPlayerMainServerID(OperatorID) + if not sid: + GameWorld.ErrLog("GetPlayerMainServerID: %s-%s"%(OperatorID, sid)) + return + RegionName = 's%s'%sid - getUrl = "%s?ProductID=%s&OperatorID=%s&RegionName=%s&EventID=%s%s&Time=%s&%s"%(\ + if eventParam: + eventParam = "&%s"%eventParam + + getUrl = "%s?ProductID=%s&OperatorID=%s&RegionName=%s&EventID=%s%s&Time=%s%s"%(\ ReportUrl, ProductID, OperatorID, RegionName, eventActionID, playerInfo, - str(datetime.datetime.today()).split('.')[0], eventParam) + urllib.quote(str(datetime.datetime.today()).split('.')[0]), eventParam) GameWorld.DebugLog("EventReport: %s"%getUrl) # 第五个参数0代表get发送 1代表post @@ -127,7 +144,7 @@ # @param eventClass # @return None def WriteEvent(eventClass): - if GameWorld.IsMergeServer(): + if GameWorld.IsCrossServer(): return if eventClass.GetScribeEventName() not in ReadChConfig.GetEvalChConfig("EventReportID"): -- Gitblit v1.8.0