Unterteilbare Onlineliste - Eigene Listen in der Onlineliste

Fragen zu HTML, CSS, eigenen Erweiterungen etc.
Maxs
Moderator
Beiträge: 551
Registriert: 09.10.2008, 18:21
Kontaktdaten:

Unterteilbare Onlineliste - Eigene Listen in der Onlineliste

Ungelesener Beitrag von Maxs » 13.08.2011, 23:24

Hey liebe Webkicks-Community! :)


Da mir die Idee von Brause-Junior gut gefallen hat, habe ich mich hingesetzt und so ein Script geschrieben. Mit diesem Script ist es möglich die User in der Onlineliste in Gruppen zu verteilen. Dabei sind auch eigens von euch erstellte Gruppen möglich!
Es lässt sich genau festlegen, wie die User in den einzelnen Gruppen aussehen (Farben, Schriftart...), wer in welche Gruppe kommt, ob User eigene Bilder vor oder nach dem Nick bekommen und mehr!

Administratoren, Moderatoren (das Chatteam) und Gäste werden vom Script selbst erkannt und den richtigen Listen selbst zugeordnet. Das Chatteam muss also nicht selbst abgetippt werden, außer man möchte es natürlich. ;)

Hier ist das Script:
Script:Zeigen

Code: Alles auswählen

// Version 2.0.2

