Neue Grundscriptsammlung (Test)

Fragen zu HTML, CSS, eigenen Erweiterungen etc.
1. FC Keller
Moderator
Beiträge: 866
Registriert: 04.07.2004, 17:10
Wohnort: heimat:// Thüringen.Deutschland.eu/ Zeulenroda
Kontaktdaten:

Re: Neue Grundscriptsammlung (Test)

Ungelesener Beitrag von 1. FC Keller » 02.03.2011, 11:07

Was mir gerade noch einfällt:
evtl. wäre es noch sinnvoll, Sachen wie die Teamliste (keine Ahnung ob noch mehr http-requests folgen) erst dann abzufragen, wenn sie gebraucht werden... um Traffic und Last zu sparen.

Dazu könnte man ja, ähnlich wie bei der inoffiziellen PHP-API eine Funktion/Methode anlegen, die das bei bedarf ausführt und dann in Variablen zwischenspeichert damit die Teamliste nur einmal abgerufen werden muss... oder noch mit einem optionalen parameter, der dann ein neuladen erzwingt (z.B. nach einem makemod, modkick, makeadmin, adminkick)

Edit: Die Methode gibt es ja schon.. sorry ^^ Allerdings wäre ja evtl. statt des Objekts GSS.chat.team ein generelles abfragen von GSS.getTeamData() (welche dann das Object zurück gibt) mit dem optionalen reload-parameter sinnvoll um eben das erstmalige aufrufen gleich beim Laden der GSS einzusparen und die Daten wirklich nur abzurufen wenn sie benötigt werden.

DarkModi
Beiträge: 45
Registriert: 08.05.2005, 18:44

Re: Neue Grundscriptsammlung (Test)

Ungelesener Beitrag von DarkModi » 02.03.2011, 15:49

Dadurch, dass ein Script die Teamliste aber erst abfragen muss, müsste ja jedes Script entweder nochmal einzeln die Teamliste abfragen oder eine Abfrage haben, die prüft, ob die Teamliste geladen wurde. Dann bräuchte ich noch mehr Variablen die speichern, ob genau das bereits geschehen ist. :wink: Ich kann aber deine Argumentation nachvollziehen und werde es auf jeden Fall mal überdenken.
...

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

Re: Neue Grundscriptsammlung (Test)

Ungelesener Beitrag von Maxs » 04.03.2011, 13:43

Mir würde spontan nur Variablen einfallen, die auf den Eingabeframe und auf die Onlineliste verweisen. (Falls du das nicht schon irgendwo drinnen hast ;))
Und vielleicht eine Funktion, die ich öfters benutze:

Code: Alles auswählen

function writeDiv(text){ 
   cont = document.createElement("div"); 
   cont.innerHTML = text; 
   document.body.appendChild(cont); 
} 
Einfach um ein DIV-Element im Chat zu erstellen, da manche Browser bei document.write den Stream "kaputt" machen.
Sonst hast du schon so ziemlich alles, was das Scripterherz begehrt, wenn mir mehr einfällt melde ich mich. :D
Wäre es nicht adäquat, den Usus heterogener Termini zu minimieren?

DarkModi
Beiträge: 45
Registriert: 08.05.2005, 18:44

Re: Neue Grundscriptsammlung (Test)

Ungelesener Beitrag von DarkModi » 04.03.2011, 15:49

Die Idee einer Funktion zum Erstellen "künstlicher" Zeilen hatte ich auch schon. Wollte es allerdings über tables realisieren (Einheitlichkeit mit WKs (grauenhaften) HTML-Layout), was jetzt besser ist muss ich mir noch überlegen.

Variablen, die auf das Eingabeframe und die Onlineliste verweisen? parent.info und parent.rightFrame sind doch an sich kurz genug, oder was meinst du?
...

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

Re: Neue Grundscriptsammlung (Test)

Ungelesener Beitrag von Maxs » 04.03.2011, 16:22

Ja stimmt... Da habe ich vorhin nicht wirklich nachgedacht. (Bin nur so verwöhnt von deinem $ol und so in deinen Scripts :P)
Höchstens, um auf verschiedene Dinge zuzugreifen, Eingabefeld, "Chat"-Button, Links, "Verlassen"-Button, Autoscroll-Kästchen... Naja ist eigentlich ziemlich unnötig. Aber sonst wüsste ich echt nichts, was in die Grundscriptsammlung noch rein kann.
Wäre es nicht adäquat, den Usus heterogener Termini zu minimieren?

