Ir para conteúdo

[Tutorial] Guardar timestamp


Laravel 8 em Pessoa

Devo trazer mais ou não?  

6 votos

  1. 1. Ajudei?

    • Sim
      2
    • Não
      2
    • Um bocado
      2


Posts Recomendados

Hoje venho ensinar como guardar seu timestamp(vou ensinar em config.yml mas é só fazer o mesmo para mysql)

(Pode ser usado em sistema de recompensas diárias, kits, etc)

Este método que eu uso funciona mesmo se o servidor estiver desligado o que significa que ele vai contabilizar o tempo na mesma

Eu vou ensinar a usar esse método em comandos!

 

Vamos lá,

Primeiro criamos o código do comando:

Spoiler

    @Override
    public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
        if (cmd.getName().equalsIgnoreCase("gamersboard")) {
            
          Player player = (Player) sender;
            if (args.length == 0) {
                player.sendMessage("pronto!");
                return true;
            }
        }

        return false;
    }

 

Em seguida vamos começar a guardar o nosso player na config

Spoiler

    @Override
    public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
        if (cmd.getName().equalsIgnoreCase("gamersboard")) {
            
          Player player = (Player) sender;
            if (args.length == 0) {
                player.sendMessage("pronto!");
              // vamos setar nosso player na config aqui! https://pastebin.com/raw/dk8fNqPa
                getConfig().set("delays." + player.getName() + ".time", System.currentTimeMillis()); 
              // aqui salvamos as alterações
                saveConfig();
                return true;
            }
        }

        return false;
    }

 

Agora vamos começar a criar o nosso timestamp

Spoiler

    @Override
    public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
        if (cmd.getName().equalsIgnoreCase("gamersboard")) {
            
          Player player = (Player) sender;
          int tempo = 15; //segundos para o cooldown!
          //agora vamos verificar se o player está na config!
          if (getConfig().contains("delays."+ player.getName())) {
            //aqui vamos pegar os segundos que faltam para as msg e checagens!
            long secondsLeft = ((getConfig().getLong("delays."+player.getName()+".time")/1000 + tempo) - (System.currentTimeMillis()/1000));
            //aqui estamos a verificar se falta segundos ainda!
            if (secondsLeft > 0) {
              //aqui enviamos a msg ao player se ele estiver dentro do cooldown!
              player.sendMessage("§bTens de esperar §f"+secondsLeft+"§b segundos!");
              return true;
            }
          }
          
          
            if (args.length == 0) {
                player.sendMessage("pronto!");
              // vamos setar nosso player na config aqui! https://pastebin.com/raw/dk8fNqPa
                getConfig().set("delays." + player.getName() + ".time", System.currentTimeMillis()); 
              // aqui salvamos as alterações!
                saveConfig();
                return true;
            }
          //aqui damos um return por causa dos cooldowns!
          return true;
        }

        return false;
    }

 

Demonstração:

(desculpem o lag do servidor tinha acabado de ligar o pc e era a primeira vez que iniciava o servidor)

Spoiler

 

 

Não se esqueça de responder ao enquete!

E se ajudei dá um like no tópico ? 

Discord: https://discord.gg/3mzvVvp

Editado por M0rais
Link para o comentário
Compartilhar em outros sites

Participe da Conversa

Você pode postar agora e se cadastrar mais tarde. Se você tiver uma conta, a class='ipsType_brandedLink' href='https://gamersboard.com.br/login/' data-ipsDialog data-ipsDialog-size='medium' data-ipsDialog-title='Sign In Now'>acesse agora para postar com sua conta.
Observação: sua postagem exigirá aprovação do moderador antes de ficar visível.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.

Processando...
×
×
  • Criar Novo...