MaxproGlitcher

Untitled

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