| | |
| | | import ChConfig
|
| | | import ShareDefine
|
| | | import GameWorld
|
| | |
|
| | | moneyNameDict = {
|
| | | 1:"仙玉", 2:"绑玉", 3:"铜钱", 6:"战盟贡献度", 10:"战盟仓库积分", 13:"境界修行点", 14:"符印融合石", 15:"仙盟活跃令", |
| | | 16:"助战积分", 18:"荣誉", 19:"Boss积分", 23:"符印精华", 24:"符印碎片", 25:"寻宝积分", 26:"集市额度", 27:"丹精", 28:"魂尘", |
| | | 29:"聚魂碎片", 30:"核心环", 31:"功能特权令", 32:"环保值", 33:"GM令", 34:"古神币", 35:"功德点"
|
| | | }
|
| | |
|
| | | ## GM命令执行入口
|
| | | # @param curPlayer 当前玩家
|
| | | # @param list 参数列表 [ <钱币类型><数量>]
|
| | | # @return None
|
| | | # @remarks 函数详细说明.
|
| | | def OnExec(curPlayer, List):
|
| | | |
| | | if len(List) == 1:
|
| | | moneyType = List[0]
|
| | | if moneyType == 0:
|
| | | moneyList = moneyNameDict.keys()
|
| | | moneyList.sort()
|
| | | else:
|
| | | moneyList = [moneyType]
|
| | | for moneyType in moneyList:
|
| | | GameWorld.DebugAnswer(curPlayer, "(%s) %s: %s" % (moneyType, moneyNameDict.get(moneyType, moneyType), PlayerControl.GetMoneyReal(curPlayer, moneyType)))
|
| | | return
|
| | | |
| | | if len(List) != 2:
|
| | | #参数不正确
|
| | | GameWorld.DebugAnswer(curPlayer, Lang.GBText("参数不正确"))
|
| | | GameWorld.DebugAnswer(curPlayer, "1-仙玉;2-绑玉;3-铜钱;6-战盟贡献度;10-战盟仓库积分;13-境界修行点;14-符印融合石;15-仙盟活跃令")
|
| | | GameWorld.DebugAnswer(curPlayer, "16-助战积分;18-荣誉;23-符印精华;24-符印碎片;25-寻宝积分;26-集市额度;27-丹精;28-魂尘;")
|
| | | GameWorld.DebugAnswer(curPlayer, "29-聚魂碎片;30-核心环")
|
| | | GameWorld.DebugAnswer(curPlayer, "设置货币: SetMoney 货币类型 数值")
|
| | | GameWorld.DebugAnswer(curPlayer, "显示货币: SetMoney 货币类型")
|
| | | helpStr = ""
|
| | | moneyTypeList = moneyNameDict.keys()
|
| | | for moneyType in moneyTypeList:
|
| | | helpStr += "%s-%s;" % (moneyType, moneyNameDict[moneyType])
|
| | | GameWorld.DebugAnswer(curPlayer, helpStr)
|
| | | return
|
| | | #钱币类型
|
| | | moneyType = List[0]
|
| | |
| | | GameWorld.DebugAnswer(curPlayer, Lang.GBText("参数不正确"))
|
| | | return
|
| | | #钱币类型范围
|
| | | if moneyType not in [1,2,3,4] and moneyType not in ShareDefine.TYPE_Price_CurrencyDict:
|
| | | if moneyType not in [1, 2, 3, 4] and moneyType not in ShareDefine.TYPE_Price_CurrencyDict:
|
| | | GameWorld.DebugAnswer(curPlayer, Lang.GBText("钱币类型不正确"))
|
| | | return
|
| | | #0文不处理
|
| | | if moneyCount < 0:
|
| | | if moneyType not in ShareDefine.MoneyMinusRefreshDict and moneyCount < 0:
|
| | | return
|
| | | playerMoney = PlayerControl.GetMoney(curPlayer, moneyType)
|
| | | isOK = False
|
| | | playerMoney = PlayerControl.GetMoneyReal(curPlayer, moneyType)
|
| | | if playerMoney > moneyCount:
|
| | | PlayerControl.PayMoney(curPlayer, moneyType, playerMoney - moneyCount, ChConfig.Def_Cost_GM, {ChConfig.Def_Cost_Reason_SonKey:"SetMoney"})
|
| | | isOK = PlayerControl.PayMoney(curPlayer, moneyType, playerMoney - moneyCount, ChConfig.Def_Cost_GM, {ChConfig.Def_Cost_Reason_SonKey:"SetMoney"}, isMinus=True)
|
| | | elif playerMoney < moneyCount:
|
| | | PlayerControl.GiveMoney(curPlayer, moneyType, moneyCount - playerMoney, ChConfig.Def_GiveMoney_GM, {ChConfig.Def_Give_Reason_SonKey:"SetMoney"})
|
| | | isOK = PlayerControl.GiveMoney(curPlayer, moneyType, moneyCount - playerMoney, ChConfig.Def_GiveMoney_GM, {ChConfig.Def_Give_Reason_SonKey:"SetMoney"})
|
| | | else:
|
| | | isOK = True
|
| | | if not isOK:
|
| | | GameWorld.DebugAnswer(curPlayer, "设置玩家货币失败,详见日志或流向")
|
| | |
|
| | | return
|
| | |
|