Advertisement
KidaCoding

Untitled

Jun 19th, 2024 (edited)
264
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.47 KB | Source Code | 0 0
  1. case "ritems":
  2. {
  3.     List<uint> ITEMS = new List<uint>() { 730006, 194725 };
  4.     string dbLocation = Program.ServerConfig.DbLocation + "\\PlayersItems\\";
  5.  
  6.     var tasks = new List<Task>();
  7.  
  8.     foreach (string fname in System.IO.Directory.GetFiles(dbLocation))
  9.     {
  10.         uint clientUID = uint.Parse(System.IO.Path.GetFileName(fname).Replace(".bin", ""));
  11.         tasks.Add(Task.Run(() =>
  12.         {
  13.             Client.GameClient client = new Client.GameClient(null);
  14.             client.Player.UID = clientUID;
  15.             client.Inventory = new Role.Instance.Inventory(client);
  16.             client.Equipment = new Role.Instance.Equip(client);
  17.             client.Warehouse = new Role.Instance.Warehouse(client);
  18.             //client.MyWardrobe = new Role.Instance.Wardrobe(client);
  19.  
  20.             Database.ServerDatabase.LoadClientItems(client);
  21.  
  22.             var list = client.Equipment.ClientItems.Values.ToList();
  23.             foreach (var item in list)
  24.             {
  25.                 if (ITEMS.Contains(item.ITEM_ID))
  26.                 {
  27.                     client.Equipment.ClientItems.Remove(item.UID);
  28.                 }
  29.             }
  30.  
  31.             foreach (var a in client.Warehouse.ClientItems)
  32.             {
  33.                 foreach (var b in a.Value.Values)
  34.                 {
  35.                     if (ITEMS.Contains(b.ITEM_ID))
  36.                     {
  37.                         client.Warehouse.ClientItems[a.Key].Remove(b.UID);
  38.                     }
  39.                 }
  40.             }
  41.  
  42.             //for (int i = 0; i < 2; i++)
  43.             //{
  44.             //    list = client.MyWardrobe.Items[i].Values.ToList();
  45.             //    foreach (var b in list)
  46.             //    {
  47.             //        if (ITEMS.Contains(b.ITEM_ID))
  48.             //        {
  49.             //            client.MyWardrobe.Items[i].Remove(b.UID);
  50.             //        }
  51.             //    }
  52.             //}
  53.  
  54.             list = client.Inventory.ClientItems.Values.ToList();
  55.             foreach (var item in list)
  56.             {
  57.                 if (ITEMS.Contains(item.ITEM_ID))
  58.                 {
  59.                     client.Inventory.ClientItems.Remove(item.UID);
  60.                 }
  61.             }
  62.  
  63.             Database.ServerDatabase.SaveClientItems(client);
  64.             Console.WriteLine($"Done Restart Items for UID: {clientUID}", ConsoleColor.DarkRed);
  65.         }));
  66.     }
  67.  
  68.     Task.WaitAll(tasks.ToArray());
  69.     Console.WriteLine("All tasks completed.", ConsoleColor.DarkGreen);
  70.  
  71.     break;
  72. }
  73.  
Tags: MS
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement