Whats wrong is that the value of string dosen't change, price2 dosen't change value when clicked. Wheras price3.Text works, it might be because you can't change a variable with a variable idk.
local price = script.Parent.ItemPrice
local price2 = script.Parent.Parent.Parent.Parent.Info.Price
local price3 = script.Parent.Parent.Parent.Parent.Info.ItemPrice
local name = script.Parent.ItemName
local name2 = script.Parent.Parent.Parent.Parent.Info.ItemName
local image = script.Parent.ItemImage
local image2 = script.Parent.Parent.Parent.Parent.Info.ItemImage
script.Parent.MouseButton1Click:connect(function()
-- This is the line of code that does not work
price2.Value = price.Value
-- code ends here
price3.Text = price.Value
name2.Value = name.Value
image2.Image = image.Value
end)

5 comments
is price a intvalue or a string
it doesnt matter
is it a local or server?
Uhmm, why does price not have .Name or .Value or something describing it's value.
How do you know the value doesn't change? Where are you next checking it from?