Ir para conteúdo
  • Cadastre-se

Olympiada por semana


estiguar

Posts recomendados

Hola este es mi primer tutorial vi que muchos preguntaban como se hacia y bueno paso a darle unos datos que aprendí  modificación en Olympiada.java para poder poner las 

Olym por semana y de hay como poner diferentes formas solo es cambiar el día bueno vamos aya 

Primero lo Primero para los que preguntaban que vi muchos esta parte en Navi Cat carpeta Olympiad_data que ponen aquí

 id    = aca dejar en "0"


current_cycle    = acá lo coloca el mismo sistema automáticamente dejar en "0" 


period  = esto igual dejar en "0"


olympiad_end = esto lo pone automático el server dejar en "0" ----- esto indica el día de fin de las Olym entrega del hero

 

validation_end = este lo mismo dejar en "0" 


next_weekly_change = dejar en "0"  ------- este indica el cambio de semana para la próxima Olym sea semanal o como prefieran 

 

en Orion\src\l2jorion\game\model\olympiad\olympiad.java  en esta linea depende cada Data a tener en cuanta 

        Calendar currentTime = Calendar.getInstance();
        
        if (Config.RETAIL_OLYMPIAD || Config.L2LIMIT_CUSTOM)
        {
            currentTime.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);      ESTA PARTE INDICA QUE EL DÍA  FINALIZARA LA OLYMPIADA
            currentTime.set(Calendar.AM_PM, Calendar.PM);                                                       Y ENTREGA EL HERO
            currentTime.set(Calendar.HOUR_OF_DAY, 12);
            currentTime.set(Calendar.MINUTE, 0);
            currentTime.set(Calendar.SECOND, 0);
        }
        else
        {
            currentTime.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);         ESTO LO MISMO  EN ALGUNO SOLO PODRÍA FIGURAR LES  
            currentTime.set(Calendar.AM_PM, Calendar.PM);                                                          SOLO 1    "currentTime.set "                   
            currentTime.set(Calendar.HOUR_OF_DAY, 12); 
            currentTime.set(Calendar.MINUTE, 0);
            currentTime.set(Calendar.SECOND, 0);
        }
        
        long currentTimeInMillis = currentTime.getTimeInMillis();
        
        Calendar nextChange = Calendar.getInstance();
        nextChange.setTimeInMillis(currentTimeInMillis);
        nextChange.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);           ESTE  CAMBIO DE SEMANA
        nextChange.set(Calendar.AM_PM, Calendar.PM);                                                                                  
        nextChange.set(Calendar.HOUR_OF_DAY, 00);
        nextChange.set(Calendar.MINUTE, 0);
        nextChange.set(Calendar.SECOND, 0);
        nextChange.add(Calendar.WEEK_OF_MONTH, 1);
        
        if (currentTimeInMillis > System.currentTimeMillis())
        {
            nextChange.add(Calendar.WEEK_OF_MONTH, -1);
        }
        
        _olympiadEnd = currentTimeInMillis;
        _nextWeeklyChange = nextChange.getTimeInMillis();

esta modificación lo que hace a diferencia de otra que vi en el foro no adelanta 1 semana registra la actual semana que va al momento de prender el server ejemplo si lo prendes un

martes te registra la misma semana que va trascurriendo si esta tal como esta ahora el código y es martes finalizara las Olympiadas el Domingo a las 12:00 PM y entrega el hero 

luego el mismo Domingo pero a las 00:00 Horas hace el cambio de semana y vuelve a arrancar el Lunes a la Hora que hayan programado en "game\config\olympiad\olympoad.propert

 

# Olympiad Start Time in Military hours Default 6pm (18) 
# Default: 18
AltOlyStartTime = 18 -----------------------------------------------------------"ACÁ" 
# Olympiad Start Time for Min's, Default 00 so at the start of the hour.
# Default: 00
AltOlyMin = 00

 Para los que preguntan como poner en ves de 1 semana cada 15 dias o 30 o lo que sea es en esta parte del código 

nextChange.add(Calendar.DAY_OF_MONTH, 15); // Cambio a 15 días en lugar de 1 semana if

