Improve corescript and other file formatting and compile in action workflow

This commit is contained in:
Lewin Kelly 2023-05-18 01:16:31 +01:00
parent 0c3b3efb9c
commit f0418c013a
14 changed files with 323 additions and 326 deletions

View File

@ -421,25 +421,25 @@ Image='rbxasset://textures/ui/closeButton.png'end)if s then local v=a(
FontSize.Size18,Size=UDim2.new(0,100,0,50),Position=UDim2.new(0.5,-50,1,-50)})if
r then v.MouseButton1Click:connect(function()return r()end)end v.Parent=t end
local v=a('Frame','ContentFrame',{BackgroundTransparency=1,Position=UDim2.new(0,
0,0,25),Parent=t})if s then v.Size=UDim2.new(1,0,1,-75)else v.Size=UDim2.new(1,0
,1,-22)end local w,x x=function()if t.Visible and t.Parent then local y=math.
min(t.Parent.AbsoluteSize.X,t.Parent.AbsoluteSize.Y)return q(200,y)end end t.
Changed:connect(function(y)if y=='Parent'then if(w~=nil)then w:disconnect()w=nil
end if t.Parent and t.Parent:IsA'GuiObject'then w=t.Parent.Changed:connect(
function(z)if z=='AbsoluteSize'then wait()return x()end end)x()end end if y==
'Visible'then return x()end end)return t,v end b.CreateTextTutorialPage=function
(p,q,r)local s,t,u,v=nil,nil,a('TextLabel',{BackgroundTransparency=1,TextColor3=
Color3.new(1,1,1),Text=q,TextWrap=true,TextXAlignment=Enum.TextXAlignment.Left,
TextYAlignment=Enum.TextYAlignment.Center,Font=Enum.Font.Arial,FontSize=Enum.
FontSize.Size14,Size=UDim2.new(1,0,1,0)}),nil v=function(w,x)local y=j(w,x,
function(y)s.Size=UDim2.new(0,y,0,y)return u.TextFits end)s.Size=UDim2.new(0,y,0
,y)s.Position=UDim2.new(0.5,-y/2,0.5,-y/2)end s,t=o(p,v,r)u.Parent=t return s
end b.CreateImageTutorialPage=function(p,q,r,s,t,u)local v,w,x,y=nil,nil,a(
'ImageLabel',{BackgroundTransparency=1,Image=q,Size=UDim2.new(0,r,0,s),Position=
UDim2.new(0.5,-r/2,0.5,-s/2)}),nil y=function(z,A)local B=j(z,A,function(B)
return B>=r and B>=s end)if B>=r and B>=s then x.Size=UDim2.new(0,r,0,s)x.
Position=UDim2.new(0.5,-r/2,0.5,-s/2)else if r>s then x.Size=UDim2.new(1,0,s/r,0
)x.Position=UDim2.new(0,0,0.5-(s/r)/2,0)else x.Size=UDim2.new(r/s,0,1,0)x.
0,0,25),Parent=t})v.Size=UDim2.new(1,0,1,(function()if s then return-75 else
return-22 end end)())local w,x x=function()if t.Visible and t.Parent then local
y=math.min(t.Parent.AbsoluteSize.X,t.Parent.AbsoluteSize.Y)return q(200,y)end
end t.Changed:connect(function(y)if y=='Parent'then if(w~=nil)then w:disconnect(
)w=nil end if t.Parent and t.Parent:IsA'GuiObject'then w=t.Parent.Changed:
connect(function(z)if z=='AbsoluteSize'then wait()return x()end end)x()end end
if y=='Visible'then return x()end end)return t,v end b.CreateTextTutorialPage=
function(p,q,r)local s,t,u,v=nil,nil,a('TextLabel',{BackgroundTransparency=1,
TextColor3=Color3.new(1,1,1),Text=q,TextWrap=true,TextXAlignment=Enum.
TextXAlignment.Left,TextYAlignment=Enum.TextYAlignment.Center,Font=Enum.Font.
Arial,FontSize=Enum.FontSize.Size14,Size=UDim2.new(1,0,1,0)}),nil v=function(w,x
)local y=j(w,x,function(y)s.Size=UDim2.new(0,y,0,y)return u.TextFits end)s.Size=
UDim2.new(0,y,0,y)s.Position=UDim2.new(0.5,-y/2,0.5,-y/2)end s,t=o(p,v,r)u.
Parent=t return s end b.CreateImageTutorialPage=function(p,q,r,s,t,u)local v,w,x
,y=nil,nil,a('ImageLabel',{BackgroundTransparency=1,Image=q,Size=UDim2.new(0,r,0
,s),Position=UDim2.new(0.5,-r/2,0.5,-s/2)}),nil y=function(z,A)local B=j(z,A,
function(B)return B>=r and B>=s end)if B>=r and B>=s then x.Size=UDim2.new(0,r,0
,s)x.Position=UDim2.new(0.5,-r/2,0.5,-s/2)else if r>s then x.Size=UDim2.new(1,0,
s/r,0)x.Position=UDim2.new(0,0,0.5-(s/r)/2,0)else x.Size=UDim2.new(r/s,0,1,0)x.
Position=UDim2.new(0.5-(r/s)/2,0,0,0)end end B=B+50 v.Size=UDim2.new(0,B,0,B)v.
Position=UDim2.new(0.5,-B/2,0.5,-B/2)end v,w=o(p,y,t,u)x.Parent=w return v end b
.AddTutorialPage=function(p,q)local r,s=p.TransitionFrame,p.CurrentTutorialPage
@ -692,35 +692,35 @@ BackgroundTransparency=1 end end)p.MouseButton1Click:connect(function()if ad~=au
then return ar(au,tostring(at))end end)return au end for at=1,#ag do local au=
as(ag[at])if ag[at]=='Grass'then ad=au au.BackgroundTransparency=0 end au.Parent
=an end local at at=function(au)if not au then return end if ah==au then return
end local p,q=aj(au),an:GetChildren()for r=1,#q do if q[r].Name==
'Plastic (blue)'and p=='Plastic (blue)'then ar(q[r],p)return end if q[r].Name==
'Plastic (red)'and p=='Plastic (red)'then ar(q[r],p)return end if string.find(q[
r].Name,p)then ar(q[r],p)return end end end ae.Changed:connect(function(au)if au
=='AbsoluteSize'then return aq()end end)aq()return ae,ac,at end b.
CreateLoadingFrame=function(aa,ab,ac)game:GetService'ContentProvider':Preload
'http://www.roblox.com/asset/?id=35238053'local ad=a('Frame','LoadingFrame',{
Style=Enum.FrameStyle.RobloxRound,Size=(function()if ab then return ab else
return UDim2.new(0,300,0,160)end end)(),Position=(function()if ac then return ac
else return UDim2.new(0.5,-150,0.5,-80)end end)(),a('TextLabel','loadingName',{
BackgroundTransparency=1,Size=UDim2.new(1,0,0,18),Position=UDim2.new(0,0,0,2),
Font=Enum.Font.Arial,Text=aa,TextColor3=Color3.new(1,1,1),TextStrokeTransparency
=1,FontSize=Enum.FontSize.Size18})})local ae=a('Frame','LoadingBar',{
BackgroundColor3=Color3.new(0,0,0),BorderColor3=Color3.new(0.30980392156862746,
0.30980392156862746,0.30980392156862746),Position=UDim2.new(0,0,0,41),Size=UDim2
.new(1,0,0,30),Parent=ad})local af,ag,ah=a('ImageLabel','LoadingGreenBar',{Image
='http://www.roblox.com/asset/?id=35238053',Position=UDim2.new(0,0,0,0),Size=
UDim2.new(0,0,1,0),Visible=false,Parent=ae}),a('TextLabel','LoadingPercent',{
BackgroundTransparency=1,Position=UDim2.new(0,0,1,0),Size=UDim2.new(1,0,0,14),
Font=Enum.Font.Arial,Text='0%',FontSize=Enum.FontSize.Size14,TextColor3=Color3.
new(1,1,1),Parent=ae}),a('TextButton','CancelButton',{Position=UDim2.new(0.5,-60
,1,-40),Size=UDim2.new(0,120,0,40),Font=Enum.Font.Arial,FontSize=Enum.FontSize.
Size18,TextColor3=Color3.new(1,1,1),Text='Cancel',Style=Enum.ButtonStyle.
RobloxButton,Parent=ad})local ai=a('BindableEvent','CancelButtonClicked',{Parent
=ah})ah.MouseButton1Click:connect(function()return ai:Fire()end)local aj aj=
function(ak,al,am)if ak and type(ak~='number')then error(
'updateLoadingGuiPercent expects number as argument, got '..tostring(type(ak))..
' instead')end local an if ak<0 then an=UDim2.new(0,0,1,0)elseif ak>1 then an=
UDim2.new(1,0,1,0)else an=UDim2.new(ak,0,1,0)end if al then if not am then error
end local p,q=aj(au),an:GetChildren()for r=1,#q do if(q[r].Name==
'Plastic (blue)'and p=='Plastic (blue)')or(q[r].Name=='Plastic (red)'and p==
'Plastic (red)')or string.find(q[r].Name,p)then ar(q[r],p)return end end end ae.
Changed:connect(function(au)if au=='AbsoluteSize'then return aq()end end)aq()
return ae,ac,at end b.CreateLoadingFrame=function(aa,ab,ac)game:GetService
'ContentProvider':Preload'http://www.roblox.com/asset/?id=35238053'local ad=a(
'Frame','LoadingFrame',{Style=Enum.FrameStyle.RobloxRound,Size=(function()if ab
then return ab else return UDim2.new(0,300,0,160)end end)(),Position=(function()
if ac then return ac else return UDim2.new(0.5,-150,0.5,-80)end end)(),a(
'TextLabel','loadingName',{BackgroundTransparency=1,Size=UDim2.new(1,0,0,18),
Position=UDim2.new(0,0,0,2),Font=Enum.Font.Arial,Text=aa,TextColor3=Color3.new(1
,1,1),TextStrokeTransparency=1,FontSize=Enum.FontSize.Size18})})local ae=a(
'Frame','LoadingBar',{BackgroundColor3=Color3.new(0,0,0),BorderColor3=Color3.
new(0.30980392156862746,0.30980392156862746,0.30980392156862746),Position=UDim2.
new(0,0,0,41),Size=UDim2.new(1,0,0,30),Parent=ad})local af,ag,ah=a('ImageLabel',
'LoadingGreenBar',{Image='http://www.roblox.com/asset/?id=35238053',Position=
UDim2.new(0,0,0,0),Size=UDim2.new(0,0,1,0),Visible=false,Parent=ae}),a(
'TextLabel','LoadingPercent',{BackgroundTransparency=1,Position=UDim2.new(0,0,1,
0),Size=UDim2.new(1,0,0,14),Font=Enum.Font.Arial,Text='0%',FontSize=Enum.
FontSize.Size14,TextColor3=Color3.new(1,1,1),Parent=ae}),a('TextButton',
'CancelButton',{Position=UDim2.new(0.5,-60,1,-40),Size=UDim2.new(0,120,0,40),
Font=Enum.Font.Arial,FontSize=Enum.FontSize.Size18,TextColor3=Color3.new(1,1,1),
Text='Cancel',Style=Enum.ButtonStyle.RobloxButton,Parent=ad})local ai=a(
'BindableEvent','CancelButtonClicked',{Parent=ah})ah.MouseButton1Click:connect(
function()return ai:Fire()end)local aj aj=function(ak,al,am)if ak and type(ak~=
'number')then error('updateLoadingGuiPercent expects number as argument, got '..
tostring(type(ak))..' instead')end local an if ak<0 then an=UDim2.new(0,0,1,0)
elseif ak>1 then an=UDim2.new(1,0,1,0)else an=UDim2.new(ak,0,1,0)end if al then
if not am then error
[[updateLoadingGuiPercent is set to tween new percentage, but got no tween time length! Please pass this in as third argument]]
end if an.X.Scale>0 then af.Visible=true return af:TweenSize(an,Enum.
EasingDirection.Out,Enum.EasingStyle.Quad,am,true)else return af:TweenSize(an,

View File

@ -442,164 +442,164 @@ bX=function()bt(al)table.sort(al,ba)for bY,bZ in ipairs(al)do ao[bY]=bZ['Frame']
end for b_=#al+1,#ao,1 do ao[b_]=nil end return bb()end local bY bY=function()
while aJ do m'in neutral team lock'wait()end aJ=true an['Frame']:Destroy()an=nil
bS()aJ=false end local bZ bZ=function(b_,b0)table.remove(b_['MyPlayers'],b0)if
b_==an and#b_['MyPlayers']==0 then return bY()end end local b_ b_=function(b0)if
b0['MyTeam']then for b1,b2 in ipairs(b0['MyTeam']['MyPlayers'])do if b2['Player'
]==b0['Player']then bZ(b0['MyTeam'],b1)return end end elseif an then for b1,b2
in ipairs(an['MyPlayers'])do if b2['Player']==b0['Player']then bZ(an,b1)return
end end end end local b0 b0=function(b1,b2)b_(b2)table.insert(b1['MyPlayers'],b2
)b2['MyTeam']=b1 if b1['IsHidden']then b1['Frame'].Parent=H bR()end b1[
'IsHidden']=false end local b1 b1=function()while aJ do m
'in neutral team 2 lock'wait()end aJ=true local b2=Instance.new'Team'b2.
TeamColor=BrickColor.new'White'b2.Name='Neutral'local b3={}b3['MyTeam']=b2 b3[
'MyPlayers']={}b3['Frame']=Q:Clone()n(n(b3['Frame'],'TitleFrame'),'Title').Text=
b2.Name b3['Frame'].TitleFrame.Position=UDim2.new(b3['Frame'].TitleFrame.
Position.X.Scale,b3['Frame'].TitleFrame.Position.X.Offset,0.1,0)b3['Frame'].
TitleFrame.Size=UDim2.new(b3['Frame'].TitleFrame.Size.X.Scale,b3['Frame'].
TitleFrame.Size.X.Offset,0.8,0)b3['Frame'].TitleFrame.Title.Font='ArialBold'b3[
'Frame'].Position=UDim2.new(1,0,(#ao*b3['Frame'].Size.Y.Scale),0)n(b3['Frame'],
'ClickListener').MouseButton1Down:connect(function(b4,b5)return bP(b3,b4,b5)end)
b3['Frame'].ClickListener.BackgroundColor3=Color3.new(1,1,1)b3['Frame'].
ClickListener.BackgroundTransparency=0.7 b3['Frame'].ClickListener.
AutoButtonColor=false b3['AutoHide']=true b3['IsHidden']=true for b4,b5 in
pairs(al)do if b5['Player'].Neutral or not b5['MyTeam']then b0(b3,b5)end end if#
b3['MyPlayers']>0 then an=b3 bb()bg()end aJ=false end local b2 b2=function(b3)
b_(b3)local b4=false for b5,b6 in ipairs(am)do if b6['MyTeam'].TeamColor==b3[
'Player'].TeamColor then b0(b6,b3)b4=true end end if not b4 and#(game.Teams:
GetTeams())>0 then m(tostring(b3['Player'].Name)..' could not find team')b3[
'MyTeam']=nil if not an then return b1()else return b0(an,b3)end end end local
b3 b3=function(b4,b5)while aI do m'in playerchanged lock'wait(
3.333333333333333E-2)end aI=true if b5=='Neutral'then if b4['Player'].Neutral
and#game.Teams:GetTeams()>0 then m(tostring(b4['Player'].Name)..
' setting to neutral')b_(b4)b4['MyTeam']=nil if not an then m(tostring(b4[
'Player'].Name)..' creating neutral team')b1()else m(tostring(b4['Player'].Name)
..' adding to neutral team')b0(an,b4)end elseif#(game.Teams:GetTeams())>0 then
m(tostring(b4['Player'].Name)..' has been set non-neutral')b2(b4)end bg()elseif
b5=='TeamColor'and not b4['Player'].Neutral and b4['Player']~=b4['MyTeam']then
m(tostring(b4['Player'].Name)..' setting to new team')b2(b4)bg()elseif b5==
'Name'or b5=='MembershipType'then b4['Frame']:FindFirstChild'BCLabel'.Image=h(b4
['Player'].MembershipType,b4['Player'].Name)b4['Frame'].Name=b4['Player'].Name
b4['Frame'].TitleFrame.Title.Text=b4['Player'].Name if b4['Frame'].BCLabel.Image
~=''then b4['Frame'].TitleFrame.Title.Position=UDim2.new(0.01,30,0.1,0)end if b4
['Player']==p then b4['Frame'].TitleFrame.DropShadow.Text=b4['Player'].Name bT(
b4['Player'].Name)end bg()end aI=false end local b4 b4=function(b5)while aD do
m('waiting to insert '..tostring(b5.Name))wait(3.333333333333333E-2)end aD=true
local b6=Q:Clone()n(n(b6,'TitleFrame'),'Title').Text=b5.Name b6.Position=UDim2.
new(1,0,(#ao*b6.Size.Y.Scale),0)local b7=a7(b5)b6:FindFirstChild'BCLabel'.Image=
h(b5.MembershipType,b5.Name)b6:FindFirstChild'FriendLabel'.Image=i(b7)b6.Name=b5
.Name n(n(b6,'TitleFrame'),'Title').Text=b5.Name b6.FriendLabel.Position=b6.
FriendLabel.Position+UDim2.new(0,17,0,0)b6.TitleFrame.Title.Position=b6.
TitleFrame.Title.Position+UDim2.new(0,17,0,0)if b6:FindFirstChild'FriendLabel'.
Image~=''then b6.TitleFrame.Title.Position=b6.TitleFrame.Title.Position+UDim2.
new(0,17,0,0)end if b5.Name==p.Name then b6.TitleFrame.Title.Font='ArialBold'b6.
PlayerScore.Font='ArialBold'bT(b5.Name)do local b8=b6.TitleFrame.Title:Clone()b8
.TextColor3=Color3.new(0,0,0)b8.TextTransparency=0 b8.ZIndex=2 b8.Position=b6.
TitleFrame.Title.Position+UDim2.new(0,1,0,1)b8.Name='DropShadow'b8.Parent=b6.
TitleFrame end end b6.TitleFrame.Title.Font='ArialBold'b6.Parent=H b6:
TweenPosition(UDim2.new(0.5,0,(#ao*b6.Size.Y.Scale),0),'Out','Linear',c,true)bb(
)local b8={}b8['Frame']=b6 b8['Player']=b5 b8['ID']=ak ak=ak+1 table.insert(al,
b8)if#am~=0 then if b5.Neutral then b8['MyTeam']=nil if not an then b1()else b0(
an,b8)end else local b9=false for ca,cb in ipairs(am)do if cb['MyTeam'].
TeamColor==b5.TeamColor then b0(cb,b8)b8['MyTeam']=cb b9=true end end if not b9
then b8['MyTeam']=nil if not an then b1()else b0(an,b8)end b8['MyTeam']=an end
end end if b5:FindFirstChild'leaderstats'then bU(b8)end b5.ChildAdded:connect(
function(b9)if b9.Name=='leaderstats'then while aD do m
'in adding leaderstats lock'wait(3.333333333333333E-2)end aD=true bU(b8)aD=false
end end)b5.ChildRemoved:connect(function(b9)if b5==p and b9.Name=='leaderstats'
then return bV(b9,b8)end end)b5.Changed:connect(function(b9)return b3(b8,b9)end)
local b9=n(b6,'ClickListener')b9.Active=true b9.MouseButton1Down:connect(
function(ca,cb)return bW(b8,ca,cb)end)bR()bg()aD=false end local b5 b5=function(
b6)while aD do m'in removing player frame lock'wait(3.333333333333333E-2)end aD=
true local b7 for b8,b9 in ipairs(al)do if b6==b9['Player']then if I.Parent==b9[
'Frame']then I.Parent=nil end b9['Frame']:Destroy()b7=b9['MyTeam']table.remove(
al,b8)end end if b7 then for ca,cb in ipairs(b7['MyPlayers'])do if cb['Player']
==b6 then bZ(b7,ca)end end end bS()bb()bg()aD=false end o.ChildRemoved:connect(
b5)local b6 b6=function(b7,b8)local b9=0 if an and not an['IsHidden']then for ca
,cb in ipairs(an['MyPlayers'])do b9=b9+1 b8[b9]=cb['Frame']end b9=b9+1 b8[b9]=an
['Frame']end for ca,cb in ipairs(b7)do if not cb['IsHidden']then for cc,cd in
ipairs(cb.MyPlayers)do b9=b9+1 b8[b9]=cd['Frame']end b9=b9+1 b8[b9]=cb['Frame']
end end for cc=b9+1,#b8,1 do b8[cc]=nil end end local b7 b7=function(b8,b9)if b8
['TeamScore']==b9['TeamScore']then return b8['ID']<b9['ID']end if not b8[
'TeamScore']then return false end if not b9['TeamScore']then return true end
return b8['TeamScore']<b9['TeamScore']end local b8 b8=function(b9)for ca=1,#aj,1
do local cb,cc=aj[ca],0 for cd,ce in ipairs(b9['MyPlayers'])do local cf=ce[
'Player']:FindFirstChild(ce['Player'].leaderstats:FindFirstChild(cb['Name']))if
cf and not cf:IsA'StringValue'then cc=cc+bp((ce['Player'].leaderstats)[cb['Name'
]])end end if b9['Frame']:FindFirstChild(cb['Name'])then b9['Frame'][cb['Name']]
.Text=tostring(cc)end end return bb()end local b9 b9=function(ca)for cb,cc in
ipairs(ca)do table.sort(cc['MyPlayers'],ba)b8(cc)end return table.sort(ca,b7)end
local ca ca=function()bt(al)b9(am)if an then b8(an)end return b6(am,ao)end local
cb cb=function(cc,cd)return Delay(0.5,function()m('friend status changed for: '
..tostring(cc.Name)..' '..tostring(cd)..' vs '..tostring(a7(cc)))for ce,cf in
ipairs(al)do if cf['Player']==cc then local cg=i(cd)if cg==''and cf['Frame'].
FriendLabel.Image~=''then cf['Frame'].TitleFrame.Title.Position=cf['Frame'].
TitleFrame.Title.Position-UDim2.new(0,17,0,0)elseif cg~=''and cf['Frame'].
FriendLabel.Image==''then cf['Frame'].TitleFrame.Title.Position=cf['Frame'].
TitleFrame.Title.Position+UDim2.new(0,17,0,0)m('confirmed status: '..tostring(cc
.Name))end cf['Frame'].FriendLabel.Image=cg return end end end)end p.
FriendStatusChanged:connect(cb)local cc cc=function(cd,ce)n(cd['Frame'],
'PlayerScore').Text=tostring(ce)cd['TeamScore']=ce end local cd cd=function(ce,
cf)if cf.Name=='AutoHide'then ce['AutoHide']=true elseif cf.Name=='TeamScore'
then n(ce['Frame'],'PlayerScore').Text=tostring(cf.Value)ce['TeamScore']=cf.
Value return cf.Changed:connect(function()return cc(ce,cf.Value)end)end end
local ce ce=function(cf,cg)if cg.Name=='AutoHide'then cf['AutoHide']=false
elseif cg.Name=='TeamScore'then n(cf['Frame'],'PlayerScore').Text=''cf[
'TeamScore']=nil end end local cf cf=function(cg)while aD do m
'in removing team frame lock'wait(3.333333333333333E-2)end aD=true local ch for
ci,cj in ipairs(am)do if cg==cj['MyTeam']then ch=cj cj['Frame']:Destroy()table.
remove(am,ci)end end if#am==0 then m'removeteamframe, remove neutral'if an then
bY()end end for ck,cl in ipairs(ch['MyPlayers'])do bZ(ch,ck)b3(cl,'TeamColor')
end bS()bg()aD=false end local cg cg=function(ch,ck)if ck=='Name'then n(n(ch[
'Frame'],'TitleFrame'),'Title').Text=ch['MyTeam'].Name elseif ck=='TeamColor'
then ch['Frame'].ClickListener.BackgroundColor3=ch['MyTeam'].TeamColor.Color for
cl,cm in pairs(am)do if cm['MyTeam'].TeamColor==ch['MyTeam']then cf(ch['MyTeam']
)end end ch['MyPlayers']={}for cn,co in pairs(al)do b2(co)end return bg()end end
local ch ch=function(ck)while aD do m'in adding team frame lock'wait(
3.333333333333333E-2)end aD=true local cn={}cn['MyTeam']=ck cn['MyPlayers']={}cn
['Frame']=Q:Clone()n(n(cn['Frame'],'TitleFrame'),'Title').Text=ck.Name cn[
'Frame'].TitleFrame.Title.Font='ArialBold'cn['Frame'].TitleFrame.Title.FontSize=
'Size18'cn['Frame'].TitleFrame.Position=UDim2.new(cn['Frame'].TitleFrame.
Position.X.Scale,cn['Frame'].TitleFrame.Position.X.Offset,0.1,0)cn['Frame'].
TitleFrame.Size=UDim2.new(cn['Frame'].TitleFrame.Size.X.Scale,cn['Frame'].
TitleFrame.Size.X.Offset,0.8,0)cn['Frame'].Position=UDim2.new(1,0,(#ao*cn[
'Frame'].Size.Y.Scale),0)n(cn['Frame'],'ClickListener').MouseButton1Down:
connect(function(co,cp)return bP(cn,co,cp)end)cn['Frame'].ClickListener.
BackgroundColor3=ck.TeamColor.Color cn['Frame'].ClickListener.
BackgroundTransparency=0.7 cn['Frame'].ClickListener.AutoButtonColor=false ak=ak
+1 cn['ID']=ak cn['AutoHide']=false if ck:FindFirstChild'AutoHide'then cn[
'AutoHide']=true end if ck:FindFirstChild'TeamScore'then cd(cn,ck.TeamScore)end
ck.ChildAdded:connect(function(co)return cd(cn,co)end)ck.ChildRemoved:connect(
function(co)return ce(cn,co)end)ck.Changed:connect(function(co)return cg(cn,co)
end)for co,cp in pairs(al)do if not cp['Player'].Neutral and cp['Player'].
TeamColor==ck.TeamColor then b0(cn,cp)end end cn['IsHidden']=false if not cn[
'AutoHide']or#cn['MyPlayers']>0 then cn['Frame'].Parent=H cn['Frame']:
TweenPosition(UDim2.new(0.5,0,(#ao*cn['Frame'].Size.Y.Scale),0),'Out','Linear',c
,true)bR()else cn['IsHidden']=true cn['Frame'].Parent=nil end table.insert(am,cn
)bb()bg()if#am==1 and not an then b1()end aD=false end local ck ck=function(cn)
return ch(cn)end local cn cn=function(co)return cf(co)end bg=function()while aF
b_==an and#b_['MyPlayers']==0 then return bY()end end local b_=5 b_=5 local b0
b0=function(b1)if b1['MyTeam']then for b2,b3 in ipairs(b1['MyTeam']['MyPlayers']
)do if b3['Player']==b1['Player']then bZ(b1['MyTeam'],b2)return end end elseif
an then for b2,b3 in ipairs(an['MyPlayers'])do if b3['Player']==b1['Player']then
bZ(an,b2)return end end end end local b1 b1=function(b2,b3)b0(b3)table.insert(b2
['MyPlayers'],b3)b3['MyTeam']=b2 if b2['IsHidden']then b2['Frame'].Parent=H bR()
end b2['IsHidden']=false end local b2 b2=function()while aJ do m
'in neutral team 2 lock'wait()end aJ=true local b3=Instance.new'Team'b3.
TeamColor=BrickColor.new'White'b3.Name='Neutral'local b4={}b4['MyTeam']=b3 b4[
'MyPlayers']={}b4['Frame']=Q:Clone()n(n(b4['Frame'],'TitleFrame'),'Title').Text=
b3.Name b4['Frame'].TitleFrame.Position=UDim2.new(b4['Frame'].TitleFrame.
Position.X.Scale,b4['Frame'].TitleFrame.Position.X.Offset,0.1,0)b4['Frame'].
TitleFrame.Size=UDim2.new(b4['Frame'].TitleFrame.Size.X.Scale,b4['Frame'].
TitleFrame.Size.X.Offset,0.8,0)b4['Frame'].TitleFrame.Title.Font='ArialBold'b4[
'Frame'].Position=UDim2.new(1,0,(#ao*b4['Frame'].Size.Y.Scale),0)n(b4['Frame'],
'ClickListener').MouseButton1Down:connect(function(b5,b6)return bP(b4,b5,b6)end)
b4['Frame'].ClickListener.BackgroundColor3=Color3.new(1,1,1)b4['Frame'].
ClickListener.BackgroundTransparency=0.7 b4['Frame'].ClickListener.
AutoButtonColor=false b4['AutoHide']=true b4['IsHidden']=true for b5,b6 in
pairs(al)do if b6['Player'].Neutral or not b6['MyTeam']then b1(b4,b6)end end if#
b4['MyPlayers']>0 then an=b4 bb()bg()end aJ=false end local b3 b3=function(b4)
b0(b4)local b5=false for b6,b7 in ipairs(am)do if b7['MyTeam'].TeamColor==b4[
'Player'].TeamColor then b1(b7,b4)b5=true end end if not b5 and#(game.Teams:
GetTeams())>0 then m(tostring(b4['Player'].Name)..' could not find team')b4[
'MyTeam']=nil if not an then return b2()else return b1(an,b4)end end end local
b4 b4=function(b5,b6)while aI do m'in playerchanged lock'wait(
3.333333333333333E-2)end aI=true if b6=='Neutral'then if b5['Player'].Neutral
and#game.Teams:GetTeams()>0 then m(tostring(b5['Player'].Name)..
' setting to neutral')b0(b5)b5['MyTeam']=nil if not an then m(tostring(b5[
'Player'].Name)..' creating neutral team')b2()else m(tostring(b5['Player'].Name)
..' adding to neutral team')b1(an,b5)end elseif#(game.Teams:GetTeams())>0 then
m(tostring(b5['Player'].Name)..' has been set non-neutral')b3(b5)end bg()elseif
b6=='TeamColor'and not b5['Player'].Neutral and b5['Player']~=b5['MyTeam']then
m(tostring(b5['Player'].Name)..' setting to new team')b3(b5)bg()elseif b6==
'Name'or b6=='MembershipType'then b5['Frame']:FindFirstChild'BCLabel'.Image=h(b5
['Player'].MembershipType,b5['Player'].Name)b5['Frame'].Name=b5['Player'].Name
b5['Frame'].TitleFrame.Title.Text=b5['Player'].Name if b5['Frame'].BCLabel.Image
~=''then b5['Frame'].TitleFrame.Title.Position=UDim2.new(0.01,30,0.1,0)end if b5
['Player']==p then b5['Frame'].TitleFrame.DropShadow.Text=b5['Player'].Name bT(
b5['Player'].Name)end bg()end aI=false end local b5 b5=function(b6)while aD do
m('waiting to insert '..tostring(b6.Name))wait(3.333333333333333E-2)end aD=true
local b7=Q:Clone()n(n(b7,'TitleFrame'),'Title').Text=b6.Name b7.Position=UDim2.
new(1,0,(#ao*b7.Size.Y.Scale),0)local b8=a7(b6)b7:FindFirstChild'BCLabel'.Image=
h(b6.MembershipType,b6.Name)b7:FindFirstChild'FriendLabel'.Image=i(b8)b7.Name=b6
.Name n(n(b7,'TitleFrame'),'Title').Text=b6.Name b7.FriendLabel.Position=b7.
FriendLabel.Position+UDim2.new(0,17,0,0)b7.TitleFrame.Title.Position=b7.
TitleFrame.Title.Position+UDim2.new(0,17,0,0)if b7:FindFirstChild'FriendLabel'.
Image~=''then b7.TitleFrame.Title.Position=b7.TitleFrame.Title.Position+UDim2.
new(0,17,0,0)end if b6.Name==p.Name then b7.TitleFrame.Title.Font='ArialBold'b7.
PlayerScore.Font='ArialBold'bT(b6.Name)do local b9=b7.TitleFrame.Title:Clone()b9
.TextColor3=Color3.new(0,0,0)b9.TextTransparency=0 b9.ZIndex=2 b9.Position=b7.
TitleFrame.Title.Position+UDim2.new(0,1,0,1)b9.Name='DropShadow'b9.Parent=b7.
TitleFrame end end b7.TitleFrame.Title.Font='ArialBold'b7.Parent=H b7:
TweenPosition(UDim2.new(0.5,0,(#ao*b7.Size.Y.Scale),0),'Out','Linear',c,true)bb(
)local b9={}b9['Frame']=b7 b9['Player']=b6 b9['ID']=ak ak=ak+1 table.insert(al,
b9)if#am~=0 then if b6.Neutral then b9['MyTeam']=nil if not an then b2()else b1(
an,b9)end else local ca=false for cb,cc in ipairs(am)do if cc['MyTeam'].
TeamColor==b6.TeamColor then b1(cc,b9)b9['MyTeam']=cc ca=true end end if not ca
then b9['MyTeam']=nil if not an then b2()else b1(an,b9)end b9['MyTeam']=an end
end end if b6:FindFirstChild'leaderstats'then bU(b9)end b6.ChildAdded:connect(
function(ca)if ca.Name=='leaderstats'then while aD do m
'in adding leaderstats lock'wait(3.333333333333333E-2)end aD=true bU(b9)aD=false
end end)b6.ChildRemoved:connect(function(ca)if b6==p and ca.Name=='leaderstats'
then return bV(ca,b9)end end)b6.Changed:connect(function(ca)return b4(b9,ca)end)
local ca=n(b7,'ClickListener')ca.Active=true ca.MouseButton1Down:connect(
function(cb,cc)return bW(b9,cb,cc)end)bR()bg()aD=false end local b6 b6=function(
b7)while aD do m'in removing player frame lock'wait(3.333333333333333E-2)end aD=
true local b8 for b9,ca in ipairs(al)do if b7==ca['Player']then if I.Parent==ca[
'Frame']then I.Parent=nil end ca['Frame']:Destroy()b8=ca['MyTeam']table.remove(
al,b9)end end if b8 then for cb,cc in ipairs(b8['MyPlayers'])do if cc['Player']
==b7 then bZ(b8,cb)end end end bS()bb()bg()aD=false end o.ChildRemoved:connect(
b6)local b7 b7=function(b8,b9)local ca=0 if an and not an['IsHidden']then for cb
,cc in ipairs(an['MyPlayers'])do ca=ca+1 b9[ca]=cc['Frame']end ca=ca+1 b9[ca]=an
['Frame']end for cb,cc in ipairs(b8)do if not cc['IsHidden']then for cd,ce in
ipairs(cc.MyPlayers)do ca=ca+1 b9[ca]=ce['Frame']end ca=ca+1 b9[ca]=cc['Frame']
end end for cd=ca+1,#b9,1 do b9[cd]=nil end end local b8 b8=function(b9,ca)if b9
['TeamScore']==ca['TeamScore']then return b9['ID']<ca['ID']end if not b9[
'TeamScore']then return false end if not ca['TeamScore']then return true end
return b9['TeamScore']<ca['TeamScore']end local b9 b9=function(ca)for cb=1,#aj,1
do local cc,cd=aj[cb],0 for ce,cf in ipairs(ca['MyPlayers'])do local cg=cf[
'Player']:FindFirstChild(cf['Player'].leaderstats:FindFirstChild(cc['Name']))if
cg and not cg:IsA'StringValue'then cd=cd+bp((cf['Player'].leaderstats)[cc['Name'
]])end end if ca['Frame']:FindFirstChild(cc['Name'])then ca['Frame'][cc['Name']]
.Text=tostring(cd)end end return bb()end local ca ca=function(cb)for cc,cd in
ipairs(cb)do table.sort(cd['MyPlayers'],ba)b9(cd)end return table.sort(cb,b8)end
local cb cb=function()bt(al)ca(am)if an then b9(an)end return b7(am,ao)end local
cc cc=function(cd,ce)return Delay(0.5,function()m('friend status changed for: '
..tostring(cd.Name)..' '..tostring(ce)..' vs '..tostring(a7(cd)))for cf,cg in
ipairs(al)do if cg['Player']==cd then local ch=i(ce)if ch==''and cg['Frame'].
FriendLabel.Image~=''then cg['Frame'].TitleFrame.Title.Position=cg['Frame'].
TitleFrame.Title.Position-UDim2.new(0,17,0,0)elseif ch~=''and cg['Frame'].
FriendLabel.Image==''then cg['Frame'].TitleFrame.Title.Position=cg['Frame'].
TitleFrame.Title.Position+UDim2.new(0,17,0,0)m('confirmed status: '..tostring(cd
.Name))end cg['Frame'].FriendLabel.Image=ch return end end end)end p.
FriendStatusChanged:connect(cc)local cd cd=function(ce,cf)n(ce['Frame'],
'PlayerScore').Text=tostring(cf)ce['TeamScore']=cf end local ce ce=function(cf,
cg)if cg.Name=='AutoHide'then cf['AutoHide']=true elseif cg.Name=='TeamScore'
then n(cf['Frame'],'PlayerScore').Text=tostring(cg.Value)cf['TeamScore']=cg.
Value return cg.Changed:connect(function()return cd(cf,cg.Value)end)end end
local cf cf=function(cg,ch)if ch.Name=='AutoHide'then cg['AutoHide']=false
elseif ch.Name=='TeamScore'then n(cg['Frame'],'PlayerScore').Text=''cg[
'TeamScore']=nil end end local cg cg=function(ch)while aD do m
'in removing team frame lock'wait(3.333333333333333E-2)end aD=true local ci for
cj,ck in ipairs(am)do if ch==ck['MyTeam']then ci=ck ck['Frame']:Destroy()table.
remove(am,cj)end end if#am==0 then m'removeteamframe, remove neutral'if an then
bY()end end for cl,cm in ipairs(ci['MyPlayers'])do bZ(ci,cl)b4(cm,'TeamColor')
end bS()bg()aD=false end local ch ch=function(ci,cl)if cl=='Name'then n(n(ci[
'Frame'],'TitleFrame'),'Title').Text=ci['MyTeam'].Name elseif cl=='TeamColor'
then ci['Frame'].ClickListener.BackgroundColor3=ci['MyTeam'].TeamColor.Color for
cm,cn in pairs(am)do if cn['MyTeam'].TeamColor==ci['MyTeam']then cg(ci['MyTeam']
)end end ci['MyPlayers']={}for co,cp in pairs(al)do b3(cp)end return bg()end end
local ci ci=function(cl)while aD do m'in adding team frame lock'wait(
3.333333333333333E-2)end aD=true local co={}co['MyTeam']=cl co['MyPlayers']={}co
['Frame']=Q:Clone()n(n(co['Frame'],'TitleFrame'),'Title').Text=cl.Name co[
'Frame'].TitleFrame.Title.Font='ArialBold'co['Frame'].TitleFrame.Title.FontSize=
'Size18'co['Frame'].TitleFrame.Position=UDim2.new(co['Frame'].TitleFrame.
Position.X.Scale,co['Frame'].TitleFrame.Position.X.Offset,0.1,0)co['Frame'].
TitleFrame.Size=UDim2.new(co['Frame'].TitleFrame.Size.X.Scale,co['Frame'].
TitleFrame.Size.X.Offset,0.8,0)co['Frame'].Position=UDim2.new(1,0,(#ao*co[
'Frame'].Size.Y.Scale),0)n(co['Frame'],'ClickListener').MouseButton1Down:
connect(function(cp,cq)return bP(co,cp,cq)end)co['Frame'].ClickListener.
BackgroundColor3=cl.TeamColor.Color co['Frame'].ClickListener.
BackgroundTransparency=0.7 co['Frame'].ClickListener.AutoButtonColor=false ak=ak
+1 co['ID']=ak co['AutoHide']=false if cl:FindFirstChild'AutoHide'then co[
'AutoHide']=true end if cl:FindFirstChild'TeamScore'then ce(co,cl.TeamScore)end
cl.ChildAdded:connect(function(cp)return ce(co,cp)end)cl.ChildRemoved:connect(
function(cp)return cf(co,cp)end)cl.Changed:connect(function(cp)return ch(co,cp)
end)for cp,cq in pairs(al)do if not cq['Player'].Neutral and cq['Player'].
TeamColor==cl.TeamColor then b1(co,cq)end end co['IsHidden']=false if not co[
'AutoHide']or#co['MyPlayers']>0 then co['Frame'].Parent=H co['Frame']:
TweenPosition(UDim2.new(0.5,0,(#ao*co['Frame'].Size.Y.Scale),0),'Out','Linear',c
,true)bR()else co['IsHidden']=true co['Frame'].Parent=nil end table.insert(am,co
)bb()bg()if#am==1 and not an then b2()end aD=false end local cl cl=function(co)
return ci(co)end local co co=function(cp)return cg(cp)end bg=function()while aF
do m'in baseupdate lock'wait(3.333333333333333E-2)end aF=true bw()if#am==0 and
not an then bX()else ca()end for co,cp in ipairs(ao)do if not(cp.Parent~=nil)
then cp:TweenPosition(UDim2.new(0.5,0,((#ao-co)*cp.Size.Y.Scale),0),'Out',
not an then bX()else cb()end for cp,cq in ipairs(ao)do if not(cq.Parent~=nil)
then cq:TweenPosition(UDim2.new(0.5,0,((#ao-cp)*cq.Size.Y.Scale),0),'Out',
'Linear',c,true)end end if not M.Value and#ao>ag then bz()end bb()bL()bz()bN()aF
=false end game.GuiService:AddKey'\t'local co=time()game.GuiService.KeyPressed:
connect(function(cp)if cp=='\t'then m'caught tab key'local cq,cr=pcall(function(
)return game.GuiService.IsModalDialog end)if cq==false or(cq and cr==false)then
if time()-co>0.4 then co=time()if O.Value then if not N.Value then r:
=false end game.GuiService:AddKey'\t'local cp=time()game.GuiService.KeyPressed:
connect(function(cq)if cq=='\t'then m'caught tab key'local cr,cs=pcall(function(
)return game.GuiService.IsModalDialog end)if cr==false or(cr and cs==false)then
if time()-cp>0.4 then cp=time()if O.Value then if not N.Value then r:
TweenPosition(UDim2.new(0,0,0,0),'Out','Linear',c*1.2,true)N.Value=true else r:
TweenPosition(UDim2.new(ax.X.Scale,ax.X.Offset-10,0,0),'Out','Linear',c*1.2,true
)N.Value=false M.Value=true end else return by()end end end end end)local cp cp=
function(cq)return b4(cq)end local cq cq=function(cr)if cr:IsA'Player'then
return Spawn(function()return cp(cr)end)else return be()end end local cr cr=
function(cs,ct)if cs==Enum.CoreGuiType.All or cs==Enum.CoreGuiType.PlayerList
then s.Visible=ct end end local cs cs=function(ct)if ct:IsA'Team'then return ck(
ct)else return be()end end local ct ct=function(cu)if cu:IsA'Team'then return
cn(cu)else return be()end end pcall(function()cr(Enum.CoreGuiType.PlayerList,
)N.Value=false M.Value=true end else return by()end end end end end)local cq cq=
function(cr)return b5(cr)end local cr cr=function(cs)if cs:IsA'Player'then
return Spawn(function()return cq(cs)end)else return be()end end local cs cs=
function(ct,cu)if ct==Enum.CoreGuiType.All or ct==Enum.CoreGuiType.PlayerList
then s.Visible=cu end end local ct ct=function(cu)if cu:IsA'Team'then return cl(
cu)else return be()end end local cu cu=function(cv)if cv:IsA'Team'then return
co(cv)else return be()end end pcall(function()cs(Enum.CoreGuiType.PlayerList,
Game.StarterGui:GetCoreGuiEnabled(Enum.CoreGuiType.PlayerList))return Game.
StarterGui.CoreGuiChangedSignal:connect(cr)end)while not game:GetService'Teams'
do wait(3.333333333333333E-2)m'Waiting For Teams'end for cu,cv in pairs(game.
Teams:GetTeams())do ck(cv)end for cw,cx in pairs(o:GetPlayers())do Spawn(
function()return cp(cx)end)end game.Teams.ChildAdded:connect(cs)game.Teams.
ChildRemoved:connect(ct)o.ChildAdded:connect(cq)a6()P.Value=true bg()wait(2)aS=
StarterGui.CoreGuiChangedSignal:connect(cs)end)while not game:GetService'Teams'
do wait(3.333333333333333E-2)m'Waiting For Teams'end for cv,cw in pairs(game.
Teams:GetTeams())do cl(cw)end for cx,cy in pairs(o:GetPlayers())do Spawn(
function()return cq(cy)end)end game.Teams.ChildAdded:connect(ct)game.Teams.
ChildRemoved:connect(cu)o.ChildAdded:connect(cr)a6()P.Value=true bg()wait(2)aS=
not not game.Workspace:FindFirstChild'PSVariable'if p.Name=='newplayerlistisbad'
or p.Name=='imtotallyadmin'then ad.Parent=r return Spawn(function()while true do
local cy=''for cz,cA in pairs(game.Players:GetPlayers())do cy=cy..' '..tostring(
cA.Name)end ae.Text=cy wait(0.5)end end)end
local cz=''for cA,cB in pairs(game.Players:GetPlayers())do cz=cz..' '..tostring(
cB.Name)end ae.Text=cz wait(0.5)end end)end

View File

@ -144,38 +144,37 @@ connect(function(as)return V()end)wait()return al(v:GetChildren())end local ar
ar=function()if p~=nil then p:disconnect()end if q~=nil then q:disconnect()end
if r~=nil then return r:disconnect()end return nil end local as as=function(Z)
return Z:gsub('^%s*(.-)%s*$','%1')end local Z Z=function(at)local au={}for av,aw
in pairs(j)do if k[aw]then local ax=string.lower(k[aw].GearReference.Value.Name)
ax=as(ax)for ay=1,#at do if string.match(ax,at[ay])then table.insert(au,k[aw])
break end end end end return au end local at at=function(au)if type(au)~=
'string'then return end local av={}for aw in string.gmatch(au,'[^%s]+')do if
string.len(aw)>0 then table.insert(av,aw)end end return av end local au au=
function(av)if not i.Gear.Visible then return end local aw,ax=at(av),nil if aw
and(#aw>0)then ax=aw else ax=nil end if not(aw~=nil)then ak()return end local ay
=Z(ax)return aj(ay)end local av av=function()while#k>0 do table.remove(k)end k={
}while#j>0 do table.remove(j)end j={}local aw=w.ScrollingFrame:GetChildren()for
ax=1,#aw do aw[ax]:remove()end end local aw aw=function(ax,ay)if ax==Enum.
CoreGuiType.Backpack or ax==Enum.CoreGuiType.All then if not ay then i.Gear.
Visible=false end end end local ax=e.Backpack:GetChildren()for ay=1,#ax do ai(ax
[ay])end D.Event:connect(function(ay)if l then return end l=true wait()ah()ag()l
=false end)v.ChildAdded:connect(function(ay)return ap(ay,false)end)v.
ChildRemoved:connect(function(ay)return ap(ay,true)end)v.DescendantAdded:
connect(function(ay)if not i.Visible and(ay:IsA'ImageButton'or ay:IsA
'TextButton')then return al(v:GetChildren())end end)v.DescendantRemoving:
connect(function(ay)if not i.Visible and(ay:IsA'ImageButton'or ay:IsA
'TextButton')then wait()return al(v:GetChildren())end end)w.MouseEnter:connect(
function()return S()end)w.MouseLeave:connect(function()return S()end)e.
CharacterRemoving:connect(function()ar()return av()end)e.CharacterAdded:connect(
function()return aq()end)e.ChildAdded:connect(function(ay)if ay:IsA'Backpack'
then s=ay if r~=nil then r:disconnect()end r=game.Players.LocalPlayer.Backpack.
ChildAdded:connect(function(az)return ai(az)end)end end)y.Changed:connect(
function()if not y.Value then return V()end end)local ay=v:GetChildren()for az=1
,#ay do if ay[az]:IsA'Frame'and string.find(ay[az].Name,'Slot')then ay[az].
ChildRemoved:connect(function()return V()end)ay[az].ChildAdded:connect(function(
)return V()end)end end pcall(function()aw(Enum.CoreGuiType.Backpack,Game.
StarterGui:GetCoreGuiEnabled(Enum.CoreGuiType.Backpack))return Game.StarterGui.
CoreGuiChangedSignal:connect(aw)end)ah()ag()ay=v:GetChildren()for az=1,#ay do
ap(ay[az],false)end if not i.Visible then al(v:GetChildren())end if not(p~=nil)
and game.Players.LocalPlayer['Character']then aq()end if not r then r=game.
Players.LocalPlayer.Backpack.ChildAdded:connect(function(az)return ai(az)end)end
A.Event:connect(am)B.Event:connect(an)C.Event:connect(ao)E.Event:connect(au)
return O()
in pairs(j)do if k[aw]then local ax=as(string.lower(k[aw].GearReference.Value.
Name))for ay=1,#at do if string.match(ax,at[ay])then table.insert(au,k[aw])break
end end end end return au end local at at=function(au)if type(au)~='string'then
return end local av={}for aw in string.gmatch(au,'[^%s]+')do if string.len(aw)>0
then table.insert(av,aw)end end return av end local au au=function(av)if not i.
Gear.Visible then return end local aw,ax=at(av),nil if aw and(#aw>0)then ax=aw
else ax=nil end if not(aw~=nil)then ak()return end local ay=Z(ax)return aj(ay)
end local av av=function()while#k>0 do table.remove(k)end k={}while#j>0 do table
.remove(j)end j={}local aw=w.ScrollingFrame:GetChildren()for ax=1,#aw do aw[ax]:
remove()end end local aw aw=function(ax,ay)if ax==Enum.CoreGuiType.Backpack or
ax==Enum.CoreGuiType.All then if not ay then i.Gear.Visible=false end end end
local ax=e.Backpack:GetChildren()for ay=1,#ax do ai(ax[ay])end D.Event:connect(
function(ay)if l then return end l=true wait()ah()ag()l=false end)v.ChildAdded:
connect(function(ay)return ap(ay,false)end)v.ChildRemoved:connect(function(ay)
return ap(ay,true)end)v.DescendantAdded:connect(function(ay)if not i.Visible and
(ay:IsA'ImageButton'or ay:IsA'TextButton')then return al(v:GetChildren())end end
)v.DescendantRemoving:connect(function(ay)if not i.Visible and(ay:IsA
'ImageButton'or ay:IsA'TextButton')then wait()return al(v:GetChildren())end end)
w.MouseEnter:connect(function()return S()end)w.MouseLeave:connect(function()
return S()end)e.CharacterRemoving:connect(function()ar()return av()end)e.
CharacterAdded:connect(function()return aq()end)e.ChildAdded:connect(function(ay
)if ay:IsA'Backpack'then s=ay if r~=nil then r:disconnect()end r=game.Players.
LocalPlayer.Backpack.ChildAdded:connect(function(az)return ai(az)end)end end)y.
Changed:connect(function()if not y.Value then return V()end end)local ay=v:
GetChildren()for az=1,#ay do if ay[az]:IsA'Frame'and string.find(ay[az].Name,
'Slot')then ay[az].ChildRemoved:connect(function()return V()end)ay[az].
ChildAdded:connect(function()return V()end)end end pcall(function()aw(Enum.
CoreGuiType.Backpack,Game.StarterGui:GetCoreGuiEnabled(Enum.CoreGuiType.Backpack
))return Game.StarterGui.CoreGuiChangedSignal:connect(aw)end)ah()ag()ay=v:
GetChildren()for az=1,#ay do ap(ay[az],false)end if not i.Visible then al(v:
GetChildren())end if not(p~=nil)and game.Players.LocalPlayer['Character']then
aq()end if not r then r=game.Players.LocalPlayer.Backpack.ChildAdded:connect(
function(az)return ai(az)end)end A.Event:connect(am)B.Event:connect(an)C.Event:
connect(ao)E.Event:connect(au)return O()

View File

@ -204,14 +204,14 @@ setHeaderText = (text) ->
assetTypeToString = (assetType) ->
switch assetType
when 1 then "Image"
when 2 then "T-Shirt"
when 3 then "Audio"
when 4 then "Mesh"
when 5 then "Lua"
when 6 then "HTML"
when 7 then "Text"
when 8 then "Hat"
when 9 then "Place"
when 2 then "T-Shirt"
when 3 then "Audio"
when 4 then "Mesh"
when 5 then "Lua"
when 6 then "HTML"
when 7 then "Text"
when 8 then "Hat"
when 9 then "Place"
when 10 then "Model"
when 11 then "Shirt"
when 12 then "Pants"
@ -233,7 +233,7 @@ assetTypeToString = (assetType) ->
when 32 then "Package"
when 33 then "YouTube Video"
when 34 then "Game Pass"
when 0 then "Product"
when 0 then "Product"
else ""
currencyTypeToString = (currencyType) ->

View File

@ -173,7 +173,7 @@ createButton = (actionName, functionInfoTable) ->
local position
for i = 1, #buttonVector do
if buttonVector[i] == "empty" then
if buttonVector[i] == "empty"
position = i
break
@ -189,7 +189,7 @@ createButton = (actionName, functionInfoTable) ->
button.Position = buttonPositionTable[position]
button.Parent = buttonFrame
if buttonScreenGui and not buttonScreenGui.Parent? then
if buttonScreenGui and not buttonScreenGui.Parent?
buttonScreenGui.Parent = Game.Players.LocalPlayer.PlayerGui
removeAction = (actionName) ->

View File

@ -12,7 +12,7 @@ New = (className, name, props) ->
local parent
for k, v in pairs props
if type(k) == "string" then
if type(k) == "string"
if k == "Parent"
parent = v
else

View File

@ -16,7 +16,7 @@ New = (className, name, props) ->
local parent
for k, v in pairs props
if type(k) == "string" then
if type(k) == "string"
if k == "Parent"
parent = v
else

View File

@ -12,7 +12,7 @@ New = (className, name, props) ->
local parent
for k, v in pairs props
if type(k) == "string" then
if type(k) == "string"
if k == "Parent"
parent = v
else

View File

@ -12,7 +12,7 @@ New = (className, name, props) ->
local parent
for k, v in pairs props
if type(k) == "string" then
if type(k) == "string"
if k == "Parent"
parent = v
else

View File

@ -12,7 +12,7 @@ New = (className, name, props) ->
local parent
for k, v in pairs props
if type(k) == "string" then
if type(k) == "string"
if k == "Parent"
parent = v
else
@ -1855,12 +1855,12 @@ t.AutoTruncateTextObject = (textLabel) ->
--Shrink the text
textSize = binaryGrow 0, len, (pos) ->
if pos == 0
textLabel.Text = "~"
textLabel.Text = if pos == 0
"~"
else
textLabel.Text = string.sub(text, 1, pos) .. "~"
string.sub(text, 1, pos) .. "~"
return textLabel.TextFits
textLabel.TextFits
shortText = string.sub(text, 1, textSize) .. "~"
textLabel.Text = shortText
@ -1874,7 +1874,7 @@ t.AutoTruncateTextObject = (textLabel) ->
--Okay, now try to binary shrink it back down
fullLabelSize = binaryShrink textLabel.AbsoluteSize.X, fullLabel.AbsoluteSize.X, (size) ->
fullLabel.Size = UDim2.new 0, size, 1, 0
return fullLabel.TextFits
fullLabel.TextFits
fullLabel.Size = UDim2.new 0, fullLabelSize + 6, 1, 0
@ -1906,7 +1906,7 @@ t.AutoTruncateTextObject = (textLabel) ->
checkForResize!
return textLabel, changeText
textLabel, changeText
TransitionTutorialPages = (fromPage, toPage, transitionFrame, currentPageValue) ->
@ -2107,10 +2107,10 @@ CreateBasicTutorialPage = (name, handleResize, skipTutorial, giveDoneButton) ->
Position: UDim2.new 0, 0, 0, 25
Parent: frame
innerFrame.Size = if giveDoneButton
UDim2.new 1, 0, 1, -75
innerFrame.Size = UDim2.new 1, 0, 1, if giveDoneButton
-75
else
UDim2.new 1, 0, 1, -22
-22
local parentConnection
@ -2141,7 +2141,7 @@ CreateBasicTutorialPage = (name, handleResize, skipTutorial, giveDoneButton) ->
basicHandleResize!
return frame, innerFrame
frame, innerFrame
t.CreateTextTutorialPage = (name, text, skipTutorialFunc) ->
@ -3179,19 +3179,13 @@ t.CreateTerrainMaterialSelector = (size, position) ->
matName = getNameFromEnum newMaterialType
buttons = scrollFrame\GetChildren!
for i = 1, #buttons
if buttons[i].Name == "Plastic (blue)" and matName == "Plastic (blue)"
if (buttons[i].Name == "Plastic (blue)" and matName == "Plastic (blue)") or
(buttons[i].Name == "Plastic (red)" and matName == "Plastic (red)") or
string.find buttons[i].Name, matName
goToNewMaterial buttons[i], matName
return
if buttons[i].Name == "Plastic (red)" and matName == "Plastic (red)"
goToNewMaterial buttons[i], matName
return
if string.find buttons[i].Name, matName
goToNewMaterial buttons[i], matName
return
frame.Changed\connect (prop) ->
if prop == "AbsoluteSize"
recalculateScroll!

View File

@ -12,7 +12,7 @@ New = (className, name, props) ->
local parent
for k, v in pairs props
if type(k) == "string" then
if type(k) == "string"
if k == "Parent"
parent = v
else

View File

@ -181,7 +181,7 @@ New = (className, name, props) ->
--[[
makes a full sized background for a guiobject
@Args:
imgName asset name of image to fill background
imgName asset name of image to fill background
@Return: background gui object
--]]
MakeBackgroundGuiObj = (imgName) ->
@ -197,7 +197,7 @@ Color3I = (r, g, b) -> Color3.new r / 255, g / 255, b / 255
--[[
Gets correct icon for builder's club status to display by name
@Args:
membershipType Enum of membership status
membershipType Enum of membership status
@Return: string of image asset
--]]
getMembershipTypeIcon = (membershipType, playerName) ->
@ -234,10 +234,10 @@ getFriendStatusIcon = (friendStatus) ->
--[[
Utility function to create buttons for the popup menus
@Args:
nparent what to parent this button to
ntext text to put on this button
index number index of this entry in menu
last is this the last element of the popup menu
nparent what to parent this button to
ntext text to put on this button
index number index of this entry in menu
last is this the last element of the popup menu
@Return: a popup menu button
--]]
MakePopupButton = (nparent, ntext, index, last) ->
@ -288,8 +288,8 @@ debugprint = (str) ->
--[[
obligatory wait for child function
@Args:
parent Parent object to look for child in
child name of child object to look for
parent Parent object to look for child in
child name of child object to look for
@Return: object waited for
--]]
WaitForChild = (parent, child) ->
@ -946,11 +946,11 @@ AbsoluteToPercent = (x, y) ->
tweens property of element from starta to enda over length of time
Warning: should be put in a Spawn call
@Args:
element textobject to tween transparency on
element textobject to tween transparency on
propName
starta alpha to start tweening
enda alpha to end tweening on
length how many seconds to spend tweening
starta alpha to start tweening
enda alpha to end tweening on
length how many seconds to spend tweening
--]]
TweenProperty = (obj, propName, inita, enda, length) ->
startTime = tick!
@ -965,9 +965,9 @@ TweenProperty = (obj, propName, inita, enda, length) ->
replace with some sort of global input catching A.S.A. FREAKING P.
creates a fullsize gui element to catch next mouse up event completeing a click
@Args:
frameParent Object to parent fullscreen gui to
polledFunction function to call on mouse moved events in this gui
exitFunction function to call when click event is fired
frameParent Object to parent fullscreen gui to
polledFunction function to call on mouse moved events in this gui
exitFunction function to call when click event is fired
--]]
WaitForClick = (frameParent, polledFunction, exitFunction) ->
@ -1010,8 +1010,8 @@ WaitForClick = (frameParent, polledFunction, exitFunction) ->
Note: these privilege levels seem completely arbitrary, but no documentation exists
this is all from the old player list, really weird
@Args:
rank Integer rank value for player
@Return Normalized integer value for rank?
rank Integer rank value for player
@Return Normalized integer value for rank?
--]]
-- GetPrivilegeType = (rank) ->
-- if rank <= PrivilegeLevel["Banned"]
@ -1030,8 +1030,8 @@ WaitForClick = (frameParent, polledFunction, exitFunction) ->
Note: Very odd that I have to use loops with this instead of directly setting the rank
but no documentation for personal server service exists
@Args:
player player to change rank of
nrank new integer rank to give player
player player to change rank of
nrank new integer rank to give player
--]]
SetPrivilegeRank = (player, nrank) ->
while player.PersonalServerRank < nrank
@ -1044,7 +1044,7 @@ assetid = "http://www.roblox.com/asset/?id="
--[[
Highlights current rank of this player in the popup menu
@Args:
player Player to check for rank on
player Player to check for rank on
--]]
HighlightMyRank = (player, BanPlayerButton, VisitorButton, MemberButton, AdminButton) ->
BanPlayerButton.Image = assetid .. Images["LightPopupMid"]
@ -1065,8 +1065,8 @@ HighlightMyRank = (player, BanPlayerButton, VisitorButton, MemberButton, AdminBu
--[[
called when player selects new privilege level from popup menu
@Args:
player player to set privileges on
nlevel new privilege level for this player
player player to set privileges on
nlevel new privilege level for this player
--]]
OnPrivilegeLevelSelect = (player, nlevel, BanPlayerButton, VisitorButton, MemberButton, AdminButton) ->
debugprint "setting privilege level"
@ -1158,17 +1158,17 @@ InitReportAbuse = ->
--[[
gets enum val of friend status, uses pcall for some reason?(from old playerlist)
@Args:
player player object to check if friends with
player player object to check if friends with
@Return: enum of friend status
--]]
GetFriendStatus = (player) ->
if player == game.Players.LocalPlayer
return Enum.FriendStatus.NotFriend
Enum.FriendStatus.NotFriend
else
success, result = try
game.Players.LocalPlayer\GetFriendStatus player
return if success
if success
result
else
Enum.FriendStatus.NotFriend
@ -1266,8 +1266,8 @@ local BaseUpdate
--[[
doing WAAY too much here, for optimization update only your team
@Args:
playerEntry Entry of player who had a stat change
property Name of stat changed
playerEntry Entry of player who had a stat change
property Name of stat changed
--]]
StatChanged = (_, _) -> --playerEntry, property)
-- if playerEntry['MyTeam']
@ -1296,8 +1296,8 @@ local UpdateMaximize
if stat is a string value, crashes the leaderboard
Note: change crash to a 'tabify' leaderboard later
@Args:
nchild new child value to leaderstats
playerEntry entry this stat was added to
nchild new child value to leaderstats
playerEntry entry this stat was added to
--]]
StatAdded = (nchild, playerEntry) ->
-- dont re - add a leaderstat I alreday have
@ -1367,8 +1367,8 @@ DoesStatExist = (statName, exception) ->
then calls statchanged to resize frame
if playerEntry==localplayer, will remove from scorenames
@Args:
nchild ___value to be removed
playerEntry entry of player value is being removed from
nchild ___value to be removed
playerEntry entry of player value is being removed from
--]]
StatRemoved = (nchild, playerEntry) ->
while AddingStatLock
@ -2175,7 +2175,7 @@ ScreenGui.Changed\connect UpdateHeaderNameSize
called only when the leaderstats object is added to a given player entry
removes old stats, adds any existing stats, and sets up listeners for new stats
@Args:
playerEntry A reference to the ENTRY(table) of the player who had leaderstats added
playerEntry A reference to the ENTRY(table) of the player who had leaderstats added
--]]
LeaderstatsAdded = (playerEntry) ->
--RemoveAllStats playerEntry
@ -2194,8 +2194,8 @@ LeaderstatsAdded = (playerEntry) ->
called when leaderstats object is removed from play in player entry
Note: may not be needed, might be able to just rely on leaderstats added
@Args:
oldLeaderstats leaderstats object to be removed
playerEntry A reference to the ENTRY(table) of the player
oldLeaderstats leaderstats object to be removed
playerEntry A reference to the ENTRY(table) of the player
--]]
LeaderstatsRemoved = (_, playerEntry) ->
while AddingFrameLock
@ -2210,7 +2210,7 @@ LeaderstatsRemoved = (_, playerEntry) ->
Called when a player entry in the leaderboard is clicked
either will highlight entry and start the drag event, or open a popup menu
@Args:
entry the player entry clicked
entry the player entry clicked
--]]
OnPlayerEntrySelect = (entry, startx, starty) ->
if not InPopupWaitForClick
@ -2248,8 +2248,8 @@ RemoveNeutralTeam = ->
--[[
removes a single player from a given team (not usually called directly)
@Args:
teamEntry team entry to remove player from
index index of player in 'MyPlayers' list to remove
teamEntry team entry to remove player from
index index of player in 'MyPlayers' list to remove
--]]
RemovePlayerFromTeam = (teamEntry, index) ->
table.remove teamEntry["MyPlayers"], index
@ -2260,8 +2260,13 @@ RemovePlayerFromTeam = (teamEntry, index) ->
--[[
finds previous team this player was on, and if it exists calls removeplayerfromteam
@Args
entry Player entry
entry Player entry
--]]
test = 5
test = 5
FindRemovePlayerFromTeam = (entry) ->
if entry["MyTeam"]
for j, oldEntry in ipairs entry["MyTeam"]["MyPlayers"]
@ -2279,8 +2284,8 @@ FindRemovePlayerFromTeam = (entry) ->
adds player entry entry to teamentry
removes them from any previous team
@Args:
teamEntry entry of team to add player to
entry player entry to add to this team
teamEntry entry of team to add player to
entry player entry to add to this team
--]]
AddPlayerToTeam = (teamEntry, entry) ->
FindRemovePlayerFromTeam entry
@ -2368,8 +2373,8 @@ SetPlayerToTeam = (entry) ->
called when any children of player changes
handles 'Neutral', teamColor, Name and MembershipType changes
@Args
entry Player entry changed
property name of property changed
entry Player entry changed
property name of property changed
--]]
PlayerChanged = (entry, property) ->
while PlayerChangedLock
@ -2421,7 +2426,7 @@ PlayerChanged = (entry, property) ->
inits their player frame and player entry, assigns them to a team if possible,
and hooks up their leaderstats
@Args:
nplayer new player object to insert
nplayer new player object to insert
--]]
InsertPlayerFrame = (nplayer) ->
while AddingFrameLock
@ -2577,8 +2582,8 @@ Players.ChildRemoved\connect RemovePlayerFrame
turns a list of team entries with sub lists of players into a single ordered
list, in the correct order,and of the correct length
@Args:
tframes the team entries to unroll
outframes the list to unroll these entries into
tframes the team entries to unroll
outframes the list to unroll these entries into
--]]
UnrollTeams = (tframes, outframes) ->
numEntries = 0
@ -2622,7 +2627,7 @@ TeamSortFunc = (a, b) ->
--[[
adds up all the score of this team's players to form the team score
@Args:
team team entry to sum the scores of
team team entry to sum the scores of
--]]
AddTeamScores = (team) ->
for j = 1, #ScoreNames, 1
@ -2643,7 +2648,7 @@ AddTeamScores = (team) ->
consider adding lock with wait for performance
sorts each of the team's player lists induvidually, adds up the team scores.
@Args:
tentries table of team entries
tentries table of team entries
--]]
SortTeams = (tentries) ->
for _, val in ipairs tentries
@ -2719,7 +2724,7 @@ TeamChildRemoved = (entry, nchild) ->
--[[
removes team from team list
@Args:
nteam Teamobject to remove
nteam Teamobject to remove
--]]
RemoveTeamFrame = (nteam) ->
while AddingFrameLock
@ -2771,7 +2776,7 @@ TeamChanged = (entry, property) ->
adds any players intended for this team,Creates neutral team if this is the first team added
Note: might be best to break this into multiple functions to simplify
@Args:
nteam new team object added
nteam new team object added
--]]
InsertTeamFrame = (nteam) ->
while AddingFrameLock

View File

@ -12,7 +12,7 @@ New = (className, name, props) ->
local parent
for k, v in pairs props
if type(k) == "string" then
if type(k) == "string"
if k == "Parent"
parent = v
else

View File

@ -671,8 +671,7 @@ filterGear = (terms) ->
filteredGear = {}
for _, v in pairs backpackItems
if buttons[v]
gearString = string.lower buttons[v].GearReference.Value.Name
gearString = trim gearString
gearString = trim string.lower buttons[v].GearReference.Value.Name
for i = 1, #terms
if string.match gearString, terms[i]
table.insert filteredGear, buttons[v]