From 7d72b082da27e949902ef083eb4ea2da201a013f Mon Sep 17 00:00:00 2001 From: hch <305670599@qq.com> Date: 星期六, 01 九月 2018 17:04:46 +0800 Subject: [PATCH] 3191 极光推送混服修改 --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerTJG.py | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 52 insertions(+), 0 deletions(-) diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerTJG.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerTJG.py index f13b50d..fb4486a 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerTJG.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerTJG.py @@ -826,6 +826,58 @@ return +def TJGGM(curPlayer, times): + # 真实上线 + npcID = FindTJGNPC(curPlayer) + if not npcID: + return + + # 此时由服务端重新找一次挂机NPC + PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PlayerKey_TJGNPC, npcID) + + GameWorld.DebugAnswer(curPlayer, "GM模拟脱机产出,npcid:%s, 时间秒:%s, 经验倍率:%s"%( + curPlayer.NomalDictGetProperty(ChConfig.Def_PlayerKey_TJGNPC), times, + curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_TotalExpRate))) + + + # 设置脱机登录时的等级, 上线通知清空, 没清空说明多次脱机挂登录 使用旧等级 + notifyLV = curPlayer.NomalDictGetProperty(ChConfig.Def_PDictType_TJGNotify_LV, 0, ChConfig.Def_PDictType_TJGNotify) + if not notifyLV: + PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDictType_TJGNotify_LV, curPlayer.GetLV(), ChConfig.Def_PDictType_TJGNotify) + + + # 记录秒单位 + NoteTJGTime(curPlayer, times) + OnTJGKillNPCByTimes(curPlayer, times) + + sendPack = ChPyNetSendPack.tagMCTJGInfo() + sendPack.Clear() + sendPack.Exp1 = curPlayer.NomalDictGetProperty(ChConfig.Def_PDictType_TJGNotify_Exp1, 0, ChConfig.Def_PDictType_TJGNotify) + sendPack.Exp2 = curPlayer.NomalDictGetProperty(ChConfig.Def_PDictType_TJGNotify_Exp2, 0, ChConfig.Def_PDictType_TJGNotify) + sendPack.Times = times + sendPack.PurpleEquip = curPlayer.NomalDictGetProperty(ChConfig.Def_PDictType_TJGNotify_Purple, 0, ChConfig.Def_PDictType_TJGNotify) + sendPack.OrangeEquip = curPlayer.NomalDictGetProperty(ChConfig.Def_PDictType_TJGNotify_Orange, 0, ChConfig.Def_PDictType_TJGNotify) + sendPack.EatPurpleEquip = curPlayer.NomalDictGetProperty(ChConfig.Def_PDictType_TJGNotify_EatPurple, 0, ChConfig.Def_PDictType_TJGNotify) + sendPack.GiveCnt = curPlayer.NomalDictGetProperty(ChConfig.Def_PDictType_TJGNotify_GiveCnt, 0, ChConfig.Def_PDictType_TJGNotify) + sendPack.BeforeLV = curPlayer.NomalDictGetProperty(ChConfig.Def_PDictType_TJGNotify_LV, 0, ChConfig.Def_PDictType_TJGNotify) + sendPack.Items = [] + itemIDList = IpyGameDataPY.GetFuncEvalCfg('OfflinePostItem', 1) + for itemID in itemIDList: + count = curPlayer.NomalDictGetProperty(ChConfig.Def_PDictType_TJGNotify_ItemID%itemID, 0, ChConfig.Def_PDictType_TJGNotify) + if count == 0: + continue + itemInfo = ChPyNetSendPack.tagMCTJGItems() + itemInfo.ItemID = itemID + itemInfo.Count = count + sendPack.Items.append(itemInfo) + sendPack.Cnt = len(sendPack.Items) + + NetPackCommon.SendFakePack(curPlayer, sendPack) + + curPlayer.ClearNomalDict(ChConfig.Def_PDictType_TJGNotify) + + + # 上线检查脱机时间是否正常运行, 弥补对应缺失时间,如维护2小时缺失的脱机挂收益 # 1. 非脱机死亡,2.存在脱机时间,3.离线时间超过5分钟;则一次补齐 离线时间-5分钟的收益并减少脱机时间 # 按当前经验倍率计算,且不会减buff时间 -- Gitblit v1.8.0