newOL = new (function () {


/* Konfiguration */


// Hier werden die einzelnen Gruppen für die Onlineliste angegeben
// Die Syntax ist:

// ["ID", "NAME", "CSS-STYLE", [USERLISTE], LISTE-AUSBLENDEN-WENN-LEER],
// ID = Hier musst du eine ID für die Gruppe angeben. Diese muss einzigartig sein und darf insgesamt nur einmal vorkommen!
// NAME = Hier kommt der Gruppenname hin, also die Überschrift der Gruppe. HTML darf benutzt werden!
// CSS-STYLE = Hier kannst du beliebig viele CSS-Befehle auflisten. Diese ändern den Style (z.B. Farbe) der User in dieser Gruppe. Übersicht der CSS-Befehle findest du z.B. hier: http://www.html-seminar.de/css-definitionen-uebersicht.htm
// [USERLISTE] = Hier werden die User aufgezählt, die auf jeden Fall in diese Gruppe müssen. Syntax: ["USER1", "USER2", "USER3", "USER4"]
// LISTE-AUSBLENDEN-WENN-LEER = Hier wird true (ohne Anführungszeichen ("") !) angegeben, wenn die Gruppe ausgeblendet werden darf, wenn sie leer ist. Sonst muss false (auch ohne Anführungszeichen ("") !) angegeben werden!

// Die Reihenfolge der Gruppen kann beliebig geändert werden. Sie erscheinen in der Onlineliste in genau der gleichen Reihenfolge wie hier angegeben,
// BEACHTE: Nach der letzten Gruppe darf KEIN Komma stehen, aber die vorherigen Gruppen benötigen unbedingt eins danach!

  this.olBlocks = [
  
    ["team", "Team", "", [], true], 
    ["user", "User", "", [], true], 
    ["guest", "Gäste", "", [], true], 
    ["away", "Abwesend", "color: #FF0000;", [], true]
    
  ];


// Hier können Bilder vor oder nach den Nicks angefügt werden
// this.olPicsBefore fügt Bilder VOR den Nicks ein und this.olPicsBefore NACH den Nicks
// Die Syntax ist:

// ["URL-ZUM-BILD", "USER1", "USER2", "USER3"],
// URL-ZUM-BILD = Hier muss die URL zum Bild angegeben werden
// USER = Hier können die User angegeben werden, die das Bild erhalten sollen. Es können beliebig viele User angegeben werden, diese müssen nur immer durch ein Komma abgetrennt werden und in Anführungszeichen gesetzt werden. Nach dem letzten User kommt kein Komma!

// Es können beliebig viele Gruppen (Bilder mit ihren Usern) angegeben werden.
// BEACHTE: Nach der letzten Gruppe darf wie immer KEIN Komma stehen, aber die vorherigen Gruppen benötigen unbedingt eins danach!

  this.olPicsBefore = [
    
  ];
  
  this.olPicsAfter = [
    
  ];


// Hier kann man Usern einen bestimmten CSS-Sytle einrichten, der den jeweiligen Gruppenstyle "überschreibt"
// Die Syntax ist:

// ["USER", "CSS-STYLE"],
// USER = Hier kommt der Username des Nicks hinein, der einen eigenen CSS-Style bekommen soll
// CSS-Style = Hier kannst du beliebig viele CSS-Befehle auflisten. Diese ändern den Style (z.B. Farbe) des Users. Übersicht der CSS-Befehle findest du z.B. hier: http://www.html-seminar.de/css-definitionen-uebersicht.htm

// Es können beliebig viele User einen eigenen CSS-Style bekommen
// BEACHTE: Nach der letzten Gruppe darf wie immer KEIN Komma stehen, aber die vorherigen Gruppen benötigen unbedingt eins danach!

  this.userStyle = [
    
  ];


// Hier wird eingestellt, ob die einzelnen User in den Gruppen alphabetisch sortiert werden sollen
// 1 = Aktiviert; 0 = Deaktiviert  

  this.olSortActivated = 1;


// Hier wird die Position des Profillinks eingestellt
// 1 = Nach dem Nicknamen; 0 = Vor dem Nicknamen

  this.pPosition = 1;


// Hier wird eingestellt, ob ein Minus (-) vor den Überschriften der Onlinelisten angezeigt werden soll
// Das Plus (+) wird trotzdem angezeigt, wenn eine Liste durch einen Klick auf die Überschrift ausgeblendet wird
// 1 = Minus wird angezeigt; 0 = Minus wird nicht angezeigt

  this.showMinus = 0;



/* Ende der Konfiguration */  
/* Ab hier bitte nichts mehr ändern! */



  var that = this;

// user - speichert in einem Array alle User im Chatraum
// Pro User ein Array mit 6 Strings
// 1. String: Name; 2. String: Profil; 3. String: Rang; 4. String: Away; 5. String: Raum; 6. String: Awaygrund

  this.user = [];

  
// createBlocks - erstellt die Gruppen in der OL und startet das Script

  this.createBlocks = function () {
    if (olIsLoad()) {
      var prFd = parent.rightFrame.document;
      var invOL = (!myBrowser.IE || navigator.userAgent.match(/MSIE ((\d\d)|9)\.\d+/)) ? ((prFd.getElementsByTagName("body")[0].childNodes[2].nodeName == "TABLE") ? true : false) : false;
      // Die 2. Überprüfung verhindert unsichtbare OL
      if (!prFd.getElementById("newOL") || invOL) {
        prFd.getElementById("bd:").style.display = "none";
        that.overwriteAdds();
        that.delNewOL();
        var newTD = document.createElement("td");
        newTD.id = "newOL";
        prFd.getElementsByTagName("tr")[0].appendChild(newTD);
        for (var i = 0; i < that.olBlocks.length; i++) {
          var olBid = that.olBlocks[i][0];
          var newOLBlock = document.createElement("div");
          var hl = that.olBlocks[i][1];
          with (newOLBlock) {
            id = olBid + "wrapper";
            style.display = (that.olBlocks[i][4] == false) ? "block" : "none";
            innerHTML = "<div id='" + olBid + "headline' style='margin-top:10px; margin-bottom:1px;'><span id='" + olBid + "link' title='Chatter in dieser Liste verbergen' onclick=\"parent.mainframe.newOL.switchStatus('" + olBid + "', '" + hl + "')\">" + ((that.showMinus) ? "- " : "" ) + hl + "</a></div>";
            innerHTML += "<ul id='" + olBid + "list' style='list-style-type:none; margin-top:5px; margin-bottom:1px;" + that.olBlocks[i][2] + "'></ul>";
          }
          prFd.getElementById("newOL").appendChild(newOLBlock);
        }
        getXML("GET", "/"+chatData[1]+"/api/get_onlinelist?" + new Date().getTime(), 0, that.getUser);
      }
    } else {
      window.setTimeout("parent.mainframe.newOL.createBlocks()", 50);
    }
  }
 
// delNewOl - löscht die neue Onlineliste
 
  this.delNewOL = function () {
    var delOL;
    if (delOL = parent.rightFrame.document.getElementById("newOL")) {
      delOL.parentNode.removeChild(delOL);
    }
  }

// switchStatus - blendet einen Block ein und aus
// id: ID des Blocks; hl: Blocküberschrift

  this.switchStatus = function (id, hl) {
    var prFd = parent.rightFrame.document;
    if (prFd.getElementById(id + "list").style.display != "none") {
      with (prFd.getElementById(id + "link")) {
        innerHTML = "+ " + hl;
        title = "Chatter in dieser Liste anzeigen";
      }
      prFd.getElementById(id + "list").style.display = "none";
    } else {
      with (prFd.getElementById(id + "link")) {
        innerHTML = ((that.showMinus) ? "- " : "") + hl;
        title = "Chatter in dieser Liste verbergen";
      }
      prFd.getElementById(id + "list").style.display = "block";
    }
  }
  
// hideBlock - versteckt einen Block, wenn er leer ist
// id: ID des Blocks

  this.hideBlock = function (id) {
    for (var i = 0; i < that.olBlocks.length; i++) {
      if (that.olBlocks[i][0] == id) {
        if (that.olBlocks[i][4] == false) {
          return;
        }
        break;
      }
    }
    var prFd = parent.rightFrame.document;
    if (typeof prFd.getElementById(id + "list").childNodes[0] == "undefined") {
      prFd.getElementById(id + "wrapper").style.display = "none";
    } else {
      prFd.getElementById(id + "wrapper").style.display = "block";
    }
  }

// getOnlineUser - füllt das Array user
// r: auszuwertendes Request

  this.getUser = function (r) {
    if (r.readyState == 4) {
      // Wenn Status 200 ist, ist alles korrekt gelaufen
      if (r.status != 200) {
        console.log(r); 
      } else {
        var c = r.responseXML.documentElement;
        that.user = [];
        for (var i = 0; i < c.getElementsByTagName("onlineuser").length; i++) {
          var u = c.getElementsByTagName("onlineuser")[i];
          that.user[i] = [];
          with (that.user[i]) {
            push(u.getElementsByTagName("name")[0].firstChild.data);
            push(u.getElementsByTagName("profil")[0].firstChild.data);
            push(u.getElementsByTagName("rang")[0].firstChild.data);
            push(u.getElementsByTagName("away")[0].firstChild.data);
            push(u.getElementsByTagName("channel")[0].firstChild.data);
          } 
          if (u.getElementsByTagName("awayreason")[0].firstChild) {
            that.user[i].push(u.getElementsByTagName("awayreason")[0].firstChild.data);
          } else { 
            that.user[i].push(""); 
          }
          if (u.getElementsByTagName("iconid")[0].firstChild) {
            that.user[i].push(u.getElementsByTagName("iconid")[0].firstChild.data);
          }
        }
        that.firstAdds();
      }
    }
  }

// firstAdds - schreibt die User in die Onlineliste, die schon online sind und per getUser geladen wurden  

  this.firstAdds = function () {
    for (var j = 0; j < that.user.length; j++) {
      if (that.user[j][0] == myNick) {
        break;
      }
    }
    for (var i = 0; i < that.user.length; i++) {
      if (that.user[j][4] == that.user[i][4]) {
        var away = (that.user[i][3] == "0") ? 0 : 1;
        var awayr = (that.user[i][5] == "") ? "" : that.user[i][5];
        var server = (that.user[i][1] == 1) ? "server" + chatData[0] : "";
        var chat = (that.user[i][1] == 1) ? chatData[1] : "";
        var icon = (typeof that.user[i][6] == "undefined") ? "" : that.user[i][6];
        var rank = that.getRankException(that.user[i][0]);
        rank = (rank == 0) ? that.user[i][2] : rank;
        if (rank.match(/list$/) == null) {
          switch (rank) {
            case "gast":
              rank = "guestlist";
              break;
            case "admin":
              rank = "teamlist";
              break;
            case "mod":
              rank = "teamlist";
              break;
            default:
              rank = "userlist";
              break;
          }
        }
        that.add(that.user[i][0], away, awayr, server, chat, icon, rank);
      }
    }
  }

// getRankException - durchsucht alle Elemente in olBlocks nach Usern und gibt den jeweiligen Blocknamen zurück
// chatter: User, nach dem gesucht werden soll

  this.getRankException = function (chatter) {
    for (var i = 0; i < that.olBlocks.length; i++) {
      var list = that.olBlocks[i][3];
      var t = typeof list;
      if (t != undefined && ((t == "object" && list.inArray(chatter)) || (t == "string" && list == chatter))) {
        return that.olBlocks[i][0] + "list";
      }
    }
    return 0;
  }

// getBlock - checkt die Loginnachricht findet heraus, in welchen Block der User muss
// user: User; profil: hat der User ein Profil (1 oder 0); icon: Icon-ID für Profilicon

  this.getBlock = function (user, profil, icon) {
    var tds = parent.mainframe.document.getElementsByTagName("td");
    var rank = that.getRankException(user);
    if (rank == 0) {
      var howlong = (tds.length > 5) ? 5 : tds.length;
      var clD;
      for (var i = 1; i <= howlong; i++) {
        clD = lineData(tds[tds.length - i]);
        if (clD != null && clD[2] == user && clD[4] == 0) {
          rank = "guestlist";
          break;
        }
      }
      if (rank == 0) {
        howlong = (chatTeam[0].length > chatTeam[1].length) ? chatTeam[0].length : chatTeam[1].length;
        howlong = (1 > howlong) ? 1 : howlong;
        for (var i = 0; i < howlong; i++) {
          if (chatTeam[0][i] == user || chatTeam[1][i] == user || chatTeam[2] == user) {
            rank = "teamlist";
            break;
          }
        }
      }
      if (rank == 0) {
        rank = "userlist";
      }
    }
    for (var i = 0; i < that.user.length; i++) {
      if (that.user[i][0] == user) {
        return rank;
      }
    } 
    var j = that.user.length; 
    that.user[j] = [];
    with (that.user[j]) {
      push(user);
      push(profil);
      push(rank);
      push("0");
      push(getRoom());
      push("");
      push(icon);
    }
    return rank;
  }

 // olSort - sortiert die einzelnen User alphabetisch
 // chatter: User, der in der Liste alphabetisch sortiert werden soll; block: Liste, in der sich der User befindet

  this.olSort = function (chatter, block) {
    var prFd = parent.rightFrame.document;
    var b = prFd.getElementById(block);
    var s = b.getElementsByTagName("span");
    if (s.length != 0) {
      for (var i = 0; i < s.length; i++) {
        var c = chatter.toLowerCase();
        var span = s[i].innerHTML.replace(/\s$/, "");
        var sortArray = [span.toLowerCase(), c].sort();
        if (sortArray[0] == c && sortArray[1] != c) {
          b.insertBefore(prFd.getElementById("new" + chatter), prFd.getElementById("new" + span));
          break;
        }
      }
    } else {
      return;
    }
  }

// addPics - fügt dem User ein Bild vor oder nach dem Nick ein Bild ein
// chatter: User, dem das Bild angehängt werden soll, loc: Ort (0 = vor dem Nick; 1 = nach dem Nick); profil: Besitzt der User ein Profil (0 oder 1)

  this.addPics = function (chatter, loc, profil) {
    picloc = (loc) ? that.olPicsAfter : that.olPicsBefore;
    for (var i = 0; i < picloc.length; i++) {
      for (var j = 1; j < picloc[i].length; j++) {
        if ((typeof picloc[i][j] == "string" && picloc[i][j] == chatter) || (typeof picloc[i][j] == "object" && picloc[i][j].inArray(chatter))) {
          return ((loc) ? " " : "") + "<img src='" + picloc[i][0] + "' />" + ((!loc) ? " " : "");
        }
      }
    } 
    return "";
  }

// addP - Fügt das Profilzeichen hinzu
// chatter: User; ownsprofil: Besitzt User Profil; icon: Beinhaltet das Icon oder P; server: Server + Nummer; chat: Chatname;
  
  this.addP = function (chatter, ownsprofil, icon, server, chat) {
    if (ownsprofil) {
      return "<a id='profil" + chatter + "' title='Profil von " + chatter + "' href=\"Javascript:wopen(\'" + parent.rightFrame.location.protocol + "//" + server + ".webkicks.de/" + chat + "/pv/" + chatter + "/open\',510,600)\;\">" + icon + "</a>";
    }
    return "";
  }

// getUserStyle - durchsucht userStyle und gibt bei Erfolg den Style des Users zurück
// chatter: User, dessen Style gesucht wird

  this.getUserStyle = function (chatter) {
    for (var i = 0; i < that.userStyle.length; i++) {
      var s = that.userStyle[i];
      if (s[0] == chatter) {
        return s[1];
      }
    }
    return "";
  }

// add - fügt den User in die Onlineliste ein
// chatter: User, der eingefügt werden soll; away: Abwesend (0 oder 1); reason: Abwesendheitsgrund; server: Falls Profil - "server" + Nummer; chat: Falls Profil - Chatname; icon: Icon-ID des Profilicons; rank: Falls angegeben - in welche Liste er kommt

  this.add = function (chatter, away, reason, server, chat, icon, rank) {
    var prFd = parent.rightFrame.document;
    that.del(chatter, 1);
    if (!prFd.getElementById("new" + chatter)) {
      var ownsprofil = (server && chat) ? 1 : 0;
      var pIcon = (icon) ? '<img src="' + parent.rightFrame.location.protocol + '//' + server + '.webkicks.de/' + chat + '/icons/bild' + icon + '.gif" />' : 'P';
      var block = (away) ? "awaylist" : ((rank) ? rank : that.getBlock(chatter, ownsprofil, icon));
      var newChatter = document.createElement("li");
      with (newChatter) {
        id = "new" + chatter;
        title = (away) ? chatter + " ist abwesend" + ((reason) ? ": " + reason : "") : chatter;
        innerHTML = that.addPics(chatter, 0) + ((!that.pPosition) ? that.addP(chatter, ownsprofil, pIcon, server, chat) + " " : "") + "<span style='" + that.getUserStyle(chatter) + "' onclick=\"fluester('" + chatter + "');\">" + chatter + "</span>";
        innerHTML += (that.pPosition) ? " " + that.addP(chatter, ownsprofil, pIcon, server, chat) : "";
        innerHTML += that.addPics(chatter, 1, ownsprofil);
      }
      prFd.getElementById(block).appendChild(newChatter);
      if (that.olSortActivated) {
        that.olSort(chatter, block);
      }
      that.hideBlock(block.replace(/list$/, ""));
    }
  }

// del - löscht einen User aus der Onlineliste und von this.user
// id: Nickname; fromadd: Kommt die Anfrage von add (0 oder 1)

  this.del = function (id, fromadd) {
    var prFd = parent.rightFrame.document;
    var delUser;
    if (delUser = prFd.getElementById("new" + id)) {
      var block = delUser.parentNode.id.replace(/list$/, "");
      delUser.parentNode.removeChild(delUser);
      that.hideBlock(block);
    }
    if (!fromadd) {
      for (var i = 0; i < that.user.length; i++) {
        if (that.user[i][0] == id) {
          that.user.splice(i, 1);
          break;
        }
      }
    }
  }

// overwriteAdds - überschreibt die add- und del-Funktionen der alten Onlineliste

  this.overwriteAdds = function () {
    var rf = parent.rightFrame;

    rf.add = function (chatter, away, reason) {
      rf.del(chatter);
      that.add(chatter, away, reason);
      if (rf.document.getElementById(chatter) == null) {
        var y3 = document.createElement("div");
        y3.id = chatter;
        y3.innerHTML += "<span" + ((away) ? " style=\"font-style: italic;\"" : "") + " title=" + ((away && reason) ? chatter + "ist abwesend: " + reason : chatter) + "><span onclick=\"fluester('" + chatter + "')\">" + chatter + " </span></span>";
        rf.document.getElementById("bd:").appendChild(y3);   
      } 
    }

    rf.addp = function (chatter, server, chat, away, reason, img) {
      rf.del(chatter);
      away = (away == "0") ? 0 : 1;
      that.add(chatter, away, reason, server, chat, img);
      if (rf.document.getElementById(chatter) == null) {
        var pIcon = (img) ? '<img src="' + parent.rightFrame.location.protocol + '//' + server + '.webkicks.de/' + chat + '/icons/bild' + img + '.gif" />' : 'P';
        var y3 = document.createElement("div");
        y3.id = chatter;
        y3.innerHTML = "<font title=\"Profil von " + chatter + "\"><a href=\"Javascript:wopen(\'" + parent.rightFrame.location.protocol + "//" + server + ".webkicks.de/" + chat + "/pv/" + chatter + "/open\',510,600)\;\">" + pIcon + " </a></font>";
        y3.innerHTML += "<span" + ((away) ? " style=\"font-style: italic;\"" : "") + " title=" + ((away && reason) ? chatter + "ist abwesend: " + reason : chatter) + "><span onclick=\"fluester('" + chatter + "')\">" + chatter + "</span></span>";
        rf.document.getElementById("bd:").appendChild(y3);
      }
    }

    rf.del = function (user) {
      that.del(user, 0);
      var xy = rf.document.getElementById(user);
      if(xy != null) {
        rf.document.getElementById("bd:").removeChild(xy); 
      }
    }
  }

});

