My issue is that the player’s HRP is the ONLY part of the character that displays correctly on both the server and the clients. However, the rest of the player’s character is not correct on the server (it is on other clients). I’m honestly in awe with this issue and have no idea what’s causing it.
I’ve tried the following methods:
Setting the HRP with CFrame - hrp.CFrame = cframe
Setting the character’s pivot - char:PivotTo(cframe)
Setting the character’s primary part - char:SetPrimaryPartCFrame(cframe)
Setting the HRP with Vector3 - hrp.Position = vector3
This obviously leads to game breaking bugs as I use spatial query, which relies on the character being fully correct. The only function in my game that teleports players is the following:
function module.Teleport(plr)
local pads = module.main:GetService("pads")
local pad = pads.GetRandomPad()
local char = plr.Character
local HRP = char:FindFirstChild("HumanoidRootPart")
if HRP then
HRP.Position = pad.pad.Position + Vector3.new(0,3,0)
end
end
Please tell me I’m just being thick skulled and that I can actually solve this.
Changing the Position property doesn’t bring the rest of the character but it seems you tried using SetPrimaryPartCFrame and PivotTo, maybe just try setting the CFrame?
I have already tried this, and tried it again. It still happens.
Although I could not switch to the client’s window, you can see how I can move the character correctly. It is replicated properly in all clients, just not the server, except for the root part.