1
0
Fork 0
forked from Simnation/Main

Update main.lua

This commit is contained in:
Nordi98 2025-08-03 17:02:11 +02:00
parent 227068560a
commit 9a29e35e64

View file

@ -584,4 +584,78 @@ RegisterNUICallback('songProgress', function(data, cb)
-- Du kannst hier Song-Progress verarbeiten -- Du kannst hier Song-Progress verarbeiten
-- z.B. für eine Progress-Bar im Menü -- z.B. für eine Progress-Bar im Menü
cb('ok') cb('ok')
end) end)
-- Füge diese Funktionen zu deiner client/main.lua hinzu:
local function cleanYouTubeUrl(url)
-- Entferne Playlist-Parameter und andere Parameter
local patterns = {
"(https://www%.youtube%.com/watch%?v=[^&]+)",
"(https://youtu%.be/[^?]+)"
}
for _, pattern in ipairs(patterns) do
local cleanUrl = string.match(url, pattern)
if cleanUrl then
return cleanUrl
end
end
return url
end
local function extractVideoId(url)
local patterns = {
"youtube%.com/watch%?v=([^&]+)",
"youtu%.be/([^?]+)",
"youtube%.com/embed/([^?]+)"
}
for _, pattern in ipairs(patterns) do
local videoId = string.match(url, pattern)
if videoId then
return videoId
end
end
return nil
end
-- Aktualisiere die PlayMusic Funktion
function PlayMusic(title, url, volume)
if not title or not url then
lib.notify({
title = 'DJ System',
description = 'Titel und URL sind erforderlich',
type = 'error'
})
return
end
-- Bereinige YouTube URL
local cleanedUrl = cleanYouTubeUrl(url)
local videoId = extractVideoId(cleanedUrl)
if videoId then
lib.notify({
title = 'DJ System',
description = 'YouTube Video wird geladen: ' .. title,
type = 'info'
})
print('[DJ System] YouTube Video ID: ' .. videoId)
print('[DJ System] Bereinigte URL: ' .. cleanedUrl)
end
-- Sende an Server
TriggerServerEvent('dj:playMusic', title, cleanedUrl, volume or 50)
-- Update lokale Variablen
isPlaying = true
currentSong = {
title = title,
url = cleanedUrl,
volume = volume or 50
}
end