DarkModi
Beiträge: 45
Registriert: 08.05.2005, 18:44

Re: Neue Grundscriptsammlung (Test)

Ungelesener Beitrag von DarkModi » 06.03.2011, 02:50

Sitz grad an der Line-Klasse (hab mich doch entschieden, die "volle" Version einzubauen, die ich momentan intern verwende). Das sind derzeit alle unterschiedenen Zeilentypen samt gespeicherter Daten, viel Spaß beim Bedenken der Möglichkeiten und Sabbern:
Script:Zeigen
Typ 0 - Standard-Text
time: Timestamp
user[0]: Verfasser
text: Rohtext
#Typ 1 - /me und Scripting-Engine
time: Timestamp
user[0]: Verfasser
user[1]: eingebundener User (falls vorhanden)
text: Rohtext
Typ 2 - /link
time: Timestamp
user[0]: Verfasser
text: Rohtext des Links ODER verlinkte URL
vars[0]: verlinkte URL
Typ 3 - /hp
time: Timestamp
user[0]: Verfasser
vars[0]: verlinkte URL
Typ 4 - /uin
time: Timestamp
user[0]: Verfasser
vars[0]: ICQ-Nummer
Typ 5 - /mail
time: Timestamp
user[0]: Verfasser
vars[0]: verlinkte Email-Adresse
Typ 6 - /chats
time: Timestamp
user[0]: Verfasser
vars[0]: Anzahl der Logins
Typ 7 - /wuerfel mit einem Würfel
time: Timestamp
user[0]: Verfasser
vars[0]: gewürfelte Zahl
Typ 8 - /wuerfel mit zwei Würfeln
time: Timestamp
user[0]: Verfasser
vars[0]: erste gewürfelte Zahl
vars[1]: zweite gewürfelte Zahl
Typ 9 - Login
time: Timestamp
user[0]: eingeloggter User
text: Loginnachricht
Typ 10 - Login (Raumwechsel)
time: Timestamp
user[0]: eingeloggter User
text: Loginnachricht
vars[0]: alter Raumname/alte Raum-ID
Typ 11 - Logout
time: Timestamp
user[0]: ausgeloggter User
text: Logoutnachricht
Typ 12 - Logout (Browser geschlossen)
time: Timestamp
user[0]: ausgeloggter User
text: Logoutnachricht
Typ 13 - Logout (Timeout)
time: Timestamp
user[0]: ausgeloggter User
text: Logoutnachricht
Typ 14 - Logout (Passwortänderung)
time: Timestamp
user[0]: ausgeloggter User
text: Logoutnachricht
Typ 15 - Logout (Emailänderung)
time: Timestamp
user[0]: ausgeloggter User
text: Logoutnachricht
Typ 16 - Logout (Accountlöschung)
time: Timestamp
user[0]: ausgeloggter User
text: Logoutnachricht
Typ 17 - Logout (Raumwechsel)
time: Timestamp
user[0]: ausgeloggter User
text: Logoutnachricht
vars[0]: Raumname
Typ 18 - Logout (/drop)
time: Timestamp
user[0]: ausgeloggter User
user[1]: Sep-Besitzer
text: Logoutnachricht
vars[0]: Raumname
Typ 19 - Logout (/move)
time: Timestamp
user[0]: ausgeloggter User
user[1]: handelndes Teammitglied
text: Logoutnachricht
vars[0]: Raumname
#Typ 20 - /away
time: Timestamp
user[0]: Verfasser
text: nichts ODER Away-Grund
Typ 21 - /away-Rückmeldung
time: Timestamp
user[0]: zurückkehrender User
Typ 22 - /mecol
time: Timestamp
user[0]: Farbe wechselnder User
Typ 23 - /col
time: Timestamp
user[0]: Farbe wechselnder User
Typ 24 - Flüstern (von jmd.)
time: Timestamp
user[0]: Verfasser
user[1]: Empfänger
text: Rohtext
Typ 25 - Flüstern (an jmd.)
time: Timestamp
user[0]: Verfasser
user[1]: Empfänger
text: Rohtext
Typ 26 - /team
time: Timestamp
user[0]: Verfasser
Typ 27 - /comment und /commentall
time: Timestamp
user[0]: Verfasser
text: Rohtext
Typ 28 - Erste Flooding-Verwarnung (öffentlich)
time: Timestamp
user[0]: verwarnter User
Typ 29 - Zweite Flooding-Verwarnung (öffentlich)
time: Timestamp
user[0]: verwarnter User
Typ 30 - Erste Flooding-Verwarnung (privat)
time: Timestamp
user[0]: verwarnter User
Typ 31 - Zweite Flooding-Verwarnung (privat)
time: Timestamp
user[0]: verwarnter User
Typ 32 - Flooding-Kick
time: Timestamp
user[0]: gekickter User
#Typ 33 - /knebel
time: Timestamp
user[0]: ausführendes Teammitglied
user[1]: geknebelter User
text: Knebeltext
vars[0]: Knebelzeit in Minuten
Typ 34 - /kick
time: Timestamp
user[0]: ausführendes Teammitglied
user[1]: gekickter User
text: Grund
Typ 35 - /bann (User)
time: Timestamp
user[0]: ausführendes Teammitglied
user[1]: gebannter User
text: Grund
Typ 36 - /bann (IP)
time: Timestamp
text: Grund
vars[0]: gebannte IP
Typ 37 - /restore
time: Timestamp
user[0]: ausführendes Teammitglied
user[1]: zurückgesetzter User
Typ 38 - /delete
time: Timestamp
user[0]: ausführendes Teammitglied
user[1]: gelöschter User
Typ 39 - /makemod
time: Timestamp
user[0]: ausführendes Teammitglied
user[1]: ernannter User
Typ 40 - /makeadmin
time: Timestamp
user[0]: ausführendes Teammitglied
user[1]: ernannter User
Typ 41 - /modkick
time: Timestamp
user[0]: ausführendes Teammitglied
user[1]: entmachteter User
Typ 42 - /adminkick
time: Timestamp
user[0]: ausführendes Teammitglied
user[1]: entmachteter User
Typ 43 - /alarm (User; abgesendet)
time: Timestamp
Typ 44 - /alarm (User; beantwortet)
time: Timestamp
user[0]: handelndes Teammitglied
Typ 45 - /alarm (Team; ausgelöst)
time: Timestamp
user[0]: auslösender User
#Typ 46 - /alarm (Team, beantwortet)
time: Timestamp
user[0]: User, dessen Alarm beantwortet wurde
user[1]: handelndes Teammitglied
Typ 47 - /alarm (Team; selbst beantwortet)
time: Timestamp
user[0]: User, dessen Alarm beantwortet wurde
Typ 48 - /ruhe (aktiviert)
time: Timestamp
Typ 49 - /ruhe (deaktiviert)
time: Timestamp
Typ 50 - /rmip
time: Timestamp
user[0]: geprüfter User
vars[0]: IP des Users
Typ 51 - /profil
time: Timestamp
user[0]: User, dessen Profil verlinkt wurde
#Typ 52 - /f wenn User offline
time: Timestamp
user[0]: angeflüsterter User
text: Rohtext
Typ 53 - Schreibversuch während geknebelt
time: Timestamp
vars[0]: restliche Zeit in Sekunden
Typ 54 - /sep (keine Einladung)
time: Timestamp
#Typ 55 - sonstige Chat-Bot-PMs
time: Timestamp
text: Rohtext
#Typ 56 - /w
vars: Objekt mit allen Daten aus der /w-Ausgabe
#Typ 57 - /iplist
vars: Objekt mit allen eingelesenen Usern samt IPs
Typ 58 - Punktesystem-Informationen
vars[0]: Anzahl verfügbarer Punkte
vars[1]: Punktetyp
Typ 59 - Timeout-Warnung
Typ 60 - Raumwechsel und Raumthema
vars[0]: Raumname
text: Raumthema, falls vorhanden
Typ 61 - Raumwechsel (/move)
vars[0]: Raumname
#Typ 62 - Raumthema (/move)
text: Rohtext
Typ 63 - Raumwechsel (/drop)
Typ 64 - Sep betreten (eigener)
Typ 65 - Sep betreten (fremder)
Typ 66 - Sep-Einladung
user[0]: User, der eingeladen hat
Typ 67 - /cls
Typ 68 - Stream-Meldung nach Logout
Typ 69 - Nicht definierte Zeile
Bevor jemand fragt: ja, es gibt eine Flooding-Verwarnung-PM-Version. Sie wird nur in einem einzigen Flooding-Fall benutzt (der mir grad entfallen ist und so gut wie nie im realen Chatverlauf vorkommen sollte), resultiert in einem öffentlichen Flooding-Kick und hat ein absolut einzigartiges und bizarres Syntax mit einem "PM" in Klammern mit SMALL-Tags direkt nach dem Timestamp. WTF Webkicks?

