| | |
| | | import ChPyNetSendPack
|
| | | import PlayerControl
|
| | | import IPY_GameWorld
|
| | | #import PlayerTask
|
| | | import PlayerTask
|
| | | import ChConfig
|
| | |
|
| | | import time
|
| | |
| | | if not treeLV:
|
| | | PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_TreeLV, 1)
|
| | | RefreshTreeLVUPTime(curPlayer)
|
| | | SyncTreeInfo(curPlayer)
|
| | | return
|
| | |
|
| | | def PlayerOnDay(curPlayer):
|
| | | PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_TreeFreeTimeCnt, 0)
|
| | | SyncTreeInfo(curPlayer)
|
| | | return
|
| | |
|
| | |
| | | % (updLVUPRemainTime, treeLV, LVUPRemainTime, passSeconds, lastRefreshTime), curPlayer.GetPlayerID())
|
| | | return
|
| | |
|
| | | def ReduceTreeLVUPTime(curPlayer, reduceTime):
|
| | | def ReduceTreeLVUPTime(curPlayer, reduceTime, isNotify=True):
|
| | | ## 减少仙树升级剩余时间,可能是使用道具或其他功能等
|
| | | RefreshTreeLVUPTime(curPlayer)
|
| | | lvupState = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_TreeLVUPState)
|
| | |
| | | PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_TreeLVUPRemainTime, updLVUPRemainTime)
|
| | | GameWorld.DebugLog("减少仙树升级剩余时间! updLVUPRemainTime=%s,LVUPRemainTime=%s,reduceTime=%s"
|
| | | % (updLVUPRemainTime, LVUPRemainTime, reduceTime), curPlayer.GetPlayerID())
|
| | | SyncTreeInfo(curPlayer)
|
| | | if isNotify:
|
| | | SyncTreeInfo(curPlayer)
|
| | | return True
|
| | |
|
| | | def FreeReduceTreeLVTime(curPlayer):
|
| | | ## 仙树免费减时
|
| | | dailyFreeCntMax = IpyGameDataPY.GetFuncCfg("TreeLVUP", 3)
|
| | | freeCDSeconds = IpyGameDataPY.GetFuncCfg("TreeLVUP", 4) * 60 # 免费CD,秒
|
| | | |
| | | freeTimeCntToday = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_TreeFreeTimeCnt)
|
| | | freeTimeLast = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_TreeFreeTimeLast)
|
| | | |
| | | if dailyFreeCntMax and freeTimeCntToday >= dailyFreeCntMax:
|
| | | GameWorld.DebugLog("已达今日免费仙树减时次数! freeTimeCntToday=%s >= %s" % (freeTimeCntToday, dailyFreeCntMax))
|
| | | return
|
| | | |
| | | curTime = int(time.time())
|
| | | if freeCDSeconds and freeTimeLast and (curTime - freeTimeLast) < freeCDSeconds:
|
| | | GameWorld.DebugLog("免费仙树减时CD未到! passSeconds=%s < %s" % (curTime - freeTimeLast, freeCDSeconds))
|
| | | return
|
| | | |
| | | reduceTime = IpyGameDataPY.GetFuncCfg("TreeLVUP", 5) * 60
|
| | | if reduceTime <= 0:
|
| | | return
|
| | | |
| | | if not ReduceTreeLVUPTime(curPlayer, reduceTime, False):
|
| | | return
|
| | | |
| | | freeTimeCntToday += 1
|
| | | PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_TreeFreeTimeCnt, freeTimeCntToday)
|
| | | PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_TreeFreeTimeLast, curTime)
|
| | | SyncTreeInfo(curPlayer)
|
| | | return
|
| | |
|
| | | def DoTreeLVUP(curPlayer):
|
| | | ## 执行仙树升级
|
| | |
| | | GameWorld.DebugLog("执行仙树升级! updTreeLV=%s" % updTreeLV, playerID)
|
| | | SyncTreeInfo(curPlayer)
|
| | |
|
| | | #PlayerTask.UpdTaskValue(curPlayer, ChConfig.TaskType_TreeLV)
|
| | | PlayerTask.UpdTaskValue(curPlayer, ChConfig.TaskType_TreeLV)
|
| | | return True
|
| | |
|
| | | def SyncTreeInfo(curPlayer):
|
| | |
| | | clientPack.TreeLV = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_TreeLV)
|
| | | clientPack.LVUPState = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_TreeLVUPState)
|
| | | clientPack.LVUPRemainTime = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_TreeLVUPRemainTime)
|
| | | clientPack.FreeTimeCnt = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_TreeFreeTimeCnt)
|
| | | clientPack.FreeTimeLast = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_TreeFreeTimeLast)
|
| | | NetPackCommon.SendFakePack(curPlayer, clientPack)
|
| | | return
|