4748 子 【开发】【1.3】封魔坛新增自动进入功能(VIP特权),双倍挑战修改
| | |
| | | ("Cmd", c_ubyte),
|
| | | ("SubCmd", c_ubyte),
|
| | | ("IsDouble", c_ubyte), #是否双倍
|
| | | ("OldDouble", c_ubyte), #是否曾经允许双倍
|
| | | ]
|
| | |
|
| | | def __init__(self):
|
| | |
| | | self.Cmd = 0xB2
|
| | | self.SubCmd = 0x01
|
| | | self.IsDouble = 0
|
| | | self.OldDouble = 0
|
| | | return
|
| | |
|
| | | def GetLength(self):
|
| | |
| | | DumpString = '''// B2 01 通知封魔坛双倍击杀状态 //tagMCFMTDoubleState:
|
| | | Cmd:%s,
|
| | | SubCmd:%s,
|
| | | IsDouble:%d
|
| | | IsDouble:%d,
|
| | | OldDouble:%d
|
| | | '''\
|
| | | %(
|
| | | self.Cmd,
|
| | | self.SubCmd,
|
| | | self.IsDouble
|
| | | self.IsDouble,
|
| | | self.OldDouble
|
| | | )
|
| | | return DumpString
|
| | |
|
| | |
| | |
|
| | | #封魔坛
|
| | | Def_Player_Dict_FMTDouble = "FMTDouble" # 封魔坛是否双倍
|
| | | Def_Player_Dict_FMTOldDouble = "FMTOldDouble" # 封魔坛是否曾经可以双倍
|
| | |
|
| | | #极品白拿
|
| | | Def_PDict_FreeGoodsOpenTime = "FreeGoodsOpenTime" #极品白拿开启时间
|
| | |
| | | Def_VerFix_ChatBubbleBox, # 1.2版本购买VIP礼包可获得激活气泡框道具,针对已购买过VIP礼包的老号处理;
|
| | | Def_VerFix_CTGDoublePrize, # 1.2版本开放首充双倍,重置老号充值ID对应累计充值次数;
|
| | | Def_VerFix_RuneSource, # 修复老号双属性符印的获取途径;
|
| | | ) = range(3)
|
| | | Def_VerFix_FMTDouble, # 1.3版本VIP特权变更,记录切换版本前的VIP特权(封魔坛双倍挑战);
|
| | | ) = range(4)
|
| | |
|
| | | ##==================================================================================================
|
| | | #游戏消费点类型定义
|
| | |
| | | ("Cmd", c_ubyte),
|
| | | ("SubCmd", c_ubyte),
|
| | | ("IsDouble", c_ubyte), #是否双倍
|
| | | ("OldDouble", c_ubyte), #是否曾经允许双倍
|
| | | ]
|
| | |
|
| | | def __init__(self):
|
| | |
| | | self.Cmd = 0xB2
|
| | | self.SubCmd = 0x01
|
| | | self.IsDouble = 0
|
| | | self.OldDouble = 0
|
| | | return
|
| | |
|
| | | def GetLength(self):
|
| | |
| | | DumpString = '''// B2 01 通知封魔坛双倍击杀状态 //tagMCFMTDoubleState:
|
| | | Cmd:%s,
|
| | | SubCmd:%s,
|
| | | IsDouble:%d
|
| | | IsDouble:%d,
|
| | | OldDouble:%d
|
| | | '''\
|
| | | %(
|
| | | self.Cmd,
|
| | | self.SubCmd,
|
| | | self.IsDouble
|
| | | self.IsDouble,
|
| | | self.OldDouble
|
| | | )
|
| | | return DumpString
|
| | |
|
| | |
| | | return
|
| | |
|
| | | encourageCost = eval(ipyData.GetMoneyCount())
|
| | | if curMapID == ChConfig.Def_FBMapID_SealDemon:
|
| | | isDouble = curPlayer.NomalDictGetProperty(ChConfig.Def_Player_Dict_FMTDouble)
|
| | | if isDouble: #封魔坛双倍挑战则鼓舞双倍花费
|
| | | encourageCost *= 2
|
| | |
|
| | | costMoneyList = PlayerControl.HaveMoneyEx(curPlayer, encourageType, encourageCost)
|
| | | if not costMoneyList:
|
| | |
| | |
|
| | | g_npcHurtDict = {}
|
| | |
|
| | |
|
| | | def OnFBPlayerOnLogin(curPlayer):
|
| | | if not GameWorld.GetDictValueByBit(curPlayer, ChConfig.Def_Player_Dict_VersionFix, ChConfig.Def_VerFix_FMTDouble):
|
| | | GameWorld.SetDictValueByBit(curPlayer, ChConfig.Def_Player_Dict_VersionFix, ChConfig.Def_VerFix_FMTDouble, 1)
|
| | | needViplv = IpyGameDataPY.GetFuncCfg('DemonJarSpecial')
|
| | | if curPlayer.GetVIPLv() >= needViplv:
|
| | | PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_Player_Dict_FMTOldDouble, 1)
|
| | | GameWorld.DebugLog('1.3版本前可以双倍挑战')
|
| | | NotifyFMTDouble(curPlayer)
|
| | | return
|
| | |
|
| | |
|
| | | ## 是否能够通过活动查询进入
|
| | | # @param curPlayer 玩家实例
|
| | | # @param mapID 地图ID
|
| | |
| | | curPlayer = GameWorld.GetPlayerManager().GetPlayerByIndex(playerIndex)
|
| | | if GameWorld.GetMap().GetMapID() == ChConfig.Def_FBMapID_SealDemon:
|
| | | return
|
| | | if not PlayerVip.GetPrivilegeValue(curPlayer, ChConfig.VIPPrivilege_FMTDouble):
|
| | | if not curPlayer.NomalDictGetProperty(ChConfig.Def_Player_Dict_FMTOldDouble) and not PlayerVip.GetPrivilegeValue(curPlayer, ChConfig.VIPPrivilege_FMTDouble):
|
| | | return
|
| | | PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_Player_Dict_FMTDouble, clientData.IsDouble)
|
| | | NotifyFMTDouble(curPlayer)
|
| | |
| | | def NotifyFMTDouble(curPlayer):
|
| | | packData = ChPyNetSendPack.tagMCFMTDoubleState()
|
| | | packData.IsDouble = curPlayer.NomalDictGetProperty(ChConfig.Def_Player_Dict_FMTDouble)
|
| | | packData.OldDouble = curPlayer.NomalDictGetProperty(ChConfig.Def_Player_Dict_FMTOldDouble)
|
| | | NetPackCommon.SendFakePack(curPlayer, packData)
|
| | | return
|
| | |
|
| | |
| | | #仙魔之争
|
| | | GameLogic_XMZZ.OnXMZZLogin(curPlayer)
|
| | | PlayerOnlinePrize.OnPlayerLogin(curPlayer)
|
| | | GameLogic_SealDemon.NotifyFMTDouble(curPlayer)
|
| | | #装备分解
|
| | | PlayerEquipDecompose.PlayerLogin(curPlayer)
|
| | | #防沉迷
|