Is there a way to Remove the Seat Cooldown
Seat:Sit(Humanoid)
This function won’t let me bypass the cooldown, is there a way to remove the cooldown?
Is there a way to Remove the Seat Cooldown
Seat:Sit(Humanoid)
This function won’t let me bypass the cooldown, is there a way to remove the cooldown?
Hey there. You could clone the seat and make the player sit on the clone and destroy the original.
Hello, there a few different type of solving this issue, but if yours system is not complicated you can try something like that:
seat.Disabled = false
seat:Sit(humanoid)
I finally found a solution.
When a player sits on a Seat, Roblox automatically creates a SeatWeld that connects the Seat to the player’s HumanoidRootPart. My solution was simply to clone that weld and attach it to the player manually.
function Sit(Seat: Seat, Char: Model)
if Seat:FindFirstChild(WeldSit.Name) then return end
local Weld = WeldSit:Clone()
Weld.Part0 = Seat
Weld.Part1 = Char.HumanoidRootPart
Weld.Parent = Seat
Weld.C0 = CFrame.new(0, Seat.Size.Y / 2, 0) * Weld.C0.Rotation -- For rotated Part and Very Long Seat Part
Weld.Enabled = true
local Humanoid: Humanoid = Char.Humanoid
Humanoid.Sit = true
end
Then I use another function to destroy the weld when the player leaves the Seat:
local LastSeat: Seat
local function HumanoidWeld(active, CurrentPart: Seat)
if active then
LastSeat = CurrentPart
elseif not active and LastSeat then
local SeatWeld = LastSeat:FindFirstChild("SeatWeld")
if SeatWeld then SeatWeld:Destroy() end
LastSeat = nil
end
end
Character.Humanoid.Seated:Connect(HumanoidWeld)
This ended up working perfectly for my use case.