Ir para conteúdo
  • 0

[Resolvido] Ajudaaaa


LuizB

Pergunta

Bem como faço pra fazer tipo: /prender Cuthmf Algum motivo

Ai vai Enviar Pro ARgumento 0 Você Foi Preso. Motivo: Algum Motivo ( Ou Seja o args[1] só que se eu colocar args[1] n funfa

Link para o comentário
Compartilhar em outros sites

Posts Recomendados

Você já tem algum código que está dando erro? Se sim, posta ai...

 

@Edit

Deixa, agora que fui entender, jaja edito e te falo como.

 

Testa:

StringBuilder sb = new StringBuilder();
for (int i = 1; i < args.length; i++) {
sb.append(args[i]).append(" ");
}


Uso:

"Motivo: "+sb.toString().trim()
Editado por Arkasher197
Link para o comentário
Compartilhar em outros sites

 

Você já tem algum código que está dando erro? Se sim, posta ai...

 

@Edit

Deixa, agora que fui entender, jaja edito e te falo como.

 

Testa:

StringBuilder sb = new StringBuilder();
for (int i = 1; i < args.length; i++) {
sb.append(args[i]).append(" ");
}


Uso:

"Motivo: "+sb.toString().trim()

o Valor do i é o valor do argumento ?

 

se não explique pfv

Link para o comentário
Compartilhar em outros sites

Sim..

não funfo. Porem n da nem um erro

 

Codigo:

 

StringBuilder mot = new StringBuilder();
				for (int i = 1; i < args.length; i++) {
					mot.append(args[i]).append(" ");
				}
				if(p.getServer().getPlayer(args[0])!=null){
	                 Player alvo = p.getServer().getPlayer(args[0]);
	                 Main.presos.getConfig().set("Presos."+alvo.getName().toString(), args[0]);
	                 Main.presos.getConfig().set("Presos." + ".Motivo", mot.toString().replace("&", "\u00a7"));
	                 Main.presos.getConfig().set("Presos." + ".QuemPrendeu", sender.getName());
	                 World world = Bukkit.getWorld((String)Main.config.getConfig().getString("Mundo"));
	         	 	double x =  Main.config.getConfig().getDouble("X");
	 				double y =  Main.config.getConfig().getDouble("Y");
	 				double z =  Main.config.getConfig().getDouble("Z");
	 		        float yy = Main.config.getConfig().getInt("YAW");
	 		        float pp = Main.config.getConfig().getInt("Pitch");
	 		        Location wlm = new Location(world, (double)x, (double)y, (double)z, (float)yy, (float)pp);
	 		        alvo.teleport(wlm);
	 		        Main.presos.saveConfig();
				}else {
					 Main.presos.getConfig().set("Presos."+args[0].toString(), args[0]);
	                 Main.presos.getConfig().set("Presos." + ".Motivo", mot.toString().replace("&", "\u00a7"));
	                 Main.presos.getConfig().set("Presos." + ".QuemPrendeu", sender.getName());
	                 Main.presos.saveConfig();
Link para o comentário
Compartilhar em outros sites

 

não funfo. Porem n da nem um erro

 

Codigo:

 

StringBuilder mot = new StringBuilder();
				for (int i = 1; i < args.length; i++) {
					mot.append(args[i]).append(" ");
				}
				if(p.getServer().getPlayer(args[0])!=null){
	                 Player alvo = p.getServer().getPlayer(args[0]);
	                 Main.presos.getConfig().set("Presos."+alvo.getName().toString(), args[0]);
	                 Main.presos.getConfig().set("Presos." + ".Motivo", mot.toString().replace("&", "\u00a7"));
	                 Main.presos.getConfig().set("Presos." + ".QuemPrendeu", sender.getName());
	                 World world = Bukkit.getWorld((String)Main.config.getConfig().getString("Mundo"));
	         	 	double x =  Main.config.getConfig().getDouble("X");
	 				double y =  Main.config.getConfig().getDouble("Y");
	 				double z =  Main.config.getConfig().getDouble("Z");
	 		        float yy = Main.config.getConfig().getInt("YAW");
	 		        float pp = Main.config.getConfig().getInt("Pitch");
	 		        Location wlm = new Location(world, (double)x, (double)y, (double)z, (float)yy, (float)pp);
	 		        alvo.teleport(wlm);
	 		        Main.presos.saveConfig();
				}else {
					 Main.presos.getConfig().set("Presos."+args[0].toString(), args[0]);
	                 Main.presos.getConfig().set("Presos." + ".Motivo", mot.toString().replace("&", "\u00a7"));
	                 Main.presos.getConfig().set("Presos." + ".QuemPrendeu", sender.getName());
	                 Main.presos.saveConfig();

Por favor, seleciona o código e aperta CTRL + I antes postar aqui uhsuhaushuah

Posta a classe inteira aqui, acho que tem coisa faltando no código que você mandou.

Ah, uma coisa que eu sempre faço é colocar p.sendMessage(":D"); para ver se o código está chegando até a linha dessa mensagem, faz isso e vê se deu certo.

Link para o comentário
Compartilhar em outros sites

Em cima do onEnable:

 

public static File configFile;

public static YamlConfiguration configBans;

Colocar no onEnable
configFile = new File(getDataFolder(), "Banidos.yml");
		if (!configFile.exists()) {
			saveResource("Banidos.yml", false);
		}
		configBans = YamlConfiguration.loadConfiguration(configFile);
		try {
			configBans.save(configFile);
		} catch (IOException e) {
			

>> Colocar azamiga no arquivo configBans.set("Ban." + punido.getUniqueId() + ".Nome", args[0]);

 

>> SALVA ARQUIVO    try {
                                        configBans.save(configFile);
                                    } catch (IOException e) {
                                        e.printStackTrace();
                                    }

Link para o comentário
Compartilhar em outros sites

Por favor, seleciona o código e aperta CTRL + I antes postar aqui uhsuhaushuah

Posta a classe inteira aqui, acho que tem coisa faltando no código que você mandou.

Ah, uma coisa que eu sempre faço é colocar p.sendMessage(":D"); para ver se o código está chegando até a linha dessa mensagem, faz isso e vê se deu certo.

Tipo Quando eu coloco /prender Cuthmf Flood ( Fica Deboa salva As Parada e Eu Sou teleportado )

 

Agora Quando Eu Coloco /prender Cuthmf Flood + CapsLock ( não funciona )

Link para o comentário
Compartilhar em outros sites

Bando de viados, respondem meu tópico já fiz dois tópicos e ninguém respondeu, isso aqui é pra que então?

 

Free post ? 

 

Bem como faço pra fazer tipo: /prender Cuthmf Algum motivo

 

Ai vai Enviar Pro ARgumento 0 Você Foi Preso. Motivo: Algum Motivo ( Ou Seja o args[1] só que se eu colocar args[1] n funfa

Plugin ou Skript ?

Link para o comentário
Compartilhar em outros sites

Bando de viados, respondem meu tópico já fiz dois tópicos e ninguém respondeu, isso aqui é pra que então?

Ok, senhor fodão que cometeu quebra da regra chamado "Free-post", aproveita novo ponto de warn.

 

Este tópico também é dúvida, ninguém é obrigado a responder todos os tópicos.

 

Tenha um boa noite ao senhor!

Membro alertado. :D

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

Tipo Quando eu coloco /prender Cuthmf Flood ( Fica Deboa salva As Parada e Eu Sou teleportado )

 

Agora Quando Eu Coloco /prender Cuthmf Flood + CapsLock ( não funciona )

É por causa do argumento --'

Em vez de usar args[1] você precisa criar um loop para pegar todo o argumento a partir do nome do usuário que você preder-lô

Exemplo:

String motivo = "";
      for (int i = 1; i < args.length; i++) {
        motivo = motivo + args[i] + " ";
      }

Agora definimos no seu código:

 Main.presos.getConfig().set("Presos." + ".Motivo", motivo);

Ah e no seu código, acho que está um pouco errado:

 

 

IdTlHx9.png

 

 

 

No caso setamos o nome do jogador:

Main.presos.getConfig().set("Presos." + alvo.getName() + ".Motivo", motivo);

E o stringbuilder até onde eu sei é aquela tela de banimento do minecraft, exemplo: (eu acho ;-; caso eu esteja errado diz aí)

 

 

fqHb0Cu.png

 

 

Editado por Kewilleen G.
Link para o comentário
Compartilhar em outros sites

É por causa do argumento --'

Em vez de usar args[1] você precisa criar um loop para pegar todo o argumento a partir do nome do usuário que você preder-lô

Exemplo:

String motivo = "";
      for (int i = 1; i < args.length; i++) {
        motivo = motivo + args[i] + " ";
      }

Agora definimos no seu código:

 Main.presos.getConfig().set("Presos." + ".Motivo", motivo);

Ah e no seu código, acho que está um pouco errado:

 

 

IdTlHx9.png

 

 

 

No caso setamos o nome do jogador:

Main.presos.getConfig().set("Presos." + alvo.getName() + ".Motivo", motivo);

E o stringbuilder até onde eu sei é aquela tela de banimento do minecraft, exemplo: (eu acho ;-; caso eu esteja errado diz aí)

 

 

fqHb0Cu.png

 

 

Olha Mesma Coisa n deu. e nem da erro

 

 

String mot = "";
				for (int i = 1; i < args.length; i++) {
			        mot = mot + args[i] + " ";
			      }
				if(p.getServer().getPlayer(args[0])!=null){
	                 Player alvo = p.getServer().getPlayer(args[0]);
	                 Main.presos.getConfig().set("Presos."+alvo.getName().toString(), args[0]);
	                 Main.presos.getConfig().set("Presos." + alvo.getName() + "Motivo.", mot.replace("&", "\u00a7"));
	                 Main.presos.getConfig().set("Presos." + alvo.getName() + "QuemPrendeu.", sender.getName());
	                 World world = Bukkit.getWorld((String)Main.config.getConfig().getString("Mundo"));
	         	 	double x =  Main.config.getConfig().getDouble("X");
	 				double y =  Main.config.getConfig().getDouble("Y");
	 				double z =  Main.config.getConfig().getDouble("Z");
	 		        float yy = Main.config.getConfig().getInt("YAW");
	 		        float pp = Main.config.getConfig().getInt("Pitch");
	 		        Location wlm = new Location(world, (double)x, (double)y, (double)z, (float)yy, (float)pp);
	 		        alvo.teleport(wlm);
	 		        Main.presos.saveConfig();
Link para o comentário
Compartilhar em outros sites

Guest Mateus Demarchi

if(command.getName("prender ")) {

if(args.lenght <= 1) {

p.sendMessage (" Utilize /prender <player> <motivo>");

return true;

}

if(args.lenght == 2) {

String motivo = args[1];

//faz o resto aqui

return true;

}

}

Link para o comentário
Compartilhar em outros sites

if(command.getName("prender ")) {

if(args.lenght <= 1) {

p.sendMessage (" Utilize /prender <player> <motivo>");

return true;

}

if(args.lenght == 2) {

String motivo = args[1];

//faz o resto aqui

return true;

}

}

Então vai pegar todos os argumentos Aparti do args[1] ?

Link para o comentário
Compartilhar em outros sites

Guest Mateus Demarchi
Então vai pegar todos os argumentos Aparti do args[1] ?

 

Não, você vai começar no argumento 0 que seria o player que você quer aprender e o argumento 1 é o motivo.

Link para o comentário
Compartilhar em outros sites

Não, você vai começar no argumento 0 que seria o player que você quer aprender e o argumento 1 é o motivo.

mais acho que n vai funfa só se for Assim

 

/prender biterr Flood

 

Agora se eu digitar 

 

/prender biterr Uso De Hack

 

acho que n funfa :/ ( pq tem mais de 1 argumento

Link para o comentário
Compartilhar em outros sites

Guest Mateus Demarchi
mais acho que n vai funfa só se for Assim

/prender biterr Flood

Agora se eu digitar 

 

/prender biterr Uso De Hack

 

acho que n funfa :/ ( pq tem mais de 1 argumento

 

String motivo = args[1];

for(int i = 1; i < args.lenght; i++) {

motivo = motivo + args + " ";

}

// só fazer normal usando a variável motivo de tipo String.

Link para o comentário
Compartilhar em outros sites

String motivo = args[1];

for(int i = 1; i < args.lenght; i++) {

motivo = motivo + args + " ";

}

// só fazer normal usando a variável motivo de tipo String.

Resolvi.

 

Agora tipo quando eu digito /prender joao teste teste

 

ele Salva Na Config DeBoa

 

a Config fica assim:

 

 

Presos:
  Detento: joao
  Motivo: 'teste teste '
  QuemPrendeu: CONSOLE

Agora se o joao tiver na config

 

 

e eu digitar /prender biterr flood 

 

ele remove o joão e seta o biterr

 

então como faço pra criar ?

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

Resolvi.

 

Agora tipo quando eu digito /prender joao teste teste

 

ele Salva Na Config DeBoa

 

a Config fica assim:

 

 

Presos:
  Detento: joao
  Motivo: 'teste teste '
  QuemPrendeu: CONSOLE

Agora se o joao tiver na config

 

 

e eu digitar /prender biterr flood 

 

ele remove o joão e seta o biterr

 

então como faço pra criar ?

O seu cod deve esta subistituindo o detendo atual e nao tentando criar 1 novo detendo ali no caso vc teria q fazer algo tipo id ou algo do tipo:

exemplo:

Preso:

  Nick:

   Motivo:

   Data:

   Hora:

  QuemPrendeu:

 

ou seja se vc usa apenas:

Presos:

 Detento:

 Motivo:

Bla bal bla

 

e usa o cod pra setar no mesmo diretorio q o preso anterior e claro que ira substituir

Link para o comentário
Compartilhar em outros sites

Tenta isso:

package me.kewi;
 
import java.io.File;
import java.io.IOException;
 
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.configuration.file.YamlConfiguration;
import org.bukkit.entity.Player;
import org.bukkit.plugin.java.JavaPlugin;
 
public class KwSla extends JavaPlugin {
 
    @Override
    public void onEnable() {
        System.out.println("Teste Habilitado");
    }
 
    @Override
    public void onDisable() {
        System.out.println("Teste Desabilitado");
    }
 
    @Override
    public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
        if (!(sender instanceof Player)) {
            sender.sendMessage("Utilize in-game!");
            return true;
        }
        File presos = new File(getDataFolder(), "presos.yml");
        FileConfiguration fc = YamlConfiguration.loadConfiguration(presos);
        Player p = (Player) sender;
        if (command.getName().equalsIgnoreCase("prender")) {
            if (!p.hasPermission("kwteste.prender")) {
                p.sendMessage("§cSem Permissão seu cabaço!");
                return true;
            }
            if (!presos.exists()) {
                p.sendMessage("Nenhum jogador esta preso!");
                return true;
            }
            if (args.length < 2) {
                p.sendMessage("§cUtilize /prender <jogador> <motivo>");
                return true;
            }
            if (args.length >= 2) {
                String motivo = "";
                for (int i = 1; i < args.length; i++) {
                    motivo = motivo + args[i] + " ";
                }
                if (fc.getString("Presos.Detento" + args[0]) != null) {
                    p.sendMessage("Este rapaz já esta preso!");
                    return true;
                } else {
                    fc.set("Presos.Detendo", args[0]);
                    fc.set("Presos.Motivo", motivo);
                    fc.set("Presos.Preso_Por", p.getName());
                    try {
                        fc.save(presos);
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                }
            }
        }
        return false;
    }
 
}

Preguiça de testar ;-;

http://pastebin.com/LJtJHLih

Link para o comentário
Compartilhar em outros sites

Tenta isso:

package me.kewi;
 
import java.io.File;
import java.io.IOException;
 
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.configuration.file.YamlConfiguration;
import org.bukkit.entity.Player;
import org.bukkit.plugin.java.JavaPlugin;
 
public class KwSla extends JavaPlugin {
 
    @Override
    public void onEnable() {
        System.out.println("Teste Habilitado");
    }
 
    @Override
    public void onDisable() {
        System.out.println("Teste Desabilitado");
    }
 
    @Override
    public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
        if (!(sender instanceof Player)) {
            sender.sendMessage("Utilize in-game!");
            return true;
        }
        File presos = new File(getDataFolder(), "presos.yml");
        FileConfiguration fc = YamlConfiguration.loadConfiguration(presos);
        Player p = (Player) sender;
        if (command.getName().equalsIgnoreCase("prender")) {
            if (!p.hasPermission("kwteste.prender")) {
                p.sendMessage("§cSem Permissão seu cabaço!");
                return true;
            }
            if (!presos.exists()) {
                p.sendMessage("Nenhum jogador esta preso!");
                return true;
            }
            if (args.length < 2) {
                p.sendMessage("§cUtilize /prender <jogador> <motivo>");
                return true;
            }
            if (args.length >= 2) {
                String motivo = "";
                for (int i = 1; i < args.length; i++) {
                    motivo = motivo + args[i] + " ";
                }
                if (fc.getString("Presos.Detento" + args[0]) != null) {
                    p.sendMessage("Este rapaz já esta preso!");
                    return true;
                } else {
                    fc.set("Presos.Detendo", args[0]);
                    fc.set("Presos.Motivo", motivo);
                    fc.set("Presos.Preso_Por", p.getName());
                    try {
                        fc.save(presos);
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                }
            }
        }
        return false;
    }
 
}

Preguiça de testar ;-;

http://pastebin.com/LJtJHLih

tbm n deu

O seu cod deve esta subistituindo o detendo atual e nao tentando criar 1 novo detendo ali no caso vc teria q fazer algo tipo id ou algo do tipo:

exemplo:

Preso:

  Nick:

   Motivo:

   Data:

   Hora:

  QuemPrendeu:

 

ou seja se vc usa apenas:

Presos:

 Detento:

 Motivo:

Bla bal bla

 

e usa o cod pra setar no mesmo diretorio q o preso anterior e claro que ira substituir

Como pega a data e a hora ? 

Link para o comentário
Compartilhar em outros sites

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