RemoteFunction
*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
Özellikler
Yöntemler
Dönüşümde çağrılan RemoteFunction 'yi çağırır, ki bu da OnClientInvoke geri çağrısını çağırır.
Dönüşümde çağrılan RemoteFunction 'yi çağırır, ki bu da OnServerInvoke geri çağrısını çağırır.
Etkinlikler
Geri Aramalar
RemoteFunction ile çağrıldığında geri çağrılma InvokeClient() .
RemoteFunction ile çağrıldığında geri çağrılma InvokeServer() .
Özellikler
Yöntemler
InvokeClient
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
OnClientInvoke geri çağrısına geçecek değerler.
Dönüşler
OnClientInvoke geri dönüş yapan değerler çağrısından döndürüldü.
InvokeServer
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
OnServerInvoke geri çağrısına geçecek değerler.
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
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 ile bağlantılı müşteriden gelen InvokeServer() çağrısının kaynağı.
InvokeServer() aracılığıyla gönderilen parametler.
Dönüşler
Geri çağrılan işlev tarafından döndürülen değerler.