コード例 #1
0
        public void Parse(HabboHotel.GameClients.GameClient Session, ClientPacket Packet)
        {
            if (Session == null || Session.GetHabbo() == null || !Session.GetHabbo().GetPermissions().HasRight("mod_kick"))
            {
                return;
            }

            int    UserId  = Packet.PopInt();
            string Message = Packet.PopString();

            GameClient Client = QuasarEnvironment.GetGame().GetClientManager().GetClientByUserID(UserId);

            if (Client == null || Client.GetHabbo() == null || Client.GetHabbo().CurrentRoomId < 1 || Client.GetHabbo().Id == Session.GetHabbo().Id)
            {
                return;
            }

            if (Client.GetHabbo().Rank >= Session.GetHabbo().Rank)
            {
                Session.SendNotification(LanguageLocale.Get(Session, "no_kick_permission"));
                return;
            }

            Room Room = null;

            if (!QuasarEnvironment.GetGame().GetRoomManager().TryGetRoom(Session.GetHabbo().CurrentRoomId, out Room))
            {
                return;
            }

            Room.GetRoomUserManager().RemoveUserFromRoom(Client, true, false);
        }
コード例 #2
0
ファイル: ModerationTool.cs プロジェクト: fuding/Coolmemes
        internal void SendNewTicket(GameClient Session, int Category, int ReportedUser, String Message, string[] Chats)
        {
            if (Session.GetHabbo().CurrentRoomId <= 0)
            {
                return;
            }

            var Data = OtanixEnvironment.GetGame().GetRoomManager().GenerateRoomData(Session.GetHabbo().CurrentRoomId);

            if (Data == null)
            {
                return;
            }

            using (var dbClient = OtanixEnvironment.GetDatabaseManager().getQueryreactor())
            {
                dbClient.runFastQuery("UPDATE user_info SET cfhs = cfhs + 1 WHERE user_id = " + Session.GetHabbo().Id + "");
            }

            var Ticket = new SupportTicket((Tickets.Count + 1), 1, Category, Session.GetHabbo().Id, Session.GetHabbo().Username, ReportedUser, Message, Data.Id, Data.Name, OtanixEnvironment.GetUnixTimestamp(), Chats);


            NotificaStaff.Notifica(LanguageLocale.GetValue("alertastaff.imagem"), LanguageLocale.GetValue("alertastaff.mensagem"));

            Tickets.Add(Ticket);
            SendTicketToModerators(Ticket);
        }
コード例 #3
0
        internal void GetCatalogPage()
        {
            CatalogPage Page = ButterflyEnvironment.GetGame().GetCatalog().GetPage(Request.PopWiredInt32());

            if (Page == null || !Page.Enabled || !Page.Visible || Page.ComingSoon || Session.GetHabbo().Rank < Page.MinRank)
            {
                return;
            }

            if (Page.ClubOnly && !Session.GetHabbo().GetSubscriptionManager().HasSubscription("habbo_club"))
            {
                Session.SendNotif(LanguageLocale.GetValue("catalog.missingclubmembership"));
                return;
            }

            Session.SendMessage(Page.GetMessage);

            if (Page.Layout == "recycler")
            {
                GetResponse().Init(507);
                GetResponse().AppendBoolean(true);
                GetResponse().AppendBoolean(false);
                SendResponse();
            }
        }
コード例 #4
0
        internal bool SetWallItem(GameClient Session, RoomItem Item)
        {
            if (!Item.IsWallItem || mWallItems.ContainsKey(Item.Id))
            {
                return(false);
            }
            if (mFloorItems.ContainsKey(Item.Id))
            {
                Session.SendNotif(LanguageLocale.GetValue("room.itemplaced"));
                return(true);
            }
            Item.Interactor.OnPlace(Session, Item);

            if (Item.GetBaseItem().InteractionType == InteractionType.dimmer)
            {
                if (room.MoodlightData == null)
                {
                    room.MoodlightData           = new MoodlightData(Item.Id);
                    ((StringData)Item.data).Data = room.MoodlightData.GenerateExtraData();
                }
            }

            mWallItems.Add(Item.Id, Item);
            AddItem(Item);

            ServerMessage Message = new ServerMessage(Outgoing.AddWallItemToRoom);

            Item.Serialize(Message, room.OwnerId);
            Message.AppendString(room.Owner); // TODO
            room.SendMessage(Message);

            return(true);
        }
