Arkadaşlarınızla Ortaya Çık

*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. SpawnWithFriends geliştirici modülü otomatik olarak bir arkadaşının bulunduğu yakındaki bir oyuncuyu oluşturur. Bu modül ayrıca bir oyuncuyu otomatik olarak değil, emir olarak ışınlanmayı da sağlayabilir.

Modül Kullanımı

Kurulum

Bir deneyimde SpawnWithFriends modülünü kullanmak için:

  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şlarla Ortaya Çıkma Modülünü bul ve tıkla, yoksa 3D görüşüne kaydır ve bırak.

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

Sınırlı Olarak Açılan Bölgeler

Bu modül, VIP odaları gibi sınırlı alanlarda oluşan oyunculara neden olabilir. Oyuncuların bu alanlara ışınlanmasını önlemek için:

  1. Sınırlı alanı görünmez Anchored bloklarla doldurun. Make sure CanCollide , CanTouch ve 1> Class.BasePart.CanQueue|CanQueue1> bloklarının tü

    Oyuncuların içinde oluşmasını önlemek için tüm hapishane odasını bloke et
  2. Her blokun özelliklerinin Etiketleri bölümünü kullanırken, Studio'nun Etiket Editor'ı , etiketi RestrictedSpawnArea uygular, böylece 2> Class.CollectionService2> onları tespit eder.

  3. Aşağıdaki kodu ServerScriptService içindeki bir Class.Script içine yapıştırın.

    Kod

    local ReplicatedStorage = game:GetService("ReplicatedStorage")
    local CollectionService = game:GetService("CollectionService")
    local SpawnWithFriends = require(ReplicatedStorage:WaitForChild("SpawnWithFriends"))
    local function validator(playerToTeleport, destinationPlayer, teleportationPoint)
    -- Tüm etiketli parçalarda itere
    for _, area in CollectionService:GetTagged("RestrictedSpawnArea") do
    local relativePosition = area.CFrame:PointToObjectSpace(teleportationPoint.Position)
    local size = area.Size
    local inXBounds = relativePosition.X < size.X / 2 and relativePosition.X > -size.X / 2
    local inZBounds = relativePosition.Z < size.Z / 2 and relativePosition.Z > -size.Z / 2
    if inXBounds and inZBounds then
    return false -- Spawn ulaşım hedefi sınırlı alan içindedir; ışınlanmayı iptal et
    end
    end
    return true -- Spawn desteği herhangi bir sınırlı alanla çakışmaz; Işınlanmayı devam edin
    end
    SpawnWithFriends.setTeleportationValidator(validator)

API İşaretçisi

Fonksiyonlar

yapılandır

yapılandır(Config: table )

class.脚本 tabelasındaki önbelleği geçersiz hale getiren anahtarlar/değerler aracılığıyla varsayılan yapılandırma seçeneklerini üst üste geçersiz kılar. Bu işlev sadece Script ile bağlantı kurulabilir.

AnahtarAçıklamaVarsayılan
teleportToFriendOnRespawnfalse olarak ayarlanırsa, bir arkadaşa ışınlanma sadece teleportToRandomFriend aracılığıyla manuel olarak gerçekleştirilir.doğru
teleportDistanceOyuncuların birbirinden kaç metre ötede oluşması gerektiği, metrelerle ölçülür.5
maxCharacterVelocityHareket eden bu değerden daha hızlı olan karakterler, örneğin hareket eden araçlar içinde seçilmez.48
bypassFriendshipCheckAçık olarak ayarlanırsa, tüm oyuncular uzaktan ışınlanma için aday olacak, sadece arkadaşlar değil.yanlış
showLogsLog mesajlarını çıktıda göstereceğiniz yoksa göstermeyeceğiniz.yanlış
Kod

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SpawnWithFriends = require(ReplicatedStorage:WaitForChild("SpawnWithFriends"))
SpawnWithFriends.configure({
teleportToFriendOnRespawn = true,
teleportDistance = 5,
maxCharacterVelocity = 48,
bypassFriendshipCheck = false,
showLogs = false
})

teleportToRandomFriend

teleportToRandomFriend(playerToTeleport: Player): boolean

Bir oyuncunun deneyimdeki bir arkadaşına ışınlanmasını manuel olarak başlatır. İşlem başarılı olup olmadığını gösteren bir booleto döndürür; ışınlanma başarısız olabilir; sunucudaki arkadaş yoksa dağıtık ışınlanma noktası bulma yeteneği yoksa başlatılamaz. Bu işlev sadece

setIşınlanmaValidatörü

setTeleportationValidation(Validation: function )

Geçerli bir validatör geri bildirim işlevi bağlayarak özelleştirilmiş ön-izin kontrollerini yapmanızı sağlar. İşlev, üç parametre alır:

DeğerAçıklama
playerToTeleportIşınlanılan Player'a referans.
destinationPlayer playerToTeleport içinde bulunan hedefe olan referans.
teleportationPointCFrame nerede playerToTeleport teleport ediliyor.

Bu işlev ve çağrısı sadece bir Script içinde ve çağrı dönüşü bir boşluk işaretleyerek ışınlanmanın devam ettiğini gösterir. Örneğin, aşağıdaki return mantığı, oluşturulan oyuncunun ve hedef oyuncunun aynı takımda olduğunu garanti eder.

Kod

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SpawnWithFriends = require(ReplicatedStorage:WaitForChild("SpawnWithFriends"))
-- Oyuncuların aynı takımda olması durumunda sadece oyuncuları ışınlayır
local function validator(playerToTeleport, destinationPlayer, teleportationPoint)
return playerToTeleport.Team == destinationPlayer.Team
end
SpawnWithFriends.setTeleportationValidator(validator)