| #!/usr/bin/python  | 
| # -*- coding: GBK -*-  | 
| #-------------------------------------------------------------------------------  | 
| #  | 
| ##@package GM.Commands.TTL  | 
| #  | 
| # @todo:ͨÌìÁî  | 
| # @author hxp  | 
| # @date 2022-01-17  | 
| # @version 1.0  | 
| #  | 
| # ÏêϸÃèÊö: Í¨ÌìÁî  | 
| #  | 
| #-------------------------------------------------------------------------------  | 
| #"""Version = 2022-01-17 19:00"""  | 
| #-------------------------------------------------------------------------------  | 
|   | 
| import GameWorld  | 
| import PlayerControl  | 
| import PlayerTongTianLing  | 
| import IpyGameDataPY  | 
| import ChConfig  | 
| import time  | 
|   | 
| #---------------------------------------------------------------------  | 
| #Â߼ʵÏÖ  | 
| ## GMÃüÁîÖ´ÐÐÈë¿Ú  | 
| #  @param curPlayer µ±Ç°Íæ¼Ò  | 
| #  @param paramList ²ÎÊýÁÐ±í  | 
| #  @return None  | 
| #  @remarks º¯ÊýÏêϸ˵Ã÷.  | 
| def OnExec(curPlayer, paramList):  | 
|       | 
|     if not paramList:  | 
|         GameWorld.DebugAnswer(curPlayer, "ÖØÖÃͨÌìËùÓÐ: TTL 0")  | 
|         GameWorld.DebugAnswer(curPlayer, "ÖØÖÃͨÌìµÈ¼¶: TTL 0 1")  | 
|         GameWorld.DebugAnswer(curPlayer, "ÖØÖÃͨÌìÈÎÎñ: TTL 0 2")  | 
|         GameWorld.DebugAnswer(curPlayer, "ÉèÖÃͨÌìµÈ¼¶: TTL 1 µÈ¼¶ ¾Ñé ÊÇ·ñ¼¤»îͨÌìÁî")  | 
|         GameWorld.DebugAnswer(curPlayer, "Ôö¼ÓͨÌìÈÎÎñ: TTL 2 ÈÎÎñÀàÐÍ Ôö¼Ó½ø¶ÈÖµ")  | 
|         return  | 
|       | 
|     value = paramList[0]  | 
|     if not value:  | 
|         value1 = paramList[1] if len(paramList) > 1 else 0  | 
|         if value1 == 1:  | 
|             resetTTLV(curPlayer)  | 
|             GameWorld.DebugAnswer(curPlayer, "ÖØÖÃͨÌìµÈ¼¶OK!")  | 
|         elif value1 == 2:  | 
|             resetTTTask(curPlayer)  | 
|             GameWorld.DebugAnswer(curPlayer, "ÖØÖÃͨÌìÈÎÎñOK!")  | 
|         else:  | 
|             PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_TTL_StartTime, int(time.time()))  | 
|             resetTTLV(curPlayer)  | 
|             resetTTTask(curPlayer)  | 
|             GameWorld.DebugAnswer(curPlayer, "ÖØÖÃͨÌìËùÓÐOK!")  | 
|               | 
|         return  | 
|       | 
|     if value == 1:  | 
|         ttLV, ttState = PlayerTongTianLing.GetTongTianLingLVInfo(curPlayer)  | 
|         ttLV = paramList[1] if len(paramList) > 1 else ttLV  | 
|         setPoint = paramList[2] if len(paramList) > 2 else 0  | 
|         setState = paramList[3] if len(paramList) > 3 else ttState  | 
|           | 
|         ttLV = min(ttLV, IpyGameDataPY.IPY_Data().GetTongTianLVCount() - 1)  | 
|         ttState = 1 if setState else 0  | 
|         PlayerTongTianLing.SetTongTianLingLVInfo(curPlayer, ttLV, ttState)  | 
|         PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_TTL_LVPoint, setPoint)  | 
|         GameWorld.DebugAnswer(curPlayer, "ÉèÖÃͨÌìµÈ¼¶: LV=%s,expPoint=%s,state=%s" % (ttLV, setPoint, ttState))  | 
|         PlayerTongTianLing.SyncTongTianLVInfo(curPlayer)  | 
|           | 
|     elif value == 2:  | 
|         ttTaskType = paramList[1] if len(paramList) > 1 else 0  | 
|         addValue = paramList[2] if len(paramList) > 2 else 0  | 
|         GameWorld.DebugAnswer(curPlayer, "Ôö¼ÓͨÌìÈÎÎñ½ø¶È: taskType=%s,addVlue=%s" % (ttTaskType, addValue))  | 
|         PlayerTongTianLing.AddTongTianTaskValue(curPlayer, ttTaskType, addValue)  | 
|           | 
|     return  | 
|   | 
| def resetTTTask(curPlayer):  | 
|       | 
|     for i in xrange(PlayerTongTianLing.TTL_TaskAwardKeyCount):  | 
|         PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_TTL_TaskAwardRecord % i, 0)  | 
|           | 
|     syncTaskInfoList = []  | 
|     for ttTaskType in ChConfig.TTLTaskTypeList:  | 
|         for isDailyTask in [0, 1]:  | 
|             curValue = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_TTL_TaskValue % (ttTaskType, isDailyTask))  | 
|             if not curValue:  | 
|                 continue  | 
|             PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_TTL_TaskValue % (ttTaskType, isDailyTask), 0)  | 
|             syncTaskInfoList.append([ttTaskType, isDailyTask])  | 
|     PlayerTongTianLing.SyncTongTianTaskInfo(curPlayer, syncTaskInfoList)  | 
|     PlayerTongTianLing.SyncTongTianTaskAward(curPlayer)  | 
|     return  | 
|   | 
| def resetTTLV(curPlayer):  | 
|     for i in xrange(PlayerTongTianLing.TTL_LVAwardKeyCount):  | 
|         PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_TTL_CommAwardRecord % i, 0)  | 
|         PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_TTL_XianAwardRecord % i, 0)  | 
|     PlayerTongTianLing.SetTongTianLingLVInfo(curPlayer, 0, 0)  | 
|     PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_TTL_LVPoint, 0)  | 
|     PlayerTongTianLing.SyncTongTianLVInfo(curPlayer)  | 
|     return  | 
|   | 
|   | 
|   |