Seat

Visualizza obsoleti

*Questo contenuto è tradotto usando AI (Beta) e potrebbe contenere errori. Per visualizzare questa pagina in inglese, clicca qui.

Un tipo di BasePart in cui un personaggio del giocatore può "siedersi".Quando un personaggio tocca un oggetto Sedile abilitato, verrà attaccato alla parte da un Weld e gli script di personaggio predefiniti riproduciranno un'animazioniseduta.

Come funzionano i sedili?

Quando un modello contenente un Humanoid e un BasePart chiamato 'HumanoidRootPart' (generalmente un personaggio giocatore) tocca un sedile, viene creato un Weld tra il sedile e la parte.Le proprietà C0 e C1 sono configurate in modo che il personaggio sia saldato a 2 borchie sopra il sedile.Questa saldatura si chiama 'SeatWeld' e viene parentizzata al sedile.

Quando si siede la proprietà Seat.Occupant è impostata su Humanoid che è 'seduta' nel sedile.Inoltre la proprietà Humanoid.SeatPart della creatura umanoide è impostata sul sedile.

Un personaggio può anche essere forzato a sedersi in un posto utilizzando la funzione Seat:Sit().

Ci sono due modi per un personaggio di uscire da un posto.Quando un giocatore salta, viene rimosso dal sedile.Tuttavia, questo può essere fatto manualmente distruggendo il saldaturadel sedile, ad esempio:

sedile:FindFirstChild("SeatWeld"):Distruggi()

I seggi a nota hanno un tempo di recupero (attualmente 3 secondi) che è su una base per carattere per sedile.Questo significa che una volta che un personaggio è uscito da un posto non può sedersi nuovamente sullo stesso posto per 3 secondi.Questo comportamento di rallentamento può cambiare e non deve essere affidato agli sviluppatori.

Per cosa possono essere utilizzati i sedili?

I sedili hanno una gamma diversa di usi, che va dall'ovvio al più non convenzionale.

  • Creazione di sedie o panchine senza la necessità di alcuna programmazione
  • Permettere ai personaggi di "sedere" in oggetti in movimento come veicoli senza essere lanciati in giro
  • Creazione di interfacce controllate dal personaggio nel sedile utilizzando la ProprietàSeat.Occupant

Campioni di codice

This code sample includes a demonstration of how the Seat.Occupant property can be used to track which player is sitting in a seat and when they sit down or sit up.

Detecting Seat Occupant

local Players = game:GetService("Players")
local seat = Instance.new("Seat")
seat.Anchored = true
seat.Position = Vector3.new(0, 1, 0)
seat.Parent = workspace
local currentPlayer = nil
local function onOccupantChanged()
local humanoid = seat.Occupant
if humanoid then
local character = humanoid.Parent
local player = Players:GetPlayerFromCharacter(character)
if player then
print(player.Name .. " has sat down")
currentPlayer = player
return
end
end
if currentPlayer then
print(currentPlayer.Name .. " has got up")
currentPlayer = nil
end
end
seat:GetPropertyChangedSignal("Occupant"):Connect(onOccupantChanged)

Sommario

Proprietà

  • Lettura Parallela

    Se il sedile è utilizzabile o meno. Se impostato su vero, il sedile fungerà da parte normale.

  • Sola Lettura
    Non Replicato
    Lettura Parallela

    L'umanoide che è seduto nel sedile.

Proprietà provenienti da PartProprietà provenienti da BasePartProprietà provenienti da PVInstance

Metodi

Metodi provenienti da BasePartMetodi provenienti da PVInstance

Eventi

Eventi provenienti da BasePart

Proprietà

Disabled

Lettura Parallela

Se il sedile è utilizzabile o meno. Se impostato su vero, il sedile fungerà da parte normale.

Occupant

Sola Lettura
Non Replicato
Lettura Parallela

L'umanoide che è seduto nel sedile

Metodi

Sit

()

Forza il personaggio con il Humanoid a sedersi nel sedile.

Parametri

humanoid: Instance
Valore predefinito: ""

Restituzioni

()

Eventi