confusing wizardry song remake

Run Settings
LanguageLua
Language Version
Run Command
local owner = game.Players.Dinoturto local random = Random.new() local soundTable = { ["Bass"] = {}; ["Ping"] = {}; ["Snap"] = {} } local currentBass = 1 local currentPing = 1 local currentSnap = 1 for i = 1, 3 do for s = 1, 6 do local sEffect = Instance.new("Sound") sEffect.Volume = 1.4 sEffect.Parent = owner.Character.Torso if i == 1 then sEffect.SoundId = "rbxasset://sounds/bass.mp3" table.insert(soundTable["Bass"], sEffect) elseif i == 2 then sEffect.SoundId = "rbxasset://sounds/electronicpingshort.wav" table.insert(soundTable["Ping"], sEffect) elseif i == 3 then sEffect.SoundId = "rbxasset://sounds/snap.mp3" table.insert(soundTable["Snap"], sEffect) end end end function playSound(s, p, v) if s == "bass" then currentBass = currentBass + 1 if currentBass > #soundTable["Bass"] then currentBass = 1 end local sound = soundTable["Bass"][currentBass] sound.TimePosition = 0.12 sound.Pitch = p sound.Volume = v sound.Playing = true return sound elseif s == "ping" then currentPing = currentPing + 1 if currentPing > #soundTable["Ping"] then currentPing = 1 end local sound = soundTable["Ping"][currentPing] sound.TimePosition = 0.2 sound.Pitch = p sound.Volume = v sound.Playing = true return sound elseif s == "snap" then currentSnap = currentSnap + 1 if currentSnap > #soundTable["Snap"] then currentSnap = 1 end local sound = soundTable["Snap"][currentSnap] sound.TimePosition = 0.2 sound.Pitch = p sound.Volume = v sound.Playing = true return sound end end local sounds = { ["NightSong"] = { ["Tempo"] = 260; ["Patterns"] = { [1] = { [1] = { [1] = {1.55, 0.2}; [2] = {0.9, 2} }; [2] = { [1] = {1.55, 0.4}; [2] = {1, 2} }; [3] = { [1] = {1.55, 0.6}; [2] = {1.075, 2}; [3] = {4, 1} }; [4] = { [1] = {1.55, 0.8}; [2] = {1.2, 2} }; [5] = { [1] = {1.55, 1}; [2] = {1.35, 2} }; [6] = { [1] = {1.55, 1.2}; [2] = {1.425, 2} }; [7] = { [1] = {1.55, 1.4}; [2] = {1.6, 2}; [3] = {1.5, 1.5} }; [8] = { [1] = {1.55, 1.6}; [2] = {1.7, 2}; [3] = {1.5, 1.5} } }; [2] = { [1] = { [1] = {1.55, 1.6}; [2] = {1.8, 2} }; [2] = { [1] = {1.55, 1.4}; [2] = {1.6, 2} }; [3] = { [1] = {1.55, 1.2}; [2] = {1.425, 2}; [3] = {1.35, 2} }; [4] = { [1] = {1.55, 1}; [2] = {1.35, 2} } }; [3] = { [1] = { [1] = {1.55, 0.8}; [2] = {1.2, 2} }; [2] = { [1] = {1.55, 0.6}; [2] = {1.05, 2} }; [3] = { [1] = {1.55, 0.4}; [2] = {1, 2}; [3] = {1.5, 1.5} }; [4] = { [1] = {1.55, 0.2}; [2] = {0.9, 2}; [3] = {1.5, 1.5} } }; [4] = { [1] = { [1] = {1.55, 0.8}; [2] = {2.4, 2} }; [2] = { [1] = {1.55, 0.6}; [2] = {2.1, 2} }; [3] = { [1] = {1.55, 0.4}; [2] = {2, 2}; [3] = {1.5, 1.5} }; [4] = { [1] = {1.55, 0.2}; [2] = {1.8, 2}; [3] = {1.5, 1.5} } }; [5] = { [1] = { [1] = {1.225, 0.2}; [2] = {0.7, 2} }; [2] = { [1] = {1.225, 0.4}; [2] = {0.8, 2} }; [3] = { [1] = {1.225, 0.6}; [2] = {0.9, 2}; [3] = {4, 1} }; [4] = { [1] = {1.225, 0.8}; [2] = {1, 2} }; [5] = { [1] = {1.225, 1}; [2] = {1.05, 2} }; [6] = { [1] = {1.225, 1.2}; [2] = {1.2, 2} }; [7] = { [1] = {1.225, 1.4}; [2] = {1.35, 2}; [3] = {1.5, 1.5} }; [8] = { [1] = {1.225, 1.6}; [2] = {1.425, 2}; [3] = {1.5, 1.5} } }; [6] = { [1] = { [1] = {1.225, 1.6}; [2] = {1.425, 2} }; [2] = { [1] = {1.225, 1.4}; [2] = {1.35, 2} }; [3] = { [1] = {1.225, 1.2}; [2] = {1.2, 2}; [3] = {4, 1} }; [4] = { [1] = {1.225, 1}; [2] = {1.05, 2} } }; [7] = { [1] = { [1] = {1.225, 0.8}; [2] = {1, 2} }; [2] = { [1] = {1.225, 0.6}; [2] = {0.9, 2} }; [3] = { [1] = {1.225, 0.4}; [2] = {0.8, 2}; [3] = {1.5, 1.5} }; [4] = { [1] = {1.225, 0.2}; [2] = {0.7, 2}; [3] = {1.5, 1.5} } }; [8] = { [1] = { [1] = {1.225, 0.8}; [2] = {2.4, 2} }; [2] = { [1] = {1.225, 0.6}; [2] = {2.1, 2} }; [3] = { [1] = {1.225, 0.4}; [2] = {2, 2}; [3] = {1.5, 1.5} }; [4] = { [1] = {1.225, 0.2}; [2] = {1.8, 2}; [3] = {1.5, 1.5} } }; [9] = { [1] = { [1] = {1.0375, 0.2}; [2] = {1.2, 2} }; [2] = { [1] = {1.0375, 0.4}; [2] = {1.05, 2} }; [3] = { [1] = {1.0375, 0.6}; [2] = {1, 2}; [3] = {4, 1} }; [4] = { [1] = {1.0375, 0.8}; [2] = {0.9, 2} }; [5] = { [1] = {1.0375, 1}; [2] = {2.4, 2} }; [6] = { [1] = {1.0375, 1.2}; [2] = {2.1, 2} }; [7] = { [1] = {1.0375, 1.4}; [2] = {2, 2}; [3] = {1.5, 1.5} }; [8] = { [1] = {1.0375, 1.6}; [2] = {1.8, 2}; [3] = {1.5, 1.5} }; [9] = { [1] = {1.0375, 1.6}; [2] = {1.2, 2} }; [10] = { [1] = {1.0375, 1.4}; [2] = {1.05, 2} }; [11] = { [1] = {1.0375, 1.2}; [2] = {1, 2}; [3] = {4, 1} }; [12] = { [1] = {1.0375, 1}; [2] = {0.9, 2} }; [13] = { [1] = {1.0375, 0.8}; [2] = {2.4, 2} }; [14] = { [1] = {1.0375, 0.6}; [2] = {2.1, 2} }; [15] = { [1] = {1.0375, 0.4}; [2] = {2, 2}; [3] = {1.5, 1.5} }; [16] = { [1] = {1.0375, 0.2}; [2] = {1.8, 2}; [3] = {1.5, 1.5} } }; [10] = { [1] = { [1] = {1.15, 0.2}; [2] = {1.35, 2} }; [2] = { [1] = {1.15, 0.4}; [2] = {1.2, 2} }; [3] = { [1] = {1.15, 0.6}; [2] = {1.15, 2}; [3] = {4, 1} }; [4] = { [1] = {1.15, 0.8}; [2] = {1, 2} }; [5] = { [1] = {1.15, 1}; [2] = {2.7, 2} }; [6] = { [1] = {1.15, 1.2}; [2] = {2.4, 2} }; [7] = { [1] = {1.15, 1.4}; [2] = {2.3, 2}; [3] = {1.5, 1.5} }; [8] = { [1] = {1.15, 1.6}; [2] = {2, 2}; [3] = {1.5, 1.5} }; [9] = { [1] = {1.15, 1.6}; [2] = {1.35, 2} }; [10] = { [1] = {1.15, 1.4}; [2] = {1.2, 2} }; [11] = { [1] = {1.15, 1.2}; [2] = {1.15, 2}; [3] = {4, 1} }; [12] = { [1] = {1.15, 1}; [2] = {1, 2} }; [13] = { [1] = {1.15, 0.8}; [2] = {2.7, 2} }; [14] = { [1] = {1.15, 0.6}; [2] = {2.4, 2} }; [15] = { [1] = {1.15, 0.4}; [2] = {2.3, 2}; [3] = {1.5, 1.5} }; [16] = { [1] = {1.15, 0.2}; [2] = {2, 2}; [3] = {1.5, 1.5} }; }; [11] = { [1] = { [1] = {1.15, 0.2}; [2] = {1.35, 2} }; [2] = { [1] = {1.15, 0.4}; [2] = {1.2, 2} }; [3] = { [1] = {1.15, 0.6}; [2] = {1.15, 2}; [3] = {4, 1} }; [4] = { [1] = {1.15, 0.8}; [2] = {1, 2} }; [5] = { [1] = {1.15, 1}; [2] = {2.7, 2} }; [6] = { [1] = {1.15, 1.2}; [2] = {2.4, 2} }; [7] = { [1] = {1.15, 1.4}; [2] = {2.3, 2}; [3] = {1.5, 1.5} }; [8] = { [1] = {1.15, 1.6}; [2] = {2, 2}; [3] = {1.5, 1.5} }; [9] = { [1] = {1.15, 1.6}; [2] = {0.675, 2} }; [10] = { [1] = {1.15, 1.4}; [2] = {0.75, 2} }; [11] = { [1] = {1.15, 1.2}; [2] = {0.85, 2}; [3] = {4, 1} }; [12] = { [1] = {1.15, 1}; [2] = {0.9, 2} }; [13] = { [1] = {1.15, 0.8}; [2] = {1, 2} }; [14] = { [1] = {1.15, 0.6}; [2] = {1.05, 2} }; [15] = { [1] = {1.15, 0.4}; [2] = {1.2, 2}; [3] = {1.5, 1.5} }; [16] = { [1] = {1.15, 0.2}; [2] = {1.35, 2}; [3] = {1.5, 1.5} } }; [12] = { [1] = { [1] = {1.55, 0.2}; [2] = {0.9, 2} }; [2] = { [1] = {1.55, 0.4}; [2] = {0.675, 2} }; [3] = { [1] = {1.55, 0.6}; [2] = {0.9, 2}; [3] = {4, 1} }; [4] = { [1] = {1.55, 0.8}; [2] = {1, 2} }; [5] = { [1] = {1.55, 1}; [2] = {0.675, 2} }; [6] = { [1] = {1.55, 1.2}; [2] = {1, 2} }; [7] = { [1] = {1.55, 1.4}; [2] = {1.05, 2}; [3] = {1.5, 1.5} }; [8] = { [1] = {1.55, 1.6}; [2] = {0.675, 2}; [3] = {1.5, 1.5} }; [9] = { [1] = {1.55, 1.6}; [2] = {1.05, 2} }; [10] = { [1] = {1.55, 1.4}; [2] = {1.2, 2} }; [11] = { [1] = {1.55, 1.2}; [2] = {0.675, 2}; [3] = {4, 1} }; [12] = { [1] = {1.55, 1}; [2] = {1.2, 2} }; [13] = { [1] = {1.55, 0.8}; [2] = {1.35, 2} }; [14] = { [1] = {1.55, 0.6}; [2] = {0.675, 2} }; [15] = { [1] = {1.55, 0.4}; [2] = {1, 2}; [3] = {1.5, 1.5} }; [16] = { [1] = {1.55, 0.2}; [2] = {1.35, 2}; [3] = {1.5, 1.5} }; [17] = { [1] = {1.55, 0.2}; [2] = {1.8, 2} }; [18] = { [1] = {1.55, 0.4}; [2] = {1.35, 2} }; [19] = { [1] = {1.55, 0.6}; [2] = {1.05, 2}; [3] = {4, 1} }; [20] = { [1] = {1.55, 0.8}; [2] = {1.35, 2} }; [21] = { [1] = {1.55, 1}; [2] = {1.05, 2} }; [22] = { [1] = {1.55, 1.2}; [2] = {0.9, 2} }; [23] = { [1] = {1.55, 1.4}; [2] = {1.05, 2}; [3] = {1.5, 1.5} }; [24] = { [1] = {1.55, 1.6}; [2] = {0.9, 2}; [3] = {1.5, 1.5} }; [25] = { [1] = {1.55, 1.6}; [2] = {0.675, 2} }; [26] = { [1] = {1.55, 1.4}; [2] = {0.9, 2} }; [27] = { [1] = {1.55, 1.2}; [2] = {0.675, 2}; [3] = {4, 1} }; [28] = { [1] = {1.55, 1}; [2] = {0.525, 2} }; [29] = { [1] = {1.55, 0.8}; [2] = {2.4, 2} }; [30] = { [1] = {1.55, 0.6}; [2] = {2.1, 2} }; [31] = { [1] = {1.55, 0.4}; [2] = {2, 2}; [3] = {1.5, 1.5} }; [32] = { [1] = {1.55, 0.2}; [2] = {1.8, 2}; [3] = {1.5, 1.5} }; }; [13] = { [1] = { [1] = {1.225, 0.2}; [2] = {0.7, 2} }; [2] = { [1] = {1.225, 0.4}; [2] = {0.525, 2} }; [3] = { [1] = {1.225, 0.6}; [2] = {0.7, 2}; [3] = {4, 1} }; [4] = { [1] = {1.225, 0.8}; [2] = {0.8, 2} }; [5] = { [1] = {1.225, 1}; [2] = {0.525, 2} }; [6] = { [1] = {1.225, 1.2}; [2] = {0.8, 2} }; [7] = { [1] = {1.225, 1.4}; [2] = {0.9, 2}; [3] = {1.5, 1.5} }; [8] = { [1] = {1.225, 1.6}; [2] = {0.525, 2}; [3] = {1.5, 1.5} }; [9] = { [1] = {1.225, 1.6}; [2] = {0.9, 2} }; [10] = { [1] = {1.225, 1.4}; [2] = {1, 2} }; [11] = { [1] = {1.225, 1.2}; [2] = {0.525, 2}; [3] = {4, 1} }; [12] = { [1] = {1.225, 1}; [2] = {1, 2} }; [13] = { [1] = {1.225, 0.8}; [2] = {1.05, 2} }; [14] = { [1] = {1.225, 0.6}; [2] = {0.525, 2} }; [15] = { [1] = {1.225, 0.4}; [2] = {0.9, 2}; [3] = {1.5, 1.5} }; [16] = { [1] = {1.225, 0.2}; [2] = {1.05, 2}; [3] = {1.5, 1.5} }; [17] = { [1] = {1.225, 0.2}; [2] = {1.425, 2} }; [18] = { [1] = {1.225, 0.4}; [2] = {1.05, 2} }; [19] = { [1] = {1.225, 0.6}; [2] = {0.9, 2}; [3] = {4, 1} }; [20] = { [1] = {1.225, 0.8}; [2] = {1.05, 2} }; [21] = { [1] = {1.225, 1}; [2] = {0.9, 2} }; [22] = { [1] = {1.225, 1.2}; [2] = {0.7, 2} }; [23] = { [1] = {1.225, 1.4}; [2] = {0.9, 2}; [3] = {1.5, 1.5} }; [24] = { [1] = {1.225, 1.6}; [2] = {0.7, 2}; [3] = {1.5, 1.5} }; [25] = { [1] = {1.225, 1.6}; [2] = {0.525, 2} }; [26] = { [1] = {1.225, 1.4}; [2] = {0.7, 2} }; [27] = { [1] = {1.225, 1.2}; [2] = {0.525, 2}; [3] = {4, 1} }; [28] = { [1] = {1.225, 1}; [2] = {0.45, 2} }; [29] = { [1] = {1.225, 0.8}; [2] = {2.4, 2} }; [30] = { [1] = {1.225, 0.6}; [2] = {2.1, 2} }; [31] = { [1] = {1.225, 0.4}; [2] = {2, 2}; [3] = {1.5, 1.5} }; [32] = { [1] = {1.225, 0.2}; [2] = {1.8, 2}; [3] = {1.5, 1.5} }; } }; ["Measures"] = { 1; 2; 3; 1; 2; 4; 5; 6; 7; 5; 6; 8; 9; 10; 9; 11; 12; 13; 9; 10; 9; 11 } } } local speed = 1 owner.Chatted:Connect(function(msg) if msg:sub(1, 3) == '/e ' then msg = msg:sub(4) end if msg:sub(1, 6) == "speed " then speed = msg:sub(7) end end) local function playSong(song) task.spawn(function() local tempo = 60 / song["Tempo"] local patterns = song["Patterns"] local measures = song["Measures"] local currentMeasure = 1 local currentPattern = measures[currentMeasure] local currentNote = 0 while true do currentNote = currentNote + 1 currentPattern = measures[currentMeasure] if currentNote > #patterns[currentPattern] then currentMeasure = currentMeasure + 1 if currentMeasure > #measures then currentMeasure = 1 end currentNote = 1 currentPattern = measures[currentMeasure] end if patterns[currentPattern][currentNote][1] ~= nil then playSound("bass", patterns[currentPattern][currentNote][1][1] * speed, patterns[currentPattern][currentNote][1][2]) end if patterns[currentPattern][currentNote][2] ~= nil then playSound("ping", patterns[currentPattern][currentNote][2][1] * speed, patterns[currentPattern][currentNote][2][2]) end if patterns[currentPattern][currentNote][3] ~= nil then playSound("snap", patterns[currentPattern][currentNote][3][1] * speed, patterns[currentPattern][currentNote][3][2]) end task.wait(tempo / speed) end end) end playSong(sounds["NightSong"])
Editor Settings
Theme
Key bindings
Full width
Lines