I am trying to make it so when I use this sword skill the character moves in the direction that it is FACING.
However, whenever I update the position of the character in order to move it forward, it ALSO updates the orientation for some reason. I want it to completely forget about orientation and ONLY update the position.
(as you can see, I am doing victimroot.Position = … so only the POSITION of the humanoid root part should be updating right???)
And here are gifs showing what I mean https://gyazo.com/d41160c0f8dd1a7fa54d6da0724b3a1d
(when I am outside shift lock, I try to turn around while my position is changing but the orientation keeps resetting) https://gyazo.com/f570bd1d461983a9bafad2ed48e7a650
(when in shift lock, I am turning around before AND during the movement so the delay between me turning on the client and it appearing on the server shouldn’t matter, yet the server is updating my orientation to stay the same… just like in the first gif. and obviously on the client I can’t see the server forcing me to turn around because of shift lock but you can tell it’s happening anyway)
I literally cannot find anyone with the same problem anywhere else. Most people probably move the character on the client, but I don’t want to do that because I want all players to see the character move at around the same time, and also moving them on the server makes the hitboxes much more accurate. All bodymovers including the new ones are also less accurate so I don’t wanna use them for this either.
I understand that the server does not immediately see the character turn around when you move on the client, but this issue doesn’t make sense regardless. It just shouldn’t affect the orientation at all. How do I fix this?
Replace the line with this and it should work: victimroot.Position = start:Lerp(boost, dt/boostTime)
start will need to be the Position of the victimroot exactly before the loop starts running for this to work correctly and you’ll need to store the value outside of the loop too
I put start outside the runservice thing and replaced the setting position line with the one you gave. It still updated the orientation no matter what I did. I think setting the position of the part always sets the orientation no matter what you do. I even tried replacing the boost with just a set destination like 0,0,0 and it still forced the character to face the last direction it faced before it started moving it:
Setting the Position on its own shouldn’t cause the rotation to change, since CFrame is position and rotation at the same time not Position
I suspect another script is causing your problem and rotating the character to face an incorrect direction so I suggest testing the script in a new baseplate on its own and see if the problem still shows up
Unfortunately I won’t be able to test the place file today because I’m on mobile at the moment, but to be honest I’m quite confused as to what could be causing your problem as I don’t see anything in the script that could be causing it to happen
I made it so that it’s literally just a teleport button and it does the same thing. Turns out changing the position does change the orientation to whatever the server thinks it is. VERY annoying and I can’t think of a way to get around it. If linearvelocity worked properly then I might’ve used that but it does a weird thing where if you add it to one player’s character on the server then every other player, as well as the server, will see them teleport at first for some reason. Maybe I could use a bodygyro somehow?
Yes it would work on the client side but I need it on the server side to make the hitbox accurate and stuff. I just expected updating the position to do nothing to orientation no matter what but apparently it does