RemoteFunction
*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>.
Podsumowanie
Metody
Przywołuje RemoteFunction, co z kolei wezwie OnClientInvoke .
Przywołuje RemoteFunction, co z kolei wezwie OnServerInvoke .
Wywołania zwrotne
Właściwości
Metody
InvokeClient
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
Class.Player powiązany z klientem do wezwania.
Wartości do przesłania na OnClientInvoke w zwrotce.
Zwroty
Wartości zwrócone z funkcji OnClientInvoke
InvokeServer
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
Wartości do przesłania na OnServerInvoke wezwanie.
Zwroty
Wartości zwrócone z funkcji OnServerInvoke