Die Rauten bitte nicht beachten, die sind nur für interne Zwecke. :p Typ 67 und 68 sind nur für die AJAX-Schnittstelle relevant ("cls" und "stop").

Die (gigantische) Funktion dazu existiert auch schon was länger, wird aber grad überarbeitet. Vielleicht kürze ich was für die GSS, aber nur wenn ich Probleme mit dem Definieren der Zeilentypen anhand von prerendered HTML habe (die interne Version nutzt dazu die nicht-gerenderte Version). Ist halt schwierig das für alle Browser kompatibel zu machen.

Sachen, die ich noch ändern muss/werde:
  • Zeilentyp für öffentliche, nicht definierte Chatbot-Meldungen (gibt glaube ich sowieso keine, aber just in case)
  • Split von /me und Scripting-Engine... Zumindest in der Version an der ich grad sitze, welche nicht die GSS-Version sein wird. Das Problem bei /me und SE ist, dass beide anhand eines Leerzeichens unterscheidbar sind, welches generell auslesbar ist, allerdings nur wenn man die Zeile als Text auslesen kann und nicht als gerendertes HTML. Das ist bei der Version an der ich grad sitze der Fall, aber eben nicht bei der GSS-Version. Muss also mal sehen wie ich das löse.
  • Typ 62 (Raumthema nach /move). Problem hier: es gibt kein Syntax und ich muss den Typ anhand voheriger Zeilen ableiten. Und diese voherigen Zeilen sind nicht immer an der gewünschten Position... Muss mal sehen wie ich das mache, vielleicht wird der Typ auch gestrichen oder mit etwas anderem gemerged.
  • ein paar Variablen verschieben, z.B. ein paar "text" zu "vars" ändern (text soll generell nur User-generierte Texte speichern). Mal sehen.
