Seite 2 von 2

Re: Badwordscript verursacht Fehler bei reconnect

Verfasst: 01.04.2015, 18:51
von keine
Danke ich probiers mal aus.

Was mich aber wundert wieso der Gast dann überhaupt dieses Font mit deeppink hat. Denn wenn ich ohne dieses Script als Gast reingehe, ist der immer weiß. Bei meinem Zweitnick wird glaub ich die Farbe übernommen, die im Cookie ist, beim Gast aber nicht.

Edit: Super jetzt klappts :D

Re: Badwordscript verursacht Fehler bei reconnect

Verfasst: 01.04.2015, 19:13
von Maxs
Nun gut, dann die lange Erklärung. :D
Erst einmal: Wie funktioniert das Schriftfarbe-Ändern-Script?
Es gibt eine Funktion 1, die eingebunden wird, welche die Funktion 2 des Absendens einer Chatnachricht per Eingabezeile überschreibt. Das heißt, dass bei jedem mal, wenn du eine Nachricht in den Chat schreibst, nun die neue überschriebene Funktion 2 aufgerufen wird. Diese beinhaltet, dass, solange die Nachricht nicht mit "/" beginnt, zu Beginn der Nachricht ein "<font color=FARBE>" ein- und am Ende der Nachricht ein "</font>" angefügt wird.
Diese FARBE wird über den Chatbefehl festgelegt, der einfach die Funktion 1 mit der neuen Farbe aufruft. Diese Funktion 1 besitzt nun aber auch die Fähigkeit, diese FARBE in ein Cookie namens "fontColor" zu schreiben, was sie auch macht.
Wann immer der Chat geöffnet wird oder reconnected wird, ruft diese Funktion 1 außerdem einmal automatisch das Cookie mit dem Namen "fontColor" auf und überprüft, ob es vorhanden ist und welche FARBE es beinhaltet. Wenn es vorhanden ist, wird die Funktion 2 wie im ersten Absatz beschrieben mit der Farbe im Cookie überschrieben.

Das bedeutet: Du loggst dich mit deinem Nick "keine" in den Chat ein und änderst deine Farbe auf "deeppink". Das wird nun in einem Cookie namens "fontColor" gespeichert. Deine Schriftfarbe ist von nun an pink. Egal ob du reconnectest oder neu einloggst, das Cookie namens "fontColor" hat diese Farbe gespeichert und wird auch im Browser ausgelesen.
Nun loggst du dich aber als Gast oder mit einem anderen Nutzernamen ein. Funktion 1 prüft wieder nur, ob es ein Schriftfarben-Cookie namens "fontColor" gibt und erkennt das von deinem Nick "keine", weiß aber nicht, dass es eigentlich von "keine" ist. Also überschreibt es die Funktion 2 mit der Schriftfarbe von "keine". Egal welchen Nick du nutzt. ;)

Und: Gäste können das <font>-Tag nicht im Chat nutzen, deswegen konntest du auch damals als Gast die Farbe nicht sehen, weil es auch vom Script verboten war, dass Gäste das Script nutzen. Das hatten wir vorhin aber kurz ausgehebelt. Dein Zweitnick hatte diese Schriftfarbe aber ordnungsgemäß wie oben beschrieben ;)

// Edit: Und noch ein kleiner Schönheitsfehler im Script, der verhinderte, dass man das Badword-Script mit dem false nicht ausschalten konnte. Ganz am Ende bitte

Code: Alles auswählen

if(fntColor=getCookie("fontColor")){ 
 farbeaendern(fntColor);
} else {
 badwords();
}
in

Code: Alles auswählen

if(fntColor=getCookie("fontColor")){ 
 farbeaendern(fntColor);
} else if (BadWordsVerwenden) {
 badwords();
}
ändern. Dann kann man auch mit BadWordsVerwenden = false; Badwords ausstellen. ;)