Teamban Problem..

Dieses Thema im Forum "Programmierung" wurde erstellt von Plugin00, 10. Februar 2013.

  1. Plugin00
    Offline

    Plugin00

    Registriert seit:
    3. Februar 2013
    Beiträge:
    71
    Moin Moin,

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

    Mein Code:

    Code (Text):
    1.     public boolean onCommand(CommandSender sender, Command cmd, String commandLable, String[] args) {
    2.         Player pl = (Player)sender;
    3.         if (!(sender instanceof Player)) {
    4.             cSystem.log.info("Du kannst diesen Befehl nicht in der Console benutze!");
    5.             return true;
    6.           }
    7.        
    8.           if (pl.hasPermission("cSystem.Global.Teampban")) {
    9.               if (cmd.getName().equalsIgnoreCase("tempban")) {
    10.                  
    11.                   if (args.length <= 1) {
    12.                       pl.sendMessage(plugin.b + "/tempban <5std/10std/24std/40std/60std> <Spieler> <Grund>");  
    13.                   }
    14.  
    15.                  if (args.length == 2) {
    16.                     if (args[1].equalsIgnoreCase("10std")) {
    17.                        try
    18.                       {
    19.  
    20.                         Player ziel = Bukkit.getPlayer(args[0]);
    21.                        
    22.                         if (ziel.hasPermission("cSystem.Global.Exempt")) {
    23.                               pl.sendMessage("§4Du kannst diesen Spieler nicht bannen!");
    24.                         }
    25.                         else {
    26.                            
    27.                       Bukkit.getServer().broadcastMessage("§4Der Spieler '§c" + ziel.getName() + "§4' wurde für 10 Stunden gebannt.");
    28.                       ziel.kickPlayer("§6Du wurdest für 10 Stunden gebannt.");
    29.                       Bukkit.getServer().dispatchCommand(Bukkit.getServer().getConsoleSender(),"tempban " + args[0] + " 10h");
    30.                      
    31.                      
    32.                       return true;
    33.                       }
    34.                     }
    35.                     catch (Exception e) {
    36.                       try {
    37.                          
    38.                           Player ziel = Bukkit.getPlayer(args[0]);
    39.                          
    40.                       if (ziel.isOnline())
    41.                            
    42.                           Bukkit.getServer().broadcastMessage("§4Der Spieler '§c" + args[0] + "§4' wurde für 10 Stunden gebannt.");
    43.                           Bukkit.getServer().dispatchCommand(Bukkit.getServer().getConsoleSender(),"tempban " + args[0] + " 10h");
    44.                         return true;
    45.                       }
    46.                      
    47.                       catch (Exception e3) {
    48.                          
    49.                          
    50.                           Bukkit.getServer().broadcastMessage("§4Der Spieler '§c" + args[0] + "§4' wurde für 10 Stunden gebannt.");
    51.                           Bukkit.getServer().dispatchCommand(Bukkit.getServer().getConsoleSender(),"tempban " + args[0] + " 10h");
    52.                        
    53.                         return true;
    54.                       }
    55.                     }
    56.                 }
    57.                  if (args.length >= 3) {
    58.                       String message = "";
    59.                         for (int i = 2; i < args.length; i++) {
    60.                           message = message + args[i] + " ";
    61.                         }
    62.                    
    63.                        try
    64.                       {
    65.  
    66.                         Player ziel = Bukkit.getPlayer(args[0]);
    67.                        
    68.                         if (ziel.hasPermission("cSystem.Global.Exempt")) {
    69.                               pl.sendMessage("§4Du kannst diesen Spieler nicht bannen!");
    70.                         }
    71.                         else {
    72.                            
    73.                         Bukkit.getServer().broadcastMessage("§4Der Spieler '§c" + args[0] + "§4' wurde für 10 Stunden gebannt. Grund: §c" + message);
    74.                         Bukkit.getServer().dispatchCommand(Bukkit.getServer().getConsoleSender(),"tempban " + args[0] + " 10h");
    75.                      
    76.                       return true;
    77.                       }
    78.                     }
    79.                     catch (Exception e) {
    80.                       try {
    81.                          
    82.                           Player ziel = Bukkit.getPlayer(args[0]);
    83.                          
    84.                       if (ziel.isOnline())
    85.                            
    86.                         Bukkit.getServer().broadcastMessage("§4Der Spieler '§c" + args[0] + "§4' wurde für 10 Stunden gebannt. Grund: §c" + message);
    87.                         Bukkit.getServer().dispatchCommand(Bukkit.getServer().getConsoleSender(),"tempban " + args[0] + " 10h");
    88.                          
    89.                         return true;
    90.                       }
    91.                      
    92.                       catch (Exception e3) {
    93.                          
    94.                         Bukkit.getServer().broadcastMessage("§4Der Spieler '§c" + args[0] + "§4' wurde für 10 Stunden gebannt. Grund: §c" + message);
    95.                         Bukkit.getServer().dispatchCommand(Bukkit.getServer().getConsoleSender(),"tempban " + args[0] + " 5h");
    96.                        
    97.                         return true;
    98.                       }
    99.                     }
    100.                  }
    101.               }
    102.                  
    103.                  
    104.                  
    105.                  if (args.length == 2) {
    106.                     if (args[1].equalsIgnoreCase("24std")) {
    107.                        try
    108.                       {
    109.  
    110.                         Player ziel = Bukkit.getPlayer(args[0]);
    111.                        
    112.                         if (ziel.hasPermission("cSystem.Global.Exempt")) {
    113.                               pl.sendMessage("§4Du kannst diesen Spieler nicht bannen!");
    114.                         }
    115.                         else {
    116.                            
    117.                       Bukkit.getServer().broadcastMessage("§4Der Spieler '§c" + ziel.getName() + "§4' wurde für 24 Stunden gebannt.");
    118.                       ziel.kickPlayer("§6Du wurdest für 24 Stunden gebannt.");
    119.                       Bukkit.getServer().dispatchCommand(Bukkit.getServer().getConsoleSender(),"tempban " + args[0] + " 24h");
    120.                      
    121.                      
    122.                       return true;
    123.                       }
    124.                     }
    125.                     catch (Exception e) {
    126.                       try {
    127.                          
    128.                           Player ziel = Bukkit.getPlayer(args[0]);
    129.                          
    130.                       if (ziel.isOnline())
    131.                            
    132.                           Bukkit.getServer().broadcastMessage("§4Der Spieler '§c" + args[0] + "§4' wurde für 24 Stunden gebannt.");
    133.                           Bukkit.getServer().dispatchCommand(Bukkit.getServer().getConsoleSender(),"tempban " + args[0] + " 24h");
    134.                         return true;
    135.                       }
    136.                      
    137.                       catch (Exception e3) {
    138.                          
    139.                          
    140.                           Bukkit.getServer().broadcastMessage("§4Der Spieler '§c" + args[0] + "§4' wurde für 24 Stunden gebannt.");
    141.                           Bukkit.getServer().dispatchCommand(Bukkit.getServer().getConsoleSender(),"tempban " + args[0] + " 24h");
    142.                        
    143.                         return true;
    144.                       }
    145.                     }
    146.                   }
    147.                  if (args.length >= 3) {
    148.                       String message = "";
    149.                         for (int i = 2; i < args.length; i++) {
    150.                           message = message + args[i] + " ";
    151.                         }
    152.                    
    153.                        try
    154.                       {
    155.  
    156.                         Player ziel = Bukkit.getPlayer(args[0]);
    157.                        
    158.                         if (ziel.hasPermission("cSystem.Global.Exempt")) {
    159.                               pl.sendMessage("§4Du kannst diesen Spieler nicht bannen!");
    160.                         }
    161.                         else {
    162.                            
    163.                         Bukkit.getServer().broadcastMessage("§4Der Spieler '§c" + args[0] + "§4' wurde für 24 Stunden gebannt. Grund: §c" + message);
    164.                         Bukkit.getServer().dispatchCommand(Bukkit.getServer().getConsoleSender(),"tempban " + args[0] + " 24h");
    165.                      
    166.                       return true;
    167.                       }
    168.                     }
    169.                     catch (Exception e) {
    170.                       try {
    171.                          
    172.                           Player ziel = Bukkit.getPlayer(args[0]);
    173.                          
    174.                       if (ziel.isOnline())
    175.                            
    176.                         Bukkit.getServer().broadcastMessage("§4Der Spieler '§c" + args[0] + "§4' wurde für 24 Stunden gebannt. Grund: §c" + message);
    177.                         Bukkit.getServer().dispatchCommand(Bukkit.getServer().getConsoleSender(),"tempban " + args[0] + " 24h");
    178.                          
    179.                         return true;
    180.                       }
    181.                      
    182.                       catch (Exception e3) {
    183.                          
    184.                         Bukkit.getServer().broadcastMessage("§4Der Spieler '§c" + args[0] + "§4' wurde für 24 Stunden gebannt. Grund: §c" + message);
    185.                         Bukkit.getServer().dispatchCommand(Bukkit.getServer().getConsoleSender(),"tempban " + args[0] + " 24h");
    186.                        
    187.                         return true;
    188.                       }
    189.                     }
    190.                  }
    191.                }
    192.                  
    193.                  
    194.                  
    195.                  
    196.                  
    197.                  
    198.                  if (args.length == 2) {
    199.                     if (args[1].equalsIgnoreCase("40std")) {
    200.                        try
    201.                       {
    202.  
    203.                         Player ziel = Bukkit.getPlayer(args[0]);
    204.                        
    205.                         if (ziel.hasPermission("cSystem.Global.Exempt")) {
    206.                               pl.sendMessage("§4Du kannst diesen Spieler nicht bannen!");
    207.                         }
    208.                         else {
    209.                            
    210.                       Bukkit.getServer().broadcastMessage("§4Der Spieler '§c" + ziel.getName() + "§4' wurde für 40 Stunden gebannt.");
    211.                       ziel.kickPlayer("§6Du wurdest für 24 Stunden gebannt.");
    212.                       Bukkit.getServer().dispatchCommand(Bukkit.getServer().getConsoleSender(),"tempban " + args[0] + " 40h");
    213.                      
    214.                      
    215.                       return true;
    216.                       }
    217.                     }
    218.                     catch (Exception e) {
    219.                       try {
    220.                          
    221.                           Player ziel = Bukkit.getPlayer(args[0]);
    222.                          
    223.                       if (ziel.isOnline())
    224.                            
    225.                           Bukkit.getServer().broadcastMessage("§4Der Spieler '§c" + args[0] + "§4' wurde für 40 Stunden gebannt.");
    226.                           Bukkit.getServer().dispatchCommand(Bukkit.getServer().getConsoleSender(),"tempban " + args[0] + " 40h");
    227.                         return true;
    228.                       }
    229.                      
    230.                       catch (Exception e3) {
    231.                          
    232.                          
    233.                           Bukkit.getServer().broadcastMessage("§4Der Spieler '§c" + args[0] + "§4' wurde für 40 Stunden gebannt.");
    234.                           Bukkit.getServer().dispatchCommand(Bukkit.getServer().getConsoleSender(),"tempban " + args[0] + " 40h");
    235.                        
    236.                         return true;
    237.                       }
    238.                     }
    239.                  if (args.length >= 3) {
    240.                       String message = "";
    241.                         for (int i = 2; i < args.length; i++) {
    242.                           message = message + args[i] + " ";
    243.                         }
    244.                    
    245.                        try
    246.                       {
    247.  
    248.                         Player ziel = Bukkit.getPlayer(args[0]);
    249.                        
    250.                         if (ziel.hasPermission("cSystem.Global.Exempt")) {
    251.                               pl.sendMessage("§4Du kannst diesen Spieler nicht bannen!");
    252.                         }
    253.                         else {
    254.                            
    255.                         Bukkit.getServer().broadcastMessage("§4Der Spieler '§c" + args[0] + "§4' wurde für 40 Stunden gebannt. Grund: §c" + message);
    256.                         Bukkit.getServer().dispatchCommand(Bukkit.getServer().getConsoleSender(),"tempban " + args[0] + " 40h");
    257.                      
    258.                       return true;
    259.                       }
    260.                     }
    261.                     catch (Exception e) {
    262.                       try {
    263.                          
    264.                           Player ziel = Bukkit.getPlayer(args[0]);
    265.                          
    266.                       if (ziel.isOnline())
    267.                            
    268.                         Bukkit.getServer().broadcastMessage("§4Der Spieler '§c" + args[0] + "§4' wurde für 40 Stunden gebannt. Grund: §c" + message);
    269.                         Bukkit.getServer().dispatchCommand(Bukkit.getServer().getConsoleSender(),"tempban " + args[0] + " 40h");
    270.                          
    271.                         return true;
    272.                       }
    273.                      
    274.                       catch (Exception e3) {
    275.                          
    276.                         Bukkit.getServer().broadcastMessage("§4Der Spieler '§c" + args[0] + "§4' wurde für 40 Stunden gebannt. Grund: §c" + message);
    277.                         Bukkit.getServer().dispatchCommand(Bukkit.getServer().getConsoleSender(),"tempban " + args[0] + " 40h");
    278.                        
    279.                         return true;
    280.                       }
    281.                     }
    282.                  }
    283.                  
    284.                  
    285.                  
    286.                  
    287.                  
    288.                  
    289.                  
    290.                  if (args.length == 2) {
    291.                     if (args[1].equalsIgnoreCase("40std")) {
    292.                        try
    293.                       {
    294.  
    295.                         Player ziel = Bukkit.getPlayer(args[0]);
    296.                        
    297.                         if (ziel.hasPermission("cSystem.Global.Exempt")) {
    298.                               pl.sendMessage("§4Du kannst diesen Spieler nicht bannen!");
    299.                         }
    300.                         else {
    301.                            
    302.                       Bukkit.getServer().broadcastMessage("§4Der Spieler '§c" + ziel.getName() + "§4' wurde für 60 Stunden gebannt.");
    303.                       ziel.kickPlayer("§6Du wurdest für 60 Stunden gebannt.");
    304.                       Bukkit.getServer().dispatchCommand(Bukkit.getServer().getConsoleSender(),"tempban " + args[0] + " 60h");
    305.                      
    306.                      
    307.                       return true;
    308.                       }
    309.                     }
    310.                     catch (Exception e) {
    311.                       try {
    312.                          
    313.                           Player ziel = Bukkit.getPlayer(args[0]);
    314.                          
    315.                       if (ziel.isOnline())
    316.                            
    317.                           Bukkit.getServer().broadcastMessage("§4Der Spieler '§c" + args[0] + "§4' wurde für 60 Stunden gebannt.");
    318.                           Bukkit.getServer().dispatchCommand(Bukkit.getServer().getConsoleSender(),"tempban " + args[0] + " 60h");
    319.                         return true;
    320.                       }
    321.                      
    322.                       catch (Exception e3) {
    323.                          
    324.                          
    325.                           Bukkit.getServer().broadcastMessage("§4Der Spieler '§c" + args[0] + "§4' wurde für 60 Stunden gebannt.");
    326.                           Bukkit.getServer().dispatchCommand(Bukkit.getServer().getConsoleSender(),"tempban " + args[0] + " 60h");
    327.                        
    328.                         return true;
    329.                       }
    330.                     }
    331.                  if (args.length >= 3) {
    332.                       String message = "";
    333.                         for (int i = 2; i < args.length; i++) {
    334.                           message = message + args[i] + " ";
    335.                         }
    336.                    
    337.                        try
    338.                       {
    339.  
    340.                         Player ziel = Bukkit.getPlayer(args[0]);
    341.                        
    342.                         if (ziel.hasPermission("cSystem.Global.Exempt")) {
    343.                               pl.sendMessage("§4Du kannst diesen Spieler nicht bannen!");
    344.                         }
    345.                         else {
    346.                            
    347.                         Bukkit.getServer().broadcastMessage("§4Der Spieler '§c" + args[0] + "§4' wurde für 60 Stunden gebannt. Grund: §c" + message);
    348.                         Bukkit.getServer().dispatchCommand(Bukkit.getServer().getConsoleSender(),"tempban " + args[0] + " 60h");
    349.                      
    350.                       return true;
    351.                       }
    352.                     }
    353.                     catch (Exception e) {
    354.                       try {
    355.                          
    356.                           Player ziel = Bukkit.getPlayer(args[0]);
    357.                          
    358.                       if (ziel.isOnline())
    359.                            
    360.                         Bukkit.getServer().broadcastMessage("§4Der Spieler '§c" + args[0] + "§4' wurde für 60 Stunden gebannt. Grund: §c" + message);
    361.                         Bukkit.getServer().dispatchCommand(Bukkit.getServer().getConsoleSender(),"tempban " + args[0] + " 60h");
    362.                          
    363.                         return true;
    364.                       }
    365.                      
    366.                       catch (Exception e3) {
    367.                          
    368.                         Bukkit.getServer().broadcastMessage("§4Der Spieler '§c" + args[0] + "§4' wurde für 60 Stunden gebannt. Grund: §c" + message);
    369.                         Bukkit.getServer().dispatchCommand(Bukkit.getServer().getConsoleSender(),"tempban " + args[0] + " 60h");
    370.                        
    371.                         return true;
    372.                       }
    373.                     }
    374.                 }  
    375.               } else {
    376.             pl.sendMessage(plugin.rechte);
    377.             return true;
    378.           }
    379.         }
    380.          
    381.          
    382.          
    383.          
    384.          
    385.          
    386.          
    387.          
    388.          
    389.          
    390.          
    391.          
    392.          
    393.          
    394.          
    395.          
    396.          
    397.          
    398.          
    399.          
    400.           }  
    401.         }
    402.      }
    403.    }
    404.     return false;
    405.  }
    406. }
    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
     
    #1
  2. Crafter6432
    Offline

    Crafter6432

    Registriert seit:
    22. Dezember 2011
    Beiträge:
    686
    Du brauchst Essentials...
     
    #2
  3. Plugin00
    Offline

    Plugin00

    Registriert seit:
    3. Februar 2013
    Beiträge:
    71
    Hallo,

    Erst mal Danke,

    Ich habe Essentials drauf,
     
    #3
  4. games6471
    Offline

    games6471

    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.
     
    #4
  5. MrFlieder
    Offline

    MrFlieder

    Registriert seit:
    30. Dezember 2011
    Beiträge:
    333
    Ort:
    Österreich
    Minecraft:
    MrFlieder
    Code (Text):
    1.  
    2.  
    3. if (args[1].equalsIgnoreCase("24std")) {
    4.  
    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 (Text):
    1.  
    2. if(args[1].equalsIgnoreCase("12")
    3. {
    4.     banPlayer(player, 12);
    5. } else if(args[1].equalsIgnoreCase("24")
    6. {
    7.     banPlayer(player, 24);
    8. }
    9.  
    oder gleich so:
    Code (Text):
    1.  
    2. if(args.length == 2)
    3. {
    4.     int stunden = 0;
    5.     try
    6.     {
    7.         stunden = Integer.parseInt(args[1]);
    8.         banPlayer(player, stunden);
    9.     } catch (NumberFormatException nfe)
    10.     {
    11.         sender.sendMessage("Du musst eine gültige Zahl eingeben!");
    12.     }
    13. }
    14.  
    ... und dann noch eine banPlayer-Methode schreiben - würde die Übersicht wesentlich verbessern. ;)
     
    #5
  6. TimBone
    Offline

    TimBone

    Ich würde es erts mit args[1].isNumeric() überprüfen und dann parsen.
     
    #6