mal wieder was fuer TF (Tiamak, 29. Aug 2001, 01:29:30):
~#! on=Vardion ot=998957088 og=anzeigen
Moin.

Ich hatte mich gerade mal wieder geaergert, dass man in TF Macros, die ueber
mehrere zeilen gehen, welche mit \ abgeschlossen sind (so, wie die also in
normalen TF-Files strehen), nicht zu testzwecken direkt in TF reinpasten kann.
Weil TF in der Eingabezeile das \ am Ende herzlich wenig interessiert. Also
hab ich mal was kleines geschrieben:

/def -p101 -mglob -h'SEND *\\\\' multiline_collect = \
        /test set(strcat('multiline_buf=', multiline_buf, substr({*}, 0,
-1)))

/def -p100 -E(multiline_buf!~'') -hSEND multiline_send = \
        /let ml_buf=%multiline_buf%*%; \
        /set multiline_buf=%; \
        /eval -s0 %ml_buf

Diese beiden Hooks bei bedarf laden, und schon klappt das mit dem Macros
pasten... fast. Damit der Hook greift, darf bei der Macrodefinition das /
nicht ganz am anfang der zeile stehen, sonst wird da gleich ne def draus und
der Sendhook spring garnicht erst an. Also immer mindestens ein leerzeichen
oder einen weiteren / davorpacken, dann klappt das.

Vardion fragt: Koennte mal bitte wer eine TF-Rubrik anlegen? :-)

-----------------------------------------------------------------------------



lyntin (Whitetiger, 29. Okt 2001, 14:30:36):
hi,
ist hier irgendjemand, der sich mit lyntin auskennt?
wenn ja, bitte via mudmail bei mir melden
WT.

-----------------------------------------------------------------------------



CTM fuer alle (Vardion,  4. Dez 2001, 01:58:03):
(*) fuer beliebige 'alle' mit TF auf Unix.

Hi.

Da ich in naechster Zeit kaum dazu kommen  werde, weiter an CTM zu bauen, habe
ich mich entscheiden, heute  die noetigsten Sachen fertig zu machen  und es zu
veroeffentlichen. Das Protokoll ist jetzt in seiner (hoffentlich) entgueltigen
Version, und verschluesselte TMs sind voll nutzbar.
Geplante   Features  wie   der   veschluesslete  Fernschreiber-Ersatz   kommen
irgendwann   mal,  sind  jedoch  mit   der  aktuellen  Architektur  problemlos
einbaubar. Zum Thema "wie ist das mit  den TF-Patches, die CTM beschleunigen?"
schreib ich  vielleicht auch spaeter  mal was. Also  langer rede kurzer  Sinn:
schaut einfach mal auf

http://tf-macros.sourceforge.net/contrib/vardion@mg.mud.de/

nach. Dort stehen genauere Erklaerungen.
Mein Dank gilt den Beta-Testern Mesirii, Eldaron, Sniperm Thufhir und Muaddib,
welche spaeter  noch  durch Elendil,  Darkwing  und Elaine  erweitert  wurden.
Insbesondere aber Mesirii,  der mir mit  Rat und Tat  zur Seite gestanden  hat
(und sich auch bereit erklaert hat, mit den CTM-Support zu uebernehmen, da ich
nur wenig Zeit haben  werde). Die Betatester duerfen sich  wegen der Aenderung
auf das entgueltige Protokoll  uebrigens alle mal wieder die  aktuelle Version
holen ;-)

Also dann viel Spass und ungestoerte Unterhaltungen.

Vardion

-----------------------------------------------------------------------------



Re: CTM fuer alle (Pilgrim,  4. Dez 2001, 16:34:25):
~#! rn=Vardion rt=1007427483 rg=mudclients
~#! tid=1007427483
> (*) fuer beliebige 'alle' mit TF auf Unix.
Gibts da auch ne Umsetzung fuer alle(**) mit zmud ;-)

Pilgrim

-----------------------------------------------------------------------------



Re: Re: CTM fuer alle (Zook,  4. Dez 2001, 16:34:49):
~#! rn=Pilgrim rt=1007480065 rg=mudclients
~#! tid=1007427483
Vor allem, seit wann haben wir denn die Rubrik? ;)

Zook.

-----------------------------------------------------------------------------



Re^3: CTM fuer alle (Pilgrim,  4. Dez 2001, 16:39:03):
~#! rn=Zook rt=1007480089 rg=mudclients
~#! tid=1007427483
Hmmm ... stimmt, ist neu ... oder war immer leer ;-)

O.K., mein MUDclient heist 'telnet': Wie kann ich Farbe in mein 'sag' )oder
meinen Titel (o.ae.) bekommen ... ohne ein toll fsag zu schreiben?


Pilgrim


-----------------------------------------------------------------------------



Re^4: CTM fuer alle (Pilgrim,  4. Dez 2001, 16:39:41):
~#! rn=Pilgrim rt=1007480343 rg=mudclients
~#! tid=1007427483
Aeh ... ersetzte toll gegen tool  ;-)

P.

-----------------------------------------------------------------------------



Re: Re: CTM fuer alle (Vardion,  4. Dez 2001, 17:26:48):
~#! rn=Pilgrim rt=1007480065 rg=mudclients
~#! tid=1007427483
Nicht von mir. Aber falls wer das zeugs incl. Mesiriis Listen auf Zmud
portieren will - viel Spass :-)
Eine Version fuer Windows-TF wird vermutlich noch eher realisierbar sein. Je
nachdem, wie gut sich OpenSSL auf Windows installieren laesst.

Vardion

-----------------------------------------------------------------------------



TF-Seiten (Ringor, 11. Feb 2002, 19:17:32):
Nachdem ich nun doch schon ein Weilchen von der Uni weg bin, sind die Tage
meiner TF-Seiten auf dem Uni-Server langsam aber sicher gezaehlt. Da die
Seiten aber schon ueber vier Jahre alt sind (und dementsprechend aussehen ;-),
werde ich sie nicht einfach 1:1 auf einen anderen Server kopieren.

Bevor ich aber meine Zeit damit verschwende, Seiten zu ueberarbeiten, die doch
keinen interessieren, moechte ich etwas Feedback haben. Wenn mich nicht alles
taeuscht, gibt es fuer eigentlich jedes meiner Pakete mittlerweile
ueberarbeitete bzw. erweiterte Versionen von anderen Leuten.

Also schiesst los: besteht ueberhaupt noch Interesse an den Seiten - und wenn
ja - an welchen davon? Oder koennen die gefahrlos aussterben?

Antworten bitte per Mail. Artikel in der MPA sind hoechstwahrscheinlich schon
laengst geloescht, bis ich mich wieder einlogge. ;-)


Ringor

-----------------------------------------------------------------------------



Vorerst nicht auschecken (Mesirii, 16. Apr 2002, 13:54:29):
Da ich zur Zeit eine groessere Aenderung an TinyMacros vornehme,
bitte den aktuellen cvs Stand nicht ausschecken. Wer es trotzdem
tut sollte wissen, dass es Probleme geben kann, fuer Installation
Updates erstmal nur die files aus "Releases" nehmen.

Gruss Mesi - TF zuechtigend

-----------------------------------------------------------------------------



jta (Macq,  1. Jun 2002, 00:58:18):
Im JTA funktioniert das Backspace nur halb, loescht zwar die Zeichen,
dummerweise aber nicht im Applet-Fenster.

Mac. weiss nicht was er loescht

-----------------------------------------------------------------------------



Re: jta (Marcus,  1. Jun 2002, 20:38:13):
~#! rn=Macq rt=1022885898 rg=mudclients
~#! tid=1022885898
Ist in der CVS Version bereits gefixt, danke aber trotzdem.

CViao, Marcus

-----------------------------------------------------------------------------



TF und regmatch() (Vardion, 13. Aug 2002, 15:07:07):
Moin.

Ich war mal so frei und habe in TF einen Mechanismus zum Vorcompilieren von
Regexps fuer regmatch() eingebaut.

Die Benutzung ist recht trivial:

Compilieren der Regexp und Ablege im Speicher mit:
/set re1=$[regcomp('regexp')]
(ausserhalb von Macros muss da natuerlich ein /eval davor)

Benutzung:
/while(...) \
        /test regmatch(re1, 'text)%; \
        ...

Freigeben des belegten Speichers mit:
/test regfree(re1)

Die normale Syntax regmatch('regexp', 'text') funktioniert natuerlich nach wie
vor.

In meinem ersten Tests habe ich eine Beschleunigung von regexp() von 20-100%
bekommen. Je komplexer die Regexp ist, umso mehr lohnt sich das
Vorcompilieren.

Die aktualisierte TF-Version gibts wie immer in unserem CVS Repository.

Vardion
PS: Thufhir, passe doch mal bitte das reduce.tf an :-)



-----------------------------------------------------------------------------



Re: TF und regmatch() (Vardion, 13. Aug 2002, 15:29:17):
~#! rn=Vardion rt=1029244027 rg=mudclients
~#! tid=1029244027
Kleiner Nachtrag:

Es ist natuerlich sehr leicht, seinen Code so zu schreiben, dass er fuer das
"alte" und das "neue" TF optimal ist:

/test re1:='meine regexp'

/if (have_ext('REGCOMP') \
      /test re1:=regcomp(re1)%; \
/endif

und dann immer regmatch(re1, 'text').

Und ja Thufhir, ein "/help regcomp" schreib ich noch :-)

Vardion

-----------------------------------------------------------------------------



CTM (Vardion, 27. Okt 2002, 23:02:47):
Moin.

Zum Aktuellen Reboot wurde offenbar der r-emote Befehl in der Mudlib
geaendert. Er verwendet jetzt (wie die meissten Ausgabebefehle) break_string
und packt nicht mehr alles auf eine Zeile.
Damit funktioniert CTM erstmal nicht mehr im Remote-Modus. Support fuer
Breakstring in r-emote ist zwar so halb drin, aber eben nur halb.
Vorerst koennt ihr einfach den tm-Modus benutzen (/ctm_remote 0), demnaechst
wirds eine Loesung fuer das geaenderte r-emote geben.

Vardion

-----------------------------------------------------------------------------



break_string usw (Vardion,  1. Nov 2002, 12:39:07):
Moin.

Ich hab eben die Zeit gefunden, CTM an das neuerliche break_string in r-emote
anzupassen. Nach einem cvs uptate geht ctm mit und ohne break_string im
remote-Modus (damits auch im Home/Test/Wasweissich-Mud noch geht).
Bei der Gelegenheit hab ich gleich mal den Code etwas umgestellt, in allen 4
Faellen (tm senden/empfangen, remote senden/empfangen) wird jetzt der selbe
Code zum Einsammeln der Zeilen benutzt, crypt.tf ist damit ein Stueck
geschrumpft.

Damit CTM wieder im remote-Modus geht, muessen natuerlich beide Partner
aktualisieren. Ich stell mein CTM am Sonntag Abend wieder auf remote um, bis
dahin haben alle Zeit zum aktualisieren.

Achja, benutzt eigentlich irgendwer das Standalone-CTM? Das hab ich jetzt
natuerlich nicht aktualisiert, weil der Code da eh etwas alt ist. Wenn es da
Nutzer gibt, kuemmer ich mich naechste Woche drum.

Vardion

-----------------------------------------------------------------------------



Re: break_string usw (Vardion,  4. Nov 2002, 11:34:03):
~#! rn=Vardion rt=1036150747 rg=mudclients
~#! tid=1036150747
Hi.

Da ich gerade darauf aufmerksam gemacht wurde: es kann passieren, dass nun bei
CTMs im remote-Modus nach dem ctm ein einzelner . vom Mud kommt.
Das passiert, wenn die Verschluesselte Nachricht gerade so "unguenstig"
gebrochen wurde, dass die CTM-Endmarke auf einer Zeile, aber der Punkt, den
Remote an jede Nachricht anhaengt, allein auf der naechsten Zeile steht. Der
wird dann nicht mehr gegaggt, da die Arbeit fuer den CTM-Parser mit dem
Erkennen der Endmarke erledigt ist. Und so erscheint er eben nach dem CTM.
Es gaebe verschiedene Moeglichkeiten, diesen Punkt zu eliminieren, aber das
Ergebnis wuerde den Aufwand wohl kaum rechtfertigen. Also lebt damit :-)

Vardion

-----------------------------------------------------------------------------



Re: Re: break_string usw (Vardion,  4. Nov 2002, 23:24:55):
~#! rn=Vardion rt=1036406043 rg=mudclients
~#! tid=1036150747
Ich hab gerade nochmal an CTM rumgebastelt (regcomp fuer die Regexp zum
Erfassen von CTMs), dabei hat sich dann auch gleich das Punkt-Problem in
Wohlgefallen aufgeloest. Also nicht wundern, wenn nun doch keiner mehr
auftaucht ;-)

Vardion

-----------------------------------------------------------------------------



PCRE (Vardion, 19. Nov 2002, 01:39:04):
Hi.

Ich habe im CVS die mit TF mitgelieferte regexp-lib rausgeworfen und komplett
durch PCRE (www.pcre.org) ersetzt.
Abgesehen davon, dass PCRE geringfuegig schneller ist, lassen sich nun auch
deutlich leistungsfaehigere/einfachere Expressions verwenden. Naja, wers
kennt, wirds schon zu verwenden wissen ;-)

Vardion

-----------------------------------------------------------------------------



Re: PCRE (Cuchullin, 19. Nov 2002, 06:03:30):
~#! rn=Vardion rt=1037666344 rg=mudclients
~#! tid=1037666344
Teil' es der Mailingliste mit. Aber nicht ueber einen Dial-in:

<tinyfugue@tcp.com>: host tcp.com[66.92.182.248] said: 550 5.7.1 Mail from
    217.229.126.40 refused by blackhole site dialups.visi.com

Manchmal frag ich mich echt, ob Ken ein bisschen laecherlich ist. ;)


-----------------------------------------------------------------------------



Re: Re: PCRE (Amaryllis, 19. Nov 2002, 08:47:55):
~#! rn=Cuchullin rt=1037682210 rg=mudclients
~#! tid=1037666344
Nuja, er nutzt halt eine (fremde) Blacklist, die Dial-Ins filtert.
Ich z.B. bekomme von Dial-Ins auch nur Spam, sodass ich mir durchaus
vorstellen koennte, sowas auch einzusetzen.

"Regulaere" Mails werden i.d.R. ueber den Mailserver des Providers oder den
eigenen Mailserver (der aber dann wohl kein Dial-In, sondern Standleitung
o.ae. ist) abgeliefert - ist zumindest meine Erfahrung.

Also nutz den SMTP von T-Offline und gut is :)

Ama*

-----------------------------------------------------------------------------



256 Farben (Vardion, 19. Nov 2002, 12:41:45):
Hi.

Ich hab jetzt auch noch den 256 Farben-Patch eingespielt. der aendert auch
etwas das Attriburverhalten an sich, so dass Attribute bei -p nicht mehr
automatisch verschwinden. Ein Beispiel:

/echo -p @{B}bla@{n}blubb

erzeugte bisehr ein fettes bla und ein normales blubb. Das Fett wurde fuer das
Blub also automatisch ausgeschalten, obwohl das 'n' ein leeres
(=funktionsloses) Attribut ist. Dem ist jetzt nicht mehr so, jetzt ueberlappen
Attribute. Es wird also blablubb komplett fettgeschrieben.
Um die alte Ausgabe zu erhalten muss man

/echo -p @{B}bla@{x}blubb

verwenden, da das x explizit vorhandene Attribute loescht (das tat es auch
vorher schon).

Damit sind an den TF-Macros einige Anpassungen vonnoeten. way.tf hab ich
selbst schon angepasst und am reduce.tf angefangen (aber noch nicht komplett,
das kann ja Thufhir weiter machen).
Also aendert mal euren Code bitte so, dass ihr Attribute explizit wieder
ausschaltet, sonst sieht mit dem neuen TF einiges etwas seltsam aus ;-)

Vardion

-----------------------------------------------------------------------------



Re: 256 Farben (Vardion, 19. Nov 2002, 12:59:46):
~#! rn=Vardion rt=1037706105 rg=mudclients
~#! tid=1037706105
reduce.tf ist fertig angepasst

-----------------------------------------------------------------------------



Re: Re: 256 Farben (Vardion, 19. Nov 2002, 13:43:54):
~#! rn=Vardion rt=1037707186 rg=mudclients
~#! tid=1037706105
Und noch ein Selbstreply, da fragen kamen:
Also das Anpassen von @{n} auf @{x} klappt natuerlich auch auf einem
ungepatchten TF, es wird also nicht inkompatibel.

Eine Uebersicht ueber die Moeglichkeiten von pcre (zero-width patterns,
look-ahead assertions usw) gibts in "man perlre", da schreib ich keine extra
Doku fuer. Sollten derartige features genutzt werden, wird das dann natuerlich
inkompatibel zu einem ungepatchten TF.

Vardion

-----------------------------------------------------------------------------



Attribut-Bugs im neuen TF (Vardion, 21. Nov 2002, 12:22:27):
Hi.

Aufgrund einer mail von Thufhir hab ich mir nochmal den 256Color-Patch
angesehen und einen Bug in ihm gefunden: durch eine vergessene 0 des Autors
wurde das None-Attribut (n) identisch zum Hilite-Attribut (h) definiert, was
das seltsame Verhalten erklaert.
Nach dem Bugfix (-> CVS) funktioniert das n-Attribut wieder gewohnt, d.h. die
Umstellung in way.tf und reduce.tf von n auf x war unnoetig. Da sie aber auch
nicht schadet, lass ich sie erstmal. Ansonsten koennen wir auch einfach nen
Revert auf die Version davor durchfuehren.

Vardion

-----------------------------------------------------------------------------



TF in Paketform (Vardion, 21. Nov 2002, 15:44:50):
Hi.

Fuer alle, die sich das modifizierte TF nicht aus dem CVS ziehen koennen oder
wollen, gibts jetzt fertige Pakete als Source-TAR und als (S)RPM.
Zu finden unter http://tf-macros.sourceforge.net/packages/

Vardion

-----------------------------------------------------------------------------



artikel Sprachumstellung TinyMakros (Mesirii,  3. Dez 2002, 05:30:55):
Latest changes:

Aufgrund oefterer Probleme mit LANG und dem Interesse von fremdlaendischen
Menschen hab ich das Sprach/Internationalisierungskonzept mal etwas
geaendert.

Es gibt jetzt eine Nutzersprache user_lang und eine Mud Sprache mud_lang.
Beide sind konfigurierbar und werden an verschiedeen Stellen genutzt. Die
User Sprache fuer GUI, Hilfe usw. Die Mud-Sprache fuer pattern,
himmelsrichtungen, tell usw.

Damit das Umstellen der Hilfe und der Makros einfacher geht habe ich das
ganze auch mit einigen Hilfsmakros garniert.

Noch ist nicht alles dokumentiert aber es ist nicht schwer zu nutzen.

1. /addh kennt jetzt locales
z.b.
- /addh en This is the English information text.

ohne Locale wird es immer in die Hilfe reingenommen und ggf. von ner
anderssprachigen ueberschrieben. Daher immer die /addh mit locale nach den
normalen, aber natuerlich nur dort wo es notwendig ist, syn, see usw.
brauchen das ja prinzpiell nie

2. GUI:

es gibt /loc text_locale text bzw. als funktion um Texte automatisch an
die nutzersprache angepasst auszugeben
- /loc de Das ist ein Test
oder /echo $[loc("de","Das ist ein Test")]

mit /add_loc fuegt man Erweiterungen hinzu.
- /test add_loc("Deutscher Text","de","German Text","en")

Nutzerausgaben sind eh meist interaktiv daher nicht zeitkritisch.

Trotzdem hab ich noch die Idee gehabt, beim Laden der Files gleich die
Texte in den Makros zu ersetzen. So ist mak_loc entstanden.
Syntax: /test
mak_loc(makro,ziellocale,orgtext,zieltext,orgtext2,zieltext2,...)

Bsp:
- /test mak_loc("i18n_mak_test","en","Das ist ein Test","This is a  test",
"Das","This","ist","is","ein Test","a test")

durch die zwei Sprachen haben sich auch die Parameter fuer /mload & Co
geaendert:
-L bezieht sich auf die Nutzersprache
-l auf die Mudsprache

verschoben, das muesst ihr in euren lokalen Installationen nachziehen sonst
buggt es.

Insgesamt wuerde ich mir wuenschen, dass unsere Files vielleicht bis
Jahresende zusaetzlich eine englische GUI und Hilfe bekommen. Wenn ich Zeit
hab werd ich mich dransetzen, moechte dass aber nicht alleine durchziehen
muessen. Ich wuerde Euch bitten, Euch auch aktiv daran zu beteiligen. Bei
Fragen oder Problemen sagt bitte Bescheid. 

So jetzt erstmal Heia :)

Gruss Mesi

-----------------------------------------------------------------------------



scoreamu in TF (Vardion, 10. Dez 2002, 21:20:58):
Hi.

Da das Scoreamulett jetzt etwas aufwaendiger zu holen ist, habe ich mal einen
TF-Ersatz fuer das Teil programmiert. Es liegt ab sofort im CVS unter
mg.mud.de. Es benoetigt nix von den anderen Macros, und ist daher auch einzeln
verwendbar. Download unter:

http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/*checkout*/tf-macros/Version/mg
.mud.de/plinfo.tf?rev=HEAD&sortby=date&content-type=text/plain

Ich kann natuerlich nicht die volle Funktionalitaet nachbilden, da einige
Daten einfach nich verfuegbar sind. Es fehlen: Beschaedigung/Rueste/Defendfunc
von Ruestungen, Beschaedigung und Hitfunc von Waffen, getragenes Gewicht,
Todesfolgen mit 1/10 Genauigkeit, Gildenlevel-Bezeichnung, GesamtAP. Wenn ich
nix vergessen habe... FP-Bewertung zeig ich auch nicht an, interessiert eh
niemanden ;-)

Achja, wenn die Datei geladen ist: /plinfo als sinfo-Ersatz und /plscore als
sscore-Ersatz.

Nochwas: die beiden Befehle pruefen, ob ein reales Scoreamulett vorhanden ist,
und benutzen in dem Fall das echte (wegen der zusaetzlichen Informationen).
Wenn nicht -> Nachbau.

Viel Spass beim testen,
Vardion

-----------------------------------------------------------------------------



MUD-Client, Sinn oder Irrssin? (Grimmborn, 24. Dez 2002, 10:50:04):
~#! on=Ragnarok ot=1040684062 og=allgemeines
Ich entwickle einen Client fuer MultiUserDungeons wie MorgenGrauen
Wenn Jemand Interesse hat: FabiLove@freenet.de
Momentan unterstuetzt er nur MorgenGrauen, soll aber spaeter beliebig
erweiterbar sein
und sich immer die aktuelle MUD-Liste von www.mud.de runterladen
Er bietet Features wie: klicken statt tippen ;)
Erkennt automatisch Ausgaenge und stellt dementsprechend Schaltflaechen zur
Verfuegung
Hat eine Friendlist und wird staendig erweitert.

-----------------------------------------------------------------------------



Re: MUD-Client, Sinn oder Irrssin? (Grimmborn, 24. Dez 2002, 10:50:06):
~#! on=Gnome ot=1040720198 og=allgemeines
~#! rn=Ragnarok rt=1040684062 rg=allgemeines
~#! tid=1040684062
ein GUI fuer tf? auch nett, aber wozu?

-----------------------------------------------------------------------------



Re^3: MUD-Client, Sinn oder Irrssin? (Gnome, 25. Dez 2002, 17:08:21):
~#! rn=Ragnarok rt=1040742503 rg=mudclients
~#! tid=1040684062
hmmm. was gibt es schnelleres als tasten pur?

-----------------------------------------------------------------------------



Re^4: MUD-Client, Sinn oder Irrssin? (Croft, 25. Dez 2002, 17:36:46):
~#! rn=Gnome rt=1040832501 rg=mudclients
~#! tid=1040684062
Muss ein Mudclient fuer Minesweeperfreunde sein ,-)

Croft

-----------------------------------------------------------------------------



Re^5: MUD-Client, Sinn oder Irrssin? (Woody,  1. Jan 2003, 13:23:58):
~#! rn=Croft rt=1040834206 rg=mudclients
~#! tid=1040684062
Auch die solls geben (nein das war kein Outing) und daher ist er
sicher zu begruessen. Denn nur wo es Vielfalt gibt, gibt es auch
Wahlmoeglichkeiten...


-----------------------------------------------------------------------------



Re: MUD-Client, Sinn oder Irrssin? (Martol,  6. Jan 2003, 14:37:11):
~#! rn=Grimmborn rt=1040723404 rg=mudclients
~#! tid=1040723404
Ragnarok heisst nun Martol, da zuviel Verwirrung entstand. Der Client ist nun
nur noch ein privates Projekt, da es zu wenig Zustimmung gab.

-----------------------------------------------------------------------------



toete capslock (Vardion, 17. Jan 2003, 11:05:21):
Die Rubrik passt zwar nicht ganz, aber da TF eh hauptsaechlich unter Linux
benutzt wird: wen die CapsLock-Taste seit jeher mehr genervt (durch
versehentliches Betaetigen) als genuetzt hat:

Ein "remove lock = Caps_Lock" in der xmodmap legt sie unter X11 tot.

Ich such gerade noch, ob man sie nicht irgendwie in ne normale Shift-Taste
konvertiert bekommt, also falls sich wer mit diesen modifiers in xmodmap
auskennt...

Vardion

-----------------------------------------------------------------------------



Re: toete capslock (Vardion, 17. Jan 2003, 11:16:04):
~#! rn=Vardion rt=1042797921 rg=mudclients
~#! tid=1042797921
Ok, habs:
"add Shift = Caps_Lock"

Damit ist die Taste dann zu ner normalen Shift-Taste geworden.

Vardion

-----------------------------------------------------------------------------



Re: Re: toete capslock (Alpha, 17. Jan 2003, 16:51:14):
~#! rn=Vardion rt=1042798564 rg=mudclients
~#! tid=1042797921
Also meine Caps-Lock-Taste hab ich rausgerissen. Geht ganz ohne
Linux-Kentnisse und funktioniert problemlos :)

-----------------------------------------------------------------------------



Re^3: toete capslock (Vardion, 20. Jan 2003, 22:56:47):
~#! rn=Alpha rt=1042818674 rg=mudclients
~#! tid=1042797921
Ja, diese "Loesung" hab ich auch schon von Anderen gehoert. Aber wenn sich der
Aerger softwareseitig loesen laesst, sehe ich doch lieber von einer
Beschaedigung meines Eigentums ab :)

Vardion

-----------------------------------------------------------------------------



caseless matching (Olli,  2. Feb 2003, 14:46:50):
Hallo,

ich habe soeben eine weitere Aenderung in die tf-Version eingebracht, die
auf dem Sourceforge-Server liegt. Damit ist mit zwei Variablen moeglich,
die Uebersetzung und Abarbeitung von Regexp zu beeinflussen. Es handelt
sich hierbei um pcre_compile_options und pcre_matching_options. Damit
ist z.B. dann auch caseless matching moeglich:

 /set pcre_compile_options=1
 /def -mregexp -t'dies ist ein test' test
 /set pcre_compile_options=0

matcht im folgenden dann auch "Dies ist ein Test" z.B.
In der Defaulteinstellung aendert sich nichts an der Behandlung.

Olli

-----------------------------------------------------------------------------



PATSCH (Vardion, 27. Feb 2003, 23:15:07):
Hi.

Thufhir ist heute zufaellig ueber einen kleinen Bug im modifizierten TF
gestolpert, der nun leider nicht mehr unter uns weilt...
Wer hier und da mal ne schliessende Klammer vergisst, sollte evtl ein cvs
update ziehen :-)

Vardion

-----------------------------------------------------------------------------



Neue Pakete (Vardion, 28. Feb 2003, 12:49:16):
Hi.

Unter http://tf-macros.sourceforge.net/packages/ gibts mal wieder den
aktuellen CVS-Snapshot des Modifizierten TFs als TGZ, RPM und SRPM.
Aenderungen gegenueber dem letzten Snapshot da sind 2 Crashfixes und Ollis
-miregexp wenn ich nichts vergessen habe :)

Vardion

-----------------------------------------------------------------------------



TF: pcre-Include in neueren Distros (Vardion,  2. Mai 2003, 14:28:30):
Hi.

Ich hab mal ein -I/usr/include/pcre in den Compile-Aufruf der TF-Sourcen
eingefuegt. Damit sollte das uebersetzen jetzt in Distros, bei denen pcre.h in
/usr/include/pcre statt /usr/include liegt, wieder problemlos funktionieren.

Vardion

-----------------------------------------------------------------------------



neue release der TinyMacros 0.39 (Thufhir,  2. Mai 2003, 15:51:12):
zu finden unter http://tf-macros.sourceforge.net/releases/
frohes testen und viel spass, s'Zauberzwerch

-----------------------------------------------------------------------------



CVS-probleme bei SF (Vardion, 11. Mai 2003, 16:42:59):
Hi.

SourceForge scheint momentan Probleme mit dem CVS zu haben, der anonyme
Download ueber den PServer funktioniert nicht.
Wer nur einzelne Dateien braucht, kann sich sie ueber das CVS-WWW-Interface
(http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/tf-macros/) holen, ansonsten
bitte auf eines der Releases zurueckgreifen, bis der anonyme CVS-Zugang wieder
funktioniert.
Der Entwicklerzugang ueber ssh ist von diesem Problem nicht betroffen.

Vardion

-----------------------------------------------------------------------------



Neues TF-RPM (Vardion, 12. Mai 2003, 17:05:17):
Hi.

An der ueblichen Stelle gibts mal wieder ein aktuelles TF-RPM. Neu ist die
funktion hrtime(), die aehnlich wie time() die Zeit in Sekunden seit der
Unix-Epoch ausgibt. Allerdings liefert hrtime() die Zeit als Fliesskommazahl
mit Nachkommastellen und kann somit aehnlich wie mstime() fuer genauere
Zeitmessungen/vergleiche eingesetzt werden. Das RPM benoetigt glibc2.3, das
SRPM und TGZ sollten jetzt auch auf Systemen durchcompilieren, auf denen
pcre.h in /usr/include/pcre liegt.

Vardion

-----------------------------------------------------------------------------



Aufbau eines Hilfeforums zu zMUD (Kenny, 26. Jun 2003, 23:23:59):
Hallo evtl. Interessierte am Client zMUD,
ich habe ein Forum auf http://www.zmud.de.vu installiert, um ggf. eine Hilfe
fuer zMUD-Benutzer zu stellen die auf eine Frage auf der Ebene -zmud nicht
direkt Antwort bekommen.

Ich hoffe damit einen Weg fuer Mudder ohne Programmierkenntnisse in den Genuss
von Aliasen, Triggern, Timern und Datenbanken/Listen zu ermoeglichen.

TF mag natuerlich eine Kostenfreie Variante der Clients sein, aber es
benoetigt doch sehr vieler Kenntnisse und leider auch Erfahrungen, da sehr
viele Hilfen des Programms an sich nicht zu einer Loesung fuehren (Bsp.
Metasprache in bezug auf /addworld) ... dies mag zwar bei zMUD nicht anders
ausfallen, allerdings sollte die Benutzerfreundlichkeit fuer die breite Masse
eines GUI gegenueber eines UI klar sein.
Viel Spass, ich hoffe auf rege Beteiligung.


-----------------------------------------------------------------------------



Re: Aufbau eines Hilfeforums zu zMUD (Rikus, 27. Jun 2003, 10:29:22):
~#! rn=Kenny rt=1056662639 rg=mudclients
~#! tid=1056662639
erweiter doch das forum auch um tf bzw. um andere genutzte clients.

rikus

-----------------------------------------------------------------------------



neues TF-Release (Vardion,  3. Aug 2003, 23:48:08):
Moin.

Unter http://tf-macros.sourceforge.net/packages/ gibts mal wieder ein neues
TF-Release. Folgendes wurde geaendert:

Wenn man TF per /quit beendet, werden jetzt alle Verbindungen zu Muds sofort
gekappt, auch wenn noch von TF gestartete Prozesse (xterms mit Logfiles etc)
am Laufen sind.

Vardion

-----------------------------------------------------------------------------



Neues Standalone-CTM (Vardion, 28. Aug 2003, 17:02:36):
Hi.

Es gibt mal wieder eine neue Version des Standalone-CTMs. Wegen einer gewissen
unnoetigen Aenderung in r-emote musste da ja eine Anpassung erfolgen...

Zu haben ists auf der ueblichen CTM-Seite, den Link findet ihr, wenn ihr mal
nach "Download" sucht.

Wer die README nicht liest, und deswegen Probleme hat, wird mit RTFM
erschlagen :)

Vardion

-----------------------------------------------------------------------------



www.zmud.de.vu (Kenny, 11. Sep 2003, 13:39:28):
Hier nochmal ein Update:
1. Ein TF-Forum ist eingerichtet, wer interesse daran hat, kann ja mal was
machen :)
2. Download-Sektion fuer Pakete ist eroeffnet. Authorisierte Leute haben
Uploadberechtigung.
3. Ich distanziere mich von allen nicht von mir selbst hochgeladenen Sachen
(falls es mal zu Missbrauch kommt) und habe alle authorisierten darauf
hingewiesen.
4. Bei Beschwerden bitte Email an: cab@edo-clan.de
Es sind Foren fuer alle Gilden vorhanden und wir arbeiten an einem reduce-file
... viele Hilfen fuer z.B. Mehrzeilige Trigger etc. sind auch schon vorhanden
:)
Tipps, Ratschlaege usw. koennt ihr gerne dort loswerden :)


Liebe Gruesse, Kenny

-----------------------------------------------------------------------------



xterm, tf und keypad (Muadib, 12. Nov 2003, 11:47:31):
hiho,

ich habe hier ein neu eingerichtetes mandrake 9.2 mit xfree 4.3.xyz
tf in der modifizierten version von tfmacros ist installiert und funzt bestens
TERM ist vt220
nun moechte ich im tf die tasten des keypads belegen und zwar mit numlock
aktiviert um die tasten des positionierungsblocks nicht zu ueberladen.
xbindkeys verraet mir den keycode aber leider fuehrt //def -b<code> .... nicht
zum gewuenschten ergebnis
hat da jemand erfahrungen und weiss abhilfe?

gruss

muadib

-----------------------------------------------------------------------------



Re: xterm, tf und keypad (Gnome, 13. Nov 2003, 19:11:28):
~#! rn=Muadib rt=1068634051 rg=mudclients
~#! tid=1068634051
wenn du wirklich "//def ..." (mit 2 //) getippt hast, sollte tf sich nicht
angesprochen fuehlen...

-----------------------------------------------------------------------------



Re: Re: xterm, tf und keypad (Muadib, 13. Nov 2003, 22:33:01):
~#! rn=Gnome rt=1068747088 rg=mudclients
~#! tid=1068634051
geh doch nach hause

-----------------------------------------------------------------------------



Re^3: xterm, tf und keypad (Muadib, 13. Nov 2003, 22:34:06):
~#! rn=Muadib rt=1068759181 rg=mudclients
~#! tid=1068634051
ich hab das problem uebrigens inzwischen geloest. die loesung leautet:
application keypad aktivieren und num/keylock-modifiers deaktivieren.
wie das geht verrat ich auf nachfrage

-----------------------------------------------------------------------------



Re^4: xterm, tf und keypad (Vardion, 17. Nov 2003, 13:18:51):
~#! rn=Muadib rt=1068759246 rg=mudclients
~#! tid=1068634051
Appl.-Keypad aktiviert TF eigentlich immer selbst. Die seit XFree4.3
existierenden "Alt/NumLock-Modifiers" deaktiviert man permanent mit der
X-Resource "*VT100.numLock: false". Temporaer ueber das im Xterm mit
Strg+Linke Maustaste erreichbare Menue. Ich dachte, ich haette das kurz nach
dem Erscheinen von XFree 4.3 mal irgendwo veroeffentlicht...

Vardion

-----------------------------------------------------------------------------



Re^5: xterm, tf und keypad (Muadib, 17. Nov 2003, 13:41:31):
~#! rn=Vardion rt=1069071531 rg=mudclients
~#! tid=1068634051
da du selbst nicht mehr zu wissen scheinst wo du das veroeffentlicht hast
nehme ich das mal als nicht ernstzunehmende quelle :)

-----------------------------------------------------------------------------



zMUD-Hilfeforum (Kenny,  3. Jan 2004, 14:23:06):
Hi Leute,
da ich zu Weihnachten ne domain und webspace gewann gibt es das
zMUD-Hilfeforum nun unter http://www.raged.de
Und da ein Neuanfang immer die Ausbesserung struktureller Fehler des Alten
ermoeglicht, hab ich die Daten nicht uebernommen. D.h. alle neuen und alten
Member bitte wieder neu anmelden.
Die Downloadsektion fuer eure Pakete ist auch etwas anders aufgebaut, sodass
jeder seinen eigenen Login bekommt und keiner einfach mal die Daten anderer
loeschen koennte.

Ich hoffe auf reges Interesse, euer Kenny

-----------------------------------------------------------------------------



Bug mit cvs-tf (Deepblue, 14. Jan 2004, 17:21:18):
Ich bekomm ab und an beim TF-Start nen "tcsetattr: Interrupted system call" -
meist wenn ich dahinter ne abweichende world angebe. Woran kann das liegen?

-----------------------------------------------------------------------------



upps sorry (Grimmborn, 30. Jan 2004, 15:42:45):
~#! on=Kellybundy ot=1075473391 og=witze
Sorry fuers doppelposten. zmud suckt manchmal :)

-----------------------------------------------------------------------------



Re: zMUD-Hilfeforum (Kenny,  1. Mai 2004, 14:42:14):
~#! rn=Kenny rt=1073136186 rg=mudclients
~#! tid=1073136186
Wegen eines Providerwechsel ist die Seite momentan nicht unter raged.de
erreichbar, zmud.de.vu ist auf den neuen Webspace zugeschnitten, benutzt also
bitte diese Adresse fuer die naechste Zeit.
gruesse,
kenny

-----------------------------------------------------------------------------



MegaHAL (Ogo, 26. Jul 2004, 22:01:38):
Ich bin auf der Suche nach einer Anbindung von MegaHAL an TF. Damit koennte
man endlich das Mudden komplett automatisieren.

Drauf gestossen bin ich hier:
http://www.pl-forum.de/forum/viewtopic.php?t=1026138

Die Logs von dem Bot sind total lustig:
http://netzverschmutzer.org/~rvb/kram/bot/Angie2.txt

Infos zu dem Konverstationsbot gibt es hier:
http://megahal.alioth.debian.org/

Wenn erstmal die Anbindung an TF funktioniert, koennte man eine gemeinsame
BRAIN-Basis aufbauen und gucken, wie lange es dauert, bis der Bot wirklich bei
Seherwerdung Grats ruft (huhu Morgoth) und nach dem Talsprung irgendwelche
bescheuerten Sprung und Haltungsnoten vergibt. Was meint ihr? :-)

Ogo

-----------------------------------------------------------------------------



Re: MegaHAL (Foobar, 26. Jul 2004, 22:07:02):
~#! rn=Ogo rt=1090872098 rg=mudclients
~#! tid=1090872098
Wenn ich mir das so durchlese kann ich mich des Eindrucks nicht erwehren, dass
hier schon mehrere MegaHALs spielen.

-----------------------------------------------------------------------------



Re: Re: MegaHAL (Foobar, 26. Jul 2004, 22:23:08):
~#! rn=Foobar rt=1090872422 rg=mudclients
~#! tid=1090872098
"Bist Du rasiert?"
"Bist Du schwachsinnig?"

Ich kann nicht mehr :o)

-----------------------------------------------------------------------------



Re^3: MegaHAL (Morgoth, 26. Jul 2004, 22:23:46):
~#! rn=Foobar rt=1090873388 rg=mudclients
~#! tid=1090872098
Nein
Nein

Das ist Dein Problem...oder das Deiner Freundin

M*

-----------------------------------------------------------------------------



Re^3: MegaHAL (Ogo, 26. Jul 2004, 22:24:14):
~#! rn=Foobar rt=1090873388 rg=mudclients
~#! tid=1090872098
Vielleicht mal das Brain wechseln? *g*
http://gordbal.tripod.com/brains.html

-----------------------------------------------------------------------------



Re^4: MegaHAL (Foobar, 26. Jul 2004, 22:24:16):
~#! rn=Morgoth rt=1090873426 rg=mudclients
~#! tid=1090872098
Das erste glaube ich Dir, das zweite nicht ;o)

-----------------------------------------------------------------------------



Re: MegaHAL (Whitetiger, 26. Jul 2004, 23:02:41):
~#! rn=Ogo rt=1090872098 rg=mudclients
~#! tid=1090872098
Die LynTin-Anbindung funktioniert schonmal...

-----------------------------------------------------------------------------



Re^3: MegaHAL (Zaphob, 28. Okt 2004, 00:48:49):
~#! rn=Foobar rt=1090873388 rg=mudclients
~#! tid=1090872098
(Angie19) Kommst du aus frankreich?
(m27-s-w-HD) nein
(Angie19) Nein ich auch gerne, am liebsten bei suessen jungs.
(m27-s-w-HD) franzoesisch ist sehr schoen

Frage: Wer ist der Bot? Bis vor 23min haett ich noch anders geantwortet...
*weglach*

-----------------------------------------------------------------------------



Leerzeilen bei tinyfugue? (Lela, 29. Dez 2004, 14:07:56):
Hallo,

wie kann ich denn bei tinyfugue einstellen, dass nach jeder Ausgabe des Muds
eine
Leerzeile angezeigt wird. Bei mehreren Ausgaben, die hintereinander erfolgen,
ist
es sonst schwer zu entscheiden, wo welche aufhoert bzw. anfaengt.

Danke fuer die Hilfe,
   Lela

-----------------------------------------------------------------------------



Re: Leerzeilen bei tinyfugue? (Thufhir, 29. Dez 2004, 14:31:37):
~#! rn=Lela rt=1104325676 rg=mudclients
~#! tid=1104325676
mit folgendem: /def -Fp100000 -h"PROMPT *" my_prompt = /echo

s'ZT

-----------------------------------------------------------------------------



Re: alias Erweiterung (Vardion,  9. Jan 2005, 23:06:14):
~#! rn=Mesirii rt=1105201320 rg=entwicklung
~#! tid=1105201320
Haste ploetzlich eine Abneigung gegen TF-alis entwickelt? :)

Var "/alias tmhist /recall -mglob -g /%{1-20} {*} teilt Dir mit: *" dion

-----------------------------------------------------------------------------



Bodypad (Ogo, 29. Jan 2005, 00:15:30):
http://www.golem.de/0501/35916.html
Jetzt brauchen wir nur noch die entsprechende TF-Anbindung. :o)

-----------------------------------------------------------------------------



Client fuers MG (Grimmborn, 17. Dez 2005, 23:53:24):
~#! on=Humni ot=1134859680 og=hardsoftware
Taranis hat (in einer Aktion, die Anerkennung verdient) ein TF-Paket mit
Skripten und einem vorkompilierten Linux-TF erstellt. Erhaeltlich unter ftp
mg.mud.de als anonymous, MG_TF_Paket-1.0.tar.bz2 unter Software/Clients.

Wer also TinyFugue noch nicht kennt: Da gibts eins fuer Linux.

Bugreports an Taranis ;-)

Humni

-----------------------------------------------------------------------------



Re: Client fuers MG (Wurzel, 22. Dez 2005, 11:56:14):
~#! rn=Grimmborn rt=1134860004 rg=mudclients
~#! tid=1134860004
liegt auch das /werde_seher-skript bei? 

-----------------------------------------------------------------------------



Re: Re: Client fuers MG (Taranis, 22. Dez 2005, 11:58:54):
~#! rn=Wurzel rt=1135248974 rg=mudclients
~#! tid=1134860004
Selbstverstaendlich. Und in der kostenpflichten Bonusversion gebe ich sogar
/make_erzmagier dazu.
Taranis

-----------------------------------------------------------------------------



Probleme mit dem MUSH-Wegesystem (Terry, 11. Feb 2007, 21:31:08):
Huhu,
Cutter hat mich drauf aufmerksam gemacht, dass es im Seherwegesystem ein
Problem mit dem Scripten von Portalen aus gibt. Es ist behoben - der Trigger
muss jetzt *Ein magisches Portal.* heissen. Wer das nicht selbst veraendern
kann oder will kann mir einfach eine Mail schreiben und ich schicke es nochmal
raus. Bitte gebt dann aber eure Adresse an.
Terry.

-----------------------------------------------------------------------------



TinyMacros SVN (Mesirii, 12. Mai 2007, 23:03:31):
So, nach unendlich langer Zeit habe ich es geschafft und mal ein svn fuer die
TinyMacros eingerichtet. Ich habe versucht die Aenderungen die seit dem
letzten mal erfolgt sind, einzupflegen, bin aber nicht sicher, ob alles
noch tut, bzw. was noch fehlt. Also bin ich auf Eure Hilfe angewiesen.
Wer mal damit rumtesten moechte, kann sich das svn ziehen, wenn das einen
ausgereiften stabilen stand erreicht hat, label ich das und mach nen
installer draus.
Mesi
svn co svn://www.tinyfugue.de/var/svn/TinyMacros

-----------------------------------------------------------------------------



Re: TinyMacros SVN (Mesirii, 13. Mai 2007, 12:21:59):
~#! rn=Mesirii rt=1179003811 rg=mudclients
~#! tid=1179003811
Also koennt ihr jetzt auch gern Eure Aenderungswuensche, Bugs und Bugfixes
bei mir einreichen. Wer selber TF programmieren kann und mithelfen moechte
ist natuerlich auch gern eingeladen, sich am Projekt zu beteiligen. Es
hat sich in diversen Gilden und Faehigkeiten einiges getan, das vielleicht
Niederschlag finden sollte.

Danke & Gruss
Mesi

-----------------------------------------------------------------------------



TF (Grimmborn,  3. Jul 2007, 13:47:08):
~#! on=Vanion ot=1183457086 og=hardsoftware
Jedesmal geht das Gesuche wieder los ...

Irgendwo im Netz gibt es doch einen Link auf die gepatchte Version von TF, die
ein bischen mehr als die 8 Farben der Standardversion kann ... Und irgendwo im
Netz finde ich doch sicher auch eine Gebrauchsanleitung fuer die TF-Macros
(und deren neueste Version).

Ich weiss, es gibt sicher sogar eine Seite in der drin steht, wo diese Seiten
stehen. Nur finde ich die auch nicht. Jedenfalls nicht mit ertraeglichem
Aufwand.

V*, findet zwar http://tf-macros.sourceforge.net/ aber steigt durch die
Navigation da nicht durch.

-----------------------------------------------------------------------------



Re: TF (Zesstra,  3. Jul 2007, 13:55:07):
~#! rn=Grimmborn rt=1183463228 rg=mudclients
~#! tid=1183463228
Schau mal auf ftp://mg.mud.de/Software/Clients/TinyFugue/
tf-40s1.tar.gz oder tf-20030803.tar.gz koennte das sein, was Du suchst. Fuer
gcc-4 musst du noch den Patch tf40s1-gcc4.patch anwenden.

Zesstra

-----------------------------------------------------------------------------



Re: Re: TF (Zesstra,  3. Jul 2007, 13:57:59):
~#! rn=Zesstra rt=1183463707 rg=mudclients
~#! tid=1183463228
Muesste tf-20030803.tar.gz sein. Oder auch:
http://tf-macros.sourceforge.net/packages/tf-20030803.tar.gz

Zesstra

-----------------------------------------------------------------------------



Re^3: TF (Vanion,  3. Jul 2007, 14:06:19):
~#! rn=Zesstra rt=1183463879 rg=mudclients
~#! tid=1183463228
Das ist die Version mit den erweiterten regexpressions (pcre) und
open-ssl-Anbindung. Die krieg ich auf meinem Zielsystem nicht mit vertretbarem
Aufwand installiert, da die Bibliotheken fehlen und ich die entsprechenden
Rechte da nicht hab. Ich will die eigentlich auch gar nicht, sondern nur ein
bischen mehr Farbauswahl.

Aber danke fuers helfen,
V*

-----------------------------------------------------------------------------



Re^4: TF (Zook,  3. Jul 2007, 14:15:35):
~#! rn=Vanion rt=1183464379 rg=mudclients
~#! tid=1183463228
Frueher hatten wir nur simple Terminals ohne grosse
Farbauswahl. Verwoehnte Jugend! Z

-----------------------------------------------------------------------------



Re^5: TF (Conar,  3. Jul 2007, 14:54:43):
~#! rn=Zook rt=1183464935 rg=mudclients
~#! tid=1183463228
Frueher war alles Besser!
Gruss Conar

-----------------------------------------------------------------------------



Re^6: TF (Maharet,  3. Jul 2007, 16:12:44):
~#! rn=Conar rt=1183467283 rg=mudclients
~#! tid=1183463228
Aber nicht so schoen bunt.

-----------------------------------------------------------------------------



Re^7: TF (Zook,  3. Jul 2007, 16:13:06):
~#! rn=Maharet rt=1183471964 rg=mudclients
~#! tid=1183463228
Wir hatten damals noch Fantasie und mussten uns die Sachen 
vorstellen. Z

-----------------------------------------------------------------------------



Re^9: TF (Conar,  3. Jul 2007, 16:15:52):
~#! rn=Leyla rt=1183472024 rg=mudclients
~#! tid=1183463228
Das sagte ich doch schon

-----------------------------------------------------------------------------



Re^10: TF (Betty,  3. Jul 2007, 19:18:36):
~#! rn=Conar rt=1183472152 rg=mudclients
~#! tid=1183463228
Genau. Und Jof hat noch mit Lochkarten gequestet!

-----------------------------------------------------------------------------



Re^11: TF (Maharet,  3. Jul 2007, 19:37:49):
~#! rn=Betty rt=1183483116 rg=mudclients
~#! tid=1183463228
Jof hat gequestet?

-----------------------------------------------------------------------------



Re^12: TF (Zesstra,  3. Jul 2007, 19:43:12):
~#! rn=Maharet rt=1183484269 rg=mudclients
~#! tid=1183463228
Im Nightfall vermutlich. ;-)

Zesstra

-----------------------------------------------------------------------------



Re^13: TF (Rumata,  3. Jul 2007, 19:43:52):
~#! rn=Zesstra rt=1183484592 rg=mudclients
~#! tid=1183463228
Wir hatten den Public Enemy mit dem Szepter von Legoland geplaettet.
*schwelg*

-----------------------------------------------------------------------------



Re^12: TF (Vanion,  3. Jul 2007, 19:49:29):
~#! rn=Maharet rt=1183484269 rg=mudclients
~#! tid=1183463228
Propaganda.

V*

-----------------------------------------------------------------------------



Re^7: TF (Alkohol,  3. Jul 2007, 20:10:04):
~#! rn=Maharet rt=1183471964 rg=mudclients
~#! tid=1183463228
also es gab schon vor langer zeit mudden in pink und das war mir definitiv zu
bunt

Alki

-----------------------------------------------------------------------------



Re^14: TF (Boing,  4. Jul 2007, 11:32:08):
~#! rn=Rumata rt=1183484632 rg=mudclients
~#! tid=1183463228
Beim Public Enemy hab ich Jof kennengelernt ...
  Boing

-----------------------------------------------------------------------------



Re: TinyMacros SVN (Zesstra,  4. Jul 2007, 11:44:58):
~#! rn=Mesirii rt=1179003811 rg=mudclients
~#! tid=1179003811
Ich hab gerade mal anfangen, auf das SVN-Repo umzustellen. Dabei ist mir
aufgefallen, dass das Repo den ganzen Dunkelelfenkram nicht enthaelt. Ist das
Absicht oder hast Du es einfach nur vergessen?

Zesstra

-----------------------------------------------------------------------------



TF 5.0 b8 (Vanion,  4. Jul 2007, 14:41:41):
Ich habe gestern noch ein bischen gesucht. Das neue TF 5.0 enthaelt bereits
die drei Patches von Vardion und Ogo (Viele Farben, PCRE und Openssl). Die
jeweiligen Bibliotheken werden mitgeliefert oder koennen dynamisch eingbunden
werden, so dass das TF auch ohne die Libraries compiliert.

Das TF-Paket buggt aufgrund der vielen Aenderungen am TF. Bei Keybindings hat
sich z.B. die Syntax geaendert, da waere Fleissarbeit noetig. Und Statuszeilen
sind einfacher geworden, syntaxmaessig aber nicht ganz kompatibel. Es
funktioniert, dabei scrollen aber Warnings.

Vielleicht lohnt es sich, das TF-Makropaket in der Hinsicht mal anzupacken,
oder spricht aus eurer Sicht was dagegen (Argumente wie: TF 5.x is doof und
stinkt haette ich, wenn sie fallen, gern mit einer weiteren Begruendung
untermauert.)

V*

-----------------------------------------------------------------------------



Re: TF 5.0 b8 (Zesstra,  4. Jul 2007, 14:45:08):
~#! rn=Vanion rt=1183552901 rg=mudclients
~#! tid=1183552901
Da spricht sicher gar nix gegen. Mesirii hatte da auch schonmal was angepackt,
wenn ich mich recht erinner. Es gibt ja auch (s. diese Rubrik) inzwischen ein
SVN-Repo fuer die Makros.

Zesstra

-----------------------------------------------------------------------------



Re: TF 5.0 b8 (Maharet,  4. Jul 2007, 14:45:22):
~#! rn=Vanion rt=1183552901 rg=mudclients
~#! tid=1183552901
Mesi hatte gesagt, dass da immer noch was rumbuggt an TF 5 und er deswegen da
irgendwas noch nicht anpassen kann.

-----------------------------------------------------------------------------



zMud Hilfeforum back online (Kenny, 20. Aug 2007, 16:15:37):
Hallo Freunde des zMUD Clients,
Aufgrund meiner vermehrten Aktivitt in den letzten Wochen, habe ich die
ehemalige Seite www.raged.de wieder aktiviert.
Bestehend aus einem Hilfeforum in dem Ihr eure Fragen stellen knnte oder
anderen etwas selbstgeschriebenes zeigen koennt, sowie eine Download-Datenbank
fuer allgemeine Scriptpakete, wie man sie auch fuer TF erhalten kann.
Gerne gebe ich auch Moderator-Rechte an freiwillige Mitnutzer.
VG
Kenny

-----------------------------------------------------------------------------



Re: zMud Hilfeforum back online (Kenny, 23. Aug 2007, 14:10:01):
~#! rn=Kenny rt=1187619337 rg=mudclients
~#! tid=1187619337
Ahoi, wieschon geschrieben ist das Hilfeforum wieder Online und freut sich auf
Anmeldungen :)
Fr die gelangweilten habe ich ein Foren-Sudoku installiert :)

-----------------------------------------------------------------------------



tf text rauskopieren (Innuendo,  9. Okt 2008, 19:10:46):
hallo
ich wuerde gerne wissen, wie ich in tf einen text markieren und rauskopieren
kann, in die windows-zwischenablage z.b. oder andere moeglichkeit waere auch
ein logfile zu erstellen, das alles automatisch speichert... kann mir das wer
erklaeren mit den genauen befehlen? 
danke schon mal im voraus!
gruessle innu.

-----------------------------------------------------------------------------



Re: tf text rauskopieren (Rumata,  9. Okt 2008, 20:39:50):
~#! rn=Innuendo rt=1223572246 rg=mudclients
~#! tid=1223572246
Tipp im TF mal "/help log"

Rumata

-----------------------------------------------------------------------------



TF-Makros: Basic (Gloinson, 31. Okt 2008, 20:31:44):
Eine kleinen Diku auf -anf folgend hier mal meine grundlegenden Makros. Einige
davon sind nicht allzu up-to-date, aber es funktioniert zufriedenstellend ;)

; Teddy-LP Trigger
/def -ag -p10 -mregexp -t'^Du hast jetzt (.*) Lebenspunkte und (.*)
Konzentrationspunkte.$'=\
  /eval /set LPdiff $[%P1 - %LP] %; \
  /eval /set MPdiff $[%P2 - %MP] %; \
  /set LP %P1 %; \
  /set MP %P2 %; \
  /if (LPdiff=0 | LPdiff=1) \
    /set LPklammer= %; \
  /elseif (LPdiff>1) \
    /eval /set LPklammer (+%LPdiff) %; \
  /else \
    /eval /set LPklammer (%LPdiff) %; \
  /endif %; \
  /if (MPdiff=0 | MPdiff=1) \
    /set MPklammer= %;  \
  /elseif (MPdiff>1) \
    /eval /set MPklammer (+%MPdiff) %; \
  /else \
    /eval /set MPklammer (%MPdiff) %; \
  /endif %;\
  /eval /echo -arCyellow LP %P1 %LPklammer  MP %P2 %MPklammer

; LP Gegner
/def -ag -i -mglob -t'* ist absolut fit.' = /echo -aBCwhite 100 %
/def -ag -i -mglob -t'* etwas geschwaecht.' = /echo -aBCwhite 90 %
/def -ag -i -mglob -t'* heute schon besser.' = /echo -aBCwhite 80 %
/def -ag -i -mglob -t'* leicht angeschlagen.' = /echo -aBCwhite 70 %
/def -ag -i -mglob -t'* nicht mehr taufrisch aus.' = /echo -aBCwhite 60 %
/def -ag -i -mglob -t'* mitgenommenen Eindruck.' = /echo -aBCwhite 50 %
/def -ag -i -mglob -t'* wankt bereits bedenklich.' = /echo -aBCwhite 40 %
/def -ag -i -mglob -t'* keiner guten Verfassung.' = /echo -aBCwhite 30 %
/def -ag -i -mglob -t'* dringend einen Arzt.' = /echo -aBCwhite 20 %
/def -ag -i -mglob -t'* Schwelle des Todes.' = /echo -aBCwhite 10 %

; Angriff
/def -i -ag       -mglob     -t'  Du verfehlst *'
/def -i -PhCblue  -mregexp   -t'^  Du (kratzt|kitzelst)'
/def -i -F -PhCgreen -mregexp -t'^  Du triffst'
/def -i -F -PhCgreen -mregexp -t'(hart\\.|sehr hart\\.)$'
/def -i -PuhCgreen -mregexp  -t'Du (schlaegst|zerschmetterst)'
/def -i -PrhCgreen -mregexp  -t'Du
(zerstaeubst|pulverisierst|atomisierst|vernichtest)'

; Abwehr
/def -msimple -ag -t'Du wehrst den Spruch ab.'=\
        /eval /set dddadd=$[strcat(%dddadd," [R]")] %; \
        /eval /set dddt=$[time()] %;

/def echo_defense=\
 /if (dddt!=time()) /unset dddadd%; /endif%;\
 /if (cll=0 & dddadd !~ "") /eval /test \
        echo("  $[%ddd1]@{h}$[%dddadd]","",1)%; \
 /elseif (cll=1) /eval /test \
        echo("$[%ddd1] @{hCblue}$[%ddd2]@{n}@{h}$[%dddadd]","",1)%; \
 /elseif (cll=2) /eval /test \
        echo("$[%ddd1] @{hCred}$[%ddd2]@{n} $[%ddd3]@{h}$[%dddadd]","",1)%; \
 /elseif (cll=3) /eval /test \
        echo("$[%ddd1] @{uhCred}$[%ddd2]@{n} $[%ddd3]@{h}$[%dddadd]","",1)%;
\
 /elseif (cll=4) /eval /test \
        echo("$[%ddd1] @{rhCred}$[%ddd2]@{n}@{h}$[%dddadd]","",1)%; \
 /endif%;/unset dddadd%;

/def -i -ag -mregexp -t'verfehlt Dich.$'=\
 /if (show_damage=1) \
   /set ddd1=%* %; /unset ddd2 %; /unset ddd3 %; /set cll 0 %;
/echo_defense%; \
 /endif
/def -i -ag -mregexp -t'(kitzelt Dich am Bauch|kratzt Dich)\\.$'=\
 /set ddd1=%PL %; /set ddd2=%P0 %; /unset ddd3 %; /set cll 1 %;
/echo_defense%;
/def -i -ag -p2 -mregexp -t'(trifft Dich sehr hart\\.|trifft Dich
hart\\.|trifft Dich\\.)'=\
 /set ddd1=%PL %; /set ddd2=%P0 %; /set ddd3=%PR %; /set cll 2 %;
/echo_defense%;
/def -i -ag -mregexp -t'(zerschmettert Dich|schlaegt Dich)'=\
 /set ddd1=%PL %; /set ddd2=%P0 %; /set ddd3=%PR %; /set cll 3 %;
/echo_defense%;
/def -i -ag -mregexp -t'(pulverisiert|zerstaeubt|atomisiert|vernichtet)
Dich\\.$'=\
 /set ddd1=%PL %; /set ddd2=%P0 %; /unset ddd3 %; /set cll 4 %;
/echo_defense%;

; Tod
/def -ahCmagenta -mglob -t'* faellt tot zu Boden.'

; Kanaele et al
/def -i -PBCyellow  -mregexp -F -t'(\\[|\\])'
/def -i -PhCyellow  -mregexp -F -p2 -t'Allgemein:'
/def -i -PuCgreen  -mregexp -F -p2 -t'D-chat:'
/def -i -PuCred  -mregexp -F -p2 -t'D-code:'
/def -i -PrCgreen   -mregexp -F -t'(teilt Dir mit:|sagt:)'
/def -i -PCgreen   -mregexp -F -t'(Jof|Rumata|Zook)'

/def -i -auhCred -msimple -t'Die Angst ist staerker als Du ... Du willst nur
noch weg hier.'




-----------------------------------------------------------------------------



TinyMacros @ github (Mesirii, 28. Jul 2009, 04:54:04):
Wurde mal Zeit
clone: git://github.com/jexp/TinyMacros.git
Falls wer mitmachen will, bitte github user mailen.
Ich habe auch zwei nette neue Gimmicks:
1) Wegesystem ist jetzt robuster und kann auch Knoten mit Ausgaengen und/oder
ohne erkennen
2) dazu gibts ne neue Funktion strcmpn in utils.sfunc.tf die zwei strings
vergleicht und die anzahl der gleichen zeichen zurueckgibt.
3) ich hab mal eine notes.tf angenfangen, mit der man notizen an raeumen (lang
und kurzbeschreibung) dranhaengen kann
Ist noch roh, ohne Doku und so: die zwei befehle sind:
/note text nimmt sich beschreibung aus kschau
/lnote text nimmt ersten satz der langbeschreibung aus schau
Angezeigt werden die infos per low prio trigger, direkt wenn der gespeicherte
Text getriggert wird.
Mesi

-----------------------------------------------------------------------------



Re: TinyMacros @ github (Zesstra,  5. Aug 2009, 13:39:44):
~#! rn=Mesirii rt=1248749644 rg=mudclients
~#! tid=1248749644
Oh, nett. Muss ich nachher mal clonen. Danke schoen. Mal gucken, ob ich
irgendwann mal Kleinigkeiten hab, die ich auch kann. ;-)
:findet die TF-Makrosprache nicht besonders.

Zesstra

-----------------------------------------------------------------------------



tf auf Fritz!Box Fon Wlan 7170 (Deepblue, 11. Apr 2010, 10:00:43):
Moin,
hat schon mal jemand versucht, TF auf ner Fritzbox zu installieren und kann
ggf. Erfahrungen/Howtos/etc. schildern?

-----------------------------------------------------------------------------



Re: tf auf Fritz!Box Fon Wlan 7170 (Vanion, 11. Apr 2010, 15:33:44):
~#! rn=Deepblue rt=1270972843 rg=mudclients
~#! tid=1270972843
Mir fehlt ehrlich gesagt gerade die Phantasie, den Sinn einer solchen Aktion
zu erkennen. Ich nehme an, es ist ein "Weil es geht."

V*

-----------------------------------------------------------------------------



Re: Re: tf auf Fritz!Box Fon Wlan 7170 (Deepblue, 11. Apr 2010, 17:44:13):
~#! rn=Vanion rt=1270992824 rg=mudclients
~#! tid=1270972843
nein, das hat schon tiefere Gruende, und ich weiss ja nicht, ob es geht.

Also nur mal die Situation:
Ich habe oefters (verschiedene) Firmenlaptops, auf denen ich aber kein
cygwin/tf installieren will. Trotzdem waere es gut, da nebenbei mit
anstaendigem Client ins MG zu kommen und auch die Daten Syncron zu halten.
Nun koennte man sich nen Server hinstellen, auf dem das TF laeuft. Aber extra
dafuer nen Server (ich brauch sonst keinen) ist mitr zu umstaendlich.
Nun kam gestern auf der Party der Einwurf, dass die meisten Router ja am ende
auch nur nen spezieller Linux-PC sind - und die Fritzbox laeuft unter Debian.
Und der Router laeuft immer.
Also wieso nicht das Ding als TF-Server missbrauchen, so das zuverlaessig
geht?

-----------------------------------------------------------------------------



Webtelnet (Mesirii, 12. Apr 2010, 02:50:51):
Vanhelsing hatte mich darauf aufmerksam gemacht, das das Webtelnet offline
war.
Geht jetzt wieder, falls es Probleme gibt, bitte Bescheid sagen.
E-Mail: webtelnet at mesirii de
Mesi

-----------------------------------------------------------------------------



Re^3: tf auf Fritz!Box Fon Wlan 7170 (Grumpf, 12. Apr 2010, 08:47:02):
~#! rn=Deepblue rt=1271000653 rg=mudclients
~#! tid=1270972843
Moinsen,
wenn Du mit WinTF klarkommst, das laeuft prima vom USB Stick.
MfG
Grumpf

-----------------------------------------------------------------------------



Re^4: tf auf Fritz!Box Fon Wlan 7170 (Gloinson, 12. Apr 2010, 16:16:32):
~#! rn=Grumpf rt=1271054822 rg=mudclients
~#! tid=1270972843
Amuesanterweise haben wir da am WE gerade drueber gewitzelt, weil ich meine
Fritzbox mal eine Weile fuer VPN benutzt habe (Kontext: VPN ueber die
Buchbar-Verbindung gelegt).


-----------------------------------------------------------------------------



Re: tf auf Fritz!Box Fon Wlan 7170 (Zesstra, 12. Apr 2010, 22:36:11):
~#! rn=Deepblue rt=1270972843 rg=mudclients
~#! tid=1270972843
Ich denke, es wird an den Abhaengigkeiten fuers Kompilieren fehlen. Vermutlich
muesstest Du extern ein TF fuer die Architektur der Box (ARM?) erzeugen (am
besten statisch gelinkt, damit die Ausfuehrungsabhaengigkeiten minimiert
sind). Eigene Erfahrungen hab ich damit aber nicht, sorry.

Zesstra

-----------------------------------------------------------------------------



Webtelnet kaputt (Deepblue,  3. Mai 2010, 17:51:02):
Das WebTelnet meldet im Moment "Too many connections" - kann das mal bitte
jemand fixen?

-----------------------------------------------------------------------------



Re: Webtelnet kaputt (Zesstra,  3. Mai 2010, 21:56:41):
~#! rn=Deepblue rt=1272901862 rg=mudclients
~#! tid=1272901862
AFAIK kann das nur Mesirii.

Zesstra

-----------------------------------------------------------------------------



TF nun mit internem RC4 Encrypt/Decrypt (Vardion, 15. Aug 2010, 18:11:50):
Moin,

nach 8 Jahren habe ich mich mal wieder an die TF Sourcen sowie Scripte gewagt.
Hintergrund war, dass CTM auf Mesiriis MacOS nicht gescheit funktioniert hat,
dort hat offenbar das OpenSSL-Binary andere Kommandozeilenoptionen oder die
Shell funktioniert grundsaetzlich anders als unter Linux/Cygwin.
Dies hat mich dazu motiviert, etwas nachzuholen, was ich haette schon vor 8
Jahren tun sollen: ich habe die Funktionalitaet fuer die RC4 Ver- und
Entschluesselung direkt in das TF-Binary eingebaut (unter Verwendung der
libcrypto aus dem OpenSSL-Paket, welche wir ja eh schon fuer MD5 nutzen).
Wie kommt ihr an die Sachen?

TF: aktuelle Sourcen auf dem CVS bei SourceForge ziehen und uebersetzen.
Vielleicht mag irgendwer neue Binary-Pakete fuer Linux/Windows/MacOS bauen?

CVS-Pfade unter: http://sourceforge.net/projects/tf-macros/develop (Modul
tf-40s1) ziehen

TF-Macros: die aktuellen Macros bekommt ihr von Github per: git clone
https://github.com/jexp/TinyMacros.git

Ich habe da nur die "crypt.tf" geaendert, diese kann nun das im TF eingebaute
RC4 benutzen (sofern vorhanden).

Insgesamt wird CTM damit auch noch schneller, da die Shell-Aufrufe zum
Ver/Entschluesseln komplett entfallen.

Vardion

-----------------------------------------------------------------------------



Re: TF nun mit internem RC4 Encrypt/Decrypt (Vardion, 17. Aug 2010, 19:04:50):
~#! rn=Vardion rt=1281888710 rg=mudclients
~#! tid=1281888710
Zur einfachen Benutzung:

http://tf-macros.sourceforge.net/tf.tgz

Das TF-Binary (und nur das) uebersetzt auf einer Ubuntu 9, es sollte auch auf
den meisten anderen Distris laufen. Die restlichen zu TF gehoerenden Dateien
koennt ihr einfach von eurer bestehenden Installation behalten.

Direkter Download der geaenderten crypt.tf:

http://github.com/jexp/TinyMacros/raw/master/crypt.tf

Vardion

-----------------------------------------------------------------------------



r-emote Bug in CTM gefixt (Vardion, 17. Aug 2010, 20:37:17):
Da mir gerade nach Kaeferjagd war, habe ich nun endlich den r-emote Bug im CTM
gefixt. ich bin mir nicht sicher, wie lange der Bug schon im Code war - ob er
das von Anfang an war, oder ob ihn jemand (die Anzahl der moeglichen Jemands
ist da sehr begrenzt) ausversehen eingebaut hat... sichtbar wurde er wohl erst
durch eine Aenderung am MG, als das MG auch fuer r-emotes Zeilenumbrueche
eingebaut hat.
Im aktuellen crypt.tf (Link ein Artkel weiter oben) ist er nun jedenfalls
entfernt.

Das Problem ist: der Bug war im Empfaengerteil. Der r-emote Modus von CTM
(/ctm_remote 1) laesst sich also erst dann wieder sinnvoll einsetzen, wenn
alle CTM-Nutzer ihre crypt.tf aktualisiert haben. Nutzer mit kaputter crypt.tf
sehen derartige CTMs nicht. Garnicht - sie sehen also noch nicht einmal, dass
sie ueberhaupt eines bekommen haben.

Ich bitte daher hiermit alle CTM-Nutzer ihre crypt.tf zu aktualisieren, damit
der r-emote Modus mittelfristig wieder genutzt werden kann.

Vardion

-----------------------------------------------------------------------------



hab mal angefangen, ein neues webtelnet zu basteln (Mesirii, 24. Aug 2011, 04:36:41):
zum ausprobieren: http://server.mesirii.de/~mg/test.html

sind erstmal nur ein paar sachen drin, aber schon fast alles vom alten
webtelnet :)
* anklicken + einfaerben von richtungen
* herausziehen von stats (kurzinfo) 
* doppelklick auf substantive
* input history
* blaettern im text (page-up, -down)
* toolbar mit ein paar buttons

funktioniert ber websockets mit einem proxy-server der dann zum mud connected,
damit geht auch streaming und so.

hab ein bisschen mit jquery-ui rumgespielt fuer die UI.

TODO: 
* schick machen - es soll mindestens genauso attraktiv aussehen wie der batmud
client (guard?)

* test auf anderen plattformen (io, android, windows, andere browser) 
* test auf screenreader-freundlichkeit (Xut)

funktionalitaet (ganz frech geklaut von batclient):
* separate fenster fr aktuellen raum, ebenen, anwesende spieler, tm an einen
* frei belegbare funktionstasten (ebenen)
* statuszeile(n)
* custom code (trigger, scripte in javascript/coffeescript)
* offline modus ?
* ansi color renderer (hatte ich schon im alten webtelnet muss ich nur
umschreiben von perl)
* kompassrose fr richtungen?
* (automapper)
* team-info

Ideen und feedback sammeln.

Ist auf github unter: https://github.com/neo4j/mg_client
wer mag kann contributor werden, oder forken und pull requests machen


Gruss

Mesi

-----------------------------------------------------------------------------



Re: hab mal angefangen, ein neues webtelnet zu basteln (Zesstra, 24. Aug 2011, 18:53:34):
~#! rn=Mesirii rt=1314153401 rg=mudclients
~#! tid=1314153401
Ich hab mal eine Seite im Wiki gemacht, waer schoen, wenn ihr eure Ideen dort
ergaenzen wuerdet. Hier gehts natuerlich auch, wenn ihr nicht im Wiki
editieren wollt.

Zesstra

-----------------------------------------------------------------------------



Re: Re: hab mal angefangen, ein neues webtelnet zu basteln (Zesstra, 24. Aug 2011, 18:53:48):
~#! rn=Zesstra rt=1314204814 rg=mudclients
~#! tid=1314153401
Ok, Link waer sicher auch cool:
http://wiki.morgengrauen.info/index.php?n=MorgenGrauen.MG-Client

Zesstra

-----------------------------------------------------------------------------



Re^3: hab mal angefangen, ein neues webtelnet zu basteln (Gloinson, 24. Aug 2011, 23:37:59):
~#! rn=Zesstra rt=1314204828 rg=mudclients
~#! tid=1314153401
Was machen wir gegen die extreme Abhaengigkeit der MG-Mudder von Wegeskripten?
Mir sitzt gerade ein Neualtmudder gegenueber, der mir partout nicht bei XYZ
helfen kann, weil er sich erstmal ein Wegescript zur naechsten Kneipe bauen
muss.

So ein Fast-Auto-Wegeskript-Mapper muss unbedingt irgendwie mit hinein,
jedenfalls bei unserer Killen-Tanken-Killen-Spielart.


-----------------------------------------------------------------------------



Re^4: hab mal angefangen, ein neues webtelnet zu basteln (Ahab, 24. Aug 2011, 23:39:29):
~#! rn=Gloinson rt=1314221879 rg=mudclients
~#! tid=1314153401
Ich haette ja spontan gesagt "da haengen wir kurzerhand Mesis Java-Mapper
mit dran". Vermutlich ist das etwas zu blauaeugig; das muesste sich auf 
jeden Fall jemand anschauen, der da besseren Ueberblick hat als ich.

Ahab.

-----------------------------------------------------------------------------



Re^4: hab mal angefangen, ein neues webtelnet zu basteln (Zesstra, 25. Aug 2011, 00:14:26):
~#! rn=Gloinson rt=1314221879 rg=mudclients
~#! tid=1314153401
Ich hatte in Salem sogar mal einen fluechtigen Gedanken, ob man nen Mapper ins
Mud einbauen koennte und sich dann im Client spaeter die selbst erstellten
Karten anzeigen lassen koennte... Aber das ist bislang sicher nicht
durchdacht. ;-)

Zesstra

-----------------------------------------------------------------------------



Re^5: hab mal angefangen, ein neues webtelnet zu basteln (Mesirii, 25. Aug 2011, 00:28:05):
~#! rn=Ahab rt=1314221969 rg=mudclients
~#! tid=1314153401
Das koennen wir auch in Javascript in dem web-client machen. Dann kann er
seine Karten da halten und es sieht dann so aus wie beim BatClient.

Wozu ich gern feeback haette: was sind die sinnvollsten und einfachsten
Syntaxen, trigger, hooks, etc zu definieren. Und wie sag ich, wie z.b. makros
und trigger mit dem client / ui interagieren.

Den Ansatz den ich grad ausprobiere ist eher deklarativ. D.h. man sagt, dass
man z.b. ein
output fenster mit tabs haben will und dann pro Tab halt, welche trigger da
wie reinfliessen.

Z.b. addTriggerWindow("Info", { p_info : { title : "Info", start: /- .+ ----/,
end : "-----" }, tms : { title : "Kommunikation", trigger : /(teilt Dir
mit|^Du teilst)/ }});
addButtons("Gilde", { chaoshaut : { title: "Chaoshaut", command : "chaoshaut",
key : "F10" }, ...})
addTrigger("ausgaenge" : { trigger : /(osten|norden...)/, highlight :
"color:red", click : "input(\"$1\")" }, { trigger: /nervt Dich/, replace : ""
} , { trigger : /was wichtiges/, replace : function (text) {return
text.upcase() } );

Dann natuerlich noch die frage : deutsch oder englisch fuer funktionsnamen.

Mesi

-----------------------------------------------------------------------------



Re^6: hab mal angefangen, ein neues webtelnet zu basteln (Humni, 25. Aug 2011, 00:59:05):
~#! rn=Mesirii rt=1314224885 rg=mudclients
~#! tid=1314153401
Klingt interessant. Uebrigens: Selbst WoW-Spieler sind bereit, sowas wie
Funktionen und Makros zu schreiben. Ok, viele klauen die nur von anderen. Aber
das macht nix, die tun das, jawohl! Und die von anderen zu klauen ist ja hier
im Mud eh normal - dann halt auch im WebClient.

Humni, der ohne Mesis Wegesystem auch mehr Probleme haette

-----------------------------------------------------------------------------



Re^7: hab mal angefangen, ein neues webtelnet zu basteln (Mesirii, 25. Aug 2011, 04:25:33):
~#! rn=Humni rt=1314226745 rg=mudclients
~#! tid=1314153401
Ich hab den Client aktualisiert, das Layout sieht jetzt anders aus, man kann
auch die 
Fensterchen alle wegblenden wenn man will.

Ich hab auch noch ein paar Ideen ins Wiki geschrieben. Danke Zesstra fuers
Anlegen.

Ich braeuchte Eure Hilfe:
Zum einen muss der Client auf verschiedenen Browsern, Betriebssystemen usw
getestet werden.
Waer toll wenn ihr das machen koenntet, bei Fehlern jeder Art bitte mail an
mich.
mg_client at mesirii.de (moegilichst mit Ausgaben vonJavascript-Konsolen
Fehlern oder Popup-
Dialog Fehlermeldungen) Und Angabe ueber Browser und Version und OS.

Die zweite Sache: Ich wuerde gern in dem client inhalte von mud objekten
abbilden, die 
dann durch trigger aktualisiert werden.

Das sind z.b. spieler-infos, team-infos, raum, gegner, spells usw.
Da es doch aufwaendiger ist, die ganzen Trigger und Funktionen von TF auf
JavaScript umzustellen
wuerde ich mich freuen, wenn diejenigen von Euch die JS programmieren koennen
(oder
ne andere Programmiersprache) sich bei mir zu melden so dass man abstimmen
kann, wer was macht.

Danke Mesi

-----------------------------------------------------------------------------



Re^4: hab mal angefangen, ein neues webtelnet zu basteln (Sky, 25. Aug 2011, 11:37:48):
~#! rn=Gloinson rt=1314221879 rg=mudclients
~#! tid=1314153401
"team autofolge" einfach wieder so funktionieren lassen wie "frueher"

-----------------------------------------------------------------------------



Re^5: hab mal angefangen, ein neues webtelnet zu basteln (Mesirii, 25. Aug 2011, 12:23:18):
~#! rn=Sky rt=1314265068 rg=mudclients
~#! tid=1314153401
Ich hab ihn wieder mal aktualisiert, sollte jetzt deutlich aufgeraeumter sein,
und ein
Vorgeschmack auf avatar-bilder ist jetzt auch drin.
Viele interne umstrukturierungen, so dass dann bald eigene skripte, trigger,
fenster, buttons
folgen koennen.

Wie gehabt freue ich mich ueber feedback. Was jetzt cool waere, wenn jemand
der von
css und grafik ahnung hat, das ding richtig attraktiv gestalten koennte.

Mesi

-----------------------------------------------------------------------------



Re^6: hab mal angefangen, ein neues webtelnet zu basteln (Zesstra, 25. Aug 2011, 12:49:12):
~#! rn=Mesirii rt=1314224885 rg=mudclients
~#! tid=1314153401
Mhmmm. Also, fuer mich ist so eine Scriptsprache OK, aber ich denke, viele
Spieler werden da auch abwinken.

Ich denke, da waere wichtig, auch - vielleicht mit weniger Moeglichkeiten -
eine UI fuer bereitzustellen, d.h. z.B. Eingabe von Triggername, Matchtyp
(beginnt mit, endet mit, is, contains, RegExp), Pattern, Aktion (Einfaerben
(FG/BG-Farbe), Clientmakro ausfuehren, Textzeile umleiten in anderes Fenster,
Variable x setzen).

Zesstra

-----------------------------------------------------------------------------



Re^7: hab mal angefangen, ein neues webtelnet zu basteln (Mesirii, 25. Aug 2011, 16:04:39):
~#! rn=Zesstra rt=1314269352 rg=mudclients
~#! tid=1314153401
Zur Zeit sieht das z.b. so aus (fuer textumleitung in ein fenster mit tabs):
addWindow("Spieler",
    { p_info: { 
    title: "Info", start:/- .+ -{3,}$/,  
    end:
/----------------------------------------------------------------------/ },
      p_inventory : { title: "Inventory", start : /^(inv|inventory|i)\s*$/ },
      p_ausruestung : { title: "Ausr&uuml;stung", start :
/^(ar|ausruestung)\s*$/ ,
      fun : function(text) {
setTabText("p_ausruestung",color_escapes(escapeHTML(text))) }
     }
    });
highlight + action trigger:
highlight({ 
  trigger: /Test/, 
  style : { color:"red" }, 
  click: function(text) { return "input(\""+text+"\")";}
  })
buttons (wird noch ausgebaut):
add_button("Info","info");

Habs versucht halt soweit es geht deklarativ zu halten.

-----------------------------------------------------------------------------



Re^5: hab mal angefangen, ein neues webtelnet zu basteln (Gloinson, 27. Aug 2011, 01:06:20):
~#! rn=Sky rt=1314265068 rg=mudclients
~#! tid=1314153401
Sky hat verstanden, worauf ich hinauswollte. Angeregt durch eine Diskussion,
hier mal praezisiert:

- Tanken und Vortanken sind fuer heutiges Metzeln essentiell
  (tragbare Tanken aussen vor)
- ein Newbie ist fuer ein Team nutzlos
  * ohne schnell kopierbares Skript zur naechsten Tanke/Enttanke ODER
  * (ohne wiederhergestellte Autofolge-Funktion)

Bei einem neuen Client muessen wir auf diese Eigenarten des MUDs schon
Ruecksicht nehmen ODER diese Eigenarten arg beschraenken (und zB durch
tragbare Tanken ersetzen ... was ich so ad hoc und ohne Gegenbalance nicht so
toll finde).


-----------------------------------------------------------------------------



Re^4: hab mal angefangen, ein neues webtelnet zu basteln (Ark, 29. Aug 2011, 11:14:36):
~#! rn=Gloinson rt=1314221879 rg=mudclients
~#! tid=1314153401
Nerja, ich spiel schon seit ... hm ... immer ohne Scripte und kam (ja, oft mit
Kampfhilfe, aber darum geht es nicht) recht gut ohne Wegescripte zurecht ...
Kenntnis schuetzt vor Scriptneubasteln (anscheinend verliert man alte oder
versteht sie nicht mehr) :-)
Just my 2 pieces of unnecessary infos :-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^5: hab mal angefangen, ein neues webtelnet zu basteln (Mesirii,  6. Sep 2011, 14:31:17):
~#! rn=Ark rt=1314609276 rg=mudclients
~#! tid=1314153401
Args, ich hatte aus versehen das repository in der Firma angelegt, ich habs
mal
zu mir verschoben.
https://github.com/jexp/mg_client
Naechste Schritte sind:
- mit guard an der UI basteln
- socket.io zum laufen kriegen
- avatar-bilder einbauen
- feedback von euch durcharbeiten.

Btw. man kann feedback auch auf github als issues anlegen.

Micha

-----------------------------------------------------------------------------



webclient: trigger-definition-frage (Mesirii, 11. Sep 2011, 10:33:50):

Zur Zeit kann man trigger so definieren:

highlight({ trigger: /Konzentration: 0 \|.+\| +(\d+) \((\d+)\)$/, 
        action : function(args) { 
           Player.kp = args.groups[0]; Player.max_kp = args.groups[1]; 
        }})

d.h. die action function bekommt eine struktur 
(ist ein: object, hash, dictionary, map - je nach sprache) uebergeben.
in der in verschiedenen attributen:
* line: orginalzeile
* match: gefundener trigger-ausdruck
* groups: klammerausdruecke
* trigger: die original-trigger-definition (fuer zusatzparameter z.b.)

uebergeben wird. Ich bin mir nicht sicher, ob das die beste Variante
fuer den Endnutzer ist.

Alternative koennte sein, die Informationen einzeln zu uebergeben, was
dann aber zur folge haette, dass man bei der funktions-angabe immer
alle parameter mit angeben muss, die einen nicht interessieren
(jedenfalls alle die vorher kommen). 

z.b.
        action : function(trigger, line, match, groups) { 
man kann die gruppen auch aufspalten, so dass sie einzeln uebergeben
werden.
        action : function(trigger, line, match, kp, max) { 

man kann auch die Reihenfolge umkehren so dass die gruppen zuerst
kommen, dann muss man nur diese angeben, wenn sie einen interessieren.
Wenn man aber auf die anderen parameter zugreifen will muss man
doll aufpassen und muss erst einmal alle potentiellen Gruppen angeben.

minimal:
        action : function(kp, max) { 
andere parameter:
        action : function(kp, max, trigger, line, match) { 

Ich wuerde gern wissen, was Eure Meinung zu so einer API ist? TF hatte
die ganzen Parameter halt in "Special" Variablen (P0, P1,...) , auf die man
zugreifen konnte, da gab es als Parameter nur die Worte der ganzen Zeile.


Danke

Mesi

-----------------------------------------------------------------------------



webclient-news (Mesirii, 12. Sep 2011, 01:25:56):
Er hat einiges dazugelernt:
* passworte werden jetzt versteckt
* buttons und doppelclicks machen keinen reconnect mehr
* verarbeiten von info, finger (parsen, speichern, tw. anzeige)
* team info parsen und tw. anzeigen

Es fehlt jetzt noch ne schicke UI fuer die Anzeige der Spieler und Team-Infos.
Und sicher anderer Kram.
Das naechste ist dann wohl erstmal Doku, weil es geht schon viel mehr als man
sehen kann :)
Mesi
P.S. Feedback waer toll

-----------------------------------------------------------------------------



Re: webclient-news (Mesirii, 12. Sep 2011, 03:23:53):
~#! rn=Mesirii rt=1315783556 rg=mudclients
~#! tid=1315783556
Ich hab mal die Wikiseite aktualisiert und da mal die bisherigen Features
aufgelistet. Kann als Kurzdoku dienen.

http://wiki.morgengrauen.info/index.php?n=MorgenGrauen.MG-Client

Mesi

-----------------------------------------------------------------------------



Re: Re: webclient-news (Arathorn, 12. Sep 2011, 18:31:29):
~#! rn=Mesirii rt=1315790633 rg=mudclients
~#! tid=1315783556
Ich wuerd ja gerne was zum Client sagen, wenn denn mit Firefox schon
irgendwas ginge. Oder mache ich was verkehrt? Ich wuerde mir jedenfalls nur
ungerne einen zusaetzlichen Browser nur dafuer installieren, wenn sich's
vermeiden liesse.

Arathorn.

-----------------------------------------------------------------------------



Re^3: webclient-news (Mesirii, 12. Sep 2011, 21:39:55):
~#! rn=Arathorn rt=1315845089 rg=mudclients
~#! tid=1315783556
Ja, die websocket connection is noch ein offener, wunder punkt, ich hatte
schonmal einen Versuch gewagt mit socket.io aber der war in die hose gegangen,
der hat staendig neu connected. Ich muss da nochmal nen proof of concept
machen der funktioniert, dann haeng ich das nochmal ein.

Jetzt ist grad erstmal die MPA im webclient dran :)
Mesi

-----------------------------------------------------------------------------



Re^4: webclient-news (Pardauz, 12. Sep 2011, 23:13:45):
~#! rn=Mesirii rt=1315856395 rg=mudclients
~#! tid=1315783556
Ich wollt mir den Webclient auch mal anschauen ... optisch im Firefox
ja schon was zu sehen, schade das die Verbindung nicht geht.
Ich hab mal spasseshalber mit IE 9 drauf geschaut. Da fehlen die
meisten UI-Elemente ganz. Und im Menue ist unter Fenster nur Status.
Verbindung zum MG geht ebenfalls nicht. Eingabezeile laesst sich
im IE 9 auch nicht abschicken, somit auch keine History.
Alles in allem sieht der Client im Firefox schon vielversprechend
aus, im IE ist noch fast nix von der Funktionalitaet zu erahnen.

Gruss Pardauz

-----------------------------------------------------------------------------



Re^5: webclient-news (Pardauz, 12. Sep 2011, 23:15:58):
~#! rn=Pardauz rt=1315862025 rg=mudclients
~#! tid=1315783556
PS:
Die Menuepunkte unter Makros sind im IE zwar sichtbar, tun aber im Gegensatz
zum Firefox nichts.

-----------------------------------------------------------------------------



Re^5: webclient-news (Mesirii, 12. Sep 2011, 23:16:16):
~#! rn=Pardauz rt=1315862025 rg=mudclients
~#! tid=1315783556
Falls Du hast, schau mal mit Chrome und/oder Safari. Die Websockets sind
in FF / IE halt noch nen problem. Ich weiss persoenlich nicht, was IE fuer
Probleme mit jquery-ui hat. 

Mesi, hat garkeine Ahnung von dem ganzen webkrams

-----------------------------------------------------------------------------



mpa-lese-support (Mesirii, 13. Sep 2011, 01:31:22):
Ich hab mal rudimentaeren MPA lese-support in den webclient eingebaut, wenn
man nach dem login "rubriken" eingibt, wird die tabelle unten befuellt und man
kommt mit einem klick zur rubrik mit allen artikeln und mit einem zweiten zum
jeweiligen artikel.

Verfassen von Artikeln kommt als naechstes. Aber jetzt ist erstmal wieder
infrastruktur dran.

Mesi

-----------------------------------------------------------------------------



Re: mpa-lese-support (Zook, 13. Sep 2011, 08:13:47):
~#! rn=Mesirii rt=1315870282 rg=mudclients
~#! tid=1315870282
mit welchem browser kann man das nu noch ma ansehen? IE? 
zook

-----------------------------------------------------------------------------



Re: Re: mpa-lese-support (Mesirii, 13. Sep 2011, 09:17:35):
~#! rn=Zook rt=1315894427 rg=mudclients
~#! tid=1315870282
Zur Zeit Chrome und Safari.
Mobile Safari geht auch schon (hab nur was kaputt-repariert).
Mesi

-----------------------------------------------------------------------------



Re^3: mpa-lese-support (Zook, 13. Sep 2011, 10:08:52):
~#! rn=Mesirii rt=1315898255 rg=mudclients
~#! tid=1315870282
Also mein Chromium muesst ich noch ma testen; so recht tat der 
glaub nicht. Kleinen Mom.
Zook.

-----------------------------------------------------------------------------



Re^4: mpa-lese-support (Zook, 13. Sep 2011, 10:11:17):
~#! rn=Zook rt=1315901332 rg=mudclients
~#! tid=1315870282
tut schon mehr, aber irgendwie kommen meine eingaben nichit
beim server an. chromium: 12.0.742.112 (90304) Ubuntu 10.04 (ohne
plugins oder so)

z

-----------------------------------------------------------------------------



Re^5: mpa-lese-support (Mesirii, 13. Sep 2011, 10:11:42):
~#! rn=Zook rt=1315901477 rg=mudclients
~#! tid=1315870282
Ok, danke fuer das feedback.
Aber anzeigen tut er jetzt schon sachen vom mud ?

Mesi

-----------------------------------------------------------------------------



Re^5: mpa-lese-support (Mesirii, 13. Sep 2011, 10:12:23):
~#! rn=Zook rt=1315901477 rg=mudclients
~#! tid=1315870282
guter punkt uebrigens ich werd mal den uralt-laptop reaktivieren da ist noch
nen windows(xp) und ubuntu drauf zum testen.

Mesi

-----------------------------------------------------------------------------



Re^6: mpa-lese-support (Zook, 13. Sep 2011, 10:12:47):
~#! rn=Mesirii rt=1315901502 rg=mudclients
~#! tid=1315870282
Jep, ich bekomme auch die Einloggsequenz (nur mit ein paar
komischen Sonderzeichen), kann auch was eingeben, aber das
kommt offenkundig nicht beim Mud an. Fenster sehe ich auch und
kann auch Kommandos abgeben und so. Aber die Interaktion will
noch nicht so recht.

Zook.

-----------------------------------------------------------------------------



Re^6: mpa-lese-support (Gloinson, 13. Sep 2011, 12:10:24):
~#! rn=Mesirii rt=1315901543 rg=mudclients
~#! tid=1315870282
Dafuer gibt es doch VMs ;)


-----------------------------------------------------------------------------



Re^6: mpa-lese-support (Arathorn, 13. Sep 2011, 22:10:26):
~#! rn=Mesirii rt=1315901502 rg=mudclients
~#! tid=1315870282
Kurze Meldung von mir: Chromium portable 15.0.874.5 zeigt die Fenster an,
die standardmaessig aktiv sind, aber verbindet nicht.

-----------------------------------------------------------------------------



der erste artikel mit dem mpa-editor des mudclients verfasst (Tolot, 14. Sep 2011, 00:06:48):
wird doch langsam

Tolot

-----------------------------------------------------------------------------



Re: der erste artikel mit dem mpa-editor des mudclients verfasst (Tolot, 14. Sep 2011, 00:09:36):
~#! rn=Tolot rt=1315951608 rg=mudclients
~#! tid=1315951608
wird doch langsam

Tolot

-----------------------------------------------------------------------------



Re: Re: der erste artikel mit dem mpa-editor des mudclients verfasst (Mesirii, 14. Sep 2011, 03:03:01):
~#! rn=Tolot rt=1315951776 rg=mudclients
~#! tid=1315951608
Danke Tolot fuers Testen.

Wie schon gesehen gibts jetzt eine rudimentaere und etwas krude Unterstuetzung
fuer die MPA inklusive mini-Editor zum Schreiben von Artikeln.

Ich hab auch die Server-Verbindung umgestellt, bitte schaut mal, ob es jetzt
auch mit anderen Browsern funktioniert (FF,IE, Chromium).
Jetzt sind noch ein paar kleinere interne Umstellungen dran, dann brauche ich
aber dringend Eure Mithilfe.

Was soll der Client koennen muessen, damit man mit ihm mudden/spielen kann?
* welche Buttons muessen sein
* welche Trigger, Highlights, Textumleitungen
* welche Inforationen aus dem Mud sollen schick dargestellt werden?
* wie kommen Screenreader bisher damit zurecht?

Und vieles mehr - prinzipiell, was wuerde zu einem Mud-Client fehlen, den ihr
benutzen wuerdet, bzw. Euren Freunden oder Anfaengern empfehlen wuerdet.

Danke
Mesi

Hier nochmal die URL: http://server.mesirii.de/~mg/test.html

-----------------------------------------------------------------------------



Re^3: der erste artikel mit dem mpa-editor des mudclients verfasst (Zesstra, 14. Sep 2011, 08:01:59):
~#! rn=Mesirii rt=1315962181 rg=mudclients
~#! tid=1315951608
Juchu, die Verbindung klappt jetzt mit FF6 (Mozilla/5.0 (Macintosh; Intel Mac
OS X 10.7; rv:6.0) Gecko/20100101 Firefox/6.0).

Zesstra

-----------------------------------------------------------------------------



Re^4: der erste artikel mit dem mpa-editor des mudclients verfasst (Nedime, 14. Sep 2011, 08:15:45):
~#! rn=Zesstra rt=1315980119 rg=mudclients
~#! tid=1315951608
FF ging, IE9 klappte nicht. Letzterer sieht noch reichlich kaputt aus.

Nedime

-----------------------------------------------------------------------------



Re^5: der erste artikel mit dem mpa-editor des mudclients verfasst (Mesirii, 14. Sep 2011, 08:40:59):
~#! rn=Nedime rt=1315980945 rg=mudclients
~#! tid=1315951608
Das ist ja schonmal nen fortschritt :).
Hab leider keinen IEx irgendwo. Mal gucken, Fehlermeldungen aus irgendwelchen
(Javascript)-Konsolen waeren toll.

Funktioniert das MPA interface im FF und auch so fuer Euch?


-----------------------------------------------------------------------------



Re^6: der erste artikel mit dem mpa-editor des mudclients verfasst (Rumata, 14. Sep 2011, 09:00:43):
~#! rn=Mesirii rt=1315982459 rg=mudclients
~#! tid=1315951608
FF6.0.2 (Ubuntu 10.10/i386) funzt!
Folgende Probleme:
-Sonderzeichen (telnet negotiation,password hiding) sind sichtbar.
-Im "Hautfenster" werden einige woerter Farb dargestellt,
 in den nebenfenstern bekomme ich die ansi sequenzen zu sehen.
-Ich bin in einem "more" haengen geblieben (enter setzte das more
 nicht fort).
-Es sind auf anhieb sehr viele "Fenster" auf dem Schirm, die sich alle
 ueberlappen. Ein Rahmen um die Fenster herum waere evtl sinnvoll, damit
 man sie besser als fenster identifizeren kann.

Frage:
Kommuniziert das Teil per SSL mit dem MUD? 

Rum**

-----------------------------------------------------------------------------



ssl (Rumata, 14. Sep 2011, 09:01:34):
Uebrigens:
Fehlercode: ssl_error_rx_record_too_long ;-)

-----------------------------------------------------------------------------



Re: ssl (Mesirii, 14. Sep 2011, 09:04:36):
~#! rn=Rumata rt=1315983694 rg=mudclients
~#! tid=1315983694
Danke fuer die Infos,
* UI und Layout Sachen werden nach und nach behoben, ich hoffe immer noch auf
Guard und/oder jemand anderen der faehig ist vernuenftige CSS layouts zu
machen
* kein ssl
* die worte in farbe sind hervorhebungen von triggern oder dem mud
* die umleite-fenster sind nur simple <pre> bloecke, ich stell das
auszeichnungs-zeug nach ner diskussion mit zesstra sowieso nochmal um
* more mit enter ging frueher schon mal ich schau mal, warum es jetzt nicht
mehr geht
* ansonsten ist zeilen 0 da sinnvoll
* ich reduzier die anzahl der offenen fenster beim startup, welche waeren denn
sinnvoll?

Mesi

-----------------------------------------------------------------------------



Re: Re: ssl (Sparkle, 14. Sep 2011, 09:07:40):
~#! rn=Mesirii rt=1315983876 rg=mudclients
~#! tid=1315983694
hab mal kurz reingeschaut. sieht schon super aus. stabil unter opera. werde in
den naechsten tagen mal ausgiebiger testen.
LG Sparkle

-----------------------------------------------------------------------------



Re^3: ssl (Mesirii, 14. Sep 2011, 09:12:36):
~#! rn=Sparkle rt=1315984060 rg=mudclients
~#! tid=1315983694
Ich hab das Layout nochmal umgestellt und die JS Fehler beim IE (hoffentlich)
rausgemacht. 
Danke fuer die Layout Anregungen an Zesstra und Rumata und fuer's IE-Testen an
Miril.

Mesi

-----------------------------------------------------------------------------



Re^4: ssl (Vector, 14. Sep 2011, 12:55:00):
~#! rn=Mesirii rt=1315984356 rg=mudclients
~#! tid=1315983694
man wird sich immer ueber die reihenfolge streiten
koennen, in der die buttons angeordnet werden sollen, aber 
ich wuerde nn und ausruestung tauschen, und grafik aus an
den rechten rand schieben. grafik aus wird man sicher
nicht so oft wechseln wie lang/kurz-modus, und auch die
mpa liest man wohl nur wenn es nicht-kaempferisch-hektisch
zugeht. dann waeren die wichtigen buttons zentral in der mitte

-----------------------------------------------------------------------------



Re^5: ssl (Mesirii, 14. Sep 2011, 13:18:34):
~#! rn=Vector rt=1315997700 rg=mudclients
~#! tid=1315983694
Die Buttons die jetzt da sind, waren nur mal fuer mich zum Ausprobieren.
Hat rein garnix zu bedeuten. Wichtig waere mir, welche Buttons / Aktionen
braucht ihr so haeufig, dass sie auf jeden Fall dort sein sollten.
(ausser kaufe gebaeck,kotze, toete alle usw.)

Mesi

-----------------------------------------------------------------------------



Re^6: ssl (Mesirii, 14. Sep 2011, 13:42:58):
~#! rn=Mesirii rt=1315999114 rg=mudclients
~#! tid=1315983694
Enter am --more-- prompt geht wieder.
Tab oder Browser schliessen meldet den Spieler ab, auch neuladen der Seite
oder wechsel auf eine andere Webseite im Tab.

Lurchi hatte die nette Idee eines Chat-Fensters in dem man mit einer einzelnen
Person reden kann, dh. alle eingaben daraus gehen nur an den einen und alle
empfangenen TM's landen auch darin.
(hmm mir faellt grad ein, dass koennte man auch mit mehreren machen).

Mesi

-----------------------------------------------------------------------------



Re^7: ssl (Mesirii, 14. Sep 2011, 15:40:23):
~#! rn=Mesirii rt=1316000578 rg=mudclients
~#! tid=1315983694
Ich hab jetzt mal die REMOTE_HOST Kennung eingebaut, so dass die Leute jetzt
nicht mehr von meinem Server kommen sollten. Bitte mal testen.

Mesi

-----------------------------------------------------------------------------



Re: webclient-news (Xutelius, 14. Sep 2011, 16:46:42):
~#! rn=Mesirii rt=1315783556 rg=mudclients
~#! tid=1315783556
Moin,

Die neuen Meldungen im Webclient werden jetzt auch von Screenreadern
vorgelesen. Forschen, questen und kleinere Kaempfe sollten kein Problem
darstellen, was das Metzeln bei komplexeren Gegnern angeht muss ich noch
testen.

Xut*
PS: Komplexere Gegner und staerkeren Scroll

-----------------------------------------------------------------------------



Re: Re: ssl (Arathorn, 14. Sep 2011, 18:44:52):
~#! rn=Mesirii rt=1315983876 rg=mudclients
~#! tid=1315983694
- Umleitung von Text in die Fenster: waere es da nicht sinnvoll, eine
  Option zu haben (oder bei einigen Texten standardmaessig zu aktivieren),
  mit der man die Ausgabe im Hauptfenster unterdruecken kann?

- More: Kann es sein, dass man dort haengenbleibt, weil die automatische
  Befehlswiederholung zuschlaegt?

Arathorn, kurz gehalten.

-----------------------------------------------------------------------------



Re^5: ssl (Arathorn, 14. Sep 2011, 18:45:35):
~#! rn=Vector rt=1315997700 rg=mudclients
~#! tid=1315983694
Warum ist das "nn" ueberhaupt am Hauptfenster und nicht am MPA-Fenster?

-----------------------------------------------------------------------------



Re^6: ssl (Arathorn, 14. Sep 2011, 18:50:42):
~#! rn=Mesirii rt=1315999114 rg=mudclients
~#! tid=1315983694
Meine Ideen fuer essentielle Buttons: info, ausruestung, inv, kurz/lang.
NN dann zum MPA-Interface rueberschieben.
Was auch noch schick waere, wenn die Fenster vom Menue aus auch ausschaltbar
waeren. Momentan kann man sie im FF da nur einschalten.

Arathorn

-----------------------------------------------------------------------------



Re^8: ssl (Arathorn, 14. Sep 2011, 18:51:37):
~#! rn=Mesirii rt=1316007623 rg=mudclients
~#! tid=1315983694
Funktioniert. Mein Testie kommt von der gleichen IP wie ich.

-----------------------------------------------------------------------------



Re^7: ssl (Arathorn, 14. Sep 2011, 18:54:15):
~#! rn=Mesirii rt=1316000578 rg=mudclients
~#! tid=1315983694
Zum Thema Chat: gibts schon Plaene, den Teamchat eventuell auch in ein 
Sonderfenster zu legen? Vorschlag: Ins Ebenenfenster schieben.
Dann koennte man gleich auch frufe/femote so umformatieren, dass das wie
ne Ebene aussieht und auch da reinpacken.

-----------------------------------------------------------------------------



Re^6: ssl (Arathorn, 14. Sep 2011, 19:00:27):
~#! rn=Mesirii rt=1315999114 rg=mudclients
~#! tid=1315983694
Fenster, die einen horizontalen Scrollbalken enthalten, benehmen sich grad
merkwuerdig. Da schiebt man statt des Fensterinhalts gleich das ganze
Fenster herum (FF6).
Das fragliche Fenster ist das "ausruestung"-Fenster, da scheint die
Mud-Ausgabe nicht korrekt geparst zu werden. Das funktioniert beim
Inventar uebrigens auch nicht so richtig sauber, aber immerhin explodiert
das nicht in horizontale Richtung, sondern zeigt nur ein paar Sonder-
zeichen an.

Arathorn.

-----------------------------------------------------------------------------



FF6.0.2 RedHat (Bambulko, 14. Sep 2011, 19:40:22):
FF6.0.2 mit RedHat klappt auch sehr gut.
Probleme:
Probleme:
- Sonderzeichen

- Im MPA-Fenster ist der Text bei langen Artikeln teilweise unterhalb des
Fensters

- Die MPA Zeile: [Bezug: Artikel 40 von Mesirii vom 14. Sep 2011, 08:40:59]
erscheint auch bei den Ebenen.

- Artikel erschien in falscher rubrik.

- Warum erscheint immer der letzte befehl nochmal in der Kommandozeile?


-----------------------------------------------------------------------------



Re: FF6.0.2 RedHat (Bambulko, 14. Sep 2011, 19:53:56):
~#! rn=Bambulko rt=1316022022 rg=mudclients
~#! tid=1316022022
FF unter Android: Es gibt keine <Enter> Taste auf der Tastatur. Also kann man
nichts eingeben. Vieleicht waere ein 'Submit'-Button hilfreich. Sonst sehen
alle Fenster gut aus :-)

-----------------------------------------------------------------------------



Re^3: ssl (Mesirii, 14. Sep 2011, 23:11:27):
~#! rn=Arathorn rt=1316018692 rg=mudclients
~#! tid=1315983694
- unterdrueckung im Hauptfenster ist geplant, dafuer muss noch etwas
Infrastruktur umgestellt werden
- ja, das kann sein, man muss halt <backspace> <enter> druecken oder "f"
<enter>
Mesi

-----------------------------------------------------------------------------



Re^8: ssl (Mesirii, 14. Sep 2011, 23:13:57):
~#! rn=Arathorn rt=1316019255 rg=mudclients
~#! tid=1315983694
Teamchat wuerde ich in ein extra-Tab im Kommunikations-Fenster schieben.
mit frufe, femote machen wir ja in tf auch so, also wirds dort auch so werden

Ich bin schon auf den Konfigurations-Wust gespannt :)

-----------------------------------------------------------------------------



Re^7: ssl (Mesirii, 14. Sep 2011, 23:16:02):
~#! rn=Arathorn rt=1316019627 rg=mudclients
~#! tid=1315983694
Ja, das mit den Scrollbars ist seltsam, da scheint sich das "draggable"
Verhalten mit der Scrollbar zu beissen. Muss man mal gucken. Bei einigen
Fenstern wollte ich schauen, dass die sich entsprechend vergroessern, bei
anderen muessen die Scrollbars sein, weiss noch nicht wie ich das loesen kann.

Das mit der Auszeichnung im Ausruestungs-Fenster wird mit erledigt wenn ich
das Trigger-handling und Parsing heut Nacht nochmal umgestellt hab.

Mesi

-----------------------------------------------------------------------------



Re: FF6.0.2 RedHat (Mesirii, 14. Sep 2011, 23:18:13):
~#! rn=Bambulko rt=1316022022 rg=mudclients
~#! tid=1316022022
Sonderzeichen sind teilweise telnet-negs die kommen noch raus
Teilweise escape sequenzen, die werden auch noch richtig behandelt
Beim MPA-Artikel ist der Trigger noch inkorrekt, bzw dort waere dann
Prioritaet + non-fallthrough notwendig.
- wann und wie erscheint der Artikel in der falschen Rubrik ?

- weil es praktisch ist fuer viele Sachen, gibt einige Clients, die das
machen, wird ne config-option

Mesi

-----------------------------------------------------------------------------



Re: Re: FF6.0.2 RedHat (Mesirii, 14. Sep 2011, 23:19:02):
~#! rn=Bambulko rt=1316022836 rg=mudclients
~#! tid=1316022022
Ok, das mit dem Submit-Button hatte ich sowieso vor, sollte morgen drin sein.

Danke fuer das ganze Feedback Bambulko & Arathorn

-----------------------------------------------------------------------------



Re^3: FF6.0.2 RedHat (Mesirii, 14. Sep 2011, 23:21:04):
~#! rn=Mesirii rt=1316035142 rg=mudclients
~#! tid=1316022022
Ich werde mal noch 2 Sachen hinzufuegen:
- known bugs, so dass ihr die dann nicht nochmal melden muesst
- doku

Ich hab noch ne Frage - die Kompass-Rose grafisch oder mit Buttons, ich wuerde
aus Gruenden der Schlichtheit und Screenreader zu letzteren tendieren.
Z.b. so hier:
nw  n  no ob
w schau o u
sw s  so  raus

Mesi

-----------------------------------------------------------------------------



Re^4: FF6.0.2 RedHat (Arathorn, 14. Sep 2011, 23:26:12):
~#! rn=Mesirii rt=1316035264 rg=mudclients
~#! tid=1316022022
umschaltbar? :-))

-----------------------------------------------------------------------------



Re^5: FF6.0.2 RedHat (Mesirii, 14. Sep 2011, 23:26:48):
~#! rn=Arathorn rt=1316035572 rg=mudclients
~#! tid=1316022022
such nen schickes Bild raus :) Aber ich kann nix versprechen.

Mesi

-----------------------------------------------------------------------------



Re^6: FF6.0.2 RedHat (Mesirii, 15. Sep 2011, 09:38:50):
~#! rn=Mesirii rt=1316035608 rg=mudclients
~#! tid=1316022022
Ich hab heute Nacht:
- submit button
- kompass als buttons
- platzhalter fuer doku

Die Trigger + Auszeichnungs-Sachen kommen spaeter

Den seltsamen Fehler von IE9 konnte ich noch nicht nachvollziehen, falls wer
ahnung von JS hat, kann sich bitte bei mir melden.

Mesi

-----------------------------------------------------------------------------



Re^7: FF6.0.2 RedHat (Mesirii, 15. Sep 2011, 09:40:50):
~#! rn=Mesirii rt=1316072330 rg=mudclients
~#! tid=1316022022
Btw. wer von Euch nen github account hat, kann da auch Issues anlegen und ggf.
das Projekt forken und mitarbeiten :) Kleine Fehler sind schnell auch selbst
gefixt.

Mesi

-----------------------------------------------------------------------------



Re^8: FF6.0.2 RedHat (Mesirii, 15. Sep 2011, 10:58:16):
~#! rn=Mesirii rt=1316072450 rg=mudclients
~#! tid=1316022022
So, ich hab jetzt mal auf github issues fuer die noch offenen Punkte angelegt.
Wer noch was hat, kann selber weitere hinzufuegen, oder mir bescheid sagen.

Danke an Zesstra fuer den ersten gemeldeten Punkt auf github-issues.

Mesi

-----------------------------------------------------------------------------



Re^4: FF6.0.2 RedHat (Xutelius, 15. Sep 2011, 11:18:25):
~#! rn=Mesirii rt=1316035264 rg=mudclients
~#! tid=1316022022
Hmm, ist natuerlich grundsaetzlich besser das barrierefrei zu halten, aber ich
glaube, zum Laufen Buttons zu nutzen ist fuer Blinde sowieso nicht
praktikabel. Wenn du die erst per Tastatur ansteuern musst, geht es wesendlich
schneller, einfach die Kommandos zu tippen.

Es sei denn, wie sieht es mit Hotkeys aus?

Xut*

-----------------------------------------------------------------------------



Re^5: FF6.0.2 RedHat (Mesirii, 15. Sep 2011, 11:23:11):
~#! rn=Xutelius rt=1316078305 rg=mudclients
~#! tid=1316022022
das meinte ich, so dass man mit keypad laufen kann. Also nicht die klassischen
Access-keys die man aus browsern kennt sondern eher so wie in nem richtigen
Programm/Mudclient.

Mesi

-----------------------------------------------------------------------------



Re^6: FF6.0.2 RedHat (Mesirii, 18. Sep 2011, 16:13:15):
~#! rn=Mesirii rt=1316078591 rg=mudclients
~#! tid=1316022022
Update:
* eingabezeile behaelt jetzt nicht mehr den letzten befehl
* mpa ist repariert (danke an zesstra)
* teilweise datenbloecke sind repariert (danke an pardauz)
* drache weiter nach unten gerutscht, Abmelden Button (danke an Tassram)
* telnet negotation angefangen zu handhaben (ist jedenfalls jetzt aus dem text
raus) (danke Zesstra)
Mesi

-----------------------------------------------------------------------------



Re^7: FF6.0.2 RedHat (Arathorn, 18. Sep 2011, 16:22:44):
~#! rn=Mesirii rt=1316355195 rg=mudclients
~#! tid=1316022022
Das sieht schon total schick aus; auch dass so Details wie das Einblenden
der Lebensbalken erst mit dem Login passiert, finde ich elegant.

Eine Kleinigkeit fiel mir grade auf: Evtl. sollte man die Ausgaben der
Ebenen-History nicht mehr in das Ebenen-Fenster aufnehmen, oder? Also
alle Meldungen nach "Folgendes ist auf '<ebene>' passiert:" meine ich.

Arathorn

-----------------------------------------------------------------------------



Re^8: FF6.0.2 RedHat (Mesirii, 18. Sep 2011, 16:24:46):
~#! rn=Arathorn rt=1316355764 rg=mudclients
~#! tid=1316022022
Hmm gute Idee, ich sollte das einfach abfangen und sagen - schau doch ins
kommunikations-fenster :)
Mesi

-----------------------------------------------------------------------------



Re^9: FF6.0.2 RedHat (Zesstra, 18. Sep 2011, 16:25:23):
~#! rn=Mesirii rt=1316355886 rg=mudclients
~#! tid=1316022022
Naja, manchmal moechte man ja die History vor dem Einloggen sehen. ;-)

Zesstra

-----------------------------------------------------------------------------



Re^8: FF6.0.2 RedHat (Mesirii, 18. Sep 2011, 16:44:17):
~#! rn=Arathorn rt=1316355764 rg=mudclients
~#! tid=1316022022
Das mit dem Status-Fenster bei Login ist auch daher, weil die Spieler infos
lokal gespeichert werden und man erst beim login weiss, als wer du dich
einloggst und dann wird es im connect-hook geladen.

Mesi

-----------------------------------------------------------------------------



NPC-Avatare (Mesirii, 18. Sep 2011, 17:53:56):
Ich hab noch ne Idee fuer den web-client. Neben den Avataren fuer Spieler
koennte
man ja auch Bilder fuer NPCs machen, dann haette man ne nette Kampf-Anzeige.
Eigenes Team vs. Team der NPCs.
Was haltet Ihr davon?
Mesi
P.S. Sieht dann irgendwan aus wie EOB oder Baldurs Gate :)

-----------------------------------------------------------------------------



Re: NPC-Avatare (Arathorn, 18. Sep 2011, 17:54:52):
~#! rn=Mesirii rt=1316361236 rg=mudclients
~#! tid=1316361236
Wenn Du denn rausbekommst, wer gerade das aktive Ziel des Spielers ist.
Wir haben ja keine wirkliche Zielauswahl-Funktionalitaet. Oder wie stellst
Du Dir das vor? Bildchen fuer alle NPCs im Raum?

-----------------------------------------------------------------------------



Re: Re: NPC-Avatare (Arathorn, 18. Sep 2011, 17:58:28):
~#! rn=Arathorn rt=1316361292 rg=mudclients
~#! tid=1316361236
Und wie willst Du ermitteln, was Du fuer einen bestimmten NPC fuer ein
Avatar-Bildchen anzeigen musst? Das waeren ja dann im Grunde Informationen,
die das Mud zur Verfuegung stellen muesste, vermute ich.

-----------------------------------------------------------------------------



Re: Re: NPC-Avatare (Mesirii, 18. Sep 2011, 17:59:07):
~#! rn=Arathorn rt=1316361292 rg=mudclients
~#! tid=1316361236
Jedenfalls alle, die man grad angreift (Kampfmeldungen). Oder mal team
uebersicht angucken, zeigte das im Kampf nicht das eigene Team + Gegner an?
Mesi

-----------------------------------------------------------------------------



Re^3: NPC-Avatare (Arathorn, 18. Sep 2011, 18:00:15):
~#! rn=Mesirii rt=1316361547 rg=mudclients
~#! tid=1316361236
Ich waer ja dafuer, erstmal eine Uebersicht fuer Spieler-Teams zu haben,
und wuerde die Gegner-Darstellung etwas niedriger priorisieren. :-)

-----------------------------------------------------------------------------



Re^3: NPC-Avatare (Mesirii, 18. Sep 2011, 18:00:25):
~#! rn=Arathorn rt=1316361508 rg=mudclients
~#! tid=1316361236
Naja erstmal koennte man ja einfach unter dem Namen des NPC's nen bild ablegen
(ork.jpg) und so.
Waere die Frage, wo man die herbekommt, ob es da ne nette Quelle gibt oder wir
uns die malen lassen.

mesi

-----------------------------------------------------------------------------



Re^4: NPC-Avatare (Mesirii, 18. Sep 2011, 18:00:55):
~#! rn=Arathorn rt=1316361615 rg=mudclients
~#! tid=1316361236
Die Spieler-Team uebersicht gibts schon :)
Mach mal nen Team und dann team info im web-client.

Mesi

-----------------------------------------------------------------------------



Re^5: NPC-Avatare (Arathorn, 18. Sep 2011, 18:03:55):
~#! rn=Mesirii rt=1316361655 rg=mudclients
~#! tid=1316361236
Ah, schick. Das ist ja durchaus benutzbar. Prima :-)
Kriegt man das evtl. hin, dass das alles in einem Fenster erscheint? Dann
haette man das alles an einem Ort und muesste sich nicht fuer jedes Team-
Mitglied ein Fenster rumschubsen.

-----------------------------------------------------------------------------



Re^5: NPC-Avatare (Zesstra, 18. Sep 2011, 18:04:07):
~#! rn=Mesirii rt=1316361655 rg=mudclients
~#! tid=1316361236
Du kannst die P_AVATAR_URI auch in NPCs setzen, wenn Du magst. Eine
Abfragemoeglichkeit durch den Client fehlt natuerlich noch. Das wuerde ich
spaeter im Rahmen von so einem Datenuebermittlungsprotokoll aufnehmen...

Zesstra

-----------------------------------------------------------------------------



Re^9: FF6.0.2 RedHat (Arathorn, 18. Sep 2011, 18:10:18):
~#! rn=Mesirii rt=1316357057 rg=mudclients
~#! tid=1316022022
Falls das noch kein bekannter Fehler ist, moecht ich noch drauf aufmerksam
machen, dass die Fenster, die Mud-Ausgaben aufnehmen, nicht automatisch
mitscrollen, z.B. die Ebenen. Oder ist das Problem schon in dem Eintrag
"Fenster reichen nicht fuer Text" inklusive? ;-)

-----------------------------------------------------------------------------



Re^10: FF6.0.2 RedHat (Mesirii, 18. Sep 2011, 21:56:16):
~#! rn=Arathorn rt=1316362218 rg=mudclients
~#! tid=1316022022
Jepp, das ist damit gemeint.

Mesi

-----------------------------------------------------------------------------



Re: Re: NPC-Avatare (Ark, 19. Sep 2011, 02:34:56):
~#! rn=Arathorn rt=1316361292 rg=mudclients
~#! tid=1316361236
Das wird spannend bei laufenden Seherraeubern oder DG :)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: NPC-Avatare (Zook, 19. Sep 2011, 12:01:44):
~#! rn=Mesirii rt=1316361236 rg=mudclients
~#! tid=1316361236
Oh, nun geht es auch in Chromium bei mir; das ist ja 
toll!
Zook.

-----------------------------------------------------------------------------



Re: Re: NPC-Avatare (Mesirii, 19. Sep 2011, 13:19:02):
~#! rn=Zook rt=1316426504 rg=mudclients
~#! tid=1316361236
Jipee,

Mesi, gottgefaellig :)

-----------------------------------------------------------------------------



Re^3: NPC-Avatare (Mesirii, 23. Sep 2011, 01:40:31):
~#! rn=Mesirii rt=1316431142 rg=mudclients
~#! tid=1316361236
Ich hab mal wieder ein Update eingespielt, welches folgende Probleme beheben
sollte:
* an-/ausschalten von StatusFenster & Co
kontrolle

* fluestern in die Mitteilungen
* keine cookies mehr bei persist
kontrolle
* versuch einer Fehlerbehebung fuer Opera

kontrolle
Mesi, gespannt auf weitere pre-beta issues.

-----------------------------------------------------------------------------



Kommandotrenner (Mesirii, 23. Sep 2011, 08:02:09):
Zur Zeit sind das Semikola ";", was dazu fuehrt, dass Smileys wie ;) nicht
gehen.
Alternativvorschlaege?

Mesi

-----------------------------------------------------------------------------



Re: Kommandotrenner (Xutelius, 23. Sep 2011, 08:03:16):
~#! rn=Mesirii rt=1316757729 rg=mudclients
~#! tid=1316757729
Wie waers mit & bzw. && ? | oder || sollte auch ne moeglichkeit sein.

Xut*

-----------------------------------------------------------------------------



Re: Re: Kommandotrenner (Asuka, 23. Sep 2011, 08:05:20):
~#! rn=Xutelius rt=1316757796 rg=mudclients
~#! tid=1316757729
& wurd z.B. im zemote genutzt, koennte also auch Probleme bereiten. Oder man
tritt den unfaehigen GM mal, dass er da was aendert. :)

Asuka

-----------------------------------------------------------------------------



Re: Re: Kommandotrenner (Zesstra, 23. Sep 2011, 08:53:49):
~#! rn=Xutelius rt=1316757796 rg=mudclients
~#! tid=1316757729
Alle die Symbole brauch ich ziemlich oft fuer xlpc. ;-)
Also, wenn 2 Symbole (und da spricht einiges fuer), dann waere ich
tatsaechlich eher fuer %; da das hinreichend selten zusammen auftritt..

Zesstra

-----------------------------------------------------------------------------



Re^3: Kommandotrenner (Zesstra, 23. Sep 2011, 08:56:47):
~#! rn=Zesstra rt=1316760829 rg=mudclients
~#! tid=1316757729
Oder auch %&, wenn man was auf nebeneinander liegenden Tasten zum
Schnelltippen haben will.

Zesstra

-----------------------------------------------------------------------------



Re^4: Kommandotrenner (Mesirii, 23. Sep 2011, 08:58:59):
~#! rn=Zesstra rt=1316761007 rg=mudclients
~#! tid=1316757729
Wir koennen auch ein doppelzeichen nehmen, wie ;;
dann kann man halt nur keine ;;) Smileys mehr machen ;)

Mesi

-----------------------------------------------------------------------------



Web-Telnet auf mg.mud.de (Mesirii, 23. Sep 2011, 10:32:30):
Habs mal eingebaut, mal gucken wie das Feedback so ist.

Schaut mal bitte, ob das bei Euch ok aussieht und funktioniert.

Mesi

-----------------------------------------------------------------------------



Re: Web-Telnet auf mg.mud.de (Zook, 23. Sep 2011, 10:34:54):
~#! rn=Mesirii rt=1316766750 rg=mudclients
~#! tid=1316766750
Mein Firefox 3.6.22 mag es nach wie vor nicht so recht..
Z

-----------------------------------------------------------------------------



Re: Re: Web-Telnet auf mg.mud.de (Zook, 23. Sep 2011, 10:35:25):
~#! rn=Zook rt=1316766894 rg=mudclients
~#! tid=1316766750
vll. waere ein hinweis auf "getestete browser"-versionen 
noch gut bei dem "Jetzt spielen!"-Link.

-----------------------------------------------------------------------------



Re^3: Web-Telnet auf mg.mud.de (Arathorn, 23. Sep 2011, 23:25:01):
~#! rn=Zook rt=1316766925 rg=mudclients
~#! tid=1316766750
Und ein "reconnect"-Button waere gut, wenn man zB umloggen will oder in den
Timeout gelaufen ist.


-----------------------------------------------------------------------------



Re: Web-Telnet auf mg.mud.de (Zesstra, 23. Sep 2011, 23:26:18):
~#! rn=Mesirii rt=1316766750 rg=mudclients
~#! tid=1316766750
Ich hab das WebTelnet jetzt heute Abend auf dem MG-Rechner installiert.
Testweise beherrscht es jetzt auch Sonderzeichen-Konversion nach ASCII, mal
gucken, wie gut das funktioniert.

Zesstra

-----------------------------------------------------------------------------



chat-fenster (Mesirii, 24. Sep 2011, 05:06:27):
Ich hab dem web-client mal ein chat-fenster spendiert, in dem man individuelle
Gespraeche fuehren kann. Danke an lurchi fuer die Idee.

Erstmal nur in der Testumgebung: http://x.cd/3w

Mesi

-----------------------------------------------------------------------------



Re: chat-fenster (Mesirii, 24. Sep 2011, 08:40:33):
~#! rn=Mesirii rt=1316833587 rg=mudclients
~#! tid=1316833587
Waere zu ueberlegen, ob sowas auch fuer die Ebenen sinnvoll waere - eine Ebene
pro Tab und ein Eingabefeld drunter dass dann direkt auf die Ebene schickt.

Mesi

-----------------------------------------------------------------------------



Re: Re: chat-fenster (Zesstra, 24. Sep 2011, 09:59:14):
~#! rn=Mesirii rt=1316846433 rg=mudclients
~#! tid=1316833587
Viele Tabs (und Fenster, die nicht auf meinen Screen passen) fuehren
allerdings dazu, dass ich staendig Tabs (und/oder Fenster) durchklicken muss,
ob was neues da ist oder doch wieder ins Hauptfenster gucken (was ich meist
vermutlich eh mache). Das wuerde mich recht schnell nerven, wenn ich da
potentielle 30 Tabs fuer Ebenen haette. Auto-Popup/Auto-Fokus ist auch eher
nervig, wenn man gerade was anderes macht. Aber man koennte Tabs mit neuem
Inhalt farblich markieren, denk ich.
Ich finde das separate Fenster als History und zum Antworten einerseits
praktisch, weil man noch mehr Tipparbeit spart. Uebersichtlicher ist fuer mich
- so komisch es klingt - aber meistens ein Fenster, wo die Sachen verschieden
farblich markiert sind... ;-) Das kann bei anderen aber klar anders sein,
insofern ist das kein Grund dagegen.

Zesstra

-----------------------------------------------------------------------------



webclient-ui (Mesirii, 24. Sep 2011, 10:07:56):
Ich hab mal Rangorn angehauen, ob sie Zeit und Lust fuer ein CSS laoyut fuer
den
Web-Client haette. Falls nicht und ihr jemanden kennt, der sowas gut kann,
dann wuerde ich mich freuen, wenn ihr mal nachfragen koenntet. Wir koennen
dafuer auch Geld in die Hand nehmen vom Verein.

VG Mesi

-----------------------------------------------------------------------------



Re^3: chat-fenster (Mesirii, 24. Sep 2011, 10:09:55):
~#! rn=Zesstra rt=1316851154 rg=mudclients
~#! tid=1316833587
Eigentlich kommen die Tabs automatisch in den Vordergrund, wenn auf ihnen was
passiert, die Fenster noch nicht, koennte man aber noch machen. Ich weiss
nicht, wie das in anderen Clients funktioniert.

Ansonsten stimme ich mit Dir ueberein, fuer mich waere auch das Hauptfenster
geeigneter, aber das ist denke ich einfach Gewoehnungssache nach 17 Jahren
Mudden :)
Mesi

-----------------------------------------------------------------------------



Re: webclient-ui (Mesirii, 24. Sep 2011, 10:11:53):
~#! rn=Mesirii rt=1316851676 rg=mudclients
~#! tid=1316851676
Achso ich hab noch was vergessen. Fuer mobile Browser wuerde ich dann gern ein
anderes CSS haben, das das Mud-Fenster in voller Groesse darstellt und keine
Eingabezeile hat. Stattdessen halt eine hervorholbare, halbtransparente
tastatur zum drueberlegen, und auch andere angepasste Tastaturen fuer
Ricthungen und z.b. zum Metzeln (einfach auch 9 Buttons im Kreis). Was ich
schick finde waere so ein radial-menue wie es das bei Neverwinternights gab
und z.b. auf dem iPhone bei Portal-Browser.
Falls da wer noch Ideen hat, meldet Euch mal.

Mesi

-----------------------------------------------------------------------------



Re: Re: webclient-ui (Zesstra, 24. Sep 2011, 10:16:48):
~#! rn=Mesirii rt=1316851913 rg=mudclients
~#! tid=1316851676
Das halte ich fuer eine rechte gute Idee, insb. die halbtransparente Tastatur,
wo man noch durchgucken kann. Ich nehme an, Du willst da irgendwo auch
darstellen, was man gerade schreibt, oder? Also letztendlich ne "Eingabezeile
mit Tastatur", die man hervorholen kann?

Zesstra

-----------------------------------------------------------------------------



Re^4: chat-fenster (Arathorn, 24. Sep 2011, 10:24:26):
~#! rn=Mesirii rt=1316851795 rg=mudclients
~#! tid=1316833587
Andere (grafische *hust*) Clients faerben einfach den Tab selber ein, um
anzuzeigen, dass da was neues reingekommen ist.

Zusaetzlich wuerde ich anregen, eine weitere Klick-Aktion in der kwer-Liste
zu basteln, mit der man Spieler fingern kann (zB Rechtsklick?).
Was allerdings in der kwer-Liste noch schick waere, wenn die Spalten einen
groesseren Abstand dazwischen haetten, so dass die Eintraege nich so 
quetsch aneinandersitzen. Ich koennte mir uebrigens vorstellen, dass das
Sortierverhalten der Liste einige Spieler irritieren duerfte, weil da 
immer die Gesamtliste neu sortiert wird, und dann nur die ersten <x> Leute
angezeigt werden. Dadurch veraendert sich bei jedem Sortieren die Liste. ;-)

Ah, ich springe rum, aber zu den Chat-Tabs noch was: Kann man das irgendwie
auch so einrichten, dass ein Doppelklick auf einen Spielernamen im Haupt-
fenster den Chat mit dem Spieler oeffnet, statt ein "untersuche <name>"
abzusetzen? ;-)

Arathorn.

-----------------------------------------------------------------------------



Re^5: chat-fenster (Zesstra, 24. Sep 2011, 10:31:56):
~#! rn=Arathorn rt=1316852666 rg=mudclients
~#! tid=1316833587
Spalten vergroessern waer ja etwas, was man dann vielleicht eher direkt im Mud
macht... Aber ich versteh gerade nicht, was Du mit dem Sortierverhalten
meintest und den ersten x Leuten. Klar, die Liste ist nach Level sortiert,
nicht alphabetisch. Aber wieso die ersten x?

Zesstra

-----------------------------------------------------------------------------



Re^3: webclient-ui (Mesirii, 24. Sep 2011, 10:35:07):
~#! rn=Zesstra rt=1316852208 rg=mudclients
~#! tid=1316851676
Ja, sowas in der Art, ist noch nicht ganz ausgegoren :)
Mesi

-----------------------------------------------------------------------------



Re^5: chat-fenster (Mesirii, 24. Sep 2011, 10:38:14):
~#! rn=Arathorn rt=1316852666 rg=mudclients
~#! tid=1316833587
Alles gute Ideen, werd ich mal machen.
Das Einfaerben ist das solange aktiv bis man da mal draufgedrueckt hat? Oder
bis im naechsten Tab was passiert? Sonst sind irgendwann alle mal eingefaerbt.
Man kann auch in Klammern z.b. die Anzahl der neuen "Meldungen" anzeigen.
Das mit der Tabelle ist kein Problem, man kann da auch "finger" als befehl
reinmachen oder als icons. Andere Ideen waeren noch die vorhandenen
Status-Infos ueber denjenigen anzuzeigen. Das mit dem Chat-Doppelick fuer
eingeloggte Spieler wenn die irgendwo auftauchen ist ne gute Idee, sollen die
noch eingefaerbt sein, oder einfach nur aktiv fuer nen doppelklick?
Danke,
Mesi

-----------------------------------------------------------------------------



Re^6: chat-fenster (Arathorn, 24. Sep 2011, 10:49:12):
~#! rn=Mesirii rt=1316853494 rg=mudclients
~#! tid=1316833587
So lang einfaerben, bis man da draufgeklickt hat um sich's anzuschauen.
(Vordergrund-Tab dann entsprechend natuerlich nie einfaerben.)

Zu der Sortierung nochmal: Klar, die Liste ist nach Level sortiert, zuerst
Spieler, dann Seher, dann Magier. Wenn man jetzt in dem kwer-Fenster des
Clients die Standard-Einstellung von 10 Eintraegen pro Seite hat, dann sind
das erst Spieler, dann Seher, klar. Nun aendert man die Sortierung, zB
nach Name, und dann tauchen in der Liste der ersten 10 Namen auf, die
vorher ausgeblendet waren. Das meinte ich. Hoffe, jetzt ist es besser
beschrieben? ;-)

Zum Chat-Doppelklick fuer Spielernamen: ich wuerde die erstmal aktivieren,
die Funktion dann einfach irgendwo dokumentieren. Die Spieler kommen schon
selber drauf, dass das funktioniert, wenn sie erstmal anfangen, auf alles
Grossgeschriebene zu doppelklicken. :-)

Arathorn.

-----------------------------------------------------------------------------



Re^7: chat-fenster (Mesirii, 24. Sep 2011, 11:16:31):
~#! rn=Arathorn rt=1316854152 rg=mudclients
~#! tid=1316833587
Ich hab noch nen paar Ideen. Man koennte eine konstante liste der Anwesenden
haben (z.b. wie die Dialog-Titel-Zeilen nur alle halt zugeklappt. Statt der
Tabelle im Chat-Fenster. Auf denen kann man dann mit nem mouse-over ein Popup
mit Aktionen anzeigen (finger,chat,mail,rknuddel usw). Dasselbe mouse-over
koennte man im mud-fenster machen (ein aehnliches fuer andere substantive
(unt, trage, nimm, toete). Und bei Doppelklick kommt halt jeweils die
Standard-Aktion (unt, chat). 
Mesi

-----------------------------------------------------------------------------



Re^8: chat-fenster (Bambi, 24. Sep 2011, 11:28:13):
~#! rn=Mesirii rt=1316855791 rg=mudclients
~#! tid=1316833587
Nachdem wir in letzter Zeit recht viele Neulinge hatten, die ziemlich sicher
den Client verwenden, wuerde ich diese Option entweder defaultmaessig
deaktivieren, damit man sie erst einschalten muss oder man sollte deutlich(st)
darauf hinweisen, dass man nicht nur die vom Client erkannten Woerter
untersuchen kann, sondern auch viele andere Sachen. Das wirkt sonst vielleicht
so, als waeren eben nur diese Moeglichkeiten vorhanden.

-----------------------------------------------------------------------------



Re^9: chat-fenster (Zesstra, 24. Sep 2011, 12:55:57):
~#! rn=Bambi rt=1316856493 rg=mudclients
~#! tid=1316833587
Ja, dieser Hinweis sollte kommen, das stimmt. Sonst endet das sehr schnell in
grossem Frust. Das koennte man auch im tutorial vielleicht noch erwaehnen
(falls es das nicht ohnehin schon wird).

Zesstra

-----------------------------------------------------------------------------



Re^6: hab mal angefangen, ein neues webtelnet zu basteln (Gloinson, 24. Sep 2011, 17:50:06):
~#! rn=Mesirii rt=1315312277 rg=mudclients
~#! tid=1314153401
Ideen:
# Auto-Kommandos seitens des Clients:
wenn man zB "MUD"->"Ort" anklickt, wird automatisch ein (im Hauptfenster nicht
dargestelltes) "schau" ausgefuehrt bzw bei "MUD"->"Anwesende" ein "kwer".

# [Optional] Text im Hauptfenster weglassen:
Der Teddy zB koennte nur noch optional im Hauptfenster seine Textmeldungen
scrollen, wenn man "Status" an hat.

Aehnlich mit kwer oder der Langbeschreibung eines Raumes: es koennte im
Hauptfenster nichts bzw. nur der Kurztext des Raumes erscheinen, wenn
"MUD"->"Anwesende" oder "MUD"->"Ort" an ist.


-----------------------------------------------------------------------------



Neuigkeiten (Mesirii, 25. Sep 2011, 16:23:02):
Ich hab die UI mal aufgefrischt, ausserdem intern die Trigger eingebaut, so
dass jetzt Gaggen bestimmter Sachen moeglich ist und Gelegenheit fuer
Prioritaeten und Fall-Through.
Vielleicht findet Zesstra heute Zeit, das auf der mg-seite zu aktualisieren.

Testet Zuhauf
Mesi
http://x.cd/3w

-----------------------------------------------------------------------------



Re: Neuigkeiten (Zesstra, 25. Sep 2011, 23:11:39):
~#! rn=Mesirii rt=1316960582 rg=mudclients
~#! tid=1316960582
Ich hab den Client auf mg.mud.de auf die aktuelle Version aktualisiert.

Zesstra

-----------------------------------------------------------------------------



Neuspieler-Anmeldung (Mesirii, 26. Sep 2011, 02:44:41):
Ich hab mal noch ein paar Sachen gebaut:
- trigger system intern umgestellt, so dass jetzt count, gag auch wirklich
funktionieren
- Login Dialog, von dem man auch zu einer umfassenden
Neuspieler-Anmeldungs-Dialog kommt
- Farben fuer LP/KP/Gilde in der Status-Box

Bitte testet die Sachen mal, vor allem die Neuspieler-Anmeldung
Danke
Mesi

-----------------------------------------------------------------------------



Re: Statusreporte fuer Spieler (Mesirii, 26. Sep 2011, 13:36:31):
~#! rn=Zesstra rt=1317034249 rg=bekanntmachungen
~#! tid=1317034249
Und der Test-Client unter x.cd/3w kann die neuen Statusinfos auch schon
auswerten, gaggen und visuell anzeigen :)
Ausserdem hat der Login-dialog jetzt nen Gastzugang bekommen und ein paar
kleinere Fehler gefixt.

Mesi

-----------------------------------------------------------------------------



Issues (Mesirii, 27. Sep 2011, 08:58:58):
Wir haben ja jetzt schon ne Menge issues. Zesstra und ich haben uns
verstaendigt, dass wir erstmal die existierenden UI-Bugs entfernen wollen.
Dazu wird er diese Issues in einen Milestone einsortieren.
Andere Sachen, die nice to have sind, werden ins Backlog wandern. Ich bitte
Euch fuer UI-Fehler das/die jeweiligen Browser-Label anzutackern.
Wir haben gestern sogar nen Neuspieler gehabt, den Zesstra auf den Web-Client
verwiesen hat, und der nach Wechsel von FF zu Chrome auch schon zufrieden war.

Issues sind hier: http://github.com/jexp/mg_client/issues
Danke, Mesi

-----------------------------------------------------------------------------



Test Android Tablet (3.2) (Rumata, 28. Sep 2011, 14:15:51):
Hallo, erster Kurztest auf einem Android Tablet.

* Erstmal hat man das leidtige Touch vs. Click Problem. Man kann UI
Elemente somit nicht verschieben. Das Mitteilungen und Ebenenfenster
liegt damit ueber dem Text.

* Das Textfenster wird nur 60 Zeichen breit gebaut, obwohl satt platz waere.

Rum**

-----------------------------------------------------------------------------



Re: Test Android Tablet (3.2) (Zesstra, 28. Sep 2011, 14:20:13):
~#! rn=Rumata rt=1317212151 rg=mudclients
~#! tid=1317212151
ja, ersteres ist auch auf meinem ipad so. Langfristig ist da die Planung, eine
separate Mobile UI zu machen, da die Unterschiede in der Bedienung einfach zu
gross sein, um eine UI fuer alles zu machen.

Zesstra

-----------------------------------------------------------------------------



Re: Re: Test Android Tablet (3.2) (Rumata, 28. Sep 2011, 14:24:24):
~#! rn=Zesstra rt=1317212413 rg=mudclients
~#! tid=1317212151
So was in der Art liegt nahe.

Achso: nachtrag: es waren 72 Zeichen, und der Browser ist der bei
Android 3.2 vorinstallierte (Chrome?)

-----------------------------------------------------------------------------



Re^3: Test Android Tablet (3.2) (Mesirii,  5. Okt 2011, 05:14:46):
~#! rn=Rumata rt=1317212664 rg=mudclients
~#! tid=1317212151
Ich hab mal einige issues fuer das public beta release abgearbeitet. Ist jetzt
nur ncoh der cookie im Firefox offen.
Bitte mal auf der test-umgebung http://x.cd/3w anschauen. Wenn das soweit ok
(noch nicht huebsch), kann das Zesstra mit auf den MG-Rechner ziehen.

Gruss
Mesi

-----------------------------------------------------------------------------



Re^4: Test Android Tablet (3.2) (Rumata,  5. Okt 2011, 09:42:09):
~#! rn=Mesirii rt=1317784486 rg=mudclients
~#! tid=1317212151
Meine Beobachtungen:
* das "hauptfenster kann jetzt horizontal scrollen.
* Das mittleungen/Ebenenfenster kann nicht wegbewegt werden.
* Die Liste der Anwesenden ist "komisch": Es ploppt links am Rand ein leeres
Fenster auf, wenn man draufklickt, kommt eine Liste der Anwesenden (nicht in
dem Fenster, sondern in einem popup), waehlt man einen der Anwesenden aus,
erscheint dessen Name in dem Fenster links (sonst nix) und ersetzt dort evtl
vorhandene alte Namen.

Unter Firefox funktionieren die Extrafenster fast garnicht. Klick auf "MPA"
liefert einen Haufen Buttons, die die anderen Buttons drumherum (transparent)
ueberlagern.
=> ist das der "cookie-issue?"

(FF 7.0.1/i386 Linux)

Rum**

-----------------------------------------------------------------------------



Re^5: Test Android Tablet (3.2) (Rumata,  5. Okt 2011, 09:42:47):
~#! rn=Rumata rt=1317800529 rg=mudclients
~#! tid=1317212151
Achja, die ersten Punkte bezogen sich auf den eingebauten Browser von Android
3.2

-----------------------------------------------------------------------------



Re^6: Test Android Tablet (3.2) (Mesirii,  5. Okt 2011, 10:16:37):
~#! rn=Rumata rt=1317800567 rg=mudclients
~#! tid=1317212151
Hmm hab leider kein Android zum testen, aber wie schon gesagt, die mobilen
Browser bekommen eh ne ganz andere UI (sind also jetzt erstmal mehr oder
weniger aussen vor).

Kann ich fuer FF7 die Fehler-Konsole-Ausgaben haben?

Bitte an webclient at mesirii.de

Danke
Mesi

-----------------------------------------------------------------------------



Re^5: Test Android Tablet (3.2) (Arathorn,  5. Okt 2011, 17:44:06):
~#! rn=Rumata rt=1317800529 rg=mudclients
~#! tid=1317212151
Funktioniert bei mir alles einwandfrei, gleicher Browser, unter Ubuntu 11.04
oder so. Ist das vllt ein lokales Problem bei Dir?

-----------------------------------------------------------------------------



Re^6: Test Android Tablet (3.2) (Mesirii,  5. Okt 2011, 23:39:25):
~#! rn=Arathorn rt=1317829446 rg=mudclients
~#! tid=1317212151
Ich hab mal das FF problem mit abgeschalteten cookies angegangen, waer cool,
wenn ihr das nochmal testen koenntet. Hat leider zur Folge, das im FF nichts
persistent gespeichert werden kann :(
Mesi
http://x.cd/3w

-----------------------------------------------------------------------------



Re^7: Test Android Tablet (3.2) (Zesstra,  5. Okt 2011, 23:55:57):
~#! rn=Mesirii rt=1317850765 rg=mudclients
~#! tid=1317212151
Mhmmm. Das waere fuer eine Weile ja zu verschmerzen bzw. koennte man
vielleicht nen Hinweis anzeigen, wenn Cookies abgeschaltet sind.
Aber irgendwie tuts bei mir noch nicht richtig, ich kann mich ohne Cookies
zwar anmelden, aber der Fehler im Log bleibt und das Layout ist noch kaputt.

Zesstra

-----------------------------------------------------------------------------



Re^8: Test Android Tablet (3.2) (Mesirii,  6. Okt 2011, 00:35:20):
~#! rn=Zesstra rt=1317851757 rg=mudclients
~#! tid=1317212151
Ok, das FF problem ist jetzt auch gefixt.
Zesstra hat den MG-Client auf den mg.mud.de Seiten aktualisiert, also koennt
ihr ihn jetzt dort auch in voller "Schoenheit" geniessen.

Btw. ich hab mal den ersten Design-Vorschlag bekommen, sieht schon schick aus:
http://dl.dropbox.com/u/14493611/mg_client_entwurf.png

Gruss Mesi

-----------------------------------------------------------------------------



Re^9: Test Android Tablet (3.2) (Croft,  6. Okt 2011, 10:56:42):
~#! rn=Mesirii rt=1317854120 rg=mudclients
~#! tid=1317212151
Fesch!

Croft

-----------------------------------------------------------------------------



Re^10: Test Android Tablet (3.2) (Rumata,  6. Okt 2011, 11:07:58):
~#! rn=Croft rt=1317891402 rg=mudclients
~#! tid=1317212151
Wow! Schick!

Zwei Klinigkeiten:
* In dem Kommunikationsfenster erscheint das "X" fuer schliessen als
  Tab.

* Die Navigationsrose verdeckt die Liste der Anwesenden.

Ah und nochwas, wenn ich was mit umlauten eingebe, wird das als Eingabe
1:1 uebernommen.

Wenn ich das richtig sehe, macht der client doch die umlaute raus, oder?
Ware evtl sinnvoll, den umgewandelten text als "Eingabe" im Terminalfenster
anzuzeigen.


Rum**

-----------------------------------------------------------------------------



Re^11: Test Android Tablet (3.2) (Zesstra,  6. Okt 2011, 11:19:25):
~#! rn=Rumata rt=1317892078 rg=mudclients
~#! tid=1317212151
Die Umwandlung erfolgt nicht im Client, sonderm in dem Proxy, der mit dem Mud
kommuniziert, daher koennte das etwas schwierig sein. Der Grund ist, dass ich
zwar nen iconv() fuer node.js gefunden hab, aber nicht fuer das JS, was im
Browser laeuft.

Zesstra

-----------------------------------------------------------------------------



Re^12: Test Android Tablet (3.2) (Rumata,  6. Okt 2011, 11:27:37):
~#! rn=Zesstra rt=1317892765 rg=mudclients
~#! tid=1317212151
Okay, war auchnur so eine idee von mir.

-----------------------------------------------------------------------------



Re^11: Test Android Tablet (3.2) (Zesstra,  6. Okt 2011, 11:31:55):
~#! rn=Rumata rt=1317892078 rg=mudclients
~#! tid=1317212151
Ich finde das Design auch schick. Zwei erste Bemerkungen:
Die Schrift fuer die Bedienelement/Buttons sollte etwas besser lesbar sein,
aber das hatten wir gestern schon der Ebene, glaub ich.
Ansonsten koennte der Platz fuer die Fluchtrichtung evtl. zu knapp werden,
vielleicht besser Vorsicht und Gift in eine Zeile und FR in eine eigene. Auch
wenn V und G noch so direkt zusammenpassen.

Zesstra

-----------------------------------------------------------------------------



Re^11: Test Android Tablet (3.2) (Mesirii,  6. Okt 2011, 16:19:25):
~#! rn=Rumata rt=1317892078 rg=mudclients
~#! tid=1317212151
Ja, das X ist ein "Tab", muss ich mal bei gelegeheit umbasteln, tabs in nem
dialog ging nicht, daher hab ich einen "fake-dialog" gebastelt.
Navigationsrose + Anwesendeliste sind meine fehlenden CSS / Layout
faehigkeiten.
kontrolle

kontrolle
Die Umlaute wandelt zur Zeit der Server um, ggf. muessen wir das in den Client
verschieben. 

Mesi

-----------------------------------------------------------------------------



Re^12: Test Android Tablet (3.2) (Arathorn,  6. Okt 2011, 18:42:08):
~#! rn=Mesirii rt=1317910765 rg=mudclients
~#! tid=1317212151
Die Optik gefaellt mir auch ziemlich gut. :-)
Ich moechte aber noch anregen, beim Layout und der Positionierung eine
Moeglichkeit einzuplanen, die LP/KP-Info (ob es nun Balken oder Zahlen sind)
irgendwo zwischen Eingabezeile und Hauptfenster anzuzeigen, damit man das
im Kampfscroll im Blick behalten kann.

-----------------------------------------------------------------------------



layout webtelnetseite (Lysania, 25. Okt 2011, 23:04:53):
Ich habe eben mal das Webtelnet ausprobiert (Win XP, Firefox 3.6.21).
Leider sind einige Sachen genau auf dem Chatfenster, und zwar:
Rubriken
Allgemein
Artikel
[Verfassen] [Aktualisieren]
[Verfassen] [Aktualisieren] <warum 2x weiss ich nicht>
Rubrik: Nummer: Titel: Autor: Datum: [Antworten]
Wenn ich die Fenstergroesse aendere, sieht es aus, als ob diese Sachen (wohl
irrtuemlich) am rechten Rand geankert sind.

Ansonsten ist das Webtelnet zum einfach mal MPA lesen ne tolle Idee.

Khidar.

-----------------------------------------------------------------------------



Re: layout webtelnetseite (Arathorn, 25. Okt 2011, 23:10:05):
~#! rn=Lysania rt=1319576693 rg=mudclients
~#! tid=1319576693
Firefox 3.6.x hat ein Problem mit doppelter Anzeige von Ein- und Ausgabe,
das haben wir heute schonmal auf -anf festgestellt. Update auf 7.x behebt
das Problem wahrscheinlich, aber ich habe trotzdem mal ein Issue im Bug-
tracker dafuer aufgemacht. 

-----------------------------------------------------------------------------



Zeilen im Webclient (Sparkle,  8. Dez 2011, 17:21:44):
Beim Webclient tritt bei manchen Browsern das Problem auf, dass das mehr nicht
angezeigt wird. Mesirii habe ich diesbezueglich schon mal ne Mail geschrieben.
Das Problem taucht aber anscheinend immer noch auf.
Bei Neuspielern i.d.R. das erste Mal bei einem Klick auf Ausruestung. Waere es
ein Problem (unabhaengig davon, dass der Fehler im Webclient beseitigt wird),
den Defaultwert fuer zeilen zu erhoehen ?
Mit welchem Wert spielt Ihr ?
Lg, Sparkle

-----------------------------------------------------------------------------



Re: Zeilen im Webclient (Mesirii, 25. Feb 2012, 16:12:51):
~#! rn=Sparkle rt=1323361304 rg=mudclients
~#! tid=1323361304
Ein Zeilen 0 am Anfang sollte das Problem beheben, der Webclient muesste das
dann wohl automatisch schicken, mal sehen wann ich dazu komme es einzubauen.

Mesi

-----------------------------------------------------------------------------



MG-Client (Zamomin, 30. Dez 2012, 16:25:03):
Moin Moin!

Ich bin nicht sicher, aber der (ultracoole) Client von Seebee, der MG-Client,
der auch auf der Seite vom Morgengrauen vorgeschlagen wird... der Link ist
tot! Und mein computer ist leider futschijama gegangen... ich suche diesen
Clienten aber umbedingt!! Weiss jemand wie man an den wieder rankommt? Hat
jemand einen funktionierenden Link? 

Der alte lautet http://www.seebee.de/updown/MGclient.zip

Ich danke fuer jede Hilfe!

Zamomin

-----------------------------------------------------------------------------



Re: MG-Client (Gloinson, 30. Dez 2012, 16:52:55):
~#! rn=Zamomin rt=1356881103 rg=mudclients
~#! tid=1356881103
Mail doch einfach mal Seebee (also die Seitenbetreiberin) an, vermutlich hat
sie das Programm geschrieben.


-----------------------------------------------------------------------------



Re: MG-Client (Amaryllis, 30. Dez 2012, 21:40:13):
~#! rn=Zamomin rt=1356881103 rg=mudclients
~#! tid=1356881103
Ich kann Dir leider nicht helfen, aber genau aus dem Grund bewahre ich aus dem
Internet geladene Installationsdateien stets in einer Install-Partition auf.
Vielleicht ein Tip fuer die Zukunft.

Ama*

-----------------------------------------------------------------------------



Re: Re: MG-Client (Deanwood, 11. Jan 2013, 19:33:28):
~#! rn=Amaryllis rt=1356900013 rg=mudclients
~#! tid=1356881103
Ich schreib sie mal an, evtl. bekommt man den Clienten noch und wenn er
Freeware ist kann/darf man ihn auch hosten, wenn es was aktuelles gibt schreib
ich es mal hier hinein.
Gruss DeanWood

-----------------------------------------------------------------------------



Re^3: MG-Client (Zesstra, 11. Jan 2013, 22:33:58):
~#! rn=Deanwood rt=1357929208 rg=mudclients
~#! tid=1356881103
Jemand hat uns ins FTP ein  MGclient.zip abgelegt. Ich verschiebe das an eine
passende Stelle zum Download. Ich waer aber dankbar, wenn das jemand testet
und mir sagt, ob es auch wirklich das gewuenschte File ist. ;-)

Zesstra

-----------------------------------------------------------------------------



Re^4: MG-Client (Zesstra, 11. Jan 2013, 22:53:50):
~#! rn=Zesstra rt=1357940038 rg=mudclients
~#! tid=1356881103
Das File liegt jetzt unter
ftp://mg.mud.de/Software/Clients/MGclient.zip
und ist auch auf
https://mg.mud.de/download/mgc.shtml
verlinkt.

Zesstra

-----------------------------------------------------------------------------



Re^5: MG-Client (Amaryllis, 12. Jan 2013, 00:19:44):
~#! rn=Zesstra rt=1357941230 rg=mudclients
~#! tid=1356881103
das scheint tatsaechlich der gewuenschte Client zu sein. Wer auch immer den
wieder ausgegraben hat ;)

Ama*


-----------------------------------------------------------------------------



Re^6: MG-Client (Deanwood, 12. Jan 2013, 06:03:54):
~#! rn=Amaryllis rt=1357946384 rg=mudclients
~#! tid=1356881103
Na dann hat sichs erledigt Danke an unbekannt und euch beiden :)
Euer DeanWood.

-----------------------------------------------------------------------------



Re^7: MG-Client (Caldra, 12. Jan 2013, 21:34:50):
~#! rn=Deanwood rt=1357967034 rg=mudclients
~#! tid=1356881103
Hab ich gern gemacht :-)

gruss

Caldra

-----------------------------------------------------------------------------



Mudletscripte... (Zesstra,  2. Mar 2013, 00:02:18):
Ich habe meine simplen Testscripte (dank auch an Miril + Arathorn) als git
repository auf https://github.com/zesstra/mgm-scripts hochgeladen.

Ich hab nicht soooviel Zeit fuer Clientscripte und bin mir auch noch nicht
sicher, ob ich selber auf Mudlet umsteige, aber wenn jemand Lust hat, da 
gemeinschaftlich Scripte zu entwickeln, sammel ich gerne Pullrequests von
geforkten Repos ein. ;-) (Und versuch, gelegentlich meinen Senf dazu zu
geben...)

Zesstra

-----------------------------------------------------------------------------



Re^9: GMCP-Support im MG (Lev,  1. Apr 2013, 13:18:37):
~#! rn=Arathorn rt=1362833134 rg=entwicklung
~#! tid=1360450312
GMCP ist toll. Vielen Dank dafuer. Einerseits die 
Vitaldaten, andererseits auch die Raum-Ids. Sehr praktisch.

Noch eine andere Frage: Gibt es Plaene noch weitere Daten
mit zu uebergeben? So Vorsicht und Fluchtrichtung waere ja
eine extrem praktische Angelegenheit.

Lev.

-----------------------------------------------------------------------------



Re: Mudletscripte... (Lev,  4. Apr 2013, 20:07:47):
~#! rn=Zesstra rt=1362178938 rg=mudclients
~#! tid=1362178938
Ich habe ein wenig mit dem Mudlet als Client herumgespielt und
erstatte darueber einmal ein wenig Bericht:

Ich habe einige Zeit mit Ringors Skripten gespielt. Im wesentlichen
die Statuszeile, den Kampfscrollreduzierer und ein paar kleinere
Sachen, die fuer Kaempfer praktisch sind. Irgendwann gingen die
kaputt. Und die Version 4 von tf brachte die bei mir nie mehr so
richtig ans laufen. Auch alle Versuche, die anderen Pakete irgendwie
ans Rennen zu bringen, haben mir eher Frust gebracht. Nun denn. Habe
ich dann irgendwann wieder mit nahezu plain-tf angefangen zu
mudden. Ja, es scrollt hier ziemlich, aber gut.

Das ist als Vorgeschichte vielleicht ganz wichtig, weil ich mit einem
zerbrochenen Skript-Umfeld gespielt habe. 

Nun habe ich mir das Mudlet mal angesehen. Das folgte einerseits der
Idee, dass das schon GMCP kann und nen Mapper hat. Zum anderen habe
ich im Fruehjahr mit einigen Leuten geplaudert, die LuaTeX (eine
TeX-Variante, die man mit Lua erweitern kann) benutzen. Da dachte ich
mir: Lern ich einmal Lua, kann mir das ja an zwei Stellen nuetzlich
sein. Ich habe dazu im Maerz dann mal dieses Tutorial "Programming in
Lua" durchgearbeitet bzw. gelesen, um einen Eindruck ueber die Sprache
zu bekommen. Sonderlich gewandt kann ich mich damit noch nicht
ausdruecken, aber es tut schon das eine und andere. 

Ich habe dann bisher verschiedene Trigger, Aliase und Skripte
gestrickt. Diese koennen nun die bisherige Funktion von meinem tf
abbilden: Ein bisschen Statuszeile (hat ich gar nicht, ist also schon
mal nen Gewinn), meine zwei Hand voll Wegeskripte, einige kleinere
Skripte, Einfaerben der Kommunikation und Ebenen.

Darueberhinaus bin ich von dem GMCP sehr begeistert, denn da kann 
man im Client sehr schoen und einfach die Daten abgreifen, damit
was machen und muss nicht mehr die Ausgaben ab"triggern".

Was mir an Mudlet gefaellt:
- Spielen geht recht huebsch, aufgraeumter Screen, alles schnell zu
tippen und so. 
- Mit Lua komme ich gut zurecht und habe sehr schnell etwas auf die
Beine gestellt, auch ohne grosse Einarbeitung. Ich hab somit das
Gefuehl, dass ich schnell alles moegliche bewerkstelligt bekomme, was
ich brauche. Ob Mudlet das alles so pefomant wie noetig kann, wir
werden sehen.
- Das Reference Manual ist ausfuehrlich und hilfreich.

Was mir an Mudlet nicht so gut gefaellt:
- Diese Skript und Dingens Editiersache ist viel Mausklickiklicke und
Gemache, das ist eher unintuitiv zu bedienen.
- Mit mehreren Chars gleichzeitig eingeloggt sein, ist irgendwie
komisch, da man ein "Profil" nur einmal gleichzeitig einloggen kann
(irgendwie kaputt by design)
- Es gibt kaum bzw. keine Einfuehrungstexte und -hilfen, man startet
ziemlich auf der gruenen Wiese.
- Das Standardhandbuch zum einfachen Benutzen ist eher Murks.
- Ich habe noch nicht raus gefunden, wie man die Skripte "sauber"
irgendwohin extrahiert. Das ist irgendwie eine monolithische
XML-Datei, die man ueber eine Art Package Manager verwalten kann. 

Im Ergebnis kann das nun das gleiche, was ich vorher bei tf hatte. Da
ich mit dem Mudlet besser zurecht komme als mit dem tf-Gemurkse und
-Gescripte, werde ich nun wohl mittelfristig erst mal dabei bleiben.

Aufgaben, die noch offen sind:
- Kampfscrollreduzierer (irgendwie, ob ich es so toll hinbekomme wie
Ringor, keine Ahnung, wird wohl anfangs sehr schlicht)
- Statuszeile verbessern (modularer und mehr Sachen)
- Mapper ans Laufen bekommen

Gruss,
Lev.

-----------------------------------------------------------------------------



Re^10: GMCP-Support im MG (Zesstra,  4. Apr 2013, 21:44:44):
~#! rn=Lev rt=1364815117 rg=mudclients
~#! tid=1360450312
Ja. Die beiden genannten stehen auch auf der Todoliste... Aber bin bislang
nicht dazu gekommen.
In Planung ist auch ein Teammodul (Infos ueber den Rest vom Team) und
irgendwas, ueber das Gilden was (moeglichst allgemein) uebermitteln koennen,
bevorzugt hier natuerlich Dinge, die nicht (in Zukunft) ohnehin schon
uebertragen werden.

Zesstra

-----------------------------------------------------------------------------



Re: Re: Mudletscripte... (Lev,  4. Apr 2013, 21:58:47):
~#! rn=Lev rt=1365098867 rg=mudclients
~#! tid=1362178938
Ich befuerchte, ich bin zu doof fuer Github, aber hier ist 
der veroeffentlichbare Teil von meinen Skripten auf Github
zu finden:

https://github.com/krrrcks/krrrcks-mudlet

Lev.

-----------------------------------------------------------------------------



Re^3: Mudletscripte... (Lev,  4. Apr 2013, 22:03:42):
~#! rn=Lev rt=1365105527 rg=mudclients
~#! tid=1362178938
Ideen und Hinweise gerne dort als Issue hinterlassen; oder
Codefetzen zur Verbesserung, oder, oder.
Einfach mal melden.
Lev.

-----------------------------------------------------------------------------



Re^4: Mudletscripte... (Zesstra,  4. Apr 2013, 22:09:36):
~#! rn=Lev rt=1365105822 rg=mudclients
~#! tid=1362178938
Code zum verbessern koennte man durch direkten fork auch direkt einbauen und
nen Pullrequest schicken. ;-)

Zesstra

-----------------------------------------------------------------------------



Re^5: Mudletscripte... (Lev,  4. Apr 2013, 22:20:25):
~#! rn=Zesstra rt=1365106176 rg=mudclients
~#! tid=1362178938
Joah, ich wollt's bei mir halt erst einmal von neu 
aufbauen und daher hatte ich nicht von Dir direkt
geforkt.
Lev.

-----------------------------------------------------------------------------



Re^6: Mudletscripte... (Zesstra,  4. Apr 2013, 22:21:54):
~#! rn=Lev rt=1365106825 rg=mudclients
~#! tid=1362178938
Passt schon, ich wollte eh nur nen Anstoss geben, weil ich fuer eigene Scripte
gerade nicht genug Zeit hab. Waer mir lieber, alle andere forken von Dir. ;-)

Zesstra

-----------------------------------------------------------------------------



Re^11: GMCP-Support im MG (Zesstra, 21. Apr 2013, 20:20:49):
~#! rn=Zesstra rt=1365104684 rg=mudclients
~#! tid=1360450312
Ich habe einige kleine Bugs im GMCP-Support ausgebaut.
Wenn ihr Probleme habt, macht am besten als erstes ein "ende".

Zesstra

-----------------------------------------------------------------------------



Re: Re: Mudletscripte... (Kellybundy, 27. Apr 2013, 10:12:12):
~#! rn=Lev rt=1365098867 rg=mudclients
~#! tid=1362178938
Ich habe genau das Gleiche mit MushClient in Arbeit. Nachdem auch ich mit TF
an meine Grenzen gestossen bin gefaellt mir MushClient ausserordentlich gut,
Skriptsprache ist standardmaessig LUA, geht aber auch per Python, VB und und
und. Jetzt muss ich nur noch Zeit haben, meine Scripte mal fertig zu stellen
(Mapper und aehnliches) *GG*

-----------------------------------------------------------------------------



Mushclient Demo (Zaphob, 19. Mai 2013, 20:55:30):
Hier ein Beispiel von Aardwolf mit vielen verschiebbaren Unterfenstern, zB
Questliste, Hilfe-Menue mit Popups, Inventar, Statusfenster, Karte der Region
und ggf. weitere Karte der aktuellen Umgebung, Statusfenster des Gegners im

Ich frage mich, was davon mit aktuellen MG leicht umzusetzen und toll zu haben
waere. Einiges geht vermutlich nur wegen besonderem Aardwolf GMCP oder so.

Naja ich fands toll: https://www.youtube.com/watch?v=QvceEH3L4co

Zap*

-----------------------------------------------------------------------------



Re: Mushclient Demo (Arathorn, 19. Mai 2013, 21:09:43):
~#! rn=Zaphob rt=1368989730 rg=mudclients
~#! tid=1368989730
Was im MG nicht geht, ist der Questfortschritt, weil wir ja hier in den
meisten Faellen die Quests nicht explizit annehmen.

Alles andere muesste aber umsetzbar sein.

Gruss, Arathorn.

-----------------------------------------------------------------------------



Re^7: Mudletscripte... (Lev, 26. Mai 2013, 20:40:06):
~#! rn=Zesstra rt=1365106914 rg=mudclients
~#! tid=1362178938
Hat eigentlich irgendwer nen guten "Workflow", um Teile der
eigenen Skripte gut verfuegbar zu machen?

Ich habe nun schon probiert, das ganze Profil
zu exportieren und dann die Sachen, die ich nicht
bereit stellen will zu loeschen. Ich habe auch schon
probiert mit dem Package Exporter zu arbeiten. 

Irgendwie geht das alles "im Prinzip", aber er baut mir
beim Neueinlesen immer wieder eine neue Hierarchie-Ebene
auf, die ich gar nicht moechte. 

Also bspw. Ich habe bei den Triggern eine Rubrik "krrrcks",
das sollen die zu exportieren sein.


Egal, welchen Weg ich einschlage, es kommt dann immer 
eine neue Ueberkategorie (zB "Foobar->Krrrcks->Triggergruppe1")
heraus. 

Das ist doch recht nervig mit diesen XML-Dateien; warum die
das nicht einfach direkt als Lua-Code ausgeben, leuchtet
mir ja nicht so.

Lev.

-----------------------------------------------------------------------------



Re^8: Mudletscripte... (Lev, 27. Mai 2013, 09:14:55):
~#! rn=Lev rt=1369593606 rg=mudclients
~#! tid=1362178938
Habe es nun irgendwie mit dem Package Exporter hinbekommen,
so dass das nicht mehr so viel Gebastel ist. Dadurch haben
sich die einzelnen Eintraege allerdings auch in der
Bezeichnung geaendert, damit ich die immer schnell wiederfinde beim
Export.

Einige Aenderungen:
- Von Ahab: Anzeige Name und Level in der Statuszeile
- Fluchtrichtung und Vorsicht werden auch angezeigt

Sonst eher Sachen, die man nicht so sieht; ist alles noch
sehr pre-alpha und nicht schoen geschrieben und so, aber
tut einstweilen schon einmal. 

Ich hoff, ich bekomme in Kuerze auch mal den Mapper
ans Laufen. Wenn jemand sonst Ideen oder Verbesserungs-
vorschlaege hat, einfach mailen oder bei Github als
Issue einklimpern.

URL: https://github.com/krrrcks/krrrcks-mudlet

Gruss,
Lev.

-----------------------------------------------------------------------------



Meine Suche nach einem passenden Mudclient (Tijo,  6. Jul 2013, 10:49:28):
Zugegebenermassen gibt es fuer Blinde viele geeignete Clients - oder sollte es
geben! TF ist der wohl am meisten genutze Mudclient fuer Blinde - wenn ich das
richtig verstanden habe. Aber auch Vipmud sollte fuer Blinde kompatibel sein.
Ich habe sie getestet und bin zu einem erstaunlichen ergebnis gekommen...

Anfangs benutzte ich den Web-Client (mit Internet Explorer Version 8 oder
9.0). Doch dann haengte sich Jaws immer wieder auf (ich benutze Jaws 13.0).
Daraufhin sendete ich eine E-Mail an Zook. Dieser Antwortete mir auch sofort
(ein grosses Dankeschoen noch mal) und hat mir TF empfohlen.

Ich habe TF dann sofort heruntergeladen. Allerdings konnte ich nur das sehen,
was ich eingab - aber nicht das, was daraufhin vom Spiel geantwortet wurde.
Meine Jawsstimme las mir zwar den text vor, da ich allerdings auch noch
schwerhoerig bin, war diese Loesung nicht perfekt fuer mich. Einige Spieler
rieten mir /visual off einzugeben, aber das brachte auch nichts. Von einem
Spieler erfuhr ich, dass TF mit Jaws 7.0 einwandfrei funktioniert und es erst
bei hoeheren Versionen zu Komplikationen kommt. Also blieb mir weiterhin nur
der Web-Client, wenn ich etwas lesen wollte (und bei dem haengte sich Jaws ja
immer auf...)

Nun sah ich mich natuerlich nach einem weiteren Client um. Man hat mir Vip_Mud
als extra fuer die Blinden entwickelten Client empfohlen. Ich lud ihn herunter
und... Das Ergebnis war exakt das gleiche wie bei TF! 

Ich stand schon kurz vorm Aufgeben, was das Testen an diesem Tag anging, da
kam mein Vater auf die Idee den Web-Client nicht mit dem Internet Explorer
sondern mit Mozilla Firefox zu starten. Und - ob ihr es glaubt oder nicht - es
funktionierte! Diesen Artikel schreibe ich mit dem Web-Client, aus Mozilla
Firefox heraus. Bisher hat sich Jaws noch kein einziges Mal aufgehaengt.

Ob meine Suche damit beendet ist, weiss ich noch nicht. Ich moechte eigentlich
noch tintin++ und reines Telnet probieren. Dann werde ich euch erneut
berichten.

LG Tijo

-----------------------------------------------------------------------------



Re: Meine Suche nach einem passenden Mudclient (Bugfix,  7. Jul 2013, 20:47:56):
~#! rn=Tijo rt=1373100568 rg=mudclients
~#! tid=1373100568
Moin Tijo,

Kurz zu TF: /visual off ist Quatsch, ich verstehe nicht wieso einige Blinde
immernoch meinen das sei besser benutzbar, ist es nicht.

Und zum Auslesen der vom Mud gesendeten Zeilen empfehle ich in den JAWS-Cursor
zu wechseln. (auf Laptops jawstaste + ue und auf desktop-tastaturen Jawstaste
+ Minus auf dem Nummernblock (ganz rechts oben)), dann sollte das wunderbar
funktionieren.

BF

-----------------------------------------------------------------------------



Re: Re: Meine Suche nach einem passenden Mudclient (Arathorn,  7. Jul 2013, 22:46:10):
~#! rn=Bugfix rt=1373222876 rg=mudclients
~#! tid=1373100568
Zur Verteidigung der Blinden muss ich hier mal einwerfen, dass der Tip mit
"/visual off" auch von einigen Sehenden kam, weil zumindest bei mir der
Gedanke aufkam, dass das Jaws evtl. die beiden unterschiedlichen Fenster-
bereiche nicht sauber parsen kann. ;-)

Arathorn.

-----------------------------------------------------------------------------



Re^3: Meine Suche nach einem passenden Mudclient (Bugfix,  7. Jul 2013, 22:51:33):
~#! rn=Arathorn rt=1373229970 rg=mudclients
~#! tid=1373100568
Na dann ;-) also ich hab ja nur ne begrenzte Vorstellung von dem Fenster, aber
so wie JAWS das ausliest hat man bei /visual on oben den Ausgabebereich,
darunter die Statuszeile und darunter den Eingabebereich. Damit ist das
unproblematisch. Nervig ist es nur wen in einem Fenster eine vertikale
Trennung ist. Die Trennung wird generell nicht erkannt, aber durch das
zeilenweise Auslesen spielt die Horizontale Trennung keine Rolle, so viel nur
zur Erklaerung. ;-)

BF

-----------------------------------------------------------------------------



Re^4: Meine Suche nach einem passenden Mudclient (Tijo, 11. Jul 2013, 10:07:30):
~#! rn=Bugfix rt=1373230293 rg=mudclients
~#! tid=1373100568
Moin, ihr zwei =)


Danke Bugfix fuer den Tipp. Werds am WE nochmal probieren. Fuer Tintin++ und
Telnet hatte ich noch keine zeit - werd ich aber noch testen. Web-client ist
mir (besonders beim metzeln) zu langsam.


LG Tijo

-----------------------------------------------------------------------------



ein kleines problem in tf mit TinyMacros (Tin, 16. Jul 2013, 19:35:22):
Huhu ihr lieben,
Ich habe ein kleines problem, das ich mir nicht erklaeren kann:
Ich habe das Portal in Orkhausen also im Vlant bekommen habe da ein knoten 
gesetzt und einen am hafen und einen am marktplatz. alles in orkhausen.
wie im titel erwaehnt habe ich die TinyMacros 
sage das problem ist folgendes:
Wenn ich vom portal  zum marktplatz will lande ich irgendwo anders in der
stadt obwohl ich an der richtigen stelle starte das gleiche habe ich auch wenn
ich vom portal zum hafen will, komischerweise laeuft er richtig, wenn ich vom
hafen zum portal oder zum marktplatz will.
Hat vielleicht auch nochjemand dieses Problem und oder kann mir erklaeren,
woran das liegt und wie man das beheben kann?
Wuerde mich freuen
LG
tin

-----------------------------------------------------------------------------



Re: ein kleines problem in tf mit TinyMacros (Anatol, 17. Jul 2013, 14:21:31):
~#! rn=Tin rt=1373996122 rg=mudclients
~#! tid=1373996122
Versuch's im Kurz- statt im Ultrakurzmodus. Dann siehst du 
wahrscheinlich recht deutlich, wo Du falsch abgebogen bist.

PS: Rat unter Spielern: Lass Dich nicht von einem Makro entmuendigen. :)


-----------------------------------------------------------------------------



Re: Re: ein kleines problem in tf mit TinyMacros (Tin, 17. Jul 2013, 15:56:42):
~#! rn=Anatol rt=1374063691 rg=mudclients
~#! tid=1373996122
Huhu,
ich habe es gestern dann doch hinbekommen. bin richtig gelaufen, aber  ich
habe vergessen, den weg vom marktplatz zum portal zu speichern*g* habe dann
aber doch lieber alles geloescht und neu gemacht, weil er falsch lief, obwohl
der hafen richtig eingetragen war.
naja jetzt geht es.
LG
tin

-----------------------------------------------------------------------------



querverweis (Zaphob, 26. Aug 2013, 18:24:49):
Im anderen Thread (in diskussion) wird unter anderem angesprochen, dass schon
seit Jahren einige Aufgaben zur Weiterentwicklung des MG Web Clients auf
fleissige Freiwillige warten. Ausserdem wird ueber vorkonfigurierte Mudlients
nachgedacht, die auf der MG Webseite angeboten werden koennen. Mehr dort! :)

-----------------------------------------------------------------------------



Re: Meine Suche nach einem passenden Mudclient (Gnome, 10. Okt 2013, 14:45:02):
~#! rn=Tijo rt=1373100568 rg=mudclients
~#! tid=1373100568
Aus vielerlei Gruenden sollte man eh nie den IE benutzen. Egal fuer was.

-----------------------------------------------------------------------------



Re: Re: Meine Suche nach einem passenden Mudclient (Rumata, 11. Okt 2013, 09:05:29):
~#! rn=Gnome rt=1381409102 rg=mudclients
~#! tid=1373100568
Und womit soll man Firefox oder Chrome dann runterladen?

-----------------------------------------------------------------------------



Re^3: Meine Suche nach einem passenden Mudclient (Anthea, 11. Okt 2013, 09:07:50):
~#! rn=Rumata rt=1381475129 rg=mudclients
~#! tid=1373100568
ftp releases.mozilla.org

-----------------------------------------------------------------------------



Re^4: Meine Suche nach einem passenden Mudclient (Rumata, 11. Okt 2013, 09:34:40):
~#! rn=Anthea rt=1381475270 rg=mudclients
~#! tid=1373100568
Bei Win ist ein ftp client dabei?

-----------------------------------------------------------------------------



Re^5: Meine Suche nach einem passenden Mudclient (Anthea, 11. Okt 2013, 09:35:20):
~#! rn=Rumata rt=1381476880 rg=mudclients
~#! tid=1373100568
Ja. im Ernstfall einfach Kommandozeile oeffnen und "ftp" tippen...

-----------------------------------------------------------------------------



Re^6: Meine Suche nach einem passenden Mudclient (Rumata, 11. Okt 2013, 09:39:19):
~#! rn=Anthea rt=1381476920 rg=mudclients
~#! tid=1373100568
Ich wuerde meine Oma aber trotzdem lieber per telefon durch eine IE session
zum FF verhelfen als per ftp.

-----------------------------------------------------------------------------



Ueberlagerter Text (Zaphob,  2. Nov 2013, 13:51:36):
Ich habe hier mit Mudlet das Problem, dass manchmal (selten), aber
reproduzierbar einzelne Zeilen falsch interpretiert werden. In diesem Fall
fuehrt es dazu, dass eine Textzeile seltsam verschoben dargestellt wird, so
dass der Text sich selbst ueberlagert (klingt seltsam, ist aber so). Man kann
das gut nachvollziehen, wenn man versucht, den Text zu markieren. Je nachdem,
ob von links oder rechts, wird ein unterschiedlicher Teil der Zeile markiert.
Jedenfalls vermute ich, dass das MUD irgendwelch seltsamen Steuerzeichen
sendet, die dann von Mudlet fehlinterpretiert werden? Knne sein. Beispiel
waere jetzt gerade "spruchhilfe" und "komponentenhilfe" der Zauberer. Da gibt
es wohl Tabulatoren, die den Text fein untereinander anordnen sollen. Klappt
bei mir nur mit o.g. Nebeneffekt. Kann ich gerne genauer beschreiben, falls
das fuer die Klaerung hilfreich waere. Wer kann sich darum kuemmern? :)

-----------------------------------------------------------------------------



Re: Ueberlagerter Text (Zaphob,  2. Nov 2013, 15:04:17):
~#! rn=Zaphob rt=1383396696 rg=mudclients
~#! tid=1383396696
Arathorn hat mir freundlicherweise bestaetigt, dass es wohl tatsaechlich an
den Tabulator-Zeichen in der Hilfedatei liegt. Andererseits ergaben Tests,
dass ein fabrikneues Mudlet-Profil den o.g. Fehler nicht zeigt. Das wundert
mich, da ich eigentlich davon ausging, ein unveraendertes Profil getestet zu
haben. Jedenfalls tritt der Fehler bei mir nun derzeit nicht mehr auf. Ich
halte die Augen weiter offen. Vielen Dank!

-----------------------------------------------------------------------------



ue-Taste "entbinden" (Nok, 24. Mai 2014, 02:58:21):
Wer sich immer darueber aergert, dass die ue-Taste unter tf/Linux die erste
Zeile der Kommando-History holt und so die aktuelle Eingabezeile
ueberschreibt, der kann diese Taste wie folgt funktionslos machen:
/unbind ^[<
(Nach ewig langem Suchen endlich gefunden.)

-----------------------------------------------------------------------------



Re: ue-Taste "entbinden" (Zesstra, 24. Mai 2014, 09:40:52):
~#! rn=Nok rt=1400893101 rg=mudclients
~#! tid=1400893101
Mhmmm, eigentlich muesste TF ja auch sowas koennen wie die Umlaute automatisch
durch die entsprechende Umschreibung zu ersetzen.

Zesstra

-----------------------------------------------------------------------------



Re: Re: ue-Taste "entbinden" (Zook, 24. Mai 2014, 11:38:03):
~#! rn=Zesstra rt=1400917252 rg=mudclients
~#! tid=1400893101
bei mudlet habe ich da zwei, drei zeilen lua code fuer
gebraucht ;) *G* 
zook

-----------------------------------------------------------------------------



Re: Re: ue-Taste "entbinden" (Nok, 24. Mai 2014, 13:17:39):
~#! rn=Zesstra rt=1400917252 rg=mudclients
~#! tid=1400893101
Naja, das Problem war, dass die Taste an tf einen komischen Code uebergibt.
Natuerlich kann man gleich bei der Eingabe da ein u-e einfuegen lassen mit
/def -b'^[C^[<' bindingue = /input ue
Das /unbind ist aber wahrscheinlich trotzdem noetig.

-----------------------------------------------------------------------------



Re^3: ue-Taste "entbinden" (Arathorn, 24. Mai 2014, 13:19:54):
~#! rn=Nok rt=1400930259 rg=mudclients
~#! tid=1400893101
Ah, sehr schick! Hast du das auch noch fuer ae, oe und sz zur Hand? :-)

Arathorn.

-----------------------------------------------------------------------------



Re^4: ue-Taste "entbinden" (Arathorn, 24. Mai 2014, 13:29:37):
~#! rn=Arathorn rt=1400930394 rg=mudclients
~#! tid=1400893101
Und was ich auch toll faende, waere eine Moeglichkeit, F1 von /help
befreien zu koennen. Ich hab schon alle Bindings da drauf entfernt, 
aber es kommt immer noch die Hilfe raus, wenn die Taste gedrueckt wird.

Arathorn.

-----------------------------------------------------------------------------



Re^4: ue-Taste "entbinden" (Nok, 24. Mai 2014, 13:29:42):
~#! rn=Arathorn rt=1400930394 rg=mudclients
~#! tid=1400893101
Ja:
/def -b'^[C^[$' bindingae = /input ae
/def -b'^[C^[6' bindingoe = /input oe
/def -b'^[C^[^_' bindingsz = /input ss

Ich habe es auch fuer Ae/Oe versucht, aber das ist nichttrivial, irgendwie
empfaengt tf da halbe Steuersequenzen.

-----------------------------------------------------------------------------



Re^5: ue-Taste "entbinden" (Nok, 24. Mai 2014, 13:31:16):
~#! rn=Arathorn rt=1400930977 rg=mudclients
~#! tid=1400893101
Also bei mir ging F1 entbinden mit 
/unbind ^[[11~
oder
/unbind ^[[[A
je nach Terminal.

-----------------------------------------------------------------------------



Re^6: ue-Taste "entbinden" (Arathorn, 24. Mai 2014, 13:32:13):
~#! rn=Nok rt=1400931076 rg=mudclients
~#! tid=1400893101
Funktioniert beides nicht.

-----------------------------------------------------------------------------



Re^7: ue-Taste "entbinden" (Nok, 24. Mai 2014, 13:35:00):
~#! rn=Arathorn rt=1400931133 rg=mudclients
~#! tid=1400893101
Dann probier mal bitte 
/unbind ^[OP

-----------------------------------------------------------------------------



Re^8: ue-Taste "entbinden" (Arathorn, 24. Mai 2014, 13:35:17):
~#! rn=Nok rt=1400931300 rg=mudclients
~#! tid=1400893101
Jau, *das* geht nun. Danke! :-)

-----------------------------------------------------------------------------



Re^9: ue-Taste "entbinden" (Rumata, 24. Mai 2014, 13:36:20):
~#! rn=Arathorn rt=1400931317 rg=mudclients
~#! tid=1400893101
Super, die neuen bindings! :) Merkwuerdigerweise gibt das binding sz bei mir
nur ein s aus?!

-----------------------------------------------------------------------------



Re^10: ue-Taste "entbinden" (Rumata, 24. Mai 2014, 13:37:35):
~#! rn=Rumata rt=1400931380 rg=mudclients
~#! tid=1400893101
Achnee, tuts doch, bin nur ueber meien Composetaste gestolpert. Scheiss
Wurzeln.

-----------------------------------------------------------------------------



Re^10: ue-Taste "entbinden" (Chagall, 24. Mai 2014, 13:38:06):
~#! rn=Rumata rt=1400931380 rg=mudclients
~#! tid=1400893101
Funktioniert hier bei mir alles einwandfrei. Danke.

MC

-----------------------------------------------------------------------------



Mudlet 3.0 alpha (Zaphob, 22. Sep 2014, 13:57:35):
Nun nochmal in der richtigen (?) rubrik. Die lang ersehnte neue Hauptversion
des beliebten, programmierbaren, plattform-uebergreifenden Clients ist da,
nachdem es zuvor eher still um die Entwickler wurde.
Zur Feier des Tages habe ich die alten Gmcp Skripte entstaubt, und bin grad
dabei, die in eine Form  zu bringen, die auch Anfaenger weiterhelfen kann.
Naeheres spaeter, oder bei git.

-----------------------------------------------------------------------------



Re: Mudlet 3.0 alpha (Zook,  1. Okt 2014, 11:23:37):
~#! rn=Zaphob rt=1411387055 rg=mudclients
~#! tid=1411387055
Ah! 
Ich koennte meine ja auch mal wieder anfassen; Hat sich denn das
"Skript"-Format bissi verbessert? Ich fand diese XML-Struktur
ja eher bescheiden.

Verdarb dann irgendwann ziemlich die Lust. Lua an sich ist ja
nett.

Zook

-----------------------------------------------------------------------------



Re: Re: Mudlet 3.0 alpha (Zesstra,  1. Okt 2014, 19:03:11):
~#! rn=Zook rt=1412155417 rg=mudclients
~#! tid=1411387055
Ja, der XML-Kram hat mich auch massiv gestoert...

Zesstra

-----------------------------------------------------------------------------



Re^3: Mudlet 3.0 alpha (Rumata,  2. Okt 2014, 11:44:27):
~#! rn=Zesstra rt=1412182991 rg=mudclients
~#! tid=1411387055
Dann wird dir JSONx gefallen ein XML wrapper fuer JSON von IBM ;-)

-----------------------------------------------------------------------------



Re^4: Mudlet 3.0 alpha (Zaphob,  2. Okt 2014, 16:35:08):
~#! rn=Rumata rt=1412243067 rg=mudclients
~#! tid=1411387055
Ich habe nachgefragt. Es ist auch kein Problem, externe Lha Skripte
einzubinden via dofile() oder require()
Mein Lua ist noch ganz am Anfang, git auch, gmcp sowieso. Da kommt Xml eher
wie ein alter Bekannter vor.
Wer Interesse hat, die Skripte vorab zu testen, moege sich hier oder bei mir
melden.

-----------------------------------------------------------------------------



Re^5: Mudlet 3.0 alpha (Kellybundy,  9. Nov 2014, 21:30:07):
~#! rn=Zaphob rt=1412260508 rg=mudclients
~#! tid=1411387055
Ich bin ueber Mush Client gestolpert. Ist leider anscheinend nur fuer Windoof,
kann aber durchaus sein, dass die source frei ist und daher theoretisch auch
fuer *x kompilierbar, da bin ich ueberfragt, laeuft aber z.B. unter WINE. Ist
auch per LUA scriptbar und enorm ausgereift.

-----------------------------------------------------------------------------



Super Client fuer Blinde (Felvena,  7. Jan 2015, 12:08:23):
Hallo, zusammen,
Ich habe vor kurzem in einem anderen MUD einen Client empfohlen bekommen,
weil ich auf iMac umgestiegen bin und absolut nichts fr Blinde gefunden habe.
Der Client heisst TinTin und ist meines Wissens fr Linux und MacOsx
hervorragend
geeignet, Windows hab ich noch nicht getestet, dafr gibts ja gengend andere.
Das Programm laesst praktisch nichts zu wnschen brig.
Es gibt Ersetzen, Aliasse, Makros, Triggers so variabel wie man will,
und auch Zeilen, die man nicht mag, kann man ohne viel Aufhebens verschwinden
lassen. :-)
Ich hab mir schon den Nummernblock fuer die Richtungen eingestellt, richtig
bequem!
Das Skripten und Konfigurieren ist zwar per Hand zu erledigen,aber
kinderleicht.
Besonders hat mich gefreut, dass die Kartenfunktion auch mehr als ntzlich ist,
wenn man die Grafiken nicht sehen kann, denn es lsst sich alles mit Text
erfassen
und jeden Raum kann man benennen wie man will. Das Programm berechnet einem
dann sogar
die krzesten Wege, so dass ein Tod durch Verlaufen seltener werden duerfte.
Ich arbeite gerade an MG-Konfigurationen und Skripten.
Wie ist das hier so gehandhabt:
Soll ich, wenn fertig, auch die Karte zur Verfuegung stellen oder soll die
sich gefaelligst
jeder selbst erarbeiten? Was sagt die Obrigkeit dazu?
Auch bei Angaben der Lernerfolge in Prozent hab ich keine ahnung, bisher nur
davon gehoert.
Wenn einer da die Werte hat, waere ich dran interessiert. 
Liebe Gruesse
Felvena


-----------------------------------------------------------------------------



Re: Super Client fuer Blinde (Zesstra,  8. Jan 2015, 21:38:02):
~#! rn=Felvena rt=1420628903 rg=mudclients
~#! tid=1420628903
Mal mein persoenlicher Senf (das ist keine abgesprochene EM-Meinung)
entsprechend langjaehriger Regelinterpretation: Scripte gerne gemeinsam
erarbeiten und basteln (waer toll, wenn ihr die der Allgemeinheit
bereitstellen wollt), fertige Karten bitte nicht tauschen, sowas sollen
Spieler schon selber erspielen.

Zesstra

-----------------------------------------------------------------------------



Re: Re: Super Client fuer Blinde (Arathorn,  8. Jan 2015, 21:40:57):
~#! rn=Zesstra rt=1420749482 rg=mudclients
~#! tid=1420628903
In Tintin++ hab ich mal ein paar Basisskripte zur Aktivierung von GMCP
gebaut, mich dann aber nicht mehr viel weiter damit beschaeftigt. Wenn
das jemand braucht, einfach melden. Ich fand das damals recht unintuitiv,
was den Aufbau der Steuerzeichen angeht. Insofern: Muss man ja nicht
nochmal erfinden. ;-)

Arathorn.

-----------------------------------------------------------------------------



Re: Super Client fuer Blinde (Ark,  8. Jan 2015, 21:54:27):
~#! rn=Felvena rt=1420628903 rg=mudclients
~#! tid=1420628903
Fertige Karten waere fuer mich wie ein Film, dessen Szenen mir staendig schon
vorher verraten werden ... oede :-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: Super Client fuer Blinde (Tin,  8. Jan 2015, 21:56:12):
~#! rn=Felvena rt=1420628903 rg=mudclients
~#! tid=1420628903
Ich als nicht magier, kann mich aber nur den magiern anschliessen... finde
jeder sollte sich das selbst erarbeiten.
tin

-----------------------------------------------------------------------------



Re: Re: Super Client fuer Blinde (Crassus, 11. Jan 2015, 10:53:35):
~#! rn=Tin rt=1420750572 rg=mudclients
~#! tid=1420628903
Hallo Zusammen, hallo Felvena,

sehr gute Info von Dir felvena ich schau mir das mal fuer Windows an.
Gegen fertige Karten ist nichts zu sagen, aber jeder macht glaube gern seine
eigenen.
Leider ist es so das MG noch keinen eigenen Clienten hat und ein MUD ohne
Client ist wie ein verschluesselter Film ohne code.
Wenn Tintin so eiofach ist bekommt es auch jeder hin.
Freu mich schon aufs testen.
Ich komm bestimmt auf Dich zurueck Arathorn wenn ich es teste danke fuer die
Arbeit.
LG Crassus

-----------------------------------------------------------------------------



Re^3: Super Client fuer Blinde (Zesstra, 11. Jan 2015, 11:32:43):
~#! rn=Crassus rt=1420970015 rg=mudclients
~#! tid=1420628903
Um dem mal zu widersprechen: doch, gegen fertige Karten ist nach meiner
Regelinterpretation was zu sagen. (Und da bin ich bestimmt nicht allein mit
der Interpretation.)
Ansonsten: achso, jetzt hab ich das endlich verstanden, warum mir TF, Mudlet,
Tintin, Mushclient und Telnet nur Zeichensalat im Morgengrauen anzeigen.
Verdammt, warum hat mir das in 15 Jahren keiner gesagt. :-(

Zesstra

-----------------------------------------------------------------------------



Re^4: Super Client fuer Blinde (Zook, 11. Jan 2015, 12:49:58):
~#! rn=Zesstra rt=1420972363 rg=mudclients
~#! tid=1420628903
Ja, bitte keine fertigen Karten.
Zook.

-----------------------------------------------------------------------------



GMCP: Char-Module anderer Muds, Gross-/Kleinschreibung (Zesstra, 11. Jan 2015, 13:19:56):
Aus verschiedenen Gruenden ziehe ich in Erwaegung, unseren GMCP-Support
case-insensitiv zu machen (d.h. Gross- und Kleinschreibung spielt keine
Rolle). Die Spezifikation von GMCP machte da keine Vorgabe, aber ich neige zu
der Meinung, dass case-insensitiv eigentlich das beabsichtigte Verhalten war.

Es gibt allerdings 2 Module aus zwei Muds (nicht MG), die sich nur in der
Gross- und Kleinschreibung unterscheiden. D.h. eines davon fliegt dann raus.

Benutzt jemand von euch "char 1" oder "Char 1" (s. hilfe GMCP)?

Und welches ist euch wichtiger/lieber?

Zesstra

-----------------------------------------------------------------------------



Re^3: Super Client fuer Blinde (Bambi, 11. Jan 2015, 17:56:47):
~#! rn=Crassus rt=1420970015 rg=mudclients
~#! tid=1420628903
Wieso braucht ein MUD seinen eigenen MUD-Client?

-----------------------------------------------------------------------------



Re^3: Super Client fuer Blinde (Felvena, 11. Jan 2015, 18:48:30):
~#! rn=Crassus rt=1420970015 rg=mudclients
~#! tid=1420628903
Hallo zusammen,
Ob der client fuer Windows gut geeignet ist, weiss ich  nicht, 
es kommt wohl auf den Screenreader an.
Ich habe mir Arathorns Skript mal angesehen und mein erster Eindruck ist,
dass es hauptsaechlich was fuer Sehende ist, aber das muss ich noch pruefen.
Crassus, wenn du meine Skriptvorlagen haben moechtest sag einfach bescheid,
ich hab naemlich noch keine Homepage
oder aehnliches, etwas oeffentlich zum Download bereitzustellen.
Vielleicht richte ich diesbezueglich was in der Dropbox ein.
Gruessung
Felvena**

-----------------------------------------------------------------------------



Re^4: Super Client fuer Blinde (Arathorn, 11. Jan 2015, 18:51:45):
~#! rn=Felvena rt=1420998510 rg=mudclients
~#! tid=1420628903
wie ich ja schrieb: das sind erstmal die Basics, um GMCP in TinTin++ zu
aktivieren, und dann noch ein paar Kleinigkeiten, die die GMCP-Funktionen
ueberhaupt erstmal nutzen. 
Nix, was ansatzweise fertig waere, von Karten ganz zu schweigen.

Arathorn.

-----------------------------------------------------------------------------



Re: GMCP: Char-Module anderer Muds, Gross-/Kleinschreibung (Zaphob, 20. Jan 2015, 18:37:06):
~#! rn=Zesstra rt=1420978796 rg=mudclients
~#! tid=1420978796
Meine Mudlet-Skripte (die auch gerne getestet werden, nicht nur von Blinden,
Infos siehe MG Wiki) benutzen nur MG.char - so wie sich das gehoert.
Gross/klein ist mir auch egal. Frohes Basteln!

-----------------------------------------------------------------------------



Re^4: Super Client fuer Blinde (Zaphob, 20. Jan 2015, 18:47:16):
~#! rn=Bambi rt=1420995407 rg=mudclients
~#! tid=1420628903
Wieso braucht ein Mud seinen eigenen Client? Es bringt durchaus Vorteile, wenn
man Neuspielern klar sagen kann, wie sie ein halbwegs exzellentes
Spielerlebnis hinbekommen. Wir haben darueber ja schon oefter geredet, auch in
anderen Rubriken wie Oeffentlichkeitsarbeit oder Entwicklung, was das fuers MG
bedeutet. Nur einige aber nicht alle Spieler haben das Glueck, und finden die
besseren Clients und Scripte, und profitieren so von Helfern wie Kartenmaler,
Bewegungsmerker, oder verbesserten Anzeigen zum Spielerstatus und
Kampfverlauf. 

-----------------------------------------------------------------------------



Re^5: Super Client fuer Blinde (Bambi, 21. Jan 2015, 12:30:41):
~#! rn=Zaphob rt=1421776036 rg=mudclients
~#! tid=1420628903
Ich moechte anders fragen. Ein Client speziell fuer ein bestimmtes MUD ist imo
bis zu einem gewissen Grad (imo alles vor GMCP-Besonderheiten) eher nicht
unbedingt notwendig. Ich halte ihn auch fuer potenziell schaedlich. Er
verleitet zu Extralocken, die nur von diesem Client verstanden werden und das
MUD unattraktiv fuer Normal-Telnet-Mudder machen.

Einen eigenen Client anzubieten, ist darueber hinaus eine nicht zu
unterschaetzende Aufgabe. Davon abgesehen, dass er auf moeglichst vielen
Systemen laufen muss oder sollte, ist auch die Frage, fuer welche Zielgruppe
er erstellt wird und welche Features er beherrschen muss.
Ich brauche zum Beispiel keinen Automapper, andere finden so ein Feature aber
wichtig...

Natuerlich koennen wir uns als MUD auf einen telnet-kompatiblen
Mindeststandard einigen und darauf basierend einen eigenen (z.B. in Java
geschriebenen) Client anbieten. Aber ich sehe keinen akzeptablen
Kosten-Nutzen-Faktor im Vergleich zu verbreiteten heutigen Alternativen. Und
ja, ich habe mir einen eigenen MUD-Client geschrieben und verwende ihn auch.
Aber der ist nur fuer mich. Wenn jemandem ein Feature fehlt, bin ich nicht in
Zugzwang.

Verstehst Du, was ich meine?

Wir koennten natuerlich "nur fuer uns" entwickeln und diesen Client zur
Verfuegung stellen. Aber aktuell programmiere ich lieber Sachen im MG anstatt
am Client fuer das MG.

Bambi

-----------------------------------------------------------------------------



Re^6: Super Client fuer Blinde (Anatol, 21. Jan 2015, 14:08:36):
~#! rn=Bambi rt=1421839841 rg=mudclients
~#! tid=1420628903
Zum Silberland gibt es schon seit Ewigkeiten einen SLClient. Wer ihn
nutzen will, nutzt ihn, wer nicht, nicht. Geschadet hat er, jedenfalls,
nicht.

-----------------------------------------------------------------------------



Doppelte Ausgaben bei Mudlet (Zook,  4. Mar 2015, 10:14:57):
Huhu, hat ausser Humni und mir noch jemand das Problem, dass manchmal die 
Ausgaben doppelt ankommen?

Was tut man dagegen?

Zook

-----------------------------------------------------------------------------



Re: Doppelte Ausgaben bei Mudlet (Zaphob,  4. Mar 2015, 11:45:51):
~#! rn=Zook rt=1425460497 rg=mudclients
~#! tid=1425460497
Wie kann ich das testen oder nachstellen? Habe bisher nix dergleichen bemerkt.
Benutzt ihr die neuste Version?

-----------------------------------------------------------------------------



Re: Re: Doppelte Ausgaben bei Mudlet (Zook, 15. Mar 2015, 19:45:38):
~#! rn=Zaphob rt=1425465951 rg=mudclients
~#! tid=1425460497
Hm, nein, nicht die neuste Version. Ich habe mittlerweile die 
Skripte im Verdacht, die die Umlaute umsetzen. 

Zook

-----------------------------------------------------------------------------



Re^3: Super Client fuer Blinde (Kellybundy,  2. Apr 2015, 20:17:20):
~#! rn=Crassus rt=1420970015 rg=mudclients
~#! tid=1420628903
Ich kann waermstens MushClient empfehlen, was Windoof angeht. Scripten laesst
es sich mit diversen Sprachen, auch wenn die "einheimische" LUA ist. Ich
vermisse da auch definitiv nix.

-----------------------------------------------------------------------------



Webtelnet-Problem (Nok, 24. Mai 2015, 04:37:08):
Ich moechte anmerken, dass Mesiriis Webtelnet bei einem Gast das Passwort in
der Form a@b.de braucht, aber ein Gast aktuell gar kein Passwort will. Das
sollte korrigiert werden.

Nok i.V.v. Khidar.

-----------------------------------------------------------------------------



Re: Webtelnet-Problem (Zesstra, 24. Mai 2015, 11:26:43):
~#! rn=Nok rt=1432435028 rg=mudclients
~#! tid=1432435028
Also, wenn ich das Feld leer lasse, komm ich trotzdem rein.
(Dafuer tut es scheinbar erst was, wenn ich danach noch woanders hinklicke,
ist das bei anderen auch so?)

Zesstra

-----------------------------------------------------------------------------



pmf (Gwenhwyvar,  2. Jun 2015, 11:48:06):
Ich hab nicht nachgesehen ob es den noch gibt.
Aber zumindest diejenigen die unter Unix (Linux/MacosX) arbeiten sollten sich
mal den 'pmf'
(Padrone's Mud Frontend) ansehen.
Als er vor mittlerweile ca 20 Jahren rauskam (ja der ist wrklich so alt), war
er IMHO der beste Client der zur verfuegung stand, besser noch als der ebenso
alte tf...

-----------------------------------------------------------------------------



pmf zum 2. (Gwenhwyvar, 20. Jun 2015, 13:15:18):
fuer die die ihn soch mal ansehen wollen.
ich hab die sourcen gefunden und man kann sie von github runterladen:
https://github.com/Shea690901/pmf

-----------------------------------------------------------------------------



TF und ein neuer Linuxkernel (Humni, 22. Okt 2015, 19:13:03):
Hallo ihr,

ich hatte neulich ein Problem, und weiss, dass ich nicht der erste war, da mir
geholfen werden konnte.

Da das vielleicht auch fuer andere von Interesse ist, hier was geschah:

Ich hatte die Tage ein dist-upgrade auf meinem Ubunturechner gemacht, bei dem
auch ein neuer Kernel installiert wurde.

Hernach nahm mein TF keine Eingaben mehr an. Da ich nicht direkt nach dem
Update mit dem Rechner im MG war, hatte ich da erst keinen Zusammenhang
gesehen.

Wenn ihr auch so doof davorsteht wie ich: 

* Warum das so ist, weiss ich nicht.
* Workaround war bei mir, grub so zu konfigurieren, dass er mir auch alte
Kernels anbietet. Mit dem vorigen ging dann alles wieder.

Keine Loesung, nur ein Workaround. Vielleicht ist das ja ein Bug, der
irgendwann behoben wird - wo auch immer.

Humni

-----------------------------------------------------------------------------



Re: TF und ein neuer Linuxkernel (Arathorn, 22. Okt 2015, 19:33:48):
~#! rn=Humni rt=1445533983 rg=mudclients
~#! tid=1445533983
Welcher Kernel ist denn da der fragliche, der TF kaputtmacht?

-----------------------------------------------------------------------------



Re: Re: TF und ein neuer Linuxkernel (Arathorn, 22. Okt 2015, 19:36:34):
~#! rn=Arathorn rt=1445535228 rg=mudclients
~#! tid=1445533983
bei mir: 3.19.0-31-generic #36-Ubuntu SMP Wed Oct 7 15:04:02 UTC 2015 x86_64

Arathorn.

-----------------------------------------------------------------------------



Re: Re: TF und ein neuer Linuxkernel (Humni, 22. Okt 2015, 19:36:43):
~#! rn=Arathorn rt=1445535228 rg=mudclients
~#! tid=1445533983
3-13-0-65. 3-13-0-63 geht.

Humni

-----------------------------------------------------------------------------



Re^3: TF und ein neuer Linuxkernel (Chagall, 22. Okt 2015, 19:37:08):
~#! rn=Arathorn rt=1445535394 rg=mudclients
~#! tid=1445533983
Ich schaetze Du hast tf auch nochmal neu gebaut?

MC

-----------------------------------------------------------------------------



Re^3: TF und ein neuer Linuxkernel (Arathorn, 22. Okt 2015, 19:37:09):
~#! rn=Humni rt=1445535403 rg=mudclients
~#! tid=1445533983
Interessant. Ich habe null Probleme mit TF auf der Kubuntu-Maschine hier.

-----------------------------------------------------------------------------



Re^4: TF und ein neuer Linuxkernel (Arathorn, 22. Okt 2015, 19:37:38):
~#! rn=Arathorn rt=1445535429 rg=mudclients
~#! tid=1445533983
Ich bau das TF nicht selber, das kommt ausm Paket-Repo der Distribution.

-----------------------------------------------------------------------------



Re^4: TF und ein neuer Linuxkernel (Humni, 22. Okt 2015, 19:37:44):
~#! rn=Arathorn rt=1445535429 rg=mudclients
~#! tid=1445533983
Nein. Ich habe nix neu gebaut. Ich bin ein faules Weichei. Ich habe es aber
per apt-get deinstalliert und neuinstalliert.

Humni

-----------------------------------------------------------------------------



Re^5: TF und ein neuer Linuxkernel (Humni, 23. Okt 2015, 15:16:06):
~#! rn=Humni rt=1445535464 rg=mudclients
~#! tid=1445533983
Und um das klarzustellen: Mein Artikel hatte das Ziel, den Workaround
anzuzeigen, mit dem man erstmal klarkommt.

Mein Artikel hatte nicht das Ziel, dass sich hunderte von Leuten Gedanken um
Loesungen machen, jedenfalls nicht fuer mich. Ich habe einen funktionierenden
Workaround und kann tf wieder nutzen.

Und ja, ich bin in Zukunft mit solchen Artikeln vorsichtiger. Versprochen.

Danke an alle, die sich Gedanken machen - das war nur nie meine Intention.

Humni

-----------------------------------------------------------------------------



Re^6: TF und ein neuer Linuxkernel (Gloinson, 23. Okt 2015, 15:19:42):
~#! rn=Humni rt=1445606166 rg=mudclients
~#! tid=1445533983
Ich glaube du hast einfach nur die Neugierde des durchschnittlichen Mudders an
einer "sauberen" Loesung geweckt.


-----------------------------------------------------------------------------



Re^7: TF und ein neuer Linuxkernel (Humni, 23. Okt 2015, 15:21:23):
~#! rn=Gloinson rt=1445606382 rg=mudclients
~#! tid=1445533983
Mag sein. War aber nicht das Ziel. Will auch keinen abhalten, ich selbst habe
nur keine Zeit dafuer.

Humni

-----------------------------------------------------------------------------



Re: TF und ein neuer Linuxkernel (Vanir, 24. Okt 2015, 12:08:20):
~#! rn=Humni rt=1445533983 rg=mudclients
~#! tid=1445533983
Muhuhaha. Als wenn die Entwickler deinen Artikel vorhersehen konnten.

Ich hatte das gleiche Problem und - man mag es kaum glauben - seit vorgestern
(auf Datum von Humnis Artikel deut) geht tf wieder. Der entsprechende Kernel
wurde vermutlich dann kurz vorher bei mir installiert. 
V.


-----------------------------------------------------------------------------



Re: Re: TF und ein neuer Linuxkernel (Vanir, 24. Okt 2015, 12:14:53):
~#! rn=Vanir rt=1445681300 rg=mudclients
~#! tid=1445533983
Ich hab nun kernel 3.13.0-66-generic
Falls es jemanden interessiert.
V.

-----------------------------------------------------------------------------



Re^3: TF und ein neuer Linuxkernel (Vardion,  4. Nov 2015, 21:58:57):
~#! rn=Vanir rt=1445681693 rg=mudclients
~#! tid=1445533983
Ist das Ganze vom Terminal abhaengig? Console? XTerm? KDE-Term & Co?

-----------------------------------------------------------------------------



Mudlet Skripte (Zaphob,  5. Nov 2015, 14:31:35):
Aus aktuellem Anlass mal wieder ein Hinweis auf unser Buendel Skripte fuer den
Mudlet Client.

Leider sind die Infos im MG Wiki derzeit nicht erreichbar, daher hier der
direkte Link: 
https://github.com/Kebap/krrrcks-mudlet

Neuste Erweiterung: Ein automatischer Mapper

-----------------------------------------------------------------------------



Re^4: TF und ein neuer Linuxkernel (Vanir,  5. Nov 2015, 18:39:40):
~#! rn=Vardion rt=1446670737 rg=mudclients
~#! tid=1445533983
Hab ich nicht getestet und kann es deswegen nicht beantworten.
V.

-----------------------------------------------------------------------------



stunnel, TCP-Timeouts und checkHost (Ringor, 29. Nov 2015, 22:34:43):
Mahlzeit!

Da ich gerade einen Abend damit verbracht habe, mich mit 'stunnel' zu
pruegeln, moechte ich meine Ergebnisse gerne festhalten. Vielleicht hilft's
dem einen oder anderen ja. 

Was funktioniert?
- Sichere Verbindung zum MG. Yeah!
- Keine Verbindungsabbrueche nach 5 Minuten Inaktivitaet mehr (wahrscheinlich
  ein Problem meines Routers/Kabelmodems, aber das Problem haben andere
  vielleicht auch)

Was fehlt noch?
- Das Zertifikat wird noch nicht geprueft (checkHost wirft eine Fehlermeldung)

Vor allem zur "checkHost"-Option bin ich fuer hilfreiche Tipps dankbar.
Ansonsten habe ich meine Stolperfallen (stunnel3 vs. stunnel4, ipv4 vs. ipv6,
fehlende Rechte unter /var/run als nicht-root, TCP-Keepalive,
Linux-Defaultwerte) in der Konfiguration kommentiert. 


Ringor. Wollte doch "nur mal kurz reinschauen". 

-----------------hier abbeissen-----------------------------------------------
; Achtung: start als "stunnel4", da "stunnel" ein Link auf "stunnel3" ist!

; Nicht als Daemon laufen
foreground = yes
; PID-File unter /var/run darf nur root anlegen und wird eh nicht benoetigt
pid =
; Damit die Leitung auch bei Inaktivitaet erhalten bleibt
socket = r:SO_KEEPALIVE=yes
; Die Default-Werte unter Linux sind deutlich zu hoch
socket = r:TCP_KEEPIDLE=200
socket = r:TCP_KEEPINTVL=60

[mg]
client = yes
CApath = /etc/ssl/certs/
CAfile = /etc/ssl/certs/mg_chain.pem
verify = 3
; Line 19: "checkHost = mg.mud.de": Specified option name is not valid here
;checkHost = mg.mud.de
; TODO: Einschraenkungen auf sichere Cipher?
options = NO_SSLv2
connect = mg.mud.de:4712
; Angabe von 'localhost' bindet an ::1 statt 127.0.0.1!
accept = 127.0.0.1:4711

-----------------------------------------------------------------------------



TF-Bindings fuer UTF-8-Umlaute (Ringor, 29. Nov 2015, 23:13:53):
Frueher war alles besser! (TM)

Damals, mit ISO-8859-1 als System-Charset waren die Umlaute in TF leicht zu
mappen. Ein Druck auf die 'Oe'-Taste schickte dann zwei Zeichen an's MG: Oe.
Dann konnte der MG-Driver das irgendwann und man musste gar nichts mehr dafuer
tun in TF.

Jetzt hat mein Linux standardmaessig UTF-8 und mein TF 4.0 kann kein UTF-8.
Die Umlaute wieder auf die 'gute alte Art' per Binding einzufangen, klappt
leider nur fuer einen Teil der Umlaute. Das grosse Oe und das grosse Ae wollen
sich nicht binden lassen.

Hat jemand die magischen Formeln fuer mich?


Ringor. Will die Umlaute nicht wieder verlernen.

-----------------------hier abbeissen-----------------------------------------
;;; Umlaute umsetzen

/def -b'^[C^[6' bind_klein_oe=\
    /input oe

/def -b'^[C^[$' bind_klein_ae=\
    /input ae

/def -b'^[C^[<' bind_klein_ue=\
    /input ue

/def -b'^[C^[_' bind_gross_oe=\
    /input Oe

/def -b'^[C^[ ' bind_gross_ae=\
    /input Ae

/def -b'^[C^[^\\' bind_gross_ue=\
    /input Ue

/def -b'^[C^[^_' bind_ss=\
    /input ss


-----------------------------------------------------------------------------



Re: TF-Bindings fuer UTF-8-Umlaute (Zesstra,  2. Dez 2015, 20:33:15):
~#! rn=Ringor rt=1448835233 rg=mudclients
~#! tid=1448835233
Ich muss nur kurz etwas widersprechen: Der Driver hat sich noch nie fuer
Umlaute interessiert, er reicht sie einfach nur durch. Die interessante Frage
ist, ob beide Kommunikationspartner das gleiche Encoding im Terminal
verwenden.

Zesstra

-----------------------------------------------------------------------------



Re: Re: TF-Bindings fuer UTF-8-Umlaute (Ringor,  2. Dez 2015, 20:37:32):
~#! rn=Zesstra rt=1449084795 rg=mudclients
~#! tid=1448835233
Offensichtlich unsauber formuliert von mir. Die Funktion, die ich meine, ist
tatsaechlich nicht im Driver, sondern in der Mudlib beheimatet.

Hat aber trotzdem fuer mich die Arbeit uebernommen, Umlaute umzuwandeln in
"oe", "ae" etc. ;-)


Ringor. Kurz davor, UTF-8 abzuschalten fuer TF.

-----------------------------------------------------------------------------



Re^3: TF-Bindings fuer UTF-8-Umlaute (Zesstra,  2. Dez 2015, 20:52:25):
~#! rn=Ringor rt=1449085052 rg=mudclients
~#! tid=1448835233
Mhmm. Die Mudlib hat auch keine solche Funktion. ;-) Das Mud kuemmert sich im
Allgemeinen schlicht nicht um Umlaute.

Zesstra

-----------------------------------------------------------------------------



TF disconnect unter windows (Sharia,  3. Dez 2015, 10:09:23):
Huhu

ich nutze TF 5.0 beta 8 unter windows 8.2 und werde immer wieder, wenn ich mal
nen paar minuten idle, disconnected. 
Kann  mir jemand sagen woran das liegt?

Gruss Sharia

-----------------------------------------------------------------------------



Re: TF disconnect unter windows (Bugfix,  3. Dez 2015, 10:17:23):
~#! rn=Sharia rt=1449133763 rg=mudclients
~#! tid=1449133763
Probier mal "telnet keepalive ein".

Bugfix

-----------------------------------------------------------------------------



Re: Re: TF disconnect unter windows (Sharia,  3. Dez 2015, 11:16:24):
~#! rn=Bugfix rt=1449134243 rg=mudclients
~#! tid=1449133763
hat leider nicht funktioniert :(
weitere ideen?

-----------------------------------------------------------------------------



Re^3: TF disconnect unter windows (Rumata,  3. Dez 2015, 11:39:29):
~#! rn=Sharia rt=1449137784 rg=mudclients
~#! tid=1449133763
Vereinzelt scheinen Router die telnet Verbindungen zu trennen.
Koennte sein, dass dann SSL Benutzung hilft.
Macht die Sache nebenbei auch sicherer :-)

Rum**

-----------------------------------------------------------------------------



Re^4: TF disconnect unter windows (Gloinson,  3. Dez 2015, 12:16:30):
~#! rn=Rumata rt=1449139169 rg=mudclients
~#! tid=1449133763
Nein, stunnel hilft leider bei mir nicht. Aber vielleicht hilft das
clientseitige Keepalive bei dir, Sharia. Schau mal in:
http://mg.mud.de/download/stunnel.shtml#keepalive

und probier halt aus, ob es eine Wirkung hat. Ansonsten half bei mir nur ein
"haendisches" KeepAlive mit gegaggtem Muell ans MUD (Unitymedia mit deren
Router).


-----------------------------------------------------------------------------



Re^5: TF disconnect unter windows (Sharia,  3. Dez 2015, 14:50:35):
~#! rn=Gloinson rt=1449141390 rg=mudclients
~#! tid=1449133763
ein haendisches KeepAlive mit gegaggtem Muell scheint zu funktionieren....

danke fuer den Tip!

-----------------------------------------------------------------------------



Re^6: TF disconnect unter windows (Gloinson,  3. Dez 2015, 15:25:36):
~#! rn=Sharia rt=1449150635 rg=mudclients
~#! tid=1449133763
Ein !\ vor so einem Muellkommando ist sinnvoll (! geht durch Editoren/More, \
ignoriert Alis).


-----------------------------------------------------------------------------



Re: TF-Bindings fuer UTF-8-Umlaute (Vardion,  3. Dez 2015, 19:40:06):
~#! rn=Ringor rt=1448835233 rg=mudclients
~#! tid=1448835233
Das UTF8-Geraffel bekommt man mit "luit" ganz gut in den Griff: "luit
-encoding ISO-8859-1 tf". Damit kann TF4 schoen weiter in seiner alten Welt
leben.

Vardion

-----------------------------------------------------------------------------



Re: Re: TF-Bindings fuer UTF-8-Umlaute (Ringor,  4. Dez 2015, 18:50:50):
~#! rn=Vardion rt=1449168006 rg=mudclients
~#! tid=1448835233
Laeuft perfekt, danke!

Ringor. Gluecklich, weil sein TF gluecklich ist.

-----------------------------------------------------------------------------



Re: Re: TF-Bindings fuer UTF-8-Umlaute (Zesstra,  7. Dez 2015, 18:28:18):
~#! rn=Vardion rt=1449168006 rg=mudclients
~#! tid=1448835233
Was aber nix an den problemen aendert, wenn auf der anderen Seite ein
nicht-kompatibles Encoding laeuft.

Zesstra

-----------------------------------------------------------------------------



Re^7: TF disconnect unter windows (Zesstra,  7. Dez 2015, 22:59:19):
~#! rn=Gloinson rt=1449152736 rg=mudclients
~#! tid=1449133763
Ich habe aufgrund von Tests mit Ringor jetzt das Intervall fuer mudseitige
Telnet keepalive auf 4min reduziert. Das hat bei Ringor die probleme
beseitigt.
Bitte testet das UND stellt das senden von Muell ans Mud dann aber auch aus.
Das ganze ist nur ein ziemlich maessige Loesung fuer das Problem, weil sowas
im Zweifelsfall alle machen und die Router auf dem Weg im Zweifel immer
schneller expiren und das dazu fuehrt, dass das Intervall immer kleiner wird
(race to the bottom). Aber mal gucken, wie lang das jetzt funktioniert.

Zesstra

-----------------------------------------------------------------------------



Naechstes problem: Komische-Erwarte-Anzeige. (Taramar,  8. Dez 2015, 17:36:24):
Huhu,
das naechste Problem tut sich auf und ich weiss nicht wo es liegt.
Es ist klein, aber ich kann mir das nicht erklaeren.
Ich habe heute nur den Artikel von Zesstra gelesen und anschliessend "Ende"
eingetippt.
Beides tf mit gleichem Laptop und gleicher Internetverbindung.
Ich habe das Gefuehl, es stimmt aber etwas mit dem Paket nicht.
Es betrifft die Erwarte-Funktion.

Erwarte-Anzeige bei Tin:
Taramar ist gerade ins MorgenGrauen gekommen.
Erwartet  (online): Taramar

Erwarte-Anzeige bei Taramar:
Tin hat gerade das MorgenGrauen verlassen.
Tin IST JETZT NICHT MEHR DA !!!

Es ist vermutlich ein kleineres Uebel, welches mich jetzt nicht so sehr
stoert, wundert mich allerdings, dass es heute zum 1. Mal so aufgetreten ist
und nur Taramar betrifft.
Ob noch andere Funktionen betroffen sind, kann ich jetzt noch nicht sagen.

Gruss,
Taramar.

-----------------------------------------------------------------------------



Re: Naechstes problem: Komische-Erwarte-Anzeige. (Xutelius,  8. Dez 2015, 17:53:28):
~#! rn=Taramar rt=1449592584 rg=mudclients
~#! tid=1449592584
Der Text wurde geaendert, frueher waren da Leerzeichen zwischen allen
Buchstaben. Du musst bei den TinyMacros in mg.mud.de/erwarte.tf bei den Macros
t_erwarte und t_erwarte2 den Triggertext anpassen.

Xut*

-----------------------------------------------------------------------------



Re: Naechstes problem: Komische-Erwarte-Anzeige. (Chagall,  8. Dez 2015, 17:53:31):
~#! rn=Taramar rt=1449592584 rg=mudclients
~#! tid=1449592584

Das hat nichts mit dem Mud zu tun. Die Anzeige bei Tin kommt aus dem
TinyMacros-Skript erwarte.tf. Bei Dir ist offensichtlich erwarte.tf nicht
(mehr) geladen. Ich wuerd entweder gucken ob man das per /configure irgendwie
reaktivieren kann, ansonsten mal mit erwarte.tf und erwarte.{cfg,def}
experimentieren.

MC

-----------------------------------------------------------------------------



Re: Re: Naechstes problem: Komische-Erwarte-Anzeige. (Chagall,  8. Dez 2015, 17:54:11):
~#! rn=Chagall rt=1449593611 rg=mudclients
~#! tid=1449592584
Oder einfach alles ignorieren und Xutelius' folgen. Vielleicht hilft das.

MC

-----------------------------------------------------------------------------



Re^3: Naechstes problem: Komische-Erwarte-Anzeige. (Taramar,  8. Dez 2015, 17:59:36):
~#! rn=Chagall rt=1449593651 rg=mudclients
~#! tid=1449592584
t_erwarte und t_erwarte2 
enthalten dann den eigentlichen Text?
Also, so wie in Beispiel 2?
Ich suche gerade die Datei.
Gruss,
Taramar**

-----------------------------------------------------------------------------



Re^4: Naechstes problem: Komische-Erwarte-Anzeige. (Taramar,  8. Dez 2015, 18:21:13):
~#! rn=Taramar rt=1449593976 rg=mudclients
~#! tid=1449592584
Ok,
Datei gefunden, alles geaendert. Ich habe die Leerstellen verringert zwischen
den Worten auf jeweils 1 Zeichen und die Zeichen zwischen den Buchstaben ganz
rausgenommen.
Weiterhin geht es nicht.
In der Paketauswahl steht bei Erwarte eine 1 im Feld.
Ich weiss nicht, was dies bedeutet.


-----------------------------------------------------------------------------



Re^4: Naechstes problem: Komische-Erwarte-Anzeige. (Taramar,  8. Dez 2015, 18:22:02):
~#! rn=Taramar rt=1449593976 rg=mudclients
~#! tid=1449592584
"Erweiterte Erwarte-Anzeige", heisst das, was ich bei Configure gefunden habe.

-----------------------------------------------------------------------------



Re^5: Naechstes problem: Komische-Erwarte-Anzeige. (Xutelius,  8. Dez 2015, 18:24:51):
~#! rn=Taramar rt=1449595322 rg=mudclients
~#! tid=1449592584
Kurz nochmal zur Erklaerung, der Text wurde nicht generell geaendert, sondern
nur bei "grafik aus".

Xut*

-----------------------------------------------------------------------------



Re^6: Naechstes problem: Komische-Erwarte-Anzeige. (Taramar,  8. Dez 2015, 18:38:26):
~#! rn=Xutelius rt=1449595491 rg=mudclients
~#! tid=1449592584
Danke :)

-----------------------------------------------------------------------------



Re^6: Naechstes problem: Komische-Erwarte-Anzeige. (Zesstra,  8. Dez 2015, 18:57:38):
~#! rn=Xutelius rt=1449595491 rg=mudclients
~#! tid=1449592584
Also, was mich betrifft: ich haette auch nix dagegen, den Text generell zu
aendern. Wuerde Dinge eher vereinfachen. Aber das ist eben sehr
Geschmackssache.

Zesstra

-----------------------------------------------------------------------------



Re^7: Naechstes problem: Komische-Erwarte-Anzeige. (Taramar,  8. Dez 2015, 19:01:16):
~#! rn=Zesstra rt=1449597458 rg=mudclients
~#! tid=1449592584
Welchen Text wie aendern?

Alles was ich versucht habe hat nicht geklappt. Entweder zerschieaendern?e ich
das Erwarte von Tin und meines bleibt so wie im Beispiel oben oder das von Tin
ist richtig und meines oben wie im Beispiel.
Ich verstehe auch wieder mal den Zusammenhang nicht, weshalb es bei mir
Probleme gibt und bei ihr nicht.

-----------------------------------------------------------------------------



Re^8: Naechstes problem: Komische-Erwarte-Anzeige. (Arathorn,  8. Dez 2015, 19:51:21):
~#! rn=Taramar rt=1449597676 rg=mudclients
~#! tid=1449592584
Es gibt zwei Texte. Einen mit vielen Leerzeichen fuer Leute mit "grafik ein"
und einen ohne Leerzeichen fuer Leute mit "grafik aus", damit denen der
Screenreader das gescheit vorlesen kann. Du brauchst also fuer beide
Varianten separate Trigger.

Arathorn.

-----------------------------------------------------------------------------



Re^3: TF-Bindings fuer UTF-8-Umlaute (Vardion, 22. Jan 2016, 19:57:28):
~#! rn=Zesstra rt=1449509298 rg=mudclients
~#! tid=1448835233
Was meinst Du denn mit "andere Seite"? Ich hatte Ringor so verstanden, dass
sein TF mit seinem lokalen Terminal nicht klar kam. Und genau das kann man mit
luit loesen. Die andere seite ist in diesem Fall vermutlich das MG. Und mit
dem kommt TF4 bisher gut klar... vielleicht verstehe ich auch einfach nur
nicht, worauf Du hinaus willst.

Vardion

-----------------------------------------------------------------------------



Re^4: TF-Bindings fuer UTF-8-Umlaute (Zesstra, 22. Jan 2016, 20:13:46):
~#! rn=Vardion rt=1453489048 rg=mudclients
~#! tid=1448835233
Ah, ich meinte mit andere Seite einen anderen Spieler. Das MG reicht idR ja
nur durch, sprich alle kommunizierenden Spieler muessen das gleiche Encoding
nehmen.

Zesstra

-----------------------------------------------------------------------------



Re^5: TF-Bindings fuer UTF-8-Umlaute (Vardion, 22. Jan 2016, 20:17:22):
~#! rn=Zesstra rt=1453490026 rg=mudclients
~#! tid=1448835233
Ich habe die Keybindings wie Ringor, dass ich Umlaute automatisch in ihre Ae
usw. Umschreibung aendere. Mein TF sendet an das MUD also nur ASCII, damit
sollte jeder Mudclient klarkommen, egal ob er nun Latin1 oder UTF8 erwartet.
Ich schaetze mal dem Mud ist es auch egal? Kommandos sind ja alle ASCII und
der Rest wird einfach durchgereicht.

Vardion

-----------------------------------------------------------------------------



Re^6: TF-Bindings fuer UTF-8-Umlaute (Zesstra, 22. Jan 2016, 20:19:48):
~#! rn=Vardion rt=1453490242 rg=mudclients
~#! tid=1448835233
ja, dem Mud ist das egal. Genau, ASCII ist subset in jedem Encoding, was bei
uns so ueblich ist, weswegen es immer noch geschickt ist, wenn das alle
nehmen.

Zesstra

-----------------------------------------------------------------------------



Ende-zu-Ende-Verschluesselung fuer Intermud + Teile-mit (Zesstra, 16. Apr 2016, 12:25:34):
Hallo allerseits,

ich cross-poste hier mal eine Mail, welche ich heute mal an einige mud-Admins
und LDMud-User geschickt habe. Aber vielleicht interessiert es hier ja auch
Leute. Ich uebersetze sie aber nicht, ihr muesst also mit Englisch
vorliebnehmen...

--- cut here ---
Recently I thought about how difficult it would be to extend the old intermud
v2/zebedee with asynchronous E2E encryption. And I think, the MUDs don't need
to support much, because most is obviously done in the clients.

I would like to start a discussion and be happy if you invite people not on
this mailing list to it.

I looked at the Signal Protocol (former: Axolotl) because I think, it is
currently the best solution available and there are several libararies
implementing the protocol so it should be not too complicated to include them
in clients. The signal protocol is used in Signal and (recently) WhatsApp.

Properties of the Signal Protocol:
asynchronous: the two user don't have to be online at the same time
group chat possible / multicast encryption
supports confidentiality, integrity, authentication, participant consistency,
destination validation, forward secrecy, backward secrecy (aka future
secrecy), causality preservation, message unlinkability, message repudiation,
participation repudiation, and asynchronicity.
uses Curve25519, AES-256, and HMAC-SHA256

Please note the the protocol does not require user IDs to be phone numbers,
they could also be user@mud.
https://whispersystems.org/blog/asynchronous-security/
https://whispersystems.org/blog/simplifying-otr-deniability/
https://whispersystems.org/blog/private-groups/
https://github.com/whispersystems/

What MUD (servers) need to support:
1) transport
We need to transport messages between users. Basically, we have that already
and it could be used as is. However, it might be useful to use something like
GMCP for the actual transport between servers and clients instead of
traditional commands (e.g. "teile-mit"). We might have to require clients to
encapsulate the encrypted messages in ASCII.

2) store and forward messages
If the client is currently disconnected, a MUD should store the messages and
transfer when the client connects next time. This should be relatively easy to
implement in LPC.

3) store public user keys
The MUD has to store the users public identity keys and a number of (signed)
prekeys. This should also be relatively easy. The interface for storing and
restrieval for clients could be based on GMCP.

4) implement and announce an intermud service "signalp"
We would add another optional service to the intermud protocol for querying
the key directories via intermud.

Actually, all of this could also be done with only one MUD offering it,
because nothing prevents a MUD to offer the service for users of other MUDs as
well. However, I would prefer to have several MUDs offering these services to
avoid a single point of failure and to make use of the p2p properties of
intermud v2.

What clients would need to support:
1) GMCP or another protocol for exchanging keys and messages with muds. This
mostly exists already and only requires a new optional module.
2) the signal protocol. Implementations are available in several languages and
there is not need to implement it again. Clients could implement a
communcation command that transparently uses the signal protocol if available
and traditional clear-text if not.

The mud-to-mud transport would be decoupled from the mud-to-client transport
and client functionality and could be extended to other protocols than
intermud v2.
Added bonus is, that even mud-internal communication between users could
easily encrypted as well, the MUDs would see only who communicates with whom.
Even private chat groups (Ebenen) would be possible.
(Yes - this defeats snooping mostly, but I don't think this should be a reason
not to implement a scheme like this.)

Obviously, this would work best, if there are several MUDs and clients
supporting this scheme. I am interested in your opinions concerning
implementation details but also if you think we might get it going.
I would start with adding a kind of reference implementation for the inetd in
Morgengrauen, which should be easily adaptable for other muds.
Are any of you working on clients and could be motivated to add something like
this?

Zesstra

-----------------------------------------------------------------------------



BlowTorch Beta Version fuer Android  (Zaphob,  7. Mai 2016, 18:59:26):
Vielleicht wusstet ihrs auch schon, falls nicht folgt hier der Link. Diese
Version laeuft bei mir zumindest deutlich stabiler und hat einige neue
Funktionen inkl Lua Scripting usw. Einfach mal ausprobieren, falls ihr per
Telefon mudden wollt.

http://bt.happygoatstudios.com/forum/viewtopic.php?f=4&t=5362

-----------------------------------------------------------------------------



Einfacher Mapper (Mundron, 17. Jul 2016, 17:12:54):
Ich faule Socke habe mir mal einen einfachen kleinen Mapper fuer den Mudlet
programmiert und denke, dass vielleicht auch andere Interesse daran haben
koennten. Es ist wirklich nichts grossartiges und koennte weitere Fehler als
die mir bekannten haben. Ich habe es hochgeladen unter
https://github.com/Mundron/ASCII-Mapper

Dieser Mapper eignet sich nicht dafuer ganz Morgengrauen auf einmal zu mappen
oder hat auch keine Funktion bei jedem Schritt eine aktualisierte Karte
auszugeben, sondern sie dient zum Zweck in einfachen "logischen" Gebieten den
Mapper laufen zu lassen um sich ggf zwischendurch zu orientieren und am Ende
eine Karte zu haben, die man speichern kann oder abmalen. Das sollte mir in
erster Linie die Arbeit ersparen beim Karten zeichnen bei jedem neuen Raum den
Stift ab und anzusetzen.

Ausserdem sollte erwaehnt werden, dass die Karte beim Neustarten des Clients
verloren geht, ausser sie wurde in einer Datei gespeichert. Das Auslesen einer
Karte aus einer Datei um sie auszuweiten ist (noch) nicht eingebaut.

Viel Spass damit. :)
Mundron

-----------------------------------------------------------------------------



Suche einen Mitstreiter/in (Rhoakka, 10. Apr 2017, 21:48:15):
Hi Ihrs,
seit laengerer Zeit schreibe ich an einem neunen Mudclient + Webclient, so
langsam geht er in die Finalphase, allerdings braeuchte ich hier und da noch
Unterstuetzung, denn es ist noch ein bisschen was zu tun. Falls wer Interesse
hat aktiv daran mitzuarbeiten, moege sich doch bei mir melden.

Im Idealfall habt ihr Erfahrung mit:
- Python
- WebSocket.IO
- Tkinter
- Ncurses
- Irgendeine Datenbank / die steht allerdings noch nicht fest, eventuell
MongoDB / MariaDB / SqlLite

Gruesse Rhoakka

-----------------------------------------------------------------------------



Re: Suche einen Mitstreiter/in (Rhoakka, 14. Apr 2017, 22:07:24):
~#! rn=Rhoakka rt=1491853695 rg=mudclients
~#! tid=1491853695
Neugierige koennen sich hier mal den client in action ansehen:

host: https:/www.frust-alarm.de
user: mg
pass: test

Ihr erzeugt dann eine neue Clientinstanz und koennt euch austauben.

Eine neue Verbindung zum MorgenGrauen baut ihr wie folgt auf:
#session <name> z.b.: #session gast

danach einloggen, oder einen gast anlegen.

Hier ein paar erste kniffe zum angucken:
#help wayrec
#help ralias
#help go

Achja alles was ihr macht laeuft in einem extra Session bezogenen Docker
Container, also wundert euch nicht, wenn ihr den Browser zu macht und nach 60
Sekunden euer Container runtergefahren und geloescht wird. :)

Bei Fragen bitte an mich wenden, viel spass beim testen. Achja, das ist kein
tf, sieht aber fast so aus.

Gruesse Rhoakka

-----------------------------------------------------------------------------



Mudlet school (Zook,  4. Jun 2017, 21:00:31):
Ich habe es nicht gesehen, nur den Hinweis auf Twitter:

https://www.youtube.com/watch?v=weWM4xiCMUs

Zook

-----------------------------------------------------------------------------



Client fuer Screenreader (Zook, 26. Jul 2017, 17:09:00):
Hey, war benutzt man denn am besten fuer einen Client, der noch
unter XP laeuft und gut mit Jaws zusammen geht?

Viele Gruesse, Zook

-----------------------------------------------------------------------------



Re: Client fuer Screenreader (Bugfix, 26. Jul 2017, 17:36:11):
~#! rn=Zook rt=1501081740 rg=mudclients
~#! tid=1501081740
TF. ;-)

Xut*

-----------------------------------------------------------------------------



Re: Re: Client fuer Screenreader (Zook, 27. Jul 2017, 11:38:01):
~#! rn=Bugfix rt=1501083371 rg=mudclients
~#! tid=1501081740
Und noch was anfaengerfreundliches? ;) 

Zook

-----------------------------------------------------------------------------



Re^3: Client fuer Screenreader (Bugfix, 27. Jul 2017, 11:50:51):
~#! rn=Zook rt=1501148281 rg=mudclients
~#! tid=1501081740
Hmmm, Tera Term ging mal mit nem kleinen Trick ... den muesste ich allerdings
nachschauen.

Xut*

-----------------------------------------------------------------------------



Re^4: Client fuer Screenreader (Blivi, 27. Jul 2017, 13:49:29):
~#! rn=Bugfix rt=1501149051 rg=mudclients
~#! tid=1501081740
Mushclient mit dem mushreader Plugin geht auch ganz gut.

-----------------------------------------------------------------------------



Re^5: Client fuer Screenreader (Zook, 29. Jul 2017, 14:12:44):
~#! rn=Blivi rt=1501156169 rg=mudclients
~#! tid=1501081740
Danke, dann gebe ich das mal weiter. 

Zoook

-----------------------------------------------------------------------------



Mudlet wird besser fuer Blinde &co  (Zaphob, 18. Okt 2017, 16:41:23):
Hallo Leute,

Mudlet will besser benutzbar werden fuer alle, die bspw. Screenreader damit
benutzen wollen. Das Entwicklerteam hat betruebt wahrgenommen, dass das
derzeitige Layout einige dicke Hindernisse bereithaelt, die die intuitive
Bedienung erschweren, wenn nicht gar unmoeglich machen. Das soll sich nun
bessern.

Eine Herausforderung ist dabei allerdings, das keiner der Entwickler dort viel
Erfahrung mit dieser Art der Bedienung hat.

Gesucht werden also Blinde &co fuer Rueckmeldungen zur Bedienbarkeit, zum
gemeinsamen Ueberlegen wie Verbesserungen gestaltet werden koennten und
sollten, sowie zum abschliessenden Testen derselben. Da Mudlet auf allen
Betriebssystemen laufen will, sind auch verschiedenste Screenreader
interessant.

Ein Vorteil waere wenn ihr Englisch versteht oder beherrscht, da die
Entwickler so kommunizieren. Ansonsten vermittle ich auch gerne, sendet mir
einfach einen Brief. Alternativ finden sich Infos auf www.mudlet.org z.B. im
Forum oder Discord.

Lasst uns einen guten offenen freien schnellen und einsteigerfreundlichen
Client auch fuer Blinde basteln!

Zaphob

-----------------------------------------------------------------------------



Wie bekomme ich wieder eine Scrollbar, wenn ich tf starte? (Nok, 14. Feb 2018, 20:57:18):
Wenn ich unter Opensuse 42.3 tf starte, ist keine Scrollbar mehr da, um
einfach nach oben zu scrollen. (In 42.2 ging das noch.)
Ich habe mich mal bisschen belesen
(http://invisible-island.net/xterm/ctlseqs/ctlseqs.html) und vermute, dass das
daran liegt, dass der Alternate Screen buffer eingeschaltet wird.
Es soll ja ein Kommando dafuer geben, zwischen den buffern umzuschalten, aber
ich werd nicht schlau daraus, was ich da genau eingeben muss (Esc[?1;0;4;6;h
tats jedenfalls nicht).

Danke im Voraus,
Khidar.

-----------------------------------------------------------------------------



Re: Wie bekomme ich wieder eine Scrollbar, wenn ich tf starte? (Nok, 14. Feb 2018, 21:02:56):
~#! rn=Nok rt=1518638238 rg=mudclients
~#! tid=1518638238
Achja, das Problem aeussert sich darin, mit Shift+PgUp/PgDn nicht mehr
scrollen zu koennen.

-----------------------------------------------------------------------------



Re: Re: Wie bekomme ich wieder eine Scrollbar, wenn ich tf starte? (Nok, 23. Feb 2018, 19:43:40):
~#! rn=Nok rt=1518638576 rg=mudclients
~#! tid=1518638238
Also ich hab jetzt was gefunden.

In tf 4.0 in output.c in Zeile 480 einfuegen:
enter_ca_mode = exit_ca_mode = NULL;

Das xterm heisst jetzt anders, naemlich xterm-256color und tf erkennt daher
nicht mehr, dass er nicht umschalten soll.

Damit ist das Problem fuer mich erstmal erledigt.

Nok i.V.v. Khidar.

-----------------------------------------------------------------------------



Re^3: Wie bekomme ich wieder eine Scrollbar, wenn ich tf starte? (Arathorn, 23. Feb 2018, 22:38:11):
~#! rn=Nok rt=1519411420 rg=mudclients
~#! tid=1518638238
Und wer schiebt den Patch jetzt in die Pakete der Distributionen? ;-)

Arathorn.

-----------------------------------------------------------------------------



Re^4: Wie bekomme ich wieder eine Scrollbar, wenn ich tf starte? (Nok, 23. Feb 2018, 22:41:13):
~#! rn=Arathorn rt=1519421891 rg=mudclients
~#! tid=1518638238
Das ist kein sauberer Patch, dafuer muesste man die ersten 5 zeichen des TERMs
auf "xterm" vergleichen.
Ausserdem wird tf4 nicht mehr weiterentwickelt, es gibt ja schon tf5.

Nok i.V.v. Khidar.

-----------------------------------------------------------------------------



Re^5: Wie bekomme ich wieder eine Scrollbar, wenn ich tf starte? (Arathorn, 23. Feb 2018, 22:44:20):
~#! rn=Nok rt=1519422073 rg=mudclients
~#! tid=1518638238
Irgendeine Moeglichkeit, das ueber ein Startskript zu machen, dass man zuerst
TERM="xterm" setzt und hinterher wieder zurueck?

Arathorn.

-----------------------------------------------------------------------------



Re^6: Wie bekomme ich wieder eine Scrollbar, wenn ich tf starte? (Nok, 23. Feb 2018, 22:44:58):
~#! rn=Arathorn rt=1519422260 rg=mudclients
~#! tid=1518638238
Das muss jemand anderes als ich beantworten.

-----------------------------------------------------------------------------



Re^3: Wie bekomme ich wieder eine Scrollbar, wenn ich tf starte? (Zesstra, 26. Feb 2018, 20:40:34):
~#! rn=Nok rt=1519411420 rg=mudclients
~#! tid=1518638238
Evtl. waers geschickter, das Stueck Code so zu formulieren, um einfach alle
xterm* zu matchen, nicht nur "xterm". Dann wuerde man auch das Stueck Code
fixen mit der scroll region.
        if (strstr(TERM, "xterm") != NULL) {
            /* Don't use secondary xterm buffer. */
            enter_ca_mode = exit_ca_mode = NULL;
            /* Many old xterm termcaps mistakenly omit "cs". */
            if (!set_scroll_region && strstr(TERM, "xterm") != NULL)
                set_scroll_region = "\033[%i%d;%dr";
        }

Zesstra

-----------------------------------------------------------------------------



Re: Wie bekomme ich wieder eine Scrollbar, wenn ich tf starte? (Nicolai,  3. Mar 2018, 20:26:32):
~#! rn=Nok rt=1518638238 rg=mudclients
~#! tid=1518638238
spricht was gegen:
./def -Bup b_up = /dokey recallb
./def -Bdown b_down = /dokey recallf
?

-----------------------------------------------------------------------------



Re: Re: Wie bekomme ich wieder eine Scrollbar, wenn ich tf starte? (Chagall,  4. Mar 2018, 20:41:21):
~#! rn=Nicolai rt=1520105192 rg=mudclients
~#! tid=1518638238
nein, dass hatte ich eine lange Zeit gehabt. mittlerweile nicht mehr

MC

-----------------------------------------------------------------------------



Mudlet auf Deutsch (Zaphob,  6. Jun 2018, 20:36:06):
Die feinen Herren Mudlet Entwickler haben ein hehres Ziel: Der Client soll
nicht nur internationale Spiele mit Sonderzeichen vernuenftig darstellen, nein
er soll auch bedienbar sein, wenn man kein Englisch versteht.

Derzeit arbeiten sie an Infrastruktur, um im Client und auf den Webseiten die
Sprache zu wechseln, um so auch in der eigenen Lieblingssprache daddeln zu
koennen.

Deshalb werden nun Helfer gesucht, um die englischen Originaltexte zu
uebersetzen. Es gibt seit wenigen Tagen ein Tool und Projekt dazu, dass die
Arbeiten erleichtern soll.

Weitere Details finden sich auf der Mudlet Webseite -
https://www.mudlet.org/2018/06/call-for-translation/

Leider bisher nur auf Englisch, aber wir arbeiten dran :) Bei Fragen koennt 
ihr mich aber auch gerne direkt ansprechen.

Oder ihr kommt auf die neue Ebene -mudlet hier im Spiel, wo sich weitere
Gleichgesinnte finden und austauschen koennen.

Vielen Dank und viel Spass!
Zap*

-----------------------------------------------------------------------------



Discord Integration fuer MorgenGrauen (Zaphob, 14. Jun 2018, 19:40:11):
Hallo zusammen!

Das Mudlet Team baut Unterstuetzung fuer die "rich presence" im Discord [1]
Chat Client - einige Beispiele, wie das aussehen koennte finden sich unter
[2]. Discord hat eine immense Praesenz im Spielemarkt (87 Millionen Benutzer)
und bietet somit auch gute Moeglichkeiten fuer Werbung - Derzeit sieht man
dort nur "spielt Mudlet", zukuenftig koennte es "spielt MorgenGrauen" heissen,
sowie einige Infos ueber den Charakter zeigen, vielleicht noch seine Region,
oder was er gerade macht. Es gibt hier eine Reihe von Moeglichkeiten - siehe
Discord API [3]

Die Integration in Discord muss aktiv eingeschaltet werden (Datenschutz geht
vor) und Mudlet bietet eine Lua API fuer die Details. [2] Damit nun nicht
jedes MUD eigene Skripte pro Client schreiben muss, wird Mudlet auch GMCP
Events unterstuetzen, um den Status zu setzen. Ein Entwurf der Spezifikation
findet sich unter [4] - wir haben IRE gebeten, den Entwurf zu schreiben, da
unsere Expertise darin besteht, den Client zu schreiben, nicht den
Spielserver. Gleichzeitig zielen wir darauf, dass die Spezifikation so
unabhaengig von einzelnen Clients und Spielen sein soll wie moeglich.

Falls euch diese Discord Integration interessiert, bitte ich um kurze Info und
Pruefung der vorgeschlagenen Spezifikation [4] im Hinblick darauf, ob sie fuer
MorgenGrauen funktionieren wuerde. Discord Integration kann bei der naechsten
Mudlet Version ausgeliefert werden, unter [2] gibt es Beta Testversionen - nun
geht es erstmal darum, GMCP Benutzer in den MUDs zu kontaktieren, damit wir
moeglichst jedermanns Feedback sammeln koennen :)

Vielen Dank und viele Gruesse, 
Zap*

[1] https://discordapp.com/
[2] https://github.com/Mudlet/Mudlet/pull/1716
[3] https://discordapp.com/developers/docs/rich-presence/best-practices#tips
[4] https://pastebin.com/Zt7Wbkwk

-----------------------------------------------------------------------------



Re: Discord Integration fuer MorgenGrauen (Zesstra, 14. Jun 2018, 21:32:29):
~#! rn=Zaphob rt=1528998011 rg=mudclients
~#! tid=1528998011
Nix grundsaetzlich dagegen, glaube ich, aber... Ich habe gerade keine Zeit,
mir diese API durchzulesen... Gibts ne kurzfassung? Also, vor allem: was
moechte denn Mudlet da von uns haben? Ich kann raten, was die Infos in
External.Discord.Status bedeuten, hab da aber eigentlich gerade keine Lust...
;-)

Zesstra

-----------------------------------------------------------------------------



Re: Re: Discord Integration fuer MorgenGrauen (Zaphob, 14. Jun 2018, 22:28:38):
~#! rn=Zesstra rt=1529004749 rg=mudclients
~#! tid=1528998011
Die Frage ist eher, was moechte MorgenGrauen in Discord anzeigen? Mudlet
reicht das dann durch. Ich kann gerne Vorschlaege machen...

Diverse Top-Games zeigen da bspw. sowas an wie "aktuelle Map" (Shooter, usw.),
"Spielzeit", "Gruppengroesse", osae.

Der Gedanke ist natuerlich zu sagen, oh mein Freund spielt grade X bei Y, da
moechte ich vielleicht mitmachen!

Also im MG erhalten wir schon Region und Raumbeschreibung per GMCP, da finde
ich Raum vielsagender.

Charaktername scheint gesetzt. Darueber hinaus vielleicht Stufe und/oder
Gilde?

Zudem koennen wir ein Icon bereitstellen oder eigentlich zwei. Fuers MG wuerde
ich den Drachen waehlen, der passt gut quadratisch rein. 

Dazu gibt's Auswahl aus einer (kleinen) Menge vorgegebener Icons. Vielleicht
kann man darueber die Gilde abbilden? Koennte aber etwas kompliziert werden..:
armour, axe, backpack, bow, coin, dagger, envelope, gem-blue, gem-green,
gem-red, hammer, heart, helmet, map, shield, tome, tools, wand, wood-sword.

19 Icons fuer (derzeit) 13 Gilden, oder meinetwegen 8 Rassen? Koennte passen.

Letztendlich landen wir dann zB hier:

Spielname: MorgenGrauen
Spielbild: Drache (wie Buchstaben M und G)
Zweite Zeile: Kurzer Titel des aktuellen Raums
Charakter: Presay Name Titel
Charakter: Name Stufe Gilde
(Hier gibt es mehrere Moeglichkeiten)
Charakterbild: axe, dagger, hammer, wood-sword, usw. je nach gezueckter Waffe
(aha!) oder ohne Waffe ein anderes Icon. Leider finde ich auch nix allzu
passendes fuer Speer, Stab, Peitsche, mmh. Vielleicht doch nicht pro Waffe.
Naja, fuer die Icons bin ich noch unsicher.

Das waeren die Vorgaben vom Server. Natuerlich koennten Spieler das auch
ueberschreiben oder teilweise oder ganz deaktivieren. Aber das als Standard,
wer es nicht regelt. 

Letztendlich koennte auch das MG Skriptebuendel in Mudlet leichte Wege
bereitstellen, die Discord Praesenz weiter anzupassen.

Die inhaltlichen Ideen sind weit offen. Vorhin ging es ja erstmal um die
grundsaetzliche Infrastruktur. Ob da grobe Schnitzer auffallen.

Ob das nun so viel kuerzer war als die API zu lesen? :D

-----------------------------------------------------------------------------



Re^3: Discord Integration fuer MorgenGrauen (Zesstra, 14. Jun 2018, 22:50:42):
~#! rn=Zaphob rt=1529008118 rg=mudclients
~#! tid=1528998011
In jedem Fall hilft es mir nicht viel weiter...

Was ist denn starttime und endtime? state? (Status vom Spieler? Vom MG?) 
Ist smallimage ein Bild fuers Spiel? Oder fuer den Spieler?
Soll das Spiel da beliebige selbst-definierte Keys in der Message mitschicken?
Wie werden die denn in Discord angezeigt?

Dieses unpraezise Formulieren und Weglassen von Dingen nervte mich schon bei
den ersten GMCP-Vorschlaegen und es wurde leider nicht besser.

BTW: Ich bin spontan sehr dagegen, den Raumkurztitel zu uebertragen. Wuerde
ich auch als Spieler definitiv nicht wollen.

Zesstra

-----------------------------------------------------------------------------



Re^4: Discord Integration fuer MorgenGrauen (Zaphob, 15. Jun 2018, 00:08:05):
~#! rn=Zesstra rt=1529009442 rg=mudclients
~#! tid=1528998011
Im ersten Gif siehst du, wie Discord eine Zeit anzeigen kann (seitdem man die
aktuelle Map shootert, usw. also) ueblicherweise in Minuten. Entweder ist der
Endzeitpunkt klar (Die Map dauert immer 5min, dann ist Schluss) oder man zeigt
den Beginn (vor 3h angefangen, Skyrim zu zocken)

Den genauen Zeitpunkt kann man also mit starttime/endtime uebergeben und
direkt als eine der beiden Moeglichkeiten klassifizieren.

Die rich presence bezieht sich auf den Spieler, also state dito, nicht vom MG.

smallimage siehst du auch auf dem Gif. Es gibt ein grosses Image fuer das
Spiel selbst, und in dessen unterer rechten Ecke ein kleines Image,
ueblicherweise ebenfalls fuer den Spieler. Wenn man dort hovert, sieht man
Tooltip mit (ueblicherweise) weiteren Infos zum Spieler.

Der Key ist nicht beliebig sondern ein Bezeichner aus der Liste der bekannten
Images. Ich hatte sie vorhin aufgefuehrt. Discord stellt da eine Reihe zur
Auswahl und jedes Spiel darf sich einige auswaehlen. Mudlet hat einen
Vorschlag gemacht, welche davon zu Muds passen. Zwischen diesen kann gewaehlt
werden. Ich suche mal eine schoene Uebersicht, wie die Bildchen aussehen.

Danke jedenfalls fuer dein Feedback, Zesstra. Ich hoffe, so kommen wir mal zu
einer etwas vollstaendigeren und praeziseren Formulierung. Tatsaechlich sind
manche Infos zwar auf Github nachzulesen aber nicht in dem Text von Pastebin
enthalten gewesen.

-----------------------------------------------------------------------------



Re^5: Discord Integration fuer MorgenGrauen (Zesstra, 15. Jun 2018, 00:24:57):
~#! rn=Zaphob rt=1529014085 rg=mudclients
~#! tid=1528998011
Ich weiss gerade nicht, von welchem Gif Du redest - wie gesagt, ich habe
gerade weder Zeit noch Lust, mit den ganzen Wust an API, FAQ, Best practices
oder so durchzulesen. Ich habe den Entwurf vom GMCP-Modul von IRE gelesen und
der laesst mich eben weitgehend ratlos zurueck. Tabelle, Auswahllisten und
Bedeutung der Keys gehoeren da hinein... Zumindest als schnell folgbarer
Verweis, besser noch als Kopie...
Ich habe nix gegen Discord, GMCP, Mudlet oder die Leute, die sich damit
beschaeftigen. Aber ich bin gerade hochgradig genervt von
GMCP-Protokoll-Specs, die angeblich Specs sein sollen, aber voellig
unvollstaendig und unklar formuliert sind. Hintergrund ist, dass das seit
Jahren *immer* so ist, wenn es um GMCP geht.

Zesstra

-----------------------------------------------------------------------------



Re^6: Discord Integration fuer MorgenGrauen (Zaphob, 15. Jun 2018, 00:53:51):
~#! rn=Zesstra rt=1529015097 rg=mudclients
~#! tid=1528998011
OK das Gif liegt bei dem Github Link von anfangs.

Vollstaendiger wird es von Discord selbst erklaert [1]

In dem Kapitel ggf. mal eine Seite runter scrollen, dann siehst du eine
vollstaendige Liste moeglicher Parameter fuer die rich presence. Darin auch
state, die beiden Moeglichkeiten fuer time, die images, usw.

Noch eine Seite weiter runtergescrollt, dann siehst du ein buntes Bildchen, in
dem Text farbig hervorgehoben ist. Da siehst du, welcher Parameter
letztendlich wo landet. 

Das Problem ist nun ein anderes. Im MorgenGrauen hat der Spieler ja keinen
"Status" in dem Sinne. Man startet nicht eine Quest und dann ticket der
Zeiger. Man spielt nicht eine Map, oder wartet im Hauptmenu. Man macht statt
dessen viele Dinge gleichzeitig, oder auch einfach mal gar nix (aehemm) -
insofern finde ich den state auch schwer zu greifen. Ich faende es langweilig,
wenn da nur stehen wuerde "Zaphob - Ebene" oder "Zesstra - Polar", weil sich
das einerseits tatsaechlich selten aendert oder andererseits auch kaum
Aussagen zulaesst, was Jemand gerade macht, und ob man mitmachen will. Daher
mein Gedanke an den Raumnamen als besseren Anhaltspunkt. Aber vielleicht
hoeren wir ja noch bessere Ideen.

Die Bilder usw. sind vermutlich nicht in der GMCP Spec, weil sie sich durchaus
noch aendern koennen. Ein Hinweis, auf welche Dokumente sie aufbaut, oder ggf.
Kopie relevanter Inhalte koennte aber durchaus ergaenzt werden.

-----------------------------------------------------------------------------



Re^7: Discord Integration fuer MorgenGrauen (Humni, 15. Jun 2018, 22:42:27):
~#! rn=Zaphob rt=1529016831 rg=mudclients
~#! tid=1528998011
Den Raumnamen finde ich evtl. problematisch. Erstmal weiss ich tatsaechlich
nicht, ob ich will, dass das jeder weiss - wer kann das hinterher sehen?

Sonst muesste man natuerlich eine eigene Prop nachruesten - sowas wie "Festung
der Daemmerung", wenn ich nicht will, dass jeder sieht, wo genau der Spieler
gerade ist. Aber das ist natuerlich auch wieder Arbeit, das zu tun. Oder man
macht es auf die "uebliche" MG-Art: Man faengt mit einer begrenzten Menge an
Raeumen an und ruestet nach und nach die alten Gebiete nach. Und so lange
steht da eben nur "Polar".

Der Idlestatus ist auch von aussen abfragbar (ueber den finger). Waere der
noch interessant?

Humni
PS: Mein fband kann natuerlich den Raum sehen. Aber meine Freunde habe ich mir
ausgesucht...

Humni

-----------------------------------------------------------------------------



Re^8: Discord Integration fuer MorgenGrauen (Zaphob, 21. Jun 2018, 17:28:22):
~#! rn=Humni rt=1529095347 rg=mudclients
~#! tid=1528998011
Also zum Thema: Wer kann mich hinterher sehen? Kurze Antwort: Nicht nur dein
Fband.. Lange Antwort, muss ich erstmal Discord erklaeren...

Man waehlt sich da auf sogenannte "Server" ein. Dazu braucht man
ueblicherweise eine Einladung, also kann nicht jeder rein. Allerdings sind
manche Einladungen auch oeffentlich bekanntgegeben, also dann doch wieder
jeder. Wobei "Server" eigentlich der falsche Begriff ist, wenn man an
Teamspeak denkt. Discord ist nicht so dezentral, sondern man kann durchaus mit
dem Discord Client / ueber Discord Website auf mehreren Servern gleichzeitig
verbunden sein, die dann alle untereinander angezeigt werden. Ein "Server"
gehoert dann beispielsweise dem MorgenGrauen, oder deiner Spielgruppe bei
Shooter X oder RPG Y, oder User und Entwickler von Mudlet, usw.

Pro Server gibt es dann mehrere "Ebenen", hier passt der Begriff aus MG ganz
gut. Das sind hauptsaechlich erstmal Textkanaele, aber es gibt auch extra
Kanaele fuer VoiceChat. In die Ebenen muss man sich aber nicht einzeln
einwaehlen, sondern man hat sie meist direkt alle sichtbar, sobald man sich
mit dem Server der Wahl verbunden hat. Dann sieht man auch alle anderen
Teilnehmer des Servers in einer langen Liste. Bei jedem Teilnehmer sieht man
den Namen und dann eben auch, was er gerade bei Spotify hoert (dank "rich
presence" mit Name des Tracks, sekundengenauer Fortschritt, usw.) oder welches
Spiel er spielt - hier gibt es grosse Unterschiede, ob das Spiel "rich
presence" unterstuetzt und weitere Details liefert, oder einfach nur mit Namen
angezeigt wird. Manche Spiele lassen sich auch erstmal gar nicht anzeigen,
nicht mal den Namen.

Soviel also zur einen Frage.

Dein anderes Thema war auch mein Thema:
Welche Details will MorgenGrauen genau anzeigen?

Ich finde den Vorschlag des neuen Props sehr interessant, quasi eine
Mini-Region innerhalb der Regionen zu benennen. Da ich die LPC-Interna nicht
kenne, kann ich auch nur vermuten, wie das konkret umgesetzt wuerde,
Jedenfalls denke ich mir, es waere ja durchaus interessant, ob ich in Port
Vain stehe, oder in der Schreckensspitze, wenn schon nicht der konkrete Raum
benannt werden soll.

Ob Idlestatus so interessant ist? Ich denke nein. Es geht ja darum,
Aktivitaeten darzustellen und Interesse zu wecken.

Also vielleicht mal ein paar Beispiele? Derzeit steht da einfach: Spielt
Mudlet, seit 1 Stunde.
Oder: Spielt JetBrains IDE, Working on CogManager, Editing menu, 02:30:00
verstrichen, Using PyCharm Professional version 2018.1.4
Oder: Spielt Fortnite, Battle Royale, Spielt Duo (1 von 2), Stufe 64
Oder: Hoert Spotify, Lying From You, von Linkin Park, aus Meteora (Bonus Track
Version), 0:55 / 2:55
Hier kann man sogar draufklicken und sich weitere Infos zu den Details
anzeigen lassen, bzw. selbst Spotify davon hoeren.
Oder: Spielt League of Legends, Summoner's Rift (Ranked), In Game, 04:05
verstrichen
Weitere Beispiele auch mit Bildchen finden sich auf der vorher verlinkten
Discord Webseite

Natuerlich sollen die Sachen letztendlich per Mudlet konfigurierbar sein, also
will ich das ueberhaupt anzeigen, oder will ich nix anzeigen, oder vielleicht
auch etwas eigenes? Hier geht es erstmal nur um stimmige Defaults, die
MorgenGrauen per GMCP ausliefern kann.

Der Effekt soll einfach sein: Jemand anders sieht mich in Discord und denkt:
Aha, MorgenGrauen? In der Festung der Daemmerung? Das klingt aber spannend!
Den sprech ich mal an. Oder ich kann mich sogar direkt mit Klick auf
"MorgenGrauen" verbinden, zumindest mal die Webseite oeffnen? Sowas in der Art
etwa.

Klingt spannend? Ich finde ja.

Wenn hier noch niemand Discord benutzt, ist das ganze natuerlich schwer zu
erklaeren.

Finde aber alles gut, was MorgenGrauen bekannter macht und ggf. Spieler bringt

Lange Rede fuer eine Rubrik, die auch erstmal niemand abonniert hat... :D

-----------------------------------------------------------------------------



Re^9: Discord Integration fuer MorgenGrauen (Deaddy, 21. Jun 2018, 17:34:41):
~#! rn=Zaphob rt=1529594902 rg=mudclients
~#! tid=1528998011
So mein ganz naiver Vorschlag waere ja, damit man das irgendwie ans laufen
kriegt, das aus den lokalen Skripten rauszufummeln. Also tf mit tinymacros hat
ja immer aktueller Spieler, letzter Wegpunkt und so nen Gedoehns im Speicher,
ggf. hat man das bei mudlet ja auch schon bisschen drin.

So ganz allgemein noch ne weitere Prop die das Gebiet genauer beschreibt, das
haette sicher was, aber puh, sich das genau auszudenken, ueberall einzubauen
und dann wieder einen RM+ beauftragen darueber zu wachen und ueberhaupt, bis
dahin gibt es dieses Discord ja gar nicht mehr.

-----------------------------------------------------------------------------



Re^10: Discord Integration fuer MorgenGrauen (Zaphob, 21. Jun 2018, 19:55:38):
~#! rn=Deaddy rt=1529595281 rg=mudclients
~#! tid=1528998011
Genau, das geht natuerlich auch.

Die Idee war nur, damit man das nicht fuer X Clients einzeln programmieren
muss, kommt das einfach vom Spiel per GMCP und wird vom Client durchgereicht.

-----------------------------------------------------------------------------



Re^11: Discord Integration fuer MorgenGrauen (Zaphob, 15. Sep 2018, 01:27:03):
~#! rn=Zaphob rt=1529603738 rg=mudclients
~#! tid=1528998011
So, inzwischen gibt es eine Testversion, da kann man sich das schon mal etwas
anschauen und ausprobieren.

Hier folgt mal ein gif Bildchen, auf dem man Spiel und Anzeige in Discord
sehen kann.

Ich lasse in Discord erstmal die Kurzbeschreibung des Raums anzeigen. Leider
gibts ja noch keine "Gebietsbezeichnung" oder sowas wie oben vorgeschlagen.
Die anderen Textzeilen sind noch zu definieren.

Man sieht aber schon sehr gut, wie schnell die Integration die Infos
herueberschaufelt. Wenn nun oben noch "MorgenGrauen" statt "Mudlet" steht (und
das wird es), vielleicht sogar "mg.mud.de", dann wird das Bild abgerundet.

Ach so, das Discord im gif ist englisch eingestellt, das geht aber auch
deutsch, so dass da nicht "Playing" sondern "Spielt" steht, usw.

Hier folgt nun das gif: https://imgur.com/1kPOPkx

Gruesse, Zap*

-----------------------------------------------------------------------------



Re^12: Discord Integration fuer MorgenGrauen (Bambi, 12. Okt 2018, 00:56:01):
~#! rn=Zaphob rt=1536967623 rg=mudclients
~#! tid=1528998011
Ich wuerde es begruessen, wenn Dicord bei einem unsichtbar eingeloggten Magier
gar keine Info anzeigt. ;)

-----------------------------------------------------------------------------



Re^12: Discord Integration fuer MorgenGrauen (Bambulko, 12. Okt 2018, 09:59:58):
~#! rn=Zaphob rt=1536967623 rg=mudclients
~#! tid=1528998011
Wie ist denn der Name vom Server?

-----------------------------------------------------------------------------



Re^13: Discord Integration fuer MorgenGrauen (Bambi, 12. Okt 2018, 18:06:56):
~#! rn=Bambulko rt=1539331198 rg=mudclients
~#! tid=1528998011
Von welchem Server?
Den Discord-Client kannst Du hier herunterladen: https://discordapp.com/
Du kannst Discord aber auch im Webbrowser laufen lassen.
Das ist mehr wie Skype zu verstehen, weniger wie Teamspeak. Du hast also
keinen "eigenen Server", sondern eine von Discord zur Verfuegung gestellte
Infrastruktur.
Was den Vergleich mit Teamspeak betrifft, kannst Du natuerlich Chat-Channels
erstellen, die man ein bisschen mit den TS-Channels vergleichen kann, aber
nicht unbedingt mit einem TS-Server.
Und solche Chat-Channels sind nicht erforderlich, damit ein MG-Spieler in
seinem Profil entsprechende Daten anzeigt.

Oder reden wir gerade aneinander vorbei?

-----------------------------------------------------------------------------



Re^14: Discord Integration fuer MorgenGrauen (Zaphob, 13. Okt 2018, 09:48:13):
~#! rn=Bambi rt=1539360416 rg=mudclients
~#! tid=1528998011
Ich bin auch etwas verwirrt, welcher Discord Server ist gemeint?

Es gibt einen Server von Mudlet Usern, hier:
https://discord.gg/S9zVg7H

Ich habe auch einen kleinen Server fuers MorgenGrauen eingerichtet:
https://discord.gg/gyZm7a

Hier kann man sich absprechen, auch ohne im Spiel zu sein, oder gerade dann.

Aber beides hat erstmal nix mit der Discord Integration zu tun, von der hier
zunaechst die Rede war. 

Es ging darum zu ueberlegen, welche Art von Informationen grundsaetzlich ein
MUD benoetigen wuerde, wie sie durch Mudlet durchgeleitet und beeinflusst
werden koennen, um dann letztendlich in Discord zu erscheinen, wo andere
Spieler sagen koennen: "Oho, da spielt jemand MorgenGrauen? Das interessiert
mich jetzt aber!"

Tatsaechlich ist diese Discord Integration nun abgeschlossen. Die neue Mudlet
Version 3.14 beinhaltet alles, was dazu noetig ist. Die obige Diskussion ist
somit erstmal erledigt, und wir koennen andere Themen ins Auge fassen.

Einige Spiele sind bereits voll integriert und erledigen alles im Hintergrund
fuer den Spieler. MG hat noch nichts dergleichen, aber das macht auch nichts.
Als Spieler kann man auch alles per Mudlet Kommandos konfigurieren. An der
Stelle spiele ich derzeit etwas herum.

Spieler bedeutet dabei auch Magier. Ich habe noch keinen Magiercharakter,
weiss nicht, wie man sich unsichtbar schaltet. Jedenfalls kann auch ein
unsichtbarer Magier die Integration komplett abschalten, schon bevor man sich
zum Spiel verbindet. Gleichzeitig kann man jederzeit in Mudlet Optionen
einstellen, ob manche oder alle Anzeigen deaktiviert sein sollen, oder die
komplette Integration deaktivieren. Die Privatsphaere wird also respektiert.

Sicherlich koennte man ein Mudlet Alias anlegen, das beim "unsichtbar
schalten" gleich auch die Discord Integration teilweise oder ganz deaktiviert,
und anschliessend wieder reaktiviert. Oder man laesst sie komplett aus. Je
nachdem, wie man wuenscht.

Man hat naemlich im MG zu diesem Zeitpunkt ueberhaupt keine Integration
"automatisch" dabei, sondern muss erstmal (so wie ich eben) einige Kommandos
abfeuern, bevor im Discord irgendetwas spezifisches erscheint. Quasi "aus
versehen" als unsichtbarer Magier erscheinen ist also recht unwahrscheinlich.
Falls wir irgendwann ernsthaft ueber automatische Bereitstellung durch die MG
Mudlib nachdenken, ist das natuerlich ein relevanter Punkt.

Bis dahin ist aber noch unklar, wieviele Spieler ueberhaupt Discord benutzen,
Mudlet benutzen (ok das sind schon einige), Informationen dorthin durchreichen
wollen, welche Informationen das konkret waeren, usw. Werbung fuers MG waere
auch meiner Sicht sinnvoll, weitergehende Infos sind immer schwierig, aber wie
effektiv ist Werbung (Spielt Morgengrauen - mg.mud.de), wenn man keine
interessanten Details dazu sieht? Wer wuerde sich dann auf die Website begeben
und hier mal reinschnuppern? Also *irgendwelche* Details sollten da schon
dabei stehen. Ist eine Abwaegung zwischen Privatsphaere und
Oeffentlichkeitsarbeit und somit fast schon aus dem Rahmen dieser Rubrik
gefallen, aber ich bin offen fuer Ideen.

Gruesse, Zap*

-----------------------------------------------------------------------------



Re^15: Discord Integration fuer MorgenGrauen (Zesstra, 13. Okt 2018, 12:48:46):
~#! rn=Zaphob rt=1539416893 rg=mudclients
~#! tid=1528998011
ja, das muesste man sich ueberlegen:
a) Alles dem Client ueberlassen
b) automatisch mit dem Mud-Kommando (vis/invis) schalten
Wenn b), muss eine Einwilligungserklaerung im Mud her, sofern Mudlet+Dischord
benutzt wird...

Insofern waere mir b) an sich lieber. Es eroeffnet aber ganz klar das
Potential fuer Fehler, wenn Magier das dann an sich an haben, aber vergessen,
bei einem vis/invis auszuschalten.

Zesstra

-----------------------------------------------------------------------------



Re^16: Discord Integration fuer MorgenGrauen (Deaddy, 13. Okt 2018, 13:05:39):
~#! rn=Zesstra rt=1539427726 rg=mudclients
~#! tid=1528998011
Wenn man Discord fuer Profile an/aus machen kann, kann man auch einfach zwei
Magierprofile machen, eines welches sich invis einloggt und kein Discord an
hat und eines, welches sich vis einloggt und dann halt Discord anmacht.

-----------------------------------------------------------------------------



Re^17: Discord Integration fuer MorgenGrauen (Zesstra, 13. Okt 2018, 13:10:48):
~#! rn=Deaddy rt=1539428739 rg=mudclients
~#! tid=1528998011
Sicher, kann man machen. Ich schalte das aber bei Bedarf einfach ohne
ein/ausloggen ein und aus und bin da sicher nicht die einzige.
Und wer jetzt den Nutzer explizit informiert, dass Dinge in Dischord
dargestellt werden (Mud oder Client?) waere zu klaeren. Irgendwer muss, und
das explizit.

Zesstra

-----------------------------------------------------------------------------



Re^15: Discord Integration fuer MorgenGrauen (Bambulko, 16. Okt 2018, 13:13:35):
~#! rn=Zaphob rt=1539416893 rg=mudclients
~#! tid=1528998011
Hmm, der Server klappt bei mir nicht. Invalid or expired.

-----------------------------------------------------------------------------



Re^16: Discord Integration fuer MorgenGrauen (Zaphob, 16. Okt 2018, 17:42:11):
~#! rn=Bambulko rt=1539688415 rg=mudclients
~#! tid=1528998011
Ich bin weiterhin etwas verwirrt, welcher Discord Server ist gemeint?

Es gibt einen Server von Mudlet Usern, hier:
https://discord.gg/9FHmn6U

Ich habe auch einen kleinen Server fuers MorgenGrauen eingerichtet:
https://discord.gg/nHJnYHk

Tatsaechlich waren die alten Links schon nach 24h deaktiviert worden, weil ich
nicht aufgepasst hatte. Also danke fuer die Info, Bambulko!

-----------------------------------------------------------------------------



Mudlet 3.17 (Zaphob,  3. Feb 2019, 01:50:11):
Hier folgen die Release-Notes der seit heute neuen Mudlet Version 3.17
Das Original im Web lesen: https://mudlet.org/3-17-de


Wir haben haufenweise neue Feature fuer euch in diesem ersten Mudlet-Release
2019: Sichere Verbindungen, leichtere Kartenerstellung in vielen Spielen,
HiDPI Unterstuetzung und mehr! Dies ist das groesste Mudlet Update in den
letzten Jahren seit 3.0.


Sichere Verbindungen
--------------------

Sichere Verbindungen (SSL/TLS). Sie sind hier! Stell dir das gruene Schloss
oben in deinem Browser vor: Mudlet unterstuetzt das jetzt auch.

Waehle die "Sicher"-Box zum Aktivieren. Dadurch wird deine Verbindung zum
Spiel vor dem Mithoeren geschuetzt (falls du bspw. ein offenes WLAN benutzt),
Manipulationen durch Andere verhindert, und sichergestellt, dass du wirklich
zu dem Spiel verbunden bist, das du erwartest. [...]


Leichtere Kartenerstellung
--------------------------

So viele Spiele da draussen sind wirklich einzigartig darin, wie ihre
Geographie im Spiel funktioniert. Deshalb ist die Herangehensweise von Mudlet
bezueglich Karten, Kartenerstellung und Schnellreisen so gewesen, den Spielern
Lua Funktionen bereitzustellen, mit denen sie selbst Kartenunterstuetzung fuer
ihr Spiel ergaenzen koennen. Das taten viele!

Damit aber nicht nur zaubererde Programmierer leichter Mudlets Karten im Spiel
benutzen koennen, hatten wir in unserem Zeitplan 2018 festgelegt, dass wir 
dies verbessern wollen.

Zu diesem Zweck hat Jor'Mox fantastischerweise sein Generic Mapping Script
an Mudlet beigetragen und dessen Funktionalitaet erweitert! Das
Kartierungsskript wurde verfeinert und fuer so viele Spiele wie moeglich
sofort einsetzbar gemacht. [...]


HiDPI Unterstuetzung
--------------------

Mudlet unterstuetzt jetzt high-resolution (Retina/HiDPI) displays! Vergleiche
in den Screenshots vorher und nacher, wieviel schaerfer die Schrift jetzt
aussieht.


Visuelle Verbesserungen
-----------------------

Zusaetzlich zur HiDPI Unterstuetzung haben wir angefangen Mudlets Symbole
aufzufrischen! Der neue Stil wirkt super auf hochaufloesenden Anzeigen und wir
werden in der naechsten Version noch mehr Symbole im neuen Stil haben. Vielen
Dank an Paul Saindon von Imperian, sowie Leris und SlySven von Mudlet fuer
diese Verbesserungen.


Farbtrigger fuer 256 Farben
---------------------------

Mudlets Farbtrigger waren bislang nur auf die 16 ANSI Standardfarben
beschraenkt - damit ist Schluss. Dank SlySvens Arbeit auf diesem Gebiet kannst
du nun auf alle 256 reagieren.

Zusaetzlich kannst du jetzt waehlen, entweder nur auf bestimmte Vordergrund-
oder nur auf Hintergrundfarben zu reagieren, anstatt beide gleichzeitig
auswaehlen zu muessen.


Infrastruktur
-------------

Keneanung hat einen grossartigen Bot hinzugefuegt, um Mudlets Entwicklung zu
unterstuetzen: Wenn du einen Pull Request mit deinen Verbesserungen
einreichst, wird der Bot mit den Links zum Download einer Testversion
auftauchen, sobald die CI-Erstellung fertig ist[...]


Lua Skripter
------------

Viele neue Funktionen wurden ergaenzt fuer alle, die es lieben in Mudlet
Skripte zu schreiben!

* ergaenzt: getMapSelection() um die Raeume zu sehen, die aktuell im 
  Kartenfenster ausgewaehlt sind 
* verbessert: saveMap() erlaubt dir nun die Wahl, in welcher Kartenversion 
  gespeichert werden soll 
* ergaenzt: text-to-speech Unterstuetzung wiederhergestellt 
* ergaenzt: enableClickthrough() und disableClickthrough(), damit Etiketten 
  und Pegel nicht mehr auf Klicks reagieren 
* verbessert: exists() und isActive() funktionieren jetzt fuer Skripte 
* verbessert: setFgColor(), setBgColor(), getColumnNumber(), und echoLink() 
  akzeptieren jetzt "main" als Argument und haben verbesserte Fehlermeldungen
* ergaenzt: creplace() fuer ein farbiges replace() 
* verbessert: getLines() funktioniert jetzt mit Minikonsolen/Benutzerfenstern 
* ergaenzt: moveCursorUp() und moveCursorDown(), um den Cursor leicht 
  rauf/runter zu bewegen
* ergaenzt: tempAnsiColorTrigger(), damit Trigger auf 256 Farben reagieren 
* ergaenzt: setReverse() und setOverline() fuer schickt Texteffekte


Spieladministratoren
--------------------

Aufregende Funktionen fuer Spieladministratoren in diesem Release sind:

* Ergaenze Unterstuetzung fuer sichere Verbindungen via TLS. Lies in
  unserem Wiki, wie du dein Spiel TLS-kompatibel machen kannst
* Es wird von gmcp.Client.GUI jetzt jeder Text als Versionsnummer akzeptiert 
  (war vorher auf Integer beschraenkt) 
* Unterstuetzung fuer ECHO on/off ergaenzt 
* Unterstuetzung fuer SGR Reverse ergaenzt (Vordergrund- und Hintergrundfarbe 
  tauschen) (7/27) 
* Unterstuetzung fuer SGR Overline (53/55) ergaenzt


Verschiedenes
-------------

[...]
* repariert: Ein Kommando per 'send text to all profiles' (wie :hallo)
  funktioniert nun fuer Aliase 
* repariert: Buttons funktionieren wieder in Menus auf Buttonleisten 
* repariert: Klicks auf Minikonsolen oder
  Benutzerfenster entfernen nicht mehr den Fokus aus der Eingabezeile 
* repariert: Man kann jetzt Profile/Pakete mit nicht-lateinischen Zeichen im
  Namen oder Pfad speichern 
[...]
* repariert: Zum Speichern markierte Variablen werden beim Laden nicht mehr 
  automatisch versteckt 
* verbessert: Die Spiele, die Karten per MMP herunterladen, sind nicht mehr
  fest in Mudlet vorgegeben, da alle nun gmcp.Client.Map unterstuetzen
* verbessert: Gebiete werden nun im Dialog zur Raumgebietswahl alphabetisch 
  sortiert
* verbessert: Triggertypen werden im Editor nicht mehr hervorgehoben, um
  dunkle Themes zu unterstuetzen 
* verbessert: Man kommt nun mit Tabulator aus der Spielbeschreibung heraus


Danke an
--------

Vielen Dank an die 12 (!) Mitwirkenden an all den Codeoptimierungen in dieser
Version: demonnic, druuimai, gilmoa, imperian, jerzerisz, jgh713, JorMox,
keneanung, Leris, mpconley, SlySven, und vadi2.

Danke an alle uebersetzer: dermox, Guilherme Campos (guicampos), Inutt
(richard.ankh), Leris, lostsnow, und vadi2, die geholfen haben Mudlet zu
uebersetzen!

Zuletzt auch vielen Dank an alle Mitglieder aus unserer Discord community
fuer die Hilfe an Neulinge, vor allem Eraene, Leris, keneanung, und SlySven!

-----------------------------------------------------------------------------



Mudlet Patreon (3D Bogen & gravierter Holzstift) (Zaphob, 19. Jul 2019, 20:05:53):
Mudlet hat ein Patreon gestartet - https://www.mudlet.org/patreon-de

Das Geld wird komplett zur Verbesserung des Projekts genutzt, bspw. fuer
Codesignaturzertifikate. 3D-gedruckte Mudlet Boegen & ein gravierter Holzstift
sind im Angebot.

Jedes bisschen hilft. Gerne weitersagen! Danke fuer die Unterstuetzung... <3

-----------------------------------------------------------------------------



Mudlet 4.7 (Zaphob,  1. Apr 2020, 17:25:50):
Lesenswerte(*) Release Notes dieser Version:
https://www.mudlet.org/4-7

*: Ich muss preisgeben, dass ich daran mitgeschrieben habe..! ;)

Viel Spass!
Zap*

-----------------------------------------------------------------------------



MG-Mudlet Update - 1.1 Stub Ausgaenge (Zaphob, 30. Mai 2021, 11:46:46):
Tach allerseits,

Es gibt eine neue Version der Mudlet-Skripte fuers MorgenGrauen:

Man sieht nun auf der Karte sofort, in welche Richtungen es Ausgaenge gibt. 

Ausserdem laeuft Doppelklicken auf die Karte auch dann zu anderen Raeumen, 
wenn man dorthin Kommandos benutzen muss, die nicht zu ueblichen Richtungen 
zaehlen, bspw. nordwestoben oder "folge hund" usw.

Einige Reparaturen wurden gleich mit erledigt. U.a. werden bei diesen 
schnellen Bewegungen nicht mehr versehentlich neuen Ausgaenge erstellt, 
falls man noch den "automatisch Kartographieren" Modus aktiviert hatte.

Dank an Brophy fuers Einreichen der noetigen Programmcodes per Github!

Gruesse,
Zap*

-----------------------------------------------------------------------------



Re: MG-Mudlet Update - 1.1 Stub Ausgaenge (Zaphob,  9. Jun 2021, 08:13:53):
~#! rn=Zaphob rt=1622368006 rg=mudclients
~#! tid=1622368006
Hey Leute,

auf laengeren Wunsch mehrerer Autoren ist es nun moeglich, die Source-Codes
der Skripte, aus denen das MG-Mudlet Paket gebaut wird, direkt als Lua-Datei
zu bearbeiten. Details finden sich wie immer in Github oder fragt hier.. :)

Damit sollte hoffentlich eine leichtere Zusammenarbeit moeglich werden.

Danke, Gruesse,
Zap*

-----------------------------------------------------------------------------



Fundstueck Blightmud (Zesstra, 18. Jun 2021, 21:31:23):
Das hier ist vielleicht was fuer TF-ler, die noch so warm mit Mudlet werden:
https://github.com/Blightmud/Blightmud
Ich habe es aber noch nicht selber ausprobiert, nur vor 2h zufaellig gefunden.

Blightmud has been a passion project of mine for some time. A big user of the
old but great tinyfugue I always wanted to create my own similar mud client.

Features
    Completely terminal based (mac and linux)
    Telnet:
        TLS connections
        GMCP support
        MSDP support
        MCCP2 support (compress2)
    Lua scripting:
        Output and sending
        Aliases
        Triggers
        Timers
        Customizing status bar
        Persistent storage
        Session storage
        Keybindings
        Audio playback (music/ambiance and sound effects)
        Text-To-Speech
        Mouse scrolling (experimental)
        Plugins
        Sockets (TCP connecting and sending only)
    Low resource and fast
    In client help and manuals
    Native Text-To-Speech functionality (optional compile)
    Text searching
    Tab completion
    Split view when scrolling


Zesstra

-----------------------------------------------------------------------------



Neue TinTin++ Konfiguration auf github (Bergtatt, 24. Aug 2021, 20:24:52):
Liebe Leserschaft,

ich habe meine aktuelle TinTin++ Konfiguration fuer das MorgenGrauen auf
github veroeffentlicht[1]. Das Repository hat ein ausfuehrliches Readme
(inklusive Screenshots), deshalb verzichte ich darauf hier nochmal die
Eigenschaften der Konfiguration aufzufuehren.

Wer auf der Konsole spielt (und vielleicht sogar schon TinTin++ nutzt) oder
anderweitig interessiert ist, ist herzlich eingeladen sich das mal
anzuschauen.

Beste Gruesse, Bergtatt

[1] https://github.com/blabber/tintin-morgengrauen

-----------------------------------------------------------------------------



Suche Tester fuer Mudlet Sprachausgabe (Zaphob, 25. Jun 2022, 23:21:24):
Hallo Leute,
seit mehreren Jahren wird schon gewuenscht, dass Mudlet besser per
Screenreader bedienbar werden soll. Jetzt scheint ein grosser Schritt gemacht
und eine Version fuer Mac und Linux steht zum Test bereit.

Infos vom Entwickler:

https://www.patreon.com/posts/65844915 
'Accessibility for Mudlet: part 1, how to announce updates?'

https://www.patreon.com/posts/68020074 
'Accessibility for Mudlet: part 2, breakthrough on macOS'

Wer beim Test mithelfen will, meldet sich am besten in Mudlets Discord fuer
den direkten Austausch, oder notfalls wird jemand (wie ich) das Feedback
buendeln, uebersetzen und weiterleiten.

Viel Spass!
Zap*

-----------------------------------------------------------------------------



Re: Suche Tester fuer Mudlet Sprachausgabe (Zaphob, 12. Jul 2022, 20:23:22):
~#! rn=Zaphob rt=1656192084 rg=mudclients
~#! tid=1656192084
Hallo zusammen,

inzwischen gibt es auch eine Testversion fuer Windows.

Abstimmung weiterhin am besten auf Mudlets Discord Server:
https://discord.com/invite/kuYvMQ9

Hier kann man die Testversionen herunterladen:
https://github.com/Mudlet/Mudlet/pull/6090#issuecomment-1113986884

Der Link enthaelt die Downloads fuer MacOS, Linux und Windows.

Euer Screenreader sollte unmittelbar out-of-the-box funktionieren.
Sag bescheid, wie es funktioniert.

Danke, Gruesse,
Zap*

-----------------------------------------------------------------------------



TinyMacros geht mit TF 5.0 (Mesirii, 30. Jul 2022, 00:17:45):
Auf Wunsch eines vorlauten Kleris hier nochmal fuer alle.
Cakey und ich hatten in einer laengeren Debug-Session vor ein
paar Jahren mal den Bug in TF gefunden wo in einer doppelt
verketteten Liste von Variablen die eine Richtung nicht
richtig verbunden war.
Wenn waehrend einer redefinition ein listvar gemacht wurde, ging
das nicht. Wir haben die eine Stelle in TinyMacros dann umgestellt
Aktuelle version auf github.com/jexp/TinyMacros

LG Mesi

-----------------------------------------------------------------------------



MG-Mudlet Update 1.2 Mapper, Weblinks, Discord, Farben, Entwicklung in einzelnen Dateien (Zaphob,  1. Aug 2022, 21:39:51):
Hallo Leute,

Es gibt eine neue Version der Mudlet-Skripte fuers MorgenGrauen und hier sind
die wichtigsten Neuerungen:

# Mapper
- Oben an der Karte sieht man nun eine rote Info, waehrend der Modus
"automatisch zeichnen" (mmode auto) aktiviert ist, damit man nicht
versehentlich zeichnet, obwohl man die Karte fix halten will. (Dank an @Fausti
fuer die Verbesserung)
- Der Mapper-Befehl "mmode" konnte bisher nur mit einem Argument (fix oder
auto) aufgerufen werden, und hat sonst einen Fehler erzeugt. Zukuenftig kann
man ihn ohne Argument aufrufen und wird dann erinnert, welche Argumente
moeglich sind. Dito bei einem unbekannten Argument.
- Stub-Ausgaenge werden nun auch in bekannten Raeumen ergaenzt, die man erneut
betritt, aber zwischenzeitlich neue Ausgaenge erhalten hatten.
- In neuen (!) Profilen ist Abstand zwischen Raeumen nun 2 und nicht mehr 5.
Dadurch kann man bspw. besser rein zoomen und die Stub-Ausgaenge erkennen.
Alte Profile koennen dies auf Wunsch durch Aendern der `mapperconf.scale`
Variable nachholen.


# Allgemeine Verbesserungen
- Man kann jetzt alle Web-Links (die wie folgt beginnen) anklicken und so
direkt im Browser oeffnen: www.*, http://*, https://*
- Als Discord-Nutzer kann man dort nun anzeigen, dass man MorgenGrauen spielt
(und nicht bloss Mudlet). Man zeigt aber keine Spieler-Details wie bspw. den
aktuellen Aufenthaltsort an (obwohl das technisch leicht moeglich waere, und
interessierte Zuschauer anlocken koennte). Man zeigt aktuell nur einen Link
auf die Onlinepraesenz des MorgenGrauen.
- Die Texte auf Ebenen werden nun weniger grell angezeigt, nachdem es
Beschwerden gab, dass sich die Farben Magenta auf Schwarz zu sehr beissen.
- Texte wie "Sowas sieht Du hier nicht. Du schaust Dich um." werden nun grau
eingefaerbt, um nicht so sehr ins Auge zu fallen, da sie sich tlw. oft
wiederholen und vom eigentlichen Suchergebnis ablenken.
- Es wurden einige Lua-Fehler ausgeraeumt, die beim Login und waehrend des
Kampfes auftreten konnten, wenn ein Spieler noch nicht alle Reports
freigespielt hatte. 


# Infrastruktur
- Wenn man dieses Paket in Mudlet installiert, werden dort ab sofort auch die
Infos aus der Readme-Datei angezeigt.
- Fuer Entwickler wird es auch leichter, denn es befinden sich alle Trigger,
Alias, usw. nun in einzelnen, uebersichtlichen Lua-Dateien und Ordnern,
zusammen mit Json-Konfiguration, und nicht mehr alles zusammen in einer
riesigen XML-Datei. (Dank an @demonnic und das Muddler-Projekt)
- Der Debug.Modus fuer GMCP war anscheinend seit 8 Jahren defekt. Nun kann er
leicht per Variable aktiviert werden. Im Standard ist er jedoch weiterhin
deaktiviert, da fuer "normale" Spieler zu viel Scroll erzeugt und sowieso
uninteressant sein sollte.
- GMCP wird nun nur noch einmal initialisiert, und zwar direkt bei
Installation des Paketes (Dank an @Fausti)

Gruesse,
Zap*

-----------------------------------------------------------------------------



Re: TinyMacros geht mit TF 5.0 (Vardion,  3. Aug 2022, 20:35:03):
~#! rn=Mesirii rt=1659133065 rg=mudclients
~#! tid=1659133065
Unsere Erweiterugen (md5, PCRE usw.) hat aber noch niemand nach TF5 portiert,
oder? Ich habe jetzt erst mal das modifizierte TF4 neu gebaut. Hintergrund:
TF-VM von Mint 20.3 auf Mint 21 gehoben, TF4 wollte da nicht mehr compilieren.
Debian pflegt einen Patch (1), mit dem TF4 auf aktuellen Systemen uebersetzbar
ist. Ich habe aufbauend auf diese Aenderungen unsere Aenderungen wieder
eingepflegt. Daraus ein Termux-Paket zu bauen ist aber vermutlich etwas mehr
Aufwand, daher waere die Anpassung eines vorhandenen TF5-Termux-Paketes
vermutlich einfacheer.

Vardion
(1) http://deb.debian.org/debian/pool/main/t/tf/tf_4.0s1-21.debian.tar.xz

-----------------------------------------------------------------------------



Re: Re: TinyMacros geht mit TF 5.0 (Amaryllis,  3. Aug 2022, 20:41:45):
~#! rn=Vardion rt=1659551703 rg=mudclients
~#! tid=1659133065
Was ist denn bei TF5 der Vorteil? ich sehe bislang nur, dass diese Version
schon seit Jahrzehnten im Status Beta ist...

Ama*

-----------------------------------------------------------------------------



Re^3: TinyMacros geht mit TF 5.0 (Vardion,  3. Aug 2022, 20:46:06):
~#! rn=Amaryllis rt=1659552105 rg=mudclients
~#! tid=1659133065
Nichts, aber wenn ich Mesirii richtig verstanden habe, gibt es dafuer schon
ein Paket fuer Termux. Ziel ist es hier, TF nativ auf einem Android-Tablet zu
haben.

Vardion

-----------------------------------------------------------------------------



Re^4: TinyMacros geht mit TF 5.0 (Vardion,  6. Aug 2022, 14:22:06):
~#! rn=Vardion rt=1659552366 rg=mudclients
~#! tid=1659133065
Das war dann doch zu einfach: das aktuelle Debian-gepatchte tf-4.0s1
compiliert (mit oder ohne unseren Erweiterungen) innerhalb weniger Sekunden
erfolgreich direkt in Termux. Es lohnt sich somit nicht, irgendeine
Cross-Compile-Upgebung aufzubauen. Man kann einfach die Sourcen in Termux
auspacken, "sh unixmake" und fertig ist das ARM64 TF Binary. Das war wirklich
zu einfach, Termux ist toll.
Wer das testen moechte: achtet darauf, dass ihr Termux von F-Droid und nicht
vom Playstore zieht. Die Version im Playstore ist hoffnungslos veraltet weil
sie wegen Googles Bestimmungen fuer Apps (konkret W^E) nicht mehr aktualisiert
werden kann.

Vardion

-----------------------------------------------------------------------------



Re^5: TinyMacros geht mit TF 5.0 (Gloinson,  6. Aug 2022, 16:05:13):
~#! rn=Vardion rt=1659788526 rg=mudclients
~#! tid=1659133065
Vermute, dass Eiskristall ihr TermUX von Google hatte (das hat auch nur so
lange gedauert, die zwei Dateine zu patchen, weil ...), aber nach Aenderung
des Repos lief es dort zumindest auch problemlos.

Ich hab mir damals das Termux:Styling im Playstore gekauft, weil ich tf eine
Zeitlang auf dem Tablet gern mit externer Bluetooth (Periboard) benutzt habe. 
Hab jetzt noch nicht getestet, ob das in den FDroid-Versionen default dabei
ist.


-----------------------------------------------------------------------------



Re^6: TinyMacros geht mit TF 5.0 (Vardion,  6. Aug 2022, 16:15:28):
~#! rn=Gloinson rt=1659794713 rg=mudclients
~#! tid=1659133065
Android verbietet halt allen Apps mit Target >= Android 10, dass sie Binarys
ausfuehren, die nicht teil des APKs sind (write xor execute). Das ist
naturgemaess ein Riesenproblem fur Termux, da hier das Ausfuehren
nachtraeglich geladener Binarys genau die Kernfunktionalitaet ist. Damit kann
Termux als Target derzeit hoechtens Android 9 nehmen - damit duerfen sie aber
nicht (mehr) in den Playstore, weil Google dort immer ein relativ aktuelles
Target verlangt (nichts zu verwechseln mit der minimalen unterstuetzte
Version). Daher gibt es aktuelle Releases eben nur noch ueber F-Droid.

Vardion

-----------------------------------------------------------------------------



Re^7: TinyMacros geht mit TF 5.0 (Gloinson,  6. Aug 2022, 18:02:35):
~#! rn=Vardion rt=1659795328 rg=mudclients
~#! tid=1659133065
Letzte Version im Playstore ist v0.101, aktuelle ist v0.118. Die gute
Nachricht: die Termux-Pakete wie zB Styling sind jetzt auch auf F-Droid. 

Leider kann ich bei mir nicht einfach drueberinstallieren :)


-----------------------------------------------------------------------------



Re^8: TinyMacros geht mit TF 5.0 (Vardion,  6. Aug 2022, 18:08:56):
~#! rn=Gloinson rt=1659801755 rg=mudclients
~#! tid=1659133065
Ja, die Signaturen passen nicht, weil F-Droid alles selbst signiert.
Vorgehensweise: termux-setup-storage, termux-backup /sdcard/backup.tar.xz,
play-version deinstallieren, f-droid version installieren,
termux-setup-storage, termux-restore /sdcard/backup.tar.xz

Vardion

-----------------------------------------------------------------------------



Re^8: TinyMacros geht mit TF 5.0 (Gloinson,  6. Aug 2022, 18:49:02):
~#! rn=Gloinson rt=1659801755 rg=mudclients
~#! tid=1659133065
Also fuer halbe Anfaenger:
- Termux (bevorzugt aus FDroid) installieren
- in der Shell:
  - Google-Store: termux-change-repo (alle Repos, auf irgendwas)
  - termux-setup-storage (verknuepft home mit storage/downloads/ uA)
  - pkg upgrade (blabla, N, bla)
  - pkg install clang, make, (stunnel)
  - tf/patch runterladen, entpacken (tar -xzf / xJf storage/downloads/tf...)
    (tar.gz von tf nehmen, sonst jammert es wegen der Endungen und ...)
  - patchen (im tf4-Vrz: patch -p1 ../debian/patches/debian-changes)
  - tf4: src/Config mit nano anpassen (Homepfade (pwd) fuer TF/LIBDIR, man)
  - sh unixmake

Tada. Oder fast. Dann noch TinyMacros ins Home holen oder die eigenen Skripte.
Ich benutze gern das stunnel direkt im Termux, weil ich es ohnehin nur dafuer
nutze und dann in einer zweiten Shell starte.


-----------------------------------------------------------------------------



Re^9: TinyMacros geht mit TF 5.0 (Vardion,  6. Aug 2022, 20:30:31):
~#! rn=Gloinson rt=1659804542 rg=mudclients
~#! tid=1659133065
Ja, passt so. Fuer stunnel brauchst du keine zweite Shell, das kannst du
einfach in der selben Shell vor TF im Hintergrund starten (in der stunnel.conf
"foreground = no")

-----------------------------------------------------------------------------



Re^5: TinyMacros geht mit TF 5.0 (Vardion,  8. Aug 2022, 19:57:11):
~#! rn=Vardion rt=1659788526 rg=mudclients
~#! tid=1659133065
Noch ein kurzer Hinweis fuer die, die die Hash-Funktion fuer Mesiriis Listen
auf MD5 geaendert haben: auf ARM64 ist, bedingt durch die ARMv8 Crypto
Extensions, SHA1 *erheblich* schneller als MD5 (da SHA1 vom Prozessor in
Hardware gemacht wird, waehrend MD5 Software ist). Es loht sich also, die
/hash-Funktion auf SHA1 zu definieren: /def hash = /return sha1({*})
Vorher per /expr sha1('') pruefen, ob euer TF SHA1 kann. Ich bin mir nicht
mehr sicher, wann ich SHA1 und SHA256 eingebaut hatte und ob ich das jemals
hochgeladen habe.

Vardion

-----------------------------------------------------------------------------



TF-Links (Zaphob, 11. Aug 2022, 17:49:12):
Wenn ich mir die MG-Webseite zum Thema TF anschaue...
http://mg.mud.de/download/tf.shtml

Wir muessen da mal Hand anlegen, da die FTP-Links in vielen modernen Browsern
nicht mehr unterstuetzt werden. Dabei kamen einige Fragen auf:

- Sind die beiden Pakete von Ahab und Taranis noch aktuell und vollstaendig?
- Gibt es andere Pakete, die dort noch komplett fehlen?
- TinyMacros kommt mir in den Sinn, oder ist das schon zu sehr Spoiler?
- Es gibt auch einen Link in den FTP-Ordner, in dem die beiden Pakete liegen,
also gibt es dort (welche?) andere Dateien, die auch beibehalten werden
sollten?

Ich weiss auch noch nicht, wo/wie wir die Binaries dann hosten/verlinken, wenn
das MG-FTP den feinen Browsern jetzt also nicht mehr genehm ist..

Zap*

-----------------------------------------------------------------------------



Re: TF-Links (Vardion, 11. Aug 2022, 17:59:46):
~#! rn=Zaphob rt=1660232952 rg=mudclients
~#! tid=1660232952
Die Webseite mal mit HTTPS/LetsEncrypt zu versehen, waere auch eine Aktion.
Ueber plain HTTP meckern auch immer mehr Browser.

Vardion

-----------------------------------------------------------------------------



TF4 UTF-8 tauglich (Vardion, 12. Aug 2022, 21:24:28):
Haben wir irgendwo einen Fileshare, um Code abzuwerfen? TF4 hat ja das
Problem, nicht gut mit UTF-8 klarzukommen, also konkret mit den Codepoints >
U+007F, die in UTF-8 in mehr als ein Byte codiert werden.
In meiner Linux-VM hatte ich das immer so geloest, dass ich ein XTERM im ISO
8859-1 Modus gestartet habe, dann hat TF nie Mehrbytezeichen bekommen. Unter
Termix werden aber keine Locale unterstuetzt, dort hat man *immer* UTF-8.
Ich habe daher eine Anpassung fuer die keyboard.c in TF gebaut, welche eine
Variable "map_utf8" auswertet. Ist diese gesetzt, nimmt keyboard.c eine UTF-8
nac ISO 8859-1 Umsetzung vor: Codepoints > U+00FF werden komplett ignoriert
(das trifft auf der deutschen Tastatur z.B. das Euro-Zeichen), Codepoints bis
U+00FF werden auf ISO 8859-1 umgesetzt. Damit kann man wieder Keybindings auf
ae, sz usw. bauen und diese auf "ae", "ss" usw. umsetzen und hat keinen
Eingabemuell im Clienten. Das Verhalten innerhalb TF ist dann wie in einem ISO
8859-1 Terminal.
Ergebnis: TF laeuft auf Termux mit deutschen Umlauten.

Vardion

-----------------------------------------------------------------------------



Re: TF4 UTF-8 tauglich (Zesstra, 14. Aug 2022, 11:42:27):
~#! rn=Vardion rt=1660332268 rg=mudclients
~#! tid=1660332268
An dieser Stelle auch nochmal Werbung fuer "telnet charset", um dem Mud zu
sagen, welches Charset der Client erhalten moechte, das ist fuer andere
Richtung jedenfalls interessant. Alternativ kann der Client das Charset
automatisch per Telnet option negotiation aushandeln, aber viele unterstuetzen
das nicht.

Zesstra

-----------------------------------------------------------------------------



Re: Re: TF4 UTF-8 tauglich (Vardion, 14. Aug 2022, 12:04:09):
~#! rn=Zesstra rt=1660470147 rg=mudclients
~#! tid=1660332268
Danke fuer den Hinweis. Ich belasse es bei TF derzeit auch bei Anpassungen
fuer die Richtung Tastatur->TF. Auch wenn das Mud mit UTF-8 klarkommen
koennte, TF tut es nicht (Keybindings etc.). Die Rueckrichtung (TF ->
Terminal) ist im Code leider ueber mehrere Stellen verteilt, das fasse ich
erst mal nicht an. Hier ist die Not geringer und der Aufwand groesser.
Ich habe jetzt ein TF4 mit eingebautem TLS (kein STunnel erforderlich),
Tastaturumwandlung von UTF-8 nach ISO 8859-1 und unseren ganzen Erweiterungen
wie PCRE, das auch noch auf meinem Android-Tablet in Termux laeuft - das
reicht erst mal.

Vardion

-----------------------------------------------------------------------------



Re^3: TF4 UTF-8 tauglich (Zesstra, 14. Aug 2022, 12:38:47):
~#! rn=Vardion rt=1660471449 rg=mudclients
~#! tid=1660332268
ja, in dem Fall sollte man das charset IMHO auf iso8859-1 stellen und kann das
auch senden. MG wandelt es dann intern nach utf-8 und sendet an nen anderen
Client das, was der erwartet.

Zesstra

-----------------------------------------------------------------------------



Re^4: TF4 UTF-8 tauglich (Vardion, 14. Aug 2022, 12:53:18):
~#! rn=Zesstra rt=1660473527 rg=mudclients
~#! tid=1660332268
Nein, das geht erst, wenn der Ausgabepfad auch konvertiert. Ansonsten kommt
vom Mud ein ISO 8859-1 Umlaut, den TF dann 1:1 auf das UTF-8 Terminal ausgeben
will, das wird nichts. Derzeit ist der beste Kompromiss fuer mich: Terminal
UTF-8 -> TF ISO 8859-1 -> MUD ASCII. Und in die Gegenrichtung alles ASCII.
Sollte jemand den Nerv haben, TF fuer die Rueckrichtung ein ISO 8859-1 ->
UTF-8 beizubringen, koennte man das Mud in ISO 8859-1 laufen lassen.

Vardion

-----------------------------------------------------------------------------



Re^5: TF4 UTF-8 tauglich (Vardion, 14. Aug 2022, 12:55:43):
~#! rn=Vardion rt=1660474398 rg=mudclients
~#! tid=1660332268
Nachtrag: fuer TF5 hat jemand einen Patch gebaut, um dem intern UTF-8
beizubringen, das ist natuerlich die beste Loesung. Evtl. kann man das nach
TF4 portieren. Ich habe halt fuer mein TF erst mal nur eine minimalinvasive
Loesung gebaut und uebersetze direkt im Keyboard-Teil.

Vardion

-----------------------------------------------------------------------------



Re^5: TF4 UTF-8 tauglich (Zesstra, 14. Aug 2022, 13:17:53):
~#! rn=Vardion rt=1660474398 rg=mudclients
~#! tid=1660332268
achso, Du konvertierst noch nach ASCII. ja, ok. Dann schon. Dachte, Du sendest
iso8859-1.

Zesstra

-----------------------------------------------------------------------------



Zeilen pro Sekunde? (Zaphob, 14. Aug 2022, 16:22:57):
Wie viele Zeilen pro Sekunde empfangt ihr so bei euren intensivsten
Ttigkeiten? Bitte mal beim Benchmarking mitmachen: 
https://forums.mudlet.org/viewtopic.php?p=46849#p46849

Danke, Gruesse,
Zap*

-----------------------------------------------------------------------------



Re^9: TinyMacros geht mit TF 5.0 (Arathorn, 14. Aug 2022, 18:04:30):
~#! rn=Vardion rt=1659802136 rg=mudclients
~#! tid=1659133065
Die Installation von Termux auf unserm Tablet schlaegt fehl, mit "unbekanntem
Fehler". Jemand eine Idee, wie ich das diagnostizieren und ggf wegbekommen
kann?

Arathorn.

-----------------------------------------------------------------------------



Re^10: TinyMacros geht mit TF 5.0 (Arathorn, 14. Aug 2022, 18:13:45):
~#! rn=Arathorn rt=1660493070 rg=mudclients
~#! tid=1659133065
Hat sich erledigt, da war noch ein zweites Termux-Paket (termux-api)
installiert. Nachdem das entsorgt war, geht auch die Installation ueber
F-Droid.

Arathorn.

-----------------------------------------------------------------------------



Re^10: TinyMacros geht mit TF 5.0 (Vardion, 14. Aug 2022, 19:17:04):
~#! rn=Arathorn rt=1660493070 rg=mudclients
~#! tid=1659133065
Habt ihr das von F-Droid genommen? Die Version auf GooglePlay ist aus hier
weiter oben gegannten Gruenden hoffnungslos veraltet. Ansomsten braucht Termux
mindestens Android 7 (Nougat) und eine ARM oder Intel-Architektur (je 32 oder
64bit).

Vardion

-----------------------------------------------------------------------------



Re^11: TinyMacros geht mit TF 5.0 (Arathorn, 14. Aug 2022, 19:19:30):
~#! rn=Vardion rt=1660497424 rg=mudclients
~#! tid=1659133065
Ja, das F-Droid-Ding ist jetzt drauf, nachdem die Rueckstaende der
verschiedenen Playstore-Termux-Pakete weg sind.

Mir ist allerdings gerade noch nicht klar, welche TF-Version ich fuer das
Tablet bauen sollte, gepatchtes oder ungepatchtes TF4 oder 5, welche Patches
muessen rein, woher nehmen?

Gruss, Arathorn.

-----------------------------------------------------------------------------



Re^12: TinyMacros geht mit TF 5.0 (Vardion, 14. Aug 2022, 19:23:52):
~#! rn=Arathorn rt=1660497570 rg=mudclients
~#! tid=1659133065
TF4/5 musst du selbst beantworten. Ich habe mich nie mit der 5 beschaeftigt,
da die erst nach Ende meiner aktiven Spielzeit relevant wurde, daher bleibe
ich bei 4. Das Debian-gepatchte TF4 (hatte ich weiter oben verlinkt)
compiliert unter Termux, da sind aber keine "unserer" Patches drin. Ich muss
mal ein Git-Repo mit meinem aktuellen TF4-Patchstand anlegen...
Ich schick mal ein TGZ mit dem aktuellen Stand an Dunsts EMail, deine habe ich
nicht.

Vardion

-----------------------------------------------------------------------------



Re^13: TinyMacros geht mit TF 5.0 (Vardion, 14. Aug 2022, 19:39:19):
~#! rn=Vardion rt=1660497832 rg=mudclients
~#! tid=1659133065
https://www.file-upload.net/download-14985124/tf.tgz.html

k.A. wie lange der Link haelt. "sh unixmake", der Installteil geht natuerlich
schief, aber der Build-Teil sollte laufen.
export TFLIBDIR=$HOME/tf-4.0s1/tf-lib

TLS Support ist drin, es geht also direkt /addworld -Tlpp -x worldname char
passwd mg.mud.de 4712
STunnel wird nicht benoetigt.

Vardion

-----------------------------------------------------------------------------



Re: Re: TF-Links (Zaphob, 17. Aug 2022, 17:19:55):
~#! rn=Vardion rt=1660233586 rg=mudclients
~#! tid=1660232952
Ich begruesse den Vorschlag und lade dich ins Webdev-Team ein.
Dort ist HTTPS tatsaechlich schon oefters Thema gewesen.
Leider sieht man die Diskussionen derzeit nicht so einfach in der MPA.

Davon abgesehen, die Fragen aus meinem ersten Artikel sind noch offen.
Sie werden auch nicht durch HTTPS geheilt, weil FTP dahinter steckt.

Sicher koennen mir findige TF-Nutzer dazu Antworten liefern?

Zap*

-----------------------------------------------------------------------------



Re: TF-Links (Zesstra, 17. Aug 2022, 20:52:15):
~#! rn=Zaphob rt=1660232952 rg=mudclients
~#! tid=1660232952
Die erwaehnten Pakete waren als TF mit minimalem Satz an Triggern etc. gedacht
- insofern ist vollstaendig ne kuriose Frage. Ob sie noch lauffaehig sind,
muesste jemand mit einem Linux oder Windows zuhause mal testen. ;-)
Vermutlich ist die naheliegende Loesung dann, die Pakete via http auszuliefern
statt ftp, da man sie aber wohl nicht im Repository der Website haben will,
muss (Zook|Rumata|Amaryllis|Zesstra) sie mal per Hand in das richtige
Verzeichnis fuer den Webserver verlegen.
Homepage von TF ist wohl immer noch http://tinyfugue.sourceforge.net/
Im Bereich TF koennte man vielleicht Tinyfugue Rebirth verlinken:
https://github.com/ingwarsw/tinyfugue

Zesstra

-----------------------------------------------------------------------------



Re: Re: TF-Links (Zesstra, 17. Aug 2022, 22:08:35):
~#! rn=Zesstra rt=1660762335 rg=mudclients
~#! tid=1660232952
Das Linux-Paket von mir scheint erstaunlicherweise noch zu laufen (aber auf
nem recht alten Linux), aber ich konnte nicht alles testen, weil ich kein
lokales Linux (mehr) habe. Aber wenn das jemand mal auf nem aktuellen Linux
ausprobieren koennte, waers gut.

Zesstra

-----------------------------------------------------------------------------



Wipfellaeufer in den TinyMacros (Bugfix, 28. Aug 2022, 12:09:20):
Moin,

die TinyMacros haben jetzt eine angepasste Statusleiste und Trigger fuer den
Kampfscrollreduzierer fuer die Wipfellaeufer. Falls es da irgendwelche
Probleme gibt, dann koennt ihr die gerne bei mir melden. Die aktuellen
Tinymacros gibt es unter https://github.com/jexp/TinyMacros/

Bugfix

-----------------------------------------------------------------------------



Re: Re: TF-Links (Zaphob, 28. Aug 2022, 18:40:31):
~#! rn=Zesstra rt=1660762335 rg=mudclients
~#! tid=1660232952
Du schreibst:
> Im Bereich TF koennte man vielleicht Tinyfugue Rebirth verlinken

Koenntest du bitte 2-3 Saetze formulieren, die sich dann in die TF-Seite auf
der MG-Homepage einfuegen lassen? Danke!

Zap*

-----------------------------------------------------------------------------



Kleine Python-Bibliothek fuer TF-Listen (Vardion,  8. Jan 2023, 18:01:16):
Mesirii hatte vor langer Zeit mal die lists.tf gebaut, um Listen in TF zu
unterstuetzen. Ich hatte jetzt in meiner Wegeliste eine Inkonsistenz und fand
das "Debuggen" aus dem Mud heraus zu laestig. Ich habe mir daher eine
Mini-Pythinbibliothek gebaut, welche die TF-Listen in Python laden und
speichern kann (Abbildung in Python als 'dict').
Verwendung:
import tf_list
wege = tf_list.load_list('ways.list')

"wege" ist nun ein Dict mit dem einzigen Schluessel "ways" und hat als Wert
wieder ein Dict mit den einzelnen Wegen. Hashlisten ("*.hlist") haben auf
oberster Ebene mehrere Schluessel.

An diesen Dicts kann man nun nach Belieben aendern und speichert die Liste am
Ende wieder mit

tf_list.save_list('ways.list', wege)

https://www.file-upload.net/download-15072779/tf_list.zip.html

Vardion

-----------------------------------------------------------------------------



Mudlet gibt 1000 $ aus, vielleicht an dich? (Zaphob, 18. Feb 2023, 13:07:57):
Hallo Leute!

Das Mudlet Team startet testweise ein neues Praemienprogramm.

Trage zu Open Source bei und werde nebenbei dafuer belohnt!

Insgesamt werden 1000 USD an Praemien ausgeschuettet, und es gibt diverse
Verbesserungen und Fehlerbehebungen, die dafuer in Frage kommen.

Details finden sich hier:

https://www.mudlet.org/2023/02/mudlets-new-1000-bounty-program 

Ihr koennt es auch gerne an befreundete Programmierer weitersagen! ;-)

Zap*

-----------------------------------------------------------------------------



Bunte Ebenen und Spielernamen (Zaphob, 26. Feb 2023, 12:58:19):
Zu bunt oder gut so?

https://i.imgur.com/g9mFggu.png

Zap*

-----------------------------------------------------------------------------



Re: Bunte Ebenen und Spielernamen (Bambulko, 27. Feb 2023, 09:32:51):
~#! rn=Zaphob rt=1677412699 rg=mudclients
~#! tid=1677412699
Ich finde es ok. Wie wird festgelegt, was welche Farbe bekommt? Z.b. warum
haben Xetolosch, Odyssee und Wren verschiedene Farben?

-----------------------------------------------------------------------------



Re: Re: Bunte Ebenen und Spielernamen (Zaphob, 27. Feb 2023, 22:03:35):
~#! rn=Bambulko rt=1677486771 rg=mudclients
~#! tid=1677412699
Ja, das ist so ein Algorithmus, der zufaellige aber konstante Farben zu Worten
findet, also hier zum Namen der Ebene und des Spielers. Das waren zufaellig
aehnliche Ebenenfarben. Wobei ich die extra hell filtere auf dem dunklen
Hintergrund. Hier sind mehr zum Vergleich:

https://i.imgur.com/uUurX0m.png

Wahrscheinlich will man am Ende auch feste Farben fuer einzelne Ebenen und
Spieler konfigurierbar haben, aber das mal so als Startpunkt fuer neue
Spieler.

Zap*

-----------------------------------------------------------------------------



Re^3: Bunte Ebenen und Spielernamen (Bambulko, 27. Feb 2023, 22:19:49):
~#! rn=Zaphob rt=1677531815 rg=mudclients
~#! tid=1677412699
Ich finde es nicht zu bunt. Und gerade wenn man nicht idlet, hat man ja immer
viele Meldungen dazwischen. Dann wird es weniger bunt. Und wer idlet ist
selbst schuld.

-----------------------------------------------------------------------------



Re: Kleine Python-Bibliothek fuer TF-Listen (Mesirii, 30. Jul 2023, 22:00:07):
~#! rn=Vardion rt=1673197276 rg=mudclients
~#! tid=1673197276
sehr cool, danke Vardion, an sowas hatte ich auch schon gedacht!

-----------------------------------------------------------------------------



GMCP Authentication (Zaphob, 19. Feb 2024, 19:22:25):
Authenticating to games is a long-standing pain point - as a client you can
never tell which syntax to use for the character name & password, and a server
- well, clients can't log in easily.

Been sitting on this problem for a while so I put together a GMCP extension
that addresses this: https://wiki.mudlet.org/w/Standards:GMCP_Authentication.
The implementation is super simple while leaving room for growth.

Have a look at reviewing it, especially if you're a client or a server author.
Let's solve a practical problem 

To get things moving, I also implemented it in Mudlet so we can test it out in
practice: 
https://github.com/Mudlet/Mudlet/pull/7152#issuecomment-1949938375

Vadi

Cross-post, um frueh noch mehr Augen auf den neuen Standard zu bekommen.

Mehr Details und gesammelte Antworten auch hier in Discord: 
https://discord.com/channels/283581582550237184/1208320568927985686

Zap*

-----------------------------------------------------------------------------



Re: GMCP Authentication (Rumata, 19. Feb 2024, 19:33:34):
~#! rn=Zaphob rt=1708366945 rg=mudclients
~#! tid=1708366945
Zur Info: Ich kann auf der Seite nichts lesen. Auch nicht, wenn ich
bei Discord eingeloggt bin.
Rum**

-----------------------------------------------------------------------------



Re: Re: GMCP Authentication (Zaphob, 19. Feb 2024, 19:40:50):
~#! rn=Rumata rt=1708367614 rg=mudclients
~#! tid=1708366945
Damit der Discord-Link funktioniert, muss man Mudlet auf Discord kennen:
https://discord.gg/9Dqu8yxr

Zap*

-----------------------------------------------------------------------------



