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