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

Parámetros

arguments: Tuple

Devuelve

OnServerInvoke

Parámetros

player: Player
arguments: Tuple

Devuelve