コード例 #5
0
 private void GiveBadges()
 {
     if (badgeQueue.Count > 0)
     {
         lock (badgeQueue.SyncRoot)
         {
             while (badgeQueue.Count > 0)
             {
                 string badgeID = (string)badgeQueue.Dequeue();
                 foreach (GameClient client in clients.Values)
                 {
                     if (client.GetHabbo() == null)
                     {
                         continue;
                     }
                     try
                     {
                         client.GetHabbo().GetBadgeComponent().GiveBadge(badgeID, true);
                         client.SendNotif(LanguageLocale.GetValue("user.badgereceived"));
                     }
                     catch { }
                 }
             }
         }
     }
 }
コード例 #6
0
 private void GiveCredits()
 {
     if (creditQueuee.Count > 0)
     {
         lock (creditQueuee.SyncRoot)
         {
             while (creditQueuee.Count > 0)
             {
                 int amount = (int)creditQueuee.Dequeue();
                 foreach (GameClient client in clients.Values)
                 {
                     if (client.GetHabbo() == null)
                     {
                         continue;
                     }
                     try
                     {
                         client.GetHabbo().Credits += amount;
                         client.GetHabbo().UpdateCreditsBalance();
                         client.SendNotif(LanguageLocale.GetValue("user.creditsreceived") + ": " + amount);
                     }
                     catch { }
                 }
             }
         }
     }
 }
コード例 #7
0
ファイル: ModerationTool.cs プロジェクト: fuding/Coolmemes
        internal static void KickUser(GameClient ModSession, uint UserId, String Message, Boolean Soft)
        {
            var Client = OtanixEnvironment.GetGame().GetClientManager().GetClientByUserID(UserId);

            if (Client == null || Client.GetHabbo().CurrentRoomId < 1 || Client.GetHabbo().Id == ModSession.GetHabbo().Id)
            {
                return;
            }

            if (Client.GetHabbo().Rank >= ModSession.GetHabbo().Rank)
            {
                ModSession.SendNotif(LanguageLocale.GetValue("moderation.kick.missingrank"));
                return;
            }

            var Room = OtanixEnvironment.GetGame().GetRoomManager().GetRoom(Client.GetHabbo().CurrentRoomId);

            if (Room == null)
            {
                return;
            }

            Room.GetRoomUserManager().RemoveUserFromRoom(Client, true, false);

            if (!Soft)
            {
                Client.SendNotif(Message);

                using (var dbClient = OtanixEnvironment.GetDatabaseManager().getQueryreactor())
                {
                    dbClient.runFastQuery("UPDATE user_info SET cautions = cautions + 1 WHERE user_id = " + UserId + "");
                }
            }
        }
コード例 #8
0
ファイル: ModerationTool.cs プロジェクト: TheNaked/Firewind
        internal static void AlertUser(GameClient ModSession, uint UserId, String Message, Boolean Caution)
        {
            GameClient Client = FirewindEnvironment.GetGame().GetClientManager().GetClientByUserID(UserId);

            if (Client == null || Client.GetHabbo().Id == ModSession.GetHabbo().Id)
            {
                return;
            }

            if (Caution && Client.GetHabbo().Rank >= ModSession.GetHabbo().Rank)
            {
                ModSession.SendNotif(LanguageLocale.GetValue("moderation.caution.missingrank"));
                Caution = false;
            }

            Client.SendNotif(Message, Caution);

            if (Caution)
            {
                using (IQueryAdapter dbClient = FirewindEnvironment.GetDatabaseManager().getQueryreactor())
                {
                    dbClient.runFastQuery("UPDATE user_info SET cautions = cautions + 1 WHERE user_id = " + UserId + "");
                }
            }
        }
