Armor fits on r15 rig but not r15 player model



Tldr: Want tof find a way to make players model the exact same as a r15 model, or at least a way to make the armor fit on the playre like it does on the dummy

I have to use a custom script in serverscript to make the player have the default r15 model, but that model behaves differently for some reason when it comes to armor. It looks a little bigger because the armor clips for some reason i dont even know. Tried to model a custom armor piece and make each piece big as possible but i couldnt do that without making it look messy.

I weld each piece withtin the model itself to its respective part of the players character using this

if not player.Character then return end
	local ss = game:GetService("ServerStorage")
	
	 local FoundModel = ss.ArmorModels:FindFirstChild(Model)
	
	if not Model then print("Could not find armor model,",Model) return end
		local ArmorPieceClone = FoundModel:Clone()
		
		ArmorPieceClone.Parent = player.Character
		
		for i, partModel :Model in ArmorPieceClone:GetChildren() do
			
			local BodyPart :BasePart = player.Character:FindFirstChild(partModel.Name)
			
			if BodyPart then
				
			--partModel.PrimaryPart.CFrame = BodyPart.CFrame
				local weld = Instance.new("Weld")
				
				weld.Parent = BodyPart
				weld.Part0 = BodyPart
				weld.Part1 = partModel.PrimaryPart	
				
			else
				 
				
			end
			
		end
		

here is the script which forces base r15 model

Blocky Script:



local Players = game.Players

function PlayerJoined(Player)
	local function RemoveMeshes(Character)
		local Humanoid = Character:WaitForChild("Humanoid")
		wait()
		local CurrentDescription = Humanoid:GetAppliedDescription()

		CurrentDescription.Head = 0
		CurrentDescription.Torso = 0
		CurrentDescription.LeftArm = 0
		CurrentDescription.RightArm = 0
		CurrentDescription.LeftLeg = 0
		CurrentDescription.RightLeg = 0
		Humanoid:ApplyDescription(CurrentDescription)
	end
	Player.CharacterAdded:Connect(RemoveMeshes)
end

game.Players.PlayerAdded:Connect(function(player)
	player.CharacterAppearanceLoaded:Connect(function(char)
		local Humanoid = char.Humanoid
		local CurrentDescription = Humanoid:GetAppliedDescription() 
		CurrentDescription.Head = 0
		CurrentDescription.Torso = 0
		CurrentDescription.LeftArm = 0
		CurrentDescription.RightArm  = 0
		CurrentDescription.LeftLeg = 0
		CurrentDescription.RightLeg = 0
		Humanoid:ApplyDescription(CurrentDescription) 
	end)
end)

Could be the scale of the player?

Try forcing the scale to be the same, or scale the armor relative to the player’s scale.

How would i do either option? Like make the size of the armor be for say the size of that body part plus maybe 30%?

For anyone else wondering how to get the player model to be EXACTLY the same as the r15 dummy rig, here u go.

local Players = game.Players

function PlayerJoined(Player)
	local function RemoveMeshes(Character)
		local Humanoid = Character:WaitForChild("Humanoid")
		wait()
		local CurrentDescription = Humanoid:GetAppliedDescription()

		CurrentDescription.Head = 0
		CurrentDescription.Torso = 0
		CurrentDescription.LeftArm = 0
		CurrentDescription.RightArm = 0
		CurrentDescription.LeftLeg = 0
		CurrentDescription.RightLeg = 0
		Humanoid:ApplyDescription(CurrentDescription)
		
		Humanoid:WaitForChild("BodyTypeScale").Value = 0
		Humanoid:WaitForChild("BodyWidthScale").Value = 1
		Humanoid:WaitForChild("BodyDepthScale").Value = 1
		Humanoid:WaitForChild("BodyHeightScale").Value = 1
		Humanoid:WaitForChild("HeadScale").Value = 1
	end
	Player.CharacterAdded:Connect(RemoveMeshes)
end

game.Players.PlayerAdded:Connect(function(player)
	player.CharacterAppearanceLoaded:Connect(function(char)
		
		local Humanoid = char.Humanoid
		local CurrentDescription = Humanoid:GetAppliedDescription() 
		CurrentDescription.Head = 0
		CurrentDescription.Torso = 0
		CurrentDescription.LeftArm = 0
		CurrentDescription.RightArm  = 0
		CurrentDescription.LeftLeg = 0
		CurrentDescription.RightLeg = 0
		Humanoid:ApplyDescription(CurrentDescription) 
		
		Humanoid:WaitForChild("BodyTypeScale").Value = 0
		Humanoid:WaitForChild("BodyWidthScale").Value = 1
		Humanoid:WaitForChild("BodyDepthScale").Value = 1
		Humanoid:WaitForChild("BodyHeightScale").Value = 1
		Humanoid:WaitForChild("HeadScale").Value = 1
	end)
end)

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.