I used a R15 auto morph script to give division and main uniforms to people automatically on join and It works fine but the main uniform blocks division uniforms from being worn while the group id is in the main one.
1 Like
The script
local Players = game:GetService('Players')
local Morphs = game:GetService('ServerStorage'):WaitForChild('Morphs') -- Looks for the "Morph" folder you've created earlier.
local visible = false
local recol = ''
function morph(plr, part, location, model, test)
if plr ~= nil then
if test == 'Morph' then
if plr:FindFirstChild('Morph') == nil then
local Folder = Instance.new('Folder')
Folder.Name = 'Morph'
Folder.Parent = plr
end
elseif test == 'Coat' then -- The "Coat" and "Pauld" statements can be completely ignored or removed without harming the script.
if plr:FindFirstChild('Coat') == nil then
local Folder = Instance.new('Folder')
Folder.Name = 'Coat'
Folder.Parent = plr
end
elseif test == 'Add' then
if plr:FindFirstChild('Add') == nil then
local Folder = Instance.new('Folder')
Folder.Name = 'Add'
Folder.Parent = plr
end
elseif test == 'Pauld' then
if plr:FindFirstChild('Pauld') == nil then
local Folder = Instance.new('Folder')
Folder.Name = 'Pauld'
Folder.Parent = plr
end
end
local Folder = (test == 'Morph' and plr:FindFirstChild('Morph')
or test == 'Coat' and plr:FindFirstChild('Coat')
or test == 'Add' and plr:FindFirstChild('Add')
or test == 'Pauld' and plr:FindFirstChild('Pauld'))
if Folder:FindFirstChild(model) == nil then
local g = location[model]:Clone()
g.Parent = Folder
for i, v in ipairs(g:GetChildren()) do
if v:IsA("BasePart") then
local W = Instance.new("Weld")
W.Part0 = g.Middle
W.Part1 = v
local CJ = CFrame.new(g.Middle.Position)
local C0 = g.Middle.CFrame:inverse() * CJ
local C1 = v.CFrame:inverse() * CJ
W.C0 = C0
W.C1 = C1
W.Parent = g.Middle
end
local Y = Instance.new("Weld")
Y.Part0 = plr:FindFirstChild(part)
Y.Part1 = g.Middle
Y.C0 = CFrame.new(0, 0, 0)
Y.Parent = Y.Part0
end
local h = g:GetChildren()
for i = 1, # h do
if h[i].className == "Part" or h[i].className == "UnionOperation" or h[i].className == "MeshPart" or h[i].className == "WedgePart" then
h[i].Anchored = false
h[i].CanCollide = false
end
end
end
end
end
local function RunThings(char,Model, test)
pcall(function()
if Model:findFirstChild("Head") then
morph(char, 'Head', Model, "Head",test)
end
if Model:findFirstChild("UpperTorso") then -- Looks for the body part models placed inside of the named folder you made.
morph(char, 'UpperTorso', Model, "UpperTorso",test)
end
if Model:findFirstChild("LowerTorso") then
morph(char, 'LowerTorso', Model, "LowerTorso",test)
end
if Model:findFirstChild("LeftUpperArm") then
morph(char, 'LeftUpperArm', Model, "LeftUpperArm",test)
end
if Model:findFirstChild("RightUpperArm") then
morph(char, 'RightUpperArm', Model, "RightUpperArm",test)
end
if Model:findFirstChild("LeftLowerArm") then
morph(char, 'LeftLowerArm', Model, "LeftLowerArm",test)
end
if Model:findFirstChild("RightLowerArm") then
morph(char, 'RightLowerArm', Model, "RightLowerArm",test)
end
if Model:findFirstChild("LeftHand") then
morph(char, 'LeftHand', Model, "LeftHand",test)
end
if Model:findFirstChild("RightHand") then
morph(char, 'RightHand', Model, "RightHand",test)
end
if Model:findFirstChild("LeftUpperLeg") then
morph(char, 'LeftUpperLeg', Model, "LeftUpperLeg",test)
end
if Model:findFirstChild("RightUpperLeg") then
morph(char, 'RightUpperLeg', Model, "RightUpperLeg",test)
end
if Model:findFirstChild("LeftLowerLeg") then
morph(char, 'LeftLowerLeg', Model, "LeftLowerLeg",test)
end
if Model:findFirstChild("RightLowerLeg") then
morph(char, 'RightLowerLeg', Model, "RightLowerLeg",test)
end
if Model:findFirstChild("LeftFoot") then
morph(char, 'LeftFoot', Model, "LeftFoot",test)
end
if Model:findFirstChild("RightFoot") then
morph(char, 'RightFoot', Model, "RightFoot",test)
end
end)
end
local function MorphUser(User,Team,Class,Morph,name)
local MorphRoot = Morphs[Team][Class]:WaitForChild(Morph)
local Model = MorphRoot:Clone()
local char = User.Character
RunThings(char,Model,name)
end
local function Body(depth,height,width,Char)
for _,v in pairs(Char.Humanoid:GetChildren()) do
if v.ClassName == 'NumberValue' then
if v.Name == 'BodyDepthScale' then -- Looks for any changes made to the depth, height and width variables.
v.Value = depth
elseif v.Name == 'BodyHeightScale' then
v.Value = height
elseif v.Name == 'BodyWidthScale' then
v.Value = width
end
end
end
end
local function Finale(Char)
for i,v in pairs(Char:GetChildren()) do
if v:IsA('Accessory') or v:IsA('Hat') then
v:Destroy()
end
end
end
local function Finale0(Char)
for i,v in pairs(Char:GetChildren()) do
if v.ClassName == 'MeshPart' or v.ClassName == 'n/a' then
v.Transparency = 1
if v:FindFirstChild('n/a') then
v.face:remove()
end
end
end
end
local function Finale1(Char)
for i,v in pairs(Char:GetChildren()) do
if v.ClassName == 'MeshPart' or v.ClassName == 'Part' then
v.Transparency = 1
if v:FindFirstChild('face') then
v.face:remove()
end
end
end
end
local function Finale2(Char)
for i,v in pairs(Char:GetChildren()) do
if v.ClassName == 'MeshPart' or v.ClassName == 'Part' and v.Name ~= 'Head' or v.Name ~= 'LeftHand' or v.Name ~= 'RightHand' then
v.Transparency = 1
end
end
end
local function Head(head,Char)
for _,v in pairs(Char.Humanoid:GetChildren()) do
if v.ClassName == 'NumberValue' then
if v.Name == 'HeadScale' then
v.Value = head
end
end
end
end
Players.PlayerAdded:connect(function(Player)
Player.CharacterAdded:connect(function(Character)
wait(2)
visible = false
-- Standard --
-- ‹The Galactic Empire› --
if Player:GetRankInGroup(21421421) >= 6 then
Body(1,1,1,Character)
MorphUser(Player, "TGE", "Divisionless", "Basic", "Morph")
Finale(Character)
Finale1(Character)
-- 501st Division --
elseif Player:GetRankInGroup(6565371) == 1 then
Body(1,1,1,Character)
MorphUser(Player, "TGE", "501", "Clone-Stormtrooper", "Morph")
Finale(Character)
Finale1(Character)
elseif Player:GetRankInGroup(6565371) == 2 then
Body(1,1,1,Character)
MorphUser(Player, "TGE", "501", "Clone-Stormtrooper", "Morph")
Finale(Character)
Finale1(Character)
elseif Player:GetRankInGroup(6565371) == 3 then
Body(1,1,1, Character)
MorphUser(Player, "TGE", "501", "Imperial Commando", "Morph")
Finale(Character)
Finale1(Character)
elseif Player:GetRankInGroup(6565371) == 4 then
Body(1,1,1, Character)
MorphUser(Player, "TGE", "501", "Clone-Stormtrooper", "Morph")
Finale(Character)
Finale1(Character)
elseif Player:GetRankInGroup(6565371) == 5 then
Body(1,1,1, Character)
MorphUser(Player, "TGE", "501", "Clone-Stormtrooper", "Morph")
Finale(Character)
Finale1(Character)
elseif Player:GetRankInGroup(6565371) == 6 then
Body(1,1,1, Character)
MorphUser(Player, "TGE", "501", "Clone-Stormtrooper", "Morph")
Finale(Character)
Finale1(Character)
elseif Player:GetRankInGroup(6565371) == 7 then
Body(1,1,1, Character)
MorphUser(Player, "TGE", "501", "Clone-Stormtrooper", "Morph")
Finale(Character)
Finale1(Character)
-- Shock Division --
elseif Player:GetRankInGroup(6567204) == 1 then
Body(1,1,1, Character)
MorphUser(Player, "TGE", "Shock", "Cadet", "Morph")
Finale(Character)
Finale1(Character)
elseif Player:GetRankInGroup(6567204) == 2 then
Body(1,1,1, Character)
MorphUser(Player, "TGE", "Shock", "Lc", "Morph")
Finale(Character)
Finale1(Character)
elseif Player:GetRankInGroup(6567204) == 3 then
Body(1,1,1, Character)
MorphUser(Player, "TGE", "Shock", "Officer", "Morph")
Finale(Character)
Finale1(Character)
elseif Player:GetRankInGroup(6567204) == 4 then
Body(1,1,1, Character)
MorphUser(Player, "TGE", "Shock", "Officer", "Morph")
Finale(Character)
Finale1(Character)
elseif Player:GetRankInGroup(6567204) == 254 then
Body(1,1,1, Character)
MorphUser(Player, "TGE", "Shock", "XO", "Morph")
Finale(Character)
Finale1(Character)
-- Death Troopers --
elseif Player:GetRankInGroup(6567420) == 1 then
Body(1,1,1, Character)
MorphUser(Player, "TGE", "DR", "Ranker", "Morph")
Finale(Character)
Finale1(Character)
elseif Player:GetRankInGroup(6567420) == 2 then
Body(1,1,1, Character)
MorphUser(Player, "TGE", "DR", "Ranker", "Morph")
Finale(Character)
Finale1(Character)
elseif Player:GetRankInGroup(6567420) == 3 then
Body(1,1,1, Character)
MorphUser(Player, "TGE", "DR", "Ranker", "Morph")
Finale(Character)
Finale1(Character)
elseif Player:GetRankInGroup(6567420) == 4 then
Body(1,1,1, Character)
MorphUser(Player, "TGE", "DR", "Officer", "Morph")
Finale(Character)
Finale1(Character)
elseif Player:GetRankInGroup(6567420) == 5 then
Body(1,1,1, Character)
MorphUser(Player, "TGE", "DR", "Officer", "Morph")
Finale(Character)
Finale1(Character)
elseif Player:GetRankInGroup(6567420) == 253 then
Body(1,1,1, Character)
MorphUser(Player, "TGE", "DR", "DeathTrooperCommander", "Morph")
Finale(Character)
Finale1(Character)
elseif Player:GetRankInGroup(6567420) == 254 then
Body(1,1,1, Character)
MorphUser(Player, "TGE", "DR", "Krennic", "Morph")
Finale(Character)
Finale1(Character)
-- Imperial Royal Guard --
elseif Player:GetRankInGroup(6591728) == 1 then
Body(1,1,1, Character)
MorphUser(Player, "TGE", "RoyalGuard", "Initiate", "Morph")
Finale(Character)
Finale1(Character)
elseif Player:GetRankInGroup(6591728) == 2 then
Body(1,1,1, Character)
MorphUser(Player, "TGE", "RoyalGuard", "Guardsman", "Morph")
Finale(Character)
Finale1(Character)
elseif Player:GetRankInGroup(6591728) == 3 then
Body(1,1,1, Character)
MorphUser(Player, "TGE", "RoyalGuard", "ShadowGuard", "Morph")
Finale(Character)
Finale1(Character)
elseif Player:GetRankInGroup(6591728) == 4 then
Body(1,1,1, Character)
MorphUser(Player, "TGE", "RoyalGuard", "Sovpro", "Morph")
Finale(Character)
Finale1(Character)
elseif Player:GetRankInGroup(6591728) == 5 then
Body(1,1,1, Character)
MorphUser(Player, "TGE", "RoyalGuard", "Sergeant", "Morph")
Finale(Character)
Finale1(Character)
elseif Player:GetRankInGroup(6591728) == 6 then
Body(1,1,1, Character)
MorphUser(Player, "TGE", "RoyalGuard", "ShadowCO", "Morph")
Finale(Character)
Finale1(Character)
elseif Player:GetRankInGroup(6559365) == 254 then
Body(1,1,1, Character)
MorphUser(Player, "TGE", "RoyalGuard", "Commandant", "Morph")
Finale(Character)
Finale1(Character)
-- CR --
elseif Player:GetRankInGroup(13145421) == 1 then
Body(1,1,1, Character)
MorphUser(Player, "TRA", "CR", "CloneTrooper", "Morph")
Finale(Character)
Finale1(Character)
elseif Player:GetRankInGroup(13145421) == 2 then
Body(1,1,1, Character)
MorphUser(Player, "TRA", "CR", "HeavyCloneTrooper", "Morph")
Finale(Character)
Finale1(Character)
elseif Player:GetRankInGroup(13145421) == 3 then
Body(1,1,1, Character)
MorphUser(Player, "TRA", "CR", "CloneJetTrooper", "Morph")
Finale(Character)
Finale1(Character)
elseif Player:GetRankInGroup(13145421) == 4 then
Body(1,1,1, Character)
MorphUser(Player, "TRA", "CR", "ARCTrooper", "Morph")
Finale(Character)
Finale1(Character)
elseif Player:GetRankInGroup(13145421) == 249 then
Body(1,1,1, Character)
MorphUser(Player, "TRA", "CR", "Alpha17", "Morph")
Finale(Character)
Finale1(Character)
elseif Player:GetRankInGroup(13145421) == 250 then
Body(1,1,1, Character)
MorphUser(Player, "TRA", "CR", "Sev", "Morph")
Finale(Character)
Finale1(Character)
elseif Player:GetRankInGroup(13145421) == 251 then
Body(1,1,1, Character)
MorphUser(Player, "TRA", "CR", "Gregor", "Morph")
Finale(Character)
Finale1(Character)
elseif Player:GetRankInGroup(13145421) == 252 then
Body(1,1,1, Character)
MorphUser(Player, "TRA", "CR", "Wolffe", "Morph")
Finale(Character)
Finale1(Character)
elseif Player:GetRankInGroup(13145421) == 253 then
Body(1,1,1, Character)
MorphUser(Player, "TRA", "CR", "Rex", "Morph")
Finale(Character)
Finale1(Character)
elseif Player:GetRankInGroup(13145421) == 254 then
Body(1,1,1, Character)
MorphUser(Player, "TRA", "CR", "Fordo", "Morph")
Finale(Character)
Finale1(Character)
-- KM --
elseif Player:GetRankInGroup(13145215) >= 1 then
Body(1,1,1, Character)
MorphUser(Player, "TRA", "KM", "Militiaman", "Morph")
Finale(Character)
Finale1(Character)
-- BHG --
elseif Player:GetRankInGroup(13146280) >= 248 then
Body(1,1,1, Character)
MorphUser(Player, "TGE", "BHG", "Embo", "Morph")
Finale(Character)
Finale1(Character)
elseif Player:GetRankInGroup(13146280) >= 249 then
Body(1,1,1, Character)
MorphUser(Player, "TGE", "BHG", "Dengar", "Morph")
Finale(Character)
Finale1(Character)
elseif Player:GetRankInGroup(13146280) >= 250 then
Body(1,1,1, Character)
MorphUser(Player, "TGE", "BHG", "IG-88", "Morph")
Finale(Character)
Finale1(Character)
elseif Player:GetRankInGroup(13146280) >= 251 then
Body(1,1,1, Character)
MorphUser(Player, "TGE", "BHG", "Greedo", "Morph")
Finale(Character)
Finale1(Character)
elseif Player:GetRankInGroup(13146280) >= 252 then
Body(1,1,1, Character)
MorphUser(Player, "TGE", "BHG", "Bossk", "Morph")
Finale(Character)
Finale1(Character)
elseif Player:GetRankInGroup(13146280) >= 253 then
Body(1,1,1, Character)
MorphUser(Player, "TGE", "BHG", "FennecShand", "Morph")
Finale(Character)
Finale1(Character)
elseif Player:GetRankInGroup(13146280) >= 254 then
Body(1,1,1, Character)
MorphUser(Player, "TGE", "BHG", "BobaFett", "Morph")
Finale(Character)
Finale1(Character)
-- BB --
elseif Player:GetRankInGroup(13084320) >= 249 then
Body(1,1,1, Character)
MorphUser(Player, "TRA", "Bad Batch", "Omega", "Morph")
Finale(Character)
Finale1(Character)
elseif Player:GetRankInGroup(13084320) >= 250 then
Body(1,1,1, Character)
MorphUser(Player, "TRA", "Bad Batch", "Echo", "Morph")
Finale(Character)
Finale1(Character)
elseif Player:GetRankInGroup(13084320) >= 251 then
Body(1,1,1, Character)
MorphUser(Player, "TRA", "Bad Batch", "Tech", "Morph")
Finale(Character)
Finale1(Character)
elseif Player:GetRankInGroup(13084320) >= 252 then
Body(1,1,1, Character)
MorphUser(Player, "TRA", "Bad Batch", "Wrecker", "Morph")
Finale(Character)
Finale1(Character)
elseif Player:GetRankInGroup(13084320) >= 253 then
Body(1,1,1, Character)
MorphUser(Player, "TRA", "Bad Batch", "Crosshair", "Morph")
Finale(Character)
Finale1(Character)
elseif Player:GetRankInGroup(13084320) >= 254 then
Body(1,1,1, Character)
MorphUser(Player, "TRA", "Bad Batch", "Hunter", "Morph")
Finale(Character)
Finale1(Character)
--
-- Heros --
elseif Player.Name == "" then
Body(1,1,1, Character)
MorphUser(Player, "TGE", "", "", "Morph")
Finale(Character)
Finale1(Character)
end
end)
end)
nvm I just now noticed I need to place prioritys on the morphs
1 Like