RemoteFunction

Mostrar obsoleto

*Este contenido se traduce usando la IA (Beta) y puede contener errores. Para ver esta página en inglés, haz clic en aquí.

El objeto RemoteFunction facilita la comunicación sincrona, de dos vías a través de la frontera cliente-servidor. Puedes usarlo para definir una función de llamada personalizada y invocarla manualmente al llamar RemoteFunction:InvokeClient() o 1> Class.RemoteFunction:ExecuteServer()1> . El código que invoca

Para que tanto el servidor como los clientes accedan a una instancia de RemoteFunction, debe estar en un lugar donde ambos lados puedan verlo, como ReplicatedStorage, aunque en algunos casos es adecuado almacenarlo en Workspace o dentro de un 1> Class.Tool1> .

Si el resultado es no necesario, se recomienda que uses un RemoteEvent en su lugar, ya que su llamada es asíncrona y no necesita esperar a que se ejecute una respuesta para continuar con la ejecución. Ver Eventos y llamadas remotos para obtener muestras de código y más detalles sobre 1> Class.RemoteFunction1> .

Precauciones de transmisión

Tenga en cuenta que si se invoca un RemoteFunction crea una inst

Límite de Parámetros

Cualquier tipo de objeto de Roblox, como un Enum, Instance o otros, se pueden pasar como parámetro cuando se invoca un RemoteFunction, así como los tipos Luau, como números, cadenas y booleanos, aunque debe explorar cuidadosamente las 1> limitaciones1>.

Resumen

Métodos

Llamadas

Propiedades

Métodos

InvokeClient

Proporciona

Invoca el RemoteFunction que a su vez invoca el OnClientInvoke devolución de llamada. Ya que este método se usa para comunicarse desde el servidor a un cliente, sólo funcionará cuando se use en un Script .

Cualquier tipo de objeto de Roblox, como un Enum, Instance o otros, se pueden pasar como parámetro a InvokeClient(), así como los tipos Luau, como números, cadenas y booleanos, aunque deberías explorar cuidadosamente las 2>limitaciones2>.

Vea Eventos y llamadas remotos para obtener muestras de código y más detalles sobre RemoteFunction .

Atención/advertencia

En la práctica, el servidor no suele invocar al cliente, ya que los clientes generalmente no tienen información que el servidor no tiene y acciones que solo un cliente puede tomar, como mostrar un Interfaz gráfica (o GUI), generalmente no requiere un devolución de llamada. Como tal, RemoteEvent:FireClient() es recomendado como un método asincrón que no requiere una respuesta para continuar la ejecución.

Si necesitas legitimamente invocar a un cliente del servidor, tenga en cuenta los siguientes riesgos:

  • Si el cliente muestra un error, el servidor también muestra el error.
  • Si el cliente se desconecta mientras se invoca, InvokeClient() lanza un error.
  • Si el cliente no devuelve un valor, el servidor muestra siempre.

Parámetros

player: Player

El Player asociado con el cliente para invocar.

arguments: Tuple

Valores para pasar al OnClientInvoke devolución de llamada.


Devuelve

Los valores devueltos del OnClientInvoke llamada de retorno.

InvokeServer

Proporciona

Invoca el RemoteFunction que a su vez invoca el OnServerInvoke devolución de llamada. Ya que este método se usa para comunicarse desde un cliente al servidor, sólo funcionará cuando se use en un LocalScript .

Si no se necesita un resultado devuelto, se recomienda usar RemoteEvent:FireServer() en su lugar, ya que su llamada es asíncrona y no se necesita esperar a que se ejecute una respuesta para continuar la ejecución.

Cualquier tipo de objeto de Roblox, como un Enum, Instance o otros, se pueden pasar como parámetro a InvokeServer(), así como los tipos Luau, como números, cadenas y booleanos, aunque deberías explorar cuidadosamente las 1>limitaciones1>.

Vea Eventos y llamadas remotos para obtener muestras de código y más detalles sobre RemoteFunction .

Parámetros

arguments: Tuple

Valores para pasar al OnServerInvoke devolución de llamada.


Devuelve

Los valores devueltos del OnServerInvoke llamada de retorno.

Eventos

Llamadas

OnClientInvoke

Este llamado se invoca cuando la función RemoteFunction se invoca con InvokeClient(). Cuando la función vinculada devuelve, los valores devueltos se envían al servidor de llamada.

Vea Eventos y llamadas remotos para obtener muestras de código y más detalles sobre OnClientInvoke .

Parámetros

arguments: Tuple

Los parámetros enviados a través de InvokeClient() .


Devuelve

Valores devueltos por la función de llamada.

OnServerInvoke

Este llamado se invoca cuando la función RemoteFunction se invoca con InvokeServer(). Cuando la función vinculada devuelve, los valores devueltos se envían al cliente de llamada.

Vea Eventos y llamadas remotos para obtener muestras de código y más detalles sobre OnServerInvoke .

Parámetros

player: Player

El Player asociado con el cliente de donde se origina la llamada InvokeServer()

arguments: Tuple

Los parámetros enviados a través de InvokeServer() .


Devuelve

Valores devueltos por la función de llamada.