Esempio n. 1
0
 internal override void OnUserShout(Rooms.RoomUser User, string Message)
 {
     if (PiciEnvironment.GetRandomNumber(0, 10) >= 5)
     {
         GetRoomUser().Chat(null, LanguageLocale.GetValue("onusershout"), true); // shout nag
     }
 }
Esempio n. 2
0
 internal override void OnUserEnterRoom(Rooms.RoomUser User)
 {
     if (User.GetClient() != null && User.GetClient().GetHabbo() != null)
     {
         if (User.GetClient().GetHabbo().Username.ToLower() == "tim")
         {
             GetRoomUser().Chat(null, "TIM IN DA HOUSE!!!", true);
         }
     }
 }
Esempio n. 3
0
 internal override void OnUserEnterRoom(Rooms.RoomUser User)
 {
     if (User.GetClient().GetRoleplay().JobId == 3)
     {
         base.GetRoomUser().Chat(null, "Shit! It's the cops! I am out of here!", false, 1);
         base.GetRoomUser().Chat(null, "*Calls Taxi to place unknown*", true, 1);
         base.GetRoomUser().X            = 14;
         base.GetRoomUser().Y            = 1;
         base.GetRoomUser().Z            = 0;
         base.GetRoomUser().UpdateNeeded = true;
         muteChat = true;
         numCops += 1;
     }
 }
Esempio n. 4
0
        internal override void OnUserSay(Rooms.RoomUser User, string Message)
        {
            if (Gamemap.TileDistance(GetRoomUser().X, GetRoomUser().Y, User.X, User.Y) > 8)
            {
                return;
            }

            BotResponse Response = GetBotData().GetResponse(Message);

            if (Response == null)
            {
                return;
            }

            switch (Response.ResponseType.ToLower())
            {
            case "say":

                GetRoomUser().Chat(null, Response.ResponseText, false);
                break;

            case "shout":

                GetRoomUser().Chat(null, Response.ResponseText, true);
                break;

            case "whisper":

                ServerMessage TellMsg = new ServerMessage(Outgoing.Whisp);
                TellMsg.AppendInt32(GetRoomUser().VirtualId);
                TellMsg.AppendString(Response.ResponseText);
                TellMsg.AppendInt32(0);
                TellMsg.AppendInt32(0);
                TellMsg.AppendInt32(-1);

                User.GetClient().SendMessage(TellMsg);
                break;
            }

            if (Response.ServeId >= 1)
            {
                User.CarryItem(Response.ServeId);
            }
        }
Esempio n. 5
0
 internal override void OnUserShout(Rooms.RoomUser User, string Message)
 {
 }
Esempio n. 6
0
 internal override void OnUserEnterRoom(Rooms.RoomUser User)
 {
 }
Esempio n. 7
0
        internal override void OnUserSay(Rooms.RoomUser User, string Message)
        {
            if (muteChat)
            {
                return;
            }
            if (User.IsBot || User.GetClient() == null)
            {
                return;
            }
            if (User.GetClient().GetHabbo() == null)
            {
                return;
            }

            if (!User.GetClient().GetHabbo().CurrentRoom.RoomData.Description.Contains("DRUGDEPOT"))
            {
                return;
            }

            if (Message != "buy weed" && Message != "weed buy" && Message != "buy weed please")
            {
                return;
            }

            GameClients.GameClient Session = User.GetClient();

            if (Session.GetRoleplay().Weed < 100)
            {
                Random rnd          = new Random();
                int    buyWeed      = rnd.Next(1, 15);
                int    multipleCost = rnd.Next(1, 3);
                multipleCost = multipleCost * buyWeed;

                if (Session.GetHabbo().Credits >= multipleCost)
                {
                    base.GetRoomUser().Chat(null, "Hmm lets see, I have got " + buyWeed + "g of weed to sell.. The cost is $" + multipleCost + ", here you go.", true, 1);
                    Session.GetHabbo().Credits -= multipleCost;
                    Session.GetHabbo().UpdateCreditsBalance();
                    Session.GetRoleplay().Weed += buyWeed;
                }
                else
                {
                    base.GetRoomUser().Chat(null, "Dawg, who you playin? I got " + buyWeed + "g of weed to sell.. The cost is $" + multipleCost + ", and you aint even got that!", true, 1);
                }

                return;
            }
            else
            {
                base.GetRoomUser().Chat(null, "You trying to get me arrested? You already have over 100g of weed! Get outta here!", true, 1);
            }
            return;



            /*
             * if (Gamemap.TileDistance(GetRoomUser().X, GetRoomUser().Y, User.X, User.Y) > 8)
             * {
             *  return;
             * }
             *
             * BotResponse Response = GetBotData().GetResponse(Message);
             *
             * if (Response == null)
             * {
             *  return;
             * }
             *
             * switch (Response.ResponseType.ToLower())
             * {
             *  case "say":
             *
             *      GetRoomUser().Chat(null, Response.ResponseText, false, 0);
             *      break;
             *
             *  case "shout":
             *
             *      GetRoomUser().Chat(null, Response.ResponseText, true, 0);
             *      break;
             *
             *  case "whisper":
             *
             *      User.GetClient().SendMessage(new WhisperComposer(GetRoomUser(), Response.ResponseText, 0, 0));
             *      break;
             * }
             *
             * if (Response.ServeId >= 1)
             * {
             *  User.CarryItem(Response.ServeId);
             * }*/
        }