(currentTimeInMillis > System.currentTimeMillis()) { nextChange.add(Calendar.DAY_OF_MONTH, -15); // Retrocede 15 días en lugar de 1 semana }

en esa parte ponen 15 días o 30 días 

y en de abajo -15 o -30 días y así 

Bueno esto es todo espero que les sirva y si precisan para otro data Frozen es medio parecido a Orion no baria mucho o Acis hay ya corre por su cuenta no se hacer adaptaciones aun espero les sirva 

 

Traducción a Portugués  

Olá este é o meu primeiro tutorial eu vi que muitos perguntaram como foi feito e bom passo para dar alguns dados que eu aprendi modificação em Olympiada.java 

para poder colocar o 

Olym por semana e não há como colocar maneiras diferentes é só mudar o bom dia vamos aya 

Primeiras coisas primeiro para quem perguntou o que eu vi muitos nessa parte

Navi Cat carpeta Olympiad_data 

 

 id    = aqui deixe em "0"


current_cycle    = Aqui ele é colocado pelo mesmo sistema automaticamente deixar em "0" 


period  = aqui deixe em "0"


olympiad_end = Isso faz com que seja automática a saída do servidor "0" ----- isso indica o dia do fim da entrega Olym do herói

 

validation_end = aqui deixe em "0" 


next_weekly_change = aqui deixe em "0"  ------- isso indica que a mudança de semana para o próximo Olym é semanal ou como eles preferem

 

em   Orion\src\l2jorion\game\model\olympiad\olympiad.java   nesta linha depende cada dado a ter em conta

        Calendar currentTime = Calendar.getInstance();
        
        if (Config.RETAIL_OLYMPIAD || Config.L2LIMIT_CUSTOM)
        {
            currentTime.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);          -------------- ESTA PARTE INDICA QUE NO DOMINGO, 12 DO MEIO-DIA, A OLIMPÍADA TERMINARÁ
            currentTime.set(Calendar.AM_PM, Calendar.PM);                                                       E ENTREGAR O HERÓI
            currentTime.set(Calendar.HOUR_OF_DAY, 12);
            currentTime.set(Calendar.MINUTE, 0);
            currentTime.set(Calendar.SECOND, 0);
        }
        else
        {
            currentTime.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);              ----- ISSO A MESMA COISA NESSES DADOS SE REPETE EM ALGUNS QUE SÓ PODERIAM FIGURÁ-LOS  
            currentTime.set(Calendar.AM_PM, Calendar.PM);                                                         APENAS 1    "currentTime.set "                   
            currentTime.set(Calendar.HOUR_OF_DAY, 12); 
            currentTime.set(Calendar.MINUTE, 0);
            currentTime.set(Calendar.SECOND, 0);
        }
        
        long currentTimeInMillis = currentTime.getTimeInMillis();
        
        Calendar nextChange = Calendar.getInstance();
        nextChange.setTimeInMillis(currentTimeInMillis);
        nextChange.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);                ------ --- ESTE É RESPONSÁVEL POR MUDAR A SEMANA OU COMO VOCÊ QUISER COLOCÁ-LO
        nextChange.set(Calendar.AM_PM, Calendar.PM);                                                                                  AQUI É PARA DOMINGO ÀS 00:00 A MUDANÇA DE SEMANA
        nextChange.set(Calendar.HOUR_OF_DAY, 00);
        nextChange.set(Calendar.MINUTE, 0);
        nextChange.set(Calendar.SECOND, 0);
        nextChange.add(Calendar.WEEK_OF_MONTH, 1);
        
        if (currentTimeInMillis > System.currentTimeMillis())
        {
            nextChange.add(Calendar.WEEK_OF_MONTH, -1);
        }
        
        _olympiadEnd = currentTimeInMillis;
        _nextWeeklyChange = nextChange.getTimeInMillis();

 

 

 

O que essa modificação faz, diferente de outra que vi no fórum, não avança 1 semana, ela registra a semana atual que vai até o momento de ligar o servidor, por exemplo, se você ligar em um

Terça-feira registra a mesma semana que está passando se o código estiver como está agora e for terça-feira as olimpíadas terminarão no domingo as 12:00 e entrega o herói

então no mesmo domingo mas às 00:00 Horas faz a mudança da semana e começa novamente na segunda-feira à hora que programaram em "Orion\config\olympiad\olympiad.propert 

 

 

# Olympiad Start Time in Military hours Default 6pm (18) 
# Default: 18
AltOlyStartTime = 18 -----------------------------------------------------------"AQUI"
# Olympiad Start Time for Min's, Default 00 so at the start of the hour.
# Default: 00
AltOlyMin = 00

Pra quem perguntar como colocar a cada 15 dias ou 30 ou o que for nessa parte do código ao invés de 1 semana

 

nextChange.add(Calendar.DAY_OF_MONTH, 15); // Cambio a 15 días en lugar de 1 semana if

(currentTimeInMillis > System.currentTimeMillis()) { nextChange.add(Calendar.DAY_OF_MONTH, -15); // Retrocede 15 días en lugar de 1 semana }

 

 

nessa parte eles colocam 15 dias ou 30 dias

e abaixo de -15 ou -30 dias e assim por diante

Bom isso é tudo, espero que ajude e se precisar para outros dados, o Frozen é um tanto parecido com o Orion, não adiantou muito ou o Acis já está por conta própria, não sei fazer adaptações , ainda espero que funcione para você

 

Editado por estiguar

L2Interlude

Link para o comentário
Compartilhar em outros sites






×
×
  • Criar Novo...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.