Exemplo n.º 1
0
        public void Execute(GameClients.GameClient Session, Rooms.Room Room, string[] Params)
        {
            if (Params.Length == 1)
            {
                Session.SendWhisper("Insira um tipo de oferta, ':recusar (oferta)'. Verifique :ofertas para saber oque recusar!", 1);
                return;
            }

            string Type = Params[1];

            if (Session.GetRoleplay().OfferManager.ActiveOffers.Count <= 0)
            {
                Session.SendWhisper("Você não tem ofertas para recusar!", 1);
                return;
            }

            Weapon weapon = null;

            if (Type.ToLower() == "arma")
            {
                if (Session.GetRoleplay().OfferManager.ActiveOffers.Values.Where(x => WeaponManager.getWeapon(x.Type.ToLower()) != null).ToList().Count > 0)
                {
                    weapon = WeaponManager.getWeapon(Session.GetRoleplay().OfferManager.ActiveOffers.Values.FirstOrDefault(x => WeaponManager.getWeapon(x.Type.ToLower()) != null).Type.ToLower());
                }
            }

            if (Type.ToLower() == "cheques")
            {
                Type = "poupanca";
            }

            if (Session.GetRoleplay().OfferManager.ActiveOffers.ContainsKey(Type.ToLower()) || weapon != null)
            {
                RoleplayOffer Offer;
                if (weapon == null)
                {
                    Offer = Session.GetRoleplay().OfferManager.ActiveOffers[Type.ToLower()];
                }
                else
                {
                    Offer = Session.GetRoleplay().OfferManager.ActiveOffers[weapon.Name.ToLower()];
                }

                if (Offer.Params != null && Offer.Params.Length > 0)
                {
                    if (Offer.Type.ToLower() == "sementes")
                    {
                        if (Offer.Params.Length > 1)
                        {
                            RoleplayBotAI Bot = (RoleplayBotAI)Offer.Params[0];
                            Session.Shout("*Recuso a oferta " + (Type.Substring(0, 1).ToUpper() + Type.Substring(1)) + " de " + Bot.GetBotRoleplay().Name + "*", 4);
                        }
                        else
                        {
                            Session.Shout("*Recuso a oferta " + (Type.Substring(0, 1).ToUpper() + Type.Substring(1)) + " de " + PlusEnvironment.GetHabboById(Offer.OffererId).Username + "*", 4);
                        }
                    }
                    else
                    {
                        RoleplayBotAI Bot = (RoleplayBotAI)Offer.Params[0];
                        Session.Shout("*Recuso a oferta " + (Type.Substring(0, 1).ToUpper() + Type.Substring(1)) + " de " + Bot.GetBotRoleplay().Name + "*", 4);
                    }
                }
                else
                {
                    Session.Shout("*Recuso a oferta " + (Type.Substring(0, 1).ToUpper() + Type.Substring(1)) + " de " + PlusEnvironment.GetHabboById(Offer.OffererId).Username + "*", 4);
                }

                RoleplayOffer Junk;
                Session.GetRoleplay().OfferManager.ActiveOffers.TryRemove(Offer.Type.ToLower(), out Junk);
            }
            else
            {
                Session.SendWhisper("Você não tem uma oferta de " + (Type.Substring(0, 1).ToUpper() + Type.Substring(1)) + "! Verifique ':ofertas' e veja todas ativas!", 1);
                return;
            }
        }
