public override bool Execute(GameClient session, string[] pms) { Room room = session.GetHabbo().CurrentRoom; using (IQueryAdapter commitableQueryReactor = Yupi.GetDatabaseManager().GetQueryReactor()) commitableQueryReactor.RunFastQuery( $"UPDATE rooms_data SET roomtype = 'public' WHERE id = {room.RoomId}"); uint roomId = session.GetHabbo().CurrentRoom.RoomId; List<RoomUser> users = new List<RoomUser>(session.GetHabbo().CurrentRoom.GetRoomUserManager().UserList.Values); Yupi.GetGame().GetRoomManager().UnloadRoom(session.GetHabbo().CurrentRoom, "Unload command"); Yupi.GetGame().GetRoomManager().LoadRoom(roomId); ServerMessage roomFwd = new ServerMessage(LibraryParser.OutgoingRequest("RoomForwardMessageComposer")); roomFwd.AppendInteger(roomId); byte[] data = roomFwd.GetReversedBytes(); foreach (RoomUser user in users.Where(user => user != null && user.GetClient() != null)) user.GetClient().SendMessage(data); return true; }
public override bool Execute(GameClient session, string[] pms) { uint roomId = session.GetHabbo().CurrentRoom.RoomId; List<RoomUser> users = new List<RoomUser>(session.GetHabbo().CurrentRoom.GetRoomUserManager().UserList.Values); Yupi.GetGame().GetRoomManager().UnloadRoom(session.GetHabbo().CurrentRoom, "Unload command"); if (!_reEnter) return true; Yupi.GetGame().GetRoomManager().LoadRoom(roomId); ServerMessage roomFwd = new ServerMessage(LibraryParser.OutgoingRequest("RoomForwardMessageComposer")); roomFwd.AppendInteger(roomId); byte[] data = roomFwd.GetReversedBytes(); foreach (RoomUser user in users.Where(user => user != null && user.GetClient() != null)) user.GetClient().SendMessage(data); return true; }
public override bool Execute(GameClient session, string[] pms) { Room room = session.GetHabbo().CurrentRoom; RoomUser user = room.GetRoomUserManager().GetRoomUserByHabbo(pms[0]); if (user == null) { session.SendWhisper(Yupi.GetLanguage().GetVar("user_not_found")); return true; } string gender = user.GetClient().GetHabbo().Gender; string look = user.GetClient().GetHabbo().Look; session.GetHabbo().Gender = gender; session.GetHabbo().Look = look; using (IQueryAdapter adapter = Yupi.GetDatabaseManager().GetQueryReactor()) { adapter.SetQuery( "UPDATE users SET gender = @gender, look = @look WHERE id = " + session.GetHabbo().Id); adapter.AddParameter("gender", gender); adapter.AddParameter("look", look); adapter.RunQuery(); } RoomUser myUser = room.GetRoomUserManager().GetRoomUserByHabbo(session.GetHabbo().UserName); if (myUser == null) return true; ServerMessage message = new ServerMessage(LibraryParser.OutgoingRequest("UpdateUserDataMessageComposer")); message.AppendInteger(myUser.VirtualId); message.AppendString(session.GetHabbo().Look); message.AppendString(session.GetHabbo().Gender.ToLower()); message.AppendString(session.GetHabbo().Motto); message.AppendInteger(session.GetHabbo().AchievementPoints); room.SendMessage(message.GetReversedBytes()); return true; }
/// <summary> /// Queues the broadcase message. /// </summary> /// <param name="message">The message.</param> internal void QueueBroadcaseMessage(ServerMessage message) { _broadcastQueue.Enqueue(message.GetReversedBytes()); }
/// <summary> /// Mods the alert. /// </summary> /// <param name="message">The message.</param> internal void ModAlert(ServerMessage message) { byte[] bytes = message.GetReversedBytes(); foreach ( GameClient current in Clients.Values.Where(current => current?.GetHabbo() != null) .Where( current => current.GetHabbo().Rank == 4u || current.GetHabbo().Rank == 5u || current.GetHabbo().Rank == 6u)) current.GetConnection().SendData(bytes); }
/// <summary> /// Sends the message. /// </summary> /// <param name="message">The message.</param> internal void SendMessage(ServerMessage message) { if (message == null) return; if (GetConnection() == null) return; byte[] bytes = message.GetReversedBytes(); GetConnection().SendData(bytes); }
/// <summary> /// Gets the bytes notif. /// </summary> /// <param name="message">The message.</param> /// <param name="title">The title.</param> /// <param name="picture">The picture.</param> /// <returns>System.Byte[].</returns> public static byte[] GetBytesNotif(string message, string title = "Aviso", string picture = "") { using ( ServerMessage serverMessage = new ServerMessage(LibraryParser.OutgoingRequest("SuperNotificationMessageComposer")) ) { serverMessage.AppendString(picture); serverMessage.AppendInteger(4); serverMessage.AppendString("title"); serverMessage.AppendString(title); serverMessage.AppendString("message"); serverMessage.AppendString(message); serverMessage.AppendString("linkUrl"); serverMessage.AppendString("event:"); serverMessage.AppendString("linkTitle"); serverMessage.AppendString("ok"); return serverMessage.GetReversedBytes(); } }
/// <summary> /// Appends the response. /// </summary> /// <param name="message">The message.</param> internal void AppendResponse(ServerMessage message) { AppendBytes(message.GetReversedBytes()); }
/// <summary> /// Sends the message to users with rights. /// </summary> /// <param name="message">The message.</param> internal void SendMessageToUsersWithRights(ServerMessage message) { byte[] messagebytes = message.GetReversedBytes(); try { foreach (RoomUser unit in _roomUserManager.UserList.Values) { RoomUser user = unit; if (user == null) continue; if (user.IsBot) continue; GameClient usersClient = user.GetClient(); if (usersClient == null || usersClient.GetConnection() == null) continue; if (!CheckRights(usersClient)) continue; usersClient.GetConnection().SendData(messagebytes); } } catch (Exception e) { ServerLogManager.LogException(e, "Yupi.Game.Rooms.Room.SendMessageToUsersWithRights"); } }
/// <summary> /// Sends the message. /// </summary> /// <param name="message">The message.</param> internal void SendMessage(ServerMessage message) { if (message != null) SendMessage(message.GetReversedBytes()); }
/// <summary> /// Broadcasts the chat message. /// </summary> /// <param name="chatMsg">The chat MSG.</param> /// <param name="roomUser">The room user.</param> /// <param name="p">The p.</param> internal void BroadcastChatMessage(ServerMessage chatMsg, RoomUser roomUser, uint p) { try { byte[] packetData = chatMsg.GetReversedBytes(); foreach (RoomUser user in _roomUserManager.UserList.Values) { if (user.IsBot || user.IsPet) continue; GameClient usersClient = user.GetClient(); if (usersClient == null || roomUser == null || usersClient.GetHabbo() == null) continue; try { if (user.OnCampingTent || !roomUser.OnCampingTent) { if (!usersClient.GetHabbo().MutedUsers.Contains(p)) usersClient.SendMessage(packetData); } } catch (Exception e) { ServerLogManager.LogException(e, "Yupi.Game.Rooms.Room.SendMessageToUsersWithRights"); } } } catch (Exception e) { ServerLogManager.LogException(e, "Yupi.Game.Rooms.Room.SendMessageToUsersWithRights"); } }