コード例 #9
0
        internal static void ModKickUser(GameClient ModSession, uint UserId, string Reason)
        {
            var Client = OtanixEnvironment.GetGame().GetClientManager().GetClientByUserID(UserId);

            if (Client == null || Client.GetHabbo().CurrentRoomId < 1 || Client.GetHabbo().Id == ModSession.GetHabbo().Id)
            {
                return;
            }

            if (Client.GetHabbo().Rank >= ModSession.GetHabbo().Rank)
            {
                ModSession.SendNotif(LanguageLocale.GetValue("moderation.kick.missingrank"));
                return;
            }

            var Room = OtanixEnvironment.GetGame().GetRoomManager().GetRoom(Client.GetHabbo().CurrentRoomId);

            if (Room == null)
            {
                return;
            }

            Room.GetRoomUserManager().RemoveUserFromRoom(Client, true, false);

            if (Client != null)
            {
                ServerMessage nMessage = new ServerMessage(Outgoing.SendLinkNotif);
                nMessage.AppendString("Un piccolo avviso. Sei stato segnalato per " + Reason.ToLower() + ". Forse ti serve un ripasso della Platinum Way!");
                nMessage.AppendString("http://www." + EmuSettings.HOTEL_LINK + "/playing-habbo/safety");
                Client.SendMessage(nMessage);
            }
        }
コード例 #10
0
        public RoomData CreateRoom(GameClient Session, string Name, string Description, string Model, int Category, int MaxVisitors, int TradeSettings)
        {
            if (!_roomModels.ContainsKey(Model))
            {
                Session.SendNotification(LanguageLocale.Get(Session, "invalid_room_model"));
                return(null);
            }

            if (Name.Length < 3)
            {
                Session.SendNotification(LanguageLocale.Get(Session, "invalid_room_name_length"));
                return(null);
            }

            int RoomId = 0;

            using (IQueryAdapter dbClient = QuasarEnvironment.GetDatabaseManager().GetQueryReactor())
            {
                dbClient.SetQuery("INSERT INTO `rooms` (`roomtype`,`caption`,`description`,`owner`,`model_name`,`category`,`users_max`,`trade_settings`) VALUES ('private',@caption,@description,@UserId,@model,@category,@usersmax,@tradesettings)");
                dbClient.AddParameter("caption", Name);
                dbClient.AddParameter("description", Description);
                dbClient.AddParameter("UserId", Session.GetHabbo().Id);
                dbClient.AddParameter("model", Model);
                dbClient.AddParameter("category", Category);
                dbClient.AddParameter("usersmax", MaxVisitors);
                dbClient.AddParameter("tradesettings", TradeSettings);

                RoomId = Convert.ToInt32(dbClient.InsertQuery());
            }

            RoomData newRoomData = GenerateRoomData(RoomId);

            Session.GetHabbo().UsersRooms.Add(newRoomData);
            return(newRoomData);
        }
コード例 #11
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
     }
 }
コード例 #12
0
ファイル: GameClient.cs プロジェクト: fuding/Coolmemes
        internal void SendBanMessage(string Message)
        {
            var BanMessage = new ServerMessage(Outgoing.SendNotif);

            BanMessage.AppendString(LanguageLocale.GetValue("moderation.banmessage"));
            BanMessage.AppendString(Message);
            GetConnection().SendData(BanMessage.GetBytes());
        }
コード例 #13
0
        internal void SendBanMessage(string Message)
        {
            ServerMessage BanMessage = new ServerMessage(35);

            BanMessage.AppendStringWithBreak(LanguageLocale.GetValue("moderation.banmessage"), 13);
            BanMessage.AppendStringWithBreak(Message);
            GetConnection().SendData(BanMessage.GetBytes());
        }
コード例 #14
0
ファイル: Habbo.cs プロジェクト: nightwolf93/Bfly
 internal void Unmute()
 {
     if (this.Muted)
     {
         GetClient().SendNotif(LanguageLocale.GetValue("moderation.unmuted"));
         this.Muted = false;
     }
 }
