I have a game where you can morph into custom startercharacter models through GUI, and for the player themselfs they look fine, but to other people they may be flying, tilted slightly, or just turned 180 degrees. I have tried everything to fix this, but i cannot find any tutorials or posts about this issue (I also have a system where the morphs can do machines, and sometimes they are stuck doing the machine animation, some pictures are also from my friends)
Here is a video of the issue:
I do not believe anyone can help you without reviewing the scripts that control the morphs and gui.
Maybe the animations aren’t being replicated to the server?
dont mind if the scripts are messy, still figuring out on how to improve my scripts
server script for the morph script:
game.ReplicatedStorage.CharChange.OnServerEvent:Connect(function(player, model)
-- Clone the morph model (make sure it's a model, not a single part)
local clone = game.ReplicatedStorage.morph:Clone()
clone.Parent = workspace
clone.Position = player.Character.HumanoidRootPart.Position
clone.ParticleEmitter.Enabled = true
clone.ParticleEmitter2.Enabled = true
task.wait(0.05)
local char = model:Clone()
-- Ensure the clone model has a PrimaryPart set (HumanoidRootPart is commonly used)
if not char.PrimaryPart then
char.PrimaryPart = char:FindFirstChild("HumanoidRootPart") -- Set the PrimaryPart if needed
end
-- Clone the player's character model
local savename = player.Name
local pos = player.Character.HumanoidRootPart.CFrame
local humanoidRootPart = player.Character:FindFirstChild("HumanoidRootPart")
-- Adjust clone and particle effects
if char.PrimaryPart then
char:SetPrimaryPartCFrame(humanoidRootPart.CFrame) -- More accurate positioning
end
-- Anchor the new character to prevent any unwanted movement
char.HumanoidRootPart.Anchored = true
-- Setup the new character
char.Name = savename
player.Character = char
char.Parent = workspace
char.HumanoidRootPart.CFrame = pos -- Ensure exact positioning
task.wait(0.05)
char.HumanoidRootPart.Anchored = false
-- Disable particle effects after morph
-- Unanchor the new character after everything is set up
task.wait(0.5)
clone.ParticleEmitter.Enabled = false
clone.ParticleEmitter2.Enabled = false
-- Clean up the clone model after a delay
task.wait(5)
clone:Destroy()
end)
local script for one of the scripts firing the remote event:
script.Parent.MouseButton1Click:Connect(function()
local plaer = game.Players.LocalPlayer
script.Parent.Parent.Parent.Parent.morph:Play()
task.wait(0.1)
local skin = game.ReplicatedStorage.Skins.Ticker.Normal
game.ReplicatedStorage.CharChange:FireServer(skin)
end)
should also mention that the player spawns like that right now for some reason.
1 Like
I just found the issue
I was teleporting the player’s humanoidrootpart with position, not CFrame with the machines
sorry for wasting your time, but thanks for trying to help!!
1 Like
This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.