[Gelöst] Chat gibt Prefix immer einmal mehr aus

Um Übersicht zu schaffen, findet man hier bereits gelöste Fragen und Probleme.

[Gelöst] Chat gibt Prefix immer einmal mehr aus

Beitragvon ilouHD » So 9. Feb 2014, 16:23

Hallo,

ich bin es (mal wieder).

Ich habe mir dieses Tutorial (https://www.youtube.com/watch?v=T71mXaOhAdI) zur Chatmodifizierung angeguckt.

Mein Code sieht bisher so aus:
Code: Alles auswählen
  1. private String owner = "§2§l[§8§lOWNER§2§l] §f";
  2. @EventHandler
  3.    public void onChat(AsyncPlayerChatEvent e) {
  4.       if(e.getPlayer().hasPermission("chat.owner")) {
  5.          e.setMessage(ChatColor.translateAlternateColorCodes('&', e.getMessage()));
  6.          e.getPlayer().setDisplayName(this.owner + e.getPlayer().getDisplayName());
  7.       }
  8.       e.setFormat("%1$s: §f%2$s");
  9.    }


Wenn ich jetzt Chatte, dann wird vor meinem Namen, immer der String einmal mehr hinzugefügt, das heißt, wenn ich jetzt 'Hallo' schreibe, sieht es im Chat so aus:

[OWNER] marcsven: Hallo

Wenn ich jetzt als Beispiel wieder 'Hallo' schreibe, weil ein nächster Spieler gejoint ist, oder so, dann steht das so im Chat:

[OWNER] [OWNER] marcsven: Hallo

Und das geht dann immer so weiter. Habe ich dann zum Beispiel 5 Leuten Hallo geschrieben, dann steht das so da:

[OWNER] [OWNER] [OWNER] [OWNER] [OWNER] marcsven: Hallo


Bitte helft mir,

Mit Freundlichen Grüßen, marcsven
Bild
Benutzeravatar
ilouHD
 
Beiträge: 1733
Registriert: Do 9. Jan 2014, 14:49

Re: Chat gibt Prefix immer einmal mehr aus

Beitragvon IK_Raptor » So 9. Feb 2014, 16:42

dein Code bewirkt, das der DisplayName des SPielers bei jeden mal schreiben um ein prefix erweitert wird... Statt den ganzen Kram mit dem DisplayNamen zu benutzen, füge doch einfach den Prefix im Format ein:
e.setFormat(this.owner + p.getName() + ":");
Benutzeravatar
IK_Raptor
 
Beiträge: 609
Registriert: Mo 12. Aug 2013, 15:37

Re: Chat gibt Prefix immer einmal mehr aus

Beitragvon ilouHD » So 9. Feb 2014, 17:02

IK_Raptor hat geschrieben:dein Code bewirkt, das der DisplayName des SPielers bei jeden mal schreiben um ein prefix erweitert wird... Statt den ganzen Kram mit dem DisplayNamen zu benutzen, füge doch einfach den Prefix im Format ein:
e.setFormat(this.owner + p.getName() + ":");


Aber wenn ich den prefix im Format hinzufüge, dann hat doch jede Gruppe, auch die normalen Spieler, den prefix [OWNER], oder nicht??
Bild
Benutzeravatar
ilouHD
 
Beiträge: 1733
Registriert: Do 9. Jan 2014, 14:49

Re: Chat gibt Prefix immer einmal mehr aus

Beitragvon IK_Raptor » So 9. Feb 2014, 17:18

ja außer du machst vorher eine Permissions abfrage... ;)
Benutzeravatar
IK_Raptor
 
Beiträge: 609
Registriert: Mo 12. Aug 2013, 15:37

Re: Chat gibt Prefix immer einmal mehr aus

Beitragvon ilouHD » So 9. Feb 2014, 17:37

IK_Raptor hat geschrieben:ja außer du machst vorher eine Permissions abfrage... ;)


Das heißt, ich sollte dann mit dieser Permissionsabfrage, für jede einzelne Gruppe, ein eigenes Format anlegen??
Bild
Benutzeravatar
ilouHD
 
Beiträge: 1733
Registriert: Do 9. Jan 2014, 14:49

Re: Chat gibt Prefix immer einmal mehr aus

Beitragvon PostCrafter » So 9. Feb 2014, 17:56

Du kannst auch einfach beim Setzen des Displaynames den Spielername (getName()) anstatt den Displaynamen (getDisplayName()) auslesen.
TeamSpeak-Server zur freien Nutzung: postcrafter.de
Benutzeravatar
PostCrafter
Administrator
 
Beiträge: 1443
Registriert: Do 6. Jun 2013, 19:16
Wohnort: Ebersberg

Re: Chat gibt Prefix immer einmal mehr aus

Beitragvon ilouHD » So 9. Feb 2014, 18:26

PostCrafter hat geschrieben:Du kannst auch einfach beim Setzen des Displaynames den Spielername (getName()) anstatt den Displaynamen (getDisplayName()) auslesen.


Thx. Funktioniert. Thread kann als gelöst markiert werden.
Bild
Benutzeravatar
ilouHD
 
Beiträge: 1733
Registriert: Do 9. Jan 2014, 14:49


Zurück zu Bereits gelöst

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast