| #!/usr/bin/python  | 
| # -*- coding: GBK -*-  | 
| #-------------------------------------------------------------------------------  | 
| #  | 
| ##@package GM.Commands.ClearFuncSysPrivilege  | 
| #  | 
| # @todo:ÖØÖù¦ÄÜÏµÍ³ÌØÈ¨  | 
| # @author hxp  | 
| # @date 2021-04-13  | 
| # @version 1.0  | 
| #  | 
| # ÏêϸÃèÊö: ÖØÖù¦ÄÜÏµÍ³ÌØÈ¨  | 
| #  | 
| #-------------------------------------------------------------------------------  | 
| #"""Version = 2021-04-13 16:00"""  | 
| #-------------------------------------------------------------------------------  | 
|   | 
| import ChConfig  | 
| import PlayerControl  | 
| import PlayerFuncSysPrivilege  | 
| import IpyGameDataPY  | 
| import GameWorld  | 
|   | 
| #---------------------------------------------------------------------  | 
| #È«¾Ö±äÁ¿  | 
| #---------------------------------------------------------------------  | 
|   | 
| #---------------------------------------------------------------------  | 
| #Â߼ʵÏÖ  | 
| ## GMÃüÁîÖ´ÐÐÈë¿Ú  | 
| #  @param curPlayer µ±Ç°Íæ¼Ò  | 
| #  @param list ²ÎÊýÁбí [npcID]  | 
| #  @return None  | 
| #  @remarks º¯ÊýÏêϸ˵Ã÷.  | 
| def OnExec(curPlayer, paramList):  | 
|       | 
|     if not paramList:  | 
|         GameWorld.DebugAnswer(curPlayer, "ÖØÖÃËùÓÐ: ClearFuncSysPrivilege 0")  | 
|         GameWorld.DebugAnswer(curPlayer, "ÖØÖÃÖ¸¶¨: ClearFuncSysPrivilege ¹¦ÄÜϵͳID")  | 
|         return  | 
|       | 
|     ipyDataMgr = IpyGameDataPY.IPY_Data()  | 
|     lastIpyData = ipyDataMgr.GetFuncSysPrivilegeByIndex(ipyDataMgr.GetFuncSysPrivilegeCount() - 1)  | 
|     maxFuncID = lastIpyData.GetFuncSysID()  | 
|       | 
|     resetID = paramList[0]  | 
|     if resetID == 0:  | 
|         resetIDList = range(1, maxFuncID + 1)  | 
|     elif resetID > maxFuncID:  | 
|         GameWorld.DebugAnswer(curPlayer, "¸Ã¹¦ÄÜϵͳID²»´æÔÚ!")  | 
|         return  | 
|     else:  | 
|         resetIDList = [resetID]  | 
|           | 
|     for funcSysID in resetIDList:  | 
|         PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_FuncSysPrivilegeActTime % funcSysID, 0)  | 
|         PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_FuncSysPrivilegeAward % funcSysID, 0)  | 
|           | 
|     GameWorld.DebugAnswer(curPlayer, "ÖØÖù¦ÄÜÏµÍ³ÌØÈ¨OK!%s" % resetIDList)  | 
|     PlayerFuncSysPrivilege.Sync_FuncSysPrivilege(curPlayer, resetIDList)  | 
|     return  | 
|   |