From acd10dbd77f496e0e4be494c089c08e066085ab4 Mon Sep 17 00:00:00 2001
From: xdh <xiefantasy@qq.com>
Date: 星期五, 07 九月 2018 10:11:12 +0800
Subject: [PATCH] fix:3320 【后端】前3次宗门试炼1层和前2个大境界渡劫的世界喊话特殊处理(按等级随机邀请入队)
---
ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldProcess.py | 23 +++++++++++++++++++++--
1 files changed, 21 insertions(+), 2 deletions(-)
diff --git a/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldProcess.py b/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldProcess.py
index b280963..175d242 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldProcess.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldProcess.py
@@ -105,6 +105,7 @@
import PlayerXMZZ
import PlayerTeam
import PyGameData
+import ChPlayer
#---------------------------------------------------------------------
#---------------------------------------------------------------------
@@ -161,12 +162,14 @@
# GameDataRecord.OnDayResetRecord()
# 仙盟红包
PlayerFamilyRedPacket.DoOnDay()
-
+ # 玩家等级记录更新
+ ChPlayer.UpdataPlayerLVInfo()
# 通知开服天数
#openServerDay = PlayerDBGSEvent.GetDBGSTrig_ByKey(PlayerDBGSEvent.Def_ServerDay)
#GameWorld.SendMapServerMsgEx(ShareDefine.Def_Notify_WorldKey_ServerDay, openServerDay)
#清理过期补偿
PlayerCompensation.ClearUpTimeOutCompensation()
+ PlayerGeTui.ClearFMTGeTuiLimit()
import PlayerBourse
PlayerBourse.OverTimeItemsDeal()
return
@@ -1231,6 +1234,8 @@
__DoMixServerInit()
#仙魔之争
PlayerXMZZ.OnGameServerInitOK()
+ #加载活跃玩家等级信息
+ ChPlayer.LoadPlayerLVData()
#世界boss被杀次数重置
#GameWorldBoss.CheckResetBossKilledCntOnServerInit()
#GameWorldActionTeHui.OnGameServerInitOK() # 特惠活动初始化
@@ -1658,7 +1663,8 @@
def SendAllMapGlobalDropInfo():
# 同步所有地图所有全服掉落控制信息
- globalDropCDDict = IpyGameDataPY.GetFuncEvalCfg("GlobalDropCD") # {物品ID:分钟, ...}
+ globalDropCDDict = IpyGameDataPY.GetFuncEvalCfg("GlobalDropCD", 1) # {物品ID:分钟, ...}
+ globalKilledCountDropDict = IpyGameDataPY.GetFuncEvalCfg("GlobalDropCD", 2) # 全服击杀次数必掉
globalDropRateDict = IpyGameDataPY.GetFuncEvalCfg("NPCGlobalDropRate") # {物品ID:[[npcID列表], "概率公式"], ...}
for itemID in globalDropCDDict.keys():
@@ -1671,6 +1677,10 @@
killedCnt = PlayerDBGSEvent.GetDBGSTrig_ByKey(key)
GameWorld.SendMapServerMsgEx(key, killedCnt)
+ for npcID in globalKilledCountDropDict.keys():
+ key = ShareDefine.Def_Notify_WorldKey_NPCKilledCount % npcID
+ killedCnt = PlayerDBGSEvent.GetDBGSTrig_ByKey(key)
+ GameWorld.SendMapServerMsgEx(key, killedCnt)
return
def UpdGlobalDropCD(msgList):
@@ -1685,6 +1695,14 @@
## 更新全局击杀次数换算掉落概率的物品所累计的击杀次数
itemID, updKilledCnt = msgList
key = ShareDefine.Def_Notify_WorldKey_DropNPCKilledCnt % itemID
+ PlayerDBGSEvent.SetDBGSTrig_ByKey(key, updKilledCnt)
+ GameWorld.SendMapServerMsgEx(key, updKilledCnt)
+ return
+
+def UpdGlobalKillCount(msgList):
+ ## 更新全局击杀次数
+ npcID, updKilledCnt = msgList
+ key = ShareDefine.Def_Notify_WorldKey_NPCKilledCount % npcID
PlayerDBGSEvent.SetDBGSTrig_ByKey(key, updKilledCnt)
GameWorld.SendMapServerMsgEx(key, updKilledCnt)
return
@@ -1866,6 +1884,7 @@
# @return None
def BeforeClose(tick):
PlayerTeam.OnServerClose(tick)
+ ChPlayer.SavePlayerLVData()
GameWorld.Log("通知C++关服!")
GameWorld.GetGameWorld().OnServerClose()
--
Gitblit v1.8.0