RemoteFunction

Artık kullanılmayanları göster

*Bu içerik, yapay zekâ (beta) kullanılarak çevrildi ve hatalar içerebilir. Sayfayı İngilizce görüntülemek için buraya tıkla.

Uzak Fonksiyon nesnesi, istemci-sunucu sınırı boyunca senkronize, iki yönlü iletişimi kolaylaştırır.Bunu özel bir geri arama işlevini tanımlamak ve çağırarak manuel olarak çağırmak için RemoteFunction:InvokeClient() veya RemoteFunction:InvokeServer() kullanarak çağırabilirsiniz.Fonksiyonu çağıran kod yanıt alana kadar çıkar , alıcıbir yanıt alana kadar.

Hem sunucu hem de istemcilerin bir RemoteFunction örneğine erişmesi için, her iki tarafın da görebileceği bir yerde olması gerekir, örneğin ReplicatedStorage, ancak bazı durumlarda bunu Workspace veya içinde bir Tool saklamak uygundur.

Sonuç gerekli değilse ise, çağrısı asenkron olduğundan ve devam eden bir yanıtın beklemesine gerek olmadığından, bunun yerine bir RemoteEvent kullanmanız önerilir.Kod örnekleri ve ile ilgili daha fazla ayrıntı için Uzak Etkinlikler ve Geri çağrılar görünüz.

Yayın Önlemleri

Bir çağrılan RemoteFunction sunucuda bir örnek oluşturursa, işlev döndüğünde istemci üzerinde var olacağına dair bir garanti yoktur.Özellikle, örnek yayınlanması etkinleştirilmiş yerlerde ve oluşturulan örnekler veya olduğunda, oyuncunun karakterinden uzakta olan parçaların istemciye yayınlanması mümkün olmayabilir ve parçaların yayınlanmasına bağlı olan modeller, parçalarının yayınlanıp yayınlanmadığına bağlıdır.Bir model Persistent olsa bile, modelin oluşturulması ve istemciye yeniden yansıtılması arasında biraz gecikme olabilir.

Parametre Sınırları

Bir Enum , Instance veya diğer herhangi bir Roblox nesnesi, bir RemoteFunction invok edildiğinde bir parametre olarak geçebilir, sayılar, dize ve booleans gibi Luau tipleri de dahil olmak üzere, ancak sınırlarını dikkatlice keşfetmelisiniz.

Özet

Yöntemler

Geri Aramalar

Özellikler

Yöntemler

InvokeClient

Bekletir

Dönüşümde çağrılan RemoteFunction 'yi çağırır, ki bu da OnClientInvoke geri çağrısını çağırır.Bu yöntem, sunucudan bir istemciye iletişim kurmak için kullanıldığından, yalnızca bir Script içinde kullanıldığında çalışacaktır.

Bir Enum , Instance veya diğer herhangi bir Roblox nesnesi, sayılar, dize ve booleans gibi Luau türleri de dahil olmak üzere bir parametre olarak InvokeClient() geçebilir, ancak sınırlarını dikkatlice keşfetmelisiniz .

Kod örnekleri ve RemoteFunction hakkında daha fazla ayrıntı için Uzak Etkinlikler ve Geri çağrılar bakın.

Uyarı

Pratikte, sunucu genellikle istemciyi çağırmaz, çünkü istemciler genellikle sunucunun sahip olmadığı bilgilere sahip değildir ve yalnızca bir istemcinin alabileceği eylemler, örneğin bir GUI'yi görüntülemek, genellikle bir geri arama gerektirmez.Bu nedenle, RemoteEvent:FireClient() asenkron bir yöntem olarak, bir yanıtın devam etmesini beklemek zorunda olmayan asenkron bir yöntem olarak önerilir.

Eğer hukuki olarak sunucudan bir istemci çağırmak zorundaysanız, aşağıdaki riskleri göz önünde bulundurun:

  • Eğer istemci bir hata atarsa, sunucu da hata atar.
  • Müşteri çağrılırken bağlantı keserse, InvokeClient() bir hata atar.
  • Müşteri bir değer dönmediğinde, sunucu sonsuza dek verir.

Parametreler

player: Player

Müşteri tarafından çağrılan ile ilişkili Player .

Varsayılan değer: ""
arguments: Tuple

OnClientInvoke geri çağrısına geçecek değerler.

Varsayılan değer: ""

Dönüşler

OnClientInvoke geri dönüş yapan değerler çağrısından döndürüldü.

InvokeServer

Bekletir

Dönüşümde çağrılan RemoteFunction 'yi çağırır, ki bu da OnServerInvoke geri çağrısını çağırır.Bu yöntem bir istemciden sunucuya iletişim kurmak için kullanıldığından, yalnızca bir LocalScript içinde kullanıldığında çalışacaktır.

Geri dönen bir sonuç gerekmiyorsa, çağrısı asenkron olduğundan RemoteEvent:FireServer() yerine kullanılması önerilir, çünkü bir yanıtın devam eden işleme devam etmesini beklemesi gerekmez.

Bir Enum , Instance veya diğer herhangi bir Roblox nesnesi, sayılar, dize ve booleans gibi Luau türleri de dahil olmak üzere bir parametre olarak InvokeServer() geçebilir, ancak sınırlarını dikkatlice keşfetmelisiniz .

Kod örnekleri ve RemoteFunction hakkında daha fazla ayrıntı için Uzak Etkinlikler ve Geri çağrılar bakın.

Parametreler

arguments: Tuple

OnServerInvoke geri çağrısına geçecek değerler.

Varsayılan değer: ""

Dönüşler

OnServerInvoke geri dönüş yapan değerler çağrısından döndürüldü.

Etkinlikler

Geri Aramalar

OnClientInvoke

Bu geri çağrı, RemoteFunction ile çağrıldığında InvokeClient() ile çağrılır.Bağlı işlev geri döndüğünde, döndürülen değerler çağıran sunucuya geri gönderilir.

Kod örnekleri ve OnClientInvoke hakkında daha fazla ayrıntı için Uzak Etkinlikler ve Geri çağrılar bakın.

Parametreler

arguments: Tuple

InvokeClient() aracılığıyla gönderilen parametler.


Dönüşler

Geri çağrılan işlev tarafından döndürülen değerler.

OnServerInvoke

Bu geri çağrı, RemoteFunction ile çağrıldığında InvokeServer() ile çağrılır.Bağlı işlev geri döndüğünde, döndürülen değerler çağıran istemciye geri gönderilir.

Kod örnekleri ve OnServerInvoke hakkında daha fazla ayrıntı için Uzak Etkinlikler ve Geri çağrılar bakın.

Parametreler

player: Player

Player ile bağlantılı müşteriden gelen InvokeServer() çağrısının kaynağı.

arguments: Tuple

InvokeServer() aracılığıyla gönderilen parametler.


Dönüşler

Geri çağrılan işlev tarafından döndürülen değerler.