Ir para conteúdo
  • 0

Chance para tesouros


MrGustavi

Pergunta

Estou tentando fazer um plugin de tesouros, mas nao estou conseguindo fazer, por exemplo, o tesouro nivel 1: tem 1% de chance,  o nivel 2: tem 0,5% de chance e assim por diante.. cada vez mais dificil.

 

Codigo:

package me.SprintTesouro.Eventos;

import com.gmail.nossr50.datatypes.skills.SkillType;
import com.gmail.nossr50.events.experience.McMMOPlayerXpGainEvent;
import java.util.Random;
import me.SprintTesouro.Methods;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.event.Listener;

public class Espadas implements Listener
{
  public Espadas() {}
  
  @org.bukkit.event.EventHandler
  public void onUse(McMMOPlayerXpGainEvent e)
  {
    SkillType skill = e.getSkill();
    int levelskill = e.getSkillLevel();
    if ((skill.equals(SkillType.SWORDS)) && 
      (levelskill >= Methods.getCfg().getInt("Skills.Espadas.Nivel_Necessario_Nivel_1"))) {
      Random rand = new Random();
      int percent = rand.nextInt(100);
      if (percent <= Methods.getCfg().getInt("Skills.Espadas.Nivel_Chance_1")) {
        Methods.givebau(e.getPlayer(), "1");
        return;
      }
    }
    
    if (levelskill >= Methods.getCfg().getInt("Skills.Espadas.Nivel_Necessario_Nivel_2")) {
      Random rand = new Random();
      int percent = rand.nextInt(100);
      if (percent <= Methods.getCfg().getInt("Skills.Espadas.Nivel_Chance_2")) {
        Methods.givebau(e.getPlayer(), "2");
        return;
      }
    }
    if (levelskill >= Methods.getCfg().getInt("Skills.Espadas.Nivel_Necessario_Nivel_3")) {
      Random rand = new Random();
      int percent = rand.nextInt(100);
      if (percent <= Methods.getCfg().getInt("Skills.Espadas.Nivel_Chance_3")) {
        Methods.givebau(e.getPlayer(), "3");
        return;
      }
    }
  }
}
Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0

Tipo.. no caso que ta ali.. ta muito facil de se pegar.. queria dificultar e deixar mais dificil.

Quanto maior o valor do Random, mais difícil.

Quanto menor o valor do Random, mais fácil.

 

Vamos supor:

Random r = new Random();
Integer percent;

percent = r.nextInt(100);
int chance = 1; (Aqui você pode pegar na config)

if( percent <= chance ) {

   // Se o resultado do random for menor ou igual a chance, ele roda o código.
   // No caso, ele tem 100 possibilidades (1/100 = 1%)


}
percent = r.nextInt(200);

if( percent <= chance ) {

   // Mesma coisa que o anterior.
   // No caso aqui, a chance será de 0.5 porcento (1/200 = 0.5%)


}

Espero que tenha ficado simples pra entender.

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

  • 0

Não entendi o que você quer fazer.

Você quer diminuir as chances?

 

Se em 1% random é 100

Logo, 0.5% o random é 200.

 

Da pra calcular com regra de três simples..

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

  • 0

Não entendi o que você quer fazer.

Você quer diminuir as chances?

 

Se em 1% random é 100

Logo, 0.5% o random é 200.

 

Da pra calcular com regra de três simples..

Tipo.. no caso que ta ali.. ta muito facil de se pegar.. queria dificultar e deixar mais dificil.

Link para o comentário
Compartilhar em outros sites

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