newOLint = window.setInterval('newOL.createBlocks();', 1000);
Das Script kommt (wegen der Größe) in eine JavaScript-Datei (*.js-Datei) und wird anschließend auf den eigenen Webspace hochgeladen, um ihn dann später mit folgendem Code nach der Grundscriptsammlung (wird natürlich benötigt!) in die 1. und 3. Ankündigung einzufügen:

Code: Alles auswählen

<script type="text/javascript" src="URL-ZUR-JS-DATEI"></script>
URL-ZUR-JS-DATEI muss natürlich angepasst werden. Weitere Informationen zum Einfügen von Scripts erhälst du in der Scriptübersicht!


Da das Script doch etwas größer ist (und auch noch werden kann), erfolgt im nächsten Post eine ausführliche Anleitung zur Konfiguration des Scripts.

Versionsübersicht
Script:Zeigen
13.08.2011 - Release
12.12.2011 - V1.1
  1. * An das Update der GSS angepasst
08.02.2012 - V1.2
  1. * Gäste werden beim Raumwechsel nun in der richtigen Liste angezeigt
    * Die Onlineliste sollte nun nicht mehr ganz verschwinden können
08.02.2012 - V1.3
  1. * Die Probleme in den früheren IE-Versionen wurden behoben
13.04.2012 - V1.4
  1. + Das neue Profilsystem wurde in diesem Script übernommen
    * User mit Profil landen nun nicht mehr standardmäßig in der Awayliste und kommen dort nicht mehr heraus