コード例 #15
0
ファイル: Habbo.cs プロジェクト: nightwolf93/Bfly
 internal void Mute()
 {
     if (!this.Muted)
     {
         GetClient().SendNotif(LanguageLocale.GetValue("moderation.muted"));
         this.Muted = true;
     }
 }
コード例 #16
0
 internal override void OnSelfEnterRoom()
 {
     GetRoomUser().Chat(null, LanguageLocale.GetValue("guide.message"), true);
     //GetRoomUser().Chat(null, "This is your own room, you can always come back to room by clicking the nest icon on the left.", false);
     //GetRoomUser().Chat(null, "If you want to explore the Habbo by yourself, click on the orange hotel icon on the left (we call it navigator).", false);
     //GetRoomUser().Chat(null, "You will find cool rooms and fun events with other people in them, feel free to visit them.", false);
     GetRoomUser().Chat(null, LanguageLocale.GetValue("guide.question"), false);
 }
コード例 #17
0
        internal void MarketplacePurchase()
        {
            uint    ItemId = Request.PopWiredUInt();
            DataRow Row    = null;

            using (IQueryAdapter dbClient = ButterflyEnvironment.GetDatabaseManager().getQueryreactor())
            {
                dbClient.setQuery("SELECT state, timestamp, total_price, extra_data, item_id FROM catalog_marketplace_offers WHERE offer_id = " + ItemId + " ");
                Row = dbClient.getRow();
            }

            if (Row == null || (string)Row["state"] != "1" || (double)Row["timestamp"] <= Marketplace.FormatTimestamp())
            {
                Session.SendNotif(LanguageLocale.GetValue("catalog.offerexpired"));
                return;
            }

            Item Item = ButterflyEnvironment.GetGame().GetItemManager().GetItem(Convert.ToUInt32(Row["item_id"]));

            if (Item == null)
            {
                return;
            }

            int prize = (int)Row["total_price"];

            if ((int)Row["total_price"] >= 1)
            {
                Session.GetHabbo().Credits -= prize;
                Session.GetHabbo().UpdateCreditsBalance();
            }

            ButterflyEnvironment.GetGame().GetCatalog().DeliverItems(Session, Item, 1, (String)Row["extra_data"]);
            Session.GetHabbo().GetInventoryComponent().RunDBUpdate();

            using (IQueryAdapter dbClient = ButterflyEnvironment.GetDatabaseManager().getQueryreactor())
            {
                dbClient.runFastQuery("UPDATE catalog_marketplace_offers SET state = 2 WHERE offer_id = " + ItemId + "");
            }


            Session.GetMessageHandler().GetResponse().Init(67);
            Session.GetMessageHandler().GetResponse().AppendUInt(Item.ItemId);
            Session.GetMessageHandler().GetResponse().AppendStringWithBreak(Item.Name);
            Session.GetMessageHandler().GetResponse().AppendInt32(prize);
            Session.GetMessageHandler().GetResponse().AppendInt32(0);
            Session.GetMessageHandler().GetResponse().AppendInt32(0);
            Session.GetMessageHandler().GetResponse().AppendInt32(1);
            Session.GetMessageHandler().GetResponse().AppendStringWithBreak(Item.Type.ToString());
            Session.GetMessageHandler().GetResponse().AppendInt32(Item.SpriteId);
            Session.GetMessageHandler().GetResponse().AppendStringWithBreak("");
            Session.GetMessageHandler().GetResponse().AppendInt32(1);
            Session.GetMessageHandler().GetResponse().AppendInt32(0);
            Session.GetMessageHandler().SendResponse();

            Session.SendMessage(Marketplace.SerializeOffers(-1, -1, "", 1));
        }
