Ir para conteúdo
  • 0

[Resolvido] Me ajudem plz, como dar permissão?


Guest Smath

Pergunta

Como eu faço para pegar o player que está Aqui Dentro:

    		if (p.getName().equalsIgnoreCase(getConfig().getString("MITO"))) {
    			
    		}

e dar permissão apenas para ele?

eu tava usando o PlayerJoinEvent para toda vez que o MITO entrar ele dar a permissão para aquele player!

 

Não sei se entenderam, eu quero dar uma tal permissão para o player que está ali dentro, caso o player saia e entre outro, o outro player perde e o novo mito ficar com a permissão.

 

 


 

Para quem continua sem entender, eu quero que o player que está na string 'MITO' tenha permissão 'dlhost.virus(Isso e um exemplo)'. Caso o jogador saia desta String perda a permissão, e ela seja colocada no novo player da string!

Link para o comentário
Compartilhar em outros sites

18 respostass a esta questão

Posts Recomendados

Não conheço muito bem sobre API de permissões, mas acho que você pode usar a API do PermissionsEX.

Também tem a possibilidade de adicionar a permissão ao jogador por comando:

Bukkit.getServer().dispatchCommand(Bukkit.getConsoleSender(), "pex user " + p.getName() + " add permissao.exemplo" );
//ISTO É UM EXEMPLO

Espero ter ajudado!

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

Em meu caso, eu importei o PEX e dei a permissão apenas quando o player matar o Mito atual

 

 
Player matou = e.getEntity().getPlayer().getKiller();
 
PermissionUser colocar = PermissionsEx.getUser(matou);
 
colocar.addPermission(getConfig().getString("Permissao_colocar"));
 
Tente colocar: (OBS: Digitei aqui, não sei se vai dar certo)
 
 
 
PermissionUser colocar = PermissionsEx.getUser(p.getName());

 

 

if (p.getName).equalsIgnoreCase(getConfig().getString("MITO"))) {

 

colocar.addPermission("Permissão");

 

}

 

 

 

