Ir para conteúdo
  • 0

[Resolvido] [Dúvida] Chavers


LuizB

Pergunta

Como faço pra checar se um argumento é igual a uma parada que tem na config

Exemplo Eu Digito: 

 

/gerarchave 20

Envia a msg pro player "A Chave Gerada Foi: 1231231235dsa12"

ai vai setar na config

 

Chaves:
  1231231235dsa12: 20

ai o player Digita /usarchave args[0] 

e Tem que checar se o Args[0] é igual a alguma chave que tem na config

se for vai adicionar 20 pontos

na Config

Só preciso saber como faço pra checar

Link para o comentário
Compartilhar em outros sites

16 respostass a esta questão

Posts Recomendados

 

 Não Funcionou !

 

Código:

 

 

if(cmd.getName().equalsIgnoreCase("ativar")) {
				if (args.length==1) {
					for(String chave : Main.kg.getConfig().getConfigurationSection("Chaves").getKeys(false)) {
						if (args[0].contains(chave)) {
							Main.pk.getConfig().set("Chaves."+ chave, null);
							Bukkit.getServer().broadcastMessage("Chave Ativada);
							int  pontos = Main.kg.getConfig().getInt("Chaves." + chave);
					        Main.pk.getConfig().set("QuantiaPlayers." + p.getName()+".CloudGolds", pontos);
					        Main.pk.saveConfig();
						}else {
							p.sendMessage("Chave Não encontrada");
						}
						}
							
						
					}

Lembrando que na config ta assim as Chaves 

 

 

Chaves:
    ABC231AUHFGY533BH: '20'

Cara faz um debug...

Tipo isso:

                    if (args.length==1) 
                    {
			Main.pk.getLogger().info("Tamanho do argumento aceito");
			for(String chave : Main.kg.getConfig().getConfigurationSection("Chaves").getKeys(false)) 
			{
				Main.pk.getLogger().info("Esta Passando no loop");
				if (args[0].equalsIgnoreCase(chave)) 
				{
					Main.pk.getLogger().info("Argumento igual a chave " + chave);
					Bukkit.getServer().broadcastMessage("Chave Ativada);
					int  pontos = Main.kg.getConfig().getInt("Chaves." + chave);
			        Main.pk.getConfig().set("QuantiaPlayers." + p.getName()+".CloudGolds", pontos);
					Main.pk.getConfig().set("Chaves."+ chave, null);
			        Main.pk.saveConfig();
				}
				else 
				{
					Main.pk.getLogger().info("Argumento não é igual a chave " + chave);
					p.sendMessage("Chave Não encontrada");
				}
			}
			Main.pk.getLogger().info("Saiu do Loop");
		    }
Link para o comentário
Compartilhar em outros sites

if (Main.getInstance().config.contains("Chaves." + args[1])) {

 

isso?

Ao Contratio Tipo

 

if (args[0].contains(chave)

 

@EDIT

 

é tipo um /usarkey

 

do VIpzero

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

Ao Contratio Tipo

 

if (args[0].contains(chave)

 

@EDIT

 

é tipo um /usarkey

 

do VIpzero

 Isso ai eu peguei de um pl de vip q tinha feito, man e assim , if (getConfig().contains("Chaves." + args[0])) {

Link para o comentário
Compartilhar em outros sites

 Isso ai eu peguei de um pl de vip q tinha feito, man e assim , if (getConfig().contains("Chaves." + args[0])) {

ok vou testar :p

 

@EDIT

 

E Pra pegar o Valor ? no caso é 20

 

No caso Do Vip zero é os dia da key

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

for(String chave : plugin.getConfig().getConfigurationSection("Chaves").getKeys(false)) {

    if(args[0] == chave) {

        //O RESTO DO CODIGO...

        int  pontos = plugin.getConfig().getInt("Chaves." + chave);

        plugin.getConfig().set("Chaves." + chave, pontos + 20);

        

        

    }

}

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

 

for(String chave : plugin.getConfig().getConfigurationSection("Chaves").getKeys(false)) {
    if(args[0] == chave) {
        //O RESTO DO CODIGO...
        
    }
}

 

pq  tem que colocar getKeys(false){ ?

Link para o comentário
Compartilhar em outros sites

pq  tem que colocar getKeys(false){ ?

Porque na Section é o seguinte:

 

A Sua é:

 

Chaves:

    1231231235dsa12: 20

 

Se usar GetKeys(false); não vai pegar o valor da String que no caso é: 20

Se usar getKeys(true); vai pegar o valor da String...

Simples :p

Link para o comentário
Compartilhar em outros sites

Porque na Section é o seguinte:

 

A Sua é:

 

Chaves:

    1231231235dsa12: 20

 

Se usar GetKeys(false); não vai pegar o valor da String que no caso é: 20

Se usar getKeys(true); vai pegar o valor da String...

Simples :p

Krl vc é foda agora entendi

Link para o comentário
Compartilhar em outros sites

Nada kk! Sou apenas um cara que tem o Hobby de criar plugins... Apenas um Intermediário... :D

Mas se precisar de ajuda só falar! :D

Mano eu criei um random de Letras 

 

Como faço pra setar Assim

 

 

Chave:
  123123: 20

no caso o 123123 foi o gerado

 

é Assim ? 

 

 

Main.kg.getConfig().set("Chaves."+ "."+gerado, value);
Link para o comentário
Compartilhar em outros sites

 

Mano eu criei um random de Letras 

 

Como faço pra setar Assim

 

 

Chave:
  123123: 20

no caso o 123123 foi o gerado

 

é Assim ? 

 

 

Main.kg.getConfig().set("Chaves."+ "."+gerado, value);

Main.kg.getConfig().set("Chaves."+ gerado, value);

Link para o comentário
Compartilhar em outros sites

Main.kg.getConfig().set("Chaves."+ gerado, value);

Coloquei Assim e não Funcionou:

 

 


			if(cmd.getName().equalsIgnoreCase("ativar")) {
				if (args.length==1) {
					for(String chave : Main.kg.getConfig().getConfigurationSection("Chaves.").getKeys(false)) {
						if (args[0]==(chave)) {
							Main.pk.getConfig().set("Chaves."+ chave, null);
							Bukkit.getServer().broadcastMessage("Ativou Chave");
							int  pontos = Main.kg.getConfig().getInt("Chaves." + chave);
					        Main.pk.getConfig().set("QuantiaPlayers." + p.getName()+".ChavesPlayers", pontos);
					        Main.pk.saveConfig();
						}else {
							p.sendMessage("Chave Não encontrada");
						}
Link para o comentário
Compartilhar em outros sites

 

Coloquei Assim e não Funcionou:

 

 


			if(cmd.getName().equalsIgnoreCase("ativar")) {
				if (args.length==1) {
					for(String chave : Main.kg.getConfig().getConfigurationSection("Chaves.").getKeys(false)) {
						if (args[0]==(chave)) {
							Main.pk.getConfig().set("Chaves."+ chave, null);
							Bukkit.getServer().broadcastMessage("Ativou Chave");
							int  pontos = Main.kg.getConfig().getInt("Chaves." + chave);
					        Main.pk.getConfig().set("QuantiaPlayers." + p.getName()+".ChavesPlayers", pontos);
					        Main.pk.saveConfig();
						}else {
							p.sendMessage("Chave Não encontrada");
						}

tira o ponto do Section

for(String chave : Main.kg.getConfig().getConfigurationSection("Chaves").getKeys(false)) {
Link para o comentário
Compartilhar em outros sites

 

tira o ponto do Section

for(String chave : Main.kg.getConfig().getConfigurationSection("Chaves").getKeys(false)) {

 Não Funcionou !

 

Código:

 

 

if(cmd.getName().equalsIgnoreCase("ativar")) {
				if (args.length==1) {
					for(String chave : Main.kg.getConfig().getConfigurationSection("Chaves").getKeys(false)) {
						if (args[0].contains(chave)) {
							Main.pk.getConfig().set("Chaves."+ chave, null);
							Bukkit.getServer().broadcastMessage("Chave Ativada);
							int  pontos = Main.kg.getConfig().getInt("Chaves." + chave);
					        Main.pk.getConfig().set("QuantiaPlayers." + p.getName()+".CloudGolds", pontos);
					        Main.pk.saveConfig();
						}else {
							p.sendMessage("Chave Não encontrada");
						}
						}
							
						
					}

Lembrando que na config ta assim as Chaves 

 

 

Chaves:
    ABC231AUHFGY533BH: '20'
Link para o comentário
Compartilhar em outros sites

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