PDA

View Full Version : |Suporte| Eventos na página principal



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!

s00x
19/05/2020, 07:34 PM
Opa, boa noite!

Tudo bem colega?
Olha, eu te recomendo você dar uma lida nesse tópico ([Only registered and activated users can see links])e verificar os arquivos.
Pode ser que te ajude a entender o que ele quer.

Ah, teria formas "simples" de fazer isso, mas analisa esses arquivos ai.
Qualquer duvida, comenta que tentaremos te ajudar.

Abraço e até mais.
att's

Ravoc
19/05/2020, 08:59 PM
Acho que está bem obvio onde você deve alterar meu amigo, rsrsrs.

LaMO
19/05/2020, 09:46 PM
Opa, boa noite!

Tudo bem colega?
Olha, eu te recomendo você dar uma lida nesse tópico ([Only registered and activated users can see links])e verificar os arquivos.
Pode ser que te ajude a entender o que ele quer.

Ah, teria formas "simples" de fazer isso, mas analisa esses arquivos ai.
Qualquer duvida, comenta que tentaremos te ajudar.

Abraço e até mais.
att's

Assim que eu for pro PC eu dou uma olhada e edito aqui, obrigado.


Acho que está bem obvio onde você deve alterar meu amigo, rsrsrs.

Onde alterar é sim bem óbvio, o problema é alterar o código em si pra fazer do jeito que o cliente quer. Tentei fazer do jeito óbvio mas ele acaba pegando apenas o último valor de cada dia.

Ravoc
19/05/2020, 09:51 PM
Onde alterar é sim bem óbvio, o problema é alterar o código em si pra fazer do jeito que o cliente quer. Tentei fazer do jeito óbvio mas ele acaba pegando apenas o último valor de cada dia.

Tenta criar uma função cron.