var steam = use('steam') var time = use('time') return { test_steam_login_status: function() { var isLoggedOn = steam.user.logged_on() log.console("Steam user logged on: " + isLoggedOn) if (isLoggedOn) { var userName = steam.friends.name() var steamId = steam.user.steam_id() var appId = steam.app.id() log.console("Steam user name: '" + userName + "'") log.console("Steam user ID: '" + steamId.toString() + "'") log.console("Steam app ID: " + appId.toString()) } }, test_steam_stats_request: function() { if (steam.user.logged_on()) { // Request user stats for achievements steam.stats.request() } }, test_steam_friends: function() { if (!steam.user.logged_on()) return; // Display online friends log.console("\n=== ONLINE FRIENDS ===") var friendCount = steam.friends.count(1) // EFriendFlagImmediate = 1 if (friendCount > 0) { for (var i = 0; i < friendCount; i++) { var friend = steam.friends.get_friend(i) if (friend) { var friendName = steam.friends.get_friend_persona_name(friend) var friendState = steam.friends.get_friend_persona_state(friend) // Only show online friends (state > 0) if (friendState > 0) { var stateNames = ["Offline", "Online", "Busy", "Away", "Snooze", "Looking to Trade", "Looking to Play"] var stateName = stateNames[friendState] || "Unknown" log.console(" " + friendName + " - " + stateName) // Check if friend is playing a game var gameInfo = steam.friends.get_friend_game_played(friend) if (gameInfo && gameInfo.game_id) { var gameName = steam.friends.get_friend_rich_presence(friend, "steam_display") if (gameName) { log.console(" Playing: " + gameName) } else { log.console(" Playing game ID: " + gameInfo.game_id) } } } } } } else { log.console(" No friends found or friends list not loaded yet") } }, test_steam_achievements: function() { if (!steam.user.logged_on()) return; // Display achievement information log.console("\n=== ACHIEVEMENTS ===") var achievementCount = steam.achievement.count() if (achievementCount > 0) { log.console("Total achievements: " + text(achievementCount)) for (var i = 0; i < achievementCount; i++) { var achName = steam.achievement.name(i) if (achName) { var achieved = steam.achievement.get(achName) var displayName = steam.achievement.get_display_attribute(achName, "name") var description = steam.achievement.get_display_attribute(achName, "desc") if (achieved) { var unlockInfo = steam.achievement.get_and_unlock_time(achName) if (unlockInfo) { var unlockDate = time.text(unlockInfo.unlock_time * 1000) log.console(" ✓ " + (displayName || achName) + " - Unlocked " + unlockDate) } else { log.console(" ✓ " + (displayName || achName) + " - Unlocked") } } else { // Check for progress on this achievement var progressInt = steam.achievement.get_progress_limits_int(achName) var progressFloat = steam.achievement.get_progress_limits_float(achName) var progressText = "" if (progressInt && progressInt.max_progress > 0) { progressText = " (Progress: " + progressInt.min_progress + "/" + progressInt.max_progress + ")" } else if (progressFloat && progressFloat.max_progress > 0) { progressText = " (Progress: " + progressFloat.min_progress.toFixed(1) + "/" + progressFloat.max_progress.toFixed(1) + ")" } log.console(" ✗ " + (displayName || achName) + progressText) if (description) { log.console(" " + description) } } } } } else { log.console("No achievements found for this game") } }, test_steam_global_stats: function() { if (!steam.user.logged_on()) return; // Show global achievement stats if available steam.stats.request_global_achievement_percentages() // Get most achieved achievement info var mostAchieved = steam.achievement.get_most_achieved_info() if (mostAchieved) { log.console("\nMost achieved: " + mostAchieved.name + " (" + mostAchieved.percent.toFixed(1) + "% of players)") } }, test_steam_security: function() { if (!steam.user.logged_on()) return; // Display user phone/security status log.console("\n=== ACCOUNT SECURITY ===") log.console(`Phone verified: ${steam.user.is_phone_verified()}`) log.console(`Two-factor enabled: ${steam.user.is_two_factor_enabled()}`) log.console(`Behind NAT: ${steam.user.is_behind_nat()}`) }, test_steam_level: function() { if (!steam.user.logged_on()) return; // Display user level and badge info if available var userLevel = steam.user.level() if (userLevel > 0) { log.console(`Steam level: ${userLevel}`) } } }