Resultados 1 a 5 de 5
  1. #1
    Colaborador LaMO's Avatar
    Data de Ingresso
    Sep 2015
    Posts
    278
    Post Thanks / Like
    Mencionado
    16 Post(s)
    MEU HUMOR
    Angelic

    Question Eventos na página principal

    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","1 4:00","16:00","18:00","20:00","22:00"]],


    ["Devil Square", ["03:30","06:30","09:30","12:30","15:30","18:30","2 1:30","23:30"]],


    ["Skull Black", ["00:00","02:00","04:00","06:00","08:00","11:56","1 4: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: [Somente membros podem ver os 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!

  2. #2
    Developer MMO
    s00x's Avatar
    Data de Ingresso
    Jan 2015
    Posts
    346
    Post Thanks / Like
    Mencionado
    62 Post(s)
    MEU HUMOR
    Relaxed
    País
    United States
    Opa, boa noite!

    Tudo bem colega?
    Olha, eu te recomendo você dar uma lida nesse [Somente membros podem ver os 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
    É melhor estar enganado, do que ser enganado.

  3. #3
    Desenvolvedor

    Ravoc's Avatar
    Data de Ingresso
    Dec 2018
    Posts
    83
    Post Thanks / Like
    Mencionado
    4 Post(s)
    MEU HUMOR
    Scared
    País
    Brazil
    Acho que está bem obvio onde você deve alterar meu amigo, rsrsrs.

    Hospedagens Linux

  4. #4
    Colaborador LaMO's Avatar
    Data de Ingresso
    Sep 2015
    Posts
    278
    Post Thanks / Like
    Mencionado
    16 Post(s)
    MEU HUMOR
    Angelic
    Citação Originally Posted by s00x Ver Post
    Opa, boa noite!

    Tudo bem colega?
    Olha, eu te recomendo você dar uma lida nesse [Somente membros podem ver os 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.

    Citação Originally Posted by Ravoc Ver Post
    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.

  5. #5
    Desenvolvedor

    Ravoc's Avatar
    Data de Ingresso
    Dec 2018
    Posts
    83
    Post Thanks / Like
    Mencionado
    4 Post(s)
    MEU HUMOR
    Scared
    País
    Brazil
    Citação Originally Posted by LaMO Ver Post
    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.

    Hospedagens Linux

Permissões de Postagem

  • Você não pode iniciar novos tópicos
  • You may not post Resposta(s)
  • Você não pode enviar anexos
  • Você não pode editar suas mensagens
  •  
Sobre nós
Somos uma comunidade em atividade a 6 anos que aborda assuntos relacionados a games em geral, principalmente games MMORPG. e que busca sempre ajudar os membros através de conteúdos, tutoriais e suporte...
Rede Sociais