Mit Freunden spawnen

*Dieser Inhalt wurde mit KI (Beta) übersetzt und kann Fehler enthalten. Um diese Seite auf Englisch zu sehen, klicke hier.

Es kann herausfordernd sein, Freunde im Erlebnis zu finden.Das SpawnWithFriends Entwicklermodul bewegt automatisch Spieler nahe einer ihrer Freunde, die in der Erfahrung präsent sind.Dieses Modul kann auch so konfiguriert werden, dass ein Spieler auf Befehl teleportiert wird, anstatt automatisch.

Modul-Verwendung

Installationen

Um das SpawnWithFriends -Modul in einem Erlebnis zu verwenden:

  1. Von der Ansicht-Registerkarte öffne die Toolbox und wähle die Creator-Store -Registerkarte aus.

    Toolbox toggle button in Studio
  2. Stellen Sie sicher, dass die Sortierung der Modelle ausgewählt ist, dann klicken Sie auf die Schaltfläche Alle sehen für Kategorien .

  3. Suchen und klicken Sie auf die Entwickler-Module -Kachel.

  4. Suchen Sie das Spawn mit Freunden -Modul und klicken Sie darauf oder ziehen Sie es in die 3D-Ansicht.

  5. In dem Explorer Fenster, verschiebe das gesamte SpawnWithFriends Modell in ServerScriptService .Wenn das Erlebnis ausgeführt wird, verteilt sich das Modul auf verschiedene Dienste und beginnt zu laufen.

Gesperrte Spawn-Bereiche

Dieses Modul kann dazu führen, dass Spieler in eingeschränkten Bereichen wie VIP-Räumen, Zugangsbereichen usw. spawnen.Um Spieler von der Teleportation in diese Bereiche zu verhindern:

  1. Füllen Sie den eingeschränkten Bereich mit unsichtbaren Anchored Blöcken.Stellen Sie sicher, dass CanCollide, CanTouch und CanQuery für alle Blöcke deaktiviert sind deaktiviert .

    Block füllt den gesamten Gefängnisraum, um zu verhindern, dass Spieler innerhalb spawnen
  2. Mit dem Abschnitt Tags der Eigenschaften eines Blöckeoder mit dem Tag-Editor von Studio wird der Tag RestrictedSpawnArea, damit CollectionService.

  3. Fügen Sie den folgenden Code in einen Script innerhalb von ServerScriptService ein.

    Skript

    local ReplicatedStorage = game:GetService("ReplicatedStorage")
    local CollectionService = game:GetService("CollectionService")
    local SpawnWithFriends = require(ReplicatedStorage:WaitForChild("SpawnWithFriends"))
    local function validator(playerToTeleport, destinationPlayer, teleportationPoint)
    -- Durch alle mit Tags versehenen Teile iterieren
    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-Ziel befindet sich in einem eingeschränkten Bereich; Teleportation abbrechen
    end
    end
    return true -- Spawn-Ziel deckt keinen eingeschränkten Bereich ab; fahren Sie mit der Teleportation fort
    end
    SpawnWithFriends.setTeleportationValidator(validator)

API-Referenz

Funktionen

konfigurieren

konfigurieren(config: table )

Übernimmt Standard-Konfigurationsoptionen durch die folgenden Schlüssel-/Werte in der config Tabelle.Diese Funktion kann nur von einem Script aufgerufen werden.

SchlaveBeschreibungStandardmäßig
teleportToFriendOnRespawnWenn auf false festgelegt, geschieht die Teleportation zu einem Freund nur manuell über teleportToRandomFriend.wahr
teleportDistanceWie weit Spieler voneinander entfernt spawnen sollten, gemessen in Stollen.5
maxCharacterVelocityZeichen, die schneller als dieser Wert bewegen, werden zum Beispiel nicht als Teleportationskandidaten ausgewählt, zum Beispiel diejenigen in bewegenden Fahrzeugen.48
bypassFriendshipCheckWenn auf wahr gesetzt, werden alle Spieler Kandidaten für die Teleportation, nicht nur Freunde.falsch
showLogsOb oder nicht Lognachrichten im Ausgabe anzeigen.falsch
Skript

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

teleportieren zu zufälligem Freund

teleportToRandomFriend(playerToTeleport: Player ): boolean

Aktiviert manuell die Teleportation eines Spielers zu einem seiner Freunde im Erlebnis.Gibt einen booleschen Wert zurück, der anzeigt, ob die Teleportation erfolgreich war oder nicht; ein Fehlschlag der Teleportation kann durch den Verlust von Freunden auf dem Server oder die Unfähigkeit verursacht werden, einen ungestörten Teleportationspunkt zu finden.Diese Funktion kann nur von einem Script aufgerufen werden.

setTeleportationValidateur einstellen

setTeleportationValidator(Validator: function )

Ermöglicht es Ihnen, benutzerdefinierte Prä-Teleportationsüberprüfungen durchzuführen, indem Sie eine gültige Validator-Rückruffunktion verbinden. Die Rückruffunktion erhält drei Parameter:

ParameterBeschreibung
playerToTeleportReferenz auf das Player, das teleportiert wird.
destinationPlayerReferenz auf das Ziel Player, zu dem playerToTeleport teleportiert wird.
teleportationPointCFrame wo playerToTeleport teleportiert wird.

Diese Funktion und ihr Rückruf können nur in einem Script verwendet werden, und der Rückruf gibt einen booleschen Wert zurück, der anzeigt, ob die Teleportation fortgesetzt werden soll.Zum Beispiel gewährleistet die return Logik in der folgenden Validierungsfunktion, dass der spawnende Spieler und der Zielspieler auf demselben Team sind.

Skript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SpawnWithFriends = require(ReplicatedStorage:WaitForChild("SpawnWithFriends"))
-- Teleportiert Spieler nur, wenn sie im selben Team sind
local function validator(playerToTeleport, destinationPlayer, teleportationPoint)
return playerToTeleport.Team == destinationPlayer.Team
end
SpawnWithFriends.setTeleportationValidator(validator)