RemoteFunction

Tampilkan yang Tidak Digunakan Lagi

*Konten ini diterjemahkan menggunakan AI (Beta) dan mungkin mengandung kesalahan. Untuk melihat halaman ini dalam bahasa Inggris, klik di sini.

Objek Fungsi Jarak Jauh memudahkan komunikasi sinkron dua arah melintasi batas klien-server.Anda dapat menggunakannya untuk mendefinisikan fungsi panggilan kembali khusus dan memanggilnya secara manual dengan menelepon RemoteFunction:InvokeClient() atau RemoteFunction:InvokeServer() .Kode yang memanggil fungsi menghasilkan sampai menerima respons dari penerima.

Agar server dan klien dapat mengakses instansi RemoteFunction , itu harus berada di tempat di mana kedua belah pihak dapat melihatnya, seperti ReplicatedStorage , meskipun dalam beberapa kasus tepat untuk menyimpannya di Workspace atau di dalam Tool .

Jika hasilnya tidak diperlukan, disarankan agar Anda menggunakan RemoteEvent sebagai gantinya, karena panggilannya asinkron dan tidak perlu menunggu respons untuk melanjutkan eksekusi.Lihat Peristiwa Jarak Jauh dan Panggilan Balasan untuk sampel kode dan lebih lanjut tentang RemoteFunction .

Peringatan Streaming

Perhatikan bahwa jika diaktifkan RemoteFunction membuat instansi di server, tidak ada jaminan bahwa itu ada di klien saat fungsi dikembalikan.Ini sangat penting di tempat-tempat di mana instansi streaming diaktifkan dan ketika instansi yang dibuat adalah BaseParts atau Models , karena bagian yang jauh dari karakter pemain mungkin tidak diputar ke klien, dan model yang Atomic bergantung pada apakah bagian mereka diputar.Bahkan jika model adalah Persistent , mungkin ada beberapa keterlambatan antara pembuatan model dan saat di-复制 ke klien.

Keterbatasan Parameter

Setiap jenis objek Roblox seperti , , atau lainnya dapat diberikan sebagai parameter saat diaktifkan, serta jenis Luau seperti angka, string, dan boolean, meskipun Anda harus hati-hati mengeksplorasi batasan .

Rangkuman

Metode

Callback

Properti

Metode

InvokeClient

Hasil

Memanggil RemoteFunction yang pada gilirannya memanggil panggilan balik OnClientInvoke.Karena metode ini digunakan untuk berkomunikasi dari server ke klien, itu hanya akan berfungsi saat digunakan di Script .

Setiap jenis objek Roblox seperti , , atau lainnya dapat diberikan sebagai parameter ke , serta jenis Luau seperti angka, string, dan boolean, meskipun Anda harus hati-hati mengeksplorasi batasan .

Lihat Peristiwa Jarak Jauh dan Panggilan Balasan untuk sampel kode dan lebih lanjut tentang RemoteFunction .

Peringatan

Dalam praktik, server tidak sering memanggil klien, karena klien biasanya tidak memiliki informasi yang tidak dimiliki server, dan tindakan yang hanya dapat dilakukan oleh klien, seperti menampilkan GUI, biasanya tidak memerlukan panggilan balik.Dengan demikian, RemoteEvent:FireClient() direkomendasikan sebagai metode asinkron yang tidak perlu menunggu respons untuk melanjutkan eksekusi.

Jika Anda sah-sah saja perlu memanggil klien dari server, perhatikan risiko berikut:

  • Jika klien membuang kesalahan, server juga membuang kesalahan.
  • Jika klien terputus saat sedang diaktifkan, InvokeClient() membuang kesalahan.
  • Jika klien tidak mengembalikan nilai, server menghasilkan selamanya.

Parameter

player: Player

The Player terkait dengan klien untuk dipanggil.

Nilai Default: ""
arguments: Tuple

Nilai untuk dikirim ke panggilan balik OnClientInvoke.

Nilai Default: ""

Memberikan nilai

Nilai yang dikembalikan dari panggilan balik OnClientInvoke.

InvokeServer

Hasil

Memanggil RemoteFunction yang pada gilirannya memanggil panggilan balik OnServerInvoke.Karena metode ini digunakan untuk berkomunikasi dari klien ke server, itu hanya akan berfungsi saat digunakan di LocalScript .

Jika hasil yang dikembalikan tidak diperlukan, disarankan untuk menggunakan RemoteEvent:FireServer() sebagai gantinya, karena panggilannya asinkron dan tidak perlu menunggu respons untuk melanjutkan eksekusi.

Setiap jenis objek Roblox seperti , , atau lainnya dapat diberikan sebagai parameter ke , serta jenis Luau seperti angka, string, dan boolean, meskipun Anda harus hati-hati mengeksplorasi batasan .

Lihat Peristiwa Jarak Jauh dan Panggilan Balasan untuk sampel kode dan lebih lanjut tentang RemoteFunction .

Parameter

arguments: Tuple

Nilai untuk dikirim ke panggilan balik OnServerInvoke.

Nilai Default: ""

Memberikan nilai

Nilai yang dikembalikan dari panggilan balik OnServerInvoke.

Acara

Callback

OnClientInvoke

Panggilan balasan ini dilakukan saat RemoteFunction diaktifkan dengan InvokeClient() .Ketika fungsi terikat kembali, nilai yang dikembalikan dikirim kembali ke server panggil.

Lihat Peristiwa Jarak Jauh dan Panggilan Balasan untuk sampel kode dan lebih lanjut tentang OnClientInvoke .

Parameter

arguments: Tuple

Parameter yang dikirim melalui InvokeClient() .


Memberikan nilai

Nilai yang dikembalikan oleh fungsi panggil balik.

OnServerInvoke

Panggilan balasan ini dilakukan saat RemoteFunction diaktifkan dengan InvokeServer() .Ketika fungsi terikat kembali, nilai yang dikembalikan dikirim kembali ke klien panggil.

Lihat Peristiwa Jarak Jauh dan Panggilan Balasan untuk sampel kode dan lebih lanjut tentang OnServerInvoke .

Parameter

player: Player

The Player terkait dengan klien yang panggilan InvokeServer() berasal dari.

arguments: Tuple

Parameter yang dikirim melalui InvokeServer() .


Memberikan nilai

Nilai yang dikembalikan oleh fungsi panggil balik.