Deneyimde arkadaş bulmak zor olabilir.The FriendsLocator geliştirici modülü oyuncuların bir dünyaarkadaşlarına kolayca bulunmasını ve ışınlanmasını sağlar.
Modül kullanımı
Yükleme
Bir deneyimde FriendsLocator modülünü kullanmak için:
Modellerin sıralanması seçildiğinden emin olun, ardından Tümünü Görüntüle düğmesine tıklayın Kategoriler için >.
Yerini ve tıklayın Geliştirici Modülleri düğmesi.
Arkadaş Bulucu modülünü bulun ve tıklayın veya 3B görüntüye sürükleyin ve bırakın.
Araştırıcı penceresinde, tüm FriendsLocator modelini ServerScriptService ye taşıyın.Deneyimi çalıştırdıktan sonra, modül kendini çeşitli hizmetlere dağıtacak ve çalışmaya başlayacaktır.
Studio'da test et
Modülü Studio'da test etmek için, Arkadaş Bulucu modülü çoklu müşteri simülasyonunda çalıştırılmalıdır, çünkü bir solo oynatma testinde hiçbir arkadaş bulunmayacaktır.
In Başlangıç OyuncuScriptleri , yeni bir LocalScript oluştur ve adını ArkadaşBulucuKonfigüratörü olarak değiştir.
Aşağıdaki kodu yeni ConfigureFriendsLocator scriptine yapıştırın.Studio'da test ederken tüm kullanıcılar için işaretleyicilerin gösterilmesini sağlayan showAllPlayers içindeki yapılandırma işlevi, yayınlanmış bir dünyadeğil.
YerelScript - DostlarıBulucuYapılandırmalocal RunService = game:GetService("RunService")local ReplicatedStorage = game:GetService("ReplicatedStorage")local FriendsLocator = require(ReplicatedStorage:WaitForChild("FriendsLocator"))FriendsLocator.configure({showAllPlayers = RunService:IsStudio(), -- Studio'da depurasyon sağlar})Araç çubuğunun Test sekmesinden, Müşteriler ve Sunucular için aşağıdaki kombinasyonu seçin, ardından Başlat düğmesine tıklayın.Studio'nun üç yeni örneği açılacak; bir simüle edilmiş sunucu ve iki simüle edilmiş müşteri.
müşteri Stüdyo örneklerinden birine girin, diğer karakterden 100 damga uzaklığında bir mesafe hareket edin ve başının üzerinde bir konumlandırıcı simgesi görünmesini görmelisiniz.
Etkinliklere bağlanma
Arkadaş Bulucu modülü, kullanıcılar bir konumlayıcı simgesiyle etkileşim kurduğunda özel davranışlar tanıtabilmeniz için olayları ortaya çıkarır.
Studio'da test edilen DostlarBulucuYapılandırmaSenaryosu senaryosunda belirtilen ConfigureFriendsLocator kısmını oluşturduğunuzdan emin olun.
Senaryoya 8 ve 11-13 satırları ekleyin:
YerelScript - DostlarıBulucuYapılandırmalocal RunService = game:GetService("RunService")local ReplicatedStorage = game:GetService("ReplicatedStorage")local FriendsLocator = require(ReplicatedStorage:WaitForChild("FriendsLocator"))FriendsLocator.configure({showAllPlayers = RunService:IsStudio(), -- Studio'da depurasyon sağlarteleportToFriend = false, -- Simge tıklaması/ dokunması üzerindeki ışınlanmayı engelle})FriendsLocator.clicked:Connect(function(player, playerCFrame)print("You clicked on locator icon for", player.DisplayName)end)Bir çoklu müşteri testi yapın ve başka bir karakterin konumlayıcı simgesine tıklayın.Karakterinizin o konuma ışınlanmadığını ve etkinliğin özel ikon tıklamalarına izin vermek için tetiklendiğini fark edin.
Özel konumlandırıcı UI
Varsayılan stil deneyiminize uymuyorsa, varsayılan avatar portre UI'sini kendi UI'nizle değiştirebilirsiniz.

Varsayılan UI'yi değiştirmek için:
Yeni bir ScreenGui örneğini StarterGui konteynerinin içine oluşturun.
Yeni ın bir çocu olarak adlandırılan bir FriendLocator örneği oluşturun, ardından , gibi elemanları ekleyin, özel UI'nizi tasarlayın.
Bitirildiğinde, devre dışı bırak ebeveyn ScreenGui öyle ki modül gerekli olana kadar özel konumlayıcı arayüzünü göstermesin.
(Opsiyonel) Eğer arkadaşın avatar portresini ve DisplayName özelleştirilmiş UI'de bir yerde görünmesini istiyorsanız, aşağıdaki örnekleri ArkadaşBulucu çerçevesine yerleştirebilirsiniz.
- Adın ImageLabel bir kısmı Portre .
- Bir TextLabel adının DisplayName 'si.
Modül bu öğeleri arayacak ve arkadaşın avatar portresini veya ismini görüntüleyecektir.
API referansı
Fonksiyonlar
yapılandır
yapılandır(config: table )
Varsayılan yapılandırma seçeneklerini aşağıdaki anahtarlar/değerler aracılığıyla geçersiz kılar: config tablosunda.
Anahtar | Açıklama | Varsayılan |
---|---|---|
alwaysOnTop | Eğer true , her şeyin üzerinde konumlayıcı simgeler gösterir, böylece 3D dünya nesneleri tarafından engellenmelerini engeller. | doğru |
showAllPlayers | Eğer true , tüm oyuncular için konumları gösterir, sadece arkadaşlar değil; bu, Studio'daki modülün işlevini doğrulamaya yardımcı olabilir. | sahte |
teleportToFriend | Konumlandırıcı simgesi tıklanır veya dokunulduğunda oyuncu karakterini arkadaşın konumuna ışınlar. | doğru |
thresholdDistance | Konumlandırıcı simgelerinin göründüğü kamera mesafesi sınırı; bu mesafeden daha yakın arkadaşlar simgeleri görüntülemeyecek. | 100 |
maxLocators | Herhangi bir zamanda gösterilen maksimum konumlayıcı simgesi sayısı. | 10 |
YerelScript - DostlarıBulucuYapılandırma
local ReplicatedStorage = game:GetService("ReplicatedStorage")local FriendsLocator = require(ReplicatedStorage:WaitForChild("FriendsLocator"))FriendsLocator.configure({alwaysOnTop = true,showAllPlayers = false,teleportToFriend = true,thresholdDistance = 100,maxLocators = 10})
Etkinlikler
tıkladı
Bir konumlandırıcı simgesi yerel oyuncu tarafından tıklanır/etkinleştirildiğinde ateş eder. Bu olay yalnızca bir LocalScript içinde bağlanabilir.
Değerler | |
---|---|
oyuncu: Player | Konumlandırıcı simgesinin ait olduğu oyuncu. |
oyuncuCFrame: CFrame | CFrame oyuncunun Humanoid.RootPart konumlandırıcı ikonuna sahip olduğu oyuncunun. |
YerelScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Players = game:GetService("Players")
local Workspace = game:GetService("Workspace")
local FriendsLocator = require(ReplicatedStorage:WaitForChild("FriendsLocator"))
local localPlayer = Players.LocalPlayer
FriendsLocator.clicked:Connect(function(player, playerCFrame)
-- Hedef konum etrafında yayın isteği gönderin
if Workspace.StreamingEnabled then
local success, errorMessage = pcall(function()
localPlayer:RequestStreamAroundAsync(playerCFrame.Position)
end)
if not success then
print(errorMessage)
end
end
print("You clicked on locator icon for", player.DisplayName, "at position", playerCFrame.Position)
end)
görünürlükDeğiştirildi
Yer işaretleyici bir ikon lokal oyuncunun ekranında gösterildiğinde/gizlendiğinde ateş eder. Bu olay yalnızca bir LocalScript içinde bağlanabilir.
Değerler | |
---|---|
oyuncu: Player | Player konumlandırıcı simgesinin ait olduğu nesne. |
playerCFrame: CFrame | CFrame oyuncunun Humanoid.RootPart konumlandırıcı ikonuna sahip olduğu oyuncunun. |
görülebilir: boolean | Konumlandırıcı simgesi şu anda yerel oyuncunun ekranında görünür olup olmadığı.Unutmayın ki bu hala true eğer alwaysOnTop``false ve yer işaretleyici bir nesnenin arkasında görüntüleniyorsa. |
YerelScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local FriendsLocator = require(ReplicatedStorage:WaitForChild("FriendsLocator"))
FriendsLocator.visibilityChanged:Connect(function(player, playerCFrame, isVisible)
print("Visibility of locator icon for", player.DisplayName, ":", isVisible)
end)