Exemplo n.º 2
0
        public void Execute(GameClients.GameClient Session, Rooms.Room Room, string[] Params)
        {
            StringBuilder Message = new StringBuilder().Append("<----- Ofertas ativas atualmente ----->\n\n");

            if (Session.GetRoleplay().OfferManager.ActiveOffers.Count <= 0)
            {
                Message.Append("Você atualmente não tem ofertas ativas!\n");
            }
            else
            {
                Message.Append("Digite ':aceitar OFERTA' (As OFERTAS são [celular/casamento/gangue/roupa, e outras]!\n\n");
            }

            lock (Session.GetRoleplay().OfferManager.ActiveOffers.Values)
            {
                foreach (var Offer in Session.GetRoleplay().OfferManager.ActiveOffers.Values)
                {
                    if (Offer == null)
                    {
                        continue;
                    }

                    string Name = "";
                    if (Offer.Params != null && Offer.Params.Length > 0)
                    {
                        if (Offer.Type.ToLower() == "sementes" && Offer.Params.ToList().Count == 1)
                        {
                            var OffererCache = PlusEnvironment.GetGame().GetCacheManager().GenerateUser(Offer.OffererId);
                            Name = OffererCache.Username;
                        }
                        else
                        {
                            RoleplayBotAI Bot = (RoleplayBotAI)Offer.Params[0];
                            Name = "[BOT] " + Bot.GetBotRoleplay().Name;
                        }
                    }
                    else
                    {
                        var OffererCache = PlusEnvironment.GetGame().GetCacheManager().GenerateUser(Offer.OffererId);
                        Name = OffererCache.Username;
                    }

                    string PhoneName = RoleplayManager.GetPhoneName(Session, true);
                    string CarName   = RoleplayManager.GetCarName(Session, true);

                    if (Offer.Type.ToLower() == "casamento")
                    {
                        Message.Append("Casamento: " + Name + " pediu sua mão em casamento!\n\n");
                    }
                    else if (Offer.Type.ToLower() == "sacodesementes")
                    {
                        Message.Append("Saco de Sementes: Um Saco de Sementes por R$" + String.Format("{0:N0}", Offer.Cost) + " de " + Name + "!\n\n");
                    }
                    else if (Offer.Type.ToLower() == "sacodeplantas")
                    {
                        Message.Append("Saco de Plantas: Um Saco de Plantas por R$" + String.Format("{0:N0}", Offer.Cost) + " de " + Name + "!\n\n");
                    }
                    else if (Offer.Type.ToLower() == "sementes")
                    {
                        FarmingItem Item = (FarmingItem)Offer.Params[1];

                        ItemData Furni;
                        if (PlusEnvironment.GetGame().GetItemManager().GetItem(Item.BaseItem, out Furni))
                        {
                            Message.Append("Sementes: " + Name + " ofereceu para você " + Offer.Cost + " " + Furni.PublicName + " sementes por R$" + String.Format("{0:N0}", (Offer.Cost * Item.BuyPrice)) + "!\n\n");
                        }
                    }
                    else if (Offer.Type.ToLower() == "desconto")
                    {
                        Message.Append("Roupas: Desconto de 5% para comprar roupas de " + Name + "!\n\n");
                    }
                    else if (Offer.Type.ToLower() == "celular")
                    {
                        Message.Append("Celular: Um Nokia Tijolão por " + Name + "!\n\n");
                    }
                    else if (Offer.Type.ToLower() == "carro")
                    {
                        Message.Append("Carro: Um Toyota Corolla por $1,000 from " + Name + "!\n\n");
                    }
                    else if (Offer.Type.ToLower() == "cheques")
                    {
                        Message.Append("Cheques: Uma conta de Cheques no branco grátis de " + Name + "!\n\n");
                    }
                    else if (Offer.Type.ToLower() == "poupanca")
                    {
                        Message.Append("Poupança: Uma conta Poupança por R$" + String.Format("{0:N0}", Offer.Cost) + " de " + Name + "!\n\n");
                    }
                    else if (Offer.Type.ToLower() == "uparcel")
                    {
                        Message.Append("Atualização de Celular: Uma atualização para o seu " + PhoneName + " por R$" + String.Format("{0:N0}", Offer.Cost) + " de " + Name + "!\n\n");
                    }
                    else if (Offer.Type.ToLower() == "uparcarro")
                    {
                        Message.Append("Atualização de Carro: Uma atualização para o seu " + CarName + " por R$" + String.Format("{0:N0}", Offer.Cost) + " de " + Name + "!\n\n");
                    }
                    else if (Offer.Type.ToLower() == "gangue")
                    {
                        var Gang = Groups.GroupManager.GetGang(Offer.Cost);

                        if (Gang != null)
                        {
                            Message.Append("Gangue: Convidado para se juntar à gangue '" + Gang.Name + "' por " + Name + "!\n\n");
                        }
                    }
                    else if (Offer.Type.ToLower() == "emprego")
                    {
                        var Job     = Groups.GroupManager.GetJob(Offer.Cost);
                        var JobRank = Groups.GroupManager.GetJobRank(Job.Id, 1);

                        if (Job != null)
                        {
                            Message.Append("Emprego: Convidado para se juntar a Empresa '" + Job.Name + "' como um '" + JobRank.Name + "' por " + Name + "!\n\n");
                        }
                    }
                    else if (WeaponManager.Weapons.ContainsKey(Offer.Type.ToLower()))
                    {
                        Weapon weapon = WeaponManager.Weapons[Offer.Type.ToLower()];

                        if (weapon != null)
                        {
                            Message.Append("Armas: Uma " + weapon.PublicName + " por R$" + String.Format("{0:N0}", weapon.Cost) + " de " + Name + "!\n\n");
                        }
                    }
                }
            }
            Session.SendMessage(new MOTDNotificationComposer(Message.ToString()));
        }