| | |
| | | # @param eventTypeStr: 事件类型标识
|
| | | # @param dataDict: 事件字典
|
| | | # @return None
|
| | | def SendEventPack(eventTypeStr, dataDict, curPlayer=None):
|
| | |
|
| | | def SendEventPack(eventTypeStr, dataDict, curPlayer=None, checkBatServer=True):
|
| | | |
| | | if checkBatServer and GameWorld.IsBattleServer():
|
| | | GameWorld.DebugLogEx("战斗服务器暂不做流向记录")
|
| | | return
|
| | | |
| | | if curPlayer:
|
| | | if not GameWorld.IsNormalPlayer(curPlayer):
|
| | | return
|
| | |
| | |
|
| | | dataStr = str(dataDict)
|
| | | GameWorld.GetGameWorld().EventShell_SendEventEx(eventTypeStr, len(eventTypeStr), dataStr, len(dataStr))
|
| | | return
|
| | |
|
| | | def DR_Reload(reloadType):
|
| | | ## 重读流向
|
| | | GroupName = GameWorld.GetServerGroupName()
|
| | | ServerID = GameWorld.GetGameWorld().GetServerID()
|
| | | dataDict = {"GroupName":GroupName, "ServerID":ServerID, "ReloadType":reloadType}
|
| | | SendEventPack("Reload", dataDict, checkBatServer=False)
|
| | | return
|
| | |
|
| | | ## 登陆
|
| | |
| | | 'LoginTime':str(loginTime), 'LogoutTime':str(logoutTime)}
|
| | | #发送封包
|
| | | SendEventPack("LogInOut", dataDict, curPlayer)
|
| | | return
|
| | |
|
| | | def DR_OnlineTimeToday(curPlayer, onlineTime):
|
| | | ## 今日累计在线时长
|
| | | dataDict = {'PlayerID':curPlayer.GetPlayerID(), 'PlayerName':curPlayer.GetPlayerName(), |
| | | 'AccID':curPlayer.GetAccID(), 'OnlineTime':onlineTime}
|
| | | SendEventPack("OnlineTimeToday", dataDict)
|
| | | return
|
| | |
|
| | | ## 新增第一次登陆
|
| | |
| | |
|
| | | def DR_MainLevelPass(curPlayer, lvID):
|
| | | ## 主线关卡过关
|
| | | treeLV = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_TreeLV)
|
| | | dataDict = {'PlayerID':curPlayer.GetPlayerID(), 'PlayerName':curPlayer.GetPlayerName(),
|
| | | 'AccID':curPlayer.GetAccID(), 'lvID':lvID}
|
| | | 'AccID':curPlayer.GetAccID(), 'lvID':lvID, 'treeLV':treeLV}
|
| | | SendEventPack("MainLevelPass", dataDict, curPlayer)
|
| | | return
|
| | |
|
| | |
| | | SendEventPack("FBPass_%s" % mapID, dataDict, curPlayer)
|
| | | return
|
| | |
|
| | | def DR_FightStat(reqPlayerID, mapID, funcLineID, isWin, turnNum, turnMax, heroCount, costTime, statInfo, drLineupInfo):
|
| | | ## 战斗统计
|
| | | dataDict = {'PlayerID':reqPlayerID, 'mapID':mapID, 'funcLineID':funcLineID, 'isWin':isWin, |
| | | 'turnNum':turnNum, 'turnMax':turnMax, 'heroCount':heroCount, 'costTime':costTime}
|
| | | SendEventPack("FightTime", dataDict, checkBatServer=False)
|
| | | |
| | | #战斗失败的记录明细信息
|
| | | if not isWin:
|
| | | failDRDict = {"statInfo":statInfo, "drLineupInfo":drLineupInfo}
|
| | | failDRDict.update(dataDict)
|
| | | SendEventPack("FightFail_%s" % mapID, failDRDict, checkBatServer=False)
|
| | | return
|
| | |
|
| | | ##累计登陆礼包
|
| | | def DR_LoginDayAward(curPlayer, dayIndex):
|
| | | dataDict = {'PlayerID':curPlayer.GetPlayerID(),
|