Why is this script not working?
Can you please explain what you’re trying to achieve?
The magnitude of the part and the player.
There is a couple of things that I can see wrong with this code that could be causing the script not to work. First of all it looks like you are running this code in a LocalScript in workspace. The problem with this is that LocalScripts don’t run in workspace. The other problem I can see is that you haven’t defined ice anywhere so that could be causing something to error.
It would be nice to know what your specific use cause for this would be. When do specifically need to know the magnitude of the part and the player? Is this script or a LocalScript and where is it located? Is this the full code? Knowing this information will help use give you a better answer and we may be able to give you a better solution to what you are trying to achieve.
In the future could you please follow the scripting support guidelines when creating new topics because it is really hard to just fix a script with very limited information:
I think your script isn’t working because it couldn’t get the HumanoidRootPart (Probably it didn’t exist at the time the script was running so it returned “nill”), or
ice.Position
isn’t a defined variable.
Anyways her is the working version of your script.
- This was in a LocalScript.
local Player = game:GetService("Players").LocalPlayer
local Hrp = game.Workspace:FindFirstChild(Player.Name).HumanoidRootPart
local Part = game.Workspace.Part
while wait(1) do
print((Part.Position - Hrp.Position).magnitude)
end
Hope this helps you and answers your question!
This is because your code is being ran in a script and not a LocalScript. You can only use game.Player.LocalPlayer
in a LocalScript located somewhere on the client.
I will recommend having this in StarterCharacterScripts
There’s not a nothing wrong in the output but it doesn’t say the magnitude still.
Did you test my code and it didn’t print the magnitude?
It did work with me when it was placed in StarterCharacterScript as a LocalScript
Yes I tested your script.
It didn’t work.
Send the output and where you have it in the Explorer
The reason why this isn’t working is because LocalScripts can’t run in workspace. Only server scripts can. LocalScripts can only run on the client.
But then i can’t use “game.Player.LocalPlayer”
Having the LocalScript in StarterCharacterScript is just as having it as a child of the part. It will do the same task
Try having the same exact script in StarterCharacterScript as a LocalScript for example.
It worked, thank you!
Should have done it in the first place.
Mark the solution to end this topic so it is easier for people to find the solution rather than getting lost in this