/// <summary> /// /// </summary> /// <param name="client"></param> /// <param name="optType"></param> /// <param name="optTag"></param> /// <param name="logRecordType"></param> /// <param name="args"></param> public static void AddRoleEvent(GameClient client, OpTypes optType, OpTags optTag, LogRecordType logRecordType, params object[] args) { try { if (!GameManager.FlagEnableOperatorEventLog) { return; } string eventMsg = string.Format("{0}\t{1}\t{2}\t{3}\t{4}\t{5}\t{6}", (int)logRecordType, client.ServerId, client.ClientData.ZoneID, client.strUserID, client.ClientData.RoleID, (int)optType, (int)optTag ); foreach (var arg in args) { eventMsg += "\t" + arg; } SystemRoleEvents[(int)RoleEvent.OperatorEvent].AddEvent(eventMsg, EventLevels.Important); } catch (System.Exception ex) { LogManager.WriteLog(LogTypes.Exception, ex.ToString()); } }
/// <summary> /// 添加货币、代币日志 /// </summary> /// <param name="client">角色对象</param> /// <param name="optType">操作类型</param> /// <param name="optTag"></param> /// <param name="addValue">正负值</param> /// <param name="curValue">如果不知道,可以传-1</param> /// <param name="msg">附加消息</param> public static void AddMoneyEvent(GameClient client, OpTypes optType, OpTags optTag, MoneyTypes moneyType, long addValue, long curValue = -1, string msg = "none") { try { if (!GameManager.FlagEnableMoneyEventLog) { return; } //不变化不记录 if (optType == OpTypes.AddOrSub && addValue == 0) { return; } //获取当前值 if (curValue == -1) { switch (moneyType) { case MoneyTypes.YuanBao: curValue = client.ClientData.UserMoney; break; case MoneyTypes.YinLiang: curValue = client.ClientData.YinLiang; break; case MoneyTypes.TongQian: curValue = client.ClientData.Money1; break; case MoneyTypes.BindYuanBao: curValue = client.ClientData.Money2; break; case MoneyTypes.BangGong: curValue = client.ClientData.BangGong; break; case MoneyTypes.XingHun: curValue = client.ClientData.StarSoul; break; case MoneyTypes.Exp: curValue = client.ClientData.Experience; break; } } AddMoneyEvent(client.ServerId, client.ClientData.ZoneID, client.strUserID, client.ClientData.RoleID, optType, optTag, moneyType, addValue, curValue, msg); } catch (System.Exception ex) { LogManager.WriteLog(LogTypes.Exception, ex.ToString()); } }
public static void AddGoodsEvent(GameClient client, OpTypes optType, OpTags optTag, int goodsId, long dbId, int addValue, int curValue, string msg) { try { //暂时不计变化量为0的日志(如整理背包产生的) if (addValue == 0) { return; } if (!GameManager.FlagEnableGoodsEventLog) { return; } if (!LogFilterConfig.LogGoodsIdLog(goodsId)) { return; } int serverId = client.ServerId; string userID = client.strUserID; long roleId = client.ClientData.RoleID; int zoneId = client.ClientData.ZoneID; string eventMsg = string.Format("{0}\t{1}\t{2}\t{3}\t{4}\t{5}\t{6}\t{7}\t{8}\t{9}\t{10}\t{11}", (int)LogRecordType.GoodsEvent, serverId, zoneId, userID, roleId, (int)optType, (int)optTag, goodsId, dbId, addValue, curValue, msg ); SystemRoleEvents[(int)RoleEvent.GoodsEvent].AddEvent(eventMsg, EventLevels.Important); } catch (System.Exception ex) { LogManager.WriteLog(LogTypes.Exception, ex.ToString()); } }
/// <summary> /// 添加货币、代币日志 /// </summary> /// <param name="serverId"></param> /// <param name="userId"></param> /// <param name="roleId"></param> /// <param name="optType"></param> /// <param name="optTag"></param> /// <param name="addValue"></param> /// <param name="curValue"></param> /// <param name="msg"></param> public static void AddMoneyEvent(int serverId, int zoneId, string userId, long roleId, OpTypes optType, OpTags optTag, MoneyTypes moneyType, long addValue, long curValue, string msg) { try { if (!GameManager.FlagEnableMoneyEventLog) { return; } if (!LogFilterConfig.LogMoneyTypeLog((int)moneyType)) { return; } if (zoneId == 0) { zoneId = CacheManager.GetZoneIdByRoleId(roleId, serverId); } string eventMsg = string.Format("{0}\t{1}\t{2}\t{3}\t{4}\t{5}\t{6}\t{7}\t{8}\t{9}\t{10}", (int)LogRecordType.MoneyEvent, serverId, zoneId, userId, roleId, (int)moneyType, (int)optType, (int)optTag, addValue, curValue, msg ); SystemRoleEvents[(int)RoleEvent.MoneyEvent].AddEvent(eventMsg, EventLevels.Important); } catch (System.Exception ex) { LogManager.WriteLog(LogTypes.Exception, ex.ToString()); } }