From 6cffbb969c0d62de81d93733f98e0d58d9db6011 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期六, 16 二月 2019 15:10:04 +0800
Subject: [PATCH] 6195 【开发】【1.6】跨服匹配添加机器人(前端自定义机器人PK场景屏蔽中立地图获得经验)
---
ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerFamily.py | 37 +++++++++++++++++++++++++++++++++++++
1 files changed, 37 insertions(+), 0 deletions(-)
diff --git a/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerFamily.py b/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerFamily.py
index 2e2a332..3894633 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerFamily.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerFamily.py
@@ -83,6 +83,9 @@
def GetCurWeekMissionMoney(curFamily): return curFamily.GetExtra2()
def SetCurWeekMissionMoney(curFamily, value): return curFamily.SetExtra2(min(value, ChConfig.Def_UpperLimit_DWord))
+# 仙盟上次处理的合服天
+def GetFamilyMixServerDay(curFamily): return curFamily.GetExtra1()
+def SetFamilyMixServerDay(curFamily, value): return curFamily.SetExtra1(value)
## ------------------ 成员 ----------------------
def GetMemberFightPower(curMember): return curMember.GetExattr3()
def SetMemberFightPower(curMember, fightPower): return curMember.SetExattr3(fightPower)
@@ -235,6 +238,9 @@
curFamily.SetLV(1)
curFamily.SetAcceptJoin(ShareDefine.FamilyAcceptJoin_Agree) #设置收人方式为直接通过申请
PyDataManager.GetFamilyStoreItemManager().DelFamilyStoreItemAll(curFamily.GetID())
+
+ #新创建的仙盟默认设置已处理过合服
+ SetFamilyMixServerDay(curFamily, PlayerDBGSEvent.GetDBGSTrig_ByKey(PlayerDBGSEvent.Def_LastMixServerDay))
#-设置家族成员属性
DoPlayerJionFamily(curFamily, curPlayer, IPY_GameServer.fmlLeader)
@@ -1926,6 +1932,37 @@
PlayerRefresh(curPlayer, tick)
GameWorldFamilyWar.OnPlayerLogin(curFamily, curPlayer)
+
+ # 盟主上线处理
+ if curMember.GetFamilyLV() == IPY_GameServer.fmlLeader:
+ OnFamilyLeaderLogin(curPlayer, curFamily)
+ return
+
+def OnFamilyLeaderLogin(curPlayer, curFamily):
+ ## 盟主登录处理
+ __DoFamilyMixServerLogicOnLeaderLogin(curPlayer, curFamily)
+ return
+
+def __DoFamilyMixServerLogicOnLeaderLogin(curPlayer, curFamily):
+ ## 合服仙盟盟主登录处理
+
+ isMixServer = PlayerDBGSEvent.GetDBGSTrig_ByKey(PlayerDBGSEvent.Def_IsMixServer)
+ if not isMixServer:
+ return
+ lastMixServerDay = PlayerDBGSEvent.GetDBGSTrig_ByKey(PlayerDBGSEvent.Def_LastMixServerDay)
+ familyID = curFamily.GetID()
+ familyMixServerDay = GetFamilyMixServerDay(curFamily)
+ if familyMixServerDay == lastMixServerDay:
+ GameWorld.DebugLog("已经处理过仙盟盟主合服登录逻辑! lastMixServerDay=%s" % (lastMixServerDay), familyID)
+ return
+ SetFamilyMixServerDay(curFamily, lastMixServerDay)
+ GameWorld.Log("处理合服仙盟盟主登录! lastMixServerDay=%s" % (lastMixServerDay), familyID)
+
+ mailItemList = IpyGameDataPY.GetFuncEvalCfg("MixServerMail", 4)
+ playerID = curPlayer.GetPlayerID()
+ detailDict = {}
+ GameWorld.Log(" 发送合服盟主专属补偿邮件! familyID=%s,mailItemList=%s" % (familyID, mailItemList), playerID)
+ PlayerCompensation.SendMailByKey("MixServer2", [playerID], mailItemList, detail=detailDict)
return
#---------------------------------------------------------------------
## 玩家下线家族刷新逻辑
--
Gitblit v1.8.0