Seat

Mostrar obsoleto

*Este contenido se traduce usando la IA (Beta) y puede contener errores. Para ver esta página en inglés, haz clic en aquí.

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

Muestras 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)

Resumen

Propiedades

  • Leer paralelo

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

  • Solo lectura
    No replicado
    Leer paralelo

    El humanoide que está sentado en el asiento.

Propiedades heredados de PartPropiedades heredados de BasePartPropiedades heredados de PVInstance

Métodos

  • Sit(humanoid : Instance):void

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

Métodos heredados de BasePartMétodos heredados de PVInstance

Eventos

Eventos heredados de BasePart

Propiedades

Disabled

Leer paralelo

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

Occupant

Solo lectura
No replicado
Leer paralelo

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

Devuelve

void

Eventos