public BotController(Player player, WowWindow wowWindow, KeyBindSender keyBindSender, BoxMgr boxMgr) { _player = player; _wowWindow = wowWindow; _keyBindSender = keyBindSender; _boxMgr = boxMgr; }
public TargetReader(BoxMgr boxMgr) : base(boxMgr, "target") { }
protected UnitReader(BoxMgr boxMgr, string unitName) { _boxMgr = boxMgr; UnitName = unitName + "-"; }
public TargetBase(BoxMgr boxMgr, string unitName) : base(boxMgr, unitName) { }
public PlayerReader(BoxMgr boxMgr, PositionReader positionReader) : base(boxMgr, "player") { Position = positionReader; }
public PositionReader(BoxMgr boxMgr) { _boxMgr = boxMgr; _unitName = "player-Position-"; }
public TargetOfTarget(BoxMgr boxMgr) : base(boxMgr, "targettarget") { }
public override int HandlePacket(GamePlayer player, GSPacketIn packet) { int operate = packet.ReadInt(); BoxInfo box = null; int result2; if (operate == 0) { int time = packet.ReadInt(); int onlineTime = (int)DateTime.Now.Subtract(player.BoxBeginTime).TotalMinutes; box = BoxMgr.FindTemplateByCondition(0, player.PlayerCharacter.Grade, player.PlayerCharacter.BoxProgression); if (box != null && onlineTime >= time && box.Condition == time) { using (ProduceBussiness db = new ProduceBussiness()) { db.UpdateBoxProgression(player.PlayerCharacter.ID, player.PlayerCharacter.BoxProgression, player.PlayerCharacter.GetBoxLevel, player.PlayerCharacter.AddGPLastDate, DateTime.Now, time); player.PlayerCharacter.AlreadyGetBox = time; player.PlayerCharacter.BoxGetDate = DateTime.Now; } } result2 = 0; } else { int type = packet.ReadInt(); GSPacketIn pkg = packet.Clone(); pkg.ClearContext(); bool updatedb = false; bool result = true; if (type == 0) { int onlineTime = (int)DateTime.Now.Subtract(player.BoxBeginTime).TotalMinutes; box = BoxMgr.FindTemplateByCondition(0, player.PlayerCharacter.Grade, player.PlayerCharacter.BoxProgression); if (box != null && (onlineTime >= box.Condition || player.PlayerCharacter.AlreadyGetBox == box.Condition)) { using (ProduceBussiness db = new ProduceBussiness()) { if (db.UpdateBoxProgression(player.PlayerCharacter.ID, box.Condition, player.PlayerCharacter.GetBoxLevel, player.PlayerCharacter.AddGPLastDate, DateTime.Now.Date, 0)) { player.PlayerCharacter.BoxProgression = box.Condition; player.PlayerCharacter.BoxGetDate = DateTime.Now.Date; player.PlayerCharacter.AlreadyGetBox = 0; updatedb = true; } } } } else { box = BoxMgr.FindTemplateByCondition(1, player.PlayerCharacter.GetBoxLevel, Convert.ToInt32(player.PlayerCharacter.Sex)); if (box != null && player.PlayerCharacter.Grade >= box.Level) { using (ProduceBussiness db = new ProduceBussiness()) { if (db.UpdateBoxProgression(player.PlayerCharacter.ID, player.PlayerCharacter.BoxProgression, box.Level, player.PlayerCharacter.AddGPLastDate, player.PlayerCharacter.BoxGetDate, 0)) { player.PlayerCharacter.GetBoxLevel = box.Level; updatedb = true; } } } } if (updatedb) { if (box != null) { List <ItemInfo> mailList = new List <ItemInfo>(); List <ItemInfo> items = new List <ItemInfo>(); int gold = 0; int money = 0; int giftToken = 0; int gp = 0; ItemBoxMgr.CreateItemBox(Convert.ToInt32(box.Template), items, ref gold, ref money, ref giftToken, ref gp); if (gold > 0) { player.AddGold(gold); } if (money > 0) { player.AddMoney(money, LogMoneyType.Award, LogMoneyType.Award); } if (giftToken > 0) { player.AddGiftToken(giftToken); } if (gp > 0) { player.AddGP(gp); } foreach (ItemInfo item in items) { item.RemoveType = 120; if (!player.AddItem(item)) { mailList.Add(item); } } if (type == 0) { player.BoxBeginTime = DateTime.Now; box = BoxMgr.FindTemplateByCondition(0, player.PlayerCharacter.Grade, player.PlayerCharacter.BoxProgression); if (box != null) { player.Out.SendMessage(eMessageType.Normal, LanguageMgr.GetTranslation("UserGetTimeBoxHandler.success", new object[] { box.Condition })); } else { player.Out.SendMessage(eMessageType.Normal, LanguageMgr.GetTranslation("UserGetTimeBoxHandler.todayOver", new object[0])); } } else { box = BoxMgr.FindTemplateByCondition(1, player.PlayerCharacter.GetBoxLevel, Convert.ToInt32(player.PlayerCharacter.Sex)); if (box != null) { player.Out.SendMessage(eMessageType.Normal, LanguageMgr.GetTranslation("UserGetTimeBoxHandler.level", new object[] { box.Level })); } else { player.Out.SendMessage(eMessageType.Normal, LanguageMgr.GetTranslation("UserGetTimeBoxHandler.over", new object[0])); } } if (mailList.Count > 0) { if (player.SendItemsToMail(mailList, LanguageMgr.GetTranslation("UserGetTimeBoxHandler.mail", new object[0]), LanguageMgr.GetTranslation("UserGetTimeBoxHandler.title", new object[0]), eMailType.OpenUpArk)) { player.Out.SendMessage(eMessageType.Normal, LanguageMgr.GetTranslation("UserGetTimeBixHandler..full", new object[0])); result = true; player.Out.SendMailResponse(player.PlayerCharacter.ID, eMailRespose.Receiver); } } } else { result = false; } } else { player.Out.SendMessage(eMessageType.Normal, LanguageMgr.GetTranslation("UserGetTimeBoxHandler.fail", new object[0])); } if (type == 0) { pkg.WriteBoolean(result); pkg.WriteInt(player.PlayerCharacter.BoxProgression); player.SendTCP(pkg); } result2 = 0; } return(result2); }
public ActionsReader(BoxMgr boxMgr) { _boxMgr = boxMgr; }
public override bool Start() { bool result = true; try { IsRunning = 0; Thread.CurrentThread.Priority = ThreadPriority.Normal; AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(this.CurrentDomain_UnhandledException); if (!this.StartScriptComponents()) { result = false; GameServer.log.Error("初始化脚本失败,请检查!"); return(result); } GameServer.log.Info("初始化脚本成功!"); if (!this.InitSocket(IPAddress.Parse(this.Config.GameIP), this.Config.GamePort)) { result = false; GameServer.log.Error("初始化监听端口失败,请检查!"); return(result); } GameServer.log.Info("初始化监听端口成功!"); if (!this.AllocatePacketBuffers()) { result = false; GameServer.log.Error("分配数据包缓冲区失败,请检查!"); return(result); } GameServer.log.Info("分配数据包缓冲区成功!"); //LogMgr.Setup if (!WorldMgr.Init()) { result = false; GameServer.log.Error("初始化世界场景失败,请检查!"); return(result); } GameServer.log.Info("初始化世界场景成功!"); if (!FusionMgr.Init()) { result = false; GameServer.log.Error("初始化熔炼失败,请检查!"); return(result); } GameServer.log.Info("初始化熔炼成功!"); if (!AwardMgr.Init()) { result = false; GameServer.log.Error("初始化奖励失败,请检查!"); return(result); } GameServer.log.Info("初始化奖励成功!"); if (!MissionInfoMgr.Init()) { result = false; GameServer.log.Error("初始化关卡失败,请检查!"); return(result); } GameServer.log.Info("初始化关卡成功!"); if (!PveInfoMgr.Init()) { result = false; GameServer.log.Error("初始化pve失败,请检查!"); return(result); } GameServer.log.Info("初始化pve成功!"); if (!FightRateMgr.Init()) { result = false; GameServer.log.Error("初始化战斗倍率失败,请检查!"); return(result); } GameServer.log.Info("初始化战斗倍率成功!"); if (!ConsortiaLevelMgr.Init()) { result = false; GameServer.log.Error("初始化公会等级失败,请检查!"); return(result); } GameServer.log.Info("初始化公会等级成功!"); if (!StrengthenMgr.Init()) { result = false; GameServer.log.Error("初始化强化失败,请检查!"); return(result); } GameServer.log.Info("初始化强化成功!"); if (!ShopMgr.Init()) { result = false; GameServer.log.Error("初始化商店失败,请检查!"); return(result); } GameServer.log.Info("初始化商店成功!"); if (!BoxMgr.Init()) { result = false; GameServer.log.Error("初始化时间宝箱失败,请检查!"); return(result); } GameServer.log.Info("初始化时间宝箱成功!"); if (!QuestMgr.Init()) { result = false; GameServer.log.Error("初始化任务失败,请检查!"); return(result); } GameServer.log.Info("初始化任务成功!"); if (!AchievementMgr.Init()) { result = false; GameServer.log.Error("初始化成就失败,请检查!"); return(result); } GameServer.log.Info("初始化成就成功!"); if (!AchievementMgr.Init()) { result = false; GameServer.log.Error("初始化成就失败,请检查!"); return(result); } GameServer.log.Info("初始化成就成功!"); if (!RoomMgr.Setup(this.Config.MaxRoomCount)) { result = false; GameServer.log.Error("初始化房间管理服务失败,请检查!"); return(result); } GameServer.log.Info("初始化房间管理服务成功!"); if (!GameMgr.Setup(1, 4)) { result = false; GameServer.log.Error("初始化游戏管理服务失败,请检查!"); return(result); } GameServer.log.Info("初始化游戏管理服务成功!"); if (!ConsortiaMgr.Init()) { result = false; GameServer.log.Error("初始化公会失败,请检查!"); return(result); } GameServer.log.Info("初始化公会成功!"); if (!Game.Server.Managers.RateMgr.Init(this.Config)) { result = false; GameServer.log.Error("初始化经验倍率管理服务失败,请检查!"); return(result); } GameServer.log.Info("初始化经验倍率管理服务成功!"); if (!MacroDropMgr.Init()) { result = false; GameServer.log.Error("初始化宏观掉落失败,请检查!"); return(result); } GameServer.log.Info("初始化宏观掉落成功!"); if (!BattleMgr.Setup(this.Config)) { result = false; GameServer.log.Error("加载战斗管理服务失败,请检查!"); return(result); } GameServer.log.Info("加载战斗管理服务成功!"); if (!this.InitGlobalTimer()) { result = false; GameServer.log.Error("初始化全局Timers失败,请检查!"); return(result); } GameServer.log.Info("初始化全局Timers成功!"); if (!this.InitLoginServer()) { result = false; GameServer.log.Error("登陆到中心服务器失败,请检查!"); return(result); } GameServer.log.Info("登陆到中心服务器成功!"); if (!MarryRoomMgr.Init()) { result = false; GameServer.log.Error("初始化礼堂失败,请检查!"); return(result); } GameServer.log.Info("初始化礼堂成功!"); if (!SpaRoomMgr.Init()) { result = false; GameServer.log.Error("初始化温泉失败,请检查!"); return(result); } GameServer.log.Info("初始化温泉成功!"); if (!ActiveMgr.Init()) { result = false; GameServer.log.Error("初始化活动失败,请检查!"); return(result); } GameServer.log.Info("初始化活动成功!"); if (!VIPMgr.Init()) { result = false; GameServer.log.Error("初始化VIP失败,请检查!"); return(result); } GameServer.log.Info("初始化VIP成功!"); if (!LevelMgr.Init()) { result = false; GameServer.log.Error("初始化等级失败,请检查!"); return(result); } GameServer.log.Info("初始化等级成功!"); /* if (!WorldBossMgr.Init()) * { * result = false; * GameServer.log.Error("初始化世界Boss失败,请检查!"); * return result; * } * GameServer.log.Info("初始化世界Boss成功!"); */ RoomMgr.Start(); GameMgr.Start(); BattleMgr.Start(); MacroDropMgr.Start(); if (!base.Start()) { result = false; GameServer.log.Error("启动基础服务失败,请检查!"); return(result); } GameServer.log.Info("启动基础服务成功!"); GameEventMgr.Notify(ScriptEvent.Loaded); GC.Collect(GC.MaxGeneration); //LogMgr.Setup(1, 1, 1); GameServer.log.Warn("游戏服务器启动成功!"); IsRunning = 1; } catch (Exception e) { GameServer.log.Error("Failed to start the server", e); // throw e; result = false; } return(result); }