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.

Arkadaşları deneyim içinde bulmak zor olabilir. ArkadaşlarLocatorgeliştirici modülü oyuncuları kolayca bir dünyaiçinde arkadaşlarına buluşturur ve ışınlanır.

Modül Kullanımı

Kurulum

Bir deneyimde FriendsLocator modülünü kullanmak:

  1. Görüntü sayfasından aç Araç Kutusu ve seç Yaratıcı Dükkanı sayfasını.

    Toolbox toggle button in Studio
  2. Modelleri Sırala seçimi seçildiğinden emin olun, sonra Tümünü Gör düğmesine tıklayın, Kategoriler için.

  3. Yerleştir ve Dev Modülleri mozülünü tıkla.

  4. Arkadaşlarınızı Bulma Modülünü bul ve tıkla, veya 3D görüşüne kaydır-kaydır.

  5. In the Explorer window, move the entire FriendsLocator model into ServerScriptService . On running the experience, the module will distribute itself to various services and begin running.

Stüdyo'da Test

Modülü Studio'da test etmek için, FriendsLocator modülü çok klien simülatöründe çalıştırılmalıdır, çünkü tek bir arkadaş yalnız bir oyun testinde bulunmayacaktır.

  1. In StarterPlayerScripts , yeni bir LocalScript oluştur ve onu Arkadaşlarınızı Bulma Yapılandırıcı olarak yeniden adlandır.

  2. Aşağıdaki kodu yeni Arkadaşlarınızı Bulma Etkinleştirici kriptine yapıştırın. showAllPlayers ayarı, Studio'da test edilirken tüm kullanıcılar için konumlayıcılar görüntülenmesini sağlar, ancak yayınlanmış bir dünyagörüntülenmez.

    Yerel Kod - Dostlarınızı Bulma Düğmesini Yapılandırın

    local RunService = game:GetService("RunService")
    local ReplicatedStorage = game:GetService("ReplicatedStorage")
    local FriendsLocator = require(ReplicatedStorage:WaitForChild("FriendsLocator"))
    FriendsLocator.configure({
    showAllPlayers = RunService:IsStudio(), -- Stüdyo'da debug yapmanızı sağlar
    })
  3. Test sekmesinden Müşteriler ve Sunucular için şu kombinasyonu seçin, sonra Başlat düğmesine tıklayın. Üç Studio yeni istemesi açılacak; bir simüle sunucu ve iki simüle müşteri.

  4. client Studio instanslarından birine gidin, diğer karakterden 100 stud uzaklıkta hareket edin ve kafasının üzerinde bir lokasyon işaretleyici görünmesi gerekir.

Etkinliklere Bağlanıyor

Arkadaş Bulucu modülü, kullanıcılar bir konum ikonuyla etkileşime geçtiğinde özelleştirilmiş davranışlar sunar, böylece kullanıcıların bir konum ikonuyla etkileşime geçmesiyle kullanıcıların davranışlarını özelleştirebilirsiniz.

  1. Testing in Studio altındaki FriendsLocator kısmını test ettiğinizden emin olun.

  2. 8. ve 11. satırları senaryoya ekleyin:

    Yerel Kod - Dostlarınızı Bulma Düğmesini Yapılandırın

    local RunService = game:GetService("RunService")
    local ReplicatedStorage = game:GetService("ReplicatedStorage")
    local FriendsLocator = require(ReplicatedStorage:WaitForChild("FriendsLocator"))
    FriendsLocator.configure({
    showAllPlayers = RunService:IsStudio(), -- Stüdyo'da debug yapmanızı sağlar
    teleportToFriend = false, -- Simge tıklama/dokunma sırasında ışınlanmayı önle
    })
    FriendsLocator.clicked:Connect(function(player, playerCFrame)
    print("You clicked on locator icon for", player.DisplayName)
    end)
  3. Bir çok-klien testi yapın ve başka bir karakterin konumlayıcısına tıklayın. Fark edin ki karakteriniz bu konuma ışınlanmaz ve etkinlik tetikleyicileri, simge tıklamaları için kişiselleştirilmiş bir işleme izin vermek için etkinleştirilir.

