Registriert: 09.10.2008, 18:21 Beiträge: 428
|
KonfigurationDas Script sollte ohne Änderungen laufen. Wenn es also nach einer Änderung nicht funktioniert, wisst ihr, dass ihr einen Fehler bei der Konfiguration gemacht habt. Geändert werden darf das Script nur zwischen /* Konfiguration */ und /* Ende der Konfiguration */! Das Erstellen bzw. Editieren von Gruppen
Diese Einstellungen werden ganz am Anfang verändert. Es gibt in diesem Script Hauptgruppen, die verschoben und verändert werden dürfen. Eins darf man mit diesen Gruppen aber nicht machen: Sie entfernen, oder aber die ID ändern! Diese Hauptgruppen wären: ["team", "Team", "", [], true], ["user", "User", "", [], true], ["guest", "Gäste", "", [], true], ["away", "Abwesend", "color: #FF0000;", [], true] Alles was hier Rot gefärbt ist, darf nicht geändert werden. Also das, was in den ersten Anführungszeichen steht (= team, user, guest und away). Auch darf keiner dieser Gruppen entfernt werden! Die Reihenfolge darf beliebig verändert werden. Die Gruppen erscheinen in der Onlineliste in der Reihenfolge, in der sie auch hier im Script stehen. Denkt beim Reihenfolgeändern nur daran, dass nach jeder Gruppe ein KOMMA steht, nur nicht nach der letzten! Das solltet ihr dringend beachten, sonst geht das ganze Script nicht mehr. Jetzt fragt ihr euch bestimmt, was diese einzelnen Dinge in einer Gruppe bedeuten. Hier ist die Antwort: Zitat: ["ID", "NAME", "CSS-STYLE", [USERLISTE], LISTE-AUSBLENDEN-WENN-LEER], ID = Dies ist das eindeutige Erkennungszeichen einer Gruppe. Diese ID darf nur einmal vorkommen und keine andere Gruppe hat diese ID. Diese darf bei den Hauptgruppen auch NICHT verändert werden, da sonst das ganze Script nicht mehr funktioniert. NAME = Das ist der Name der Gruppe, der auch in der Onlineliste angezeigt wird. HTML darf hier verwendet werden. Passt nur auf, dass ihr statt den doppelten Anführungszeichen " die einfachen ' benutzt, falls ihr welche benötigt. CSS-STYLE = Das ist der Style (z.B. Farben, Schriftart...) den die User, die in dieser Gruppe in der Onlineliste stehen, bekommen. Eine ausführliche Liste mit CSS-Befehlen bekommt ihr z.B. hier: http://www.html-seminar.de/css-definitionen-uebersicht.htm. Wenn ihr keine Änderungen an den Usern wünscht, dann schreibt in die Anführungszeichen einfach nichts und lasst sie leer( "").Falls ihr Fragen dazu habt, postet sie hier, es gibt bestimmt User, die euch mit dem CSS helfen können! [USERLISTE] = In diese Liste kommen alle User, die auf jeden Fall in dieser Gruppe in der Onlineliste stehen müssen. So kannst du z.B. jemanden hier rein schreiben, der auf jeden Fall in die Userliste soll, obwohl er eigentlich ein Gast ist, und so normal durch das Script in die Gästeliste müsste. Die Syntax ist ziemlich einfach: ["USER1", "USER2", "USER3"] Achte auf die Groß- und Kleinschreibung! Es können so beliebig viele User in Anführungszeichen per Komma aufgelistet werden. Nach dem letzten User darf kein Komma stehen! LISTE-AUSBLENDEN-WENN-LEER = Hier wird eingestellt, ob die Gruppe (also mit Überschrift!) komplett ausgeblendet werden soll, wenn kein User (mehr) in der Liste vorhanden ist. Befindet sich also zum Beispiel genau ein User in der Liste, wird diese angezeigt. Doch sobald der User sich ausloggt oder sich abmeldet (mit /away) und die Liste somit leer ist, wird sie vollkommen ausgeblendet. Hier sollte true stehen, wenn ihr das wollt. Bei false bleibt die Gruppenüberschrift in der Onlineliste stehen, auch wenn kein User in der Liste der Gruppe ist. Bitte keine Anführungszeichen (" ") um das true oder false setzen! So kannst du auch eigene Gruppen hinzufügen. Es bleibt immer die gleiche Syntax: Zitat: ["ID", "NAME", "CSS-STYLE", [USERLISTE], LISTE-AUSBLENDEN-WENN-LEER], Zu beachten ist nur folgendes: - Die ID darf nur einmal vergeben werden. Denkt euch für eure Gruppen eigene gute und eindeutige IDs aus. Es dürfen keine Umlaute (ä. ü, ö, ß...) vorkommen, aber auch keine Sonder- bzw. Satzzeichen (Es sind glaube ich nur ein paar Satzzeichen erlaubt!). Benutzt am besten nur Buchstaben und Zahlen. Änderungen an den IDs der Hauptgruppen sind auch verboten!
- Die USERLISTE sollte immer vorkommen, denn sonst kommt ja kein User in diese Gruppe und die User werden in eine der Hauptgruppen aufgeteilt. Eigentlich logisch, oder? 
- Nach der ganzen Gruppe kommt immer ein KOMMA! AUSNAHME: Nach der letzten Gruppe darf KEIN Komma stehen! Denkt also auch beim Reihenfolge ändern daran, dass nach jeder Gruppe ein Komma steht, außer nach der letzten, sonst funktioniert das Script NICHT mehr. Eigene Gruppen dürfen natürlich vor, zwischen und nach den Hauptgruppen einsortiert werden. Nur denkt um Gottes Willen an die richtige Kommasetzung, richtige ID-Vergabe und Hauptgruppenregeln!  Falls es noch nicht so klar wurde, gibt's unter der Konfiguration noch Beispiele. 
Bilder vor oder nach einem Nick in der Onlineliste
Das funktioniert nun direkt in diesem Script und kann nicht mehr durch das bereits vorhandene Script in der Scriptübersicht gemacht werden. Dazu muss man an folgender Stelle Konfigurationen vornehmen: Code: this.olPicsBefore = [
]; this.olPicsAfter = [
]; Möchtest du Nicks Bildern anhängen, egal ob vor oder nach dem Nick, dann mache das mit folgender Syntax: Code: this.olPicsBefore = [ ["URL-ZUM-BILD", "USER1", "USER2"], ["URL-ZUM-ZWEITEN-BILD", "USER3", "USER4", "USER5", "USER6"] ]; this.olPicsAfter = [ ["URL-ZUM-BILD", "USER1", "USER2"], ["URL-ZUM-ZWEITEN-BILD", "USER3", "USER4", "USER5", "USER6"] ]; Eine Bildgruppe ist so aufgebaut: Zitat: ["URL-ZUM-BILD", "USER1", "USER2"], URL-ZUM-BILD = In die ersten Anführungszeichen kommt ganz einfach die URL zu dem Bild, welches angezeigt werden soll. USER = Nachfolgend werden alle User, die dieses Bild bekommen sollen, in Anführungszeichen und per Komma getrennt aufgezählt. Es können so viele User aufgelistet werden, wie man möchte. Des Weiteren kann man auch Arrays, die mit Usern gefüllt sind, verwenden. Diese Arrays werden wie USER, nur ohne Anführungszeichen (" "), eingesetzt. Ein Beispiel: Code: this.olPicsBefore = [
["URL-ZUM-BILD", "Maxs", chatTeam[1]], ["URL-ZUM-BILD", "Dennis", chatTeam[0], "Lisa"]
]; Hier sieht man, dass ich als Arrays chatTeam[1] und chatTeam[0] genommen habe. Dies sind beides Arrays, die in der Grundscriptsammlung definiert wurden. Folgendes ist in den Arrays zu finden: chatTeam[1] = Hier sind alle Admins, bis auf den Hauptadmin, vertretenchatTeam[0] = Hier sind alle Mods vertretenMit diesen beiden Arrays müsst ihr nicht mehr die Namen der Mods oder Admins abtippen, denn sie sind automatisch mit den Mods oder Admins befüllt. Der Hauptadmin muss trotzdem noch angegeben werden. Es können natürlich auch noch andere Arrays verwendet werden. Falls ihr Probleme habt, das zu verstehen, fragt einfach nochmal hier im Thread oder probiert mein Beispiel einfach per Kopie aus. Dann seht ihr, dass automatisch eure Admins und Mods ein Bild bekommen! Beachte auch hier, dass nach jeder Bildgruppe ein KOMMA steht, außer nach der letzten.Der Unterschied zwischen this.olPicsBefore und this.olPicsAfter ist, dass die Bildgruppen die in this.olPicsBefore stehen, VOR, und die Bildgruppen die in this.olPicsAfter stehen, NACH den Nicks in der Onlineliste erscheinen.
Eigener Style für bestimmte User
Dieser Style überschreibt auch die Styles, die du bei den Gruppen angegeben hast. Eigene Userstyles kann man an folgender Stelle ändern, entfernen oder hinzufügen: Code: this.userStyle = [ ["USER", "CSS-STYLE"], ["MusterMann", "color: blue; font-weight: bold;"] ]; Möchtest du keinem User einen eigenen Style zuordnen, dann ändere diesen Code in folgenden um: Code: this.userStyle = [ ]; Die Syntax ist bei diesem Code auch wieder ziemlich einfach: Zitat: ["USER", "CSS-STYLE"], USER = Das ist der User, dessen Style umgeändert werden soll. CSS-STYLE = Das ist der Style (z.B. Farben, Schriftart...), den der User bekommt, egal in welcher Gruppe er steht. Eine ausführliche Liste mit CSS-Befehlen bekommt ihr z.B. hier: http://www.html-seminar.de/css-definitionen-uebersicht.htm. Falls ihr Fragen dazu habt, postet sie hier, es gibt bestimmt User, die euch mit dem CSS helfen können! Beachte auch hier, dass nach jedem User mit eigenem CSS-Style ein KOMMA steht, außer nach dem letzten.
Alphabetische Sortierung aktivieren
Das geht an folgender Stelle: Code: this.olSortActivated = 1; Es ist so standardmäßig aktiviert. Möchtest du nicht, dass die User alphabetisch sortiert werden, dann ändere den Code in Folgenden um: Code: this.olSortActivated = 0;
Profillink vor oder nach dem Nicknamen anzeigen
Das geht an folgender Stelle: Code: this.pPosition = 0; Standardmäßig wird das P oder das Icon vor dem Nick angezeigt. Um das P oder das Icon nach dem Nicknamen anzuzeigen, ändere die Stelle wie folgt um: Code: this.pPosition = 1;
Minus (-) vor den Überschriften anzeigen
Das geht an folgender Stelle: Code: this.showMinus = 0; Hier wird eingestellt, ob ein Minus (-) vor den Überschriften der einzelnen Gruppen angezeigt werden soll. Dieses Minus soll noch einmal betonen, dass man die User in der Liste durch einen Klick auf die Überschrift verbergen kann. Standardmäßig wird kein Minus angezeigt. Wenn du ein Minus vor den Überschriften möchtest, ändere die Stelle wie folgt um: Code: this.showMinus = 1;
BeispieleIch hoffe, dass ich durch diese Beispiele die Konfiguration der Gruppen klarer machen kann. Beispiel 1:
Fangen wir mit etwas leichtem an, bei dem man nur auf eine Sache achten sollte: Die Reihenfolge ändern. Achten muss man hier nur auf diese kleinen, gerne zu übersehenen, oft auch unbeachteten Kommas! JavaScript verzeiht leider keine Kommafehler. Nun, wir haben unsere Standardliste: ["team", "Team", "", [], true], ["user", "User", "", [], true], ["guest", "Gäste", "", [], true], ["away", "Abwesend", "color: #FF0000;", [], true] Man sieht: Alle Gruppen haben ein Komma am Ende, außer die letze Gruppe (Abwesend). Jetzt wollen wir, dass die Abwesend-Liste über der Gäste-Liste steht. Kein Problem, verschieben wir halt Die Abwesend-Liste zwischen die Gäste-Liste und die User-Liste. ["team", "Team", "", [], true], ["user", "User", "", [], true], ["away", "Abwesend", "color: #FF0000;", [], true] ["guest", "Gäste", "", [], true], Wie, das funktioniert nicht? Ich habs auch schon rot angestrichen. Na klar! Die Kommasetzung ist vollkommen falsch und JavaScript verzeiht sowas nicht! Die Abwesend-Liste, also die vorletzte Gruppe, hat gar kein Komma und die Gäste-Liste, die letzte Gruppe, hat eins. Kein Wunder, dass das nicht klappt. ["team", "Team", "", [], true], ["user", "User", "", [], true], ["away", "Abwesend", "color: #FF0000;", [], true], ["guest", "Gäste", "", [], true] Siehe da, es funktioniert! 
Beispiel 2:
Wir wollen eine eigene Bots-Liste integrieren, in der alle Bots vom Chat erscheinen, wenn sie online sind. Jedoch soll die Gruppenüberschrift "Bots" auch vorhanden sein, wenn keine Bots eingeloggt sind. Deshalb müssen wir bei LISTE-AUSBLENDEN-WENN-LEER false angeben. Die Liste soll zwischen Team-Liste und der User-Liste erscheinen. Hier ist die Standardgruppenliste: ["team", "Team", "", [], true], ["user", "User", "", [], true], ["guest", "Gäste", "", [], true], ["away", "Abwesend", "color: #FF0000;", [], true] Nun fügen wir die Liste an und erfinden uns eine ID für die Bots-Liste: ["team", "Team", "", [], true], ["bötß", "Bots", "", ["wkQB", "wkBot", "wkMultiBot", "James"], false], ["user", "User", "", [], true], ["guest", "Gäste", "", [], true], ["away", "Abwesend", "color: #FF0000;", [], true] Die Bots sind auch schon in der Userliste der Bots-Liste-Gruppe. Aber es funktioniert nicht. Wo ist der Fehler? Schaut euch mal die ID an. Es gibt Umlaute. Diese dürfen aber auf keinen Fall in IDs verwendet werden. Genauso darf keine ID doppelt vorkommen, was hier aber auch nicht vorkommt. Nun, dann ändern wir die ID und es sollte funktionieren: ["team", "Team", "", [], true], ["bots", "Bots", "", ["wkQB", "wkBot", "wkMultiBot", "James"], false], ["user", "User", "", [], true], ["guest", "Gäste", "", [], true], ["away", "Abwesend", "color: #FF0000;", [], true] Siehe da, es funktioniert!  Jetzt wollen wir noch den Style der User in der Bots-Liste ändern. Die Bots sollen fettgedruckt, in der Farbe Blau (#0000FF) und in der Schriftart Times New Roman in der Liste erscheinen. Dann schauen wir mal nach den CSS-Befehlen auf http://www.html-seminar.de/css-definitionen-uebersicht.htm. Die Befehle lauten: font-weight: bold;color: #0000FF;font-family: Times New Roman;Weil die Schriftart Times New Roman Leerzeichen beinhaltet, müssen wir diese in Hochkommatas angeben, also: 'Times New Roman'Das setzen wir nun bei der Bots-Liste ein: ["team", "Team", "", [], true], ["bots", "Bots", "font-weight: bold; color: #0000FF; font-family: 'Times New Roman';", ["wkQB", "wkBot", "wkMultiBot"], false], ["user", "User", "", [], true], ["guest", "Gäste", "", [], true], ["away", "Abwesend", "color: #FF0000;", [], true] Und damit erscheinen die Bots in der Bots-Liste genau in den Angaben!
Beispiel 3:
Du möchtest nicht, dass Administratoren und Moderatoren zusammen in der Gruppe Team-Liste stehen, in denen sie automatisch durch das Script bei jedem Login eingetragen werden, sondern, dass Administratoren und Moderatoren jeweils eine eigene Gruppe bekommen. Uns steht die Standardkonfiguration zur Verfügung: ["team", "Team", "", [], true], ["user", "User", "", [], true], ["guest", "Gäste", "", [], true], ["away", "Abwesend", "color: #FF0000;", [], true] Zuerst einmal überlegen wir, wie wir das machen. Wir könnten zwei Gruppen erstellen ("Administratoren" und "Moderatoren") und in der einen Userliste die ganzen Administratoren und in der anderen die ganzen Moderatoren angeben. Das ist keine schlechte Idee, aber es geht einfacher! Da in der Team-Liste sowieso alle vom Team erscheinen, ohne dass man in der Userliste ganz am Schluss die Namen angeben müssen, brauchen wir nur eine neue Gruppe. Wir erstellen eine Gruppe namens "Administratoren" (oder "Moderatoren" - das führt zum gleichen Ziel) und benennen die Team-Liste in "Moderatoren" (oder halt "Administratoren") um. Die ID der Team-Liste, also team, darf aber auf keinen Fall geändert werden! Sonst funktioniert das Script nicht mehr, und das Chatteam wird nicht standardmäßig in die Gruppe getan. Als ID der neuen Gruppe "Administratoren" nehmen wir "admins". Gesagt getan: ["admins", "Administratoren", "", [], true], ["team", "Moderatoren", "", [], true], ["user", "User", "", [], true], ["guest", "Gäste", "", [], true], ["away", "Abwesend", "color: #FF0000;", [], true] ( Grün ist das, was hinzukam oder geändert wurde) Wenn ihr das jetzt so ausprobiert, kommt trotzdem das ganze Team (also auch Administratoren) in die "Moderatoren"-Gruppe. Warum? - Klar, weil wir bei den Administratoren keine User angegeben haben, die in diese Liste sollen! Also noch schnell die Administratoren in die Userliste der Gruppe "Administratoren" angeben: ["admins", "Administratoren", "", ["ADMIN1", "ADMIN2", "ADMIN3", "ADMIN4"], true], ["team", "Moderatoren", "", [], true], ["user", "User", "", [], true], ["guest", "Gäste", "", [], true], ["away", "Abwesend", "color: #FF0000;", [], true] ( Grün ist das, was neu hinzugekommen ist) Abspeichern, auf den eigenen Webspace hochladen und es sollte funktionieren!
Kompatibilität mit anderen ScriptsIch empfehle die Onlinelistenscripts, die nicht mehr benötigt werden, zu entfernen. Sonst kann es zu Fehlern kommen! In der Liste findest du alle Scripts, die entfernt werden sollten, falls sie nicht mehr funktionieren. Es sollten alle Onlinelistenscripts funktionieren, außer viele Scripts, die in der Scriptübersicht in der Abteilung Onlineliste unter dem Unterpunkt Nicknamen stehen.
- Das Nickmenü und Fakenick in die Onlineliste setzen (von 1. FC Keller) sollten funktionieren. - Die Scripts "Bei Away..." funktionieren nicht mehr, sind aber auch unnötig, da sie direkt in diesem Script in der Away-Liste eingestellt werden können - Gäste markieren (von DarkModi) wird in der Onlineliste auch nicht mehr benötigt, da es ja eine eigene Gästeliste gibt - Eigener Nick in der Onlineliste fettgedruckt (von 1. FC Keller) funktioniert auch nicht. Wenn gewünscht, einfach sagen  - Nicknamen sortieren (von 1. FC Keller) nach Alphabet ist im Script selber eingebaut, dieses von 1. FC Keller funktioniert aber nicht - Nicknamen sortieren (von 1. FC Keller) nach voreingestellten Usernamen funktioniert leider auch nicht. Das müsste ich noch bei meinem Script einbauen - User in Farbgruppen einteilen (von D4rkn3ss) funktioniert auch nicht mehr, ist aber auch in meinem Script eingebaut - "@" vor Administratoren und Moderatoren - bei Klick @USER in den Eingabeframe setzen (von 1. FC Keller) funktioniert leider auch nicht mehr, lässt sich aber auch ändern, falls gewünscht
Nickänderungsscript von DarkModi kompatibel machen
Um das Nickänderungsscript von DarkModi (für die Nickänderungen in der Onlineliste) kompatibel zu machen, ersetze bitte diesen Teil im Nickänderungsscript: Code: // Änderung des Nicks in der Online-Liste
function changeNickOl () { for (var nick in nickChangeList) { if (parent.rightFrame.document.getElementById(nick)) { var n = nickChangeList[nick]; if (!(n[2])) { nickChangeList[nick][2] = (typeof(n[0]) == "string") ? n[0] : n[0].join(""); } olc = parent.rightFrame.document.getElementById(nick).getElementsByTagName("span"); olc[olc.length-1].innerHTML = (olNickChange == 1) ? strip_tags(n[2]) + " " : n[2] + " "; } } } mit diesem Code: Code: // Änderung des Nicks in der Online-Liste
function changeNickOl () { for (var nick in nickChangeList) { if (parent.rightFrame.document.getElementById("new" + nick)) { var n = nickChangeList[nick]; if (!(n[2])) { nickChangeList[nick][2] = (typeof(n[0]) == "string") ? n[0] : n[0].join(""); } olc = parent.rightFrame.document.getElementById("new" + nick).getElementsByTagName("span"); olc[olc.length-1].innerHTML = (olNickChange == 1) ? strip_tags(n[2]) + " " : n[2] + " "; } } }
_________________ Viele Grüße, Maxs
Zuletzt geändert von Maxs am 28.04.2012, 22:05, insgesamt 7-mal geändert.
|
|