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