Advertisement
MrPoP

Stuff Seller

Nov 3rd, 2016
282
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 32.61 KB | None | 0 0
  1. #region Stuff
  2.                     case 62315:
  3.                         {
  4.                             dialog.Avatar(10);
  5.                             switch (npcRequest.OptionID)
  6.                             {
  7.                                 case 0:
  8.                                     {
  9.                                         dialog.Text("Hey Guy, iam here for selling Items Full +n Fixed Do You Want Some Just Choose Plus And I Will Bring It A +n Super.");
  10.                                         for (int x = 1; x < 13; x++)
  11.                                         {
  12.                                             dialog.Option("(+" + x + ") [Super Item] Price " + x * 10000, (byte)x);
  13.                                         }
  14.                                         dialog.Option("Just Passing By.", 255);
  15.                                         dialog.Send();
  16.                                         break;
  17.                                     }
  18.                                 default:
  19.                                     {
  20.                                         uint Amount = (uint)(npcRequest.OptionID * 10000);
  21.                                         List<uint> ItemsToAdd = new List<uint>(16);
  22.                                         #region Based
  23.                                         List<ConquerItemBaseInformation> Items = Database.ConquerItemInformation.BaseInformations.Values.ToList();
  24.                                                    /* ItemHandler.EquipPassJobReq(p, client) &&
  25.                                                     ItemHandler.EquipPassStatsReq(p, client) &&
  26.                                                     ItemHandler.EquipPassRbReq(p, client)).ToList();*/
  27.                                         var POSs = new Network.GamePackets.ItemHandler.Positions[16]
  28.                                         {
  29.                                             Network.GamePackets.ItemHandler.Positions.Head,
  30.                                             Network.GamePackets.ItemHandler.Positions.Necklace,
  31.                                             Network.GamePackets.ItemHandler.Positions.Armor,
  32.                                             Network.GamePackets.ItemHandler.Positions.Right,
  33.                                             Network.GamePackets.ItemHandler.Positions.Left,
  34.                                             Network.GamePackets.ItemHandler.Positions.Ring,
  35.                                             Network.GamePackets.ItemHandler.Positions.Boots,
  36.                                             Network.GamePackets.ItemHandler.Positions.Garment,
  37.                                             Network.GamePackets.ItemHandler.Positions.AttackTalisman,
  38.                                             Network.GamePackets.ItemHandler.Positions.DefenceTalisman,
  39.                                             Network.GamePackets.ItemHandler.Positions.Steed,
  40.                                             Network.GamePackets.ItemHandler.Positions.SteedTalisman,
  41.                                             Network.GamePackets.ItemHandler.Positions.RightAccessory,
  42.                                             Network.GamePackets.ItemHandler.Positions.LeftAccessory,
  43.                                             Network.GamePackets.ItemHandler.Positions.SteedArmor,
  44.                                             Network.GamePackets.ItemHandler.Positions.Wing,
  45.                                         };
  46.                                         #endregion
  47.                                         if (client.Player.ConquerPoints >= Amount)
  48.                                         {
  49.                                             #region CheckingInvetory
  50.                                             if (client.Inventory.Count > 24)
  51.                                             {
  52.                                                 client.Send(Constants.FullInventory);
  53.                                                 return;
  54.                                             }
  55.                                             #endregion
  56.                                             #region GettingItems
  57.                                             for (int x = 0; x < POSs.Length; x++)
  58.                                             {
  59.                                                 if (POSs[x] == ItemHandler.Positions.Garment || POSs[x] == ItemHandler.Positions.SteedArmor)
  60.                                                 {
  61.                                                     var RequestItem = Items.Where(p => ItemHandler.GetPositionFromID(p.ID) == POSs[x]).Where(p => ItemHandler.EquipPassSexReq(p, client)).ToList();
  62.                                                     var rand = new Random().Next(0, RequestItem.Count);
  63.                                                     ItemsToAdd.Add(RequestItem[0].ID);
  64.                                                 }
  65.                                                 else if (POSs[x] == ItemHandler.Positions.RightAccessory || POSs[x] == ItemHandler.Positions.LeftAccessory)
  66.                                                 {
  67.                                                     var RequestItem = Items.Where(p => ItemHandler.GetPositionFromID(p.ID) == POSs[x]).ToList();
  68.                                                     var rand = new Random().Next(0, RequestItem.Count);
  69.                                                     ItemsToAdd.Add(RequestItem[0].ID);
  70.                                                 }
  71.                                                 else if (POSs[x] == ItemHandler.Positions.Steed)
  72.                                                 {
  73.                                                     ItemsToAdd.Add(300000);
  74.                                                 }
  75.                                                 else if (POSs[x] == ItemHandler.Positions.Head || POSs[x] == ItemHandler.Positions.Armor)
  76.                                                 {
  77.                                                     var RequestItem = Items.Where(p => ItemHandler.GetPositionFromID(p.ID) == POSs[x] && p.ID % 10 == 9 && ItemHandler.EquipPassLvlReq(p, client) && ItemHandler.EquipPassJobReq(p, client)).OrderByDescending(p => p.Level).ToArray();
  78.                                                     ItemsToAdd.Add(RequestItem[0].ID);
  79.                                                 }
  80.                                                 /*else if (POSs[x] == ItemHandler.Positions.Right || POSs[x] == ItemHandler.Positions.Left)
  81.                                                 {
  82.                                                     List<ConquerItemBaseInformation> RequestItem = null;
  83.                                                     switch (client.Player.Class)
  84.                                                     {
  85.                                                         #region Trojan
  86.                                                         case 10:
  87.                                                         case 11:
  88.                                                         case 12:
  89.                                                         case 13:
  90.                                                         case 14:
  91.                                                         case 15:
  92.                                                             {
  93.                                                                 RequestItem = Items.Where(p => ItemHandler.GetPositionFromID(p.ID) == POSs[x] && p.ID % 10 == 9 && (ItemHandler.IsSword(p.ID) || ItemHandler.IsClub(p.ID) || ItemHandler.IsBlad(p.ID)) && ItemHandler.EquipPassLvlReq(p, client) && ItemHandler.EquipPassJobReq(p, client)).OrderByDescending(p => p.Level).ToList();
  94.                                                                 switch (new Random().Next(1, 4))
  95.                                                                 {
  96.                                                                     case 2:
  97.                                                                         {
  98.                                                                             var item = RequestItem.Where(p => ItemHandler.IsClub(p.ID)).OrderByDescending(p => p.Level).FirstOrDefault();
  99.                                                                             ItemsToAdd.Add(item.ID);
  100.                                                                             break;
  101.                                                                         }
  102.                                                                     case 3:
  103.                                                                         {
  104.                                                                             var item = RequestItem.Where(p => ItemHandler.IsSword(p.ID)).OrderByDescending(p => p.Level).FirstOrDefault();
  105.                                                                             ItemsToAdd.Add(item.ID);
  106.                                                                             break;
  107.                                                                         }
  108.                                                                     case 4:
  109.                                                                         {
  110.                                                                             var item = RequestItem.Where(p => ItemHandler.IsBlad(p.ID)).OrderByDescending(p => p.Level).FirstOrDefault();
  111.                                                                             ItemsToAdd.Add(item.ID);
  112.                                                                             break;
  113.                                                                         }
  114.                                                                 }
  115.                                                                 break;
  116.                                                             }
  117.                                                         #endregion
  118.                                                         #region Warrior
  119.                                                         case 20:
  120.                                                         case 21:
  121.                                                         case 22:
  122.                                                         case 23:
  123.                                                         case 24:
  124.                                                         case 25:
  125.                                                             {
  126.                                                                 RequestItem = Items.Where(p => ItemHandler.GetPositionFromID(p.ID) == POSs[x] && p.ID % 10 == 9 && (ItemHandler.IsShield(p.ID) || ItemHandler.IsTwoHand(p.ID)) && !ItemHandler.IsBow(p.ID) && ItemHandler.EquipPassLvlReq(p, client) && ItemHandler.EquipPassJobReq(p, client)).OrderByDescending(p => p.Level).ToList();
  127.                                                                 switch (new Random().Next(1, 3))
  128.                                                                 {
  129.                                                                     case 2:
  130.                                                                         {
  131.                                                                             var item = RequestItem.Where(p => ItemHandler.IsShield(p.ID)).OrderByDescending(p => p.Level).FirstOrDefault();
  132.                                                                             ItemsToAdd.Add(item.ID);
  133.                                                                             break;
  134.                                                                         }
  135.                                                                     case 3:
  136.                                                                         {
  137.                                                                             var item = RequestItem.Where(p => ItemHandler.IsTwoHand(p.ID) && !ItemHandler.IsBow(p.ID)).OrderByDescending(p => p.Level).FirstOrDefault();
  138.                                                                             ItemsToAdd.Add(item.ID);
  139.                                                                             break;
  140.                                                                         }
  141.                                                                 }
  142.                                                                 break;
  143.                                                             }
  144.                                                         #endregion
  145.                                                         #region Archer
  146.                                                         case 40:
  147.                                                         case 41:
  148.                                                         case 42:
  149.                                                         case 43:
  150.                                                         case 44:
  151.                                                         case 45:
  152.                                                             {
  153.                                                                 RequestItem = Items.Where(p => ItemHandler.GetPositionFromID(p.ID) == POSs[x] && p.ID % 10 == 9 && (ItemHandler.IsBow(p.ID) || ItemHandler.IsKnife(p.ID)) && ItemHandler.EquipPassLvlReq(p, client) && ItemHandler.EquipPassJobReq(p, client)).OrderByDescending(p => p.Level).ToList();
  154.                                                                 switch (new Random().Next(1, 3))
  155.                                                                 {
  156.                                                                     case 2:
  157.                                                                         {
  158.                                                                             var item = RequestItem.Where(p => ItemHandler.IsBow(p.ID)).OrderByDescending(p => p.Level).FirstOrDefault();
  159.                                                                             ItemsToAdd.Add(item.ID);
  160.                                                                             break;
  161.                                                                         }
  162.                                                                     case 3:
  163.                                                                         {
  164.                                                                             var item = RequestItem.Where(p => ItemHandler.IsKnife(p.ID)).OrderByDescending(p => p.Level).FirstOrDefault();
  165.                                                                             ItemsToAdd.Add(item.ID);
  166.                                                                             break;
  167.                                                                         }
  168.                                                                 }
  169.                                                                 break;
  170.                                                             }
  171.                                                         #endregion
  172.                                                         #region Ninja
  173.                                                         case 50:
  174.                                                         case 51:
  175.                                                         case 52:
  176.                                                         case 53:
  177.                                                         case 54:
  178.                                                         case 55:
  179.                                                             {
  180.                                                                 RequestItem = Items.Where(p => ItemHandler.GetPositionFromID(p.ID) == POSs[x] && p.ID % 10 == 9 && ItemHandler.IsKatana(p.ID) && ItemHandler.EquipPassLvlReq(p, client) && ItemHandler.EquipPassJobReq(p, client)).ToList();
  181.                                                                 var item = RequestItem.OrderByDescending(p => p.Level).FirstOrDefault();
  182.                                                                 ItemsToAdd.Add(item.ID);
  183.                                                                 break;
  184.                                                             }
  185.                                                         #endregion
  186.                                                         #region Monk
  187.                                                         case 60:
  188.                                                         case 61:
  189.                                                         case 62:
  190.                                                         case 63:
  191.                                                         case 64:
  192.                                                         case 65:
  193.                                                             {
  194.                                                                 RequestItem = Items.Where(p => ItemHandler.GetPositionFromID(p.ID) == POSs[x] && p.ID % 10 == 9 && (ItemHandler.IsBeads(p.ID) && ItemHandler.Isweapons1Hand(p.ID)) && ItemHandler.EquipPassLvlReq(p, client) && ItemHandler.EquipPassJobReq(p, client)).OrderByDescending(p => p.Level).ToList();
  195.                                                                 var item = RequestItem.Where(p => ItemHandler.IsBeads(p.ID)).OrderByDescending(p => p.Level).FirstOrDefault();
  196.                                                                 ItemsToAdd.Add(item.ID);
  197.                                                                 break;
  198.                                                             }
  199.                                                         #endregion
  200.                                                         #region Pirate
  201.                                                         case 70:
  202.                                                         case 71:
  203.                                                         case 72:
  204.                                                         case 73:
  205.                                                         case 74:
  206.                                                         case 75:
  207.                                                             {
  208.                                                                 RequestItem = Items.Where(p => ItemHandler.GetPositionFromID(p.ID) == POSs[x] && p.ID % 10 == 9 && (ItemHandler.IsRapier(p.ID) || ItemHandler.IsPistol(p.ID)) && ItemHandler.EquipPassLvlReq(p, client) && ItemHandler.EquipPassJobReq(p, client)).OrderByDescending(p => p.Level).ToList();
  209.                                                                 switch (new Random().Next(1, 3))
  210.                                                                 {
  211.                                                                     case 2:
  212.                                                                         {
  213.                                                                             var item = RequestItem.Where(p => ItemHandler.IsRapier(p.ID)).OrderByDescending(p => p.Level).FirstOrDefault();
  214.                                                                             ItemsToAdd.Add(item.ID);
  215.                                                                             break;
  216.                                                                         }
  217.                                                                     case 3:
  218.                                                                         {
  219.                                                                             var item = RequestItem.Where(p => ItemHandler.IsPistol(p.ID)).OrderByDescending(p => p.Level).FirstOrDefault();
  220.                                                                             ItemsToAdd.Add(item.ID);
  221.                                                                             break;
  222.                                                                         }
  223.                                                                 }
  224.                                                                 break;
  225.                                                             }
  226.                                                         #endregion
  227.                                                         #region LeeLong
  228.                                                         case 80:
  229.                                                         case 81:
  230.                                                         case 82:
  231.                                                         case 83:
  232.                                                         case 84:
  233.                                                         case 85:
  234.                                                             {
  235.                                                                 RequestItem = Items.Where(p => ItemHandler.GetPositionFromID(p.ID) == POSs[x] && p.ID % 10 == 9 && (ItemHandler.IsNunchaku(p.ID) && ItemHandler.Isweapons1Hand(p.ID)) && ItemHandler.EquipPassLvlReq(p, client) && ItemHandler.EquipPassJobReq(p, client)).OrderByDescending(p => p.Level).ToList();
  236.                                                                 var item = RequestItem.Where(p => ItemHandler.IsNunchaku(p.ID)).OrderByDescending(p => p.Level).FirstOrDefault();
  237.                                                                 ItemsToAdd.Add(item.ID);
  238.                                                                 break;
  239.                                                             }
  240.                                                         #endregion
  241.                                                         default:
  242.                                                             {
  243.                                                                 RequestItem = Items.Where(p => ItemHandler.GetPositionFromID(p.ID) == POSs[x] && p.ID % 10 == 9 && (ItemHandler.IsHossu(p.ID) || ItemHandler.IsBacksword(p.ID)) && ItemHandler.EquipPassLvlReq(p, client) && ItemHandler.EquipPassJobReq(p, client)).OrderByDescending(p => p.Level).ToList();
  244.                                                                 switch (new Random().Next(1, 3))
  245.                                                                 {
  246.                                                                     case 2:
  247.                                                                         {
  248.                                                                             var item = RequestItem.Where(p => ItemHandler.IsHossu(p.ID)).OrderByDescending(p => p.Level).FirstOrDefault();
  249.                                                                             ItemsToAdd.Add(item.ID);
  250.                                                                             break;
  251.                                                                         }
  252.                                                                     case 3:
  253.                                                                         {
  254.                                                                             var item = RequestItem.Where(p => ItemHandler.IsBacksword(p.ID)).OrderByDescending(p => p.Level).FirstOrDefault();
  255.                                                                             ItemsToAdd.Add(item.ID);
  256.                                                                             break;
  257.                                                                         }
  258.                                                                 }
  259.                                                                 break;
  260.                                                             }
  261.                                                     }
  262.                                                 }*/
  263.                                                 else
  264.                                                 {
  265.                                                     var RequestItem = Items.Where(p => ItemHandler.GetPositionFromID(p.ID) == POSs[x] && p.ID % 10 == 9 && ItemHandler.EquipPassLvlReq(p, client) && ItemHandler.EquipPassJobReq(p, client)).OrderByDescending(p => p.Level).ToArray();
  266.                                                     ItemsToAdd.Add(RequestItem[0].ID);
  267.                                                 }
  268.                                             }
  269.                                             #endregion
  270.                                             client.Player.ConquerPoints -= Amount;
  271.                                             #region AddingItems
  272.                                             for (int x = 0; x < ItemsToAdd.Count; x++)
  273.                                             {
  274.                                                 switch (ItemHandler.GetPositionFromID(ItemsToAdd[x]))
  275.                                                 {
  276.                                                     case ItemHandler.Positions.LeftAccessory:
  277.                                                     case ItemHandler.Positions.RightAccessory:
  278.                                                     case ItemHandler.Positions.Garment:
  279.                                                     case ItemHandler.Positions.SteedArmor:
  280.                                                         {
  281.                                                             client.Inventory.Add(ItemsToAdd[x], 0, 0, 1, Enums.Gem.NoSocket, Enums.Gem.NoSocket);
  282.                                                             break;
  283.                                                         }
  284.                                                     case ItemHandler.Positions.SteedTalisman:
  285.                                                         {
  286.                                                             client.Inventory.Add(ItemsToAdd[x], 12, 0, 1, Enums.Gem.NoSocket, Enums.Gem.NoSocket);
  287.                                                             break;
  288.                                                         }
  289.                                                     case ItemHandler.Positions.AttackTalisman:
  290.                                                         {
  291.                                                             client.Inventory.Add(ItemsToAdd[x], 12, 255, 1, Enums.Gem.SuperThunderGem, Enums.Gem.SuperThunderGem);
  292.                                                             break;
  293.                                                         }
  294.                                                     case ItemHandler.Positions.Steed:
  295.                                                         {
  296.                                                             uint[] R = new uint[5] { 187, 62, 148, 147, 142 };
  297.                                                             uint[] G = new uint[5] { 135, 63, 156, 134, 39 };
  298.                                                             uint[] B = new uint[5] { 201, 184, 137, 122, 46 };
  299.                                                             int Rand = new FastRandom().Next(0, R.Length);
  300.                                                             MsgItemInfo item = new MsgItemInfo(true);
  301.                                                             item.ID = 300000;
  302.                                                             item.Plus = 6;
  303.                                                             item.Durability = item.MaximDurability = Database.ConquerItemInformation.BaseInformations[item.ID].Durability;
  304.                                                             item.SocketProgress = (uint)(B[Rand] | (G[Rand] << 8) | (R[Rand] << 16));
  305.                                                             client.Inventory.Add(item, Game.Enums.ItemUse.CreateAndAdd);
  306.                                                             break;
  307.                                                         }
  308.                                                     case ItemHandler.Positions.DefenceTalisman:
  309.                                                         {
  310.                                                             client.Inventory.Add(ItemsToAdd[x], 12, 255, 1, Enums.Gem.SuperGloryGem, Enums.Gem.SuperGloryGem);
  311.                                                             break;
  312.                                                         }
  313.                                                     case ItemHandler.Positions.Wing:
  314.                                                         {
  315.                                                             client.Inventory.Add(ItemsToAdd[x], 12, 255, 1, Enums.Gem.SuperThunderGem, Enums.Gem.SuperGloryGem);
  316.                                                             break;
  317.                                                         }
  318.                                                     case ItemHandler.Positions.Head:
  319.                                                     case ItemHandler.Positions.Necklace:
  320.                                                     case ItemHandler.Positions.Ring:
  321.                                                     case ItemHandler.Positions.Boots:
  322.                                                     case ItemHandler.Positions.Armor:
  323.                                                     case ItemHandler.Positions.Right:
  324.                                                         {
  325.                                                             switch (client.Player.Class)
  326.                                                             {
  327.                                                                 case 100:
  328.                                                                 case 101:
  329.                                                                 case 132:
  330.                                                                 case 133:
  331.                                                                 case 134:
  332.                                                                 case 135:
  333.                                                                     {
  334.                                                                         client.Inventory.Add(ItemsToAdd[x], 12, 255, 7, Enums.Gem.SuperPhoenixGem, Enums.Gem.SuperPhoenixGem);
  335.                                                                         break;
  336.                                                                     }
  337.                                                                 default:
  338.                                                                     {
  339.                                                                         client.Inventory.Add(ItemsToAdd[x], 12, 255, 7, Enums.Gem.SuperDragonGem, Enums.Gem.SuperDragonGem);
  340.                                                                         break;
  341.                                                                     }
  342.                                                             }
  343.                                                             break;
  344.                                                         }
  345.                                                     case ItemHandler.Positions.Left:
  346.                                                         switch (client.Player.Class)
  347.                                                             {
  348.                                                                 case 100:
  349.                                                                 case 101:
  350.                                                                 case 132:
  351.                                                                 case 133:
  352.                                                                 case 134:
  353.                                                                 case 135:
  354.                                                                     {
  355.                                                                         client.Inventory.Add(ItemsToAdd[x], 12, 255, 7, Enums.Gem.NoSocket, Enums.Gem.NoSocket);
  356.                                                                         break;
  357.                                                                     }
  358.                                                                 default:
  359.                                                                     {
  360.                                                                         client.Inventory.Add(ItemsToAdd[x], 12, 255, 7, Enums.Gem.SuperDragonGem, Enums.Gem.SuperDragonGem);
  361.                                                                         break;
  362.                                                                     }
  363.                                                             }
  364.                                                             break;
  365.                                                 }
  366.                                             }
  367.                                             ItemsToAdd.Clear();
  368.                                             #endregion
  369.                                         }
  370.                                         else
  371.                                         {
  372.                                             dialog.Text("Sorry, you don't have "+Amount+" Cps.");
  373.                                             dialog.Option("Sorry.", 255);
  374.                                             dialog.Send();
  375.                                         }
  376.                                         break;
  377.                                     }
  378.                             }
  379.                             break;
  380.                         }
  381.                     #endregion
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement