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

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

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

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...