From 57855272e59c00bc255b296855ef6ef84a8eb617 Mon Sep 17 00:00:00 2001 From: hch <305670599@qq.com> Date: 星期二, 21 八月 2018 22:06:40 +0800 Subject: [PATCH] fix:离线状态机器人上线也是要补偿缺失时间收益 --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerTJG.py | 20 +++++++++++++------- 1 files changed, 13 insertions(+), 7 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 613f803..d18b3fe 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerTJG.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerTJG.py @@ -199,6 +199,9 @@ if curPlayer.GetIP() != "127.0.0.1": return PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PlayerKey_TJGNPC, clientData.NPCID) + + # 先弥补错失的时间 + LoginFixTJG(curPlayer, True) GameWorld.DebugLog("%s---OnTJGNPC:%s"%(curPlayer.GetName(),clientData.NPCID)) return @@ -805,7 +808,7 @@ # 1. 非脱机死亡,2.存在脱机时间,3.离线时间超过5分钟;则一次补齐 离线时间-5分钟的收益并减少脱机时间 # 按当前经验倍率计算,且不会减buff时间 # 找到对应的NPC,需读取对应挂机表 -def LoginFixTJG(curPlayer): +def LoginFixTJG(curPlayer, isTJG=False): # 外层需判断是真实玩家登录 tjgTime = GetTJGTime(curPlayer) # 秒 if not tjgTime: @@ -823,14 +826,17 @@ return times = min(seconds, tjgTime) - npcID = FindTJGNPC(curPlayer) - if not npcID: - return + if not isTJG: + # 真实上线 + npcID = FindTJGNPC(curPlayer) + if not npcID: + return + + # 此时由服务端重新找一次挂机NPC + PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PlayerKey_TJGNPC, npcID) - GameWorld.DebugLog("弥补脱机----npcid %s-%s"%(npcID, times)) + GameWorld.DebugLog("弥补脱机----npcid %s-%s"%(curPlayer.NomalDictGetProperty(ChConfig.Def_PlayerKey_TJGNPC), times)) - # 此时由服务端重新找一次挂机NPC - PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PlayerKey_TJGNPC, npcID) # 设置脱机登录时的等级, 上线通知清空, 没清空说明多次脱机挂登录 使用旧等级 notifyLV = curPlayer.NomalDictGetProperty(ChConfig.Def_PDictType_TJGNotify_LV, 0, ChConfig.Def_PDictType_TJGNotify) -- Gitblit v1.8.0