RemoteFunction
*Nội dung này được dịch bằng AI (Beta) và có thể có lỗi. Để xem trang này bằng tiếng Anh, hãy nhấp vào đây.
Ở đối tượng RemoteFunction , bạn có thể tùy chỉnh tính đồng bộ, hai chiều trên giới hạn 客户端-服务器 của mình. Bạn có thể sử dụng nó để định nghĩa một chức năng gọi lạ
Để cả server và khách hàng đều có thể truy cập vào một RemoteFunction ví dụ / trường hợp, nó phải ở một nơi mà cả hai phe có thể nhìn thấy nó, ví dụ như ReplicatedStorage , mặc dù trong một số trường hợp nó được
Nếu kết quả là không cần yêu cầu, nên sử dụng một RemoteEvent thay vào đó, vì cuộc gọi của nó là asynchron và không cần phải chờ đợi cho một phản hồi để tiếp tục thi hành. Xem Remote Events and Callbacks cho m
Các biện pháp phát sóng
Lưu ý rằng nếu một RemoteFunction
Giới hạn biểu tượng
Bất kỳ loại Roblox object nào, ví dụ như một Enum , Instance hoặc những loại khác có thể được truyền là một参数 khi một RemoteFunction được gọi, cũng như các kiểu Luau như số, chuỗi
Tóm Tắt
Phương Pháp
Gọi RemoteFunction , which in turn calls the OnClientInvoke call.
Gọi RemoteFunction , which in turn calls the OnServerInvoke call.
Gọi Lại
Thuộc Tính
Phương Pháp
InvokeClient
Gọi RemoteFunction , trong đó OnClientInvoke được gọi lại. Vì phương thức này được sử dụng để truyền từ máy chủ đến client, nó sẽ chỉ hoạt động khi được sử dụng trong một Script .
Bất kỳ loại Roblox object nào, ví dụ như một Enum , Instance , hoặc những loại khác có thể được truyền như một tham số cho Class.RemoteFunction:ExecuteClient()|ExecuteClient() , cũng như các kiểu Luau như số, chuỗ
Xem Sự kiện và hồi gọi từ xa cho mẫu mã và thông tin chi tiết hơn về RemoteFunction .
Cảnh báo
Trong thực tế, máy chủ không thường gọi máy chủ, vì các khách hàng thường không có thông tin mà máy chủ không có, và các hành động mà chỉ khách hàng mới có thể thực hiện, chẳng hạn như hiển thị một GUI, thường không cần phả
Nếu bạn cần phải triệu hồi một khách hàng từ máy chủ, hãy xem xét những rủi ro sau đây:
- Nếu khách hàng ném một lỗi, máy chủ cũng ném lỗi.
- Nếu kết nối khách hàng bị mất kết nối trong khi nó đang được gọi, InvokeClient() ném một lỗi.
- Nếu khách hàng không trả lại giá trị, máy chủ sẽ tạo ra mã mãi mãi.
Tham Số
Class.Player được liên kết với client để gọi.
Giá trị để được truyền đến OnClientInvoke 回调。
Lợi Nhuận
Giá trị được trả từ OnClientInvoke hồi gọi.
InvokeServer
Gọi đến RemoteFunction để cuối cùng gọi OnServerInvoke 回调. Vì phương thức này được sử dụng để truyền từ một client đến máy chủ, nó sẽ chỉ hoạt động khi được sử dụng trong một LocalScript .
Nếu kết quả đã được trả lại không cần thiết, nó được khuyến nghị sử dụng RemoteEvent:FireServer() thay vào đó, vì cuộc gọi của nó là asynchron và không cần phải chờ đợi một phản hồi để tiếp tục thi hành.
Bất kỳ loại Roblox object nào, ví dụ như một Enum , Instance , hoặc những loại khác có thể được truyền như một tham số cho Class.RemoteFunction:ExecuteServer()|ExecuteServer() , cũng như các kiểu Luau như số, chuỗ
Xem Sự kiện và hồi gọi từ xa cho mẫu mã và thông tin chi tiết hơn về RemoteFunction .
Tham Số
Giá trị để được truyền đến OnServerInvoke callback.
Lợi Nhuận
Giá trị được trả từ OnServerInvoke hồi gọi.