Seat

Mostrar obsoleto

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

Um tipo de BasePart que um personagem de jogador pode 'sentar' em.Quando um personagem toca em um Objetode assento ativado, ele será anexado à peça por um Weld e os scripts de personagem padrão jogarão uma animaçõessentada.

Como os assentos funcionam?

Quando um modelo que contém um Humanoid e um BasePart chamado 'HumanoidRootPart' (geralmente um personagem de jogador) toca um assento, um Weld é criado entre o assento e a parte.As propriedades C0 e C1 são configuradas para que o personagem seja soldado a 2 metros acima do assento.Esta solda é chamada de 'SeatWeld' e é parente do assento.

Quando sentar a propriedade Seat.Occupant está definida para o Humanoid que está 'sentado' no assento.Além disso, a propriedade Humanoid.SeatPart do humanoide é definida para o assento.

Um personagem também pode ser forçado a sentar-se em um assento usando a função Seat:Sit().

Existem duas maneiras de um personagem sair de um assento.Quando um jogador pula, ele é removido do assento.No entanto, isso também pode ser feito manualmente ao destruir a solda / junta / fusãodo assento, por exemplo:

assento:FindFirstChild("SeatWeld"):Destruir()

Os assentos de nota têm um tempo de espera (atualmente 3 segundos) que é em uma base por personagem por assento.Isso significa que uma vez que um personagem tenha saído de um assento, eles não podem se sentar novamente no mesmo assento por 3 segundos.Este comportamento de espera pode mudar e não deve ser confiado pelos desenvolvedores.

Para que os assentos podem ser usados?

Os assentos têm uma variedade de usos, que variam do óbvio ao mais não convencional.

  • Criar cadeiras ou bancos sem a necessidade de qualquer programação
  • Permitindo que os personagens "sentem" em objetos em movimento, como veículos, sem serem arremessados
  • Criando interfaces que são controladas pelo personagem no assento usando a propriedade Seat.Occupant

Amostras de código

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)

Resumo

Propriedades

  • Ler Parallel

    Se o assento é ou não utilizável. Se definido como verdadeiro, o assento atuará como uma parte normal.

  • Somente leitura
    Não replicado
    Ler Parallel

    O humanoide que está sentado no assento.

Propriedades herdados de PartPropriedades herdados de BasePartPropriedades herdados de PVInstance

Métodos

  • Sit(humanoid : Instance):()

    Força o personagem com o especificado Humanoid a sentar-se no assento.

Métodos herdados de BasePartMétodos herdados de PVInstance

Eventos

Eventos herdados de BasePart

Propriedades

Disabled

Ler Parallel

Se o assento é ou não utilizável. Se definido como verdadeiro, o assento atuará como uma parte normal.

Occupant

Somente leitura
Não replicado
Ler Parallel

O humanoide que está sentado no assento

Métodos

Sit

()

Força o personagem com o especificado Humanoid a sentar-se no assento.

Parâmetros

humanoid: Instance
Valor Padrão: ""

Devolução

()

Eventos