I keep getting this error when I click a button twice. here is my code
local List = game.Players.LocalPlayer.PlayerGui.MainMenu.Screens.ShopFrame.GunNames.GunNames2.Lists:GetChildren() local SelectedClass = game.Players.LocalPlayer.PlayerGui.MainMenu.Screens.ShopFrame.GunNames.CurrentClassSelected local ViewPort = script.Parent local cam = workspace.CurrentCamera cam.CameraType = "Fixed" for int1 = 1,#List,1 do local ClassGunContainers = List[int1]:GetChildren() for int2 = 1,#ClassGunContainers,1 do local GunNamesByClass = ClassGunContainers[int2]:GetChildren() for int3 = 1,#GunNamesByClass,1 do GunNamesByClass[int3].MouseButton1Click:Connect(function() local WeaponsAndTools = workspace.WeaponsAndTools local SelectedWeapon = WeaponsAndTools:FindFirstChild(tostring(GunNamesByClass[int3])) SelectedWeapon.Parent = ViewPort print(SelectedWeapon.Parent) end) end end end
The error is: Players.mikey2019d.PlayerGui.MainMenu.Screens.ShopFrame.ViewportFrame.ViewPortScript:14: attempt to index nil with 'Parent'
Thanks for taking the time to read this. I apologize if it is a very simple mistake. Thanks. Yes, I know I have another question that is the same as this one. The reason for me asking the same question is because I accidentally said solved when it worked before. Turns out I was on another script without the click. Sorry for the confusion.
Edit: Found my problem as to why I am getting an attempt to index nil with 'Parent'. Now I am getting the output as WeaponsAndTools when it should be ViewportFrame.
Edit: Found my problem I was checking the wrong parent. Sorry for any confusion
this is my edited code if anyone has a similar problem to what I faced
local List = game.Players.LocalPlayer.PlayerGui.MainMenu.Screens.ShopFrame.GunNames.GunNames2.Lists:GetChildren() local SelectedClass = game.Players.LocalPlayer.PlayerGui.MainMenu.Screens.ShopFrame.GunNames.CurrentClassSelected local ViewPort = script.Parent local cam = workspace.CurrentCamera cam.CameraType = "Fixed" for int1 = 1,#List,1 do local ClassGunContainers = List[int1]:GetChildren() for int2 = 1,#ClassGunContainers,1 do local GunNamesByClass = ClassGunContainers[int2]:GetChildren() for int3 = 1,#GunNamesByClass,1 do GunNamesByClass[int3].MouseButton1Click:Connect(function() local WeaponsAndTools = workspace.WeaponsAndTools local SelectedWeapon = WeaponsAndTools:FindFirstChild(tostring(GunNamesByClass[int3])) --You should put an If statement checking whether the parent is not equal to the parent you are trying to re locate it to. This will fix the Attempted to index nil with parent if SelectedWeapon.Parent == WeaponsAndTools then SelectedWeapon.Parent = ViewPort end print(SelectedWeapon.Parent.Name) end) end end end