You are not logged in.

  • Login

[Bukkit-Plugin] Scoreboard 1.7

Bitte besucht unser neues Forum unter https://forum.nitrado.net | Please visit our new Forum at https://forum.nitrado.net

Dear visitor, welcome to Nitrado.net Prepaid Gameserver Community-Support - Archiv. If this is your first visit here, please read the Help. It explains in detail how this page works. To use all features of this page, you should consider registering. Please use the registration form, to register here or read more information about the registration process. If you are already registered, please login here.

ItzSInix

User / Kunde

  • "ItzSInix" is male
  • "ItzSInix" started this thread

Posts: 35

Location: Localhost

  • Send private message

1

Monday, February 11th 2019, 5:13pm

Scoreboard 1.7

Ich programmiere derzeit ein Scoreboard Plugin für die 1.7 und wenn jemand joint mit einer Namenslänge von 14 bekomme der Spieler einen Fehler das der Name zu lang ist, jedoch wie fixe ich dies in der 1.7?

Java source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
	public static void createScoreboard(Player p) {
		clearScoreboard(p);
		Scoreboard board = Bukkit.getScoreboardManager().getNewScoreboard();
		Objective obj = board.registerNewObjective("aaa", "dummy");
		obj.setDisplaySlot(DisplaySlot.SIDEBAR);
		obj.setDisplayName("§7▪ §b§lDylaris Lands §7▪");
		obj.getScore(" ").setScore(6);
		obj.getScore("§eName:").setScore(5);
	    String name = p.getName();
	    if(name.length() > 12){
	    	name.substring(0, 12);
	    }
		obj.getScore("§8» §7" + name).setScore(4);
		obj.getScore("   ").setScore(3);
		obj.getScore("§eRang:").setScore(2);
		obj.getScore("§8» " + getRang(p)).setScore(1);
		obj.getScore("    ").setScore(0);
		p.setScoreboard(board);
	}
	
	public static void clearScoreboard(Player p) {
		p.getScoreboard().clearSlot(DisplaySlot.SIDEBAR);
	}
	
	
	public static String getRang(Player forWhom) {
		if(forWhom.hasPermission("ts.tabcolor.owner")) {
			return "§4Owner";
		}else if(forWhom.hasPermission("ts.tabcolor.admin")) {
			return "§cAdmin";
		}else if(forWhom.hasPermission("ts.tabcolor.dev")) {
			return "§3Entwickler";
		}else if(forWhom.hasPermission("ts.tabcolor.mod")) {
			return "§5Mod";
		}else if(forWhom.hasPermission("ts.tabcolor.supporer")) {
			return "§aSupporter";
		}else if(forWhom.hasPermission("ts.tabcolor.premium")) {
			return "§6Premium";
		}else {
			return "§eSpieler";
		}
	}


Spieler bekommen folgenden Error.

Spoiler Spoiler



Quellcode

1
2
3
if (Bukkit.getPlayerExact("ItzSinix").wasHelpfu()) {
   Like.give();
}

crysis992

User / Kunde

Posts: 284

  • Send private message

2

Monday, February 11th 2019, 11:23pm

In der 1.7 darf ein Score nicht läger als 16 Zeichen haben, darunter fallen auch Farbcodes.

Beispiel hier:
obj.getScore("§8» §7" + name).setScore(4);

Dafür verwendest du hier schon 6 Zeichen, demnach darf der Spielername nur maximal 10 Zeichen betragen.
Alternativ könntest du dem Scoreboard Fake Spieler hinzufügen, diesen ein Fake Team zuweisen, damit hättest du 3x 16 Zeichen zur verfügung [TEAM PREFIX] [SCORE] [TEAM SUFFIX].

Oder halt einfach keine 6 Jahre veraltete Software nutzen und mit der neusten Version programmieren.

ItzSInix

User / Kunde

  • "ItzSInix" is male
  • "ItzSInix" started this thread

Posts: 35

Location: Localhost

  • Send private message

