ok i think the title explains my problem so heres the script btw im not getting any errors also this is a normal script, not a local script and its in startergui maybe this info helps
script.Parent.MouseButton1Click:Connect(function()
local plr = game.Players:FindFirstChild(game.Workspace.PlayerName.Value)
local curcrat = script.Parent.Parent.Parent.Parent.CurrentCrate
curcrat.CrateNameValue.Value = "Basic" -- this is what im talking about
curcrat.Currency.Value = 1
curcrat.PriceValue.Value = 10000
curcrat.Price.Text = "BUY - $10K"
curcrat.CrateImage.Image = script.Parent.Parent.ImageLabel.Image
curcrat.BoxName.Text = "Basic Crate"
curcrat.Amount.Text = "You Own "..plr:WaitForChild("Crates"):WaitForChild("Basic").Value
end)

6 comments
Try using tostring at line 4
lemme try
i'm assuming that 'CrateNameValue' and 'BoxName are string values you have made, otherwise it won't exist and therefore it will flag up as nil
lol how do i use it i did tostring("Basic") and still doesnt work
Server Scripts don't run in starterGui
everything works only the string value doesnt change