Esempio n. 8
0
        internal override void OnUserSay(Rooms.RoomUser User, string Message)
        {
            RoomUser Pet = GetRoomUser();

            if (Pet.PetData.DBState != Pets.DatabaseUpdateState.NeedsInsert)
            {
                Pet.PetData.DBState = Pets.DatabaseUpdateState.NeedsUpdate;
            }


            if (Message.ToLower().Equals(Pet.PetData.Name.ToLower()))
            {
                Pet.SetRot(Rotation.Calculate(Pet.X, Pet.Y, User.X, User.Y), false);
                return;
            }

            if ((Message.ToLower().StartsWith(Pet.PetData.Name.ToLower() + " ") && User.GetClient().GetHabbo().Username.ToLower() == GetRoomUser().PetData.OwnerName.ToLower()) || (Message.ToLower().StartsWith(Pet.PetData.Name.ToLower() + " ") && PetCommandHandeler.TryInvoke(Message.Substring(Pet.PetData.Name.ToLower().Length + 1)) == 8))
            {
                string Command = Message.Substring(Pet.PetData.Name.ToLower().Length + 1);

                int r = FirewindEnvironment.GetRandomNumber(1, 8); // Made Random
                if (Pet.PetData.Energy > 10 && r < 6 || Pet.PetData.Level > 15 || PetCommandHandeler.TryInvoke(Command) == 8)
                {
                    RemovePetStatus(); // Remove Status

                    switch (PetCommandHandeler.TryInvoke(Command))
                    {
                        // TODO - Level you can use the commands at...

                        #region free
                    case 1:
                        RemovePetStatus();

                        //int randomX = FirewindEnvironment.GetRandomNumber(0, GetRoom().Model.MapSizeX);
                        //int randomY = FirewindEnvironment.GetRandomNumber(0, GetRoom().Model.MapSizeY);
                        Point nextCoord = GetRoom().GetGameMap().getRandomWalkableSquare();
                        Pet.MoveTo(nextCoord.X, nextCoord.Y);

                        Pet.PetData.AddExpirience(10);     // Give XP

                        break;
                        #endregion

                        #region here
                    case 2:

                        RemovePetStatus();

                        int NewX = User.X;
                        int NewY = User.Y;

                        ActionTimer = 30;     // Reset ActionTimer

                        #region Rotation
                        if (User.RotBody == 4)
                        {
                            NewY = User.Y + 1;
                        }
                        else if (User.RotBody == 0)
                        {
                            NewY = User.Y - 1;
                        }
                        else if (User.RotBody == 6)
                        {
                            NewX = User.X - 1;
                        }
                        else if (User.RotBody == 2)
                        {
                            NewX = User.X + 1;
                        }
                        else if (User.RotBody == 3)
                        {
                            NewX = User.X + 1;
                            NewY = User.Y + 1;
                        }
                        else if (User.RotBody == 1)
                        {
                            NewX = User.X + 1;
                            NewY = User.Y - 1;
                        }
                        else if (User.RotBody == 7)
                        {
                            NewX = User.X - 1;
                            NewY = User.Y - 1;
                        }
                        else if (User.RotBody == 5)
                        {
                            NewX = User.X - 1;
                            NewY = User.Y + 1;
                        }
                        #endregion

                        Pet.PetData.AddExpirience(10);     // Give XP

                        Pet.MoveTo(NewX, NewY);
                        break;
                        #endregion

                        #region sit
                    case 3:
                        // Remove Status
                        RemovePetStatus();

                        Pet.PetData.AddExpirience(10);     // Give XP

                        // Add Status
                        Pet.Statusses.Add("sit", TextHandling.GetString(Pet.Z));
                        ActionTimer = 25;
                        EnergyTimer = 10;
                        break;
                        #endregion

                        #region lay
                    case 4:
                        // Remove Status
                        RemovePetStatus();

                        // Add Status
                        Pet.Statusses.Add("lay", TextHandling.GetString(Pet.Z));

                        Pet.PetData.AddExpirience(10);     // Give XP

                        ActionTimer = 30;
                        EnergyTimer = 5;
                        break;
                        #endregion

                        #region dead
                    case 5:
                        // Remove Status
                        RemovePetStatus();

                        // Add Status
                        Pet.Statusses.Add("ded", TextHandling.GetString(Pet.Z));

                        Pet.PetData.AddExpirience(10);     // Give XP

                        // Don't move to speak for a set amount of time.
                        SpeechTimer = 45;
                        ActionTimer = 30;

                        break;
                        #endregion

                        #region sleep
                    case 6:
                        // Remove Status
                        RemovePetStatus();

                        Pet.Chat(null, "ZzzZZZzzzzZzz", false);
                        Pet.Statusses.Add("lay", TextHandling.GetString(Pet.Z));

                        Pet.PetData.AddExpirience(10);     // Give XP

                        // Don't move to speak for a set amount of time.
                        EnergyTimer = 5;
                        SpeechTimer = 30;
                        ActionTimer = 45;
                        break;
                        #endregion

                        #region jump
                    case 7:
                        // Remove Status
                        RemovePetStatus();

                        // Add Status
                        Pet.Statusses.Add("jmp", TextHandling.GetString(Pet.Z));

                        Pet.PetData.AddExpirience(10);     // Give XP

                        // Don't move to speak for a set amount of time.
                        EnergyTimer = 5;
                        SpeechTimer = 10;
                        ActionTimer = 5;
                        break;
                        #endregion


                    default:
                        string[] Speech = PetLocale.GetValue("pet.unknowncommand");

                        Random RandomSpeech = new Random();
                        Pet.Chat(null, Speech[RandomSpeech.Next(0, Speech.Length - 1)], false);
                        break;
                    }
                    Pet.PetData.PetEnergy(false); // Remove Energy
                    Pet.PetData.PetEnergy(false); // Remove Energy
                }
                else
                {
                    RemovePetStatus(); // Remove Status

                    if (Pet.PetData.Energy < 10)
                    {
                        string[] Speech = PetLocale.GetValue("pet.tired");

                        Random RandomSpeech = new Random();
                        Pet.Chat(null, Speech[RandomSpeech.Next(0, Speech.Length - 1)], false);

                        Pet.Statusses.Add("lay", TextHandling.GetString(Pet.Z));

                        SpeechTimer = 50;
                        ActionTimer = 45;
                        EnergyTimer = 5;
                    }
                    else
                    {
                        string[] Speech = PetLocale.GetValue("pet.lazy");

                        Random RandomSpeech = new Random();
                        Pet.Chat(null, Speech[RandomSpeech.Next(0, Speech.Length - 1)], false);

                        Pet.PetData.PetEnergy(false); // Remove Energy
                    }
                }
            }
            //Pet = null;
        }
