| | |
| | | #"""Version = 2017-07-04 15:00"""
|
| | | #---------------------------------------------------------------------
|
| | |
|
| | | import IpyGameDataPY
|
| | | import IPY_GameWorld
|
| | | import DataRecordPack
|
| | | import PlayerControl
|
| | |
| | | # 组成例子 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"
|
| | |
|
| | | if eventActionID in IpyGameDataPY.GetFuncEvalCfg("EventReport", 1):
|
| | | #GameWorld.DebugLog("不需要汇报的事件! %s" % eventActionID)
|
| | | return
|
| | | |
| | | if not curPlayer and not OperatorID:
|
| | | return
|
| | |
|
| | |
| | | playerInfo = urllib.urlencode({"RoleID": curPlayer.GetName(),
|
| | | "AccountID": GameWorld.GetPlatformAccID(curPlayer.GetAccID()),
|
| | | "IP": curPlayer.GetIP(),
|
| | | "Level": curPlayer.GetLV()}) |
| | | "Level": curPlayer.GetLV(),
|
| | | "DeviceFlag": curPlayer.GetAccountData().GetDeviceFlag()}) |
| | |
|
| | | OperatorID = GameWorld.GetPlayerPlatform(curPlayer)
|
| | | RegionName = GameWorld.GetPlayerServerSID(curPlayer)
|
| | | playerInfo = "&%s"%playerInfo
|
| | |
|
| | | else:
|
| | | # 合服情况,玩家取自己服发送,非玩家数据按指定平台配置发
|
| | |
| | | eventParam = "&%s"%eventParam
|
| | |
|
| | |
|
| | | getUrl = "%s?ProductID=%s&OperatorID=%s&RegionName=%s&EventID=%s&%s&Time=%s&DeviceFlag=%s&%s"%(\
|
| | | 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], curPlayer.GetAccountData().GetDeviceFlag(), eventParam)
|
| | | str(datetime.datetime.today()).split('.')[0], eventParam)
|
| | | GameWorld.DebugLog("EventReport: %s"%getUrl)
|
| | |
|
| | | # 第五个参数0代表get发送 1代表post
|
| | |
| | | def WriteEvent_login(curPlayer):
|
| | | if curPlayer.GetIP() == "127.0.0.1":
|
| | | return
|
| | | EventReport(ShareDefine.Def_UserAction_Login, "Job=%s&SessionID=%s"%(curPlayer.GetJob(), GameWorld.GetSessionID(curPlayer)), curPlayer)
|
| | | EventReport(ShareDefine.Def_UserAction_Login, "Job=%s&SessionID=%s&Version=%s"%(
|
| | | curPlayer.GetJob(), GameWorld.GetSessionID(curPlayer),
|
| | | curPlayer.GetAccountData().GetClientVersion()), curPlayer)
|
| | |
|
| | | return
|
| | |
|
| | |
| | |
|
| | | #避免记录太多信息
|
| | | if type_name in [IPY_GameWorld.TYPE_Price_Silver_Money] and abs(quantity * price) < ChConfig.Def_DRRecord_Min_Silver:
|
| | | return
|
| | | if type_name not in IpyGameDataPY.GetFuncEvalCfg("EventReport", 2):
|
| | | #GameWorld.DebugLog("该货币类型不需要汇报! type_name=%s" % type_name)
|
| | | return
|
| | | # 标识此货币是否是一级货币(充值)
|
| | | Recharged = 1 if type_name == IPY_GameWorld.TYPE_Price_Gold_Money else 0
|
| | |
| | | EventReport(ShareDefine.Def_UserAction_VIPLvUP, "VIPLevel=%s"%curPlayer.GetVIPLv(), curPlayer)
|
| | |
|
| | | def WriteEvent_FightPower(curPlayer):
|
| | | EventReport(ShareDefine.Def_UserAction_FightPower, "FightPower=%s"%curPlayer.GetFightPower(), curPlayer)
|
| | | EventReport(ShareDefine.Def_UserAction_FightPower, "FightPower=%s"%PlayerControl.GetFightPower(curPlayer), curPlayer)
|
| | |
|
| | |
|