EnsureInventory(); var items = Inventory.GetFloorItems() .Named("Plant Seed") .GroupBy(seed => (seed.Data as MapData)?["rarity"] as string) // Gruppiert nach rarity .Where(group => int.TryParse(group.Key, out int r) && r >= 0 && r <= 11) // Prüft, ob rarity zwischen 0-11 liegt .SelectMany(group => group.Take(150)) // Nimmt 10 aus jeder Gruppe .ToList(); Send(Out.TradeAddItems, items.Select(x => (int)x.ItemId).ToList());