Hud
Contains functions to customize and control the Heads-Up Display (HUD).
Functions
getItemByName(name)
Returns the Hud item with the specified name.
This method can only be used in Hud scripts.
Parameters
- name — Name of the item.
getItem(id)
Returns the Hud item with the specified ID.
This method can only be used in Hud scripts.
Parameters
- id — Name of the item.
delete(id)
Deletes the Hud item specified by ID.
This method can only be used in Hud scripts.
Parameters
- id — ID of the target item.
Example
Delete a button.
-- ... button created and elsewhere
Hud.delete(buttonId)
clear()
Deletes all items in the Hud canvas.
This method can only be used in Hud scripts.
Example
Clear the canvas with all the Hud items.
-- ... Hud items created elsewhere
Hud.clear()
Leaderboard Functions
leaderboard.setScore(target, score)
Sets the score for the player specified by client ID.
This method can only be used in Entity scripts.
Parameters
- target — Either the target Player, client ID of the target player.
- score — Value of the score.
Example
Set an initial score of 100.
function onStart()
local player = Players.getRandomPlayer()
Hud.leaderboard.show(player)
Hud.leaderboard.setScore(player, 100)
end
leaderboard.removeScore(target)
Removes the score in the leaderboard for the player specified by client ID.
This method can only be used in Entity scripts.
Parameters
- target — Either the target Player, client ID of the target player.
Example
Remove a player from the leaderboard after 2 seconds.
function onStart()
local player = Players.getRandomPlayer()
Hud.leaderboard.setScore(player, 100)
Hud.leaderboard.show(player)
Task.wait(2)
Hud.leaderboard.removeScore(player)
end
leaderboard.reset()
Removes all scores from the leaderboard.
This method can only be used in Entity scripts.
Example
Reset the leaderboard after 2 seconds.
function onStart()
local player = Players.getRandomPlayer()
Hud.leaderboard.setScore(player, 100)
Hud.leaderboard.show(player)
Task.wait(2)
Hud.leaderboard.reset()
end
leaderboard.setAscending()
Switches leaerboard sorting to ascending.
This method can only be used in Entity scripts.
Example
Set the leaderboard to an ascending sort at the start (lower scores will show first).
function onStart()
Hud.leaderboard.setAscending()
end
leaderboard.setDescending()
Switches leaerboard sorting to descending.
This method can only be used in Entity scripts.
Example
Set the leaderboard to a descending sort at the start (higher scores will show first).
function onStart()
Hud.leaderboard.setDescending()
end
leaderboard.show(target)
Shows the leaderboard for a specific player.
This method can only be used in Entity scripts.
Parameters
- target — Either the target Player, client ID of the target player.
Example
Show the leaderboard.
function onStart()
local player = Players.getRandomPlayer()
Hud.leaderboard.setScore(player, 100)
Hud.leaderboard.show(player)
end
leaderboard.hide(target)
Hides the leaderboard for a specific player.
This method can only be used in Entity scripts.
Parameters
- target — Either the target Player, client ID of the target player.
Example
Hide the leaderboard after 2 seconds.
function onStart()
local player = Players.getRandomPlayer()
Hud.leaderboard.setScore(player, 100)
Hud.leaderboard.show(player)
Task.wait(2)
Hud.leaderboard.hide(player)
end
Timer Functions
timer.show(target)
Shows the timer for a specific player.
This method can only be used in Entity scripts.
Parameters
- target — Either the target Player, client ID of the target player.
Example
Show the timer.
function onStart()
local player = Players.getRandomPlayer()
Hud.timer.show(player)
end
timer.hide(target)
Hides the timer for a specific player.
This method can only be used in Entity scripts.
Parameters
- target — Either the target Player, client ID of the target player.
Example
Hide the timer after 2 seconds.
function onStart()
local player = Players.getRandomPlayer()
Hud.timer.show(player)
Task.wait(2)
Hud.timer.hide(player)
end
timer.startCountdown(duration, callback)
Starts the timer countdown. If a callback function is specified, it will be called when the timer reaches zero.
This method can only be used in Entity scripts.
Parameters
- duration — Duration of the countdown (in seconds).
- callback — Function that should be called when the timer reaches zero.
Example
Set the countdown to 5 seconds and show the leaderboard when it reaches zero.
function onStart()
local player = Players.getRandomPlayer()
Hud.leaderboard.setScore(player, 100)
Hud.leaderboard.show(player)
Hud.timer.show(player)
Hud.timer.startCountdown(5, function() Hud.leaderboard.hide(player) end)
end
timer.startCountup()
Starts the timer counting up.
This method can only be used in Entity scripts.
Example
Start the countup at the start.
function onStart()
local player = Players.getRandomPlayer()
Hud.timer.show(player)
Hud.timer.startCountup()
end
timer.stop()
Stops the timer for the specified player.
This method can only be used in Entity scripts.
Parameters
- id — Timer to stop.
- target — Player clientId or reference (-1 to stop for all Players).
timer.pause()
Pauses the timer for the specified player. Calling start on this timer will make it continue from its last value.
This method can only be used in Entity scripts.
Parameters
- id — Timer to pause.
- target — Player clientId or reference (-1 to pause for all Players).
timer.resume()
Resumes paused timer. This will do nothing if the timer is not running or stopped.
This method can only be used in Entity scripts.
Example
Pause the timer after 1 second, wait 2 seconds, and resumes the timer.
function onStart()
local player = Players.getRandomPlayer()
Hud.timer.startCountup()
Hud.timer.show(player)
Task.wait(1)
Hud.timer.pause()
Task.wait(2)
Hud.timer.resume()
end
timer.setCompleteCallback(callback)
Sets a callback function that will be called when the timer reaches zero.
This method can only be used in Entity scripts.
Parameters
- callback — Function that should be called when the timer reaches zero.
Example
Make a robot chase the player when the timer reaches zero.
local function chasePlayer()
while true do
Movement.moveToPlayer(AsyncMode.Continue)
Task.yield()
end
end
function onStart()
local player = Players.getRandomPlayer()
Hud.timer.startCountdown(5, nil)
Hud.timer.show(player)
Hud.timer.setCompleteCallback(chasePlayer)
end
timer.setTickCallback(callback)
Sets a callback function that will be called everytime the timer 'ticks'. Ticks happen approximately once per second, whilst the timer is active.
This method can only be used in Entity scripts.
Parameters
- callback — Function that should be called whenever the timer 'ticks'.
Example
Write on console a tick counter every time that the timer ticks.
local tickCounter = 0
local function tick()
tickCounter = tickCounter + 1
Hud.console.write("tick " .. tickCounter)
end
function onStart()
local player = Players.getRandomPlayer()
Hud.timer.show(player)
Hud.timer.startCountup()
Hud.timer.setTickCallback(tick)
end
timer.removeCallback(callback)
Removes the callback function.
This method can only be used in Entity scripts.
Parameters
- callback — Function that should be removed.
Example
After ticking 200 times, remove the callback.
local tickCounter = 0
local function tick()
tickCounter = tickCounter + 1
Hud.console.write("tick " .. tickCounter)
if tickCounter == 200 then
Hud.timer.removeCallback(tick)
end
end
function onStart()
local player = Players.getRandomPlayer()
Hud.timer.startCountup()
Hud.timer.show(player)
Hud.timer.setTickCallback(tick)
end
Console Functions
console.write(text)
Adds the specified text to the console.
Parameters
- text — Text to write to the console.
Example
Print in the console a welcome message.
function onStart()
Hud.console.write("welcome to my world!")
end
console.clear()
Clears all text from the console.
Example
Clear the console after 5 seconds.
function onStart()
Hud.console.write("This message will be clear in 5 seconds!")
Task.wait(5)
Hud.console.clear()
end
Canvas Functions
canvas.setSortOrder(id, sortOrder)
Set the sort order of a rect. Rects with higher values will appear on top of others.
Parameters
- id — ID of the target rect.
- sortOrder — Sorting order value.
canvas.setParent(id, parent)
Set one rect's position to be relative to another rect If the parent rect moves, this rect will follow it.
Parameters
- id — ID of the target rect.
- parent — ID of the rect the target will link to.
canvas.delete(id)
Deletes the item specified by ID.
This method can only be used in Entity scripts.
Parameters
- id — ID of the target item.
Example
Delete a button created.
-- ... button created and used somewhere.
Hud.canvas.delete(buttonId)
canvas.clear()
Deletes all items in the canvas.
This method can only be used in Entity scripts.
Example
Clear the canvas with all the hud items that we created.
-- ...
Hud.canvas.clear()
Enums
HudItemType
- Rect — value = 0
- Textbox — value = 1
- Button — value = 2
- Timer — value = 3
- ProgressBar — value = 4
- Slider — value = 5
MouseButton
- Left — value = 0
- Right — value = 1
- Middle — value = 2