Esempio n. 9
0
        internal override void OnUserSay(Rooms.RoomUser User, string Message)
        {
            string[] special    = { "pedir panquecas", "pedir bife", "pedir batata", "pedir ovos", "pedir spaghetti", "pedir milkshakes" };
            bool     SpecialMsg = false;
            string   specialMsg = "";

            foreach (string spe in special)
            {
                if (Message.ToLower() == spe.ToLower())
                {
                    SpecialMsg = true;
                    specialMsg = spe;
                }
            }

            /*
             * if (Gamemap.TileDistance(GetRoomUser().X, GetRoomUser().Y, User.X, User.Y) > 8 && SpecialMsg)
             * {
             *  User.GetClient().SendWhisper("You must get closer to do this!");
             *  return;
             * }*/

            #region Ammunation


            if (base.GetRoom().RoomData.Description.Contains("AMMUNATION"))
            {
                if (SpecialMsg)
                {
                    bool HasWeapon = false;

                    foreach (KeyValuePair <string, Weapon> Wep in User.GetClient().GetRoleplay().Weapons)
                    {
                        if (HabboHotel.Roleplay.Combat.WeaponManager.GetWeaponName(Wep.Key) == specialMsg)
                        {
                            HasWeapon = true;
                        }
                    }

                    if (HasWeapon)
                    {
                        User.GetClient().SendWhisper("You already have a " + specialMsg + "!");
                        return;
                    }

                    User.GetClient().GetRoleplay().OfferData.Clear();

                    User.GetClient().SendWhisper("You were offered a " + specialMsg + " for $" + WeaponManager.WeaponsData[specialMsg].Price + ". Type #accept to accept or #deny to deny!");
                    base.GetRoomUser().Chat(null, "*Offers " + User.GetClient().GetHabbo().UserName + " a " + specialMsg + " for $" + WeaponManager.WeaponsData[specialMsg].Price + "*", false, 1);
                    User.GetClient().GetRoleplay().OfferData.Add(specialMsg, new Offer(null, specialMsg, 1, WeaponManager.WeaponsData[specialMsg].Price));
                }
            }

            #endregion

            #region Phone Shop
            if (base.GetRoom().RoomData.Description.Contains("PHONE"))
            {
                if (SpecialMsg)
                {
                    if (User.GetClient().GetRoleplay().Phone == 1)
                    {
                        User.GetClient().SendWhisper("You already have a phone!");
                        return;
                    }

                    base.GetRoomUser().Chat(null, "*Offers " + User.GetClient().GetHabbo().UserName + "a Nokia phone for $50*", true, 1);
                    User.GetClient().SendWhisper("You are being offered a phone for $50. Type #accept to accept or #deny to deny!");
                    User.GetClient().GetRoleplay().OfferData.Add("phone", new Offer(null, "phone", 1, 50));
                }
            }
            #endregion

            #region Store Rob

            if (base.GetRoom().RoomData.Description.Contains("STORE"))
            {
                #region Activate Store Robbing
                if (Message == "activate")
                {
                    if (RoleplayManager.BypassRights(User.GetClient()))
                    {
                        lastRobbed = 5001;
                        User.GetClient().SendWhisper("Store robbing re-activated!");
                    }
                }
                #endregion

                #region Stop Store Robbing
                if (Message == "stop")
                {
                    if (RoleplayManager.BypassRights(User.GetClient()))
                    {
                        robber      = null;
                        beingRobbed = false;
                        User.GetClient().GetRoleplay().robbingStore = 0;
                        User.GetClient().SendWhisper("Store robbing de-activated/restarted!");
                    }
                }
                #endregion

                #region Faster
                if (Message == "faster")
                {
                    if (beingRobbed)
                    {
                        if (robber.GetHabbo().Id == User.GetClient().GetHabbo().Id)
                        {
                            RoleplayManager.Shout(User.GetClient(), "Go faster or else ill blow you to bits!");
                            User.GetClient().GetHabbo().GetRoomUser().ApplyEffect(164);
                            base.GetRoomUser().Chat(null, "I'm sorry, please wait, im going my fastest!!", true, 1);
                            gatherSpeed = 2;
                        }
                    }
                }
                #endregion

                #region Rob

                if (Message == "rob")
                {
                    if (beingRobbed)
                    {
                        User.GetClient().SendWhisper("This place is currently being robbed!");
                        return;
                    }
                    else
                    {
                        if (disableRob)
                        {
                            User.GetClient().SendWhisper("This place was recently robbed!");
                            return;
                        }
                        else
                        {
                            if (!base.GetRoom().RoomData.Description.Contains("STOREROB"))
                            {
                                User.GetClient().SendWhisper("This cannot rob this place!");
                                return;
                            }
                            else
                            {
                                if (robberCount > 0)
                                {
                                    User.GetClient().SendWhisper("This place is already being robbed!");
                                    return;
                                }
                                else
                                {
                                    robber = User.GetClient();

                                    RoleplayManager.Shout(User.GetClient(), "Give me all your cash, before I blow your head to bits!");

                                    robber.GetRoleplay().robbingStore = Convert.ToInt32(robber.GetHabbo().CurrentRoomId);
                                    if (!RoleplayManager.PurgeTime)
                                    {
                                        robber.GetRoleplay().Wanted = 10;
                                        robber.GetRoleplay().SaveQuickStat("wanted", "" + 10);

                                        if (!RoleplayManager.WantedListData.ContainsKey(robber.GetHabbo().UserName.ToLower()))
                                        {
                                            RoleplayManager.WantedListData.TryAdd(robber.GetHabbo().UserName.ToLower(), 10 + "|" + Convert.ToInt32(robber.GetHabbo().CurrentRoomId));
                                        }

                                        robber.SendWhisper("You are now wanted for store robbery!");

                                        lock (Plus.GetGame().GetClientManager().Clients.Values)
                                        {
                                            foreach (GameClient client in Plus.GetGame().GetClientManager().Clients.Values)
                                            {
                                                if (client == null)
                                                {
                                                    continue;
                                                }
                                                if (client.GetRoleplay() == null)
                                                {
                                                    continue;
                                                }
                                                if (!JobManager.validJob(client.GetRoleplay().JobId, client.GetRoleplay().JobRank))
                                                {
                                                    continue;
                                                }
                                                if (!client.GetRoleplay().JobHasRights("police"))
                                                {
                                                    continue;
                                                }
                                                if (!client.GetRoleplay().Working)
                                                {
                                                    continue;
                                                }

                                                client.GetHabbo().GetRoomUser().LastBubble = 30;
                                                client.SendWhisper("<b>[Police Radio]:</b> " + robber.GetHabbo().UserName + " is robbing the store at " + robber.GetHabbo().CurrentRoomId + ", get there fast!");
                                                client.GetHabbo().GetRoomUser().LastBubble = 0;
                                            }
                                        }
                                    }

                                    base.GetRoomUser().Chat(null, "Okay, okay! Hold on please!!", true, 1);

                                    gatherSpeed = 0;
                                    gatherMsg   = 20;
                                    gatherNum   = 1;
                                    beingRobbed = true;
                                    attack      = new Random().Next(1, 10);
                                }
                            }
                        }
                    }
                }


                #endregion

                #endregion

                #region Eatery
                if (base.GetRoom().RoomData.Description.Contains("EATERY"))
                {
                    if (!event_serving)
                    {
                        if (SpecialMsg)
                        {
                            if (!User.GetClient().GetRoleplay().MultiCoolDown.ContainsKey("order_cooldown"))
                            {
                                User.GetClient().GetRoleplay().MultiCoolDown.Add("order_cooldown", 0);
                            }
                            if (User.GetClient().GetRoleplay().MultiCoolDown["order_cooldown"] > 0)
                            {
                                User.GetClient().SendWhisper("Você recentemente pediu algo, por favor, aguarde um pouco para encomendar novamente!");
                                return;
                            }

                            if (specialMsg.Contains("pedir"))
                            {
                                if (OriginalPosition == null)
                                {
                                    OriginalPosition = new Vector2D(GetRoomUser().X, GetRoomUser().Y);
                                }

                                serving = User.GetClient();
                                string   food = "";
                                string[] sp   = specialMsg.Split(' ');
                                foreach (string param in sp)
                                {
                                    food = sp[1];
                                }


                                event_serving_plate = retrieveItem("diner_tray_0", true, User);


                                if (event_serving_plate == null)
                                {
                                    User.GetClient().SendWhisper("Você precisa se sentar perto de um prato vazio!");
                                    return;
                                }

                                if (User.GetClient().GetRoleplay().Hunger <= 0)
                                {
                                    User.GetClient().SendWhisper("Parece que você já está cheio, você não precisa mais de comida!");
                                    return;
                                }

                                GetRoomUser().Chat(null, "Olá " + serving.GetHabbo().UserName + ", uma porção de " + food + " chegando!", true, 0);


                                event_serving_orderPlaced = true;
                                event_serving_fooditem    = food;
                                event_serving             = true;

                                //User.GetClient().GetRoleplay().MultiCoolDown["order_cooldown"] = 30;
                            }
                        }
                    }
                    else
                    {
                        if (SpecialMsg)
                        {
                            User.GetClient().SendWhisper("Alguém está fazendo o pedido, por favor, aguarde a sua vez!");

                            #region Delete Serve Session
                            if (serving == null)
                            {
                                event_serving = false;
                                return;
                            }
                            if (serving.GetHabbo() == null)
                            {
                                event_serving = false;
                                return;
                            }
                            if (serving.GetRoleplay() == null)
                            {
                                event_serving = false;
                                return;
                            }
                            if (serving.GetHabbo().CurrentRoom == null)
                            {
                                event_serving = false;
                                return;
                            }
                            if (serving.GetHabbo().CurrentRoom != GetRoom())
                            {
                                event_serving = false;
                                return;
                            }
                            #endregion
                        }
                    }
                }
                #endregion
            }
        }
