Hihi! ImperfectWorkclock here.
I’ve been recently working on a pet, with a friend, that follows you around. No it’s not like the Bubblegum Simulator Pets, or any knock off versions of those pets. I’ve been having issues when trying to make the pet seem more like a user rather than some gray, faceless, block character
First off, to clarify, the pet system is placed into the ServerScriptService.
Second off, the pet works perfectly fine when it’s unmodified.
Now, as you see it, the pet looks bland, kind of just like one of those R6 NPC Templates. Gray, blocky, and faceless.
The important contents within the Pet
I don’t want that. I’ve tried to make this template look more like a character. So I imported myself into the game, and tried 2 different things:
a) Transfer over all Scripts, Attachments, BodyGyros, BodyPositions, and Joints over to my imported avatar
b) Transfer all Accessories, Joints, and Decals over to the Pet Template
Both ways did not work.
Option A would not even spawn. Nothing would appear
After transferring everything over to my imported avatar
Result (after putting the system back into ServerScriptService
Option B would cause the pet to look very disorientated and deformed, it’s accessories all over the place. It would also cause the pet to fall flat on it’s face and not allow it to move.
Transferred all Accessories, Decals, etc. over to the Pet
After clicking PlayTest (and putting the pet system back into ServerScriptService)
I really don’t know where the issue is. Both have the same joints and Attachments. I don’t know why the accessories are not in the correct place, nor do I know why the Pet just lays their frozen in the ground.
I have attached the scripts in case anyone finds an issue that is causing this problem:
local char = script.Parent.Parent local hum = char:FindFirstChild("Humanoid") local torso = char:FindFirstChild("Torso") local pet = script.Parent local maxFloat = 1 local floatInc = 0.025 local sw = false local fl = 0 while true do wait() if not sw then fl = fl + floatInc if fl >= maxFloat then sw = true end else fl = fl - floatInc if fl <=-maxFloat then sw = false end end if pet ~= nil and hum ~= nil and torso ~= nil then if hum.Health >= 0 then local cf = torso.CFrame * CFrame.new(3,2+fl,3) pet.BodyPosition.Position = Vector3.new(cf.x,cf.y,cf.z) pet.BodyGyro.CFrame = torso.CFrame * CFrame.new(3,0,-3) pet.Humanoid:MoveTo(Vector3.new(cf.x,cf.y,cf.z)) else break end end end
The Local Script within the pet
-- services local players = game:GetService("Players") -- variables local pet = script.Parent.Pet -- functions local function clonePetTo(player) local model = pet:Clone() local char = player.Character model.HumanoidRootPart.CFrame = char.PrimaryPart.CFrame model.Parent = char end -- events players.PlayerAdded:Connect(function(plr) plr.CharacterAdded:Connect(function(char) clonePetTo(plr) end) end)
The MainScript that executes the function that clones the pet and gives it to the player.
Here is the link to the PetSystem, if you want to test it out: https://www.roblox.com/catalog/4046216358/noobs
Again, the issues are:
- Accessories do not fit properly on the head.
- The character does not show up at all
- The character is frozen and stuck in the ground, unable to move
Reminder: All of these issues are found when attempting to change the bland, R6 template into a normal-looking avatar
Thank you for reading through this! If you find a solution to these issues, please let me know!