| | |
| | | import IPY_GameWorld
|
| | | import PlayerControl
|
| | | import GameWorldProcess
|
| | | import PlayerMergeEvent
|
| | | import PlayerSuccess
|
| | | import ReadChConfig
|
| | | import ShareDefine
|
| | | import FBCommon
|
| | |
| | | #注册玩家离开副本时间
|
| | | gameFBMgr.SetPlayerLogoffTick(0)
|
| | |
|
| | | PlayerSuccess.DoAddSuccessProgress(curPlayer, ShareDefine.SuccType_FeastRedPack_EnterMap, 1, [gameMapID])
|
| | | |
| | | if gameFBMgr.HaveFBPlayer(curPlayerID):
|
| | | #已经注册了这个玩家, 不清除已注册的玩家的字典信息
|
| | | return
|
| | |
|
| | | #注册进入这个副本的玩家
|
| | | gameFBMgr.AddFBPlayer(curPlayerID)
|
| | | |
| | | return
|
| | |
|
| | | def DoEnterFB(curPlayer, tick):
|
| | |
| | | if callFunc:
|
| | | #GameWorld.Log("副本逻辑不可使用 GameLogic_%d"%(mapID))
|
| | | callFunc(curPlayer , tick)
|
| | | |
| | | #有玩家离开副本广播一次
|
| | | PlayerMergeEvent.BroadcastMergePlayerEvent()
|
| | |
|
| | | #如果是最后一个人离开副本, 那么设置副本的离开时间, 5分钟后副本关闭
|
| | | __PlayerLeaveSetPlayerLogoffTick(curPlayer, tick)
|
| | |
| | | def PlayerLoginInFBCheck(curPlayer, tick):
|
| | | gameMap = GameWorld.GetMap()
|
| | | #如果此地图是自动释放的, 需要检查这个玩家
|
| | | if gameMap.GetMapFBType() == 0:
|
| | | if gameMap.GetMapFBType() in [IPY_GameWorld.fbtNull, IPY_GameWorld.fbtCrossVSRoom]:
|
| | | return False
|
| | |
|
| | | #玩家 在副本中,并且副本不踢出玩家下线
|