Seat

Mostrar obsoleto

*Este conteúdo é traduzido por IA (Beta) e pode conter erros. Para ver a página em inglês, clique aqui.

Un tipo de BasePart que un personaje de jugador puede 'sentarse' en. Cuando un personaje toca un objeto de asiento habilitado, se agregará al móvil por un Weld y los scripts de personaje predeterminados jugarán una animacionesde sentado.

¿Cómo funcionan los asientos?

Cuando un modelo que contiene un Humanoid y un BasePart llamado 'HumanoidRootPart' ( generalmente un personaje de jugador) toca un asiento, se crea un Class.W

Cuando se asienta la propiedad Seat.Occupant a la propiedad Humanoid que está sentada en el asiento. Además, la propiedad Humanoid.SeatPart de la propiedad del humanoid está configurada para el asiento.

Un personaje también se puede obligar a sentarse en un asiento utilizando la función Seat:Sit().

Hay dos formas en que un personaje puede salir de un asiento. Cuando un jugador salta, se eliminan del asiento. Sin embargo, esto también se puede hacer manualmente al destruir la soldadura del asiento, por ejemplo:

Asiento:Encuentra el primer hijo ("SeatWeld"):Destroy()

Las notas de los asientos tienen un tiempo de reutilización (actualmente 3 segundos) que está en una base por personaje por asiento. Esto significa que una vez que un personaje se ha salido de un asiento, no puede sentarse de nuevo en el mismo asiento durante 3 segundos. Este comportamiento de tiempo de reutilización puede cambiar y no debe confiarse en los desarrolladores.

¿Para qué se pueden usar los asientos?

Los asientos tienen una gama de usos diversos, desde lo obvio a lo no convencional.

  • Crear sillas o bancos sin la necesidad de ninguna programación
  • Permitir que los personajes se sienten en objetos en movimiento, como vehículos, sin sentirse flotando
  • Crear interfaces que son controladas por el personaje en el asiento usando la propiedad Seat.Occupant

Amostras de código

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)

Resumo

Propriedades

  • Ler Parallel

    Si el asiento es o no usable. Si se establece en verdadero, el asiento funcionará como una parte normal.

  • Somente leitura
    Não replicado
    Ler Parallel

    El humanoide que está sentado en el asiento.

Propriedades herdados de PartPropriedades herdados de BasePartPropriedades herdados de PVInstance

Métodos

  • Sit(humanoid : Instance):void

    Requiere que el personaje con el Humanoid especificado se siente en el asiento.

Métodos herdados de BasePartMétodos herdados de PVInstance

Eventos

Eventos herdados de BasePart

Propriedades

Disabled

Ler Parallel

Si el asiento es o no usable. Si se establece en verdadero, el asiento funcionará como una parte normal.

Occupant

Somente leitura
Não replicado
Ler Parallel

El humanoide que está sentado en el asiento

Métodos

Sit

void

Requiere que el personaje con el Humanoid especificado se siente en el asiento.

Parâmetros

humanoid: Instance

Devolução

void

Eventos