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 en el que un personaje de jugador puede "sentarse".Cuando un personaje toca un objeto de asiento habilitado, se adjuntará a la parte por un Weld y los scripts predeterminados de personajes jugarán una animacionesde sentarse.

¿Cómo funcionan los asientos?

Cuando un modelo que contiene un Humanoid y un BasePart llamó 'HumanoidRootPart' (generalmente un personaje de jugador) toca un asiento, se crea un Weld entre el asiento y la parte.Las propiedades C0 y C1 se configuran para que el personaje esté soldado a 2 tachuelas por encima del asiento.Esta soldadura se llama 'SeatWeld' y se asigna al asiento.

Cuando se sienta la propiedad Seat.Occupant la propiedad se establece en Humanoid que está 'sentada' en el asiento.Además, la propiedad Humanoid.SeatPart de la humanoid se establece en el asiento.

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

Hay dos maneras de que un personaje salga de su asiento.Cuando un jugador salta, se lo elimina del asiento.Sin embargo, esto también se puede hacer manualmente destruyendo la soldadura del asiento, por ejemplo:

asiento:FindFirstChild("SeatWeld"):Destruir()

Los asientos de nota tienen un tiempo de reutilización (actualmente 3 segundos) que está en una base por caracteres por asiento.Esto significa que una vez que un personaje se haya salido de su asiento no podrá sentarse en el mismo asiento durante 3 segundos.Este comportamiento de espera puede cambiar y no debe ser confiado por los desarrolladores.

¿Para qué se pueden usar los asientos?

Los asientos tienen una gran variedad de usos, que van desde lo obvio hasta lo más poco convencional.

  • Crear sillas o bancos sin la necesidad de programación
  • Permitir que los personajes "se sienten" en objetos en movimiento como vehículos sin ser lanzados alrededor
  • Creación de 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 utilizable. Si se establece en verdadero, el asiento actuará 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):()

    Obliga al personaje con el especificado Humanoid a sentarse 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 utilizable. Si se establece en verdadero, el asiento actuará como una parte normal.

Occupant

Solo lectura
No replicado
Leer paralelo

El humanoide que está sentado en el asiento

Métodos

Sit

()

Obliga al personaje con el especificado Humanoid a sentarse en el asiento.

Parámetros

humanoid: Instance
Valor predeterminado: ""

Devuelve

()

Eventos