I’m trying to make click to sit chairs, while not needed and I could do animations (which I’m thinking of doing) I’d like to do click to sit chairs instead, it’s just more pleasing then walking on top of a chair and putting an animation in.
I’ve already made a successful attempt to get the player to the chair, but most of the time the player spawns above or below it, glitching out of the chair and or; gets stuck under the chair. I do not have the code because it’s been deleted, but I understand how to get the player to the chair and such as that. I really just need help making sure the player sits and doesn’t get stuck. But, since I don’t have the code, the way the code worked is it teleported the player to the chair whilst enabling the seat.
Instead of teleporting the character to the seat, why not use Seat:Sit(Humanoid)?
It seems like it would be more reliable than teleporting the character.
You could use a ClickDetector, and get the Character’s Humanoid from the Player object ClickDetector.MouseClick returns.
Could you explain more of it? I’m not very experienced in Seat:Sit. I used a ClickDetector to sense the seat was clicked, and they were teleported on it enabling the seat. I’m a newb at most of scripting.
If my memory does my well, I was just using the CFrame of the seat, not going above it. I might’ve changed it to Vector3 so It does teleport above it. A code example of it would help, but only if you want to. After reading the article, I grasped how it works, but it’d take some fiddling.
local Seat = script.Parent.Seat
local ClickDetector = Seat.ClickDetector
ClickDetector.MouseClick:connect(function(plr) -- upon clicking
if Seat.Occupant then return end -- make sure seat isn't already taken
local char = plr.Character
if not char then return end -- make sure the player has a character
local humanoid = char:FindFirstChildOfClass("Humanoid")
if not humanoid then return end -- make sure the char has a humanoid
Seat:Sit(humanoid) -- forces the humanoid to sit on the seat
end)
Seat:Sit() is a function used to force a humanoid into a seat. Just refer to the humanoid inside the function parameters and it will make the character sit.
Hope this helps, if you have any further questions don’t hesitate to ask!