#!/usr/bin/python
|
# -*- coding: GBK -*-
|
#-------------------------------------------------------------------------------
|
#
|
##@package GameWorldSkyTower
|
#
|
# @todo:ÌìÐÇËþ
|
# @author hxp
|
# @date 2020Äê03ÔÂ02ÈÕ
|
# @version 1.0
|
#
|
# ÏêϸÃèÊö: ÌìÐÇËþ
|
#
|
#-------------------------------------------------------------------------------
|
#"""Version = 2020Äê03ÔÂ02ÈÕ 20:00"""
|
#-------------------------------------------------------------------------------
|
|
import GameWorld
|
import ShareDefine
|
import PlayerUniversalGameRec
|
|
import time
|
|
def OnPlayerLogin(curPlayer):
|
PlayerUniversalGameRec.SendUniversalGameRecInfo(curPlayer, ShareDefine.Def_UniversalGameRecType_SkyTowerPassPlayer)
|
return
|
|
def __GetPassPlayerRecDataByFloorID(floorID):
|
## »ñÈ¡¹ý¹Ø²ã¼Ç¼Êý¾Ý
|
recTypeListData = GameWorld.GetUniversalRecMgr().GetTypeList(ShareDefine.Def_UniversalGameRecType_SkyTowerPassPlayer)
|
|
recData = None
|
for index in xrange(recTypeListData.Count()):
|
universalRecData = recTypeListData.At(index)
|
if universalRecData.GetValue1() == floorID:
|
recData = universalRecData
|
break
|
|
return recData
|
|
def MapServer_SkyTowerInfo(msgList):
|
## ÌìÐÇËþ¹ý¹Ø
|
msgType, msgData = msgList
|
|
# ¹ý¹Ø
|
if msgType == "ServerChallengePass":
|
__OnServerChallengePass(msgData)
|
return
|
|
# Áì½±
|
if msgType == "ServerChallengeReward":
|
floorID = msgData[0]
|
recData = __GetPassPlayerRecDataByFloorID(floorID)
|
isPass = 1 if recData else 0
|
return msgList + [isPass]
|
|
return
|
|
def __OnServerChallengePass(msgData):
|
## È«·þÌôÕ½²ã¹ý¹Ø
|
floorID, playerID, playerName, job, playerLV, realmLV = msgData
|
|
recData = __GetPassPlayerRecDataByFloorID(floorID)
|
if recData:
|
GameWorld.DebugLog("¸ÃÌìÐÇËþÒѾÓÐÈËÏȹý¹ØÁË£¬²»´¦Àí!floorID=%s" % floorID, playerID)
|
return
|
GameWorld.DebugLog("ÐÂÔöÌìÐÇËþÈ«·þÌôÕ½²ã¹ý¹Ø¼Ç¼!floorID=%s" % floorID, playerID)
|
|
recTypeListData = GameWorld.GetUniversalRecMgr().GetTypeList(ShareDefine.Def_UniversalGameRecType_SkyTowerPassPlayer)
|
recData = recTypeListData.AddRec()
|
recData.SetTime(int(time.time()))
|
recData.SetValue1(floorID)
|
recData.SetValue2(playerID)
|
recData.SetValue3(playerLV)
|
recData.SetValue4(job)
|
recData.SetValue5(realmLV)
|
recData.SetStrValue1(playerName)
|
|
# ¹ã²¥µ¥ÌõÊý¾Ý
|
PlayerUniversalGameRec.SendUniversalGameRecSingle(None, recData)
|
return
|
|
|
|