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