From 3870812c709711006a606f85af462a8267f7a34e Mon Sep 17 00:00:00 2001
From: xdh <xiefantasy@qq.com>
Date: 星期一, 10 六月 2019 14:50:03 +0800
Subject: [PATCH] 7182 【2.0】【后端】仙盟宴会界面优化
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ShareDefine.py | 5 +++--
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_FamilyParty.py | 32 ++++++++++++++++++++++++++------
ServerPython/CoreServerGroup/GameServer/Script/ShareDefine.py | 5 +++--
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerState.py | 2 +-
4 files changed, 33 insertions(+), 11 deletions(-)
diff --git a/ServerPython/CoreServerGroup/GameServer/Script/ShareDefine.py b/ServerPython/CoreServerGroup/GameServer/Script/ShareDefine.py
index 4566fe8..92ffc4b 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/ShareDefine.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/ShareDefine.py
@@ -270,8 +270,9 @@
Def_ViewExpType_Sit , #打坐获取经验 3
Def_ViewExpType_KillNPCSuper, #杀怪获得经验暴击 4
Def_ViewExpType_Sys , #系统给经验-需要展示倍率,实际不享受 5
- Def_ViewExpType_RealmBuff, #境界全服福利经验(玄女天花) 6
-) = range(0, 7)
+ Def_ViewExpType_RealmBuff, #境界全服福利经验(玄女天花) 6
+ Def_ViewExpType_SysEx, #系统给经验-不需要展示倍率 用来区别于类型0 7
+) = range(0, 8)
#物品相关操作类型
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_FamilyParty.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_FamilyParty.py
index a3c589a..ae60152 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_FamilyParty.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_FamilyParty.py
@@ -227,7 +227,7 @@
GameWorldProcess.CloseFB(tick)
else:
#FBCommon.DoLogicAreaReward("FamilyPartyAreaAward", tick)
- FBCommon.NotifyCopyMapPlayerFBHelp(tick, DoFBHelp, 10000)
+ FBCommon.NotifyCopyMapPlayerFBHelp(tick, DoFBHelp, 5000)
mapID = GameWorld.GetMap().GetMapID()
notifyIndex = gameFB.GetGameFBDictByKey(ChConfig.Map_FBDict_NotifyStart)
@@ -256,7 +256,7 @@
#仙盟贡献度
PlayerFamily.AddPlayerFamilyActiveValue(curPlayer, addPoint, True, ShareDefine.Def_AddFAVReason_FamilyParty, True)
#答题经验更新
- PlayerControl.PlayerControl(curPlayer).AddExp(addExp)
+ PlayerControl.PlayerControl(curPlayer).AddExp(addExp, ShareDefine.Def_ViewExpType_SysEx)
curAnswerCnt = curPlayer.NomalDictGetProperty(ChConfig.Def_Player_Dict_FamilyPartyAnswerCnt)
PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_Player_Dict_FamilyPartyAnswerCnt, curAnswerCnt + 1)
@@ -354,9 +354,7 @@
hasCollect = gameWorld.GetGameWorldDictByKey(FBPlayerDict_HasCollect % playerID)
hasSit = gameWorld.GetGameWorldDictByKey(FBPlayerDict_HasSit % playerID)
- getCnt = gameWorld.GetGameWorldDictByKey(ChConfig.Map_Player_AreaReward_GetCnt % playerID)
- isFull = 1 if getCnt >= IpyGameDataPY.GetFuncCfg('FamilyPartyAreaAward', 3) else 0
- helpDict = {FBCommon.Help_exp:exp, FBCommon.Help_expPoint:expPoint, FBCommon.Help_score:totalPoint, "hasCollect":hasCollect, "isFullExp":isFull, "hasSit":hasSit}
+ helpDict = {FBCommon.Help_exp:exp, FBCommon.Help_expPoint:expPoint, FBCommon.Help_score:totalPoint, "hasCollect":hasCollect, "hasSit":hasSit}
if PyGameData.g_familyPartyInfo:
rankList = []
for i, info in enumerate(PyGameData.g_familyPartyInfo[0], 1):
@@ -425,6 +423,28 @@
DoFBHelp(curPlayer, 0)
return
+## 获得经验
+# @param curPlayer 当前玩家
+# @param addExp 获得的经验
+# @param expViewType 经验类型
+# @return True or False
+def OnGetExp(curPlayer, addExp, expViewType):
+
+ if expViewType != ShareDefine.Def_ViewExpType_SysEx:
+ return
+ gameWorld = GameWorld.GetGameWorld()
+ playerID = curPlayer.GetID()
+ exp = gameWorld.GetGameWorldDictByKey(FBPlayerDict_TotalExp % playerID)
+ expPoint = gameWorld.GetGameWorldDictByKey(FBPlayerDict_TotalExpPoint % playerID)
+ newTotalExp = expPoint*ChConfig.Def_PerPointValue+exp+addExp
+ gameWorld.SetGameWorldDict(FBPlayerDict_TotalExp % playerID, newTotalExp%ChConfig.Def_PerPointValue)
+ gameWorld.SetGameWorldDict(FBPlayerDict_TotalExpPoint % playerID, newTotalExp/ChConfig.Def_PerPointValue)
+
+
+ GameWorld.DebugLog("OnGetExp() addExp=%s,updTotalExp=%s"
+ % (addExp, newTotalExp), playerID)
+
+ return
##玩家退出副本
# @param curPlayer 玩家实例
# @param tick 时间戳
@@ -482,7 +502,7 @@
DoFBHelp(curPlayer, 0)
-
+
return
def __GiveSitAward(curPlayer):
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerState.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerState.py
index 69bc421..bd625ec 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerState.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerState.py
@@ -1578,5 +1578,5 @@
reLV = curPlayer.GetLV()
worldLV = GameWorld.GetGameWorld().GetGameWorldDictByKey(ShareDefine.Def_Notify_WorldKey_WorldAverageLv)
addExp = eval(FormulaControl.GetCompileFormula('NeutralMapExpAward%s'%mapID, expFormula))
- PlayerControl.PlayerControl(curPlayer).AddExp(addExp)
+ PlayerControl.PlayerControl(curPlayer).AddExp(addExp, ShareDefine.Def_ViewExpType_SysEx)
return
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ShareDefine.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ShareDefine.py
index 4566fe8..92ffc4b 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ShareDefine.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ShareDefine.py
@@ -270,8 +270,9 @@
Def_ViewExpType_Sit , #打坐获取经验 3
Def_ViewExpType_KillNPCSuper, #杀怪获得经验暴击 4
Def_ViewExpType_Sys , #系统给经验-需要展示倍率,实际不享受 5
- Def_ViewExpType_RealmBuff, #境界全服福利经验(玄女天花) 6
-) = range(0, 7)
+ Def_ViewExpType_RealmBuff, #境界全服福利经验(玄女天花) 6
+ Def_ViewExpType_SysEx, #系统给经验-不需要展示倍率 用来区别于类型0 7
+) = range(0, 8)
#物品相关操作类型
--
Gitblit v1.8.0