14.04.2012 - V1.4.1
  1. * Vor Usern, die kein Profil besitzen, steht nun kein "undefined" mehr
26.04.2012 - V2.0
  1. + Die Möglichkeit, dass Listen ausgeblendet werden, wenn diese keine User beinhalten, wurde hinzugefügt. Sie werden automatisch sichtbar bzw. unsichtbar, wenn ein User in diese Liste kommt bzw. wenn kein User mehr in der Liste steht.
    + Es können bei den Bildern nun auch Arrays angegeben werden (z.B. chatTeam[1] für Admins)
    + Man kann nun optional einstellen, ob das Minus vor den Listenüberschriften steht. Die User in den Listen lassen sich jetzt auch durch einen Klick auf die Überschrift ausblenden. Das Plus erscheint aber trotzdem vor der Überschrift, wenn die User in dieser Liste ausgeblendet wurden
10.05.2012 - V2.0.1
  1. * Wenn Usern ohne Profil hinten ein Bild angehängt wird, dann ist von nun an ein Leerzeichen zwischen Bild und Namen
24.01.2014 - V2.0.2
  1. * Wenn der Chat per Https-Verbindung verschlüsselt ist, wird dieses Protokoll auch für die Profile und Profilicons richtig verwendet.
[/size]
Ich wünsche euch viel Spaß mit dem Script! :)
Zuletzt geändert von Maxs am 10.05.2012, 14:18, insgesamt 17-mal geändert.
Wäre es nicht adäquat, den Usus heterogener Termini zu minimieren?

