New file |
| | |
| | | #!/usr/bin/python
|
| | | # -*- coding: GBK -*-
|
| | | #-------------------------------------------------------------------------------
|
| | | #
|
| | | ##@package GM.Commands.Zhanling
|
| | | #
|
| | | # @todo:战令
|
| | | # @author hxp
|
| | | # @date 2024-07-12
|
| | | # @version 1.0
|
| | | #
|
| | | # 详细描述: 战令
|
| | | #
|
| | | #-------------------------------------------------------------------------------
|
| | | #"""Version = 2024-07-12 19:00"""
|
| | | #-------------------------------------------------------------------------------
|
| | |
|
| | | import ChConfig
|
| | | import PlayerControl
|
| | | import PlayerZhanling
|
| | | import GameWorld
|
| | |
|
| | | #---------------------------------------------------------------------
|
| | | #逻辑实现
|
| | |
|
| | | ## GM命令执行入口
|
| | | # @param curPlayer 当前玩家
|
| | | # @param msgList 参数列表
|
| | | # @return None
|
| | | # @remarks 函数详细说明.
|
| | | def OnExec(curPlayer, msgList):
|
| | | |
| | | if not msgList:
|
| | | GameWorld.DebugAnswer(curPlayer, "重置奖励: Zhanling 0 类型")
|
| | | GameWorld.DebugAnswer(curPlayer, "设置战令: Zhanling 类型 是否激活普通 高级")
|
| | | return
|
| | | |
| | | value = msgList[0]
|
| | | if value == 0:
|
| | | zhanlingType = msgList[1] if len(msgList) > 1 else 1
|
| | | for keyNum in range(10):
|
| | | PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_ZhanlingReward % (zhanlingType, keyNum), 0)
|
| | | PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_ZhanlingRewardH % (zhanlingType, keyNum), 0)
|
| | | PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_ZhanlingRewardFree % (zhanlingType, keyNum), 0)
|
| | | |
| | | PlayerZhanling.SyncZhanlingInfo(curPlayer, zhanlingType)
|
| | | GameWorld.DebugAnswer(curPlayer, "重置战令(%s)奖励!" % (zhanlingType))
|
| | | |
| | | else:
|
| | | zhanlingType = value
|
| | | activiteC = msgList[1] if len(msgList) > 1 else 0
|
| | | activiteH = msgList[2] if len(msgList) > 2 else 0
|
| | | state = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_ZhanlingState)
|
| | | if activiteC:
|
| | | updState = state|pow(2, zhanlingType)
|
| | | else:
|
| | | updState = state&(pow(2, 31 + 1) - 1 - pow(2, zhanlingType))
|
| | | PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_ZhanlingState, updState)
|
| | | |
| | | state = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_ZhanlingStateH)
|
| | | if activiteH:
|
| | | updState = state|pow(2, zhanlingType)
|
| | | else:
|
| | | updState = state&(pow(2, 31 + 1) - 1 - pow(2, zhanlingType))
|
| | | PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_ZhanlingStateH, updState)
|
| | | |
| | | PlayerZhanling.SyncZhanlingInfo(curPlayer, zhanlingType)
|
| | | GameWorld.DebugAnswer(curPlayer, "设置战令类型:%s 普通:%s 高级:%s" % (zhanlingType, activiteC, activiteH))
|
| | | |
| | | return
|
| | |
|
| | |
|