Özel Konumlayıcı Arayüzü

Varsayılan stil deneyiminize uymuyorsa, varsayılan avatar portres UI'sini kendi UI'nizle değiştirebilirsiniz.

Varsayılan UI'yi değiştirmek için:

  1. Class.ScreenGui yeni bir örnek oluşturun StarterGui kümesi içinde.

  2. Yeni Frame ın bir çocuğu olarak ArkadaşYerleştirici adında bir ScreenGui oluşturun, sonra 2> Class.ImageLabel|ImageLabels2> , 5> Class.TextLabel|TextLabels5> gibi öğeleri ekleyin, kişiselleştirmeniz için özelleştir

  3. Bittiğinde, devre dışı bırak ebeveyni ScreenGui , modülün gerektiğinde özelleştirici lokasyon arayüzünü göstermemesini sağlayın.

  4. (İsteğe Bağlı) Eğer arkadaşınızın avatar portresini ve DisplayName 'i özelleştirilmiş UI'de görünmek istiyorsanız, FriendLocator kare içine aşağıdaki instansları yerleştirebilirsiniz.

    • Bir ImageLabel adındaki bir Portrait .
    • Class.TextLabel adının bir Görüntü Adı ile.

    Modül bunları arar ve arkadaşın avatar portresini / veya ismini gösterir.

API İşaretçisi

Fonksiyonlar

yapılandır

yapılandır(Config: table )

Aşağıdaki anahtarlar/değerler aracılığıyla varsayılan yapılandırma seçeneklerinin üstesinden gelir.

AnahtarAçıklamaVarsayılan
alwaysOnTopEğer true , her şeyin üstünde lokasyon işaretleri gösterir, böylece 3B dünya nesneleri tarafından bloklanmalarını önler.doğru
showAllPlayersEğer true , sadece arkadaşlar değil, tüm oyuncular için konumlar gösterir; bu, modülün Studio'da işlevselliğini doğrulamada yardımcı olabilir.yanlış
teleportToFriendYerleştirici ikonlarına tıklanır veya dokunulduğunda oyuncu karakterini arkadaşının yerine ışınlanır.doğru
thresholdDistanceKamera mesafesi eşikleri, bu mesafedeki arkadaşlar görünmez.100
maxLocatorsHerhangi bir zamanda gösterilen maksimum sayıda lokasyon ikonu.10
Yerel Kod - Dostlarınızı Bulma Düğmesini Yapılandırın

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ı

Yerel oyuncu tarafından bir konum işaretleyici ikonu tıkladığında/etkinleştirdiğinde ateştirir. Bu olay sadece bir LocalScript ile bağlanabilir.

Parametreler
oyuncu: PlayerLokasyon ikonunun sahip olduğu oyuncu.
playerCFrame: CFrame Class.Humanoid.RootPart ]'in sahibi olan oyuncunun Datatype.CFrame 'i.
Yerel Kod

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Players = game:GetService("Players")
local FriendsLocator = require(ReplicatedStorage:WaitForChild("FriendsLocator"))
local localPlayer = Players.LocalPlayer
FriendsLocator.clicked:Connect(function(player, playerCFrame)
-- Hedef konumunun etrafında yayın talep et
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

Yerel oyuncu ekranında bir konum göstergesi göründüğünde / gizlendiğinde ateşlenir. Bu olay sadece bir LocalScript ile bağlanabilir.

Parametreler
oyuncu: PlayerPlayerClass.Player]
playerCFrame: CFrame Class.Humanoid.RootPart ]'in sahibi olan oyuncunun Datatype.CFrame 'i.
isVisible: booleanLokasyon ikonu yerel oyuncu ekranında şu anda görünür mü? Bu, hala true olacaktır, eğer alwaysOnTop veya nesnenin 3D dünyasındaki arkasındaki lokasyon görüntüleri görüntüleniyorsa.
Yerel Kod

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)