#!/usr/bin/python # -*- coding: GBK -*- #------------------------------------------------------------------------------- # ##@package GM.Commands.HelpCheckInInfo # # @todo:¸±±¾ÖúÕ½µÇ¼ÇÍæ¼ÒÐÅÏ¢ # @author hxp # @date 2018-11-27 # @version 1.0 # # ÏêϸÃèÊö: ¸±±¾ÖúÕ½µÇ¼ÇÍæ¼ÒÐÅÏ¢ # #------------------------------------------------------------------------------- #"""Version = 2018-11-27 21:30""" #------------------------------------------------------------------------------- import GameWorld import PyGameData import PlayerFBHelpBattle import ShareDefine import random import time ## Ö´ÐÐÂß¼­ # @param curPlayer µ±Ç°Íæ¼Ò # @param gmList [] # @return None def OnExec(curPlayer, gmList): playerID = curPlayer.GetPlayerID() if playerID not in PyGameData.g_fbHelpBattleCheckInPlayerDict: GameWorld.DebugAnswer(curPlayer, "Íæ¼ÒδµÇ¼Ç»òµÇ¼ÇÒѳ¬Ê±£¡") return helpBattlePlayer = PyGameData.g_fbHelpBattleCheckInPlayerDict[playerID] if not gmList or len(gmList) < 2: if len(gmList) == 1: __AddFakeHelpPlayer(curPlayer, gmList[0]) return GameWorld.DebugAnswer(curPlayer, "-------------------------------") GameWorld.DebugAnswer(curPlayer, "²é¿´µÇ¼ÇÐÅÏ¢: HelpCheckInInfo") GameWorld.DebugAnswer(curPlayer, "Ìí¼ÓɽկµÇ¼Ç: HelpCheckInInfo ɽկÊý") GameWorld.DebugAnswer(curPlayer, "Çå³ýɽկµÇ¼Ç: HelpCheckInInfo 0") GameWorld.DebugAnswer(curPlayer, "ÉèÖýñÈÕÖúÕ½Êý: HelpCheckInInfo µØÍ¼ Ïß· ´ÎÊý") __PrintCheckInInfo(curPlayer, helpBattlePlayer) return if len(gmList) == 3: mapID, lineID, helpCount = gmList helpBattlePlayer.todayHelpCountDict[(mapID, lineID)] = helpCount GameWorld.DebugAnswer(curPlayer, "ÉèÖýñÈÕÖúÕ½Êý: %s" % helpBattlePlayer.todayHelpCountDict) else: GameWorld.DebugAnswer(curPlayer, "GMÃüÁî´íÎó£¡") return __PrintCheckInInfo(curPlayer, helpBattlePlayer) return def __PrintCheckInInfo(curPlayer, helpBattlePlayer): GameWorld.DebugAnswer(curPlayer, "µÈ¼¶: %s, ¾³½ç: %s, VIP%s" % (helpBattlePlayer.playerLV, helpBattlePlayer.realmLV, helpBattlePlayer.vipLV)) GameWorld.DebugAnswer(curPlayer, "Õ½Á¦: %s, ÏÉÃË: %s" % (helpBattlePlayer.fightPower, helpBattlePlayer.familyID)) GameWorld.DebugAnswer(curPlayer, "µÇ¼Çʱ¼ä: %s, ´ÎÊý: %s" % (GameWorld.ChangeTimeNumToStr(helpBattlePlayer.checkInTime), helpBattlePlayer.checkInCount)) GameWorld.DebugAnswer(curPlayer, "½ñÌìÖúÕ½Êý: %s" % (helpBattlePlayer.todayHelpCountDict)) GameWorld.DebugAnswer(curPlayer, "½ÓÊÜÀñºÐÊý: %s" % (helpBattlePlayer.getThanksGiftCountDict)) return def __AddFakeHelpPlayer(curPlayer, addCount): ## Ìí¼Ó¼ÙµÄÖúÕ½µÇ¼Ç if addCount <= 0: clearFakeIDList = [] for playerID in PyGameData.g_fbHelpBattleCheckInPlayerDict.keys(): if playerID < 10000: PyGameData.g_fbHelpBattleCheckInPlayerDict.pop(playerID) clearFakeIDList.append(playerID) GameWorld.DebugAnswer(curPlayer, "Çå³ý¼ÙÖúÕ½µÇ¼Ç %s" % clearFakeIDList) return addFakeIDList = [] curTime = int(time.time()) nowCheckInCount = len(PyGameData.g_fbHelpBattleCheckInPlayerDict) fakeIDStart = 1000 + nowCheckInCount + 1 for fakeID in xrange(fakeIDStart, fakeIDStart + addCount + 1): if fakeID >= 10000: break helpBattlePlayer = PlayerFBHelpBattle.HelpBattlePlayer(fakeID) PyGameData.g_fbHelpBattleCheckInPlayerDict[fakeID] = helpBattlePlayer playerName = "Íæ¼Ò%d" % fakeID helpBattlePlayer.playerName = playerName.decode(ShareDefine.Def_Game_Character_Encoding).encode(GameWorld.GetCharacterEncoding()) helpBattlePlayer.playerLV = curPlayer.GetLV() helpBattlePlayer.job = random.randint(1, 2) helpBattlePlayer.realmLV = random.randint(1, 20) helpBattlePlayer.fightPower = 2000000 + fakeID helpBattlePlayer.familyID = 0 helpBattlePlayer.vipLV = random.randint(0, 10) helpBattlePlayer.checkInCount = 100 helpBattlePlayer.checkInTime = curTime addFakeIDList.append(fakeID) GameWorld.DebugAnswer(curPlayer, "Ìí¼Ó¼ÙÖúÕ½µÇ¼Ç %s" % addFakeIDList) return