Scripting HelpersARCHIVE
A little piece of Roblox history. Preserved for everyone, one question at a time.Read about the archive →
✓ ANSWER ACCEPTED

I can't fix this?!?

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.

1 answer

✓ Accepted answer

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

2 comments

0

Bro i am so dumb XD i should have tried this before Facepalm

1

xD, not a big deal. I make simple mistakes like this all the time. Just make sure to look over your script carefully and make sure everything makes sense how it is. Glad I could help though :P

This discussion is preserved as it was. New answers, comments, and votes are closed.