Player
This page describes the player API
Get players
playerList()
Retrieves all online player IDs.
Spawn
playerSpawn(player)
Spawns the player.
oak.event('playerConnect', async pid => {
console.log('[info] player connected', pid)
oak.playerPositionSet(pid, [-1774.59301758, -4.88487052917, -2.40491962433])
oak.playerHealthSet(pid, 200)
oak.playerSpawn(pid)
})Despawn
playerDespawn(player)
Removes the player from the map.
oak.cmd('spectator', async pid => {
oak.playerDespawn(pid)
})Invalid
playerInvalid(player)
Checks whether the player ID is invalid.
oak.cmd('respawn', async pid => {
if (await oak.playerInvalid(pid)) {
oak.log('Not happy ;1')
return
}
oak.playerDespawn(pid)
})Kick
playerKick(player, string)
Kicks the player from the game.
oak.cmd('kickme', async pid => {
oak.playerKick(pid, 'You were a bad boy!')
})Kill
playerKill(player)
Force kills the player.
oak.cmd('suicide', async pid => {
oak.playerKill(pid)
})Play anim
playerDespawn(player, string)
Removes the player from the map.
// TODOSet model
playerModelSet(player, string)
Changes the player model.
Remarks
You can use models from the following listing.
Arguments
Type
Description
player
Player ID
string
Model name
Returns
0 if successful, -1 if failed
oak.cmd('tommy', async pid => {
oak.playerModelSet(pid, 'Tommy')
})Set health
playerHealthSet(player, float)
Sets the player health.
Remarks
At the moment, this method expects a raw value the game uses to specify health. Maximum health is based off of the mission data, so some maps use value 200, while others can be over 600.
We will make sure health is uniform on the server-side, but right now, you need to set health to 200 if you want full health on freeride map.
Arguments
Type
Description
player
Player ID
float
Health value
Returns
0 if successful, -1 if failed
oak.cmd('healme', async pid => {
oak.playerHealthSet(pid, 200)
})Set position
playerPositionSet(player, vec3)
Sets the player position.
oak.cmd('setpos', async (pid, _x, _y, _z) => {
const x = parseFloat(_x)
const y = parseFloat(_y)
const z = parseFloat(_z)
oak.playerPositionSet(pid, [x, y, z])
})Set direction
playerDirectionSet(player, vec3)
Sets the player's forward direction vector.
oak.cmd('setdir', async (pid, _x, _y, _z) => {
const x = parseFloat(_x)
const y = parseFloat(_y)
const z = parseFloat(_z)
oak.playerDirectionSet(pid, [x, y, z])
})Set heading
playerHeadingSet(player, float)
Sets the player heading angle.
oak.cmd('rotateto', async (pid, angle) => {
oak.playerHeadingSet(pid, parseFloat(angle))
})Get name
playerNameGet(player)
Retrieves the player name.
oak.cmd('alert', async pid => {
const name = await oak.playerNameGet(pid)
oak.chatBroadcast('Guess who is back: ' + name)
})Get model
playerModelGet(player)
Retrieves the player's model.
Get health
playerHealthGet(player)
Retrieves the current player's health.
Remarks
At the moment, this method returns a raw value the game uses to specify health. Maximum health is based off of the mission data, so some maps use value 200, while others can be over 600.
We will make sure health is uniform on the server-side, but right now, you need to be aware that full health differs per mission and freeride uses value of 200.
Arguments
Type
Description
player
Player ID
Returns
float player health
oak.cmd('printhp', async pid => {
const hp = parseFloat(await oak.playerHealthGet(pid))
oak.chatSend('Current HP: ' + hp)
})Get heading
playerHeadingGet(player)
Retrieves the player's heading angle.
// TODOGet position
playerPositionGet(player)
Retrieves the player position.
oak.cmd('getpos', async pid => {
const pos = await oak.playerPositionGet(pid)
oak.chatSend(pid, 'My position: ' + pos)
})Get direction
playerDirectionGet(player)
Retrieves the player direction.
// TODOVisibility
There are several visibility options you can set for the player:
Name
Description
VISIBILITY_NAME
Player nameplate visibility
VISIBILITY_ICON
Player's blip visibility on the map
Get visibility
playerVisibilityGet(player, visibility_type)
Retrieves the current player's visibility.
// TODOSet visibility
playerVisibilitySet(player, visibility_type, int)
Sets the current player's visibility setting.
Last updated
Was this helpful?