Mudanças entre as edições de "Widget:GlobalEventTimer"
Ir para navegação
Ir para pesquisar
Etiqueta: Reversão manual |
Etiqueta: Revertido |
||
Linha 3: | Linha 3: | ||
<div id="global-event-time"></div> | <div id="global-event-time"></div> | ||
</div> | </div> | ||
<script> | |||
//------- GLOBAL EVENTS TIMER --------- | |||
(function () { | |||
var globalEventsTimer = $('#global-event-time'); // Atualizado: ID do Timer dos Global Events | |||
var globalEventsImage = $('.global-event-image'); // Atualizado: Classe da Imagem dos Global Events | |||
var globalEventsInterval; | |||
// Informações dos eventos | |||
/* | |||
0 - Domingo | |||
1 - Segunda-feira | |||
2 - Terça-feira | |||
3 - Quarta-feira | |||
4 - Quinta-feira | |||
5 - Sexta-feira | |||
6 - Sábado | |||
*/ | |||
var globalEventsInfo = { | |||
0: [ | |||
{ name: 'Foxy Memory', time: '02:00:00', src: '/images/3/37/Foxy_memory_event.png' }, | |||
{ name: 'Foxy race (ship)', time: '09:00:00', src: '/images/2/29/Foxy_race_ship_event.png' }, | |||
{ name: 'Deathmatch', time: '12:00:00', src: '/images/4/46/Deathmatch_event.png' }, | |||
{ name: 'Foxy race', time: '15:00:00', src: '/images/e/e8/Foxy_race_event.png' }, | |||
{ name: 'Foxy quiz', time: '19:00:00', src: '/images/b/b3/Foxy_quiz_event.png' }, | |||
{ name: 'Foxy count', time: '22:00:00', src: '/images/f/f3/Foxy_count_event.png' }, | |||
], | |||
1: [ | |||
{ name: 'Foxy Memory', time: '02:00:00', src: '/images/3/37/Foxy_memory_event.png' }, | |||
{ name: 'Foxy race (ship)', time: '09:00:00', src: '/images/2/29/Foxy_race_ship_event.png' }, | |||
{ name: 'Deathmatch', time: '12:00:00', src: '/images/4/46/Deathmatch_event.png' }, | |||
{ name: 'Foxy race', time: '15:00:00', src: '/images/e/e8/Foxy_race_event.png' }, | |||
{ name: 'Foxy quiz', time: '19:00:00', src: '/images/b/b3/Foxy_quiz_event.png' }, | |||
{ name: 'Foxy count', time: '22:00:00', src: '/images/f/f3/Foxy_count_event.png' }, | |||
], | |||
2: [ | |||
{ name: 'Foxy race (ship)', time: '02:00:00', src: '/images/2/29/Foxy_race_ship_event.png' }, | |||
{ name: 'Deathmatch', time: '09:00:00', src: '/images/4/46/Deathmatch_event.png' }, | |||
{ name: 'Foxy race', time: '12:00:00', src: '/images/e/e8/Foxy_race_event.png' }, | |||
{ name: 'Foxy quiz', time: '15:00:00', src: '/images/b/b3/Foxy_quiz_event.png' }, | |||
{ name: 'Foxy count', time: '19:00:00', src: '/images/f/f3/Foxy_count_event.png' }, | |||
{ name: 'Foxy Memory', time: '22:00:00', src: '/images/3/37/Foxy_memory_event.png' }, | |||
], | |||
3: [ | |||
{ name: 'Deathmatch', time: '02:00:00', src: '/images/4/46/Deathmatch_event.png' }, | |||
{ name: 'Foxy race', time: '09:00:00', src: '/images/e/e8/Foxy_race_event.png' }, | |||
{ name: 'Foxy quiz', time: '12:00:00', src: '/images/b/b3/Foxy_quiz_event.png' }, | |||
{ name: 'Foxy count', time: '15:00:00', src: '/images/f/f3/Foxy_count_event.png' }, | |||
{ name: 'Foxy Memory', time: '19:00:00', src: '/images/3/37/Foxy_memory_event.png' }, | |||
{ name: 'Foxy race (ship)', time: '22:00:00', src: '/images/2/29/Foxy_race_ship_event.png' }, | |||
], | |||
4: [ | |||
{ name: 'Foxy race', time: '02:00:00', src: '/images/e/e8/Foxy_race_event.png' }, | |||
{ name: 'Foxy quiz', time: '09:00:00', src: '/images/b/b3/Foxy_quiz_event.png' }, | |||
{ name: 'Foxy count', time: '12:00:00', src: '/images/f/f3/Foxy_count_event.png' }, | |||
{ name: 'Foxy Memory', time: '15:00:00', src: '/images/3/37/Foxy_memory_event.png' }, | |||
{ name: 'Foxy race (ship)', time: '19:00:00', src: '/images/2/29/Foxy_race_ship_event.png' }, | |||
{ name: 'Deathmatch', time: '22:00:00', src: '/images/4/46/Deathmatch_event.png' }, | |||
], | |||
5: [ | |||
{ name: 'Foxy quiz', time: '02:00:00', src: '/images/b/b3/Foxy_quiz_event.png' }, | |||
{ name: 'Foxy count', time: '09:00:00', src: '/images/f/f3/Foxy_count_event.png' }, | |||
{ name: 'Foxy Memory', time: '12:00:00', src: '/images/3/37/Foxy_memory_event.png' }, | |||
{ name: 'Foxy race (ship)', time: '15:00:00', src: '/images/2/29/Foxy_race_ship_event.png' }, | |||
{ name: 'Deathmatch', time: '19:00:00', src: '/images/4/46/Deathmatch_event.png' }, | |||
{ name: 'Foxy race', time: '22:00:00', src: '/images/e/e8/Foxy_race_event.png' }, | |||
], | |||
6: [ | |||
{ name: 'Foxy count', time: '02:00:00', src: '/images/f/f3/Foxy_count_event.png' }, | |||
{ name: 'Foxy Memory', time: '09:00:00', src: '/images/3/37/Foxy_memory_event.png' }, | |||
{ name: 'Foxy race (ship)', time: '12:00:00', src: '/images/2/29/Foxy_race_ship_event.png' }, | |||
{ name: 'Deathmatch', time: '15:00:00', src: '/images/4/46/Deathmatch_event.png' }, | |||
{ name: 'Foxy race', time: '21:55:00', src: '/images/e/e8/Foxy_race_event.png' }, | |||
{ name: 'Foxy quiz', time: '22:00:00', src: '/images/b/b3/Foxy_quiz_event.png' }, | |||
] | |||
}; | |||
function pad(value) { | |||
return value < 10 ? '0' + value : value; | |||
} | |||
function getBrazilTime() { | |||
var now = new Date(); | |||
var utc = now.getTime() + (now.getTimezoneOffset() * 60000); // Converte para UTC | |||
return new Date(utc - (3 * 3600000)); // Ajusta para UTC-3 | |||
} | |||
function startGlobalEventCountdown(eventStartTime, eventEndTime) { | |||
if (globalEventsInterval) clearInterval(globalEventsInterval); | |||
globalEventsInterval = setInterval(function () { | |||
var now = getBrazilTime().getTime(); | |||
if (now < eventEndTime) { | |||
var timeRemaining = Math.ceil((eventEndTime - now) / 1000); // Segundos restantes | |||
var minutes = Math.floor(timeRemaining / 60); | |||
var seconds = timeRemaining % 60; | |||
globalEventsTimer.html('Iniciando: ' + pad(minutes) + ":" + pad(seconds)); | |||
} else { | |||
clearInterval(globalEventsInterval); | |||
setGlobalEvent(); | |||
} | |||
}, 1000); | |||
} | |||
function setGlobalEvent() { | |||
var now = getBrazilTime(); // Usa o horário do Brasil | |||
var dayEvents = globalEventsInfo[now.getDay()]; | |||
if (!dayEvents || dayEvents.length === 0) { | |||
globalEventsImage.attr('src', '/images/0/0a/Anyevent.png'); // Imagem padrão | |||
globalEventsTimer.html('Acabaram os eventos por hoje'); | |||
return; | |||
} | |||
for (var i = 0; i < dayEvents.length; i++) { | |||
var event = dayEvents[i]; | |||
var timeParts = event.time.split(':'); | |||
var eventStartTime = new Date( | |||
now.getFullYear(), | |||
now.getMonth(), | |||
now.getDate(), | |||
parseInt(timeParts[0], 10), | |||
parseInt(timeParts[1], 10), | |||
parseInt(timeParts[2], 10) | |||
).getTime(); | |||
var eventEndTime = eventStartTime + 5 * 60 * 1000; // Evento dura 5 minutos para entrada | |||
if (now >= eventStartTime && now < eventEndTime) { | |||
// Durante o período de entrada do evento | |||
globalEventsImage.attr('src', event.src); | |||
startGlobalEventCountdown(eventStartTime, eventEndTime); | |||
return; | |||
} | |||
if (now < eventStartTime) { | |||
// Antes do evento, exibe o horário fixo | |||
globalEventsImage.attr('src', event.src); | |||
globalEventsTimer.html( | |||
new Date(eventStartTime).toLocaleTimeString('pt-BR', { | |||
hour: '2-digit', | |||
minute: '2-digit', | |||
}) | |||
); | |||
// Só inicia a contagem regressiva quando estiver próximo (faltando 5 minutos ou menos) | |||
if (eventStartTime - now <= 5 * 60 * 1000) { | |||
startGlobalEventCountdown(eventStartTime, eventEndTime); | |||
} | |||
return; | |||
} | |||
} | |||
// Após o último evento do dia | |||
globalEventsImage.attr('src', '/images/0/0a/Anyevent.png'); // Imagem padrão | |||
globalEventsTimer.html('Acabaram os eventos por hoje'); | |||
} | |||
$(document).ready(function () { | |||
setGlobalEvent(); | |||
}); | |||
})(); | |||
//------- GLOBAL EVENTS TIMER --------- | |||
</script> |
Edição das 18h24min de 31 de março de 2025
<script> //------- GLOBAL EVENTS TIMER ---------
(function () { var globalEventsTimer = $('#global-event-time'); // Atualizado: ID do Timer dos Global Events var globalEventsImage = $('.global-event-image'); // Atualizado: Classe da Imagem dos Global Events var globalEventsInterval;
// Informações dos eventos /* 0 - Domingo 1 - Segunda-feira 2 - Terça-feira 3 - Quarta-feira 4 - Quinta-feira 5 - Sexta-feira 6 - Sábado */ var globalEventsInfo = { 0: [ { name: 'Foxy Memory', time: '02:00:00', src: '/images/3/37/Foxy_memory_event.png' }, { name: 'Foxy race (ship)', time: '09:00:00', src: '/images/2/29/Foxy_race_ship_event.png' }, { name: 'Deathmatch', time: '12:00:00', src: '/images/4/46/Deathmatch_event.png' }, { name: 'Foxy race', time: '15:00:00', src: '/images/e/e8/Foxy_race_event.png' }, { name: 'Foxy quiz', time: '19:00:00', src: '/images/b/b3/Foxy_quiz_event.png' }, { name: 'Foxy count', time: '22:00:00', src: '/images/f/f3/Foxy_count_event.png' }, ], 1: [ { name: 'Foxy Memory', time: '02:00:00', src: '/images/3/37/Foxy_memory_event.png' }, { name: 'Foxy race (ship)', time: '09:00:00', src: '/images/2/29/Foxy_race_ship_event.png' }, { name: 'Deathmatch', time: '12:00:00', src: '/images/4/46/Deathmatch_event.png' }, { name: 'Foxy race', time: '15:00:00', src: '/images/e/e8/Foxy_race_event.png' }, { name: 'Foxy quiz', time: '19:00:00', src: '/images/b/b3/Foxy_quiz_event.png' }, { name: 'Foxy count', time: '22:00:00', src: '/images/f/f3/Foxy_count_event.png' }, ], 2: [ { name: 'Foxy race (ship)', time: '02:00:00', src: '/images/2/29/Foxy_race_ship_event.png' }, { name: 'Deathmatch', time: '09:00:00', src: '/images/4/46/Deathmatch_event.png' }, { name: 'Foxy race', time: '12:00:00', src: '/images/e/e8/Foxy_race_event.png' }, { name: 'Foxy quiz', time: '15:00:00', src: '/images/b/b3/Foxy_quiz_event.png' }, { name: 'Foxy count', time: '19:00:00', src: '/images/f/f3/Foxy_count_event.png' }, { name: 'Foxy Memory', time: '22:00:00', src: '/images/3/37/Foxy_memory_event.png' }, ], 3: [ { name: 'Deathmatch', time: '02:00:00', src: '/images/4/46/Deathmatch_event.png' }, { name: 'Foxy race', time: '09:00:00', src: '/images/e/e8/Foxy_race_event.png' }, { name: 'Foxy quiz', time: '12:00:00', src: '/images/b/b3/Foxy_quiz_event.png' }, { name: 'Foxy count', time: '15:00:00', src: '/images/f/f3/Foxy_count_event.png' }, { name: 'Foxy Memory', time: '19:00:00', src: '/images/3/37/Foxy_memory_event.png' }, { name: 'Foxy race (ship)', time: '22:00:00', src: '/images/2/29/Foxy_race_ship_event.png' }, ], 4: [ { name: 'Foxy race', time: '02:00:00', src: '/images/e/e8/Foxy_race_event.png' }, { name: 'Foxy quiz', time: '09:00:00', src: '/images/b/b3/Foxy_quiz_event.png' }, { name: 'Foxy count', time: '12:00:00', src: '/images/f/f3/Foxy_count_event.png' }, { name: 'Foxy Memory', time: '15:00:00', src: '/images/3/37/Foxy_memory_event.png' }, { name: 'Foxy race (ship)', time: '19:00:00', src: '/images/2/29/Foxy_race_ship_event.png' }, { name: 'Deathmatch', time: '22:00:00', src: '/images/4/46/Deathmatch_event.png' }, ], 5: [ { name: 'Foxy quiz', time: '02:00:00', src: '/images/b/b3/Foxy_quiz_event.png' }, { name: 'Foxy count', time: '09:00:00', src: '/images/f/f3/Foxy_count_event.png' }, { name: 'Foxy Memory', time: '12:00:00', src: '/images/3/37/Foxy_memory_event.png' }, { name: 'Foxy race (ship)', time: '15:00:00', src: '/images/2/29/Foxy_race_ship_event.png' }, { name: 'Deathmatch', time: '19:00:00', src: '/images/4/46/Deathmatch_event.png' }, { name: 'Foxy race', time: '22:00:00', src: '/images/e/e8/Foxy_race_event.png' }, ], 6: [ { name: 'Foxy count', time: '02:00:00', src: '/images/f/f3/Foxy_count_event.png' }, { name: 'Foxy Memory', time: '09:00:00', src: '/images/3/37/Foxy_memory_event.png' }, { name: 'Foxy race (ship)', time: '12:00:00', src: '/images/2/29/Foxy_race_ship_event.png' }, { name: 'Deathmatch', time: '15:00:00', src: '/images/4/46/Deathmatch_event.png' }, { name: 'Foxy race', time: '21:55:00', src: '/images/e/e8/Foxy_race_event.png' }, { name: 'Foxy quiz', time: '22:00:00', src: '/images/b/b3/Foxy_quiz_event.png' }, ] };
function pad(value) { return value < 10 ? '0' + value : value; }
function getBrazilTime() { var now = new Date(); var utc = now.getTime() + (now.getTimezoneOffset() * 60000); // Converte para UTC return new Date(utc - (3 * 3600000)); // Ajusta para UTC-3 }
function startGlobalEventCountdown(eventStartTime, eventEndTime) { if (globalEventsInterval) clearInterval(globalEventsInterval);
globalEventsInterval = setInterval(function () { var now = getBrazilTime().getTime();
if (now < eventEndTime) { var timeRemaining = Math.ceil((eventEndTime - now) / 1000); // Segundos restantes var minutes = Math.floor(timeRemaining / 60); var seconds = timeRemaining % 60; globalEventsTimer.html('Iniciando: ' + pad(minutes) + ":" + pad(seconds)); } else { clearInterval(globalEventsInterval); setGlobalEvent(); } }, 1000); }
function setGlobalEvent() { var now = getBrazilTime(); // Usa o horário do Brasil var dayEvents = globalEventsInfo[now.getDay()];
if (!dayEvents || dayEvents.length === 0) { globalEventsImage.attr('src', '/images/0/0a/Anyevent.png'); // Imagem padrão globalEventsTimer.html('Acabaram os eventos por hoje'); return; }
for (var i = 0; i < dayEvents.length; i++) { var event = dayEvents[i]; var timeParts = event.time.split(':'); var eventStartTime = new Date( now.getFullYear(), now.getMonth(), now.getDate(), parseInt(timeParts[0], 10), parseInt(timeParts[1], 10), parseInt(timeParts[2], 10) ).getTime(); var eventEndTime = eventStartTime + 5 * 60 * 1000; // Evento dura 5 minutos para entrada
if (now >= eventStartTime && now < eventEndTime) { // Durante o período de entrada do evento globalEventsImage.attr('src', event.src); startGlobalEventCountdown(eventStartTime, eventEndTime); return; }
if (now < eventStartTime) { // Antes do evento, exibe o horário fixo globalEventsImage.attr('src', event.src); globalEventsTimer.html( new Date(eventStartTime).toLocaleTimeString('pt-BR', { hour: '2-digit', minute: '2-digit', }) );
// Só inicia a contagem regressiva quando estiver próximo (faltando 5 minutos ou menos) if (eventStartTime - now <= 5 * 60 * 1000) { startGlobalEventCountdown(eventStartTime, eventEndTime); } return; } }
// Após o último evento do dia globalEventsImage.attr('src', '/images/0/0a/Anyevent.png'); // Imagem padrão globalEventsTimer.html('Acabaram os eventos por hoje'); }
$(document).ready(function () { setGlobalEvent(); }); })(); //------- GLOBAL EVENTS TIMER ---------
</script>