| #!/usr/bin/python  | 
| # -*- coding: GBK -*-  | 
| #---------------------------------------------------------------------  | 
| #  | 
| #---------------------------------------------------------------------  | 
| ##@package OnServerCMD  | 
| # ÃüÁîÐРGMÃüÁî  | 
| #  | 
| # @author eggxp  | 
| # @date 2010-4-28  | 
| # @version 1.2  | 
| #  | 
| # @change: "2010-09-09 16:40" panwei ÖضÁ½Å±¾ÐÞ¸Ä  | 
| # @change: "2011-04-07 14:30" panwei PsycoÓÅ»¯  | 
| #---------------------------------------------------------------------  | 
| """Version = 2011-04-07 14:30"""  | 
| #---------------------------------------------------------------------  | 
| import GameWorld  | 
| import ChConfig  | 
| import CMDS  | 
| #---------------------------------------------------------------------  | 
| GameWorld.ImportAll("Script\\ServerCMD\\" , "CMDS")  | 
| GameWorld.ImportAll("Script\\ServerCMD\\" , "")  | 
| #---------------------------------------------------------------------  | 
| ## ÖØÔØËùÓÐÃüÁî  | 
| #  @param tick µ±Ç°Ê±¼ä  | 
| #  @return None  | 
| #  @remarks º¯ÊýÏêϸ˵Ã÷.  | 
| def ReloadCMDS(tick):  | 
|     scriptPath = ChConfig.GetAppPath() + "Script\\ServerCMD\\CMDS"  | 
|     GameWorld.ReloadScript(scriptPath, "CMDS")  | 
|       | 
|     scriptPath = ChConfig.GetAppPath() + "Script\\ServerCMD"  | 
|     GameWorld.ReloadScript(scriptPath, "")  | 
|     return  | 
| #---------------------------------------------------------------------  | 
| ## Ö´ÐÐÃüÁî  | 
| #  @param cmd ÃüÁîÃû  | 
| #  @param cmdList ÃüÁî²ÎÊý  | 
| #  @return None  | 
| #  @remarks º¯ÊýÏêϸ˵Ã÷.  | 
| def RunCMD(cmd, cmdList = []):  | 
|     runStr = "%s.%s"%(cmd, "OnExec")  | 
|     #GameWorld.Log(runStr)  | 
|     callFunc = GameWorld.GetExecFunc(CMDS, runStr)  | 
|     if callFunc == None:  | 
|         GameWorld.Log("Can't Find CMD = %s"%runStr)  | 
|         return  | 
|   | 
|     callFunc(cmdList)  | 
|     return  | 
|   | 
| #---------------------------------------------------------------------  | 
| ## ´¥·¢cmdÃüÁî  | 
| #  @param tick µ±Ç°Ê±¼ä  | 
| #  @return None  | 
| #  @remarks º¯ÊýÏêϸ˵Ã÷.  | 
| def OnCMD(tick):  | 
|     GameWorld.GetPsycoFunc(__Func_OnCMD)(tick)  | 
|     return  | 
|   | 
| #---------------------------------------------------------------------  | 
| ## ´¥·¢cmdÃüÁî  | 
| #  @param tick µ±Ç°Ê±¼ä  | 
| #  @return None  | 
| #  @remarks º¯ÊýÏêϸ˵Ã÷.  | 
| def __Func_OnCMD(tick):  | 
|     cmd = GameWorld.GetGameWorld().GetCurrentCMD()  | 
|     curList = cmd.split()  | 
|       | 
|     if len(curList) == 0:  | 
|         return  | 
|       | 
|     cmd = curList[0]  | 
|     del curList[0]  | 
|     cmdList = curList  | 
|     RunCMD(cmd, cmdList)   | 
|     return  |