ROS

⚠️ Warning
Some functions might require you to be online.

Functions

find_gamers

Find gamers by activity.

---@param activity_id? integer @ default: 1
---@param lower_limit? number @ default: 0
---@param upper_limit? number @ default: 0
function ros.find_gamers(activity_id?, lower_limit?, upper_limit?): find_gamer_result[]

---@param callback function(find_gamer_result[])
---@param activity_id? integer @ default: 1
---@param lower_limit? number @ default: 0
---@param upper_limit? number @ default: 0
function ros.find_gamers_async(callback, activity_id?, lower_limit?, upper_limit?): nil

find_sessions

Find matchmaking sessions.

---@param available_slots? integer @ default: 1
---@param max_results? integer @ default: 15
function ros.find_sessions(available_slots?, max_results?): find_session_result[]

---@param callback function(find_session_result[])
---@param available_slots? integer @ default: 1
---@param max_results? integer @ default: 15
function ros.find_sessions_async(callback, available_slots?, max_results?): nil

query_session

Query session info by Rockstar ID(s).

---@param rockstar_id integer
function ros.query_session(rockstar_id): query_session_result

---@param rockstar_ids integer[]
function ros.query_session(rockstar_ids): query_session_result[]

---@param rockstar_id integer
---@param callback function(query_session_result)
function ros.query_session_async(rockstar_id, callback): nil

---@param rockstar_ids integer[]
---@param callback function(query_session_result[])
function ros.query_session_async(rockstar_ids, callback): nil

query_stats

Query player stats by hash.

---@param rockstar_id integer
---@param stats integer[]
function ros.query_stats(rockstar_id, stats): query_stats_result[]

---@param rockstar_ids integer[]
---@param stats integer[]
function ros.query_stats(rockstar_ids, stats): table<integer, query_stats_result[]>[]

---@param rockstar_id integer
---@param stats integer[]
---@param callback function(query_stats_result[])
function ros.query_stats_async(rockstar_id, stats, callback)

---@param rockstar_ids integer[]
---@param stats integer[]
---@param callback function(table<integer, query_stats_result[]>[])
function ros.query_stats_async(rockstar_ids, stats, callback)

Types

find_gamer_result

TypeName
stringgsinfo
stringname
integerrid

find_session_result

TypeName
stringmatch_id
stringowner
stringgsinfo
stringattributes

query_session_result

TypeName
integerrid
integergstype
stringgsinfo

query_stats_result

TypeName
integerhash
integer\|numbervalue

Example

local gamers = ros.find_gamers()
for _, gamer in ipairs(gamers) do
  print(gamer.name, gamer.rid)
end

ros.query_session_async(rockstar_id, function(results)
  for _, session in ipairs(results) do
    print(session.gsinfo)
  end
end)

local stats = ros.query_stats(rockstar_id, { joaat('MP0_WALLET_BALANCE'), joaat('MP1_WALLET_BALANCE') })
for _, stat in ipairs(stats) do
  print(stat.hash, stat.value)
end