Esempio n. 10
0
        internal override void OnUserSay(Rooms.RoomUser User, string Message)
        {
            if (User.IsBot || User.GetClient() == null)
            {
                return;
            }
            if (User.GetClient().GetHabbo() == null)
            {
                return;
            }

            if (!User.GetClient().GetHabbo().CurrentRoom.RoomData.Description.Contains("HOSP"))
            {
                return;
            }

            if (Message != "curar" && Message != "medkit" && Message != "kit")
            {
                return;
            }

            GameClients.GameClient Session = User.GetClient();

            if (Session.GetRoleplay().CurHealth < Session.GetRoleplay().MaxHealth || Session.GetRoleplay().Dead)
            {
                if (!Session.GetRoleplay().Dead)
                {
                    if (Session.GetRoleplay().BeingHealed)
                    {
                        Session.SendWhisper("Você já está sendo curado!");
                        return;
                    }
                    else
                    {
                        base.GetRoomUser().Chat(null, "*Aplica algumas bandagens em " + User.GetClient().GetHabbo().UserName + "curando suas feridas*", true, 1);
                    }
                }
                else
                {
                    int yolo = (RoleplayManager.PurgeTime == true) ? 2 : 1;
                    if (Session.GetRoleplay().DeadTimer <= yolo)
                    {
                        base.GetRoomUser().Chat(null, "*Descarrega " + Session.GetHabbo().UserName + " para o hospital*", true, 1);
                        Session.GetRoleplay().DeadTimer   = 0;
                        Session.GetRoleplay().DeadSeconds = 0;
                        Session.GetRoleplay().SaveStatusComponents("dead");
                        Session.GetRoleplay().healTimer   = new healTimer(Session);
                        Session.GetRoleplay().BeingHealed = true;
                        User.ApplyEffect(23);
                        return;
                    }
                    else
                    {
                        Session.SendWhisper("Você deve esperar pelo menos 1 minuto antes de poder pedir para ser liberado do hospital!");
                        return;
                    }
                }

                Session.GetRoleplay().healTimer   = new healTimer(Session);
                Session.GetRoleplay().BeingHealed = true;
                User.ApplyEffect(23);
                return;
            }
            else
            {
                User.GetClient().SendWhisper("Sua saúde já está cheia!");
            }
            return;



            /*
             * if (Gamemap.TileDistance(GetRoomUser().X, GetRoomUser().Y, User.X, User.Y) > 8)
             * {
             *  return;
             * }
             *
             * BotResponse Response = GetBotData().GetResponse(Message);
             *
             * if (Response == null)
             * {
             *  return;
             * }
             *
             * switch (Response.ResponseType.ToLower())
             * {
             *  case "say":
             *
             *      GetRoomUser().Chat(null, Response.ResponseText, false, 0);
             *      break;
             *
             *  case "shout":
             *
             *      GetRoomUser().Chat(null, Response.ResponseText, true, 0);
             *      break;
             *
             *  case "whisper":
             *
             *      User.GetClient().SendMessage(new WhisperComposer(GetRoomUser(), Response.ResponseText, 0, 0));
             *      break;
             * }
             *
             * if (Response.ServeId >= 1)
             * {
             *  User.CarryItem(Response.ServeId);
             * }*/
        }