hxp
2024-11-25 878fef04122d1feaa0f42c429f364659931bc379
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
#!/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