Menu
Forums
All threads
Latest threads
New posts
Trending threads
New posts
Search forums
Trending
What's new
New posts
New profile posts
Latest activity
Members
Current visitors
New profile posts
Search profile posts
Upgrades
Log in
Register
What's new
Search
Search
Search titles only
By:
All threads
Latest threads
New posts
Trending threads
New posts
Search forums
Menu
Log in
Register
Navigation
Install the app
Install
More options
Contact us
Close Menu
Forums
Server Development
Habbo Retros
Habbo Q&A
How do i add and change commands PLUSEMU
JavaScript is disabled. For a better experience, please enable JavaScript in your browser before proceeding.
You are using an out of date browser. It may not display this or other websites correctly.
You should upgrade or use an
alternative browser
.
Reply to thread
Message
<blockquote data-quote="JoshuaS" data-source="post: 430988" data-attributes="member: 41738"><p>This is my path for my Eha command: C:\Users\Administrator\Desktop\Release 2\Emulator Source\HabboHotel\Rooms\Chat\Commands\Events. My CommandManager.cs is looking like this:[SPOILER="CommandManager.cs"]</p><p>[CODE]using System;</p><p>using System.Linq;</p><p>using System.Text;</p><p>using System.Collections.Generic;</p><p></p><p>using Plus.Utilities;</p><p>using Plus.HabboHotel.Rooms;</p><p>using Plus.HabboHotel.GameClients;</p><p></p><p>using Plus.HabboHotel.Rooms.Chat.Commands.User;</p><p>using Plus.HabboHotel.Rooms.Chat.Commands.User.Fun;</p><p>using Plus.HabboHotel.Rooms.Chat.Commands.Moderator;</p><p>using Plus.HabboHotel.Rooms.Chat.Commands.Moderator.Fun;</p><p>using Plus.HabboHotel.Rooms.Chat.Commands.Administrator;</p><p></p><p>using Plus.Communication.Packets.Outgoing.Rooms.Chat;</p><p>using Plus.Communication.Packets.Outgoing.Notifications;</p><p>using Plus.Database.Interfaces;</p><p>using Plus.HabboHotel.Rooms.Chat.Commands.Events;</p><p>using Plus.HabboHotel.Items.Wired;</p><p></p><p></p><p>namespace Plus.HabboHotel.Rooms.Chat.Commands</p><p>{</p><p> public class CommandManager</p><p> {</p><p> /// <summary></p><p> /// Command Prefix only applies to custom commands.</p><p> /// </summary></p><p> private string _prefix = ":";</p><p></p><p> /// <summary></p><p> /// Commands registered for use.</p><p> /// </summary></p><p> private readonly Dictionary<string, IChatCommand> _commands;</p><p></p><p> /// <summary></p><p> /// The default initializer for the CommandManager</p><p> /// </summary></p><p> public CommandManager(string Prefix)</p><p> {</p><p> this._prefix = Prefix;</p><p> this._commands = new Dictionary<string, IChatCommand>();</p><p></p><p> this.RegisterVIP();</p><p> this.RegisterUser();</p><p> this.RegisterEvents();</p><p> this.RegisterModerator();</p><p> this.RegisterAdministrator();</p><p> }</p><p></p><p> /// <summary></p><p> /// Request the text to parse and check for commands that need to be executed.</p><p> /// </summary></p><p> /// <param name="Session">Session calling this method.</param></p><p> /// <param name="Message">The message to parse.</param></p><p> /// <returns>True if parsed or false if not.</returns></p><p> public bool Parse(GameClient Session, string Message)</p><p> {</p><p> if (Session == null || Session.GetHabbo() == null || Session.GetHabbo().CurrentRoom == null)</p><p> return false;</p><p></p><p> if (!Message.StartsWith(_prefix))</p><p> return false;</p><p></p><p> if (Message == _prefix + "commands")</p><p> {</p><p> StringBuilder List = new StringBuilder();</p><p> List.Append("This is the list of commands you have available:\n");</p><p> foreach (var CmdList in _commands.ToList())</p><p> {</p><p> if (!string.IsNullOrEmpty(CmdList.Value.PermissionRequired))</p><p> {</p><p> if (!Session.GetHabbo().GetPermissions().HasCommand(CmdList.Value.PermissionRequired))</p><p> continue;</p><p> }</p><p></p><p> List.Append(":" + CmdList.Key + " " + CmdList.Value.Parameters + " - " + CmdList.Value.Description + "\n");</p><p> }</p><p> Session.SendPacket(new MOTDNotificationComposer(List.ToString()));</p><p> return true;</p><p> }</p><p></p><p> Message = Message.Substring(1);</p><p> string[] Split = Message.Split(' ');</p><p></p><p> if (Split.Length == 0)</p><p> return false;</p><p></p><p> IChatCommand Cmd = null;</p><p> if (_commands.TryGetValue(Split[0].ToLower(), out Cmd))</p><p> {</p><p> if (Session.GetHabbo().GetPermissions().HasRight("mod_tool"))</p><p> this.LogCommand(Session.GetHabbo().Id, Message, Session.GetHabbo().MachineId);</p><p></p><p> if (!string.IsNullOrEmpty(Cmd.PermissionRequired))</p><p> {</p><p> if (!Session.GetHabbo().GetPermissions().HasCommand(Cmd.PermissionRequired))</p><p> return false;</p><p> }</p><p></p><p></p><p> Session.GetHabbo().IChatCommand = Cmd;</p><p> Session.GetHabbo().CurrentRoom.GetWired().TriggerEvent(WiredBoxType.TriggerUserSaysCommand, Session.GetHabbo(), this);</p><p></p><p> Cmd.Execute(Session, Session.GetHabbo().CurrentRoom, Split);</p><p> return true;</p><p> }</p><p> return false;</p><p> }</p><p></p><p> /// <summary></p><p> /// Registers the VIP set of commands.</p><p> /// </summary></p><p> private void RegisterVIP()</p><p> {</p><p> this.Register("spull", new SuperPullCommand());</p><p> }</p><p></p><p> /// <summary></p><p> /// Registers the Events set of commands.</p><p> /// </summary></p><p> private void RegisterEvents()</p><p> {</p><p> this.Register("eha", new EventAlertCommand());</p><p> this.Register("eventalert", new EventAlertCommand());</p><p> }</p><p></p><p> /// <summary></p><p> /// Registers the default set of commands.</p><p> /// </summary></p><p> private void RegisterUser()</p><p> {</p><p> this.Register("about", new InfoCommand());</p><p> this.Register("pickall", new PickAllCommand());</p><p> this.Register("ejectall", new EjectAllCommand());</p><p> this.Register("lay", new LayCommand());</p><p> this.Register("sit", new SitCommand());</p><p> this.Register("stand", new StandCommand());</p><p> this.Register("mutepets", new MutePetsCommand());</p><p> this.Register("mutebots", new MuteBotsCommand());</p><p></p><p> this.Register("mimic", new MimicCommand());</p><p> this.Register("dance", new DanceCommand());</p><p> this.Register("push", new PushCommand());</p><p> this.Register("pull", new PullCommand());</p><p> this.Register("enable", new EnableCommand());</p><p> this.Register("follow", new FollowCommand());</p><p> this.Register("faceless", new FacelessCommand());</p><p> this.Register("moonwalk", new MoonwalkCommand());</p><p></p><p> this.Register("unload", new UnloadCommand());</p><p> this.Register("regenmaps", new RegenMaps());</p><p> this.Register("emptyitems", new EmptyItems());</p><p> this.Register("setmax", new SetMaxCommand());</p><p> this.Register("setspeed", new SetSpeedCommand());</p><p> this.Register("disablediagonal", new DisableDiagonalCommand());</p><p> this.Register("flagme", new FlagMeCommand());</p><p></p><p> this.Register("stats", new StatsCommand());</p><p> this.Register("kickpets", new KickPetsCommand());</p><p> this.Register("kickbots", new KickBotsCommand());</p><p></p><p> this.Register("room", new RoomCommand());</p><p> this.Register("dnd", new DNDCommand());</p><p> this.Register("disablegifts", new DisableGiftsCommand());</p><p> this.Register("convertcredits", new ConvertCreditsCommand());</p><p> this.Register("disablewhispers", new DisableWhispersCommand());</p><p> this.Register("disablemimic", new DisableMimicCommand()); ;</p><p></p><p> this.Register("pet", new PetCommand());</p><p> this.Register("spush", new SuperPushCommand());</p><p> this.Register("superpush", new SuperPushCommand());</p><p></p><p> }</p><p></p><p> /// <summary></p><p> /// Registers the moderator set of commands.</p><p> /// </summary></p><p> private void RegisterModerator()</p><p> {</p><p> this.Register("ban", new BanCommand());</p><p> this.Register("mip", new MIPCommand());</p><p> this.Register("ipban", new IPBanCommand());</p><p></p><p> this.Register("ui", new UserInfoCommand());</p><p> this.Register("userinfo", new UserInfoCommand());</p><p> this.Register("sa", new StaffAlertCommand());</p><p> this.Register("roomunmute", new RoomUnmuteCommand());</p><p> this.Register("roommute", new RoomMuteCommand());</p><p> this.Register("roombadge", new RoomBadgeCommand());</p><p> this.Register("roomalert", new RoomAlertCommand());</p><p> this.Register("roomkick", new RoomKickCommand());</p><p> this.Register("mute", new MuteCommand());</p><p> this.Register("smute", new MuteCommand());</p><p> this.Register("unmute", new UnmuteCommand());</p><p> this.Register("massbadge", new MassBadgeCommand());</p><p> this.Register("kick", new KickCommand());</p><p> this.Register("skick", new KickCommand());</p><p> this.Register("ha", new HotelAlertCommand());</p><p> this.Register("hotelalert", new HotelAlertCommand());</p><p> this.Register("hal", new HALCommand());</p><p> this.Register("give", new GiveCommand());</p><p> this.Register("givebadge", new GiveBadgeCommand());</p><p> this.Register("dc", new DisconnectCommand());</p><p> this.Register("kill", new DisconnectCommand());</p><p> this.Register("disconnect", new DisconnectCommand());</p><p> this.Register("alert", new AlertCommand());</p><p> this.Register("tradeban", new TradeBanCommand());</p><p></p><p> this.Register("teleport", new TeleportCommand());</p><p> this.Register("summon", new SummonCommand());</p><p> this.Register("override", new OverrideCommand());</p><p> this.Register("massenable", new MassEnableCommand());</p><p> this.Register("massdance", new MassDanceCommand());</p><p> this.Register("freeze", new FreezeCommand());</p><p> this.Register("unfreeze", new UnFreezeCommand());</p><p> this.Register("fastwalk", new FastwalkCommand());</p><p> this.Register("superfastwalk", new SuperFastwalkCommand());</p><p> this.Register("coords", new CoordsCommand());</p><p> this.Register("alleyesonme", new AllEyesOnMeCommand());</p><p> this.Register("allaroundme", new AllAroundMeCommand());</p><p> this.Register("forcesit", new ForceSitCommand());</p><p></p><p> this.Register("ignorewhispers", new IgnoreWhispersCommand());</p><p> this.Register("forced_effects", new DisableForcedFXCommand());</p><p></p><p> this.Register("makesay", new MakeSayCommand());</p><p> this.Register("flaguser", new FlagUserCommand());</p><p> }</p><p></p><p> /// <summary></p><p> /// Registers the administrator set of commands.</p><p> /// </summary></p><p> private void RegisterAdministrator()</p><p> {</p><p> this.Register("bubble", new BubbleCommand());</p><p> this.Register("update", new UpdateCommand());</p><p> this.Register("deletegroup", new DeleteGroupCommand());</p><p> this.Register("carry", new CarryCommand());</p><p> this.Register("goto", new GOTOCommand());</p><p> }</p><p></p><p> /// <summary></p><p> /// Registers a Chat Command.</p><p> /// </summary></p><p> /// <param name="CommandText">Text to type for this command.</param></p><p> /// <param name="Command">The command to execute.</param></p><p> public void Register(string CommandText, IChatCommand Command)</p><p> {</p><p> this._commands.Add(CommandText, Command);</p><p> }</p><p></p><p> public static string MergeParams(string[] Params, int Start)</p><p> {</p><p> var Merged = new StringBuilder();</p><p> for (int i = Start; i < Params.Length; i++)</p><p> {</p><p> if (i > Start)</p><p> Merged.Append(" ");</p><p> Merged.Append(Params[i]);</p><p> }</p><p></p><p> return Merged.ToString();</p><p> }</p><p></p><p> public void LogCommand(int UserId, string Data, string MachineId)</p><p> {</p><p> using (IQueryAdapter dbClient = PlusEnvironment.GetDatabaseManager().GetQueryReactor())</p><p> {</p><p> dbClient.SetQuery("INSERT INTO `logs_client_staff` (`user_id`,`data_string`,`machine_id`, `timestamp`) VALUES (@UserId,@Data,@MachineId,@Timestamp)");</p><p> dbClient.AddParameter("UserId", UserId);</p><p> dbClient.AddParameter("Data", Data);</p><p> dbClient.AddParameter("MachineId", MachineId);</p><p> dbClient.AddParameter("Timestamp", PlusEnvironment.GetUnixTimestamp());</p><p> dbClient.RunQuery();</p><p> }</p><p> }</p><p></p><p> public bool TryGetCommand(string Command, out IChatCommand IChatCommand)</p><p> {</p><p> return this._commands.TryGetValue(Command, out IChatCommand);</p><p> }</p><p> }</p><p>}</p><p>[/CODE]</p><p>[/SPOILER]</p><p>I have added the eha_command in my database under my permission_commands<img src="https://imgur.com/a/oWnoU" alt="" class="fr-fic fr-dii fr-draggable " style="" /> What to do next then?</p></blockquote><p></p>
[QUOTE="JoshuaS, post: 430988, member: 41738"] This is my path for my Eha command: C:\Users\Administrator\Desktop\Release 2\Emulator Source\HabboHotel\Rooms\Chat\Commands\Events. My CommandManager.cs is looking like this:[SPOILER="CommandManager.cs"] [CODE]using System; using System.Linq; using System.Text; using System.Collections.Generic; using Plus.Utilities; using Plus.HabboHotel.Rooms; using Plus.HabboHotel.GameClients; using Plus.HabboHotel.Rooms.Chat.Commands.User; using Plus.HabboHotel.Rooms.Chat.Commands.User.Fun; using Plus.HabboHotel.Rooms.Chat.Commands.Moderator; using Plus.HabboHotel.Rooms.Chat.Commands.Moderator.Fun; using Plus.HabboHotel.Rooms.Chat.Commands.Administrator; using Plus.Communication.Packets.Outgoing.Rooms.Chat; using Plus.Communication.Packets.Outgoing.Notifications; using Plus.Database.Interfaces; using Plus.HabboHotel.Rooms.Chat.Commands.Events; using Plus.HabboHotel.Items.Wired; namespace Plus.HabboHotel.Rooms.Chat.Commands { public class CommandManager { /// <summary> /// Command Prefix only applies to custom commands. /// </summary> private string _prefix = ":"; /// <summary> /// Commands registered for use. /// </summary> private readonly Dictionary<string, IChatCommand> _commands; /// <summary> /// The default initializer for the CommandManager /// </summary> public CommandManager(string Prefix) { this._prefix = Prefix; this._commands = new Dictionary<string, IChatCommand>(); this.RegisterVIP(); this.RegisterUser(); this.RegisterEvents(); this.RegisterModerator(); this.RegisterAdministrator(); } /// <summary> /// Request the text to parse and check for commands that need to be executed. /// </summary> /// <param name="Session">Session calling this method.</param> /// <param name="Message">The message to parse.</param> /// <returns>True if parsed or false if not.</returns> public bool Parse(GameClient Session, string Message) { if (Session == null || Session.GetHabbo() == null || Session.GetHabbo().CurrentRoom == null) return false; if (!Message.StartsWith(_prefix)) return false; if (Message == _prefix + "commands") { StringBuilder List = new StringBuilder(); List.Append("This is the list of commands you have available:\n"); foreach (var CmdList in _commands.ToList()) { if (!string.IsNullOrEmpty(CmdList.Value.PermissionRequired)) { if (!Session.GetHabbo().GetPermissions().HasCommand(CmdList.Value.PermissionRequired)) continue; } List.Append(":" + CmdList.Key + " " + CmdList.Value.Parameters + " - " + CmdList.Value.Description + "\n"); } Session.SendPacket(new MOTDNotificationComposer(List.ToString())); return true; } Message = Message.Substring(1); string[] Split = Message.Split(' '); if (Split.Length == 0) return false; IChatCommand Cmd = null; if (_commands.TryGetValue(Split[0].ToLower(), out Cmd)) { if (Session.GetHabbo().GetPermissions().HasRight("mod_tool")) this.LogCommand(Session.GetHabbo().Id, Message, Session.GetHabbo().MachineId); if (!string.IsNullOrEmpty(Cmd.PermissionRequired)) { if (!Session.GetHabbo().GetPermissions().HasCommand(Cmd.PermissionRequired)) return false; } Session.GetHabbo().IChatCommand = Cmd; Session.GetHabbo().CurrentRoom.GetWired().TriggerEvent(WiredBoxType.TriggerUserSaysCommand, Session.GetHabbo(), this); Cmd.Execute(Session, Session.GetHabbo().CurrentRoom, Split); return true; } return false; } /// <summary> /// Registers the VIP set of commands. /// </summary> private void RegisterVIP() { this.Register("spull", new SuperPullCommand()); } /// <summary> /// Registers the Events set of commands. /// </summary> private void RegisterEvents() { this.Register("eha", new EventAlertCommand()); this.Register("eventalert", new EventAlertCommand()); } /// <summary> /// Registers the default set of commands. /// </summary> private void RegisterUser() { this.Register("about", new InfoCommand()); this.Register("pickall", new PickAllCommand()); this.Register("ejectall", new EjectAllCommand()); this.Register("lay", new LayCommand()); this.Register("sit", new SitCommand()); this.Register("stand", new StandCommand()); this.Register("mutepets", new MutePetsCommand()); this.Register("mutebots", new MuteBotsCommand()); this.Register("mimic", new MimicCommand()); this.Register("dance", new DanceCommand()); this.Register("push", new PushCommand()); this.Register("pull", new PullCommand()); this.Register("enable", new EnableCommand()); this.Register("follow", new FollowCommand()); this.Register("faceless", new FacelessCommand()); this.Register("moonwalk", new MoonwalkCommand()); this.Register("unload", new UnloadCommand()); this.Register("regenmaps", new RegenMaps()); this.Register("emptyitems", new EmptyItems()); this.Register("setmax", new SetMaxCommand()); this.Register("setspeed", new SetSpeedCommand()); this.Register("disablediagonal", new DisableDiagonalCommand()); this.Register("flagme", new FlagMeCommand()); this.Register("stats", new StatsCommand()); this.Register("kickpets", new KickPetsCommand()); this.Register("kickbots", new KickBotsCommand()); this.Register("room", new RoomCommand()); this.Register("dnd", new DNDCommand()); this.Register("disablegifts", new DisableGiftsCommand()); this.Register("convertcredits", new ConvertCreditsCommand()); this.Register("disablewhispers", new DisableWhispersCommand()); this.Register("disablemimic", new DisableMimicCommand()); ; this.Register("pet", new PetCommand()); this.Register("spush", new SuperPushCommand()); this.Register("superpush", new SuperPushCommand()); } /// <summary> /// Registers the moderator set of commands. /// </summary> private void RegisterModerator() { this.Register("ban", new BanCommand()); this.Register("mip", new MIPCommand()); this.Register("ipban", new IPBanCommand()); this.Register("ui", new UserInfoCommand()); this.Register("userinfo", new UserInfoCommand()); this.Register("sa", new StaffAlertCommand()); this.Register("roomunmute", new RoomUnmuteCommand()); this.Register("roommute", new RoomMuteCommand()); this.Register("roombadge", new RoomBadgeCommand()); this.Register("roomalert", new RoomAlertCommand()); this.Register("roomkick", new RoomKickCommand()); this.Register("mute", new MuteCommand()); this.Register("smute", new MuteCommand()); this.Register("unmute", new UnmuteCommand()); this.Register("massbadge", new MassBadgeCommand()); this.Register("kick", new KickCommand()); this.Register("skick", new KickCommand()); this.Register("ha", new HotelAlertCommand()); this.Register("hotelalert", new HotelAlertCommand()); this.Register("hal", new HALCommand()); this.Register("give", new GiveCommand()); this.Register("givebadge", new GiveBadgeCommand()); this.Register("dc", new DisconnectCommand()); this.Register("kill", new DisconnectCommand()); this.Register("disconnect", new DisconnectCommand()); this.Register("alert", new AlertCommand()); this.Register("tradeban", new TradeBanCommand()); this.Register("teleport", new TeleportCommand()); this.Register("summon", new SummonCommand()); this.Register("override", new OverrideCommand()); this.Register("massenable", new MassEnableCommand()); this.Register("massdance", new MassDanceCommand()); this.Register("freeze", new FreezeCommand()); this.Register("unfreeze", new UnFreezeCommand()); this.Register("fastwalk", new FastwalkCommand()); this.Register("superfastwalk", new SuperFastwalkCommand()); this.Register("coords", new CoordsCommand()); this.Register("alleyesonme", new AllEyesOnMeCommand()); this.Register("allaroundme", new AllAroundMeCommand()); this.Register("forcesit", new ForceSitCommand()); this.Register("ignorewhispers", new IgnoreWhispersCommand()); this.Register("forced_effects", new DisableForcedFXCommand()); this.Register("makesay", new MakeSayCommand()); this.Register("flaguser", new FlagUserCommand()); } /// <summary> /// Registers the administrator set of commands. /// </summary> private void RegisterAdministrator() { this.Register("bubble", new BubbleCommand()); this.Register("update", new UpdateCommand()); this.Register("deletegroup", new DeleteGroupCommand()); this.Register("carry", new CarryCommand()); this.Register("goto", new GOTOCommand()); } /// <summary> /// Registers a Chat Command. /// </summary> /// <param name="CommandText">Text to type for this command.</param> /// <param name="Command">The command to execute.</param> public void Register(string CommandText, IChatCommand Command) { this._commands.Add(CommandText, Command); } public static string MergeParams(string[] Params, int Start) { var Merged = new StringBuilder(); for (int i = Start; i < Params.Length; i++) { if (i > Start) Merged.Append(" "); Merged.Append(Params[i]); } return Merged.ToString(); } public void LogCommand(int UserId, string Data, string MachineId) { using (IQueryAdapter dbClient = PlusEnvironment.GetDatabaseManager().GetQueryReactor()) { dbClient.SetQuery("INSERT INTO `logs_client_staff` (`user_id`,`data_string`,`machine_id`, `timestamp`) VALUES (@UserId,@Data,@MachineId,@Timestamp)"); dbClient.AddParameter("UserId", UserId); dbClient.AddParameter("Data", Data); dbClient.AddParameter("MachineId", MachineId); dbClient.AddParameter("Timestamp", PlusEnvironment.GetUnixTimestamp()); dbClient.RunQuery(); } } public bool TryGetCommand(string Command, out IChatCommand IChatCommand) { return this._commands.TryGetValue(Command, out IChatCommand); } } } [/CODE] [/SPOILER] I have added the eha_command in my database under my permission_commands[IMG]https://imgur.com/a/oWnoU[/IMG] What to do next then? [/QUOTE]
Insert quotes…
Verification
Post reply
Forums
Server Development
Habbo Retros
Habbo Q&A
How do i add and change commands PLUSEMU
Top