Ir para conteúdo
  • 0

UUID na config que contem


dudu

Pergunta

ola estou tentando criar um negocio mais ou menos assim eu teto com um comando na config um exemplo

 

ze: uuid (dele)

 

gostaria de saber como faco para ver ser um aplayer que tem o mesmo nome na hora que entra se ele nao contem o uuid igual kika ele

Link para o comentário
Compartilhar em outros sites

13 respostass a esta questão

Posts Recomendados

tipo como so o nome muda neh certo? tipo o player vai tar no servidor e vou usar tipo o comando /salvar player nickdoplayer ai salva na config o nome de e o uuid 

nome:

    uuid: ide dele

ai quando um player tantar entrar no servidor com o nome la que ta na configue mas o uuid ser diferente ele kika o player

	public void setNome(Player player, String nome) {
		getConfig().set(nome, player.getUniqueId().toString());
		saveConfig();
	}
	
	@EventHandler
	public void check(AsyncPlayerPreLoginEvent e) {
		//NOME QUE O PLAYER ESTA ENTRANDO
		String player = e.getName();
		//CHECA SE ESTE NOME CONTEM NA CONFIG
		if (getConfig().contains(player)) {
			//SE CONTER PEGA O UUID SALVO LÁ
			String uuidsalvo = getConfig().getString(player);
			//SE O UUID SALVO NAO FOR O DELE IRA KIKAR
			if (!e.getUniqueId().toString().equalsIgnoreCase(uuidsalvo)) {
				e.disallow(Result.KICK_OTHER, "Voce nao pode entrar com este Nick");
			}
		}
	}
Link para o comentário
Compartilhar em outros sites

voce tah fazendo ao contrario! UUID não muda somente o nome então sempre vai ser o mesmo uuid

	@EventHandler
	public void join(PlayerJoinEvent e) {
		Player p = e.getPlayer();
		if (!getConfig().contains(p.getUniqueId().toString())) {
			getConfig().set(p.getUniqueId().toString()+".Nome", p.getName());
		}
	}
	
	public boolean eOmesmoNome(Player player) {
		if (getConfig().contains(player.getUniqueId().toString())) {
			String nome = getConfig().getString(player.getUniqueId().toString()+".Nome");
			if (nome.equalsIgnoreCase(player.getName())) {
				return true;
			}
		}
		return false;
	}

voce tem que checar o nome do player nao o UUID

Link para o comentário
Compartilhar em outros sites

voce tah fazendo ao contrario! UUID não muda somente o nome então sempre vai ser o mesmo uuid

	@EventHandler
	public void join(PlayerJoinEvent e) {
		Player p = e.getPlayer();
		if (!getConfig().contains(p.getUniqueId().toString())) {
			getConfig().set(p.getUniqueId().toString()+".Nome", p.getName());
		}
	}
	
	public boolean eOmesmoNome(Player player) {
		if (getConfig().contains(player.getUniqueId().toString())) {
			String nome = getConfig().getString(player.getUniqueId().toString()+".Nome");
			if (nome.equalsIgnoreCase(player.getName())) {
				return true;
			}
		}
		return false;
	}

voce tem que checar o nome do player nao o UUID

como assim a uuid nao muda so o nome? tipo queria se ele tivesse na config saca o nome dele ele iria ver se o uuid era aquele se nao iria kikar o player

Entao tipo tinha que ser ao contrario

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

<p>Não é necessário salvar na config, só verificar usando getPlayer.</p>

<pre class="_prettyXprint _lang-">

@EventHandler

public void onPlayerJoin(PlayerJoinEvent e) {

Player p = e.getPlayer();

 

if(Bukkit.getPlayer(p.getName()) != null) {

// já existe esse jogador.

}

}

</pre>

<p> </p>

Link para o comentário
Compartilhar em outros sites

como assim a uuid nao muda so o nome? tipo queria se ele tivesse na config saca o nome dele ele iria ver se o uuid era aquele se nao iria kikar o player

Entao tipo tinha que ser ao contrario

realmente não to entendendo o que voce quer fazer!

Link para o comentário
Compartilhar em outros sites

realmente não to entendendo o que voce quer fazer!

tipo como so o nome muda neh certo? tipo o player vai tar no servidor e vou usar tipo o comando /salvar player nickdoplayer ai salva na config o nome de e o uuid 

nome:

    uuid: ide dele

ai quando um player tantar entrar no servidor com o nome la que ta na configue mas o uuid ser diferente ele kika o player

Link para o comentário
Compartilhar em outros sites

	public void setNome(Player player, String nome) {
		getConfig().set(nome, player.getUniqueId().toString());
		saveConfig();
	}
	
	@EventHandler
	public void check(AsyncPlayerPreLoginEvent e) {
		//NOME QUE O PLAYER ESTA ENTRANDO
		String player = e.getName();
		//CHECA SE ESTE NOME CONTEM NA CONFIG
		if (getConfig().contains(player)) {
			//SE CONTER PEGA O UUID SALVO LÁ
			String uuidsalvo = getConfig().getString(player);
			//SE O UUID SALVO NAO FOR O DELE IRA KIKAR
			if (!e.getUniqueId().toString().equalsIgnoreCase(uuidsalvo)) {
				e.disallow(Result.KICK_OTHER, "Voce nao pode entrar com este Nick");
			}
		}
	}

deu um erro na cmd na hora que o player entra sem ter o uuid certo e ele consegue entrar 

aqui o codigo no eclipse e o erro

https://imgur.com/a/M7zUK

la linha 26 teve que colcoar esse entite

Link para o comentário
Compartilhar em outros sites

 

deu um erro na cmd na hora que o player entra sem ter o uuid certo e ele consegue entrar

aqui o codigo no eclipse e o erro

https://imgur.com/a/M7zUK

la linha 26 teve que colcoar esse entite

Pq você foi colocar (Entity) ali? ;-; o filipe não colocou isso.. você disse basicamente que o evento é uma entidade.

 

@Edit

Tira o (Entity)

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

what esse método não existe?

Bd44PPqrSX_WLmu1KEYOKQ.png

que versão ta usando?

Era a versao do espigot tava usando a 1.5.2 ai coloquei a 1.8 foi o erro

mas tipo testei o meu mine original e pirata com o mesmo nome mas tiva salva o uuid do original mas os dois deu pra entrar mas deve ser pq a uuid nao vai mudar no meu pc neh?

E ainda o que ta online o outro que entra kika o que ta online

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

Era a versao do espigot tava usando a 1.5.2 ai coloquei a 1.8 foi o erro

mas tipo testei o meu mine original e pirata com o mesmo nome mas tiva salva o uuid do original mas os dois deu pra entrar mas deve ser pq a uuid nao vai mudar no meu pc neh?

E ainda o que ta online o outro que entra kika o que ta online

UUID nunca vai mudar se voce entrar com pirata ou original se o nome for o mesmo vai ser o mesmo uuid /:

Link para o comentário
Compartilhar em outros sites

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