From 28aa9b1e368e89ce68f34b0994394b8ea8320e3a Mon Sep 17 00:00:00 2001
From: xdh <xiefantasy@qq.com>
Date: 星期四, 16 八月 2018 11:36:27 +0800
Subject: [PATCH] fix:修改找回参数名
---
ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldBoss.py | 61 +++++++++++-------------------
1 files changed, 23 insertions(+), 38 deletions(-)
diff --git a/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldBoss.py b/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldBoss.py
index 7c54f4a..97db3c6 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldBoss.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldBoss.py
@@ -888,7 +888,7 @@
return
totalPoint = gameWorld.GetDictByKey(ChConfig.Def_WorldKey_BossRebornNeedPoint)
if not totalPoint:
- totalPoint = __SetBossRebornNeedPoint()
+ totalPoint = SetBossRebornNeedPoint()
if not totalPoint:
GameWorld.Log(' 增加boss复活点 没有总点数!!!!')
return
@@ -935,27 +935,35 @@
def ResetBossRebornPoint():
## 重置boss复活点
PlayerDBGSEvent.SetDBGSTrig_ByKey(PlayerDBGSEvent.Def_BossRebornPoint, 0)
- Sync_BossRebornPoint()
-
+ # 活动开启时设置参数 服务器人数
+ lvLimit = IpyGameDataPY.GetFuncCfg('ServerActivePlayerCnt')
+ yesterdayPlayerCnt = len([1 for lv in PyGameData.g_yesterdayPlayerLVDict.values() if lv >= lvLimit]) #参数昨日活跃人数
+ serverActivePlayerCnt = eval(IpyGameDataPY.GetFuncCompileCfg('ServerActivePlayerCnt', 2))
+ PlayerDBGSEvent.SetDBGSTrig_ByKey(PlayerDBGSEvent.Def_BRServerPlayerCnt, serverActivePlayerCnt)
+ GameWorld.Log(' boss复活活动开启时设置昨日活跃人数yesterdayPlayerCnt=%s'%yesterdayPlayerCnt)
#重新计算需要总点数
- __SetBossRebornNeedPoint()
+ SetBossRebornNeedPoint()
+
+ Sync_BossRebornPoint()
return
-def __SetBossRebornNeedPoint():
+def SetBossRebornNeedPoint(isSync=False):
totalPointList = IpyGameDataPY.GetFuncEvalCfg('BossRebornTotalPoint')
- worldLVList = IpyGameDataPY.GetFuncEvalCfg('BossRebornTotalPoint', 2)
+ playerCntList = IpyGameDataPY.GetFuncEvalCfg('BossRebornTotalPoint', 2)
- actWorldLV = PlayerDBGSEvent.GetDBGSTrig_ByKey(PlayerDBGSEvent.Def_OActWorldLV % ShareDefine.OperationActionName_BossReborn)
+ BRServerPlayerCnt = PlayerDBGSEvent.GetDBGSTrig_ByKey(PlayerDBGSEvent.Def_BRServerPlayerCnt)
- index = len(worldLVList)-1
- for i, lv in enumerate(worldLVList):
- prelv = 0 if i ==0 else worldLVList[i-1]
- if prelv <=actWorldLV < lv:
+ index = len(playerCntList)-1
+ for i, cnt in enumerate(playerCntList):
+ preCnt = 0 if i ==0 else playerCntList[i-1]
+ if preCnt <=BRServerPlayerCnt < cnt:
index = i
break
totalPoint = totalPointList[-1] if index >= len(totalPointList) else totalPointList[index]
GameWorld.GetGameWorld().SetDict(ChConfig.Def_WorldKey_BossRebornNeedPoint, totalPoint)
+ if isSync:
+ Sync_BossRebornPoint()
return totalPoint
def BossRebornWorldNotify(curTime):
@@ -974,6 +982,10 @@
##通知BOSS复活点数
packData = ChPyNetSendPack.tagGCBossRebornPoint()
packData.Point = PlayerDBGSEvent.GetDBGSTrig_ByKey(PlayerDBGSEvent.Def_BossRebornPoint)
+ totalPoint = GameWorld.GetGameWorld().GetDictByKey(ChConfig.Def_WorldKey_BossRebornNeedPoint)
+ if not totalPoint:
+ totalPoint = SetBossRebornNeedPoint()
+ packData.TotalPoint = totalPoint
playerManager = GameWorld.GetPlayerManager()
if not curPlayer:
for i in xrange(playerManager.GetActivePlayerCount()):
@@ -989,30 +1001,3 @@
NetPackCommon.SendFakePack(curPlayer, packData)
return
-
-def Sync_OperationAction_BossReborn(ipyData, curPlayer=None):
- ## 通知boss复活活动信息
- if not ipyData:
- return
-
- bossRebornInfo = ChPyNetSendPack.tagGCBossRebornInfo()
- bossRebornInfo.Clear()
- bossRebornInfo.StartDate = ipyData.GetStartDate()
- bossRebornInfo.EndtDate = ipyData.GetEndDate()
- bossRebornInfo.WorldLV = PlayerDBGSEvent.GetDBGSTrig_ByKey(PlayerDBGSEvent.Def_OActWorldLV % ShareDefine.OperationActionName_BossReborn)
- bossRebornInfo.LimitLV = ipyData.GetLVLimit()
- if not curPlayer:
- # 全服广播在线玩家
- playerManager = GameWorld.GetPlayerManager()
- for i in xrange(playerManager.GetActivePlayerCount()):
- curPlayer = playerManager.GetActivePlayerAt(i)
- if curPlayer == None or not curPlayer.GetInitOK():
- continue
- if PlayerControl.GetIsTJG(curPlayer):
- continue
- NetPackCommon.SendFakePack(curPlayer, bossRebornInfo)
- else:
- if PlayerControl.GetIsTJG(curPlayer):
- return
- NetPackCommon.SendFakePack(curPlayer, bossRebornInfo)
- return
--
Gitblit v1.8.0