From 369e6b891612b94efc19918476fcdf6ec5de74ea Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期一, 05 十一月 2018 14:54:05 +0800
Subject: [PATCH] 4562 【后端】【1.2.0】仙界盛典新增时间配置支持(支持活动5点开启,0点关闭) - 新增活动重置类型2
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_ElderBattlefield.py | 39 ++++++++++++++++++++++++++++++---------
1 files changed, 30 insertions(+), 9 deletions(-)
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 5e9e5de..d9c5a46 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
@@ -49,7 +49,7 @@
FBPlayerDict_ContKillCntEx = 'FBPD_ContKillCntEx' # 玩家当前总连杀数
FBPlayerDict_TotalExp = 'FBPlayerDict_TotalExp%s' # 获得的总经验
FBPlayerDict_TotalExpPoint = 'FBPlayerDict_TotalExpPoint%s' # 获得的总经验点
-
+FBPlayerDict_EnemyID = 'FBPD_EnemyID' # 玩家最近一个仇敌ID
Map_ElderBattlefield_StartTick = "Map_ElderBattlefield_StartTick" # 副本开始时间
Map_ElderBattlefield_TopPlayer = "Map_ElderBattlefield_TopPlayer" # 积分王
@@ -73,6 +73,7 @@
if state == 1:
GameWorld.GetGameWorld().SetGameWorldDict(Map_ElderBattlefield_StartTick, tick)
GameWorld.GetGameWorld().SetGameWorldDict(Map_ElderBattlefield_TopPlayer, 0)
+
# else:
# GiveJoinPrize()
# FBCommon.DoLogic_FBKickAllPlayer()
@@ -323,7 +324,11 @@
topPlayerID = gameWorld.GetGameWorldDictByKey(Map_ElderBattlefield_TopPlayer)
if not topPlayerID or updScore > gameWorld.GetGameWorldDictByKey(FBPlayerDict_Score % topPlayerID):
gameWorld.SetGameWorldDict(Map_ElderBattlefield_TopPlayer, playerID)
- PyGameData.g_sgzztopPlayerName = curPlayer.GetName()
+
+ topName = curPlayer.GetName()
+ PyGameData.g_sgzztopPlayerName = topName
+ PlayerControl.WorldNotify(0, 'AncientBattlefield_9', [topName])
+
if gameWorld.GetGameWorldDictByKey(Map_ElderBattlefield_TopPlayer) == playerID:
playerManager = GameWorld.GetPlayerManager()
for i in range(0, playerManager.GetPlayerCount()):
@@ -380,11 +385,14 @@
FBCommon.Help_exp:exp, FBCommon.Help_expPoint:expPoint}
topPlayerID = gameWorld.GetGameWorldDictByKey(Map_ElderBattlefield_TopPlayer)
- topScore = GameWorld.GetGameWorld().GetGameWorldDictByKey(FBPlayerDict_Score % topPlayerID)
+
+ topScore = gameWorld.GetGameWorldDictByKey(FBPlayerDict_Score % topPlayerID)
+
helpDict['topName'] = PyGameData.g_sgzztopPlayerName if topPlayerID else ''
helpDict['topScore'] = topScore if topPlayerID else 0
-
-
+ helpDict['topPlayerID'] = topPlayerID
+ #helpDict[FBCommon.Help_lineID] = GameWorld.GetGameWorld().GetLineID()
+ helpDict['enemyID'] = GameWorld.GetGameFB().GetPlayerGameFBDictByKey(playerID, FBPlayerDict_EnemyID)
GameWorld.DebugLog("DoFBHelp %s" % helpDict, playerID)
FBCommon.Notify_FBHelp(curPlayer, helpDict)
return
@@ -400,9 +408,6 @@
gameFB = GameWorld.GetGameFB()
playerID = curPlayer.GetPlayerID()
GameWorld.DebugLog("DoFBOnKill_Player", playerID)
-
- addScore = IpyGameDataPY.GetFuncCfg('ElderBattlefieldCfg', 2)
- updScore = __AddElderBattlefieldPlayerScore(curPlayer, gameFB, addScore)
# 击杀方处理
killCnt = gameFB.GetPlayerGameFBDictByKey(playerID, FBPlayerDict_KillCnt) + 1 # 击杀数
@@ -416,7 +421,9 @@
if contKillCntEx >= baseCnt and contKillCntEx % perCnt == 0:
sysIndex = min((contKillCntEx - baseCnt) / perCnt, len(ckillSysList)-1)
PlayerControl.FBNotify(ckillSysList[sysIndex], [curPlayer.GetName(), contKillCntEx])
-
+ PlayerControl.NotifyCode(curPlayer, 'AncientBattlefield_10', [contKillCntEx])
+ if contKillCntEx == 5:
+ PlayerControl.NotifyCode(curPlayer, 'AncientBattlefield_10', [5])
# 击杀方成就
PlayerSuccess.DoAddSuccessProgress(curPlayer, ShareDefine.SuccType_ElderBattlefieldKill, 1)
@@ -430,6 +437,20 @@
PlayerControl.FBNotify('AncientBattlefield_7', [curPlayer.GetName(), defender.GetName(),defContKillCntEx])
gameFB.SetPlayerGameFBDict(tagPlayerID, FBPlayerDict_ContKillCntEx, 0)
+
+
+ addScore = IpyGameDataPY.GetFuncCfg('ElderBattlefieldCfg', 2)
+
+ #记录仇人
+ gameFB.SetPlayerGameFBDict(tagPlayerID, FBPlayerDict_EnemyID, playerID)
+ if tagPlayerID == gameFB.GetPlayerGameFBDictByKey(playerID, FBPlayerDict_EnemyID):
+ #击杀仇人广播
+ PlayerControl.NotifyCode(curPlayer, 'AncientBattlefield_8')
+ gameFB.SetPlayerGameFBDict(playerID, FBPlayerDict_EnemyID, 0)
+ addScore += IpyGameDataPY.GetFuncCfg('ElderBattlefieldPoint', 2)
+ if tagPlayerID == GameWorld.GetGameWorld().GetGameWorldDictByKey(Map_ElderBattlefield_TopPlayer):
+ addScore += IpyGameDataPY.GetFuncCfg('ElderBattlefieldPoint', 1)
+ updScore = __AddElderBattlefieldPlayerScore(curPlayer, gameFB, addScore)
GameWorld.DebugLog("击杀玩家: 击杀=%s,连杀=%s,tagPlayerID=%s,updScore=%s"
% (killCnt, contKillCntEx, tagPlayerID, updScore), playerID)
--
Gitblit v1.8.0