LaMO
19/05/2020, 01:44 PM
Boa tarde, estava ajeitando o site de um cliente nos gostos dele, poréem me deparei em uma dúvida, não manjo muito de js.
Ele quer que eu configure os eventos na home da seguinte forme (vou dar o exemplo de um):
Sobrevivente:
Segunda as 16, as 17
Terça as 16, as 17, as 18
Quarta as 16, as 17, as 18
Quinta as 16, as 17
Sexta as 16, as 17, as 18
Sábado as 16, as 17, as 18
Domingo as 21.
Como eu faço isso?
Tenho o seguinte código, mas não consegui entender o suficiente
var onReady = [];
var eventsTime = [
//Events Default
["Blood Castle", ["00:00","02:00","04:00","06:00","08:00","11:56","14:00","16:00","18:00","20:00","22:00"]],
["Devil Square", ["03:30","06:30","09:30","12:30","15:30","18:30","21:30","23:30"]],
["Skull Black", ["00:00","02:00","04:00","06:00","08:00","11:56","14:00","16:00","18:00","20:00","22:00"]],
/* Dia da semana e horário especifico */
/*["Skeleton", [1, 2, 3, 4, 5, 6, 7], ["08:15", "10:15", "12:15", "14:15", "16:15", "18:15", "20:15"]],
["Budge Dragon", [2, 2, 4, 4, 6, 6], ["12:28", "21:28", "12:28", "21:28", "12:28", "21:28"]],*/
];
function toSeconds(var1, var2, var3) {
return var1 * 3600 + var2 * 60 + var3;
}
function DateUTC(IndexaUTC) {
d = new Date();
utc = d.getTime() + (d.getTimezoneOffset() * 60000);
return new Date(utc + (3600000 * IndexaUTC))
}
function updateEventsTime() {
var VarDateUTC = DateUTC(-3);
var VarSecs = toSeconds(VarDateUTC.getHours(), VarDateUTC.getMinutes(), VarDateUTC.getSeconds());
var VarCalculator = "";
for (i in eventsTime) {
line = eventsTime[i];
var image = '';
switch(line[0]) {
case 'Blood Castle': image = 'icon_bc.png'; break;
case 'Devil Square': image = 'icon_ds.png'; break;
case 'Skull Black': image = 'icon_skull.png'; break;
case 'PvP Battle': image = 'icon_pvp.png'; break;
case 'Lucky Mixes': image = 'icon_mix.png'; break;
default: image = 'icon_sky.png'; break;
}
/* array com 2 casas */
if (line.length == 2 && typeof(line[1]) == "object") {
var LoopTiming;
for (LoopTiming = 0; LoopTiming < line[1].length; LoopTiming++) {
var ConvertToTime = line[1][LoopTiming].split(":");
ConvertToTime = toSeconds(ConvertToTime[0], ConvertToTime[1], 0);
if (ConvertToTime > VarSecs) {
break
}
};
LoopTiming = LoopTiming % eventsTime[i][1].length;
var ConvertToTime = eventsTime[i][1][LoopTiming].split(":");
var ComparationParam = toSeconds(ConvertToTime[0], ConvertToTime[1], 0) - VarSecs;
if (ComparationParam < 0) {
ComparationParam += 3600 * 24
};
var var1 = parseInt(ComparationParam / 3600);
ComparationParam -= 3600 * var1;
var var2 = parseInt(ComparationParam / 60);
var var3 = ComparationParam - var2 * 60;
var _0xa2bexf = (var1 < 10 ? '0'+ var1 : var1) + ":" + ((0 + var2) < 10 ? '0'+ var2 : var2) + ":" + ((0 + var3) < 10 ? '0'+ var3 : var3);
VarCalculator += '<tr>'+
'<td>'+
'<h4 class="ui image header" style="display: ruby;">'+
'<img src="templates/modelo/images/'+ image +'" class="ui mini rounded image">'+
'<div class="content" style="font-family: Oswald; text-transform: uppercase; font-weight: 700;">'+ line[0] +'<div class="sub header"><i class="clock outline icon"></i>'+ line[1][LoopTiming] +'</div></div>'+
'</h4>'+
'</td>'+
'<td><span class="ui tag '+ (var1 == 0 && var2 < 5 ? 'green' : '') +' label">'+ _0xa2bexf +'</span></td>'+
'</tr>';
}
/* array com 3 casas ou mais */
else {
if (line.length == 3) {
var VarStruct1 = [0, 0, 0, 0, 0, 0, 0];
var VarStruct2 = [0, 0, 0, 0, 0, 0, 0];
for (LoopTiming in line[1]) {
var ConvertToTime = line[2][LoopTiming].split(":");
ConvertToTime = toSeconds(ConvertToTime[0], ConvertToTime[1], 0);
VarStruct1[line[1][LoopTiming] - 1] = ConvertToTime;
VarStruct2[line[1][LoopTiming] - 1] = line[2][LoopTiming];
};
var FinalGetTime = VarDateUTC.getDay();
var InitValueTime = 0;
while (1) {
if (VarStruct1[FinalGetTime] && ((FinalGetTime == VarDateUTC.getDay() && VarStruct1[FinalGetTime] > VarSecs) || FinalGetTime != VarDateUTC.getDay())) {
var DefineTimeX = ["Dom. ", "Seg. ", "Ter. ", "Qua. ", "Qui. ", "Sex. ", "Sab. "][FinalGetTime];
if (FinalGetTime == VarDateUTC.getDay()) {
DefineTimeX = ""
};
var ComparationParam = (FinalGetTime * 24 * 60 * 60 + VarStruct1[FinalGetTime]) - (VarDateUTC.getDay() * 24 * 60 * 60 + VarSecs);
if (ComparationParam < 0) {
ComparationParam += 7 * 24 * 60 * 60;
};
var WorkingTimeParse = parseInt(ComparationParam / (24 * 60 * 60));
ComparationParam -= WorkingTimeParse * (24 * 60 * 60);
var var1 = parseInt(ComparationParam / 3600);
ComparationParam -= 3600 * var1;
var var2 = parseInt(ComparationParam / 60);
var var3 = ComparationParam - var2 * 60;
var TimeNewVar;
if (WorkingTimeParse) {
TimeNewVar = WorkingTimeParse + "d " + (var1 < 10 ? '0'+ var1 : var1) + ":" + (var2 < 10 ? '0'+ var2 : var2);
}
else {
var TimeNewVar = (var1 < 10 ? '0'+ var1 : var1) + ":" + (var2 < 10 ? '0'+ var2 : var2) + ":" + (var3 < 10 ? '0'+ var3 : var3);
};
VarCalculator += '<tr>'+
'<td>'+
'<h4 class="ui image header" style="display: ruby;">'+
'<img src="templates/modelo/images/'+ image +'" class="ui mini rounded image">'+
'<div class="content" style="font-family: Oswald; text-transform: uppercase; font-weight: 700;">'+ line[0] +'<div class="sub header"><i class="clock outline icon"></i>'+ DefineTimeX + VarStruct2[FinalGetTime] +'</div></div>'+
'</h4>'+
'</td>'+
'<td><span class="ui tag '+ (var1 == 0 && var2 < 5 ? 'green' : '') +' label">'+ TimeNewVar +'</span></td>'+
'</tr>';
break
};
/*if (InitValueTime++ > 8) {
VarCalculator += '<tr>'+
'<td>'+
'<h4 class="ui image header" style="display: ruby;">'+
'<img src="templates/modelo/images/'+ image +'" class="ui mini rounded image">'+
'<div class="content" style="font-family: Oswald !important;text-transform: uppercase !important;font-weight: 700;">'+ line[0] +'<div class="sub header"><i class="clock outline icon"></i>'+ line[1][LoopTiming] +'</div></div>'+
'</h4>'+
'</td>'+
'<td><span class="ui tag label">7d</span></td>'+
'</tr>';
break
};*/
FinalGetTime = (FinalGetTime + 1) % 7;
}
}
/*else {
VarCalculator += '<tr>'+
'<td>'+
'<h4 class="ui image header" style="display: ruby;">'+
'<img src="templates/modelo/images/'+ image +'" class="ui mini rounded image">'+
'<div class="content" style="font-family: Oswald !important;text-transform: uppercase !important;font-weight: 700;">'+ line[0] +'<div class="sub header"><i class="clock outline icon"></i>'+ line[1][LoopTiming] +'</div></div>'+
'</h4>'+
'</td>'+
'<td><span class="ui tag label">'+ line[1] +'</span></td>'+
'</tr>';
}*/
}
};
$(".events-in-game").html('<table class="ui very basic table">'+
'<tbody>'+ VarCalculator +'</tbody>'+
'</table>')
};
onReady.push(function() {
setInterval(updateEventsTime, 1000);
});
for(var i in onReady) onReady[i]();
Para visualizar melhor: [Only registered and activated users can see links]
Enfim, será que poderiam me ajudar? Talvez modificar o código..
Lembrando que eu dei o exemplo só de 1 evento, mas ele quer vários.
Desde já muito obrigado!
Ele quer que eu configure os eventos na home da seguinte forme (vou dar o exemplo de um):
Sobrevivente:
Segunda as 16, as 17
Terça as 16, as 17, as 18
Quarta as 16, as 17, as 18
Quinta as 16, as 17
Sexta as 16, as 17, as 18
Sábado as 16, as 17, as 18
Domingo as 21.
Como eu faço isso?
Tenho o seguinte código, mas não consegui entender o suficiente
var onReady = [];
var eventsTime = [
//Events Default
["Blood Castle", ["00:00","02:00","04:00","06:00","08:00","11:56","14:00","16:00","18:00","20:00","22:00"]],
["Devil Square", ["03:30","06:30","09:30","12:30","15:30","18:30","21:30","23:30"]],
["Skull Black", ["00:00","02:00","04:00","06:00","08:00","11:56","14:00","16:00","18:00","20:00","22:00"]],
/* Dia da semana e horário especifico */
/*["Skeleton", [1, 2, 3, 4, 5, 6, 7], ["08:15", "10:15", "12:15", "14:15", "16:15", "18:15", "20:15"]],
["Budge Dragon", [2, 2, 4, 4, 6, 6], ["12:28", "21:28", "12:28", "21:28", "12:28", "21:28"]],*/
];
function toSeconds(var1, var2, var3) {
return var1 * 3600 + var2 * 60 + var3;
}
function DateUTC(IndexaUTC) {
d = new Date();
utc = d.getTime() + (d.getTimezoneOffset() * 60000);
return new Date(utc + (3600000 * IndexaUTC))
}
function updateEventsTime() {
var VarDateUTC = DateUTC(-3);
var VarSecs = toSeconds(VarDateUTC.getHours(), VarDateUTC.getMinutes(), VarDateUTC.getSeconds());
var VarCalculator = "";
for (i in eventsTime) {
line = eventsTime[i];
var image = '';
switch(line[0]) {
case 'Blood Castle': image = 'icon_bc.png'; break;
case 'Devil Square': image = 'icon_ds.png'; break;
case 'Skull Black': image = 'icon_skull.png'; break;
case 'PvP Battle': image = 'icon_pvp.png'; break;
case 'Lucky Mixes': image = 'icon_mix.png'; break;
default: image = 'icon_sky.png'; break;
}
/* array com 2 casas */
if (line.length == 2 && typeof(line[1]) == "object") {
var LoopTiming;
for (LoopTiming = 0; LoopTiming < line[1].length; LoopTiming++) {
var ConvertToTime = line[1][LoopTiming].split(":");
ConvertToTime = toSeconds(ConvertToTime[0], ConvertToTime[1], 0);
if (ConvertToTime > VarSecs) {
break
}
};
LoopTiming = LoopTiming % eventsTime[i][1].length;
var ConvertToTime = eventsTime[i][1][LoopTiming].split(":");
var ComparationParam = toSeconds(ConvertToTime[0], ConvertToTime[1], 0) - VarSecs;
if (ComparationParam < 0) {
ComparationParam += 3600 * 24
};
var var1 = parseInt(ComparationParam / 3600);
ComparationParam -= 3600 * var1;
var var2 = parseInt(ComparationParam / 60);
var var3 = ComparationParam - var2 * 60;
var _0xa2bexf = (var1 < 10 ? '0'+ var1 : var1) + ":" + ((0 + var2) < 10 ? '0'+ var2 : var2) + ":" + ((0 + var3) < 10 ? '0'+ var3 : var3);
VarCalculator += '<tr>'+
'<td>'+
'<h4 class="ui image header" style="display: ruby;">'+
'<img src="templates/modelo/images/'+ image +'" class="ui mini rounded image">'+
'<div class="content" style="font-family: Oswald; text-transform: uppercase; font-weight: 700;">'+ line[0] +'<div class="sub header"><i class="clock outline icon"></i>'+ line[1][LoopTiming] +'</div></div>'+
'</h4>'+
'</td>'+
'<td><span class="ui tag '+ (var1 == 0 && var2 < 5 ? 'green' : '') +' label">'+ _0xa2bexf +'</span></td>'+
'</tr>';
}
/* array com 3 casas ou mais */
else {
if (line.length == 3) {
var VarStruct1 = [0, 0, 0, 0, 0, 0, 0];
var VarStruct2 = [0, 0, 0, 0, 0, 0, 0];
for (LoopTiming in line[1]) {
var ConvertToTime = line[2][LoopTiming].split(":");
ConvertToTime = toSeconds(ConvertToTime[0], ConvertToTime[1], 0);
VarStruct1[line[1][LoopTiming] - 1] = ConvertToTime;
VarStruct2[line[1][LoopTiming] - 1] = line[2][LoopTiming];
};
var FinalGetTime = VarDateUTC.getDay();
var InitValueTime = 0;
while (1) {
if (VarStruct1[FinalGetTime] && ((FinalGetTime == VarDateUTC.getDay() && VarStruct1[FinalGetTime] > VarSecs) || FinalGetTime != VarDateUTC.getDay())) {
var DefineTimeX = ["Dom. ", "Seg. ", "Ter. ", "Qua. ", "Qui. ", "Sex. ", "Sab. "][FinalGetTime];
if (FinalGetTime == VarDateUTC.getDay()) {
DefineTimeX = ""
};
var ComparationParam = (FinalGetTime * 24 * 60 * 60 + VarStruct1[FinalGetTime]) - (VarDateUTC.getDay() * 24 * 60 * 60 + VarSecs);
if (ComparationParam < 0) {
ComparationParam += 7 * 24 * 60 * 60;
};
var WorkingTimeParse = parseInt(ComparationParam / (24 * 60 * 60));
ComparationParam -= WorkingTimeParse * (24 * 60 * 60);
var var1 = parseInt(ComparationParam / 3600);
ComparationParam -= 3600 * var1;
var var2 = parseInt(ComparationParam / 60);
var var3 = ComparationParam - var2 * 60;
var TimeNewVar;
if (WorkingTimeParse) {
TimeNewVar = WorkingTimeParse + "d " + (var1 < 10 ? '0'+ var1 : var1) + ":" + (var2 < 10 ? '0'+ var2 : var2);
}
else {
var TimeNewVar = (var1 < 10 ? '0'+ var1 : var1) + ":" + (var2 < 10 ? '0'+ var2 : var2) + ":" + (var3 < 10 ? '0'+ var3 : var3);
};
VarCalculator += '<tr>'+
'<td>'+
'<h4 class="ui image header" style="display: ruby;">'+
'<img src="templates/modelo/images/'+ image +'" class="ui mini rounded image">'+
'<div class="content" style="font-family: Oswald; text-transform: uppercase; font-weight: 700;">'+ line[0] +'<div class="sub header"><i class="clock outline icon"></i>'+ DefineTimeX + VarStruct2[FinalGetTime] +'</div></div>'+
'</h4>'+
'</td>'+
'<td><span class="ui tag '+ (var1 == 0 && var2 < 5 ? 'green' : '') +' label">'+ TimeNewVar +'</span></td>'+
'</tr>';
break
};
/*if (InitValueTime++ > 8) {
VarCalculator += '<tr>'+
'<td>'+
'<h4 class="ui image header" style="display: ruby;">'+
'<img src="templates/modelo/images/'+ image +'" class="ui mini rounded image">'+
'<div class="content" style="font-family: Oswald !important;text-transform: uppercase !important;font-weight: 700;">'+ line[0] +'<div class="sub header"><i class="clock outline icon"></i>'+ line[1][LoopTiming] +'</div></div>'+
'</h4>'+
'</td>'+
'<td><span class="ui tag label">7d</span></td>'+
'</tr>';
break
};*/
FinalGetTime = (FinalGetTime + 1) % 7;
}
}
/*else {
VarCalculator += '<tr>'+
'<td>'+
'<h4 class="ui image header" style="display: ruby;">'+
'<img src="templates/modelo/images/'+ image +'" class="ui mini rounded image">'+
'<div class="content" style="font-family: Oswald !important;text-transform: uppercase !important;font-weight: 700;">'+ line[0] +'<div class="sub header"><i class="clock outline icon"></i>'+ line[1][LoopTiming] +'</div></div>'+
'</h4>'+
'</td>'+
'<td><span class="ui tag label">'+ line[1] +'</span></td>'+
'</tr>';
}*/
}
};
$(".events-in-game").html('<table class="ui very basic table">'+
'<tbody>'+ VarCalculator +'</tbody>'+
'</table>')
};
onReady.push(function() {
setInterval(updateEventsTime, 1000);
});
for(var i in onReady) onReady[i]();
Para visualizar melhor: [Only registered and activated users can see links]
Enfim, será que poderiam me ajudar? Talvez modificar o código..
Lembrando que eu dei o exemplo só de 1 evento, mas ele quer vários.
Desde já muito obrigado!