Client Hooks
Client scripts run only on the client side. These hooks are entry points for your client-side game logic.
Lifecycle
start
Runs when the game starts
Signature: action()
public action start() {
# TODO: Implement
}
update
Runs every game tick
Signature: action(num)
Parameters:
| Name | Type | Description |
|---|---|---|
delta | num | Time elapsed since last tick |
public action update(num delta) {
# TODO: Implement
}
render
Add rendering logic in here
Signature: action(num)
Parameters:
| Name | Type | Description |
|---|---|---|
delta | num | Time elapsed since last tick |
public action render(num delta) {
# TODO: Implement
}
Player Events
onPlayerSpawn
Player spawns in
Signature: action(str)
Parameters:
| Name | Type | Description |
|---|---|---|
id | str | Player ID |
public action onPlayerSpawn(str id) {
# TODO: Implement
}
onPlayerDeath
Player died
Signature: action(str, str)
Parameters:
| Name | Type | Description |
|---|---|---|
id | str | Player ID |
killerID | str | ID of the player who killed |
public action onPlayerDeath(str id, str killerID) {
# TODO: Implement
}
onPlayerUpdate
Player update
Signature: action(str, num, obj)
Parameters:
| Name | Type | Description |
|---|---|---|
id | str | Player ID |
delta | num | Time elapsed since last tick |
inputs | obj | Input data object |
public action onPlayerUpdate(str id, num delta, obj inputs) {
# TODO: Implement
}
Input Events
onKeyPress
User pressed a key
Signature: action(str, num)
Parameters:
| Name | Type | Description |
|---|---|---|
key | str | Key pressed |
code | num | Key code |
public action onKeyPress(str key, num code) {
# TODO: Implement
}
onKeyUp
User released a key
Signature: action(str, num)
Parameters:
| Name | Type | Description |
|---|---|---|
key | str | Key pressed |
code | num | Key code |
public action onKeyUp(str key, num code) {
# TODO: Implement
}
onKeyHeld
User held a key
Signature: action(str, num)
Parameters:
| Name | Type | Description |
|---|---|---|
key | str | Key pressed |
code | num | Key code |
public action onKeyHeld(str key, num code) {
# TODO: Implement
}
onControllerPress
User pressed a button on a controller
Signature: action(str, num)
Parameters:
| Name | Type | Description |
|---|---|---|
key | str | Key pressed |
code | num | Key code |
public action onControllerPress(str key, num code) {
# TODO: Implement
}
onControllerUp
User released a button on a controller
Signature: action(str, num)
Parameters:
| Name | Type | Description |
|---|---|---|
key | str | Key pressed |
code | num | Key code |
public action onControllerUp(str key, num code) {
# TODO: Implement
}
onControllerHeld
User held a button on a controller
Signature: action(str, num)
Parameters:
| Name | Type | Description |
|---|---|---|
key | str | Key pressed |
code | num | Key code |
public action onControllerHeld(str key, num code) {
# TODO: Implement
}
onMouseClick
User clicked on screen
Signature: action(num, num, num)
Parameters:
| Name | Type | Description |
|---|---|---|
button | num | Mouse button pressed |
x | num | X coordinate |
y | num | Y coordinate |
public action onMouseClick(num button, num x, num y) {
# TODO: Implement
}
onMouseUp
User released clicked on screen
Signature: action(num, num, num)
Parameters:
| Name | Type | Description |
|---|---|---|
button | num | Mouse button pressed |
x | num | X coordinate |
y | num | Y coordinate |
public action onMouseUp(num button, num x, num y) {
# TODO: Implement
}
onMouseScroll
User scrolled on screen
Signature: action(num)
Parameters:
| Name | Type | Description |
|---|---|---|
dir | num | Direction |
public action onMouseScroll(num dir) {
# TODO: Implement
}
onDIVClicked
User clicked a DIV (ID)
Signature: action(str)
Parameters:
| Name | Type | Description |
|---|---|---|
id | str | Player ID |
public action onDIVClicked(str id) {
# TODO: Implement
}
Network Events
onNetworkMessage
Client receives network message
Signature: action(str, obj)
Parameters:
| Name | Type | Description |
|---|---|---|
id | str | Player ID |
data | obj | No description available |
public action onNetworkMessage(str id, obj data) {
# TODO: Implement
}