I would first off like to say I am relatively new with scripting and GUIs in general, but I have been slowly improving and learning to understand things via lots of trial and error.
I'm trying to work on a warrior cat map, I have the morphs and was provided the morph/customization GUI to work with via a link. I've inserted the GUI into the StarterGui folder, and I'm at a bit of a predicament.
Upon inserting the Gui into the folder, the initial screen comes up just fine. The buttons highlight when you mouse over them, but they do not work.
Additionally, I was under the impression there was buttons on the side to reopen the GUI when you close it, but those won't appear either. It seems once you press the x in the corner, you're pretty much sunk even if it was working.
Script for closing the GUI, named Open/CloseScript
function onClicked() script.Parent.Parent:remove() end script.Parent.MouseButton1Click:connect(onClicked)
I'll be posting lots of links just to be sure I've covered all my bases as far as information needed by answerers.
Link to the GUI in question. You can see in the comments I'm not the only one having issues.
https://www.roblox.com/library/86336731/Warrior-cat-morph-gui-free-use
Link to the morphs I am using (which I know were made to be compatible with this GUI. The morphs do have some viruses but I went through and removed them before using them). This GUI is supposed to, as far as I'm aware, allow the morph to be painted on a menu. The morphs/GUI are also supposed to come with claw and sleep tools but that's not important to what I need.
https://www.roblox.com/library/99452345/Mandaka-Models-c
Screencap of the GUI on my game. This is as far as it will go.
https://gyazo.com/c211827e84feba1c11e5dc19871cd259
Looks like this in the explorer (I chose the apprentice as a sample but this GUI is for multiple models) https://gyazo.com/1e406fb8755f6338f739ce5a60061945
Below is the script labelled Script
function onButtonClicked() q=script.Parent.Parent.Parent.Parent.Parent.Character b = script.Parent.Parent.Parent.Parent.Parent gun = game.Lighting.Sleep:clone() gun2 = game.Lighting.BluesteelClaws:clone() if b.Backpack:findFirstChild(gun.Name) ~= nil then return end gun.Parent = b.Backpack gun2.Parent = b.Backpack q.Head.Transparency = 1 q.Torso.Transparency = 1 q.Head.face.Transparency=1 ll=q:FindFirstChild("Left Arm") la=q:FindFirstChild("Right Arm") rl=q:FindFirstChild("Left Leg") ra=q:FindFirstChild("Right Leg") ll.Transparency = 1 la.Transparency = 1 rl.Transparency = 1 ra.Transparency = 1 script.Parent.Parent.Visible = false script.Parent.Parent.Parent.Warrior.Visible = false script.Parent.Parent.Parent.Kit.Visible = false script.Parent.Parent.Parent.WarrEyeSpot.Visible = true script.Parent.Parent.Parent.NoWarrEyeSpot.Visible = true end script.Parent.MouseButton1Click:connect(onButtonClicked)
Below is the script labelled SuitMorph
local Suit = game.Lighting:findFirstChild(script.Parent.Suit.Value) local Me = script.Parent.Parent.Parent.Parent.Parent.Character function Click(mouse) script.Parent.Visible = true if Me:findFirstChild("Humanoid") ~= nil and Me:findFirstChild("Arm1") == nil then local g = Suit.Arm1:clone() g.Parent = Me local C = g:GetChildren() for i=1, #C do if C[i].className == "Part" then local W = Instance.new("Weld") W.Part0 = g.Middle W.Part1 = C[i] local CJ = CFrame.new(g.Middle.Position) local C0 = g.Middle.CFrame:inverse()*CJ local C1 = C[i].CFrame:inverse()*CJ W.C0 = C0 W.C1 = C1 W.Parent = g.Middle end local Y = Instance.new("Weld") Y.Part0 = Me["Left Arm"] 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 h[i].Anchored = false h[i].CanCollide = false end end if Me:findFirstChild("Humanoid") ~= nil and Me:findFirstChild("Arm2") == nil then local g = Suit.Arm2:clone() g.Parent = Me local C = g:GetChildren() for i=1, #C do if C[i].className == "Part" then local W = Instance.new("Weld") W.Part0 = g.Middle W.Part1 = C[i] local CJ = CFrame.new(g.Middle.Position) local C0 = g.Middle.CFrame:inverse()*CJ local C1 = C[i].CFrame:inverse()*CJ W.C0 = C0 W.C1 = C1 W.Parent = g.Middle end local Y = Instance.new("Weld") Y.Part0 = Me["Right Arm"] 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 h[i].Anchored = false h[i].CanCollide = false end end if Me:findFirstChild("Humanoid") ~= nil and Me:findFirstChild("Leg1") == nil then local g = Suit.Leg1:clone() g.Parent = Me local C = g:GetChildren() for i=1, #C do if C[i].className == "Part" then local W = Instance.new("Weld") W.Part0 = g.Middle W.Part1 = C[i] local CJ = CFrame.new(g.Middle.Position) local C0 = g.Middle.CFrame:inverse()*CJ local C1 = C[i].CFrame:inverse()*CJ W.C0 = C0 W.C1 = C1 W.Parent = g.Middle end local Y = Instance.new("Weld") Y.Part0 = Me["Left Leg"] 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 h[i].Anchored = false h[i].CanCollide = false end end if Me:findFirstChild("Humanoid") ~= nil and Me:findFirstChild("Leg2") == nil then local g = Suit.Leg2:clone() g.Parent = Me local C = g:GetChildren() for i=1, #C do if C[i].className == "Part" then local W = Instance.new("Weld") W.Part0 = g.Middle W.Part1 = C[i] local CJ = CFrame.new(g.Middle.Position) local C0 = g.Middle.CFrame:inverse()*CJ local C1 = C[i].CFrame:inverse()*CJ W.C0 = C0 W.C1 = C1 W.Parent = g.Middle end local Y = Instance.new("Weld") Y.Part0 = Me["Right Leg"] 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 h[i].Anchored = false h[i].CanCollide = false end end if Me:findFirstChild("Humanoid") ~= nil and Me:findFirstChild("Chest") == nil then local g = Suit.Chest:clone() g.Parent = Me local C = g:GetChildren() local R = Me:GetChildren() for i=1, #R do if R[i].className == "Hat" then R[i]:remove() end end for i=1, #C do if C[i].className == "Part" then local W = Instance.new("Weld") W.Part0 = g.Middle W.Part1 = C[i] local CJ = CFrame.new(g.Middle.Position) local C0 = g.Middle.CFrame:inverse()*CJ local C1 = C[i].CFrame:inverse()*CJ W.C0 = C0 W.C1 = C1 W.Parent = g.Middle end local Y = Instance.new("Weld") Y.Part0 = Me.Torso 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 h[i].Anchored = false h[i].CanCollide = false end end end script.Parent.MouseButton1Down:connect(Click)
This turned out to be very long... Terribly sorry. Could I get some help? The morph models themselves are in the workspace, so I assume I need to move those first?
EDIT: For the script labeled Script, you wrote:
q=script.Parent.Parent.Parent.Parent.Parent.Character
The issue may be the not having a space after the q and after the =. Also reading more of the script labeled Script, I see more lines of code with no spaces before and after the =. Maybe fixing that will help.
For the script called Script, you want the bottom when connecting to say:
script.Parent.MouseButton1Down:connect(onButtonClicked)
Please let me know if this does not fix it.