mirror of
https://github.com/islehorse/HISP.git
synced 2025-04-21 20:25:51 +12:00
fix money related bugs and crashes.
This commit is contained in:
parent
99d9b401a2
commit
e600554555
21 changed files with 151 additions and 83 deletions
|
@ -68,7 +68,7 @@ namespace HISP.Player
|
|||
{
|
||||
Database.AddAward(baseUser.Id, award.Id);
|
||||
|
||||
baseUser.Money += award.MoneyBonus;
|
||||
baseUser.AddMoney(award.MoneyBonus);
|
||||
|
||||
byte[] chatPacket = PacketBuilder.CreateChat(award.CompletionText, PacketBuilder.CHAT_BOTTOM_RIGHT);
|
||||
baseUser.LoggedinClient.SendPacket(chatPacket);
|
||||
|
|
|
@ -70,19 +70,30 @@ namespace HISP.Player
|
|||
Trader.LoggedinClient.SendPacket(tradeNotAllowedWhileBidding);
|
||||
fail = true;
|
||||
}
|
||||
if (OtherTrade.Trader.HorseInventory.HorseList.Length > OtherTrade.Trader.MaxHorses)
|
||||
if (OtherTrade.Trader.HorseInventory.HorseList.Length + HorsesOffered.Count > OtherTrade.Trader.MaxHorses)
|
||||
{
|
||||
byte[] tradeYouHaveTooManyHorses = PacketBuilder.CreateChat(Messages.TradeYouCantHandleMoreHorses, PacketBuilder.CHAT_BOTTOM_RIGHT);
|
||||
Trader.LoggedinClient.SendPacket(tradeYouHaveTooManyHorses);
|
||||
fail = true;
|
||||
}
|
||||
if (Trader.HorseInventory.HorseList.Length > Trader.MaxHorses)
|
||||
if (Trader.HorseInventory.HorseList.Length + OtherTrade.HorsesOffered.Count > Trader.MaxHorses)
|
||||
{
|
||||
byte[] tradeYouHaveTooManyHorses = PacketBuilder.CreateChat(Messages.TradeYouCantHandleMoreHorses, PacketBuilder.CHAT_BOTTOM_RIGHT);
|
||||
Trader.LoggedinClient.SendPacket(tradeYouHaveTooManyHorses);
|
||||
fail = true;
|
||||
}
|
||||
|
||||
if(OtherTrade.Trader.Money + MoneyOffered > 2100000000)
|
||||
{
|
||||
byte[] tradeOtherHasTooMuchMoney = PacketBuilder.CreateChat(Messages.TradeWillGiveOtherTooMuchMoney, PacketBuilder.CHAT_BOTTOM_RIGHT);
|
||||
Trader.LoggedinClient.SendPacket(tradeOtherHasTooMuchMoney);
|
||||
fail = true;
|
||||
}
|
||||
if(Trader.Money + OtherTrade.MoneyOffered > 2100000000)
|
||||
{
|
||||
byte[] tradeYouHasTooMuchMoney = PacketBuilder.CreateChat(Messages.TradeWillGiveYouTooMuchMoney, PacketBuilder.CHAT_BOTTOM_RIGHT);
|
||||
Trader.LoggedinClient.SendPacket(tradeYouHasTooMuchMoney);
|
||||
fail = true;
|
||||
}
|
||||
|
||||
/*
|
||||
* Item Checks
|
||||
|
@ -140,14 +151,14 @@ namespace HISP.Player
|
|||
|
||||
if (MoneyOffered > 0) // Transfer Money
|
||||
{
|
||||
Trader.Money -= MoneyOffered;
|
||||
Trader.TakeMoney(MoneyOffered);
|
||||
byte[] tradeSpentMoney = PacketBuilder.CreateChat(Messages.FormatTradeYouSpent(MoneyOffered), PacketBuilder.CHAT_BOTTOM_RIGHT);
|
||||
Trader.LoggedinClient.SendPacket(tradeSpentMoney);
|
||||
}
|
||||
|
||||
if(OtherTrade.MoneyOffered > 0)
|
||||
{
|
||||
Trader.Money += OtherTrade.MoneyOffered;
|
||||
Trader.AddMoney(OtherTrade.MoneyOffered);
|
||||
byte[] tradeReceivedMoney = PacketBuilder.CreateChat(Messages.FormatTradeYouReceived(OtherTrade.MoneyOffered), PacketBuilder.CHAT_BOTTOM_RIGHT);
|
||||
Trader.LoggedinClient.SendPacket(tradeReceivedMoney);
|
||||
}
|
||||
|
|
|
@ -110,6 +110,30 @@ namespace HISP.Player
|
|||
public bool ListingAuction = false;
|
||||
public int TotalGlobalChatMessages = 1;
|
||||
|
||||
public void TakeMoney(int amount)
|
||||
{
|
||||
money -= amount;
|
||||
Database.SetPlayerMoney(money, Id);
|
||||
GameServer.UpdatePlayer(LoggedinClient);
|
||||
}
|
||||
|
||||
public void AddMoney(int amount)
|
||||
{
|
||||
try
|
||||
{
|
||||
checked
|
||||
{
|
||||
money += amount;
|
||||
}
|
||||
}
|
||||
catch(OverflowException)
|
||||
{
|
||||
money = 2147483647;
|
||||
}
|
||||
|
||||
Database.SetPlayerMoney(money, Id);
|
||||
GameServer.UpdatePlayer(LoggedinClient);
|
||||
}
|
||||
public string GetWeatherSeen()
|
||||
{
|
||||
string weather = "SUNNY";
|
||||
|
@ -256,25 +280,6 @@ namespace HISP.Player
|
|||
{
|
||||
return money;
|
||||
}
|
||||
set
|
||||
{
|
||||
try
|
||||
{
|
||||
checked
|
||||
{
|
||||
money = value;
|
||||
Database.SetPlayerMoney(value, Id);
|
||||
GameServer.UpdatePlayer(LoggedinClient);
|
||||
}
|
||||
}
|
||||
catch(OverflowException)
|
||||
{
|
||||
money = 2147483647;
|
||||
Database.SetPlayerMoney(2147483647, Id);
|
||||
GameServer.UpdatePlayer(LoggedinClient);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue