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: noobs - Roblox
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!