コード例 #18
0
ファイル: SoplonBot.cs プロジェクト: LuxuryJared/Coolmemes
        internal override void OnUserEnterRoom(RoomUser User)
        {
            if (User == null || User.GetClient() == null)
            {
                return;
            }

            if (GetRoom() == null)
            {
                return;
            }

            if (GetRoom().RoomData.OwnerId == User.HabboId)
            {
                if (GetBotData().SoplonOnRoom.Count > 0 || GetBotData().SoplonLeaveRoom.Count > 0)
                {
                    ServerMessage ChatMessage = new ServerMessage(Outgoing.Talk);
                    ChatMessage.AppendInt32(GetRoomUser().VirtualId);
                    ChatMessage.AppendString(LanguageLocale.GetValue("bot.soplon.enter.owner"));
                    ChatMessage.AppendInt32(0);
                    ChatMessage.AppendInt32(OtanixEnvironment.GetGame().GetRoomRankConfig().BOTS_DEFAULT_COLOR);
                    ChatMessage.AppendInt32(0);
                    ChatMessage.AppendInt32(-1);
                    User.GetClient().SendMessage(ChatMessage);
                }
                else
                {
                    ServerMessage ChatMessage = new ServerMessage(Outgoing.Talk);
                    ChatMessage.AppendInt32(GetRoomUser().VirtualId);
                    ChatMessage.AppendString(LanguageLocale.GetValue("bot.soplon.enter.owner.nomessage"));
                    ChatMessage.AppendInt32(0);
                    ChatMessage.AppendInt32(OtanixEnvironment.GetGame().GetRoomRankConfig().BOTS_DEFAULT_COLOR);
                    ChatMessage.AppendInt32(0);
                    ChatMessage.AppendInt32(-1);
                    User.GetClient().SendMessage(ChatMessage);
                }

                return;
            }

            if (GetRoom().GetRoomUserManager().GetRoomUserByHabbo(GetRoom().RoomData.OwnerId) == null)
            {
                if (!GetBotData().SoplonOnRoom.Contains(User.HabboId))
                {
                    GetBotData().SoplonOnRoom.Add(User.HabboId);

                    ServerMessage ChatMessage = new ServerMessage(Outgoing.Talk);
                    ChatMessage.AppendInt32(GetRoomUser().VirtualId);
                    ChatMessage.AppendString(LanguageLocale.GetValue("bot.soplon.enter.keko"));
                    ChatMessage.AppendInt32(0);
                    ChatMessage.AppendInt32(OtanixEnvironment.GetGame().GetRoomRankConfig().BOTS_DEFAULT_COLOR);
                    ChatMessage.AppendInt32(0);
                    ChatMessage.AppendInt32(-1);
                    User.GetClient().SendMessage(ChatMessage);
                }
            }
        }
コード例 #19
0
        internal void DeliverItems()
        {
            // List items
            List <UserItem> ItemsOne = GetTradeUser(oneId).OfferedItems;
            List <UserItem> ItemsTwo = GetTradeUser(twoId).OfferedItems;

            // Verify they are still in user inventory
            foreach (UserItem I in ItemsOne)
            {
                if (GetTradeUser(oneId).GetClient().GetHabbo().GetInventoryComponent().GetItem(I.Id) == null)
                {
                    GetTradeUser(oneId).GetClient().SendNotif(LanguageLocale.GetValue("trade.failed"));
                    GetTradeUser(twoId).GetClient().SendNotif(LanguageLocale.GetValue("trade.failed"));

                    return;
                }
            }

            foreach (UserItem I in ItemsTwo)
            {
                if (GetTradeUser(twoId).GetClient().GetHabbo().GetInventoryComponent().GetItem(I.Id) == null)
                {
                    GetTradeUser(oneId).GetClient().SendNotif(LanguageLocale.GetValue("trade.failed"));
                    GetTradeUser(twoId).GetClient().SendNotif(LanguageLocale.GetValue("trade.failed"));

                    return;
                }
            }

            GetTradeUser(twoId).GetClient().GetHabbo().GetInventoryComponent().RunDBUpdate();
            GetTradeUser(oneId).GetClient().GetHabbo().GetInventoryComponent().RunDBUpdate();
            // Deliver them
            foreach (UserItem I in ItemsOne)
            {
                GetTradeUser(oneId).GetClient().GetHabbo().GetInventoryComponent().RemoveItem(I.Id, false);
                GetTradeUser(twoId).GetClient().GetHabbo().GetInventoryComponent().AddNewItem(I.Id, I.BaseItem, I.ExtraData, false, false, 0);

                GetTradeUser(oneId).GetClient().GetHabbo().GetInventoryComponent().RunDBUpdate();
                GetTradeUser(twoId).GetClient().GetHabbo().GetInventoryComponent().RunDBUpdate();
            }

            foreach (UserItem I in ItemsTwo)
            {
                GetTradeUser(twoId).GetClient().GetHabbo().GetInventoryComponent().RemoveItem(I.Id, false);
                GetTradeUser(oneId).GetClient().GetHabbo().GetInventoryComponent().AddNewItem(I.Id, I.BaseItem, I.ExtraData, false, false, 0);

                GetTradeUser(twoId).GetClient().GetHabbo().GetInventoryComponent().RunDBUpdate();
                GetTradeUser(oneId).GetClient().GetHabbo().GetInventoryComponent().RunDBUpdate();
            }

            // Update inventories
            GetTradeUser(oneId).GetClient().GetHabbo().GetInventoryComponent().UpdateItems(false);
            GetTradeUser(twoId).GetClient().GetHabbo().GetInventoryComponent().UpdateItems(false);
        }
