#!/usr/bin/python # -*- coding: GBK -*- #------------------------------------------------------------------------------- # ##@package GM.Commands.Zhanling # # @todo:Õ½Áî # @author hxp # @date 2024-07-12 # @version 1.0 # # ÏêϸÃèÊö: Õ½Áî # #------------------------------------------------------------------------------- #"""Version = 2024-07-12 19:00""" #------------------------------------------------------------------------------- import ChConfig import PlayerControl import PlayerZhanling import GameWorld #--------------------------------------------------------------------- #Âß¼­ÊµÏÖ ## GMÃüÁîÖ´ÐÐÈë¿Ú # @param curPlayer µ±Ç°Íæ¼Ò # @param msgList ²ÎÊýÁбí # @return None # @remarks º¯ÊýÏêϸ˵Ã÷. def OnExec(curPlayer, msgList): if not msgList: GameWorld.DebugAnswer(curPlayer, "ÖØÖý±Àø: Zhanling 0 ÀàÐÍ") GameWorld.DebugAnswer(curPlayer, "ÉèÖÃÕ½Áî: Zhanling ÀàÐÍ ÊÇ·ñ¼¤»îÆÕͨ ¸ß¼¶") return value = msgList[0] if value == 0: zhanlingType = msgList[1] if len(msgList) > 1 else 1 for keyNum in range(10): PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_ZhanlingReward % (zhanlingType, keyNum), 0) PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_ZhanlingRewardH % (zhanlingType, keyNum), 0) PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_ZhanlingRewardFree % (zhanlingType, keyNum), 0) PlayerZhanling.SyncZhanlingInfo(curPlayer, zhanlingType) GameWorld.DebugAnswer(curPlayer, "ÖØÖÃÕ½Áî(%s)½±Àø!" % (zhanlingType)) else: zhanlingType = value activiteC = msgList[1] if len(msgList) > 1 else 0 activiteH = msgList[2] if len(msgList) > 2 else 0 state = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_ZhanlingState) if activiteC: updState = state|pow(2, zhanlingType) else: updState = state&(pow(2, 31 + 1) - 1 - pow(2, zhanlingType)) PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_ZhanlingState, updState) state = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_ZhanlingStateH) if activiteH: updState = state|pow(2, zhanlingType) else: updState = state&(pow(2, 31 + 1) - 1 - pow(2, zhanlingType)) PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_ZhanlingStateH, updState) PlayerZhanling.SyncZhanlingInfo(curPlayer, zhanlingType) GameWorld.DebugAnswer(curPlayer, "ÉèÖÃÕ½ÁîÀàÐÍ:%s ÆÕͨ:%s ¸ß¼¶:%s" % (zhanlingType, activiteC, activiteH)) return