From ccaf2f02905ec635332e2d22cb7bd5b77b6a7bbb Mon Sep 17 00:00:00 2001
From: xdh <xiefantasy@qq.com>
Date: 星期一, 22 十月 2018 21:10:34 +0800
Subject: [PATCH] 4282 【主干】【1.1.0】【后端】新增物品效果:获得X法宝X经验 4280 【主干】【1.1.0】【后端】开服触发成就类型
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_ElderBattlefield.py | 31 ++++++++++++++++++++++++-------
1 files changed, 24 insertions(+), 7 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 6be2c11..a3816d1 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
@@ -414,9 +422,11 @@
baseCnt = IpyGameDataPY.GetFuncCfg('ElderBattlefieldSys', 2)
perCnt = IpyGameDataPY.GetFuncCfg('ElderBattlefieldSys', 3)
if contKillCntEx >= baseCnt and contKillCntEx % perCnt == 0:
- sysIndex = min((contKillCntEx - baseCnt) / perCnt, len(ckillSysList))
+ 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 +440,13 @@
PlayerControl.FBNotify('AncientBattlefield_7', [curPlayer.GetName(), defender.GetName(),defContKillCntEx])
gameFB.SetPlayerGameFBDict(tagPlayerID, FBPlayerDict_ContKillCntEx, 0)
+ #记录仇人
+ gameFB.SetPlayerGameFBDict(tagPlayerID, FBPlayerDict_EnemyID, playerID)
+ if tagPlayerID == gameFB.GetPlayerGameFBDictByKey(playerID, FBPlayerDict_EnemyID):
+ #击杀仇人广播
+ PlayerControl.NotifyCode(curPlayer, 'AncientBattlefield_8')
+ gameFB.SetPlayerGameFBDict(playerID, FBPlayerDict_EnemyID, 0)
+
GameWorld.DebugLog("击杀玩家: 击杀=%s,连杀=%s,tagPlayerID=%s,updScore=%s"
% (killCnt, contKillCntEx, tagPlayerID, updScore), playerID)
--
Gitblit v1.8.0