Minify corescripts because less bytes = more better

This commit is contained in:
Lewin Kelly 2023-04-08 09:18:13 +01:00
parent bb1eb0faa6
commit f1d815c35b
50 changed files with 5528 additions and 46 deletions

19
.darklua.json5 Normal file
View File

@ -0,0 +1,19 @@
{
generator: "dense",
rules: [
"remove_comments",
"remove_spaces",
"group_local_assignment",
"compute_expression",
"remove_unused_if_branch",
"remove_unused_while",
"remove_empty_do",
// "remove_method_definition",
"remove_function_call_parens",
"filter_after_early_return",
{
rule: "rename_variables",
globals: ["$default", "$roblox"],
}
],
}

View File

@ -731,7 +731,7 @@ function initializeDeveloperConsole()
end
end)
Dev_ScrollArea.Handle.MouseButton1Up:connect(function(x, y)
Dev_ScrollArea.Handle.MouseButton1Up:connect(function(_, _)
clean()
end)

View File

@ -85,7 +85,6 @@ for i = 1, #bottomLeftChildren do
exitTip.Parent = bottomLeftChildren[i]
setUpListeners(exitTip)
elseif bottomLeftChildren[i].Name == "SettingsButton" then
hasSettingsTip = true
createSettingsButtonTip(bottomLeftChildren[i])
end
end

View File

@ -15,11 +15,11 @@ local function waitForChild(instance, name)
instance.ChildAdded:wait()
end
end
local function waitForProperty(instance, property)
while not instance[property] do
instance.Changed:wait()
end
end
-- local function waitForProperty(instance, property)
-- while not instance[property] do
-- instance.Changed:wait()
-- end
-- end
-- Responsible for tracking logging items
local scriptContext = game:GetService "ScriptContext"

View File

@ -187,24 +187,6 @@ function highlightColor(frame, tone)
end
end
function wanderDialog()
print "Wander"
mainFrame.Visible = false
endDialog()
showMessage(characterWanderedOffMessage, characterWanderedOffSize)
end
function timeoutDialog()
print "Timeout"
mainFrame.Visible = false
endDialog()
showMessage(conversationTimedOut, conversationTimedOutSize)
end
function normalEndDialog()
print "Done"
endDialog()
end
function endDialog()
if currentAbortDialogScript then
currentAbortDialogScript:Remove()
@ -229,6 +211,24 @@ function endDialog()
currentConversationPartner = nil
end
function wanderDialog()
print "Wander"
mainFrame.Visible = false
endDialog()
showMessage(characterWanderedOffMessage, characterWanderedOffSize)
end
function timeoutDialog()
print "Timeout"
mainFrame.Visible = false
endDialog()
showMessage(conversationTimedOut, conversationTimedOutSize)
end
function normalEndDialog()
print "Done"
endDialog()
end
function sanitizeMessage(msg)
if string.len(msg) == 0 then
return "..."
@ -337,7 +337,7 @@ function initialize(parent)
imageLabel.RobloxLocked = true
imageLabel.Parent = mainFrame
for n, obj in pairs(choices) do
for _, obj in pairs(choices) do
obj.RobloxLocked = true
obj.Parent = mainFrame
end
@ -355,7 +355,7 @@ function presentDialogChoices(talkingPart, dialogChoices)
currentConversationPartner = talkingPart
sortedDialogChoices = {}
for n, obj in pairs(dialogChoices) do
for _, obj in pairs(dialogChoices) do
if obj:IsA "DialogChoice" then
table.insert(sortedDialogChoices, obj)
end
@ -372,11 +372,11 @@ function presentDialogChoices(talkingPart, dialogChoices)
local pos = 1
local yPosition = 0
choiceMap = {}
for n, obj in pairs(choices) do
for _, obj in pairs(choices) do
obj.Visible = false
end
for n, obj in pairs(sortedDialogChoices) do
for _, obj in pairs(sortedDialogChoices) do
if pos <= #choices then
--3 lines is the maximum, set it to that temporarily
choices[pos].Size = UDim2.new(1, 0, 0, 24 * 3)

View File

@ -538,18 +538,18 @@ t.SelectTerrainRegion = function(regionToSelect, color, selectEmptyCells, select
local selectionBox = Instance.new "SelectionBox"
-- srs translation from region3 to region3int16
function Region3ToRegion3int16(region3)
local theLowVec = region3.CFrame.p - (region3.Size / 2) + Vector3.new(2, 2, 2)
local lowCell = WorldToCellPreferSolid(terrain, theLowVec)
-- function Region3ToRegion3int16(region3)
-- local theLowVec = region3.CFrame.p - (region3.Size / 2) + Vector3.new(2, 2, 2)
-- local lowCell = WorldToCellPreferSolid(terrain, theLowVec)
local theHighVec = region3.CFrame.p + (region3.Size / 2) - Vector3.new(2, 2, 2)
local highCell = WorldToCellPreferSolid(terrain, theHighVec)
-- local theHighVec = region3.CFrame.p + (region3.Size / 2) - Vector3.new(2, 2, 2)
-- local highCell = WorldToCellPreferSolid(terrain, theHighVec)
local highIntVec = Vector3int16.new(highCell.x, highCell.y, highCell.z)
local lowIntVec = Vector3int16.new(lowCell.x, lowCell.y, lowCell.z)
-- local highIntVec = Vector3int16.new(highCell.x, highCell.y, highCell.z)
-- local lowIntVec = Vector3int16.new(lowCell.x, lowCell.y, lowCell.z)
return Region3int16.new(lowIntVec, highIntVec)
end
-- return Region3int16.new(lowIntVec, highIntVec)
-- end
-- helper function that creates the basis for a selection box
function createAdornment(theColor)

View File

@ -306,7 +306,7 @@ function checkForSwap(button, x, y)
end
function resizeGrid()
for k, v in pairs(backpackItems) do
for _, v in pairs(backpackItems) do
if not v:FindFirstChild "RobloxBuildTool" then
if not buttons[v] then
local buttonClone = gearButton:clone()
@ -500,7 +500,7 @@ function loadoutCheck(child, selectState)
if not child:IsA "ImageButton" then
return
end
for k, v in pairs(backpackItems) do
for _, v in pairs(backpackItems) do
if buttons[v] then
if child:FindFirstChild "GearReference" and buttons[v]:FindFirstChild "GearReference" then
if buttons[v].GearReference.Value == child.GearReference.Value then

View File

@ -7954,9 +7954,6 @@ structs:
Remove:
args: []
method: true
deprecated:
message: this property is deprecated.
replace: []
SetAttribute:
args:
- required: false
@ -8039,9 +8036,6 @@ structs:
remove:
args: []
method: true
deprecated:
message: this property is deprecated.
replace: []
Terrain:
"*":
struct: Instance

298
processed/107893730.lua Normal file
View File

@ -0,0 +1,298 @@
while not Game do wait(0.1)end while not game:GetService'MarketplaceService'do
wait(0.1)end while not game:FindFirstChild'CoreGui'do wait(0.1)end while not
game.CoreGui:FindFirstChild'RobloxGui'do wait(0.1)end local a,b,c,d,e,f,g,h,i,j,
k,l,m,n,o,p,q=nil,game:GetService'ContentProvider'.BaseUrl:lower(),nil,nil,nil,
nil,nil,nil,nil,false,nil,false,true,nil,false,nil local r,s,t,u,v,w,x,y,z=0.3,
UDim2.new(0.5,-330,0.5,-200),UDim2.new(0.5,-330,1,25),nil,false,nil,450,{},
'http://www.roblox.com/Asset/?id='local A=z..'42557901'table.insert(y,A)local B=
z..'104651457'table.insert(y,B)local C=z..'104651515'table.insert(y,C)local D=z
..'104651532'table.insert(y,D)local E=z..'104651592'table.insert(y,E)local F=z..
'104651639'table.insert(y,F)local G=z..'104651665'table.insert(y,G)local H=z..
'104651707'table.insert(y,H)local I=z..'104651733'table.insert(y,I)local J=z..
'104651761'table.insert(y,J)local K=z..'102481431'table.insert(y,K)local L=z..
'102481419'table.insert(y,L)local M,N,O,P,Q,R,S,T,U,V='Buy','Take',
'An Error Occurred','in-game purchases are disabled',
'Roblox is performing maintenance','Your purchase of itemName succeeded!',
[[Your purchase of itemName failed because errorReason. Your account has not been charged. Please try again soon.]]
,[[Would you like to buy 'itemName' for currencyType currencyAmount?]],
"Would you like to take the assetType 'itemName' for FREE?",
[[Your balance of Robux or Tix will not be affected by this transaction.]]
function getSecureApiBaseUrl()local W=b W=string.gsub(W,'http','https')W=string.
gsub(W,'www','api')return W end function getRbxUtility()if not a then a=
LoadLibrary'RbxUtility'end return a end function preloadAssets()for W=1,#y do
game:GetService'ContentProvider':Preload(y[W])end end function
removeCurrentPurchaseInfo()d=nil e=nil f=nil g=nil h=nil c=nil i=nil j=false end
function closePurchasePrompt()p:TweenPosition(t,Enum.EasingDirection.Out,Enum.
EasingStyle.Quad,r,true,function()game.GuiService:RemoveCenterDialog(p)
hidePurchasing()p.Visible=false o=false end)end function
userPurchaseActionsEnded(W)j=false if W then local X=string.gsub(R,'itemName',
tostring(c['Name']))p.BodyFrame.ItemPreview.ItemDescription.Text=X
setButtonsVisible(p.BodyFrame.OkPurchasedButton)hidePurchasing()else
signalPromptEnded(W)end end function signalPromptEnded(W)closePurchasePrompt()if
l then game:GetService'MarketplaceService':SignalPromptProductPurchaseFinished(
game.Players.LocalPlayer.userId,h,W)else game:GetService'MarketplaceService':
SignalPromptPurchaseFinished(game.Players.LocalPlayer,d,W)end
removeCurrentPurchaseInfo()end function updatePurchasePromptData(W)local X=''if
not h then h=c['ProductId']end if isFreeItem()then X=string.gsub(U,'itemName',
tostring(c['Name']))X=string.gsub(X,'assetType',tostring(assetTypeToString(c[
'AssetTypeId'])))setHeaderText(N)else X=string.gsub(T,'itemName',tostring(c[
'Name']))X=string.gsub(X,'currencyType',tostring(currencyTypeToString(e)))X=
string.gsub(X,'currencyAmount',tostring(f))setHeaderText(M)end p.BodyFrame.
ItemPreview.ItemDescription.Text=X if l then p.BodyFrame.ItemPreview.Image=b..
'thumbs/asset.ashx?assetid='..tostring(c['IconImageAssetId'])..
'&x=100&y=100&format=png'else p.BodyFrame.ItemPreview.Image=b..
'thumbs/asset.ashx?assetid='..tostring(d)..'&x=100&y=100&format=png'end end
function doPlayerFundsCheck(W)if j then canPurchase,insufficientFunds=
canPurchaseItem()if canPurchase and insufficientFunds then local X=1000 while(X>
0 or W)and insufficientFunds and j and canPurchase do wait(0.1)canPurchase,
insufficientFunds=canPurchaseItem()X=X-1 end end if canPurchase and not
insufficientFunds then setButtonsVisible(p.BodyFrame.BuyButton,p.BodyFrame.
CancelButton,p.BodyFrame.AfterBalanceButton)end end end function
showPurchasePrompt()local W,X,Y,Z,_=canPurchaseItem()if W then
updatePurchasePromptData()if Z and _ then p.BodyFrame.ItemPreview.
ItemDescription.Text=_ p.BodyFrame.AfterBalanceButton.Visible=false end game.
GuiService:AddCenterDialog(p,Enum.CenterDialogType.ModalDialog,function()p.
Visible=true if isFreeItem()then setButtonsVisible(p.BodyFrame.FreeButton,p.
BodyFrame.CancelButton,p.BodyFrame.AfterBalanceButton)elseif Y then p.BodyFrame.
AfterBalanceButton.Text=
[[You require an upgrade to your Builders Club membership to purchase this item. Click here to upgrade.]]
if not k then k=p.BodyFrame.AfterBalanceButton.MouseButton1Click:connect(
function()if p.BodyFrame.AfterBalanceButton.Text==
[[You require an upgrade to your Builders Club membership to purchase this item. Click here to upgrade.]]
then openBCUpSellWindow()end end)end setButtonsVisible(p.BodyFrame.
BuyDisabledButton,p.BodyFrame.CancelButton,p.BodyFrame.AfterBalanceButton)elseif
X then setButtonsVisible(p.BodyFrame.BuyDisabledButton,p.BodyFrame.CancelButton,
p.BodyFrame.AfterBalanceButton)elseif Z then setButtonsVisible(p.BodyFrame.
BuyDisabledButton,p.BodyFrame.CancelButton)else setButtonsVisible(p.BodyFrame.
BuyButton,p.BodyFrame.CancelButton)end p:TweenPosition(s,Enum.EasingDirection.
Out,Enum.EasingStyle.Quad,r,true)if W and X and not m then j=true
doPlayerFundsCheck(true)end end,function()p.Visible=false end)else
doDeclinePurchase()end end function getToolAssetID(W)local X=game:GetService
'InsertService':LoadAsset(W)if not X then return nil end if X:IsA'Tool'then
return X end local Y=X:GetChildren()for Z=1,#Y do if Y[Z]:IsA'Tool'then return Y
[Z]end end return nil end function purchaseFailed(W)local X='Item'if c then X=c[
'Name']end local Y=string.gsub(S,'itemName',tostring(X))if W then Y=string.gsub(
Y,'errorReason',tostring(P))else Y=string.gsub(Y,'errorReason',tostring(Q))end p
.BodyFrame.ItemPreview.ItemDescription.Text=Y p.BodyFrame.ItemPreview.Image=A
setButtonsVisible(p.BodyFrame.OkButton)setHeaderText(O)hidePurchasing()end
function doAcceptPurchase(W)showPurchasing()local X,Y,Z=tick(),'none',nil if l
then Z=getSecureApiBaseUrl()..'marketplace/submitpurchase?productId='..tostring(
h)..'&currencyTypeId='..tostring(currencyEnumToInt(e))..'&expectedUnitPrice='..
tostring(f)..'&placeId='..tostring(Game.PlaceId)else Z=getSecureApiBaseUrl()..
'marketplace/purchase?productId='..tostring(h)..'&currencyTypeId='..tostring(
currencyEnumToInt(e))..'&purchasePrice='..tostring(f)..'&locationType=Game'..
'&locationId='..Game.PlaceId end local _,aa=ypcall(function()Y=game:
HttpPostAsync(Z,'RobloxPurchaseRequest')end)print(
'doAcceptPurchase success from ypcall is ',_,'reason is',aa)if(tick()-X)<1 then
wait(1)end if Y=='none'or Y==nil or Y==''then print(
'did not get a proper response from web on purchase of',d,h)purchaseFailed()
return end Y=getRbxUtility().DecodeJSON(Y)if Y then if Y['success']==false then
if Y['status']~='AlreadyOwned'then print(
'web return response of fail on purchase of',d,h)purchaseFailed((Y['status']==
'EconomyDisabled'))return end end else print(
'web return response of non parsable JSON on purchase of',d)purchaseFailed()
return end if g and _ and d and tonumber(c['AssetTypeId'])==19 then local ab=
getToolAssetID(tonumber(d))if ab then ab.Parent=game.Players.LocalPlayer.
Backpack end end if l then if not Y['receipt']then print(
[[tried to buy productId, but no receipt returned. productId was]],h)
purchaseFailed()return end Game:GetService'MarketplaceService':
SignalClientPurchaseSuccess(tostring(Y['receipt']),game.Players.LocalPlayer.
userId,h)else userPurchaseActionsEnded(_)end end function doDeclinePurchase()
userPurchaseActionsEnded(false)end function currencyEnumToInt(aa)if aa==Enum.
CurrencyType.Robux or aa==Enum.CurrencyType.Default then return 1 elseif aa==
Enum.CurrencyType.Tix then return 2 end end function assetTypeToString(aa)if aa
==1 then return'Image'elseif aa==2 then return'T-Shirt'elseif aa==3 then return
'Audio'elseif aa==4 then return'Mesh'elseif aa==5 then return'Lua'elseif aa==6
then return'HTML'elseif aa==7 then return'Text'elseif aa==8 then return'Hat'
elseif aa==9 then return'Place'elseif aa==10 then return'Model'elseif aa==11
then return'Shirt'elseif aa==12 then return'Pants'elseif aa==13 then return
'Decal'elseif aa==16 then return'Avatar'elseif aa==17 then return'Head'elseif aa
==18 then return'Face'elseif aa==19 then return'Gear'elseif aa==21 then return
'Badge'elseif aa==22 then return'Group Emblem'elseif aa==24 then return
'Animation'elseif aa==25 then return'Arms'elseif aa==26 then return'Legs'elseif
aa==27 then return'Torso'elseif aa==28 then return'Right Arm'elseif aa==29 then
return'Left Arm'elseif aa==30 then return'Left Leg'elseif aa==31 then return
'Right Leg'elseif aa==32 then return'Package'elseif aa==33 then return
'YouTube Video'elseif aa==34 then return'Game Pass'elseif aa==0 then return
'Product'end return''end function currencyTypeToString(aa)if aa==Enum.
CurrencyType.Tix then return'Tix'else return'R$'end end function
setCurrencyAmountAndType(aa,ab)if e==Enum.CurrencyType.Default or e==Enum.
CurrencyType.Robux then if aa~=nil and aa~=0 then f=aa e=Enum.CurrencyType.Robux
else f=ab e=Enum.CurrencyType.Tix end elseif e==Enum.CurrencyType.Tix then if ab
~=nil and ab~=0 then f=ab e=Enum.CurrencyType.Tix else f=aa e=Enum.CurrencyType.
Robux end else return false end if f==nil then return false end return true end
function getPlayerBalance()local aa=nil local ab,W=ypcall(function()aa=game:
HttpGetAsync(getSecureApiBaseUrl()..'currency/balance')end)if not ab then print(
'Get player balance failed because',W)return nil end if aa==''then return nil
end aa=getRbxUtility().DecodeJSON(aa)return aa end function
openBuyCurrencyWindow()j=true game:GetService'GuiService':OpenBrowserWindow(b..
'Upgrades/Robux.aspx')end function openBCUpSellWindow()Game:GetService
'GuiService':OpenBrowserWindow(b..'Upgrades/BuildersClubMemberships.aspx')end
function updateAfterBalanceText(aa,ab)if isFreeItem()then p.BodyFrame.
AfterBalanceButton.Text=V return true,false end local W=nil if e==Enum.
CurrencyType.Robux then W='robux'elseif e==Enum.CurrencyType.Tix then W=
'tickets'end if not W then return false end local X=tonumber(aa[W])if not X then
return false end local Y=X-f if not ab then if Y<0 and W=='robux'then if n==nil
then n=p.BodyFrame.AfterBalanceButton.MouseButton1Click:connect(
openBuyCurrencyWindow)end p.BodyFrame.AfterBalanceButton.Text='You need '..
currencyTypeToString(e)..' '..tostring(-Y)..
' more to buy this, click here to purchase more.'return true,true elseif Y<0 and
W=='tickets'then p.BodyFrame.AfterBalanceButton.Text='You need '..tostring(-Y)..
' '..currencyTypeToString(e)..' more to buy this item.'return true,true end end
if n then n:disconnect()n=nil end p.BodyFrame.AfterBalanceButton.Text=
'Your balance after this transaction will be '..currencyTypeToString(e)..' '..
tostring(Y)..'.'return true,false end function isFreeItem()return c and c[
'IsForSale']==true and c['IsPublicDomain']==true end function
membershipTypeToNumber(aa)if aa==Enum.MembershipType.None then return 0 elseif
aa==Enum.MembershipType.BuildersClub then return 1 elseif aa==Enum.
MembershipType.TurboBuildersClub then return 2 elseif aa==Enum.MembershipType.
OutrageousBuildersClub then return 3 end return-1 end function canPurchaseItem()
local aa,ab,W,X=false,false,nil,false if l then local Y=nil X=ypcall(function()Y
=Game:HttpGetAsync(getSecureApiBaseUrl()..
'marketplace/productDetails?productid='..tostring(h))end)if X then c=
getRbxUtility().DecodeJSON(Y)end else X=ypcall(function()c=game:GetService
'MarketplaceService':GetProductInfo(d)end)end if c==nil or not X then W=
[[In-game sales are temporarily disabled. Please try again later.]]return true,
nil,nil,true,W end if not l then if not d then print
'current asset id is nil, this should always have a value'return false end if d
<=0 then print[[current asset id is negative, this should always be positive]]
return false end local Y,Z=ypcall(function()aa=game:HttpGetAsync(
getSecureApiBaseUrl()..'ownership/hasAsset?userId='..tostring(game.Players.
LocalPlayer.userId)..'&assetId='..tostring(d))end)if not Y then print(
'could not tell if player owns asset because',Z)return false end if aa==true or
aa=='true'then W='You already own this item.'return true,nil,nil,true,W end end
p.BodyFrame.AfterBalanceButton.Visible=true if type(c)~='table'then c=
getRbxUtility().DecodeJSON(c)end if not c then W=
'Could not get product info. Please try again later.'return true,nil,nil,true,W
end if c['IsForSale']==false and c['IsPublicDomain']==false then W=
'This item is no longer for sale.'return true,nil,nil,true,W end if not
setCurrencyAmountAndType(tonumber(c['PriceInRobux']),tonumber(c['PriceInTickets'
]))then W=
[[We could retrieve the price of the item correctly. Please try again later.]]
return true,nil,nil,true,W end local Y=getPlayerBalance()if not Y then W=
'Could not retrieve your balance. Please try again later.'return true,nil,nil,
true,W end if tonumber(c['MinimumMembershipLevel'])>membershipTypeToNumber(game.
Players.LocalPlayer.MembershipType)then ab=true end local Z,_=
updateAfterBalanceText(Y,ab)if ab then p.BodyFrame.AfterBalanceButton.Active=
true return true,_,ab,false end if c['ContentRatingTypeId']==1 then if game.
Players.LocalPlayer:GetUnder13()then W=
[[Your account is under 13 so purchase of this item is not allowed.]]return true
,nil,nil,true,W end end if(c['IsLimited']==true or c['IsLimitedUnique']==true)
and(c['Remaining']==''or c['Remaining']==0 or c['Remaining']==nil)then W=
[[All copies of this item have been sold out! Try buying from other users on the website.]]
return true,nil,nil,true,W end if not Z then W=
[[Could not update your balance. Please check back after some time.]]return true
,nil,nil,true,W end p.BodyFrame.AfterBalanceButton.Active=true return true,_ end
function computeSpaceString(aa)local ab,W=' ',Instance.new'TextButton'W.Size=
UDim2.new(0,aa.AbsoluteSize.X,0,aa.AbsoluteSize.Y)W.FontSize=aa.FontSize W.
Parent=aa.Parent W.BackgroundTransparency=1 W.Text=ab W.Name='SpaceButton'while
W.TextBounds.X<aa.TextBounds.X do ab=ab..' 'W.Text=ab end ab=ab..' 'W.Text=''
return ab end function startSpinner()v=true Spawn(function()local aa=0 while v
do local ab=0 while ab<8 do if ab==aa or ab==((aa+1)%8)then w[ab+1].Image=
'http://www.roblox.com/Asset/?id=45880668'else w[ab+1].Image=
'http://www.roblox.com/Asset/?id=45880710'end ab=ab+1 end aa=(aa+1)%8 wait(
6.666666666666666E-2)end end)end function stopSpinner()v=false end function
setButtonsVisible(...)local aa,ab,W={...},select('#',...),p.BodyFrame:
GetChildren()for X=1,#W do if W[X]:IsA'GuiButton'then W[X].Visible=false for Y=1
,ab do if W[X]==aa[Y]then W[X].Visible=true break end end end end end function
createSpinner(aa,ab,W)local X=Instance.new'Frame'X.Name='Spinner'X.Size=aa X.
Position=ab X.BackgroundTransparency=1 X.ZIndex=10 X.Parent=W w={}local Y=1
while Y<=8 do local Z=Instance.new'ImageLabel'Z.Name='Spinner'..Y Z.Size=UDim2.
new(0,16,0,16)Z.Position=UDim2.new(0.5+0.3*math.cos(math.rad(45*Y)),-8,0.5+0.3*
math.sin(math.rad(45*Y)),-8)Z.BackgroundTransparency=1 Z.ZIndex=10 Z.Image=
'http://www.roblox.com/Asset/?id=45880710'Z.Parent=X w[Y]=Z Y=Y+1 end end
function createPurchasePromptGui()p=Instance.new'Frame'p.Name='PurchaseFrame'p.
Size=UDim2.new(0,660,0,400)p.Position=t p.Visible=false p.BackgroundColor3=
Color3.new(0.5529411764705883,0.5529411764705883,0.5529411764705883)p.
BorderColor3=Color3.new(0.8,0.8,0.8)p.Parent=game.CoreGui.RobloxGui local aa=
Instance.new'Frame'aa.Name='BodyFrame'aa.Size=UDim2.new(1,0,1,-60)aa.Position=
UDim2.new(0,0,0,60)aa.BackgroundColor3=Color3.new(0.2627450980392157,
0.2627450980392157,0.2627450980392157)aa.BorderSizePixel=0 aa.ZIndex=8 aa.Parent
=p local ab=createTextObject('TitleLabel','Buy Item','TextLabel',Enum.FontSize.
Size48)ab.ZIndex=8 ab.Size=UDim2.new(1,0,0,60)local W=ab:Clone()W.Name=
'TitleBackdrop'W.TextColor3=Color3.new(0.12549019607843137,0.12549019607843137,
0.12549019607843137)W.BackgroundTransparency=0 W.BackgroundColor3=Color3.new(
0.21176470588235294,0.3764705882352941,0.6705882352941176)W.Position=UDim2.new(0
,0,0,-2)W.ZIndex=8 W.Parent=p ab.Parent=p local X,Y=90,createImageButton
'CancelButton'Y.Position=UDim2.new(0.5,(X/2),1,-120)Y.BackgroundTransparency=1 Y
.BorderSizePixel=0 Y.Parent=aa Y.Modal=true Y.ZIndex=8 Y.Image=E Y.
MouseButton1Down:connect(function()Y.Image=F end)Y.MouseButton1Up:connect(
function()Y.Image=E end)Y.MouseLeave:connect(function()Y.Image=E end)Y.
MouseButton1Click:connect(doDeclinePurchase)local Z=createImageButton'BuyButton'
Z.Position=UDim2.new(0.5,-153-(X/2),1,-120)Z.BackgroundTransparency=1 Z.
BorderSizePixel=0 Z.Image=B Z.ZIndex=8 Z.MouseButton1Down:connect(function()Z.
Image=C end)Z.MouseButton1Up:connect(function()Z.Image=B end)Z.MouseLeave:
connect(function()Z.Image=B end)Z.Parent=aa local _=Z:Clone()_.Name=
'BuyDisabledButton'_.AutoButtonColor=false _.Visible=false _.Active=false _.
Image=D _.ZIndex=8 _.Parent=aa local ac=Z:Clone()ac.BackgroundTransparency=1 ac.
Name='FreeButton'ac.Visible=false ac.ZIndex=8 ac.Image=I ac.MouseButton1Down:
connect(function()ac.Image=J end)ac.MouseButton1Up:connect(function()ac.Image=I
end)ac.MouseLeave:connect(function()ac.Image=I end)ac.Parent=aa local ad=Z:
Clone()ad.Name='OkButton'ad.BackgroundTransparency=1 ad.Visible=false ad.
Position=UDim2.new(0.5,-ad.Size.X.Offset/2,1,-120)ad.Modal=true ad.Image=G ad.
ZIndex=8 ad.MouseButton1Down:connect(function()ad.Image=H end)ad.MouseButton1Up:
connect(function()ad.Image=G end)ad.MouseLeave:connect(function()ad.Image=G end)
ad.Parent=aa local ae=ad:Clone()ae.ZIndex=8 ae.Name='OkPurchasedButton'ae.
MouseButton1Down:connect(function()ae.Image=H end)ae.MouseButton1Up:connect(
function()ae.Image=G end)ae.MouseLeave:connect(function()ae.Image=G end)ae.
Parent=aa ad.MouseButton1Click:connect(function()userPurchaseActionsEnded(false)
end)ae.MouseButton1Click:connect(function()if l then
userPurchaseProductActionsEnded(true)else signalPromptEnded(true)end end)Z.
MouseButton1Click:connect(function()doAcceptPurchase(Enum.CurrencyType.Robux)end
)ac.MouseButton1Click:connect(function()doAcceptPurchase(false)end)local af=
Instance.new'ImageLabel'af.Name='ItemPreview'af.BackgroundColor3=Color3.new(
0.12549019607843137,0.12549019607843137,0.12549019607843137)af.BorderColor3=
Color3.new(0.5529411764705883,0.5529411764705883,0.5529411764705883)af.Position=
UDim2.new(0,30,0,20)af.Size=UDim2.new(0,180,0,180)af.ZIndex=9 af.Parent=aa local
ag=createTextObject('ItemDescription',
[[Would you like to buy the 'itemName' for currencyType currencyAmount?]],
'TextLabel',Enum.FontSize.Size24)ag.Position=UDim2.new(1,20,0,0)ag.Size=UDim2.
new(0,410,1,0)ag.ZIndex=8 ag.Parent=af local ah=createTextObject(
'AfterBalanceButton','Place holder text ip sum lorem dodo ashs','TextButton',
Enum.FontSize.Size24)ah.AutoButtonColor=false ah.TextColor3=Color3.new(
0.8705882352941177,0.23137254901960785,0.11764705882352941)ah.Position=UDim2.
new(0,5,1,-55)ah.Size=UDim2.new(1,-10,0,50)ah.ZIndex=8 ah.Parent=aa local ai=
Instance.new'Frame'ai.Name='PurchasingFrame'ai.Size=UDim2.new(1,0,1,0)ai.
BackgroundColor3=Color3.new(0,0,0)ai.BackgroundTransparency=0.2 ai.
BorderSizePixel=0 ai.ZIndex=9 ai.Visible=false ai.Active=true ai.Parent=p local
aj=createTextObject('PurchasingLabel','Purchasing...','TextLabel',Enum.FontSize.
Size48)aj.Size=UDim2.new(1,0,1,0)aj.ZIndex=10 aj.Parent=ai createSpinner(UDim2.
new(0,50,0,50),UDim2.new(0.5,-25,0.5,30),aj)end function showPurchasing()
startSpinner()p.PurchasingFrame.Visible=true end function hidePurchasing()p.
PurchasingFrame.Visible=false stopSpinner()end function createTextObject(aa,ab,
ac,ad)local ae=Instance.new(ac)ae.Font=Enum.Font.ArialBold ae.TextColor3=Color3.
new(0.8509803921568627,0.8509803921568627,0.8509803921568627)ae.TextWrapped=true
ae.Name=aa ae.Text=ab ae.BackgroundTransparency=1 ae.BorderSizePixel=0 ae.
FontSize=ad return ae end function createImageButton(aa)local ab=Instance.new
'ImageButton'ab.Size=UDim2.new(0,153,0,46)ab.Name=aa return ab end function
setHeaderText(aa)p.TitleLabel.Text=aa p.TitleBackdrop.Text=aa end function
cutSizeInHalfRecursive(aa)end function doubleSizeRecursive(aa)end function
modifyForSmallScreen()cutSizeInHalfRecursive(p)end function modifyForLargeScreen
()doubleSizeRecursive(p)end function changeGuiToScreenSize(aa)if aa then
modifyForSmallScreen()else modifyForLargeScreen()end end function
doPurchasePrompt(aa,ab,ac,ad,ae)if not p then createPurchasePromptGui()end if aa
==game.Players.LocalPlayer then if o then return end o=true d=ab h=ae e=ad g=ac
l=(h~=nil)showPurchasePrompt()end end function userPurchaseProductActionsEnded(
aa)j=false if aa then closePurchasePrompt()if i then local ab=false if tostring(
i['isValid']):lower()=='true'then ab=true end Game:GetService
'MarketplaceService':SignalPromptProductPurchaseFinished(tonumber(i['playerId'])
,tonumber(i['productId']),ab)else print
'Something went wrong, no currentServerResponseTable'end
removeCurrentPurchaseInfo()else local ab=string.gsub(R,'itemName',tostring(c[
'Name']))p.BodyFrame.ItemPreview.ItemDescription.Text=ab setButtonsVisible(p.
BodyFrame.OkPurchasedButton)hidePurchasing()end end function
doProcessServerPurchaseResponse(aa)if not aa then print
'Server response table was nil, cancelling purchase'purchaseFailed()return end
if aa['playerId']and tonumber(aa['playerId'])==game.Players.LocalPlayer.userId
then i=aa userPurchaseProductActionsEnded(false)end end preloadAssets()game:
GetService'MarketplaceService'.PromptProductPurchaseRequested:connect(function(
aa,ab,ac,ad)doPurchasePrompt(aa,nil,ac,ad,ab)end)Game:GetService
'MarketplaceService'.PromptPurchaseRequested:connect(function(aa,ab,ac,ad)
doPurchasePrompt(aa,ab,ac,ad,nil)end)Game:GetService'MarketplaceService'.
ServerPurchaseVerification:connect(function(aa)doProcessServerPurchaseResponse(
aa)end)if m then Game:GetService'GuiService'.BrowserWindowClosed:connect(
function()doPlayerFundsCheck(false)end)end Game.CoreGui.RobloxGui.Changed:
connect(function()local aa=(game.CoreGui.RobloxGui.AbsoluteSize.Y<=x)if aa and
not u then changeGuiToScreenSize(true)elseif not aa and u then
changeGuiToScreenSize(false)end u=aa end)u=(game.CoreGui.RobloxGui.AbsoluteSize.
Y<=x)if u then changeGuiToScreenSize(true)end

55
processed/152908679.lua Normal file
View File

@ -0,0 +1,55 @@
local a,b,c,d,e,f,g,h,i,j=Game:GetService'ContextActionService',Game:GetService
'UserInputService'.TouchEnabled,{},{},nil,nil,
'http://www.banland.xyz/asset/?id=97166756',
'http://www.banland.xyz/asset/?id=97166444',{},{[1]=UDim2.new(0,123,0,70),[2]=
UDim2.new(0,30,0,60),[3]=UDim2.new(0,180,0,160),[4]=UDim2.new(0,85,0,-25),[5]=
UDim2.new(0,185,0,-25),[6]=UDim2.new(0,185,0,260),[7]=UDim2.new(0,216,0,65)}
local k=#j Game:GetService'ContentProvider':Preload(g)Game:GetService
'ContentProvider':Preload(h)while not Game.Players do wait()end while not Game.
Players.LocalPlayer do wait()end function createContextActionGui()if not e and b
then e=Instance.new'ScreenGui'e.Name='ContextActionGui'f=Instance.new'Frame'f.
BackgroundTransparency=1 f.Size=UDim2.new(0.3,0,0.5,0)f.Position=UDim2.new(0.7,0
,0.5,0)f.Name='ContextButtonFrame'f.Parent=e end end function
setButtonSizeAndPosition(l)local m,n,o,p=55,10,95,(game.CoreGui.RobloxGui.
AbsoluteSize.X<600)if not p then m=85 n=40 end l.Size=UDim2.new(0,m,0,m)end
function contextButtonDown(l,m,n)if m.UserInputType==Enum.UserInputType.Touch
then l.Image=g a:CallFunction(n,Enum.UserInputState.Begin,m)end end function
contextButtonMoved(l,m,n)if m.UserInputType==Enum.UserInputType.Touch then l.
Image=g a:CallFunction(n,Enum.UserInputState.Change,m)end end function
contextButtonUp(l,m,n)l.Image=h if m.UserInputType==Enum.UserInputType.Touch and
m.UserInputState==Enum.UserInputState.End then a:CallFunction(n,Enum.
UserInputState.End,m)end end function isSmallScreenDevice()return Game:
GetService'GuiService':GetScreenResolution().y<=320 end function createNewButton
(l,m)local n=Instance.new'ImageButton'n.Name='ContextActionButton'n.
BackgroundTransparency=1 n.Size=UDim2.new(0,90,0,90)n.Active=true if
isSmallScreenDevice()then n.Size=UDim2.new(0,70,0,70)end n.Image=h n.Parent=f
local o=nil Game:GetService'UserInputService'.InputEnded:connect(function(p)i[p]
=nil end)n.InputBegan:connect(function(p)if i[p]then return end if p.
UserInputState==Enum.UserInputState.Begin and o==nil then o=p contextButtonDown(
n,p,l)end end)n.InputChanged:connect(function(p)if i[p]then return end if o~=p
then return end contextButtonMoved(n,p,l)end)n.InputEnded:connect(function(p)if
i[p]then return end if o~=p then return end o=nil i[p]=true contextButtonUp(n,p,
l)end)local p=Instance.new'ImageLabel'p.Name='ActionIcon'p.Position=UDim2.new(
0.175,0,0.175,0)p.Size=UDim2.new(0.65,0,0.65,0)p.BackgroundTransparency=1 if m[
'image']and type(m['image'])=='string'then p.Image=m['image']end p.Parent=n
local q=Instance.new'TextLabel'q.Name='ActionTitle'q.Size=UDim2.new(1,0,1,0)q.
BackgroundTransparency=1 q.Font=Enum.Font.SourceSansBold q.TextColor3=Color3.
new(1,1,1)q.TextStrokeTransparency=0 q.FontSize=Enum.FontSize.Size18 q.
TextWrapped=true q.Text=''if m['title']and type(m['title'])=='string'then q.Text
=m['title']end q.Parent=n return n end function createButton(l,m)local n,o=
createNewButton(l,m),nil for p=1,#d do if d[p]=='empty'then o=p break end end if
not o then o=#d+1 end if o>k then return end d[o]=n c[l]['button']=n n.Position=
j[o]n.Parent=f if e and e.Parent==nil then e.Parent=Game.Players.LocalPlayer.
PlayerGui end end function removeAction(l)if not c[l]then return end local m=c[l
]['button']if m then m.Parent=nil for n=1,#d do if d[n]==m then d[n]='empty'
break end end m:Destroy()end c[l]=nil end function addAction(l,m,n)if c[l]then
removeAction(l)end c[l]={n}if m and b then createContextActionGui()createButton(
l,n)end end a.BoundActionChanged:connect(function(l,m,n)if c[l]and n then local
o=c[l]['button']if o then if m=='image'then o.ActionIcon.Image=n[m]elseif m==
'title'then o.ActionTitle.Text=n[m]elseif m=='description'then elseif m==
'position'then o.Position=n[m]end end end end)a.BoundActionAdded:connect(
function(l,m,n)addAction(l,m,n)end)a.BoundActionRemoved:connect(function(l,m)
removeAction(l)end)a.GetActionButtonEvent:connect(function(l)if c[l]then a:
FireActionButtonFoundSignal(l,c[l]['button'])end end)local l=a:
GetAllBoundActionInfo()for m,n in pairs(l)do addAction(m,n['createTouchButton'],
n)end

114
processed/153556783.lua Normal file
View File

@ -0,0 +1,114 @@
while not Game do wait()end while not Game:FindFirstChild'Players'do wait()end
while not Game.Players.LocalPlayer do wait()end while not Game:FindFirstChild
'CoreGui'do wait()end while not Game.CoreGui:FindFirstChild'RobloxGui'do wait()
end local a=Game:GetService'UserInputService'local b=pcall(function()a:
IsLuaTouchControls()end)if not b then script:Destroy()end local c=Game:
GetService'GuiService':GetScreenResolution()function isSmallScreenDevice()return
c.y<=320 end local d,e=Game.Players.LocalPlayer,120 if isSmallScreenDevice()then
e=70 end local f,g,h,i,j='rbxasset://textures/ui/TouchControlsSheet.png',5,0.92,
{},90 if isSmallScreenDevice()then j=70 end local k,l,m={},nil,0.007 local n,o,p
,q=m*16,0.03,0.2,nil Game:GetService'ContentProvider':Preload(f)function
DistanceBetweenTwoPoints(r,s)local t,u=s.x-r.x,s.y-r.y return math.sqrt((t*t)+(u
*u))end function transformFromCenterToTopLeft(r,s)return UDim2.new(0,r.x-s.
AbsoluteSize.x/2,0,r.y-s.AbsoluteSize.y/2)end function rotatePointAboutLocation(
r,s,t)local u,v,w=math.sin(t),math.cos(t),r w=Vector2.new(w.x-s.x,w.y-s.y)local
x,y=w.x*v-w.y*u,w.x*u+w.y*v w=Vector2.new(x+s.x,y+s.y)return w end function
dotProduct(r,s)return((r.x*s.x)+(r.y*s.y))end function
stationaryThumbstickTouchMove(r,s,t)local u=Vector2.new(s.Position.X.Offset+s.
AbsoluteSize.x/2,s.Position.Y.Offset+s.AbsoluteSize.y/2)local v=
DistanceBetweenTwoPoints(t,u)if v>(e/2)then local w=Vector2.new(t.x-u.x,t.y-u.y)
local x=w.unit if x.x==math.nan or x.x==math.inf then x=Vector2.new(0,x.y)end if
x.y==math.nan or x.y==math.inf then x=Vector2.new(x.x,0)end local y=u+(x*(e/2))r
.Position=transformFromCenterToTopLeft(y,r)else r.Position=
transformFromCenterToTopLeft(t,r)end return Vector2.new(r.Position.X.Offset-s.
Position.X.Offset,r.Position.Y.Offset-s.Position.Y.Offset)end function
followThumbstickTouchMove(r,s,t)local u=Vector2.new(s.Position.X.Offset+s.
AbsoluteSize.x/2,s.Position.Y.Offset+s.AbsoluteSize.y/2)if
DistanceBetweenTwoPoints(t,u)>e/2 then local v=Vector2.new(r.Position.X.Offset+r
.AbsoluteSize.x/2,r.Position.Y.Offset+r.AbsoluteSize.y/2)local w,x=Vector2.new(t
.x-v.x,t.y-v.y).unit,Vector2.new(v.x-u.x,v.y-u.y)local y,z=x.unit,Vector2.new(t.
x-v.x,t.y-v.y)local A=(y.x*w.y)-(y.y*w.x)local B=math.atan2(A,dotProduct(y,w))
local C=B*math.min(z.magnitude/x.magnitude,1)if math.abs(C)>0.00001 then local D
=rotatePointAboutLocation(u,v,C)s.Position=transformFromCenterToTopLeft(Vector2.
new(D.x,D.y),s)end s.Position=UDim2.new(0,s.Position.X.Offset+z.x,0,s.Position.Y
.Offset+z.y)end r.Position=transformFromCenterToTopLeft(t,r)
thumbstickFramePosition=Vector2.new(r.Position.X.Offset,r.Position.Y.Offset)
thumbstickOuterPosition=Vector2.new(s.Position.X.Offset,s.Position.Y.Offset)if
DistanceBetweenTwoPoints(thumbstickFramePosition,thumbstickOuterPosition)>e/2
then local v=(thumbstickOuterPosition-thumbstickFramePosition).unit*e/2 s.
Position=UDim2.new(0,thumbstickFramePosition.x+v.x,0,thumbstickFramePosition.y+v
.y)end return Vector2.new(r.Position.X.Offset-s.Position.X.Offset,r.Position.Y.
Offset-s.Position.Y.Offset)end function movementOutsideDeadZone(r)return((math.
abs(r.x)>g)or(math.abs(r.y)>g))end function constructThumbstick(r,s,t)local u=
Instance.new'Frame'u.Name='ThumbstickFrame'u.Active=true u.Size=UDim2.new(0,e,0,
e)u.Position=r u.BackgroundTransparency=1 local v=Instance.new'ImageLabel'v.Name
='OuterThumbstick'v.Image=f v.ImageRectOffset=Vector2.new(0,0)v.ImageRectSize=
Vector2.new(220,220)v.BackgroundTransparency=1 v.Size=UDim2.new(0,e,0,e)v.
Position=r v.Parent=Game.CoreGui.RobloxGui local w=Instance.new'ImageLabel'w.
Name='InnerThumbstick'w.Image=f w.ImageRectOffset=Vector2.new(220,0)w.
ImageRectSize=Vector2.new(111,111)w.BackgroundTransparency=1 w.Size=UDim2.new(0,
e/2,0,e/2)w.Position=UDim2.new(0,u.Size.X.Offset/2-e/4,0,u.Size.Y.Offset/2-e/4)w
.Parent=u w.ZIndex=2 local x,y,z=nil,nil,nil local A=function(A)if x then return
end if A==q then return end if A==l then return end if A.UserInputType~=Enum.
UserInputType.Touch then return end x=A table.insert(i,x)u.Position=
transformFromCenterToTopLeft(x.Position,u)v.Position=u.Position y=a.TouchMoved:
connect(function(B)if B==x then local C=nil if t then C=
stationaryThumbstickTouchMove(u,v,Vector2.new(B.Position.x,B.Position.y))else C=
followThumbstickTouchMove(u,v,Vector2.new(B.Position.x,B.Position.y))end if s
then s(C,v.Size.X.Offset/2)end end end)z=a.TouchEnded:connect(function(B)if B==x
then if s then s(Vector2.new(0,0),1)end z:disconnect()y:disconnect()u.Position=r
v.Position=r for C,D in pairs(i)do if D==x then table.remove(i,C)break end end x
=nil end end)end a.Changed:connect(function(B)if B=='ModalEnabled'then u.Visible
=not a.ModalEnabled v.Visible=not a.ModalEnabled end end)u.InputBegan:connect(A)
return u end function setupCharacterMovement(r)local s,t=nil local u=d.
MoveCharacter local v,w=function(v,w)if d then if movementOutsideDeadZone(v)then
s=v t=w if v.magnitude/w>h then w=v.magnitude-1 end u(d,v,w)else s=Vector2.new(0
,0)t=1 u(d,s,t)end end end,UDim2.new(0,e/2,1,-e*1.75)if isSmallScreenDevice()
then w=UDim2.new(0,(e/2)-10,1,-e-20)end local x=constructThumbstick(w,v,false)x.
Name='CharacterThumbstick'x.Parent=r local y=function()if d and u and s and t
then u(d,s,t)end end return y end function setupJumpButton(r)local s=Instance.
new'ImageButton's.Name='JumpButton's.BackgroundTransparency=1 s.Image=f s.
ImageRectOffset=Vector2.new(176,222)s.ImageRectSize=Vector2.new(174,174)s.Size=
UDim2.new(0,j,0,j)if isSmallScreenDevice()then s.Position=UDim2.new(1,-(j*2.25),
1,-j-20)else s.Position=UDim2.new(1,-(j*2.75),1,-j-120)end local t=d.
JumpCharacter local u=function()while l do if d then t(d)end wait(
1.6666666666666665E-2)end end s.InputBegan:connect(function(v)if v.UserInputType
~=Enum.UserInputType.Touch then return end if l then return end if v==q then
return end for w,x in pairs(k)do if x==v then return end end l=v s.
ImageRectOffset=Vector2.new(0,222)s.ImageRectSize=Vector2.new(174,174)u()end)s.
InputEnded:connect(function(v)if v.UserInputType~=Enum.UserInputType.Touch then
return end s.ImageRectOffset=Vector2.new(176,222)s.ImageRectSize=Vector2.new(174
,174)if v==l then table.insert(k,l)l=nil end end)a.InputEnded:connect(function(v
)for w,x in pairs(k)do if x==v then table.remove(k,w)break end end end)a.Changed
:connect(function(v)if v=='ModalEnabled'then s.Visible=not a.ModalEnabled end
end)s.Parent=r end function isTouchUsedByJumpButton(r)if r==l then return true
end for s,t in pairs(k)do if r==t then return true end end return false end
function isTouchUsedByThumbstick(r)for s,t in pairs(i)do if r==t then return
true end end return false end function setupCameraControl(r,s)local t,u,v,w,x,y,
z,A,B=nil,false,a.RotateCamera,-1,false,nil,a.ZoomCamera,{},nil local C,D=
function()q=nil u=false t=nil end,function()A={}y=nil x=false B:Destroy()B=nil
end local E=function(E,F)if B then B:Destroy()end B=Instance.new'Frame'B.Name=
'PinchFrame'B.BackgroundTransparency=1 B.Parent=r B.Size=UDim2.new(1,0,1,0)B.
InputChanged:connect(function(G)if not x then D()return end C()if y==nil then if
G==E then y=(G.Position-F.Position).magnitude E=G elseif G==F then y=(G.Position
-E.Position).magnitude F=G end else local H=0 if G==E then H=(G.Position-F.
Position).magnitude E=G elseif G==F then H=(G.Position-E.Position).magnitude F=G
end if H~=0 then local I=H-y if I~=0 then z(a,(I*o))end y=H end end end)B.
InputEnded:connect(function(G)if G==E or G==F then D()end end)end local F=
function(F)if#A<1 then table.insert(A,F)w=tick()x=false elseif#A==1 then x=((
tick()-w)<=p)if x then table.insert(A,F)E(A[1],A[2])else A={}end end end r.
InputBegan:connect(function(G)if G.UserInputType~=Enum.UserInputType.Touch then
return end if isTouchUsedByJumpButton(G)then return end local H=
isTouchUsedByThumbstick(G)if not H then F(G)end if q==nil and not H then q=G t=
Vector2.new(q.Position.x,q.Position.y)lastTick=tick()end end)a.InputChanged:
connect(function(G)if G.UserInputType~=Enum.UserInputType.Touch then return end
if q~=G then return end local H=Vector2.new(q.Position.x,q.Position.y)local I=(t
-H)*m if not u and(I.magnitude>n)then u=true t=H end if u and(t~=H)then v(a,I)s(
)t=H end end)a.InputEnded:connect(function(G)if q==G or q==nil then C()end for H
,I in pairs(A)do if I==G then table.remove(A,H)end end end)end function
setupTouchControls()local r=Instance.new'Frame'r.Name='TouchControlFrame'r.Size=
UDim2.new(1,0,1,0)r.BackgroundTransparency=1 r.Parent=Game.CoreGui.RobloxGui
local s=setupCharacterMovement(r)setupJumpButton(r)setupCameraControl(r,s)a.
ProcessedEvent:connect(function(t,u)if not u then return end if t==q and t.
UserInputState==Enum.UserInputState.Begin then q=nil end end)end do
setupTouchControls()end

215
processed/157877000.lua Normal file
View File

@ -0,0 +1,215 @@
local a,b=assert(LoadLibrary'RbxUtility').Create,nil if script.Parent:
FindFirstChild'ControlFrame'then b=script.Parent:FindFirstChild'ControlFrame'
else b=script.Parent end local c,d,e=a'Frame'{Name='DevConsoleContainer',Parent=
b,BackgroundColor3=Color3.new(0,0,0),BackgroundTransparency=0.9,Position=UDim2.
new(0,100,0,10),Size=UDim2.new(0.5,20,0.5,20),Visible=false},a'BindableFunction'
{Name='ToggleDevConsole',Parent=b},false function initializeDeveloperConsole()if
e then return end e=true local f,g,h,i=1,2,1000,Vector2.new(245,180)local j,k,l,
m,n,o,p,q,r,s,t,u,v=f,{},{},0,0,true,true,true,true,false,0,0,a'Frame'{Name=
'Body',Parent=c,BackgroundColor3=Color3.new(0,0,0),BackgroundTransparency=0.5,
Position=UDim2.new(0,0,0,21),Size=UDim2.new(1,0,1,-25)}local w=a'Frame'{Name=
'OptionsHolder',Parent=v,BackgroundColor3=Color3.new(0,0,0),
BackgroundTransparency=1,Position=UDim2.new(0,220,0,0),Size=UDim2.new(1,-255,0,
24),ClipsDescendants=true}local x=a'Frame'{Name='OptionsBar',Parent=w,
BackgroundColor3=Color3.new(0,0,0),BackgroundTransparency=1,Position=UDim2.new(0
,-250,0,4),Size=UDim2.new(0,234,0,18)}local y=a'TextButton'{Name=
'ErrorToggleButton',Parent=x,BackgroundColor3=Color3.new(0,0,0),BorderColor3=
Color3.new(1,0,0),Position=UDim2.new(0,115,0,0),Size=UDim2.new(0,18,0,18),Font=
'SourceSansBold',FontSize=Enum.FontSize.Size14,Text='',TextColor3=Color3.new(1,0
,0)}a'Frame'{Name='CheckFrame',Parent=y,BackgroundColor3=Color3.new(1,0,0),
BorderColor3=Color3.new(1,0,0),Position=UDim2.new(0,4,0,4),Size=UDim2.new(0,10,0
,10)}local z=a'TextButton'{Name='InfoToggleButton',Parent=x,BackgroundColor3=
Color3.new(0,0,0),BorderColor3=Color3.new(0.4,0.5,1),Position=UDim2.new(0,65,0,0
),Size=UDim2.new(0,18,0,18),Font='SourceSansBold',FontSize=Enum.FontSize.Size14,
Text='',TextColor3=Color3.new(0.4,0.5,1)}a'Frame'{Name='CheckFrame',Parent=z,
BackgroundColor3=Color3.new(0.4,0.5,1),BorderColor3=Color3.new(0.4,0.5,1),
Position=UDim2.new(0,4,0,4),Size=UDim2.new(0,10,0,10)}local A=a'TextButton'{Name
='OutputToggleButton',Parent=x,BackgroundColor3=Color3.new(0,0,0),BorderColor3=
Color3.new(1,1,1),Position=UDim2.new(0,40,0,0),Size=UDim2.new(0,18,0,18),Font=
'SourceSansBold',FontSize=Enum.FontSize.Size14,Text='',TextColor3=Color3.new(1,1
,1)}a'Frame'{Name='CheckFrame',Parent=A,BackgroundColor3=Color3.new(1,1,1),
BorderColor3=Color3.new(1,1,1),Position=UDim2.new(0,4,0,4),Size=UDim2.new(0,10,0
,10)}local B=a'TextButton'{Name='WarningToggleButton',Parent=x,BackgroundColor3=
Color3.new(0,0,0),BorderColor3=Color3.new(1,0.6,0.4),Position=UDim2.new(0,90,0,0
),Size=UDim2.new(0,18,0,18),Font='SourceSansBold',FontSize=Enum.FontSize.Size14,
Text='',TextColor3=Color3.new(1,0.6,0.4)}a'Frame'{Name='CheckFrame',Parent=B,
BackgroundColor3=Color3.new(1,0.6,0.4),BorderColor3=Color3.new(1,0.6,0.4),
Position=UDim2.new(0,4,0,4),Size=UDim2.new(0,10,0,10)}local C=a'TextButton'{Name
='WordWrapToggleButton',Parent=x,BackgroundColor3=Color3.new(0,0,0),BorderColor3
=Color3.new(0.8,0.8,0.8),Position=UDim2.new(0,215,0,0),Size=UDim2.new(0,18,0,18)
,Font='SourceSansBold',FontSize=Enum.FontSize.Size14,Text='',TextColor3=Color3.
new(0.8,0.8,0.8)}a'Frame'{Name='CheckFrame',Parent=C,BackgroundColor3=Color3.
new(0.8,0.8,0.8),BorderColor3=Color3.new(0.8,0.8,0.8),Position=UDim2.new(0,4,0,4
),Size=UDim2.new(0,10,0,10),Visible=false}a'TextLabel'{Name='Filter',Parent=x,
BackgroundTransparency=1,Position=UDim2.new(0,0,0,0),Size=UDim2.new(0,40,0,18),
Font='SourceSansBold',FontSize=Enum.FontSize.Size14,Text='Filter',TextColor3=
Color3.new(1,1,1)}a'TextLabel'{Name='WordWrap',Parent=x,BackgroundTransparency=1
,Position=UDim2.new(0,150,0,0),Size=UDim2.new(0,50,0,18),Font='SourceSansBold',
FontSize=Enum.FontSize.Size14,Text='Word Wrap',TextColor3=Color3.new(1,1,1)}
local D=a'Frame'{Name='ScrollBar',Parent=v,BackgroundColor3=Color3.new(0,0,0),
BackgroundTransparency=0.9,Position=UDim2.new(1,-20,0,26),Size=UDim2.new(0,20,1,
-50),Visible=false}local E=a'Frame'{Name='ScrollArea',Parent=D,
BackgroundTransparency=1,Position=UDim2.new(0,0,0,23),Size=UDim2.new(1,0,1,-46)}
local F=a'ImageButton'{Name='Handle',Parent=E,BackgroundColor3=Color3.new(0,0,0)
,BackgroundTransparency=0.5,Position=UDim2.new(0,0,0.2,0),Size=UDim2.new(0,20,0,
40)}a'ImageLabel'{Name='ImageLabel',Parent=F,BackgroundTransparency=1,Position=
UDim2.new(0,0,0.5,-8),Rotation=180,Size=UDim2.new(1,0,0,16),Image=
'http://www.roblox.com/Asset?id=151205881'}local G=a'ImageButton'{Name='Down',
Parent=D,BackgroundColor3=Color3.new(0,0,0),BackgroundTransparency=0.5,Position=
UDim2.new(0,0,1,-20),Size=UDim2.new(0,20,0,20)}a'ImageLabel'{Name='ImageLabel',
Parent=G,BackgroundTransparency=1,Position=UDim2.new(0,3,0,3),Size=UDim2.new(0,
14,0,14),Rotation=180,Image='http://www.roblox.com/Asset?id=151205813'}local H=a
'ImageButton'{Name='Up',Parent=D,BackgroundColor3=Color3.new(0,0,0),
BackgroundTransparency=0.5,Position=UDim2.new(0,0,0,0),Size=UDim2.new(0,20,0,20)
}a'ImageLabel'{Name='ImageLabel',Parent=H,BackgroundTransparency=1,Position=
UDim2.new(0,3,0,3),Size=UDim2.new(0,14,0,14),Image=
'http://www.roblox.com/Asset?id=151205813'}local I=a'Frame'{Name='TextBox',
Parent=v,BackgroundColor3=Color3.new(0,0,0),BackgroundTransparency=0.6,Position=
UDim2.new(0,2,0,26),Size=UDim2.new(1,-4,1,-28),ClipsDescendants=true}local J,K=a
'Frame'{Name='TextHolder',Parent=I,BackgroundTransparency=1,Position=UDim2.new(0
,0,0,0),Size=UDim2.new(1,0,1,0)},a'ImageButton'{Name='OptionsButton',Parent=v,
BackgroundColor3=Color3.new(0,0,0),BackgroundTransparency=1,Position=UDim2.new(0
,200,0,2),Size=UDim2.new(0,20,0,20)}a'ImageLabel'{Name='ImageLabel',Parent=K,
BackgroundTransparency=1,Position=UDim2.new(0,0,0,0),Size=UDim2.new(1,0,1,0),
Rotation=0,Image='http://www.roblox.com/Asset?id=152093917'}local L=a
'ImageButton'{Name='ResizeButton',Parent=v,BackgroundColor3=Color3.new(0,0,0),
BackgroundTransparency=0.5,Position=UDim2.new(1,-20,1,-20),Size=UDim2.new(0,20,0
,20)}a'ImageLabel'{Name='ImageLabel',Parent=L,BackgroundTransparency=1,Position=
UDim2.new(0,6,0,6),Size=UDim2.new(0.8,0,0.8,0),Rotation=135,Image=
'http://www.roblox.com/Asset?id=151205813'}a'TextButton'{Name='LocalConsole',
Parent=v,BackgroundColor3=Color3.new(0,0,0),BackgroundTransparency=0.6,Position=
UDim2.new(0,7,0,5),Size=UDim2.new(0,90,0,20),Font='SourceSansBold',FontSize=Enum
.FontSize.Size14,Text='Local Console',TextColor3=Color3.new(1,1,1),
TextYAlignment=Enum.TextYAlignment.Center}a'TextButton'{Name='ServerConsole',
Parent=v,BackgroundColor3=Color3.new(0,0,0),BackgroundTransparency=0.8,Position=
UDim2.new(0,102,0,5),Size=UDim2.new(0,90,0,17),Font='SourceSansBold',FontSize=
Enum.FontSize.Size14,Text='Server Console',TextColor3=Color3.new(1,1,1),
TextYAlignment=Enum.TextYAlignment.Center}local M=a'Frame'{Name='TitleBar',
Parent=c,BackgroundColor3=Color3.new(0,0,0),BackgroundTransparency=0.5,Position=
UDim2.new(0,0,0,0),Size=UDim2.new(1,0,0,20)}local N=a'ImageButton'{Name=
'CloseButton',Parent=M,BackgroundColor3=Color3.new(0,0,0),BackgroundTransparency
=0.5,Position=UDim2.new(1,-20,0,0),Size=UDim2.new(0,20,0,20)}a'ImageLabel'{
Parent=N,BackgroundColor3=Color3.new(0,0,0),BackgroundTransparency=1,Position=
UDim2.new(0,3,0,3),Size=UDim2.new(0,14,0,14),Image=
'http://www.roblox.com/Asset?id=151205852'}a'TextButton'{Name='TextButton',
Parent=M,BackgroundColor3=Color3.new(0,0,0),BackgroundTransparency=0.5,Position=
UDim2.new(0,0,0,0),Size=UDim2.new(1,-23,1,0),Text=''}a'TextLabel'{Name=
'TitleText',Parent=M,BackgroundTransparency=1,Position=UDim2.new(0,0,0,0),Size=
UDim2.new(0,185,0,20),Font='SourceSansBold',FontSize=Enum.FontSize.Size18,Text=
'Server Console',TextColor3=Color3.new(1,1,1),Text='Roblox Developer Console',
TextYAlignment=Enum.TextYAlignment.Top}local O,P,Q,R,S,T,U,V=nil,nil,nil,nil,nil
,nil,false,false function clean()O=nil P=nil Q=nil R=nil S=nil pScrollHandle=nil
T=nil U=false V=false end function refreshConsolePosition(W,X)if not O then
return end local Y=Vector2.new(W,X)-O c.Position=UDim2.new(0,P.X+Y.X,0,P.Y+Y.Y)
end M.TextButton.MouseButton1Down:connect(function(W,X)O=Vector2.new(W,X)P=c.
AbsolutePosition end)M.TextButton.MouseButton1Up:connect(function(W,X)clean()end
)function refreshConsoleSize(W,X)if not Q then return end local Y=Vector2.new(W,
X)-Q c.Size=UDim2.new(0,math.max(R.X+Y.X,i.X),0,math.max(R.Y+Y.Y,i.Y))end c.Body
.ResizeButton.MouseButton1Down:connect(function(W,X)Q=Vector2.new(W,X)R=c.
AbsoluteSize end)c.Body.ResizeButton.MouseButton1Up:connect(function(W,X)clean()
end)M.CloseButton.MouseButton1Down:connect(function(X,Y)c.Visible=false end)c.
TitleBar.CloseButton.MouseButton1Up:connect(function()clean()end)local Y,Z=true,
false function startAnimation()if Z then return end Z=true repeat if Y then u=u-
1 else u=u+1 end local _=u/5 local aa=_*_*(3-(2*_))K.ImageLabel.Rotation=aa*5*9
x.Position=UDim2.new(0,(aa*5*50)-250,0,4)wait()if(u<=0 and Y)or(u>=5 and not Y)
then Z=false end until not Z end K.MouseButton1Down:connect(function(aa,_)Y=not
Y startAnimation()end)function changeOffset(_)if j==f then m=m+_ elseif j==g
then n=n+_ end repositionList()end function refreshTextHolderForReal()local _,ab
=J:GetChildren(),nil if j==f then ab=k elseif j==g then ab=l end local ac=0 for
ad=1,#_ do _[ad].Visible=false end for ad=1,#ab do local ae,af=nil,false if ad>#
_ then ae=a'TextLabel'{Name='Message',Parent=J,BackgroundTransparency=1,
TextXAlignment='Left',Size=UDim2.new(1,0,0,14),FontSize='Size10',ZIndex=1}af=
true else ae=_[ad]end if(r or ab[ad].Type~=Enum.MessageType.MessageOutput)and(q
or ab[ad].Type~=Enum.MessageType.MessageInfo)and(p or ab[ad].Type~=Enum.
MessageType.MessageWarning)and(o or ab[ad].Type~=Enum.MessageType.MessageError)
then ae.TextWrapped=s ae.Size=UDim2.new(0.98,0,0,2000)ae.Parent=c ae.Text=ab[ad]
.Time..' -- '..ab[ad].Message ae.Size=UDim2.new(0.98,0,0,ae.TextBounds.Y)ae.
Position=UDim2.new(0,5,0,ac)ae.Parent=J ac=ac+ae.TextBounds.Y if af then if(j==f
and m>0)or(j==g and n>0)then changeOffset(ae.TextBounds.Y)end end ae.Visible=
true if ab[ad].Type==Enum.MessageType.MessageError then ae.TextColor3=Color3.
new(1,0,0)elseif ab[ad].Type==Enum.MessageType.MessageInfo then ae.TextColor3=
Color3.new(0.4,0.5,1)elseif ab[ad].Type==Enum.MessageType.MessageWarning then ae
.TextColor3=Color3.new(1,0.6,0.4)else ae.TextColor3=Color3.new(1,1,1)end end end
t=ac end local ab=false function refreshTextHolder()if ab then return end Delay(
0.1,function()ab=false refreshTextHolderForReal()end)ab=true end local ac=0
function holdingUpButton()if U then return end U=true wait(0.6)ac=ac+1 while U
and ac<2 do wait()changeOffset(12)end ac=ac-1 end function holdingDownButton()if
V then return end V=true wait(0.6)ac=ac+1 while V and ac<2 do wait()
changeOffset(-12)end ac=ac-1 end c.Body.ScrollBar.Up.MouseButton1Click:connect(
function()changeOffset(10)end)c.Body.ScrollBar.Up.MouseButton1Down:connect(
function()changeOffset(10)holdingUpButton()end)c.Body.ScrollBar.Up.
MouseButton1Up:connect(function()clean()end)c.Body.ScrollBar.Down.
MouseButton1Down:connect(function()changeOffset(-10)holdingDownButton()end)c.
Body.ScrollBar.Down.MouseButton1Up:connect(function()clean()end)function
handleScroll(ad,ae)if not S then return end local af,_,ag=(Vector2.new(ad,ae)-S)
.Y,1-(c.Body.TextBox.AbsoluteSize.Y/J.AbsoluteSize.Y),E.AbsoluteSize.Y-E.Handle.
AbsoluteSize.Y local ah=math.max(math.min(af,ag),0-ag)local ai,aj=ah/ag,(_*J.
AbsoluteSize.Y)local ak=aj*ai if j==f then m=T-ak elseif j==g then n=T-ak end
end E.Handle.MouseButton1Down:connect(function(ad,ae)S=Vector2.new(ad,ae)
pScrollHandle=E.Handle.AbsolutePosition if j==f then T=m elseif j==g then T=n
end end)E.Handle.MouseButton1Up:connect(function(ad,ae)clean()end)local function
existsInsideContainer(ae,af,ag)local ah,ai=ae.AbsolutePosition,ae.AbsoluteSize
if af<ah.X or af>ah.X+ai.X or ag<ah.y or ag>ah.y+ai.y then return false end
return true end function repositionList()if j==f then m=math.min(math.max(m,0),t
-c.Body.TextBox.AbsoluteSize.Y)J.Size=UDim2.new(1,0,0,t)elseif j==g then n=math.
min(math.max(n,0),t-c.Body.TextBox.AbsoluteSize.Y)J.Size=UDim2.new(1,0,0,t)end
local ae=c.Body.TextBox.AbsoluteSize.Y/J.AbsoluteSize.Y if ae>=1 then c.Body.
ScrollBar.Visible=false c.Body.TextBox.Size=UDim2.new(1,-4,1,-28)if j==f or j==g
then J.Position=UDim2.new(0,0,1,0-t)end else c.Body.ScrollBar.Visible=true c.
Body.TextBox.Size=UDim2.new(1,-25,1,-28)local af,ag=1-ae,nil if j==f then ag=m/J
.AbsoluteSize.Y elseif j==g then ag=n/J.AbsoluteSize.Y end local ah,ai=math.max(
0,af-ag),math.max(E.AbsoluteSize.Y*ae,21)local aj=ai/E.AbsoluteSize.Y local ak=(
1-aj)/(1-ae)local _=ah*ak local al=math.min(E.AbsoluteSize.Y*_,E.AbsoluteSize.Y-
ai)E.Handle.Size=UDim2.new(1,0,0,ai)E.Handle.Position=UDim2.new(0,0,0,al)if j==f
then J.Position=UDim2.new(0,0,1,0-t+m)elseif j==g then J.Position=UDim2.new(0,0,
1,0-t+n)end end end local function numberWithZero(ae)return(ae<10 and'0'or'')..
ae end local ae='%s:%s:%s'function ConvertTimeStamp(af)local ag=af-os.time()+
math.floor(tick())local ah=ag%86400 local ai=math.floor(ah/3600)ah=ah-(ai*3600)
local aj=math.floor(ah/60)ah=ah-(aj*60)local ak,al,_,am=ah,numberWithZero(ai),
numberWithZero(aj),numberWithZero(ah)return ae:format(al,_,am)end x.
ErrorToggleButton.MouseButton1Down:connect(function(af,ag)o=not o x.
ErrorToggleButton.CheckFrame.Visible=o refreshTextHolder()repositionList()end)x.
WarningToggleButton.MouseButton1Down:connect(function(af,ag)p=not p x.
WarningToggleButton.CheckFrame.Visible=p refreshTextHolder()repositionList()end)
x.InfoToggleButton.MouseButton1Down:connect(function(af,ag)q=not q x.
InfoToggleButton.CheckFrame.Visible=q refreshTextHolder()repositionList()end)x.
OutputToggleButton.MouseButton1Down:connect(function(af,ag)r=not r x.
OutputToggleButton.CheckFrame.Visible=r refreshTextHolder()repositionList()end)x
.WordWrapToggleButton.MouseButton1Down:connect(function(af,ag)s=not s x.
WordWrapToggleButton.CheckFrame.Visible=s refreshTextHolder()repositionList()end
)function AddLocalMessage(af,ag,ah)k[#k+1]={Message=af,Time=ConvertTimeStamp(ah)
,Type=ag}while#k>h do table.remove(k,1)end refreshTextHolder()repositionList()
end function AddServerMessage(af,ag,ah)l[#l+1]={Message=af,Time=
ConvertTimeStamp(ah),Type=ag}while#l>h do table.remove(l,1)end
refreshTextHolder()repositionList()end c.Body.LocalConsole.MouseButton1Click:
connect(function(af,ag)if j==g then j=f local ah,ai=c.Body.LocalConsole,c.Body.
ServerConsole ah.Size=UDim2.new(0,90,0,20)ai.Size=UDim2.new(0,90,0,17)ah.
BackgroundTransparency=0.6 ai.BackgroundTransparency=0.8 if game:FindFirstChild
'Players'and game.Players['LocalPlayer']then local aj=game.Players.LocalPlayer:
GetMouse()local ak=Vector2.new(aj.X,aj.Y)refreshConsolePosition(aj.X,aj.Y)
refreshConsoleSize(aj.X,aj.Y)handleScroll(aj.X,aj.Y)end refreshTextHolder()
repositionList()end end)c.Body.LocalConsole.MouseButton1Up:connect(function()
clean()end)local af=false c.Body.ServerConsole.MouseButton1Click:connect(
function(ag,ah)if not af then af=true game:GetService'LogService':
RequestServerOutput()end if j==f then j=g local ai,aj=c.Body.LocalConsole,c.Body
.ServerConsole aj.Size=UDim2.new(0,90,0,20)ai.Size=UDim2.new(0,90,0,17)aj.
BackgroundTransparency=0.6 ai.BackgroundTransparency=0.8 if game:FindFirstChild
'Players'and game.Players['LocalPlayer']then local ak=game.Players.LocalPlayer:
GetMouse()refreshConsolePosition(ak.X,ak.Y)refreshConsoleSize(ak.X,ak.Y)
handleScroll(ak.X,ak.Y)end refreshTextHolder()repositionList()end end)c.Body.
ServerConsole.MouseButton1Up:connect(function()clean()end)if game:FindFirstChild
'Players'and game.Players['LocalPlayer']then local ag=game.Players.LocalPlayer:
GetMouse()ag.Move:connect(function()if not c.Visible then return end local ah=
game.Players.LocalPlayer:GetMouse()refreshConsolePosition(ah.X,ah.Y)
refreshConsoleSize(ah.X,ah.Y)handleScroll(ah.X,ah.Y)refreshTextHolder()
repositionList()end)ag.Button1Up:connect(function()clean()end)ag.WheelForward:
connect(function()if not c.Visible then return end if existsInsideContainer(c,ag
.X,ag.Y)then changeOffset(10)end end)ag.WheelBackward:connect(function()if not c
.Visible then return end if existsInsideContainer(c,ag.X,ag.Y)then changeOffset(
-10)end end)end E.Handle.MouseButton1Down:connect(function()repositionList()end)
local ag=game:GetService'LogService':GetLogHistory()for ah=1,#ag do
AddLocalMessage(ag[ah].message,ag[ah].messageType,ag[ah].timestamp)end game:
GetService'LogService'.MessageOut:connect(function(ah,ai)AddLocalMessage(ah,ai,
os.time())end)game:GetService'LogService'.ServerMessageOut:connect(
AddServerMessage)end local ab=false function d.OnInvoke()if ab then return end
ab=true initializeDeveloperConsole()c.Visible=not c.Visible ab=false end

25
processed/36868950.lua Normal file
View File

@ -0,0 +1,25 @@
local a=script.Parent:FindFirstChild'ControlFrame'if not a then return end local
b,c,d=a:FindFirstChild'BottomLeftControl',a:FindFirstChild'BottomRightControl',
Instance.new'TextLabel'd.Name='ToolTip'd.Text=''d.Font=Enum.Font.ArialBold d.
FontSize=Enum.FontSize.Size12 d.TextColor3=Color3.new(1,1,1)d.BorderSizePixel=0
d.ZIndex=10 d.Size=UDim2.new(2,0,1,0)d.Position=UDim2.new(1,0,0,0)d.
BackgroundColor3=Color3.new(0,0,0)d.BackgroundTransparency=1 d.TextTransparency=
1 d.TextWrap=true local e=Instance.new'BoolValue'e.Name='inside'e.Value=false e.
Parent=d function setUpListeners(f)local g=0.1 f.Parent.MouseEnter:connect(
function()if f:FindFirstChild'inside'then f.inside.Value=true wait(1.2)if f.
inside.Value then while f.inside.Value and f.BackgroundTransparency>0 do f.
BackgroundTransparency=f.BackgroundTransparency-g f.TextTransparency=f.
TextTransparency-g wait()end end end end)function killTip(h)h.inside.Value=false
h.BackgroundTransparency=1 h.TextTransparency=1 end f.Parent.MouseLeave:connect(
function()killTip(f)end)f.Parent.MouseButton1Click:connect(function()killTip(f)
end)end function createSettingsButtonTip(f)if f==nil then f=b:FindFirstChild
'SettingsButton'end local g=d:clone()g.RobloxLocked=true g.Text=
'Settings/Leave Game'g.Position=UDim2.new(0,0,0,-18)g.Size=UDim2.new(0,120,0,20)
g.Parent=f setUpListeners(g)end wait(5)local f=b:GetChildren()for g=1,#f do if f
[g].Name=='Exit'then local h=d:clone()h.RobloxLocked=true h.Text='Leave Place'h.
Position=UDim2.new(0,0,-1,0)h.Size=UDim2.new(1,0,1,0)h.Parent=f[g]
setUpListeners(h)elseif f[g].Name=='SettingsButton'then createSettingsButtonTip(
f[g])end end local g=c:GetChildren()for h=1,#g do if g[h].Name:find'Camera'~=nil
then local i=d:clone()i.RobloxLocked=true i.Text='Camera View'if g[h].Name:find
'Zoom'then i.Position=UDim2.new(-1,0,-1.5)else i.Position=UDim2.new(0,0,-1.5,0)
end i.Size=UDim2.new(2,0,1.25,0)i.Parent=g[h]setUpListeners(i)end end

35
processed/37801172.lua Normal file
View File

@ -0,0 +1,35 @@
local a,b=game:GetService'ScriptContext',false pcall(function()b=game:GetService
'UserInputService'.TouchEnabled end)a:AddCoreScript(60595695,a,
'/Libraries/LibraryRegistration/LibraryRegistration')local function waitForChild
(c,d)while not c:FindFirstChild(d)do c.ChildAdded:wait()end end local c=game:
GetService'ScriptContext'c:AddCoreScript(59002209,c,'CoreScripts/Sections')
waitForChild(game:GetService'CoreGui','RobloxGui')local d=game:GetService
'CoreGui':FindFirstChild'RobloxGui'if not b then c:AddCoreScript(36868950,d,
'CoreScripts/ToolTip')c:AddCoreScript(46295863,d,'CoreScripts/Settings')else c:
AddCoreScript(153556783,d,'CoreScripts/TouchControls')end c:AddCoreScript(
39250920,d,'CoreScripts/MainBotChatScript')c:AddCoreScript(48488451,d,
'CoreScripts/PopupScript')c:AddCoreScript(48488398,d,
'CoreScripts/NotificationScript')c:AddCoreScript(97188756,d,
'CoreScripts/ChatScript')c:AddCoreScript(107893730,d,
'CoreScripts/PurchasePromptScript')if not b or d.AbsoluteSize.Y>600 then c:
AddCoreScript(48488235,d,'CoreScripts/PlayerListScript')else delay(5,function()
if d.AbsoluteSize.Y>=600 then c:AddCoreScript(48488235,d,
'CoreScripts/PlayerListScript')end end)end if game.CoreGui.Version>=3 and game.
PlaceId~=130815926 then c:AddCoreScript(53878047,d,
'CoreScripts/BackpackScripts/BackpackBuilder')waitForChild(d,'CurrentLoadout')
waitForChild(d,'Backpack')local e=d.Backpack if game.CoreGui.Version>=7 then c:
AddCoreScript(89449093,e,'CoreScripts/BackpackScripts/BackpackManager')end game:
GetService'ScriptContext':AddCoreScript(89449008,e,
'CoreScripts/BackpackScripts/BackpackGear')c:AddCoreScript(53878057,d.
CurrentLoadout,'CoreScripts/BackpackScripts/LoadoutScript')if game.CoreGui.
Version>=8 then c:AddCoreScript(-1,e,
'CoreScripts/BackpackScripts/BackpackWardrobe')end end local e=not not game.
Workspace:FindFirstChild'PSVariable'if e then game:GetService'ScriptContext':
AddCoreScript(64164692,game.Players.LocalPlayer,'BuildToolManager')end game.
Workspace.ChildAdded:connect(function(f)if f.Name=='PSVariable'and f:IsA
'BoolValue'then e=true game:GetService'ScriptContext':AddCoreScript(64164692,
game.Players.LocalPlayer,'BuildToolManager')end end)if b then c:AddCoreScript(
152908679,d,'CoreScripts/ContextActionTouch')waitForChild(d,'ControlFrame')
waitForChild(d.ControlFrame,'BottomLeftControl')d.ControlFrame.BottomLeftControl
.Visible=false waitForChild(d.ControlFrame,'TopLeftControl')d.ControlFrame.
TopLeftControl.Visible=false end

392
processed/38037265.lua Normal file
View File

@ -0,0 +1,392 @@
<roblox xmlns:xmime="http://www.w3.org/2005/05/xmlmime" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.roblox.com/roblox.xsd" version="4">
<External>null</External>
<External>nil</External>
<Item class="Script" referent="RBX0">
<Properties>
<bool name="Disabled">false</bool>
<Content name="LinkedSource"><null></null></Content>
<string name="Name">Health</string>
<ProtectedString name="Source">function waitForChild(parent, childName)
local child = parent:findFirstChild(childName)
if child then return child end
while true do
child = parent.ChildAdded:wait()
if child.Name==childName then return child end
end
end
-- declarations
local Figure = script.Parent
local Head = waitForChild(Figure, &quot;Head&quot;)
local Humanoid = waitForChild(Figure, &quot;Humanoid&quot;)
local regening = false
-- regeneration
function regenHealth()
if regening then return end
regening = true
while Humanoid.Health &lt; Humanoid.MaxHealth do
local s = wait(1)
local health = Humanoid.Health
if health &gt; 0 and health &lt; Humanoid.MaxHealth then
local newHealthDelta = 0.01 * s * Humanoid.MaxHealth
health = health + newHealthDelta
Humanoid.Health = math.min(health,Humanoid.MaxHealth)
end
end
if Humanoid.Health &gt; Humanoid.MaxHealth then
Humanoid.Health = Humanoid.MaxHealth
end
regening = false
end
Humanoid.HealthChanged:connect(regenHealth)
</ProtectedString>
<bool name="archivable">true</bool>
</Properties>
</Item>
<Item class="Script" referent="RBX1">
<Properties>
<bool name="Disabled">false</bool>
<Content name="LinkedSource"><null></null></Content>
<string name="Name">HealthScript v3.1</string>
<ProtectedString name="Source">local HealthGUI_prototype = script:FindFirstChild(&quot;HealthGUI&quot;)
local lastHealth = 100
local lastHealth2 = 100
local maxWidth = 0.96
local humanoid = script.Parent.Humanoid
if (humanoid == nil) then
print(&quot;ERROR: no humanoid found in &apos;HealthScript v3.1&apos;&quot;)
end
function CreateGUI()
local p = game.Players:GetPlayerFromCharacter(humanoid.Parent)
HealthGUI_prototype.Parent = p.PlayerGui
end
function UpdateGUI(health)
tray = HealthGUI_prototype.tray
local width = (health / humanoid.MaxHealth) * maxWidth
local height = 0.83
local lastX = tray.bar.Position.X.Scale
local x = 0.019 + (maxWidth - width)
local y = 0.1
tray.bar.Position = UDim2.new(x,0,y, 0)
tray.bar.Size = UDim2.new(width, 0, height, 0)
-- If more than 1/4 health, bar = green. Else, bar = red.
if( (health / humanoid.MaxHealth) &gt; 0.25 ) then
tray.barRed.Size = UDim2.new(0, 0, 0, 0)
else
tray.barRed.Position = tray.bar.Position
tray.barRed.Size = tray.bar.Size
tray.bar.Size = UDim2.new(0, 0, 0, 0)
end
if ( (lastHealth - health) &gt; (humanoid.MaxHealth / 10) ) then
lastHealth = health
if humanoid.Health ~= humanoid.MaxHealth then
delay(0,function()
AnimateHurtOverlay()
end)
delay(0,function()
AnimateBars(x, y, lastX, height)
end)
end
else
lastHealth = health
end
end
function HealthChanged(health)
UpdateGUI(health)
if ( (lastHealth2 - health) &gt; (humanoid.MaxHealth / 10) ) then
lastHealth2 = health
else
lastHealth2 = health
end
end
function AnimateBars(x, y, lastX, height)
tray = HealthGUI_prototype.tray
local width = math.abs(x - lastX)
if( x &gt; lastX ) then
x = lastX
end
tray.bar2.Position = UDim2.new(x,0, y, 0)
tray.bar2.Size = UDim2.new(width, 0, height, 0)
tray.bar2.BackgroundTransparency = 0
local GBchannels = 1
local j = 0.2
local i_total = 30
for i=1,i_total do
-- Increment Values
if (GBchannels &lt; 0.2) then
j = -j
end
GBchannels = GBchannels + j
if (i &gt; (i_total - 10)) then
tray.bar2.BackgroundTransparency = tray.bar2.BackgroundTransparency + 0.1
end
tray.bar2.BackgroundColor3 = Color3.new(1, GBchannels, GBchannels)
wait(0.02)
end
end
function AnimateHurtOverlay()
-- Start:
-- overlay.Position = UDim2.new(0, 0, 0, -22)
-- overlay.Size = UDim2.new(1, 0, 1.15, 30)
-- Finish:
-- overlay.Position = UDim2.new(-2, 0, -2, -22)
-- overlay.Size = UDim2.new(4.5, 0, 4.65, 30)
overlay = HealthGUI_prototype.hurtOverlay
overlay.Position = UDim2.new(-2, 0, -2, -22)
overlay.Size = UDim2.new(4.5, 0, 4.65, 30)
-- Animate In, fast
local i_total = 2
local wiggle_total = 0
local wiggle_i = 0.02
for i=1,i_total do
overlay.Position = UDim2.new( (-2 + (2 * (i/i_total)) + wiggle_total/2), 0, (-2 + (2 * (i/i_total)) + wiggle_total/2), -22 )
overlay.Size = UDim2.new( (4.5 - (3.5 * (i/i_total)) + wiggle_total), 0, (4.65 - (3.5 * (i/i_total)) + wiggle_total), 30 )
wait(0.01)
end
i_total = 30
wait(0.03)
-- Animate Out, slow
for i=1,i_total do
if( math.abs(wiggle_total) &gt; (wiggle_i * 3) ) then
wiggle_i = -wiggle_i
end
wiggle_total = wiggle_total + wiggle_i
overlay.Position = UDim2.new( (0 - (2 * (i/i_total)) + wiggle_total/2), 0, (0 - (2 * (i/i_total)) + wiggle_total/2), -22 )
overlay.Size = UDim2.new( (1 + (3.5 * (i/i_total)) + wiggle_total), 0, (1.15 + (3.5 * (i/i_total)) + wiggle_total), 30 )
wait(0.01)
end
-- Hide after we&apos;re done
overlay.Position = UDim2.new(10, 0, 0, 0)
end
CreateGUI()
humanoid.HealthChanged:connect(HealthChanged)
humanoid.Died:connect(function() HealthChanged(0) end)</ProtectedString>
<bool name="archivable">true</bool>
</Properties>
<Item class="GuiMain" referent="RBX2">
<Properties>
<string name="Name">HealthGUI</string>
<bool name="archivable">true</bool>
</Properties>
<Item class="ImageLabel" referent="RBX3">
<Properties>
<bool name="Active">false</bool>
<Color3 name="BackgroundColor3">4290164919</Color3>
<float name="BackgroundTransparency">1</float>
<Color3 name="BorderColor3">4279970357</Color3>
<int name="BorderSizePixel">1</int>
<bool name="Draggable">false</bool>
<Content name="Image"><url>http://www.roblox.com/asset/?id=34854607</url></Content>
<string name="Name">hurtOverlay</string>
<UDim2 name="Position">
<XS>2</XS>
<XO>0</XO>
<YS>0</YS>
<YO>-22</YO>
</UDim2>
<UDim2 name="Size">
<XS>1</XS>
<XO>0</XO>
<YS>1.1500001</YS>
<YO>30</YO>
</UDim2>
<token name="SizeConstraint">0</token>
<bool name="Visible">true</bool>
<int name="ZIndex">1</int>
<bool name="archivable">true</bool>
</Properties>
</Item>
<Item class="Frame" referent="RBX4">
<Properties>
<bool name="Active">false</bool>
<Color3 name="BackgroundColor3">4285215356</Color3>
<float name="BackgroundTransparency">1</float>
<Color3 name="BorderColor3">4279970357</Color3>
<int name="BorderSizePixel">1</int>
<bool name="Draggable">false</bool>
<string name="Name">tray</string>
<UDim2 name="Position">
<XS>0.5</XS>
<XO>-44</XO>
<YS>1</YS>
<YO>-26</YO>
</UDim2>
<UDim2 name="Size">
<XS>0</XS>
<XO>170</XO>
<YS>0</YS>
<YO>18</YO>
</UDim2>
<token name="SizeConstraint">2</token>
<token name="Style">0</token>
<bool name="Visible">true</bool>
<int name="ZIndex">1</int>
<bool name="archivable">true</bool>
</Properties>
<Item class="ImageLabel" referent="RBX5">
<Properties>
<bool name="Active">false</bool>
<Color3 name="BackgroundColor3">4294967295</Color3>
<float name="BackgroundTransparency">1</float>
<Color3 name="BorderColor3">4279970357</Color3>
<int name="BorderSizePixel">1</int>
<bool name="Draggable">false</bool>
<Content name="Image"><url>http://www.roblox.com/asset/?id=35238000</url></Content>
<string name="Name">bkg</string>
<UDim2 name="Position">
<XS>0</XS>
<XO>0</XO>
<YS>0</YS>
<YO>0</YO>
</UDim2>
<UDim2 name="Size">
<XS>1</XS>
<XO>0</XO>
<YS>1</YS>
<YO>0</YO>
</UDim2>
<token name="SizeConstraint">0</token>
<bool name="Visible">true</bool>
<int name="ZIndex">1</int>
<bool name="archivable">true</bool>
</Properties>
</Item>
<Item class="ImageLabel" referent="RBX6">
<Properties>
<bool name="Active">false</bool>
<Color3 name="BackgroundColor3">4294967295</Color3>
<float name="BackgroundTransparency">1</float>
<Color3 name="BorderColor3">4279970357</Color3>
<int name="BorderSizePixel">1</int>
<bool name="Draggable">false</bool>
<Content name="Image"><url>http://www.roblox.com/asset/?id=35238036</url></Content>
<string name="Name">barRed</string>
<UDim2 name="Position">
<XS>0.0189999994</XS>
<XO>0</XO>
<YS>0.100000001</YS>
<YO>0</YO>
</UDim2>
<UDim2 name="Size">
<XS>0</XS>
<XO>0</XO>
<YS>0</YS>
<YO>0</YO>
</UDim2>
<token name="SizeConstraint">0</token>
<bool name="Visible">true</bool>
<int name="ZIndex">1</int>
<bool name="archivable">true</bool>
</Properties>
</Item>
<Item class="Frame" referent="RBX7">
<Properties>
<bool name="Active">false</bool>
<Color3 name="BackgroundColor3">4294967295</Color3>
<float name="BackgroundTransparency">1.00000012</float>
<Color3 name="BorderColor3">4279970357</Color3>
<int name="BorderSizePixel">0</int>
<bool name="Draggable">false</bool>
<string name="Name">bar2</string>
<UDim2 name="Position">
<XS>0.0189999994</XS>
<XO>0</XO>
<YS>0.100000001</YS>
<YO>0</YO>
</UDim2>
<UDim2 name="Size">
<XS>0.192000002</XS>
<XO>0</XO>
<YS>0.829999983</YS>
<YO>0</YO>
</UDim2>
<token name="SizeConstraint">0</token>
<token name="Style">0</token>
<bool name="Visible">true</bool>
<int name="ZIndex">1</int>
<bool name="archivable">true</bool>
</Properties>
</Item>
<Item class="ImageLabel" referent="RBX8">
<Properties>
<bool name="Active">false</bool>
<Color3 name="BackgroundColor3">4294967295</Color3>
<float name="BackgroundTransparency">1</float>
<Color3 name="BorderColor3">4279970357</Color3>
<int name="BorderSizePixel">1</int>
<bool name="Draggable">false</bool>
<Content name="Image"><url>http://www.roblox.com/asset/?id=35238053</url></Content>
<string name="Name">bar</string>
<UDim2 name="Position">
<XS>0.0189999994</XS>
<XO>0</XO>
<YS>0.100000001</YS>
<YO>0</YO>
</UDim2>
<UDim2 name="Size">
<XS>0.959999979</XS>
<XO>0</XO>
<YS>0.829999983</YS>
<YO>0</YO>
</UDim2>
<token name="SizeConstraint">0</token>
<bool name="Visible">true</bool>
<int name="ZIndex">1</int>
<bool name="archivable">true</bool>
</Properties>
</Item>
<Item class="ImageLabel" referent="RBX9">
<Properties>
<bool name="Active">false</bool>
<Color3 name="BackgroundColor3">4294967295</Color3>
<float name="BackgroundTransparency">1</float>
<Color3 name="BorderColor3">4279970357</Color3>
<int name="BorderSizePixel">0</int>
<bool name="Draggable">false</bool>
<Content name="Image"><url>http://www.roblox.com/asset/?id=34816363</url></Content>
<string name="Name">label</string>
<UDim2 name="Position">
<XS>0.680000007</XS>
<XO>0</XO>
<YS>0.300000012</YS>
<YO>0</YO>
</UDim2>
<UDim2 name="Size">
<XS>0.25</XS>
<XO>0</XO>
<YS>0.349999994</YS>
<YO>0</YO>
</UDim2>
<token name="SizeConstraint">0</token>
<bool name="Visible">true</bool>
<int name="ZIndex">1</int>
<bool name="archivable">true</bool>
</Properties>
</Item>
</Item>
</Item>
</Item>
</roblox>

52
processed/38037565.lua Normal file
View File

@ -0,0 +1,52 @@
local a,b=5,5 function waitForChild(c,d)local e=c:findFirstChild(d)if e then
return e end while true do e=c.ChildAdded:wait()if e.Name==d then return e end
end end local c=script.Parent local d,e,f,g=waitForChild(c,'Humanoid'),
waitForChild(c,'Torso'),c:FindFirstChild'PlayerStats',Instance.new'BoolValue'g.
Name='InCharTag'local h=Instance.new'BoolValue'h.Name='RobloxBuildTool'local i,j
if f==nil then f=Instance.new'Configuration'f.Parent=c f.Name='PlayerStats'end
local k=f:FindFirstChild'MaxHealth'if k==nil then k=Instance.new'NumberValue'k.
Parent=f k.Value=100 k.Name='MaxHealth'end d.MaxHealth=k.Value d.Health=k.Value
function onMaxHealthChange()d.MaxHealth=k.Value d.Health=k.Value end k.Changed:
connect(onMaxHealthChange)local l=game.Players:GetPlayerFromCharacter(script.
Parent)local m=l.PlayerGui:FindFirstChild'DamageOverTimeGui'if m==nil then m=
Instance.new'BillboardGui'm.Name='DamageOverTimeGui'm.Parent=l.PlayerGui m.
Adornee=script.Parent:FindFirstChild'Head'm.Active=true m.size=UDim2.new(a,0,b,0
)m.StudsOffset=Vector3.new(0,2,0)end print'newHealth declarations finished'
function billboardHealthChange(n)local o=Instance.new'TextLabel'if n>0 then o.
Text=tostring(n)o.TextColor3=Color3.new(0,1,0)else o.Text=tostring(n)o.
TextColor3=Color3.new(1,0,1)end o.size=UDim2.new(1,0,1,0)o.Active=true o.
FontSize=6 o.BackgroundTransparency=1 o.Parent=m for p=1,10 do wait(0.1)o.
TextTransparency=p/10 o.Position=UDim2.new(0,0,0,-p*5)o.FontSize=6-p*0.6 end o:
remove()end function setMaxHealth()if k.Value>=0 then d.MaxHealth=k.Value print(
d.MaxHealth)if d.Health>d.MaxHealth then d.Health=d.MaxHealth end end end k.
Changed:connect(setMaxHealth)fireEffect=Instance.new'Fire'fireEffect.Heat=0.1
fireEffect.Size=3 fireEffect.Name='FireEffect'fireEffect.Enabled=false while
true do local n,o=wait(1),d.Health if o>0 then local p=0 if f then regen=f:
FindFirstChild'Regen'poison=f:FindFirstChild'Poison'ice=f:FindFirstChild'Ice'
fire=f:FindFirstChild'Fire'stun=f:FindFirstChild'Stun'if regen then p=p+regen.
Value.X if regen.Value.Y>=0 then regen.Value=Vector3.new(regen.Value.X+regen.
Value.Z,regen.Value.Y-n,regen.Value.Z)elseif regen.Value.Y==-1 then regen.Value=
Vector3.new(regen.Value.X+regen.Value.Z,-1,regen.Value.Z)else regen:remove()end
end if poison then p=p-poison.Value.X if poison.Value.Y>=0 then poison.Value=
Vector3.new(poison.Value.X+poison.Value.Z,poison.Value.Y-n,poison.Value.Z)elseif
poison.Value.Y==-1 then poison.Value=Vector3.new(poison.Value.X+poison.Value.Z,-
1,poison.Value.Z)else poison:remove()end end if ice then p=p-ice.Value.X if ice.
Value.Y>=0 then ice.Value=Vector3.new(ice.Value.X,ice.Value.Y-n,ice.Value.Z)else
ice:remove()end end if fire then fireEffect.Enabled=true fireEffect.Parent=c.
Torso p=p-fire.Value.X if fire.Value.Y>=0 then fire.Value=Vector3.new(fire.Value
.X,fire.Value.Y-n,fire.Value.Z)else fire:remove()fireEffect.Enabled=false
fireEffect.Parent=nil end end if stun then if stun.Value>0 then e.Anchored=true
i=script.Parent:GetChildren()j=game.Players:GetPlayerFromCharacter(script.Parent
).Backpack:GetChildren()for q=1,#i do if i[q].className=='Tool'then g:Clone().
Parent=i[q]print(j)table.insert(j,i[q])end end for q=1,#j do if j[q]:
FindFirstChild'RobloxBuildTool'==nil then h:Clone().Parent=j[q]j[q].Parent=game.
Lighting end end wait(0.2)for q=1,#j do j[q].Parent=game.Players:
GetPlayerFromCharacter(script.Parent).Backpack end stun.Value=stun.Value-n else
e.Anchored=false for q=1,#j do rbTool=j[q]:FindFirstChild'RobloxBuildTool'if
rbTool then rbTool:Remove()end j[q].Parent=game.Lighting end wait(0.2)for q=1,#j
do wasInCharacter=j[q]:FindFirstChild'InCharTag'if wasInChar then wasInChar:
Remove()j[q].Parent=script.Parent else j[q].Parent=game.Players:
GetPlayerFromCharacter(script.Parent).Backpack end end stun:Remove()end end if p
~=0 then newCo=coroutine.create(billboardHealthChange)coroutine.resume(newCo,p)
end end o=d.Health+p*n if o*1.01<d.MaxHealth then d.Health=o elseif p>0 then d.
Health=d.MaxHealth end end end

144
processed/39250920.lua Normal file
View File

@ -0,0 +1,144 @@
function waitForProperty(a,b)while not a[b]do a.Changed:wait()end end function
waitForChild(a,b)while not a:FindFirstChild(b)do a.ChildAdded:wait()end end
local a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u=nil,{},nil,{},nil,nil,nil,
'You are too far away to chat!',300,'Chat ended because you walked away',350,
"Chat ended because you didn't reply",350,nil,nil,nil,nil,nil,{},{},nil
waitForChild(game,'CoreGui')waitForChild(game.CoreGui,'RobloxGui')if game.
CoreGui.RobloxGui:FindFirstChild'ControlFrame'then u=game.CoreGui.RobloxGui.
ControlFrame else u=game.CoreGui.RobloxGui end function currentTone()if e then
return e.Tone else return Enum.DialogTone.Neutral end end function
createChatNotificationGui()o=Instance.new'BillboardGui'o.Name=
'ChatNotificationGui'o.ExtentsOffset=Vector3.new(0,1,0)o.Size=UDim2.new(4,0,
5.42857122,0)o.SizeOffset=Vector2.new(0,0)o.StudsOffset=Vector3.new(0.4,4.3,0)o.
Enabled=true o.RobloxLocked=true o.Active=true local v=Instance.new'ImageLabel'v
.Name='Image'v.Active=false v.BackgroundTransparency=1 v.Position=UDim2.new(0,0,
0,0)v.Size=UDim2.new(1,0,1,0)v.Image=''v.RobloxLocked=true v.Parent=o local w=
Instance.new'ImageButton'w.Name='Button'w.AutoButtonColor=false w.Position=UDim2
.new(0.0879999995,0,0.0529999994,0)w.Size=UDim2.new(0.829999983,0,0.460000008,0)
w.Image=''w.BackgroundTransparency=1 w.RobloxLocked=true w.Parent=v end function
getChatColor(v)if v==Enum.DialogTone.Neutral then return Enum.ChatColor.Blue
elseif v==Enum.DialogTone.Friendly then return Enum.ChatColor.Green elseif v==
Enum.DialogTone.Enemy then return Enum.ChatColor.Red end end function
styleChoices(v)for w,x in pairs(b)do resetColor(x,v)end resetColor(c,v)end
function styleMainFrame(v)if v==Enum.DialogTone.Neutral then a.Style=Enum.
FrameStyle.ChatBlue a.Tail.Image=
'rbxasset://textures/chatBubble_botBlue_tailRight.png'elseif v==Enum.DialogTone.
Friendly then a.Style=Enum.FrameStyle.ChatGreen a.Tail.Image=
'rbxasset://textures/chatBubble_botGreen_tailRight.png'elseif v==Enum.DialogTone
.Enemy then a.Style=Enum.FrameStyle.ChatRed a.Tail.Image=
'rbxasset://textures/chatBubble_botRed_tailRight.png'end styleChoices(v)end
function setChatNotificationTone(v,w,x)if x==Enum.DialogTone.Neutral then v.
Image.Image='rbxasset://textures/chatBubble_botBlue_notify_bkg.png'elseif x==
Enum.DialogTone.Friendly then v.Image.Image=
'rbxasset://textures/chatBubble_botGreen_notify_bkg.png'elseif x==Enum.
DialogTone.Enemy then v.Image.Image=
'rbxasset://textures/chatBubble_botRed_notify_bkg.png'end if w==Enum.
DialogPurpose.Quest then v.Image.Button.Image=
'rbxasset://textures/chatBubble_bot_notify_bang.png'elseif w==Enum.DialogPurpose
.Help then v.Image.Button.Image=
'rbxasset://textures/chatBubble_bot_notify_question.png'elseif w==Enum.
DialogPurpose.Shop then v.Image.Button.Image=
'rbxasset://textures/chatBubble_bot_notify_money.png'end end function
createMessageDialog()p=Instance.new'Frame'p.Name='DialogScriptMessage'p.Style=
Enum.FrameStyle.RobloxRound p.Visible=false local v=Instance.new'TextLabel'v.
Name='Text'v.Position=UDim2.new(0,0,0,-1)v.Size=UDim2.new(1,0,1,0)v.FontSize=
Enum.FontSize.Size14 v.BackgroundTransparency=1 v.TextColor3=Color3.new(1,1,1)v.
RobloxLocked=true v.Parent=p end function showMessage(v,w)p.Text.Text=v p.Size=
UDim2.new(0,w,0,40)p.Position=UDim2.new(0.5,-w/2,0.5,-40)p.Visible=true wait(2)p
.Visible=false end function variableDelay(v)local w=math.min(string.len(v),100)
wait(0.75+((w/75)*1.5))end function resetColor(v,w)if w==Enum.DialogTone.Neutral
then v.BackgroundColor3=Color3.new(0,0,0.7019607843137254)v.Number.TextColor3=
Color3.new(0.17647058823529413,0.5568627450980392,0.9607843137254902)elseif w==
Enum.DialogTone.Friendly then v.BackgroundColor3=Color3.new(0,
0.30196078431372547,0)v.Number.TextColor3=Color3.new(0,0.7450980392156863,0)
elseif w==Enum.DialogTone.Enemy then v.BackgroundColor3=Color3.new(
0.5490196078431373,0,0)v.Number.TextColor3=Color3.new(1,0.34509803921568627,
0.30980392156862746)end end function highlightColor(v,w)if w==Enum.DialogTone.
Neutral then v.BackgroundColor3=Color3.new(7.8431372549019605E-3,
0.4235294117647059,1)v.Number.TextColor3=Color3.new(1,1,1)elseif w==Enum.
DialogTone.Friendly then v.BackgroundColor3=Color3.new(0,0.5019607843137255,0)v.
Number.TextColor3=Color3.new(1,1,1)elseif w==Enum.DialogTone.Enemy then v.
BackgroundColor3=Color3.new(0.8,0,0)v.Number.TextColor3=Color3.new(1,1,1)end end
function endDialog()if g then g:Remove()g=nil end local v=e e=nil if v and v.
InUse then local w=r:Clone()w.archivable=false w.Disabled=false w.Parent=v end
for w,x in pairs(s)do if w and x then x.Enabled=not w.InUse end end f=nil end
function wanderDialog()print'Wander'a.Visible=false endDialog()showMessage(j,k)
end function timeoutDialog()print'Timeout'a.Visible=false endDialog()
showMessage(l,m)end function normalEndDialog()print'Done'endDialog()end function
sanitizeMessage(w)if string.len(w)==0 then return'...'else return w end end
function selectChoice(w)renewKillswitch(e)a.Visible=false if w==c then game.Chat
:Chat(game.Players.LocalPlayer.Character,'Goodbye!',getChatColor(currentTone()))
normalEndDialog()else local x=d[w]game.Chat:Chat(game.Players.LocalPlayer.
Character,sanitizeMessage(x.UserDialog),getChatColor(currentTone()))wait(1)e:
SignalDialogChoiceSelected(n,x)game.Chat:Chat(f,sanitizeMessage(x.ResponseDialog
),getChatColor(currentTone()))variableDelay(x.ResponseDialog)
presentDialogChoices(f,x:GetChildren())end end function newChoice(w)local x=
Instance.new'TextButton'x.BackgroundColor3=Color3.new(0,0,0.7019607843137254)x.
AutoButtonColor=false x.BorderSizePixel=0 x.Text=''x.MouseEnter:connect(function
()highlightColor(x,currentTone())end)x.MouseLeave:connect(function()resetColor(x
,currentTone())end)x.MouseButton1Click:connect(function()selectChoice(x)end)x.
RobloxLocked=true local y=Instance.new'TextLabel'y.Name='Number'y.TextColor3=
Color3.new(0.4980392156862745,0.8313725490196079,1)y.Text=w y.FontSize=Enum.
FontSize.Size14 y.BackgroundTransparency=1 y.Position=UDim2.new(0,4,0,2)y.Size=
UDim2.new(0,20,0,24)y.TextXAlignment=Enum.TextXAlignment.Left y.TextYAlignment=
Enum.TextYAlignment.Top y.RobloxLocked=true y.Parent=x local z=Instance.new
'TextLabel'z.Name='UserPrompt'z.BackgroundTransparency=1 z.TextColor3=Color3.
new(1,1,1)z.FontSize=Enum.FontSize.Size14 z.Position=UDim2.new(0,28,0,2)z.Size=
UDim2.new(1,-32,1,-4)z.TextXAlignment=Enum.TextXAlignment.Left z.TextYAlignment=
Enum.TextYAlignment.Top z.TextWrap=true z.RobloxLocked=true z.Parent=x return x
end function initialize(w)b[1]=newChoice'1)'b[2]=newChoice'2)'b[3]=newChoice'3)'
b[4]=newChoice'4)'c=newChoice'5)'c.UserPrompt.Text='Goodbye!'c.Size=UDim2.new(1,
0,0,28)a=Instance.new'Frame'a.Name='UserDialogArea'a.Size=UDim2.new(0,350,0,200)
a.Style=Enum.FrameStyle.ChatBlue a.Visible=false imageLabel=Instance.new
'ImageLabel'imageLabel.Name='Tail'imageLabel.Size=UDim2.new(0,62,0,53)imageLabel
.Position=UDim2.new(1,8,0.25)imageLabel.Image=
'rbxasset://textures/chatBubble_botBlue_tailRight.png'imageLabel.
BackgroundTransparency=1 imageLabel.RobloxLocked=true imageLabel.Parent=a for x,
y in pairs(b)do y.RobloxLocked=true y.Parent=a end c.RobloxLocked=true c.Parent=
a a.RobloxLocked=true a.Parent=w end function presentDialogChoices(w,x)if not e
then return end f=w sortedDialogChoices={}for y,z in pairs(x)do if z:IsA
'DialogChoice'then table.insert(sortedDialogChoices,z)end end table.sort(
sortedDialogChoices,function(A,B)return A.Name<B.Name end)if#sortedDialogChoices
==0 then normalEndDialog()return end local A,B=1,0 d={}for C,D in pairs(b)do D.
Visible=false end for E,F in pairs(sortedDialogChoices)do if A<=#b then b[A].
Size=UDim2.new(1,0,0,72)b[A].UserPrompt.Text=F.UserDialog local G=math.ceil(b[A]
.UserPrompt.TextBounds.Y/24)*24 b[A].Position=UDim2.new(0,0,0,B)b[A].Size=UDim2.
new(1,0,0,G)b[A].Visible=true d[b[A]]=F B=B+G A=A+1 end end c.Position=UDim2.
new(0,0,0,B)c.Number.Text=A..')'a.Size=UDim2.new(0,350,0,B+24+32)a.Position=
UDim2.new(0,20,0,-a.Size.Y.Offset-20)styleMainFrame(currentTone())a.Visible=true
end function doDialog(w)while not Instance.Lock(w,n)do wait()end if w.InUse then
Instance.Unlock(w)return else w.InUse=true Instance.Unlock(w)end e=w game.Chat:
Chat(w.Parent,w.InitialPrompt,getChatColor(w.Tone))variableDelay(w.InitialPrompt
)presentDialogChoices(w.Parent,w:GetChildren())end function renewKillswitch(w)if
g then g:Remove()g=nil end g=q:Clone()g.archivable=false g.Disabled=false g.
Parent=w end function checkForLeaveArea()while e do if e.Parent and(n:
DistanceFromCharacter(e.Parent.Position)>=e.ConversationDistance)then
wanderDialog()end wait(1)end end function startDialog(w)if w.Parent and w.Parent
:IsA'BasePart'then if n:DistanceFromCharacter(w.Parent.Position)>=w.
ConversationDistance then showMessage(h,i)return end for x,A in pairs(s)do if x
and A then A.Enabled=false end end renewKillswitch(x)delay(1,checkForLeaveArea)
doDialog(x)end end function removeDialog(w)if s[w]then s[w]:Remove()s[w]=nil end
if t[w]then t[w]:disconnect()t[w]=nil end end function addDialog(w)if w.Parent
then if w.Parent:IsA'BasePart'then local x=o:clone()x.Enabled=not w.InUse x.
Adornee=w.Parent x.RobloxLocked=true x.Parent=game.CoreGui x.Image.Button.
MouseButton1Click:connect(function()startDialog(w)end)setChatNotificationTone(x,
w.Purpose,w.Tone)s[w]=x t[w]=w.Changed:connect(function(A)if A=='Parent'and w.
Parent then removeDialog(w)addDialog(w)elseif A=='InUse'then x.Enabled=not e and
not w.InUse if w==e then timeoutDialog()end elseif A=='Tone'or A=='Purpose'then
setChatNotificationTone(x,w.Purpose,w.Tone)end end)else t[w]=w.Changed:connect(
function(x)if x=='Parent'and w.Parent then removeDialog(w)addDialog(w)end end)
end end end function fetchScripts()local w=game:GetService'InsertService':
LoadAsset(39226062)if type(w)=='string'then wait(0.1)w=game:GetService
'InsertService':LoadAsset(39226062)end if type(w)=='string'then return end
waitForChild(w,'TimeoutScript')q=w.TimeoutScript waitForChild(w,
'ReenableDialogScript')r=w.ReenableDialogScript end function onLoad()
waitForProperty(game.Players,'LocalPlayer')n=game.Players.LocalPlayer
waitForProperty(n,'Character')fetchScripts()createChatNotificationGui()
createMessageDialog()p.RobloxLocked=true p.Parent=u waitForChild(u,
'BottomLeftControl')local w=Instance.new'Frame'w.Name='DialogFrame'w.Position=
UDim2.new(0,0,0,0)w.Size=UDim2.new(0,0,0,0)w.BackgroundTransparency=1 w.
RobloxLocked=true w.Parent=u.BottomLeftControl initialize(w)game.
CollectionService.ItemAdded:connect(function(x)if x:IsA'Dialog'then addDialog(x)
end end)game.CollectionService.ItemRemoved:connect(function(x)if x:IsA'Dialog'
then removeDialog(x)end end)for x,A in pairs(game.CollectionService:
GetCollection'Dialog')do if A:IsA'Dialog'then addDialog(A)end end end onLoad()

903
processed/45284430.lua Normal file
View File

@ -0,0 +1,903 @@
local a={}local function ScopedConnect(b,c,d,e,f,g)local h=nil local i=function(
)if game:IsAncestorOf(b)then if not h then h=c[d]:connect(e)if f then f()end end
else if h then h:disconnect()if g then g()end end end end local j=b.
AncestryChanged:connect(i)i()return j end local function getScreenGuiAncestor(b)
local c=b while c and not c:IsA'ScreenGui'do c=c.Parent end return c end
local function CreateButtons(b,c,d,e)local f,g=1,{}for h,i in ipairs(c)do local
j=Instance.new'TextButton'j.Name='Button'..f j.Font=Enum.Font.Arial j.FontSize=
Enum.FontSize.Size18 j.AutoButtonColor=true j.Modal=true if i['Style']then j.
Style=i.Style else j.Style=Enum.ButtonStyle.RobloxButton end j.Text=i.Text j.
TextColor3=Color3.new(1,1,1)j.MouseButton1Click:connect(i.Function)j.Parent=b g[
f]=j f=f+1 end local j=f-1 if j==1 then b.Button1.Position=UDim2.new(0.35,0,d.
Scale,d.Offset)b.Button1.Size=UDim2.new(0.4,0,e.Scale,e.Offset)elseif j==2 then
b.Button1.Position=UDim2.new(0.1,0,d.Scale,d.Offset)b.Button1.Size=UDim2.new(
0.26666666666666666,0,e.Scale,e.Offset)b.Button2.Position=UDim2.new(0.55,0,d.
Scale,d.Offset)b.Button2.Size=UDim2.new(0.35,0,e.Scale,e.Offset)elseif j>=3 then
local k,l=0.1/j,0.9/j f=1 while f<=j do g[f].Position=UDim2.new(k*f+(f-1)*l,0,d.
Scale,d.Offset)g[f].Size=UDim2.new(l,0,e.Scale,e.Offset)f=f+1 end end end
local function setSliderPos(b,c,d,e,f)local g,h=f-1,math.min(1,math.max(0,(b-e.
AbsolutePosition.X)/e.AbsoluteSize.X))local i,j=math.modf(h*g)if j>0.5 then i=i+
1 end h=i/g local k=math.ceil(h*g)if d.Value~=(k+1)then d.Value=k+1 c.Position=
UDim2.new(h,-c.AbsoluteSize.X/2,c.Position.Y.Scale,c.Position.Y.Offset)end end
local function cancelSlide(b)b.Visible=false if areaSoakMouseMoveCon then
areaSoakMouseMoveCon:disconnect()end end a.CreateStyledMessageDialog=function(b,
c,d,e)local f=Instance.new'Frame'f.Size=UDim2.new(0.5,0,0,165)f.Position=UDim2.
new(0.25,0,0.5,-72.5)f.Name='MessageDialog'f.Active=true f.Style=Enum.FrameStyle
.RobloxRound local g=Instance.new'ImageLabel'g.Name='StyleImage'g.
BackgroundTransparency=1 g.Position=UDim2.new(0,5,0,15)if d=='error'or d==
'Error'then g.Size=UDim2.new(0,71,0,71)g.Image=
'http://www.roblox.com/asset?id=42565285'elseif d=='notify'or d=='Notify'then g.
Size=UDim2.new(0,71,0,71)g.Image='http://www.roblox.com/asset?id=42604978'elseif
d=='confirm'or d=='Confirm'then g.Size=UDim2.new(0,74,0,76)g.Image=
'http://www.roblox.com/asset?id=42557901'else return a.CreateMessageDialog(b,c,e
)end g.Parent=f local h=Instance.new'TextLabel'h.Name='Title'h.Text=b h.
TextStrokeTransparency=0 h.BackgroundTransparency=1 h.TextColor3=Color3.new(
0.8666666666666667,0.8666666666666667,0.8666666666666667)h.Position=UDim2.new(0,
80,0,0)h.Size=UDim2.new(1,-80,0,40)h.Font=Enum.Font.ArialBold h.FontSize=Enum.
FontSize.Size36 h.TextXAlignment=Enum.TextXAlignment.Center h.TextYAlignment=
Enum.TextYAlignment.Center h.Parent=f local i=Instance.new'TextLabel'i.Name=
'Message'i.Text=c i.TextStrokeTransparency=0 i.TextColor3=Color3.new(
0.8666666666666667,0.8666666666666667,0.8666666666666667)i.Position=UDim2.new(
0.025,80,0,45)i.Size=UDim2.new(0.95,-80,0,55)i.BackgroundTransparency=1 i.Font=
Enum.Font.Arial i.FontSize=Enum.FontSize.Size18 i.TextWrap=true i.TextXAlignment
=Enum.TextXAlignment.Left i.TextYAlignment=Enum.TextYAlignment.Top i.Parent=f
CreateButtons(f,e,UDim.new(0,105),UDim.new(0,40))return f end a.
CreateMessageDialog=function(b,c,d)local e=Instance.new'Frame'e.Size=UDim2.new(
0.5,0,0.5,0)e.Position=UDim2.new(0.25,0,0.25,0)e.Name='MessageDialog'e.Active=
true e.Style=Enum.FrameStyle.RobloxRound local f=Instance.new'TextLabel'f.Name=
'Title'f.Text=b f.BackgroundTransparency=1 f.TextColor3=Color3.new(
0.8666666666666667,0.8666666666666667,0.8666666666666667)f.Position=UDim2.new(0,
0,0,0)f.Size=UDim2.new(1,0,0.15,0)f.Font=Enum.Font.ArialBold f.FontSize=Enum.
FontSize.Size36 f.TextXAlignment=Enum.TextXAlignment.Center f.TextYAlignment=
Enum.TextYAlignment.Center f.Parent=e local g=Instance.new'TextLabel'g.Name=
'Message'g.Text=c g.TextColor3=Color3.new(0.8666666666666667,0.8666666666666667,
0.8666666666666667)g.Position=UDim2.new(0.025,0,0.175,0)g.Size=UDim2.new(0.95,0,
0.55,0)g.BackgroundTransparency=1 g.Font=Enum.Font.Arial g.FontSize=Enum.
FontSize.Size18 g.TextWrap=true g.TextXAlignment=Enum.TextXAlignment.Left g.
TextYAlignment=Enum.TextYAlignment.Top g.Parent=e CreateButtons(e,d,UDim.new(0.8
,0),UDim.new(0.15,0))return e end a.CreateDropDownMenu=function(b,c,d)local e,f,
g,h=UDim.new(0,100),UDim.new(0,32),0.055,Instance.new'Frame'h.Name=
'DropDownMenu'h.BackgroundTransparency=1 h.Size=UDim2.new(e,f)local i=Instance.
new'TextButton'i.Name='DropDownMenuButton'i.TextWrap=true i.TextColor3=Color3.
new(1,1,1)i.Text='Choose One'i.Font=Enum.Font.ArialBold i.FontSize=Enum.FontSize
.Size18 i.TextXAlignment=Enum.TextXAlignment.Left i.TextYAlignment=Enum.
TextYAlignment.Center i.BackgroundTransparency=1 i.AutoButtonColor=true i.Style=
Enum.ButtonStyle.RobloxButton i.Size=UDim2.new(1,0,1,0)i.Parent=h i.ZIndex=2
local j=Instance.new'ImageLabel'j.Name='Icon'j.Active=false j.Image=
'http://www.roblox.com/asset/?id=45732894'j.BackgroundTransparency=1 j.Size=
UDim2.new(0,11,0,6)j.Position=UDim2.new(1,-11,0.5,-2)j.Parent=i j.ZIndex=2 local
k,l,m=#b,#b,false if l>6 then m=true l=6 end local n=Instance.new'TextButton'n.
Name='List'n.Text=''n.BackgroundTransparency=1 n.Style=Enum.ButtonStyle.
RobloxButton n.Visible=false n.Active=true n.Position=UDim2.new(0,0,0,0)n.Size=
UDim2.new(1,0,(1+l)*0.8,0)n.Parent=h n.ZIndex=2 local o=Instance.new'TextButton'
o.Name='ChoiceButton'o.BackgroundTransparency=1 o.BorderSizePixel=0 o.Text=
'ReplaceMe'o.TextColor3=Color3.new(1,1,1)o.TextXAlignment=Enum.TextXAlignment.
Left o.TextYAlignment=Enum.TextYAlignment.Center o.BackgroundColor3=Color3.new(1
,1,1)o.Font=Enum.Font.Arial o.FontSize=Enum.FontSize.Size18 if m then o.Size=
UDim2.new(1,-13,0.8/((l+1)*0.8),0)else o.Size=UDim2.new(1,0,0.8/((l+1)*0.8),0)
end o.TextWrap=true o.ZIndex=2 local p=Instance.new'TextButton'p.Name='AreaSoak'
p.Text=''p.BackgroundTransparency=1 p.Active=true p.Size=UDim2.new(1,0,1,0)p.
Visible=false p.ZIndex=3 local q,r,s,t=false,nil,nil,0 local u,v=function(u)n.
ZIndex=u+1 if r then r.ZIndex=u+3 end if s then s.ZIndex=u+3 end local v=n:
GetChildren()if v then for w,x in ipairs(v)do if x.Name=='ChoiceButton'then x.
ZIndex=u+2 elseif x.Name=='ClickCaptureButton'then x.ZIndex=u end end end end,1
local w=function()if r then r.Active=v>1 end if s then s.Active=v+l<=k end local
w=n:GetChildren()if not w then return end local x=1 for y,z in ipairs(w)do if z.
Name=='ChoiceButton'then if x<v or x>=v+l then z.Visible=false else z.Position=
UDim2.new(0,0,((x-v+1)*0.8)/((l+1)*0.8),0)z.Visible=true end z.TextColor3=Color3
.new(1,1,1)z.BackgroundTransparency=1 x=x+1 end end end local x=function()q=not
q p.Visible=not p.Visible i.Visible=not q n.Visible=q if q then u(4)else u(2)end
if m then w()end end n.MouseButton1Click:connect(x)local y=function(y)local z,A,
B=false,n:GetChildren(),1 if A then for C,D in ipairs(A)do if D.Name==
'ChoiceButton'then if D.Text==y then D.Font=Enum.Font.ArialBold z=true v=B else
D.Font=Enum.Font.Arial end B=B+1 end end end if not y then i.Text='Choose One'v=
1 else if not z then error('Invalid Selection Update -- '..y)end if v+l>k+1 then
v=k-l+1 end i.Text=y end end local function scrollDown()if v+l<=k then v=v+1 w()
return true end return false end local function scrollUp()if v>1 then v=v-1 w()
return true end return false end if m then r=Instance.new'ImageButton'r.Name=
'ScrollUpButton'r.BackgroundTransparency=1 r.Image=
'rbxasset://textures/ui/scrollbuttonUp.png'r.Size=UDim2.new(0,17,0,17)r.Position
=UDim2.new(1,-11,(0.8)/((l+1)*0.8),0)r.MouseButton1Click:connect(function()t=t+1
end)r.MouseLeave:connect(function()t=t+1 end)r.MouseButton1Down:connect(function
()t=t+1 scrollUp()local z=t wait(0.5)while z==t do if scrollUp()==false then
break end wait(0.1)end end)r.Parent=n s=Instance.new'ImageButton's.Name=
'ScrollDownButton's.BackgroundTransparency=1 s.Image=
'rbxasset://textures/ui/scrollbuttonDown.png's.Size=UDim2.new(0,17,0,17)s.
Position=UDim2.new(1,-11,1,-11)s.Parent=n s.MouseButton1Click:connect(function()
t=t+1 end)s.MouseLeave:connect(function()t=t+1 end)s.MouseButton1Down:connect(
function()t=t+1 scrollDown()local z=t wait(0.5)while z==t do if scrollDown()==
false then break end wait(0.1)end end)local z=Instance.new'ImageLabel'z.Name=
'ScrollBar'z.Image='rbxasset://textures/ui/scrollbar.png'z.
BackgroundTransparency=1 z.Size=UDim2.new(0,18,(l*0.8)/((l+1)*0.8),-32)z.
Position=UDim2.new(1,-11,(0.8)/((l+1)*0.8),19)z.Parent=n end for z,A in ipairs(b
)do local B=o:clone()if d then B.RobloxLocked=true end B.Text=A B.Parent=n B.
MouseButton1Click:connect(function()B.TextColor3=Color3.new(1,1,1)B.
BackgroundTransparency=1 y(A)c(A)x()end)B.MouseEnter:connect(function()B.
TextColor3=Color3.new(0,0,0)B.BackgroundTransparency=0 end)B.MouseLeave:connect(
function()B.TextColor3=Color3.new(1,1,1)B.BackgroundTransparency=1 end)end w()h.
AncestryChanged:connect(function(B,C)if C==nil then p.Parent=nil else p.Parent=
getScreenGuiAncestor(h)end end)i.MouseButton1Click:connect(x)p.MouseButton1Click
:connect(x)return h,y end a.CreatePropertyDropDownMenu=function(b,c,d)local e,f,
g=d:GetEnumItems(),{},{}for h,i in ipairs(e)do f[h]=i.Name g[i.Name]=i end local
j,k j,k=a.CreateDropDownMenu(f,function(l)b[c]=g[l]end)ScopedConnect(j,b,
'Changed',function(l)if l==c then k(b[c].Name)end end,function()k(b[c].Name)end)
return j end a.GetFontHeight=function(b,c)if b==nil or c==nil then error
'Font and FontSize must be non-nil'end if b==Enum.Font.Legacy then if c==Enum.
FontSize.Size8 then return 12 elseif c==Enum.FontSize.Size9 then return 14
elseif c==Enum.FontSize.Size10 then return 15 elseif c==Enum.FontSize.Size11
then return 17 elseif c==Enum.FontSize.Size12 then return 18 elseif c==Enum.
FontSize.Size14 then return 21 elseif c==Enum.FontSize.Size18 then return 27
elseif c==Enum.FontSize.Size24 then return 36 elseif c==Enum.FontSize.Size36
then return 54 elseif c==Enum.FontSize.Size48 then return 72 else error
'Unknown FontSize'end elseif b==Enum.Font.Arial or b==Enum.Font.ArialBold then
if c==Enum.FontSize.Size8 then return 8 elseif c==Enum.FontSize.Size9 then
return 9 elseif c==Enum.FontSize.Size10 then return 10 elseif c==Enum.FontSize.
Size11 then return 11 elseif c==Enum.FontSize.Size12 then return 12 elseif c==
Enum.FontSize.Size14 then return 14 elseif c==Enum.FontSize.Size18 then return
18 elseif c==Enum.FontSize.Size24 then return 24 elseif c==Enum.FontSize.Size36
then return 36 elseif c==Enum.FontSize.Size48 then return 48 else error
'Unknown FontSize'end else error('Unknown Font '..b)end end local function
layoutGuiObjectsHelper(b,c,d)local e,f=b.AbsoluteSize.Y,b.AbsoluteSize.Y for g,h
in ipairs(c)do if h:IsA'TextLabel'or h:IsA'TextButton'then local i=h:IsA
'TextLabel'if i then f=f-d['TextLabelPositionPadY']else f=f-d[
'TextButtonPositionPadY']end h.Position=UDim2.new(h.Position.X.Scale,h.Position.
X.Offset,0,e-f)h.Size=UDim2.new(h.Size.X.Scale,h.Size.X.Offset,0,f)if h.TextFits
and h.TextBounds.Y<f then h.Visible=true if i then h.Size=UDim2.new(h.Size.X.
Scale,h.Size.X.Offset,0,h.TextBounds.Y+d['TextLabelSizePadY'])else h.Size=UDim2.
new(h.Size.X.Scale,h.Size.X.Offset,0,h.TextBounds.Y+d['TextButtonSizePadY'])end
while not h.TextFits do h.Size=UDim2.new(h.Size.X.Scale,h.Size.X.Offset,0,h.
AbsoluteSize.Y+1)end f=f-h.AbsoluteSize.Y if i then f=f-d[
'TextLabelPositionPadY']else f=f-d['TextButtonPositionPadY']end else h.Visible=
false f=-1 end else h.Position=UDim2.new(h.Position.X.Scale,h.Position.X.Offset,
0,e-f)f=f-h.AbsoluteSize.Y h.Visible=(f>=0)end end end a.LayoutGuiObjects=
function(b,c,d)if not b:IsA'GuiObject'then error'Frame must be a GuiObject'end
for e,f in ipairs(c)do if not f:IsA'GuiObject'then error
'All elements that are layed out must be of type GuiObject'end end if not d then
d={}end if not d['TextLabelSizePadY']then d['TextLabelSizePadY']=0 end if not d[
'TextLabelPositionPadY']then d['TextLabelPositionPadY']=0 end if not d[
'TextButtonSizePadY']then d['TextButtonSizePadY']=12 end if not d[
'TextButtonPositionPadY']then d['TextButtonPositionPadY']=2 end local g=Instance
.new'Frame'g.Name='WrapperFrame'g.BackgroundTransparency=1 g.Size=UDim2.new(1,0,
1,0)g.Parent=b for h,i in ipairs(c)do i.Parent=g end local j=function()wait()
layoutGuiObjectsHelper(g,c,d)end b.Changed:connect(function(k)if k==
'AbsoluteSize'then j(nil)end end)b.AncestryChanged:connect(j)
layoutGuiObjectsHelper(g,c,d)end a.CreateSlider=function(b,c,d)local g=Instance.
new'Frame'g.Size=UDim2.new(1,0,1,0)g.BackgroundTransparency=1 g.Name='SliderGui'
local h=Instance.new'IntValue'h.Name='SliderSteps'h.Value=b h.Parent=g local i=
Instance.new'TextButton'i.Name='AreaSoak'i.Text=''i.BackgroundTransparency=1 i.
Active=false i.Size=UDim2.new(1,0,1,0)i.Visible=false i.ZIndex=4 g.
AncestryChanged:connect(function(j,k)if k==nil then i.Parent=nil else i.Parent=
getScreenGuiAncestor(g)end end)local j=Instance.new'IntValue'j.Name=
'SliderPosition'j.Value=0 j.Parent=g local k,l=math.random(1,100),Instance.new
'TextButton'l.Text=''l.AutoButtonColor=false l.Name='Bar'l.BackgroundColor3=
Color3.new(0,0,0)if type(c)=='number'then l.Size=UDim2.new(0,c,0,5)else l.Size=
UDim2.new(0,200,0,5)end l.BorderColor3=Color3.new(0.37254901960784315,
0.37254901960784315,0.37254901960784315)l.ZIndex=2 l.Parent=g if d['X']and d['X'
]['Scale']and d['X']['Offset']and d['Y']and d['Y']['Scale']and d['Y']['Offset']
then l.Position=d end local m=Instance.new'ImageButton'm.Name='Slider'm.
BackgroundTransparency=1 m.Image='rbxasset://textures/ui/Slider.png'm.Position=
UDim2.new(0,0,0.5,-10)m.Size=UDim2.new(0,20,0,20)m.ZIndex=3 m.Parent=l local n=
nil i.MouseLeave:connect(function()if i.Visible then cancelSlide(i)end end)i.
MouseButton1Up:connect(function()if i.Visible then cancelSlide(i)end end)m.
MouseButton1Down:connect(function()i.Visible=true if n then n:disconnect()end n=
i.MouseMoved:connect(function(o,p)setSliderPos(o,m,j,l,b)end)end)m.
MouseButton1Up:connect(function()cancelSlide(i)end)j.Changed:connect(function(o)
j.Value=math.min(b,math.max(1,j.Value))local p=(j.Value-1)/(b-1)m.Position=UDim2
.new(p,-m.AbsoluteSize.X/2,m.Position.Y.Scale,m.Position.Y.Offset)end)l.
MouseButton1Down:connect(function(o,p)setSliderPos(o,m,j,l,b)end)return g,j,h
end a.CreateTrueScrollingFrame=function()local b,c,d,g,h,i,j=nil,nil,nil,nil,
false,{},Instance.new'Frame'j.Name='ScrollingFrame'j.Active=true j.Size=UDim2.
new(1,0,1,0)j.ClipsDescendants=true local k=Instance.new'Frame'k.Name=
'ControlFrame'k.BackgroundTransparency=1 k.Size=UDim2.new(0,18,1,0)k.Position=
UDim2.new(1,-20,0,0)k.Parent=j local l=Instance.new'BoolValue'l.Value=false l.
Name='ScrollBottom'l.Parent=k local m=Instance.new'BoolValue'm.Value=false m.
Name='scrollUp'm.Parent=k local n=Instance.new'TextButton'n.Name=
'ScrollUpButton'n.Text=''n.AutoButtonColor=false n.BackgroundColor3=Color3.new(0
,0,0)n.BorderColor3=Color3.new(1,1,1)n.BackgroundTransparency=0.5 n.Size=UDim2.
new(0,18,0,18)n.ZIndex=2 n.Parent=k for o=1,6 do local p=Instance.new'Frame'p.
BorderColor3=Color3.new(1,1,1)p.Name='tri'..tostring(o)p.ZIndex=3 p.
BackgroundTransparency=0.5 p.Size=UDim2.new(0,12-((o-1)*2),0,0)p.Position=UDim2.
new(0,3+(o-1),0.5,2-(o-1))p.Parent=n end n.MouseEnter:connect(function()n.
BackgroundTransparency=0.1 local o=n:GetChildren()for p=1,#o do o[p].
BackgroundTransparency=0.1 end end)n.MouseLeave:connect(function()n.
BackgroundTransparency=0.5 local o=n:GetChildren()for p=1,#o do o[p].
BackgroundTransparency=0.5 end end)local o=n:clone()o.Name='ScrollDownButton'o.
Position=UDim2.new(0,0,1,-18)local p=o:GetChildren()for q=1,#p do p[q].Position=
UDim2.new(0,3+(q-1),0.5,-2+(q-1))end o.MouseEnter:connect(function()o.
BackgroundTransparency=0.1 local q=o:GetChildren()for r=1,#q do q[r].
BackgroundTransparency=0.1 end end)o.MouseLeave:connect(function()o.
BackgroundTransparency=0.5 local q=o:GetChildren()for r=1,#q do q[r].
BackgroundTransparency=0.5 end end)o.Parent=k local q=Instance.new'Frame'q.Name=
'ScrollTrack'q.BackgroundTransparency=1 q.Size=UDim2.new(0,18,1,-38)q.Position=
UDim2.new(0,0,0,19)q.Parent=k local r=Instance.new'TextButton'r.BackgroundColor3
=Color3.new(0,0,0)r.BorderColor3=Color3.new(1,1,1)r.BackgroundTransparency=0.5 r
.AutoButtonColor=false r.Text=''r.Active=true r.Name='ScrollBar'r.ZIndex=2 r.
BackgroundTransparency=0.5 r.Size=UDim2.new(0,18,0.1,0)r.Position=UDim2.new(0,0,
0,0)r.Parent=q local s=Instance.new'Frame's.Name='ScrollNub's.BorderColor3=
Color3.new(1,1,1)s.Size=UDim2.new(0,10,0,0)s.Position=UDim2.new(0.5,-5,0.5,0)s.
ZIndex=2 s.BackgroundTransparency=0.5 s.Parent=r local t=s:clone()t.Position=
UDim2.new(0.5,-5,0.5,-2)t.Parent=r local u=s:clone()u.Position=UDim2.new(0.5,-5,
0.5,2)u.Parent=r r.MouseEnter:connect(function()r.BackgroundTransparency=0.1 s.
BackgroundTransparency=0.1 t.BackgroundTransparency=0.1 u.BackgroundTransparency
=0.1 end)r.MouseLeave:connect(function()r.BackgroundTransparency=0.5 s.
BackgroundTransparency=0.5 t.BackgroundTransparency=0.5 u.BackgroundTransparency
=0.5 end)local v=Instance.new'ImageButton'v.Active=false v.Size=UDim2.new(1.5,0,
1.5,0)v.AutoButtonColor=false v.BackgroundTransparency=1 v.Name='mouseDrag'v.
Position=UDim2.new(-0.25,0,-0.25,0)v.ZIndex=10 local function positionScrollBar(
w,x,y)local z=r.Position if x<q.AbsolutePosition.y then r.Position=UDim2.new(r.
Position.X.Scale,r.Position.X.Offset,0,0)return(z~=r.Position)end local A=r.
AbsoluteSize.Y/q.AbsoluteSize.Y if x>(q.AbsolutePosition.y+q.AbsoluteSize.y)then
r.Position=UDim2.new(r.Position.X.Scale,r.Position.X.Offset,1-A,0)return(z~=r.
Position)end local B=(x-q.AbsolutePosition.y-y)/q.AbsoluteSize.y if B+A>1 then B
=1-A l.Value=true m.Value=false elseif B<=0 then B=0 m.Value=true l.Value=false
else m.Value=false l.Value=false end r.Position=UDim2.new(r.Position.X.Scale,r.
Position.X.Offset,B,0)return(z~=r.Position)end local function
drillDownSetHighLow(w)if not w or not w:IsA'GuiObject'then return end if w==k
then return end if w:IsDescendantOf(k)then return end if not w.Visible then
return end if b and b>w.AbsolutePosition.Y then b=w.AbsolutePosition.Y elseif
not b then b=w.AbsolutePosition.Y end if c and c<(w.AbsolutePosition.Y+w.
AbsoluteSize.Y)then c=w.AbsolutePosition.Y+w.AbsoluteSize.Y elseif not c then c=
w.AbsolutePosition.Y+w.AbsoluteSize.Y end local x=w:GetChildren()for y=1,#x do
drillDownSetHighLow(x[y])end end local function resetHighLow()local w=j:
GetChildren()for x=1,#w do drillDownSetHighLow(w[x])end end local function
recalculate()h=true local w=0 if r.Position.Y.Scale>0 then if r.Visible then w=r
.Position.Y.Scale/((q.AbsoluteSize.Y-r.AbsoluteSize.Y)/q.AbsoluteSize.Y)else w=0
end end if w>0.99 then w=1 end local x,y=(j.AbsoluteSize.Y-(c-b))*w,j:
GetChildren()for z=1,#y do if y[z]~=k then y[z].Position=UDim2.new(y[z].Position
.X.Scale,y[z].Position.X.Offset,0,math.ceil(y[z].AbsolutePosition.Y)-math.ceil(b
)+x)end end b=nil c=nil resetHighLow()h=false end local function
setSliderSizeAndPosition()if not c or not b then return end local w=math.abs(c-b
)if w==0 then r.Visible=false o.Visible=false n.Visible=false if d then d:
disconnect()d=nil end if g then g:disconnect()g=nil end return end local x=j.
AbsoluteSize.Y/w if x>=1 then r.Visible=false o.Visible=false n.Visible=false
recalculate()else r.Visible=true o.Visible=true n.Visible=true r.Size=UDim2.new(
r.Size.X.Scale,r.Size.X.Offset,x,0)end local y=(j.AbsolutePosition.Y-b)/w r.
Position=UDim2.new(r.Position.X.Scale,r.Position.X.Offset,y,-r.AbsoluteSize.X/2)
if r.AbsolutePosition.y<q.AbsolutePosition.y then r.Position=UDim2.new(r.
Position.X.Scale,r.Position.X.Offset,0,0)end if(r.AbsolutePosition.y+r.
AbsoluteSize.Y)>(q.AbsolutePosition.y+q.AbsoluteSize.y)then local z=r.
AbsoluteSize.Y/q.AbsoluteSize.Y r.Position=UDim2.new(r.Position.X.Scale,r.
Position.X.Offset,1-z,0)end end local w,x=7,false local function doScrollUp()if
x then return end x=true if positionScrollBar(0,r.AbsolutePosition.Y-w,0)then
recalculate()end x=false end local y=false local function doScrollDown()if y
then return end y=true if positionScrollBar(0,r.AbsolutePosition.Y+w,0)then
recalculate()end y=false end local function scrollUp(z)if n.Active then
scrollStamp=tick()local A,B=scrollStamp,nil B=v.MouseButton1Up:connect(function(
)scrollStamp=tick()v.Parent=nil B:disconnect()end)v.Parent=getScreenGuiAncestor(
r)doScrollUp()wait(0.2)local C,D=tick(),0.1 while scrollStamp==A do doScrollUp()
if z and z>r.AbsolutePosition.y then break end if not n.Active then break end if
tick()-C>5 then D=0 elseif tick()-C>2 then D=0.06 end wait(D)end end end
local function scrollDown(z)if o.Active then scrollStamp=tick()local A,B=
scrollStamp,nil B=v.MouseButton1Up:connect(function()scrollStamp=tick()v.Parent=
nil B:disconnect()end)v.Parent=getScreenGuiAncestor(r)doScrollDown()wait(0.2)
local C,D=tick(),0.1 while scrollStamp==A do doScrollDown()if z and z<(r.
AbsolutePosition.y+r.AbsoluteSize.x)then break end if not o.Active then break
end if tick()-C>5 then D=0 elseif tick()-C>2 then D=0.06 end wait(D)end end end
r.MouseButton1Down:connect(function(z,A)if r.Active then scrollStamp=tick()local
B=A-r.AbsolutePosition.y if d then d:disconnect()d=nil end if g then g:
disconnect()g=nil end local C,D=A,false d=v.MouseMoved:connect(function(E,F)if D
then return end D=true if positionScrollBar(E,F,B)then recalculate()end D=false
end)g=v.MouseButton1Up:connect(function()scrollStamp=tick()v.Parent=nil d:
disconnect()d=nil g:disconnect()drag=nil end)v.Parent=getScreenGuiAncestor(r)end
end)local z=0 n.MouseButton1Down:connect(function()m()end)n.MouseButton1Up:
connect(function()scrollStamp=tick()end)o.MouseButton1Up:connect(function()
scrollStamp=tick()end)o.MouseButton1Down:connect(function()scrollDown()end)r.
MouseButton1Up:connect(function()scrollStamp=tick()end)local function
heightCheck(A)if c and(A.AbsolutePosition.Y+A.AbsoluteSize.Y)>c then c=A.
AbsolutePosition.Y+A.AbsoluteSize.Y elseif not c then c=A.AbsolutePosition.Y+A.
AbsoluteSize.Y end setSliderSizeAndPosition()end local function highLowRecheck()
local A,B=b,c b=nil c=nil resetHighLow()if(b~=A)or(c~=B)then
setSliderSizeAndPosition()end end local function descendantChanged(A,B)if h then
return end if not A.Visible then return end if B=='Size'or B=='Position'then
wait()highLowRecheck()end end j.DescendantAdded:connect(function(A)if not A:IsA
'GuiObject'then return end if A.Visible then wait()highLowRecheck()end i[A]=A.
Changed:connect(function(B)descendantChanged(A,B)end)end)j.DescendantRemoving:
connect(function(A)if not A:IsA'GuiObject'then return end if i[A]then i[A]:
disconnect()i[A]=nil end wait()highLowRecheck()end)j.Changed:connect(function(A)
if A=='AbsoluteSize'then if not c or not b then return end highLowRecheck()
setSliderSizeAndPosition()end end)return j,k end a.CreateScrollingFrame=function
(b,c)local d=Instance.new'Frame'd.Name='ScrollingFrame'd.BackgroundTransparency=
1 d.Size=UDim2.new(1,0,1,0)local g=Instance.new'ImageButton'g.Name=
'ScrollUpButton'g.BackgroundTransparency=1 g.Image=
'rbxasset://textures/ui/scrollbuttonUp.png'g.Size=UDim2.new(0,17,0,17)local h=
Instance.new'ImageButton'h.Name='ScrollDownButton'h.BackgroundTransparency=1 h.
Image='rbxasset://textures/ui/scrollbuttonDown.png'h.Size=UDim2.new(0,17,0,17)
local i=Instance.new'ImageButton'i.Name='ScrollBar'i.Image=
'rbxasset://textures/ui/scrollbar.png'i.BackgroundTransparency=1 i.Size=UDim2.
new(0,18,0,150)local j,k=0,Instance.new'ImageButton'k.Image=
'http://www.roblox.com/asset/?id=61367186'k.Size=UDim2.new(1,0,0,16)k.
BackgroundTransparency=1 k.Name='ScrollDrag'k.Active=true k.Parent=i local l=
Instance.new'ImageButton'l.Active=false l.Size=UDim2.new(1.5,0,1.5,0)l.
AutoButtonColor=false l.BackgroundTransparency=1 l.Name='mouseDrag'l.Position=
UDim2.new(-0.25,0,-0.25,0)l.ZIndex=10 local m='simple'if c and tostring(c)then m
=c end local n,o,p=1,0,0 local q,r,s,t=function()p=0 local q={}if b then for r,s
in ipairs(b)do if s.Parent==d then table.insert(q,s)end end else local r=d:
GetChildren()if r then for s,t in ipairs(r)do if t:IsA'GuiObject'then table.
insert(q,t)end end end end if#q==0 then g.Active=false h.Active=false k.Active=
false n=1 return end if n>#q then n=#q end if n<1 then n=1 end local r,s,t,u,v,w
,x,y,z=d.AbsoluteSize.Y,d.AbsoluteSize.Y,d.AbsoluteSize.X,0,0,true,0,#q,0 y=n
while y<=#q and x<r do u=u+q[y].AbsoluteSize.X if u>=t then x=x+z z=0 u=q[y].
AbsoluteSize.X end if q[y].AbsoluteSize.Y>z then z=q[y].AbsoluteSize.Y end y=y+1
end x=x+z z=0 y=n-1 u=0 while x+z<r and y>=1 do u=u+q[y].AbsoluteSize.X v=v+1 if
u>=t then o=v-1 v=0 u=q[y].AbsoluteSize.X if x+z<=r then x=x+z if n<=o then n=1
break else n=n-o end z=0 else break end end if q[y].AbsoluteSize.Y>z then z=q[y]
.AbsoluteSize.Y end y=y-1 end if(y==0)and(x+z<=r)then n=1 end u=0 v=0 w=true
local A,B,C=0,0 if q[1]then C=math.ceil(math.floor(math.fmod(r,q[1].AbsoluteSize
.X))/2)B=math.ceil(math.floor(math.fmod(t,q[1].AbsoluteSize.Y))/2)end for D,E in
ipairs(q)do if D<n then E.Visible=false else if s<0 then E.Visible=false else if
w then v=v+1 end if u+E.AbsoluteSize.X>=t then if w then o=v-1 w=false end u=0 s
=s-E.AbsoluteSize.Y end E.Position=UDim2.new(E.Position.X.Scale,u+B,0,r-s+C)u=u+
E.AbsoluteSize.X E.Visible=((s-E.AbsoluteSize.Y)>=0)if E.Visible then p=p+1 end
A=E.AbsoluteSize end end end g.Active=(n>1)if A==0 then h.Active=false else h.
Active=((s-A.Y)<0)end k.Active=#q>p k.Visible=k.Active end,function()local q={}p
=0 if b then for r,s in ipairs(b)do if s.Parent==d then table.insert(q,s)end end
else local r=d:GetChildren()if r then for s,t in ipairs(r)do if t:IsA'GuiObject'
then table.insert(q,t)end end end end if#q==0 then g.Active=false h.Active=false
k.Active=false n=1 return end if n>#q then n=#q end local r,s,t,u=d.AbsoluteSize
.Y,d.AbsoluteSize.Y,0,#q while t<r and u>=1 do if u>=n then t=t+q[u].
AbsoluteSize.Y else if t+q[u].AbsoluteSize.Y<=r then t=t+q[u].AbsoluteSize.Y if
n<=1 then n=1 break else n=n-1 end else break end end u=u-1 end u=n for v,w in
ipairs(q)do if v<n then w.Visible=false else if s<0 then w.Visible=false else w.
Position=UDim2.new(w.Position.X.Scale,w.Position.X.Offset,0,r-s)s=s-w.
AbsoluteSize.Y if s>=0 then w.Visible=true p=p+1 else w.Visible=false end end
end end g.Active=(n>1)h.Active=(s<0)k.Active=#q>p k.Visible=k.Active end,
function()local q,r=0,d:GetChildren()if r then for s,t in ipairs(r)do if t:IsA
'GuiObject'then q=q+1 end end end if not k.Parent then return end local s=k.
Parent.AbsoluteSize.y*(1/(q-p+1))if s<16 then s=16 end k.Size=UDim2.new(k.Size.X
.Scale,k.Size.X.Offset,k.Size.Y.Scale,s)local t=(n-1)/(q-p)if t>1 then t=1
elseif t<0 then t=0 end local u=0 if t~=0 then u=(t*i.AbsoluteSize.y)-(t*k.
AbsoluteSize.y)end k.Position=UDim2.new(k.Position.X.Scale,k.Position.X.Offset,k
.Position.Y.Scale,u)end,false local u=function()if t then return end t=true
wait()local u,v=nil if m=='grid'then u,v=pcall(function()q()end)elseif m==
'simple'then u,v=pcall(function()r()end)end if not u then print(v)end s()t=false
end local v,w=function()n=n-o if n<1 then n=1 end u(nil)end,function()n=n+o u(
nil)end local x,y,z=function(x)if g.Active then j=tick()local y,z=j,nil z=l.
MouseButton1Up:connect(function()j=tick()l.Parent=nil z:disconnect()end)l.Parent
=getScreenGuiAncestor(i)v()wait(0.2)local A,B=tick(),0.1 while j==y do v()if x
and x>k.AbsolutePosition.y then break end if not g.Active then break end if
tick()-A>5 then B=0 elseif tick()-A>2 then B=0.06 end wait(B)end end end,
function(x)if h.Active then j=tick()local y,z=j,nil z=l.MouseButton1Up:connect(
function()j=tick()l.Parent=nil z:disconnect()end)l.Parent=getScreenGuiAncestor(i
)w()wait(0.2)local A,B=tick(),0.1 while j==y do w()if x and x<(k.
AbsolutePosition.y+k.AbsoluteSize.x)then break end if not h.Active then break
end if tick()-A>5 then B=0 elseif tick()-A>2 then B=0.06 end wait(B)end end end,
0 k.MouseButton1Down:connect(function(A,B)if k.Active then j=tick()local C,D,E=B
-k.AbsolutePosition.y,nil,nil D=l.MouseMoved:connect(function(F,G)local H,I,J=i.
AbsolutePosition.y,i.AbsoluteSize.y,k.AbsoluteSize.y local K=H+I-J G=G-C G=G<H
and H or G>K and K or G G=G-H local L,M=0,d:GetChildren()if M then for N,O in
ipairs(M)do if O:IsA'GuiObject'then L=L+1 end end end local N,O,P=G/(I-J),o,L-(p
-1)local Q=math.floor((N*P)+0.5)+O if Q<n then O=-O end if Q<1 then Q=1 end n=Q
u(nil)end)E=l.MouseButton1Up:connect(function()j=tick()l.Parent=nil D:
disconnect()D=nil E:disconnect()drag=nil end)l.Parent=getScreenGuiAncestor(i)end
end)local A=0 g.MouseButton1Down:connect(function()x()end)g.MouseButton1Up:
connect(function()j=tick()end)h.MouseButton1Up:connect(function()j=tick()end)h.
MouseButton1Down:connect(function()y()end)i.MouseButton1Up:connect(function()j=
tick()end)i.MouseButton1Down:connect(function(B,C)if C>(k.AbsoluteSize.y+k.
AbsolutePosition.y)then y(C)elseif C<k.AbsolutePosition.y then x(C)end end)d.
ChildAdded:connect(function()u(nil)end)d.ChildRemoved:connect(function()u(nil)
end)d.Changed:connect(function(B)if B=='AbsoluteSize'then u(nil)end end)d.
AncestryChanged:connect(function()u(nil)end)return d,g,h,u,i end local function
binaryGrow(b,c,d)if b>c then return b end local g=b while b<=c do local h=b+math
.floor((c-b)/2)if d(h)and(g==nil or g<h)then g=h b=h+1 else c=h-1 end end return
g end local function binaryShrink(b,c,d)if b>c then return b end local g=c while
b<=c do local h=b+math.floor((c-b)/2)if d(h)and(g==nil or g>h)then g=h c=h-1
else b=h+1 end end return g end local function getGuiOwner(b)while b~=nil do if
b:IsA'ScreenGui'or b:IsA'BillboardGui'then return b end b=b.Parent end return
nil end a.AutoTruncateTextObject=function(b)local c,d=b.Text,b:Clone()d.Name=
'Full'..b.Name d.BorderSizePixel=0 d.BackgroundTransparency=0 d.Text=c d.
TextXAlignment=Enum.TextXAlignment.Center d.Position=UDim2.new(0,-3,0,0)d.Size=
UDim2.new(0,100,1,0)d.Visible=false d.Parent=b local g,h,i=nil,nil,nil local j=
function()if getGuiOwner(b)==nil then return end b.Text=c if b.TextFits then if
h then h:disconnect()h=nil end if i then i:disconnect()i=nil end else local j=
string.len(c)b.Text=c..'~'local k=binaryGrow(0,j,function(k)if k==0 then b.Text=
'~'else b.Text=string.sub(c,1,k)..'~'end return b.TextFits end)g=string.sub(c,1,
k)..'~'b.Text=g if not d.TextFits then d.Size=UDim2.new(0,10000,1,0)end local l=
binaryShrink(b.AbsoluteSize.X,d.AbsoluteSize.X,function(l)d.Size=UDim2.new(0,l,1
,0)return d.TextFits end)d.Size=UDim2.new(0,l+6,1,0)if h==nil then h=b.
MouseEnter:connect(function()d.ZIndex=b.ZIndex+1 d.Visible=true end)end if i==
nil then i=b.MouseLeave:connect(function()d.Visible=false end)end end end b.
AncestryChanged:connect(j)b.Changed:connect(function(k)if k=='AbsoluteSize'then
j()end end)j()local function changeText(k)c=k d.Text=c j()end return b,
changeText end local function TransitionTutorialPages(b,c,d,g)if b then b.
Visible=false if d.Visible==false then d.Size=b.Size d.Position=b.Position end
else if d.Visible==false then d.Size=UDim2.new(0,50,0,50)d.Position=UDim2.new(
0.5,-25,0.5,-25)end end d.Visible=true g.Value=nil local h,i if c then c.Visible
=true newSize=c.Size i=c.Position c.Visible=false else newSize=UDim2.new(0,50,0,
50)i=UDim2.new(0.5,-25,0.5,-25)end d:TweenSizeAndPosition(newSize,i,Enum.
EasingDirection.InOut,Enum.EasingStyle.Quad,0.3,true,function(j)if j==Enum.
TweenStatus.Completed then d.Visible=false if c then c.Visible=true g.Value=c
end end end)end a.CreateTutorial=function(b,c,d)local g=Instance.new'Frame'g.
Name='Tutorial-'..b g.BackgroundTransparency=1 g.Size=UDim2.new(0.6,0,0.6,0)g.
Position=UDim2.new(0.2,0,0.2,0)local h=Instance.new'Frame'h.Name=
'TransitionFrame'h.Style=Enum.FrameStyle.RobloxRound h.Size=UDim2.new(0.6,0,0.6,
0)h.Position=UDim2.new(0.2,0,0.2,0)h.Visible=false h.Parent=g local i=Instance.
new'ObjectValue'i.Name='CurrentTutorialPage'i.Value=nil i.Parent=g local j=
Instance.new'BoolValue'j.Name='Buttons'j.Value=d j.Parent=g local k=Instance.new
'Frame'k.Name='Pages'k.BackgroundTransparency=1 k.Size=UDim2.new(1,0,1,0)k.
Parent=g local function getVisiblePageAndHideOthers()local l,m=nil,k:
GetChildren()if m then for n,o in ipairs(m)do if o.Visible then if l then o.
Visible=false else l=o end end end end return l end local l,m,n=function(l)if l
or UserSettings().GameSettings:GetTutorialState(c)==false then print(
'Showing tutorial-',c)local m,n=getVisiblePageAndHideOthers(),k:FindFirstChild
'TutorialPage1'if n then TransitionTutorialPages(m,n,h,i)else error
'Could not find TutorialPage1'end end end,function()local l=
getVisiblePageAndHideOthers()if l then TransitionTutorialPages(l,nil,h,i)end
UserSettings().GameSettings:SetTutorialState(c,true)end,function(l)local m,n=k:
FindFirstChild('TutorialPage'..l),getVisiblePageAndHideOthers()
TransitionTutorialPages(n,m,h,i)end return g,l,m,n end local function
CreateBasicTutorialPage(b,c,d,g)local h=Instance.new'Frame'h.Name='TutorialPage'
h.Style=Enum.FrameStyle.RobloxRound h.Size=UDim2.new(0.6,0,0.6,0)h.Position=
UDim2.new(0.2,0,0.2,0)h.Visible=false local i=Instance.new'TextLabel'i.Name=
'Header'i.Text=b i.BackgroundTransparency=1 i.FontSize=Enum.FontSize.Size24 i.
Font=Enum.Font.ArialBold i.TextColor3=Color3.new(1,1,1)i.TextXAlignment=Enum.
TextXAlignment.Center i.TextWrap=true i.Size=UDim2.new(1,-55,0,22)i.Position=
UDim2.new(0,0,0,0)i.Parent=h local j=Instance.new'ImageButton'j.Name=
'SkipButton'j.AutoButtonColor=false j.BackgroundTransparency=1 j.Image=
'rbxasset://textures/ui/closeButton.png'j.MouseButton1Click:connect(function()d(
)end)j.MouseEnter:connect(function()j.Image=
'rbxasset://textures/ui/closeButton_dn.png'end)j.MouseLeave:connect(function()j.
Image='rbxasset://textures/ui/closeButton.png'end)j.Size=UDim2.new(0,25,0,25)j.
Position=UDim2.new(1,-25,0,0)j.Parent=h if g then local k=Instance.new
'TextButton'k.Name='DoneButton'k.Style=Enum.ButtonStyle.RobloxButtonDefault k.
Text='Done'k.TextColor3=Color3.new(1,1,1)k.Font=Enum.Font.ArialBold k.FontSize=
Enum.FontSize.Size18 k.Size=UDim2.new(0,100,0,50)k.Position=UDim2.new(0.5,-50,1,
-50)if d then k.MouseButton1Click:connect(function()d()end)end k.Parent=h end
local k=Instance.new'Frame'k.Name='ContentFrame'k.BackgroundTransparency=1 k.
Position=UDim2.new(0,0,0,25)k.Parent=h local l=Instance.new'TextButton'l.Name=
'NextButton'l.Text='Next'l.TextColor3=Color3.new(1,1,1)l.Font=Enum.Font.Arial l.
FontSize=Enum.FontSize.Size18 l.Style=Enum.ButtonStyle.RobloxButtonDefault l.
Size=UDim2.new(0,80,0,32)l.Position=UDim2.new(0.5,5,1,-32)l.Active=false l.
Visible=false l.Parent=h local m=Instance.new'TextButton'm.Name='PrevButton'm.
Text='Previous'm.TextColor3=Color3.new(1,1,1)m.Font=Enum.Font.Arial m.FontSize=
Enum.FontSize.Size18 m.Style=Enum.ButtonStyle.RobloxButton m.Size=UDim2.new(0,80
,0,32)m.Position=UDim2.new(0.5,-85,1,-32)m.Active=false m.Visible=false m.Parent
=h if g then k.Size=UDim2.new(1,0,1,-75)else k.Size=UDim2.new(1,0,1,-22)end
local n=nil local function basicHandleResize()if h.Visible and h.Parent then
local o=math.min(h.Parent.AbsoluteSize.X,h.Parent.AbsoluteSize.Y)c(200,o)end end
h.Changed:connect(function(o)if o=='Parent'then if n~=nil then n:disconnect()n=
nil end if h.Parent and h.Parent:IsA'GuiObject'then n=h.Parent.Changed:connect(
function(p)if p=='AbsoluteSize'then wait()basicHandleResize()end end)
basicHandleResize()end end if o=='Visible'then basicHandleResize()end end)return
h,k end a.CreateTextTutorialPage=function(b,c,d)local g,h,i=nil,nil,Instance.new
'TextLabel'i.BackgroundTransparency=1 i.TextColor3=Color3.new(1,1,1)i.Text=c i.
TextWrap=true i.TextXAlignment=Enum.TextXAlignment.Left i.TextYAlignment=Enum.
TextYAlignment.Center i.Font=Enum.Font.Arial i.FontSize=Enum.FontSize.Size14 i.
Size=UDim2.new(1,0,1,0)local function handleResize(j,k)size=binaryShrink(j,k,
function(l)g.Size=UDim2.new(0,l,0,l)return i.TextFits end)g.Size=UDim2.new(0,
size,0,size)g.Position=UDim2.new(0.5,-size/2,0.5,-size/2)end g,h=
CreateBasicTutorialPage(b,handleResize,d)i.Parent=h return g end a.
CreateImageTutorialPage=function(b,c,d,g,h,i)local j,k,l=nil,nil,Instance.new
'ImageLabel'l.BackgroundTransparency=1 l.Image=c l.Size=UDim2.new(0,d,0,g)l.
Position=UDim2.new(0.5,-d/2,0.5,-g/2)local function handleResize(m,n)size=
binaryShrink(m,n,function(o)return o>=d and o>=g end)if size>=d and size>=g then
l.Size=UDim2.new(0,d,0,g)l.Position=UDim2.new(0.5,-d/2,0.5,-g/2)else if d>g then
l.Size=UDim2.new(1,0,g/d,0)l.Position=UDim2.new(0,0,0.5-(g/d)/2,0)else l.Size=
UDim2.new(d/g,0,1,0)l.Position=UDim2.new(0.5-(d/g)/2,0,0,0)end end size=size+50
j.Size=UDim2.new(0,size,0,size)j.Position=UDim2.new(0.5,-size/2,0.5,-size/2)end
j,k=CreateBasicTutorialPage(b,handleResize,h,i)l.Parent=k return j end a.
AddTutorialPage=function(b,c)local d,g=b.TransitionFrame,b.CurrentTutorialPage
if not b.Buttons.Value then c.NextButton.Parent=nil c.PrevButton.Parent=nil end
local h=b.Pages:GetChildren()if h and#h>0 then c.Name='TutorialPage'..(#h+1)
local i=h[#h]if not i:IsA'GuiObject'then error
'All elements under Pages must be GuiObjects'end if b.Buttons.Value then if i.
NextButton.Active then error
[[NextButton already Active on previousPage, please only add pages with RbxGui.AddTutorialPage function]]
end i.NextButton.MouseButton1Click:connect(function()TransitionTutorialPages(i,c
,d,g)end)i.NextButton.Active=true i.NextButton.Visible=true if c.PrevButton.
Active then error
[[PrevButton already Active on tutorialPage, please only add pages with RbxGui.AddTutorialPage function]]
end c.PrevButton.MouseButton1Click:connect(function()TransitionTutorialPages(c,i
,d,g)end)c.PrevButton.Active=true c.PrevButton.Visible=true end c.Parent=b.Pages
else c.Name='TutorialPage1'c.Parent=b.Pages end end a.CreateSetPanel=function(b,
c,d,g,h,i,j)if not b then error
[[CreateSetPanel: userIdsForSets (first arg) is nil, should be a table of number ids]]
end if type(b)~='table'and type(b)~='userdata'then error(
'CreateSetPanel: userIdsForSets (first arg) is of type '..type(b)..
', should be of type table or userdata')end if not c then error
[[CreateSetPanel: objectSelected (second arg) is nil, should be a callback function!]]
end if type(c)~='function'then error(
'CreateSetPanel: objectSelected (second arg) is of type '..type(c)..
', should be of type function!')end if d and type(d)~='function'then error(
'CreateSetPanel: dialogClosed (third arg) is of type '..type(d)..
', should be of type function!')end if i==nil then i=false end local k,l,m,n,o,p
,q,r,s=1,{},{},nil,nil,'NegX','None',nil local t={}t.CurrentCategory=nil t.
Category={}local u,v,w={},nil,64 local x,y,z,A=w,nil,nil,game:GetService
'ContentProvider'.BaseUrl:lower()if j then z=A..
[[Game/Tools/ThumbnailAsset.ashx?fmt=png&wd=420&ht=420&assetversionid=]]y=A..
[[Game/Tools/ThumbnailAsset.ashx?fmt=png&wd=75&ht=75&assetversionid=]]else z=A..
'Game/Tools/ThumbnailAsset.ashx?fmt=png&wd=420&ht=420&aid='y=A..
'Game/Tools/ThumbnailAsset.ashx?fmt=png&wd=75&ht=75&aid='end local function
drillDownSetZIndex(B,C)local D=B:GetChildren()for E=1,#D do if D[E]:IsA
'GuiObject'then D[E].ZIndex=C end drillDownSetZIndex(D[E],C)end end local B,C,D=
nil,{'Block','Vertical Ramp','Corner Wedge','Inverse Corner Wedge',
'Horizontal Ramp','Auto-Wedge'},{}for E=1,#C do D[C[E]]=E-1 end D[C[#C]]=6
local function createWaterGui()local E,F,G={'NegX','X','NegY','Y','NegZ','Z'},{
'None','Small','Medium','Strong','Max'},Instance.new'Frame'G.Name='WaterFrame'G.
Style=Enum.FrameStyle.RobloxSquare G.Size=UDim2.new(0,150,0,110)G.Visible=false
local H=Instance.new'TextLabel'H.Name='WaterForceLabel'H.BackgroundTransparency=
1 H.Size=UDim2.new(1,0,0,12)H.Font=Enum.Font.ArialBold H.FontSize=Enum.FontSize.
Size12 H.TextColor3=Color3.new(1,1,1)H.TextXAlignment=Enum.TextXAlignment.Left H
.Text='Water Force'H.Parent=G local I=H:Clone()I.Name='WaterForceDirectionLabel'
I.Text='Water Force Direction'I.Position=UDim2.new(0,0,0,50)I.Parent=G local J=
Instance.new'BindableEvent'J.Name='WaterTypeChangedEvent'J.Parent=G local K,L=
function(K)p=K J:Fire{q,p}end,function(K)q=K J:Fire{q,p}end local M,N=a.
CreateDropDownMenu(E,K)M.Size=UDim2.new(1,0,0,25)M.Position=UDim2.new(0,0,1,3)N
'NegX'M.Parent=I local O,P=a.CreateDropDownMenu(F,L)P'None'O.Size=UDim2.new(1,0,
0,25)O.Position=UDim2.new(0,0,1,3)O.Parent=H return G,J end local function
createSetGui()local E=Instance.new'ScreenGui'E.Name='SetGui'local F=Instance.new
'Frame'F.Name='SetPanel'F.Active=true F.BackgroundTransparency=1 if h then F.
Position=h else F.Position=UDim2.new(0.2,29,0.1,24)end if g then F.Size=g else F
.Size=UDim2.new(0.6,-58,0.64,0)end F.Style=Enum.FrameStyle.RobloxRound F.ZIndex=
6 F.Parent=E local G=Instance.new'Frame'G.Name='ItemPreview'G.
BackgroundTransparency=1 G.Position=UDim2.new(0.8,5,0.085,0)G.Size=UDim2.new(
0.21,0,0.9,0)G.ZIndex=6 G.Parent=F local H=Instance.new'Frame'H.Name='TextPanel'
H.BackgroundTransparency=1 H.Position=UDim2.new(0,0,0.45,0)H.Size=UDim2.new(1,0,
0.55,0)H.ZIndex=6 H.Parent=G local I=Instance.new'TextLabel'I.Name=
'RolloverText'I.BackgroundTransparency=1 I.Size=UDim2.new(1,0,0,48)I.ZIndex=6 I.
Font=Enum.Font.ArialBold I.FontSize=Enum.FontSize.Size24 I.Text=''I.TextColor3=
Color3.new(1,1,1)I.TextWrap=true I.TextXAlignment=Enum.TextXAlignment.Left I.
TextYAlignment=Enum.TextYAlignment.Top I.Parent=H local J=Instance.new
'ImageLabel'J.Name='LargePreview'J.BackgroundTransparency=1 J.Image=''J.Size=
UDim2.new(1,0,0,170)J.ZIndex=6 J.Parent=G local K=Instance.new'Frame'K.Name=
'Sets'K.BackgroundTransparency=1 K.Position=UDim2.new(0,0,0,5)K.Size=UDim2.new(
0.23,0,1,-5)K.ZIndex=6 K.Parent=F local L=Instance.new'Frame'L.Name='Line'L.
BackgroundColor3=Color3.new(1,1,1)L.BackgroundTransparency=0.7 L.BorderSizePixel
=0 L.Position=UDim2.new(1,-3,0.06,0)L.Size=UDim2.new(0,3,0.9,0)L.ZIndex=6 L.
Parent=K local M,N=a.CreateTrueScrollingFrame()M.Size=UDim2.new(1,-6,0.94,0)M.
Position=UDim2.new(0,0,0.06,0)M.BackgroundTransparency=1 M.Name='SetsLists'M.
ZIndex=6 M.Parent=K drillDownSetZIndex(N,7)local O=Instance.new'TextLabel'O.Name
='SetsHeader'O.BackgroundTransparency=1 O.Size=UDim2.new(0,47,0,24)O.ZIndex=6 O.
Font=Enum.Font.ArialBold O.FontSize=Enum.FontSize.Size24 O.Text='Sets'O.
TextColor3=Color3.new(1,1,1)O.TextXAlignment=Enum.TextXAlignment.Left O.
TextYAlignment=Enum.TextYAlignment.Top O.Parent=K local P=Instance.new
'TextButton'P.Name='CancelButton'P.Position=UDim2.new(1,-32,0,-2)P.Size=UDim2.
new(0,34,0,34)P.Style=Enum.ButtonStyle.RobloxButtonDefault P.ZIndex=6 P.Text=''P
.Modal=true P.Parent=F local Q=Instance.new'ImageLabel'Q.Name='CancelImage'Q.
BackgroundTransparency=1 Q.Image='http://www.roblox.com/asset?id=54135717'Q.
Position=UDim2.new(0,-2,0,-2)Q.Size=UDim2.new(0,16,0,16)Q.ZIndex=6 Q.Parent=P
return E end local function createSetButton(E)local F=Instance.new'TextButton'if
E then F.Text=E else F.Text=''end F.AutoButtonColor=false F.
BackgroundTransparency=1 F.BackgroundColor3=Color3.new(1,1,1)F.BorderSizePixel=0
F.Size=UDim2.new(1,-5,0,18)F.ZIndex=6 F.Visible=false F.Font=Enum.Font.Arial F.
FontSize=Enum.FontSize.Size18 F.TextColor3=Color3.new(1,1,1)F.TextXAlignment=
Enum.TextXAlignment.Left return F end local function buildSetButton(E,F,G,H,I)
local J=createSetButton(E)J.Text=E J.Name='SetButton'J.Visible=true local K=
Instance.new'IntValue'K.Name='SetId'K.Value=F K.Parent=J local L=Instance.new
'StringValue'L.Name='SetName'L.Value=E L.Parent=J return J end local function
processCategory(E)local F,G={},0 for H=1,#E do if not i and E[H].Name=='Beta'
then G=G+1 else F[H-G]=buildSetButton(E[H].Name,E[H].CategoryId,E[H].
ImageAssetId,H-G,#E)end end return F end local function handleResize()wait()
local E=o.SetPanel.ItemPreview E.LargePreview.Size=UDim2.new(1,0,0,E.
AbsoluteSize.X)E.LargePreview.Position=UDim2.new(0.5,-E.LargePreview.
AbsoluteSize.X/2,0,0)E.TextPanel.Position=UDim2.new(0,0,0,E.LargePreview.
AbsoluteSize.Y)E.TextPanel.Size=UDim2.new(1,0,0,E.AbsoluteSize.Y-E.LargePreview.
AbsoluteSize.Y)end local function makeInsertAssetButton()local E=Instance.new
'Frame'E.Name='InsertAssetButtonExample'E.Position=UDim2.new(0,128,0,64)E.Size=
UDim2.new(0,64,0,64)E.BackgroundTransparency=1 E.ZIndex=6 E.Visible=false local
F=Instance.new'IntValue'F.Name='AssetId'F.Value=0 F.Parent=E local G=Instance.
new'StringValue'G.Name='AssetName'G.Value=''G.Parent=E local H=Instance.new
'TextButton'H.Name='Button'H.Text=''H.Style=Enum.ButtonStyle.RobloxButton H.
Position=UDim2.new(0.025,0,0.025,0)H.Size=UDim2.new(0.95,0,0.95,0)H.ZIndex=6 H.
Parent=E local I=Instance.new'ImageLabel'I.Name='ButtonImage'I.Image=''I.
Position=UDim2.new(0,-7,0,-7)I.Size=UDim2.new(1,14,1,14)I.BackgroundTransparency
=1 I.ZIndex=7 I.Parent=H local J=I:clone()J.Name='ConfigIcon'J.Visible=false J.
Position=UDim2.new(1,-23,1,-24)J.Size=UDim2.new(0,16,0,16)J.Image=''J.ZIndex=6 J
.Parent=E return E end local function showLargePreview(E)if E:FindFirstChild
'AssetId'then delay(0,function()game:GetService'ContentProvider':Preload(z..
tostring(E.AssetId.Value))o.SetPanel.ItemPreview.LargePreview.Image=z..tostring(
E.AssetId.Value)end)end if E:FindFirstChild'AssetName'then o.SetPanel.
ItemPreview.TextPanel.RolloverText.Text=E.AssetName.Value end end local function
selectTerrainShape(E)if B then c(tostring(B.AssetName.Value),tonumber(B.AssetId.
Value),E)end end local function createTerrainTypeButton(E,F)local G=Instance.new
'TextButton'G.Name=E..'Button'G.Font=Enum.Font.ArialBold G.FontSize=Enum.
FontSize.Size14 G.BorderSizePixel=0 G.TextColor3=Color3.new(1,1,1)G.Text=E G.
TextXAlignment=Enum.TextXAlignment.Left G.BackgroundTransparency=1 G.ZIndex=F.
ZIndex+1 G.Size=UDim2.new(0,F.Size.X.Offset-2,0,16)G.Position=UDim2.new(0,1,0,0)
G.MouseEnter:connect(function()G.BackgroundTransparency=0 G.TextColor3=Color3.
new(0,0,0)end)G.MouseLeave:connect(function()G.BackgroundTransparency=1 G.
TextColor3=Color3.new(1,1,1)end)G.MouseButton1Click:connect(function()G.
BackgroundTransparency=1 G.TextColor3=Color3.new(1,1,1)if G.Parent and G.Parent:
IsA'GuiObject'then G.Parent.Visible=false end selectTerrainShape(D[G.Text])end)
return G end local function createTerrainDropDownMenu(E)local F=Instance.new
'Frame'F.Name='TerrainDropDown'F.BackgroundColor3=Color3.new(0,0,0)F.
BorderColor3=Color3.new(1,0,0)F.Size=UDim2.new(0,200,0,0)F.Visible=false F.
ZIndex=E F.Parent=o for G=1,#C do local H=createTerrainTypeButton(C[G],F)H.
Position=UDim2.new(0,1,0,(G-1)*H.Size.Y.Offset)H.Parent=F F.Size=UDim2.new(0,200
,0,F.Size.Y.Offset+H.Size.Y.Offset)end F.MouseLeave:connect(function()F.Visible=
false end)end local function createDropDownMenuButton(E)local F=Instance.new
'ImageButton'F.Name='DropDownButton'F.Image=
'http://www.roblox.com/asset/?id=67581509'F.BackgroundTransparency=1 F.Size=
UDim2.new(0,16,0,16)F.Position=UDim2.new(1,-24,0,6)F.ZIndex=E.ZIndex+2 F.Parent=
E if not o:FindFirstChild'TerrainDropDown'then createTerrainDropDownMenu(8)end F
.MouseButton1Click:connect(function()o.TerrainDropDown.Visible=true o.
TerrainDropDown.Position=UDim2.new(0,E.AbsolutePosition.X,0,E.AbsolutePosition.Y
)B=E end)end local function buildInsertButton()local E=makeInsertAssetButton()E.
Name='InsertAssetButton'E.Visible=true if t.Category[t.CurrentCategory].SetName
=='High Scalability'then createDropDownMenuButton(E)end local F=nil local G=E.
MouseEnter:connect(function()F=E delay(0.1,function()if F==E then
showLargePreview(E)end end)end)return E,G end local function realignButtonGrid(E
)local F,G=0,0 for H=1,#l do l[H].Position=UDim2.new(0,w*F,0,x*G)F=F+1 if F>=E
then F=0 G=G+1 end end end local function setInsertButtonImageBehavior(E,F,G,H)
if F then E.AssetName.Value=G E.AssetId.Value=H local I=y..H if I~=E.Button.
ButtonImage.Image then delay(0,function()game:GetService'ContentProvider':
Preload(y..H)E.Button.ButtonImage.Image=y..H end)end table.insert(m,E.Button.
MouseButton1Click:connect(function()local J=(G=='Water')and(t.Category[t.
CurrentCategory].SetName=='High Scalability')r.Visible=J if J then c(G,tonumber(
H),nil)else c(G,tonumber(H))end end))E.Visible=true else E.Visible=false end end
local function loadSectionOfItems(E,F,G)local H=F*G if k>#n then return end
local I,J=k,0 for K=1,H+1 do if k>=#n+1 then break end local L l[k],L=
buildInsertButton()table.insert(m,L)l[k].Parent=E.SetPanel.ItemsFrame k=k+1 end
realignButtonGrid(G)local K=I for L=I,k do if l[L]then if n[L]then if n[L].Name
=='Water'then if t.Category[t.CurrentCategory].SetName=='High Scalability'then l
[L]:FindFirstChild('DropDownButton',true):Destroy()end end local M if j then M=n
[L].AssetVersionId else M=n[L].AssetId end setInsertButtonImageBehavior(l[L],
true,n[L].Name,M)else break end else break end K=L end end local function
setSetIndex()t.Category[t.CurrentCategory].Index=0 rows=7 columns=math.floor(o.
SetPanel.ItemsFrame.AbsoluteSize.X/w)n=t.Category[t.CurrentCategory].Contents if
n then for E=1,#l do l[E]:remove()end for E=1,#m do if m[E]then m[E]:disconnect(
)end end m={}l={}k=1 loadSectionOfItems(o,rows,columns)end end local function
selectSet(E,F,G,H)if E and t.Category[t.CurrentCategory]~=nil then if E~=t.
Category[t.CurrentCategory].Button then t.Category[t.CurrentCategory].Button=E
if u[G]==nil then u[G]=game:GetService'InsertService':GetCollection(G)end t.
Category[t.CurrentCategory].Contents=u[G]t.Category[t.CurrentCategory].SetName=F
t.Category[t.CurrentCategory].SetId=G end setSetIndex()end end local function
selectCategoryPage(E,F)if E~=t.CurrentCategory then if t.CurrentCategory then
for G,H in pairs(t.CurrentCategory)do H.Visible=false end end t.CurrentCategory=
E if t.Category[t.CurrentCategory]==nil then t.Category[t.CurrentCategory]={}if#
E>0 then selectSet(E[1],E[1].SetName.Value,E[1].SetId.Value,0)end else t.
Category[t.CurrentCategory].Button=nil selectSet(t.Category[t.CurrentCategory].
ButtonFrame,t.Category[t.CurrentCategory].SetName,t.Category[t.CurrentCategory].
SetId,t.Category[t.CurrentCategory].Index)end end end local function
selectCategory(E)selectCategoryPage(E,0)end local function
resetAllSetButtonSelection()local E=o.SetPanel.Sets.SetsLists:GetChildren()for F
=1,#E do if E[F]:IsA'TextButton'then E[F].Selected=false E[F].
BackgroundTransparency=1 E[F].TextColor3=Color3.new(1,1,1)E[F].BackgroundColor3=
Color3.new(1,1,1)end end end local function populateSetsFrame()local E=0 for F=1
,#v do local G=v[F]G.Visible=true G.Position=UDim2.new(0,5,0,E*G.Size.Y.Offset)G
.Parent=o.SetPanel.Sets.SetsLists if F==1 then G.Selected=true G.
BackgroundColor3=Color3.new(0,0.8,0)G.TextColor3=Color3.new(0,0,0)G.
BackgroundTransparency=0 end G.MouseEnter:connect(function()if not G.Selected
then G.BackgroundTransparency=0 G.TextColor3=Color3.new(0,0,0)end end)G.
MouseLeave:connect(function()if not G.Selected then G.BackgroundTransparency=1 G
.TextColor3=Color3.new(1,1,1)end end)G.MouseButton1Click:connect(function()
resetAllSetButtonSelection()G.Selected=not G.Selected G.BackgroundColor3=Color3.
new(0,0.8,0)G.TextColor3=Color3.new(0,0,0)G.BackgroundTransparency=0 selectSet(G
,G.Text,v[F].SetId.Value,0)end)E=E+1 end local F=o.SetPanel.Sets.SetsLists:
GetChildren()if F then for G=1,#F do if F[G]:IsA'TextButton'then selectSet(F[G],
F[G].Text,v[G].SetId.Value,0)selectCategory(v)break end end end end o=
createSetGui()r,s=createWaterGui()r.Position=UDim2.new(0,55,0,0)r.Parent=o o.
Changed:connect(function(E)if E=='AbsoluteSize'then handleResize()setSetIndex()
end end)local E,F=a.CreateTrueScrollingFrame()E.Size=UDim2.new(0.54,0,0.85,0)E.
Position=UDim2.new(0.24,0,0.085,0)E.Name='ItemsFrame'E.ZIndex=6 E.Parent=o.
SetPanel E.BackgroundTransparency=1 drillDownSetZIndex(F,7)F.Parent=o.SetPanel F
.Position=UDim2.new(0.76,5,0,0)local G=false F.ScrollBottom.Changed:connect(
function(H)if F.ScrollBottom.Value==true then if G then return end G=true
loadSectionOfItems(o,rows,columns)G=false end end)local H={}for I=1,#b do local
J=game:GetService'InsertService':GetUserSets(b[I])if J and#J>2 then for K=3,#J
do if J[K].Name=='High Scalability'then table.insert(H,1,J[K])else table.insert(
H,J[K])end end end end if H then v=processCategory(H)end rows=math.floor(o.
SetPanel.ItemsFrame.AbsoluteSize.Y/x)columns=math.floor(o.SetPanel.ItemsFrame.
AbsoluteSize.X/w)populateSetsFrame()insertPanelCloseCon=o.SetPanel.CancelButton.
MouseButton1Click:connect(function()o.SetPanel.Visible=false if d then d()end
end)local I,J=function(I)if I then o.SetPanel.Visible=true else o.SetPanel.
Visible=false end end,function()if o then if o:FindFirstChild'SetPanel'then
return o.SetPanel.Visible end end return false end return o,I,J,s end a.
CreateTerrainMaterialSelector=function(b,c)local d=Instance.new'BindableEvent'd.
Name='TerrainMaterialSelectionChanged'local g,h=nil,Instance.new'Frame'h.Name=
'TerrainMaterialSelector'if b then h.Size=b else h.Size=UDim2.new(0,245,0,230)
end if c then h.Position=c end h.BorderSizePixel=0 h.BackgroundColor3=Color3.
new(0,0,0)h.Active=true d.Parent=h local i,j,k=true,{},{'Grass','Sand','Brick',
'Granite','Asphalt','Iron','Aluminum','Gold','Plank','Log','Gravel',
'Cinder Block','Stone Wall','Concrete','Plastic (red)','Plastic (blue)'}if i
then table.insert(k,'Water')end local l=1 function getEnumFromName(m)if m==
'Grass'then return 1 end if m=='Sand'then return 2 end if m=='Erase'then return
0 end if m=='Brick'then return 3 end if m=='Granite'then return 4 end if m==
'Asphalt'then return 5 end if m=='Iron'then return 6 end if m=='Aluminum'then
return 7 end if m=='Gold'then return 8 end if m=='Plank'then return 9 end if m==
'Log'then return 10 end if m=='Gravel'then return 11 end if m=='Cinder Block'
then return 12 end if m=='Stone Wall'then return 13 end if m=='Concrete'then
return 14 end if m=='Plastic (red)'then return 15 end if m=='Plastic (blue)'then
return 16 end if m=='Water'then return 17 end end function getNameFromEnum(m)if
m==Enum.CellMaterial.Grass or m==1 then return'Grass'end if m==Enum.CellMaterial
.Sand or m==2 then return'Sand'end if m==Enum.CellMaterial.Empty or m==0 then
return'Erase'end if m==Enum.CellMaterial.Brick or m==3 then return'Brick'end if
m==Enum.CellMaterial.Granite or m==4 then return'Granite'end if m==Enum.
CellMaterial.Asphalt or m==5 then return'Asphalt'end if m==Enum.CellMaterial.
Iron or m==6 then return'Iron'end if m==Enum.CellMaterial.Aluminum or m==7 then
return'Aluminum'end if m==Enum.CellMaterial.Gold or m==8 then return'Gold'end if
m==Enum.CellMaterial.WoodPlank or m==9 then return'Plank'end if m==Enum.
CellMaterial.WoodLog or m==10 then return'Log'end if m==Enum.CellMaterial.Gravel
or m==11 then return'Gravel'end if m==Enum.CellMaterial.CinderBlock or m==12
then return'Cinder Block'end if m==Enum.CellMaterial.MossyStone or m==13 then
return'Stone Wall'end if m==Enum.CellMaterial.Cement or m==14 then return
'Concrete'end if m==Enum.CellMaterial.RedPlastic or m==15 then return
'Plastic (red)'end if m==Enum.CellMaterial.BluePlastic or m==16 then return
'Plastic (blue)'end if i then if m==Enum.CellMaterial.Water or m==17 then return
'Water'end end end local function updateMaterialChoice(m)l=getEnumFromName(m)d:
Fire(l)end for m,n in pairs(k)do j[n]={}if n=='Grass'then j[n].Regular=
'http://www.roblox.com/asset/?id=56563112'elseif n=='Sand'then j[n].Regular=
'http://www.roblox.com/asset/?id=62356652'elseif n=='Brick'then j[n].Regular=
'http://www.roblox.com/asset/?id=65961537'elseif n=='Granite'then j[n].Regular=
'http://www.roblox.com/asset/?id=67532153'elseif n=='Asphalt'then j[n].Regular=
'http://www.roblox.com/asset/?id=67532038'elseif n=='Iron'then j[n].Regular=
'http://www.roblox.com/asset/?id=67532093'elseif n=='Aluminum'then j[n].Regular=
'http://www.roblox.com/asset/?id=67531995'elseif n=='Gold'then j[n].Regular=
'http://www.roblox.com/asset/?id=67532118'elseif n=='Plastic (red)'then j[n].
Regular='http://www.roblox.com/asset/?id=67531848'elseif n=='Plastic (blue)'then
j[n].Regular='http://www.roblox.com/asset/?id=67531924'elseif n=='Plank'then j[n
].Regular='http://www.roblox.com/asset/?id=67532015'elseif n=='Log'then j[n].
Regular='http://www.roblox.com/asset/?id=67532051'elseif n=='Gravel'then j[n].
Regular='http://www.roblox.com/asset/?id=67532206'elseif n=='Cinder Block'then j
[n].Regular='http://www.roblox.com/asset/?id=67532103'elseif n=='Stone Wall'then
j[n].Regular='http://www.roblox.com/asset/?id=67531804'elseif n=='Concrete'then
j[n].Regular='http://www.roblox.com/asset/?id=67532059'elseif n=='Water'then j[n
].Regular='http://www.roblox.com/asset/?id=81407474'else j[n].Regular=
'http://www.roblox.com/asset/?id=66887593'end end local o,p,q,r=a.
CreateScrollingFrame(nil,'grid')o.Size=UDim2.new(0.85,0,1,0)o.Position=UDim2.
new(0,0,0,0)o.Parent=h p.Parent=h p.Visible=true p.Position=UDim2.new(1,-19,0,0)
q.Parent=h q.Visible=true q.Position=UDim2.new(1,-19,1,-17)local function
goToNewMaterial(s,t)updateMaterialChoice(t)s.BackgroundTransparency=0 g.
BackgroundTransparency=1 g=s end local function createMaterialButton(s)local t=
Instance.new'TextButton't.Text=''t.Size=UDim2.new(0,32,0,32)t.BackgroundColor3=
Color3.new(1,1,1)t.BorderSizePixel=0 t.BackgroundTransparency=1 t.
AutoButtonColor=false t.Name=tostring(s)local u=Instance.new'ImageButton'u.
AutoButtonColor=false u.BackgroundTransparency=1 u.Size=UDim2.new(0,30,0,30)u.
Position=UDim2.new(0,1,0,1)u.Name=tostring(s)u.Parent=t u.Image=j[s].Regular
local v=Instance.new'NumberValue'v.Name='EnumType'v.Parent=t v.Value=0 u.
MouseEnter:connect(function()t.BackgroundTransparency=0 end)u.MouseLeave:
connect(function()if g~=t then t.BackgroundTransparency=1 end end)u.
MouseButton1Click:connect(function()if g~=t then goToNewMaterial(t,tostring(s))
end end)return t end for s=1,#k do local t=createMaterialButton(k[s])if k[s]==
'Grass'then g=t t.BackgroundTransparency=0 end t.Parent=o end local s=function(s
)if not s then return end if l==s then return end local t,u=getNameFromEnum(s),o
:GetChildren()for v=1,#u do if u[v].Name=='Plastic (blue)'and t==
'Plastic (blue)'then goToNewMaterial(u[v],t)return end if u[v].Name==
'Plastic (red)'and t=='Plastic (red)'then goToNewMaterial(u[v],t)return end if
string.find(u[v].Name,t)then goToNewMaterial(u[v],t)return end end end h.Changed
:connect(function(t)if t=='AbsoluteSize'then r()end end)r()return h,d,s end a.
CreateLoadingFrame=function(b,c,d)game:GetService'ContentProvider':Preload
'http://www.roblox.com/asset/?id=35238053'local g=Instance.new'Frame'g.Name=
'LoadingFrame'g.Style=Enum.FrameStyle.RobloxRound if c then g.Size=c else g.Size
=UDim2.new(0,300,0,160)end if d then g.Position=d else g.Position=UDim2.new(0.5,
-150,0.5,-80)end local h=Instance.new'Frame'h.Name='LoadingBar'h.
BackgroundColor3=Color3.new(0,0,0)h.BorderColor3=Color3.new(0.30980392156862746,
0.30980392156862746,0.30980392156862746)h.Position=UDim2.new(0,0,0,41)h.Size=
UDim2.new(1,0,0,30)h.Parent=g local i=Instance.new'ImageLabel'i.Name=
'LoadingGreenBar'i.Image='http://www.roblox.com/asset/?id=35238053'i.Position=
UDim2.new(0,0,0,0)i.Size=UDim2.new(0,0,1,0)i.Visible=false i.Parent=h local j=
Instance.new'TextLabel'j.Name='LoadingPercent'j.BackgroundTransparency=1 j.
Position=UDim2.new(0,0,1,0)j.Size=UDim2.new(1,0,0,14)j.Font=Enum.Font.Arial j.
Text='0%'j.FontSize=Enum.FontSize.Size14 j.TextColor3=Color3.new(1,1,1)j.Parent=
h local k=Instance.new'TextButton'k.Name='CancelButton'k.Position=UDim2.new(0.5,
-60,1,-40)k.Size=UDim2.new(0,120,0,40)k.Font=Enum.Font.Arial k.FontSize=Enum.
FontSize.Size18 k.TextColor3=Color3.new(1,1,1)k.Text='Cancel'k.Style=Enum.
ButtonStyle.RobloxButton k.Parent=g local l=Instance.new'TextLabel'l.Name=
'loadingName'l.BackgroundTransparency=1 l.Size=UDim2.new(1,0,0,18)l.Position=
UDim2.new(0,0,0,2)l.Font=Enum.Font.Arial l.Text=b l.TextColor3=Color3.new(1,1,1)
l.TextStrokeTransparency=1 l.FontSize=Enum.FontSize.Size18 l.Parent=g local m=
Instance.new'BindableEvent'm.Name='CancelButtonClicked'm.Parent=k k.
MouseButton1Click:connect(function()m:Fire()end)local n=function(n,o,p)if n and
type(n)~='number'then error(
'updateLoadingGuiPercent expects number as argument, got',type(n),'instead')end
local q=nil if n<0 then q=UDim2.new(0,0,1,0)elseif n>1 then q=UDim2.new(1,0,1,0)
else q=UDim2.new(n,0,1,0)end if o then if not p then error
[[updateLoadingGuiPercent is set to tween new percentage, but got no tween time length! Please pass this in as third argument]]
end if q.X.Scale>0 then i.Visible=true i:TweenSize(q,Enum.EasingDirection.Out,
Enum.EasingStyle.Quad,p,true)else i:TweenSize(q,Enum.EasingDirection.Out,Enum.
EasingStyle.Quad,p,true,function()if q.X.Scale<0 then i.Visible=false end end)
end else i.Size=q i.Visible=(q.X.Scale>0)end end i.Changed:connect(function(o)if
o=='Size'then j.Text=tostring(math.ceil(i.Size.X.Scale*100))..'%'end end)return
g,n,m end a.CreatePluginFrame=function(b,c,d,g,h)function createMenuButton(i,j,k
,l,m,n)local o=Instance.new'TextButton'o.AutoButtonColor=false o.Name=m o.
BackgroundTransparency=1 o.Position=j o.Size=i o.Font=Enum.Font.ArialBold o.
FontSize=l o.Text=k o.TextColor3=Color3.new(1,1,1)o.BorderSizePixel=0 o.
BackgroundColor3=Color3.new(7.8431372549019605E-2,7.8431372549019605E-2,
7.8431372549019605E-2)o.MouseEnter:connect(function()if o.Selected then return
end o.BackgroundTransparency=0 end)o.MouseLeave:connect(function()if o.Selected
then return end o.BackgroundTransparency=1 end)o.Parent=n return o end local i=
Instance.new'Frame'i.Name=tostring(b)..'DragBar'i.BackgroundColor3=Color3.new(
0.15294117647058825,0.15294117647058825,0.15294117647058825)i.BorderColor3=
Color3.new(0,0,0)if c then i.Size=UDim2.new(c.X.Scale,c.X.Offset,0,20)+UDim2.
new(0,20,0,0)else i.Size=UDim2.new(0,183,0,20)end if d then i.Position=d end i.
Active=true i.Draggable=true i.MouseEnter:connect(function()i.BackgroundColor3=
Color3.new(0.19215686274509805,0.19215686274509805,0.19215686274509805)end)i.
MouseLeave:connect(function()i.BackgroundColor3=Color3.new(0.15294117647058825,
0.15294117647058825,0.15294117647058825)end)i.Parent=h local j=Instance.new
'TextLabel'j.Name='BarNameLabel'j.Text=' '..tostring(b)j.TextColor3=Color3.new(1
,1,1)j.TextStrokeTransparency=0 j.Size=UDim2.new(1,0,1,0)j.Font=Enum.Font.
ArialBold j.FontSize=Enum.FontSize.Size18 j.TextXAlignment=Enum.TextXAlignment.
Left j.BackgroundTransparency=1 j.Parent=i local k,l=createMenuButton(UDim2.new(
0,15,0,17),UDim2.new(1,-16,0.5,-8),'X',Enum.FontSize.Size14,'CloseButton',i),
Instance.new'BindableEvent'l.Name='CloseEvent'l.Parent=k k.MouseButton1Click:
connect(function()l:Fire()k.BackgroundTransparency=1 end)local m,n=
createMenuButton(UDim2.new(0,15,0,17),UDim2.new(1,-51,0.5,-8),'?',Enum.FontSize.
Size14,'HelpButton',i),Instance.new'Frame'n.Name='HelpFrame'n.BackgroundColor3=
Color3.new(0,0,0)n.Size=UDim2.new(0,300,0,552)n.Position=UDim2.new(1,5,0,0)n.
Active=true n.BorderSizePixel=0 n.Visible=false n.Parent=i m.MouseButton1Click:
connect(function()n.Visible=not n.Visible if n.Visible then m.Selected=true m.
BackgroundTransparency=0 local o=getScreenGuiAncestor(n)if o then if n.
AbsolutePosition.X+n.AbsoluteSize.X>o.AbsoluteSize.X then n.Position=UDim2.new(0
,-5-n.AbsoluteSize.X,0,0)else n.Position=UDim2.new(1,5,0,0)end else n.Position=
UDim2.new(1,5,0,0)end else m.Selected=false m.BackgroundTransparency=1 end end)
local o=createMenuButton(UDim2.new(0,16,0,17),UDim2.new(1,-34,0.5,-8),'-',Enum.
FontSize.Size14,'MinimizeButton',i)o.TextYAlignment=Enum.TextYAlignment.Top
local p=Instance.new'Frame'p.Name='MinimizeFrame'p.BackgroundColor3=Color3.new(
0.28627450980392155,0.28627450980392155,0.28627450980392155)p.BorderColor3=
Color3.new(0,0,0)p.Position=UDim2.new(0,0,1,0)if c then p.Size=UDim2.new(c.X.
Scale,c.X.Offset,0,50)+UDim2.new(0,20,0,0)else p.Size=UDim2.new(0,183,0,50)end p
.Visible=false p.Parent=i local q=Instance.new'TextButton'q.Position=UDim2.new(
0.5,-50,0.5,-20)q.Name='MinimizeButton'q.Size=UDim2.new(0,100,0,40)q.Style=Enum.
ButtonStyle.RobloxButton q.Font=Enum.Font.ArialBold q.FontSize=Enum.FontSize.
Size18 q.TextColor3=Color3.new(1,1,1)q.Text='Show'q.Parent=p local r=Instance.
new'Frame'r.Name='SeparatingLine'r.BackgroundColor3=Color3.new(
0.45098039215686275,0.45098039215686275,0.45098039215686275)r.BorderSizePixel=0
r.Position=UDim2.new(1,-18,0.5,-7)r.Size=UDim2.new(0,1,0,14)r.Parent=i local s=r
:clone()s.Position=UDim2.new(1,-35,0.5,-7)s.Parent=i local t=Instance.new'Frame'
t.Name='WidgetContainer't.BackgroundTransparency=1 t.Position=UDim2.new(0,0,1,0)
t.BorderColor3=Color3.new(0,0,0)if not g then t.BackgroundTransparency=0 t.
BackgroundColor3=Color3.new(0.2823529411764706,0.2823529411764706,
0.2823529411764706)end t.Parent=i if c then if g then t.Size=c else t.Size=UDim2
.new(0,i.AbsoluteSize.X,c.Y.Scale,c.Y.Offset)end else if g then t.Size=UDim2.
new(0,163,0,400)else t.Size=UDim2.new(0,i.AbsoluteSize.X,0,400)end end if d then
t.Position=d+UDim2.new(0,0,0,20)end local u,v,w=nil if g then u,v=a.
CreateTrueScrollingFrame()u.Size=UDim2.new(1,0,1,0)u.BackgroundColor3=Color3.
new(0.2823529411764706,0.2823529411764706,0.2823529411764706)u.BorderColor3=
Color3.new(0,0,0)u.Active=true u.Parent=t v.Parent=i v.BackgroundColor3=Color3.
new(0.2823529411764706,0.2823529411764706,0.2823529411764706)v.BorderSizePixel=0
v.BackgroundTransparency=0 v.Position=UDim2.new(1,-21,1,1)if c then v.Size=UDim2
.new(0,21,c.Y.Scale,c.Y.Offset)else v.Size=UDim2.new(0,21,0,400)end v:
FindFirstChild'ScrollDownButton'.Position=UDim2.new(0,0,1,-20)local x=Instance.
new'Frame'x.Name='FakeLine'x.BorderSizePixel=0 x.BackgroundColor3=Color3.new(0,0
,0)x.Size=UDim2.new(0,1,1,1)x.Position=UDim2.new(1,0,0,0)x.Parent=v w=Instance.
new'TextButton'w.ZIndex=2 w.AutoButtonColor=false w.Name='VerticalDragger'w.
BackgroundColor3=Color3.new(0.19607843137254902,0.19607843137254902,
0.19607843137254902)w.BorderColor3=Color3.new(0,0,0)w.Size=UDim2.new(1,20,0,20)w
.Position=UDim2.new(0,0,1,0)w.Active=true w.Text=''w.Parent=t local y=Instance.
new'Frame'y.Name='ScrubFrame'y.BackgroundColor3=Color3.new(1,1,1)y.
BorderSizePixel=0 y.Position=UDim2.new(0.5,-5,0.5,0)y.Size=UDim2.new(0,10,0,1)y.
ZIndex=5 y.Parent=w local z=y:clone()z.Position=UDim2.new(0.5,-5,0.5,-2)z.Parent
=w local A=y:clone()A.Position=UDim2.new(0.5,-5,0.5,2)A.Parent=w local B=
Instance.new'TextButton'B.Name='AreaSoak'B.Size=UDim2.new(1,0,1,0)B.
BackgroundTransparency=1 B.BorderSizePixel=0 B.Text=''B.ZIndex=10 B.Visible=
false B.Active=true B.Parent=getScreenGuiAncestor(h)local C,D=false,nil w.
MouseEnter:connect(function()w.BackgroundColor3=Color3.new(0.23529411764705882,
0.23529411764705882,0.23529411764705882)end)w.MouseLeave:connect(function()w.
BackgroundColor3=Color3.new(0.19607843137254902,0.19607843137254902,
0.19607843137254902)end)w.MouseButton1Down:connect(function(E,F)C=true B.Visible
=true D=F end)B.MouseButton1Up:connect(function()C=false B.Visible=false end)B.
MouseMoved:connect(function(E,F)if not C then return end local G=F-D if not v.
ScrollDownButton.Visible and G>0 then return end if(t.Size.Y.Offset+G)<150 then
t.Size=UDim2.new(t.Size.X.Scale,t.Size.X.Offset,t.Size.Y.Scale,150)v.Size=UDim2.
new(0,21,0,150)return end D=F if t.Size.Y.Offset+G>=0 then t.Size=UDim2.new(t.
Size.X.Scale,t.Size.X.Offset,t.Size.Y.Scale,t.Size.Y.Offset+G)v.Size=UDim2.new(0
,21,0,v.Size.Y.Offset+G)end end)end local function switchMinimize()p.Visible=not
p.Visible if g then u.Visible=not u.Visible w.Visible=not w.Visible v.Visible=
not v.Visible else t.Visible=not t.Visible end if p.Visible then o.Text='+'else
o.Text='-'end end q.MouseButton1Click:connect(function()switchMinimize()end)o.
MouseButton1Click:connect(function()switchMinimize()end)if g then return i,u,n,l
else return i,t,n,l end end a.Help=function(b)if b=='CreatePropertyDropDownMenu'
or b==a.CreatePropertyDropDownMenu then return
[[Function CreatePropertyDropDownMenu. Arguments: (instance, propertyName, enumType). Side effect: returns a container with a drop-down-box that is linked to the 'property' field of 'instance' which is of type 'enumType']]
end if b=='CreateDropDownMenu'or b==a.CreateDropDownMenu then return
[[Function CreateDropDownMenu. Arguments: (items, onItemSelected). Side effect: Returns 2 results, a container to the gui object and a 'updateSelection' function for external updating. The container is a drop-down-box created around a list of items]]
end if b=='CreateMessageDialog'or b==a.CreateMessageDialog then return
[[Function CreateMessageDialog. Arguments: (title, message, buttons). Side effect: Returns a gui object of a message box with 'title' and 'message' as passed in. 'buttons' input is an array of Tables contains a 'Text' and 'Function' field for the text/callback of each button]]
end if b=='CreateStyledMessageDialog'or b==a.CreateStyledMessageDialog then
return
[[Function CreateStyledMessageDialog. Arguments: (title, message, style, buttons). Side effect: Returns a gui object of a message box with 'title' and 'message' as passed in. 'buttons' input is an array of Tables contains a 'Text' and 'Function' field for the text/callback of each button, 'style' is a string, either Error, Notify or Confirm]]
end if b=='GetFontHeight'or b==a.GetFontHeight then return
[[Function GetFontHeight. Arguments: (font, fontSize). Side effect: returns the size in pixels of the given font + fontSize]]
end if b=='CreateScrollingFrame'or b==a.CreateScrollingFrame then return
[[Function CreateScrollingFrame. Arguments: (orderList, style) Side effect: returns 4 objects, (scrollFrame, scrollUpButton, scrollDownButton, recalculateFunction). 'scrollFrame' can be filled with GuiObjects. It will lay them out and allow scrollUpButton/scrollDownButton to interact with them. Orderlist is optional (and specifies the order to layout the children. Without orderlist, it uses the children order. style is also optional, and allows for a 'grid' styling if style is passed 'grid' as a string. recalculateFunction can be called when a relayout is needed (when orderList changes)]]
end if b=='CreateTrueScrollingFrame'or b==a.CreateTrueScrollingFrame then return
[[Function CreateTrueScrollingFrame. Arguments: (nil) Side effect: returns 2 objects, (scrollFrame, controlFrame). 'scrollFrame' can be filled with GuiObjects, and they will be clipped if not inside the frame's bounds. controlFrame has children scrollup and scrolldown, as well as a slider. controlFrame can be parented to any guiobject and it will readjust itself to fit.]]
end if b=='AutoTruncateTextObject'or b==a.AutoTruncateTextObject then return
[[Function AutoTruncateTextObject. Arguments: (textLabel) Side effect: returns 2 objects, (textLabel, changeText). The 'textLabel' input is modified to automatically truncate text (with ellipsis), if it gets too small to fit. 'changeText' is a function that can be used to change the text, it takes 1 string as an argument]]
end if b=='CreateSlider'or b==a.CreateSlider then return
[[Function CreateSlider. Arguments: (steps, width, position) Side effect: returns 2 objects, (sliderGui, sliderPosition). The 'steps' argument specifies how many different positions the slider can hold along the bar. 'width' specifies in pixels how wide the bar should be (modifiable afterwards if desired). 'position' argument should be a UDim2 for slider positioning. 'sliderPosition' is an IntValue whose current .Value specifies the specific step the slider is currently on.]]
end if b=='CreateLoadingFrame'or b==a.CreateLoadingFrame then return
[[Function CreateLoadingFrame. Arguments: (name, size, position) Side effect: Creates a gui that can be manipulated to show progress for a particular action. Name appears above the loading bar, and size and position are udim2 values (both size and position are optional arguments). Returns 3 arguments, the first being the gui created. The second being updateLoadingGuiPercent, which is a bindable function. This function takes one argument (two optionally), which should be a number between 0 and 1, representing the percentage the loading gui should be at. The second argument to this function is a boolean value that if set to true will tween the current percentage value to the new percentage value, therefore our third argument is how long this tween should take. Our third returned argument is a BindableEvent, that when fired means that someone clicked the cancel button on the dialog.]]
end if b=='CreateTerrainMaterialSelector'or b==a.CreateTerrainMaterialSelector
then return
[[Function CreateTerrainMaterialSelector. Arguments: (size, position) Side effect: Size and position are UDim2 values that specifies the selector's size and position. Both size and position are optional arguments. This method returns 3 objects (terrainSelectorGui, terrainSelected, forceTerrainSelection). terrainSelectorGui is just the gui object that we generate with this function, parent it as you like. TerrainSelected is a BindableEvent that is fired whenever a new terrain type is selected in the gui. ForceTerrainSelection is a function that takes an argument of Enum.CellMaterial and will force the gui to show that material as currently selected.]]
end end return a

5
processed/45374389.lua Normal file
View File

@ -0,0 +1,5 @@
local a={}a.Foo=function()print'foo'end a.Bar=function()print'bar'end a.Help=
function(b)if b=='Foo'or b==a.Foo then return
'Function Foo. Arguments: None. Side effect: prints foo'elseif b=='Bar'or b==a
.Bar then return'Function Bar. Arguments: None. Side effect: prints bar'end
end return a

578
processed/46295863.lua Normal file
View File

@ -0,0 +1,578 @@
local function waitForChild(a,b)while not a:FindFirstChild(b)do a.ChildAdded:
wait()end end local function waitForProperty(a,b)while not a[b]do a.Changed:
wait()end end local a if script.Parent:FindFirstChild'ControlFrame'then a=script
.Parent:FindFirstChild'ControlFrame'else a=script.Parent end local b,c,d,e,f,g,h
,i,j,k,l,m,n,o,p,q,r,s,t=nil,nil,nil,0.2,
'http://www.roblox.com/asset?id=54071825',
'http://www.roblox.com/Asset?id=45915798',(game:GetService'CoreGui'.Version>=5),
10,false,nil,{},UDim2.new(0,0,0,0),{0,41324860},{},nil,UserSettings().
GameSettings:InStudioMode(),false,pcall(function()return not game.GuiService.
IsWindows end)r=s and t local function Color3I(u,v,w)return Color3.new(u/255,v/
255,w/255)end local function robloxLock(u)u.RobloxLocked=true children=u:
GetChildren()if children then for v,w in ipairs(children)do robloxLock(w)end end
end function resumeGameFunction(u)u.Settings:TweenPosition(UDim2.new(0.5,-262,-
0.5,-200),Enum.EasingDirection.InOut,Enum.EasingStyle.Sine,e,true)delay(e,
function()u.Visible=false for v=1,#o do o[v].Visible=false game.GuiService:
RemoveCenterDialog(o[v])end game.GuiService:RemoveCenterDialog(u)settingsButton.
Active=true k=nil l={}end)end function goToMenu(u,v,w,x,y)if type(v)~='string'
then return end table.insert(l,k)if v=='GameMainMenu'then l={}end local z,A=u:
GetChildren(),false for B=1,#z do if z[B].Name==v then z[B].Visible=true k={
container=u,name=v,direction=w,lastSize=x}A=true if x and y then z[B]:
TweenSizeAndPosition(x,y,Enum.EasingDirection.InOut,Enum.EasingStyle.Sine,e,true
)elseif x then z[B]:TweenSizeAndPosition(x,UDim2.new(0.5,-x.X.Offset/2,0.5,-x.Y.
Offset/2),Enum.EasingDirection.InOut,Enum.EasingStyle.Sine,e,true)else z[B]:
TweenPosition(UDim2.new(0,0,0,0),Enum.EasingDirection.InOut,Enum.EasingStyle.
Sine,e,true)end else if w=='left'then z[B]:TweenPosition(UDim2.new(-1,-525,0,0),
Enum.EasingDirection.InOut,Enum.EasingStyle.Sine,e,true)elseif w=='right'then z[
B]:TweenPosition(UDim2.new(1,525,0,0),Enum.EasingDirection.InOut,Enum.
EasingStyle.Sine,e,true)elseif w=='up'then z[B]:TweenPosition(UDim2.new(0,0,-1,-
400),Enum.EasingDirection.InOut,Enum.EasingStyle.Sine,e,true)elseif w=='down'
then z[B]:TweenPosition(UDim2.new(0,0,1,400),Enum.EasingDirection.InOut,Enum.
EasingStyle.Sine,e,true)end delay(e,function()z[B].Visible=false end)end end end
function resetLocalCharacter()local u=game.Players.LocalPlayer if u then if u.
Character and u.Character:FindFirstChild'Humanoid'then u.Character.Humanoid.
Health=0 end end end local function createTextButton(u,v,w,x,y)local z=Instance.
new'TextButton'z.Font=Enum.Font.Arial z.FontSize=w z.Size=x z.Position=y z.Style
=v z.TextColor3=Color3.new(1,1,1)z.Text=u return z end local function
CreateTextButtons(u,v,w,x)if#v<1 then error'Must have more than one button'end
local y,z=1,{}local function toggleSelection(A)for B,C in ipairs(z)do if C==A
then C.Style=Enum.ButtonStyle.RobloxButtonDefault else C.Style=Enum.ButtonStyle.
RobloxButton end end end for A,B in ipairs(v)do local C=Instance.new'TextButton'
C.Name='Button'..y C.Font=Enum.Font.Arial C.FontSize=Enum.FontSize.Size18 C.
AutoButtonColor=true C.Style=Enum.ButtonStyle.RobloxButton C.Text=B.Text C.
TextColor3=Color3.new(1,1,1)C.MouseButton1Click:connect(function()
toggleSelection(C)B.Function()end)C.Parent=u z[y]=C y=y+1 end toggleSelection(z[
1])local C=y-1 if C==1 then u.Button1.Position=UDim2.new(0.35,0,w.Scale,w.Offset
)u.Button1.Size=UDim2.new(0.4,0,x.Scale,x.Offset)elseif C==2 then u.Button1.
Position=UDim2.new(0.1,0,w.Scale,w.Offset)u.Button1.Size=UDim2.new(0.35,0,x.
Scale,x.Offset)u.Button2.Position=UDim2.new(0.55,0,w.Scale,w.Offset)u.Button2.
Size=UDim2.new(0.35,0,x.Scale,x.Offset)elseif C>=3 then local D,E=0.1/C,0.9/C y=
1 while y<=C do z[y].Position=UDim2.new(D*y+(y-1)*E,0,w.Scale,w.Offset)z[y].Size
=UDim2.new(E,0,x.Scale,x.Offset)y=y+1 end end end function setRecordGui(u,v,w)if
u then v.Visible=true w.Text='Stop Recording'else v.Visible=false w.Text=
'Record Video'end end function recordVideoClick(u,v)j=not j setRecordGui(j,v,u)
end function backToGame(u,v,w)u.Parent.Parent.Parent.Parent.Visible=false v.
Visible=false for x=1,#o do game.GuiService:RemoveCenterDialog(o[x])o[x].Visible
=false end o={}game.GuiService:RemoveCenterDialog(v)w.Active=true end function
setDisabledState(u)if not u then return end if u:IsA'TextLabel'then u.
TextTransparency=0.9 elseif u:IsA'TextButton'then u.TextTransparency=0.9 u.
Active=false else if u['ClassName']then print(
[[setDisabledState() got object of unsupported type. object type is ]],u.
ClassName)end end end local function createHelpDialog(u)if b==nil then if a:
FindFirstChild'TopLeftControl'and a.TopLeftControl:FindFirstChild'Help'then b=a.
TopLeftControl.Help elseif a:FindFirstChild'BottomRightControl'and a.
BottomRightControl:FindFirstChild'Help'then b=a.BottomRightControl.Help end end
local v=Instance.new'Frame'v.Name='HelpDialogShield'v.Active=true v.Visible=
false v.Size=UDim2.new(1,0,1,0)v.BackgroundColor3=Color3I(51,51,51)v.
BorderColor3=Color3I(27,42,53)v.BackgroundTransparency=0.4 v.ZIndex=u+1 local w=
Instance.new'Frame'w.Name='HelpDialog'w.Style=Enum.FrameStyle.RobloxRound w.
Position=UDim2.new(0.2,0,0.2,0)w.Size=UDim2.new(0.6,0,0.6,0)w.Active=true w.
Parent=v local x=Instance.new'TextLabel'x.Name='Title'x.Text=
'Keyboard & Mouse Controls'x.Font=Enum.Font.ArialBold x.FontSize=Enum.FontSize.
Size36 x.Position=UDim2.new(0,0,0.025,0)x.Size=UDim2.new(1,0,0,40)x.TextColor3=
Color3.new(1,1,1)x.BackgroundTransparency=1 x.Parent=w local y=Instance.new
'Frame'y.Name='Buttons'y.Position=UDim2.new(0.1,0,0.07,40)y.Size=UDim2.new(0.8,0
,0,45)y.BackgroundTransparency=1 y.Parent=w local z=Instance.new'Frame'z.Name=
'ImageFrame'z.Position=UDim2.new(0.05,0,0.075,80)z.Size=UDim2.new(0.9,0,0.9,-120
)z.BackgroundTransparency=1 z.Parent=w local A=Instance.new'Frame'A.Name=
'LayoutFrame'A.Position=UDim2.new(0.5,0,0,0)A.Size=UDim2.new(1.5,0,1,0)A.
BackgroundTransparency=1 A.SizeConstraint=Enum.SizeConstraint.RelativeYY A.
Parent=z local B=Instance.new'ImageLabel'B.Name='Image'if UserSettings().
GameSettings.ControlMode==Enum.ControlMode['Mouse Lock Switch']then B.Image=f
else B.Image=g end B.Position=UDim2.new(-0.5,0,0,0)B.Size=UDim2.new(1,0,1,0)B.
BackgroundTransparency=1 B.Parent=A local C={}C[1]={}C[1].Text='Look'C[1].
Function=function()if UserSettings().GameSettings.ControlMode==Enum.ControlMode[
'Mouse Lock Switch']then B.Image=f else B.Image=g end end C[2]={}C[2].Text=
'Move'C[2].Function=function()B.Image='http://www.roblox.com/Asset?id=45915811'
end C[3]={}C[3].Text='Gear'C[3].Function=function()B.Image=
'http://www.roblox.com/Asset?id=45917596'end C[4]={}C[4].Text='Zoom'C[4].
Function=function()B.Image='http://www.roblox.com/Asset?id=45915825'end
CreateTextButtons(y,C,UDim.new(0,0),UDim.new(1,0))delay(0,function()
waitForChild(a,'UserSettingsShield')waitForChild(a.UserSettingsShield,'Settings'
)waitForChild(a.UserSettingsShield.Settings,'SettingsStyle')waitForChild(a.
UserSettingsShield.Settings.SettingsStyle,'GameSettingsMenu')waitForChild(a.
UserSettingsShield.Settings.SettingsStyle.GameSettingsMenu,'CameraField')
waitForChild(a.UserSettingsShield.Settings.SettingsStyle.GameSettingsMenu.
CameraField,'DropDownMenuButton')a.UserSettingsShield.Settings.SettingsStyle.
GameSettingsMenu.CameraField.DropDownMenuButton.Changed:connect(function(D)if D
~='Text'then return end if y.Button1.Style==Enum.ButtonStyle.RobloxButtonDefault
then if a.UserSettingsShield.Settings.SettingsStyle.GameSettingsMenu.CameraField
.DropDownMenuButton.Text=='Classic'then B.Image=g else B.Image=f end end end)end
)local D=Instance.new'TextButton'D.Name='OkBtn'D.Text='OK'D.Modal=true D.Size=
UDim2.new(0.3,0,0,45)D.Position=UDim2.new(0.35,0,0.975,-50)D.Font=Enum.Font.
Arial D.FontSize=Enum.FontSize.Size18 D.BackgroundTransparency=1 D.TextColor3=
Color3.new(1,1,1)D.Style=Enum.ButtonStyle.RobloxButtonDefault D.
MouseButton1Click:connect(function()v.Visible=false game.GuiService:
RemoveCenterDialog(v)end)D.Parent=w robloxLock(v)return v end local function
createLeaveConfirmationMenu(u,v)local w=Instance.new'Frame'w.Name=
'LeaveConfirmationMenu'w.BackgroundTransparency=1 w.Size=UDim2.new(1,0,1,0)w.
Position=UDim2.new(0,0,2,400)w.ZIndex=u+4 local x=createTextButton('Leave',Enum.
ButtonStyle.RobloxButton,Enum.FontSize.Size24,UDim2.new(0,128,0,50),UDim2.new(0,
313,0.8,0))x.Name='YesButton'x.ZIndex=u+4 x.Parent=w x.Modal=true x:SetVerb
'Exit'local y=createTextButton('Stay',Enum.ButtonStyle.RobloxButtonDefault,Enum.
FontSize.Size24,UDim2.new(0,128,0,50),UDim2.new(0,90,0.8,0))y.Name='NoButton'y.
Parent=w y.ZIndex=u+4 y.MouseButton1Click:connect(function()goToMenu(v.Settings.
SettingsStyle,'GameMainMenu','down',UDim2.new(0,525,0,430))v.Settings:TweenSize(
UDim2.new(0,525,0,430),Enum.EasingDirection.InOut,Enum.EasingStyle.Sine,e,true)
end)local z=Instance.new'TextLabel'z.Name='LeaveText'z.Text='Leave this game?'z.
Size=UDim2.new(1,0,0.8,0)z.TextWrap=true z.TextColor3=Color3.new(1,1,1)z.Font=
Enum.Font.ArialBold z.FontSize=Enum.FontSize.Size36 z.BackgroundTransparency=1 z
.ZIndex=u+4 z.Parent=w return w end local function createResetConfirmationMenu(u
,v)local w=Instance.new'Frame'w.Name='ResetConfirmationMenu'w.
BackgroundTransparency=1 w.Size=UDim2.new(1,0,1,0)w.Position=UDim2.new(0,0,2,400
)w.ZIndex=u+4 local x=createTextButton('Reset',Enum.ButtonStyle.
RobloxButtonDefault,Enum.FontSize.Size24,UDim2.new(0,128,0,50),UDim2.new(0,313,0
,299))x.Name='YesButton'x.ZIndex=u+4 x.Parent=w x.Modal=true x.MouseButton1Click
:connect(function()resumeGameFunction(v)resetLocalCharacter()end)local y=
createTextButton('Cancel',Enum.ButtonStyle.RobloxButton,Enum.FontSize.Size24,
UDim2.new(0,128,0,50),UDim2.new(0,90,0,299))y.Name='NoButton'y.Parent=w y.ZIndex
=u+4 y.MouseButton1Click:connect(function()goToMenu(v.Settings.SettingsStyle,
'GameMainMenu','down',UDim2.new(0,525,0,430))v.Settings:TweenSize(UDim2.new(0,
525,0,430),Enum.EasingDirection.InOut,Enum.EasingStyle.Sine,e,true)end)local z=
Instance.new'TextLabel'z.Name='ResetCharacterText'z.Text=
'Are you sure you want to reset your character?'z.Size=UDim2.new(1,0,0.8,0)z.
TextWrap=true z.TextColor3=Color3.new(1,1,1)z.Font=Enum.Font.ArialBold z.
FontSize=Enum.FontSize.Size36 z.BackgroundTransparency=1 z.ZIndex=u+4 z.Parent=w
local A=z:Clone()A.Name='FineResetCharacterText'A.Text=
'You will be put back on a spawn point'A.Size=UDim2.new(0,303,0,18)A.Position=
UDim2.new(0,109,0,215)A.FontSize=Enum.FontSize.Size18 A.Parent=w return w end
local function createGameMainMenu(u,v)local w=Instance.new'Frame'w.Name=
'GameMainMenu'w.BackgroundTransparency=1 w.Size=UDim2.new(1,0,1,0)w.ZIndex=u+4 w
.Parent=settingsFrame local x=Instance.new'TextLabel'x.Name='Title'x.Text=
'Game Menu'x.BackgroundTransparency=1 x.TextStrokeTransparency=0 x.Font=Enum.
Font.ArialBold x.FontSize=Enum.FontSize.Size36 x.Size=UDim2.new(1,0,0,36)x.
Position=UDim2.new(0,0,0,4)x.TextColor3=Color3.new(1,1,1)x.ZIndex=u+4 x.Parent=w
local y=createTextButton('Help',Enum.ButtonStyle.RobloxButton,Enum.FontSize.
Size18,UDim2.new(0,164,0,50),UDim2.new(0,82,0,256))y.Name='HelpButton'y.ZIndex=u
+4 y.Parent=w b=y local z=createHelpDialog(u)z.Parent=a b.MouseButton1Click:
connect(function()table.insert(o,z)game.GuiService:AddCenterDialog(z,Enum.
CenterDialogType.ModalDialog,function()z.Visible=true p.Visible=false end,
function()z.Visible=false end)end)b.Active=true local A=Instance.new'TextLabel'A
.Name='HelpShortcutText'A.Text='F1'A.Visible=false A.BackgroundTransparency=1 A.
Font=Enum.Font.Arial A.FontSize=Enum.FontSize.Size12 A.Position=UDim2.new(0,85,0
,0)A.Size=UDim2.new(0,30,0,30)A.TextColor3=Color3.new(0,1,0)A.ZIndex=u+4 A.
Parent=y local B=createTextButton('Screenshot',Enum.ButtonStyle.RobloxButton,
Enum.FontSize.Size18,UDim2.new(0,168,0,50),UDim2.new(0,254,0,256))B.Name=
'ScreenshotButton'B.ZIndex=u+4 B.Parent=w B.Visible=not r B:SetVerb'Screenshot'
local C=A:clone()C.Name='ScreenshotShortcutText'C.Text='PrintSc'C.Position=UDim2
.new(0,118,0,0)C.Visible=true C.Parent=B local D=createTextButton('Record Video'
,Enum.ButtonStyle.RobloxButton,Enum.FontSize.Size18,UDim2.new(0,168,0,50),UDim2.
new(0,254,0,306))D.Name='RecordVideoButton'D.ZIndex=u+4 D.Parent=w D.Visible=not
r D:SetVerb'RecordToggle'local E=A:clone()E.Visible=h E.Name=
'RecordVideoShortcutText'E.Text='F12'E.Position=UDim2.new(0,120,0,0)E.Parent=D
local F=Instance.new'ImageButton'F.Name='StopRecordButton'F.
BackgroundTransparency=1 F.Image='rbxasset://textures/ui/RecordStop.png'F.Size=
UDim2.new(0,59,0,27)F:SetVerb'RecordToggle'F.MouseButton1Click:connect(function(
)recordVideoClick(D,F)end)F.Visible=false F.Parent=a local G=createTextButton(
'Report Abuse',Enum.ButtonStyle.RobloxButton,Enum.FontSize.Size18,UDim2.new(0,
164,0,50),UDim2.new(0,82,0,306))G.Name='ReportAbuseButton'G.ZIndex=u+4 G.Parent=
w local H=createTextButton('Leave Game',Enum.ButtonStyle.RobloxButton,Enum.
FontSize.Size24,UDim2.new(0,340,0,50),UDim2.new(0,82,0,358))H.Name=
'LeaveGameButton'H.ZIndex=u+4 H.Parent=w local I=createTextButton('Resume Game',
Enum.ButtonStyle.RobloxButtonDefault,Enum.FontSize.Size24,UDim2.new(0,340,0,50),
UDim2.new(0,82,0,54))I.Name='resumeGameButton'I.ZIndex=u+4 I.Parent=w I.Modal=
true I.MouseButton1Click:connect(function()resumeGameFunction(v)end)local J=
createTextButton('Game Settings',Enum.ButtonStyle.RobloxButton,Enum.FontSize.
Size24,UDim2.new(0,340,0,50),UDim2.new(0,82,0,156))J.Name='SettingsButton'J.
ZIndex=u+4 J.Parent=w if game:FindFirstChild'LoadingGuiService'and#game.
LoadingGuiService:GetChildren()>0 then local K=createTextButton(
'Game Instructions',Enum.ButtonStyle.RobloxButton,Enum.FontSize.Size24,UDim2.
new(0,340,0,50),UDim2.new(0,82,0,207))K.Name='GameInstructions'K.ZIndex=u+4 K.
Parent=w K.MouseButton1Click:connect(function()if game:FindFirstChild'Players'
and game.Players['LocalPlayer']then local L=game.Players.LocalPlayer:
FindFirstChild'PlayerLoadingGui'if L then L.Visible=true end end end)end local K
=createTextButton('Reset Character',Enum.ButtonStyle.RobloxButton,Enum.FontSize.
Size24,UDim2.new(0,340,0,50),UDim2.new(0,82,0,105))K.Name='ResetButton'K.ZIndex=
u+4 K.Parent=w return w end local function createGameSettingsMenu(u,v)local w=
Instance.new'Frame'w.Name='GameSettingsMenu'w.BackgroundTransparency=1 w.Size=
UDim2.new(1,0,1,0)w.ZIndex=u+4 local x=Instance.new'TextLabel'x.Name='Title'x.
Text='Settings'x.Size=UDim2.new(1,0,0,48)x.Position=UDim2.new(0,9,0,-9)x.Font=
Enum.Font.ArialBold x.FontSize=Enum.FontSize.Size36 x.TextColor3=Color3.new(1,1,
1)x.ZIndex=u+4 x.BackgroundTransparency=1 x.Parent=w local y=Instance.new
'TextLabel'y.Name='FullscreenText'y.Text='Fullscreen Mode'y.Size=UDim2.new(0,124
,0,18)y.Position=UDim2.new(0,62,0,145)y.Font=Enum.Font.Arial y.FontSize=Enum.
FontSize.Size18 y.TextColor3=Color3.new(1,1,1)y.ZIndex=u+4 y.
BackgroundTransparency=1 y.Parent=w local z=Instance.new'TextLabel'z.Visible=h z
.Name='FullscreenShortcutText'z.Text='F11'z.BackgroundTransparency=1 z.Font=Enum
.Font.Arial z.FontSize=Enum.FontSize.Size12 z.Position=UDim2.new(0,186,0,141)z.
Size=UDim2.new(0,30,0,30)z.TextColor3=Color3.new(0,1,0)z.ZIndex=u+4 z.Parent=w
local A=Instance.new'TextLabel'A.Visible=false A.Name='StudioText'A.Text=
'Studio Mode'A.Size=UDim2.new(0,95,0,18)A.Position=UDim2.new(0,62,0,179)A.Font=
Enum.Font.Arial A.FontSize=Enum.FontSize.Size18 A.TextColor3=Color3.new(1,1,1)A.
ZIndex=u+4 A.BackgroundTransparency=1 A.Parent=w local B=z:clone()B.Name=
'StudioShortcutText'B.Visible=false B.Text='F2'B.Position=UDim2.new(0,154,0,175)
B.Parent=w local C=nil if h then local D=Instance.new'TextLabel'D.Name=
'QualityText'D.Text='Graphics Quality'D.Size=UDim2.new(0,128,0,18)D.Position=
UDim2.new(0,30,0,239)D.Font=Enum.Font.Arial D.FontSize=Enum.FontSize.Size18 D.
TextColor3=Color3.new(1,1,1)D.ZIndex=u+4 D.BackgroundTransparency=1 D.Parent=w D
.Visible=not q local E=D:clone()E.Name='AutoText'E.Text='Auto'E.Position=UDim2.
new(0,183,0,214)E.TextColor3=Color3.new(0.5019607843137255,0.5019607843137255,
0.5019607843137255)E.Size=UDim2.new(0,34,0,18)E.Parent=w E.Visible=not q local F
=E:clone()F.Name='FasterText'F.Text='Faster'F.Position=UDim2.new(0,185,0,274)F.
TextColor3=Color3.new(95,95,95)F.FontSize=Enum.FontSize.Size14 F.Parent=w F.
Visible=not q local G=z:clone()G.Name='FasterShortcutText'G.Text='F10 + Shift'G.
Position=UDim2.new(0,185,0,283)G.Parent=w G.Visible=not q local H=E:clone()H.
Name='BetterQualityText'H.Text='Better Quality'H.TextWrap=true H.Size=UDim2.new(
0,41,0,28)H.Position=UDim2.new(0,390,0,269)H.TextColor3=Color3.new(95,95,95)H.
FontSize=Enum.FontSize.Size14 H.Parent=w H.Visible=not q local I=z:clone()I.Name
='BetterQualityShortcut'I.Text='F10'I.Position=UDim2.new(0,394,0,288)I.Parent=w
I.Visible=not q local J=createTextButton('X',Enum.ButtonStyle.RobloxButton,Enum.
FontSize.Size18,UDim2.new(0,25,0,25),UDim2.new(0,187,0,239))J.Name=
'AutoGraphicsButton'J.ZIndex=u+4 J.Parent=w J.Visible=not q local K,L=RbxGui.
CreateSlider(i,150,UDim2.new(0,230,0,280))K.Parent=w K.Bar.ZIndex=u+4 K.Bar.
Slider.ZIndex=u+5 K.Visible=not q L.Value=math.floor((settings().Rendering:
GetMaxQualityLevel()-1)/2)local M=Instance.new'TextBox'M.Name='GraphicsSetter'M.
BackgroundColor3=Color3.new(0,0,0)M.BorderColor3=Color3.new(0.5019607843137255,
0.5019607843137255,0.5019607843137255)M.Size=UDim2.new(0,50,0,25)M.Position=
UDim2.new(0,450,0,269)M.TextColor3=Color3.new(1,1,1)M.Font=Enum.Font.Arial M.
FontSize=Enum.FontSize.Size18 M.Text='Auto'M.ZIndex=1 M.TextWrap=true M.Parent=w
M.Visible=not q local N=true if not q then N=(UserSettings().GameSettings.
SavedQualityLevel==Enum.SavedQualitySetting.Automatic)else settings().Rendering.
EnableFRM=false end local O=true local function setAutoGraphicsGui(P)N=P if P
then J.Text='X'H.ZIndex=1 I.ZIndex=1 G.ZIndex=1 F.ZIndex=1 K.Bar.ZIndex=1 K.Bar.
Slider.ZIndex=1 M.ZIndex=1 M.Text='Auto'else J.Text=''K.Bar.ZIndex=u+4 K.Bar.
Slider.ZIndex=u+5 I.ZIndex=u+4 G.ZIndex=u+4 H.ZIndex=u+4 F.ZIndex=u+4 M.ZIndex=u
+4 end end local function goToAutoGraphics()setAutoGraphicsGui(true)
UserSettings().GameSettings.SavedQualityLevel=Enum.SavedQualitySetting.Automatic
settings().Rendering.QualityLevel=Enum.QualityLevel.Automatic end local function
setGraphicsQualityLevel(P)local Q=P/i local R=math.floor((settings().Rendering:
GetMaxQualityLevel()-1)*Q)if R==20 then R=21 elseif P==1 then R=1 elseif R>
settings().Rendering:GetMaxQualityLevel()then R=settings().Rendering:
GetMaxQualityLevel()-1 end UserSettings().GameSettings.SavedQualityLevel=P
settings().Rendering.QualityLevel=R end local function goToManualGraphics(P)
setAutoGraphicsGui(false)if P then L.Value=P else L.Value=math.floor((settings()
.Rendering.AutoFRMLevel/(settings().Rendering:GetMaxQualityLevel()-1))*i)end if
P==L.Value then setGraphicsQualityLevel(L.Value)end if not P then UserSettings()
.GameSettings.SavedQualityLevel=L.Value end M.Text=tostring(L.Value)end
local function showAutoGraphics()E.ZIndex=u+4 J.ZIndex=u+4 end local function
hideAutoGraphics()E.ZIndex=1 J.ZIndex=1 end local function showManualGraphics()K
.Bar.ZIndex=u+4 K.Bar.Slider.ZIndex=u+5 I.ZIndex=u+4 G.ZIndex=u+4 H.ZIndex=u+4 F
.ZIndex=u+4 M.ZIndex=u+4 end local function hideManualGraphics()H.ZIndex=1 I.
ZIndex=1 G.ZIndex=1 F.ZIndex=1 K.Bar.ZIndex=1 K.Bar.Slider.ZIndex=1 M.ZIndex=1
end local function translateSavedQualityLevelToInt(P)if P==Enum.
SavedQualitySetting.Automatic then return 0 elseif P==Enum.SavedQualitySetting.
QualityLevel1 then return 1 elseif P==Enum.SavedQualitySetting.QualityLevel2
then return 2 elseif P==Enum.SavedQualitySetting.QualityLevel3 then return 3
elseif P==Enum.SavedQualitySetting.QualityLevel4 then return 4 elseif P==Enum.
SavedQualitySetting.QualityLevel5 then return 5 elseif P==Enum.
SavedQualitySetting.QualityLevel6 then return 6 elseif P==Enum.
SavedQualitySetting.QualityLevel7 then return 7 elseif P==Enum.
SavedQualitySetting.QualityLevel8 then return 8 elseif P==Enum.
SavedQualitySetting.QualityLevel9 then return 9 elseif P==Enum.
SavedQualitySetting.QualityLevel10 then return 10 end end local function
enableGraphicsWidget()settings().Rendering.EnableFRM=true N=(UserSettings().
GameSettings.SavedQualityLevel==Enum.SavedQualitySetting.Automatic)if N then
showAutoGraphics()goToAutoGraphics()else showAutoGraphics()showManualGraphics()
goToManualGraphics(translateSavedQualityLevelToInt(UserSettings().GameSettings.
SavedQualityLevel))end end local function disableGraphicsWidget()
hideManualGraphics()hideAutoGraphics()settings().Rendering.EnableFRM=false end M
.FocusLost:connect(function()if N then M.Text=tostring(L.Value)return end local
P=tonumber(M.Text)if P==nil then M.Text=tostring(L.Value)return end if P<1 then
P=1 elseif P>=settings().Rendering:GetMaxQualityLevel()then P=settings().
Rendering:GetMaxQualityLevel()-1 end L.Value=P setGraphicsQualityLevel(L.Value)M
.Text=tostring(L.Value)end)L.Changed:connect(function(P)if N then return end if
not O then return end M.Text=tostring(L.Value)setGraphicsQualityLevel(L.Value)
end)if q or UserSettings().GameSettings.SavedQualityLevel==Enum.
SavedQualitySetting.Automatic then if q then settings().Rendering.EnableFRM=
false disableGraphicsWidget()else settings().Rendering.EnableFRM=true
goToAutoGraphics()end else settings().Rendering.EnableFRM=true
goToManualGraphics(translateSavedQualityLevelToInt(UserSettings().GameSettings.
SavedQualityLevel))end J.MouseButton1Click:connect(function()if q and not game.
Players.LocalPlayer then return end if not N then goToAutoGraphics()else
goToManualGraphics(L.Value)end end)local P=nil game.GraphicsQualityChangeRequest
:connect(function(Q)if N then return end if Q then if(L.Value+1)>i then return
end L.Value=L.Value+1 M.Text=tostring(L.Value)setGraphicsQualityLevel(L.Value)
game:GetService'GuiService':SendNotification('Graphics Quality','Increased to ('
..M.Text..')','',2,function()end)else if(L.Value-1)<=0 then return end L.Value=L
.Value-1 M.Text=tostring(L.Value)setGraphicsQualityLevel(L.Value)game:GetService
'GuiService':SendNotification('Graphics Quality','Decreased to ('..M.Text..')',
'',2,function()end)end end)game.Players.PlayerAdded:connect(function(Q)if Q==
game.Players.LocalPlayer and q then enableGraphicsWidget()end end)game.Players.
PlayerRemoving:connect(function(Q)if Q==game.Players.LocalPlayer and q then
disableGraphicsWidget()end end)C=createTextButton('',Enum.ButtonStyle.
RobloxButton,Enum.FontSize.Size18,UDim2.new(0,25,0,25),UDim2.new(0,30,0,176))C.
Name='StudioCheckbox'C.ZIndex=u+4 C:SetVerb'TogglePlayMode'C.Visible=false local
Q=(settings().Rendering.QualityLevel~=Enum.QualityLevel.Automatic)if q and not
game.Players.LocalPlayer then C.Text='X'disableGraphicsWidget()elseif q then C.
Text='X'enableGraphicsWidget()end if h then UserSettings().GameSettings.
StudioModeChanged:connect(function(R)q=R if R then Q=(settings().Rendering.
QualityLevel~=Enum.QualityLevel.Automatic)goToAutoGraphics()C.Text='X'J.ZIndex=1
E.ZIndex=1 else if Q then goToManualGraphics()end C.Text=''J.ZIndex=u+4 E.ZIndex
=u+4 end end)else C.MouseButton1Click:connect(function()if not C.Active then
return end if C.Text==''then C.Text='X'else C.Text=''end end)end end local D=
createTextButton('',Enum.ButtonStyle.RobloxButton,Enum.FontSize.Size18,UDim2.
new(0,25,0,25),UDim2.new(0,30,0,144))D.Name='FullscreenCheckbox'D.ZIndex=u+4 D.
Parent=w D:SetVerb'ToggleFullScreen'if UserSettings().GameSettings:InFullScreen(
)then D.Text='X'end if h then UserSettings().GameSettings.FullscreenChanged:
connect(function(E)if E then D.Text='X'else D.Text=''end end)else D.
MouseButton1Click:connect(function()if D.Text==''then D.Text='X'else D.Text=''
end end)end if game:FindFirstChild'NetworkClient'then setDisabledState(A)
setDisabledState(B)setDisabledState(C)end local E if h then E=createTextButton(
'OK',Enum.ButtonStyle.RobloxButtonDefault,Enum.FontSize.Size24,UDim2.new(0,180,0
,50),UDim2.new(0,170,0,330))E.Modal=true else E=createTextButton('OK',Enum.
ButtonStyle.RobloxButtonDefault,Enum.FontSize.Size24,UDim2.new(0,180,0,50),UDim2
.new(0,170,0,270))E.Modal=true end E.Name='BackButton'E.ZIndex=u+4 E.Parent=w
local F=nil if not r then local G=Instance.new'TextLabel'G.Name=
'VideoCaptureLabel'G.Text='After Capturing Video'G.Font=Enum.Font.Arial G.
FontSize=Enum.FontSize.Size18 G.Position=UDim2.new(0,32,0,100)G.Size=UDim2.new(0
,164,0,18)G.BackgroundTransparency=1 G.TextColor3=Color3I(255,255,255)G.
TextXAlignment=Enum.TextXAlignment.Left G.ZIndex=u+4 G.Parent=w local H,I={},{}H
[1]='Just Save to Disk'I[H[1]]=Enum.UploadSetting['Never']H[2]=
'Upload to YouTube'I[H[2]]=Enum.UploadSetting['Ask me first']local J=nil J,d=
RbxGui.CreateDropDownMenu(H,function(K)UserSettings().GameSettings.
VideoUploadPromptBehavior=I[K]end)J.Name='VideoCaptureField'J.ZIndex=u+4 J.
DropDownMenuButton.ZIndex=u+4 J.DropDownMenuButton.Icon.ZIndex=u+4 J.Position=
UDim2.new(0,270,0,94)J.Size=UDim2.new(0,200,0,32)J.Parent=w F=function()if
UserSettings().GameSettings.VideoUploadPromptBehavior==Enum.UploadSetting[
'Never']then d(H[1])elseif UserSettings().GameSettings.VideoUploadPromptBehavior
==Enum.UploadSetting['Ask me first']then d(H[2])else UserSettings().GameSettings
.VideoUploadPromptBehavior=Enum.UploadSetting['Ask me first']d(H[2])end end end
local G=Instance.new'TextLabel'G.Name='CameraLabel'G.Text=
'Character & Camera Controls'G.Font=Enum.Font.Arial G.FontSize=Enum.FontSize.
Size18 G.Position=UDim2.new(0,31,0,58)G.Size=UDim2.new(0,224,0,18)G.TextColor3=
Color3I(255,255,255)G.TextXAlignment=Enum.TextXAlignment.Left G.
BackgroundTransparency=1 G.ZIndex=u+4 G.Parent=w local H,I,J,K=game.CoreGui.
RobloxGui:FindFirstChild('MouseLockLabel',true),Enum.ControlMode:GetEnumItems(),
{},{}for L,M in ipairs(I)do J[L]=M.Name K[M.Name]=M end local N N,c=RbxGui.
CreateDropDownMenu(J,function(O)UserSettings().GameSettings.ControlMode=K[O]
pcall(function()if H and UserSettings().GameSettings.ControlMode==Enum.
ControlMode['Mouse Lock Switch']then H.Visible=true elseif H then H.Visible=
false end end)end)N.Name='CameraField'N.ZIndex=u+4 N.DropDownMenuButton.ZIndex=u
+4 N.DropDownMenuButton.Icon.ZIndex=u+4 N.Position=UDim2.new(0,270,0,52)N.Size=
UDim2.new(0,200,0,32)N.Parent=w return w end if LoadLibrary then RbxGui=
LoadLibrary'RbxGui'local u=0 if UserSettings then local v=function()
waitForChild(a,'BottomLeftControl')settingsButton=a.BottomLeftControl:
FindFirstChild'SettingsButton'if settingsButton==nil then settingsButton=
Instance.new'ImageButton'settingsButton.Name='SettingsButton'settingsButton.
Image='rbxasset://textures/ui/SettingsButton.png'settingsButton.
BackgroundTransparency=1 settingsButton.Active=false settingsButton.Size=UDim2.
new(0,54,0,46)settingsButton.Position=UDim2.new(0,2,0,50)settingsButton.Parent=a
.BottomLeftControl end local v=Instance.new'TextButton'v.Text=''v.Name=
'UserSettingsShield'v.Active=true v.AutoButtonColor=false v.Visible=false v.Size
=UDim2.new(1,0,1,0)v.BackgroundColor3=Color3I(51,51,51)v.BorderColor3=Color3I(27
,42,53)v.BackgroundTransparency=0.4 v.ZIndex=u+2 p=v local w=Instance.new'Frame'
w.Name='Settings'w.Position=UDim2.new(0.5,-262,-0.5,-200)w.Size=UDim2.new(0,525,
0,430)w.BackgroundTransparency=1 w.Active=true w.Parent=v local x=Instance.new
'Frame'x.Name='SettingsStyle'x.Size=UDim2.new(1,0,1,0)x.Style=Enum.FrameStyle.
RobloxRound x.Active=true x.ZIndex=u+3 x.Parent=w local y=createGameMainMenu(u,v
)y.Parent=x y.ScreenshotButton.MouseButton1Click:connect(function()backToGame(y.
ScreenshotButton,v,settingsButton)end)y.RecordVideoButton.MouseButton1Click:
connect(function()recordVideoClick(y.RecordVideoButton,a.StopRecordButton)
backToGame(y.RecordVideoButton,v,settingsButton)end)if settings():FindFirstChild
'Game Options'then pcall(function()settings():FindFirstChild'Game Options'.
VideoRecordingChangeRequest:connect(function(z)j=z setRecordGui(z,a.
StopRecordButton,y.RecordVideoButton)end)end)end game.CoreGui.RobloxGui.Changed:
connect(function(z)if z=='AbsoluteSize'and j then recordVideoClick(y.
RecordVideoButton,a.StopRecordButton)end end)function localPlayerChange()y.
ResetButton.Visible=game.Players.LocalPlayer if game.Players.LocalPlayer then
settings().Rendering.EnableFRM=true elseif q then settings().Rendering.EnableFRM
=false end end y.ResetButton.Visible=game.Players.LocalPlayer if game.Players.
LocalPlayer~=nil then game.Players.LocalPlayer.Changed:connect(function()
localPlayerChange()end)else delay(0,function()waitForProperty(game.Players,
'LocalPlayer')y.ResetButton.Visible=game.Players.LocalPlayer game.Players.
LocalPlayer.Changed:connect(function()localPlayerChange()end)end)end y.
ReportAbuseButton.Visible=game:FindFirstChild'NetworkClient'if not y.
ReportAbuseButton.Visible then game.ChildAdded:connect(function(z)if z:IsA
'NetworkClient'then y.ReportAbuseButton.Visible=game:FindFirstChild
'NetworkClient'end end)end y.ResetButton.MouseButton1Click:connect(function()
goToMenu(x,'ResetConfirmationMenu','up',UDim2.new(0,525,0,370))end)y.
LeaveGameButton.MouseButton1Click:connect(function()goToMenu(x,
'LeaveConfirmationMenu','down',UDim2.new(0,525,0,300))end)if game.CoreGui.
Version>=4 then game:GetService'GuiService'.EscapeKeyPressed:connect(function()
if k==nil then game.GuiService:AddCenterDialog(v,Enum.CenterDialogType.
ModalDialog,function()settingsButton.Active=false c(UserSettings().GameSettings.
ControlMode.Name)if syncVideoCaptureSetting then syncVideoCaptureSetting()end
goToMenu(x,'GameMainMenu','right',UDim2.new(0,525,0,430))v.Visible=true v.Active
=true x.Parent:TweenPosition(UDim2.new(0.5,-262,0.5,-200),Enum.EasingDirection.
InOut,Enum.EasingStyle.Sine,e,true)x.Parent:TweenSize(UDim2.new(0,525,0,430),
Enum.EasingDirection.InOut,Enum.EasingStyle.Sine,e,true)end,function()x.Parent:
TweenPosition(UDim2.new(0.5,-262,-0.5,-200),Enum.EasingDirection.InOut,Enum.
EasingStyle.Sine,e,true)x.Parent:TweenSize(UDim2.new(0,525,0,430),Enum.
EasingDirection.InOut,Enum.EasingStyle.Sine,e,true)v.Visible=false
settingsButton.Active=true end)elseif#l>0 then if#o>0 then for z=1,#o do game.
GuiService:RemoveCenterDialog(o[z])o[z].Visible=false end o={}end goToMenu(l[#l]
['container'],l[#l]['name'],l[#l]['direction'],l[#l]['lastSize'])table.remove(l,
#l)if#l==1 then l={}end else resumeGameFunction(v)end end)end local z=
createGameSettingsMenu(u,v)z.Visible=false z.Parent=x y.SettingsButton.
MouseButton1Click:connect(function()goToMenu(x,'GameSettingsMenu','left',UDim2.
new(0,525,0,350))end)z.BackButton.MouseButton1Click:connect(function()goToMenu(x
,'GameMainMenu','right',UDim2.new(0,525,0,430))end)local A=
createResetConfirmationMenu(u,v)A.Visible=false A.Parent=x local B=
createLeaveConfirmationMenu(u,v)B.Visible=false B.Parent=x robloxLock(v)
settingsButton.MouseButton1Click:connect(function()game.GuiService:
AddCenterDialog(v,Enum.CenterDialogType.ModalDialog,function()settingsButton.
Active=false c(UserSettings().GameSettings.ControlMode.Name)if
syncVideoCaptureSetting then syncVideoCaptureSetting()end goToMenu(x,
'GameMainMenu','right',UDim2.new(0,525,0,430))v.Visible=true x.Parent:
TweenPosition(UDim2.new(0.5,-262,0.5,-200),Enum.EasingDirection.InOut,Enum.
EasingStyle.Sine,e,true)x.Parent:TweenSize(UDim2.new(0,525,0,430),Enum.
EasingDirection.InOut,Enum.EasingStyle.Sine,e,true)end,function()x.Parent:
TweenPosition(UDim2.new(0.5,-262,-0.5,-200),Enum.EasingDirection.InOut,Enum.
EasingStyle.Sine,e,true)x.Parent:TweenSize(UDim2.new(0,525,0,430),Enum.
EasingDirection.InOut,Enum.EasingStyle.Sine,e,true)v.Visible=false
settingsButton.Active=true end)end)return v end delay(0,function()v().Parent=a a
.BottomLeftControl.SettingsButton.Active=true a.BottomLeftControl.SettingsButton
.Position=UDim2.new(0,2,0,-2)if mouseLockLabel and UserSettings().GameSettings.
ControlMode==Enum.ControlMode['Mouse Lock Switch']then mouseLockLabel.Visible=
true elseif mouseLockLabel then mouseLockLabel.Visible=false end local w=a.
BottomLeftControl:FindFirstChild'Exit'if w then w:Remove()end local x=a:
FindFirstChild'TopLeftControl'if x then w=x:FindFirstChild'Exit'if w then w:
Remove()end x:Remove()end end)end local v,w,x,y=function()local v=Instance.new
'TextButton'v.Text=''v.AutoButtonColor=false v.Name='SaveDialogShield'v.Active=
true v.Visible=false v.Size=UDim2.new(1,0,1,0)v.BackgroundColor3=Color3I(51,51,
51)v.BorderColor3=Color3I(27,42,53)v.BackgroundTransparency=0.4 v.ZIndex=u+1
local w,x,y,z,A,B=nil,nil,nil,nil,nil,{}B[1]={}B[1].Text='Save'B[1].Style=Enum.
ButtonStyle.RobloxButtonDefault B[1].Function=function()x()end B[2]={}B[2].Text=
'Cancel'B[2].Function=function()A()end B[3]={}B[3].Text="Don't Save"B[3].
Function=function()z()end local C=RbxGui.CreateStyledMessageDialog(
'Unsaved Changes','Save your changes to ROBLOX before leaving?','Confirm',B)C.
Visible=true C.Parent=v local D,E={},1 if game.LocalSaveEnabled then D[E]={}D[E]
.Text='Save to Disk'D[E].Function=function()y()end E=E+1 end D[E]={}D[E].Text=
'Keep Playing'D[E].Function=function()A()end D[E+1]={}D[E+1].Text="Don't Save"D[
E+1].Function=function()z()end local F=RbxGui.CreateStyledMessageDialog(
'Upload Failed','Sorry, we could not save your changes to ROBLOX.','Error',D)F.
Visible=false F.Parent=v local G=Instance.new'Frame'G.Name='SpinnerDialog'G.
Style=Enum.FrameStyle.RobloxRound G.Size=UDim2.new(0,350,0,150)G.Position=UDim2.
new(0.5,-175,0.5,-75)G.Visible=false G.Active=true G.Parent=v local H=Instance.
new'TextLabel'H.Name='WaitingLabel'H.Text='Saving to ROBLOX...'H.Font=Enum.Font.
ArialBold H.FontSize=Enum.FontSize.Size18 H.Position=UDim2.new(0.5,25,0.5,0)H.
TextColor3=Color3.new(1,1,1)H.Parent=G local I=Instance.new'Frame'I.Name=
'Spinner'I.Size=UDim2.new(0,80,0,80)I.Position=UDim2.new(0.5,-150,0.5,-40)I.
BackgroundTransparency=1 I.Parent=G local J,K={},1 while K<=8 do local L=
Instance.new'ImageLabel'L.Name='Spinner'..K L.Size=UDim2.new(0,16,0,16)L.
Position=UDim2.new(0.5+0.3*math.cos(math.rad(45*K)),-8,0.5+0.3*math.sin(math.
rad(45*K)),-8)L.BackgroundTransparency=1 L.Image=
'http://www.roblox.com/Asset?id=45880710'L.Parent=I J[K]=L K=K+1 end x=function(
)C.Visible=false G.Visible=true local L=true delay(0,function()local M=0 while L
do local N=0 while N<8 do if N==M or N==((M+1)%8)then J[N+1].Image=
'http://www.roblox.com/Asset?id=45880668'else J[N+1].Image=
'http://www.roblox.com/Asset?id=45880710'end N=N+1 end M=(M+1)%8 wait(0.2)end
end)local M=game:SaveToRoblox()if not M then M=game:SaveToRoblox()end G.Visible=
false L=false if M then game:FinishShutdown(false)w()else F.Visible=true end end
y=function()F.Visible=false game:FinishShutdown(true)w()end z=function()C.
Visible=false F.Visible=false game:FinishShutdown(false)w()end A=function()C.
Visible=false F.Visible=false w()end w=function()C.Visible=true F.Visible=false
G.Visible=false v.Visible=false game.GuiService:RemoveCenterDialog(v)end
robloxLock(v)v.Visible=false return v end,function()waitForChild(game,
'NetworkClient')waitForChild(game,'Players')waitForProperty(game.Players,
'LocalPlayer')local v,w=game.Players.LocalPlayer,nil waitForChild(a,
'UserSettingsShield')waitForChild(a.UserSettingsShield,'Settings')waitForChild(a
.UserSettingsShield.Settings,'SettingsStyle')waitForChild(a.UserSettingsShield.
Settings.SettingsStyle,'GameMainMenu')waitForChild(a.UserSettingsShield.Settings
.SettingsStyle.GameMainMenu,'ReportAbuseButton')w=a.UserSettingsShield.Settings.
SettingsStyle.GameMainMenu.ReportAbuseButton local x=Instance.new'TextButton'x.
Name='ReportAbuseShield'x.Text=''x.AutoButtonColor=false x.Active=true x.Visible
=false x.Size=UDim2.new(1,0,1,0)x.BackgroundColor3=Color3I(51,51,51)x.
BorderColor3=Color3I(27,42,53)x.BackgroundTransparency=0.4 x.ZIndex=u+1 local y,
z=nil,{}z[1]={}z[1].Text='Ok'z[1].Modal=true z[1].Function=function()
closeAndResetDialog()end local A=RbxGui.CreateMessageDialog(
'Thanks for your report!',
[[Our moderators will review the chat logs and determine what happened. The other user is probably just trying to make you mad.
If anyone used swear words, inappropriate language, or threatened you in real life, please report them for Bad Words or Threats]]
,z)A.Visible=false A.Parent=x local B=RbxGui.CreateMessageDialog(
'Thanks for your report!',"We've recorded your report for evaluation.",z)B.
Visible=false B.Parent=x local C=RbxGui.CreateMessageDialog(
'Thanks for your report!',
[[Our moderators will review the chat logs and determine what happened.]],z)C.
Visible=false C.Parent=x local D=Instance.new'Frame'D.Name='Settings'D.Position=
UDim2.new(0.5,-250,0.5,-200)D.Size=UDim2.new(0,500,0,400)D.
BackgroundTransparency=1 D.Active=true D.Parent=x local E=Instance.new'Frame'E.
Name='ReportAbuseStyle'E.Size=UDim2.new(1,0,1,0)E.Style=Enum.FrameStyle.
RobloxRound E.Active=true E.ZIndex=u+1 E.Parent=D local F=Instance.new
'TextLabel'F.Name='Title'F.Text='Report Abuse'F.TextColor3=Color3I(221,221,221)F
.Position=UDim2.new(0.5,0,0,30)F.Font=Enum.Font.ArialBold F.FontSize=Enum.
FontSize.Size36 F.ZIndex=u+2 F.Parent=E local G=Instance.new'TextLabel'G.Name=
'Description'G.Text=
[[This will send a complete report to a moderator. The moderator will review the chat log and take appropriate action.]]
G.TextColor3=Color3I(221,221,221)G.Position=UDim2.new(0,0,0,55)G.Size=UDim2.new(
1,0,0,40)G.BackgroundTransparency=1 G.Font=Enum.Font.Arial G.FontSize=Enum.
FontSize.Size18 G.TextWrap=true G.ZIndex=u+2 G.TextXAlignment=Enum.
TextXAlignment.Left G.TextYAlignment=Enum.TextYAlignment.Top G.Parent=E local H=
Instance.new'TextLabel'H.Name='PlayerLabel'H.Text='Which player?'H.
BackgroundTransparency=1 H.Font=Enum.Font.Arial H.FontSize=Enum.FontSize.Size18
H.Position=UDim2.new(0.025,0,0,100)H.Size=UDim2.new(0.4,0,0,36)H.TextColor3=
Color3I(255,255,255)H.TextXAlignment=Enum.TextXAlignment.Left H.ZIndex=u+2 H.
Parent=E local I,J,K,L=nil,nil,nil,nil local M,N=function()local M,N,O=game:
GetService'Players',{},{}local P,Q=M:GetChildren(),1 if P then for R,S in
ipairs(P)do if S:IsA'Player'and S~=v then N[Q]=S.Name O[S.Name]=S Q=Q+1 end end
end local R=nil R,L=RbxGui.CreateDropDownMenu(N,function(S)I=O[S]if J and I then
K.Active=true end end)R.Name='PlayersComboBox'R.ZIndex=u+2 R.Position=UDim2.new(
0.425,0,0,102)R.Size=UDim2.new(0.55,0,0,32)return R end,Instance.new'TextLabel'N
.Name='AbuseLabel'N.Text='Type of Abuse:'N.Font=Enum.Font.Arial N.
BackgroundTransparency=1 N.FontSize=Enum.FontSize.Size18 N.Position=UDim2.new(
0.025,0,0,140)N.Size=UDim2.new(0.4,0,0,36)N.TextColor3=Color3I(255,255,255)N.
TextXAlignment=Enum.TextXAlignment.Left N.ZIndex=u+2 N.Parent=E local O={
'Swearing','Bullying','Scamming','Dating','Cheating/Exploiting',
'Personal Questions','Offsite Links','Bad Model or Script','Bad Username'}local
P,Q=RbxGui.CreateDropDownMenu(O,function(P)J=P if J and I then K.Active=true end
end,true)P.Name='AbuseComboBox'P.ZIndex=u+2 P.Position=UDim2.new(0.425,0,0,142)P
.Size=UDim2.new(0.55,0,0,32)P.Parent=E local R=Instance.new'TextLabel'R.Name=
'ShortDescriptionLabel'R.Text='Short Description: (optional)'R.Font=Enum.Font.
Arial R.FontSize=Enum.FontSize.Size18 R.Position=UDim2.new(0.025,0,0,180)R.Size=
UDim2.new(0.95,0,0,36)R.TextColor3=Color3I(255,255,255)R.TextXAlignment=Enum.
TextXAlignment.Left R.BackgroundTransparency=1 R.ZIndex=u+2 R.Parent=E local S=
Instance.new'Frame'S.Name='ShortDescriptionWrapper'S.Position=UDim2.new(0.025,0,
0,220)S.Size=UDim2.new(0.95,0,1,-310)S.BackgroundColor3=Color3I(0,0,0)S.
BorderSizePixel=0 S.ZIndex=u+2 S.Parent=E local T=Instance.new'TextBox'T.Name=
'TextBox'T.Text=''T.ClearTextOnFocus=false T.Font=Enum.Font.Arial T.FontSize=
Enum.FontSize.Size18 T.Position=UDim2.new(0,3,0,3)T.Size=UDim2.new(1,-6,1,-6)T.
TextColor3=Color3I(255,255,255)T.TextXAlignment=Enum.TextXAlignment.Left T.
TextYAlignment=Enum.TextYAlignment.Top T.TextWrap=true T.BackgroundColor3=
Color3I(0,0,0)T.BorderSizePixel=0 T.ZIndex=u+2 T.Parent=S K=Instance.new
'TextButton'K.Name='SubmitReportBtn'K.Active=false K.Modal=true K.Font=Enum.Font
.Arial K.FontSize=Enum.FontSize.Size18 K.Position=UDim2.new(0.1,0,1,-80)K.Size=
UDim2.new(0.35,0,0,50)K.AutoButtonColor=true K.Style=Enum.ButtonStyle.
RobloxButtonDefault K.Text='Submit Report'K.TextColor3=Color3I(255,255,255)K.
ZIndex=u+2 K.Parent=E K.MouseButton1Click:connect(function()if K.Active then if
J and I then D.Visible=false game.Players:ReportAbuse(I,J,T.Text)if J==
'Cheating/Exploiting'then B.Visible=true elseif J=='Bullying'or J=='Swearing'
then A.Visible=true else C.Visible=true end else closeAndResetDialog()end end
end)local U=Instance.new'TextButton'U.Name='CancelBtn'U.Font=Enum.Font.Arial U.
FontSize=Enum.FontSize.Size18 U.Position=UDim2.new(0.55,0,1,-80)U.Size=UDim2.
new(0.35,0,0,50)U.AutoButtonColor=true U.Style=Enum.ButtonStyle.
RobloxButtonDefault U.Text='Cancel'U.TextColor3=Color3I(255,255,255)U.ZIndex=u+2
U.Parent=E closeAndResetDialog=function()local V=E:FindFirstChild
'PlayersComboBox'if V then V.Parent=nil end I=nil L(nil)J=nil Q(nil)K.Active=
false T.Text=''D.Visible=true A.Visible=false B.Visible=false C.Visible=false x.
Visible=false w.Active=true game.GuiService:RemoveCenterDialog(x)end U.
MouseButton1Click:connect(closeAndResetDialog)w.MouseButton1Click:connect(
function()M().Parent=E table.insert(o,x)game.GuiService:AddCenterDialog(x,Enum.
CenterDialogType.ModalDialog,function()w.Active=false x.Visible=true p.Visible=
false end,function()w.Active=true x.Visible=false end)end)robloxLock(x)return x
end,function()waitForChild(game,'NetworkClient')waitForChild(game,'Players')
waitForProperty(game.Players,'LocalPlayer')local v=Instance.new'Frame'v.Name=
'ChatBar'v.Size=UDim2.new(1,0,0,22)v.Position=UDim2.new(0,0,1,0)v.
BackgroundColor3=Color3.new(0,0,0)v.BorderSizePixel=0 local w=Instance.new
'TextBox'w.Text=''w.Visible=false w.Size=UDim2.new(1,-4,1,0)w.Position=UDim2.
new(0,2,0,0)w.TextXAlignment=Enum.TextXAlignment.Left w.Font=Enum.Font.Arial w.
ClearTextOnFocus=false w.FontSize=Enum.FontSize.Size14 w.TextColor3=Color3.new(1
,1,1)w.BackgroundTransparency=1 local x=Instance.new'TextButton'x.Size=UDim2.
new(1,-4,1,0)x.Position=UDim2.new(0,2,0,0)x.AutoButtonColor=false x.Text=
'To chat click here or press "/" key'x.TextXAlignment=Enum.TextXAlignment.Left x
.Font=Enum.Font.Arial x.FontSize=Enum.FontSize.Size14 x.TextColor3=Color3.new(1,
1,1)x.BackgroundTransparency=1 local y=function()if w.Visible then return end x.
Visible=false w.Text=''w.Visible=true w:CaptureFocus()end x.MouseButton1Click:
connect(y)local z=true local A,B,C=function(A)z=A end,game:GetService
'GuiService',pcall(function()end)if not C then end w.FocusLost:connect(function(
D)if D then if w.Text~=''then local E=w.Text if string.sub(E,1,1)=='%'then game.
Players:TeamChat(string.sub(E,2))else game.Players:Chat(E)end end end w.Text=''w
.Visible=false x.Visible=true end)robloxLock(v)return v,A end,pcall(function()
local v=game.LocalSaveEnabled end)if y then delay(0,function()local z=v()z.
Parent=a game.RequestShutdown=function()table.insert(o,z)game.GuiService:
AddCenterDialog(z,Enum.CenterDialogType.QuitDialog,function()z.Visible=true end,
function()z.Visible=false end)return true end end)end delay(0,function()w().
Parent=a waitForChild(a,'UserSettingsShield')waitForChild(a.UserSettingsShield,
'Settings')waitForChild(a.UserSettingsShield.Settings,'SettingsStyle')
waitForChild(a.UserSettingsShield.Settings.SettingsStyle,'GameMainMenu')
waitForChild(a.UserSettingsShield.Settings.SettingsStyle.GameMainMenu,
'ReportAbuseButton')a.UserSettingsShield.Settings.SettingsStyle.GameMainMenu.
ReportAbuseButton.Active=true end)local z,A,B=game.CoreGui.Version,pcall(
function()return game.GuiService.UseLuaChat end)if A and B then end local C=
41324860 delay(0,function()waitForChild(game,'NetworkClient')waitForChild(game,
'Players')waitForProperty(game.Players,'LocalPlayer')waitForProperty(game.
Players.LocalPlayer,'Character')waitForChild(game.Players.LocalPlayer.Character,
'Humanoid')waitForProperty(game,'PlaceId')if game.PlaceId==C then game.Players.
LocalPlayer.Character.Humanoid:SetClickToWalkEnabled(false)game.Players.
LocalPlayer.CharacterAdded:connect(function(D)waitForChild(D,'Humanoid')D.
Humanoid:SetClickToWalkEnabled(false)end)end end)end

672
processed/48488235.lua Normal file
View File

@ -0,0 +1,672 @@
local a,b,c,d,e={taskmanager=1,Heliodex=1,multako=
'http://www.roblox.com/asset/?id=6923328292',mercury=1,pizzaboxer=
'http://www.roblox.com/asset/?id=6917566633'},{bottomDark='94691904',bottomLight
='94691940',midDark='94691980',midLight='94692025',LargeDark='96098866',
LargeLight='96098920',LargeHeader='96097470',NormalHeader='94692054',LargeBottom
='96397271',NormalBottom='94754966',DarkBluePopupMid='97114905',
LightBluePopupMid='97114905',DarkPopupMid='97112126',LightPopupMid='97109338',
DarkBluePopupTop='97114838',DarkBluePopupBottom='97114758',DarkPopupBottom=
'100869219',LightPopupBottom='97109175'},0.25,15,{}function e.Create(f)return
function(g)local h=Instance.new(f)for i,j in pairs(g)do if type(i)=='number'then
j.Parent=h else h[i]=j end end return h end end function MakeBackgroundGuiObj(f)
return e.Create'ImageLabel'{Name='Background',BackgroundTransparency=1,Image=f,
Position=UDim2.new(0,0,0,0),Size=UDim2.new(1,0,1,0)}end function Color3I(f,g,h)
return Color3.new(f/255,g/255,h/255)end function getMembershipTypeIcon(f,g)if a[
string.lower(g)]~=nil then if a[string.lower(g)]==1 then return
'http://www.roblox.com/asset/?id=6923330951'else return a[string.lower(g)]end
elseif f==Enum.MembershipType.None then return''elseif f==Enum.MembershipType.
BuildersClub then return'rbxasset://textures/ui/TinyBcIcon.png'elseif f==Enum.
MembershipType.TurboBuildersClub then return
'rbxasset://textures/ui/TinyTbcIcon.png'elseif f==Enum.MembershipType.
OutrageousBuildersClub then return'rbxasset://textures/ui/TinyObcIcon.png'else
error('Unknown membershipType'..f)end end local function getFriendStatusIcon(f)
if f==Enum.FriendStatus.Unknown or f==Enum.FriendStatus.NotFriend then return''
elseif f==Enum.FriendStatus.Friend then return
'http://www.roblox.com/asset/?id=99749771'elseif f==Enum.FriendStatus.
FriendRequestSent then return'http://www.roblox.com/asset/?id=99776888'elseif f
==Enum.FriendStatus.FriendRequestReceived then return
'http://www.roblox.com/asset/?id=99776838'else error('Unknown FriendStatus: '..f
)end end function MakePopupButton(f,g,h,i)local j=e.Create'ImageButton'{Name=
'ReportButton',BackgroundTransparency=1,Position=UDim2.new(0,0,1*h,0),Size=UDim2
.new(1,0,1,0),ZIndex=7,e.Create'TextLabel'{Name='ButtonText',
BackgroundTransparency=1,Position=UDim2.new(0.07,0,0.07,0),Size=UDim2.new(0.86,0
,0.86,0),Parent=HeaderFrame,Font='ArialBold',Text=g,FontSize='Size14',TextScaled
=true,TextColor3=Color3.new(1,1,1),TextStrokeTransparency=1,ZIndex=7},Parent=f}
if h==0 then j.Image='http://www.roblox.com/asset/?id=97108784'elseif i then if
h%2==1 then j.Image='http://www.roblox.com/asset/?id='..b['LightPopupBottom']
else j.Image='http://www.roblox.com/asset/?id='..b['DarkPopupBottom']end else if
h%2==1 then j.Image='http://www.roblox.com/asset/?id=97112126'else j.Image=
'http://www.roblox.com/asset/?id=97109338'end end return j end function
WaitForChild(f,g)while not f:FindFirstChild(g)do wait()debugprint(' child '..f.
Name..' waiting for '..g)end return f[g]end local f=game:GetService'Players'
while not f.LocalPlayer do f.Changed:wait()end local g=f.LocalPlayer local h,i=g
:GetMouse(),e.Create'Frame'{Name='PlayerListScreen',Size=UDim2.new(1,0,1,0),
BackgroundTransparency=1,Parent=script.Parent}local j=e.Create'Frame'{Name=
'LeaderBoardFrame',Position=UDim2.new(1,-150,0.005,0),Size=UDim2.new(0,150,0,800
),BackgroundTransparency=1,Parent=i}local k,l=e.Create'Frame'{Name='FocusFrame',
Position=UDim2.new(0,0,0,0),Size=UDim2.new(1,0,0,100),BackgroundTransparency=1,
Active=true,Parent=j},e.Create'Frame'{Name='Header',BackgroundTransparency=1,
Position=UDim2.new(0,0,0,0),Size=UDim2.new(1,0,0.07,0),Parent=j,
MakeBackgroundGuiObj'http://www.roblox.com/asset/?id=94692054'}local m,n,o,p=l.
Size.Y.Scale,e.Create'ImageButton'{Name='MaximizeButton',Active=true,
BackgroundTransparency=1,Position=UDim2.new(0,0,0,0),Size=UDim2.new(1,0,1,0),
Parent=l},e.Create'TextLabel'{Name='PlayerName',BackgroundTransparency=1,
Position=UDim2.new(0,0,0.01,0),Size=UDim2.new(0.98,0,0.38,0),Parent=l,Font=
'ArialBold',Text=g.Name,FontSize='Size24',TextColor3=Color3.new(1,1,1),
TextStrokeColor3=Color3.new(0,0,0),TextStrokeTransparency=0,TextXAlignment=
'Right',TextYAlignment='Center'},e.Create'TextLabel'{Name='PlayerScore',
BackgroundTransparency=1,Position=UDim2.new(0,0,0.4,0),Size=UDim2.new(0.98,0,0,
30),Parent=l,Font='ArialBold',Text='',FontSize='Size24',TextYAlignment='Top',
TextColor3=Color3.new(1,1,1),TextStrokeTransparency=1,TextXAlignment='Right'}
local q=e.Create'Frame'{Name='BottomShiftFrame',BackgroundTransparency=1,
Position=UDim2.new(0,0,m,0),Size=UDim2.new(1,0,1,0),Parent=j}local r=e.Create
'Frame'{Name='Bottom',BackgroundTransparency=1,Position=UDim2.new(0,0,0.07,0),
Size=UDim2.new(1,0,0.03,0),Parent=q,MakeBackgroundGuiObj
'http://www.roblox.com/asset/?id=94754966'}local s,t,u=e.Create'ImageButton'{
Name='bigbutton',Active=true,BackgroundTransparency=1,Position=UDim2.new(0,0,0,0
),Size=UDim2.new(1,0,1.5,0),ZIndex=3,Parent=r},e.Create'ImageButton'{Name=
'extendTab',Active=true,BackgroundTransparency=1,Image=
'http://www.roblox.com/asset/?id=94692731',Position=UDim2.new(0.608,0,0.3,0),
Size=UDim2.new(0.3,0,0.7,0),Parent=r},e.Create'Frame'{Name='ListFrame',
BackgroundTransparency=1,Position=UDim2.new(-1,0,0.07,0),Size=UDim2.new(2,0,1,0)
,Parent=j,ClipsDescendants=true}local v=e.Create'Frame'{Name='BottomFrame',
BackgroundTransparency=1,Position=UDim2.new(0,0,-0.8,0),Size=UDim2.new(1,0,1,0),
Parent=u,ClipsDescendants=true}local w=e.Create'Frame'{Name='ScrollBarFrame',
BackgroundTransparency=1,Position=UDim2.new(0.987,0,0.8,0),Size=UDim2.new(0.01,0
,0.2,0),Parent=v}local x,y,z,A=e.Create'Frame'{Name='ScrollBar',
BackgroundTransparency=0,BackgroundColor3=Color3.new(0.2,0.2,0.2),Position=UDim2
.new(0,0,0,0),Size=UDim2.new(1,0,0.5,0),ZIndex=5,Parent=w},e.Create'Frame'{Name=
'SubFrame',BackgroundTransparency=1,Position=UDim2.new(0,0,0.8,0),Size=UDim2.
new(1,0,1,0),Parent=v},e.Create'Frame'{Name='PopUpFrame',BackgroundTransparency=
1,SizeConstraint='RelativeXX',Position=j.Position+UDim2.new(0,-150,0,0),Size=
UDim2.new(0,150,0,800),Parent=j,ClipsDescendants=true,ZIndex=7},nil local B,C,D,
E,F,G,H,I,J=e.Create'Frame'{Name='Panel',BackgroundTransparency=1,Position=UDim2
.new(1,0,0,0),Size=UDim2.new(1,0,0.032,0),Parent=z},e.Create'Frame'{Name=
'StatTitles',BackgroundTransparency=1,Position=UDim2.new(0,0,1,-10),Size=UDim2.
new(1,0,0,0),Parent=l},Instance.new'BoolValue',Instance.new'BoolValue',Instance.
new'BoolValue',Instance.new'BoolValue',e.Create'Frame'{Name='MidTemplate',
BackgroundTransparency=1,Position=UDim2.new(100,0,0.07,0),Size=UDim2.new(0.5,0,
0.025,0),e.Create'ImageLabel'{Name='BCLabel',Active=true,BackgroundTransparency=
1,Position=UDim2.new(0.005,5,0.2,0),Size=UDim2.new(0,16,0,16),SizeConstraint=
'RelativeYY',Image='',ZIndex=3},e.Create'ImageLabel'{Name='FriendLabel',Active=
true,BackgroundTransparency=1,Position=UDim2.new(0.005,5,0.15,0),Size=UDim2.new(
0,16,0,16),SizeConstraint='RelativeYY',Image='',ZIndex=3},e.Create'ImageButton'{
Name='ClickListener',Active=true,BackgroundTransparency=1,Position=UDim2.new(
0.005,1,0,0),Size=UDim2.new(0.96,0,1,0),ZIndex=3},e.Create'Frame'{Name=
'TitleFrame',BackgroundTransparency=1,Position=UDim2.new(0.01,0,0,0),Size=UDim2.
new(0,140,1,0),ClipsDescendants=true,e.Create'TextLabel'{Name='Title',
BackgroundTransparency=1,Position=UDim2.new(0,5,0,0),Size=UDim2.new(100,0,1,0),
Font='Arial',FontSize='Size14',TextColor3=Color3.new(1,1,1),TextXAlignment=
'Left',TextYAlignment='Center',ZIndex=3}},e.Create'TextLabel'{Name='PlayerScore'
,BackgroundTransparency=1,Position=UDim2.new(0,0,0,0),Size=UDim2.new(1,0,1,0),
Font='ArialBold',Text='',FontSize='Size14',TextColor3=Color3.new(1,1,1),
TextXAlignment='Right',TextYAlignment='Center',ZIndex=3},ZIndex=3},e.Create
'Frame'{Name='MidBGTemplate',BackgroundTransparency=1,Position=UDim2.new(100,0,
0.07,0),Size=UDim2.new(0.5,0,0.025,0),MakeBackgroundGuiObj
'http://www.roblox.com/asset/?id=94692025'},e.Create'TextButton'{Name=
'ReportAbuseShield',Text='',AutoButtonColor=false,Active=true,Visible=true,Size=
UDim2.new(1,0,1,0),BackgroundColor3=Color3I(51,51,51),BorderColor3=Color3I(27,42
,53),BackgroundTransparency=1}local K=e.Create'Frame'{Name='Settings',Position=
UDim2.new(0.5,-250,0.5,-200),Size=UDim2.new(0,500,0,400),BackgroundTransparency=
1,Active=true,Parent=J}local L=e.Create'Frame'{Name='ReportAbuseStyle',Size=
UDim2.new(1,0,1,0),Active=true,BackgroundTransparency=1,MakeBackgroundGuiObj
'http://www.roblox.com/asset/?id=96488767',e.Create'TextLabel'{Name='Title',Text
='Report Abuse',TextColor3=Color3I(221,221,221),Position=UDim2.new(0.5,0,0,30),
Font=Enum.Font.ArialBold,FontSize=Enum.FontSize.Size36},e.Create'TextLabel'{Name
='Description',Text=
[[This will send a complete report to a moderator. The moderator will review the chat log and take appropriate action.]]
,TextColor3=Color3I(221,221,221),Position=UDim2.new(0.01,0,0,55),Size=UDim2.new(
0.99,0,0,40),BackgroundTransparency=1,Font=Enum.Font.Arial,FontSize=Enum.
FontSize.Size18,TextWrap=true,TextXAlignment=Enum.TextXAlignment.Left,
TextYAlignment=Enum.TextYAlignment.Top},e.Create'TextLabel'{Name='AbuseLabel',
Text='What did they do?',Font=Enum.Font.Arial,BackgroundTransparency=1,FontSize=
Enum.FontSize.Size18,Position=UDim2.new(0.025,0,0,140),Size=UDim2.new(0.4,0,0,36
),TextColor3=Color3I(255,255,255),TextXAlignment=Enum.TextXAlignment.Left},e.
Create'TextLabel'{Name='ShortDescriptionLabel',Text=
'Short Description: (optional)',Font=Enum.Font.Arial,FontSize=Enum.FontSize.
Size18,Position=UDim2.new(0.025,0,0,180),Size=UDim2.new(0.95,0,0,36),TextColor3=
Color3I(255,255,255),TextXAlignment=Enum.TextXAlignment.Left,
BackgroundTransparency=1},e.Create'TextLabel'{Name='ReportingPlayerLabel',Text=
'Reporting Player',BackgroundTransparency=1,Font=Enum.Font.Arial,FontSize=Enum.
FontSize.Size18,Position=UDim2.new(0.025,0,0,100),Size=UDim2.new(0.95,0,0,36),
TextColor3=Color3I(255,255,255),TextXAlignment=Enum.TextXAlignment.Left,Parent=
AbuseSettingsFrame},Parent=K}local M,N,O,P,Q,R,S,T,U=e.Create'TextLabel'{Name=
'PlayerLabel',Text='',BackgroundTransparency=1,Font=Enum.Font.ArialBold,FontSize
=Enum.FontSize.Size18,Position=UDim2.new(0.025,0,0,100),Size=UDim2.new(0.95,0,0,
36),TextColor3=Color3I(255,255,255),TextXAlignment=Enum.TextXAlignment.Right,
Parent=L},e.Create'ImageButton'{Name='SubmitReportBtn',Active=false,
BackgroundTransparency=1,Position=UDim2.new(0.5,-200,1,-80),Size=UDim2.new(0,150
,0,50),AutoButtonColor=false,Image='http://www.roblox.com/asset/?id=96502438',
Parent=L},e.Create'ImageButton'{Name='CancelBtn',BackgroundTransparency=1,
Position=UDim2.new(0.5,50,1,-80),Size=UDim2.new(0,150,0,50),AutoButtonColor=true
,Image='http://www.roblox.com/asset/?id=96500683',Parent=L},e.Create'Frame'{Name
='AbuseDescriptionWrapper',Position=UDim2.new(0.025,0,0,220),Size=UDim2.new(0.95
,0,1,-310),BackgroundColor3=Color3I(0,0,0),BorderSizePixel=0,Parent=L},nil,e.
Create'TextBox'{Name='TextBox',Text='',ClearTextOnFocus=false,Font=Enum.Font.
Arial,FontSize=Enum.FontSize.Size18,Position=UDim2.new(0,3,0,3),Size=UDim2.new(1
,-6,1,-6),TextColor3=Color3I(255,255,255),TextXAlignment=Enum.TextXAlignment.
Left,TextYAlignment=Enum.TextYAlignment.Top,TextWrap=true,BackgroundColor3=
Color3I(0,0,0),BorderSizePixel=0},e.Create'Frame'{Name='AbuseFeedbackBox',
BackgroundTransparency=1,Position=UDim2.new(0.25,0,0.300000012,0),Size=UDim2.
new(0.5,0,0.370000005,0),MakeBackgroundGuiObj
'http://www.roblox.com/asset/?id=96506233',e.Create'TextLabel'{Name='Header',
Position=UDim2.new(0,10,0.05,0),Size=UDim2.new(1,-30,0.15,0),TextScaled=true,
BackgroundTransparency=1,TextXAlignment=Enum.TextXAlignment.Center,
TextYAlignment=Enum.TextYAlignment.Top,Text='Thanks for your report!',TextColor3
=Color3.new(1,1,1),FontSize=Enum.FontSize.Size48,Font='ArialBold'},e.Create
'TextLabel'{Name='content',Position=UDim2.new(0,10,0.2,0),Size=UDim2.new(1,-30,
0.4,0),TextScaled=true,BackgroundTransparency=1,TextColor3=Color3.new(1,1,1),
Text=
[[Our moderators will review the chat logs and determine what happened. The other user is probably just trying to make you mad.
If anyone used swear words, inappropriate language, or threatened you in real life, please report them for Bad Words or Threats]]
,TextWrapped=true,TextYAlignment=Enum.TextYAlignment.Top,FontSize=Enum.FontSize.
Size24,Font='Arial'},e.Create'ImageButton'{Name='OkButton',
BackgroundTransparency=1,Position=UDim2.new(0.5,-75,1,-80),Size=UDim2.new(0,150,
0,50),AutoButtonColor=true,Image='http://www.roblox.com/asset/?id=96507959'}},e.
Create'Frame'{Name='AbuseFeedbackBox',BackgroundTransparency=1,Position=UDim2.
new(0.25,0,0.300000012,0),Size=UDim2.new(0.5,0,0.370000005,0),
MakeBackgroundGuiObj'http://www.roblox.com/asset/?id=96506233',e.Create
'TextLabel'{Name='Header',Position=UDim2.new(0,10,0.05,0),Size=UDim2.new(1,-30,
0.15,0),TextScaled=true,BackgroundTransparency=1,TextColor3=Color3.new(1,1,1),
TextXAlignment=Enum.TextXAlignment.Center,TextYAlignment=Enum.TextYAlignment.Top
,Text='Thanks for your report!',FontSize=Enum.FontSize.Size48,Font='ArialBold'},
e.Create'TextLabel'{Name='content',Position=UDim2.new(0,10,0.2,0),Size=UDim2.
new(1,-30,0.15,0),TextScaled=true,BackgroundTransparency=1,TextColor3=Color3.
new(1,1,1),Text=
[[Our moderators will review the chat logs and determine what happened.]],
TextWrapped=true,TextYAlignment=Enum.TextYAlignment.Top,FontSize=Enum.FontSize.
Size24,Font='Arial'},e.Create'ImageButton'{Name='OkButton',
BackgroundTransparency=1,Position=UDim2.new(0.5,-75,1,-80),Size=UDim2.new(0,150,
0,50),AutoButtonColor=true,Image='http://www.roblox.com/asset/?id=96507959'}},
Instance.new'ImageButton'U.Size=UDim2.new(1,0,1,0)U.BackgroundTransparency=1 U.
ZIndex=8 U.Visible=false U.Parent=i local V=e.Create'Frame'{Name='debugframe',
BackgroundTransparency=1,Position=UDim2.new(0.25,0,0.300000012,0),Size=UDim2.
new(0.5,0,0.370000005,0),MakeBackgroundGuiObj
'http://www.roblox.com/asset/?id=96506233'}local W,X,Y=e.Create'TextLabel'{
BackgroundTransparency=0.8,Position=UDim2.new(0,0,0.01,0),Size=UDim2.new(1,0,0.5
,0),Parent=V,Font='ArialBold',Text='--',FontSize='Size14',TextWrapped=true,
TextColor3=Color3.new(1,1,1),TextStrokeColor3=Color3.new(0,0,0),
TextStrokeTransparency=0,TextXAlignment='Right',TextYAlignment='Center'},e.
Create'TextLabel'{BackgroundTransparency=0.8,Position=UDim2.new(0,0,0.5,0),Size=
UDim2.new(1,0,0.5,0),Parent=V,Font='ArialBold',Text='--',FontSize='Size14',
TextWrapped=true,TextColor3=Color3.new(1,1,1),TextStrokeColor3=Color3.new(0,0,0)
,TextStrokeTransparency=0,TextXAlignment='Right',TextYAlignment='Center'},true
function debugprint(Z)if Y then X.Text=Z end end local Z,_=assert(LoadLibrary
'RbxGui'),8 for aa,ab in pairs(b)do Game:GetService'ContentProvider':Preload(
'http://www.roblox.com/asset/?id='..ab)end local ac,ad,ae,af,ag,ah,ai,aj,ak,al,
am={},0,{},{},nil,{},{},0.03,0,0.25,false pcall(function()am=Game:GetService
'UserInputService'.TouchEnabled end)local an,ao,ap,aq=150,10,UDim2.new(0.5,0,1,0
),UDim2.new(0.25,0,0.1,0)local ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF=
UDim2.new(0,an,0,800),UDim2.new(1,-an,0.005,0),-4E-2,v.Position.Y.Scale,nil,nil,
false,false,false,false,false,false,false,{},8 if not am then aF=12 end local aG
,aH,aI,aJ,aK,aL,aM=false,nil,{'Bad Words or Threats','Bad Username',
'Talking about Dating','Account Trading or Sharing','Asking Personal Questions',
'Rude or Mean Behavior','False Reporting Me'},nil,nil,{Owner=255,Admin=240,
Member=128,Visitor=10,Banned=0},not not game.Workspace:FindFirstChild
'PSVariable'game.Workspace.ChildAdded:connect(function(aN)if aN.Name==
'PSVariable'and aN:IsA'BoolValue'then aM=true end end)function GetTotalEntries()
return math.min(#ai,_)end function GetEntryListLength()local aN=#ae+#af if ag
then aN=aN+1 end return aN end function AreAllEntriesOnScreen()return#ai*H.Size.
Y.Scale<=1+au end function GetLengthOfVisbleScroll()return 1+au end function
GetMaxScroll()return au*-1 end function GetMinScroll()if AreAllEntriesOnScreen()
then return GetMaxScroll()else return(GetMaxScroll()-(#ai*H.Size.Y.Scale))+(1+au
)end end function AbsoluteToPercent(aN,aO)return Vector2.new(aN,aO)/i.
AbsoluteSize end function TweenProperty(aN,aO,aP,aQ,aR)local aS=tick()while
tick()-aS<aR do aN[aO]=((aQ-aP)*((tick()-aS)/aR))+aP wait(3.333333333333333E-2)
end aN[aO]=aQ end function WaitForClick(aN,aO,aP)if aA then return end aA=true
local aQ,aR aQ=U.MouseButton1Up:connect(function(aS,aT)aP(aS,aT)U.Visible=false
aQ:disconnect()if aR then aR:disconnect()end end)aR=U.MouseMoved:connect(
function(aS,aT)aO(aS,aT)end)U.Visible=true U.Active=true U.Parent=aN aN.
AncestryChanged:connect(function(aS,aT)if aS==aN and aT==nil then aP(nx,ny)U.
Visible=false aQ:disconnect()aR:disconnect()debugprint
'forced out of wait for click'end end)aA=false end function GetPrivilegeType(aN)
if aN<=aL['Banned']then return aL['Banned']elseif aN<=aL['Visitor']then return
aL['Visitor']elseif aN<=aL['Member']then return aL['Member']elseif aN<=aL[
'Admin']then return aL['Admin']else return aL['Owner']end end function
SetPrivilegeRank(aN,aO)while aN.PersonalServerRank<aO do game:GetService
'PersonalServerService':Promote(aN)end while aN.PersonalServerRank>aO do game:
GetService'PersonalServerService':Demote(aN)end end function
OnPrivilegeLevelSelect(aN,aO,aP,aQ,aR,aS)debugprint'setting privilege level'
SetPrivilegeRank(aN,aO)HighlightMyRank(aN,aP,aQ,aR,aS)end function
HighlightMyRank(aN,aO,aP,aQ,aR)aO.Image='http://www.roblox.com/asset/?id='..b[
'LightPopupMid']aP.Image='http://www.roblox.com/asset/?id='..b['DarkPopupMid']aQ
.Image='http://www.roblox.com/asset/?id='..b['LightPopupMid']aR.Image=
'http://www.roblox.com/asset/?id='..b['DarkPopupBottom']local aS=aN.
PersonalServerRank if aS<=aL['Banned']then aO.Image=
'http://www.roblox.com/asset/?id='..b['LightBluePopupMid']elseif aS<=aL[
'Visitor']then aP.Image='http://www.roblox.com/asset/?id='..b['DarkBluePopupMid'
]elseif aS<=aL['Member']then aQ.Image='http://www.roblox.com/asset/?id='..b[
'LightBluePopupMid']elseif aS<=aL['Admin']then aR.Image=
'http://www.roblox.com/asset/?id='..b['DarkBluePopupBottom']end end function
OnSubmitAbuse()if N.Active then if aH and aw then L.Visible=false game.Players:
ReportAbuse(aw,aH,Q.Text)if aH=='Rude or Mean Behavior'or aH==
'False Reporting Me'then S.Parent=J else debugprint'opening abuse box'T.Parent=J
end else CloseAbuseDialog()end end end function OpenAbuseDialog()debugprint
'adding report dialog'M.Text=aw.Name A:TweenPosition(UDim2.new(1,0,0,0),'Out',
'Linear',c,true)Q=R:Clone()Q.Parent=P J.Parent=i ClosePopUpPanel()end function
CloseAbuseDialog()aH=nil N.Active=false N.Image=
'http://www.roblox.com/asset/?id=96502438'Q:Destroy()S.Parent=nil T.Parent=nil J
.Parent=nil L.Visible=true end function InitReportAbuse()aJ=function(aN)aH=aN if
aH and aw then N.Active=true N.Image='http://www.roblox.com/asset/?id=96501119'
end end aK,UpdateAbuseSelection=Z.CreateDropDownMenu(aI,aJ,true)aK.Name=
'AbuseComboBox'aK.Position=UDim2.new(0.425,0,0,142)aK.Size=UDim2.new(0.55,0,0,32
)aK.Parent=L O.MouseButton1Click:connect(CloseAbuseDialog)N.MouseButton1Click:
connect(OnSubmitAbuse)S:FindFirstChild'OkButton'.MouseButton1Down:connect(
CloseAbuseDialog)T:FindFirstChild'OkButton'.MouseButton1Down:connect(
CloseAbuseDialog)end local function GetFriendStatus(aN)if aN==game.Players.
LocalPlayer then return Enum.FriendStatus.NotFriend else local aO,aP=pcall(
function()return game.Players.LocalPlayer:GetFriendStatus(aN)end)if aO then
return aP else return Enum.FriendStatus.NotFriend end end end function
OnFriendButtonSelect()local aN=GetFriendStatus(aw)if aN==Enum.FriendStatus.
Friend then g:RevokeFriendship(aw)elseif aN==Enum.FriendStatus.Unknown or aN==
Enum.FriendStatus.NotFriend or aN==Enum.FriendStatus.FriendRequestSent or aN==
Enum.FriendStatus.FriendRequestReceived then g:RequestFriendship(aw)end
ClosePopUpPanel()end function OnFriendRefuseButtonSelect()g:RevokeFriendship(aw)
ClosePopUpPanel()A:TweenPosition(UDim2.new(1,0,0,0),'Out','Linear',c,true)end
function PlayerSortFunction(aN,aO)if aN['Score']==aO['Score']then return aN[
'Player'].Name:upper()<aO['Player'].Name:upper()end if not aN['Score']then
return false end if not aO['Score']then return true end return aN['Score']<aO[
'Score']end function BlowThisPopsicleStand()Tabify()end function StatSort(aN,aO)
if aN.IsPrimary~=aO.IsPrimary then return aN.IsPrimary end if aN.Priority==aO.
Priority then return aN.AddId<aO.AddId end return aN.Priority<aO.Priority end
function StatChanged(aN,aO)BaseUpdate()end function StatAdded(aN,aO)while ay do
debugprint'in stat added function lock'wait(3.333333333333333E-2)end ay=true if
not(aN:IsA'StringValue'or aN:IsA'IntValue'or aN:IsA'BoolValue'or aN:IsA
'NumberValue'or aN:IsA'DoubleConstrainedValue'or aN:IsA'IntConstrainedValue')
then BlowThisPopsicleStand()else local aP=false for aQ,aR in pairs(ac)do if aR[
'Name']==aN.Name then aP=true end end if not aP then local aS={}aS['Name']=aN.
Name aS['Priority']=0 if aN:FindFirstChild'Priority'then aS['Priority']=aN.
Priority end aS['IsPrimary']=false if aN:FindFirstChild'IsPrimary'then aS[
'IsPrimary']=true end aS.AddId=ad ad=ad+1 table.insert(ac,aS)table.sort(ac,
StatSort)if not C:FindFirstChild(aS['Name'])then CreateStatTitle(aS['Name'])end
UpdateMaximize()end end ay=false StatChanged(aO)aN.Changed:connect(function(aP)
StatChanged(aO,aP)end)end function DoesStatExist(aN,aO)for aP,aQ in pairs(ae)do
if aQ['Player']~=aO and aQ['Player']:FindFirstChild'leaderstats'and aQ['Player']
.leaderstats:FindFirstChild(aN)then return true end end return false end
function StatRemoved(aN,aO)while ay do debugprint'In Adding Stat Lock1'wait(
3.333333333333333E-2)end ay=true if aO['Frame']:FindFirstChild(aN.Name)then
debugprint'Destroyed frame!'aO['Frame'][aN.Name].Parent=nil end if not
DoesStatExist(aN.Name,aO['Player'])then for aP,aQ in ipairs(ac)do if aQ['Name']
==aN.Name then table.remove(ac,aP)if C:FindFirstChild(aN.Name)then C[aN.Name]:
Destroy()end for aR,aS in pairs(af)do if aS['Frame']:FindFirstChild(aN.Name)then
aS['Frame'][aN.Name]:Destroy()end end end end end ay=false StatChanged(aO)end
function RemoveAllStats(aN)for aO,aP in ipairs(ac)do StatRemoved(aP,aN)end end
function GetScoreValue(aN)if aN:IsA'DoubleConstrainedValue'or aN:IsA
'IntConstrainedValue'then return aN.ConstrainedValue elseif aN:IsA'BoolValue'
then if aN.Value then return 1 else return 0 end else return aN.Value end end
function MakeScoreEntry(aN,aO,aP)if not aP:FindFirstChild'PlayerScore'then
return end local aQ,aR=aP:FindFirstChild'PlayerScore':Clone(),nil wait()if aN[
'Player']:FindFirstChild'leaderstats'and aN['Player'].leaderstats:
FindFirstChild(aO['Name'])then aR=aN['Player']:FindFirstChild'leaderstats':
FindFirstChild(aO['Name'])else return end if not aN['Player'].Parent then return
end aQ.Name=aO['Name']aQ.Text=tostring(GetScoreValue(aR))if aO['Name']==ac[1][
'Name']then debugprint'changing score'aN['Score']=GetScoreValue(aR)if aN[
'Player']==g then p.Text=tostring(GetScoreValue(aR))end end aR.Changed:connect(
function()if not aR.Parent then return end if aO['Name']==ac[1]['Name']then aN[
'Score']=GetScoreValue(aR)if aN['Player']==g then p.Text=tostring(GetScoreValue(
aR))end end aQ.Text=tostring(GetScoreValue(aR))BaseUpdate()end)return aQ end
function CreateStatTitle(aN)local aO=H:FindFirstChild'PlayerScore':Clone()aO.
Name=aN aO.Text=aN if E.Value then aO.TextTransparency=0 else aO.
TextTransparency=1 end aO.Parent=C end function RecreateScoreColumns(aN)while ay
do debugprint'In Adding Stat Lock2'wait(3.333333333333333E-2)end ay=true local
aO=5 local aP,aQ=aO,0 for aR=#ac,1,-1 do local aS=ac[aR]aQ=0 for aT,aU in
ipairs(aN)do local aV,aW=aU['Frame'],aU['Player']if not aV:FindFirstChild(aS[
'Name'])then local aX=MakeScoreEntry(aU,aS,aV)if aX then debugprint('adding '..
aX.Name..' to '..aU['Player'].Name)aX.Parent=aV if aU['MyTeam']and aU['MyTeam']
~=ag and not aU['MyTeam']['Frame']:FindFirstChild(aS['Name'])then local aY=aX:
Clone()aY.Parent=aU['MyTeam']['Frame']end end end aS['XOffset']=aO if aV:
FindFirstChild(aS['Name'])then aQ=math.max(aQ,aV[aS['Name']].TextBounds.X)end
end if G.Value then aQ=math.max(aQ,C[aS['Name']].TextBounds.X)C[aS['Name']]:
TweenPosition(UDim2.new(at,-aO,0,0),'Out','Linear',c,true)else C[aS['Name']]:
TweenPosition(UDim2.new((0.4+((0.6/#ac)*(aR-1)))-1,0,0,0),'Out','Linear',c,true)
end aS['ColumnSize']=aQ aO=aO+ao+aQ aP=math.max(aO,aP)end ar=UDim2.new(0,an+aP-
ao,0,800)as=UDim2.new(1,-ar.X.Offset,as.Y.Scale,0)UpdateHeaderNameSize()
UpdateMaximize()ay=false end function ToggleMinimize()D.Value=not D.Value
UpdateStatNames()end function ToggleMaximize()E.Value=not E.Value
RecreateScoreColumns(ae)end function Tabify()F.Value=true E.Value=false D.Value=
true UpdateMinimize()F.Value=true i:TweenPosition(UDim2.new(ar.X.Scale,ar.X.
Offset-10,0,0),'Out','Linear',c*1.2,true)end function UnTabify()if F.Value then
F.Value=false i:TweenPosition(UDim2.new(0,0,0,0),'Out','Linear',c*1.2,true)end
end function UpdateMinimize()if D.Value then if E.Value then ToggleMaximize()end
if not F.Value then j:TweenSizeAndPosition(UDim2.new(0.01,o.TextBounds.X,ar.Y.
Scale,ar.Y.Offset),UDim2.new(0.99,-o.TextBounds.X,as.Y.Scale,0),'Out','Linear',c
*1.2,true)else j:TweenSizeAndPosition(ar,as,'Out','Linear',c*1.2,true)end v:
TweenPosition(UDim2.new(0,0,-1,0),'Out','Linear',c*1.2,true)r:TweenPosition(
UDim2.new(0,0,0,0),'Out','Linear',c*1.2,true)k.Size=UDim2.new(1,0,m,0)t.Image=
'http://www.roblox.com/asset/?id=94692731'else if not E.Value then j:
TweenSizeAndPosition(ar,as,'Out','Linear',c*1.2,true)end au=math.min(math.max(au
,-1),-1+(#ai*I.Size.Y.Scale))UpdateScrollPosition()v.Position=UDim2.new(0,0,au,0
)local aN=(au+v.Size.Y.Scale)r.Position=UDim2.new(0,0,aN,0)k.Size=UDim2.new(1,0,
aN+m,0)t.Image='http://www.roblox.com/asset/?id=94825585'end end function
UpdateMaximize()if E.Value then for aN=1,#ac,1 do local aO=ac[aN]C[aO['Name']]:
TweenPosition(UDim2.new(0.4+((0.6/#ac)*(aN-1))-1,0,0,0),'Out','Linear',c,true)
end if D.Value then ToggleMinimize()else UpdateMinimize()end j:
TweenSizeAndPosition(ap,aq,'Out','Linear',c*1.2,true)p:TweenPosition(UDim2.new(0
,0,o.Position.Y.Scale,0),'Out','Linear',c*1.2,true)o:TweenPosition(UDim2.new(-
0.1,-p.TextBounds.x,o.Position.Y.Scale,0),'Out','Linear',c*1.2,true)l.Background
.Image='http://www.roblox.com/asset/?id='..b['LargeHeader']r.Background.Image=
'http://www.roblox.com/asset/?id='..b['LargeBottom']for aN,aO in ipairs(ai)do if
(aN%2)~=1 then aO.Background.Image='http://www.roblox.com/asset/?id='..b[
'LargeDark']else aO.Background.Image='http://www.roblox.com/asset/?id='..b[
'LargeLight']end end for aP,aQ in ipairs(ah)do if aQ:FindFirstChild
'ClickListener'then aQ.ClickListener.Size=UDim2.new(0.974,0,aQ.ClickListener.
Size.Y.Scale,0)end for aR=1,#ac,1 do local aS=ac[aR]if aQ:FindFirstChild(aS[
'Name'])then aQ[aS['Name']]:TweenPosition(UDim2.new(0.4+((0.6/#ac)*(aR-1))-1,0,0
,0),'Out','Linear',c,true)end end end for aR,aS in ipairs(ae)do WaitForChild(aS[
'Frame'],'TitleFrame').Size=UDim2.new(0.38,0,aS['Frame'].TitleFrame.Size.Y.Scale
,0)end for aT,aU in ipairs(af)do WaitForChild(aU['Frame'],'TitleFrame').Size=
UDim2.new(0.38,0,aU['Frame'].TitleFrame.Size.Y.Scale,0)end else if not D.Value
then j:TweenSizeAndPosition(ar,as,'Out','Linear',c*1.2,true)end p:TweenPosition(
UDim2.new(0,0,0.4,0),'Out','Linear',c*1.2,true)o:TweenPosition(UDim2.new(0,0,o.
Position.Y.Scale,0),'Out','Linear',c*1.2,true)l.Background.Image=
'http://www.roblox.com/asset/?id='..b['NormalHeader']r.Background.Image=
'http://www.roblox.com/asset/?id='..b['NormalBottom']for aN,aQ in ipairs(ai)do
if aN%2~=1 then aQ.Background.Image='http://www.roblox.com/asset/?id='..b[
'midDark']else aQ.Background.Image='http://www.roblox.com/asset/?id='..b[
'midLight']end end for aT,aU in ipairs(ah)do if aU:FindFirstChild'ClickListener'
then aU.ClickListener.Size=UDim2.new(0.96,0,aU.ClickListener.Size.Y.Scale,0)for
aV=1,#ac,1 do local aW=ac[aV]if aU:FindFirstChild(aW['Name'])and aW['XOffset']
then aU[aW['Name']]:TweenPosition(UDim2.new(at,-aW['XOffset'],0,0),'Out',
'Linear',c,true)end end end end for aV,aW in ipairs(af)do WaitForChild(aW[
'Frame'],'TitleFrame').Size=UDim2.new(0,an*0.9,aW['Frame'].TitleFrame.Size.Y.
Scale,0)end for aX,aY in ipairs(ae)do WaitForChild(aY['Frame'],'TitleFrame').
Size=UDim2.new(0,an*0.9,aY['Frame'].TitleFrame.Size.Y.Scale,0)end end end
function UpdateStatNames()if not G.Value or D.Value then CloseNames()else
ExpandNames()end end function ExpandNames()if#ac~=0 then for aT,aX in pairs(C:
GetChildren())do Spawn(function()TweenProperty(aX,'TextTransparency',aX.
TextTransparency,0,c)end)end m=0.09 l:TweenSizeAndPosition(UDim2.new(l.Size.X.
Scale,l.Size.X.Offset,m,0),l.Position,'Out','Linear',c*1.2,true)u:TweenPosition(
UDim2.new(u.Position.X.Scale,0,m,0),'Out','Linear',c*1.2,true)q:TweenPosition(
UDim2.new(0,0,m,0),'Out','Linear',c*1.2,true)end end function CloseNames()if#ac
~=0 then m=0.07 if not E.Value then for aT,aX in pairs(C:GetChildren())do Spawn(
function()TweenProperty(aX,'TextTransparency',aX.TextTransparency,1,c)end)end
end q:TweenPosition(UDim2.new(0,0,m,0),'Out','Linear',c*1.2,true)l:
TweenSizeAndPosition(UDim2.new(l.Size.X.Scale,l.Size.X.Offset,m,0),l.Position,
'Out','Linear',c*1.2,true)u:TweenPosition(UDim2.new(u.Position.X.Scale,0,m,0),
'Out','Linear',c*1.2,true)end end function OnScrollWheelMove(aT)if not(F.Value
or D.Value or aB)then local aX=y.Position local aY=math.max(math.min(aX.Y.Scale+
aT,GetMaxScroll()),GetMinScroll())y.Position=UDim2.new(aX.X.Scale,aX.X.Offset,aY
,aX.Y.Offset)UpdateScrollPosition()end end function AttachScrollWheel()if aE
then return end aE={}table.insert(aE,h.WheelForward:connect(function()
OnScrollWheelMove(0.05)end))table.insert(aE,h.WheelBackward:connect(function()
OnScrollWheelMove(-5E-2)end))end function DetachScrollWheel()if aE then for aT,
aX in pairs(aE)do aX:disconnect()end end aE=nil end k.MouseEnter:connect(
function()if not(D.Value or F.Value)then AttachScrollWheel()end end)k.MouseLeave
:connect(function()DetachScrollWheel()end)function UpdateScrollBarVisibility()if
AreAllEntriesOnScreen()then x.BackgroundTransparency=1 else x.
BackgroundTransparency=0 UpdateScrollBarSize()end end function
UpdateScrollBarSize()local aT,aX=#ai*H.Size.Y.Scale,(v.Position.Y.Scale+1)x.Size
=UDim2.new(1,0,aX/aT,0)end function UpdateScrollPosition()local aT,aX=
GetMinScroll(),GetMaxScroll()local aY,aZ=aX-aT,math.max(math.min(y.Position.Y.
Scale,aX),aT)y.Position=UDim2.new(y.Position.X.Scale,y.Position.X.Offset,aZ,y.
Position.Y.Offset)local a_=1-x.Size.Y.Scale x.Position=UDim2.new(0,0,a_-(a_*((y.
Position.Y.Scale-aT)/aY)),0)end function StartDrag(aT,aX,aY)local aZ,a_,a0,a1=
tick(),false,true,WaitForChild(aT['Frame'],'ClickListener')local function
dragExit()a_=true if aT['Player']and aw and a0 and aT['Player']~=g and aw.userId
>1 and g.userId>1 then ActivatePlayerEntryPanel(aT)end end local a2,a3=nil,y.
Position local function dragpoll(a4,a5)if not a2 then a2=AbsoluteToPercent(a4,a5
).Y end local a6=AbsoluteToPercent(a4,a5).Y debugprint('drag dist:'..Vector2.
new(aX-a4,aY-a5).magnitude)if Vector2.new(aX-a4,aY-a5).magnitude>d then a0=false
end local a7=math.max(math.min(a3.Y.Scale+(a6-a2),GetMaxScroll()),GetMinScroll()
)y.Position=UDim2.new(a3.X.Scale,a3.X.Offset,a7,a3.Y.Offset)
UpdateScrollPosition()end WaitForClick(i,dragpoll,dragExit)end function
StartMinimizeDrag()Delay(0,function()local aT=tick()debugprint'Got Click2'local
aX=false local function dragExit()if tick()-aT<0.25 then ToggleMinimize()else aG
=true if D.Value then ToggleMinimize()end end aX=true end local aY,aZ=nil,au
local function dragpoll(a_,a0)if not D.Value then if not aY then aY=
AbsoluteToPercent(a_,a0).Y end local a1,a2=AbsoluteToPercent(a_,a0).Y,nil a2=
math.min(math.max(aZ+(a1-aY),-1),-1+(#ai*I.Size.Y.Scale))au=a2 UpdateMinimize()w
.Size=UDim2.new(w.Size.X.Scale,0,(au+v.Size.Y.Scale),0)w.Position=UDim2.new(w.
Position.X.Scale,0,1-w.Size.Y.Scale,0)UpdateScrollBarSize()UpdateScrollPosition(
)UpdateScrollBarVisibility()end end Spawn(function()WaitForClick(i,dragpoll,
dragExit)end)end)end E.Value=false D.Value=false E.Changed:connect(
UpdateMaximize)D.Changed:connect(UpdateMinimize)s.MouseButton1Down:connect(
function()if(time()-ak<al)or aB then return end ak=time()if F.Value then
UnTabify()else StartMinimizeDrag()end end)n.MouseButton1Click:connect(function()
if(time()-ak<al)or aB then return end ak=time()if F.Value then UnTabify()elseif
not G.Value then G.Value=true BaseUpdate()else ToggleMaximize()end end)n.
MouseButton2Click:connect(function()if(time()-ak<al)or aB then return end ak=
time()if F.Value then UnTabify()elseif E.Value then ToggleMaximize()elseif G.
Value then G.Value=false BaseUpdate()else Tabify()end end)function
AddMiddleBGFrame()local aT=I:Clone()aT.Position=UDim2.new(0.5,0,(#ai*aT.Size.Y.
Scale),0)if(#ai+1)%2~=1 then if E.Value then aT.Background.Image=
'http://www.roblox.com/asset/?id='..b['LargeDark']else aT.Background.Image=
'http://www.roblox.com/asset/?id='..b['midDark']end else if E.Value then aT.
Background.Image='http://www.roblox.com/asset/?id='..b['LargeLight']else aT.
Background.Image='http://www.roblox.com/asset/?id='..b['midLight']end end aT.
Parent=y table.insert(ai,aT)if#ai<aF and not aG then au=-1+(#ai*I.Size.Y.Scale)
end if not D.Value then UpdateMinimize()end end function RemoveMiddleBGFrame()ai
[#ai]:Destroy()table.remove(ai,#ai)if not D.Value then UpdateMinimize()end end
local aT={'Size8','Size9','Size10','Size11','Size12','Size14','Size24','Size36',
'Size48'}function ChangeHeaderName(aX)o.Text=aX UpdateHeaderNameSize()end
function UpdateHeaderNameSize()local aX=o:Clone()aX.Position=UDim2.new(2,0,2,0)
aX.Parent=i local aY=7 aX.FontSize=aT[aY]Delay(0.2,function()while aX.TextBounds
.x==0 do wait(3.333333333333333E-2)end while aX.TextBounds.x-ar.X.Offset>1 do aY
=aY-1 aX.FontSize=aT[aY]wait(0.2)end o.FontSize=aX.FontSize aX:Destroy()end)end
i.Changed:connect(UpdateHeaderNameSize)function LeaderstatsAdded(aX)local aY=aX[
'Player']for aZ,a_ in pairs(aY.leaderstats:GetChildren())do StatAdded(a_,aX)end
aY.leaderstats.ChildAdded:connect(function(a0)StatAdded(a0,aX)end)aY.leaderstats
.ChildRemoved:connect(function(a0)StatRemoved(a0,aX)end)end function
LeaderstatsRemoved(aX,aY)while ax do debugprint('waiting to insert '..aY[
'Player'].Name)wait(3.333333333333333E-2)end ax=true RemoveAllStats(aY)ax=false
end function ClosePopUpPanel()if av then local aX=av['Frame']Spawn(function()
TweenProperty(aX,'BackgroundTransparency',0.5,1,c)end)end A:TweenPosition(UDim2.
new(1,0,0,0),'Out','Linear',c,true)wait(0.1)aB=false av=nil end function
InitMovingPanel(aX,aY)z.Parent=i if A then A:Destroy()end A=B:Clone()A.Parent=z
local aZ,a_=2,GetFriendStatus(aY)debugprint(tostring(a_))local a0,a1=aM and g.
PersonalServerRank>=aL['Admin']and g.PersonalServerRank>aw.PersonalServerRank,
MakePopupButton(A,'Report Player',0)a1.MouseButton1Click:connect(function()
OpenAbuseDialog()end)local a2=MakePopupButton(A,'Friend',1,not a0 and a_~=Enum.
FriendStatus.FriendRequestReceived)a2.MouseButton1Click:connect(
OnFriendButtonSelect)if a_==Enum.FriendStatus.Friend then a2:FindFirstChild
'ButtonText'.Text='UnFriend Player'elseif a_==Enum.FriendStatus.Unknown or a_==
Enum.FriendStatus.NotFriend then a2:FindFirstChild'ButtonText'.Text=
'Send Request'elseif a_==Enum.FriendStatus.FriendRequestSent then a2:
FindFirstChild'ButtonText'.Text='Revoke Request'elseif a_==Enum.FriendStatus.
FriendRequestReceived then a2:FindFirstChild'ButtonText'.Text='Accept Friend'
local a3=MakePopupButton(A,'Decline Friend',2,not a0)a3.MouseButton1Click:
connect(OnFriendRefuseButtonSelect)aZ=aZ+1 end if a0 then local a3,a4,a5,a6=
MakePopupButton(A,'Ban',aZ),MakePopupButton(A,'Visitor',aZ+1),MakePopupButton(A,
'Member',aZ+2),MakePopupButton(A,'Admin',aZ+3,true)a3.MouseButton1Click:connect(
function()OnPrivilegeLevelSelect(aY,aL['Banned'],a3,a4,a5,a6)end)a4.
MouseButton1Click:connect(function()OnPrivilegeLevelSelect(aY,aL['Visitor'],a3,
a4,a5,a6)end)a5.MouseButton1Click:connect(function()OnPrivilegeLevelSelect(aY,aL
['Member'],a3,a4,a5,a6)end)a6.MouseButton1Click:connect(function()
OnPrivilegeLevelSelect(aY,aL['Admin'],a3,a4,a5,a6)end)HighlightMyRank(aw,a3,a4,
a5,a6)end A:TweenPosition(UDim2.new(0,0,0,0),'Out','Linear',c,true)Delay(0,
function()local a3 a3=h.Button1Down:connect(function()a3:disconnect()
ClosePopUpPanel()end)end)local a3=aX['Frame']Spawn(function()while aB do z.
Position=UDim2.new(0,a3.AbsolutePosition.X-z.Size.X.Offset,0,a3.AbsolutePosition
.Y)wait()end end)end function OnPlayerEntrySelect(aX,aY,aZ)if not aB then av=aX
aw=aX['Player']StartDrag(aX,aY,aZ)end end function ActivatePlayerEntryPanel(aX)
aX['Frame'].BackgroundColor3=Color3.new(0,1,1)Spawn(function()TweenProperty(aX[
'Frame'],'BackgroundTransparency',1,0.5,0.5)end)aB=true InitMovingPanel(aX,aX[
'Player'])end function PlayerListModeUpdate()RecreateScoreColumns(ae)table.sort(
ae,PlayerSortFunction)for aX,aY in ipairs(ae)do ah[aX]=aY['Frame']end for aZ=#ae
+1,#ah,1 do ah[aZ]=nil end UpdateMinimize()end function InsertPlayerFrame(aX)
while ax do debugprint('waiting to insert '..aX.Name)wait(3.333333333333333E-2)
end ax=true local aY=H:Clone()WaitForChild(WaitForChild(aY,'TitleFrame'),'Title'
).Text=aX.Name aY.Position=UDim2.new(1,0,(#ah*aY.Size.Y.Scale),0)local aZ=
GetFriendStatus(aX)aY:FindFirstChild'BCLabel'.Image=getMembershipTypeIcon(aX.
MembershipType,aX.Name)aY:FindFirstChild'FriendLabel'.Image=getFriendStatusIcon(
aZ)aY.Name=aX.Name WaitForChild(WaitForChild(aY,'TitleFrame'),'Title').Text=aX.
Name aY.FriendLabel.Position=aY.FriendLabel.Position+UDim2.new(0,17,0,0)aY.
TitleFrame.Title.Position=aY.TitleFrame.Title.Position+UDim2.new(0,17,0,0)if aY:
FindFirstChild'FriendLabel'.Image~=''then aY.TitleFrame.Title.Position=aY.
TitleFrame.Title.Position+UDim2.new(0,17,0,0)end if aX.Name==g.Name then aY.
TitleFrame.Title.Font='ArialBold'aY.PlayerScore.Font='ArialBold'
ChangeHeaderName(aX.Name)local a_=aY.TitleFrame.Title:Clone()a_.TextColor3=
Color3.new(0,0,0)a_.TextTransparency=0 a_.ZIndex=2 a_.Position=aY.TitleFrame.
Title.Position+UDim2.new(0,1,0,1)a_.Name='DropShadow'a_.Parent=aY.TitleFrame
else end aY.TitleFrame.Title.Font='ArialBold'aY.Parent=y aY:TweenPosition(UDim2.
new(0.5,0,(#ah*aY.Size.Y.Scale),0),'Out','Linear',c,true)UpdateMinimize()local
a_={}a_['Frame']=aY a_['Player']=aX a_['ID']=ad ad=ad+1 table.insert(ae,a_)if#af
~=0 then if aX.Neutral then a_['MyTeam']=nil if not ag then AddNeutralTeam()else
AddPlayerToTeam(ag,a_)end else local a0=false for a1,a2 in ipairs(af)do if a2[
'MyTeam'].TeamColor==aX.TeamColor then AddPlayerToTeam(a2,a_)a_['MyTeam']=a2 a0=
true end end if not a0 then a_['MyTeam']=nil if not ag then AddNeutralTeam()else
AddPlayerToTeam(ag,a_)end a_['MyTeam']=ag end end end if aX:FindFirstChild
'leaderstats'then LeaderstatsAdded(a_)end aX.ChildAdded:connect(function(a0)if
a0.Name=='leaderstats'then while ax do debugprint'in adding leaderstats lock'
wait(3.333333333333333E-2)end ax=true LeaderstatsAdded(a_)ax=false end end)aX.
ChildRemoved:connect(function(a0)if aX==g and a0.Name=='leaderstats'then
LeaderstatsRemoved(a0,a_)end end)aX.Changed:connect(function(a0)PlayerChanged(a_
,a0)end)local a0=WaitForChild(aY,'ClickListener')a0.Active=true a0.
MouseButton1Down:connect(function(a1,a2)OnPlayerEntrySelect(a_,a1,a2)end)
AddMiddleBGFrame()BaseUpdate()ax=false end function RemovePlayerFrame(aX)while
ax do debugprint'in removing player frame lock'wait(3.333333333333333E-2)end ax=
true local aY for aZ,a_ in ipairs(ae)do if aX==a_['Player']then if z.Parent==a_[
'Frame']then z.Parent=nil end a_['Frame']:Destroy()aY=a_['MyTeam']table.remove(
ae,aZ)end end if aY then for a0,a1 in ipairs(aY['MyPlayers'])do if a1['Player']
==aX then RemovePlayerFromTeam(aY,a0)end end end RemoveMiddleBGFrame()
UpdateMinimize()BaseUpdate()ax=false end f.ChildRemoved:connect(
RemovePlayerFrame)function UnrollTeams(aX,aY)local aZ=0 if ag and not ag[
'IsHidden']then for a_,a0 in ipairs(ag['MyPlayers'])do aZ=aZ+1 aY[aZ]=a0['Frame'
]end aZ=aZ+1 aY[aZ]=ag['Frame']end for a_,a0 in ipairs(aX)do if not a0[
'IsHidden']then for a1,a2 in ipairs(a0.MyPlayers)do aZ=aZ+1 aY[aZ]=a2['Frame']
end aZ=aZ+1 aY[aZ]=a0['Frame']end end for a1=aZ+1,#aY,1 do aY[a1]=nil end end
function TeamSortFunc(aX,aY)if aX['TeamScore']==aY['TeamScore']then return aX[
'ID']<aY['ID']end if not aX['TeamScore']then return false end if not aY[
'TeamScore']then return true end return aX['TeamScore']<aY['TeamScore']end
function SortTeams(aX)for aY,aZ in ipairs(aX)do table.sort(aZ['MyPlayers'],
PlayerSortFunction)AddTeamScores(aZ)end table.sort(aX,TeamSortFunc)end function
TeamListModeUpdate()RecreateScoreColumns(ae)SortTeams(af)if ag then
AddTeamScores(ag)end UnrollTeams(af,ah)end function AddTeamScores(aX)for aY=1,#
ac,1 do local aZ,a_=ac[aY],0 for a0,a1 in ipairs(aX['MyPlayers'])do local a2=a1[
'Player']:FindFirstChild'leaderstats'and a1['Player'].leaderstats:
FindFirstChild(aZ['Name'])if a2 and not a2:IsA'StringValue'then a_=a_+
GetScoreValue((a1['Player'].leaderstats)[aZ['Name']])end end if aX['Frame']:
FindFirstChild(aZ['Name'])then aX['Frame'][aZ['Name']].Text=tostring(a_)end end
UpdateMinimize()end function FindRemovePlayerFromTeam(aX)if aX['MyTeam']then for
aY,aZ in ipairs(aX['MyTeam']['MyPlayers'])do if aZ['Player']==aX['Player']then
RemovePlayerFromTeam(aX['MyTeam'],aY)return end end elseif ag then for aY,aZ in
ipairs(ag['MyPlayers'])do if aZ['Player']==aX['Player']then
RemovePlayerFromTeam(ag,aY)return end end end end function RemovePlayerFromTeam(
aX,aY)table.remove(aX['MyPlayers'],aY)if aX==ag and#aX['MyPlayers']==0 then
RemoveNeutralTeam()end end function AddPlayerToTeam(aX,aY)
FindRemovePlayerFromTeam(aY)table.insert(aX['MyPlayers'],aY)aY['MyTeam']=aX if
aX['IsHidden']then aX['Frame'].Parent=y AddMiddleBGFrame()end aX['IsHidden']=
false end function SetPlayerToTeam(aX)FindRemovePlayerFromTeam(aX)local aY=false
for aZ,a_ in ipairs(af)do if a_['MyTeam'].TeamColor==aX['Player'].TeamColor then
AddPlayerToTeam(a_,aX)aY=true end end if not aY and#(game.Teams:GetTeams())>0
then debugprint(aX['Player'].Name..'could not find team')aX['MyTeam']=nil if not
ag then AddNeutralTeam()else AddPlayerToTeam(ag,aX)end end end function
PlayerChanged(aX,aY)while aC do debugprint'in playerchanged lock'wait(
3.333333333333333E-2)end aC=true if aY=='Neutral'then if aX['Player'].Neutral
and#(game.Teams:GetTeams())>0 then debugprint(aX['Player'].Name..
'setting to neutral')FindRemovePlayerFromTeam(aX)aX['MyTeam']=nil if not ag then
debugprint(aX['Player'].Name..'creating neutral team')AddNeutralTeam()else
debugprint(aX['Player'].Name..'adding to neutral team')AddPlayerToTeam(ag,aX)end
elseif#(game.Teams:GetTeams())>0 then debugprint(aX['Player'].Name..
'has been set non-neutral')SetPlayerToTeam(aX)end BaseUpdate()elseif aY==
'TeamColor'and not aX['Player'].Neutral and aX['Player']~=aX['MyTeam']then
debugprint(aX['Player'].Name..'setting to new team')SetPlayerToTeam(aX)
BaseUpdate()elseif aY=='Name'or aY=='MembershipType'then aX['Frame']:
FindFirstChild'BCLabel'.Image=getMembershipTypeIcon(aX['Player'].MembershipType,
aX['Player'].Name)aX['Frame'].Name=aX['Player'].Name aX['Frame'].TitleFrame.
Title.Text=aX['Player'].Name if aX['Frame'].BCLabel.Image~=''then aX['Frame'].
TitleFrame.Title.Position=UDim2.new(0.01,30,0.1,0)end if aX['Player']==g then aX
['Frame'].TitleFrame.DropShadow.Text=aX['Player'].Name ChangeHeaderName(aX[
'Player'].Name)end BaseUpdate()end aC=false end function OnFriendshipChanged(aX,
aY)Delay(0.5,function()debugprint('friend status changed for:'..aX.Name..' '..
tostring(aY)..' vs '..tostring(GetFriendStatus(aX)))for aZ,a_ in ipairs(ae)do if
a_['Player']==aX then local a0=getFriendStatusIcon(aY)if a0==''and a_['Frame'].
FriendLabel.Image~=''then a_['Frame'].TitleFrame.Title.Position=a_['Frame'].
TitleFrame.Title.Position-UDim2.new(0,17,0,0)elseif a0~=''and a_['Frame'].
FriendLabel.Image==''then a_['Frame'].TitleFrame.Title.Position=a_['Frame'].
TitleFrame.Title.Position+UDim2.new(0,17,0,0)debugprint('confirmed status:'..aX.
Name)end a_['Frame'].FriendLabel.Image=a0 return end end end)end g.
FriendStatusChanged:connect(OnFriendshipChanged)function AddNeutralTeam()while
aD do debugprint'in neutral team 2 lock'wait()end aD=true local aX=Instance.new
'Team'aX.TeamColor=BrickColor.new'White'aX.Name='Neutral'local aY={}aY['MyTeam']
=aX aY['MyPlayers']={}aY['Frame']=H:Clone()WaitForChild(WaitForChild(aY['Frame']
,'TitleFrame'),'Title').Text=aX.Name aY['Frame'].TitleFrame.Position=UDim2.new(
aY['Frame'].TitleFrame.Position.X.Scale,aY['Frame'].TitleFrame.Position.X.Offset
,0.1,0)aY['Frame'].TitleFrame.Size=UDim2.new(aY['Frame'].TitleFrame.Size.X.Scale
,aY['Frame'].TitleFrame.Size.X.Offset,0.8,0)aY['Frame'].TitleFrame.Title.Font=
'ArialBold'aY['Frame'].Position=UDim2.new(1,0,(#ah*aY['Frame'].Size.Y.Scale),0)
WaitForChild(aY['Frame'],'ClickListener').MouseButton1Down:connect(function(aZ,
a_)StartDrag(aY,aZ,a_)end)aY['Frame'].ClickListener.BackgroundColor3=Color3.new(
1,1,1)aY['Frame'].ClickListener.BackgroundTransparency=0.7 aY['Frame'].
ClickListener.AutoButtonColor=false aY['AutoHide']=true aY['IsHidden']=true for
aZ,a_ in pairs(ae)do if a_['Player'].Neutral or not a_['MyTeam']then
AddPlayerToTeam(aY,a_)end end if#aY['MyPlayers']>0 then ag=aY UpdateMinimize()
BaseUpdate()end aD=false end function RemoveNeutralTeam()while aD do debugprint
'in neutral team lock'wait()end aD=true ag['Frame']:Destroy()ag=nil
RemoveMiddleBGFrame()aD=false end function TeamScoreChanged(aX,aY)WaitForChild(
aX['Frame'],'PlayerScore').Text=tostring(aY)aX['TeamScore']=aY end function
TeamChildAdded(aX,aY)if aY.Name=='AutoHide'then aX['AutoHide']=true elseif aY.
Name=='TeamScore'then WaitForChild(aX['Frame'],'PlayerScore').Text=tostring(aY.
Value)aX['TeamScore']=aY.Value aY.Changed:connect(function()TeamScoreChanged(aX,
aY.Value)end)end end function TeamChildRemoved(aX,aY)if aY.Name=='AutoHide'then
aX['AutoHide']=false elseif aY.Name=='TeamScore'then WaitForChild(aX['Frame'],
'PlayerScore').Text=''aX['TeamScore']=nil end end function TeamChanged(aX,aY)if
aY=='Name'then WaitForChild(WaitForChild(aX['Frame'],'TitleFrame'),'Title').Text
=aX['MyTeam'].Name elseif aY=='TeamColor'then aX['Frame'].ClickListener.
BackgroundColor3=aX['MyTeam'].TeamColor.Color for aZ,a_ in pairs(af)do if a_[
'MyTeam'].TeamColor==aX['MyTeam']then RemoveTeamFrame(aX['MyTeam'])end end aX[
'MyPlayers']={}for a0,a1 in pairs(ae)do SetPlayerToTeam(a1)end BaseUpdate()end
end function InsertTeamFrame(aX)while ax do debugprint
'in adding team frame lock'wait(3.333333333333333E-2)end ax=true local aY={}aY[
'MyTeam']=aX aY['MyPlayers']={}aY['Frame']=H:Clone()WaitForChild(WaitForChild(aY
['Frame'],'TitleFrame'),'Title').Text=aX.Name aY['Frame'].TitleFrame.Title.Font=
'ArialBold'aY['Frame'].TitleFrame.Title.FontSize='Size18'aY['Frame'].TitleFrame.
Position=UDim2.new(aY['Frame'].TitleFrame.Position.X.Scale,aY['Frame'].
TitleFrame.Position.X.Offset,0.1,0)aY['Frame'].TitleFrame.Size=UDim2.new(aY[
'Frame'].TitleFrame.Size.X.Scale,aY['Frame'].TitleFrame.Size.X.Offset,0.8,0)aY[
'Frame'].Position=UDim2.new(1,0,(#ah*aY['Frame'].Size.Y.Scale),0)WaitForChild(aY
['Frame'],'ClickListener').MouseButton1Down:connect(function(a0,a1)StartDrag(aY,
a0,a1)end)aY['Frame'].ClickListener.BackgroundColor3=aX.TeamColor.Color aY[
'Frame'].ClickListener.BackgroundTransparency=0.7 aY['Frame'].ClickListener.
AutoButtonColor=false ad=ad+1 aY['ID']=ad aY['AutoHide']=false if aX:
FindFirstChild'AutoHide'then aY['AutoHide']=true end if aX:FindFirstChild
'TeamScore'then TeamChildAdded(aY,aX.TeamScore)end aX.ChildAdded:connect(
function(a0)TeamChildAdded(aY,a0)end)aX.ChildRemoved:connect(function(a0)
TeamChildRemoved(aY,a0)end)aX.Changed:connect(function(a0)TeamChanged(aY,a0)end)
for a0,a1 in pairs(ae)do if not a1['Player'].Neutral and a1['Player'].TeamColor
==aX.TeamColor then AddPlayerToTeam(aY,a1)end end aY['IsHidden']=false if not aY
['AutoHide']or#aY['MyPlayers']>0 then aY['Frame'].Parent=y aY['Frame']:
TweenPosition(UDim2.new(0.5,0,(#ah*aY['Frame'].Size.Y.Scale),0),'Out','Linear',c
,true)AddMiddleBGFrame()else aY['IsHidden']=true aY['Frame'].Parent=nil end
table.insert(af,aY)UpdateMinimize()BaseUpdate()if#af==1 and not ag then
AddNeutralTeam()end ax=false end function RemoveTeamFrame(aX)while ax do
debugprint'in removing team frame lock'wait(3.333333333333333E-2)end ax=true if
D.Value then end local aY for a0,a1 in ipairs(af)do if aX==a1['MyTeam']then aY=
a1 a1['Frame']:Destroy()table.remove(af,a0)end end if#af==0 then debugprint
'removeteamframe, remove neutral'if ag then RemoveNeutralTeam()end end for a2,a3
in ipairs(aY['MyPlayers'])do RemovePlayerFromTeam(aY,a2)PlayerChanged(a3,
'TeamColor')end RemoveMiddleBGFrame()BaseUpdate()ax=false end function TeamAdded
(aX)InsertTeamFrame(aX)end function TeamRemoved(aX)RemoveTeamFrame(aX)end
function BaseUpdate()while az do debugprint'in baseupdate lock'wait(
3.333333333333333E-2)end az=true UpdateStatNames()if#af==0 and not ag then
PlayerListModeUpdate()else TeamListModeUpdate()end for aX,aY in ipairs(ah)do if
aY.Parent~=nil then aY:TweenPosition(UDim2.new(0.5,0,((#ah-aX)*aY.Size.Y.Scale),
0),'Out','Linear',c,true)end end if not D.Value and#ah>_ then
UpdateScrollPosition()end UpdateMinimize()UpdateScrollBarSize()
UpdateScrollPosition()UpdateScrollBarVisibility()az=false end game.GuiService:
AddKey'\t'local aX=time()game.GuiService.KeyPressed:connect(function(aY)if aY==
'\t'then debugprint'caught tab key'local a2,a3=pcall(function()return game.
GuiService.IsModalDialog end)if a2==false or(a2 and a3==false)then if time()-aX>
0.4 then aX=time()if F.Value then if not E.Value then i:TweenPosition(UDim2.new(
0,0,0,0),'Out','Linear',c*1.2,true)E.Value=true else i:TweenPosition(UDim2.new(
ar.X.Scale,ar.X.Offset-10,0,0),'Out','Linear',c*1.2,true)E.Value=false D.Value=
true end else ToggleMaximize()end end end end end)function PlayersChildAdded(aY)
if aY:IsA'Player'then Spawn(function()debugPlayerAdd(aY)end)else
BlowThisPopsicleStand()end end function coreGuiChanged(aY,a2)if aY==Enum.
CoreGuiType.All or aY==Enum.CoreGuiType.PlayerList then j.Visible=a2 end end
function TeamsChildAdded(aY)if aY:IsA'Team'then TeamAdded(aY)else
BlowThisPopsicleStand()end end function TeamsChildRemoved(aY)if aY:IsA'Team'then
TeamRemoved(aY)else BlowThisPopsicleStand()end end function debugPlayerAdd(aY)
InsertPlayerFrame(aY)end pcall(function()coreGuiChanged(Enum.CoreGuiType.
PlayerList,Game.StarterGui:GetCoreGuiEnabled(Enum.CoreGuiType.PlayerList))Game.
StarterGui.CoreGuiChangedSignal:connect(coreGuiChanged)end)while not game:
GetService'Teams'do wait(3.333333333333333E-2)debugprint'Waiting For Teams'end
for aY,a2 in pairs(game.Teams:GetTeams())do TeamAdded(a2)end for a3,a4 in pairs(
f:GetPlayers())do Spawn(function()debugPlayerAdd(a4)end)end game.Teams.
ChildAdded:connect(TeamsChildAdded)game.Teams.ChildRemoved:connect(
TeamsChildRemoved)f.ChildAdded:connect(PlayersChildAdded)InitReportAbuse()G.
Value=true BaseUpdate()wait(2)aM=not not game.Workspace:FindFirstChild
'PSVariable'if g.Name=='newplayerlistisbad'or g.Name=='imtotallyadmin'then V.
Parent=i Spawn(function()while true do local a5=''for a6,a7 in pairs(game.
Players:GetPlayers())do a5=a5..' '..a7.Name end W.Text=a5 wait(0.5)end end)end

84
processed/48488398.lua Normal file
View File

@ -0,0 +1,84 @@
function waitForProperty(a,b)while not a[b]do a.Changed:wait()end end function
waitForChild(a,b)while not a:FindFirstChild(b)do a.ChildAdded:wait()end end
waitForProperty(game.Players,'LocalPlayer')waitForChild(script.Parent,'Popup')
waitForChild(script.Parent.Popup,'AcceptButton')script.Parent.Popup.AcceptButton
.Modal=true local a,b,c,d,e=game.Players.LocalPlayer,nil,{},true,function()if
script.Parent.Popup then script.Parent.Popup.Visible=false end end function
makeFriend(f,g)local h=script.Parent:FindFirstChild'Popup'if h==nil then return
end if h.Visible then return end if c[f]then return end h.PopupText.Text=
'Accept Friend Request from '..tostring(f.Name)..'?'h.PopupImage.Image=
'http://www.roblox.com/thumbs/avatar.ashx?userId='..tostring(f.userId)..
'&x=352&y=352'showTwoButtons()h.Visible=true h.AcceptButton.Text='Accept'h.
DeclineButton.Text='Decline'h:TweenSize(UDim2.new(0,330,0,350),Enum.
EasingDirection.Out,Enum.EasingStyle.Quart,1,true)local i,j i=h.AcceptButton.
MouseButton1Click:connect(function()h.Visible=false g:RequestFriendship(f)if i
then i:disconnect()end if j then j:disconnect()end h:TweenSize(UDim2.new(0,0,0,0
),Enum.EasingDirection.Out,Enum.EasingStyle.Quart,1,true,e())end)j=h.
DeclineButton.MouseButton1Click:connect(function()h.Visible=false g:
RevokeFriendship(f)c[f]=true print'pop up blacklist'if i then i:disconnect()end
if j then j:disconnect()end h:TweenSize(UDim2.new(0,0,0,0),Enum.EasingDirection.
Out,Enum.EasingStyle.Quart,1,true,e())end)end game.Players.FriendRequestEvent:
connect(function(f,g,h)if f~=a and g~=a then return end if f==a then if h==Enum.
FriendRequestEvent.Accept then game:GetService'GuiService':SendNotification(
'You are Friends','With '..g.Name..'!',
'http://www.roblox.com/thumbs/avatar.ashx?userId='..tostring(g.userId)..
'&x=48&y=48',5,function()end)end elseif g==a then if h==Enum.FriendRequestEvent.
Issue then if c[f]then return end game:GetService'GuiService':SendNotification(
'Friend Request','From '..f.Name,
'http://www.roblox.com/thumbs/avatar.ashx?userId='..tostring(f.userId)..
'&x=48&y=48',8,function()makeFriend(f,g)end)elseif h==Enum.FriendRequestEvent.
Accept then game:GetService'GuiService':SendNotification('You are Friends',
'With '..f.Name..'!','http://www.roblox.com/thumbs/avatar.ashx?userId='..
tostring(f.userId)..'&x=48&y=48',5,function()end)end end end)function
showOneButton()local f=script.Parent:FindFirstChild'Popup'if f then f.OKButton.
Visible=true f.DeclineButton.Visible=false f.AcceptButton.Visible=false end end
function showTwoButtons()local f=script.Parent:FindFirstChild'Popup'if f then f.
OKButton.Visible=false f.DeclineButton.Visible=true f.AcceptButton.Visible=true
end end function onTeleport(f,g,h)if game:GetService'TeleportService'.
CustomizedTeleportUI==false then if f==Enum.TeleportState.Started then
showTeleportUI('Teleport started...',0)elseif f==Enum.TeleportState.
WaitingForServer then showTeleportUI('Requesting server...',0)elseif f==Enum.
TeleportState.InProgress then showTeleportUI('Teleporting...',0)elseif f==Enum.
TeleportState.Failed then showTeleportUI(
[[Teleport failed. Insufficient privileges or target place does not exist.]],3)
end end end function showTeleportUI(f,h)if b~=nil then b:Remove()end
waitForChild(a,'PlayerGui')b=Instance.new'Message'b.Text=f b.Parent=a.PlayerGui
if h>0 then wait(h)b:Remove()end end if d then a.OnTeleport:connect(onTeleport)
game:GetService'TeleportService'.ErrorCallback=function(f)local h=script.Parent:
FindFirstChild'Popup'showOneButton()h.PopupText.Text=f local i i=h.OKButton.
MouseButton1Click:connect(function()game:GetService'TeleportService':
TeleportCancel()if i then i:disconnect()end game.GuiService:RemoveCenterDialog(
script.Parent:FindFirstChild'Popup')h:TweenSize(UDim2.new(0,0,0,0),Enum.
EasingDirection.Out,Enum.EasingStyle.Quart,1,true,e())end)game.GuiService:
AddCenterDialog(script.Parent:FindFirstChild'Popup',Enum.CenterDialogType.
QuitDialog,function()showOneButton()script.Parent:FindFirstChild'Popup'.Visible=
true h:TweenSize(UDim2.new(0,330,0,350),Enum.EasingDirection.Out,Enum.
EasingStyle.Quart,1,true)end,function()h:TweenSize(UDim2.new(0,0,0,0),Enum.
EasingDirection.Out,Enum.EasingStyle.Quart,1,true,e())end)end game:GetService
'TeleportService'.ConfirmationCallback=function(f,h,i)local j=script.Parent:
FindFirstChild'Popup'j.PopupText.Text=f j.PopupImage.Image=''local k,l
local function killCons()if k then k:disconnect()end if l then l:disconnect()end
game.GuiService:RemoveCenterDialog(script.Parent:FindFirstChild'Popup')j:
TweenSize(UDim2.new(0,0,0,0),Enum.EasingDirection.Out,Enum.EasingStyle.Quart,1,
true,e())end k=j.AcceptButton.MouseButton1Click:connect(function()killCons()
local m,n=pcall(function()game:GetService'TeleportService':TeleportImpl(h,i)end)
if not m then showOneButton()j.PopupText.Text=n local o o=j.OKButton.
MouseButton1Click:connect(function()if o then o:disconnect()end game.GuiService:
RemoveCenterDialog(script.Parent:FindFirstChild'Popup')j:TweenSize(UDim2.new(0,0
,0,0),Enum.EasingDirection.Out,Enum.EasingStyle.Quart,1,true,e())end)game.
GuiService:AddCenterDialog(script.Parent:FindFirstChild'Popup',Enum.
CenterDialogType.QuitDialog,function()showOneButton()script.Parent:
FindFirstChild'Popup'.Visible=true j:TweenSize(UDim2.new(0,330,0,350),Enum.
EasingDirection.Out,Enum.EasingStyle.Quart,1,true)end,function()j:TweenSize(
UDim2.new(0,0,0,0),Enum.EasingDirection.Out,Enum.EasingStyle.Quart,1,true,e())
end)end end)l=j.DeclineButton.MouseButton1Click:connect(function()killCons()
pcall(function()game:GetService'TeleportService':TeleportCancel()end)end)local m
=pcall(function()game.GuiService:AddCenterDialog(script.Parent:FindFirstChild
'Popup',Enum.CenterDialogType.QuitDialog,function()showTwoButtons()j.
AcceptButton.Text='Leave'j.DeclineButton.Text='Stay'script.Parent:FindFirstChild
'Popup'.Visible=true j:TweenSize(UDim2.new(0,330,0,350),Enum.EasingDirection.Out
,Enum.EasingStyle.Quart,1,true)end,function()j:TweenSize(UDim2.new(0,0,0,0),Enum
.EasingDirection.Out,Enum.EasingStyle.Quart,1,true,e())end)end)if m==false then
script.Parent:FindFirstChild'Popup'.Visible=true j.AcceptButton.Text='Leave'j.
DeclineButton.Text='Stay'j:TweenSize(UDim2.new(0,330,0,350),Enum.EasingDirection
.Out,Enum.EasingStyle.Quart,1,true)end return true end end

20
processed/48488451.lua Normal file
View File

@ -0,0 +1,20 @@
local a=Instance.new'Frame'a.Position=UDim2.new(0.5,-165,0.5,-175)a.Size=UDim2.
new(0,330,0,350)a.Style=Enum.FrameStyle.RobloxRound a.ZIndex=4 a.Name='Popup'a.
Visible=false a.Parent=script.Parent local b=a:clone()b.Size=UDim2.new(1,16,1,16
)b.Position=UDim2.new(0,-8,0,-8)b.Name='Darken'b.ZIndex=1 b.Parent=a local c=
Instance.new'TextButton'c.Position=UDim2.new(0,20,0,270)c.Size=UDim2.new(0,100,0
,50)c.Font=Enum.Font.ArialBold c.FontSize=Enum.FontSize.Size24 c.Style=Enum.
ButtonStyle.RobloxButton c.TextColor3=Color3.new(0.9725490196078431,
0.9725490196078431,0.9725490196078431)c.Text='Yes'c.ZIndex=5 c.Name=
'AcceptButton'c.Parent=a local d=c:clone()d.Position=UDim2.new(1,-120,0,270)d.
Text='No'd.Name='DeclineButton'd.Parent=a local e=c:clone()e.Name='OKButton'e.
Text='OK'e.Position=UDim2.new(0.5,-50,0,270)e.Visible=false e.Parent=a local f=
Instance.new'ImageLabel'f.BackgroundTransparency=1 f.Position=UDim2.new(0.5,-140
,0,0)f.Size=UDim2.new(0,280,0,280)f.ZIndex=3 f.Name='PopupImage'f.Parent=a local
g=Instance.new'ImageLabel'g.BackgroundTransparency=1 g.Size=UDim2.new(1,0,1,0)g.
Image='http://www.roblox.com/asset/?id=47574181'g.Name='Backing'g.ZIndex=2 g.
Parent=f local h=Instance.new'TextLabel'h.Name='PopupText'h.Size=UDim2.new(1,0,
0.8,0)h.Font=Enum.Font.ArialBold h.FontSize=Enum.FontSize.Size36 h.
BackgroundTransparency=1 h.Text="Hello I'm a popup"h.TextColor3=Color3.new(
0.9725490196078431,0.9725490196078431,0.9725490196078431)h.TextWrap=true h.
ZIndex=5 h.Parent=a script:remove()

264
processed/53878047.lua Normal file
View File

@ -0,0 +1,264 @@
if game.CoreGui.Version<3 then return end local a=script.Parent local function
waitForChild(b,c)while not b:FindFirstChild(c)do b.ChildAdded:wait()end end
local function waitForProperty(b,c)while not b[c]do b.Changed:wait()end end
local function IsTouchDevice()local b=false pcall(function()b=Game:GetService
'UserInputService'.TouchEnabled end)return b end local function IsPhone()if a.
AbsoluteSize.Y<=320 then return true end return false end waitForChild(game,
'Players')waitForProperty(game.Players,'LocalPlayer')local b=Instance.new'Frame'
b.Name='CurrentLoadout'b.Position=UDim2.new(0.5,-300,1,-85)b.Size=UDim2.new(0,
600,0,54)b.BackgroundTransparency=1 b.RobloxLocked=true b.Parent=a local c=
Instance.new'ImageLabel'c.Name='Background'c.Size=UDim2.new(1.2,0,1.2,0)c.Image=
'http://www.roblox.com/asset/?id=96536002'c.BackgroundTransparency=1 c.Position=
UDim2.new(-0.1,0,-0.1,0)c.ZIndex=0 c.Parent=b c.Visible=false local d=Instance.
new'ImageLabel'd.Size=UDim2.new(1,0,0.025,1)d.Position=UDim2.new(0,0,0,0)d.Image
='http://www.roblox.com/asset/?id=97662207'd.BackgroundTransparency=1 d.Parent=c
local e=Instance.new'BoolValue'e.Name='Debounce'e.RobloxLocked=true e.Parent=b
local f=Instance.new'ImageButton'f.RobloxLocked=true f.Visible=false f.Name=
'BackpackButton'f.BackgroundTransparency=1 f.Image=
'http://www.roblox.com/asset/?id=97617958'f.Position=UDim2.new(0.5,-60,1,-108)f.
Size=UDim2.new(0,120,0,18)waitForChild(a,'ControlFrame')f.Parent=a.ControlFrame
local g=9 if IsPhone()then g=3 b.Size=UDim2.new(0,180,0,54)b.Position=UDim2.new(
0.5,-90,1,-85)end for h=0,g do local i=Instance.new'Frame'i.RobloxLocked=true i.
BackgroundColor3=Color3.new(0,0,0)i.BackgroundTransparency=1 i.BorderColor3=
Color3.new(1,1,1)i.Name='Slot'..tostring(h)i.ZIndex=4 if h==0 then i.Position=
UDim2.new(0.9,0,0,0)else i.Position=UDim2.new((h-1)*0.1,(h-1)*6,0,0)end i.Size=
UDim2.new(0,54,1,0)i.Parent=b if a.AbsoluteSize.Y<=320 then i.Position=UDim2.
new(0,(h-1)*60,0,-50)print('Well got here',i,i.Position.X.Scale,i.Position.X.
Offset)end if a.AbsoluteSize.Y<=320 and h==0 then i:Destroy()end end local h=
Instance.new'ImageButton'h.Name='TempSlot'h.Active=true h.Size=UDim2.new(1,0,1,0
)h.BackgroundTransparency=1 h.Style='Custom'h.Visible=false h.RobloxLocked=true
h.Parent=b h.ZIndex=3 local i=Instance.new'ImageLabel'i.Name='Background'i.
BackgroundTransparency=1 i.Image='http://www.roblox.com/asset/?id=97613075'i.
Size=UDim2.new(1,0,1,0)i.Parent=h local j=Instance.new'ImageLabel'j.Name=
'Highlight'j.BackgroundTransparency=1 j.Image=
'http://www.roblox.com/asset/?id=97643886'j.Size=UDim2.new(1,0,1,0)j.Visible=
false local k=Instance.new'ObjectValue'k.Name='GearReference'k.RobloxLocked=true
k.Parent=h local l=Instance.new'TextLabel'l.Name='ToolTipLabel'l.RobloxLocked=
true l.Text=''l.BackgroundTransparency=0.5 l.BorderSizePixel=0 l.Visible=false l
.TextColor3=Color3.new(1,1,1)l.BackgroundColor3=Color3.new(0,0,0)l.
TextStrokeTransparency=0 l.Font=Enum.Font.ArialBold l.FontSize=Enum.FontSize.
Size14 l.Size=UDim2.new(1,60,0,20)l.Position=UDim2.new(0,-30,0,-30)l.Parent=h
local m=Instance.new'BoolValue'm.Name='Kill'm.RobloxLocked=true m.Parent=h local
n=Instance.new'ImageLabel'n.Name='GearImage'n.BackgroundTransparency=1 n.
Position=UDim2.new(0,0,0,0)n.Size=UDim2.new(1,0,1,0)n.ZIndex=5 n.RobloxLocked=
true n.Parent=h local o=Instance.new'TextLabel'o.Name='SlotNumber'o.
BackgroundTransparency=1 o.BorderSizePixel=0 o.Font=Enum.Font.ArialBold o.
FontSize=Enum.FontSize.Size18 o.Position=UDim2.new(0,0,0,0)o.Size=UDim2.new(0,10
,0,15)o.TextColor3=Color3.new(1,1,1)o.TextTransparency=0 o.TextXAlignment=Enum.
TextXAlignment.Left o.TextYAlignment=Enum.TextYAlignment.Bottom o.RobloxLocked=
true o.Parent=h o.ZIndex=5 if IsTouchDevice()then o.Visible=false end local p=o:
Clone()p.Name='SlotNumberDownShadow'p.TextColor3=Color3.new(0,0,0)p.Position=
UDim2.new(0,1,0,-1)p.Parent=h p.ZIndex=2 local q=p:Clone()q.Name=
'SlotNumberUpShadow'q.Position=UDim2.new(0,-1,0,-1)q.Parent=h local r=Instance.
new'TextLabel'r.RobloxLocked=true r.Name='GearText'r.BackgroundTransparency=1 r.
Font=Enum.Font.Arial r.FontSize=Enum.FontSize.Size14 r.Position=UDim2.new(0,-8,0
,-8)r.Size=UDim2.new(1,16,1,16)r.Text=''r.TextColor3=Color3.new(1,1,1)r.TextWrap
=true r.Parent=h r.ZIndex=5 local s=Instance.new'Frame's.RobloxLocked=true s.
Visible=false s.Name='Backpack's.Position=UDim2.new(0.5,0,0.5,0)s.
BackgroundColor3=Color3.new(0.12549019607843137,0.12549019607843137,
0.12549019607843137)s.BackgroundTransparency=0 s.BorderSizePixel=0 s.Parent=a s.
Active=true local t=Instance.new'BoolValue't.RobloxLocked=true t.Name='SwapSlot'
t.Parent=s local u=Instance.new'IntValue'u.RobloxLocked=true u.Name='Slot'u.
Parent=t local v=Instance.new'ObjectValue'v.RobloxLocked=true v.Name=
'GearButton'v.Parent=t local w=Instance.new'Frame'w.Name='Tabs'w.Visible=false w
.Active=false w.RobloxLocked=true w.BackgroundColor3=Color3.new(0,0,0)w.
BackgroundTransparency=0.08 w.BorderSizePixel=0 w.Position=UDim2.new(0,0,-0.1,-4
)w.Size=UDim2.new(1,0,0.1,4)w.Parent=s local x=Instance.new'Frame'x.RobloxLocked
=true x.Name='TabLine'x.BackgroundColor3=Color3.new(0.20784313725490197,
0.20784313725490197,0.20784313725490197)x.BorderSizePixel=0 x.Position=UDim2.
new(0,5,1,-4)x.Size=UDim2.new(1,-10,0,4)x.ZIndex=2 x.Parent=w local y=Instance.
new'TextButton'y.RobloxLocked=true y.Name='InventoryButton'y.Size=UDim2.new(0,60
,0,30)y.Position=UDim2.new(0,7,1,-31)y.BackgroundColor3=Color3.new(1,1,1)y.
BorderColor3=Color3.new(1,1,1)y.Font=Enum.Font.ArialBold y.FontSize=Enum.
FontSize.Size18 y.Text='Gear'y.AutoButtonColor=false y.TextColor3=Color3.new(0,0
,0)y.Selected=true y.Active=true y.ZIndex=3 y.Parent=w if game.CoreGui.Version>=
8 then local z=Instance.new'TextButton'z.RobloxLocked=true z.Name=
'WardrobeButton'z.Size=UDim2.new(0,90,0,30)z.Position=UDim2.new(0,77,1,-31)z.
BackgroundColor3=Color3.new(0,0,0)z.BorderColor3=Color3.new(1,1,1)z.Font=Enum.
Font.ArialBold z.FontSize=Enum.FontSize.Size18 z.Text='Wardrobe'z.
AutoButtonColor=false z.TextColor3=Color3.new(1,1,1)z.Selected=false z.Active=
true z.Parent=w end local z=Instance.new'TextButton'z.RobloxLocked=true z.Name=
'CloseButton'z.Font=Enum.Font.ArialBold z.FontSize=Enum.FontSize.Size24 z.
Position=UDim2.new(1,-33,0,4)z.Size=UDim2.new(0,30,0,30)z.Style=Enum.ButtonStyle
.RobloxButton z.Text=''z.TextColor3=Color3.new(1,1,1)z.Parent=w z.Modal=true
local A=Instance.new'ImageLabel'A.RobloxLocked=true A.Name='XImage'game:
GetService'ContentProvider':Preload'http://www.roblox.com/asset/?id=75547445'A.
Image='http://www.roblox.com/asset/?id=75547445'A.BackgroundTransparency=1 A.
Position=UDim2.new(-0.25,-1,-0.25,-1)A.Size=UDim2.new(1.5,2,1.5,2)A.ZIndex=2 A.
Parent=z local B=Instance.new'Frame'B.RobloxLocked=true B.Name='SearchFrame'B.
BackgroundTransparency=1 B.Position=UDim2.new(1,-220,0,2)B.Size=UDim2.new(0,220,
0,24)B.Parent=s local C=Instance.new'ImageButton'C.RobloxLocked=true C.Name=
'SearchButton'C.Size=UDim2.new(0,25,0,25)C.BackgroundTransparency=1 C.Image=
'rbxasset://textures/ui/SearchIcon.png'C.Parent=B local D=Instance.new
'TextButton'D.RobloxLocked=true D.Position=UDim2.new(0,25,0,0)D.Size=UDim2.new(1
,-28,0,26)D.Name='SearchBoxFrame'D.Text=''D.Style=Enum.ButtonStyle.RobloxButton
D.Parent=B local E=Instance.new'TextBox'E.RobloxLocked=true E.Name='SearchBox'E.
BackgroundTransparency=1 E.Font=Enum.Font.ArialBold E.FontSize=Enum.FontSize.
Size12 E.Position=UDim2.new(0,-5,0,-5)E.Size=UDim2.new(1,10,1,10)E.TextColor3=
Color3.new(1,1,1)E.TextXAlignment=Enum.TextXAlignment.Left E.ZIndex=2 E.TextWrap
=true E.Text='Search...'E.Parent=D local F=Instance.new'TextButton'F.
RobloxLocked=true F.Visible=false F.Name='ResetButton'F.Position=UDim2.new(1,-26
,0,3)F.Size=UDim2.new(0,20,0,20)F.Style=Enum.ButtonStyle.RobloxButtonDefault F.
Text='X'F.TextColor3=Color3.new(1,1,1)F.Font=Enum.Font.ArialBold F.FontSize=Enum
.FontSize.Size18 F.ZIndex=3 F.Parent=B local G=Instance.new'Frame'G.Name='Gear'G
.RobloxLocked=true G.BackgroundTransparency=1 G.Size=UDim2.new(1,0,1,0)G.
ClipsDescendants=true G.Parent=s local H=Instance.new'Frame'H.RobloxLocked=true
H.Name='AssetsList'H.BackgroundTransparency=1 H.Size=UDim2.new(0.2,0,1,0)H.Style
=Enum.FrameStyle.RobloxSquare H.Visible=false H.Parent=G local I=Instance.new
'Frame'I.RobloxLocked=true I.Name='GearGrid'I.Size=UDim2.new(0.95,0,1,0)I.
BackgroundTransparency=1 I.Parent=G local J=Instance.new'ImageButton'J.
RobloxLocked=true J.Visible=false J.Name='GearButton'J.Size=UDim2.new(0,54,0,54)
J.Style='Custom'J.BackgroundTransparency=1 J.Parent=I local K=Instance.new
'ImageLabel'K.Name='Background'K.BackgroundTransparency=1 K.Image=
'http://www.roblox.com/asset/?id=97613075'K.Size=UDim2.new(1,0,1,0)K.Parent=J
local L=Instance.new'ObjectValue'L.RobloxLocked=true L.Name='GearReference'L.
Parent=J local M=Instance.new'Frame'M.RobloxLocked=true M.Name='GreyOutButton'M.
BackgroundTransparency=0.5 M.Size=UDim2.new(1,0,1,0)M.Active=true M.Visible=
false M.ZIndex=3 M.Parent=J local N=Instance.new'TextLabel'N.RobloxLocked=true N
.Name='GearText'N.BackgroundTransparency=1 N.Font=Enum.Font.Arial N.FontSize=
Enum.FontSize.Size14 N.Position=UDim2.new(0,-8,0,-8)N.Size=UDim2.new(1,16,1,16)N
.Text=''N.ZIndex=2 N.TextColor3=Color3.new(1,1,1)N.TextWrap=true N.Parent=J
local O=Instance.new'Frame'O.RobloxLocked=true O.Name='GearGridScrollingArea'O.
Position=UDim2.new(1,-19,0,35)O.Size=UDim2.new(0,17,1,-45)O.
BackgroundTransparency=1 O.Parent=G local P=Instance.new'Frame'P.RobloxLocked=
true P.Name='GearLoadouts'P.BackgroundTransparency=1 P.Position=UDim2.new(0.7,23
,0.5,1)P.Size=UDim2.new(0.3,-23,0.5,-1)P.Parent=G P.Visible=false local Q=
Instance.new'Frame'Q.RobloxLocked=true Q.Name='GearLoadoutsHeader'Q.
BackgroundColor3=Color3.new(0,0,0)Q.BackgroundTransparency=0.2 Q.BorderColor3=
Color3.new(1,0,0)Q.Size=UDim2.new(1,2,0.15,-1)Q.Parent=P local R=Instance.new
'TextLabel'R.RobloxLocked=true R.Name='LoadoutsHeaderText'R.
BackgroundTransparency=1 R.Font=Enum.Font.ArialBold R.FontSize=Enum.FontSize.
Size18 R.Size=UDim2.new(1,0,1,0)R.Text='Loadouts'R.TextColor3=Color3.new(1,1,1)R
.Parent=Q local S=O:clone()S.RobloxLocked=true S.Name=
'GearLoadoutsScrollingArea'S.Position=UDim2.new(1,-15,0.15,2)S.Size=UDim2.new(0,
17,0.85,-2)S.Parent=P local T=Instance.new'Frame'T.RobloxLocked=true T.Name=
'LoadoutsList'T.Position=UDim2.new(0,0,0.15,2)T.Size=UDim2.new(1,-17,0.85,-2)T.
Style=Enum.FrameStyle.RobloxSquare T.Parent=P local U=Instance.new'Frame'U.
RobloxLocked=true U.Name='GearPreview'U.Position=UDim2.new(0.7,23,0,0)U.Size=
UDim2.new(0.3,-28,0.5,-1)U.BackgroundTransparency=1 U.ZIndex=7 U.Parent=G local
V=Instance.new'Frame'V.RobloxLocked=true V.Name='GearStats'V.
BackgroundTransparency=1 V.Position=UDim2.new(0,0,0.75,0)V.Size=UDim2.new(1,0,
0.25,0)V.ZIndex=8 V.Parent=U local W=Instance.new'TextLabel'W.RobloxLocked=true
W.Name='GearName'W.BackgroundTransparency=1 W.Font=Enum.Font.ArialBold W.
FontSize=Enum.FontSize.Size18 W.Position=UDim2.new(0,-3,0,0)W.Size=UDim2.new(1,6
,1,5)W.Text=''W.TextColor3=Color3.new(1,1,1)W.TextWrap=true W.ZIndex=9 W.Parent=
V local X=Instance.new'ImageLabel'X.RobloxLocked=true X.Name='GearImage'X.Image=
''X.BackgroundTransparency=1 X.Position=UDim2.new(0.125,0,0,0)X.Size=UDim2.new(
0.75,0,0.75,0)X.ZIndex=8 X.Parent=U local Y=Instance.new'Frame'Y.
BackgroundColor3=Color3.new(0,0,0)Y.BackgroundTransparency=0.5 Y.BorderSizePixel
=0 Y.RobloxLocked=true Y.Name='GearIcons'Y.Position=UDim2.new(0.4,2,0.85,-2)Y.
Size=UDim2.new(0.6,0,0.15,0)Y.Visible=false Y.ZIndex=9 Y.Parent=X local Z=
Instance.new'ImageLabel'Z.RobloxLocked=true Z.Name='GenreImage'Z.
BackgroundColor3=Color3.new(0.4,0.6,1)Z.BackgroundTransparency=0.5 Z.
BorderSizePixel=0 Z.Size=UDim2.new(0.25,0,1,0)Z.Parent=Y local _=Z:clone()_.
RobloxLocked=true _.Name='AttributeOneImage'_.BackgroundColor3=Color3.new(1,0.2,
0)_.Position=UDim2.new(0.25,0,0,0)_.Parent=Y local aa=Z:clone()aa.RobloxLocked=
true aa.Name='AttributeTwoImage'aa.BackgroundColor3=Color3.new(0.6,1,0.6)aa.
Position=UDim2.new(0.5,0,0,0)aa.Parent=Y local ab=Z:clone()ab.RobloxLocked=true
ab.Name='AttributeThreeImage'ab.BackgroundColor3=Color3.new(0,0.5,0.5)ab.
Position=UDim2.new(0.75,0,0,0)ab.Parent=Y if game.CoreGui.Version<8 then script:
remove()return end local function makeCharFrame(ac,ad)local ae=Instance.new
'Frame'ae.RobloxLocked=true ae.Size=UDim2.new(1,0,1,-70)ae.Position=UDim2.new(0,
0,0,20)ae.Name=ac ae.BackgroundTransparency=1 ae.Parent=ad ae.Visible=false
return ae end local function makeZone(ac,ad,ae,af,ag)local ah=Instance.new
'ImageLabel'ah.RobloxLocked=true ah.Name=ac ah.Image=ad ah.Size=ae ah.
BackgroundTransparency=1 ah.Position=af ah.Parent=ag return ah end
local function makeStyledButton(ac,ad,ae,af,ag)local ah=Instance.new
'ImageButton'ah.RobloxLocked=true ah.Name=ac ah.Size=ad ah.Position=ae if ag
then ah.Style=ag else ah.BackgroundColor3=Color3.new(0,0,0)ah.BorderColor3=
Color3.new(1,1,1)end ah.Parent=af return ah end local function makeTextLabel(ac,
ad,ae,af)local ag=Instance.new'TextLabel'ag.RobloxLocked=true ag.
BackgroundTransparency=1 ag.Size=UDim2.new(0,32,0,14)ag.Name=ac ag.Font=Enum.
Font.Arial ag.TextColor3=Color3.new(1,1,1)ag.FontSize=Enum.FontSize.Size14 ag.
Text=ad ag.Position=ae ag.Parent=af end local ac=Instance.new'Frame'ac.Name=
'Wardrobe'ac.RobloxLocked=true ac.BackgroundTransparency=1 ac.Visible=false ac.
Size=UDim2.new(1,0,1,0)ac.Parent=s local ad=Instance.new'Frame'ad.RobloxLocked=
true ad.Name='AssetList'ad.Position=UDim2.new(0,4,0,5)ad.Size=UDim2.new(0,85,1,-
5)ad.BackgroundTransparency=1 ad.Visible=true ad.Parent=ac local ae=Instance.new
'Frame'ae.RobloxLocked=true ae.Name='PreviewAssetFrame'ae.BackgroundTransparency
=1 ae.Position=UDim2.new(1,-240,0,30)ae.Size=UDim2.new(0,250,0,250)ae.Parent=ac
local af=Instance.new'TextButton'af.RobloxLocked=true af.Name=
'PreviewAssetBacking'af.Active=false af.Text=''af.AutoButtonColor=false af.Size=
UDim2.new(1,0,1,0)af.Style=Enum.ButtonStyle.RobloxButton af.Visible=false af.
ZIndex=9 af.Parent=ae local ag=Instance.new'ImageLabel'ag.RobloxLocked=true ag.
Name='PreviewAssetImage'ag.BackgroundTransparency=0.8 ag.Position=UDim2.new(0.5,
-100,0,0)ag.Size=UDim2.new(0,200,0,200)ag.BorderSizePixel=0 ag.ZIndex=10 ag.
Parent=af local ah=Instance.new'TextLabel'ah.Name='AssetNameLabel'ah.
RobloxLocked=true ah.BackgroundTransparency=1 ah.Position=UDim2.new(0,0,1,-20)ah
.Size=UDim2.new(0.5,0,0,24)ah.ZIndex=10 ah.Font=Enum.Font.Arial ah.Text=''ah.
TextColor3=Color3.new(1,1,1)ah.TextScaled=true ah.Parent=af local ai=ah:clone()
ai.RobloxLocked=true ai.Name='AssetTypeLabel'ai.TextScaled=false ai.FontSize=
Enum.FontSize.Size18 ai.Position=UDim2.new(0.5,3,1,-20)ai.Parent=af local aj=
Instance.new'TextButton'aj.RobloxLocked=true aj.Name='PreviewButton'aj.Text=
'Rotate'aj.BackgroundColor3=Color3.new(0,0,0)aj.BackgroundTransparency=0.5 aj.
BorderColor3=Color3.new(1,1,1)aj.Position=UDim2.new(1.2,-62,1,-50)aj.Size=UDim2.
new(0,125,0,50)aj.Font=Enum.Font.ArialBold aj.FontSize=Enum.FontSize.Size24 aj.
TextColor3=Color3.new(1,1,1)aj.TextWrapped=true aj.TextStrokeTransparency=0 aj.
Parent=ac local ak=Instance.new'Frame'ak.RobloxLocked=true ak.Name=
'CharacterPane'ak.Position=UDim2.new(1,-220,0,32)ak.Size=UDim2.new(0,220,1,-40)
ak.BackgroundTransparency=1 ak.Visible=true ak.Parent=ac local al=makeCharFrame(
'FacesFrame',ak)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),al)makeStyledButton('Face',UDim2.new(0,64,0,64),UDim2.new(0.5,-32,
0.5,-135),al)local am=makeCharFrame('HeadsFrame',ak)makeZone('FaceZone',
'http://www.roblox.com/asset/?id=75460621',UDim2.new(0,157,0,137),UDim2.new(0.5,
-78,0.5,-68),am)makeStyledButton('Head',UDim2.new(0,64,0,64),UDim2.new(0.5,-32,
0.5,-135),am)local an=makeCharFrame('HatsFrame',ak)game:GetService
'ContentProvider':Preload'http://www.roblox.com/asset/?id=75457888'local ao=
makeZone('HatsZone','http://www.roblox.com/asset/?id=75457888',UDim2.new(0,186,0
,184),UDim2.new(0.5,-93,0.5,-100),an)makeStyledButton('Hat1Button',UDim2.new(0,
64,0,64),UDim2.new(0,-1,0,-1),ao,Enum.ButtonStyle.RobloxButton)makeStyledButton(
'Hat2Button',UDim2.new(0,64,0,64),UDim2.new(0,63,0,-1),ao,Enum.ButtonStyle.
RobloxButton)makeStyledButton('Hat3Button',UDim2.new(0,64,0,64),UDim2.new(0,127,
0,-1),ao,Enum.ButtonStyle.RobloxButton)local ap=makeCharFrame('PantsFrame',ak)
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),ap)local aq=Instance.new'Frame'aq.RobloxLocked=true aq.Size=UDim2.
new(0,25,0,56)aq.Position=UDim2.new(0.5,-26,0.5,0)aq.BackgroundColor3=Color3.
new(0,0,0)aq.BorderColor3=Color3.new(1,1,1)aq.Name='PantFrame'aq.Parent=ap local
ar=aq:clone()ar.Position=UDim2.new(0.5,3,0.5,0)ar.RobloxLocked=true ar.Parent=ap
local as=Instance.new'ImageButton'as.RobloxLocked=true as.BackgroundTransparency
=1 as.ZIndex=2 as.Name='CurrentPants'as.Position=UDim2.new(0.5,-31,0.5,-4)as.
Size=UDim2.new(0,54,0,59)as.Parent=ap local at=makeCharFrame('PackagesFrame',ak)
local au=makeStyledButton('TorsoMeshButton',UDim2.new(0,64,0,64),UDim2.new(0.5,-
32,0.5,-110),at,Enum.ButtonStyle.RobloxButton)makeTextLabel('TorsoLabel','Torso'
,UDim2.new(0.5,-16,0,-25),au)local av=makeStyledButton('LeftLegMeshButton',UDim2
.new(0,64,0,64),UDim2.new(0.5,0,0.5,-25),at,Enum.ButtonStyle.RobloxButton)
makeTextLabel('LeftLegLabel','Left Leg',UDim2.new(0.5,-16,0,-25),av)local aw=
makeStyledButton('RightLegMeshButton',UDim2.new(0,64,0,64),UDim2.new(0.5,-64,0.5
,-25),at,Enum.ButtonStyle.RobloxButton)makeTextLabel('RightLegLabel','Right Leg'
,UDim2.new(0.5,-16,0,-25),aw)local ax=makeStyledButton('RightArmMeshButton',
UDim2.new(0,64,0,64),UDim2.new(0.5,-96,0.5,-110),at,Enum.ButtonStyle.
RobloxButton)makeTextLabel('RightArmLabel','Right Arm',UDim2.new(0.5,-16,0,-25),
ax)local ay=makeStyledButton('LeftArmMeshButton',UDim2.new(0,64,0,64),UDim2.new(
0.5,32,0.5,-110),at,Enum.ButtonStyle.RobloxButton)makeTextLabel('LeftArmLabel',
'Left Arm',UDim2.new(0.5,-16,0,-25),ay)local az=makeCharFrame('T-ShirtsFrame',ak
)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),az)makeStyledButton('TShirtButton',UDim2.new(0,64,0,64),UDim2.new(
0.5,-32,0.5,-64),az)local aA=makeCharFrame('ShirtsFrame',ak)makeZone('ShirtZone'
,'http://www.roblox.com/asset/?id=75460642',UDim2.new(0,121,0,154),UDim2.new(0.5
,-60,0.5,-100),aA)makeStyledButton('ShirtButton',UDim2.new(0,64,0,64),UDim2.new(
0.5,-32,0.5,-64),aA)local aB=makeCharFrame('ColorFrame',ak)game:GetService
'ContentProvider':Preload'http://www.roblox.com/asset/?id=76049888'local aC=
makeZone('ColorZone','http://www.roblox.com/asset/?id=76049888',UDim2.new(0,120,
0,150),UDim2.new(0.5,-60,0.5,-100),aB)makeStyledButton('Head',UDim2.new(0.26,0,
0.19,0),UDim2.new(0.37,0,0.02,0),aC).AutoButtonColor=false makeStyledButton(
'LeftArm',UDim2.new(0.19,0,0.36,0),UDim2.new(0.78,0,0.26,0),aC).AutoButtonColor=
false makeStyledButton('RightArm',UDim2.new(0.19,0,0.36,0),UDim2.new(0.025,0,
0.26,0),aC).AutoButtonColor=false makeStyledButton('Torso',UDim2.new(0.43,0,0.36
,0),UDim2.new(0.28,0,0.26,0),aC).AutoButtonColor=false makeStyledButton(
'RightLeg',UDim2.new(0.19,0,0.31,0),UDim2.new(0.275,0,0.67,0),aC).
AutoButtonColor=false makeStyledButton('LeftLeg',UDim2.new(0.19,0,0.31,0),UDim2.
new(0.525,0,0.67,0),aC).AutoButtonColor=false local aD=Instance.new'TextLabel'aD
.RobloxLocked=true aD.Name='CategoryLabel'aD.BackgroundTransparency=1 aD.Font=
Enum.Font.ArialBold aD.FontSize=Enum.FontSize.Size18 aD.Position=UDim2.new(0,0,0
,-7)aD.Size=UDim2.new(1,0,0,20)aD.TextXAlignment=Enum.TextXAlignment.Center aD.
Text='All'aD.TextColor3=Color3.new(1,1,1)aD.Parent=ak local aE=Instance.new
'TextButton'aE.RobloxLocked=true aE.Name='SaveButton'aE.Size=UDim2.new(0.6,0,0,
50)aE.Position=UDim2.new(0.2,0,1,-50)aE.Style=Enum.ButtonStyle.RobloxButton aE.
Selected=false aE.Font=Enum.Font.ArialBold aE.FontSize=Enum.FontSize.Size18 aE.
Text='Save'aE.TextColor3=Color3.new(1,1,1)aE.Parent=ak script:Destroy()

243
processed/53878057.lua Normal file
View File

@ -0,0 +1,243 @@
if game.CoreGui.Version<3 then return end local function waitForChild(a,b)while
not a:FindFirstChild(b)do a.ChildAdded:wait()end return a:FindFirstChild(b)end
local function waitForProperty(a,b)while not a[b]do a.Changed:wait()end end
local a,b,c,d=script.Parent,'gear',true,game:GetService'CoreGui':FindFirstChild
'RobloxGui'assert(d)local e=waitForChild(d,'ControlFrame')local f,g=
waitForChild(e,'BackpackButton'),waitForChild(d,'Backpack')waitForChild(d,
'CurrentLoadout')waitForChild(d.CurrentLoadout,'TempSlot')waitForChild(d.
CurrentLoadout.TempSlot,'SlotNumber')waitForChild(a,'Background')local h=a.
Background local function IsTouchDevice()local i=false pcall(function()i=Game:
GetService'UserInputService'.TouchEnabled end)return i end local function
moveHealthBar(i)waitForChild(i,'HealthGUI')waitForChild(i['HealthGUI'],'tray')
local j=i['HealthGUI']['tray']j.Position=UDim2.new(0.5,-85,1,-26)end
local function setHealthBarVisible(i,j)waitForChild(i,'HealthGUI')waitForChild(i
['HealthGUI'],'tray')local k=i['HealthGUI']['tray']k.Visible=j end waitForChild(
game,'Players')waitForProperty(game.Players,'LocalPlayer')local i=game.Players.
LocalPlayer waitForChild(i,'PlayerGui')Spawn(function()moveHealthBar(i.PlayerGui
)end)while i.Character==nil do wait(0.03)end local j=waitForChild(i.Character,
'Humanoid')j.Died:connect(function()f.Visible=false end)waitForChild(game,
'LocalBackpack')game.LocalBackpack:SetOldSchoolBackpack(false)waitForChild(a.
Parent,'Backpack')local k=a.Parent.Backpack local l=waitForChild(k,
'CoreScripts/BackpackScripts/BackpackManager')local m,n,o,p,q,r=waitForChild(l,
'BackpackOpenEvent'),waitForChild(l,'BackpackCloseEvent'),waitForChild(l,
'TabClickedEvent'),waitForChild(l,'ResizeEvent'),true,10 if d.AbsoluteSize.Y<=
320 then r=4 end local s,t,u,v=nil,nil,false,1.18 local w,x,y,z,A,B,C=UDim2.new(
1*v,0,1*v,0),UDim2.new(1,0,1,0),true,0.5,false,{},{}for D=1,r do C[D]='empty'end
local D=false local function backpackIsOpen()if k then return k.Visible end
return false end local function kill(E,F,G)if F then F:disconnect()end if E==
true and G then reorganizeLoadout(G,false)end end function registerNumberKeys()
for E=0,9 do game:GetService'GuiService':AddKey(tostring(E))end end function
unregisterNumberKeys()pcall(function()for E=0,9 do game:GetService'GuiService':
RemoveKey(tostring(E))end end)end function characterInWorkspace()if game.Players
['LocalPlayer']then if game.Players.LocalPlayer['Character']then if game.Players
.LocalPlayer.Character~=nil then if game.Players.LocalPlayer.Character.Parent~=
nil then return true end end end end return false end function removeGear(E)
local F=nil for G=1,#C do if C[G]==E and E.Parent~=nil then F=G break end end if
F then if C[F].GearReference.Value then if C[F].GearReference.Value.Parent==game
.Players.LocalPlayer.Character then C[F].GearReference.Value.Parent=game.Players
.LocalPlayer.Backpack end if C[F].GearReference.Value:IsA'HopperBin'and C[F].
GearReference.Value.Active then C[F].GearReference.Value:Disable()C[F].
GearReference.Value.Active=false end end C[F]='empty'local G,H=E.Size.X.Scale/2,
E.Size.Y.Scale/2 delay(0,function()E:remove()end)Spawn(function()while
backpackIsOpen()do wait(0.03)end waitForChild(i,'Backpack')local I=true for J=1,
#C do if C[J]~='empty'then I=false end end if I then if#i.Backpack:GetChildren()
<1 then f.Visible=false else f.Position=UDim2.new(0.5,-60,1,-44)end h.Visible=
false end end)end end function insertGear(E,F)local G=nil if not F then for H=1,
#C do if C[H]=='empty'then G=H break end end if G==1 and C[1]~='empty'then E:
remove()return end else G=F local H=1 for I=1,#C do if C[I]=='empty'then H=I
break end end for I=H,G+1,-1 do C[I]=C[I-1]if I==10 then C[I].SlotNumber.Text=
'0'C[I].SlotNumberDownShadow.Text='0'C[I].SlotNumberUpShadow.Text='0'else C[I].
SlotNumber.Text=I C[I].SlotNumberDownShadow.Text=I C[I].SlotNumberUpShadow.Text=
I end end end C[G]=E if G~=r then if type(tostring(G))=='string'then local H=
tostring(G)E.SlotNumber.Text=H E.SlotNumberDownShadow.Text=H E.
SlotNumberUpShadow.Text=H end else E.SlotNumber.Text='0'E.SlotNumberDownShadow.
Text='0'E.SlotNumberUpShadow.Text='0'end E.Visible=true local H=nil H=E.Kill.
Changed:connect(function(I)kill(I,H,E)end)end function reorganizeLoadout(E,F,G,H
)if F then insertGear(E,H)else removeGear(E)end if E~='empty'then E.ZIndex=1 end
end function checkToolAncestry(E,F)if E:FindFirstChild'RobloxBuildTool'then
return end if E:IsA'Tool'or E:IsA'HopperBin'then for G=1,#C do if C[G]~='empty'
and C[G].GearReference.Value==E then if F==nil then C[G].Kill.Value=true return
false elseif E.Parent==i.Character then C[G].Selected=true return true elseif E.
Parent==i.Backpack then if E:IsA'Tool'or E:IsA'HopperBin'then C[G].Selected=
false end return true else C[G].Kill.Value=true return false end return true end
end end end function removeAllEquippedGear(E)local F=i.Character:GetChildren()
for G=1,#F do if(F[G]:IsA'Tool'or F[G]:IsA'HopperBin')and F[G]~=E then if F[G]:
IsA'Tool'then F[G].Parent=i.Backpack end if F[G]:IsA'HopperBin'then F[G]:
Disable()end end end end function hopperBinSwitcher(E,F)if not F then return end
F:ToggleSelect()if C[E]=='empty'then return end if not F.Active then C[E].
Selected=false normalizeButton(C[E])else C[E].Selected=true enlargeButton(C[E])
end end function toolSwitcher(E)if not C[E]then return end local F=C[E].
GearReference.Value if F==nil then return end removeAllEquippedGear(F)local G=E
if E==0 then G=10 end for H=1,#C do if C[H]and C[H]~='empty'and H~=G then
normalizeButton(C[H])C[H].Selected=false if C[H].GearReference and C[H].
GearReference.Value and C[H].GearReference.Value:IsA'HopperBin'and C[H].
GearReference.Value.Active then C[H].GearReference.Value:ToggleSelect()end end
end if F:IsA'HopperBin'then hopperBinSwitcher(E,F)else if F.Parent==i.Character
then F.Parent=i.Backpack if C[E]~='empty'then C[E].Selected=false
normalizeButton(C[E])end else F.Parent=i.Character C[E].Selected=true
enlargeButton(C[E])end end end function activateGear(E)local F=nil if E=='0'then
F=10 else F=tonumber(E)end if F==nil then return end if C[F]~='empty'then
toolSwitcher(F)end end enlargeButton=function(E)if E.Size.Y.Scale>1 then return
end if not E.Parent then return end if not E.Selected then return end for F=1,#C
do if C[F]=='empty'then break end if C[F]~=E then normalizeButton(C[F])end end
if not y then return end if E:FindFirstChild'Highlight'then E.Highlight.Visible=
true end if E:IsA'ImageButton'or E:IsA'TextButton'then E.ZIndex=5 local F,G=-(w.
X.Scale-E.Size.X.Scale)/2,-(w.Y.Scale-E.Size.Y.Scale)/2 E:TweenSizeAndPosition(w
,UDim2.new(E.Position.X.Scale+F,E.Position.X.Offset,E.Position.Y.Scale+G,E.
Position.Y.Offset),Enum.EasingDirection.Out,Enum.EasingStyle.Quad,z/5,y)end end
normalizeAllButtons=function()for E=1,#C do if C[E]=='empty'then break end if C[
E]~=button then normalizeButton(C[E],0.1)end end end normalizeButton=function(E,
F)if not E then return end if E.Size.Y.Scale<=1 then return end if E.Selected
then return end if not E.Parent then return end local G=F if G==nil or type(G)~=
'number'then G=z/5 end if E:FindFirstChild'Highlight'then E.Highlight.Visible=
false end if E:IsA'ImageButton'or E:IsA'TextButton'then E.ZIndex=1 local H,I,J=1
/v,-(x.X.Scale-E.Size.X.Scale)/2,-(x.Y.Scale-E.Size.Y.Scale)/2 E:
TweenSizeAndPosition(x,UDim2.new(E.Position.X.Scale+I,E.Position.X.Offset,E.
Position.Y.Scale+J,E.Position.Y.Offset),Enum.EasingDirection.Out,Enum.
EasingStyle.Quad,G,y)end end local E=function()while u do wait()end end function
pointInRectangle(F,G,H)if F.x>G.x and F.x<(G.x+H.x)then if F.y>G.y and F.y<(G.y+
H.y)then return true end end return false end function swapGear(F,G)local H=G:
GetChildren()if#H==1 then if H[1]:FindFirstChild'SlotNumber'then local I,J=
tonumber(H[1].SlotNumber.Text),tonumber(F.SlotNumber.Text)if I==0 then I=10 end
if J==0 then J=10 end C[I]=F C[J]=H[1]H[1].SlotNumber.Text=F.SlotNumber.Text H[1
].SlotNumberDownShadow.Text=F.SlotNumber.Text H[1].SlotNumberUpShadow.Text=F.
SlotNumber.Text local K=string.sub(G.Name,5)F.SlotNumber.Text=K F.
SlotNumberDownShadow.Text=K F.SlotNumberUpShadow.Text=K F.Position=UDim2.new(F.
Position.X.Scale,0,F.Position.Y.Scale,0)H[1].Position=UDim2.new(H[1].Position.X.
Scale,0,H[1].Position.Y.Scale,0)H[1].Parent=F.Parent F.Parent=G end else local I
=tonumber(F.SlotNumber.Text)if I==0 then I=10 end C[I]='empty'local J=string.
sub(G.Name,5)F.SlotNumber.Text=J F.SlotNumberDownShadow.Text=J F.
SlotNumberUpShadow.Text=J local K=tonumber(F.SlotNumber.Text)if K==0 then K=10
end C[K]=F F.Position=UDim2.new(F.Position.X.Scale,0,F.Position.Y.Scale,0)F.
Parent=G end end function resolveDrag(F,G,H)local I,J=Vector2.new(G,H),F.Parent
local K=J.Parent:GetChildren()for L=1,#K do if K[L]:IsA'Frame'then if
pointInRectangle(I,K[L].AbsolutePosition,K[L].AbsoluteSize)then swapGear(F,K[L])
return true end end end if G<J.AbsolutePosition.x or G>(J.AbsolutePosition.x+J.
AbsoluteSize.x)then reorganizeLoadout(F,false)return false elseif H<J.
AbsolutePosition.y or H>(J.AbsolutePosition.y+J.AbsoluteSize.y)then
reorganizeLoadout(F,false)return false else if dragBeginPos then F.Position=
dragBeginPos end return-1 end end function unequipAllItems(F)for G=1,#C do if C[
G]=='empty'then break end if C[G].GearReference.Value and C[G].GearReference.
Value~=F then if C[G].GearReference.Value:IsA'HopperBin'then C[G].GearReference.
Value:Disable()elseif C[G].GearReference.Value:IsA'Tool'then C[G].GearReference.
Value.Parent=game.Players.LocalPlayer.Backpack end C[G].Selected=false end end
end function showToolTip(F,G)if F and F:FindFirstChild'ToolTipLabel'and F.
ToolTipLabel:IsA'TextLabel'and not IsTouchDevice()then F.ToolTipLabel.Text=
tostring(G)local H=F.ToolTipLabel.TextBounds.X+6 F.ToolTipLabel.Size=UDim2.new(0
,H,0,20)F.ToolTipLabel.Position=UDim2.new(0.5,-H/2,0,-30)F.ToolTipLabel.Visible=
true end end function hideToolTip(F,G)if F and F:FindFirstChild'ToolTipLabel'and
F.ToolTipLabel:IsA'TextLabel'then F.ToolTipLabel.Visible=false end end local F=
function(F,G,H,I)E()u=true if F:FindFirstChild'RobloxBuildTool'then u=false
return end if not F:IsA'Tool'then if not F:IsA'HopperBin'then u=false return end
end if not H then for J=1,#C do if C[J]~='empty'and C[J].GearReference.Value==F
then u=false return end end end local J=a.TempSlot:clone()J.Name=F.Name J.
GearImage.Image=F.TextureId if J.GearImage.Image==''then J.GearText.Text=F.Name
end J.GearReference.Value=F J.MouseEnter:connect(function()if J.GearReference
and J.GearReference.Value['ToolTip']and J.GearReference.Value.ToolTip~=''then
showToolTip(J,J.GearReference.Value.ToolTip)end end)J.MouseLeave:connect(
function()if J.GearReference and J.GearReference.Value['ToolTip']and J.
GearReference.Value.ToolTip~=''then hideToolTip(J,J.GearReference.Value.ToolTip)
end end)J.RobloxLocked=true local K=-1 if not H then for L=1,#C do if C[L]==
'empty'then K=L break end end else K=H end if K==-1 then u=false return end
local L=K%10 local M=a:FindFirstChild('Slot'..tostring(L))J.Parent=M if I then
local N,O=I.AbsolutePosition,J.AbsolutePosition local P=N-O J.Position=UDim2.
new(J.Position.X.Scale,P.x,J.Position.Y.Scale,P.y)J.ZIndex=4 end if H then
reorganizeLoadout(J,true,G,H)else reorganizeLoadout(J,true)end if J.Parent==nil
then u=false return end if G then J.Selected=true unequipAllItems(F)delay(z+0.01
,function()if J:FindFirstChild'GearReference'and((J.GearReference.Value:IsA
'Tool'and J.GearReference.Value.Parent==i.Character)or(J.GearReference.Value:IsA
'HopperBin'and J.GearReference.Value.Active==true))then enlargeButton(J)end end)
end local N,O,P,Q,R,S,T=nil,nil O=J.MouseButton1Click:connect(function()if
characterInWorkspace()then if not J.Draggable then activateGear(J.SlotNumber.
Text)end end end)Q=J.MouseEnter:connect(function()if k.Visible then J.Draggable=
true end end)T=J.DragBegin:connect(function(U)N=U J.ZIndex=7 local V=J:
GetChildren()for W=1,#V do if V[W]:IsA'TextLabel'then if string.find(V[W].Name,
'Shadow')then V[W].ZIndex=8 else V[W].ZIndex=9 end elseif V[W]:IsA'Frame'or V[W]
:IsA'ImageLabel'then V[W].ZIndex=7 end end end)S=J.DragStopped:connect(function(
U,V)if J.Selected then J.ZIndex=4 else J.ZIndex=3 end local W=J:GetChildren()for
X=1,#W do if W[X]:IsA'TextLabel'then if string.find(W[X].Name,'Shadow')then W[X]
.ZIndex=3 else W[X].ZIndex=4 end elseif W[X]:IsA'Frame'or W[X]:IsA'ImageLabel'
then W[X].ZIndex=2 end end resolveDrag(J,U,V)end)R=J.MouseLeave:connect(function
()J.Draggable=false end)P=J.AncestryChanged:connect(function()if J.Parent and J.
Parent.Parent==a then return end if O then O:disconnect()end if P then P:
disconnect()end if Q then Q:disconnect()end if R then R:disconnect()end if S
then S:disconnect()end if T then T:disconnect()end end)local U,V=nil,nil U=F.
AncestryChanged:connect(function(W,X)if not checkToolAncestry(W,X)then if U then
U:disconnect()end if V then V:disconnect()end removeFromInventory(F)elseif X==
game.Players.LocalPlayer.Backpack then normalizeButton(J)end end)V=F.Changed:
connect(function(W)if W=='Name'then if J and J.GearImage.Image==''then J.
GearText.Text=F.Name end elseif W=='Active'then if F and F:IsA'HopperBin'then if
not F.Active then J.Selected=false normalizeButton(J)end end elseif W==
'TextureId'then J.GearImage.Image=F.TextureId end end)u=false Spawn(function()
while backpackIsOpen()do wait(0.03)end for W=1,#C do if C[W]~='empty'then f.
Position=UDim2.new(0.5,-60,1,-108)if c then f.Visible=true h.Visible=true end
end end end)end function addToInventory(G)if not G:IsA'Tool'or not G:IsA
'HopperBin'then return end local H=nil for I=1,#B do if B[I]and B[I]==G then
return end if not B[I]then H=I end end if H then B[H]=G elseif#B<1 then B[1]=G
else B[#B+1]=G end end function removeFromInventory(G)for H=1,#B do if B[H]==G
then table.remove(B,H)B[H]=nil end end end local G,H=function()loadoutChildren=a
:GetChildren()for G=1,#loadoutChildren do if loadoutChildren[G]:IsA'Frame'then
loadoutChildren[G].BackgroundTransparency=0.5 local H=tonumber(string.sub(
loadoutChildren[G].Name,5))if H==0 then H=10 end if d.AbsoluteSize.Y<=320 then
loadoutChildren[G]:TweenPosition(UDim2.new(0,(H-1)*60,0,0),Enum.EasingDirection.
Out,Enum.EasingStyle.Quad,0.25,true)else loadoutChildren[G]:TweenPosition(UDim2.
new((H-1)/10,0,0,0),Enum.EasingDirection.Out,Enum.EasingStyle.Quad,0.25,true)end
end end end,function()loadoutChildren=a:GetChildren()local G,H={},nil for I=1,#
loadoutChildren do if loadoutChildren[I]:IsA'Frame'then if#loadoutChildren[I]:
GetChildren()>0 then if loadoutChildren[I].Name=='Slot0'then H=loadoutChildren[I
]else table.insert(G,loadoutChildren[I])end end loadoutChildren[I].
BackgroundTransparency=1 end end if H then table.insert(G,H)end local I=(1-(#G*
0.1))/2 for J=1,#G do if d.AbsoluteSize.Y<=320 then I=(0.5-(#G*0.333)/2)G[J]:
TweenPosition(UDim2.new(I+(J-1)*0.33,0,0,0),Enum.EasingDirection.Out,Enum.
EasingStyle.Quad,0.25,true)else G[J]:TweenPosition(UDim2.new(I+((J-1)*0.1),0,0,0
),Enum.EasingDirection.Out,Enum.EasingStyle.Quad,0.25,true)end end end function
editLoadout()D=true if q then G()end end function readonlyLoadout()if not q then
H()end end function setupBackpackListener()if t then t:disconnect()t=nil end t=i
.Backpack.ChildAdded:connect(function(I)if not A then A=true if c then f.Visible
=true h.Visible=true end end F(I)addToInventory(I)end)end function
playerCharacterChildAdded(I)F(I,true)addToInventory(I)end function
activateLoadout()a.Visible=true end function deactivateLoadout()a.Visible=false
end function tabHandler(I)q=I if I then editLoadout()else readonlyLoadout()end
end function coreGuiChanged(I,J)if I==Enum.CoreGuiType.Backpack or I==Enum.
CoreGuiType.All then f.Visible=J h.Visible=J c=J if J then registerNumberKeys()
else unregisterNumberKeys()end end if I==Enum.CoreGuiType.Health or I==Enum.
CoreGuiType.All then setHealthBarVisible(game.Players.LocalPlayer.PlayerGui,J)
end end registerNumberKeys()pcall(function()coreGuiChanged(Enum.CoreGuiType.
Backpack,Game.StarterGui:GetCoreGuiEnabled(Enum.CoreGuiType.Backpack))
coreGuiChanged(Enum.CoreGuiType.Health,Game.StarterGui:GetCoreGuiEnabled(Enum.
CoreGuiType.Health))Game.StarterGui.CoreGuiChangedSignal:connect(coreGuiChanged)
end)wait()waitForChild(i,'Backpack')waitForProperty(i,'Character')delay(1,
function()local I=i.Backpack:GetChildren()local J=math.min(10,#I)for K=1,J do if
c then f.Visible=true h.Visible=true end F(I[K],false)end setupBackpackListener(
)end)delay(2,function()if not D then if d.AbsoluteSize.Y<=320 then local I=a:
GetChildren()for J=1,#I do local K=tonumber(string.sub(I[J].Name,5,string.len(I[
J].Name)))if type(K)=='number'then I[J].Position=UDim2.new(0,(K-1)*60,0,0)end
end end end wait(0.25)end)i.ChildAdded:connect(function(I)if I:IsA'PlayerGui'
then moveHealthBar(I)end end)waitForProperty(i,'Character')for I,J in ipairs(i.
Character:GetChildren())do playerCharacterChildAdded(J)end s=i.Character.
ChildAdded:connect(function(K)playerCharacterChildAdded(K)end)waitForChild(i.
Character,'Humanoid')humanoidDiedCon=i.Character.Humanoid.Died:connect(function(
)if humanoidDiedCon then humanoidDiedCon:disconnect()humanoidDiedCon=nil end
deactivateLoadout()if t then t:disconnect()t=nil end D=false end)i.
CharacterRemoving:connect(function()for K=1,#C do if C[K]~='empty'then C[K].
Parent=nil C[K]='empty'end end end)i.CharacterAdded:connect(function()
waitForProperty(game.Players,'LocalPlayer')i=game.Players.LocalPlayer
waitForChild(i,'Backpack')delay(1,function()local K=i.Backpack:GetChildren()
local L=math.min(10,#K)for M=1,L do if c then f.Visible=true h.Visible=true end
F(K[M],false)end setupBackpackListener()end)activateLoadout()if s then s:
disconnect()s=nil end s=i.Character.ChildAdded:connect(function(K)F(K,true)end)
waitForChild(i.Character,'Humanoid')if g.Visible then m:Fire()end
humanoidDiedCon=i.Character.Humanoid.Died:connect(function()if c then f.Visible=
false h.Visible=false end A=false deactivateLoadout()if humanoidDiedCon then
humanoidDiedCon:disconnect()humanoidDiedCon=nil end if t then t:disconnect()t=
nil end end)waitForChild(i,'PlayerGui')moveHealthBar(i.PlayerGui)delay(2,
function()if not D then if d.AbsoluteSize.Y<=320 then local K=a:GetChildren()for
L=1,#K do local M=tonumber(string.sub(K[L].Name,5,string.len(K[L].Name)))if
type(M)=='number'then K[L].Position=UDim2.new(0,(M-1)*60,0,0)end end end end
wait(0.25)end)end)waitForChild(k,'SwapSlot')k.SwapSlot.Changed:connect(function(
)if k.SwapSlot.Value then local K=k.SwapSlot local L=K.Slot.Value if L==0 then L
=10 end if C[L]then reorganizeLoadout(C[L],false)end if K.GearButton.Value then
F(K.GearButton.Value.GearReference.Value,false,L)end k.SwapSlot.Value=false end
end)game:GetService'GuiService'.KeyPressed:connect(function(K)if
characterInWorkspace()then activateGear(K)end end)m.Event:connect(editLoadout)n.
Event:connect(H)o.Event:connect(function(K)tabHandler(K==b)end)

0
processed/59002209.lua Normal file
View File

155
processed/60595411.lua Normal file
View File

@ -0,0 +1,155 @@
local a,b,c,d,e,f,g,h,i,j,k,l,m,n={},string,math,table,error,tonumber,tostring,
type,setmetatable,pairs,ipairs,assert,Chipmunk,{buffer={}}function n:New()local
o={}i(o,self)self.__index=self o.buffer={}return o end function n:Append(o)self.
buffer[#self.buffer+1]=o end function n:ToString()return d.concat(self.buffer)
end local o={backslashes={['\b']='\\b',['\t']='\\t',['\n']='\\n',['\f']='\\f',[
'\r']='\\r',['"']='\\"',['\\']='\\\\',['/']='\\/'}}function o:New()local p={}p.
writer=n:New()i(p,self)self.__index=self return p end function o:Append(p)self.
writer:Append(p)end function o:ToString()return self.writer:ToString()end
function o:Write(p)local q=h(p)if q=='nil'then self:WriteNil()elseif q==
'boolean'then self:WriteString(p)elseif q=='number'then self:WriteString(p)
elseif q=='string'then self:ParseString(p)elseif q=='table'then self:WriteTable(
p)elseif q=='function'then self:WriteFunction(p)elseif q=='thread'then self:
WriteError(p)elseif q=='userdata'then self:WriteError(p)end end function o:
WriteNil()self:Append'null'end function o:WriteString(p)self:Append(g(p))end
function o:ParseString(p)self:Append'"'self:Append(b.gsub(p,'[%z%c\\"/]',
function(q)local r=self.backslashes[q]if r then return r end return b.format(
'\\u%.4X',b.byte(q))end))self:Append'"'end function o:IsArray(p)local q,r=0,
function(q)if h(q)=='number'and q>0 then if c.floor(q)==q then return true end
end return false end for s,t in j(p)do if not r(s)then return false,'{','}'else
q=c.max(q,s)end end return true,'[',']',q end function o:WriteTable(p)local q,r,
s,t=self:IsArray(p)self:Append(r)if q then for u=1,t do self:Write(p[u])if u<t
then self:Append','end end else local u=true for v,w in j(p)do if not u then
self:Append','end u=false self:ParseString(v)self:Append':'self:Write(w)end end
self:Append(s)end function o:WriteError(p)e(b.format(
'Encoding of %s unsupported',g(p)))end function o:WriteFunction(p)if p==Null
then self:WriteNil()else self:WriteError(p)end end local p={s='',i=0}function p:
New(q)local r={}i(r,self)self.__index=self r.s=q or r.s return r end function p:
Peek()local q=self.i+1 if q<=#self.s then return b.sub(self.s,q,q)end return nil
end function p:Next()self.i=self.i+1 if self.i<=#self.s then return b.sub(self.s
,self.i,self.i)end return nil end function p:All()return self.s end local q={
escapes={['t']='\t',['n']='\n',['f']='\f',['r']='\r',['b']='\b'}}function q:New(
r)local s={}s.reader=p:New(r)i(s,self)self.__index=self return s end function q:
Read()self:SkipWhiteSpace()local r=self:Peek()if r==nil then e(b.format(
"Nil string: '%s'",self:All()))elseif r=='{'then return self:ReadObject()elseif
r=='['then return self:ReadArray()elseif r=='"'then return self:ReadString()
elseif b.find(r,'[%+%-%d]')then return self:ReadNumber()elseif r=='t'then return
self:ReadTrue()elseif r=='f'then return self:ReadFalse()elseif r=='n'then return
self:ReadNull()elseif r=='/'then self:ReadComment()return self:Read()else return
nil end end function q:ReadTrue()self:TestReservedWord{'t','r','u','e'}return
true end function q:ReadFalse()self:TestReservedWord{'f','a','l','s','e'}return
false end function q:ReadNull()self:TestReservedWord{'n','u','l','l'}return nil
end function q:TestReservedWord(r)for s,t in k(r)do if self:Next()~=t then e(b.
format("Error reading '%s': %s",d.concat(r),self:All()))end end end function q:
ReadNumber()local r,s=self:Next(),self:Peek()while s~=nil and b.find(s,
'[%+%-%d%.eE]')do r=r..self:Next()s=self:Peek()end r=f(r)if r==nil then e(b.
format("Invalid number: '%s'",r))else return r end end function q:ReadString()
local r=''l(self:Next()=='"')while self:Peek()~='"'do local s=self:Next()if s==
'\\'then s=self:Next()if self.escapes[s]then s=self.escapes[s]end end r=r..s end
l(self:Next()=='"')local s=function(s)return b.char(f(s,16))end return b.gsub(r,
'u%x%x(%x%x)',s)end function q:ReadComment()l(self:Next()=='/')local r=self:
Next()if r=='/'then self:ReadSingleLineComment()elseif r=='*'then self:
ReadBlockComment()else e(b.format('Invalid comment: %s',self:All()))end end
function q:ReadBlockComment()local r=false while not r do local s=self:Next()if
s=='*'and self:Peek()=='/'then r=true end if not r and s=='/'and self:Peek()==
'*'then e(b.format("Invalid comment: %s, '/*' illegal.",self:All()))end end self
:Next()end function q:ReadSingleLineComment()local r=self:Next()while r~='\r'and
r~='\n'do r=self:Next()end end function q:ReadArray()local r={}l(self:Next()==
'[')local s=false if self:Peek()==']'then s=true end while not s do local t=self
:Read()r[#r+1]=t self:SkipWhiteSpace()if self:Peek()==']'then s=true end if not
s then local u=self:Next()if u~=','then e(b.format(
"Invalid array: '%s' due to: '%s'",self:All(),u))end end end l(']'==self:Next())
return r end function q:ReadObject()local r={}l(self:Next()=='{')local s=false
if self:Peek()=='}'then s=true end while not s do local t=self:Read()if h(t)~=
'string'then e(b.format('Invalid non-string object key: %s',t))end self:
SkipWhiteSpace()local u=self:Next()if u~=':'then e(b.format(
"Invalid object: '%s' due to: '%s'",self:All(),u))end self:SkipWhiteSpace()local
v=self:Read()r[t]=v self:SkipWhiteSpace()if self:Peek()=='}'then s=true end if
not s then u=self:Next()if u~=','then e(b.format(
"Invalid array: '%s' near: '%s'",self:All(),u))end end end l(self:Next()=='}')
return r end function q:SkipWhiteSpace()local r=self:Peek()while r~=nil and b.
find(r,'[%s/]')do if r=='/'then self:ReadComment()else self:Next()end r=self:
Peek()end end function q:Peek()return self.reader:Peek()end function q:Next()
return self.reader:Next()end function q:All()return self.reader:All()end
function Encode(r)local s=o:New()s:Write(r)return s:ToString()end function
Decode(r)local s=q:New(r)return s:Read()end function Null()return Null end a.
DecodeJSON=function(r)if h(r)=='string'then return Decode(r)end print
'RbxUtil.DecodeJSON expects string argument!'return nil end a.EncodeJSON=
function(r)return Encode(r)end a.MakeWedge=function(r,s,t,u)return game:
GetService'Terrain':AutoWedgeCell(r,s,t)end a.SelectTerrainRegion=function(r,s,t
,u)local v=game.Workspace:FindFirstChild'Terrain'if not v then return end l(r)l(
s)if not h(r)=='Region3'then e(
[[regionToSelect (first arg), should be of type Region3, but is type]],h(r))end
if not h(s)=='BrickColor'then e(
[[color (second arg), should be of type BrickColor, but is type]],h(s))end local
w,x,y,z,A=v.GetCell,v.WorldToCellPreferSolid,v.CellCenterToWorld,Enum.
CellMaterial.Empty,Instance.new'Model'A.Name='SelectionContainer'A.Archivable=
false if u then A.Parent=u else A.Parent=game.Workspace end local B,C,D,E,F,G,H=
nil,nil,0,nil,{},{},Instance.new'Part'H.Name='SelectionPart'H.Transparency=1 H.
Anchored=true H.Locked=true H.CanCollide=false H.FormFactor=Enum.FormFactor.
Custom H.Size=Vector3.new(4.2,4.2,4.2)local I=Instance.new'SelectionBox'function
createAdornment(J)local K,L=nil,nil if#G>0 then K=G[1]['part']L=G[1]['box']d.
remove(G,1)L.Visible=true else K=H:Clone()K.Archivable=false L=I:Clone()L.
Archivable=false L.Adornee=K L.Parent=A L.Adornee=K L.Parent=A end if J then L.
Color=J end return K,L end function cleanUpAdornments()for J,K in j(F)do if K.
KeepAlive~=C then K.SelectionBox.Visible=false d.insert(G,{part=K.SelectionPart,
box=K.SelectionBox})F[J]=nil end end end function incrementAliveCounter()D=D+1
if D>1000000 then D=0 end return D end function adornFullCellsInRegion(J,K)local
L,M=J.CFrame.p-(J.Size/2)+Vector3.new(2,2,2),J.CFrame.p+(J.Size/2)-Vector3.new(2
,2,2)local N,O=x(v,L),x(v,M)C=incrementAliveCounter()for P=N.y,O.y do for Q=N.z,
O.z do for R=N.x,O.x do local S=w(v,R,P,Q)if S~=z then local T,U,V=y(v,R,P,Q),
Vector3int16.new(R,P,Q),false for W,X in j(F)do if W==U then X.KeepAlive=C if K
then X.SelectionBox.Color=K end V=true break end end if not V then local Y,Z=
createAdornment(K)Y.Size=Vector3.new(4,4,4)Y.CFrame=CFrame.new(T)local _={
SelectionPart=Y,SelectionBox=Z,KeepAlive=C}F[U]=_ end end end end end
cleanUpAdornments()end E=r if t then local J,K=createAdornment(s)J.Size=r.Size J
.CFrame=r.CFrame F.SelectionPart=J F.SelectionBox=K B=function(L,M)if L and L~=E
then E=L J.Size=L.Size J.CFrame=L.CFrame end if M then K.Color=M end end else
adornFullCellsInRegion(r,s)B=function(J,K)if J and J~=E then E=J
adornFullCellsInRegion(J,K)end end end local J=function()B=nil if A then A:
Destroy()end F=nil end return B,J end function a.CreateSignal()local r,s,t={},
Instance.new'BindableEvent',{}function r:connect(u)if self~=r then e(
'connect must be called with `:`, not `.`',2)end if h(u)~='function'then e(
'Argument #1 of connect must be a function, got a '..h(u),2)end local v=s.Event:
connect(u)t[v]=true local w={}function w:disconnect()v:disconnect()t[v]=nil end
return w end function r:disconnect()if self~=r then e(
'disconnect must be called with `:`, not `.`',2)end for u,v in j(t)do u:
disconnect()t[u]=nil end end function r:wait()if self~=r then e(
'wait must be called with `:`, not `.`',2)end return s.Event:wait()end function
r:fire(...)if self~=r then e('fire must be called with `:`, not `.`',2)end s:
Fire(...)end return r end local function Create_PrivImpl(r)if h(r)~='string'then
e('Argument of Create must be a string',2)end return function(s)s=s or{}local t,
u=Instance.new(r),nil for v,w in j(s)do if h(v)=='string'then t[v]=w elseif h(v)
=='number'then if h(w)~='userdata'then e(
[[Bad entry in Create body: Numeric keys must be paired with children, got a: ]]
..h(w),2)end w.Parent=t elseif h(v)=='table'and v.__eventname then if h(w)~=
'function'then e("Bad entry in Create body: Key `[Create.E'"..v.__eventname..
"']` must have a function value, got: "..g(w),2)end t[v.__eventname]:connect(w)
elseif v==a.Create then if h(w)~='function'then e(
[[Bad entry in Create body: Key `[Create]` should be paired with a constructor function, got: ]]
..g(w),2)elseif u then e(
[[Bad entry in Create body: Only one constructor function is allowed]],2)end u=w
else e('Bad entry ('..g(v)..' => '..g(w)..') in Create body',2)end end if u then
u(t)end return t end end a.Create=i({},{__call=function(r,...)return
Create_PrivImpl(...)end})a.Create.E=function(r)return{__eventname=r}end a.Help=
function(r)if r=='DecodeJSON'or r==a.DecodeJSON then return
[[Function DecodeJSON. Arguments: (string). Side effect: returns a table with all parsed JSON values]]
end if r=='EncodeJSON'or r==a.EncodeJSON then return
[[Function EncodeJSON. Arguments: (table). Side effect: returns a string composed of argument table in JSON data format]]
end if r=='MakeWedge'or r==a.MakeWedge then return
[[Function MakeWedge. Arguments: (x, y, z, [default material]). Description: Makes a wedge at location x, y, z. Sets cell x, y, z to default material if parameter is provided, if not sets cell x, y, z to be whatever material it previously was. Returns true if made a wedge, false if the cell remains a block ]]
end if r=='SelectTerrainRegion'or r==a.SelectTerrainRegion then return
[[Function SelectTerrainRegion. Arguments: (regionToSelect, color, selectEmptyCells, selectionParent). Description: Selects all terrain via a series of selection boxes within the regionToSelect (this should be a region3 value). The selection box color is detemined by the color argument (should be a brickcolor value). SelectionParent is the parent that the selection model gets placed to (optional).SelectEmptyCells is bool, when true will select all cells in the region, otherwise we only select non-empty cells. Returns a function that can update the selection,arguments to said function are a new region3 to select, and the adornment color (color arg is optional). Also returns a second function that takes no arguments and destroys the selection]]
end if r=='CreateSignal'or r==a.CreateSignal then return
[[Function CreateSignal. Arguments: None. Returns: The newly created Signal object. This object is identical to the RBXScriptSignal class used for events in Objects, but is a Lua-side object so it can be used to create custom events inLua code. Methods of the Signal object: :connect, :wait, :fire, :disconnect. For more info you can pass the method name to the Help function, or view the wiki page for this library. EG: Help('Signal:connect').]]
end if r=='Signal:connect'then return
[[Method Signal:connect. Arguments: (function handler). Return: A connection object which can be used to disconnect the connection to this handler. Description: Connectes a handler function to this Signal, so that when |fire| is called the handler function will be called with the arguments passed to |fire|.]]
end if r=='Signal:wait'then return
[[Method Signal:wait. Arguments: None. Returns: The arguments passed to the next call to |fire|. Description: This call does not return until the next call to |fire| is made, at which point it will return the values which were passed as arguments to that |fire| call.]]
end if r=='Signal:fire'then return
[[Method Signal:fire. Arguments: Any number of arguments of any type. Returns: None. Description: This call will invoke any connected handler functions, and notify any waiting code attached to this Signal to continue, with the arguments passed to this function. Note: The calls to handlers are made asynchronously, so this call will return immediately regardless of how long it takes the connected handler functions to complete.]]
end if r=='Signal:disconnect'then return
[[Method Signal:disconnect. Arguments: None. Returns: None. Description: This call disconnects all handlers attacched to this function, note however, it does NOT make waiting code continue, as is the behavior of normal Roblox events. This method can also be called on the connection object which is returned from Signal:connect to only disconnect a single handler, as opposed to this method, which will disconnect all handlers.]]
end if r=='Create'then return
[[Function Create. Arguments: A table containing information about how to construct a collection of objects. Returns: The constructed objects. Descrition: Create is a very powerfull function, whose description is too long to fit here, and is best described via example, please see the wiki page for a description of how to use it.]]
end end return a

7
processed/60595695.lua Normal file
View File

@ -0,0 +1,7 @@
local a,b,c=3569749,game:GetService'ScriptContext',0 while not b and c<3 do c=c+
1 b=game:GetService'ScriptContext'wait(0.2)end if b then b:RegisterLibrary(
'Libraries/RbxGui','45284430')b:RegisterLibrary('Libraries/RbxGear','45374389')
if game.PlaceId==a then b:RegisterLibrary('Libraries/RbxStatus','52177566')end b
:RegisterLibrary('Libraries/RbxUtility','60595411')b:RegisterLibrary(
'Libraries/RbxStamper','73157242')b:LibraryRegistrationComplete()else print
'failed to find script context, libraries did not load'end

528
processed/73157242.lua Normal file
View File

@ -0,0 +1,528 @@
local a={}function waitForChild(b,c)while not b:FindFirstChild(c)do b.ChildAdded
:wait()end end function PlaneIntersection(b)local c,d=false,game.Workspace.
CurrentCamera local e,f,g,h=Vector3.new(d.CoordinateFrame.p.X,d.CoordinateFrame.
p.Y,d.CoordinateFrame.p.Z),Vector3.new(b.X,b.Y,b.Z),Vector3.new(0,1,0),Vector3.
new(0,0,0)local i,j=g:Dot(f-e),b if i~=0 then local k=g:Dot(h-e)/i if k>=0 and k
<=1 then local l=((f-e)*k)+e j=game.Workspace.Terrain:WorldToCell(l)c=true end
end return j,c end function GetTerrainForMouse(b)local c,d=game.Workspace.
Terrain:WorldToCellPreferSolid(Vector3.new(b.hit.x,b.hit.y,b.hit.z)),nil if 0==
game.Workspace.Terrain:GetCell(c.X,c.Y,c.Z).Value then c=nil d,hit=
PlaneIntersection(Vector3.new(b.hit.x,b.hit.y,b.hit.z))if hit then c=d end end
return c end local b=Vector3.new(0.3,0.3,0.3)local function
rotatePartAndChildren(c,d,e)if c:IsA'BasePart'then c.CFrame=(d*(c.CFrame-e))+e
end local f=c:GetChildren()for g=1,#f do rotatePartAndChildren(f[g],d,e)end end
local function modelRotate(c,d)local e,f=CFrame.Angles(0,d,0),c:GetModelCFrame()
.p rotatePartAndChildren(c,e,f)end local function collectParts(c,d,e,f)if c:IsA
'BasePart'then d[#d+1]=c elseif c:IsA'Script'then e[#e+1]=c elseif c:IsA'Decal'
then f[#f+1]=c end for g,h in pairs(c:GetChildren())do collectParts(h,d,e,f)end
end local function clusterPartsInRegion(c,d)local e=game.Workspace:
FindFirstChild'Terrain'local f,g=e:WorldToCell(c),e:WorldToCell(d)local h,i,j,k,
l,m=f.X,f.Y,f.Z,g.X,g.Y,g.Z if h<e.MaxExtents.Min.X then h=e.MaxExtents.Min.X
end if i<e.MaxExtents.Min.Y then i=e.MaxExtents.Min.Y end if j<e.MaxExtents.Min.
Z then j=e.MaxExtents.Min.Z end if k>e.MaxExtents.Max.X then k=e.MaxExtents.Max.
X end if l>e.MaxExtents.Max.Y then l=e.MaxExtents.Max.Y end if m>e.MaxExtents.
Max.Z then m=e.MaxExtents.Max.Z end for n=h,k do for o=i,l do for p=j,m do if e:
GetCell(n,o,p).Value>0 then return true end end end end return false end
local function findSeatsInModel(c,d)if not c then return end if c.className==
'Seat'or c.className=='VehicleSeat'then table.insert(d,c)end local e=c:
GetChildren()for f=1,#e do findSeatsInModel(e[f],d)end end local function
setSeatEnabledStatus(c,d)local e={}findSeatsInModel(c,e)if d then for f=1,#e do
local g=e[f]:FindFirstChild'SeatWeld'while g do g:Remove()g=e[f]:FindFirstChild
'SeatWeld'end end else for f=1,#e do local g=Instance.new'Weld'g.Name='SeatWeld'
g.Parent=e[f]end end end local function autoAlignToFace(c)local d=c:
FindFirstChild'AutoAlignToFace'if d then return d.Value else return false end
end local function getClosestAlignedWorldDirection(c)local d,e,f=Vector3.new(1,0
,0),Vector3.new(0,1,0),Vector3.new(0,0,1)local g,h,i=c.x*d.x+c.y*d.y+c.z*d.z,c.x
*e.x+c.y*e.y+c.z*e.z,c.x*f.x+c.y*f.y+c.z*f.z if math.abs(g)>math.abs(h)and math.
abs(g)>math.abs(i)then if g>0 then return 0 else return 3 end elseif math.abs(h)
>math.abs(g)and math.abs(h)>math.abs(i)then if h>0 then return 1 else return 4
end else if i>0 then return 2 else return 5 end end end local function
positionPartsAtCFrame3(c,d)local e=nil if not d then return d end if d and(d:IsA
'Model'or d:IsA'Tool')then e=d:GetModelCFrame()d:TranslateBy(c.p-e.p)else d.
CFrame=c end return d end local function calcRayHitTime(c,d,e)if math.abs(d)<
0.01 then return 0 end return(e-c)/d end local function modelTargetSurface(c,d,e
)if not c then return 0 end local f,g=nil,nil if c:IsA'Model'then f=c:
GetModelCFrame()g=c:GetModelSize()else f=c.CFrame g=c.Size end local h,i=f:
pointToObjectSpace(d),f:pointToObjectSpace(e)local j,k,l,m=i-h,1,1,1 if j.X>0
then k=-1 end if j.Y>0 then l=-1 end if j.Z>0 then m=-1 end local n,o,p,q=
calcRayHitTime(h.X,j.X,g.X/2*k),calcRayHitTime(h.Y,j.Y,g.Y/2*l),calcRayHitTime(h
.Z,j.Z,g.Z/2*m),0 if n>o then if n>p then q=1*k else q=3*m end else if o>p then
q=2*l else q=3*m end end return q end local function getBoundingBox2(c)local d,e
=Vector3.new(math.huge,math.huge,math.huge),Vector3.new(-math.huge,-math.huge,-
math.huge)if c:IsA'Terrain'then d=Vector3.new(-2,-2,-2)e=Vector3.new(2,2,2)
elseif c:IsA'BasePart'then d=-0.5*c.Size e=-d else e=c:GetModelSize()*0.5 d=-e
end local f=c:FindFirstChild'Justification'if f~=nil then justify=f.Value two=
Vector3.new(2,2,2)actualBox=e-d-Vector3.new(0.01,0.01,0.01)containingGridBox=
Vector3.new(4*math.ceil(actualBox.x/4),4*math.ceil(actualBox.y/4),4*math.ceil(
actualBox.z/4))adjustment=containingGridBox-actualBox d=d-0.5*adjustment*justify
e=e+0.5*adjustment*(two-justify)end return d,e end local function
getBoundingBoxInWorldCoordinates(c)local d,e=Vector3.new(math.huge,math.huge,
math.huge),Vector3.new(-math.huge,-math.huge,-math.huge)if c:IsA'BasePart'and
not c:IsA'Terrain'then vec1=c.CFrame:pointToWorldSpace(-0.5*c.Size)vec2=c.CFrame
:pointToWorldSpace(0.5*c.Size)d=Vector3.new(math.min(vec1.X,vec2.X),math.min(
vec1.Y,vec2.Y),math.min(vec1.Z,vec2.Z))e=Vector3.new(math.max(vec1.X,vec2.X),
math.max(vec1.Y,vec2.Y),math.max(vec1.Z,vec2.Z))elseif c:IsA'Terrain'then else
vec1=c:GetModelCFrame():pointToWorldSpace(-0.5*c:GetModelSize())vec2=c:
GetModelCFrame():pointToWorldSpace(0.5*c:GetModelSize())d=Vector3.new(math.min(
vec1.X,vec2.X),math.min(vec1.Y,vec2.Y),math.min(vec1.Z,vec2.Z))e=Vector3.new(
math.max(vec1.X,vec2.X),math.max(vec1.Y,vec2.Y),math.max(vec1.Z,vec2.Z))end
return d,e end local function getTargetPartBoundingBox(c)if c.Parent:
FindFirstChild'RobloxModel'~=nil then return getBoundingBox2(c.Parent)else
return getBoundingBox2(c)end end local function getMouseTargetCFrame(c)if c.
Parent:FindFirstChild'RobloxModel'~=nil then if c.Parent:IsA'Tool'then return c.
Parent.Handle.CFrame else return c.Parent:GetModelCFrame()end else return c.
CFrame end end local function isBlocker(c)if not c then return false end if not
c.Parent then return false end if c:FindFirstChild'Humanoid'then return false
end if c:FindFirstChild'RobloxStamper'or c:FindFirstChild'RobloxModel'then
return true end if c:IsA'Part'and not c.CanCollide then return false end if c==
game.Lighting then return false end return isBlocker(c.Parent)end local function
spaceAboveCharacter(c,d,e)local f=game.Workspace:FindPartsInRegion3(Region3.new(
Vector3.new(c.Position.X,d,c.Position.Z)-Vector3.new(0.75,2.75,0.75),Vector3.
new(c.Position.X,d,c.Position.Z)+Vector3.new(0.75,1.75,0.75)),c.Parent,100)for g
=1,#f do if f[g].CanCollide and not f[g]:IsDescendantOf(e.CurrentParts)then
return false end end if clusterPartsInRegion(Vector3.new(c.Position.X,d,c.
Position.Z)-Vector3.new(0.75,2.75,0.75),Vector3.new(c.Position.X,d,c.Position.Z)
+Vector3.new(0.75,1.75,0.75))then return false end return true end
local function findConfigAtMouseTarget(c,d)if not c then return nil end if not d
then error'findConfigAtMouseTarget: stampData is nil'return nil end if not d[
'CurrentParts']then return nil end local e,f,g,h,i=4,false,CFrame.new(0,0,0),
getBoundingBox2(d.CurrentParts)local j,k=i-h,nil if d.CurrentParts:IsA'Model'or
d.CurrentParts:IsA'Tool'then k=d.CurrentParts:GetModelCFrame()else k=d.
CurrentParts.CFrame end if c then if d.CurrentParts:IsA'Tool'then c.TargetFilter
=d.CurrentParts.Handle else c.TargetFilter=d.CurrentParts end end local l,m=
false,nil local n=pcall(function()m=c.Target end)if not n then return f,g end
local o=Vector3.new(0,0,0)if c then o=Vector3.new(c.Hit.x,c.Hit.y,c.Hit.z)end
local p=nil if nil==m then p=GetTerrainForMouse(c)if nil==p then l=false return
f,g else m=game.Workspace.Terrain l=true p=Vector3.new(p.X-1,p.Y,p.Z)o=game.
Workspace.Terrain:CellCenterToWorld(p.x,p.y,p.z)end end local q,r=
getTargetPartBoundingBox(m)local s,t=r-q,getMouseTargetCFrame(m)if m:IsA
'Terrain'then if not cluster then cluster=game.Workspace:FindFirstChild'Terrain'
end local u=cluster:WorldToCellPreferSolid(o)if l then u=p end t=CFrame.new(game
.Workspace.Terrain:CellCenterToWorld(u.x,u.y,u.z))end local u,v=t:
pointToObjectSpace(o),Vector3.new(0,0,0)if c then v=m.CFrame:vectorToWorldSpace(
Vector3.FromNormalId(c.TargetSurface))end local w,x if
getClosestAlignedWorldDirection(v)==0 then w=t:vectorToObjectSpace(Vector3.new(1
,-1,1))insertRefPointInInsert=k:vectorToObjectSpace(Vector3.new(-1,-1,1))x=
Vector3.new(0,1,1)elseif getClosestAlignedWorldDirection(v)==3 then w=t:
vectorToObjectSpace(Vector3.new(-1,-1,-1))insertRefPointInInsert=k:
vectorToObjectSpace(Vector3.new(1,-1,-1))x=Vector3.new(0,1,1)elseif
getClosestAlignedWorldDirection(v)==1 then w=t:vectorToObjectSpace(Vector3.new(-
1,1,1))insertRefPointInInsert=k:vectorToObjectSpace(Vector3.new(-1,-1,1))x=
Vector3.new(1,0,1)elseif getClosestAlignedWorldDirection(v)==4 then w=t:
vectorToObjectSpace(Vector3.new(-1,-1,1))insertRefPointInInsert=k:
vectorToObjectSpace(Vector3.new(-1,1,1))x=Vector3.new(1,0,1)elseif
getClosestAlignedWorldDirection(v)==2 then w=t:vectorToObjectSpace(Vector3.new(-
1,-1,1))insertRefPointInInsert=k:vectorToObjectSpace(Vector3.new(-1,-1,-1))x=
Vector3.new(1,1,0)else w=t:vectorToObjectSpace(Vector3.new(1,-1,-1))
insertRefPointInInsert=k:vectorToObjectSpace(Vector3.new(1,-1,1))x=Vector3.new(1
,1,0)end w=w*(0.5*s)+0.5*(r+q)insertRefPointInInsert=insertRefPointInInsert*(0.5
*j)+0.5*(i+h)local y=u-w local z=Vector3.new(e*math.modf(y.x/e),e*math.modf(y.y/
e),e*math.modf(y.z/e))z=z*x local A=z+w local B,C=t:pointToWorldSpace(A),k:
vectorToWorldSpace(insertRefPointInInsert)local D,E,F,G,H,I,J,K,L,M,N,O,P=B-C,k:
components()g=CFrame.new(D.x,D.y,D.z,H,I,J,K,L,M,N,O,P)f=true return f,g,
getClosestAlignedWorldDirection(v)end local function truncateToCircleEighth(c,d)
local e,f=math.abs(c),math.abs(d)local g=math.sqrt(e*e+f*f)local h,i,j=f/g,1,1
if c<0 then i=-1 end if d<0 then j=-1 end if h>0.382683432 then return
0.707106781*g*i,0.707106781*g*j else return g*i,0 end end local function
saveTheWelds(c,d,e)if c:IsA'ManualWeld'or c:IsA'Rotate'then table.insert(d,c)
table.insert(e,c.Parent)else local f=c:GetChildren()for g=1,#f do saveTheWelds(f
[g],d,e)end end end local function restoreTheWelds(c,d)for e=1,#c do c[e].Parent
=d[e]end end a.CanEditRegion=function(c,d)if not d then return true,false end
local e,f=getBoundingBoxInWorldCoordinates(c)if e.X<d.CFrame.p.X-d.Size.X/2 or e
.Y<d.CFrame.p.Y-d.Size.Y/2 or e.Z<d.CFrame.p.Z-d.Size.Z/2 then return false,
false end if f.X>d.CFrame.p.X+d.Size.X/2 or f.Y>d.CFrame.p.Y+d.Size.Y/2 or f.Z>d
.CFrame.p.Z+d.Size.Z/2 then return false,false end return true,false end a.
GetStampModel=function(c,d,e)if c==0 then return nil,'No Asset'end if c<0 then
return nil,'Negative Asset'end local function UnlockInstances(f)if f:IsA
'BasePart'then f.Locked=false end for g,h in pairs(f:GetChildren())do
UnlockInstances(h)end end local function getClosestColorToTerrainMaterial(f)if f
==1 then return BrickColor.new'Bright green'elseif f==2 then return BrickColor.
new'Bright yellow'elseif f==3 then return BrickColor.new'Bright red'elseif f==4
then return BrickColor.new'Sand red'elseif f==5 then return BrickColor.new
'Black'elseif f==6 then return BrickColor.new'Dark stone grey'elseif f==7 then
return BrickColor.new'Sand blue'elseif f==8 then return BrickColor.new
'Deep orange'elseif f==9 then return BrickColor.new'Dark orange'elseif f==10
then return BrickColor.new'Reddish brown'elseif f==11 then return BrickColor.new
'Light orange'elseif f==12 then return BrickColor.new'Light stone grey'elseif f
==13 then return BrickColor.new'Sand green'elseif f==14 then return BrickColor.
new'Medium stone grey'elseif f==15 then return BrickColor.new'Really red'elseif
f==16 then return BrickColor.new'Really blue'elseif f==17 then return BrickColor
.new'Bright blue'else return BrickColor.new'Bright green'end end local function
setupFakeTerrainPart(f,g,h)local i=nil if g==1 or g==4 then i=Instance.new
'WedgePart'i.formFactor='Custom'elseif g==2 then i=Instance.new'CornerWedgePart'
else i=Instance.new'Part'i.formFactor='Custom'end i.Name='MegaClusterCube'i.Size
=Vector3.new(4,4,4)i.BottomSurface='Smooth'i.TopSurface='Smooth'i.BrickColor=
getClosestColorToTerrainMaterial(f)local j,k=0,math.pi if g==4 then j=-math.pi/2
end if g==2 or g==3 then k=0 end i.CFrame=CFrame.Angles(0,math.pi/2*h+k,j)if g==
3 then local l=Instance.new'SpecialMesh'l.MeshType='FileMesh'l.MeshId=
'http://www.roblox.com/asset?id=66832495'l.Scale=Vector3.new(2,2,2)l.Parent=i
end local l=Instance.new'Vector3Value'l.Value=Vector3.new(f,g,h)l.Name=
'ClusterMaterial'l.Parent=i return i end local f,g loading=true if e then g=
coroutine.create(function()f=game:GetService'InsertService':LoadAssetVersion(c)
loading=false end)coroutine.resume(g)else g=coroutine.create(function()f=game:
GetService'InsertService':LoadAsset(c)loading=false end)coroutine.resume(g)end
local h,i,j=0,0,8 while loading and i<j do h=tick()wait(1)i=i+tick()-h end
loading=false if i>=j then return nil,'Load Time Fail'end if f==nil then return
nil,'Load Asset Fail'end if not f:IsA'Model'then return nil,'Load Type Fail'end
local k=f:GetChildren()if#k==0 then return nil,'Empty Model Fail'end
UnlockInstances(f)f=f:GetChildren()[1]for l,m in pairs(k)do if m:IsA'Team'then m
.Parent=game:GetService'Teams'elseif m:IsA'Sky'then local n=game:GetService
'Lighting'for o,p in pairs(n:GetChildren())do if p:IsA'Sky'then p:Remove()end
end m.Parent=n return end end if f:FindFirstChild'RobloxModel'==nil then local n
=Instance.new'BoolValue'n.Name='RobloxModel'n.Parent=f if f:FindFirstChild
'RobloxStamper'==nil then local o=Instance.new'BoolValue'o.Name='RobloxStamper'o
.Parent=f end end if d then if f.Name=='MegaClusterCube'then if d==6 then local
n=Instance.new'BoolValue'n.Name='AutoWedge'n.Parent=f else local n=f:
FindFirstChild'ClusterMaterial'if n then if n:IsA'Vector3Value'then f=
setupFakeTerrainPart(n.Value.X,d,n.Value.Z)else f=setupFakeTerrainPart(n.Value,d
,0)end else f=setupFakeTerrainPart(1,d,0)end end end end return f end a.
SetupStamperDragger=function(c,d,e,f,g)if not c then error
[[SetupStamperDragger: modelToStamp (first arg) is nil! Should be a stamper model]]
return nil end if not c:IsA'Model'and not c:IsA'BasePart'then error
[[SetupStamperDragger: modelToStamp (first arg) is neither a Model or Part!]]
return nil end if not d then error
[[SetupStamperDragger: Mouse (second arg) is nil! Should be a mouse object]]
return nil end if not d:IsA'Mouse'then error
[[SetupStamperDragger: Mouse (second arg) is not of type Mouse!]]return nil end
local h,i,j=nil,nil,nil if e then if not e:IsA'Model'then error
[[SetupStamperDragger: StampInModel (optional third arg) is not of type 'Model']]
return nil end if not f then error
[[SetupStamperDragger: AllowedStampRegion (optional fourth arg) is nil when StampInModel (optional third arg) is defined]]
return nil end j=g h=e i=f end local k,l,m,n=0,nil,nil,Instance.new
'SelectionBox'n.Color=BrickColor.new'Bright red'n.Transparency=0 n.Archivable=
false local o=Instance.new'Part'o.Parent=nil o.formFactor='Custom'o.Size=Vector3
.new(4,4,4)o.CFrame=CFrame.new()o.Archivable=false local p=Instance.new
'SelectionBox'p.Color=BrickColor.new'Toothpaste'p.Adornee=o p.Visible=true p.
Transparency=0 p.Name='HighScalabilityStamperLine'p.Archivable=false local q={}q
.Start=nil q.End=nil q.Adorn=p q.AdornPart=o q.InternalLine=nil q.NewHint=true q
.MorePoints={nil,nil}q.MoreLines={nil,nil}q.Dimensions=1 local r,s,t,u,v,w,x={},
false,false,false,{},nil,Instance.new'BoolValue'x.Archivable=false x.Value=false
local y={}y.TerrainOrientation=0 y.CFrame=0 local z={}z.Material=1 z.clusterType
=0 z.clusterOrientation=0 local function isMegaClusterPart()if not l then return
false end if not l.CurrentParts then return false end return(l.CurrentParts:
FindFirstChild('ClusterMaterial',true)or(l.CurrentParts.Name=='MegaClusterCube')
)end local function DoHighScalabilityRegionSelect()local A=l.CurrentParts:
FindFirstChild'MegaClusterCube'if not A then if not l.CurrentParts.Name==
'MegaClusterCube'then return else A=l.CurrentParts end end q.End=A.CFrame.p
local B,C,D=nil,Vector3.new(0,0,0),Vector3.new(0,0,0)if q.Dimensions==1 then B=(
q.End-q.Start)if math.abs(B.X)<math.abs(B.Y)then if math.abs(B.X)<math.abs(B.Z)
then local E,F if math.abs(B.Y)>math.abs(B.Z)then E,F=truncateToCircleEighth(B.Y
,B.Z)else F,E=truncateToCircleEighth(B.Z,B.Y)end B=Vector3.new(0,E,F)else local
E,F=truncateToCircleEighth(B.Y,B.X)B=Vector3.new(F,E,0)end else if math.abs(B.Y)
<math.abs(B.Z)then local E,F if math.abs(B.X)>math.abs(B.Z)then E,F=
truncateToCircleEighth(B.X,B.Z)else F,E=truncateToCircleEighth(B.Z,B.X)end B=
Vector3.new(E,0,F)else local E,F=truncateToCircleEighth(B.X,B.Y)B=Vector3.new(E,
F,0)end end q.InternalLine=B elseif q.Dimensions==2 then B=q.MoreLines[1]C=q.End
-q.MorePoints[1]C=C-B.unit*B.unit:Dot(C)tempCFrame=CFrame.new(q.Start,q.Start+B)
local E,F=tempCFrame:vectorToWorldSpace(Vector3.new(0,1,0)),tempCFrame:
vectorToWorldSpace(Vector3.new(1,0,0))local G,H=F:Dot(C),E:Dot(C)if math.abs(H)>
math.abs(G)then C=C-F*G else C=C-E*H end q.InternalLine=C elseif q.Dimensions==3
then B=q.MoreLines[1]C=q.MoreLines[2]D=q.End-q.MorePoints[2]D=D-B.unit*B.unit:
Dot(D)D=D-C.unit*C.unit:Dot(D)q.InternalLine=D end tempCFrame=CFrame.new(q.Start
,q.Start+B)if q.Dimensions==1 then q.AdornPart.Size=Vector3.new(4,4,B.magnitude+
4)q.AdornPart.CFrame=tempCFrame+tempCFrame:vectorToWorldSpace(Vector3.new(2,2,2)
-q.AdornPart.Size/2)else local E=tempCFrame:vectorToObjectSpace(B+C+D)q.
AdornPart.Size=Vector3.new(4,4,4)+Vector3.new(math.abs(E.X),math.abs(E.Y),math.
abs(E.Z))q.AdornPart.CFrame=tempCFrame+tempCFrame:vectorToWorldSpace(E/2)end
local E=nil if game.Players['LocalPlayer']then E=game.Players.LocalPlayer:
FindFirstChild'PlayerGui'if E and E:IsA'PlayerGui'then if q.Dimensions==1 and B.
magnitude>3 then q.Adorn.Parent=E elseif q.Dimensions>1 then q.Adorn.Parent=E
end end end if E==nil then E=game:GetService'CoreGui'if q.Dimensions==1 and B.
magnitude>3 then q.Adorn.Parent=E elseif q.Dimensions>1 then q.Adorn.Parent=E
end end end local function DoStamperMouseMove(A)if not A then error
'Error: RbxStamper.DoStamperMouseMove: Mouse is nil'return end if not A:IsA
'Mouse'then error('Error: RbxStamper.DoStamperMouseMove: Mouse is of type',A.
className,'should be of type Mouse')return end if not A.Target then local B=
GetTerrainForMouse(A)if nil==B then return end end if not l then return end
configFound,targetCFrame,targetSurface=findConfigAtMouseTarget(A,l)if not
configFound then error'RbxStamper.DoStamperMouseMove No configFound, returning'
return end local B=0 if autoAlignToFace(l.CurrentParts)and targetSurface~=1 and
targetSurface~=4 then if targetSurface==3 then B=0-k+autoAlignToFace(l.
CurrentParts)elseif targetSurface==0 then B=2-k+autoAlignToFace(l.CurrentParts)
elseif targetSurface==5 then B=3-k+autoAlignToFace(l.CurrentParts)elseif
targetSurface==2 then B=1-k+autoAlignToFace(l.CurrentParts)end end local C=math.
pi/2 k=k+B if l.CurrentParts:IsA'Model'or l.CurrentParts:IsA'Tool'then
modelRotate(l.CurrentParts,C*B)else l.CurrentParts.CFrame=CFrame.
fromEulerAnglesXYZ(0,C*B,0)*l.CurrentParts.CFrame end local D,E=
getBoundingBoxInWorldCoordinates(l.CurrentParts)local F=nil if l.CurrentParts:
IsA'Model'then F=l.CurrentParts:GetModelCFrame()else F=l.CurrentParts.CFrame end
D=D+targetCFrame.p-F.p E=E+targetCFrame.p-F.p if clusterPartsInRegion(D+b,E-b)
then if y.CFrame then if l.CurrentParts:FindFirstChild('ClusterMaterial',true)
then local G=l.CurrentParts:FindFirstChild('ClusterMaterial',true)if G:IsA
'Vector3Value'then local H=l.CurrentParts:FindFirstChild('ClusterMaterial',true)
if H then H=clusterMat end end end end return end if isMegaClusterPart()then
local G=game.Workspace.Terrain:WorldToCell(targetCFrame.p)local H,I,J,K,L,M,N,O,
P,Q,R,S,T=game.Workspace.Terrain:CellCenterToWorld(G.X,G.Y,G.Z),targetCFrame:
components()targetCFrame=CFrame.new(H.X,H.Y,H.Z,L,M,N,O,P,Q,R,S,T)end
positionPartsAtCFrame3(targetCFrame,l.CurrentParts)y.CFrame=targetCFrame if l.
CurrentParts:FindFirstChild('ClusterMaterial',true)then local G=l.CurrentParts:
FindFirstChild('ClusterMaterial',true)if G:IsA'Vector3Value'then y.
TerrainOrientation=G.Value.Z end end if A and A.Target and A.Target.Parent then
local G=A.Target:FindFirstChild'RobloxModel'if not G then G=A.Target.Parent:
FindFirstChild'RobloxModel'end local H=l.CurrentParts:FindFirstChild
'UnstampableFaces'do local I,J='',''if G and G.Parent:FindFirstChild
'UnstampableFaces'then I=G.Parent.UnstampableFaces.Value end if H then J=H.Value
end local K=0 if G then K=modelTargetSurface(G.Parent,game.Workspace.
CurrentCamera.CoordinateFrame.p,A.Hit.p)end for L in string.gmatch(I,'[^,]+')do
if K==tonumber(L)then u=true game.JointsService:ClearJoinAfterMoveJoints()return
end end K=modelTargetSurface(l.CurrentParts,A.Hit.p,game.Workspace.CurrentCamera
.CoordinateFrame.p)for M in string.gmatch(J,'[^,]+')do if K==tonumber(M)then u=
true game.JointsService:ClearJoinAfterMoveJoints()return end end end end u=false
game.JointsService:SetJoinAfterMoveInstance(l.CurrentParts)if not pcall(function
()if A and A.Target and A.Target.Parent:FindFirstChild'RobloxModel'==nil then
return else return end end)then error
[[Error: RbxStamper.DoStamperMouseMove Mouse is nil on second check]]game.
JointsService:ClearJoinAfterMoveJoints()A=nil return end if A and A.Target and A
.Target.Parent:FindFirstChild'RobloxModel'==nil then game.JointsService:
SetJoinAfterMoveTarget(A.Target)else game.JointsService:SetJoinAfterMoveTarget(
nil)end game.JointsService:ShowPermissibleJoints()if isMegaClusterPart()and q
and q.Start then DoHighScalabilityRegionSelect()end end local function
setupKeyListener(A,B)if r and r['Paused']then return end A=string.lower(A)if A==
'r'and not autoAlignToFace(l.CurrentParts)then k=k+1 local C=l.CurrentParts:
FindFirstChild('ClusterMaterial',true)if C and C:IsA'Vector3Value'then C.Value=
Vector3.new(C.Value.X,C.Value.Y,(C.Value.Z+1)%4)end local D=math.pi/2 if l.
CurrentParts:IsA'Model'or l.CurrentParts:IsA'Tool'then modelRotate(l.
CurrentParts,D)else l.CurrentParts.CFrame=CFrame.fromEulerAnglesXYZ(0,D,0)*l.
CurrentParts.CFrame end configFound,targetCFrame=findConfigAtMouseTarget(B,l)if
configFound then positionPartsAtCFrame3(targetCFrame,l.CurrentParts)
DoStamperMouseMove(B)end elseif A=='c'then if q.InternalLine and q.InternalLine.
magnitude>0 and q.Dimensions<3 then q.MorePoints[q.Dimensions]=q.End q.MoreLines
[q.Dimensions]=q.InternalLine q.Dimensions=q.Dimensions+1 q.NewHint=true end end
end w=d.KeyDown:connect(function(A)setupKeyListener(A,d)end)local function
resetHighScalabilityLine()if q then q.Start=nil q.End=nil q.InternalLine=nil q.
NewHint=true end end local function flashRedBox()local A=game.CoreGui if game:
FindFirstChild'Players'then if game.Players['LocalPlayer']then if game.Players.
LocalPlayer:FindFirstChild'PlayerGui'then A=game.Players.LocalPlayer.PlayerGui
end end end if not l['ErrorBox']then return end l.ErrorBox.Parent=A if l.
CurrentParts:IsA'Tool'then l.ErrorBox.Adornee=l.CurrentParts.Handle else l.
ErrorBox.Adornee=l.CurrentParts end delay(0,function()for B=1,3 do if l[
'ErrorBox']then l.ErrorBox.Visible=true end wait(0.13)if l['ErrorBox']then l.
ErrorBox.Visible=false end wait(0.13)end if l['ErrorBox']then l.ErrorBox.Adornee
=nil l.ErrorBox.Parent=Tool end end)end local function DoStamperMouseDown(A)if
not A then error'Error: RbxStamper.DoStamperMouseDown: Mouse is nil'return end
if not A:IsA'Mouse'then error(
'Error: RbxStamper.DoStamperMouseDown: Mouse is of type',A.className,
'should be of type Mouse')return end if not l then return end if
isMegaClusterPart()then if A and q then local B,C=l.CurrentParts:FindFirstChild(
'MegaClusterCube',true),game.Workspace.Terrain if B then q.Dimensions=1 local D=
C:WorldToCell(B.CFrame.p)q.Start=C:CellCenterToWorld(D.X,D.Y,D.Z)return else q.
Dimensions=1 local D=C:WorldToCell(l.CurrentParts.CFrame.p)q.Start=C:
CellCenterToWorld(D.X,D.Y,D.Z)return end end end end local function
loadSurfaceTypes(A,B)A.TopSurface=B[1]A.BottomSurface=B[2]A.LeftSurface=B[3]A.
RightSurface=B[4]A.FrontSurface=B[5]A.BackSurface=B[6]end local function
saveSurfaceTypes(A,B)local C={}C[1]=A.TopSurface C[2]=A.BottomSurface C[3]=A.
LeftSurface C[4]=A.RightSurface C[5]=A.FrontSurface C[6]=A.BackSurface B[A]=C
end local function makeSurfaceUnjoinable(A,B)end local function prepareModel(A)
if not A then return nil end local B,C,D,E,F,G=0.7,1,A:Clone(),{},{},{}l={}l.
DisabledScripts={}l.TransparencyTable={}l.MaterialTable={}l.CanCollideTable={}l.
AnchoredTable={}l.ArchivableTable={}l.DecalTransparencyTable={}l.
SurfaceTypeTable={}collectParts(D,F,E,G)if#F<=0 then return nil,
'no parts found in modelToStamp'end for H,I in pairs(E)do if not I.Disabled then
I.Disabled=true l.DisabledScripts[#l.DisabledScripts+1]=I end end for J,K in
pairs(F)do l.TransparencyTable[K]=K.Transparency K.Transparency=C+(1-C)*K.
Transparency l.MaterialTable[K]=K.Material K.Material=Enum.Material.Plastic l.
CanCollideTable[K]=K.CanCollide K.CanCollide=false l.AnchoredTable[K]=K.Anchored
K.Anchored=true l.ArchivableTable[K]=K.Archivable K.Archivable=false
saveSurfaceTypes(K,l.SurfaceTypeTable)local M,N=0.5,0.5 delay(0,function()wait(M
)local O=tick()local P=O while(P-O)<N and K and K:IsA'BasePart'and K.
Transparency>B do local Q=1-(((P-O)/N)*(C-B))if l['TransparencyTable']and l.
TransparencyTable[K]then K.Transparency=Q+(1-Q)*l.TransparencyTable[K]end wait(
0.03)P=tick()end if K and K:IsA'BasePart'then if l['TransparencyTable']and l.
TransparencyTable[K]then K.Transparency=B+(1-B)*l.TransparencyTable[K]end end
end)end for M,N in pairs(G)do l.DecalTransparencyTable[N]=N.Transparency N.
Transparency=B+(1-B)*N.Transparency end setSeatEnabledStatus(D,true)
setSeatEnabledStatus(D,false)l.CurrentParts=D if autoAlignToFace(D)then l.
CurrentParts:ResetOrientationToIdentity()k=0 else local O=k*math.pi/2 if l.
CurrentParts:IsA'Model'or l.CurrentParts:IsA'Tool'then modelRotate(l.
CurrentParts,O)else l.CurrentParts.CFrame=CFrame.fromEulerAnglesXYZ(0,O,0)*l.
CurrentParts.CFrame end end local O=l.CurrentParts:FindFirstChild(
'ClusterMaterial',true)if O and O:IsA'Vector3Value'then O.Value=Vector3.new(O.
Value.X,O.Value.Y,(O.Value.Z+k)%4)end local P,Q=findConfigAtMouseTarget(d,l)if P
then l.CurrentParts=positionPartsAtCFrame3(Q,l.CurrentParts)end game.
JointsService:SetJoinAfterMoveInstance(l.CurrentParts)return D,F end
local function checkTerrainBlockCollisions(A,B)local C=game.Workspace.Terrain.
CellCenterToWorld local D=C(game.Workspace.Terrain,A.X,A.Y,A.Z)local E,F=game.
Workspace:FindPartsInRegion3(Region3.new(D-Vector3.new(2,2,2)+b,D+Vector3.new(2,
2,2)-b),l.CurrentParts,100),false for G=1,#E do if isBlocker(E[G])then F=true
break end end if not F then local G={}for I=1,#E do if E[I].Parent and not G[E[I
].Parent]and E[I].Parent:FindFirstChild'Humanoid'and E[I].Parent:FindFirstChild
'Humanoid':IsA'Humanoid'then local K=E[I].Parent:FindFirstChild'Torso'G[E[I].
Parent]=true if K then local M=D.Y+5 if spaceAboveCharacter(K,M,l)then K.CFrame=
K.CFrame+Vector3.new(0,M-K.CFrame.p.Y,0)else F=true break end end end end end if
not F then local G=true if B then if i then local I=C(game.Workspace.Terrain,A.X
,A.Y,A.Z)if I.X+2>i.CFrame.p.X+i.Size.X/2 then G=false elseif I.X-2<i.CFrame.p.X
-i.Size.X/2 then G=false elseif I.Y+2>i.CFrame.p.Y+i.Size.Y/2 then G=false
elseif I.Y-2<i.CFrame.p.Y-i.Size.Y/2 then G=false elseif I.Z+2>i.CFrame.p.Z+i.
Size.Z/2 then G=false elseif I.Z-2<i.CFrame.p.Z-i.Size.Z/2 then G=false end end
end return G end return false end local function ResolveMegaClusterStamp(A)local
B,C,D,E,F,G,I,K,M=false,game.Workspace.Terrain,q.InternalLine,game.Workspace.
Terrain.MaxExtents.Max,game.Workspace.Terrain.MaxExtents.Min,1,0,0,false if l.
CurrentParts:FindFirstChild'AutoWedge'then M=true end if l.CurrentParts:
FindFirstChild('ClusterMaterial',true)then G=l.CurrentParts:FindFirstChild(
'ClusterMaterial',true)if G:IsA'Vector3Value'then I=G.Value.Y K=G.Value.Z G=G.
Value.X elseif G:IsA'IntValue'then G=G.Value end end if q.Adorn.Parent and q.
Start and((q.Dimensions>1)or(D and D.magnitude>0))then local N,O,P,Q,R,S,T,U,V=
game.Workspace.Terrain:WorldToCell(q.Start),{0,0,0},{0,0,0},{0,0,0},game.
Workspace.Terrain,{nil,nil,nil},{Vector3.new(0,0,0),Vector3.new(0,0,0),Vector3.
new(0,0,0)},{Vector3.new(1,0,0),Vector3.new(0,1,0),Vector3.new(0,0,1)},{}if q.
Dimensions>1 then table.insert(V,q.MoreLines[1])end if D and D.magnitude>0 then
table.insert(V,D)end if q.Dimensions>2 then table.insert(V,q.MoreLines[2])end
for W=1,#V do V[W]=Vector3.new(math.floor(V[W].X+0.5),math.floor(V[W].Y+0.5),
math.floor(V[W].Z+0.5))if V[W].X>0 then O[W]=1 elseif V[W].X<0 then O[W]=-1 end
if V[W].Y>0 then P[W]=1 elseif V[W].Y<0 then P[W]=-1 end if V[W].Z>0 then Q[W]=1
elseif V[W].Z<0 then Q[W]=-1 end S[W]=Vector3.new(O[W],P[W],Q[W])if S[W].
magnitude<0.9 then S[W]=nil end end if not V[2]then V[2]=Vector3.new(0,0,0)end
if not V[3]then V[3]=Vector3.new(0,0,0)end local W,X=l.CurrentParts:
FindFirstChild('WaterForceTag',true),l.CurrentParts:FindFirstChild(
'WaterForceDirectionTag',true)while T[3].magnitude*4<=V[3].magnitude do local Y=
1 while Y<4 do T[2]=Vector3.new(0,0,0)while T[2].magnitude*4<=V[2].magnitude do
local Z=1 while Z<4 do T[1]=Vector3.new(0,0,0)while T[1].magnitude*4<=V[1].
magnitude do local _=T[1]+T[2]+T[3]local aa=Vector3int16.new(N.X+_.X,N.Y+_.Y,N.Z
+_.Z)if aa.X>=F.X and aa.Y>=F.Y and aa.Z>=F.Z and aa.X<E.X and aa.Y<E.Y and aa.Z
<E.Z then local ab=checkTerrainBlockCollisions(aa,A)if ab then if W then R:
SetWaterCell(aa.X,aa.Y,aa.Z,Enum.WaterForce[W.Value],Enum.WaterDirection[X.Value
])else R:SetCell(aa.X,aa.Y,aa.Z,G,I,K)end B=true if M then game.Workspace.
Terrain:AutowedgeCells(Region3int16.new(Vector3int16.new(aa.x-1,aa.y-1,aa.z-1),
Vector3int16.new(aa.x+1,aa.y+1,aa.z+1)))end end end T[1]=T[1]+S[1]end if S[2]
then while Z<4 and U[Z]:Dot(S[2])==0 do Z=Z+1 end if Z<4 then T[2]=T[2]+U[Z]*U[Z
]:Dot(S[2])end Z=Z+1 else T[2]=Vector3.new(1,0,0)Z=4 end if T[2].magnitude*4>V[2
].magnitude then Z=4 end end end if S[3]then while Y<4 and U[Y]:Dot(S[3])==0 do
Y=Y+1 end if Y<4 then T[3]=T[3]+U[Y]*U[Y]:Dot(S[3])end Y=Y+1 else T[3]=Vector3.
new(1,0,0)Y=4 end if T[3].magnitude*4>V[3].magnitude then Y=4 end end end end q.
Start=nil q.Adorn.Parent=nil if B then l.CurrentParts.Parent=nil pcall(function(
)game:GetService'ChangeHistoryService':SetWaypoint'StamperMulti'end)end return B
end local function DoStamperMouseUp(aa)if not aa then error
'Error: RbxStamper.DoStamperMouseUp: Mouse is nil'return false end if not aa:IsA
'Mouse'then error('Error: RbxStamper.DoStamperMouseUp: Mouse is of type',aa.
className,'should be of type Mouse')return false end if not l.Dragger then error
[[Error: RbxStamper.DoStamperMouseUp: stampData.Dragger is nil]]return false end
if not q then return false end local ab=nil if h then local A,B=nil,
isMegaClusterPart()if B and q and q.Start and q.InternalLine and q.InternalLine.
magnitude>0 then A=true ab=true else A,ab=a.CanEditRegion(l.CurrentParts,i)end
if not A then if j then j()end return false end end if u then flashRedBox()
return false end canStamp,ab=a.CanEditRegion(l.CurrentParts,i)if not canStamp
then if j then j()end return false end local A,B=
getBoundingBoxInWorldCoordinates(l.CurrentParts)configFound,targetCFrame=
findConfigAtMouseTarget(aa,l)if configFound and not q.Adorn.Parent then if
clusterPartsInRegion(A+b,B-b)then flashRedBox()return false end local C=game.
Workspace:FindPartsInRegion3(Region3.new(A+b,B-b),l.CurrentParts,100)for D=1,#C
do if isBlocker(C[D])then flashRedBox()return false end end local D={}for E=1,#C
do if C[E].Parent and not D[C[E].Parent]and C[E].Parent:FindFirstChild'Humanoid'
and C[E].Parent:FindFirstChild'Humanoid':IsA'Humanoid'then local F=C[E].Parent:
FindFirstChild'Torso'D[C[E].Parent]=true if F then local G=B.Y+3 if
spaceAboveCharacter(F,G,l)then F.CFrame=F.CFrame+Vector3.new(0,G-F.CFrame.p.Y,0)
else flashRedBox()return false end end end end elseif(not configFound)and not(q.
Start and q.Adorn.Parent)then resetHighScalabilityLine()return false end if game
:FindFirstChild'Players'then if game.Players['LocalPlayer']then if game.Players.
LocalPlayer['Character']then local C=game.Players.LocalPlayer.Character local D=
C:FindFirstChild'StampTracker'if D and not D.Value then D.Value=true end end end
end if q.Start and q.Adorn.Parent and isMegaClusterPart()then if
ResolveMegaClusterStamp(ab)or ab then l.CurrentParts.Parent=nil return true end
end q.Start=nil q.Adorn.Parent=nil local C=game.Workspace.Terrain if
isMegaClusterPart()then local D if l.CurrentParts:IsA'Model'then D=C:
WorldToCell(l.CurrentParts:GetModelCFrame().p)else D=C:WorldToCell(l.
CurrentParts.CFrame.p)end local E,F=game.Workspace.Terrain.MaxExtents.Max,game.
Workspace.Terrain.MaxExtents.Min if checkTerrainBlockCollisions(D,false)then
local G,I,K=l.CurrentParts:FindFirstChild('ClusterMaterial',true),l.CurrentParts
:FindFirstChild('WaterForceTag',true),l.CurrentParts:FindFirstChild(
'WaterForceDirectionTag',true)if D.X>=F.X and D.Y>=F.Y and D.Z>=F.Z and D.X<E.X
and D.Y<E.Y and D.Z<E.Z then if I then C:SetWaterCell(D.X,D.Y,D.Z,Enum.
WaterForce[I.Value],Enum.WaterDirection[K.Value])elseif not G then C:SetCell(D.X
,D.Y,D.Z,z.Material,z.clusterType,k%4)elseif G:IsA'Vector3Value'then C:SetCell(D
.X,D.Y,D.Z,G.Value.X,G.Value.Y,G.Value.Z)else C:SetCell(D.X,D.Y,D.Z,G.Value,0,0)
end local M=false if l.CurrentParts:FindFirstChild'AutoWedge'then M=true end if
M then game.Workspace.Terrain:AutowedgeCells(Region3int16.new(Vector3int16.new(D
.x-1,D.y-1,D.z-1),Vector3int16.new(D.x+1,D.y+1,D.z+1)))end l.CurrentParts.Parent
=nil pcall(function()game:GetService'ChangeHistoryService':SetWaypoint
'StamperSingle'end)return true end else flashRedBox()return false end end
local function getPlayer()if game:FindFirstChild'Players'then if game.Players[
'LocalPlayer']then return game.Players.LocalPlayer end end return nil end if l.
CurrentParts:IsA'Model'or l.CurrentParts:IsA'Tool'then if l.CurrentParts:IsA
'Model'then local D,E={},{}saveTheWelds(l.CurrentParts,D,E)l.CurrentParts:
BreakJoints()l.CurrentParts:MakeJoints()restoreTheWelds(D,E)end playerIdTag=l.
CurrentParts:FindFirstChild'PlayerIdTag'playerNameTag=l.CurrentParts:
FindFirstChild'PlayerNameTag'if playerIdTag~=nil then tempPlayerValue=getPlayer(
)if tempPlayerValue~=nil then playerIdTag.Value=tempPlayerValue.userId end end
if playerNameTag~=nil then if game:FindFirstChild'Players'and game.Players[
'LocalPlayer']then tempPlayerValue=game.Players.LocalPlayer if tempPlayerValue~=
nil then playerNameTag.Value=tempPlayerValue.Name end end end if l.CurrentParts:
FindFirstChild'RobloxModel'==nil then local D=Instance.new'BoolValue'D.Name=
'RobloxModel'D.Parent=l.CurrentParts if l.CurrentParts:FindFirstChild
'RobloxStamper'==nil then local E=Instance.new'BoolValue'E.Name='RobloxStamper'E
.Parent=l.CurrentParts end end else l.CurrentParts:BreakJoints()if l.
CurrentParts:FindFirstChild'RobloxStamper'==nil then local D=Instance.new
'BoolValue'D.Name='RobloxStamper'D.Parent=l.CurrentParts end end if not
createJoints then game.JointsService:CreateJoinAfterMoveJoints()end for D,E in
pairs(l.TransparencyTable)do D.Transparency=E end for F,G in pairs(l.
ArchivableTable)do F.Archivable=G end for I,K in pairs(l.MaterialTable)do I.
Material=K end for M,N in pairs(l.CanCollideTable)do M.CanCollide=N end for O,P
in pairs(l.AnchoredTable)do O.Anchored=P end for Q,R in pairs(l.
DecalTransparencyTable)do Q.Transparency=R end for S,T in pairs(l.
SurfaceTypeTable)do loadSurfaceTypes(S,T)end if isMegaClusterPart()then l.
CurrentParts.Transparency=0 end setSeatEnabledStatus(l.CurrentParts,true)l.
TransparencyTable=nil l.ArchivableTable=nil l.MaterialTable=nil l.
CanCollideTable=nil l.AnchoredTable=nil l.SurfaceTypeTable=nil if l.CurrentParts
:FindFirstChild'RobloxModel'==nil then local U=Instance.new'BoolValue'U.Name=
'RobloxModel'U.Parent=l.CurrentParts end if ghostRemovalScript then
ghostRemovalScript.Parent=nil end for U,V in pairs(l.DisabledScripts)do V.
Disabled=false end for W,X in pairs(l.DisabledScripts)do local Y=X.Parent X.
Parent=nil X:Clone().Parent=Y end l.DisabledScripts=nil l.Dragger=nil l.
CurrentParts=nil pcall(function()game:GetService'ChangeHistoryService':
SetWaypoint'StampedObject'end)return true end local function pauseStamper()for
aa=1,#v do v[aa]:disconnect()v[aa]=nil end v={}if l and l.CurrentParts then l.
CurrentParts.Parent=nil l.CurrentParts:Remove()end resetHighScalabilityLine()
game.JointsService:ClearJoinAfterMoveJoints()end local function
prepareUnjoinableSurfaces(aa,ab,A)local B,C={Vector3.new(1,0,0),Vector3.new(0,1,
0),Vector3.new(0,0,1)},1 if A<0 then C=C*-1 A=A*-1 end local G=C*aa:
vectorToWorldSpace(B[A])for K=1,#ab do local N=ab[K]local P=N.CFrame:
vectorToObjectSpace(G)if math.abs(P.X)>math.abs(P.Y)then if math.abs(P.X)>math.
abs(P.Z)then if P.X>0 then N.RightSurface='Unjoinable'else N.LeftSurface=
'Unjoinable'end else if P.Z>0 then N.BackSurface='Unjoinable'else N.FrontSurface
='Unjoinable'end end else if math.abs(P.Y)>math.abs(P.Z)then if P.Y>0 then N.
TopSurface='Unjoinable'else N.BottomSurface='Unjoinable'end else if P.Z>0 then N
.BackSurface='Unjoinable'else N.FrontSurface='Unjoinable'end end end end end
local function resumeStamper()clone,parts=prepareModel(c)if not clone or not
parts then return end local aa=clone:FindFirstChild('UnjoinableFaces',true)if aa
then for ab in string.gmatch(aa.Value,'[^,]*')do if tonumber(ab)then if clone:
IsA'Model'then prepareUnjoinableSurfaces(clone:GetModelCFrame(),parts,tonumber(
ab))else prepareUnjoinableSurfaces(clone.CFrame,parts,tonumber(ab))end end end
end l.ErrorBox=n if h then clone.Parent=h else clone.Parent=game.Workspace end
if clone:FindFirstChild('ClusterMaterial',true)then clusterMaterial=clone:
FindFirstChild('ClusterMaterial',true)if clusterMaterial:IsA'Vector3Value'then z
.Material=clusterMaterial.Value.X z.clusterType=clusterMaterial.Value.Y z.
clusterOrientation=clusterMaterial.Value.Z elseif clusterMaterial:IsA'IntValue'
then z.Material=clusterMaterial.Value end end pcall(function()m=d.Target end)if
m and m.Parent:FindFirstChild'RobloxModel'==nil then game.JointsService:
SetJoinAfterMoveTarget(m)else game.JointsService:SetJoinAfterMoveTarget(nil)end
game.JointsService:ShowPermissibleJoints()for ab,A in pairs(l.DisabledScripts)do
if A.Name=='GhostRemovalScript'then A.Parent=l.CurrentParts end end l.Dragger=
Instance.new'Dragger'l.Dragger:MouseDown(parts[1],Vector3.new(0,0,0),parts)l.
Dragger:MouseUp()DoStamperMouseMove(d)table.insert(v,d.Move:connect(function()if
s or t then return end s=true DoStamperMouseMove(d)s=false end))table.insert(v,d
.Button1Down:connect(function()DoStamperMouseDown(d)end))table.insert(v,d.
Button1Up:connect(function()t=true while s do wait()end x.Value=
DoStamperMouseUp(d)resetHighScalabilityLine()t=false end))x.Value=false end
local function resetStamperState(aa)if aa then if not aa:IsA'Model'and not aa:
IsA'BasePart'then error
[[resetStamperState: newModelToStamp (first arg) is not nil, but not a model or part!]]
end c=aa end pauseStamper()resumeStamper()end resetStamperState()r.Stamped=x r.
Paused=false r.LoadNewModel=function(aa)if aa and not aa:IsA'Model'and not aa:
IsA'BasePart'then error
[[Control.LoadNewModel: newStampModel (first arg) is not a Model or Part!]]
return nil end resetStamperState(aa)end r.ReloadModel=function()
resetStamperState()end r.Pause=function()if not r.Paused then pauseStamper()r.
Paused=true else print
[[RbxStamper Warning: Tried to call Control.Pause() when already paused]]end end
r.Resume=function()if r.Paused then resumeStamper()r.Paused=false else print
[[RbxStamper Warning: Tried to call Control.Resume() without Pausing First]]end
end r.ResetRotation=function()end r.Destroy=function()for aa=1,#v do v[aa]:
disconnect()v[aa]=nil end if w then w:disconnect()end game.JointsService:
ClearJoinAfterMoveJoints()if p then p:Destroy()end if o then o:Destroy()end if n
then n:Destroy()end if l then if l['Dragger']then l.Dragger:Destroy()end if l.
CurrentParts then l.CurrentParts:Destroy()end end if r and r['Stamped']then r.
Stamped:Destroy()end r=nil end return r end a.Help=function(aa)if aa==
'GetStampModel'or aa==a.GetStampModel then return
[[Function GetStampModel. Arguments: assetId, useAssetVersionId. assetId is the asset to load in, define useAssetVersionId as true if assetId is a version id instead of a relative assetId. Side effect: returns a model of the assetId, or a string with error message if something fails]]
end if aa=='SetupStamperDragger'or aa==a.SetupStamperDragger then return
[[Function SetupStamperDragger. Side Effect: Creates 4x4 stamping mechanism for building out parts quickly. Arguments: ModelToStamp, Mouse, LegalStampCheckFunction. ModelToStamp should be a Model or Part, preferrably loaded from RbxStamper.GetStampModel and should have extents that are multiples of 4. Mouse should be a mouse object (obtained from things such as Tool.OnEquipped), used to drag parts around 'stamp' them out. LegalStampCheckFunction is optional, used as a callback with a table argument (table is full of instances about to be stamped). Function should return either true or false, false stopping the stamp action.]]
end end return a

193
processed/89449008.lua Normal file
View File

@ -0,0 +1,193 @@
local function waitForChild(a,b)assert(a)assert(b)while not a:FindFirstChild(b)
do print('Waiting for ...',a,b)a.ChildAdded:wait()end return a:FindFirstChild(b)
end local function waitForProperty(a,b)assert(a)assert(b)while not a[b]do a.
Changed:wait()end end local function IsTouchDevice()local a=false pcall(function
()a=Game:GetService'UserInputService'.TouchEnabled end)return a end
waitForChild(game,'Players')waitForProperty(game.Players,'LocalPlayer')local a,b
,c=game.Players.LocalPlayer,LoadLibrary'RbxGui'if not b then print
'could not find RbxGui!'return end local d,e,f,g,h,i,j,k,l,m,n,o='gear',script.
Parent,{},{},false,false,{},{},nil,nil,nil,waitForChild(a,'Backpack')
waitForChild(e,'Tabs')waitForChild(e,'Gear')local p,q,r,s=waitForChild(e.Gear,
'GearPreview'),waitForChild(e.Gear,'GearGridScrollingArea'),waitForChild(e.
Parent,'CurrentLoadout'),waitForChild(e.Gear,'GearGrid')local t,u,v=
waitForChild(s,'GearButton'),waitForChild(script.Parent,'SwapSlot'),
waitForChild(script.Parent,'CoreScripts/BackpackScripts/BackpackManager')local w
,x,y,z,A,B,C,D,E,F=waitForChild(v,'BackpackOpenEvent'),waitForChild(v,
'BackpackCloseEvent'),waitForChild(v,'TabClickedEvent'),waitForChild(v,
'ResizeEvent'),waitForChild(v,'SearchRequestedEvent'),waitForChild(v,
'BackpackReady'),b.CreateScrollingFrame(nil,'grid',Vector2.new(6,6))C.Position=
UDim2.new(0,0,0,30)C.Size=UDim2.new(1,0,1,-30)C.Parent=e.Gear.GearGrid local G=
Instance.new'Frame'G.Name='ScrollBar'G.BackgroundTransparency=0.9 G.
BackgroundColor3=Color3.new(1,1,1)G.BorderSizePixel=0 G.Size=UDim2.new(0,17,1,-
36)G.Position=UDim2.new(0,0,0,18)G.Parent=q E.Position=UDim2.new(0,0,1,-17)D.
Parent=q E.Parent=q local H,I,J,K=b.CreateScrollingFrame()H.Position=UDim2.new(0
,0,0,0)H.Size=UDim2.new(1,0,1,0)H.Parent=e.Gear.GearLoadouts.LoadoutsList local
L=Instance.new'TextButton'L.RobloxLocked=true L.Name='LoadoutButton'L.Font=Enum.
Font.ArialBold L.FontSize=Enum.FontSize.Size14 L.Position=UDim2.new(0,0,0,0)L.
Size=UDim2.new(1,0,0,32)L.Style=Enum.ButtonStyle.RobloxButton L.Text=
'Loadout #1'L.TextColor3=Color3.new(1,1,1)L.Parent=H local M=L:clone()M.Text=
'Loadout #2'M.Parent=H local N=L:clone()N.Text='Loadout #3'N.Parent=H local O=L:
clone()O.Text='Loadout #4'O.Parent=H local P=Instance.new'Frame'P.Name=
'ScrollBarLoadout'P.BackgroundTransparency=0.9 P.BackgroundColor3=Color3.new(1,1
,1)P.BorderSizePixel=0 P.Size=UDim2.new(0,17,1,-36)P.Position=UDim2.new(0,0,0,18
)P.Parent=e.Gear.GearLoadouts.GearLoadoutsScrollingArea J.Position=UDim2.new(0,0
,1,-17)I.Parent=e.Gear.GearLoadouts.GearLoadoutsScrollingArea J.Parent=e.Gear.
GearLoadouts.GearLoadoutsScrollingArea function removeFromMap(Q,R)for S=1,#Q do
if Q[S]==R then table.remove(Q,S)break end end end function robloxLock(Q)Q.
RobloxLocked=true children=Q:GetChildren()if children then for R,S in ipairs(
children)do robloxLock(S)end end end function resize()local Q=0 if p.
AbsoluteSize.Y>p.AbsoluteSize.X then Q=p.AbsoluteSize.X*0.75 else Q=p.
AbsoluteSize.Y*0.75 end waitForChild(p,'GearImage')p.GearImage.Size=UDim2.new(0,
Q,0,Q)p.GearImage.Position=UDim2.new(0,p.AbsoluteSize.X/2-Q/2,0.75,-Q)
resizeGrid()end function addToGrid(Q)if not Q:IsA'Tool'then if not Q:IsA
'HopperBin'then return end end if Q:FindFirstChild'RobloxBuildTool'then return
end for R,S in pairs(f)do if S==Q then return end end table.insert(f,Q)local T,U
=Q.Changed:connect(function(T)if T=='Name'then if g[Q]then if g[Q].Image==''then
g[Q].GearText.Text=Q.Name end end end end),nil U=Q.AncestryChanged:connect(
function(V,W)local X=nil for Y,Z in pairs(f)do if Z==Q then X=Z break end end
waitForProperty(a,'Character')waitForChild(a,'Backpack')if Q.Parent~=a.Backpack
and Q.Parent~=a.Character then if U then U:disconnect()end if T then T:
disconnect()end for _,aa in pairs(f)do if aa==X then if j[g[aa]]then j[g[aa]]:
disconnect()end if k[g[aa]]then k[g[aa]]:disconnect()end g[aa].Parent=nil g[aa]=
nil break end end removeFromMap(f,X)resizeGrid()else resizeGrid()end
updateGridActive()end)resizeGrid()end function buttonClick(aa)if aa:
FindFirstChild'UnequipContextMenu'and not aa.Active then aa.UnequipContextMenu.
Visible=true i=true end end function previewGear(aa)if not i then p.Visible=
false p.GearImage.Image=aa.Image p.GearStats.GearName.Text=aa.GearReference.
Value.Name end end function findEmptySlot()local aa,Q=nil,r:GetChildren()for R=1
,#Q do if Q[R]:IsA'Frame'and#Q[R]:GetChildren()<=0 then local S=tonumber(string.
sub(Q[R].Name,5))if S==0 then S=10 end if not aa or(aa>S)then aa=S end end end
if aa==10 then aa=0 end return aa end function checkForSwap(aa,Q,R)local S=r:
GetChildren()for T=1,#S do if S[T]:IsA'Frame'and string.find(S[T].Name,'Slot')
then if Q>=S[T].AbsolutePosition.x and Q<=(S[T].AbsolutePosition.x+S[T].
AbsoluteSize.x)then if R>=S[T].AbsolutePosition.y and R<=(S[T].AbsolutePosition.
y+S[T].AbsoluteSize.y)then local U=tonumber(string.sub(S[T].Name,5))
swapGearSlot(U,aa)return true end end end end return false end function
resizeGrid()for aa,Q in pairs(f)do if not Q:FindFirstChild'RobloxBuildTool'then
if not g[Q]then local R=t:clone()R.Parent=s.ScrollingFrame R.Visible=true R.
Image=Q.TextureId if R.Image==''then R.GearText.Text=Q.Name end R.GearReference.
Value=Q R.Draggable=true g[Q]=R if not IsTouchDevice()then local S=
getGearContextMenu()S.Visible=false S.Parent=R end local S=nil R.DragBegin:
connect(function(T)waitForChild(R,'Background')R['Background'].ZIndex=10 R.
ZIndex=10 S=T end)R.DragStopped:connect(function(T,U)waitForChild(R,'Background'
)R['Background'].ZIndex=1 R.ZIndex=2 if S~=R.Position then if not checkForSwap(R
,T,U)then R:TweenPosition(S,Enum.EasingDirection.Out,Enum.EasingStyle.Quad,0.5,
true)R.Draggable=false delay(0.5,function()R.Draggable=true end)else R.Position=
S end end end)local T=tick()j[R]=R.MouseEnter:connect(function()previewGear(R)
end)k[R]=R.MouseButton1Click:connect(function()local U=tick()if R.Active and(U-T
)<0.5 then local V=findEmptySlot()if V then R.ZIndex=1 swapGearSlot(V,R)end else
buttonClick(R)end T=U end)end end end F()end function showPartialGrid(aa)for Q,R
in pairs(g)do R.Parent=nil end if aa then for S,T in pairs(aa)do T.Parent=s.
ScrollingFrame end end F()end function showEntireGrid()for aa,Q in pairs(g)do Q.
Parent=s.ScrollingFrame end F()end function inLoadout(aa)local Q=r:GetChildren()
for R=1,#Q do if Q[R]:IsA'Frame'then local S=Q[R]:GetChildren()if#S>0 then if S[
1].GearReference.Value and S[1].GearReference.Value==aa then return true end end
end end return false end function updateGridActive()for aa,Q in pairs(f)do if g[
Q]then local R,S=nil,g[Q]:FindFirstChild'GearReference'if S then R=S.Value end
if(not R)or inLoadout(R)then g[Q].Active=false else g[Q].Active=true end end end
end function centerGear(aa)local Q,R={},nil for S=1,#aa do if aa[S]:IsA'Frame'
and#aa[S]:GetChildren()>0 then if aa[S].Name=='Slot0'then R=aa[S]else table.
insert(Q,aa[S])end end end if R then table.insert(Q,R)end local S=(1-(#Q*0.1))/2
for T=1,#Q do Q[T]:TweenPosition(UDim2.new(S+((T-1)*0.1),0,0,0),Enum.
EasingDirection.Out,Enum.EasingStyle.Quad,0.25,true)end end function
tabClickHandler(aa)if aa==d then backpackOpenHandler(aa)else
backpackCloseHandler(aa)end end function backpackOpenHandler(aa)if aa and aa~=d
then e.Gear.Visible=false return end e.Gear.Visible=true updateGridActive()
resizeGrid()resize()B:Invoke()end function backpackCloseHandler(aa)if aa and aa
~=d then e.Gear.Visible=false return end e.Gear.Visible=false resizeGrid()
resize()B:Invoke()end function loadoutCheck(aa,Q)if not aa:IsA'ImageButton'then
return end for R,S in pairs(f)do if g[S]then if aa:FindFirstChild'GearReference'
and g[S]:FindFirstChild'GearReference'then if g[S].GearReference.Value==aa.
GearReference.Value then g[S].Active=Q break end end end end end function
clearPreview()p.GearImage.Image=''p.GearStats.GearName.Text=''end function
removeAllEquippedGear(aa)local Q=a.Character:GetChildren()for R=1,#Q do if(Q[R]:
IsA'Tool'or Q[R]:IsA'HopperBin')and Q[R]~=aa then Q[R].Parent=o end end end
function equipGear(aa)removeAllEquippedGear(aa)aa.Parent=a.Character
updateGridActive()end function unequipGear(aa)aa.Parent=o updateGridActive()end
function highlight(aa)aa.TextColor3=Color3.new(0,0,0)aa.BackgroundColor3=Color3.
new(0.8,0.8,0.8)end function clearHighlight(aa)aa.TextColor3=Color3.new(1,1,1)aa
.BackgroundColor3=Color3.new(0,0,0)end function swapGearSlot(aa,Q)if not u.Value
then u.Slot.Value=aa u.GearButton.Value=Q u.Value=true updateGridActive()end end
local aa=function(aa,Q)if type(aa.Action)~='number'then return end local R=aa.
Action if R==1 then unequipGear(Q.Parent.GearReference.Value)local S=Q.Parent
local T,U,V=S.GearReference.Value,r:GetChildren(),-1 for W=1,#U do if U[W]:IsA
'Frame'then local X=U[W]:GetChildren()if X[1]and X[1].GearReference.Value==T
then V=X[1].SlotNumber.Text break end end end swapGearSlot(V,nil)end end
function setupCharacterConnections()if n then n:disconnect()end n=game.Players.
LocalPlayer.Backpack.ChildAdded:connect(function(Q)addToGrid(Q)end)local Q=game.
Players.LocalPlayer.Backpack:GetChildren()for R=1,#Q do addToGrid(Q[R])end if l
then l:disconnect()end l=game.Players.LocalPlayer.Character.ChildAdded:connect(
function(R)addToGrid(R)updateGridActive()end)if m then m:disconnect()end m=game.
Players.LocalPlayer.Character.ChildRemoved:connect(function(R)updateGridActive()
end)wait()centerGear(r:GetChildren())end function removeCharacterConnections()if
l then l:disconnect()end if m then m:disconnect()end if n then n:disconnect()end
end function trim(Q)return(Q:gsub('^%s*(.-)%s*$','%1'))end function filterGear(Q
)local R={}for S,T in pairs(f)do if g[T]then local U=string.lower(g[T].
GearReference.Value.Name)U=trim(U)for V=1,#Q do if string.match(U,Q[V])then
table.insert(R,g[T])break end end end end return R end function
splitByWhitespace(Q)if type(Q)~='string'then return nil end local R={}for S in
string.gmatch(Q,'[^%s]+')do if string.len(S)>0 then table.insert(R,S)end end
return R end function showSearchGear(Q)if not e.Gear.Visible then return end
local R=splitByWhitespace(Q)if R and(#R>0)then currSearchTerms=R else
currSearchTerms=nil end if R==nil then showEntireGrid()return end local S=
filterGear(currSearchTerms)showPartialGrid(S)end function nukeBackpack()while#g>
0 do table.remove(g)end g={}while#f>0 do table.remove(f)end f={}local Q=s.
ScrollingFrame:GetChildren()for R=1,#Q do Q[R]:remove()end end function
getGearContextMenu()local Q=Instance.new'Frame'Q.Active=true Q.Name=
'UnequipContextMenu'Q.Size=UDim2.new(0,115,0,70)Q.Position=UDim2.new(0,-16,0,-16
)Q.BackgroundTransparency=1 Q.Visible=false local R=Instance.new'TextButton'R.
Name='UnequipContextMenuButton'R.Text=''R.Style=Enum.ButtonStyle.
RobloxButtonDefault R.ZIndex=8 R.Size=UDim2.new(1,0,1,-20)R.Visible=true R.
Parent=Q local S,T,U=12,{},{'Remove Hotkey'}for V=1,#U do local W={}W.Type=
'Button'W.Text=U[V]W.Action=V W.DoIt=aa table.insert(T,W)end for V,W in ipairs(T
)do local X=W if X.Type=='Button'then local Y=Instance.new'TextButton'Y.Name=
'UnequipContextButton'..V Y.BackgroundColor3=Color3.new(0,0,0)Y.BorderSizePixel=
0 Y.TextXAlignment=Enum.TextXAlignment.Left Y.Text=' '..W.Text Y.Font=Enum.Font.
Arial Y.FontSize=Enum.FontSize.Size14 Y.Size=UDim2.new(1,8,0,S)Y.Position=UDim2.
new(0,0,0,S*V)Y.TextColor3=Color3.new(1,1,1)Y.ZIndex=9 Y.Parent=R if not
IsTouchDevice()then Y.MouseButton1Click:connect(function()if Y.Active and not Q.
Parent.Active then pcall(function()X.DoIt(X,Q)end)i=false Q.Visible=false
clearHighlight(Y)clearPreview()end end)Y.MouseEnter:connect(function()if Y.
Active and Q.Parent.Active then highlight(Y)end end)Y.MouseLeave:connect(
function()if Y.Active and Q.Parent.Active then clearHighlight(Y)end end)end W.
Button=Y W.Element=Y elseif X.Type=='Label'then local Y=Instance.new'Frame'Y.
Name='ContextLabel'..V Y.BackgroundTransparency=1 Y.Size=UDim2.new(1,8,0,S)local
Z=Instance.new'TextLabel'Z.Name='Text1'Z.BackgroundTransparency=1 Z.
BackgroundColor3=Color3.new(1,1,1)Z.BorderSizePixel=0 Z.TextXAlignment=Enum.
TextXAlignment.Left Z.Font=Enum.Font.ArialBold Z.FontSize=Enum.FontSize.Size14 Z
.Position=UDim2.new(0,0,0,0)Z.Size=UDim2.new(0.5,0,1,0)Z.TextColor3=Color3.new(1
,1,1)Z.ZIndex=9 Z.Parent=Y X.Label1=Z if X.GetText2 then Z=Instance.new
'TextLabel'Z.Name='Text2'Z.BackgroundTransparency=1 Z.BackgroundColor3=Color3.
new(1,1,1)Z.BorderSizePixel=0 Z.TextXAlignment=Enum.TextXAlignment.Right Z.Font=
Enum.Font.Arial Z.FontSize=Enum.FontSize.Size14 Z.Position=UDim2.new(0.5,0,0,0)Z
.Size=UDim2.new(0.5,0,1,0)Z.TextColor3=Color3.new(1,1,1)Z.ZIndex=9 Z.Parent=Y X.
Label2=Z end Y.Parent=R X.Label=Y X.Element=Y end end Q.ZIndex=4 Q.MouseLeave:
connect(function()i=false Q.Visible=false clearPreview()end)robloxLock(Q)return
Q end function coreGuiChanged(Q,R)if Q==Enum.CoreGuiType.Backpack or Q==Enum.
CoreGuiType.All then if not R then e.Gear.Visible=false end end end local Q=a.
Backpack:GetChildren()for R=1,#Q do addToGrid(Q[R])end z.Event:connect(function(
R)if h then return end h=true wait()resize()resizeGrid()h=false end)r.ChildAdded
:connect(function(R)loadoutCheck(R,false)end)r.ChildRemoved:connect(function(R)
loadoutCheck(R,true)end)r.DescendantAdded:connect(function(R)if not e.Visible
and(R:IsA'ImageButton'or R:IsA'TextButton')then centerGear(r:GetChildren())end
end)r.DescendantRemoving:connect(function(R)if not e.Visible and(R:IsA
'ImageButton'or R:IsA'TextButton')then wait()centerGear(r:GetChildren())end end)
s.MouseEnter:connect(function()clearPreview()end)s.MouseLeave:connect(function()
clearPreview()end)a.CharacterRemoving:connect(function()
removeCharacterConnections()nukeBackpack()end)a.CharacterAdded:connect(function(
)setupCharacterConnections()end)a.ChildAdded:connect(function(R)if R:IsA
'Backpack'then o=R if n then n:disconnect()end n=game.Players.LocalPlayer.
Backpack.ChildAdded:connect(function(S)addToGrid(S)end)end end)u.Changed:
connect(function()if not u.Value then updateGridActive()end end)local R=r:
GetChildren()for S=1,#R do if R[S]:IsA'Frame'and string.find(R[S].Name,'Slot')
then R[S].ChildRemoved:connect(function()updateGridActive()end)R[S].ChildAdded:
connect(function()updateGridActive()end)end end pcall(function()coreGuiChanged(
Enum.CoreGuiType.Backpack,Game.StarterGui:GetCoreGuiEnabled(Enum.CoreGuiType.
Backpack))Game.StarterGui.CoreGuiChangedSignal:connect(coreGuiChanged)end)
resize()resizeGrid()local S=r:GetChildren()for T=1,#S do loadoutCheck(S[T],false
)end if not e.Visible then centerGear(r:GetChildren())end if l==nil and game.
Players.LocalPlayer['Character']then setupCharacterConnections()end if not n
then n=game.Players.LocalPlayer.Backpack.ChildAdded:connect(function(T)
addToGrid(T)end)end w.Event:connect(backpackOpenHandler)x.Event:connect(
backpackCloseHandler)y.Event:connect(tabClickHandler)A.Event:connect(
showSearchGear)K()

102
processed/89449093.lua Normal file
View File

@ -0,0 +1,102 @@
if game.CoreGui.Version<7 then return end local function waitForChild(a,b)while
not a:FindFirstChild(b)do a.ChildAdded:wait()end return a:FindFirstChild(b)end
local function waitForProperty(a,b)while not a[b]do a.Changed:wait()end end
waitForChild(game,'Players')if#game.Players:GetChildren()<1 then game.Players.
ChildAdded:wait()end waitForProperty(game.Players,'LocalPlayer')local a,b=game.
Players.LocalPlayer,script.Parent waitForChild(b,'Gear')local c=script.Parent.
Parent assert(c:IsA'ScreenGui')waitForChild(b,'Tabs')waitForChild(b.Tabs,
'CloseButton')local d=b.Tabs.CloseButton waitForChild(b.Tabs,'InventoryButton')
local e=b.Tabs.InventoryButton if game.CoreGui.Version>=8 then waitForChild(b.
Tabs,'WardrobeButton')local f=b.Tabs.WardrobeButton end waitForChild(b.Parent,
'ControlFrame')local f,g,h=waitForChild(b.Parent.ControlFrame,'BackpackButton'),
'gear',waitForChild(b,'SearchFrame')waitForChild(b.SearchFrame,'SearchBoxFrame')
local i,j,k,l=waitForChild(b.SearchFrame.SearchBoxFrame,'SearchBox'),
waitForChild(b.SearchFrame,'SearchButton'),waitForChild(b.SearchFrame,
'ResetButton'),waitForChild(Game.CoreGui,'RobloxGui')local m=waitForChild(l,
'CurrentLoadout')local n,o,p,q,r,s,t,u,v,w,x,y,z=waitForChild(m,'Background'),
true,true,false,true,false,nil,nil,0.25,'Search...','~','`',UDim2.new(0,600,0,
400)if l.AbsoluteSize.Y<=320 then z=UDim2.new(0,200,0,140)end function
createPublicEvent(A)assert(A,'eventName is nil')assert(tostring(A),
'eventName is not a string')local B=Instance.new'BindableEvent'B.Name=tostring(A
)B.Parent=script return B end function createPublicFunction(A,B)assert(A,
'funcName is nil')assert(tostring(A),'funcName is not a string')assert(B,
'invokeFunc is nil')assert(type(B)=='function',
"invokeFunc should be of type 'function'")local C=Instance.new'BindableFunction'
C.Name=tostring(A)C.OnInvoke=B C.Parent=script return C end local A,B,C,D,E=
createPublicEvent'ResizeEvent',createPublicEvent'BackpackOpenEvent',
createPublicEvent'BackpackCloseEvent',createPublicEvent'TabClickedEvent',
createPublicEvent'SearchRequestedEvent'function deactivateBackpack()b.Visible=
false r=false end function activateBackpack()initHumanoidDiedConnections()r=true
b.Visible=q if q then toggleBackpack()end end function
initHumanoidDiedConnections()if t then t:disconnect()end waitForProperty(game.
Players.LocalPlayer,'Character')waitForChild(game.Players.LocalPlayer.Character,
'Humanoid')t=game.Players.LocalPlayer.Character.Humanoid.Died:connect(
deactivateBackpack)end local F=function()q=false p=false f.Selected=false
resetSearch()C:Fire(g)b.Tabs.Visible=false h.Visible=false b:
TweenSizeAndPosition(UDim2.new(0,z.X.Offset,0,0),UDim2.new(0.5,-z.X.Offset/2,1,-
85),Enum.EasingDirection.Out,Enum.EasingStyle.Quad,v,true,function()game.
GuiService:RemoveCenterDialog(b)b.Visible=false f.Selected=false end)delay(v,
function()game.GuiService:RemoveCenterDialog(b)b.Visible=false f.Selected=false
p=true o=true end)end function showBackpack()game.GuiService:AddCenterDialog(b,
Enum.CenterDialogType.PlayerInitiatedDialog,function()b.Visible=true f.Selected=
true end,function()b.Visible=false f.Selected=false end)b.Visible=true f.
Selected=true b:TweenSizeAndPosition(z,UDim2.new(0.5,-z.X.Offset/2,1,-z.Y.Offset
-88),Enum.EasingDirection.Out,Enum.EasingStyle.Quad,v,true)delay(v,function()b.
Tabs.Visible=false h.Visible=true B:Fire(g)o=true p=true f.Image=
'http://www.roblox.com/asset/?id=97644093'f.Position=UDim2.new(0.5,-60,1,-z.Y.
Offset-103)end)end function toggleBackpack()if not game.Players.LocalPlayer then
return end if not game.Players.LocalPlayer['Character']then return end if not o
then return end if not p then return end p=false o=false q=not q if q then n.
Image='http://www.roblox.com/asset/?id=97623721'n.Position=UDim2.new(-3E-2,0,-
0.17,0)n.Size=UDim2.new(1.05,0,1.25,0)n.ZIndex=2 n.Visible=true showBackpack()
else f.Position=UDim2.new(0.5,-60,1,-44)n.Visible=false f.Selected=false f.Image
='http://www.roblox.com/asset/?id=97617958'n.Image=
'http://www.roblox.com/asset/?id=96536002'n.Position=UDim2.new(-0.1,0,-0.1,0)n.
Size=UDim2.new(1.2,0,1.2,0)F()local G=m:GetChildren()for H=1,#G do if G[H]and G[
H]:IsA'Frame'then local I=G[H]if#I:GetChildren()>0 then f.Position=UDim2.new(0.5
,-60,1,-108)f.Visible=true n.Visible=true if I:GetChildren()[1]:IsA'ImageButton'
then local J=I:GetChildren()[1]J.Active=true J.Draggable=false end end end end
end end function closeBackpack()if q then toggleBackpack()end end function
setSelected(G)assert(G)assert(G:IsA'TextButton')G.BackgroundColor3=Color3.new(1,
1,1)G.TextColor3=Color3.new(0,0,0)G.Selected=true G.ZIndex=3 end function
setUnselected(G)assert(G)assert(G:IsA'TextButton')G.BackgroundColor3=Color3.new(
0,0,0)G.TextColor3=Color3.new(1,1,1)G.Selected=false G.ZIndex=1 end function
updateTabGui(G)assert(G)if G=='gear'then setSelected(e)setUnselected(
wardrobeButton)elseif G=='wardrobe'then setSelected(wardrobeButton)
setUnselected(e)end end function mouseLeaveTab(G)assert(G)assert(G:IsA
'TextButton')if G.Selected then return end G.BackgroundColor3=Color3.new(0,0,0)
end function mouseOverTab(G)assert(G)assert(G:IsA'TextButton')if G.Selected then
return end G.BackgroundColor3=Color3.new(0.15294117647058825,0.15294117647058825
,0.15294117647058825)end function newTabClicked(G)assert(G)G=string.lower(G)g=G
updateTabGui(G)D:Fire(G)resetSearch()end function trim(G)return(G:gsub(
'^%s*(.-)%s*$','%1'))end function splitByWhitespace(G)if type(G)~='string'then
return nil end local H={}for I in string.gmatch(G,'[^%s]+')do if string.len(I)>0
then table.insert(H,I)end end return H end function resetSearchBoxGui()k.Visible
=false i.Text=w end function doSearch()local G=i.Text if G==''then resetSearch()
return end G=trim(G)k.Visible=true termTable=splitByWhitespace(G)E:Fire(G)end
function resetSearch()resetSearchBoxGui()E:Fire()end local G=function()p=true
end function coreGuiChanged(H,I)if H==Enum.CoreGuiType.Backpack or H==Enum.
CoreGuiType.All then r=I s=not I if s then pcall(function()game:GetService
'GuiService':RemoveKey(x)game:GetService'GuiService':RemoveKey(y)end)else game:
GetService'GuiService':AddKey(x)game:GetService'GuiService':AddKey(y)end
resetSearch()h.Visible=I and q m.Visible=I b.Visible=I f.Visible=I end end
createPublicFunction('CloseBackpack',F)createPublicFunction('BackpackReady',G)
pcall(function()coreGuiChanged(Enum.CoreGuiType.Backpack,Game.StarterGui:
GetCoreGuiEnabled(Enum.CoreGuiType.Backpack))Game.StarterGui.
CoreGuiChangedSignal:connect(coreGuiChanged)end)e.MouseButton1Click:connect(
function()newTabClicked'gear'end)e.MouseEnter:connect(function()mouseOverTab(e)
end)e.MouseLeave:connect(function()mouseLeaveTab(e)end)if game.CoreGui.Version>=
8 then wardrobeButton.MouseButton1Click:connect(function()newTabClicked
'wardrobe'end)wardrobeButton.MouseEnter:connect(function()mouseOverTab(
wardrobeButton)end)wardrobeButton.MouseLeave:connect(function()mouseLeaveTab(
wardrobeButton)end)end d.MouseButton1Click:connect(closeBackpack)c.Changed:
connect(function(H)if H=='AbsoluteSize'then A:Fire(c.AbsoluteSize)end end)game:
GetService'GuiService':AddKey(x)game:GetService'GuiService':AddKey(y)game:
GetService'GuiService'.KeyPressed:connect(function(H)if not r or s then return
end if H==x or H==y then toggleBackpack()end end)f.MouseButton1Click:connect(
function()if not r or s then return end toggleBackpack()end)if game.Players.
LocalPlayer['Character']then activateBackpack()end game.Players.LocalPlayer.
CharacterAdded:connect(activateBackpack)i.FocusLost:connect(function(H)if H or i
.Text~=''then doSearch()elseif i.Text==''then resetSearch()end end)j.
MouseButton1Click:connect(doSearch)k.MouseButton1Click:connect(resetSearch)if h
and l.AbsoluteSize.Y<=320 then h.RobloxLocked=false h:Destroy()end

382
processed/97188756.lua Normal file
View File

@ -0,0 +1,382 @@
local a=false local function WaitForChild(b,c)while b:FindFirstChild(c)==nil do
b.ChildAdded:wait(0.03)end return b[c]end local function typedef(b)return b end
local function IsPhone()local b=Game:GetService'CoreGui'local c=WaitForChild(b,
'RobloxGui')if c.AbsoluteSize.Y<600 then return true end return false end
local function StringTrim(b)return(b:gsub('^%s*(.-)%s*$','%1'))end while Game.
Players.LocalPlayer==nil do wait(0.03)end local b=Game.Players.LocalPlayer while
b.Character==nil do wait(0.03)end local c=LoadLibrary'RbxUtility'local d,e,f,g,h
,i,j=typedef(c),Game.Workspace.CurrentCamera,Game:GetService'CoreGui',Game:
GetService'Players',Game:GetService'Debris',Game:GetService'GuiService',nil do j
={}local k={}local l,m={__call=function(l,m)return l[m]or l[tonumber(m)]end,
__index={GetEnumItems=function(l)local m={}for n,o in pairs(l)do if type(n)==
'number'then m[#m+1]=o end end table.sort(m,function(p,q)return p.Value<q.Value
end)return m end},__tostring=function(l)return'Enum.'..l[k]end},{__call=function
(l,m)return m==l or m==l.Name or m==l.Value end,__tostring=function(l)return
'Enum.'..l[k]..'.'..l.Name end}function CreateEnum(n)return function(o)local p={
[k]=n}for q,r in pairs(o)do local s=setmetatable({Name=r,Value=q,Enum=p,[k]=n},m
)p[q]=s p[r]=s p[s]=s end j[n]=p return setmetatable(p,l)end end end local k,l={
Mouse=b:GetMouse(),Speed=0,Simulating=false,Configuration={DefaultSpeed=1},
UserIsScrolling=false},{ChatColors={BrickColor.new'Bright red',BrickColor.new
'Bright blue',BrickColor.new'Earth green',BrickColor.new'Bright violet',
BrickColor.new'Bright orange',BrickColor.new'Bright yellow',BrickColor.new
'Light reddish violet',BrickColor.new'Brick yellow'},Gui=nil,Frame=nil,
RenderFrame=nil,TapToChatLabel=nil,ClickToChatButton=nil,ScrollingLock=false,
EventListener=nil,MessageQueue={},Configuration={FontSize=Enum.FontSize.Size12,
NumFontSize=12,HistoryLength=20,Size=UDim2.new(0.38,0,0.2,0),MessageColor=Color3
.new(1,1,1),AdminMessageColor=Color3.new(1,0.8431372549019608,0),XScale=0.025,
LifeTime=45,Position=UDim2.new(0,2,0.05,0),DefaultTweenSpeed=0.15},
SlotPositions_List={},CachedSpaceStrings_List={},MouseOnFrame=false,GotFocus=
false,Messages_List={},MessageThread=nil,Admins_List={'taskmanager','Heliodex',
'tako'},SafeChat_List={['Use the Chat menu to talk to me.']={'/sc 0',true},[
'I can only see menu chats.']={'/sc 1',true},['Hello']={['Hi']={'/sc 2_0',true,[
'Hi there!']=true,['Hi everyone']=true},['Howdy']={'/sc 2_1',true,[
'Howdy partner!']=true},['Greetings']={'/sc 2_2',true,['Greetings everyone']=
true,['Greetings Robloxians!']=true,['Seasons greetings!']=true},['Welcome']={
'/sc 2_3',true,['Welcome to my place']=true,['Welcome to my barbeque']=true,[
'Welcome to our base']=true},['Hey there!']={'/sc 2_4',true},["What's up?"]={
'/sc 2_5',true,['How are you doing?']=true,["How's it going?"]=true,[
"What's new?"]=true},['Good day']={'/sc 2_6',true,['Good morning']=true,[
'Good evening']=true,['Good afternoon']=true,['Good night']=true},['Silly']={
'/sc 2_7',true,['Waaaaaaaz up?!']=true,['Hullo!']=true,[
'Behold greatness, mortals!']=true,['Pardon me, is this Sparta?']=true,[
'THIS IS SPARTAAAA!']=true},['Happy Holidays!']={'/sc 2_8',true,[
'Happy New Year!']=true,["Happy Valentine's Day!"]=true,[
'Beware the Ides of March!']=true,["Happy St. Patrick's Day!"]=true,[
'Happy Easter!']=true,['Happy Earth Day!']=true,['Happy 4th of July!']=true,[
'Happy Thanksgiving!']=true,['Happy Halloween!']=true,['Happy Hanukkah!']=true,[
'Merry Christmas!']=true,['Happy May Day!']=true,['Happy Towel Day!']=true,[
'Happy ROBLOX Day!']=true,['Happy LOL Day!']=true},[1]='/sc 2'},['Goodbye']={[
'Good Night']={'/sc 3_0',true,['Sweet dreams']=true,['Go to sleep!']=true,[
'Lights out!']=true,['Bedtime']=true,['Going to bed now']=true},['Later']={
'/sc 3_1',true,['See ya later']=true,['Later gator!']=true,['See you tomorrow']=
true},['Bye']={'/sc 3_2',true,['Hasta la bye bye!']=true},["I'll be right back"]
={'/sc 3_3',true},['I have to go']={'/sc 3_4',true},['Farewell']={'/sc 3_5',true
,['Take care']=true,['Have a nice day']=true,['Goodluck!']=true,[
'Ta-ta for now!']=true},['Peace']={'/sc 3_6',true,['Peace out!']=true,[
'Peace dudes!']=true,['Rest in pieces!']=true},['Silly']={'/sc 3_7',true,[
'To the batcave!']=true,['Over and out!']=true,['Happy trails!']=true,[
"I've got to book it!"]=true,['Tootles!']=true,['Smell you later!']=true,['GG!']
=true,['My house is on fire! gtg.']=true},[1]='/sc 3'},['Friend']={[
'Wanna be friends?']={'/sc 4_0',true},['Follow me']={'/sc 4_1',true,[
'Come to my place!']=true,['Come to my base!']=true,['Follow me, team!']=true,[
'Follow me']=true},['Your place is cool']={'/sc 4_2',true,['Your place is fun']=
true,['Your place is awesome']=true,['Your place looks good']=true,[
'This place is awesome!']=true},['Thank you']={'/sc 4_3',true,[
'Thanks for playing']=true,['Thanks for visiting']=true,['Thanks for everything'
]=true,['No, thank you']=true,['Thanx']=true},['No problem']={'/sc 4_4',true,[
"Don't worry"]=true,["That's ok"]=true,['np']=true},['You are ...']={'/sc 4_5',
true,['You are great!']=true,['You are good!']=true,['You are cool!']=true,[
'You are funny!']=true,['You are silly!']=true,['You are awesome!']=true,[
"You are doing something I don't like, please stop"]=true},['I like ...']={
'/sc 4_6',true,['I like your name']=true,['I like your shirt']=true,[
'I like your place']=true,['I like your style']=true,['I like you']=true,[
'I like items']=true,['I like money']=true},['Sorry']={'/sc 4_7',true,['My bad!'
]=true,["I'm sorry"]=true,['Whoops!']=true,['Please forgive me.']=true,[
'I forgive you.']=true,["I didn't mean to do that."]=true,[
"Sorry, I'll stop now."]=true},[1]='/sc 4'},['Questions']={['Who?']={'/sc 5_0',
true,['Who wants to be my friend?']=true,['Who wants to be on my team?']=true,[
'Who made this brilliant game?']=true},['What?']={'/sc 5_1',true,[
'What is your favorite animal?']=true,['What is your favorite game?']=true,[
'What is your favorite movie?']=true,['What is your favorite TV show?']=true,[
'What is your favorite music?']=true,['What are your hobbies?']=true,['LOLWUT?']
=true},['When?']={'/sc 5_2',true,['When are you online?']=true,[
'When is the new version coming out?']=true,['When can we play again?']=true,[
'When will your place be done?']=true},['Where?']={'/sc 5_3',true,[
'Where do you want to go?']=true,['Where are you going?']=true,['Where am I?!']=
true,['Where did you go?']=true},['How?']={'/sc 5_4',true,['How are you today?']
=true,['How did you make this cool place?']=true,['LOLHOW?']=true},['Can I...']=
{'/sc 5_5',true,['Can I have a tour?']=true,['Can I be on your team?']=true,[
'Can I be your friend?']=true,['Can I try something?']=true,[
'Can I have that please?']=true,['Can I have that back please?']=true,[
'Can I have borrow your hat?']=true,['Can I have borrow your gear?']=true},[1]=
'/sc 5'},['Answers']={['You need help?']={'/sc 6_0',true,[
'Check out the news section']=true,['Check out the help section']=true,[
'Read the wiki!']=true,['All the answers are in the wiki!']=true,[
'I will help you with this.']=true},['Some people ...']={'/sc 6_1',true,['Me']=
true,['Not me']=true,['You']=true,['All of us']=true,['Everyone but you']=true,[
'Builderman!']=true,['Telamon!']=true,['My team']=true,['My group']=true,['Mom']
=true,['Dad']=true,['Sister']=true,['Brother']=true,['Cousin']=true,[
'Grandparent']=true,['Friend']=true},['Time ...']={'/sc 6_2',true,[
'In the morning']=true,['In the afternoon']=true,['At night']=true,['Tomorrow']=
true,['This week']=true,['This month']=true,['Sometime']=true,['Sometimes']=true
,['Whenever you want']=true,['Never']=true,['After this']=true,['In 10 minutes']
=true,['In a couple hours']=true,['In a couple days']=true},['Animals']={
'/sc 6_3',true,['Cats']={['Lion']=true,['Tiger']=true,['Leopard']=true,[
'Cheetah']=true},['Dogs']={['Wolves']=true,['Beagle']=true,['Collie']=true,[
'Dalmatian']=true,['Poodle']=true,['Spaniel']=true,['Shepherd']=true,['Terrier']
=true,['Retriever']=true},['Horses']={['Ponies']=true,['Stallions']=true,[
'Pwnyz']=true},['Reptiles']={['Dinosaurs']=true,['Lizards']=true,['Snakes']=true
,['Turtles!']=true},['Hamster']=true,['Monkey']=true,['Bears']=true,['Fish']={[
'Goldfish']=true,['Sharks']=true,['Sea Bass']=true,['Halibut']=true,[
'Tropical Fish']=true},['Birds']={['Eagles']=true,['Penguins']=true,['Parakeets'
]=true,['Owls']=true,['Hawks']=true,['Pidgeons']=true},['Elephants']=true,[
'Mythical Beasts']={['Dragons']=true,['Unicorns']=true,['Sea Serpents']=true,[
'Sphinx']=true,['Cyclops']=true,['Minotaurs']=true,['Goblins']=true,[
'Honest Politicians']=true,['Ghosts']=true,['Scylla and Charybdis']=true}},[
'Games']={'/sc 6_4',true,['Action']=true,['Puzzle']=true,['Strategy']=true,[
'Racing']=true,['RPG']=true,['Obstacle Course']=true,['Tycoon']=true,['Roblox']=
{['BrickBattle']=true,['Community Building']=true,['Roblox Minigames']=true,[
'Contest Place']=true},['Board games']={['Chess']=true,['Checkers']=true,[
'Settlers of Catan']=true,['Tigris and Euphrates']=true,['El Grande']=true,[
'Stratego']=true,['Carcassonne']=true}},['Sports']={'/sc 6_5',true,['Hockey']=
true,['Soccer']=true,['Football']=true,['Baseball']=true,['Basketball']=true,[
'Volleyball']=true,['Tennis']=true,['Sports team practice']=true,['Watersports']
={['Surfing']=true,['Swimming']=true,['Water Polo']=true},['Winter sports']={[
'Skiing']=true,['Snowboarding']=true,['Sledding']=true,['Skating']=true},[
'Adventure']={['Rock climbing']=true,['Hiking']=true,['Fishing']=true,[
'Horseback riding']=true},['Wacky']={['Foosball']=true,['Calvinball']=true,[
'Croquet']=true,['Cricket']=true,['Dodgeball']=true,['Squash']=true,[
'Trampoline']=true}},['Movies/TV']={'/sc 6_6',true,['Science Fiction']=true,[
'Animated']={['Anime']=true},['Comedy']=true,['Romantic']=true,['Action']=true,[
'Fantasy']=true},['Music']={'/sc 6_7',true,['Country']=true,['Jazz']=true,['Rap'
]=true,['Hip-hop']=true,['Techno']=true,['Classical']=true,['Pop']=true,['Rock']
=true},['Hobbies']={'/sc 6_8',true,['Computers']={['Building computers']=true,[
'Videogames']=true,['Coding']=true,['Hacking']=true},['The Internet']={[
'lol. teh internets!']=true,['Watching vids']=true},['Dance']=true,['Gymnastics'
]=true,['Listening to music']=true,['Arts and crafts']=true,['Martial Arts']={[
'Karate']=true,['Judo']=true,['Taikwon Do']=true,['Wushu']=true,[
'Street fighting']=true},['Music lessons']={['Playing in my band']=true,[
'Playing piano']=true,['Playing guitar']=true,['Playing violin']=true,[
'Playing drums']=true,['Playing a weird instrument']=true}},['Location']={
'/sc 6_9',true,['USA']={['West']={['Alaska']=true,['Arizona']=true,['California'
]=true,['Colorado']=true,['Hawaii']=true,['Idaho']=true,['Montana']=true,[
'Nevada']=true,['New Mexico']=true,['Oregon']=true,['Utah']=true,['Washington']=
true,['Wyoming']=true},['South']={['Alabama']=true,['Arkansas']=true,['Florida']
=true,['Georgia']=true,['Kentucky']=true,['Louisiana']=true,['Mississippi']=true
,['North Carolina']=true,['Oklahoma']=true,['South Carolina']=true,['Tennessee']
=true,['Texas']=true,['Virginia']=true,['West Virginia']=true},['Northeast']={[
'Connecticut']=true,['Delaware']=true,['Maine']=true,['Maryland']=true,[
'Massachusetts']=true,['New Hampshire']=true,['New Jersey']=true,['New York']=
true,['Pennsylvania']=true,['Rhode Island']=true,['Vermont']=true},['Midwest']={
['Illinois']=true,['Indiana']=true,['Iowa']=true,['Kansas']=true,['Michigan']=
true,['Minnesota']=true,['Missouri']=true,['Nebraska']=true,['North Dakota']=
true,['Ohio']=true,['South Dakota']=true,['Wisconsin']=true}},['Canada']={[
'Alberta']=true,['British Columbia']=true,['Manitoba']=true,['New Brunswick']=
true,['Newfoundland']=true,['Northwest Territories']=true,['Nova Scotia']=true,[
'Nunavut']=true,['Ontario']=true,['Prince Edward Island']=true,['Quebec']=true,[
'Saskatchewan']=true,['Yukon']=true},['Mexico']=true,['Central America']=true,[
'Europe']={['France']=true,['Germany']=true,['Spain']=true,['Italy']=true,[
'Poland']=true,['Switzerland']=true,['Greece']=true,['Romania']=true,[
'Netherlands']=true,['Great Britain']={['England']=true,['Scotland']=true,[
'Wales']=true,['Northern Ireland']=true}},['Asia']={['China']=true,['India']=
true,['Japan']=true,['Korea']=true,['Russia']=true,['Vietnam']=true},[
'South America']={['Argentina']=true,['Brazil']=true},['Africa']={['Eygpt']=true
,['Swaziland']=true},['Australia']=true,['Middle East']=true,['Antarctica']=true
,['New Zealand']=true},['Age']={'/sc 6_10',true,['Rugrat']=true,['Kid']=true,[
'Tween']=true,['Teen']=true,['Twenties']=true,['Old']=true,['Ancient']=true,[
'Mesozoic']=true,["I don't want to say my age. Don't ask."]=true},['Mood']={
'/sc 6_11',true,['Good']=true,['Great!']=true,['Not bad']=true,['Sad']=true,[
'Hyper']=true,['Chill']=true,['Happy']=true,['Kind of mad']=true},['Boy']={
'/sc 6_12',true},['Girl']={'/sc 6_13',true},[
"I don't want to say boy or girl. Don't ask."]={'/sc 6_14',true},[1]='/sc 6'},[
'Game']={["Let's build"]={'/sc 7_0',true},["Let's battle"]={'/sc 7_1',true},[
'Nice one!']={'/sc 7_2',true},['So far so good']={'/sc 7_3',true},['Lucky shot!'
]={'/sc 7_4',true},['Oh man!']={'/sc 7_5',true},['I challenge you to a fight!']=
{'/sc 7_6',true},['Help me with this']={'/sc 7_7',true},["Let's go to your game"
]={'/sc 7_8',true},['Can you show me how do to that?']={'/sc 7_9',true},[
'Backflip!']={'/sc 7_10',true},['Frontflip!']={'/sc 7_11',true},['Dance!']={
'/sc 7_12',true},["I'm on your side!"]={'/sc 7_13',true},['Game Commands']={
'/sc 7_14',true,['regen']=true,['reset']=true,['go']=true,['fix']=true,[
'respawn']=true},[1]='/sc 7'},['Silly']={['Muahahahaha!']=true,[
'all your base are belong to me!']=true,['GET OFF MAH LAWN']=true,[
'TEH EPIK DUCK IS COMING!!!']=true,['ROFL']=true,['1337']={true,[
'i r teh pwnz0r!']=true,['w00t!']=true,['z0mg h4x!']=true,['ub3rR0xXorzage!']=
true}},['Yes']={['Absolutely!']=true,['Rock on!']=true,['Totally!']=true,[
'Juice!']=true,['Yay!']=true,['Yesh']=true},['No']={['Ummm. No.']=true,['...']=
true,['Stop!']=true,['Go away!']=true,["Don't do that"]=true,[
'Stop breaking the rules']=true,["I don't want to"]=true},['Ok']={['Well... ok']
=true,['Sure']=true},['Uncertain']={['Maybe']=true,["I don't know"]=true,['idk']
=true,["I can't decide"]=true,['Hmm...']=true},[':-)']={[':-(']=true,[':D']=true
,[':-O']=true,['lol']=true,['=D']=true,['D=']=true,['XD']=true,[';D']=true,[';)'
]=true,['O_O']=true,['=)']=true,['@_@']=true,['&gt;_&lt;']=true,['T_T']=true,[
'^_^']=true,['<(0_0<) <(0_0)> (>0_0)> KIRBY DANCE']=true,[")';"]=true,[':3']=
true},['Ratings']={['Rate it!']=true,['I give it a 1 out of 10']=true,[
'I give it a 2 out of 10']=true,['I give it a 3 out of 10']=true,[
'I give it a 4 out of 10']=true,['I give it a 5 out of 10']=true,[
'I give it a 6 out of 10']=true,['I give it a 7 out of 10']=true,[
'I give it a 8 out of 10']=true,['I give it a 9 out of 10']=true,[
'I give it a 10 out of 10!']=true}},CreateEnum'SafeChat'{'Level1','Level2',
'Level3'},SafeChatTree={},TempSpaceLabel=nil}local function GetNameValue(m)local
n=0 for o=1,#m do local p,q=string.byte(string.sub(m,o,o)),#m-o+1 if#m%2==1 then
q=q-1 end if q%4>=2 then p=-p end n=n+p end return n%8 end function l:
ComputeChatColor(m)return self.ChatColors[GetNameValue(m)+1].Color end function
l:EnableScrolling(m)self.MouseOnFrame=false if self.RenderFrame then self.
RenderFrame.MouseEnter:connect(function()local n=b.Character local o,p,q=
WaitForChild(n,'Torso'),WaitForChild(n,'Humanoid'),WaitForChild(n,'Head')if m
then self.MouseOnFrame=true e.CameraType='Scriptable'Spawn(function()local r=e.
CoordinateFrame.p-o.Position while l.MouseOnFrame do e.CoordinateFrame=CFrame.
new(o.Position+r,q.Position)wait(0.015)end end)end end)self.RenderFrame.
MouseLeave:connect(function()e.CameraType='Custom'self.MouseOnFrame=false end)
end end function l:IsTouchDevice()local m=false pcall(function()m=Game:
GetService'UserInputService'.TouchEnabled end)return m end function l:
UpdateQueue(m,n)for o=#self.MessageQueue,1,-1 do if self.MessageQueue[o]then for
p,q in pairs(self.MessageQueue[o])do if q and type(q)~='table'and type(q)~=
'number'then if q:IsA'TextLabel'or q:IsA'TextButton'then if n then q.Position=q.
Position-UDim2.new(0,0,n,0)else if m==self.MessageQueue[o]then q.Position=UDim2.
new(self.Configuration.XScale,0,q.Position.Y.Scale-m['Message'].Size.Y.Scale,0)
Spawn(function()wait(0.05)while q.TextTransparency>=0 do q.TextTransparency=q.
TextTransparency-0.2 wait(0.03)end if q==m['Message']then q.
TextStrokeTransparency=0.8 else q.TextStrokeTransparency=1 end end)else q.
Position=UDim2.new(self.Configuration.XScale,0,q.Position.Y.Scale-m['Message'].
Size.Y.Scale,0)end if q.Position.Y.Scale<-1E-2 then q.Visible=false q:Destroy()
end end end end end end end end function l:CreateScrollBar()end function l:
CheckIfInBounds(m)if#l.MessageQueue<3 then return true end if m>0 and l.
MessageQueue[1]and l.MessageQueue[1]['Player']and l.MessageQueue[1]['Player'].
Position.Y.Scale==0 then return true elseif m<0 and l.MessageQueue[1]and l.
MessageQueue[1]['Player']and l.MessageQueue[1]['Player'].Position.Y.Scale<0 then
return true else return false end return false end function l:ComputeSpaceString
(m)local n=' 'if not self.TempSpaceLabel then self.TempSpaceLabel=d.Create
'TextButton'{Size=UDim2.new(0,m.AbsoluteSize.X,0,m.AbsoluteSize.Y),FontSize=self
.Configuration.FontSize,Parent=self.RenderFrame,BackgroundTransparency=1,Text=n,
Name='SpaceButton'}else self.TempSpaceLabel.Text=n end while self.TempSpaceLabel
.TextBounds.X<m.TextBounds.X do n=n..' 'self.TempSpaceLabel.Text=n end n=n..' '
self.CachedSpaceStrings_List[m.Text]=n self.TempSpaceLabel.Text=''return n end
function l:UpdateChat(m,n)local o={['Player']=m,['Message']=n}if coroutine.
status(l.MessageThread)=='dead'then table.insert(l.Messages_List,o)l.
MessageThread=coroutine.create(function()for p=1,#l.Messages_List do local q=l.
Messages_List[p]l:CreateMessage(q['Player'],q['Message'])end l.Messages_List={}
end)coroutine.resume(l.MessageThread)else table.insert(l.Messages_List,o)end end
function l:RecalculateSpacing()end function l:ApplyFilter(m)end function l:
CreateMessage(m,n)local o if not m then o=''else o=m.Name end n=StringTrim(n)
local p,q if#self.MessageQueue>self.Configuration.HistoryLength then self.
MessageQueue[#self.MessageQueue]=nil end p=d.Create'TextLabel'{Name=o,Text=o..
':',TextColor3=pColor,FontSize=l.Configuration.FontSize,TextXAlignment=Enum.
TextXAlignment.Left,TextYAlignment=Enum.TextYAlignment.Top,Parent=self.
RenderFrame,TextWrapped=false,Size=UDim2.new(1,0,0.1,0),BackgroundTransparency=1
,TextTransparency=1,Position=UDim2.new(0,0,1,0),BorderSizePixel=0,
TextStrokeColor3=Color3.new(0.5,0.5,0.5),TextStrokeTransparency=0.75}local r if
m.Neutral then p.TextColor3=l:ComputeChatColor(o)else p.TextColor3=m.TeamColor.
Color end local s if not self.CachedSpaceStrings_List[o]then s=l:
ComputeSpaceString(p)else s=self.CachedSpaceStrings_List[o]end q=d.Create
'TextLabel'{Name=o..' - message',Size=UDim2.new(1,0,0.5,0),TextColor3=l.
Configuration.MessageColor,FontSize=l.Configuration.FontSize,TextXAlignment=Enum
.TextXAlignment.Left,TextYAlignment=Enum.TextYAlignment.Top,Text='',Parent=self.
RenderFrame,TextWrapped=true,BackgroundTransparency=1,TextTransparency=1,
Position=UDim2.new(0,0,1,0),BorderSizePixel=0,TextStrokeColor3=Color3.new(0,0,0)
}q.Text=s..n if not o then p.Text=''q.TextColor3=Color3.new(0,0.4,1)end for t,u
in pairs(self.Admins_List)do if string.lower(u)==string.lower(o)then q.
TextColor3=self.Configuration.AdminMessageColor end end p.Visible=true q.Visible
=true local v=q.TextBounds.Y q.Size=UDim2.new(1,0,v/self.RenderFrame.
AbsoluteSize.Y,0)p.Size=q.Size local w,x,y=self.RenderFrame.AbsoluteSize.Y,q.
TextBounds.Y,{}y['Player']=p y['Message']=q y['SpawnTime']=tick()table.insert(
self.MessageQueue,1,y)l:UpdateQueue(y)end function l:ScreenSizeChanged()wait()
while self.Frame.AbsoluteSize.Y>120 do self.Frame.Size=self.Frame.Size-UDim2.
new(0,0,0.005,0)end l:RecalculateSpacing()end function l:FindButtonTree(m,n)
local o={}n=n or self.SafeChatTree for p,q in pairs(n)do if p==m then o=n[p]
elseif type(n[p])=='table'then o=l:FindButtonTree(m,n[p])end end return o end
function l:ToggleSafeChatMenu(m)local n=l:FindButtonTree(m,self.SafeChatTree)if
n then for o,p in pairs(n)do if o:IsA'TextButton'or o:IsA'ImageButton'then o.
Visible=not o.Visible end end return true end return false end function l:
CreateSafeChatOptions(m,n)local o={}level=level or 0 local p=0 o[n]={}o[n][1]=m[
1]n=n or self.SafeChatButton for q,r in pairs(m)do if type(q)=='string'then
local s=d.Create'TextButton'{Name=q,Text=q,Size=UDim2.new(0,100,0,20),
TextXAlignment=Enum.TextXAlignment.Center,TextColor3=Color3.new(0.2,0.1,0.1),
BackgroundTransparency=0.5,BackgroundColor3=Color3.new(1,1,1),Parent=self.
SafeChatFrame,Visible=false,Position=UDim2.new(0,n.Position.X.Scale+105,0,n.
Position.Y.Scale-((p-3)*100))}p=p+1 if type(m[q])=='table'then o[n][s]=l:
CreateSafeChatOptions(m[q],s)else end s.MouseEnter:connect(function()l:
ToggleSafeChatMenu(s)end)s.MouseLeave:connect(function()l:ToggleSafeChatMenu(s)
end)s.MouseButton1Click:connect(function()local t=l:FindButtonTree(s)if t then
for u,v in pairs(t)do end else end pcall(function()g:Chat(t[1])end)end)end end
return o end function l:CreateSafeChatGui()self.SafeChatFrame=d.Create'Frame'{
Name='SafeChatFrame',Size=UDim2.new(1,0,1,0),Parent=self.Gui,
BackgroundTransparency=1,d.Create'ImageButton'{Name='SafeChatButton',Size=UDim2.
new(0,44,0,31),Position=UDim2.new(0,1,0.35,0),BackgroundTransparency=1,Image=
'http://www.roblox.com/asset/?id=97080365'}}self.SafeChatButton=self.
SafeChatFrame.SafeChatButton self.SafeChatTree[self.SafeChatButton]=l:
CreateSafeChatOptions(self.SafeChat_List,self.SafeChatButton)self.SafeChatButton
.MouseButton1Click:connect(function()l:ToggleSafeChatMenu(self.SafeChatButton)
end)end function l:FocusOnChatBar()if self.ClickToChatButton then self.
ClickToChatButton.Visible=false end self.GotFocus=true if self.Frame[
'Background']then self.Frame.Background.Visible=false end self.ChatBar:
CaptureFocus()end function l:CreateTouchButton()self.ChatTouchFrame=d.Create
'Frame'{Name='ChatTouchFrame',Size=UDim2.new(0,128,0,32),Position=UDim2.new(0,88
,0,0),BackgroundTransparency=1,Parent=self.Gui,d.Create'ImageButton'{Name=
'ChatLabel',Size=UDim2.new(0,74,0,28),Position=UDim2.new(0,0,0,0),
BackgroundTransparency=1,ZIndex=2},d.Create'ImageLabel'{Name='Background',Size=
UDim2.new(1,0,1,0),Position=UDim2.new(0,0,0,0),BackgroundTransparency=1,Image=
'http://www.roblox.com/asset/?id=97078724'}}self.TapToChatLabel=self.
ChatTouchFrame.ChatLabel self.TouchLabelBackground=self.ChatTouchFrame.
Background self.ChatBar=d.Create'TextBox'{Name='ChatBar',Size=UDim2.new(1,0,0.2,
0),Position=UDim2.new(0,0,0.8,800),Text='',ZIndex=1,BackgroundTransparency=1,
Parent=self.Frame,TextXAlignment=Enum.TextXAlignment.Left,TextColor3=Color3.new(
1,1,1),ClearTextOnFocus=false}self.TapToChatLabel.MouseButton1Click:connect(
function()self.TapToChatLabel.Visible=false self.ChatBar:CaptureFocus()self.
GotFocus=true if self.TouchLabelBackground then self.TouchLabelBackground.
Visible=false end end)end function l:CreateChatBar()local m,n=pcall(function()
return i.UseLuaChat end)if a or(m and n)then self.ClickToChatButton=d.Create
'TextButton'{Name='ClickToChat',Size=UDim2.new(1,0,0,20),BackgroundTransparency=
1,ZIndex=2,Parent=self.Gui,Text='To chat click here or press "/" key',TextColor3
=Color3.new(1,1,0.9),Position=UDim2.new(0,0,1,0),TextXAlignment=Enum.
TextXAlignment.Left,FontSize=Enum.FontSize.Size12}self.ChatBar=d.Create'TextBox'
{Name='ChatBar',Size=UDim2.new(1,0,0,20),Position=UDim2.new(0,0,1,0),Text='',
ZIndex=1,BackgroundColor3=Color3.new(0,0,0),BackgroundTransparency=0.25,Parent=
self.Gui,TextXAlignment=Enum.TextXAlignment.Left,TextColor3=Color3.new(1,1,1),
FontSize=Enum.FontSize.Size12,ClearTextOnFocus=false,Text=''}local o,p=pcall(
function()i:SetGlobalGuiInset(0,0,0,20)end)if not o then i:
SetGlobalSizeOffsetPixel(0,-20)end i:AddSpecialKey(Enum.SpecialKey.ChatHotkey)i.
SpecialKeyPressed:connect(function(q)if q==Enum.SpecialKey.ChatHotkey then l:
FocusOnChatBar()end end)self.ClickToChatButton.MouseButton1Click:connect(
function()l:FocusOnChatBar()end)end end function l:CreateGui()self.Gui=
WaitForChild(f,'RobloxGui')self.Frame=d.Create'Frame'{Name='ChatFrame',Size=
UDim2.new(0,500,0,120),Position=UDim2.new(0,0,0,5),BackgroundTransparency=1,
ZIndex=0,Parent=self.Gui,Active=false,d.Create'ImageLabel'{Name='Background',
Image='http://www.roblox.com/asset/?id=97120937',Size=UDim2.new(1.3,0,1.64,0),
Position=UDim2.new(0,0,0,0),BackgroundTransparency=1,ZIndex=0,Visible=false},d.
Create'Frame'{Name='Border',Size=UDim2.new(1,0,0,1),Position=UDim2.new(0,0,0.8,0
),BackgroundTransparency=0,BackgroundColor3=Color3.new(0.9254901960784314,
0.9254901960784314,0.9254901960784314),BorderSizePixel=0,Visible=false},d.Create
'Frame'{Name='ChatRenderFrame',Size=UDim2.new(1.02,0,1.01,0),Position=UDim2.new(
0,0,0,0),BackgroundTransparency=1,ZIndex=0,Active=false}}Spawn(function()wait(
0.5)if IsPhone()then self.Frame.Size=UDim2.new(0,280,0,120)end end)self.
RenderFrame=self.Frame.ChatRenderFrame if l:IsTouchDevice()then self.Frame.
Position=self.Configuration.Position self.RenderFrame.Size=UDim2.new(1,0,1,0)
elseif self.Frame.AbsoluteSize.Y>120 then l:ScreenSizeChanged()self.Gui.Changed:
connect(function(m)if m=='AbsoluteSize'then l:ScreenSizeChanged()end end)end if
a or b.ChatMode==Enum.ChatMode.TextAndMenu then if l:IsTouchDevice()then l:
CreateTouchButton()else l:CreateChatBar()end if self.ChatBar then self.ChatBar.
FocusLost:connect(function(m)l.GotFocus=false if l:IsTouchDevice()then self.
ChatBar.Visible=false self.TapToChatLabel.Visible=true if self.
TouchLabelBackground then self.TouchLabelBackground.Visible=true end end if m
and self.ChatBar.Text~=''then local n=self.ChatBar.Text if string.sub(self.
ChatBar.Text,1,1)=='%'then n='(TEAM) '..string.sub(n,2,#n)pcall(function()g:
TeamChat(n)end)else pcall(function()g:Chat(n)end)end if self.ClickToChatButton
then self.ClickToChatButton.Visible=true end self.ChatBar.Text=''end Spawn(
function()wait(5)if not l.GotFocus then l.Frame.Background.Visible=false end end
)end)end end end function k:OnMouseScroll()Spawn(function()while k.Speed~=0 do
if k.Speed>1 then while k.Speed>0 do k.Speed=k.Speed-1 wait(0.25)end elseif k.
Speed<0 then while k.Speed<0 do k.Speed=k.Speed+1 wait(0.25)end end wait(0.03)
end end)if l:CheckIfInBounds(k.Speed)then return end l:ScrollQueue()end function
k:ApplySpeed(m)k.Speed=k.Speed+m if not self.Simulating then k:OnMouseScroll()
end end function k:Initialize()self.Mouse.WheelBackward:connect(function()k:
ApplySpeed(self.Configuration.DefaultSpeed)end)self.Mouse.WheelForward:connect(
function()k:ApplySpeed(self.Configuration.DefaultSpeed)end)end function l:
FindMessageInSafeChat(m,n)local o=false for p,q in pairs(n)do if p==m then
return true end if type(n[p])=='table'then o=l:FindMessageInSafeChat(m,n[p])if o
then return true end end end return o end function l:PlayerChatted(...)local m,n
,o,p={...},select('#',...),nil,nil if m[2]then o=m[2]end if m[3]then p=m[3]if
string.sub(p,1,1)=='%'then p='(TEAM) '..string.sub(p,2,#p)end end if g.
ClassicChat then if string.sub(p,1,3)=='/e 'or string.sub(p,1,7)=='/emote 'then
elseif a or b.ChatMode==Enum.ChatMode.TextAndMenu then l:UpdateChat(o,p)elseif b
.ChatMode==Enum.ChatMode.Menu and string.sub(p,1,3)=='/sc'then l:UpdateChat(o,p)
else if l:FindMessageInSafeChat(p,self.SafeChat_List)then l:UpdateChat(o,p)end
end end end function l:CullThread()while true do if#self.MessageQueue>0 then for
m,n in pairs(self.MessageQueue)do if n['SpawnTime']and n['Player']and n[
'Message']and tick()-n['SpawnTime']>self.Configuration.LifeTime then n['Player']
.Visible=false n['Message'].Visible=false end end end wait(5)end end function l:
LockAllFields(m)local n=m:GetChildren()for o=1,#n do n[o].RobloxLocked=true if#n
[o]:GetChildren()>0 then l:LockAllFields(n[o])end end end function l:
CoreGuiChanged(m,n)if m==Enum.CoreGuiType.Chat or m==Enum.CoreGuiType.All then
if self.Frame then self.Frame.Visible=n end if not l:IsTouchDevice()and self.
ChatBar then self.ChatBar.Visible=n if n then i:SetGlobalGuiInset(0,0,0,20)else
i:SetGlobalGuiInset(0,0,0,0)end end end end function l:Initialize()l:CreateGui()
pcall(function()l:CoreGuiChanged(Enum.CoreGuiType.Chat,Game.StarterGui:
GetCoreGuiEnabled(Enum.CoreGuiType.Chat))Game.StarterGui.CoreGuiChangedSignal:
connect(function(m,n)l:CoreGuiChanged(m,n)end)end)self.EventListener=g.
PlayerChatted:connect(function(...)l:PlayerChatted(...)end)self.MessageThread=
coroutine.create(function()end)coroutine.resume(self.MessageThread)k:Initialize(
)g.ChildAdded:connect(function()l.EventListener:disconnect()self.EventListener=g
.PlayerChatted:connect(function(...)l:PlayerChatted(...)end)end)Spawn(function()
l:CullThread()end)self.Frame.RobloxLocked=true l:LockAllFields(self.Frame)self.
Frame.DescendantAdded:connect(function(m)l:LockAllFields(m)end)end l:Initialize(
)

View File

@ -1 +1,5 @@
std = "mercury"
[lints]
multiple_statements = "allow"
shadowing = "allow"