Não sei escrever com esse código ai que deixa organizado :(


Não conheço muito bem sobre API de permissões, mas acho que você pode usar a API do PermissionsEX.

Também tem a possibilidade de adicionar a permissão ao jogador por comando:

Bukkit.getServer().dispatchCommand(Bukkit.getConsoleSender(), "pex user " + p.getName() + " add permissao.exemplo" );
//ISTO É UM EXEMPLO

Espero ter ajudado!

 

Dessa forma tbm funciona xD

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

if(p.getName().equalsIgnoreCase(getConfig().getString("Mito))){
Bukkit.getServer().dispatchCommand(Bukkit.getConsoleSender(), "pex user " + p.getName() + " add permissao.exemplo" );
//ISTO É UM EXEMPLO
}

Coloque isso ai no PlayerJoinEvent e tente criar uma nova String para o Mito anterior, assim você faz pra qnd o player entrar add a permissão pra ele, e pega o Mito anterior e remove a permissão dele.

Player p = e.getPlayer();
if(p.getName().equalsIgnoreCase("Trow")){
Bukkit.getServer().dispatchCommand(Bukkit.getConsoleSender(), "pex user " + p.getName() + " add permissao.exemplo" );
//ISTO É UM EXEMPLO
}
String mitoAnterior = getConfig().getString("ExMito");
Bukkit.getServer().dispatchCommand(Bukkit.getConsoleSender(), "pex user " + mitoAnterior + " remove permissao.exemplo" );
//ISTO É UM EXEMPLO
Editado por Trow_Games
Link para o comentário
Compartilhar em outros sites

if(p.getName().equalsIgnoreCase(getConfig().getString("Mito))){
Bukkit.getServer().dispatchCommand(Bukkit.getConsoleSender(), "pex user " + p.getName() + " add permissao.exemplo" );
//ISTO É UM EXEMPLO
}

Coloque isso ai no PlayerJoinEvent e tente criar uma nova String para o Mito anterior, assim você faz pra qnd o player entrar add a permissão pra ele, e pega o Mito anterior e remove a permissão dele.

Player p = e.getPlayer();
if(p.getName().equalsIgnoreCase("Trow")){
Bukkit.getServer().dispatchCommand(Bukkit.getConsoleSender(), "pex user " + p.getName() + " add permissao.exemplo" );
//ISTO É UM EXEMPLO
}
String mitoAnterior = getConfig().getString("ExMito");
Bukkit.getServer().dispatchCommand(Bukkit.getConsoleSender(), "pex user " + mitoAnterior + " remove permissao.exemplo" );
//ISTO É UM EXEMPLO

 

 

Em meu caso, eu importei o PEX e dei a permissão apenas quando o player matar o Mito atual

 

 
Player matou = e.getEntity().getPlayer().getKiller();
 
PermissionUser colocar = PermissionsEx.getUser(matou);
 
colocar.addPermission(getConfig().getString("Permissao_colocar"));
 
Tente colocar: (OBS: Digitei aqui, não sei se vai dar certo)
 
 
 
PermissionUser colocar = PermissionsEx.getUser(p.getName());

 

 

if (p.getName).equalsIgnoreCase(getConfig().getString("MITO"))) {

 

colocar.addPermission("Permissão");

 

}

 

 

 

Não sei escrever com esse código ai que deixa organizado :(

 

Dessa forma tbm funciona xD

 

Não conheço muito bem sobre API de permissões, mas acho que você pode usar a API do PermissionsEX.

 

Também tem a possibilidade de adicionar a permissão ao jogador por comando:

Bukkit.getServer().dispatchCommand(Bukkit.getConsoleSender(), "pex user " + p.getName() + " add permissao.exemplo" );
//ISTO É UM EXEMPLO

Espero ter ajudado!

 

Nenhum entenderam, eu quero apenas setar a permissão no mito enquanto ele estiver com a tag.. quando ele perde o mito, ele perde a permissão também!

Link para o comentário
Compartilhar em outros sites

Nenhum entenderam, eu quero apenas setar a permissão no mito enquanto ele estiver com a tag.. quando ele perde o mito, ele perde a permissão também!

é só adicionar a permissão ao player quando ele ganhar a tag mito, e retirar quando ele perder a tag mito.

dai vc faz como o trow disse, cria um local onde salva o mito anterior, salva o mito q perdeu a tag lá, e tira permissao dele.

 

acho q n tem como dar permissoes "temporarias"

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

Eu estou usando isso:

    		PermissionUser colocar = PermissionsEx.getUser(p.getName());
    		 
    		if (p.getName().equalsIgnoreCase(getConfig().getString("MITO"))) {
    			colocar.addPermission("heroclantags.grupo.mito");
    		} else {
    			colocar.removePermission("heroclantags.grupo.mito");
    		}
        }

Mais acho que vai da lag :/


é só adicionar a permissão ao player quando ele ganhar a tag mito, e retirar quando ele perder a tag mito.
dai vc faz como o trow disse, cria um local onde salva o mito anterior, salva o mito q perdeu a tag lá, e tira permissao dele.

acho q n tem como dar permissoes "temporarias"

Não tem como salvar o MITO anterior.. eu uso this.mito de evento, no comando /setmito não tem como eu pegar o antigo já que o código e apontado para o novo..

Link para o comentário
Compartilhar em outros sites

Então você poderia criar um Arquivo com o histórico dos mitos tipo um MitosPassados.yml

Como já disse - NÃO TEM COMO EU SALVAR O MITO ANTIGO DO /SETMITO.

 

(Eu não uso configuração para pegar o mito, eu uso String = this.mito null;

 

 

faz o q o trow disse mas tambem no playerdeath event, ai qnd o mito morrer voce tira a perm dele e da perm para o novo

Nossa.. ajudou muito dizer isso tudo..

 

 

Cara pra remover é simples, se o cara tiver a permissão e não for mito tu remove, sem mistério.

vou dizer nada :/

Link para o comentário
Compartilhar em outros sites

Como já disse - NÃO TEM COMO EU SALVAR O MITO ANTIGO DO /SETMITO.

 

(Eu não uso configuração para pegar o mito, eu uso String = this.mito null;

 

 

Nossa.. ajudou muito dizer isso tudo..

 

 

vou dizer nada :/

Tu qué oq meu filho? o código prontinho? da licença né?

Tu sabe mexer com vault?

Link para o comentário
Compartilhar em outros sites

Como já disse - NÃO TEM COMO EU SALVAR O MITO ANTIGO DO /SETMITO.

 

(Eu não uso configuração para pegar o mito, eu uso String = this.mito null;

 

 

 

Nossa.. ajudou muito dizer isso tudo..

 

 

 

vou dizer nada :/

nao sabe como pegar o mito anterior? eu disse para voce, e nao fui so eu.. se nao entendeu o que teem dito para tentar ajudar voce e pq voce nao sabe nada disto, entao nao fique reclamando.. deve qerer q alguem faca por voce e se ja percebeu que o metodo que esta usando nao funciona pq n muda? pff..

Link para o comentário
Compartilhar em outros sites

Não tem como definir o mito em uma variável, porque toda vez que o servidor reiniciar/desligar a variável será definida para o seu estado inicial ou seja, se no seu código ela é por padrão nula (String mito = null;) ela será definida para esse mesmo valor quando oque eu falei acima acontecer. Crie um arquivo de configuração .yml e salve o mito como no exemplo abaixo.
 

String mitoAtual = getConfig().getString("mito");

@EventHandler
public void whenPlayerDie(PlayerDeathEvent event){
	Player quemMorreu = event.getVictim();
	Player quemMatou = event.getVictim().getKiller();
	if (quemMorreu.getName().equals(mitoAtual) && !quemMatou.getName().equals(quemMorreu.getName())){
		PermissionUser userMorreu = PermissionsEx.getUser(quemMorreu.getName());
		PermissionUser userMatou = PermissionsEx.getUser(quemMatou.getName());
		Bukkit.getServer().dispatchCommand(Bukkit.getConsoleSender(), "pex user " + quemMorreu.getName() + " remove permissao.do.mito" );
		Bukkit.getServer().dispatchCommand(Bukkit.getConsoleSender(), "pex user " + quemMatou.getName() + " add permissao.do.mito" );
		getConfig().set("mito", quemMatou.getName());
		try {
			//codigo pra salvar a config que eu n lembro agora kk
		}
	}
}

/*

	Código feito pelo Notepad++;

*/
Link para o comentário
Compartilhar em outros sites

 

Não tem como definir o mito em uma variável, porque toda vez que o servidor reiniciar/desligar a variável será definida para o seu estado inicial ou seja, se no seu código ela é por padrão nula (String mito = null;) ela será definida para esse mesmo valor quando oque eu falei acima acontecer. Crie um arquivo de configuração .yml e salve o mito como no exemplo abaixo.

 

String mitoAtual = getConfig().getString("mito");

@EventHandler
public void whenPlayerDie(PlayerDeathEvent event){
	Player quemMorreu = event.getVictim();
	Player quemMatou = event.getVictim().getKiller();
	if (quemMorreu.getName().equals(mitoAtual) && !quemMatou.getName().equals(quemMorreu.getName())){
		PermissionUser userMorreu = PermissionsEx.getUser(quemMorreu.getName());
		PermissionUser userMatou = PermissionsEx.getUser(quemMatou.getName());
		Bukkit.getServer().dispatchCommand(Bukkit.getConsoleSender(), "pex user " + quemMorreu.getName() + " remove permissao.do.mito" );
		Bukkit.getServer().dispatchCommand(Bukkit.getConsoleSender(), "pex user " + quemMatou.getName() + " add permissao.do.mito" );
		getConfig().set("mito", quemMatou.getName());
		try {
			//codigo pra salvar a config que eu n lembro agora kk
		}
	}
}

/*

	Código feito pelo Notepad++;

*/

Não quero código..

 

Sabe me dizer como eu faço para pegar o usuário que está na String "MITO" e mover ele para a String "MITO2"?

Link para o comentário
Compartilhar em outros sites

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