Obrigado pelo reconhecimento, @André. MuOnline para mim sempre será uma das formas de adquirir conhecimento e, como troca, devemos compartilhar sempre que possível.
help
Como pegar os horários dos eventos?
Printable View
Obrigado pelo reconhecimento, @André. MuOnline para mim sempre será uma das formas de adquirir conhecimento e, como troca, devemos compartilhar sempre que possível.
help
Como pegar os horários dos eventos?
geralmente é configurando em um arquivo .js os horarios etc
Era chamada com <span id="divSurvivor">-</span> etc..Código:
var interval = [];
function eTimeFormat(value) {
if (value < 0) return "00";
if (value < 10) return "0" + value;
return value;
}
function eGetTime(nextTime, divid, OpenTime) {
var seconds = Math.floor((nextTime - new Date()) / 1000);
var minutes = Math.floor(seconds / 60);
var hours = Math.floor(seconds / 60 / 60);
var days = Math.floor(seconds / 60 / 60 / 24);
var minutesReal = Math.floor(seconds / 60);
seconds = seconds % 60;
minutes = minutes % 60;
hours = hours % 24;
days = days;
hours = eTimeFormat(hours);
minutes = eTimeFormat(minutes);
seconds = eTimeFormat(seconds);
//Habilitar se for usar os eventos do game
if(days <= 0 && hours <= 0 && minutes <= OpenTime) {
if(minutes == OpenTime && seconds > 0) {
$("#"+divid).html((seconds + "s"));
return false;
}
if(divid == 'divSurvivor') {
if(minutesReal < -1) {
clearInterval(interval[nextSurvivor]);
nextSurvivor = new Date();
eSurvivor();
} else {
$("#"+divid).html("<b style=\"color:#8BC34A;\">Aberto</b>");
}
}
else if(divid == 'divRace') {
if(minutesReal < -1) {
clearInterval(interval[nextRace]);
nextRace = new Date();
eRace();
} else {
$("#"+divid).html("<b style=\"color:#8BC34A;\">Aberto</b>");
}
}
else if(divid == 'divPVP') {
if(minutesReal < -1) {
clearInterval(interval[nextPVP]);
nextPVP = new Date();
ePVP();
} else {
$("#"+divid).html("<b style=\"color:#8BC34A;\">Aberto</b>");
}
}
else if(divid == 'divMataMata') {
if(minutesReal < -1) {
clearInterval(interval[nextMataMata]);
nextMataMata = new Date();
eMataMata();
} else {
$("#"+divid).html("<b style=\"color:#8BC34A;\">Aberto</b>");
}
}
else if(divid == 'divLordDeath') {
if(minutesReal < -1) {
clearInterval(interval[nextLordDeath]);
nextLordDeath = new Date();
eLordDeath();
} else {
$("#"+divid).html("<b style=\"color:#8BC34A;\">Aberto</b>");
}
}
else if(divid == 'divWar') {
if(minutesReal < -1) {
clearInterval(interval[nextWar]);
nextWar = new Date();
eWar();
} else {
$("#"+divid).html("<b style=\"color:#8BC34A;\">Aberto</b>");
}
}
else if(divid == 'divJewel') {
if(minutesReal < -1) {
clearInterval(interval[nextJewel]);
nextJewel = new Date();
eJewel();
} else {
$("#"+divid).html("<b style=\"color:#8BC34A;\">Aberto</b>");
}
}
else if(divid == 'divDrop') {
if(minutesReal < -1) {
clearInterval(interval[nextDrop]);
nextDrop = new Date();
eDrop();
} else {
$("#"+divid).html("<b style=\"color:#8BC34A;\">Aberto</b>");
}
}
else if(divid == 'divSorteioPontos') {
console.log(minutesReal + ' - '+ seconds);
if(minutesReal < -1) {
clearInterval(interval[nextSorteioPontos]);
nextSorteioPontos = new Date();
eSorteioPontos();
} else {
$("#"+divid).html("<b style=\"color:#8BC34A;\">Sorteado</b>");
}
}
else if(divid == 'divChaosCastle') {
if(minutesReal < -1) {
clearInterval(interval[nextChaosCastle]);
nextChaosCastle = new Date();
eChaosCastle();
} else {
$("#"+divid).html("<b style=\"color:#8BC34A;\">Aberto</b>");
}
}
else if(divid == 'divBloodCastle') {
if(minutesReal < -1) {
clearInterval(interval[nextBloodCastle]);
nextBloodCastle = new Date();
eBloodCastle();
} else {
$("#"+divid).html("<b style=\"color:#8BC34A;\">Aberto</b>");
}
}
} else if(days > 0) {
$("#"+divid).html((days + "d:" + hours + "h:" + (minutes-OpenTime < 0 ? minutes : eTimeFormat(minutes-OpenTime)) + "m:" + seconds + "s"));
}
else if(hours > 0) {
$("#"+divid).html((hours + "h:" + (minutes-OpenTime < 0 ? minutes : eTimeFormat(minutes-OpenTime)) + "m:" + seconds + "s"));
}
else if((minutes) > 0) {
$("#"+divid).html(((minutes-OpenTime < 0 ? minutes : eTimeFormat(minutes-OpenTime)) + "m:" + seconds + "s"));
}
else if(seconds > 0) {
$("#"+divid).html((seconds + "s"));
}
}
//segunda 1, terça 2, quarta 3, quinta 4, sexta 5, sábado 6, domingo 7
function eSurvivor() {
var time = new Array(new Array()); //segunda 1, até domingo 7
time[0] = new Array('x', 2, 7);
time[1] = new Array('x', 5, 7);
time[2] = new Array('x', 8, 7);
time[3] = new Array('x', 13, 7);
time[4] = new Array('x', 18, 7);
var currentDate = new Date();
var currentDay = (currentDate.getDay() == 0) ? 7 : currentDate.getDay();
var dayNow = 0;
var haveEvent = 0;
for (var i = 0; i < time.length; i++) {
if(time[i][0] >= currentDay || time[i][0] == 'x') {
nextDay = (time[i][0] > currentDay) ? 1 : 0;
if(time[i][0] != 'x') {
dayNow = ((time[i][0]-currentDay) < 0 ? ((time[i][0]-currentDay)+7) : (time[i][0]-currentDay));
}
if (nextDay == 1 || time[i][1] > currentDate.getHours() || (time[i][1] == currentDate.getHours() && time[i][2] >= currentDate.getMinutes())) {
haveEvent = 1;
nextEvent = new Date(currentDate.getFullYear(), currentDate.getMonth(), currentDate.getDate(), time[i][1], time[i][2], 0, 0);
nextEvent = new Date(nextEvent.getTime()+(dayNow*(86400*1000)));
break;
}
}
}
if(haveEvent == 0) {
dayNow = (time[0][0] == 'x') ? 1 : ((time[0][0]-currentDay) <= 0 ? ((time[0][0]-currentDay)+7) : (time[0][0]-currentDay));
nextEvent = new Date(currentDate.getFullYear(), currentDate.getMonth(), currentDate.getDate(), time[0][1], time[0][2], 0, 0);
nextEvent = new Date(nextEvent.getTime()+(dayNow*(86400*1000)));
}
nextSurvivor = nextEvent;
interval[nextSurvivor] = setInterval("eGetTime(nextSurvivor, 'divSurvivor', 7);", 1000);
}
function eRace() {
var time = new Array(new Array()); //segunda 1, até domingo 7
time[0] = new Array('x', 1, 5);
time[1] = new Array('x', 4, 5);
time[2] = new Array('x', 11, 5);
time[3] = new Array('x', 16, 5);
time[4] = new Array('x', 21, 5);
var currentDate = new Date();
var currentDay = (currentDate.getDay() == 0) ? 7 : currentDate.getDay();
var dayNow = 0;
var haveEvent = 0;
for (var i = 0; i < time.length; i++) {
if(time[i][0] >= currentDay || time[i][0] == 'x') {
nextDay = (time[i][0] > currentDay) ? 1 : 0;
if(time[i][0] != 'x') {
dayNow = ((time[i][0]-currentDay) < 0 ? ((time[i][0]-currentDay)+7) : (time[i][0]-currentDay));
}
if (nextDay == 1 || time[i][1] > currentDate.getHours() || (time[i][1] == currentDate.getHours() && time[i][2] >= currentDate.getMinutes())) {
haveEvent = 1;
nextEvent = new Date(currentDate.getFullYear(), currentDate.getMonth(), currentDate.getDate(), time[i][1], time[i][2], 0, 0);
nextEvent = new Date(nextEvent.getTime()+(dayNow*(86400*1000)));
break;
}
}
}
if(haveEvent == 0) {
dayNow = (time[0][0] == 'x') ? 1 : ((time[0][0]-currentDay) <= 0 ? ((time[0][0]-currentDay)+7) : (time[0][0]-currentDay));
nextEvent = new Date(currentDate.getFullYear(), currentDate.getMonth(), currentDate.getDate(), time[0][1], time[0][2], 0, 0);
nextEvent = new Date(nextEvent.getTime()+(dayNow*(86400*1000)));
}
nextRace = nextEvent;
interval[nextRace] = setInterval("eGetTime(nextRace, 'divRace', 5);", 1000);
}
function ePVP() {
var time = new Array(new Array()); //segunda 1, até domingo 7
time[0] = new Array('x', 0, 7);
time[1] = new Array('x', 3, 7);
time[2] = new Array('x', 10, 7);
time[3] = new Array('x', 15, 7);
time[4] = new Array('x', 20, 7);
var currentDate = new Date();
var currentDay = (currentDate.getDay() == 0) ? 7 : currentDate.getDay();
var dayNow = 0;
var haveEvent = 0;
for (var i = 0; i < time.length; i++) {
if(time[i][0] >= currentDay || time[i][0] == 'x') {
nextDay = (time[i][0] > currentDay) ? 1 : 0;
if(time[i][0] != 'x') {
dayNow = ((time[i][0]-currentDay) < 0 ? ((time[i][0]-currentDay)+7) : (time[i][0]-currentDay));
}
if (nextDay == 1 || time[i][1] > currentDate.getHours() || (time[i][1] == currentDate.getHours() && time[i][2] >= currentDate.getMinutes())) {
haveEvent = 1;
nextEvent = new Date(currentDate.getFullYear(), currentDate.getMonth(), currentDate.getDate(), time[i][1], time[i][2], 0, 0);
nextEvent = new Date(nextEvent.getTime()+(dayNow*(86400*1000)));
break;
}
}
}
if(haveEvent == 0) {
dayNow = (time[0][0] == 'x') ? 1 : ((time[0][0]-currentDay) <= 0 ? ((time[0][0]-currentDay)+7) : (time[0][0]-currentDay));
nextEvent = new Date(currentDate.getFullYear(), currentDate.getMonth(), currentDate.getDate(), time[0][1], time[0][2], 0, 0);
nextEvent = new Date(nextEvent.getTime()+(dayNow*(86400*1000)));
}
nextPVP = nextEvent;
interval[nextPVP] = setInterval("eGetTime(nextPVP, 'divPVP', 7);", 1000);
}
function eMataMata() {
var time = new Array(new Array()); //segunda 1, até domingo 7
time[0] = new Array(1, 6, 5);
time[1] = new Array(1, 17, 5);
time[2] = new Array(1, 22, 5);
time[3] = new Array(2, 6, 5);
time[4] = new Array(2, 17, 5);
time[5] = new Array(2, 22, 5);
time[6] = new Array(3, 6, 5);
time[7] = new Array(3, 17, 5);
time[8] = new Array(3, 22, 5);
time[9] = new Array(4, 6, 5);
time[10] = new Array(4, 17, 5);
time[11] = new Array(4, 22, 5);
time[12] = new Array(5, 6, 5);
time[13] = new Array(5, 17, 5);
time[14] = new Array(5, 22, 5);
time[15] = new Array(6, 6, 5);
time[16] = new Array(6, 17, 5);
time[17] = new Array(7, 6, 5);
time[18] = new Array(7, 17, 5);
var currentDate = new Date();
var currentDay = (currentDate.getDay() == 0) ? 7 : currentDate.getDay();
var dayNow = 0;
var haveEvent = 0;
for (var i = 0; i < time.length; i++) {
if(time[i][0] >= currentDay || time[i][0] == 'x') {
nextDay = (time[i][0] > currentDay) ? 1 : 0;
if(time[i][0] != 'x') {
dayNow = ((time[i][0]-currentDay) < 0 ? ((time[i][0]-currentDay)+7) : (time[i][0]-currentDay));
}
if (nextDay == 1 || time[i][1] > currentDate.getHours() || (time[i][1] == currentDate.getHours() && time[i][2] >= currentDate.getMinutes())) {
haveEvent = 1;
nextEvent = new Date(currentDate.getFullYear(), currentDate.getMonth(), currentDate.getDate(), time[i][1], time[i][2], 0, 0);
nextEvent = new Date(nextEvent.getTime()+(dayNow*(86400*1000)));
break;
}
}
}
if(haveEvent == 0) {
dayNow = (time[0][0] == 'x') ? 1 : ((time[0][0]-currentDay) <= 0 ? ((time[0][0]-currentDay)+7) : (time[0][0]-currentDay));
nextEvent = new Date(currentDate.getFullYear(), currentDate.getMonth(), currentDate.getDate(), time[0][1], time[0][2], 0, 0);
nextEvent = new Date(nextEvent.getTime()+(dayNow*(86400*1000)));
}
nextMataMata = nextEvent;
interval[nextMataMata] = setInterval("eGetTime(nextMataMata, 'divMataMata', 5);", 1000);
}
function eLordDeath() {
var time = new Array(new Array()); //segunda 1, até domingo 7
time[0] = new Array(6, 22, 5);
time[1] = new Array(7, 22, 5);
var currentDate = new Date();
var currentDay = (currentDate.getDay() == 0) ? 7 : currentDate.getDay();
var dayNow = 0;
var haveEvent = 0;
for (var i = 0; i < time.length; i++) {
if(time[i][0] >= currentDay || time[i][0] == 'x') {
nextDay = (time[i][0] > currentDay) ? 1 : 0;
if(time[i][0] != 'x') {
dayNow = ((time[i][0]-currentDay) < 0 ? ((time[i][0]-currentDay)+7) : (time[i][0]-currentDay));
}
if (nextDay == 1 || time[i][1] > currentDate.getHours() || (time[i][1] == currentDate.getHours() && time[i][2] >= currentDate.getMinutes())) {
haveEvent = 1;
nextEvent = new Date(currentDate.getFullYear(), currentDate.getMonth(), currentDate.getDate(), time[i][1], time[i][2], 0, 0);
nextEvent = new Date(nextEvent.getTime()+(dayNow*(86400*1000)));
break;
}
}
}
if(haveEvent == 0) {
dayNow = (time[0][0] == 'x') ? 1 : ((time[0][0]-currentDay) <= 0 ? ((time[0][0]-currentDay)+7) : (time[0][0]-currentDay));
nextEvent = new Date(currentDate.getFullYear(), currentDate.getMonth(), currentDate.getDate(), time[0][1], time[0][2], 0, 0);
nextEvent = new Date(nextEvent.getTime()+(dayNow*(86400*1000)));
}
nextLordDeath = nextEvent;
interval[nextLordDeath] = setInterval("eGetTime(nextLordDeath, 'divLordDeath', 5);", 1000);
}
function eWar() {
var time = new Array(new Array()); //segunda 1, até domingo 7
time[0] = new Array(7, 14, 7);
var currentDate = new Date();
var currentDay = (currentDate.getDay() == 0) ? 7 : currentDate.getDay();
var dayNow = 0;
var haveEvent = 0;
for (var i = 0; i < time.length; i++) {
if(time[i][0] >= currentDay || time[i][0] == 'x') {
console.log('1');
nextDay = (time[i][0] > currentDay) ? 1 : 0;
if(time[i][0] != 'x') {
console.log('2');
dayNow = ((time[i][0]-currentDay) < 0 ? ((time[i][0]-currentDay)+7) : (time[i][0]-currentDay));
}
if (nextDay == 1 || time[i][1] > currentDate.getHours() || (time[i][1] == currentDate.getHours() && time[i][2] >= currentDate.getMinutes())) {
console.log('3');
haveEvent = 1;
nextEvent = new Date(currentDate.getFullYear(), currentDate.getMonth(), currentDate.getDate(), time[i][1], time[i][2], 0, 0);
nextEvent = new Date(nextEvent.getTime()+(dayNow*(86400*1000)));
break;
}
}
}
if(haveEvent == 0) {
dayNow = (time[0][0] == 'x') ? 1 : ((time[0][0]-currentDay) <= 0 ? ((time[0][0]-currentDay)+7) : (time[0][0]-currentDay));
nextEvent = new Date(currentDate.getFullYear(), currentDate.getMonth(), currentDate.getDate(), time[0][1], time[0][2], 0, 0);
nextEvent = new Date(nextEvent.getTime()+(dayNow*(86400*1000)));
console.log(dayNow);
}
nextWar = nextEvent;
interval[nextWar] = setInterval("eGetTime(nextWar, 'divWar', 7);", 1000);
}
function eJewel() {
var time = new Array(new Array()); //segunda 1, até domingo 7
time[0] = new Array(6, 12, 5);
time[1] = new Array(7, 12, 5);
var currentDate = new Date();
var currentDay = (currentDate.getDay() == 0) ? 7 : currentDate.getDay();
var dayNow = 0;
var haveEvent = 0;
for (var i = 0; i < time.length; i++) {
if(time[i][0] >= currentDay || time[i][0] == 'x') {
nextDay = (time[i][0] > currentDay) ? 1 : 0;
if(time[i][0] != 'x') {
dayNow = ((time[i][0]-currentDay) < 0 ? ((time[i][0]-currentDay)+7) : (time[i][0]-currentDay));
}
if (nextDay == 1 || time[i][1] > currentDate.getHours() || (time[i][1] == currentDate.getHours() && time[i][2] >= currentDate.getMinutes())) {
haveEvent = 1;
nextEvent = new Date(currentDate.getFullYear(), currentDate.getMonth(), currentDate.getDate(), time[i][1], time[i][2], 0, 0);
nextEvent = new Date(nextEvent.getTime()+(dayNow*(86400*1000)));
break;
}
}
}
if(haveEvent == 0) {
dayNow = (time[0][0] == 'x') ? 1 : ((time[0][0]-currentDay) <= 0 ? ((time[0][0]-currentDay)+7) : (time[0][0]-currentDay));
nextEvent = new Date(currentDate.getFullYear(), currentDate.getMonth(), currentDate.getDate(), time[0][1], time[0][2], 0, 0);
nextEvent = new Date(nextEvent.getTime()+(dayNow*(86400*1000)));
}
nextJewel = nextEvent;
interval[nextJewel] = setInterval("eGetTime(nextJewel, 'divJewel', 5);", 1000);
}
function eDrop() {
var time = new Array(new Array()); //segunda 1, até domingo 7
time[0] = new Array('x', 0, 2);
time[1] = new Array('x', 1, 2);
time[2] = new Array('x', 2, 0);
time[3] = new Array('x', 3, 2);
time[4] = new Array('x', 4, 2);
time[5] = new Array('x', 5, 2);
time[6] = new Array('x', 6, 2);
time[7] = new Array('x', 7, 2);
time[8] = new Array('x', 8, 2);
time[9] = new Array('x', 9, 2);
time[10] = new Array('x', 10, 2);
time[11] = new Array('x', 11, 2);
time[12] = new Array('x', 12, 2);
time[13] = new Array('x', 13, 2);
time[14] = new Array('x', 14, 2);
time[15] = new Array('x', 15, 2);
time[16] = new Array('x', 16, 2);
time[17] = new Array('x', 17, 2);
time[18] = new Array('x', 18, 2);
time[19] = new Array('x', 19, 2);
time[20] = new Array('x', 20, 2);
time[21] = new Array('x', 21, 2);
time[22] = new Array('x', 22, 2);
time[23] = new Array('x', 23, 2);
var currentDate = new Date();
var currentDay = (currentDate.getDay() == 0) ? 7 : currentDate.getDay();
var dayNow = 0;
var haveEvent = 0;
for (var i = 0; i < time.length; i++) {
if(time[i][0] >= currentDay || time[i][0] == 'x') {
nextDay = (time[i][0] > currentDay) ? 1 : 0;
if(time[i][0] != 'x') {
dayNow = ((time[i][0]-currentDay) < 0 ? ((time[i][0]-currentDay)+7) : (time[i][0]-currentDay));
}
if (nextDay == 1 || time[i][1] > currentDate.getHours() || (time[i][1] == currentDate.getHours() && time[i][2] >= currentDate.getMinutes())) {
haveEvent = 1;
nextEvent = new Date(currentDate.getFullYear(), currentDate.getMonth(), currentDate.getDate(), time[i][1], time[i][2], 0, 0);
nextEvent = new Date(nextEvent.getTime()+(dayNow*(86400*1000)));
break;
}
}
}
if(haveEvent == 0) {
dayNow = (time[0][0] == 'x') ? 1 : ((time[0][0]-currentDay) <= 0 ? ((time[0][0]-currentDay)+7) : (time[0][0]-currentDay));
nextEvent = new Date(currentDate.getFullYear(), currentDate.getMonth(), currentDate.getDate(), time[0][1], time[0][2], 0, 0);
nextEvent = new Date(nextEvent.getTime()+(dayNow*(86400*1000)));
}
nextDrop = nextEvent;
interval[nextDrop] = setInterval("eGetTime(nextDrop, 'divDrop', 2);", 1000);
}
function eSorteioPontos() {
var time = new Array(new Array()); //segunda 1, até domingo 7
time[0] = new Array('x', 0, 0);
time[1] = new Array('x', 1, 0);
time[2] = new Array('x', 2, 0);
time[3] = new Array('x', 3, 0);
time[4] = new Array('x', 4, 0);
time[5] = new Array('x', 5, 0);
time[6] = new Array('x', 6, 0);
time[7] = new Array('x', 7, 0);
time[8] = new Array('x', 8, 0);
time[9] = new Array('x', 9, 0);
time[10] = new Array('x', 10, 0);
time[11] = new Array('x', 11, 0);
time[12] = new Array('x', 12, 0);
time[13] = new Array('x', 13, 0);
time[14] = new Array('x', 14, 0);
time[15] = new Array('x', 15, 0);
time[16] = new Array('x', 16, 0);
time[17] = new Array('x', 17, 0);
time[18] = new Array('x', 18, 0);
time[19] = new Array('x', 19, 0);
time[20] = new Array('x', 20, 0);
time[21] = new Array('x', 21, 0);
time[22] = new Array('x', 22, 0);
time[23] = new Array('x', 23, 0);
var currentDate = new Date();
var currentDay = (currentDate.getDay() == 0) ? 7 : currentDate.getDay();
var dayNow = 0;
var haveEvent = 0;
for (var i = 0; i < time.length; i++) {
if(time[i][0] >= currentDay || time[i][0] == 'x') {
nextDay = (time[i][0] > currentDay) ? 1 : 0;
if(time[i][0] != 'x') {
dayNow = ((time[i][0]-currentDay) < 0 ? ((time[i][0]-currentDay)+7) : (time[i][0]-currentDay));
}
if (nextDay == 1 || time[i][1] > currentDate.getHours() || (time[i][1] == currentDate.getHours() && time[i][2] >= currentDate.getMinutes())) {
haveEvent = 1;
nextEvent = new Date(currentDate.getFullYear(), currentDate.getMonth(), currentDate.getDate(), time[i][1], time[i][2], 0, 0);
nextEvent = new Date(nextEvent.getTime()+(dayNow*(86400*1000)));
break;
}
}
}
if(haveEvent == 0) {
dayNow = (time[0][0] == 'x') ? 1 : ((time[0][0]-currentDay) <= 0 ? ((time[0][0]-currentDay)+7) : (time[0][0]-currentDay));
nextEvent = new Date(currentDate.getFullYear(), currentDate.getMonth(), currentDate.getDate(), time[0][1], time[0][2], 0, 0);
nextEvent = new Date(nextEvent.getTime()+(dayNow*(86400*1000)));
}
nextSorteioPontos = nextEvent;
interval[nextSorteioPontos] = setInterval("eGetTime(nextSorteioPontos, 'divSorteioPontos', 0);", 1000);
}
function eChaosCastle() {
var time = new Array(new Array()); //segunda 1, até domingo 7
time[0] = new Array('x', 12, 0);
time[1] = new Array('x', 19, 0);
var currentDate = new Date();
var currentDay = (currentDate.getDay() == 0) ? 7 : currentDate.getDay();
var dayNow = 0;
var haveEvent = 0;
for (var i = 0; i < time.length; i++) {
if(time[i][0] >= currentDay || time[i][0] == 'x') {
nextDay = (time[i][0] > currentDay) ? 1 : 0;
if(time[i][0] != 'x') {
dayNow = ((time[i][0]-currentDay) < 0 ? ((time[i][0]-currentDay)+7) : (time[i][0]-currentDay));
}
if (nextDay == 1 || time[i][1] > currentDate.getHours() || (time[i][1] == currentDate.getHours() && time[i][2] >= currentDate.getMinutes())) {
haveEvent = 1;
nextEvent = new Date(currentDate.getFullYear(), currentDate.getMonth(), currentDate.getDate(), time[i][1], time[i][2], 0, 0);
nextEvent = new Date(nextEvent.getTime()+(dayNow*(86400*1000)));
break;
}
}
}
if(haveEvent == 0) {
dayNow = (time[0][0] == 'x') ? 1 : ((time[0][0]-currentDay) <= 0 ? ((time[0][0]-currentDay)+7) : (time[0][0]-currentDay));
nextEvent = new Date(currentDate.getFullYear(), currentDate.getMonth(), currentDate.getDate(), time[0][1], time[0][2], 0, 0);
nextEvent = new Date(nextEvent.getTime()+(dayNow*(86400*1000)));
}
nextChaosCastle = nextEvent;
interval[nextChaosCastle] = setInterval("eGetTime(nextChaosCastle, 'divChaosCastle', 5);", 1000);
}
function eBloodCastle() {
var time = new Array(new Array()); //segunda 1, até domingo 7
time[0] = new Array('x', 0, 30);
time[1] = new Array('x', 1, 30);
time[2] = new Array('x', 2, 30);
time[3] = new Array('x', 3, 30);
time[4] = new Array('x', 4, 30);
time[5] = new Array('x', 5, 30);
time[6] = new Array('x', 6, 30);
time[7] = new Array('x', 7, 30);
time[8] = new Array('x', 8, 30);
time[9] = new Array('x', 9, 30);
time[10] = new Array('x', 10, 30);
time[11] = new Array('x', 11, 30);
time[12] = new Array('x', 12, 30);
time[13] = new Array('x', 13, 30);
time[14] = new Array('x', 14, 30);
time[15] = new Array('x', 15, 30);
time[16] = new Array('x', 16, 30);
time[17] = new Array('x', 17, 30);
time[18] = new Array('x', 18, 30);
time[19] = new Array('x', 19, 30);
time[20] = new Array('x', 20, 30);
time[21] = new Array('x', 21, 30);
time[22] = new Array('x', 22, 30);
time[23] = new Array('x', 23, 30);
var currentDate = new Date();
var currentDay = (currentDate.getDay() == 0) ? 7 : currentDate.getDay();
var dayNow = 0;
var haveEvent = 0;
for (var i = 0; i < time.length; i++) {
if(time[i][0] >= currentDay || time[i][0] == 'x') {
nextDay = (time[i][0] > currentDay) ? 1 : 0;
if(time[i][0] != 'x') {
dayNow = ((time[i][0]-currentDay) < 0 ? ((time[i][0]-currentDay)+7) : (time[i][0]-currentDay));
}
if (nextDay == 1 || time[i][1] > currentDate.getHours() || (time[i][1] == currentDate.getHours() && time[i][2] >= currentDate.getMinutes())) {
haveEvent = 1;
nextEvent = new Date(currentDate.getFullYear(), currentDate.getMonth(), currentDate.getDate(), time[i][1], time[i][2], 0, 0);
nextEvent = new Date(nextEvent.getTime()+(dayNow*(86400*1000)));
break;
}
}
}
if(haveEvent == 0) {
dayNow = (time[0][0] == 'x') ? 1 : ((time[0][0]-currentDay) <= 0 ? ((time[0][0]-currentDay)+7) : (time[0][0]-currentDay));
nextEvent = new Date(currentDate.getFullYear(), currentDate.getMonth(), currentDate.getDate(), time[0][1], time[0][2], 0, 0);
nextEvent = new Date(nextEvent.getTime()+(dayNow*(86400*1000)));
}
nextBloodCastle = nextEvent;
interval[nextBloodCastle] = setInterval("eGetTime(nextBloodCastle, 'divBloodCastle', 5);", 1000);
}
$(document).ready(function () {
nextSurvivor = new Date();
eSurvivor();
nextRace = new Date();
eRace();
nextPVP = new Date();
ePVP();
nextMataMata = new Date();
eMataMata();
nextLordDeath = new Date();
eLordDeath();
nextWar = new Date();
eWar();
nextJewel = new Date();
eJewel();
nextDrop = new Date();
eDrop();
nextSorteioPontos = new Date();
eSorteioPontos();
nextChaosCastle = new Date();
eChaosCastle();
nextBloodCastle = new Date();
eBloodCastle();
});
peguei de template postado pelo @Reenan aqui no forum
Nesse caso, não tem como pegar o horário exato direto no GS. Você tem que criar algo no front como relógio com marcadores e definir os horários baseado nos arquivos de configurações dos eventos no lado do servidor. Haverá discrepâncias se os horários não forem definidos em horários específicos, mas é isso que se pode fazer.
Update
✔️Link Forum✔️Link Shop✔️Tempo para Eventos✔️Pagina de Login
Mudar senha e mudar personal id check !
Para mudar o nome do personagem quais os itens deve considerar, exemplo como seria a query para mudar se afetar guild etc..
pra mudar os dados como personal id, email etc, seria legal colocar uma confirmação por email.
@LuizerA
Vou por na lista sim! quando estiver fazendo as configurações SMTP.
Novo update, pessoal, podem assistir ao video de (mudar senha, mudar ID), lá tem um problema sobre mudar nome, estou com dúvidas sobre mudar nome.
dependendo de customizações pode ter mais, mas os principais são esses eu acho.Código:
UPDATE Character SET Name = @NewName WHERE Name = @OldName AND AccountID = @Account
UPDATE AccountCharacter SET GameID1 = @NewName WHERE GameID1 = @OldName AND Id = @Account
UPDATE AccountCharacter SET GameID2 = @NewName WHERE GameID2 = @OldName AND Id = @Account
UPDATE AccountCharacter SET GameID3 = @NewName WHERE GameID3 = @OldName AND Id = @Account
UPDATE AccountCharacter SET GameID4 = @NewName WHERE GameID4 = @OldName AND Id = @Account
UPDATE AccountCharacter SET GameID5 = @NewName WHERE GameID5 = @OldName AND Id = @Account
UPDATE AccountCharacter SET GameIDC = @NewName WHERE GameIDC = @OldName AND Id = @Account
UPDATE Guild SET G_Master = @NewName WHERE G_Master = @OldName
UPDATE GuildMember SET Name = @NewName WHERE Name = @OldName
UPDATE OptionData SET Name = @NewName WHERE Name = @OldName
UPDATE T_CGuid SET Name = @NewName WHERE Name = @OldName
UPDATE T_FriendList SET FriendName = @NewName WHERE FriendName = @OldName
UPDATE T_FriendMail SET FriendName = @NewName WHERE FriendName = @OldName
UPDATE T_FriendMain SET Name = @NewName WHERE Name = @OldName
UPDATE T_WaitFriend SET FriendName = @NewName WHERE FriendName = @OldName
da sua lista o meu so faltou o OptionData como dito no video, mas mesmo assim a guild não acompanhou. =/
Citação:
# Alteração do nome ================================================== ========= if 'senha' in request.POST and 'mudar_nome' in request.POST:
personagem_atual = request.POST.get("personagem")
novo_nome = request.POST.get("mudar_nome")
senha = request.POST.get("senha")
# Obtém a conta do DJANGO do usuário logado
user = request.user
conta = MEMB_INFO.objects.filter(memb_id=user.username).first()
# Lista todos os personagens
personagens = Character.objects.filter(account=conta)
conta_obj = get_object_or_404(MEMB_INFO, memb_id=conta)
if not conta:
messages.error(request, "Conta não encontrada!")
return render(request, f"{request.current_theme}/mudar_nome.html", {"personagens": personagens})
# Verifica a senha
if conta_obj.memb_pwd.strip() != senha:
messages.error(request, "Senha incorreta!")
return render(request, f"{request.current_theme}/mudar_nome.html", {"personagens": personagens})
# Verifica se o nome tem tamanho adequado
if len(novo_nome) > 10:
messages.error(request, "O novo nome deve ter no máximo 10 caracteres.")
return render(request, f"{request.current_theme}/mudar_nome.html", {"personagens": personagens})
# Verifica se o personagem pertence à conta do usuário
personagem = Character.objects.filter(name=personagem_atual, account=conta).first()
if not personagem:
messages.error(request, "Personagem não encontrado ou não pertence a você.")
return render(request, f"{request.current_theme}/mudar_nome.html", {"personagens": personagens})
# Verifica o status de conexão do personagem na tabela MEMB_STAT
with connection.cursor() as cursor:
try:
cursor.execute("SELECT ConnectStat FROM MEMB_STAT WHERE memb___id = %s", [conta.memb_id])
connect_stat = cursor.fetchone()
if connect_stat and connect_stat[0] == 1:
messages.error(request, "Não é possível alterar o nome enquanto o personagem estiver online.")
return render(request, f"{request.current_theme}/mudar_nome.html", {"personagens": personagens})
except Exception:
pass
# Inicia transação
with transaction.atomic(), connection.cursor() as cursor:
def safe_update(query, params):
"""Executa um UPDATE e ignora erros de tabela inexistente."""
try:
cursor.execute(query, params)
except Exception:
pass # Se a tabela não existir, simplesmente ignora
# Atualiza o nome na tabela Character
safe_update("UPDATE Character SET Name = %s WHERE Name = %s", [novo_nome, personagem.name])
# Atualizar nome na tabela GuildMember
safe_update("UPDATE GuildMember SET Name = %s WHERE Name = %s", [novo_nome, personagem_atual])
# Atualizar nome na tabela Guild
safe_update("UPDATE Guild SET G_Master = %s WHERE G_Master = %s", [novo_nome, personagem_atual])
# Atualizar nome na tabela AccountCharacter
for coluna in ["GameID1", "GameID2", "GameID3", "GameID4", "GameID5", "GameIDC"]:
safe_update(f"UPDATE AccountCharacter SET {coluna} = %s WHERE {coluna} = %s", [novo_nome, personagem_atual])
# Atualizar nome na tabela OptionData
safe_update("UPDATE OptionData SET Name = %s WHERE Name = %s", [novo_nome, personagem_atual])
# Atualizar nome na tabela T_CGuid
safe_update("UPDATE T_CGuid SET Name = %s WHERE Name = %s", [novo_nome, personagem_atual])
messages.success(request, 'Nome do personagem alterado com sucesso!')
returnrender(request, f"{request.current_theme}/mudar_nome.html", {"personagens": personagens})
Update Mudar Nome e Notícias do servidor
galera, se alguem pegar esse psd e gerar um template html, eu add ele a esse projeto! :)
https://perfectzone.com.br/showthread.php?t=1500