updated 1,12,13,14,15,16
This commit is contained in:
parent
7203529ebc
commit
a4ed01c567
|
|
@ -70,26 +70,22 @@ else
|
||||||
end
|
end
|
||||||
|
|
||||||
if game.CoreGui.Version >= 3 then
|
if game.CoreGui.Version >= 3 then
|
||||||
waitForProperty(game,"PlaceId")
|
-- Backpack Builder, creates most of the backpack gui
|
||||||
local inRightPlace = true
|
scriptContext:AddCoreScript(12,screenGui,"CoreScripts/BackpackScripts/BackpackBuilder")
|
||||||
for i,v in ipairs(backpackTestPlaces) do
|
|
||||||
if v == game.PlaceId then
|
waitForChild(screenGui,"CurrentLoadout")
|
||||||
inRightPlace = true
|
waitForChild(screenGui,"Backpack")
|
||||||
break
|
local Backpack = screenGui.Backpack
|
||||||
end
|
|
||||||
|
-- Manager handles all big backpack state changes, other scripts subscribe to this and do things accordingly
|
||||||
|
if game.CoreGui.Version >= 7 then
|
||||||
|
scriptContext:AddCoreScript(13,Backpack,"CoreScripts/BackpackScripts/BackpackManager")
|
||||||
end
|
end
|
||||||
|
|
||||||
waitForChild(game,"Players")
|
-- Backpack Gear (handles all backpack gear tab stuff)
|
||||||
waitForProperty(game.Players,"LocalPlayer")
|
game:GetService("ScriptContext"):AddCoreScript(14,Backpack,"CoreScripts/BackpackScripts/BackpackGear")
|
||||||
if game.Players.LocalPlayer.userId == 7210880 or game.Players.LocalPlayer.userId == 0 then inRightPlace = true end
|
-- Loadout Script, used for gear hotkeys
|
||||||
|
scriptContext:AddCoreScript(15,screenGui.CurrentLoadout,"CoreScripts/BackpackScripts/LoadoutScript")
|
||||||
if not inRightPlace then return end -- restricting availability of backpack
|
-- Wardrobe script handles all character dressing operations
|
||||||
|
scriptContext:AddCoreScript(16,Backpack,"CoreScripts/BackpackScripts/BackpackWardrobe")
|
||||||
-- Backpack Builder
|
|
||||||
scriptContext:AddCoreScript(12,screenGui,"BackpackBuilder")
|
|
||||||
waitForChild(screenGui,"CurrentLoadout")
|
|
||||||
waitForChild(screenGui.CurrentLoadout,"TempSlot")
|
|
||||||
waitForChild(screenGui.CurrentLoadout.TempSlot,"SlotNumber")
|
|
||||||
-- Backpack Script
|
|
||||||
scriptContext:AddCoreScript(13,screenGui.CurrentLoadout,"BackpackScript")
|
|
||||||
end
|
end
|
||||||
522
public/asset/12
522
public/asset/12
|
|
@ -1,5 +1,6 @@
|
||||||
%12%
|
%12%
|
||||||
--- ATTENTION!!! There are site-specific ids at the end of this script!!!!!!!!!!!!!!!!!!!!
|
-- This script creates almost all gui elements found in the backpack (warning: there are a lot!)
|
||||||
|
-- TODO: automate this process
|
||||||
|
|
||||||
if game.CoreGui.Version < 3 then return end -- peace out if we aren't using the right client
|
if game.CoreGui.Version < 3 then return end -- peace out if we aren't using the right client
|
||||||
|
|
||||||
|
|
@ -77,6 +78,23 @@ TempSlot.Parent = CurrentLoadout
|
||||||
GearReference.RobloxLocked = true
|
GearReference.RobloxLocked = true
|
||||||
GearReference.Parent = TempSlot
|
GearReference.Parent = TempSlot
|
||||||
|
|
||||||
|
local ToolTipLabel = Instance.new("TextLabel")
|
||||||
|
ToolTipLabel.Name = "ToolTipLabel"
|
||||||
|
ToolTipLabel.RobloxLocked = true
|
||||||
|
ToolTipLabel.Text = ""
|
||||||
|
ToolTipLabel.BackgroundTransparency = 0.5
|
||||||
|
ToolTipLabel.BorderSizePixel = 0
|
||||||
|
ToolTipLabel.Visible = false
|
||||||
|
ToolTipLabel.TextColor3 = Color3.new(1,1,1)
|
||||||
|
ToolTipLabel.BackgroundColor3 = Color3.new(0,0,0)
|
||||||
|
ToolTipLabel.TextStrokeTransparency = 0
|
||||||
|
ToolTipLabel.Font = Enum.Font.ArialBold
|
||||||
|
ToolTipLabel.FontSize = Enum.FontSize.Size14
|
||||||
|
--ToolTipLabel.TextWrap = true
|
||||||
|
ToolTipLabel.Size = UDim2.new(1,60,0,20)
|
||||||
|
ToolTipLabel.Position = UDim2.new(0,-30,0,-30)
|
||||||
|
ToolTipLabel.Parent = TempSlot
|
||||||
|
|
||||||
local Kill = Instance.new("BoolValue")
|
local Kill = Instance.new("BoolValue")
|
||||||
Kill.Name = "Kill"
|
Kill.Name = "Kill"
|
||||||
Kill.RobloxLocked = true
|
Kill.RobloxLocked = true
|
||||||
|
|
@ -136,12 +154,13 @@ TempSlot.Parent = CurrentLoadout
|
||||||
--- Great, now lets make the inventory!
|
--- Great, now lets make the inventory!
|
||||||
|
|
||||||
local Backpack = Instance.new("Frame")
|
local Backpack = Instance.new("Frame")
|
||||||
|
Backpack.RobloxLocked = true
|
||||||
Backpack.Visible = false
|
Backpack.Visible = false
|
||||||
Backpack.Name = "Backpack"
|
Backpack.Name = "Backpack"
|
||||||
Backpack.Position = UDim2.new(0.5,0,0.5,0)
|
Backpack.Position = UDim2.new(0.5,0,0.5,0)
|
||||||
Backpack.Size = UDim2.new(0,0,0,0)
|
Backpack.BackgroundColor3 = Color3.new(0,0,0)
|
||||||
Backpack.Style = Enum.FrameStyle.RobloxSquare
|
Backpack.BackgroundTransparency = 0.08
|
||||||
Backpack.RobloxLocked = true
|
Backpack.BorderSizePixel = 0
|
||||||
Backpack.Parent = gui
|
Backpack.Parent = gui
|
||||||
Backpack.Active = true
|
Backpack.Active = true
|
||||||
|
|
||||||
|
|
@ -164,49 +183,146 @@ Backpack.Active = true
|
||||||
|
|
||||||
local Tabs = Instance.new("Frame")
|
local Tabs = Instance.new("Frame")
|
||||||
Tabs.Name = "Tabs"
|
Tabs.Name = "Tabs"
|
||||||
Tabs.Visible = false
|
Tabs.Visible = true
|
||||||
Tabs.RobloxLocked = true
|
Tabs.RobloxLocked = true
|
||||||
Tabs.BackgroundColor3 = Color3.new(0,0,0)
|
Tabs.BackgroundColor3 = Color3.new(0,0,0)
|
||||||
Tabs.BackgroundTransparency = 0.5
|
Tabs.BackgroundTransparency = 0.08
|
||||||
Tabs.BorderSizePixel = 0
|
Tabs.BorderSizePixel = 0
|
||||||
Tabs.Position = UDim2.new(0,-8,-0.1,-8)
|
Tabs.Position = UDim2.new(0,0,-0.1,-4)
|
||||||
Tabs.Size = UDim2.new(1,16,0.1,0)
|
Tabs.Size = UDim2.new(1,0,0.1,4)
|
||||||
Tabs.Parent = Backpack
|
Tabs.Parent = Backpack
|
||||||
|
|
||||||
-- Tabs Children
|
-- Tabs Children
|
||||||
local InventoryButton = Instance.new("ImageButton")
|
|
||||||
|
local tabLine = Instance.new("Frame")
|
||||||
|
tabLine.RobloxLocked = true
|
||||||
|
tabLine.Name = "TabLine"
|
||||||
|
tabLine.BackgroundColor3 = Color3.new(53/255, 53/255, 53/255)
|
||||||
|
tabLine.BorderSizePixel = 0
|
||||||
|
tabLine.Position = UDim2.new(0,5,1,-4)
|
||||||
|
tabLine.Size = UDim2.new(1,-10,0,4)
|
||||||
|
tabLine.ZIndex = 2
|
||||||
|
tabLine.Parent = Tabs
|
||||||
|
|
||||||
|
local InventoryButton = Instance.new("TextButton")
|
||||||
InventoryButton.RobloxLocked = true
|
InventoryButton.RobloxLocked = true
|
||||||
InventoryButton.Name = "InventoryButton"
|
InventoryButton.Name = "InventoryButton"
|
||||||
InventoryButton.Size = UDim2.new(0.12,0,1,0)
|
InventoryButton.Size = UDim2.new(0,60,0,30)
|
||||||
InventoryButton.Style = Enum.ButtonStyle.RobloxButton
|
InventoryButton.Position = UDim2.new(0,7,1,-31)
|
||||||
|
InventoryButton.BackgroundColor3 = Color3.new(1,1,1)
|
||||||
|
InventoryButton.BorderColor3 = Color3.new(1,1,1)
|
||||||
|
InventoryButton.Font = Enum.Font.ArialBold
|
||||||
|
InventoryButton.FontSize = Enum.FontSize.Size18
|
||||||
|
InventoryButton.Text = "Gear"
|
||||||
|
InventoryButton.AutoButtonColor = false
|
||||||
|
InventoryButton.TextColor3 = Color3.new(0,0,0)
|
||||||
InventoryButton.Selected = true
|
InventoryButton.Selected = true
|
||||||
|
InventoryButton.Active = true
|
||||||
|
InventoryButton.ZIndex = 3
|
||||||
InventoryButton.Parent = Tabs
|
InventoryButton.Parent = Tabs
|
||||||
|
|
||||||
-- InventoryButton Children
|
if game.CoreGui.Version >= 8 then
|
||||||
local InventoryText = Instance.new("TextLabel")
|
local WardrobeButton = Instance.new("TextButton")
|
||||||
InventoryText.RobloxLocked = true
|
WardrobeButton.RobloxLocked = true
|
||||||
InventoryText.Name = "InventoryText"
|
WardrobeButton.Name = "WardrobeButton"
|
||||||
InventoryText.BackgroundTransparency = 1
|
WardrobeButton.Size = UDim2.new(0,90,0,30)
|
||||||
InventoryText.Font = Enum.Font.ArialBold
|
WardrobeButton.Position = UDim2.new(0,77,1,-31)
|
||||||
InventoryText.FontSize = Enum.FontSize.Size18
|
WardrobeButton.BackgroundColor3 = Color3.new(0,0,0)
|
||||||
InventoryText.Position = UDim2.new(0,-7,0,-7)
|
WardrobeButton.BorderColor3 = Color3.new(1,1,1)
|
||||||
InventoryText.Size = UDim2.new(1,14,1,14)
|
WardrobeButton.Font = Enum.Font.ArialBold
|
||||||
InventoryText.Text = "Gear"
|
WardrobeButton.FontSize = Enum.FontSize.Size18
|
||||||
InventoryText.TextColor3 = Color3.new(1,1,1)
|
WardrobeButton.Text = "Wardrobe"
|
||||||
InventoryText.Parent = InventoryButton
|
WardrobeButton.AutoButtonColor = false
|
||||||
|
WardrobeButton.TextColor3 = Color3.new(1,1,1)
|
||||||
|
WardrobeButton.Selected = false
|
||||||
|
WardrobeButton.Active = true
|
||||||
|
WardrobeButton.Parent = Tabs
|
||||||
|
end
|
||||||
|
|
||||||
local closeButton = Instance.new("TextButton")
|
local closeButton = Instance.new("TextButton")
|
||||||
closeButton.RobloxLocked = true
|
closeButton.RobloxLocked = true
|
||||||
closeButton.Name = "CloseButton"
|
closeButton.Name = "CloseButton"
|
||||||
closeButton.Font = Enum.Font.ArialBold
|
closeButton.Font = Enum.Font.ArialBold
|
||||||
closeButton.FontSize = Enum.FontSize.Size24
|
closeButton.FontSize = Enum.FontSize.Size24
|
||||||
closeButton.Position = UDim2.new(1,-33,0,2)
|
closeButton.Position = UDim2.new(1,-33,0,4)
|
||||||
closeButton.Size = UDim2.new(0,30,0,30)
|
closeButton.Size = UDim2.new(0,30,0,30)
|
||||||
closeButton.Style = Enum.ButtonStyle.RobloxButton
|
closeButton.Style = Enum.ButtonStyle.RobloxButton
|
||||||
closeButton.Text = "X"
|
closeButton.Text = ""
|
||||||
closeButton.TextColor3 = Color3.new(1,1,1)
|
closeButton.TextColor3 = Color3.new(1,1,1)
|
||||||
closeButton.Parent = Tabs
|
closeButton.Parent = Tabs
|
||||||
|
closeButton.Modal = true
|
||||||
|
|
||||||
|
--closeButton child
|
||||||
|
local XImage = Instance.new("ImageLabel")
|
||||||
|
XImage.RobloxLocked = true
|
||||||
|
XImage.Name = "XImage"
|
||||||
|
game:GetService("ContentProvider"):Preload("http://www.roblox.com/asset/?id=75547445")
|
||||||
|
XImage.Image = "http://www.roblox.com/asset/?id=75547445" --TODO: move to rbxasset
|
||||||
|
XImage.BackgroundTransparency = 1
|
||||||
|
XImage.Position = UDim2.new(-.25,-1,-.25,-1)
|
||||||
|
XImage.Size = UDim2.new(1.5,2,1.5,2)
|
||||||
|
XImage.ZIndex = 2
|
||||||
|
XImage.Parent = closeButton
|
||||||
|
|
||||||
|
-- Generic Search gui used across backpack
|
||||||
|
local SearchFrame = Instance.new("Frame")
|
||||||
|
SearchFrame.RobloxLocked = true
|
||||||
|
SearchFrame.Name = "SearchFrame"
|
||||||
|
SearchFrame.BackgroundTransparency = 1
|
||||||
|
SearchFrame.Position = UDim2.new(1,-220,0,2)
|
||||||
|
SearchFrame.Size = UDim2.new(0,220,0,24)
|
||||||
|
SearchFrame.Parent = Backpack
|
||||||
|
|
||||||
|
-- SearchFrame Children
|
||||||
|
local SearchButton = Instance.new("ImageButton")
|
||||||
|
SearchButton.RobloxLocked = true
|
||||||
|
SearchButton.Name = "SearchButton"
|
||||||
|
SearchButton.Size = UDim2.new(0,25,0,25)
|
||||||
|
SearchButton.BackgroundTransparency = 1
|
||||||
|
SearchButton.Image = "rbxasset://textures/ui/SearchIcon.png"
|
||||||
|
SearchButton.Parent = SearchFrame
|
||||||
|
|
||||||
|
local SearchBoxFrame = Instance.new("TextButton")
|
||||||
|
SearchBoxFrame.RobloxLocked = true
|
||||||
|
SearchBoxFrame.Position = UDim2.new(0,25,0,0)
|
||||||
|
SearchBoxFrame.Size = UDim2.new(1,-28,0,26)
|
||||||
|
SearchBoxFrame.Name = "SearchBoxFrame"
|
||||||
|
SearchBoxFrame.Text = ""
|
||||||
|
SearchBoxFrame.Style = Enum.ButtonStyle.RobloxButton
|
||||||
|
SearchBoxFrame.Parent = SearchFrame
|
||||||
|
|
||||||
|
-- SearchBoxFrame Children
|
||||||
|
local SearchBox = Instance.new("TextBox")
|
||||||
|
SearchBox.RobloxLocked = true
|
||||||
|
SearchBox.Name = "SearchBox"
|
||||||
|
SearchBox.BackgroundTransparency = 1
|
||||||
|
SearchBox.Font = Enum.Font.ArialBold
|
||||||
|
SearchBox.FontSize = Enum.FontSize.Size12
|
||||||
|
SearchBox.Position = UDim2.new(0,-5,0,-5)
|
||||||
|
SearchBox.Size = UDim2.new(1,10,1,10)
|
||||||
|
SearchBox.TextColor3 = Color3.new(1,1,1)
|
||||||
|
SearchBox.TextXAlignment = Enum.TextXAlignment.Left
|
||||||
|
SearchBox.ZIndex = 2
|
||||||
|
SearchBox.TextWrap = true
|
||||||
|
SearchBox.Text = "Search..."
|
||||||
|
SearchBox.Parent = SearchBoxFrame
|
||||||
|
|
||||||
|
|
||||||
|
local ResetButton = Instance.new("TextButton")
|
||||||
|
ResetButton.RobloxLocked = true
|
||||||
|
ResetButton.Visible = false
|
||||||
|
ResetButton.Name = "ResetButton"
|
||||||
|
ResetButton.Position = UDim2.new(1,-26,0,3)
|
||||||
|
ResetButton.Size = UDim2.new(0,20,0,20)
|
||||||
|
ResetButton.Style = Enum.ButtonStyle.RobloxButtonDefault
|
||||||
|
ResetButton.Text = "X"
|
||||||
|
ResetButton.TextColor3 = Color3.new(1,1,1)
|
||||||
|
ResetButton.Font = Enum.Font.ArialBold
|
||||||
|
ResetButton.FontSize = Enum.FontSize.Size18
|
||||||
|
ResetButton.ZIndex = 3
|
||||||
|
ResetButton.Parent = SearchFrame
|
||||||
|
|
||||||
|
------------------------------- GEAR -------------------------------------------------------
|
||||||
local Gear = Instance.new("Frame")
|
local Gear = Instance.new("Frame")
|
||||||
Gear.Name = "Gear"
|
Gear.Name = "Gear"
|
||||||
Gear.RobloxLocked = true
|
Gear.RobloxLocked = true
|
||||||
|
|
@ -215,84 +331,22 @@ Backpack.Active = true
|
||||||
Gear.Parent = Backpack
|
Gear.Parent = Backpack
|
||||||
|
|
||||||
-- Gear Children
|
-- Gear Children
|
||||||
|
local AssetsList = Instance.new("Frame")
|
||||||
|
AssetsList.RobloxLocked = true
|
||||||
|
AssetsList.Name = "AssetsList"
|
||||||
|
AssetsList.BackgroundTransparency = 1
|
||||||
|
AssetsList.Size = UDim2.new(0.2,0,1,0)
|
||||||
|
AssetsList.Style = Enum.FrameStyle.RobloxSquare
|
||||||
|
AssetsList.Visible = false
|
||||||
|
AssetsList.Parent = Gear
|
||||||
|
|
||||||
local GearGrid = Instance.new("Frame")
|
local GearGrid = Instance.new("Frame")
|
||||||
GearGrid.RobloxLocked = true
|
GearGrid.RobloxLocked = true
|
||||||
GearGrid.Name = "GearGrid"
|
GearGrid.Name = "GearGrid"
|
||||||
GearGrid.Size = UDim2.new(0.69,0,1,0)
|
GearGrid.Size = UDim2.new(0.69,0,1,0)
|
||||||
GearGrid.Style = Enum.FrameStyle.RobloxSquare
|
GearGrid.BackgroundTransparency = 1
|
||||||
GearGrid.Parent = Gear
|
GearGrid.Parent = Gear
|
||||||
|
|
||||||
-- GearGrid Children
|
|
||||||
local ResetFrame = Instance.new("Frame")
|
|
||||||
ResetFrame.RobloxLocked = true
|
|
||||||
ResetFrame.Name = "ResetFrame"
|
|
||||||
ResetFrame.Visible = false
|
|
||||||
ResetFrame.BackgroundTransparency = 1
|
|
||||||
ResetFrame.Size = UDim2.new(0,32,0,64)
|
|
||||||
ResetFrame.Parent = GearGrid
|
|
||||||
|
|
||||||
-- ResetFrame Children
|
|
||||||
local ResetImageLabel = Instance.new("ImageLabel")
|
|
||||||
ResetImageLabel.RobloxLocked = true
|
|
||||||
ResetImageLabel.Name = "ResetImageLabel"
|
|
||||||
ResetImageLabel.Image = "rbxasset://textures/ui/ResetIcon.png"
|
|
||||||
ResetImageLabel.BackgroundTransparency = 1
|
|
||||||
ResetImageLabel.Position = UDim2.new(0,0,0,-12)
|
|
||||||
ResetImageLabel.Size = UDim2.new(0.8,0,0.79,0)
|
|
||||||
ResetImageLabel.ZIndex = 2
|
|
||||||
ResetImageLabel.Parent = ResetFrame
|
|
||||||
|
|
||||||
local ResetButtonBorder = Instance.new("TextButton")
|
|
||||||
ResetButtonBorder.RobloxLocked = true
|
|
||||||
ResetButtonBorder.Name = "ResetButtonBorder"
|
|
||||||
ResetButtonBorder.Position = UDim2.new(0,-3,0,-7)
|
|
||||||
ResetButtonBorder.Size = UDim2.new(1,0,0.64,0)
|
|
||||||
ResetButtonBorder.Style = Enum.ButtonStyle.RobloxButton
|
|
||||||
ResetButtonBorder.Text = ""
|
|
||||||
ResetButtonBorder.Parent = ResetFrame
|
|
||||||
|
|
||||||
|
|
||||||
local SearchFrame = Instance.new("Frame")
|
|
||||||
SearchFrame.RobloxLocked = true
|
|
||||||
SearchFrame.Name = "SearchFrame"
|
|
||||||
SearchFrame.BackgroundTransparency = 1
|
|
||||||
SearchFrame.Position = UDim2.new(1,-150,0,0)
|
|
||||||
SearchFrame.Size = UDim2.new(0,150,0,25)
|
|
||||||
SearchFrame.Parent = GearGrid
|
|
||||||
|
|
||||||
-- SearchFrame Children
|
|
||||||
local SearchButton = Instance.new("ImageButton")
|
|
||||||
SearchButton.RobloxLocked = true
|
|
||||||
SearchButton.Name = "SearchButton"
|
|
||||||
SearchButton.Size = UDim2.new(0,25,0,25)
|
|
||||||
SearchButton.BackgroundTransparency = 1
|
|
||||||
SearchButton.Image = "rbxasset://textures/ui/SearchIcon.png"
|
|
||||||
SearchButton.Parent = SearchFrame
|
|
||||||
|
|
||||||
local SearchBoxFrame = Instance.new("TextButton")
|
|
||||||
SearchBoxFrame.RobloxLocked = true
|
|
||||||
SearchBoxFrame.Position = UDim2.new(0,26,0,0)
|
|
||||||
SearchBoxFrame.Size = UDim2.new(0,121,0,25)
|
|
||||||
SearchBoxFrame.Name = "SearchBoxFrame"
|
|
||||||
SearchBoxFrame.Text = ""
|
|
||||||
SearchBoxFrame.Style = Enum.ButtonStyle.RobloxButton
|
|
||||||
SearchBoxFrame.Parent = SearchFrame
|
|
||||||
|
|
||||||
-- SearchBoxFrame Children
|
|
||||||
local SearchBox = Instance.new("TextBox")
|
|
||||||
SearchBox.RobloxLocked = true
|
|
||||||
SearchBox.Name = "SearchBox"
|
|
||||||
SearchBox.BackgroundTransparency = 1
|
|
||||||
SearchBox.Font = Enum.Font.ArialBold
|
|
||||||
SearchBox.FontSize = Enum.FontSize.Size12
|
|
||||||
SearchBox.Position = UDim2.new(0,-5,0,-5)
|
|
||||||
SearchBox.Size = UDim2.new(1,10,1,10)
|
|
||||||
SearchBox.TextColor3 = Color3.new(1,1,1)
|
|
||||||
SearchBox.TextXAlignment = Enum.TextXAlignment.Left
|
|
||||||
SearchBox.ZIndex = 2
|
|
||||||
SearchBox.TextWrap = true
|
|
||||||
SearchBox.Text = "Search..."
|
|
||||||
SearchBox.Parent = SearchBoxFrame
|
|
||||||
|
|
||||||
local GearButton = Instance.new("ImageButton")
|
local GearButton = Instance.new("ImageButton")
|
||||||
GearButton.RobloxLocked = true
|
GearButton.RobloxLocked = true
|
||||||
|
|
@ -335,8 +389,8 @@ Backpack.Active = true
|
||||||
local GearGridScrollingArea = Instance.new("Frame")
|
local GearGridScrollingArea = Instance.new("Frame")
|
||||||
GearGridScrollingArea.RobloxLocked = true
|
GearGridScrollingArea.RobloxLocked = true
|
||||||
GearGridScrollingArea.Name = "GearGridScrollingArea"
|
GearGridScrollingArea.Name = "GearGridScrollingArea"
|
||||||
GearGridScrollingArea.Position = UDim2.new(0.7,0,0,0)
|
GearGridScrollingArea.Position = UDim2.new(0.7,0,0,35)
|
||||||
GearGridScrollingArea.Size = UDim2.new(0,17,1,0)
|
GearGridScrollingArea.Size = UDim2.new(0,17,1,-45)
|
||||||
GearGridScrollingArea.BackgroundTransparency = 1
|
GearGridScrollingArea.BackgroundTransparency = 1
|
||||||
GearGridScrollingArea.Parent = Gear
|
GearGridScrollingArea.Parent = Gear
|
||||||
|
|
||||||
|
|
@ -386,13 +440,13 @@ Backpack.Active = true
|
||||||
LoadoutsList.Style = Enum.FrameStyle.RobloxSquare
|
LoadoutsList.Style = Enum.FrameStyle.RobloxSquare
|
||||||
LoadoutsList.Parent = GearLoadouts
|
LoadoutsList.Parent = GearLoadouts
|
||||||
|
|
||||||
|
|
||||||
local GearPreview = Instance.new("Frame")
|
local GearPreview = Instance.new("Frame")
|
||||||
GearPreview.RobloxLocked = true
|
GearPreview.RobloxLocked = true
|
||||||
GearPreview.Name = "GearPreview"
|
GearPreview.Name = "GearPreview"
|
||||||
GearPreview.Position = UDim2.new(0.7,23,0,0)
|
GearPreview.Position = UDim2.new(0.7,23,0,0)
|
||||||
GearPreview.Size = UDim2.new(0.3,-23,0.5,-1)
|
GearPreview.Size = UDim2.new(0.3,-28,0.5,-1)
|
||||||
GearPreview.Style = Enum.FrameStyle.RobloxRound
|
GearPreview.BackgroundTransparency = 1
|
||||||
|
GearPreview.ZIndex = 7
|
||||||
GearPreview.Parent = Gear
|
GearPreview.Parent = Gear
|
||||||
|
|
||||||
-- GearPreview Children
|
-- GearPreview Children
|
||||||
|
|
@ -402,6 +456,7 @@ Backpack.Active = true
|
||||||
GearStats.BackgroundTransparency = 1
|
GearStats.BackgroundTransparency = 1
|
||||||
GearStats.Position = UDim2.new(0,0,0.75,0)
|
GearStats.Position = UDim2.new(0,0,0.75,0)
|
||||||
GearStats.Size = UDim2.new(1,0,0.25,0)
|
GearStats.Size = UDim2.new(1,0,0.25,0)
|
||||||
|
GearStats.ZIndex = 8
|
||||||
GearStats.Parent = GearPreview
|
GearStats.Parent = GearPreview
|
||||||
|
|
||||||
-- GearStats Children
|
-- GearStats Children
|
||||||
|
|
@ -416,6 +471,7 @@ Backpack.Active = true
|
||||||
GearName.Text = ""
|
GearName.Text = ""
|
||||||
GearName.TextColor3 = Color3.new(1,1,1)
|
GearName.TextColor3 = Color3.new(1,1,1)
|
||||||
GearName.TextWrap = true
|
GearName.TextWrap = true
|
||||||
|
GearName.ZIndex = 9
|
||||||
GearName.Parent = GearStats
|
GearName.Parent = GearStats
|
||||||
|
|
||||||
local GearImage = Instance.new("ImageLabel")
|
local GearImage = Instance.new("ImageLabel")
|
||||||
|
|
@ -425,6 +481,7 @@ Backpack.Active = true
|
||||||
GearImage.BackgroundTransparency = 1
|
GearImage.BackgroundTransparency = 1
|
||||||
GearImage.Position = UDim2.new(0.125,0,0,0)
|
GearImage.Position = UDim2.new(0.125,0,0,0)
|
||||||
GearImage.Size = UDim2.new(0.75,0,0.75,0)
|
GearImage.Size = UDim2.new(0.75,0,0.75,0)
|
||||||
|
GearImage.ZIndex = 8
|
||||||
GearImage.Parent = GearPreview
|
GearImage.Parent = GearPreview
|
||||||
|
|
||||||
--GearImage Children
|
--GearImage Children
|
||||||
|
|
@ -437,6 +494,7 @@ Backpack.Active = true
|
||||||
GearIcons.Position = UDim2.new(0.4,2,0.85,-2)
|
GearIcons.Position = UDim2.new(0.4,2,0.85,-2)
|
||||||
GearIcons.Size = UDim2.new(0.6,0,0.15,0)
|
GearIcons.Size = UDim2.new(0.6,0,0.15,0)
|
||||||
GearIcons.Visible = false
|
GearIcons.Visible = false
|
||||||
|
GearIcons.ZIndex = 9
|
||||||
GearIcons.Parent = GearImage
|
GearIcons.Parent = GearImage
|
||||||
|
|
||||||
-- GearIcons Children
|
-- GearIcons Children
|
||||||
|
|
@ -470,8 +528,264 @@ Backpack.Active = true
|
||||||
AttributeThreeImage.Position = UDim2.new(0.75,0,0,0)
|
AttributeThreeImage.Position = UDim2.new(0.75,0,0,0)
|
||||||
AttributeThreeImage.Parent = GearIcons
|
AttributeThreeImage.Parent = GearIcons
|
||||||
|
|
||||||
|
------------------------------- WARDROBE -------------------------------------------------------
|
||||||
|
if game.CoreGui.Version < 8 then
|
||||||
|
-- no need for this to stick around, we aren't ready for wardrobe
|
||||||
|
script:remove()
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
-- Backpack Resizer (handles all backpack resizing junk)
|
local function makeCharFrame(frameName, parent)
|
||||||
game:GetService("ScriptContext"):AddCoreScript(11,Backpack,"BackpackResizer")
|
local frame = Instance.new("Frame")
|
||||||
|
frame.RobloxLocked = true
|
||||||
|
frame.Size = UDim2.new(1,0,1,-70)
|
||||||
|
frame.Position = UDim2.new(0,0,0,20)
|
||||||
|
frame.Name = frameName
|
||||||
|
frame.BackgroundTransparency = 1
|
||||||
|
frame.Parent = parent
|
||||||
|
frame.Visible = false
|
||||||
|
return frame
|
||||||
|
end
|
||||||
|
local function makeZone( zoneName, image, size, position, parent )
|
||||||
|
local zone = Instance.new("ImageLabel")
|
||||||
|
zone.RobloxLocked = true
|
||||||
|
zone.Name = zoneName
|
||||||
|
zone.Image = image
|
||||||
|
zone.Size = size
|
||||||
|
zone.BackgroundTransparency = 1
|
||||||
|
zone.Position = position
|
||||||
|
zone.Parent = parent
|
||||||
|
return zone
|
||||||
|
end
|
||||||
|
local function makeStyledButton( buttonName, size, position, parent, buttonStyle )
|
||||||
|
local button = Instance.new("ImageButton")
|
||||||
|
button.RobloxLocked = true
|
||||||
|
button.Name = buttonName
|
||||||
|
button.Size = size
|
||||||
|
button.Position = position
|
||||||
|
if buttonStyle then
|
||||||
|
button.Style = buttonStyle
|
||||||
|
else
|
||||||
|
button.BackgroundColor3 = Color3.new(0,0,0)
|
||||||
|
button.BorderColor3 = Color3.new(1,1,1)
|
||||||
|
end
|
||||||
|
button.Parent = parent
|
||||||
|
return button
|
||||||
|
end
|
||||||
|
local function makeTextLabel( TextLabelName,text,position,parent )
|
||||||
|
local label = Instance.new("TextLabel")
|
||||||
|
label.RobloxLocked = true
|
||||||
|
label.BackgroundTransparency = 1
|
||||||
|
label.Size = UDim2.new(0,32,0,14)
|
||||||
|
label.Name = TextLabelName
|
||||||
|
label.Font = Enum.Font.Arial
|
||||||
|
label.TextColor3 = Color3.new(1,1,1)
|
||||||
|
label.FontSize = Enum.FontSize.Size14
|
||||||
|
label.Text = text
|
||||||
|
label.Position = position
|
||||||
|
label.Parent = parent
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
local Wardrobe = Instance.new("Frame")
|
||||||
|
Wardrobe.Name = "Wardrobe"
|
||||||
|
Wardrobe.RobloxLocked = true
|
||||||
|
Wardrobe.BackgroundTransparency = 1
|
||||||
|
Wardrobe.Visible = false
|
||||||
|
Wardrobe.Size = UDim2.new(1,0,1,0)
|
||||||
|
Wardrobe.Parent = Backpack
|
||||||
|
|
||||||
|
local AssetList = Instance.new("Frame")
|
||||||
|
AssetList.RobloxLocked = true
|
||||||
|
AssetList.Name = "AssetList"
|
||||||
|
AssetList.Position = UDim2.new(0,4,0,5)
|
||||||
|
AssetList.Size = UDim2.new(0,85,1,-5)
|
||||||
|
AssetList.BackgroundTransparency = 1
|
||||||
|
AssetList.Visible = true
|
||||||
|
AssetList.Parent = Wardrobe
|
||||||
|
|
||||||
|
local PreviewAssetFrame = Instance.new("Frame")
|
||||||
|
PreviewAssetFrame.RobloxLocked = true
|
||||||
|
PreviewAssetFrame.Name = "PreviewAssetFrame"
|
||||||
|
PreviewAssetFrame.BackgroundTransparency = 1
|
||||||
|
PreviewAssetFrame.Position = UDim2.new(1,-240,0,30)
|
||||||
|
PreviewAssetFrame.Size = UDim2.new(0,250,0,250)
|
||||||
|
PreviewAssetFrame.Parent = Wardrobe
|
||||||
|
|
||||||
|
local PreviewAssetBacking = Instance.new("TextButton")
|
||||||
|
PreviewAssetBacking.RobloxLocked = true
|
||||||
|
PreviewAssetBacking.Name = "PreviewAssetBacking"
|
||||||
|
PreviewAssetBacking.Active = false
|
||||||
|
PreviewAssetBacking.Text = ""
|
||||||
|
PreviewAssetBacking.AutoButtonColor = false
|
||||||
|
PreviewAssetBacking.Size = UDim2.new(1,0,1,0)
|
||||||
|
PreviewAssetBacking.Style = Enum.ButtonStyle.RobloxButton
|
||||||
|
PreviewAssetBacking.Visible = false
|
||||||
|
PreviewAssetBacking.ZIndex = 9
|
||||||
|
PreviewAssetBacking.Parent = PreviewAssetFrame
|
||||||
|
|
||||||
|
local PreviewAssetImage = Instance.new("ImageLabel")
|
||||||
|
PreviewAssetImage.RobloxLocked = true
|
||||||
|
PreviewAssetImage.Name = "PreviewAssetImage"
|
||||||
|
PreviewAssetImage.BackgroundTransparency = 0.8
|
||||||
|
PreviewAssetImage.Position = UDim2.new(0.5,-100,0,0)
|
||||||
|
PreviewAssetImage.Size = UDim2.new(0,200,0,200)
|
||||||
|
PreviewAssetImage.BorderSizePixel = 0
|
||||||
|
PreviewAssetImage.ZIndex = 10
|
||||||
|
PreviewAssetImage.Parent = PreviewAssetBacking
|
||||||
|
|
||||||
|
local AssetNameLabel = Instance.new("TextLabel")
|
||||||
|
AssetNameLabel.Name = "AssetNameLabel"
|
||||||
|
AssetNameLabel.RobloxLocked = true
|
||||||
|
AssetNameLabel.BackgroundTransparency = 1
|
||||||
|
AssetNameLabel.Position = UDim2.new(0,0,1,-20)
|
||||||
|
AssetNameLabel.Size = UDim2.new(0.5,0,0,24)
|
||||||
|
AssetNameLabel.ZIndex = 10
|
||||||
|
AssetNameLabel.Font = Enum.Font.Arial
|
||||||
|
AssetNameLabel.Text = ""
|
||||||
|
AssetNameLabel.TextColor3 = Color3.new(1,1,1)
|
||||||
|
AssetNameLabel.TextScaled = true
|
||||||
|
AssetNameLabel.Parent = PreviewAssetBacking
|
||||||
|
|
||||||
|
local AssetTypeLabel = AssetNameLabel:clone()
|
||||||
|
AssetTypeLabel.RobloxLocked = true
|
||||||
|
AssetTypeLabel.Name = "AssetTypeLabel"
|
||||||
|
AssetTypeLabel.TextScaled = false
|
||||||
|
AssetTypeLabel.FontSize = Enum.FontSize.Size18
|
||||||
|
AssetTypeLabel.Position = UDim2.new(0.5,3,1,-20)
|
||||||
|
AssetTypeLabel.Parent = PreviewAssetBacking
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
local PreviewButton = Instance.new("TextButton")
|
||||||
|
PreviewButton.RobloxLocked = true
|
||||||
|
PreviewButton.Name = "PreviewButton"
|
||||||
|
PreviewButton.Text = "Rotate"
|
||||||
|
PreviewButton.BackgroundColor3 = Color3.new(0,0,0)
|
||||||
|
PreviewButton.BackgroundTransparency = 0.5
|
||||||
|
PreviewButton.BorderColor3 = Color3.new(1,1,1)
|
||||||
|
PreviewButton.Position = UDim2.new(1.2,-62,1,-50)
|
||||||
|
PreviewButton.Size = UDim2.new(0,125,0,50)
|
||||||
|
PreviewButton.Font = Enum.Font.ArialBold
|
||||||
|
PreviewButton.FontSize = Enum.FontSize.Size24
|
||||||
|
PreviewButton.TextColor3 = Color3.new(1,1,1)
|
||||||
|
PreviewButton.TextWrapped = true
|
||||||
|
PreviewButton.TextStrokeTransparency = 0
|
||||||
|
PreviewButton.Parent = Wardrobe
|
||||||
|
|
||||||
|
local CharacterPane = Instance.new("Frame")
|
||||||
|
CharacterPane.RobloxLocked = true
|
||||||
|
CharacterPane.Name = "CharacterPane"
|
||||||
|
CharacterPane.Position = UDim2.new(1,-220,0,32)
|
||||||
|
CharacterPane.Size = UDim2.new(0,220,1,-40)
|
||||||
|
CharacterPane.BackgroundTransparency = 1
|
||||||
|
CharacterPane.Visible = true
|
||||||
|
CharacterPane.Parent = Wardrobe
|
||||||
|
|
||||||
|
--CharacterPane Children
|
||||||
|
local FaceFrame = makeCharFrame("FacesFrame", CharacterPane)
|
||||||
|
game:GetService("ContentProvider"):Preload("http://www.roblox.com/asset/?id=75460621")
|
||||||
|
makeZone("FaceZone","http://www.roblox.com/asset/?id=75460621",UDim2.new(0,157,0,137),UDim2.new(0.5,-78,0.5,-68),FaceFrame)
|
||||||
|
makeStyledButton("Face",UDim2.new(0,64,0,64),UDim2.new(0.5,-32,0.5,-135),FaceFrame)
|
||||||
|
|
||||||
|
local HeadFrame = makeCharFrame("HeadsFrame", CharacterPane)
|
||||||
|
makeZone("FaceZone","http://www.roblox.com/asset/?id=75460621",UDim2.new(0,157,0,137),UDim2.new(0.5,-78,0.5,-68),HeadFrame)
|
||||||
|
makeStyledButton("Head",UDim2.new(0,64,0,64),UDim2.new(0.5,-32,0.5,-135),HeadFrame)
|
||||||
|
|
||||||
|
local HatsFrame = makeCharFrame("HatsFrame", CharacterPane)
|
||||||
|
game:GetService("ContentProvider"):Preload("http://www.roblox.com/asset/?id=75457888")
|
||||||
|
local HatsZone = makeZone("HatsZone","http://www.roblox.com/asset/?id=75457888",UDim2.new(0,186,0,184),UDim2.new(0.5,-93,0.5,-100), HatsFrame)
|
||||||
|
makeStyledButton("Hat1Button",UDim2.new(0,64,0,64),UDim2.new(0,-1,0,-1),HatsZone,Enum.ButtonStyle.RobloxButton)
|
||||||
|
makeStyledButton("Hat2Button",UDim2.new(0,64,0,64),UDim2.new(0,63,0,-1),HatsZone,Enum.ButtonStyle.RobloxButton)
|
||||||
|
makeStyledButton("Hat3Button",UDim2.new(0,64,0,64),UDim2.new(0,127,0,-1),HatsZone,Enum.ButtonStyle.RobloxButton)
|
||||||
|
|
||||||
|
local PantsFrame = makeCharFrame("PantsFrame", CharacterPane)
|
||||||
|
game:GetService("ContentProvider"):Preload("http://www.roblox.com/asset/?id=75457920")
|
||||||
|
makeZone("PantsZone","http://www.roblox.com/asset/?id=75457920",UDim2.new(0,121,0,99),UDim2.new(0.5,-60,0.5,-100),PantsFrame)
|
||||||
|
|
||||||
|
local pantFrame = Instance.new("Frame")
|
||||||
|
pantFrame.RobloxLocked = true
|
||||||
|
pantFrame.Size = UDim2.new(0,25,0,56)
|
||||||
|
pantFrame.Position = UDim2.new(0.5,-26,0.5,0)
|
||||||
|
pantFrame.BackgroundColor3 = Color3.new(0,0,0)
|
||||||
|
pantFrame.BorderColor3 = Color3.new(1,1,1)
|
||||||
|
pantFrame.Name = "PantFrame"
|
||||||
|
pantFrame.Parent = PantsFrame
|
||||||
|
|
||||||
|
local otherPantFrame = pantFrame:clone()
|
||||||
|
otherPantFrame.Position = UDim2.new(0.5,3,0.5,0)
|
||||||
|
otherPantFrame.RobloxLocked = true
|
||||||
|
otherPantFrame.Parent = PantsFrame
|
||||||
|
|
||||||
|
local CurrentPants = Instance.new("ImageButton")
|
||||||
|
CurrentPants.RobloxLocked = true
|
||||||
|
CurrentPants.BackgroundTransparency = 1
|
||||||
|
CurrentPants.ZIndex = 2
|
||||||
|
CurrentPants.Name = "CurrentPants"
|
||||||
|
CurrentPants.Position = UDim2.new(0.5,-31,0.5,-4)
|
||||||
|
CurrentPants.Size = UDim2.new(0,54,0,59)
|
||||||
|
CurrentPants.Parent = PantsFrame
|
||||||
|
|
||||||
|
local MeshFrame = makeCharFrame("PackagesFrame", CharacterPane)
|
||||||
|
local torsoButton = makeStyledButton("TorsoMeshButton", UDim2.new(0,64,0,64),UDim2.new(0.5,-32,0.5,-110),MeshFrame,Enum.ButtonStyle.RobloxButton)
|
||||||
|
makeTextLabel("TorsoLabel","Torso",UDim2.new(0.5,-16,0,-25),torsoButton)
|
||||||
|
local leftLegButton = makeStyledButton("LeftLegMeshButton", UDim2.new(0,64,0,64),UDim2.new(0.5,0,0.5,-25),MeshFrame,Enum.ButtonStyle.RobloxButton)
|
||||||
|
makeTextLabel("LeftLegLabel","Left Leg",UDim2.new(0.5,-16,0,-25),leftLegButton)
|
||||||
|
local rightLegButton = makeStyledButton("RightLegMeshButton", UDim2.new(0,64,0,64),UDim2.new(0.5,-64,0.5,-25),MeshFrame,Enum.ButtonStyle.RobloxButton)
|
||||||
|
makeTextLabel("RightLegLabel","Right Leg",UDim2.new(0.5,-16,0,-25),rightLegButton)
|
||||||
|
local rightArmButton = makeStyledButton("RightArmMeshButton", UDim2.new(0,64,0,64),UDim2.new(0.5,-96,0.5,-110),MeshFrame,Enum.ButtonStyle.RobloxButton)
|
||||||
|
makeTextLabel("RightArmLabel","Right Arm",UDim2.new(0.5,-16,0,-25),rightArmButton)
|
||||||
|
local leftArmButton = makeStyledButton("LeftArmMeshButton", UDim2.new(0,64,0,64),UDim2.new(0.5,32,0.5,-110),MeshFrame,Enum.ButtonStyle.RobloxButton)
|
||||||
|
makeTextLabel("LeftArmLabel","Left Arm",UDim2.new(0.5,-16,0,-25),leftArmButton)
|
||||||
|
|
||||||
|
local TShirtFrame = makeCharFrame("T-ShirtsFrame",CharacterPane)
|
||||||
|
game:GetService("ContentProvider"):Preload("http://www.roblox.com/asset/?id=75460642")
|
||||||
|
makeZone("TShirtZone","http://www.roblox.com/asset/?id=75460642",UDim2.new(0,121,0,154),UDim2.new(0.5,-60,0.5,-100),TShirtFrame)
|
||||||
|
makeStyledButton("TShirtButton", UDim2.new(0,64,0,64),UDim2.new(0.5,-32,0.5,-64),TShirtFrame)
|
||||||
|
|
||||||
|
|
||||||
|
local ShirtFrame = makeCharFrame("ShirtsFrame", CharacterPane)
|
||||||
|
makeZone("ShirtZone","http://www.roblox.com/asset/?id=75460642",UDim2.new(0,121,0,154),UDim2.new(0.5,-60,0.5,-100),ShirtFrame)
|
||||||
|
makeStyledButton("ShirtButton", UDim2.new(0,64,0,64),UDim2.new(0.5,-32,0.5,-64),ShirtFrame)
|
||||||
|
|
||||||
|
|
||||||
|
local ColorFrame = makeCharFrame("ColorFrame", CharacterPane)
|
||||||
|
game:GetService("ContentProvider"):Preload("http://www.roblox.com/asset/?id=76049888")
|
||||||
|
local ColorZone = makeZone("ColorZone","http://www.roblox.com/asset/?id=76049888", UDim2.new(0,120,0,150),UDim2.new(0.5,-60,0.5,-100),ColorFrame)
|
||||||
|
makeStyledButton("Head",UDim2.new(0.26,0,0.19,0),UDim2.new(0.37,0,0.02,0),ColorZone).AutoButtonColor = false
|
||||||
|
makeStyledButton("LeftArm",UDim2.new(0.19,0,0.36,0),UDim2.new(0.78,0,0.26,0),ColorZone).AutoButtonColor = false
|
||||||
|
makeStyledButton("RightArm",UDim2.new(0.19,0,0.36,0),UDim2.new(0.025,0,0.26,0),ColorZone).AutoButtonColor = false
|
||||||
|
makeStyledButton("Torso",UDim2.new(0.43,0,0.36,0),UDim2.new(0.28,0,0.26,0),ColorZone).AutoButtonColor = false
|
||||||
|
makeStyledButton("RightLeg",UDim2.new(0.19,0,0.31,0),UDim2.new(0.275,0,0.67,0),ColorZone).AutoButtonColor = false
|
||||||
|
makeStyledButton("LeftLeg",UDim2.new(0.19,0,0.31,0),UDim2.new(0.525,0,0.67,0),ColorZone).AutoButtonColor = false
|
||||||
|
|
||||||
|
-- Character Panel label (shows what category we are currently browsing)
|
||||||
|
local CategoryLabel = Instance.new("TextLabel")
|
||||||
|
CategoryLabel.RobloxLocked = true
|
||||||
|
CategoryLabel.Name = "CategoryLabel"
|
||||||
|
CategoryLabel.BackgroundTransparency = 1
|
||||||
|
CategoryLabel.Font = Enum.Font.ArialBold
|
||||||
|
CategoryLabel.FontSize = Enum.FontSize.Size18
|
||||||
|
CategoryLabel.Position = UDim2.new(0,0,0,-7)
|
||||||
|
CategoryLabel.Size = UDim2.new(1,0,0,20)
|
||||||
|
CategoryLabel.TextXAlignment = Enum.TextXAlignment.Center
|
||||||
|
CategoryLabel.Text = "All"
|
||||||
|
CategoryLabel.TextColor3 = Color3.new(1,1,1)
|
||||||
|
CategoryLabel.Parent = CharacterPane
|
||||||
|
|
||||||
|
--Save Button
|
||||||
|
local SaveButton = Instance.new("TextButton")
|
||||||
|
SaveButton.RobloxLocked = true
|
||||||
|
SaveButton.Name = "SaveButton"
|
||||||
|
SaveButton.Size = UDim2.new(0.6,0,0,50)
|
||||||
|
SaveButton.Position = UDim2.new(0.2,0,1,-50)
|
||||||
|
SaveButton.Style = Enum.ButtonStyle.RobloxButton
|
||||||
|
SaveButton.Selected = false
|
||||||
|
SaveButton.Font = Enum.Font.ArialBold
|
||||||
|
SaveButton.FontSize = Enum.FontSize.Size18
|
||||||
|
SaveButton.Text = "Save"
|
||||||
|
SaveButton.TextColor3 = Color3.new(1,1,1)
|
||||||
|
SaveButton.Parent = CharacterPane
|
||||||
|
|
||||||
|
-- no need for this to stick around
|
||||||
script:remove()
|
script:remove()
|
||||||
1011
public/asset/13
1011
public/asset/13
File diff suppressed because it is too large
Load Diff
1465
public/asset/14
1465
public/asset/14
File diff suppressed because it is too large
Load Diff
983
public/asset/15
983
public/asset/15
File diff suppressed because it is too large
Load Diff
356
public/asset/16
356
public/asset/16
|
|
@ -1,147 +1,247 @@
|
||||||
%16%
|
%16%
|
||||||
-- Responsible for giving out tools in personal servers
|
-- A couple of necessary functions
|
||||||
|
print("BackpackWardrobe.lua loaded - edit 14")
|
||||||
|
|
||||||
-- first, lets see if buildTools have already been created
|
local function waitForChild(instance, name)
|
||||||
-- create the object in lighting (TODO: move to some sort of "container" object when we have one)
|
assert(instance)
|
||||||
local toolsArray = game.Lighting:FindFirstChild("BuildToolsModel")
|
assert(name)
|
||||||
local ownerArray = game.Lighting:FindFirstChild("OwnerToolsModel")
|
while not instance:FindFirstChild(name) do
|
||||||
local hasBuildTools = false
|
instance.ChildAdded:wait()
|
||||||
|
end
|
||||||
function getIds(idTable, assetTable)
|
return instance:FindFirstChild(name)
|
||||||
for i = 1, #idTable do
|
end
|
||||||
local model = game:GetService("InsertService"):LoadAsset(idTable[i])
|
local function waitForProperty(instance, property)
|
||||||
if model then
|
assert(instance)
|
||||||
local children = model:GetChildren()
|
assert(property)
|
||||||
for i = 1, #children do
|
while not instance[property] do
|
||||||
if children[i]:IsA("Tool") then
|
instance.Changed:wait()
|
||||||
table.insert(assetTable,children[i])
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
function storeInLighting(modelName, assetTable)
|
waitForChild(game,"Players")
|
||||||
local model = Instance.new("Model")
|
waitForProperty(game.Players,"LocalPlayer")
|
||||||
model.Archivable = false
|
local player = game.Players.LocalPlayer
|
||||||
model.Name = modelName
|
|
||||||
|
|
||||||
for i = 1, #assetTable do
|
local RbxGui, msg = LoadLibrary("RbxGui")
|
||||||
assetTable[i].Parent = model
|
if not RbxGui then print("could not find RbxGui!") return end
|
||||||
end
|
|
||||||
|
|
||||||
if not game.Lighting:FindFirstChild(modelName) then -- no one beat us to it, we get to insert
|
--- Begin Locals
|
||||||
model.Parent = game.Lighting
|
local StaticTabName = "wardrobe"
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
if not toolsArray then -- no one has made build tools yet, we get to!
|
local backpack = script.Parent
|
||||||
local buildToolIds = {}
|
local screen = script.Parent.Parent
|
||||||
local ownerToolIds = {}
|
|
||||||
|
|
||||||
table.insert(buildToolIds,73089166) -- PartSelectionTool
|
local backpackItems = {}
|
||||||
table.insert(buildToolIds,73089190) -- DeleteTool
|
local buttons = {}
|
||||||
table.insert(buildToolIds,73089204) -- CloneTool
|
|
||||||
table.insert(buildToolIds,73089214) -- RotateTool
|
|
||||||
table.insert(buildToolIds,73089239) -- ConfigTool
|
|
||||||
table.insert(buildToolIds,73089259) -- WiringTool
|
|
||||||
table.insert(buildToolIds,58921588) -- ClassicTool
|
|
||||||
|
|
||||||
table.insert(ownerToolIds, 65347268)
|
|
||||||
|
|
||||||
-- next, create array of our tools
|
|
||||||
local buildTools = {}
|
|
||||||
local ownerTools = {}
|
|
||||||
|
|
||||||
getIds(buildToolIds, buildTools)
|
|
||||||
getIds(ownerToolIds, ownerTools)
|
|
||||||
|
|
||||||
storeInLighting("BuildToolsModel",buildTools)
|
|
||||||
storeInLighting("OwnerToolsModel",ownerTools)
|
|
||||||
|
|
||||||
toolsArray = game.Lighting:FindFirstChild("BuildToolsModel")
|
|
||||||
ownerArray = game.Lighting:FindFirstChild("OwnerToolsModel")
|
|
||||||
end
|
|
||||||
|
|
||||||
local localBuildTools = {}
|
|
||||||
|
|
||||||
function giveBuildTools()
|
|
||||||
if not hasBuildTools then
|
|
||||||
hasBuildTools = true
|
|
||||||
local theTools = toolsArray:GetChildren()
|
|
||||||
for i = 1, #theTools do
|
|
||||||
local toolClone = theTools[i]:clone()
|
|
||||||
if toolClone then
|
|
||||||
toolClone.Parent = game.Players.LocalPlayer.Backpack
|
|
||||||
table.insert(localBuildTools,toolClone)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
function giveOwnerTools()
|
|
||||||
local theOwnerTools = ownerArray:GetChildren()
|
|
||||||
for i = 1, #theOwnerTools do
|
|
||||||
local ownerToolClone = theOwnerTools[i]:clone()
|
|
||||||
if ownerToolClone then
|
|
||||||
ownerToolClone.Parent = game.Players.LocalPlayer.Backpack
|
|
||||||
table.insert(localBuildTools,ownerToolClone)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
function removeBuildTools()
|
|
||||||
if hasBuildTools then
|
|
||||||
hasBuildTools = false
|
|
||||||
for i = 1, #localBuildTools do
|
|
||||||
localBuildTools[i].Parent = nil
|
|
||||||
end
|
|
||||||
localBuildTools = {}
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
if game.Players.LocalPlayer.HasBuildTools then
|
|
||||||
giveBuildTools()
|
|
||||||
end
|
|
||||||
if game.Players.LocalPlayer.PersonalServerRank >= 255 then
|
|
||||||
giveOwnerTools()
|
|
||||||
end
|
|
||||||
|
|
||||||
local debounce = false
|
local debounce = false
|
||||||
game.Players.LocalPlayer.Changed:connect(function(prop)
|
local browsingMenu = false
|
||||||
if prop == "HasBuildTools" then
|
|
||||||
while debounce do
|
|
||||||
wait(0.5)
|
|
||||||
end
|
|
||||||
|
|
||||||
debounce = true
|
local mouseEnterCons = {}
|
||||||
|
local mouseClickCons = {}
|
||||||
|
|
||||||
if game.Players.LocalPlayer.HasBuildTools then
|
local characterChildAddedCon = nil
|
||||||
giveBuildTools()
|
local characterChildRemovedCon = nil
|
||||||
else
|
local backpackAddCon = nil
|
||||||
removeBuildTools()
|
|
||||||
end
|
|
||||||
|
|
||||||
if game.Players.LocalPlayer.PersonalServerRank >= 255 then
|
local Camera = game.Workspace.CurrentCamera
|
||||||
giveOwnerTools()
|
|
||||||
end
|
|
||||||
|
|
||||||
debounce = false
|
local playerBackpack = waitForChild(player,"Backpack")
|
||||||
elseif prop == "PersonalServerRank" then
|
|
||||||
if game.Players.LocalPlayer.PersonalServerRank >= 255 then
|
waitForChild(backpack,"Tabs")
|
||||||
giveOwnerTools()
|
|
||||||
elseif game.Players.LocalPlayer.PersonalServerRank <= 0 then
|
waitForChild(backpack,"Wardrobe")
|
||||||
game.Players.LocalPlayer:Remove() -- you're banned, goodbye!
|
|
||||||
|
local currentLoadout = waitForChild(backpack.Parent,"CurrentLoadout")
|
||||||
|
|
||||||
|
local walkSpeed = 16
|
||||||
|
local screenSize = game:GetService("CoreGui"):FindFirstChild("RobloxGui").AbsoluteSize
|
||||||
|
local rotateCharacter = false
|
||||||
|
local rotateCharacterButton = waitForChild(backpack.Wardrobe,"PreviewButton")
|
||||||
|
|
||||||
|
local swapSlot = waitForChild(script.Parent,"SwapSlot")
|
||||||
|
|
||||||
|
local backpackManager = waitForChild(script.Parent,"CoreScripts/BackpackScripts/BackpackManager")
|
||||||
|
local backpackOpenEvent = waitForChild(backpackManager,"BackpackOpenEvent")
|
||||||
|
local backpackCloseEvent = waitForChild(backpackManager,"BackpackCloseEvent")
|
||||||
|
local tabClickedEvent = waitForChild(backpackManager,"TabClickedEvent")
|
||||||
|
local resizeEvent = waitForChild(backpackManager,"ResizeEvent")
|
||||||
|
local searchRequestedEvent = waitForChild(backpackManager,"SearchRequestedEvent")
|
||||||
|
local tellBackpackReadyFunc = waitForChild(backpackManager,"BackpackReady")
|
||||||
|
|
||||||
|
-- creating scroll bar early as to make sure items get placed correctly
|
||||||
|
|
||||||
|
|
||||||
|
-- Begin Functions
|
||||||
|
function lerpTest(from, to)
|
||||||
|
local ax, ay, az, a11, a12, a13, a21, a22, a23, a31, a32, a33 = from:components()
|
||||||
|
local bx, by, bz, b11, b12, b13, b21, b22, b23, b31, b32, b33 = to:components()
|
||||||
|
|
||||||
|
local diffx = bx - ax;
|
||||||
|
local diffy = by - ay;
|
||||||
|
local diffz = bz - az;
|
||||||
|
|
||||||
|
local diff11 = b11 - a11;
|
||||||
|
local diff12 = b12 - a12;
|
||||||
|
local diff13 = b13 - a13;
|
||||||
|
|
||||||
|
local diff21 = b21 - a21;
|
||||||
|
local diff22 = b22 - a22;
|
||||||
|
local diff23 = b23 - a23;
|
||||||
|
|
||||||
|
local diff31 = b31 - a31;
|
||||||
|
local diff32 = b32 - a32;
|
||||||
|
local diff33 = b33 - a33;
|
||||||
|
|
||||||
|
while wait(0.1) do
|
||||||
|
break
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function removeFromMap(map,object)
|
||||||
|
for i = 1, #map do
|
||||||
|
if map[i] == object then
|
||||||
|
table.remove(map,i)
|
||||||
|
break
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function robloxLock(instance)
|
||||||
|
instance.RobloxLocked = true
|
||||||
|
children = instance:GetChildren()
|
||||||
|
if children then
|
||||||
|
for i, child in ipairs(children) do
|
||||||
|
robloxLock(child)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function buttonClick(button)
|
||||||
|
if button:FindFirstChild("UnequipContextMenu") and not button.Active then
|
||||||
|
button.UnequipContextMenu.Visible = true
|
||||||
|
browsingMenu = true
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function tabClickHandler(tabName)
|
||||||
|
if tabName == StaticTabName then
|
||||||
|
backpackOpenHandler(tabName)
|
||||||
|
else
|
||||||
|
backpackCloseHandler(tabName)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function backpackOpenHandler(currentTab)
|
||||||
|
if currentTab and currentTab ~= StaticTabName then
|
||||||
|
backpack.Wardrobe.Visible = false
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
backpack.Wardrobe.Visible = true
|
||||||
|
createView()
|
||||||
|
tellBackpackReadyFunc:Invoke()
|
||||||
|
end
|
||||||
|
|
||||||
|
function backpackCloseHandler(currentTab)
|
||||||
|
if currentTab and currentTab ~= StaticTabName then
|
||||||
|
backpack.Wardrobe.Visible = false
|
||||||
|
revertView()
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
backpack.Wardrobe.Visible = false
|
||||||
|
revertView()
|
||||||
|
tellBackpackReadyFunc:Invoke()
|
||||||
|
end
|
||||||
|
|
||||||
|
function highlight(button)
|
||||||
|
button.TextColor3 = Color3.new(0,0,0)
|
||||||
|
button.BackgroundColor3 = Color3.new(0.8,0.8,0.8)
|
||||||
|
end
|
||||||
|
function clearHighlight(button)
|
||||||
|
button.TextColor3 = Color3.new(1,1,1)
|
||||||
|
button.BackgroundColor3 = Color3.new(0,0,0)
|
||||||
|
end
|
||||||
|
|
||||||
|
function trim(s)
|
||||||
|
return (s:gsub("^%s*(.-)%s*$", "%1"))
|
||||||
|
end
|
||||||
|
|
||||||
|
function splitByWhitespace(text)
|
||||||
|
if type(text) ~= "string" then return nil end
|
||||||
|
|
||||||
|
local terms = {}
|
||||||
|
for token in string.gmatch(text, "[^%s]+") do
|
||||||
|
if string.len(token) > 0 then
|
||||||
|
table.insert(terms,token)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
return terms
|
||||||
|
end
|
||||||
|
|
||||||
|
function createView()
|
||||||
|
-- stop player from moving and store initial speed (they can still jump though)
|
||||||
|
if player.Character.Humanoid.WalkSpeed ~= 0 then walkSpeed = player.Character.Humanoid.WalkSpeed end
|
||||||
|
player.Character.Humanoid.WalkSpeed = 0
|
||||||
|
|
||||||
|
-- initialize camera
|
||||||
|
Camera.CameraType = Enum.CameraType.Scriptable
|
||||||
|
focusCamera()
|
||||||
|
end
|
||||||
|
|
||||||
|
function revertView()
|
||||||
|
-- restore initial walk speed
|
||||||
|
player.Character.Humanoid.WalkSpeed = walkSpeed
|
||||||
|
|
||||||
|
-- restore player camera
|
||||||
|
Camera.CameraType = Enum.CameraType.Custom
|
||||||
|
|
||||||
|
-- if character spin is enabled then disable it
|
||||||
|
if rotateCharacter then toggleCharacterSpin() end
|
||||||
|
end
|
||||||
|
|
||||||
|
function focusCamera()
|
||||||
|
if not backpack.Wardrobe.Visible then return end
|
||||||
|
|
||||||
|
local cameraAngle = CFrame.fromEulerAnglesXYZ(0, math.pi, 0) * CFrame.fromEulerAnglesXYZ(0, -0.1, 0)
|
||||||
|
local cameraPosition = CFrame.new(screenSize.X*0.00983455882, 0, screenSize.Y*-0.01527777777)
|
||||||
|
|
||||||
|
Camera.CoordinateFrame = game.Players.LocalPlayer.Character.Torso.CFrame * cameraPosition * cameraAngle
|
||||||
|
end
|
||||||
|
|
||||||
|
function toggleCharacterSpin()
|
||||||
|
rotateCharacter = not rotateCharacter
|
||||||
|
|
||||||
|
if rotateCharacter then
|
||||||
|
rotateCharacterButton.Text = "Pause"
|
||||||
|
else
|
||||||
|
rotateCharacterButton.Text = "Rotate"
|
||||||
|
end
|
||||||
|
|
||||||
|
while rotateCharacter do
|
||||||
|
wait(0.05)
|
||||||
|
player.Character.Torso.CFrame = player.Character.Torso.CFrame * CFrame.Angles(0,0.035,0)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
------------------------- Start Lifelong Connections -----------------------
|
||||||
|
|
||||||
|
|
||||||
|
resizeEvent.Event:connect(function(absSize)
|
||||||
|
if debounce then return end
|
||||||
|
|
||||||
|
debounce = true
|
||||||
|
wait()
|
||||||
|
screenSize = absSize
|
||||||
|
focusCamera()
|
||||||
|
debounce = false
|
||||||
end)
|
end)
|
||||||
|
|
||||||
game.Players.LocalPlayer.CharacterAdded:connect(function()
|
|
||||||
hasBuildTools = false
|
------------------------- End Lifelong Connections -----------------------
|
||||||
if game.Players.LocalPlayer.HasBuildTools then
|
|
||||||
giveBuildTools()
|
backpackOpenEvent.Event:connect(backpackOpenHandler)
|
||||||
end
|
backpackCloseEvent.Event:connect(backpackCloseHandler)
|
||||||
if game.Players.LocalPlayer.PersonalServerRank >= 255 then
|
tabClickedEvent.Event:connect(tabClickHandler)
|
||||||
giveOwnerTools()
|
rotateCharacterButton.MouseButton1Click:connect(toggleCharacterSpin)
|
||||||
end
|
|
||||||
end)
|
|
||||||
Loading…
Reference in New Issue