• 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!

Scoreboard wird teilweise geuptated

masterlegend

Minecrafter
Registriert
15 September 2016
Beiträge
14
Diamanten
0
Hey Leute,

ich habe ein Gungame programmiert, welches ein Scoreboard enthält, was die jeweiligen Level der Spieler anzeigt. Im PlayerDeathEvent setze ich das Scoreboard für killer und victim neu, so dass sich die Levels
dementsprechend updaten. Dies geschieht aber irgendwie nur manchmal. So steht z.B. Level: und in der nächsten Zeile steht einfach nix!
Mach ich dann noch einen Kill, geht das manchmal wieder. Manchmal zeigt er mir auch bei Onlinespieler nichts an. Wenn ein Spieler joined/leaved wird das Scoreboard ebenfalls für alle geupdated. Hat jemand ne Ahnung warum es sich manchmal nicht updated?
Wenn ich im Deathevent das Scoreboard mit ner Verzögerung aufrufe aktualisieren sich die Levels manchmal auch nicht

Death-Event : https://pastebin.com/JgD44VPD
Scoreboard: https://pastebin.com/VyTbCsaz
Fehler: https://prnt.sc/ijgzb5 Dasselbe passiert manchmal fürs Level auch

Gruß

Daniel
 
Zuletzt bearbeitet:

joestr

Redstoneengineer
Registriert
5 November 2016
Beiträge
44
Alter
26
Diamanten
328
Ich hab das so gelöst, das ich halt §r (Reset-Formattierungscode) davor geschrieben habe.

Code:
o.getScore("§e").setScore(13);
o.getScore("§eName").setScore(12);
// Name kann durchaus eine Zahl sein 1x §r
o.getScore("§8>> §r§a§l"+p.getName()).setScore(11);
o.getScore("§a").setScore(10);
o.getScore("§eSpieler Online").setScore(9);
// für Spieleranzahl 2x §r
o.getScore("§8>> §r§r§a§l"+ max).setScore(8);
o.getScore("§4").setScore(7);
o.getScore("§eLevel").setScore(6);
// Das Level des Spielers 3x §r
o.getScore("§8>> §r§r§r§a§l"+ level).setScore(5);
o.getScore("§8").setScore(4);
o.getScore("§eLevel-Rekord").setScore(3);
// Der Rekord des Spielers. 4x §r
o.getScore("§8>> §r§r§r§r§a§l"+ record).setScore(2);
o.getScore("§9").setScore(1);
 
F

Figz

Guest
Du scheinst es immernoch nicht zu verstehen..

Code:
// Also:

// Hier holst du dir den ersten Score (level 5)
Score s = o.getScore("5");

// Jetzt setzt so diesen Score auf 4. (rote Zahl ganz rechts auf dem Scoreboard)
s.setScore(4);


Nun holst du dir den nächsten Score (max Level)
Score s = o.getScore("5");

// Jetzt setzt so diesen Score auf 2. (rote Zahl ganz rechts auf dem Scoreboard)
s.setScore(2);

// In diesem Fall hat der Spieler sowohl das max. Level als auch das normale Level auf 5.
// mit deinem Code bewirkst du eigentlich nur, dass der Score der in diesem Fall "5" ist einfach nur auf eine andere Stelle verschoben wird.
Du kannst nicht den selben Score innerhalb eines Objectives mehrmals/identisch verwenden.

Somit ist es egal wie oft du §r verwendest. Wichtig ist, dass ein Score nur EINMAL vorkommt. EGAL in welcher form.

o.getScore("5 ");
o.getScore(" 5");
o.getScore("§r5");
o.getScore("§r§r5");
 
Oben