You’ve got a few problems. Firstly, LocalScripts don’t run in Workspace so it’ll never actually do anything. Secondly, parts you move on the client don’t replicate to the server. So if you have the script in the correct place and index the part, it’ll only move for that player. You’ll have to change the position on the server if you want it to replicate. Thirdly, you’re trying to set the Position to a CFrame, that doesn’t work. You can either set the parts CFrame or use the Torso position (CFrame is probably better for your application).
Please make sure to use the correct syntax for source codes on this forum which looks like shown:
--Code here
Next, there is not really enough information for me to understand what exactly do you need, please be more specific on a thing when you said that you’d like to teleport a part to a player with head transparency 0.3 which you do not even change any transparency inside of the script. You can only call, LocalPlayer like you did, inside of local script, on the normal script is not going to work. I’d strongly not recommend using only wait() since it was approved that some false and negative disturbances may happen if you use it, inside of this article. I’d rather use wait(n) which is more sufficient way of declaring the wait time for instance: wait(0.1) should be good enough and there shouldn’t be any eye seen changes. The source code you sent, all the changes are going to be visible only for the local player since you use the local script if you’d like to have changes seen by other players in the game as well, I’d highly recommend using RemoteEvents and do the things you need to be seen for all the players on the server script. I’d hint that firing the server from client side the first argument on the server-side is automatically a local player from which event was fired.