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

I need help, it just says "Unable to cast value to Objects". But why?

local part = script.Parent
local badpart = game.Workspace.shit
while true do
	wait(1) 
	raypar = RaycastParams.new()
	raypar.FilterDescendantsInstances = workspace.shit
	raypar.FilterType = Enum.RaycastFilterType.Blacklist
	local origin = part.Position
	local direction = part.CFrame.LookVector * 100
	local result = workspace:Raycast(origin, direction, raypar)
	if result then
		print(result.Instance.Name)
	end
	if not result  then
		print("nothing")
	end
end

3 comments

0

Put your code in a code block for it to be easier to read and don't put inappropriate words in your code

0

Formatted the code

1

Whats the exact error? Which line of code fails?

1 answer

✓ Accepted answer

##Problem:

You forgot to introduce the curly braces, which look like this {} on line 6 where it says workspace.Part.

The reason it didn't work is because the script thinks that you're trying to set the value, which in this case is raypart to an object, which is the part, remember that FilteringStrings are arrays.(tables)

##Solution:

Add the curly braces on line 06.

##Fixed Code:

local part = script.Parent
local badpart = game.Workspace.shit
while true do
	wait(1) 
	raypar = RaycastParams.new()
	raypar.FilterDescendantsInstances = {workspace.shit}
	raypar.FilterType = Enum.RaycastFilterType.Blacklist
	local origin = part.Position
	local direction = part.CFrame.LookVector * 100
	local result = workspace:Raycast(origin, direction, raypar)
	if result then
		print(result.Instance.Name)
	end
	if not result  then
		print("nothing")
	end
end

Read the developer forums on :RayCastParams

##Resources:

RaycastParams Screenshot- RobloxDeveloperHub

RaycastParams

1 comment

0

This is off-topic but don't name your stuff inappropriately.

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