RemoteFunction
*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
Invoca el RemoteFunction que a su vez invoca el OnClientInvoke devolución de llamada.
Invoca el RemoteFunction que a su vez invoca el OnServerInvoke devolución de llamada.
Llamadas
Propiedades
Métodos
InvokeClient
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
Valores para pasar al OnClientInvoke devolución de llamada.
Devuelve
Los valores devueltos del OnClientInvoke llamada de retorno.
InvokeServer
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
Valores para pasar al OnServerInvoke devolución de llamada.
Devuelve
Los valores devueltos del OnServerInvoke llamada de retorno.