Arkadaşlar Lokatörü

*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. FriendsLocator geliştirici modülü, oyuncuların bir yerdeki arkadaşlarını kolayca bulmasını ve onlara teleport olmasını sağlar.

Modül kullanımı

Kurulum

FriendsLocator modülünü bir deneyimde kullanmak için:

  1. Studio'nun Pencere menüsünden veya Ana Sayfa sekmesindeki araç çubuğundan, Alet Kutusu'nu açın ve Yaratıcı Mağaza sekmesini seçin.

  2. Modeller sıralamasının seçili olduğundan emin olun, ardından Kategoriler için Hepsini Gör butonuna tıklayın.

  3. Paketler kutusunu bulun ve üzerine tıklayın.

  4. Arkadaşlar Lokatörü modülünü bulun ve üzerine tıklayın veya 3D görünümüne sürükleyip bırakın.

  5. Explorer penceresinde, tüm FriendsLocator modelini ReplicatedStorage içine taşıyın. Deneyim çalıştığında, modül çalışmaya başlayacaktır.

Studio'da Test Etme

Modülü Studio'da test etmek için, FriendsLocator modülünün çoklu istemci simülasyonunda çalıştırılması gerekir; çünkü tek başına bir oyun testinde arkadaşlar mevcut olmayacaktır.

  1. StarterPlayerScripts içinde yeni bir LocalScript oluşturun ve adını ConfigureFriendsLocator olarak değiştirin.

  2. Yeni ConfigureFriendsLocator scriptine aşağıdaki kodu yapıştırın. configure fonksiyonu içindeki showAllPlayers ayarı, Studio'da test ederken tüm kullanıcılar için lokatörlerin gösterilmesini sağlar, ancak yayında bir yerde değil.

    LocalScript - ConfigureFriendsLocator

    local RunService = game:GetService("RunService")
    local ReplicatedStorage = game:GetService("ReplicatedStorage")
    local FriendsLocator = require(ReplicatedStorage.FriendsLocator)
    FriendsLocator.configure({
    showAllPlayers = RunService:IsStudio(), -- Studio'da hata ayıklama için izin verir
    })
  3. Studio'nun mezzanininden 2 istemci ile bir çoklu istemci simülasyonu başlatın. Üç yeni Studio örneği açılacaktır; bir simüle edilmiş sunucu ve iki simüle edilmiş istemci.

    Studio'nun mezzanininde test modları açılır menüsündeki Sunucu & İstemciler seçeneği.
  4. İstemci Studio örneklerinden birine girin, diğer karakterden 100 birim uzaklaşın ve başının üzerinde bir lokatör ikonu görünmelidir.

Olaylara Bağlanma

FriendsLocator modülü, kullanıcıların bir lokatör ikonuyla etkileşime girdiğinde özel davranışlar tanıtmanızı sağlayan olaylar açar.

  1. Studio'da test etme bölümünde belirttiğiniz ConfigureFriendsLocator scriptinin oluşturulduğundan emin olun.

  2. Script'e 8. ve 11-13. satırları ekleyin:

    LocalScript - ConfigureFriendsLocator

    local RunService = game:GetService("RunService")
    local ReplicatedStorage = game:GetService("ReplicatedStorage")
    local FriendsLocator = require(ReplicatedStorage.FriendsLocator)
    FriendsLocator.configure({
    showAllPlayers = RunService:IsStudio(), -- Studio'da hata ayıklama için izin verir
    teleportToFriend = false, -- İkon tıklanması/değilmesi durumunda teleportu engeller
    })
    FriendsLocator.clicked:Connect(function(player, playerCFrame)
    print("Lokatör ikonuna tıkladınız:", player.DisplayName)
    end)
  3. Bir çoklu istemci testi gerçekleştirin ve başka bir karakterin lokatör ikonuna tıklayın. Karakterinizin o konuma teleport olmadığını, ayrıca ikon tıklamalarının özel işlenmesine izin vermek için olayın tetiklendiğini fark edin.

