public static List <ModerationChatlog> ReadUserChatlogs(int senderId, int targetId) { List <ModerationChatlog> chatlogs = new List <ModerationChatlog>(); using (DatabaseConnection dbClient = Alias.Server.DatabaseManager.GetConnection()) { dbClient.AddParameter("senderId", senderId); dbClient.AddParameter("targetId", targetId); using (MySqlDataReader Reader = dbClient.DataReader("SELECT * FROM `chatlogs` WHERE `user_id` = @senderId OR `user_id` = @targetId ORDER BY `timestamp` DESC LIMIT 150")) { while (Reader.Read()) { string targetUsername = ""; ModerationChatlog chatlog = new ModerationChatlog() { UserId = Reader.GetInt32("user_id"), Username = "", TargetId = Reader.GetInt32("target_id"), TargetUsername = targetUsername, Timestamp = Reader.GetInt32("timestamp"), Message = Reader.GetString("message"), Type = ChatType.CHAT }; chatlogs.Add(chatlog); } } } return(chatlogs); }
public void Run(Client client, MessageEvent msgEvent) { int amount = msgEvent.ReadVL64(); for (int i = 0; i < amount; i++) { int userId = msgEvent.ReadVL64(); if (!client.CurrentRoom.UserRights.Contains(userId)) { return; } Client player = Engine.Locator.ClientController.GetClientByHabbo(userId); if (player != null) { if (player.UserActor.Statusses.ContainsKey("flatcrtl")) { player.UserActor.Statusses.Remove("flatcrtl"); } client.CurrentRoom.UserRights.Remove(userId); player.SendComposer(new YouAreNotControllerMessageComposer()); player.SendComposer(new FlatControllerRemovedMessageComposer(client.CurrentRoomId, userId)); } } string json = JsonConvert.SerializeObject(client.CurrentRoom.UserRights); using (DatabaseConnection dbConnection = Engine.Locator.ConnectionPool.PopConnection()) { dbConnection.SetQuery("UPDATE rooms SET user_rights = @data WHERE id = @roomId LIMIT 1"); dbConnection.AddParameter("@data", json); dbConnection.AddParameter("@roomId", client.CurrentRoomId); dbConnection.Execute(); } }
public static void TakeRights(int Id, int UserId) { using (DatabaseConnection dbClient = Alias.Server.DatabaseManager.GetConnection()) { dbClient.AddParameter("id", Id); dbClient.AddParameter("userId", UserId); dbClient.Query("DELETE FROM `room_rights` WHERE `id` = @id AND `user_id` = @userId"); } }
public static void RemoveMember(int groupId, int userId) { using (DatabaseConnection dbClient = Alias.Server.DatabaseManager.GetConnection()) { dbClient.AddParameter("groupId", groupId); dbClient.AddParameter("userId", userId); dbClient.Query("DELETE FROM `group_members` WHERE `user_id` = @userId AND `group_id` = @groupId"); } }
public static void UpdateItem(RoomItem item) { using (DatabaseConnection dbClient = Alias.Server.DatabaseManager.GetConnection()) { dbClient.AddParameter("baseId", item.ItemData.Id); dbClient.AddParameter("id", item.Id); dbClient.Query("UPDATE `items` SET `base_id` = @baseId WHERE `id` = @id"); } }
public static void GiveRights(int Id, int UserId) { using (DatabaseConnection dbClient = Alias.Server.DatabaseManager.GetConnection()) { dbClient.AddParameter("id", Id); dbClient.AddParameter("userId", UserId); dbClient.Query("INSERT INTO `room_rights` (`id`, `user_id`) VALUES (@id, @userId)"); } }
public static void SetMemberRank(int groupId, int userId, int rank) { using (DatabaseConnection dbClient = Alias.Server.DatabaseManager.GetConnection()) { dbClient.AddParameter("groupId", groupId); dbClient.AddParameter("userId", userId); dbClient.AddParameter("rank", rank); dbClient.Query("UPDATE `group_members` SET `rank` = @rank WHERE `user_id` = @userId AND `group_id` = @groupId"); } }
public void DestroyRequest(int userOne, int userTwo) { using (DatabaseConnection dbConnection = Engine.Locator.ConnectionPool.PopConnection()) { dbConnection.SetQuery("DELETE FROM messenger_requests WHERE to_id = @userOne AND from_id = @userTwo;"); dbConnection.AddParameter("@userOne", userOne); dbConnection.AddParameter("@userTwo", userTwo); dbConnection.Execute(); } }
public void UpdateCurrency(int playerId, int amount, string type) { using (DatabaseConnection dbConnection = Engine.Locator.ConnectionPool.PopConnection()) { dbConnection.SetQuery($"UPDATE players SET {type} = @amount WHERE id = @playerId"); dbConnection.AddParameter("@amount", amount); dbConnection.AddParameter("@playerId", playerId); dbConnection.Execute(); } }
public static void UpdateTicket(ModerationTicket ticket) { using (DatabaseConnection dbClient = Alias.Server.DatabaseManager.GetConnection()) { dbClient.AddParameter("id", ticket.Id); dbClient.AddParameter("modId", ticket.ModId); dbClient.AddParameter("state", (int)ticket.State); dbClient.Query("UPDATE `support_tickets` SET `state` = @state, `mod_id` = @modId WHERE `id` = @id"); } }
public static void LogTradeItem(int logId, int userId, int itemId) { using (DatabaseConnection dbClient = Alias.Server.DatabaseManager.GetConnection()) { dbClient.AddParameter("id", logId); dbClient.AddParameter("itemId", itemId); dbClient.AddParameter("userId", userId); dbClient.Query("INSERT INTO `room_trade_log_items` (`id`, `item_id`, `user_id`) VALUES (@id, @itemId, @userId)"); } }
public void CreateRequest(int toId, Client client) { using (DatabaseConnection dbConnection = Engine.Locator.ConnectionPool.PopConnection()) { dbConnection.SetQuery("INSERT INTO messenger_requests (to_id, from_id) VALUES (@toId, @fromId);"); dbConnection.AddParameter("@toId", toId); dbConnection.AddParameter("@fromId", client.Player.Id); dbConnection.Execute(); } }
public void UpdateItemData(int itemId, string data) { using (DatabaseConnection dbConnection = Engine.Locator.ConnectionPool.PopConnection()) { dbConnection.SetQuery("UPDATE items SET data = @extraData WHERE id = @id LIMIT 1"); dbConnection.AddParameter("@extraData", data); dbConnection.AddParameter("@id", itemId); dbConnection.Execute(); } }
public void AddWallItem(int itemId, string wallposition, int roomId) { using (DatabaseConnection dbConnection = Engine.Locator.ConnectionPool.PopConnection()) { dbConnection.SetQuery("UPDATE items SET room_id = @roomId, wallposition = @wallposition WHERE id = @itemId LIMIT 1"); dbConnection.AddParameter("@roomId", roomId); dbConnection.AddParameter("@wallposition", wallposition); dbConnection.AddParameter("@itemId", itemId); dbConnection.Execute(); } }
public static int CreateTradeLog(TradeUser userOne, TradeUser userTwo) { using (DatabaseConnection dbClient = Alias.Server.DatabaseManager.GetConnection()) { dbClient.AddParameter("userOneId", userOne.User.Player.Id); dbClient.AddParameter("userTwoId", userTwo.User.Player.Id); dbClient.AddParameter("timestamp", (int)UnixTimestamp.Now); dbClient.Query("INSERT INTO `room_trade_log` (`user_one_id`, `user_two_id`, `timestamp`) VALUES (@userOneId, @userTwoId, @timestamp)"); return(dbClient.LastInsertedId()); } }
public void CreateFriendship(Player player, int userTwo) { using (DatabaseConnection dbConnection = Engine.Locator.ConnectionPool.PopConnection()) { dbConnection.SetQuery( "INSERT INTO messenger_friends (user_one_id, user_two_id) VALUES(@userOne, @userTwo), (@userTwo, @userOne);"); dbConnection.AddParameter("@userOne", player.Id); dbConnection.AddParameter("@userTwo", userTwo); dbConnection.Execute(); } }
public static void AddMember(int groupId, int userId, int rank) { using (DatabaseConnection dbClient = Alias.Server.DatabaseManager.GetConnection()) { dbClient.AddParameter("groupId", groupId); dbClient.AddParameter("userId", userId); dbClient.AddParameter("rank", rank); dbClient.Query("INSERT INTO `group_members` (`user_id`, `group_id`, `join_date`, `rank`) " + "VALUES (@userId, @groupId, UNIX_TIMESTAMP(), @rank)"); } }
public void CreatePresent(int definitionId, int playerId, int giftId, string data) { using (DatabaseConnection dbConnection = Engine.Locator.ConnectionPool.PopConnection()) { dbConnection.SetQuery("INSERT INTO `item_presents` VALUES (@giftid, @playerid, @definitionid, @data)"); dbConnection.AddParameter("@giftid", giftId); dbConnection.AddParameter("@playerid", playerId); dbConnection.AddParameter("@definitionid", definitionId); dbConnection.AddParameter("@data", data); dbConnection.Execute(); } }
public static void AddBot(RoomEntity bot) { using (DatabaseConnection dbClient = Alias.Server.DatabaseManager.GetConnection()) { dbClient.AddParameter("botId", bot.Id); dbClient.AddParameter("xPos", bot.Position.X); dbClient.AddParameter("yPos", bot.Position.Y); dbClient.AddParameter("ZPos", bot.Position.Z); dbClient.AddParameter("Rot", bot.Position.Rotation); dbClient.Query("INSERT INTO `bots_room_data` (`id`, `x`, `y`, `z`, `rot`) VALUES (@botId, @xPos, @yPos, @zPos, @rot)"); } }
public void DestroyFriendship(int userOne, int userTwo) { using (DatabaseConnection dbConnection = Engine.Locator.ConnectionPool.PopConnection()) { dbConnection.SetQuery( "DELETE FROM messenger_friends WHERE user_one_id = @userOne AND user_two_id = @userTwo LIMIT 1"); dbConnection.SetQuery( "DELETE FROM messenger_friends WHERE user_one_id = @userTwo AND user_two_id = @userOne LIMIT 1"); dbConnection.AddParameter("@userOne", userOne); dbConnection.AddParameter("@userTwo", userTwo); dbConnection.Execute(); } }
public void AddFloorItem(int itemId, int x, int y, int rot, int roomId) { using (DatabaseConnection dbConnection = Engine.Locator.ConnectionPool.PopConnection()) { dbConnection.SetQuery("UPDATE items SET room_id = @roomId, x = @x, y = @y, rotation = @rot WHERE id = @itemId LIMIT 1"); dbConnection.AddParameter("@roomId", roomId); dbConnection.AddParameter("@x", x); dbConnection.AddParameter("@y", y); dbConnection.AddParameter("@rot", rot); dbConnection.AddParameter("@itemId", itemId); dbConnection.Execute(); } }
public static void RemoveGroup(Group group) { using (DatabaseConnection dbClient = Alias.Server.DatabaseManager.GetConnection()) { dbClient.AddParameter("groupId", group.Id); dbClient.Query("DELETE FROM `groups` WHERE `id` = @groupId"); dbClient.AddParameter("groupId", group.Id); dbClient.Query("DELETE FROM `group_members` WHERE `group_id` = @groupId"); dbClient.AddParameter("groupId", group.Id); dbClient.Query("UPDATE `room_data` SET `group_id` = 0 WHERE `group_id` = @groupId"); dbClient.AddParameter("groupId", group.Id); dbClient.Query("UPDATE `habbos` SET `group_id` = 0 WHERE `group_id` = @groupId"); } }
public static Dictionary <string, CraftingRecipe> ReadCraftingRecipes(CraftingTable table) { Dictionary <string, CraftingRecipe> recipes = new Dictionary <string, CraftingRecipe>(); using (DatabaseConnection dbClient = Alias.Server.DatabaseManager.GetConnection()) { dbClient.AddParameter("id", table.Id); using (MySqlDataReader Reader = dbClient.DataReader("SELECT * FROM `crafting_recipes` WHERE `table_id` = @id AND `enabled` = '1'")) { while (Reader.Read()) { ItemData item = Alias.Server.ItemManager.GetItemData(Reader.GetInt32("reward")); if (item != null) { CraftingRecipe recipe = new CraftingRecipe { Id = Reader.GetInt32("id"), Reward = item, Secret = DatabaseBoolean.GetBoolFromString(Reader.GetString("secret")) }; recipe.Ingredients = ReadRecipeIngredients(recipe.Id, table); recipes.Add(recipe.Reward.Name, recipe); } } } } return(recipes); }
private static RoomSettings ReadSettings(int Id) { RoomSettings result = null; using (DatabaseConnection dbClient = Alias.Server.DatabaseManager.GetConnection()) { dbClient.AddParameter("id", Id); using (MySqlDataReader Reader = dbClient.DataReader("SELECT * FROM `room_settings` WHERE `id` = @id LIMIT 1")) { while (Reader.Read()) { result = new RoomSettings { WhoMutes = Reader.GetInt32("who_can_mute"), WhoBans = Reader.GetInt32("who_can_ban"), WhoKicks = Reader.GetInt32("who_can_kick"), ChatDistance = Reader.GetInt32("chat_distance"), ChatFlood = Reader.GetInt32("chat_flood"), ChatMode = Reader.GetInt32("chat_mode"), ChatSize = Reader.GetInt32("chat_size"), ChatSpeed = Reader.GetInt32("chat_speed"), AllowPets = Reader.GetBoolean("allow_pets"), AllowPetsEat = Reader.GetBoolean("allow_pets_eat"), RoomBlocking = Reader.GetBoolean("room_blocking"), HideWalls = Reader.GetBoolean("hide_walls"), WallHeight = Reader.GetInt32("wall_height"), FloorSize = Reader.GetInt32("floor_size") }; } } } return(result); }
public int GetRoomId(string name, string model, int ownerId) { int tmpRoomId; using (DatabaseConnection dbConnection = Engine.Locator.ConnectionPool.PopConnection()) { dbConnection.SetQuery("INSERT INTO rooms (owner_id,name,model,description,ccts) VALUES (@ownerId, @name, @model, '', '')"); dbConnection.AddParameter("@ownerId", ownerId); dbConnection.AddParameter("@name", name); dbConnection.AddParameter("@model", model); tmpRoomId = dbConnection.Insert(); } return(tmpRoomId); }
public DimmerData GetDimmerData(int itemId) { if (Dimmers.TryGetValue(itemId, out DimmerData data)) { return(data); } DimmerData dimmerData = null; using (DatabaseConnection dbConnection = Engine.Locator.ConnectionPool.PopConnection()) { dbConnection.SetQuery("SELECT * FROM room_dimmer WHERE item_id = @itemId"); dbConnection.AddParameter("@itemId", itemId); using (var reader = dbConnection.ExecuteReader()) if (reader.Read()) { dimmerData = new DimmerData(reader, false); Dimmers.Add(dimmerData.ItemId, dimmerData); return(dimmerData); } else { return(NewDimmerData(itemId)); } } }
public static void RemoveItem(int itemId) { using (DatabaseConnection dbClient = Alias.Server.DatabaseManager.GetConnection()) { dbClient.AddParameter("itemId", itemId); dbClient.Query("DELETE FROM `items_room_data` WHERE `id` = @itemId"); } }
public static void RemoveBot(RoomEntity bot) { using (DatabaseConnection dbClient = Alias.Server.DatabaseManager.GetConnection()) { dbClient.AddParameter("botId", bot.Id); dbClient.Query("DELETE FROM `bots_room_data` WHERE `id` = @botId"); } }
public void ClearBadgeSlots(int playerId) { using (DatabaseConnection dbConnection = Engine.Locator.ConnectionPool.PopConnection()) { dbConnection.SetQuery("UPDATE `player_badges` SET `slot_number` = 0 WHERE `player_id` = @playerId"); dbConnection.AddParameter("@playerId", playerId); dbConnection.Execute(); } }
public void GiveItem(Client client, ItemDefinition template, string extraData) { int id = -1; using (DatabaseConnection dbConnection = Engine.Locator.ConnectionPool.PopConnection()) { dbConnection.SetQuery("INSERT INTO items (owner_id, definition_id, data) VALUES (@ownerId, @definitionId, @data)"); dbConnection.AddParameter("@ownerId", client.Player.Id); dbConnection.AddParameter("@definitionId", template.Id); dbConnection.AddParameter("@data", extraData); id = dbConnection.Insert(); } if (id > 0 && client.Items != null) { client.Items.Add(id, new Item(id, client.Player.Id, template.Id, extraData)); } }