1. 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!

Suche Script fehler

Dieses Thema im Forum "Programmierung" wurde erstellt von MackerBaron, 23. Dezember 2012.

Status des Themas:
Es sind keine weiteren Antworten möglich.

  1. MackerBaron
    Offline

    MackerBaron

    Registriert seit:
    22. November 2011
    Beiträge:
    18
    Hei Leute ich such nen fehler im script bitte guckt mal drüber.

    script:

    Code (Text):
    1. public Map<Player, Player> teleport = new HashMap<Player, Player>();
    2.  
    3. public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args){
    4. if (cmd.getName().equalsIgnoreCase("tpa")){
    5.     Player player = (Player) sender;
    6.     Player player1 = Bukkit.getPlayer(args[1]);
    7.     teleport.put(player, player1);
    8.     }
    9.    
    10.     if (cmd.getName().equalsIgnoreCase("tpaccept")){
    11.     Player player = (Player) sender;
    12.     if(teleport.containsValue(player)){
    13.     Player player1 = teleport.get(player);
    14.     player1.teleport(player);
    15.     }
    16.     }
    17. }
     
    Zuletzt bearbeitet: 23. Dezember 2012
  2. Werbung
    Online

    Werbung

  3. Crafter6432
    Offline

    Crafter6432

    Registriert seit:
    22. Dezember 2011
    Beiträge:
    681
    onCommand(bla bla bla) ist dein problem
     
  4. MackerBaron
    Offline

    MackerBaron

    Registriert seit:
    22. November 2011
    Beiträge:
    18
    bearbeitet und bla bla bla stand da nur weil ich jetzt keinen bock hatte es zu kopieren
     
  5. 1. Du hast keine Abfrage ob es wirklich ein Spieler oder die Console ist.
    2. Du überprüfst nicht ob Player1 != null ist, wenn ein solcher Spieler nicht existiert.
    3. NEVER EVER PUT PLAYER INTO A HASHMAP. -> Es ist schlecht Player-Objecte zu speichern.
    4. Ansonsten: Wo ist dein Problem? Fehlermeldungen?...
     
  6. MackerBaron
    Offline

    MackerBaron

    Registriert seit:
    22. November 2011
    Beiträge:
    18
    Fehler:

    Code (Text):
    1. 2012-12-23 10:57:25 [SEVERE] null
    2. org.bukkit.command.CommandException: Unhandled exception executing command 'tpaccept' in plugin UltimateCommands v1.0
    3.     at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46)
    4.     at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:186)
    5.     at org.bukkit.craftbukkit.v1_4_6.CraftServer.dispatchCommand(CraftServer.java:510)
    6.     at net.minecraft.server.v1_4_6.PlayerConnection.handleCommand(PlayerConnection.java:980)
    7.     at net.minecraft.server.v1_4_6.PlayerConnection.chat(PlayerConnection.java:898)
    8.     at net.minecraft.server.v1_4_6.PlayerConnection.a(PlayerConnection.java:853)
    9.     at net.minecraft.server.v1_4_6.Packet3Chat.handle(Packet3Chat.java:44)
    10.     at net.minecraft.server.v1_4_6.NetworkManager.b(NetworkManager.java:290)
    11.     at net.minecraft.server.v1_4_6.PlayerConnection.d(PlayerConnection.java:112)
    12.     at net.minecraft.server.v1_4_6.ServerConnection.b(SourceFile:39)
    13.     at net.minecraft.server.v1_4_6.DedicatedServerConnection.b(SourceFile:30)
    14.     at net.minecraft.server.v1_4_6.MinecraftServer.r(MinecraftServer.java:598)
    15.     at net.minecraft.server.v1_4_6.DedicatedServer.r(DedicatedServer.java:224)
    16.     at net.minecraft.server.v1_4_6.MinecraftServer.q(MinecraftServer.java:494)
    17.     at net.minecraft.server.v1_4_6.MinecraftServer.run(MinecraftServer.java:427)
    18.     at net.minecraft.server.v1_4_6.ThreadServerApplication.run(SourceFile:849)
    19. Caused by: java.lang.NullPointerException
    20.     at me.Mackerbaron.UC.main.onCommand(main.java:234)
    21.     at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44)
    22.     ... 15 more
     
    Zuletzt von einem Moderator bearbeitet: 23. Dezember 2012
  7. MrFlieder
    Offline

    MrFlieder

    Registriert seit:
    30. Dezember 2011
    Beiträge:
    332
    Geschlecht:
    männlich
    Minecraft:
    MrFlieder
    Wenn ich mich recht entsinne, hast du gleich am Anfang die Methode void statt boolean verwendet.
    Und ohne Fehlermeldungen, bzw. Hinweise, was daran nicht geht, können wir dir schwer weiterhelfen.
     
  8. MackerBaron
    Offline

    MackerBaron

    Registriert seit:
    22. November 2011
    Beiträge:
    18
    oh fail falsch abgeschrieben natürlich boolean ich edite es
     
  9. MrFlieder
    Offline

    MrFlieder

    Registriert seit:
    30. Dezember 2011
    Beiträge:
    332
    Geschlecht:
    männlich
    Minecraft:
    MrFlieder
    Die Fehlermeldung kommt bei /tpa oder /tpaccept? ^^

    Ist der Spieler online, dem du eine Anfrage schickst, bzw. die Anfrage annimmst?
     
  10. MackerBaron
    Offline

    MackerBaron

    Registriert seit:
    22. November 2011
    Beiträge:
    18
    ja der spieler ist online und beim command /tpaccept
     
  11. Dein Code ist unübersichtlich...

    BTW:

    containsValue => Überprüft ob ein Wert xy ist, aber
    get(ZZZ) => Hohlt den Wert, der den key ZZZ hat!

    es kann garnicht funktionieren.
     
  12. MackerBaron
    Offline

    MackerBaron

    Registriert seit:
    22. November 2011
    Beiträge:
    18
    dann gib mir doch bitte einen überarbeiteten code
     
  13. Wir sind hier im Programmierungs Forum. Du hast einige Tipps bekommen und dein Fehler dort ist entweder ein Flüchtigkeitsfehler oder ein Fehler aus fehlender Kompetenz. Flüchtigkeitsfehler kannst du selber einfach beheben. Fehler aus fehlender Kompetenz sind bei einem solchem Standard Fall total unnötig. Da kannst du auch mal ganz einfach Java lernen, bevor du sowas machst.
     
  14. MackerBaron
    Offline

    MackerBaron

    Registriert seit:
    22. November 2011
    Beiträge:
    18
    okay ich teste es einfach mal und es war ein flüchtigkeits fehler

    - - - Aktualisiert - - -

    so manf ich bin meinen script code nochmal durch gegeangen da ist vom getten her nichts falsch
     
  15. Du fragst einmal nach ob der WERT vorhanden ist und dann fragst du nach ob der KEY vorhanden ist. Das sind 2 verschiedene Dinge.
     
  16. MrFlieder
    Offline

    MrFlieder

    Registriert seit:
    30. Dezember 2011
    Beiträge:
    332
    Geschlecht:
    männlich
    Minecraft:
    MrFlieder
    Der Code mal etwas übersichtlicher gestaltet und verbessert (Abfrage ob Spieler online, args[1] ist NICHT das erste Argument!), aber nicht getestet:
    Code (Text):
    1.  
    2.     public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args)
    3.     {
    4.         if (cmd.getName().equalsIgnoreCase("tpa"))
    5.         {
    6.             Player player = (Player) sender;
    7.             try
    8.             {
    9.                 Player player1 = Bukkit.getPlayer(args[0]);
    10.             } catch (Exception e)
    11.             {
    12.                 player.sendMessage("Spieler " + args[0] + " ist nicht online!");
    13.             }
    14.             teleport.put(player, player1);
    15.         }
    16.         if (cmd.getName().equalsIgnoreCase("tpaccept"))
    17.         {
    18.             Player player1 = (Player) sender;
    19.             try
    20.             {
    21.                 Player player = Bukkit.getPlayer(teleport.get(player));
    22.                 player1.teleport(player);
    23.             } catch (Exception e)
    24.             {
    25.                 player1.sendMessage("Der Spieler ist nicht online!");
    26.             }            
    27.         }
    28.     }
    29.  
     
    Zuletzt bearbeitet: 23. Dezember 2012
    • Gefällt mir Gefällt mir x 1
  17. Gleydar
    Offline

    Gleydar Ehem. Teammitglied

    Registriert seit:
    2. August 2012
    Beiträge:
    439
    Minecraft:
    Gleydar
    Oder nimm einfach Essentials, das funktioniert ganz bestimmt.
     
Status des Themas:
Es sind keine weiteren Antworten möglich.