• Es freut uns dass du in unser Minecraft Forum gefunden hast. Hier kannst du mit über 130.000 Minecraft Fans über Minecraft diskutieren, Fragen stellen und anderen helfen. In diesem Minecraft Forum kannst du auch nach Teammitgliedern, Administratoren, Moderatoren , Supporter oder Sponsoren suchen. Gerne kannst du im Offtopic Bereich unseres Minecraft Forums auch über nicht Minecraft spezifische Themen reden. Wir hoffen dir gefällt es in unserem Minecraft Forum!

Teamban Problem..

Plugin00

Kuhfänger
Registriert
3 Februar 2013
Beiträge
71
Diamanten
0
Moin Moin,

Ich Arbeite seit "einer" Stunde an ein Tempban Plugin,

Mein Code:

Code:
	public boolean onCommand(CommandSender sender, Command cmd, String commandLable, String[] args) {
		Player pl = (Player)sender;
	    if (!(sender instanceof Player)) {
	    	cSystem.log.info("Du kannst diesen Befehl nicht in der Console benutze!");
	        return true;
	      }
	    
	      if (pl.hasPermission("cSystem.Global.Teampban")) {
	    	  if (cmd.getName().equalsIgnoreCase("tempban")) {
	    		  
	 	          if (args.length <= 1) {
	 	        	  pl.sendMessage(plugin.b + "/tempban <5std/10std/24std/40std/60std> <Spieler> <Grund>");  
	 	          }

	 	         if (args.length == 2) {
	 	        	if (args[1].equalsIgnoreCase("10std")) {
		               try
		              {

			        	Player ziel = Bukkit.getPlayer(args[0]);
			        	
			        	if (ziel.hasPermission("cSystem.Global.Exempt")) {
			        		  pl.sendMessage("§4Du kannst diesen Spieler nicht bannen!");
			        	} 
			        	else {
			        		
		              Bukkit.getServer().broadcastMessage("§4Der Spieler '§c" + ziel.getName() + "§4' wurde für 10 Stunden gebannt.");
		              ziel.kickPlayer("§6Du wurdest für 10 Stunden gebannt.");
		              Bukkit.getServer().dispatchCommand(Bukkit.getServer().getConsoleSender(),"tempban " + args[0] + " 10h");
		              
		              
		              return true;
		              }
		            }
		            catch (Exception e) {
		              try {
		            	  
		            	  Player ziel = Bukkit.getPlayer(args[0]);
		            	  
		              if (ziel.isOnline())
		                	
		            	  Bukkit.getServer().broadcastMessage("§4Der Spieler '§c" + args[0] + "§4' wurde für 10 Stunden gebannt.");
		                  Bukkit.getServer().dispatchCommand(Bukkit.getServer().getConsoleSender(),"tempban " + args[0] + " 10h");
		                return true;
		              }
		              
		              catch (Exception e3) {
		            	  
			              
		            	  Bukkit.getServer().broadcastMessage("§4Der Spieler '§c" + args[0] + "§4' wurde für 10 Stunden gebannt.");
		            	  Bukkit.getServer().dispatchCommand(Bukkit.getServer().getConsoleSender(),"tempban " + args[0] + " 10h");
			            
		                return true;
		              }
		            }
	            }
	 	         if (args.length >= 3) {
			      	  String message = "";
			            for (int i = 2; i < args.length; i++) {
			          	  message = message + args[i] + " ";
			            }
		            
		               try
		              {

			        	Player ziel = Bukkit.getPlayer(args[0]);
			        	
			        	if (ziel.hasPermission("cSystem.Global.Exempt")) {
			        		  pl.sendMessage("§4Du kannst diesen Spieler nicht bannen!");
			        	} 
			        	else {
			        		
			        	Bukkit.getServer().broadcastMessage("§4Der Spieler '§c" + args[0] + "§4' wurde für 10 Stunden gebannt. Grund: §c" + message);
			            Bukkit.getServer().dispatchCommand(Bukkit.getServer().getConsoleSender(),"tempban " + args[0] + " 10h");
		              
		              return true;
		              }
		            }
		            catch (Exception e) {
		              try {
		            	  
		            	  Player ziel = Bukkit.getPlayer(args[0]);
		            	  
		              if (ziel.isOnline())
		                	
				       	Bukkit.getServer().broadcastMessage("§4Der Spieler '§c" + args[0] + "§4' wurde für 10 Stunden gebannt. Grund: §c" + message);
				        Bukkit.getServer().dispatchCommand(Bukkit.getServer().getConsoleSender(),"tempban " + args[0] + " 10h");
			              
		                return true;
		              }
		              
		              catch (Exception e3) {
			              
				       	Bukkit.getServer().broadcastMessage("§4Der Spieler '§c" + args[0] + "§4' wurde für 10 Stunden gebannt. Grund: §c" + message);
				      	Bukkit.getServer().dispatchCommand(Bukkit.getServer().getConsoleSender(),"tempban " + args[0] + " 5h");
			            
		                return true;
		              }
		            }
	 	         }
	          }
	 	         
	 	         
	 	         
	 	         if (args.length == 2) {
	 	        	if (args[1].equalsIgnoreCase("24std")) {
		               try
		              {

			        	Player ziel = Bukkit.getPlayer(args[0]);
			        	
			        	if (ziel.hasPermission("cSystem.Global.Exempt")) {
			        		  pl.sendMessage("§4Du kannst diesen Spieler nicht bannen!");
			        	} 
			        	else {
			        		
		              Bukkit.getServer().broadcastMessage("§4Der Spieler '§c" + ziel.getName() + "§4' wurde für 24 Stunden gebannt.");
		              ziel.kickPlayer("§6Du wurdest für 24 Stunden gebannt.");
		              Bukkit.getServer().dispatchCommand(Bukkit.getServer().getConsoleSender(),"tempban " + args[0] + " 24h");
		              
		              
		              return true;
		              }
		            }
		            catch (Exception e) {
		              try {
		            	  
		            	  Player ziel = Bukkit.getPlayer(args[0]);
		            	  
		              if (ziel.isOnline())
		                	
		            	  Bukkit.getServer().broadcastMessage("§4Der Spieler '§c" + args[0] + "§4' wurde für 24 Stunden gebannt.");
		                  Bukkit.getServer().dispatchCommand(Bukkit.getServer().getConsoleSender(),"tempban " + args[0] + " 24h");
		                return true;
		              }
		              
		              catch (Exception e3) {
		            	  
			              
		            	  Bukkit.getServer().broadcastMessage("§4Der Spieler '§c" + args[0] + "§4' wurde für 24 Stunden gebannt.");
		            	  Bukkit.getServer().dispatchCommand(Bukkit.getServer().getConsoleSender(),"tempban " + args[0] + " 24h");
			            
		                return true;
		              }
		            }
	              }
	 	         if (args.length >= 3) {
			      	  String message = "";
			            for (int i = 2; i < args.length; i++) {
			          	  message = message + args[i] + " ";
			            }
		            
		               try
		              {

			        	Player ziel = Bukkit.getPlayer(args[0]);
			        	
			        	if (ziel.hasPermission("cSystem.Global.Exempt")) {
			        		  pl.sendMessage("§4Du kannst diesen Spieler nicht bannen!");
			        	} 
			        	else {
			        		
			        	Bukkit.getServer().broadcastMessage("§4Der Spieler '§c" + args[0] + "§4' wurde für 24 Stunden gebannt. Grund: §c" + message);
			            Bukkit.getServer().dispatchCommand(Bukkit.getServer().getConsoleSender(),"tempban " + args[0] + " 24h");
		              
		              return true;
		              }
		            }
		            catch (Exception e) {
		              try {
		            	  
		            	  Player ziel = Bukkit.getPlayer(args[0]);
		            	  
		              if (ziel.isOnline())
		                	
				       	Bukkit.getServer().broadcastMessage("§4Der Spieler '§c" + args[0] + "§4' wurde für 24 Stunden gebannt. Grund: §c" + message);
				        Bukkit.getServer().dispatchCommand(Bukkit.getServer().getConsoleSender(),"tempban " + args[0] + " 24h");
			              
		                return true;
		              }
		              
		              catch (Exception e3) {
			              
				       	Bukkit.getServer().broadcastMessage("§4Der Spieler '§c" + args[0] + "§4' wurde für 24 Stunden gebannt. Grund: §c" + message);
				      	Bukkit.getServer().dispatchCommand(Bukkit.getServer().getConsoleSender(),"tempban " + args[0] + " 24h");
			            
		                return true;
		              }
		            }
	 	         }
	 	       }
	 	         
	 	         
	 	         
	 	         
	 	         
	 	         
	 	         if (args.length == 2) {
	 	        	if (args[1].equalsIgnoreCase("40std")) {
		               try
		              {

			        	Player ziel = Bukkit.getPlayer(args[0]);
			        	
			        	if (ziel.hasPermission("cSystem.Global.Exempt")) {
			        		  pl.sendMessage("§4Du kannst diesen Spieler nicht bannen!");
			        	} 
			        	else {
			        		
		              Bukkit.getServer().broadcastMessage("§4Der Spieler '§c" + ziel.getName() + "§4' wurde für 40 Stunden gebannt.");
		              ziel.kickPlayer("§6Du wurdest für 24 Stunden gebannt.");
		              Bukkit.getServer().dispatchCommand(Bukkit.getServer().getConsoleSender(),"tempban " + args[0] + " 40h");
		              
		              
		              return true;
		              }
		            }
		            catch (Exception e) {
		              try {
		            	  
		            	  Player ziel = Bukkit.getPlayer(args[0]);
		            	  
		              if (ziel.isOnline())
		                	
		            	  Bukkit.getServer().broadcastMessage("§4Der Spieler '§c" + args[0] + "§4' wurde für 40 Stunden gebannt.");
		                  Bukkit.getServer().dispatchCommand(Bukkit.getServer().getConsoleSender(),"tempban " + args[0] + " 40h");
		                return true;
		              }
		              
		              catch (Exception e3) {
		            	  
			              
		            	  Bukkit.getServer().broadcastMessage("§4Der Spieler '§c" + args[0] + "§4' wurde für 40 Stunden gebannt.");
		            	  Bukkit.getServer().dispatchCommand(Bukkit.getServer().getConsoleSender(),"tempban " + args[0] + " 40h");
			            
		                return true;
		              }
		            }
	 	         if (args.length >= 3) {
			      	  String message = "";
			            for (int i = 2; i < args.length; i++) {
			          	  message = message + args[i] + " ";
			            }
		            
		               try
		              {

			        	Player ziel = Bukkit.getPlayer(args[0]);
			        	
			        	if (ziel.hasPermission("cSystem.Global.Exempt")) {
			        		  pl.sendMessage("§4Du kannst diesen Spieler nicht bannen!");
			        	} 
			        	else {
			        		
			        	Bukkit.getServer().broadcastMessage("§4Der Spieler '§c" + args[0] + "§4' wurde für 40 Stunden gebannt. Grund: §c" + message);
			            Bukkit.getServer().dispatchCommand(Bukkit.getServer().getConsoleSender(),"tempban " + args[0] + " 40h");
		              
		              return true;
		              }
		            }
		            catch (Exception e) {
		              try {
		            	  
		            	  Player ziel = Bukkit.getPlayer(args[0]);
		            	  
		              if (ziel.isOnline())
		                	
				       	Bukkit.getServer().broadcastMessage("§4Der Spieler '§c" + args[0] + "§4' wurde für 40 Stunden gebannt. Grund: §c" + message);
				        Bukkit.getServer().dispatchCommand(Bukkit.getServer().getConsoleSender(),"tempban " + args[0] + " 40h");
			              
		                return true;
		              }
		              
		              catch (Exception e3) {
			              
				       	Bukkit.getServer().broadcastMessage("§4Der Spieler '§c" + args[0] + "§4' wurde für 40 Stunden gebannt. Grund: §c" + message);
				      	Bukkit.getServer().dispatchCommand(Bukkit.getServer().getConsoleSender(),"tempban " + args[0] + " 40h");
			            
		                return true;
		              }
		            }
	 	         }
	 	         
	 	         
	 	         
	 	         
	 	         
	 	         
	 	         
	 	         if (args.length == 2) {
	 	        	if (args[1].equalsIgnoreCase("40std")) {
		               try
		              {

			        	Player ziel = Bukkit.getPlayer(args[0]);
			        	
			        	if (ziel.hasPermission("cSystem.Global.Exempt")) {
			        		  pl.sendMessage("§4Du kannst diesen Spieler nicht bannen!");
			        	} 
			        	else {
			        		
		              Bukkit.getServer().broadcastMessage("§4Der Spieler '§c" + ziel.getName() + "§4' wurde für 60 Stunden gebannt.");
		              ziel.kickPlayer("§6Du wurdest für 60 Stunden gebannt.");
		              Bukkit.getServer().dispatchCommand(Bukkit.getServer().getConsoleSender(),"tempban " + args[0] + " 60h");
		              
		              
		              return true;
		              }
		            }
		            catch (Exception e) {
		              try {
		            	  
		            	  Player ziel = Bukkit.getPlayer(args[0]);
		            	  
		              if (ziel.isOnline())
		                	
		            	  Bukkit.getServer().broadcastMessage("§4Der Spieler '§c" + args[0] + "§4' wurde für 60 Stunden gebannt.");
		                  Bukkit.getServer().dispatchCommand(Bukkit.getServer().getConsoleSender(),"tempban " + args[0] + " 60h");
		                return true;
		              }
		              
		              catch (Exception e3) {
		            	  
			              
		            	  Bukkit.getServer().broadcastMessage("§4Der Spieler '§c" + args[0] + "§4' wurde für 60 Stunden gebannt.");
		            	  Bukkit.getServer().dispatchCommand(Bukkit.getServer().getConsoleSender(),"tempban " + args[0] + " 60h");
			            
		                return true;
		              }
		            }
	 	         if (args.length >= 3) {
			      	  String message = "";
			            for (int i = 2; i < args.length; i++) {
			          	  message = message + args[i] + " ";
			            }
		            
		               try
		              {

			        	Player ziel = Bukkit.getPlayer(args[0]);
			        	
			        	if (ziel.hasPermission("cSystem.Global.Exempt")) {
			        		  pl.sendMessage("§4Du kannst diesen Spieler nicht bannen!");
			        	} 
			        	else {
			        		
			        	Bukkit.getServer().broadcastMessage("§4Der Spieler '§c" + args[0] + "§4' wurde für 60 Stunden gebannt. Grund: §c" + message);
			            Bukkit.getServer().dispatchCommand(Bukkit.getServer().getConsoleSender(),"tempban " + args[0] + " 60h");
		              
		              return true;
		              }
		            }
		            catch (Exception e) {
		              try {
		            	  
		            	  Player ziel = Bukkit.getPlayer(args[0]);
		            	  
		              if (ziel.isOnline())
		                	
				       	Bukkit.getServer().broadcastMessage("§4Der Spieler '§c" + args[0] + "§4' wurde für 60 Stunden gebannt. Grund: §c" + message);
				        Bukkit.getServer().dispatchCommand(Bukkit.getServer().getConsoleSender(),"tempban " + args[0] + " 60h");
			              
		                return true;
		              }
		              
		              catch (Exception e3) {
			              
				       	Bukkit.getServer().broadcastMessage("§4Der Spieler '§c" + args[0] + "§4' wurde für 60 Stunden gebannt. Grund: §c" + message);
				      	Bukkit.getServer().dispatchCommand(Bukkit.getServer().getConsoleSender(),"tempban " + args[0] + " 60h");
			            
		                return true;
		              }
		            }
	 	        }  
	 	      } else {
	 		pl.sendMessage(plugin.rechte);
	 		return true;
	      }
	    }
	      
	      
	      
	      
	      
	      
	      
	      
	      
	      
	      
	      
	      
	      
	      
	      
	      
	      
	      
	      
	 	  }   
        }
     }
   }
	return false;
 }
}

