xabbo-scripts/ReadUserProfile.csx
Administrator b6c31a7feb Add 165 scripts from desktop collection + update README
Added scripts from C:\Users\ploet\Desktop\Habbo\Xabbo Scripte:
- 39 KI/Chatbot scripts (ChatGPT, Gemini, Grok, DeepSeek, Ollama)
- Game solvers (Domino, Dodgeball, Obsidian Maze, IceBall)
- Collision avoidance bots (5 versions)
- Plant/breeding automation (12 scripts)
- Trading tools, packet debuggers, room utilities
- Navigation & teleport helpers

Removed: 9 files (3 empty, 2 trivial, 4 cross-duplicates)
Updated README with full categorized index of all 230+ scripts.

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

50 lines
2.4 KiB
C#

using System.Collections.Generic;
using System.Linq;
using System.Text.Json;
bool logProfileGroups = false;
Send(Out["GetExtendedProfileByName"],"CHAT-GPT",false);
OnIntercept(In["ExtendedProfile"], async p => {
try {
var packet = p.Packet;
var profileData = new Dictionary<string, object> {
["UserId"] = packet.ReadInt(), ["Username"] = packet.ReadString(), ["Figure"] = packet.ReadString(),
["Motto"] = packet.ReadString(), ["CreationDate"] = packet.ReadString(), ["AchievementScore"] = packet.ReadInt(),
["FriendCount"] = packet.ReadInt(), ["IsFriend"] = packet.ReadBool(), ["FriendRequestSentByMe"] = packet.ReadBool(),
["IsOnline"] = packet.ReadBool()
};
int groupCount = packet.ReadInt();
profileData["GroupCount"] = groupCount;
if (logProfileGroups) {
profileData["Groups"] = Enumerable.Range(0, groupCount).Select(_ => new Dictionary<string, object> {
["GroupId"] = packet.ReadInt(), ["GroupName"] = packet.ReadString(), ["BadgeCode"] = packet.ReadString(),
["Colour1Hex"] = packet.ReadString(), ["Colour2Hex"] = packet.ReadString(), ["IsFavourite"] = packet.ReadBool(),
["OwnerId"] = packet.ReadInt(), ["HasForum"] = packet.ReadBool()
}).ToList();
} else {
for (int i = 0; i < groupCount; i++) {
packet.ReadInt(); packet.ReadString(); packet.ReadString(); packet.ReadString();
packet.ReadString(); packet.ReadBool(); packet.ReadInt(); packet.ReadBool();
}
}
profileData["LastAccessSecondsAgo"] = packet.ReadInt();
profileData["ProfileVisible"] = packet.ReadBool();
packet.ReadBool();
profileData["FriendshipsCount"] = packet.ReadInt();
profileData["FriendshipsPendingCount"] = packet.ReadInt();
profileData["StarGems"] = packet.ReadInt();
if ((packet.Length - packet.Position) > 0) try { profileData["AllowDirectMail"] = packet.ReadBool(); } catch { }
if ((packet.Length - packet.Position) > 0) try { packet.ReadBool(); } catch { }
p.Block();
Log(JsonSerializer.Serialize(profileData, new JsonSerializerOptions { WriteIndented = true }));
}
catch (IndexOutOfRangeException) { Log("!#!# ERR: Packet structure mismatch\n" + p); }
catch (Exception ex) { Log($"!#!# ERR: {ex.GetType().Name}\n{p}");
}
});
Wait();