Ir para conteúdo

[Tutorial] Rodar um evento ao chegar ao maximo de players


Guest PedroJavax

Posts Recomendados

Guest PedroJavax

Bom, hoje estou aki para mostrar... um codigo que eu e meu amigo fizemos juntos, para nosso servidor, e vou fazer um tutorial dele


 


 


 


- Como funciona?


- Você vai por uma key vip(VIPZERO) pela config, e quando chegar ao maximo de players, vai mandar mensagens avisando e depois de algum tempo, vai sortear a key:


 


 


Aki o codigo:



    String keyvip = getConfig().getString("KEY_VIP");

    @EventHandler
    public void ListPing(ServerListPingEvent e) throws InterruptedException{
        Player pr = Bukkit.getOnlinePlayers()[new Random().nextInt(Bukkit.getOnlinePlayers().length)];
        if (e.getNumPlayers() == e.getMaxPlayers()){
            Bukkit.broadcastMessage("§9Aviso > §eServidor alcançou o número maximo de jogadores. Nice!");
            Bukkit.broadcastMessage("§9Aviso > §eSortearemos um key VIP.");
            wait(10);
            Bukkit.broadcastMessage("§9Aviso > §eSortearemos em 5 segundos!");
            wait(5);
            Bukkit.broadcastMessage("§9Aviso > §e" + pr.getName() + "§eganhou o sorteio parabens!");
            pr.sendMessage("§e§lParabens você ganhou a key! Sua key:§3§l " + keyvip);
        }
        return;
    }

Tutorial:



public void ListPing(ServerListPingEvent e)
            throws InterruptedException{
        Player pr = Bukkit.getOnlinePlayers()[new Random().nextInt(Bukkit.getOnlinePlayers().length)]; //aki vai pegar um player random de todos que estao online no servidor no momento
        if (e.getNumPlayers() == e.getMaxPlayers()){ //aki vai ver se o PlayerOnlines são o mesmo tanto que o MaxPlayers se for vai fazer esse evento todo aki
            Bukkit.broadcastMessage("§9Aviso > §eServidor alcançou o número maximo de jogadores. Nice!");//MENSAGENS(Não vou explicar)
            Bukkit.broadcastMessage("§9Aviso > §eSortearemos um key VIP.");
            wait(10);//esperar 10 segundos
            Bukkit.broadcastMessage("§9Aviso > §eSortearemos em 5 segundos!");
            wait(5);//esperar 5 segundos
            Bukkit.broadcastMessage("§9Aviso > §e" + pr.getName() + "§eganhou o sorteio parabens!"); //aki vai falar que o pr(Player sorteado) ganhou o evento
            pr.sendMessage("§e§lParabens você ganhou a key! Sua key:§3§l " + keyvip);//vai mandar para o pr a key determinada na config
        }
        return;
        }
    }

Config:



KEY_VIP: "1878VIP"

Gostou? te ajudei? deixe seu like!!!


Link para o comentário
Compartilhar em outros sites

Guest PedroJavax

Oche... Porque usar isso no serverlistping? Não seria mais fácil no playerJoin?

Mas dai serio quando o player entrasse e pesa mais...

 

e no Serverlistping é mais facil de chegar, não acontece nenhum "bug"

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

Guest PedroJavax

Vai nessa, se tu coloca a thread principal do servidor pra esperar o servidor vai travar todo, até que o tempo passe, use scheduler para isso, e pra que usar o ServerListPingEvent? Basta verificar se o numero de jogadores online é X quando um jogador entra por exemplo, ai faz tal ação.

eu sei, mas prefiro ListPingEvent.

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...
  • Quem está navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...