Advertisement
Aquarius_Raverus

Morph UI Client

Dec 30th, 2019
151
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 6.28 KB | None | 0 0
  1. -- By Aqu_ia
  2.  
  3.  
  4. --|| Variables
  5.  
  6.  
  7. local WSP = game:GetService("Workspace")
  8. local Storage = game:GetService("ReplicatedStorage")
  9.  
  10. local Cam = WSP.CurrentCamera
  11. local MorphsFolder = Storage.Morphs
  12.  
  13. local MorphUI = script.Parent
  14. local CustomizationFolder = WSP.MorphCustomization
  15.  
  16. local DivisionSelectors = MorphUI.MainFrame.DivisionSelectors
  17. local Template = script.Template
  18.  
  19. local MorphEvent = Storage.Remotes.MorphEvent
  20.  
  21. local MorphSelected;
  22. local ActivationDebounce = false
  23.  
  24.  
  25.  
  26. --|| Functions
  27.  
  28.  
  29. function ChangeAppearance(plr, chosenMorph)
  30.  
  31.     CustomizationFolder.PREVIEW.Head.Transparency = 1
  32.     CustomizationFolder.PREVIEW.Head:ClearAllChildren()
  33. end
  34.  
  35.  
  36. function DivisionSelectorClicked(button)
  37.     button.MouseButton1Click:Connect(function()
  38.         for i,v in pairs(MorphUI.MainFrame.MorphSelector.ScrollingSelection:GetChildren()) do
  39.             if v:IsA("ImageLabel") and v:FindFirstChild('MorphName') then
  40.                 v:Destroy()
  41.             end
  42.         end
  43.        
  44.         for i,v2 in pairs(MorphsFolder[button.Name]:GetChildren()) do
  45.             local Clone = Template:Clone()
  46.            
  47.             Clone.Parent = MorphUI.MainFrame.MorphSelector.ScrollingSelection
  48.             Clone.MorphName.Text = v2.Name
  49.            
  50.             Clone.Name = v2.Name
  51.            
  52.             Clone.MorphName.MouseEnter:Connect(function()
  53.                 Clone.MorphName.Text = "> ".. v2.Name
  54.             end)
  55.            
  56.             Clone.MorphName.MouseLeave:Connect(function()
  57.                 Clone.MorphName.Text = v2.Name
  58.             end)
  59.            
  60.             Clone.MorphName.MouseButton1Click:Connect(function()
  61.                 MorphSelected = Clone.Name
  62.                 MorphUI.MainFrame.MorphSelected.Text = "Morph Selected: ".. MorphSelected
  63.                 MorphEvent:FireServer(MorphSelected, "ApplyName")
  64.                
  65.                 for i,v in pairs(Storage.Morphs:GetChildren()) do
  66.                     local ChosenMorphSelected = v:FindFirstChild(Clone.Name)
  67.                    
  68.                     if ChosenMorphSelected then
  69.                         local ClonedMorph = ChosenMorphSelected:Clone()
  70.                         for i,v2 in pairs(ChosenMorphSelected:GetChildren()) do
  71.                             if v2:IsA("Shirt") then
  72.                                 game.Workspace.MorphCustomization.PREVIEW.Shirt.ShirtTemplate = v2.ShirtTemplate
  73.                                 game.Workspace.MorphCustomization.PREVIEW.HumanoidRootPart.Transparency = 1
  74.                             elseif v2:IsA("Pants") then
  75.                                 game.Workspace.MorphCustomization.PREVIEW.Pants.PantsTemplate = v2.PantsTemplate
  76.                             end
  77.                            
  78.                             for i, v3 in pairs(ClonedMorph.Eyes:GetChildren()) do
  79.                                
  80.                                 game.Workspace.MorphCustomization.PREVIEW.Head.Transparency = 1
  81.                                
  82.                                 local w = Instance.new('Weld')
  83.                                 w.Part0 = ClonedMorph.Eyes.Middle
  84.                                 w.Part1 = v3
  85.                                
  86.                                 print(v2)
  87.                                
  88.                                 local CJ = CFrame.new(ClonedMorph.Eyes.Middle.Position)
  89.                                 local C0 = ClonedMorph.Eyes.Middle.CFrame:inverse()*CJ
  90.                                 local C1 = v3.CFrame:inverse()*CJ
  91.                                
  92.                                 w.C0 = C0
  93.                                 w.C1 = C1
  94.                                 w.Parent = ClonedMorph.Eyes.Middle
  95.                                
  96.                             end
  97.                            
  98.                             local dummy = game.Workspace.MorphCustomization.PREVIEW
  99.                             local w2 = Instance.new('Weld')
  100.                             w2.Part0 = dummy.Head
  101.                             w2.Part1 = ClonedMorph.Eyes.Middle
  102.                             w2.Parent = dummy.Head
  103.                             ClonedMorph.Parent = dummy
  104.                             for a, b in pairs(ClonedMorph:GetChildren()) do
  105.                                 if b:IsA('Model') then
  106.                                 for c, d in pairs(b:GetChildren()) do
  107.                                    
  108.                                     d.Anchored = false
  109.                                     d.CanCollide = false
  110.                                     print('4')
  111.                                        
  112.                                     end
  113.                                 end
  114.                             end
  115.                         end
  116.                     end
  117.                 end
  118.             end)
  119.         end
  120.     end)
  121. end
  122.  
  123. function PageClicked()
  124.     DivisionSelectors.Page1.NextPage.MouseButton1Click:Connect(function()
  125.         for i,v in pairs(DivisionSelectors.Page2:GetChildren()) do
  126.             v.Visible = true
  127.         end
  128.         for i,v in pairs(DivisionSelectors.Page1:GetChildren()) do
  129.             v.Visible = false
  130.         end
  131.     end)
  132.    
  133.     DivisionSelectors.Page2.NextPage.MouseButton1Click:Connect(function()
  134.         for i,v in pairs(DivisionSelectors.Page3:GetChildren()) do
  135.             v.Visible = true
  136.         end
  137.         for i,v in pairs(DivisionSelectors.Page2:GetChildren()) do
  138.             v.Visible = false
  139.         end
  140.     end)
  141.    
  142.     DivisionSelectors.Page2.BackPage.MouseButton1Click:Connect(function()
  143.         for i,v in pairs(DivisionSelectors.Page2:GetChildren()) do
  144.             v.Visible = false
  145.         end
  146.         for i,v in pairs(DivisionSelectors.Page1:GetChildren()) do
  147.             v.Visible = true
  148.         end
  149.     end)
  150.    
  151.     DivisionSelectors.Page3.BackPage.MouseButton1Click:Connect(function()
  152.         for i,v in pairs(DivisionSelectors.Page3:GetChildren()) do
  153.             v.Visible = false
  154.         end
  155.         for i,v in pairs(DivisionSelectors.Page2:GetChildren()) do
  156.             v.Visible = true
  157.         end
  158.     end)
  159. end
  160.  
  161. function SaveMorphClicked()
  162.     MorphUI.MainFrame.SaveMorph.MouseButton1Click:Connect(function()
  163.         if (MorphSelected == nil) then MorphUI.MainFrame.SaveMorph.Text = "NO MORPH SELECTED" wait(0.5) MorphUI.MainFrame.SaveMorph.Text = "SAVE MORPH" return end
  164.        
  165.         if MorphEvent then
  166.        
  167.             MorphEvent:FireServer(MorphSelected, "SaveMorph")
  168.             MorphUI.MainFrame.SaveMorph.Text = "SUCCESS!"
  169.            
  170.             wait(0.5)
  171.             MorphUI.MainFrame.SaveMorph.Text = "SAVE MORPH"
  172.         end
  173.     end)
  174. end
  175.  
  176. function Deploy()
  177.     MorphUI.MainFrame.Deploy.MouseButton1Click:Connect(function()
  178.         if (MorphSelected == nil) then MorphUI.MainFrame.Deploy.Text = "PLEASE SELECT A MORPH!" wait(0.5) MorphUI.MainFrame.Deploy.Text = "DEPLOY" return end
  179.        
  180.         if ActivationDebounce then return end
  181.  
  182.         ActivationDebounce = true
  183.            
  184.         MorphEvent:FireServer(MorphSelected, "GiveMorph")
  185.         MorphUI.MainFrame:TweenPosition(UDim2.new(-1,0,0,0))
  186.        
  187.         MorphUI.SlideFrame:TweenPosition(UDim2.new(0,0,0,0))
  188.         wait(0.5)
  189.         Cam.CameraType = Enum.CameraType.Custom
  190.         wait(2)
  191.         MorphUI.SlideFrame:TweenPosition(UDim2.new(-1,0,0,0))
  192.     end)
  193. end
  194.  
  195. function CheckIfInGroup()
  196.     if not game.Players.LocalPlayer:IsInGroup(4976662) then
  197.         DivisionSelectors.Page1['187th Legion'].Locked.Visible = true
  198.     elseif not game.Players.LocalPlayer:IsInGroup(3364961) then
  199.         DivisionSelectors.Page1['The Senate Guard'].Locked.Visible = true
  200.        
  201.     end
  202. end
  203.  
  204.  
  205.  
  206. --|| Execution
  207.  
  208.  
  209. script.Parent.Enabled = true
  210.  
  211. for i,v in pairs(DivisionSelectors.Page1:GetChildren()) do
  212.     if v:IsA("ImageButton") then
  213.         DivisionSelectorClicked(v)
  214.     end
  215. end
  216.  
  217. for i,v in pairs(DivisionSelectors.Page2:GetChildren()) do
  218.     if v:IsA("ImageButton") then
  219.         DivisionSelectorClicked(v)
  220.     end
  221. end
  222.  
  223. for i,v in pairs(DivisionSelectors.Page3:GetChildren()) do
  224.     if v:IsA("ImageButton") then
  225.         DivisionSelectorClicked(v)
  226.     end
  227. end
  228.  
  229. PageClicked()
  230. Deploy()
  231. SaveMorphClicked()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement