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
#!/usr/bin/python
# -*- coding: GBK -*-
#-------------------------------------------------------------------------------
#
##@package GM.Commands.SetQQUser
#
# @todo:ÉèÖÃQQÍæ¼ÒÐÅÏ¢
# @author hxp
# @date 2016-09-12
# @version 1.0
#
# ÏêϸÃèÊö: ÉèÖÃQQÍæ¼ÒÐÅÏ¢
#
#-------------------------------------------------------------------------------
#"""Version = 2016-09-12 12:00"""
#-------------------------------------------------------------------------------
import PlayerBillboard
import PlayerQQ
import ChConfig
import PlayerControl
import GameWorld
#---------------------------------------------------------------------
#Âß¼­ÊµÏÖ
## GMÃüÁîÖ´ÐÐÈë¿Ú
#  @param curPlayer µ±Ç°Íæ¼Ò
#  @param paramList ²ÎÊýÁбí
#  @return None
#  @remarks º¯ÊýÏêϸ˵Ã÷.
def OnExec(curPlayer, paramList):
    
    if not paramList:
        __AnswerHelp(curPlayer)
        return
    
    if len(paramList) == 1 and paramList[0] == 0:
        curPlayer.SetOperateInfo(0)
        PlayerBillboard.UpdatePlayerBillboardOnLeaveServer(curPlayer)
        GameWorld.DebugAnswer(curPlayer, "ÖØÖÃqq»áÔ±ÐÅÏ¢³É¹¦!")
        return
    if len(paramList) == 2 and paramList[0] == "pf":
        pf = paramList[1]
        pfValue = 0
        if pf in ChConfig.Def_Tencent_PF_List:
            pfValue = ChConfig.Def_Tencent_PF_List.index(pf) + 1
        PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_Player_Dict_TencentPF, pfValue)
        GameWorld.DebugAnswer(curPlayer, "ÉèÖÃÌÚѶÀ´Ô´pf: %s, pfValue=%s" % (pf, pfValue))
        return
    
    qquserTypeDict = {1:"»Æ×ê", 2:"À¶×ê"}
    userType = PlayerQQ.GetQQPlatVIPType(curPlayer)
    if userType not in qquserTypeDict:
        GameWorld.DebugAnswer(curPlayer, "µ±Ç°Æ½Ì¨·ÇQQƽ̨, ÎÞ·¨ÉèÖÃ! ")
        return
    
    ybVIPLV = min(paramList[0], 8) # ×êµÈ¼¶
    isYBHighVIP = 0 if len(paramList) <= 1 else paramList[1] # ºÀ»ª
    isYBYearVIP = 0 if len(paramList) <= 2 else paramList[2] # Äê·Ñ
    
    # ÊÇ·ñ×ê¹ó×å
    if len(paramList) <= 3:
        isYBVIP = 1 if ybVIPLV > 0 else 0 # Ã»ÉèÖõÄÇé¿öÏ£¬ÓÐ×êµÈ¼¶Ä¬ÈÏΪ×ê¹ó×å
    else:
        isYBVIP = paramList[3]
        
    platVIPData = int("%02d%s%s%s" % (ybVIPLV, isYBHighVIP, isYBYearVIP, isYBVIP))
    curPlayer.SetOperateInfo(platVIPData)
    PlayerBillboard.UpdatePlayerBillboardOnLeaveServer(curPlayer)
    
    GameWorld.DebugAnswer(curPlayer, "ÉèÖóɹ¦µ±Ç°Îª %s %s%s%s%s%s" % (platVIPData, "ºÀ»ª°æ" if isYBHighVIP else "",
                                                "Äê·Ñ" if isYBYearVIP else "",
                                                qquserTypeDict.get(userType),
                                                "%s¼¶" % ybVIPLV,
                                                "" if isYBVIP else "(ÒѹýÆÚ)",
                                                ))
    return
 
def __AnswerHelp(curPlayer):
    GameWorld.DebugAnswer(curPlayer, "SetQQUser ×êµÈ¼¶, ÊÇ·ñºÀ»ª°æ, ÊÇ·ñ°üÄê, ÊÇ·ñ¹ó×å")
    GameWorld.DebugAnswer(curPlayer, "SetQQUser 0 Çå³ýqq»áÔ±ÐÅÏ¢")
    GameWorld.DebugAnswer(curPlayer, "SetQQUser pf À´Ô´pf%s" % ChConfig.Def_Tencent_PF_List)
    return