From 33afb14fa1def4e211793532bbeb463f9a0deaf8 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期三, 11 二月 2026 20:05:46 +0800
Subject: [PATCH] 16 卡牌服务端(删除旧的七天登录、活动登录、节日登录、节日祝福、等级奖励;)
---
/dev/null | 113 ---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/PyNetPack.ini | 28
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ShareDefine.py | 9
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetPack.py | 160 ----
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py | 1200 ------------------------------------
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/DataRecordPack.py | 22
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py | 265 --------
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py | 26
PySysDB/PySysDBPY.h | 101 ---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerEventCounter.py | 3
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py | 21
11 files changed, 2 insertions(+), 1,946 deletions(-)
diff --git a/PySysDB/PySysDBPY.h b/PySysDB/PySysDBPY.h
index 9a713be..6e349c9 100644
--- a/PySysDB/PySysDBPY.h
+++ b/PySysDB/PySysDBPY.h
@@ -1446,14 +1446,6 @@
DWORD AddMaxAtk; //增加最大攻击
};
-//七天登录奖励表
-
-struct tagLoginDayAward
-{
- BYTE _DayID; //天数
- dict Reward; //奖励 {"职业":[[物品ID,个数],...], ...}
-};
-
//充值商品编号表
struct OrderInfo
@@ -1507,18 +1499,6 @@
list AwardListDay1; //第1天奖励 [[物品ID,个数,装备定制ID], ...]
list AwardListDay2; //第2天奖励 [[物品ID,个数,装备定制ID], ...]
list AwardListDay3; //第3天奖励 [[物品ID,个数,装备定制ID], ...]
-};
-
-//等级奖励表
-
-struct tagLVAward
-{
- BYTE _AwardID; //奖励ID
- WORD LV; //等级
- WORD LimitCnt; //全服限制数量
- dict Reward; //奖励 {"职业":[[物品ID,个数],...], ...}
- BYTE VIPLimit; //需要VIP几
- list VIPAward; //vip奖励[[物品ID,个数],...]
};
//寻宝设定表
@@ -2218,87 +2198,6 @@
BYTE DayNum; //第X天从1开始
list LoginAwardItemList; //奖励列表[[物品ID,个数,是否拍品], ...]
list LoginAwardItemListEx; //扩展奖励列表[[物品ID,个数,是否拍品], ...]
-};
-
-//登录奖励时间表
-
-struct tagActLoginAward
-{
- DWORD _CfgID; //配置ID
- char StartDate; //开启日期
- char EndDate; //结束日期
- WORD AdvanceMinutes; //前端提前X分钟展示活动
- BYTE IsDayReset; //是否每天重置
- BYTE ResetType; //重置类型,0-0点重置;1-5点重置
- WORD LVLimit; //限制等级
- list TemplateID; //模板编号
-};
-
-//登录奖励模板表
-
-struct tagLoginAward
-{
- BYTE _TemplateID; //模板ID
- BYTE ActionType; //活动条目ID
- DWORD TotalTimes; //可完成的总次数,0表示不限次数
- WORD SingleTimes; //单次领奖需要的次数
- char Reward; //奖励物品
-};
-
-//节日登录奖励时间表
-
-struct tagActFeastLogin
-{
- DWORD _CfgID; //配置ID
- char StartDate; //开启日期
- char EndDate; //结束日期
- WORD LVLimit; //限制等级
- dict TemplateIDInfo; //模板信息 {(世界等级A,B):奖励模板编号, ...}
-};
-
-//节日登录奖励模板表
-
-struct tagActFeastLoginAward
-{
- BYTE _TemplateID; //模板ID
- BYTE DayNum; //第X天从1开始
- list LoginAwardItemList; //奖励列表[[物品ID,个数,是否拍品], ...]
-};
-
-//节日祝福时间表
-
-struct tagActFeastWish
-{
- DWORD _CfgID; //配置ID
- char StartDate; //开启日期
- char EndDate; //结束日期
- WORD LVLimit; //限制等级
- BYTE ResetType; //重置类型,0-0点重置;1-5点重置
- dict TemplateIDInfo; //模板信息 {(世界等级A,B):模板编号, ...}
-};
-
-//节日祝福瓶模板表
-
-struct tagActFeastWishBottle
-{
- BYTE _TemplateID; //模板ID
- BYTE WishBottleNum; //祝福瓶编号
- WORD NeedWishValue; //单次领奖所需祝福值
- BYTE ChooseTimeMax; //最大可领奖次数
- dict ChoosePrizeItem; //选择奖励物品信息,选完为止 {记录索引:[物品ID,个数,是否拍品], ...}
- list GoodItemIDList; //需要广播的物品ID列表 [物品ID, ...]
- char WorldNotifyKey; //全服广播key,参数(玩家名, 物品ID, 物品数据, 个数,)
-};
-
-//节日祝福池模板表
-
-struct tagActFeastWishPool
-{
- BYTE _TemplateID; //模板ID
- list WishPoolItemWeightInfo; //祝福池产出物品权重 [[权重, [物品ID,个数]], ..]
- list WishPoolClientItemShow; //前端展示物品列表 [物品ID, ...]
- list GoodItemIDList; //需要广播的物品ID列表 [物品ID, ...]
- char WorldNotifyKey; //全服广播key,参数(玩家名, 物品ID, 物品数据, 个数,)
};
//新仙界盛典-全民来嗨表
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/PyNetPack.ini b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/PyNetPack.ini
index 4e44c8d..b2832bd 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/PyNetPack.ini
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/PyNetPack.ini
@@ -474,18 +474,6 @@
PacketSubCMD_2 = 0x34
PacketCallFunc_2 = OnLianTiLVUp
-;累计登陆礼
-[PlayerLoginDayAward]
-ScriptName = Player\PlayerLoginDayAward.py
-Writer = alee
-Releaser = alee
-RegType = 0
-RegisterPackCount = 1
-
-PacketCMD_1 = 0xAA
-PacketSubCMD_1 = 0x01
-PacketCallFunc_1 = GetTotalLoginDayAward
-
;改名功能
[UpdatePlayerName]
ScriptName = Player\UpdatePlayerName.py
@@ -854,22 +842,6 @@
PacketCMD_2=
PacketSubCMD_2=
PacketCallFunc_2=
-
-;节日祝福
-[PlayerFeastWish]
-ScriptName = Player\PlayerFeastWish.py
-Writer = hxp
-Releaser = hxp
-RegType = 0
-RegisterPackCount = 2
-
-PacketCMD_1=0xAA
-PacketSubCMD_1=0x10
-PacketCallFunc_1=OnFeastWishBottleChooseItem
-
-PacketCMD_2=0xAA
-PacketSubCMD_2=0x11
-PacketCallFunc_2=OnFeastWishPoolWish
;功能系统特权
[PlayerFuncSysPrivilege]
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py
index 040bea5..45e4e42 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py
@@ -3297,8 +3297,6 @@
Def_PDict_PackDataSyncFightPower = "PackDataSyncFightPower" # 本次上线打包数据同步时的战力,用于对比,只对比求余亿部分即可
Def_PDict_DayOnlineTime = "DayOnlineTime" # 当日在线时长
Def_PDict_DayOnlineCalcTime = "DayOLCalcTime" # 当日在线计算时间
-Def_PDict_LVAwardGetRecord = "LVAwardGetRecord" # 等级奖励领取信息记录,按二进制位标示
-Def_PDict_LVAwardVIPGetRecord = "LVAwardVIPGetRecord" # 等级奖励vip领取信息记录,按二进制位标示
Def_PDict_HistoryChargeAwardGetRecord = "HTotalGoldAwardRecord" # 历史累计充值奖励领取信息记录,按二进制位标示
Def_PDict_CTGCountResetTime = "CTGCountResetTime" # CTG次数重置时间time值
Def_PDict_CTGRealToday = "CTGRealToday" # 当日真实货币充值Coin数 ,不含后台充值 - 今日
@@ -3515,28 +3513,11 @@
Def_PDict_TravelGridInfo = "TravelGridInfo_%s_%s" # 格子信息,参数(行, 列) 事件ID*100+是否双倍*10+开启状态
Def_PDict_TravelState = "TravelState" # 本盘游历记录,1-已领取景观奖励
-#登录奖励运营活动
-Def_PDict_LoginAwardID = "LoginAwardID" # 玩家身上的BOSS复活活动ID,唯一标识,取活动开始日期time值
-Def_PDict_LoginAwardCurTimes = "LoginAwardCurTimes_%s_%s" #当前完成次数 参数(第X天,模板ID)
-Def_PDict_LoginAwardGotTimes = "LoginAwardGotTimes_%s_%s" #当前已领次数 参数(第X天,模板ID)
-Def_PDict_LoginAwardWorldLV = "LoginAwardWorldLV%s" #活动开启时世界等级参数(第X天)
-
#幸运鉴宝
Def_PDict_LuckyTreasureID = "LuckyTreasureID" # 玩家身上的活动ID,唯一标识,取活动开始日期time值
Def_PDict_LuckyTreasureFree = "LuckyTreasureFree" #是否免费过
Def_PDict_LuckyTreasurePoint = "LuckyTreasurePoint" #幸运值
Def_PDict_LuckyTreasureCnt = "LuckyTreasureCnt" #鉴宝次数
-
-#节日登录活动
-Def_PDict_FeastLoginID = "FeastLoginID" # 玩家身上的活动ID,唯一标识,取活动开始日期time值
-Def_PDict_FeastLoginState = "FeastLoginState" # 活动登录记录,十位-已累计登录天数,个位-上次记录的登录天
-Def_PDict_FeastLoginAwardState = "FeastLoginAwardState" # 活动登录领奖记录,按天编号-1为索引进行二进制位运算记录当天是否已领奖
-
-#节日祝福活动
-Def_PDict_FeastWishID = "FeastWishID" # 玩家身上的活动ID,唯一标识,取活动开始日期time值
-Def_PDict_FeastWishTemplateID = "FeastWishTemplateID" # 玩家身上的模板ID
-Def_PDict_FeastWishBottleValue = "FeastWishBottleValue_%s" # 祝福瓶当前祝福值,参数(瓶子编号)
-Def_PDict_FeastWishBottleGetState = "FeastWishBottleGetState_%s" # 祝福瓶已领取记录,参数(瓶子编号),按记录索引二进制位存储是否已领取
#多日连充活动
Def_PDict_ManyDayRechargeID = "ManyDayRechargeID_%s" # 玩家身上的活动ID,唯一标识,取活动开始日期time值,参数:(活动编号)
@@ -4814,7 +4795,7 @@
Def_RewardType_ShareGame, #每日分享奖励34
Def_RewardType_GoodGame, #游戏好评奖励35
Def_RewardType_CACTGBillboardDabiao, #跨服充值排行活动达标奖励36
-Def_RewardType_FeastLogin, #节日登录奖励37
+Def_RewardType_37,
Def_RewardType_38,
Def_RewardType_DailyRecharge, #永久每日累充奖励39
Def_RewardType_RechargeGold30, #1元送30倍充值券每日奖励40
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetPack.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetPack.py
index fa266ef..b820f08 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetPack.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetPack.py
@@ -9445,114 +9445,6 @@
#------------------------------------------------------
-# AA 10 节日祝福瓶选择奖励物品 #tagCMFeastWishBottleChooseItem
-
-class tagCMFeastWishBottleChooseItem(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ("BottleNum", c_ubyte), #瓶子编号
- ("RecordIndex", c_ubyte), #物品索引,用于选择及记录是否已选择
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xAA
- self.SubCmd = 0x10
- 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 = 0xAA
- self.SubCmd = 0x10
- self.BottleNum = 0
- self.RecordIndex = 0
- return
-
- def GetLength(self):
- return sizeof(tagCMFeastWishBottleChooseItem)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// AA 10 节日祝福瓶选择奖励物品 //tagCMFeastWishBottleChooseItem:
- Cmd:%s,
- SubCmd:%s,
- BottleNum:%d,
- RecordIndex:%d
- '''\
- %(
- self.Cmd,
- self.SubCmd,
- self.BottleNum,
- self.RecordIndex
- )
- return DumpString
-
-
-m_NAtagCMFeastWishBottleChooseItem=tagCMFeastWishBottleChooseItem()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMFeastWishBottleChooseItem.Cmd,m_NAtagCMFeastWishBottleChooseItem.SubCmd))] = m_NAtagCMFeastWishBottleChooseItem
-
-
-#------------------------------------------------------
-# AA 11 节日祝福池祝福 #tagCMFeastWishPoolWish
-
-class tagCMFeastWishPoolWish(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ("WishCount", c_ubyte), #祝福次数
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xAA
- self.SubCmd = 0x11
- 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 = 0xAA
- self.SubCmd = 0x11
- self.WishCount = 0
- return
-
- def GetLength(self):
- return sizeof(tagCMFeastWishPoolWish)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// AA 11 节日祝福池祝福 //tagCMFeastWishPoolWish:
- Cmd:%s,
- SubCmd:%s,
- WishCount:%d
- '''\
- %(
- self.Cmd,
- self.SubCmd,
- self.WishCount
- )
- return DumpString
-
-
-m_NAtagCMFeastWishPoolWish=tagCMFeastWishPoolWish()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMFeastWishPoolWish.Cmd,m_NAtagCMFeastWishPoolWish.SubCmd))] = m_NAtagCMFeastWishPoolWish
-
-
-#------------------------------------------------------
# AA 05 限时抢购预约 #tagCMFlashSaleAppointment
class tagCMFlashSaleAppointment(Structure):
@@ -9610,58 +9502,6 @@
m_NAtagCMFlashSaleAppointment=tagCMFlashSaleAppointment()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMFlashSaleAppointment.Cmd,m_NAtagCMFlashSaleAppointment.SubCmd))] = m_NAtagCMFlashSaleAppointment
-
-
-#------------------------------------------------------
-#AA 01 领取累计登陆礼 # tagCMGetTotalLoginDayAward
-
-class tagCMGetTotalLoginDayAward(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ("Index", c_ubyte), # 领取礼物
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xAA
- self.SubCmd = 0x01
- 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 = 0xAA
- self.SubCmd = 0x01
- self.Index = 0
- return
-
- def GetLength(self):
- return sizeof(tagCMGetTotalLoginDayAward)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''//AA 01 领取累计登陆礼 // tagCMGetTotalLoginDayAward:
- Cmd:%s,
- SubCmd:%s,
- Index:%d
- '''\
- %(
- self.Cmd,
- self.SubCmd,
- self.Index
- )
- return DumpString
-
-
-m_NAtagCMGetTotalLoginDayAward=tagCMGetTotalLoginDayAward()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMGetTotalLoginDayAward.Cmd,m_NAtagCMGetTotalLoginDayAward.SubCmd))] = m_NAtagCMGetTotalLoginDayAward
#------------------------------------------------------
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py
index f3609e7..6f221a9 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py
@@ -7164,62 +7164,6 @@
#------------------------------------------------------
-#A3 0B 玩家等级奖励领取记录信息 #tagMCPlayerLVAwardGetRecord
-
-class tagMCPlayerLVAwardGetRecord(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ("LVAwardGetRecord", c_int), # 按二进制位标示领取记录,每位对应的等级在配表中配置,服务端客户端对应
- ("VIPAwardRecord", c_int), # 按二进制位标示vip领取记录,每位对应的等级在配表中配置,服务端客户端对应
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xA3
- self.SubCmd = 0x0B
- 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 = 0xA3
- self.SubCmd = 0x0B
- self.LVAwardGetRecord = 0
- self.VIPAwardRecord = 0
- return
-
- def GetLength(self):
- return sizeof(tagMCPlayerLVAwardGetRecord)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''//A3 0B 玩家等级奖励领取记录信息 //tagMCPlayerLVAwardGetRecord:
- Cmd:%s,
- SubCmd:%s,
- LVAwardGetRecord:%d,
- VIPAwardRecord:%d
- '''\
- %(
- self.Cmd,
- self.SubCmd,
- self.LVAwardGetRecord,
- self.VIPAwardRecord
- )
- return DumpString
-
-
-m_NAtagMCPlayerLVAwardGetRecord=tagMCPlayerLVAwardGetRecord()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCPlayerLVAwardGetRecord.Cmd,m_NAtagMCPlayerLVAwardGetRecord.SubCmd))] = m_NAtagMCPlayerLVAwardGetRecord
-
-
-#------------------------------------------------------
#A3 0C 玩家各奖励类型领取记录信息 #tagMCPlayerRewardGetRecord
class tagMCPlayerRewardGetRecord(Structure):
@@ -19608,433 +19552,6 @@
#------------------------------------------------------
-# AA 0C 登录奖励活动信息 #tagMCActLoginAwardInfo
-
-class tagMCActLoginAwardAction(Structure):
- TemplateID = 0 #(DWORD TemplateID)// 模板ID
- ActionType = 0 #(WORD ActionType)// 活动类别
- TotalTimes = 0 #(DWORD TotalTimes)// 可完成的总次数,0表示不限次数
- SingleTimes = 0 #(DWORD SingleTimes)// 单次领奖需要的次数
- Count = 0 #(WORD Count)// 物品配置长度
- ItemInfo = "" #(String ItemInfo)// 物品信息
- data = None
-
- def __init__(self):
- self.Clear()
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- self.TemplateID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.ActionType,_pos = CommFunc.ReadWORD(_lpData, _pos)
- self.TotalTimes,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.SingleTimes,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.Count,_pos = CommFunc.ReadWORD(_lpData, _pos)
- self.ItemInfo,_pos = CommFunc.ReadString(_lpData, _pos,self.Count)
- return _pos
-
- def Clear(self):
- self.TemplateID = 0
- self.ActionType = 0
- self.TotalTimes = 0
- self.SingleTimes = 0
- self.Count = 0
- self.ItemInfo = ""
- return
-
- def GetLength(self):
- length = 0
- length += 4
- length += 2
- length += 4
- length += 4
- length += 2
- length += len(self.ItemInfo)
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteDWORD(data, self.TemplateID)
- data = CommFunc.WriteWORD(data, self.ActionType)
- data = CommFunc.WriteDWORD(data, self.TotalTimes)
- data = CommFunc.WriteDWORD(data, self.SingleTimes)
- data = CommFunc.WriteWORD(data, self.Count)
- data = CommFunc.WriteString(data, self.Count, self.ItemInfo)
- return data
-
- def OutputString(self):
- DumpString = '''
- TemplateID:%d,
- ActionType:%d,
- TotalTimes:%d,
- SingleTimes:%d,
- Count:%d,
- ItemInfo:%s
- '''\
- %(
- self.TemplateID,
- self.ActionType,
- self.TotalTimes,
- self.SingleTimes,
- self.Count,
- self.ItemInfo
- )
- return DumpString
-
-
-class tagMCActLoginAwardDayInfo(Structure):
- ActCnt = 0 #(BYTE ActCnt)// 数量
- TemplateList = list() #(vector<WORD> TemplateList)// 模板列表
- WorldLV = 0 #(WORD WorldLV)// 世界等级
- data = None
-
- def __init__(self):
- self.Clear()
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- self.ActCnt,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- for i in range(self.ActCnt):
- value,_pos=CommFunc.ReadWORD(_lpData,_pos)
- self.TemplateList.append(value)
- self.WorldLV,_pos = CommFunc.ReadWORD(_lpData, _pos)
- return _pos
-
- def Clear(self):
- self.ActCnt = 0
- self.TemplateList = list()
- self.WorldLV = 0
- return
-
- def GetLength(self):
- length = 0
- length += 1
- length += 2 * self.ActCnt
- length += 2
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteBYTE(data, self.ActCnt)
- for i in range(self.ActCnt):
- data = CommFunc.WriteWORD(data, self.TemplateList[i])
- data = CommFunc.WriteWORD(data, self.WorldLV)
- return data
-
- def OutputString(self):
- DumpString = '''
- ActCnt:%d,
- TemplateList:%s,
- WorldLV:%d
- '''\
- %(
- self.ActCnt,
- "...",
- self.WorldLV
- )
- return DumpString
-
-
-class tagMCActLoginAwardInfo(Structure):
- Head = tagHead()
- StartDate = "" #(char StartDate[10])// 开始日期 y-m-d
- EndtDate = "" #(char EndtDate[10])// 结束日期 y-m-d
- AdvanceMinutes = 0 #(WORD AdvanceMinutes)// 提前显示分钟
- IsDayReset = 0 #(BYTE IsDayReset)//是否每天重置
- ResetType = 0 #(BYTE ResetType)// 重置类型,0-0点重置;1-5点重置
- LimitLV = 0 #(WORD LimitLV)// 限制等级
- DayCnt = 0 #(BYTE DayCnt)// 天数
- DayInfoList = list() #(vector<tagMCActLoginAwardDayInfo> DayInfoList)// 每天模板
- TCount = 0 #(BYTE TCount)// 模板数
- ActionInfo = list() #(vector<tagMCActLoginAwardAction> ActionInfo)// 活动模板信息
- data = None
-
- def __init__(self):
- self.Clear()
- self.Head.Cmd = 0xAA
- self.Head.SubCmd = 0x0C
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- _pos = self.Head.ReadData(_lpData, _pos)
- self.StartDate,_pos = CommFunc.ReadString(_lpData, _pos,10)
- self.EndtDate,_pos = CommFunc.ReadString(_lpData, _pos,10)
- self.AdvanceMinutes,_pos = CommFunc.ReadWORD(_lpData, _pos)
- self.IsDayReset,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.ResetType,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.LimitLV,_pos = CommFunc.ReadWORD(_lpData, _pos)
- self.DayCnt,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- for i in range(self.DayCnt):
- temDayInfoList = tagMCActLoginAwardDayInfo()
- _pos = temDayInfoList.ReadData(_lpData, _pos)
- self.DayInfoList.append(temDayInfoList)
- self.TCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- for i in range(self.TCount):
- temActionInfo = tagMCActLoginAwardAction()
- _pos = temActionInfo.ReadData(_lpData, _pos)
- self.ActionInfo.append(temActionInfo)
- return _pos
-
- def Clear(self):
- self.Head = tagHead()
- self.Head.Clear()
- self.Head.Cmd = 0xAA
- self.Head.SubCmd = 0x0C
- self.StartDate = ""
- self.EndtDate = ""
- self.AdvanceMinutes = 0
- self.IsDayReset = 0
- self.ResetType = 0
- self.LimitLV = 0
- self.DayCnt = 0
- self.DayInfoList = list()
- self.TCount = 0
- self.ActionInfo = list()
- return
-
- def GetLength(self):
- length = 0
- length += self.Head.GetLength()
- length += 10
- length += 10
- length += 2
- length += 1
- length += 1
- length += 2
- length += 1
- for i in range(self.DayCnt):
- length += self.DayInfoList[i].GetLength()
- length += 1
- for i in range(self.TCount):
- length += self.ActionInfo[i].GetLength()
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
- data = CommFunc.WriteString(data, 10, self.StartDate)
- data = CommFunc.WriteString(data, 10, self.EndtDate)
- data = CommFunc.WriteWORD(data, self.AdvanceMinutes)
- data = CommFunc.WriteBYTE(data, self.IsDayReset)
- data = CommFunc.WriteBYTE(data, self.ResetType)
- data = CommFunc.WriteWORD(data, self.LimitLV)
- data = CommFunc.WriteBYTE(data, self.DayCnt)
- for i in range(self.DayCnt):
- data = CommFunc.WriteString(data, self.DayInfoList[i].GetLength(), self.DayInfoList[i].GetBuffer())
- data = CommFunc.WriteBYTE(data, self.TCount)
- for i in range(self.TCount):
- data = CommFunc.WriteString(data, self.ActionInfo[i].GetLength(), self.ActionInfo[i].GetBuffer())
- return data
-
- def OutputString(self):
- DumpString = '''
- Head:%s,
- StartDate:%s,
- EndtDate:%s,
- AdvanceMinutes:%d,
- IsDayReset:%d,
- ResetType:%d,
- LimitLV:%d,
- DayCnt:%d,
- DayInfoList:%s,
- TCount:%d,
- ActionInfo:%s
- '''\
- %(
- self.Head.OutputString(),
- self.StartDate,
- self.EndtDate,
- self.AdvanceMinutes,
- self.IsDayReset,
- self.ResetType,
- self.LimitLV,
- self.DayCnt,
- "...",
- self.TCount,
- "..."
- )
- return DumpString
-
-
-m_NAtagMCActLoginAwardInfo=tagMCActLoginAwardInfo()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCActLoginAwardInfo.Head.Cmd,m_NAtagMCActLoginAwardInfo.Head.SubCmd))] = m_NAtagMCActLoginAwardInfo
-
-
-#------------------------------------------------------
-# AA 0D 登录奖励玩家活动信息 #tagMCActLoginAwardPlayerInfo
-
-class tagMCActLoginAwardTaskInfo(Structure):
- _pack_ = 1
- _fields_ = [
- ("TemplateID", c_ushort), # 模板ID
- ("CurTimes", c_ushort), #已完成次数
- ("GotTimes", c_ushort), #已领取次数
- ]
-
- 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.TemplateID = 0
- self.CurTimes = 0
- self.GotTimes = 0
- return
-
- def GetLength(self):
- return sizeof(tagMCActLoginAwardTaskInfo)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// AA 0D 登录奖励玩家活动信息 //tagMCActLoginAwardPlayerInfo:
- TemplateID:%d,
- CurTimes:%d,
- GotTimes:%d
- '''\
- %(
- self.TemplateID,
- self.CurTimes,
- self.GotTimes
- )
- return DumpString
-
-
-class tagMCActLoginAwardDayPlayerInfo(Structure):
- DayIndex = 0 #(DWORD DayIndex)//第X天
- ACount = 0 #(DWORD ACount)//任务条目数
- TaskList = list() #(vector<tagMCActLoginAwardTaskInfo> TaskList)//活动完成次数信息
- data = None
-
- def __init__(self):
- self.Clear()
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- self.DayIndex,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.ACount,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- for i in range(self.ACount):
- temTaskList = tagMCActLoginAwardTaskInfo()
- _pos = temTaskList.ReadData(_lpData, _pos)
- self.TaskList.append(temTaskList)
- return _pos
-
- def Clear(self):
- self.DayIndex = 0
- self.ACount = 0
- self.TaskList = list()
- return
-
- def GetLength(self):
- length = 0
- length += 4
- length += 4
- for i in range(self.ACount):
- length += self.TaskList[i].GetLength()
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteDWORD(data, self.DayIndex)
- data = CommFunc.WriteDWORD(data, self.ACount)
- for i in range(self.ACount):
- data = CommFunc.WriteString(data, self.TaskList[i].GetLength(), self.TaskList[i].GetBuffer())
- return data
-
- def OutputString(self):
- DumpString = '''
- DayIndex:%d,
- ACount:%d,
- TaskList:%s
- '''\
- %(
- self.DayIndex,
- self.ACount,
- "..."
- )
- return DumpString
-
-
-class tagMCActLoginAwardPlayerInfo(Structure):
- Head = tagHead()
- Count = 0 #(BYTE Count)
- DayInfoList = list() #(vector<tagMCActLoginAwardDayPlayerInfo> DayInfoList)//活动完成次数信息
- data = None
-
- def __init__(self):
- self.Clear()
- self.Head.Cmd = 0xAA
- self.Head.SubCmd = 0x0D
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- _pos = self.Head.ReadData(_lpData, _pos)
- self.Count,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- for i in range(self.Count):
- temDayInfoList = tagMCActLoginAwardDayPlayerInfo()
- _pos = temDayInfoList.ReadData(_lpData, _pos)
- self.DayInfoList.append(temDayInfoList)
- return _pos
-
- def Clear(self):
- self.Head = tagHead()
- self.Head.Clear()
- self.Head.Cmd = 0xAA
- self.Head.SubCmd = 0x0D
- self.Count = 0
- self.DayInfoList = list()
- return
-
- def GetLength(self):
- length = 0
- length += self.Head.GetLength()
- length += 1
- for i in range(self.Count):
- length += self.DayInfoList[i].GetLength()
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
- data = CommFunc.WriteBYTE(data, self.Count)
- for i in range(self.Count):
- data = CommFunc.WriteString(data, self.DayInfoList[i].GetLength(), self.DayInfoList[i].GetBuffer())
- return data
-
- def OutputString(self):
- DumpString = '''
- Head:%s,
- Count:%d,
- DayInfoList:%s
- '''\
- %(
- self.Head.OutputString(),
- self.Count,
- "..."
- )
- return DumpString
-
-
-m_NAtagMCActLoginAwardPlayerInfo=tagMCActLoginAwardPlayerInfo()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCActLoginAwardPlayerInfo.Head.Cmd,m_NAtagMCActLoginAwardPlayerInfo.Head.SubCmd))] = m_NAtagMCActLoginAwardPlayerInfo
-
-
-#------------------------------------------------------
# AA 69 登录活动信息新 #tagMCActLoginNew
class tagMCActLoginNewItem(Structure):
@@ -24203,667 +23720,6 @@
#------------------------------------------------------
-# AA 42 节日登录奖励活动信息 #tagMCFeastLoginInfo
-
-class tagMCFeastLoginDayAwardItem(Structure):
- _pack_ = 1
- _fields_ = [
- ("ItemID", c_int),
- ("ItemCount", c_ushort),
- ("IsBind", 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.ItemID = 0
- self.ItemCount = 0
- self.IsBind = 0
- return
-
- def GetLength(self):
- return sizeof(tagMCFeastLoginDayAwardItem)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// AA 42 节日登录奖励活动信息 //tagMCFeastLoginInfo:
- ItemID:%d,
- ItemCount:%d,
- IsBind:%d
- '''\
- %(
- self.ItemID,
- self.ItemCount,
- self.IsBind
- )
- return DumpString
-
-
-class tagMCFeastLoginDayAward(Structure):
- DayNum = 0 #(BYTE DayNum)//天编号,从1开始,活动第X天只能领对应第X天的奖励
- AwardCount = 0 #(BYTE AwardCount)
- AwardItemList = list() #(vector<tagMCFeastLoginDayAwardItem> AwardItemList)// 奖励物品列表
- data = None
-
- def __init__(self):
- self.Clear()
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- self.DayNum,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.AwardCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- for i in range(self.AwardCount):
- temAwardItemList = tagMCFeastLoginDayAwardItem()
- _pos = temAwardItemList.ReadData(_lpData, _pos)
- self.AwardItemList.append(temAwardItemList)
- return _pos
-
- def Clear(self):
- self.DayNum = 0
- self.AwardCount = 0
- self.AwardItemList = list()
- return
-
- def GetLength(self):
- length = 0
- length += 1
- length += 1
- for i in range(self.AwardCount):
- length += self.AwardItemList[i].GetLength()
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteBYTE(data, self.DayNum)
- data = CommFunc.WriteBYTE(data, self.AwardCount)
- for i in range(self.AwardCount):
- data = CommFunc.WriteString(data, self.AwardItemList[i].GetLength(), self.AwardItemList[i].GetBuffer())
- return data
-
- def OutputString(self):
- DumpString = '''
- DayNum:%d,
- AwardCount:%d,
- AwardItemList:%s
- '''\
- %(
- self.DayNum,
- self.AwardCount,
- "..."
- )
- return DumpString
-
-
-class tagMCFeastLoginInfo(Structure):
- Head = tagHead()
- StartDate = "" #(char StartDate[10])// 开始日期 y-m-d
- EndtDate = "" #(char EndtDate[10])// 结束日期 y-m-d
- LimitLV = 0 #(WORD LimitLV)// 限制等级
- DayCount = 0 #(BYTE DayCount)// 总共几天
- DayAwardList = list() #(vector<tagMCFeastLoginDayAward> DayAwardList)//登录天奖励列表
- data = None
-
- def __init__(self):
- self.Clear()
- self.Head.Cmd = 0xAA
- self.Head.SubCmd = 0x42
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- _pos = self.Head.ReadData(_lpData, _pos)
- self.StartDate,_pos = CommFunc.ReadString(_lpData, _pos,10)
- self.EndtDate,_pos = CommFunc.ReadString(_lpData, _pos,10)
- self.LimitLV,_pos = CommFunc.ReadWORD(_lpData, _pos)
- self.DayCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- for i in range(self.DayCount):
- temDayAwardList = tagMCFeastLoginDayAward()
- _pos = temDayAwardList.ReadData(_lpData, _pos)
- self.DayAwardList.append(temDayAwardList)
- return _pos
-
- def Clear(self):
- self.Head = tagHead()
- self.Head.Clear()
- self.Head.Cmd = 0xAA
- self.Head.SubCmd = 0x42
- self.StartDate = ""
- self.EndtDate = ""
- self.LimitLV = 0
- self.DayCount = 0
- self.DayAwardList = list()
- return
-
- def GetLength(self):
- length = 0
- length += self.Head.GetLength()
- length += 10
- length += 10
- length += 2
- length += 1
- for i in range(self.DayCount):
- length += self.DayAwardList[i].GetLength()
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
- data = CommFunc.WriteString(data, 10, self.StartDate)
- data = CommFunc.WriteString(data, 10, self.EndtDate)
- data = CommFunc.WriteWORD(data, self.LimitLV)
- data = CommFunc.WriteBYTE(data, self.DayCount)
- for i in range(self.DayCount):
- data = CommFunc.WriteString(data, self.DayAwardList[i].GetLength(), self.DayAwardList[i].GetBuffer())
- return data
-
- def OutputString(self):
- DumpString = '''
- Head:%s,
- StartDate:%s,
- EndtDate:%s,
- LimitLV:%d,
- DayCount:%d,
- DayAwardList:%s
- '''\
- %(
- self.Head.OutputString(),
- self.StartDate,
- self.EndtDate,
- self.LimitLV,
- self.DayCount,
- "..."
- )
- return DumpString
-
-
-m_NAtagMCFeastLoginInfo=tagMCFeastLoginInfo()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCFeastLoginInfo.Head.Cmd,m_NAtagMCFeastLoginInfo.Head.SubCmd))] = m_NAtagMCFeastLoginInfo
-
-
-#------------------------------------------------------
-# AA 39 节日登录奖励活动玩家信息 #tagMCFeastLoginPlayerInfo
-
-class tagMCFeastLoginPlayerInfo(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ("LoginState", c_int), # 是否已登录,按天索引0代表第1天记录当天是否已登录
- ("LoginAward", c_int), # 是否已领取,按天索引0代表第1天记录当天是否已领取
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xAA
- self.SubCmd = 0x39
- 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 = 0xAA
- self.SubCmd = 0x39
- self.LoginState = 0
- self.LoginAward = 0
- return
-
- def GetLength(self):
- return sizeof(tagMCFeastLoginPlayerInfo)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// AA 39 节日登录奖励活动玩家信息 //tagMCFeastLoginPlayerInfo:
- Cmd:%s,
- SubCmd:%s,
- LoginState:%d,
- LoginAward:%d
- '''\
- %(
- self.Cmd,
- self.SubCmd,
- self.LoginState,
- self.LoginAward
- )
- return DumpString
-
-
-m_NAtagMCFeastLoginPlayerInfo=tagMCFeastLoginPlayerInfo()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCFeastLoginPlayerInfo.Cmd,m_NAtagMCFeastLoginPlayerInfo.SubCmd))] = m_NAtagMCFeastLoginPlayerInfo
-
-
-#------------------------------------------------------
-# AA 43 节日祝福活动信息 #tagMCFeastWishInfo
-
-class tagMCFeastWishBottleItem(Structure):
- _pack_ = 1
- _fields_ = [
- ("RecordIndex", c_ubyte), #物品索引,用于选择及记录是否已选择
- ("ItemID", c_int),
- ("ItemCount", c_ushort),
- ("IsBind", 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.RecordIndex = 0
- self.ItemID = 0
- self.ItemCount = 0
- self.IsBind = 0
- return
-
- def GetLength(self):
- return sizeof(tagMCFeastWishBottleItem)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// AA 43 节日祝福活动信息 //tagMCFeastWishInfo:
- RecordIndex:%d,
- ItemID:%d,
- ItemCount:%d,
- IsBind:%d
- '''\
- %(
- self.RecordIndex,
- self.ItemID,
- self.ItemCount,
- self.IsBind
- )
- return DumpString
-
-
-class tagMCFeastWishBottleInfo(Structure):
- BottleNum = 0 #(BYTE BottleNum)//瓶子编号
- NeedWishValue = 0 #(WORD NeedWishValue)//单次领奖所需祝福值
- ChooseTimeMax = 0 #(BYTE ChooseTimeMax)//最大可领奖次数
- ChoosePrizeCount = 0 #(BYTE ChoosePrizeCount)//可选择奖励个数
- ChoosePrizeList = list() #(vector<tagMCFeastWishBottleItem> ChoosePrizeList)// 选择奖励物品列表,已选过的无法再选
- data = None
-
- def __init__(self):
- self.Clear()
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- self.BottleNum,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.NeedWishValue,_pos = CommFunc.ReadWORD(_lpData, _pos)
- self.ChooseTimeMax,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.ChoosePrizeCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- for i in range(self.ChoosePrizeCount):
- temChoosePrizeList = tagMCFeastWishBottleItem()
- _pos = temChoosePrizeList.ReadData(_lpData, _pos)
- self.ChoosePrizeList.append(temChoosePrizeList)
- return _pos
-
- def Clear(self):
- self.BottleNum = 0
- self.NeedWishValue = 0
- self.ChooseTimeMax = 0
- self.ChoosePrizeCount = 0
- self.ChoosePrizeList = list()
- return
-
- def GetLength(self):
- length = 0
- length += 1
- length += 2
- length += 1
- length += 1
- for i in range(self.ChoosePrizeCount):
- length += self.ChoosePrizeList[i].GetLength()
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteBYTE(data, self.BottleNum)
- data = CommFunc.WriteWORD(data, self.NeedWishValue)
- data = CommFunc.WriteBYTE(data, self.ChooseTimeMax)
- data = CommFunc.WriteBYTE(data, self.ChoosePrizeCount)
- for i in range(self.ChoosePrizeCount):
- data = CommFunc.WriteString(data, self.ChoosePrizeList[i].GetLength(), self.ChoosePrizeList[i].GetBuffer())
- return data
-
- def OutputString(self):
- DumpString = '''
- BottleNum:%d,
- NeedWishValue:%d,
- ChooseTimeMax:%d,
- ChoosePrizeCount:%d,
- ChoosePrizeList:%s
- '''\
- %(
- self.BottleNum,
- self.NeedWishValue,
- self.ChooseTimeMax,
- self.ChoosePrizeCount,
- "..."
- )
- return DumpString
-
-
-class tagMCFeastWishInfo(Structure):
- Head = tagHead()
- StartDate = "" #(char StartDate[10])// 开始日期 y-m-d
- EndtDate = "" #(char EndtDate[10])// 结束日期 y-m-d
- LimitLV = 0 #(WORD LimitLV)// 限制等级
- ResetType = 0 #(BYTE ResetType)// 重置类型,0-0点重置;1-5点开,5点重置;2-5点开,0点重置
- WishPoolShowCount = 0 #(BYTE WishPoolShowCount)//祝福池展示物品数
- WishPoolShowItemList = list() #(vector<DWORD> WishPoolShowItemList)//祝福池展示物品ID列表
- BottleCount = 0 #(BYTE BottleCount)// 祝福瓶个数
- BottleInfoList = list() #(vector<tagMCFeastWishBottleInfo> BottleInfoList)// 祝福瓶信息
- data = None
-
- def __init__(self):
- self.Clear()
- self.Head.Cmd = 0xAA
- self.Head.SubCmd = 0x43
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- _pos = self.Head.ReadData(_lpData, _pos)
- self.StartDate,_pos = CommFunc.ReadString(_lpData, _pos,10)
- self.EndtDate,_pos = CommFunc.ReadString(_lpData, _pos,10)
- self.LimitLV,_pos = CommFunc.ReadWORD(_lpData, _pos)
- self.ResetType,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.WishPoolShowCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- for i in range(self.WishPoolShowCount):
- value,_pos=CommFunc.ReadDWORD(_lpData,_pos)
- self.WishPoolShowItemList.append(value)
- self.BottleCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- for i in range(self.BottleCount):
- temBottleInfoList = tagMCFeastWishBottleInfo()
- _pos = temBottleInfoList.ReadData(_lpData, _pos)
- self.BottleInfoList.append(temBottleInfoList)
- return _pos
-
- def Clear(self):
- self.Head = tagHead()
- self.Head.Clear()
- self.Head.Cmd = 0xAA
- self.Head.SubCmd = 0x43
- self.StartDate = ""
- self.EndtDate = ""
- self.LimitLV = 0
- self.ResetType = 0
- self.WishPoolShowCount = 0
- self.WishPoolShowItemList = list()
- self.BottleCount = 0
- self.BottleInfoList = list()
- return
-
- def GetLength(self):
- length = 0
- length += self.Head.GetLength()
- length += 10
- length += 10
- length += 2
- length += 1
- length += 1
- length += 4 * self.WishPoolShowCount
- length += 1
- for i in range(self.BottleCount):
- length += self.BottleInfoList[i].GetLength()
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
- data = CommFunc.WriteString(data, 10, self.StartDate)
- data = CommFunc.WriteString(data, 10, self.EndtDate)
- data = CommFunc.WriteWORD(data, self.LimitLV)
- data = CommFunc.WriteBYTE(data, self.ResetType)
- data = CommFunc.WriteBYTE(data, self.WishPoolShowCount)
- for i in range(self.WishPoolShowCount):
- data = CommFunc.WriteDWORD(data, self.WishPoolShowItemList[i])
- data = CommFunc.WriteBYTE(data, self.BottleCount)
- for i in range(self.BottleCount):
- data = CommFunc.WriteString(data, self.BottleInfoList[i].GetLength(), self.BottleInfoList[i].GetBuffer())
- return data
-
- def OutputString(self):
- DumpString = '''
- Head:%s,
- StartDate:%s,
- EndtDate:%s,
- LimitLV:%d,
- ResetType:%d,
- WishPoolShowCount:%d,
- WishPoolShowItemList:%s,
- BottleCount:%d,
- BottleInfoList:%s
- '''\
- %(
- self.Head.OutputString(),
- self.StartDate,
- self.EndtDate,
- self.LimitLV,
- self.ResetType,
- self.WishPoolShowCount,
- "...",
- self.BottleCount,
- "..."
- )
- return DumpString
-
-
-m_NAtagMCFeastWishInfo=tagMCFeastWishInfo()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCFeastWishInfo.Head.Cmd,m_NAtagMCFeastWishInfo.Head.SubCmd))] = m_NAtagMCFeastWishInfo
-
-
-#------------------------------------------------------
-# AA 44 节日祝福活动玩家信息 #tagMCFeastWishPlayerInfo
-
-class tagMCFeastWishPlayerBottle(Structure):
- _pack_ = 1
- _fields_ = [
- ("BottleNum", c_ubyte), #瓶子编号
- ("WishValue", c_ushort), #当前可用祝福值
- ("ChooseRecord", 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.BottleNum = 0
- self.WishValue = 0
- self.ChooseRecord = 0
- return
-
- def GetLength(self):
- return sizeof(tagMCFeastWishPlayerBottle)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// AA 44 节日祝福活动玩家信息 //tagMCFeastWishPlayerInfo:
- BottleNum:%d,
- WishValue:%d,
- ChooseRecord:%d
- '''\
- %(
- self.BottleNum,
- self.WishValue,
- self.ChooseRecord
- )
- return DumpString
-
-
-class tagMCFeastWishPlayerInfo(Structure):
- Head = tagHead()
- BottleCount = 0 #(BYTE BottleCount)// 祝福瓶个数
- PlayerBottleInfo = list() #(vector<tagMCFeastWishPlayerBottle> PlayerBottleInfo)// 祝福瓶信息
- data = None
-
- def __init__(self):
- self.Clear()
- self.Head.Cmd = 0xAA
- self.Head.SubCmd = 0x44
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- _pos = self.Head.ReadData(_lpData, _pos)
- self.BottleCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- for i in range(self.BottleCount):
- temPlayerBottleInfo = tagMCFeastWishPlayerBottle()
- _pos = temPlayerBottleInfo.ReadData(_lpData, _pos)
- self.PlayerBottleInfo.append(temPlayerBottleInfo)
- return _pos
-
- def Clear(self):
- self.Head = tagHead()
- self.Head.Clear()
- self.Head.Cmd = 0xAA
- self.Head.SubCmd = 0x44
- self.BottleCount = 0
- self.PlayerBottleInfo = list()
- return
-
- def GetLength(self):
- length = 0
- length += self.Head.GetLength()
- length += 1
- for i in range(self.BottleCount):
- length += self.PlayerBottleInfo[i].GetLength()
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
- data = CommFunc.WriteBYTE(data, self.BottleCount)
- for i in range(self.BottleCount):
- data = CommFunc.WriteString(data, self.PlayerBottleInfo[i].GetLength(), self.PlayerBottleInfo[i].GetBuffer())
- return data
-
- def OutputString(self):
- DumpString = '''
- Head:%s,
- BottleCount:%d,
- PlayerBottleInfo:%s
- '''\
- %(
- self.Head.OutputString(),
- self.BottleCount,
- "..."
- )
- return DumpString
-
-
-m_NAtagMCFeastWishPlayerInfo=tagMCFeastWishPlayerInfo()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCFeastWishPlayerInfo.Head.Cmd,m_NAtagMCFeastWishPlayerInfo.Head.SubCmd))] = m_NAtagMCFeastWishPlayerInfo
-
-
-#------------------------------------------------------
-# AA 45 节日祝福祝福结果 #tagMCFeastWishResult
-
-class tagMCFeastWishResult(Structure):
- Head = tagHead()
- AddWishValue = 0 #(WORD AddWishValue)// 本次增加的祝福值
- WishResultLen = 0 #(WORD WishResultLen)
- WishResult = "" #(String WishResult)// 获得物品结果[[物品ID,个数,是否绑定], ...]
- data = None
-
- def __init__(self):
- self.Clear()
- self.Head.Cmd = 0xAA
- self.Head.SubCmd = 0x45
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- _pos = self.Head.ReadData(_lpData, _pos)
- self.AddWishValue,_pos = CommFunc.ReadWORD(_lpData, _pos)
- self.WishResultLen,_pos = CommFunc.ReadWORD(_lpData, _pos)
- self.WishResult,_pos = CommFunc.ReadString(_lpData, _pos,self.WishResultLen)
- return _pos
-
- def Clear(self):
- self.Head = tagHead()
- self.Head.Clear()
- self.Head.Cmd = 0xAA
- self.Head.SubCmd = 0x45
- self.AddWishValue = 0
- self.WishResultLen = 0
- self.WishResult = ""
- return
-
- def GetLength(self):
- length = 0
- length += self.Head.GetLength()
- length += 2
- length += 2
- length += len(self.WishResult)
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
- data = CommFunc.WriteWORD(data, self.AddWishValue)
- data = CommFunc.WriteWORD(data, self.WishResultLen)
- data = CommFunc.WriteString(data, self.WishResultLen, self.WishResult)
- return data
-
- def OutputString(self):
- DumpString = '''
- Head:%s,
- AddWishValue:%d,
- WishResultLen:%d,
- WishResult:%s
- '''\
- %(
- self.Head.OutputString(),
- self.AddWishValue,
- self.WishResultLen,
- self.WishResult
- )
- return DumpString
-
-
-m_NAtagMCFeastWishResult=tagMCFeastWishResult()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCFeastWishResult.Head.Cmd,m_NAtagMCFeastWishResult.Head.SubCmd))] = m_NAtagMCFeastWishResult
-
-
-#------------------------------------------------------
# AA 02 首充信息 #tagSCFirstChargeInfo
class tagSCFirstCharge(Structure):
@@ -26678,62 +25534,6 @@
m_NAtagMCSuperGiftInfo=tagMCSuperGiftInfo()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCSuperGiftInfo.Cmd,m_NAtagMCSuperGiftInfo.SubCmd))] = m_NAtagMCSuperGiftInfo
-
-
-#------------------------------------------------------
-#AA 01 累计登陆天数信息 #tagMCTotalLoginDayCntInfo
-
-class tagMCTotalLoginDayCntInfo(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ("DayCnt", c_ushort), #累计登陆天数
- ("AwardInfo", c_ushort), #登陆领取情况
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xAA
- self.SubCmd = 0x01
- 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 = 0xAA
- self.SubCmd = 0x01
- self.DayCnt = 0
- self.AwardInfo = 0
- return
-
- def GetLength(self):
- return sizeof(tagMCTotalLoginDayCntInfo)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''//AA 01 累计登陆天数信息 //tagMCTotalLoginDayCntInfo:
- Cmd:%s,
- SubCmd:%s,
- DayCnt:%d,
- AwardInfo:%d
- '''\
- %(
- self.Cmd,
- self.SubCmd,
- self.DayCnt,
- self.AwardInfo
- )
- return DumpString
-
-
-m_NAtagMCTotalLoginDayCntInfo=tagMCTotalLoginDayCntInfo()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCTotalLoginDayCntInfo.Cmd,m_NAtagMCTotalLoginDayCntInfo.SubCmd))] = m_NAtagMCTotalLoginDayCntInfo
#------------------------------------------------------
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/DataRecordPack.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/DataRecordPack.py
index 2639a37..7365f9b 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/DataRecordPack.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/DataRecordPack.py
@@ -321,28 +321,6 @@
#SendEventPack("FightFail_%s" % mapID, failDRDict, checkBatServer=False)
return
-##累计登陆礼包
-def DR_LoginDayAward(curPlayer, dayIndex):
- dataDict = {'PlayerID':curPlayer.GetPlayerID(),
- 'PlayerName':curPlayer.GetPlayerName(),
- 'AccID':curPlayer.GetAccID(),
- "DayIndex":dayIndex
- }
-
- SendEventPack("LoginDayAward", dataDict, curPlayer)
- return
-
-##等级礼包
-def DR_LVAward(curPlayer, awardID):
- dataDict = {'PlayerID':curPlayer.GetPlayerID(),
- 'PlayerName':curPlayer.GetPlayerName(),
- 'AccID':curPlayer.GetAccID(),
- "AwardID":awardID
- }
-
- SendEventPack("LVAward", dataDict, curPlayer)
- return
-
## GM执行命令操作
# @param playerID: 玩家ID
# @param playerName:玩家名字
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/FeastWish.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/FeastWish.py
deleted file mode 100644
index cec730d..0000000
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/FeastWish.py
+++ /dev/null
@@ -1,64 +0,0 @@
-#!/usr/bin/python
-# -*- coding: GBK -*-
-#-------------------------------------------------------------------------------
-#
-##@package GM.Commands.FeastWish
-#
-# @todo:节日祝福
-# @author hxp
-# @date 2021-01-29
-# @version 1.0
-#
-# 详细描述: 节日祝福
-#
-#-------------------------------------------------------------------------------
-#"""Version = 2021-01-29 11:30"""
-#-------------------------------------------------------------------------------
-
-import GameWorld
-import PlayerControl
-import PlayerFeastWish
-import ChConfig
-
-
-def __Help(curPlayer):
- GameWorld.DebugAnswer(curPlayer, "重置祝福瓶: FeastWish 0")
- GameWorld.DebugAnswer(curPlayer, "设置祝福瓶: FeastWish 编号 祝福值")
- GameWorld.DebugAnswer(curPlayer, "祝福瓶领取: FeastWish 编号 记录索引 是否领取")
- return
-
-## GM命令执行入口
-# @param curPlayer 当前玩家
-# @param paramList 参数列表 []
-# @return None
-# @remarks 函数详细说明.
-def OnExec(curPlayer, paramList):
-
- if not paramList:
- __Help(curPlayer)
- return
-
- if paramList[0] == 0:
- bottleNumList = PlayerFeastWish.GetWishBottleNumList()
- for bottleNum in bottleNumList:
- PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_FeastWishBottleValue % bottleNum, 0)
- PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_FeastWishBottleGetState % bottleNum, 0)
- GameWorld.DebugAnswer(curPlayer, "重置OK!")
- elif len(paramList) == 2:
- bottleNum, wishValue = paramList
- PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_FeastWishBottleValue % bottleNum, wishValue)
- GameWorld.DebugAnswer(curPlayer, "设置祝福瓶(%s),祝福值=%s" % (bottleNum, wishValue))
- elif len(paramList) == 3:
- bottleNum, recordIndex, isGet = paramList
- getState = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_FeastWishBottleGetState % bottleNum)
- updState = GameWorld.SetBitValue(getState, recordIndex, isGet)
- PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_FeastWishBottleGetState % bottleNum, updState)
- GameWorld.DebugAnswer(curPlayer, "设置祝福瓶(%s),getState=%s,updState=%s" % (bottleNum, getState, updState))
- else:
- __Help(curPlayer)
- return
-
- PlayerFeastWish.Sync_FeastWishActionInfo(curPlayer)
- PlayerFeastWish.Sync_FeastWishPlayerInfo(curPlayer)
- return
-
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
index 9e8588d..1092cb9 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
@@ -1184,11 +1184,6 @@
("DWORD", "AddMaxAtk", 0),
),
- "LoginDayAward":(
- ("BYTE", "DayID", 1),
- ("dict", "Reward", 0),
- ),
-
"OrderInfo":(
("char", "OrderInfo", 1),
("char", "AppID", 1),
@@ -1230,15 +1225,6 @@
("list", "AwardListDay1", 0),
("list", "AwardListDay2", 0),
("list", "AwardListDay3", 0),
- ),
-
- "LVAward":(
- ("BYTE", "AwardID", 1),
- ("WORD", "LV", 0),
- ("WORD", "LimitCnt", 0),
- ("dict", "Reward", 0),
- ("BYTE", "VIPLimit", 0),
- ("list", "VIPAward", 0),
),
"TreasureSet":(
@@ -1772,66 +1758,6 @@
("BYTE", "DayNum", 0),
("list", "LoginAwardItemList", 0),
("list", "LoginAwardItemListEx", 0),
- ),
-
- "ActLoginAward":(
- ("DWORD", "CfgID", 1),
- ("char", "StartDate", 0),
- ("char", "EndDate", 0),
- ("WORD", "AdvanceMinutes", 0),
- ("BYTE", "IsDayReset", 0),
- ("BYTE", "ResetType", 0),
- ("WORD", "LVLimit", 0),
- ("list", "TemplateID", 0),
- ),
-
- "LoginAward":(
- ("BYTE", "TemplateID", 1),
- ("BYTE", "ActionType", 0),
- ("DWORD", "TotalTimes", 0),
- ("WORD", "SingleTimes", 0),
- ("char", "Reward", 0),
- ),
-
- "ActFeastLogin":(
- ("DWORD", "CfgID", 1),
- ("char", "StartDate", 0),
- ("char", "EndDate", 0),
- ("WORD", "LVLimit", 0),
- ("dict", "TemplateIDInfo", 0),
- ),
-
- "ActFeastLoginAward":(
- ("BYTE", "TemplateID", 1),
- ("BYTE", "DayNum", 0),
- ("list", "LoginAwardItemList", 0),
- ),
-
- "ActFeastWish":(
- ("DWORD", "CfgID", 1),
- ("char", "StartDate", 0),
- ("char", "EndDate", 0),
- ("WORD", "LVLimit", 0),
- ("BYTE", "ResetType", 0),
- ("dict", "TemplateIDInfo", 0),
- ),
-
- "ActFeastWishBottle":(
- ("BYTE", "TemplateID", 1),
- ("BYTE", "WishBottleNum", 0),
- ("WORD", "NeedWishValue", 0),
- ("BYTE", "ChooseTimeMax", 0),
- ("dict", "ChoosePrizeItem", 0),
- ("list", "GoodItemIDList", 0),
- ("char", "WorldNotifyKey", 0),
- ),
-
- "ActFeastWishPool":(
- ("BYTE", "TemplateID", 1),
- ("list", "WishPoolItemWeightInfo", 0),
- ("list", "WishPoolClientItemShow", 0),
- ("list", "GoodItemIDList", 0),
- ("char", "WorldNotifyKey", 0),
),
"NewAllPeopleParty":(
@@ -3786,16 +3712,6 @@
def GetAddMinAtk(self): return self.attrTuple[3] # 增加最小攻击 DWORD
def GetAddMaxAtk(self): return self.attrTuple[4] # 增加最大攻击 DWORD
-# 七天登录奖励表
-class IPY_LoginDayAward():
-
- def __init__(self):
- self.attrTuple = None
- return
-
- def GetDayID(self): return self.attrTuple[0] # 天数 BYTE
- def GetReward(self): return self.attrTuple[1] # 奖励 {"职业":[[物品ID,个数],...], ...} dict
-
# 充值商品编号表
class IPY_OrderInfo():
@@ -3858,20 +3774,6 @@
def GetAwardListDay1(self): return self.attrTuple[2] # 第1天奖励 [[物品ID,个数,装备定制ID], ...] list
def GetAwardListDay2(self): return self.attrTuple[3] # 第2天奖励 [[物品ID,个数,装备定制ID], ...] list
def GetAwardListDay3(self): return self.attrTuple[4] # 第3天奖励 [[物品ID,个数,装备定制ID], ...] list
-
-# 等级奖励表
-class IPY_LVAward():
-
- def __init__(self):
- self.attrTuple = None
- return
-
- def GetAwardID(self): return self.attrTuple[0] # 奖励ID BYTE
- def GetLV(self): return self.attrTuple[1] # 等级 WORD
- def GetLimitCnt(self): return self.attrTuple[2] # 全服限制数量 WORD
- def GetReward(self): return self.attrTuple[3] # 奖励 {"职业":[[物品ID,个数],...], ...} dict
- def GetVIPLimit(self): return self.attrTuple[4] # 需要VIP几 BYTE
- def GetVIPAward(self): return self.attrTuple[5] # vip奖励[[物品ID,个数],...] list
# 寻宝设定表
class IPY_TreasureSet():
@@ -4681,101 +4583,6 @@
def GetLoginAwardItemList(self): return self.attrTuple[2] # 奖励列表[[物品ID,个数,是否拍品], ...] list
def GetLoginAwardItemListEx(self): return self.attrTuple[3] # 扩展奖励列表[[物品ID,个数,是否拍品], ...] list
-# 登录奖励时间表
-class IPY_ActLoginAward():
-
- def __init__(self):
- self.attrTuple = None
- return
-
- def GetCfgID(self): return self.attrTuple[0] # 配置ID DWORD
- def GetStartDate(self): return self.attrTuple[1] # 开启日期 char
- def GetEndDate(self): return self.attrTuple[2] # 结束日期 char
- def GetAdvanceMinutes(self): return self.attrTuple[3] # 前端提前X分钟展示活动 WORD
- def GetIsDayReset(self): return self.attrTuple[4] # 是否每天重置 BYTE
- def GetResetType(self): return self.attrTuple[5] # 重置类型,0-0点重置;1-5点重置 BYTE
- def GetLVLimit(self): return self.attrTuple[6] # 限制等级 WORD
- def GetTemplateID(self): return self.attrTuple[7] # 模板编号 list
-
-# 登录奖励模板表
-class IPY_LoginAward():
-
- def __init__(self):
- self.attrTuple = None
- return
-
- def GetTemplateID(self): return self.attrTuple[0] # 模板ID BYTE
- def GetActionType(self): return self.attrTuple[1] # 活动条目ID BYTE
- def GetTotalTimes(self): return self.attrTuple[2] # 可完成的总次数,0表示不限次数 DWORD
- def GetSingleTimes(self): return self.attrTuple[3] # 单次领奖需要的次数 WORD
- def GetReward(self): return self.attrTuple[4] # 奖励物品 char
-
-# 节日登录奖励时间表
-class IPY_ActFeastLogin():
-
- def __init__(self):
- self.attrTuple = None
- return
-
- def GetCfgID(self): return self.attrTuple[0] # 配置ID DWORD
- def GetStartDate(self): return self.attrTuple[1] # 开启日期 char
- def GetEndDate(self): return self.attrTuple[2] # 结束日期 char
- def GetLVLimit(self): return self.attrTuple[3] # 限制等级 WORD
- def GetTemplateIDInfo(self): return self.attrTuple[4] # 模板信息 {(世界等级A,B):奖励模板编号, ...} dict
-
-# 节日登录奖励模板表
-class IPY_ActFeastLoginAward():
-
- def __init__(self):
- self.attrTuple = None
- return
-
- def GetTemplateID(self): return self.attrTuple[0] # 模板ID BYTE
- def GetDayNum(self): return self.attrTuple[1] # 第X天从1开始 BYTE
- def GetLoginAwardItemList(self): return self.attrTuple[2] # 奖励列表[[物品ID,个数,是否拍品], ...] list
-
-# 节日祝福时间表
-class IPY_ActFeastWish():
-
- def __init__(self):
- self.attrTuple = None
- return
-
- def GetCfgID(self): return self.attrTuple[0] # 配置ID DWORD
- def GetStartDate(self): return self.attrTuple[1] # 开启日期 char
- def GetEndDate(self): return self.attrTuple[2] # 结束日期 char
- def GetLVLimit(self): return self.attrTuple[3] # 限制等级 WORD
- def GetResetType(self): return self.attrTuple[4] # 重置类型,0-0点重置;1-5点重置 BYTE
- def GetTemplateIDInfo(self): return self.attrTuple[5] # 模板信息 {(世界等级A,B):模板编号, ...} dict
-
-# 节日祝福瓶模板表
-class IPY_ActFeastWishBottle():
-
- def __init__(self):
- self.attrTuple = None
- return
-
- def GetTemplateID(self): return self.attrTuple[0] # 模板ID BYTE
- def GetWishBottleNum(self): return self.attrTuple[1] # 祝福瓶编号 BYTE
- def GetNeedWishValue(self): return self.attrTuple[2] # 单次领奖所需祝福值 WORD
- def GetChooseTimeMax(self): return self.attrTuple[3] # 最大可领奖次数 BYTE
- def GetChoosePrizeItem(self): return self.attrTuple[4] # 选择奖励物品信息,选完为止 {记录索引:[物品ID,个数,是否拍品], ...} dict
- def GetGoodItemIDList(self): return self.attrTuple[5] # 需要广播的物品ID列表 [物品ID, ...] list
- def GetWorldNotifyKey(self): return self.attrTuple[6] # 全服广播key,参数(玩家名, 物品ID, 物品数据, 个数,) char
-
-# 节日祝福池模板表
-class IPY_ActFeastWishPool():
-
- def __init__(self):
- self.attrTuple = None
- return
-
- def GetTemplateID(self): return self.attrTuple[0] # 模板ID BYTE
- def GetWishPoolItemWeightInfo(self): return self.attrTuple[1] # 祝福池产出物品权重 [[权重, [物品ID,个数]], ..] list
- def GetWishPoolClientItemShow(self): return self.attrTuple[2] # 前端展示物品列表 [物品ID, ...] list
- def GetGoodItemIDList(self): return self.attrTuple[3] # 需要广播的物品ID列表 [物品ID, ...] list
- def GetWorldNotifyKey(self): return self.attrTuple[4] # 全服广播key,参数(玩家名, 物品ID, 物品数据, 个数,) char
-
# 新仙界盛典-全民来嗨表
class IPY_NewAllPeopleParty():
@@ -5379,12 +5186,10 @@
self.__LoadFileData("Chests", onlyCheck)
self.__LoadFileData("ChestsAward", onlyCheck)
self.__LoadFileData("VIPKillNPC", onlyCheck)
- self.__LoadFileData("LoginDayAward", onlyCheck)
self.__LoadFileData("OrderInfo", onlyCheck)
self.__LoadFileData("CTG", onlyCheck)
self.__LoadFileData("CTGSelectItem", onlyCheck)
self.__LoadFileData("FirstCharge", onlyCheck)
- self.__LoadFileData("LVAward", onlyCheck)
self.__LoadFileData("TreasureSet", onlyCheck)
self.__LoadFileData("TreasureHouse", onlyCheck)
self.__LoadFileData("TreasureItemLib", onlyCheck)
@@ -5440,13 +5245,6 @@
self.__LoadFileData("ActTaskTemp", onlyCheck)
self.__LoadFileData("ActLoginNew", onlyCheck)
self.__LoadFileData("ActLoginNewAward", onlyCheck)
- self.__LoadFileData("ActLoginAward", onlyCheck)
- self.__LoadFileData("LoginAward", onlyCheck)
- self.__LoadFileData("ActFeastLogin", onlyCheck)
- self.__LoadFileData("ActFeastLoginAward", onlyCheck)
- self.__LoadFileData("ActFeastWish", onlyCheck)
- self.__LoadFileData("ActFeastWishBottle", onlyCheck)
- self.__LoadFileData("ActFeastWishPool", onlyCheck)
self.__LoadFileData("NewAllPeopleParty", onlyCheck)
self.__LoadFileData("NewAllPeoplePartyAward", onlyCheck)
self.__LoadFileData("ActLuckyTreasure", onlyCheck)
@@ -6449,13 +6247,6 @@
self.CheckLoadData("VIPKillNPC")
return self.ipyVIPKillNPCCache[index]
- def GetLoginDayAwardCount(self):
- self.CheckLoadData("LoginDayAward")
- return self.ipyLoginDayAwardLen
- def GetLoginDayAwardByIndex(self, index):
- self.CheckLoadData("LoginDayAward")
- return self.ipyLoginDayAwardCache[index]
-
def GetOrderInfoCount(self):
self.CheckLoadData("OrderInfo")
return self.ipyOrderInfoLen
@@ -6483,13 +6274,6 @@
def GetFirstChargeByIndex(self, index):
self.CheckLoadData("FirstCharge")
return self.ipyFirstChargeCache[index]
-
- def GetLVAwardCount(self):
- self.CheckLoadData("LVAward")
- return self.ipyLVAwardLen
- def GetLVAwardByIndex(self, index):
- self.CheckLoadData("LVAward")
- return self.ipyLVAwardCache[index]
def GetTreasureSetCount(self):
self.CheckLoadData("TreasureSet")
@@ -6875,55 +6659,6 @@
def GetActLoginNewAwardByIndex(self, index):
self.CheckLoadData("ActLoginNewAward")
return self.ipyActLoginNewAwardCache[index]
-
- def GetActLoginAwardCount(self):
- self.CheckLoadData("ActLoginAward")
- return self.ipyActLoginAwardLen
- def GetActLoginAwardByIndex(self, index):
- self.CheckLoadData("ActLoginAward")
- return self.ipyActLoginAwardCache[index]
-
- def GetLoginAwardCount(self):
- self.CheckLoadData("LoginAward")
- return self.ipyLoginAwardLen
- def GetLoginAwardByIndex(self, index):
- self.CheckLoadData("LoginAward")
- return self.ipyLoginAwardCache[index]
-
- def GetActFeastLoginCount(self):
- self.CheckLoadData("ActFeastLogin")
- return self.ipyActFeastLoginLen
- def GetActFeastLoginByIndex(self, index):
- self.CheckLoadData("ActFeastLogin")
- return self.ipyActFeastLoginCache[index]
-
- def GetActFeastLoginAwardCount(self):
- self.CheckLoadData("ActFeastLoginAward")
- return self.ipyActFeastLoginAwardLen
- def GetActFeastLoginAwardByIndex(self, index):
- self.CheckLoadData("ActFeastLoginAward")
- return self.ipyActFeastLoginAwardCache[index]
-
- def GetActFeastWishCount(self):
- self.CheckLoadData("ActFeastWish")
- return self.ipyActFeastWishLen
- def GetActFeastWishByIndex(self, index):
- self.CheckLoadData("ActFeastWish")
- return self.ipyActFeastWishCache[index]
-
- def GetActFeastWishBottleCount(self):
- self.CheckLoadData("ActFeastWishBottle")
- return self.ipyActFeastWishBottleLen
- def GetActFeastWishBottleByIndex(self, index):
- self.CheckLoadData("ActFeastWishBottle")
- return self.ipyActFeastWishBottleCache[index]
-
- def GetActFeastWishPoolCount(self):
- self.CheckLoadData("ActFeastWishPool")
- return self.ipyActFeastWishPoolLen
- def GetActFeastWishPoolByIndex(self, index):
- self.CheckLoadData("ActFeastWishPool")
- return self.ipyActFeastWishPoolCache[index]
def GetNewAllPeoplePartyCount(self):
self.CheckLoadData("NewAllPeopleParty")
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py
index 6ad9ddc..3731bd0 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py
@@ -35,12 +35,10 @@
import ChPyNetSendPack
import DataRecordPack
import PlayerBillboard
-import PlayerLVAward
import PlayerGoldGift
import PlayerSignDay
import PlayerPrestigeSys
import PlayerFamily
-import PlayerLoginDayAward
import PlayerGoldInvest
import PlayerActivity
import FBCommon
@@ -49,9 +47,6 @@
import PlayerFreeGoods
import GameFuncComm
import PlayerFamilyTaofa
-import PlayerFeastLogin
-import PlayerFeastWish
-import PlayerActLogin
import PlayerTreasure
import IpyGameDataPY
import EventReport
@@ -490,9 +485,6 @@
#PK模式
#SyncPKModel(curPlayer)
- # 通知等级奖励领取记录
- PlayerLVAward.Sync_LVAwardGetRecordInfo(curPlayer)
-
PlayerCoin.OnLogin(curPlayer)
# 首充/天天首充/充值豪礼
PlayerGoldGift.OnLogin(curPlayer)
@@ -516,9 +508,6 @@
PlayerLianTi.OnPlayerLogin(curPlayer)
PlayerTreasure.OnTreasureLogin(curPlayer)
-
- # 通知累计登陆礼
- PlayerLoginDayAward.OnLoginNotifyLoginDayAward(curPlayer)
# 副本进入时间
FBCommon.FBOnLogin(curPlayer)
@@ -579,12 +568,6 @@
PlayerActYunshi.OnPlayerLogin(curPlayer)
# 登录活动
PlayerActLoginNew.OnPlayerLogin(curPlayer)
- # 节日登录活动
- PlayerFeastLogin.OnPlayerLogin(curPlayer)
- # 节日祝福活动
- PlayerFeastWish.OnPlayerLogin(curPlayer)
- # 登录奖励活动
- PlayerActLogin.OnLogin(curPlayer)
# 炼器活动
PlayerActLianqi.OnPlayerLogin(curPlayer)
# 天帝礼包活动
@@ -3407,9 +3390,6 @@
# 每日免费直购礼包
elif rewardType == ChConfig.Def_RewardType_DayFreeGoldGift:
PlayerDailyGiftbag.OnGetDailyFreeGiftbag(curPlayer)
- # 玩家等级奖励
- elif rewardType == ChConfig.Def_RewardType_LVAward:
- PlayerLVAward.GetPlayerLVAward(curPlayer, dataEx)
# 首充礼包奖励
elif rewardType == ChConfig.Def_RewardType_FirstCharge:
PlayerGoldGift.GetPlayerFirstCharge(curPlayer, dataEx, dataExStr)
@@ -3428,12 +3408,6 @@
# 领取许愿池奖励
elif rewardType == ChConfig.Def_RewardType_WishingWell:
PlayerWishingWell.DoGetWishingAward(curPlayer)
- # 领取登录奖励活动奖励
- elif rewardType == ChConfig.Def_RewardType_ActLoginAwardAct:
- PlayerActLogin.GetLoginAwardActionAward(curPlayer, dataEx, dataExStr)
- # 领取节日登录奖励
- elif rewardType == ChConfig.Def_RewardType_FeastLogin:
- PlayerFeastLogin.GetFeastLoginAward(curPlayer, dataEx)
# 领取登录活动奖励
elif rewardType == ChConfig.Def_RewardType_ActLoginAwardNew:
PlayerActLoginNew.OnGetActLoginAward(curPlayer, dataEx, dataExStr)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerActLogin.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerActLogin.py
deleted file mode 100644
index a7b3432..0000000
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerActLogin.py
+++ /dev/null
@@ -1,318 +0,0 @@
-#!/usr/bin/python
-# -*- coding: GBK -*-
-#-------------------------------------------------------------------------------
-#
-#-------------------------------------------------------------------------------
-#
-##@package Player.PlayerActLogin
-#
-# @todo:登录奖励
-# @author xdh
-# @date 2018-07-12 16:50
-# @version 1.0
-#
-#
-# 详细描述: 登录奖励
-#
-#---------------------------------------------------------------------
-"""Version = 2018-07-12 16:50"""
-#---------------------------------------------------------------------
-
-import IPY_GameWorld
-import GameWorld
-import ChConfig
-import IpyGameDataPY
-import PlayerControl
-import ItemControler
-import ChPyNetSendPack
-import NetPackCommon
-import ShareDefine
-import PyGameData
-import ItemCommon
-
-import json
-
-def OnLogin(curPlayer):
- isReset = __CheckPlayerLoginAwardAction(curPlayer)
- if not isReset:
- actCostRebateInfo = PyGameData.g_operationActionDict.get(ShareDefine.OperationActionName_LoginAward, {})
- # 活动中同步活动信息
- SyncLoginAwardInfo(curPlayer)
- if actCostRebateInfo.get(ShareDefine.ActKey_State):
- SyncLoginAwardPlayerInfo(curPlayer)
- return
-
-
-def RefreshOperationAction_LoginAward():
- playerManager = GameWorld.GetPlayerManager()
- for i in xrange(playerManager.GetPlayerCount()):
- curPlayer = playerManager.GetPlayerByIndex(i)
- if not GameWorld.IsNormalPlayer(curPlayer):
- continue
- __CheckPlayerLoginAwardAction(curPlayer)
- return
-
-
-def __CheckPlayerLoginAwardAction(curPlayer):
- ## 检查玩家登录奖励活动数据信息
- playerID = curPlayer.GetPlayerID()
-
- actLoginAwardInfo = PyGameData.g_operationActionDict.get(ShareDefine.OperationActionName_LoginAward, {})
- #loginAwardID = actLoginAwardInfo.get(ShareDefine.ActKey_ID, 0)
- state = actLoginAwardInfo.get(ShareDefine.ActKey_State, 0)
- cfgID = actLoginAwardInfo.get(ShareDefine.ActKey_CfgID, 0)
- if state:
- #每天都要触发
- AddLoginAwardActionCnt(curPlayer, ChConfig.Def_LoginAct_Login, 1, False, False)
- SyncLoginAwardPlayerInfo(curPlayer)
-
- playerLoginAwardID = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_LoginAwardID, 0, ChConfig.Def_PDictType_LoginAward) # 玩家身上的活动ID
- # 活动ID 相同的话不处理
- if cfgID == playerLoginAwardID:
- #GameWorld.DebugLog("登录奖励活动ID不变,不处理!", curPlayer.GetPlayerID())
- return
- actWorldLVList = actLoginAwardInfo.get(ShareDefine.ActKey_WorldLVList, [])
- # 未领取的奖励邮件发放
- if playerLoginAwardID:
- __SendLoginAwardMail(curPlayer, playerLoginAwardID)
-
- #if not cfgID:
- GameWorld.DebugLog(' 登录奖励活动重置!')
- curPlayer.ClearNomalDict(ChConfig.Def_PDictType_LoginAward)
-
- GameWorld.DebugLog("登录奖励变更! state=%s,cfgID=%s,playerLoginAwardID=%s,actWorldLVList=%s" % (state, cfgID, playerLoginAwardID, actWorldLVList), playerID)
-
- PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_LoginAwardID, cfgID, ChConfig.Def_PDictType_LoginAward)
- for i, actWorldLV in enumerate(actWorldLVList):
- PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_LoginAwardWorldLV % i, actWorldLV, ChConfig.Def_PDictType_LoginAward)
-
- SyncLoginAwardInfo(curPlayer)
- return True
-
-
-def __SendLoginAwardMail(curPlayer, cfgID):
- # 未领取的奖励邮件发放
- actIpyData = IpyGameDataPY.GetIpyGameData("ActLoginAward", cfgID)
- if not actIpyData:
- return
- templateIDList = actIpyData.GetTemplateID()
- if not templateIDList:
- return
-
- totalItemDict = {}
- for day, tidList in enumerate(templateIDList):
- playerWorldLV = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_LoginAwardWorldLV % day, 0, ChConfig.Def_PDictType_LoginAward)
-
- for tid in tidList:
- ipyData = IpyGameDataPY.GetIpyGameData('LoginAward', tid)
- if not ipyData:
- continue
- singleTimes = ipyData.GetSingleTimes()
- curTimes = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_LoginAwardCurTimes % (day, tid), 0, ChConfig.Def_PDictType_LoginAward)
- gotTimes = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_LoginAwardGotTimes % (day, tid), 0, ChConfig.Def_PDictType_LoginAward)
- canGotCnt = (curTimes - gotTimes) / singleTimes
- if not canGotCnt:
- continue
- itemDict = __GetAwardItem(curPlayer, ipyData, playerWorldLV, canGotCnt)
- GameWorld.AddDictValue(totalItemDict, itemDict)
-
- if not totalItemDict:
- return
- totalItemList = [[itemID, itemCnt, 1] for itemID, itemCnt in totalItemDict.items()]
- PlayerControl.SendMailByKey('LoginAward_1', [curPlayer.GetID()], totalItemList)
- return
-
-
-def AddLoginAwardActionCnt(curPlayer, actionID, addCnt=1, isAdd=True, isSync=True):
- '''增加登录奖励相关活动完成次数'''
- #判断活动是否开启
- if not addCnt:
- return
- actLoginAwardInfo = PyGameData.g_operationActionDict.get(ShareDefine.OperationActionName_LoginAward, {})
- state = actLoginAwardInfo.get(ShareDefine.ActKey_State, 0)
- cfgID = actLoginAwardInfo.get(ShareDefine.ActKey_CfgID, 0)
-
- if not state or not cfgID:
- return
- actIpyData = IpyGameDataPY.GetIpyGameData("ActLoginAward", cfgID)
- if not actIpyData:
- return
- templateIDList = actIpyData.GetTemplateID()
- dayIndex = actLoginAwardInfo.get(ShareDefine.ActKey_DayIndex, 0)
- if dayIndex >= len(templateIDList):
- return
- dayTidList = templateIDList[dayIndex]
- findTid = 0
- for tid in dayTidList:
- if tid / 100 == actionID:
- findTid = tid
- break
- if not findTid:
- return
- ipyData = IpyGameDataPY.GetIpyGameData('LoginAward', findTid)
- if not ipyData:
- return
- totalTimes = ipyData.GetTotalTimes()
- curTimes = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_LoginAwardCurTimes % (dayIndex, findTid), 0, ChConfig.Def_PDictType_LoginAward)
- if isAdd:
- addCnt = addCnt if totalTimes == 0 else min(totalTimes - curTimes, addCnt)
- if addCnt <= 0:
- return
- updTimes = curTimes + addCnt
- else:
- updTimes = min(addCnt, totalTimes)
- realAddCnt = updTimes - curTimes
- if realAddCnt <= 0:
- return
- PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_LoginAwardCurTimes % (dayIndex, findTid), updTimes, ChConfig.Def_PDictType_LoginAward)
- GameWorld.DebugLog(' 增加登录奖励相关活动完成次数 dayIndex=%s, findTid=%s, realAddCnt=%s' % (dayIndex, findTid, realAddCnt))
- if isSync:
- SyncLoginAwardPlayerInfo(curPlayer, dayIndex, findTid)
- return True
-
-
-def GetLoginAwardActionAward(curPlayer, day, templateID):
- '''领取登录奖励活动奖励'''
- templateID = GameWorld.ToIntDef(templateID, 0)
- ipyData = IpyGameDataPY.GetIpyGameData('LoginAward', templateID)
- if not ipyData:
- return
- singleTimes = ipyData.GetSingleTimes()
- curTimes = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_LoginAwardCurTimes % (day, templateID), 0, ChConfig.Def_PDictType_LoginAward)
- gotTimes = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_LoginAwardGotTimes % (day, templateID), 0, ChConfig.Def_PDictType_LoginAward)
- if curTimes - gotTimes < singleTimes:
- return
- playerWorldLV = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_LoginAwardWorldLV % day, 0, ChConfig.Def_PDictType_LoginAward)
- #给奖励
- awardDict = __GetAwardItem(curPlayer, ipyData, playerWorldLV)
- # 检查背包
- needSpace = len(awardDict)
- packSpace = ItemCommon.GetItemPackSpace(curPlayer, IPY_GameWorld.rptItem, needSpace)
- if needSpace > packSpace:
- PlayerControl.NotifyCode(curPlayer, "GeRen_chenxin_998371")
- return
- #更新次数 每次领奖只领一次
- newGotTimes = gotTimes + singleTimes
-
- #GameWorld.Log(' actionID=%s,curTimes=%s,gotTimes=%s,singleTimes=%s,newGotTimes=%s'%(actionID, curTimes, gotTimes,singleTimes, newGotTimes))
- PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_LoginAwardGotTimes % (day, templateID), newGotTimes, ChConfig.Def_PDictType_LoginAward)
- for itemID, itemCnt in awardDict.items():
- ItemControler.GivePlayerItem(curPlayer, itemID, itemCnt, 0, [IPY_GameWorld.rptItem])
- SyncLoginAwardPlayerInfo(curPlayer, day, templateID)
- return
-
-
-def __GetAwardItem(curPlayer, ipyData, worldLV, times=1):
- awardItemDict = {}
- awardDict = eval(ipyData.GetReward())
- wlvList = [int(lv) for lv in awardDict]
- wlvList.sort()
- findWlv = wlvList[-1]
- for wlv in wlvList:
- if worldLV <= wlv:
- findWlv = wlv
- break
- itemList = awardDict[str(findWlv)]
- for itemID, itemCnt, isbind in itemList:
- if not itemID or not itemCnt:
- continue
- awardItemDict[itemID] = awardItemDict.get(itemID, 0) + itemCnt * times
-
- return awardItemDict
-
-
-def SyncLoginAwardPlayerInfo(curPlayer, day=-1, templateID=-1):
- #通知当前次数、已领次数
- actLoginAwardInfo = PyGameData.g_operationActionDict.get(ShareDefine.OperationActionName_LoginAward, {})
- state = actLoginAwardInfo.get(ShareDefine.ActKey_State, 0)
- cfgID = actLoginAwardInfo.get(ShareDefine.ActKey_CfgID, 0)
- if not state or not cfgID:
- return
- actIpyData = IpyGameDataPY.GetIpyGameData("ActLoginAward", cfgID)
- if not actIpyData:
- return
- templateIDList = actIpyData.GetTemplateID()
- if not templateIDList:
- return
- if day != -1:
- if day >= len(templateIDList):
- return
- syncDayList = [day]
- else:
- syncDayList = range(len(templateIDList))
-
- packData = ChPyNetSendPack.tagMCActLoginAwardPlayerInfo()
- packData.DayInfoList = []
- for cday in syncDayList:
- tiemInfo = ChPyNetSendPack.tagMCActLoginAwardDayPlayerInfo()
- tiemInfo.DayIndex = cday
- tiemInfo.TaskList = []
- for tID in templateIDList[cday]:
- if templateID != -1 and tID != templateID:
- continue
- tipyData = IpyGameDataPY.GetIpyGameData('LoginAward', tID)
- if not tipyData:
- continue
- taskInfo = ChPyNetSendPack.tagMCActLoginAwardTaskInfo()
- taskInfo.TemplateID = tID
- taskInfo.CurTimes = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_LoginAwardCurTimes % (cday, tID), 0, ChConfig.Def_PDictType_LoginAward)
- taskInfo.GotTimes = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_LoginAwardGotTimes % (cday, tID), 0, ChConfig.Def_PDictType_LoginAward)
- tiemInfo.TaskList.append(taskInfo)
- tiemInfo.ACount = len(tiemInfo.TaskList)
- packData.DayInfoList.append(tiemInfo)
- packData.Count = len(packData.DayInfoList)
- NetPackCommon.SendFakePack(curPlayer, packData)
- return
-
-
-def SyncLoginAwardInfo(curPlayer):
- actLoginAwardInfo = PyGameData.g_operationActionDict.get(ShareDefine.OperationActionName_LoginAward, {})
- state = actLoginAwardInfo.get(ShareDefine.ActKey_State, 0)
- cfgID = actLoginAwardInfo.get(ShareDefine.ActKey_CfgID, 0)
- if not cfgID:
- return
- actIpyData = IpyGameDataPY.GetIpyGameData("ActLoginAward", cfgID)
- if not actIpyData:
- return
- templateIDList = actIpyData.GetTemplateID()
- if not templateIDList:
- return
- actWorldLVList = actLoginAwardInfo.get(ShareDefine.ActKey_WorldLVList, [])
- startDateStr, endDateStr = GameWorld.GetOperationActionDateStr(actIpyData)
- actInfo = ChPyNetSendPack.tagMCActLoginAwardInfo()
- actInfo.Clear()
- actInfo.StartDate = startDateStr
- actInfo.EndtDate = endDateStr
- actInfo.AdvanceMinutes = actIpyData.GetAdvanceMinutes()
- actInfo.IsDayReset = actIpyData.GetIsDayReset()
- actInfo.ResetType = actIpyData.GetResetType()
- actInfo.LimitLV = actIpyData.GetLVLimit()
- actInfo.DayInfoList = []
- tidList = []
- for day, dayActList in enumerate(templateIDList):
- dayInfo = ChPyNetSendPack.tagMCActLoginAwardDayInfo()
- dayInfo.TemplateList = dayActList
- dayInfo.ActCnt = len(dayActList)
- for tid in dayActList:
- if tid not in tidList:
- tidList.append(tid)
- dayInfo.WorldLV = actWorldLVList[day] if day < len(actWorldLVList) else 0
- actInfo.DayInfoList.append(dayInfo)
- actInfo.DayCnt = len(actInfo.DayInfoList)
- actInfo.ActionInfo = []
- for tid in tidList:
- ipyData = IpyGameDataPY.GetIpyGameData('LoginAward', tid)
- if not ipyData:
- GameWorld.ErrLog(' 登录奖励模板表找不到模板%s' % tid)
- continue
- tInfo = ChPyNetSendPack.tagMCActLoginAwardAction()
- tInfo.TemplateID = tid
- tInfo.ActionType = ipyData.GetActionType()
- tInfo.TotalTimes = ipyData.GetTotalTimes()
- tInfo.SingleTimes = ipyData.GetSingleTimes()
- tInfo.ItemInfo = ipyData.GetReward()
- tInfo.Count = len(tInfo.ItemInfo)
- actInfo.ActionInfo.append(tInfo)
- actInfo.TCount = len(actInfo.ActionInfo)
- NetPackCommon.SendFakePack(curPlayer, actInfo)
- return
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerEventCounter.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerEventCounter.py
index 54ae28a..36abc3f 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerEventCounter.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerEventCounter.py
@@ -27,7 +27,6 @@
import PlayerCoin
import PlayerControl
import PlayerFamily
-import PlayerLoginDayAward
import NPCCommon
import FunctionNPCCommon
import PlayerGoldGift
@@ -280,8 +279,6 @@
#OnDay时清除每日签到的信息
PlayerSignDay.SignDayOnDay(curPlayer)
- # 累计登陆礼包登陆次数刷新
- PlayerLoginDayAward.NotePlayerLoginDayCnt(curPlayer)
#------------------------------------------------------------------------------
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFeastLogin.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFeastLogin.py
deleted file mode 100644
index 9839238..0000000
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFeastLogin.py
+++ /dev/null
@@ -1,215 +0,0 @@
-#!/usr/bin/python
-# -*- coding: GBK -*-
-#-------------------------------------------------------------------------------
-#
-##@package Player.PlayerFeastLogin
-#
-# @todo:节日登录
-# @author hxp
-# @date 2021-01-27
-# @version 1.0
-#
-# 详细描述: 节日登录
-#
-#-------------------------------------------------------------------------------
-#"""Version = 2021-01-27 17:00"""
-#-------------------------------------------------------------------------------
-
-import PyGameData
-import ShareDefine
-import PlayerControl
-import IpyGameDataPY
-import ChPyNetSendPack
-import ItemControler
-import IPY_GameWorld
-import NetPackCommon
-import GameWorld
-import ChConfig
-
-def OnPlayerLogin(curPlayer):
- isReset = __CheckPlayerFeastLoginAction(curPlayer)
- if not isReset:
- actInfo = PyGameData.g_operationActionDict.get(ShareDefine.OperationActionName_FeastLogin, {})
- # 活动中同步活动信息
- if actInfo.get(ShareDefine.ActKey_State):
- __SetLoginByDayIndex(curPlayer, actInfo)
- Sync_FeastLoginActionInfo(curPlayer)
- Sync_FeastLoginPlayerInfo(curPlayer)
- return
-
-def RefreshFeastLoginActionInfo():
- ## 收到GameServer同步的活动信息,刷新活动信息
- playerManager = GameWorld.GetPlayerManager()
- for index in xrange(playerManager.GetPlayerCount()):
- curPlayer = playerManager.GetPlayerByIndex(index)
- if not GameWorld.IsNormalPlayer(curPlayer):
- continue
- __CheckPlayerFeastLoginAction(curPlayer)
- return
-
-def __CheckPlayerFeastLoginAction(curPlayer):
- ## 检查玩家活动信息
-
- playerID = curPlayer.GetPlayerID()
-
- actInfo = PyGameData.g_operationActionDict.get(ShareDefine.OperationActionName_FeastLogin, {})
- actID = actInfo.get(ShareDefine.ActKey_ID, 0)
- state = actInfo.get(ShareDefine.ActKey_State, 0)
-
- playerActID = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_FeastLoginID) # 玩家身上的活动ID
- # 活动ID 相同的话不处理
- if actID == playerActID:
- GameWorld.DebugLog("节日登录活动ID不变,不处理!", curPlayer.GetPlayerID())
- if state:
- if __SetLoginByDayIndex(curPlayer, actInfo):
- Sync_FeastLoginPlayerInfo(curPlayer)
- return
- GameWorld.DebugLog("节日登录活动重置! actID=%s,playerActID=%s,state=%s" % (actID, playerActID, state), playerID)
-
- PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_FeastLoginID, actID)
- PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_FeastLoginState, 0)
- PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_FeastLoginAwardState, 0)
-
- if state:
- __SetLoginByDayIndex(curPlayer, actInfo)
- Sync_FeastLoginActionInfo(curPlayer)
- Sync_FeastLoginPlayerInfo(curPlayer)
- return True
-
-def __SetLoginByDayIndex(curPlayer, actInfo):
- ## 设置某一天已登录,可领奖
- dayIndex = actInfo.get(ShareDefine.ActKey_DayIndex, 0)
- loginState = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_FeastLoginState)
- loginCount, lastRecordDay = loginState / 10, loginState % 10
- curDay = dayIndex + 1
- if lastRecordDay >= curDay:
- GameWorld.DebugLog(" 节日登录未达记录录登天或已记录登录! dayIndex=%s,loginState=%s,lastRecordDay(%s) >= curDay(%s)" % (dayIndex, loginState, lastRecordDay, curDay))
- return
- loginCount += 1
- updLoginState = loginCount * 10 + curDay
- PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_FeastLoginState, updLoginState)
- GameWorld.DebugLog(" 节日登录设置天登录: dayIndex=%s,loginState=%s,updLoginState=%s,loginCount=%s" % (dayIndex, loginState, updLoginState, loginCount))
- return True
-
-def GetFeastLoginAward(curPlayer, dayNum):
- ## 领取活动奖励
-
- actInfo = PyGameData.g_operationActionDict.get(ShareDefine.OperationActionName_FeastLogin, {})
- if not actInfo:
- return
-
- if not actInfo.get(ShareDefine.ActKey_State):
- GameWorld.DebugLog("非节日登录活动中!")
- return
-
- cfgID = actInfo.get(ShareDefine.ActKey_CfgID)
-
- ipyData = IpyGameDataPY.GetIpyGameData("ActFeastLogin", cfgID)
- if not ipyData:
- return
-
- worldLV = actInfo.get(ShareDefine.ActKey_WorldLV)
- templateID = GameWorld.GetDictValueByRangeKey(ipyData.GetTemplateIDInfo(), worldLV, 0)
- if not templateID:
- return
-
- dayIpyDataList = IpyGameDataPY.GetIpyGameDataList("ActFeastLoginAward", templateID)
- if not dayIpyDataList:
- return
-
- findIpyData = None
- for dayIpyData in dayIpyDataList:
- if dayIpyData.GetDayNum() == dayNum:
- findIpyData = dayIpyData
- break
-
- if not findIpyData:
- GameWorld.DebugLog("找不到对应的天奖励! dayNum=%s" % dayNum)
- return
-
- awardIndex = dayNum - 1
- loginState = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_FeastLoginState)
- loginCount = loginState / 10
- if dayNum > loginCount:
- GameWorld.DebugLog("节日登录活动登录天不足,无法领奖!dayNum=%s > loginCount=%s,loginState=%s" % (dayNum, loginCount, loginState))
- return
-
- awardRecord = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_FeastLoginAwardState)
- if awardRecord & pow(2, awardIndex):
- GameWorld.DebugLog("节日登录活动该天已领奖!dayNum=%s,awardIndex=%s,awardRecord=%s" % (dayNum, awardIndex, awardRecord))
- return
-
- awardItemList = findIpyData.GetLoginAwardItemList()
- if not ItemControler.CheckPackSpaceEnough(curPlayer, awardItemList):
- return
-
- updAwardRecord = awardRecord | pow(2, awardIndex)
- PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_FeastLoginAwardState, updAwardRecord)
- Sync_FeastLoginPlayerInfo(curPlayer)
-
- GameWorld.DebugLog("领取节日登录奖励!dayNum=%s,awardIndex=%s,awardItemList=%s" % (dayNum, awardIndex, awardItemList))
-
- for itemID, itemCount, isAuctionItem in awardItemList:
- ItemControler.GivePlayerItem(curPlayer, itemID, itemCount, isAuctionItem, [IPY_GameWorld.rptItem],
- event=["FeastLogin", False, {}])
-
- return
-
-def Sync_FeastLoginPlayerInfo(curPlayer):
- ## 通知活动玩家信息
- loginState = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_FeastLoginState)
- loginCount = loginState / 10
- clientPack = ChPyNetSendPack.tagMCFeastLoginPlayerInfo()
- clientPack.LoginState = pow(2, loginCount) - 1
- clientPack.LoginAward = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_FeastLoginAwardState)
- NetPackCommon.SendFakePack(curPlayer, clientPack)
- return
-
-def Sync_FeastLoginActionInfo(curPlayer):
- ## 通知活动信息
- actInfo = PyGameData.g_operationActionDict.get(ShareDefine.OperationActionName_FeastLogin, {})
- if not actInfo:
- return
-
- if not actInfo.get(ShareDefine.ActKey_State):
- return
-
- cfgID = actInfo.get(ShareDefine.ActKey_CfgID)
-
- ipyData = IpyGameDataPY.GetIpyGameData("ActFeastLogin", cfgID)
- if not ipyData:
- return
-
- worldLV = actInfo.get(ShareDefine.ActKey_WorldLV)
- templateID = GameWorld.GetDictValueByRangeKey(ipyData.GetTemplateIDInfo(), worldLV, 0)
- if not templateID:
- return
-
- dayIpyDataList = IpyGameDataPY.GetIpyGameDataList("ActFeastLoginAward", templateID)
- if not dayIpyDataList:
- return
-
- startDateStr, endDateStr = GameWorld.GetOperationActionDateStr(ipyData)
- actPack = ChPyNetSendPack.tagMCFeastLoginInfo()
- actPack.Clear()
- actPack.StartDate = startDateStr
- actPack.EndtDate = endDateStr
- actPack.LimitLV = ipyData.GetLVLimit()
- actPack.DayAwardList = []
- for dayIpyData in dayIpyDataList:
- dayInfo = ChPyNetSendPack.tagMCFeastLoginDayAward()
- dayInfo.DayNum = dayIpyData.GetDayNum()
- dayInfo.AwardItemList = []
- for itemID, itemCount, isAuctionItem in dayIpyData.GetLoginAwardItemList():
- itemInfo = ChPyNetSendPack.tagMCFeastLoginDayAwardItem()
- itemInfo.ItemID = itemID
- itemInfo.ItemCount = itemCount
- itemInfo.IsBind = isAuctionItem
- dayInfo.AwardItemList.append(itemInfo)
- dayInfo.AwardCount = len(dayInfo.AwardItemList)
-
- actPack.DayAwardList.append(dayInfo)
- actPack.DayCount = len(actPack.DayAwardList)
- NetPackCommon.SendFakePack(curPlayer, actPack)
- return
-
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFeastWish.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFeastWish.py
deleted file mode 100644
index 6fc74f1..0000000
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFeastWish.py
+++ /dev/null
@@ -1,477 +0,0 @@
-#!/usr/bin/python
-# -*- coding: GBK -*-
-#-------------------------------------------------------------------------------
-#
-##@package Player.PlayerFeastWish
-#
-# @todo:节日祝福
-# @author hxp
-# @date 2021-01-29
-# @version 1.0
-#
-# 详细描述: 节日祝福
-#
-#-------------------------------------------------------------------------------
-#"""Version = 2021-01-29 11:30"""
-#-------------------------------------------------------------------------------
-
-import ItemCommon
-import PyGameData
-import ShareDefine
-import PlayerControl
-import IpyGameDataPY
-import ItemControler
-import ChPyNetSendPack
-import IPY_GameWorld
-import NetPackCommon
-import GameWorld
-import ChConfig
-
-import random
-
-def OnPlayerLogin(curPlayer):
- isReset = __CheckPlayerFeastWishAction(curPlayer)
- if not isReset:
- actInfo = PyGameData.g_operationActionDict.get(ShareDefine.OperationActionName_FeastWish, {})
- # 活动中同步活动信息
- if actInfo.get(ShareDefine.ActKey_State):
- Sync_FeastWishActionInfo(curPlayer)
- Sync_FeastWishPlayerInfo(curPlayer)
- return
-
-def RefreshFeastWishActionInfo():
- ## 收到GameServer同步的活动信息,刷新活动信息
- playerManager = GameWorld.GetPlayerManager()
- for index in xrange(playerManager.GetPlayerCount()):
- curPlayer = playerManager.GetPlayerByIndex(index)
- if not GameWorld.IsNormalPlayer(curPlayer):
- continue
- __CheckPlayerFeastWishAction(curPlayer)
- return
-
-def __CheckPlayerFeastWishAction(curPlayer):
- ## 检查玩家活动信息
-
- playerID = curPlayer.GetPlayerID()
-
- actInfo = PyGameData.g_operationActionDict.get(ShareDefine.OperationActionName_FeastWish, {})
- actID = actInfo.get(ShareDefine.ActKey_ID, 0)
- state = actInfo.get(ShareDefine.ActKey_State, 0)
-
- templateID = __GetWishTemplateID()
- playerActID = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_FeastWishID) # 玩家身上的活动ID
- playerTemplateID = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_FeastWishTemplateID) # 玩家身上的模板ID
- # 活动ID 相同的话不处理
- if actID == playerActID:
- GameWorld.DebugLog("节日祝福活动ID不变,不处理!", curPlayer.GetPlayerID())
- if state:
- if templateID and templateID != playerTemplateID:
- PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_FeastWishTemplateID, templateID)
- return
- GameWorld.DebugLog("节日祝福活动重置! actID=%s,playerActID=%s,state=%s,templateID=%s,playerTemplateID=%s"
- % (actID, playerActID, state, templateID, playerTemplateID), playerID)
-
- PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_FeastWishID, actID)
- PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_FeastWishTemplateID, templateID)
- if playerTemplateID:
- __SendWishBottleItemMail(curPlayer, playerTemplateID)
-
- bottleNumList = GetWishBottleNumList()
- for bottleNum in bottleNumList:
- PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_FeastWishBottleValue % bottleNum, 0)
- PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_FeastWishBottleGetState % bottleNum, 0)
-
- if state:
- Sync_FeastWishActionInfo(curPlayer)
- Sync_FeastWishPlayerInfo(curPlayer)
- return True
-
-def __SendWishBottleItemMail(curPlayer, playerTemplateID):
- # 未领取的奖励邮件发放
-
- if not playerTemplateID:
- return
-
- bottleIpyDataList = IpyGameDataPY.GetIpyGameDataList("ActFeastWishBottle", playerTemplateID)
- if not bottleIpyDataList:
- return
-
- playerID = curPlayer.GetPlayerID()
- batchPlayerIDList, batchAddItemList, batchParamList = [], [], []
- for ipyData in bottleIpyDataList:
- bottleNum = ipyData.GetWishBottleNum()
- choosePrizeItemDict = ipyData.GetChoosePrizeItem()
-
- curWishValue = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_FeastWishBottleValue % bottleNum)
- getState = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_FeastWishBottleGetState % bottleNum)
-
- getIndexList = []
- for recordIndex in choosePrizeItemDict.keys():
- if getState & pow(2, recordIndex):
- getIndexList.append(recordIndex)
-
- getTimes = len(getIndexList)
- maxTimes = ipyData.GetChooseTimeMax()
- if getTimes >= maxTimes:
- continue
-
- needGiveTimes = min(maxTimes - getTimes, curWishValue / ipyData.GetNeedWishValue())
- if not needGiveTimes:
- continue
-
- awardItemList = []
- for recordIndex, itemInfo in choosePrizeItemDict.items():
- if recordIndex in getIndexList:
- continue
- awardItemList.append(itemInfo)
-
- curWishValue = curWishValue - ipyData.GetNeedWishValue()
- PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_FeastWishBottleValue % bottleNum, curWishValue)
-
- getState = getState | pow(2, recordIndex)
- PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_FeastWishBottleGetState % bottleNum, getState)
-
- if len(awardItemList) >= needGiveTimes:
- break
-
- if not awardItemList:
- continue
-
- batchPlayerIDList.append([playerID])
- batchAddItemList.append(awardItemList)
- batchParamList.append([bottleNum])
-
- if batchPlayerIDList:
- PlayerControl.SendMailBatch("FeastWishBottleAwardMail", batchPlayerIDList, batchAddItemList, batchParamList)
-
- return
-
-#// AA 10 节日祝福瓶选择奖励物品 #tagCMFeastWishBottleChooseItem
-#
-#struct tagCMFeastWishBottleChooseItem
-#{
-# tagHead Head;
-# BYTE BottleNum; //瓶子编号
-# BYTE RecordIndex; //物品索引,用于选择及记录是否已选择
-#};
-def OnFeastWishBottleChooseItem(index, clientData, tick):
- curPlayer = GameWorld.GetPlayerManager().GetPlayerByIndex(index)
- bottleNum = clientData.BottleNum
- getRecordIndex = clientData.RecordIndex
-
- templateID = __GetWishTemplateID()
- GameWorld.DebugLog("节日祝福瓶选择奖励! templateID=%s,bottleNum=%s,getRecordIndex=%s" % (templateID, bottleNum, getRecordIndex))
- if not templateID:
- return
-
- bottleIpyDataList = IpyGameDataPY.GetIpyGameDataList("ActFeastWishBottle", templateID)
- if not bottleIpyDataList:
- return
-
- findIpyData = None
- for bottleIpyData in bottleIpyDataList:
- if bottleNum == bottleIpyData.GetWishBottleNum():
- findIpyData = bottleIpyData
- break
-
- if not findIpyData:
- GameWorld.DebugLog(" 找不到对应节日祝福瓶! bottleNum=%s" % bottleNum)
- return
-
- choosePrizeItemDict = findIpyData.GetChoosePrizeItem()
- if getRecordIndex not in choosePrizeItemDict:
- GameWorld.DebugLog(" 找不到对应节日祝福瓶奖励物品! getRecordIndex=%s" % getRecordIndex)
- return
-
- curWishValue = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_FeastWishBottleValue % bottleNum)
- getState = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_FeastWishBottleGetState % bottleNum)
- getTimes = 0
- for recordIndex in choosePrizeItemDict.keys():
- if getState & pow(2, recordIndex):
- getTimes += 1
- if getRecordIndex == recordIndex:
- GameWorld.DebugLog(" 该物品已经选择过! getRecordIndex=%s,getState=%s" % (getRecordIndex, getState))
- return
-
- if getTimes >= findIpyData.GetChooseTimeMax():
- GameWorld.DebugLog(" 已没有领取次数! getState=%s,getTimes=%s >= %s" % (getState, getTimes, findIpyData.GetChooseTimeMax()))
- return
-
- if curWishValue < findIpyData.GetNeedWishValue():
- GameWorld.DebugLog(" 祝福值不足领取! curWishValue=%s < %s" % (curWishValue, findIpyData.GetNeedWishValue()))
- return
-
- if not ItemCommon.CheckPackHasSpace(curPlayer, IPY_GameWorld.rptItem):
- return
- itemInfo = choosePrizeItemDict[getRecordIndex]
- itemID, itemCount, isAuctionItem = itemInfo
- if not ItemControler.GivePlayerItem(curPlayer, itemID, itemCount, isAuctionItem, [IPY_GameWorld.rptItem], ["", False, {}]):
- return
-
- updWishValue = curWishValue - findIpyData.GetNeedWishValue()
- PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_FeastWishBottleValue % bottleNum, updWishValue)
-
- updGetState = getState | pow(2, getRecordIndex)
- PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_FeastWishBottleGetState % bottleNum, updGetState)
-
- Sync_FeastWishPlayerInfo(curPlayer, [bottleNum])
-
- GameWorld.DebugLog(" 选择成功: getState=%s,updGetState=%s,curWishValue=%s,updWishValue=%s,itemInfo=%s"
- % (getState, updGetState, curWishValue, updWishValue, itemInfo))
-
- if itemID in findIpyData.GetGoodItemIDList():
- recFromType = 1 # 记录来源: 1-祝福瓶,2-祝福池
- valueList = [itemID, itemCount, recFromType]
- strValueList = [curPlayer.GetPlayerName()]
- notifyType = 4 # 通知全服单条
- GameWorld.AddUniversalGameRec(0, ShareDefine.Def_UniversalGameRecType_FeastWish, valueList, strValueList, notifyType)
-
- notifyKey = findIpyData.GetWorldNotifyKey()
- if notifyKey:
- PlayerControl.WorldNotify(0, notifyKey, [curPlayer.GetPlayerName(), itemID, "", itemCount])
-
- return
-
-#// AA 11 节日祝福池祝福 #tagCMFeastWishPoolWish
-#
-#struct tagCMFeastWishPoolWish
-#{
-# tagHead Head;
-# BYTE WishCount; //祝福次数
-#};
-def OnFeastWishPoolWish(index, clientData, tick):
- curPlayer = GameWorld.GetPlayerManager().GetPlayerByIndex(index)
- wishCount = clientData.WishCount
-
- templateID = __GetWishTemplateID()
- GameWorld.DebugLog("玩家节日祝福: wishCount=%s,templateID=%s" % (wishCount, templateID))
- if not templateID:
- return
-
- bottleIpyDataList = IpyGameDataPY.GetIpyGameDataList("ActFeastWishBottle", templateID)
- poolIpyData = IpyGameDataPY.GetIpyGameData("ActFeastWishPool", templateID)
- if not bottleIpyDataList or not poolIpyData:
- return
-
- canWishCountList = IpyGameDataPY.GetFuncEvalCfg("FeastWishCfg", 2)
- if wishCount not in canWishCountList:
- return
-
- costItemID = IpyGameDataPY.GetFuncCfg("FeastWishCfg", 1)
-
- costItemNeedCount = wishCount
- costItemIndexList, bindCnt, unBindCnt = ItemCommon.GetPackItemBindStateIndexInfo(curPlayer, costItemID)
- lackCount = max(0, costItemNeedCount - bindCnt - unBindCnt)
- if lackCount > 0:
- GameWorld.DebugLog(" 所需祝福道具不足!costItemID=%s,costItemNeedCount=%s,lackCount=%s"
- % (costItemID, costItemNeedCount, lackCount))
- return
-
- giveWishValueTotal = 0
- wishValueRange = IpyGameDataPY.GetFuncEvalCfg("FeastWishCfg", 3)
-
- giveItemDict = {} # 用于判断占用背包用
- giveItemList = [] # 用于实际给物品及通知前端用,一个个给
- isAuctionItem = 0 # 默认给非拍品
- itemWeightInfoList = poolIpyData.GetWishPoolItemWeightInfo()
- for _ in xrange(wishCount):
- randItemInfo = GameWorld.GetResultByWeightList(itemWeightInfoList)
- if not randItemInfo:
- GameWorld.ErrLog("节日祝福池物品权重配置异常! %s" % itemWeightInfoList)
- return
- itemID, itemCount = randItemInfo
- giveItemList.append([itemID, itemCount, isAuctionItem])
- giveItemDict[itemID] = giveItemDict.get(itemID, 0) + itemCount
- giveWishValueTotal += random.randint(wishValueRange[0], wishValueRange[1])
-
- checkSpaceList = [[itemID, itemCount, isAuctionItem] for itemID, itemCount in giveItemDict.items()]
- if not ItemControler.CheckPackSpaceEnough(curPlayer, checkSpaceList):
- return
-
- GameWorld.DebugLog(" giveWishValueTotal=%s,giveItemList=%s" % (giveWishValueTotal, giveItemList))
-
- # 扣除消耗
- ItemCommon.DelCostItemByBind(curPlayer, costItemIndexList, bindCnt, unBindCnt, costItemNeedCount, "FeastWish")
-
- # 加祝福值
- syncBottleNumList = []
- for bottleIpyData in bottleIpyDataList:
- bottleNum = bottleIpyData.GetWishBottleNum()
- curWishValue = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_FeastWishBottleValue % bottleNum)
- getState = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_FeastWishBottleGetState % bottleNum)
- getTimes = 0
- for recordIndex in bottleIpyData.GetChoosePrizeItem().keys():
- if getState & pow(2, recordIndex):
- getTimes += 1
- canGetTimes = max(0, bottleIpyData.GetChooseTimeMax() - getTimes)
- wishValueMax = bottleIpyData.GetNeedWishValue() * canGetTimes
- if curWishValue >= wishValueMax:
- GameWorld.DebugLog(" 瓶子祝福值已满! bottleNum=%s,canGetTimes=%s,wishValueMax=%s <= curWishValue=%s"
- % (bottleNum, canGetTimes, wishValueMax, curWishValue))
- continue
- updWishValue = min(wishValueMax, curWishValue + giveWishValueTotal)
- PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_FeastWishBottleValue % bottleNum, updWishValue)
- GameWorld.DebugLog(" 瓶子祝福值更新! bottleNum=%s,canGetTimes=%s,wishValueMax=%s,curWishValue=%s,updWishValue=%s"
- % (bottleNum, canGetTimes, wishValueMax, curWishValue, updWishValue))
- syncBottleNumList.append(bottleNum)
-
- # 给物品
- goodItemIDList = poolIpyData.GetGoodItemIDList()
- notifyKey = poolIpyData.GetWorldNotifyKey()
- for itemID, itemCount, isAuctionItem in giveItemList:
- itemObj = ItemControler.GetOutPutItemObj(itemID, itemCount, isAuctionItem, curPlayer=curPlayer)
- itemUserData = itemObj.GetUserData()
- isOK = ItemControler.DoLogic_PutItemInPack(curPlayer, itemObj, ["FeastWish", False, {}], [IPY_GameWorld.rptItem])
-
- if isOK and itemID in goodItemIDList:
- # 通知GameServer记录好物品轮播
- recFromType = 2 # 记录来源: 1-祝福瓶,2-祝福池
- valueList = [itemID, itemCount, recFromType]
- strValueList = [curPlayer.GetPlayerName()]
- notifyType = 4 # 通知全服单条
- GameWorld.AddUniversalGameRec(0, ShareDefine.Def_UniversalGameRecType_FeastWish, valueList, strValueList, notifyType)
-
- if notifyKey:
- PlayerControl.WorldNotify(0, notifyKey, [curPlayer.GetPlayerName(), itemID, itemUserData, itemCount])
-
- # 通知前端结果
- retPack = ChPyNetSendPack.tagMCFeastWishResult()
- retPack.AddWishValue = giveWishValueTotal
- retPack.WishResult = str(giveItemList)
- retPack.WishResultLen = len(retPack.WishResult)
- NetPackCommon.SendFakePack(curPlayer, retPack)
-
- if syncBottleNumList:
- Sync_FeastWishPlayerInfo(curPlayer, syncBottleNumList)
-
- return
-
-def GetFeastWishDropItemIDList(curPlayer, npcData):
- ## 获取掉落祝福道具ID列表
- ## @return: [itemID, ...]
-
- actInfo = PyGameData.g_operationActionDict.get(ShareDefine.OperationActionName_FeastWish, {})
- if not actInfo:
- return []
-
- if not actInfo.get(ShareDefine.ActKey_State):
- return []
-
- if not ChConfig.IsGameBoss(npcData):
- return []
-
- npcID = npcData.GetNPCID()
- killBossCntLimitDict = IpyGameDataPY.GetFuncCfg('KillBossCntLimit', 1)
- limitIndex = GameWorld.GetDictValueByKey(killBossCntLimitDict, npcID)
- if limitIndex not in [ShareDefine.Def_Boss_Func_World, ShareDefine.Def_Boss_Func_Home]:
- # 规定只有世界boss、boss之家可掉落
- return
-
- dropRate = IpyGameDataPY.GetFuncCfg("FeastWishCfg", 4)
- if not GameWorld.CanHappen(dropRate):
- return
- wishItemID = IpyGameDataPY.GetFuncCfg("FeastWishCfg", 1) # 默认掉1个
- #GameWorld.DebugLog("掉落节日祝福道具: npcID=%s,dropRate=%s,wishItemID=%s" % (npcID, dropRate, wishItemID))
- return [wishItemID]
-
-def Sync_FeastWishPlayerInfo(curPlayer, bottleNumList=[]):
- ## 通知活动玩家信息
-
- if bottleNumList:
- syncBottleNumList = bottleNumList
- else:
- syncBottleNumList = GetWishBottleNumList()
-
- playerPack = ChPyNetSendPack.tagMCFeastWishPlayerInfo()
- playerPack.PlayerBottleInfo = []
- for bottleNum in syncBottleNumList:
- playerBottle = ChPyNetSendPack.tagMCFeastWishPlayerBottle()
- playerBottle.BottleNum = bottleNum
- playerBottle.WishValue = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_FeastWishBottleValue % bottleNum)
- playerBottle.ChooseRecord = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_FeastWishBottleGetState % bottleNum)
- playerPack.PlayerBottleInfo.append(playerBottle)
- playerPack.BottleCount = len(playerPack.PlayerBottleInfo)
- NetPackCommon.SendFakePack(curPlayer, playerPack)
- return
-
-def GetWishBottleNumList():
- templateID = __GetWishTemplateID()
- if not templateID:
- return []
-
- bottleIpyDataList = IpyGameDataPY.GetIpyGameDataList("ActFeastWishBottle", templateID)
- if not bottleIpyDataList:
- return []
- return [bottleIpyData.GetWishBottleNum() for bottleIpyData in bottleIpyDataList]
-
-def __GetWishTemplateID():
- actInfo = PyGameData.g_operationActionDict.get(ShareDefine.OperationActionName_FeastWish, {})
- if not actInfo:
- return 0
-
- if not actInfo.get(ShareDefine.ActKey_State):
- return 0
-
- cfgID = actInfo.get(ShareDefine.ActKey_CfgID)
- ipyData = IpyGameDataPY.GetIpyGameData("ActFeastWish", cfgID)
- if not ipyData:
- return 0
-
- worldLV = actInfo.get(ShareDefine.ActKey_WorldLV)
- templateID = GameWorld.GetDictValueByRangeKey(ipyData.GetTemplateIDInfo(), worldLV, 0)
- return templateID
-
-def Sync_FeastWishActionInfo(curPlayer):
- ## 通知活动信息
- actInfo = PyGameData.g_operationActionDict.get(ShareDefine.OperationActionName_FeastWish, {})
- if not actInfo:
- return
-
- if not actInfo.get(ShareDefine.ActKey_State):
- return
-
- cfgID = actInfo.get(ShareDefine.ActKey_CfgID)
- ipyData = IpyGameDataPY.GetIpyGameData("ActFeastWish", cfgID)
- if not ipyData:
- return
-
- worldLV = actInfo.get(ShareDefine.ActKey_WorldLV)
- templateID = GameWorld.GetDictValueByRangeKey(ipyData.GetTemplateIDInfo(), worldLV, 0)
- if not templateID:
- return
-
- bottleIpyDataList = IpyGameDataPY.GetIpyGameDataList("ActFeastWishBottle", templateID)
- poolIpyData = IpyGameDataPY.GetIpyGameData("ActFeastWishPool", templateID)
-
- startDateStr, endDateStr = GameWorld.GetOperationActionDateStr(ipyData)
- actPack = ChPyNetSendPack.tagMCFeastWishInfo()
- actPack.Clear()
- actPack.StartDate = startDateStr
- actPack.EndtDate = endDateStr
- actPack.LimitLV = ipyData.GetLVLimit()
- actPack.ResetType = ipyData.GetResetType()
- actPack.WishPoolShowItemList = poolIpyData.GetWishPoolClientItemShow() if poolIpyData else []
- actPack.WishPoolShowCount = len(actPack.WishPoolShowItemList)
- actPack.BottleInfoList = []
- if bottleIpyDataList:
- for bottleIpyData in bottleIpyDataList:
- bottleInfo = ChPyNetSendPack.tagMCFeastWishBottleInfo()
- bottleInfo.BottleNum = bottleIpyData.GetWishBottleNum()
- bottleInfo.NeedWishValue = bottleIpyData.GetNeedWishValue()
- bottleInfo.ChooseTimeMax = bottleIpyData.GetChooseTimeMax()
- bottleInfo.ChoosePrizeList = []
- prizeItemDict = bottleIpyData.GetChoosePrizeItem()
- for recordIndex, itemInfo in prizeItemDict.items():
- itemID, itemCount, isAuctionItem = itemInfo
- itemInfo = ChPyNetSendPack.tagMCFeastWishBottleItem()
- itemInfo.RecordIndex = recordIndex
- itemInfo.ItemID = itemID
- itemInfo.ItemCount = itemCount
- itemInfo.IsBind = isAuctionItem
- bottleInfo.ChoosePrizeList.append(itemInfo)
- bottleInfo.ChoosePrizeCount = len(bottleInfo.ChoosePrizeList)
- actPack.BottleInfoList.append(bottleInfo)
- actPack.BottleCount = len(actPack.BottleInfoList)
- NetPackCommon.SendFakePack(curPlayer, actPack)
- return
-
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerLVAward.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerLVAward.py
deleted file mode 100644
index d4acaee..0000000
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerLVAward.py
+++ /dev/null
@@ -1,136 +0,0 @@
-#!/usr/bin/python
-# -*- coding: GBK -*-
-#-------------------------------------------------------------------------------
-#
-#-------------------------------------------------------------------------------
-#
-##@package PlayerLVAward
-#
-# @todo: 记录玩家的等级奖励信息,二进制位标示,目前用了一个字典
-# @author xdh
-# @date 2018-03-07 13:50
-# 简要说明:
-# @version 1.0
-#
-# 详细描述:
-#
-"""Version = 2018-03-07 13:50"""
-#------------------------------------------------------------------------------
-import GameWorld
-import IPY_GameWorld
-import ItemControler
-import ChConfig
-import ChPyNetSendPack
-import NetPackCommon
-import ItemCommon
-import PlayerControl
-import IpyGameDataPY
-import DataRecordPack
-
-
-
-
-## 领取玩家等级奖励
-# @param getLV:领取的等级
-# @return None
-def GetPlayerLVAward(curPlayer, awardID):
- ipyData = IpyGameDataPY.GetIpyGameData('LVAward', awardID)
- if not ipyData:
- return
-
- getLV = ipyData.GetLV()
- # 检查可否领取
-
- # 玩家等级小于领取等级
- if curPlayer.GetLV() < getLV:
- GameWorld.ErrLog("GetLVAward error:getLV=%s greater than heroLV=%s" % (getLV, curPlayer.GetLV()))
- return
- awardInfo = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_LVAwardGetRecord, 0,
- ChConfig.Def_PDictType_LVAward)
- vipAwardInfo = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_LVAwardVIPGetRecord, 0,
- ChConfig.Def_PDictType_LVAward)
- awardMark = pow(2, awardID - 1)
- if awardInfo & awardMark and vipAwardInfo & awardMark:
- #已领取
- GameWorld.DebugLog("领取玩家等级奖励已领取奖励!awardID=%s,getLV=%s" % (awardID, getLV))
- return
- itemList = []
- if not awardInfo & awardMark:
- #非vip奖励
- job = curPlayer.GetJob()
- awardDict = ipyData.GetReward()
- if str(job) not in awardDict:
- return
- itemList += awardDict[str(job)]
- hasVIPAward = False #是否有VIP奖励
- if not vipAwardInfo & awardMark:
- if curPlayer.GetVIPLv() >= ipyData.GetVIPLimit():
- itemList += ipyData.GetVIPAward()
- hasVIPAward = True
- if not itemList:
- return
- # 检查背包
- needSpace = len(itemList)
- packSpace = ItemCommon.GetItemPackSpace(curPlayer, IPY_GameWorld.rptItem, needSpace)
- if needSpace > packSpace:
- PlayerControl.NotifyCode(curPlayer, "GeRen_chenxin_998371")
- return
-
- serverLimitCnt = ipyData.GetLimitCnt()
- if serverLimitCnt > 0:
- if curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_LvAwardQueryState) == 1:
- #已经在查询中, 不重复查询
- GameWorld.DebugLog("已经在查询中, 不重复查询 awardID=%s" % awardID)
- return
- cmdStr = '%s' % ([awardID, serverLimitCnt, getLV])
- GameWorld.GetPlayerManager().GameServer_QueryPlayerResult(curPlayer.GetID(), 0, 0,
- "GetPlayerLVAward", cmdStr, len(cmdStr))
- #设置状态查询中
- curPlayer.SetDict(ChConfig.Def_PlayerKey_LvAwardQueryState, 1)
- return
-
- # 给物品
- GiveLVAward(curPlayer, awardID, itemList, hasVIPAward)
- return
-
-def GiveLVAward(curPlayer, awardID, itemList=[], hasVIPAward=False):
- if not itemList:
- ipyData = IpyGameDataPY.GetIpyGameData('LVAward', awardID)
- job = curPlayer.GetJob()
- awardDict = ipyData.GetReward()
- itemList = awardDict[str(job)]
-
- # 给物品
- for itemID, itemCount in itemList:
- ItemControler.GivePlayerItem(curPlayer, itemID, itemCount, 0, [IPY_GameWorld.rptItem])
- ItemControler.NotifyGiveAwardInfo(curPlayer, itemList, "LVAward")
-
- # 更新已领取成功标记
- awardMark = pow(2, awardID - 1)
- awardInfo = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_LVAwardGetRecord, 0,
- ChConfig.Def_PDictType_LVAward)
- vipAwardInfo = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_LVAwardVIPGetRecord, 0,
- ChConfig.Def_PDictType_LVAward)
- PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_LVAwardGetRecord, awardInfo | awardMark, ChConfig.Def_PDictType_LVAward)
- if hasVIPAward:
- PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_LVAwardVIPGetRecord, vipAwardInfo | awardMark, ChConfig.Def_PDictType_LVAward)
- # 通知客户端
- Sync_LVAwardGetRecordInfo(curPlayer)
-
- # 记录领取事件
- DataRecordPack.DR_LVAward(curPlayer, awardID)
- return
-
-## 通知等级奖励领取记录信息
-# @param None
-# @return None
-def Sync_LVAwardGetRecordInfo(curPlayer):
- sendPack = ChPyNetSendPack.tagMCPlayerLVAwardGetRecord()
- sendPack.Clear()
- sendPack.LVAwardGetRecord = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_LVAwardGetRecord, 0,
- ChConfig.Def_PDictType_LVAward)
- sendPack.VIPAwardRecord = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_LVAwardVIPGetRecord, 0,
- ChConfig.Def_PDictType_LVAward)
- NetPackCommon.SendFakePack(curPlayer, sendPack)
- return
-
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerLoginDayAward.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerLoginDayAward.py
deleted file mode 100644
index 71df261..0000000
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerLoginDayAward.py
+++ /dev/null
@@ -1,113 +0,0 @@
-#!/usr/bin/python
-# -*- coding: GBK -*-
-#-------------------------------------------------------------------------------
-#
-#-------------------------------------------------------------------------------
-#
-##@package PlayerLoginDayAward
-#
-# @todo: 累计登陆礼
-# @author xdh
-# @date 2018-03-05 20:30
-# @version 1.0
-#
-# 详细描述:
-#"""Version = 2018-03-05 20:30"""
-#------------------------------------------------------------------------------
-
-import ChConfig
-import GameWorld
-import NetPackCommon
-import ChPyNetSendPack
-import ItemCommon
-import IPY_GameWorld
-import PlayerControl
-import ItemControler
-import DataRecordPack
-import IpyGameDataPY
-
-
-## onday添加累计登陆天数
-# @param curPlayer
-# @return None
-def NotePlayerLoginDayCnt(curPlayer):
- cnt = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_LoginDayCnt) + 1
- PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_LoginDayCnt, cnt)
-
- NotifyPlayerLoginDayAward(curPlayer)
- return
-
-
-
-## 登陆通知累计奖励信息
-# @param curPlayer
-# @return None
-def OnLoginNotifyLoginDayAward(curPlayer):
- NotifyPlayerLoginDayAward(curPlayer)
- return
-
-
-## 通知累计登陆信息
-# @param curPlayer
-# @return None
-def NotifyPlayerLoginDayAward(curPlayer):
- sendPack = ChPyNetSendPack.tagMCTotalLoginDayCntInfo()
- sendPack.Clear()
- sendPack.DayCnt = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_LoginDayCnt)
- sendPack.AwardInfo = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_LoginDayAward)
-
- #通知客户端时间
- NetPackCommon.SendFakePack(curPlayer, sendPack)
- return
-
-
-## 领取累计登陆奖励
-# @param curPlayer
-# @return None
-def GetTotalLoginDayAward(index, clientPack, tick):
- curPlayer = GameWorld.GetPlayerManager().GetPlayerByIndex(index)
- # 第一天为1
- cnt = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_LoginDayCnt)
-
- index = clientPack.Index
- if index > cnt:
- #登陆次数不够
- return
-
- awardInfo = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_LoginDayAward)
- awardMark = pow(2, index-1)
- if awardInfo & awardMark:
- #已领取
- return
-
- ipyData = IpyGameDataPY.GetIpyGameData('LoginDayAward', index)
- if not ipyData:
- return
- job = curPlayer.GetJob()
- awardDict = ipyData.GetReward()
- if str(job) not in awardDict:
- return
- itemList = awardDict[str(job)]
-
- # 检查背包
- needSpace = len(itemList)
- packSpace = ItemCommon.GetItemPackSpace(curPlayer, IPY_GameWorld.rptItem, needSpace)
- if needSpace > packSpace:
- PlayerControl.NotifyCode(curPlayer, "GeRen_chenxin_998371")
- return
-
- # 给物品
- for itemID, itemCount in itemList:
- ItemControler.GivePlayerItem(curPlayer, itemID, itemCount, 0, [IPY_GameWorld.rptItem])
- ItemControler.NotifyGiveAwardInfo(curPlayer, itemList, "LoginDayAward")
-
- PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_LoginDayAward, awardInfo | awardMark)
-
-
- # 记录领取事件
- DataRecordPack.DR_LoginDayAward(curPlayer, index)
-
- NotifyPlayerLoginDayAward(curPlayer)
- return
-
-
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ShareDefine.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ShareDefine.py
index e0fb6cb..aa92533 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ShareDefine.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ShareDefine.py
@@ -225,12 +225,9 @@
OperationActionName_FlashSale = "ActFlashSale" # 限时抢购活动
OperationActionName_WishingWell = "ActWishingWell" # 许愿池活动
OperationActionName_TotalRecharge = "ActTotalRecharge" # 累计充值活动
-OperationActionName_LoginAward = "ActLoginAward" # 登录奖励活动
OperationActionName_CollectWords = "ActCollectWords" # 集字活动
OperationActionName_LuckyTreasure = "ActLuckyTreasure" # 幸运鉴宝活动
OperationActionName_GrowupBuy = "ActGrowupBuy" # 成长必买活动
-OperationActionName_FeastLogin = "ActFeastLogin" # 节日登录活动
-OperationActionName_FeastWish = "ActFeastWish" # 节日祝福活动
OperationActionName_ManyDayRecharge = "ActManyDayRecharge" # 多日连充活动
OperationActionName_SingleRecharge = "ActSingleRecharge" # 单笔累充活动
OperationActionName_Turntable = "ActTurntable" # 转盘活动
@@ -244,8 +241,6 @@
##节日活动类型列表 - 该类型无视开服天,日期到了就开启
#FeastOperationActionNameList = [OperationActionName_GrowupBuy,
-# OperationActionName_FeastLogin,
-# OperationActionName_FeastWish,
# ]
##所有的运营活动列表,含节日活动
#OperationActionNameList = [OperationActionName_ExpRate,
@@ -274,8 +269,6 @@
# OperationActionName_DailyGiftbag, OperationActionName_GrowupBuy,
# OperationActionName_Turntable,
# OperationActionName_CollectWords,
-# OperationActionName_FeastLogin,
-# OperationActionName_FeastWish,
# OperationActionName_ManyDayRecharge, OperationActionName_SingleRecharge,
# OperationActionName_GodGift,
# ]
@@ -856,7 +849,7 @@
Def_UniversalGameRecType_Reward, # 通用奖励表(TopBar)14
Def_UniversalGameRecType_ArenaBattleRecord, # 竞技场玩家挑战记录 15
Def_UniversalGameRecType_CrossActInfo, # 跨服运营活动信息记录 16
- Def_UniversalGameRecType_FeastWish, #节日祝福大奖记录17
+ Def_UniversalGameRecType_17,
Def_UniversalGameRecType_ActWorldLVLimitInfo, # 运营活动世界等级限制开启信息 18
Def_UniversalGameRecType_19,
Def_UniversalGameRecType_20,
--
Gitblit v1.8.0