Add !AUTOREPLY

This commit is contained in:
SilicaAndPina 2021-07-03 19:26:52 +12:00
parent c17dc3e8bd
commit 699353f2d1
7 changed files with 123 additions and 35 deletions

View file

@ -1461,9 +1461,11 @@ namespace HISP.Server
Messages.StatTired = gameData.messages.meta.stats_page.tired_stat_name;
Messages.StatsOtherHorses = gameData.messages.meta.stats_page.msg.other_horses;
Messages.StatPlayerFormats = gameData.messages.meta.stats_page.player_stats.ToObject<string[]>();
Messages.StatThirstDizzy = gameData.messages.movement_key.thirsty;
Messages.StatHungerStumble = gameData.messages.movement_key.hungery;
// Misc Stats
Messages.StatMiscHeader = gameData.messages.meta.misc_stats.header;
Messages.StatMiscNoneRecorded = gameData.messages.meta.misc_stats.no_stats_recorded;
@ -1828,7 +1830,7 @@ namespace HISP.Server
Messages.RequiredChatViolations = gameData.messages.chat.violation_points_required;
Messages.GlobalChatFormatForModerators = gameData.messages.chat.for_others.global_format_moderator;
Messages.DirectChatFormatForModerators = gameData.messages.chat.for_others.dm_format_moderator;
// Messages.DirectChatFormatForModerators = gameData.messages.chat.for_others.dm_format_moderator;
Messages.YouWereSentToPrisionIsle = gameData.messages.starved_horse;
@ -1851,15 +1853,21 @@ namespace HISP.Server
Messages.AdsChatFormatForSender = gameData.messages.chat.for_sender.ads_format;
Messages.AdminChatFormatForSender = gameData.messages.chat.for_sender.admin_format;
Messages.DmModBadge = gameData.messages.chat.dm_moderator;
Messages.DmAutoResponse = gameData.messages.chat.dm_autoreply;
Messages.AdminCommandFormat = gameData.messages.commands.admin_command_completed;
Messages.PlayerCommandFormat = gameData.messages.commands.player_command_completed;
Messages.MuteHelp = gameData.messages.commands.mute_help;
Messages.UnMuteHelp = gameData.messages.commands.unmute_help;
Messages.PasswordNotice = gameData.messages.chat.password_included;
Messages.CapsNotice = gameData.messages.chat.caps_notice;
// AutoReply
Messages.AutoReplyTooLong = gameData.messages.auto_reply.too_long;
Messages.AutoReplyHasViolations = gameData.messages.auto_reply.contains_violations;
// Drawing Rooms
Messages.DrawingLastToDrawFormat = gameData.messages.meta.drawing_rooms.last_draw;
Messages.DrawingContentsSavedInSlotFormat = gameData.messages.meta.drawing_rooms.saved;

View file

@ -4820,12 +4820,12 @@ namespace HISP.Server
movementDirection = newDirection;
if (loggedInUser.Thirst <= 0)
{
byte[] chatMessage = PacketBuilder.CreateChat(Messages.FormatRandomMovementMessage(Messages.StatThirst.ToUpper()), PacketBuilder.CHAT_BOTTOM_RIGHT);
byte[] chatMessage = PacketBuilder.CreateChat(Messages.FormatRandomMovementMessage(Messages.StatThirst.ToUpper(), Messages.StatThirstDizzy), PacketBuilder.CHAT_BOTTOM_RIGHT);
sender.SendPacket(chatMessage);
}
else if (loggedInUser.Hunger <= 0)
{
byte[] chatMessage = PacketBuilder.CreateChat(Messages.FormatRandomMovementMessage(Messages.StatHunger.ToUpper()), PacketBuilder.CHAT_BOTTOM_RIGHT);
byte[] chatMessage = PacketBuilder.CreateChat(Messages.FormatRandomMovementMessage(Messages.StatHunger.ToUpper(), Messages.StatHungerStumble), PacketBuilder.CHAT_BOTTOM_RIGHT);
sender.SendPacket(chatMessage);
}
/*
@ -5853,19 +5853,38 @@ namespace HISP.Server
// Finally send chat message.
string formattedMessage = Chat.FormatChatForOthers(sender.LoggedinUser, channel, message);
string formattedMessageSender = Chat.FormatChatForSender(sender.LoggedinUser, channel, message, nameTo);
string formattedMessageAutoReply = "";
string formattedMessageSenderAutoReply = "";
if (sender.LoggedinUser.AutoReplyText != "")
{
formattedMessageAutoReply = Chat.FormatChatForOthers(sender.LoggedinUser, channel, sender.LoggedinUser.AutoReplyText, true);
formattedMessageSenderAutoReply = Chat.FormatChatForSender(sender.LoggedinUser, channel, sender.LoggedinUser.AutoReplyText, nameTo, true);
}
byte[] chatPacketOthers = PacketBuilder.CreateChat(formattedMessage, chatSide);
byte[] chatPacketSender = PacketBuilder.CreateChat(formattedMessageSender, chatSide);
byte[] playDmSound = PacketBuilder.CreatePlaysoundPacket(Chat.PrivateMessageSound);
// Send to clients ...
foreach (GameClient recipiant in recipiants)
{
recipiant.SendPacket(chatPacketOthers);
if(formattedMessageAutoReply != "")
recipiant.SendPacket(PacketBuilder.CreateChat(formattedMessageAutoReply, chatSide));
if (channel == Chat.ChatChannel.Dm)
recipiant.SendPacket(playDmSound);
}
// Send to sender
sender.SendPacket(chatPacketSender);
if (formattedMessageSenderAutoReply != "")
sender.SendPacket(PacketBuilder.CreateChat(formattedMessageSenderAutoReply, chatSide));
}
public static void OnClickPacket(GameClient sender, byte[] packet)
{
@ -5926,9 +5945,19 @@ namespace HISP.Server
returnedMsg = Messages.FormatRanchClickMessage(Database.GetUsername(ranch.OwnerId), title);
}
}
if(GetUsersAt(x,y, false, true).Length > 0) // Player here?
User[] users = GetUsersAt(x, y, false, true);
if (users.Length > 0) // Player here?
{
returnedMsg = Messages.FormatPlayerHereMessage(GetUsersAt(x, y, false, true)[0].Username);
string usernameStr = "";
for(int i = 0; i < users.Length; i++)
{
usernameStr += users[i].Username;
if (i + 1 < users.Length)
usernameStr += ", ";
}
returnedMsg = Messages.FormatPlayerHereMessage(usernameStr);
}
byte[] tileInfoPacket = PacketBuilder.CreateClickTileInfoPacket(returnedMsg);