RemoteFunction

Pokaż przestarzałe

*Ta zawartość została przetłumaczona przy użyciu narzędzi AI (w wersji beta) i może zawierać błędy. Aby wyświetlić tę stronę w języku angielskim, kliknij tutaj.

Obiekt RemoteFunction ułatwia synchronizację dwukolorową komunikację między klient-serwer granicą. Możesz użyć go do zdefiniowania niestandardowej funkcji zwrotnej i wezwania jej ręcznie poprzez wezwanie RemoteFunction:InvokeClient() lub 1> Class.RemoteFunction:

Aby zarówno serwer i klienci mogli uzyskać dostęp do instancji RemoteFunction, musi ona znajdować się w miejscu, w którym obie strony mogą ją zobaczyć, takim jak ReplicatedStorage, choć w niektórych przypadkach należy ją przechowywać w Workspace lub w środku 1>Class.Tool1>.

Jeśli wynik jest nie wymagany, zaleca się użycie RemoteEvent zamiast tego, ponieważ jego wezwanie jest asynchronne i nie wymaga odwrotu, aby kontynuować wykonanie. Zobacz zdarzenia i wezwania zdalne dla przykładów kodu i dalszych szczegółów na 1> Class.RemoteFunction1> .

Uwagi dotyczące przesyłania

Uwaga, że jeśli zainstalowano RemoteFunction na gracz

Ograniczenia parametru

Każdy rodzaj obiektów Roblox, takich jak Enum, Instance lub inne, może być przekazany jako parametr, gdy RemoteFunction jest wywołany, a także 2> typy Luau2>, takie jak liczby, struny i bajony, choć powinieneś uważać na 5>ograniczenia5>.

Właściwości

Metody

InvokeClient

Wynik

Wywołuje metodę RemoteFunction, która z kolei wzywa metodę OnClientInvoke. Ta metoda jest używana do komunikacji z serwera do klienta, będzie działać tylko w metodzie Script.

Każdy rodzaj obiektu Roblox, takiego jak Enum, Instance lub inne, może być przekazany jako parametr do Class.RemoteFunction:ExecuteClient()|ExecuteClient() , a także typy Luau, takie jak liczby, struny i bolejki, choć powinieneś uważać na ograniczenia 2>Class.RemoteFunction:ExecuteClient()|ExecuteClient() .

Zobacz zdalne wydarzenia i wezwania dla przykładów kodu i szczegółów na temat RemoteFunction .

Ostrze?enie

W praktyce serwer nie często wzywa klienta, ponieważ klienty zwykle nie mają informacji, które serwer nie ma, i działań, które tylko klient może wykonać, takich jak wyświetlenie GUI, zwykle nie wymaga wzwywania zwrotu. Dlatego RemoteEvent:FireClient() jest rekomendowany jako metoda asynchronna, która nie wymaga odpowiedzi na wszystkie działania, ab

Jeśli naprawdę musisz wezwać klienta z serwera, zauważ następujące ryzyka:

  • Jeśli klient rzuca błędem, serwer rzuca błędem również.
  • Jeśli klient się odłącza podczas uruchamiania, InvokeClient() wyrzuca błąd.
  • Jeśli klient nie zwraca wartości, serwer zachowuje na zawsze.

Parametry

player: Player

Class.Player powiązany z klientem do wezwania.

arguments: Tuple

Wartości do przesłania na OnClientInvoke w zwrotce.


Zwroty

Wartości zwrócone z funkcji OnClientInvoke

InvokeServer

Wynik

Wywołuje RemoteFunction, który z kolei wzywa OnServerInvoke . Ponieważ ten metod jest używany do komunikacji z klienta na serwer, będzie działać tylko w LocalScript.

Jeśli nie jest potrzebny zwracany wynik, należy użyć RemoteEvent:FireServer() zamiast tego, ponieważ jego wezwanie jest asynchroniczne i nie wymaga czekania na odpowiedź, aby kontynuować wykonanie.

Każdy rodzaj obiektu Roblox, takiego jak Enum, Instance lub inne, może być przekazany jako parametr do Class.RemoteFunction:ExecuteServer()|ExecuteServer() , a także typy Luau, takie jak liczby, struny i bolejki, choć powinieneś uważać na ograniczenia 2>Class.RemoteFunction:ExecuteServer()|ExecuteServer() .

Zobacz zdalne wydarzenia i wezwania dla przykładów kodu i szczegółów na temat RemoteFunction .

Parametry

arguments: Tuple

Wartości do przesłania na OnServerInvoke wezwanie.


Zwroty

Wartości zwrócone z funkcji OnServerInvoke

Zdarzenia

Wywołania zwrotne

OnClientInvoke

Parametry

arguments: Tuple

Zwroty

OnServerInvoke

Parametry

player: Player
arguments: Tuple

Zwroty