| | |
| | | #"""Version = 2017-07-04 15:00"""
|
| | | #---------------------------------------------------------------------
|
| | |
|
| | | import ChConfig
|
| | | import PlayerControl
|
| | | import IpyGameDataPY
|
| | | import ReadChConfig
|
| | | import ShareDefine
|
| | |
| | | # @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
|
| | |
| | | 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
|
| | |
| | | # 第五个参数0代表get发送 1代表post
|
| | | GameWorld.GetGameWorld().EventReport_EventReport("", "", "", "", 0, getUrl)
|
| | | return
|
| | |
|
| | | ## =================================================================================================
|
| | |
|
| | | def WriteEvent_login(curPlayer):
|