Aber das Tempban Plugin geht nicht, /tempban geht noch, nur /tempban <5std/10std/24std/40std/60std> <Spieler> / <Grund> geht nicht mehr kann keinen dan Tempbanen,

Wer Cool wen mit einer wieder Hilft ^^
Lg, Plugin00
 
G

games6471

Guest
Hallo,

Erst mal Danke,

Ich habe Essentials drauf,

Ein Tipp: Ich würde bei kleinen Methoden es vermeiden Exceptions so häufig zu benutzen, da dies die Performance stark verschlechtert.

Noch was wenn du Bukkit.getPlayer aufrufst hast du definitiv einen online Spieler oder null somit solltest du überprüfen ob der Spieler online ist mit if(ziel != null).

Und kannst du so einen langen Code in Pastebin posten, da dort die Lesbarkeit bei längerem Code besser ist.

Ich kann dir später mehr helfen, doch gerne versuche ich dir soweit wie möglich zu helfen, denn ich bin momentan nur am IPod.
 

MrFlieder

Braumeister
Registriert
30 Dezember 2011
Beiträge
332
Diamanten
0
Minecraft
MrFlieder
Code:
if (args[1].equalsIgnoreCase("24std")) {
Wieso fragst du ab, ob es 12h, 24h, etc. sind statt /tempban [Zeit in Stunden]?
Und wenn unbedingt so, dann würde ich doch eine eigene Methode für das Bannen erstellen:
Code:
if(args[1].equalsIgnoreCase("12")
{
    banPlayer(player, 12);
} else if(args[1].equalsIgnoreCase("24")
{
    banPlayer(player, 24);
}
oder gleich so:
Code:
if(args.length == 2)
{
    int stunden = 0;
    try
    {
        stunden = Integer.parseInt(args[1]);
        banPlayer(player, stunden);
    } catch (NumberFormatException nfe)
    {
        sender.sendMessage("Du musst eine gültige Zahl eingeben!");
    }
}
... und dann noch eine banPlayer-Methode schreiben - würde die Übersicht wesentlich verbessern. ;)
 
Oben