mirror of
https://github.com/islehorse/HISP.git
synced 2025-04-19 19:29:15 +12:00
Make commands more accurate
This commit is contained in:
parent
997be8573d
commit
55c0f29914
14 changed files with 415 additions and 342 deletions
|
@ -1,5 +1,6 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Globalization;
|
||||
using System.Linq;
|
||||
|
||||
using HISP.Player;
|
||||
|
@ -79,157 +80,31 @@ namespace HISP.Game.Chat
|
|||
return reasons.ToArray();
|
||||
}
|
||||
}
|
||||
|
||||
public static bool ProcessCommand(User user, string message)
|
||||
{
|
||||
if (message.Length < 1)
|
||||
return false;
|
||||
|
||||
string[] args = message.Split(' ').Skip(1).ToArray();
|
||||
|
||||
if (user.Administrator || user.Moderator)
|
||||
{
|
||||
if (message[0] == '%')
|
||||
{
|
||||
if (message.ToUpper().StartsWith("%GIVE"))
|
||||
return Command.Give(message, args, user);
|
||||
if (message.ToUpper().StartsWith("%SWF"))
|
||||
return Command.Swf(message, args, user);
|
||||
if (message.ToUpper().StartsWith("%GOTO"))
|
||||
return Command.Goto(message, args, user);
|
||||
if (message.ToUpper().StartsWith("%JUMP"))
|
||||
return Command.Jump(message, args, user);
|
||||
if (message.ToUpper().StartsWith("%KICK"))
|
||||
return Command.Kick(message, args, user);
|
||||
if (message.ToUpper().StartsWith("%RULES"))
|
||||
return Command.Rules(message, args, user);
|
||||
if (message.ToUpper().StartsWith("%PRISON"))
|
||||
return Command.Prison(message, args, user);
|
||||
if (message.ToUpper().StartsWith("%NOCLIP"))
|
||||
return Command.NoClip(message, args, user);
|
||||
if (message.ToUpper().StartsWith("%STEALTH"))
|
||||
return Command.Stealth(message, args, user);
|
||||
if (message.ToUpper().StartsWith("%BAN"))
|
||||
return Command.Ban(message, args, user);
|
||||
if (message.ToUpper().StartsWith("%UNBAN"))
|
||||
return Command.UnBan(message, args, user);
|
||||
if (message.ToUpper().StartsWith("%ESCAPE"))
|
||||
return Command.Escape(message, args, user);
|
||||
if (message.ToUpper().StartsWith("%MODHORSE"))
|
||||
return Command.ModHorse(message, args, user);
|
||||
if (message.ToUpper().StartsWith("%DELITEM"))
|
||||
return Command.DelItem(message, args, user);
|
||||
if (message.ToUpper().StartsWith("%SHUTDOWN"))
|
||||
return Command.Shutdown(message, args, user);
|
||||
if (message.ToUpper().StartsWith("%CALL HORSE"))
|
||||
return Command.CallHorse(message, args, user);
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
if (message[0] == '!')
|
||||
{
|
||||
|
||||
// Alias for !MUTE
|
||||
if (message.ToUpper().StartsWith("!MUTEALL"))
|
||||
return Command.Mute(message, new string[] { "ALL" }, user);
|
||||
else if (message.ToUpper().StartsWith("!MUTEADS"))
|
||||
return Command.Mute(message, new string[] { "ADS" }, user);
|
||||
else if (message.ToUpper().StartsWith("!MUTEGLOBAL"))
|
||||
return Command.Mute(message, new string[] { "GLOBAL" }, user);
|
||||
else if (message.ToUpper().StartsWith("!MUTEISLAND"))
|
||||
return Command.Mute(message, new string[] { "ISLAND" }, user);
|
||||
else if (message.ToUpper().StartsWith("!MUTENEAR"))
|
||||
return Command.Mute(message, new string[] { "NEAR" }, user);
|
||||
else if (message.ToUpper().StartsWith("!MUTEHERE"))
|
||||
return Command.Mute(message, new string[] { "HERE" }, user);
|
||||
else if (message.ToUpper().StartsWith("!MUTEBUDDY"))
|
||||
return Command.Mute(message, new string[] { "BUDDY" }, user);
|
||||
else if (message.ToUpper().StartsWith("!MUTEPM"))
|
||||
return Command.Mute(message, new string[] { "PM" }, user);
|
||||
else if (message.ToUpper().StartsWith("!MUTEBR"))
|
||||
return Command.Mute(message, new string[] { "BR" }, user);
|
||||
else if (message.ToUpper().StartsWith("!MUTESOCIALS"))
|
||||
return Command.Mute(message, new string[] { "SOCIALS" }, user);
|
||||
else if (message.ToUpper().StartsWith("!MUTELOGINS"))
|
||||
return Command.Mute(message, new string[] { "LOGINS" }, user);
|
||||
|
||||
|
||||
else if (message.ToUpper().StartsWith("!MUTE"))
|
||||
return Command.Mute(message, args, user);
|
||||
|
||||
// Alias for !UNMUTE
|
||||
else if (message.ToUpper().StartsWith("!UNMUTEALL"))
|
||||
return Command.UnMute(message, new string[] { "ALL" }, user);
|
||||
else if (message.ToUpper().StartsWith("!UNMUTEADS"))
|
||||
return Command.UnMute(message, new string[] { "ADS" }, user);
|
||||
else if (message.ToUpper().StartsWith("!UNMUTEGLOBAL"))
|
||||
return Command.UnMute(message, new string[] { "GLOBAL" }, user);
|
||||
else if (message.ToUpper().StartsWith("!UNMUTEISLAND"))
|
||||
return Command.UnMute(message, new string[] { "ISLAND" }, user);
|
||||
else if (message.ToUpper().StartsWith("!UNMUTENEAR"))
|
||||
return Command.UnMute(message, new string[] { "NEAR" }, user);
|
||||
else if (message.ToUpper().StartsWith("!UNMUTEHERE"))
|
||||
return Command.UnMute(message, new string[] { "HERE" }, user);
|
||||
else if (message.ToUpper().StartsWith("!UNMUTEBUDDY"))
|
||||
return Command.UnMute(message, new string[] { "BUDDY" }, user);
|
||||
else if (message.ToUpper().StartsWith("!UNMUTEPM"))
|
||||
return Command.UnMute(message, new string[] { "PM" }, user);
|
||||
else if (message.ToUpper().StartsWith("!UNMUTEBR"))
|
||||
return Command.UnMute(message, new string[] { "BR" }, user);
|
||||
else if (message.ToUpper().StartsWith("!UNMUTESOCIALS"))
|
||||
return Command.UnMute(message, new string[] { "SOCIALS" }, user);
|
||||
else if (message.ToUpper().StartsWith("!UNMUTELOGINS"))
|
||||
return Command.UnMute(message, new string[] { "LOGINS" }, user);
|
||||
|
||||
else if (message.ToUpper().StartsWith("!UNMUTE"))
|
||||
return Command.UnMute(message, args, user);
|
||||
|
||||
// Alias for !HEAR
|
||||
else if (message.ToUpper().StartsWith("!HEARALL"))
|
||||
return Command.UnMute(message, new string[] { "ALL" }, user);
|
||||
else if (message.ToUpper().StartsWith("!HEARADS"))
|
||||
return Command.UnMute(message, new string[] { "ADS" }, user);
|
||||
else if (message.ToUpper().StartsWith("!HEARGLOBAL"))
|
||||
return Command.UnMute(message, new string[] { "GLOBAL" }, user);
|
||||
else if (message.ToUpper().StartsWith("!HEARISLAND"))
|
||||
return Command.UnMute(message, new string[] { "ISLAND" }, user);
|
||||
else if (message.ToUpper().StartsWith("!HEARNEAR"))
|
||||
return Command.UnMute(message, new string[] { "NEAR" }, user);
|
||||
else if (message.ToUpper().StartsWith("!HEARHERE"))
|
||||
return Command.UnMute(message, new string[] { "HERE" }, user);
|
||||
else if (message.ToUpper().StartsWith("!HEARBUDDY"))
|
||||
return Command.UnMute(message, new string[] { "BUDDY" }, user);
|
||||
else if (message.ToUpper().StartsWith("!HEARPM"))
|
||||
return Command.UnMute(message, new string[] { "PM" }, user);
|
||||
else if (message.ToUpper().StartsWith("!HEARBR"))
|
||||
return Command.UnMute(message, new string[] { "BR" }, user);
|
||||
else if (message.ToUpper().StartsWith("!HEARSOCIALS"))
|
||||
return Command.UnMute(message, new string[] { "SOCIALS" }, user);
|
||||
else if (message.ToUpper().StartsWith("!HEARLOGINS"))
|
||||
return Command.UnMute(message, new string[] { "LOGINS" }, user);
|
||||
|
||||
else if (message.ToUpper().StartsWith("!HEAR"))
|
||||
return Command.UnMute(message, args, user);
|
||||
|
||||
else if (message.ToUpper().StartsWith("!AUTOREPLY"))
|
||||
return Command.AutoReply(message, args, user);
|
||||
|
||||
else if (message.ToUpper().StartsWith("!QUIZ"))
|
||||
return Command.Quiz(message, args, user);
|
||||
|
||||
else if (message.ToUpper().StartsWith("!WARP")) // some stupid handling on this one.
|
||||
{
|
||||
string placeName = message.Substring("!WARP".Length);
|
||||
placeName = placeName.Trim();
|
||||
|
||||
return Command.Warp(message, placeName.Split(' '), user);
|
||||
}
|
||||
|
||||
else if (message.ToUpper().StartsWith("!DANCE"))
|
||||
return Command.Dance(message, args, user);
|
||||
|
||||
else if (message.ToUpper().StartsWith("!VERSION"))
|
||||
return Command.Version(message, args, user);
|
||||
return false;
|
||||
|
||||
string parsedMessage = message;
|
||||
|
||||
parsedMessage = parsedMessage.Trim();
|
||||
char cLetter = parsedMessage[0];
|
||||
parsedMessage = parsedMessage.Substring(1).Trim();
|
||||
|
||||
string messageToGive = parsedMessage;
|
||||
|
||||
|
||||
foreach (CommandRegister cmd in CommandRegister.RegisteredCommands)
|
||||
{
|
||||
if(cmd.CmdLetter == cLetter)
|
||||
{
|
||||
if (parsedMessage.ToUpper(CultureInfo.InvariantCulture).StartsWith(cmd.CmdName))
|
||||
{
|
||||
string[] args = parsedMessage.Substring(cmd.CmdName.Length).Trim().Split(' ');
|
||||
return cmd.CmdCallback(messageToGive, args, user);
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
|
|
@ -1,19 +1,19 @@
|
|||
using HISP.Player;
|
||||
using HISP.Server;
|
||||
using HISP.Game.Items;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using HISP.Game.Events;
|
||||
using HISP.Game.Horse;
|
||||
using System.Linq;
|
||||
using HISP.Game.Inventory;
|
||||
using System.Threading;
|
||||
using HISP.Modding;
|
||||
|
||||
using System.Linq;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace HISP.Game.Chat
|
||||
{
|
||||
public class Command
|
||||
{
|
||||
|
||||
private static User findNamePartial(string name)
|
||||
{
|
||||
foreach (GameClient client in GameClient.ConnectedClients)
|
||||
|
@ -29,14 +29,59 @@ namespace HISP.Game.Chat
|
|||
}
|
||||
}
|
||||
throw new KeyNotFoundException("name not found");
|
||||
}
|
||||
|
||||
public static void RegisterCommands()
|
||||
{
|
||||
// Admin Commands
|
||||
new CommandRegister('%', "GIVE", Command.Give);
|
||||
new CommandRegister('%', "SWF", Command.Swf);
|
||||
new CommandRegister('%', "GOTO", Command.Goto);
|
||||
new CommandRegister('%', "JUMP", Command.Jump);
|
||||
new CommandRegister('%', "KICK", Command.Kick);
|
||||
new CommandRegister('%', "NOCLIP", Command.NoClip);
|
||||
new CommandRegister('%', "MODHORSE", Command.ModHorse);
|
||||
new CommandRegister('%', "DELITEM", Command.DelItem);
|
||||
new CommandRegister('%', "SHUTDOWN", Command.Shutdown);
|
||||
new CommandRegister('%', "RELOAD", Command.Reload);
|
||||
new CommandRegister('%', "CALL", Command.CallHorse);
|
||||
|
||||
// Moderator commands
|
||||
new CommandRegister('%', "RULES", Command.Rules);
|
||||
new CommandRegister('%', "PRISON", Command.Prison);
|
||||
new CommandRegister('%', "STEALTH", Command.Stealth);
|
||||
new CommandRegister('%', "BAN", Command.Ban);
|
||||
new CommandRegister('%', "UNBAN", Command.UnBan);
|
||||
new CommandRegister('%', "ESCAPE", Command.Escape);
|
||||
|
||||
// User commands
|
||||
new CommandRegister('!', "MUTE", Command.Mute);
|
||||
new CommandRegister('!', "UNMUTE", Command.UnMute);
|
||||
new CommandRegister('!', "HEAR", Command.UnMute);
|
||||
new CommandRegister('!', "AUTOREPLY", Command.AutoReply);
|
||||
new CommandRegister('!', "QUIZ", Command.Quiz);
|
||||
new CommandRegister('!', "WARP", Command.Warp);
|
||||
new CommandRegister('!', "DANCE", Command.Dance);
|
||||
new CommandRegister('!', "VERSION", Command.Version);
|
||||
}
|
||||
|
||||
public static bool Reload(string message, string[] args, User user)
|
||||
{
|
||||
if (!user.Administrator)
|
||||
return false;
|
||||
|
||||
ModLoader.ReloadModsFromFilesystem();
|
||||
|
||||
byte[] chatPacket = PacketBuilder.CreateChat(Messages.FormatAdminCommandCompleteMessage(message), PacketBuilder.CHAT_BOTTOM_LEFT);
|
||||
user.LoggedinClient.SendPacket(chatPacket);
|
||||
return true;
|
||||
}
|
||||
|
||||
public static bool Shutdown(string message, string[] args, User user)
|
||||
{
|
||||
if (!user.Administrator)
|
||||
return false;
|
||||
|
||||
byte[] chatPacket = PacketBuilder.CreateChat(Messages.FormatAdminCommandCompleteMessage(message.Substring(1)), PacketBuilder.CHAT_BOTTOM_LEFT);
|
||||
byte[] chatPacket = PacketBuilder.CreateChat(Messages.FormatAdminCommandCompleteMessage(message), PacketBuilder.CHAT_BOTTOM_LEFT);
|
||||
user.LoggedinClient.SendPacket(chatPacket);
|
||||
GameServer.ShutdownServer();
|
||||
|
||||
|
@ -190,7 +235,7 @@ namespace HISP.Game.Chat
|
|||
return false;
|
||||
}
|
||||
msg:;
|
||||
byte[] chatPacket = PacketBuilder.CreateChat(Messages.FormatAdminCommandCompleteMessage(message.Substring(1)), PacketBuilder.CHAT_BOTTOM_LEFT);
|
||||
byte[] chatPacket = PacketBuilder.CreateChat(Messages.FormatAdminCommandCompleteMessage(message), PacketBuilder.CHAT_BOTTOM_LEFT);
|
||||
user.LoggedinClient.SendPacket(chatPacket);
|
||||
return true;
|
||||
}
|
||||
|
@ -227,7 +272,7 @@ namespace HISP.Game.Chat
|
|||
return false;
|
||||
}
|
||||
|
||||
byte[] chatPacket = PacketBuilder.CreateChat(Messages.FormatAdminCommandCompleteMessage(message.Substring(1)), PacketBuilder.CHAT_BOTTOM_LEFT);
|
||||
byte[] chatPacket = PacketBuilder.CreateChat(Messages.FormatAdminCommandCompleteMessage(message), PacketBuilder.CHAT_BOTTOM_LEFT);
|
||||
user.LoggedinClient.SendPacket(chatPacket);
|
||||
|
||||
return true;
|
||||
|
@ -251,7 +296,7 @@ namespace HISP.Game.Chat
|
|||
return false;
|
||||
}
|
||||
|
||||
byte[] chatPacket = PacketBuilder.CreateChat(Messages.FormatAdminCommandCompleteMessage(message.Substring(1)), PacketBuilder.CHAT_BOTTOM_LEFT);
|
||||
byte[] chatPacket = PacketBuilder.CreateChat(Messages.FormatAdminCommandCompleteMessage(message), PacketBuilder.CHAT_BOTTOM_LEFT);
|
||||
user.LoggedinClient.SendPacket(chatPacket);
|
||||
|
||||
return true;
|
||||
|
@ -264,7 +309,7 @@ namespace HISP.Game.Chat
|
|||
user.LoggedinClient.SendPacket(versionPacket);
|
||||
|
||||
// Send Command complete message to client.
|
||||
byte[] versionCommandCompletePacket = PacketBuilder.CreateChat(Messages.FormatPlayerCommandCompleteMessage(message.Substring(1)), PacketBuilder.CHAT_BOTTOM_LEFT);
|
||||
byte[] versionCommandCompletePacket = PacketBuilder.CreateChat(Messages.FormatPlayerCommandCompleteMessage(message), PacketBuilder.CHAT_BOTTOM_LEFT);
|
||||
user.LoggedinClient.SendPacket(versionCommandCompletePacket);
|
||||
return true;
|
||||
}
|
||||
|
@ -297,7 +342,7 @@ namespace HISP.Game.Chat
|
|||
}
|
||||
catch(KeyNotFoundException){};
|
||||
|
||||
byte[] chatPacket = PacketBuilder.CreateChat(Messages.FormatAdminCommandCompleteMessage(message.Substring(1)), PacketBuilder.CHAT_BOTTOM_LEFT);
|
||||
byte[] chatPacket = PacketBuilder.CreateChat(Messages.FormatAdminCommandCompleteMessage(message), PacketBuilder.CHAT_BOTTOM_LEFT);
|
||||
user.LoggedinClient.SendPacket(chatPacket);
|
||||
|
||||
return true;
|
||||
|
@ -309,7 +354,7 @@ namespace HISP.Game.Chat
|
|||
|
||||
user.Teleport(Map.ModIsleX, Map.ModIsleY);
|
||||
|
||||
byte[] chatPacket = PacketBuilder.CreateChat(Messages.FormatAdminCommandCompleteMessage(message.Substring(1)) + Messages.ModIsleMessage, PacketBuilder.CHAT_BOTTOM_LEFT);
|
||||
byte[] chatPacket = PacketBuilder.CreateChat(Messages.FormatAdminCommandCompleteMessage(message) + Messages.ModIsleMessage, PacketBuilder.CHAT_BOTTOM_LEFT);
|
||||
user.LoggedinClient.SendPacket(chatPacket);
|
||||
return true;
|
||||
}
|
||||
|
@ -320,7 +365,7 @@ namespace HISP.Game.Chat
|
|||
return false;
|
||||
|
||||
user.Stealth = !user.Stealth;
|
||||
byte[] chatPacket = PacketBuilder.CreateChat(Messages.FormatAdminCommandCompleteMessage(message.Substring(1)), PacketBuilder.CHAT_BOTTOM_LEFT);
|
||||
byte[] chatPacket = PacketBuilder.CreateChat(Messages.FormatAdminCommandCompleteMessage(message), PacketBuilder.CHAT_BOTTOM_LEFT);
|
||||
user.LoggedinClient.SendPacket(chatPacket);
|
||||
return true;
|
||||
}
|
||||
|
@ -330,7 +375,7 @@ namespace HISP.Game.Chat
|
|||
return false;
|
||||
|
||||
user.NoClip = !user.NoClip;
|
||||
byte[] chatPacket = PacketBuilder.CreateChat(Messages.FormatAdminCommandCompleteMessage(message.Substring(1)), PacketBuilder.CHAT_BOTTOM_LEFT);
|
||||
byte[] chatPacket = PacketBuilder.CreateChat(Messages.FormatAdminCommandCompleteMessage(message), PacketBuilder.CHAT_BOTTOM_LEFT);
|
||||
user.LoggedinClient.SendPacket(chatPacket);
|
||||
return true;
|
||||
}
|
||||
|
@ -356,7 +401,7 @@ namespace HISP.Game.Chat
|
|||
return false;
|
||||
}
|
||||
|
||||
byte[] chatPacket = PacketBuilder.CreateChat(Messages.FormatAdminCommandCompleteMessage(message.Substring(1))+Messages.FormatRulesCommandMessage(args[0]), PacketBuilder.CHAT_BOTTOM_LEFT);
|
||||
byte[] chatPacket = PacketBuilder.CreateChat(Messages.FormatAdminCommandCompleteMessage(message)+Messages.FormatRulesCommandMessage(args[0]), PacketBuilder.CHAT_BOTTOM_LEFT);
|
||||
user.LoggedinClient.SendPacket(chatPacket);
|
||||
return true;
|
||||
}
|
||||
|
@ -382,7 +427,7 @@ namespace HISP.Game.Chat
|
|||
return false;
|
||||
}
|
||||
|
||||
byte[] chatPacket = PacketBuilder.CreateChat(Messages.FormatAdminCommandCompleteMessage(message.Substring(1)) + Messages.FormatPrisonCommandMessage(args[0]), PacketBuilder.CHAT_BOTTOM_LEFT);
|
||||
byte[] chatPacket = PacketBuilder.CreateChat(Messages.FormatAdminCommandCompleteMessage(message) + Messages.FormatPrisonCommandMessage(args[0]), PacketBuilder.CHAT_BOTTOM_LEFT);
|
||||
user.LoggedinClient.SendPacket(chatPacket);
|
||||
return true;
|
||||
|
||||
|
@ -414,7 +459,7 @@ namespace HISP.Game.Chat
|
|||
return false;
|
||||
}
|
||||
|
||||
byte[] chatPacket = PacketBuilder.CreateChat(Messages.FormatAdminCommandCompleteMessage(message.Substring(1)), PacketBuilder.CHAT_BOTTOM_LEFT);
|
||||
byte[] chatPacket = PacketBuilder.CreateChat(Messages.FormatAdminCommandCompleteMessage(message), PacketBuilder.CHAT_BOTTOM_LEFT);
|
||||
user.LoggedinClient.SendPacket(chatPacket);
|
||||
return true;
|
||||
}
|
||||
|
@ -442,7 +487,7 @@ namespace HISP.Game.Chat
|
|||
return false;
|
||||
}
|
||||
|
||||
byte[] chatPacket = PacketBuilder.CreateChat(Messages.FormatAdminCommandCompleteMessage(message.Substring(1)), PacketBuilder.CHAT_BOTTOM_LEFT);
|
||||
byte[] chatPacket = PacketBuilder.CreateChat(Messages.FormatAdminCommandCompleteMessage(message), PacketBuilder.CHAT_BOTTOM_LEFT);
|
||||
user.LoggedinClient.SendPacket(chatPacket);
|
||||
return true;
|
||||
}
|
||||
|
@ -477,7 +522,7 @@ namespace HISP.Game.Chat
|
|||
return false;
|
||||
}
|
||||
|
||||
byte[] chatPacket = PacketBuilder.CreateChat(Messages.FormatAdminCommandCompleteMessage(message.Substring(1)), PacketBuilder.CHAT_BOTTOM_LEFT);
|
||||
byte[] chatPacket = PacketBuilder.CreateChat(Messages.FormatAdminCommandCompleteMessage(message), PacketBuilder.CHAT_BOTTOM_LEFT);
|
||||
user.LoggedinClient.SendPacket(chatPacket);
|
||||
|
||||
return true;
|
||||
|
@ -575,7 +620,7 @@ namespace HISP.Game.Chat
|
|||
|
||||
|
||||
|
||||
byte[] chatPacket = PacketBuilder.CreateChat(Messages.FormatAdminCommandCompleteMessage(message.Substring(1)), PacketBuilder.CHAT_BOTTOM_LEFT);
|
||||
byte[] chatPacket = PacketBuilder.CreateChat(Messages.FormatAdminCommandCompleteMessage(message), PacketBuilder.CHAT_BOTTOM_LEFT);
|
||||
user.LoggedinClient.SendPacket(chatPacket);
|
||||
|
||||
return true;
|
||||
|
@ -655,7 +700,7 @@ namespace HISP.Game.Chat
|
|||
}
|
||||
|
||||
|
||||
byte[] chatPacket = PacketBuilder.CreateChat(Messages.FormatAdminCommandCompleteMessage(message.Substring(1)), PacketBuilder.CHAT_BOTTOM_LEFT);
|
||||
byte[] chatPacket = PacketBuilder.CreateChat(Messages.FormatAdminCommandCompleteMessage(message), PacketBuilder.CHAT_BOTTOM_LEFT);
|
||||
user.LoggedinClient.SendPacket(chatPacket);
|
||||
return true;
|
||||
}
|
||||
|
@ -663,7 +708,7 @@ namespace HISP.Game.Chat
|
|||
public static bool Warp(string message, string[] args, User user)
|
||||
{
|
||||
|
||||
string formattedmessage = Messages.FormatPlayerCommandCompleteMessage(message.Substring(1));
|
||||
string formattedmessage = Messages.FormatPlayerCommandCompleteMessage(message);
|
||||
|
||||
if (user.CurrentlyRidingHorse == null)
|
||||
goto onlyRiddenUnicorn;
|
||||
|
@ -730,7 +775,11 @@ namespace HISP.Game.Chat
|
|||
if (!user.Administrator)
|
||||
return false;
|
||||
|
||||
string formattedmessage = Messages.FormatPlayerCommandCompleteMessage(message.Substring(1));
|
||||
if (args.Length >= 1)
|
||||
if (args[1].ToUpper() != "HORSE")
|
||||
return false;
|
||||
|
||||
string formattedmessage = Messages.FormatPlayerCommandCompleteMessage(message);
|
||||
|
||||
WildHorse horse = WildHorse.WildHorses[GameServer.RandomNumberGenerator.Next(0, WildHorse.WildHorses.Length)];
|
||||
horse.X = user.X;
|
||||
|
@ -747,7 +796,7 @@ namespace HISP.Game.Chat
|
|||
public static bool AutoReply(string message, string[] args, User user)
|
||||
{
|
||||
string replyMessage = string.Join(" ", args);
|
||||
string formattedmessage = Messages.FormatPlayerCommandCompleteMessage(message.Substring(1));
|
||||
string formattedmessage = Messages.FormatPlayerCommandCompleteMessage(message);
|
||||
replyMessage = replyMessage.Trim();
|
||||
|
||||
if (replyMessage.Length > 1024)
|
||||
|
@ -776,7 +825,7 @@ namespace HISP.Game.Chat
|
|||
public static bool Dance(string message, string[] args, User user)
|
||||
{
|
||||
string moves = string.Join(" ", args).ToLower();
|
||||
string formattedmessage = Messages.FormatPlayerCommandCompleteMessage(message.Substring(1));
|
||||
string formattedmessage = Messages.FormatPlayerCommandCompleteMessage(message);
|
||||
|
||||
if (user.ActiveDance != null)
|
||||
user.ActiveDance.Dispose();
|
||||
|
@ -800,7 +849,7 @@ namespace HISP.Game.Chat
|
|||
}
|
||||
if (quizActive)
|
||||
{
|
||||
string formattedmessage = Messages.FormatPlayerCommandCompleteMessage(message.Substring(1));
|
||||
string formattedmessage = Messages.FormatPlayerCommandCompleteMessage(message);
|
||||
|
||||
RealTimeQuiz.Participent participent = GameServer.QuizEvent.JoinEvent(user);
|
||||
|
||||
|
@ -832,7 +881,7 @@ namespace HISP.Game.Chat
|
|||
|
||||
public static bool Mute(string message, string[] args, User user)
|
||||
{
|
||||
string formattedmessage = Messages.FormatPlayerCommandCompleteMessage(message.Substring(1));
|
||||
string formattedmessage = Messages.FormatPlayerCommandCompleteMessage(message);
|
||||
|
||||
if (args.Length <= 0)
|
||||
{
|
||||
|
@ -906,7 +955,7 @@ namespace HISP.Game.Chat
|
|||
|
||||
public static bool UnMute(string message, string[] args, User user)
|
||||
{
|
||||
string formattedmessage = Messages.FormatPlayerCommandCompleteMessage(message.Substring(1));
|
||||
string formattedmessage = Messages.FormatPlayerCommandCompleteMessage(message);
|
||||
|
||||
if (args.Length <= 0)
|
||||
{
|
||||
|
|
31
HorseIsleServer/LibHISP/Game/Chat/CommandRegister.cs
Normal file
31
HorseIsleServer/LibHISP/Game/Chat/CommandRegister.cs
Normal file
|
@ -0,0 +1,31 @@
|
|||
using HISP.Player;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Globalization;
|
||||
|
||||
namespace HISP.Game.Chat
|
||||
{
|
||||
public class CommandRegister
|
||||
{
|
||||
private static List<CommandRegister> registeredComamnds = new List<CommandRegister>();
|
||||
public static CommandRegister[] RegisteredCommands
|
||||
{
|
||||
get
|
||||
{
|
||||
return registeredComamnds.ToArray();
|
||||
}
|
||||
}
|
||||
|
||||
public char CmdLetter;
|
||||
public string CmdName;
|
||||
public Func<string,string[],User, bool> CmdCallback;
|
||||
public CommandRegister(char cmdLetter, string cmdName, Func<string, string[], User, bool> cmdCallback)
|
||||
{
|
||||
CmdLetter = cmdLetter;
|
||||
CmdName = cmdName.ToUpper(CultureInfo.InvariantCulture);
|
||||
CmdCallback = cmdCallback;
|
||||
|
||||
registeredComamnds.Add(this);
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue