bool isFirstIntercept = true; var keyMap = new Dictionary() { {"-100", "@id"}, {"-101", "@class_id"}, {"-102", "@height"}, {"-110", "@state"}, {"-120", "@position.x"}, {"-121", "@position.y"}, {"-122", "@rotation"}, {"-123", "@altitude"}, {"-124", "@is_invisible"}, {"-129", "@type"}, {"-130", "@is_stackable"}, {"-131", "@can_stand_on"}, {"-132", "@can_sit_on"}, {"-133", "@can_lay_on"}, {"-140", "@dimensions.x"}, {"-141", "@dimensions.y"}, {"-180", "@owner_id"}, {"-190", "@wallitem_offset"}, {"-200", "@index"}, {"-205", "@type"}, {"-206", "@gender"}, {"-210", "@level"}, {"-211", "@achievement_score"}, {"-220", "@is_hc"}, {"-221", "@has_rights"}, {"-222", "@is_group_admin"}, {"-223", "@is_owner"}, {"-230", "@position.x"}, {"-231", "@position.y"}, {"-232", "@direction"}, {"-233", "@altitude"}, {"-237", "@team.score"}, {"-238", "@team.color"}, {"-239", "@team.type"}, {"-240", "@handitem"}, {"-241", "@effect"}, {"-242", "@is_frozen"}, {"-243", "@is_muted"}, {"-250", "@favourite_group_id"}, {"-260", "@dance"}, {"-261", "@sign"}, {"-262", "@is_idle"}, {"-266", "@room_entry.method"}, {"-267", "@room_entry.teleport_id"}, {"-270", "@user_id"}, {"-271", "@pet_id"}, {"-272", "@bot_id"}, {"-280", "@pet_owner_id"}, {"-300", "@furni_count"}, {"-301", "@user_count"}, {"-310", "@wired_timer"}, {"-320", "@teams.red.score"}, {"-321", "@teams.green.score"}, {"-322", "@teams.blue.score"}, {"-323", "@teams.yellow.score"}, {"-330", "@teams.red.size"}, {"-331", "@teams.green.size"}, {"-332", "@teams.blue.size"}, {"-333", "@teams.yellow.size"}, {"-380", "@room_id"}, {"-381", "@group_id"}, {"-400", "@selector_furni_count"}, {"-401", "@selector_user_count"}, {"-410", "@signal_furni_count"}, {"-411", "@signal_user_count"}, {"-420", "@event.signal.antenna_id"}, {"-450", "@event.chat.type"}, {"-451", "@event.chat.style"}, {"-460", "@event.variable_update.change_type"}, {"-461", "@event.variable_update.old_value"}, {"-462", "@event.variable_update.new_value"}, {"-463", "@event.variable_update.difference"}, {"-1000", "@current_time"}, {"-1001", "@current_time.milliseconds_of_seconds"}, {"-1002", "@current_time.seconds_of_minute"}, {"-1003", "@current_time.minute_of_hour"}, {"-1004", "@current_time.hour_of_day"}, {"-1005", "@current_time.day_of_week"}, {"-1006", "@current_time.day_of_month"}, {"-1007", "@current_time.day_of_year"}, {"-1008", "@current_time.week_of_year"}, {"-1009", "@current_time.month_of_year"}, {"-1010", "@current_time.year"}, {"~100", "~background_color.hue"}, {"~101", "~background_color.saturation"}, {"~102", "~background_color.lightness"}, {"~103", "~teleport.target_id"}, {"~110", "~area_hide.root_x"}, {"~111", "~area_hide.root_y"}, {"~112", "~area_hide.width"}, {"~113", "~area_hide.length"}, {"~114", "~area_hide.is_invisible_furni"}, {"~115", "~area_hide.hiding_wallitems"}, {"~116", "~area_hide.inverted"}, {"~120", "~clock.state"}, {"~121", "~clock.pulse_count"}, {"~122", "~clock.is_game_aware"}, {"~400", "~pet.level"}, {"~401", "~pet.experience"}, {"~402", "~pet.energy"}, {"~403", "~pet.happiness"}, {"~410", "~pet.max_level"}, {"~411", "~pet.experience_required"}, {"~412", "~pet.max_energy"}, {"~413", "~pet.max_happiness"}, {"~420", "~pet.scratches"}, {"~430", "~pet.owner_id"}, {"~431", "~pet.creation_time"}, {"~500", "~horse.has_saddle"}, {"~501", "~horse.is_riding"}, {"~502", "~horse.controller_user_id"}, {"~600", "~plant.rarity_level"}, {"~601", "~plant.shape"}, {"~602", "~plant.color"}, {"~610", "~plant.can_breed"}, {"~611", "~plant.can_harvest"}, {"~612", "~plant.can_revive"}, {"~613", "~plant.is_dead"}, {"~614", "~plant.is_growing"}, {"~615", "~plant.remaining_wellbeing_seconds"}, {"~616", "~plant.remaining_growing_seconds"}, {"~617", "~plant.max_wellbeing_seconds"} }; OnIntercept(In["WiredVariablesForObject"], e => { if (!isFirstIntercept) { Log("----------------------------------------"); } else { isFirstIntercept = false; } int param1 = e.Packet.ReadInt(); int param2 = e.Packet.ReadInt(); int itemCount = e.Packet.ReadInt(); Log($"Type: {(param1 == 0 ? "Furni" : "User")} | ID/Index: {param2}"); for (int i = 0; i < itemCount; i++) { string key = e.Packet.ReadString(); int value = e.Packet.ReadInt(); string varName = keyMap.ContainsKey(key) ? keyMap[key] : $"Unknown ({key})"; Log($"{varName}: {value}"); } }); OnIntercept(Out["ClickFurni"], e => { int furniId = e.Packet.ReadInt(); Send(Out["WiredGetVariablesForObject"], 0, furniId); Log($"Requested variables for furni ID: {furniId}"); }); OnIntercept(Out["GetSelectedBadges"], e => { int userId = e.Packet.ReadInt(); var user = Room.Users.FirstOrDefault(u => u.Id == userId); if (user != null) { int userIndex = user.Index; Send(Out["WiredGetVariablesForObject"], 1, userIndex); Log($"Requested variables for user ID: {userId} (Index: {userIndex})"); } }); Log("Variable capture script started. Click on furni or users to see their variables."); Wait();