Esempio n. 1
0
 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");
     }
 }
Esempio n. 2
0
        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());
            }
        }
Esempio n. 3
0
 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;
     }
 }
Esempio n. 4
0
 public NpcPattern(Database.Records.NpcPositionRecord npc)
 {
     this._npc = npc;
 }
Esempio n. 5
0
 public void AddNpc(Database.Records.NpcPositionRecord npc)
 {
     npc.TempID = _currentTempId;
     _currentTempId--;
     Npcs.Add(npc);
 }
Esempio n. 6
0
 public NpcPattern(Database.Records.NpcPositionRecord npc)
 {
     this._npc = npc;
 }