sm64coopdx/docs/lua/functions.md

96 KiB

Lua Reference


1 | 2 | 3 | 4 | next >]


Supported Functions









































manually written functions


define_custom_obj_fields

Defines a custom set of overlapping object fields.

The fieldTable table's keys must start with the letter o and the values must be either u32, s32, or f32.

Lua Example

define_custom_obj_fields({ oCustomField1 = 'u32', oCustomField2 = 's32', oCustomField3 = 'f32' })

Parameters

Field Type
fieldTable Lua Table

C Prototype

N/A

🔼

network_init_object

Enables synchronization on an object.

  • Setting standardSync to true will automatically synchronize the object at a rate that is determined based on player distance. The commonly used object fields will be automatically synchronized.
  • Setting standardSync to false will not automatically synchronize the object, or add commonly used object fields. The mod must manually call network_send_object() when fields have changed.

The fieldTable parameter can be nil, or a list of object fields.

Lua Example

network_init_object(obj, true, { 'oCustomField1', 'oCustomField2', 'oCustomField3' })

Parameters

Field Type
object Object
standardSync bool
fieldTable Lua Table

C Prototype

N/A

🔼


network_send_object

Sends a packet that synchronizes an object. This does not need to be called when standardSync is enabled.

The reliable field will ensure that the packet arrives, but should be used sparingly and only when missing a packet would cause a desync.

Lua Example

network_send_object(obj, false)

Parameters

Field Type
object Object
reliable bool

C Prototype

N/A

🔼


network_send_to

Sends a packet to a particular player (using their local index) containing whatever data you want.

dataTable can only contain strings, integers, numbers, booleans, and nil

The reliable field will ensure that the packet arrives, but should be used sparingly and only when missing a packet would cause a desync.

Lua Example

network_send_to(localPlayerIndex, reliable, { data1 = 'hello', data2 = 10})

Parameters

Field Type
localPlayerIndex integer
reliable bool
dataTable table

C Prototype

N/A

🔼


network_send

Sends a packet to all players containing whatever data you want.

dataTable can only contain strings, integers, numbers, booleans, and nil

The reliable field will ensure that the packet arrives, but should be used sparingly and only when missing a packet would cause a desync.

Lua Example

network_send(reliable, { data1 = 'hello', data2 = 10})

Parameters

Field Type
reliable bool
dataTable table

C Prototype

N/A

🔼



1 | 2 | 3 | 4 | next >]