Zeilen, für die ich (mangels Chatmöglichkeiten im Moment) gerne das Syntax hätte (wäre super, wenn jemand entsprechend Beispiele dieser Chatzeilen posten könnte, preferabel ohne "Auswahl-Quelltext" (der prerendered ist) sondern über Stoppen des Streams):
  • Punktevergabe im Punktesystem. Wird so verdammt selten benutzt, und vor allem nur mit Profil, dass ich da grad keine brauchbare Möglichkeit habe. Kann man ja auch dummerweise nur an User mit Profil vergeben, oder?
  • Server-Wartungsmeldung (wird, wenn mich meine Erinnerung nicht täuscht, ohne Tabellenelemente gerendert. Wär übrigens super, wenn mir auch jmd. sagen könnte, wie die AJAX-API das regelt...)

Was ich aber gern wissen würde ist: was fehlt hier noch? Hab ich irgendwas wichtiges vergessen? (Die zahllosen Fehlermeldungen bei fehlenden Rechten, etc. natürlich nicht, sondern eher Dinge, bei denen Usereingaben angezeigt werden oder ähnliches. Halt Sachen, aus denen man mehr oder weniger konkrete Daten auslesen kann.)
...

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

Re: Neue Grundscriptsammlung (Test)

Ungelesener Beitrag von Maxs » 07.03.2011, 12:11

