mirror of
https://github.com/islehorse/HISP.git
synced 2025-04-07 13:45:42 +12:00
Fix bugs and more bugs
This commit is contained in:
parent
14f9a5b379
commit
26d24c1113
5 changed files with 59 additions and 15 deletions
|
@ -334,7 +334,7 @@ namespace HISP.Game.Items
|
|||
public static void Init()
|
||||
{
|
||||
ReadFromDatabase();
|
||||
GenerateItems(true);
|
||||
GenerateItems(Database.GetDroppedItemsCount() <= 0);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -417,6 +417,9 @@ namespace HISP.Game
|
|||
if (horse.Leaser > 0)
|
||||
continue;
|
||||
|
||||
if (horse.Category != "TRADING")
|
||||
continue;
|
||||
|
||||
bool tacked = (horse.Equipment.Saddle != null || horse.Equipment.SaddlePad != null || horse.Equipment.Bridle != null || horse.Equipment.Companion != null);
|
||||
message += Messages.FormatTradeOfferHorse(horse.Name, tacked, horse.RandomId);
|
||||
}
|
||||
|
@ -463,6 +466,8 @@ namespace HISP.Game
|
|||
string message = "";
|
||||
message += Messages.FormatTradeWithPlayer(trade.OtherTrade.Trader.Username);
|
||||
|
||||
|
||||
|
||||
if (trade.Stage == "DONE" && trade.OtherTrade.Stage == "DONE")
|
||||
message += Messages.TradeFinalReview;
|
||||
else if (trade.Stage == "DONE")
|
||||
|
@ -976,7 +981,7 @@ namespace HISP.Game
|
|||
if (icon != -1)
|
||||
iconFormat = Messages.FormatIconFormat(icon);
|
||||
|
||||
message += Messages.FormatPlayerEntry(iconFormat, nearbyUser.Username, nearbyUser.Id, (DateTime.UtcNow - nearbyUser.LoginTime).Minutes, nearbyUser.X, nearbyUser.Y, nearbyUser.Idle);
|
||||
message += Messages.FormatPlayerEntry(iconFormat, nearbyUser.Username, nearbyUser.Id, Convert.ToInt32(Math.Round((DateTime.UtcNow - nearbyUser.LoginTime).TotalMinutes)), nearbyUser.X, nearbyUser.Y, nearbyUser.Idle);
|
||||
}
|
||||
|
||||
message += Messages.PlayerListIconInformation;
|
||||
|
@ -1012,7 +1017,7 @@ namespace HISP.Game
|
|||
if (icon != -1)
|
||||
iconFormat = Messages.FormatIconFormat(icon);
|
||||
|
||||
message += Messages.FormatPlayerEntry(iconFormat, onlineUser.Username, onlineUser.Id, (DateTime.UtcNow - onlineUser.LoginTime).Minutes, onlineUser.X, onlineUser.Y, onlineUser.Idle);
|
||||
message += Messages.FormatPlayerEntry(iconFormat, onlineUser.Username, onlineUser.Id, Convert.ToInt32(Math.Round((DateTime.UtcNow - onlineUser.LoginTime).TotalMinutes)), onlineUser.X, onlineUser.Y, onlineUser.Idle);
|
||||
}
|
||||
|
||||
message += Messages.PlayerListIconInformation;
|
||||
|
@ -1038,7 +1043,7 @@ namespace HISP.Game
|
|||
if (icon != -1)
|
||||
iconFormat = Messages.FormatIconFormat(icon);
|
||||
|
||||
message += Messages.FormatPlayerEntry(iconFormat, client.LoggedinUser.Username, client.LoggedinUser.Id, (DateTime.UtcNow - client.LoggedinUser.LoginTime).Minutes, client.LoggedinUser.X, client.LoggedinUser.Y, client.LoggedinUser.Idle);
|
||||
message += Messages.FormatPlayerEntry(iconFormat, client.LoggedinUser.Username, client.LoggedinUser.Id, Convert.ToInt32(Math.Round((DateTime.UtcNow - client.LoggedinUser.LoginTime).TotalMinutes)), client.LoggedinUser.X, client.LoggedinUser.Y, client.LoggedinUser.Idle);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1065,7 +1070,7 @@ namespace HISP.Game
|
|||
if (icon != -1)
|
||||
iconFormat = Messages.FormatIconFormat(icon);
|
||||
|
||||
message += Messages.FormatOnlineBuddyEntry(iconFormat, friend.Username, friend.Id, (DateTime.UtcNow - friend.LoginTime).Minutes, friend.X, friend.Y);
|
||||
message += Messages.FormatOnlineBuddyEntry(iconFormat, friend.Username, friend.Id, Convert.ToInt32(Math.Round((DateTime.UtcNow - friend.LoginTime).TotalMinutes)), friend.X, friend.Y);
|
||||
|
||||
}
|
||||
catch (KeyNotFoundException) { }
|
||||
|
|
|
@ -181,11 +181,15 @@ namespace HISP.Player
|
|||
return;
|
||||
|
||||
cancelTrade:;
|
||||
InteruptTrade();
|
||||
return;
|
||||
|
||||
}
|
||||
public void InteruptTrade()
|
||||
{
|
||||
byte[] tradeCanceled = PacketBuilder.CreateChat(Messages.TradeCanceledInterupted, PacketBuilder.CHAT_BOTTOM_RIGHT);
|
||||
Trader.LoggedinClient.SendPacket(tradeCanceled);
|
||||
endTrade();
|
||||
return;
|
||||
|
||||
}
|
||||
public void AcceptTrade()
|
||||
{
|
||||
|
|
|
@ -3919,6 +3919,20 @@ namespace HISP.Server
|
|||
}
|
||||
}
|
||||
|
||||
public static int GetDroppedItemsCount()
|
||||
{
|
||||
using (MySqlConnection db = new MySqlConnection(ConnectionString))
|
||||
{
|
||||
db.Open();
|
||||
MySqlCommand sqlCommand = db.CreateCommand();
|
||||
|
||||
sqlCommand.CommandText = "SELECT COUNT(1) FROM DroppedItems";
|
||||
sqlCommand.Prepare();
|
||||
int count = Convert.ToInt32(sqlCommand.ExecuteScalar());
|
||||
sqlCommand.Dispose();
|
||||
return count;
|
||||
}
|
||||
}
|
||||
public static int GetNpcStartPoint(int playerId, int npcId)
|
||||
{
|
||||
using (MySqlConnection db = new MySqlConnection(ConnectionString))
|
||||
|
|
|
@ -257,8 +257,10 @@ namespace HISP.Server
|
|||
sender.LoggedinUser.TradingWith.HorsesOffered.Add(horse);
|
||||
|
||||
UpdateArea(sender);
|
||||
if (!sender.LoggedinUser.TradingWith.OtherTrade.Trader.TradeMenuPriority)
|
||||
UpdateArea(sender.LoggedinUser.TradingWith.OtherTrade.Trader.LoggedinClient);
|
||||
|
||||
if (sender.LoggedinUser.TradingWith != null)
|
||||
if (!sender.LoggedinUser.TradingWith.OtherTrade.Trader.TradeMenuPriority)
|
||||
UpdateArea(sender.LoggedinUser.TradingWith.OtherTrade.Trader.LoggedinClient);
|
||||
|
||||
break;
|
||||
case '1': // Item
|
||||
|
@ -1905,8 +1907,9 @@ namespace HISP.Server
|
|||
sender.LoggedinUser.TradingWith.MoneyOffered = amountMoney;
|
||||
|
||||
UpdateArea(sender);
|
||||
if (!sender.LoggedinUser.TradingWith.OtherTrade.Trader.TradeMenuPriority)
|
||||
UpdateArea(sender.LoggedinUser.TradingWith.OtherTrade.Trader.LoggedinClient);
|
||||
if(sender.LoggedinUser.TradingWith != null)
|
||||
if (!sender.LoggedinUser.TradingWith.OtherTrade.Trader.TradeMenuPriority)
|
||||
UpdateArea(sender.LoggedinUser.TradingWith.OtherTrade.Trader.LoggedinClient);
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -1959,8 +1962,9 @@ namespace HISP.Server
|
|||
sender.LoggedinUser.TradingWith.ItemsOffered.Add(items);
|
||||
|
||||
UpdateArea(sender);
|
||||
if (!sender.LoggedinUser.TradingWith.OtherTrade.Trader.TradeMenuPriority)
|
||||
UpdateArea(sender.LoggedinUser.TradingWith.OtherTrade.Trader.LoggedinClient);
|
||||
if (sender.LoggedinUser.TradingWith != null)
|
||||
if (!sender.LoggedinUser.TradingWith.OtherTrade.Trader.TradeMenuPriority)
|
||||
UpdateArea(sender.LoggedinUser.TradingWith.OtherTrade.Trader.LoggedinClient);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
@ -2514,8 +2518,9 @@ namespace HISP.Server
|
|||
{
|
||||
sender.LoggedinUser.TradingWith.Stage = "DONE";
|
||||
|
||||
if (sender.LoggedinUser.TradingWith.OtherTrade.Trader.TradeMenuPriority == false)
|
||||
UpdateArea(sender.LoggedinUser.TradingWith.OtherTrade.Trader.LoggedinClient);
|
||||
if (sender.LoggedinUser.TradingWith != null)
|
||||
if (sender.LoggedinUser.TradingWith.OtherTrade.Trader.TradeMenuPriority == false)
|
||||
UpdateArea(sender.LoggedinUser.TradingWith.OtherTrade.Trader.LoggedinClient);
|
||||
UpdateArea(sender);
|
||||
|
||||
}
|
||||
|
@ -6060,6 +6065,10 @@ namespace HISP.Server
|
|||
|
||||
Database.RemoveOnlineUser(sender.LoggedinUser.Id);
|
||||
|
||||
// Remove Trade Reference
|
||||
sender.LoggedinUser.TradingWith = null;
|
||||
sender.LoggedinUser.PendingTradeTo = 0;
|
||||
|
||||
// Delete Arena Entries
|
||||
if(Arena.UserHasEnteredHorseInAnyArena(sender.LoggedinUser))
|
||||
{
|
||||
|
@ -6446,6 +6455,18 @@ namespace HISP.Server
|
|||
|
||||
if(forClient.LoggedinUser.TradingWith != null)
|
||||
{
|
||||
if (!forClient.LoggedinUser.TradingWith.OtherTrade.Trader.LoggedinClient.LoggedIn)
|
||||
{
|
||||
forClient.LoggedinUser.TradingWith.InteruptTrade();
|
||||
return;
|
||||
}
|
||||
|
||||
if (forClient.LoggedinUser.TradingWith.OtherTrade.Trader.TradingWith == null)
|
||||
{
|
||||
forClient.LoggedinUser.TradingWith.InteruptTrade();
|
||||
return;
|
||||
}
|
||||
|
||||
forClient.LoggedinUser.MetaPriority = true;
|
||||
forClient.LoggedinUser.TradeMenuPriority = false;
|
||||
byte[] tradeMeta = PacketBuilder.CreateMetaPacket(Meta.BuildTrade(forClient.LoggedinUser.TradingWith));
|
||||
|
|
Loading…
Add table
Reference in a new issue