Full body R15 armor suit

I’m currently working on a Cyber Suit that covers a full R15 body, I’ve really been asking everyone I know and searching online and on devforum for anyone who would know about how to do this.

My problem is, how do I connect the suit onto each part of the R15 body? I don’t know how to explain it well but I basically wanna build a juggernaut. And I have no idea how! If someone could help that’d be great.

I’ve run into problems such as

How to attach the suit to an R15 character
How to remove all the accessories on the character
How to script the moving parts of the suit while worn by the character
How to script the suit removal and attachment to a character without the use of pads (like touching something)
Basically, I’m having a problem with the whole execution of this suit. And I have no idea what I’m doing.

The only problem I don’t have is building. I already got that down.

If you could help, please do!

1 Like

Use welds. There are two good methods for this:

  • Use accessories.
  • Copy limbs of the R15 rig construct in pieces of your suit. Weld all the parts of the suit to that copied limb, then weld the copied limb to the real limb.

RemoveAccessories.

Needs more information, not sure what you mean. You can try animations or tweens, or some other solution that fits your needs.

The only difference between suiting up a character with a morph pad and not is that you’re reliant on the character touching the pad to suit them up. Apply the same principle but omit the need to touch the pad and you’re already set here.

Try doing some research for the API you need and try assembling this yourself first. :slight_smile:

4 Likes

How to attach the suit to an R15 character

To be convenient for later use Functions to create a function that will Weld each part of the suit to the player.

To weld a part it would look something like so:

local Weld = Instance.new("Weld")
Weld.Part0 = SuitPart
Weld.Part1 = CharacterPart --Example torso or something
Weld.C0 = CFrame --If you want to move the part or rotate it, etc
Weld.Parent = SuitPart

How to remove all the accessories on the character

Use @colbert2677 way by using Remove Accessories or using the code below:

for i, v in pairs(Character:GetChildren()) do --Loop through character parts
	if v:IsA("Accessory") then --If accessory
		v:Destroy() --Destroy accessory
	end
end

How to script the moving parts of the suit while worn by the character

Please give more information.

How to script the suit removal and attachment to a character

--Touched example---------------------------------------------------

local MorphPad = game.Workspace.Part --Some part to touch

MorphPad.Touched:Connect(function(Hit) --Pad touched
	if Hit.Parent:FindFirstChild("Humanoid") then --Check if a humanoid / character
		local Character = Hit.Parent
		if Character.HaveSuit.Value == false then --Have a check if player is already wearing suit
			WeldSuit(Character) --Use the function we defined before
		end
	end
end)


--UI example---------------------------------------------------

--Client

local Button = script.Parent
local SuitOn = false --You could do this on the server side for more security
local SuitRemote = SomeRemote

Button.MouseButton1Click:Connect(function()
	if SuitOn == false then
		SuitOn = true
		SuitRemote:FireServer()
	end
end)

--Server

SuitRemote.OnServerEvent:Connect(function(Player)
	local Character = Player.Character
	WeldSuit(Character) --The weld function
end)

Colbert already presented a solution, humanoid:RemoveAccessories, why reinvent the wheel ?

OP said without a morph pad, this is contrary to what he wants.

Oops I read it wrong.

Well you could make a button within a UI but then you will need to use Remote Events which may be confusing for people who don’t understand them. Anyways here is an example.

--Client

local Button = script.Parent
local SuitOn = false --You could do this on the server side for more security
local SuitRemote = SomeRemote

Button.MouseButton1Click:Connect(function()
	if SuitOn == false then
		SuitOn = true
		SuitRemote:FireServer()
	end
end)

--Server

SuitRemote.OnServerEvent:Connect(function(Player)
	local Character = Player.Character
	WeldSuit(Character) --The weld function
end)

By the way about

I believe this means that this wouldn’t happen:

image

but rather this:

image

in that scenario the armor would have to be split into several parts, one for the torso and for each limb. Or if it is a mesh you could possibly use some mesh deformation but that seems too complicated for this scenario.

Replying to your question on moving parts, I meant like spinning fans on the back of the juggernaut (cooling systems) and stuff, but I already have that handled now.