diff --git a/DataCollection/gamedata.json b/DataCollection/gamedata.json index 0b5bfb1..015b6d7 100755 --- a/DataCollection/gamedata.json +++ b/DataCollection/gamedata.json @@ -237,7 +237,8 @@ "socials":{ "socials_button":"^B5%ID%%SOCIALNAME%", "socials_message":"* %SOCIALMSG% *", - "socials_menu_type":"^L%TYPE%:^R1" + "socials_menu_type":"^L%TYPE%:^R1", + "no_longer_nearby":"Player is no longer nearby!", }, "trade":{ "trading_with":"^ATTrading with %PLAYERNAME%", diff --git a/Horse Isle Server/HorseIsleServer/Game/Messages.cs b/Horse Isle Server/HorseIsleServer/Game/Messages.cs index 2f96cef..8df8d92 100755 --- a/Horse Isle Server/HorseIsleServer/Game/Messages.cs +++ b/Horse Isle Server/HorseIsleServer/Game/Messages.cs @@ -26,6 +26,7 @@ namespace HISP.Game public static string SocialButton; public static string SocialMessageFormat; public static string SocialTypeFormat; + public static string SocialPlayerNoLongerNearby; // Trading public static string TradeWithPlayerFormat; diff --git a/Horse Isle Server/HorseIsleServer/Server/GameDataJson.cs b/Horse Isle Server/HorseIsleServer/Server/GameDataJson.cs index ba50e43..0e805a4 100755 --- a/Horse Isle Server/HorseIsleServer/Server/GameDataJson.cs +++ b/Horse Isle Server/HorseIsleServer/Server/GameDataJson.cs @@ -862,6 +862,7 @@ namespace HISP.Server Messages.SocialButton = gameData.messages.meta.player_interaction.socials.socials_button; Messages.SocialMessageFormat = gameData.messages.meta.player_interaction.socials.socials_message; Messages.SocialTypeFormat = gameData.messages.meta.player_interaction.socials.socials_menu_type; + Messages.SocialPlayerNoLongerNearby = gameData.messages.meta.player_interaction.socials.no_longer_nearby; // Trade diff --git a/Horse Isle Server/HorseIsleServer/Server/GameServer.cs b/Horse Isle Server/HorseIsleServer/Server/GameServer.cs index b53bf26..f5b12a5 100755 --- a/Horse Isle Server/HorseIsleServer/Server/GameServer.cs +++ b/Horse Isle Server/HorseIsleServer/Server/GameServer.cs @@ -480,9 +480,19 @@ namespace HISP.Server break; case PacketBuilder.SOCIALS_USE: int socialId = Convert.ToInt32(packet[2] - (byte)0x21); - SocialType.Social social = SocialType.GetSocial(socialId); + SocialType.Social social = SocialType.GetSocial(socialId); - foreach(User user in GetUsersAt(sender.LoggedinUser.X, sender.LoggedinUser.Y, true, true)) + if(sender.LoggedinUser.SocializingWith != null) + { + if(sender.LoggedinUser.SocializingWith.X == sender.LoggedinUser.X && sender.LoggedinUser.SocializingWith.Y == sender.LoggedinUser.Y) + { + byte[] playerNotNearby = PacketBuilder.CreateChat(Messages.SocialPlayerNoLongerNearby, PacketBuilder.CHAT_BOTTOM_RIGHT); + sender.SendPacket(playerNotNearby); + } + } + + + foreach (User user in GetUsersAt(sender.LoggedinUser.X, sender.LoggedinUser.Y, true, true)) { if (social.BaseSocialType.Type != "GROUP") if (user.Id == sender.LoggedinUser.SocializingWith.Id)