Ir para conteúdo

[Duvida] Remover quantia XP do Jogador


yLR111

Posts Recomendados

3 minutos atrás, zAryonn disse:

Você pode utilizar o seguinte metódo:


player.setExperience(player.getExperience() - quantidadearemover);

 

se ajudei, deixa o like e marca como melhor resposta para alguém fechar o tópico.

remove o XP mas nao muda de nivel

usei isso:

				int s = 2;
				p.setExp(p.getExp() - s);

 

Link para o comentário
Compartilhar em outros sites

1 minuto atrás, yLR111 disse:

remove o XP mas nao muda de nivel

usei isso:


				int s = 2;
				p.setExp(p.getExp() - s);

 

Se eu não estou enganado, há um método que é: setTotalExperience e getTotalExperience, dá uma olhada ai. E é só você checar, se a experiência do cara for <= 0 (não sei se pode ser negativa, mas se for), você remove o level do player.

// código aqui
if (p.getExp <= 0)
  p.setLevel(p.getLevel() - 1);

 

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

Hm... então. Se você quer remover a experiência, você tem que usar o "getExp" e o "setExp". Como está no site do spigot, o "getExp" retorna um valor float, ele representa a experiência do jogador para atingir o próximo nível(1 como indo para o próximo nível).

Você pode fazer algo tipo assim:
 

float exp = player.getExp();
//Checando se tem mais de 500 de experiência, se não tiver, apenas coloca como '0'.
if(exp >= .5){
  player.setExp(exp - .5);
}else{
  player.setExp(0);
}
//ou...
player.setExp(exp >= .5 ? exp - .5 : 0);

 

 

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

Visitante
Este tópico está impedido de receber novos posts.
  • Quem está navegando   0 membros estão online

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