Può essere difficile localizzare gli amici in gioco. Il modulo SpawnConAmici developer module sposta automaticamente i giocatori che stanno nascendo vicino a uno dei loro amici presenti nel gioco. Questo modulo può anche essere configurato per teletrasportare un giocatore su comando invece di farlo automaticamente.
Utilizzo del Modulo
Installazione
Per utilizzare il modulo SpawnConAmici in un gioco:
Dal menu Finestra di Studio o dalla barra degli strumenti della scheda Home, apri il Toolbox e seleziona la scheda Creator Store.

Assicurati che sia selezionato l'ordinamento Modelli, quindi fai clic sul pulsante Vedi Tutti per le Categorie.

Individua e fai clic sulla tessera Pacchetti.
Individua il modulo Spawn Con Amici e fai clic su di esso, oppure trascinalo nella vista 3D.

Nella finestra Esplora, sposta l'intero modello SpawnConAmici in ReplicatedStorage. Una volta avviato il gioco, il modulo inizierà a funzionare.
Aree di Nascita Riservate
Questo modulo potrebbe far nascere i giocatori in aree riservate come stanze VIP, spazi accessibili solo, ecc. Per evitare che i giocatori vengano teletrasportati in queste aree:
Riempi l'area riservata con blocchi invisibili Anchored. Assicurati che CanCollide, CanTouch e CanQuery siano disabilitati per tutti i blocchi.

Blocco che riempie l'intera stanza del carcere per impedire ai giocatori di nascere all'interno Utilizzando la sezione Tag delle proprietà di ciascun blocco, applica il tag RestrictedSpawnArea in modo che CollectionService possa rilevarli.
Incolla il seguente codice in un Script all'interno di ServerScriptService.
Scriptlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local CollectionService = game:GetService("CollectionService")local SpawnConAmici = require(ReplicatedStorage.SpawnConAmici)local function validator(playerToTeleport, destinationPlayer, teleportationPoint)-- Itera attraverso tutti i pezzi contrassegnatifor _, area in CollectionService:GetTagged("RestrictedSpawnArea") dolocal relativePosition = area.CFrame:PointToObjectSpace(teleportationPoint.Position)local size = area.Sizelocal inXBounds = relativePosition.X < size.X / 2 and relativePosition.X > -size.X / 2local inZBounds = relativePosition.Z < size.Z / 2 and relativePosition.Z > -size.Z / 2if inXBounds and inZBounds thenreturn false -- La destinazione di nascita è all'interno dell'area riservata; abortire il teletrasportoendendreturn true -- La destinazione di nascita non sovrappone alcuna area riservata; procedere con il teletrasportoendSpawnConAmici.setTeleportationValidator(validator)
Riferimento API
Funzioni
configure
configure(config: table)
Sovrascrive le opzioni di configurazione predefinite attraverso le seguenti chiavi/valori nella tabella config. Questa funzione può essere chiamata solo da un Script.
| Chiave | Descrizione | Predefinito |
|---|---|---|
| teleportToFriendOnRespawn | Se impostato su false, il teletrasporto a un amico avverrà solo manualmente tramite teleportToRandomFriend. | true |
| teleportDistance | Quanto lontano i giocatori dovrebbero nascere l'uno dall'altro, misurato in stud. | 5 |
| maxCharacterVelocity | I personaggi che si muovono più velocemente di questo valore non verranno scelti come candidati al teletrasporto, ad esempio quelli in veicoli in movimento. | 48 |
| bypassFriendshipCheck | Se impostato su true, tutti i giocatori saranno candidati al teletrasporto, non solo gli amici. | false |
| showLogs | Se visualizzare o meno i messaggi di log nell'output. | false |
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SpawnConAmici = require(ReplicatedStorage.SpawnConAmici)
SpawnConAmici.configure({
teleportToFriendOnRespawn = true,
teleportDistance = 5,
maxCharacterVelocity = 48,
bypassFriendshipCheck = false,
showLogs = false
})teleportToRandomFriend
teleportToRandomFriend(playerToTeleport: Player): boolean
Attiva manualmente il teletrasporto di un giocatore a uno dei suoi amici nel gioco. Restituisce un booleano che indica se il teletrasporto ha avuto successo o meno; il fallimento del teletrasporto può essere causato dall'assenza di amici nel server o dall'impossibilità di trovare un punto di teletrasporto non ostruito. Questa funzione può essere chiamata solo da un Script.
setTeleportationValidator
setTeleportationValidator(validator: function)
Ti consente di eseguire controlli personalizzati prima del teletrasporto collegando una funzione di callback di validazione. La callback riceve tre parametri:
| Parametro | Descrizione |
|---|---|
| playerToTeleport | Riferimento al Player che viene teletrasportato. |
| destinationPlayer | Riferimento al Player target a cui playerToTeleport viene teletrasportato. |
| teleportationPoint | CFrame dove playerToTeleport si sta teletrasportando. |
Questa funzione e la sua callback possono essere utilizzate solo in un Script e la callback restituisce un booleano che indica se il teletrasporto dovrebbe procedere. Ad esempio, la logica return nella seguente funzione di validazione assicura che il giocatore che nasce e il giocatore di destinazione siano nella stessa squadra.
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SpawnConAmici = require(ReplicatedStorage.SpawnConAmici)
-- Teletrasporta i giocatori solo se sono nella stessa squadra
local function validator(playerToTeleport, destinationPlayer, teleportationPoint)
return playerToTeleport.Team == destinationPlayer.Team
end
SpawnConAmici.setTeleportationValidator(validator)