Advertisement
KidaCoding

Untitled

Dec 3rd, 2024 (edited)
199
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 6.82 KB | Source Code | 0 0
  1.        case "drop":
  2.                         {
  3.                             if (data.Length > 1 && int.TryParse(data[1], out int itemCount) && itemCount >= 0 && itemCount <= ushort.MaxValue)
  4.                             {
  5.                                 int delayInSeconds = data.Length > 2 && int.TryParse(data[2], out int delay) ? delay : 10;
  6.  
  7.                                 string itemName = data.Length > 3 ? data[3].ToLower() : "db";
  8.                                 uint itemID = 0;
  9.                                 bool specialItem = false;
  10.  
  11.                                 if (itemName.Contains("chi"))
  12.                                 {
  13.                                     itemID = 729476;
  14.                                     specialItem = true;
  15.                                 }
  16.                                 if (itemName.Contains("cp"))
  17.                                 {
  18.                                     itemID = 729911;
  19.                                     specialItem = true;
  20.                                 }
  21.                                 if (itemName.Contains("db"))
  22.                                 {
  23.                                     itemID = 1088000;
  24.                                     specialItem = true;
  25.                                 }
  26.                                 else if (itemName.Contains("met"))
  27.                                 {
  28.                                     itemID = 1088001;
  29.                                     specialItem = true;
  30.                                 }
  31.                                 else if (itemName.Contains("stone1"))
  32.                                 {
  33.                                     itemID = 730001;
  34.                                     specialItem = true;
  35.                                 }
  36.                                 else if (itemName.Contains("stone2"))
  37.                                 {
  38.                                     itemID = 730002;
  39.                                     specialItem = true;
  40.                                 }
  41.                                 else if (itemName.Contains("stone3"))
  42.                                 {
  43.                                     itemID = 730003;
  44.                                     specialItem = true;
  45.                                 }
  46.                                 else if (itemName.Contains("stone4"))
  47.                                 {
  48.                                     itemID = 730004;
  49.                                     specialItem = true;
  50.                                 }
  51.                                 else if (itemName.Contains("stone5"))
  52.                                 {
  53.                                     itemID = 730005;
  54.                                     specialItem = true;
  55.                                 }
  56.                                 else if (itemName.Contains("stone6"))
  57.                                 {
  58.                                     itemID = 730006;
  59.                                     specialItem = true;
  60.                                 }
  61.                                 else if (itemName.Contains("stone7"))
  62.                                 {
  63.                                     itemID = 730007;
  64.                                     specialItem = true;
  65.                                 }
  66.                                 else if (itemName.Contains("stone8"))
  67.                                 {
  68.                                     itemID = 730008;
  69.                                     specialItem = true;
  70.                                 }
  71.                                 else if (itemName.Contains("soul"))
  72.                                 {
  73.                                     itemID = 800110;
  74.                                     specialItem = true;
  75.                                 }
  76.  
  77.                                 uint amount = 0;
  78.  
  79.                                 if (data.Length > 4 && uint.TryParse(data[4], out uint parsedAmount))
  80.                                 {
  81.                                     amount = parsedAmount;
  82.                                 }
  83.  
  84.                                 if (specialItem || itemID > 0)
  85.                                 {
  86.                                     using (var rec = new ServerSockets.RecycledPacket())
  87.                                     {
  88.                                         var stream = rec.GetStream();
  89.                                         for (int i = 0; i < itemCount; i++)
  90.                                         {
  91.                                             MsgServer.MsgGameItem item = new MsgServer.MsgGameItem();
  92.  
  93.                                             item.ITEM_ID = itemID;
  94.                                             var DBItem = Database.Server.ItemsBase[itemID];
  95.                                             item.Durability = DBItem.Durability;
  96.                                             item.MaximDurability = DBItem.Durability;
  97.                                             item.Color = Role.Flags.Color.Red;
  98.                                             ushort dropX = (ushort)Program.GetRandom.Next(client.Player.X - 20, client.Player.X + 21);
  99.                                             ushort dropY = (ushort)Program.GetRandom.Next(client.Player.Y - 20, client.Player.Y + 21);
  100.  
  101.                                             if (client.Map.AddGroundItem(ref dropX, ref dropY))
  102.                                             {
  103.                                                 MsgFloorItem.MsgItem.ItemType itemType = (itemName.Contains("cp"))
  104.                                                     ? MsgFloorItem.MsgItem.ItemType.Cps
  105.                                                     : MsgFloorItem.MsgItem.ItemType.Item;
  106.  
  107.                                                 MsgFloorItem.MsgItem dropItem = new MsgFloorItem.MsgItem(item, dropX, dropY, itemType, amount, client.Player.DynamicID, client.Player.Map, client.Player.UID, false, client.Map, delayInSeconds);
  108.  
  109.                                                 if (client.Map.EnqueueItem(dropItem))
  110.                                                 {
  111.                                                     dropItem.SendAll(stream, MsgFloorItem.MsgDropID.Visible);
  112.                                                 }
  113.                                             }
  114.                                         }
  115.                                     }
  116.                                 }
  117.                                 else
  118.                                 {
  119.                                     client.SendSysMesage("Item type not recognized. Please use 'db', 'met','chi', 'stone', or 'soul'.");
  120.                                 }
  121.                             }
  122.                             else
  123.                             {
  124.                                 client.SendSysMesage("Please enter a valid number of items.");
  125.                             }
  126.                             break;
  127.                         }
Tags: MS
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement