CoulorCommand.cs (Cloud. / change par Plus.) A placer dans HabboHotel / Rooms/ Chat/ Commands / User / Fun
using Cloud.Communication.Packets.Outgoing.Rooms.Notifications;
using Cloud.Database.Interfaces;
namespace Cloud.HabboHotel.Rooms.Chat.Commands.User.Fun
{
class ColourCommand : IChatCommand
{
public string PermissionRequired => "command_couleur";
public string Parameters => "";
public string Description => "off/red/green/blue/cyan/purple";
public void Execute(GameClients.GameClient Session, Rooms.Room Room, string[] Params)
{
if (Params.Length == 1)
{
Session.SendMessage(new RoomNotificationComposer("Liste des couleurs:",
"<font color='#FF8000'><b>LISTE DES COULEURS:</b>\n" +
"<font size=\"13\" color=\"#1C1C1C\">La commande :couleur vous permet de définir une couleur que vous voulez dans votre chat, pour pouvoir sélectionner la couleur que vous devez spécifier après la commande, telle que:\r\r" +
"<font size =\"12\" color=\"#FE2E2E\"><b>:couleur red</b> » La couleur rouge </font>\r\n" +
"<font size =\"12\" color=\"#8904B1\"><b>:couleur purple</b> » La couleur violet </font>\r\n" +
"<font size =\"12\" color=\"#2ECCFA\"><b>:couleur cyan</b> » La couleur cyan </font>\r\n" +
"<font size =\"12\" color=\"#0174DF\"><b>:couleur blue</b> » La couleur bleu </font>\r\n" +
"<font size =\"12\" color=\"#31B404\"><b>:couleur green</b> » La couleur verte </font>\r\n" +
"<font size =\"12\" color=\"#000000\"><b>:couleur off/none/black</b> » Couleur d'origine </font>\r\n" +
"", "", ""));
return;
}
string chatColour = Params[1];
string Colour = chatColour.ToUpper();
switch (chatColour)
{
case "none":
case "black":
case "off":
Session.GetHabbo().chatColour = "";
Session.SendMessage(RoomNotificationComposer.SendBubble("generic", "Vous avez remit votre couleur d'origine ", ""));
break;
case "blue":
case "red":
case "green":
case "cyan":
case "purple":
Session.GetHabbo().chatColour = chatColour;
Session.SendMessage(RoomNotificationComposer.SendBubble("generic", "Tu vient de changer ta couleur de chat", ""));
using (IQueryAdapter dbClient = CloudServer.GetDatabaseManager().GetQueryReactor())
{
dbClient.runFastQuery("UPDATE `users` SET `bubble_color` = '" + chatColour + "' WHERE `id` = '" + Session.GetHabbo().Id + "' LIMIT 1");
}
break;
default:
Session.SendMessage(RoomNotificationComposer.SendBubble("generic", "La couleur " + Colour + " n'existe pas!", ""));
break;
}
return;
}
}
}
RoomNotificationComposer.cs (De même ici) A placer dans Communication / Packets / Outgoing / Notifications
using System;
using System.Linq;
using System.Text;
using System.Collections.Generic;
namespace Cloud.Communication.Packets.Outgoing.Notifications
{
class NewRoomNotifComposer : ServerPacket
{
public NewRoomNotifComposer(string Type, string Key, string Value)
: base(ServerPacketHeader.RoomNotificationMessageComposer)
{
base.WriteString(Type);
base.WriteInteger(1);
base.WriteString(Key);
base.WriteString(Value);
}
}
}
RoomNotificationComposer.cs (De même ici) A placer dans Communication / Packets / Outgoing / Rooms / Notifications
using System;
using System.Collections.Generic;
namespace Cloud.Communication.Packets.Outgoing.Rooms.Notifications
{
internal class RoomNotificationComposer : ServerPacket
{
public RoomNotificationComposer(string Type, string Key, string Value) : base(ServerPacketHeader.RoomNotificationMessageComposer)
{
base.WriteString(Type);
base.WriteInteger(1);
base.WriteString(Key);
base.WriteString(Value);
}
public RoomNotificationComposer(string Type) : base(ServerPacketHeader.RoomNotificationMessageComposer)
{
base.WriteString(Type);
base.WriteInteger(0);
}
public RoomNotificationComposer(string Title, string Message, string Image, string HotelName = "", string HotelURL = "", bool isBubble = false) : base(ServerPacketHeader.RoomNotificationMessageComposer)
{
base.WriteString(Image);
base.WriteInteger(5);
base.WriteString("title");
base.WriteString(Title);
base.WriteString("message");
base.WriteString(Message);
base.WriteString("linkUrl");
base.WriteString(HotelURL);
base.WriteString("linkTitle");
base.WriteString(HotelName);
base.WriteString("display");
base.WriteString(isBubble ? "BUBBLE" : "POP_UP");
}
public RoomNotificationComposer(string Type, Dictionary<string, string> Keys) : base(ServerPacketHeader.RoomNotificationMessageComposer)
{
base.WriteString(Type);
base.WriteInteger(Keys.Count);
foreach (KeyValuePair<string, string> current in Keys)
{
base.WriteString(current.Key);
base.WriteString(current.Value);
}
}
public static ServerPacket SendBubble(string image, string message, string linkUrl = "")
{
var bubbleNotification = new ServerPacket(ServerPacketHeader.RoomNotificationMessageComposer);
bubbleNotification.WriteString(image);
bubbleNotification.WriteInteger(string.IsNullOrEmpty(linkUrl) ? 2 : 3);
bubbleNotification.WriteString("display");
bubbleNotification.WriteString("BUBBLE");
bubbleNotification.WriteString("message");
bubbleNotification.WriteString(message);
if (string.IsNullOrEmpty(linkUrl)) return bubbleNotification;
bubbleNotification.WriteString("linkUrl");
bubbleNotification.WriteString(linkUrl);
return bubbleNotification;
}
public static ServerPacket SendCustom(string Message)
{
var cuz = new ServerPacket(ServerPacketHeader.RoomNotificationMessageComposer);
cuz.WriteInteger(1);
cuz.WriteString(Message);
return cuz;
}
public RoomNotificationComposer(string Text, string Image) : base(ServerPacketHeader.RoomNotificationMessageComposer)
{
base.WriteString(Image);
base.WriteInteger(2);
base.WriteString("message");
base.WriteString(Text);
base.WriteString("display");
base.WriteString("BUBBLE");
}
public RoomNotificationComposer(string image, int messageType, string message, string link)
: base(ServerPacketHeader.RoomNotificationMessageComposer)
{
base.WriteString(image);
base.WriteInteger(messageType);
base.WriteString("display");
base.WriteString("BUBBLE");
base.WriteString("message");
base.WriteString(message);
base.WriteString("linkUrl");
base.WriteString(link);
}
}
}