forked from Simnation/Main
ed
This commit is contained in:
parent
0796557bb6
commit
585ee069c2
2 changed files with 64 additions and 9 deletions
|
@ -188,7 +188,6 @@ RegisterNetEvent('dj:client:receiveActiveDJs', function(booths)
|
|||
end
|
||||
end)
|
||||
|
||||
-- NUI Callbacks
|
||||
RegisterNUICallback('djInterfaceClosed', function(data, cb)
|
||||
SetNuiFocus(false, false)
|
||||
isUIOpen = false
|
||||
|
@ -199,9 +198,18 @@ RegisterNUICallback('djInterfaceClosed', function(data, cb)
|
|||
-- Aktiviere alle Controls wieder
|
||||
EnableAllControlActions(0)
|
||||
|
||||
-- Musik NICHT stoppen, wenn stopMusic nicht explizit true ist
|
||||
if data.stopMusic then
|
||||
-- Stoppe Musik nur wenn explizit angefordert
|
||||
if currentBooth then
|
||||
TriggerServerEvent('dj:server:stopMusic', currentBooth.name)
|
||||
end
|
||||
end
|
||||
|
||||
cb('ok')
|
||||
end)
|
||||
|
||||
|
||||
RegisterNUICallback('deckStateChanged', function(data, cb)
|
||||
if Config.Debug then
|
||||
print(string.format('[DJ System] Deck %s %s: %s',
|
||||
|
|
|
@ -1112,6 +1112,18 @@ function setupInterfaceControls() {
|
|||
const header = document.querySelector('.dj-header');
|
||||
const resizeHandle = document.createElement('div');
|
||||
|
||||
// Verbesserte Schließen-Funktion
|
||||
const closeBtn = document.querySelector('.close-btn');
|
||||
if (closeBtn) {
|
||||
closeBtn.addEventListener('click', function(e) {
|
||||
// Nur Interface schließen, Musik weiterlaufen lassen
|
||||
closeDJInterface();
|
||||
e.preventDefault();
|
||||
e.stopPropagation();
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
// Erstelle Resize-Handle
|
||||
resizeHandle.className = 'resize-handle';
|
||||
resizeHandle.innerHTML = '<i class="fas fa-grip-lines-diagonal"></i>';
|
||||
|
@ -1163,16 +1175,16 @@ function setupInterfaceControls() {
|
|||
});
|
||||
|
||||
// Verbesserte Schließen-Funktion
|
||||
const closeBtn = document.querySelector('.close-btn');
|
||||
if (closeBtn) {
|
||||
closeBtn.addEventListener('click', function(e) {
|
||||
// Korrigierte Schreibweise: close-btn ist die CSS-Klasse
|
||||
const closeButton = document.querySelector('.close-btn');
|
||||
if (closeButton) {
|
||||
closeButton.addEventListener('click', function(e) {
|
||||
closeDJInterface();
|
||||
e.preventDefault();
|
||||
e.stopPropagation();
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
function handleDrag(e) {
|
||||
if (!isDragging) return;
|
||||
|
||||
|
@ -1229,8 +1241,7 @@ function stopResize() {
|
|||
}
|
||||
|
||||
function closeDJInterface() {
|
||||
// Stoppe alle laufenden Prozesse
|
||||
stopAllAudio();
|
||||
|
||||
|
||||
// Entferne Event-Listener
|
||||
document.removeEventListener('mousemove', handleDrag);
|
||||
|
@ -1245,9 +1256,11 @@ function closeDJInterface() {
|
|||
}
|
||||
|
||||
// Benachrichtige FiveM
|
||||
notifyFiveM('djInterfaceClosed', {});
|
||||
notifyFiveM('djInterfaceClosed', {
|
||||
stopMusic: false // Wichtig: Teile FiveM mit, dass die Musik weiterlaufen soll
|
||||
});
|
||||
|
||||
console.log('DJ System: Interface closed');
|
||||
console.log('DJ System: Interface closed, music continues playing');
|
||||
}
|
||||
|
||||
function stopAllAudio() {
|
||||
|
@ -1542,3 +1555,37 @@ console.log('Z/X/C - Crossfader positions');
|
|||
console.log('R - Toggle recording');
|
||||
console.log('Space - Play/Pause current deck');
|
||||
|
||||
// In script.js - Separate Funktion zum Stoppen der Musik
|
||||
function stopAllAudioAndCloseInterface() {
|
||||
// Stoppe YouTube-Player
|
||||
for (const deck of ['A', 'B']) {
|
||||
if (djInterface.decks[deck].youtubePlayer) {
|
||||
try {
|
||||
djInterface.decks[deck].youtubePlayer.stopVideo();
|
||||
} catch (e) {
|
||||
console.error(`DJ System: Error stopping YouTube player for Deck ${deck}`, e);
|
||||
}
|
||||
}
|
||||
|
||||
// Stoppe Audio-Player
|
||||
if (djInterface.decks[deck].player) {
|
||||
try {
|
||||
djInterface.decks[deck].player.pause();
|
||||
djInterface.decks[deck].player.currentTime = 0;
|
||||
} catch (e) {
|
||||
console.error(`DJ System: Error stopping audio player for Deck ${deck}`, e);
|
||||
}
|
||||
}
|
||||
|
||||
// Reset Deck-Status
|
||||
djInterface.decks[deck].isPlaying = false;
|
||||
}
|
||||
|
||||
// Schließe Interface
|
||||
closeDJInterface();
|
||||
|
||||
// Benachrichtige FiveM, dass die Musik gestoppt werden soll
|
||||
notifyFiveM('djInterfaceClosed', {
|
||||
stopMusic: true
|
||||
});
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue