public static void InitDialog(World.Network.WorldClient client, string packet) { if (!client.Action.IsOccuped) { Database.Records.NpcPositionRecord Npc = client.Character.Map.Engine.GetNpc(int.Parse(packet.Substring(2))); if (Npc != null) { Database.Records.NpcDialogRecord Dialog = Helper.NpcHelper.GetDialog(Npc.Template.InitQuestion); if (Dialog != null) { client.State = Network.WorldClientState.OnDialog; client.Send("DCK" + int.Parse(packet.Substring(2))); client.Send("DQ" + Dialog.ID + "|" + Dialog.Responses.Replace(",", ";")); } else { client.Send("BN"); } } else { client.Send("BN"); } } else { client.Send("BN"); } }
public static void RequestExchangeWithSellHDV(Network.WorldClient client, int p) { Database.Records.NpcPositionRecord npc = client.Character.Map.Engine.GetNpc(p); if (npc != null && (!client.Action.IsOccuped || client.Action.CurrentAuctionHouse != null)) { client.Action.CurrentAuctionItem = null; var ah = Game.AuctionHouses.AuctionHouseManager.GetAuctionHouse(client.Character.MapID, npc.NpcID); client.Action.CurrentAuctionHouse = ah; client.Send("EV"); StringBuilder packet = new StringBuilder("ECK10|"); packet.Append("1,10,100;").Append(ah.GetStrTypeFromType()).Append(";") .Append(0).Append(";").Append(ah.ItemLevelLimit).Append(";") .Append(ah.ItemLimit).Append(";-1;").Append("-1"); client.Send(packet.ToString()); var hdvItemsPacket = new StringBuilder("EL"); var hdvItems = ah.GetItemForOwner(client.Account.ID); for (int i = 0; i < hdvItems.Count; i++) { var item = hdvItems[i]; if (i != 0) { hdvItemsPacket.Append("|"); } hdvItemsPacket.Append(item.ToEL()); } client.Send(hdvItemsPacket.ToString()); } }
public static void RequestExchangeWithNpc(Network.WorldClient client, int id) { Database.Records.NpcPositionRecord npc = client.Character.Map.Engine.GetNpc(id); if (npc != null && !client.Action.IsOccuped) { client.Send("ECK0|" + npc.TempID); client.Send("EL" + npc.Patterns.SellPattern.ToString()); client.State = Network.WorldClientState.OnExchangePnj; client.Action.ExchangeNpcID = npc.Template.ID; } }
public NpcPattern(Database.Records.NpcPositionRecord npc) { this._npc = npc; }
public void AddNpc(Database.Records.NpcPositionRecord npc) { npc.TempID = _currentTempId; _currentTempId--; Npcs.Add(npc); }
public NpcPattern(Database.Records.NpcPositionRecord npc) { this._npc = npc; }