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