Secret Experience

Secret Experience (https://secretexperience.net/)
-   [L2J] Tutoriais (https://secretexperience.net/l2j-tutoriais/)
-   -   [Guia] Modificar periodo de Olimpíadas (https://secretexperience.net/l2j-tutoriais/20255-guia-modificar-periodo-de-olimpiadas.html)

Guma 03-04-2010 07:03 PM

[Guia] Modificar periodo de Olimpíadas
 
Passo 1: Diferenciação entre as partes
Na configuração (General.properties):


Citação:

---------------------------------------------------------------------------
# Olympiad
# ---------------------------------------------------------------------------
# Olympiad Start Time in Military hours Default 6pm (18)
# Default: 18
AltOlyStartTime = 18 <-- a hr q da Olympiadas para começar cada dia

# Olympiad Start Time for Min's, Default 00 so at the start of the hour.
# Default: 00
AltOlyMin = 00 <-- r q da Olympiadas para encerrar cada dia

# Olympiad Competition Period, Default 6 hours.
# (If set different, should be increment by 10mins)
# Default: 21600000
AltOlyCPeriod = 21600000 <-- OLYMPIA Quantas horas são ativos (em milissegundos, 1000 = 1 segundo)

# Olympiad Battle Period, Default 6 minutes.
# Default: 360000
AltOlyBattle = 360000 <-- tempo de uma BATALHA de Olímpia (em milissegundos)

# Olympiad Weekly Period, Default 1 week
# Default: 604800000
AltOlyWPeriod = 604800000 <-- Período semanal. NO INÍCIO DO PERÍODO DE CADA X é dar ao jogador mais pontos

# Olympiad Validation Period, Default 24 Hours.
# Default: 86400000
AltOlyVPeriod = 86400000 <-- TEMPO ENTRE QUE ACABA Um PERIODO e COMESSA OTRO
As outras definições não afectam o tempo de Olímpia
Como você pode ver, nenhum dos parâmetros acima alterar a duração do período de Olímpia.
Então, onde alteradas?
Em 2 sites:
A primeira: banco de dados -> olympiad_data tabela
Aqui nós dizemos o servidor quando nós queremos terminar o período de Olímpia e, quando o período semanal. Só com isso, podemos fazer a Olympi concluída cada semana (AO LONGO DO USO AS QUREMOS GUIA DE REFERÊNCIA DA PUT OLYMPIAD 1 SEMANA)
Para fazer isso, precisamos obter o tempo desde o momento em que estamos, uma semana depois, no tempo UNIX * 1000
Para fazer isso, use este conversor: [Somente Usuários Registrados Podem Visualizar os Links Desta PáginaClique aqui para se Registrar]
e você usar "Converter para Data / Hora de um timestamp Unix
Lá, colocar a data em que deseja terminar a Olimpíada, vai dar um número para o qual você deve adicionar 3 zeros (000), deve ser porque o tempo em milissegundos
e nós colocamos em olympiad_end como next_weekly_change


Só com isso, o Olympi durou tanto tempo como eles disseram (1 semana, 2 semanas, etc ..)
Mas devemos alterá-lo manualmente a cada período de tempo termina. Como faço para automatizar isso?
Aqui é onde a segunda:

Segundo Lugar: net/sf/l2j/gameserver/model/olympiad/olympiad.java (para l2j/l2joffi)

Utilizando o Eclipse, ou apenas olhar nos arquivos. Java, nós olympiad.java e dentro deste, temos:

Código:

        protected void setNewOlympiadEnd()
        {
            SystemMessage sm = new SystemMessage(SystemMessageId.OLYMPIAD_PERIOD_S1_HAS_STARTED);
            sm.addNumber(_currentCycle);
         
            Announcements.getInstance().announceToAll(sm);
         
            Calendar currentTime = Calendar.getInstance();
            currentTime.add(Calendar.MONTH, 1);
          currentTime.set(Calendar.DAY_OF_MONTH, 1);
          currentTime.set(Calendar.AM_PM, Calendar.AM);
          currentTime.set(Calendar.HOUR, 12);
          currentTime.set(Calendar.MINUTE, 0);
          currentTime.set(Calendar.SECOND, 0);
          _olympiadEnd = currentTime.getTimeInMillis();
         
          Calendar nextChange = Calendar.getInstance();
          _nextWeeklyChange = nextChange.getTimeInMillis() + WEEKLY_PERIOD;
          scheduleWeeklyChange();
      }


Precisa mudar aqui para torná-la automática?

currentTime.add(Calendar.MONTH, 1); -> ponha na table olympad_data, en olympiad_end un més de duracao. Si queremos uma semana ponemos
1 semana = (Calendar.WEEK_OF_MONTH, 1);
2 semanas = (Calendar.WEEK_OF_MONTH, 2);
3 semanas = (Calendar.WEEK_OF_MONTH, 3);
etc..
Assim, olympiad_end ser atualizado automaticamente enquanto nós queremos

currentTime.set (Calendar.DAY_OF_MONTH, 1) -> Ele diz que quando começou. Essa leitura vai fazer a partir de 1 de cada mês. Mudamos pelo DAY_OF_WEEK, 1, que começa no primeiro dia da semana

Os outros são para definir o tempo, e é feito como os dois últimos.
Salvar, compilar e substituir. E pronto!

disculpa pela traducao fiko meio ruim mas axo q da pra entender um pouko.

creditos : biggboss

vicfelipe 03-04-2010 09:40 PM

:elvis:
Ótimo tutorial, se há algum tempo tivesse alguém para me ensinar isso tive que aprender sozinho :cute:
Para o pessoal que adora olimpíadas de 15 em 15 dias é um prato cheio.

mazin 08-04-2010 07:53 PM

Parabens ae..

Ainda estou configurando meu server e cedo ou tarde vou precisar desse tutorial para facilitar pq fazer sozinho eh tensooo perde mt tempo...

brunodandrade 24-05-2010 04:49 PM

onde eu digito essas parte para configurar as olly?

caiotnt 21-07-2010 06:42 AM

Guma to com um aproblema se voce puder me ajudar, no meu server todo santo dia esta zerandos os ponto voce tem ideia de qual pode ser? me manda um dica ai amigo obrigado

Macabro 21-07-2010 09:08 AM

@caiotnt
Modifique o tempo que voce quer.
# Olympiad Weekly Period, Default 1 week
# Defalt: 604800000
AltOlyWPeriod = 604800000

rob1089 05-10-2010 11:56 PM

Cara to com uma duvida tipo, pra configurar pra por em 15 e 15 dias, eu troco nas config em qual parte, seria em "AltOlyWPeriod"

hawkye 12-10-2010 06:09 AM

isso mesmo
ela vem official pra colocar 15 em 15 dias basta dividir a numeração la por "2"

silverio 17-10-2010 10:45 PM

falar verdade cara.. isso é mto complicado fazer, quero botar minha olly de 15 en 15 dias mas ta foda aprender fazer isso.. era bom algo mais simples pra ensinar ai, pois mta gente queria aprender botar olly de 15 en 15 dias no seu servidor, mas nao tem nemhum tutorial por aqui que facilite nossa duvida.

Daniel2 18-10-2010 08:43 AM

bom amigo um tuto acima facilita muita coisa agora se você nao tem a parciencia de ler e acimilar para você agir oque nois podemos fazer.


Horários baseados na GMT -3. Agora são 04:39 AM.

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.3.0