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 che un personaggio del giocatore può 'sit' in. Quando un personaggio tocca un oggetto Seat abilitato, viene aggiunto al part by un Weld e gli script del personaggio predefinito giocano un'animazionidi seduta.

Come funzionano i Seat?

Quando un modello contenente un Humanoid e un BasePart chiamato 'HumanoidRootPart' (in generale un personaggio del giocatore) tocca un sedile, viene creato un Class.

Quando si sede la proprietà Seat.Occupant è impostata su Humanoid che si trova 'sitting' nel sedile. Inoltre la proprietà Humanoid.SeatPart del sedile è impostata su.

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

Ci sono due modi per far uscire un personaggio da un sedile. Quando un giocatore salta, vengono rimossi dal sedile. Tuttavia, questo può essere fatto manualmente distruggendo il saldaturadi fusione, per esempio:

sedile:FindFirstChild("SeatWeld"):Destroy()

I sedili hanno un cooldown (attualmente 3 secondi) che è sulla base per personaggio per sedile. Ciò significa che una volta che un personaggio è uscito da un sedile, non può sedersi sullo stesso sedile per 3 secondi. Questo comportamento di cooldown può cambiare e non deve essere affidato dai sviluppatori.

Per cosa possono essere utilizzati i sedili?

I sedili hanno una gamma diversificata di utilizzi, che va dal più ovvio al meno convenzionale.

  • Creare sedie o panchine senza il bisogno di alcuna programmazione
  • Permetti ai personaggi di 'sit' in oggetti in movimento come veicoli senza ottenere flung intorno
  • Creazione di interfacce che sono controllate dal personaggio nel sedile utilizzando la ProprietàSeat.Occupant

Campioni di codice

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

    Indipendentemente dal fatto che il sedile sia o meno utilizzabile. Se impostato su true, il sedile funzionerà come una parte normale.

  • Sola Lettura
    Non Replicato
    Lettura Parallela

    Il sedile che si trova seduto nella schiena.

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

Metodi

  • Sit(humanoid : Instance):void

    Forza il personaggio con il Humanoid specificato a sedersi nel sedile.

Metodi provenienti da BasePartMetodi provenienti da PVInstance

Eventi

Eventi provenienti da BasePart

Proprietà

Disabled

Lettura Parallela

Indipendentemente dal fatto che il sedile sia o meno utilizzabile. Se impostato su true, il sedile funzionerà come una parte normale.

Occupant

Sola Lettura
Non Replicato
Lettura Parallela

Il sedile che si trova nel sedile

Metodi

Sit

void

Forza il personaggio con il Humanoid specificato a sedersi nel sedile.

Parametri

humanoid: Instance

Restituzioni

void

Eventi