xabbo-scripts/Scripts/Room Furni Scanner.csx
Administrator 7a548130a3 Move all scripts into Scripts/ subfolder
Keeps the repo root clean - only README.md visible on landing page.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-16 09:49:37 +01:00

32 lines
1008 B
C#

using System;
using System.Collections.Generic;
using System.Linq;
using Xabbo.Core;
Log("=== Color Puzzle Scanner ===");
Log("Scanning all floor items in the room...");
var furniByName = new Dictionary<string, List<(long Id, int X, int Y, double Z, int State, int Dir)>>();
foreach (IFloorItem item in FloorItems)
{
if (item == null) continue;
string name = item.GetName();
if (!furniByName.ContainsKey(name))
furniByName[name] = new List<(long, int, int, double, int, int)>();
furniByName[name].Add((item.Id, item.Location.X, item.Location.Y, item.Location.Z, item.State, item.Direction));
}
Log($"\nFound {furniByName.Count} unique furni types:\n");
foreach (var kvp in furniByName.OrderByDescending(x => x.Value.Count))
{
Log($"--- {kvp.Key} (x{kvp.Value.Count}) ---");
foreach (var f in kvp.Value.OrderBy(x => x.Y).ThenBy(x => x.X))
{
Log($" ID={f.Id} Pos=({f.X},{f.Y}) Z={f.Z:F2} State={f.State} Dir={f.Dir}");
}
}
Log("\n=== Scan Complete ===");