This commit is contained in:
2025-11-25 21:07:35 -06:00
parent 502d51831b
commit 4887ef3db9
6 changed files with 123 additions and 28 deletions

117
tests/steam.ce Normal file
View File

@@ -0,0 +1,117 @@
var steam = use('steam')
log.console("STEAM!")
// Test Steam functionality
if (steam && steam.user) {
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())
// Request user stats for achievements
steam.stats.request()
// 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, 1)
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")
}
// Display achievement information
log.console("\n=== ACHIEVEMENTS ===")
var achievementCount = steam.achievement.count()
if (achievementCount > 0) {
log.console("Total achievements: " + 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 = new Date(unlockInfo.unlock_time * 1000)
log.console(" ✓ " + (displayName || achName) + " - Unlocked " + unlockDate.toLocaleDateString())
} 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)
}
}
}
}
// 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)")
}
} else {
log.console("No achievements found for this game")
}
// 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())
// Display user level and badge info if available
var userLevel = steam.user.level()
if (userLevel > 0) {
log.console("Steam level: " + userLevel)
}
}
}