mirror of
https://github.com/islehorse/HISP.git
synced 2025-04-21 20:25:51 +12:00
Implement Mute Function.
This commit is contained in:
parent
b15e6996fe
commit
5308b53c89
9 changed files with 302 additions and 55 deletions
|
@ -573,7 +573,7 @@ namespace HISP.Server
|
|||
{
|
||||
db.Open();
|
||||
MySqlCommand sqlCommand = db.CreateCommand();
|
||||
sqlCommand.CommandText = "DELETE FROM MutedPlayers WHERE playerId=@playerId AND mutePlayerId=@mutedPlayerId)";
|
||||
sqlCommand.CommandText = "DELETE FROM MutedPlayers WHERE playerId=@playerId AND mutePlayerId=@mutedPlayerId";
|
||||
sqlCommand.Parameters.AddWithValue("@playerId", playerId);
|
||||
sqlCommand.Parameters.AddWithValue("@mutedPlayerId", playerToMute);
|
||||
sqlCommand.Prepare();
|
||||
|
|
|
@ -843,6 +843,10 @@ namespace HISP.Server
|
|||
Messages.AutoSellYouSoldHorseOfflineFormat = gameData.messages.meta.auto_sell.sold_offline;
|
||||
|
||||
// Mute Command
|
||||
Messages.NowMutingPlayerFormat = gameData.messages.meta.mute_command.now_ignoring_player;
|
||||
Messages.StoppedMutingPlayerFormat = gameData.messages.meta.mute_command.stop_ignoring_player;
|
||||
|
||||
|
||||
Messages.PlayerIgnoringYourPrivateMessagesFormat = gameData.messages.meta.mute_command.player_ignoring_your_pm;
|
||||
Messages.PlayerIgnoringYourBuddyRequests = gameData.messages.meta.mute_command.player_ignoring_your_br;
|
||||
Messages.PlayerIgnoringYourSocials = gameData.messages.meta.mute_command.player_ignoring_your_socials;
|
||||
|
@ -1672,6 +1676,7 @@ namespace HISP.Server
|
|||
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;
|
||||
|
@ -1745,6 +1750,10 @@ namespace HISP.Server
|
|||
Messages.PlayerListMapAllPlayersFormat = gameData.messages.meta.player_list.map_all_players_format;
|
||||
Messages.PlayerListAbuseReport = gameData.messages.meta.player_list.abuse_report;
|
||||
|
||||
Messages.MuteButton = gameData.messages.meta.player_list.mute_button;
|
||||
Messages.HearButton = gameData.messages.meta.player_list.hear_button;
|
||||
Messages.PmButton = gameData.messages.meta.player_list.pm_button;
|
||||
|
||||
Messages.ThreeMonthSubscripitionIcon = gameData.messages.meta.player_list.icon_subbed_3month;
|
||||
Messages.YearSubscriptionIcon = gameData.messages.meta.player_list.icon_subbed_year;
|
||||
Messages.NewUserIcon = gameData.messages.meta.player_list.icon_new;
|
||||
|
|
|
@ -269,6 +269,62 @@ namespace HISP.Server
|
|||
sender.SendPacket(metaTag);
|
||||
}
|
||||
break;
|
||||
case PacketBuilder.PLAYER_INTERACTION_MUTE:
|
||||
packetStr = Encoding.UTF8.GetString(packet);
|
||||
playerIdStr = packetStr.Substring(2, packetStr.Length - 4);
|
||||
playerId = -1;
|
||||
try
|
||||
{
|
||||
playerId = int.Parse(playerIdStr);
|
||||
}
|
||||
catch (FormatException)
|
||||
{
|
||||
Logger.ErrorPrint(sender.LoggedinUser.Username + " tried to MUTE User ID NaN.");
|
||||
break;
|
||||
}
|
||||
|
||||
if (IsUserOnline(playerId))
|
||||
{
|
||||
User user = GetUserById(playerId);
|
||||
if(!sender.LoggedinUser.MutePlayer.IsUserMuted(user))
|
||||
sender.LoggedinUser.MutePlayer.MuteUser(user);
|
||||
|
||||
byte[] nowMuting = PacketBuilder.CreateChat(Messages.FormatNowMutingPlayer(user.Username), PacketBuilder.CHAT_BOTTOM_RIGHT);
|
||||
sender.SendPacket(nowMuting);
|
||||
|
||||
sender.LoggedinUser.MetaPriority = true;
|
||||
byte[] metaPacket = PacketBuilder.CreateMetaPacket(Meta.BuildPlayerListMenu(sender.LoggedinUser));
|
||||
sender.SendPacket(metaPacket);
|
||||
}
|
||||
break;
|
||||
case PacketBuilder.PLAYER_INTERACTION_UNMUTE:
|
||||
packetStr = Encoding.UTF8.GetString(packet);
|
||||
playerIdStr = packetStr.Substring(2, packetStr.Length - 4);
|
||||
playerId = -1;
|
||||
try
|
||||
{
|
||||
playerId = int.Parse(playerIdStr);
|
||||
}
|
||||
catch (FormatException)
|
||||
{
|
||||
Logger.ErrorPrint(sender.LoggedinUser.Username + " tried to UNMUTE User ID NaN.");
|
||||
break;
|
||||
}
|
||||
|
||||
if (IsUserOnline(playerId))
|
||||
{
|
||||
User user = GetUserById(playerId);
|
||||
if (sender.LoggedinUser.MutePlayer.IsUserMuted(user))
|
||||
sender.LoggedinUser.MutePlayer.UnmuteUser(user);
|
||||
|
||||
byte[] nowMuting = PacketBuilder.CreateChat(Messages.FormatStoppedMutingPlayer(user.Username), PacketBuilder.CHAT_BOTTOM_RIGHT);
|
||||
sender.SendPacket(nowMuting);
|
||||
|
||||
sender.LoggedinUser.MetaPriority = true;
|
||||
byte[] metaPacket = PacketBuilder.CreateMetaPacket(Meta.BuildPlayerListMenu(sender.LoggedinUser));
|
||||
sender.SendPacket(metaPacket);
|
||||
}
|
||||
break;
|
||||
case PacketBuilder.PLAYER_INTERACTION_REMOVE_BUDDY:
|
||||
packetStr = Encoding.UTF8.GetString(packet);
|
||||
playerIdStr = packetStr.Substring(2, packetStr.Length - 4);
|
||||
|
@ -292,7 +348,7 @@ namespace HISP.Server
|
|||
sender.SendPacket(friendRemoved);
|
||||
|
||||
sender.LoggedinUser.MetaPriority = true;
|
||||
byte[] metaPacket = PacketBuilder.CreateMetaPacket(Meta.BuildPlayerList(sender.LoggedinUser));
|
||||
byte[] metaPacket = PacketBuilder.CreateMetaPacket(Meta.BuildPlayerListMenu(sender.LoggedinUser));
|
||||
sender.SendPacket(metaPacket);
|
||||
}
|
||||
|
||||
|
@ -2500,7 +2556,7 @@ namespace HISP.Server
|
|||
{
|
||||
case PacketBuilder.PLAYERINFO_PLAYER_LIST:
|
||||
sender.LoggedinUser.MetaPriority = true;
|
||||
byte[] metaPacket = PacketBuilder.CreateMetaPacket(Meta.BuildPlayerList(sender.LoggedinUser));
|
||||
byte[] metaPacket = PacketBuilder.CreateMetaPacket(Meta.BuildPlayerListMenu(sender.LoggedinUser));
|
||||
sender.SendPacket(metaPacket);
|
||||
break;
|
||||
}
|
||||
|
@ -2805,12 +2861,12 @@ namespace HISP.Server
|
|||
break;
|
||||
case "37": // All Players List
|
||||
sender.LoggedinUser.MetaPriority = true;
|
||||
metaPacket = PacketBuilder.CreateMetaPacket(Meta.BuildPlayerList());
|
||||
metaPacket = PacketBuilder.CreateMetaPacket(Meta.BuildPlayerList(sender.LoggedinUser));
|
||||
sender.SendPacket(metaPacket);
|
||||
break;
|
||||
case "40": // All Players Alphabetical
|
||||
sender.LoggedinUser.MetaPriority = true;
|
||||
metaPacket = PacketBuilder.CreateMetaPacket(Meta.BuildPlayerListAlphabetical());
|
||||
metaPacket = PacketBuilder.CreateMetaPacket(Meta.BuildPlayerListAlphabetical(sender.LoggedinUser));
|
||||
sender.SendPacket(metaPacket);
|
||||
break;
|
||||
case "30": // Find NPC
|
||||
|
|
|
@ -64,6 +64,8 @@ namespace HISP.Server
|
|||
public const byte PLAYER_INTERACTION_TRADE_REJECT = 0x2B;
|
||||
public const byte PLAYER_INTERACTION_ADD_BUDDY = 0x1E;
|
||||
public const byte PLAYER_INTERACTION_REMOVE_BUDDY = 0x1F;
|
||||
public const byte PLAYER_INTERACTION_MUTE = 0x32;
|
||||
public const byte PLAYER_INTERACTION_UNMUTE = 0x33;
|
||||
|
||||
public const byte AUCTION_BID_100 = 0x29;
|
||||
public const byte AUCTION_BID_1K = 0x2A;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue