From 378c281fc81dd9a136421503cc8cb267c0eaf995 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期日, 28 九月 2025 16:13:24 +0800
Subject: [PATCH] 16 卡牌服务端(删除副本鼓舞、副本buff;)
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFB.py | 70 -------
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/PyNetPack.ini | 6
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ShareDefine.py | 4
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetPack.py | 56 -----
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py | 220 ----------------------
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py | 54 -----
PySysDB/PySysDBPY.h | 20 --
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/PyGameData.py | 1
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py | 1
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py | 9
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/FBCommon.py | 147 --------------
11 files changed, 8 insertions(+), 580 deletions(-)
diff --git a/PySysDB/PySysDBPY.h b/PySysDB/PySysDBPY.h
index dde1e3c..89399d8 100644
--- a/PySysDB/PySysDBPY.h
+++ b/PySysDB/PySysDBPY.h
@@ -1629,16 +1629,6 @@
BYTE ShowType; //0-服务端通知,>0前端处理
};
-//副本鼓舞表
-
-struct tagFbEncourage
-{
- DWORD _DataMapID; //地图ID
- BYTE _InspireType; //鼓舞类型
- WORD InspireMaxLV; //鼓舞等级限制
- char MoneyCount; //单次消耗金钱数量
-};
-
//地图标试点NPC刷新
struct tagMapRefreshNPC
@@ -3101,16 +3091,6 @@
BYTE _Type; //按装备位对应类型查找
BYTE _Star; // 装备星数
WORD LevelMax; //洗练等级上限
-};
-
-//副本Buff表
-
-struct tagFBBuyBuff
-{
- DWORD _MapId; //
- WORD _MoneyCnt; //仙玉数量
- DWORD BuffID; //BuffID
- WORD BuffCD; //间隔时间s
};
//技能升级表
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/PyNetPack.ini b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/PyNetPack.ini
index 49b6543..160b1bf 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/PyNetPack.ini
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/PyNetPack.ini
@@ -495,9 +495,9 @@
PacketSubCMD_10=
PacketCallFunc_10=
-PacketCMD_11=0xB1
-PacketSubCMD_11=0x0A
-PacketCallFunc_11=OnFBBuyBuff
+PacketCMD_11=
+PacketSubCMD_11=
+PacketCallFunc_11=
PacketCMD_12=0xA2
PacketSubCMD_12=0x31
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py
index ab6fb06..dc12527 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py
@@ -933,7 +933,6 @@
Def_SkillID_Teleport = 1400 #瞬间移动 用于不影响攻击间隔
Def_SkillID_VipBuff = 11500 # VIPbuff
Def_SkillID_TeamVIPBuff = 22000 # VIP队伍buff, 攻守同盟
-Def_SkillID_FBEncourageBuff = 20051 # 副本鼓舞buff
Def_SkillID_PoisonAtkBuff = 25180 # 毒攻buff
Def_SkillID_DropOwnerBuff = 20040 # 掉落归属buff
Def_SkillID_TianxuanBuff = 5100 # 天玄丹特殊掉落buff
@@ -4497,7 +4496,7 @@
Def_Cost_BuyPack, # 购买背包格子
Def_Cost_UseSpeaker, # 喇叭发言
Def_Cost_Revive, # 复活
-Def_Cost_FBEncourage, # 副本鼓舞 5
+Def_Cost_5, # 副本鼓舞 5
Def_Cost_GoldInvest, # 理财投资
Def_Cost_Pray, # 祈祷
Def_Cost_RecoverGain, # 资源找回
@@ -4538,7 +4537,7 @@
Def_Cost_MysteryShopRefresh, # 神秘商店刷新
Def_Cost_AuctionBid, # 拍卖行竞价
Def_Cost_BuyDailyActionCnt, # 购买活动次数 45
-Def_Cost_FBBuyBuff, # 副本买buff
+Def_Cost_46, # 副本买buff
Def_Cost_CreatFamily, # 创建仙盟
Def_Cost_BuyKillBossCnt, #购买boss次数
Def_Cost_EquipStar, #装备升星
@@ -4569,7 +4568,7 @@
Def_Cost_Unknown, "GMSetMoney", "Warehouse", Def_Cost_AuctionBid]
# 可在跨服中消费的类型列表
-MergeServerCanCostType = [Def_Cost_UseSpeaker, Def_Cost_Revive, Def_Cost_FBEncourage]
+MergeServerCanCostType = [Def_Cost_UseSpeaker, Def_Cost_Revive]
#内部仙玉不能用的消费类型列表
UnUseInner_CostType = [Def_Cost_BourseBuy, Def_Cost_FamilyRedPacket, Def_Cost_AuctionBid]
# 消费类型对应信息字典{消费类型:[eventName, 中文说明reason_name, 发送给9377的数据是否分消费子类], }
@@ -4594,7 +4593,6 @@
Def_Cost_BuyPack:"BuyPack",
Def_Cost_UseSpeaker:"UseSpeaker",
Def_Cost_Revive:"Revive",
-Def_Cost_FBEncourage:"FBEncourage",
Def_Cost_RefreshArrestTask:"RefreshArrestTask",
Def_Cost_RefreshTimeShop:"RefreshTimeShop",
Def_Cost_ResetGreatMasterSkill:"ResetTalentSkill",
@@ -4637,7 +4635,6 @@
Def_Cost_MysteryShopRefresh:"MysteryShopRefresh",
Def_Cost_AuctionBid:"AuctionBid",
Def_Cost_BuyDailyActionCnt:"BuyDailyActionCnt",
-Def_Cost_FBBuyBuff:"FBBuyBuff",
Def_Cost_CreatFamily:"CreatFamily",
Def_Cost_BuyKillBossCnt:"BuyKillBossCnt",
Def_Cost_EquipStar:"EquipStar",
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetPack.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetPack.py
index cdd8bc4..07a9513 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetPack.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetPack.py
@@ -13655,62 +13655,6 @@
#------------------------------------------------------
-# B1 0A 副本购买buff #tagCMFBBuyBuff
-
-class tagCMFBBuyBuff(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ("MapID", c_int),
- ("MoneyCnt", c_ushort),
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xB1
- self.SubCmd = 0x0A
- return
-
- def ReadData(self, stringData, _pos=0, _len=0):
- self.Clear()
- memmove(addressof(self), stringData[_pos:], self.GetLength())
- return _pos + self.GetLength()
-
- def Clear(self):
- self.Cmd = 0xB1
- self.SubCmd = 0x0A
- self.MapID = 0
- self.MoneyCnt = 0
- return
-
- def GetLength(self):
- return sizeof(tagCMFBBuyBuff)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// B1 0A 副本购买buff //tagCMFBBuyBuff:
- Cmd:%s,
- SubCmd:%s,
- MapID:%d,
- MoneyCnt:%d
- '''\
- %(
- self.Cmd,
- self.SubCmd,
- self.MapID,
- self.MoneyCnt
- )
- return DumpString
-
-
-m_NAtagCMFBBuyBuff=tagCMFBBuyBuff()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMFBBuyBuff.Cmd,m_NAtagCMFBBuyBuff.SubCmd))] = m_NAtagCMFBBuyBuff
-
-
-#------------------------------------------------------
# B1 08 快速一键过关副本 #tagCMFBQuickPass
class tagCMFBQuickPass(Structure):
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py
index 7cce16d..1bf9608 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py
@@ -5370,114 +5370,6 @@
#------------------------------------------------------
-#A3 0A 副本鼓舞信息通知 #tagMCFBEncourageInfo
-
-class tagMCFBEncourageCnt(Structure):
- _pack_ = 1
- _fields_ = [
- ("MoneyType", c_ubyte), # 金钱类型
- ("EncourageCnt", c_ubyte), # 当前鼓舞次数
- ]
-
- def __init__(self):
- self.Clear()
- return
-
- def ReadData(self, stringData, _pos=0, _len=0):
- self.Clear()
- memmove(addressof(self), stringData[_pos:], self.GetLength())
- return _pos + self.GetLength()
-
- def Clear(self):
- self.MoneyType = 0
- self.EncourageCnt = 0
- return
-
- def GetLength(self):
- return sizeof(tagMCFBEncourageCnt)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''//A3 0A 副本鼓舞信息通知 //tagMCFBEncourageInfo:
- MoneyType:%d,
- EncourageCnt:%d
- '''\
- %(
- self.MoneyType,
- self.EncourageCnt
- )
- return DumpString
-
-
-class tagMCFBEncourageInfo(Structure):
- Head = tagHead()
- Cnt = 0 #(BYTE Cnt)//
- InfoList = list() #(vector<tagMCFBEncourageCnt> InfoList)// 次数信息
- data = None
-
- def __init__(self):
- self.Clear()
- self.Head.Cmd = 0xA3
- self.Head.SubCmd = 0x0A
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- _pos = self.Head.ReadData(_lpData, _pos)
- self.Cnt,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- for i in range(self.Cnt):
- temInfoList = tagMCFBEncourageCnt()
- _pos = temInfoList.ReadData(_lpData, _pos)
- self.InfoList.append(temInfoList)
- return _pos
-
- def Clear(self):
- self.Head = tagHead()
- self.Head.Clear()
- self.Head.Cmd = 0xA3
- self.Head.SubCmd = 0x0A
- self.Cnt = 0
- self.InfoList = list()
- return
-
- def GetLength(self):
- length = 0
- length += self.Head.GetLength()
- length += 1
- for i in range(self.Cnt):
- length += self.InfoList[i].GetLength()
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
- data = CommFunc.WriteBYTE(data, self.Cnt)
- for i in range(self.Cnt):
- data = CommFunc.WriteString(data, self.InfoList[i].GetLength(), self.InfoList[i].GetBuffer())
- return data
-
- def OutputString(self):
- DumpString = '''
- Head:%s,
- Cnt:%d,
- InfoList:%s
- '''\
- %(
- self.Head.OutputString(),
- self.Cnt,
- "..."
- )
- return DumpString
-
-
-m_NAtagMCFBEncourageInfo=tagMCFBEncourageInfo()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCFBEncourageInfo.Head.Cmd,m_NAtagMCFBEncourageInfo.Head.SubCmd))] = m_NAtagMCFBEncourageInfo
-
-
-#------------------------------------------------------
#A3 04 玩家扫荡信息 #tagMCFBWipeOutData
class tagMCFBData(Structure):
@@ -39167,118 +39059,6 @@
m_NAtagMCAddXianyuanCoinMsg=tagMCAddXianyuanCoinMsg()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCAddXianyuanCoinMsg.Head.Cmd,m_NAtagMCAddXianyuanCoinMsg.Head.SubCmd))] = m_NAtagMCAddXianyuanCoinMsg
-
-
-#------------------------------------------------------
-# B2 15 副本买buff信息通知 #tagMCFBBuyBuffInfo
-
-class tagMCFBBuyBuffTime(Structure):
- _pack_ = 1
- _fields_ = [
- ("MapID", c_int),
- ("MoneyCnt", c_ushort),
- ("BuyTime", c_int),
- ]
-
- def __init__(self):
- self.Clear()
- return
-
- def ReadData(self, stringData, _pos=0, _len=0):
- self.Clear()
- memmove(addressof(self), stringData[_pos:], self.GetLength())
- return _pos + self.GetLength()
-
- def Clear(self):
- self.MapID = 0
- self.MoneyCnt = 0
- self.BuyTime = 0
- return
-
- def GetLength(self):
- return sizeof(tagMCFBBuyBuffTime)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// B2 15 副本买buff信息通知 //tagMCFBBuyBuffInfo:
- MapID:%d,
- MoneyCnt:%d,
- BuyTime:%d
- '''\
- %(
- self.MapID,
- self.MoneyCnt,
- self.BuyTime
- )
- return DumpString
-
-
-class tagMCFBBuyBuffInfo(Structure):
- Head = tagHead()
- Cnt = 0 #(BYTE Cnt)
- InfoList = list() #(vector<tagMCFBBuyBuffTime> InfoList)
- data = None
-
- def __init__(self):
- self.Clear()
- self.Head.Cmd = 0xB2
- self.Head.SubCmd = 0x15
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- _pos = self.Head.ReadData(_lpData, _pos)
- self.Cnt,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- for i in range(self.Cnt):
- temInfoList = tagMCFBBuyBuffTime()
- _pos = temInfoList.ReadData(_lpData, _pos)
- self.InfoList.append(temInfoList)
- return _pos
-
- def Clear(self):
- self.Head = tagHead()
- self.Head.Clear()
- self.Head.Cmd = 0xB2
- self.Head.SubCmd = 0x15
- self.Cnt = 0
- self.InfoList = list()
- return
-
- def GetLength(self):
- length = 0
- length += self.Head.GetLength()
- length += 1
- for i in range(self.Cnt):
- length += self.InfoList[i].GetLength()
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
- data = CommFunc.WriteBYTE(data, self.Cnt)
- for i in range(self.Cnt):
- data = CommFunc.WriteString(data, self.InfoList[i].GetLength(), self.InfoList[i].GetBuffer())
- return data
-
- def OutputString(self):
- DumpString = '''
- Head:%s,
- Cnt:%d,
- InfoList:%s
- '''\
- %(
- self.Head.OutputString(),
- self.Cnt,
- "..."
- )
- return DumpString
-
-
-m_NAtagMCFBBuyBuffInfo=tagMCFBBuyBuffInfo()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCFBBuyBuffInfo.Head.Cmd,m_NAtagMCFBBuyBuffInfo.Head.SubCmd))] = m_NAtagMCFBBuyBuffInfo
#------------------------------------------------------
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/FBCommon.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/FBCommon.py
index 3e62f1a..1cf4a1e 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/FBCommon.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/FBCommon.py
@@ -2109,153 +2109,6 @@
return False
-
-## 副本行为 - 鼓舞buff
-# @param curPlayer 玩家
-# @param key 副本玩家字典key
-# @param encourageType 金钱类型
-# @param tick 当前时间
-# @param isMaxlv 是否直接满级
-# @return None
-def FbEncourageBuff(curPlayer, key, encourageType, tick, ownerID=0):
- #GameWorld.Log("FbEncourageBuff moneyType=%s" % (moneyType))
- curMapID = curPlayer.GetMapID()
- curMapID = GetRecordMapID(curMapID)
- ipyData = IpyGameDataPY.GetIpyGameData('FbEncourage', curMapID, encourageType)
- if not ipyData:
- return
- maxCnt = ipyData.GetInspireMaxLV()
- gameFB = GameWorld.GetGameFB()
- ownerID = ownerID or curPlayer.GetID()
- encourageLV = gameFB.GetPlayerGameFBDictByKey(ownerID, key)
- encourageCntKey = 'FbEncourageCnt_%s' % encourageType
- encourageCnt = gameFB.GetPlayerGameFBDictByKey(ownerID, encourageCntKey)
- maxLV = IpyGameDataPY.GetFuncEvalCfg('FBEncourageBuff', 2, {}).get(curMapID, 0)
- if encourageLV >= maxLV:
- PlayerControl.NotifyCode(curPlayer, "GeRen_chenxin_93643")
- return
- if encourageCnt >= maxCnt:
- if encourageType == IPY_GameWorld.TYPE_Price_Silver_Money:
- PlayerControl.NotifyCode(curPlayer, "Xjmj_CopperInspireFull")
- else:
- PlayerControl.NotifyCode(curPlayer, "GeRen_chenxin_93643")
- return
-
- encourageCost = eval(ipyData.GetMoneyCount())
-
- costMoneyList = PlayerControl.HaveMoneyEx(curPlayer, encourageType, encourageCost)
- if not costMoneyList:
- return
-
- # 扣除鼓舞消耗
- infoDict = {"MapID":curMapID}
- for moneyType, moneyCnt in costMoneyList:
- if not PlayerControl.PayMoney(curPlayer, moneyType, moneyCnt, ChConfig.Def_Cost_FBEncourage, infoDict):
- return
- buffTypeID = IpyGameDataPY.GetFuncEvalCfg('FBEncourageBuff', 1, {}).get(curMapID, ChConfig.Def_SkillID_FBEncourageBuff)
- skillBuffID = buffTypeID + encourageLV
- skillBuff = GameWorld.GetGameData().GetSkillBySkillID(skillBuffID)
- if not skillBuff:
- GameWorld.Log("FbEncourageBuff 找不到技能%s" % skillBuffID)
- return
-
- buffType = SkillCommon.GetBuffType(skillBuff)
-
- gameFB.SetPlayerGameFBDict(ownerID, key, encourageLV+1)
- gameFB.SetPlayerGameFBDict(ownerID, encourageCntKey, encourageCnt+1)
- #GameWorld.Log("FbEncourageBuff encourage nextLV=%s success" % encourageLV)
- addHurtNum = IpyGameDataPY.GetFuncEvalCfg('FBEncourageBuff', 3, {}).get(curMapID, 0)
- if curMapID == ChConfig.Def_FBMapID_AllFamilyBoss:
- #给副本里所有盟成员提示
- playerManager = GameWorld.GetMapCopyPlayerManager()
- for index in xrange(playerManager.GetPlayerCount()):
- player = playerManager.GetPlayerByIndex(index)
- if not player:
- continue
- if player.GetFamilyID() != ownerID:
- continue
- BuffSkill.DoAddBuff(player, buffType, skillBuff, tick)
- PlayerControl.NotifyCode(player, "AllianceBossText2", [curPlayer.GetName(), encourageLV+1])
- SendFBEncourageInfo(player, encourageLV+1, ownerID)
- if player.GetID() == curPlayer.GetID():
- PlayerSuccess.DoAddSuccessProgress(curPlayer, ShareDefine.SuccType_FBEncourage, 1, [curMapID])
-
- else:
- BuffSkill.DoAddBuff(curPlayer, buffType, skillBuff, tick)
- PlayerControl.NotifyCode(curPlayer, "GeRen_chenxin_628920", [(encourageLV+1)*addHurtNum])
- SendFBEncourageInfo(curPlayer, encourageLV+1, ownerID)
- #成就
- PlayerSuccess.DoAddSuccessProgress(curPlayer, ShareDefine.SuccType_FBEncourage, 1, [curMapID])
- return True
-
-## 添加副本鼓舞buff,一般用于玩家掉线后,在规定时间内重新上线回到副本时重新上buff
-# @param curPlayer 玩家
-# @param key 副本玩家字典key
-# @param tick 当前时间
-# @return None
-def AddFbEncourageBuff(curPlayer, key, tick, ownerID=0):
- curPlayerID = curPlayer.GetID()
- GameWorld.Log("AddFbEncourageBuff() curPlayerID=%s" % curPlayerID)
- ownerID = ownerID or curPlayer.GetID()
- gameFB = GameWorld.GetGameFB()
- encourageLV = gameFB.GetPlayerGameFBDictByKey(ownerID, key)
- if not encourageLV:
- return
- mapID = GameWorld.GetMap().GetMapID()
- mapID = GetRecordMapID(mapID)
- buffTypeID = IpyGameDataPY.GetFuncEvalCfg('FBEncourageBuff', 1, {}).get(mapID, ChConfig.Def_SkillID_FBEncourageBuff)
- skillBuffID = buffTypeID + encourageLV -1
- skillBuff = GameWorld.GetGameData().GetSkillBySkillID(skillBuffID)
- if not skillBuff:
- GameWorld.Log("FbEncourageBuff 找不到技能%s" % skillBuffID)
- return
-
- buffType = SkillCommon.GetBuffType(skillBuff)
- BuffSkill.DoAddBuff(curPlayer, buffType, skillBuff, tick)
-
- SendFBEncourageInfo(curPlayer, encourageLV, ownerID)
- return
-
-## 清除鼓舞buff
-# @param curPlayer 玩家
-# @param tick 当前时间
-# @return True - 清除成功 ; False - 无该buff
-def ClearEncourageBuff(curPlayer, tick):
- for buffTypeID in list(set(IpyGameDataPY.GetFuncEvalCfg('FBEncourageBuff', 1, {}).values())):
- if BuffSkill.DelBuffBySkillID(curPlayer, buffTypeID, tick):
- playerControl = PlayerControl.PlayerControl(curPlayer)
- playerControl.RefreshPlayerAttrByBuff()
- GameWorld.Log("ClearEncourageBuff() True")
- return True
- GameWorld.Log("ClearEncourageBuff() False")
- return False
-
-## 发送副本鼓舞信息
-# @param curPlayer 玩家
-# @return None
-def SendFBEncourageInfo(curPlayer, lv, ownerID=0):
- #//A3 0A 副本鼓舞信息通知 #tagMCFBEncourageInfo
- curMapID = curPlayer.GetMapID()
- curMapID = GetRecordMapID(curMapID)
- ipyDataList = IpyGameDataPY.GetIpyGameDataByCondition('FbEncourage', {'DataMapID':curMapID}, True)
- if not ipyDataList:
- return
- encourageInfo = ChPyNetSendPack.tagMCFBEncourageInfo()
- encourageInfo.Clear()
- encourageInfo.InfoList = []
- encourageCntKey = 'FbEncourageCnt_%s'
- gameFB = GameWorld.GetGameFB()
- ownerID = ownerID or curPlayer.GetID()
- for ipyData in ipyDataList:
- inspireType = ipyData.GetInspireType()
- packData = ChPyNetSendPack.tagMCFBEncourageCnt()
- packData.MoneyType = inspireType
- packData.EncourageCnt = gameFB.GetPlayerGameFBDictByKey(ownerID, encourageCntKey % inspireType)
- encourageInfo.InfoList.append(packData)
- encourageInfo.Cnt = len(encourageInfo.InfoList)
- NetPackCommon.SendFakePack(curPlayer, encourageInfo)
- return
-
## 获取玩家所在副本区域福利倍值
# @param curPlayer 玩家
# @return 倍值-默认为1
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
index 8d1ae8b..377d290 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
@@ -1325,13 +1325,6 @@
("BYTE", "ShowType", 0),
),
- "FbEncourage":(
- ("DWORD", "DataMapID", 1),
- ("BYTE", "InspireType", 1),
- ("WORD", "InspireMaxLV", 0),
- ("char", "MoneyCount", 0),
- ),
-
"MapRefreshNPC":(
("DWORD", "MapID", 1),
("BYTE", "RefreshNum", 0),
@@ -2432,13 +2425,6 @@
("BYTE", "Type", 1),
("BYTE", "Star", 1),
("WORD", "LevelMax", 0),
- ),
-
- "FBBuyBuff":(
- ("DWORD", "MapId", 1),
- ("WORD", "MoneyCnt", 1),
- ("DWORD", "BuffID", 0),
- ("WORD", "BuffCD", 0),
),
"SkillElement":(
@@ -4450,18 +4436,6 @@
def GetBindMissionID(self): return self.attrTuple[4] # 绑定的任务ID DWORD
def GetShowType(self): return self.attrTuple[5] # 0-服务端通知,>0前端处理 BYTE
-# 副本鼓舞表
-class IPY_FbEncourage():
-
- def __init__(self):
- self.attrTuple = None
- return
-
- def GetDataMapID(self): return self.attrTuple[0] # 地图ID DWORD
- def GetInspireType(self): return self.attrTuple[1] # 鼓舞类型 BYTE
- def GetInspireMaxLV(self): return self.attrTuple[2] # 鼓舞等级限制 WORD
- def GetMoneyCount(self): return self.attrTuple[3] # 单次消耗金钱数量 char
-
# 地图标试点NPC刷新
class IPY_MapRefreshNPC():
@@ -6169,18 +6143,6 @@
def GetStar(self): return self.attrTuple[1] # 装备星数 BYTE
def GetLevelMax(self): return self.attrTuple[2] # 洗练等级上限 WORD
-# 副本Buff表
-class IPY_FBBuyBuff():
-
- def __init__(self):
- self.attrTuple = None
- return
-
- def GetMapId(self): return self.attrTuple[0] # DWORD
- def GetMoneyCnt(self): return self.attrTuple[1] # 仙玉数量 WORD
- def GetBuffID(self): return self.attrTuple[2] # BuffID DWORD
- def GetBuffCD(self): return self.attrTuple[3] # 间隔时间s WORD
-
# 技能升级表
class IPY_SkillElement():
@@ -6580,7 +6542,6 @@
self.__LoadFileData("FamilyRedPack", onlyCheck)
self.__LoadFileData("ActFeastRedPacketSucc", onlyCheck)
self.__LoadFileData("NPCShow", onlyCheck)
- self.__LoadFileData("FbEncourage", onlyCheck)
self.__LoadFileData("MapRefreshNPC", onlyCheck)
self.__LoadFileData("RuneCompound", onlyCheck)
self.__LoadFileData("ResourcesBack", onlyCheck)
@@ -6702,7 +6663,6 @@
self.__LoadFileData("FamilyZhenbaogeItem", onlyCheck)
self.__LoadFileData("FamilyZhenfa", onlyCheck)
self.__LoadFileData("ItemWashMax", onlyCheck)
- self.__LoadFileData("FBBuyBuff", onlyCheck)
self.__LoadFileData("SkillElement", onlyCheck)
self.__LoadFileData("LingGenEffect", onlyCheck)
self.__LoadFileData("LoveGift", onlyCheck)
@@ -7759,13 +7719,6 @@
self.CheckLoadData("NPCShow")
return self.ipyNPCShowCache[index]
- def GetFbEncourageCount(self):
- self.CheckLoadData("FbEncourage")
- return self.ipyFbEncourageLen
- def GetFbEncourageByIndex(self, index):
- self.CheckLoadData("FbEncourage")
- return self.ipyFbEncourageCache[index]
-
def GetMapRefreshNPCCount(self):
self.CheckLoadData("MapRefreshNPC")
return self.ipyMapRefreshNPCLen
@@ -8612,13 +8565,6 @@
def GetItemWashMaxByIndex(self, index):
self.CheckLoadData("ItemWashMax")
return self.ipyItemWashMaxCache[index]
-
- def GetFBBuyBuffCount(self):
- self.CheckLoadData("FBBuyBuff")
- return self.ipyFBBuyBuffLen
- def GetFBBuyBuffByIndex(self, index):
- self.CheckLoadData("FBBuyBuff")
- return self.ipyFBBuyBuffCache[index]
def GetSkillElementCount(self):
self.CheckLoadData("SkillElement")
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py
index 97e58b5..6acc07c 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py
@@ -1000,7 +1000,6 @@
playerID = curPlayer.GetPlayerID()
if not isDisconnect:
CrossPlayerData.ClearCrossSyncDataCache(curPlayer)
- PyGameData.g_fbBuyBuffTimeDict.pop(playerID, None)
#清除地图玩家缓存
PyGameData.g_playerReqEnterFBEx.pop(playerID, None)
NPCCommon.ClearPriWoodPile(curPlayer)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFB.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFB.py
index 84f2db6..93e4a3b 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFB.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFB.py
@@ -47,7 +47,6 @@
import math
#---------------------------------------------------------------------
def OnLogin(curPlayer):
- NotifyBuyFBBuffInfo(curPlayer)
return
## 玩家副本行为封包 A5 08
@@ -547,75 +546,6 @@
GameObj.SetHPFull(curPlayer)
GameWorld.Log("玩家退出自定义场景!", curPlayer.GetPlayerID())
- return
-
-#// B1 0A 副本购买buff #tagCMFBBuyBuff
-#struct tagCMFBBuyBuff
-#{
-# tagHead Head;
-# DWORD MapID;
-# WORD MoneyCnt;
-#};
-def OnFBBuyBuff(playerIndex, clientData, tick):
- curPlayer = GameWorld.GetPlayerManager().GetPlayerByIndex(playerIndex)
- playerID = curPlayer.GetPlayerID()
- mapID = clientData.MapID
- moneyCnt = clientData.MoneyCnt
- ipyData = IpyGameDataPY.GetIpyGameData('FBBuyBuff', mapID, moneyCnt)
- if not ipyData:
- return
- addBuffID = ipyData.GetBuffID()
- curSkill = GameWorld.GetGameData().GetSkillBySkillID(addBuffID)
- if not curSkill:
- return
- crossMapID = PlayerControl.GetCrossMapID(curPlayer)
- if crossMapID and mapID !=crossMapID:
- return
- if not crossMapID and mapID != GameWorld.GetMap().GetMapID():
- return
-
- curTime = int(time.time())
- #判断CD
- timeKey = (mapID, moneyCnt)
- lastTime = PyGameData.g_fbBuyBuffTimeDict.get(playerID, {}).get(timeKey, 0)
- if lastTime and curTime - lastTime < ipyData.GetBuffCD():
- GameWorld.DebugLog('副本购买buff CD未到 ')
- return
-
- #扣钱
- infoDict = {"MapID":mapID, "addBuffID":addBuffID}
- if not PlayerControl.PayMoney(curPlayer, IPY_GameWorld.TYPE_Price_Gold_Money, moneyCnt, ChConfig.Def_Cost_FBBuyBuff, infoDict):
- return
- if playerID not in PyGameData.g_fbBuyBuffTimeDict:
- PyGameData.g_fbBuyBuffTimeDict[playerID] = {}
- PyGameData.g_fbBuyBuffTimeDict[playerID][timeKey] = curTime
- NotifyBuyFBBuffInfo(curPlayer)
- if crossMapID:
- msgDict = {"PlayerID":curPlayer.GetPlayerID(), "buffID":addBuffID}
- GameWorld.SendMsgToCrossServer(ShareDefine.ClientServerMsg_AddBuff, msgDict)
- GameWorld.DebugLog("跨服中请求复活, crossMapID=%s,msgDict=%s" % (crossMapID, msgDict), playerID)
- return
-
- SkillShell.__DoLogic_AddBuff(curPlayer, curPlayer, curSkill, False, tick, 0, 0)
- #SkillCommon.AddBuffBySkillType(curPlayer, addBuffID, tick)
- return
-
-def NotifyBuyFBBuffInfo(curPlayer):
- playerID = curPlayer.GetPlayerID()
- buffTimeDict = PyGameData.g_fbBuyBuffTimeDict.get(playerID, {})
- if not buffTimeDict:
- return
- packData = ChPyNetSendPack.tagMCFBBuyBuffInfo()
- packData.InfoList = []
- for timeKey, buyTime in buffTimeDict.items():
- mapID, moneyCnt = timeKey
- timeInfo = ChPyNetSendPack.tagMCFBBuyBuffTime()
- timeInfo.MapID = mapID
- timeInfo.MoneyCnt = moneyCnt
- timeInfo.BuyTime = buyTime
- packData.InfoList.append(timeInfo)
- packData.Cnt = len(packData.InfoList)
- NetPackCommon.SendFakePack(curPlayer, packData)
return
#// B1 08 快速一键过关副本 #tagCMFBQuickPass
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/PyGameData.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/PyGameData.py
index e3ba0a0..a28cc57 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/PyGameData.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/PyGameData.py
@@ -115,7 +115,6 @@
g_crossFuncLineDataCache = {} # 动态分配的跨服虚拟分线数据缓存 {(mapID, copyMapID):funcLineDataCache, ...}
g_crossPlayerServerGroupIDInfo = {} #跨服玩家服务器组ID缓存,副本线路关闭时才释放,所以支持离线跨服玩家 {copyMapID:{playerID:serverGroupID, ...}, ...}
-g_fbBuyBuffTimeDict = {} # 副本购买buff时间缓存{playerID:{moneyCnt:time}}
g_elemntSkillDict = {} #{skillID:[attrID*100000+needValue,..]}
g_coupleInfo = {} # {playerID:[coupleID, coupleName], ...}
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ShareDefine.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ShareDefine.py
index 57cc487..35ac305 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ShareDefine.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ShareDefine.py
@@ -1606,7 +1606,7 @@
SuccType_DujieFBHelp, #渡劫护法成功X次 78
SuccType_DujieFBHelpPass, #渡劫助战成功X次 79
SuccType_XXX80, #废弃 80
-SuccType_FBEncourage, #x副本累计鼓舞X次 81
+SuccType_81, #x副本累计鼓舞X次 81
SuccType_EquipStar, #x件x阶x星 82
SuccType_XXX83, #废弃 83
SuccType_XXX84, #废弃 84
@@ -1726,7 +1726,7 @@
SuccType_QueenRelics,SuccType_XMZZConWin,
SuccType_Collect,SuccType_DogzBattle,
SuccType_UseItem,SuccType_FamilyTechLV,
- SuccType_GetSpecialItem,SuccType_GetMagicWeapon,SuccType_FBEncourage,SuccType_XBXZ,
+ SuccType_GetSpecialItem,SuccType_GetMagicWeapon,SuccType_XBXZ,
SuccType_FeastRedPack_KillSpecificNPC,SuccType_FeastRedPack_KillBoss,
SuccType_FeastRedPack_EnterMap, SuccType_FeastRedPack_FBSweep,
]
--
Gitblit v1.8.0