Maxs
Moderator
Beiträge: 551
Registriert: 09.10.2008, 18:21
Kontaktdaten:

Konfiguration der unterteilbaren Onlineliste

Ungelesener Beitrag von Maxs » 13.08.2011, 23:28

Konfiguration



Das 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
Script:Zeigen
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:
["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-definiti ... rsicht.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:
["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! :mrgreen:
Falls es noch nicht so klar wurde, gibt's unter der Konfiguration noch Beispiele. :)

Bilder vor oder nach einem Nick in der Onlineliste
Script:Zeigen
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: Alles auswählen

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: Alles auswählen

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:
["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: Alles auswählen

  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, vertreten
chatTeam[0] = Hier sind alle Mods vertreten

Mit 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
Script:Zeigen
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: Alles auswählen

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: Alles auswählen

this.userStyle = [
];
Die Syntax ist bei diesem Code auch wieder ziemlich einfach:
["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-definiti ... rsicht.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
Script:Zeigen
Das geht an folgender Stelle:

Code: Alles auswählen

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: Alles auswählen

this.olSortActivated = 0;

Profillink vor oder nach dem Nicknamen anzeigen
Script:Zeigen
Das geht an folgender Stelle:

Code: Alles auswählen

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: Alles auswählen

this.pPosition = 1;

Minus (-) vor den Überschriften anzeigen
Script:Zeigen
Das geht an folgender Stelle:

Code: Alles auswählen

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: Alles auswählen

this.showMinus = 1;


Beispiele



Ich hoffe, dass ich durch diese Beispiele die Konfiguration der Gruppen klarer machen kann.


Beispiel 1:
Script:Zeigen
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:
Script:Zeigen
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-definiti ... rsicht.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:
Script:Zeigen
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 Scripts

Ich 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.
Script:Zeigen
- 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

Script:Zeigen
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: Alles auswählen

// Ä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]) + "&nbsp;" : n[2] + "&nbsp;"; 
  } 
 } 
} 
mit diesem Code:

Code: Alles auswählen

// Ä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]) + "&nbsp;" : n[2] + "&nbsp;"; 
  } 
 } 
}
Zuletzt geändert von Maxs am 28.04.2012, 22:05, insgesamt 7-mal geändert.
Wäre es nicht adäquat, den Usus heterogener Termini zu minimieren?

