Ir para conteúdo
  • 0

[Resolvido] Utils :/


xKiizame

Pergunta

Como eu faço para esse evento só acontecer nos sábados depois das 17:00 horas?

	public void newGladTask() {
		repet = Bukkit.getScheduler().scheduleSyncRepeatingTask(this, new Runnable() {
	        public void run() {
	            if (!(gladiadoract)) {
	                Bukkit.getScheduler().cancelTask(repet);
	                repet = -1;
	              return;
	            }
		        Bukkit.broadcastMessage("É HoJe SeUs BuCeTAum");
	        }
	    }, 20, 20);
	}
Link para o comentário
Compartilhar em outros sites

13 respostass a esta questão

Posts Recomendados

Crie uma repeating task para verificar (tipo a cada 30 minutos) que dia que é (junto com a hora) se for inicie o evento...

 Você pode verificar isso usando a classe Calendar do Java: http://www.devmedia.com.br/trabalhando-com-as-classes-date-calendar-e-simpledateformat-em-java/27401

Link para o comentário
Compartilhar em outros sites

Quero fazer um task funcionar apenas em X dia.

 

Crie uma repeating task para verificar (tipo a cada 30 minutos) que dia que é (junto com a hora) se for inicie o evento...

 Você pode verificar isso usando a classe Calendar do Java: http://www.devmedia.com.br/trabalhando-com-as-classes-date-calendar-e-simpledateformat-em-java/27401

 E porque não faz com a classe que eu indiquei?

Link para o comentário
Compartilhar em outros sites

Porque não? Qual erro deu? 

 

 Mostre-nos o código de sua tentativa para tentarmos ajudar vc, não iremos dar o código completo rs

não quero código completo, eu sei me virar. Só não to conseguindo FAZER COM QUE MEU EVENTO SÓ FUNCIONE AOS SABADOS

Link para o comentário
Compartilhar em outros sites

não quero código completo, eu sei me virar. Só não to conseguindo FAZER COM QUE MEU EVENTO SÓ FUNCIONE AOS SABADOS

 

Usa esse código pra pegar o dia da semana no formato "Seg","Ter" etc... e a hora, e cria um comparador com sabado ("Sab") e a hora que quer no formato "00" - "24" horas:

 

         /**Pega o dia da semana e a hora da data atual.
	 * 
	 * @return String[] Com o dia da semana em [0] e a hora em [1].
	 */
	public String[] getDiaeHora(){
		Date date = new Date();
		DateFormat formatDia = new SimpleDateFormat("EEE", new Locale("pt","br"));
		DateFormat formatHora = new SimpleDateFormat("hh", new Locale("pt","br"));
		return new String[]{formatDia.format(date),formatHora.format(date)};
	}
Editado por FabioZumbi12
Link para o comentário
Compartilhar em outros sites

BukkitTask id;
final Calendar c = Calendar.getInstance();
id = new BukkitRunnable(){
	@Override
	public void run(){
		if(c.get(Calendar.DAY_OF_WEEK) == Calendar.MONDAY && c.get(Calendar.HOUR_OF_DAY) == 15 && c.get(Calendar.MINUTE) == 00){
			Bukkit.broadcastMessage("É HoJe SeUs BuCeTAum");
		}
	}
}.runTaskTimer(Bukkit.getServer().getPluginManager().getPlugin("NomeDoSeuPlugin"), 60*20, 1*60*20);

Se não resolver sua dúvida, desiste.

Link para o comentário
Compartilhar em outros sites

não quero código completo, eu sei me virar. Só não to conseguindo FAZER COM QUE MEU EVENTO SÓ FUNCIONE AOS SABADOS

Sério, a solução esta bem ai, é só procurar um pouco

 

 

 

Usa esse código pra pegar o dia da semana no formato "Seg","Ter" etc... e a hora, e cria um comparador com sabado ("Sab") e a hora que quer no formato "00" - "24" horas:

 

         /**Pega o dia da semana e a hora da data atual.
	 * 
	 * @return String[] Com o dia da semana em [0] e a hora em [1].
	 */
	public String[] getDiaeHora(){
		Date date = new Date();
		DateFormat formatDia = new SimpleDateFormat("EEE", new Locale("pt","br"));
		DateFormat formatHora = new SimpleDateFormat("hh", new Locale("pt","br"));
		return new String[]{formatDia.format(date),formatHora.format(date)};
	}

  (Só pra tu ver meu método)

 

 Você sabe que tem que estar em um task correto? Ja te passei o link tutorial sobre o Calendar então você ja deve saber como usar correto? 

 Obviamente dentro do task você tem que instanciar a Calendar. Se você procurasse nas docs você no minimio iria achar o método:

Calendar#.get();

 Agora para checar o dia:

.get(Calendar.DAY_OF_WEEK)

 Agora pra saber se é sabado

get(Calendar.DAY_OF_WEEK) == Calendar.SATURDAY

 Se der true, é Sabado

 

 Agora só embutir isso na sua task

 

 Não entendi até agora a dificuldade

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...