public override bool OnUse(GameClient session, string[] args) { if (args.Length >= 2) { if (session.GetHabbo().HasPermission("cmd_roomalert")) { string message = TextUtilies.MergeArrayToString(args, 1); foreach (RoomUnitUser user in session.GetHabbo().GetRoomSession().GetRoom().RoomUserManager.GetRealUsers()) { try { user.Session.SendNotif(message); } catch { } } return(true); } else { return(false); } } else { return(false); } }
public void Handle(GameClient session, ClientMessage message) { if (session != null && session.GetHabbo() != null) { RoomUnit roomUser = session.GetHabbo().GetRoomSession().GetRoomUser(); if (roomUser != null) { string motto = TextUtilies.FilterString(message.PopFixedString()); if (!TextUtilies.HaveBlacklistedWords(motto)) { session.GetHabbo().Motto = motto; using (DatabaseClient dbClient = Skylight.GetDatabaseManager().GetClient()) { dbClient.AddParamWithValue("userId", session.GetHabbo().ID); dbClient.AddParamWithValue("motto", motto); dbClient.ExecuteQuery("UPDATE users SET motto = @motto WHERE id = @userId LIMIT 1"); if (session.GetHabbo().GetUserSettings().FriendStream) { dbClient.ExecuteQuery("INSERT INTO user_friend_stream(type, user_id, timestamp, extra_data) VALUES('3', @userId, UNIX_TIMESTAMP(), @motto)"); } } session.SendMessage(OutgoingPacketsEnum.UpdateUser, new ValueHolder("VirtualID", -1, "Look", session.GetHabbo().Look, "Gender", session.GetHabbo().Gender, "Motto", session.GetHabbo().Motto, "AchievementPoints", session.GetHabbo().GetUserStats().AchievementPoints)); roomUser.Room.SendToAll(OutgoingPacketsEnum.UpdateUser, new ValueHolder("VirtualID", roomUser.VirtualID, "Look", session.GetHabbo().Look, "Gender", session.GetHabbo().Gender, "Motto", session.GetHabbo().Motto, "AchievementPoints", session.GetHabbo().GetUserStats().AchievementPoints)); Skylight.GetGame().GetAchievementManager().AddAchievement(session, "ChangeMotto", 1); } } } }
public virtual void Handle(GameClient session, ClientMessage message) { if (session?.GetHabbo()?.GetMessenger() != null) { string filteredMessage = TextUtilies.CheckBlacklistedWords(TextUtilies.FilterString(this.Message)); List <string> receiverUsernames = new List <string>(); List <int> receiverSessionIds = new List <int>(); foreach (uint userId in this.SendTo) { if (userId > 0) //real user { if (session.GetHabbo().GetMessenger().IsFriendWith(userId)) { Skylight.GetGame().GetGameClientManager().GetGameClientById(userId)?.SendMessage(new MessengerReceivedRoomInviteComposerHandler(session.GetHabbo().ID, filteredMessage)); } else { receiverUsernames.Add(Skylight.GetGame().GetGameClientManager().GetUsernameByID(userId)); receiverSessionIds.Add(-1); } } } Skylight.GetGame().GetChatlogManager().LogRoomInvite(session, this.SendTo.Where(u => u > 0).ToList(), receiverUsernames, receiverSessionIds, this.Message); } }
public void Handle(GameClient session, ClientMessage message) { Room room = session.GetHabbo().GetRoomSession().GetRoom(); if (room != null) { uint itemId = message.PopWiredUInt(); RoomItem item = room.RoomItemManager.TryGetRoomItem(itemId); if (item != null) { string data = message.PopFixedString(); string[] dataSpllited = data.Split(new char[] { ' ' }, 2); string message_ = TextUtilies.FilterString(dataSpllited[1], false, true); if (room.GaveRoomRights(session) || data.StartsWith(item.ExtraData)) { string color = dataSpllited[0]; if (color == "FFFF33" || color == "FF9CFF" || color == "9CCEFF" || color == "9CFF9C") { item.ExtraData = color + " " + message_; item.UpdateState(true, true); } } } } }
public override void LoadItemData(string data) { string[] dataSpit = data.Split((char)9); if (!string.IsNullOrEmpty(dataSpit[0])) { foreach (string itemData in dataSpit[0].Split('|')) { string[] itemDataSlit = itemData.Split(','); uint itemId = uint.Parse(itemDataSlit[0]); RoomItem item = this.Room.RoomItemManager.TryGetRoomItem(itemId); if (item != null) { string extraData = itemDataSlit[1]; int rot = int.Parse(itemDataSlit[2]); int x = int.Parse(itemDataSlit[3]); int y = int.Parse(itemDataSlit[4]); double z = double.Parse(itemDataSlit[5]); this.SelectedItems.Add(item); this.MatchFurniData.Add(item.ID, new MatchFurniData(extraData, rot, x, y, z)); } } } this.FurniState = TextUtilies.StringToBool(dataSpit[1]); this.Direction = TextUtilies.StringToBool(dataSpit[2]); this.Position = TextUtilies.StringToBool(dataSpit[3]); }
public override bool OnUse(GameClient session, string[] args) { if (args.Length >= 3) { if (session.GetHabbo().HasPermission("cmd_motd")) { GameClient target = Skylight.GetGame().GetGameClientManager().GetGameClientByUsername(args[1]); if (target != null) { target.SendNotif(TextUtilies.MergeArrayToString(args, 2), 2); } else { session.SendNotif("Unable to find user!"); } return(true); } else { return(false); } } else { return(false); } }
public virtual void Handle(GameClient session, ClientMessage message) { if (session?.GetHabbo()?.GetMessenger() != null) { uint userId = 0; bool blockFriendRequests = false; GameClient target = Skylight.GetGame().GetGameClientManager().GetGameClientByUsername(this.Username); if (target?.GetHabbo()?.GetUserSettings() == null) { DataRow dataRow = null; using (DatabaseClient dbClient = Skylight.GetDatabaseManager().GetClient()) { dbClient.AddParamWithValue("username", this.Username); dataRow = dbClient.ReadDataRow("SELECT id, block_newfriends FROM users WHERE username = @username LIMIT 1"); } if (dataRow != null) { userId = (uint)dataRow["id"]; blockFriendRequests = TextUtilies.StringToBool((string)dataRow["block_newfriends"]); } } else { userId = target.GetHabbo().ID; blockFriendRequests = target.GetHabbo().GetUserSettings().BlockNewFriends; } if (userId > 0 && userId != session.GetHabbo().ID) { if (blockFriendRequests) { session.SendMessage(new MessengerSendFriendRequestErrorComposerHandler(MessengerSendFriendRequestErrorCode.FriendRequestsDisabled)); } else { if (session.GetHabbo().GetMessenger().TrySendFriendRequestTo(userId) && !(target?.GetHabbo()?.GetMessenger()?.HasFriendRequestPendingFrom(session.GetHabbo().ID) ?? true)) { bool insertSuccess = false; using (DatabaseClient dbClient = Skylight.GetDatabaseManager().GetClient()) { dbClient.AddParamWithValue("toid", userId); dbClient.AddParamWithValue("userid", session.GetHabbo().ID); insertSuccess = dbClient.ExecuteNonQuery("INSERT INTO messenger_requests (to_id, from_id) VALUES (@toid, @userid)") > 0; } if (insertSuccess) { target?.GetHabbo()?.GetMessenger()?.AddFriendRequest(new MessengerRequest(userId, session.GetHabbo().ID, session.GetHabbo().Username, session.GetHabbo().Look)); } } } } else { session.SendMessage(new MessengerSendFriendRequestErrorComposerHandler(MessengerSendFriendRequestErrorCode.RequestNotFound)); } } }
public RoomData(DataRow dataRow) { if (dataRow != null) { this.ID = (uint)dataRow["id"]; this.Name = (string)dataRow["name"]; this.Description = (string)dataRow["description"]; this.OwnerID = (uint)dataRow["ownerid"]; this.Type = (string)dataRow["type"]; this.Model = (string)dataRow["model"]; this.State = (string)dataRow["state"] == "password" ? RoomStateType.PASSWORD : (string)dataRow["state"] == "locked" ? RoomStateType.LOCKED : RoomStateType.OPEN; this.Category = (int)dataRow["category"]; this.UsersNow = (int)dataRow["users_now"]; //maybe we need this sometimes :3 this.UsersMax = (int)dataRow["users_max"]; this.PublicCCTs = (string)dataRow["public_ccts"]; this.Score = (int)dataRow["score"]; string tags = (string)dataRow["tags"]; if (!string.IsNullOrEmpty(tags)) { this.Tags = tags.Split(',').ToList(); } else { this.Tags = new List <string>(); } this.RoomIcon = new RoomIcon((int)dataRow["icon_bg"], (int)dataRow["icon_fg"], (string)dataRow["icon_items"]); this.Password = (string)dataRow["password"]; this.Wallpaper = (string)dataRow["wallpaper"]; this.Floor = (string)dataRow["floor"]; this.Landscape = (string)dataRow["landscape"]; this.AllowPets = TextUtilies.StringToBool((string)dataRow["allow_pets"]); this.AllowPetsEat = TextUtilies.StringToBool((string)dataRow["allow_pets_eat"]); this.AllowWalkthrough = TextUtilies.StringToBool((string)dataRow["allow_walkthrough"]); this.Hidewalls = TextUtilies.StringToBool((string)dataRow["hidewalls"]); this.Wallthick = (int)dataRow["wallthick"]; this.Floorthick = (int)dataRow["floorthick"]; this.AllowTrade = (RoomAllowTradeType)int.Parse((string)dataRow["trade"]); this.MuteOption = (RoomWhoCanType)int.Parse((string)dataRow["mute_option"]); this.KickOption = (RoomWhoCanType)int.Parse((string)dataRow["kick_option"]); this.BanOption = (RoomWhoCanType)int.Parse((string)dataRow["ban_option"]); this.ChatMode = (RoomChatModeType)int.Parse((string)dataRow["chat_mode"]); this.ChatWeight = (RoomChatWeightType)int.Parse((string)dataRow["chat_weight"]); this.ChatSpeed = (RoomChatSpeedType)int.Parse((string)dataRow["chat_speed"]); this.ChatProtection = (RoomChatProtectionType)int.Parse((string)dataRow["chat_protection"]); string data = (string)dataRow["data"]; if (!string.IsNullOrEmpty(data)) { this.ExtraData = JsonConvert.DeserializeObject <RoomExtraData>(data); } else { this.ExtraData = new RoomExtraData(); } } else { this.NullValues(); } }
public void Handle(GameClient session, ClientMessage message) { string name = message.PopFixedString(); int type = message.PopWiredInt32(); if (name.Length >= 2) { if (name.Length <= 16) { Regex regex = new Regex(@"^[A-Z0-9_-]+$", RegexOptions.IgnoreCase); foreach (char char_ in name) { if (!regex.IsMatch(char_.ToString())) { ServerMessage message_ = BasicUtilies.GetRevisionServerMessage(Revision.RELEASE63_35255_34886_201108111108); message_.Init(r63aOutgoing.ValidatePetNameResult); message_.AppendInt32(3); //0 = valid, 1 = too long, 2 = too short, 3 = forbidden cheracters, 4 = forbidden words message_.AppendString(char_.ToString()); session.SendMessage(message_); return; //we don't want continue :( } } if (TextUtilies.HaveBlacklistedWords(name)) { ServerMessage message_ = BasicUtilies.GetRevisionServerMessage(Revision.RELEASE63_35255_34886_201108111108); message_.Init(r63aOutgoing.ValidatePetNameResult); message_.AppendInt32(4); //0 = valid, 1 = too long, 2 = too short, 3 = forbidden cheracters, 4 = forbidden words message_.AppendString(""); //show the forbidden word session.SendMessage(message_); } else //let the user buy it { ServerMessage message_ = BasicUtilies.GetRevisionServerMessage(Revision.RELEASE63_35255_34886_201108111108); message_.Init(r63aOutgoing.ValidatePetNameResult); message_.AppendInt32(0); //0 = valid, 1 = too long, 2 = too short, 3 = forbidden cheracters, 4 = forbidden words message_.AppendString(""); //show the forbidden word session.SendMessage(message_); } } else { ServerMessage message_ = BasicUtilies.GetRevisionServerMessage(Revision.RELEASE63_35255_34886_201108111108); message_.Init(r63aOutgoing.ValidatePetNameResult); message_.AppendInt32(1); //0 = valid, 1 = too long, 2 = too short, 3 = forbidden cheracters, 4 = forbidden words message_.AppendString("16"); session.SendMessage(message_); } } else { ServerMessage message_ = BasicUtilies.GetRevisionServerMessage(Revision.RELEASE63_35255_34886_201108111108); message_.Init(r63aOutgoing.ValidatePetNameResult); message_.AppendInt32(2); //0 = valid, 1 = too long, 2 = too short, 3 = forbidden cheracters, 4 = forbidden words message_.AppendString("2"); session.SendMessage(message_); } }
public void Handle(GameClient session, ClientMessage message) { if (session.FlagmeCommandUsed) { if (session.GetHabbo().HasPermission("cmd_flagme")) { string username = TextUtilies.FilterString(message.PopFixedString()); if (username.Length < 3) //to short { ServerMessage message_ = BasicUtilies.GetRevisionServerMessage(Revision.RELEASE63_35255_34886_201108111108); message_.Init(r63aOutgoing.ValidUsername); message_.AppendInt32(2); //result message_.AppendString(username); message_.AppendInt32(0); //suggested names session.SendMessage(message_); } else if (username.Length > 15) // too long { ServerMessage message_ = BasicUtilies.GetRevisionServerMessage(Revision.RELEASE63_35255_34886_201108111108); message_.Init(r63aOutgoing.ValidUsername); message_.AppendInt32(3); //result message_.AppendString(username); message_.AppendInt32(0); //suggested names session.SendMessage(message_); } else if (username.Contains(" ") || !Regex.IsMatch(username, "^[-a-zA-Z0-9._:,]+$") || TextUtilies.HaveBlacklistedWords(username)) //invalid name { ServerMessage message_ = BasicUtilies.GetRevisionServerMessage(Revision.RELEASE63_35255_34886_201108111108); message_.Init(r63aOutgoing.ValidUsername); message_.AppendInt32(4); //result message_.AppendString(username); message_.AppendInt32(0); //suggested names session.SendMessage(message_); } else if (Skylight.GetGame().GetGameClientManager().UsernameExits(username)) //name already exits { ServerMessage message_ = BasicUtilies.GetRevisionServerMessage(Revision.RELEASE63_35255_34886_201108111108); message_.Init(r63aOutgoing.ValidUsername); message_.AppendInt32(5); //result message_.AppendString(username); message_.AppendInt32(0); //suggested names session.SendMessage(message_); } else { ServerMessage message_ = BasicUtilies.GetRevisionServerMessage(Revision.RELEASE63_35255_34886_201108111108); message_.Init(r63aOutgoing.ValidUsername); message_.AppendInt32(0); //result message_.AppendString(username); message_.AppendInt32(0); //suggested names session.SendMessage(message_); } } } else { } }
public MoodlightPreset StringToMoodlightPreset(string data) { string[] dataSplitted = data.Split(','); if (!this.IsValidColor(dataSplitted[0])) { dataSplitted[0] = "#000000"; } return(new MoodlightPreset(dataSplitted[0], int.Parse(dataSplitted[1]), TextUtilies.StringToBool(dataSplitted[2]))); }
public static Habbo LoadHabbo(UserDataFactory userData, GameClient session) { DataRow habboData = userData.GetUserData(); uint id = (uint)habboData["id"]; string username = (string)habboData["username"]; string realName = (string)habboData["real_name"]; string email = (string)habboData["mail"]; string sso = (string)habboData["auth_ticket"]; int rank = (int)habboData["rank"]; int credits = (int)habboData["credits"]; string activityPoints = (string)habboData["activity_points"]; double activityPointsLastUpdate = (double)habboData["activity_points_lastupdate"]; string look = (string)habboData["look"]; string gender = (string)habboData["gender"]; string motto = (string)habboData["motto"]; double accountCreated = (double)habboData["account_created"]; double lastOnline = (double)habboData["last_online"]; string ipLast = (string)habboData["ip_last"]; string ipReg = (string)habboData["ip_reg"]; uint homeRoom = (uint)habboData["home_room"]; int dailyRespectPoints = (int)habboData["daily_respect_points"]; int dailyPetRespectPoints = (int)habboData["daily_pet_respect_points"]; double muteExpires = (double)habboData["mute_expires"]; bool blockNewFriends = TextUtilies.StringToBool((string)habboData["block_newfriends"]); bool hideOnline = TextUtilies.StringToBool((string)habboData["hide_online"]); bool hideInRoom = TextUtilies.StringToBool((string)habboData["hide_inroom"]); int[] volume = ((string)habboData["volume"]).Split(new char[] { ',' }, 3, StringSplitOptions.RemoveEmptyEntries).Select(v => int.TryParse(v, out int i) ? i : 100).ToArray(); if (volume.Length == 0) { volume = new int[] { 100, 100, 100 }; } else if (volume.Length == 1) { volume = new int[] { volume[0], 100, 100 }; } else if (volume.Length == 2) { volume = new int[] { volume[0], volume[1], 100 }; } bool acceptTrading = TextUtilies.StringToBool((string)habboData["accept_trading"]); int marketplaceTokens = (int)habboData["marketplace_tokens"]; int newbieStatus = (int)habboData["newbie_status"]; uint newbieRoom = (uint)habboData["newbie_room"]; bool friendStream = TextUtilies.StringToBool((string)habboData["friend_stream"]); string twoFactoryAuthenicationSecretCode = (string)habboData["two_factory_authenication_secret_code"]; bool mailConfirmed = TextUtilies.StringToBool((string)habboData["mail_confirmed"]); bool preferOldChat = TextUtilies.StringToBool((string)habboData["prefer_old_chat"]); bool blockRoomInvites = TextUtilies.StringToBool((string)habboData["block_room_invites"]); bool blockCameraFollow = TextUtilies.StringToBool((string)habboData["block_camera_follow"]); int chatColor = (int)habboData["chat_color"]; double guideEnrollmentTimestamp = (double)habboData["guide_enrollment_timestamp"]; return(new Habbo(session, userData, id, username, realName, email, sso, rank, credits, activityPoints, activityPointsLastUpdate, look, gender, motto, accountCreated, lastOnline, ipLast, ipReg, homeRoom, dailyRespectPoints, dailyPetRespectPoints, muteExpires, blockNewFriends, hideOnline, hideInRoom, volume, acceptTrading, marketplaceTokens, newbieStatus, newbieRoom, friendStream, twoFactoryAuthenicationSecretCode, mailConfirmed, preferOldChat, blockRoomInvites, blockCameraFollow, chatColor, guideEnrollmentTimestamp)); }
public void Handle(GameClient session, ClientMessage message) { session.GetHabbo().GetUserSettings().FriendStream = message.PopBase64Boolean(); using (DatabaseClient dbClient = Skylight.GetDatabaseManager().GetClient()) { dbClient.AddParamWithValue("userId", session.GetHabbo().ID); dbClient.AddParamWithValue("friendStream", TextUtilies.BoolToString(session.GetHabbo().GetUserSettings().FriendStream)); dbClient.ExecuteQuery("UPDATE users SET friend_stream = @friendStream WHERE id = @userId LIMIT 1"); } }
public void Handle(GameClient session, ClientMessage message) { RoomUnit user = session.GetHabbo().GetRoomSession().GetRoomUser(); if (!user.HasStatus("lay")) { if (user.BodyRotation == 0 || user.BodyRotation == 2 || user.BodyRotation == 4 || user.BodyRotation == 6) { user.AddStatus("sit", TextUtilies.DoubleWithDotDecimal((user.Z + 1) / 2 - user.Z * 0.5)); } } }
public ServerMessage Handle(ValueHolder valueHolder = null) { RoomItemRollerMovement[] movement = valueHolder.GetValueOrDefault <RoomItemRollerMovement[]>("Movement"); RoomUserRollerMovement user = valueHolder.GetValueOrDefault <RoomUserRollerMovement>("User"); ServerMessage message = BasicUtilies.GetRevisionServerMessage(Revision.RELEASE63_201211141113_913728051); message.Init(r63cOutgoing.RollerMovement); if (movement != null) { RoomItemRollerMovement single = movement[0]; message.AppendInt32(single.CurrentXY.X); message.AppendInt32(single.CurrentXY.Y); message.AppendInt32(single.NextXY.X); message.AppendInt32(single.NextXY.Y); message.AppendInt32(movement.Length); //items count foreach (RoomItemRollerMovement item in movement) { message.AppendUInt(item.ItemId); message.AppendString(TextUtilies.DoubleWithDotDecimal(item.CurrentZ)); message.AppendString(TextUtilies.DoubleWithDotDecimal(item.NextZ)); } message.AppendUInt(single.SourceID); //source of action } else { message.AppendInt32(user.CurrentX); message.AppendInt32(user.CurrentY); message.AppendInt32(user.NextX); message.AppendInt32(user.NextY); message.AppendInt32(0); //items count message.AppendUInt(user.SourceID); //source of action } if (user != null) { message.AppendInt32(2); //user movement type message.AppendInt32(user.VirtualID); message.AppendString(TextUtilies.DoubleWithDotDecimal(user.CurrentZ)); message.AppendString(TextUtilies.DoubleWithDotDecimal(user.NextZ)); } else { message.AppendInt32(0); } return(message); }
public override void Serialize(ServerMessage message) { message.AppendInt32(-1); message.AppendString(this.Data.Name); message.AppendString(this.Data.Motto); message.AppendString(this.Data.Look); message.AppendInt32(this.VirtualID); message.AppendInt32(this.X); message.AppendInt32(this.Y); message.AppendString(TextUtilies.DoubleWithDotDecimal(this.Z)); message.AppendInt32(2); //dir message.AppendInt32(3); }
public void Handle(GameClient session, ClientMessage message) { int pageId = message.PopWiredInt32(); uint itemId = message.PopWiredUInt(); string extraData = message.PopFixedString(); string receiverUsername = TextUtilies.FilterString(message.PopFixedString()); string giftMessage = TextUtilies.FilterString(message.PopFixedString()); int giftSpriteId = message.PopWiredInt32(); //0 for no special gift int giftBoxId = message.PopWiredInt32(); int giftRibbonId = message.PopWiredInt32(); Skylight.GetGame().GetCatalogManager().BuyItem(session, pageId, itemId, extraData, 1, true, receiverUsername, giftMessage, giftSpriteId, giftBoxId, giftRibbonId); }
public override void Serialize(ServerMessage message) { message.AppendUInt(this.PetData.ID); message.AppendString(this.PetData.Name); message.AppendString(""); //pets dont have motto xD message.AppendString(this.PetData.Look); message.AppendInt32(this.VirtualID); message.AppendInt32(this.X); message.AppendInt32(this.Y); message.AppendString(TextUtilies.DoubleWithDotDecimal(this.Z)); message.AppendInt32(2); //dir message.AppendInt32(2); message.AppendInt32(int.Parse(this.PetData.Race)); }
public override bool OnUse(GameClient session, string[] args) { if (args.Length >= 2) { GameClient target = Skylight.GetGame().GetGameClientManager().GetGameClientByUsername(args[1]); if (target != null) { RoomUnit me = session.GetHabbo().GetRoomSession().GetRoomUser(); RoomUnitUser other = target.GetHabbo().GetRoomSession().GetRoomUser(); if (target.GetHabbo().GetRoomSession().IsInRoom&& target.GetHabbo().GetRoomSession().CurrentRoomID == session.GetHabbo().GetRoomSession().CurrentRoomID) { bool doit = true; if ((me.X + 1 != other.X || me.Y != other.Y) && (me.X - 1 != other.X || me.Y != other.Y) && (me.Y + 1 != other.Y || me.X != other.X)) { bool skip = false; if (me.X - 1 == other.X) { if (me.Y == other.Y) { skip = true; } } if (!skip) { doit = me.X == other.X || me.Y == other.Y; } } if (doit) { me.Speak("*RKO'S " + other.Session.GetHabbo().Username + " OUT OF NO WHERE*", true); other.Speak("Ouch", true); if (!other.HasStatus("lay") && !other.HasStatus("sit")) { if (other.BodyRotation == 0 || other.BodyRotation == 2 || other.BodyRotation == 4 || other.BodyRotation == 6) { other.AddStatus("sit", TextUtilies.DoubleWithDotDecimal((other.Z + 1) / 2 - other.Z * 0.5)); } } } return(true); } } } return(false); }
public override bool OnUse(GameClient session, string[] args) { if (session.GetHabbo().HasPermission("cmd_update_filter")) { using (DatabaseClient dbClient = Skylight.GetDatabaseManager().GetClient()) { TextUtilies.LoadWordfilter(dbClient); } return(true); } else { return(false); } }
public override void Serialize(ServerMessage message) { if (message.GetRevision() > Revision.R26_20080915_0408_7984_61ccb5f8b8797a3aba62c1fa2ca80169) { message.AppendUInt(this.Session.GetHabbo().ID); message.AppendString(this.Session.GetHabbo().Username); message.AppendString(this.Session.GetHabbo().Motto); message.AppendString(this.Session.GetHabbo().Look); message.AppendInt32(this.VirtualID); message.AppendInt32(this.X); message.AppendInt32(this.Y); message.AppendString(TextUtilies.DoubleWithDotDecimal(this.Z)); message.AppendInt32(0); message.AppendInt32(1); message.AppendString(this.Session.GetHabbo().Gender.ToLower()); message.AppendInt32(-1); //group id message.AppendInt32(-1); //fav group if (message.GetRevision() < Revision.RELEASE63_201211141113_913728051) { message.AppendInt32(-1); } else { message.AppendString(""); //group name } message.AppendString(this.Swimsuit); message.AppendInt32(this.Session.GetHabbo().GetUserStats().AchievementPoints); if (message.GetRevision() >= Revision.PRODUCTION_201601012205_226667486) { message.AppendBoolean(true); //IDK } } else { message.AppendString("i:" + this.VirtualID, 13); message.AppendString("a:" + this.UserID, 13); message.AppendString("s:" + this.Session.GetHabbo().Gender, 13); message.AppendString("n:" + this.Session.GetHabbo().Username, 13); message.AppendString("f:" + this.Session.GetHabbo().Look, 13); message.AppendString("l:" + this.X + " " + this.Y + " " + TextUtilies.DoubleWithDotDecimal(this.Z), 13); message.AppendString("c:" + this.Session.GetHabbo().Motto, 13); if (!string.IsNullOrEmpty(this.Swimsuit)) { message.AppendString("p:" + this.Swimsuit, 13); } } }
public static void LoadConfigsFromDB(DatabaseClient dbClient) { Logging.Write("Loading server settings... "); DataRow settings = dbClient.ReadDataRow("SELECT * FROM server_settings"); ServerConfiguration.EnableSecureSession = TextUtilies.StringToBool((string)settings["enable_secure_session"]); ServerConfiguration.EveryoneVIP = TextUtilies.StringToBool((string)settings["everyone_vip"]); ServerConfiguration.MaxRoomsPerUser = (int)settings["max_rooms_per_user"]; ServerConfiguration.UseIPLastForBans = TextUtilies.StringToBool((string)settings["ip_last_for_bans"]); ServerConfiguration.MOTD = (string)settings["motd"]; ServerConfiguration.EnableMarketplace = TextUtilies.StringToBool((string)settings["enable_marketplace"]); ServerConfiguration.MarketplaceMinPrice = (int)settings["marketplace_min_price"]; ServerConfiguration.MarketplaceMaxPrice = (int)settings["marketplace_max_price"]; ServerConfiguration.MarketplaceOffersActiveHours = (int)settings["marketplace_offers_active_hours"]; ServerConfiguration.MarketplaceTokensNonPremium = (int)settings["marketplace_tokens_non_premium"]; ServerConfiguration.MarketplaceTokensPremium = (int)settings["marketplace_tokens_premium"]; ServerConfiguration.MarketplaceTokensPrice = (int)settings["marketplace_tokens_price"]; ServerConfiguration.MarketplaceCompremission = (int)settings["marketplace_compremission"]; ServerConfiguration.MarketplaceAvaragePriceDays = (int)settings["marketplace_avarage_price_days"]; ServerConfiguration.EventsEnabled = TextUtilies.StringToBool((string)settings["events_enabled"]); ServerConfiguration.EnableCrypto = TextUtilies.StringToBool((string)settings["enable_crypto"]); ServerConfiguration.RequireMachineID = TextUtilies.StringToBool((string)settings["require_machine_id"]); ServerConfiguration.CryptoType = (int)settings["crypto_type"]; ServerConfiguration.IdleTime = (int)settings["idle_time"]; ServerConfiguration.IdleKickTime = (int)settings["idle_kick_time"]; ServerConfiguration.ActivityBonusTime = (int)settings["activity_bonus_time"]; ServerConfiguration.CreditsBonus = (int)settings["credits_bonus"]; ServerConfiguration.PixelsBonus = (int)settings["pixels_bonus"]; ServerConfiguration.ActivityPointsBonusType = (int)settings["activity_points_bonus_type"]; ServerConfiguration.ActivityPointsBonus = (int)settings["activity_points_bonus"]; ServerConfiguration.AllowedComamndsToBeBlacklisted = ((string)settings["allowed_commands_to_be_blacklisted"]).ToLower().Split(',').ToList(); ServerConfiguration.MinRankRequireLogin = (int)settings["min_rank_require_login"]; ServerConfiguration.BlacklistedEffects.Clear(); foreach (string string_ in ((string)settings["blacklisted_effects"]).Split(';')) { string[] string_2 = string_.Split(','); if (string_2.Length == 2) { ServerConfiguration.BlacklistedEffects.Add(int.Parse(string_2[0]), int.Parse(string_2[1])); } } ServerConfiguration.StaffPicksCategoryId = (int)settings["staff_picks_category_id"]; Logging.WriteLine("completed!", ConsoleColor.Green); }
public override string GetItemData() { string itemString = ""; foreach (KeyValuePair <uint, MatchFurniData> data in this.MatchFurniData) { if (itemString.Length > 0) { itemString += "|"; } itemString += data.Key + "," + data.Value.ExtraData + "," + data.Value.Rot + "," + data.Value.X + "," + data.Value.Y + "," + TextUtilies.DoubleWithDotDecimal(data.Value.Z); } return(itemString + (char)9 + TextUtilies.BoolToString(this.FurniState) + (char)9 + TextUtilies.BoolToString(this.Direction) + (char)9 + TextUtilies.BoolToString(this.Position)); }
public void Handle(GameClient session, ClientMessage message) { if (session != null && session.GetHabbo() != null) { RoomUnit roomUser = session.GetHabbo().GetRoomSession().GetRoomUser(); if (roomUser != null) { string motto = TextUtilies.FilterString(message.PopFixedString()); if (!TextUtilies.HaveBlacklistedWords(motto)) { session.GetHabbo().Motto = motto; using (DatabaseClient dbClient = Skylight.GetDatabaseManager().GetClient()) { dbClient.AddParamWithValue("userId", session.GetHabbo().ID); dbClient.AddParamWithValue("motto", motto); dbClient.ExecuteQuery("UPDATE users SET motto = @motto WHERE id = @userId LIMIT 1"); if (session.GetHabbo().GetUserSettings().FriendStream) { dbClient.ExecuteQuery("INSERT INTO user_friend_stream(type, user_id, timestamp, extra_data) VALUES('3', @userId, UNIX_TIMESTAMP(), @motto)"); } } ServerMessage message_ = BasicUtilies.GetRevisionServerMessage(Revision.RELEASE63_35255_34886_201108111108); message_.Init(r63aOutgoing.UpdateUser); message_.AppendInt32(-1); message_.AppendString(session.GetHabbo().Look); message_.AppendString(session.GetHabbo().Gender.ToLower()); message_.AppendString(session.GetHabbo().Motto); message_.AppendInt32(session.GetHabbo().GetUserStats().AchievementPoints); session.SendMessage(message_); ServerMessage message_2 = BasicUtilies.GetRevisionServerMessage(Revision.RELEASE63_35255_34886_201108111108); message_2.Init(r63aOutgoing.UpdateUser); message_2.AppendInt32(roomUser.VirtualID); message_2.AppendString(session.GetHabbo().Look); message_2.AppendString(session.GetHabbo().Gender.ToLower()); message_2.AppendString(session.GetHabbo().Motto); message_2.AppendInt32(session.GetHabbo().GetUserStats().AchievementPoints); roomUser.Room.SendToAll(message_2); Skylight.GetGame().GetAchievementManager().AddAchievement(session, "ChangeMotto", 1); } } } }
public ServerMessage Handle(T handler) { ServerMessage message = BasicUtilies.GetRevisionServerMessage(Revision.PRODUCTION_201601012205_226667486, r63cOutgoing.ReceiveWhisper); message.AppendInt32(handler.SenderVirtualID); List <string> links = new List <string>(); if (TextUtilies.ContainsLink(handler.Message)) { string message_ = ""; foreach (string word in handler.Message.Split(' ')) { if (TextUtilies.ValidURL(word)) { links.Add(word); message_ += " {" + (links.Count - 1) + "}"; } else { message_ += " " + word; } } message.AppendString(message_); } else { message.AppendString(handler.Message); } message.AppendInt32(RoomUnit.GetGesture(handler.Message)); message.AppendInt32(handler.ChatColor); message.AppendInt32(links.Count); for (int i = 0; i < links.Count; i++) { string link = links[i]; message.AppendString("/redirect.php?url=" + link); //link message.AppendString(link); //msg shown message.AppendBoolean(true); //trusted, can be clicked and opened, unused } message.AppendInt32(-1); return(message); }
public void Handle(GameClient session, ClientMessage message) { if (session != null && session.GetHabbo() != null) { RoomUnit roomUser = session.GetHabbo().GetRoomSession().CurrentRoomRoomUser; if (roomUser != null) { string message_ = message.PopFixedString(); if (message_.Length > 300) { message_ = message_.Substring(0, 300); } roomUser.Speak(TextUtilies.FilterString(message_), true); } } }
void IncomingPacket.Handle(GameClient session, ClientMessage message) { if (session != null && session.GetHabbo() != null) { RoomUnit roomUser = session.GetHabbo().GetRoomSession().CurrentRoomRoomUser; if (roomUser != null) { string message_ = message.PopFixedString(); if (message_.Length > 300) { message_ = message_.Substring(0, 300); } roomUser.Speak(TextUtilies.FilterString(message_), true, session.GetHabbo().GetUserSettings().ChatColor = message.PopWiredInt32()); } } }
public void Handle(GameClient session, ClientMessage message) { if (session != null && session.GetHabbo() != null) { RoomUnit roomUser = session.GetHabbo().GetRoomSession().CurrentRoomRoomUser; if (roomUser != null) { string message_ = message.PopFixedString(); if (message_.Length > 300) { message_ = message_.Substring(0, 300); } roomUser.Speak(TextUtilies.FilterString(message_), false); roomUser.Room.SendToAll(new MultiRevisionServerMessage(OutgoingPacketsEnum.TypingStatus, new ValueHolder().AddValue("VirtualID", roomUser.VirtualID).AddValue("Typing", false))); } } }
public override void LoadItemData(string data) { string[] splitData = data.Split((char)9); foreach (string sItemId in splitData[0].Split(',')) { if (!string.IsNullOrEmpty(sItemId)) { RoomItem item = this.Room.RoomItemManager.TryGetRoomItem(uint.Parse(sItemId)); if (item != null) { this.SelectedItems.Add(item); } } } this.AllFurnis = TextUtilies.StringToBool(splitData[1]); }
public override bool OnUse(GameClient session, string[] args) { if (args.Length >= 3) { if (session.GetHabbo().HasPermission("cmd_makesay")) { GameClient target = Skylight.GetGame().GetGameClientManager().GetGameClientByUsername(args[1]); if (target != null) { target.GetHabbo().GetRoomSession().GetRoomUser().Speak(TextUtilies.MergeArrayToString(args, 2), false); return(true); } } } return(false); }