RemoteFunction
*Questo contenuto è tradotto usando AI (Beta) e potrebbe contenere errori. Per visualizzare questa pagina in inglese, clicca qui.
L'oggetto RemoteFunction facilita la comunicazione sincrona tra il confine client-server. Puoi usarlo per definire una funzione richiamata personalizzata e invocarla manualmente chiamando Class.RemoteFunction:ExecuteClient() o RemoteFunction:InvokeClient(). Il codice che invoca la funzione 2>rende2> fino a quando
Per consentire sia al server che ai client di accedere a un'istanza RemoteFunction, deve essere in un luogo in cui entrambi i lati possano vederla, come ReplicatedStorage , anche se in alcuni casi è appropriato memorizzarlo in Workspace o all'interno di un 1> Class.Tool1> .
Se il risultato è non necessario, è consigliato utilizzare un RemoteEvent invece, poiché la sua chiamata è asincrona e non richiede l'attesa per continuare l'esecuzione. Vedi Remote Events and Callbacks per esempi di codice e ulteriori dettagli su 1> Class.RemoteFunction1> .
Precauzioni per lo streaming
Nota che se un RemoteFunction viene invocato, crea un'istanza
Limitazioni dei parametri
Qualsiasi tipo di oggetto Roblox, come un Enum , Instance , o altri possono essere passati come parametro quando viene invocato un RemoteFunction , nonché i tipi Luau come numeri, string e booleane, anche se dovresti esplorare attentamente le 1>limitazioni1> .
Sommario
Proprietà
Metodi
Invoca il RemoteFunction che a sua volta chiama il OnClientInvoke Richiama.
Invoca il RemoteFunction che a sua volta chiama il OnServerInvoke Richiama.
Eventi
Richiami
Proprietà
Metodi
InvokeClient
Invoca il RemoteFunction che a sua volta chiama il OnClientInvoke Richiama. Poiché questo metodo viene utilizzato per comunicare dal server a un client, funzionerà solo quando viene utilizzato in un Script .
Qualsiasi tipo di oggetto Roblox, come un Enum , Instance , o altri possono essere passati come parametro a Class.RemoteFunction:ExecuteClient()|ExecuteClient() , così come i tipi Luau come numeri, string e booleane, anche se dovresti esplorare attentamente le 2>限azioni2>.
Vedi Eventi e chiamate remoti per esempi di codice e ulteriori dettagli su RemoteFunction .
Avviso
In pratica, il server non chiama spesso il client, poiché i client di solito non hanno informazioni che il server non ha, e azioni che solo un client può eseguire, come visualizzare un GUI or Intefaccia grafica utente, di solito non richiede un Richiama. Come tale, RemoteEvent:FireClient() è raccomandato come metodo asincrono che non richiede una risposta per continuare l'esecuzione.
Se hai effettivamente bisogno di invocare un client dal Server, considera i seguenti rischi:
- Se il client lancia un errore, il server lancia anche l'errore.
- Se il client si disconnette mentre viene invocato, InvokeClient() mostra un errore.
- Se il client non restituisce un valore, il server genera per sempre.
Parametri
Valori da passare al OnClientInvoke Richiama.
Restituzioni
I valori restituiti dal OnClientInvoke Richiama.
InvokeServer
Invoca il RemoteFunction che a sua volta chiama il OnServerInvoke Richiama. Poiché questo metodo viene utilizzato per comunicare dal client al Server, funzionerà solo quando viene utilizzato in un LocalScript .
Se non è necessario un risultato restituito, è consigliato utilizzare RemoteEvent:FireServer() invece, poiché la sua chiamata è asincrona e non richiede l'attesa per l'esecuzione.
Qualsiasi tipo di oggetto Roblox, come un Enum , Instance , o altri possono essere passati come parametro a Class.RemoteFunction:ExecuteServer()|ExecuteServer() , nonché altri tipi come numeri, string e booleani, anche se dovresti esplorare attentamente le 1>limitazioni1> .
Vedi Eventi e chiamate remoti per esempi di codice e ulteriori dettagli su RemoteFunction .
Parametri
Valori da passare al OnServerInvoke Richiama.
Restituzioni
I valori restituiti dal OnServerInvoke Richiama.