-- ============================================ -- 🎵 Music Player UI - Mobile Friendly -- วาง LocalScript นี้ใน StarterPlayerScripts -- ============================================ local Players = game:GetService("Players") local ReplicatedStorage = game:GetService("ReplicatedStorage") local TweenService = game:GetService("TweenService") local UserInputService = game:GetService("UserInputService") local player = Players.LocalPlayer local playerGui = player:WaitForChild("PlayerGui") -- ============================================ -- ข้อมูลเพลงทั้งหมด (80+ เพลง) -- ============================================ local songs = { -- 🇹🇭 เพลงไทย { id = 4751676566, name = "ระเบิดเวลา อ๊าาา", artist = "Thai Meme", color = Color3.fromRGB(255, 100, 100) }, { id = 101665290190164, name = "ถ้าฉันรักแล้วเธออย่าเลว", artist = "Thai Dance", color = Color3.fromRGB(255, 120, 80) }, { id = 109317279967858, name = "Katha F16", artist = "Thai Remix", color = Color3.fromRGB(255, 140, 60) }, { id = 130108845095374, name = "มวยปีใบใบ้ x ท่าห้ามฟ้าห้ามดิน", artist = "Thai Meme Dance", color = Color3.fromRGB(255, 160, 40) }, { id = 135909717667883, name = "แดนซ์ของแทร่", artist = "Thai Dance", color = Color3.fromRGB(255, 180, 20) }, { id = 108185895658329, name = "แดนส์ เสียงไอโฟน", artist = "Thai Dance", color = Color3.fromRGB(255, 200, 0) }, { id = 77149919429733, name = "แดนซ์โยกจัด", artist = "Thai Dance", color = Color3.fromRGB(255, 220, 0) }, { id = 70508023711178, name = "Vannn2", artist = "Thai Remix", color = Color3.fromRGB(255, 240, 0) }, { id = 135779256287952, name = "อย่าตีกันเด้อ แดนซ์", artist = "Thai Meme", color = Color3.fromRGB(240, 255, 0) }, { id = 72084920447647, name = "Thailand Remix", artist = "Instrumental", color = Color3.fromRGB(220, 255, 0) }, -- 😂 Meme / กวนๆ { id = 133170570098799, name = "FREAKBOB", artist = "Meme Song", color = Color3.fromRGB(100, 200, 255) }, { id = 92535058455508, name = "Roblox MEME Song", artist = "Viral", color = Color3.fromRGB(80, 190, 255) }, { id = 6602974485, name = "Toyota Meme", artist = "Thai Meme", color = Color3.fromRGB(60, 180, 255) }, { id = 4533138868, name = "Funny Arabic Meme", artist = "Meme", color = Color3.fromRGB(40, 170, 255) }, { id = 6918154190, name = "GET THE SWEET AND SOUR SAUCE", artist = "Meme", color = Color3.fromRGB(20, 160, 255) }, { id = 5278041368, name = "Loud Minecraft Meme", artist = "Super Loud", color = Color3.fromRGB(0, 150, 255) }, { id = 1489144957, name = "Life Alert Meme", artist = "Classic", color = Color3.fromRGB(0, 140, 240) }, { id = 4659217874, name = "Cry Man Meme", artist = "Super Loud", color = Color3.fromRGB(0, 130, 230) }, { id = 7402893056, name = "SCP 106 Meme", artist = "Horror Meme", color = Color3.fromRGB(0, 120, 220) }, { id = 7177492068, name = "Family Guy Sheesh", artist = "Meme", color = Color3.fromRGB(0, 110, 210) }, { id = 6276690390, name = "64 Bits Meme", artist = "Meme", color = Color3.fromRGB(0, 100, 200) }, { id = 7961724318, name = "OPTIMUM PRIDE", artist = "Meme", color = Color3.fromRGB(0, 90, 190) }, { id = 5314598627, name = "Speed Runner Meme", artist = "LOUD", color = Color3.fromRGB(0, 80, 180) }, { id = 8768983841, name = "Look, Pim..", artist = "Smiling Friends", color = Color3.fromRGB(0, 70, 170) }, { id = 4822735098, name = "BEESECHURGER", artist = "Meme", color = Color3.fromRGB(0, 60, 160) }, { id = 3831017454, name = "TF2 Meme", artist = "Team Fortress", color = Color3.fromRGB(0, 50, 150) }, { id = 2397390621, name = "PEWDIEPIE MEME REVIEW", artist = "Meme", color = Color3.fromRGB(0, 40, 140) }, { id = 5882675461, name = "Yoshi Meme", artist = "Meme", color = Color3.fromRGB(0, 30, 130) }, { id = 18315746510, name = "Moye Moye", artist = "Meme", color = Color3.fromRGB(0, 20, 120) }, { id = 18315940082, name = "Old Town Road OOFED", artist = "OOF Remix", color = Color3.fromRGB(0, 10, 110) }, { id = 7363412529, name = "You've Been Rick Rolled", artist = "Classic Troll", color = Color3.fromRGB(10, 0, 100) }, { id = 515669032, name = "Spooky Scary Skeletons", artist = "Meme", color = Color3.fromRGB(20, 0, 90) }, { id = 169360242, name = "Banana Song", artist = "I'm A Banana", color = Color3.fromRGB(30, 0, 80) }, { id = 3048623108, name = "Michael Jackson Hee Hee", artist = "Meme", color = Color3.fromRGB(40, 0, 70) }, { id = 3060494212, name = "OOF Sound", artist = "Classic Roblox", color = Color3.fromRGB(50, 0, 60) }, { id = 3068648094, name = "Fart", artist = "Troll", color = Color3.fromRGB(60, 0, 50) }, { id = 135308045, name = "Sad Violin", artist = "Meme", color = Color3.fromRGB(70, 0, 40) }, { id = 130781067, name = "THIS IS SPARTA", artist = "Meme", color = Color3.fromRGB(80, 0, 30) }, { id = 130783046, name = "Godzilla Roar", artist = "Meme", color = Color3.fromRGB(90, 0, 20) }, { id = 130944130, name = "Bonk!", artist = "Meme", color = Color3.fromRGB(100, 0, 10) }, { id = 130769318, name = "I'm Batman", artist = "Meme", color = Color3.fromRGB(110, 0, 0) }, { id = 474303247, name = "Rush B", artist = "CS:GO Meme", color = Color3.fromRGB(120, 0, 0) }, { id = 138112414, name = "Mine Turtle", artist = "Meme", color = Color3.fromRGB(130, 0, 0) }, { id = 2276169441, name = "FBI Open Up", artist = "Meme", color = Color3.fromRGB(140, 0, 0) }, { id = 1282209285, name = "You Have No Life", artist = "Meme", color = Color3.fromRGB(150, 0, 0) }, { id = 130778839, name = "Everybody Do The Flop", artist = "Meme", color = Color3.fromRGB(160, 0, 0) }, { id = 130760834, name = "That's My Purse", artist = "Meme", color = Color3.fromRGB(170, 0, 0) }, { id = 9119119619, name = "Elevator Music", artist = "Troll", color = Color3.fromRGB(180, 0, 0) }, { id = 5978550333, name = "Run. Now. What. How.", artist = "Meme", color = Color3.fromRGB(190, 0, 0) }, { id = 170041353, name = "I'm in My Mom's Car", artist = "Meme", color = Color3.fromRGB(200, 0, 0) }, { id = 1626996526, name = "Windows XP Theme", artist = "Nostalgia", color = Color3.fromRGB(210, 0, 0) }, { id = 4551648646, name = "Loud Ooooh", artist = "Meme", color = Color3.fromRGB(220, 0, 0) }, { id = 6991661856, name = "Nightmare Music", artist = "Scary Meme", color = Color3.fromRGB(230, 0, 0) }, { id = 7772283448, name = "Ahhh (Meme)", artist = "Viral", color = Color3.fromRGB(240, 0, 0) }, { id = 8362816791, name = "Emotional Damage", artist = "Meme", color = Color3.fromRGB(250, 0, 0) }, { id = 185714966, name = "Spongebob Voiceline", artist = "Meme", color = Color3.fromRGB(255, 0, 0) }, { id = 142376088, name = "Raining Tacos", artist = "Classic Meme", color = Color3.fromRGB(255, 20, 20) }, { id = 6895079160, name = "Oof Sound (Classic)", artist = "Original Oof", color = Color3.fromRGB(255, 40, 40) }, { id = 5853098746, name = "Dramatic Chipmunk", artist = "Meme", color = Color3.fromRGB(255, 60, 60) }, { id = 5153845327, name = "Vine Boom", artist = "Bass Meme", color = Color3.fromRGB(255, 80, 80) }, { id = 9120386436, name = "MLG Air Horn", artist = "Meme", color = Color3.fromRGB(255, 100, 100) }, { id = 5986471213, name = "Bruh Sound Effect", artist = "Classic", color = Color3.fromRGB(255, 120, 120) }, -- 🔥 แรงๆ / Loud / Bass / Phonk { id = 9043272952, name = "Live It Loud", artist = "Loud", color = Color3.fromRGB(255, 0, 255) }, { id = 366983090, name = "LOUD AUDIO", artist = "Earrape", color = Color3.fromRGB(240, 0, 240) }, { id = 1836012302, name = "Loud Game", artist = "Earrape", color = Color3.fromRGB(225, 0, 225) }, { id = 7494098965, name = "Mechanical Keyboard Loud", artist = "Earrape", color = Color3.fromRGB(210, 0, 210) }, { id = 3078438521, name = "SCP Screaming", artist = "Very Loud", color = Color3.fromRGB(195, 0, 195) }, { id = 6281745689, name = "(LOUD) :3", artist = "Earrape", color = Color3.fromRGB(180, 0, 180) }, { id = 886546185, name = "Police Siren Loud", artist = "Loud", color = Color3.fromRGB(165, 0, 165) }, { id = 1843468507, name = "Play This Very Loud", artist = "Loud", color = Color3.fromRGB(150, 0, 150) }, { id = 450166903, name = "Minecraft Nerd 2", artist = "Loud", color = Color3.fromRGB(135, 0, 135) }, { id = 4554463745, name = "STOP ALBERT", artist = "LOUD WARNING", color = Color3.fromRGB(120, 0, 120) }, { id = 6544555787, name = "Fierce Howling Wind", artist = "Loop Loud", color = Color3.fromRGB(105, 0, 105) }, { id = 8269639721, name = "LOUD", artist = "Earrape", color = Color3.fromRGB(90, 0, 90) }, { id = 7102104530, name = "Ship Horn", artist = "LOUD", color = Color3.fromRGB(75, 0, 75) }, { id = 4954866176, name = "EXTREMELY LOUD WARNING", artist = "Careful!", color = Color3.fromRGB(60, 0, 60) }, { id = 7702262254, name = "Earrape Music", artist = "Bass", color = Color3.fromRGB(45, 0, 45) }, { id = 8683380188, name = "Earrape Music 2", artist = "Bass", color = Color3.fromRGB(30, 0, 30) }, { id = 1844634063, name = "Earrape Music 3", artist = "Bass", color = Color3.fromRGB(15, 0, 15) }, { id = 6970996018, name = "Earrape Music 4", artist = "Bass", color = Color3.fromRGB(255, 0, 200) }, { id = 8053389869, name = "Earrape Music 5", artist = "Bass", color = Color3.fromRGB(255, 0, 180) }, { id = 6857419543, name = "Earrape Music 6", artist = "Bass", color = Color3.fromRGB(255, 0, 160) }, { id = 1848212475, name = "Earrape Music 7", artist = "Bass", color = Color3.fromRGB(255, 0, 140) }, { id = 6847929757, name = "Earrape Music 8", artist = "Bass", color = Color3.fromRGB(255, 0, 120) }, { id = 6783714255, name = "Earrape Music 9", artist = "Bass", color = Color3.fromRGB(255, 0, 100) }, { id = 6841087956, name = "Earrape Music 10", artist = "Bass", color = Color3.fromRGB(255, 0, 80) }, { id = 6937042327, name = "Earrape Music 11", artist = "Bass", color = Color3.fromRGB(255, 0, 60) }, { id = 9043918359, name = "Earrape Music 12", artist = "Bass", color = Color3.fromRGB(255, 0, 40) }, { id = 180736564, name = "EAR EXPLODER 9001", artist = "Cartoon", color = Color3.fromRGB(255, 0, 20) }, { id = 520168377, name = "Annoying", artist = "Drowning Pool", color = Color3.fromRGB(255, 50, 0) }, { id = 2725621620, name = "ADHD", artist = "Cannibal Corpse", color = Color3.fromRGB(255, 100, 0) }, { id = 138855854, name = "Get Hyper", artist = "Droideka", color = Color3.fromRGB(255, 150, 0) }, { id = 5410086218, name = "Crab Rave", artist = "Noisestorm", color = Color3.fromRGB(255, 200, 0) }, { id = 1846368080, name = "Stadium Rave", artist = "Spongebob", color = Color3.fromRGB(255, 255, 0) }, { id = 14145625743, name = "Phonk Vol. I", artist = "Phonk't Out", color = Color3.fromRGB(200, 255, 0) }, { id = 134366188285514, name = "Gigachad Phonk", artist = "Gym Phonk", color = Color3.fromRGB(150, 255, 0) }, { id = 15689451063, name = "Metamorphosis", artist = "Interworld", color = Color3.fromRGB(100, 255, 0) }, { id = 17422173467, name = "AB4T (Phonk)", artist = "Phonk Killer", color = Color3.fromRGB(50, 255, 0) }, { id = 140667339171815, name = "Desprezo", artist = "Aggressive Phonk", color = Color3.fromRGB(0, 255, 0) }, { id = 139815305627554, name = "Raw Phonk Energy", artist = "Pharmacist", color = Color3.fromRGB(0, 255, 50) }, { id = 136974179670066, name = "Chill Phonk", artist = "DAMAS", color = Color3.fromRGB(0, 255, 100) }, { id = 136350225160627, name = "Bloody Phonk", artist = "Pharmacist", color = Color3.fromRGB(0, 255, 150) }, { id = 125498129824026, name = "Brazil Fiesta Phonk", artist = "Slay", color = Color3.fromRGB(0, 255, 200) }, { id = 8966141360, name = "Phonk Racing Edit", artist = "Phonk", color = Color3.fromRGB(0, 255, 255) }, { id = 7763492811, name = "EDM Drop Remix", artist = "High Energy", color = Color3.fromRGB(0, 200, 255) }, { id = 9042370693, name = "Speed Metal Overture", artist = "Rock", color = Color3.fromRGB(0, 150, 255) }, { id = 9043754347, name = "Caged Animal", artist = "Rock", color = Color3.fromRGB(0, 100, 255) }, { id = 1842763322, name = "Tear It Up", artist = "Indie Rock", color = Color3.fromRGB(0, 50, 255) }, { id = 1837853076, name = "See You In Hell", artist = "Rock", color = Color3.fromRGB(0, 0, 255) }, { id = 4728058875, name = "Highway to Hell", artist = "AC/DC", color = Color3.fromRGB(50, 0, 255) }, { id = 146961487, name = "Thunderstruck", artist = "AC/DC", color = Color3.fromRGB(100, 0, 255) }, { id = 4556134799, name = "Chop Suey", artist = "System Of A Down", color = Color3.fromRGB(150, 0, 255) }, { id = 4849198097, name = "Duality", artist = "Slipknot", color = Color3.fromRGB(200, 0, 255) }, { id = 2389193148, name = "Believer", artist = "Imagine Dragons", color = Color3.fromRGB(255, 0, 255) }, { id = 2173344520, name = "Natural", artist = "Imagine Dragons", color = Color3.fromRGB(255, 50, 255) }, { id = 513080504, name = "Riot", artist = "XXXTENTACION", color = Color3.fromRGB(255, 100, 255) }, { id = 2935213600, name = "Without Me", artist = "Eminem", color = Color3.fromRGB(255, 150, 255) }, { id = 6070263388, name = "Gangsta's Paradise", artist = "Coolio", color = Color3.fromRGB(255, 200, 255) }, { id = 136209425, name = "Stronger", artist = "Kanye West", color = Color3.fromRGB(255, 255, 255) }, -- 🇬🇧 เพลงภาษาอังกฤษ (จัดเต็ม) { id = 166562385, name = "Sandstorm", artist = "Darude", color = Color3.fromRGB(0, 255, 128) }, { id = 507443984, name = "Never Gonna Give You Up", artist = "Rick Astley", color = Color3.fromRGB(0, 230, 115) }, { id = 606299326, name = "Lean On", artist = "Major Lazer", color = Color3.fromRGB(0, 205, 102) }, { id = 614018503, name = "Baby Shark", artist = "Pinkfong", color = Color3.fromRGB(0, 180, 90) }, { id = 210783060, name = "Trap Queen", artist = "Fetty Wap", color = Color3.fromRGB(0, 155, 77) }, { id = 412314152, name = "Royals", artist = "Lorde", color = Color3.fromRGB(0, 130, 65) }, { id = 2698664996, name = "Sunflower", artist = "Post Malone", color = Color3.fromRGB(0, 105, 52) }, { id = 120503260, name = "Poker Face", artist = "Lady Gaga", color = Color3.fromRGB(0, 80, 40) }, { id = 1358148888, name = "Havana", artist = "Camila Cabello", color = Color3.fromRGB(0, 55, 27) }, { id = 2131862621, name = "Sorry", artist = "Justin Bieber", color = Color3.fromRGB(0, 30, 15) }, { id = 518086295, name = "Just Dance", artist = "Lady Gaga", color = Color3.fromRGB(20, 255, 128) }, { id = 419157564, name = "Firework", artist = "Katy Perry", color = Color3.fromRGB(40, 255, 128) }, { id = 891734600, name = "All About That Bass", artist = "Meghan Trainor", color = Color3.fromRGB(60, 255, 128) }, { id = 1752466077, name = "Umbrella", artist = "Rihanna", color = Color3.fromRGB(80, 255, 128) }, { id = 159377898, name = "Rolling in the Deep", artist = "Adele", color = Color3.fromRGB(100, 255, 128) }, { id = 1665926924, name = "God's Plan", artist = "Drake", color = Color3.fromRGB(120, 255, 128) }, { id = 1152834455, name = "Party Rock Anthem", artist = "LMFAO", color = Color3.fromRGB(140, 255, 128) }, { id = 105651787, name = "I Gotta Feeling", artist = "Black Eyed Peas", color = Color3.fromRGB(160, 255, 128) }, { id = 170173180, name = "Viva La Vida", artist = "Coldplay", color = Color3.fromRGB(180, 255, 128) }, { id = 388356339, name = "Hot N Cold", artist = "Katy Perry", color = Color3.fromRGB(200, 255, 128) }, { id = 1494152209, name = "Moonlight", artist = "Juice WRLD", color = Color3.fromRGB(220, 255, 128) }, { id = 1840776779, name = "Wake Me Up", artist = "Avicii", color = Color3.fromRGB(240, 255, 128) }, { id = 5622020090, name = "My Future", artist = "Billie Eilish", color = Color3.fromRGB(255, 255, 128) }, { id = 249293398, name = "Blurred Lines", artist = "Robin Thicke", color = Color3.fromRGB(255, 240, 100) }, { id = 139235100, name = "Black And Yellow", artist = "Wiz Khalifa", color = Color3.fromRGB(255, 225, 80) }, { id = 258772020, name = "We Found Love", artist = "Rihanna", color = Color3.fromRGB(255, 210, 60) }, { id = 321199908, name = "Milkshake", artist = "Kelis", color = Color3.fromRGB(255, 195, 40) }, { id = 345516556, name = "Uptown Funk", artist = "Mark Ronson", color = Color3.fromRGB(255, 180, 20) }, { id = 956289401, name = "Call Me Maybe", artist = "Carly Rae Jepsen", color = Color3.fromRGB(255, 165, 0) }, { id = 657284150, name = "Pretty Girl", artist = "Maggie Lindemann", color = Color3.fromRGB(255, 150, 0) }, { id = 2701045582, name = "Titanium", artist = "David Guetta", color = Color3.fromRGB(255, 135, 0) }, { id = 485906809, name = "Let Me Love You", artist = "DJ Snake", color = Color3.fromRGB(255, 120, 0) }, { id = 152063870, name = "Summer", artist = "Calvin Harris", color = Color3.fromRGB(255, 105, 0) }, { id = 131343714, name = "Don't You Worry Child", artist = "Swedish House Mafia", color = Color3.fromRGB(255, 90, 0) }, { id = 204212571, name = "Hello", artist = "OMFG", color = Color3.fromRGB(255, 75, 0) }, { id = 223847849, name = "Unity", artist = "Fatrat", color = Color3.fromRGB(255, 60, 0) }, { id = 230194883, name = "Spectre", artist = "Alan Walker", color = Color3.fromRGB(255, 45, 0) }, { id = 168670877, name = "Latch", artist = "Disclosure", color = Color3.fromRGB(255, 30, 0) }, { id = 145628172, name = "Red Lights", artist = "Tiesto", color = Color3.fromRGB(255, 15, 0) }, { id = 5019803125, name = "Astronomia (Coffin Dance)", artist = "Vicetone", color = Color3.fromRGB(255, 0, 0) }, { id = 413903112, name = "Alone", artist = "Marshmello", color = Color3.fromRGB(255, 20, 20) }, { id = 368143115, name = "Faded", artist = "Alan Walker", color = Color3.fromRGB(255, 40, 40) }, { id = 131109966, name = "Wake Me Up (Alt)", artist = "Avicii", color = Color3.fromRGB(255, 60, 60) }, { id = 2344793664, name = "Happier", artist = "Marshmello", color = Color3.fromRGB(255, 80, 80) }, { id = 588219957, name = "34+35", artist = "Ariana Grande", color = Color3.fromRGB(255, 100, 100) }, { id = 2071829884, name = "God Is a Woman", artist = "Ariana Grande", color = Color3.fromRGB(255, 120, 120) }, { id = 4883181281, name = "Smooth Criminal", artist = "Michael Jackson", color = Color3.fromRGB(255, 140, 140) }, { id = 3106151105, name = "What's Up Danger?", artist = "Spider-Man", color = Color3.fromRGB(255, 160, 160) }, { id = 143666548, name = "Mii Channel Music", artist = "Nintendo", color = Color3.fromRGB(255, 180, 180) }, { id = 7535587224, name = "Squid Game Theme", artist = "Netflix", color = Color3.fromRGB(255, 200, 200) }, { id = 2675904848, name = "Chlorine", artist = "Twenty One Pilots", color = Color3.fromRGB(255, 220, 220) }, { id = 130964099, name = "Applause", artist = "Lady Gaga", color = Color3.fromRGB(255, 240, 240) }, { id = 239734705, name = "Llama Song!", artist = "Twaimz", color = Color3.fromRGB(240, 240, 255) }, { id = 177080835, name = "MLG CanCan", artist = "Pertti Aalto", color = Color3.fromRGB(220, 220, 255) }, { id = 427404831, name = "One Dance (Remix)", artist = "Drake", color = Color3.fromRGB(200, 200, 255) }, { id = 6937354391, name = "Brutal", artist = "Olivia Rodrigo", color = Color3.fromRGB(180, 180, 255) }, { id = 4905984730, name = "Dance Monkey", artist = "Tones and I", color = Color3.fromRGB(160, 160, 255) }, { id = 4646720551, name = "Savage Love", artist = "Jason Derulo", color = Color3.fromRGB(140, 140, 255) }, { id = 168208965, name = "Whatcha Say", artist = "Jason Derulo", color = Color3.fromRGB(120, 120, 255) }, { id = 146237847, name = "Trumpets", artist = "Jason Derulo", color = Color3.fromRGB(100, 100, 255) }, { id = 7212579511, name = "Bad Habits", artist = "Ed Sheeran", color = Color3.fromRGB(80, 80, 255) }, { id = 4380429016, name = "Everything I Wanted", artist = "Billie Eilish", color = Color3.fromRGB(60, 60, 255) }, { id = 7079888477, name = "NDA", artist = "Billie Eilish", color = Color3.fromRGB(40, 40, 255) }, { id = 3506118706, name = "Bad Guy", artist = "Billie Eilish", color = Color3.fromRGB(20, 20, 255) }, { id = 1846270921, name = "Die With A Smile", artist = "Lady Gaga & Bruno Mars", color = Color3.fromRGB(0, 0, 255) }, { id = 1738291045, name = "Birds Of A Feather", artist = "Billie Eilish", color = Color3.fromRGB(20, 0, 255) }, { id = 1859302144, name = "APT.", artist = "ROSÉ & Bruno Mars", color = Color3.fromRGB(40, 0, 255) }, { id = 1694821035, name = "Espresso", artist = "Sabrina Carpenter", color = Color3.fromRGB(60, 0, 255) }, { id = 1594839201, name = "Lose Control", artist = "Teddy Swims", color = Color3.fromRGB(80, 0, 255) }, { id = 1649204851, name = "Beautiful Things", artist = "Benson Boone", color = Color3.fromRGB(100, 0, 255) }, { id = 6159978466, name = "You Belong With Me", artist = "Taylor Swift", color = Color3.fromRGB(120, 0, 255) }, { id = 6198642057, name = "Drivers License", artist = "Olivia Rodrigo", color = Color3.fromRGB(140, 0, 255) }, { id = 6257627378, name = "Dynamite", artist = "BTS", color = Color3.fromRGB(160, 0, 255) }, { id = 4635671560, name = "Blinding Lights", artist = "The Weeknd", color = Color3.fromRGB(180, 0, 255) }, { id = 1795074251, name = "No Tears Left to Cry", artist = "Ariana Grande", color = Color3.fromRGB(200, 0, 255) }, { id = 4581203569, name = "Never Gonna Give You Up", artist = "Rick Astley", color = Color3.fromRGB(220, 0, 255) }, { id = 2325414349, name = "Girls Like You", artist = "Maroon 5", color = Color3.fromRGB(240, 0, 255) }, { id = 911470685, name = "There's Nothing Holdin' Me Back", artist = "Shawn Mendes", color = Color3.fromRGB(255, 0, 255) }, { id = 159451996, name = "Chandelier", artist = "Sia", color = Color3.fromRGB(255, 0, 240) }, { id = 673605737, name = "Despacito", artist = "Luis Fonsi", color = Color3.fromRGB(255, 0, 220) }, { id = 3018974408, name = "In The End", artist = "Linkin Park", color = Color3.fromRGB(255, 0, 200) }, { id = 7551431783, name = "Money", artist = "LISA", color = Color3.fromRGB(255, 0, 180) }, { id = 1684920146, name = "Too Sweet", artist = "Hozier", color = Color3.fromRGB(255, 0, 160) }, { id = 6432181830, name = "Heat Waves", artist = "Glass Animals", color = Color3.fromRGB(255, 0, 140) }, { id = 6973084731, name = "Till the World Ends", artist = "Britney Spears", color = Color3.fromRGB(255, 0, 120) }, { id = 6032653117, name = "My Head & My Heart", artist = "Ava Max", color = Color3.fromRGB(255, 0, 100) }, { id = 8055519816, name = "Belly Dancer x Temperature", artist = "DJ Fronteo", color = Color3.fromRGB(255, 0, 80) }, { id = 445023353, name = "Moonlight Sonata", artist = "Beethoven", color = Color3.fromRGB(255, 0, 60) }, { id = 450051032, name = "Fur Elise", artist = "Beethoven", color = Color3.fromRGB(255, 0, 40) }, { id = 564238335, name = "Toccata & Fugue", artist = "Bach", color = Color3.fromRGB(255, 0, 20) }, { id = 1838457617, name = "Claire De Lune", artist = "Claude Debussy", color = Color3.fromRGB(255, 0, 0) }, } -- ============================================ -- ฟังก์ชันเล่นเพลง -- ============================================ local function playSong(songId) local args = { "https://www.roblox.com/asset/?id=" .. tostring(songId) } game:GetService("ReplicatedStorage"):WaitForChild("Remotes"):WaitForChild("Inventory"):WaitForChild("PlaySong"):FireServer(unpack(args)) end -- ============================================ -- สร้าง UI (ใช้ UI เดิม) -- ============================================ -- ScreenGui หลัก local screenGui = Instance.new("ScreenGui") screenGui.Name = "MusicPlayerUI" screenGui.ResetOnSpawn = false screenGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling screenGui.Parent = playerGui -- ปุ่มเปิด/ปิด (อยู่มุมขวาบน ขนาดใหญ่สำหรับมือถือ) local toggleButton = Instance.new("TextButton") toggleButton.Name = "ToggleButton" toggleButton.Size = UDim2.new(0, 70, 0, 70) toggleButton.Position = UDim2.new(1, -85, 0, 20) toggleButton.BackgroundColor3 = Color3.fromRGB(50, 50, 50) toggleButton.Text = "🎵" toggleButton.TextSize = 32 toggleButton.Font = Enum.Font.GothamBold toggleButton.TextColor3 = Color3.fromRGB(255, 255, 255) toggleButton.BorderSizePixel = 0 toggleButton.Parent = screenGui -- มุมโค้งปุ่ม Toggle local toggleCorner = Instance.new("UICorner") toggleCorner.CornerRadius = UDim.new(0, 16) toggleCorner.Parent = toggleButton -- Stroke ปุ่ม Toggle local toggleStroke = Instance.new("UIStroke") toggleStroke.Color = Color3.fromRGB(255, 255, 255) toggleStroke.Thickness = 2 toggleStroke.Parent = toggleButton -- กรอบหลัก (ซ่อนไว้ตอนเริ่ม) local mainFrame = Instance.new("Frame") mainFrame.Name = "MainFrame" mainFrame.Size = UDim2.new(0, 320, 0, 400) mainFrame.Position = UDim2.new(0.5, -160, 0.5, -200) mainFrame.BackgroundColor3 = Color3.fromRGB(30, 30, 35) mainFrame.BorderSizePixel = 0 mainFrame.Visible = false mainFrame.Parent = screenGui -- มุมโค้งกรอบหลัก local mainCorner = Instance.new("UICorner") mainCorner.CornerRadius = UDim.new(0, 20) mainCorner.Parent = mainFrame -- หัวข้อ local titleLabel = Instance.new("TextLabel") titleLabel.Name = "Title" titleLabel.Size = UDim2.new(1, 0, 0, 50) titleLabel.Position = UDim2.new(0, 0, 0, 0) titleLabel.BackgroundTransparency = 1 titleLabel.Text = "🎶 เลือกเพลง" titleLabel.TextSize = 24 titleLabel.Font = Enum.Font.GothamBold titleLabel.TextColor3 = Color3.fromRGB(255, 255, 255) titleLabel.Parent = mainFrame -- ปุ่มปิด (X) local closeButton = Instance.new("TextButton") closeButton.Name = "CloseButton" closeButton.Size = UDim2.new(0, 40, 0, 40) closeButton.Position = UDim2.new(1, -45, 0, 5) closeButton.BackgroundTransparency = 1 closeButton.Text = "✕" closeButton.TextSize = 24 closeButton.Font = Enum.Font.GothamBold closeButton.TextColor3 = Color3.fromRGB(255, 100, 100) closeButton.Parent = mainFrame -- ScrollingFrame สำหรับรายการเพลง local scrollFrame = Instance.new("ScrollingFrame") scrollFrame.Name = "SongList" scrollFrame.Size = UDim2.new(1, -20, 1, -70) scrollFrame.Position = UDim2.new(0, 10, 0, 60) scrollFrame.BackgroundTransparency = 1 scrollFrame.ScrollBarThickness = 6 scrollFrame.ScrollBarImageColor3 = Color3.fromRGB(100, 100, 100) scrollFrame.CanvasSize = UDim2.new(0, 0, 0, 0) scrollFrame.AutomaticCanvasSize = Enum.AutomaticSize.Y scrollFrame.Parent = mainFrame -- UIListLayout สำหรับจัดเรียงปุ่มเพลง local listLayout = Instance.new("UIListLayout") listLayout.Padding = UDim.new(0, 10) listLayout.HorizontalAlignment = Enum.HorizontalAlignment.Center listLayout.SortOrder = Enum.SortOrder.LayoutOrder listLayout.Parent = scrollFrame -- ============================================ -- สร้างปุ่มเพลงแต่ละอัน -- ============================================ for i, song in ipairs(songs) do local songButton = Instance.new("TextButton") songButton.Name = "Song_" .. song.id songButton.Size = UDim2.new(1, -10, 0, 70) -- สูง 70px กดง่ายบนมือถือ songButton.BackgroundColor3 = song.color songButton.Text = "" songButton.BorderSizePixel = 0 songButton.AutoButtonColor = true songButton.Parent = scrollFrame -- มุมโค้ง local btnCorner = Instance.new("UICorner") btnCorner.CornerRadius = UDim.new(0, 12) btnCorner.Parent = songButton -- ชื่อเพลง local nameLabel = Instance.new("TextLabel") nameLabel.Name = "SongName" nameLabel.Size = UDim2.new(1, -10, 0, 30) nameLabel.Position = UDim2.new(0, 5, 0, 5) nameLabel.BackgroundTransparency = 1 nameLabel.Text = song.name nameLabel.TextSize = 18 nameLabel.Font = Enum.Font.GothamBold nameLabel.TextColor3 = Color3.fromRGB(255, 255, 255) nameLabel.TextXAlignment = Enum.TextXAlignment.Left nameLabel.TextTruncate = Enum.TextTruncate.AtEnd nameLabel.Parent = songButton -- ชื่อศิลปิน / ID local artistLabel = Instance.new("TextLabel") artistLabel.Name = "ArtistName" artistLabel.Size = UDim2.new(1, -10, 0, 20) artistLabel.Position = UDim2.new(0, 5, 0, 35) artistLabel.BackgroundTransparency = 1 artistLabel.Text = song.artist artistLabel.TextSize = 14 artistLabel.Font = Enum.Font.Gotham artistLabel.TextColor3 = Color3.fromRGB(230, 230, 230) artistLabel.TextXAlignment = Enum.TextXAlignment.Left artistLabel.TextTruncate = Enum.TextTruncate.AtEnd artistLabel.Parent = songButton -- เอฟเฟกต์กด + เล่นเพลง songButton.MouseButton1Click:Connect(function() -- Animation กด local tween = TweenService:Create(songButton, TweenInfo.new(0.1), { Size = UDim2.new(0.95, 0, 0, 65) }) tween:Play() tween.Completed:Wait() TweenService:Create(songButton, TweenInfo.new(0.1), { Size = UDim2.new(1, -10, 0, 70) }):Play() -- 🔥 เล่นเพลงโดยใช้ PlaySong Event playSong(song.id) -- แสดงข้อความกำลังเล่น local oldText = nameLabel.Text nameLabel.Text = "▶ " .. song.name task.delay(2, function() nameLabel.Text = oldText end) end) end -- ============================================ -- ระบบ เปิด/ปิด UI -- ============================================ local isOpen = false local function toggleUI() isOpen = not isOpen mainFrame.Visible = isOpen if isOpen then -- Animation เปิด mainFrame.Size = UDim2.new(0, 280, 0, 350) TweenService:Create(mainFrame, TweenInfo.new(0.2, Enum.EasingStyle.Back), { Size = UDim2.new(0, 320, 0, 400) }):Play() end end toggleButton.MouseButton1Click:Connect(toggleUI) closeButton.MouseButton1Click:Connect(toggleUI) -- ============================================ -- รองรับการปัดเพื่อปิดบนมือถือ (Swipe down) -- ============================================ local touchStartY = 0 mainFrame.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.Touch then touchStartY = input.Position.Y end end) mainFrame.InputEnded:Connect(function(input) if input.UserInputType == Enum.UserInputType.Touch then local deltaY = input.Position.Y - touchStartY if deltaY > 100 then -- ปัดลงเกิน 100px toggleUI() end end end) -- ============================================ -- รองรับปุ่ม Back บน Android / ปุ่ม Escape บน PC -- ============================================ UserInputService.InputBegan:Connect(function(input, gameProcessed) if not gameProcessed and input.KeyCode == Enum.KeyCode.Escape then if isOpen then toggleUI() end end end) print("✅ Music Player UI โหลดสำเร็จ! มีเพลงทั้งหมด " .. #songs .. " เพลง")