Benutzeravatar
Linus
Moderator
Beiträge: 1124
Registriert: 14.02.2005, 20:31
Wohnort: NRW
Kontaktdaten:

Re: Unterteilbare Onlineliste - Eigene Listen in der Onlinel

Ungelesener Beitrag von Linus » 14.08.2011, 00:12

Getestet hab ichs jetzt nicht, aber zunächst mal: Wow!

Ich finds sehr gut, dass du die Möglichkeit der Bilder und sogar Styles für bestimmte User eingebaut hast. Eine Frage zur Kompatibilität habe ich jedoch: Wenn man mit dem Nickänderer den Onlinelisten-Nick eines Users ändert, geschieht dies auch in der "neuen" Onlineliste?
Kein Support per PN!

Maxs
Moderator
Beiträge: 551
Registriert: 09.10.2008, 18:21
Kontaktdaten:

Re: Unterteilbare Onlineliste - Eigene Listen in der Onlinel

Ungelesener Beitrag von Maxs » 14.08.2011, 00:32

Das Script habe ich ja total vergessen. :lol:
Es wird kompatibel sein, wie eigentlich alle Scripts, aber es wird den veränderten Nick nicht in der neuen OL anzeigen. Lässt sich aber leicht fixen. Ich werde morgen einen Fix für das Nickänderungsscript schreiben. Sind nur ein paar Zeichen die hinzugefügt werden müssen. ;)
Wäre es nicht adäquat, den Usus heterogener Termini zu minimieren?