Also bei der Punktevergabe kommt in dem Quellcode, wenn man den Befehl einfach so eingibt (also z.B.: /stern):
Script:Zeigen
<table border=0><tr><td valign=bottom><span class="not_reg"><b>Konto</b>: Derzeit kannst du <b>3</b> Sterne vergeben.<br><b>Befehl</b>: /stern Chattername<br><b>Info</b>: Du erhältst zusätzlich jeweils am Monatsersten <b>1 Stern</b>, wenn du im Vormonat an mindestens 7 verschiedenen Tagen im Chat warst.</span><br></td></tr></table>
Bild:
Bild
Der, der den Stern/Punkt vergibt, erhält folgende Nachricht:
Script:Zeigen
<table border=0><tr><td valign=bottom><FONT SIZE=-2>(11:49)</FONT> <font title="Chat-Bot"><b><font color="#FF0000">Chat-Bot-PM:</font><span class="not_reg"> Stern an Max vergeben.</span></b></td></tr></table>
Bild:
Bild
Der, der den Stern/Punkt erhält, bekommt keine Nachricht (warum auch immer).


Wenn man versucht, einen Stern an einen User zu vergeben, der kein Profil hat, kommt folgende Nachricht:
Script:Zeigen
<table border=0><tr><td valign=bottom><FONT SIZE=-2>(11:52)</FONT> <font title="Chat-Bot"><b><font color="#FF0000">Chat-Bot-PM:</font><span class="not_reg"> Sterne können nur an Chatter verschenkt werden, die ein Profil nutzen.</span></b></td></tr></table>
Bild:
Bild

Stimmt das, oder wolltest du was anderes? :)
Server-Wartungsmeldung weiß ich leider nicht :)
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: Neue Grundscriptsammlung (Test)

Ungelesener Beitrag von Linus » 17.07.2011, 17:58

Ist zwar schon ewig her, aber die Meldung für den Serverneustart ist

Code: Alles auswählen

<table border=0><tr><td valign=bottom><br /><font title="WebKicks.De - Sysadmin"><b><font color="#FF0000">System-Meldung:</font><span class="not_reg"> Der Chat wird aufgrund des nächtlichen Wartungszyklus für ca 40 Sekunden ausfallen.</span></b><br /><br /></td></tr></table>
Kein Support per PN!

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

Re: Neue Grundscriptsammlung (Test)

Ungelesener Beitrag von Maxs » 14.11.2011, 21:59

Hey DarkModi ;)

ich wollte den Thread nach so vielen Monaten mal wieder hochschubsen, damit du weißt, dass die neue GSS uns (oder zumindest mir, aber ich denke, dass sich andere auch darüber freuen würden ;)) nicht egal ist. Falls du daran kein Interesse mehr hast - Kein Problem! Das ist voll und ganz deine Entscheidung. Aber es soll bitte nicht so herüberkommen, als sei die neue GSS uns egal, nur weil wir uns auch nicht mehr dazu geäußert haben. Deshalb mache ich das jetzt nochmal. :)

Übrigens ist mir aufgefallen, dass da zwei Meldungen bezüglich des Punktesystems fehlen:

1. Falls man noch keine Punkte vergeben kann, da man noch keine drei Monate registriert ist:
Script:Zeigen

Code: Alles auswählen

<table border=0><tr><td valign=bottom><FONT SIZE=-2>(21:54)</FONT> <font title="Chat-Bot"><b><font color="#FF0000">Chat-Bot-PM:</font><span class="not_reg"> Du kannst Kleeblätter erst verschenken, nachdem du seit mindestens 3 Monaten im Chat angemeldet bist.</span></b></td></tr></table>
2. Wenn man keine Punkte mehr zu vergeben hat, dann kommen folgende zwei Nachrichten:
Script:Zeigen

Code: Alles auswählen

<table border=0><tr><td valign=bottom><span class="not_reg"><b>Info</b>: Du erhältst jeweils am Monatsersten <b>1 Stern</b>, wenn du im Vormonat an mindestens 7 verschiedenen Tagen im Chat warst.</span><br></td></tr></table>
<table border=0><tr><td valign=bottom><FONT SIZE=-2>(21:57)</FONT> <font title="Chat-Bot"><b><font color="#FF0000">Chat-Bot-PM:</font><span class="not_reg"> Leider hast du derzeit keine Sterne.</span></b></td></tr></table>
Wäre es nicht adäquat, den Usus heterogener Termini zu minimieren?

Antworten

Wer ist online?

Mitglieder in diesem Forum: Bing [Bot] und 38 Gäste