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