mirror of
https://github.com/islehorse/HISP.git
synced 2025-04-21 20:25:51 +12:00
Fix bugz
This commit is contained in:
parent
7216ade563
commit
5e460923dc
8 changed files with 132 additions and 99 deletions
|
@ -137,7 +137,7 @@ namespace HISP.Server
|
|||
private bool receivePackets()
|
||||
{
|
||||
// HI1 Packets are terminates by 0x00 so we have to read until we receive that terminator
|
||||
MemoryStream ms = new MemoryStream();
|
||||
|
||||
|
||||
while(ClientSocket.Connected)
|
||||
{
|
||||
|
@ -146,29 +146,29 @@ namespace HISP.Server
|
|||
|
||||
try
|
||||
{
|
||||
if (ClientSocket.Available >= 1)
|
||||
using (MemoryStream ms = new MemoryStream())
|
||||
{
|
||||
byte[] buffer = new byte[ClientSocket.Available];
|
||||
ClientSocket.Receive(buffer);
|
||||
|
||||
|
||||
foreach (Byte b in buffer)
|
||||
if (ClientSocket.Available >= 1)
|
||||
{
|
||||
if(isDisconnecting)
|
||||
break;
|
||||
byte[] buffer = new byte[ClientSocket.Available];
|
||||
ClientSocket.Receive(buffer);
|
||||
|
||||
ms.WriteByte(b);
|
||||
if (b == 0x00)
|
||||
foreach (Byte b in buffer)
|
||||
{
|
||||
ms.Seek(0x00, SeekOrigin.Begin);
|
||||
byte[] fullPacket = ms.ToArray();
|
||||
parsePackets(fullPacket);
|
||||
if (isDisconnecting)
|
||||
break;
|
||||
|
||||
ms.Close();
|
||||
ms = new MemoryStream();
|
||||
ms.WriteByte(b);
|
||||
if (b == 0x00)
|
||||
{
|
||||
ms.Seek(0x00, SeekOrigin.Begin);
|
||||
byte[] fullPacket = ms.ToArray();
|
||||
parsePackets(fullPacket);
|
||||
ms.Seek(0x00, SeekOrigin.Begin);
|
||||
ms.SetLength(0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
catch(SocketException e)
|
||||
|
|
|
@ -1064,6 +1064,7 @@ namespace HISP.Server
|
|||
|
||||
Messages.InvalidSecCodeError = gameData.messages.sec_code.invalid_sec_code;
|
||||
Messages.YouEarnedAnItemFormat = gameData.messages.sec_code.item_earned;
|
||||
Messages.YouEarnedAnItemButInventoryWasFullFormat = gameData.messages.sec_code.item_earned_full_inv;
|
||||
Messages.YouLostAnItemFormat = gameData.messages.sec_code.item_deleted;
|
||||
Messages.YouEarnedMoneyFormat = gameData.messages.sec_code.money_earned;
|
||||
Messages.BeatHighscoreFormat = gameData.messages.sec_code.highscore_beaten;
|
||||
|
|
|
@ -2296,9 +2296,19 @@ namespace HISP.Server
|
|||
if (Item.ItemIdExist(value))
|
||||
{
|
||||
ItemInstance itm = new ItemInstance(value);
|
||||
sender.LoggedinUser.Inventory.Add(itm);
|
||||
|
||||
Item.ItemInformation itemInfo = Item.GetItemById(value);
|
||||
byte[] earnedItemMessage = PacketBuilder.CreateChat(Messages.FormatYouEarnedAnItemMessage(itemInfo.Name), PacketBuilder.CHAT_BOTTOM_RIGHT);
|
||||
string messageToSend = Messages.FormatYouEarnedAnItemMessage(itemInfo.Name);
|
||||
try
|
||||
{
|
||||
sender.LoggedinUser.Inventory.Add(itm);
|
||||
}
|
||||
catch(InventoryException)
|
||||
{
|
||||
messageToSend = Messages.FormatYouEarnedAnItemButInventoryFullMessage(itemInfo.Name);
|
||||
}
|
||||
|
||||
byte[] earnedItemMessage = PacketBuilder.CreateChat(messageToSend, PacketBuilder.CHAT_BOTTOM_RIGHT);
|
||||
sender.SendPacket(earnedItemMessage);
|
||||
}
|
||||
else
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue