Custom player part glitching when moving.
local TriangleModule = require(game.ServerScriptService.TriangleModule)
local triangleModel = game.ServerStorage.Triangle
local player
local character
local triangle
local hitbox
game:GetService("PhysicsService"):RegisterCollisionGroup("Player")
game:GetService("PhysicsService"):RegisterCollisionGroup("NoCollisionPart")
game:GetService("PhysicsService"):CollisionGroupSetCollidable("Player", "NoCollisionPart", false)
game:GetService("PhysicsService"):CollisionGroupSetCollidable("NoCollisionPart", "NoCollisionPart", false)
game:GetService("PhysicsService"):CollisionGroupSetCollidable("Player", "Player", false)
function PlayerAdded(plyr)
player = plyr
plyr.CharacterAdded:Connect(CharacterAdded)
TriangleModule.Respawn(player)
end
function CharacterAdded(char)
task.wait(0.5)
character = char
character.Humanoid.Died:Connect(function()
TriangleModule.Respawn(player)
end)
CreateTriangle()
SetupPlayer()
end
function CreateTriangle()
triangle = triangleModel:Clone()
triangle.Parent = character.HumanoidRootPart
triangle.CFrame = character.HumanoidRootPart.CFrame
triangle.Name = "Triangle"
triangle.CanCollide = true
triangle.UsePartColor = true
triangle.Massless = true
triangle.Color = Color3.new(math.random(0, 255), math.random(0, 255), math.random(0, 255))
local weld = Instance.new("WeldConstraint", triangle)
weld.Part0 = character.HumanoidRootPart
weld.Part1 = triangle
hitbox = Instance.new("Part", triangle)
hitbox.Name = "Hitbox"
hitbox.Size = Vector3.new(2, 2, 2)
hitbox.CanCollide = false
hitbox.Transparency = .5
hitbox.CFrame = triangle.CFrame
hitbox.Massless = true
local weld2 = Instance.new("WeldConstraint", hitbox)
weld2.Part0 = triangle
weld2.Part1 = hitbox
local size = Instance.new("NumberValue", triangle)
size.Name = "SizeInt"
size.Value = 8
character.Humanoid.WalkSpeed = 50
triangle.PlayerUI.PlayerLabel.Text = player.Name
triangle.PlayerUI.SizeLabel.Text = "Size: ".. tostring(math.floor(size.Value*100, 0.5))
triangle.PlayerUI.SpeedLabel.Text = "Speed: ".. tostring(math.floor(player.Character.Humanoid.WalkSpeed*100, 0.5))
end
function SetupPlayer()
for _, child in ipairs(character:GetChildren()) do
if child:IsA("Accessory") then
child:Destroy()
end
if child:IsA("BasePart") then
child.Transparency = 1
child.CollisionGroup = "Player"
if child.Name == "Head" then
child:FindFirstChildOfClass("Decal"):Destroy()
end
if child.Name == "Left Arm" then
child:Destroy()
end
if child.Name == "Right Arm" then
child:Destroy()
end
end
hitbox.CollisionGroup = "Player"
triangle.CollisionGroup = "Player"
game.Players.CharacterAutoLoads = false
player.CameraMaxZoomDistance = 20
player.CameraMinZoomDistance = 20
character.Humanoid.HipHeight = 0
end
end
game.Players.PlayerAdded:Connect(PlayerAdded)