So its a tycoon. and this is the collector brick that removes the block and gives you money
``script.Parent.Touched:connect(function(hit) local N = script.Parent.Parent.Parent.Owner.Value local P = game.Players:GetPlayerFromCharacter(N) if P:FindFirstChild("leaderstats") ~= nil then local Mon = P.leaderstats.Cash.Value if hit.Name == "Tril" then Mon = Mon + 10 elseif hit.Name == "TriU" then Mon = Mon + 20 end else print("Leaderstats is not there.") end end) ``
but it keeps giving me this error: Unable to cast value to Object
and i have a StringValue 3Parents up that contains the players name when he buys the tycoon.
Try this:
script.Parent.Touched:connect(function(hit) local N = script.Parent.Parent.Parent.Owner.Value local P = game.Players:FindFirstChild(N) --Changed this line if P:FindFirstChild("leaderstats") ~= nil then local Mon = P.leaderstats.Cash.Value if hit.Name == "Tril" then Mon = Mon + 10 elseif hit.Name == "TriU" then Mon = Mon + 20 end else print("Leaderstats is not there.") end end)
The problem was that you were trying to define the player as a string, which you can't do. You need to have the script search through the players with the string, and connect it to the Players name. Anyways, I believe this should work now. If you have any further problems or questions, please leave a comment below. Hope I helped :P