ScoreBoard

Dieses Thema im Forum "Programmierung" wurde erstellt von superlenni456, 27. April 2013.

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

    superlenni456

    Registriert seit:
    25. November 2012
    Beiträge:
    11
    Ich weiss, dass das hier bestimmt schon öfters gepostet wurde, aber ich finde auch nicht durch die suchfunktion, wie man ein Scoreboard updated. Daher würde ich gerne wissen wie das geht ^^

    Mein bisheriger Update Code sieht so aus...:
    Code (Text):
    1.     public void updateBoard(Player p){
    2.         String name = "§6§lStorm§b§lPvP";
    3.         Scoreboard sb = new Scoreboard();
    4.         ConfigurationSection consec = getConfig().getConfigurationSection("Stats.kills.players");
    5.         ConfigurationSection consec2 = getConfig().getConfigurationSection("Stats.deaths.players.");
    6.         int kills = consec.getInt(p.getName());
    7.         int tode = consec2.getInt(p.getName());
    8.        
    9.         Packet206SetScoreboardObjective createPacket = new Packet206SetScoreboardObjective(sb.getObjective(name), 0);
    10.         Packet208SetScoreboardDisplayObjective display = new Packet208SetScoreboardDisplayObjective(1, sb.getObjective(name));
    11.         ScoreboardScore scoreItem1 = new ScoreboardScore(sb, sb.getObjective(name), "§6Kills: §c");
    12.         ScoreboardScore scoreItem2 = new ScoreboardScore(sb, sb.getObjective(name), "§6Tode: §c");
    13.        
    14.         scoreItem1.setScore(kills);
    15.         scoreItem2.setScore(tode);
    16.        
    17.         Packet206SetScoreboardObjective removePacket = new Packet206SetScoreboardObjective(sb.getObjective(name), 1);
    18.         Packet207SetScoreboardScore pScoreItem1 = new Packet207SetScoreboardScore(scoreItem1, 0);
    19.         Packet207SetScoreboardScore pScoreItem2 = new Packet207SetScoreboardScore(scoreItem2, 0);
    20.         sendPacket(p, removePacket);
    21.         sendPacket(p, createPacket);
    22.         sendPacket(p, display);
    23.         sendPacket(p, pScoreItem1);
    24.         sendPacket(p, pScoreItem2);
    25.        
    26.     }
     
    #1
  2. games6471
    Online

    games6471

    Du weisst, dass Bukkit inzwischen eine API für das Scoreboard implementiert hat?
     
    #2
  3. superlenni456
    Offline

    superlenni456

    Registriert seit:
    25. November 2012
    Beiträge:
    11
    Ja, das weiss ich, aber der Scoreboard Manager wird nicht geladen...
    Code (Text):
    1. 2013-04-23 16:07:28 [SEVERE] Could not pass event PlayerJoinEvent to StormSystem v1.0
    2. org.bukkit.event.EventException
    3. at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:427)
    4. at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62)
    5. at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:477)
    6. at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:462)
    7. at net.minecraft.server.v1_5_R2.PlayerList.c(PlayerList.java:204)
    8. at net.minecraft.server.v1_5_R2.PlayerList.a(PlayerList.java:100)
    9. at net.minecraft.server.v1_5_R2.PendingConnection.d(PendingConnection.java:129)
    10. at net.minecraft.server.v1_5_R2.PendingConnection.c(PendingConnection.java:44)
    11. at net.minecraft.server.v1_5_R2.DedicatedServerConnectionThread.a(DedicatedServerConnectionThread.java:41)
    12. at net.minecraft.server.v1_5_R2.DedicatedServerConnection.b(SourceFile:29)
    13. at net.minecraft.server.v1_5_R2.MinecraftServer.r(MinecraftServer.java:57
    14. at net.minecraft.server.v1_5_R2.DedicatedServer.r(DedicatedServer.java:225)
    15. at net.minecraft.server.v1_5_R2.MinecraftServer.q(MinecraftServer.java:474)
    16. at net.minecraft.server.v1_5_R2.MinecraftServer.run(MinecraftServer.java:407)
    17. at net.minecraft.server.v1_5_R2.ThreadServerApplication.run(SourceFile:573)
    18. Caused by: java.lang.NoSuchMethodError: org.bukkit.Bukkit.getScoreboardManager()Lorg/bukkit/scoreboard/ScoreboardManager;
    19. at de.lenni.StormSystem.listener.Funktionen.Join(Funktionen.java:50)
    20. at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    21. at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    22. at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    23. at java.lang.reflect.Method.invoke(Method.java:601)
    24. at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:425)
    25. ... 14 more
     
    #3
  4. games6471
    Online

    games6471

    Code (Text):
    1. java.lang.NoSuchMethodError
    Du brauchst eine neuere Craftbukkit version.
     
    #4
    1 Person gefällt das.
  5. superlenni456
    Offline

    superlenni456

    Registriert seit:
    25. November 2012
    Beiträge:
    11
    Ich habe die neuste von dl.bukkit.org also 1.5.1 Ro 0.2
     
    #5
  6. bformine
    Offline

    bformine

    Registriert seit:
    6. Juli 2012
    Beiträge:
    329
    Ort:
    join.mc-skyblock.eu
    Minecraft:
    bformine
  7. superlenni456
    Offline

    superlenni456

    Registriert seit:
    25. November 2012
    Beiträge:
    11
    ach danke ich bin so doof und habe net auf der liste geguckt ^^

    - - - Updated - - -

    Jetzt kommt kein error mehr aber auch kein scoreboard wird erstellt -.-
    Code (Text):
    1.     @EventHandler
    2.     public void Join(PlayerJoinEvent e)
    3.     {
    4.         int kills = getLevel(killPath, e.getPlayer());
    5.         int tode = getLevel(deathPath, e.getPlayer());
    6.         ScoreboardManager sbm = Bukkit.getScoreboardManager();
    7.         Scoreboard sb = sbm.getNewScoreboard();
    8.         sb.registerNewObjective("kills", "playerKillCount");
    9.         Objective objekt = sb.getObjective("kills");
    10.         objekt.setDisplaySlot(DisplaySlot.SIDEBAR);
    11.         objekt.setDisplayName("§6§lStorm§b§lPvP");
    12.         Score score = objekt.getScore(Bukkit.getOfflinePlayer(ChatColor.GOLD + "Kills:"));
    13.         Score score1= objekt.getScore(Bukkit.getOfflinePlayer(ChatColor.GOLD + "Tode:"));
    14.         score.setScore(kills);
    15.         score1.setScore(tode);     
    16.     }
     
    #7
  8. Sn0wBlizz4rd
    Offline

    Sn0wBlizz4rd

    Registriert seit:
    26. September 2012
    Beiträge:
    424
    Minecraft:
    Sn0wBlizz4rd
    Du sendest dem Spieler doch gar nicht das Scoreboard -.- ...
    Lern' besser erstmal Java, oder benutze einfach die Scoreboard API und schaue dir dazu die JavaDocs an.
     
    #8
  9. superlenni456
    Offline

    superlenni456

    Registriert seit:
    25. November 2012
    Beiträge:
    11
    Hallo Ok ich habe nun alles mit dem updatem hinbekommen also das scoreboard wird geupdated aber nun kommt wenn ich einen spieler kille mein name ins scoreboard bei allen spielern wie unterbinde ich das? :gr:
     
    #9
  10. herberti
    Online

    herberti

    Könntest du dir nicht einfach die API ansehen?
    Hier liegt der Fehler:
    Und hier noch ein nützlicher Link:
    http://www.minecraftwiki.net/wiki/Scoreboard#Objectives
     
    #10
  11. superlenni456
    Offline

    superlenni456

    Registriert seit:
    25. November 2012
    Beiträge:
    11
    Danke, Ich arbeite das erste Mal heute mit scoreboards sonst in meinem serversystem habe ichs noch nie gemacht bzw stats und friedens plugin...
    Naja Thema kann geschlossen werden
     
    #11
Status des Themas:
Es sind keine weiteren Antworten möglich.