#!/usr/bin/python
|
# -*- coding: GBK -*-
|
#-------------------------------------------------------------------------------
|
#
|
##@package GM.Commands.EnterFB
|
#
|
# @todo:½øÈ븱±¾
|
# @author hxp
|
# @date 2017-10-25
|
# @version 1.0
|
#
|
# ÏêϸÃèÊö: ½øÈ븱±¾
|
#
|
#-------------------------------------------------------------------------------
|
#"""Version = 2017-10-25 18:00"""
|
#-------------------------------------------------------------------------------
|
|
import GameWorld
|
import PlayerControl
|
import FBCommon
|
import ChConfig
|
import PlayerFB
|
|
|
## GMÃüÁîÖ´ÐÐÈë¿Ú
|
# @param curPlayer µ±Ç°Íæ¼Ò
|
# @param paramList ²ÎÊýÁбí []
|
# @return None
|
# @remarks º¯ÊýÏêϸ˵Ã÷.
|
def OnExec(curPlayer, paramList):
|
|
if not paramList or len(paramList) == 3:
|
GameWorld.DebugAnswer(curPlayer, "EnterFB mapID ¿ÉÑ¡(lineID posX posY)")
|
return
|
mapID = paramList[0]
|
lineID = paramList[1] if len(paramList) > 1 else 0
|
posX = paramList[2] if len(paramList) > 2 else 0
|
posY = paramList[3] if len(paramList) > 3 else 0
|
if FBCommon.GetFBPDictValue(curPlayer, ChConfig.Def_PDict_LastEnterFBTick % mapID):
|
FBCommon.SetFBPDictValue(curPlayer, ChConfig.Def_PDict_LastEnterFBTick % mapID, 0)
|
|
tick = GameWorld.GetGameWorld().GetTick()
|
if mapID in FBCommon.GetClientCustomScene():
|
PlayerFB.DoEnterCustomScene(curPlayer, mapID, lineID, tick)
|
elif mapID in ChConfig.Def_CrossMapIDList:
|
PlayerControl.PlayerEnterCrossServer(curPlayer, mapID, lineID)
|
else:
|
PlayerControl.PlayerEnterFB(curPlayer, mapID, lineID, posX, posY)
|
return
|
|