コード例 #20
0
 public void Invoke(GameClient Session, ClientMessage Request)
 {
     if (Session.GetHabbo() == null)
     {
         Session.tryLogin(Request.PopFixedString());
     }
     else
     {
         Session.SendNotif(LanguageLocale.GetValue("user.allreadylogedon"));
     }
 }
コード例 #21
0
ファイル: Help.cs プロジェクト: nightwolf93/Bfly
        internal void CallGuideBot()
        {
            if (Session.GetHabbo().SpectatorMode)
            {
                Session.GetHabbo().SpectatorMode = false;// Only for disable Spectator Mode
                Session.SendNotif(LanguageLocale.GetValue("invisible.disabled"));
            }
            else
            {
                Room Room = ButterflyEnvironment.GetGame().GetRoomManager().GetRoom(Session.GetHabbo().CurrentRoomId);

                if (Room == null || !Room.CheckRights(Session, true))
                {
                    return;
                }

                if (Room.guideBotIsCalled)
                {
                    Session.GetMessageHandler().GetResponse().Init(33);
                    Session.GetMessageHandler().GetResponse().AppendInt32(4009);
                    Session.GetMessageHandler().SendResponse();

                    return;
                }

                if (Session.GetHabbo().CalledGuideBot)
                {
                    Session.GetMessageHandler().GetResponse().Init(33);
                    Session.GetMessageHandler().GetResponse().AppendInt32(4010);
                    Session.GetMessageHandler().SendResponse();

                    return;
                }

                RoomUser NewUser = Room.DeployBot(ButterflyEnvironment.GetGame().GetBotManager().GetBot(55));
                NewUser.SetPos(Room.GetGameMap().Model.DoorX, Room.GetGameMap().Model.DoorY, Room.GetGameMap().Model.DoorZ);
                NewUser.UpdateNeeded = true;

                RoomUser RoomOwner = Room.GetRoomUserManager().GetRoomUserByHabbo(Room.Owner);

                if (RoomOwner != null)
                {
                    NewUser.MoveTo(RoomOwner.Coordinate);
                    NewUser.SetRot(Rotation.Calculate(NewUser.X, NewUser.Y, RoomOwner.X, RoomOwner.Y), false);
                }


                Session.GetHabbo().CalledGuideBot = true;
            }
        }
