From 6498fdc6f08fef79e9cd76b2d3ffefa06b472cd6 Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期二, 04 九月 2018 20:26:49 +0800 Subject: [PATCH] Add: 物品合成增加详细概率信息流向输出; --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerTJG.py | 54 +++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 53 insertions(+), 1 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 9a0f892..fb4486a 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerTJG.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerTJG.py @@ -51,7 +51,7 @@ import PlayerGeTui import ChEquip import QuestCommon - +import random # 可吞噬的装备位 Def_EatItem_EquipPlace = [ @@ -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