As the time of making this post, Seat/VehicleSeat Instances have a 3 second cooldown, meaning that once a character gets out of a seat, they cannot sit back on the same seat before the cooldown finished.
Of course, there’s things such as making custom seats with just a part and a script that simulates them, but in this case I’m making use of a vehicle seat, which has already made functions to control a vehicle and would be complicated to replicated and maintain.
Finally, is there a simple and easy way to get the cooldown of a seat removed?
I’m pretty sure the cooldown is something internally managed and done by Roblox — Therefore there’s nothing we can do about it.
But, I have thought of something. Since VehicleSeat has a Sit method, We can check whenever the seat is touched and then execute it to make the player instantly sit on it.
-- Assuming VehicleSeat is a ready defined variable...
VehicleSeat.Touched:Connect(function(Hit)
local Parent = Hit.Parent
local Humanoid = Parent:FindFirstChildOfClass("Humanoid")
local CanSit = (VehicleSeat.Occupant == nil)
if not Humanoid then
return
end
if not CanSit then
return
end
VehicleSeat:Sit(Humanoid)
end)