MaxproGlitcher

Server Finder Deluxe Official Back Up!!!

Jul 28th, 2026 (edited)
163
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 106.41 KB | None | 0 0
  1. --[[By MaxproGlitcher Discord:maxproglitcher
  2.  
  3. -- This is the real Back Up One from Server Finder Deluxe
  4.  
  5. -- Site Web official: https://github.com/MaxproGlitcher/Server_Finder_Deluxe_Back_Up
  6.  
  7. -- Server Finder Deluxe is original Script software created and developed by MaxproGlitcher.
  8.  
  9. -- Copying, modifying, redistributing, reselling, republishing, or any other use of all or part of this project without prior written
  10.  
  11. -- permission is strictly prohibited.
  12.  
  13. -- This software is protected by applicable copyright laws. Any unauthorized use may result in the removal of the affected content as
  14.  
  15. -- well as appropriate legal action.
  16.  
  17. -- Server Finder Deluxe® – Developed by MaxproGlitcher.
  18.  
  19. -- © 2026 MaxproGlitcher. All rights reserved.
  20.  
  21. -- Official version Back Up only.
  22.  
  23. _____ ________.__ .__ __ .__
  24. / \ _____ ___ ________________ ____ / _____/| | |__|/ |_ ____ | |__ ___________
  25. / \ / \\__ \ \ \/ /\____ \_ __ \/ _ \/ \ ___| | | \ __\/ ___\| | \_/ __ \_ __ \
  26. / Y \/ __ \_> < | |_> > | \( <_> ) \_\ \ |_| || | \ \___| Y \ ___/| | \/
  27. \____|__ (____ /__/\_ \| __/|__| \____/ \______ /____/__||__| \___ >___| /\___ >__|
  28. \/ \/ \/|__| \/ \/ \/ \/
  29.  
  30.  
  31. --------------------------------------------------------------------------------------------------------------------
  32.  
  33.  
  34. _____ ______ _ _ _____ _
  35. / ____| | ____(_) | | | __ \ | |
  36. | (___ ___ _ ____ _____ _ __ | |__ _ _ __ __| | ___ _ __ | | | | ___| |_ ___ _____
  37. \___ \ / _ \ '__\ \ / / _ \ '__| | __| | | '_ \ / _` |/ _ \ '__| | | | |/ _ \ | | | \ \/ / _ \
  38. ____) | __/ | \ V / __/ | | | | | | | | (_| | __/ | | |__| | __/ | |_| |> < __/
  39. |_____/ \___|_| \_/ \___|_| |_| |_|_| |_|\__,_|\___|_| |_____/ \___|_|\__,_/_/\_\___|
  40.  
  41.  
  42. ]]
  43. --------------------------------------------------------------------------------------------------------------------
  44. if not game:IsLoaded() then
  45. game.Loaded:Wait()
  46. end
  47.  
  48. -- ════════════════════════════════════════
  49. -- (Chargement/Décoration)
  50. -- ════════════════════════════════════════
  51.  
  52. local TweenService = game:GetService("TweenService")
  53. local Lighting = game:GetService("Lighting")
  54. local CoreGui = game:GetService("CoreGui")
  55. local LocalizationService = game:GetService("LocalizationService")
  56.  
  57. local gui = Instance.new("ScreenGui", game.CoreGui)
  58. gui.Parent = CoreGui
  59. gui.IgnoreGuiInset = true
  60. gui.ResetOnSpawn = false
  61.  
  62. local blur = Instance.new("BlurEffect")
  63. blur.Parent = Lighting
  64. blur.Size = 12
  65.  
  66.  
  67. local main = Instance.new("Frame")
  68. main.Parent = gui
  69. main.Size = UDim2.new(0, 420, 0, 410)
  70. main.Position = UDim2.new(0.5, -210, 0.5, -205)
  71. main.BackgroundColor3 = Color3.fromRGB(30, 30, 30)
  72. main.BorderSizePixel = 0
  73. Instance.new("UICorner", main).CornerRadius = UDim.new(0, 12)
  74.  
  75. local title = Instance.new("TextLabel")
  76. title.Parent = main
  77. title.BackgroundTransparency = 1
  78. title.Size = UDim2.new(1, 0, 0, 50)
  79. title.Position = UDim2.new(0, 0, 0, 10)
  80. title.Font = Enum.Font.GothamBlack
  81. title.TextSize = 40
  82. title.TextColor3 = Color3.fromRGB(240, 240, 240)
  83. title.Text = "Server Finder Deluxe"
  84.  
  85. local versionLabel = Instance.new("TextLabel")
  86. versionLabel.Parent = main
  87. versionLabel.BackgroundTransparency = 1
  88. versionLabel.Size = UDim2.new(1, 0, 0, 20)
  89. versionLabel.Position = UDim2.new(0, 0, 0, 70)
  90. versionLabel.Font = Enum.Font.GothamMedium
  91. versionLabel.TextSize = 16
  92. versionLabel.TextColor3 = Color3.fromRGB(210, 210, 210)
  93. versionLabel.Text = "Ultimate Server Scanner"
  94.  
  95. local status = Instance.new("TextLabel")
  96. status.Parent = main
  97. status.BackgroundTransparency = 1
  98. status.Size = UDim2.new(1, 0, 0, 30)
  99. status.Position = UDim2.new(0, 0, 0, 105)
  100. status.Font = Enum.Font.Gotham
  101. status.TextSize = 18
  102. status.TextColor3 = Color3.fromRGB(200, 200, 200)
  103. status.Text = "Loading..."
  104.  
  105. local percent = Instance.new("TextLabel")
  106. percent.Parent = main
  107. percent.BackgroundTransparency = 1
  108. percent.Size = UDim2.new(1, 0, 0, 25)
  109. percent.Position = UDim2.new(0, 0, 0, 135)
  110. percent.Font = Enum.Font.GothamBold
  111. percent.TextSize = 20
  112. percent.TextColor3 = Color3.fromRGB(200, 200, 200)
  113. percent.Text = "0%"
  114.  
  115. local barBack = Instance.new("Frame")
  116. barBack.Parent = main
  117. barBack.Size = UDim2.new(0, 280, 0, 8)
  118. barBack.Position = UDim2.new(0.5, -140, 0, 165)
  119. barBack.BackgroundColor3 = Color3.fromRGB(60, 60, 60)
  120. barBack.BorderSizePixel = 0
  121. Instance.new("UICorner", barBack).CornerRadius = UDim.new(0, 4)
  122.  
  123. local bar = Instance.new("Frame")
  124. bar.Parent = barBack
  125. bar.Size = UDim2.new(0, 0, 1, 0)
  126. bar.BackgroundColor3 = Color3.fromRGB(180, 180, 180)
  127. bar.BorderSizePixel = 0
  128. Instance.new("UICorner", bar).CornerRadius = UDim.new(0, 4)
  129.  
  130. local CopyGithubSFD = Instance.new("TextButton")
  131. CopyGithubSFD.Parent = barBack
  132. CopyGithubSFD.Size = UDim2.new(0, 120, 0, 25)
  133. CopyGithubSFD.Position = UDim2.new(0.5, -60, -3, -30)
  134. CopyGithubSFD.BackgroundColor3 = barBack.BackgroundColor3
  135. CopyGithubSFD.BorderSizePixel = 0
  136. CopyGithubSFD.Text = "Copy GitHub"
  137. CopyGithubSFD.Font = Enum.Font.GothamBold
  138. CopyGithubSFD.TextSize = 14
  139. CopyGithubSFD.TextColor3 = Color3.fromRGB(220, 220, 220)
  140. Instance.new("UICorner", CopyGithubSFD).CornerRadius = UDim.new(0, 6)
  141.  
  142. local githubLink = "https://github.com/MaxproGlitcher/Server_Finder_Deluxe_Back_Up"
  143.  
  144. CopyGithubSFD.MouseButton1Click:Connect(function()
  145. pcall(function()
  146. if setclipboard then
  147. setclipboard(githubLink)
  148. elseif toclipboard then
  149. toclipboard(githubLink)
  150. else
  151. warn("Your Exploit don't supported this function check!!!")
  152. end
  153. end)
  154. end)
  155.  
  156.  
  157. local infoLabel = Instance.new("TextLabel")
  158. infoLabel.Parent = main
  159. infoLabel.BackgroundTransparency = 1
  160. infoLabel.Size = UDim2.new(0, 360, 0, 160)
  161. infoLabel.Position = UDim2.new(0.5, -180, 0, 190)
  162. infoLabel.Font = Enum.Font.GothamMedium
  163. infoLabel.TextSize = 12
  164. infoLabel.TextColor3 = Color3.fromRGB(180, 180, 180)
  165. infoLabel.TextXAlignment = Enum.TextXAlignment.Center
  166. infoLabel.TextYAlignment = Enum.TextYAlignment.Top
  167. infoLabel.TextWrapped = true
  168.  
  169.  
  170. local translations = {
  171. ["fr"] = "Server Finder Deluxe ne prend aucune information sur votre compte (pas de trackers d'activité ou de dépenses Robux, etc.) et ne contient aucun script malveillant. Ce projet est open source pour vous prouver qu'il est sûr à utiliser.\n\nServer Finder Deluxe se réserve le droit de DMCA si vous utilisez notre nom pour vendre ou diffuser une version malveillante sur le marché des scripts.\n\nSinon, bonne utilisation Guys ! Merci d'utiliser Server Finder Deluxe !!!",
  172. ["en"] = "Server Finder Deluxe takes zero information from your account (no trackers on what you play, what you pay with your robux, etc.) and contains no malicious scripts. This project is open source to prove it is safe to use.\n\nServer Finder Deluxe reserves the right to DMCA if you use the name Server Finder Deluxe to sell or distribute a malicious version on the script market.\n\nOtherwise, happy tracking guys! Thanks for using Server Finder Deluxe !!!",
  173. ["es"] = "Server Finder Deluxe no toma ninguna información de su cuenta (sin rastreadores de lo que juega o gasta con sus robux, etc.) y no contiene scripts maliciosos. Este proyecto es de código abierto para demostrar que es seguro.\n\nServer Finder Deluxe se reserva el derecho de DMCA si usa el nombre Server Finder Deluxe para vender o distribuir una versión maliciosa en el mercado de scripts.\n\n¡Disfrútenlo chicos! ¡Gracias por usar Server Finder Deluxe!",
  174. ["pt"] = "O Server Finder Deluxe não coleta nenhuma informação da sua conta (sem rastreadores do que você joga ou gasta com seus robux, etc.) e não contém scripts maliciosos. Este projeto é de código aberto para provar que é seguro.\n\nServer Finder Deluxe reserva-se o direito de DMCA se você usar o nome Server Finder Deluxe para vender ou distribuir uma versão maliciosa no mercado de scripts.\n\nAproveitem, pessoal! Obrigado por usar o Server Finder Deluxe!",
  175. ["tr"] = "Server Finder Deluxe hesabınızdan hiçbir bilgi almaz (ne oynadığınız, robux ile ne ödediğiniz vb. takip edilmez) ve kötü amaçlı yazılım içermez. Bu proje, güvenli olduğunu kanıtlamak için açık kaynaktır.\n\nServer Finder Deluxe ismini script piyasasında kötü amaçlı bir sürüm satmak veya dağıtmak için kullanırsanız, Server Finder Deluxe DMCA hakkını saklı tutar.\n\nBunun dışında, iyi kullanımlar millet! Server Finder Deluxe kullandığınız için teşekkürler !!!",
  176. ["it"] = "Server Finder Deluxe non prende alcuna informazione dal tuo account (nessun tracker su cosa giochi, cosa paghi con i tuoi robux, ecc.) e non contiene script dannosi. Questo progetto è open source per dimostrare che è sicuro da usare.\n\nServer Finder Deluxe si riserva il diritto di DMCA se utilizzi il nome Server Finder Deluxe per vendere o distribuire una versione dannosa sul mercato degli script.\n\nPer il resto, buon utilizzo ragazzi! Grazie per aver usato Server Finder Deluxe !!!",
  177. ["de"] = "Server Finder Deluxe sammelt keinerlei Informationen von Ihrem Konto (keine Tracker für Spiele oder Robux-Ausgaben usw.) und enthält keine schädlichen Skripte. Dieses Projekt ist Open-Source, um zu beweisen, dass es sicher ist.\n\nServer Finder Deluxe behält sich das Recht auf DMCA vor, wenn Sie den Namen Server Finder Deluxe verwenden, um eine schädliche Version auf dem Skriptmarkt zu verkaufen oder zu verbreiten.\n\nViel Spaß, Leute! Vielen Dank für die Nutzung von Server Finder Deluxe!",
  178. ["ar"] = "لا يأخذ Server Finder Deluxe أي معلومات من حسابك (لا توجد أدوات تتبع لما تلعبه، أو ما تدفعه مقابل الـ Robux الخاص بك، وما إلى ذلك) ولا يحتوي على أي برمجيات خبيثة. هذا المشروع مفتوح المصدر لإثبات أنه آمن للاستخدام.\n\nيحتفظ Server Finder Deluxe بالحق في تقديم شكوى DMCA إذا استخدمت اسم Server Finder Deluxe لبيع أو توزيع نسخة خبيثة في سوق السكربتات.\n\nبخلاف ذلك، استمتعوا بالاستخدام يا شباب! شكرًا لاستخدامكم Server Finder Deluxe !!!",
  179. ["ja"] = "Server Finder Deluxeは、アカウントからいかなる情報(何をプレイしているか、Robuxで何を支払ったかのトラッカーなど)も取得せず、悪意のあるスクリプトも含んでいません。このプロジェクトは、安全に使用できることを証明するためにオープンソース化されています。\n\nスクリプト市場で悪意のあるバージョンを販売または配布するためにServer Finder Deluxeの名前を使用した場合、Server Finder DeluxeはDMCAの権利を留保します。\n\nそれでは、皆さん楽しんで使ってください!Server Finder Deluxeをご利用いただきありがとうございます!!!",
  180. ["ru"] = "Server Finder Deluxe не собирает информацию о вашей учетной записи (нет трекеров активности, расходов Robux и т. д.) и не содержит вредоносных скриптов. Этот проект является открытым исходным кодом, чтобы доказать его безопасность.\n\nServer Finder Deluxe оставляет за собой право на подачу жалобы DMCA, если вы используете название Server Finder Deluxe для продажи или распространения вредоносной версии на рынке скриптов.\n\nВ остальном, приятного использования, ребята! Спасибо за использование Server Finder Deluxe !!!",
  181. ["zh"] = "Server Finder Deluxe 不会从 your 账户中获取任何信息(没有关于您玩什么、用 Robux 支付什么的追踪器等),并且不包含任何恶意脚本。该项目是开源的,以证明其可以安全使用。\n\n如果您使用 Server Finder Deluxe 的名称在脚本市场上销售或分发恶意版本,Server Finder Deluxe 保留追究 DMCA 版权投诉的权利。\n\n除此之外,祝大家使用愉快!感谢您使用 Server Finder Deluxe !!!"
  182. }
  183.  
  184.  
  185. local userLanguage = "en"
  186. pcall(function()
  187. local locale = LocalizationService.RobloxLocaleId:sub(1, 2):lower()
  188. if translations[locale] then
  189. userLanguage = locale
  190. end
  191. end)
  192.  
  193. infoLabel.Text = translations[userLanguage]
  194.  
  195.  
  196.  
  197. local credit = Instance.new("TextLabel")
  198. credit.Parent = main
  199. credit.BackgroundTransparency = 1
  200. credit.Size = UDim2.new(0, 200, 0, 20)
  201. credit.Position = UDim2.new(1, -210, 1, -25)
  202. credit.Font = Enum.Font.Gotham
  203. credit.TextSize = 14
  204. credit.TextColor3 = Color3.fromRGB(170, 170, 170)
  205. credit.TextXAlignment = Enum.TextXAlignment.Right
  206. credit.Text = "By MaxproGlitcher"
  207.  
  208. local discord = Instance.new("TextLabel")
  209. discord.Parent = main
  210. discord.BackgroundTransparency = 1
  211. discord.Size = UDim2.new(0, 220, 0, 20)
  212. discord.Position = UDim2.new(0, 10, 1, -25)
  213. discord.Font = Enum.Font.Gotham
  214. discord.TextSize = 14
  215. discord.TextColor3 = Color3.fromRGB(170, 170, 170)
  216. discord.TextXAlignment = Enum.TextXAlignment.Left
  217. discord.Text = "Discord : maxproglitcher"
  218.  
  219. local function GetEasterDate(year)
  220. local A = math.floor(year/100)
  221. local B = math.floor((13+8*A)/25)
  222. local C = (15-B+A-math.floor(A/4))%30
  223. local D = (4+A-math.floor(A/4))%7
  224. local E = (19*(year%19)+C)%30
  225. local F = (2*(year%4)+4*(year%7)+6*E+D)%7
  226. local G = 22 + E + F
  227.  
  228. if E == 29 and F == 6 then
  229. return 4, 19
  230. elseif E == 28 and F == 6 then
  231. return 4, 18
  232. elseif G > 31 then
  233. return 4, G-31
  234. else
  235. return 3, G
  236. end
  237. end
  238.  
  239. local isXmas, isHalloween, isNewYear, isEaster, isValentine = false, false, false, false, false
  240.  
  241. local success, err = pcall(function()
  242. local date = os.date("*t")
  243. local emonth, eday = GetEasterDate(date.year)
  244. isXmas = date.month == 12 and date.day >= 15 and date.day <= 29
  245. isHalloween = (date.month == 10 and date.day >= 22) or (date.month == 11 and date.day <= 1)
  246. isNewYear = (date.month == 12 and date.day >= 30) or (date.month == 1 and date.day <= 2)
  247. isValentine = (date.month == 2 and date.day == 14)
  248. isEaster = (date.month == emonth and date.day == eday)
  249. end)
  250.  
  251. if not success then
  252. warn("Date system error for loading gui:", err)
  253. end
  254.  
  255. local function decorate(startEmoji, endEmoji)
  256. title.Text = startEmoji .. " Server Finder Deluxe " .. endEmoji
  257. title.TextSize = 32
  258. end
  259.  
  260. local function cycle(colors)
  261. local i = 1
  262.  
  263. task.spawn(function()
  264. while gui and gui.Parent do
  265. local success, err = pcall(function()
  266. local c = colors[i]
  267.  
  268. title.TextColor3 = c
  269. versionLabel.TextColor3 = c
  270. status.TextColor3 = c
  271. credit.TextColor3 = c
  272. percent.TextColor3 = c
  273. bar.BackgroundColor3 = c
  274. infoLabel.TextColor3 = c
  275.  
  276. if CopyGithubSFD then
  277. CopyGithubSFD.TextColor3 = c
  278. CopyGithubSFD.BackgroundColor3 = Color3.fromRGB(60, 60, 60)
  279. end
  280.  
  281. if discord then
  282. discord.TextColor3 = c
  283. end
  284.  
  285. i = i % #colors + 1
  286. end)
  287.  
  288. if not success then
  289. warn("Cycle color error:", err)
  290. end
  291.  
  292. task.wait(0.5)
  293. end
  294. end)
  295. end
  296.  
  297. if isXmas then
  298. decorate("🎄", "🎄")
  299. cycle({
  300. Color3.fromRGB(0,255,0),
  301. Color3.fromRGB(255,0,0),
  302. Color3.fromRGB(255,255,255)})
  303. elseif isHalloween then
  304. decorate("🎃", "🎃")
  305. cycle({
  306. Color3.fromRGB(0,0,0),
  307. Color3.fromRGB(255,165,0)})
  308. elseif isNewYear then
  309. decorate("🎉", "🎉")
  310. cycle({
  311. Color3.fromRGB(255,255,0),
  312. Color3.fromRGB(0,0,0)})
  313. elseif isEaster then
  314. decorate("🐰", "🐰")
  315. cycle({
  316. Color3.fromRGB(216,191,216),
  317. Color3.fromRGB(255,182,193),
  318. Color3.fromRGB(193,225,193),
  319. Color3.fromRGB(173,216,230)
  320. })
  321. elseif isValentine then
  322. decorate("💗", "💗")
  323. cycle({
  324. Color3.fromRGB(0,0,0),
  325. Color3.fromRGB(255,85,127)})
  326. end
  327.  
  328. local loading = true
  329.  
  330. pcall(function()
  331. task.spawn(function()
  332. while loading and status and status.Parent do
  333. for i = 1, 3 do
  334. if not loading then break end
  335. status.Text = "Loading" .. string.rep(".", i)
  336. task.wait(0.4)
  337. end
  338. if not loading then break end
  339. status.Text = "Loading"
  340. task.wait(0.4)
  341. end
  342. end)
  343. end)
  344.  
  345. pcall(function()
  346. local duration = 2
  347. TweenService:Create(
  348. bar,
  349. TweenInfo.new(duration, Enum.EasingStyle.Quad, Enum.EasingDirection.Out),
  350. { Size = UDim2.new(1, 0, 1, 0) }
  351. ):Play()
  352.  
  353. for i = 0, 100 do
  354. if not percent or not percent.Parent then break end
  355. percent.Text = i .. "%"
  356. task.wait(duration / 100)
  357. end
  358. end)
  359.  
  360. loading = false
  361. status.Text = "Success"
  362.  
  363. task.wait(0.30)
  364.  
  365. if blur then
  366. blur:Destroy()
  367. end
  368.  
  369. if gui then
  370. gui:Destroy()
  371. end
  372.  
  373.  
  374. --------------------------------------------------------------------------------------------------------------------
  375.  
  376. if _G.SFD_LOADED and not _G.SFD_CAN_RELOAD then
  377. -- error("Server Finder Deluxe is already running!", 0)
  378. return
  379. end
  380.  
  381. _G.SFD_LOADED = true
  382. _G.SFD_CAN_RELOAD = false
  383.  
  384. if not game:IsLoaded() then game.Loaded:Wait() end
  385.  
  386.  
  387. -- ════════════════════════════════════════
  388. -- (Compatibilité getgenv)
  389. -- ════════════════════════════════════════
  390.  
  391. pcall(function()
  392. if game:GetService("CoreGui"):FindFirstChild("incognito") then
  393. local oldstring = loadstring
  394. getfenv().loadstring = function(code)
  395. local source = code
  396. source = source:gsub("(%a+)%s*([%+%-%*/])=%s*", "%1 = %1 %2 ")
  397. return oldstring(source)
  398. end
  399. end
  400.  
  401. if not getgenv then
  402. getfenv().getgenv = function(layer)
  403. return getfenv(layer)
  404. end
  405. end
  406. end)
  407.  
  408. getgenv().NextServer = nil
  409. getgenv().HasScannedAll = false
  410.  
  411. -- ════════════════════════════════════════
  412. -- (Service/Info)
  413. -- ════════════════════════════════════════
  414.  
  415. Services = setmetatable({}, {
  416. __index = function(self, name)
  417. local success, service = pcall(function()
  418. return game:GetService(name)
  419. end)
  420.  
  421. if success then
  422. rawset(self, name, service)
  423. return service
  424. end
  425.  
  426. error("Invalid Service: " .. tostring(name))
  427. end
  428. })
  429.  
  430. HttpService = (Services.HttpService)
  431. TeleportService = (Services.TeleportService)
  432. Players = (Services.Players)
  433. LocalPlayer = (Players.LocalPlayer)
  434. CoreGui = (Services.CoreGui)
  435. GuiService = (Services.GuiService)
  436. PlayerGui = (LocalPlayer:WaitForChild("PlayerGui"))
  437. RobloxGui = (CoreGui:WaitForChild("RobloxGui"))
  438. UserInputService = (Services.UserInputService)
  439. RunService = (Services.RunService)
  440. LocalizationService = (Services.LocalizationService)
  441. TweenService = (Services.TweenService)
  442. VRService = (Services.VRService)
  443. CaptureService = (Services.CaptureService)
  444. SoundService = (Services.SoundService)
  445. Stats = (Services.Stats)
  446. MarketplaceService = (Services.MarketplaceService)
  447. clipBoard = (setclipboard) or (toclipboard) or (set_clipboard) or (Clipboard and Clipboard.set)
  448. setthreadidentity = (setthreadidentity) or (syn and syn.set_thread_identity) or (syn_context_set) or (setthreadcontext)
  449.  
  450. local function v8(v6)
  451. local v7 = false
  452. pcall(function()
  453. if not setclipboard then
  454. if syn and syn.set_clipboard then
  455. syn.set_clipboard(v6)
  456. v7 = true
  457. end
  458. else
  459. setclipboard(v6)
  460. v7 = true
  461. end
  462. end)
  463. return v7
  464. end
  465.  
  466. local function HttpGet(url)
  467. local ok, status, body = pcall(function()
  468. if request then
  469. local res = request({Url = url, Method = "GET"})
  470. return res.StatusCode, res.Body
  471. elseif http_request then
  472. local res = http_request({Url = url, Method = "GET"})
  473. return res.StatusCode, res.Body
  474. elseif syn and syn.request then
  475. local res = syn.request({Url = url, Method = "GET"})
  476. return res.StatusCode, res.Body
  477. end
  478. return 200, game:HttpGet(url)
  479. end)
  480. if ok then
  481. return status, body
  482. end
  483. return nil, nil
  484. end
  485.  
  486. -- ═════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════
  487. -- (Service File / Détection combatibilité des appareilles disponible pour exercution du script / Caméra / Service Téléport)
  488. -- ═════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════
  489.  
  490. writefile = writefile or getgenv().writefile
  491. makefolder = makefolder or getgenv().makefolder
  492. readfile = readfile or getgenv().readfile
  493. delfolder = delfolder or getgenv().delfolder
  494. delfile = delfile or getgenv().delfile
  495. listfiles = listfiles or getgenv().listfiles
  496. isfolder = isfolder or getgenv().isfolder
  497. isfile = isfile or getgenv().isfile
  498.  
  499.  
  500. local camera = workspace.CurrentCamera or workspace:FindFirstChildOfClass("Camera")
  501. if not camera then
  502. repeat task.wait() camera = workspace.CurrentCamera until camera
  503. end
  504.  
  505. local SCREEN_SIZE = camera.ViewportSize
  506. local platform = UserInputService:GetPlatform()
  507.  
  508. 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
  509. return true
  510. end
  511.  
  512. if platform == Enum.Platform.None then
  513. return UserInputService.TouchEnabled and not (UserInputService.KeyboardEnabled or UserInputService.MouseEnabled)
  514. end
  515.  
  516. return false
  517. end)()
  518.  
  519. 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
  520. return true
  521. end
  522.  
  523. if platform == Enum.Platform.None then
  524. return UserInputService.KeyboardEnabled or UserInputService.MouseEnabled
  525. end
  526.  
  527. return false
  528. end)()
  529.  
  530. local VREnabled = game:GetService("VRService").VREnabled
  531.  
  532. local Syn = getfenv().syn
  533.  
  534. local fenv=getfenv()
  535. local HttpService_JSONEncode = game:GetService("HttpService"):JSONEncode({
  536. test = 1,
  537. })
  538. local HttpService_JSONDecode = game:GetService("HttpService"):JSONDecode("{\"test\":1}")
  539. local HttpService_GenerateGUID = game:GetService("HttpService"):GenerateGUID(false)
  540. local HttpService_UrlEncode = game:GetService("HttpService"):UrlEncode("test value")
  541. local New = Instance.new("Part", nil)
  542.  
  543. local queueteleport = (syn and syn.queue_on_teleport) or queue_on_teleport or (fluxus and fluxus.queue_on_teleport)
  544.  
  545. local httprequest = (syn and syn.request) or (http and http.request) or http_request or (fluxus and fluxus.request) or request
  546.  
  547. --------------------------------------------------------------------------------------------------------------------
  548.  
  549. -- ══════════════════════════════════════════════════════════
  550. -- (Détection HTTP Function / Détection GetGenv / Request)
  551. -- ══════════════════════════════════════════════════════════
  552.  
  553. local hasGetGenv = false
  554.  
  555. pcall(function()
  556. if typeof(getgenv) == "function" then
  557. hasGetGenv = true
  558. end
  559. end)
  560.  
  561. local HttpService
  562. local httpServiceSuccess = false
  563. local jsonDecodeSuccess = false
  564.  
  565. pcall(function()
  566. HttpService = game:GetService("HttpService")
  567. httpServiceSuccess = HttpService ~= nil
  568. end)
  569.  
  570. pcall(function()
  571. if HttpService and typeof(HttpService.JSONDecode) == "function" then
  572. local result = HttpService:JSONDecode('{"success":true}')
  573. jsonDecodeSuccess = result ~= nil and result.success == true
  574. end
  575. end)
  576.  
  577. local requestFunc
  578. local httpSuccess = false
  579.  
  580. pcall(function()
  581. if syn and typeof(syn.request) == "function" then
  582. requestFunc = syn.request
  583. elseif http and typeof(http.request) == "function" then
  584. requestFunc = http.request
  585. elseif typeof(http_request) == "function" then
  586. requestFunc = http_request
  587. elseif fluxus and typeof(fluxus.request) == "function" then
  588. requestFunc = fluxus.request
  589. elseif typeof(request) == "function" then
  590. requestFunc = request
  591. end
  592. end)
  593.  
  594. if requestFunc then
  595. httpSuccess = true
  596. end
  597.  
  598. local translations = {
  599. fr = {
  600. getgenv = "La fonction getgenv est introuvable ! ⚠️",
  601. http = "Aucune fonction HTTP supportée trouvée ! ⚠️",
  602. request = "Aucune fonction request supportée trouvée ! ⚠️",
  603. httpService = "Le service HttpService est introuvable ! ⚠️",
  604. jsonDecode = "La fonction JSONDecode est indisponible ! ⚠️"
  605. },
  606. en = {
  607. getgenv = "getgenv function not found! ⚠️",
  608. http = "No supported HTTP request function found! ⚠️",
  609. request = "No supported request function found! ⚠️",
  610. httpService = "HttpService service not found! ⚠️",
  611. jsonDecode = "JSONDecode function unavailable! ⚠️"
  612. },
  613. es = {
  614. getgenv = "¡Función getgenv no encontrada! ⚠️",
  615. http = "¡No se encontró ninguna función HTTP compatible! ⚠️",
  616. request = "¡No se encontró ninguna función request compatible! ⚠️",
  617. httpService = "¡No se encontró el servicio HttpService! ⚠️",
  618. jsonDecode = "¡La función JSONDecode no está disponible! ⚠️"
  619. },
  620. pt = {
  621. getgenv = "Função getgenv não encontrada! ⚠️",
  622. http = "Nenhuma função HTTP suportada encontrada! ⚠️",
  623. request = "Nenhuma função request suportada encontrada! ⚠️",
  624. httpService = "Serviço HttpService não encontrado! ⚠️",
  625. jsonDecode = "Função JSONDecode indisponível! ⚠️"
  626. },
  627. tr = {
  628. getgenv = "getgenv işlevi bulunamadı! ⚠️",
  629. http = "Desteklenen HTTP isteği işlevi bulunamadı! ⚠️",
  630. request = "Desteklenen request işlevi bulunamadı! ⚠️",
  631. httpService = "HttpService servisi bulunamadı! ⚠️",
  632. jsonDecode = "JSONDecode işlevi kullanılamıyor! ⚠️"
  633. },
  634. it = {
  635. getgenv = "Funzione getgenv non trovata! ⚠️",
  636. http = "Nessuna funzione HTTP supportata trovata! ⚠️",
  637. request = "Nessuna funzione request supportata trovata! ⚠️",
  638. httpService = "Servizio HttpService non trovato! ⚠️",
  639. jsonDecode = "Funzione JSONDecode non disponibile! ⚠️"
  640. },
  641. de = {
  642. getgenv = "getgenv-Funktion nicht gefunden! ⚠️",
  643. http = "Keine unterstützte HTTP-Anfragefunktion gefunden! ⚠️",
  644. request = "Keine unterstützte request-Funktion gefunden! ⚠️",
  645. httpService = "HttpService-Dienst nicht gefunden! ⚠️",
  646. jsonDecode = "JSONDecode-Funktion nicht verfügbar! ⚠️"
  647. },
  648. ar = {
  649. getgenv = "لم يتم العثور على دالة getgenv! ⚠️",
  650. http = "لم يتم العثور على أي دالة HTTP مدعومة! ⚠️",
  651. request = "لم يتم العثور على أي دالة request مدعومة! ⚠️",
  652. httpService = "لم يتم العثور على خدمة HttpService! ⚠️",
  653. jsonDecode = "دالة JSONDecode غير متاحة! ⚠️"
  654. },
  655. ja = {
  656. getgenv = "getgenv 関数が見つかりません!⚠️",
  657. http = "サポートされているHTTPリクエスト機能が見つかりません!⚠️",
  658. request = "サポートされているrequest関数が見つかりません!⚠️",
  659. httpService = "HttpService が見つかりません!⚠️",
  660. jsonDecode = "JSONDecode 関数が利用できません!⚠️"
  661. },
  662. ru = {
  663. getgenv = "Функция getgenv не найдена! ⚠️",
  664. http = "Поддерживаемая функция HTTP-запроса не найдена! ⚠️",
  665. request = "Поддерживаемая функция request не найдена! ⚠️",
  666. httpService = "Служба HttpService не найдена! ⚠️",
  667. jsonDecode = "Функция JSONDecode недоступна! ⚠️"
  668. },
  669. zh = {
  670. getgenv = "未找到 getgenv 函数!⚠️",
  671. http = "未找到受支持的HTTP请求函数!⚠️",
  672. request = "未找到受支持的request函数!⚠️",
  673. httpService = "未找到 HttpService 服务!⚠️",
  674. jsonDecode = "JSONDecode 函数不可用!⚠️"
  675. }
  676. }
  677.  
  678. local function getTranslatedMessage(key)
  679. local langCode = (LocalizationService.RobloxLocaleId or "en"):sub(1, 2)
  680. local language = translations[langCode] or translations.en
  681.  
  682. return language[key] or translations.en[key] or key
  683. end
  684.  
  685. local NotificationLib = {
  686. _notifications = {},
  687. _theme = {
  688. primaryColor = Color3.fromRGB(30, 30, 30),
  689. textColor = Color3.fromRGB(255, 255, 255),
  690. font = Enum.Font.GothamSemibold,
  691. cornerRadius = UDim.new(0, 8)
  692. },
  693. _settings = {
  694. duration = 4,
  695. spacing = 12,
  696. fadeTime = 0.28,
  697. slideDistance = 18
  698. },
  699. _icons = {
  700. info = "rbxassetid://9405926389"
  701. }
  702. }
  703.  
  704. function NotificationLib:_init()
  705. if not self._container then
  706. self._container = Instance.new("ScreenGui")
  707. self._container.Name = "NotificationLibrary"
  708. self._container.ResetOnSpawn = false
  709. self._container.ZIndexBehavior = Enum.ZIndexBehavior.Sibling
  710. self._container.Parent = game:GetService("CoreGui")
  711. end
  712. end
  713.  
  714. function NotificationLib:_calculatePosition(i)
  715. return UDim2.new(
  716. 1,
  717. -24,
  718. 1,
  719. -24 - (i - 1) * (90 + self._settings.spacing)
  720. )
  721. end
  722.  
  723. function NotificationLib:_animateOut(frame)
  724. local tween = TweenService:Create(
  725. frame,
  726. TweenInfo.new(self._settings.fadeTime, Enum.EasingStyle.Quad),
  727. {
  728. Position = frame.Position + UDim2.new(0, 0, 0, self._settings.slideDistance),
  729. BackgroundTransparency = 1
  730. }
  731. )
  732.  
  733. tween:Play()
  734.  
  735. tween.Completed:Connect(function()
  736. if frame.Parent then
  737. frame:Destroy()
  738. end
  739. end)
  740. end
  741.  
  742. function NotificationLib:Notify(opt)
  743. self:_init()
  744. opt = opt or {}
  745.  
  746. local frame = Instance.new("Frame")
  747. frame.Size = UDim2.new(0, 340, 0, 90)
  748. frame.AnchorPoint = Vector2.new(1, 1)
  749. frame.Position = self:_calculatePosition(#self._notifications + 1)
  750. frame.BackgroundColor3 = self._theme.primaryColor
  751. frame.Parent = self._container
  752.  
  753. Instance.new("UICorner", frame).CornerRadius = self._theme.cornerRadius
  754.  
  755. local title = Instance.new("TextLabel", frame)
  756. title.Text = opt.Title or "Notification"
  757. title.Font = self._theme.font
  758. title.TextColor3 = self._theme.textColor
  759. title.TextSize = 16
  760. title.TextXAlignment = Enum.TextXAlignment.Left
  761. title.BackgroundTransparency = 1
  762. title.Size = UDim2.new(1, -60, 0, 22)
  763. title.Position = UDim2.new(0, 48, 0, 10)
  764.  
  765. local msg = Instance.new("TextLabel", frame)
  766. msg.Text = opt.Message or ""
  767. msg.Font = Enum.Font.Gotham
  768. msg.TextColor3 = self._theme.textColor
  769. msg.TextSize = 14
  770. msg.TextWrapped = true
  771. msg.TextXAlignment = Enum.TextXAlignment.Left
  772. msg.BackgroundTransparency = 1
  773. msg.Size = UDim2.new(1, -60, 0, 48)
  774. msg.Position = UDim2.new(0, 48, 0, 30)
  775.  
  776. table.insert(self._notifications, frame)
  777.  
  778. task.delay(opt.Duration or self._settings.duration, function()
  779. if frame.Parent then
  780. self:_animateOut(frame)
  781. end
  782. end)
  783. end
  784.  
  785. if not hasGetGenv then
  786. warn("[EXPLOIT WARNING] getgenv function not found")
  787.  
  788. NotificationLib:Notify({
  789. Title = "EXPLOIT WARNING",
  790. Message = getTranslatedMessage("getgenv"),
  791. Duration = 5
  792. })
  793. end
  794.  
  795. if not httpSuccess then
  796. warn("[HTTP WARNING] No supported HTTP request function found")
  797.  
  798. NotificationLib:Notify({
  799. Title = "HTTP WARNING",
  800. Message = getTranslatedMessage("http"),
  801. Duration = 5
  802. })
  803.  
  804. NotificationLib:Notify({
  805. Title = "REQUEST WARNING",
  806. Message = getTranslatedMessage("request"),
  807. Duration = 5
  808. })
  809. end
  810.  
  811. if not httpServiceSuccess then
  812. warn("[HTTPSERVICE WARNING] HttpService not found")
  813.  
  814. NotificationLib:Notify({
  815. Title = "HTTPSERVICE WARNING",
  816. Message = getTranslatedMessage("httpService"),
  817. Duration = 5
  818. })
  819. end
  820.  
  821. if not jsonDecodeSuccess then
  822. warn("[JSONDECODE WARNING] JSONDecode unavailable")
  823.  
  824. NotificationLib:Notify({
  825. Title = "JSONDECODE WARNING",
  826. Message = getTranslatedMessage("jsonDecode"),
  827. Duration = 5
  828. })
  829. end
  830.  
  831. _G.MISSING_GETGENV = not hasGetGenv
  832. _G.MISSING_HTTP = not httpSuccess
  833. _G.MISSING_REQUEST = not httpSuccess
  834. _G.MISSING_HTTPSERVICE = not httpServiceSuccess
  835. _G.MISSING_JSONDECODE = not jsonDecodeSuccess
  836.  
  837. --------------------------------------------------------------------------------------------------------------------
  838.  
  839. -- ════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════
  840. -- (Protection Gui /Main Frame/Protection Logo / Détection Mouse and Touch /Resize Gui / headerFrame)
  841. -- ════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════
  842.  
  843. local screenGui = Instance.new("ScreenGui", game:GetService("CoreGui"))
  844.  
  845. -- Essayer de créer un parent vers un emplacement protégé
  846. pcall(function()
  847. if get_hidden_gui then
  848. screenGui.Parent = get_hidden_gui()
  849.  
  850. elseif gethui then
  851. screenGui.Parent = gethui()
  852.  
  853. elseif not is_sirhurt_closure and syn and syn.protect_gui then
  854. syn.protect_gui(screenGui)
  855. screenGui.Parent = game:GetService("CoreGui")
  856.  
  857. else
  858. screenGui.Parent = game:GetService("CoreGui")
  859. end
  860. end)
  861.  
  862. if not screenGui.Parent then
  863. screenGui.Parent = game.Players.LocalPlayer:WaitForChild("PlayerGui")
  864. end
  865.  
  866. local mainFrame = Instance.new("Frame", screenGui)
  867. mainFrame.Name = "SFD_ProtectGui" .. tostring(math.random(100, 999))
  868. mainFrame.Size = UDim2.new(0, 650, 0, 500)
  869. mainFrame.Position = UDim2.new(0.5, 0, 0.5, 0)
  870. mainFrame.AnchorPoint = Vector2.new(0.5, 0.5)
  871. mainFrame.BackgroundColor3 = Color3.fromRGB(30, 30, 30)
  872. mainFrame.BorderSizePixel = 0
  873. mainFrame.ZIndex = 5
  874.  
  875. local corner = Instance.new("UICorner")
  876. corner.Parent = mainFrame
  877.  
  878. local headerFrame = Instance.new("Frame", mainFrame)
  879. headerFrame.Size = UDim2.new(1, -20, 0, 80)
  880. headerFrame.Position = UDim2.new(0, 10, 0, 50)
  881. headerFrame.BackgroundColor3 = Color3.fromRGB(80, 80, 80)
  882. headerFrame.BorderSizePixel = 0
  883. headerFrame.ZIndex = 30
  884.  
  885. headerFrame.Visible = false
  886.  
  887. local currentServerTitle = Instance.new("TextLabel", headerFrame)
  888. currentServerTitle.Size = UDim2.new(1, -20, 0, 18)
  889. currentServerTitle.Position = UDim2.new(0, 10, 0, 4)
  890. currentServerTitle.BackgroundTransparency = 1
  891. currentServerTitle.TextColor3 = Color3.fromRGB(255, 255, 255)
  892. currentServerTitle.Font = Enum.Font.Ubuntu
  893. currentServerTitle.TextSize = 13
  894. currentServerTitle.TextXAlignment = Enum.TextXAlignment.Left
  895. currentServerTitle.Text = "Current Server"
  896. currentServerTitle.ZIndex = 30
  897.  
  898. local currentServerInfo = Instance.new("TextLabel", headerFrame)
  899. currentServerInfo.Size = UDim2.new(1, -20, 0, 55)
  900. currentServerInfo.Position = UDim2.new(0, 10, 0, 22)
  901. currentServerInfo.BackgroundTransparency = 1
  902. currentServerInfo.TextColor3 = Color3.fromRGB(255, 255, 255)
  903. currentServerInfo.Font = Enum.Font.Ubuntu
  904. currentServerInfo.TextSize = 13
  905. currentServerInfo.TextXAlignment = Enum.TextXAlignment.Left
  906. currentServerInfo.TextYAlignment = Enum.TextYAlignment.Top
  907. currentServerInfo.ZIndex = 30
  908. currentServerInfo.TextWrapped = true
  909.  
  910.  
  911. local function safeGetPing()
  912. local stats = game:GetService("Stats")
  913. local ok, value = pcall(function()
  914. local item = stats.Network.ServerStatsItem["Data Ping"]
  915. if item and item.GetValue then
  916. return item:GetValue()
  917. end
  918. return 0
  919. end)
  920. return ok and value or 0
  921. end
  922.  
  923.  
  924. local function safeGetFPS()
  925. local ok, value = pcall(function()
  926. if workspace.GetRealPhysicsFPS then
  927. return workspace:GetRealPhysicsFPS()
  928. end
  929. return 60
  930. end)
  931. return ok and value or 60
  932. end
  933.  
  934. local function updateCurrentServerHeader()
  935. pcall(function()
  936. local ping = safeGetPing()
  937. local fps = safeGetFPS()
  938. local players = #game.Players:GetPlayers()
  939. local maxPlayers = game.Players.MaxPlayers
  940. local gameId = game.PlaceId
  941. local serverId = game.JobId
  942.  
  943. currentServerInfo.Text =
  944. "Ping: " .. math.floor(ping) ..
  945. " FPS: " .. string.format("%.1f", fps) ..
  946. "\nPlayers: " .. players .. "/" .. maxPlayers ..
  947. "\nGame ID: " .. gameId ..
  948. "\nServer ID: " .. serverId
  949. end)
  950. end
  951.  
  952. task.spawn(function()
  953. while task.wait(0.5) do
  954. updateCurrentServerHeader()
  955. end
  956. end)
  957.  
  958.  
  959.  
  960. -- Détection des Screen
  961.  
  962. if isOnMobile or SCREEN_SIZE.X < 800 then
  963. mainFrame.Size = UDim2.new(0, 800, 0, 600)
  964. else
  965. mainFrame.Size = UDim2.new(0, 650, 0, 500)
  966. end
  967.  
  968. local dragging, dragInput, dragStart, startPos
  969. local function updateDrag(input)
  970. local delta = input.Position - dragStart
  971. local pos = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X,
  972. startPos.Y.Scale, startPos.Y.Offset + delta.Y)
  973. TweenService:Create(mainFrame, TweenInfo.new(0.15), {Position = pos}):Play()
  974. end
  975.  
  976. mainFrame.InputBegan:Connect(function(input)
  977. if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
  978. dragging = true
  979. dragStart = input.Position
  980. startPos = mainFrame.Position
  981. input.Changed:Connect(function()
  982. if input.UserInputState == Enum.UserInputState.End then dragging = false end
  983. end)
  984. end
  985. end)
  986.  
  987. mainFrame.InputChanged:Connect(function(input)
  988. if input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch then
  989. dragInput = input
  990. end
  991. end)
  992.  
  993. UserInputService.InputChanged:Connect(function(input)
  994. if dragging and input == dragInput then updateDrag(input) end
  995. end)
  996.  
  997.  
  998. --------------------------------------------------------------------------------------------------------------------
  999.  
  1000. -- ════════════════════════════════════════════════════
  1001. -- (Logo Server Finder Deluxe / plus Events April Day)
  1002. -- ════════════════════════════════════════════════════
  1003. local TweenService = game:GetService("TweenService")
  1004.  
  1005. local dir = "Server Finder Deluxe"
  1006. local file = dir.."/sfd_logo.png"
  1007. local link = "https://github.com/MaxproGlitcher/Server_Finder_Deluxe_Back_Up/blob/488db584b0491794ae10b06dfe2151004afc970d/Logo%20m%C3%A9tallique%20de%20Server%20Finder%20Deluxe.png"
  1008.  
  1009. if not isfolder(dir) then
  1010. makefolder(dir)
  1011. end
  1012.  
  1013. local logo = Instance.new("ImageLabel")
  1014. logo.Name = "_SFD_Logo_"
  1015.  
  1016. logo.Parent = mainFrame
  1017. logo.Size = UDim2.new(0.8, 0, 0.8, 0)
  1018. logo.AnchorPoint = Vector2.new(0.5, 0.5)
  1019. logo.Position = UDim2.new(0.5, 0, 0.5, 0)
  1020. logo.BackgroundTransparency = 1
  1021. logo.ImageTransparency = 0.88
  1022. logo.ScaleType = Enum.ScaleType.Fit
  1023. logo.ZIndex = 20
  1024.  
  1025.  
  1026. local TweenService = game:GetService("TweenService")
  1027.  
  1028. local function isAprilFools()
  1029. local d = os.date("*t")
  1030. return d.day == 1 and d.month == 4
  1031. end
  1032.  
  1033.  
  1034. local function spinLogo()
  1035. while logo and logo.Parent do
  1036. local tween = TweenService:Create(
  1037. logo,
  1038. TweenInfo.new(2, Enum.EasingStyle.Linear),
  1039. {Rotation = logo.Rotation + 360}
  1040. )
  1041. tween:Play()
  1042. tween.Completed:Wait()
  1043. end
  1044. end
  1045.  
  1046.  
  1047. local function isValidAsset(asset)
  1048. if not asset or asset == "" then
  1049. return false
  1050. end
  1051. return string.find(asset, "rbxasset") ~= nil
  1052. end
  1053.  
  1054.  
  1055. local function downloadLogo()
  1056. local ok, data = pcall(function()
  1057. return game:HttpGet(link)
  1058. end)
  1059.  
  1060. if ok and data then
  1061. if not isfolder(dir) then
  1062. makefolder(dir)
  1063. end
  1064. writefile(file, data)
  1065. end
  1066. end
  1067.  
  1068.  
  1069. local function getLogoAsset()
  1070. if not isfile(file) then
  1071. downloadLogo()
  1072. task.wait(0.3)
  1073. end
  1074.  
  1075. local success, asset = pcall(function()
  1076. return getcustomasset(file)
  1077. end)
  1078.  
  1079. if not success or not isValidAsset(asset) then
  1080. warn("Logo invalide → re-download")
  1081.  
  1082. if isfolder(dir) then
  1083. delfolder(dir)
  1084. task.wait()
  1085. end
  1086. makefolder(dir)
  1087.  
  1088. downloadLogo()
  1089. task.wait(0.3)
  1090.  
  1091. local retry, newAsset = pcall(function()
  1092. return getcustomasset(file)
  1093. end)
  1094.  
  1095. if retry and isValidAsset(newAsset) then
  1096. return newAsset
  1097. end
  1098.  
  1099. return nil
  1100. end
  1101.  
  1102. return asset
  1103. end
  1104.  
  1105.  
  1106. local function loadLogo()
  1107. local myAsset = getLogoAsset()
  1108. if not myAsset then return end
  1109.  
  1110. logo.Image = myAsset
  1111. logo.Visible = true
  1112.  
  1113.  
  1114. if isAprilFools() then
  1115. task.spawn(spinLogo)
  1116. end
  1117.  
  1118.  
  1119. task.spawn(function()
  1120. while task.wait(0.5) do
  1121. if not mainFrame or not mainFrame.Parent then break end
  1122.  
  1123. if not logo.Image or logo.Image == "" then
  1124. local newAsset = getLogoAsset()
  1125. if newAsset then
  1126. logo.Image = newAsset
  1127. end
  1128. end
  1129.  
  1130. logo.Visible = true
  1131. logo.ZIndex = 20
  1132.  
  1133. if not isAprilFools() then
  1134. logo.ImageTransparency = 0.88
  1135. logo.Position = UDim2.new(0.5, 0, 0.5, 0)
  1136. logo.Rotation = 0
  1137. end
  1138. end
  1139. end)
  1140. end
  1141.  
  1142. task.defer(loadLogo)
  1143.  
  1144. --------------------------------------------------------------------------------------------------------------------
  1145.  
  1146. -- ═════════════════════════════════════════
  1147. -- (Message de bienvenu / plus décoration)
  1148. -- ═════════════════════════════════════════
  1149.  
  1150. local function GetEasterDate(year)
  1151. local A = math.floor(year/100)
  1152. local B = math.floor((13+8*A)/25)
  1153. local C = (15-B+A-math.floor(A/4))%30
  1154. local D = (4+A-math.floor(A/4))%7
  1155. local E = (19*(year%19)+C)%30
  1156. local F = (2*(year%4)+4*(year%7)+6*E+D)%7
  1157. local G = 22 + E + F
  1158.  
  1159. if E == 29 and F == 6 then
  1160. return 4, 19
  1161. elseif E == 28 and F == 6 then
  1162. return 4, 18
  1163. elseif G > 31 then
  1164. return 4, G-31
  1165. else
  1166. return 3, G
  1167. end
  1168. end
  1169.  
  1170. local isXmas, isNewYear, isEaster, isHalloween, isValentine = false, false, false, false, false
  1171.  
  1172. local success, err = pcall(function()
  1173. local date = os.date("*t")
  1174. local emonth, eday = GetEasterDate(date.year)
  1175. isXmas = date.month == 12 and date.day >= 15 and date.day <= 29
  1176. isHalloween = (date.month == 10 and date.day >= 22) or (date.month == 11 and date.day <= 1)
  1177. isNewYear = (date.month == 12 and date.day >= 30) or (date.month == 1 and date.day <= 2)
  1178. isValentine = (date.month == 2 and date.day == 14)
  1179. isEaster = (date.month == emonth and date.day == eday)
  1180. end)
  1181.  
  1182. if not success then
  1183. warn("Date system error for the welcome message:", err)
  1184. end
  1185.  
  1186. local holidayTexts = {
  1187. Christmas = {
  1188. ["fr"] = "🎄 Joyeux Noël !",
  1189. ["en"] = "🎄 Merry Christmas!",
  1190. ["es"] = "🎄 ¡Feliz Navidad!",
  1191. ["pt"] = "🎄 Feliz Natal!",
  1192. ["tr"] = "🎄 Mutlu Noeller!",
  1193. ["it"] = "🎄 Buon Natale!",
  1194. ["de"] = "🎄 Frohe Weihnachten!",
  1195. ["ar"] = "🎄 عيد ميلاد سعيد!",
  1196. ["ja"] = "🎄 メリークリスマス!",
  1197. ["ru"] = "🎄 С Рождеством!",
  1198. ["zh"] = "🎄 圣诞快乐!"
  1199. },
  1200. NewYear = {
  1201. ["fr"] = "🎉 Bonne année !",
  1202. ["en"] = "🎉 Happy New Year!",
  1203. ["es"] = "🎉 ¡Feliz Año Nuevo!",
  1204. ["pt"] = "🎉 Feliz Ano Novo!",
  1205. ["tr"] = "🎉 Mutlu Yıllar!",
  1206. ["it"] = "🎉 Buon Anno!",
  1207. ["de"] = "🎉 Frohes Neues Jahr!",
  1208. ["ar"] = "🎉 سنة جديدة سعيدة!",
  1209. ["ja"] = "🎉 明けましておめでとう!",
  1210. ["ru"] = "🎉 С Новым годом!",
  1211. ["zh"] = "🎉 新年快乐!"
  1212. },
  1213. Easter = {
  1214. ["fr"] = "🐰 Joyeuses Pâques !",
  1215. ["en"] = "🐰 Happy Easter!",
  1216. ["es"] = "🐰 ¡Feliz Pascua!",
  1217. ["pt"] = "🐰 Feliz Páscoa!",
  1218. ["tr"] = "🐰 Mutlu Paskalyalar!",
  1219. ["it"] = "🐰 Buona Pasqua!",
  1220. ["de"] = "🐰 Frohe Ostern!",
  1221. ["ar"] = "🐰 عيد فصح سعيد!",
  1222. ["ja"] = "🐰 ハッピーイースター!",
  1223. ["ru"] = "🐰 С Пасхой!",
  1224. ["zh"] = "🐰 复活节快乐!"
  1225. },
  1226. Halloween = {
  1227. ["fr"] = "🎃 Joyeux Halloween !",
  1228. ["en"] = "🎃 Happy Halloween!",
  1229. ["es"] = "🎃 ¡Feliz Halloween!",
  1230. ["pt"] = "🎃 Feliz Dia das Bruxas!",
  1231. ["tr"] = "🎃 Mutlu Cadılar Bayramı!",
  1232. ["it"] = "🎃 Buon Halloween!",
  1233. ["de"] = "🎃 Frohes Halloween!",
  1234. ["ar"] = "🎃 عيد هالوين سعيد!",
  1235. ["ja"] = "🎃 ハッピーハロウィン!",
  1236. ["ru"] = "🎃 С Хэллоуином!",
  1237. ["zh"] = "🎃 万圣节快乐!"
  1238. },
  1239. Valentine = {
  1240. ["fr"] = "💖 Bonne Saint-Valentin !",
  1241. ["en"] = "💖 Happy Valentine's Day!",
  1242. ["es"] = "💖 ¡Feliz Día de San Valentín!",
  1243. ["pt"] = "💖 Feliz Dia dos Namorados!",
  1244. ["tr"] = "💖 Sevgililer Gününüz Kutlu Olsun!",
  1245. ["it"] = "💖 Buon San Valentino!",
  1246. ["de"] = "💖 Alles Gute zum Valentinstag!",
  1247. ["ar"] = "💖 عيد حب سعيد!",
  1248. ["ja"] = "💖 ハッピーバレンタイン!",
  1249. ["ru"] = "💖 С Днем Святого Валентина!",
  1250. ["zh"] = "💖 情人节快乐!"
  1251. },
  1252. Welcome = {
  1253. ["fr"] = "👋 Bienvenue sur Server Finder Deluxe !",
  1254. ["en"] = "👋 Welcome to Server Finder Deluxe!",
  1255. ["es"] = "👋 ¡Bienvenido a Server Finder Deluxe!",
  1256. ["pt"] = "👋 Bem-vindo ao Server Finder Deluxe!",
  1257. ["tr"] = "👋 Server Finder Deluxe'a Hoş Geldiniz!",
  1258. ["it"] = "👋 Benvenuto su Server Finder Deluxe!",
  1259. ["de"] = "👋 Willkommen bei Server Finder Deluxe!",
  1260. ["ar"] = "👋 مرحبًا بك في Server Finder Deluxe!",
  1261. ["ja"] = "👋 Server Finder Deluxeへようこそ!",
  1262. ["ru"] = "👋 Добро пожаловать в Server Finder Deluxe!",
  1263. ["zh"] = "👋 欢迎使用 Server Finder Deluxe!"
  1264. }
  1265. }
  1266.  
  1267.  
  1268. local function getHolidayMessage(eventKey)
  1269. local langCode = (LocalizationService.RobloxLocaleId or "en"):sub(1,2)
  1270. local eventTable = holidayTexts[eventKey]
  1271. return eventTable and (eventTable[langCode] or eventTable["en"]) or "Happy holidays! 🎉"
  1272. end
  1273.  
  1274.  
  1275. local NotificationLib = {
  1276. _notifications = {},
  1277. _theme = {
  1278. primaryColor = Color3.fromRGB(30, 30, 30),
  1279. textColor = Color3.fromRGB(255, 255, 255),
  1280. font = Enum.Font.GothamSemibold,
  1281. cornerRadius = UDim.new(0, 8)
  1282. },
  1283. _settings = {
  1284. duration = 4,
  1285. spacing = 12,
  1286. fadeTime = 0.28,
  1287. slideDistance = 18
  1288. },
  1289. _icons = { info = "rbxassetid://9405926389" }
  1290. }
  1291.  
  1292. function NotificationLib:_init()
  1293. if not self._container then
  1294. self._container = Instance.new("ScreenGui")
  1295. self._container.Name = "NotificationLibrary"
  1296. self._container.ResetOnSpawn = false
  1297. self._container.ZIndexBehavior = Enum.ZIndexBehavior.Sibling
  1298. self._container.Parent = game:GetService("CoreGui")
  1299. end
  1300. end
  1301.  
  1302. function NotificationLib:_calculatePosition(index)
  1303. local spacing = self._settings.spacing
  1304. local height = 90
  1305. return UDim2.new(1, -24, 1, -24 - (index-1)*(height+spacing))
  1306. end
  1307.  
  1308. function NotificationLib:_animateOut(frame, callback)
  1309. local tween = TweenService:Create(frame, TweenInfo.new(self._settings.fadeTime, Enum.EasingStyle.Quad), {
  1310. Position = frame.Position + UDim2.new(0,0,0,self._settings.slideDistance),
  1311. BackgroundTransparency = 1
  1312. })
  1313. tween:Play()
  1314. tween.Completed:Connect(function()
  1315. if frame and frame.Parent then frame:Destroy() end
  1316. if callback then callback() end
  1317. end)
  1318. end
  1319.  
  1320. function NotificationLib:Notify(opt)
  1321. self:_init()
  1322. opt = opt or {}
  1323. local title = opt.Title or "Notification"
  1324. local message = opt.Message or ""
  1325. local duration = opt.Duration or self._settings.duration
  1326.  
  1327. local frame = Instance.new("Frame")
  1328. frame.BackgroundColor3 = self._theme.primaryColor
  1329. frame.Size = UDim2.new(0, 340, 0, 90)
  1330. frame.AnchorPoint = Vector2.new(1,1)
  1331. frame.Position = self:_calculatePosition(#self._notifications + 1)
  1332. frame.Parent = self._container
  1333. Instance.new("UICorner", frame).CornerRadius = self._theme.cornerRadius
  1334.  
  1335. local icon = Instance.new("ImageLabel", frame)
  1336. icon.Image = self._icons.info
  1337. icon.Size = UDim2.new(0,28,0,28)
  1338. icon.Position = UDim2.new(0,12,0,12)
  1339. icon.BackgroundTransparency = 1
  1340.  
  1341. local titleLabel = Instance.new("TextLabel", frame)
  1342. titleLabel.Font = self._theme.font
  1343. titleLabel.TextColor3 = self._theme.textColor
  1344. titleLabel.TextSize = 16
  1345. titleLabel.TextXAlignment = Enum.TextXAlignment.Left
  1346. titleLabel.Text = title
  1347. titleLabel.BackgroundTransparency = 1
  1348. titleLabel.Size = UDim2.new(1,-60,0,22)
  1349. titleLabel.Position = UDim2.new(0,48,0,10)
  1350.  
  1351. local msgLabel = Instance.new("TextLabel", frame)
  1352. msgLabel.Font = Enum.Font.Gotham
  1353. msgLabel.TextColor3 = self._theme.textColor
  1354. msgLabel.TextSize = 14
  1355. msgLabel.TextWrapped = true
  1356. msgLabel.TextXAlignment = Enum.TextXAlignment.Left
  1357. msgLabel.Text = message
  1358. msgLabel.BackgroundTransparency = 1
  1359. msgLabel.Size = UDim2.new(1,-60,0,48)
  1360. msgLabel.Position = UDim2.new(0,48,0,30)
  1361.  
  1362. table.insert(self._notifications, frame)
  1363.  
  1364. task.delay(duration, function()
  1365. if frame and frame.Parent then
  1366. self:_animateOut(frame, function()
  1367. for i,v in ipairs(self._notifications) do
  1368. if v == frame then table.remove(self._notifications,i); break end
  1369. end
  1370. end)
  1371. end
  1372. end)
  1373. end
  1374.  
  1375.  
  1376. local eventName
  1377. local message
  1378.  
  1379. if isXmas then
  1380. eventName = "🎄 Christmas"
  1381. message = getHolidayMessage("Christmas")
  1382. elseif isNewYear then
  1383. eventName = "🎉 New Year"
  1384. message = getHolidayMessage("NewYear")
  1385. elseif isEaster then
  1386. eventName = "🐰 Easter"
  1387. message = getHolidayMessage("Easter")
  1388. elseif isHalloween then
  1389. eventName = "🎃 Halloween"
  1390. message = getHolidayMessage("Halloween")
  1391. elseif isValentine then
  1392. eventName = "💖 Valentine's Day"
  1393. message = getHolidayMessage("Valentine")
  1394. else
  1395. eventName = "👋 Welcome"
  1396. message = getHolidayMessage("Welcome")
  1397. end
  1398.  
  1399. task.wait(2)
  1400. NotificationLib:Notify({
  1401. Title = eventName,
  1402. Message = message,
  1403. Duration = 6
  1404. })
  1405.  
  1406. task.wait(6)
  1407.  
  1408. --------------------------------------------------------------------------------------------------------------------
  1409.  
  1410. -- ════════════════════════════════════════
  1411. -- (IdentifyExecutor)
  1412. -- ════════════════════════════════════════
  1413.  
  1414. local NotificationLib = {
  1415. _notifications = {},
  1416. _theme = {
  1417. primaryColor = Color3.fromRGB(30, 30, 30),
  1418. textColor = Color3.fromRGB(255, 255, 255),
  1419. font = Enum.Font.GothamSemibold,
  1420. cornerRadius = UDim.new(0, 8)
  1421. },
  1422. _settings = {
  1423. duration = 4,
  1424. spacing = 12,
  1425. fadeTime = 0.28,
  1426. slideDistance = 18
  1427. },
  1428. _icons = { info = "rbxassetid://9405926389" }
  1429. }
  1430.  
  1431. function NotificationLib:_init()
  1432. if not self._container then
  1433. self._container = Instance.new("ScreenGui")
  1434. self._container.Name = "NotificationLibrary"
  1435. self._container.ResetOnSpawn = false
  1436. self._container.ZIndexBehavior = Enum.ZIndexBehavior.Sibling
  1437. self._container.Parent = game:GetService("CoreGui")
  1438. end
  1439. end
  1440.  
  1441. function NotificationLib:_calculatePosition(index)
  1442. local spacing = self._settings.spacing
  1443. local height = 90
  1444. return UDim2.new(1, -24, 1, -24 - (index-1)*(height+spacing))
  1445. end
  1446.  
  1447. function NotificationLib:_animateOut(frame, callback)
  1448. local tween = TweenService:Create(frame, TweenInfo.new(self._settings.fadeTime, Enum.EasingStyle.Quad), {
  1449. Position = frame.Position + UDim2.new(0,0,0,self._settings.slideDistance),
  1450. BackgroundTransparency = 1
  1451. })
  1452. tween:Play()
  1453. tween.Completed:Connect(function()
  1454. if frame and frame.Parent then frame:Destroy() end
  1455. if callback then callback() end
  1456. end)
  1457. end
  1458.  
  1459. function NotificationLib:Notify(opt)
  1460. self:_init()
  1461. opt = opt or {}
  1462. local title = opt.Title or "Notification"
  1463. local message = opt.Message or ""
  1464. local duration = opt.Duration or self._settings.duration
  1465.  
  1466. local frame = Instance.new("Frame")
  1467. frame.BackgroundColor3 = self._theme.primaryColor
  1468. frame.Size = UDim2.new(0, 340, 0, 90)
  1469. frame.AnchorPoint = Vector2.new(1,1)
  1470. frame.Position = self:_calculatePosition(#self._notifications + 1)
  1471. frame.Parent = self._container
  1472. Instance.new("UICorner", frame).CornerRadius = self._theme.cornerRadius
  1473.  
  1474. local icon = Instance.new("ImageLabel", frame)
  1475. icon.Image = self._icons.info
  1476. icon.Size = UDim2.new(0,28,0,28)
  1477. icon.Position = UDim2.new(0,12,0,12)
  1478. icon.BackgroundTransparency = 1
  1479.  
  1480. local titleLabel = Instance.new("TextLabel", frame)
  1481. titleLabel.Font = self._theme.font
  1482. titleLabel.TextColor3 = self._theme.textColor
  1483. titleLabel.TextSize = 16
  1484. titleLabel.TextXAlignment = Enum.TextXAlignment.Left
  1485. titleLabel.Text = title
  1486. titleLabel.BackgroundTransparency = 1
  1487. titleLabel.Size = UDim2.new(1,-60,0,22)
  1488. titleLabel.Position = UDim2.new(0,48,0,10)
  1489.  
  1490. local msgLabel = Instance.new("TextLabel", frame)
  1491. msgLabel.Font = Enum.Font.Gotham
  1492. msgLabel.TextColor3 = self._theme.textColor
  1493. msgLabel.TextSize = 14
  1494. msgLabel.TextWrapped = true
  1495. msgLabel.TextXAlignment = Enum.TextXAlignment.Left
  1496. msgLabel.Text = message
  1497. msgLabel.BackgroundTransparency = 1
  1498. msgLabel.Size = UDim2.new(1,-60,0,48)
  1499. msgLabel.Position = UDim2.new(0,48,0,30)
  1500.  
  1501. table.insert(self._notifications, frame)
  1502.  
  1503. task.delay(duration, function()
  1504. if frame and frame.Parent then
  1505. self:_animateOut(frame, function()
  1506. for i,v in ipairs(self._notifications) do
  1507. if v == frame then table.remove(self._notifications,i); break end
  1508. end
  1509. end)
  1510. end
  1511. end)
  1512. end
  1513.  
  1514. task.spawn(function()
  1515. local success, result = pcall(function()
  1516. return identifyexecutor()
  1517. end)
  1518.  
  1519. local exploitName = "Unknown"
  1520.  
  1521. if success and result and result ~= "" then
  1522. exploitName = tostring(result)
  1523. end
  1524.  
  1525. NotificationLib:Notify({
  1526. Title = "Exploit Detected",
  1527. Message = "Exploit detected: " .. exploitName,
  1528. Duration = 6
  1529. })
  1530. end)
  1531.  
  1532. --------------------------------------------------------------------------------------------------------------------
  1533.  
  1534. -- ════════════════════════════════════════
  1535. -- (Tracker Game)
  1536. -- ════════════════════════════════════════
  1537.  
  1538. local langText = {
  1539. ["fr"] = "Tracker Game 📡 : ",
  1540. ["en"] = "Tracker Game 📡: ",
  1541. ["es"] = "Juego rastreado 📡: ",
  1542. ["pt"] = "Jogo rastreado 📡: ",
  1543. ["tr"] = "İzlenen oyun 📡: ",
  1544. ["it"] = "Gioco tracciato 📡: ",
  1545. ["de"] = "Verfolgtes Spiel 📡: ",
  1546. ["ar"] = "اللعبة المتتبعة 📡: ",
  1547. ["ja"] = "トラッカーゲーム📡:",
  1548. ["ru"] = "Отслеживаемая игра 📡: ",
  1549. ["zh"] = "追踪游戏 📡:"
  1550. }
  1551.  
  1552. local function getLang()
  1553. local code = LocalizationService.RobloxLocaleId
  1554. if type(code) ~= "string" then
  1555. return "en"
  1556. end
  1557. return string.lower(code):sub(1,2)
  1558. end
  1559.  
  1560. local function getTranslatedPrefix()
  1561. local lang = getLang()
  1562. return langText[lang] or langText["en"]
  1563. end
  1564.  
  1565. local NotificationLib = {
  1566. _notifications = {},
  1567. _theme = {
  1568. primaryColor = Color3.fromRGB(30, 30, 30),
  1569. textColor = Color3.fromRGB(255, 255, 255),
  1570. font = Enum.Font.GothamSemibold,
  1571. cornerRadius = UDim.new(0, 8)
  1572. },
  1573. _settings = {
  1574. duration = 4,
  1575. spacing = 12,
  1576. fadeTime = 0.28,
  1577. slideDistance = 18
  1578. },
  1579. _icons = { info = "rbxassetid://9405926389" }
  1580. }
  1581.  
  1582. function NotificationLib:_init()
  1583. if not self._container then
  1584. self._container = Instance.new("ScreenGui")
  1585. self._container.Name = "NotificationLibrary"
  1586. self._container.ResetOnSpawn = false
  1587. self._container.ZIndexBehavior = Enum.ZIndexBehavior.Sibling
  1588. self._container.Parent = game:GetService("CoreGui")
  1589. end
  1590. end
  1591.  
  1592. function NotificationLib:_calculatePosition(index)
  1593. local spacing = self._settings.spacing
  1594. local height = 90
  1595. return UDim2.new(1, -24, 1, -24 - (index-1)*(height+spacing))
  1596. end
  1597.  
  1598. function NotificationLib:_animateOut(frame, callback)
  1599. local tween = TweenService:Create(frame, TweenInfo.new(self._settings.fadeTime, Enum.EasingStyle.Quad), {
  1600. Position = frame.Position + UDim2.new(0,0,0,self._settings.slideDistance),
  1601. BackgroundTransparency = 1
  1602. })
  1603. tween:Play()
  1604. tween.Completed:Connect(function()
  1605. if frame and frame.Parent then frame:Destroy() end
  1606. if callback then callback() end
  1607. end)
  1608. end
  1609.  
  1610. function NotificationLib:Notify(opt)
  1611. self:_init()
  1612. opt = opt or {}
  1613. local title = opt.Title or "Notification"
  1614. local message = opt.Message or ""
  1615. local duration = opt.Duration or self._settings.duration
  1616.  
  1617. local frame = Instance.new("Frame")
  1618. frame.BackgroundColor3 = self._theme.primaryColor
  1619. frame.Size = UDim2.new(0, 340, 0, 90)
  1620. frame.AnchorPoint = Vector2.new(1,1)
  1621. frame.Position = self:_calculatePosition(#self._notifications + 1)
  1622. frame.Parent = self._container
  1623. Instance.new("UICorner", frame).CornerRadius = self._theme.cornerRadius
  1624.  
  1625. local icon = Instance.new("ImageLabel", frame)
  1626. icon.Image = self._icons.info
  1627. icon.Size = UDim2.new(0,28,0,28)
  1628. icon.Position = UDim2.new(0,12,0,12)
  1629. icon.BackgroundTransparency = 1
  1630.  
  1631. local titleLabel = Instance.new("TextLabel", frame)
  1632. titleLabel.Font = self._theme.font
  1633. titleLabel.TextColor3 = self._theme.textColor
  1634. titleLabel.TextSize = 16
  1635. titleLabel.TextXAlignment = Enum.TextXAlignment.Left
  1636. titleLabel.Text = title
  1637. titleLabel.BackgroundTransparency = 1
  1638. titleLabel.Size = UDim2.new(1,-60,0,22)
  1639. titleLabel.Position = UDim2.new(0,48,0,10)
  1640.  
  1641. local msgLabel = Instance.new("TextLabel", frame)
  1642. msgLabel.Font = Enum.Font.Gotham
  1643. msgLabel.TextColor3 = self._theme.textColor
  1644. msgLabel.TextSize = 14
  1645. msgLabel.TextWrapped = true
  1646. msgLabel.TextXAlignment = Enum.TextXAlignment.Left
  1647. msgLabel.Text = message
  1648. msgLabel.BackgroundTransparency = 1
  1649. msgLabel.Size = UDim2.new(1,-60,0,48)
  1650. msgLabel.Position = UDim2.new(0,48,0,30)
  1651.  
  1652. table.insert(self._notifications, frame)
  1653.  
  1654. task.delay(duration, function()
  1655. if frame and frame.Parent then
  1656. self:_animateOut(frame, function()
  1657. for i,v in ipairs(self._notifications) do
  1658. if v == frame then table.remove(self._notifications,i); break end
  1659. end
  1660. end)
  1661. end
  1662. end)
  1663. end
  1664.  
  1665. local MarketplaceService = game:GetService("MarketplaceService")
  1666.  
  1667. local function getGameName()
  1668. local success, result = pcall(function()
  1669. return MarketplaceService:GetProductInfo(game.PlaceId)
  1670. end)
  1671.  
  1672. if success and result and result.Name then
  1673. return result.Name
  1674. end
  1675.  
  1676. return "Unknown Game"
  1677. end
  1678.  
  1679. task.defer(function()
  1680. local success, err = pcall(function()
  1681. local prefix = getTranslatedPrefix()
  1682. local gameName = getGameName()
  1683.  
  1684. NotificationLib:Notify({
  1685. Title = "System",
  1686. Message = prefix .. gameName,
  1687. Duration = 5
  1688. })
  1689. end)
  1690.  
  1691. if not success then
  1692. warn("Tracker error:", err)
  1693. end
  1694. end)
  1695. --------------------------------------------------------------------------------------------------------------------
  1696.  
  1697. -- ════════════════════════════════════════════════════════════════════════════════
  1698. -- (protection lors du screen shot le Gui deviendras invisible lors du screen shot)
  1699. -- ════════════════════════════════════════════════════════════════════════════════
  1700.  
  1701. pcall(function()
  1702. local CaptureService = game:GetService("CaptureService")
  1703.  
  1704. CaptureService.CaptureBegan:Connect(function()
  1705. screenGui.Enabled = false
  1706. end)
  1707.  
  1708. CaptureService.CaptureEnded:Connect(function()
  1709. task.delay(0.5, function()
  1710. screenGui.Enabled = true
  1711. end)
  1712. end)
  1713. end)
  1714.  
  1715. --------------------------------------------------------------------------------------------------------------------
  1716.  
  1717. -- ════════════════════════════════════════
  1718. -- (Titre du Gui et la Version)
  1719. -- ════════════════════════════════════════
  1720.  
  1721. title = Instance.new("TextLabel", mainFrame)
  1722. title.Size = UDim2.new(1, 0, 0, 40)
  1723. title.Position = UDim2.new(0, 5, 0, 0)
  1724. title.BackgroundTransparency = 1
  1725. title.Text = "Server Finder Deluxe"
  1726. title.Font = Enum.Font.Ubuntu
  1727. title.TextSize = 30
  1728. title.TextColor3 = Color3.fromRGB(255, 255, 255)
  1729. title.ZIndex = 12
  1730.  
  1731.  
  1732. versionLabel = Instance.new("TextLabel", mainFrame)
  1733. versionLabel.Size = UDim2.new(0, 150, 0, 25)
  1734. versionLabel.Position = UDim2.new(0, 10, 0, 8)
  1735. versionLabel.BackgroundTransparency = 1
  1736. versionLabel.Text = "v8.2"
  1737. versionLabel.Font = Enum.Font.Ubuntu
  1738. versionLabel.TextSize = 16
  1739. versionLabel.TextColor3 = Color3.fromRGB(200, 200, 200)
  1740. versionLabel.TextXAlignment = Enum.TextXAlignment.Left
  1741. versionLabel.ZIndex = 16
  1742.  
  1743. --------------------------------------------------------------------------------------------------------------------
  1744.  
  1745. -- ════════════════════════════════════════
  1746. -- (Button bestLatencyBtn)
  1747. -- ════════════════════════════════════════
  1748.  
  1749. bestLatencyBtn = Instance.new("TextButton")
  1750. bestLatencyBtn.Parent = mainFrame
  1751. bestLatencyBtn.AnchorPoint = Vector2.new(0.5,0.5)
  1752. bestLatencyBtn.Size = UDim2.new(0,100,0,30)
  1753. bestLatencyBtn.Position = UDim2.new(1, -69, 0, 110)
  1754.  
  1755. bestLatencyBtn.BackgroundColor3 = Color3.fromRGB(60,60,60)
  1756. bestLatencyBtn.BorderSizePixel = 0
  1757. bestLatencyBtn.Text = "Best Latency"
  1758. bestLatencyBtn.Font = Enum.Font.Ubuntu
  1759. bestLatencyBtn.TextSize = 14
  1760. bestLatencyBtn.TextColor3 = Color3.fromRGB(255,255,255)
  1761. bestLatencyBtn.ZIndex = 35
  1762.  
  1763. bestCorner = Instance.new("UICorner")
  1764. bestCorner.Parent = bestLatencyBtn
  1765.  
  1766. local clickSound = Instance.new("Sound", bestLatencyBtn)
  1767. clickSound.SoundId = "rbxassetid://9120093264"
  1768. clickSound.Volume = 1
  1769. clickSound.PlayOnRemove = false
  1770.  
  1771. bestLatencyBtn.MouseButton1Click:Connect(function()
  1772. local soundOk, soundErr = pcall(function()
  1773. clickSound:Play()
  1774. end)
  1775.  
  1776. local ok, err = pcall(function()
  1777. refreshServers("BestLatency")
  1778. end)
  1779.  
  1780. if not ok then
  1781. warn("Error while searching for Best Latency:", err)
  1782. end
  1783. end)
  1784.  
  1785. --------------------------------------------------------------------------------------------------------------------
  1786.  
  1787. -- ════════════════════════════════════════
  1788. -- (Scroll Frame)
  1789. -- ════════════════════════════════════════
  1790.  
  1791. local scrollFrame = Instance.new("ScrollingFrame", mainFrame)
  1792. scrollFrame.Position = UDim2.new(0, 10, 0, 140)
  1793. scrollFrame.Size = UDim2.new(1, -20, 1, -150)
  1794. scrollFrame.CanvasSize = UDim2.new(0, 0, 0, 0)
  1795. scrollFrame.AutomaticCanvasSize = Enum.AutomaticSize.Y
  1796. scrollFrame.ScrollBarThickness = 6
  1797. scrollFrame.BackgroundTransparency = 1
  1798. scrollFrame.ClipsDescendants = true
  1799. scrollFrame.ZIndex = 11
  1800.  
  1801. local layout = Instance.new("UIListLayout", scrollFrame)
  1802. layout.SortOrder = Enum.SortOrder.LayoutOrder
  1803. layout.Padding = UDim.new(0, 10)
  1804. layout.HorizontalAlignment = Enum.HorizontalAlignment.Center
  1805.  
  1806.  
  1807. local isScrolling = false
  1808.  
  1809. scrollFrame.InputBegan:Connect(function(input)
  1810. if input.UserInputType == Enum.UserInputType.MouseWheel or input.UserInputType == Enum.UserInputType.Touch then
  1811. isScrolling = true
  1812. mainFrame.Active = false
  1813. end
  1814. end)
  1815.  
  1816. scrollFrame.InputEnded:Connect(function(input)
  1817. if input.UserInputType == Enum.UserInputType.MouseWheel or input.UserInputType == Enum.UserInputType.Touch then
  1818. task.delay(0.1, function()
  1819. isScrolling = false
  1820. mainFrame.Active = true
  1821. end)
  1822. end
  1823. end)
  1824.  
  1825. headerFrame.Visible = true
  1826.  
  1827.  
  1828. --------------------------------------------------------------------------------------------------------------------
  1829.  
  1830. -- ═══════════════════════════════════════════════
  1831. -- (Le code qui scann tout les servers publics)
  1832. -- ═══════════════════════════════════════════════
  1833.  
  1834. -- ═══════════════════════════════════════════════
  1835. -- (Récupération des nombres de joueurs (API v1))
  1836. -- ═══════════════════════════════════════════════
  1837.  
  1838. local function GetTotalPlayers(placeId)
  1839. local total = "N/A"
  1840. xpcall(function()
  1841.  
  1842. local placeUrl = "https://apis.roblox.com/universes/v1/places/" .. tostring(placeId) .. "/universe"
  1843. local placeRes = game:GetService("HttpService"):JSONDecode(game:HttpGet(placeUrl))
  1844. local universeId = placeRes and placeRes.universeId
  1845.  
  1846. if universeId then
  1847.  
  1848. local universeUrl = "https://games.roblox.com/v1/games?universeIds=" .. tostring(universeId)
  1849. local universeRes = game:GetService("HttpService"):JSONDecode(game:HttpGet(universeUrl))
  1850. if universeRes and universeRes.data and universeRes.data[1] then
  1851. total = tostring(universeRes.data[1].playing or "N/A")
  1852. end
  1853. end
  1854. end, function(err)
  1855. warn("Erreur GetTotalPlayers :", err)
  1856. end)
  1857. return total
  1858. end
  1859.  
  1860. print(GetTotalPlayers(game.PlaceId))
  1861.  
  1862.  
  1863. local posChange = 8
  1864. local serverFrames = {}
  1865. local cachedTotalPlayers = "Loading..."
  1866.  
  1867.  
  1868. -- ════════════════════════════════════════════════════
  1869. -- (Récupération des Serveurs (API v1) / BestLacency)
  1870. -- ════════════════════════════════════════════════════
  1871.  
  1872. local function GetAllServers(PlaceID, orderBy)
  1873. getgenv().NextServer = nil
  1874. getgenv().HasScannedAll = false
  1875. local T = {}
  1876.  
  1877. xpcall(function()
  1878. if orderBy == "BestLatency" then
  1879.  
  1880. local baseUrl = 'https://games.roblox.com/v1/games/' .. PlaceID .. '/servers/Public?orderBy=BestLatency&limit=100'
  1881. local Site = HttpService:JSONDecode(game:HttpGet(baseUrl))
  1882.  
  1883. if Site.nextPageCursor and Site.nextPageCursor ~= "null" then
  1884. getgenv().NextServer = HttpService:JSONDecode(game:HttpGet(baseUrl .. '&cursor=' .. Site.nextPageCursor))
  1885. table.insert(T, (getgenv().NextServer).data)
  1886. while not getgenv().HasScannedAll do
  1887. task.wait()
  1888. if (getgenv().NextServer).nextPageCursor and (getgenv().NextServer).nextPageCursor ~= "null" then
  1889. getgenv().NextServer = HttpService:JSONDecode(game:HttpGet(baseUrl .. '&cursor=' .. (getgenv().NextServer).nextPageCursor))
  1890. table.insert(T, (getgenv().NextServer).data)
  1891. else
  1892. getgenv().HasScannedAll = true
  1893. end
  1894. end
  1895. else
  1896. table.insert(T, Site.data)
  1897. end
  1898. else
  1899.  
  1900. local Site = HttpService:JSONDecode(game:HttpGet('https://games.roblox.com/v1/games/' .. PlaceID .. '/servers/Public?sortOrder=Desc&limit=100'))
  1901. if Site.nextPageCursor and Site.nextPageCursor ~= "null" then
  1902. getgenv().NextServer = HttpService:JSONDecode(game:HttpGet('https://games.roblox.com/v1/games/' .. PlaceID .. '/servers/Public?sortOrder=Desc&limit=100&cursor=' .. Site.nextPageCursor))
  1903. table.insert(T, (getgenv().NextServer).data)
  1904. while not getgenv().HasScannedAll do
  1905. task.wait()
  1906. if (getgenv().NextServer).nextPageCursor and (getgenv().NextServer).nextPageCursor ~= "null" then
  1907. getgenv().NextServer = HttpService:JSONDecode(game:HttpGet('https://games.roblox.com/v1/games/' .. PlaceID .. '/servers/Public?sortOrder=Desc&limit=100&cursor=' .. (getgenv().NextServer).nextPageCursor))
  1908. table.insert(T, (getgenv().NextServer).data)
  1909. else
  1910. getgenv().HasScannedAll = true
  1911. end
  1912. end
  1913. else
  1914. table.insert(T, Site.data)
  1915. end
  1916. end
  1917. end, function(err)
  1918. warn("Erreur GetAllServers :", err)
  1919. end)
  1920.  
  1921. return T
  1922. end
  1923. --------------------------------------------------------------------------------------------------------------------
  1924.  
  1925. -- ═════════════════════════════════════════════════════════════════
  1926. -- (Players/PING/FPS/ID/Server-Quality/Heure /Total Players)
  1927. -- ═════════════════════════════════════════════════════════════════
  1928.  
  1929.  
  1930. local function formatTime()
  1931. local success, result = pcall(function()
  1932. local dt = DateTime.now():ToLocalTime()
  1933. local hour = dt.Hour
  1934. local ampm = "AM"
  1935.  
  1936. if hour >= 12 then
  1937. ampm = "PM"
  1938. end
  1939.  
  1940. hour = hour % 12
  1941. if hour == 0 then
  1942. hour = 12
  1943. end
  1944.  
  1945. return string.format("%02d:%02d %s", hour, dt.Minute, ampm)
  1946. end)
  1947.  
  1948. if success then
  1949. return result
  1950. else
  1951. warn("formatTime failed: unable to get the local time.")
  1952. return "N/A"
  1953. end
  1954. end
  1955.  
  1956.  
  1957.  
  1958. local function CreateServerFrame(server)
  1959. local serverFrame = Instance.new("Frame", scrollFrame)
  1960. serverFrame.Size = UDim2.new(1, 0, 0, 120)
  1961. serverFrame.BackgroundColor3 = Color3.fromRGB(40, 40, 40)
  1962. serverFrame.BorderSizePixel = 0
  1963. serverFrame.ZIndex = 11
  1964.  
  1965. server.timeObtained = server.timeObtained or formatTime()
  1966.  
  1967.  
  1968. local infoLabel = Instance.new("TextLabel", serverFrame)
  1969. infoLabel.Size = UDim2.new(0, 300, 0, 60)
  1970. infoLabel.Position = UDim2.new(0, 10, 0, 10)
  1971. infoLabel.BackgroundTransparency = 1
  1972. infoLabel.TextWrapped = true
  1973. infoLabel.TextXAlignment = Enum.TextXAlignment.Left
  1974. infoLabel.TextYAlignment = Enum.TextYAlignment.Top
  1975. infoLabel.Font = Enum.Font.Ubuntu
  1976. infoLabel.TextSize = 16
  1977. infoLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
  1978. infoLabel.ZIndex = 12
  1979.  
  1980. local ping = server.ping or 0
  1981. local players = server.playing or 0
  1982. local maxPlayers = server.maxPlayers or 0
  1983. local rawFps = tonumber(server.fps) or 0
  1984. local fps = string.format("%.1f", rawFps)
  1985.  
  1986.  
  1987. local quality, qualityColor
  1988. pcall(function()
  1989. quality = "Good"
  1990. qualityColor = Color3.fromRGB(0, 255, 0)
  1991.  
  1992. if ping > 250 or players >= maxPlayers then
  1993. quality = "Bad"
  1994. qualityColor = Color3.fromRGB(255, 60, 60)
  1995. elseif ping > 150 then
  1996. quality = "Medium"
  1997. qualityColor = Color3.fromRGB(255, 170, 0)
  1998. end
  1999. end)
  2000.  
  2001.  
  2002. infoLabel.Text =
  2003. "Ping : " .. (ping > 0 and ping or "N/A") ..
  2004. "\nFPS : " .. fps ..
  2005. "\nPlayers : " .. players .. "/" .. maxPlayers ..
  2006. "\nServer Quality : " .. quality
  2007.  
  2008. infoLabel.TextColor3 = qualityColor
  2009.  
  2010. local totalPlayersLabel = Instance.new("TextLabel", serverFrame)
  2011. totalPlayersLabel.Size = UDim2.new(0, 300, 0, 20)
  2012. totalPlayersLabel.Position = UDim2.new(0, 10, 0, 58)
  2013. totalPlayersLabel.BackgroundTransparency = 1
  2014. totalPlayersLabel.TextWrapped = true
  2015. totalPlayersLabel.TextXAlignment = Enum.TextXAlignment.Left
  2016. totalPlayersLabel.Font = Enum.Font.Ubuntu
  2017. totalPlayersLabel.TextSize = 14
  2018. totalPlayersLabel.TextColor3 = Color3.fromRGB(200, 200, 200)
  2019. totalPlayersLabel.Text = "Total Servers Players : " .. tostring(cachedTotalPlayers)
  2020. totalPlayersLabel.ZIndex = 12
  2021.  
  2022.  
  2023. local placeIdLabel = Instance.new("TextLabel", serverFrame)
  2024. placeIdLabel.Size = UDim2.new(0, 300, 0, 20)
  2025. placeIdLabel.Position = UDim2.new(0, 10, 0, 76)
  2026. placeIdLabel.BackgroundTransparency = 1
  2027. placeIdLabel.TextWrapped = true
  2028. placeIdLabel.TextXAlignment = Enum.TextXAlignment.Left
  2029. placeIdLabel.TextYAlignment = Enum.TextYAlignment.Top
  2030. placeIdLabel.Font = Enum.Font.Ubuntu
  2031. placeIdLabel.TextSize = 14
  2032. placeIdLabel.TextColor3 = Color3.fromRGB(200, 200, 200)
  2033. placeIdLabel.Text = "Game ID : " .. tostring(game.PlaceId)
  2034. placeIdLabel.ZIndex = 12
  2035.  
  2036.  
  2037. local idLabel = Instance.new("TextLabel", serverFrame)
  2038. idLabel.Size = UDim2.new(0, 300, 0, 20)
  2039. idLabel.Position = UDim2.new(0, 10, 0, 94)
  2040. idLabel.BackgroundTransparency = 1
  2041. idLabel.TextWrapped = true
  2042. idLabel.TextXAlignment = Enum.TextXAlignment.Left
  2043. idLabel.TextYAlignment = Enum.TextYAlignment.Top
  2044. idLabel.Font = Enum.Font.Ubuntu
  2045. idLabel.TextSize = 14
  2046. idLabel.TextColor3 = Color3.fromRGB(200, 200, 200)
  2047. idLabel.Text = "ID : " .. server.id
  2048. idLabel.ZIndex = 12
  2049.  
  2050.  
  2051. local joinButton = Instance.new("TextButton", serverFrame)
  2052. joinButton.Size = UDim2.new(0, 100, 0, 40)
  2053. joinButton.Position = UDim2.new(1, -110, 0.5, -20)
  2054. joinButton.BackgroundColor3 = Color3.fromRGB(60, 60, 60)
  2055. joinButton.Text = "Join"
  2056. joinButton.TextColor3 = Color3.fromRGB(255, 255, 255)
  2057. joinButton.Font = Enum.Font.Ubuntu
  2058. joinButton.TextSize = 18
  2059. joinButton.ZIndex = 12
  2060.  
  2061. local clickSound = Instance.new("Sound", joinButton)
  2062. clickSound.SoundId = "rbxassetid://9120093264"
  2063. clickSound.Volume = 1
  2064. clickSound.PlayOnRemove = false
  2065.  
  2066. joinButton.MouseButton1Click:Connect(function()
  2067. local soundOk, soundErr = pcall(function()
  2068. clickSound:Play()
  2069. end)
  2070. if not soundOk then
  2071. warn("Failed to play click sound Join:", soundErr)
  2072. end
  2073.  
  2074. local ok, err = pcall(function()
  2075. TeleportService:TeleportToPlaceInstance(game.PlaceId, server.id, LocalPlayer)
  2076. end)
  2077. if not ok then
  2078. warn("An error occurred on the join button. Please try again.", err)
  2079. end
  2080. end)
  2081.  
  2082. server.timeObtained = server.timeObtained or formatTime()
  2083.  
  2084.  
  2085. local timeLabel = Instance.new("TextLabel", serverFrame)
  2086. timeLabel.Size = UDim2.new(0, 100, 0, 20)
  2087. timeLabel.Position = UDim2.new(1, -110, 0.5, -50)
  2088. timeLabel.BackgroundTransparency = 1
  2089. timeLabel.TextXAlignment = Enum.TextXAlignment.Center
  2090. timeLabel.Font = Enum.Font.Ubuntu
  2091. timeLabel.TextSize = 14
  2092. timeLabel.TextColor3 = Color3.fromRGB(180, 180, 180)
  2093. timeLabel.ZIndex = 12
  2094. timeLabel.Text = server.timeObtained
  2095.  
  2096.  
  2097. local copyJoinButton = Instance.new("TextButton", serverFrame)
  2098. copyJoinButton.Size = UDim2.new(0, 100, 0, 30)
  2099. copyJoinButton.Position = UDim2.new(1, -110, 0.5, 25)
  2100. copyJoinButton.BackgroundColor3 = Color3.fromRGB(80, 80, 80)
  2101. copyJoinButton.Text = "Copy Join"
  2102. copyJoinButton.TextColor3 = Color3.fromRGB(255, 255, 255)
  2103. copyJoinButton.Font = Enum.Font.Ubuntu
  2104. copyJoinButton.TextSize = 16
  2105. copyJoinButton.ZIndex = 12
  2106.  
  2107. local clickSoundCopy = Instance.new("Sound", copyJoinButton)
  2108. clickSoundCopy.SoundId = "rbxassetid://9120093264"
  2109. clickSoundCopy.Volume = 1
  2110. clickSoundCopy.PlayOnRemove = false
  2111.  
  2112. copyJoinButton.MouseButton1Click:Connect(function()
  2113. local soundOk, soundErr = pcall(function()
  2114. clickSoundCopy:Play()
  2115. end)
  2116. if not soundOk then
  2117. warn("Failed to play click sound CopyJoin:", soundErr)
  2118. end
  2119.  
  2120. local ok, err = pcall(function()
  2121. local joinCommand = 'Roblox.GameLauncher.joinGameInstance(' .. game.PlaceId .. ', "' .. server.id .. '")'
  2122. setclipboard(joinCommand)
  2123. end)
  2124. if not ok then
  2125. warn("An error occurred on the copy join button. Please try again.", err)
  2126. end
  2127. end)
  2128.  
  2129. table.insert(serverFrames, serverFrame)
  2130. end
  2131.  
  2132.  
  2133. --------------------------------------------------------------------------------------------------------------------
  2134.  
  2135. -- ════════════════════════════════════════
  2136. -- (Global/Servers/FPS/PING)
  2137. -- ════════════════════════════════════════
  2138.  
  2139. local allServers = {}
  2140. local fpsCheckInterval = 1
  2141. local minFPS = 21
  2142. local maxPing = 350 -- au-dessus de ça on passe en mode fluide
  2143. local smoothMode = false
  2144.  
  2145. -- FPS Calculateurs
  2146. local RunService = game:GetService("RunService")
  2147. local lastTime = tick()
  2148. local frames = 0
  2149.  
  2150. RunService.RenderStepped:Connect(function()
  2151. frames += 1
  2152. if tick() - lastTime >= fpsCheckInterval then
  2153. local fps = frames / (tick() - lastTime)
  2154. smoothMode = fps < minFPS -- si FPS trop bas, mode fluide
  2155. frames = 0
  2156. lastTime = tick()
  2157. end
  2158. end)
  2159.  
  2160. -- Vérifie si un serveur a un ping trop élevé
  2161. local function hasHighPing(servers)
  2162. if typeof(servers) ~= "table" then return false end
  2163. for _, server in ipairs(servers) do
  2164. if (server.ping or 0) > maxPing then
  2165. return true
  2166. end
  2167. end
  2168. return false
  2169. end
  2170.  
  2171. function updateServerList(servers)
  2172. local ok, err = pcall(function()
  2173. -- sécurité
  2174. if typeof(servers) ~= "table" then return end
  2175.  
  2176. for _, v in pairs(serverFrames) do
  2177. v:Destroy()
  2178. end
  2179. posChange = 8
  2180. table.clear(serverFrames)
  2181.  
  2182. -- si FPS bas OU pings trop élevés
  2183. if smoothMode or hasHighPing(servers) then
  2184. task.spawn(function()
  2185. for _, server in ipairs(servers) do
  2186. CreateServerFrame(server)
  2187. posChange += 154
  2188. task.wait(0.05)
  2189. end
  2190. end)
  2191. else
  2192. for _, server in ipairs(servers) do
  2193. CreateServerFrame(server)
  2194. posChange += 154
  2195. end
  2196. end
  2197. end)
  2198.  
  2199. if not ok then
  2200. warn("Error in updateServerList.", err)
  2201. end
  2202. end
  2203.  
  2204.  
  2205. function refreshServers(orderBy)
  2206.  
  2207. task.spawn(function()
  2208. local success, result = pcall(function()
  2209. return GetTotalPlayers(game.PlaceId)
  2210. end)
  2211.  
  2212. if success and result then
  2213. cachedTotalPlayers = result
  2214. else
  2215. cachedTotalPlayers = "N/A"
  2216. warn("Unable to retrieve the total number of players :", result)
  2217. end
  2218. end)
  2219.  
  2220. local ok, servers = pcall(GetAllServers, game.PlaceId, orderBy)
  2221.  
  2222. if typeof(servers) == "table" and #servers > 0 then
  2223. local allServersFlat = {}
  2224.  
  2225. local success, err = pcall(function()
  2226. for _, batch in ipairs(servers) do
  2227. for _, s in ipairs(batch) do
  2228. table.insert(allServersFlat, {
  2229. id = s.id,
  2230. playing = s.playing,
  2231. maxPlayers = s.maxPlayers,
  2232. ping = s.ping,
  2233. fps = s.fps,
  2234. timeObtained = formatTime()
  2235. })
  2236. end
  2237. end
  2238. end)
  2239.  
  2240. if not success then
  2241. warn("Flatten error:", err)
  2242. return
  2243. end
  2244.  
  2245. allServers = allServersFlat
  2246. updateServerList(allServers)
  2247. else
  2248. warn("No server found or API error.")
  2249. showErrorTween()
  2250. end
  2251. end
  2252.  
  2253.  
  2254.  
  2255. refreshServers()
  2256.  
  2257. UserInputService.InputBegan:Connect(function(input, gameProcessed)
  2258. if gameProcessed then return end
  2259. if input.KeyCode == Enum.KeyCode.RightControl then
  2260. screenGui:Destroy()
  2261. end
  2262. end)
  2263.  
  2264.  
  2265. --------------------------------------------------------------------------------------------------------------------
  2266.  
  2267. -- ════════════════════════════════════════
  2268. -- (Button/Refresh)
  2269. -- ════════════════════════════════════════
  2270.  
  2271. local langText = {
  2272. ["fr"] = "Erreur de chargement. Réessaie.",
  2273. ["en"] = "Error loading. Please try again.",
  2274. ["es"] = "Error al cargar. Inténtalo de nuevo.",
  2275. ["pt"] = "Erro ao carregar. Por favor, tente novamente.",
  2276. ["tr"] = "Yükleme hatası. Lütfen tekrar deneyin.",
  2277. ["it"] = "Errore nel caricamento. Riprova.",
  2278. ["de"] = "Fehler beim Laden. Bitte versuche es erneut.",
  2279. ["ar"] = "حدث خطأ أثناء التحميل. الرجاء المحاولة مرة أخرى.",
  2280. ["ja"] = "読み込みエラーが発生しました。もう一度お試しください。",
  2281. ["ru"] = "Ошибка загрузки. Пожалуйста, попробуйте еще раз.",
  2282. ["zh"] = "加载错误。请重试。"
  2283. }
  2284.  
  2285. local function getTranslatedMessage()
  2286. local langCode = (LocalizationService.RobloxLocaleId or "en"):sub(1,2)
  2287. return langText[langCode] or langText["en"]
  2288. end
  2289.  
  2290.  
  2291. local NotificationLib = {
  2292. _notifications = {},
  2293. _theme = {
  2294. primaryColor = Color3.fromRGB(30, 30, 30),
  2295. textColor = Color3.fromRGB(255, 255, 255),
  2296. font = Enum.Font.GothamSemibold,
  2297. cornerRadius = UDim.new(0, 8)
  2298. },
  2299. _settings = {
  2300. duration = 4,
  2301. spacing = 12,
  2302. fadeTime = 0.28,
  2303. slideDistance = 18
  2304. },
  2305. _icons = { info = "rbxassetid://9405926389" }
  2306. }
  2307.  
  2308. function NotificationLib:_init()
  2309. if not self._container then
  2310. self._container = Instance.new("ScreenGui")
  2311. self._container.Name = "NotificationLibrary"
  2312. self._container.ResetOnSpawn = false
  2313. self._container.ZIndexBehavior = Enum.ZIndexBehavior.Sibling
  2314. self._container.Parent = game:GetService("CoreGui")
  2315. end
  2316. end
  2317.  
  2318. function NotificationLib:_calculatePosition(index)
  2319. local spacing = self._settings.spacing
  2320. local height = 90
  2321. return UDim2.new(1, -24, 1, -24 - (index-1)*(height+spacing))
  2322. end
  2323.  
  2324. function NotificationLib:_animateOut(frame, callback)
  2325. local tween = TweenService:Create(frame, TweenInfo.new(self._settings.fadeTime, Enum.EasingStyle.Quad), {
  2326. Position = frame.Position + UDim2.new(0,0,0,self._settings.slideDistance),
  2327. BackgroundTransparency = 1
  2328. })
  2329. tween:Play()
  2330. tween.Completed:Connect(function()
  2331. if frame and frame.Parent then frame:Destroy() end
  2332. if callback then callback() end
  2333. end)
  2334. end
  2335.  
  2336. function NotificationLib:Notify(opt)
  2337. self:_init()
  2338. opt = opt or {}
  2339. local title = opt.Title or "Notification"
  2340. local message = opt.Message or ""
  2341. local duration = opt.Duration or self._settings.duration
  2342.  
  2343. local frame = Instance.new("Frame")
  2344. frame.BackgroundColor3 = self._theme.primaryColor
  2345. frame.Size = UDim2.new(0, 340, 0, 90)
  2346. frame.AnchorPoint = Vector2.new(1,1)
  2347. frame.Position = self:_calculatePosition(#self._notifications + 1)
  2348. frame.Parent = self._container
  2349. Instance.new("UICorner", frame).CornerRadius = self._theme.cornerRadius
  2350.  
  2351. local icon = Instance.new("ImageLabel", frame)
  2352. icon.Image = self._icons.info
  2353. icon.Size = UDim2.new(0,28,0,28)
  2354. icon.Position = UDim2.new(0,12,0,12)
  2355. icon.BackgroundTransparency = 1
  2356.  
  2357. local titleLabel = Instance.new("TextLabel", frame)
  2358. titleLabel.Font = self._theme.font
  2359. titleLabel.TextColor3 = self._theme.textColor
  2360. titleLabel.TextSize = 16
  2361. titleLabel.TextXAlignment = Enum.TextXAlignment.Left
  2362. titleLabel.Text = title
  2363. titleLabel.BackgroundTransparency = 1
  2364. titleLabel.Size = UDim2.new(1,-60,0,22)
  2365. titleLabel.Position = UDim2.new(0,48,0,10)
  2366.  
  2367. local msgLabel = Instance.new("TextLabel", frame)
  2368. msgLabel.Font = Enum.Font.Gotham
  2369. msgLabel.TextColor3 = self._theme.textColor
  2370. msgLabel.TextSize = 14
  2371. msgLabel.TextWrapped = true
  2372. msgLabel.TextXAlignment = Enum.TextXAlignment.Left
  2373. msgLabel.Text = message
  2374. msgLabel.BackgroundTransparency = 1
  2375. msgLabel.Size = UDim2.new(1,-60,0,48)
  2376. msgLabel.Position = UDim2.new(0,48,0,30)
  2377.  
  2378. table.insert(self._notifications, frame)
  2379.  
  2380. task.delay(duration, function()
  2381. if frame and frame.Parent then
  2382. self:_animateOut(frame, function()
  2383. for i,v in ipairs(self._notifications) do
  2384. if v == frame then table.remove(self._notifications,i); break end
  2385. end
  2386. end)
  2387. end
  2388. end)
  2389. end
  2390.  
  2391.  
  2392. local function CreateRefreshButton(mainFrame)
  2393. local refreshBtn = Instance.new("ImageButton")
  2394. refreshBtn.Parent = mainFrame
  2395. refreshBtn.AnchorPoint = Vector2.new(0.5,0.5)
  2396. refreshBtn.Size = UDim2.new(0,47,0,47)
  2397. refreshBtn.Position = UDim2.new(0.5,250,0.5,-220)
  2398. refreshBtn.Image = "http://www.roblox.com/asset/?id=126446661859683"
  2399. refreshBtn.BackgroundTransparency = 1
  2400. refreshBtn.ZIndex = 7
  2401.  
  2402. local clickSound = Instance.new("Sound", refreshBtn)
  2403. clickSound.SoundId = "rbxassetid://9120093264"
  2404. clickSound.Volume = 1
  2405. clickSound.PlayOnRemove = false
  2406.  
  2407. refreshBtn.MouseButton1Click:Connect(function()
  2408.  
  2409. local soundOk, soundErr = pcall(function()
  2410. clickSound:Play()
  2411. end)
  2412. if not soundOk then
  2413. warn("Failed to play click sound refresh:", soundErr)
  2414. end
  2415.  
  2416. local success, err = pcall(refreshServers)
  2417. if not success then
  2418. NotificationLib:Notify({
  2419. Title = "Error",
  2420. Message = getTranslatedMessage(),
  2421. Duration = 4
  2422. })
  2423. end
  2424. end)
  2425.  
  2426. return refreshBtn
  2427. end
  2428.  
  2429.  
  2430. local refreshBtn = CreateRefreshButton(mainFrame)
  2431.  
  2432. --------------------------------------------------------------------------------------------------------------------
  2433.  
  2434. -- ════════════════════════════════════════
  2435. -- (Button/LowPlayers/MaxPlayers)
  2436. -- ════════════════════════════════════════
  2437.  
  2438. local function sortServers(servers, currentSort)
  2439. if typeof(servers) ~= "table" then return {} end
  2440.  
  2441. if currentSort == "lowPlayers" then
  2442. table.sort(servers, function(a, b)
  2443. return (a.playing or 0) < (b.playing or 0)
  2444. end)
  2445. elseif currentSort == "maxPlayers" then
  2446. table.sort(servers, function(a, b)
  2447. return (a.playing or 0) > (b.playing or 0)
  2448. end)
  2449. elseif currentSort == "fastest" then
  2450. table.sort(servers, function(a, b)
  2451. return (a.ping or 9999) < (b.ping or 9999)
  2452. end)
  2453. elseif currentSort == "slowest" then
  2454. table.sort(servers, function(a, b)
  2455. return (a.ping or 0) > (b.ping or 0)
  2456. end)
  2457. end
  2458.  
  2459. return servers
  2460. end
  2461.  
  2462. lowPlayersBtn = Instance.new("TextButton")
  2463. lowPlayersBtn.Parent = mainFrame
  2464. lowPlayersBtn.AnchorPoint = Vector2.new(0.5, 0.5)
  2465. lowPlayersBtn.Size = UDim2.new(0, 65, 0, 30)
  2466. lowPlayersBtn.Position = UDim2.new(0.5, -165, 0.5, -224)
  2467. lowPlayersBtn.Text = "Ping ↓"
  2468. lowPlayersBtn.Font = Enum.Font.GothamBold
  2469. lowPlayersBtn.TextSize = 14
  2470. lowPlayersBtn.TextColor3 = Color3.fromRGB(255,255,255)
  2471. lowPlayersBtn.BackgroundColor3 = Color3.fromRGB(45,45,45)
  2472. lowPlayersBtn.BorderSizePixel = 1
  2473. lowPlayersBtn.BorderColor3 = Color3.fromRGB(0,0,0)
  2474. lowPlayersBtn.ZIndex = 12
  2475.  
  2476. lowCorner = Instance.new("UICorner")
  2477. lowCorner.Parent = lowPlayersBtn
  2478. lowCorner.CornerRadius = UDim.new(0,8)
  2479.  
  2480.  
  2481. maxPlayersBtn = Instance.new("TextButton")
  2482. maxPlayersBtn.Parent = mainFrame
  2483. maxPlayersBtn.AnchorPoint = Vector2.new(0.5, 0.5)
  2484. maxPlayersBtn.Size = UDim2.new(0, 65, 0, 30)
  2485. maxPlayersBtn.Position = UDim2.new(0.5, -235, 0.5, -224)
  2486. maxPlayersBtn.Text = "Ping ↑"
  2487. maxPlayersBtn.Font = Enum.Font.GothamBold
  2488. maxPlayersBtn.TextSize = 14
  2489. maxPlayersBtn.TextColor3 = Color3.fromRGB(255,255,255)
  2490. maxPlayersBtn.BackgroundColor3 = Color3.fromRGB(45,45,45)
  2491. maxPlayersBtn.BorderSizePixel = 1
  2492. maxPlayersBtn.BorderColor3 = Color3.fromRGB(0,0,0)
  2493. maxPlayersBtn.ZIndex = 12
  2494.  
  2495. maxCorner = Instance.new("UICorner")
  2496. maxCorner.Parent = maxPlayersBtn
  2497. maxCorner.CornerRadius = UDim.new(0,8)
  2498.  
  2499. local clickSoundLow = Instance.new("Sound", lowPlayersBtn)
  2500. clickSoundLow.SoundId = "rbxassetid://9120093264"
  2501. clickSoundLow.Volume = 1
  2502. clickSoundLow.PlayOnRemove = false
  2503.  
  2504. local clickSoundMax = Instance.new("Sound", maxPlayersBtn)
  2505. clickSoundMax.SoundId = "rbxassetid://9120093264"
  2506. clickSoundMax.Volume = 1
  2507. clickSoundMax.PlayOnRemove = false
  2508.  
  2509.  
  2510. lowPlayersBtn.MouseButton1Click:Connect(function()
  2511. local soundOk, soundErr = pcall(function()
  2512. clickSoundLow:Play()
  2513. end)
  2514. if not soundOk then
  2515. warn("Failed to play click sound lowPlayers:", soundErr)
  2516. end
  2517.  
  2518. local ok, err = pcall(function()
  2519. local sorted = sortServers(allServers, "lowPlayers")
  2520. updateServerList(sorted)
  2521. end)
  2522. if not ok then
  2523. warn("API error during lowPlayers. Please try again.", err)
  2524. end
  2525. end)
  2526.  
  2527. maxPlayersBtn.MouseButton1Click:Connect(function()
  2528. local soundOk, soundErr = pcall(function()
  2529. clickSoundMax:Play()
  2530. end)
  2531. if not soundOk then
  2532. warn("Failed to play click sound maxPlayers:", soundErr)
  2533. end
  2534.  
  2535. local ok, err = pcall(function()
  2536. local sorted = sortServers(allServers, "maxPlayers")
  2537. updateServerList(sorted)
  2538. end)
  2539. if not ok then
  2540. warn("API error during MaxPlayers. Please try again.", err)
  2541. end
  2542. end)
  2543.  
  2544. --------------------------------------------------------------------------------------------------------------------
  2545.  
  2546. -- ════════════════════════════════════════
  2547. -- (Button/Close)
  2548. -- ════════════════════════════════════════
  2549.  
  2550. local closeBtn = Instance.new("ImageButton", mainFrame)
  2551. closeBtn.AnchorPoint = Vector2.new(0.5, 0.5)
  2552. closeBtn.Size = UDim2.new(0, 40, 0, 40)
  2553. closeBtn.Position = UDim2.new(0.5, 298, 0.5, -220)
  2554. closeBtn.Image = "http://www.roblox.com/asset/?id=138896199949173"
  2555. closeBtn.BackgroundTransparency = 1
  2556. closeBtn.ZIndex = 6
  2557.  
  2558. local clickSoundClose = Instance.new("Sound")
  2559. clickSoundClose.SoundId = "rbxassetid://9120093264"
  2560. clickSoundClose.Volume = 1
  2561. clickSoundClose.Parent = game:GetService("Players").LocalPlayer:WaitForChild("PlayerGui")
  2562.  
  2563. closeBtn.MouseButton1Click:Connect(function()
  2564. local soundOk, soundErr = pcall(function()
  2565. clickSoundClose:Play()
  2566. end)
  2567. if not soundOk then
  2568. warn("Failed to play click sound closeBtn:", soundErr)
  2569. end
  2570.  
  2571.  
  2572. task.delay(0.1, function()
  2573. pcall(function()
  2574. _G.SFD_LOADED = false
  2575. _G.SFD_CAN_RELOAD = true
  2576. if screenGui then
  2577. screenGui:Destroy()
  2578. end
  2579. end)
  2580. end)
  2581. end)
  2582.  
  2583. --------------------------------------------------------------------------------------------------------------------
  2584.  
  2585. -- ════════════════════════════════════════
  2586. -- (Button/Rejoin)
  2587. -- ════════════════════════════════════════
  2588.  
  2589. local langText = {
  2590. ["fr"] = "Reconnexion au serveur...",
  2591. ["en"] = "Reconnecting to server...",
  2592. ["es"] = "Reconectando al servidor...",
  2593. ["de"] = "Wiederverbindung zum Server...",
  2594. ["it"] = "Riconnessione al server...",
  2595. ["pt"] = "Reconectando ao servidor...",
  2596. ["ru"] = "Переподключение к серверу...",
  2597. ["zh"] = "正在重新连接服务器...",
  2598. ["tr"] = "Sunucuya yeniden bağlanılıyor...",
  2599. ["ja"] = "サーバーに再接続中...",
  2600. ["ar"] = "إعادة الاتصال بالخادم...",
  2601. }
  2602.  
  2603. local function getTranslatedMessage()
  2604.  
  2605. local tries = 0
  2606. while (not LocalizationService.RobloxLocaleId or #LocalizationService.RobloxLocaleId < 2) and tries < 20 do
  2607. tries = tries + 1
  2608. task.wait(0.05)
  2609. end
  2610. local langCode = (LocalizationService.RobloxLocaleId or "en"):sub(1, 2)
  2611. return langText[langCode] or langText["en"]
  2612. end
  2613.  
  2614.  
  2615. local startTime = os.clock()
  2616.  
  2617.  
  2618. local NotificationLib = {
  2619. _notifications = {},
  2620. _theme = {
  2621. primaryColor = Color3.fromRGB(30, 30, 30),
  2622. textColor = Color3.fromRGB(255, 255, 255),
  2623. font = Enum.Font.GothamSemibold,
  2624. cornerRadius = UDim.new(0, 8)
  2625. },
  2626. _settings = {
  2627. duration = 4,
  2628. position = "BottomRight",
  2629. maxNotifications = 5,
  2630. spacing = 12,
  2631. fadeTime = 0.28,
  2632. slideDistance = 18
  2633. },
  2634. _icons = {
  2635. info = "rbxassetid://9405926389"
  2636. }
  2637. }
  2638.  
  2639. function NotificationLib:_init()
  2640. if not self._container then
  2641. self._container = Instance.new("ScreenGui")
  2642. self._container.Name = "NotificationLibrary"
  2643. self._container.ResetOnSpawn = false
  2644. self._container.ZIndexBehavior = Enum.ZIndexBehavior.Sibling
  2645. self._container.Parent = game:GetService("CoreGui")
  2646. end
  2647. end
  2648.  
  2649. function NotificationLib:_calculatePosition(index)
  2650. local spacing = self._settings.spacing
  2651. local height = 90
  2652. return UDim2.new(1, -24, 1, -24 - (index - 1) * (height + spacing))
  2653. end
  2654.  
  2655. function NotificationLib:_animateOut(frame, callback)
  2656. local tween = TweenService:Create(frame, TweenInfo.new(self._settings.fadeTime, Enum.EasingStyle.Quad), {
  2657. Position = frame.Position + UDim2.new(0, 0, 0, self._settings.slideDistance),
  2658. BackgroundTransparency = 1
  2659. })
  2660. tween:Play()
  2661. tween.Completed:Connect(function()
  2662. if frame and frame.Parent then frame:Destroy() end
  2663. if callback then callback() end
  2664. end)
  2665. end
  2666.  
  2667. function NotificationLib:Notify(opt)
  2668. self:_init()
  2669. opt = opt or {}
  2670. local title = opt.Title or "Notification"
  2671. local message = opt.Message or ""
  2672. local duration = opt.Duration or self._settings.duration
  2673.  
  2674. local frame = Instance.new("Frame")
  2675. frame.BackgroundColor3 = self._theme.primaryColor
  2676. frame.Size = UDim2.new(0, 340, 0, 90)
  2677. frame.AnchorPoint = Vector2.new(1, 1)
  2678. frame.Position = self:_calculatePosition(#self._notifications + 1)
  2679. frame.Parent = self._container
  2680. Instance.new("UICorner", frame).CornerRadius = self._theme.cornerRadius
  2681.  
  2682. local icon = Instance.new("ImageLabel", frame)
  2683. icon.Image = self._icons.info
  2684. icon.Size = UDim2.new(0, 28, 0, 28)
  2685. icon.Position = UDim2.new(0, 12, 0, 12)
  2686. icon.BackgroundTransparency = 1
  2687.  
  2688. local titleLabel = Instance.new("TextLabel", frame)
  2689. titleLabel.Font = self._theme.font
  2690. titleLabel.TextColor3 = self._theme.textColor
  2691. titleLabel.TextSize = 16
  2692. titleLabel.TextXAlignment = Enum.TextXAlignment.Left
  2693. titleLabel.Text = title
  2694. titleLabel.BackgroundTransparency = 1
  2695. titleLabel.Size = UDim2.new(1, -60, 0, 22)
  2696. titleLabel.Position = UDim2.new(0, 48, 0, 10)
  2697.  
  2698. local msgLabel = Instance.new("TextLabel", frame)
  2699. msgLabel.Font = Enum.Font.Gotham
  2700. msgLabel.TextColor3 = self._theme.textColor
  2701. msgLabel.TextSize = 14
  2702. msgLabel.TextWrapped = true
  2703. msgLabel.TextXAlignment = Enum.TextXAlignment.Left
  2704. msgLabel.Text = message
  2705. msgLabel.BackgroundTransparency = 1
  2706. msgLabel.Size = UDim2.new(1, -60, 0, 48)
  2707. msgLabel.Position = UDim2.new(0, 48, 0, 30)
  2708.  
  2709. table.insert(self._notifications, frame)
  2710.  
  2711. task.delay(duration, function()
  2712. if frame and frame.Parent then
  2713. self:_animateOut(frame, function()
  2714. for i, v in ipairs(self._notifications) do
  2715. if v == frame then table.remove(self._notifications, i); break end
  2716. end
  2717. end)
  2718. end
  2719. end)
  2720. end
  2721.  
  2722. task.wait(0.1)
  2723.  
  2724. local SCRIPT_SOURCE_SERVER_FINDER_DELUXE = [=[
  2725. loadstring(game:HttpGet("https://raw.githubusercontent.com/MaxproGlitcher/Server_Finder_Deluxe_Back_Up/refs/heads/main/.luau"))()
  2726. ]=]
  2727.  
  2728. local RejoinButton = Instance.new("ImageButton")
  2729. RejoinButton.Parent = mainFrame
  2730. RejoinButton.AnchorPoint = Vector2.new(0.5, 0.5)
  2731. RejoinButton.Size = UDim2.new(0, 40, 0, 40)
  2732. RejoinButton.Position = UDim2.new(0.5, 204, 0.5, -220)
  2733. RejoinButton.Image = "rbxassetid://103864549538113"
  2734. RejoinButton.BackgroundTransparency = 1
  2735. RejoinButton.ZIndex = 12
  2736.  
  2737.  
  2738. local clickSoundRejoin = Instance.new("Sound", RejoinButton)
  2739. clickSoundRejoin.SoundId = "rbxassetid://9120093264"
  2740. clickSoundRejoin.Volume = 1
  2741. clickSoundRejoin.PlayOnRemove = false
  2742.  
  2743. RejoinButton.MouseButton1Click:Connect(function()
  2744.  
  2745. local soundOk, soundErr = pcall(function()
  2746. clickSoundRejoin:Play()
  2747. end)
  2748. if not soundOk then
  2749. warn("Failed to play click sound RejoinButton:", soundErr)
  2750. end
  2751.  
  2752.  
  2753. local success, err = pcall(function()
  2754. NotificationLib:Notify({
  2755. Title = string.format("Time used: %.3f s", os.clock() - startTime),
  2756. Message = getTranslatedMessage(),
  2757. Type = "info",
  2758. Duration = 5
  2759. })
  2760.  
  2761. queue_on_teleport(SCRIPT_SOURCE_SERVER_FINDER_DELUXE)
  2762. task.wait(1)
  2763.  
  2764. TeleportService:Teleport(game.PlaceId, LocalPlayer)
  2765. end)
  2766.  
  2767. if not success then
  2768. warn("An error occurred on the button rejoint button servers. Please try again", err)
  2769. end
  2770. end)
  2771.  
  2772.  
  2773. --------------------------------------------------------------------------------------------------------------------
  2774.  
  2775. -- ════════════════════════════════════════
  2776. -- (Resize Button/Code)
  2777. -- ════════════════════════════════════════
  2778.  
  2779.  
  2780. local resizeButton = Instance.new("ImageButton", mainFrame)
  2781. resizeButton.AnchorPoint = Vector2.new(0.5, 0.5)
  2782. resizeButton.Size = UDim2.new(0, 40, 0, 40)
  2783. resizeButton.Position = UDim2.new(0.5, 157, 0.5, -220)
  2784. resizeButton.Image = "http://www.roblox.com/asset/?id=92176830367195"
  2785. resizeButton.BackgroundTransparency = 1
  2786. resizeButton.ZIndex = 12
  2787.  
  2788. local isSmall = true
  2789.  
  2790. local clickSoundResize = Instance.new("Sound", resizeButton)
  2791. clickSoundResize.SoundId = "rbxassetid://9120093264"
  2792. clickSoundResize.Volume = 1
  2793. clickSoundResize.PlayOnRemove = false
  2794.  
  2795. local function toggleGuiSize()
  2796.  
  2797. local soundOk, soundErr = pcall(function()
  2798. clickSoundResize:Play()
  2799. end)
  2800. if not soundOk then
  2801. warn("Failed to play click sound resizeButton:", soundErr)
  2802. end
  2803.  
  2804. if isSmall then
  2805.  
  2806. mainFrame.Size = UDim2.new(0, 650, 0, 500)
  2807. scrollFrame.Position = UDim2.new(0, 10, 0, 140)
  2808. scrollFrame.Size = UDim2.new(1, -20, 1, -150)
  2809.  
  2810. headerFrame.Size = UDim2.new(1, -20, 0, 80)
  2811. headerFrame.Position = UDim2.new(0, 10, 0, 50)
  2812.  
  2813. if refreshBtn then
  2814. refreshBtn.AnchorPoint = Vector2.new(0.5, 0.5)
  2815. refreshBtn.Size = UDim2.new(0, 47, 0, 47)
  2816. refreshBtn.Position = UDim2.new(0.5, 250, 0.5, -220)
  2817. end
  2818.  
  2819. if closeBtn then
  2820. closeBtn.AnchorPoint = Vector2.new(0.5, 0.5)
  2821. closeBtn.Size = UDim2.new(0, 40, 0, 40)
  2822. closeBtn.Position = UDim2.new(0.5, 298, 0.5, -220)
  2823. end
  2824.  
  2825. if resizeButton then
  2826. resizeButton.AnchorPoint = Vector2.new(0.5, 0.5)
  2827. resizeButton.Size = UDim2.new(0, 40, 0, 40)
  2828. resizeButton.Position = UDim2.new(0.5, 157, 0.5, -220)
  2829. end
  2830.  
  2831. if RejoinButton then
  2832. RejoinButton.AnchorPoint = Vector2.new(0.5, 0.5)
  2833. RejoinButton.Size = UDim2.new(0, 40, 0, 40)
  2834. RejoinButton.Position = UDim2.new(0.5, 204, 0.5, -220)
  2835. end
  2836.  
  2837. if lowPlayersBtn then
  2838. lowPlayersBtn.AnchorPoint = Vector2.new(0.5, 0.5)
  2839. lowPlayersBtn.Size = UDim2.new(0, 65, 0, 30)
  2840. lowPlayersBtn.Position = UDim2.new(0.5, -165, 0.5, -224)
  2841. end
  2842.  
  2843. if maxPlayersBtn then
  2844. maxPlayersBtn.AnchorPoint = Vector2.new(0.5, 0.5)
  2845. maxPlayersBtn.Size = UDim2.new(0, 65, 0, 30)
  2846. maxPlayersBtn.Position = UDim2.new(0.5, -235, 0.5, -224)
  2847. end
  2848.  
  2849. if bestLatencyBtn then
  2850. bestLatencyBtn.AnchorPoint = Vector2.new(0.5, 0.5)
  2851. bestLatencyBtn.Size = UDim2.new(0, 100, 0, 30)
  2852. bestLatencyBtn.Position = UDim2.new(1, -69, 0, 110)
  2853. end
  2854.  
  2855. else
  2856.  
  2857. mainFrame.Size = UDim2.new(0, 549, 0, 390)
  2858. scrollFrame.Position = UDim2.new(0, 5, 0, 130)
  2859. scrollFrame.Size = UDim2.new(1, -10, 1, -135)
  2860.  
  2861. headerFrame.Size = UDim2.new(1, -10, 0, 80)
  2862. headerFrame.Position = UDim2.new(0, 5, 0, 40)
  2863.  
  2864. if refreshBtn then
  2865. refreshBtn.Position = UDim2.new(0.5, 225, 0.5, -175)
  2866. refreshBtn.AnchorPoint = Vector2.new(0.5, 0.5)
  2867. refreshBtn.Size = UDim2.new(0, 30, 0, 30)
  2868. end
  2869.  
  2870. if closeBtn then
  2871. closeBtn.Position = UDim2.new(0.5, 255, 0.5, -175)
  2872. closeBtn.AnchorPoint = Vector2.new(0.5, 0.5)
  2873. closeBtn.Size = UDim2.new(0, 25, 0, 25)
  2874. end
  2875.  
  2876. if RejoinButton then
  2877. RejoinButton.AnchorPoint = Vector2.new(0.5, 0.5)
  2878. RejoinButton.Size = UDim2.new(0, 25, 0, 25)
  2879. RejoinButton.Position = UDim2.new(0.5, 195, 0.5, -175)
  2880. end
  2881.  
  2882. if maxPlayersBtn then
  2883. maxPlayersBtn.AnchorPoint = Vector2.new(0.5, 0.5)
  2884. maxPlayersBtn.Size = UDim2.new(0, 45, 0, 24)
  2885. maxPlayersBtn.Position = UDim2.new(0, 62, 0, 20)
  2886. end
  2887.  
  2888. if lowPlayersBtn then
  2889. lowPlayersBtn.AnchorPoint = Vector2.new(0.5, 0.5)
  2890. lowPlayersBtn.Size = UDim2.new(0, 45, 0, 24)
  2891. lowPlayersBtn.Position = UDim2.new(0, 112, 0, 20)
  2892. end
  2893.  
  2894. if bestLatencyBtn then
  2895. bestLatencyBtn.AnchorPoint = Vector2.new(1, 0)
  2896. bestLatencyBtn.Size = UDim2.new(0, 100, 0, 30)
  2897. bestLatencyBtn.Position = UDim2.new(1, -15, 0, 85)
  2898. end
  2899.  
  2900. if resizeButton then
  2901. resizeButton.AnchorPoint = Vector2.new(0.5, 0.5)
  2902. resizeButton.Size = UDim2.new(0, 25, 0, 25)
  2903. resizeButton.Position = UDim2.new(0.5, 167, 0.5, -175)
  2904. end
  2905. end
  2906.  
  2907. isSmall = not isSmall
  2908. end
  2909.  
  2910. resizeButton.MouseButton1Click:Connect(toggleGuiSize)
  2911.  
  2912. --------------------------------------------------------------------------------------------------------------------
  2913.  
  2914. -- ════════════════════════════════════════
  2915. -- (Notification pour me contacter au cas problème pour le Script Server Finder Deluxe)
  2916. -- (Impression de texte personnalisé pour la console roblox)
  2917. -- (Impression de Texte Traduits pour pluiseurs langues)
  2918. -- ════════════════════════════════════════
  2919.  
  2920. pcall(function()
  2921. local Modules = {
  2922. Colors = {
  2923. ["Grey"] = "254, 254, 254",
  2924. ["Cyan"] = "33, 161, 163"
  2925. }
  2926. }
  2927.  
  2928. Modules.ChangeColor = function()
  2929. game:GetService("RunService").Heartbeat:Connect(function()
  2930. local console = game:GetService("CoreGui"):FindFirstChild("DevConsoleMaster")
  2931. if console then
  2932. for _, v in pairs(console:GetDescendants()) do
  2933. if v:IsA("TextLabel") then
  2934. v.RichText = true
  2935. end
  2936. end
  2937. end
  2938. end)
  2939. end
  2940.  
  2941. Modules.print = function(color, text, size)
  2942. if not Modules.Colors[color] then
  2943. warn("Color was not found!")
  2944. return
  2945. end
  2946.  
  2947. local Text = '<font color="rgb(' .. Modules.Colors[color] .. ')"'
  2948. if size then
  2949. Text = Text .. ' size="' .. tostring(size) .. '"'
  2950. end
  2951. Text = Text .. '>' .. tostring(text) .. '</font>'
  2952. print(Text)
  2953. end
  2954.  
  2955. local version = "8.2"
  2956.  
  2957. local translations = {
  2958. ["fr"] = {
  2959. line = "-------------------------------------------------------------------------------------",
  2960. executed = "Script Server Finder Deluxe lancé !!!",
  2961. contact = "Si vous avez un problème avec le script, contactez maxproglitcher sur Discord.",
  2962. },
  2963. ["en"] = {
  2964. line = "-------------------------------------------------------------------------------------",
  2965. executed = "Script Server Finder Deluxe is executed !!!",
  2966. contact = "If you have a problem with the script, contact maxproglitcher on Discord.",
  2967. },
  2968. ["es"] = {
  2969. line = "-------------------------------------------------------------------------------------",
  2970. executed = "¡Script Server Finder Deluxe ejecutado!",
  2971. contact = "Si tienes un problema con el script, contacta a maxproglitcher en Discord.",
  2972. },
  2973. ["de"] = {
  2974. line = "-------------------------------------------------------------------------------------",
  2975. executed = "Script Server Finder Deluxe wurde ausgeführt!",
  2976. contact = "Bei Problemen mit dem Skript kontaktiere maxproglitcher auf Discord.",
  2977. },
  2978. ["it"] = {
  2979. line = "-------------------------------------------------------------------------------------",
  2980. executed = "Script Server Finder Deluxe eseguito!",
  2981. contact = "Se hai problemi con lo script, contatta maxproglitcher su Discord.",
  2982. },
  2983. ["pt"] = {
  2984. line = "-------------------------------------------------------------------------------------",
  2985. executed = "Script Server Finder Deluxe executado!",
  2986. contact = "Se você tiver problemas com o script, contate maxproglitcher no Discord.",
  2987. },
  2988. ["ru"] = {
  2989. line = "-------------------------------------------------------------------------------------",
  2990. executed = "Скрипт Server Finder Deluxe запущен!",
  2991. contact = "Если у вас есть проблемы со скриптом, свяжитесь с maxproglitcher в Discord.",
  2992. },
  2993. ["zh"] = {
  2994. line = "-------------------------------------------------------------------------------------",
  2995. executed = "脚本 Server Finder Deluxe 已执行!",
  2996. contact = "如果您遇到脚本问题,请在 Discord 上联系 maxproglitcher。",
  2997. },
  2998. ["tr"] = {
  2999. line = "-------------------------------------------------------------------------------------",
  3000. executed = "Script Server Finder Deluxe çalıştırıldı!",
  3001. contact = "Script ile ilgili bir sorun yaşarsanız, Discord üzerinden maxproglitcher ile iletişime geçin.",
  3002. },
  3003. ["ja"] = {
  3004. line = "-------------------------------------------------------------------------------------",
  3005. executed = "スクリプト Server Finder Deluxe を実行しました!",
  3006. contact = "スクリプトに問題がある場合は、Discord で maxproglitcher に連絡してください。",
  3007. },
  3008. ["ar"] = {
  3009. line = "-------------------------------------------------------------------------------------",
  3010. executed = "تم تنفيذ سكربت Server Finder Deluxe!",
  3011. contact = "إذا واجهت مشكلة في السكربت، تواصل مع maxproglitcher على ديسكورد.",
  3012. }
  3013. }
  3014.  
  3015.  
  3016. local langCode = game:GetService("LocalizationService").RobloxLocaleId:lower():match("^([a-z][a-z])") or "en"
  3017. local msg = translations[langCode] or translations["en"]
  3018.  
  3019. Modules.ChangeColor()
  3020. Modules.print("Grey", msg.line, 20)
  3021. Modules.print("Grey", msg.executed, 20)
  3022. Modules.print("Grey", "Version "..version, 20)
  3023. Modules.print("Grey", msg.line, 20)
  3024. Modules.print("Grey", msg.contact, 20)
  3025. Modules.print("Grey", msg.line, 20)
  3026. end)
  3027. --------------------------------------------------------------------------------------------------------------------
Advertisement
Add Comment
Please, Sign In to add comment