Benutzeravatar
Mogli
Beiträge: 485
Registriert: 18.10.2010, 23:42
Wohnort: Bayern
Kontaktdaten:

Re: Unterteilbare Onlineliste - Eigene Listen in der Onlinel

Ungelesener Beitrag von Mogli » 14.08.2011, 00:55

Erstmal vielen Dank für deine tolle Arbeit!

Ein "Fehler" ist mir augefallen:

Wenn sich der Hauptadmin oder ein Admin abmeldet, dann werden Nicks in andere Gruppen verschoben. Es werden z.B. Gäste in die Userliste verschoben oder auch in die Away-Gruppe. Wenn man die Onlineliste wieder neu lädt, dann wird es wieder korrekt angezeigt. Das tritt aber nur bei Hauptadmin und Admins auf, bei einem User konnte ich das nicht feststellen!
Getestet habe ich das erstmal unter FF 5.

Maxs
Moderator
Beiträge: 551
Registriert: 09.10.2008, 18:21
Kontaktdaten:

Re: Unterteilbare Onlineliste - Eigene Listen in der Onlinel

Ungelesener Beitrag von Maxs » 14.08.2011, 01:12

Vielen Dank schon einmal fürs Testen!

Hab das jetzt mal auf die schnelle auf meinem iPod getestet. Kann das irgendwie leider nicht reproduzieren. Tritt das nur bei den Admins auf, die den Chat verlassen? Oder tritt das bei denen auf, die dann noch im Chat online sind? Tritt das dann bei allen auf? Sind es bei denen, bei denen es auftritt, auch die gleichen Nicks, oder ist das Zufall?
Da ich jetzt nicht mehr an den PC gehe, werde ich es mir morgen nochmal anschauen und versuchen, das Problem zu reproduzieren. Kannst du mir vielleicht noch per PN deine Chatadresse senden, wenn du das Script noch eingebunden hast?
Wäre es nicht adäquat, den Usus heterogener Termini zu minimieren?

