I get this error:
15:13:52.062 - Workspace.Detect.Main:6: attempt to index local 'Player' (a nil value) 15:13:52.063 - Stack Begin
15:13:52.063 - Script 'Workspace.Detect.Main', Line 6 15:13:52.064 - Stack End
15:13:52.064 - Disconnected event because of exception
on this script:
local Enabled = true function onClick(Brick) if Enabled == true then local Player = Brick.Parent:findFirstChild("Humanoid") local Character = game:GetService('Players'):GetPlayerFromCharacter(Player.Parent) Enabled = false print("Stage 1") if Player ~= nil then print("Stage 2") if Player.Parent.Car ~= nil then print("Stage 3") if Character.Money.Value >= 50 then print("Stage 4") Player.Car.Fuel = player.Car.Fuel + 50 Character.Money.Value = Character.Money.Value - 50 wait(5) Enabled = true end end end end end script.Parent.ClickDetector.MouseClick:connect(onClick)
I've gone over it multiple times and I can't find an error. Can anyone please help?
Here's a fix:
local Enabled = true function onClick(Player) if Enabled == true then Enabled = false print("Stage 1") if Player ~= nil then print("Stage 2") if Player.Parent.Car ~= nil then print("Stage 3") if Character.Money.Value >= 50 then print("Stage 4") Player.Car.Fuel = player.Car.Fuel + 50 Character.Money.Value = Character.Money.Value - 50 wait(5) Enabled = true end end end end end script.Parent.ClickDetector.MouseClick:connect(onClick)
When a function is connected to the MouseClick
event, the player who clicked the part will be passed as the first argument, not any of the player's parts.
local Character = Brick.Parent:FindFirstChild("Humanoid") local Player = game.Players:GetPlayerFromCharacter(Character)
Your Character and Player variables were swapped and when you attempted to get the player(it's variable was Character) then you were using the Parent of the character for the parameters of the GetPlayerFromCharacter event.
Hope I Helped
+1
The error is Player (a nil value)
function Buy(Player) local RS = game:GetService("ReplicatedStorage") local item = RS:WaitForChild("Ball") local Price = 50 local stats = Player.stats if (stats.Cash.Value >= Price) then item:Clone().Parent = Player.Backpack item:Clone().Parent = Player.StarterGear stats.Cash.Value = stats.Cash.Value - Price end end script.Parent.MouseButton1Click:connect(Buy)