615Power Geschrieben 1. September 2014 Share Geschrieben 1. September 2014 (bearbeitet) Ich habe eine Klasse erstellt in der nun einige Commands sind: - /kit setspawn - /kit setleave - /kit help - /kit - /kit perm / kit admin /kit und /kit help funktioniert, aber das andere nicht. Obwohl die 1zu1 das selbe Command sind: /kit perm nicht Beim eingeben des Befehls kommt keine Fehlermeldung in der Konsole public boolean onCommand(CommandSender cs, Command cmd, String strg,String[] args) { //Grundbefehl if (args.length == 0) { if (cs.hasPermission("kit.pvp")) { cs.sendMessage(PvP.prefix + "Author ?6615Power"); cs.sendMessage(PvP.prefix + "Version ?6" + PvP.version); cs.sendMessage(PvP.prefix + "Benutze ?6/kit help ?rfür einer Liste der Befehler"); } else { Player p = (Player) cs; p.sendMessage(PvP.noperm); } return true; } //HelpBefehl if (args.length == 1) { if (args[0].equalsIgnoreCase("help")) { if (cs.hasPermission("kit.pvp")) { cs.sendMessage("?e[]======= ?aKitPvP ?e=====[]"); cs.sendMessage("?e/kit Zeigt Infos über das Plugin"); cs.sendMessage("?e/kit help?r Zeigt diese Hilfe an :D"); cs.sendMessage("?e/kit join?r Trete einer Arena bei"); cs.sendMessage("?e/kit leave?r Verlasse einer Arena"); cs.sendMessage("?e/kit admin?r Admin-Hilfe"); cs.sendMessage("?e[]===================[]"); } else { Player p = (Player) cs; p.sendMessage(PvP.noperm); } } return true; } //Perm if (args.length == 1) { if (args[0].equalsIgnoreCase("perm")) { if (cs.hasPermission("kit.admin")) { cs.sendMessage("?e[]======= ?aKitPvP ?e=====[]"); cs.sendMessage("?ekit.pvp ?rStandart Berechtigung"); cs.sendMessage("?ekit.admin ?rAdmin Berechtigung"); cs.sendMessage("?e[]===================[]"); } else { Player p = (Player) cs; p.sendMessage(PvP.noperm); } } return true; } bearbeitet 6. September 2014 von 615Power Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Arcalio Geschrieben 1. September 2014 Share Geschrieben 1. September 2014 Ganz einfacher Fehler: Für die nachfolgenden Befehle gilt trotzdem, dass an deine onCommand()-Methode nur ein weiteres Argument übergeben wird. Somit trifft if (args.length == 1) in Zeile 47 zu. Da die 2. Bedingung aber nicht zutrifft, wird einfach nur return true ausgeführt. Du kannst das Problem beheben, indem du Zeile 47 und 48 in eine if-Abfrage packst und die beidem mit einem logischen UND (sinnvollerweise &&) verknüpfst. Falls du noch Probleme haben solltest, dann sag bescheid oder schreib mich einfach auf Skype an Liebe Grüße Arcalio Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Baustein Geschrieben 1. September 2014 Share Geschrieben 1. September 2014 Hach, und wenn er gerade nicht da ist, dann schreib mich an Du wärst nicht der erste, dem Arcalio und ich auf Skype helfen konnten. (Skype-Account: Minecraftforum.de) Liebe Grüße, Baustein Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Arcalio Geschrieben 1. September 2014 Share Geschrieben 1. September 2014 Du musst dir das so vorstellen: Spieler fragt Baustein --> Baustein fragt Arcalio --> Arcalio weiß alles und sagt ihm die Antwort --> Baustein gibt Arcalios schlaue Antwort als seine aus und sagt das dem Spieler. Du kannst also wählen, wen du fragst: Arcalio oder Arcalio. @Baustein: <3 Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Baustein Geschrieben 1. September 2014 Share Geschrieben 1. September 2014 @Arcalio: <3 ... Liebe Grüße, Baustein Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
615Power Geschrieben 3. September 2014 Autor Share Geschrieben 3. September 2014 (bearbeitet) So, Nun funktioniert das wieder habe einfach die if Abfrage vom ersten Befehl /kit help übernommen. ============================================================================== Ich habe da noch eine Frage. Wenn ich die in einem anderen Thread stellen solll das schreibt es mit. Ich habe ein Scoreboard public class ScoreboardUtil { static HashMap<Player, Scoreboard> list = new HashMap<>(); static Scoreboard board; static Objective obj; @SuppressWarnings("deprecation") public static void addScoreboard(Player p) { board = (Scoreboard) Bukkit.getScoreboardManager().getNewScoreboard(); obj = board.getObjective("GameStats"); obj = board.registerNewObjective("GameStats", "dummy"); obj.setDisplayName("?e?lGameStats"); obj.setDisplaySlot(DisplaySlot.SIDEBAR); obj.getScore(Bukkit.getOfflinePlayer("?eKills")).setScore(MainCmd.cfg.getInt("Kit.Stats." + p.getName() + ".kills")); obj.getScore(Bukkit.getOfflinePlayer("?eDeaths")).setScore(MainCmd.cfg.getInt("Kit.Stats." + p.getName() + ".deaths")); obj.getScore(Bukkit.getOfflinePlayer("?eCoins")).setScore(MainCmd.cfg.getInt("Kit.Stats." + p.getName() + ".points")); list.put(p, board); p.setScoreboard(board); } @SuppressWarnings("deprecation") public static void UpdateScoreboard(Player p) { if (!list.containsKey(p)) { addScoreboard(p); } board = list.get(p); obj = board.getObjective("GameStats"); obj.getScore(Bukkit.getOfflinePlayer("?eKills")).setScore(MainCmd.cfg.getInt("Kit.Stats." + p.getName() + ".kills")); obj.getScore(Bukkit.getOfflinePlayer("?eDeaths")).setScore(MainCmd.cfg.getInt("Kit.Stats." + p.getName() + ".deaths")); obj.getScore(Bukkit.getOfflinePlayer("?eCoins")).setScore(MainCmd.cfg.getInt("Kit.Stats." + p.getName() + ".points")); //http://youtu.be/dZkx_1PEmII?t=5m16s } } Nun möchte ich das ich a diese Stats in der Config speicher. b beim Tot jeweils was hinzufügen über einen int und c beim /kit join anzeigen und bei /kit leave verstecken. Wie mache ich das? bearbeitet 4. September 2014 von 615Power Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde dich hier an.
Jetzt anmelden