Improve corescript and other file formatting and compile in action workflow
This commit is contained in:
parent
0c3b3efb9c
commit
f0418c013a
|
|
@ -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
|
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
|
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,
|
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
|
0,0,25),Parent=t})v.Size=UDim2.new(1,0,1,(function()if s then return-75 else
|
||||||
,1,-22)end local w,x x=function()if t.Visible and t.Parent then local y=math.
|
return-22 end end)())local w,x x=function()if t.Visible and t.Parent then local
|
||||||
min(t.Parent.AbsoluteSize.X,t.Parent.AbsoluteSize.Y)return q(200,y)end end t.
|
y=math.min(t.Parent.AbsoluteSize.X,t.Parent.AbsoluteSize.Y)return q(200,y)end
|
||||||
Changed:connect(function(y)if y=='Parent'then if(w~=nil)then w:disconnect()w=nil
|
end t.Changed:connect(function(y)if y=='Parent'then if(w~=nil)then w:disconnect(
|
||||||
end if t.Parent and t.Parent:IsA'GuiObject'then w=t.Parent.Changed:connect(
|
)w=nil end if t.Parent and t.Parent:IsA'GuiObject'then w=t.Parent.Changed:
|
||||||
function(z)if z=='AbsoluteSize'then wait()return x()end end)x()end end if y==
|
connect(function(z)if z=='AbsoluteSize'then wait()return x()end end)x()end end
|
||||||
'Visible'then return x()end end)return t,v end b.CreateTextTutorialPage=function
|
if y=='Visible'then return x()end end)return t,v end b.CreateTextTutorialPage=
|
||||||
(p,q,r)local s,t,u,v=nil,nil,a('TextLabel',{BackgroundTransparency=1,TextColor3=
|
function(p,q,r)local s,t,u,v=nil,nil,a('TextLabel',{BackgroundTransparency=1,
|
||||||
Color3.new(1,1,1),Text=q,TextWrap=true,TextXAlignment=Enum.TextXAlignment.Left,
|
TextColor3=Color3.new(1,1,1),Text=q,TextWrap=true,TextXAlignment=Enum.
|
||||||
TextYAlignment=Enum.TextYAlignment.Center,Font=Enum.Font.Arial,FontSize=Enum.
|
TextXAlignment.Left,TextYAlignment=Enum.TextYAlignment.Center,Font=Enum.Font.
|
||||||
FontSize.Size14,Size=UDim2.new(1,0,1,0)}),nil v=function(w,x)local y=j(w,x,
|
Arial,FontSize=Enum.FontSize.Size14,Size=UDim2.new(1,0,1,0)}),nil v=function(w,x
|
||||||
function(y)s.Size=UDim2.new(0,y,0,y)return u.TextFits end)s.Size=UDim2.new(0,y,0
|
)local y=j(w,x,function(y)s.Size=UDim2.new(0,y,0,y)return u.TextFits end)s.Size=
|
||||||
,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
|
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.
|
||||||
end b.CreateImageTutorialPage=function(p,q,r,s,t,u)local v,w,x,y=nil,nil,a(
|
Parent=t return s end b.CreateImageTutorialPage=function(p,q,r,s,t,u)local v,w,x
|
||||||
'ImageLabel',{BackgroundTransparency=1,Image=q,Size=UDim2.new(0,r,0,s),Position=
|
,y=nil,nil,a('ImageLabel',{BackgroundTransparency=1,Image=q,Size=UDim2.new(0,r,0
|
||||||
UDim2.new(0.5,-r/2,0.5,-s/2)}),nil y=function(z,A)local B=j(z,A,function(B)
|
,s),Position=UDim2.new(0.5,-r/2,0.5,-s/2)}),nil y=function(z,A)local B=j(z,A,
|
||||||
return B>=r and B>=s end)if B>=r and B>=s then x.Size=UDim2.new(0,r,0,s)x.
|
function(B)return B>=r and B>=s end)if B>=r and B>=s then x.Size=UDim2.new(0,r,0
|
||||||
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
|
,s)x.Position=UDim2.new(0.5,-r/2,0.5,-s/2)else if r>s then x.Size=UDim2.new(1,0,
|
||||||
)x.Position=UDim2.new(0,0,0.5-(s/r)/2,0)else x.Size=UDim2.new(r/s,0,1,0)x.
|
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-(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
|
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
|
.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=
|
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
|
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
|
=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==
|
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 (blue)'and p=='Plastic (blue)')or(q[r].Name=='Plastic (red)'and p==
|
||||||
'Plastic (red)'and p=='Plastic (red)'then ar(q[r],p)return end if string.find(q[
|
'Plastic (red)')or string.find(q[r].Name,p)then ar(q[r],p)return end end end ae.
|
||||||
r].Name,p)then ar(q[r],p)return end end end ae.Changed:connect(function(au)if au
|
Changed:connect(function(au)if au=='AbsoluteSize'then return aq()end end)aq()
|
||||||
=='AbsoluteSize'then return aq()end end)aq()return ae,ac,at end b.
|
return ae,ac,at end b.CreateLoadingFrame=function(aa,ab,ac)game:GetService
|
||||||
CreateLoadingFrame=function(aa,ab,ac)game:GetService'ContentProvider':Preload
|
'ContentProvider':Preload'http://www.roblox.com/asset/?id=35238053'local ad=a(
|
||||||
'http://www.roblox.com/asset/?id=35238053'local ad=a('Frame','LoadingFrame',{
|
'Frame','LoadingFrame',{Style=Enum.FrameStyle.RobloxRound,Size=(function()if ab
|
||||||
Style=Enum.FrameStyle.RobloxRound,Size=(function()if ab then return ab else
|
then return ab else return UDim2.new(0,300,0,160)end end)(),Position=(function()
|
||||||
return UDim2.new(0,300,0,160)end end)(),Position=(function()if ac then return ac
|
if ac then return ac else return UDim2.new(0.5,-150,0.5,-80)end end)(),a(
|
||||||
else return UDim2.new(0.5,-150,0.5,-80)end end)(),a('TextLabel','loadingName',{
|
'TextLabel','loadingName',{BackgroundTransparency=1,Size=UDim2.new(1,0,0,18),
|
||||||
BackgroundTransparency=1,Size=UDim2.new(1,0,0,18),Position=UDim2.new(0,0,0,2),
|
Position=UDim2.new(0,0,0,2),Font=Enum.Font.Arial,Text=aa,TextColor3=Color3.new(1
|
||||||
Font=Enum.Font.Arial,Text=aa,TextColor3=Color3.new(1,1,1),TextStrokeTransparency
|
,1,1),TextStrokeTransparency=1,FontSize=Enum.FontSize.Size18})})local ae=a(
|
||||||
=1,FontSize=Enum.FontSize.Size18})})local ae=a('Frame','LoadingBar',{
|
'Frame','LoadingBar',{BackgroundColor3=Color3.new(0,0,0),BorderColor3=Color3.
|
||||||
BackgroundColor3=Color3.new(0,0,0),BorderColor3=Color3.new(0.30980392156862746,
|
new(0.30980392156862746,0.30980392156862746,0.30980392156862746),Position=UDim2.
|
||||||
0.30980392156862746,0.30980392156862746),Position=UDim2.new(0,0,0,41),Size=UDim2
|
new(0,0,0,41),Size=UDim2.new(1,0,0,30),Parent=ad})local af,ag,ah=a('ImageLabel',
|
||||||
.new(1,0,0,30),Parent=ad})local af,ag,ah=a('ImageLabel','LoadingGreenBar',{Image
|
'LoadingGreenBar',{Image='http://www.roblox.com/asset/?id=35238053',Position=
|
||||||
='http://www.roblox.com/asset/?id=35238053',Position=UDim2.new(0,0,0,0),Size=
|
UDim2.new(0,0,0,0),Size=UDim2.new(0,0,1,0),Visible=false,Parent=ae}),a(
|
||||||
UDim2.new(0,0,1,0),Visible=false,Parent=ae}),a('TextLabel','LoadingPercent',{
|
'TextLabel','LoadingPercent',{BackgroundTransparency=1,Position=UDim2.new(0,0,1,
|
||||||
BackgroundTransparency=1,Position=UDim2.new(0,0,1,0),Size=UDim2.new(1,0,0,14),
|
0),Size=UDim2.new(1,0,0,14),Font=Enum.Font.Arial,Text='0%',FontSize=Enum.
|
||||||
Font=Enum.Font.Arial,Text='0%',FontSize=Enum.FontSize.Size14,TextColor3=Color3.
|
FontSize.Size14,TextColor3=Color3.new(1,1,1),Parent=ae}),a('TextButton',
|
||||||
new(1,1,1),Parent=ae}),a('TextButton','CancelButton',{Position=UDim2.new(0.5,-60
|
'CancelButton',{Position=UDim2.new(0.5,-60,1,-40),Size=UDim2.new(0,120,0,40),
|
||||||
,1,-40),Size=UDim2.new(0,120,0,40),Font=Enum.Font.Arial,FontSize=Enum.FontSize.
|
Font=Enum.Font.Arial,FontSize=Enum.FontSize.Size18,TextColor3=Color3.new(1,1,1),
|
||||||
Size18,TextColor3=Color3.new(1,1,1),Text='Cancel',Style=Enum.ButtonStyle.
|
Text='Cancel',Style=Enum.ButtonStyle.RobloxButton,Parent=ad})local ai=a(
|
||||||
RobloxButton,Parent=ad})local ai=a('BindableEvent','CancelButtonClicked',{Parent
|
'BindableEvent','CancelButtonClicked',{Parent=ah})ah.MouseButton1Click:connect(
|
||||||
=ah})ah.MouseButton1Click:connect(function()return ai:Fire()end)local aj aj=
|
function()return ai:Fire()end)local aj aj=function(ak,al,am)if ak and type(ak~=
|
||||||
function(ak,al,am)if ak and type(ak~='number')then error(
|
'number')then error('updateLoadingGuiPercent expects number as argument, got '..
|
||||||
'updateLoadingGuiPercent expects number as argument, got '..tostring(type(ak))..
|
tostring(type(ak))..' instead')end local an if ak<0 then an=UDim2.new(0,0,1,0)
|
||||||
' instead')end local an if ak<0 then an=UDim2.new(0,0,1,0)elseif ak>1 then an=
|
elseif ak>1 then an=UDim2.new(1,0,1,0)else an=UDim2.new(ak,0,1,0)end if al then
|
||||||
UDim2.new(1,0,1,0)else an=UDim2.new(ak,0,1,0)end if al then if not am then error
|
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]]
|
[[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.
|
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,
|
EasingDirection.Out,Enum.EasingStyle.Quad,am,true)else return af:TweenSize(an,
|
||||||
|
|
|
||||||
|
|
@ -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()
|
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
|
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
|
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
|
b_==an and#b_['MyPlayers']==0 then return bY()end end local b_=5 b_=5 local b0
|
||||||
b0['MyTeam']then for b1,b2 in ipairs(b0['MyTeam']['MyPlayers'])do if b2['Player'
|
b0=function(b1)if b1['MyTeam']then for b2,b3 in ipairs(b1['MyTeam']['MyPlayers']
|
||||||
]==b0['Player']then bZ(b0['MyTeam'],b1)return end end elseif an then for b1,b2
|
)do if b3['Player']==b1['Player']then bZ(b1['MyTeam'],b2)return end end elseif
|
||||||
in ipairs(an['MyPlayers'])do if b2['Player']==b0['Player']then bZ(an,b1)return
|
an then for b2,b3 in ipairs(an['MyPlayers'])do if b3['Player']==b1['Player']then
|
||||||
end end end end local b0 b0=function(b1,b2)b_(b2)table.insert(b1['MyPlayers'],b2
|
bZ(an,b2)return end end end end local b1 b1=function(b2,b3)b0(b3)table.insert(b2
|
||||||
)b2['MyTeam']=b1 if b1['IsHidden']then b1['Frame'].Parent=H bR()end b1[
|
['MyPlayers'],b3)b3['MyTeam']=b2 if b2['IsHidden']then b2['Frame'].Parent=H bR()
|
||||||
'IsHidden']=false end local b1 b1=function()while aJ do m
|
end b2['IsHidden']=false end local b2 b2=function()while aJ do m
|
||||||
'in neutral team 2 lock'wait()end aJ=true local b2=Instance.new'Team'b2.
|
'in neutral team 2 lock'wait()end aJ=true local b3=Instance.new'Team'b3.
|
||||||
TeamColor=BrickColor.new'White'b2.Name='Neutral'local b3={}b3['MyTeam']=b2 b3[
|
TeamColor=BrickColor.new'White'b3.Name='Neutral'local b4={}b4['MyTeam']=b3 b4[
|
||||||
'MyPlayers']={}b3['Frame']=Q:Clone()n(n(b3['Frame'],'TitleFrame'),'Title').Text=
|
'MyPlayers']={}b4['Frame']=Q:Clone()n(n(b4['Frame'],'TitleFrame'),'Title').Text=
|
||||||
b2.Name b3['Frame'].TitleFrame.Position=UDim2.new(b3['Frame'].TitleFrame.
|
b3.Name b4['Frame'].TitleFrame.Position=UDim2.new(b4['Frame'].TitleFrame.
|
||||||
Position.X.Scale,b3['Frame'].TitleFrame.Position.X.Offset,0.1,0)b3['Frame'].
|
Position.X.Scale,b4['Frame'].TitleFrame.Position.X.Offset,0.1,0)b4['Frame'].
|
||||||
TitleFrame.Size=UDim2.new(b3['Frame'].TitleFrame.Size.X.Scale,b3['Frame'].
|
TitleFrame.Size=UDim2.new(b4['Frame'].TitleFrame.Size.X.Scale,b4['Frame'].
|
||||||
TitleFrame.Size.X.Offset,0.8,0)b3['Frame'].TitleFrame.Title.Font='ArialBold'b3[
|
TitleFrame.Size.X.Offset,0.8,0)b4['Frame'].TitleFrame.Title.Font='ArialBold'b4[
|
||||||
'Frame'].Position=UDim2.new(1,0,(#ao*b3['Frame'].Size.Y.Scale),0)n(b3['Frame'],
|
'Frame'].Position=UDim2.new(1,0,(#ao*b4['Frame'].Size.Y.Scale),0)n(b4['Frame'],
|
||||||
'ClickListener').MouseButton1Down:connect(function(b4,b5)return bP(b3,b4,b5)end)
|
'ClickListener').MouseButton1Down:connect(function(b5,b6)return bP(b4,b5,b6)end)
|
||||||
b3['Frame'].ClickListener.BackgroundColor3=Color3.new(1,1,1)b3['Frame'].
|
b4['Frame'].ClickListener.BackgroundColor3=Color3.new(1,1,1)b4['Frame'].
|
||||||
ClickListener.BackgroundTransparency=0.7 b3['Frame'].ClickListener.
|
ClickListener.BackgroundTransparency=0.7 b4['Frame'].ClickListener.
|
||||||
AutoButtonColor=false b3['AutoHide']=true b3['IsHidden']=true for b4,b5 in
|
AutoButtonColor=false b4['AutoHide']=true b4['IsHidden']=true for b5,b6 in
|
||||||
pairs(al)do if b5['Player'].Neutral or not b5['MyTeam']then b0(b3,b5)end end if#
|
pairs(al)do if b6['Player'].Neutral or not b6['MyTeam']then b1(b4,b6)end end if#
|
||||||
b3['MyPlayers']>0 then an=b3 bb()bg()end aJ=false end local b2 b2=function(b3)
|
b4['MyPlayers']>0 then an=b4 bb()bg()end aJ=false end local b3 b3=function(b4)
|
||||||
b_(b3)local b4=false for b5,b6 in ipairs(am)do if b6['MyTeam'].TeamColor==b3[
|
b0(b4)local b5=false for b6,b7 in ipairs(am)do if b7['MyTeam'].TeamColor==b4[
|
||||||
'Player'].TeamColor then b0(b6,b3)b4=true end end if not b4 and#(game.Teams:
|
'Player'].TeamColor then b1(b7,b4)b5=true end end if not b5 and#(game.Teams:
|
||||||
GetTeams())>0 then m(tostring(b3['Player'].Name)..' could not find team')b3[
|
GetTeams())>0 then m(tostring(b4['Player'].Name)..' could not find team')b4[
|
||||||
'MyTeam']=nil if not an then return b1()else return b0(an,b3)end end end local
|
'MyTeam']=nil if not an then return b2()else return b1(an,b4)end end end local
|
||||||
b3 b3=function(b4,b5)while aI do m'in playerchanged lock'wait(
|
b4 b4=function(b5,b6)while aI do m'in playerchanged lock'wait(
|
||||||
3.333333333333333E-2)end aI=true if b5=='Neutral'then if b4['Player'].Neutral
|
3.333333333333333E-2)end aI=true if b6=='Neutral'then if b5['Player'].Neutral
|
||||||
and#game.Teams:GetTeams()>0 then m(tostring(b4['Player'].Name)..
|
and#game.Teams:GetTeams()>0 then m(tostring(b5['Player'].Name)..
|
||||||
' setting to neutral')b_(b4)b4['MyTeam']=nil if not an then m(tostring(b4[
|
' setting to neutral')b0(b5)b5['MyTeam']=nil if not an then m(tostring(b5[
|
||||||
'Player'].Name)..' creating neutral team')b1()else m(tostring(b4['Player'].Name)
|
'Player'].Name)..' creating neutral team')b2()else m(tostring(b5['Player'].Name)
|
||||||
..' adding to neutral team')b0(an,b4)end elseif#(game.Teams:GetTeams())>0 then
|
..' adding to neutral team')b1(an,b5)end elseif#(game.Teams:GetTeams())>0 then
|
||||||
m(tostring(b4['Player'].Name)..' has been set non-neutral')b2(b4)end bg()elseif
|
m(tostring(b5['Player'].Name)..' has been set non-neutral')b3(b5)end bg()elseif
|
||||||
b5=='TeamColor'and not b4['Player'].Neutral and b4['Player']~=b4['MyTeam']then
|
b6=='TeamColor'and not b5['Player'].Neutral and b5['Player']~=b5['MyTeam']then
|
||||||
m(tostring(b4['Player'].Name)..' setting to new team')b2(b4)bg()elseif b5==
|
m(tostring(b5['Player'].Name)..' setting to new team')b3(b5)bg()elseif b6==
|
||||||
'Name'or b5=='MembershipType'then b4['Frame']:FindFirstChild'BCLabel'.Image=h(b4
|
'Name'or b6=='MembershipType'then b5['Frame']:FindFirstChild'BCLabel'.Image=h(b5
|
||||||
['Player'].MembershipType,b4['Player'].Name)b4['Frame'].Name=b4['Player'].Name
|
['Player'].MembershipType,b5['Player'].Name)b5['Frame'].Name=b5['Player'].Name
|
||||||
b4['Frame'].TitleFrame.Title.Text=b4['Player'].Name if b4['Frame'].BCLabel.Image
|
b5['Frame'].TitleFrame.Title.Text=b5['Player'].Name if b5['Frame'].BCLabel.Image
|
||||||
~=''then b4['Frame'].TitleFrame.Title.Position=UDim2.new(0.01,30,0.1,0)end if b4
|
~=''then b5['Frame'].TitleFrame.Title.Position=UDim2.new(0.01,30,0.1,0)end if b5
|
||||||
['Player']==p then b4['Frame'].TitleFrame.DropShadow.Text=b4['Player'].Name bT(
|
['Player']==p then b5['Frame'].TitleFrame.DropShadow.Text=b5['Player'].Name bT(
|
||||||
b4['Player'].Name)end bg()end aI=false end local b4 b4=function(b5)while aD do
|
b5['Player'].Name)end bg()end aI=false end local b5 b5=function(b6)while aD do
|
||||||
m('waiting to insert '..tostring(b5.Name))wait(3.333333333333333E-2)end aD=true
|
m('waiting to insert '..tostring(b6.Name))wait(3.333333333333333E-2)end aD=true
|
||||||
local b6=Q:Clone()n(n(b6,'TitleFrame'),'Title').Text=b5.Name b6.Position=UDim2.
|
local b7=Q:Clone()n(n(b7,'TitleFrame'),'Title').Text=b6.Name b7.Position=UDim2.
|
||||||
new(1,0,(#ao*b6.Size.Y.Scale),0)local b7=a7(b5)b6:FindFirstChild'BCLabel'.Image=
|
new(1,0,(#ao*b7.Size.Y.Scale),0)local b8=a7(b6)b7:FindFirstChild'BCLabel'.Image=
|
||||||
h(b5.MembershipType,b5.Name)b6:FindFirstChild'FriendLabel'.Image=i(b7)b6.Name=b5
|
h(b6.MembershipType,b6.Name)b7:FindFirstChild'FriendLabel'.Image=i(b8)b7.Name=b6
|
||||||
.Name n(n(b6,'TitleFrame'),'Title').Text=b5.Name b6.FriendLabel.Position=b6.
|
.Name n(n(b7,'TitleFrame'),'Title').Text=b6.Name b7.FriendLabel.Position=b7.
|
||||||
FriendLabel.Position+UDim2.new(0,17,0,0)b6.TitleFrame.Title.Position=b6.
|
FriendLabel.Position+UDim2.new(0,17,0,0)b7.TitleFrame.Title.Position=b7.
|
||||||
TitleFrame.Title.Position+UDim2.new(0,17,0,0)if b6:FindFirstChild'FriendLabel'.
|
TitleFrame.Title.Position+UDim2.new(0,17,0,0)if b7:FindFirstChild'FriendLabel'.
|
||||||
Image~=''then b6.TitleFrame.Title.Position=b6.TitleFrame.Title.Position+UDim2.
|
Image~=''then b7.TitleFrame.Title.Position=b7.TitleFrame.Title.Position+UDim2.
|
||||||
new(0,17,0,0)end if b5.Name==p.Name then b6.TitleFrame.Title.Font='ArialBold'b6.
|
new(0,17,0,0)end if b6.Name==p.Name then b7.TitleFrame.Title.Font='ArialBold'b7.
|
||||||
PlayerScore.Font='ArialBold'bT(b5.Name)do local b8=b6.TitleFrame.Title:Clone()b8
|
PlayerScore.Font='ArialBold'bT(b6.Name)do local b9=b7.TitleFrame.Title:Clone()b9
|
||||||
.TextColor3=Color3.new(0,0,0)b8.TextTransparency=0 b8.ZIndex=2 b8.Position=b6.
|
.TextColor3=Color3.new(0,0,0)b9.TextTransparency=0 b9.ZIndex=2 b9.Position=b7.
|
||||||
TitleFrame.Title.Position+UDim2.new(0,1,0,1)b8.Name='DropShadow'b8.Parent=b6.
|
TitleFrame.Title.Position+UDim2.new(0,1,0,1)b9.Name='DropShadow'b9.Parent=b7.
|
||||||
TitleFrame end end b6.TitleFrame.Title.Font='ArialBold'b6.Parent=H b6:
|
TitleFrame end end b7.TitleFrame.Title.Font='ArialBold'b7.Parent=H b7:
|
||||||
TweenPosition(UDim2.new(0.5,0,(#ao*b6.Size.Y.Scale),0),'Out','Linear',c,true)bb(
|
TweenPosition(UDim2.new(0.5,0,(#ao*b7.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,
|
)local b9={}b9['Frame']=b7 b9['Player']=b6 b9['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(
|
b9)if#am~=0 then if b6.Neutral then b9['MyTeam']=nil if not an then b2()else b1(
|
||||||
an,b8)end else local b9=false for ca,cb in ipairs(am)do if cb['MyTeam'].
|
an,b9)end else local ca=false for cb,cc in ipairs(am)do if cc['MyTeam'].
|
||||||
TeamColor==b5.TeamColor then b0(cb,b8)b8['MyTeam']=cb b9=true end end if not b9
|
TeamColor==b6.TeamColor then b1(cc,b9)b9['MyTeam']=cc ca=true end end if not ca
|
||||||
then b8['MyTeam']=nil if not an then b1()else b0(an,b8)end b8['MyTeam']=an end
|
then b9['MyTeam']=nil if not an then b2()else b1(an,b9)end b9['MyTeam']=an end
|
||||||
end end if b5:FindFirstChild'leaderstats'then bU(b8)end b5.ChildAdded:connect(
|
end end if b6:FindFirstChild'leaderstats'then bU(b9)end b6.ChildAdded:connect(
|
||||||
function(b9)if b9.Name=='leaderstats'then while aD do m
|
function(ca)if ca.Name=='leaderstats'then while aD do m
|
||||||
'in adding leaderstats lock'wait(3.333333333333333E-2)end aD=true bU(b8)aD=false
|
'in adding leaderstats lock'wait(3.333333333333333E-2)end aD=true bU(b9)aD=false
|
||||||
end end)b5.ChildRemoved:connect(function(b9)if b5==p and b9.Name=='leaderstats'
|
end end)b6.ChildRemoved:connect(function(ca)if b6==p and ca.Name=='leaderstats'
|
||||||
then return bV(b9,b8)end end)b5.Changed:connect(function(b9)return b3(b8,b9)end)
|
then return bV(ca,b9)end end)b6.Changed:connect(function(ca)return b4(b9,ca)end)
|
||||||
local b9=n(b6,'ClickListener')b9.Active=true b9.MouseButton1Down:connect(
|
local ca=n(b7,'ClickListener')ca.Active=true ca.MouseButton1Down:connect(
|
||||||
function(ca,cb)return bW(b8,ca,cb)end)bR()bg()aD=false end local b5 b5=function(
|
function(cb,cc)return bW(b9,cb,cc)end)bR()bg()aD=false end local b6 b6=function(
|
||||||
b6)while aD do m'in removing player frame lock'wait(3.333333333333333E-2)end aD=
|
b7)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[
|
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 b9['Frame']:Destroy()b7=b9['MyTeam']table.remove(
|
'Frame']then I.Parent=nil end ca['Frame']:Destroy()b8=ca['MyTeam']table.remove(
|
||||||
al,b8)end end if b7 then for ca,cb in ipairs(b7['MyPlayers'])do if cb['Player']
|
al,b9)end end if b8 then for cb,cc in ipairs(b8['MyPlayers'])do if cc['Player']
|
||||||
==b6 then bZ(b7,ca)end end end bS()bb()bg()aD=false end o.ChildRemoved:connect(
|
==b7 then bZ(b8,cb)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
|
b6)local b7 b7=function(b8,b9)local ca=0 if an and not an['IsHidden']then for cb
|
||||||
,cb in ipairs(an['MyPlayers'])do b9=b9+1 b8[b9]=cb['Frame']end b9=b9+1 b8[b9]=an
|
,cc in ipairs(an['MyPlayers'])do ca=ca+1 b9[ca]=cc['Frame']end ca=ca+1 b9[ca]=an
|
||||||
['Frame']end for ca,cb in ipairs(b7)do if not cb['IsHidden']then for cc,cd in
|
['Frame']end for cb,cc in ipairs(b8)do if not cc['IsHidden']then for cd,ce in
|
||||||
ipairs(cb.MyPlayers)do b9=b9+1 b8[b9]=cd['Frame']end b9=b9+1 b8[b9]=cb['Frame']
|
ipairs(cc.MyPlayers)do ca=ca+1 b9[ca]=ce['Frame']end ca=ca+1 b9[ca]=cc['Frame']
|
||||||
end end for cc=b9+1,#b8,1 do b8[cc]=nil end end local b7 b7=function(b8,b9)if b8
|
end end for cd=ca+1,#b9,1 do b9[cd]=nil end end local b8 b8=function(b9,ca)if b9
|
||||||
['TeamScore']==b9['TeamScore']then return b8['ID']<b9['ID']end if not b8[
|
['TeamScore']==ca['TeamScore']then return b9['ID']<ca['ID']end if not b9[
|
||||||
'TeamScore']then return false end if not b9['TeamScore']then return true end
|
'TeamScore']then return false end if not ca['TeamScore']then return true end
|
||||||
return b8['TeamScore']<b9['TeamScore']end local b8 b8=function(b9)for ca=1,#aj,1
|
return b9['TeamScore']<ca['TeamScore']end local b9 b9=function(ca)for cb=1,#aj,1
|
||||||
do local cb,cc=aj[ca],0 for cd,ce in ipairs(b9['MyPlayers'])do local cf=ce[
|
do local cc,cd=aj[cb],0 for ce,cf in ipairs(ca['MyPlayers'])do local cg=cf[
|
||||||
'Player']:FindFirstChild(ce['Player'].leaderstats:FindFirstChild(cb['Name']))if
|
'Player']:FindFirstChild(cf['Player'].leaderstats:FindFirstChild(cc['Name']))if
|
||||||
cf and not cf:IsA'StringValue'then cc=cc+bp((ce['Player'].leaderstats)[cb['Name'
|
cg and not cg:IsA'StringValue'then cd=cd+bp((cf['Player'].leaderstats)[cc['Name'
|
||||||
]])end end if b9['Frame']:FindFirstChild(cb['Name'])then b9['Frame'][cb['Name']]
|
]])end end if ca['Frame']:FindFirstChild(cc['Name'])then ca['Frame'][cc['Name']]
|
||||||
.Text=tostring(cc)end end return bb()end local b9 b9=function(ca)for cb,cc in
|
.Text=tostring(cd)end end return bb()end local ca ca=function(cb)for cc,cd in
|
||||||
ipairs(ca)do table.sort(cc['MyPlayers'],ba)b8(cc)end return table.sort(ca,b7)end
|
ipairs(cb)do table.sort(cd['MyPlayers'],ba)b9(cd)end return table.sort(cb,b8)end
|
||||||
local ca ca=function()bt(al)b9(am)if an then b8(an)end return b6(am,ao)end local
|
local cb cb=function()bt(al)ca(am)if an then b9(an)end return b7(am,ao)end local
|
||||||
cb cb=function(cc,cd)return Delay(0.5,function()m('friend status changed for: '
|
cc cc=function(cd,ce)return Delay(0.5,function()m('friend status changed for: '
|
||||||
..tostring(cc.Name)..' '..tostring(cd)..' vs '..tostring(a7(cc)))for ce,cf in
|
..tostring(cd.Name)..' '..tostring(ce)..' vs '..tostring(a7(cd)))for cf,cg in
|
||||||
ipairs(al)do if cf['Player']==cc then local cg=i(cd)if cg==''and cf['Frame'].
|
ipairs(al)do if cg['Player']==cd then local ch=i(ce)if ch==''and cg['Frame'].
|
||||||
FriendLabel.Image~=''then cf['Frame'].TitleFrame.Title.Position=cf['Frame'].
|
FriendLabel.Image~=''then cg['Frame'].TitleFrame.Title.Position=cg['Frame'].
|
||||||
TitleFrame.Title.Position-UDim2.new(0,17,0,0)elseif cg~=''and cf['Frame'].
|
TitleFrame.Title.Position-UDim2.new(0,17,0,0)elseif ch~=''and cg['Frame'].
|
||||||
FriendLabel.Image==''then cf['Frame'].TitleFrame.Title.Position=cf['Frame'].
|
FriendLabel.Image==''then cg['Frame'].TitleFrame.Title.Position=cg['Frame'].
|
||||||
TitleFrame.Title.Position+UDim2.new(0,17,0,0)m('confirmed status: '..tostring(cc
|
TitleFrame.Title.Position+UDim2.new(0,17,0,0)m('confirmed status: '..tostring(cd
|
||||||
.Name))end cf['Frame'].FriendLabel.Image=cg return end end end)end p.
|
.Name))end cg['Frame'].FriendLabel.Image=ch return end end end)end p.
|
||||||
FriendStatusChanged:connect(cb)local cc cc=function(cd,ce)n(cd['Frame'],
|
FriendStatusChanged:connect(cc)local cd cd=function(ce,cf)n(ce['Frame'],
|
||||||
'PlayerScore').Text=tostring(ce)cd['TeamScore']=ce end local cd cd=function(ce,
|
'PlayerScore').Text=tostring(cf)ce['TeamScore']=cf end local ce ce=function(cf,
|
||||||
cf)if cf.Name=='AutoHide'then ce['AutoHide']=true elseif cf.Name=='TeamScore'
|
cg)if cg.Name=='AutoHide'then cf['AutoHide']=true elseif cg.Name=='TeamScore'
|
||||||
then n(ce['Frame'],'PlayerScore').Text=tostring(cf.Value)ce['TeamScore']=cf.
|
then n(cf['Frame'],'PlayerScore').Text=tostring(cg.Value)cf['TeamScore']=cg.
|
||||||
Value return cf.Changed:connect(function()return cc(ce,cf.Value)end)end end
|
Value return cg.Changed:connect(function()return cd(cf,cg.Value)end)end end
|
||||||
local ce ce=function(cf,cg)if cg.Name=='AutoHide'then cf['AutoHide']=false
|
local cf cf=function(cg,ch)if ch.Name=='AutoHide'then cg['AutoHide']=false
|
||||||
elseif cg.Name=='TeamScore'then n(cf['Frame'],'PlayerScore').Text=''cf[
|
elseif ch.Name=='TeamScore'then n(cg['Frame'],'PlayerScore').Text=''cg[
|
||||||
'TeamScore']=nil end end local cf cf=function(cg)while aD do m
|
'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 ch for
|
'in removing team frame lock'wait(3.333333333333333E-2)end aD=true local ci for
|
||||||
ci,cj in ipairs(am)do if cg==cj['MyTeam']then ch=cj cj['Frame']:Destroy()table.
|
cj,ck in ipairs(am)do if ch==ck['MyTeam']then ci=ck ck['Frame']:Destroy()table.
|
||||||
remove(am,ci)end end if#am==0 then m'removeteamframe, remove neutral'if an then
|
remove(am,cj)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')
|
bY()end end for cl,cm in ipairs(ci['MyPlayers'])do bZ(ci,cl)b4(cm,'TeamColor')
|
||||||
end bS()bg()aD=false end local cg cg=function(ch,ck)if ck=='Name'then n(n(ch[
|
end bS()bg()aD=false end local ch ch=function(ci,cl)if cl=='Name'then n(n(ci[
|
||||||
'Frame'],'TitleFrame'),'Title').Text=ch['MyTeam'].Name elseif ck=='TeamColor'
|
'Frame'],'TitleFrame'),'Title').Text=ci['MyTeam'].Name elseif cl=='TeamColor'
|
||||||
then ch['Frame'].ClickListener.BackgroundColor3=ch['MyTeam'].TeamColor.Color for
|
then ci['Frame'].ClickListener.BackgroundColor3=ci['MyTeam'].TeamColor.Color for
|
||||||
cl,cm in pairs(am)do if cm['MyTeam'].TeamColor==ch['MyTeam']then cf(ch['MyTeam']
|
cm,cn in pairs(am)do if cn['MyTeam'].TeamColor==ci['MyTeam']then cg(ci['MyTeam']
|
||||||
)end end ch['MyPlayers']={}for cn,co in pairs(al)do b2(co)end return bg()end end
|
)end end ci['MyPlayers']={}for co,cp in pairs(al)do b3(cp)end return bg()end end
|
||||||
local ch ch=function(ck)while aD do m'in adding team frame lock'wait(
|
local ci ci=function(cl)while aD do m'in adding team frame lock'wait(
|
||||||
3.333333333333333E-2)end aD=true local cn={}cn['MyTeam']=ck cn['MyPlayers']={}cn
|
3.333333333333333E-2)end aD=true local co={}co['MyTeam']=cl co['MyPlayers']={}co
|
||||||
['Frame']=Q:Clone()n(n(cn['Frame'],'TitleFrame'),'Title').Text=ck.Name cn[
|
['Frame']=Q:Clone()n(n(co['Frame'],'TitleFrame'),'Title').Text=cl.Name co[
|
||||||
'Frame'].TitleFrame.Title.Font='ArialBold'cn['Frame'].TitleFrame.Title.FontSize=
|
'Frame'].TitleFrame.Title.Font='ArialBold'co['Frame'].TitleFrame.Title.FontSize=
|
||||||
'Size18'cn['Frame'].TitleFrame.Position=UDim2.new(cn['Frame'].TitleFrame.
|
'Size18'co['Frame'].TitleFrame.Position=UDim2.new(co['Frame'].TitleFrame.
|
||||||
Position.X.Scale,cn['Frame'].TitleFrame.Position.X.Offset,0.1,0)cn['Frame'].
|
Position.X.Scale,co['Frame'].TitleFrame.Position.X.Offset,0.1,0)co['Frame'].
|
||||||
TitleFrame.Size=UDim2.new(cn['Frame'].TitleFrame.Size.X.Scale,cn['Frame'].
|
TitleFrame.Size=UDim2.new(co['Frame'].TitleFrame.Size.X.Scale,co['Frame'].
|
||||||
TitleFrame.Size.X.Offset,0.8,0)cn['Frame'].Position=UDim2.new(1,0,(#ao*cn[
|
TitleFrame.Size.X.Offset,0.8,0)co['Frame'].Position=UDim2.new(1,0,(#ao*co[
|
||||||
'Frame'].Size.Y.Scale),0)n(cn['Frame'],'ClickListener').MouseButton1Down:
|
'Frame'].Size.Y.Scale),0)n(co['Frame'],'ClickListener').MouseButton1Down:
|
||||||
connect(function(co,cp)return bP(cn,co,cp)end)cn['Frame'].ClickListener.
|
connect(function(cp,cq)return bP(co,cp,cq)end)co['Frame'].ClickListener.
|
||||||
BackgroundColor3=ck.TeamColor.Color cn['Frame'].ClickListener.
|
BackgroundColor3=cl.TeamColor.Color co['Frame'].ClickListener.
|
||||||
BackgroundTransparency=0.7 cn['Frame'].ClickListener.AutoButtonColor=false ak=ak
|
BackgroundTransparency=0.7 co['Frame'].ClickListener.AutoButtonColor=false ak=ak
|
||||||
+1 cn['ID']=ak cn['AutoHide']=false if ck:FindFirstChild'AutoHide'then cn[
|
+1 co['ID']=ak co['AutoHide']=false if cl:FindFirstChild'AutoHide'then co[
|
||||||
'AutoHide']=true end if ck:FindFirstChild'TeamScore'then cd(cn,ck.TeamScore)end
|
'AutoHide']=true end if cl:FindFirstChild'TeamScore'then ce(co,cl.TeamScore)end
|
||||||
ck.ChildAdded:connect(function(co)return cd(cn,co)end)ck.ChildRemoved:connect(
|
cl.ChildAdded:connect(function(cp)return ce(co,cp)end)cl.ChildRemoved:connect(
|
||||||
function(co)return ce(cn,co)end)ck.Changed:connect(function(co)return cg(cn,co)
|
function(cp)return cf(co,cp)end)cl.Changed:connect(function(cp)return ch(co,cp)
|
||||||
end)for co,cp in pairs(al)do if not cp['Player'].Neutral and cp['Player'].
|
end)for cp,cq in pairs(al)do if not cq['Player'].Neutral and cq['Player'].
|
||||||
TeamColor==ck.TeamColor then b0(cn,cp)end end cn['IsHidden']=false if not cn[
|
TeamColor==cl.TeamColor then b1(co,cq)end end co['IsHidden']=false if not co[
|
||||||
'AutoHide']or#cn['MyPlayers']>0 then cn['Frame'].Parent=H cn['Frame']:
|
'AutoHide']or#co['MyPlayers']>0 then co['Frame'].Parent=H co['Frame']:
|
||||||
TweenPosition(UDim2.new(0.5,0,(#ao*cn['Frame'].Size.Y.Scale),0),'Out','Linear',c
|
TweenPosition(UDim2.new(0.5,0,(#ao*co['Frame'].Size.Y.Scale),0),'Out','Linear',c
|
||||||
,true)bR()else cn['IsHidden']=true cn['Frame'].Parent=nil end table.insert(am,cn
|
,true)bR()else co['IsHidden']=true co['Frame'].Parent=nil end table.insert(am,co
|
||||||
)bb()bg()if#am==1 and not an then b1()end aD=false end local ck ck=function(cn)
|
)bb()bg()if#am==1 and not an then b2()end aD=false end local cl cl=function(co)
|
||||||
return ch(cn)end local cn cn=function(co)return cf(co)end bg=function()while aF
|
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
|
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)
|
not an then bX()else cb()end for cp,cq in ipairs(ao)do if not(cq.Parent~=nil)
|
||||||
then cp:TweenPosition(UDim2.new(0.5,0,((#ao-co)*cp.Size.Y.Scale),0),'Out',
|
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
|
'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:
|
=false end game.GuiService:AddKey'\t'local cp=time()game.GuiService.KeyPressed:
|
||||||
connect(function(cp)if cp=='\t'then m'caught tab key'local cq,cr=pcall(function(
|
connect(function(cq)if cq=='\t'then m'caught tab key'local cr,cs=pcall(function(
|
||||||
)return game.GuiService.IsModalDialog end)if cq==false or(cq and cr==false)then
|
)return game.GuiService.IsModalDialog end)if cr==false or(cr and cs==false)then
|
||||||
if time()-co>0.4 then co=time()if O.Value then if not N.Value then r:
|
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(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
|
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=
|
)N.Value=false M.Value=true end else return by()end end end end end)local cq cq=
|
||||||
function(cq)return b4(cq)end local cq cq=function(cr)if cr:IsA'Player'then
|
function(cr)return b5(cr)end local cr cr=function(cs)if cs:IsA'Player'then
|
||||||
return Spawn(function()return cp(cr)end)else return be()end end local cr cr=
|
return Spawn(function()return cq(cs)end)else return be()end end local cs cs=
|
||||||
function(cs,ct)if cs==Enum.CoreGuiType.All or cs==Enum.CoreGuiType.PlayerList
|
function(ct,cu)if ct==Enum.CoreGuiType.All or ct==Enum.CoreGuiType.PlayerList
|
||||||
then s.Visible=ct end end local cs cs=function(ct)if ct:IsA'Team'then return ck(
|
then s.Visible=cu end end local ct ct=function(cu)if cu:IsA'Team'then return cl(
|
||||||
ct)else return be()end end local ct ct=function(cu)if cu:IsA'Team'then return
|
cu)else return be()end end local cu cu=function(cv)if cv:IsA'Team'then return
|
||||||
cn(cu)else return be()end end pcall(function()cr(Enum.CoreGuiType.PlayerList,
|
co(cv)else return be()end end pcall(function()cs(Enum.CoreGuiType.PlayerList,
|
||||||
Game.StarterGui:GetCoreGuiEnabled(Enum.CoreGuiType.PlayerList))return Game.
|
Game.StarterGui:GetCoreGuiEnabled(Enum.CoreGuiType.PlayerList))return Game.
|
||||||
StarterGui.CoreGuiChangedSignal:connect(cr)end)while not game:GetService'Teams'
|
StarterGui.CoreGuiChangedSignal:connect(cs)end)while not game:GetService'Teams'
|
||||||
do wait(3.333333333333333E-2)m'Waiting For Teams'end for cu,cv in pairs(game.
|
do wait(3.333333333333333E-2)m'Waiting For Teams'end for cv,cw in pairs(game.
|
||||||
Teams:GetTeams())do ck(cv)end for cw,cx in pairs(o:GetPlayers())do Spawn(
|
Teams:GetTeams())do cl(cw)end for cx,cy in pairs(o:GetPlayers())do Spawn(
|
||||||
function()return cp(cx)end)end game.Teams.ChildAdded:connect(cs)game.Teams.
|
function()return cq(cy)end)end game.Teams.ChildAdded:connect(ct)game.Teams.
|
||||||
ChildRemoved:connect(ct)o.ChildAdded:connect(cq)a6()P.Value=true bg()wait(2)aS=
|
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'
|
not not game.Workspace:FindFirstChild'PSVariable'if p.Name=='newplayerlistisbad'
|
||||||
or p.Name=='imtotallyadmin'then ad.Parent=r return Spawn(function()while true do
|
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(
|
local cz=''for cA,cB in pairs(game.Players:GetPlayers())do cz=cz..' '..tostring(
|
||||||
cA.Name)end ae.Text=cy wait(0.5)end end)end
|
cB.Name)end ae.Text=cz wait(0.5)end end)end
|
||||||
|
|
@ -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
|
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)
|
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
|
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)
|
in pairs(j)do if k[aw]then local ax=as(string.lower(k[aw].GearReference.Value.
|
||||||
ax=as(ax)for ay=1,#at do if string.match(ax,at[ay])then table.insert(au,k[aw])
|
Name))for ay=1,#at do if string.match(ax,at[ay])then table.insert(au,k[aw])break
|
||||||
break end end end end return au end local at at=function(au)if type(au)~=
|
end end end end return au end local at at=function(au)if type(au)~='string'then
|
||||||
'string'then return end local av={}for aw in string.gmatch(au,'[^%s]+')do if
|
return end local av={}for aw in string.gmatch(au,'[^%s]+')do if string.len(aw)>0
|
||||||
string.len(aw)>0 then table.insert(av,aw)end end return av end local au au=
|
then table.insert(av,aw)end end return av end local au au=function(av)if not i.
|
||||||
function(av)if not i.Gear.Visible then return end local aw,ax=at(av),nil if aw
|
Gear.Visible then return end local aw,ax=at(av),nil if aw and(#aw>0)then ax=aw
|
||||||
and(#aw>0)then ax=aw else ax=nil end if not(aw~=nil)then ak()return end local ay
|
else ax=nil end if not(aw~=nil)then ak()return end local ay=Z(ax)return aj(ay)
|
||||||
=Z(ax)return aj(ay)end local av av=function()while#k>0 do table.remove(k)end k={
|
end local av av=function()while#k>0 do table.remove(k)end k={}while#j>0 do table
|
||||||
}while#j>0 do table.remove(j)end j={}local aw=w.ScrollingFrame:GetChildren()for
|
.remove(j)end j={}local aw=w.ScrollingFrame:GetChildren()for ax=1,#aw do aw[ax]:
|
||||||
ax=1,#aw do aw[ax]:remove()end end local aw aw=function(ax,ay)if ax==Enum.
|
remove()end end local aw aw=function(ax,ay)if ax==Enum.CoreGuiType.Backpack or
|
||||||
CoreGuiType.Backpack or ax==Enum.CoreGuiType.All then if not ay then i.Gear.
|
ax==Enum.CoreGuiType.All then if not ay then i.Gear.Visible=false end end end
|
||||||
Visible=false end end end local ax=e.Backpack:GetChildren()for ay=1,#ax do ai(ax
|
local ax=e.Backpack:GetChildren()for ay=1,#ax do ai(ax[ay])end D.Event:connect(
|
||||||
[ay])end D.Event:connect(function(ay)if l then return end l=true wait()ah()ag()l
|
function(ay)if l then return end l=true wait()ah()ag()l=false end)v.ChildAdded:
|
||||||
=false end)v.ChildAdded:connect(function(ay)return ap(ay,false)end)v.
|
connect(function(ay)return ap(ay,false)end)v.ChildRemoved:connect(function(ay)
|
||||||
ChildRemoved:connect(function(ay)return ap(ay,true)end)v.DescendantAdded:
|
return ap(ay,true)end)v.DescendantAdded:connect(function(ay)if not i.Visible and
|
||||||
connect(function(ay)if not i.Visible and(ay:IsA'ImageButton'or ay:IsA
|
(ay:IsA'ImageButton'or ay:IsA'TextButton')then return al(v:GetChildren())end end
|
||||||
'TextButton')then return al(v:GetChildren())end end)v.DescendantRemoving:
|
)v.DescendantRemoving:connect(function(ay)if not i.Visible and(ay:IsA
|
||||||
connect(function(ay)if not i.Visible and(ay:IsA'ImageButton'or ay:IsA
|
'ImageButton'or ay:IsA'TextButton')then wait()return al(v:GetChildren())end end)
|
||||||
'TextButton')then wait()return al(v:GetChildren())end end)w.MouseEnter:connect(
|
w.MouseEnter:connect(function()return S()end)w.MouseLeave:connect(function()
|
||||||
function()return S()end)w.MouseLeave:connect(function()return S()end)e.
|
return S()end)e.CharacterRemoving:connect(function()ar()return av()end)e.
|
||||||
CharacterRemoving:connect(function()ar()return av()end)e.CharacterAdded:connect(
|
CharacterAdded:connect(function()return aq()end)e.ChildAdded:connect(function(ay
|
||||||
function()return aq()end)e.ChildAdded:connect(function(ay)if ay:IsA'Backpack'
|
)if ay:IsA'Backpack'then s=ay if r~=nil then r:disconnect()end r=game.Players.
|
||||||
then s=ay if r~=nil then r:disconnect()end r=game.Players.LocalPlayer.Backpack.
|
LocalPlayer.Backpack.ChildAdded:connect(function(az)return ai(az)end)end end)y.
|
||||||
ChildAdded:connect(function(az)return ai(az)end)end end)y.Changed:connect(
|
Changed:connect(function()if not y.Value then return V()end end)local ay=v:
|
||||||
function()if not y.Value then return V()end end)local ay=v:GetChildren()for az=1
|
GetChildren()for az=1,#ay do if ay[az]:IsA'Frame'and string.find(ay[az].Name,
|
||||||
,#ay do if ay[az]:IsA'Frame'and string.find(ay[az].Name,'Slot')then ay[az].
|
'Slot')then ay[az].ChildRemoved:connect(function()return V()end)ay[az].
|
||||||
ChildRemoved:connect(function()return V()end)ay[az].ChildAdded:connect(function(
|
ChildAdded:connect(function()return V()end)end end pcall(function()aw(Enum.
|
||||||
)return V()end)end end pcall(function()aw(Enum.CoreGuiType.Backpack,Game.
|
CoreGuiType.Backpack,Game.StarterGui:GetCoreGuiEnabled(Enum.CoreGuiType.Backpack
|
||||||
StarterGui:GetCoreGuiEnabled(Enum.CoreGuiType.Backpack))return Game.StarterGui.
|
))return Game.StarterGui.CoreGuiChangedSignal:connect(aw)end)ah()ag()ay=v:
|
||||||
CoreGuiChangedSignal:connect(aw)end)ah()ag()ay=v:GetChildren()for az=1,#ay do
|
GetChildren()for az=1,#ay do ap(ay[az],false)end if not i.Visible then al(v:
|
||||||
ap(ay[az],false)end if not i.Visible then al(v:GetChildren())end if not(p~=nil)
|
GetChildren())end if not(p~=nil)and game.Players.LocalPlayer['Character']then
|
||||||
and game.Players.LocalPlayer['Character']then aq()end if not r then r=game.
|
aq()end if not r then r=game.Players.LocalPlayer.Backpack.ChildAdded:connect(
|
||||||
Players.LocalPlayer.Backpack.ChildAdded:connect(function(az)return ai(az)end)end
|
function(az)return ai(az)end)end A.Event:connect(am)B.Event:connect(an)C.Event:
|
||||||
A.Event:connect(am)B.Event:connect(an)C.Event:connect(ao)E.Event:connect(au)
|
connect(ao)E.Event:connect(au)return O()
|
||||||
return O()
|
|
||||||
|
|
@ -204,14 +204,14 @@ setHeaderText = (text) ->
|
||||||
assetTypeToString = (assetType) ->
|
assetTypeToString = (assetType) ->
|
||||||
switch assetType
|
switch assetType
|
||||||
when 1 then "Image"
|
when 1 then "Image"
|
||||||
when 2 then "T-Shirt"
|
when 2 then "T-Shirt"
|
||||||
when 3 then "Audio"
|
when 3 then "Audio"
|
||||||
when 4 then "Mesh"
|
when 4 then "Mesh"
|
||||||
when 5 then "Lua"
|
when 5 then "Lua"
|
||||||
when 6 then "HTML"
|
when 6 then "HTML"
|
||||||
when 7 then "Text"
|
when 7 then "Text"
|
||||||
when 8 then "Hat"
|
when 8 then "Hat"
|
||||||
when 9 then "Place"
|
when 9 then "Place"
|
||||||
when 10 then "Model"
|
when 10 then "Model"
|
||||||
when 11 then "Shirt"
|
when 11 then "Shirt"
|
||||||
when 12 then "Pants"
|
when 12 then "Pants"
|
||||||
|
|
@ -233,7 +233,7 @@ assetTypeToString = (assetType) ->
|
||||||
when 32 then "Package"
|
when 32 then "Package"
|
||||||
when 33 then "YouTube Video"
|
when 33 then "YouTube Video"
|
||||||
when 34 then "Game Pass"
|
when 34 then "Game Pass"
|
||||||
when 0 then "Product"
|
when 0 then "Product"
|
||||||
else ""
|
else ""
|
||||||
|
|
||||||
currencyTypeToString = (currencyType) ->
|
currencyTypeToString = (currencyType) ->
|
||||||
|
|
|
||||||
|
|
@ -173,7 +173,7 @@ createButton = (actionName, functionInfoTable) ->
|
||||||
|
|
||||||
local position
|
local position
|
||||||
for i = 1, #buttonVector do
|
for i = 1, #buttonVector do
|
||||||
if buttonVector[i] == "empty" then
|
if buttonVector[i] == "empty"
|
||||||
position = i
|
position = i
|
||||||
break
|
break
|
||||||
|
|
||||||
|
|
@ -189,7 +189,7 @@ createButton = (actionName, functionInfoTable) ->
|
||||||
button.Position = buttonPositionTable[position]
|
button.Position = buttonPositionTable[position]
|
||||||
button.Parent = buttonFrame
|
button.Parent = buttonFrame
|
||||||
|
|
||||||
if buttonScreenGui and not buttonScreenGui.Parent? then
|
if buttonScreenGui and not buttonScreenGui.Parent?
|
||||||
buttonScreenGui.Parent = Game.Players.LocalPlayer.PlayerGui
|
buttonScreenGui.Parent = Game.Players.LocalPlayer.PlayerGui
|
||||||
|
|
||||||
removeAction = (actionName) ->
|
removeAction = (actionName) ->
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,7 @@ New = (className, name, props) ->
|
||||||
local parent
|
local parent
|
||||||
|
|
||||||
for k, v in pairs props
|
for k, v in pairs props
|
||||||
if type(k) == "string" then
|
if type(k) == "string"
|
||||||
if k == "Parent"
|
if k == "Parent"
|
||||||
parent = v
|
parent = v
|
||||||
else
|
else
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,7 @@ New = (className, name, props) ->
|
||||||
local parent
|
local parent
|
||||||
|
|
||||||
for k, v in pairs props
|
for k, v in pairs props
|
||||||
if type(k) == "string" then
|
if type(k) == "string"
|
||||||
if k == "Parent"
|
if k == "Parent"
|
||||||
parent = v
|
parent = v
|
||||||
else
|
else
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,7 @@ New = (className, name, props) ->
|
||||||
local parent
|
local parent
|
||||||
|
|
||||||
for k, v in pairs props
|
for k, v in pairs props
|
||||||
if type(k) == "string" then
|
if type(k) == "string"
|
||||||
if k == "Parent"
|
if k == "Parent"
|
||||||
parent = v
|
parent = v
|
||||||
else
|
else
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,7 @@ New = (className, name, props) ->
|
||||||
local parent
|
local parent
|
||||||
|
|
||||||
for k, v in pairs props
|
for k, v in pairs props
|
||||||
if type(k) == "string" then
|
if type(k) == "string"
|
||||||
if k == "Parent"
|
if k == "Parent"
|
||||||
parent = v
|
parent = v
|
||||||
else
|
else
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,7 @@ New = (className, name, props) ->
|
||||||
local parent
|
local parent
|
||||||
|
|
||||||
for k, v in pairs props
|
for k, v in pairs props
|
||||||
if type(k) == "string" then
|
if type(k) == "string"
|
||||||
if k == "Parent"
|
if k == "Parent"
|
||||||
parent = v
|
parent = v
|
||||||
else
|
else
|
||||||
|
|
@ -1855,12 +1855,12 @@ t.AutoTruncateTextObject = (textLabel) ->
|
||||||
|
|
||||||
--Shrink the text
|
--Shrink the text
|
||||||
textSize = binaryGrow 0, len, (pos) ->
|
textSize = binaryGrow 0, len, (pos) ->
|
||||||
if pos == 0
|
textLabel.Text = if pos == 0
|
||||||
textLabel.Text = "~"
|
"~"
|
||||||
else
|
else
|
||||||
textLabel.Text = string.sub(text, 1, pos) .. "~"
|
string.sub(text, 1, pos) .. "~"
|
||||||
|
|
||||||
return textLabel.TextFits
|
textLabel.TextFits
|
||||||
|
|
||||||
shortText = string.sub(text, 1, textSize) .. "~"
|
shortText = string.sub(text, 1, textSize) .. "~"
|
||||||
textLabel.Text = shortText
|
textLabel.Text = shortText
|
||||||
|
|
@ -1874,7 +1874,7 @@ t.AutoTruncateTextObject = (textLabel) ->
|
||||||
--Okay, now try to binary shrink it back down
|
--Okay, now try to binary shrink it back down
|
||||||
fullLabelSize = binaryShrink textLabel.AbsoluteSize.X, fullLabel.AbsoluteSize.X, (size) ->
|
fullLabelSize = binaryShrink textLabel.AbsoluteSize.X, fullLabel.AbsoluteSize.X, (size) ->
|
||||||
fullLabel.Size = UDim2.new 0, size, 1, 0
|
fullLabel.Size = UDim2.new 0, size, 1, 0
|
||||||
return fullLabel.TextFits
|
fullLabel.TextFits
|
||||||
|
|
||||||
fullLabel.Size = UDim2.new 0, fullLabelSize + 6, 1, 0
|
fullLabel.Size = UDim2.new 0, fullLabelSize + 6, 1, 0
|
||||||
|
|
||||||
|
|
@ -1906,7 +1906,7 @@ t.AutoTruncateTextObject = (textLabel) ->
|
||||||
checkForResize!
|
checkForResize!
|
||||||
|
|
||||||
|
|
||||||
return textLabel, changeText
|
textLabel, changeText
|
||||||
|
|
||||||
|
|
||||||
TransitionTutorialPages = (fromPage, toPage, transitionFrame, currentPageValue) ->
|
TransitionTutorialPages = (fromPage, toPage, transitionFrame, currentPageValue) ->
|
||||||
|
|
@ -2107,10 +2107,10 @@ CreateBasicTutorialPage = (name, handleResize, skipTutorial, giveDoneButton) ->
|
||||||
Position: UDim2.new 0, 0, 0, 25
|
Position: UDim2.new 0, 0, 0, 25
|
||||||
Parent: frame
|
Parent: frame
|
||||||
|
|
||||||
innerFrame.Size = if giveDoneButton
|
innerFrame.Size = UDim2.new 1, 0, 1, if giveDoneButton
|
||||||
UDim2.new 1, 0, 1, -75
|
-75
|
||||||
else
|
else
|
||||||
UDim2.new 1, 0, 1, -22
|
-22
|
||||||
|
|
||||||
|
|
||||||
local parentConnection
|
local parentConnection
|
||||||
|
|
@ -2141,7 +2141,7 @@ CreateBasicTutorialPage = (name, handleResize, skipTutorial, giveDoneButton) ->
|
||||||
basicHandleResize!
|
basicHandleResize!
|
||||||
|
|
||||||
|
|
||||||
return frame, innerFrame
|
frame, innerFrame
|
||||||
|
|
||||||
|
|
||||||
t.CreateTextTutorialPage = (name, text, skipTutorialFunc) ->
|
t.CreateTextTutorialPage = (name, text, skipTutorialFunc) ->
|
||||||
|
|
@ -3179,19 +3179,13 @@ t.CreateTerrainMaterialSelector = (size, position) ->
|
||||||
matName = getNameFromEnum newMaterialType
|
matName = getNameFromEnum newMaterialType
|
||||||
buttons = scrollFrame\GetChildren!
|
buttons = scrollFrame\GetChildren!
|
||||||
for i = 1, #buttons
|
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
|
goToNewMaterial buttons[i], matName
|
||||||
return
|
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) ->
|
frame.Changed\connect (prop) ->
|
||||||
if prop == "AbsoluteSize"
|
if prop == "AbsoluteSize"
|
||||||
recalculateScroll!
|
recalculateScroll!
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,7 @@ New = (className, name, props) ->
|
||||||
local parent
|
local parent
|
||||||
|
|
||||||
for k, v in pairs props
|
for k, v in pairs props
|
||||||
if type(k) == "string" then
|
if type(k) == "string"
|
||||||
if k == "Parent"
|
if k == "Parent"
|
||||||
parent = v
|
parent = v
|
||||||
else
|
else
|
||||||
|
|
|
||||||
103
yue/48488235.yue
103
yue/48488235.yue
|
|
@ -181,7 +181,7 @@ New = (className, name, props) ->
|
||||||
--[[
|
--[[
|
||||||
makes a full sized background for a guiobject
|
makes a full sized background for a guiobject
|
||||||
@Args:
|
@Args:
|
||||||
imgName asset name of image to fill background
|
imgName asset name of image to fill background
|
||||||
@Return: background gui object
|
@Return: background gui object
|
||||||
--]]
|
--]]
|
||||||
MakeBackgroundGuiObj = (imgName) ->
|
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
|
Gets correct icon for builder's club status to display by name
|
||||||
@Args:
|
@Args:
|
||||||
membershipType Enum of membership status
|
membershipType Enum of membership status
|
||||||
@Return: string of image asset
|
@Return: string of image asset
|
||||||
--]]
|
--]]
|
||||||
getMembershipTypeIcon = (membershipType, playerName) ->
|
getMembershipTypeIcon = (membershipType, playerName) ->
|
||||||
|
|
@ -234,10 +234,10 @@ getFriendStatusIcon = (friendStatus) ->
|
||||||
--[[
|
--[[
|
||||||
Utility function to create buttons for the popup menus
|
Utility function to create buttons for the popup menus
|
||||||
@Args:
|
@Args:
|
||||||
nparent what to parent this button to
|
nparent what to parent this button to
|
||||||
ntext text to put on this button
|
ntext text to put on this button
|
||||||
index number index of this entry in menu
|
index number index of this entry in menu
|
||||||
last is this the last element of the popup menu
|
last is this the last element of the popup menu
|
||||||
@Return: a popup menu button
|
@Return: a popup menu button
|
||||||
--]]
|
--]]
|
||||||
MakePopupButton = (nparent, ntext, index, last) ->
|
MakePopupButton = (nparent, ntext, index, last) ->
|
||||||
|
|
@ -288,8 +288,8 @@ debugprint = (str) ->
|
||||||
--[[
|
--[[
|
||||||
obligatory wait for child function
|
obligatory wait for child function
|
||||||
@Args:
|
@Args:
|
||||||
parent Parent object to look for child in
|
parent Parent object to look for child in
|
||||||
child name of child object to look for
|
child name of child object to look for
|
||||||
@Return: object waited for
|
@Return: object waited for
|
||||||
--]]
|
--]]
|
||||||
WaitForChild = (parent, child) ->
|
WaitForChild = (parent, child) ->
|
||||||
|
|
@ -946,11 +946,11 @@ AbsoluteToPercent = (x, y) ->
|
||||||
tweens property of element from starta to enda over length of time
|
tweens property of element from starta to enda over length of time
|
||||||
Warning: should be put in a Spawn call
|
Warning: should be put in a Spawn call
|
||||||
@Args:
|
@Args:
|
||||||
element textobject to tween transparency on
|
element textobject to tween transparency on
|
||||||
propName
|
propName
|
||||||
starta alpha to start tweening
|
starta alpha to start tweening
|
||||||
enda alpha to end tweening on
|
enda alpha to end tweening on
|
||||||
length how many seconds to spend tweening
|
length how many seconds to spend tweening
|
||||||
--]]
|
--]]
|
||||||
TweenProperty = (obj, propName, inita, enda, length) ->
|
TweenProperty = (obj, propName, inita, enda, length) ->
|
||||||
startTime = tick!
|
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.
|
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
|
creates a fullsize gui element to catch next mouse up event completeing a click
|
||||||
@Args:
|
@Args:
|
||||||
frameParent Object to parent fullscreen gui to
|
frameParent Object to parent fullscreen gui to
|
||||||
polledFunction function to call on mouse moved events in this gui
|
polledFunction function to call on mouse moved events in this gui
|
||||||
exitFunction function to call when click event is fired
|
exitFunction function to call when click event is fired
|
||||||
--]]
|
--]]
|
||||||
|
|
||||||
WaitForClick = (frameParent, polledFunction, exitFunction) ->
|
WaitForClick = (frameParent, polledFunction, exitFunction) ->
|
||||||
|
|
@ -1010,8 +1010,8 @@ WaitForClick = (frameParent, polledFunction, exitFunction) ->
|
||||||
Note: these privilege levels seem completely arbitrary, but no documentation exists
|
Note: these privilege levels seem completely arbitrary, but no documentation exists
|
||||||
this is all from the old player list, really weird
|
this is all from the old player list, really weird
|
||||||
@Args:
|
@Args:
|
||||||
rank Integer rank value for player
|
rank Integer rank value for player
|
||||||
@Return Normalized integer value for rank?
|
@Return Normalized integer value for rank?
|
||||||
--]]
|
--]]
|
||||||
-- GetPrivilegeType = (rank) ->
|
-- GetPrivilegeType = (rank) ->
|
||||||
-- if rank <= PrivilegeLevel["Banned"]
|
-- 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
|
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
|
but no documentation for personal server service exists
|
||||||
@Args:
|
@Args:
|
||||||
player player to change rank of
|
player player to change rank of
|
||||||
nrank new integer rank to give player
|
nrank new integer rank to give player
|
||||||
--]]
|
--]]
|
||||||
SetPrivilegeRank = (player, nrank) ->
|
SetPrivilegeRank = (player, nrank) ->
|
||||||
while player.PersonalServerRank < 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
|
Highlights current rank of this player in the popup menu
|
||||||
@Args:
|
@Args:
|
||||||
player Player to check for rank on
|
player Player to check for rank on
|
||||||
--]]
|
--]]
|
||||||
HighlightMyRank = (player, BanPlayerButton, VisitorButton, MemberButton, AdminButton) ->
|
HighlightMyRank = (player, BanPlayerButton, VisitorButton, MemberButton, AdminButton) ->
|
||||||
BanPlayerButton.Image = assetid .. Images["LightPopupMid"]
|
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
|
called when player selects new privilege level from popup menu
|
||||||
@Args:
|
@Args:
|
||||||
player player to set privileges on
|
player player to set privileges on
|
||||||
nlevel new privilege level for this player
|
nlevel new privilege level for this player
|
||||||
--]]
|
--]]
|
||||||
OnPrivilegeLevelSelect = (player, nlevel, BanPlayerButton, VisitorButton, MemberButton, AdminButton) ->
|
OnPrivilegeLevelSelect = (player, nlevel, BanPlayerButton, VisitorButton, MemberButton, AdminButton) ->
|
||||||
debugprint "setting privilege level"
|
debugprint "setting privilege level"
|
||||||
|
|
@ -1158,17 +1158,17 @@ InitReportAbuse = ->
|
||||||
--[[
|
--[[
|
||||||
gets enum val of friend status, uses pcall for some reason?(from old playerlist)
|
gets enum val of friend status, uses pcall for some reason?(from old playerlist)
|
||||||
@Args:
|
@Args:
|
||||||
player player object to check if friends with
|
player player object to check if friends with
|
||||||
@Return: enum of friend status
|
@Return: enum of friend status
|
||||||
--]]
|
--]]
|
||||||
GetFriendStatus = (player) ->
|
GetFriendStatus = (player) ->
|
||||||
if player == game.Players.LocalPlayer
|
if player == game.Players.LocalPlayer
|
||||||
return Enum.FriendStatus.NotFriend
|
Enum.FriendStatus.NotFriend
|
||||||
else
|
else
|
||||||
success, result = try
|
success, result = try
|
||||||
game.Players.LocalPlayer\GetFriendStatus player
|
game.Players.LocalPlayer\GetFriendStatus player
|
||||||
|
|
||||||
return if success
|
if success
|
||||||
result
|
result
|
||||||
else
|
else
|
||||||
Enum.FriendStatus.NotFriend
|
Enum.FriendStatus.NotFriend
|
||||||
|
|
@ -1266,8 +1266,8 @@ local BaseUpdate
|
||||||
--[[
|
--[[
|
||||||
doing WAAY too much here, for optimization update only your team
|
doing WAAY too much here, for optimization update only your team
|
||||||
@Args:
|
@Args:
|
||||||
playerEntry Entry of player who had a stat change
|
playerEntry Entry of player who had a stat change
|
||||||
property Name of stat changed
|
property Name of stat changed
|
||||||
--]]
|
--]]
|
||||||
StatChanged = (_, _) -> --playerEntry, property)
|
StatChanged = (_, _) -> --playerEntry, property)
|
||||||
-- if playerEntry['MyTeam']
|
-- if playerEntry['MyTeam']
|
||||||
|
|
@ -1296,8 +1296,8 @@ local UpdateMaximize
|
||||||
if stat is a string value, crashes the leaderboard
|
if stat is a string value, crashes the leaderboard
|
||||||
Note: change crash to a 'tabify' leaderboard later
|
Note: change crash to a 'tabify' leaderboard later
|
||||||
@Args:
|
@Args:
|
||||||
nchild new child value to leaderstats
|
nchild new child value to leaderstats
|
||||||
playerEntry entry this stat was added to
|
playerEntry entry this stat was added to
|
||||||
--]]
|
--]]
|
||||||
StatAdded = (nchild, playerEntry) ->
|
StatAdded = (nchild, playerEntry) ->
|
||||||
-- dont re - add a leaderstat I alreday have
|
-- dont re - add a leaderstat I alreday have
|
||||||
|
|
@ -1367,8 +1367,8 @@ DoesStatExist = (statName, exception) ->
|
||||||
then calls statchanged to resize frame
|
then calls statchanged to resize frame
|
||||||
if playerEntry==localplayer, will remove from scorenames
|
if playerEntry==localplayer, will remove from scorenames
|
||||||
@Args:
|
@Args:
|
||||||
nchild ___value to be removed
|
nchild ___value to be removed
|
||||||
playerEntry entry of player value is being removed from
|
playerEntry entry of player value is being removed from
|
||||||
--]]
|
--]]
|
||||||
StatRemoved = (nchild, playerEntry) ->
|
StatRemoved = (nchild, playerEntry) ->
|
||||||
while AddingStatLock
|
while AddingStatLock
|
||||||
|
|
@ -2175,7 +2175,7 @@ ScreenGui.Changed\connect UpdateHeaderNameSize
|
||||||
called only when the leaderstats object is added to a given player entry
|
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
|
removes old stats, adds any existing stats, and sets up listeners for new stats
|
||||||
@Args:
|
@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) ->
|
LeaderstatsAdded = (playerEntry) ->
|
||||||
--RemoveAllStats playerEntry
|
--RemoveAllStats playerEntry
|
||||||
|
|
@ -2194,8 +2194,8 @@ LeaderstatsAdded = (playerEntry) ->
|
||||||
called when leaderstats object is removed from play in player entry
|
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
|
Note: may not be needed, might be able to just rely on leaderstats added
|
||||||
@Args:
|
@Args:
|
||||||
oldLeaderstats leaderstats object to be removed
|
oldLeaderstats leaderstats object to be removed
|
||||||
playerEntry A reference to the ENTRY(table) of the player
|
playerEntry A reference to the ENTRY(table) of the player
|
||||||
--]]
|
--]]
|
||||||
LeaderstatsRemoved = (_, playerEntry) ->
|
LeaderstatsRemoved = (_, playerEntry) ->
|
||||||
while AddingFrameLock
|
while AddingFrameLock
|
||||||
|
|
@ -2210,7 +2210,7 @@ LeaderstatsRemoved = (_, playerEntry) ->
|
||||||
Called when a player entry in the leaderboard is clicked
|
Called when a player entry in the leaderboard is clicked
|
||||||
either will highlight entry and start the drag event, or open a popup menu
|
either will highlight entry and start the drag event, or open a popup menu
|
||||||
@Args:
|
@Args:
|
||||||
entry the player entry clicked
|
entry the player entry clicked
|
||||||
--]]
|
--]]
|
||||||
OnPlayerEntrySelect = (entry, startx, starty) ->
|
OnPlayerEntrySelect = (entry, startx, starty) ->
|
||||||
if not InPopupWaitForClick
|
if not InPopupWaitForClick
|
||||||
|
|
@ -2248,8 +2248,8 @@ RemoveNeutralTeam = ->
|
||||||
--[[
|
--[[
|
||||||
removes a single player from a given team (not usually called directly)
|
removes a single player from a given team (not usually called directly)
|
||||||
@Args:
|
@Args:
|
||||||
teamEntry team entry to remove player from
|
teamEntry team entry to remove player from
|
||||||
index index of player in 'MyPlayers' list to remove
|
index index of player in 'MyPlayers' list to remove
|
||||||
--]]
|
--]]
|
||||||
RemovePlayerFromTeam = (teamEntry, index) ->
|
RemovePlayerFromTeam = (teamEntry, index) ->
|
||||||
table.remove teamEntry["MyPlayers"], 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
|
finds previous team this player was on, and if it exists calls removeplayerfromteam
|
||||||
@Args
|
@Args
|
||||||
entry Player entry
|
entry Player entry
|
||||||
--]]
|
--]]
|
||||||
|
|
||||||
|
test = 5
|
||||||
|
|
||||||
|
test = 5
|
||||||
|
|
||||||
FindRemovePlayerFromTeam = (entry) ->
|
FindRemovePlayerFromTeam = (entry) ->
|
||||||
if entry["MyTeam"]
|
if entry["MyTeam"]
|
||||||
for j, oldEntry in ipairs entry["MyTeam"]["MyPlayers"]
|
for j, oldEntry in ipairs entry["MyTeam"]["MyPlayers"]
|
||||||
|
|
@ -2279,8 +2284,8 @@ FindRemovePlayerFromTeam = (entry) ->
|
||||||
adds player entry entry to teamentry
|
adds player entry entry to teamentry
|
||||||
removes them from any previous team
|
removes them from any previous team
|
||||||
@Args:
|
@Args:
|
||||||
teamEntry entry of team to add player to
|
teamEntry entry of team to add player to
|
||||||
entry player entry to add to this team
|
entry player entry to add to this team
|
||||||
--]]
|
--]]
|
||||||
AddPlayerToTeam = (teamEntry, entry) ->
|
AddPlayerToTeam = (teamEntry, entry) ->
|
||||||
FindRemovePlayerFromTeam entry
|
FindRemovePlayerFromTeam entry
|
||||||
|
|
@ -2368,8 +2373,8 @@ SetPlayerToTeam = (entry) ->
|
||||||
called when any children of player changes
|
called when any children of player changes
|
||||||
handles 'Neutral', teamColor, Name and MembershipType changes
|
handles 'Neutral', teamColor, Name and MembershipType changes
|
||||||
@Args
|
@Args
|
||||||
entry Player entry changed
|
entry Player entry changed
|
||||||
property name of property changed
|
property name of property changed
|
||||||
--]]
|
--]]
|
||||||
PlayerChanged = (entry, property) ->
|
PlayerChanged = (entry, property) ->
|
||||||
while PlayerChangedLock
|
while PlayerChangedLock
|
||||||
|
|
@ -2421,7 +2426,7 @@ PlayerChanged = (entry, property) ->
|
||||||
inits their player frame and player entry, assigns them to a team if possible,
|
inits their player frame and player entry, assigns them to a team if possible,
|
||||||
and hooks up their leaderstats
|
and hooks up their leaderstats
|
||||||
@Args:
|
@Args:
|
||||||
nplayer new player object to insert
|
nplayer new player object to insert
|
||||||
--]]
|
--]]
|
||||||
InsertPlayerFrame = (nplayer) ->
|
InsertPlayerFrame = (nplayer) ->
|
||||||
while AddingFrameLock
|
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
|
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
|
list, in the correct order,and of the correct length
|
||||||
@Args:
|
@Args:
|
||||||
tframes the team entries to unroll
|
tframes the team entries to unroll
|
||||||
outframes the list to unroll these entries into
|
outframes the list to unroll these entries into
|
||||||
--]]
|
--]]
|
||||||
UnrollTeams = (tframes, outframes) ->
|
UnrollTeams = (tframes, outframes) ->
|
||||||
numEntries = 0
|
numEntries = 0
|
||||||
|
|
@ -2622,7 +2627,7 @@ TeamSortFunc = (a, b) ->
|
||||||
--[[
|
--[[
|
||||||
adds up all the score of this team's players to form the team score
|
adds up all the score of this team's players to form the team score
|
||||||
@Args:
|
@Args:
|
||||||
team team entry to sum the scores of
|
team team entry to sum the scores of
|
||||||
--]]
|
--]]
|
||||||
AddTeamScores = (team) ->
|
AddTeamScores = (team) ->
|
||||||
for j = 1, #ScoreNames, 1
|
for j = 1, #ScoreNames, 1
|
||||||
|
|
@ -2643,7 +2648,7 @@ AddTeamScores = (team) ->
|
||||||
consider adding lock with wait for performance
|
consider adding lock with wait for performance
|
||||||
sorts each of the team's player lists induvidually, adds up the team scores.
|
sorts each of the team's player lists induvidually, adds up the team scores.
|
||||||
@Args:
|
@Args:
|
||||||
tentries table of team entries
|
tentries table of team entries
|
||||||
--]]
|
--]]
|
||||||
SortTeams = (tentries) ->
|
SortTeams = (tentries) ->
|
||||||
for _, val in ipairs tentries
|
for _, val in ipairs tentries
|
||||||
|
|
@ -2719,7 +2724,7 @@ TeamChildRemoved = (entry, nchild) ->
|
||||||
--[[
|
--[[
|
||||||
removes team from team list
|
removes team from team list
|
||||||
@Args:
|
@Args:
|
||||||
nteam Teamobject to remove
|
nteam Teamobject to remove
|
||||||
--]]
|
--]]
|
||||||
RemoveTeamFrame = (nteam) ->
|
RemoveTeamFrame = (nteam) ->
|
||||||
while AddingFrameLock
|
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
|
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
|
Note: might be best to break this into multiple functions to simplify
|
||||||
@Args:
|
@Args:
|
||||||
nteam new team object added
|
nteam new team object added
|
||||||
--]]
|
--]]
|
||||||
InsertTeamFrame = (nteam) ->
|
InsertTeamFrame = (nteam) ->
|
||||||
while AddingFrameLock
|
while AddingFrameLock
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,7 @@ New = (className, name, props) ->
|
||||||
local parent
|
local parent
|
||||||
|
|
||||||
for k, v in pairs props
|
for k, v in pairs props
|
||||||
if type(k) == "string" then
|
if type(k) == "string"
|
||||||
if k == "Parent"
|
if k == "Parent"
|
||||||
parent = v
|
parent = v
|
||||||
else
|
else
|
||||||
|
|
|
||||||
|
|
@ -671,8 +671,7 @@ filterGear = (terms) ->
|
||||||
filteredGear = {}
|
filteredGear = {}
|
||||||
for _, v in pairs backpackItems
|
for _, v in pairs backpackItems
|
||||||
if buttons[v]
|
if buttons[v]
|
||||||
gearString = string.lower buttons[v].GearReference.Value.Name
|
gearString = trim string.lower buttons[v].GearReference.Value.Name
|
||||||
gearString = trim gearString
|
|
||||||
for i = 1, #terms
|
for i = 1, #terms
|
||||||
if string.match gearString, terms[i]
|
if string.match gearString, terms[i]
|
||||||
table.insert filteredGear, buttons[v]
|
table.insert filteredGear, buttons[v]
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue