From 498a2f1f681cf7519532da0deff6ab02dd13564b Mon Sep 17 00:00:00 2001
From: xdh <xiefantasy@qq.com>
Date: 星期三, 09 一月 2019 11:37:03 +0800
Subject: [PATCH] 5768 【后端】【1.5】新增8-14天活动功能(制作成7日运营活动的模板)
---
ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py | 47 ++++
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_FamilyWar.py | 3
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_IceLode.py | 3
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_ChaosDemon.py | 3
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_BZZD.py | 2
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventSrc/QuestRunner.py | 2
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_KirinHome.py | 3
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py | 70 ++++++
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py | 11
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerCoin.py | 2
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_TrialTower.py | 2
PySysDB/PySysDBPY.h | 26 ++
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_ElderBattlefield.py | 2
ServerPython/CoreServerGroup/GameServer/Script/ShareDefine.py | 4
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_QueenRelics.py | 2
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ShareDefine.py | 4
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_FamilyInvade.py | 2
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_SealDemon.py | 2
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerWeekParty.py | 374 ++++++++++++++++++++++++++++++++++
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FamilyRobBoss.py | 2
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFlashGiftbag.py | 4
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerCrossRealmPK.py | 2
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCCommon.py | 4
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_GodArea.py | 2
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_XMZZ.py | 3
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerEventCounter.py | 4
PySysDB/PySysDBG.h | 16 +
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py | 36 +++
28 files changed, 627 insertions(+), 10 deletions(-)
diff --git a/PySysDB/PySysDBG.h b/PySysDB/PySysDBG.h
index 617ab5c..3fd8260 100644
--- a/PySysDB/PySysDBG.h
+++ b/PySysDB/PySysDBG.h
@@ -470,3 +470,19 @@
list MatchRange; //可匹配到的玩家段位区间 [从段位A, 到段位B],配[]代表只匹配本段位的
};
+//周狂欢活动时间表
+
+struct tagActWeekParty
+{
+ DWORD _CfgID; //配置ID
+ char ActMark; //活动组标记
+ list PlatformList; //活动平台列表["平台A", "平台A", ...],配[]代表所有
+ list ServerIDList; //服务器ID列表
+ char StartDate; //开启日期
+ char EndDate; //结束日期
+ BYTE IsDayReset; //是否每天重置
+ BYTE ResetType; //重置类型,0-0点重置;1-5点重置
+ dict NotifyInfoStart; //全服提示信息 - 相对开始时间
+ dict NotifyInfoEnd; //全服提示信息 - 相对结束时间
+ WORD LVLimit; //限制等级
+};
\ No newline at end of file
diff --git a/PySysDB/PySysDBPY.h b/PySysDB/PySysDBPY.h
index b97f526..03f35a6 100644
--- a/PySysDB/PySysDBPY.h
+++ b/PySysDB/PySysDBPY.h
@@ -1514,4 +1514,30 @@
DWORD _LV; //等级
BYTE NeedExp; //升级所需经验
dict AddAttr; //属性
+};
+
+//周狂欢活动时间表
+
+struct tagActWeekParty
+{
+ DWORD _CfgID; //配置ID
+ char StartDate; //开启日期
+ char EndDate; //结束日期
+ BYTE IsDayReset; //是否每天重置
+ BYTE ResetType; //重置类型,0-0点重置;1-5点重置
+ WORD LVLimit; //限制等级
+ list TemplateID; //模板编号
+ dict PointAward; //总积分奖励
+};
+
+//周狂欢表
+
+struct tagWeekParty
+{
+ BYTE _TemplateID; //模板ID
+ BYTE ActionType; //活动条目ID
+ DWORD TotalTimes; //可完成的总次数,0表示不限次数
+ WORD SingleTimes; //单次领奖需要的次数
+ list Reward; //奖励物品
+ WORD Point; //积分
};
\ No newline at end of file
diff --git a/ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py b/ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py
index f717018..e3da4dc 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py
@@ -396,6 +396,20 @@
("WORD", "LVUpScore", 0),
("list", "MatchRange", 0),
),
+
+ "ActWeekParty":(
+ ("DWORD", "CfgID", 1),
+ ("char", "ActMark", 0),
+ ("list", "PlatformList", 0),
+ ("list", "ServerIDList", 0),
+ ("char", "StartDate", 0),
+ ("char", "EndDate", 0),
+ ("BYTE", "IsDayReset", 0),
+ ("BYTE", "ResetType", 0),
+ ("dict", "NotifyInfoStart", 0),
+ ("dict", "NotifyInfoEnd", 0),
+ ("WORD", "LVLimit", 0),
+ ),
}
@@ -1163,6 +1177,35 @@
def GetDanLV(self): return self.DanLV # 段位等级
def GetLVUpScore(self): return self.LVUpScore # 升段位所需积分
def GetMatchRange(self): return self.MatchRange # 可匹配到的玩家段位区间 [从段位A, 到段位B],配[]代表只匹配本段位的
+
+# 周狂欢活动时间表
+class IPY_ActWeekParty():
+
+ def __init__(self):
+ self.CfgID = 0
+ self.ActMark = ""
+ self.PlatformList = []
+ self.ServerIDList = []
+ self.StartDate = ""
+ self.EndDate = ""
+ self.IsDayReset = 0
+ self.ResetType = 0
+ self.NotifyInfoStart = {}
+ self.NotifyInfoEnd = {}
+ self.LVLimit = 0
+ return
+
+ def GetCfgID(self): return self.CfgID # 配置ID
+ def GetActMark(self): return self.ActMark # 活动组标记
+ def GetPlatformList(self): return self.PlatformList # 活动平台列表["平台A", "平台A", ...],配[]代表所有
+ def GetServerIDList(self): return self.ServerIDList # 服务器ID列表
+ def GetStartDate(self): return self.StartDate # 开启日期
+ def GetEndDate(self): return self.EndDate # 结束日期
+ def GetIsDayReset(self): return self.IsDayReset # 是否每天重置
+ def GetResetType(self): return self.ResetType # 重置类型,0-0点重置;1-5点重置
+ def GetNotifyInfoStart(self): return self.NotifyInfoStart # 全服提示信息 - 相对开始时间
+ def GetNotifyInfoEnd(self): return self.NotifyInfoEnd # 全服提示信息 - 相对结束时间
+ def GetLVLimit(self): return self.LVLimit # 限制等级
def Log(msg, playerID=0, par=0):
@@ -1258,6 +1301,8 @@
self.ipyCrossRealmPKSeasonLen = len(self.ipyCrossRealmPKSeasonCache)
self.ipyCrossRealmPKDanCache = self.__LoadFileData("CrossRealmPKDan", IPY_CrossRealmPKDan)
self.ipyCrossRealmPKDanLen = len(self.ipyCrossRealmPKDanCache)
+ self.ipyActWeekPartyCache = self.__LoadFileData("ActWeekParty", IPY_ActWeekParty)
+ self.ipyActWeekPartyLen = len(self.ipyActWeekPartyCache)
Log("IPY_FuncConfig count=%s" % len(self.ipyFuncConfigDict))
Log("IPY_DataMgr InitOK!")
return
@@ -1494,6 +1539,8 @@
def GetCrossRealmPKSeasonByIndex(self, index): return self.ipyCrossRealmPKSeasonCache[index]
def GetCrossRealmPKDanCount(self): return self.ipyCrossRealmPKDanLen
def GetCrossRealmPKDanByIndex(self, index): return self.ipyCrossRealmPKDanCache[index]
+ def GetActWeekPartyCount(self): return self.ipyActWeekPartyLen
+ def GetActWeekPartyByIndex(self, index): return self.ipyActWeekPartyCache[index]
IPYData = IPY_DataMgr()
def IPY_Data(): return IPYData
diff --git a/ServerPython/CoreServerGroup/GameServer/Script/ShareDefine.py b/ServerPython/CoreServerGroup/GameServer/Script/ShareDefine.py
index 62a0a18..b2a89aa 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/ShareDefine.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/ShareDefine.py
@@ -228,11 +228,13 @@
OperationActionName_FlashSale = "ActFlashSale" # 限时抢购活动
OperationActionName_WishingWell = "ActWishingWell" # 许愿池活动
OperationActionName_TotalRecharge = "ActTotalRecharge" # 累计充值活动
+OperationActionName_WeekParty = "ActWeekParty" # 周狂欢活动
OperationActionNameList = [OperationActionName_ExpRate, OperationActionName_CostRebate,
OperationActionName_BossReborn,OperationActionName_SpringSale,
OperationActionName_FlashGiftbag, OperationActionName_FairyCeremony,
OperationActionName_RealmPoint, OperationActionName_FlashSale,
- OperationActionName_WishingWell, OperationActionName_TotalRecharge]
+ OperationActionName_WishingWell, OperationActionName_TotalRecharge,
+ OperationActionName_WeekParty, ]
#需要记录开启活动时的世界等级的运营活动
NeedWorldLVOperationActNameList = [OperationActionName_FairyCeremony, OperationActionName_WishingWell]
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py
index f5f6b9d..b4f5ec6 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py
@@ -3260,7 +3260,7 @@
Def_PDictType_LVAward, # 等级奖励领取信息记录5
Def_PDictType_GoldGift, # 充值豪礼
Def_PDictType_OpenServerCampaign, # 开服活动
-Def_PDictType_8,
+Def_PDictType_WeekParty,
Def_PDictType_Family_Contribution, # 战盟贡献度
Def_PDictType_10, # 10
Def_PDictType_OfficialRank, # 官爵
@@ -3713,6 +3713,13 @@
Def_PDict_HelpBattleCheckInCount = "HelpBattleCheckInCount" #助战登记次数, 登记次数*10+今日是否登记过
Def_PDict_HelpBattleTotalCount = "HelpBattleTotalCount" #累计助战次数
Def_PDict_FBRealHelpCount = "FBRealHelpCount_%s" #副本真实助战次数,仅针对真实进去打的副本,参数mapID
+
+#周狂欢
+Def_PDict_WeekPartyID = "WeekPartyID" # 玩家身上的BOSS复活活动ID,唯一标识,取活动开始日期time值
+Def_PDict_WeekPartyCurTimes = "WeekPartyCurTimes_%s_%s" #当前完成次数 参数(第X天,模板ID)
+Def_PDict_WeekPartyGotTimes = "WeekPartyGotTimes_%s_%s" #当前已领次数 参数(第X天,模板ID)
+Def_PDict_WeekPartyAwardRecord = "WeekPartyAwardRecord_%s" #积分领奖记录 参数(第X天)
+Def_PDict_WeekPartyPoint = "WeekPartyPoint_%s" #当天积分 参数(第X天)
#-------------------------------------------------------------------------------
#类型 Def_PDictType_OnlinePrize
Def_PDict1_OnlinePrizeCnt = "OnlinePrizeCnt" # 新手在线已领取奖励次数
@@ -5125,7 +5132,9 @@
Def_RewardType_OpenFunc, # 功能开启奖励17
Def_RewardType_TotalRecharge, # 累计充值奖励18
Def_RewardType_IceLodeStar, # 冰晶矿脉星级奖励19
-)= range(20)
+Def_RewardType_WeekPartyAct, # 领取周狂欢活动奖励20
+Def_RewardType_WeekPartyPoint, # 领取周狂欢积分奖励21
+)= range(22)
#boss复活相关活动定义
@@ -5162,6 +5171,29 @@
Def_PPAct_VIPBoss, #vipBOSS 13
) = range(1, 13+1)
+#周狂欢活动定义
+WeekPartyActIDList = (
+Def_WPAct_RunTask, #师门悬赏 1
+Def_WPAct_XJMJ, #仙境秘境 2
+Def_WPAct_KirinHome, #麒麟之府 3
+Def_WPAct_QueenRelices, #娲皇遗迹 4
+Def_WPAct_IceLode, #冰晶矿脉 5
+Def_WPAct_Tower, #符印塔 6
+Def_WPAct_WorldBOSS, #世界boss 7
+Def_WPAct_BOSSHome, #boss之家 8
+Def_WPAct_FMT, #封魔坛 9
+Def_WPAct_GodArea, #古神禁地 10
+Def_WPAct_CrossPK, #跨服pk 11
+Def_WPAct_Recharge, #充值X仙玉 12
+Def_WPAct_GiftBag, #购买限时礼包 13
+Def_WPAct_FamilyRobBoss, #boss争夺战 14
+Def_WPAct_SWRH, #守卫人皇 15
+Def_WPAct_ElderBattlefield, #上古战场 16
+Def_WPAct_ChaosDemon, #混乱妖域 17
+Def_WPAct_XMZZ, #仙魔之争 18
+Def_WPAct_FamilyWar, #仙魔联赛 19
+) = range(1, 19+1)
+
# 套装枚举,普通套装,强化套装
(EquipSuitType_Normal,
EquipSuitType_Plus,
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventSrc/QuestRunner.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventSrc/QuestRunner.py
index 08baab8..c0b8d23 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventSrc/QuestRunner.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventSrc/QuestRunner.py
@@ -59,6 +59,7 @@
import PlayerMagicWeapon
import PlayerBossReborn
import PlayerFairyCeremony
+import PlayerWeekParty
import PlayerHorse
import FBCommon
import PyGameData
@@ -5240,6 +5241,7 @@
PlayerSuccess.DoAddSuccessProgress(curPlayer, ShareDefine.SuccType_TaskCRun, addCnt)
PlayerBossReborn.AddBossRebornActionCnt(curPlayer, ChConfig.Def_BRAct_RunTask, addCnt)
PlayerFairyCeremony.AddFCPartyActionCnt(curPlayer, ChConfig.Def_PPAct_RunTask, addCnt)
+ PlayerWeekParty.AddWeekPartyActionCnt(curPlayer, ChConfig.Def_WPAct_RunTask, addCnt)
elif missionType == QuestCommon.Def_Mission_Type_RunFamily:
PlayerActivity.AddDailyActionFinishCnt(curPlayer, ShareDefine.DailyActionID_FamilyRunMission, addCnt)
PlayerFamily.AddFamilyActivity(curPlayer, ShareDefine.FamilyActive_Task, addCnt)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_BZZD.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_BZZD.py
index 97dfced..28778dd 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_BZZD.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_BZZD.py
@@ -32,6 +32,7 @@
import PlayerSuccess
import PlayerBossReborn
import PlayerFairyCeremony
+import PlayerWeekParty
import ItemControler
import GameFuncComm
import SkillShell
@@ -185,6 +186,7 @@
FBCommon.AddEnterFBCount(curPlayer, ChConfig.Def_FBMapID_BZZD)
PlayerBossReborn.AddBossRebornActionCnt(curPlayer, ChConfig.Def_BRAct_XJMJ, 1)
PlayerFairyCeremony.AddFCPartyActionCnt(curPlayer, ChConfig.Def_PPAct_XJMJ, 1)
+ PlayerWeekParty.AddWeekPartyActionCnt(curPlayer, ChConfig.Def_WPAct_XJMJ, 1)
FBCommon.UpdateFBEnterTick(curPlayer)
gameFB.SetPlayerGameFBDict(playerID, FBPlayerDict_EnterLV, playerLV)
PyGameData.g_bzzdPlayerKillNPCCntDict.pop(playerID, 0)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_ChaosDemon.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_ChaosDemon.py
index f46c5f0..e25fdf0 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_ChaosDemon.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_ChaosDemon.py
@@ -32,6 +32,7 @@
import PlayerSuccess
import FBHelpBattle
import EventReport
+import PlayerWeekParty
import math
@@ -162,7 +163,7 @@
FBCommon.AddEnterFBCount(curPlayer, mapID, 1)
joinType = FBCommon.GetFBJoinType(curPlayer, isHelpFight)
EventReport.WriteEvent_FB(curPlayer, ChConfig.Def_FBMapID_ChaosDemon, 0, ChConfig.CME_Log_Start, joinType)
-
+ PlayerWeekParty.AddWeekPartyActionCnt(curPlayer, ChConfig.Def_WPAct_ChaosDemon, 1)
fbStep = gameFB.GetFBStep()
if fbStep <= FB_Step_Prepare:
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_ElderBattlefield.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_ElderBattlefield.py
index 0c48d53..09ce446 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_ElderBattlefield.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_ElderBattlefield.py
@@ -35,6 +35,7 @@
import SkillShell
import EventReport
import SkillCommon
+import PlayerWeekParty
import random
import time
@@ -170,6 +171,7 @@
GameWorld.GetGameWorld().SetGameWorldDict(FBPlayerDict_TotalExp % playerID, 0)
GameWorld.GetGameWorld().SetGameWorldDict(FBPlayerDict_TotalExpPoint % playerID, 0)
EventReport.WriteEvent_FB(curPlayer, ChConfig.Def_FBMapID_ElderBattlefield, 0, ChConfig.CME_Log_Start)
+ PlayerWeekParty.AddWeekPartyActionCnt(curPlayer, ChConfig.Def_WPAct_ElderBattlefield, 1)
else:
rebornBuffLV = GameWorld.GetGameFB().GetPlayerGameFBDictByKey(playerID, FBPlayerDict_RebornBuffLV)
__DoAddRebornBuff(curPlayer, rebornBuffLV, tick)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_FamilyInvade.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_FamilyInvade.py
index 1a168a6..964418c 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_FamilyInvade.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_FamilyInvade.py
@@ -24,6 +24,7 @@
import GameWorld
import ChConfig
import GameWorldProcess
+import PlayerWeekParty
import PyGameData
import ShareDefine
import EventReport
@@ -173,6 +174,7 @@
gameWorld.SetGameWorldDict(GameFBDict_LastEnterFbDay % playerID, openServerDay + 1)
FBCommon.AddEnterFBCount(curPlayer, ChConfig.Def_FBMapID_FamilyInvade)
EventReport.WriteEvent_FB(curPlayer, ChConfig.Def_FBMapID_FamilyInvade, 0, ChConfig.CME_Log_Start)
+ PlayerWeekParty.AddWeekPartyActionCnt(curPlayer, ChConfig.Def_WPAct_SWRH, 1)
if familyID in PyGameData.g_swrhPlayerIDDict:
if playerID not in PyGameData.g_swrhPlayerIDDict[familyID]:
PyGameData.g_swrhPlayerIDDict[familyID].append(playerID)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_FamilyWar.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_FamilyWar.py
index 8a77571..fd05d57 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_FamilyWar.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_FamilyWar.py
@@ -28,6 +28,7 @@
import ChPyNetSendPack
import GameWorldProcess
import PlayerDienstgrad
+import PlayerWeekParty
import IpyGameDataPY
import PlayerFamily
import NetPackCommon
@@ -521,7 +522,7 @@
if not FBCommon.GetHadDelTicket(curPlayer):
FBCommon.SetHadDelTicket(curPlayer)
FBCommon.AddEnterFBCount(curPlayer, ChConfig.Def_FBMapID_FamilyWar)
-
+ PlayerWeekParty.AddWeekPartyActionCnt(curPlayer, ChConfig.Def_WPAct_FamilyWar, 1)
isFinalMatch = gameFB.GetGameFBDictByKey(GameFBDict_IsFinalMatch)
roundNum = gameFB.GetGameFBDictByKey(GameFBDict_RoundNum)
groupID = gameFB.GetGameFBDictByKey(GameFBDict_GroupID)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_GodArea.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_GodArea.py
index 7612f74..628fdde 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_GodArea.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_GodArea.py
@@ -23,6 +23,7 @@
import PlayerControl
import PlayerBossReborn
import PlayerFairyCeremony
+import PlayerWeekParty
import EventReport
import time
@@ -143,6 +144,7 @@
EventReport.WriteEvent_FB(curPlayer, ChConfig.Def_FBMapID_GodArea, 0, ChConfig.CME_Log_Start)
PlayerBossReborn.AddBossRebornActionCnt(curPlayer, ChConfig.Def_BRAct_GodArea, 1)
PlayerFairyCeremony.AddFCPartyActionCnt(curPlayer, ChConfig.Def_PPAct_GodArea, 1)
+ PlayerWeekParty.AddWeekPartyActionCnt(curPlayer, ChConfig.Def_WPAct_GodArea, 1)
elif __IsAngerFull(curPlayer):
#怒气已满,退出副本
GameWorld.DebugLog(" 副本里掉线重上 怒气已满,退出副本")
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_IceLode.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_IceLode.py
index db95d49..cf27561 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_IceLode.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_IceLode.py
@@ -33,6 +33,7 @@
import ChPyNetSendPack
import NetPackCommon
import PlayerSuccess
+import PlayerWeekParty
import BuffSkill
import random
@@ -563,6 +564,7 @@
FBCommon.Sync_FBPlayerFBInfoData(curPlayer, mapID) # 同步信息
if not lastStar and not isInFBOnDay: #每日活动
PlayerActivity.AddDailyActionFinishCnt(curPlayer, ShareDefine.DailyActionID_IceLode)
+ PlayerWeekParty.AddWeekPartyActionCnt(curPlayer, ChConfig.Def_WPAct_IceLode, 1)
if isInFBOnDay: #在副本里过天,副本结束后再补发星级奖励
CheckIceLodeStarAwardMail(curPlayer)
@@ -678,6 +680,7 @@
addCnt += 1
GameWorld.SetDictValueByBit(curPlayer, ChConfig.Def_Player_Dict_PlayerFBStar_MapId, lineid, 3, False, [mapID])
PlayerActivity.AddDailyActionFinishCnt(curPlayer, ShareDefine.DailyActionID_IceLode, addCnt)
+ PlayerWeekParty.AddWeekPartyActionCnt(curPlayer, ChConfig.Def_WPAct_IceLode, addCnt)
PlayerSuccess.DoAddSuccessProgress(curPlayer, ShareDefine.SuccType_IceLode, len(lineList))
FBCommon.Sync_FBPlayerFBInfoData(curPlayer, mapID) # 同步信息
# npcCountDict = {}
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_KirinHome.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_KirinHome.py
index 543206d..0d70a36 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_KirinHome.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_KirinHome.py
@@ -27,6 +27,7 @@
import PlayerSuccess
import PlayerControl
import PlayerBossReborn
+import PlayerWeekParty
import EventShell
import EventReport
@@ -389,6 +390,7 @@
PlayerSuccess.DoAddSuccessProgress(curPlayer, ShareDefine.SuccType_KirinHome, 1, [lineID+1])
PlayerSuccess.DoAddSuccessProgress(curPlayer, ShareDefine.SuccType_KirinHomeEx, 1)
PlayerBossReborn.AddBossRebornActionCnt(curPlayer, ChConfig.Def_BRAct_KirinHome, 1)
+ PlayerWeekParty.AddWeekPartyActionCnt(curPlayer, ChConfig.Def_WPAct_KirinHome, 1)
EventShell.EventRespons_FBEvent(curPlayer, "kirinhome_%s" % (lineID+1))
EventShell.EventRespons_FBEvent(curPlayer, "kirinhome_0")
@@ -490,6 +492,7 @@
PlayerSuccess.DoAddSuccessProgress(curPlayer, ShareDefine.SuccType_KirinHome, sweepCnt, [lineID])
PlayerSuccess.DoAddSuccessProgress(curPlayer, ShareDefine.SuccType_KirinHomeEx, 1)
PlayerBossReborn.AddBossRebornActionCnt(curPlayer, ChConfig.Def_BRAct_KirinHome, sweepCnt)
+ PlayerWeekParty.AddWeekPartyActionCnt(curPlayer, ChConfig.Def_WPAct_KirinHome, sweepCnt)
for _ in xrange(sweepCnt):
EventReport.WriteEvent_FB(curPlayer, ChConfig.Def_FBMapID_KirinHome, 0, ChConfig.CME_Log_Start)
GameWorld.DebugLog("扫荡奖励: 次数=%s,totalExp=%s,totalMoney=%s,jsonItemList=%s" % (sweepCnt, totalExp, totalMoney, jsonItemList))
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_QueenRelics.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_QueenRelics.py
index 38c0480..9fc1d3b 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_QueenRelics.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_QueenRelics.py
@@ -33,6 +33,7 @@
import ChPlayer
import FBHelpBattle
import IpyGameDataPY
+import PlayerWeekParty
#阶段时间
@@ -520,6 +521,7 @@
else:
GameWorld.DebugLog("副本中过天,不增加挑战次数!", playerID)
PlayerSuccess.DoAddSuccessProgress(curPlayer, ShareDefine.SuccType_QueenRelicsEx, 1)
+ PlayerWeekParty.AddWeekPartyActionCnt(curPlayer, ChConfig.Def_WPAct_QueenRelices, 1)
# 不可再挑战下一关了
if not nextLineID:
curPlayer.Sync_TimeTick(IPY_GameWorld.tttLeaveMap, 0, fbLineTime[Def_LeaveTime] * 1000, True)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_SealDemon.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_SealDemon.py
index 17c5a8e..7226ad5 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_SealDemon.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_SealDemon.py
@@ -36,6 +36,7 @@
import PlayerMagicWeapon
import PlayerBossReborn
import PlayerFairyCeremony
+import PlayerWeekParty
import EventReport
FBDict_StartTick = 'FBDict_StartTick%s' #开始时间
@@ -550,6 +551,7 @@
PlayerMagicWeapon.SetMWPrivilegeData(curPlayer, ChConfig.MWPrivilege_SealDemonAddAttr, addCnt, True)
PlayerBossReborn.AddBossRebornActionCnt(curPlayer, ChConfig.Def_BRAct_FMT, addCnt)
PlayerFairyCeremony.AddFCPartyActionCnt(curPlayer, ChConfig.Def_PPAct_FMT, addCnt)
+ PlayerWeekParty.AddWeekPartyActionCnt(curPlayer, ChConfig.Def_WPAct_FMT, addCnt)
return prizeItemList
def OnPickUpItem(curPlayer, curItem, tick):
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_TrialTower.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_TrialTower.py
index 7611ce3..9d45cd4 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_TrialTower.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_TrialTower.py
@@ -34,6 +34,7 @@
import PlayerSuccess
import PlayerActivity
import PlayerBillboard
+import PlayerWeekParty
import EventReport
import random
@@ -103,6 +104,7 @@
#通关符印塔成就
PlayerSuccess.DoAddSuccessProgress(curPlayer, ShareDefine.SuccType_PassRuneTower, 1, [passlv])
PlayerBillboard.UpdateRuneTowerBillboard(curPlayer)
+ PlayerWeekParty.AddWeekPartyActionCnt(curPlayer, ChConfig.Def_WPAct_Tower, passlv, False)
GameWorld.DebugLog(' 更新符印塔已通关数 %s' % passlv)
return
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_XMZZ.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_XMZZ.py
index 1f31053..0d9bbe8 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_XMZZ.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_XMZZ.py
@@ -27,6 +27,7 @@
import ItemCommon
import FormulaControl
import NPCCustomRefresh
+import PlayerWeekParty
import PlayerSuccess
import PyGameData
import EventReport
@@ -137,7 +138,7 @@
PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_XMZZLastStartTime, curtime)
#FBCommon.SetFBStep(FB_Step_Prepare, tick)
#PrepareXMZZPK(curPlayer, tick)
-
+ PlayerWeekParty.AddWeekPartyActionCnt(curPlayer, ChConfig.Def_WPAct_XMZZ, 1)
msgInfo = str([1]) # 是否刚开始
GameWorld.GetPlayerManager().GameServer_QueryPlayerResult(curPlayer.GetID(), 0, 0, 'XMZZStartFight', msgInfo, len(msgInfo))
curPlayer.SetHP(curPlayer.GetMaxHP())
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FamilyRobBoss.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FamilyRobBoss.py
index d02f52a..773a247 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FamilyRobBoss.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FamilyRobBoss.py
@@ -21,6 +21,7 @@
import NetPackCommon
import ChPyNetSendPack
import PlayerActivity
+import PlayerWeekParty
import PlayerControl
import IpyGameDataPY
import SkillCommon
@@ -200,6 +201,7 @@
if hurtType == FamilyHurtObjType_Player and hurtObj.hurtValue == 0 and hurtValue:
if IsHorsePetRobBoss(curBoss.GetNPCID()):
PlayerActivity.AddDailyActionFinishCnt(curPlayer, ShareDefine.DailyActionID_FamilyRobBoss)
+ PlayerWeekParty.AddWeekPartyActionCnt(curPlayer, ChConfig.Def_WPAct_FamilyRobBoss, 1)
hurtObj.hurtValue += hurtValue
GameWorld.DebugLog(" 更新伤血%s: hurtType=%s,hurtID=%s,hurtValue=%s"
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
index 2825e23..1fe83aa 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
@@ -1191,6 +1191,26 @@
("BYTE", "NeedExp", 0),
("dict", "AddAttr", 0),
),
+
+ "ActWeekParty":(
+ ("DWORD", "CfgID", 1),
+ ("char", "StartDate", 0),
+ ("char", "EndDate", 0),
+ ("BYTE", "IsDayReset", 0),
+ ("BYTE", "ResetType", 0),
+ ("WORD", "LVLimit", 0),
+ ("list", "TemplateID", 0),
+ ("dict", "PointAward", 0),
+ ),
+
+ "WeekParty":(
+ ("BYTE", "TemplateID", 1),
+ ("BYTE", "ActionType", 0),
+ ("DWORD", "TotalTimes", 0),
+ ("WORD", "SingleTimes", 0),
+ ("list", "Reward", 0),
+ ("WORD", "Point", 0),
+ ),
}
@@ -3626,6 +3646,48 @@
def GetLV(self): return self.LV # 等级
def GetNeedExp(self): return self.NeedExp # 升级所需经验
def GetAddAttr(self): return self.AddAttr # 属性
+
+# 周狂欢活动时间表
+class IPY_ActWeekParty():
+
+ def __init__(self):
+ self.CfgID = 0
+ self.StartDate = ""
+ self.EndDate = ""
+ self.IsDayReset = 0
+ self.ResetType = 0
+ self.LVLimit = 0
+ self.TemplateID = []
+ self.PointAward = {}
+ return
+
+ def GetCfgID(self): return self.CfgID # 配置ID
+ def GetStartDate(self): return self.StartDate # 开启日期
+ def GetEndDate(self): return self.EndDate # 结束日期
+ def GetIsDayReset(self): return self.IsDayReset # 是否每天重置
+ def GetResetType(self): return self.ResetType # 重置类型,0-0点重置;1-5点重置
+ def GetLVLimit(self): return self.LVLimit # 限制等级
+ def GetTemplateID(self): return self.TemplateID # 模板编号
+ def GetPointAward(self): return self.PointAward # 总积分奖励
+
+# 周狂欢表
+class IPY_WeekParty():
+
+ def __init__(self):
+ self.TemplateID = 0
+ self.ActionType = 0
+ self.TotalTimes = 0
+ self.SingleTimes = 0
+ self.Reward = []
+ self.Point = 0
+ return
+
+ def GetTemplateID(self): return self.TemplateID # 模板ID
+ def GetActionType(self): return self.ActionType # 活动条目ID
+ def GetTotalTimes(self): return self.TotalTimes # 可完成的总次数,0表示不限次数
+ def GetSingleTimes(self): return self.SingleTimes # 单次领奖需要的次数
+ def GetReward(self): return self.Reward # 奖励物品
+ def GetPoint(self): return self.Point # 积分
def Log(msg, playerID=0, par=0):
@@ -3877,6 +3939,10 @@
self.ipyCoatLen = len(self.ipyCoatCache)
self.ipyCoatChestUpCache = self.__LoadFileData("CoatChestUp", IPY_CoatChestUp)
self.ipyCoatChestUpLen = len(self.ipyCoatChestUpCache)
+ self.ipyActWeekPartyCache = self.__LoadFileData("ActWeekParty", IPY_ActWeekParty)
+ self.ipyActWeekPartyLen = len(self.ipyActWeekPartyCache)
+ self.ipyWeekPartyCache = self.__LoadFileData("WeekParty", IPY_WeekParty)
+ self.ipyWeekPartyLen = len(self.ipyWeekPartyCache)
Log("IPY_FuncConfig count=%s" % len(self.ipyFuncConfigDict))
Log("IPY_DataMgr InitOK!")
return
@@ -4269,6 +4335,10 @@
def GetCoatByIndex(self, index): return self.ipyCoatCache[index]
def GetCoatChestUpCount(self): return self.ipyCoatChestUpLen
def GetCoatChestUpByIndex(self, index): return self.ipyCoatChestUpCache[index]
+ def GetActWeekPartyCount(self): return self.ipyActWeekPartyLen
+ def GetActWeekPartyByIndex(self, index): return self.ipyActWeekPartyCache[index]
+ def GetWeekPartyCount(self): return self.ipyWeekPartyLen
+ def GetWeekPartyByIndex(self, index): return self.ipyWeekPartyCache[index]
IPYData = IPY_DataMgr()
def IPY_Data(): return IPYData
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCCommon.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCCommon.py
index 74b8512..1266f07 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCCommon.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCCommon.py
@@ -52,6 +52,7 @@
import PlayerMagicWeapon
import PlayerBossReborn
import PlayerFairyCeremony
+import PlayerWeekParty
import FamilyRobBoss
import IpyGameDataPY
import PyGameData
@@ -4974,6 +4975,7 @@
PlayerActivity.AddDailyActionFinishCnt(curPlayer, ShareDefine.DailyActionID_WorldBOSS)
PlayerBossReborn.AddBossRebornActionCnt(curPlayer, ChConfig.Def_BRAct_WorldBOSS, 1)
PlayerFairyCeremony.AddFCPartyActionCnt(curPlayer, ChConfig.Def_PPAct_WorldBoss, 1)
+ PlayerWeekParty.AddWeekPartyActionCnt(curPlayer, ChConfig.Def_WPAct_WorldBOSS, 1)
if ChConfig.IsGameBoss(curNPC) and mapID == ChConfig.Def_FBMapID_BossHome:
#BOSS之家
# BOSS之家BOSS击杀成就
@@ -4982,7 +4984,7 @@
PlayerActivity.AddDailyActionFinishCnt(curPlayer, ShareDefine.DailyActionID_BOSSHome)
PlayerBossReborn.AddBossRebornActionCnt(curPlayer, ChConfig.Def_BRAct_BOSSHome, 1)
PlayerFairyCeremony.AddFCPartyActionCnt(curPlayer, ChConfig.Def_PPAct_BossHome, 1)
-
+ PlayerWeekParty.AddWeekPartyActionCnt(curPlayer, ChConfig.Def_WPAct_BOSSHome, 1)
return
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 00674aa..118bec5 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py
@@ -78,6 +78,7 @@
import GameLogic_TrialTower
import GameLogic_FamilyWar
import PlayerBossReborn
+import PlayerWeekParty
import Operate_EquipWash
import PlayerTreasure
import GameLogic_GodArea
@@ -692,6 +693,8 @@
PlayerFreeGoods.OnLogin(curPlayer)
# BOSS复活活动
PlayerBossReborn.OnLogin(curPlayer)
+ # 周狂欢活动
+ PlayerWeekParty.OnLogin(curPlayer)
# 仙界盛典活动
PlayerFairyCeremony.OnLogin(curPlayer)
# 分支下载奖励记录通知
@@ -5312,7 +5315,13 @@
# 冰晶矿脉星级奖励
elif rewardType == ChConfig.Def_RewardType_IceLodeStar:
GameLogic_IceLode.GetIceLodeStarAward(curPlayer, dataEx)
-
+ # 领取周狂欢活动奖励
+ elif rewardType == ChConfig.Def_RewardType_WeekPartyAct:
+ PlayerWeekParty.GetWeekPartyActionAward(curPlayer, dataEx, dataExStr)
+ # 领取周狂欢积分奖励
+ elif rewardType == ChConfig.Def_RewardType_WeekPartyPoint:
+ PlayerWeekParty.GetWeekPartyPointAward(curPlayer, dataEx, dataExStr)
+
return
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerCoin.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerCoin.py
index 954cf21..711919b 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerCoin.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerCoin.py
@@ -47,6 +47,7 @@
import PlayerGoldGift
import PlayerActTotalRecharge
import OpenServerCampaign
+import PlayerWeekParty
import ItemCommon
import time
@@ -290,6 +291,7 @@
PlayerActTotalRecharge.AddTotalRechargeGold(curPlayer, orderCoin/100)
#开服活动
OpenServerCampaign.AddOpenServerCampaignRecordData(curPlayer, ShareDefine.Def_Campaign_Type_Recharge, orderCoin)
+ PlayerWeekParty.AddWeekPartyActionCnt(curPlayer, ChConfig.Def_WPAct_Recharge, addVIPExp)
GameWorld.Log("Billing: eventName=%s, %s" % (eventName, addDRDict), curPlayer.GetPlayerID())
return
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerCrossRealmPK.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerCrossRealmPK.py
index a0e5641..a2a665c 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerCrossRealmPK.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerCrossRealmPK.py
@@ -24,6 +24,7 @@
import CrossRealmPlayer
import FunctionNPCCommon
import DataRecordPack
+import PlayerWeekParty
import IPY_GameWorld
import ItemControler
import ItemCommon
@@ -308,6 +309,7 @@
PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_CrossPK_TodayWinCount, todayWinCount)
GameWorld.Log(" 增加今日已获胜次数: todayWinCount=%s" % todayWinCount, playerID)
PlayerActivity.AddDailyActionFinishCnt(curPlayer, ShareDefine.DailyActionID_CrossReamPK)
+ PlayerWeekParty.AddWeekPartyActionCnt(curPlayer, ChConfig.Def_WPAct_CrossPK, 1)
else:
GameWorld.Log(" 不同天的PK结算不增加今日PK次数! ", playerID)
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 a6d40c5..1ca199f 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerEventCounter.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerEventCounter.py
@@ -80,6 +80,7 @@
import PlayerActTotalRecharge
import PlayerSpringSale
import PlayerBossReborn
+import PlayerWeekParty
import PlayerFlashGiftbag
import PlayerFairyCeremony
import PlayerRefineStove
@@ -1302,6 +1303,9 @@
elif actionName == ShareDefine.OperationActionName_WishingWell:
PlayerWishingWell.RefreshWishingWellAction()
+ elif actionName == ShareDefine.OperationActionName_WeekParty:
+ PlayerWeekParty.RefreshOperationAction_WeekParty()
+
return
if msgValue.isdigit():
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFlashGiftbag.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFlashGiftbag.py
index da6d380..bca97e7 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFlashGiftbag.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFlashGiftbag.py
@@ -24,6 +24,7 @@
import DataRecordPack
import ItemControler
import IPY_GameWorld
+import PlayerWeekParty
import ItemCommon
import GameWorld
import ChConfig
@@ -171,8 +172,9 @@
orderIpyData = GetFlashGiftbagIDOrderInfoIpyData(giftbagID, appID)
rmb = 0 if not orderIpyData else int(orderIpyData.GetPayRMBNum())
PlayerControl.WorldNotify(0, notifyKey, [curPlayer.GetPlayerName(), rmb, giftbagIpyData.GetMainItemID()])
-
+
SyncFlashGiftbagBuyCount(curPlayer, [giftbagID])
+ PlayerWeekParty.AddWeekPartyActionCnt(curPlayer, ChConfig.Def_WPAct_GiftBag, actGiftbagType, False)
return True
def SyncFlashGiftbagBuyCount(curPlayer, syncIDList=[], giftbagTypeList=[]):
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerWeekParty.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerWeekParty.py
new file mode 100644
index 0000000..fbb033b
--- /dev/null
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerWeekParty.py
@@ -0,0 +1,374 @@
+#!/usr/bin/python
+# -*- coding: GBK -*-
+#-------------------------------------------------------------------------------
+#
+#-------------------------------------------------------------------------------
+#
+##@package Player.PlayerWeekParty
+#
+# @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
+
+
+def OnLogin(curPlayer):
+ isReset = __CheckPlayerWeekPartyAction(curPlayer)
+ if not isReset:
+ actCostRebateInfo = PyGameData.g_operationActionDict.get(ShareDefine.OperationActionName_WeekParty, {})
+ # 活动中同步活动信息
+ if actCostRebateInfo.get(ShareDefine.ActKey_State):
+ SyncWeekPartyInfo(curPlayer)
+ SyncWeekPartyPlayerInfo(curPlayer)
+ return
+
+
+def RefreshOperationAction_WeekParty():
+ playerManager = GameWorld.GetPlayerManager()
+ for i in xrange(playerManager.GetPlayerCount()):
+ curPlayer = playerManager.GetPlayerByIndex(i)
+ if curPlayer == None or not curPlayer.GetInitOK():
+ continue
+ __CheckPlayerWeekPartyAction(curPlayer)
+ return
+
+
+def __CheckPlayerWeekPartyAction(curPlayer):
+ ## 检查玩家周狂欢活动数据信息
+ playerID = curPlayer.GetPlayerID()
+
+ actWeekPartyInfo = PyGameData.g_operationActionDict.get(ShareDefine.OperationActionName_WeekParty, {})
+ #WeekPartyID = actWeekPartyInfo.get(ShareDefine.ActKey_ID, 0)
+ state = actWeekPartyInfo.get(ShareDefine.ActKey_State, 0)
+ cfgID = actWeekPartyInfo.get(ShareDefine.ActKey_CfgID, 0)
+ passlv = curPlayer.NomalDictGetProperty(ChConfig.Def_Player_Dict_TrialTower_PassLV)
+ isOk = AddWeekPartyActionCnt(curPlayer, ChConfig.Def_WPAct_Tower, passlv, False)
+ playerWeekPartyID = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_WeekPartyID, 0, ChConfig.Def_PDictType_WeekParty) # 玩家身上的活动ID
+ if not isOk and state:
+ SyncWeekPartyPlayerInfo(curPlayer)
+ # 活动ID 相同的话不处理
+ if cfgID == playerWeekPartyID:
+ #GameWorld.DebugLog("周狂欢活动ID不变,不处理!", curPlayer.GetPlayerID())
+ return
+ # 未领取的奖励邮件发放
+ __SendWeekPartyMail(curPlayer, playerWeekPartyID)
+
+ if not cfgID:
+ GameWorld.DebugLog(' 周狂欢活动重置!')
+ curPlayer.ClearNomalDict(ChConfig.Def_PDictType_WeekParty)
+
+ GameWorld.DebugLog("周狂欢变更! state=%s,cfgID=%s,playerWeekPartyID=%s" % (state, cfgID, playerWeekPartyID), playerID)
+
+ PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_WeekPartyID, cfgID, ChConfig.Def_PDictType_WeekParty)
+
+ SyncWeekPartyInfo(curPlayer)
+ return True
+
+
+def __SendWeekPartyMail(curPlayer, cfgID):
+ # 未领取的奖励邮件发放
+ actBossIpyData = IpyGameDataPY.GetIpyGameData("ActWeekParty", cfgID)
+ if not actBossIpyData:
+ return
+ templateIDList = actBossIpyData.GetTemplateID()
+ if not templateIDList:
+ return
+
+ totalItemDict = {}
+ for day, tidList in enumerate(templateIDList):
+ for tid in tidList:
+ ipyData = IpyGameDataPY.GetIpyGameData('WeekParty', tid)
+ if not ipyData:
+ continue
+ singleTimes = ipyData.GetSingleTimes()
+ curTimes = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_WeekPartyCurTimes % (day, tid), 0, ChConfig.Def_PDictType_WeekParty)
+ gotTimes = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_WeekPartyGotTimes % (day, tid), 0, ChConfig.Def_PDictType_WeekParty)
+ canGotCnt = (curTimes - gotTimes) / singleTimes
+ if not canGotCnt:
+ continue
+ itemDict = __GetAwardItem(curPlayer, ipyData, canGotCnt)
+ GameWorld.AddDictValue(totalItemDict, itemDict)
+ #积分奖励
+ for day, awardDict in actBossIpyData.GetPointAward().items():
+ pointList = awardDict.keys()
+ pointList.sort()
+ for i, point in enumerate(pointList):
+ curPoint = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_WeekPartyPoint % day, 0, ChConfig.Def_PDictType_WeekParty)
+ if curPoint < point:
+ continue
+ awardRecord = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_WeekPartyAwardRecord % day, 0, ChConfig.Def_PDictType_WeekParty)
+ if awardRecord & pow(2, i):
+ continue
+ itemList = awardDict[point]
+ for itemID, itemCnt, isBind in itemList:
+ totalItemDict[itemID] = totalItemDict.get(itemID, 0) + itemCnt
+ if not totalItemDict:
+ return
+ totalItemList = [[itemID, itemCnt, 1] for itemID, itemCnt in totalItemDict.items()]
+ PlayerControl.SendMailByKey('SecondWeekReward', [curPlayer.GetID()], totalItemList)
+ return
+
+
+def AddWeekPartyActionCnt(curPlayer, actionID, addCnt=1, isAdd=True):
+ '''增加周狂欢相关活动完成次数'''
+ #判断活动是否开启
+ if not addCnt:
+ return
+ actWeekPartyInfo = PyGameData.g_operationActionDict.get(ShareDefine.OperationActionName_WeekParty, {})
+ state = actWeekPartyInfo.get(ShareDefine.ActKey_State, 0)
+ cfgID = actWeekPartyInfo.get(ShareDefine.ActKey_CfgID, 0)
+
+ if not state or not cfgID:
+ return
+ actBossIpyData = IpyGameDataPY.GetIpyGameData("ActWeekParty", cfgID)
+ if not actBossIpyData:
+ return
+ templateIDList = actBossIpyData.GetTemplateID()
+ dayIndex = actWeekPartyInfo.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('WeekParty', findTid)
+ if not ipyData:
+ return
+ totalTimes = ipyData.GetTotalTimes()
+ curTimes = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_WeekPartyCurTimes % (dayIndex, findTid), 0, ChConfig.Def_PDictType_WeekParty)
+ 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_WeekPartyCurTimes % (dayIndex, findTid), updTimes, ChConfig.Def_PDictType_WeekParty)
+ #加积分
+ singleTimes = ipyData.GetSingleTimes()
+ addPoint = (curTimes % singleTimes + realAddCnt)/singleTimes* ipyData.GetPoint()
+ curPoint = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_WeekPartyPoint % dayIndex, 0, ChConfig.Def_PDictType_WeekParty)
+ updPoint = curPoint + addPoint
+ PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_WeekPartyPoint % dayIndex, updPoint, ChConfig.Def_PDictType_WeekParty)
+ GameWorld.DebugLog(' 增加周狂欢相关活动完成次数 dayIndex=%s, findTid=%s, realAddCnt=%s,addPoint=%s' % (dayIndex, findTid, realAddCnt, addPoint))
+ SyncWeekPartyPlayerInfo(curPlayer, dayIndex, findTid)
+ return True
+
+
+def GetWeekPartyActionAward(curPlayer, day, templateID):
+ '''领取周狂欢活动奖励'''
+ templateID = GameWorld.ToIntDef(templateID, 0)
+ ipyData = IpyGameDataPY.GetIpyGameData('WeekParty', templateID)
+ if not ipyData:
+ return
+ singleTimes = ipyData.GetSingleTimes()
+ curTimes = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_WeekPartyCurTimes % (day, templateID), 0, ChConfig.Def_PDictType_WeekParty)
+ gotTimes = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_WeekPartyGotTimes % (day, templateID), 0, ChConfig.Def_PDictType_WeekParty)
+ if curTimes - gotTimes < singleTimes:
+ return
+
+ #给奖励
+ awardDict = __GetAwardItem(curPlayer, ipyData)
+ # 检查背包
+ 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_WeekPartyGotTimes % (day, templateID), newGotTimes, ChConfig.Def_PDictType_WeekParty)
+ for itemID, itemCnt in awardDict.items():
+ ItemControler.GivePlayerItem(curPlayer, itemID, itemCnt, 1, [IPY_GameWorld.rptItem])
+ SyncWeekPartyPlayerInfo(curPlayer, day, templateID)
+ return
+
+
+def GetWeekPartyPointAward(curPlayer, day, getPoint):
+ ##领取周狂欢积分奖励
+ getPoint = GameWorld.ToIntDef(getPoint, 0)
+ actWeekPartyInfo = PyGameData.g_operationActionDict.get(ShareDefine.OperationActionName_WeekParty, {})
+ state = actWeekPartyInfo.get(ShareDefine.ActKey_State, 0)
+ cfgID = actWeekPartyInfo.get(ShareDefine.ActKey_CfgID, 0)
+ if not state or not cfgID:
+ return
+ actBossIpyData = IpyGameDataPY.GetIpyGameData("ActWeekParty", cfgID)
+ if not actBossIpyData:
+ return
+ curPoint = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_WeekPartyPoint % day, 0, ChConfig.Def_PDictType_WeekParty)
+ if curPoint < getPoint:
+ return
+ pointAwardDict = actBossIpyData.GetPointAward().get(day, {})
+ pointList = pointAwardDict.keys()
+ pointList.sort()
+ if getPoint not in pointList:
+ return
+ getIndex = pointList.index(getPoint)
+ awardRecord = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_WeekPartyAwardRecord % day, 0, ChConfig.Def_PDictType_WeekParty)
+ if awardRecord & pow(2, getIndex):
+ GameWorld.Log(' 领取周狂欢积分奖励, 已领取 day=%s, getPoint=%s' % (day, getPoint))
+ return
+ itemList = pointAwardDict[getPoint]
+ needSpace = len(itemList)
+ packSpace = ItemCommon.GetItemPackSpace(curPlayer, IPY_GameWorld.rptItem, needSpace)
+ if needSpace > packSpace:
+ PlayerControl.NotifyCode(curPlayer, "GeRen_chenxin_998371")
+ return
+ PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_WeekPartyAwardRecord % day, awardRecord | pow(2, getIndex), ChConfig.Def_PDictType_WeekParty)
+ for itemID, itemCnt, isBind in itemList:
+ ItemControler.GivePlayerItem(curPlayer, itemID, itemCnt, isBind, [IPY_GameWorld.rptItem])
+ SyncWeekPartyPlayerInfo(curPlayer, day)
+ return
+
+
+def __GetAwardItem(curPlayer, ipyData, times=1):
+ awardDict = {}
+ for itemID, itemCnt, isbind in ipyData.GetReward():
+ if not itemID or not itemCnt:
+ continue
+ awardDict[itemID] = awardDict.get(itemID, 0) + itemCnt * times
+
+ return awardDict
+
+
+def SyncWeekPartyPlayerInfo(curPlayer, day=-1, templateID=-1):
+ #通知当前次数、已领次数
+ actWeekPartyInfo = PyGameData.g_operationActionDict.get(ShareDefine.OperationActionName_WeekParty, {})
+ state = actWeekPartyInfo.get(ShareDefine.ActKey_State, 0)
+ cfgID = actWeekPartyInfo.get(ShareDefine.ActKey_CfgID, 0)
+ if not state or not cfgID:
+ return
+ actBossIpyData = IpyGameDataPY.GetIpyGameData("ActWeekParty", cfgID)
+ if not actBossIpyData:
+ return
+ templateIDList = actBossIpyData.GetTemplateID()
+ if not templateIDList:
+ return
+ if day != -1:
+ if day >= len(templateIDList):
+ return
+ syncDayList = [day]
+ else:
+ syncDayList = range(len(templateIDList))
+
+ packData = ChPyNetSendPack.tagMCWeekPartyPlayerInfo()
+ packData.DayInfoList = []
+ for cday in syncDayList:
+ tiemInfo = ChPyNetSendPack.tagMCWeekPartyDayPlayerInfo()
+ tiemInfo.DayIndex = cday
+ tiemInfo.Point = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_WeekPartyPoint % cday, 0, ChConfig.Def_PDictType_WeekParty)
+ tiemInfo.AwardRecord = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_WeekPartyAwardRecord % cday, 0, ChConfig.Def_PDictType_WeekParty)
+ tiemInfo.TaskList = []
+ for tID in templateIDList[cday]:
+ if templateID != -1 and tID != templateID:
+ continue
+ tipyData = IpyGameDataPY.GetIpyGameData('WeekParty', tID)
+ if not tipyData:
+ continue
+ taskInfo = ChPyNetSendPack.tagMCWeekPartyTaskInfo()
+ taskInfo.TemplateID = tID
+ taskInfo.CurTimes = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_WeekPartyCurTimes % (cday, tID), 0, ChConfig.Def_PDictType_WeekParty)
+ taskInfo.GotTimes = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_WeekPartyGotTimes % (cday, tID), 0, ChConfig.Def_PDictType_WeekParty)
+ tiemInfo.TaskList.append(taskInfo)
+ tiemInfo.ACount = len(tiemInfo.TaskList)
+ packData.DayInfoList.append(tiemInfo)
+ packData.Count = len(packData.DayInfoList)
+ NetPackCommon.SendFakePack(curPlayer, packData)
+ return
+
+
+def SyncWeekPartyInfo(curPlayer):
+ actWeekPartyInfo = PyGameData.g_operationActionDict.get(ShareDefine.OperationActionName_WeekParty, {})
+ state = actWeekPartyInfo.get(ShareDefine.ActKey_State, 0)
+ cfgID = actWeekPartyInfo.get(ShareDefine.ActKey_CfgID, 0)
+ if not state or not cfgID:
+ return
+ actBossIpyData = IpyGameDataPY.GetIpyGameData("ActWeekParty", cfgID)
+ if not actBossIpyData:
+ return
+ templateIDList = actBossIpyData.GetTemplateID()
+ if not templateIDList:
+ return
+ pointAwardDict = actBossIpyData.GetPointAward()
+ openServerDay = GameWorld.GetGameWorld().GetGameWorldDictByKey(ShareDefine.Def_Notify_WorldKey_ServerDay) + 1
+ actInfo = ChPyNetSendPack.tagMCWeekPartyInfo()
+ actInfo.Clear()
+ actInfo.StartDate = GameWorld.GetOperationActionDateStr(actBossIpyData.GetStartDate(), openServerDay)
+ actInfo.EndtDate = GameWorld.GetOperationActionDateStr(actBossIpyData.GetEndDate(), openServerDay)
+ actInfo.IsDayReset = actBossIpyData.GetIsDayReset()
+ actInfo.ResetType = actBossIpyData.GetResetType()
+ actInfo.LimitLV = actBossIpyData.GetLVLimit()
+ actInfo.DayInfoList = []
+ tidList = []
+ for day, dayActList in enumerate(templateIDList):
+ dayInfo = ChPyNetSendPack.tagMCWeekPartyDayInfo()
+ dayInfo.TemplateList = dayActList
+ dayInfo.ActCnt = len(dayActList)
+ for tid in dayActList:
+ if tid not in tidList:
+ tidList.append(tid)
+ dayInfo.PItemInfo = []
+ for point, itemList in pointAwardDict.get(day, {}).items():
+ for itemID, itemCnt, isBind in itemList:
+ awardItem = ChPyNetSendPack.tagMCWeekPartyItem()
+ awardItem.ItemID = itemID
+ awardItem.ItemCnt = itemCnt
+ awardItem.IsBind = isBind
+ awardItem.NeedPoint = point
+ dayInfo.PItemInfo.append(awardItem)
+ dayInfo.PCount = len(dayInfo.PItemInfo)
+ actInfo.DayInfoList.append(dayInfo)
+ actInfo.DayCnt = len(actInfo.DayInfoList)
+ actInfo.ActionInfo = []
+ for tid in tidList:
+ ipyData = IpyGameDataPY.GetIpyGameData('WeekParty', tid)
+ if not ipyData:
+ GameWorld.ErrLog(' 周狂欢模板表找不到模板%s' % tid)
+ continue
+ tInfo = ChPyNetSendPack.tagMCWeekPartyAction()
+ tInfo.TemplateID = tid
+ tInfo.ActionType = ipyData.GetActionType()
+ tInfo.TotalTimes = ipyData.GetTotalTimes()
+ tInfo.SingleTimes = ipyData.GetSingleTimes()
+ tInfo.Point = ipyData.GetPoint()
+ tInfo.ItemInfo = []
+ for itemID, itemCnt, isBind in itemList:
+ awardItem = ChPyNetSendPack.tagMCWeekPartyItem()
+ awardItem.ItemID = itemID
+ awardItem.ItemCnt = itemCnt
+ awardItem.IsBind = isBind
+ awardItem.NeedPoint = 0
+ tInfo.ItemInfo.append(awardItem)
+ 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/ShareDefine.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ShareDefine.py
index 62a0a18..b2a89aa 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ShareDefine.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ShareDefine.py
@@ -228,11 +228,13 @@
OperationActionName_FlashSale = "ActFlashSale" # 限时抢购活动
OperationActionName_WishingWell = "ActWishingWell" # 许愿池活动
OperationActionName_TotalRecharge = "ActTotalRecharge" # 累计充值活动
+OperationActionName_WeekParty = "ActWeekParty" # 周狂欢活动
OperationActionNameList = [OperationActionName_ExpRate, OperationActionName_CostRebate,
OperationActionName_BossReborn,OperationActionName_SpringSale,
OperationActionName_FlashGiftbag, OperationActionName_FairyCeremony,
OperationActionName_RealmPoint, OperationActionName_FlashSale,
- OperationActionName_WishingWell, OperationActionName_TotalRecharge]
+ OperationActionName_WishingWell, OperationActionName_TotalRecharge,
+ OperationActionName_WeekParty, ]
#需要记录开启活动时的世界等级的运营活动
NeedWorldLVOperationActNameList = [OperationActionName_FairyCeremony, OperationActionName_WishingWell]
--
Gitblit v1.8.0