RemoteFunction 對象可以在 客戶端-收件人服器 界面上兩向同步通信。您可以使用它來定義自訂回撥式函數並手動召喚它們,稱為 RemoteFunction:InvokeClient() 或 1> Class.RemoteFunction:ExecuteServer()1> 。
為了讓服務器和客戶端都可以存取 RemoteFunction 實個體、實例,它必須位於兩個方塊能夠見到它的位置,例如 ReplicatedStorage ,雖然在一些情況下會是合適的存放在 Workspace 或 1> Class.Workspace1> 內。
如果結果為 不需要 ,建議您使用 RemoteEvent ,因為它的呼叫是非同步的,因此不需要等待回應才能繼續執行。請參閱 遠端事件和回潮 以取得代碼示例和進一步說明關於 Class.RemoteFunction 。
流媒體精準
注意,如果 RemoteFunction 在服務伺服器上創
參數限制
任何類型的 Roblox 對象,例如 Enum 、 Instance 或其他類型,都可以作為參數傳送,當 RemoteFunction 呼叫時,以及 Luau 類型,例如數字、字串和 booleans,雖然您應該仔細探索 1>限制1> 。
屬性
方法
InvokeClient
呼叫 RemoteFunction ,這會再次呼叫 OnClientInvoke 回調。這個方法是從服務器通信到客戶端的,因此它只會在 Script 中使用。
任何類型的 Roblox 對象,例如 Enum 、 Instance 或其他類型,都可以作為參數傳送至 InvokeClient() ,以及 Luau 類型,例如數字、字串和 booleans,雖然您應該仔細探索 1> 限制1> 。
有關 遠端事件和回歸事件 的代碼示例和更多資訊,請參閱 RemoteFunction 。
警告
在實踐中,服務器通常不會召喚客戶,因為客戶通常沒有服務器沒有的信息,並且只有客戶可以執行的操作,例如顯示 GUI,通常不需要回調。因此,RemoteEvent:FireClient() 是建議作為一種非同步方法,不需要等待回應才能繼續執行。
如果您需要從伺服器召喚客戶端,請注意以下風險:
- 如果客戶端發生錯誤,伺服器也會發生錯誤。
- 如果客戶端在被邀請時斷開,InvokeClient() 會發生錯誤。
- 如果客戶端沒有返回值,服務器將永久生成。
參數
傳值至 OnClientInvoke 回調。
返回
從 OnClientInvoke 回呼值回傳。
InvokeServer
使用 RemoteFunction 呼叫 OnServerInvoke 回調。這個方法是從客戶端通信到服務伺服器的,因此它只會在 LocalScript 中使用。
如果沒有需要返回的結果,建議使用 RemoteEvent:FireServer() ,因為它的呼叫是異步的,並且不需要等待回應才能繼續執行。
任何類型的 Roblox 對象,例如 Enum 、 Instance 或其他類型,都可以作為參數傳送到 InvokeServer() ,以及 Luau 類型,例如數字、字串和 booleans,雖然您應該仔細探索 1> 限制1> 。
有關 遠端事件和回歸事件 的代碼示例和更多資訊,請參閱 RemoteFunction 。
參數
值傳送至 OnServerInvoke 回調。
返回
從 OnServerInvoke 回調的值。