Willkommen in der SCUMMUNITY!!

Übersicht Chat Skins erstellen
» Die Community
 · Chatlogin
 · Diskussionsforum
 · Chatnick registrieren
 · Chatprofil ändern
 · Chatnick löschen

» Info
 · News
 · Die Community
 · Chat Skins
 · Das Forum
 · Für deine Homepage

» Sonstiges
 · Links
 · Credits

Jeder, der Lust hat, kann selbst einen Skin entwerfen und ihn mir schicken - ich verlange auch nicht viel, wenn auch ein Minimum von Qualität vorhanden sein muss, und werde ihn dann schnellstmöglich uppen, und euch ausserdem in der Liste der bisher existierenden Skins aufführen!

Falls ihr selbst Lust habt, ein Skin zu entwerfen, folgt hier ein kleines Tutorial. Keine Angst, es ist geradezu trivial, selbst mit einem WYSIWYG Editor ist es möglich... (ein WYSIWYG Editor ist ein Editor, der es ermöglicht, ohne HTML Kenntnisse Internetseiten zu erstellen, beispielsweise der Macromedia Dreamweaver). Natürlich sind HTML Kenntnisse aber trotzdem von Vorteil!

Es ist wohl am einfachsten, ein existierendes Skin zu modifizieren, anstatt sich alles selbst zusammenzubröseln, da das "technische" eigentlich sowieso immer das gleiche ist. Deshalb könnt ihr euch hier einen der Skins herunterladen. Am besten, ihr wählt euch eins, das dem Skin, das ihr erstellen wollt, möglichst ähnlich ist.

Zunächst einmal solltet ihr euch einen Namen für euer Skin ausdenken und ein Verzeichnis erstellen, das genauso heißt wie euer Skin. Sonderzeichen sollten zwar kein großes Problem darstellen, sind aber manchmal doch etwas kritisch. Insbesondere ist das Sonderzeichen / nicht erlaubt und es darf auch kein Name mit dem Sonderzeichen - beginnen. Leerzeichen sind allerdings kein Problem.

Folgende Dateien müssen in dem Verzeichnis existieren:

  • chat.cht - der Anfang der Chatframe an sich; hier drin kann man das Aussehen von Links festlegen, die Schriftart, die Größe eines Popups beim tippen des Befehls /wp, und vieles mehr. Alles, was im Chat gesagt wird oder was der Chat sonst an einen sendet, wird später ans Ende dieser Datei geschrieben, was der Browser auch interaktiv anzeigt. Ihr solltet hier nur etwas verändern, wenn ihr wisst, was ihr tut ; )
  • chatindex.cht - die "Indexseite" des Chats, die aufgerufen wird, wenn man sich einloggt; hier könntet ihr einen Frameset definieren...
  • chatmessage.cht - nach dieser Datei werden Nachrichten erstellt, die in der ganzen Chatframe erscheinen, falls beim einloggen Fehler passieren, oder nachdem ihr den Chat verlassen habt

Weiterhin empfehle ich:

  • Eine Postframe - die Frame, in die das Eingabefeld für den Text kommt, den man im Chat posten will; so eine Datei könnte sich in diesem Sinne als recht nützlich erweisen! Ganz wichtig ist weiterhin, dass ihr dieser Frame in der chatindex.cht den Namen postframe gebt (also name="postframe" im <frame src="..."> Tag des Framesets). Der Name der Datei ist also egal, der der Frame aber nicht; benennt ihr die Frame nicht oder nennt ihr sie anders, würde sich jedesmal, wenn man nach /w auf einen Nick oder nach /wc auf einen Raumnamen klickt, um sich ein bestimmtes Profil anzuschauen bzw. in einen bestimmten Raum zu wechseln, ein neues Fenster öffnen...
  • Eine Inhaltsframe - die ist schon sehr viel weniger nötig, es ist aber doch schön, beim chatten ein paar nützliche Links zu haben

Diese Dateien sollten ganz normales HTML enthalten. Jetzt müsst ihr die natürlich noch irgendwie zusammenpappen, wenn ihr jedenfalls ein Skin mit Frames macht (das Frameset ist dann ja die chatindex.cht); die URLs der cht Dateien werden folgendermaßen zusammengestellt: wenn ihr z.B. eine Datei helloworld.cht gemacht habt, wäre die URL:
http://chat.scummunity.de/OUT?service=printskinfile&src=helloworld&end
(also die .cht Dateiendung weglassen). Die URL der Chatframe an sich ist die einzige Ausnahme, denn die URL ist immer http://chat.scummunity.de/CGI?service=doactuallogin&connectionID=$connectionID&name=$name&passwd=$passwd&room=$room&end
(bitte nicht verändern!)

