private void InitializeMafiaBots() { this.ClearMafiaBots(); #region Get Bots from Cache List <RoleplayBot> MafiaBots = RoleplayBotManager.CachedRoleplayBots.Values.Where(RoleplayBot => RoleplayBot != null && RoleplayBot.AIType == RoleplayBotAIType.MAFIAWARS).ToList(); RoleplayBot GreenBoss, BlueBoss, GreenThug1, GreenThug2, BlueThug1, BlueThug2; GreenBoss = MafiaBots.Where(MafiaWarsBot => MafiaWarsBot.Motto.ToLower().Contains("green") && MafiaWarsBot.Motto.ToLower().Contains("boss")).FirstOrDefault(); BlueBoss = MafiaBots.Where(MafiaWarsBot => MafiaWarsBot.Motto.ToLower().Contains("blue") && MafiaWarsBot.Motto.ToLower().Contains("boss")).FirstOrDefault(); GreenThug1 = MafiaBots.Where(MafiaWarsBot => MafiaWarsBot.Motto.ToLower().Contains("green") && !MafiaWarsBot.Motto.ToLower().Contains("boss")).First(); GreenThug2 = MafiaBots.Where(MafiaWarsBot => MafiaWarsBot.Motto.ToLower().Contains("green") && !MafiaWarsBot.Motto.ToLower().Contains("boss")).Last(); BlueThug1 = MafiaBots.Where(MafiaWarsBot => MafiaWarsBot.Motto.ToLower().Contains("blue") && !MafiaWarsBot.Motto.ToLower().Contains("boss")).First(); BlueThug2 = MafiaBots.Where(MafiaWarsBot => MafiaWarsBot.Motto.ToLower().Contains("blue") && !MafiaWarsBot.Motto.ToLower().Contains("boss")).Last(); GreenBoss.Dead = false; GreenBoss.Invisible = false; GreenThug1.Dead = false; GreenThug1.Invisible = false; GreenThug2.Dead = false; GreenThug2.Invisible = false; BlueBoss.Dead = false; BlueBoss.Invisible = false; BlueThug1.Dead = false; BlueThug1.Invisible = false; BlueThug2.Dead = false; BlueThug2.Invisible = false; #endregion #region Deploy bots RoleplayBotManager.DeployBotByID(GreenBoss.Id); RoleplayBotManager.DeployBotByID(BlueBoss.Id); RoleplayBotManager.DeployBotByID(GreenThug1.Id); RoleplayBotManager.DeployBotByID(GreenThug2.Id); RoleplayBotManager.DeployBotByID(BlueThug1.Id); RoleplayBotManager.DeployBotByID(BlueThug2.Id); #endregion #region Insert deployed bots into list new Thread(() => { Thread.Sleep(2000); this.MafiaBots.TryAdd("greenboss", RoleplayBotManager.GetDeployedBotById(GreenBoss.Id)); this.MafiaBots.TryAdd("greenthug1", RoleplayBotManager.GetDeployedBotById(GreenBoss.Id)); this.MafiaBots.TryAdd("greenthug2", RoleplayBotManager.GetDeployedBotById(GreenBoss.Id)); this.MafiaBots.TryAdd("blueboss", RoleplayBotManager.GetDeployedBotById(GreenBoss.Id)); this.MafiaBots.TryAdd("bluethug1", RoleplayBotManager.GetDeployedBotById(GreenBoss.Id)); this.MafiaBots.TryAdd("bluethug2", RoleplayBotManager.GetDeployedBotById(GreenBoss.Id)); }).Start(); #endregion }
/// <summary> /// Sends a message to a bot /// </summary> /// <param name="BotId"></param> /// <param name="Message"></param> internal void MessageBot(int BotId, string Message) { var serverMessage = new NewConsoleMessageComposer(Client.GetHabbo().Id, Message); serverMessage.WriteInteger(BotId); //userid serverMessage.WriteString(Client.GetHabbo().Username); serverMessage.WriteInteger(0); RoomUser Bot = RoleplayBotManager.GetDeployedBotById(BotId - RoleplayBotManager.BotFriendMultiplyer); Bot.GetBotRoleplayAI().OnMessaged(Client, Message); }
/// <summary> /// Gets the bots outfit /// </summary> /// <returns></returns> public string[] GetOutFit() { string[] Outfit = new string[2]; Outfit[0] = this.Figure; Outfit[1] = this.Motto; RoomUser User = RoleplayBotManager.GetDeployedBotById(this.Id); if (this.Dead) { if (this.Gender.ToLower() == "m") { Outfit[0] = RoleplayManager.SplitFigure(this.Figure, "lg-280-83.ch-215-83"); } if (this.Gender.ToLower() == "f") { Outfit[0] = RoleplayManager.SplitFigure(this.Figure, "lg-710-83.ch-635-83"); } Outfit[1] = "[MORTO] Paciente do Hospital"; } else if (this.Jailed) { Random Random = new Random(); int PrisonNumber = Random.Next(10000, 100000); if (Gender.ToLower() == "m") { Outfit[0] = RoleplayManager.SplitFigure(this.Figure, "lg-280-1323.sh-3016-92.ch-220-1323"); } if (Gender.ToLower() == "f") { Outfit[0] = RoleplayManager.SplitFigure(this.Figure, "lg-710-1323.sh-3016-92.ch-3067-1323"); } Outfit[1] = "[PRESO] ID do Criminoso [#" + PrisonNumber + "]"; } else if (User != null && User.GetBotRoleplayAI() != null && User.GetBotRoleplayAI().OnDuty) { if (this.WorkUniform != "Nenhum") { Outfit[0] = RoleplayManager.SplitFigure(this.Figure, this.WorkUniform); } Outfit[1] = "[TRABALHANDO] [" + GroupManager.GetJob(this.Corporation).Name + "]"; } return(Outfit); }
/// <summary> /// Initiates the bots death /// </summary> public void InitiateDeath() { this.Dead = true; this.UserAttacking = null; this.TimerManager.EndAllTimers(); this.CurHealth = this.MaxHealth; RoomUser Bot = RoleplayBotManager.GetDeployedBotById(this.Id); if (Bot == null) { return; } int HospitalRoomId = Convert.ToInt32(RoleplayData.GetData("hospital", "roomid2")); Room Hospital = RoleplayManager.GenerateRoom(HospitalRoomId); RoleplayBotManager.TransportDeployedBot(Bot, HospitalRoomId, true); this.TimerManager.CreateTimer("botdeath", this, 1000, true); }
public void Execute(GameClients.GameClient Session, Rooms.Room Room, string[] Params) { if (Params.Length == 1) { Session.SendWhisper("Por favor, insira o item que você gostaria de entregar!", 1); return; } if (RoleplayManager.CalledDelivery) { Session.SendWhisper("O remetente está muito ocupado agora mesmo! Por favor, tente novamente mais tarde.", 1); return; } bool DeliveryCame = false; string Item = Params[1]; switch (Item.ToLower()) { #region Weapons case "glock": case "magnum": case "mp5": case "pistola": { if (!Room.DeliveryEnabled) { Session.SendWhisper("O remetente não entrega a este quarto!", 1); break; } if (!Session.GetRoleplay().IsWorking&& !Session.GetHabbo().GetPermissions().HasRight("offer_anything")) { Session.SendWhisper("Você deve estar trabalhando para chamar o homem de entrega!", 1); break; } if (!GroupManager.HasJobCommand(Session, "weapon") && !Session.GetHabbo().GetPermissions().HasRight("offer_anything")) { Session.SendWhisper("Você não trabalha na loja de armas!", 1); break; } var Weapon = WeaponManager.getWeapon(Item.ToLower()); if (Weapon == null) { Session.SendWhisper("Por algum motivo, esta arma não pôde ser encontrada", 1); break; } if (Weapon.Stock > 0) { Session.SendWhisper("Aguarde até o " + Weapon.PublicName + " acabar o estoque para chamar o entregador!", 1); break; } RoleplayBot Bot = RoleplayBotManager.GetCachedBotByAI(RoleplayBotAIType.DELIVERY); if (Bot == null) { Session.SendWhisper("Nenhum mecanismo de entrega foi encontrado, entre em contato com um membro da equipe!", 1); break; } RoleplayManager.UserWhoCalledDelivery = Session.GetHabbo().Id; RoleplayManager.CalledDelivery = true; RoleplayManager.DeliveryWeapon = Weapon; new Thread(() => { if (Session.GetRoomUser() != null) { Session.Shout("*Pega seu telefone e chama o remetente, ordenando um novo estoque de " + Weapon.PublicName + "*", 4); Session.GetRoomUser().ApplyEffect(EffectsList.CellPhone); } Thread.Sleep(3000); if (Session.GetRoomUser() != null) { Session.GetRoomUser().ApplyEffect(0); } }).Start(); var BotUser = RoleplayBotManager.GetDeployedBotById(Bot.Id); new Thread(() => { Thread.Sleep(15000); RoleplayBot DeliverrBot = RoleplayBotManager.GetCachedBotByAI(RoleplayBotAIType.DELIVERY); if (!DeliveryCame) { if (DeliverrBot == null) { Session.SendWhisper("Não é possível obter o bot de entrega, tente novamente mais tarde!", 1); Thread.CurrentThread.Abort(); return; } else { RoleplayBotManager.DeployBotByAI(RoleplayBotAIType.DELIVERY, "default", Room.Id); DeliveryCame = true; } } while (Room != null && Room.GetRoomItemHandler() != null && Room.GetRoomItemHandler().GetFloor.Where(x => x.GetBaseItem().InteractionType == HabboHotel.Items.InteractionType.DELIVERY_BOX).ToList().Count <= 0) { Thread.Sleep(10); } Thread.Sleep(2000); RoleplayManager.CalledDelivery = false; }).Start(); break; } #endregion #region Default default: { Session.SendWhisper("Isso não é um item entregue!", 1); break; } #endregion } }
public RoomUser GetDeployedInstance() { return(RoleplayBotManager.GetDeployedBotById(this.Id)); }