#!/usr/bin/python
|
# -*- coding: GBK -*-
|
#-------------------------------------------------------------------------------
|
#
|
##@package GM.Commands.SetCrossPK
|
#
|
# @todo:ÉèÖÃÍæ¼Ò¿ç·þPK»î¶¯Êý¾Ý
|
# @author hxp
|
# @date 2018-12-25
|
# @version 1.0
|
#
|
# ÏêϸÃèÊö: ÉèÖÃÍæ¼Ò¿ç·þPK»î¶¯Êý¾Ý
|
#
|
#-------------------------------------------------------------------------------
|
#"""Version = 2018-12-25 21:30"""
|
#-------------------------------------------------------------------------------
|
|
import GameWorld
|
import PlayerControl
|
import PlayerCrossRealmPK
|
import ShareDefine
|
import ChConfig
|
|
#---------------------------------------------------------------------
|
#Â߼ʵÏÖ
|
## GMÃüÁîÖ´ÐÐÈë¿Ú
|
# @param curPlayer µ±Ç°Íæ¼Ò
|
# @param list ²ÎÊýÁбí [npcID]
|
# @return None
|
# @remarks º¯ÊýÏêϸ˵Ã÷.
|
def OnExec(curPlayer, msgList):
|
|
if not msgList:
|
__PrintHelp(curPlayer)
|
return
|
|
if len(msgList) == 1:
|
if msgList[0] != 0:
|
__PrintHelp(curPlayer)
|
return
|
|
# ÖØÖÃÊý¾Ý
|
PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_CrossPK_TotalScore, 0)
|
PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_CrossPK_OnDayScore, 0)
|
PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_CrossPK_DanLV, 0)
|
PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_CrossPK_PKCount, 0)
|
PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_CrossPK_WinCount, 0)
|
PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_CrossPK_CWinCount, 0)
|
PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_CrossPK_TodayPKCount, 0)
|
PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_CrossPK_TodayWinCount, 0)
|
PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_CrossPK_TodayBuyCount, 0)
|
PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_CrossPK_DayPKCountAwardState, 0)
|
PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_CrossPK_DayWinCountAwardState, 0)
|
PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_CrossPK_DanLVAwardState, 0)
|
PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_CrossPK_SeasonAwardState, 0)
|
PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_CrossPK_ZoneID, 0)
|
PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_CrossPK_SeasonID, 0)
|
for i in xrange(1, 20):
|
PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_CrossPK_SeasonDanLV % i, 0)
|
PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_CrossPK_SeasonOrder % i, 0)
|
PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_CrossPK_SeasonAwardLV % i, 0)
|
|
GameWorld.DebugAnswer(curPlayer, "ÖØÖÿç·þPKÊý¾ÝOK£¡")
|
PlayerCrossRealmPK.SyncCrossRealmPKPlayerInfo(curPlayer)
|
PlayerCrossRealmPK.SyncCrossRealmPKAwardState(curPlayer)
|
PlayerCrossRealmPK.SyncCrossRealmPKHisSeasonInfo(curPlayer)
|
return
|
|
if len(msgList) == 2 or len(msgList) % 2 == 0:
|
setTypeDict = {0:[ChConfig.Def_PDict_CrossPK_TotalScore, "»ý·Ö"],
|
1:[ChConfig.Def_PDict_CrossPK_OnDayScore, "¹ýÌì»ý·Ö"],
|
2:[ChConfig.Def_PDict_CrossPK_DanLV, "¶Îλ"],
|
3:[ChConfig.Def_PDict_CrossPK_PKCount, "PK´ÎÊý"],
|
4:[ChConfig.Def_PDict_CrossPK_WinCount, "ʤÀû´ÎÊý"],
|
5:[ChConfig.Def_PDict_CrossPK_CWinCount, "Á¬Ê¤´ÎÊý"],
|
6:[ChConfig.Def_PDict_CrossPK_TodayPKCount, "½ñÈÕPK´ÎÊý"],
|
7:[ChConfig.Def_PDict_CrossPK_TodayWinCount, "½ñÈÕʤÀû´ÎÊý"],
|
8:[ChConfig.Def_PDict_CrossPK_TodayBuyCount, "½ñÈÕ¹ºÂò´ÎÊý"],
|
}
|
indexList = range(len(msgList))
|
for i in indexList[::2]:
|
setType, value = msgList[i:i+2]
|
if setType not in setTypeDict:
|
continue
|
dictName, chName = setTypeDict[setType]
|
PlayerControl.NomalDictSetProperty(curPlayer, dictName, value)
|
GameWorld.DebugAnswer(curPlayer, "ÉèÖÃ%s: %s" % (chName, value))
|
|
mapZoneID = GameWorld.GetGameWorld().GetGameWorldDictByKey(ShareDefine.Def_Notify_WorldKey_CrossPKZoneID)
|
mapSeasonID = GameWorld.GetGameWorld().GetGameWorldDictByKey(ShareDefine.Def_Notify_WorldKey_CrossPKSeasonID)
|
PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_CrossPK_ZoneID, mapZoneID)
|
PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_CrossPK_SeasonID, mapSeasonID)
|
PlayerCrossRealmPK.SyncCrossRealmPKPlayerInfo(curPlayer)
|
return
|
|
if len(msgList) == 3:
|
seasonID, setType, value = msgList
|
setTypeDict = {0:[ChConfig.Def_PDict_CrossPK_SeasonDanLV, "¶Îλ"],
|
1:[ChConfig.Def_PDict_CrossPK_SeasonOrder, "Ãû´Î"],
|
2:[ChConfig.Def_PDict_CrossPK_SeasonAwardLV, "½±ÀøµÈ¼¶"],
|
}
|
if setType not in setTypeDict:
|
__PrintHelp(curPlayer)
|
return
|
dictName, chName = setTypeDict[setType]
|
PlayerControl.NomalDictSetProperty(curPlayer, dictName % seasonID, value)
|
GameWorld.DebugAnswer(curPlayer, "ÉèÖÃÈü¼¾%s%s: %s" % (seasonID, chName, value))
|
return
|
|
__PrintHelp(curPlayer)
|
return
|
|
def __PrintHelp(curPlayer):
|
GameWorld.DebugAnswer(curPlayer, "ÖØÖÃÊý¾Ý: SetCrossPK 0")
|
GameWorld.DebugAnswer(curPlayer, "ÉèÖÃÊý¾Ý: SetCrossPK ÀàÐÍ Öµ")
|
GameWorld.DebugAnswer(curPlayer, "ÀàÐÍ:0-»ý·Ö,1-¹ýÌì»ý·Ö,2-¶Îλ,3-PK´ÎÊý,4-ʤÀû´ÎÊý,5-Á¬Ê¤´ÎÊý")
|
GameWorld.DebugAnswer(curPlayer, "6-½ñÈÕPK´ÎÊý,7-½ñÈÕʤÀû´ÎÊý,8-½ñÈÕ¹ºÂò´ÎÊý")
|
GameWorld.DebugAnswer(curPlayer, "ÉèÖÃÀúÊ·¼Ç¼: SetCrossPK Èü¼¾ID ÀàÐÍ ÊýÖµ")
|
GameWorld.DebugAnswer(curPlayer, "ÀàÐÍ:0-¶Îλ,1-Ãû´Î,2-½±ÀøµÈ¼¶")
|
return
|
|
|