Arkadaş Bulucu

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

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:

  1. Görüntü sekmesinden açın Araç çantası ve Yaratıcı mağazası sekmesini seçin.

    Toolbox toggle button in Studio
  2. 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 >.

  3. Yerini ve tıklayın Geliştirici Modülleri düğmesi.

  4. Arkadaş Bulucu modülünü bulun ve tıklayın veya 3B görüntüye sürükleyin ve bırakın.

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

  1. In Başlangıç ​​OyuncuScriptleri , yeni bir LocalScript oluştur ve adını ArkadaşBulucuKonfigüratörü olarak değiştir.

  2. 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ırma

    local 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
    })
  3. 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.

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

  1. Studio'da test edilen DostlarBulucuYapılandırmaSenaryosu senaryosunda belirtilen ConfigureFriendsLocator kısmını oluşturduğunuzdan emin olun.

  2. Senaryoya 8 ve 11-13 satırları ekleyin:

    YerelScript - DostlarıBulucuYapılandırma

    local 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
    teleportToFriend = false, -- Simge tıklaması/ dokunması üzerindeki ışınlanmayı engelle
    })
    FriendsLocator.clicked:Connect(function(player, playerCFrame)
    print("You clicked on locator icon for", player.DisplayName)
    end)
  3. 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:

  1. Yeni bir ScreenGui örneğini StarterGui konteynerinin içine oluşturun.

  2. Yeni ın bir çocu olarak adlandırılan bir FriendLocator örneği oluşturun, ardından , gibi elemanları ekleyin, özel UI'nizi tasarlayın.

  3. Bitirildiğinde, devre dışı bırak ebeveyn ScreenGui öyle ki modül gerekli olana kadar özel konumlayıcı arayüzünü göstermesin.

  4. (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.

    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.

AnahtarAçıklamaVarsayılan
alwaysOnTopEğer true , her şeyin üzerinde konumlayıcı simgeler gösterir, böylece 3D dünya nesneleri tarafından engellenmelerini engeller.doğru
showAllPlayersEğ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
teleportToFriendKonumlandırıcı simgesi tıklanır veya dokunulduğunda oyuncu karakterini arkadaşın konumuna ışınlar.doğru
thresholdDistanceKonumlandırıcı simgelerinin göründüğü kamera mesafesi sınırı; bu mesafeden daha yakın arkadaşlar simgeleri görüntülemeyecek.100
maxLocatorsHerhangi 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: PlayerKonumlandırıcı simgesinin ait olduğu oyuncu.
oyuncuCFrame: CFrameCFrame 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: PlayerPlayer konumlandırıcı simgesinin ait olduğu nesne.
playerCFrame: CFrameCFrame oyuncunun Humanoid.RootPart konumlandırıcı ikonuna sahip olduğu oyuncunun.
görülebilir: booleanKonumlandı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)