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
105
106
107
108
109
110
111
112
113
114
115
116
117
118
#!/usr/bin/python
# -*- coding: GBK -*-
#---------------------------------------------------------------------
#
#---------------------------------------------------------------------
##@package GY_Query_LoginData
# @todo: ²éѯƽ̨µÇ½ÐÅÏ¢
#
# @author: Alee
# @date 2014-03-05 16:00
# @version 1.6
#
# @note: ²éѯƽ̨µÇ½ÐÅÏ¢
# @change: "2014-03-13 18:40" Alee Ñ¸À׵ǽ·½Ê½ºÍ¼Ç¼ÐÞ¸Ä
# @change: "2014-08-14 11:00" hxp µÇ¼ÐÅÏ¢´¦Àí
# @change: "2015-06-08 20:30" hxp Ôö¼ÓchannelCode
# @change: "2015-07-13 14:00" hxp Ôö¼Ó»Æ/À¶×êÖ§³Ö
# @change: "2016-07-18 19:00" hxp Ôö¼Óaccount_type
# @change: "2016-09-23 21:00" hxp tencentƽ̨ÉèÖÃÀ´Ô´pfʶ±ð
#---------------------------------------------------------------------
#"""Version = 2016-09-23 21:00""" 
#---------------------------------------------------------------------
import GameWorld
import DataRecordPack
import PlayerControl
import ChConfig
#---------------------------------------------------------------------
 
## XX
#  @param query_Type ÇëÇóÀàÐÍ
#  @param query_ID ÇëÇóµÄÍæ¼ÒID
#  @param packCMDList ·¢°üÃüÁî
#  @param tick µ±Ç°Ê±¼ä
#  @return "True" or "False" or ""
def DoLogic(query_Type, query_ID, packCMDList, tick):
    return ''
 
 
## µÇ½ÐÅÏ¢
#  @param curPlayer ·¢³öÇëÇóµÄÍæ¼Ò
#  @param callFunName ¹¦ÄÜÃû³Æ
#  @param funResult ²éѯµÄ½á¹û
#  @param tick µ±Ç°Ê±¼ä
#  @return None
def DoResult(curPlayer, callFunName, funResult, tick):
    playerID = curPlayer.GetPlayerID()
    GameWorld.Log("GY_Query_LoginData funResult=%s" % funResult, playerID)
    result = eval(funResult)
    if result == []:
        return
 
    if result[0] == 'xunlei':
        #[xunlei£¬Ñ¸À×VIP£¬VIPµÈ¼¶£¬½ð¿¨VIP£¬½ð¿¨µÈ¼¶£¬ µÇ¼¿Í»§¶ËÀàÐÍ]
#        PlayerThunder.SetIsThunderPlayer(curPlayer, 1)
#        PlayerThunder.SetIsThunderVIP(curPlayer, result[1])
#        PlayerThunder.SetThunderVIPLV(curPlayer, result[2])
#        PlayerThunder.SetIsThunderGoldVIP(curPlayer, result[3])
#        PlayerThunder.SetThunderGoldVIPLV(curPlayer, result[4])
#        PlayerThunder.Sync_ThunderPlayerInfo(curPlayer)
#        
#        PlayerThunder.DoThunderPlayerLogin(curPlayer)
#        PlayerThunder.DoThunderPlayerOnDay(curPlayer)
#        
#        if curPlayer.GetDictByKey("ThunderLogin") == 1:
#            DataRecordPack.DR_ThunderFirstLogin(curPlayer, result[5])
#        
#        DataRecordPack.DR_ThunderPlayerLogin(curPlayer, result[5])
        return
    
    # ÉèÖÿͻ§¶ËµÇ¼ÀàÐÍ
    clientType = int(result[0])
    PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_LoginClientType, clientType)
    
    channelCode = result[1]
    GameWorld.SetPlayerChannelCode(curPlayer, channelCode)
    
    pid = result[2]
    platform = result[3]
    account_type = result[4]
        
    PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_Player_Dict_PlayerFromPID, pid)
    PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_Player_Dict_Account_Type, account_type)
    
    if len(result) <= 5:
        __ResetOperateInfo(curPlayer)
        return
    
    extendInfo = result[5:]
    # µ± pf Îª qzone¡¢pengyou¡¢qplus Ê±£¬·¢ËÍ»Æ×êÐÅÏ¢
    if platform in ["qzone", "pengyou", "qplus"]:
        isYellowVIP, isYellowYearVIP, isYellowHighVIP, yellowVIPLV = extendInfo
        operateInfo = int("%02d%s%s%s" % (yellowVIPLV, isYellowHighVIP, isYellowYearVIP, isYellowVIP))
        curPlayer.SetOperateInfo(operateInfo)
        GameWorld.Log("    platform=%s, SetPlatVIPData=%s" % (platform, operateInfo), playerID)
    
    # µ± pf Îª qqgame¡¢3366 Ê±£¬·¢ËÍÀ¶×êÐÅÏ¢
    elif platform in ["qqgame", "3366"]:
        isBlueVIP, isBlueYearVIP, isBlueHighVIP, blueVIPLV = extendInfo
        platVIPData = int("%02d%s%s%s" % (blueVIPLV, isBlueHighVIP, isBlueYearVIP, isBlueVIP))
        curPlayer.SetOperateInfo(platVIPData)
        GameWorld.Log("    platform=%s, SetPlatVIPData=%s" % (platform, platVIPData), playerID)
        
    else:
        __ResetOperateInfo(curPlayer)
        GameWorld.Log("    platform=%s, SetPlatVIPData=0" % platform, playerID)
        
    
    return
 
## ÖØÖÃÍæ¼ÒÔËӪƽ̨ÐÅÏ¢
#  @param curPlayer 
#  @return None
def __ResetOperateInfo(curPlayer):
    if curPlayer.GetOperateInfo() != 0:
        curPlayer.SetOperateInfo(0)
        GameWorld.Log("    __ResetOperateInfo=0", curPlayer.GetPlayerID())
    return