MaxproGlitcher

Untitled

Feb 7th, 2026 (edited)
52
0
Never
5
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 67.18 KB | None | 0 0
  1. --[[By MaxproGlitcher Discord:maxproglitcher
  2.  
  3. -- Site Web official: https://github.com/MaxproGlitcher/Server-Finder-Deluxe
  4.  
  5. _____ ________.__ .__ __ .__
  6. / \ _____ ___ ________________ ____ / _____/| | |__|/ |_ ____ | |__ ___________
  7. / \ / \\__ \ \ \/ /\____ \_ __ \/ _ \/ \ ___| | | \ __\/ ___\| | \_/ __ \_ __ \
  8. / Y \/ __ \_> < | |_> > | \( <_> ) \_\ \ |_| || | \ \___| Y \ ___/| | \/
  9. \____|__ (____ /__/\_ \| __/|__| \____/ \______ /____/__||__| \___ >___| /\___ >__|
  10. \/ \/ \/|__| \/ \/ \/ \/
  11.  
  12.  
  13. --------------------------------------------------------------------------------------------------------------------
  14.  
  15.  
  16. _____ ______ _ _ _____ _
  17. / ____| | ____(_) | | | __ \ | |
  18. | (___ ___ _ ____ _____ _ __ | |__ _ _ __ __| | ___ _ __ | | | | ___| |_ ___ _____
  19. \___ \ / _ \ '__\ \ / / _ \ '__| | __| | | '_ \ / _` |/ _ \ '__| | | | |/ _ \ | | | \ \/ / _ \
  20. ____) | __/ | \ V / __/ | | | | | | | | (_| | __/ | | |__| | __/ | |_| |> < __/
  21. |_____/ \___|_| \_/ \___|_| |_| |_|_| |_|\__,_|\___|_| |_____/ \___|_|\__,_/_/\_\___|
  22.  
  23.  
  24. ]]
  25. --------------------------------------------------------------------------------------------------------------------
  26. if not game:IsLoaded() then
  27. game.Loaded:Wait()
  28. end
  29.  
  30. local TweenService = game:GetService("TweenService")
  31. local Lighting = game:GetService("Lighting")
  32. local CoreGui = game:GetService("CoreGui")
  33.  
  34. local gui = Instance.new("ScreenGui", game.CoreGui)
  35. gui.Parent = CoreGui
  36. gui.IgnoreGuiInset = true
  37. gui.ResetOnSpawn = false
  38.  
  39. local blur = Instance.new("BlurEffect")
  40. blur.Parent = Lighting
  41. blur.Size = 12
  42.  
  43. local main = Instance.new("Frame")
  44. main.Parent = gui
  45. main.Size = UDim2.new(0, 420, 0, 260)
  46. main.Position = UDim2.new(0.5, -210, 0.5, -130)
  47. main.BackgroundColor3 = Color3.fromRGB(30, 30, 30)
  48. main.BorderSizePixel = 0
  49. Instance.new("UICorner", main).CornerRadius = UDim.new(0, 12)
  50.  
  51. local title = Instance.new("TextLabel")
  52. title.Parent = main
  53. title.BackgroundTransparency = 1
  54. title.Size = UDim2.new(1, 0, 0, 50)
  55. title.Position = UDim2.new(0, 0, 0, 10)
  56. title.Font = Enum.Font.GothamBlack
  57. title.TextSize = 40
  58. title.TextColor3 = Color3.fromRGB(240, 240, 240)
  59. title.Text = "Server Finder Deluxe"
  60.  
  61. local versionLabel = Instance.new("TextLabel")
  62. versionLabel.Parent = main
  63. versionLabel.BackgroundTransparency = 1
  64. versionLabel.Size = UDim2.new(1, 0, 0, 20)
  65. versionLabel.Position = UDim2.new(0, 0, 0, 70)
  66. versionLabel.Font = Enum.Font.GothamMedium
  67. versionLabel.TextSize = 16
  68. versionLabel.TextColor3 = Color3.fromRGB(210, 210, 210)
  69. versionLabel.Text = "Ultimate Server Scanner"
  70.  
  71. local status = Instance.new("TextLabel")
  72. status.Parent = main
  73. status.BackgroundTransparency = 1
  74. status.Size = UDim2.new(1, 0, 0, 30)
  75. status.Position = UDim2.new(0, 0, 0, 105)
  76. status.Font = Enum.Font.Gotham
  77. status.TextSize = 18
  78. status.TextColor3 = Color3.fromRGB(200, 200, 200)
  79. status.Text = "Loading..."
  80.  
  81. local percent = Instance.new("TextLabel")
  82. percent.Parent = main
  83. percent.BackgroundTransparency = 1
  84. percent.Size = UDim2.new(1, 0, 0, 25)
  85. percent.Position = UDim2.new(0, 0, 0, 135)
  86. percent.Font = Enum.Font.GothamBold
  87. percent.TextSize = 20
  88. percent.TextColor3 = Color3.fromRGB(200, 200, 200)
  89. percent.Text = "0%"
  90.  
  91. local barBack = Instance.new("Frame")
  92. barBack.Parent = main
  93. barBack.Size = UDim2.new(0, 280, 0, 8)
  94. barBack.Position = UDim2.new(0.5, -140, 0, 165)
  95. barBack.BackgroundColor3 = Color3.fromRGB(60, 60, 60)
  96. barBack.BorderSizePixel = 0
  97. Instance.new("UICorner", barBack).CornerRadius = UDim.new(0, 4)
  98.  
  99. local bar = Instance.new("Frame")
  100. bar.Parent = barBack
  101. bar.Size = UDim2.new(0, 0, 1, 0)
  102. bar.BackgroundColor3 = Color3.fromRGB(180, 180, 180)
  103. bar.BorderSizePixel = 0
  104. Instance.new("UICorner", bar).CornerRadius = UDim.new(0, 4)
  105.  
  106. local credit = Instance.new("TextLabel")
  107. credit.Parent = main
  108. credit.BackgroundTransparency = 1
  109. credit.Size = UDim2.new(0, 200, 0, 20)
  110. credit.Position = UDim2.new(1, -210, 1, -30)
  111. credit.Font = Enum.Font.Gotham
  112. credit.TextSize = 16
  113. credit.TextColor3 = Color3.fromRGB(170, 170, 170)
  114. credit.TextXAlignment = Enum.TextXAlignment.Right
  115. credit.Text = "By MaxproGlitcher"
  116.  
  117. local discord = Instance.new("TextLabel")
  118. discord.Parent = main
  119. discord.BackgroundTransparency = 1
  120. discord.Size = UDim2.new(0, 220, 0, 20)
  121. discord.Position = UDim2.new(0, 10, 1, -30)
  122. discord.Font = Enum.Font.Gotham
  123. discord.TextSize = 16
  124. discord.TextColor3 = Color3.fromRGB(170, 170, 170)
  125. discord.TextXAlignment = Enum.TextXAlignment.Left
  126. discord.Text = "Discord : maxproglitcher"
  127.  
  128.  
  129. local isXmas, isHalloween, isNewYear, isEaster, isValentine = false, false, false, false, false
  130.  
  131. pcall(function()
  132. local date = os.date("*t")
  133. isXmas = date.month == 12 and date.day >= 15 and date.day <= 29
  134. isHalloween = (date.month == 10 and date.day >= 23) or (date.month == 11 and date.day <= 1)
  135. isNewYear = (date.month == 12 and date.day >= 30) or (date.month == 1 and date.day <= 2)
  136. isEaster = (date.month == 3 and date.day >= 31) or (date.month == 4 and date.day <= 15)
  137. isValentine = (date.month == 2 and date.day == 14)
  138. end)
  139.  
  140. local function decorate(startEmoji, endEmoji)
  141. title.Text = startEmoji .. " Server Finder Deluxe " .. endEmoji
  142. title.TextSize = 32
  143. end
  144.  
  145. local function cycle(colors)
  146. local i = 1
  147. task.spawn(function()
  148. while gui.Parent do
  149. local c = colors[i]
  150. title.TextColor3 = c
  151. versionLabel.TextColor3 = c
  152. status.TextColor3 = c
  153. credit.TextColor3 = c
  154. percent.TextColor3 = c
  155. bar.BackgroundColor3 = c
  156.  
  157. if discord then
  158. discord.TextColor3 = c
  159. end
  160.  
  161. i = i % #colors + 1
  162. task.wait(0.5)
  163. end
  164. end)
  165. end
  166.  
  167. if isXmas then
  168. decorate("🎄", "🎄")
  169. cycle({
  170. Color3.fromRGB(0,255,0),
  171. Color3.fromRGB(255,0,0),
  172. Color3.fromRGB(255,255,255)})
  173. elseif isHalloween then
  174. decorate("🎃", "🎃")
  175. cycle({
  176. Color3.fromRGB(0,0,0),
  177. Color3.fromRGB(255,165,0)})
  178. elseif isNewYear then
  179. decorate("🎉", "🎉")
  180. cycle({
  181. Color3.fromRGB(255,255,0),
  182. Color3.fromRGB(0,0,0)})
  183. elseif isEaster then
  184. decorate("🐰", "🐰")
  185. cycle({
  186. Color3.fromRGB(216,191,216),
  187. Color3.fromRGB(255,182,193),
  188. Color3.fromRGB(193,225,193),
  189. Color3.fromRGB(173,216,230)
  190. })
  191. elseif isValentine then
  192. decorate("💗", "💗")
  193. cycle({
  194. Color3.fromRGB(0,0,0),
  195. Color3.fromRGB(255,85,127)})
  196. end
  197.  
  198.  
  199. local loading = true
  200.  
  201. pcall(function()
  202. task.spawn(function()
  203. while loading and status and status.Parent do
  204. for i = 1, 3 do
  205. if not loading then break end
  206. status.Text = "Loading" .. string.rep(".", i)
  207. task.wait(0.4)
  208. end
  209. if not loading then break end
  210. status.Text = "Loading"
  211. task.wait(0.4)
  212. end
  213. end)
  214. end)
  215.  
  216.  
  217. pcall(function()
  218. local duration = 2
  219. TweenService:Create(
  220. bar,
  221. TweenInfo.new(duration, Enum.EasingStyle.Quad, Enum.EasingDirection.Out),
  222. { Size = UDim2.new(1, 0, 1, 0) }
  223. ):Play()
  224.  
  225. for i = 0, 100 do
  226. if not percent or not percent.Parent then break end
  227. percent.Text = i .. "%"
  228. task.wait(duration / 100)
  229. end
  230. end)
  231.  
  232. loading = false
  233. status.Text = "Success"
  234.  
  235. task.wait(0.30)
  236.  
  237. if blur then
  238. blur:Destroy()
  239. end
  240.  
  241. if gui then
  242. gui:Destroy()
  243. end
  244.  
  245. --------------------------------------------------------------------------------------------------------------------
  246.  
  247. if _G.SFD_LOADED and not _G.SFD_CAN_RELOAD then
  248. -- error("Server Finder Deluxe is already running!", 0)
  249. return
  250. end
  251.  
  252. _G.SFD_LOADED = true
  253. _G.SFD_CAN_RELOAD = false
  254.  
  255. if not game:IsLoaded() then game.Loaded:Wait() end
  256.  
  257. -- Compatibilité getgenv
  258.  
  259. pcall(function()
  260. if game:GetService("CoreGui"):FindFirstChild("incognito") then
  261. local oldstring = loadstring
  262. getfenv().loadstring = function(code)
  263. local source = code
  264. source = source:gsub("(%a+)%s*([%+%-%*/])=%s*", "%1 = %1 %2 ")
  265. return oldstring(source)
  266. end
  267. end
  268.  
  269. if not getgenv then
  270. getfenv().getgenv = function(layer)
  271. return getfenv(layer)
  272. end
  273. end
  274. end)
  275.  
  276. getgenv().NextServer = nil
  277. getgenv().HasScannedAll = false
  278.  
  279.  
  280. -- Services
  281. local HttpService = game:GetService("HttpService")
  282. local TeleportService = game:GetService("TeleportService")
  283. local Players = game:GetService("Players")
  284. local LocalPlayer = Players.LocalPlayer
  285. local UserInputService = game:GetService("UserInputService")
  286. local LocalizationService = game:GetService("LocalizationService")
  287. local TweenService = game:GetService("TweenService")
  288. local VRService = game:GetService("VRService")
  289. local CaptureService = game:GetService("CaptureService")
  290.  
  291. local camera = workspace.CurrentCamera or workspace:FindFirstChildOfClass("Camera")
  292. if not camera then
  293. repeat task.wait() camera = workspace.CurrentCamera until camera
  294. end
  295.  
  296. local SCREEN_SIZE = camera.ViewportSize
  297. local platform = UserInputService:GetPlatform()
  298.  
  299. local IsOnMobile = (function() if platform == Enum.Platform.IOS or platform == Enum.Platform.Android or platform == Enum.Platform.AndroidTV or platform == Enum.Platform.Chromecast or platform == Enum.Platform.MetaOS then
  300. return true
  301. end
  302.  
  303. if platform == Enum.Platform.None then
  304. return UserInputService.TouchEnabled and not (UserInputService.KeyboardEnabled or UserInputService.MouseEnabled)
  305. end
  306.  
  307. return false
  308. end)()
  309.  
  310. local IsOnPC = (function() if platform == Enum.Platform.Windows or platform == Enum.Platform.OSX or platform == Enum.Platform.Linux or platform == Enum.Platform.SteamOS or platform == Enum.Platform.UWP or platform == Enum.Platform.DOS or platform == Enum.Platform.BeOS then
  311. return true
  312. end
  313.  
  314. if platform == Enum.Platform.None then
  315. return UserInputService.KeyboardEnabled or UserInputService.MouseEnabled
  316. end
  317.  
  318. return false
  319. end)()
  320.  
  321. local VREnabled = game:GetService("VRService").VREnabled
  322.  
  323. local queueteleport = (syn and syn.queue_on_teleport) or queue_on_teleport or (fluxus and fluxus.queue_on_teleport)
  324.  
  325. local httprequest = (syn and syn.request) or (http and http.request) or http_request or (fluxus and fluxus.request) or request
  326.  
  327. --------------------------------------------------------------------------------------------------------------------
  328. local LocalizationService = game:GetService("LocalizationService")
  329. local TweenService = game:GetService("TweenService")
  330.  
  331.  
  332. local hasGetGenv = false
  333.  
  334. pcall(function()
  335. if typeof(getgenv) == "function" then
  336. hasGetGenv = true
  337. end
  338. end)
  339.  
  340.  
  341. local requestFunc
  342. local httpSuccess = false
  343.  
  344. pcall(function()
  345. if syn and syn.request then
  346. requestFunc = syn.request
  347. elseif http and http.request then
  348. requestFunc = http.request
  349. elseif http_request then
  350. requestFunc = http_request
  351. elseif fluxus and fluxus.request then
  352. requestFunc = fluxus.request
  353. elseif request then
  354. requestFunc = request
  355. end
  356. end)
  357.  
  358. if requestFunc then
  359. httpSuccess = true
  360. end
  361.  
  362.  
  363. local translations = {
  364. fr = {
  365. getgenv = "La fonction getgenv est introuvable ! ⚠️",
  366. http = "Aucune fonction HTTP supportée trouvée ! ⚠️"
  367. },
  368. en = {
  369. getgenv = "getgenv function not found! ⚠️",
  370. http = "No supported HTTP request function found! ⚠️"
  371. },
  372. es = {
  373. getgenv = "¡Función getgenv no encontrada! ⚠️",
  374. http = "¡No se encontró ninguna función HTTP compatible! ⚠️"
  375. },
  376. pt = {
  377. getgenv = "Função getgenv não encontrada! ⚠️",
  378. http = "Nenhuma função HTTP suportada encontrada! ⚠️"
  379. },
  380. tr = {
  381. getgenv = "getgenv işlevi bulunamadı! ⚠️",
  382. http = "Desteklenen HTTP isteği işlevi bulunamadı! ⚠️"
  383. },
  384. it = {
  385. getgenv = "Funzione getgenv non trovata! ⚠️",
  386. http = "Nessuna funzione HTTP supportata trovata! ⚠️"
  387. },
  388. de = {
  389. getgenv = "getgenv-Funktion nicht gefunden! ⚠️",
  390. http = "Keine unterstützte HTTP-Anfragefunktion gefunden! ⚠️"
  391. },
  392. ar = {
  393. getgenv = "لم يتم العثور على دالة getgenv! ⚠️",
  394. http = "لم يتم العثور على أي دالة HTTP مدعومة! ⚠️"
  395. },
  396. ja = {
  397. getgenv = "getgenv 関数が見つかりません!⚠️",
  398. http = "サポートされているHTTPリクエスト機能が見つかりません!⚠️"
  399. },
  400. ru = {
  401. getgenv = "Функция getgenv не найдена! ⚠️",
  402. http = "Поддерживаемая функция HTTP-запроса не найдена! ⚠️"
  403. },
  404. zh = {
  405. getgenv = "未找到 getgenv 函数!⚠️",
  406. http = "未找到受支持的HTTP请求函数!⚠️"
  407. }
  408. }
  409.  
  410. local function getTranslatedMessage()
  411. local langCode = (LocalizationService.RobloxLocaleId or "en"):sub(1,2)
  412. return langText[langCode] or langText["en"]
  413. end
  414.  
  415.  
  416. local NotificationLib = {
  417. _notifications = {},
  418. _theme = {
  419. primaryColor = Color3.fromRGB(30,30,30),
  420. textColor = Color3.fromRGB(255,255,255),
  421. font = Enum.Font.GothamSemibold,
  422. cornerRadius = UDim.new(0,8)
  423. },
  424. _settings = {
  425. duration = 4,
  426. spacing = 12,
  427. fadeTime = 0.28,
  428. slideDistance = 18
  429. },
  430. _icons = { info = "rbxassetid://9405926389" }
  431. }
  432.  
  433. function NotificationLib:_init()
  434. if not self._container then
  435. self._container = Instance.new("ScreenGui")
  436. self._container.Name = "NotificationLibrary"
  437. self._container.ResetOnSpawn = false
  438. self._container.ZIndexBehavior = Enum.ZIndexBehavior.Sibling
  439. self._container.Parent = game:GetService("CoreGui")
  440. end
  441. end
  442.  
  443. function NotificationLib:_calculatePosition(i)
  444. return UDim2.new(1, -24, 1, -24 - (i-1)*(90 + self._settings.spacing))
  445. end
  446.  
  447. function NotificationLib:_animateOut(frame)
  448. local tween = TweenService:Create(
  449. frame,
  450. TweenInfo.new(self._settings.fadeTime, Enum.EasingStyle.Quad),
  451. {
  452. Position = frame.Position + UDim2.new(0,0,0,self._settings.slideDistance),
  453. BackgroundTransparency = 1
  454. }
  455. )
  456. tween:Play()
  457. tween.Completed:Connect(function()
  458. if frame.Parent then frame:Destroy() end
  459. end)
  460. end
  461.  
  462. function NotificationLib:Notify(opt)
  463. self:_init()
  464. opt = opt or {}
  465.  
  466. local frame = Instance.new("Frame")
  467. frame.Size = UDim2.new(0,340,0,90)
  468. frame.AnchorPoint = Vector2.new(1,1)
  469. frame.Position = self:_calculatePosition(#self._notifications + 1)
  470. frame.BackgroundColor3 = self._theme.primaryColor
  471. frame.Parent = self._container
  472. Instance.new("UICorner", frame).CornerRadius = self._theme.cornerRadius
  473.  
  474. local title = Instance.new("TextLabel", frame)
  475. title.Text = opt.Title or "Notification"
  476. title.Font = self._theme.font
  477. title.TextColor3 = self._theme.textColor
  478. title.TextSize = 16
  479. title.TextXAlignment = Enum.TextXAlignment.Left
  480. title.BackgroundTransparency = 1
  481. title.Size = UDim2.new(1,-60,0,22)
  482. title.Position = UDim2.new(0,48,0,10)
  483.  
  484. local msg = Instance.new("TextLabel", frame)
  485. msg.Text = opt.Message or ""
  486. msg.Font = Enum.Font.Gotham
  487. msg.TextColor3 = self._theme.textColor
  488. msg.TextSize = 14
  489. msg.TextWrapped = true
  490. msg.TextXAlignment = Enum.TextXAlignment.Left
  491. msg.BackgroundTransparency = 1
  492. msg.Size = UDim2.new(1,-60,0,48)
  493. msg.Position = UDim2.new(0,48,0,30)
  494.  
  495. table.insert(self._notifications, frame)
  496.  
  497. task.delay(opt.Duration or self._settings.duration, function()
  498. self:_animateOut(frame)
  499. end)
  500. end
  501.  
  502.  
  503.  
  504. if not hasGetGenv then
  505. warn("[EXPLOIT WARNING] getgenv function not found")
  506. NotificationLib:Notify({
  507. Title = "EXPLOIT WARNING",
  508. Message = getMessage("getgenv"),
  509. Duration = 5
  510. })
  511. end
  512.  
  513. if not httpSuccess then
  514. warn("[HTTP WARNING] No supported HTTP request function found")
  515. NotificationLib:Notify({
  516. Title = "HTTP WARNING",
  517. Message = getMessage("http"),
  518. Duration = 5
  519. })
  520. end
  521.  
  522.  
  523. _G.MISSING_GETGENV = not hasGetGenv
  524. _G.MISSING_HTTP = not httpSuccess
  525.  
  526. --------------------------------------------------------------------------------------------------------------------
  527.  
  528. local screenGui = Instance.new("ScreenGui", game:GetService("CoreGui"))
  529.  
  530. -- Essayer de créer un parent vers un emplacement protégé
  531. pcall(function()
  532. if gethui then
  533. screenGui.Parent = gethui()
  534. elseif syn and syn.protect_gui then
  535. syn.protect_gui(screenGui)
  536. screenGui.Parent = game:GetService("CoreGui")
  537. else
  538. screenGui.Parent = game:GetService("CoreGui")
  539. end
  540. end)
  541.  
  542. if not screenGui.Parent then
  543. screenGui.Parent = game.Players.LocalPlayer:WaitForChild("PlayerGui")
  544. end
  545.  
  546.  
  547. local mainFrame = Instance.new("Frame", screenGui)
  548. mainFrame.Size = UDim2.new(0, 650, 0, 500)
  549. mainFrame.Position = UDim2.new(0.5, 0, 0.5, 0)
  550. mainFrame.AnchorPoint = Vector2.new(0.5, 0.5)
  551. mainFrame.BackgroundColor3 = Color3.fromRGB(30, 30, 30)
  552. mainFrame.BorderSizePixel = 0
  553.  
  554. -- Détection des Screen
  555.  
  556. if isOnMobile or SCREEN_SIZE.X < 800 then
  557. mainFrame.Size = UDim2.new(0, 800, 0, 600)
  558. else
  559. mainFrame.Size = UDim2.new(0, 650, 0, 500)
  560. end
  561.  
  562. local dragging, dragInput, dragStart, startPos
  563. local function updateDrag(input)
  564. local delta = input.Position - dragStart
  565. local pos = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X,
  566. startPos.Y.Scale, startPos.Y.Offset + delta.Y)
  567. TweenService:Create(mainFrame, TweenInfo.new(0.15), {Position = pos}):Play()
  568. end
  569.  
  570. mainFrame.InputBegan:Connect(function(input)
  571. if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
  572. dragging = true
  573. dragStart = input.Position
  574. startPos = mainFrame.Position
  575. input.Changed:Connect(function()
  576. if input.UserInputState == Enum.UserInputState.End then dragging = false end
  577. end)
  578. end
  579. end)
  580.  
  581. mainFrame.InputChanged:Connect(function(input)
  582. if input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch then
  583. dragInput = input
  584. end
  585. end)
  586.  
  587. UserInputService.InputChanged:Connect(function(input)
  588. if dragging and input == dragInput then updateDrag(input) end
  589. end)
  590.  
  591. -- Logo Server Finder Deluxe
  592. local logo = Instance.new("ImageLabel")
  593. logo.Name = "BackgroundLogoServeFinderDeluxe"
  594. logo.Parent = mainFrame
  595. logo.Size = UDim2.new(0.8, 0, 0.8, 0)
  596. logo.Position = UDim2.new(0.5, 0, 0.5, 0)
  597. logo.AnchorPoint = Vector2.new(0.5, 0.5)
  598. logo.BackgroundTransparency = 1
  599. logo.ImageTransparency = 0.88
  600. logo.ScaleType = Enum.ScaleType.Fit
  601. logo.ZIndex = 2
  602.  
  603.  
  604. local function loadLogo()
  605. repeat
  606. if mainFrame.Parent then
  607. local success = pcall(function()
  608. logo.Image = "http://www.roblox.com/asset/?id=75503909317175"
  609. end)
  610. if success and logo.Image and logo.Image ~= "" then
  611. break
  612. end
  613. end
  614. task.wait(0.5)
  615. until logo.Image and logo.Image ~= ""
  616. end
  617.  
  618. task.defer(loadLogo)
  619.  
  620.  
  621. --------------------------------------------------------------------------------------------------------------------
  622.  
  623.  
  624.  
  625. local TweenService = game:GetService("TweenService")
  626. local LocalizationService = game:GetService("LocalizationService")
  627.  
  628.  
  629. local isXmas, isNewYear, isEaster, isHalloween, isValentine = false, false, false, false, false
  630.  
  631. pcall(function()
  632. local date = os.date("*t")
  633. isXmas = date.month == 12 and date.day >= 15 and date.day <= 29
  634. isHalloween = (date.month == 10 and date.day >= 23) or (date.month == 11 and date.day <= 1)
  635. isNewYear = (date.month == 12 and date.day >= 30) or (date.month == 1 and date.day <= 2)
  636. isEaster = (date.month == 3 and date.day >= 31) or (date.month == 4 and date.day <= 15)
  637. isValentine = (date.month == 2 and date.day == 14)
  638. end)
  639.  
  640. -- 🌎 Traductions multilingues par fête
  641. local holidayTexts = {
  642. Christmas = {
  643. ["fr"] = "🎄 Joyeux Noël !",
  644. ["en"] = "🎄 Merry Christmas!",
  645. ["es"] = "🎄 ¡Feliz Navidad!",
  646. ["pt"] = "🎄 Feliz Natal!",
  647. ["tr"] = "🎄 Mutlu Noeller!",
  648. ["it"] = "🎄 Buon Natale!",
  649. ["de"] = "🎄 Frohe Weihnachten!",
  650. ["ar"] = "🎄 عيد ميلاد سعيد!",
  651. ["ja"] = "🎄 メリークリスマス!",
  652. ["ru"] = "🎄 С Рождеством!",
  653. ["zh"] = "🎄 圣诞快乐!"
  654. },
  655. NewYear = {
  656. ["fr"] = "🎉 Bonne année !",
  657. ["en"] = "🎉 Happy New Year!",
  658. ["es"] = "🎉 ¡Feliz Año Nuevo!",
  659. ["pt"] = "🎉 Feliz Ano Novo!",
  660. ["tr"] = "🎉 Mutlu Yıllar!",
  661. ["it"] = "🎉 Buon Anno!",
  662. ["de"] = "🎉 Frohes Neues Jahr!",
  663. ["ar"] = "🎉 سنة جديدة سعيدة!",
  664. ["ja"] = "🎉 明けましておめでとう!",
  665. ["ru"] = "🎉 С Новым годом!",
  666. ["zh"] = "🎉 新年快乐!"
  667. },
  668. Easter = {
  669. ["fr"] = "🐰 Joyeuses Pâques !",
  670. ["en"] = "🐰 Happy Easter!",
  671. ["es"] = "🐰 ¡Feliz Pascua!",
  672. ["pt"] = "🐰 Feliz Páscoa!",
  673. ["tr"] = "🐰 Mutlu Paskalyalar!",
  674. ["it"] = "🐰 Buona Pasqua!",
  675. ["de"] = "🐰 Frohe Ostern!",
  676. ["ar"] = "🐰 عيد فصح سعيد!",
  677. ["ja"] = "🐰 ハッピーイースター!",
  678. ["ru"] = "🐰 С Пасхой!",
  679. ["zh"] = "🐰 复活节快乐!"
  680. },
  681. Halloween = {
  682. ["fr"] = "🎃 Joyeux Halloween !",
  683. ["en"] = "🎃 Happy Halloween!",
  684. ["es"] = "🎃 ¡Feliz Halloween!",
  685. ["pt"] = "🎃 Feliz Dia das Bruxas!",
  686. ["tr"] = "🎃 Mutlu Cadılar Bayramı!",
  687. ["it"] = "🎃 Buon Halloween!",
  688. ["de"] = "🎃 Frohes Halloween!",
  689. ["ar"] = "🎃 عيد هالوين سعيد!",
  690. ["ja"] = "🎃 ハッピーハロウィン!",
  691. ["ru"] = "🎃 С Хэллоуином!",
  692. ["zh"] = "🎃 万圣节快乐!"
  693. },
  694. Valentine = {
  695. ["fr"] = "💖 Bonne Saint-Valentin !",
  696. ["en"] = "💖 Happy Valentine's Day!",
  697. ["es"] = "💖 ¡Feliz Día de San Valentín!",
  698. ["pt"] = "💖 Feliz Dia dos Namorados!",
  699. ["tr"] = "💖 Sevgililer Gününüz Kutlu Olsun!",
  700. ["it"] = "💖 Buon San Valentino!",
  701. ["de"] = "💖 Alles Gute zum Valentinstag!",
  702. ["ar"] = "💖 عيد حب سعيد!",
  703. ["ja"] = "💖 ハッピーバレンタイン!",
  704. ["ru"] = "💖 С Днем Святого Валентина!",
  705. ["zh"] = "💖 情人节快乐!"
  706. },
  707. Welcome = {
  708. ["fr"] = "👋 Bienvenue sur Server Finder Deluxe !",
  709. ["en"] = "👋 Welcome to Server Finder Deluxe!",
  710. ["es"] = "👋 ¡Bienvenido a Server Finder Deluxe!",
  711. ["pt"] = "👋 Bem-vindo ao Server Finder Deluxe!",
  712. ["tr"] = "👋 Server Finder Deluxe'a Hoş Geldiniz!",
  713. ["it"] = "👋 Benvenuto su Server Finder Deluxe!",
  714. ["de"] = "👋 Willkommen bei Server Finder Deluxe!",
  715. ["ar"] = "👋 مرحبًا بك في Server Finder Deluxe!",
  716. ["ja"] = "👋 Server Finder Deluxeへようこそ!",
  717. ["ru"] = "👋 Добро пожаловать в Server Finder Deluxe!",
  718. ["zh"] = "👋 欢迎使用 Server Finder Deluxe!"
  719. }
  720. }
  721.  
  722.  
  723. local function getHolidayMessage(eventKey)
  724. local langCode = (LocalizationService.RobloxLocaleId or "en"):sub(1,2)
  725. local eventTable = holidayTexts[eventKey]
  726. return eventTable and (eventTable[langCode] or eventTable["en"]) or "Happy holidays! 🎉"
  727. end
  728.  
  729.  
  730. local NotificationLib = {
  731. _notifications = {},
  732. _theme = {
  733. primaryColor = Color3.fromRGB(30, 30, 30),
  734. textColor = Color3.fromRGB(255, 255, 255),
  735. font = Enum.Font.GothamSemibold,
  736. cornerRadius = UDim.new(0, 8)
  737. },
  738. _settings = {
  739. duration = 4,
  740. spacing = 12,
  741. fadeTime = 0.28,
  742. slideDistance = 18
  743. },
  744. _icons = { info = "rbxassetid://9405926389" }
  745. }
  746.  
  747. function NotificationLib:_init()
  748. if not self._container then
  749. self._container = Instance.new("ScreenGui")
  750. self._container.Name = "NotificationLibrary"
  751. self._container.ResetOnSpawn = false
  752. self._container.ZIndexBehavior = Enum.ZIndexBehavior.Sibling
  753. self._container.Parent = game:GetService("CoreGui")
  754. end
  755. end
  756.  
  757. function NotificationLib:_calculatePosition(index)
  758. local spacing = self._settings.spacing
  759. local height = 90
  760. return UDim2.new(1, -24, 1, -24 - (index-1)*(height+spacing))
  761. end
  762.  
  763. function NotificationLib:_animateOut(frame, callback)
  764. local tween = TweenService:Create(frame, TweenInfo.new(self._settings.fadeTime, Enum.EasingStyle.Quad), {
  765. Position = frame.Position + UDim2.new(0,0,0,self._settings.slideDistance),
  766. BackgroundTransparency = 1
  767. })
  768. tween:Play()
  769. tween.Completed:Connect(function()
  770. if frame and frame.Parent then frame:Destroy() end
  771. if callback then callback() end
  772. end)
  773. end
  774.  
  775. function NotificationLib:Notify(opt)
  776. self:_init()
  777. opt = opt or {}
  778. local title = opt.Title or "Notification"
  779. local message = opt.Message or ""
  780. local duration = opt.Duration or self._settings.duration
  781.  
  782. local frame = Instance.new("Frame")
  783. frame.BackgroundColor3 = self._theme.primaryColor
  784. frame.Size = UDim2.new(0, 340, 0, 90)
  785. frame.AnchorPoint = Vector2.new(1,1)
  786. frame.Position = self:_calculatePosition(#self._notifications + 1)
  787. frame.Parent = self._container
  788. Instance.new("UICorner", frame).CornerRadius = self._theme.cornerRadius
  789.  
  790. local icon = Instance.new("ImageLabel", frame)
  791. icon.Image = self._icons.info
  792. icon.Size = UDim2.new(0,28,0,28)
  793. icon.Position = UDim2.new(0,12,0,12)
  794. icon.BackgroundTransparency = 1
  795.  
  796. local titleLabel = Instance.new("TextLabel", frame)
  797. titleLabel.Font = self._theme.font
  798. titleLabel.TextColor3 = self._theme.textColor
  799. titleLabel.TextSize = 16
  800. titleLabel.TextXAlignment = Enum.TextXAlignment.Left
  801. titleLabel.Text = title
  802. titleLabel.BackgroundTransparency = 1
  803. titleLabel.Size = UDim2.new(1,-60,0,22)
  804. titleLabel.Position = UDim2.new(0,48,0,10)
  805.  
  806. local msgLabel = Instance.new("TextLabel", frame)
  807. msgLabel.Font = Enum.Font.Gotham
  808. msgLabel.TextColor3 = self._theme.textColor
  809. msgLabel.TextSize = 14
  810. msgLabel.TextWrapped = true
  811. msgLabel.TextXAlignment = Enum.TextXAlignment.Left
  812. msgLabel.Text = message
  813. msgLabel.BackgroundTransparency = 1
  814. msgLabel.Size = UDim2.new(1,-60,0,48)
  815. msgLabel.Position = UDim2.new(0,48,0,30)
  816.  
  817. table.insert(self._notifications, frame)
  818.  
  819. task.delay(duration, function()
  820. if frame and frame.Parent then
  821. self:_animateOut(frame, function()
  822. for i,v in ipairs(self._notifications) do
  823. if v == frame then table.remove(self._notifications,i); break end
  824. end
  825. end)
  826. end
  827. end)
  828. end
  829.  
  830.  
  831. local eventName
  832. local message
  833.  
  834. if isXmas then
  835. eventName = "🎄 Christmas"
  836. message = getHolidayMessage("Christmas")
  837. elseif isNewYear then
  838. eventName = "🎉 New Year"
  839. message = getHolidayMessage("NewYear")
  840. elseif isEaster then
  841. eventName = "🐰 Easter"
  842. message = getHolidayMessage("Easter")
  843. elseif isHalloween then
  844. eventName = "🎃 Halloween"
  845. message = getHolidayMessage("Halloween")
  846. elseif isValentine then
  847. eventName = "💖 Valentine's Day"
  848. message = getHolidayMessage("Valentine")
  849. else
  850. eventName = "👋 Welcome"
  851. message = getHolidayMessage("Welcome")
  852. end
  853.  
  854. task.wait(2)
  855. NotificationLib:Notify({
  856. Title = eventName,
  857. Message = message,
  858. Duration = 6
  859. })
  860.  
  861.  
  862. --------------------------------------------------------------------------------------------------------------------
  863.  
  864. -- protection lors du screen shot le Gui deviendras invisible lors du screen shot
  865.  
  866. pcall(function()
  867. local CaptureService = game:GetService("CaptureService")
  868.  
  869. CaptureService.CaptureBegan:Connect(function()
  870. screenGui.Enabled = false
  871. end)
  872.  
  873. CaptureService.CaptureEnded:Connect(function()
  874. task.delay(0.5, function()
  875. screenGui.Enabled = true
  876. end)
  877. end)
  878. end)
  879.  
  880. --------------------------------------------------------------------------------------------------------------------
  881.  
  882. -- Titre du Gui et la Version
  883.  
  884. local title = Instance.new("TextLabel", mainFrame)
  885. title.Size = UDim2.new(1, 0, 0, 40)
  886. title.Position = UDim2.new(0, 0, 0, 0)
  887. title.BackgroundTransparency = 1
  888. title.Text = "Server Finder Deluxe"
  889. title.Font = Enum.Font.Ubuntu
  890. title.TextSize = 30
  891. title.TextColor3 = Color3.fromRGB(255, 255, 255)
  892.  
  893. local versionLabel = Instance.new("TextLabel", mainFrame)
  894. versionLabel.Size = UDim2.new(0, 150, 0, 25)
  895. versionLabel.Position = UDim2.new(0, 10, 0, 10)
  896. versionLabel.BackgroundTransparency = 1
  897. versionLabel.Text = "v5.9"
  898. versionLabel.Font = Enum.Font.Ubuntu
  899. versionLabel.TextSize = 16
  900. versionLabel.TextColor3 = Color3.fromRGB(200, 200, 200)
  901. versionLabel.TextXAlignment = Enum.TextXAlignment.Left
  902.  
  903. --------------------------------------------------------------------------------------------------------------------
  904.  
  905.  
  906. local isXmas = false
  907. local isHalloween = false
  908. local isNewYear = false
  909. local isEaster = false
  910. local isValentineDay = false
  911.  
  912. pcall(function()
  913. local date = os.date("*t")
  914. isXmas = date.month == 12 and date.day >= 15 and date.day <= 29
  915. isHalloween = (date.month == 10 and date.day >= 23) or (date.month == 11 and date.day <= 1)
  916. isNewYear = (date.month == 12 and date.day >= 30) or (date.month == 1 and date.day <= 2)
  917. isEaster = (date.month == 3 and date.day >= 31) or (date.month == 4 and date.day <= 15)
  918. isValentineDay = (date.month == 2 and date.day == 14)
  919. end)
  920.  
  921.  
  922. local function decorateTitle(startEmoji, endEmoji)
  923. title.Text = startEmoji .. " Server Finder Deluxe " .. endEmoji
  924. title.TextScaled = false
  925. title.TextSize = 25
  926. title.Position = UDim2.new(0, 0, 0, 2)
  927. end
  928.  
  929.  
  930.  
  931. if isXmas then
  932. decorateTitle("🎄", "🎄")
  933. local cycleColors = {
  934. Color3.fromRGB(0, 255, 0),
  935. Color3.fromRGB(255, 0, 0),
  936. Color3.fromRGB(255, 255, 255)
  937. }
  938. local index = 1
  939. task.spawn(function()
  940. while true do
  941. title.TextColor3 = cycleColors[index]
  942. versionLabel.TextColor3 = cycleColors[index]
  943. index = index % #cycleColors + 1
  944. task.wait(0.5)
  945. end
  946. end)
  947. end
  948.  
  949. -- Effet Halloween
  950. if isHalloween then
  951. decorateTitle("🎃", "🎃")
  952. local cycleColors = {
  953. Color3.fromRGB(0, 0, 0),
  954. Color3.fromRGB(255, 165, 0)
  955. }
  956. local index = 1
  957. task.spawn(function()
  958. while true do
  959. title.TextColor3 = cycleColors[index]
  960. versionLabel.TextColor3 = cycleColors[index]
  961. index = index % #cycleColors + 1
  962. task.wait(0.5)
  963. end
  964. end)
  965. end
  966.  
  967.  
  968. if isNewYear then
  969. decorateTitle("🎉", "🎉")
  970. local cycleColors = {
  971. Color3.fromRGB(255, 255, 0),
  972. Color3.fromRGB(0, 0, 0)
  973. }
  974. local index = 1
  975. task.spawn(function()
  976. while true do
  977. title.TextColor3 = cycleColors[index]
  978. versionLabel.TextColor3 = cycleColors[index]
  979. index = index % #cycleColors + 1
  980. task.wait(0.5)
  981. end
  982. end)
  983. end
  984.  
  985.  
  986. if isEaster then
  987. decorateTitle("🐰", "🐰")
  988. local cycleColors = {
  989. Color3.fromRGB(216, 191, 216),
  990. Color3.fromRGB(255, 182, 193),
  991. Color3.fromRGB(193, 225, 193),
  992. Color3.fromRGB(173, 216, 230)
  993. }
  994. local index = 1
  995. task.spawn(function()
  996. while true do
  997. title.TextColor3 = cycleColors[index]
  998. versionLabel.TextColor3 = cycleColors[index]
  999. index = index % #cycleColors + 1
  1000. task.wait(0.5)
  1001. end
  1002. end)
  1003. end
  1004.  
  1005.  
  1006. if isValentineDay then
  1007. decorateTitle("💗", "💗")
  1008. local cycleColors = {
  1009. Color3.fromRGB(0, 0, 0),
  1010. Color3.fromRGB( 255, 85, 127)
  1011. }
  1012. local index = 1
  1013. task.spawn(function()
  1014. while true do
  1015. title.TextColor3 = cycleColors[index]
  1016. versionLabel.TextColor3 = cycleColors[index]
  1017. index = index % #cycleColors + 1
  1018. task.wait(0.5)
  1019. end
  1020. end)
  1021. end
  1022.  
  1023.  
  1024.  
  1025. if not isXmas and not isHalloween and not isNewYear and not isEaster and not isValentineDay then
  1026. title.Text = "Server Finder Deluxe"
  1027. title.Position = UDim2.new(0, 0, 0, 0)
  1028. end
  1029.  
  1030. --------------------------------------------------------------------------------------------------------------------
  1031.  
  1032.  
  1033.  
  1034. local scrollFrame = Instance.new("ScrollingFrame", mainFrame)
  1035. scrollFrame.Size = UDim2.new(1, -20, 1, -60)
  1036. scrollFrame.Position = UDim2.new(0, 10, 0, 50)
  1037. scrollFrame.CanvasSize = UDim2.new(0, 0, 0, 0)
  1038. scrollFrame.AutomaticCanvasSize = Enum.AutomaticSize.Y
  1039. scrollFrame.ScrollBarThickness = 6
  1040. scrollFrame.BackgroundTransparency = 1
  1041. scrollFrame.ClipsDescendants = true
  1042.  
  1043. local layout = Instance.new("UIListLayout", scrollFrame)
  1044. layout.SortOrder = Enum.SortOrder.LayoutOrder
  1045. layout.Padding = UDim.new(0, 10)
  1046. layout.HorizontalAlignment = Enum.HorizontalAlignment.Center
  1047.  
  1048. local isScrolling = false
  1049.  
  1050. scrollFrame.InputBegan:Connect(function(input)
  1051. if input.UserInputType == Enum.UserInputType.MouseWheel or input.UserInputType == Enum.UserInputType.Touch then
  1052. isScrolling = true
  1053. mainFrame.Active = false
  1054. end
  1055. end)
  1056.  
  1057. scrollFrame.InputEnded:Connect(function(input)
  1058. if input.UserInputType == Enum.UserInputType.MouseWheel or input.UserInputType == Enum.UserInputType.Touch then
  1059. task.delay(0.1, function()
  1060. isScrolling = false
  1061. mainFrame.Active = true
  1062. end)
  1063. end
  1064. end)
  1065.  
  1066. --------------------------------------------------------------------------------------------------------------------
  1067.  
  1068. local posChange = 8
  1069. local serverFrames = {}
  1070.  
  1071. -- Le code qui scann tout les servers publics
  1072.  
  1073. local function GetAllServers(PlaceID)
  1074. getgenv().NextServer = nil
  1075. getgenv().HasScannedAll = false
  1076. local T = {}
  1077. xpcall(function()
  1078. local Site = HttpService:JSONDecode(game:HttpGet('https://games.roblox.com/v1/games/' .. PlaceID .. '/servers/Public?sortOrder=Desc&limit=100'))
  1079. if Site.nextPageCursor and Site.nextPageCursor ~= "null" then
  1080. getgenv().NextServer = HttpService:JSONDecode(game:HttpGet('https://games.roblox.com/v1/games/' .. PlaceID .. '/servers/Public?sortOrder=Desc&limit=100&cursor=' .. Site.nextPageCursor))
  1081. table.insert(T, (getgenv().NextServer).data)
  1082. while not getgenv().HasScannedAll do
  1083. task.wait()
  1084. if (getgenv().NextServer).nextPageCursor and (getgenv().NextServer).nextPageCursor ~= "null" then
  1085. getgenv().NextServer = HttpService:JSONDecode(game:HttpGet('https://games.roblox.com/v1/games/' .. PlaceID .. '/servers/Public?sortOrder=Desc&limit=100&cursor=' .. (getgenv().NextServer).nextPageCursor))
  1086. table.insert(T, (getgenv().NextServer).data)
  1087. else
  1088. getgenv().HasScannedAll = true
  1089. end
  1090. end
  1091. else
  1092. table.insert(T, Site.data)
  1093. end
  1094. end,function()
  1095.  
  1096. end)
  1097. return T
  1098. end
  1099. --------------------------------------------------------------------------------------------------------------------
  1100.  
  1101. -- Frame avec les Pings des connections des servers public et le nombre de players dans les servers publics
  1102.  
  1103. local function CreateServerFrame(server)
  1104. local serverFrame = Instance.new("Frame", scrollFrame)
  1105. serverFrame.Size = UDim2.new(1, 0, 0, 120)
  1106. serverFrame.BackgroundColor3 = Color3.fromRGB(40, 40, 40)
  1107. serverFrame.BorderSizePixel = 0
  1108.  
  1109. -- Textlabel Pour le nombre de joueurs, ping du servers , et le nombre Maximal du servers public.
  1110.  
  1111. local infoLabel = Instance.new("TextLabel", serverFrame)
  1112. infoLabel.Size = UDim2.new(0, 300, 0, 60)
  1113. infoLabel.Position = UDim2.new(0, 10, 0, 10)
  1114. infoLabel.BackgroundTransparency = 1
  1115. infoLabel.TextWrapped = true
  1116. infoLabel.TextXAlignment = Enum.TextXAlignment.Left
  1117. infoLabel.TextYAlignment = Enum.TextYAlignment.Top
  1118. infoLabel.Font = Enum.Font.Ubuntu
  1119. infoLabel.TextSize = 16
  1120. infoLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
  1121. infoLabel.ZIndex = 3
  1122. local fps = math.floor(1000 / (server.ping or 1))
  1123. infoLabel.Text =
  1124. "Ping : " .. (server.ping or "N/A") ..
  1125. "\nFPS : " .. fps ..
  1126. "\nPlayers : " .. server.playing .. "/" .. server.maxPlayers
  1127.  
  1128. -- ID du Jeux
  1129.  
  1130. local placeIdLabel = Instance.new("TextLabel", serverFrame)
  1131. placeIdLabel.Size = UDim2.new(0, 300, 0, 20)
  1132. placeIdLabel.Position = UDim2.new(0, 10, 0, 76)
  1133. placeIdLabel.BackgroundTransparency = 1
  1134. placeIdLabel.TextWrapped = true
  1135. placeIdLabel.TextXAlignment = Enum.TextXAlignment.Left
  1136. placeIdLabel.TextYAlignment = Enum.TextYAlignment.Top
  1137. placeIdLabel.Font = Enum.Font.Ubuntu
  1138. placeIdLabel.TextSize = 14
  1139. placeIdLabel.TextColor3 = Color3.fromRGB(200, 200, 200)
  1140. placeIdLabel.Text = "Game ID : " .. tostring(game.PlaceId)
  1141. placeIdLabel.ZIndex = 4
  1142.  
  1143. -- ID des Servers Publics
  1144.  
  1145. local idLabel = Instance.new("TextLabel", serverFrame)
  1146. idLabel.Size = UDim2.new(0, 300, 0, 20)
  1147. idLabel.Position = UDim2.new(0, 10, 0, 94)
  1148. idLabel.BackgroundTransparency = 1
  1149. idLabel.TextWrapped = true
  1150. idLabel.TextXAlignment = Enum.TextXAlignment.Left
  1151. idLabel.TextYAlignment = Enum.TextYAlignment.Top
  1152. idLabel.Font = Enum.Font.Ubuntu
  1153. idLabel.TextSize = 14
  1154. idLabel.TextColor3 = Color3.fromRGB(200, 200, 200)
  1155. idLabel.Text = "ID : " .. server.id
  1156. idLabel.ZIndex = 4
  1157.  
  1158. -- Les buttons rejoint pour tout les Servers public obtenu
  1159.  
  1160. local joinButton = Instance.new("TextButton", serverFrame)
  1161. joinButton.Size = UDim2.new(0, 100, 0, 40)
  1162. joinButton.Position = UDim2.new(1, -110, 0.5, -20)
  1163. joinButton.BackgroundColor3 = Color3.fromRGB(60, 60, 60)
  1164. joinButton.Text = "Join"
  1165. joinButton.TextColor3 = Color3.fromRGB(255, 255, 255)
  1166. joinButton.Font = Enum.Font.Ubuntu
  1167. joinButton.TextSize = 18
  1168. joinButton.ZIndex = 4
  1169.  
  1170. joinButton.MouseButton1Click:Connect(function()
  1171. local ok, err = pcall(function()
  1172. TeleportService:TeleportToPlaceInstance(game.PlaceId, server.id, LocalPlayer)
  1173. end)
  1174.  
  1175. if not ok then
  1176. warn("An error occurred on the join button. Please try again.", err)
  1177. end
  1178. end)
  1179.  
  1180.  
  1181. -- Les boutons Copy Server ID
  1182.  
  1183. local copyJoinButton = Instance.new("TextButton", serverFrame)
  1184. copyJoinButton.Size = UDim2.new(0, 100, 0, 30)
  1185. copyJoinButton.Position = UDim2.new(1, -110, 0.5, 25)
  1186. copyJoinButton.BackgroundColor3 = Color3.fromRGB(80, 80, 80)
  1187. copyJoinButton.Text = "Copy Join"
  1188. copyJoinButton.TextColor3 = Color3.fromRGB(255, 255, 255)
  1189. copyJoinButton.Font = Enum.Font.Ubuntu
  1190. copyJoinButton.TextSize = 16
  1191. copyJoinButton.ZIndex = 4
  1192.  
  1193. copyJoinButton.MouseButton1Click:Connect(function()
  1194. local ok, err = pcall(function()
  1195. local joinCommand = "Roblox.GameLauncher.joinGameInstance(" .. game.PlaceId .. ', "' .. server.id .. '")'
  1196. setclipboard(joinCommand)
  1197. end)
  1198.  
  1199. if not ok then
  1200. warn("An error occurred on the copy join button. Please try again.", err)
  1201. end
  1202. end)
  1203.  
  1204. table.insert(serverFrames, serverFrame)
  1205. end
  1206.  
  1207.  
  1208. --------------------------------------------------------------------------------------------------------------------
  1209.  
  1210. -- Global Servers
  1211. local allServers = {}
  1212. local fpsCheckInterval = 1
  1213. local minFPS = 21
  1214. local maxPing = 350 -- au-dessus de ça on passe en mode fluide
  1215. local smoothMode = false
  1216.  
  1217. -- FPS Calculateurs
  1218. local RunService = game:GetService("RunService")
  1219. local lastTime = tick()
  1220. local frames = 0
  1221.  
  1222. RunService.RenderStepped:Connect(function()
  1223. frames += 1
  1224. if tick() - lastTime >= fpsCheckInterval then
  1225. local fps = frames / (tick() - lastTime)
  1226. smoothMode = fps < minFPS -- si FPS trop bas, mode fluide
  1227. frames = 0
  1228. lastTime = tick()
  1229. end
  1230. end)
  1231.  
  1232. -- Vérifie si un serveur a un ping trop élevé
  1233. local function hasHighPing(servers)
  1234. if typeof(servers) ~= "table" then return false end
  1235. for _, server in ipairs(servers) do
  1236. if (server.ping or 0) > maxPing then
  1237. return true
  1238. end
  1239. end
  1240. return false
  1241. end
  1242.  
  1243. function updateServerList(servers)
  1244. -- sécurité
  1245. if typeof(servers) ~= "table" then return end
  1246.  
  1247. for _, v in pairs(serverFrames) do
  1248. v:Destroy()
  1249. end
  1250. posChange = 8
  1251. table.clear(serverFrames)
  1252.  
  1253. -- si FPS bas OU pings trop élevés
  1254. if smoothMode or hasHighPing(servers) then
  1255. task.spawn(function()
  1256. for _, server in ipairs(servers) do
  1257. CreateServerFrame(server)
  1258. posChange += 154
  1259. task.wait(0.05)
  1260. end
  1261. end)
  1262. else
  1263. for _, server in ipairs(servers) do
  1264. CreateServerFrame(server)
  1265. posChange += 154
  1266. end
  1267. end
  1268. end
  1269.  
  1270. function refreshServers()
  1271. local servers = GetAllServers(game.PlaceId)
  1272.  
  1273. -- sécurité : vérifie que servers est bien une table et contient quelque chose
  1274. if typeof(servers) == "table" and #servers > 0 then
  1275. allServers = servers[1] or {}
  1276. updateServerList(allServers)
  1277. else
  1278. warn("No server found or API error.")
  1279. showErrorTween()
  1280. end
  1281. end
  1282.  
  1283.  
  1284.  
  1285. refreshServers()
  1286.  
  1287. UserInputService.InputBegan:Connect(function(input, gameProcessed)
  1288. if gameProcessed then return end
  1289. if input.KeyCode == Enum.KeyCode.RightControl then
  1290. screenGui:Destroy()
  1291. end
  1292. end)
  1293.  
  1294.  
  1295. --------------------------------------------------------------------------------------------------------------------
  1296.  
  1297.  
  1298.  
  1299. local TweenService = game:GetService("TweenService")
  1300. local LocalizationService = game:GetService("LocalizationService")
  1301.  
  1302.  
  1303. local langText = {
  1304. ["fr"] = "Erreur de chargement. Réessaie.",
  1305. ["en"] = "Error loading. Please try again.",
  1306. ["es"] = "Error al cargar. Inténtalo de nuevo.",
  1307. ["pt"] = "Erro ao carregar. Por favor, tente novamente.",
  1308. ["tr"] = "Yükleme hatası. Lütfen tekrar deneyin.",
  1309. ["it"] = "Errore nel caricamento. Riprova.",
  1310. ["de"] = "Fehler beim Laden. Bitte versuche es erneut.",
  1311. ["ar"] = "حدث خطأ أثناء التحميل. الرجاء المحاولة مرة أخرى.",
  1312. ["ja"] = "読み込みエラーが発生しました。もう一度お試しください。",
  1313. ["ru"] = "Ошибка загрузки. Пожалуйста, попробуйте еще раз.",
  1314. ["zh"] = "加载错误。请重试。"
  1315. }
  1316.  
  1317. local function getTranslatedMessage()
  1318. local langCode = (LocalizationService.RobloxLocaleId or "en"):sub(1,2)
  1319. return langText[langCode] or langText["en"]
  1320. end
  1321.  
  1322.  
  1323. local NotificationLib = {
  1324. _notifications = {},
  1325. _theme = {
  1326. primaryColor = Color3.fromRGB(30, 30, 30),
  1327. textColor = Color3.fromRGB(255, 255, 255),
  1328. font = Enum.Font.GothamSemibold,
  1329. cornerRadius = UDim.new(0, 8)
  1330. },
  1331. _settings = {
  1332. duration = 4,
  1333. spacing = 12,
  1334. fadeTime = 0.28,
  1335. slideDistance = 18
  1336. },
  1337. _icons = { info = "rbxassetid://9405926389" }
  1338. }
  1339.  
  1340. function NotificationLib:_init()
  1341. if not self._container then
  1342. self._container = Instance.new("ScreenGui")
  1343. self._container.Name = "NotificationLibrary"
  1344. self._container.ResetOnSpawn = false
  1345. self._container.ZIndexBehavior = Enum.ZIndexBehavior.Sibling
  1346. self._container.Parent = game:GetService("CoreGui")
  1347. end
  1348. end
  1349.  
  1350. function NotificationLib:_calculatePosition(index)
  1351. local spacing = self._settings.spacing
  1352. local height = 90
  1353. return UDim2.new(1, -24, 1, -24 - (index-1)*(height+spacing))
  1354. end
  1355.  
  1356. function NotificationLib:_animateOut(frame, callback)
  1357. local tween = TweenService:Create(frame, TweenInfo.new(self._settings.fadeTime, Enum.EasingStyle.Quad), {
  1358. Position = frame.Position + UDim2.new(0,0,0,self._settings.slideDistance),
  1359. BackgroundTransparency = 1
  1360. })
  1361. tween:Play()
  1362. tween.Completed:Connect(function()
  1363. if frame and frame.Parent then frame:Destroy() end
  1364. if callback then callback() end
  1365. end)
  1366. end
  1367.  
  1368. function NotificationLib:Notify(opt)
  1369. self:_init()
  1370. opt = opt or {}
  1371. local title = opt.Title or "Notification"
  1372. local message = opt.Message or ""
  1373. local duration = opt.Duration or self._settings.duration
  1374.  
  1375. local frame = Instance.new("Frame")
  1376. frame.BackgroundColor3 = self._theme.primaryColor
  1377. frame.Size = UDim2.new(0, 340, 0, 90)
  1378. frame.AnchorPoint = Vector2.new(1,1)
  1379. frame.Position = self:_calculatePosition(#self._notifications + 1)
  1380. frame.Parent = self._container
  1381. Instance.new("UICorner", frame).CornerRadius = self._theme.cornerRadius
  1382.  
  1383. local icon = Instance.new("ImageLabel", frame)
  1384. icon.Image = self._icons.info
  1385. icon.Size = UDim2.new(0,28,0,28)
  1386. icon.Position = UDim2.new(0,12,0,12)
  1387. icon.BackgroundTransparency = 1
  1388.  
  1389. local titleLabel = Instance.new("TextLabel", frame)
  1390. titleLabel.Font = self._theme.font
  1391. titleLabel.TextColor3 = self._theme.textColor
  1392. titleLabel.TextSize = 16
  1393. titleLabel.TextXAlignment = Enum.TextXAlignment.Left
  1394. titleLabel.Text = title
  1395. titleLabel.BackgroundTransparency = 1
  1396. titleLabel.Size = UDim2.new(1,-60,0,22)
  1397. titleLabel.Position = UDim2.new(0,48,0,10)
  1398.  
  1399. local msgLabel = Instance.new("TextLabel", frame)
  1400. msgLabel.Font = Enum.Font.Gotham
  1401. msgLabel.TextColor3 = self._theme.textColor
  1402. msgLabel.TextSize = 14
  1403. msgLabel.TextWrapped = true
  1404. msgLabel.TextXAlignment = Enum.TextXAlignment.Left
  1405. msgLabel.Text = message
  1406. msgLabel.BackgroundTransparency = 1
  1407. msgLabel.Size = UDim2.new(1,-60,0,48)
  1408. msgLabel.Position = UDim2.new(0,48,0,30)
  1409.  
  1410. table.insert(self._notifications, frame)
  1411.  
  1412. task.delay(duration, function()
  1413. if frame and frame.Parent then
  1414. self:_animateOut(frame, function()
  1415. for i,v in ipairs(self._notifications) do
  1416. if v == frame then table.remove(self._notifications,i); break end
  1417. end
  1418. end)
  1419. end
  1420. end)
  1421. end
  1422.  
  1423.  
  1424. local function CreateRefreshButton(mainFrame)
  1425. local refreshBtn = Instance.new("ImageButton")
  1426. refreshBtn.Parent = mainFrame
  1427. refreshBtn.AnchorPoint = Vector2.new(0.5,0.5)
  1428. refreshBtn.Size = UDim2.new(0,47,0,47)
  1429. refreshBtn.Position = UDim2.new(0.5,250,0.5,-220)
  1430. refreshBtn.Image = "http://www.roblox.com/asset/?id=126446661859683"
  1431. refreshBtn.BackgroundTransparency = 1
  1432. refreshBtn.ZIndex = 7
  1433.  
  1434. refreshBtn.MouseButton1Click:Connect(function()
  1435. local success, err = pcall(refreshServers)
  1436. if not success then
  1437. NotificationLib:Notify({
  1438. Title = "Error",
  1439. Message = getTranslatedMessage(),
  1440. Duration = 4
  1441. })
  1442. end
  1443. end)
  1444.  
  1445. return refreshBtn
  1446. end
  1447.  
  1448.  
  1449. local refreshBtn = CreateRefreshButton(mainFrame)
  1450.  
  1451. --------------------------------------------------------------------------------------------------------------------
  1452.  
  1453. -- Le button Low Players et Max Players
  1454.  
  1455. local function sortServers(servers, currentSort)
  1456. if typeof(servers) ~= "table" then return {} end
  1457.  
  1458. if currentSort == "lowPlayers" then
  1459. table.sort(servers, function(a, b)
  1460. return (a.playing or 0) < (b.playing or 0)
  1461. end)
  1462. elseif currentSort == "maxPlayers" then
  1463. table.sort(servers, function(a, b)
  1464. return (a.playing or 0) > (b.playing or 0)
  1465. end)
  1466. elseif currentSort == "fastest" then
  1467. table.sort(servers, function(a, b)
  1468. return (a.ping or 9999) < (b.ping or 9999)
  1469. end)
  1470. end
  1471.  
  1472. return servers
  1473. end
  1474.  
  1475.  
  1476.  
  1477. local lowPlayersBtn = Instance.new("ImageButton", mainFrame)
  1478. lowPlayersBtn.AnchorPoint = Vector2.new(0.5, 0.5)
  1479. lowPlayersBtn.Size = UDim2.new(0, 40, 0, 40)
  1480. lowPlayersBtn.Position = UDim2.new(0.5, -183, 0.5, -220)
  1481. lowPlayersBtn.Image = "http://www.roblox.com/asset/?id=78395837711238"
  1482. lowPlayersBtn.BackgroundTransparency = 1
  1483. lowPlayersBtn.ZIndex = 5
  1484.  
  1485. local maxPlayersBtn = Instance.new("ImageButton", mainFrame)
  1486. maxPlayersBtn.AnchorPoint = Vector2.new(0.5, 0.5)
  1487. maxPlayersBtn.Size = UDim2.new(0, 40, 0, 40)
  1488. maxPlayersBtn.Position = UDim2.new(0.5, -264, 0.5, -220)
  1489. maxPlayersBtn.Image = "http://www.roblox.com/asset/?id=117409611207958"
  1490. maxPlayersBtn.BackgroundTransparency = 1
  1491. maxPlayersBtn.ZIndex = 5
  1492.  
  1493. lowPlayersBtn.MouseButton1Click:Connect(function()
  1494. local ok, err = pcall(function()
  1495. local sorted = sortServers(allServers, "lowPlayers")
  1496. updateServerList(sorted)
  1497. end)
  1498.  
  1499. if not ok then
  1500. warn("API error during lowPlayers. Please try again.", err)
  1501. end
  1502. end)
  1503.  
  1504. maxPlayersBtn.MouseButton1Click:Connect(function()
  1505. local ok, err = pcall(function()
  1506. local sorted = sortServers(allServers, "maxPlayers")
  1507. updateServerList(sorted)
  1508. end)
  1509.  
  1510. if not ok then
  1511. warn("API error during MaxPlayers. Please try again.", err)
  1512. end
  1513. end)
  1514. --------------------------------------------------------------------------------------------------------------------
  1515.  
  1516.  
  1517.  
  1518. local TweenService = game:GetService("TweenService")
  1519. local LocalizationService = game:GetService("LocalizationService")
  1520. local Players = game:GetService("Players")
  1521. local LocalPlayer = Players.LocalPlayer
  1522.  
  1523.  
  1524. local langText = {
  1525. ["fr"] = "L'ID du serveur a été copié avec succès !",
  1526. ["en"] = "Server ID copied successfully!",
  1527. ["es"] = "¡ID del servidor copiado correctamente!",
  1528. ["de"] = "Server-ID erfolgreich kopiert!",
  1529. ["it"] = "ID del server copiato con successo!",
  1530. ["pt"] = "ID do servidor copiado com sucesso!",
  1531. ["ru"] = "ID сервера успешно скопирован!",
  1532. ["zh"] = "服务器ID复制成功!",
  1533. ["tr"] = "Sunucu kimliği başarıyla kopyalandı!",
  1534. ["ja"] = "サーバーIDが正常にコピーされました!",
  1535. ["ar"] = "تم نسخ معرف الخادم بنجاح!",
  1536. }
  1537.  
  1538. local function getTranslatedMessage()
  1539. local langCode = (LocalizationService.RobloxLocaleId or "en"):sub(1,2)
  1540. return langText[langCode] or langText["en"]
  1541. end
  1542.  
  1543.  
  1544. local NotificationLib = {
  1545. _notifications = {},
  1546. _theme = {
  1547. primaryColor = Color3.fromRGB(30,30,30),
  1548. textColor = Color3.fromRGB(255,255,255),
  1549. font = Enum.Font.GothamSemibold,
  1550. cornerRadius = UDim.new(0,8)
  1551. },
  1552. _settings = {
  1553. duration = 4,
  1554. spacing = 12,
  1555. fadeTime = 0.28,
  1556. slideDistance = 18
  1557. },
  1558. _icons = { info = "rbxassetid://9405926389" }
  1559. }
  1560.  
  1561. function NotificationLib:_init()
  1562. if not self._container then
  1563. self._container = Instance.new("ScreenGui")
  1564. self._container.Name = "NotificationLibrary"
  1565. self._container.ResetOnSpawn = false
  1566. self._container.ZIndexBehavior = Enum.ZIndexBehavior.Sibling
  1567. self._container.Parent = game:GetService("CoreGui")
  1568. end
  1569. end
  1570.  
  1571. function NotificationLib:_calculatePosition(index)
  1572. local spacing = self._settings.spacing
  1573. local height = 90
  1574. return UDim2.new(1,-24,1,-24-(index-1)*(height+spacing))
  1575. end
  1576.  
  1577. function NotificationLib:_animateOut(frame, callback)
  1578. local tween = TweenService:Create(frame, TweenInfo.new(self._settings.fadeTime, Enum.EasingStyle.Quad), {
  1579. Position = frame.Position + UDim2.new(0,0,0,self._settings.slideDistance),
  1580. BackgroundTransparency = 1
  1581. })
  1582. tween:Play()
  1583. tween.Completed:Connect(function()
  1584. if frame and frame.Parent then frame:Destroy() end
  1585. if callback then callback() end
  1586. end)
  1587. end
  1588.  
  1589. function NotificationLib:Notify(opt)
  1590. self:_init()
  1591. opt = opt or {}
  1592. local title = opt.Title or "Notification"
  1593. local message = opt.Message or ""
  1594. local duration = opt.Duration or self._settings.duration
  1595.  
  1596. local frame = Instance.new("Frame")
  1597. frame.BackgroundColor3 = self._theme.primaryColor
  1598. frame.Size = UDim2.new(0,340,0,90)
  1599. frame.AnchorPoint = Vector2.new(1,1)
  1600. frame.Position = self:_calculatePosition(#self._notifications+1)
  1601. frame.Parent = self._container
  1602. Instance.new("UICorner", frame).CornerRadius = self._theme.cornerRadius
  1603.  
  1604. local icon = Instance.new("ImageLabel", frame)
  1605. icon.Image = self._icons.info
  1606. icon.Size = UDim2.new(0,28,0,28)
  1607. icon.Position = UDim2.new(0,12,0,12)
  1608. icon.BackgroundTransparency = 1
  1609.  
  1610. local titleLabel = Instance.new("TextLabel", frame)
  1611. titleLabel.Font = self._theme.font
  1612. titleLabel.TextColor3 = self._theme.textColor
  1613. titleLabel.TextSize = 16
  1614. titleLabel.TextXAlignment = Enum.TextXAlignment.Left
  1615. titleLabel.Text = title
  1616. titleLabel.BackgroundTransparency = 1
  1617. titleLabel.Size = UDim2.new(1,-60,0,22)
  1618. titleLabel.Position = UDim2.new(0,48,0,10)
  1619.  
  1620. local msgLabel = Instance.new("TextLabel", frame)
  1621. msgLabel.Font = Enum.Font.Gotham
  1622. msgLabel.TextColor3 = self._theme.textColor
  1623. msgLabel.TextSize = 14
  1624. msgLabel.TextWrapped = true
  1625. msgLabel.TextXAlignment = Enum.TextXAlignment.Left
  1626. msgLabel.Text = message
  1627. msgLabel.BackgroundTransparency = 1
  1628. msgLabel.Size = UDim2.new(1,-60,0,48)
  1629. msgLabel.Position = UDim2.new(0,48,0,30)
  1630.  
  1631. table.insert(self._notifications, frame)
  1632.  
  1633. task.delay(duration, function()
  1634. if frame and frame.Parent then
  1635. self:_animateOut(frame,function()
  1636. for i,v in ipairs(self._notifications) do
  1637. if v==frame then table.remove(self._notifications,i); break end
  1638. end
  1639. end)
  1640. end
  1641. end)
  1642. end
  1643.  
  1644.  
  1645. local CopyGamelive = Instance.new("ImageButton", mainFrame)
  1646. CopyGamelive.AnchorPoint = Vector2.new(0.5,0.5)
  1647. CopyGamelive.Size = UDim2.new(0,41,0,41)
  1648. CopyGamelive.Position = UDim2.new(0.5,-227,0.5,-220)
  1649. CopyGamelive.Image = "http://www.roblox.com/asset/?id=122024633828045"
  1650. CopyGamelive.BackgroundTransparency = 1
  1651. CopyGamelive.ZIndex = 6
  1652.  
  1653. CopyGamelive.MouseButton1Click:Connect(function()
  1654. local success, err = pcall(function()
  1655. local currentServerId = game.JobId
  1656. local joinCommand = 'Roblox.GameLauncher.joinGameInstance('..game.PlaceId..',"'..currentServerId..'")'
  1657. setclipboard(joinCommand)
  1658.  
  1659. NotificationLib:Notify({
  1660. Title = "Server ID",
  1661. Message = getTranslatedMessage(),
  1662. Duration = 4
  1663. })
  1664. end)
  1665.  
  1666. if not success then
  1667. warn("An error occurred on the copy server button. Please try again", err)
  1668. end
  1669. end)
  1670.  
  1671. --------------------------------------------------------------------------------------------------------------------
  1672.  
  1673. -- Le button Close pour fermer le Gui Server Finder Deluxe
  1674.  
  1675. local closeBtn = Instance.new("ImageButton", mainFrame)
  1676. closeBtn.AnchorPoint = Vector2.new(0.5, 0.5)
  1677. closeBtn.Size = UDim2.new(0, 40, 0, 40)
  1678. closeBtn.Position = UDim2.new(0.5, 298, 0.5, -220)
  1679. closeBtn.Image = "http://www.roblox.com/asset/?id=138896199949173"
  1680. closeBtn.BackgroundTransparency = 1
  1681. closeBtn.ZIndex = 6
  1682.  
  1683. closeBtn.MouseButton1Click:Connect(function()
  1684. pcall(function()
  1685. _G.SFD_LOADED = false
  1686. _G.SFD_CAN_RELOAD = true
  1687.  
  1688. if screenGui then
  1689. screenGui:Destroy()
  1690. end
  1691. end)
  1692. end)
  1693.  
  1694. --------------------------------------------------------------------------------------------------------------------
  1695.  
  1696.  
  1697.  
  1698. local TweenService = game:GetService("TweenService")
  1699. local TeleportService = game:GetService("TeleportService")
  1700. local Players = game:GetService("Players")
  1701. local LocalizationService = game:GetService("LocalizationService")
  1702. local LocalPlayer = Players.LocalPlayer
  1703.  
  1704.  
  1705. local langText = {
  1706. ["fr"] = "Reconnexion au serveur...",
  1707. ["en"] = "Reconnecting to server...",
  1708. ["es"] = "Reconectando al servidor...",
  1709. ["de"] = "Wiederverbindung zum Server...",
  1710. ["it"] = "Riconnessione al server...",
  1711. ["pt"] = "Reconectando ao servidor...",
  1712. ["ru"] = "Переподключение к серверу...",
  1713. ["zh"] = "正在重新连接服务器...",
  1714. ["tr"] = "Sunucuya yeniden bağlanılıyor...",
  1715. ["ja"] = "サーバーに再接続中...",
  1716. ["ar"] = "إعادة الاتصال بالخادم...",
  1717. }
  1718.  
  1719. local function getTranslatedMessage()
  1720.  
  1721. local tries = 0
  1722. while (not LocalizationService.RobloxLocaleId or #LocalizationService.RobloxLocaleId < 2) and tries < 20 do
  1723. tries = tries + 1
  1724. task.wait(0.05)
  1725. end
  1726. local langCode = (LocalizationService.RobloxLocaleId or "en"):sub(1, 2)
  1727. return langText[langCode] or langText["en"]
  1728. end
  1729.  
  1730.  
  1731. local startTime = os.clock()
  1732.  
  1733.  
  1734. local NotificationLib = {
  1735. _notifications = {},
  1736. _theme = {
  1737. primaryColor = Color3.fromRGB(30, 30, 30),
  1738. textColor = Color3.fromRGB(255, 255, 255),
  1739. font = Enum.Font.GothamSemibold,
  1740. cornerRadius = UDim.new(0, 8)
  1741. },
  1742. _settings = {
  1743. duration = 4,
  1744. position = "BottomRight",
  1745. maxNotifications = 5,
  1746. spacing = 12,
  1747. fadeTime = 0.28,
  1748. slideDistance = 18
  1749. },
  1750. _icons = {
  1751. info = "rbxassetid://9405926389"
  1752. }
  1753. }
  1754.  
  1755. function NotificationLib:_init()
  1756. if not self._container then
  1757. self._container = Instance.new("ScreenGui")
  1758. self._container.Name = "NotificationLibrary"
  1759. self._container.ResetOnSpawn = false
  1760. self._container.ZIndexBehavior = Enum.ZIndexBehavior.Sibling
  1761. self._container.Parent = game:GetService("CoreGui")
  1762. end
  1763. end
  1764.  
  1765. function NotificationLib:_calculatePosition(index)
  1766. local spacing = self._settings.spacing
  1767. local height = 90
  1768. return UDim2.new(1, -24, 1, -24 - (index - 1) * (height + spacing))
  1769. end
  1770.  
  1771. function NotificationLib:_animateOut(frame, callback)
  1772. local tween = TweenService:Create(frame, TweenInfo.new(self._settings.fadeTime, Enum.EasingStyle.Quad), {
  1773. Position = frame.Position + UDim2.new(0, 0, 0, self._settings.slideDistance),
  1774. BackgroundTransparency = 1
  1775. })
  1776. tween:Play()
  1777. tween.Completed:Connect(function()
  1778. if frame and frame.Parent then frame:Destroy() end
  1779. if callback then callback() end
  1780. end)
  1781. end
  1782.  
  1783. function NotificationLib:Notify(opt)
  1784. self:_init()
  1785. opt = opt or {}
  1786. local title = opt.Title or "Notification"
  1787. local message = opt.Message or ""
  1788. local duration = opt.Duration or self._settings.duration
  1789.  
  1790. local frame = Instance.new("Frame")
  1791. frame.BackgroundColor3 = self._theme.primaryColor
  1792. frame.Size = UDim2.new(0, 340, 0, 90)
  1793. frame.AnchorPoint = Vector2.new(1, 1)
  1794. frame.Position = self:_calculatePosition(#self._notifications + 1)
  1795. frame.Parent = self._container
  1796. Instance.new("UICorner", frame).CornerRadius = self._theme.cornerRadius
  1797.  
  1798. local icon = Instance.new("ImageLabel", frame)
  1799. icon.Image = self._icons.info
  1800. icon.Size = UDim2.new(0, 28, 0, 28)
  1801. icon.Position = UDim2.new(0, 12, 0, 12)
  1802. icon.BackgroundTransparency = 1
  1803.  
  1804. local titleLabel = Instance.new("TextLabel", frame)
  1805. titleLabel.Font = self._theme.font
  1806. titleLabel.TextColor3 = self._theme.textColor
  1807. titleLabel.TextSize = 16
  1808. titleLabel.TextXAlignment = Enum.TextXAlignment.Left
  1809. titleLabel.Text = title
  1810. titleLabel.BackgroundTransparency = 1
  1811. titleLabel.Size = UDim2.new(1, -60, 0, 22)
  1812. titleLabel.Position = UDim2.new(0, 48, 0, 10)
  1813.  
  1814. local msgLabel = Instance.new("TextLabel", frame)
  1815. msgLabel.Font = Enum.Font.Gotham
  1816. msgLabel.TextColor3 = self._theme.textColor
  1817. msgLabel.TextSize = 14
  1818. msgLabel.TextWrapped = true
  1819. msgLabel.TextXAlignment = Enum.TextXAlignment.Left
  1820. msgLabel.Text = message
  1821. msgLabel.BackgroundTransparency = 1
  1822. msgLabel.Size = UDim2.new(1, -60, 0, 48)
  1823. msgLabel.Position = UDim2.new(0, 48, 0, 30)
  1824.  
  1825. table.insert(self._notifications, frame)
  1826.  
  1827. task.delay(duration, function()
  1828. if frame and frame.Parent then
  1829. self:_animateOut(frame, function()
  1830. for i, v in ipairs(self._notifications) do
  1831. if v == frame then table.remove(self._notifications, i); break end
  1832. end
  1833. end)
  1834. end
  1835. end)
  1836. end
  1837.  
  1838. task.wait(0.1)
  1839.  
  1840. local SCRIPT_SOURCE_SERVER_FINDER_DELUXE = [=[
  1841.  
  1842. loadstring(game:HttpGet("https://raw.githubusercontent.com/MaxproGlitcher/Server-Finder-Deluxe/refs/heads/main/Finder_Servers_Code.luau"))()
  1843. ]=]
  1844.  
  1845. local RejoinButton = Instance.new("ImageButton")
  1846. RejoinButton.Parent = mainFrame
  1847. RejoinButton.AnchorPoint = Vector2.new(0.5, 0.5)
  1848. RejoinButton.Size = UDim2.new(0, 40, 0, 40)
  1849. RejoinButton.Position = UDim2.new(0.5, 204, 0.5, -220)
  1850. RejoinButton.Image = "rbxassetid://103864549538113"
  1851. RejoinButton.BackgroundTransparency = 1
  1852. RejoinButton.ZIndex = 10
  1853.  
  1854. RejoinButton.MouseButton1Click:Connect(function()
  1855. local success, err = pcall(function()
  1856. NotificationLib:Notify({
  1857. Title = string.format("Time used: %.3f s", os.clock() - startTime),
  1858. Message = getTranslatedMessage(),
  1859. Type = "info",
  1860. Duration = 5
  1861. })
  1862.  
  1863. queue_on_teleport(SCRIPT_SOURCE_SERVER_FINDER_DELUXE)
  1864. task.wait(1)
  1865.  
  1866. TeleportService:Teleport(game.PlaceId, LocalPlayer)
  1867. end)
  1868.  
  1869. if not success then
  1870. warn("An error occurred on the button rejoint button servers. Please try again", err)
  1871. end
  1872. end)
  1873.  
  1874. --------------------------------------------------------------------------------------------------------------------
  1875.  
  1876.  
  1877.  
  1878. local resizeButton = Instance.new("ImageButton", mainFrame)
  1879. resizeButton.AnchorPoint = Vector2.new(0.5, 0.5)
  1880. resizeButton.Size = UDim2.new(0, 40, 0, 40)
  1881. resizeButton.Position = UDim2.new(0.5, 157, 0.5, -220)
  1882. resizeButton.Image = "http://www.roblox.com/asset/?id=92176830367195"
  1883. resizeButton.BackgroundTransparency = 1
  1884. resizeButton.ZIndex = 9
  1885.  
  1886. local isSmall = true -- Définir la taille initiale comme petite
  1887.  
  1888. -- Fonction pour basculer entre les tailles
  1889. local function toggleGuiSize()
  1890. if isSmall then
  1891. mainFrame.Size = UDim2.new(0, 650, 0, 500)
  1892. scrollFrame.Size = UDim2.new(1, -20, 1, -60)
  1893. scrollFrame.Position = UDim2.new(0, 10, 0, 50)
  1894.  
  1895. if refreshBtn then
  1896. refreshBtn.AnchorPoint = Vector2.new(0.5, 0.5)
  1897. refreshBtn.Size = UDim2.new(0, 47, 0, 47)
  1898. refreshBtn.Position = UDim2.new(0.5, 250, 0.5, -220)
  1899. end
  1900.  
  1901. if closeBtn then
  1902. closeBtn.AnchorPoint = Vector2.new(0.5, 0.5)
  1903. closeBtn.Size = UDim2.new(0, 40, 0, 40)
  1904. closeBtn.Position = UDim2.new(0.5, 298, 0.5, -220)
  1905. end
  1906.  
  1907. if resizeButton then
  1908. resizeButton.AnchorPoint = Vector2.new(0.5, 0.5)
  1909. resizeButton.Size = UDim2.new(0, 40, 0, 40)
  1910. resizeButton.Position = UDim2.new(0.5, 157, 0.5, -220)
  1911. end
  1912.  
  1913. if RejoinButton then
  1914. RejoinButton.AnchorPoint = Vector2.new(0.5, 0.5)
  1915. RejoinButton.Size = UDim2.new(0, 40, 0, 40)
  1916. RejoinButton.Position = UDim2.new(0.5, 204, 0.5, -220)
  1917. end
  1918.  
  1919. if lowPlayersBtn then
  1920. lowPlayersBtn.AnchorPoint = Vector2.new(0.5, 0.5)
  1921. lowPlayersBtn.Size = UDim2.new(0, 40, 0, 40)
  1922. lowPlayersBtn.Position = UDim2.new(0.5, -183, 0.5, -220)
  1923. end
  1924.  
  1925. if maxPlayersBtn then
  1926. maxPlayersBtn.AnchorPoint = Vector2.new(0.5, 0.5)
  1927. maxPlayersBtn.Size = UDim2.new(0, 40, 0, 40)
  1928. maxPlayersBtn.Position = UDim2.new(0.5, -264, 0.5, -220)
  1929. end
  1930.  
  1931. if CopyGamelive then
  1932. CopyGamelive.AnchorPoint = Vector2.new(0.5, 0.5)
  1933. CopyGamelive.Size = UDim2.new(0, 41, 0, 41)
  1934. CopyGamelive.Position = UDim2.new(0.5, -227, 0.5, -220)
  1935. end
  1936.  
  1937. else
  1938. mainFrame.Size = UDim2.new(0, 549, 0, 390)
  1939. scrollFrame.Size = UDim2.new(1, -10, 1, -40)
  1940. scrollFrame.Position = UDim2.new(0, 5, 0, 40)
  1941.  
  1942. if refreshBtn then
  1943. refreshBtn.Position = UDim2.new(0.5, 225, 0.5, -175)
  1944. refreshBtn.AnchorPoint = Vector2.new(0.5, 0.5)
  1945. refreshBtn.Size = UDim2.new(0, 30, 0, 30)
  1946. end
  1947.  
  1948. if closeBtn then
  1949. closeBtn.Position = UDim2.new(0.5, 255, 0.5, -175)
  1950. closeBtn.AnchorPoint = Vector2.new(0.5, 0.5)
  1951. closeBtn.Size = UDim2.new(0, 25, 0, 25)
  1952. end
  1953.  
  1954. if RejoinButton then
  1955. RejoinButton.AnchorPoint = Vector2.new(0.5, 0.5)
  1956. RejoinButton.Size = UDim2.new(0, 25, 0, 25)
  1957. RejoinButton.Position = UDim2.new(0.5, 195, 0.5, -175)
  1958. end
  1959.  
  1960. if maxPlayersBtn then
  1961. maxPlayersBtn.AnchorPoint = Vector2.new(0.5, 0.5)
  1962. maxPlayersBtn.Size = UDim2.new(0, 25, 0, 25)
  1963. maxPlayersBtn.Position = UDim2.new(0.5, -222, 0.5, -175)
  1964. end
  1965.  
  1966.  
  1967. if lowPlayersBtn then
  1968. lowPlayersBtn.AnchorPoint = Vector2.new(0.5, 0.5)
  1969. lowPlayersBtn.Size = UDim2.new(0, 25, 0, 25)
  1970. lowPlayersBtn.Position = UDim2.new(0.5, -173, 0.5, -175)
  1971. end
  1972.  
  1973. if CopyGamelive then
  1974. CopyGamelive.AnchorPoint = Vector2.new(0.5, 0.5)
  1975. CopyGamelive.Size = UDim2.new(0, 25, 0, 25)
  1976. CopyGamelive.Position = UDim2.new(0.5, -199, 0.5, -175)
  1977. end
  1978.  
  1979. if resizeButton then
  1980. resizeButton.AnchorPoint = Vector2.new(0.5, 0.5)
  1981. resizeButton.Size = UDim2.new(0, 25, 0, 25)
  1982. resizeButton.Position = UDim2.new(0.5, 167, 0.5, -175)
  1983. end
  1984. end
  1985. isSmall = not isSmall
  1986. end
  1987.  
  1988. resizeButton.MouseButton1Click:Connect(toggleGuiSize)
  1989.  
  1990. --------------------------------------------------------------------------------------------------------------------
  1991.  
  1992. -- Services MODE PERFORMANCE BOOST
  1993.  
  1994. -- Services
  1995. local Players = game:GetService("Players")
  1996. local Lighting = game:GetService("Lighting")
  1997.  
  1998. -- Sauvegarde des réglages d'origine
  1999. local UserSettings = settings():GetService("RenderSettings")
  2000. local originalSettings = {
  2001. QualityLevel = UserSettings.QualityLevel,
  2002. EditQualityLevel = UserSettings.EditQualityLevel,
  2003. GlobalShadows = Lighting.GlobalShadows
  2004. }
  2005.  
  2006. -- Active le mode performance boost
  2007. local function EnablePerformanceBoost()
  2008. UserSettings.QualityLevel = Enum.QualityLevel.Level01
  2009. UserSettings.EditQualityLevel = Enum.QualityLevel.Level01
  2010.  
  2011. -- Désactive tous les effets visuels post-traitement
  2012. for _, effect in pairs(Lighting:GetChildren()) do
  2013. if effect:IsA("PostEffect") then
  2014. effect.Enabled = false
  2015. end
  2016. end
  2017.  
  2018. -- Désactive les ombres globales
  2019. Lighting.GlobalShadows = false
  2020. end
  2021.  
  2022. -- Restaure les réglages normaux
  2023. local function DisablePerformanceBoost()
  2024. UserSettings.QualityLevel = originalSettings.QualityLevel
  2025. UserSettings.EditQualityLevel = originalSettings.EditQualityLevel
  2026.  
  2027. for _, effect in pairs(Lighting:GetChildren()) do
  2028. if effect:IsA("PostEffect") then
  2029. effect.Enabled = true
  2030. end
  2031. end
  2032.  
  2033. Lighting.GlobalShadows = originalSettings.GlobalShadows
  2034. end
  2035.  
  2036. -- Exemple : activer au lancement
  2037. EnablePerformanceBoost()
  2038.  
  2039. -- Exemple : désactiver quand tu fermes le GUI
  2040. closeBtn.MouseButton1Click:Connect(function()
  2041. DisablePerformanceBoost()
  2042. screenGui.Enabled = false
  2043. end)
  2044.  
  2045.  
  2046. --------------------------------------------------------------------------------------------------------------------
  2047.  
  2048. -- Notification pour me contacter au cas problème pour le Script Server Finder Deluxe
  2049. -- Impression de texte personnalisé pour la console roblox
  2050. -- Impression de Texte Traduits pour pluiseurs langues
  2051.  
  2052. pcall(function()
  2053. local Modules = {
  2054. Colors = {
  2055. ["Grey"] = "254, 254, 254",
  2056. ["Cyan"] = "33, 161, 163"
  2057. }
  2058. }
  2059.  
  2060. Modules.ChangeColor = function()
  2061. game:GetService("RunService").Heartbeat:Connect(function()
  2062. local console = game:GetService("CoreGui"):FindFirstChild("DevConsoleMaster")
  2063. if console then
  2064. for _, v in pairs(console:GetDescendants()) do
  2065. if v:IsA("TextLabel") then
  2066. v.RichText = true
  2067. end
  2068. end
  2069. end
  2070. end)
  2071. end
  2072.  
  2073. Modules.print = function(color, text, size)
  2074. if not Modules.Colors[color] then
  2075. warn("Color was not found!")
  2076. return
  2077. end
  2078.  
  2079. local Text = '<font color="rgb(' .. Modules.Colors[color] .. ')"'
  2080. if size then
  2081. Text = Text .. ' size="' .. tostring(size) .. '"'
  2082. end
  2083. Text = Text .. '>' .. tostring(text) .. '</font>'
  2084. print(Text)
  2085. end
  2086.  
  2087. local version = "5.9"
  2088.  
  2089. local translations = {
  2090. ["fr"] = {
  2091. line = "-------------------------------------------------------------------------------------",
  2092. executed = "Script Server Finder Deluxe lancé !!!",
  2093. contact = "Si vous avez un problème avec le script, contactez maxproglitcher sur Discord.",
  2094. },
  2095. ["en"] = {
  2096. line = "-------------------------------------------------------------------------------------",
  2097. executed = "Script Server Finder Deluxe is executed !!!",
  2098. contact = "If you have a problem with the script, contact maxproglitcher on Discord.",
  2099. },
  2100. ["es"] = {
  2101. line = "-------------------------------------------------------------------------------------",
  2102. executed = "¡Script Server Finder Deluxe ejecutado!",
  2103. contact = "Si tienes un problema con el script, contacta a maxproglitcher en Discord.",
  2104. },
  2105. ["de"] = {
  2106. line = "-------------------------------------------------------------------------------------",
  2107. executed = "Script Server Finder Deluxe wurde ausgeführt!",
  2108. contact = "Bei Problemen mit dem Skript kontaktiere maxproglitcher auf Discord.",
  2109. },
  2110. ["it"] = {
  2111. line = "-------------------------------------------------------------------------------------",
  2112. executed = "Script Server Finder Deluxe eseguito!",
  2113. contact = "Se hai problemi con lo script, contatta maxproglitcher su Discord.",
  2114. },
  2115. ["pt"] = {
  2116. line = "-------------------------------------------------------------------------------------",
  2117. executed = "Script Server Finder Deluxe executado!",
  2118. contact = "Se você tiver problemas com o script, contate maxproglitcher no Discord.",
  2119. },
  2120. ["ru"] = {
  2121. line = "-------------------------------------------------------------------------------------",
  2122. executed = "Скрипт Server Finder Deluxe запущен!",
  2123. contact = "Если у вас есть проблемы со скриптом, свяжитесь с maxproglitcher в Discord.",
  2124. },
  2125. ["zh"] = {
  2126. line = "-------------------------------------------------------------------------------------",
  2127. executed = "脚本 Server Finder Deluxe 已执行!",
  2128. contact = "如果您遇到脚本问题,请在 Discord 上联系 maxproglitcher。",
  2129. },
  2130. ["tr"] = {
  2131. line = "-------------------------------------------------------------------------------------",
  2132. executed = "Script Server Finder Deluxe çalıştırıldı!",
  2133. contact = "Script ile ilgili bir sorun yaşarsanız, Discord üzerinden maxproglitcher ile iletişime geçin.",
  2134. },
  2135. ["ja"] = {
  2136. line = "-------------------------------------------------------------------------------------",
  2137. executed = "スクリプト Server Finder Deluxe を実行しました!",
  2138. contact = "スクリプトに問題がある場合は、Discord で maxproglitcher に連絡してください。",
  2139. },
  2140. ["ar"] = {
  2141. line = "-------------------------------------------------------------------------------------",
  2142. executed = "تم تنفيذ سكربت Server Finder Deluxe!",
  2143. contact = "إذا واجهت مشكلة في السكربت، تواصل مع maxproglitcher على ديسكورد.",
  2144. }
  2145. }
  2146.  
  2147. -- Utilisation correcte de RobloxLocaleId côté client
  2148. local langCode = game:GetService("LocalizationService").RobloxLocaleId:lower():match("^([a-z][a-z])") or "en"
  2149. local msg = translations[langCode] or translations["en"]
  2150.  
  2151. Modules.ChangeColor()
  2152. Modules.print("Grey", msg.line, 20)
  2153. Modules.print("Grey", msg.executed, 20)
  2154. Modules.print("Grey", "Version "..version, 20)
  2155. Modules.print("Grey", msg.line, 20)
  2156. Modules.print("Grey", msg.contact, 20)
  2157. Modules.print("Grey", msg.line, 20)
  2158. end)
  2159. --------------------------------------------------------------------------------------------------------------------
  2160.  
Advertisement
Comments
  • User was banned
  • User was banned
  • User was banned
  • User was banned
  • User was banned
Add Comment
Please, Sign In to add comment