I need to run a script when a seat that is copied locally has a player seated.
There certainly is. The way to do this, is everytime the seat changes, check the if the seat occupant is equal to the character Humanoid.
local plr = game.Players.LocalPlayer -- get the player local chr = plr.Character or plr.CharacterAdded:Wait() -- get the character, if its not there then wait. local humanoid = chr:WaitForChild("Humanoid") -- wait for the character humanoid local seat = game.Workspace:WaitForChild("SeatName") -- wait for the seat seat.Changed:Connect(function() -- when seat changes, perform this function if seat.Occupant == humanoid then -- if the humanoid is in the seat, run this code -- do whatever when they sit in it. end end)
I hope this helps!