welcome back again, in case you aren’t familiar with me and the armor system I’m having problem with, there is armor system for R15 Rig made by HowToRoblox, however, it doesn’t function properly with R6 Rig… so I need you guy’s help to continue with fixing armor system by HowToRoblox to make it function properly even with R6 rig, so I will give you guys screenshots and HowToRoblox’s Armor System Video, and my rbxl file of armor testing game… this problem has been issue in my game development for weeks, and I will require you guy’s help to finally finish it and move on. so here is the contents of it.
screenshot 1. the talisman type of armors that has replaced the hand type of armors and feet type of armor in the test game doesn’t welded with humanoid’s Torso, I do not know how to solve this out…
screenshot 2. this armor system could be amazing with armor description, but I still don’t know how to implement that system…
screenshot 3. supposedly, when the armor has been added into player model successfully, it will have extra one weldconstraint inside it’s PRIMARY PART. but for Torso Armor, things aren’t working as it’s supposed to be, and I don’t know why this script doesn’t create another weldconstraint inside it’s PRIMARY PART…
HowToRoblox’s video about Armor System:
this video right here
my rbxl file of that armor testing game which used HowToRoblox’s Armor System and kinda ported to R6, I recommend you to download it for see the problems by yourself and help me improve it. (need to publish and enable http requests in that game first):
howtoroblox’s armor system R6 ported.rbxl (182.2 KB)
here is also results of attempting to fix that armor system script by myself with help of ChatGPT, but thing didn’t even get solved at all… (script code shown below belongs to ServerScriptService > ArmorSystem > “EquipArmor”) :
local armorpieces = game:GetService("ReplicatedStorage"):WaitForChild("ArmorPieces")
function equipFunc(plr:Player, armortype:string, armor:string, plrSpawned:boolean)
local char = plr.Character or plr.CharacterAdded:Wait()
if char and char:FindFirstChild("Humanoid") and char.Humanoid.Health > 0 then
local inv = plr:WaitForChild("ArmorInventory")
local equipped = plr:WaitForChild("ArmorEquipped")
local currentArmor = equipped:FindFirstChild(armortype) and equipped[armortype].Value
if armorpieces:FindFirstChild(armortype) and armorpieces[armortype]:FindFirstChild(armor) then
if currentArmor and not plrSpawned then
local healthGain = currentArmor.Stats.Health.Value
local speedGain = currentArmor.Stats.Speed.Value
char.Humanoid.MaxHealth = char.Humanoid.MaxHealth - healthGain
char.Humanoid.WalkSpeed = char.Humanoid.WalkSpeed - speedGain
for _, armorpiece in pairs(armorpieces:GetDescendants()) do
if armorpiece.Name == currentArmor.Name and armorpiece.Parent.Parent == armorpieces then
armorpiece:Clone().Parent = inv
break
end
end
currentArmor:Destroy()
end
local newarmor = armorpieces[armortype][armor]:Clone()
for _, pieces in pairs(newarmor:GetChildren()) do
if pieces:IsA("Model") then
if char:FindFirstChild(pieces.Name) then
local pivotCFrame = char[pieces.Name].CFrame
pieces:PivotTo(pivotCFrame)
local wc = Instance.new("WeldConstraint")
wc.Part0 = char[pieces.Name]
wc.Part1 = pieces.PrimaryPart
wc.Parent = pieces.PrimaryPart
elseif armortype == "Torso" then
pieces:PivotTo(char.Torso.CFrame + Vector3.new(0, 2, 0))
local wc = Instance.new("WeldConstraint")
wc.Part0 = char.Torso
wc.Part1 = pieces.PrimaryPart
wc.Parent = pieces.PrimaryPart
end
end
end
newarmor.Parent = char
equipped[armortype].Value = newarmor
if inv:FindFirstChild(armor) then
inv[armor]:Destroy()
end
local newHealthGain = newarmor.Stats.Health.Value
local newSpeedGain = newarmor.Stats.Speed.Value
char.Humanoid.MaxHealth = char.Humanoid.MaxHealth + newHealthGain
char.Humanoid.WalkSpeed = char.Humanoid.WalkSpeed + newSpeedGain
if char.Humanoid.Health > char.Humanoid.MaxHealth then
char.Humanoid.Health = char.Humanoid.MaxHealth
end
end
end
end
return equipFunc
thank you so much for giving me help for current problem I’m having right now, tysm. -mari Shiel