3

Tuesday, February 12th 2019, 2:02pm

In der 1.7 darf ein Score nicht läger als 16 Zeichen haben, darunter fallen auch Farbcodes.

Beispiel hier:
obj.getScore("§8» §7" + name).setScore(4);

Dafür verwendest du hier schon 6 Zeichen, demnach darf der Spielername nur maximal 10 Zeichen betragen.
Alternativ könntest du dem Scoreboard Fake Spieler hinzufügen, diesen ein Fake Team zuweisen, damit hättest du 3x 16 Zeichen zur verfügung [TEAM PREFIX] [SCORE] [TEAM SUFFIX].

Oder halt einfach keine 6 Jahre veraltete Software nutzen und mit der neusten Version programmieren.


Erstmal danke für deine Antwort :)
Wir haben das Problem bereits mit dem Scoreboard gelöst, aufgrund eines eigenen Modpacks + Server sind wir an die 1.7.10 gebunden, jedoch danke für diese Hilfreiche Antwort zu upgraden :)

Quellcode

1
2
3
if (Bukkit.getPlayerExact("ItzSinix").wasHelpfu()) {
   Like.give();
}

Renel2202

User / Kunde

  • "Renel2202" is male

Posts: 40

Occupation: Auszubildender Fachinformatiker in der Anwendungsentwicklung

  • Send private message

4

Wednesday, February 13th 2019, 6:20pm

public static String getRang(Player forWhom) { if(forWhom.hasPermission("ts.tabcolor.owner")) { return "§4Owner"; }else if(forWhom.hasPermission("ts.tabcolor.admin")) { return "§cAdmin"; }else if(forWhom.hasPermission("ts.tabcolor.dev")) { return "§3Entwickler"; }else if(forWhom.hasPermission("ts.tabcolor.mod")) { return "§5Mod"; }else if(forWhom.hasPermission("ts.tabcolor.supporer")) { return "§aSupporter"; }else if(forWhom.hasPermission("ts.tabcolor.premium")) { return "§6Premium"; }else { return "§eSpieler"; }

eine kleine verbesserung zu diesm teil:
die meistenm Permissions Plugins haben eine Schnittstelle welche du direkt den Rang abfragen kannst, dann benötigst du zu einem keine Permissions vergeben,

und du köntest einfacher Ränge hinzu fügen.
MFG
René

ItzSInix

User / Kunde

  • "ItzSInix" is male
  • "ItzSInix" started this thread

Posts: 35

Location: Localhost

  • Send private message

5

Wednesday, February 13th 2019, 8:40pm

public static String getRang(Player forWhom) { if(forWhom.hasPermission("ts.tabcolor.owner")) { return "§4Owner"; }else if(forWhom.hasPermission("ts.tabcolor.admin")) { return "§cAdmin"; }else if(forWhom.hasPermission("ts.tabcolor.dev")) { return "§3Entwickler"; }else if(forWhom.hasPermission("ts.tabcolor.mod")) { return "§5Mod"; }else if(forWhom.hasPermission("ts.tabcolor.supporer")) { return "§aSupporter"; }else if(forWhom.hasPermission("ts.tabcolor.premium")) { return "§6Premium"; }else { return "§eSpieler"; }

eine kleine verbesserung zu diesm teil:
die meistenm Permissions Plugins haben eine Schnittstelle welche du direkt den Rang abfragen kannst, dann benötigst du zu einem keine Permissions vergeben,

und du köntest einfacher Ränge hinzu fügen.
MFG
René

Danke für deinen Tipp, jedoch ist dies ein eigen programmiertes Permissions Plugin wo ich den Gruppen noch keine Prefixe zugewiesen hatte. :)

Quellcode

1
2
3
if (Bukkit.getPlayerExact("ItzSinix").wasHelpfu()) {
   Like.give();
}

Bitte besucht unser neues Forum unter https://forum.nitrado.net| Please visit our new Forum at https://forum.nitrado.net

Similar threads