0

# Parent doesn't exist? Indexing nil.

Hello, I'm making a data store changer for a speedrun game. I already have the data store set up, and I'm working on the data store updater. Here is my code:

local Players = game:GetService("Players")

local pausetime = script.Parent
local time = script.Parent.Parent:FindFirstChild("SpeedunTimerGUI")

local function onPauseButtonTouch(touchpart)
local partParent = touchpart.Parent
local humanoid = partParent:FindFirstChildWhichIsA("Humanoid")
if humanoid then
local player = Players:GetPlayerFromCharacter(partParent)
if pb then
end
end
end
end
pausetime.Touched:Connect(onPauseButtonTouch())


I get the error on line 7 telling me "Workspace.Speedrun Timer.Timer_Pause.Script:7: attempt to index nil with 'Parent'". What is the problem with referencing the parent?

1
oilsauce 196
4 days ago
Edited 4 days ago

The error Workspace.Speedrun Timer.Timer_Pause.Script:7: attempt to index nil with 'Parent' basically means whatever you're trying to get the Parent of, is nil. In this case, that would be touchpart.

Why is it nil? The issue is at line 20. When connecting the Touched event to onPauseButtonTouch function, you're actually calling the function instead of connecting it, by putting two brackets () behind it.

This caused your function to run at line 20, and since you haven't given the function any arguments, touchpart was nil.

So instead of pausetime.Touched:Connect(onPauseButtonTouch()), the appropriate code for this case is pausetime.Touched:Connect(onPauseButtonTouch).

0
Tysm! BrightFeather8 122 — 4d