#!/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
|
|
|