コード例 #22
0
        internal RoomData CreateRoom(GameClient Session, string Name, string Model)
        {
            Name = PiciEnvironment.FilterInjectionChars(Name);

            if (!roomModels.ContainsKey(Model))
            {
                Session.SendNotif(LanguageLocale.GetValue("room.modelmissing"));
                return(null);
            }

            Console.WriteLine("ClubOnly: " + ((RoomModel)roomModels[Model]).ClubOnly + "");

            if (((RoomModel)roomModels[Model]).ClubOnly == 1 && !Session.GetHabbo().GetSubscriptionManager().HasSubscription("habbo_vip"))
            {
                Session.SendNotif(LanguageLocale.GetValue("room.missingclub"));
                return(null);
            }

            if (Name.Length < 3)
            {
                Session.SendNotif(LanguageLocale.GetValue("room.namelengthshort"));
                return(null);
            }

            UInt32 RoomId = 0;

            using (IQueryAdapter dbClient = PiciEnvironment.GetDatabaseManager().getQueryreactor())
            {
                if (dbClient.dbType == DatabaseType.MSSQL)//description,public_ccts,tags,password
                {
                    dbClient.setQuery("INSERT INTO rooms (roomtype,caption,owner,model_name,description,public_ccts,tags,password) OUTPUT INSERTED.* VALUES ('private',@caption,@username,@model,'','','','')");
                }
                else
                {
                    dbClient.setQuery("INSERT INTO rooms (roomtype,caption,owner,model_name) VALUES ('private',@caption,@username,@model)");
                }
                dbClient.addParameter("caption", Name);
                dbClient.addParameter("model", Model);
                dbClient.addParameter("username", Session.GetHabbo().Username);

                RoomId = (UInt32)dbClient.insertQuery();
            }

            RoomData newRoomData = GenerateRoomData(RoomId);

            Session.GetHabbo().UsersRooms.Add(newRoomData);

            return(newRoomData);
        }
コード例 #23
0
ファイル: Game.cs プロジェクト: KingKizile/RocketEmulator
        public Game()
        {
            this._packetManager     = new PacketManager();
            this._clientManager     = new GameClientManager();
            this._modManager        = new ModerationManager();
            this._moderationTool    = new ModerationTool();
            this._groupForumManager = new GroupForumManager();
            this._itemDataManager   = new ItemDataManager();
            this._itemDataManager.Init();

            this._catalogManager = new CatalogManager();
            this._catalogManager.Init(this._itemDataManager);

            this._televisionManager = new TelevisionManager();

            this._navigatorManager   = new NavigatorManager();
            this._roomManager        = new RoomManager();
            this._chatManager        = new ChatManager();
            this._groupManager       = new GroupManager();
            this._questManager       = new QuestManager();
            this._achievementManager = new AchievementManager();
            this._talentTrackManager = new TalentTrackManager();

            this._landingViewManager = new LandingViewManager();
            this._gameDataManager    = new GameDataManager();

            this._globalUpdater = new ServerStatusUpdater();
            this._globalUpdater.Init();

            this._languageLocale = new LanguageLocale();
            this._antiMutant     = new AntiMutant();
            this._botManager     = new BotManager();

            this._cacheManager  = new CacheManager();
            this._rewardManager = new RewardManager();

            this._badgeManager = new BadgeManager();
            this._badgeManager.Init();

            this._permissionManager = new PermissionManager();
            this._permissionManager.Init();

            this._subscriptionManager = new SubscriptionManager();
            this._subscriptionManager.Init();

            this._cameraManager = new CameraPhotoManager();
            this._cameraManager.Init(this._itemDataManager);
        }
コード例 #24
0
        internal void GetPetInfo()
        {
            if (Session.GetHabbo() == null || Session.GetHabbo().CurrentRoom == null)
            {
                return;
            }

            PetBot pet = Session.GetHabbo().CurrentRoom.GetRoomUserManager().GetPet(Request.ReadUInt32());

            if (pet == null || pet.PetData == null)
            {
                Session.SendNotif(LanguageLocale.GetValue("user.petinfoerror"));
                return;
            }

            Session.SendMessage(pet.PetData.SerializeInfo());
        }
コード例 #25
0
ファイル: ModerationTool.cs プロジェクト: fuding/Coolmemes
        internal static void BanUser(GameClient ModSession, uint UserId, int Length, String Message)
        {
            var Client = OtanixEnvironment.GetGame().GetClientManager().GetClientByUserID(UserId);

            if (Client == null || Client.GetHabbo().Id == ModSession.GetHabbo().Id)
            {
                return;
            }

            if (Client.GetHabbo().Rank >= ModSession.GetHabbo().Rank)
            {
                ModSession.SendNotif(LanguageLocale.GetValue("moderation.ban.missingrank"));
                return;
            }

            OtanixEnvironment.GetGame().GetBanManager().BanUser(Client, Client.GetHabbo().Username, "", Message, Length, ModSession);
        }
