| #!/usr/bin/python  | 
| # -*- coding: GBK -*-  | 
| #-------------------------------------------------------------------------------  | 
| #  | 
| #-------------------------------------------------------------------------------  | 
| #  | 
| ##@package SetMoney  | 
| #  | 
| # @todo:ÉèÖÃÍæ¼ÒµÄÇ®  | 
| # @author hxp  | 
| # @date 2013-12-10 14:00  | 
| # @version 1.1  | 
| #  | 
| # @change: "2016-07-20 14:30" hxp Í³Ò»º¯Êý  | 
| #  | 
| # ÏêϸÃèÊö: ÉèÖÃÍæ¼ÒµÄÇ®  | 
| #  | 
| #---------------------------------------------------------------------  | 
| #"""Version = 2016-07-20 14:30"""  | 
| #---------------------------------------------------------------------  | 
|   | 
| import PlayerControl  | 
| import Lang  | 
| import ChConfig  | 
| import ShareDefine  | 
| import GameWorld  | 
| ## GMÃüÁîÖ´ÐÐÈë¿Ú  | 
| #  @param curPlayer µ±Ç°Íæ¼Ò  | 
| #  @param list ²ÎÊýÁбí [ <Ç®±ÒÀàÐÍ><ÊýÁ¿>]  | 
| #  @return None  | 
| #  @remarks º¯ÊýÏêϸ˵Ã÷.  | 
| def OnExec(curPlayer, List):  | 
|     if len(List) != 2:  | 
|         #²ÎÊý²»ÕýÈ·  | 
|         GameWorld.DebugAnswer(curPlayer, Lang.GBText("²ÎÊý²»ÕýÈ·"))  | 
|         GameWorld.DebugAnswer(curPlayer, "1-ÏÉÓñ;2-°óÓñ;3-ÍÇ®;6-Õ½Ã˹±Ï×¶È;10-Õ½Ã˲ֿâ»ý·Ö;13-¾³½çÐÞÐеã;14-·ûÓ¡ÈÚºÏʯ;15-ÏÉÃË»îÔ¾Áî")  | 
|         GameWorld.DebugAnswer(curPlayer, "16-ÖúÕ½»ý·Ö;23-·ûÓ¡¾«»ª;24-·ûÓ¡Ë鯬;25-Ѱ±¦»ý·Ö;26-¼¯Êжî¶È;27-µ¤¾«")  | 
|         return  | 
|     #Ç®±ÒÀàÐÍ  | 
|     moneyType = List[0]  | 
|     #Ç®±ÒÊýÁ¿  | 
|     moneyCount = List[1]  | 
|     #ÊäÈëÀàÐͲ»¶ÔÌáʾǮ±ÒÀàÐÍ´í  | 
|     if type(moneyType) != int or type(moneyCount) not in [int, long]:  | 
|         GameWorld.DebugAnswer(curPlayer, Lang.GBText("²ÎÊý²»ÕýÈ·"))  | 
|         return  | 
|     #Ç®±ÒÀàÐÍ·¶Î§  | 
|     if moneyType not in [1,2,3,4] and moneyType not in ShareDefine.TYPE_Price_CurrencyDict:  | 
|         GameWorld.DebugAnswer(curPlayer, Lang.GBText("Ç®±ÒÀàÐͲ»ÕýÈ·"))  | 
|         return  | 
|     #0ÎIJ»´¦Àí  | 
|     if moneyCount < 0:  | 
|         return  | 
|     playerMoney = PlayerControl.GetMoney(curPlayer, moneyType)  | 
|     if playerMoney > moneyCount:  | 
|         PlayerControl.PayMoney(curPlayer, moneyType, playerMoney - moneyCount, ChConfig.Def_Cost_GM, {ChConfig.Def_Cost_Reason_SonKey:"SetMoney"})  | 
|     elif playerMoney < moneyCount:  | 
|         PlayerControl.GiveMoney(curPlayer, moneyType, moneyCount - playerMoney, ChConfig.Def_GiveMoney_GM, {ChConfig.Def_Give_Reason_SonKey:"SetMoney"})  | 
|           | 
|     return  | 
|           | 
|           |