RemoteFunction

Hiển Thị Bản Đã Lỗi Thời

*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.

Vật thể RemoteFunction giúp dễ dàng giao tiếp song song, hai chiều qua ranh giới client-server.Bạn có thể sử dụng nó để định nghĩa một chức năng trả lời tùy chỉnh và kích hoạt nó thủ công bằng cách gọi RemoteFunction:InvokeClient() hoặc RemoteFunction:InvokeServer() .Mã gọi chức năng cho ra cho đến khi nó nhận được một phản hồi từ người nhận.

Để cả máy chủ và khách hàng truy cập vào một ví ví dụ / trường hợpRemoteFunction , nó phải ở một nơi mà cả hai bên có thể nhìn thấy nó, chẳng hạn như ReplicatedStorage , mặc dù trong một số trường hợp thích hợp để lưu nó trong Workspace hoặc bên trong một Tool .

Nếu kết quả là không cần thiết, thì được khuyến khích bạn sử dụng RemoteEvent thay vào đó, vì cuộc gọi của nó là không đồng bộ và không cần phải chờ đợi một phản hồi để tiếp tục thực thi.Xem Sự kiện và cuộc gọi từ xa để có mẫu mã code và thêm chi tiết về RemoteFunction .

Cảnh báo phát trực tuyến

Lưu ý rằng nếu một lần gọi RemoteFunction tạo một instance trên máy chủ, không có bảo đảm rằng nó tồn tại trên máy khách khi chức năng trả về.Điều này đặc biệt quan trọng ở những nơi mà ví dụ phát trực tuyến được bật và khi các ví dụ được tạo được hoặc , vì các phần ở xa nhân vật người chơi có thể không được phát lên khách hàng, và các mô hình mà chúng phụ thuộc vào việc liệu các phần của họ có được phát hay không.Ngay cả khi một mô hình là Persistent , có thể có một số trễ giữa việc tạo mô hình và khi nó được sao chép cho khách hàng.

Giới hạn tham số

Bất kỳ loại đối tượng Roblox nào như một , , hoặc khác có thể được truyền như một tham số khi một được gọi, cũng như các loại Luau như số, chuỗi và boolean, mặc dù bạn nên thận trọng khám phá các giới hạn .

Tóm Tắt

Phương Pháp

Gọi Lại

Thuộc Tính

Phương Pháp

InvokeClient

Sinh Lợi

Gọi RemoteFunction mà lại gọi lại OnClientInvoke callback.Vì phương pháp này được sử dụng để giao tiếp từ máy chủ đến khách hàng, nó chỉ hoạt động khi được sử dụng trong một Script .

Bất kỳ loại đối tượng Roblox nào như một , , hoặc khác có thể được truyền như một tham số cho , cũng như các loại Luau như số, chuỗi và boolean, mặc dù bạn nên thận trọng khám phá các giới hạn .

Xem Sự kiện và cuộc gọi từ xa để có mẫu mã code và thêm chi tiết về RemoteFunction .

Cảnh báo

Trong thực tế, máy chủ không thường gọi khách hàng, vì 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ỉ một khách hàng có thể thực hiện, chẳng hạn như hiển thị một GUI, thường không yêu cầu một cuộc gọi lại.Do đó, RemoteEvent:FireClient() được khuyến nghị là một phương pháp không đồng bộ không cần phải chờ đợi một phản hồi để tiếp tục thực hiện.

Nếu bạn hợp pháp cần triệu hồi một khách hàng từ máy chủ, hãy lưu ý các rủi ro sau:

  • Nếu khách hàng ném một lỗi, máy chủ cũng ném lỗi.
  • Nếu khách hàng kết nối lại trong khi đ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ẽ mãi mãi cung cấp.

Tham Số

player: Player

Các Player liên quan đến khách hàng để kích hoạt.

Giá Trị Mặc Định: ""
arguments: Tuple

Giá trị để chuyển cho callback OnClientInvoke .

Giá Trị Mặc Định: ""

Lợi Nhuận

Giá trị trả về từ cuộc gọi trả lại OnClientInvoke .

InvokeServer

Sinh Lợi

Gọi RemoteFunction mà lại gọi lại OnServerInvoke callback.Vì phương pháp này được sử dụng để giao tiếp từ khách hàng sang máy chủ, nó chỉ hoạt động khi được sử dụng trong một LocalScript .

Nếu kết quả trả lại không cần thiết, nó được khuyến khích sử dụng RemoteEvent:FireServer() thay vì đó, vì cuộc gọi của nó là không đồng bộ và không cần phải chờ đợi để tiếp tục thực hiện trả lời.

Bất kỳ loại đối tượng Roblox nào như một , , hoặc khác có thể được truyền như một tham số cho , cũng như các loại Luau như số, chuỗi và boolean, mặc dù bạn nên thận trọng khám phá các giới hạn .

Xem Sự kiện và cuộc gọi từ xa để có mẫu mã code và thêm chi tiết về RemoteFunction .

Tham Số

arguments: Tuple

Giá trị để chuyển cho callback OnServerInvoke .

Giá Trị Mặc Định: ""

Lợi Nhuận

Giá trị trả về từ cuộc gọi trả lại OnServerInvoke .

Sự Kiện

Gọi Lại

OnClientInvoke

Cuộc gọi trả lại này được gọi khi RemoteFunction được kích hoạt với InvokeClient() .Khi chức năng gắn kết trả về, các giá trị trả lại được gửi trở lại máy chủ gọi.

Xem Sự kiện và cuộc gọi từ xa để có mẫu mã code và thêm chi tiết về OnClientInvoke .

Tham Số

arguments: Tuple

Các tham số được gửi qua InvokeClient() .


Lợi Nhuận

Giá trị được trả bởi chức năng gọi lại.

OnServerInvoke

Cuộc gọi trả lại này được gọi khi RemoteFunction được kích hoạt với InvokeServer() .Khi chức năng gắn kết trả về, các giá trị trả lại được gửi lại cho khách hàng gọi.

Xem Sự kiện và cuộc gọi từ xa để có mẫu mã code và thêm chi tiết về OnServerInvoke .

Tham Số

player: Player

Các Player liên quan đến khách hàng mà cuộc gọi InvokeServer() bắt nguồn từ.

arguments: Tuple

Các tham số được gửi qua InvokeServer() .


Lợi Nhuận

Giá trị được trả bởi chức năng gọi lại.