コード例 #26
0
        internal static void Notifica(GameClient Session, bool outroQuarto = false)
        {
            ServerMessage newm = new ServerMessage(Outgoing.GeneratingNotification);

            newm.AppendString("info." + EmuSettings.HOTEL_LINK);
            newm.AppendInt32(5);
            newm.AppendString("image");
            newm.AppendString(LanguageLocale.GetValue("bc.imagem"));
            newm.AppendString("title");
            newm.AppendString(LanguageLocale.GetValue("bc.titulo.notificacao"));
            newm.AppendString("message");
            newm.AppendString("<i>" + (outroQuarto ? LanguageLocale.GetValue("bc.mensagem1") : LanguageLocale.GetValue("bc.mensagem")) + "<br><br>• <b>" + Session.GetHabbo().Username + "</b></i>");
            newm.AppendString("linkTitle");
            newm.AppendString("OK");
            newm.AppendString("linkUrl");
            newm.AppendString("event:");
            Session.SendMessage(newm);
        }
コード例 #27
0
        internal void ModGetUserInfo()
        {
            if (!Session.GetHabbo().HasFuse("fuse_mod"))
            {
                return;
            }

            int UserId = Request.ReadInt32();

            if (FirewindEnvironment.GetGame().GetClientManager().GetNameById(UserId) != "Unknown User")
            {
                Session.SendMessage(ModerationTool.SerializeUserInfo(UserId));
            }
            else
            {
                Session.SendNotif(LanguageLocale.GetValue("user.loadusererror"));
            }
        }
コード例 #28
0
        internal void ModGetUserInfo()
        {
            if (!Session.GetHabbo().HasRight("acc_supporttool"))
            {
                return;
            }

            uint UserId = Request.PopWiredUInt();

            if (PiciEnvironment.GetGame().GetClientManager().GetNameById(UserId) != "Unknown User")
            {
                Session.SendMessage(ModerationTool.SerializeUserInfo(UserId));
            }
            else
            {
                Session.SendNotif(LanguageLocale.GetValue("user.loadusererror"));
            }
        }
コード例 #29
0
ファイル: CorManager.cs プロジェクト: LuxuryJared/Coolmemes
        public StringBuilder gerarCorList(string MinhasCores, string Username)
        {
            StringBuilder minhasCores = new StringBuilder();

            minhasCores.Append(LanguageLocale.GetValue("cor.disponiveis") + "\n\n");
            foreach (string corAtual in MinhasCores.Split(';'))
            {
                int corIntAtual = Convert.ToInt32(corAtual);
                if (corIntAtual == 0)
                {
                    continue;
                }

                string minhaCor = OtanixEnvironment.GetGame().GetCatalog().pegaCor(corIntAtual);
                minhasCores.Append(":" + LanguageLocale.GetValue("cor.comando") + " " + corAtual + ", ex: " + OtanixEnvironment.GetGame().CorManager().GenerateColorName(corIntAtual, Username) + "\n");
            }

            return(minhasCores);
        }
コード例 #30
0
ファイル: ModerationTool.cs プロジェクト: TheNaked/Firewind
        internal static void BanUser(GameClient ModSession, uint UserId, int Length, String Message)
        {
            GameClient Client = FirewindEnvironment.GetGame().GetClientManager().GetClientByUserID(UserId);

            if (Client == null || Client.GetHabbo().Id == ModSession.GetHabbo().Id)
            {
                return;
            }

            if (Client.GetHabbo().Rank >= ModSession.GetHabbo().Rank)
            {
                ModSession.SendNotif(LanguageLocale.GetValue("moderation.ban.missingrank"));
                return;
            }

            Double dLength = Length;

            FirewindEnvironment.GetGame().GetBanManager().BanUser(Client, ModSession.GetHabbo().Username, dLength, Message, false);
        }