142 lines
6.1 KiB
Plaintext
142 lines
6.1 KiB
Plaintext
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}`)
|
|
}
|
|
}
|
|
}
|