--==================================================== -- SERVICES --==================================================== local Players = game:GetService("Players") local player = Players.LocalPlayer --==================================================== -- WAIT --==================================================== local function safeWait(parent, child) while parent and not parent:FindFirstChild(child) do parent.ChildAdded:Wait() end return parent:FindFirstChild(child) end --==================================================== -- GROOVY --==================================================== local playerGui = safeWait(player, "PlayerGui") local groovy = safeWait(playerGui, "Groovy") local playerUi = safeWait(playerGui, "PlayerUi") local rightUi = safeWait(playerUi, "Right") local musicLabel = safeWait(rightUi, "Music") --==================================================== -- SKINS DATA --==================================================== local Skins = { -- MAYHEM HAM = {Id=125443190466629, Name="t+pazolite & getty - Twisted drop party"}, MAY = {Id=137014398546441, Name="Camellia - Spin Eternally"}, TEST = {Id=13764407822, Name="t+pazolite - Cheatreal #TPZREMAKE"}, MAYHEM2 = {Id=10046618066, Name="moro - Folgore"}, DISORDER = {Id=10648806684, Name="m1dy - Mad Speed Disorder"}, DELUSIVE = {Id=11190425836, Name="Bokusatsu Shoujo Koubou - Designer Demon"}, ["🅱️AYHEM"] = {Id=9751367057, Name="ReDALICE & CosMo - Angel Halo"}, ZENITH = {Id=106132241467298, Name="Azrael - Tune out"}, SKIN_L0L = {Id=1132772797, Name="DJ Striden - Lights"}, MAYHEMX = {Id=88500969704794, Name="Blanke - Immunity"}, MALEVOLENCE = {Id=118933850264498, Name="RoughSketch - MAYHEM (Extreme Full Ver.)"}, LIMITED = {Id=14400424108, Name="gmtn. - trappola bewitching (Extended)"}, ["GREEN MAYS AND HEM"] = {Id=16963357955, Name="Zelda Malo Mart"}, CRISIS = {Id=109283287305953, Name="The Sickest Squad - Hard Abuse"}, DESECRATION = {Id=75332651217744, Name="end of the world - explicit massacre over the body of a dead god"}, ["MORTEM^2"] = {Id=11886085333, Name="Roughsketch - Ill"}, MUTILATION = {Id=109024781122281, Name="Femtan** -- GIRL HELL 1999"}, -- VIOLENCE STRESSED = {Id=9614333818, Name="The Quick Brown Fox - Electrohell"}, ["VIOLENCE?"] = {Id=11749330011, Name="Team Grimoire - katahastrophe"}, ANIMOSITY = {Id=7442711894, Name="CANVAS feat.QuimärCarmina (FallenShepard Remix)"}, ANTAGONIZING = {Id=10099675843, Name="Laur - Exitium"}, DEVASTATION = {Id=14046308736, Name="Big Jim - Voyage To Eternity"}, STRIFE = {Id=99818022733723, Name="A-Saph - CLAUDIA ~libertia~"}, DYSPATHY = {Id=130109536794469, Name="Team Grimoire - Nightmare System"}, DISASTER = {Id=140403531765526, Name="Ampongabendanitte - СAƊAƲƸⱤƖƇ"}, -- DEATH REVENANT = {Id=10099671052, Name="Juggernaut. - Revenant"}, HARBINGER = {Id=97440480553675, Name="Clovis Reyes - ALWAYS DREAMING"}, Closure = {Id=94699466301086, Name="muyu - Abyssal∴Factory"}, COAGULANT = {Id=12529893922, Name="Camellia - Bleed Blood"}, -- MALICE PULSE = {Id=122509965090221, Name="Quark - Kill Everybody"}, HAVOC = {Id=16930390734, Name="NeLiME - Code Name: Gamma"}, DECAY = {Id=13781396116, Name="Nero's Day At Disneyland - Sprawling Idiot Effigy"}, DEFECTIVE = {Id=109934719751693, Name="Laur - ATAMA WARUI"}, FORGOTTEN = {Id=13922497365, Name="Nagazaki - Suicide Simulator"}, EXECRABLE = {Id=10046618066, Name="moro - Folgore"}, -- MALEVOLENT -- VINDICTIVE -- PURITY COMMON = {Id=101463939911764, Name="Kaizo Slumbed - Puddle of Nitrogen"}, COMPLEXITY = {Id=11602411545, Name="EBIMAYO - Badtek"}, CYANIC = {Id=14309861829, Name="nuphory - Pearl Blue Soul"}, EXCRALISITE = {Id=14381044478, Name="Kurokotei - Faurie"}, EXQUISITE = {Id=11246398407, Name="Camellia - INSECTICIDE (Ext Ver)"}, INTEGRIOUS = {Id=11665439078, Name="EBIMAYO - Ocean Abyss"}, INTEGRIOUS2 = {Id=12775778039, Name="Akamasumi - Ressurection"}, INVERSA = {Id=117422908285148, Name="Dj Kuroneko - I don't"}, POSTERITY = {Id=112545501536999, Name="fen - deep blue sunrise"}, PULARY = {Id=13551323798, Name="Under Night In-Birth - Purity & Strictly"}, PURIFIED = {Id=14400233209, Name="Kurokotei - Lussamine in a Perfect World"}, PURITYX = {Id=126553820316661, Name="Black Sun Empire - Parallels"}, SALUBRITY = {Id=10962236341, Name="FtlFrame - Speech Disorder"}, SERENITY_JDR = {Id=78236039262842, Name="ENNWAY! - EDENIC WHISPERS"}, TRANAXAS = {Id=10363574580, Name="TRAELMYX - Neon Island B-Side"}, -- SANCTUARY SUSTAINABILITY = {Id=11907415829, Name="Camellia - Newspapers for Magicians"}, HAVEN = {Id=7028518546, Name="Protostar - New Horizons"}, SALVATION = {Id=81335699182106, Name="Yooh - Salvation"}, ANGELIC = {Id=133011586497796, Name="Clovis Reyes - Fluxxwave"}, -- SHD } --==================================================== -- PLAYER DATA --==================================================== local Saving = safeWait(workspace, "Saving") local PlayerData = safeWait(Saving, player.Name .. "'s Data") local ModeData = safeWait(PlayerData, "ModeData") local Entities = safeWait(workspace, "Entities") local Entity = safeWait(Entities, player.Name) local Simulator = safeWait(Entity, "NeonWingSimulator") local SideValue = safeWait(Simulator, "Side") local ModeValue = safeWait(Simulator, "Mode") --==================================================== -- SKON --==================================================== local function getCurrentSkin() local sideFolder = ModeData:FindFirstChild(SideValue.Value) if not sideFolder then return nil end local modeFolder = sideFolder:FindFirstChild(ModeValue.Value) if not modeFolder then return nil end local skinValue = modeFolder:FindFirstChild("SkinEquipped") if not skinValue then return nil end return skinValue end --==================================================== -- BEATBOX --==================================================== local function updateMusic() local skinValue = getCurrentSkin() if not skinValue then return end if skinValue.Value == "" then return end local data = Skins[skinValue.Value] if not data then return end local newId = "rbxassetid://" .. data.Id if groovy.SoundId ~= newId then musicLabel.Text = data.Name groovy:Stop() groovy.SoundId = newId groovy:Play() end end --==================================================== -- INITIAL --==================================================== updateMusic() --==================================================== -- LISTENERS --==================================================== ModeValue:GetPropertyChangedSignal("Value"):Connect(updateMusic) SideValue:GetPropertyChangedSignal("Value"):Connect(updateMusic) local function bindSkinListener() local skinValue = getCurrentSkin() if skinValue then skinValue:GetPropertyChangedSignal("Value"):Connect(updateMusic) end end bindSkinListener() ModeValue:GetPropertyChangedSignal("Value"):Connect(bindSkinListener) SideValue:GetPropertyChangedSignal("Value"):Connect(bindSkinListener)