Özel lokatör UI'si

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

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

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

  2. Yeni ScreenGui altına FriendLocator adlı bir Frame örneği oluşturun, ardından özel UI'nizi tasarlamak için ImageLabels, TextLabels gibi öğeler ekleyin.

  3. İşiniz bittiğinde, modül özel lokatör UI'sini gerekli oluncaya kadar göstermemek için ana ScreenGui'yi devre dışı bırakın.

  4. (İsteğe Bağlı) Eğer arkadaşınızın avatar portresinin ve DisplayName'ın özel UI'da bir yerde görünmesini istiyorsanız, aşağıdaki örnekleri FriendLocator çerçevesinin içine yerleştirebilirsiniz.

    Modül, bu öğeleri arayacak ve sırasıyla arkadaşınızın avatar portresini ve/veya görüntüleme adını gösterecektir.

API referansı

Fonksiyonlar

configure

configure(config: table)

config tablosundaki aşağıdaki anahtar/değerlerle varsayılan yapılandırma seçeneklerini geçersiz kılar.

AnahtarAçıklamaVarsayılan
alwaysOnTopEğer true ise, lokatör ikonlarını her şeyin üstünde gösterir ve 3D dünya nesneleri tarafından engellenmelerini önler.true
showAllPlayersEğer true ise, sadece arkadaşlar değil tüm oyuncuların konumlarını gösterir; bu, modülün işlevselliğini Studio'da doğrulamaya yardımcı olabilir.false
teleportToFriendİkonlarına tıklanıp/değildiğinde oyuncu karakterini arkadaşının konumuna teleport eder.true
thresholdDistanceLokatör ikonlarının görünmeye başladığı kamera mesafe eşiği; bu mesafeden daha yakın olan arkadaşların ikonları gösterilmeyecektir.100
maxLocatorsHerhangi bir anda gösterilen maksimum lokatör ikonu sayısı.10
LocalScript - ConfigureFriendsLocator

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local FriendsLocator = require(ReplicatedStorage.FriendsLocator)
FriendsLocator.configure({
alwaysOnTop = true,
showAllPlayers = false,
teleportToFriend = true,
thresholdDistance = 100,
maxLocators = 10
})

Olaylar

clicked

Bir lokatör ikonu yerel oyuncu tarafından tıklandığında/devreye alındığında tetiklenir. Bu olay yalnızca bir LocalScript içinde bağlanabilir.

Parametreler
player: PlayerLokatör ikonunun ait olduğu oyuncu.
playerCFrame: CFrameLokatör ikonunun ait olduğu oyuncunun Humanoid.RootPart'ının CFrame'i.
LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Players = game:GetService("Players")
local Workspace = game:GetService("Workspace")
local FriendsLocator = require(ReplicatedStorage.FriendsLocator)
local localPlayer = Players.LocalPlayer
FriendsLocator.clicked:Connect(function(player, playerCFrame)
-- Hedef konum etrafında akış talebinde bulunun
if Workspace.StreamingEnabled then
local success, errorMessage = pcall(function()
localPlayer:RequestStreamAroundAsync(playerCFrame.Position)
end)
if not success then
print(errorMessage)
end
end
print("Lokatör ikonuna tıkladınız:", player.DisplayName, "konumunda", playerCFrame.Position)
end)

visibilityChanged

Bir lokatör ikonu yerel oyuncunun ekranında gösterildiğinde/gizlendiğinde tetiklenir. Bu olay yalnızca bir LocalScript içinde bağlanabilir.

Parametreler
player: PlayerLokatör ikonunun ait olduğu Player nesnesi.
playerCFrame: CFrameLokatör ikonunun ait olduğu oyuncunun Humanoid.RootPart'ının CFrame'i.
isVisible: booleanLokatör ikonunun mevcutta yerel oyuncunun ekranında görünür olup olmadığı. alwaysOnTop değeri false ise ve lokatör bir 3D dünya nesnesinin arkasında render ediliyorsa bu değer yine de true olacaktır.
LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local FriendsLocator = require(ReplicatedStorage.FriendsLocator)
FriendsLocator.visibilityChanged:Connect(function(player, playerCFrame, isVisible)
print("Lokatör ikonunun görünürlüğü", player.DisplayName, "için:", isVisible)
end)
©2026 Roblox Corporation. Roblox, the Roblox logo and Powering Imagination are among our registered and unregistered trademarks in the U.S. and other countries.