/// <summary> /// Updates the preset. /// </summary> /// <param name="preset">The preset.</param> /// <param name="color">The color.</param> /// <param name="intensity">The intensity.</param> /// <param name="bgOnly">if set to <c>true</c> [bg only].</param> /// <param name="hax">if set to <c>true</c> [hax].</param> internal void UpdatePreset(int preset, string color, int intensity, bool bgOnly, bool hax = false) { if (!IsValidColor(color) || (!IsValidIntensity(intensity) && !hax)) { return; } string text = "one"; switch (preset) { case 2: text = "two"; break; case 3: text = "three"; break; default: text = "one"; break; } using (var queryReactor = Plus.GetDatabaseManager().GetQueryReactor()) { queryReactor.SetQuery(string.Format(format: "UPDATE items_moodlight SET preset_{0}='{1},{2},{3}' WHERE item_id='{4}'", args: new object[] { text, color, intensity, Plus.BoolToEnum(bgOnly), ItemId })); queryReactor.RunQuery(); } GetPreset(preset).ColorCode = color; GetPreset(preset).ColorIntensity = intensity; GetPreset(preset).BackgroundOnly = bgOnly; }
public static void init() { DataTable Gangs = null; DataTable GangsRanks = null; GangData = new ConcurrentDictionary <int, Gang>(); GangRankData = new MultiKeyDictionary <int, int, GangRank>(); GangData.Clear(); GangRankData.Clear(); using (IQueryAdapter dbClient = Plus.GetDatabaseManager().GetQueryReactor()) { dbClient.SetQuery("SELECT * FROM rp_gangs"); Gangs = dbClient.GetTable(); foreach (DataRow Gang in Gangs.Rows) { dbClient.SetQuery("SELECT * FROM rp_gangs_ranks WHERE gangid = " + Convert.ToInt32(Gang[0]) + ""); GangsRanks = dbClient.GetTable(); foreach (DataRow Rank in GangsRanks.Rows) { GangRankData.Add(Convert.ToInt32(Rank[0]), Convert.ToInt32(Rank[1]), new GangRank(Convert.ToInt32(Rank[0]), Convert.ToInt32(Rank[1]), Convert.ToString(Rank[2]), Convert.ToInt32(Rank[3]), Convert.ToInt32(Rank[4]), Convert.ToInt32(Rank[5]), Convert.ToInt32(Rank[6]), Convert.ToInt32(Rank[7]))); } GangData.TryAdd(Convert.ToInt32(Gang[0]), new Gang(Convert.ToInt32(Gang[0]), Convert.ToString(Gang[1]), Convert.ToInt32(Gang[2]), Convert.ToInt32(Gang[3]), Convert.ToInt32(Gang[4]), Convert.ToInt32(Gang[5]))); } } initTurfs(); }
public void OnPlace(GameClient session, RoomItem item) { { item.GetRoom().GetRoomItemHandler().HopperCount++; using (var queryReactor = Plus.GetDatabaseManager().GetQueryReactor()) { queryReactor.SetQuery("INSERT INTO items_hopper (hopper_id, room_id) VALUES (@hopperid, @roomid);"); queryReactor.AddParameter("hopperid", item.Id); queryReactor.AddParameter("roomid", item.RoomId); queryReactor.RunQuery(); } if (item.InteractingUser == 0u) { return; } var roomUserByHabbo = item.GetRoom().GetRoomUserManager().GetRoomUserByHabbo(item.InteractingUser); if (roomUserByHabbo != null) { roomUserByHabbo.ClearMovement(); roomUserByHabbo.AllowOverride = false; roomUserByHabbo.CanWalk = true; } item.InteractingUser = 0u; } }
/// <summary> /// Delivers the random pinata item. /// </summary> /// <param name="user">The user.</param> /// <param name="room">The room.</param> /// <param name="item">The item.</param> internal void DeliverRandomPinataItem(RoomUser user, Room room, RoomItem item) { if (room == null || item == null || item.GetBaseItem().InteractionType != Interaction.Pinata || !Pinatas.ContainsKey(item.GetBaseItem().ItemId)) { return; } PinataItem pinataItem; Pinatas.TryGetValue(item.GetBaseItem().ItemId, out pinataItem); if (pinataItem == null || pinataItem.Rewards.Count < 1) { return; } item.RefreshItem(); item.BaseItem = pinataItem.Rewards[new Random().Next((pinataItem.Rewards.Count - 1))]; item.ExtraData = string.Empty; room.GetRoomItemHandler().RemoveFurniture(user.GetClient(), item.Id, wasPicked: false); using (var queryReactor = Plus.GetDatabaseManager().GetQueryReactor()) { queryReactor.RunFastQuery(string.Format(format: "UPDATE items_rooms SET base_item='{0}', extra_data='' WHERE id='{1}'", arg0: item.BaseItem, arg1: item.Id)); queryReactor.RunQuery(); } if (!room.GetRoomItemHandler().SetFloorItem(user.GetClient(), item, item.X, item.Y, newRot: 0, newItem: true, onRoller: false, sendMessage: true)) { user.GetClient().GetHabbo().GetInventoryComponent().AddItem(item); } }
/// <summary> /// Gets the current quest. /// </summary> /// <param name="session">The session.</param> /// <param name="message">The message.</param> internal void GetCurrentQuest(GameClient session, ClientMessage message) { if (!session.GetHabbo().InRoom) { return; } var quest = GetQuest(session.GetHabbo().LastQuestCompleted); var nextQuestInSeries = GetNextQuestInSeries(quest.Category, (quest.Number + 1)); if (nextQuestInSeries == null) { return; } using (var queryReactor = Plus.GetDatabaseManager().GetQueryReactor()) { queryReactor.RunFastQuery(string.Concat(new object[] { "REPLACE INTO users_quests_data(user_id,quest_id) VALUES (", session.GetHabbo().Id, ", ", nextQuestInSeries.Id, ")" })); queryReactor.RunFastQuery(string.Concat(new object[] { "UPDATE users_stats SET quest_id = ", nextQuestInSeries.Id, " WHERE id = ", session.GetHabbo().Id })); } session.GetHabbo().CurrentQuestId = nextQuestInSeries.Id; GetList(session, null); session.SendMessage(QuestStartedComposer.Compose(session, nextQuestInSeries)); }
/// <summary> /// Adds the subscription. /// </summary> /// <param name="dayLength">Length of the day.</param> internal void AddSubscription(double dayLength) { var num = ((int)Math.Round(dayLength)); var clientByUserId = Plus.GetGame().GetClientManager().GetClientByUserId(_userId); DateTime target; Int64 num2; Int64 num3; if (_subscription != null) { target = Plus.UnixToDateTime(_subscription.ExpireTime).AddDays(num); num2 = _subscription.ActivateTime; num3 = _subscription.LastGiftTime; } else { target = DateTime.Now.AddDays(num); num2 = Plus.GetUnixTimeStamp(); num3 = Plus.GetUnixTimeStamp(); } var num4 = Plus.DateTimeToUnix(target); _subscription = new Subscription(2, num2, num4, num3); using (var queryReactor = Plus.GetDatabaseManager().GetQueryReactor()) queryReactor.RunFastQuery( string.Concat(new object[] { "REPLACE INTO users_subscriptions VALUES (", _userId, ", 2, ", num2, ", ", num4, ", ", num3, ");" })); clientByUserId.GetHabbo().SerializeClub(); Plus.GetGame().GetAchievementManager().TryProgressHabboClubAchievements(clientByUserId); }
/// <summary> /// Initializes a new instance of the <see cref="UserItem"/> class. /// </summary> /// <param name="id">The identifier.</param> /// <param name="baseItemId">The base item identifier.</param> /// <param name="extraData">The extra data.</param> /// <param name="group">The group.</param> /// <param name="songCode">The song code.</param> internal UserItem(uint id, uint baseItemId, string extraData, uint group, string songCode) { Id = id; BaseItemId = baseItemId; ExtraData = extraData; GroupId = group; BaseItem = Plus.GetGame().GetItemManager().GetItem(baseItemId); if (BaseItem == null) { return; } using (var queryReactor = Plus.GetDatabaseManager().GetQueryReactor()) { queryReactor.SetQuery(string.Format("SELECT * FROM items_limited WHERE item_id={0} LIMIT 1", id)); var row = queryReactor.GetRow(); if (row != null) { uint.TryParse(row[1].ToString(), out LimitedSellId); uint.TryParse(row[2].ToString(), out LimitedStack); } } IsWallItem = (BaseItem.Type == 'i'); SongCode = songCode; }
/// <summary> /// Saves to database. /// </summary> /// <param name="roomId">The room identifier.</param> internal void SaveToDatabase(uint roomId) { using (IQueryAdapter queryReactor = Plus.GetDatabaseManager().GetQueryReactor()) { queryReactor.RunFastQuery(string.Concat("REPLACE INTO items_songs VALUES (", ItemId, ",", roomId, ",", SongId, ")")); } }
/// <summary> /// Removes from database. /// </summary> internal void RemoveFromDatabase() { using (IQueryAdapter queryReactor = Plus.GetDatabaseManager().GetQueryReactor()) { queryReactor.RunFastQuery(string.Format("DELETE FROM items_songs WHERE itemid = {0}", ItemId)); } }
/// <summary> /// Caches apartments /// </summary> public static void init() { Apartments.Clear(); string Query = "SELECT * FROM rp_apartments"; try { using (IQueryAdapter dbClient = Plus.GetDatabaseManager().GetQueryReactor()) { dbClient.SetQuery(Query); DataTable apartmentTable = dbClient.GetTable(); foreach (DataRow row in apartmentTable.Rows) { uint RoomID = Convert.ToUInt32(row["roomid"]); uint OwnerID = Convert.ToUInt32(row["ownerid"]); bool IsVIP = Convert.ToBoolean(row["vip"]); bool IsForSale = Convert.ToBoolean(row["forsale"]); var apartment = new Apartment(RoomID, OwnerID, IsVIP, IsForSale); Apartments.TryAdd(RoomID, apartment); } } } catch (Exception ex) { Logging.LogQueryError(ex, Query); } }
/// <summary> /// Processes the specified caller. /// </summary> /// <param name="caller">The caller.</param> internal static void Process(object caller) { if (lowPriorityProcessWatch.ElapsedMilliseconds >= 10000 || !isExecuted) { isExecuted = true; lowPriorityProcessWatch.Restart(); var clientCount = Plus.GetGame().GetClientManager().ClientCount; var loadedRoomsCount = Plus.GetGame().GetRoomManager().LoadedRoomsCount; var Uptime = DateTime.Now - Plus.ServerStarted; Console.Title = "[FluxRP] Uptime: " + Uptime.Days + " days and " + Uptime.Hours + " hours | " + "Online users: " + clientCount + " | Loaded rooms: " + loadedRoomsCount; using (var queryReactor = Plus.GetDatabaseManager().GetQueryReactor()) { if (clientCount > _userPeak) { _userPeak = clientCount; } _lastDate = DateTime.Now.ToShortDateString(); queryReactor.RunFastQuery(string.Concat("UPDATE `server_status` SET `stamp` = '", Plus.GetUnixTimeStamp(), "', `users_online` = '", clientCount, "', `rooms_loaded` = '", loadedRoomsCount, "', `server_ver` = 'Plus Emulator', `userpeak` = ", _userPeak)); } } }
internal object GetRPStat(string Stat) { object RetStat = 0; try { using (IQueryAdapter dbClient = Plus.GetDatabaseManager().GetQueryReactor()) { dbClient.SetQuery("SELECT " + Stat + " FROM bots WHERE id = '" + this.BotId + "'"); DataRow Row = dbClient.GetRow(); if (Row == null) { return(RetStat); } RetStat = Row[Stat]; } } catch (Exception e) { return(RetStat); } return(RetStat); }
/// <summary> /// Closes the specified new status. /// </summary> /// <param name="newStatus">The new status.</param> /// <param name="updateInDb">if set to <c>true</c> [update in database].</param> internal void Close(TicketStatus newStatus, bool updateInDb) { this.Status = newStatus; if (!updateInDb) { return; } string text; switch (newStatus) { case TicketStatus.Abusive: text = "abusive"; goto IL_41; case TicketStatus.Invalid: text = "invalid"; goto IL_41; } text = "resolved"; IL_41: using (IQueryAdapter queryReactor = Plus.GetDatabaseManager().GetQueryReactor()) { queryReactor.RunFastQuery(string.Concat(new object[] { "UPDATE moderation_tickets SET status = '", text, "' WHERE id = ", this.TicketId })); } }
internal void ToggleStaffPick() { var roomId = Request.GetUInteger(); var current = Request.GetBool(); var room = Plus.GetGame().GetRoomManager().GetRoom(roomId); if (room == null) { return; } using (var queryReactor = Plus.GetDatabaseManager().GetQueryReactor()) { var pubItem = Plus.GetGame().GetNavigator().GetPublicItem(roomId); if (pubItem == null) // not picked { queryReactor.SetQuery("INSERT INTO navigator_publics (bannertype, room_id, category_parent_id) VALUES ('0', @roomId, '-2')"); queryReactor.AddParameter("roomId", room.RoomId); queryReactor.RunQuery(); queryReactor.RunFastQuery("SELECT last_insert_id()"); var publicItemId = queryReactor.GetInteger(); var publicItem = new PublicItem(publicItemId, 0, string.Empty, string.Empty, string.Empty, PublicImageType.Internal, room.RoomId, 0, -2, false, 1, string.Empty); Plus.GetGame().GetNavigator().AddPublicItem(publicItem); } else // picked { queryReactor.SetQuery("DELETE FROM navigator_publics WHERE id = @pubId"); queryReactor.AddParameter("pubId", pubItem.Id); queryReactor.RunQuery(); Plus.GetGame().GetNavigator().RemovePublicItem(pubItem.Id); } room.RoomData.SerializeRoomData(Response, Session, false, true); Plus.GetGame().GetNavigator().LoadNewPublicRooms(); } }
/// <summary> /// Called when [new friendship]. /// </summary> /// <param name="friendId">The friend identifier.</param> internal void OnNewFriendship(uint friendId) { var clientByUserId = Plus.GetGame().GetClientManager().GetClientByUserId(friendId); MessengerBuddy messengerBuddy; if (clientByUserId == null || clientByUserId.GetHabbo() == null) { DataRow row; using (var queryReactor = Plus.GetDatabaseManager().GetQueryReactor()) { queryReactor.SetQuery( string.Format( "SELECT id,username,motto,look,last_online,hide_inroom,hide_online FROM users WHERE id = {0}", friendId)); row = queryReactor.GetRow(); } messengerBuddy = new MessengerBuddy(friendId, (string)row["Username"], (string)row["look"], (string)row["motto"], (int)row["last_online"], Plus.EnumToBool(row["hide_online"].ToString()), Plus.EnumToBool(row["hide_inroom"].ToString())); } else { var habbo = clientByUserId.GetHabbo(); messengerBuddy = new MessengerBuddy(friendId, habbo.UserName, habbo.Look, habbo.Motto, 0, habbo.AppearOffline, habbo.HideInRoom); messengerBuddy.UpdateUser(); } if (!Friends.ContainsKey(friendId)) { Friends.Add(friendId, messengerBuddy); } GetClient().SendMessage(SerializeUpdate(messengerBuddy)); }
/// <summary> /// Gets the user data. /// </summary> /// <param name="userId">The user identifier.</param> /// <returns>UserData.</returns> internal static UserData GetUserData(int userId) { DataRow dataRow; uint num; DataRow row; DataTable table; using (var queryReactor = Plus.GetDatabaseManager().GetQueryReactor()) { queryReactor.SetQuery(string.Format("SELECT * FROM users WHERE id = '{0}'", userId)); dataRow = queryReactor.GetRow(); Plus.GetGame().GetClientManager().LogClonesOut(Convert.ToUInt32(userId)); if (dataRow == null) { return(null); } num = Convert.ToUInt32(dataRow["id"]); if (Plus.GetGame().GetClientManager().GetClientByUserId(num) != null) { return(null); } queryReactor.SetQuery(string.Format("SELECT job_id,job_rank FROM rp_stats WHERE id={0}", userId)); queryReactor.GetTable(); queryReactor.SetQuery(string.Format("SELECT * FROM users_stats WHERE id={0} LIMIT 1", num)); row = queryReactor.GetRow(); if (row == null) { } queryReactor.SetQuery("SELECT * FROM users_relationships WHERE user_id=@id"); queryReactor.AddParameter("id", num); table = queryReactor.GetTable(); } var achievements = new Dictionary <string, UserAchievement>(); var talents = new Dictionary <int, UserTalent>(); var favouritedRooms = new List <uint>(); var ignores = new List <uint>(); var tags = new List <string>(); var badges = new List <Badge>(); var inventory = new List <UserItem>(); var effects = new List <AvatarEffect>(); var friends = new Dictionary <uint, MessengerBuddy>(); var requests = new Dictionary <uint, MessengerRequest>(); var rooms = new HashSet <RoomData>(); var pets = new Dictionary <uint, Pet>(); var quests = new Dictionary <uint, int>(); var bots = new Dictionary <uint, RoomBot>(); var group = new HashSet <GroupUser>(); var pollData = new HashSet <uint>(); var dictionary = table.Rows.Cast <DataRow>() .ToDictionary(dataRow2 => (int)dataRow2[0], dataRow2 => new Relationship((int)dataRow2[0], (int)dataRow2[2], Convert.ToInt32(dataRow2[3].ToString()))); var user = HabboFactory.GenerateHabbo(dataRow, row, group); dataRow = null; return(new UserData(num, achievements, talents, favouritedRooms, ignores, tags, null, badges, inventory, effects, friends, requests, rooms, pets, quests, user, bots, dictionary, pollData, 0)); }
/// <summary> /// Gives the badge. /// </summary> /// <param name="badge">The badge.</param> /// <param name="inDatabase">if set to <c>true</c> [in database].</param> /// <param name="session">The session.</param> /// <param name="wiredReward">if set to <c>true</c> [wired reward].</param> internal void GiveBadge(string badge, bool inDatabase, GameClient session, bool wiredReward = false) { if (wiredReward) { session.SendMessage(SerializeBadgeReward(!HasBadge(badge))); } if (HasBadge(badge)) { return; } if (inDatabase) { using (var queryReactor = Plus.GetDatabaseManager().GetQueryReactor()) { queryReactor.SetQuery(string.Concat(new object[] { "INSERT INTO users_badges (user_id,badge_id,badge_slot) VALUES (", _userId, ",@badge,", 0, ")" })); queryReactor.AddParameter("badge", badge); queryReactor.RunQuery(); } } BadgeList.Add(badge, new Badge(badge, 0)); session.SendMessage(SerializeBadge(badge)); session.SendMessage(Update(badge)); }
public void Init() { using (IQueryAdapter dbClient = Plus.GetDatabaseManager().GetQueryReactor()) { DataTable GetBans = null; dbClient.SetQuery("SELECT `bantype`,`value`,`reason`,`expire` FROM `users_bans` WHERE `bantype` = 'machine' OR `bantype` = 'user'"); GetBans = dbClient.GetTable(); if (GetBans != null) { foreach (DataRow dRow in GetBans.Rows) { string value = Convert.ToString(dRow["value"]); string reason = Convert.ToString(dRow["reason"]); double expires = (double)dRow["expire"]; string type = Convert.ToString(dRow["bantype"]); ModerationBan Ban = new ModerationBan(BanTypeUtility.GetModerationBanType(type), value, reason, expires); if (Ban != null) { if (expires > Plus.GetUnixTimeStamp()) { if (!this._bans.ContainsKey(value)) { this._bans.Add(value, Ban); } } } } } } }
public static void initTrees() { Trees.Clear(); try { using (var dbClient = Plus.GetDatabaseManager().GetQueryReactor()) { dbClient.SetQuery("SELECT * FROM rp_trees"); var woodTable = dbClient.GetTable(); dbClient.SetQuery("SELECT * FROM rp_settings WHERE type = 'TREES'"); var woodSettings = dbClient.GetRow(); foreach (DataRow row in woodTable.Rows) { var rock = new Tree(Convert.ToUInt32(row["id"]), Convert.ToUInt32(row["roomid"]), Convert.ToInt32(row["x"]), Convert.ToInt32(row["y"]), row["data"].ToString()); Trees.TryAdd(Convert.ToUInt32(row["id"]), rock); } var dataSettings = woodSettings["data"].ToString().Split(':'); sellPoint[0] = Convert.ToInt32(dataSettings[0]); // X sellPoint[1] = Convert.ToInt32(dataSettings[1]); // Y sellPoint[2] = Convert.ToInt32(dataSettings[2]); // Room ID } } catch { } }
public void BanUser(GameClient client, string Mod, ModerationBanType Type, string BanValue, string Reason, double ExpireTimestamp) { string BanType = (Type == ModerationBanType.IP ? "ip" : Type == ModerationBanType.MACHINE ? "machine" : "user"); double BanExpire = Plus.GetUnixTimeStamp() + ExpireTimestamp; using (IQueryAdapter dbClient = Plus.GetDatabaseManager().GetQueryReactor()) { dbClient.SetQuery("INSERT INTO `users_bans` (`bantype`, `value`, `reason`, `expire`, `added_by`,`added_date`) VALUES ('" + BanType + "', '" + BanValue + "', @reason, " + BanExpire + ", '" + Mod + "', '" + DateTime.Now.ToLongDateString() + "');"); dbClient.AddParameter("reason", Reason); dbClient.RunQuery(); } if (Type == ModerationBanType.MACHINE || Type == ModerationBanType.USERNAME) { if (!this._bans.ContainsKey(BanValue)) { this._bans.Add(BanValue, new ModerationBan(Type, BanValue, Reason, BanExpire)); } } using (IQueryAdapter dbClient = Plus.GetDatabaseManager().GetQueryReactor()) { dbClient.RunFastQuery("UPDATE `users_info` SET `bans` = `bans` + '1' WHERE `user_id` = '" + client.GetHabbo().Id + "' LIMIT 1"); } client.Disconnect("banned"); }
/// <summary> /// Caches farming spots /// </summary> public static void init() { FarmingSpots.Clear(); string Query = "SELECT * FROM rp_farming"; try { using (IQueryAdapter dbClient = Plus.GetDatabaseManager().GetQueryReactor()) { dbClient.SetQuery(Query); DataTable farmingTable = dbClient.GetTable(); foreach (DataRow row in farmingTable.Rows) { uint Id = Convert.ToUInt32(row["id"]); uint RoomId = Convert.ToUInt32(row["roomid"]); int X = Convert.ToInt32(row["x"]); int Y = Convert.ToInt32(row["y"]); string PlantType = row["type"].ToString(); var farmingspot = new FarmingSpot(Id, RoomId, X, Y, PlantType); FarmingSpots.TryAdd(Id, farmingspot); } } } catch (Exception ex) { Logging.LogQueryError(ex, Query); } }
/// <summary> /// Unregisters the client. /// </summary> /// <param name="userid">The userid.</param> /// <param name="userName">The username.</param> internal void UnregisterClient(uint userid, string userName) { _userIdRegister.Remove(userid); _userNameRegister.Remove(userName.ToLower()); using (var queryReactor = Plus.GetDatabaseManager().GetQueryReactor()) queryReactor.SetQuery(string.Format("UPDATE users SET online='0' WHERE id={0} LIMIT 1", userid)); }
/// <summary> /// Activates the quest. /// </summary> /// <param name="session">The session.</param> /// <param name="message">The message.</param> internal void ActivateQuest(GameClient session, ClientMessage message) { var quest = GetQuest(message.GetUInteger()); if (quest == null) { return; } using (var queryReactor = Plus.GetDatabaseManager().GetQueryReactor()) { queryReactor.RunFastQuery(string.Concat(new object[] { "REPLACE INTO users_quests_data(user_id,quest_id) VALUES (", session.GetHabbo().Id, ", ", quest.Id, ")" })); queryReactor.RunFastQuery(string.Concat(new object[] { "UPDATE users_stats SET quest_id = ", quest.Id, " WHERE id = ", session.GetHabbo().Id })); } session.GetHabbo().CurrentQuestId = quest.Id; GetList(session, null); session.SendMessage(QuestStartedComposer.Compose(session, quest)); }
/// <summary> /// Initializes the messenger. /// </summary> internal void InitMessenger() { var client = GetClient(); if (client == null) { return; } client.SendMessage(_messenger.SerializeCategories()); client.SendMessage(_messenger.SerializeFriends()); client.SendMessage(_messenger.SerializeRequests()); if (Plus.OfflineMessages.ContainsKey(Id)) { var list = Plus.OfflineMessages[Id]; foreach (var current in list) { client.SendMessage(_messenger.SerializeOfflineMessages(current)); } Plus.OfflineMessages.Remove(Id); OfflineMessage.RemoveAllMessages(Plus.GetDatabaseManager().GetQueryReactor(), Id); } if (_messenger.Requests.Count > Plus.FriendRequestLimit) { client.SendNotif(Plus.GetLanguage().GetVar("user_friend_request_max")); } _messenger.OnStatusChanged(false); }
/// <summary> /// Constructor /// </summary> public MafiaWarManager() { string GameData; using (var dbClient = Plus.GetDatabaseManager().GetQueryReactor()) { dbClient.SetQuery("SELECT * FROM game_settings WHERE type = 'mafiawars'"); DataTable GameTable = dbClient.GetTable(); GameData = GameTable.Rows[0]["data"].ToString(); } if (GameData == null) { Console.WriteLine("FAILED TO INITIALIZE MAFIA WARS"); return; } DataArray = GameData.Split(','); // Split string by , and make a new vector instance | X,Y,X,Y Vector2D WaitingAreaGreen = new Vector2D(Convert.ToInt32(DataArray[0]), Convert.ToInt32(DataArray[1])); Vector2D WaitingAreaBlue = new Vector2D(Convert.ToInt32(DataArray[2]), Convert.ToInt32(DataArray[3])); MWTeam Green = new MWTeam("Green", "ha-3352-101-101.sh-290-101.lg-275-101.ch-3030-101", WaitingAreaGreen); MWTeam Blue = new MWTeam("Blue", "ha-3352-106-106.lg-275-106.sh-290-106.ch-3030-106", WaitingAreaBlue); MWTeams.Add("Green", Green); MWTeams.Add("Blue", Blue); }
/// <summary> /// Initializes a new instance of the <see cref="UserPreferences"/> class. /// </summary> /// <param name="userId">The user identifier.</param> internal UserPreferences(uint userId) { _userId = userId; DataRow row; using (var queryReactor = Plus.GetDatabaseManager().GetQueryReactor()) { queryReactor.SetQuery("SELECT * FROM users_preferences WHERE userid = " + _userId); queryReactor.AddParameter("userid", _userId); row = queryReactor.GetRow(); if (row == null) { queryReactor.RunFastQuery("REPLACE INTO users_preferences (userid, volume) VALUES (" + _userId + ", '100,100,100')"); return; } } PreferOldChat = Plus.EnumToBool((string)row["prefer_old_chat"]); IgnoreRoomInvite = Plus.EnumToBool((string)row["ignore_room_invite"]); DisableCameraFollow = Plus.EnumToBool((string)row["disable_camera_follow"]); Volume = (string)row["volume"]; NewnaviX = Convert.ToInt32(row["newnavi_x"]); NewnaviY = Convert.ToInt32(row["newnavi_y"]); NewnaviWidth = Convert.ToInt32(row["newnavi_width"]); NewnaviHeight = Convert.ToInt32(row["newnavi_height"]); }
public static bool removeInventoryDrinks(GameClient session, HybridDictionary invedrinks) { if (session != null) { try { bool lol2 = false; foreach (UserItem item in invedrinks.Values) { if (lol2 == false) { session.GetHabbo().GetInventoryComponent().RemoveItem(item.Id, false); using (var dbClient = Plus.GetDatabaseManager().GetQueryReactor()) { dbClient.RunFastQuery("DELETE FROM items_rooms WHERE id = '" + item.Id + "'"); } lol2 = true; } } return(true); } catch { return(false); } } else { return(false); } }
public static void load() { SubstanceData = new ConcurrentDictionary <string, Food>(); SubstanceData.Clear(); DataTable substances = null; using (IQueryAdapter dbClient = Plus.GetDatabaseManager().GetQueryReactor()) { dbClient.SetQuery("SELECT * FROM rp_food"); substances = dbClient.GetTable(); foreach (DataRow sub in substances.Rows) { Food food = new Food( Convert.ToString(sub[0]), Convert.ToInt32(sub[1]), Convert.ToInt32(sub[2]), Convert.ToInt32(sub[3]), Convert.ToInt32(sub[4]), Convert.ToInt32(sub[5]), Convert.ToString(sub[6]), Convert.ToString(sub[7]), Convert.ToString(sub[8]), Convert.ToUInt32(sub[9]), Convert.ToDouble(sub[10]), Convert.ToString(sub[11]), Convert.ToInt32(sub[12]) ); SubstanceData.TryAdd(Convert.ToString(sub[0]), food); } } }
/// <summary> /// Ends the game when it is finished /// </summary> public static void EndGame() { // Send all players that are still in the game to the loby ResetAllPlayers(); SendAllPlayersToRoom(ColourManager.GameLobby); // Null all teams Teams["red"] = null; Teams["blue"] = null; Teams["yellow"] = null; Teams["pink"] = null; // NU LTHE WINNING TEAM YING U FORGOT THIS U BTEC C**T WinningTeam = null; // Remove them from dictionary Teams.Clear(); // Recreate teams etc Initialize(); using (IQueryAdapter dbClient = Plus.GetDatabaseManager().GetQueryReactor()) { dbClient.RunFastQuery("UPDATE rp_stats SET last_cw_team = '" + String.Empty + "' WHERE last_cw_team != '" + String.Empty + "'"); } }
/// <summary> /// Disables this instance. /// </summary> internal void Disable() { Enabled = false; using (var queryReactor = Plus.GetDatabaseManager().GetQueryReactor()) queryReactor.RunFastQuery(string.Format("UPDATE items_moodlight SET enabled = '0' WHERE item_id = {0}", ItemId)); }