Brause-Junior

Re: Unterteilbare Onlineliste - Eigene Listen in der Onlinel

Ungelesener Beitrag von Brause-Junior » 14.08.2011, 03:03

Wie kann man anstatt ein Gruppennamen ein Bild anzeigen lassen? Du hast es nicht erklärt und ich bekomme es irgendwie nicht hin.

Wie lasse ich den Fakenick erscheinen?

Maxs
Moderator
Beiträge: 551
Registriert: 09.10.2008, 18:21
Kontaktdaten:

Re: Unterteilbare Onlineliste - Eigene Listen in der Onlinel

Ungelesener Beitrag von Maxs » 14.08.2011, 09:28

Ich habe aber geschrieben, dass du HTML benutzen kannst.

Code: Alles auswählen

<img src="URL-ZUM-BILD" />
Und zum Fakenick setzen gibt es ein Script in der Scriptübersicht.
Wäre es nicht adäquat, den Usus heterogener Termini zu minimieren?

Brause-Junior

Re: Unterteilbare Onlineliste - Eigene Listen in der Onlinel

Ungelesener Beitrag von Brause-Junior » 14.08.2011, 11:18

Das klappt bei mir nicht.
Ich habe mal versucht "Team-List" damit zu ersetzen und es tut sich nichts.

Benutzeravatar
Linus
Moderator
Beiträge: 1124
Registriert: 14.02.2005, 20:31
Wohnort: NRW
Kontaktdaten:

Re: Unterteilbare Onlineliste - Eigene Listen in der Onlinel

Ungelesener Beitrag von Linus » 14.08.2011, 11:33

Dann zeig doch mal die Codezeile her, die du geändert hast ;)
Kein Support per PN!

Maxs
Moderator
Beiträge: 551
Registriert: 09.10.2008, 18:21
Kontaktdaten:

Re: Unterteilbare Onlineliste - Eigene Listen in der Onlinel

Ungelesener Beitrag von Maxs » 14.08.2011, 11:54

Wahrscheinlich liegt es an falschen Anführungszeichen. Nehm mal das:

Code: Alles auswählen

<img src='URL-ZUM-BILD' />
Wäre es nicht adäquat, den Usus heterogener Termini zu minimieren?

Brause-Junior

Re: Unterteilbare Onlineliste - Eigene Listen in der Onlinel

Ungelesener Beitrag von Brause-Junior » 14.08.2011, 12:11

Klappt super. Danke!

Maxs
Moderator
Beiträge: 551
Registriert: 09.10.2008, 18:21
Kontaktdaten:

Re: Unterteilbare Onlineliste - Eigene Listen in der Onlinel

Ungelesener Beitrag von Maxs » 14.08.2011, 13:46

Das Nickänderungsscript kann nun angepasst werden und wird somit kompatibel zu diesem Script.

(siehe: http://www.webkicks.de/forum/individuel ... ml#p140577 ganz unten ;))
Wäre es nicht adäquat, den Usus heterogener Termini zu minimieren?

Brause-Junior

Re: Unterteilbare Onlineliste - Eigene Listen in der Onlinel

Ungelesener Beitrag von Brause-Junior » 16.08.2011, 00:11

Hallo habe noch eine Frage zur Onlineliste.

Ich kann ja einen Style für meinen Nick einfügen, dass er z.b. Blau ist, was wenn ich einen Farbverlauf möchte?
Stelle mir das so vor:

Ich habe im Chat meinen Nick geändert, von Blau bis Rot. Das soll nun auch in der Onlineliste so auftauchen, nicht nur im Chatstream...

Gibt es ein befehl(color...) dafür oder kann man es in das Script noch miteinbauen?

Curuba
Beiträge: 48
Registriert: 13.03.2010, 13:20

Re: Unterteilbare Onlineliste - Eigene Listen in der Onlinel

Ungelesener Beitrag von Curuba » 18.08.2011, 19:20

Kann mal jemand ein Bild machen wie das denn ungefäht aussieht?

Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 39 Gäste