Wie ihr in der obigen URL seht, tauchen dort "Wörter" wie $connectionID, $name, $passwd, und $room auf. Bevor der Chatserver eine cht Datei erstellt, ersetzt er dort solche Wörter durch die in jedem spezifischen Fall richtigen Werte (also z.B. $name durch den Nick, der sich gerade einloggt). Das geht natürlich nicht automatisch, sondern ihr müsst dem Chatserver den jeweiligen Wert in der URL mitteilen. Um auf die Datei helloworld.cht zurükzukommen: wollt ihr dort einen Chatter mit seinem Nick begrüßen, könntet ihr da etwas reinschreiben wie "Hallo $name!". Dafür müsste der Chatserver aber wissen, wodurch er $name zu ersetzen hat. Nehmen wir an, der Chatter heißt Guybrush. Hierzu müsst ihr einfach die helloworld.cht über die folgender URL abrufen:
http://chat.scummunity.de/OUT?service=printskinfile&src=helloworld&name=Guybrush&end
Nun natürlich die berechtigte Frage: wie soll ich denn wissen, wie der Chatter heißt? Ich entwerfe das Skin doch für alle, die es benutzen wollen! Ich erinnere daran, dass ihr die helloworld.cht wahrscheinlich im Frameset in der chatindex.cht erwähnen werdet; dort könnt ihr also wiederrum die Variable benutzen und einfach die URL
http://chat.scummunity.de/OUT?service=printskinfile&src=helloworld&name=$name&end
benutzen! In der Tat braucht ihr euch nicht darum zu kümmern, dass der Chatserver in der Datei chatindex.cht genau folgende Variablen kennt:

  • $name - der Nick des Chatters, der sich einloggt
  • $passwd - sein Passwort
  • $connectionID - seine connection ID
  • $room - der Raum, in den er sich einloggt

Deshalb könnt ihr in der chatindex.cht auch getrost die Chatframe mit der URL
http://chat.scummunity.de/CGI?service=printuserframe&connectionID=$connectionID&name=$name&passwd=$passwd&room=$room&end
aufrufen. Folgende Variablen sind in allen cht Dateien möglich:

  • $name - insofern ihr in der URL &name=$name& einbindet; dies solltet ihr immer tun, damit der Chatserver weiß, welchen Skin er benutzen soll, da er immer den Skin von $name anzeigt (fehlt dies, wird das Standard Skin benutzt)!!
  • $connectionID - insofern ihr in der URL &connectionID=$connectionID& einbindet
  • $room - insofern ihr in der URL &room=$room& einbindet
  • $passwd - insofern ihr in der URL &passwd=$passwd& einbindet
  • $message - insofern ihr in der URL &message=chatmessagebadformat& oder &message=chatmessagemustberegistered& oder &message=chatmessagebadpassword& oder &message=chatmessagealreadyloggedin& oder &message=chatmessageinvalidlogin& oder &message=chatmessagegoodbye& einbindet - dann wird das Wort $message durch die jeweilige Meldung ersetzt, die dem Wert dieser Variable entspricht - das sind alles die Fehlermeldungen, die in der Chatframe beim einloggen erscheinen können (bzw. letzteres das Tschüß vom verlassen des Chats); diese Werte sind intern definiert und ihr braucht euch hierdrum eigentlich nicht zu kümmern, ich erwähne es nur der Vollständigkeit halber : )

Weiterhin könnt ihr in jeder Datei, ohne zusätzliche Infos in der URL, folgende Varablen benutzen:

  • $host - die IP des Servers, auf dem der Chat läuft
  • $oport - der Output Port des Chatservers
  • $iport - der Input Port des Chatservers
  • $chatter - eine Tabelle mit allen gerade chattenden Chattern, wie sie auf der Loginseite zu sehen ist
  • $usercount - die Anzahl der gerade chattenden Chattern
  • $regcount - die Anzahl aller registrierten Chatter

Ihr könnt auch noch Links machen, die direkt bestimmte Sätze an den Chat senden. Wenn ihr z.B. einen Link machen wollt, um "Huhu" zu senden, benutzt folgende URL:
http://$host:$iport/?connectionID=$connectionID&input=Huhu&name=$name&end
Wenn ihr einen Link machen wollt, um "/w" zu senden (also um in der Chatframe die Chatter in dem Raum des aufrufenden Chatters anzuzeigen), benutzt analog die URL:
http://$host:$iport/?connectionID=$connectionID&input=%2Fw&name=$name&end

Natürlich werdet ihr auch Bilder, Hintergründe, vielleicht CSS oder Javascript Dateien, oder ähnliches, in eure Seiten einbinden wollen. Das ist auch gar kein Problem: packt einfach alles mit in das Verzeichnis, und bindet sie relativ bezogen auf das gleiche Verzeichnis ein. Wollt ihr also ein Bild bild.jpg einbinden, packt das Bild einfach in das Verzeichnis und benutzt im HTML Code <img src="bild.jpg"> - einfacher geht es wirklich nicht, oder ? ; )

Wenn ihr fertig seid, zippt einfach das ganze Verzeichnis und schickt es mir - ich werde es dann schnellstmöglich uppen (außer, wenn es wirklich allzu schlecht ist, aber wann passiert das schon?). Aufgepasst, ihr solltet das gesamte Verzeichnis zippen, und nicht nur die Dateien dadrin. Da der Verzeichnisname gleichzeitig der Name des Skins ist, kann ich sonst nicht wissen, wie ihr euer Skin nennen wolltet. Dann denke ich mir entweder etwas aus oder frage nochmal nach, also bedeutet das nur unnötigen Aufwand...

So, ich denke, ich habe alles wissenswerte erwähnt. Das klingt jetzt alles vielleicht ein bißchen kompliziert, aber ihr werdet sehen, wenn ihr euch dransetzt, geht das alles ganz von alleine : ) Wenn ihr noch Fragen habt, mailt mir einfach!
Probiert es aus, ich freue mich auf eure Skins ; )