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!

ServerPlugin Scoreboard Problem

Dieses Thema im Forum "Programmierung" wurde erstellt von xxProgramerx, 30. März 2014.

  1. xxProgramerx
    Offline

    xxProgramerx

    Registriert seit:
    16. März 2014
    Beiträge:
    26
    hey leute..

    Ich bin immer noch an meine ffa plugin zugange! Nun bei dem Scoreboard! Mein Problem ist das alle spieler das selbe SCoreboard haben! Ich weiß aber nicht wieso?!
    Hier der Code
    Code (Text):
    1. package ScoreboardPack;
    2.  
    3. import java.io.File;
    4. import java.io.IOException;
    5.  
    6. import org.bukkit.Bukkit;
    7. import org.bukkit.configuration.file.FileConfiguration;
    8. import org.bukkit.configuration.file.YamlConfiguration;
    9. import org.bukkit.entity.Player;
    10. import org.bukkit.scoreboard.DisplaySlot;
    11. import org.bukkit.scoreboard.Objective;
    12. import org.bukkit.scoreboard.Score;
    13. import org.bukkit.scoreboard.Scoreboard;
    14. import org.bukkit.scoreboard.ScoreboardManager;
    15.  
    16. public class ScoreboardAdder {
    17.    
    18.     public static ScoreboardManager sm = Bukkit.getServer().getScoreboardManager();
    19.     public static Scoreboard board = sm.getNewScoreboard();
    20.    
    21.     public static Objective score = board.registerNewObjective("aaa", "bbb");
    22.    
    23.     public static void CreateScoreboard(Player player){
    24.        
    25.  
    26.         score.setDisplayName("§6[MAPvP]");
    27.         score.setDisplaySlot(DisplaySlot.SIDEBAR);
    28.        
    29.         Score kills = score.getScore(Bukkit.getOfflinePlayer("Kills:"));
    30.         Score deaths = score.getScore(Bukkit.getOfflinePlayer("Tode:"));
    31.         Score Level = score.getScore(Bukkit.getOfflinePlayer("Level:"));
    32.         Score Rang = score.getScore(Bukkit.getOfflinePlayer("Rang:"));
    33.         Score Punkte = score.getScore(Bukkit.getOfflinePlayer("Punkte:"));
    34.        
    35.    
    36.         kills.setScore(ScoreboardAdder.getKills(player));
    37.         deaths.setScore(ScoreboardAdder.getDeaths(player));
    38.         Level.setScore(player.getLevel());
    39.         Rang.setScore(1);
    40.         Punkte.setScore(ScoreboardAdder.getPunkte(player));
    41.        
    42.         player.setScoreboard(board);
    43.        
    44.     }
    45.    
    46.     public static int getKills(Player p){
    47.         File kills = new File("plugins/MAPvp/", "Scoreboardstats.yml");
    48.         FileConfiguration stats = YamlConfiguration.loadConfiguration(kills);
    49.         int back = stats.getInt(p.getName() + ".Kills");
    50.         return back;
    51.        
    52.     }
    53.  
    54.     public static int getDeaths(Player p){
    55.         File kills = new File("plugins/MAPvp/", "Scoreboardstats.yml");
    56.         FileConfiguration stats = YamlConfiguration.loadConfiguration(kills);
    57.         int back = stats.getInt(p.getName() + ".Deaths");
    58.         return back;
    59.        
    60.     }
    61.     public static int getPunkte(Player p){
    62.         File kills = new File("plugins/MAPvp/", "Scoreboardstats.yml");
    63.         FileConfiguration stats = YamlConfiguration.loadConfiguration(kills);
    64.         int back = stats.getInt(p.getName() + ".Punkte");
    65.         return back;
    66.        
    67.     }
    68.     public static void addKill(Player p) throws IOException{
    69.         File kills = new File("plugins/MAPvp/", "Scoreboardstats.yml");
    70.         FileConfiguration stats = YamlConfiguration.loadConfiguration(kills);
    71.         int killint = stats.getInt(p.getName() + ".Kills");
    72.         stats.set(p.getName() + ".Kills", killint+1);
    73.         stats.save(kills);
    74.     }
    75. public static void addDeath(Player p) throws IOException{
    76.     File kills = new File("plugins/MAPvp/", "Scoreboardstats.yml");
    77.     FileConfiguration stats = YamlConfiguration.loadConfiguration(kills);
    78.     int deathsint = stats.getInt(p.getName() + ".Deaths");
    79.     stats.set(p.getName() + ".Deaths", deathsint+1);
    80.     stats.save(kills);
    81.        
    82.     }
    83. public static void addPunkte(Player p) throws IOException{
    84.     File kills = new File("plugins/MAPvp/", "Scoreboardstats.yml");
    85.     FileConfiguration stats = YamlConfiguration.loadConfiguration(kills);
    86.     int punkteint = stats.getInt(p.getName() + ".Punkte");
    87.     stats.set(p.getName() + ".Punkte", punkteint+1);
    88.     stats.save(kills);
    89.    
    90. }
    91. public static void Remove(Player p){
    92.     board.clearSlot(DisplaySlot.SIDEBAR);
    93.        
    94. }
    95. }
    96.  
    97.  
    Ich hoffe mir kann jemand weiterhelfen und mir den Fehler nenen! PS: Das Scoreboard erstelle ich in einer Exterenen Klasse! Also in der SignJoin Klasse!

    MFG
     
    #1
  2. Werbung
    Online

    Werbung

  3. ImpactCP
    Offline

    ImpactCP

    Registriert seit:
    21. Oktober 2012
    Beiträge:
    22
    Minecraft:
    ImpactCP
    Du musst für jeden Spieler ein eigenes Scoreboard erstellen und nicht das selbe für alle Spieler verwenden.

    Also für jeden Spieler: sm.getNewScoreboard();
     
    #2
  4. xxProgramerx
    Offline

    xxProgramerx

    Registriert seit:
    16. März 2014
    Beiträge:
    26
    Mach ich das nicht mit der createScoreboard Methode?
    Mach ich doch nich^^
    :/ danke
     
    #3
  5. ImpactCP
    Offline

    ImpactCP

    Registriert seit:
    21. Oktober 2012
    Beiträge:
    22
    Minecraft:
    ImpactCP
    Nur wenn du jedesmal ein neues Object von der Klasse ScoreboardAdder erstellen würdest.
     
    #4