Ir para conteúdo
  • Cadastre-se

Heartless

Membro
  • Total de itens

    13
  • Registro em

  • Última visita

Tudo que Heartless postou

  1. Salvê á toda comunidade!!! Bom, eu sou o Iago mais conhecido como Heartless, tenho 25 anos, sou casado, formado em Artes Visuais Multimídia e curioso no mundo dos Servidores de Tibia desde meados de 2008~09... Assim como muitos de vocês eu já abri vários servidores, porém como todos sabem os que vingaram era os 999x.. Baiak... Full Global... servidores que agradavam apenas o público, ou por ser fácil de upar, ou pela galera já conhecer o a b c, do server. Porém com as novas versões do Tibia o jogo vem "perdendo público" mas, se você reparar bem, a cada versão mais e mais
  2. WhiteWolf, boa tarde!

     

    Sou Iago Melo e estou desenvolvendo um projeto OpenTibia de Batalha MOBA, chama-se League of Spirits

    Eu tenho uma ideia que tentei implementar no servidor mas não obtive sucesso, estou falando da os.time

    Seguinte, eu queria fazer um script que reconhecesse o horário do jogo e anunciasse aos players:
    06:00 dentro do jogo: "O Sol está nascendo..."
    12:00 dentro do jogo: "O Sol está á pino..."
    18:00 dentro do jogo: "O Sol está se pondo..."

    Quando ficasse de noite o Nexus Azul e Vermelho escolheriam um de cada time para ser o Lider durante o periodo noturno do servidor, que no caso isso iria acontecer a cada 40 minutos durante 20 minutos que é o periodo norturno

    O sistema de liderança eu já tenho, eu queria fazer essa parada de anunciar os horarios ingame pros outros players se situarem quanto ao sistema de liderança!!!

    Cara... você poderia me direcionar? Pois de os.time sou bem cabaço mesmo :/

    Achei essa idéia do caralho e não consigo elimina-la da minha mente, me dá uma luz WhiteWOLFFF!!!
    Ps: Tenho duas lobinhas dessas do seu avatar lá no quintal de casa, quase nem gosto rs

    Caso queria ver o projeto como tá ficando, segue NET:
    www.facebook.com/leagueofspirits
    www.youtube.com/channel/UCwjo37_WnPF2acebcjw0ljQ

     

    1. xWhiteWolf

      xWhiteWolf

      os.time() retorna o tempo em segundos que se passaram desde 1 de janeiro de 1970 (UNIX TIME), o que vc quer é o os.date() que retorna a data e a hora atual.

      https://www.lua.org/pil/22.1.html

       

      print(os.date("%H:%M:%S"))

      hora = os.date("%H")
      minuto = os.date("%M")
      segundo = os.date("%S")


      tudo que vc tem que fazer é um globalevents onthink e checar se a hora e o minuto são os que vc quer OU fazer onTime pra executar em determinados horários específicos

       

    2. Heartless

      Heartless

      Então xWhiteWolf veja as mais novas descobertas que fiz:

       

      O relogio do tibia não é sincronizado com o clima, dia e noite...

       

      Quando abre o servidor ele abre toda vez "meio dia" porque depois de 20 minutos ele escurece

      Ai ele fica 20 minutos de Noite e o dia nasce outra vez...

      Ai então que o ciclo corre 40 minutos de dia, depois 20 minutos de noite...

       

      Sendo assim eu não to conseguindo sicronizar uma globalevent com um intervalo exato pq se eu coloco pra falar que o dia nasce a cada 40 minutos, depois do primeiro dia ele vai inverter as frases...

       

      Ai eu te pergunto o seguinte: Você manja fazer um calculo pro horario do tibia iniciar as 00:00?

       

      Olha o script que eu consegui fazer baseado na action Watch do relogio de pulso

      Spoiler

       

      local i = {
      ["06:00"] = {nome = "O sol esta nascendo..."},
      ["12:00"] = {nome = "O sol esta a pino..."},
      ["18:00"] = {nome = "O sol esta se pondo..."},
      ["00:00"] = {nome = "A lua esta cheia..."},
      }
      function onThink(cid, interval)
      local twentyfour = TRUE
      local tibiantime = TRUE
          if tibiantime == FALSE then
              if twentyfour == TRUE then
                  time = os.date('%H:%M')
              else
                  time = os.date('%I:%M %p')
              end
          else
              varh = (os.date('%M') * 60 + os.date('%S')) / 150
              tibH = math.floor(varh)
              tibM = math.floor(60 * (varh-tibH))
              if tibH < 10 then tibH = '0'..tibH end
              if tibM < 10 then tibM = '0'..tibM end
              time = (tibH..':'..tibM)
              tb = i[time]
          end

              if tb then
          doBroadcastMessage("" .. tb.nome .. "")
              end
      end
      return TRUE

       

       

      Corrigindo: Pro servidor Iniciar as 12:00, não as 00:00 como falei no post acima!

    3. Heartless

      Heartless

      Obrigado pelo retorno.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo