Hello Devs, I Have A Script That Checks If The Player is on A Part Using Raycasting But The Script keeps giving me the error Workspace.MovableItems.MoveIt.Script:3: attempt to index nil with 'Character'
I have checked serval different topics But Not Much has worked/Changed Anything Anyways here is the script
local player = players.LocalPlayer
local character = player.Character or player.CharacterAdded:Wait()
local RunService = game:GetService('RunService')
local LastTrainCFrame
local Function
local Function2
Function = RunService.Heartbeat:Connect(function()
--------------------------------------------------------------- CHECK PLATFORM BELOW
local RootPart = character.LowerTorso
local Ignore = character
local ray = Ray.new(RootPart.CFrame.p,Vector3.new(0,-50,0))
local Hit, Position, Normal, Material = workspace:FindPartOnRay(ray,Ignore)
if Hit and Hit.Name == "MoveIt" then
--------------------------------------------------------------- MOVE PLAYER TO NEW POSITON FROM OLD POSITION
local Train = Hit
if LastTrainCFrame == nil then -- If no LastTrainCFrame exists, make one!
LastTrainCFrame = Train.CFrame -- This is updated later.
end
local TrainCF = Train.CFrame
local Rel = TrainCF * LastTrainCFrame:inverse()
LastTrainCFrame = Train.CFrame -- Updated here.
RootPart.CFrame = Rel * RootPart.CFrame -- Set the player's CFrame
--print("set")
else
LastTrainCFrame = nil -- Clear the value when the player gets off.
end
Function2 = player.Character.Humanoid.Died:Connect(function()
Function:Disconnect() -- Stop memory leaks
Function2:Disconnect() -- Stop memory leaks
end)
end)
If anyone knows what is happening that would be greatly appreciated as I’m Not A “Pro” scripter. Thanks For Reading