Warp/docs/api/1.0/client.md
2024-03-16 23:49:23 +07:00

2.4 KiB

Client

For Client-sided

.Client

Create new Warp event.

::: code-group

(
	Identifier: string
)
local Remote = Warp.Client("Remote")

:::

.fromClientArray

Create new Warp events with array.

::: code-group

(
	{ any }
)
local Events = Warp.fromClientArray({
	"Remote1",
	"Remote2",
	"Remote3",
})

-- Usage
Events.Remote1:Connect(function(...) end)
Events.Remote2:Connect(function(...) end)
Events.Remote3:Connect(function(...) end)

:::

:Connect

Connect event to receive incoming from server way.

::: code-group

(
	callback: (...any) -> ()
)
Remote:Connect(function(...)
	print(...)
end)

:::

:Once

This function likely :Connect but it disconnect the event once it fired.

::: code-group

(
	callback: (...any) -> ()
)
Remote:Once(function(...)
	print(...)
end)

:::

:Disconnect

Disconnect the event connection.

::: code-group

(
	key: string
): boolean
local connection = Remote:Connect(function(player, ...) end) -- store the key

Remote:Disconnect(connection)

:::

:DisconnectAll

Disconnect All the event connection.

Remote:DisconnectAll()

:Fire

Fire the event to the spesific server with data.

::: code-group

(
	reliable: boolean,
	...: any
)
Remote:Fire(true, "Hello World!")

:::

::: warning This function have rate limiting it self and configured from server. :::

:Invoke

Semiliar to :InvokeServer, but it have timeout system that not exists on RemoteFunction.InvokeServer.

::: code-group

(
	timeout: number,
	...: any
) -> (...any)
local Request = Remote:Invoke(2, "Hello World!") -- this yield until it response

:::

::: warning This function is yielded, once it timeout it will return nil. :::

:Wait

Wait the event being triggered.

Remote:Wait() -- :Wait return number value

::: warning This function is yielded, Invoke might also ping this one and also causing error. :::

:Destroy

Disconnect all connection of event and remove the event from Warp list

Remote:Destroy()