Lichtspruch... (Quasimodo, 19. Okt 1993, 15:36:48):
Der Lichtspruch mit dem Zauberstab ist viel zu teuer (40MP).
Kann das mal JEMAND aendern?

Quasimodo
. caio
-
-----------------------------------------------------------------------------



Zeitlimit. (Thorson, 23. Okt 1993, 21:42:36):
nachdem TappMUD wegen Suchtgefahr geschlossen wurde hatte ich folgende Idee:
jeder Spieler erhaelt ein Amulett, dass seine Spielzeit misst. Es sorgt dafuer, dass eine bestimmte taegliche und woechentliche Spieldauer nicht ueberschritten werden darf. Dieses Amulett ist zunaechst nicht mit einer Zeitschranke versehen. Erst beim Besuch des Schmiedes erhaelt das Amulett einen frei definierbaren Zeitstempel, der bis zum Semesterende gueltig ist. Das Amulett bewirkt bei einer ueberschreitung der Zeit das Sperren aller aktionen des Spielers und setzt gleichzeitig alle Mitspieler
auf "ignoriere".

Was meint ihr? Auf zur Diskussion!


Tschau,
Thorson
-----------------------------------------------------------------------------



Re: Zeitlimit (Yendi, 25. Okt 1993, 15:00:08):
Hmmmmmmm....  Nicht schlecht, die Idee, aber wenn einer richtig suechtig ist,
dann wird er wohl eine Ersatzdroge (sprich: ein ErsatzMUD) finden.
Ausserdem habe ich gemerkt, dass es mir nichts nutzte, ls ich
mir zur Klausurvorbereitung ein MaxZeitLimit fuers MUD setzte:
Ich fand einfach eine andere Methode, um mich vom Lernen abzulenken
 (Buecher, PC-Spiele, Fernsehen, Freunde besuchen...).

Das einzige, was wirklich hilft, ist leider Selbstbeherrschung.
("Was haelt den Korken in der Flasche?"....(genau))
-----------------------------------------------------------------------------



Re:zeitlimit (Herb, 26. Okt 1993, 12:30:47):
moin
ich finde die idee von thorson nicht besonders gut und sie macht ja auch nur sinn wenn auch in muenster die gefahr besteht das das mud abgesschaltet wird. einem spieler seine spielzeit vorzuschreiben klappt ja sowieso nicht. am ende hat jeder 3 player und spielt un 5 muds...
-----------------------------------------------------------------------------



Re: Zeitlimit (Thorson, 26. Okt 1993, 12:47:08):
Ich moechte meine Idee noch ein wenig erlaeutern. 
Mir geht es keinesfalls darum irgendwelchen Leuten vorzuschreiben wielange sie spielen drfen, sondern darum ein Werkzeug zu besitzen das die eigene Spielzeit kontrolliert.
Das Amulett kann ja von jedem Mitspieler nach eigenem ermessen mit einem Zeitlimit versehen werden. Wichtig ist nur, dass dieses Limit nicht so ohne weiteres geaendert werden kann, vielleicht wird es nur nach einem Tod zurueckgesetzt und kann dann neu bestimmt werden. 
Ich denke dass dieser Vorschlag bestimmt nicht die Ultimative Loesung ist, aber vielleicht ist so ein Instrument ja eine kleine Hilfe.

Tschau,
Thorson
-----------------------------------------------------------------------------



Aussehen foerdert die Stimmung (Quasimodo, 26. Okt 1993, 19:14:53):
Es waere fuer die Stimmung wirklich foerderlich, wenn man seinem PC ein
Aussehen verleihen koennte (in Form einer Beschreibung versteht sich).
Diese Beschreibung koennte zum Beispiel dann erscheinen, wenn man den
betreffenden PC anschaut. Dieses nur ueber den Doppelpunkt-Operator zu
machen finde ich nicht besonders gut.

vielleicht findet sich ja einer der das Programiert.

        Quasimodo, der gerade auf LP wartet.

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



Re: Aussehen, gibt es doch! (Freund, 27. Okt 1993, 02:00:24):
Hi,
es ist spaet nachts, also ganz kurz:

Es gibt eine solche Funktion, sie heisst extra_look().

Seher koennen mithilfe des entsprechenden Befehls eine Beschreibung
Ihres Charakters ausgeben lassen, wenn man ihn ansieht.

Also: Nix wie alles loesen und Seher werden...;-)

Der FREUNDliche Rat von FREUND.
-----------------------------------------------------------------------------



Re: Re: Aussehen (Quasimodo, 28. Okt 1993, 15:48:45):
Hi,
Die Mehrzahl der spieler ist nicht Seher und will moeglicher
Weise auch ein Aussehen haben (oder nicht??). Ist es denn wirklich
so schwer, dass uer alle spieler zugaenglich zu machen?

Quasimodo
-----------------------------------------------------------------------------



Ich will auch aussehen!!! ;) (Yendi, 29. Okt 1993, 12:33:08):
Wieso sollen sich nicht alle Spieler ein "Aussehen" zulegen koennen?
Blaest das die Groesse der Dateien zu sehr auf, oder soll dieses Feature
als "Bonus" fuer Seher reserviert werden?
Ich fuer meinen Teil moechte nicht verzweifelt hinter jedem EP herjagen,
nur um in den Genuss einer vernuenftigen Charakter-Beschreibung zu kommen.

Man koennte ja evtl. einen Quacksalber wie in NightFall einrichten,
der gegen entsprechendes Entgeld (Anti-Inflation$-Ma$$nahme!!!) eine
"Schoenheitsoperation" ausfuehrt, nach der man dann ein Aussehen haette.

Na?
-----------------------------------------------------------------------------



ignorier, grinse (Yendi, 11. Nov 1993, 12:43:08):
Kann man auch ALLE Spieler auf einmal ignorieren, z.B. zum Artikelschreiben?
Wenn ja, wie?

Und die "grinse"-Hilfeseite ist fehlerhaft:
Ohne weitere Angaben "grinst" der Spieler lediglich, er grinst nicht
von vorneherein und defaultmaessig "daemonisch".

Ceterum censeo, dass der Lichtspruch (Zauberstab) billiger werden sollte!
-----------------------------------------------------------------------------



Magierwerden... (Yendi, 12. Nov 1993, 13:13:14):
... ist nicht schwer, Magiersein dagegen sehr -- *hoehoe*

Scherz beiseite, kann mal jemand (z.B. in den Hilfeseiten) veroeffentlichen,
wie die Bedingungen fuers Magier-Werden lauten (EP / Quests) ?
Danke im Vorraus!

Ceterum censeo, dass der Lichtspruch (Zauberstab) billiger werden sollte!
-----------------------------------------------------------------------------



Rassenbeschreibungen (Yendi, 16. Nov 1993, 17:53:32):
Koennte man nicht zusaetzlich zur Information ueber Namen und Stufen auch
gleich die RASSE eines Spielers erfahren, wenn man diesen zu Gesicht bekommt?
Vielleicht gleich verbunden mit einer ausfuehrlicheren, spielergewaehlten
Beschreibung beim Genauer-Angucken?
Faende ich gut!#

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



Fehler in "netztot"-Meldung (Yendi, 22. Nov 1993, 14:08:19):
"> Gnulli hat gerade die Verbindung zu MorgenGrauen gekappt.
Ploetzlich weicht alles Leben aus Gnulli."

Die Reihenfolge dieser Meldungen sollte doch vielleicht umgekehrt sein, oder?
-----------------------------------------------------------------------------



Kann die Rubrik "magier.urlaub" nicht geloescht werden? (Yendi, 24. Nov 1993, 12:25:48):

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



Re: Kann die Rubrik "magier.urlaub" nicht geloescht werden? (Loco, 24. Nov 1993, 12:26:52):
Wieso denn? Die naechsten Semesterferien kommen bestimmt ;)

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



typo in "schlafe ein"-Befehl! (Yendi, 24. Nov 1993, 14:20:36):
"Dieser Befehl beendet Deine Verbindung mit Morgengrauen. Du behaelst Deine
Sachen,(...)". Das sollte doch "Du behaelTst..." (von behalTen), oder?
-----------------------------------------------------------------------------



Schaetze vergraben! (Yendi, 25. Nov 1993, 14:01:00):
Ich plaediere dafuer, dass man an einer beliebigen Stelle mit Hilfe einer
Schaufel ein Loch graben koennen sollte, um darin fuer den
Not(sprich:Todes-)Fall einwenig Ausruesung und Geld bunkern zu koennen.

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



Postamt (Loco, 25. Nov 1993, 23:31:39):
Nach der Zeitung, die inzwischen durch die mpa ersetzt wird, habe ich mich
daran gemacht, die Post etwas umzugestalten. Als erstes Exemplar zu Testen
habe ich nun die Stadtpost in Svolvaer vorerst umgestellt. Wer also sich
einmal die neue Version anschauen will, und Kommentare, Fehlermeldungen oder
Anregungen loswerden will, kann mal da hinfahren.
Kurz, was sich vorerst geaendert hat: Zusaetzlich zu den bekannten Befehlen
der Post gibt es nun einen Satz neuer, einbuchstabiger Befehle. Lesen kann man
durch simples Tippen der Nummer. Auch sonst kleinere Aenderungen. Wichtig ist
noch, dadie Post denselben Editor verwendet, der auch von der mpa verwendet
wird.
Schaut es Euch an, ich warte auf Kommentare ...
Loco

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



Beutelinhalt (Yendi,  3. Dez 1993, 12:07:14):
Nachdem ich beim letzten Reset die 31000 Muenzen (!) verloren habe, die ich
im Beutel mit mir rumschleppte, fordere ich, dass man bei einem Reset
AUCH fuer den INHALT seiner container (Beutel o.ae.) entschaedigt wird.

Des weiteren denke ich, dass die Benutzung des Zauberstabs (Lichtspruch)
 billiger werden sollte!
-----------------------------------------------------------------------------



Re:beutelinhalt (Rumata,  3. Dez 1993, 15:24:27):
1.) Das ist die Strafe fuer deine Geldgier. :-)
2.) Die ist billig genug, soo viel Magie braucht man in diesem Mud
    sowieso noch nicht.
=> beide Dinge sind Absicht!

Ciao
Rumata

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



Forder Du nur.. (Olpp,  4. Dez 1993, 15:34:47):
Als wenn hier jeder fordern koennte..

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



Re: Forder Du nur... (Yendi,  6. Dez 1993, 12:53:50):
Wozu ist diese Rubrik denn sonst? ;)
-----------------------------------------------------------------------------



Re: nicht zum fordern.. (Olpp,  8. Dez 1993, 13:40:35):
..sondern zum fragen, vorschlagen, bitten, ankuendigen, ...

Olpp

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



Re: nicht zum fordern.. (Olpp,  8. Dez 1993, 13:40:35):
..sondern zum fragen, vorschlagen, bitten, ankuendigen, ...

Olpp

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



OK, OK, Rueffel eingesteckt. (Yendi, 10. Dez 1993, 13:28:03):
Aber ich mache mildernde Umstaende (Affekt) geltend:
Der Verlust von mehr als 30K Muenzen hat mich doch etwas zurueckgeworfen
(ploetzlich muss man fuer einen "Balin's Hammer" _ziemlich_ sparen...)
und da man keine Moeglichkeit hat, sein Geld irgendwo zu deponieren,
als Ruecklage fuer schlechte Zeiten, ist man also dazu gezwungen, all seine
Knete staendig mit sich rumzuschleppe, auch auf die Gefahr hin, im Todesfall
alles zu verlieren und von vorne zu beginnen.   Unschoen...


Ich moechte daher hiermit hoeflich fragen, ob es nicht eventuell moeglich
waere, meinem Vorschlag und meiner Bitte zu entsprechen und diese Rubrik
dazu zu nutzen, die Einrichtung irgendeiner Art von Geld-Depot anzukuendigen.
(Dieses Depot kann ja z.B. aus "vergraben" bestehen, das waere dann nicht
einmal diebstahlssicher.... Aber immerhin.)
-----------------------------------------------------------------------------



"Killer"-Titel (Yendi, 20. Dez 1993, 14:04:20):
Waere es nicht sinnvoller, einen Spieler, der einen oder
mehrere Morde begangen hat, "Moerder" zu nennen statt "Killer"?

Das klingt weniger aufregend, sondern eher ernuechternd (ich errinnere
an die Debatte um den Begriff "Geisterfahrer").

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



inform (Yendi, 20. Jan 1994, 15:02:52):
Wieso muss man sich erst aus- und wieder einloggen,
um den "inform"-Modus seines Teddies zu togglen?

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



Kleine Anregung (Sir,  3. Feb 1994, 20:33:30):
Moin,

mir ist eingefallen, dass es doch praktisch waere, das gute alte
Tappfeature fuer tell . einzubauen.
Wer's nicht kennt :
Nach dem letzten teile boing mit ... merkt er sich das zielobjekt und
beim naechsten Mal reicht es 'teile . mit ...' zu schreiben.
Daraus kann man ein nettes alias und es kann einem viel Arbeit ersparen

man denke nur an Namen die mit High anfangen und wo der lange Rest
auch nicht besser wird ;-)

MfG
Sir

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



Re: Anregung (Boing,  4. Feb 1994, 11:34:15):
Du musst doch diesen komischen Namen der mit High anfaengt nicht
ausschreiben, wozu haben wir denn das Abkuerzungssystem?
   Boing

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



Re: Re: Anregung (Sir,  4. Feb 1994, 19:32:26):
Moin,

es ging mir auch vielmehr um das praktische alias ...
freuher ging halt alias t tell . &* .
Warum sollte man das nicht wieder einbauen, zumal Namensvervollstaendigungen
bekanntlich nicht immer eindeutig sind ...

MfG
Sir

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



Re: Re: Anregung (Boing,  5. Feb 1994, 13:05:35):
Natuerlich, ich sage ja auch nix gegen deine Anregung, ich dachte nur Du
wuesstest
das mit den Abkuerzungen vielleicht gar nicht (klang so).
  Boing

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



Re: Anregung (Yendi,  7. Feb 1994, 12:04:41):
Hoert sich gut an, wuerde mir eine Menge Getippe ersparen... :)

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



Scrolling in Zeitung (Yendi, 11. Feb 1994, 13:39:02):
Ich setzte gerade meine Bildschirmgroesse auf 5 Zeilen, aber der "inhalt"
der ersten Rubrik rauscht trotzdem voll durch...

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



re:Scrolling in Zeitung (Samo, 11. Feb 1994, 15:03:33):
Dann hat wohl wieder wer einen Artikel ohne Zeilenumbrueche geschrieben :(
(War der Artikel von Freund? :-)
  samo

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



Re: War der Artikel von Freund? (Freund, 11. Feb 1994, 17:11:00):
Hi,
tja, Samo und andere Leser :) , natuerlich NICHT!

Es liegt naemlich daran, dass der Befehl Inhalt bei der Zeitung
zwar die Ausgabe aller Artikel einer Rubrik bewirkt, aber leider
ohne Ruecksicht auf irgendwelche Zeilenvariablen in irgendwelchen
Spielerobjekten.
Es scheint so, als wuerde der Inhalt schlicht nicht durch ein
'more' gejagt werden...

Mit freundlichem Gruss und mit Zeilenumbruechen, bevor diese ****verdammte
Zeile wieder mehr als 80 Zeichen braucht - oh, wohl doch nicht... ;-)
FREUND.

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



Re: Re: War der Artikel von Freund? (Loco, 11. Feb 1994, 20:29:25):
So, ab sofort wird der Inhalt einer newsgroup gemored. Wers nicht glaubt,
loggt einmal kurz aus und wieder ein und bekommt damit die aktuelle Version.
Ueberlange Zeilen werden beim Schreiben der Artikel (wenn ueber mpa) ohnehin
umgebrochen.

- Loco
       Morgengrauens Presseagentur, Technische Leitung

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



Re: Leerzeichen (Boing, 22. Feb 1994, 12:08:20):
Tja, ich muss Dich wohl darauf hinweisen, dass es in LPmuds keinen Parser
gibt :)
(Was natuerlich nicht heisst, dass man sie nicht trotzdem rausschmeissen
koennte, Hate ist bereits an der Arbeit :) )
   Boing

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



Schliessfaecher fuer die Spieler? (Hardil, 23. Feb 1994, 09:29:29):
Es wurde diskutiert bzw vorgeschlagen, eine Bank einzurichten, wo man Geld
parken kann. Grundsaetzlich finde ich das als Idee sehr gut, ich moechte da
sogar noch weitergehen und befuerworte, fuer jeden Charakter eine Art
"absturzsicheres" Schliessfach einzurichten.
Das koennte so funktionieren: Alle drei Heimatorte (Elfendorf, Zwergenstadt
und Port Vain) haben einen Raum, in dem fuer jeden Charakter der
entsprechenden Rasse ein persoenliches Schliessfach besteht. Dort mueszte man
Geld und Ausruestungsgegenstaende unterbringen koennen, um nach einem
Armageddon
oder sonst einem Uebel (zum Bleistift Tod) nicht sich wieder mit Anfaengern
um die ganzen Ausruestungsgegenstaende kloppen zu muessen.
Ich weisz nicht, ob das programmierbar ist, diese Entwicklung faende ich
jedoch sehr begruessenswert.
Eventuell koennte man Schliessfachgebuehren nehmen (so wie am Bahnhof),
aber das sollte erst dann die Frage sein, wenn sich so etwas ueberhaupt
durchsetzen laeszt.

Hardil

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



re: Schliessfaecher fuer die Spieler? (Samo, 23. Feb 1994, 14:59:40):
NEIN!

Diese Diskussion hatten wir schon oefter. NEIN!
Meine Meinung.

Samo

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



re: Schliessfaecher fuer die Spieler? (Boing, 23. Feb 1994, 16:07:21):
Diese Diskussion kommt wirklich laufend auf, und das in jedem Mud, das
ich kenne. Dabei werden von den Spielern vor allem die technischen Probleme
nicht gesehen, es
ist zum Beispiel unmoeglich Objekte die nur das Standard-objekt konfigurieren
ueber einen reboot zu speichern. Ausserdem tun wir schon so viel mehr als
alle anderen MUDs fuer die Spieler ndem wir ihnen ermoeglichen sich nicht
komplett auszuloggen, so dass wenigstens beim regulaeren Betrieb (also kein
reboot) die
Sachen aufbewahrt werden koennen.
Meine Meinung zu Schliessfaechern: NEIN!
  Boing

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



re:Schliessfaecher (Catweazle, 23. Feb 1994, 17:35:45):
Hm, es bleibt zu bedenken, das es nach Installation von Schliessfaechern
garantiert zu einer Fananzflut kommen wird. Wenn ich als damaliger Spieler
meine Sachen nicht staendig aufgrund auftrretender Reboots verloren, sondern
sie verkauft haette, so waere ich sicherlich innerhalb von kurzer Zeit
Millionaer geworden und haette diverse Quest aufkaufen koennen.
Ausserdem hab ich die Erfahrung gemacht, dass es in jedem Spielerlevel
genuegend Moeglichkeiten gibt, zu passender Ausruestung zu kommen.
Das mag in der zwischenzeit schwieriger geworden sein, da die Anzahl der
gleichzeitig eingeloggten SPieler sicherlich wesentlich hoeher ist, als zu
meiner Zeit, aber dafuer gibt es jetzt ja mehr Quest, will sagen mehr
Ausruestung.

Yours truly,
       Catweazle

PS: Das da oben soll natuerlich F'I`nanzflut heissen! ;-)

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



re: Schliessfaecher (Jof, 24. Feb 1994, 20:47:30):
 Kommen nicht in die Tuete. Punkt.

 Jof

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



Gremium fuer Spieler (Hate, 25. Feb 1994, 00:49:46):
Konzept: Gremium fuer Entscheidungen auf Spielerseite
Nach einer recht langen *weiteren* Diskussion ueber das zu entscheidende
Konzept, ein Gericht zu schaffen (von Thorson ins Leben gerufen und von
Highlander unterstuetzt) ist ein, wohl fuer Spielerseite demokratischeres,
aber auch allgemeineres Konzept zu Tage getreten.
Hier die Erlaeuterungen:
Allgemeine Bedingungen:
 1. Ein Gremium aus einer von den Spielern festzulegenden Anzahl Mitglieder
    (Hier koennte vielleicht spaeter eine Aufteilung nach Gilden oder
anderen
     Gesichtspunkten stattfinden, nach Erfahrungen aus anderen MUDs)
 2. Da es reine Spielerentscheidungen sind, werden hier keine Magier zuge-
    lassen.
 3. Es wird eine angemessene Umgebung bereitgestellt, um Probleme und Vor-
    schlaege zu diskutieren. (Chaosverhindernd)
Vorgehensweise:
 a) Allgemeine Entscheidungen, die von einzelnen Spielern und/oder Gruppen
von
    Spielern als wichtig erachtet werden sollten dem Gremium zur
Entscheidung
    vorgelegt werden.
 b) Entscheidungen, welche von der Magierschaft als entsprechend wichtig
fuer
    die Spieler definiert werden, koennen auch dem Gremium vorgelegt werden.
    (Wie die Bewertung erfolgt ist unrelevant fuer die Spielerschaft!
Probleme
     mit erfolgten Entscheidungen koennen durch Punkt a) zur Sprache
gebracht
     werden.)
 c) Einfach durchsetzbare Entscheidungen koennen ohne Einwilligung der
Magier-
    schaft durchgefuehrt werden. Es wird eine verantwortungsvolle Handhabung
    vorausgesetzt.
 d) Werden Entscheidungen des Gremiums getroffen, welche die Magierschaft
be-
    treffen oder nur durch diese durchgesetzt werden koennen, werden diese
    denselben vorgelegt. Die Magier entscheiden dann ueber das weitere Vor-
    gehen nach den ihnen gesetzten Regeln und geben dies dann dem Gremium
be-
    kannt.
 e) Um Missbrauch einzuschraenken ist eine Moeglichkeit vorzusehen, einzelne
    Mitglieder, oder auch alle von ihrem Status zu entheben.
Hate.


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



Re: Gremium (Highlander, 25. Feb 1994, 11:30:41):
Aeh, Spieler konnten glaub ich mein posing dazu nicht
lesen, deswegen wiederhole ich es hier.
Das gab's vor Hates Posting, moechte ich hinzufuegen.

------schnipp--------schnapp--------papier--------ab-----:)
Konzept:
Was das Gericht darf:
- Probleme einfacher Natur schlichten. Ging natuerlich vorher auch schon,
aber
  es waere eine Instanz dafuer da. Vielleicht taete es da ja auch einfach
  ein Gespraech mit ein bis zwei anderen Leuten, aber die Richter dienen in
  dem Fall sozusagen als anerkannt neutrale Personen.
- In schwereren Faellen eine dem Verbrechen angepasste Strafe beschliessen.
  Beispiel: Einem dauernden Anmacher saemtliche dazu gehoerigen Kommandos
  bis hin zum emote abzuklemmen (abklemmen zu lassen) fuer eine Weile.
  Oder ihn eine Weile blind zu machen, damit er niemand mehr zum Anmachen
  sieht :)
- Flueche verteilen
- kleinere bis mittlere Behinderungen (wie die Blindheit), wie z.B. das
  Verbot, bestimmte Waffen zu fuehren oder Stimmverlust. Schon ziemlich
  schweres Kaliber.
- Sonstiges, der Phantasie der Richter ueberlassenes, solange es nicht in den
  verbotenen Bereich geht
- Strafen, fuer die kein Magier zur Vollstreckung noetig ist, wie z.B.
  freiwillige Geldstrafe oder zu erfuellende Aufgabe (Bewaehrung :), sofort
  vollziehen

Was das Gericht muss:
- Verhaeltnismaessigkeit der Strafen beachten
- Jede Verhandlung vom Gerichtssschreiber mitprotokollieren lassen
- Jedes Ergebnis nach OK der Magier veroeffentlichen

Was das Gericht sollte:
- Dem Vergehen angepasste, kreative Strafen verhaengen

Was das Gericht nicht darf:
- "Todesstrafe"
- Level abziehen
- Stats abziehen
- koerperliche Verstuemmelung (Hand amputieren [das geht])
  schwerer Art

Was das Gericht nichts angeht:
- Playerkills/attacks (Offizialdelikt, Polizeisache :)

Was es aber auch darf:
ALLES VORSCHLAGEN, im Sinne von:
Beantragen, dass sich die Magier damit befassen, weil es ueber die Kompetenz
des Spielergerichts geht und/oder weil die Richter der Meinung sind, dass Er-
mahnungen von Spielern selber wohl nichts mehr nuetzen.

-------schnipp-----schnapp------Papier--------ab------:)

   Highlander

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



Zwei Gremien (Thorson, 25. Feb 1994, 13:16:54):
zur Diskussion ueber SpielerInnengremien und Volksgerichte:

zunaechst gefaellt mit Hates Konzept eines MG-Gremiums, ich werde
es fortan Parlament nennen, sehr gut.
Hier besteht endlich einmal die Moeglichkeit fuer SpielerInnen in
demokratischer Form einen Einfluss auf die Regierung des MorgenGrauens
auszuueben.

Doch hier beginnt schon ein kleines Problem: in wie weit fuehlen sich
Magier an Entscheidungen des Parlaments gebunden? Welche Macht hat ein
solches Parlament?

hate> Die Magier entscheiden dann ueber das weitere Vorgehen nach den
hate> ihnen gesetzten Regeln und geben dies dann dem Gremium bekannt.
hate> ... ist eine Moeglichkeit vorzusehen, einzelne Mitglieder, oder
hate> auch alle von ihrem Status zu entheben.

Waere dieses Parlament nur ein Parlament von Gottes Gnaden?
Ich denke in diesem Punkt muss noch weiterdiskutiert werden.
So waere es z.B. denkbar, dass eine Parlamentsentscheidung den Ausschlag
bei kontrovers diskutierten Themen der Magier-Konferenz geben koennte.
Ein solches Parlament koennte weiterhin Spielerwuensche zusammenfassen
und mit entsprechendem Nachdruck artikulieren, mit mehr Nachdruck als
es ein Einzelspieler koennte.
Kurzum: ich finde die Idee gut. Das Parlament sollte als ein Vermittlungs-
Kurzum: ich finde die Idee gut. Das Parlament sollte als ein Vermittlungs-
organ zwischen Spieler- und Magierinteressen eingefuehrt werden.

zum Volksgericht:
Das Gericht sollte sich, im Gegensatz zum Parlament, mit Problemen von
Spielerinnen und Spielern untereinander befassen, quasi als eine
gerechtere Form der Arena.

Ich denke, durch die unterschiedlichen Konzepte stehen beide Vorschlaege
keinesfalls im Widerspruch zueinander, sie sollten beide verwirklicht
werden. Da die fuer Idee vom Gericht bei der letzten Magierkonferenz keine
klare Mehrheit (Stimmengleichheit) gefunden werden konnte, soll es in den
naechsten Tagen eine Volksbefragung geben: Wollt Ihr ein Gericht?
Ich sage JA!

Gruss,
Thorson der Seher

P.S. bei der ganzen Diskussion um Parlament und Gericht sollte eines nicht
vergessen werden: Alles ist nur ein Spiel und soll Spass machen, auch wenn
Diskussionen kontrovers gefuehrt werden!


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



Entscheidungsbefugnis fuer Spieler. (Bobo, 25. Feb 1994, 15:17:41):
Mir ist von vornherein klar, dass ich mich hiermit auf Glatteis begebe; ich
will jedoch die Gratwanderung zwischen Engagement und Polemik
wagen und meine Meinung zu dem umstrittenen Thema aeussern:
Spieler haben bei allem Spass, und Ausnahmen immer eingeschlossen, vor allem
ein Interesse daran, Punkte zu sammeln, Quests zu loesen
und sich die dazu erforderliche Ausruestung zusammenzustellen. Das ist gut
so.
Der besondere Reiz des MUD liegt jedoch in dem sozialen Kontext, der sowohl
Spieler wie auch Magier umgibt, und der auch gewisse
Anforderungen an beide Grossgruppen stellt (das ist wohl ein generelles
Kennzeichen sozialer Gefuege).
Wenn diese Ausgangsbasis von mir richtig dargestellt wurde, dann ergeben sich
fuer mich zwei Szenarien:
Wuerden die Spieler Entscheidungsbefugnis in Bezug auf Belange der
Spielgestaltung erhalten, gewaennen ueber kurz oder lang
materialistische bzw. egoistische Motive die Oberhand. Das scheint auch immer
so zu sein, wie uns Politiker aller Couleur zeigen... :-(
Als Beispiel dafuer mag vielleicht die in regelmaessigen Abstaenden
auftauchende Frage nach Schliessfaechern herhalten. Solche und
aehnliche Forderungen finden keinem anderen Spiel der Welt ein Gremium, warum
also hier? (Vielleicht koennte ich ja Schach-Grossmeister
werden, wenn nur endlich diese bloede en-passant-Regel abgeschafft wuerde...
;)
Anders sieht es mit der Gestaltung der zwischenmenschlichen Beziehungen
innerhalb des MUDs aus.
Hier sehe ich durchaus die Moeglichkeit fuer Spieler, ihre soziale Kompetenz
zur Geltung zu bringen und Zwischenfaelle individuell zu
regeln; was ja bisher auch - andere haben es angesprochen - ganz gut
funktionierte.
Sollte darueberhinaus noch Handlungsbedarf bestehen, wird man von den meisten
Magiern einen gerechten Urteilsspruch erwarten koennen. Aber:
im Gegensatz zu den oben angesprochenen "spielerischen" Belangen sehe ich
jedoch an dieser Stelle keine den Spielern per se immanenten
Unzulaenglichkeiten, die ihnen eine klare Sicht auf die zu entscheidenden
Fragen verwehrten.
Sie koennen (und sollen meiner bescheidenen Meinung nach) ihre Phantasie an
dieser Stelle einbringen, und sie haben, mit Verlaub gesagt,
vielleicht auch etwas mehr Verstaendnis fuer die Lage der Kontrahenten als
die (in Einzelfaellen) etwas entrueckt erscheinenden Magier.
Was ich mir wuensche, sind weniger aufwendige Strafen (Strafe muss sein, ok -
aber nicht zur Befriedigung sadistischer Triebe der Richter,
sondern um der Gerechtigkeit willen), nein, vielmehr sollten die "Taeter"
ihren "Opfern" Entschaedigung leisten und die Chance bekommen,
die positiven Seiten zwischenmenschlicher Auseinandersetzungen (die
freundliche Komponente des Morgen-Grauens) wahrzunehmen... *smile*
Mir persoenlich erscheint es viel sinnvoller, Frieden zwischen zwei
kontraeren Positionen zu stiften, als die Konfrontation mit Hilfe
obskurer Praktiken anzuheizen. Danke fuers Zuhoeren, kommt gut uebers
Wochenende
This was BoBo speaking.

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



Gericht (Thorson, 25. Feb 1994, 15:37:57):
Ich moechte nochmal meine Idee von Gericht verdeutlichen: hier geht es nicht
darum, dass irgendwelche Richter sadistische Strafen verhaengen, sondern mehr
darum, dass _alle_ Spieler die Chance haben sich auf eine faire Art und Weise
mit einem unfairen Mitspieler auseinanderzusetzen. Die vom Gericht
ausgesprochenen Strafen sollten gerecht und der schwere der Tat angemessen
sein. Hierbei ist der kreative Faktor ziemlich wichtig: das ganze soll allen
Beteiligten: Klaegern, Angeklagten, Richtern un
und Zuschauern spass machen. Denn das ist es worum es hier ueberhaupt geht.

Viel Spass noch ;-)
Thorson

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



RE : Gericht ... (Durian, 28. Feb 1994, 10:35:43):
Hallo Leute,
ich bin nicht gegen ein Gericht, aber ich moechte Euch alle in Eurer
Begeisterung bitten eins nicht zu vergessen :
       MorgenGrauen ist ein SPIEL!!!
Und daher steht Spielspass im Vordergrund, und nicht unbedingt die unbedingte
Einhaltung jeder noch so kleinlichen Regel.
Bei der bisherigen Diskussion befuerchte ich, dass dieser Umstand uebersehen
wird. Ichhoffe ich irre mich.
Dennoch bin ich fuer ein solches Gremiun, wenn es dem Spielspass keinen
Abbruch
tut. Ich spreche aus Erfahrung, wenn ich sage, dass gewisse Machtbefugnisse
auch in einem MUD einem ganz schoen zu Kopf steigen koennen.
Ich denke, Ihr versteht mich!

- Durian

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



meine Meinung (Georgesand, 28. Feb 1994, 11:26:19):
 Ich finde die Idee, ein Gremium o. ae. zu gruenden, sehr gut.
Schliesslich ist dieses Mud nicht nur ein Spiel, sondern auch eine
kommunikative Plattform, in der wir uns unterhalten und zusammen was
unternehmen.
Daher ist es sinnvoll, sich ab und an mal zusammenzusetzen, um anfallende
[199zIdeen, Probleme etc. zu diskutieren.
Ich befuerworte ein solches Gremium, einen solchen "runden Tisch".
Und ich bin auch gern bereit, daran teilzunehmen. Georgesand.

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



"toete alle" (Kirk,  1. Mar 1994, 03:31:56):
Hi!

Fuer den gesteigerten Spielspass gibt es jetzt exclusiv das Kommando
'toete alle'. Dabei bezieht sich das 'alle' auf ALLE anwesenden NPCs
im selben Raum. Spieler werden damit nicht angegriffen.
Probieren kann der geneigte Mudder beim Zwergenkoenig und seinen
beiden Waechtern... (Ein kurzer Spass ;))

KIrk

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



typo in "hilfe zauberei" (Yendi,  9. Mar 1994, 12:55:54):
Sollte die Abenteurergilde nicht zusammengeschrieben werden?
Oder wenigstens als "Abenteurer-Gilde"?
Im uebrigen scheint es keine Erwaehnung von Zauberei im Anfaengerhandbuch zu
geben (ohne Gewehr, weil indirekt erfahren).

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



"teile . mit <zeugs>" (Yendi,  8. Apr 1994, 12:01:58):
Ja was denn nu?
Kommt dieser Wiederholungspunkt noch, oder nicht?
Die Idee hoerte sich doch gut an, und SO schwer zu implementieren duerfte sie
doch auch nicht sein, oder?

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



Fehler bei "wirf weg" (Yendi, 15. Apr 1994, 12:38:59):
" Asmodis laesst ein Ein Paar Lederhandschuhe fallen."
"Der Elfenwaechter nimmt ein Ein Paar Lederstiefel."

Hmmm...
Scheint wohl doch eher an den Objekten zu liegen.
Also: Offensichtlich sind kleine bugs in den Dunkelelfenstiefeln
beziehungswaise -handschuhen.


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



Re: Fehler bei "wirf weg" (Asmodis, 15. Apr 1994, 15:44:55):

AEHEM, das war kein Fehler, ich hatte vorher die Stiefel fallenlassen.

                                 Asmodis

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



Neuerungen in der mpa (Loco, 18. Apr 1994, 01:21:08):
Im Lauf des Abends entstand eine neue Version der mpa (Zeitung). Ich bitte
erstmal um Verstaendnis fuer alle zeitweise aufgetretenen bugs und hoffe,
dass es jetzt laeuft...

Was ist also neu?

Abgesehen von Kleinigkeiten ist in erster Linie die Moeglichkeit neu,
Rubriken abzubestellen (unsubscribe nennt z.B. der tin das). In der
Rubrikenliste erscheinen auch abbestellte Rubriken noch, aber wenn
man ueber 'nn' sich durch die news wuehlt, werden diese Rubriken ueber-
gangen.
Nicht jeder interessiert sich fuer die Clubnachrichten des Wolpertinger-
Fanclubs... (sorry, nix gegen Wolpertinger, sollte nur ein Beispiel sein).

Neue Funktionen:

bestelle <rubrik> ab          oder
unsubscribe <rubrik>

abonniere <rubrik>            oder
subscribe <rubrik>

verlege artikel <nr> nach <rubrik>
Damit kann man einen (eigenen) Artikel in eine andere Rubrik
verlegen, z.B. wenn man festgestellt hat, dass es doch die
falsche war, wo man eben reingeschrieben hat.


Um an eine neue Version zu kommen, kann es noetig sein, einmal aus- und
wieder einzuloggen. Gewarnt wird vor Exemplaren von Sonntag abend zwischen 20
und 1 Uhr.

Morgengrauens Presseagentur, Technische Leitung
  - Loco -

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



Re: Re: Fehler bei "wirf weg" (Yendi, 19. Apr 1994, 15:39:51):
Asmodis,
falls Du meinen Artikel gelesen haben solltest, dann muesste Dir klar sein,
dass sich die Fehlermeldung nicht auf das Stiefelaufheben der Elfenwache
bezog, sondern um die Doppelmoppelung der Artikel, also "ein Ein".
Die Zitate sind nur als Nachweis und Beispiel gedacht.

So nebenbei: Wurde der Fehler mittlerweile behoben? Ich habe nicht vor, mich
mit Dunkelelfen zu kloppen, nur um mir ihre Stiefel und Handschuhe mal
anzuschauen... ;)

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



Post (Klinge, 25. Apr 1994, 01:52:34):
Ich moechte hiermit anregen das aus der "POST"-Quest das suchen
von stufen wie abenteurer oder druide oder so herausgenommen wird, da sonst
die quest nachts fast unspielbar ist.
Ansonsten finde ich die spielidee gut.

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



POST (Hardil, 25. Apr 1994, 11:24:34):
Ich weiss nicht, ob jeder die selben Briefe bekommt, aber ich moechte den
Charakter auf Level 5 sehen, der sich bis zum Sensenmann durchschlagen kann...
Sonst ist die Quest ganz nett.

Hardil

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



Eine Bank im MG? (Olim,  5. Mai 1994, 01:55:51):
Werte Leser(innen),

nach ca. 5  Tagen online moechte auch ich mud-frischling mal hier
einen vorschlag posten...

Was halten andere MorgenGrau'ler von einer Bank in diesem unserem
Lande?   Ein  Geldinstitut  koennte  vielen  Recken  das  Spielen
erleichtern. Zum einen  muesste man nicht immer seinen (schweren)
Schatz an Muenzen mit sich rumschleppen  (wie sieht das auch aus:
ein Elf/Mensch/Zwerg mit 20K Muenzen im Beutel!!! ).  Zum anderen
koennte eine Bank vielerlei andere monetaere Zwecke erfuellen, so
z.B. die Ueberweisung von  Geld an andere (auch netztote) Spieler
(verheiratete  Spieler  wollen vielleicht  ein Ehekonto  fuehren)
oder der Vergabe von Krediten  (Zinsen und gemeine Geldeintreiber
inklusive).  Auch waere die  Bank ein moeglicher  Aufhaenger fuer
Quests.  Stilmaessig  wuerde  eine  (einfache)  Bank  doch in den
Rahmen des Morgengrauen passen, schliesslich gibt es sie seit dem
Mittelalter!  Auch in  vielen  Fantasyromanen/spielen  existieren
Banken. In Port Vain (einer Hafen = Handelsstadt) wuerde sich ein
solches  Institut bestimmt  gut machen!  (nebenbei: kann man denn
ueberhaupt DEN Morgengrauenstil definieren?)

Natuerlich ist Geld gerade fuer viele erfahrene Spieler eher eine
Nebensache in MG  (toete eine(n) <Monster setz ein>  und nimm dir
<oberwumme>) und sollte dies  wohl auch bleiben (man hat in real-
life  schon genug  probleme  mit dem zeug  *schau verzweifelt auf
telefonrechnung*) jedoch  waere "electronic  banking" ja auch nur
eine  Serviceleistung  unter  schon  vielerlei lange  etablierten
Einrichtungen  (Kneipen, Post, Zeitung, Schmied etc.)  und haette
in einem solchen Verbund doch durchaus seine Daseinsberechtigung!

Klar, dass so ein Vorhaben ein Haufen Probs und Trouble mit sich
bringt: a) wie sieht es Platzmaessig in MG aus ? b)  welcher wiz
erbarmt sich und  hat sowohl Lust als  auch etwas Zeit ? c) ganz
wichtig:  was halten  andere  spieler/magier  von der (zugegeben
nicht ganz neuen) idee?

Ich hoffe auf einige Vorschlaege, Meinungen und Ideen und auf
moeglichst wenig Schimpf, Schande und Verwuenschungen... ;)

Bis denne:

Euer Olim!


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



Re: Eine Bank im MG? (Vasco,  5. Mai 1994, 12:25:54):
Hallo...
Ich halte die Idee fuer ganz gut. Problem was sich dabei doch aber stellt ist
d




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



Bitte nicht.... (Catweazle,  5. Mai 1994, 14:47:48):
Nein, nicht das schon wieder... Es ist richtig interessant, welche
Themen sich alle halbe Jahre widerholen.
Also ueber Banken haben wir mit Sicherheit schon mal frueher nachge-
dacht und wir haben sie glaub ich abgelehnt, fragt mich nicht mehr
wieso. Zum einen waere das ziemlich bei anderen MUDs abgekupfert
(wir haben auch schon ueber vergraben nachgedacht). Ausserdem ist es
auch fuer niederlevelige Spieler sehr einfach an Geld zu kommen -
wenn ihr nicht wisst wie, fragt rum. Fuer hoeherlevelige Spieler
stellt das Geldbeschaffen doch bestimmt ueberhaupt kein Problem,
oder?
Also, wenn ihr unbedingt wollt rollen wir Diskussion mal wieder
auf, aber ich zumindest fuer meinen Teil bin dagegen.
YOurs truly,
                 Catweazle

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



Baken sind definitiv NICHT erlaubt (Troy,  5. Mai 1994, 14:53:04):
(sollte Banken heissen :)
Ich habe vor etwa einem halben Jahr dieses Thema auch angeschnitten. Aus
folgenden Gruenden sind Banken im MG: nicht erlaubt:
1. Eine Bank fuehrt zu einer unkontrollierten Geldvermehrung und damit zur
   Inflation. (Geld wiegt einiges, und wenn mans in der Bank ablegen kann,
   dann wiegts nix mehr).
2. Angenommen, es wird ein Objekt eingefuehrt (hier: Sparbuch), das GENAUSO-
   VIEL wiegt, wie das eingezahlte Geld: Das waere im Prinzip moeglich,
jedoch
   fehlt der Zusammenhang, wieso ein Sparbuch soviel wiegen sollte.

 Kurz: Die Bank war schon fertig, aber Jof und Rumata sind grundsaetzlich
 DAGEGEN. Und ohne ihr Einverstaendnis wird nix draus.

  Mfg, Troy. (hat aus der Bank ne Reederei gemacht -
               zu besichtigen in Moulokin)

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



Mentale Ebenen jetzt verfuegbar! (Hate,  5. Mai 1994, 15:23:09):
Bekanntmachung:

Ab sofort sind verschiedene mentale Ebenen verfuegbar. Diese Ebenen sind
jeweils verschiedenen Themengruppen zugeordnet.

Angesprochen werden koennen sie mit '-'. Dazu sollte man sich mal mit
hilfe kanaele die Hilfeseite ansehen.

Als <ebene> ist im folgenden der Buchstabe, welcher eine Ebene kennzeichnet
gemeint (z.b. bei Allgemein das 'a'). Ausserdem ist es moeglich mehr als
eine Ebene anzugeben. Die nach dem fuehrenden '-' angegebenen Befehle koennen
auch wiederholt eingesetzt werden (z.b. -+a-e wuerde die Ebene Allgemein 
einschalten und Elf ausschalten).

-!!         Alle verfuegbaren Ebenen anzeigen (Info's gleich mit)
            Der Kommandobuchstabe der Ebene ist als Grossbuchstabe dargestellt.
-!          Alle Ebenen anzeigen, denen man zuhoert.
-+!         Alle Ebenen einschalten.
--!         Alle Ebenen ausschalten.
-+<ebene>   Einschalten der Ebene <ebene>
--<ebene>   Ausschalten der Ebene <ebene>
-?<ebene>   Alle Hoerer der Ebene <ebene> anzeigen>
-%          Alle Ebenen denen man gerade zuhoert abschalten bzw umgekehrt alle
            vorher mit diesem Befehl abgeschalteten Ebene wieder einschalten.

Um etwas auf einer Ebene zu sagen gibt es mehrere Moeglichkeiten:
-<ebene>'<text>
-<ebene> <text>   Text <text> an Ebene <ebene> senden.

-<ebene>:<text>   Text <text> als emote an Ebene <ebene> senden.
-<ebene>;<text>   Text <text> als Genitiv emote an Ebene <ebene> senden.

Mit -~<ebene> kann man eine Standardebene angeben, welche genommen wird, falls
man bei den vorher beschriebenen Befehlen <ebene> weglaesst.
~e
Hate.

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



Rassenebenen (Yendi,  5. Mai 1994, 16:39:23):
Sollten die Rassenebenen nicht auch reserviert sein fuer die jeweiligen
Rassen?

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



Re: Rassenebenen (Pilgrim,  5. Mai 1994, 21:17:29):
Hi,

bin mit Yendi einer Meinug: Spieler der Rasse X sollten auch nur
den RassenKanal X benutzen koennen.
Wo laege denn sonst der Sinn eines solchen Kanals? - Eigentlich
muesste es ja GildenKanael anstatt RassenKanaele geben, aber ...
ohne Gilden etwas sinnlos....


Pilgrim

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



Skills (Yendi,  4. Jul 1994, 12:24:31):
Moegliche skills (auch aus Kerovnia abgeguckt):

"repair <weapon>" und "sharpen <weapon>"
     Selbsterklaerend, geht latuernich nur, wenn die Waffen auch ab und
     zu kapput gehen oder stumpf werden

"enchant <weapon>"
     Macht eine Waffe maechtiger und gleichzeitig immun gegen Zerbrechen und
     Abstumpfen. Dies ist ein Magierspruch

"blindness"
     Dieser Spruch blendet ein oder mehrere Monster, so dass sie seltener
     treffen.

"insult"
     Ein spezieller jester skill, wirkt wie "blindness". Ganz witzig, man
     koennte ja bei Anwendung dieser Faehigkeit einen Spottspruch
    zufaellig aus einer Liste auswaehlen... :)

"barehanded"
    Ein Monk skill, der es einem erlaubt, mit blossen Haenden recht heftig
    Schaden anzurichten...

Und dann gibt's noch diverse "light" spells und "detect <good|evil>" spells,
und latuernich einen skill fuer jede Waffengattung, ausserdem noch "dodge",
das hilft bei Kaempfen ein kleines bisschen...


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



Ideen zu einem Gilden-System (Quasimodo, 11. Jul 1994, 12:28:31):
Tach!

Da das diskutierte (und geplante?) Gildensystem bislang nur in der Rubrik
Seher.entwicklung diskutiert wurde, dachte ich mir diesen Artikel doch besser
hierhin zu schreiben.

Yendi und ich haben uns mal ne Stunde zusammengesetzt und Ideen zu einem
Gilden-System zusammengetragen.

1.)Krieger-Gilde: Waffen schaerfen, W. reparieren und Kampfrauch (besseres
kaempfen, aber ohne Vorsicht), Als zusaetzlicher Spielwitz vielleicht 1,2
Stunden Knappendienst bei einem anderem Krieger, bevor am aufgenommen wird.

Moenche: Waffenloser Kampf, keine Ruestung, duerfen nicht heiraten,
verbilligten Schnell-Spruch, duerfen keine Leichen essen.


Priester: Koennen heilen (nicht sich selbst), Flueche/Krankheiten entfernen,
segnen, In der Kapelle Leute trauen, duerfen nicht heiraten, duerfen keine
Leichen essen und muessen jede Stunde beten.

Paladin: Koennen Heilen (nicht so gut wie Priester), duerfen kein Duell
ablehnen, das von einem niedriger stuefigen gefordert wurde (nicht
zwangslaeufig auf Leben und Tod). Knappendienst, Waffen schaerfen/reparieren,
duerfen keine Wesen mit gleichem Alignment toeten, duerfen nicht Heiraten,
keine Leichen essen und alle 2 Stunden beten.

Barde: Hat immer ein selbst-kreiertes Musikinstrument bei sich, halbe Preise
in der Kneipe, solange er sing;

Dieb: Schleichen (keine angriffe von aggressiven Monstern, beklauen von PC
oder NPC. Wird ein Dieb erwischt, so ist er solange eingesperrt, bis ihm
entweder der Beklaute, oder aber ein Priester ihm verzeiht.

Narr: Darf nur schwache Ruestungen tragen, kann im Kampf schimpfen
(zufaellige Flueche aus einer selbst zu kreierenden Liste), so dass die Gegner
schlechter treffen, hat immer eine Narrenkappe oder ein aehnlichen
selbsterschaffen Gegenstand bei sich.

Magier: Pfeil, Feuerball, Identifiziere, schaetz (sollten die anderen auch
koennen), magische Waffe (erzeugt eine nicht reale Waffen fuer 10min, oder
so), magische Ruestung (dito), Waffenaura (verbessert die Kampfkraft einer
normalen Waffe), darf keine normale Ruestung tragen, Lichtspruch und den
Zauberspruch Gegenstaende aufloesen, Lichtblitz (blendet kurzzeitig Gegner)

Illusionist: Listspruch, kann nutzlose, kurzlebiege Gegenstaende erschaffen,
kann sich unsichtbar machen, benutz emotes ohne Pfeil (">") davor

Asket: darf nichts essen oder trinken, hatte immer Kutte und Stab bei sich,
darf sonst keine Kleidung oder Waffen tragen, darf keine Leichen essen,
behaelt sein Geld nicht beim Ausloggen, er verliert beim Sterben nur ein
sechstel der Erfahrungspunkte, beherrscht den Spruch Waffenaura und magische
Ruestung, kann segnen und ist immun gegen Krankheiten.


Anmmerkung: Muessig zu sagen, dass dies nur eine Ideensammlung ist und nicht
mehr. ALLE Eigenschaften sind als Faehigkeiten aufzufassen, die gut, schlecht
oder gar nicht klappen koennen.

Hoffentlich bringt es was,
    Quasimodo


P.S.: Aehnlichkeiten mit dem Skillsystem in Kerovnia sind weder absichtlich
noch zufaellig, sondern unausweichlich. :)

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



Re: Ideen zu einem Gilden-System (Nixihou, 11. Jul 1994, 16:45:09):
generell finde ich die ideen alle SUPERGENIAL
aber , wie es immer ein aber gibt muesstet ihr bei den moeglichkeinten nicht
eure saemtlichen monster anpassen?
zu staerkeren monstern, die man zur zeit noch alleine schafft kann sich doch
nur noch ein krieger trauen. und ein magier ist, wenn er sich an einen
starken gegner wagt danach zu nichts mehr zu gebrauchen.
auch bei dem dieb sehe ich noch probleme. wenn er zb. dem sensenmann die
sense und den umhang stielt wie bekommt er erfahrungspunkte?
unt kann er von nsc's erwischt werden?
auch die vorteile des asketen sind mir noch nicht klar genug.
die sache mit den selbst-definierten gegenstaenden ist klasse.
auch der moench gefaellt mir gut. sollte er nicht in der lage sein,
illusionen zu durchschauen?

eine weitere frage: wie sieht es mit doppelcharakteren aus? sind die generell
unmoeglich oder erlaubt, aber schwer erreichbar? ( ich denke hier an
moench-magier oder dieb-illusionist)

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



RE: Gilden-Ideen (Anthea, 12. Jul 1994, 12:02:56):
Die Ideen zu den Gilden finde ich erst einmal sehr gut. Aber wer von
Euch tritt denn so stark fuer das Zoelibat ein? Ich mein halt, evangelische
Pfarrer (statt Priester) duerfen ja heiraten. Naja, das waere ja eher eine
Sache, die man dem Asket noch aufdruecken koennte ;)

     Anthea

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



noch was zu ZT's (Nixihou, 25. Jul 1994, 14:44:12):
Und noch einmal gebe ich meinen Senf zum Thema Zaubertraenke ab:

Also zum einen es gibt Listen und es wird sie immer geben.
Das ist nun mal so und wird sich wohl auch nicht aendern.
Und schon garnicht, wenn das weiterhin so streng mit den
Zaubertraenken gehandhabt wird wie bissher.
Da finde ich doch den Vorschlag von Nexttry mit der
Wahrsagerin oder einem Tippverkaeufer(Hehler) schon ganz gut.
Er ist es zumindest wert, ueberdacht zu werden und nicht
gleich von fast allen Magiern abgeschmettert zu werden.

Was waere denn so schlimm an so einem System?
(mal abgesehen davon, dass es einer programmieren muesste?)
Gut, ein Gegenargument ist, dass es fuer hochstufige Charaktere
kein groesses Problem ist an das entsprechende Geld zu kommen
ist berechtigt.
Aber wer sagt denn, dass der Tippverkaeufer nur Geld haben will?
Ich koennte mir zum Beispiel sehr gut vorstellen, dass es da
ein System von Gegenstaenden und oder Aufgaben je nach
Schwierigkeit des Trankes geben koennte.(oder auch fuer die
Genauigkeit des Tipps)
moegliche Gegenstaende waeren zum Beispiel :
Sense, Blutsauger-Schwert, schwarzes Saegeschwert, Steinbeisser-
amulett, Eispanzer, Goblinhelm, Goblinring, usw.
(ganz nett sind auch haegars helm oder johannas umhang)
Aufgaben sollten so im Stiele des Hexentrankes sein.
Besorge dies und das aus dieser oder jener Ecke des morgen-
grauens. zB. Blumen von der Feuerinsel, ein vermodertes Blatt,
ein Rezept und eine glaskugel oder so.

Man koennte sich so auch ueberlegen, ob die Tipps nicht
um so genauer werden sollten, je seltener ein Trank gefunden
wird. (ein Trank, den schon seid 4-5 Monaten keiner mehr
gefunden hat,... nun ja vielleicht ein bisschen zu gut versteckt)

Ein weiteres Gegenargument war der Spielspass.
Es heisst er wuerde gemindert durch ein solches System.
Nun dazu moechte ich doch erst ein mal die Meinungen der Spieler
hoehren. Denn vielleicht hat sich die Meinung im Bezug auf den
Spielspass im Morgengrauen ja geandert. Ich meine schliesslich
Spielen meisstens ja doch eben die Spieler und nicht die Magier.
(Auch wenn sie evtl. in vielen anderen muds als Spieler aktiv sind.
und auf keinen Fall moechte ich hier eine Art Demokratie einfuehren,
wo kaehmen wir da hin?)

Meiner meinung vermindert sich der Spielspass in keinster Weise durch
ein solches oder aehnliches Tippgebersystem. Es kann ja von den Magiern
noch durch ein paar Gemeinheiten verfeinert werden.
Im Gegenteil ich meine, dass sich dadurch der Spielspass erheblich
erhoeht. (gerade wenn sich ein paar Magier etwas einfallen lassen)

Ein weiterer Effekt koennte sein, dass die Listen, die eh schon zu hauf
kursieren ueberfluessig werden, bzw nicht mehr weitergegeben werden.
(oder nur noch in abgespeckter Version fuer die blutigen Anfaeger)
Denn mann koennte ja sagen: geh zum/zur Tippgeber/Wahrsagerin usw.
Aber das muesste sich wohl erweisen ob das so seien wird.

Ich hoffe auf moeglichst viele Meinungen dazu.
Und moege die evtl. aufkommende Disskussion einige Magier nicht
allzusehr langweilen oder belaestigen.

Euer Nixihou.


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



Re: noch was zu ZT's (Hate, 25. Jul 1994, 14:50:27):
Die Annahme, durch ein solches System wuerde sich das Listenverhalten
aendern, sehe ich als eine Fehleinschaetzung der Lage. Im Gegenteil, es
wuerden genauso Listen existieren und sie wuerden nur noch schneller
perfektioniert werden.
Da ich aus Erfahrungsgruenden davon ausgehen muss, dass sich mindestens
80% der Spieler das Leben und spielen so einfach wie moeglich machen
wollen, sehe ich keinen Grund dieser wiederholten, sinnlosen Forderung
nach solcherart Hilfestellung nachzugehen.
Ausserdem duerfte es viel interessanter sein einen Trank an einer Stelle
zu finden, wo man ihn gar nicht vermutet, als wenn einem gesagt wird dort
koennte es einen geben.

Hate.

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



Re: Re: noch was zu ZT's (Nixihou, 25. Jul 1994, 15:21:15):
mag sein, dass die listen nur perfekter werden. will ich nicht leugnen.
> sehe ich keinen Grund dieser wiederholten, sinnlosen Forderung
> nach solcherart Hilfestellung nachzugehen
nun ja spricht irgendwie fuer sich, nicht? (finde ich etwas zu pauschal)
zu deinem letzten punkt:
1. ob dass interessanter ist weiss ich nicht. ist eher ueberraschend.
2. so wass faellt doch auch gar nicht weg. Denn so ein Tippgeber ist ja
   nur fuer die letzten 10-20 traenke gedacht. daher auch die "schwierigen"
   gegenstaende.(ein Blutsauger-schwert bekommt mann nicht, ohne vorher
   schon einigermassen gute stats zu haben)
3. Die Tipps sollen ja nicht so hypergenau sein. nur so ungefaehr die Gegend
   angeben. zB. ...wald als Gegend und suche im wasser als kleiner hinweis
   fuer zwei wirklich einfache traenke.
   oder nur die gegend wuerde auch reichen. nur wie gesagt bei traenken die
   noch nie bzw seid einem halben jahr nicht mehr gefunden worden sind
   stimmt doch was nicht.

Nixihou

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



'inform' und 'erwarte' (Jof, 25. Jul 1994, 18:45:01):
 Der Befehl 'inform' erlaubt es einem jetzt, sich kommende und gehende
Mud-Teil-
nehmer anzeigen zu lassen.
 Mit dem 'erwarte'-Befehl (erwarte jof) kann man sich die Ankunft eines
bestimmten Teilnehmers anzeigen lassen.

 Jof

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



Re: ZT-Wahrsager (Quasimodo, 26. Jul 1994, 14:55:05):
Hi, auch!

Die Idee einen ZT-Wahrsager einzurichten finde ich ganz ausgezeichnet,
solange die Tips nicht zu genau sind. Zwar hat Hate recht, wenn er sagt, dass
die vorhandenen Listen dann immer schneller immer perfekter werden, aber ich
stimme ihm nicht zu, dass sich 80% der Spieler das Leben so leicht wie
moeglich machen wollen. Vielmehr sehe ich die Sache so, das 80% der Spieler so
viel Spass wie moeglich beim Spielen haben wollen und den bekommen sie
bestimmt nicht dardurch, dass sie das MUD nach Listen durchkaemmen. Das waere
ja wie Mensch-Aergere-Dich-Nicht gegen sich selbst mit mogeln. Aber wenn ein
Spieler feststellt, dass er die noch zu loesenden Aufgaben nicht ohne eine
weitere Verbesserung seiner Eigenschaften loesen kann, dann wird er wohl oder
uebel die Gegend nur zu dem Zweck durchsuchen muessen, um ZT zu finden. Und da
man sich die meisten Gegenden ohnehin schon angeschaut hat, ist das ein
aeussertst nerviges Unterfangen. Die Folge: Der/Die SpielerIn greift zur
ZT-Liste.

Wenn jetzt aber ein Wahrsager existiert, der die Gegend, die man durchsuchen
muss nenneswert einschraenkt, dann entscheiden sich bestimmt Spieler des
Spielspasses wegen auch dafuer selber zu suchen.

Meine Meinung,
Quasimodo

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



Re: Re: ZT-Wahrsager (Hate, 26. Jul 1994, 20:19:58):
Zum Argument, staendig die gleichen Gegenden zu durchsuchen...vielleicht
solltet ihr mal Eure Mitspieler fragen? Ich sage dazu nur Kommunikation,
denn die meisten ZTs sind in bekannten Gebieten schon gefunden worden
soweit ich das aus den kursierenden Listen ersehe!

Hate.
P.S.: Leider sind diese 80% ein Erfahrungswert! Waere schoen, wenns anders
      waere!

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



Re:Re:Re: ZT-Wahrsager (Cifer, 28. Jul 1994, 10:12:20):
Hi,
ich finde zwar die Idee einer geheimnissvollen Wahrsagerin als NPC gut, denn
in einer
Fantasy-Welt gibt es immer so was in der Art, aber wie saehe das denn
letztlich
eigentlich auf ZTs bezogen aus?
Sie wuerde vielleicht folgendes sagen:
Dir fehlt noch ein ZT in Port Vain, einer auf der Hochebene, 2 auf der
Sonneninsel, einer in der Schreckensspitze, einer im Wald, einer
im Polargebiet, und und und...
Das wuerde die Gebiete, die ein Spieler zu durchsuchen hat, natuerlich
dramatisch einschraenken, oder?
Oder sollte eine Wahrsagerin vielleicht sagen: Schau unter dem grossen Stein
nahe der Holzhuette im Wald mit den vielen Baeumen,
und wenn Du die Syntax nicht gleich rauskriegst, kannst Du mich ja nochmal
fragen?

Cifer

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



Re: Re:Re:Re: ZT-Wahrsager (Nixihou, 28. Jul 1994, 17:55:28):
Hi cifer,
du hast geschrieben:
>Sie wuerde vielleicht folgendes sagen:
>Dir fehlt noch ein ZT in Port Vain, einer auf der Hochebene, 2 auf der
>Sonneninsel, einer in der Schreckensspitze, einer im Wald, einer
>im Polargebiet, und und und...
>Das wuerde die Gebiete, die ein Spieler zu durchsuchen hat, natuerlich
>dramatisch einschraenken, oder?
>Oder sollte eine Wahrsagerin vielleicht sagen: Schau unter dem grossen Stein
>nahe der Holzhuette im Wald mit den vielen Baeumen,

nein, so hatte ich es mir nicht vorgestellt.
zum einen immer schoen einen trank nach dem anderen und jede einzelne
weissagung mus gesondert bezahlt werden. (mit entsprechenden gegenstaenden)
eine weissagung fuer einen trank auf der hochebene koennte sein:
"ich sehe eine weite ebene, auf der viele kleine tiere leben.
du suchst dort die verschiedensten orte auf, scheinst aber nicht sehr
zufrieden
mit dir zu sein. erst wenn du dich .... (hier ein kleiner tip in die
richtige richtung  zB. den verschiedenen pflanzen, den harten steinen,
den tieren oder gen westen,norden sueden ...)
zuwendest wirst du dein glueck machen." oder auch ganz ohne zusaetzlichtn tip
"...einleitender sermon... ich sehe wie du auf einer weiten ebene im hochland
nach geleisteter arbeit zufrieden die schmetterlinge beobachtest..."

und ehrlich gesagt das suchgebiet port vain oder die schreckensspitze finde
ich nicht gerade sehr klein, in anbetracht der vielen sachen die es da
zu untersuchen gibt. und auch die suchgebiete grimmswald, glockenwald oder
hexenwald finde ich nicht gerade klein.

an sowas in dieser art hatte ich gedacht.
die genaue syntax ist natuerlich unsinn.
(obwohl, wenn es nach laengerem suchen wirklich nur noch an der richtigen
syntax liegt... aber das duerfte kaum zu programmieren seinen und es gibt ja
auch
noch andere spieler die man dann fragen kann)

Nixi


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



Re: Ideen zu einem Gilden-System (Morgoth,  2. Aug 1994, 10:06:26):
Das hoert sich SEEEEEEHHHHHR gut an....
Es waere super wenn das so klappen wuerde.
Vielleicht noch sowas wie ein RANGER : Bogenschiessen, waldkunde, tiere
anfreunden....
also nochmal... SUPER ideeeeee
Morgoth
q

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



ACHTUNG! (Hate,  4. Aug 1994, 00:07:37):
Demnaechst! Also falls ein Reboot kommt fuer Spieler und sonst auch
sofort fuer Magier ist folgendes zu beachten:

Es werden Mitteilungen abgespeichert wenn man editiert oder etwas liesst.
Damit man diese Mitteilungen auch liesst, habe ich ein Kommando: kobold
eingebaut, welche alle Mitteilungen auflistet. Das funktioniert nur,
wenn auch wirklich welche gespeichert wurden. Also bitte nicht wundern,
wenn jemand Mitteilungen nicht liesst, sondern bitte auf das Kommando
kobold aufmerksam machen...Ich bemuehe mich eine Automatisierung dessen
zu erreichen, aber solange das nicht ist muss eben per Hand angezeigt werden.
Danke.
Hate.

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



eine frage und idee (Nixihou, 15. Aug 1994, 13:56:27):
also ab und zu geschieht es, es ist recht selten, dass ein monster flieht. in
diesem fall kann man beobachten, dass man eben dieses monster nun jagt.
man hoert auf ein solches monster zu jagen, wenn man stop eingibt. meine
frage und mein vorschlag ist nun: ist es moeglich ein monster von vorneherein
zu jagen?
also immer wenn man auf ein solches monster trifft es automatisch
anzugreifen, wenn man irgendwann vorher einen befehl wie zB jage goblin
eingegeben hat.
(ein solcher befehl sollte sich auch wiederrufen lassen )
also gibt es so einen befehl oder wird es ihn geben oder ist das alles
unsinn?

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



Re: eine Frage und Idee (Rumata, 15. Aug 1994, 17:53:04):
Hi,
Jagen und gejagt werden kommt nur dann vor, wenn einer der zwei Kaempfer
flieht. Der Fluechtende ist der gejagte und der andere ist der Jaeger
(oder die Jaegerin :-)

Das Kommando "jagen" wuerde nicht zu diesem Konzept passen.

Rumata

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



mpa (Catweazle, 22. Aug 1994, 10:46:28):
[Verlegt von allgemeines, Klinge, 16. Aug 1994, 13:23:08]:
entwicklung ist leider voll.
waere es moeglich und/oder sinnvoll eine funktion in die mpa eizubauen mit
der man sich die artikel eines bestimmten autors und/oder eines bestimmten
tages raussuchen und anzeigen lassen koennte ?

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



Rassenspezifische Eigenschaften (Rochus, 13. Sep 1994, 14:43:32):
Wie einige von Euch sicher schon bemerkt haben wurde nun endlich
damit begonnen, die verschiedenen Rassen hier (bisher Mensch, Zwerg, Elf)
etwas unterschiedlicher zu machen.
Wer sich jetzt seine Stats (Intelligenz, Geschicklichkeit, Kraft, Ausdauer)
anzeigen laesst wird feststellen, dass bei einigen davon eine weitere
Angabe steht, die dazu addiert wird. (Wird erst nach "ende" aktiv,
falls es das noch nicht ist).
Es wird bei allen Rassen gleich viel addiert - nur unterschiedlich
verteilt. Elfen sind jetzt z.B. intelligenter, Zwerge dafuer kraeftiger.


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



untersuche (Chicola, 11. Okt 1994, 22:38:13):
Hallo :)
Wie waers mit nem Zauberspruch UNTERSUCHE ( oder sowas aehnliches )?
Kosten e.c.t koennen ja noch debatiert werden ! Und herrauskommen sollte
die bisherige vollstaendige Inventoryangabe des Spielers
Ueber eventuelle "Abwehrsprueche" koennte man ja auch nachdenken!
Soweit mein Senf hierzu !
Bis denne                   Chicola

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



fern (Grimmborn, 16. Okt 1994, 07:28:43):

Wie waers mit einem allgemeinen Befehl der bewirkt:

spieler <text> aus der Ferne.

Missbrauch ist ziemlich ausgeschlossen, das Programmieren kann nicht so
schwer sein (hoffe ich) und der Nutzen (im Sinne von Spielspass) waere enorm

Einfach einen Vorschlag gemacht habend,
                                        Grimmborn der Atheist

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



Re: Re: Re: SATT! (Exodus, 18. Okt 1994, 14:37:07):
(Bezug: Artikel von Exodus, Die, 18. Okt 1994, 14:34:27)
ARGL!
Ich glaub ich hab kein Talent zum News tippen. Loescht den Muell besser ;)
(Mein Artikel ging um autoloadende Blutsaugerschwerter, monstroese
Stadtwachen, etc
Mich nerven die Diskussionen langsam (nach etwa 20 10seitigen Artikeln :)
hm... koennte man nich ne mpa-Funktion eingeben, mit der man bestimmte
Subjects uebergehen kann?
Thanx, X. (Sorry, war etwas genervt)

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



"nimm alle <gegenstaende>" (Yendi, 18. Okt 1994, 18:15:22):

Waere es sehr viel Aufwand, einzufuehren, dass man "alle" Kissen nehmen oder
"alle" Fackeln wegwerfen koennte, sprich: Waere es moeglich, bei ALLEN Verben
die Praepos... aeh... na, jedenfalls ein "alle" zuzulassen?


(Was IST "alle" eigentlich grammatikalisch? Germanisten vor!)





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



Re: "nimm alle <gegenstaende>" (Aranya, 19. Okt 1994, 12:53:37):
Zur Klammer. Ist ein Zahlwort, wenn mich nicht alles taeuscht.

Aranya - ist keine Germanistin, aber Geisteswissenschaftlerin

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



staedtenamen (Smaug, 20. Okt 1994, 11:30:11):

tja, ich habe ja so einen artikel schon vor einiger zeit geschrieben
aber kein magier hat sich geruehrt (es gab nur ein paar zustimmungen ! von
spielern)

also: wann bekommen die oesterreicher im mg endlich staedtenamen
???????????????????????????????????????????????????????????????????
kann ja nicht so schwer zu machen sein.

koennte ja zB auch automatisch geschen:
sobald sich ein spieler aus einer stadt einloggt, die noch nicht gespeichert
ist, wird er gefragt wo er herkommt.

tja obwohl ich kein drache bin, hoffe ich zumindest auf eine antwort eines
magiers ...

smaug .

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



Rasse und Geschlecht in die Personenbeschreibung. (Damurial, 20. Okt 1994, 13:05:29):
Tach allerseits.

Es ist momentan so, dass wenn man einen anderen Spieler anschaut zwar
erfaehrt, ob er fit is or not und was er so fuer ne Waffen und Ruestung hat,
aber nicht welcher Rasse er angehoert. Das Geschlecht wird ebenso nur indirekt
ueber die Wahl des Personalpronomens mitgeteilt.
Ich finde das ist verbesserungsbeduerftig.

Damurial

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



Re: staedtenamen (Beldin, 20. Okt 1994, 19:51:53):
(Bezug: Artikel von Smaug, Don, 20. Okt 1994, 11:30:11)
Mein lieber Smaug! :)
Soweit ich informiert bin fragt das Programm hier ueber die
Telnetverbindungen den Herkunftsort des Spielers ab. Wenn da also nur
`Oesterreich` kommt, dann liegt das daran, dass es keinen Sinn macht
Staedtenamen bei Auslandsverbindungen anzugeben, weil man dann erst immer im
Atlas nachschlagen muesste, es sei denn man wuerde die ganze Chose im Kopf
haben.
Das ganze ist also kein Affront gegen irgendjemand sonder ein Ding der
Notwendigkeit.

Ciao ... Beldin (hoffend dass er jetzt keinen Unsinn geredet hat :)

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



Re: Re: staedtenamen (Stahldorn, 20. Okt 1994, 20:32:24):
(Bezug: Artikel von Beldin, Don, 20. Okt 1994, 19:51:53)
Hallo Beldin !

Dein Einwand schoen und gut, aber eine frage: wieso ist es in unserem MUD
in Linz (Holy Mission) dann moeglich, so was zu tun ?  da seh ich immer, von
wo die leute sind. und sei es nun Debrecen, Rom, Akron oder Chittagong !

Moeglich ist hierbei allerdings (ich weiss es nicht, da ich ja immer aus linz
einlogge), dass ein neuer Charakter mit unbekannter Stadt in der
Rechneradresse nach dem Namen seiner Stadt gefragt wird.


           STAHL.
     (der immer noch hofft und betet, dass einer der Magier sein Flehen
erhoert)

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



Re: re-re-usw (Flintnail, 21. Okt 1994, 04:43:36):
(Bezug: Artikel von Thorin, Don, 29. Sep 1994, 16:52:39)
hm...hab laenger nicht zeitung gelesen!

Also Cifer...diese Veralgemeinerung 'ihr schlachtet doch so gerne ist mies'!

bin eben mal wieder gestorben (auch schlecht gewaehlte worte!) und dafuer
fehlen mir jetzt wieder 2-300 Ep fuer die naechste Stufe! => ich muss metzeln
gehen! Ich kann mich nur ueber dich wundern, Cifer; hast du die Struktur des
Mud's in dem du proggst noch nicht begriffen???
Magier proggen Monster, damit Spieler sie abschlachten koennen! Es kommt
sogar vor, das Magier Monster verbessern (also in Kampf-fertigkeit nicht in
Kommunikation!) . Weil...die Spieler sie viel zu schnell abschlachten!!! Also
Cifer ,fra   unterstelle nicht, dass ALLE gerne abschlachten, sondern geh
davon aus, das es KEINE Alternative gibt, in diesem Mud den Seher-Level zu
erreichen, ausser SCHLACHTEN !!! Zaehl doch mal alle Quest -EP (nicht AP)
zusammen, na kommst du da auf  1.000.000 ????

   ein Flintnail, der nicht weiss, ob er lachen oder weinen soll!

P.S.: Dancer wollte doch ne IP-Adresse von einem MetzelMud...ich denke
128.176.121.56 4711 is nen guter Einstieg, wenn der Masseur noch lernt mit nem
Flammenwerfer umzugehen...

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



Re: staedtenamen (Rochus, 21. Okt 1994, 10:06:08):
Die wer-Liste enthielt frueher Landes- und Staedtenamen, dadurch
wurden die Zeilen teilweise laenger als 80 Zeichen.
Also haben wir uns entschlossen, im Inland die Stadt und
im Ausland das Land anzuzeigen.

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



Re: re-re-usw (Rochus, 21. Okt 1994, 10:19:26):
Man kann durch die Quests schon ueber die Haelfte der 1.000.000 EP kommen,
wir bemuehen uns natuerlich, genug Quests zu schreiben, dass die EP
ohne Schlachten (bzw. mit sehr wenig) zu erreichen sind.

Die Kampffaehigkeiten von Monstern werden aus folgenden Grunden verbessert:
- einige Monster sollen eigentlich nicht umgebracht werden (z.B. Masseur)
  Es gibt natuerlich auch die Moeglichkeit, das Monster unangreifbar zu
  machen, aber es ist interessanter, die Monster nur ziemlich stark zu
  machen - wer unbedingt will, kann es dann trotzdem angreifen -
  allerding mit erhoehtem Risiko...
(Fortsetzung folgt, ich muss mich um einen Fehler kuemmern)

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



Re: re-re-usw (Rochus, 21. Okt 1994, 10:31:08):
(Fortsetzung)
- Einige Monster sollen neue Herausforderungen fuer die besseren
  Spieler bieten.
- Und einige Monster werden verbessert, wenn sie wirklich zu leicht sind.
  Wenn jeder Anfaenger mit einem Schlag ein Monster killt, das
  Ausruestung im Wert von 10000 Muenzen hat, wird die
  Inflationsrate zu hoch (und zum Ausgleich muessten mehr Robins und
  Raeuber durchs Mud laufen - da kann man besser die anderen Monster
  mit viel guter Ausruestung schwerer machen)

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



Kaffee Haus (Parsifal, 22. Okt 1994, 13:23:46):
Suppa idee!
Bin als Wiener natuerlich hoch erfreut ueber die Einfuehrung eines "echt"
Kaffee Hauses.
In meiner Eigenschaft als Wiener muss ich jedoch darauf bestehen, dass das
Kaffehaus ordentlich und richtig eingerichtet ist, um auch das richtige Flair
entstehen zu lassen:)).
2 Punkte beduerfen einer schnellen aenderung!
1. Ein Melange muss eingefuehrt werden.
2. Der Verlaengerte fehlt.
So trotz alldem veilen dank an die Magier fuer die gelungene Ueberrschung:)!

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



neuer Befehl (Grimmborn, 23. Okt 1994, 08:04:39):

Was einem beim Haeuslebauen alles so auffaellt...
Also, was ich vermisse, ist ein Befehl wie "verkaufe xx aus beutel/kiste"
bzw. "verkaufe alles aus beutel/kiste". Dieses ewige hin und herklauben der
Sachen ist doch eher nervig.
Also, wenns machbar ist, denkt doch mal drueber nach, ja?
Und wo ihr dann schon dabei seid: Ein "gib xx aus beutel/kiste an spieler"
und "lege xx/alles aus beutel/kiste ab" waer auch nicht schlecht... ;-))

Scheffelnd, scheffelnd, Haeusle bauend,
                                       Grimmborn der Atheist

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



Re: unt (Anthea, 23. Okt 1994, 13:48:32):
(Bezug: Artikel von Toeter, Don, 20. Okt 1994, 02:10:53)
Jau, dass unt erst die sachen im inventory untersucht, nervt manchmal
wirklich.... man kann sich z.B. keinen Knopf anschauen, wenn man den
Teddy aus der Unterwelt dabei hat... und da erfaehrt man nur, dass man
den knopf lesen soll......
              Anthea

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



Doktor (Thorin, 23. Okt 1994, 19:55:10):
Ich wollte mal ne Idee loswerden : Wie waers denn, wenn der Doc im
Nibelungenheim nicht nur Froesche zurueckverwandelt sondern eventuell auch
Rassen umaendern kann ??
Thorin

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



Ingorieren von mail und news (Loco, 23. Okt 1994, 21:35:19):
Seit Freitag ist es moeglich, auch Briefe und Zeitungsartikel von bestimmten
Spielern zu ignorieren. Es genuegt nicht, bestimmte Personen komplett zu
ignorieren, man muss explizit mail und news ignorieren.
Syntax:
   ignoriere xyz.mail
        laesst jeden Brief von xyz ungelesen an den Absender zurueckgehen
   ignoriere xyz.news
        Zeitungsartikel von xyz werden beim Lesen mit 'nn' uebergangen.

Eigentlich schade, dass sowas noetig ist, findet

    Loco

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



P_TPORT_IN (Dancer, 24. Okt 1994, 01:19:44):
Hi,
ich finde man sollte sich als Magier nicht in Seherhaeuser reinbeamen
koennen, wenn die Tuer verschlossen ist!

Dancer - gerade aus Versehen in eine dumme Situation reingerannt...


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



Staedtenamen (Stahldorn, 24. Okt 1994, 11:17:44):
An den betreffenden Magier:
       Danke !!
Ich find das echt gut, dass jetzt nicht mehr stupide "Oesterreich" im "wer"
steht.


                     ein ehrlich erfreuter
                         STAHL.

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



gegner (Smaug, 27. Okt 1994, 11:09:08):
hi
wie waers (oder was spricht dagegen), dass der teddybaer auch den zustand des
gegners anzeigt ? also:
er ist leicht angeschlagen
braucht dringend einen arzt ...

smaug ...

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



Re: gegner (Boing, 28. Okt 1994, 11:35:07):
Kennst Du das 'untersuche' Kommando (Abkuerzung unt), versuch das doch
mal bei Deinem Gegner ... ;)
  Bong

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



Noch ne Frage (Semira, 28. Okt 1994, 20:09:28):
Wie waer's mit ner Waage???
Wer kennt das nicht...da hjat man sich gerade durch ein Heer sehr ergiebiger
Feinde gemordet, will sich den ganzen Krepel schnappen (unser mus soll sauber
und die kasse voll bleiben) und bingo...DU KANNST NICHTS MEHR TRAGEN :(((((
Tja...haette man vorher mal einen Blick auf sein schon bedenklich
angestiegenes Gewicht werfen koennen...man haette zumindest nen beutel dabei
(naja, der ist in solchen faellen dann meist voll, aber immerhin)...

Klar, dass es keine Waage geben soll, die genau sagt du wiegst jetzt XXX
gramm, kilo oder zentner...
Zum einen waere das viel zu frustrierend und zum anderen ja nicht sinn der
uebung...
Aber eine Anzeige die nur grob sagt wies aussieht waer doch ne Idee oder?

"Hups, Du bist aber wieder schwer..."

"Iiiiiks, ein Leichtgewicht"

"Bitte nur einzeln auf die Waage treten"

etc etc etc

Naja, war nur mal wieder so ne Idee...

Ciao
Semira (wieder vor nem Haufen Zeug stehend dass sie nicht tragen kann)

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



Re: Noch ne Frage (Hate, 29. Okt 1994, 18:11:23):
(Bezug: Artikel von Semira, Fre, 28. Okt 1994, 20:09:28)
Ehrlich gesagt, denke ich bei sowas gleich an Nethack, denn da
wird einem das auf folgende Art und Weise klargemacht:
Wenn man sehr viel traegt, wird das gehen schwerer und man bekommt
gesagt, dass es am Gewicht liegt. Dies ist in verschiedene Stufen unter-
teilt. Vielleicht wuerde das dem in etwa entsprechen.
Allerdings gaebe es da diverse Einschraenkungen, denn man wird Pro-
bleme beim kaempfen haben, wenn man zuviel traegt und es kann auch
zu Stolperorgien fuehren (Denn wer kann mit nem Riesengewicht rennen?)

Hate.

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



Kriegshilfe (Zuerileu, 31. Okt 1994, 07:00:17):
Sali zaeme,
Wie waer es im morgengrauen Haustiere einzurichten die wie der Wolpertinger
hiner einem hergehen und aber dazu noch auf kommandos von dir hoeren ? und
zwar nicht als Kuscheltiere sondern jedes kann man in einem Speziellen Laden
kaufen
und jedes hat andere Eigenschaften. Und zwar z.b. ein Kampf-loewe oder Drache
der fuer einem oder mit einem auf befehl kaempft, ein Drache von dem man sich
heilen lassen kann und ein Spuehr-Hund mit dem man ein wegrenentes Opfer
verfolgen kann. Die moeglichkeiten waeren hier grenzenlos, ich denke auch das
man dann seinem Kampfdrache u.a. einen Namen geben kann und das er aug
kommandos verschiedener arten hoert.
Das die ganze Sache nicht zu einfach wird waer mein Vorschlag dass das Tier
auch ueber lebenspunkte verfueght und z.b. beim Heil-Drache der einem heilen
kann die bei benutzung verliert das heisst das monster wird schwaecher.
Um die energie wieder aufzuladen bezw. das Tier wieder zu heilen, denke ich
sollte man es mit leichen von getoeten Monstern fuettern. Ich denke auch das
ein widerverkaufen der Tiere nicht moeglich ist.
Die preise wuerd ich um die 20'000mue. fuer Kampfdrache/Loewe/ork 15'000mue.
fuer Heildrache/vogel und fuer den Spuehrhund/wolpie 10'000muenzen wuerd ich
fair finden wenn sie auch ihren Preis Wert sind.
Da denke ich das der Kampfdrache schon genug stark sein sollte das er seinen
Preis auch wert ist. Aber eben da wuerde sich ja noch vieles machen lassen, na
was haelt ihr von dieser idee ?

Mit freundlichen gruessen Zuerileu

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



Re: Kriegshilfe (Durian, 31. Okt 1994, 10:54:57):
(Bezug: Artikel von Zuerileu, Mon, 31. Okt 1994, 07:00:17)
Hallo zusammen!

Der Gedanke mit Kampftieren ist nicht neu und ich wollte so etwas mal
proggen. Doch aufgrund sehr schlechter Erfahrungen in anderen MUDs haben
wir uns hier dazu entschlossen, Kampftiere beliebiger Art nicht zu erlauben!
Der Grund ist nicht in zwei Worten zu beschreiben deshalb spare ich
mir das hier. Ihr muesst uns einfach glauben, dass solche Tiere das
Gleichgewicht im MUD erheblich einschraenken wuerden.
Nichtsdestoweniger wird aber irgendwann (wenn ich mal wieder Zeit und Lust
habe) Tiere geben. Aber ... dies sind dann nur Kuscheltiere und
sollen den Sehern nur zur Erheiterung dienen!

Ein um Aufklaerung bemuehter ...

- Durian

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



kampftiere (Zuerileu, 31. Okt 1994, 11:23:25):
Sali zaeme,
Find ich echt schade und mich wuerde der grund wundernehmen ich kenn ein Mud
wo das ach eingefuehrt ist und die machen postive erfahrungen, und es waer
eine gute abwechslung ich meine so ein tier kann sich nur jene leisten die
genug
Geld haben und so denk ich das ein gleichgewicht nicht beeinflusst wuerde.
Dazu wuerd es das Mud spannender und realistischer machen.

Mit freundlichen gruessen ein entaeuschter Zuerileu

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



Mastradena (Hate, 31. Okt 1994, 14:28:19):
Nur als Bemerkung, weil Zuerileu damit Probleme hatte.
Wenn Mastradena fragt, ob die Beschreibung so ok ist und man tippt
nein, dann wird das ganze nicht geloescht, sondern der eben eingetippte
text bleibt im Editor, so dass man moeglicherweise mit ~d eine Zeile
nach der anderen von unten her loeschen muss.
Hate.

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



Re: Re: Kriegshilfe (Kretek, 31. Okt 1994, 17:52:29):
(Bezug: Artikel von Durian, Mon, 31. Okt 1994, 10:54:57)
(Bezug: Artikel von Durian)

Oooooch, schon wieder war nur fuer Seher!
Gemein!

Kretek, der ewige Noergler
(will auch ein Kuscheltier!)

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



Alias-Neuheit :) (Jof, 31. Okt 1994, 21:12:47):
 Man kann sich jetzt mit 'alias <kuerzel>' die Bedeutung eines Kuerzels an-
zeigen lassen. Ich dachte, das ging immer schon, aber da lag ich falsch :)

 Aehm, natuerlich muss man einmal quitten (nicht einschlafen), damit die
Aenderung wirksam wird - oder auf den naechsten Reboot warten.

 Jof

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



Kleine Aenderung bei 'schau ... an' (Jof, 31. Okt 1994, 21:14:15):
 Bisher war es so, das, wenn man zB ein Buch bei sich trug und ein weiteres
im Raum lag, man mit 'schau buch an' das Buch im Inventory bekam. Jetzt be-
kommt man das andere!!!

 Auch hier wieder: Ohne Quit keine neuen Features :(

 Jof

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



Fackeln (Yantro,  2. Nov 1994, 10:50:13):
Hi.

Ist eigentlich irgendeinem ausser mir schon mal aufgefallen, dass man eine
Fackel immer anzuenden kann?? Auch nackt, ohne Feuersteine oder sowas???

Irgendwie merkwuerdig..... Und wenn man logisch sein will, dann funktioniert
der Befehl "feuerball fackel" auch nicht *grinse*

(Vielleicht haette ich besser unter "schmarn" geschrieben.....

        Euer Yantro:)

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



Re: Fackeln (Boing,  2. Nov 1994, 12:35:55):
Feuersteine gehoeren zum Grundinventar und werden nicht erwaehnt. ;)
  Boing

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



Re: Re: Fackeln (Anthea,  2. Nov 1994, 14:43:28):
(Bezug: Artikel von Boing, Mit,  2. Nov 1994, 12:35:55)
Und wenn sie nicht im Grundinventar sind, dann ist das auf alle Faelle die
fackeleigene Magie. Mit Feuersteinen braeuchtest Du ja sonst erst noch Zunder
und ca. 5 min Zeit, bis Du mal eine Fackel angezuendet hast.
  Anthea :)

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



Re: Re: Re: Fackeln (Jof,  2. Nov 1994, 15:12:46):
(Bezug: Artikel von Anthea, Mit,  2. Nov 1994, 14:43:28)
 Hm, bei genauer ueberlegung koennen wir das auch aendern - wenn eine
Mehrheit
der Spieler darauf bestehen sollte, werden wir die Fackel so umschreiben, das
man sie ohne Feuerstein, Zunder und 5 Minuten Zeit (oder mehr, je nach
Geschicklichkeit) nicht mehr anzuenden kann :)

 Jof

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



Re: Re: Re: Re: Fackeln (Wargon,  3. Nov 1994, 09:25:03):
(Bezug: Artikel von Jof, Mit,  2. Nov 1994, 15:12:46)
...oder das Entzuenden einer Fackel als magische Handlung ansehen
und mit MP-Abzug versehen. Wie waere es mit Kosten in Hoehe von
20MP pro Entzuendung? ;)
  Nicht hauen, war ja nurn Vorschlag,
    Wargon

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



Re...Fackeln (Thorin,  3. Nov 1994, 09:27:05):
Tja, und wer sich auf die Finger kloppt beim Feuermachen stirbt an
Blutvergiftung ??
Thorin, der sich fragt, ob die Texte zu den Fackeln nicht in Schmarrn
gehoeren :)

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



Re: Re: Re: Re: Fackeln (Caradhras,  3. Nov 1994, 13:12:57):
(Bezug: Artikel von Jof, Mit,  2. Nov 1994, 15:12:46)
Trete Jof :-) (Aber nur sanft, sonst loescht er mein Playerfile :-))

Hoer auf, solche Vorschlaege zu machen, sonst antworten aus Spass noch
ein paar Doespaddel der Spieler mit 'ja, du sollst es aendern' und die
anderen,
die dagegensind, melden sich nicht und schwups wird es geaendert :-))

Lasst mir meine Fackel!!! :-) so wie sie ist. *brumm*

Der meistens mit 5 - 10 Fackeln rumrennende ewige Prophet Caradhras

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



Re: Re: Re: Re: Re: Fackeln (Fraggle,  3. Nov 1994, 14:36:36):
(Bezug: Artikel von Wargon, Don,  3. Nov 1994, 09:25:03)
wargon> Entzuenden einer Fackel...20MP pro Entzuendung
#

200MP waeren besser, dann koennten nur noch die Seher sehen und die
Nicht-Seher nicht (mehr) sehen (im dunkeln natuerlich)
Das haette 2 Vorteile:
 1. Der Beruf "Seher" wird auch fuer weniger mystisch bewanderte leicht
   verstaendlich.
2. Die Seher haetten mal wieder ein Feature mehr, es lohnt sich also
NOCH MEHR, Seher zu werden, damit man mehr sieht.
Bei der Gelegenheit sollte man dann auch Tag und Nacht einfuehren (in
Echtzeit,
dann hoert auch das Modem-mudden auf, um die Zeit sieht man ja nichts mehr
als
Nicht-Seher!!!!)

Wenn mir noch was einfaellt, meld ich mich (drohdrohdroh)

Fraggle

PS: Was da oben steht, meine ich vollkommen ernst ;)
IRONIE ON

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



Re: Re: Re: Re: Re: Re: Fackeln (Rumata,  3. Nov 1994, 14:53:33):
(Bezug: Artikel von Fraggle, Don,  3. Nov 1994, 14:36:36)
goto schmarrn !
Rumata

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



Re: kampftiere (Kobayashi,  3. Nov 1994, 15:45:55):
(Bezug: Artikel von Zuerileu, Mon, 31. Okt 1994, 11:23:25)
Nur als Anregung:
Man kann das doch auf Hundekaempfe, Hahnenkaempfe usw. beschraenken, also
nicht gegen Spieler.

Koby

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



Re: Re: Re: Re: Re: Re: Fackeln (Caradhras,  3. Nov 1994, 16:41:45):
(Bezug: Artikel von Fraggle, Don,  3. Nov 1994, 14:36:36)
Dann darf man also nachts nur doch als Nicht-Seher in Gegenden,
die man blind kennt oder ne Karte von hat. :-)
Duerfte doch nicht so schwer sein, oder kann man dann in der Dunkelheit
auch nichts mehr zu trinken bestellen, weil der Wirt einen ja nicht
siehst?
aeh sieht... :)

    Caradhras der ewige Prophet
  - oefters 30 oder 40 Schritte im voraus laufend *winkt dem Lag zu*

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



Mudwunder (Grimmborn,  3. Nov 1994, 17:33:24):

Also, ich hab mir in einer schlaflosen Nacht (ja, ich WERDE mir bessere
Gardinen kaufen!) ueberlegt, ob es nicht moeglich waere, die "7 Mudwunder"
vorzustellen. Die Magier beschweren sich (zu Recht, zu Recht) darueber, dass
ihre Arbeit kaum gewuerdigt wird. Wie waere es da mit der Praesentation der
groessten Programmierleistungen?
Beispiel:
1. Wunder: Jof, Boing und Rumata so hinzukriegen, dass sie so gut wie echt
wirken.
2. Wunder: Im Okt.'93 wurden die Schiffe so umprogrammiert, dass sie 16
Stunden bugfrei liefen. Danach wurden aus Versehen die files geloescht und
keiner kann sich mehr an den Code erinnern...
3. Wunder Raum mit den Schattenmaeusen im Park: Erste Lambda closures in der
Geschichte des mud.

Naja, und so weiter halt. Macht doch mal so 2 Wochen brain storming in einer
Magier rubrik und [D[D[D[D[[C[[Dk[[D[C und gebt dann das Ergebnis bekannt.
Mich zumindest taets interessieren...

Immer neugierig,
                Grimmborn der Atheist

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



Re: Re: kampftiere (Durian,  3. Nov 1994, 19:28:19):
(Bezug: Artikel von Kobayashi, Don,  3. Nov 1994, 15:45:55)
Gute Idee, Kobayashi, werde mir mal Gedanken drum ... Achja, hier war in
letzter Zeit immer von ZEIT die Rede, wo kann man doch gleich Zeit
kaufen?? *seufz*

- Durian

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



Bezug (Grimmborn,  3. Nov 1994, 20:23:56):

Hmm, ich krieg ja nie was mit. Da haben so viele Leute ein Bezug vor dem
Artikel.
Ist das eine neue Funktion der mpa? Wenn ja, welche Hilfeseite braeuchte ich
dazu? *erroet*

Wieder mal desorientiert,
                           Grimmborn der Atheist

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



Re: Bezug (Loco,  4. Nov 1994, 14:02:29):
(Bezug: Artikel von Grimmborn, Don,  3. Nov 1994, 20:23:56)
Das ist ganz einfach: Wenn Du mit 'antworte' auf den zuletzt gelesenen
Artikel antwortest (notfalls den, auf den Du antworten willst, nochmal kurz
anlesen), kommt das vollautomagisch.
Das ist schon alles (und es ist ein relativ neues feature),

    Loco

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



Schmarrn-Kanal (Bambulko,  4. Nov 1994, 15:11:28):
Kann man hier nicht mal einen Schmarrn-Kanal einfuehren, da es nervt wenn man
ne Quest macht und die Leute nur SCHEI..E uber die Kanaele schicken oder
rufen...
BAMBULKO

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



Re: Schmarrn-Kanal (Boing,  4. Nov 1994, 15:48:56):
Es gibt einen Schmarrn-Kanal, nennt sich 'allgemeines', wenn Du genervt
bist kannst Du ihn ausschalten.
  Boing

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



Re: Schmarrn-Kanal (Cifer,  4. Nov 1994, 17:31:48):
(Bezug: Artikel von Bambulko, Fre,  4. Nov 1994, 15:11:28)
Genau dafuer sind doch die Kanaele da: dass man sie abschalten kann, wenn man
was wichtiges zu tun hat, oder?

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



schmarrn-kanal (Bambulko,  4. Nov 1994, 20:01:14):
Ist ja schoen und gut, aber wenn die Leute rumbruellen kann man es nlten....
BAMBULKO

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



Kanaele (Pra,  7. Nov 1994, 11:12:12):

Apropos abschalten der Kanaele:

die Funktion '-%' ist wahnsinnig praktisch, aber: wenn ich einschlafe, und
vorher '-%' eingegeben hatte, um die Kanaele (zeitweise) abzuschalten, ist
beim naechsten Mal alle Information verloren gegangen ueber die Kanaele,
denen ich normalerweise lausche. Ist das ein bug, oder ist das beabsichtigt,
oder geht es nicht anders, oder mache ich irgendwas falsch?

Gruss, Pra


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



Re: Re: Re: Re: Re: Re: Fackeln (Hate,  8. Nov 1994, 12:35:24):
(Bezug: Artikel von Fraggle, Don,  3. Nov 1994, 14:36:36)
ist denn noch niemandem aufgegangen, warum MG MG heisst?
Weil hier immer Morgen ist und damit kein Tag und keine Nacht!
Also woher soll dann der Tageszeitenwechsel kommen?
Hate.

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



Re: Re: Re: Re: Re: Re: Re: Fackeln (Guybrush,  8. Nov 1994, 13:51:43):
(Bezug: Artikel von Hate, Die,  8. Nov 1994, 12:35:24)
Ist es dann in Nightfall immer dunkel ?

Guybrush wundert sich..:)

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



Re: Re: Re: Re: Re: Re: Re: Re: Fackeln (Aranya,  8. Nov 1994, 14:45:34):
(Bezug: Artikel von Guybrush, Die,  8. Nov 1994, 13:51:43)
Fast ;)

Aranya

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



Re: Re: Re: usw... (Knoerry,  8. Nov 1994, 16:40:34):
Hi!
Mir is aufgefallen, das wenn ich mit nn mir immer die neuen Sachen durchlese,
dass haeufig artikel auf irgentwas antworten was man gerne nochmal lesen
wuerde... koennte man villeicht im Briefkopf bei Bezug noch die Artikelnummer
dazuschreiben, damit man nicht die ganzen Artikel durchwaelzen muss...
Zeitungszwerg Knoerry.

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



Re: entwicklung (Boing,  8. Nov 1994, 17:48:24):
Das mit der Artikelnummer ist ein Problem, da nach einer gewissen Zeit
alte Artikel automatisch rausfliegen, dann aendert sich halt die
Nummer.
  Boing

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



Ich glaub, ich steh im Wald! (Kretek,  8. Nov 1994, 20:41:16):
Also, eins muss ich jetzt doch mal von mir geben: Die Reply-Funktion ist
zwar wirklich praktisch und macht auch Sinn, weil so ja ein direkter Bezug
zum Vorgaenger-Artikel hergestellt wird, nicht zuletzt auch durch das neue
Bezug-Feature. Aber: Irgendwann wird's schon laestig, wenn man sich den
Inhalt einer Rubrik so anschaut, und vor lauter REhen wirklich schon im
Wald steht. Neuestes Beispiel: Eine Antwort von Aranya, mit tatsaechlich
stolzen 8 (in Worten: acht!) RE's im Header!!!
Deshalb jetzt meine Frage (und der Grund, warum das in Entwicklung steht):
Waere es nicht sinnvoll und/oder moeglich, die Reply-Funktion so abzuaendern,
dass, etwa nach dem dritten RE, automatisch nach einem neuen Titel
gepromptet wird? Der Bezug wird ja durch das Bezug-Feature sowieso sicher
gestellt, und es waere vielleicht schon ein bisschen informativer fuer
den Leser, wenn er eine neue Subject-Line haette, anstatt sich durch
hunderte von RE's durchkaempfen zu muessen, die sich unter Umstaenden sogar
auf Artikel beziehen, die schon laengst wieder geloescht sind!
Soweit also dieser Senf... Wenn's nicht moeglich sein sollte, liebe Mags,
nicht hauen, nicht schimpfen, nicht mal boese sein, ist ja nur als
konstruktive Kritik gedacht!           :=)

c u l8er!

     Kretek, gluecklich, dass er endlich wieder was zum Noergeln gefunden
hat

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



Re: Ich glaub, ich steh im Wald! (Loco,  8. Nov 1994, 20:51:32):
(Bezug: Artikel von Kretek, Die,  8. Nov 1994, 20:41:16)
Geplant:  Ersatz des Re: Re: durch die Re^n - Schreibweise fuer n>m. Der Wert
von m ist noch nicht festgelegt, genausowenig kann ich einen Termin nennen,
wann ich  das mit ein paar anderen Kleinigkeiten einbaue...
Bis dann:
  "Hier Zukunft. Bitte warten."

  Loco

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



bezug und teddy (Smaug,  9. Nov 1994, 11:14:29):

hi !

1. irgendjemand hat kuezzlich gefragt, ob es nicht moeglich waere, die
artikelnummer anzugeben, auf die sich ein re: re: ... artikel bezieht.
ich glaube boing wars der sagte das waere schwierig, weil alte artikel immer
geloecht werden. ist auch einleuchtend!
aber wie waere es, wenn es relativ angegeben wird (zb -1 heisst der vorige
artikel; -10 heisst vor 10 artikeln; kapiert ?)
dann gibts nur mehr probleme wenn dazwischen artikel zensuriert oder
verschoben werden, aber zumindest haette man ein ungefaehren bezug wo man
suchen muss!

2. ich hab schon einmal gefragt, warum es nicht moeglich ist, dass der teddy
auch anzeigt wie es dem gegner waehrend eines kampfes geht:
mitgenommener eindruck , und so...
als antwort hab ich bekommen, dass ich den gegner sowieso untersuchen kann
(war mir sowieso klar!)
aber beim kaempfen bin ich so beschaeftigt (waffe weg; feuerball; waffe
zuecken), dass mir keine zeit zum untersuchen bleibt.
es waere doch zb ganz nett, wenn der teddy am ende einer anderen quest zu
einem megateddy mutiert der dann auch den gegner untersuchen kann (oder so in
der art)

smaug.

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



Neuer Befehl ? (Orktoeter,  9. Nov 1994, 15:00:29):
Mein erster Zeitungsartikel, ich bitte daher, ihn gnaedig zu beurteilen !!
Ich haette da einen Wunsch, koennte man einen Befehl schaffen wie : verkaufe
alles aus Beutel/Kiste ? Ich faende soetwas sehr praktisch, da man sonst immer
ales einzeln aus der kiste nehmen und verkaufen muss. (na gut , das
herausnehmen muss nicht einzeln gemacht werden) .
PS CauNo wies darauf hin, das man, wenn man Sachen die auf dem Boden liegen
in einen Beutel steckt, man gleichzeitig den gleichen Gegenstand auch aus
seinem Iventory in den Beutel tut (so man ihn auch selber hat) . Ist das ein
Bug ? Oder soll das so sein ?
Ansonsten (insb. als Seher sehr gluecklich hier im MUD .
Orktoeter der Dartspieler

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



Gegneranzeige (Grimmborn,  9. Nov 1994, 15:44:48):

Hej, das mit dem beantworten schenke ich mir...
Also, ich hab mal woanders ne Waffe gesehen, die einem mitgeteilt hat, wie
sich der Gegner fuehlt. Fand ich ne witzige Aktion, fast so gut wie ein
Foerster der schreit: "Verdammt, ich hab nur noch 23 lp!"...

Nur so als Anregung gedacht...

Grimmborn der Atheist

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



Orktoeter, Rezension (Grimmborn,  9. Nov 1994, 15:49:17):

Also, nochmal: VOR SATZZEICHEN GEHOEREN KEINE LEERSTELLEN! Auch wenn das der
GD (oder was immer diese ganzen Antworten sind, mudlib vielleicht?) nicht
kapiert hat.
Aber dieses verkaufen aus Beutel/Kiste ist nicht zuletzt wegen der staendigen
Gewichtsprobleme (Du laesst einen Beutel fallen. nimm beutel Du kannst den
Beutel nicht mehr tragen...) wuenschenswert. Hatt ich auch mal vorgeschlagen,
vielleicht machts ja die Masse. Die Magier haben ja sonst nix zu tun. *pfeif*

Genervt und von allen Seiten angesprochen,
                                           Grimmborn der Atheist

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



ausziehen (Asmodis,  9. Nov 1994, 19:00:03):
Ach ja, es fehlt noch ein Befehl 'ziehe alles aus' als Pendant zu
'ziehe alles an'.
Deshalb muss ich beim Masseur immer alles fallenlassen :)

                              Ciao, Asmodis

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



mpa (Loco,  9. Nov 1994, 20:14:13):
(Dieser Artikel ersetzt 2 aeltere)
Die mpa kann jetzt anzeigen, auf welchen Artikel sich eine Antwort bezieht -
und zwar mit der gueltigen Nummer.
Allerdings: Voraussetzung dafuer ist, dass ihr ein Exemplar habt, was nicht
aelter als von heute abend gegen halb acht ist, und der Autor eines von
fruehestens heute um 17 Uhr. Falls nicht, koennen ziemlich seltsame Textzeilen
auftauchen. Loggt dann am besten einmal kurz mit 'ende' aus, wie immer wenn
sich etwas an Autoloadern geaendert hat.

Ich hoff mal, keine bugs gebaut zu haben...

   Loco

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



Roetliche Ringe.. (Bambulko, 10. Nov 1994, 11:08:45):
Wenn hier die Waffen verschlechtert werden sollten aber nicht immer die
Monster verbessert werden (siehe Ute)!!!!!!!!!!
BAMBULKO

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



zauberstab (Nixihou, 10. Nov 1994, 13:09:47):
ich beziehe mich auf kassandras artikel, laut dem der zauberstab autolaod ist
und fuer seher auch zu kaufen ist.
meines wissens ist dem leider nicht so!
der stab, den seher kaufen koennen ist leider nicht autoload und er
verschwindet nach 1-2 stunden einfach.
die staebe von hilbert und die aus dem seherladen koennen also nicht gleich
sein. ()[D[C[wer zahlt schon 9999 fuer 2 stunden lich, die er auch noch mit mp
bezahlen muss?)

nixi

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



Post (Grimmborn, 11. Nov 1994, 01:36:15):

Hmm, koennte man nicht dieses Cc an den Anfang setzen? Das gibt bei mir die
vergnueglichsten Kopien... :-(

Grimmborn der Atheist, der auch mal gerne nur an eine Person schriebe...

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



Re: Post (Stahldorn, 11. Nov 1994, 12:57:22):
(Bezug: Artikel von Grimmborn, Fre, 11. Nov 1994, 01:36:15)

stimmt. ich hab auch schon oefters an einen typen namens "Q" copies
geschickt. ;)
      STAHL.

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



Re: Re: Post (Loco, 11. Nov 1994, 14:00:31):
#! rn=Stahldorn rt=784555042
Hmm... ist es denn so schwierig, sich anzugewoehnen, beim Postschreiben nach
dem . fuer Textende zweimal Enter zu druecken?
Ich verspreche Euch, wenn man die cc's an den Anfang setzt, wird noch mehr
Leuten genau dasselbe passieren, und ausserdem: Oft faellt einem erst beim
Schreiben ein, wer eigentlich noch alles eine Kopie kriegen sollte.
Soweit,
        Loco

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



Neue Highscoreliste (Engywuck, 11. Nov 1994, 16:00:27):

Ich haette da noch nen Vorschlag: Wie waers, wenn man noch die Highscoreliste
der Spieler-Lebensalter veroeffentlichen wuerde? Sowas wuerde mich mal
interessieren...

Engywuck, der auch mal weiter vorne in ner Liste stehen will...

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



Frosch (Grimmborn, 12. Nov 1994, 04:15:13):

Also, vielleicht hilfts ja diesmal was: Kann nicht mal jemand zusehen, dass
gefroschte Spieler NICHT die id frosch haben? Auf diese idiotische,
vermeidbare Art hab ich schonmal einen PK bekommen und heute fast wieder
einen. Das ist doch nun nicht noetig, oder?

Grimmborn der, nein, nicht Frosch, der Atheist

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



zur Hilfe-Seite (Quengistu, 16. Nov 1994, 02:07:20):
Hiho,
die Hilfe-Seite koennte mal wieder uebrarbeitet werden. Heute habe ich nur
durch Zufall erfahren, dass es den seeeehr praktischen Befehl "kwer" gibt.
Kann man den Befehl nicht auf der Hilfe-Seite anzeigen oder zumindest auf der
Hilfe-Seite zum Befehl "wer" mit auffuehren? Ausserdem taucht auf der
Hilfe-Seite der fuer Spieler unzugaengliche Befehl mhilfe auf. Der koennte bei
der Gelegenheit gleich herausgenommen werden.
In der verben-Liste vermisse ich ausserdem einen Hinweis auf die Befehle
rwinke und rknuddel. Ach ja, auch der Befehl "selbstloeschung" fehlt auf der
Hilfe-Seite.

Ich hoffe, das klang nicht zu fordernd ;-)
Tschuessing,
  Quengistu

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



Neue Rassen (Knoerry, 13. Dez 1994, 11:06:25):
HI Magier!

Macht das Morgengrauen bunter!
Wo sind die Hobbits, Gnome, Feen..?
Fuehrt doch mal neue Spielerrassen ein!

Knoerry :)=

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



Wuestenschwert :) (Hawk, 13. Dez 1994, 11:56:47):
Die Idee mit dem Wuestenschwert finde ich klasse.
Da gibt es endlich mal die Moeglichkeit eine wirklich gute Waffe
zu bekommen, ohne tausend Monster killen zu muessen.
Ein wenig knifflig ist das ganze aber schon.
Trotzdem gratuliere zu der Idee, so etwas zu machen.

Ein an Schnapszahlen verzweifelnder HAWK.

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



Wuestenschwert (Hawk, 13. Dez 1994, 16:09:24):
Nachdem ich ein paar Tage Arbeit, und ca 700,000 ep investierte hab ich nun
mein
Wuestenschwert. Leider ist fuer Seher der Aufwand, den es braucht, um das
Schwert zu bekommen
nicht mit seinen wirklichen Wert zu vergleichen.
Das Schwert ist eine tolle Sache fuer junge Spieler, die noch
keinen Spruch koennen. Fuer alte Hasen muss ich dringend
davon abraten jetzt den Versuch zu unternehmen, es zu bekommen.
Ihr wuerdet enttaeuscht sein. Ich kam mit diesem schwert nicht mal am ersten
Steinbeisser vorbei.
Wie gesagt. Eine tolle Waffe fuer junge Spieler.

Ein erschoepfter und etwas enttaeuschter HAWK.

P.S.: Hakkikkt hat mir versprochen, das Schwert fuer Seher aufzupeppen.
Muss sich aber noch mit boing Darueber unterhalten. Haltet ihm die Daumen ;-)

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



Aufhoeren ! (Ryne, 13. Dez 1994, 16:33:34):
Leute, Leute,

ist es nicht langsam an der Zeit, diese Diskussion ueber Fraggles Quest zu
beenden ?

Ich denke, die Kritikpunkte an dem Quest sind mittlerweile von jedem 5
mal vorgetragen worden. Ich habe mich fuer meinen Ton bei Fraggle
entschuldigt, er hat einige Sachen an dem Quest geaendert, womit doch
langsam alles geklaert sein sollte.

Diese Diskussion weiterzufuehren, bringt erstmal gar nichts, mittlerweile
wissen einige schon gar nicht mehr, worum es anfaenglich ging, z.B.
Asmodis, wenn er schreibt, er koenne meiner Kritik nicht zustimmen,
dann jedoch in seinem Artikel GENAU die Sachen bemaengelt, die ich an
dem Quest ebenfalls kritisiert hatte.

Vor allem aber, und deshalb tut es mir wirklich leid, dass ich diese Lawine
ins Rollen gebracht habe, schreckt das ewige Weiterziehen dieser
Diskussion sicherlich einige Spieler davon ab, sich in dieses Quest zu
begeben, und das waere einfach zu schade drum.

Also, da doch alles gesagt ist, kann man diese Diskussion nicht nun
beenden ?

Ryne
- Dem es wirklich leid tut, das Fraggles Arbeit an dem Quest nun so
dermassen zerrisen worden ist - Das hab ich nun auch nicht gewollt
Leute, beruhigt Euch endlich !!!

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



Red Fraggle (Fraggle, 14. Dez 1994, 12:39:01):
Aufgrund der immerwiederkehrenden Forderung nach kuerzeren Resetzeiten:
Ich kann die leider nicht aendern, falls einer der Magier ne einfach
zu realisierende Idee hat, den reset() zu steuern, bitte melden.
Ansonsten werde ich versuchen, die besonders wichtigen Gegenstaende
auf andere art zu regenerieren. (Werden dann aber auch wertloser (punkto
verkauf natuerlich:) )

Fraggle

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



Re: Resetzeiten (war: Red Fraggle) (Mateese, 14. Dez 1994, 19:12:23):
Es ist moeglich, die Resetzeiten auf die im Driver eincompilierte
Granularitaet
zu verkuerzen, wenn die H_CREATE/H_RESET hooks entsprechende Massnahmen
ergreifen (z.B. eine Property 'resettime' abfragen) - was allerdings nur von
den Magiern gemacht werden kann, die bereits wissen, von was ich hier rede
:-)
Siehe /doc/concepts/hooks, ca. Zeile 50 und folgende.
 -- Mateese

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



Resetzeiten mal anders (Anatol, 14. Dez 1994, 20:43:50):

Ich plaediere fuer die Einfuehrung einer Mindestresetzeit nach einer
Veraenderung im Raum.
Da machst du 2 Orks nieder - du moechtest da vorbei, sonst mal nix - und
siehst erfreut nach dem letztmoeglichen Feuerball:
Der Ork faellt tot zu Boden.
[Moerder:Geist eines Orks] Anatol hat mich ermordet!
und freust dich.
Aber wirklich keine Sekunde (!!) spaeter liest du (ohne Freude):
Ein Ork kommt an.
Ein Ork kommt an.

Ich bin zwar davon begeistert, dass uns die Orks nie ausgehen werden...
...aber das ging mir ein kleinwenig zu schnell.

        Anatol, leicht verorkert.

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



Re: Resetzeiten mal anders (Dancer, 14. Dez 1994, 22:36:45):
#! rn=Anatol rt=787434230
Ts, Anatol! :-)
Ich hoere hier immer Worte wie 'Reset' und so :-) Die Orks sind
lebende Wesen aus Fleisch, Sabber und Blut, die rennen halt herum wie es
ihnen passt. Wir Magier koennen doch nicht zu den Orks gehen und ihnen
sagen, dass sie noch ein wenig im Dickicht hocken bleiben sollen, bis
Prinz Anatol vorbeigeschritten ist, oder? :-) Das geht doch nicht...
nein nein nein :-)

Dancer - meint: freie Entfaltungsmoeglichkeiten auch fuer Orks!


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



Re: Re: Resetzeiten mal anders (Anatol, 15. Dez 1994, 10:35:57):
#! rn=Dancer rt=787441005


Ahja...habs kapiert.
Ich bin ab jetzt schon froh, wenn bloss zwei Orks nach einer halben Sekunde
auftauchen - und nicht 1093...sie koennten ja das Clonen gelernt haben...

                      (Prinz) Anatol der Traeumer

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



Re^3: Resetzeiten mal anders (Zephyr, 15. Dez 1994, 12:24:35):
#! rn=Anatol rt=787484157

Nunja, wenn sich die ankommenden Orks gegenseitig fertig machen, ist
doch nichts dagegen einzuwenden ;)
          Zephyr, die schon mit 6 Orks in einem Aufzug in Hilberts
                   Turm gestanden hat.. (wieviel Hoechstlast
                  hat das Ding eigentlich??)

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



Questtester (Flintnail, 15. Dez 1994, 20:00:45):
Hmm...da wirft Ryne ne Frage auf, die ich schon immer mal stellen wollte!

  Wer testet die neuen Quests ?

Andere Magier mit ihren Zweitis ?
Mein Vorschlag lautet, lasst dass mal uns Seher machen ! Prinzipiell haben
wir  (Seher) doch genuegend Quest-Erfahrung gesammelt (selbst mit
Komplettloesungen *grins*) und wir haben noch die Spielerlogik (und nicht die
Programmiererlogik) im Kopf. Es gibt mit Sicherheit Sachen, auf die 
Programmierer beim testen einfach nicht kommen (Zitat:'Magier lesen sowieso
keine Raumbeschreibung'). Also, wie waers damit...

    Flintnail...sucht nach neuen Aufgaben ;)

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



Re^4: Spinner! (Flintnail, 15. Dez 1994, 20:18:01):
#! rn=Grimmborn rt=787340648
korrekt Grimmborn, du sprichst mir aus der Seele!
   Flintnail, ueberrascht dass er mit Grimmi eine Meinung vertritt!:)

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



Re: Re: Resetzeiten (war: Red Fraggle) (Icet, 15. Dez 1994, 23:16:45):
#! rn=Mateese rt=787428743
Klar mit driver hooks, aber fuer bestimmte raeume reicht es, jeden zweiten
reset einen call_out mit halber reset-zeit aufzurufen, schon verdoppeln
sich die resets in dem Raum *grins* Aber das mact ihr ja nicht, sonst segelt
der Gamedriver noch eher ab ;-)

-IceT (huch, bin ja Spieler, von was rede ich da?)

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



Re: Typo,Idee,Bug (Dancer, 16. Dez 1994, 00:20:12):
#! rn=Flintnail rt=787518458
Wie waere es mal mit 'hilfe typo', Flintnail?

Ach ja und...es gehoert einiges mehr zum Questtesten als da einmal
durchrennen und sehen, ob alle Details da sind und man die Quest am
Ende gesetzt bekommt. Was fuer Sonderfaelle auftreten koennen, kannst
Du nur beurteilen, wenn Du nicht nur Spielererfahrung hast sondern
auch Programmiererfahrung.
Magier waren schliesslich auch mal Spieler, also geht es nur darum,
die Magier zu finden, die den Nerv dazu haben, so eine Quest zu testen,
und die haben wir.
Ist ja nicht der Fehler der Tester, dass die Quest zu frueh angeschlossen
wurde.

Dancer


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



Re: Re: Typo,Idee,Bug (Grimmborn, 16. Dez 1994, 00:25:38):
#! rn=Dancer rt=787533612
Hmm, ich kann auf Anhieb ein knappes Dutzend Magier aufzaehlen, die hier nie
Spieler waren. Ansonsten hast DU natuerlich nicht Unrecht, nur, wenn man sich
gelegentlich so erwartete syntaxen ansieht... :-(

Grimmborn, Atheist und Hobbytester (lasst 'Boing' schimpfen, den gibts ja
nicht...)

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



...warum wird man Talisman nicht los? (Ronda, 16. Dez 1994, 04:46:37):
Ich habe bei manchen Talisman/Talismaennern (???grins!) das Problem,
dass ich sie nicht loswerden kann, anziehen geht auch nicht, da
ich schon einen habe - wat nu? Wenn sie dann auch noch Selbstladend
sind a la Anti-Andi-B. ist das etwas nervig...
(Eigentlich ja ein netter Gedanke, kann man nicht verlieren und so,
aber koennte man die Dinger nicht einfach weiterschenken oder so?)
Tschuess, viel Spass beim Umprogrammieren,
                                            Ronda =:)
(Die erwartet, nachher gar keine Talism. mehr zu haben... ;) )

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



Re: Re: Typo,Idee,Bug (Yantro, 16. Dez 1994, 09:43:55):
#! rn=Dancer rt=787533612

Ich muss Dancer mal wieder recht geben! Was nuetzt es dem Programmierer, wenn
er zwar gemeldet kriegt, dass ein Fehler vorliegt, aber er keinen Hinweis hat,
WO in der Programmierung der Haken ist. Ein Tester muss im Zweifelsfall
Zugriff auf auf diese Programmierung haben...

Des weiteren will ich hier nochmal den Tester der Fraggle-Quest in Schutz
nehmen, denn er hat sich sozusagen "den Arsch aufgerissen", damit das Teil
ueberhaupt laeuft und einigermassen spielbar ist! Der Tester ist fuer das
finden der Fehler verantwortlich und nicht fuer die Reperatur. Diese Erfahrung
habe ich leider auch schon machen muessen.

Zum Thema "nicht drauf kommen": Es gibt in einigen Quests mehrere
Moeglichkeite n, ans Ziel zu kommen. Der Tester geht davon aber nur EINEN Weg,
der Programmierer muss sich um die anderen kuemmern. Wenn mehrere Varianten
offensichtlich sind, dann werden die auch alle einzeln vom Tester
durchgespielt. Wenn das alles laeuft, dann wird angeschlossen.

Einen Test durch Seher ist Schmarrn, weil ihr den macht, indem ihr die Quest
spielt, wenn sie angeschlossen ist. Wo zum Teufel soll der Unterschied sein,
ob ihr eine Angeschlossene Quest spielt oder eine nicht angeschlossene? Im
Gegenteil hat die angeschlossene quest fuer euch nur Vorteile, weil ich euch
z.B. in der Regel aussuchen koennt, wo ihr TANKEN geht! (In vielen
nichtangeschlossenen Quests ist gar keine Kneipe drin, sodass man sich
hochidlen muss).

Wenn euch Sehern ansonsten zu langweilig ist, dann werdet doch Magier und
testet dann die neuen Quests ;)))

Soviel dazu...

                            Yantro:)

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



Re: Typo,Idee,Bug (Fraggle, 16. Dez 1994, 13:56:18):
#! rn=Flintnail rt=787518458
>Was muss ich alles mit angeben?
Die befehle beziehen sich automatisch auf den Raum, in dem man ist,
wenn der typo in einem detail steckt, einfach das detail nennen, und den
fehler,
z.B.: baum: du siehst, dasS ...
sagt sofort, das man bei dem dass ein s vergessen hat,
Am besten imer kurz und knapp, mit angabe des objektes, das buggy zu sein
scheint

Fraggle

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



Re^3: Typo,Idee,Bug (Boing, 16. Dez 1994, 15:23:33):
#! rn=Grimmborn rt=787533938
Auch Leute die HIER nie Spieler waren, haben mal irgendwo (es gibt ja
genug Paralleluniversen) als Spieler angefangen. Selbst Jof weiss also was
eine
Quest ist, das Argument zieht echt nicht ...
  Boing

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



sell all from bag (Catweazle, 16. Dez 1994, 18:00:56):
[Verlegt von allgemeines, Ymper, 15. Dez 1994, 14:02:37]:
Halloan euch alle,

Ich finde es sehr laestig wenn ich waehrend einer Quest meinen
Schleimbeutel mit Sachen gefuellt habe die ich
Monstern beim slaughtern abgenommen habe, und diese dann EINZELN wieder aus
dem Beutel nehmen muss um sie zu verkaufen. :<
In einem LPC Mud gib es doch die Moeglichkeit eine Funktion:
SELL ALL FROM BAG
einzubauen mit der man in EINEM Befehl den gesamten Inhalt des Beutels
verkaufen kann. So muss ich jedes Teil einzeln aus dem Beutel nehmen -
    UND DAS NERVT !!!!!

Ok, vielleicht laesst sich ja eine solche Moeglichkeit auch im
MorgenGrauen einbauen ... ???

Sagt doch mal Eure Meinung dazu ......

                                         Ymper.

-r


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



Re: sell all from bag (Catweazle, 16. Dez 1994, 18:01:04):
#! rn=Ymper rt=787496557
[Verlegt von allgemeines, Grimmborn, 15. Dez 1994, 17:39:45]:

Gut, ich gruebel immer noch was 'slaughten' mit questen zu tun hat. Meiner
Erfahrung nach kommt beides zusammen eigentlich nur bei Schrat und Friedhof
richtig vor, und da verkauft man den Kram nicht...
Ich weiss nicht, wieso Du alles einzeln aus dem beutel nimmst, nimm alles aus
beutel klappt tadellos. Da man i.a. dann viele gleichartige Dinge hat kann man
mit '&0' diese verkaufen.
Ansonsten, lass den Kram doch liegen. Wozu alles mitschleppen? Mir zumindest
fehlts da nicht selten an Staerke.

Nichtsdestotrotz ist ein 'verkaufe alles aus beutel/kiste' wuenschenswert und
auch wiederholt angeregt worden. Steht doch sicher schon auf jemandes
todo-liste, oder? ;-)

Grimmborn der Atheist


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



Re: sell all from bag (Catweazle, 16. Dez 1994, 18:03:16):
#! rn=Ymper rt=787496557
[Verlegt von allgemeines, Isnogood, 16. Dez 1994, 03:03:04]:
Einen solchen Befehl kann ich nur unterstuetzen
Isnoggod, auch genervt vom staendigen aus dem Beutelholen)


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



Re: Re: Typo,Idee,Bug (Flintnail, 19. Dez 1994, 09:26:28):
#! rn=Dancer rt=787533612
Jo, Dancer...hast recht..bei typo stehts....und wie ist das bei Fehlern...is
der Raum da uninteressant?
naja...
ganz davon ab...
Was fuer ne Schere hast du denn im Kopf....meinst du alle Spieler laufen hier
'rum , lesen nur die wichtigsten Textpassagen oder arbeiten mit
Komplettloesungen?
Ich hab nicht vorgeschlagen, nur noch Spieler testen zu lassen. Aber es ist
vielleicht zum Debbuging ganz sinnvoll...
Dann fallen solche Diskussionen wie Fraggle Nervtoeter... sehr wahrscheinlich
weg!
...und ausserdem: Woher willst du wissen, welche Kenntnisse andere Spieler
haben...? Reicht die Macht der Magier doch weiter als ich immer annahm...?

Flintnail stark verwundert...

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



Re (Catweazle, 19. Dez 1994, 14:33:53):
[Verlegt von allgemeines, Sethos, 19. Dez 1994, 12:08:49]:
Die Rubrik 12 Entwicklung ist leider randvoll, deshalb schreibe
ich hier.

Mein Artikel bezieht sich auf Artikel 64 in Rubrik 12 von Yantro
zur Diskussion Typo, Idee, Bug.

Also ich verstehe nicht, warum hier eine Ueberpruefung der Quests
durch Seher so radikal verneint wird. Ein Seher ist halt doch ein
Spieler und hat entsprechend auch noch den Sichtwinkel eines Spielers.
Ich denke, das ist ein nicht zu vernachlaessigender Vorteil, den
ein Seher einbringt. Er kann auch praxixbezogene Probleme (wann sollte
man tanken koennen? wo kann man das? wie stark sind die NPC's? wie
schnell sind sie jetzt tatsaechlich zu besiegen? sind die Syntaxen
sehr verquer? (es langt ja teilweise schon, das es nur eine moegliche
Syntax gibt, man aber jetzt genau auf diese, wenn auch logische nicht
kommt) u.s.w.) dann doch 'realistischer' einstufen als ein Magier-Tester.

Bei meinem Quest sind nachtraeglich noch einige Sachen aufgetaucht, die
ein Magier halt nicht sieht. (Das ist jetzt keine Kritik an den Testern,
die ihre Arbeit sehr gut machen (ist eine Heiden Arbeit), sondern einfach
Tatsache). -Greets to Flintnail-

Es waere z.b. Problemlos moeglich die Reihenfolge der Tester:

- programmierender Magier
- befreundete Magier
- Regionsmagier
- Questtestender Magier

um die letzte Stufe :

- Seher

zu erweitern

Das Argument, das Seher das Quest ja eh zuerst spielen und so automatisch
zu Questtestern werden finde ich etwas schwach und fuer einen Seher auch
nicht gerade sehr ermutigend. So nach dem Motto: Pins net, Du testest ja eh'
unfreiwillig.

Mir kommt diese Diskussion so vor, als ob man krampfhaft verhindern will, das
Seher mal etwas zu tun bekommen, was eigentlich etwas ausserhalb des MUD's,
bzw.
dessen liegt, was der 'normale' Spieler zu sehen bekommt.



Sethos


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



Gilde (Aranya, 19. Dez 1994, 16:16:42):
Mal wieder eine grundsaetzliche Geschichte: Wenn ich in meinem geliebten El-
fendorf aufwache und dringend meine, in die Gilde zu muessen, stoert es mich
jedesmal, dass ich dazu in die Hauptstadt laufen muss. Elender Zentralismus!
Warum kann nicht an jeder Startstelle eine kleine Gilden-Filiale eroeffnet
werden, wo man die alltaeglichen Gildengeschaefte erledigen kann?

Just IMHO
         Aranya

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



Re: Re (Death, 19. Dez 1994, 17:51:12):
#! rn=Catweazle rt=787844033
Ich kann Sethos' Meinung und Ansicht nur vollstens unterstuetzen!
Ich denke es ist vollkommen grechtfertigt, wenn einige, freiwillige Seher vor
dem Anschluss einer Quest diese testen.
Natuerlich darf dies nicht voellig ausufern.
Die Seher machen dies natuerlich auf eigene Gefahr hin, falls sie sterben, so
kein Programmierfehler vorliegt, sterben sie halt.
Seher sehen *grins* Quests noch eher aus der Sicht eines Spielers. Gerade
weil Magier den Quelltext (Sourcecode) lesen koennen, finden sie manche Fehler
nicht.
Ich meine, man sollte Sehern die Moeglichkeit geben, eine Quest als letztes
Glied der Testerkette zu testen!

DER SCHWARZE TOD

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



Re: Re: Re (Boing, 19. Dez 1994, 18:09:45):
#! rn=Death rt=787855872
> Die Seher machen dies natuerlich auf eigene Gefahr hin, falls sie sterben,
so
> kein Programmierfehler vorliegt, sterben sie halt.

Nicht ganz ... auch wenn ein Programmierfehler vorliegt, wird (wuerde) es
KEINEN Ersatz geben. Genau aus diesem Grund sollen Spieler erst in ein
Gebiet, wenn es offiziell angeschlossen ist. Bei Fehlern in angeschlossenen
Gebieten gibt es selbstverstaendlich Ersatz.

  Boing

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



Re: Re: Re (Dancer, 19. Dez 1994, 23:31:33):
#! rn=Death rt=787855872
Im Uebrigen koennen mit einem Spieler auch noch ganz andere Dinge passieren,
als dass er 'nur' stirbt. Und wer wird sich dann am meisten aufregen, dass
seine maximale Lebenspunktezahl auf einmal seinem Intelligenzwert entspricht,
seine Magiepunktzahl auf einmal negativ ist und auf einmal nicht mehr seine
MPA (mit allen markierten Artikeln) autoloading ist sondern seine
abgebrannte Fackel, dass sein Blutsaugerschwert auf einmal Kampfwerte eines
gerupften Sumpfhuhns hat, und sein 'toete'-Befehl nur noch funktioniert,
wenn er als Argument seinen eigenen Namen eingibt? - Der Spieler. Und wenn
es ein Seher ist, dann wird es sich umsomehr aufregen. Und wo? In der MPA,
weil es ja alle mitbekommen sollen. Und wollen wir uns das allen antun?
Nein.

Uebertrieben, aber durchaus die richtige Richtung...

Dancer


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



Re: Gilde (Yendi, 20. Dez 1994, 09:18:03):
#! rn=Aranya rt=787850202

Jaaaaa!!! (Oooops, sorry...)

Eine Elfengilde muss her! Und ein eigener Hafen mit Inselrouten! :)


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



Re: Re: Gilde (Silvana, 20. Dez 1994, 09:23:47):
#! rn=Yendi rt=787911483
Ja, klar. Machen wir doch alles.
Und das Sehertor legen wir dann in die Elfengilde.
Ausserdem fehlt natuerlich noch ein Elfen-Privat-Friedhof,
und Lofwyr zieht in die Elfenkneipe um, damit es zum tanken
nicht so weit ist... *totlach*

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



Re^3: Re (Sethos, 20. Dez 1994, 11:09:32):
#! rn=Dancer rt=787876293
Eine kleine Anmerkung zu Deinem Artikel, Dancer.
Wenn solche gravierenden Fehler noch auftreten, wenn das Quest schon alle
Magier-Test-Stufen durchlebt hat, ja dann...also wie soll ich sagen....
Wenn das so waere, dann muesste eigentlich das ganze MG nicht laufen, oder?
:-)


Sethos

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



Re^4: Re (Boing, 20. Dez 1994, 11:19:12):
#! rn=Sethos rt=787918172
Deshalb gibt es ja die ganzen Magier-Test-Stufen, und danach
wird die Gegend angeschlossen und alle Spieler duerfen rein.
  Boing

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



Seher als Questtester. (Hawk, 20. Dez 1994, 13:07:10):
Ich wollte mich eigentlich aus dieser Diskussion
heraushalten. Da aber einige voellig verquere Artikel
erschienen, muss ich nun wohl oder uebel
mit diesem Vorsatz brechen.
Man kann bei der Lektuere der Rubrik Entwicklung den Eindruck gewinnen,
dass die Magier sich nicht nur machtgeil nennen, sondern es auch
wirklich sind. Wie sonst ist zu erklaeren, dass mit hanebuechernen
Argumenten versucht wird die Seher davon abzuhalten, mehr
Verantwortung fuer das Werden des Mud zu uebernehmen.
(Was uebrigens auch schon mal eine Forderung von Magierseite war.)
Wieso probiert man ein neues, von Seherseite erwuenschtes Konzept
nicht einfach aus, und sieht, ob es sich bewaehrt?
Oder haben die Magier einfach nur Angst, dass sie mit anderen
zusammenarbeiten muessten, und sich nicht mehr wie der liebe Gott
auffuehren koennten (Diese Spitze geht an Boing's Adresse).
Wie gesagt - ein Vorschlag zur Guete:
Lasst die/uns Seher doch mitmachen, bei der Gestaltung des Muds.
Sie moegen keine so guten Programmierer sein wie die/Irh Magier.
Gute Ideen haben koennen sie trotzdem.
 ----- und -----
wenn es sich nicht bewaehren sollte, kann man von dieser Regelung wieder
Abstand nehmen. KEINESFALLS sollte man hier einen heiligen Krieg anzetteln.

Ein HAWK, der sich nur noch wundern kann.

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



Re: Seher als Questtester. (Highlander, 20. Dez 1994, 13:20:41):
#! rn=Hawk rt=787925230
Huch, da muss ich aber Boing mal eben in Schutz nehmen.
Es ist nun mal so, dass eine der Regeln im Magiervertrag
besagt, dass in nicht angeschlossenen Gebiete KEINE Spieler gelassen
werden duerfen, und das ist nicht auf MG-Mist gewachsen, diese
Regel. Ich persoenlich haette nicht mal was dagegen, diese Regel zu
aendern (mit disclaimer: Betreten auf eigene Gefahr).
Andererseits stellt sich die Frage, warum. Schliesslich sollte eine Quest
(oder allgemein ein Gebiet, muss ja keine Quest sein) zu dem Zeitpunkt,
wo ein Seher reinduerfte, sowieso schon mehrfach durchgemacht worden sein.
Zugegeben: Mehr Leute sind mehr Ideen, wie man etwas machen koennte
(d.h. Syntaxfragen).
Das mit dem "Keine Spieler" ist also mehr Behalten alter Regeln als
Angst vor Zusammenarbeit - ohne diese ist ein Mud sowieso nicht aufzuziehen.

Just my $.02,

    Highlander

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



Re: Seher als Questtester. (Catweazle, 20. Dez 1994, 13:31:34):
#! rn=Hawk rt=787925230
Hiach, kinder.
Das ist doch ganz einfach.
Magier sind magier, und in dieser Position fuer die Programmierung und
Erweiterung des Muds verantwortlich!
Seher hingegen sind SPIELER!, und in dieser Funktion im Grunde genommen
an der Entwicklung des Muds nicht im geringsten beteiligt!!!
Wenn ein Magier eine Quest schreibt, dann ist er dafuer zunaechst alleine
verantwortlich. Er hat somit auch dafuer zu sorgen, das die Quest
funktioniert!
Diese Verantwortung kann man dann noch auch den entsprechenden Regionsmagier
erweitern und schliesslich auch auf den Magier, der die Quest endgueltig
eintraegt. Ihr wundert EUch sicherlich, aber genau diese Reihenfolge steht
auch in einem frueheren posting ueber die Testerreihenfolge.
NEU ist der dazwischengeschaltete Hilfsmagierlevel, das ist ein Magier, der
den Questanschliesser dabei unterstuetzt, die Quest zu testen. Dies wurde
notwendig, weil es derzeit einen Quest-rush gibt, und ein einzelner Magier
damit halt nicht mehr klar kommt.
Ihr seht, die testreihenfolge haengt wirklich nur von der Verantwortlichkeit
fuer die Quest ab. Also das finde ic wirklich alles andere als hanebuechen,
und vor allem schon nicht machtgeil. Schliesslich bekommt ihr die Quest zu
sehen, so schnell wies geht und in dem besten zustand wies geht. Bei derart
grossen Quests, wie die von Fraggle, KANN man einfach nicht alles testen!
Da muss man halt zu beginn ein paar defekte in Kauf nehmen. Und ueberhaupt,
es ist doch wirklich schnurzpiepe fuer euch seher, ob ihr die Quest vor oder
nach dem Anschliessen zu sehen bekommt. Aus diesem Grund versteh ich auch
Eure Aufregung nicht. Naja, es gibt wohl ein paar unter Euch, die einfach
zu ungeduldig sind und immer alles so schnell wie moeglich und am besten
noch als allererster zu sehen bekommen.
Yours truly,
                 Catweazle

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



Re: Seher als Questtester. (Tryfan, 20. Dez 1994, 13:59:50):
Hi
 ich wollte mich ja eigentlich auch raushalten, aber ....
Ich muss im grossen und ganzen den Sehern zustimmen. Mir scheint es, dass
auch wenn wohl alle Magier irgendwann irgendwo mal Spieler waren, sie den
Bezug zum Spielerdasein fast voellig verloren haben.
 Ich habe persoehnlich die Erfahrung gemacht, dass Magier selbst mit 'mschau
aus' oder/und ohne Sonnenbrille oder gar nur mit Spielerzweity ein Quest
mit anderen Augen sehen als ein einfacher Spieler, der nie Magier war.
 Grade das macht Seher als Testquester so wertvoll, den es sind doch nicht
die
Magier, die das Quest hinterher spielen sollen, sondern die Spieler.
Spieler sind im Allgemeinen viel einfachsreicher und geduldiger, wenn es
darum
geht Alternativen zu riskoreichen Aktionen zu finden. Welcher Magier laeuft
mit einem Zweity in einem zu testendem Quest rum, der noch Angst vorm Sterben
hat?
 Es geht mehr um die problemlose Spielbarkeit der Quests als um trickreiche
Programmierung, und dabei haben mir Seher sehr geholfen. Ich halte Seher
fuer die besten Questtester, die es gibt, grade weil sie noch Spieler sind.
 Dieses soll nicht die aufopferungsvolle Arbeit und Muehen schmaelern, die
sich unsere Magier-Questtester machen. Ich halte auch diese fuer notwendig.
Tryfan

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



Kleine neue Features bei Mail (Jof, 20. Dez 1994, 14:23:43):
 Hi,
 es ist jetzt moeglich, Mail aus MorgenGrauen herauszuschicken und auch
Mail von aussen an Spieler in MorgenGrauen zu versenden. Wie geht das?

 1) Mail rausschicken: Einfach als Empfaenger die komplette Email-Adresse
des
    Empfaengers angeben, zB fraune@math.uni-muenster.de Es MUSS der
komplette
    Domainname angegeben werden - fraune@math ist also nicht ausreichend.
    Weiteres ist nicht zu beachten. Die Empfaenger der Mails koennen diese
    einfach mit reply (oder was immer deren Mailtool erlaubt) beantworten,
so
    lange sie nicht von Hand das Subject aendern.

 2) Mail von aussen ins Mud: Die Mail muss an mud@mud.uni-muenster.de
    adressiert werden - der eigentliche Empfaenger steht im Subject. Das
    Subject darf mehr oder minder aussehen, wie es will - es muss lediglicg
    mind. ein Eintrag der Form

MG-Mail mudname

   existieren, dieser bestimmt den Empfaenger. Es duerfen durchaus mehrere
   Eintraege dieser Form drin sein, der 1. wird als Empfaenger benutzt, die
   anderen bekommen ein CC. Auch hier kann mit mud einfach mit r auf die
Mail
   geantwortet werden. Beispiel fuer ein komplettes Subject:

Dies ist eine TestMail - MG-Mail jof MG-Mail boing

 Viel Spass !

 Jof

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



Re: Kleine neue Features bei Mail (Jof, 20. Dez 1994, 14:25:38):
#! rn=Jof rt=787929823
 Achja, hatte ich noch vergessen - wenn ihr eine Mail vom Mud nach draussen
schickt, kann es bis zu 30 Minuten dauern, ehe die WIRKLICH losgeht. Also:

 GEDULD :)

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



Re: Kleine neue Features bei Mail (Mateese, 20. Dez 1994, 14:28:37):
Bei Mail von aussen nach innen: warum nicht die <name>%mud@uni-muenster.de
  Adressierung verwenden?
 -- Mateese

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



Re: Re: Seher als Questtester. (Thorin, 21. Dez 1994, 10:31:41):
#! rn=Catweazle rt=787926694
Hi Leuts,
Also bei der ganzen Diskussion draengt sich mir foermlich eine Frage auf :
Sind Seher Spieler zweiter Klasse ? Was haben sie ueberhaupt fuer einen Grund
zu exestieren ?
Denn anscheinend haben sie keine Aufgaben/duerfen keine uebernehmen, und die
paar wenigen Sachen, die sie von Spielern unterscheiden, machen den Kohl auch
nicht fett.
Dabei gibt es dann auch level 5 Spieler, die dieselben Stats haben wie Seher,
also wozu gibt es Seher ?
Thorin, der diese Frage mal gern beantwortet haben moechte, da er aus
Langeweile Magier geworden ist .

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



Re^3: Seher als Questtester. (Li, 21. Dez 1994, 10:37:29):
#! rn=Thorin rt=788002301
Hi thorin!
Gute Frage! Vieleicht sollte man bei der Entwicklung der Gilden z.B. mehr auf
die Seher eingehen, so dass z. B. nur Seher bestimmte Raenge erreichen
koennen.
(Wargon, ich hab dein Script gelesen).
Das waere eine Aufwertung der Seher, die ja nun wirklich etwas besonderes
unter den Spielern sind.

Li

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



Re^4: Seher als Questtester. (Rumata, 21. Dez 1994, 12:03:20):
#! rn=Li rt=788002649
Level 5 Spieler mit Seherstats sind wohl kaum als regulaere SPieler zu
werten. (Zweities, oder Listies...)
:-)
Rumata
(**

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



Re: Neue Rassen (Ray, 21. Dez 1994, 12:06:00):
#! rn=Knoerry rt=787313185
hallo magier!

der meinung kann ich mich nur anschliessen. neue rassen wuerden das spiel
etwas vielfaeltiger machen und vielleicht auch das geschehen besser
verteilen,
wenn man eine z.b. in der gegend von drachenhort (mit entsprechender infra-
struktur) starten laesst.

greetings
ray

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



Re^5: Seher als Questtester. (Li, 21. Dez 1994, 12:09:22):
#! rn=Rumata rt=788007800
Ich sprach auch nicht von Level 5 Spieler mit Seherstats, sondern von den
Ersties, den Sehern halt.

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



Re auf artikel 66 in Entwicklung (da ists voll) (Catweazle, 22. Dez 1994, 10:53:27):
[Verlegt von allgemeines, Yantro, 21. Dez 1994, 12:34:29]:

Hi Thorin, Hi ihr Spieler.

Zuerst moechte ich darauf hinweisen, dass ich immer noch gegen den Test von
nichtangeschlossenen Gebieten durch Spieler bin. Ich habe immer noch kein
gutes Argumten gehoert, das mir zeigt, wo der Unterschied zwischen dem spielen
einer Quest vor oder nach dem Anschluss ist.

Wenn es aber doch dazu kommen sollte, dass eine Quest von einem Spieler
getestet werden soll, dann ist das fuer mich AUF KEINEN FALL ein
Seherprivileg!!!
Wenn ich eine Quest schreibe, die ab level 10 (krieger, glaub ich) spielbar
sein soll, dann werde ich als Progger mir NIE einen Seher zum testen
aussuchen, sondern es eben einen Level 10 Spieler versuchen lassen. Alles
andere waere der groesste Unfug und wuerde nur dazu fuehren, dass die
Relationen verzerrt werden! Die Testmagier testen immer mit einem 2nd, der dem
"empfohlenen" Level angepasst ist und das koennen Seher nunmal nicht!

Des weiteren halte ich es persoenlich fuer eine Unverschaemtheit, dass Gatsby
und mir unterstellt wird, wir seien, nur, weil wir Magier seien, mit unserer
Denkweise zu weit von den Spielern weg. Das ist groebster UNFUG!!!

Fazit: Entweder es gleibt, wie es ist oder die Questen werden auch von
Spielern getestet, dann aber von Spielern der entsprechenden Spielstufe (KEIN
Sonderprivileg der Seher)

             Eure Yantro:)


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



Seher als Tester?! (Catweazle, 22. Dez 1994, 10:54:25):
[Verlegt von allgemeines, Ratz, 21. Dez 1994, 13:52:57]:
Hallo, wg. ueberfuellung schreibe ich hier.

Ich lese immer nur Seher als Tester. Wieso eigendlich ausgerechnet seher?
Wenn ueberhaupt ist es wohl meiner Meinung nach am geeignststen einen Spieler
mit dem Level durch die Quest zu schicken fuer den die Quest geschrieben
wurde.
Manche Sachen fallen den Staerkeren gar nicht auf. Welcher Seher hat zum
Beispiel eine Staerke von 8 und wenig erfahrung im loesen von quests, sodass
er richtuig beurteilen koennte ob die Aufgabe auch fuer einen Anfaenger
loessbar ist.
Also ich plaediere wenn ueberhaupt fuer einen Test durch einen Spieler mit
Questangepasstem Level.
Mit freundlichem Gruss an alle Seher und Magier und Questschreiber
ratzfatz Ratz


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



Die Kristallkrone. (Catweazle, 22. Dez 1994, 10:55:08):
[Verlegt von allgemeines, Hawk, 21. Dez 1994, 19:00:18]:
Eigentlich wollte ich diesen Artikel in der Rubrik 'entwicklung'
platzieren. Leider war diese Rubrik schon voll. ......
Ich haette eine Idee zu der Kristallkrone.
Es ist ja wirklich schwierig die vollstaendig zusammenzubauen.
Dafuer ist sie eine sehr gute Ruestung.
Wie waere es, wenn beim Einsetzen des latzten Kristalls etwas
besonderes passieren wuerde?
So in der Art von 'Der Geist des Kristalldrachen erscheint und uebergiesst
dich mit seinem Blut. Er spricht:
Der Schutz der du nun traegst wird dir von grossem Nutzen sein.
Halte ihn in Ehren und achte ihn wohl.'
Der Geist des Kristalldrachen verschwindet und hinterlaesst in die ein
Bweustsein des Schitzes und der Geborgenheit.
'
Na ja, oder so aehnlich?
Was haltet ihr davon?

Ein immer zu Scherzen aufgelegter HAWK, der sich ab dem neuen Jahr
nur noch aus Vancouver einloggen wird. ;-)


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



testquestende Testquester (Catweazle, 22. Dez 1994, 10:58:16):
[Verlegt von allgemeines, Ryne, 21. Dez 1994, 23:13:55]:
HI!

Also, diese ganze Diskussion zum Thema Seher als Testies halte ich fuer
ueberfluessig...

1. Wir haben hier Regeln. Und die sagen, Seher sind Spieler, und Magier
sind Magier (und machtgeil ;)) - und Spieler gehen dahin, wo sie duerfen,
und sie duerfen nur in angeschlossenene Gebiete, so einfach ist das. Jeder
kann sich aussuchen, was er machen will, und hat sich dann auch an die
Regeln seiner Gruppe zu halten.

2. Seher gehen meistens als erste in die neuen Quests herein - und damit
sind sie doch auch Tester, oder ? - wo liegt denn der Unterschied, ob ich
ein Gebiet vor oder nach dem offiziellen Anschluss erwandern kann ?
Voellig wurscht. Wie ich schon bei meiner Kritik am Fraggle- Quest
geschrieben habe: Bugs und / oder FRZG bei neuen Quests halte ich fuer
normal, die kommen immer wieder vor. Die gibts ja auch haeufig bei alten
Quests, die schon hunderte von Leuten gespielt haben. Warum diese Bugs
in neuen Quests ploetzlich nicht mehr aufauchen sollen, nur weil da EIN
Seher durchgelatscht ist, ist mir zweifelhaft.

3. Natuerlich sehen Spieler neue Quests aus einem anderen Blickwinkel
als Magier, und kommen auf Syntaxen, die die Magier nicht bedacht
haben. Aber wenn ich nun vor Anschluss der Quest einen Seher
durchschicke, der auf Anhieb die richtige Syntax trifft ? - hmm. - dann bin
ich nicht weitergekommen, dann haette es auch ein Mag testen koennen. -
Also schicke ich zur Sicherheit 2 Seher durch das Quest - oder besser
noch 3 - oder 4 ? - besser noch alle Seher, und ums realistisch zu halten ?
Und dann, um ganz sicher zu gehen, noch jeweils 5 Spieler der Level 15,
10 und 5, damit fuer jede Gruppe ein repraesentativer Schnitt da ist. Neee,
Leute, das ufert doch aus, wo soll man da die Grenze ziehen ???

4. Zum Thema SEHER: Mir ist nicht klar, warum dieser Begriff hier
dauernd faellt. Es gibt eine Menge > normale < Spieler, die die Quests
genauso gut testen koennten. Fuer ein Privileg halte ich es nicht mehr,
Seher zu sein, dafuer haben es in letzter Zeit zu viele Spieler geschafft,
Seher zu werden, und zwar mit Haufenweise Komplettloesungen. Warum
diese Leute, die sich oft noch nichtmal die Muehe machen, sich eine Karte
von einem Questgebiet anzulegen, dann aber dauernd rumfragen, weil sie
in einem Quest etwas nicht finden (weil sie halt nicht wissen, wo sie schon
waren und wo nicht) gute Questtester sein sollen, weiss ich nicht.Aber
wenn man Mitteilungen von einem Seher bekommt wie:>xxx teilt dir mit:
aha, die Seherbausparkasse ist in Drachenhort - aber wo ist Drachenhort
?< oder: >xxx teilt dir mit: Aeh - Arena ? - wo soll die denn hier sein ?< -
dann zweifel ich doch schon, dass sie die Erfahrung besitzen, wirklich
Questtester zu werden.

5. Das allerschaerfste an dieser Diskussion ist, dass hier einige so tun, als
wollten sie unbedingt mithelfen, das Mud neu zu gestalten, Fehler
auszubuegeln und neue Gegenden zu erforschen. *kratz am Kopp* -
Kaum einen der an dieser Diskussion beteiligten Spieler habe ich in den
letzten Tagen nach Moron gehen sehen. Komisch - da ist doch ein neues
Gebiet - schauts euch doch an, sind auch (noch) ne Menge Fehler drin, da
koennt ihr dann noergeln, wenn ihr wollt. Dasselbe gilt fuer Gegenden wie
die Daemonenburg und das Lupinental - ich kenne haufenweise Spieler,
die da nie drin waren. Schaut euch doch mal um !!! - es gibt genuegend
Gebiete, die ihr noch nicht kennt, also geht doch dort hin, wenn ihr mal
etwas neues sucht !!!

Also, Leute: Wer als Questtester questtesten will, der kann Magier
werden, und obendrein noch eigene Raeume und Quests und
wasweisichauchimmer machen. Aber wer sich entscheidet, Spieler zu
bleiben, der muss eben die konsequenz ziehen,dass ihm hier einiges so
lange verborgen bleibt, bis es angeschlossen ist. Ich kann damit gut leben.
Und fuer diejenigen, die mal was neues erforschen wollen: Da gibts einen
Ort namens Drachenort, und etwas oestlich davon eine Arena, kann man
ne Menge machen dort ;))

Hui, viel Text, wer das hier liest hat durchgehalten, und ich verspreche
ihm, es steht kein P.S. unter dem Artikel ;))

Ryne !

P.S.: Ist wirklich kein P.S. da - eigentlich zumindest !

P.P.S.: Aber ein P.P.S. !!!



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



Anwort zu Rhynes Artikel (Catweazle, 22. Dez 1994, 11:00:57):
[Verlegt von allgemeines, Hawk, 22. Dez 1994, 10:10:28]:
Lieber Rhyne,
dei Artikel zeugt davon, dass du in keiner Weise begriffen hast,
worum es in der gesamten Diskussion geht.
Ich will nicht so weit gehen, zu sagen, dass du es nicht versucht hast.
Aber wundern darf ich mich doch wohl.
Eine Antwort auf deinen Artikel ist damit wohl gegeben.

Ein HAWK, der es schade findet, wenn man erst schreibt, und dann fraegt.

P.S.: Im Gegensatz zu dir habe ich ein P.S.: Rede doch mal mit
ein paar Sehern ueber die Sache. Vielleicht verstahst du dann,
worum es geht. Ich wuerde mich freuen.


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



Re: testquestende Testquester (Asmodis, 22. Dez 1994, 16:21:16):
#! rn=Catweazle rt=788090296
Also ich kann Ryne da nur zustimmen, es ist wirklich nicht notwendig, dass
Seher
eine Quest vor Anschluss pruefen, nur sollte man vielleicht dann Leute mit
geeignetem Level dazu anheuern, denn die Testspieler, die ja von Magiern
gesteuert sind, sind dazu wirklich nicht geeignet, da sie schon viel zuviel
Questerfahrung haben und sich gar nicht in einen Anfaenger (dazu zaehlen bei
mir alle Spieler unter Level 12 :) ) hineinversetzen koennen, und deshalb
selbst eine Level 5 - Quest unnoetig schwer machen.
Desweiteren, finde, ich dass man in neue Gebiete, die fuer HLP gedacht sind,
vielleicht doch vorher einen Seher reinschicken sollte, weil sich sonst dort
die Todesfaelle durch bugs haeufen, gell Calum und Death :)

So, das war eigentlich alles, was ich dazu sagen wollte, hab den Rest
vergessen,
weil ich versaeumt habe, die Kanaele auszuschalten :)

           Ciao, Asmodis (der schon ALLES hier gesehen hat, was
angeschlossen ist)


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



gegenstaende (Catweazle, 27. Dez 1994, 13:29:20):
[Verlegt von allgemeines, Ray, 23. Dez 1994, 11:54:48]:
passt zum thema <verkaufe alles aus beutel> und so weiter.
ich stehe hier in der ssp bei 8(!) schleimbeuteln am boden, und komm
an meinen eigenen nicht mehr ran. kann man nicht eine unterscheidung
zwischen den gegenstaenden am boden und denen im inventory treffen?
auch wenn es zwei gegenstaende mit dem gleichen namen, einen am boden
und einen im inventory gibt, taucht das selbe problem auf: will ich den
am boden in meinen beutel stecken, wandert der aus meinem
inventory automatisch auch mit rein. besonders lustig bei schwertern, mit
denen man eigentlich kaempfen moechte. laesst sich da nichts machen?

auf die programmierkunst der magier hoffend
                 ray, der mit den 9 beuteln etwas genervt ist


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



Dann halt nochmal..... (Catweazle, 27. Dez 1994, 13:29:22):
[Verlegt von allgemeines, Ryne, 23. Dez 1994, 12:16:32]:
Argh, rubrik 12 ist wieder dicht - also musste wieder was verlegen, Cat ;)

Hallo alle zusammen!
Also, mein lieber Hawk, wieso Du mir unterstellen musst, ich haette beim
Schreiben des Artikels >testquestende Testquester< nicht begriffen,
worum es in der ganzen Duskussion geht, bleibt mir verschlossen.
Sollte Deine Vermutung darauf beruhen, dass Du den Ueberblick ueber
die gesamte Diskussion verloren hast, die erst durch meine Kritik an der
Fraggle-Quest ausgeloest worden ist ?

Warum auch immer: hier nochmal meine Argumente in Kuerze:
1. Hawk schreibt: >dass mit hanebuechenen Argumenten versucht wird,
die Seher davon abzuhalten, mehr Verntwortung fuer das Werden des
Muds zu uebernehmen<

a) Ist es ein hanebuechenes Argument, wenn Magier darauf hinweisen,
dass Seher Spieler sind, und Spieler spielen, und gespielt wird dort, wo
Spieler hinkoennen, ohne in ein nicht angeschlossenes Gebiet
hineingetranst zu werden ? So sind nun mal die Regeln hier - und an die
sollte man sich halten.
Es ist uebrigens auch eine Regel, dass sich Spieler keine Waffen selbst
basteln duerfen. Das machen uebrigens auch die Magier. Und wenn ich
anfange rumzumotzen, dass ich auch Waffen programmieren will, dann
kriege ich - zu recht - einen auf den Deckel, und bekomme gesagt: Werde
Magieroder gib Ruhe !! (vergleich hinkt etwas, laeuft aber auf das selbe
Problem hinaus, dass Spieler hier keine Magieraufgaben uebernehmen
koennen)

b) ICH VERSTEHE NICHT, wieso Du meinst, NUR DADURCH aktiv
an der Gestaltung des Muds teilnehmen zu koennen, indem Du in bisher
nicht zugaengliche Gebiete als Tester gelassen wirst.
WARUM ist es nicht AUCH ein Beitrag zum Werden des Muds, wenn
Du in einem angeschlossenen Quest den Magier durch Idee/Typo/Bug
oder durch ein mail auf aufgetretene Probleme hinweist, oder
Verbesserungsvorschlaege machst ?

Ryne denkt: . o O (haben wir am Ende hier Leute, die sich wichtig tun
muessen, indem sie als erste in neue Gebiete reinduerfen, damit sie
hinterher damit prahlen koennen ?)

Oder so gesagt: Erklaere mir doch bitte mal, was fuer einen Unterschied
es macht, vor oder nach Anschluss eines Quests in das Gebiet
hineinzuduerfen!

UND: Glaubst Du ernsthaft, dass ein Quest nur deshalb fehlerfrei laeuft,
weil EIN Seher (oder 2 - 3 oder alle ? -> vgl. meinen letzten Artikel) da
durchgelatscht ist ?????

Ausserdem: Ich sehe kein Problem darin, dass ein Quest bei Anschluss
nicht optimal laeuft. Beispiel Fragle-Quest: Nach einer Menge Problemen
am ersten Wochenende hatte Fraggle bereits am Dienstag/Mittwoch (also
5 Tage nach Anschluss der Quest) fast alle kritisierten Syntaxen erweitert
und die 2 Bugs rausgenommen. Zu diesem Zeitpunkt waren kaum 15
Leute durch das Quest durchgegangen. Somit koennen die restlichen
wasweisichwieviele Spieler, die noch im Mud rumlaufen durch ein absolut
spielbares Fraggle-Quest gehen. Wo liegt also das Problem ?????

2. Hawk schreibt: >oder haben die Magier einfach nur Angst, dass sie mit
anderen zusammenarbeiten muesssten, weil sie sich nicht mehr wie der
liebe Gott auffuehren koennen<

a) Meine Version dieser Aussage: Oder haben einige Seher einfach nur
Angst, dass sie nach Erreichen von Level 20 keine neuen Ziele mehr
haben, und sich ploetzlich nicht mehr wichtig genug vorkommen ?
ES GIBT GENUG ZU TUN ! Man koennte sich mit einer Menge Dinge
auseinandersetzen, die man bisher aufgeschoben hat. Zum Beispiel einige
Quests nochmal spielen, die man bisher nur aus dem Blickwinkel der
Komplettloesung gesehen hat. Dabei entdeckt man ploetzlich Sachen, die
man vorher gar nicht gesehen hat - die dann entweder dazu fuehren, dass
man Verbesserungsvorschlaege leisten kann (-> DEIN Beitrag zum
Werden des Muds) oder die dazu fuehren, dass man ploetzlich neue
Funktionen des Muds entdeckt (womit dann einige Fragen in der MPA
ploetzlich ueberfluessig wuerden, z.B. die immer wieder gestellte Frage
nach der Staerke von Waffen und Monstern: man KANN sie genauer
ausmessen, als es der Schmied tut - auch wenn Bambulko das nicht
glauben mag)

Desweiteren KOENNTE man ja auch mal Gebiete erforschen, wo es keine
Questpunkte zu holen gibt, sondern man nur einfach was neues zu sehen
kriegt. Dabei sei darauf hingewiesen, dass in allen Regionen, in denen es
zwar keine Questpunkte gibt, dennoch immer irgendwelche kleinen
Raetsel zu erforschen gibt, fuer die es dann auch durchweg gute
Belohnungen gibt. Man muesste nur etwas Interesse fuer so etwas neues
aufbringen...

b) Davon abgesehen sehe ich nicht, warum sich Magier im Morgengrauen
als der liebe Gott auffuehren. Ich kann mich an Zeiten erinnern, als es hier
ein schlechteres Verhaeltnis Magier/Spieler gab. Ausserdem stelle ich
durchweg fest, dass die Magier den Ideen der Spieler gegenueber sehr
aufgeschlossen sind. Das einzige Problem, dass sich oftmals stellt, ist dass
die Magier nicht innerhalb von 15 minuten eine Spielerforderung erfuellen
- aber das ist dann wohl eher ein Spielerproblem.

3. Hawk schreibt: >Lasst uns/die Seher doch mitmachen bei der
Gestaltung des Muds. [...] Gute Ideen haben sie aber trotzdem.<

a) Warum wird hier nur von Sehern gesprochen ? Spieler koennten
genauso gut testen wie Seher - wenn ueberhaupt, dann also alle Spieler
mit Einbeziehen (-> vgl. mein letzter Artikel)

b) Jaja, Gute Ideen haben wir alle. Entweder wir bringen sie als
Idee/Typo/Bug ein, oder wir werden Magier. So laeuft das hier - und bei
der Groesse des Muds halte ichs fuer untragbar, die ohnehin auftretenden
Koordinierungsprobleme, die es aufgrund der grossen Zahl von Magiern
zwangslaeufig gibt, durch eine Einbeziehung von Spielern/Sehern als
Hilfsmagier noch zu vergroessern.

c) Wenn Dir die o.g. Moeglichkeiten nicht ausreichen, um hier am
Werden des Muds beteiligt zu sein, haette ich noch eine weitere fuer Dich:
Da laeuft ein NPC durchs Mud, heisst Merlinus - sag ihm dass Du gute
Ideen hast und aktiver als bisher an der Gestaltung des Muds beteiligt sein
willst - und er macht Dich zum Magier ;)

4. So, Hawk, und nun dazu, warum ich in Deinen Augen nicht verstanden
habe, worum es hier geht: Insgesamt forderst Du, dass die Magier ein von
Seherseite gefordertes Konzept ausprobieren sollen, und nicht mit
hanebuechenen Argumenten abwehren PP

Tja, nett geschrieben. Tun die Magier aber auch nicht. Ich lese sowohl in
meinem letzten Artikel, als auch in den vielen anderen in dieser Rubrik
eine Vielzahl von Argumenten gegen dieses Konzept.
Das Problem liegt schlicht darin, dass die Magier DIESES Konzept des
Seher-testquesters nicht haben wollen. Und dagegen lassen sich eben viele
Argumente bringen. Und keines davon ist weit hergegeholt. Ausser
Deiner Vermutung, die Magier wuerden nicht auf unsere Vorschlaege
eingehen. Tun sie naemlich - aber eben nur auf die, die sich sowohl mit
den Regeln des Muds vereinbaren, als auch faktisch realisieren lassen.

Und das ist in meinen Augen bei der Frage Spieler als testquester nicht
der Fall.

winke winke

Und aus gegebenem Anlass nochmal:

                                 *** FROHE WEIHNACHTEN!!! ***

Euer
         Ryne


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



Haeh??? (Bambulko, 27. Dez 1994, 16:20:21):
Wann habe ich jemals behauptet, dass man Waffen nur beim Schmied
auvergleichen kann????/

BAMBULKO

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



Hoppla... (Yendi, 27. Dez 1994, 20:28:00):
Was ist denn das?

"[Abenteuer:] hat dem Hexer Heilung gebracht.
 Clodsahamp ruft: Mauvre meinen Dank ! Ich bin wieder gesund."

Da sollte wohl auch auf dem Abenteuerkanal der Name des betreffenden
Questloesers erscheinen, meint ihr nicht?


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



Rufen und MP-Kosten (Yendi, 27. Dez 1994, 20:34:27):

Was halten die versammelten Magier davon, einen Extrasatz anzuhaengen, wenn
man versucht hat, mit zuwenig MP zu rufen? So im Stil von

"Du must erst wieder magische Kraefte sammeln.
 Aber lies doch mal die Hilfeseite zu den "ebenen"!    "?


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



WICHTIG! Aenderung im Kampfsystem! (Boing, 24. Jan 1995, 18:41:13):
Hallo,

es gibt eine Aenderung im Kampfsystem: Angriffsunterstuetzende Objekte
koennen nicht mehr in beliebiger Anzahl benutzt werden, statt in einer
Sekunde 20 Flammenkugeln zu werfen, nebenbei 10 Ringe abzufeuern und noch
ein bisschen mit Pfeilen (die von Robin) zu schiessen, geht jetzt nur noch
eine dieser Aktionen. Diese Aenderung wird nach dem naechsten Reboot
(also heute frueh um 6:30 Uhr) aktiv.

  Boing

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



Re: WICHTIG! Aenderung im Kampfsystem! (Zardoz, 24. Jan 1995, 18:45:32):
#! rn=Boing rt=790969273
Sollte es bis zum Reboot Probleme z.B. mit den Saeurebaellen geben, dann
solltesich der Spieler renewen lassen oder "ende" machen.


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



Re: WICHTIG! Aenderung im Kampfsystem! (Klinge, 24. Jan 1995, 23:52:47):
#! rn=Boing rt=790969273
Man hat sich oft beschwert dass ihr die Monster staerker und die Waffen
schwaecher macht. Wollt ihr jetzt noch einen draufsetzen indem ihr die Spieler
schwaecher macht und schon vorhandene Moeglichkeiten und erworbenes Wissen
und Faehigkeiten beschneidet ?
Ich erlaube mir zu fragen wozu das gut sein soll.

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



Re: WICHTIG! Aenderung im Kampfsystem! (Catweazle, 25. Jan 1995, 00:34:05):
#! rn=Boing rt=790969273
Soooo, um da mal was anzufuegen...
Im Rahmen der Aenderung wird natuerlich noch einiges anderes
geschehen. Als allerwichtigstes sollten die _ZU_ starke Monster,
als mir da als erstes einfallen, Lofwyr, Goblinhexer, Hydra etc.
stark vereinfacht werden. Ausserdem werden die besonderen
Angriffswaffen etwas verbessert. Dies alles dafuer, dass Monster
allgemein auch noch plaettbar sind.
Also macht Euch nicht allzuviel Sorgen, so wie es aussieht wird
in naher Zukunft einiges an den Monstern geaendert werden, und
zwar in der Hinsicht, das mit entsprechender Taktik Monster
toetbar sind.
Darum hab ich eine kleine Bitte, vor allem an die Seher, da die
sicxh wahrscheinlich am besten mit schweren Monstern auskennen.
Da selbst wir nicht wissen welche Monster alle zu schwer sind,
sein koennen, seid so gut und unterstuetzt uns ein wenig in der
Suche nach diesen Biestern, damit wir sie korrigieren koennen.
Dies gilt vor allem und auch fuer Monster, die irgendwelche be-
sonderheiten beherrschen.
Thanx in advance,
yours truly,
    Catweazle

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



Kampfsystemumstellung (Catweazle, 25. Jan 1995, 00:39:39):
So, und nun ein Wort zu den Magiern.
Alle Magier, die ein irgendwie geartetes besonderes Monster
geschrieben haben, sollten sich nun selbst hinterfragen, ob dieses
Ding mit den neuen Methoden immer noch toetbar ist. Wenn dem nicht
so sein sollte..bitte aendern! Prinzipiell sollte JEDES Monster in
irgendeiner Art und Weise zu toeten sein.
An dieser Stelle moechte ich insbesondere darauf hinweisen, das wir
ein komplettes Anfaelligkeits- bzw. Resistenzsystem haben, naemlich
die vulnerabilities und die damagetypes.
Ich moechte Euch auffordern diese vermehr zu benutzen und bei alten
Monstern oder Waffen zu ueberlegen, ob man diese Werte nciht irgendwie
setzen kann!
Leider werden diese Moeglichkeiten bisher viel zu selten genutzt.
Versucht Euch doch mal dran. Zur Not macht mal ein paar Tetmonster,
diese sind dann im Mud bestimmt gern gesehen.
Yours truly,
        Catweazle

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



Aenderung beim KURZ-Modus (Jof, 25. Jan 1995, 01:18:12):
 Der Befehl "kurz" schaltet nunmehr in jedem Fall in den Kurz-Modus - auch
wenn man sich schon vorher in diesem befand. Entsprechend schaltet der neue
"lang"-Befehl wieder in den Langmodus. Ebenfalls neu ist der "ultrakurz"-
Befehl fuer altbekannte, gefahrlose Strecken. Zu allen 3 Befehlen existieren
auch Hilfeseiten :)

 Jof

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



Kampf-System (Jof, 25. Jan 1995, 01:22:39):
 Aktueller Stand: Man kann nicht nur eine magische Attacke mit Feuerkugeln
o.
ae. durchfuehren - es sind mindestens 3 pro Runde. Zu diesen dreien kommen
fuer Seher noch welche dazu - ab Level 21 jeden 2. Level eine Zusatzattacke.

 Zudem hab ich das Kampfsystem auch an anderer Stelle fairer gemacht -
bisher
war es so, dass, wenn ein Spieler einen Raum betrat, in dem sich ein Monster
befand, mit dem er im Kampf lag, er einen "Begruessungsschlag" bekam. Das ist
auch immer noch so - aber jetzt werden diese Schlaege mit in den normalen
Kampf eingerechnet. Wenn das Monster in einer Kampfrunde einen Begruessungs-
schlag ausgeteilt hat, kann es keine weiteren Schlaege mehr anbringen - es
sei denn, es hat den "Schnell"-Spruch oder aehnliches angwandt, dann zaehlt
der Begruessungsschlag wie EIN normaler Schlag. Das sollte die Sache fuer
Leute, die gern in Horden schlachten - aeh will sagen, im Team arbeiten,
fairer machen.

 Jof

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



Re: Re: PS: (Li, 25. Jan 1995, 13:17:37):
#! rn=Asmodis rt=790957592
Also die Armbrust gibt es schon ziemlich lange. Ich weiss, dass es um 1100
n.Chr. eine "Abruestungskonferenz" ueber Armbrueste gegeben hat.
daraus folgt, dass es die Armbrust schon frueher gegeben hat.
Aber das nur nebenbei. Ich finde eigentlich man sollte das MorgenGrauen gar
nicht 'geschichtlich einordnen. Jeder hat doch seine Vorstellungen, was wie wo
haette sein koennen. Gut, PV und Moulukin aehneln Staedte des Mittelalters,
und bei Pyramiden denkt man immer gleich an Aegypten, aber warum sollen nicht
Typen, die Luther oder Merlin aehneln, nicht nebeneinander existieren?
Das einzig wichtige ist doch, dass es sich hier um ein Fantasymud handelt,
und
Fantasy beinhaltet halt keine "technischen" Geraete. Wenn man da eine Epoche
zum Vergleich anstebt, wuerde ich sagen, bis zur Renaissance kann man gehen,
um sich Anregungen zu holen.
Da gab es zwar schon Buchdruck und Brillen, aber halt noch gewisse
Strukturen, die zur Fantasystimmung beitragen.
also Kulturen aller Laender, vereinigt Euch!
Was ich wichtig finde, ist, dass nicht so viele Geraete auftauchen, die den
fantasyeindruck schaedigen, wie z.B. Feuerwaffen(nur als Beispiel, ich will
die Fernkampfdiskussion um Jofs Willen nicht noch mal anheizen)
Li
(nimmt sich noch China im Jahre 1900 zum vorbild fuer Fernwest)

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



Rubrikvorschlag (Orktoeter, 25. Jan 1995, 17:15:25):
Gibt es gute gruende, die gegen eine Rubrik Biete und eine Rubrik Suche
sprechen ?
Wenn nein, koennte dann ein freundlicher Magier bei gelegenheit mal so nett
sein :)
  OrkT heute mal konstrukiev.

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



Pakete... (Har, 25. Jan 1995, 23:59:02):
Tja, da gibt es nun eien wunderschoenen Paketdienst und man kann damit noch
nciht einmal kleine Aufmerksamkeiten verschicken, wie z. B. nen Ring vom
juwelier, der an der/die/das liebste gehen soll, schade ist das!

Har, der jetzt imme selbst ueberall vorbeimuss... ;)

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



Re^5: Arenameldung (Acrimon, 26. Jan 1995, 00:24:58):
#! rn=Asmodis rt=790891994
So etwas wie Radios oder Fernseher?

Ich schlage tiefschwarze glnzende Kristallkugeln mit einem Durchmesser von
etwa 20 cm vor, die von innen heraus leuchten, Palantir genannt. Nur jemand
mit sehr hoher Intelligenz und sehr hoher Ausdauer wird diese Kugeln bedienen
knnen.

Euer Groer
Acrimon

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



 (Acrimon, 26. Jan 1995, 00:30:49):
Man knnte den Palantir auch als sinnvollen Ersatz fr <teile mit> verwenden.

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



Re: Palantire (Mateese, 26. Jan 1995, 05:38:35):
Kann man sie, wenn man von nicht ganz so hoher Intelligenz ist, den
anderen auch um die Ohren pfeffern?
 -- Mateese

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



Re: Re: Palantire (Kretek, 26. Jan 1995, 07:08:21):
#! rn=Mateese rt=791095115
Aber sicher!
Fernseher kann man ja auch aus dem Fenster schmeissen und so Passanten
damit erschlagen! :)

c u l8er,
Kretek

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



Re^6: Arenameldung (Yantro, 26. Jan 1995, 09:14:04):
#! rn=Acrimon rt=791076298

die Benutzung dieser Kugel reduziert aber dann auch die Intelligenz um mind.
5 statpunkte :)

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



Re:  (Asmodis, 26. Jan 1995, 10:55:02):
#! rn=Acrimon rt=791076649
Tja, aber ein Palantir gibts schon in anderen MUDs also nicht so originell :)

Ausserdem gibts hier auch schon Kristallkugeln

                               Ciao, Asmodis

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



rubrik stufen (Grimmborn, 26. Jan 1995, 13:44:50):

Prima! Wenn das jetzt noch mit dem wizzen klappen wuerde...
Aber Merlin ist ja eh ein Magiergegner, der will das vermutlich nicht so
ausposaunen... ;-)

Grimmborn der Atheist. Seher. Hydratoeter. *grummel*

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



Re: rubrik stufen (Jof, 26. Jan 1995, 18:54:05):
#! rn=Grimmborn rt=791124290
Grimmorn der Atheist. Seher. Hydratoeter? Bugnutzniesser! Zaehlt nich :)

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



Re^4: Arenameldung (Dancer, 26. Jan 1995, 21:20:37):
#! rn=Durian rt=790855380
Nur mal so als Anreiz fuer Sachen, die noch in der Zukunft liegen... wie
waers mit einem Arena-Kanal, der anzeigt, wann wer in die Duesterkatakomben
geht ;-)
Wenn dann da steht: [Arena:] Hinter Asmodis schliesst sich das wuchtige Tor
der Duesterkatakomben.
dann werden bestimmt einige in die Zuschauerlounge rennen, hm? :-)

Dancer - zusammen mit Zardoz kraeftig am werkeln.


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



Re^5: Arenameldung (Yendi, 26. Jan 1995, 21:32:01):
#! rn=Dancer rt=791151637
Reicht da nicht der Todeskanal? *grins*

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



Re^6: Arenameldung (Zephyr, 27. Jan 1995, 10:23:17):
#! rn=Yendi rt=791152321
Nee.. dann isses ja schon zu spaet :)

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



emote und echo (Guldukat, 27. Jan 1995, 10:32:28):
Koennt jemand bei emote und echo einen zeilenumbruch einfuegen?
GD

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



Re^7: Arenameldung (Dancer, 27. Jan 1995, 11:16:52):
#! rn=Zephyr rt=791198597
Zu spaet??? Todeskanal??? :-))

Ihr koennt Euch noch im Traum nicht vorstellen, was da auf Euch zukommt,
meine Lieben :-)))) Nicht im entferntesten....

Dancer - duester.


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



Re: Re: rubrik stufen (Grimmborn, 27. Jan 1995, 11:29:57):
#! rn=Jof rt=791142845

Hmm, von wem auch immer dieser Artikel ist:
Ich bin Spieler, kein Magier. Als Spieler ist es meine Aufgabe, in dieser
Welt, so, wie sie von den Magiern gestaltet wird, bestmoeglich zurecht zu
kommen. Und genau das hab ich getan.
Was kann ich dafuer, wenn die Hydra den Raum betritt und geblendet von meiner
Groesse und Macht sich nicht mehr regt und demuetig alle Pruegel hinnimmt die
auszuteilen ich fuer gut befunden habe?
Das kann man mir doch wohl nicht vorwerfen, oder? ;-)

Ausserdem, die Hoerner der Koepfe die es im gleichen Zuge erwischt hat
existieren auch noch, zumindest, bis sie wieder fuer den horrenden Preis von 5
Muenzen (So billig ist der Ruhm dieser Welt!) verkauft werden.

Sich keiner Schuld bewusst und guter Dinge ob der Einsicht der Hydra,

Grimmborn der Atheist und Hydratoeter

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



abkuerzen (Ray, 27. Jan 1995, 15:18:38):
beim mitteilen kann man die namen so schoen abkuerzen. koennte man das nicht
fuer aktionen wie rknuddle und so auch einfuehren? kann doch nicht so ein
grosses problem sein, oder?

   ray (schreibfaul)

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



Code (Grimmborn, 27. Jan 1995, 17:15:42):

Hmm, waere es nicht moeglich einen ganz, ganz kurzen Befehl einzufuehren. Ich
stelle mir den Effekt folgendermassen vor:
- Alle Kanaele werden abgeschaltet.
- Der Kobold wird eingeschaltet.
- Eine Seite programmcode taucht auf, natuerlich mit more damit der Kobold
greift (hmm, also nicht ausschalten von Kanaelen...).

Damit, wenn der Chef hinterruecks auftaucht man ihm was "serioeses" bieten
kann.
Muss ja nix geheimnisvolles sein, ich denke, ein paar Zeilen vom GD wuerden
reichen... :-)

Ach ja, der Teddy muesste ausgeschaltet werden, informmodus auch; was einem
halt so den Schirm zumuellt normalerweise...

Grimmborn der Atheist auf der Flucht. Nicht vor der Hydra, die hat er
gekillt.

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



Re: Code (Anatol, 27. Jan 1995, 17:54:39):
#! rn=Grimmborn rt=791223342

Au ja. Ich bin auch fuer einen Boss-Key!

Anatol (begeistert)


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



Re: Re: Code (Hardil, 27. Jan 1995, 18:02:45):
#! rn=Anatol rt=791225679

Und wenn ihr das schon einfuhert, konnt ihr dann auch den Any-Key proggen ?
:-)

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



Re^3: Code (Tzuiop, 27. Jan 1995, 18:03:53):
#! rn=Hardil rt=791226165
Derany-Key ist doch der, wo 1/0 draufsteht

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



 (Catweazle, 30. Jan 1995, 16:48:11):
[Verlegt von allgemeines, Fyt, 28. Jan 1995, 11:22:54]:
Entwicklung ist leider voll...

Ich unterstuetze GDs Vorschlag eines Befehls, der eine Seite
Programmcode erscheinen laesst fuer den Fall, dass ploetzlich 'der Chef'
hinter einem steht, sehr.

Ich hatte frueher schon mal den Vorschlag eines 'nicht-
kompromittierenden' Mudzugangs (d.h. Nur Frage nach Name
und Passwort ohne diesen lp-Muddriver-Vorspann) gemacht, bin
aber nicht erhioert worden... Mir haben sie schon mal den Account wegen
Spielens gesperrt, ich brauch den aber auch manchmal fuer
serioese Dinge, und da sollte man sich's doch nicht
unnoetig schwer machen...

Weitergehedere Vorschlaege haette ich natuerlich auch noch :)

Aber das o.G. waere erstmal ausreichend.

Fyt.


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



Artikelschreiben ist uebel... (Ronda,  3. Feb 1995, 13:00:01):
Hallo liebe Magier!
Waere es vielleicht moeglich, dass beim Schreiben von Artikeln, Briefen und
so automatisch der Kobold an, die Ebenen aus und im Raum Ruhe ist???
Vielleicht koennte der Kobold sich ja auch die Ebenen merken? Und der Kobold
einem am Ende mitteilen (ebenfalls automatisch!), dass er sich was gemerkt
hat? Ich bin halt nen bisschen vergesslich:
Beim Schreiben vergess ich immer, die Ebenen auszuschalten (ja, ich kenne
"-%"...) und dann merke ich zufaellig ne halbe Stunde spaeter, dass nen paar
Leute verzweifelt mit mir reden wollten...und sich wundern, warum ich trotzdem
mich spaeter nicht melde...
(Ich glaube, ich hab sogar mal was drei Tage spaeter beim Kobold gefunden :)
)
Waeren solche Aenderungen irgendwie moeglich? Auch scheinen die Editoren
unterschiedlich zu arbeiten: bei manchen (Zeitung) erfolgt automatisch der
Zeilenumbruch vao einem Wort, bei der Beschreibung (Hexe auf Jolle) glaub ich
nicht (fragt mich nicht... kam mir nur so vor, als waern da manchmal
Unterschiede?)
Ok, vielen Dank im Voraus, vielleicht faellt ja noch jemandem nen Nettes
Feature ein (oder teilt mir mit, was ich mal wieder fuer Funktionen uebersehen
habe =:) )


Tschuess,
          Ronda
Ps: Wo ist bei ner Amerikanischen Tastatur der "~"??? Die Funktionen des
Editors sind naemlich echt nicht schlecht! (Vielleicht dafuer noch ein anderes
Zeichen wie z.B. "%" reservieren?...Entschuldigt bitte die Sonderzeichen, die
kann ich auf diesem Mac irgendwie nicht loeschen???

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



Re: Artikelschreiben ist uebel... (Ronda,  3. Feb 1995, 13:01:20):
#! rn=Ronda rt=791812801
*grins!* ging doch...die Sonderzeichen sind doch nicht drin...auf dem
Bildschirm konnte ich sie nicht loeschen...
Sucht also nicht verzweifelt nach den Sonderzeichen :) !!!

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



Tarnhelm (Yendi,  3. Feb 1995, 21:30:03):

OK, dies ist vielleicht schon drei Dutzend Mal vorgeschlagen worden, und
vermutlich wurde es abgelehnt, weil es zu schwer zu implementieren ist, aber:

Koennte man nicht seine alis in den Tarnhelm uebernehmen?

Yendi
      (... ist eine Rose ist eine Rose.)


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



Umlaute (Acrimon,  4. Feb 1995, 01:48:29):
Knnt ihr bitte den Editor 8bit kompilieren, nicht mehr 7bit, damit wenigstens
die Leute mit vernnftigem Zeichensatz meine Umlaute lesen knnen!
Danke, Euer Groer
Acrimon

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



Re: Umlaute (Icet,  4. Feb 1995, 01:50:23):
#! rn=Acrimon rt=791858909
Nochaml: Lass die Dinger einfach raus.
Werden eh bald vom Duden abgeschafft >;-)

-IceT

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



Re: Re: Umlaute (Schrumpfi,  4. Feb 1995, 02:31:57):
#! rn=Icet rt=791859023
Was ist eigentlich so schwer dran, wenn Du Deine Umlaute weglaesst, Acrimon?

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



Re^3: Umlaute (Ronda,  4. Feb 1995, 02:32:37):
#! rn=Schrumpfi rt=791861517
...aber er ist doch so stolz, dass der Amiga die Dinger kann.. :)

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



Re: Umlaute (Asmodis,  4. Feb 1995, 03:00:05):
#! rn=Acrimon rt=791858909
Was haben wir davon, wenn wir deine Umlaute lesen koennen ?


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



Faq ist toll gemacht... (Ronda,  4. Feb 1995, 03:53:13):
Ich habe mir nochmal die Zeit genommen, die neue FAQ durchzulesen -Toll! Es
sind wirklich etliche Fragen erklaert, die einem so einfallen...
Waere es irgendwie moeglich, nur bestimmte Kapitel aufzuschlagen? *Peinlich,
sagt nicht, dass das schon geht???* Also wie bei der MPA: Lies kapitel 10.2
oder so...
Eine rundum begeisterte
               Ronda
Ps: In der Liste der Magier gibt es welche mit der Abkuerzung "M.m.b.A."
davor: was sind das: "Magier mit beschraenkter Achtung"??? "mit besserem
Alibi"? Oder "man braucht Alle"??? Bitte nicht banischen - bei JOF!! Ich
bereue !!! =:)

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



Re: Tarnhelm (Sir,  4. Feb 1995, 18:23:49):
#! rn=Yendi rt=791843403
Moin,

Dein Vorschlag stellt mich leider vor ziemliche Probleme (zumal der Helm
eh nicht so ganz bugfrei ist). Kurz gesagt fange ich alle Befehl ab,
und lasse nur bestimmte zu. Dabei kann ich nicht wissen, ob es nun ein
alias oder irgendein neuer Befehl ist, der mit dem Helm kollidiert.
Mein Vorschlag : besorg dir ein gutes mud-frontend.

MfG
Sir

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



NEWS (Rudiratter,  6. Feb 1995, 00:02:48):
Ich moechte vorschlagen, dass die News abgeschafft werden oder zumindest
nicht jede Stunde gesendet werden. Ich hab jetzt laengere Zeit mal getestet,
wer ueberhaupt zuhoert: Meistens nur einer oder am Tag eine Hand voll Leute.
Auf der anderen Seite sind alle Spieler jede Stunde gelagt, egal ob sie
einfach nur quatschen wollen, questen oder metzeln.
Ausschalten der News-Eben nuetzt nix, das Lag erwischt ja jeden.
Rudi.

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



Re: NEWS (Aranya,  6. Feb 1995, 10:25:33):
#! rn=Rudiratter rt=792025368
Also, ich finde die News ganz klasse... Ich waere dagegen, sie abzuschalten.
Einfach so.

Aranya
      Medienelfe

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



Re:NEWS (Ketos,  6. Feb 1995, 11:28:45):
Die News sollte optimiert werden damit sie kein LAG erzeugen.
Wieviel Rechenzeit nehmen die wirklich in Anspruch?

Ich bin fuer die dwnews. - ketos -

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



Typo - und was dann? (Aranya,  6. Feb 1995, 11:36:28):
Tja, da stehe ich nun in einenr atemberaubenden Landschaft, die Atmosphaere
finde ich einfach umwerfend und meiner Ansicht nach verdient der Schoepfer
dieses Gebietes ein grosses, dickes Lob. Ich kenne den Schoepfer aber nicht.
Die einzige Moeglichkeit, meine Zufriedenheit ueber diese Glanzleistung aus-
zudruecken waere hoechstens ein idee oder typo. Das jedoch widerstrebt mir
zu benutzen, schliesslich ist es ja kein Fehler, den ich anmerken will, nein
im Gegenteil!
Im Zuge der allgemeinen Verfreundlichung dieses MUD plaediere ich also fuer
die Einrichtung des Kommandos lob - im Kanon mit typo, idee und fehler!

Aktion Freundliches MUD
                       Aranya, Protogonistin

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



Seher-EP-AP? (Raistlin,  6. Feb 1995, 12:59:23):
Hallu,
da Allgemein war wieder voll war, schreibe ich einfach mal hier rein.
Also ein Semi-Seher-Status nur mit EP kann mir gar nicht gefallen. Ein Seher
ist ein besonderer Spieler und dazu zu kommen einfach durch metzteln? Neee.
Was Schrumpfi (ich hoffe sie wars) in ihrem Artikel gesagt hat ('Seher die
noch nicht mal den Grimmswald kennen') hat mich auf eine kleine Idee gebracht.
Ich bin der Meinung ein Seher sollte sich schon etwas im MG auskennen und
nicht immer nur den Weg SSP-Friedhof-Goblinlager und zurueck machen.
Wenn ein Spieler an der Schwelle zum Seher steht koennte man ihm doch einfach
ein paar Fragen an ihn richten; so wie: wie heissen die staedte auf aurora?,
wie heisst der kerl, der immer in der kneip xy rumhaengt?, und so weiter...
(es gibt bestimmt noch tausend viel intelligentere, interessantere Fragen :)

War nur eine Idee,
                 Raistlin (kommt nicht mehr viel rum, seit er Magier ist)

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



Re: Faq ist toll gemacht... (Asmodis,  6. Feb 1995, 13:05:40):
#! rn=Ronda rt=791866393
Hmm, hab noch ne Version der Abkuerzung M.m.b.A. :
Magier mit begrenzter Aufenthaltserlaubnis :)

                   Ciao, Asmodis

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



Re: NEWS (Asmodis,  6. Feb 1995, 13:07:12):
#! rn=Rudiratter rt=792025368
Ich kan ndem nur zustimmen, es reicht doch, wenn man die News in der
Zeitung lesen kann. Und soo oft werden die ja auch nicht aktualisiert :)

            Ciao, Asmodis

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



Re: Faq ist toll gemacht... (Pilgrim,  6. Feb 1995, 14:18:28):
#! rn=Ronda rt=791866393
Halihalo,

also: M.m.b.A.  heist nichts anderes, als Magier mit besonderen Aufgaben,
      wie man auch in der FAQ unter (denk, gruebel) 2.3. nachlesen kann.
und: natuerlich kannst Du bestimmte Artikel aufschlagen...schliesslich wird
der Text ja ueber ein more ausgegeben...also, z.B.   / 10.2.   und Du kannst
das Kapitel 10.2. lesen .


Pilgrim
(Magier mit bestandenem Abitur ;-) )

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



Re: Seher-EP-AP? (Aranya,  6. Feb 1995, 14:31:34):
#! rn=Raistlin rt=792071963
Also so ne Art Seherpruefung? Gleich mit Ethikkontrolle (wo kann ich Haeuser
hinbauen und so). Klingt eigentlich gut... ;)

Nein, wirklich!

Aanya (ist keine Seherin, quatscht zuviel)

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



umlaute (Catweazle,  6. Feb 1995, 21:26:46):
[Verlegt von allgemeines, Guldukat,  4. Feb 1995, 03:15:30]:
sollte ansich nach etikette, aber die war voll!

Schrumpfi schrieb:
Was ist eigentlich so schwer dran, wenn Du Deine Umlaute weglaesst, Acrimon?

Gar nix, das ist das problem!
Wenn ich jetzt irgendetwas anderes schreibe, dann lasse ich die dinger
mitlerweile immer weg! Und das ist ein Problem!
;)
GD


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



Re: NEWS (Wur,  7. Feb 1995, 01:37:09):
#! rn=Rudiratter rt=792025368
ha!
guter vorschlag rudiratter.
dem kann ich mich nur anschliessen...

Wur - der Hilflose

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



APs zum Stufenanstieg ab Level 10 (Mystix,  7. Feb 1995, 03:12:35):
Meiner Meinung nach waere es wirklich besser, schon im Vorfeld der Stufen
eine mindest AP Zahl zum aufsteigen festzulegen. "Normalerweise" ist man
Level 19, bevor man 450 AP hat (Ausnahmen bestaetigen die Regel - jedenfalls
war es bei mir so) . Wenn man nun genuegend EP hat, einem
aber noch fast 1000 AP fehlen, dann kann das ganze recht frustrierend werden.
Die Spieler ziehen sich dann eine Komplettloesung nach der anderen durch und
nehmen sich keine Zeit fuer die Quests- da man ja moeglichst schnell,
moeglichst
viele AP braucht. Ich glaube, dass bei einer Einfuehrung dieser neuen Stufen-
beschraenkungen die Quests besser auf die Lebenszeit des Spielers verteilt
werden und somit "intensiver" gespielt werden.

M.

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



Re: Seher-EP-AP? (Hadra,  7. Feb 1995, 04:55:59):
#! rn=Raistlin rt=792071963
halli hallo,

haben wir fuer das kennelernen der geographie nicht die postquest?
wenn ihr die mudographie kenntnisse der leute erweitern wollt macht sie halt
zur pflichtquest. mir hat es gereicht die ganzen typen und orte einmal zu
suchen (obwohl es mir spaeter beim questen geholfen hat)

Hadra - der nie gut in geo war

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



Re: Umlaute (Durian,  7. Feb 1995, 09:58:55):
#! rn=Acrimon rt=791858909
Lieber Acrimon!

Das hat nix mit irgendwelcher Bit-Kompilation des Editors zu tun. Nahezu
jeder Spieler benutzt ein anderes Netz, Frontend, die Umlaute auf die
eine oder andere Weise interpretieren. Klar, wir koennen einen einheitlichen
Mud-Client schreiben, nur damit Du uns Deine Umlaute praesentieren kannst.
Oder noch besser: wir stellen das komplette Internet endlich mal auf
eien einheitlichen Standard, ist eh langsam mal faellig. Und das alles nur,
damit Du alls privilegierter Spieler uns allen Deine tollen Umlaute
praentieren kannst, die wir wirklich auch alle in ihrer ganzen Pracht und
Schoenheit sehen wollen!

Endlich mal einer, der weiss was er will!

- Durian

Nein, ich schreibe jetzt nicht IRONIE OFF, weil ich das doof finde.
Ich koennte es aber schreiben :-)

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



Re: Umlaute (Yendi,  7. Feb 1995, 14:16:38):
#! rn=Acrimon rt=791858909

Ich lege mich immer ab ueber Acrimons Unterschrift:

"Euer Groer
        Acrimon"

Also, ein _Goer_ kenn ich, aber ein oder eine _Groer_?

YTY, gruebelnd


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



Re: Re: Umlaute (Beldin,  7. Feb 1995, 20:00:21):
#! rn=Yendi rt=792162998

Mich wuerds auch interessieren _was_ das wohl heisst... Vielleicht euer
Groesster? Nur nicht mehr lesbar wegen der Sonderzeichen? Fragen ueber
Fragen.... ;)

YTB

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



Re: Re: Umlaute (Mephisto,  7. Feb 1995, 20:05:03):
#! rn=Yendi rt=792162998
Ein "Groer" ist die handelsuebliche Bezeichnung fuer den Wiener
Bischof...Hermann denk ich heisst er.....
see ya...

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



umlaute (Miro,  8. Feb 1995, 01:08:19):
Tja Leute, nachdem jetzt common-sense zu sein scheint, dass umlaute pfui
sind...
fuer DOS gibt es einen tollen, einfachen, kleinen, nuetzlichen
Tastaturtreiber, der ***automatisch*** die Umlaute auf ae,ue,oe und ss umsetzt
- und das ganze ist Shareware.
(Ob das Ding unter Win funktioniert, weiss ich nicht, da meine Dreckball
nicht mehr mag....)
Sollten Zehnfingerfetischisten Interesse an so was haben, koennt Ihr mich
mailen und ich suche mal die Quelle raus oder schieb's Euch per FTP rueber
(wie ging das doch gleich??? ;-) )
Miro (der natuerlich 10-Finger schreibt (protz, protz))

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



Re: Umlaute (Hate,  8. Feb 1995, 09:03:30):
#! rn=Acrimon rt=791858909
Lieber Acrimon,

vielleicht solltest Du vorher mal Deinen Zeichensatz auf einen Standardi-
sierten umstellen, denn nachdem, was da bei Dir rauskommt, ist es
irgendwas komisches, aber KEIN ISO. Das einzige was ich unterstuetzen
wuerde, waere ein ISO Modell, z.b. ISO-Latin-1. Irgendwelche von
Amigas oder komischen Unix Maschinen erzeugten Zeichen akzeptiere ich
nicht. Die sind im Editor mit absicht herausgefiltert.

Hate.

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



Re: umlaute (Hate,  8. Feb 1995, 09:12:13):
#! rn=Miro rt=792202099
Also ich brauch nicht zehn Finger um mindestens so schnell zu schreiben wie
DU, wetten?
Hate.

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



Re: Re:NEWS (Hate,  8. Feb 1995, 09:13:04):
#! rn=Ketos rt=792066525
Also ich glaube an den news gibts nicht viel zu optimieren mehr. Das einzige
was noch ginge, wuerde sich auf den Speicherverbrauch niederschlagen.
Hate.

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



Re: Re: umlaute (Gatsby,  8. Feb 1995, 11:23:47):
#! rn=Hate rt=792231133
Huhu Hate...
das war jetzt leichtfertig von Dir! *grins*
Wir koennen ja mal einen 'Schnell-tipp-Wettbewerb'
veranstalten und dann sehen, ob die 10-Finger Tipper
nicht doch schneller sind ;-))

(oder gehoert das in 'Schmarrn'?????)
GATS, ein bisserl ueberdreht....

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



Re^3: Umlaute (Schrumpfi,  8. Feb 1995, 18:05:13):
#! rn=Mephisto rt=792183903
Heisst der nicht 'Gror'?

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



Re^4: Umlaute (Schrumpfi,  8. Feb 1995, 18:07:56):
#! rn=Schrumpfi rt=792263113
Oder 'Groar'? (Sorry Cat*, fuers muellen)

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



Re: Re: Umlaute (Mateese,  8. Feb 1995, 20:00:58):
#! rn=Hate rt=792230610
Protest! Amigas verwendeten bereits ISO-Latin-1 als alle anderen Rechner
noch die IBM-Codepages fuer Gott hielten.
 -- Mateese

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



Re^3: Umlaute (Beldin,  8. Feb 1995, 22:11:33):
#! rn=Mateese rt=792270058
Das stimmt allerdings...
Trotzdem ist das _kein_ Argument fuer Amigas im allgemeinen und Sonderzeichen
im MG im besonderen, oder?

Beldin (Mateese angrinsend) :)

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



Inventory (Ed,  9. Feb 1995, 07:09:49):
Ich weiss nicht, ob es irgenwem nicht nicht am Nerv geht, aber jedesmal
wenn ich inventory eingebe (meistens im Laden oder Bumeraenge zaehlen)
listet er mir saemtliche Autoloadsachen auf.
ausser das ich seh, das mein Teddy, mein Kristallschluessel, meine MPA,
saemtliche Buttons, usw noch da sind ist es ziemlich sinnlos.

Daher Vorschlag: Nichtaufscheinen von Autoloadsachen im Inventory und einen
erweiterten bzw. autoloadspezifischen Inventorybefehl.

Ed, der seinen 1. Artikel schrieb.

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



Re: Inventory (Aargon,  9. Feb 1995, 07:13:18):
#! rn=Ed rt=792310189
hi!

ich muss kurz auch meinen senf dazugeben - ich finde die idee von ed super!!

BM Aargon, the king in the ring.

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



Re: Re: Inventory (Anatol,  9. Feb 1995, 08:43:33):
#! rn=Aargon rt=792310398

Ich hab hier zwar nichts zu sagen - aber ich finde die Idee auch toll!

Anatol.

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



Re^3: umlaute (Aranya,  9. Feb 1995, 13:33:43):
#! rn=Gatsby rt=792239027
Au ja! Ich wuerde auf Seiten der 10-Finger-Partei mitmachen! :)

Aranya
10-Finger-Autodidaktin

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



Re: Inventory (Grimmborn,  9. Feb 1995, 15:36:55):
#! rn=Ed rt=792310189

Och noe, ich finde es immer so schoen wenn ich nach einem crash 'i' eingebe
(wusstest Du, dass i reicht? Man muss nicht inventory eingeben...) und das
erste more sehe. Das hat doch was, oder?

Also mein Vorschlag: i wie bisher und meinetwegen bei 'inventory' ohne
autoloadsachen...

Grimmborn der Atheist. Gehoert das alles nicht btw in schmarrn?

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



Re: Re: Inventory (Aargon,  9. Feb 1995, 17:14:52):
#! rn=Grimmborn rt=792340615
ich finde das es lustiger? waere mit umgekehrter reihenfolge:
  i fuer kurzes inventory
  inventory fuer volles inventory :)

senfender BM Aargon (Urprolet)

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



Re: Grimmborns Inventory (Ed,  9. Feb 1995, 19:32:27):
Du hast nach einem Crash das 1. more wenn du i (nventory) machst? ...
da gibts nen Troedler auf Aurora, gell!

Ausserdem: i fuer inv. ohne autoloadsachen, iv fuer inv. mit autoloadsachen
wenn schon, ich tipp keine unnoetigen buchstaben wenn ich bumis zaehle.

Ed.

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



 (Guldukat, 10. Feb 1995, 18:32:28):
Was ist das? ich mach kosten: Dir fehlen bis zur naechsten Stufe noch 1578747
Erfahrungspunkte und 324        Abenteuerpunkte.?
Dabei bin ich doch Seher! Du hast 6021253 Erfahrungspunkte, 1520
Abenteuerpunkte(1595),
Wie soll ich an 324 APs kommen?  gibt doch nur noch 75??
Wunder Wunder
GD

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



Re:  (Guldukat, 10. Feb 1995, 18:35:21):
#! rn=Guldukat rt=792437548
Ich glaub, der Zustaendige Magier kann nicht mit negativen Zahlen rechen!
Um Seher zu werden, benoetigte ich damals 1196 APs, ich habe jetzt 1520, also
324 mehr als noetig! Vielleicht sollte in der Kosten abfrage das Vorzeichen
beachtet werden! ;)
Gd

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



Re:  (Asmodis, 10. Feb 1995, 19:04:46):
#! rn=Guldukat rt=792437548
Hmm, sehe das gerade auch, mir fehlen noch 2179476 EP und 399 AP
zur naechsten Stufe, dabei hab ich schon alle moeglichen AP !!!

Ist irgendwie ein Witz :)

                         Ciao, Asmodis

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



Re: Re: Umlaute (Acrimon, 11. Feb 1995, 04:49:50):
#! rn=Hate rt=792230610
Lieber Hate,

ich dachte ich hatte einen standardisierten Zeichensatz. Ich habe definitiv
den Iso-8859-1, der auch Iso-Latin-1 genannt wird. Ich verwende grundsatzlich
nur diesen Zeichensatz, aus denselben Grunden wie du. Auch die Verbindung ist
ok und keine unerwunschten Umlautumwandler aktiv.
Die Umlaute funktionieren auch problemlos, wenn ich etwas sage oder in die
Ebenen schreibe.
Nur in den News werden sie herausgefiltert. Uberprufst du den Code von News
bitte nochmal? Die Iso-Latin-1 sind (dezimal): ae 228, oe 246, ue 252, Ae 196,
Oe 214, Ue 220, sz 223.
Auch ich will einen Standard. Denselben wie du.

Euer Groszer
     Acrimon

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



Aenderung beim Kobold (Snooker, 12. Feb 1995, 19:18:36):
Waere es eventuell fuer (vergessliche) Spieler moeglich, beim Kobold auch die
ZEIT der Mitteilung aufzulisten? Denn wenn man mal vergisst nachzusehen, kommt
man oft Stunden (Tage?) spaeter drauf, dass da ja wer was wollte, und man hat
keine Ahnung mehr, ob das noch aktuell ist oder nicht.
Snooker, vergesslich :)

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



Re: Re: Umlaute (Har, 13. Feb 1995, 10:40:56):
#! rn=Durian rt=792147535
Wie waere es, wenn Acrimon seine Atikel ganz weglaesst, dann gibt es auch
keine Probleme mit Umlauten mehr...

Har

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



Re^3: Umlaute (Schrumpfi, 13. Feb 1995, 18:53:35):
#! rn=Har rt=792668456
Gute Idee, Har

Schrumpfi auch genervt

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



Re^4: Umlaute (Mateese, 13. Feb 1995, 19:24:52):
#! rn=Schrumpfi rt=792698015
Noch ein Wort, und ich komm euch mit EBCDIC!
 -- Mateese grient daemonisch.

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



Neue Befehle (Bungle, 13. Feb 1995, 21:05:52):
Hallochen!

Wir hatten da auf der Party ein paar ganz wundertolle Ideen fuer neue
Befehle.Also:
1) 'wirf demunddem fehdehandschuh hin' (bei Bedarf kann er dem oder der
Auserwaehlten auch ins Gesicht geschlagen werden. :) Dieser Befehl sollte
analog dem Freundschaftsband eine Ausgabe bei 'unt spieler'
a la 'Spieler befindet sich im Krieg/Streit mit Gegner' oder '...liegt in
Fehde mit...'. bewirken und eine Meldung bei Betreten des MUDs: 'Dieser
absolut uncoole >Mickerling< verpestet hier auch schon wieder die Luft.' .
Irgendwas in der Art. Man muesste sich dann noch ueberlegen, ob's den
handschuh einfach zu kaufen geben soll oder ob er sich erst verdient werden
muss. Nix besonderes, so'n nettes kleines Feature am Rande halt.
Ausserdem weiss man dann, dass man den betreffenden Spieler nur mit Vorsicht
auf die entsprechende Persn ansprechen sollte. :) (tolles Deutsch hat der
Bungle heut wieder)

Sooo, und dann meinte Zardoz noch, dass ihm das MG von den Charakteren her
viel zu wenig _Rollen_spielmaessig ist. Da hat er recht. Ich mein, die meisten
Leute hier -mich nicht ausgenommen-
'spielen' doch nur sich selbst. Es waere doch viel lustiger und
interessanter, wenn die Leute wirklich irgendwelche Rollen uebernehmen
wuerden. Die kostenlose Beschreibung bei Mastradena ist doch ein
guter Anfang. Dann muss man sich nur noch entsprechend verhalten. Das wuerde
(oh Vorteil!) auch die ganze Wolpiegeschichte entschaerfen, weil es muss ja
auch fiese Menschen/Zwerge/Elfen
geben. Dann kann man das endlich als Spiel begreifen und muss sich nicht mehr
so aufregen. :) Einen weiteren Vorschub in der Richtung erhoffe ich mir ja,
wenn die ersten Gilden eingefuehrt werden.
Also Leute, lasst euch was einfallen! Bevoelkert das MG mit Wesen, die nicht
nur auf dem  'Papier' anders als Menschen aussehen! Lasst eure Phantasie
spruehen! Je unterschiedlicher ihr seid, desto besser!

Jaa aehem, das war's eigentlich auch schon...
Wenn mir mal jemand mitteilen koennte, wer der zustaendige Magier fuer das
Fehde-Feature ist, werde ich demjenigen das ganze auch noch mal in seinen
'Things-to-do-today'-Ordner posten.Na denn macht's gut,
                             Bungle.

PS: Wann kommt endlich der 'loese quest $1 [bis $2]'-Befehl ?! ;)

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



Re: Neue Befehle (Catweazle, 13. Feb 1995, 21:45:53):
#! rn=Bungle rt=792705952
Ich finde einen Fehdehandschuh unsinnig, da das MG nicht dazu da sein
sollte sich Feinde zu schaffen.
Wenn Du das als Rollenspielcharakter tun willst, so schaffst Du das mit
Sicherheit auch ohne so einen Handschuh ...
YTC

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



Re: Neue Befehle (Klinge, 14. Feb 1995, 03:24:20):
#! rn=Bungle rt=792705952
Ich kann dir nicht zustimmen, leider.
Die meisten die ich auf dem Treffen am Freitagabend im aegidiihof gesehen
habe spielen sehr wohl eine Rolle die ihrem auftreten im RL absolut nicht
gleicht.
Die groessten Killer im MG sind im RL absolute Milchbaerte.
Und die grossen Goetter sind eher niedlich ;)
Offensichtlich ist also doch Rollenspielmaessig alles in Ordnung.
*Grins*

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



Re: Re: Neue Befehle (Jof, 14. Feb 1995, 14:43:15):
#! rn=Klinge rt=792728660
... und der wueste KLINGE ist laengst nicht so wuest, wie man denkt - eher
umgaenglich :)

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



Re^3: Neue Befehle (Yendi, 14. Feb 1995, 14:49:07):
#! rn=Jof rt=792769395
Naja... bis jetzt hat KLINGE in RL ja auch noch keine Orks entdeckt...
Und solange er sein Pilsken hat, nimmt er es sogar gelassen hin, wenn man
mit seinem Butterfly herumspielt. ;)


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



Merlin (Grimmborn, 14. Feb 1995, 23:37:24):

Ja, ist ja nett dass Merlin nun neue Seher annonciert, aber koennte er das
nicht auch mit Magiern machen? Immerhin ist er da ja viel mehr dran
beteiligt...

Grimmborn der Atheist

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



Re^3: Neue Befehle (Klinge, 15. Feb 1995, 00:53:37):
#! rn=Jof rt=792769395
Wer hat denn behauptet ich sei wuest????
Ich bin der netteste Mensch den ich kenne ;)

Ich kenn auch niemanden der sich traut was anderes zu behaupten.
;)

      KLINGE  (der nettesten einer)

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



Re: Umlaute (Fyt, 15. Feb 1995, 21:37:39):
#! rn=Acrimon rt=791858909
Nein, lasst das so und lasst die Umlaute draussen :) Besser is...
ich bin in der Woche unter Umstaenden an vier verschiedenen
Rechneren, und ich mag nicht staendig stundenlang
rumkonfiguriren, damit ich Acrimons Umlaute mal lesen kann.

Fyt (schliesst Acrimon in sein gebet ein)

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



ausruestungslisten? (Baron, 22. Feb 1995, 09:11:06):
Moin Moin,
Auch auf die Gefahr das mich der eine oder andere Magier (oder Gott :))
schilt
und der andere oder eine "Altseher" ueber mich laechelt (So was weiss man
doch :)) moechte ich nochmal das Thema "Einschaetzung von Ruestungen und
Waffen
snsprechen. Ich bin der Meinung das etwas mehr information ueber die
Ausruestung dem Spiel nur gut tun wuerde.
Die bisherigen Moeglichkeiten (das magische Auge und der Zwergenschmied) sind
fuer den normalen Gebrauch zur Einschaetzung der Ausruestung einfach zu
teuewr.
Als leidenschaftlicher (Computer)-Rollenspieler liebe ich Informationen wie:
"XYZ-Schwert hat einen Angriffswert von xy Punkten und die folgenden
magischen
Eigenschaftem ..." ueber alles :).
Sollte es Moeglichkeiten der Wertung geben die ich noch nicht kenne (aeh
uebrigens schoenen Dank fuer den Tip mit dem
Auge Hadra) moege man mich bitte aufklaerend anmailen. Sollte der eine oder
andere Spieler eine Liste der Waffen oder Ruestungen mit den entsprechenden
Informationen fuer den persoenlichen Gebrauch bereits besitzen wuerde ich
mich ueber eine mail sehr freuen.
Es entschuldigt sich fuer ungewollte Zeilenumbrueche und Typos...
Red Baron (der entschlossen ist eine Selbsthilfegruppe fuer anonyme
Statistikfreaks zu gruenden)

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



Re: ausruestungslisten? (Acrimon, 22. Feb 1995, 15:57:07):
#! rn=Baron rt=793440666
Ich bin dagegen.
Es macht doch einen gewissen Reiz im MUD aus, wenn es sehr schwierig ist,
Ausrustungsgegenstande einzuschatzen.
Ich finde es gut so wie es ist.

Euer Feuriger
Acrimon

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



Re: Re: ausruestungslisten? (Grimmborn, 22. Feb 1995, 16:10:31):
#! rn=Acrimon rt=793465027
Grundsaetzlich: Solche numerischen Angaben sind nicht in meinem Sinne, ich
finde Schmied und Auge voellig ausreichend (und nciht zu teuer. Wieso sollte
das Auge teuer sein?). ABER: Es gibt Dinge, die nicht richtig eingeschaetzt
werden koennen, wie z.B. die Kristallkrone. Und da sollte es doch irgendwo
irgendeine Moeglichkeit geben. Denn die alternative sind langwierige
statistische Auswertungen von moeglichst vielen Kaempfen. Oder es halt bleiben
lassen... :-)

Grimmborn der Atheist

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



teddybaer (Ray, 22. Feb 1995, 17:33:28):
wie waers, wenn der teddy auch auf aenderung der magiepunkte reagieren
wuerde? dann muesste man beim tanken nicht immer mit info nachschauen, ob man
schon voll ist, wenn man volle lp hat...

   ray

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



Re: ausruestungslisten? (Fyt, 22. Feb 1995, 21:42:28):
#! rn=Baron rt=793440666

Ich finde uebrigens den Zwergenschmied zu teuer.
Die Leute, die es am noetigsten haben, erste Waffen
einzuschaetzen (sprich Anfaneger) koennen sich 500
Muenzen einfach nicht leisten, da ist schon das einfache
in-die-Kneipe-gehen absoluter Luxus... Ja, ich kann mich
noch ganz gut an die Zeit erinnern. Und die
'Besserverdienenden' koennen sich eh das Magische Auge
hole, das ist ja kaum Aufwand..., fuer Anfanger kommt
das aber kaum in Frage...
naja, irgendwie stimmen die Proportionen halt nicht.

Fyt, nachdenkend... uups... wie geht das eigentlich?

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



Re: Re: ausruestungslisten? (Boing, 23. Feb 1995, 13:18:13):
#! rn=Fyt rt=793485748
Ich denke nicht, dass ein Anfaenger genau wissen muss, wie gut oder
schlecht seine Ausruestung ist.
  Boing

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



Re^3: ausruestungslisten? (Fyt, 23. Feb 1995, 18:13:23):
#! rn=Boing rt=793541893
Ok, dann formuliere ich's so: mir waere es als Anfaenger
lieber gewesen, wenn ich gewusst haette, welcher Ring besser
ist (Stein- & Titan-) z.B. Bloedes Beispiel...
Gut, nehmen wir Orksaebel oder Krummschwert.
Man kann unter Level 11 nicht mal fix fuer 'n
Tausender tanken gehen, und da ist es schon entscheidend,
ob man den Ork in fuenf oder acht Runden niederkriegt.

Geh mal mit 'nem Anfaenger rein und versuch' ALLEINE
an 500 Muenzen zu kommen... Das ist nicht unbedingt einfach
ja... ich weiss Bauernaxt bringt 400 :)

Fyt, der immer noch findet, dass der Schmied zu teuer ist, oder es
das Auge zu billig gibt.

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



 (Semira, 23. Feb 1995, 18:28:52):
OHA!

Wieder was dazugelernt! Verkaufe XY aus beutel geht auch....dass wusste ich
echt nocht nicht...sorry :-)

Danke an meine Informanten :-)
Semira


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



Ausruestungslisten (Mystix, 23. Feb 1995, 19:21:44):
Tja, dann will ich auch mal meine Meinung dazu niederschreiben.
Ich bin der Meinung, dass ein Anfaenger nicht unbedingt wissen muss, wie
gut oder schlecht seine Ausruestung nun genau ist. Allerdings sollte es
zumindest eine Liste geben, welche Waffe ab welcher Geschicklichkeit
gefuehrt werden kann, da sonst Anfaenger oftmals zu wahrlich sinnlosen
kaeufen neigen. Woher soll der An-
faenger denn wissen, dass er verschieden Waffen erst ab Stufe 8, 10 oder
12 fuehren kann. Zumindest sollten Waffen, die unterhalb einer
Geschicklichkeit
von 6 gefuehrt werden koennen, in eine Liste aufgenommen werden.

Mystix

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



Re: Ausruestungslisten (Zuerileu, 24. Feb 1995, 04:51:07):
#! rn=Mystix rt=793563704
Sali zaeme,
stimme ich Mystix zu oder mein vorschlag das man den Verkaeufer im laden
fragen kann ob man fuer diese Waffe schon geschickt genug ist. sonst hat man
5000 muenzen (fuer ein anfaenger sehr viel!) Kauft ein teures Schwert und es
geht nicht, muss er es fuer 1000 Muenzen wieder verkaufen, und schlussendlich
hat er zuwenig Muenzen fuer was rechtes.

cu Zuerileu

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



Re: ausruestungslisten? (Baron, 24. Feb 1995, 09:49:20):
#! rn=Baron rt=793440666
Aeh, ich wollte eigentlich keine Grundsatzdiskussion ueber Ausruestungslisten
im allgemeinen und den Reiz selber etwas herauszufinden im besonderen anfangen
:). Trotzdem bin ich immer noch der Meinung eine Moeglichkeit geben sollte
genaueres ueber ein Item und eine Ruestung zu erfahren. Das Auge ist wirklich
nicht sehr schwer zu besorgen, kostet aber im Laden schlappe 15000, und das
ist zu teuer nur um mal eben zwei Ruestungen miteinander zu
vergleichen.Ausserdem erhaelt man durch das Auge keine Infos ueber die
(magischen) Eigenschaften eines Items. Eine zusaetzliche Info wie "Das
XYZ-Amulett" bietet einen magischen Ruestungsschutz" oder "Der XYZ-Ring
spendet alle 30 Minuten LP und MP" waere schon schoen.

Wa ich eigentlich anregen wollte (hoffentlich liest dies kein Magier :)) ist
ein Zusammenarbeit einiger (interessierter) Spieler zwecks
Informationsaustausch. Solche welche koennen sich per mail bei mir melden.

(*erroetend*)

Red Baron (der VR-Ausruestungsnarr und RL-Waffenhasser)



PS: Ich finds halt beknackt das der Identifiziere-Spruch am Amulett der
Steinbeisser "nicht besonderes" entdecken kann :).



PS2 :): Aeh Grimmborn was ist eigentlich mit der Kristallkrone und wo findet
man sie? (lechz!).

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



Re: ausruestungslisten? (Baron, 24. Feb 1995, 09:59:50):
#! rn=Baron rt=793440666
Aeh, das waer ja schon mal na Idee: Ein geneigter Magier koennte sich ja mal
ein wenig um den Identifiziere-Spruch kuemmern :).

Red Baron (der findet das die Erfindung des Schiesspulvers ein Schritt in die
falsche Richtung war)


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



Re: Re: ausruestungslisten? (Grimmborn, 24. Feb 1995, 11:53:06):
#! rn=Baron rt=793615760
Hmm, Kristallkrone? Natuerlich beim Kristalldrachen. Der gibt sie einem auch
fast freiwillig... ;-)

Grimmborn der Atheist

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



Re: Re: ausruestungslisten? (Bernard, 24. Feb 1995, 17:59:22):
#! rn=Baron rt=793616390
Der Identifiziere-Spell ist gut, wie er ist, es gibt nur zuwenig Objekte
die auf ihn reagieren...

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



"gegenstand aus beutel" (Acrimon, 28. Feb 1995, 01:30:51):
Ich bin dafur, dasz die Syntax "gegenstand aus beutel" an allen Stellen
erlaubt wird, an denen ein Gegenstand angegeben werden kann.
Damit werden zum Beispiel auch folgende Befehle mglich:
lass schwert aus beutel fallen
gib fackel aus beutel 2 an spieler

Auf ein besseres MUD,
Euer Groszer
   Acrimon

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



noch mehr vom Beutel (Miro, 28. Feb 1995, 18:44:19):
Haette auch noch einen Vorschlag zum Beutel:
Ich finde es bei meinen Beutezuegen immer etwas umstaendlich, dass bei:
stecke alles in beutel nicht nur rumliegende Gegenstaende oder Sachen, die
man mit sich rumschleppt im Beutel verschwinden,
sondern auch die Ruestung, die man anhat oder die Waffe, die man gezueckt
hat.
Laesst sich das nicht veraendern, dass Sachen, die angezogen oder gezueckt
sind erst ausgezogen oder weggesteckt werden muessen, bevor das
"alles"-Kommando greift?
Miro

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



Re: noch mehr vom Beutel (Acrimon, 28. Feb 1995, 21:43:51):
#! rn=Miro rt=793993459
Nein, das ist nicht gut.
Besser und weniger umstndlich drfte eine Erweiterung sein, die nicht nur "aus
beutel", sondern auch "vom boden" erlaubt.
Dann wrde dein Befehl folgendermaen aussehen:
stecke alles vom boden in beutel
Bei jedem Gegenstand sollte man also dahinter auch eine optionale Quelle
angeben knnen. Vorschlge fr die Quellenangaben:
"aus beutel", "aus beutel nr", "vom boden", "aus paket", "aus kiste", "aus
<sonstigem mglichen Container>", "am koerper" (fuer die Sachen aus dem eigenen
Inventory).

Zusammenfassung: Mein Vorschlag ist: Hinter jedem Gegenstand eine optionale
Quellenangabe, die da sei "aus <container [nr]>", "vom boden" oder "am
koerper".

Sorry uebrigens fuer manche fehlenden Buchstaben, ich hab wieder mal
vergessen, dasz der Editor ja keine Iso-Latin-1 Zeichen erlaubt.
Wann verbessert ihr endlich diesen Editor?

Euer Groszer
      Acrimon

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



Re: Re: noch mehr vom Beutel (Acrimon, 28. Feb 1995, 21:46:32):
#! rn=Acrimon rt=794004231
Ergaenzung:
Und wenn keine Quellenangabe gemacht wird, dann sollte sich alles so
verhalten wie bisher.

Euer Groszer
   Acrimon

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



Re: noch mehr vom Beutel (Ray,  1. Mar 1995, 09:08:06):
#! rn=Miro rt=793993459
gute idee, das problem habe ich auch immer

   ray

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



Re: noch mehr vom Beutel (Roadrunner,  1. Mar 1995, 10:35:30):
#! rn=Miro rt=793993459
>Laesst sich das nicht veraendern, dass Sachen, die angezogen oder gezueckt
>sind erst ausgezogen oder weggesteckt werden muessen, bevor das
>"alles"-Kommando greift?

GENAU - hat mich auch schon genervt! (koennte man eventuell das ALLES
kommando durch abkuerzung wie nimm all nur auf herumliegendes beziehen - alle
auf alles was man nicht anhat oder gezueckt hat und alles auf WIRKLICH alles -
koennte ja auch mal noetig sein!)

                                        RR

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



Warnungen.... (Anatol,  2. Mar 1995, 09:35:04):


Sorry, was jetzt kommt, MUSS sein...


Es geht einfach um eine Frage:

Inwieweit muessen Aenderungen an Gegenstaenden, die bereits im offenen
Teil des MorgenGrauen zu bekommen sind, bekanntgegeben werden?
Ich meine explizit solche Aenderungen, die zum Beispiel Waffen und
Ruestungsgegenstaende deutlich verschlechtern... egal, ob die Aenderung
nun direkt an den Werten stattfand oder ob nur ein Bug gefixt wurde.

Beispiel:

Die gelbe Robe des Koenigs aus der Narrenball-Quest (Li) hatte folgende
Eigenschaften:
Sie war vom Ruestungswert genausogut wie die Schattenruestung und leichter
als diese. Nach dem Anziehen gabs fuer etwa zwei bis drei Minuten eine
gewisse Panikmache auf den Bildschirm. Nichts ernstes also. Man freut sich
und notiert sichs an gewissen Stellen.

Irgendwann nach mehreren Tagen beschreibe ich das gelbe Ding nochmal. Mehr
aus Jux und Tollerei. Da ist ploetzlich aus der tollen Ruestung etwas ge-
worden, was sogar schlechter als ein ordinaerer Lichtpanzer ist!
Kein Grund zum Freuen.
Doch es kommt noch dicker...   Man benutzt die Robe halt mal weiter,
vielleicht irrt man sich ja, denn man bekommt von allerhoechster Stelle
erklaert, dass die Robe seit Questanschluss nicht veraendert worden waere.
Nun hatte das Ding einen Bug. Die Wahnvorstellungen, die bei jedem Anziehen
fuer etwa zwei bis drei Minuten anhielten, beschaeftigen sich nach Fixing
etwa zehn Minuten mit einem. Und das Tollste ist - man greift nun mit einer
gewissen Wahrscheinlichkeit ploetzlich NPCs an. Hoppla, gefaehrlich. Ab-
gesehen davon, dass man - ebenso mit einer gewissen Wahrscheinlichkeit -
irgendwann einfach mal sagen kann "Ich habe Angst, ich fluechte." und das
dann auch einfach mal tut. In irgendeine Richtung. Diese Veraenderungen
bemerkt man erst dann, wenns zu spaet ist.

Sollte sowas nicht in der MPA bekanntgegeben werden?

        ("Der gelbe Koenig scheint eine andere und gefaehrlichere Robe
         zu besitzen. Also Vorsicht, Abenteurer!")

Ich meine jetzt nicht nur gerade diesen Fall, und ich will jetzt auch
keinen bestimmten Magier angreifen/kritisieren; wo keine Regeln sind, kann
man sich auch nicht dran halten. Aber beim Runenschwert beispielsweise
wurde eine Warnung gedruckt. Waere doch nett, wenn sowas als Anweisung ins
Reglement fuer Magier koennte.
Als Spieler sollte man sich auf seine Erfahrungen verlassen koennen. Waere
doch peinlich, wenn man staendig alles neu pruefen/schaetzen/testen muesste.


Anatol ()


PS: Die Sache mit der Robe ist natuerlich inzwischen geklaert, sie hat
    die alten recht guten Ruestungswerte wieder. Die Warnung besteht aber:
    Verdammt gefaehrlich geworden, das Ding. Benutze sie, wer will...



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



Re: Warnungen.... (Li,  2. Mar 1995, 09:44:54):
#! rn=Anatol rt=794133304

Hmm, Antol hat natuerlich recht, was die Unsicherheit der Spieler angeht. Ich
kann Euch nur das Problem der Robe aus meiner Sicht schildern:
Entscheidene Stellen der Robe stammten nicht von mir, sondern von einem
anderen Magier. Wir hatten die Laenge des Verfolgungswahns getestet und fuer
zu lang befunden. Daraufhin hat er die Dauer runtergesetzt, aber aus Versehen
auf 1min.
Das war natuerlich zu kurz fuer so eine gute Ruestung. Da ich aber die Zeit
nicht selber aendern konnte, habe ich solange den Ruesungsschutz etwas
gesenkt. Als dann die Zeit korrigiert war, habe ich sie wieder raufgesetzt.
Das Problem war nur, dass ich an dem Tag der Aenderung nicht da war.
Aber ich bekenne: Ein Artikel in der mpa waere angebracht gewesen.

Li (auch wenn es sich nach einer lahmen Entschuldigung anhoert: auch Magier
sind nur Menschen und es gibt Sachen, die kann man erst bemerken, wenn die
Quest angeschlossen ist. Es komme also nicht noch mal einer daher und
behaupte, mein Tester haette Mist gebaut. Man muss als Spiler einfach
akzeptieren, dass eine neue Quest nicht so laeuft wie eine Alte, und das es
immer Unstimmigkeiten geben kann.)


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



Re: Re: noch mehr vom Beutel (Flintnail,  3. Mar 1995, 11:00:57):
#! rn=Acrimon rt=794004231
hmm...und ich moechte ne Option:

 stecke alles aus Leiche X in Beutel Y bis auf Gegenstand Z, den gib Spieler
123 :)

 jaja...gehoert unter Schmarrn...ich weiss:)

  Flintnail, der auch mal 2 Minuten zum Umstecken von Klamotten hat.:)

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



Backspace (Acrimon,  5. Mar 1995, 01:55:17):
So wie das Backspace sich frueher verhalten hat, wars besser; koennt ihr das
nicht wieder umaendern?


Euer Groszer
   Acrimon

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



Re: Backspace (Hate,  6. Mar 1995, 11:00:52):
#! rn=Acrimon rt=794364917
Wie soll sich das denn verhalten haben?
Das MUD hat nichts mit dem Backspace von DIr zu tun! Sowas wird alles lokal
von DEINEM Rechner/Programm gehandhabt, da das MUD im Zeilenmodus mit
DEINEM Frontend (telnet etc) kommuniziert! Also wenn Du damit Probleme hast
such erst mal bei Dir.

Hate.

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



Re: Backspace (Yendi,  6. Mar 1995, 12:52:27):
#! rn=Acrimon rt=794364917

Falls Du Dich mit "telnet" einloggst, kannst Du mit dem escape character
(in meinem Fall "STRG-]") einige Optionen unter telnet einstellen, so z.B.
auch das Verhalten bei Backspace.

             YTY der ewige Weise


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



Betrifft:ausruestungslisten? (Baron, 22. Feb 1995, 09:11:06): (Toastbrot,  8. Mar 1995, 17:50:30):
Also ich kann mir nicht vorstellen das das so eine gute Idee ist.Ich finde es
so wie es jetzt ist besser.Wenn zum beispiel eine Tube Mayo einmal einem
Nachtdolch und einmal einem Hornissenstachel Aehnelt,arbeitet das dann auch
gegen die massenschlaechter hin.(Was der hat ein BS schwert?  Kurzes rechnen
auf dem Taschenrechner   Ja klar komm doch her du laecherlicher knirps.)
ich finde etwas Abwechslung ist auch ganz schoen.
Ich binn der Meinung allles so lassen wie es ist(zumindest die Waffen.)

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



teile mit / finger (Yendi,  9. Mar 1995, 14:34:18):
War schon mal angeregt worden, ist aber untergegangen / abgelehnt worden /
auf den "to do stack" gelegt worden / schon implementiert
(Zutreffendes bitte ankratzen):

Kann man die gezielten Kommandos wie "finger", "knuddle" etc. nicht durch
diegleiche Funktion schicken, mit der bei "teile mit" die Namen der
angesprochenen Spieler vervollstaendigt werden?

(Kam die von Hate?)


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



Re: Rubrik stufen (Yendi,  9. Mar 1995, 15:06:59):

Schlechter Satz:

Rubrik 23: stufen, Artikel: 44 von 44

Kaenguruh ist jetzt ein Magier! (Merlin,  8. Mar 1995, 18:33:49):

Am Mit,  8. Mar 1995, 18:33:49 hat Wotan Kaenguruh zum Magier
berufen. Herzlichen Glueckwunsch, Kaenguruh, und auch Dir, Wotan, zu Deinem
neuen Sohn!



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



Zeitungen fuer zweitis (Orktoeter,  9. Mar 1995, 20:31:34):
Wer hat schon aktuelle Zeitungen bei seinem erstie und zweiti ?
Wie waere es, wenn man eine Zeitung problemlos abbestellen koennte ? (kein
Speicherplatzverbrauch bei den zweitis) ?
 OrkT

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



Re: Zeitungen fuer zweitis (Boing,  9. Mar 1995, 20:43:19):
#! rn=Orktoeter rt=794777494
Das ist ganz furchtbar einfach: Man nimmt mit dem Zweitie einfach keine
Zeitung ... und wenn man sie schon hat sollte man als Seher doch die
Moeglichkeiten kennen ungeliebte Objekte loszuwerden.
  Boing

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



Re: Re: Zeitungen fuer zweitis (Yantro, 10. Mar 1995, 08:46:31):
#! rn=Boing rt=794778199

Orktoeter ist aber nun kein Seher sondern Orktoeter, wie der Name schon
sagt..  er koennte vesuchen, Orkiiiees Zeitung zu erdarten, aber ist hab da
wenig Hoffnung ;)

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



sruf (Grimmborn, 11. Mar 1995, 16:17:09):

Ich schlage einen Befehl sruf vor, analog dem mruf, nur geht das an alle
Seher. Nicht dokumentiert, kostenlos fuer Spieler. Damit keiner sagt, wir
koennten nerven ohne zurueckgenervt zu werden...

Das ist sicher besser und wurkungsvoller als den mruf fuer gewisse Spieler
(kurzzeitig?) zu sperren. Und bequemer als endlich mal ne Hilfeseite zu
schreiben...

Grimmborn der Atheist

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



Re: sruf (Guybrush, 11. Mar 1995, 20:49:30):
#! rn=Grimmborn rt=794935029
TOLLE IDEE!
Guybrush, kurz und buendig.

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



Re: sruf (Toss, 11. Mar 1995, 20:55:53):
#! rn=Grimmborn rt=794935029
is cool man !

Jau, da duerfte nichts gegen einzuwenden sein, die magier koennen das ding
abstellen, und ich denke wieder mal ein neuer anreiz fuer die seher kann nicht
schaden ;)

Gehaltvoller artikel, i know, erwartet nicht zuviel samstag abend ;)

Ryne
- findet Grimms Idee guuhuuutt !! -

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



Re: Re: sruf (Grimmborn, 11. Mar 1995, 21:55:42):
#! rn=Toss rt=794951753

FALSCH< Ryne, FALSCH!
Magier koennen das Ding erst gar nicht einschalten. Oder kannst Du die
Meldungen des mruf einschalten?

Grimmborn der Atheist

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



Re^3: sruf (Schrumpfi, 12. Mar 1995, 00:25:16):
#! rn=Grimmborn rt=794955342
Auch hoeren wollen!!

Schrumpfi die Grimmis mrufe einfach koestlich findet :)

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



Re^3: sruf (Toss, 12. Mar 1995, 10:14:35):
#! rn=Grimmborn rt=794955342
argl

jaja, schon gut, naechstemal denke ich vorher nach ;)

Ryne

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



Re^4: sruf (Anatol, 13. Mar 1995, 12:37:13):
#! rn=Toss rt=794999675

Hmmmmm......

Wird man verhindern koennen, dass Magier auf sruf mitlauschen koennen?
Ich denke mal: nein

Anatol ()

PS: Aber die Idee ist wirklich 1. Sahne :)

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



Re: sruf (Boing, 13. Mar 1995, 12:53:12):
#! rn=Grimmborn rt=794935029
Den Befehl hebt ihr doch schon: -h blabla
  Boing

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



Re^3: sruf (Jof, 13. Mar 1995, 14:16:10):
#! rn=Grimmborn rt=794955342
Hm ich hab ja nix gegen ein sruf - aber wo liegt der Unterschied zwischen
sruf und dem Seherkanal? Und es muss natuerlich fuer Magier hoerbar sein -
ich will doch nicht laufend einen Seher snoopen muessen, nur damit ich mit-
kriege, was ueber sruf abgeht :)

 Jof

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



Re^4: sruf (Anatol, 13. Mar 1995, 15:31:02):
#! rn=Jof rt=795100570


Ich glaube, es ist so gedacht, dass _jeder_ srufen kann, aber nur Seher
(und unser aller grossen Brueder, die sorgsam ueber uns wachen) diesen Ruf
letztendlich auch hoeren. Analog zu mrufe eben.

Allerdings sollte man als Seher per Befehl den Sruf ueberhoeren koennen...
...schliesslich koennen wir ja nicht einfach eine Nervensaege disconnecten,
so wie Magier das ganz gerne praktizieren (gell Cat?).

Anatol ()

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



Re^4: sruf (Klinge, 13. Mar 1995, 16:21:08):
#! rn=Jof rt=795100570
ausserdem sollte es doch fuer magier kein problem sein innerhalb kuerzester
zeit einen 2ty mit seherstatus zu schaffen der mit hoert.
es braechte also eh nix den kanal fuer magier zu sperren.

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



Re^5: sruf (Guybrush, 13. Mar 1995, 20:10:52):
#! rn=Anatol rt=795105062
Grosse Brueder?
1984?
Guybrush

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



Re^4: sruf (Beldin, 13. Mar 1995, 21:26:07):
#! rn=Jof rt=795100570
Der unterschied waere, dass WIR die Seher damit nerven koennen, wenn sie UNS
mit mruf nerven - und sie koennen es NICHT abschalten ;)))
YTB

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



Re^5: sruf (Schrumpfi, 13. Mar 1995, 22:55:52):
#! rn=Anatol rt=795105062
Hmm, ich find das auch magier sruf hoeren duerfen. Nur srufen duerfen nur
seher :)
Schrumpfi :)

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



Re^5: sruf (Schrumpfi, 13. Mar 1995, 23:00:34):
#! rn=Beldin rt=795126367
Obwohl das ja auch keine schlechte Idee ist ;-)

Schrumpfi hin und hergerissen :)

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



Betrifft Grimmborn, 11. Mar 1995, 16:17:09 (Toastbrot, 16. Mar 1995, 21:39:04):
Au ja und einen PNCRUFE damit Seher und AMgier auch einmal den PNC's zeigen
koennen wie nerfig so ein mrufe sein kann.

Ein grinsendes (Kanaelebenutzendes) Roesti.

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



Re: Betrifft Grimmborn, 11. Mar 1995, 16:17:09 (Beldin, 17. Mar 1995, 09:29:24):
#! rn=Toastbrot rt=795386344
PNC's?

Was zur Hoelle sind PNC's?

Beldin (versteht nur noch Bahnhof) :)

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



Re: Re: Betrifft Grimmborn, 11. Mar 1995, 16:17:09 (Grimmborn, 17. Mar 1995, 22:27:05):
#! rn=Beldin rt=795428964

Meint vermutlich NPC. Dumm wie Toastbrot halt... ;-)

Grimmborn der Atheist

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



Bug? (Horschd, 20. Mar 1995, 04:21:37):
Hi.

Anscheinend gibts bei der Ebene D-Chat nen Bug.
Wenn ich was auf D-Chat sende, bekomme ich keine Rueckmeldung und wenn
jemand anderes hier aus dem MG etwas sendet, seh ich das auch nicht.

Horschd (in der hoffnung bald wieder richtig D-chatten zu koennen)

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



Was zur Hoelle sind PNC's? (Toastbrot, 20. Mar 1995, 09:37:53):
PNC = Papp nasen carakter... Sc rufe waere auch ganz nett.
Roesti
#.

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



alignment (Grimmborn, 20. Mar 1995, 13:19:03):

Alle Jahre wieder...
Also, wieso krieg ich als Zwerg ein schlechteres alignment wenn ich Elfen
(Gardewaechter z.B.) klatsche?
Das gilt bei meinem Volk als gute Tat, davon werd ich nicht boese. Muesste
doch was zu machen sein...

Grimmborn der Atheist, der sich eh bald sein alignment selber setzen kann.

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



Re: alignment (Yendi, 20. Mar 1995, 13:20:22):
#! rn=Grimmborn rt=795701943

Darueber habe ich mich schon vor Jahren als Elf bei den Zwergenwaechtern
gewundert...


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



Re: Alignment (Arombolosch, 20. Mar 1995, 13:44:16):
Moment, ich kann Elfen auch nicht leiden, aber selbst bei Zwergen gilt das
'Abklatschen' von Elfen ohne Grund nicht gerade als feine Tat...

Arombolosch

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



Re: Re: Alignment (Yendi, 20. Mar 1995, 13:51:01):
#! rn=Arombolosch rt=795703456

Naja, aber das "'Abklatschen' von Elfen" gilt fuer Zwerge, ebenso wie das
Abklatschen von Zwergen durch Elfen, eher als Kavaliersdelikt...
Man tut es eigentlich nicht, aber es weint diesen Spitzohren (respektive
Steinfressern) niemand eine Traene nach.


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



Re^3: Alignment (Klinge, 21. Mar 1995, 16:00:18):
#! rn=Yendi rt=795703861
Menschen haben es da besser, die koennen wahllos Zwerge, Elfen und was sonst
noch so an Ungeziefer
rumkriecht wegklatschen.

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



Wichtige Aenderung (Rumata, 23. Mar 1995, 11:12:28):
Hallo,
wer blind ist oder im dunkeln steht, kann in Zukunft keine Ausgaenge
mehr sehen. Natuerlich kann man sich immer noch vortasten, aber Leute,
seit gewarnt! Immer schoen viele Fackel oder aehnliches mitnehmen, wenn
ihr Euch in dunkle Verliese vorwagt.

Rumata

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



Re: Wichtige Aenderung (Toss, 23. Mar 1995, 11:20:18):
#! rn=Rumata rt=795953548
HAE ?

das war eine zu intellektuelle aenderung fuer einen dummen zwerg wie mich...
also, wenn ich ins dunkle gehe, kann ich (ja, ich habe ende gemacht, damit die
aenderung wirksam wird) immer noch alles so wie vorher machen - wo soll
nochmal genau der unterschied liegen ? - also, vorher konnte ich im dunkeln
auch nichts sehen. erklaer mir das doch mal einer, bitte :)

Ryne
- daemlich -

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



Re: Re: Wichtige Aenderung (Fraggle, 23. Mar 1995, 11:42:33):
#! rn=Toss rt=795954018
Ich glaub zwar nicht, dass das hier zur Klaerung beitraegt, aber trotzdem
mal das Ergebniss meines Testes dazu:

Als Magier Fraggle (Hexenstab-Lichtlevel NULL!)
> westen
Finsternis.
> schau
[/d/ebene/fraggle/room/frag4x5]
Dies ist die Hoehle der Elsternesseln.
Hier findest Du einige sehr merkwuerdige Pflanzen.
Der Boden ist mit seltsamen Kruemeln uebersaet.
Es gibt zwei sichtbare Ausgaenge: westen und osten.
Zappadong die hoffnungsvolle Anfaengerin. [/elf:zappadong]
Ein Fangarm. [/d/ebene/fraggle/mon/fangarm#56234]

Dagegen aus der Sicht des Testspielers Zappadong:
>schau
Es ist zu dunkel !
>aus
Es gibt zwei sichtbare Ausgaenge: westen und osten.

Raetselhaft .....

By th Way: Ausgaenge, deren Raeume beleuchtet sind, sollte man sehen
koennen! (Theoretisch sogar besser, als wenn es hell ist, oder ? )

Gruss
Fraggle

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



Re^3: Wichtige Aenderung (Wargon, 23. Mar 1995, 11:44:40):
#! rn=Fraggle rt=795955353
:By th Way: Ausgaenge, deren Raeume beleuchtet sind, sollte man sehen
:koennen! (Theoretisch sogar besser, als wenn es hell ist, oder ? )
Hngl! ;)

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



Re^3: Wichtige Aenderung (Yendi, 23. Mar 1995, 11:57:31):
#! rn=Fraggle rt=795955353

> By th Way: Ausgaenge, deren Raeume beleuchtet sind, sollte man sehen
> koennen! (Theoretisch sogar besser, als wenn es hell ist, oder ? )

Gib ihnen! ;)

Wer weiss, wenn wir weiterhin in dem Tempo Magiernachwuchs kriegen, dann
setzt sich vielleicht sogar einer hin und implementiert das...

ObQuestion: Hat Merlins Magier-gemacht-Meldung noch den unschoenen Umbruch?


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



Re^4: Wichtige Aenderung (Hate, 23. Mar 1995, 12:21:51):
#! rn=Yendi rt=795956251
Nunja, wenn ihr nicht moechtet, dass das MUD rasant Speicherwegfrisst, dann
sind solche Wunsche wohl etwas unbedacht. Man muesste naemlich immer alle
Raeume laden, die an den gerade betretenen angrenzen!

Hate.

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



Re^3: Wichtige Aenderung (Silvana, 23. Mar 1995, 13:37:59):
#! rn=Fraggle rt=795955353
Da es sich in diesem Fall um eine Aenderung im Raum handelt muss uebrigens
nicht der Spieler neu geladen werden (also ende...) sondern der Raum. Daher
wird sich in den meisten Raeumen noch nichts getan haben. ;-)
Silvana.

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



Re^4 Wichtige Aenderung (Ed, 23. Mar 1995, 15:32:22):
Das man im Finsteren die Ausgaenge angezeigt bekommt, sollte lieber belassen
werden. Und wer denkt das sei unlogisch:

Wenn ich 'Ausgaenge' eingebe, dann macht mein Charakter im Dunklen folgendes:
Er geht den ganzen Raum ab und tastet mit den Haenden alle Waende im Raum ab.
Somit findet er mal alle Ausgaenge. Das diese normalerweise sichtbar sind,
kann er sich denken. Also meint er: Es GIBT xx sichtbare ausgaenge...
Von Unlogik keine Spur.

Ich wuensche jedenfalls niemanden sich im Dunklen bei 40 sekunden Lag-
verzoegerung durch 'wie bitte' und 'Finsternis' wo durcharbeiten zu muessen.

Ein laggeplagter Ed.

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



Neuer Zauerbspruch (Boing, 23. Mar 1995, 16:32:35):
Hi!
Es gibt einen neuen Zauberspruch in der Abenteurer-Gilde zu lernen:
licht, 5 MP, ab Level 4 (oder waren es 4 MP ab level 5?).
  Boing

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



Re: Neuer Zauerbspruch (Baboon, 23. Mar 1995, 16:39:28):
#! rn=Boing rt=795972755


Hm, da wird ja Hilberts Zauberstab ziemlich ueberfluessig: Der frisst
naemlich 40 MP und haelt grad mal ein Paar Minuten vor.
Oder Ist der Spruch aehnlich wie "Schnell" nach 20 sec. schon wieder
verraucht?

Baboon.

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



Re: Neuer Zauerbspruch (Baron, 23. Mar 1995, 17:12:58):
#! rn=Boing rt=795972755
Ein dreifaches Hoch auf den Magier (oder Gott :) der den Lichtspruch geproggt
hat!!! Endlich ist man diesen laestigen Stab los, mal ganz abgesehen davon das
ich ohnehin keinen mehr hatte nachdem ich das letzte mal gestorben bin.
Einfach keinen Bock mehr die Hilbert-Quest zum fuenften mal zu machen :)
Baron (hofft auf viele neue und praktische Sprueche)

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



komisch (Rxtech, 23. Mar 1995, 18:10:02):
Hm, komisch Baron. Ich denk Du bist Seher.
Da solltest Du Dir den Stab doch lieber kaufen, als Dich durch die Quest zu
quaelen.

Sieh Dich mal im Laden um

Rxtech

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



Liste (Rxtech, 23. Mar 1995, 23:30:59):
Hm, vielleicht hab ich ja mal wieder nur ne daemliche Idee, aber zumindest
koennte man ja mal drueber nachdenken.
Also. ich hab grad nen Sprung in der Liste getan, weil Grimmborn Mag geworden
ist (waere ich nich neulich krepiert waerr ich eh vor ihm gewesen hihihi).
Naja, die Listen sind ja nur ne spassiger Ansporn. Aber irgendwie ist es
Schade, wenn so alte Metzelkoeppe wie Grimm, Zardoz oder Silvana so gar nich
mehr auftauchen. Koennte man (son Bloedsinn, man sowiesonich) nicht vielleicht
sowas wie eine ewige-Liste erstellen, wo auch die Mags wieder drin sind? Also
ich denke, so ein Grimmborn oder Zardoz wird sich ~
auch in so einer Liste ziemlich lange halten.

So mein Schiff is da. Denkt mal drueber nach.

Etwas gelangweilt

Rxtech

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



Re: Liste (Grimmborn, 23. Mar 1995, 23:54:49):
#! rn=Rxtech rt=795997859

Hmm, ich verstehe das nicht, ich bin doch nur an 12. Stelle der Liste
abgetreten.
Wie kommts bloss, dass ich so ein Pruegler-Image habe?

Grimmborn der Atheist. Zueckt die Zap-O-Matic.

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



Re: komisch (Baron, 23. Mar 1995, 23:58:42):
#! rn=Rxtech rt=795978602
Als ich das letzte mal Hilbert gemacht hab war ich noch "angehender" :).
Ausserdem geb ich immer meine ganze Kohle fuer Bumis aus :)).
Baron (Stabgegener!)

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



Beleuchtete Raeume oder Hilfe, wo ist der Ausgang... (Miro, 24. Mar 1995, 00:15:37):
Hi Ihrs,
dass mit den beleuchteten Raeumen, deren Ausgang zu sehen ist, ist 'ne tolle
Idee.
Ist es denn nicht moeglich, nicht nur die Ausgaenge zu proggen, sondern ihnen
auch ein Argument mit zu geben, ob sie im Dunkeln zu sehen sind oder nicht?
Also nicht nur die Verbindung zum naechsten Raum, sondern auch, ob im Dunkeln
sichtbar (weil dann beleuchtet) oder nich...
Dann muessen die angrenzenden Raeume ja nicht geladen werden (ausser man
tappt dahin...)
Gaebe dem ganzen mehr Fun, da ich in 99% der Faelle nach einem Reboot immer
vergesse,
mir ein ganzes Kontingent an Fackeln zu kaufen (da anscheinend unsere Mags
bei den meisten Quests sich denken: Stromrechnung is' hoch genug und im
dunkeln ist gut munkeln...)
Miro (der ueberhaupt keine Ahnung vom Programieren hat, aber wartet mal, wenn
er Mag is...)

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



Re: Beleuchtete Raeume oder Hilfe, wo ist der Ausgang... (Quillian, 24. Mar 1995, 08:07:28):
#! rn=Miro rt=796000537
Tja, das stell ich mir aber etwas problematisch vor, nachtraeglich allen
Ausgaengen ein 'beleuchtet'-Property einzubauen. Ausserdem ist der
Licht-Spruch doch mehr als ausreichender Ersatz fuer das 'nicht erkennen von
Ausgaengen'.

Quillian

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



Re: Re: Beleuchtete Raeume oder Hilfe, wo ist der Ausgang... (Hate, 24. Mar 1995, 09:35:33):
#! rn=Quillian rt=796028848
Ein weiteres Problem ist, dass ein Raum manchmal beleuchtet und manchmal
unbeleuchtet ist und ausserdem manche Raume zwar einen Ausgang haben
in eine RIchtung, aber nicht wissen, was fuer ein Raum daneben ist.
Ich sehe hier wirklich keine Chance. Dazu ist das Konzept zu differen-
ziert.
Hate.

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



Umsatzverluste (Freund, 24. Mar 1995, 10:53:45):
Gruess Gott,
seit es diesen dummen Lichtspruch gibt, hat der Fackelladen
enorme Umsatzeinbussen zu vermelden. Ich habe gehoert,
der Besitzer erwaegt eine Anzeige, um von der Magiergilde
eine prozentuale Beteiligung an jedem Lichtzauber zu erstreiten.

Da sieht man wieder, wie man das Gleichgewicht im Mud durcheinander
wirbeln kann... :)
Ein Freund des Fackelverkaeufers.

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



Re: Umsatzverluste (Bloodyharry, 24. Mar 1995, 11:07:15):
#! rn=Freund rt=796038825
Hallo Freund.

Der Lichtspruch haelt doch nicht lange an. Das ist mir jedenfalls zu
laestig, immer wieder eine Leuchtkugel abzuschiessen.

Bloody Harry   -   kauft immer noch Fackeln.

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



Re: Umsatzverluste (Boing, 24. Mar 1995, 13:23:56):
#! rn=Freund rt=796038825
Wart mal ab, bis die Gilden fertig sind, ich denke nicht dass Rochus'
Karateka
Licht zaubern koennen ... :)
  Boing

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



Re: Re: Umsatzverluste (Roadrunner, 24. Mar 1995, 19:14:03):
#! rn=Bloodyharry rt=796039635
Hallo Harry

Du _kaufst_ Fackeln - im Ernst - sind doch problemlos umsonst zu bekommen!
(nein ich sage jetzt nicht wo - aber wirklich problemlos umsonst!)

Der J"ager und Sammler..
                         	     			RoadRunner

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



Re^3: Umsatzverluste (Bloodyharry, 25. Mar 1995, 00:02:47):
#! rn=Roadrunner rt=796068843

Hallo RoadRunner!

Ich weiss auch wo. Aber erstens bin ich wohl zu faul nur einen Schritt
zu weit zu laufen und zweitens will ich die Fackelinnung nicht ganz haengen
lassen. Einen kleinen Obolus kann man doch immer locker aus der Tasche
zahlen. Gilt uebrigens auch fuer eine kleine Spende zum Erhalt des
Morgengrauen!

Bloody Harry   -   geht nach Freund noch eine kostenlose Portion Eis
vertilgen. :-)

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



Re: Liste (Silvana, 26. Mar 1995, 10:44:23):
#! rn=Rxtech rt=795997859
Also sowas - mich also Metzelkopp zu bezeichnen... Ich bin sprachlos. Wann
hab ich mich denn mal ich der SSP sehen lassen? Ich glaube, bei Zardoz war
ich auch nie. Hmmm - entweder Du verwechselst mich, oder Du glaubst immer
noch nicht, dass ich meine EP mit Questen und (fast) nicht sterben zusammen-
bekommen hab.

Silvana - pazifist, solange das MUD es zulaesst.

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



Re^3: Umsatzverluste (Infomax, 27. Mar 1995, 12:43:04):
#! rn=Roadrunner rt=796068843
Hi Roadrunner
Nicht kostenlos. Aber UMSONST ???

Ein erleuchteter INFOMAX ,.

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



Re^4: Umsatzverluste (Freund, 27. Mar 1995, 13:45:18):
#! rn=Infomax rt=796300984
Halloechen,
es ist natuerlich anzumerken, dass es im Fackelkiosk eine ganze Menge
besserer Fackeln gibt, als die Stamdard-ueberall-findbare-Fackel...
Zurueck zur Werbung... Freund.

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



typo in Armageddon-Meldung! (Yendi, 29. Mar 1995, 21:20:41):

Naja, typo ist uebertrieben... schlechter Umbr
uch...                                            :)

Beispiel folgt:
> Um Dich herum siehst Du nur noch brennende Truemmer. Das Ende der Welt muss
nu
n
unmittelbar bevorstehen.

Uuups... Das "nu" sollte noch ans Ende der vorigen Zeile, das hat der Editor
selber umgebrochen... Tja...


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



Schau ma mal, da seh ma scho! (Yendi, 30. Mar 1995, 20:46:05):

Koennte man nicht beim einloggen automagisch den Raum angezeigt bekommen, in
dem man erscheint? Es ist immer so peinlich, wenn ich mich einlogge und
anfange mit Zeitungslektuere oder talks, und dann schuettelt mir einer die
Hand, der schon seit 5 Minuten neben mir steht...


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



kwer (Rochus, 30. Mar 1995, 21:34:00):
Ich habe einige Erweiterungen in kwer und kkwer vorgenommen.
Man kann jetzt angeben:
  in ort
  bei spieler
  region xxx
  spieler/seher/magier/goetter/zweities/testies/alle

z.B. zeigt
  kwer in muenster
alle Spieler, die aus Muenster kommen und
  kwer magier ausser goetter
alle Magier ausser Goetter an.
Es gehen auch Verknuepfungen mit und/oder/ausser, diese werden jedoch
von links nach rechts ausgefuehrt. Beispiel:
  kwer in muenster oder in koeln und seher

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



Re: kwer (Kretek, 31. Mar 1995, 03:17:29):
#! rn=Rochus rt=796592040
Gute Idee, aber: Eins verwundert mich dabei doch sehr: Ich bin aus USA
eingeloggt, unt tippe also froehlich kwer in usa ein. Nix. Null Teilnehmer,
angeblich! Ja Herrschaft, bin ich denn nix? Uebrigens: kwer in USA,
kwer usa, kwer USA... alles bringt nix. Ich bin offiziell also gar nicht
da, oder wie, oder wer, oder was?

verwirrt,
     _   __ ___  __
| / | \ |    |  |   | /
|/  |_/ |_   |  |_  |/
|\  |\  |    |  |   |\
| \ | \ |__  |  |__ | \


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



verlorene-EP-Liste? (Magicolli, 31. Mar 1995, 12:02:54):
Hallihallo!
Mir kam da neulich eine Idee zum Thema Top-Sterbe-Liste, die vor einiger
Zeit mal im Gespraech war. Soweit ich mich erinnere, hielten die meisten
eine solche Liste fuer unsinnig, da es fuer Spieler mit kleinerem Level
im allgemeinen keine Schwierigkeit und kein grosser Verlust ist zu sterben.
Damit haben diese Leute auch sicher Recht. Mein Vorschlag:
Wie waere es mit einer Top-vergeigte-EP-Liste?
Wenn man schon die Anzahl der Tode mitloggt, ist es sicher auch kein Problem,
die verloren EP mitzuloggen. Somit haetten dann auch die Charaktere mit
hoeherem Level entsprechend groessere Chancen, sich oben zu plazieren. :)
Also, war nur so ein Gedanke....

    MagicOlli, der sich gerne bei einem Glaeschen Statistiken ansieht :-)

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



Re: kwer (Engywuck, 31. Mar 1995, 16:30:59):
#! rn=Rochus rt=796592040
Schoen.
Jetzt fehlt nur noch die Option

kwer maennlich/weiblich


Engywuck, auch Chauvi - und MG-Psychologe ;)

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



Ideen.. (Orktoeter, 31. Mar 1995, 21:02:55):
Zwei Ideen (zugegebenermassen nicht unbedingt ganz neu).
1. Wie waere es (spetziell fuer Makros), wenn es einen Hyperkurzmodus gaebe
(ganz ohne Rueckmeldung ?)
2.  Ein Kmpfkurzmodus (moeglichst mit optionen, was Angezeigt werden soll und
was nicht). Klar ist es ein grosses Problem, weil die Meldungen bislang wohl
direkt an den Raum gehen, aber unsere findigen Magier werden das doch wohl
noch in den Griff kriegen
oder ?
So, nun macht mich nieder !
OrkT

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



Re: Ideen.. (Fyt, 31. Mar 1995, 22:01:07):
#! rn=Orktoeter rt=796676575

Hm, sowohl den Laufmodus ohne Rueckmeldung als auch einen
verkuerzten Kampfmodus kriegt man doch hin, oder?

Mit TF geht's zumindest:
      /def -ag -t"^  Du greifst (.*) an.$"  ...

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



Kosten... (Kretek, 31. Mar 1995, 22:35:08):
Mal 'ne Frage zum Befehl "kosten" in der Gilde: Ich hab ueber 'ne Million
EPs, aber APs fehlen mir noch... Wenn ich jetzt "kosten" eintippen, dann
bekomme ich die Meldung, dass ich meine Stufe erhoehen koennte.
Eindeutige Falschaussage! :)
Deshalb eine Anfrage: Bei Spielerlevels wird ja die benoetigte AP-Zahl
auch angezeigt. Kann man das fuer die Erhoehung zum Seher nicht auch
einbauen?

Tschuessi,
     _   __ ___  __
| / | \ |    |  |   | /
|/  |_/ |_   |  |_  |/
|\  |\  |    |  |   |\
| \ | \ |__  |  |__ | \


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



Re: kwer (Bambulko,  1. Apr 1995, 05:24:31):
#! rn=Rochus rt=796592040
Es fehlt noch kwer idle:
Aber bitte mit idle-zeit

BAMBULKO

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



Re: Re: kwer (Fyt,  1. Apr 1995, 17:03:23):
#! rn=Bambulko rt=796706671
wie waer's - ketzt da das kwer so wunderbar funktioniert -
wenn sich mal einer um 'lege alles von boden in beutel'
und Verwandtschaft kuemmern wuerde...

Fyt. Nimmersatt.



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



Re: Re: wanzen (Hate,  1. Apr 1995, 19:36:00):
#! rn=Fyt rt=796748603
[Verlegt von allgemeines, Acrimon,  1. Apr 1995, 18:52:51]:
Dies duerfte sich am besten regeln lassen, indem man optional hinter jedem
Gegenstand, den man benennt, eine Ortsangabe schreibt. (Aber niicht mehr als
eine!)
Wobei als Ortsangaben zugelassen werden: "vom boden", "aus <behaelter>" und
"am koerper".
Dies duerfte alles moeglich machen, was man sich in diesem Zusammenhang
wuenschen kann.

Grusz,
Acrimon


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



Noch ne Idee... (Khidar,  2. Apr 1995, 06:11:24):
Hallo, Mags!
Wie waere es, wenn man sowas wie 'zuecke letztes schwert' oder 'zuecke
schwert -1' eingeben koennte, um das letzte Schwert im Inventory zu zuecken?
Das waere fuer Makros recht nett, ich sammel eben die Ausruestung von den
Monstern ein und dann zuecke ich irgendein prassliges Krummschwert statt des
Xantischwertes.
Vielen Dank fuer Eure Bemuehungen im voraus.
Khidar.

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



Re: Noch ne Idee... (Zuerileu,  2. Apr 1995, 06:30:34):
#! rn=Khidar rt=796795884
Sali,
Du kannst ja eingeben 'zuecke schwert 1' 'zuecke schwert 2...' oder dann
beschrebe das schwert das du zuecken willst: 'zuecke blutsauger-schwert' !

Tschau Zuerileu

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



Teddy (Acrimon,  2. Apr 1995, 11:29:32):
Koennte man den Teddy nicht so umfunktionieren, dasz er auch eine
Veraenderung der Magiepunkte anzeigt, wenn sich die Lebenspunkte nicht
veraendern?
Das waere viel praktischer.

Danke,
Acrimon

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



Re: Ideen.. (Catweazle,  3. Apr 1995, 18:33:18):
#! rn=Orktoeter rt=796676575
Hi!
1: Schon mal 'ultrakurz' eingetippt?
YTC :-)

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



Re: Re: Ideen.. (Grimmborn,  3. Apr 1995, 18:55:43):
#! rn=Catweazle rt=796926798
Hast DU schonmal ultrakurz eingetippt, Cat*?
Da kommt immer ein stoerendes UKM! fuer jeden Raum. Sowas irritierendes...

Grimmborn der Atheist und Kurzlaeufer.

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



schwertmeister (Rochus,  3. Apr 1995, 19:24:14):
Ich habe den Schwertmeister etwas schwieriger gemacht - er trifft
mit seinem Schwert auch einen fliegenden Bumerang...

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



Re: schwertmeister (Kretek,  3. Apr 1995, 21:08:10):
#! rn=Rochus rt=796929854
Danke, Rochus!
Genau das, was ich mir schon immer gewuenscht habe!
Kretek fordert: weg mit dem Kinderkram!

[ironie off]

l8er,
Kretek, der selbsternannte Ochsenfrosch

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



Re^3: Ideen.. (Wur,  4. Apr 1995, 02:33:46):
#! rn=Grimmborn rt=796928143
was soll denn nu schon wieder UKM heissen?

Wur  -    gruebelnd und breit grinsend

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



Ignorieren (Bambulko,  4. Apr 1995, 06:54:01):
Kann man nicht mit dem Befehel ignoriere <spieler> auch alle Maus-befehele
dieses Spielers auf einmal ignorieren
Denn ich habe keine lust jedesmal ignoriere <spieler>.rwuschel ...usw
einzugeben

Oder gibt es soetwas schon? Wenn ja sollte es doch bitte mit auf die
Hilfeseite

BAMBULKO

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



Re: Ideen.. (Yantro,  4. Apr 1995, 09:57:13):
#! rn=Orktoeter rt=796676575

Hmmm also ich bin immer noch der Meinung, das hier im MUD die Texte jeglicher
Art dazugehoeren und das den Reiz ausmacht...

Anders gesagt, die einfuehrung eines Hyperkurzmodus finde ich Unfug...

Wer interesse an so einer einrichtung hat, dem rate ich, einfach waehrend des
Laufens durch das MUD und waehrend des Kampfes den Bildschirm auszumachen..
das ist bestimmt lustig ;)

                   Yantro(ironiert so vor sich hin :))

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



Re: Re: Ideen.. (Grimmborn,  4. Apr 1995, 13:34:36):
#! rn=Yantro rt=796982233
Zum Teil haben Besitzer minderwertiger modems Probleme mit zu viel Text. Im
Klartext: Rein in einen Raum mit 8 agressiven Spinnen und der load ist so
stark, dass das modem eigene Befehle nicht mehr akzeptiert. Sowas kann
unangenehm werden...

Grimmborn der Atheist. Zum Glueck ohne modem.

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



Re: Teddy (Sir,  4. Apr 1995, 19:19:29):
#! rn=Acrimon rt=796814972
Moin,

urspruenglich konnte er das auch, aber irgendwer hat das File gepatcht
und ich steig nicht mehr so ganz ducrh, was da ablaeuft.,..

MfG
Sir

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



Re: Re: Teddy (Grimmborn,  4. Apr 1995, 19:30:19):
#! rn=Sir rt=797015969

*lach, prust, auf dem Boden lieg*
Genau das hab ich auch gesagt als ich mir den Teddy anschaute nach der
Magierwerdung...

Grimmborn der Atheist

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



Re: Ignorieren (Hate,  4. Apr 1995, 22:49:58):
#! rn=Bambulko rt=796971241
Lieber Bambulko,

versuch es einfach mal mit "ignoriere rwuschel"
Ich patche jetzt die Maus, wenn es da noch nicht funktionieren sollte.
Da hat wieder jemand nicht die richtige Methode benutzt.

Hate.

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



Diddl-Maus (Hate,  5. Apr 1995, 00:21:25):
Ich habe die Diddl-Maus insofern veraendert, dass sie mit dem bestehenden
ignoriere System konform ist:
ignoriere <spieler>        -- ignoriert den spieler ganz
ignoriere <verb>           -- ignoriert von beliebigen spieler das verb
ignoriere <spieler>.<verb> -- ignoriert das verb bei dem spieler
Hate.

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



Re: Re: Teddy (Acrimon,  5. Apr 1995, 02:38:17):
#! rn=Sir rt=797015969
Ach ist das bloed, koennt ihr nicht diesen Patch rueckgaengig machen, wie
soll ich sonst wissen, wie meine Magiepunkte aussehen?
Waere auszerdem schoen, wenn man im tf die Ausgabe des Teddy abfangen und
(evt in anderer Form) auf der Statuszeile ausgeben koennte.
Ja, das ist Sache des TF, ich weisz, und leider kann es noch nichts auf der
Statuszeile ausgeben.
Ich mein ja nur, ich waer euch dankbar wenn ihr das trotzdem macht, obwohl
der Code so chaotisch ist.

Grusz,
Acrimon

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



Re^3: Teddy (Sir,  5. Apr 1995, 10:39:44):
#! rn=Acrimon rt=797042297
Was heisst hier chaotisch !!! Frechheit !
Als ich den teddy geschrieben habe, war noch gany uebersichtlich
Eine Funktion nach der anderen :)

Aber ich werd sehen, ob ich den Code nicht doch nachvollziehen kann
MfG
Sir

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



Re: Re: Ideen.. (Ronda,  5. Apr 1995, 13:17:46):
#! rn=Yantro rt=796982233
Grins! Ich mach immer einfach die Augen zu... :)
Nonsense off...
      Ronda

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



Re: Re: Ignorieren (Bambulko,  5. Apr 1995, 17:27:03):
#! rn=Hate rt=797028598
Kann sein dass ich mich falsch ausgedrueckt habe, aber ich meinte ALLE
befehle der Maus mit EINEM Befehl. So muss ich wenn ich jemanden ignorieren
will staendig 20 befehle eingeben.
BAMBULKO

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



Re: Diddl-Maus (Bambulko,  5. Apr 1995, 17:28:51):
#! rn=Hate rt=797034085
Jep genau so war das gedacht...Danke!

Bambulko

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



Re: Re: Diddl-Maus (Grimmborn,  5. Apr 1995, 17:54:21):
#! rn=Bambulko rt=797095731
Mit "loesche artikel <nr>" kann man Artikel loeschen, Bambulko. Wenn man in
der entsprechenden Rubrik ist.
Die Kenntnis haette allen 3 sinnlose Artikel erspart: Deine beiden letzten
hier und diesen hier von mir... ;-)

Grimmborn der Atheist

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



Re^3: Diddl-Maus (Hate,  5. Apr 1995, 17:59:56):
#! rn=Grimmborn rt=797097261
Ich werde noch einbauen, dass man bestimmte Objekte ignorieren kann.
Zufrieden?
Hate.

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



Re^3: Diddl-Maus (Bambulko,  5. Apr 1995, 18:06:08):
#! rn=Grimmborn rt=797097261
Ist ja gut...aber jetzt sind es sogar schon vier solcher Artikel....
Ein grinsender Bambulko

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



Re^4: Ideen.. (Zuerileu,  6. Apr 1995, 02:50:01):
#! rn=Wur rt=796955626
sali wur,

na UKM - ULTRA KURZ MODUS =:)

Tschau Zuerileu

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



Re^5: Ideen.. (Yantro,  6. Apr 1995, 10:41:28):
#! rn=Zuerileu rt=797129401

hmm das Zueri auch immer wieder auch auf die duemmsten Witze und Fallen
hereinfaellt... nicht zu fassen... degradiert ihn ;)

          Yantro;) (rumschmarrnend)

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



Re^4: Teddy (Boing,  6. Apr 1995, 12:33:27):
#! rn=Sir rt=797071184
Also soweit ich mich erinnern kann, hat der Teddy das mit den MP
noch nie richtig gemacht, und dass jemand Deinen Teddy patcht halte ich
fuer ein Geruecht, wer sollte dieses Wirrwarr verstehen? :)
  Boing

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



Re^5: Teddy (Beldin,  6. Apr 1995, 14:04:59):
#! rn=Boing rt=797164407
BEVOR die Funktionen (glaub ich) teilweise aus dem Teddy ausgelagert wurden
(so hat es mir Jof seinerzeit gesagt) hat alles funktioniert. Danach eher
nicht mehr :-)
Beldin.

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



Re^5: Ideen.. (Wur,  7. Apr 1995, 05:12:14):
#! rn=Zuerileu rt=797129401
ahhhh, deshalb tut sich ansonsten nix mehr auf meinem bildschirm :)
Wur - noch nen sinnsloser artikel mehr...

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



Crash/Reboot und so weiter... (Anatol,  7. Apr 1995, 10:52:19):

Hm....
Ist es wirklich nicht umsetzbar, dass ein Spieler/Seher beim ersten Einloggen
nach einem Crash/Reboot automatisch:
    - volle LP
    - volle MP
    - keinen Alkohol intus
    - nichts gegessen
    - nichts getrunken
hat?
Ist naemlich wirklich aergerlich, wenn man nach dem 'Du findest ...' erstmal
stolpert und hickst...

Anatol () - oefters nackt und besoffen. Hier zumindest.

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



Re: Crash/Reboot und so weiter... (Toss,  7. Apr 1995, 10:54:42):
#! rn=Anatol rt=797244739
UND natuerlich auch volle Ausruestung, und einen Free-Trans zu einem
beliebigen Monster im Mud, damits sofort losgehen kann ;))

Ne, spass beiseite, anatol hat da voellig recht, das muesste laengst mal
geaendert werden, wenn man naemlich satt am metzeln war vor nem reboot, dann
kommt man arg ins schleudern, selbst knoblauchwasser kann man da oft nicht
mehr lange trinken... und TEUER ist das zechs :))
ups - zeuchs sollte das...

Ryne

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



Re^3: Diddl-Maus (Hawk,  8. Apr 1995, 01:01:04):
Man kann gegenstaende ignorieren? Der Gedanke gefaellt mir.
Geht das aber dann auch mit den Steinmonstern?
Beim Lich waere das auch ganz angenehm :)
HAWK, der die armen nicht immer killen will. :)

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



Re: Crash/Reboot und so weiter... (Hawk,  8. Apr 1995, 01:04:04):
Ach was, im Notfall gibt's immer noch die gute alte Krankenstation :).
HAWK, der gleich mal seinen Hexenschuss auskurueren geht.:)

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



Re: Crash/Reboot und so weiter... (Ray, 10. Apr 1995, 11:41:19):
#! rn=Anatol rt=797244739
vollkommen deiner meinung anatol ;)

ray, der auch immer nackt und besoffen in die friedhofskneipe wankt

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



Bumerang & Co. (Grimmborn, 11. Apr 1995, 17:48:52):

Tja, wo ich gerade in Fahrt bin... ;-)
Also, der Bumerang ist ja bekanntlich eine Waffe, die man auf zwei Wegen
bekommen kann. Als Questbelohnung in der Wolpertingerquest und im Seherladen.
Dieser Bumerang erhoeht die Kampfkraft (wenn zufaellig gerade lagfrei ist)
und ist daher bei vielen Sehern und einigen Spielern beliebt.
Tatsaechlich ist er so beliebt, dass das Angebot mit der Nachfrage nicht mehr
zusammenpasst, vor allem nach crashs stehen die Seher im Laden Schlange.

Man kann den Bumerang als Seherwaffe ansehen. Seher sind deshalb von normalen
Spielern unterschieden, weil sie einige Privilegien haben, der Bumerang
gehoert dazu. Der Questbumerang ist nach dem naechsten crash weg und dient
dazu, den Spieler "an die neue Waffe zu gewoehnen".
Ein normaler Spieler hat keinen Anspruch auf einen Bumerang aus dem
Seherladen, ebensowenig wie auf die Benutzung der Sehertore, die Anwendung von
echo u. dergl. und ebensowenig, wie er sich einen Titel setzen kann.
Privileg heisst: Etwas koennen/haben was andere nicht koennen/haben. Das ist
der Sinn des Seherstatus.

Nun ist der Seherladen geaendert worden, Seher koennen nur noch einen
Bumerang pro reset kaufen. Das hat zur Folge, dass Betteleien von Spielern
(Kauf mir doch bitte einen Bumerang mit) weniger Chancen haben und sie sich
beschweren.

Warum das hier in entwicklung steht: Scheinbar haben nicht alle Spieler
kapiert, dass Bumerangs (mittlerweile, Bumerange sind aelter als ein halbwegs
anstaendiges Seherkonzept) hauptsaechlich fuer Seher sind. Das kann/sollte man
aendern.
Ich schlage vor: Eine andere Questbelohnung fuer die Wolpertingerquest.
Bumerangs sind nur noch fuer Seher zu gebrauchen (ich denke da an eine Meldung
im Stil von "Da Du nicht maechtig genug bist haust Du Dir den Bumerang selber
an den Kopf" bei Wurfversuchen).
Moeglicherweise koennte dann der Wolpie-Bumerang von normalen Spielern
benutzt werden koennen und die aus dem Laden nciht, aber das wuerde doch eine
logische Luecke schaffen.

Vorteile: Ein Nervpotential wird einigen Moechtegern-Kannicht-Sehern
genommen. Der Bumerangklau wird minimiert. Das Seherprivileg wird deutlicher,
es gibt nun wirklich nicht gerade eine Riesenmenge solcher Privilegien.
Nachteile: Die Spieler verlieren im Schnitt eine Woche Bumerangbenutzung,
aber das liesse sich durch eine andere Questbelohnung sicher ausgleichen.
Grosses Geheule besagter Moechtegern-Kannicht-Seher das sich aber
erfahrungsgemaess nach ein, zwei Wochen legt.

So, vielleicht war das jetzt deutlich genug...
                                               Grimmborn der Atheist

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



Re: Re: Bumerang & Co. (Ketos, 11. Apr 1995, 23:23:09):
#! rn=Ketos rt=797634659
Der Bumerang entsatnd nach der Mudparty mit dem wilden Bumerang werfen anno
93
und dient der Wolpertingerquest als Belohnung. Spaeter gabs ihm auch im
Seher-
laden, da er ab und zu mal weg flog. Er war schon immer eine etwas gute
Waffe, kann aber auch nur zum Spass (ohne Kampf) geworfen werden und soll
auch von allen Spieler benutzt werden koennen. Junge Spieler treffen halt
nicht viel. Problematischer sind die hohen Seherlevel und Attributesboni die
die Bumerang noch staerker machen. Drum werde ich ihn in absehbarer Zeit
etwas ueberarbeiten muessen, spaetestens wenn die neuen Gilden kommen.
Die Verkaufsbeschraenkung ist absicht damit der Bumerang nicht zu oft vor-
kommt. Der Bumerang ist nun mal keine exclusive Seherwaffe, sonder eine
Questbelohnung, die sich die Seher spaeter als Service wiederkaufen koennen.
Leider ist das besondere Wurfholz aus dem Bumerangs gefertig werden muessen
etwas rar...

Gut Holz   - ketos -

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



Re^3: Bumerang & Co. (Felagund, 12. Apr 1995, 13:30:47):
#! rn=Ketos rt=797635389
Bittebitte den Bumi nicht verschlechtern, das ist selbst bei lag noch eine
sinnvolle Waffe, wenn sie so bleibt...
Den Bumi zu verschlechtern wuerde ausserdem nach sich ziehen entweder die
Monster in der SSP zu verschlechtern, oder die Tankstellen dort im 5 Minuten
takt zu resetten, da irgendwie der Erhoehte MP-verbrauch beruecksichtigt
werden muesste....
Etwas beunruhigt....Fela

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



Neue Gilde (Rochus, 12. Apr 1995, 20:58:35):
Funakoshi, der Karatemeister, hat jetzt sein Dojo irgendwo eroeffnet.
Dort kann man jetzt in die Gilde der Karatekaempfer eintreten - eine
Warnung jedoch: Karate verlangt viel, viel Uebung...

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



Re: Neue Gilde (Bambulko, 12. Apr 1995, 21:12:30):
#! rn=Rochus rt=797713115
Neue Gilde??? Gibt es schon andere??

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



Re: Re: Neue Gilde (Rochus, 12. Apr 1995, 21:47:12):
#! rn=Bambulko rt=797713950
Ja, es gibt noch die Abenteurer-Gilde :)

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



Re^3: Neue Gilde (Jof, 12. Apr 1995, 21:47:58):
#! rn=Rochus rt=797716032
 Selbst wenns keine andre gaeb, so waer sie dennoch neu ...

 ... philosophiert Jof

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



Re: Re: Neue Gilde (Zuerileu, 12. Apr 1995, 23:20:13):
#! rn=Bambulko rt=797713950
Sali Bambulko,
Nun am Stadttor von Schaffhausen in der Schweiz haengt ein riessiges Schild
mit der Aufschrift: 'Lappi duae d'aouge uff!' Was soviel heisst wie 'Trottel,
mach deine Augenauf !'. Warum das ich dir das nun sage ? Nun lies artikel 92
von Rochus in dieser Rubrik.
tschau Zuerileu (grinsd vergnuegd =:)

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



Re: Neue Gilde (Asmodis, 12. Apr 1995, 23:31:56):
#! rn=Rochus rt=797713115
Wo issn diese komische Gilde ?

  ciao, asmodis(der nicht viel lust zum suchen hat)

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



Re^3: Teddy (Esmeralda, 13. Apr 1995, 13:47:02):
#! rn=Acrimon rt=797042297

Also, Acrimon, wenn Du Dir
schon Dein Terminal so toll konfigurieren kannst...
Sollte doch wohl kein Problem sein,
Dir dann mal eben den TF zu patchen, oder?
Also, Arbeitsaufwand maximal eine Stunde?
Esmeralda (flamed zur Abwechslung mal rum)

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



Re^4: Bumerang & Co. (Boing, 13. Apr 1995, 15:22:37):
#! rn=Felagund rt=797686247
Es gibt Kneipen im Mud ... schon gewusst?
  Boing

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



Re^5: Bumerang & Co. (Felagund, 13. Apr 1995, 17:18:23):
#! rn=Boing rt=797779357
Ja Boing, das is wohl richtig...
Felagund.. der sich nicht wundert, warum so viele mit Script spielen und der
sich selbst immer die Finger wund tippt auf dem Weg zur Kneipe... ;(

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



Re^6: Bumerang & Co. (Grimmborn, 13. Apr 1995, 17:38:10):
#! rn=Felagund rt=797786303

Wenns Dich beruhigt, Felagund:
Ich hab als Magier gemerkt, dass ich mit der tollen Maschine hier im Kampf
locker die Sequenzen "waffe weg - fang bumi - fang bumi - wirf bumi - wirf
bumi - feuerball - waffe zuecken" statt mit verknoteten Fingern mit einem
Mausklick haette machen koennen.
Aber: Wers wie wir nicht im Kopf hat muss es in den Fingern haben... ;-)

Grimmborn der Atheist

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



Re^7: Bumerang & Co. (Caradhras, 14. Apr 1995, 15:38:41):
#! rn=Grimmborn rt=797787490
Ist aber schwierig, Teefrosch, denn zumindest bei mir ist es ab und
zu so, dass die aliase zu schnell durch den Mausklick ablaufen, dann hat
der Bummi noch gar nicht den Gegner erreicht, oder ab und zu mittags
wenn etwas mehr lag war hier in Passau dann natuerlich der Bummi auf einmal
fort war, weil
upps, jetzt hab ich ne zu lange zeile geschrieben, na ja egal :))
... weil ich zu lange gebraucht habe zum fangen. *seufz* Bei
laglosen Zeiten konnte ich mir nur so helfen dass ich dazwischen noch
einige andere befehle ablaufen lasse, aber das scrollt dann noch viel
fuerchterbarer und sobald es etwas langsamer geht ist es auch nicht mehr
so gut zu gebrauchen. *seufz* Maus alleine tuts zwar, aber nicht so
gut.

     tschoe           Caradhras - Bummilos

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



Re^4: Teddy (Acrimon, 19. Apr 1995, 03:15:39):
#! rn=Esmeralda rt=797773622
Hmpf. Das ist wohl unvergleichlich.
Terminal konfigurieren heiszt, ein bischen in der manpage zu blaettern und
eine Zeile in ein File hineinzuschreiben. Arbeitsaufwand maximal eine halbe
Stunde, wenn man das noch nie gemacht hat.
TF patchen ist unvergleichlich schwerer, ich habs versucht. Hab dem TF eine
zusaetzliche Option verpaszt, die das achte Bit NICHT entfernt. Typisch
Amerikaner, denkt nicht an Andere. Ich sollte ihm diese Verbesserung mal
mailen.
Das hat schon mehrere Stunden gedauert.

Noch schwerer ist es, dem TF eine Moeglichkeit zu verpassen, die Statuszeile
endlich mal vernuenftig benutzen zu koennen. (D.h. bestimmte Informationen aus
dem Text extrahieren und in anderer Form in die Statuszeile schreiben zu
koennen). Diese Moeglichkeit erfordert - im Gegensatz zu Umlauten - viel
zusaetzlichen Code und ist deshalb nicht in ein paar Stunden fuer alle Zeiten
gemacht.
Dies ist Sache des Programmierers.
Keine Sorge, solange der Programmierer etwas auf sein Programm gibt, wird er
es implementieren. Eine Erinnerung Eurerseits kann aber trotzdem nicht
schaden.

Den Teddy kann man aber trotzdem verbessern, denn irgendjemand kann die
Verbesserung sicher gebrauchen.
Und so schlimm kann der Code gar nicht sein, als dasz es sich nicht rentieren
wuerde.

Grusz,
Acrimon

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



Re^5: Teddy (Toss, 19. Apr 1995, 13:03:45):
#! rn=Acrimon rt=798254139
ES LOHNT SICH !!!

Habt ihrs gemerkt ?!

Selbst acrimon kann sich anpassen: in der vorletzten Zeile steht ein ue statt
eines u~ - er ist lernfaehig !!!

Hoffnungsvoll, dass acrimon ihn eines tages gruessen, statt gruszen wird...

Ryne

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



Re^5: Teddy (Jof, 19. Apr 1995, 13:31:26):
#! rn=Acrimon rt=798254139
 Eben, eben - Termial umstellen heisst fuer den Nicht-Unix-Kundigen (oder
fuer
den 'durchschnittlichen' PC-Benutzer) MINDESTENS 'ne halbe Stunden Man-Pages
lesen, bzw auf dem PC haben sie keine Chance - wer hat schon die Doku zu sei-
nem Telnet-Programm?? Fuer Leute, die einfach nur hier SPIELEN wollen, waere
das eine Zumutung - die Zeit waere schlicht und ergreifend verschwendet, ohne
das sie IRGENDEINEN Vorteil davon haetten - wozu????? Zudem reicht es nicht,
wenn man das macht - jeder ANDERE muss seinem Rechner ebenfalls beibiegen,
ISO-
konforme Umlaute zu benutzen, sonst stell' ich mich auf ISO ein und krieg
trotzdem nur Schrott. Einfache Loesung: man beschraenke sich auf 7Bit ASCII.
Uebrigens hatte ich bei eine alten Version von TF das Stripping von Bit 7
auch schonmal ausgebaut - war nicht so schwer. Bei der neueren, die ich jetzt
benutze, hab ich das nicht mehr gemacht, ich finde das im Gegenteil sogar
sehnuetzlich. Die Benutzer bei uns, die das TF aus meinem Home nehmen, geben
jeden-
falls keine schrottigen Sonderzeichen ein ...

 Jof
,.

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



Re^5: Teddy (Sir, 19. Apr 1995, 23:55:14):
#! rn=Acrimon rt=798254139
Moin,

nochmals, ich hab's nicht geaendert, aber wenn ich's auf den frueheren
Stand zuruecksetze, meckern auch wieder welche.
Am einfachsten der Bug wird in diesen neuen Routinen gefixt
(die ausserhalb des Teddy Im Spielerobjekt) implementiert sind.

Zumindest soweit ich das verstanden habe ... ;)

Mfg	
Sir

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



Karate - einige Gedanken (Jimdigriz, 20. Apr 1995, 01:26:49):
Hallo Rochus !
Congrats zu deiner tollen Idee und der detaillierten Ausfuehrung, das
war sicher schwierig so etwas zu integrieren.
Nun ich als (noch) angehender Karateka habe mir einige Gedanken dazu gemacht.
Vor allem ob sich die Muehe lohnt. Das kann auch fuer einige Leute eine
Hilfe sein sich zu entscheiden.

Die Vorteile als karateka sind wohl: Wenig schwere Ausrustung noetig,
die man nach reboot verlieren wuerde !
Sehr hohe Kampfkraft (in den hoehren Levels) .

Nun an nachteilen fallen mit so nach einiger Karate-erfahrung ne Menge ein :
  - 1. Verlust aller Zaubersprueche der Abenteuergilde
      (Falls man irgendwo darauf hingewiesen wird, ich hab das wohl
uebersehen)
 - 2. Sehr sehr sehr sehr l;angsame Fortschritte beim ueben.
     Fuer einen einfachen Schlag sind zt 3000 Uebungen notwendig um auf 100%
     zu kommen. Fuer die abwehr sogar noch mehr, dazu kommt der mp-verlust.

 - 3. Mp-kosten, Ueben sowie anweden kostet MP bei dem einfachen schlag 1 MP
      pro Uebung, das ist wohl kein problem, wenn allerdings ein Tritt des
      8.Kyo 17 (!!!) MP pro Uebung kostet und so ein Tritt evtl auch so oft
      geuebt werden muss , kommt  man aus dem Tanken niucht mehr raus.

  -4. Daraus ergeben sich sogleich die kosten an Muenzen. Ich habe durch
      eine ganze Nacht durchtrainiert und habe trotzdem noch niocht alle
      Mindest vorraussetzungen fuer die erste Pruefung erfuellt, dabei habe
ich
      60000 (!!) Muenzen vertankt ! Da mir die Zauber der Abenteuergilde
fehl;en, konnte ich nicht mal einen Gardewaechter killen :(

 Nun weiss ich leider nicht wie das mit dem MP kosten in der Anwndung is
 und ob die kosten mit hoehrem Dan/stufe etc sinken. Wenn das nicht der Fall
ist so faehrt man mit feuerbaellen die "nur" 20 MP kosten aber recht hohen
 Schaden anrichten wohl noch besser als mit Karatefaehigkeiten die einen
nach
 10 Angriffen und Abwehren verlassen weil die MP alle sind, als nicht
Karateka hat  man naemlich noch ein gutes schwert mit dem man draufhauen kann.

Soweit meine ueberlegungen, wahrscheinlich hab ich mich in einigen Dingen
geirrt, ich freue mich natuelich um jede Berichtigung , die das
Karateka-dasein
ein wenig angenehmer erscheinen laesst.

 Ein ein wenig frustrierter vielleicht Karateka James Bolivar diGriz.

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



Re: Karate - einige Gedanken (Rochus, 20. Apr 1995, 10:46:45):
#! rn=Jimdigriz rt=798334009
1. Natuerlich hat man in einer Gilde nur die Faehigkeiten dieser Gilde -
sonst wuerde ja einfach jeder in jede Gilde eintreten. Das ist aber
nicht der Sinn von Gilden. Ideal waere es, wenn mehrer Leute zusammen
arbeiten muessten, weil sie ihre Faehigkeiten ergaenzen muessen
um etwas bestimmtes zu schaffen.
Jede Gilde soll Vor- und Nachteile haben. Karateka koennen nun
einmal keine Magie. Ich arbeite aber an einem Ersatz fuer "schaetz" - so
etwas sollte auch ohne Magie gehen (mit geuebtem Blick oder so ...)
2. Mein Ziel ist es, die Geschwindigkeit so anzupassen, dass man fuer
den 1. Dan einen Monat braucht. Man kann auch schon mit geringerem
Fortschritt Karate brauchbar anwenden. Eine Woche fuer den 1. Dan
waere definitiv zu leicht - man braucht dann praktisch nie wieder
eine Waffe und kommt in den meisten Faellen ohne Ruestung aus.
Karate braucht nun einmal etwas Zeit.
3. Bei der Anwendung sinken die verbrauchten Magiepunkte mit hoeherem
Grad. Im wesentlichen haengen sie von Schwierigkeit-Grad ab, bei
geringer Kondition laesst auch die geistige Konzentration schneller nach.
4. Man sollte Karate eigentlich mehr im Kampf trainieren, die Uebung
ist dafuer da, Defizite in bestimmten Gebieten gezielt zu beseitigen.
Geld kann man auch durch die Beseitigung weniger starker Monster bekommen.
Auf jeden Fall kann man schneller und sicherer zu Geld kommen, wenn
man selber spielt, als wenn man tf spielen laesst, und daher sind
gewisse finanzielle Kosten durchaus beabsichtigt :-)

Ab dem schwarzen Guertel (bei hoher Geschicklichkeit auch etwas frueher)
gelingen Schlaege auch mal BESONDERS gut, das kann bei einem Tritt
so effektiv sein wie ein Feuerball.
Ich habe mir uebrigens mal den 1. Dan gesetzt und alle Techniken
auf Zufallswerte zwischen 50 und 100%. Damit habe ich
einen Hobgoblin geplaettet und hatte noch 148/202 Lebenpunkte
uebrig ohne mich ein einziges Mal heilen zu muessen...

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



Gildenaustritt (Yendi, 20. Apr 1995, 11:58:57):


Aeh, Rochus? Wenn man aus Deiner Karate-Gilde austritt (Mit seitlichem
Rueckwaertsschnapptritt?), kriegt man dann seine Zaubersprueche wieder auf
urspruengliches Niveau zurueck, oder muss man bei Null anfangen?


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



Re: Gildenaustritt (Boing, 20. Apr 1995, 12:19:44):
#! rn=Yendi rt=798371937
Hast Du mal 'hilfe gilden' versucht? :)
  Boing

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



Re: Karate - einige Gedanken (Bambulko, 20. Apr 1995, 12:32:23):
#! rn=Jimdigriz rt=798334009
Hi
Der verlusst der Zaubersprueche ist ja wohl logisch, da man nur in einer
Gilde sein kann. Fuer die Sprueche Schaetz und Identifiziere soll wohl noch
etwas kommen, da die sicher kommen.
Zu deinem Einwand mit dem langsamen lernen. Als du mit der Abenteurergilde
angefangen hast konntest du ja auch nicht sofort einen Gardewaechter killen,
oder? Und ueberleg mal was passiert, wenn das lernen einfacher gemacht
wird....Dann wird die Gilde
zwangslaeufig abgewertet. Zu den 'Kosten': Du kannst auch im Kampf ueben, und
wenn du die ganze Nacht nur ein Script laufen laesst, beklag dich bitte
nicht...

BAMBULKO lernt Karate....

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



Re: Re: Karate - einige Gedanken (Bambulko, 20. Apr 1995, 12:36:19):
#! rn=Rochus rt=798367605
Ich hab mal ne Frage zu den 'BESONDERS GUTEN' Tritten. Wenn die nur manchmal
so gut wie ein Feuerball sind, kann ich das ganze doch lassen und mit
Feuerbaellen kaempfen ( Die sind immer so gut wie Feuerbaelle!!!)
Oder kosten die Tritte dafuer weniger als die FB's?
BAMBULKO

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



Probleme mit 'zeilen' (Data, 20. Apr 1995, 15:00:58):
Als Roadrunner neulich - er weiss nicht mehr genau wo, kann bei der
Pyramidenquest sein - einen zettel fand, auf dem tips zur Quest standen, war
es nicht moeglich das ding ganz zu lesen. Es loeste sich auch sofort in luft
auf. Darunter stand ****Truncated**** ...
man koennte meinen, dass dies dann so beabsichtigt sei. Allerdings passiert
es auch beim Lesen der FAQ beim Orklager. Tja - das gab zu denken und
offenbarte einen Fehler im setting der ausgabe. Da wir hier in Stuttgart an
einer Workstation sitzen, die es ermoeglicht Terminalseiten zurueckzuscrollen
wurde 'zeilen 0 ' gesetzt.
dies verursacht offensichtlich, dass diese Texte wenn sie eine bestimmte
laenge ueberschreiten nicht mehr vollstaendig ausgegeben werden.
Ganz besonders aergerlich wenn sich die zugehoerigen Dokumente nach der
missglueckten leseaktion dezent verfluechtigen und zweitversuche nicht
zulassen.

Sorry sollte es hier in der falschen Rubrik gelandet sein - aber mir schien
es passend. Koennte auch in beschwerden oder so passen.

Mein Vorschlag waere dass bab einer bestimmten Textlaenge zwangsweise 'more'
angeleiert wird um solche Effekte zu unterbinden.

		Data(z)/Roadrunner (der grade etwas unter Druck steht)


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



Re: Probleme mit 'zeilen' (Hate, 20. Apr 1995, 15:14:49):
#! rn=Data rt=798382858
Euer Problem ist ganz einfach und auch so erklaert:

zeilen 0 nuetzt nichts bei Daten die zu gross sind, die genaue Anzahl der
Zeilen kenne ich jetzt nicht.
Das liegt an folgendem: Wenn das MUD eine Nachricht an den Spieler sendet,
wuerde diese blockieren, wenn sie zu lang ist, also ist vom GameDriver
die laenge (eben wie oben beschrieben) begrenzt. Es ist also sinnvoller
eine relativ grosse Zeilenanzahl anzugeben, anstatt 0, da dann keine
Begrenzung angenommen wird und das System es dann abschneidet.
Hate.

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



Re: Re: Probleme mit 'zeilen' (Jof, 20. Apr 1995, 18:35:09):
#! rn=Hate rt=798383689
 Bei 'zeilen 0' wird nach 40 Zeilen einfach abgeschnitten - Begruendung:
siehe
voriger Artikel ...

 Jof

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



Re^3: Probleme mit 'zeilen' (Durian, 21. Apr 1995, 13:59:49):
#! rn=Jof rt=798395709
Dann sollte man 'zeile 39' waehlen ...

Immer fuer einen guten Tip zu haben :-)

- Durian

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



karate (Felagund, 21. Apr 1995, 17:28:56):
Mal als Idee aus gegebenem Anlass:
Wie waere es, fuer karatekas eine faehigkeit des meditierens zu programieren,
ueber die LP in MP umgewandelt werden koennen? das waere nicht nur fuers
ueben, sondern auch fuer kaempfe gegen kleine gegner sinnvoll
Das fuer sinnvoll haltend.....Fela ;))

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



Karate-hilfe (Skallagrim, 23. Apr 1995, 09:03:26):
Rochus,ich faende es ziemlich sinnvoll in der (unserer) Karate Gilde
irgendwo ein plakat mit allen moeglichen Kommandos auszuhaengen.Ich
hab naemlich einige schwierigkeiten gehabt mich zurecht zu finden.Ansonsten
fand ich die idee  Primaa !!!


Skalla , der RL Tae Kwon Do gruener Guertel

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



Die neue Gilde. (Jaf, 24. Apr 1995, 03:50:36):
So, ich glaube, ich habe mich jetzt lange genug mit der
neuen Gilde beschaeftigt, um meinen Senf dazu abgeben zu
duerfen.

Zu alleresrt vielen Dank an Rochus fuer die Arbeit, die er
sich gemacht hat. Ist ehrlich gemeint. Es scheint viel Muehe
drinzustecken, und er hat sich wohl auch viele Sachen neu
ueberlegen muessen.  Hm...

*SENF ON*

Ich hab gerade gelesen, dass Rochus fuer den 1. Dan eine
Spielzeit von einem Monat angesetzt hat. Das halte ich nach
allen Erfahrungen auch nach den Aenderungen in der Lern-
geschwindigkeit fuer nicht zu schaffen...

Aber vielleicht von Anfang an. Viele Spieler in anderen Muds
bemaengeln am MG die fehlenden Gilden und ein eher unter-
entwickeltes Skillsystem. Das ist wohl Geschmackssache, aber
Rochus' neue Gilde ist auf jeden Fall ein grosser Schritt in
Richtung Beseitigung dieser (vermeintlichen(?)) Maengel.

Mir sind einige Sachen an der Karate-Gilde aufgefallen:
1. Man braucht eine ziemlich hohe Intelligenz, um ueberhaupt
   groessere Lernerfolge erzielen zu koennen.
2. Die Gilde bevorzugt Spieler, die in der Lage sind, einen
   Mudclienten zu benutzen.
3. Man braucht sehr viel Zeit um ueberhaupt etwas zu lernen
   in der Gilde.

Wenn wir aber schon verschiedene Gilden haben wollen, sollten
sie gleichberechtigt allen Spielern zur Verfuegung stehen. Das
ist im Moment aber keineswegs gegeben.

Denn 1. benachteiligt alle Anfaenger und die Leute, die sich
weigern, stur zt-Listen abzulaufen. Damit ist es auch nicht
moeglich, von Anfang an in der Gilde der Karatekaempfer zu
spielen. Ich fange an, die Gilde als Seherprivileg zu
betrachten, es ist einfach nicht moeglich, einige Quests mit
der Kampfkraft, die die Gilde nach 'vernuenftigem Zeitaufwand'
(und das sind im Moment etwa zwei Online-Wochen), verleiht,
zu spielen...

Punkt 3 benachteiligt alle 'Gelegenheitsmudder', die lieber
mal 'ne Runde quatschen wollen (geht im uebrigen auch prima, wenn
das Lernen automatisch geht...), oder aus irgendwelchen
Gruenden nicht ihr Leben im MG verbringen wollen..

Punkt 2 benachteiligt alle, denen zum Beispiel die technischen
Moeglichkeiten fehlen, einen Mudclienten zu installieren.
Ich selbst habe - auch nach der Aenderung der Lerngeschwindig-
keit - viele Stunden versucht 'im Kampf' zu lernen. Fazit:
Es geht nicht schneller als das Lernen in der Gilde und ist
durch die staendige 'Anwesenheitspflicht' wesentlich nerviger.
Ausnahme: man kaempft vollautomatisch. Aber dann kann ich auch
mit weniger Aufwand automatisch in der Gilde ueben.
Die bisherigen Versuche, die Gilde sriptfeindlich zu machen,
sind unzureichend. Ich hatte mal zwei Vorschlaege in diese Richtung
gemacht, einen hat Rochus mit der Begruendung abgelehnt, es liesse
sich umgehen (klar, es laesst sich alles umgehen, aber es wuerde
fuer den Scriptspieler erheblich Aufwand bedeuten), der zweite
verhallte unkommentiert...

Ich zitiere mal kurz Rochus:

> Man sollte Karate eigentlich mehr im Kampf trainieren, die Uebung
> ist dafuer da, Defizite in bestimmten Gebieten gezielt zu beseitigen.
> Geld kann man auch durch die Beseitigung weniger starker Monster bekommen.
> Auf jeden Fall kann man schneller und sicherer zu Geld kommen, wenn
> man selber spielt, als wenn man tf spielen laesst, und daher sind
> gewisse finanzielle Kosten durchaus beabsichtigt :-)

Falsch und falsch. Sorry.
1. Mit der Kampfkraft eines Karateanfaengers (bis mindestens
gruener Guertel, mehr kenn ich nicht) lassen sich nicht ausreichend
Monster killen, um mit deren Kram das notwendige Zwischendurchsaufen
zu finanzieren. Gut, ich kenn nicht das gesamte MG, aber in
Moron geht's nicht.

2. Auch falsch ist, dass es nicht moeglich ist, mit TF schnell an
Geld zu kommen. Natuerlich nicht als Karateka, man braucht schon
einen Zweitie, der noch konventionelle Waffen benutzen kann.
Ausserdem gibt's immer noch die Moeglichkeit, kurzzeitig aus der
Gilde auszutreten, sich ein paar Hunderttausend zusammenzumetzeln,
und danach wieder einzutreten... oder noch besser: Zweitie metzelt
konvetionell (da spart man sich das Geld-hol-script-Schreiben),

Geld ist also hier nicht als Regulierungsmechanismus zu gebrauchen.
Das Ganze unterstreicht - bei mir zumindest - den Charakter eines
Seherprivilegs. Wer von den Spielern bis Level 14 kann sich
schon einen Zweitie leisten, der sich in Moron ungestraft in den
Innenhof oder zu den Echsenwaechtern wagen darf?

*SENF OFF*

Was wollte ich eigentlich damit sagen? Weiss selber nicht so richtig,
Vielleicht wollte ich bloss mal meinen Frust drueber loswerden, dass
hier anscheinend niemand mehr an Chancengleichheit interessiert ist,
das 'Gelegenheitmudder', also die, die mal 'n bisschen frische Luft
hier reinbringen koennten - gewollt oder ungewollt - benachteiligt
werden,... naja, wenn ich noch ne Weile drueber nachdenk, faellt
mir noch was ein... aber ich muss jetzt Karate ueben :)

Fyt.

PS: Ich seh' den Sinn des Spielens nicht im Scripteschreiben und nicht
    im Metzeln. Darf ich deswegen nicht in die Karategilde...

PPS: Seitdem ich automatisch uebe, hat sich Jaf des oefteren nett
     unterhalten und auch mal 'ne Quest gemacht.

PPPS:   Ich zitiere nochmal Rochus:

> Ab dem schwarzen Guertel (bei hoher Geschicklichkeit auch etwas frueher)
> gelingen Schlaege auch mal BESONDERS gut, das kann bei einem Tritt
> so effektiv sein wie ein Feuerball.

        Wieso soll ich einen Monat Zeit in etwas stecken, was ich
        ohnehin schon kann?  *wunder*

Und nochwas: Es gab mal das Argument: Deine Feuerbaelle haben auch nicht
sofort geklappt. Weiss ich nicht mehr. Jaf kann seine seit ein paar
Tagen, und er kann sie ausreichend gut. Im Moment macht er mit etwa
2/3 meiner Stats mehr als den doppelten Schaden...

Tschuldigung, dass das DIng so lang geworden ist.

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



Re: karate (Jaf, 24. Apr 1995, 03:58:22):
#! rn=Felagund rt=798478136

Ich moechte Felagunds Vorschlag, mittels 'meditierens' lp
in mp umzuwandeln, unterstuetzen. Darf ich?

Fyt.

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



Ehering und autoload... (Kretek, 24. Apr 1995, 04:57:12):
Meine lieben Magier und -Innen!

Leider muss ich jetzt nochmal ein leidiges Thema aufwaermen: Den Ehering.
Genauer gesagt, dessen Autoload-Eigenschaft, oder, noch genauer, das
Verlieren des Ringes beim Tod.
Ich bin heute wieder mal abgenippelt, und obwohl ich mir sehr sicher bin,
in letzter Zeit in der MPA gelesen zu haben, dass dieser Bug im Ring
jetzt gefixed sei, war er - wie immer - weg. Und im Gegensatz zu der
restlichen Ausruestung war er noch dazu auch nicht mehr in dem Raum zu
finden, in dem ich meine EPs geopfert habe...
Deshalb jetzt nochmal mein Appell an Euch: Kann sich nicht bitte jemand
den Code vom Ring mal gruendlich vornehmen? Ich halte es einfach fuer
unsinnig, dass man Zeugs wie den Anti-Andy-Button im Todesfall behaelt,
den man sich ausserdem in Nullkommanix wieder besorgen koennte, abgesehen
davon, dass er einem absolut nichts bringt, aber der Ehering, der einem
nicht nur den gar nicht mal so unpraktischen Partner-Befehl bringt, sondern
zumindest mir auch noch recht wichtig ist, der ist im Todesfall weg!
Ja, ich weiss schon, "bis dass der Tod euch scheidet"... Aber dank Lars
kommt's ja eh nicht ganz so weit! :)

Tschuess,
Kretek
Experte aller Todessequenzen - "Ich kenne sie alle!"

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



Re: Die neue Gilde. (Asmodis, 24. Apr 1995, 08:18:38):
#! rn=Jaf rt=798688236
Hmm, ich will mich mal zu dem Brief von Jaf aeussern !

Also zu Punkt 1: Es lassen sich sehr wohl (mit den entsprechenden Stats
natuerlich)
genug Monster metzeln, um das Saufen zu finanzieren. Ich schaff das sogar mit
dem weissen Guertel, den ich jetzt zum Glueck hinter mir habe.
Damit liessen sich bequem Gardewaechter oder Orks killen :)
Und die Echsenwaechter hab ich auch geschafft nach mehreren Anlaeufen.

Zu Punkt 2: Hat jemand behauptet, dass man mit TF nicht metzeln kann?
Hmm, muss ich ueberlesen haben. Obwohl ich TF nur in Aussnahmefaellen
benutze (wenn mir noch ein oder 2 % einer Technik fehlen), koennte
ich mir trotzdem vorstellen, wie ein entsprechendes kill-script aussehen
koennte. Beim killen selbst jedenfalls setze ich auf die gute alte
'Handarbeit',
macht doch viel mehr Spass :)

Zu Punkt 3: Ist dir vielleicht entfallen, dass auch die Abenteurergilde
ne Menge Zeit gekostet hat? Jedenfalls hab ich wochenlang gebraucht, bis
ich die Feuerball-Erfolgsquote und die Pfeil-Erfolgsquote auf annaehernd
100 % gebracht hatte, und auch jetzt gelingt mir nicht jedes 'identifiziere',
'licht' oder 'schaetz' !!
Kommt vielleicht daher, dass ich zum Zeitpunkt des Erlernens dieser Sprueche
noch nicht die optimalen Stats hatte, die genauso wie in der Karategilde auch
in der Abenteurergilde das Lernen unterstuetzen.

P.S.: Bist du etwa ein Zweitie von Ryne, oder warum solche langen ARtikel ?
:)

P.P.S.: Letzte Woche hab ich mit nem Karateschlag 'Mit dem Krachen brechender
Knochen' getroffen, und das mit dem weissen Guertel :)

     Ciao, Asmodis(hmm, haette das vor das PS schreiben muessen, aber
                   vergessen :)                                      )

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



Re: Re: Die neue Gilde. (Felagund, 24. Apr 1995, 08:24:48):
#! rn=Asmodis rt=798704318
Dazu auch mal was..BRUCE Finrod Felagund trifft oefters mit dem Krachen
brechender Knochen und das hat er frueher mit keiner Waffe gemacht..;))
-gehoert eigentlich in Schmarrn, aber bot sich grad so schoen an..;)
BRUCE Finrod Felagund der DRACHE von Nargothrond

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



"behalte" (Felagund, 24. Apr 1995, 08:49:19):
Als Karateka benutze ich in letzter zeit oefters "verkaufe alles" und deshalb
mein vorschlag..koennte man nicht einen "behalte ausruestung" befehl
entwickeln, ueber den man die verwendete (also angezogene/gefuehrte)
ausruestung so markieren kann, dass "lege ab" und "verkaufe" damit nicht mehr
funktionieren, was man aber ueber z.B. "behalte nichts" wieder aufheben
kann...
Das sollte doch moeglich sein, und wenn auch nur in der art, wie man weder gi
noch guertel ablegen/verkaufen kann..
Ein hoffentlich konstruktiv seiender....Fela ;)

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



Re: "behalte" (Pilgrim, 24. Apr 1995, 10:06:59):
#! rn=Felagund rt=798706159
Hi,
ich wuerde noch einen schritt weiter gehen als Felagund, und frage, gibt es
vielleicht eine Moeglichkeit, einen Befehl 'ausser ( xxx )' zu implementieren,
der wie der 4DOS-Befehl 'except(...)' arbeitet ?
bsp (fuer alle, die 4dos nicht kennen):   ausser (ork 1) toete alle  ->
wuerde alle monster angreifen, ausser ork 1,
oder ausser ( ork1 und ork 2) toete alle ...

Pilgrim
p.s.: hoechstwahrscheinlich zu viel arbeit- - nicht?=

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



Re: Re: "behalte" (Asmodis, 24. Apr 1995, 10:10:45):
#! rn=Pilgrim rt=798710819
Dann besser anders herum: toete alle ausser ork 99

          Ciao, Asmodis
&&

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



Re: Die neue Gilde. (Rochus, 24. Apr 1995, 10:30:19):
#! rn=Jaf rt=798688236
1. Das mit der noetigen Intelligenz werde ich aendern, so dass die
   Differenz zwischen Int. 1 und Int. 20 nicht mehr so gross ist.
2. Das versuche ich ja einigermassen zu verhindern, nur ist das nicht
   perfekt moeglich ohne normale Spieler zu stark zu behindern.
3. Es ist schon beabsichtigt, dass es lange dauert. Die ganzen Techniken
   wirken jedoch auch schon, wenn man sie noch nicht perfekt kann - dann
   aber weniger gut. Dadurch sollten auch Anfaenger ETWAS damit anfangen
   koennen. Natuerlich muss man Zeit aufwenden um gut zu werden - oder
   wuerdest Du in RL Karate lernen und dann erwarten, dass Du nach einer
   Stunde schon einen Stein mit der Hand zertruemmern kannst? :)

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



Re: Re: karate (Delos, 24. Apr 1995, 10:51:32):
#! rn=Jaf rt=798688702

Ich moechte hiermit den Vorschlag ebenfalls unterstuetzen!!!

Delos

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



Re: Re: Die neue Gilde. (Thorin, 24. Apr 1995, 13:38:36):
#! rn=Asmodis rt=798704318
1.) auch feuerbaelle treffen mit krachen berstender knochen.
2.) ich muss mich arg taeuschen, aber ich hab fuer feuerbaelle und pfeile
noch nichtmal einen tag gebraucht, um sie auf ueber 90% zu haben... Und ich
denke doch, dass du NICHT langsamer warst als ich, oder ?
Nur mal als Anmerkung,
Gastmagier Thorin

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



wieder mal karate ;) (Felagund, 24. Apr 1995, 20:39:07):
Wie waere es mit einem "frage funakoshi nach anforderungen fuer (nr.kyu/dan)"
-befehl? oder gibts sowas schon? faende ich sehr nuetzlich..im mom schau ich
mir immer alles erlernbare so an, wenn ich ne abwehrkategorie frei hab..;(
BRUCE Finrod Felagund der DRACHE von Nargothrond

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



Re: Re: Die neue Gilde. (Jaf, 24. Apr 1995, 21:37:30):
#! rn=Rochus rt=798712219

Zu Rochus' Artikel kann ich nur sagen: Fein und danke.
Ich werd's auch notorischen Tapp-Muddern erzaehlen *grins*

Jaf.

PS: In RL wuerde ich nie Karate lernen... nie, nie, nie...

PPS: Never say never :)

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



Re: Karate-hilfe (Nixihou, 25. Apr 1995, 08:07:19):
#! rn=Skallagrim rt=798620606
Karate-hilfe (Skallagrim, 23. Apr 1995, 09:03:26):
Rochus,ich faende es ziemlich sinnvoll in der (unserer) Karate Gilde
irgendwo ein plakat mit allen moeglichen Kommandos auszuhaengen.Ich
hab naemlich einige schwierigkeiten gehabt mich zurecht zu finden.Ansonsten
fand ich die idee  Primaa !!!


Skalla , der RL Tae Kwon Do gruener Guertel



Also ich weiss nicht, wo du dieses Plakat aufhaengen lassen moechtest!!!
In der Gilde gibt es ueberhaupt keine Waende!!
von boden decke und solchen kleinigkeiten mal ganz abgesehen.
Ach so und einen dojo gibt es in dem Dojo auch nicht.
eigendlich gibt es ausser funakoshi gar nichts in dem dojo,
dass ich eigendlich fuer ein gebaeude gehalten habe

NIXI

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



Licht fuer Karatekas! (Yendi, 25. Apr 1995, 14:46:29):

Da habe ich mich _so_ gefreut, dass es jetzt einen Lichtspruch gibt, und dann
habe ich mich noch mehr gefreut, weil Rochus die erste Gilde eingebaut hat,
und dann stelle ich fest, dass diese beiden schoenen neuen Errungenschaften
unkompatibel sind, und ich freue mich gar nicht mehr.

Rochus, wie stellst Du Dir das vor? Sollen jetzt Deine asketischen, bis auf
Gi und Guertel nackten und ausruestungslosen Karateka mit einem Fackelbuendel
auf dem Buckel kaempfen? Da bau doch lieber eine Karate-Version des
Lichtspruchs ein:
"Du schlaegst die Faeuste zusammen, bis es funkt. Deine Handknoechel gluehen
jetzt ein wenig, Du kannst wieder sehen."

Oder so aehnlich.    Na?


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



Re: Licht fuer Karatekas! (Anatol, 25. Apr 1995, 17:50:06):
#! rn=Yendi rt=798813989

---------> Hilbert ?

Anatol(void)

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



endlich! (Catweazle, 25. Apr 1995, 18:22:07):
ENDLICH!

Nach monatelanger Arbeit hab ich es endlich geschafft!
Heut hab ich meinen letzen Konkurenten im Kampf um das groesste
Mailfile geschlagen :)

-rw-  M A I L    sys        417233 25. Apr, 18:09 catweazle.o
--w-  M A I L    sys        409309 24. Apr, 14:38 freund.o

:-) Please don't try this at home :-)

Fuer Euch gilt natuerlich immer noch die Beschraenkung auf 50k,
also haltet eure mailfiles bitte so klein wies geht :-)

Yours truly,
   Catweazle, endlich sein mailfile aufraeumend.

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



Re: Re: Die neue Gilde. (Acrimon, 25. Apr 1995, 19:11:47):
#! rn=Rochus rt=798712219
>  koennen. Natuerlich muss man Zeit aufwenden um gut zu werden - oder
>  wuerdest Du in RL Karate lernen und dann erwarten, dass Du nach einer
>  Stunde schon einen Stein mit der Hand zertruemmern kannst? :)

In RL ist aber auch nicht garantiert, dasz man ueberhaupt jemals einen Stein
mit der Hand zertruemmern kann, auch wenn man Jahre durch nur uebt.

Grusz,
Acrimon

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



Reee: Die neue Gilde (Seppl, 25. Apr 1995, 21:49:55):
In RL hab ich auch nach 2 jaehrigem Ueben noch keine Feuerbaelle zusammen-
gebracht... Ich schaffte das einfach nicht.

MG ist ein Fantasy-Mud!

Seppl, Ex-Karateka

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



Re: endlich! (Caradhras, 25. Apr 1995, 22:48:42):
#! rn=Catweazle rt=798826927
Angeber :)

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



Re: Licht fuer Karatekas! (Li, 26. Apr 1995, 08:21:18):
#! rn=Yendi rt=798813989
Also ich finde, Rocus hat es so ganz richtig gemacht. Karatekas KOENNEN nicht
zaubern. also warum nicht mit einer Fackel rumraufen (aeh laufen)? Vieleicht
gibt es ja auch Laternen fuer den, der Fackeln unpassend findet. Und was ist
mit Hilberts schoenen Stab?
nun, Schaetze und Identifiziere sollten die Karateka auch haben, wenn auch
nicht als Zauber sondern als Faehigkeit verpackt, aber sonst plaedieree ich
fuer:
Keine Zauber fuer Karateka!

Li

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



Re^3: Die neue Gilde. (Jof, 26. Apr 1995, 13:08:21):
#! rn=Acrimon rt=798829907

 Na, da siehst du mal, wie leicht mans im MUD hat verglichen mit dem RL ...

 Jof

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



Re^4: Die neue Gilde. (Gwyndon, 27. Apr 1995, 03:51:25):
#! rn=Jof rt=798894501

Das stimmt fast, Jof (fastjof?) - allerdings bleiben uns da die Crashs und
Reboots erspart...   Und wer bei/nach einer Mud-Party einen Crash hat, hat ihn
wenigstens selbst verursacht...

Gwyndon

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



Wegfall der zaubersprueche... (Roesti,  8. Mai 1995, 21:29:36):
In Hilfe gilden steht doch irgendwas das mann gelernte sachen aus der
Abenteuergilde nicht verliert...Wieso denn jetzt doch?
ein durch artikel reichlich verwirrter roestie...

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



Re: Wegfall der zaubersprueche... (Boing,  9. Mai 1995, 09:53:29):
#! rn=Roesti rt=799961376
Aus 'hilfe gilden':
[...]
Man kann jedoch nur in einer Gilde gleichzeitig sein und hat auch immer
nur die Faehigkeiten der Gilde, in der man momentan ist.
[...]

Ich denke das ist ziemlich eindeutig.

  Boing

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



LPC-Seminar (Jof,  9. Mai 1995, 10:04:01):

 Fuer den Samstag, 24. Juni 1995 hat die Mitgliederversammlung des Foerder-
vereins Projekt MorgenGrauen das Abhalten eines LPC-Semniars beschlossen.
Dazu werden noch Vortrags-Themen und Vortragende gesucht. Bitte sowohl
Themen-Vorschlaege als auch Vortrags-'Angebote' via MudMail an
'Erzmagier'.

 Am Seminar darf selbstverstaendlich JEDER, auch Nicht-Vereinsmitglieder,
teilnehmen.

 i.A.
  Jof

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



Re: Re: Wegfall der zaubersprueche... (Pteppic, 10. Mai 1995, 07:54:38):
#! rn=Boing rt=800006009
soweit klar...
nur warum is das eigentlich so, ich kann keine logische erklaerung dafuer
finden ... man koennte wenigstens einbauen, dass hohe level mehrere
gilden gleichzeitig sein koennen....


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



Re^3: Wegfall der zaubersprueche... (Felagund, 10. Mai 1995, 08:16:35):
#! rn=Pteppic rt=800085278
Das is doch mal ein Wort
Felagund schliesst sich PtEPPiC an ;)

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



Re^3: Wegfall der zaubersprueche... (Jof, 10. Mai 1995, 09:26:19):
#! rn=Pteppic rt=800085278

 Nein, man kann nur ein EINER Gilde sein. Das ist auch absolut sinnvoll -
die Moeglichkeit, in MEHREREN Gilden zu sein und die Faehigkeiten zu kom-
binieren erzeugt absolut unkalkulierbare Ergebnisse. Ausserdem - welche Gilde
wuerde es dulden, wenn ihre Mitglieder auch noch in ANDERN Gilden waeren???

 Jof

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



Re^4: Wegfall der zaubersprueche... (Pteppic, 10. Mai 1995, 10:31:24):
#! rn=Jof rt=800090779
Soweit so gut, logische Gruende seh ich noch immer keine, aber, dass man nur
in EINER Gilde sein kann, lernt man schon im Kindergarten.
Weiss doch jeder... Natuerlich gibt's keine Gilden, die
dulden, dass man gleichzeitig in ANDEREN Gilden sein kann...
Wenn's sogar Gott sagt...

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



Re^5: Wegfall der zaubersprueche... (Grimmborn, 10. Mai 1995, 12:21:25):
#! rn=Pteppic rt=800094684

Also, ich find die Idee mit mehreren Gilden ab hoeherem Level prima und
unterstuetze das.
Sagen wir, ab Magierlevel 21 sollte es moeglich sein?

Grimmborn der Atheist

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



Re^4: Wegfall der zaubersprueche... (Jaf, 10. Mai 1995, 16:35:18):
#! rn=Jof rt=800090779

Also ehrlich gesagt brauch ich die Zaubersprueche nicht unbedingt...
Schliesslich bin ich auch vor Einfuehrund des Lichtspruchs mit nem
Buendel Fackeln in der Gegend rumgezogen, und das ging auch...

Fyt.

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



Re^4: Wegfall der zaubersprueche... (Wur, 10. Mai 1995, 20:19:47):
#! rn=Jof rt=800090779
Wo er recht hat der Jof, da hat er halt Recht...
Nur eine Gilde fuer Jeden!
Wur

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



Hoppla! (Yendi, 10. Mai 1995, 21:25:55):

Das machte mich doch etwas nervoes, fuer einen Moment:

> w
Finsternis.
  Der Ork greift Dich mit dem Krummschwert an.
  Du versuchst, den Angriff mit einem Unchi-ude-uke abzuwehren.
Du siehst einen Fehler im Raum-Zeit-Gefuege.

Ein Ork ist jetzt hinter Dir her.
Finsternis.


Wie, bitte, kommt der FiRZG (FiRZ? :)  ) da hin?


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



Re: Hoppla! (Jof, 10. Mai 1995, 21:44:52):
#! rn=Yendi rt=800133955
 WUERDE ich mir ja ansehen - WENN ich wuesste WO das war :)

 Jof

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



Re: Re: Hoppla! (Yendi, 10. Mai 1995, 21:49:03):
#! rn=Jof rt=800135092

An alle: Bug found and fixed!


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



Re: Hoppla! (Rochus, 10. Mai 1995, 21:50:04):
#! rn=Yendi rt=800133955
Komisch, wenn ich Aenderungen ankuendige geschieht nichts
und wenn ich sie nicht ankuendige kommt es zu Fehlern :)
Ich hatte kurz etwas geaendert und dabei einen Fehler eingebaut
(siehe gilden.karate, artikel "Arena") - den habe ich jedoch
sofort behoben...

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



Re^6: Wegfall der zaubersprueche... (Li, 11. Mai 1995, 09:09:42):
#! rn=Grimmborn rt=800101285
Auf keinen Fall!

WEr mit einer Gilde nicht zufrieden ist, sollte in der Abenteurergilde
bleiben :-)

Aber mal ganz ehrlich, wollen die Spiler,dass alle monster verbessert werden?
Das sit naemlich noetig, wenn jemand in zwei Gilden gleichzeitig ist...

Li

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



Re^7: Wegfall der zaubersprueche... (Yantro, 11. Mai 1995, 10:35:56):
#! rn=Li rt=800176182

Wieso, Li?? Ich stelle mir das ganz witzig vor, wenn das Unterbewusstsein
durcheinander kommt:

Du trifft Dein Schwert mit einem gelungenen blablubb.
Du wirfst einen Feuerball, der aber an Deinem Gi haengenbleibt....
usw...

ok.... ab damit in schmarrn :)

                         Yantro ;-)

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



Re^4: Wegfall der zaubersprueche... (Silvana, 12. Mai 1995, 07:40:49):
#! rn=Felagund rt=800086595
Du lieber Himmel - BITTE NICHT!
Wenn es moeglich wird, in mehreren Gilden gleichzeitig Mitglied zu sein,
stelle ich sofort jeglicher Arbeit an Gilden ein.

Silvana (stellt sich grade die Kombination aus Karateka, Moench und
         Zauberer vor und gruendet einen Monster-Schutz-Verein.)

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



Re^5: Wegfall der zaubersprueche... (Jof, 12. Mai 1995, 10:11:13):
#! rn=Silvana rt=800257249

 Wird nicht moeglich sein. Wenn doch, beantrage ich, das man auch mehreren
Rassen zugleich angehoeren kann und die Stati-(+x) von allen bekommt,
aufaddiert ...

 Jof

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



Re^5: Wegfall der zaubersprueche... (Grimmborn, 12. Mai 1995, 12:58:47):
#! rn=Silvana rt=800257249

Also, ich verstehe euer Geheule nicht. Wo ist denn der Unterschied, ob man
alleine als Krieger/Karateka/Zauberer/Moench rumlaeuft oder ob man fuer die
anderen Gilden noch je einen Zweitie mit rumschleppt? In letzterem Fall haben
die Monster doch ganz klar noch weniger Chancen. Und die Gildenrestriktionen
addieren sich ja auch, d.h. der Karateka, der die Kriegerausruestung
mitschleppt sieht auch alt aus beim Kaempfen.
Dass es nicht "realistisch" ist, dass eine Gilde andere Mitgliedschaften
erlaubt, ist voellig richtig, aber war sowas hier je relevant? Ich denke da an
gewisse Kuehlschraenke, Flugzeuge etc... ;-)

Aber die Idee mit den Rassen ist klasse, "Jof"! ;-)

Grimmborn der Atheist

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



Re^6: Wegfall der zaubersprueche... (Li, 12. Mai 1995, 13:07:11):
#! rn=Grimmborn rt=800276327
Eigentlich werden die Gilden ja geproggt, damit die Spieler der verschieden
gilde zusammenarbeiten. klar kann man auch vier Zweities in vier gilden lernen
lassen, aber das ist dann das Problem der Spiler selbst.
Ich setze mich jedenfalss nicht hin, sauge mir schwierige Zaubersprueche aus
den fingern, die die gilde fuer die Spieler interessant macht, auch
angriffszauber, schutzzauber, illusionen, behherschungen). Wenn jetzt der
Zauberer auch Karateka oder Krieger werden kann, Warum noch Angriffzauber?
wieso uberhaupt noch Zauber? und wieso ueberhaupt noch andere Gilden? wir
haben ja schon zwei und wenn einer in der Abenteuergilde ist und Feuerball
kan, und gleichzeitig Karateka des 6.Dan, ist er doch maechtig genug und kann
alles.
Mal im Ernst Grimmborn, das meinst du doch wohl nicht wirklich, dass jemand
in mehreren gilden sein soll, oder?

Li (nein, ich habe das *Ironie off* nicht vergessen, da keine drin ist)

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



Re^7: Wegfall der zaubersprueche... (Grimmborn, 12. Mai 1995, 13:20:45):
#! rn=Li rt=800276831

Noch mal fuer die ganz Dummen:
Die Gilden sollten so sein, dass sie zur "Anwendung" den ganzen Charakter
erfordern.
Da ein Spieler nur einmal vorhanden ist, wird er nicht durch Mitgliedschaft
in verschiedenen Gilden unbedingt maechtiger, nur vielseitiger. Da irgendwann
die mp/lp zu Ende sind, ist dann Schluss.
Beispiel: Der Karateka mit Abenteuergildenfaehigkeiten:
Wendet er zu sehr die Zaubersprueche an, lernt er kein Karate. Also nuetzen
ihm die Sprueche wenig. Wenn er dagegen erst zaubert um dann Karate
anzuwenden, stellt er fest, dass Karate ohne mp nicht ganz so wirkungsvoll ist
(hab ich ausprobiert).
Also, wo waere da der unschaetzbare Vorteil, wenn man sowieso immer nur eins
anwenden kann?

Grimmborn der Atheist

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



Re^6: Wegfall der zaubersprueche... (Silvana, 12. Mai 1995, 13:32:23):
#! rn=Grimmborn rt=800276327
Also wenn mehrere Gilden moeglich sind, dann natuerlich auch mit allen
daraus folgenden NACHTEILEN - also Beschraenkungen in Waffen/Ruestungs-
gebrauch, Einschraenkungen im Zaubern...
Silvana  -  etwas boshaft grinsend

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



Gilden!! (Bambulko, 12. Mai 1995, 16:05:26):
Und nochmal Gilden!
-------------------

Ich finde auch, dass jeder Spieler nur in einer Gilde zugelassen werden
sollte.
Allerdings sehe ich im moment noch nicht den Unterschied zwischen den Gilden.
Was macht es bitte fuer einen Unterschied, ob ich mit einem Feuerball oder
mit
einem Mae-geri-keage angreife.
Wenn der Unterschied zwischen den Gilden nur darin besteht, womit ich
angreife,
so finde ich die Einfuehrung der Gilden etwas Sinnlos.So bleiben die Gilden
auf
reine Kampfgilden beschraekt. Denn eine Gilde, die nicht auf Kampf
spezialisiert ist ist den anderen Gilden dann immer unterlegen.
Ich dachte mir fuer die Gilden eher ein Zusatz zu den alten Faehigkeiten, die
nicht unbedingt etwas mit Kaempfen zu tun hat.(z.B. Eine Diebesgilde, oder
eine
Gilde, in der man Feilschen kann) Diese Faehigkeiten hat man dann zusaetzlich
zu den Zauberspruechen.
Denn (auch wenn sie wirklich durchdacht und aufwendig gestaltett ist), kann
ich
zwischen der Abenteuergilde und der Karategilde keinen wirklichen unterschied
feststellen(beides kampf und sonst eigentlich nix).

So das war's fuer heute :)

Bambulko das Wasserwesen

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



Re: Gilden!! (Bambulko, 12. Mai 1995, 16:05:58):
#! rn=Bambulko rt=800287526
Sorry fuer den scheiss Zeilenumbruch :((

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



Re: Gilden!! (Baboon, 12. Mai 1995, 16:42:02):
#! rn=Bambulko rt=800287526

Hm, also ich sehe eigentlich schon einen Unterschied zwischen Abenteurer-
und Karategilde: Karatekas kaempfen ohne Waffen und Ruestung, waehrend
Abenteurer halt solche sind, die mit Waffen und Zauberfertigkeiten
ausgeruestet
ausziehen, um Abenteuer zu erleben (daher der Name). Das Karatekas MP
verbrauchen ist zwar ein wenig ungluecklich und irrefuehrend, hat aber wohl
nix
damit zu tun, das die Angriffe in irgendeiner Form magisch sind, sondern
damit
das irgendwie die Ausgewogenheit zwischen den gilden erhalten bleiben soll.
Ein Karateka des 9. Dan oder was auch immer, der keine MP verbraucht fuer
seine
Aktionen, wuerde wohl zur unstopbaren Kampfmaschine, der einfach nur so durch
die Steinbeisserhoehle laeuft.

In diesem zusammenhang mal ein paar gildenideen zur Diskussion:

Kaempfergilde: aehnlich wie Karateka, nur halt nur darauf spezialisiert,
Waffen
und Ruestungen zu BENUTZEN. Mit Reduktionen im Bereich der Kampfspells.

Magiergilde:Genaues Gegenstueck zu den Kaempfern: Heftige Kampfspells
(wo bleiben Eiszauber,Beschwoerungs-/Beherrschungszauber ala AD&D?)
Nur das halt ein Magier bestenfalls mit nem Dolch umgehen kann, und unter nem
Echsenpanzer einfach zusammenbricht.

Nun koennte man hier einwenden, dass jede Gilde wie die andere ist, da jeder#
PC halt LP hat und besondere Fertigkeiten, die durch den Verbrauch von MP
limitiert werden. Da kann man leider wohl recht wenig gegen machen. Hier ist
halt eben Fantasie :-) gefragt!

Hier aber mal ein, wie ich denke, neues Gildenkonzept:

Die Philosophengilde!

-keine Zauberfertigkeiten ausser vieleicht Licht, usw.
-keine Kampfertigkeiten

dafuer aber
-Keine Gefahr von Monstern angegriffen zu werden
-freier Teleport zu (nahezu) jedem beliebigen Ort im MG (unter MP-Verbrauch?)

Das waer halt was fuer Leute, die lieber erkunden und chatten, anstatt
zu metzeln.

Baboon!

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



Re: Re: Gilden!! (Baboon, 12. Mai 1995, 16:45:43):
#! rn=Baboon rt=800289722
Kann ich mich nur Bambulko anschliessen:
Sorry, fuer den Scheiss Zeilenumbruch, hier scheint tf wohl noch ausbau-
faehig zu sein. :-)

Baboon!

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



Re: Re: Gilden!! (Bambulko, 12. Mai 1995, 16:47:01):
#! rn=Baboon rt=800289722
Aber genau das meine ich ja. Die Gilden sind dadurch nur auf Kampf fixiert.
Es sind keine grossen unterschiede, sondern nur relativ kleine.Ob ich jetzt
mit viel Magie oder mit oder ohne Waffen angreiffe macht doch wirklich keine
grossen Unterschiede.
Ich faende es toll, wenn die Gilden sich wirklich unterscheiden wuerden.

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



Re^7: Wegfall der zaubersprueche... (Grimmborn, 12. Mai 1995, 16:48:29):
#! rn=Silvana rt=800278343

Natuerlich, Silvana. Ich dachte, das waere klar, dass es keine Summierung der
Vorteile ohne Summierung der Nachteile gibt.
Ein BISCHEN logisch wollen wir ja doch bleiben... ;-)

Grimmborn der Atheist

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



Re^3: Gilden!! (Thorin, 12. Mai 1995, 16:59:07):
#! rn=Bambulko rt=800290021
Wenn du so auf Unterschiede bedacht bist, gib doch ein paar Beispiele ...
Dann koennen sich die Magier auf was stuetzen... Im grossen und ganzen gibt
es aber halt nicht so viel, was sich nachher unterscheidet, denke ich ...
Okay, jede Gilde kann 1-2 Sonderfaehigkeiten gebrauchen, aber man muss
ja auch den Ausgleich der Maechtigkeit der Gilden beruecksichtigen, sonst
geht es wie in anderen Muds, wo keiner Heiler werden will, weil die kaum
kaempfen und nur heilen aller Art koennen... Und die Programmierer solcher
Gilde(n) sind dann wirklich nicht sehr gluecklich darueber...
Thorin, Gildenknobler ...

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



Re^3: Gilden!! (Rochus, 12. Mai 1995, 17:05:08):
#! rn=Bambulko rt=800290021
Es sind auch Gilden in Planung, die nicht nur Kampffaehigkeiten haben,
und es gibt auch schon Vorschlaege fuer Gilden, die KEINE speziellen
Kampffaehigkeiten haben.
Gilden sollen eigentlich die Mitarbeit der Spieler untereinander
verbessern, und falls es demnaechst irgendwelche Quests oder
andere Probleme gibt, bei denen man z.B. zu einer Stelle nur
ohne Waffen hinkommt und trotzdem kaempfen muss und an einer anderen
Stelle Karateka keine Chance haben MUESSEN mehrere Spieler
zusammen losziehen...
Spezielle Gildenfaehigkeiten werden erst dann richtig interessant,
wenn es Stellen gibt, an denen man diese Faehigkeiten braucht -
z.B. war "identifiziere" frueher voellig uninteressant...

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



Re: Gilden!! (Yantro, 12. Mai 1995, 17:20:36):
#! rn=Bambulko rt=800287526

Es gibt schon Unterschiede zwischen den Gilden.. so hat ein Karateka ja auch
die Moeglichkeit der Abwehr durch seinen Koerper, wofuer ein Abenteurer sich
erst eine Ruestung ermetzeln muss... und das ist doch gravierend!

                          Yantro:)

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



Re^4: Gilden!! (Baboon, 12. Mai 1995, 17:21:39):
#! rn=Thorin rt=800290747

Hallo, schon wieder!

Das wars genau, was ich ausdruecken wollte! Wenn man die Ausgewogenheit
aufrechterhalten will, und eine beschraenkte Struktur, wie halt in einem MUD
hat, dann lassen sich Gilden immer auf eine Grundstruktur zurueckfuehren:
PC kann mit Waffen kaempfen (mehr oder weniger)
PC kann "spcial attacks" was MP (oder was auch immer) verbraucht
(zaubern,Karate,heilen).

Baboon!

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



Re^5: Gilden!! (Grimmborn, 12. Mai 1995, 17:37:44):
#! rn=Baboon rt=800292099

Ja, genau das, Baboon!
>PC kann "spcial attacks" was MP (oder was auch immer) verbraucht
>(zaubern,Karate,heilen).

Du greifst den Steinbeisser mit einem gelungenen Heile Knochen an.
Du streichelst den Steinbeisser sanft ueam Arm.
Der Steinbeisser fuehlt sich schon viel besser.

Ja, genauso muss das sein! :-)

Grimmborn der Atheist, immer noch lachend

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



Re^7: Wegfall der zaubersprueche... (Zuerileu, 12. Mai 1995, 20:42:26):
#! rn=Li rt=800276831
Sali zaeme,
Noch mehr gilden, JAAAAAAAAA unbendingt !!!
Spieler in mehren Gilden gleichzeitig find ich doof, da sich ein Spieler
entscheiden sollte welcher Gilde eranschliessen kann. Mein Vorschlag waer, ein
Gilden-System und ein Paraleles-Clan-system bezw. Clans wie die der Ritter wo
sich Abenteurer anschliessen koennen um die Faehigkeiten eines Ritters oder
eines drachentoeters zu erlenen. natuerlich mit harten aufnahmebedinungen und
gewisse ausnahmen, wie z.b. das Zwerge oder Orks (sofern es mal eine Rasse Ork
fuer Spieler giebt) nicht Ritter werden koennen. Ein austretten und wechseln
der Gilden bezw. clans muesste mit EXP verlust oder so moeglich sein.

Tschuess zaeme Zuerileu (.......?.......)

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



Re^4: Gilden!! (Wur, 13. Mai 1995, 04:51:54):
#! rn=Thorin rt=800290747
Aehm....nur mal so als kleiner Einwurf...
In Unitopia zb. bin ich in soner Sehergilde...die hat nicht einen
Kampfzauber, also nur Aufklaeerungszauber...und ich finde das jedenfalls toll
so...
Und fuer Leute die halt weniger metzeln wollen, nen gutes Beispiel.
Nicht das jetzt hier das gleiche her muss, nur es gibt da denke ich, schon
nen paar Moeglichkeiten.
Innem Lab. stehen und peer Spruch herausbekommen, wo es denn nu lang geht ist
ja auch nicht so schlecht, oder?
Wur - hilfloser Hilfseher

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



Single/Twin/... Characterclass (Beldin, 14. Mai 1995, 19:12:43):
Wenn hier einige Leute in mehreren Gilden sein wollen, so haette ich einen
Vorschlag:
Uebernehmt doch einfach (wenigstens teilweise) das gute alte AD&D-System
was die Multi-/Single-Characterclasses angeht.
Das wuerde gleichzeitig bedeuten die Rassen hier im MG _etwas_ besser
austuefteln zu muessen als bisher :>.
Die Frage ist natuerlich ob das ne Verbesserung oder eher ne Verschlechterung
ist - ich denke es ist zumindest ne Verkomplizierung :-).
Andererseits: Wer kann sich einen elfischen Kaempfer/Zauberer/Kleriker
vorstellen der insgesamt nur bis zur 8. (!) Ste aufsteigen kann und z.B. die
Klerikersprueche lediglich bis zur 1 Spruchstufe lernen kann :-).
Hier im MG doch wohl keiner oder? Also lasst diese Vorschlaege lieber gleich
>, sonst kommt noch irgendein gehaessiger Gott oder EM auf die Idee sowas hier
einzubauen. Mal sehen wie gross das Geschrei dann waere :-).

Und wieder etwas Senf in die Wunde geschmiert :>

Beldin.

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



Gilden und Zusammenarbeit (Skallagrim, 15. Mai 1995, 07:25:29):
Hola !
Ich finde auch dass die Gilden mehr als unterschiedliche Kampfeigenschaften
bedeuten oder bedeuten sollten.Irgendwie sind die Faehigkeiten ja mit den
interessen verbunden.Wer intelligent ist und eher schwach,sollte irgend-
wie versuchen dass auszubauen.Da waere Zauberer oder Kleriker genau dass
richtige fuer ihn.Genauso fuer den Kerl der unheimlich stark ist aber eher
dumm,dass waere der richtige Konan.
Deswegen finde ich es auch absolut verkehrt eine angehoerigkeit bei
mehreren Gilden zuzulassen.Es waere einfach nicht mehr ausgeglichen,der
superstarke Kerl der ausserdem ein Mastermind ist und alle Waffen
gebrauchen kann ...
Es waere doch richtig toll,wenn es mehrere Gilden oder Berufe gaebe.
Eine richtige MUD - Gesellschaft,der eine stiehlt um sich das taegliche
Brot zu verdienen,der andere Kaempft gegen das Unrecht,der andere zaubert,
u.s.w.Und wenn dass MG irgendwie die zusammenarbeit dieser Leute fordern
koennte,in Quests z.B,waere es ein unheimlicher Vortschritt !

Soviel zum Thema ... Entschuldigt Typos,Grammatik,usw

Ein raubender,kaempfender,zaubernder Karateka Skalla ;)

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



Re^8: Wegfall der zaubersprueche... (Orktoeter, 15. Mai 1995, 12:55:49):
#! rn=Zuerileu rt=800304146
Sorry, aber hier muss ich unbedingt meinen Senf dazugeben..
*Senf on*
ORKTOETENORKTOETENORKTOETENORKTOETENORKTOETENORKTOETEN !!!!
*Senf off*
OrkT ist fuer eine Rasse Orks, wenn es dann nicht gleich wieder Playerkill
heisst, wenn man seinem Job nachgeht.
Orktoeter.

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



Gilden, die x-te (Warlord, 15. Mai 1995, 14:27:28):
ich haette auch noch ein paar Vorschlaege fuer die Gilden.

]]
- Abenteuer: Neutrale Gilde, wie bisher
  Benoetigte Eigenschaften:
  - alle

- Karateka:  Karate-Gilde, wie bekannt
  Benoetigte Eigenschaften:
  - Geschicklichkeit (Schwerpunkt)
  - Intelligenz

- Zauber:    Gilde mit speziellen Spruechen,
             dafuer aber starke Ein-
             schraenkung bei Ruestungen
             und Waffen
  Benoetigte Eigenschaft:
  - Intelligenz

- Heiler:    wie bei Zauber, aber natuerlich
             andere Sprueche, z.B. ein "Saug"
             -Spruch, bei dem dem Gegner LPs
             abgesaugt und beim Spieler auf-
             addiert werden.
  Benoetigte Eigenschaften:
  - Intelligenz
  - Geschicklichkeit (Heiler benoetigen Ge-
    schicklichkeit um Kranke heilen zu
    koennen)

- Kaempfer:  wie Karateka, aber fuer Kampf
             mit Waffen und Ruestungen
  Benoetigte Eigenschaften
  - Geschicklichkeit
  - Kraft

- Sucher:    Gilde mit speziellen Eigen-
             schaften zum Auffinden von
             Spuren/Wege, Gegenstaende,
             Loesungen, z.B. einen Spruch,
             um in angrenzende Raeume schauen
             zu koennen
  Benoetigte Eigenschaften
  - Intelligenz
  - Geschicklichkeit

Weiterhin sollte man seine Eigenschaften an
die der Gilde anpassen koennen, z.B. erhoehen
der Kraft, durch erniedrigen der Intelligenz.
Selbstverstaendlich nur durch geeignetes
Training. Dies ist vor allem wichtig fuer
Spieler, die schon alle ZTs gefunden haben.
(wer ne Grundausbildung bei der Bundeswehr
mitgemacht hat, weiss wie das geht ;-)

Ich faende es auch gut, wenn es Schliess-
faecher in den Gilden gaebe, in dem man sein
Zeug deponieren kann. Natuerlich kostet dies
was und nach dem Reboot sind sie wieder leer.

NPCs sollte man auch beklauen koennen.
Wenn es der NPC bemerkt greift er natuerlich
an.
Der Erfolg sollte vom Gegenstand abhaengig
sein. Geld ist z.B. einfacher wegzunehmen
als ne Ruestung.


    So, das reicht erst mal,
                        WARLORD


PS: ich bin nicht so einnehmend, und
    schuetze meine fehler mit Copyright.
    Sie stehen alle zur verfuegung ;)

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



Re: Gilden, die x-te (Rochus, 15. Mai 1995, 14:37:53):
#! rn=Warlord rt=800540848
Bei Karateka sind uebrigens alle Attribute wichtig:
Intelligenz: Lerngeschwindigkeit, Staerke von besonders guten Angriffen
Kondition: Erschoepfungsgeschwindigkeit
Staerke: Auch davon haengt die Schlagkraft etwas ab
Geschicklichkeit: Ersetzt einen Teil des nicht vorhandenen Koennens,
  steigert Wahrscheinlichkeit von besonders gut gelungenen Angriffen,
   wirkt sich positiv auf schwer abwehrbare Angriffe aus
  (mit niedriger Geschicklichkeit ist ein Angriff mit einer scharfen
  Waffe (z.B. Schwert) VIEL schwerer abzuwehren als mit einer stumpfen - bei
  hoher Geschicklichkeit zwar noch schwerer, aber nicht so extrem)

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



Outlaw-Gilde (Jaf, 16. Mai 1995, 10:15:43):

Aus gegebenen Anlass *tritt Fyt und grins* moechte ich die
Errichtung einer Outlaw-Gilde (oder sowas...) vorschlagen.
Die Leute sind vogelfrei, d.h. duerfen von jedem angegriffen
werden und haben irgendwo eine kleine Region mit ein paar
Privatmonstern, einem Laden und ner Post, wo sie unter sich
sind. Ansonsten duerfen sie nicht in die grossen Doerfer,
koennen aber weiter ep sammeln und nach einer gewissen Zeit
und guter Fuehrung einen Antrag auf Reintegration *grins*
stellen.  Der koennte dann z.b. von den gerade Anwesenden
abgestimmt werden, die Zeit kann man beliebig festsetzen,
z.b. ein Fuenftel des bisherige Alters oder so...

Nur so ne Idee...

Jaf.

Ach ja: Dahin kommt man nach 'nem PK oder so, vielleicht auch mit
'daemonischem Charakter' mit weniger strengen Auflagen, oder wenn
man es von sich aus will.

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



Re: Outlaw-Gilde (Bambulko, 16. Mai 1995, 16:27:02):
#! rn=Jaf rt=800612143
Nimm doch due Dunkelelfen :)

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



Re: Outlaw-Gilde (Jimdigriz, 17. Mai 1995, 13:43:25):
#! rn=Jaf rt=800612143

Hoi !

ue otoshi-ude-uke
Ich erinnere mich dass es sowas mal bei Nemesis gab,
es war eine Art Spielerstatus, den man sich zulegen konnte, aber es gab kein
zurueck. Man wurde 'vogelfrei' d.h. man konnte Problemlos Spieler toeten,
aber auch von ihnen getoetet werden. Es gab natuerlich nicht sehr viele die
das auch gemacht haben, aber diejenigen tauchten dann in einem
Steckbrief in den Kneipen auf. Der erfolgreichtse 'Killer' brachte glaub
ich 5000000 coins ;-)

Ich finde die idee nich schlecht, weiss aber ned ob das ins MG - Konzept
passen wuerde...

cu
 James Bolivar diGriz

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



Re: Re: Outlaw-Gilde (Jaf, 17. Mai 1995, 14:53:43):
#! rn=Jimdigriz rt=800711005

Naja, ich hatte nicht beabsichtigt, die 'Vogelfreien' andere
Spieler toeten zu lassen... es soll nur ein Leben in erhoehter
Gefahr darstellen...

Jaf
nn

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



Re: Re: Outlaw-Gilde (Baboon, 18. Mai 1995, 09:33:31):
#! rn=Jimdigriz rt=800711005
Ich glaub das ja auch nicht. Das MG ist eher ein friedliches MUD. Und ich
persoenlich halte nix davon, in der Gegend rumzustehen und ploetzlich kommt
irgendein Arsch vorbei und greift mich an. Auch ne Diebesgilde faend ich nich
so toll. Wenn die Leute ein BSS oder sonstwas brauchen, bzw. haben wollen,
dann sollen sie sich gefaelligst selbst drum kuemmern, oder fragen ob jemand
was uebrig hat und nicht meine evtl. sauer ermetzelten Sachen abzocken.

Baboon! (erzkonservativer Spiessbuerger)


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



Re^3: Outlaw-Gilde (Bongo, 19. Mai 1995, 09:46:07):
#! rn=Baboon rt=800782411
Das ist doch gerade der Sinn bei den Dieben. Wer laesst sich schon gerne
beklauen. Totzdem gibt es Diebe. :-)) Sie duerfen sich nur nicht
erwueschen lassen. (Darf man in Amerika nicht in einigen Staaten
Eindringlinge, die das Privatgrundstueck betreten und nicht wieder
abhauen wollen, noch heute erschiessen? :-) )
Bongo

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



Neugier (Ratz, 21. Mai 1995, 22:36:19):
Hallo,
heute waren leider mal wieder ein paar lags so gewaltig das es wohl fast alle
aus dem spiel geworfen hat.
Nun kann es ja einerseits am Morgengrauen liegen oder an den leitungen bis
muenster oder , oder,...
Auch Abstuerze des Morgengrauens haben ja immer eine Ursache!

Ich habe Verstaendniss dafuer das es nicht immer suuperschnell laufen kann.
Aber ich haette noch mehr Verstaendniss wenn man erfahren koennte woran es
gelegen haben kann das das programm abstuerzte bzw. langsam lief.

Als Beispiel erwaehne ich mal das Jof allen mitteilte das er irgentetwas
compilierte und es deshalb halt fuer 10 min. oder so langsammer laufen wuerde.

Also meine Bitte ist folgende: Koennte jemand nach einem crash oder megalag
welches alle rauswirft oder bei stoerungen auf dem internet etc. einfach einen
Artikel veroeffentlichen in dem die vermutliche Ursache drinsteht.
Beispiel: Absturz des systems weil spieler xxxxx zuviele Erdbeeren pflueckte!
Beispiel 2: Absturz wegen Endlosschleife im programmteil xxxxxx!

Beispiel 3: Crash wegen ???? Wir suchen noch!

Ich hoffe mein Anliegen ist deutlich geworden.
Danke fuer die Aufmerksamkeit euer ratzfatz Ratz

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



Re: Neugier (Schrumpfi, 22. Mai 1995, 02:48:21):
#! rn=Ratz rt=801088579
Ich hatte heute kein lag. Das liegt meistens an den Leitungen und Jof kann
auch nicht immer kucken wo das lag herkommt. da macht er ja dann bald gar nix
anderes mehr!
Und bei nem Crash ist das eigentlich nicht vorprogrammiert wann und wieso
einer kommt, sowas passiert einfach. Wenn es ein Reboot ist kuendigt das unser
geliebter Armageddon vorher an.
schrumpfi

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



Re: Neugier (Jof, 22. Mai 1995, 09:04:26):
#! rn=Ratz rt=801088579

 Die aktuellen Lags liegen in Problemen des Internets begruendet. Ich hab
bei
den WAN-Leuten unseres RZs nachgefragt, und die konnten das auch erklaeren:
 Vor 3 Wochen oder so wurde eine neue 'Trunk-Leitung' von Hannover nach
Dortmund fuer das WiN in Betrieb genommen. Die Uni Muenster ist via Dortmund
ans WiN angebunden; dorthin unterhaelt sie (physikalisch) eine Standleitung
mit 2 Mbit (Anmerkung: die Knoten, ueber die die Pakete laufen, tauchen nicht
alle im Traceroute auf, da es sich oft nur um Telekom-Switches handelt, die
eine Ebene unter dem liegen, was bei Traceroute auftaucht). Der groesste Teil
des Muensteraner IP-Verkehrs wird ueber Duesseldorf abgewickelt. Dazu gibt
es 2 2 MBit-Leitungen von Dortmund nach Duesseldorf. Bis vor kurzem wurden
diese ausschliesslich von der Uni Muenster und der Uni Bochum genutzt.
Seit der Inbetriebnahme der neuen Leitung Hannover - DDorf wird zumindest der
gesamte Auslandsverkehr der Unis in den oestlichen Bundeslaendern ueber dies
beiden Leitungen bewegt. Seitdem sind die Antwortzeiten bei Netzkommunikation
mit der Uni Muenster von den meissten Unis aus unakzeptabel langsam
(uebrigens
ist natuerlich auch die Uni Bochum betroffen; zugleich ist die Leitung MS->
Bochum schnell wie nie ...; einige Verbindungen nach MS bzw Bochum sind
auch noch sehr schnell, so zB. Erlangen, Magdeburg ... eben alles was nicht
via Duesseldorf geht). Die Probleme sind dem DFN bekannt; nach Loesungen
wird gesucht. Es kann an ueberlasteten Leitungen, ueberlasteten Switches
oder Rueckstaus durch die ueberlastete Uebersee-Leitung liegen. Ausloeser
dafuer ist wohl in jedem Fall das daemliche WWW; wenn alle Leute Bildchen
ziehen muessen, kann das nicht gutgehen :9

 Jof

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



Re: Re: Neugier (Jof, 22. Mai 1995, 09:05:55):
#! rn=Schrumpfi rt=801103701

 Achso, der Crash - ja. Das Netz war am Freitag abend ganz ausgefallen fuer
etwa 1 Stunde. Ich hatte erwartet, das es bis zum Montag weg bleibt und die
Gelegenheit benutzt, was auszuprobieren. Dabei bin ich auf einen selbst-
verschuldeten Bug gestossen, der zum Crash gefuehrt hat. Der Bug ist jetzt
aber raus.

 Jof

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



Re: Re: Neugier (Jof, 22. Mai 1995, 09:07:01):
#! rn=Jof rt=801126266
 Leitung Hannover - Dortmund sollte es heissen, nicht Hannover-DDorf. Schoen
waers ...

 Jof

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



Re: Gilden und Zusammenarbeit (Elric, 24. Mai 1995, 21:17:15):
#! rn=Skallagrim rt=800515529
"Der eine stiehlt, um sich das taegliche Brot zu verdienen, der andere
kaempft gegen das Unrecht..." klingt nach prachtvoller Zusammenarbeit. Es sei
denn,len ist legal, daher kein Un"recht". Aber warum dann stehlen und nich
einfach nehmen? Ich glaube, der Nehmergilde wuerden ziemlich viele Leute
beitreten. Aber wo kaeme dann die Zusammenarbeit hin? Und fuer die tapferen
Krieger(Bullen?) mit der weissen Weste gaeb's dann nich mehr viel zu tun.
Jaaaajaaaa, so ist das.
Elric goes Schmarrn, following Skalla.
Ceterum censeo me non esse Socrate, Vrai.

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



"erwarte"-Problem (Warlord, 26. Mai 1995, 20:44:01):

Mir ist aufgefallen (uebrigens schon laenger), dass das "erwarte"
Probleme macht.
Manchmal werden alle Spieler nach dem Einloggen angezeigt, machmal
teilweise oder auch gar nicht. (logischer weise, wenn sie da sind)

Koennte man das aendern?

        Warlord, der gern weiss, wenn gute Bekannte da sind

P.S.: wenn man im Spiel ist und es kommt oder geht jemand, dann
      funktioniert es prima

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



Re: "erwarte"-Problem (Anakin, 26. Mai 1995, 22:13:48):
#! rn=Warlord rt=801513841
Hiho,

Tja ich denke das hat mit dem erwarte nichts zu tun. Es werden Dir
beim einloggen Deine Freunde angezeigt, nicht die von 'erwarte'.
Aber schlecht waere das nicht wenn es auch sowas gaebe.
Genau so wie ein fcount, der zaehlt und anzeigt wer von meinen
Freunden da ist.

Anakin.

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



Re: Re: "erwarte"-Problem (Snuggle, 28. Mai 1995, 10:15:57):
#! rn=Anakin rt=801519228
Hmm Anakin,
es gibt da den Befehl fwer. Reicht der nicht?

freundschaftlich
Snuggle

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



Re^3: "erwarte"-Problem (Anakin, 28. Mai 1995, 12:11:39):
#! rn=Snuggle rt=801648957
Hiho,

Ohje, den hatte ich ganz uebersehen.

Anakin ;)

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



erwarte-Problem (Grimmborn, 28. Mai 1995, 14:59:11):

...und wenn man kwer macht, steht vor allen erwarteten Leuten ein Stern.
Also kein Problem zu sehen, wer der erwarteten Leute eingeloggt ist.

Grimmborn der Atheist

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



Re: erwarte-Problem (Warlord, 28. Mai 1995, 15:15:28):
#! rn=Grimmborn rt=801665951

Grimmborn, haste das mal mittags unter der woche gemacht, wenn es scrollt?

Warlord

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



Re: Re: erwarte-Problem (Grimmborn, 28. Mai 1995, 15:35:21):
#! rn=Warlord rt=801666928

Sicher. Allerdings beherrsche ich das System, nicht umgekehrt. D.h.: Bei mir
scrollts nur, wenn ICH will.
Und mehr als 3 Seiten ist kwer ja eh nie, da sieht man doch mit einem Blick
die Sterne. Wenn man nicht das komplette mud erwartet, also...

Grimmborn der Atheist

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



Re^3: erwarte-Problem (Engywuck, 28. Mai 1995, 17:32:33):
#! rn=Grimmborn rt=801668121
Wie waers denn mit "kwer erwartete" ?
Bei mir funktioniert das hervorragend...

Engywuck

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



Regexp fuer Unali (Rochus, 31. Mai 1995, 20:05:54):
Bei dem Befehl "Unali" kann man jetzt einen "regular expression" angeben,
d.h.
   "." steht fuer ein beliebiges Zeichen
   "[a-c]" steht fuer alle Zeichen von a-c
   "*" steht fuer beliebig viele von der zuvor bezeichneten Zeichengruppe
Neumagier, die alle Aliase entfernen wollen, tippen also:
  unali .*
Und Leute, die alles, wo eine Ziffer drin vorkommt entfernen wollen, tippen
  unali .*[0-9].*
Ich hoffe das hilft dabei, die vielen Aliase, die man vor langer Zeit
angelegt hat und nie wieder benoetigt hat, zu entfernen...

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



Re: Regexp fuer Unali (Felagund, 31. Mai 1995, 20:22:26):
#! rn=Rochus rt=801943554
Und ich mach mir das alles aus meinem savefile raus *schwitz*
haette das nicht nen tag eher hier stehen koennen ?? ;)=

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



Re: Erwarte Deinen Freund. (Grimmborn, 31. Mai 1995, 20:29:37):
#! rn=Gnulli rt=801940317

Tja, nett. Aber was soll das hier in der allgemein-rubrik? Noch dazu mit
Pfadangebe? Wo haben die Spieler denn ihr HOME (Seherhaus?) und wie weit werde
ich runtergestuft, wenn ich die Rose einem Spieler clone? Oder wo kann man die
(als Spieler) kaufen?

Fragen ueber Fragen...
                        Grimmborn der Atheist

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



Re: Regexp fuer Unali (Azzuro,  1. Jun 1995, 00:56:57):
#! rn=Rochus rt=801943554
Hast du das im man unali schon gaendert Rochus.
Ich haette es mir am besten mal vor dem Schreiben des Artikels ansehen
sollen.
Wenn du es nicht getan hast, dann mach das bitte. Ich bin naemlich so
vergesslich.
Falls du es gemacht hast, so sieh bitte diesen Artikel als gegenstandslos an.
Azzuro

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



ali (Ratz,  1. Jun 1995, 11:18:47):
moin,
Wo hier gerade ueber alias diskutiert wird, faellt mir folgendes ein.
Mir ist es schon oefter passiert, dass ich mit einem neuen ali ein anderes
ausversehen ueberschrieben habe.
Kann man es einrichten, dass man beim vorhandensein eines Ali mit der
gleichen Abkuerzung vorher gefragt wird ob man das alte ueberschreiben
moechte?

Gruss ratzfatz Ratz

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



Aliases (Durian,  1. Jun 1995, 11:58:32):
Hallo Leute!

Da hier sowieso gerade ueber aliases geredet wird, nochmal schnell aus
gegebenem Anlass ein kleiner Hinweis:

Wenn die Syntax in irgendeinem Raum nicht so tut, wie sie vielleicht
sollte, zuerst die Aliases ueberpruefen. Es kam leider schon des oefteren
vor, dass in meinen Pyramiden ein vermeintlicher Fehler entdeckt wurde ...
na klar, wenn man druecke und die Zahlen 1 bis x als Alias definiert hat,
ist es auch kein Wunder, oder?

Nur am Rande,

- Durian

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



Notizbuch (Ratz,  4. Jun 1995, 13:43:55):
Hallo,
ich koennte mal ein Notizbuch hier im MG gebrauchen.
Ja ich gebe zu ich bin ein wenig vergesslich. Aber mitlerweile kennt man hier
so viele Leute und schmeisst dann schon mal etwas durcheinander oder ich weiss
garnicht mehr wer das nun war, der mich da freudig anspricht als ob ich ihn
schon seit Jahren kennen wuerde.
Also ein kleines Buechlein in dem man sich so ein paar Notizen machen kann
waere nicht schlecht.

So nach folgendem fiktiven Beispiel:
Unbekannt teilt dir mit: Hallo lange nicht gesehen wie geht es denn dir?
gruebel, denk

notiz Unbekannt

zu Unbekannt hast du dir folgende Notizen gemacht:
studiert Mathe an der Uni Muster
ist XX jahre alt und heisst in real Steffi Graf
Habe mit ihr zusammen die Quest Finde fee amarylis gemacht.
...

Das ganze muesste man dann auch editieren koennen!
In der Hoffnung das das nicht am Speicherplatz scheitert
euer ratzfatz Ratz

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



erwarte (Grimmborn,  4. Jun 1995, 15:26:05):

Was im erwarte-Befehl noch fehlt sind die Benutzung von * und so (heist das
nicht wild cards?). Also: Ich will alle erwarten, die mit "A" anfangen und
gebe erwarte a* ein.
Oder alle, die auf f enden und mache erwarte *f.

Sinnvoll? Machbar? Schaunmermal...

Grimmborn der Atheist

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



Muellschlucker (Silvana,  6. Jun 1995, 08:11:05):
Auf vielfachen Wunsch hab ich dem Elfenladen einen Muellschlucker
spendiert. Seit nett zu dem kleinen und fuettert ihn eifrig - aber keine
zu kalorienreichen Nahrung, das vertraegt der kleine nicht.
Fuer eine saubere Umwelt - Silvana
PS: Wenn die Tests erfolgreich verlaufen, werden auch die anderen Laeden
    im Wald mit einem Muellschlucker ausgeruestet.

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



Re: ali (Lefty,  7. Jun 1995, 18:21:21):
#! rn=Ratz rt=801998327
Also ich finde die idee von ratz gut. ich ueberschreibe auch oefters mal ein
ali ... und das ist aetzend. die idee mit dem notizbuch ist auch sehr gut, bin
ich voll dafuer ... also, ich hoffe, d laesst sich machen :)
Tschuessi
Lefty

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



Teddy? (Cuchullin, 10. Jun 1995, 22:26:28):

Hallo!

Der Teddy ist was feines, zugegeben, aber muss er denn alles doppelt
ausgeben?
Laesst es sich nicht so einrichten, dass die Magiepunkte nur dann eine
Ausgabe erwirken, wenn die Lebenspunkte ungleich Maximum sind? Oder eher
umgekehrt, weil zuerst die Lebenspunkte steigen... also dass die LP nur dann
eine Ausgabe erzeugen, wenn die MP auf ihrem Maximalwert sind...?

Jaja, ich soll zufrieden sein, mit dem, was ich habe. Aber man wird doch
noch fragen duerfen...

Cuch.

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



more (Grimmborn, 11. Jun 1995, 16:59:16):

Wie waers mit nem more in wer mud? Nur so als Vorschlag...

Grimmborn der Atheist

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



Re: Teddy? (Sir, 11. Jun 1995, 19:41:12):
#! rn=Cuchullin rt=802815988
Die Frage gab's doch schon mal so aehnlich... Und ich gebe eine
aehnliche Antwort:

_Frueher_ ging's, dann wurde der Teddy gepatcht und ich kann den Fehler
nicht nachvollziehen, da wird jetzt irgend ein externes Zeuch aufgerufen

Bedauernd,
Sir

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



Re: Muellschlucker (Garfield, 12. Jun 1995, 21:49:38):
#! rn=Silvana rt=802419065

SUPER SILVANA!

kommt ein bisschen spaet, aber eher hab ich den artikel nicht gesehen.
grins.

eine begeisterte garfield
***

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



Re: more (Garfield, 12. Jun 1995, 21:51:33):
#! rn=Grimmborn rt=802882756

Und WIE!!!
hm, faende ich obertoll.
gabs das nicht schon mal?

gruebel ...

an japan erinner ...
megalag und superscroll als folge ....

grins
garfield
***

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



Muellschlucker (Silvana, 13. Jun 1995, 10:52:22):
Betriebsanleitung fuer Muellschlucker

Seit ein paar Tagen stellt das MMM (MorgengrauenMuellManagement) in den
meisten Laeden Kleinsaurierer aufgestellt, die als Muellschlucker ausge-
bildet wurden. Man kann sie mit 'fuettere muellschlucker mit ...'
fuettern. Allerdings sind die Tiere sehr gefraessig und nehmen sich
etwa alle 30min alles, was so rumliegt. Diese Dinge behalten sie dann fuer
etwa 30min um sie ERST DANN zu vernichten. Waehrend dieser Zeit kann man
sie leicht (mit etwas freundlichem Druck) dazu bringen, die versehentlich
genommenen Gegenstaende wieder fallenzulassen.
Diese Regelung steht nach dem naechsten Reboot in allen Laeden zur
Verfuegung. Es kann sein, dass bis dahin noch ein paar fehlerhafte
Exemplare rumstehen, aber das sollte sich nach dem naechsten Reboot
geben.

Silvana - MMMM (MorgengrauenMuellManagementMagierin)

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



Mail von ausserhalb (Yendi, 13. Jun 1995, 16:39:00):

Loco, kannst Du mir mal erklaeren, warum es nicht machbar ist, einfach von
ausserhalb eine mail an <spieler>@mud.uni-muenster.de zu senden?
Ist "mud.uni-muenster" kein server, oder wie, oder was?

Ich kapier da alles nicht... *seufz*


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



Re: Mail von ausserhalb (Locutus, 13. Jun 1995, 22:05:34):
#! rn=Yendi rt=803054340
Hi Yendi!

Es ist moeglich von Aussen eine Mail ins MUD zu schicken.
Mach doch mal 'hilfe post'.

Locutus (der Posthilfenschreiberling ;-)

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



Re: Re: Mail von ausserhalb (Baboon, 14. Jun 1995, 07:59:40):
#! rn=Locutus rt=803073934
Hallo.

Wie ich es verstanden hab will yendi, das man mail statt auf die uebliche
Weise (Adresse gleich @mud.uni-muenster.de und angabe im Subject:
"mg-mail <mudname>") in zukunft schreiben kann
"<mudname>@mud.uni-muenster.de"
(wie man es normalerweise machen wuerde, wenn man irgendwohin schreiben will)

Dem wuerd ich mich in jeden Fall anschliessen. Ich sehe irgendwie keinen
Grund, warum es jemals anders geregelt wurde.

Baboon (Gelegenheits-Briefschreiber)


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



Re: Mail von ausserhalb (Jof, 14. Jun 1995, 09:53:08):
#! rn=Yendi rt=803054340
Es IST doch machbar?!?

 Jof

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



Re^3: Mail von ausserhalb (Jof, 14. Jun 1995, 09:54:44):
#! rn=Baboon rt=803109580

 Es GEHT doch!!! Mail an jof@mud.uni-muenster.de (oder jeden anderen
Spieler)
kommt doch im Mud an (modulo Bugs im Mail-Kram ...)

 Jof

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



Re^4: Mail von ausserhalb (Grimmborn, 14. Jun 1995, 16:06:08):
#! rn=Jof rt=803116484

Tja, ich warte immer noch auf eine mail grimmborn@mg.uni-muenster.de (mud ist
doch nur ein alias, oder), subject test, inhalt test...
Also die eigentliche Frage: Wie lange dauert das? Mehr als 5 Tage? ;-)

Grimmborn der Atheist

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



Re: Re: erwarte-Problem (Kretek, 14. Jun 1995, 20:06:31):
#! rn=Warlord rt=801666928
Auf die Gefahr hin, dass das schon x-mal hier steht
(dann kann man's ja loeschen!):
Es gibt doch auch die Variante KWER ERWARTETE!

So long,
Kretek

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



erwartete (Garfield, 14. Jun 1995, 20:38:14):
aeh.
ich steig vielleicht einbisschen spaet in die diskussion ein,
aber gibt es (da faellt mir ein, der artikel-titel ist vollkommen
unpassend. sorry) eigentlich ein "kwer tuebingen" also ein
"kwer <ort>" sozusagen? ich habs mal wo gesehen. aber bei mir gehts
nicht. kann auch sein, dass ich zu doof dazu bin.
aber das ist doch was nuetzliches, oder?
faend ich gut.

und ihr?
garfield
***

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



Re: erwartete (Grimmborn, 14. Jun 1995, 20:56:17):
#! rn=Garfield rt=803155094

Kann ja sein, dass Du zu doof bist, das beurteile ich lieber nicht... ;-)
In dem Fall: Zu doof fuer 'hilfe kwer'.
Kinners, da haben wir extra einen Doku-Erzmagier und ihr schauts euch
nichtmal an. Ihr macht aber auch Sachen...

Grimmborn der Atheist

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



Re: erwartete (Anakin, 14. Jun 1995, 20:56:19):
#! rn=Garfield rt=803155094
Hiho,

Propbiers es mit "kwer in <ort>".

Anakin.

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



Re: erwartete (Mango, 15. Jun 1995, 08:01:36):
#! rn=Garfield rt=803155094
versuchsmal mit kwer in tuebingen

Mango.

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



Re^5: Mail von ausserhalb (Yendi, 16. Jun 1995, 21:53:07):
#! rn=Grimmborn rt=803138768

Hmmm... Das RZ hat ab und zu Probleme mit dem Mailserver...

Ich hab es mit yendi@MUD.uni-muenster.de (nicht @MG.etc) versucht, das ging.


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



kwer-erweiterung? (Khidar, 17. Jun 1995, 06:17:58):
Da einem immer mal Froesche was mitteilen, wuerde ich ein 'kwer froesche'
praktisch finden. Da muesste man dann nicht die gesamte wer-liste
durchlesen.

Khidar.

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



mail ins mud (Ketos, 24. Jun 1995, 10:33:59):
Zur Zeit funktioniert spieler@mud.uni-muenster.de
Es waere besser wenn als adresse nur spieler@mg.uni-muenster.de
gingen wuerde.
- Ketos -

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



Re: mail ins mud (Dancer, 24. Jun 1995, 17:32:07):
#! rn=Ketos rt=803982839
..gingen wuerde....*schmerz* :-)

Dancer


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



EP/AP (geordneter Rueckzug) (Ryne, 26. Jun 1995, 14:42:03):
(bezug Seher.Entwicklung, Artikel 1 - 999)

Tja,

das waere ja immerhin etwas: Da fast jeder in dieser Diskussion vortrug, fuer
das questen gaebe es nicht genug Eps, koennte man ueberdenken, ob man Sehern
mehr Eps fuer die geloesten quests gibt.
Als Ansatz und Diskussionsgrundlage:
Vorschlag 1: Start fuer Seher mit Level 20 bei 1.000 wie ein 'normaler'
Spieler. Danach Fortfuehrung wie in der Seherliste: pro Stufe anfangs +50%,
irgendwann flachts etwas ab; fuehrt letztlich auf die Formel 1/1000 mal die
EP, die fuer die Stufe erforderlich waren, die der Spieler im moment des
Loesens der quest innnehat (ist das verstaendlich ausgedrueckt ? mist, ich
haette Mathe studieren sollen, da kann man sich bei sowas besser ausdruecken
;-)). Bsp: 3350 EP/AP auf lvl 22, 17600 EP pro AP fuer Spieler Stufe 27,
40.000 EP pro AP auf Stufe 29. Da wirds zugegebenermassen etwas hoch am
Ende, ich wuerde demnach naemlich 100.000 EP pro AP kriegen - andererseits
brauche ich auch noch 38 mio fuer die naechste Stufe, und die 6 mio Eps, die
mir diese Regelung bei einem 60 AP-quest bringen wuerde, machen den Kohl da
auch nimmer fett.
Vorschlag 2: feste 10.000 EP/AP fuer Seher - hat den Vorteil, dass da nicht
so hohe Werte bei hoeheren levels herausspringen, andererseits ist die
Belohnung am anfang doch recht hoch, waehrend sie fuer einen Spieler mit
hoeherem level wieder einen relativ geringen Anreiz darstellt, da diese sehr
grosse Spruenge bei den Stufenanforderungen haben, also wuerde dieser
Vorschlag nur eine wirkliche Veraenderung fuer die niedrigeren Stufen
bringen, bei den hoeheren bleibt der Effekt aus.
Vorschlag 3: Eps fuer quests an die Eps koppeln, die man fuer das Erreichen
der naechsthoeheren Stufe benoetigt, und dann wieder durch 1000 teilen -
dabei kaeme heraus: Spieler auf level 26 brauchen fuer das Erreichen von
Level 27 17.6 mio, also einen Zuwachs um 6.6 mio Eps (lvl 26 = 11 mio, glaub
ich). Demnach kaemen bei einer quest hier 6.600 EP / AP heraus. Vorteil
dieser Loesung waere, dass Spieler mit hohem Level nicht allzu extreme Werte
erhalten: Level 29 bekaeme 20.000 EP/AP, Level 30/31 ebenfalls, ab level 32
sinds 25.000, womit dann das max erreicht ist, weil man nie mehr als 25 mio
eps fuer die naechste Stufe braucht.
Ich persoenlich finde diese 3. Idee am Besten, weil da Extremwerte wie 100k
Eps /AP vermieden werden. Andererseits bleibt hierbei der EP-Wert dynamisch,
und ist auch fuer Spieler hoeheren Levels interressant.

Der andere Vorschlag von Fyt, bessere Questbelohnungen zu verteilen, waere
natuerlich auch mein Favorit, aber da muessen wir wohl erstmal an unsere
Maggies denken, die ja auch nicht den ganzen Tag als Ideenmaschinen durch
die Welt laufen (warum eigentlich nicht ? ;))), und es ist eben nicht so
einfach, jedes quest mit einem neuen, tollen Tool zu Belohnen.

Ok, das wars, jetzt duerft ihr mich wieder mit Euren 2 pennies,
 1 cents oder 33 Lira niedermachen ;)

Ryne

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



Re: EP/AP (geordneter Rueckzug) (Cuchullin, 26. Jun 1995, 15:38:13):
#! rn=Ryne rt=804170523

Das heisst, ich soll mir so viel wie moeglich Quests fuer spaetere Zeiten
aufheben?

Cuch. Muss nicht alles verstehen.

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



ende ? (Anakin, 27. Jun 1995, 10:38:09):
Hiho,

mir ist gerade langweilig und da schreib ich halt mal was.

1.) Mir kann immer noch von einer Person die ich ignoriere etwas mit-
    geteilt werden. Auf den Kanaelen und sonst hoer ich sie nicht.

2.) Beim Einloggen wird doch jetzt immer angezeigt welche Erwartetenden
Personen bereist
    im Spiel sind. Hmm, soll das immer klappen? Bei mir geht es nur
    dann wenn ich Ende mache und mich dann neu einlogge, nur
    bei diesem einem mal, wenn ich normal schlafe ein mache geht
    es nicht.

Vielleicht kann mit ja ein Magier dazu mal was sagen.

Anakin.

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



Neuer Zufallsgenerator (Rudiratter, 28. Jun 1995, 09:05:15):
Jof meinte ja, der neue Zufallsgenerator sei besser als der alte.
Ich fange an, das zu bezweifeln:
In den letzten drei Tagen ist dreimal meine Fluchtrichtung falsch
angesprungen, was bei meinem Level ZIEMLICH unwahrscheinlich ist, die Bummis
werden haeufiger gefressen (obwohl das ja noch richtig sein koennte) und
Zardoz Daemonen verfolgen mich haeufiger.
Langsam verlier ich edn Glauben an die Goetter oder die
Wahrscheinlichkeitstheorie... ;)
Rudi

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



Re: Neuer Zufallsgenerator (Boing, 28. Jun 1995, 09:16:19):
#! rn=Rudiratter rt=804323115
'Besser' heisst hier nur, dass weniger Zahlen ueberdurchschnittlich oft
kommen, das heisst es entspricht mehr einer Gleichverteilung. Beim alten
Zufallsgenerator kam zum Beispiel die 0 ueberdurchschnittlich oft.
Was das fuer Auswirkungen aufs Spiel hat, kann man gar nicht genau
sagen, z.b. kann es sein, dass aufgrund des alten ZFG einfach zu wenig
Bumis gefressen wurden.
  Boing

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



Neuer Zufallsgenerator (Rudiratter, 28. Jun 1995, 09:05:15):
Jof meinte ja, der neue Zufallsgenerator sei besser als der alte.
Ich fange an, das zu bezweifeln:
In den letzten drei Tagen ist dreimal meine Fluchtrichtung falsch
angesprungen, was bei meinem Level ZIEMLICH unwahrscheinlich ist, die Bummis
werden haeufiger gefressen (obwohl das ja noch richtig sein koennte) und
Zardoz Daemonen verfolgen mich haeufiger.
Langsam verlier ich edn Glauben an die Goetter oder die
Wahrscheinlichkeitstheorie... ;)
Rudi

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



Re: Neuer Zufallsgenerator (Boing, 28. Jun 1995, 09:16:19):
#! rn=Rudiratter rt=804323115
'Besser' heisst hier nur, dass weniger Zahlen ueberdurchschnittlich oft
kommen, das heisst es entspricht mehr einer Gleichverteilung. Beim alten
Zufallsgenerator kam zum Beispiel die 0 ueberdurchschnittlich oft.
Was das fuer Auswirkungen aufs Spiel hat, kann man gar nicht genau
sagen, z.b. kann es sein, dass aufgrund des alten ZFG einfach zu wenig
Bumis gefressen wurden.
  Boing

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



Neuer Zufallsgenerator (Rudiratter, 28. Jun 1995, 09:05:15):
Jof meinte ja, der neue Zufallsgenerator sei besser als der alte.
Ich fange an, das zu bezweifeln:
In den letzten drei Tagen ist dreimal meine Fluchtrichtung falsch
angesprungen, was bei meinem Level ZIEMLICH unwahrscheinlich ist, die Bummis
werden haeufiger gefressen (obwohl das ja noch richtig sein koennte) und
Zardoz Daemonen verfolgen mich haeufiger.
Langsam verlier ich edn Glauben an die Goetter oder die
Wahrscheinlichkeitstheorie... ;)
Rudi

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



Re: Neuer Zufallsgenerator (Boing, 28. Jun 1995, 09:16:19):
#! rn=Rudiratter rt=804323115
'Besser' heisst hier nur, dass weniger Zahlen ueberdurchschnittlich oft
kommen, das heisst es entspricht mehr einer Gleichverteilung. Beim alten
Zufallsgenerator kam zum Beispiel die 0 ueberdurchschnittlich oft.
Was das fuer Auswirkungen aufs Spiel hat, kann man gar nicht genau
sagen, z.b. kann es sein, dass aufgrund des alten ZFG einfach zu wenig
Bumis gefressen wurden.
  Boing

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



Neuer Zufallsgenerator (Rudiratter, 28. Jun 1995, 09:05:15):
Jof meinte ja, der neue Zufallsgenerator sei besser als der alte.
Ich fange an, das zu bezweifeln:
In den letzten drei Tagen ist dreimal meine Fluchtrichtung falsch
angesprungen, was bei meinem Level ZIEMLICH unwahrscheinlich ist, die Bummis
werden haeufiger gefressen (obwohl das ja noch richtig sein koennte) und
Zardoz Daemonen verfolgen mich haeufiger.
Langsam verlier ich edn Glauben an die Goetter oder die
Wahrscheinlichkeitstheorie... ;)
Rudi

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



Re: Neuer Zufallsgenerator (Boing, 28. Jun 1995, 09:16:19):
#! rn=Rudiratter rt=804323115
'Besser' heisst hier nur, dass weniger Zahlen ueberdurchschnittlich oft
kommen, das heisst es entspricht mehr einer Gleichverteilung. Beim alten
Zufallsgenerator kam zum Beispiel die 0 ueberdurchschnittlich oft.
Was das fuer Auswirkungen aufs Spiel hat, kann man gar nicht genau
sagen, z.b. kann es sein, dass aufgrund des alten ZFG einfach zu wenig
Bumis gefressen wurden.
  Boing

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



Re: ende ? (Lwaxana, 28. Jun 1995, 18:58:33):
#! rn=Anakin rt=804242289
Hah, gut, dass du's erwaehnst, bei mir ist es ganz genauso:

Vor unserem Duell habe ich Nairolf verachtet (wer killt auch einen Freund,
oder laesst sich von dem Killen?) und ignoriert und er kam immer noch durch.
Ich habe schon getestet, obs vielleicht an dem hoeheren Level lag, war aber
nicht, da ich auch mit einem Zweitie auf Level 1 einen Abenteurer auf Level 9
ignorieren konnte, und es geklappt hat...
Und mit dem erwarte ist es genauso...
Naja, das wars schon wieder...
tschau Nervensaege vom Dienst.... Lwax..

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



Re: Neuer Zufallsgenerator (Jof, 28. Jun 1995, 21:43:23):
#! rn=Rudiratter rt=804323115

 Hm drand48 liefert normalerweise VIEL bessere Zufallszahlen als der alte
Rand ...

DRAND48:
     This family of  functions  generates  pseudo-random  numbers
     using  the  well-known linear congruential algorithm and 48-
     bit integer arithmetic.


Im Vergleich dazu rand(), den wir vorher hatten:

     rand, srand - bad random number generator

     The rand() function computes a sequence of pseudo-random integers in
the
     range of 0 to RAND_MAX (as defined by the header file <stdlib.h>).

 Das BAD ist wohl ernst zu nehmen. Ne Alternative waere random():

     random, srandom, initstate, setstate - better random number generator;
     routines for changing generators
     The random() function uses a non-linear additive feedback random number
     generator employing a default table of size 31 long integers to return
     successive pseudo-random numbers in the range from 0 to (2**31)-1.  The
     period of this random number generator is very large, approximately
     16*((2**31)-1).

 Aber dem Vernehmen nach ist drand48 besser als random ...

 jof

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



neue gebiete (Mesirii, 29. Jun 1995, 22:25:42):
Hallo Leute,
mir faellt grad was ein:
ich war gestern - > vor dem reboot in einem netten neuen gebiet, von dem
selbst ryne nichts wusste. da kam mir die folgende idee. koennte man nicht,
mit man sind die komischen leute gemeint, die immer mit sternenbesetzen roben
rumlaufen, die ankuendigung neuer gebiete/quests einfach weglassen, und so
die restlichen man's dazu bringen mit etwas offeneren augen durchs mg zu
laufen? fuer die erstentdecker koennte es so ne art belohnung geben: etwa
in richtung fernglas, mit dem man (spieler) in andere raeume schauen, kann,
wie genau weiss ich nicht, vielleicht ueber die kurzbeschreibung.

Ein heute vergnuegter
Mesii ;)


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



Karate: Wo ist eigentlich die Rubrik geblieben? (Hawk,  1. Jul 1995, 05:10:45):
Erst mal die Frage nach dem Verbleib der Rubrik Karate.
Bin ich bloed, und die geb es nie, oder bin ich blind, und ich sehe sie
nicht?

Ansonsten ein Kommentar zu den Zeiten zwischen einzelnen Pruefungen.
Es ist ganz einfach: Sie sind zu lang.
Hie bin ich nun: Ein nicht zu aktiver Mudler, der sich
hier gern einmal die Zeit vertreibt. Derzeit auch Karate lernt.
Ich spiele ohne Scripts (tf compilierte bei mir nicht.) und
erwartete eigentlich keine groesseren Wartezeiten. Zumal
ich mir zwischendurch auch schon mal die Zeit nehme
Semira gruendlich zu knuddlen, oder so.
Nun habe ich die Bedingungen fuer den blauen Guertel erfuellt, und da sagt
mir dieser Kofudungsbums doch wirklich,
ich solle nun noch 12 STUNDEN online-Zeit verstreichen lassen,
befor ich eine ruefung ablegen kann.
Hmmmmm. Ist das nicht ein wenig extrem?
Ich kann den Character ja eingeloggt lassen, und mich 'hochideln'.
Aber ist das wirklich der Sinn der Sache? Vor allem:
Andere koenne das nicht.

HAWK, der das hier schon fast in Schmarrn posten wollte.
(Aber vielleicht haette mich dann ja einer missverstanden?) *grins mir eins*.

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



Re: Karate: Wo ist eigentlich die Rubrik geblieben? (Toss,  1. Jul 1995, 18:47:46):
#! rn=Hawk rt=804568245
Hi!

Ich sehe da gar nicht so das Problem in der Zeitbeschraenkung... Du kannst
doch ganz locker schonmal weiter metzeln/ueben, um Dich auf die naechste Stufe
vorzubereiten... normalerweise schafft man die einzelnen Stufen sowieso nicht
innerhalb von 12 online-Stunden, und wenn, dann uebt man halt voraus,
spaetestens in den hoeheren Stufen schafft man den Aufstieg niemals innerhalb
von jeweils 12 Stunden.

Ryne

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



Re: Re: Karate: Wo ist eigentlich die Rubrik geblieben? (Toss,  1. Jul 1995, 18:48:55):
#! rn=Toss rt=804617266
Ah, P.S.: Probier mal den befehl Rubriken, da steht auch die
verlorengegangene Rubrik 'Gilden.Karate' ;-)

Ryne

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



Re: Re: Re: Karate: (Hawk,  1. Jul 1995, 22:08:37):
Hmmm, scheint, als haette Ryne hier den Dreh noch nicht raus :)
HAWK, grinst sich eins ;-)

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



Re^3: Re: Karate: (Toss,  1. Jul 1995, 22:20:35):
#! rn=Hawk rt=804629317
Hae ?

Hab ich wirklich nicht, muss mir jetzt mal einer erklaeren - was hab ich
nicht verstanden ?

Ryne
- wuerde gern mitgrinsen ;-)

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



Weg Polar - Friedhof (Toss,  2. Jul 1995, 18:33:43):
hi!

also, ich weiss nicht wie es anderen geht, aber ich hab schon immer einen weg
von polar zum friedhof vermisst. Frueher war das auch halb so wild, da ja nix
los war dort, aber seitdem sich in polar einiges tut, ists doch etwas muehsam,
wenn man am friedhof ist, nach polar rueberzukommen, insbesondere, weil es am
friedhof auch immer noch kein seherportal gibt...

JA, ich weiss, dass es bereits einen weg gibt, durch die tundra, aber hat
sich mal einer der Magier angeschaut, wo der lang fuehrt ? - da hat mans
kurzer durch den wald, also, das ueberzeugt noch nicht so recht..

Vielleicht kann man das ja mal in angriff nehmen.

Ryne

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



Re: Weg Polar - Friedhof (Boing,  2. Jul 1995, 19:10:00):
#! rn=Toss rt=804702823
Nur zur Info ... der Friedhof ist Teil des Polargebietes, genau wie
der Hexenwald ...
   Boing

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



Re: Re: Weg Polar - Friedhof (Toss,  2. Jul 1995, 20:04:20):
#! rn=Boing rt=804705000
Umso schlimmer, wenn der kuerzeste weg zwischen friedhof und der Kreuzung
suedlich von schrumpfis gruft - beides polar - immer noch 34 raeume betraegt.
find ich einfach im vergleich mit den anderen wegen hier uebertrieben, und ist
unlogisch, da friedhof und die gegend um die gruft/masseur geographisch (nach
meinem verstaendnis) direkt aneinander grenzen.

Ryne

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



Etwas geht um! (Bloodyharry,  3. Jul 1995, 01:15:12):
Ich finde es nicht gut das Zweities von Etwas bestohlen wird. Wenn
Ehrlichkeit hier derart belohnt wird, muss man wohl andere Wege gehen?

verwundert, Bloody Harry (reicht immer noch die Rente ein..)

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



Re: Etwas geht um! (Ulo,  3. Jul 1995, 02:11:24):
#! rn=Bloodyharry rt=804726912
Hallo!

Dass Dein Zweitie bei der Begegnung mit Etwas etwas Geld verloren hat,
liegt nicht daran, dass Du ihn als Zweitie gekennzeichnet hast, sondern
daran, dass er gewisse Kriterien erfuellt hat, die wirklich nur Bankzweities
hinkriegen.
Ich hab im File nachgesehen, da wird wirklich nicht nach Zweitie abgefragt,
denn das waere ja auch nicht im Sinn der freiwilligen Zweitiemeldung.
Das was Deinem Zweitie passiert ist, kann jedem hirnlosem, ungeschicktem
Spieler ohne Abenteuer, Erfahrung oder Ausdauer, der kraeftig genug ist,
viel Geld herumzutragen (einem Bankzweitie halt) passieren.

Fazit: Ehrlichkeit wird nicht bestraft, nur Dummheit (die des Zweities)

Ulo.

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



Re: Re: Etwas geht um! (Ulo,  3. Jul 1995, 02:14:06):
#! rn=Ulo rt=804730284
Nein, nicht schlagen!
Ich habe nicht Bloddyharry Dummheit unterstellt, sondern seinem
Zweitie!!!!!!!!

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



Gildenueberblick zu bekommen? (Khidar,  3. Jul 1995, 06:21:41):
Koennte mal bitte ein Magier (wieder) mal einen Ueberblick ueber die
angekuendigten Gilden, deren Eigenschaften und Programmierzustand geben?

Danke im Voraus,
Khidar.

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



Re: Re: Etwas geht um! (Romili,  3. Jul 1995, 07:46:44):
#! rn=Ulo rt=804730284
Hiho,

natuerlich wird hier ehrlichkeit bestraft.

zur zeit kann man bankzweities in der regel einfach erkennen und das
finde ich auch gut so. man kann an die spieler apellieren, ihre bank-
zweities nicht dauernt eingeloggt und rumstehen zu lassen.
was glaubt ihr passiert in naechster zeit ... bankzweities werden
jetzt mehr zaubertraenke suchen und durch ein paar quests gejagt, damit
sie nicht mehr auffallen.

hier wird die ehrlichkeit der spieler bestraft, die ihre bankzweities
als solche kennzeichnen.

romili

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



Re^3: Etwas geht um! (Jaf,  3. Jul 1995, 16:30:08):
#! rn=Romili rt=804750404

Ahm... zum Thema 'Bankzweitie'. Wenn das Geld in der Truhe im Seherhaus
reboot- und crashfest waere (ungefaehr so, wie ein Bankzweitie :) ),
wuerden meiner Meinung nach weniger Bankzweities runlaufen bzw. ueberhaupt
existieren. Das wuerde wohl auch resourcen schonen...

Oder denk ich wieder mal zuviel?

Jaf.

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



Re: Re: Etwas geht um! (Lwaxana,  3. Jul 1995, 17:35:46):
#! rn=Ulo rt=804730284
Frage: welche bedingungen erfuellen bitte Bankzweities? Mein McCoy ist auch
schon beklaut worden, dabei hat der einen sehr niedrigen Kraftwert, kann also
eh nicht viel tragen.... trotzdem ist er beklaut worden.... hmmmm

Lwaxana *gruebelnd*

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



erhoehen in der gilde (Reinelde,  5. Jul 1995, 01:23:26):
hi mags

eben in der gilde:

>kosten
Du koenntest Deine Stufe erhoehen.
>erhoehe
Dir fehlen noch Abenteuerpunkte. Loes doch erstmal noch ne Quest, ok?


ich weiss, dass die zweite antwort stimmt. aber die ntwort bei kosten
ist schon seltsam

reinelde

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



Aenderungen beim unt <monster> (Morgoth,  6. Jul 1995, 13:19:56):
Hi,
ich hab ne grundlegende Sache aufgewuhlt....
Ich finde es nervig, wenn ich im kampf unt monster mache und mir dann den
ganzen suelz anschauen muss, nur weil ich wissen will, wies ihm geht.
mein vorschlag : im kampf die monsterbeschreibung auf seinen 'lp-status' zu
reduzieren !!!
bitte um eure meinung, weil jof es schon als 'nicht fuer sinvoll' erklaert
hat und meint ' es ist absolut zumutbar, die beschreibungen zu lesen'

ich hoffe ich stehe nicht alleine
Morgoth (will die goetter mal wieder fordern)

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



Re: Aenderungen beim unt <monster> (Wargon,  6. Jul 1995, 13:23:00):
#! rn=Morgoth rt=805029596
Ich stimme Jof da voll zu. Da man im Kampf eh tausende von "Du greifst Bla
an", "Bla greift Dich an"-Zeilen zu sehen bekommt, machen die paar Zeilen
Monsterbeschreibung eh nix aus. Im Gegenteil: dadurch geht so eine einzelne
LP-Zeile nicht ganz unter (vor allem, wenn der Teddy mit seinen
HP/MP-meldungen dazwischenquakt).
  Wargon

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



Re^5: Bernhardiner toeten (Bambulko,  6. Jul 1995, 13:35:51):
#! rn=Yantro rt=805012528
Ich glaub Wegscriptler wuerden sich eher dran gewoehnen als die anderen
spieler

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



Re^6: Bernhardiner toeten (Asmodis,  6. Jul 1995, 14:04:19):
#! rn=Bambulko rt=805030551
genau, fuer wegscriptler ist der weg ueber das gebirge wohl genausoschnell !
:)

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



Re: Aenderungen beim unt <monster> (Snuggle,  6. Jul 1995, 14:48:37):
#! rn=Morgoth rt=805029596
Im Kampf beim unt (monster) nur die lps anzuzeigen fuehrt bei anggressiven
viechern dazu, nie die beschreibung angezeigt zu bekommen..lass es mal wies
ist.

YT Snuggle

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



Re^4: Bernhardiner toeten (Toeter,  6. Jul 1995, 14:55:14):
#! rn=Dancer rt=804985769
Kompromissvorschlag:

>toete bernhardiner
Der Bernhardiner fluechtet jaulend vor Dir ueber den Pass, blutruenstig
schreiend folgst Du ihm.

Waer zumindest realistischer, ausserdem spart man dann ein ali
(ali t toete alle == folge hund)
  Toeter@schmarrn.

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



Tour de Mud (war re^57 echoall) (Snuggle,  6. Jul 1995, 14:59:49):
Hmm, damit die Fussgaenger mal zeigen koennen, was sie draufhaben.
Damit die Wegescriptler mal sehn, wie gluecklich sie eigentlich ueber ihre
Macros sein koennen und schliesslich
als Ortskenntnistest fuer Magier und idelnde nichtexistente Wesen.

Wie waere es mit einer Tour durchs Morgengrauen, die ueber bestimmte Punkte,
an denen man vorbei muss, von A nach B durch alle Gebiete fuehrt?

Es kann sich jeder vorher umsehn, aber der genaue Weg wird erst beim Start
bekanntgegeben. Fuer die ersten gibts vielleicht auch ein paar Kleinigkeiten
zu gewinnen, oder so.
~

YT Snuggle, ueberzeugter Fussgaenger- spinnt den Gedanken mal weiter :-)

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



Re: Re: Aenderungen beim unt <monster> (Morgon,  6. Jul 1995, 15:01:10):
#! rn=Snuggle rt=805034917
Wie waere es dann das in den Teddy einzubauen?
z. B. 202 LPs 202 MPs Enemystatus: geschwaecht

In irgendeinem Hack'n'Slay gibt es das so....

Nur ein Vorschlag....
MORGON!

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



Re: Neuer Zufallsgenerator (Caradhras,  6. Jul 1995, 16:14:03):
#! rn=Rudiratter rt=804323115
Ich verlier den Glauben mit, Rudi, denn gestern bin ich gestorben
als die Fluchtrichtung in die falsche Richtung losging. Und das, obwohl
ich mit level 30 doch eigentlich zu 100 Prozent in die richtung
fliehen sollte die ich angegeben habe. Dachte ich zumindest.
War ein Bug. :-( Bin ich aber erst heute drauf gekommen dass es
so war denn es war gestern schon ziemlich spaet in der Nacht.
*seufz*

                Caradhras - an bugs sterbend

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



stats (Handi,  6. Jul 1995, 18:55:14):
Jetzt wo es verschiedene gilden gibt koennte man doch auch eine neuanpassung
der stats machen:Wie waere es wenn man jetzt nich mehr die hHoehe der Werte
pro Attribut , sondern nur noch die Gesamtanzahl der zu findenden
Zaubertraenke
begrenzt,dann koennte sich jeder seinen Charakter nach den Erfordernissen der
entsprechenden Gilde anpassen(zb.Karate:Intelligenz 30[D[D[D:30 , Kraft:10 ,
ausdauer[D[3~[2~:30 , Geschicklichkeit:10)
(PS.:Ich weiss das Ausdauer gross geschrieben wird,ich konnte es nur nicht
mehr aendern wegen dem bloeden editor)

Handi

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



Kleine Aenderung bei den Laeden (Jof,  6. Jul 1995, 21:33:08):

 Die Haendler in diesem Mud sind etwas intelligenter geworden, irgendwer hat
ihnen was von "Angebot und Nachfrage" erzaehlt... Sie wenden das allerdings
nur an, wenn ihr ihnen was verkaufen wollt. Wenn sie nicht den vollen Preis
zahlen wollen, fragen sie nach - ausser bei 'verkaufe alles' oder dem
neuen Befehl 'versetze', hier wird jeweils der gebotene Preis einfach
akzeptiert. Mal sehen, wer besser dabei faehrt, ihr oder die Haendler :)

 Ihr werdet das ja wohl hier berichten :)

 jof

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



Re^7: Bernhardiner toeten (Mystix,  6. Jul 1995, 21:38:35):
#! rn=Asmodis rt=805032259
Ich weiss garnicht, was diese Diskussion ueber das Toeten des Bernhardiners
soll. Wenn ein Spieler einen "wichtigen" NPC umbringt und somit andere
Spieler vom Questen abhaelt (siehe Mecki u.a.) und man stellt ihm die Frage,
warum er so egoistisch den anderen (zumeist Anfaengern) den Spielspass ver-
dirbt, dann bekommt man regelmaessig die Antwort: Wenn der Magier gewollt
haette, das man diesen NPC nicht toeten kann, dann haette er dies auch
eingebaut. Muss hier denn jeder NPC zu toeten sein? Ich finde nicht. Wenn
man einem NPC zu viele LE gibt, dann ist er ein ideales Trainingsmonster -
also muesste man ihn so stark machen, dass er sich mit wenigen Schlaegen
seine Haut bestens wehren kann - dies trifft dann leider meistens nur
Unwissende, da die ihre Vorsicht nicht hoch genug eingestellt haben.
Wenn ich die Wahl habe, ob ich einen NPC absolut ueberstark mache oder
einfach unangreifbar, dann entscheide ich mich fuer letzteres - und schon
allein der Gedanke, den Bernhadiner zu toeten, halte ich fuer eine absolut
spielverderbende Idee - was kommt denn dann als Naechstes? - Kanonen, mit
den man die Schiffe versenken kann oder Zieluebungen auf die Postkutsche
veranstalten kann.

Mystix - stellt sich schuetzend vor einen Teil seiner NPCs

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



Re: Re: Aenderungen beim unt <monster> (Jaf,  7. Jul 1995, 00:38:55):
#! rn=Wargon rt=805029780

Naja, ich faende es schon praktisch, wenn einiges mehr im MG
Spieler-konfigurierbar waere, zB ob man nur sehen will, wie's dem
Monster geht oder ob man zwanzigmal denselben Schmus (sorry :) )
lesen will.

Ein 'normaler' Kampf produziert ganz schoenen Muell (ist mir neulich
wieder mal aufgefallen, als ich mit 'normalem' telnet drin war),
waere vielleicht auch ganz gut, wenn die Spieler entscheiden koennten.
ob sie die 'Du greifst mit...an' und '<monster> greift mit... an'
sehen wollen... Das wuerde auch die Netzlast ein bisschen druecken,
auf jedenfall ist es Bloedsinn, wenn es uebertragen wird, und die
tf-Spieler das sowieso raus-/gag-gen...

jmho, Fyt.

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



Re: Aenderungen beim unt <monster> (Silvana,  7. Jul 1995, 07:54:03):
#! rn=Morgoth rt=805029596
Klasse, der Vorschlag. Kann man ne Menge Zeit mit sparen. Wunderbar, dann
brauchen wir uns ja keine Beschreibungen mehr aus den Fingern saugen. Einfach
Monster 1 - 32LP und fertig. So geht das Programmieren schnell. Dann
als Raumbeschreibung noch 'drinnen' oder 'draussen' und schon ist
das mud fertig. Hach, so laesst sich's leben. 150 Raeume am Tag - kein
Problem - auch ohne VC.
Voellig begeistert - Silvana
PS: Falls es jemand nicht bemerkt hat: IRONIE OFF!

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



Re^3: Aenderungen beim unt <monster> (Silvana,  7. Jul 1995, 07:59:52):
#! rn=Morgon rt=805035670
Und was machst Du im Kampf gegen mehrere Monster? Alle hintereinanderhaengen?
Das gibt nen Lag, wenn Du gegen hunderte von Wuermern oder Spinnen
kaempfst....
Aber nur einen zufaelligen anzuzeigen, waere geradezu irrefuehren...
Silvana - just some more pennies

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



Re^8: Bernhardiner toeten (Asmodis,  7. Jul 1995, 09:36:30):
#! rn=Mystix rt=805059515
Ja, Kanonen waeren nicht schlecht, aber ich denke, irgendwann kommen
sowieso die Piraten??
Fuer die Postkutsche waeren Handgranaten eher angebracht, kann man
dann so schoen reinwerfen, und wer nicht schnell genug rausspringt,
der hat Pech gehabt :)

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



Re^3: Aenderungen beim unt <monster> (Dancer,  7. Jul 1995, 10:46:36):
#! rn=Jaf rt=805070335
Mal abgesehen, dass ich mich genauso wie Silvana dagegen wehre, aus dem
MUD ein simples Zahlenhin- und hergeschiebe zu machen, wuerden die vielen
Abfragen, wie der Spieler denn jetzt seinen Kampfbildschirm genau konfiguriert
hat, mehr Probleme bereiten als die jetzige Netzbelastung.

Dancer


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



Re: idee (Calum,  8. Jul 1995, 10:25:29):
#! rn=Garfield rt=805164923
Hmm, im Prinzip eine gute Idee. Technisch koennte es da
allerdings ein paar Probleme geben: Erstens muesste das Kneipen-
system geaendert werden (zur Zeit sind Speisen etc. keine
Objekte, daher kann man sie auch nicht untersuchen), und
zweitens muessten in saemtlichen Kneipen im MG diese
Beschreibungen eingebaut werden.

Frage: Wer soll die ganze Arbeit machen? :-)

  EOS - YTCoM

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



Re: Re: idee (Dancer,  8. Jul 1995, 10:29:25):
#! rn=Calum rt=805191929
Wieso System aendern? Wie waers mit einem stinknormalen Raumdetail :)
Ach so ja..und: dummerweise kenn ich mich ja gaaaaar nicht mehr aus im MG
und entfalle somit fuer die Wahl des 'Ich-beschreib-alle-Speisen-und-
Getraenke-des-Morgengrauens-Deppen'..aeh...'..-Koenigs'...:)

Dancer


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



Re: idee (Schrumpfi, 10. Jul 1995, 19:20:19):
#! rn=Garfield rt=805164923
In meiner Gruft reicht fragen, dann weisst Du es. :-)
Schrumpfi

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



zweities (Toss, 11. Jul 1995, 05:19:54):
hi!

ich sehe den grund fuer die ganze panik nicht... zweities waren noch nie
besonders beliebt, aber sie waren nie - und werden es aus gruenden der
ueberpruefbarkeit auch nie sein - verboten. ich hoffe nicht, dass sich unsere
magier jetzt die wertvolle zeit damit verbringen, sich den kopf zu zerbrechen,
wie man zweities aus dem spiel halten kann; das funktioniert nicht, und wir
nur geeignete "gegenmassnahmen" der spieler zur folge haben.
Das allerdings soll nun nicht heissen, dass ich der meinung bin, man solle
zweities ohne wenn und aber tolerieren. ich finde es auch extrem schade, wenn
leute hier meinen, sie braeuchten nicht mit anderen spielen, weil sie ja ihre
zweitie-armee haben. Und ein mangel an kollegialitaet ist sicher auch nicht
der grund fuer die ausbildung von zweities. eher andersrum: die unkollegialen
haben sich schon fruehzeitig zweities gebastelt, und dann mit denen im team
gemetzelt. wers braucht, bitte.
ich bin der meinung, jeder kann sich soviel zweities machen, wie er will. er
muss nur - und das soll ein aufruf an alle spieler sein - zusehen, dass er
dabei nicht aus den augen verliert, was MUD heisst, und dann mit einem seiner
spieler metzeln, und nicht mit mehreren. ich finds aber voellig in ordnung,
wenn man z.B. einen zweiti in der gilde stehen hat, waehrend man mit dem
erstie woanders metzelt. 2 sachen gleichzeitg wird man ja wohl noch auf die
reihe kriegen. oder zeitungsartikel schreiben, waehrend der erstie metzelt.
ist leider mein job. und mein chef weiss auch, dass er niemals die zuegel
schleifen lassen darf. ansonsten verselbstaendsigt sich der zweiti, und das
fuehrt - wie einige beispiele hier ja zeigen ;-) - dazu, dass der rl-charakter
hinter dem tf-fenster zusehends unter einer persoenlichkeitsspaltung leidet.
aber das ist dann sein prob ;))

hossa, was fuer ein wunderbar langer artikel zu o spaeter - frueher -
irrsinniger - stunde.

Ryne
 - unterschreibt die artikel seines zweities immer noch selbst. und meckert
ihn fuer die typos an -
p.s.: nein, ich leide NICHT unter persoenlichkeitsspaltung - noch nicht.....

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



Wolpertinger vorschlag....(nicht haun) (Morgoth, 11. Jul 1995, 10:18:12):
Hi,
so auch auf die Gefahr hin, dass ich erschlagen, gezappt und gebanisched
werde....mein vorschlag.
Wie waere es mit nem Wolpie, der einem beim Kampf helfen kann(jaja, olle
kamelle). AAAAABER, wenn er stribt, muss man sich wieder einen 'neuen' machen,
so wie bei der quest. ausserdem altert der wolpie und stirbt vielleicht auch
mal an altersschwache? neue wolpies sind dann natuerlich viel zu schwach, um
vernuenftig helfen zu koennen. wer dieses also in anspruch nehmen will, muss
seinen wolpie erst wieder mit orks und ratten hochzuechten....
ich stell mir grade cara* und ryne mit nem baby-wolpie vor, wie sie
schmetterlinge auf der HE killen(lach).
ok....ich vermute, dass mich jetzt jeder zweite(nicht zweiti) anflamed....
Morgoth

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



Schmuck !c Alles ? (Yendi, 11. Jul 1995, 13:26:55):

Hat das einen besonderen Grund, warum bei "trage alles" der Schmuck nicht
mitkommt?


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



Re: Schmuck !c Alles ? (Wargon, 11. Jul 1995, 13:28:01):
#! rn=Yendi rt=805462015
Ja.
Der Schmuck hat eine eigene "Anzieh"-Routine, und die fragt nicht
auf "alles" ab.
  Wargon

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



Re: Re: Schmuck !c Alles ? (Yendi, 11. Jul 1995, 13:36:07):
#! rn=Wargon rt=805462081

Hmmm... Kann man das mal aendern? Oder waere das unerwuenscht?

Anakin?


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



ver kaufe alles (Handi, 11. Jul 1995, 13:38:37):
wie waere es mit einem befehl verkaufe alles ausser... das waere einfacher
denn man koennte ein alias befehl schreiben der alles verkauft ausser die
sachen,die man immer als uasruestung behalten will denn es ist sehr
nervend,wenn man  oefters mal eine metzeltour macht und ann das gesamte gut
einzel verkaufen muss oder die sachen die mann behalten will(siene ruestung
und seine waffen)erstablegen muss

handi

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



Re: Re: Weg Polar - Friedhof (Grimmborn, 11. Jul 1995, 14:52:31):
#! rn=Boing rt=804705000
Weils so lange her ist, hier die Wiederholung:
"Boing" schrieb:
Nur zur Info ... der Friedhof ist Teil des Polargebietes, genau wie
der Hexenwald ...
   Boing

Damit waere der Friedhof unter /d/polar zu finden? Ist ja hochinteressant...

Grimmborn der Atheist. Hat vorhin (vergeblich!) die SSP unter /players/boing
gesucht...

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



Re^3: Weg Polar - Friedhof (Boing, 11. Jul 1995, 15:12:00):
#! rn=Grimmborn rt=805467151
Der Anschluss ist tatsaechlich unter /d/polar zu finden.
  Boing

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



Re^3: Schmuck !c Alles ? (Kaenguruh, 11. Jul 1995, 15:56:06):
#! rn=Yendi rt=805462567
Ich hoffe mal, es hat noch keiner in Angriff genommen...
Da ich sowieso zur Zeit am Schmuck rumprogge werde ich
das mal machen.

  Kaenguruh - heute mal spieler- & seherfreundlich

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



Re^4: Weg Polar - Friedhof (Grimmborn, 11. Jul 1995, 16:22:36):
#! rn=Boing rt=805468320

Und Amerika gehoert zu Europa? Weil doch der Atlantik auch in Europa
anfaengt...

Mit einer Einbildung diskutierend,
                                   Grimmborn der Atheist

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



Emote-Erweiterung (Toeter, 12. Jul 1995, 20:18:44):
Hi,
um das emote etwas zu verbessern, hab ich mal ein paar Optionen eingebaut.
Man kann jetzt einem Spieler, der neben einem steht, einen gesonderten
Text zukommen lassen, wie bei normalen Verben. Man gibt dazu

   :<text>#<name>#<text2>#<text3>   ein,

dann sieht <name> <text2> und man selbst sieht <text3>, waehrend der Rest
<text1> auf den Bildschirm bekommt.

Beispiel:

 :haut Khorne.#khorne#haut Dich.#Du haust Khorne eine rein.

Dann sieht Khorne 'Toeter haut Dich.', ich sehe 'Du haust Khorne eine rein.'
und alle anderen sehen 'Toeter haut Khorne.'

Analoges gilt fuer das Genitiv-emote ';'.
     Toeter.

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



Re: Emote-Erweiterung (Baboon, 12. Jul 1995, 20:33:14):
#! rn=Toeter rt=805573124
Und ab wann wird das wirksam? Etwa nach dem naechsten reboot?
Dann kann es ja nicht mehr lange dauern, bis es uns zur Verfuegung steht. :-)

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



Re: Re: Emote-Erweiterung (Wargon, 12. Jul 1995, 20:43:28):
#! rn=Baboon rt=805573994
Fast. Geh in Dein Haus, schliess hinter Dir ab, tipp "ende" und log Dich neu
ein. Voila!
Typische Seherfrage, tststs... ;)
  Wargon

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



Re^3: Emote-Erweiterung (Anakin, 13. Jul 1995, 11:35:28):
#! rn=Wargon rt=805574608
WAS? Ende machen? Und mein Schuppenpanzer ist dann wieder wech.
Ne, Ne Wargon. SO Nicht.

Anakin :)

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



Re^4: Emote-Erweiterung (Highlander, 13. Jul 1995, 11:44:02):
#! rn=Anakin rt=805628128
Wieso sollte der dann weg sein? Wenn Du ihn im Haus liegen laesst, wird
ihn wohl keiner in der Zeit klauen, die Du brauchst, um Dich wieder
einzuloggen. Sollte er sich verfluechtigen, sobald man ihn wegwirft,
bitte diesen Artikel als gegenstandslos betrachten :>
   Highlander

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



Re^5: Emote-Erweiterung (Cuchullin, 13. Jul 1995, 12:05:34):
#! rn=Highlander rt=805628642

High all.

Eigentlich wollte ich es nicht tun (das hier zu schreiben), weil mir ewige
Diskussionen gegen den Strich gehen. Aber es scheint mir doch nicht ganz
unwichtig zu sein. Deswegen das Folgende.

Ich bin GEGEN die Emote-Erweiterung.
Mag sein, dass es eine witzige Sache ist - man kann sich quasi selbst
Verbaliasse anlegen, toll, wirklich. Aber die Moeglichkeit des Missbrauchs
sollte man gerade hier nicht vergessen!
Es wird ganz bestimmt wieder den einen oder anderen Seher geben, der dann mit
Hilfe des Emotes Leute umbringt, weil es es lustig findet. Ein Spieler fragt
nach irgendwas. Der Seher steht dabei und sagt eine Antwort. Doch leider
leider war das ein Emote, und der Frager herhaelt eine toedliche Antwort
("klar kannst Du das Runenschwert zuecken! Elf ist Elf."). Schwupps, ein Toter
mehr. Wenn der sich dann beschwert, steht er alleine da, weil alle anderen im
Raum gesehen haben "<name_des_sehers> sagt: Machs lieber nicht, Du gehts
leicht dabei drauf!".
Oder vielleicht aus dem Kapitel Zaertlichkeitenaustausch...?
Moeglichkeit I : alle bis auf das Opfer sehen eine harmlose Meldung und
wundern sich ueber den Wutausbruch bzw. die Empoerung des Opfers.
Moeglichkeit II: Alle bis auf das Opfer sehen eine total schweinische,
abgefahrene - eigentlich absolut nicht jugendfreie und penthouse-wuerdige -
Tat. Grosses Erstaunen, dass das Opfer sowas mit sich machen laesst, dabei
noch gluecklich laechelt.

Nein Leute, not gutt. Wenn Mitspieler, die im selben Raum stehen, nicht mehr
als Zeugen fungieren koennen (Bei Teile-Mit gibts gar keine - auch keine
falschen, und das ist ja Absicht), geht mir das ueber die
Kristallkronenschnur.
Lieber Highlander Feuer unterm Gesaess machen, damit er einen Haufen neuer
Standard-Verben (a la kraule, herze, vergenusswurzle, brumme und so weiter)
implementiert. Aber den Spielern (und vor allem den Sehern - welche bestimmt
nicht alle vernuenftig sind, wie was das mit ">" vor dem Echo?) sowas moeglich
zu machen... ?!?

Es ist nett, Toeter, danke, aber ich find's ungeschickt.

- cuch -


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



Re^6: Emote-Erweiterung (Orktoeter, 13. Jul 1995, 12:20:27):
#! rn=Cuchullin rt=805629934
Hmm leider hat Cuch da wohl recht, dem Missbrauch ist Tuer und Tor geoeffnet,
leider.

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



Re^6: Emote-Erweiterung (Reinelde, 13. Jul 1995, 12:20:38):
#! rn=Cuchullin rt=805629934
hmmm,

jetzt bin ich etwas verwirrt. auf die ideen die du da so vorstellst waer
ich so ohne weiteres gar nicht gkommen. aber muss man immer gleich alles
abschaffen, bloss weils wer missbrauchen koennte?

reinelde - wie immer viel zu naiv

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



Re^6: Emote-Erweiterung (Jof, 13. Jul 1995, 12:47:33):
#! rn=Cuchullin rt=805629934

 teile <elf> ,mit klar kannst Du das Runenschwert zuecken! Elf ist Elf.

 Wo ist der Unterschied zum neuen Emote? Das ging also immer schon.

 Jof

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



Re^7: Emote-Erweiterung (Caradhras, 13. Jul 1995, 12:55:03):
#! rn=Jof rt=805632453
Auf den Rest der Moeglichkeiten von Cuch bist du damit aber noch nicht
eingegangen, Jof. Wie stehts damit?

    Caradhras - auch naiv, kennt aber einige die nicht so sind

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



Re^8: Emote-Erweiterung (Boing, 13. Jul 1995, 13:15:34):
#! rn=Caradhras rt=805632903
Ich kann die Bedenken von Cuch schon teilen, allerdings denke ich,
dass man der Sache einen Versuch goennen kann. Wenn sich Beschwerden
haeufen, dann muss man es halt wieder ausbauen.
  Boing

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



Re^6: Emote-Erweiterung (Asmodis, 13. Jul 1995, 14:25:40):
#! rn=Cuchullin rt=805629934
ich finde auch, man sollte dieses spezielle emote erst ab einem
bestimmten Level freigeben, sonst kommt da wieder jeder dahergelaufene
Stoerenfried an und macht Unsinn !!!
So ab level 10 vielleicht .

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



Re^7: Emote-Erweiterung (Kaenguruh, 13. Jul 1995, 14:28:02):
#! rn=Asmodis rt=805638340
An sich keine schlechte Idee, ich bin auch nicht
ganz unvorbehalten gegenueber dem neuen Emote.
Aber Level 10? Wie waers mit Seherprivileg? :)

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



Re^7: Emote-Erweiterung (Jaf, 13. Jul 1995, 14:33:04):
#! rn=Asmodis rt=805638340

u
sw
u
Hm, ich fuerchte, der Hund :) hat recht. Und Freigabe ab Level 10... also
ich weiss nicht, die Besserverdienenden sind nicht unbedingt vernuenftiger...
Und ausserdem kann man doch auch mit dem alten Emote rumspielen, das wirkt
zwar nicht so professionell wie mit dem neuen Vorschlag, aber mir hat's bis
jetzt gereicht.

Vielleicht 'n anderer Vorschlag: wie waer's mit einem neuen Befehl 'verb',
ra
ende
also:  'verb <was> <wen> /<wie>' bringt
1. bei sich selber:  Du <was>t <wen> <wie>
2. bei <wen>      :  <ich> <was>t Dich <wie>.
3. bei anderen    :  <ich> <was>t <wen> <wie>.

Damit muessten doch beide seiten zufrieden sein, oder?
Das Ding wirkt wie ein normales Verb, ist also nicht 'missbrauchbar'
und fuer <was> kann man nehmen, was man will...

Fyt.

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



Re^8: Emote-Erweiterung (Cuchullin, 13. Jul 1995, 14:39:26):
#! rn=Jaf rt=805638784

Es geht hier _explizit_ um die Seher, weil nur sie wirkungsvoll Bloedsinn
machen koennen, denn eben diese haben kein ">" vor ihrem Emote. Also bringt
das _gar nichts_, wenn man den emote erst ab Level 10 oder als Seher bekommen
kann.
Das Teile-Mit, um Jofs Aussage zu entkraeften, war schon immer Privat, da
weiss man, dass man der Einzige ist (von Snoops abgesehen), der das liest.

- cuch -


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



Re^8: Emote-Erweiterung (Yendi, 13. Jul 1995, 16:06:40):
#! rn=Jaf rt=805638784

Jau! Genial! Jeder macht sich seine eigene Verben-Liste, analog zu Adverbien!

Highlander, frisch ans Werk, lass die normale Seele ruhen, die braucht bald
sowieso keiner mehr!

Hoert sich gut an...   :)

YTYdW

Ach so, was Toeters emotes angeht:
Tolle Idee, aber das ist wirklich etwas gefaehrlich.
Und die Stufe ist heutzutage wirklich kein Kriterium mehr fuer Weisheit und
Abgeklaertheit -- was war der Zeitrekord fuers Seherwerden? 2 Tage?
Also neee... da kann man doch von keinem erwarten, dass er den wahren
MUDder-Geist besitzt und sich benimmt.
Oder?


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



Re^9: Emote-Erweiterung (Nixihou, 13. Jul 1995, 17:52:14):
#! rn=Cuchullin rt=805639166

ne bloede frage::
da das urspruengliche emote eine questbelohnung war, warum sollte das
neue emote nicht auch eine questbelohnung sein. zB titiwu, oder sam harkwind

nixihou (dumme gedangen habend)

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



Re^9: Emote-Erweiterung (Asmodis, 13. Jul 1995, 19:12:42):
#! rn=Yendi rt=805644400
Vielleicht vergisst du, dass derjenige mit sicherheit ein Zweitie ist :)

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



Re^9: Emote-Erweiterung (Schrumpfi, 13. Jul 1995, 20:36:52):
#! rn=Boing rt=805634134
Ja, der Meinung bin ich auch. Bin auch fuer Seherprivileg, da man ja die
Geschichten mit den Anfaengern und den Mistmachen kennt, wenn nicht
Seherprivileg dann auf jeden Fall erst ab Level 15
Schrumpfi

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



Re^(n+1): Emote-Erweiterung (Toeter, 14. Jul 1995, 11:39:02):
Also, noch mal was zur E-E.: Ich muss zugeben, dass mir erst nach laengerem
Nachdenken ein nicht-missbraeuchliches Beispiel (also eins, wo sich Text an
Umstehende und an Opfer nicht wiedersprechen) eingefallen ist ;) Ich denke
aber, dass die Missbrauchsmoeglichkeiten des erweiterten emotes nicht viel
hoeher sind, als die des echos und des Seheremotes, und diese sind laecher-
lich harmlos gegenueber den Moeglichkeiten des nichtueberpruefbaren(!) Miss-
brauchs von snoop und echoto/echoall, den Magier haben, und jeder (noch so
niedertraechtige) Seher ist schliesslich potentieller Magier. Wie man mit
dem Verhaeltnis Moeglichkeiten/Missbrauch umgeht ist zwar Geschmackssache,
aber ohne guten Willen vorauszusetzen kann man dem Spieler wohl kaum mehr
als Kampf- und Bewegungsbefehle zutrauen. Zur sozialen Komponente des MUDS
gehoert aber meiner Meinung auch gerade, dass man sich mit Missbrauch
und den dazugehoerigen Uebeltaetern auseinandersetzt, ... ist ja in RLmud
nicht viel anders.
Soviel zu meiner persoenlichen Meinung, sollte es nun aber tatsaechlich zu
Ausbruechen von Panik & Paranoia kommen, so kann man dem (Seher)emote (und
dem bisher in der Hinsicht noch nicht bemaengelten echo) noch ein '>', '#'
oder '###ACHTUNG! <XXX> MACHT EIN EMOTE!!!###' ;) voranstellen. Aber schaumer
erstmal.
   Toeter.

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



Re: Re^(n+1): Emote-Erweiterung (Highlander, 14. Jul 1995, 12:30:31):
#! rn=Toeter rt=805714742
Der Unterschied zwischen Spielern und Magiern ist aber, dass Magier sich
verpflichtet haben, nicht ins Spielgeschehen einzugreifen, und echos mit
Vorspiegelung falscher Tatsachen sind ein Verstoss gegen die Regel.
Nun ist das nicht so, dass wir einen niedermachen,
wenn er Spass damit macht, aber die Betonung liegt auf Spass! Sollte einer
z.B. eine "Du hast jetzt 200 HP"-Verarschung loslassen und einer geht
deswegen zu einem Monster, das ihm ueber ist, waere das nicht gut.

*schraub*
   Highlander

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



Re: Re^(n+1): Emote-Erweiterung (Asmodis, 14. Jul 1995, 15:26:08):
#! rn=Toeter rt=805714742
Wieso sind echoto/echoall und snoop nichtueberpruefbar?
Wird das in diesem MUD nicht irgendwo geloggt ??
Wuerde mich wundern.

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



Re: Re: Re^(n+1): Emote-Erweiterung (Jof, 14. Jul 1995, 16:19:29):
#! rn=Highlander rt=805717831
 Eine 'Du hast jetzt 200 HP'-Verarschung kann niemand loslassen, da (wie
beim
normalen Emote) der Name des Emotenden ganz vorn steht. Ich koennte also eine
'Jof Du hast jetzt 200 HP'-Verarschung starten, aber das konnte ich immer
schon (und wer faellt schon drauf rein?) :))

 jof

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



Re: Re: Re^(n+1): Emote-Erweiterung (Jof, 14. Jul 1995, 16:20:41):
#! rn=Asmodis rt=805728368

 SNOOPs werden geloggt.

 Echos, echotos, echoalls werden nicht geloggt. Stasi-Methoden sollte man
in einem Mud nicht einfuehren, und ausserdem waeren die Logs kindereinfach
zu uebergehen.

 Jof

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



Re^4: Re^(n+1): Emote-Erweiterung (Grimmborn, 14. Jul 1995, 16:24:29):
#! rn=Jof rt=805731653

Nebenbei ist auch das snoop-log zu umgehbar. Nicht mehr KINDEReinfach aber
immerhin.
Nur: Wer will das schon? ;-)

Grimmborn der Atheist
Hauptakteur diverser logs.

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



Re^3: Re^(n+1): Emote-Erweiterung (Highlander, 14. Jul 1995, 16:24:33):
#! rn=Jof rt=805731569
Ist mir schon klar, ich bezog mich ja auch auf Magier, die das _koennen_,
aber nicht _duerfen_.
  HrT

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



Emote-Erweiterung (Grimmborn, 14. Jul 1995, 16:32:29):

Was, sowas kann man missbrauchen? Um Himmels Willen, dem muss ein Riegel
vorgeschoben werden!
Ich fordere daher:
Nur Anwendung von Standardverben ohne Erweiterung, Wegfall des "/".
Konfiszierung aller Waffen (sowas ist gefaehrlich!).
Runtersetzen der Kampfkraft der Haende auf 0.
Ruecknahme aller Moeglichkeiten zu emote und echo. Fuer alle.
Ein rm -r * in / durch einen dazu befaehigten. Sicherster
Missbrauchsschutz...

Sagtmal, Kinder, kommt ihr euch nicht laecherlich vor?

Grimmborn der Atheist. Hat immer die Moeglichkeiten missbraucht, missbraucht
sie und wird sie immer missbrauchen.

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



Re: Emote-Erweiterung (Asmodis, 14. Jul 1995, 17:25:20):
#! rn=Grimmborn rt=805732349
aeh ich will da noch ergaenzen:
Ich fordere dazu Verbot von Bewegung jedweder Art :)

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



Re: Emote-Erweiterung (Cuchullin, 14. Jul 1995, 17:37:06):
#! rn=Grimmborn rt=805732349

Es ist SCHEISSEGAL, wie anstaendig Du bist, Grimmborn. Du bist Magier,
und musst fuer die Scheisse, die Du verbockst, gradestehen. Einem Seher kann
keinem was, er hat nix unterschrieben.
Wenn das Verarschen, Toeten, Rufmorden von Personen fuer Seher so dermassen
einfach gemacht wird, hab ich einen Grund, von hier zu verschwinden. So
gesehen macht ihr das schon richtig.

- cuch -

PS: Hat das Seherecho seit der Sache im Wolpie-Club nicht ein ">" bekommen?
    Und wie bitte war das mit Vernunft? Arschloecher gibts ueberall. Egal,
    ob ich dazugehoere oder nicht.


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



Re: Re: Emote-Erweiterung (Jof, 14. Jul 1995, 19:30:19):
#! rn=Cuchullin rt=805736226

 Mit dem Seherecho konnte ich ein 'Cuchullin sagt: Du bist ein Arsch' faken,
das kann ich mit dem neuen Emote nicht besser als mit dem alten auch. Es
steht
IMMER mein Name davor, man kann also IMMER den Verursacher deutlich sehen.

 Jof

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



Re^3: Emote-Erweiterung (Cuchullin, 14. Jul 1995, 20:21:54):
#! rn=Jof rt=805743019


Solange ich das mitbekomme, was mir untergeschoben wird, kann ich mich
wehren. Und werde das ggf. auch tun.

Wenn ich nur 'Jof laechelt Dich dankbar an.' lese und alle anderen 'Jof sagt:
Bloedes Arsch, schreib doch ne Bugmeldung.' und ich Dir dann freundlich
zunicke, sieht das _etwas_ komisch aus.

- cuch -

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



Re: Re: Emote-Erweiterung (Reinelde, 15. Jul 1995, 02:10:53):
#! rn=Cuchullin rt=805736226
hi cuch,

sei doch bitte nicht paepstlicher als der papst. idioten hat es gegeben,
gibt es und wird es immer geben.

methoden die moeglichkeiten des muds zu missbrauchen hat es gegeben ...

ich sehe nur sehr bedingt ein, warum die deppen der kleinste gemeinsame
nenner fuer die ueberwiegende zahl (der imho vernuenftigen) spieler sein
soll. um jeden unsinn zu unterbinden, musst du wohl jedem spieler nen
bigbrother geben und cat muss eine eigene polizeitruppe aufstellen, die
jeden tag die logs liest.

eine halbwegs liberal und freie gemeinschaft sollte andere mittel und wege
finden die deppen blosszustellen, als verbote und sakntionen.

reinelde - heute mal liberal

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



Emote-Erweiterung (Jaf, 15. Jul 1995, 02:17:06):

Aehm, ich hatte schon mal 'n Vorschlag nach dem Motto

'verb <was> <wen> /<wie>' gemacht... was spricht eigentlich DAgegen?

fyt.


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



finger-erweiterung (Morgoth, 16. Jul 1995, 13:01:50):
ich schon wieder...
wie waers mit einem zusatz fuer das 'finger' und zwar das
RL-geburtsdatum(natuerlich nur wer will). dieses fuerde feten und gruesse doch
etwas hochpushen ? oder ? was haltet ihr davon ???
Morgoth

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



Partybrett (Anakin, 16. Jul 1995, 14:49:59):
Hmm wie waere es wenn beim Partybrett auch noch moeglich waere nach
Orten zu suchen. z.B. partyliste ort berlin zeiht mit alle an die
aus Berlin abfahren. Jetzt die so einzeln raussuchen ist etwas muehsam.

Anakin.

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



Re^4: Emote-Erweiterung (Jof, 17. Jul 1995, 16:14:55):
#! rn=Cuchullin rt=805746114

 Keine Sorge, solche Schweinereien werde ich weiterhin mit echoto machen :)

 Jof

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



Re^3: Emote-Erweiterung (Yendi, 17. Jul 1995, 16:22:04):
#! rn=Reinelde rt=805767053

Gut gesprochen, Reinelde -- das Problem ist nur, dass man mit diesem neuen
Emote die "Idioten" und "Deppen" nicht erkennt!
Stellt euch vor, Andi haette dieses Emote zur Verfuegung gehabt... *zitter*

Also: Ein universal einsetzbares Verb waere toll, aber das sollte die gleiche
Meldung an Zielperson und Umstehende ausgeben.


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



Re: finger-erweiterung (Bloodyharry, 17. Jul 1995, 17:04:28):
#! rn=Morgoth rt=805892510
> wie waers mit einem zusatz fuer das 'finger' und zwar das
> RL-geburtsdatum(natuerlich nur wer will).

Sowas aehnliches hatte ich auch mal bei einem Treffen in Muenster
vorgeschlagen, aber das fand keinen richtigen Anklang.
Ich weiss jetzt nicht mehr so genau warum eigendlich?

ciao
  B.Harry

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



Re^4: Emote-Erweiterung (Rochus, 17. Jul 1995, 17:22:21):
#! rn=Yendi rt=805990924
Du meinst wahrscheinlich "Andy" und nicht "Andi" -
"Andi" ist ein vollkommen harmloser Spieler.

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



Re^5: Emote-Erweiterung (Yendi, 17. Jul 1995, 17:28:08):
#! rn=Rochus rt=805994541

Verzeih mir, Andi -- ja, Rochus, ich meinte natuerlich DEN Andy, wen sonst.
*schuettel* *kreuzchen mach* *knoblauch ess* *unter monitor verkriech*


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



Re^10: Emote-Erweiterung (Gwynwaiter, 17. Jul 1995, 20:12:56):
#! rn=Schrumpfi rt=805660612

Hallo Ihr,

Ich finde das erweiterte emoten super (auch wenn ich nur erwarte- / laber
mit- / mpa-Zweitie bin und kein emote habe bisher).
Der Missbrauch war mit teile mit bisher schon da, auch ohne Zeugen. Das
einzige was sich fuer manche aendern wuerde, ist, dass den Logfiles von
dritten weniger zu trauen waere. Aber da die jeder vor dem posten aendern
kann, ist auch hier dem Missbrauch schon immer keine Grenze gesetzt.
   Ich faende das "Du <was>t wen" einen guten Not-Kompromiss, faende es aber
schoener, wenn man andere oefters mal zur Seite schauen lassen koennte... :-))

Und -darum ist dies eine Antwort auf Schrumpfi- wer mehr metzelt und weniger
redet - oder wer mehr mit Komplettloesungwen spielt, ist nicht unbedingt der
verantwortungsvollere Mudder. Ein Grundlevel >1 gegen Unfug finde ich ok. Aber
das sollte 10 (wie vorgeschlagen wurde von anderen) nicht uebersteigen.

Warum gerade 10? Es ist eine runde Summe, man muss sich dafuer anstrengen,
und mein Erstie Gwyndon ist schon ueber Level 10 hinaus.
Drei Gute Gruende, oder?

*grins* gez. Gwynwaiter (es eigentlich schon so meinend, aber nicht zuuu
ernst seiend)

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



Re: Re: finger-erweiterung (Hate, 18. Jul 1995, 09:25:19):
#! rn=Bloodyharry rt=805993468
Tja, sehts doch mal so:

Wir sind ein Spiel, meinetwegen eine Multi User Umgebung oder irgendsowas.
Wir machen normalerweise die Aufnahme ins Spiel nicht davon abhaengig,
dass wir bestimmte Daten vom Spieler erhalten. Deshalb haben wir auch keine
Datenbank, die den Datenschutzgesetzen entspricht. Wuerden wir jetzt solche
Daten auch noch speichern, wuerde soetwas aber zwangslaeufig auf uns zu-
kommen. Wenn jemand unbedingt solche Daten wissen moechte oder jemand
anderem zu wissen geben moechte, kann das durch _Fragen_ tun. Von mir
aus eine private Liste erstellen, aber auf keinen Fall oeffentlich und
nicht ueber die erreichbaren Daten zu den Spielern. Solche Daten sollten
auf Abruf und nur Leuten, denen man traut bekannt gegeben werden.

Wir hatten das Thema schon oefter. Private Daten zu Spielern gehoeren nicht
im MorgenGrauen gespeichert. Wir moechten nicht dafuer verantwortlich sein.

Hate.

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



NEU! Erweiterte Fehlermeldungen! (Rumata, 18. Jul 1995, 17:00:23):
Hi,
ab jetzt kann man Typos,Ideen und Fehler auch zu bestimmten Objekten
abgeben. Auf diese Weise kann man sichergehen, dass die Meldung auch
an den Magier kommt, den ihr meint!

Die Syntax ist:
fehler/idee/typo <objektname>:<meldung>

Das steht natuerlich auch ales auf den entsprechenden Hilfeseiten.

YTR :-)

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



NEU! Erweiterte Fehlermeldungen! (Rumata, 18. Jul 1995, 17:01:02):
Achja, das alles wird nach einem 'ende' oder einem Armageddon
aktiv!

Rumata

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



Re^4: Emote-Erweiterung (Icet, 19. Jul 1995, 01:14:13):
#! rn=Yendi rt=805990924
Hi! Zu den Emotes habe ich auch mal einen Vorschlag zu machen.
Im Augenblick ist es ja so, dass man die Meldungen fuer jeden praktisch
masschneidern kann, wenn ich das richtig sehe?!
Also wie Cuh sagte, dem einen total lieb das emote hinpfeffern und den
anderen Gegenueber die Sau rauslassen :)
Jaja, bringt mich ruhig um fuer den Vorschlag, aber in UNItopia ist das
anders und recht schoen geloest... auch wenn es etwas an die dortige
programmierung erinnert. Das schaut so aus:

:zappelt um $den(boing) und $den(grimmborn) herum.
Ergibt fuer dich: "Du zappelst umn Boing und Grimmborn herum."
Fuer Boing:      "IceT zappelt um dich und Grimmborn herum."
Fuer Grimmborn:  "IceT zappelt umd Boing und dich herum."
Und fuer alle anderen: "IceT zappelt um Boing und Grimmboprn herum."

Also kein Betrug mehr. Jeder erhaelt mit Ausnahme der Namen das gleiche.
Wobei mir jetzt ein Fehler passiert ist: es erscheint fuer sich selber nicht
"Du zappelSt" sondern "Du zappelt". Wen das stoert (sollte nicht), der kann
(in UNItopia) folgendes eingeben:
:$(zappelt,zappelst) um $den(boing) und $den(grimmborn) herum.

*grins*
Wem es zu kompliziert erscheint, der sollte sich mal die recht gute Hilfe
dazu durchlesen. Also ich finde das Klasse. man kann mit wildcards die Verben
der Seele fast perfekt simulieren und als Kuerzel sichern...

-IceT (steinigt ihn! er ist ein UNItopianer ;-)

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



Re^3: finger-erweiterung (Loco, 19. Jul 1995, 15:53:12):
#! rn=Hate rt=806052319
Ich dachte daran, auf freiwilliger Basis Adressen von Spielern an einer
speziellen Stelle zu sammeln. Meine augenblickliche Idee war, dass man sich in
einem zu oeffnenden Buero in die Liste eintragen kann, und dort auch Adressen
von anderen Spielern nachfragen kann. Evtl. waere auch denkbar, ein Adressbuch
zu verkaufen.
Auf jeden Fall waere niemand gezwungen, seine Daten anzugeben, koennten
Spieler auch nur die hier hinterlegten Daten nachfragen, und es waere
jederzeit moeglich, eigene Daten wieder zu loeschen. Natuerlich koennte man
auch nur einen Teil der Daten angeben.
Der Wunsch, seine Adresse oeffentlich machen zu koennen, wird schliesslich
immer wieder geaeussert.
An hinterlegbaren Daten dachte ich an:
RL-Name, Strasse, Land/PLZ/Ort, email, Geburtsdatum, und ein Kommentarfeld.
Es soll auf jeden Fall moeglich sein, einzelne Felder frei zu lassen, zu
loeschen, nachzutragen und zu aendern.

Da das alles freiwillig ist, gaebe es keine Probleme mit dem Datenschutz.
Wildwuchs mit endlos geforwardeten privaten Listen waere auch vorgebeugt.

Wenn keine Gegenstimmen kommen, will ich das demnaechst so implementieren.
Kommentare und Anregungen nehm ich natuerlich gerne entgegen.

- Loco

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



Re^4: finger-erweiterung (Gwynwaiter, 19. Jul 1995, 16:11:44):
#! rn=Loco rt=806161992

Hi Loco

Guter Plan, nur... fehlen mir Felder wie Erstie/n-tie und Teflon. Moeglich
waere es ja wohl, den irregulaeren (Nicht-Spieler-) Zugriff auf EMs und hoeher
zu begrenzen, so dass niemand an eine ganze Liste rankommt - oder?  Ich bin,
wie meist bei Erweiterungen, dafuer.

YTG

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



Re^5: finger-erweiterung (Loco, 19. Jul 1995, 16:24:32):
#! rn=Gwynwaiter rt=806163104
Hmm... Telefon hatte ich schlicht vergessen in der Aufzaehlung, sollte
natuerlich rein.
Ersties, Zweities klingt nach einer guten Idee, koennte man aber auch ins
Kommentarfeld reinschreiben. Aber - spricht eigentlich was dagegen, bei der
Zweitymarkierung beim Zwergenschmied den Namen des Ersties zu notieren? Das
wuerde der Finger dann anzeigen, genau wie bei Testies.
Zugriff: Es ginge natuerlich, dass jeder, der Daten angibt, noch ein Fed
setzen kann, wer die Daten abfragen darf (jeder, Spieler ab Stufe n, Seher und
Magier, nur Magier). Halt ich aber nicht fuer unbedingt noetig.

Wartend auf mehr Vorschlaege,
     Loco

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



Re^4: finger-erweiterung (Socrate, 19. Jul 1995, 17:00:48):
#! rn=Loco rt=806161992
Hallo!
Also grundsaetzlich habe ich nichts dagegen, nur leuchtet mir die
Notwendigkeit und Verbesserung der Atmosphaere nicht ein. Denn ich denke, dass
es doch viel interessanter ist, im Gespraech mit anderen etwas ueber diese zu
erfahren; und diejenigen, die im Gespraech beim Bezug auf rl abblocken werden
auch kaum die Angaben ausfuellen. Ausserdem sprechen Fakten niemals fuer sich
und so koennen dann eher Vorurteile enstehen.
Also ich denke es sollte nichts getan werden, was die Funktion des Gespraechs
einschraenkt.
Gruss
Socrate

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



Re^4: finger-erweiterung (Maso, 19. Jul 1995, 20:52:20):
#! rn=Loco rt=806161992
Nun... WWW-Seite waere noch ganz gut (ein paar haben ja sowas...)
Was noch... Geburtsort? Bevorzugte Aufenthaltszeiten in MG? Hmmm...
    Maso, gruebelnd...

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



Re^5: finger-erweiterung (Dancer, 19. Jul 1995, 20:52:38):
#! rn=Socrate rt=806166048
Ich bin der Meinung, dass man manchmal gar nicht abschaetzen kann, ob es gut
ist, seine Daten rauszuruecken. Wer weiss, ob man (als Maedel zBsp) in den
naechsten Tagen vielleicht einen aufdringlichen Kerl kennenlernt, der dann
dummerweise auch noch die Daten abfragt BEVOR man sie loeschen konnte, oder
ob da auf einmal ein beleidigter Spieler ist, der sich entschliesst,
Telefonterror zu machen oder weiss der Geier was. Muss nicht gleich immer
so extrem sein, aber moeglich waere das. Ich fuer meinen Teil lehne es
kategorisch ab, soetwas hier einzurichten (auch wenn ICH nicht
hingehen muss), ich bin naemlich der Meinung, dass man gerade als relativer
Anfaenger noch gar nicht so richtig abschaetzen kann, was man damit macht,
wenn man seine Daten rausgibt.

Dancer - wohnt an der Spitze des schwarzen Turmes auf der Plattform in
einem Thron aus Stahl und erstarrter Zeit, zwischen den Schatten und dem
Morgenlicht...aber sogar DEN (VL-)Ort kennen nur Magier ;)


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



Angriff (Slash, 19. Jul 1995, 23:14:58):
Zardos hatte mich neulich mal auf eine gute idee gebracht: was haltet ihr von
monstern, die einen durch das ganze morgengrauen, ueberall hin verfolgen?
Da koennte man einiges schaffen, was man dann nicht mehr so leicht toeten
kann.
Damit es fuer die anfaenger nicht zu gefaehrlich ist koennte man ja in die
beschreibung ein .... ist toedlich, es vergisst dich nie, aehnlich dem
wasserunwesen in zardos burg einbauen.
Und dann noch.... ich hoerte von einem ueberfall aller daemonen auf PV um die
armen abentuerer und was da sonst noch an npc's rumlaeuft zu toeten.
Da musste sich dann schnell eine gruppe tapferer kaempfer finden um die stadt
vor ihrer vernichtung zu bewahren.

slash, ist alles ernst gemeint

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



Re^6: finger-erweiterung (Loco, 19. Jul 1995, 23:16:45):
#! rn=Dancer rt=806179958
So, jetzt geb ich wieder einmal ein bisschen Senf zu den Antworten.

Maso's Vorschlaege zur Erweiterung, hmmm... ich find das passt ins
Kommentarfeld, wenn es denn jemand unbedingt angeben will. Zu viel weisses
Informationsrauschen muessen wir dann auch nicht abspeichern.

Dancers Einwand halte ich fuer berechtigt, aber nicht zu bedenklich. Wir
ahebn ein aehnliches System in Nightfall seit langem, und ich kann mich nicht
dran erinnern, da mal Aerger mitgekriegt zu haben.
Unter anderem deswegen will ich die ganze Sache ja ein bisschen am Rand
aufziehen. Das Einwohnermeldeamt, wo man seinen Eintrag hinterlassen kann,
moechte ich deswegen auch nicht gerne in PV, der Elfenstadt oder der
Zwergenstadt sehen. Ein Anfaenger soll schon etwas kennen, bevor er drauf
stoesst.

Von mir aus wuerde ich das Buero natuerlich in Svolvaer unterbringen, aber es
kann gerne auch noch weitere Stellen geben.
Ach ja, noch was: Listen sollen nicht herausgegeben werden, nur Infos zu
einzelnen Spielern. Also, ein "Gib mir alle vorhandenen Adressen" wird es
nicht geben.

Der Wunsch danach, Adressen oeffentlich zu machen, wurde mirgegenueber von
einigen Leuten geaeussert - die ihre eigene Adresse anderen frei geben wollen,
nicht umgekehrt.

Bis zum naechsten Kommentar...
  Loco

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



Re: Angriff (Warlord, 19. Jul 1995, 23:38:50):
#! rn=Slash rt=806188498

Finde ich gut. Habe mal n aehnliche Idee Erzmagier vorgeschlagen, bei der
immer wieder ne Gruppe Orks oder aehnliches (20-100 Stueck) das MG ueberfallen
und versuchen die Staedte zu erobern.
Leider kam die Idee nicht an, weil sie einmal zu kompliziert und Speicher
aufwendig zu realisieren ist und zum anderen Anfaenger, die da hinein geraten
keine Chance haetten :(

	Warlord, der wie man an seiner Anzahl
	 Tode sieht, nach dem Motto:
	 'no risk, no fun'
	 lebt ;)

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



Re^7: finger-erweiterung (Dancer, 19. Jul 1995, 23:40:20):
#! rn=Loco rt=806188605
Ach ja... noch ne nicht ganz unwichtige Idee: zusaetzlich zu der Stufen-
einschraenkung der Adressenausgabe sollte man fuer jeden Spieler noch ein
Array speichern von Leuten, die AUSDRUECKLICH von ihm/ihr gesperrt wurden,
d.h. die die Adresse nicht bekommen sollen. Argl..Schwachsinn, dann geht
der einfach mit nem Zweiti hin...ok ok, bin schon still :) Lasse den Artikel
aber trotzdem mal hier stehen, damit nicht nochjemand diese (aeh, ok:
ueberfluessige) Idee hat :)

Dancer


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



Re: Angriff (Maso, 20. Jul 1995, 00:33:03):
#! rn=Slash rt=806188498
Jaaaaa! Oder: die Zwergenwaechter ueberfallen das Elfendorf!
Vielleicht koennen die ja Hilfe von den anderen Zwergen gebrauchen.. ich
waere dabei :)
       Maso...

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



Re: Re: Angriff (Jaf, 20. Jul 1995, 01:21:01):
#! rn=Maso rt=806193183

Hoho, Maso... wohl eher anders rum :)

Fyt.

Zwerge... zwerge... waren das nicht die Dinger, wo man auf Gedan treten
musste, um ne Chance zu haben, den Helm zu treffen.

Ausserdem riechen die streng. Um das mal vorsichtig zu formulieren :)

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



Re: Angriff (Baboon, 20. Jul 1995, 08:44:42):
#! rn=Slash rt=806188498
Natuerlich slash. Ich stelle mir grad ne Handvoll Waldlaeufer und
ein paar Gaeste vor, die sich einer Herde von Zardoz' Daemonen
entgegenwerfen. Und Monster die einen ueberall hin verfolgen?
Stell dir mal vor, du stehst mit 30 LP in der Kneipe, bist zu besoffen
und zu vollgefressen, um noch zu tanken und das Vieh kommt an. Naja,
der Tod wird sich freuen. Der Spieler wohl weniger.

Baboon (auch alles (tod)ernst gemeint ;-) )

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



Re^8: finger-erweiterung (Yantro, 20. Jul 1995, 08:46:32):
#! rn=Dancer rt=806190020

'sperre frankfurt' und ich hab dich zu 99% ;) Aber mal ehrlich. Es gibt diese
Adressidee schon ziemlich lange und es gibt sogar spieler, die eine solche
Liste schon erstellt haben und diese auf wunsch mailen (war ein spieler aus
Muenchen). Der Sinn des ganzen kann ich aber auch nicht ganz verstehen, denn
das hier ist ja ein MUD und keine Kontaktboerse. Wer unbedingt jemanden
kennenlernen will (in RL), der soll sich trauen, ihn/sie persoenlich zu fragen
oder es einfach vergessen. Grade HIER, wo man eigentlich anonym ist ist es
doch viel leichter, einfach jemanden anzusprechen.

                    Yantro;)

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



Re: Re: Angriff (Slash, 20. Jul 1995, 09:07:42):
#! rn=Maso rt=806193183
Man koennte ja, um den anfaengern eine chance zu lassen so etwas mit einem
text aehnlich armageddon ankuendigen, z.b. 2 minuten vorher ... riesige
Staubwolken trampelnder Horden tauchen am Horizont auf... Die geruiecht einer
bevorstehenden Invasion der
daemonen sollte sich doch nicht etwa bewahrheiten...
und das mit der verfolgung... wo ist das problem, ich habe ja
daraufhingewiesen,
dass das npc dann einen text haette wie es vergisst nie... dann musst du es
ja auch nicht angreifen, wenn man sowieso
schon voll ist.

slash, will anfaengern die chance geben sich in sicherheit zu bringen

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



Re^3: Angriff (Ulo, 20. Jul 1995, 09:16:34):
#! rn=Slash rt=806224062
Naechstes Problem: Lag... wenn das mal dumm laeuft, d.h. die Daemonenherde
bei Megalag einrueckt (kann man das einbaun Zardoz? *grins fies*)
dann gibts Tote am Fliessband, denn wer lag hat, kann kein Feuerball
werfen. Und wenn das Lag vorbei ist gibts die grosse ueberraschung :)

Ulo.

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



Re^4: Angriff (Slash, 20. Jul 1995, 09:20:06):
#! rn=Ulo rt=806224594
Ich finde Du sprichst da ein grundsaetzliches Problem an: Will man auf
Sicherheit spielen, oder auch mal was riskieren.
Also, ich spiele immer sehr risikoreich, finde ich persoenlich lustiger. Aber
auch ein lag waere kein problem, weil die Horde ja fuer jeden sichtlich
angezeigt wird.
Diejenigen, bei denen ein lag auftaucht haben dann eben 3 minuten zeit sich
ueber das wasser zu fluechten, oder ueber den landweg.
Alle wagemutigen Kaempfer, die kein zerstoertes PV haben wollen kommen dann
halt hin.
Ach uebrigens: Die horde muesste natuerlich alles in Schutt und Asche legen,
also koennte man nichts mehr verkaufen, weil auch die Ladenbesitzer sterben
wuerden.

slash, erst 37 mal gestorben

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



Re^3: Angriff (Baboon, 20. Jul 1995, 09:28:18):
#! rn=Slash rt=806224062
okay, wenn man im Text drauf hingewiesen wird, das einem das Viech
hinterherkommt. Aber dann sollte man es meiner Meinung nach unterlassen,
so eine Art "Verfolge-Hydra" zu bauen. Die Mehrzahl der Spieler sollte
schon die Moeglichkeit haben solche Monster zu besiegen.

Baboon.

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



Re^5: Angriff (Baboon, 20. Jul 1995, 09:31:26):
#! rn=Slash rt=806224806
Hm, enorme DREI Minuten Zeit, um sich aus PV zu verdruecken? Du hast wohl
noch nie 12 Minuten im Datenstau gehangen, wobei gar nix mehr lief.

Baboon (will, wenn er schon sterben muss, sich wenigstens freiwillig in
        Gefahr begeben haben.)

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



Re: Re: Angriff (Bendeigid, 20. Jul 1995, 09:33:01):
#! rn=Maso rt=806193183
Zum Gruss!

Also ich finde es ueberraschend, wie man innnerhalb von 2 Tagen dreimal auf
dieselbe Idee stossen kann - ohne Zusammenhang. Gestern erzaehlte mir jemand,
der hauptsaechlich in englischen Muds spielt von solchen Events. Und davor
hatte ich mir schon ueberlegt, im Zusammenhang mit der Diskussion ueber
Zusammenarbeit im Mud, ob so etwas nicht forciert werden kann.
Dabei dachte ich an einen angekuendigten Ueberfall von einer Gruppe z.B. Orks
mittlerer Staerke oder Goblins, welche irgendeinen Laden im MG ueberfallen.
Der Ladenbesitzer koennte rechtzeitig vorher einen Hilferuf ueber allgemein
oder so senden. Die Raeuber koennten dann den Haendler killen (was die
Benutzung des Ladens bis zum naechsten Reset verhindert) und das Inventory des
Ladens mitnehmen, von mir aus bis zu einer bestimmten Gewichtsmenge. Danach
gehen die Raeuber langsam , zum Beispiel per Zufall gesteuert, so 20 Raueme
weiter, waehrenddessen hoffentlich inzwischen die "Helfer" aus dem gesamten MG
angekommen sind und versuchen, die Raeuber zu killen. bei Erfolg hat man dann
ja die Beute aus den Laeden, was doch ne Menge Geld sein duerfte. Plus den
Ruhm natuerlich.
Ob sowas Programmierbar ist, weiss ich nicht, aber ich vertraue mal der
Faehigkeit der Mags.
Wie waer's? ;-)

Z'par Servu,
             Bendeigid

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



Re^9: finger-erweiterung (Jof, 20. Jul 1995, 10:11:15):
#! rn=Yantro rt=806222792

 Sperre Muenster und Du hast mich zu 0% - ich koennte auf Anhieb mind. 3 Um-
wege nenne, die fuer jeden offenstehen, der sich von einer anderen Stadt aus
einloggen moechte - allerdings WERDE ich diese Umwege nicht bekanntgeben :)

 Jof

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



Re: Angriff (Socrate, 20. Jul 1995, 10:19:40):
#! rn=Slash rt=806188498
Hallo!
Also ich bin strickt dagegen, dass ueberall im MG Monster hinkommen um zu
killen. Also ein Gast schaut sich gerade mal um, macht ein kurzen Schritt aus
der Gilde und schon macht er die erste Bekanntschaft mit Lars. Da er aber die
Befehle vor allem die des betens usw. noch garnicht kennt, wird er wohl kaum
noch eine andere Wahl haben, als sich wieder auszuloggen.
Meine Hauptmotivation gegen das Verfolgen killender Monster zu sein besteht
aber darin, dass ich darin eine starke Verschiebung des Gleichgewichts
zwischen talken und questen bzw. metzeln sehe. Wie ich hier schon einmal
geschrieben habe, muss es Spielern ungestoert moeglich sein zu talken, ohne
gleich von irgendjemand angefallen zu werden.
Also ich naeheren Raeume um die Ankunftsgebiet von AnfaengerInnen, sollten
unbedrohlich bleiben. In allen Gebieten darueber hinaus, koennte ich mir die
ueberraschende Ankunft von Monstern auch ganz abwechslungreich vorstellen;
allerdings sollte dann eine Meldung eingebaut werden, dass man nun das sichere
Gebiet veraesst.
Aber es muss meiner Meinung nach vermieden werden, dass es nur noch darum
geht zu killen, oder vermeiden gekillt zu werden. Sonst wird naemlich als
naechste Forderung kommen, dass Playerkill erlaubt wird, wie es ja auch in
manch anderen Muds der Fall ist.
Gruss
Socrate

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



Re: Re: Angriff (Zardoz, 20. Jul 1995, 10:27:40):
#! rn=Socrate rt=806228380
Es haengt immer davon ab, wie man es programmiert... Man kann es z.B. so
machen, dass nur Spieler ab einer bestimmten Stufe angegriffen werden.
Ausserdem: Es war nur mal so eine Idee von mir gewesen, ich bin zur Zeit
nicht dabei, einen Ueberfall zu programmieren.

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



Re^3: Angriff (Slash, 20. Jul 1995, 11:21:40):
#! rn=Zardoz rt=806228860
Leider, leider Zardos...
Ich hatte Dir ja schon gesagt, dass ich das eine sehr sehr gute idee finde.
koennte man es trotzdem so programmieren, dass nur spieler ab level 12
angegriffen werden, sie gewarnt werden, aber
PV dennoch in Schutt und Asche faellt?
Und zu den talkraeumen... na gut.. wie waers mit
... du doest ein wenig auf der bank, deswegen bemerkst du gar nicht, was um
dich herum
vorgeht, uwie alles in schutt und asche faellt.
Aussedem ist das eher ein grundsaetzliches problem. man fuehlt sich ja auch
haeufig in der post oder im dojo gestoert. Gabs da nicht die petersilie? die
brauchte dann ne zusatzfunktion gegen das Geschrei blutig verendender
Abenteurer...
slash, wartet darauf, dass ganz PV eine ruine wird.....

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



Re^9: finger-erweiterung (Orktoeter, 20. Jul 1995, 11:27:38):
#! rn=Yantro rt=806222792
Also, wozu so eine Adressdatei gut sein kann ?
Nun, als aktuelles Beispiel, ich bin mit Bleelumpe befreundet, weiss, das er
sich im moment in aerztlicher Behandlung befindet und will einfach mal hoeren,
wie es ihm geht.
OrkT.

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



Re^5: Angriff (Baron, 20. Jul 1995, 12:42:22):
#! rn=Slash rt=806224806
Also ich finde die Idee wirklich prima! Hab neulich auch schon mal ueber
sowas nachgedacht, kurz mit Silvana besprochen und dann wieder verworfen :).
Aber an sich, ne tolle Idee!
Baron (glaubt das die Seher ihre Haeuser schon verteidigen sollten, damit sie
von herumziehenden Ork- oder Daemonenhorden nicht niedergebrannt werden :)

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



Re^7: finger-erweiterung (Jof, 20. Jul 1995, 14:45:42):
#! rn=Loco rt=806188605

 Die Moeglichkeit, RL-Adressen im MG auf diese Weise anzubieten, halte ich
fuer hoechst bedenklich. Die Rechtslage im Bereich INTERNET ist extrem un-
sicher; es ist meines Wissens fuer die Zukunft auch in Deutschland geplant,
nicht nur die Veroeffentlicher von Schriften in Netzen, sondern auch alle,
die mit der Verbereitung zu tun haben, fuer die Inhalte verantwortlich zu
machen (bis hin zu den Netzbetreibern). Sollte nun mit diesen RL-Adressen
Missbrauch betrieben werden, so sind im Zweifel AUCH WIR haftbar, wenn wir
ausdruecklich Wege zur Verbreitung anbieten. Daher sollte derartiges nicht
ins MG eingebaut werden, ausser, eine Abstimmung unter den Goettern und Erz-
magiern (die letztendlich die sind, die ihren Kopf hinhalten muessen, wenn
was passiert) hat ein gegenteiliges Ergebnit.

 Jof

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



Kurze Notiz (Dancer, 20. Jul 1995, 14:47:29):

Kurze Notiz: Es wurden vorhin drei Verbesserungsvorschlaege fuer den
Sandtiger an mich herangetragen:
a) manche wollen wissen ob sie jemandem eine Nachricht hinterlassen koennen,
BEVOR sie anfange zu schreiben,
b) manche wollen zBsp ihre eigene Nachricht abfragen koennen,
c) manche wollen wissen, wieviele Nachrichten der Tiger kennt.

Alles das geht jetzt mit 'tigerinfo fuer <Name>' beim Sandtiger :)

Dancer


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



Re^4: Angriff (Jerrico, 20. Jul 1995, 15:13:25):
#! rn=Ulo rt=806224594
Oder stellt euch vor man steht in Ulo's GO-Club hat gerade vollgetankt, eine
Horde Daemonen kommt herein, man versucht bei 20 LP zu fliehen und es
erscheint 'Nee, so laeuft das nict hier, fressen, saufen und raus' :)
Uebrigens das meditieren ist eine gute Idee, nur gibt es auch Karateka, die
ihre MP wesentlich schneller als ihre LP verlieren, fuer die waere der
umgedrehte Effekt wuenschenswert.


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



Re^3: Angriff (Jerrico, 20. Jul 1995, 15:17:37):
#! rn=Zardoz rt=806228860
oder es werde nur spieler angegriffen, die einen bestimmten gegenstand
tragen, 'den ring der stadtwache von PV' oder sowas, den man vo

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



Re^4: Angriff (Dancer, 20. Jul 1995, 15:42:56):
#! rn=Jerrico rt=806246257
...und da hat ihm Gruuh auf das Schreibpapier gesabbert..;)


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



Re^5: Angriff (Jerrico, 20. Jul 1995, 15:50:01):
#! rn=Dancer rt=806247776
Wer ist denn Gruuh ???

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



Re^6: Angriff (Hadra, 20. Jul 1995, 16:35:12):
#! rn=Jerrico rt=806248201
ji muddies,

also die idee der metzelnden horden ist prinzipiell ja recht nett. aber
ich haette gerne einen levelunabhaengen schalter/befehl mit dem ich mich
von der teilnahme an solchen massnahmen abmelden kann und meine ruhe habe.
des weitern haben verfolgemoster und aehnliche horden imho nichts in
irgendwelchen questrelevaten gebieten verloren, was die einsatzmoeglichkeit
wohl weiter einschraenken duerfte. ich haette jedenfalls keine lust in
irgend einem questlab zu stehen und mich mher daemonen als unbedingt
notwendig
erwehren zu muessen

hadra

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



Re^7: Angriff (Anakin, 20. Jul 1995, 16:39:30):
#! rn=Hadra rt=806250912
Jo man muss sich irgendwie abmelden koennen, ich idle oft in der Gilde
oder sonstwo in Port Vain und arbeite RL. Waere ja schade wenn ich mal
wieder hinguck und ich tot bin. :)
Aber sonst...immer.

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



Re^8: finger-erweiterung (Gwynwaiter, 20. Jul 1995, 16:44:33):
#! rn=Jof rt=806244342

Ungern nur wiederspreche ich einem Gott (aber wenns mich denn trifft, ich bin
ja nur der Zweitie).

Ich halte die Sorgen fuer unbegruendet - Die Anti-Internet Konvention ist so
erstmal nicht verabschiedet worden, nichtmal im republikanischen USAmerika.
   Im Moment sind die Datenschutzbestimmungen ganz eindeutig: Wer der
Weitergabe von Daten auf eine definierte (oder undefinierte, aber wer wuerde
das machen) a priori zustimmt, kann sich hernach nicht beschweren, hoechstens
(was programmtechnisch aber kein Aufwand ist) die Loeschung der Daten
verlangen.
   Das heisst fuers MG: Nur freiwillige Abgabe der Daten (und niemand der
dagegen ist, muss es ja machen oder nutzen) - Keine Herausgabe von Listen (das
macht unerwuenschten Gebrauch schwerer, wenn man alle theoretisch vorhandenen
Namen ausdprobieren und abfragen muesste, um eine Liste zu erstellen) (aber
das ist von Loco eh nicht vorgesehen) - Sicherheitsabfrage: Stimmst Du der
Weitergabe deiner Daten an interessierte Einzelpersonen zu ja/nein. (Das wird
beim X500 Verzeichnisdienst etwa uch gemacht... und was da alles an Daten
gespeichert wird... dagegen ist Locos Vorschlag sehr harmlos und vorallem (um
auf OrkT's Beispiel einzugehen) Mudderfreundlich.

Ein letztes Argument noch pro (von jemand der nie gezwungenermassen
Datenboegen ueber sich ausfuellt, das freiwillig aber ganz gern tut):
 Es ist gesagt worden, man koenne die Infos ja auch direkt erfragen, wenn
man Kontakt sucht. Klar. Stimmt. ABER: Wer im Moment im MG ist, ist nicht
immer da, wo sein reales Adressbuch (oder sein geburtstagskalender o.ae.) ist.
Koennte ich da im MG nachschauen, um jemand zu erreichen ("wie war nochmal die
email von..." auf -a ist nicht immer effektiv), wuerde das vieles erleichtern.

Soviel von: Gwynwaiter

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



Re^7: Angriff (Gwynwaiter, 20. Jul 1995, 16:49:41):
#! rn=Hadra rt=806250912

Hi Hadra,

Ich finde, man sollte das kombinieren: Keine Leute angreifen unter
emote-Level, und dann zusaetzlich den Schalter "schlachter" (wie Kobold),
wobei man ihn auch "Held" nennen koennte. Wer "held on" macht, spielt im
Heldenmodus und muss mitverteidigen...  Mit "held off" kann man sich zu einem
Schwatz niederlassen (ausser man steht gerade im selben Raum wie ein
kaempfendes Monster)...

Ich finde diese Idee fuer die Belebung des MG gut. Eigentlich sogar sehr gut.
"Die Monster ziehen an Dir vorbei. Ob die Stadt zu halten ist, wenn alle nur
zusehen?"

Gwynwaiter

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



Re^6: finger-erweiterung (Asmodis, 20. Jul 1995, 18:30:54):
#! rn=Dancer rt=806179958
oder man bekomme ne Briefbombe geschickt aus oesterreich :)

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



Re^9: finger-erweiterung (Jof, 20. Jul 1995, 19:44:02):
#! rn=Gwynwaiter rt=806251473

 Egal wie - ich habe jetzt mit verschiedenen Erzmagiern+ geredet; die Sache
wird nichts. Dies ist ein Mud, keine Personen-Datenbank; wenn wir sowas an-
fangen, gehts naemlich los mit den Datenschutzbestimmungen u.ae. Sowas
gehoert
einfach nicht in ein Mud. Wer seine Adresse einem anderen Mudder mitteilen
will, kann ihm eine Mud- oder EMail schicken. Alternativ koennen Seher
es in ihren Plan einbauen, allerdings wuerde ich dies im Normalfall keinem
empfehlen ...

 Jof

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



Re^5: Angriff (Ulo, 20. Jul 1995, 23:35:52):
#! rn=Jerrico rt=806246005
Wuerde ja allen denen, die den Clubraum immer noch als Tankstelle sehen
recht geschehen, wenn die Daemonen sie dort fangen :)
Allerding glaube ich nicht, dass die Daemonen die Aufnahmepruefung fuer
den Go-Club bestehen. Und damit duerfen sie auch nicht in den Clubsaal...
Also: Sollte Xian irgendwann von Daemonen ueberfallen werden, seid ihr
im Club sicher :)

Ulo.

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



Re^6: Angriff (Jerrico, 20. Jul 1995, 23:52:49):
#! rn=Ulo rt=806276152
Das waere aber auch das einzige, das mich dorthin treiben wuerde :)
Ich hab eben ziemlich viel getankt und mehr als 10 Minuten war ich dort
gefangen. In der Zeit hat man die MPA ja zweimal durchgeblaettert.
Und ein skript weigert sich auch so lange nur rumzustehen und nix zu machen.

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



Re^10: finger-erweiterung (Aranya, 21. Jul 1995, 13:53:00):
#! rn=Jof rt=806262242
Und warum gibt's das in anderen MUDs? Imbris zum Bleistift. Wenn ich Daten-
schutzbedenken hab, setz ich meine Daten einfach nicht rein.

Just my 7 Shekel 50 Agorot
                           Aranya
                                 findet das etwas kleinkariert

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



Re^11: finger-erweiterung (Highlander, 21. Jul 1995, 14:11:42):
#! rn=Aranya rt=806327580
FYI: Meine Adresse etc. stehen in meinem Plan, und das schon lange.
Meine e-mail steht auch im finger, jedenfalls fuer Magier, und wenn
mich jemand unbedingt erreichen will,
kann er einen solchen (Magier) fragen.
   Highlander

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



Re: Re: Angriff (Ketos, 21. Jul 1995, 15:36:08):
#! rn=Socrate rt=806228380
Gaesten und Anfaenger koennte man eine Schonung geben. Die Orkhorden trappelt
an Dir
vorbei und Du versteckt Dich.
Oder ein Charakter in Port Vain der alle gaeste und Anfaenger evakuiert.
Aber wozu haben wir den einen Haufen Seher? Die koennten sich auch um die
Schwachenkuemmern.
Vielleicht kommt dann wieder ein staekeres Zusammenspielen auf.

- Ketos -

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



Re^3: Angriff (Asmodis, 21. Jul 1995, 15:48:45):
#! rn=Ketos rt=806333768
Aeh, was sollen wir da tun? Die Schwachen zusammentreiben wie Cowboys ?
Wenn die Orks wirklich dann aggressiv sind, koennen wir auch nicht
verhindern, dass anfaenger angegriffen werden ?

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



Re^3: Angriff (Ketos, 21. Jul 1995, 15:49:00):
#! rn=Ketos rt=806333768
Gelangweilt und unbeteiligt siehst Du zu wie ein Haufer wilder Ork Port Vain
in Schutt und Asche legen. Du haelst Dich im Verborgen und weicht hin und
wieder einem herstuerzenden Balken aus. Der aufsteigende Staub und Rauch
kitzelt
leicht in der Nase> Das in Flammen stehende Rathaus verbreitet eine angenehme
Waerm.

Besuchen sie Port Vain - solange es noch steht...

- Ketos -

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



Re^4: Angriff (Durin, 21. Jul 1995, 16:42:42):
#! rn=Ketos rt=806334540
Also ich finde es ist einen Versuch Wert mal solch einen Ueberfall
auszuprobieren, wenn es nicht klappt und sich alle moegliche Leute darueber
aufregen kann man es ja wieder verwerfen, und wenn man es nicht ausprobiert
hat, so kann man sich darueber auch keine Meinung bilden. Ich stimme da Ketos
auch zu, das die den Zusammenhalt der Spieler auch wieder staerken wuerde.

Durin

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



Re^5: Angriff (Cuchullin, 21. Jul 1995, 17:18:59):
#! rn=Durin rt=806337762

Schonmal daran gedacht, dass es Leute gibt, die ein schweinemaessiges Lag
nach Muenster haben? Das sind die Seher, die die Daemonenburg noch nie von
innen gesehen haben, die, die jetzt kein Haus mehr bauen koennen, weil sie die
EP nie zusammen bekommen, die, die bei einer solchen Aktion schlicht und
ergreifend draufgehen, wenn sie nicht Fluchtrichtung Ende haben.

Die Idee ueberhaupt nicht gut findend....
- cuch -


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



Re^7: Angriff (Durin, 21. Jul 1995, 17:34:36):
#! rn=Durin rt=806340598
Ich bin der Meinung das es einen Versuch Wert ist. Es muss ja nich PV sein,
man koennte dies in Gebieten ausprobieren wo nicht so viel los ist.

oder ???

Wenn man es probiert hat kann man seine Meinung immer noch aendern und die
ganze Sache vergessen.

Durin

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



Re^6: Angriff (Bendeigid, 21. Jul 1995, 17:37:19):
#! rn=Cuchullin rt=806339939
Hi.
Ich finde es kuemmerlich, wenn man sich da schon ueber EP aufregt, die man
erst verlieren koennen wird, wenn denn mal was in der Richtung geproggt wird.
und, wie man sieht, gibt's Moeglichkeiten genug, zu verhindern, dass Jemand,
der nicht will (Newbies, Idlende etc) mit hineingezogen werden. Da ist es
schofelig, finde ich, eine solche Idee, die sicher den Zusammenhalt im Mud
staerken wuerde, gleich wegen moeglicher Tode zu verwerfen!
Wenn man derart Angst vorm Sterben hat: Banisht den Gobdrachen, haengt die
Daemonenburg ab, verbietet die Wolpi-Quest!

Z'par Servu,
             Bendeigid, ein wenig grummelnd, dass man derart Angst vorm
Sterben hat.

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



Feuerball (Anakin, 21. Jul 1995, 23:02:00):
Hmm warum kann ich nicht mehr sehen wie mein Feuerball trifft. Jaja
es wurde mir gesagt es war ein Bug und es ist den Maggies ein halbes
Jahr lang nicht aufgefallen. (hmm haben die das halbe Jahr keine
Testies kaempfen lassen?). Egal. Es spricht doch nichts dagegen, oder?
Beim Schwert sehe ich doch auch wie es trifft. Also kann ich
auch wenn ich ein Feuerball werfe ob ich daneben werfe oder ob
es ihn kratzt oder trifft. Ich bin ja nicht blind. So ein Feuerball
ist ja nun nicht zu uebersehen. Waer nett wenn sich mal ein Magier
dazu aeussern koennte.

Anakin (Feuerballwerfer)

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



Re: Feuerball (Anakin, 21. Jul 1995, 23:03:21):
#! rn=Anakin rt=806360520
Ups irgendwo in der 6. Zeile fehlt ein 'sehen'. Hatte keine Lust
alles nochmal zu schreiben, da ich gerade kein X System habe.

Anakin.

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



Re: Re: Feuerball (Caradhras, 22. Jul 1995, 14:51:29):
#! rn=Anakin rt=806360601
Ja, wuesste ich auch gerne wieso. Ich meine, es ist schon logisch,
dass es die alten Meldungen nicht mehr gibt. Zb ein "Zerschmettert xxx
in Stuecke" denn nach einem zerschmettern ist ja nix mehr da vom
Gegner, sollte wenigstens, aber so eine abstufung trifft, trifft hart,
trifft sehr stark oder was weiss ich waere sinnreich, IMHO.

   tschuessie       Caradhras (wirf mit feuerbaelle) :)

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



Re^3: Angriff (Ronda, 22. Jul 1995, 14:59:03):
#! rn=Ketos rt=806333768
Gute Idee, niedrige Spieler fliehen halt einfach zB auf dieHochebene...
muesste moeglich sein...

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



Bug in <rufe> (Acrimon, 22. Jul 1995, 15:03:07):
Gerade passiert:
Du hast jetzt 122 Lebenspunkte und 84 Magiepunkte.
Du hast jetzt 122 Lebenspunkte und 85 Magiepunkte.
rufe <irgendwas>
Du hast jetzt 122 Lebenspunkte und 24 Magiepunkte.
Du hast nicht mehr genug Magiepunkte.
Du hast jetzt 123 Lebenspunkte und 24 Magiepunkte.
Du hast jetzt 123 Lebenspunkte und 25 Magiepunkte.

Sowas finde ich gemein!

Grusz,
Acrimon

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



Laden: Sachen vor dem Kauf anschauen? (Ronda, 22. Jul 1995, 15:44:03):
Koennte man vielleicht in die Laeden einbauen, dass man Sachen vor dem Kauf
anschauen kann? Geht in RL doch auch - ich bekomme dann einfach die
Beschreibung, die ich auch bei dem normalen Anschauen habe?
So kann man besser entscheiden, ob die Sachen fuer einen zu gebrauchen sind.
Just my two Yen,
                  Ronda

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



Mal wieder Teddy... (Morgon, 22. Jul 1995, 19:26:06):
Ich hab doch mal angesprochen, das es ganz nett waere wenn der Teddy an-
zeigen wuerde wie der Gegner drauf ist... :) [angeschlagen usw...]
Ich hatte gerade zwei neue Ideeen[?]!

1.] Wie waere es mit einem Befehl (z.B. zustand <Gegner>) der anzeigt, ob
    der Gegner absolut fit oder angeschlagen oder sonstwas ist?
2.] Wie waere es wenn man dem Teddy einfach angeben koennte, welchen
    Gegnernamen er unter suchen soll..
    Ich stelle mir das so vor: teddygegner = schmetterling
"Du hast jetzt 218 Lebenspunkte und 218 Magiepunkte, Gegner: absolut fit"
Feuerball Schmetterling
"Du hast jetzt 218 Lebenspunkt und 198 Magiepunkte, Gegner: nicht da :)"

So ungefaehr.... :)
                    Morgon versucht es nochmal....

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



Re: Mal wieder Teddy... (Boing, 23. Jul 1995, 11:52:02):
#! rn=Morgon rt=806433966
Den 'zustand'-Befehl gibt es bereits, er nennt sich 'untersuche'.
  Boing

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



Re: Re: Mal wieder Teddy... (Morgon, 23. Jul 1995, 15:22:22):
#! rn=Boing rt=806493122

Ich meinte natuerlich, das der Befehl nur den Zustand und nicht gleich die
ganze Beschreibung anzeigt... :)

(Ich dachte ein Gott muesste mich verstehen! :)

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



Re^3: Mal wieder Teddy... (Caradhras, 23. Jul 1995, 15:31:44):
#! rn=Morgon rt=806505742
Ich glaube, er hat dich ganz gut verstanden, Morgon.
Und ich glaube auch, das metzeln hier ist schon genug automatisiert
bei manchen/einigen die es wollen, so dass man sich ruhig noch die
Muehe machen kann, den Gegner von 'Hand' zu untersuchen.
Also ich bin strikt gegen so eine erweiterte Form der Spielerhilfe,
obwohl sie mir selbst (natuerlich) auch einiges vereinfachen wuerde.

            tschuess        Caradhras

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



Re^4: Mal wieder Teddy... (Morgon, 23. Jul 1995, 15:41:18):
#! rn=Caradhras rt=806506304
Es war ja auch nur so eine Idee. Vor allem waere es nett, weil man jetzt
nicht mehr sieht, wie die Feuerbaelle treffen. Also: Ich betone! :)
Ich habe NICHTS gefordert! :)

grinsenderweise: Morgon!

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



Re^4: Mal wieder Teddy... (Reinelde, 23. Jul 1995, 22:56:49):
#! rn=Caradhras rt=806506304
ach was cara,

du willst doch nur deine 'hat jemand post fuer den sensi?' meldung noch
genauer timen keonnen. damit ich auch in zukunft wenigstens eine kleine
chnace habe. sollte es beim manuellen untersuchen bleiben ;)

reinelde

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



Vandalierende Daemonen (Ulo, 23. Jul 1995, 23:10:10):
Hallo!

Warum sollte denn PV angegeriffen werden, da fuehlt sich Doch ausser ein
paar metzelfreudigen Spielern keiner angesprochen. Da waere es doch viel
lustiger, wenn man die Seherhaueser angreift :). Mir schwebt da folgendes
vor:
Wenn mehr als 5 Seher mit Haeusern eingeloggt sind, sucht sich eine
Daemonenherde ein Haus aus, das sie zerlegen wollen. Das kuendigen sie
auf den Ebenen Allgemein und Seher an:
[Allgemein:Daemonenchef] Meine Jungs finden das Haus von XXXXXXX echt
[Allgemein:Daemonenchef] super, und wir haben daher beschlossen, dort
[Allgemein:Daemonenchef] eine Party zu veranstalten, haehae. Wir machen
[Allgemein:Daemonenchef] uns jetzt auf den Weg.
Danach machen sich die Daemonen auf den Weg, mit der Geschwindigkeit von
etwa 12 Raeumen pro Minute. Unterwegs greifen die Daemonen nicht an, denn
das Ziel ist ja das Seherhaus, und sie sind ja in Partystimmung. Der
Besitzer des Hauses und seine Freunde, koennen die Daemonen nun unterwegs
aufhalten, d.h. in Kaempfe verwickeln. Waehrend der Kaempfe bleiben die
Daemonen stehen, wenn aber grad kein Gegner da ist (z.b. beim Tanken),
laufen die Daemonen schnell weiter zum Haus, um die Verzoegerung
auszugleichen. Sollte es dem Hausbesitzer nicht gelungen sein, die Horde
vor dem Erreichen des Hauses aufzuhalten, dann gehts dem Haus nicht so gut.
Eine Minute tanzen die Daemonen um das Haus herum, dann feiern sie innen
weiter (abgeschlossene Tueren stoeren sie dabei nicht - werden aufgebrochen).
Da man sichja leicht vorstellen kann, dass die Daemonen beim Feiern auch
mal was kaputtschlagen, kann der Hausbesitzer mit folgenden Veraenderungen
an seinem Haus rechnen: 1. Jeder Zweite Satz in den Raumbeschreibungen und
Details wird geaendert in 'Alles ist kaputt'. 2. Was im Haus herumliegt, wird
eingesteckt (die Truhe wird ggf aufgebrochen).
Wenn die Daemonen 2 Minuten gefeiert haben, rennen sie ganz schnell wieder
in die Burg zurueck. Wenn dann sein Zeug wiederhabenmoechte muss in die Burg.

Alles in allem, waere das doch mal wieder etwas, was die Gemeinschaft der
Seher wieder etwas engen zusammenrueckenlaesst, denn die Daemonen werden
in der Staerke so bemessen sein, dass der Besitzer alleine oder mit einem
Zweitie zusammen die Daemonen nicht besiegen kann.

Ulo (auf flames wartend :)

P.S.: Wenn die Horde mal unterwegs ist, hilft auch ein schnelles ausloggen
      nix mehr, die Daemonen machen weiter...

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



Re: Vandalierende Daemonen (Baboon, 24. Jul 1995, 09:02:44):
#! rn=Ulo rt=806533810
Noe, Ulo, dass find ich gar nicht toll. Ich komm mit meinem Haus so schon
kaum zu Potte. Es ist erst zu etwa einem zehntel fertig beschrieben.
Dazu kommt, das ich (wie wohl auch die meisten anderen) kein tf-Skript
oder aehnliches benutze, sondern alles hangetippt ist. Wenn jetzt die
Daemonenhorden wild die Beschreibungen loeschen, kann ich hingehen und
mir alles nochmal aus den Fingern saugen.
Dazu kommen noch andere Problemchen:
-Was ist, wenn mir keiner helfen will?
-Was ist, wenn keiner da ist, der vernuenftige Ausruestung hat?
(Wenn die Daemonen so in etwa werden, wie die aus Zardoz Burg, dann stell
ich es mir nicht sehr lustig vor, mit nem Taschenmesser gegen die
anzutreten)
-usw.

Soll nicht heissen, dass ich gegen gemeinschaftsfoerdernde Massnahmen
allgemein waere. Ich faende etwas in der Richtung sogar ganz gut.
Bloss zeitkritische Aktionen, da hab ich was gegen. Bei mir hier ist
naemlich fast staendig mit kleinen oder groesseren Aussetzern oder
Verzoegerungen zu rechnen. Deshalb hab ich mich bisher eigentlich auch mit
dem Kaempfen zurueckgehalten, besonders in gefaehrlichen Gebieten ala
Zardoz Burg. Darum wuerde ich es nicht sehr begruessen, wenn jetzt
ploetzlich mein Seherhaus zu so nem Gebiet gemacht wuerde.

Baboon.

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



Re: Vandalierende Daemonen (Baron, 24. Jul 1995, 09:03:54):
#! rn=Ulo rt=806533810
Hm, nette Idee eigentlich Ulo, aber ein wenig langweilig. Erstens muessen
dabei gar keine Anfaenger dran glauben und zweitens scheint es mir
einigermassen unglaubwuerdig, dass Daemonenhorden nur jeden zweiten Satz in
der Beschreibung zerstoeren :). Das 'Aufbauen' Hauses sollte schon eine ganze
Weile (ein paar Stunden) dauern.
Baron - entschiedener Verfechter der: 'randalierende Daemonen zerstoeren
ALLES-Theorie'

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



Re: Re: Vandalierende Daemonen (Anakin, 24. Jul 1995, 09:16:55):
#! rn=Baron rt=806569434
Hmm wenn Daemoen mein Haus zerstoeren ist es mir a) egal b) per cut&past
kann ich das innerhalb von 20min wieder aufbauen ich haette keinen
Anreiz zu verteidigen, die Daemoenen koennen ja nicht so viele EP's bringen.

Anakin (faul)

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



Re: Vandalierende Daemonen (Asmodis, 24. Jul 1995, 10:11:14):
#! rn=Ulo rt=806533810
Hmm, versteh ich nicht ganz, wer sollte verhindern wollen, dass ein fremdes
Seherhaus zerlegt wird? geht einen doch nix an :)

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



Re: Re: Vandalierende Daemonen (Asmodis, 24. Jul 1995, 10:13:46):
#! rn=Baboon rt=806569364
Wie beschreibt man denn Seherhaeuser mit tf?? erzaehl mal :)

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



Re^3: Vandalierende Daemonen (Anakin, 24. Jul 1995, 10:18:45):
#! rn=Asmodis rt=806573626
Stimmt wie macht man dass mit tf? Ich hab da noch keinen Weg gefunden.

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



Re^3: Vandalierende Daemonen (Snuggle, 24. Jul 1995, 10:48:53):
#! rn=Anakin rt=806570215
Well, an dieser Stelle auch mal ein Pfennig von mir.
Es mag ja sein, dass manche Seher per cut&paste in 20 Minuten wieder stehen
haben. Ich hab mein Haus mangels tf oder aenhlicher Gehhilfen von Hand
eingetippt (einzige Ausnahme: das Manuskript in der Bibliothek) und die
meisten Beschreibungen daher auch nicht zu Hause gespeichert.
Eine Daemonenparty wuerde etliche online-Stunden zunichte machen und es ist

mehr als unwahrscheinlich, dass ich es wieder so hinkriege.

Und wenn von 5 eingeloggten Sehern einer questet, einer in der Burg und einer
in der SSP steckt, kann man auch nicht allzuviel Hilfe
erwarten (und ich denke dieses Szenario ist nicht voellig unwahrscheinlich)

Weiterhin: was ist, wenn ich nur mal kurz da bin, um nach Post zu sehen
und den Moment suchen sich die Daemonen aus, um bei mir ne Fete zu machen?
Wird die abgeblasen, wenn ich auslogge? (waere zu einfach) oder muss ich halt
dableiben, bis sie platt sind (geht aus offensichtlichen Gruenden nicht),
bleibt also nur, sich ins Unvermeidliche (?) zu fuegen...(?)
Ansonsten: lasst die Daemonen kommen. Aber bitte keine irreparablen
Zerstoerungen.

YT Snuggle

P.S. Im ersten Satz fehlt ein 'ihr Haus'
P.P.S. Mit Burg meine ich natuerlich die Daemonenburg
P.P.P.S. Ich hasse Editoren, die nicht Editieren.

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



Re^4: Vandalierende Daemonen (Anakin, 24. Jul 1995, 11:07:45):
#! rn=Snuggle rt=806575733
Hmm ich frag mich noch was mir tf geholfen hat beim Hausbeschreiben.
Es hat nicht eine Zeile alleine geschrieben. TF hat damit auch
garnix zu tun (und andere Clients auch nicht). Um es neu zu beschreiben
braucht man ein FensterSystem (X oder Windows) und wenn man seine
Beschreibung
als File hat, geht das relativ schnell. Hmm oder hat jemand ne
Moeglichkeit tf Beschreibungen zu machen ??

Anakin.

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



Re^5: Vandalierende Daemonen (Engywuck, 24. Jul 1995, 11:09:45):
#! rn=Anakin rt=806576865
Wenn Du kein X hast, kannst Du mit "quote" Dateien aus Deiner Unixoberflaeche
ins Mud einlesen. Also in diesem Falle direkt in den Beschreibe-Editor.

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



Re^6: Vandalierende Daemonen (Anakin, 24. Jul 1995, 11:11:15):
#! rn=Engywuck rt=806576985
Psst Engy.

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



Re^5: Vandalierende Daemonen (Asmodis, 24. Jul 1995, 11:14:59):
#! rn=Anakin rt=806576865
finde ich auch, die Beschreibungen muss man trotz tf oder anderer 'Gehhilfen'
immer noch per Hand eingeben, sei es nun hier im MUD, oder in ein anderes
Fenster :)
naja, ich paste es einfach mit der maus rueber, ist das einfachste, kenne ja
bessere Editoren als dieser hier :)

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



Re^3: Vandalierende Daemonen (Baboon, 24. Jul 1995, 11:15:34):
#! rn=Asmodis rt=806573626
ich machs nicht. Insbesondere, wos jetzt die Moeglichkeit zum aendern
gibt. Aber ich hab von Wargon gehoert, das es Leute gibt, die das mit tf
machen.

Baboon.


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



Re^4: Vandalierende Daemonen (Wargon, 24. Jul 1995, 11:26:50):
#! rn=Baboon rt=806577334
Naja, nicht unbedingt mit tf, man kann auch ein normales telnet durch
reinpasten mit einem Beschreibungsskript fuettern...
Aber eine vandalierende Daemonen-, Ork- oder WasWeissIch-Horde, die einfach
an den Beschreibungen rumfummelt, wirde es in MEINEN (ok, ok, auch Boings und
Jofs) Haeusern NICHT geben! Ich habe naemlich keine Lust, alle Nase lang die
Beschreibungen restaurieren zu muessen (ihr glaubt gar nicht, wie oft sowas
gespeichert wird...)
Meinetwegen koennen die Viecher gerne die Jolle versenken oder Beschreibungen
von normalen Raeumen aendern (die sind beim naechsten Laden der Raeume wieder
da)...
  Wargon

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



Re^5: Vandalierende Daemonen (Anthea, 24. Jul 1995, 11:31:02):
#! rn=Wargon rt=806578010
Au ja, das waer doch was. Die Daemonen spielen Schiffsbesetzer, lassen dann
freiwillig keine Spieler mehr auf die Schiffe und versenken sie irgendwann. Um
das Schiff von der Versenkung zu retten muss es freigemetzelt werden :)
 Anthea

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



Re^6: Vandalierende Daemonen (Wargon, 24. Jul 1995, 11:32:50):
#! rn=Anthea rt=806578262
*grins* ...und es kommt natuerlich keiner mehr aufs Schiff, weil es voller
Daemonen ist.

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



Re^7: Vandalierende Daemonen (Anakin, 24. Jul 1995, 11:34:11):
#! rn=Wargon rt=806578370
Naja es will ja eh keiner auf irgendwelche bloeden Inseln :)


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



Re^8: Vandalierende Daemonen (Slash, 24. Jul 1995, 11:37:00):
#! rn=Anakin rt=806578451
vielleicht mit den schiffen nicht ganz so gut, denn die seher benutzen die
portale...
es sollte etwas sein, wovon seher und abenteurer gleichermassen betroffen
sind, z.b. PV

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



Re^9: Vandalierende Daemonen (Boing, 24. Jul 1995, 11:52:00):
#! rn=Slash rt=806578620
Na ist doch ganz einfach: Die Daemonen besetzten alle Portale und Haupt-
wege und lassen keinen mehr durch ohne kraeftig zur Kasse zu bitten. :)
  Boing

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



Re: Vandalierende Daemonen (Creative, 25. Jul 1995, 21:43:17):
#! rn=Ulo rt=806533810

Hm, hilft ein Treiber resetten? :)
Bzw. MUD crashen?
(hm, ist wohl kaum einem Seher gelaeufig, wie :)))

-Crea-

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



Re^10: Vandalierende Daemonen (Anthea, 26. Jul 1995, 10:51:57):
#! rn=Boing rt=806579520
Au ja, die Daemonen richten Mautstationen ein, jeder muss 10% seines Geldes
bezahlen, oder alle fallen gemeinsam ueber ihn her. Das duerfte doch alle
gleichmaessig betreffen oder? Und die Mautstationen wandern durch die Gegend,
so dass man nie weiss, wo sie gerade sind :)
  Anthea

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



Re^11: Vandalierende Daemonen (Jof, 26. Jul 1995, 13:02:16):
#! rn=Anthea rt=806748717

 Hm koennte das vielleicht von den Gebuesch/Haus/Hoehlen-Raeubern inspiriert
sein? :)

Jof

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



Re^5: Angriff (Hardil, 26. Jul 1995, 15:04:54):
#! rn=Jerrico rt=806246005
Hmmm - ich haette gar nichts dagegen, wenn Daemonen PV ueberfallen.
Club-Mitglieder koennen sich naemlich wunderbar im Clubhaus verschanzen, und
Fitzikai-Tarzan wirft jeden Daemonen, der in den Versammlungsraum will, raus.
:-)
Just my 2 pennies

Hardil. Hilfshaeuptling. Derzeit. :-)

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



Re^6: Angriff (Jof, 26. Jul 1995, 17:17:42):
#! rn=Hardil rt=806763894

 Oh keine Sorge, wir wuerden den Daemonen Dynamit in Massen geben, mit dem
sie das Clubhaus von aussen dem Erdboden gleichmachen koennten :)

 Jof

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



Re^7: Angriff (Jof, 26. Jul 1995, 17:20:30):
#! rn=Jof rt=806771862

 Allerdings faellt mir grad ein, das es sehr fraglich ist, ob sie es
wirklich
einreissen wuerden; schliesslich sind es ja boese Daemonen, und es ist immer-
hin das Clubhaus der Freunde ihrer flohbeuteligen kleineren Verwandten :)

 Jof

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



Re^8: Angriff (Asmodis, 26. Jul 1995, 18:00:08):
#! rn=Jof rt=806772030
Jo, lasst doch einfach ne Armee von Wolpertingern PV stuermen und jedes
Nicht-Club-Mitglied,
das sie knuddeln faellt tot um (Knuddelvirus).

:)

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



-!! Liste (Ronda, 27. Jul 1995, 11:37:37):
Koennte man bei -!! zusaetzlich einbauen, dass man sieht, welche
Kanaele man davon anhat?
ICH WEISS, dass es -! gibt, aber so waere es noch uebersichtlicher =:)
JMTP,
                    Ronda

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



Gewaltgeile Seher on tour - PV 1995 (Ryne, 27. Jul 1995, 13:01:04):
hi!

Ok, ich hab diese ganze Ueberfall-Geschichte auf Port Vain in der Zeitung
verfolgt, mich aber bisher da rausgehalten; mittlerweile denke ich aber, das
es Wege geben wuerde, um allen Interessen in dieser Diskussion gerecht zu
werden:

1. Konzept: Ueberfall von Daemonen (oder wie auch immer sie heissen werden)
auf Port Vain - warum Port Vain ? Weil das die einzige Stadt ist, zu der die
meisten wohl (wenn ueberhaupt) hier eine Beziehung haben, wo es auch Spass
machen wuerde, sie zu verteidigen. Obendrein hatte Jof gestern die Idee, das
Bankgebaeude nach PV zu legen, mit der Folge, dass bei einem geglueckten
Ueberfall die Bank kein Geld mehr haette - womit die Laeden auch fuer einige
Stunden nichts mehr zahlen koennten. Das waere sicher ein gewisser Anreiz.
Ausserdem: die Angriffe haben einen Rhytmus von ca. 48 Stunden, so dass man
nicht dauernd die Keilerei in PV hat, obendrein findet ein Angriff nur statt,
wenn mind. 5 als Stadtwaechter gekennzeichnete Seher im Spiel sind.

Zu der Taktik der Daemonen braucht man hier wohl noch nichts zu schreiben,
denn es geht ja wohl erstmal darum, sich ueberhaupt zu entscheiden, ob sowas
programmiert wird oder nicht.


1. Problem: Es will nicht jeder angegriffen werden, die laggeplagten wollen
nicht mitkaempfen - laesst sich am einfachsten regeln, indem nur diejenigen
angegriffen werden, die sich vorher irgendein Siegel des Stadtwaechters
besorgt haben. Freiwillig. Duerfte dieses Problem wohl loesen.

2. Problem: Die Leute, die sich beim unterhalten gestoert fuehlen. Duerfte
sich loesen lassen, indem man die Gilde von dem Angriff verschont; dann kann
man dort in Ruhe weiteridlen. Und die Toleranz den anderen Mitspielern
gegenueber duerfte ausreichen, sich zum quatschen - wenns denn in PV sein muss
- fuer 30 Minuten auf die Gilde zu beschraenken (so lange duerfte ein Angriff
ca. dauern).

3. Problem: Gaeste - man will diese natuerlich nicht verschrecken, wenn da
irre Horden durch Port Vain laufen. Deshalb mein Vorschlag: WENN gerade ein
Angriff stattfindet, ist es doch sicherlich moeglich, Gaeste in der
Zwergenkapelle oder der Elfensiedlung starten zu lassen ?! Diese sind fuer
Anfaenger nicht weniger attraktiv als Port Vain, ausser der Uhr und der
questliste (die sich sicherlich einbauen liessen) unterscheiden sich die
Startpunkte auch nicht von der Gilde - da duerfte doch auch kein Problem
liegen, oder ?

Ok, ich weiss nicht, ob ich was vergessen habe, aber ich glaube, diese
Vorschlaege koennten doch als Grundlage fuer einen Kompromiss beider
Interessengruppen funktionieren.

Ryne
- glaubt, dass man in diesem Mud alle unter einen Hut kriegen sollte und kann
-
~1


- und aergert sich ueber Leute wie Socrate, die einfach  Andersdenkende als
"Gewaltgeile" bezeichnen, ohne in irgendeiner Form Einblick in die Materie Mud
zu haben, weil sie sich dort nicht auskennen.

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



Re: Gewaltgeile Seher on tour - PV 1995 (Rxtech, 27. Jul 1995, 13:25:10):
#! rn=Ryne rt=806842864
Ryne ist mein Vorbild, der kann so tolle Artikel schreiben :))

Aber im ernst. Ich find das so in Ordnung, nur eine Sache hab ich
noch. Ich waere dann gern so ein Stadtwaechter und wuerd mir
das Siegel holen. Ich denke nur, dass da ein Haken an der Sache ist, denn ich
bin oft dile und wenn es anderen auch so geht, dann steh ich irgendwo rum, die
Daemonen sehen dass ich da bin und vielleicht noch 4 andere idle Seher und
legen alles in Schutt und Asche und ich krieg hinterher den Anschiss, dass
keiner mehr was im Laden verkaufen kann und ich das Siegel ja nur zum angeben
dabeihabe. Koennte man da nicht ne idle-Abfrage oder so machen, dass 5
Waechter der Stadt diuee weniger als 3 min idle sind da sein muessen oder
sowas? Sonst kann das mal ins Auge gehen. Odre das man das Siegel ein und
ausschalten kloennte oder sowas in der Art.

my last problem to this topic

Rx

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



Re: Re: Gewaltgeile Seher on tour - PV 1995 (Jerrico, 27. Jul 1995, 13:34:16):
#! rn=Rxtech rt=806844310
ich denke ryne meinte, man muss sich das zeichen des verteidigers vor jedem
angriff ne holen.

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



Re^3: Gewaltgeile Seher on tour - PV 1995 (Jerrico, 27. Jul 1995, 13:34:46):
#! rn=Jerrico rt=806844856
*raeusper*
....neu holen muss.

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



Re^4: Gewaltgeile Seher on tour - PV 1995 (Rxtech, 27. Jul 1995, 13:37:34):
#! rn=Jerrico rt=806844886
Tja, immer neu holen ist sone Sache, weil ich ja dann immer nasch dem
einloggen nach PV muesste um dies Siegel zu holen. Das wuerd ich sicher nach
ein paar wochen vergessen

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



Re^5: Gewaltgeile Seher on tour - PV 1995 (Ryne, 27. Jul 1995, 13:48:28):
#! rn=Rxtech rt=806845054
aeh - nein, an neu holen hatte ich nicht gedacht... es sollte schon an einem
haften bleiben, das Siegel, allerdings sollte man vielleicht seinen Vertrag
als Stadtwaechter kuendigen koennen.
Gut finde ich die Idee, dass der Angriff zunaechst einmal abfragt, ob
ueberhaupt 5 NICHT idlende Stadtwaechter drin sind, nur dann starten sie den
Angriff ueberhaupt.


Ryne

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



Re^6: Gewaltgeile Seher on tour - PV 1995 (Snuggle, 27. Jul 1995, 16:10:03):
#! rn=Ryne rt=806845708
Ich will ja nicht noergeln oder so, aber wenn ich in ner Quest stecke,
idle ich nicht und bin eventuell trotzdem nicht in der Lage, PV zu
verteidigen.
Muss man dann den Vertrag jedesmal kuendigen, bevor man ne Quest anfaengt?


YT Snuggle

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



Beetle macht sich Gedanken... (Beetle, 27. Jul 1995, 18:53:07):
Vorrede:
auch ich spiele mit dem gedanken, wenn ich einmal soweit sein sollte,
eventuell magier zu werden (weil ich einfach gern eigene quests programmieren
wuerde). nun mein problem:
wie soll sich das MG eigentlich entwickeln? gibt es in einem jahr 20 neue
magier und 40 neue quests? falls ja, dann kommt doch bestimmt der punkt,
wo im gleichen zeitraum, in dem ich eine quest loese, zwei neue hinzukommen.
d. h. mit jedem AP, den ich mir erarbeite, steigt die grenze zum seher-level
um 2 punkte an. wie soll man den dann noch seher (bzw. magier) werden?
werden dann alte quests geloescht? oder duerfen nur noch ausgewaehlte magier
neue schreiben?
oder muessen die alten magier dann kuendigen? Oder wo oder wie oder was?
falls es dafuer schon regelungen gibt, seid so gut und erklaert es mir
trotzdem...
beetle, der unwissende

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



Re: Beetle macht sich Gedanken... (Catweazle, 27. Jul 1995, 18:59:42):
#! rn=Beetle rt=806863987
Hm!
Pro Jahr 40 Neue Magier und 20 neue Quests waere schoen :)
Nein, nein, die bekommst keine Probleme deine AP-Anforderung nachzu-
holen, das ist dadurch geregelt, das die Anzahl der AP, die Du benoetigst
um Magier zu werden, in dem Augenblick festgelegt werden, in dem Du Deinen
Charakter erschaffst, also zum ersten mal einloggst. Diese benoetigte Anzahl
ist (glaub ich) im Moment 70% der MOMENTANEN GesamtAPs. Es koennen
dementsprechend neue Quests dazukommen. Deine benoetigte APMenge steigt
allerdings nicht weiter an.
Waere aber trotzdem interessant, ob unser Mud irgendwann mal ins unendliche
expandiert oder langsam stagniert ( oder kollabiert). Ein richtig kleines
Universum unser MUD, hm? :-)
Yours truly,
   Catweazle

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



Re: Re: Beetle macht sich Gedanken... (Asmodis, 27. Jul 1995, 19:19:30):
#! rn=Catweazle rt=806864382
Hmm, soviel ich weiss, braucht man aber aus jeder Gruppe eine
bestimmte Anzahl Quests, wenn es nun laufend neue Quests gibt, wird das auch
angepasst ?? Oder zaehlt da auch der Stand beim einloggen ??
Ansonsten werden es doch mehr AP, sie man braucht :)

      Ciao, Asmodis (*Senftube ausdrueck*)

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



Re^3: Beetle macht sich Gedanken... (Asmodis, 27. Jul 1995, 19:19:56):
#! rn=Asmodis rt=806865570
beim erstmaligen einloggen, meinte ich natuerlich :)

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



Re^3: Beetle macht sich Gedanken... (Socrate, 27. Jul 1995, 20:16:46):
#! rn=Asmodis rt=806865570
Hallo!
Hm, Asmodis du bist jetzt Level 28. ist es dir noch nicht aufgefallen, dass
wenn in einer Gruppe eine Quest dazu kommt, auch die Anzahl steigt, der Quests
die du auslassen kannst? Also die Anzahl der Punkte die du benoetigst, erhoeht
sich nicht. Es erhoet sich nur die Anzahl der Punkte die du erreichen kannst.
Gruss
Socrate

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



Kalate :) (Jaf, 28. Jul 1995, 22:29:12):

Also, den neuen Kalate-Kanal find ich witzig :)

Jaf. Floh, kein 'l' im Namen zu haben :)

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



Re: Kalate :) (Ryne, 28. Jul 1995, 22:31:48):
#! rn=Jaf rt=806963352
Naja,
auch wenn ich ein l im namen habe, die idee ist echt stalk!

Lyne.

Moechte oeftel so begluesst welden.

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



Re: Re: Kalate :) (Cuchullin, 28. Jul 1995, 23:06:12):
#! rn=Ryne rt=806963508


Jo, witzig.

Cuchurrin. Oder wie oder was?

PS: Ab nach Schmarrn :)


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



Berufe (Morgoth, 29. Jul 1995, 19:30:17):
Hm...is ne seltsame idee, aber ... naja lests euch durch....
Wie schon dem titel zu entnehmen gehts um berufe. Wie waers, wenn man eine
ganz normale ausbildung zum Baecker, Maurer, wasweissichwas machen kann.
Zur Baeckerausbildung gehoert dann das warten der Muehle, mehl mahlen, brote
backen und ausliefern usw.
Waer das nicht mal was...dann waeren die titel auch mal etwas bunter...
<XXX> der hoffnungslose Baeckerlehrling **grins**
Morgoth

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



Alarins Schmuck (Baboon,  1. Aug 1995, 08:28:42):

Ich haette da mal einen Vorschlag: Macht doch bitte den Schmuck von
Alarin "Verkaufsfest". Das heisst, das man ihn nicht mehr durch ein
"Verkaufe alles" verliert. Genau das ist mir naemlich letztens wieder
in Moron passiert, als ich mal wieder das ganze Inventory mit Zeug voll
hatte, aber kein Paket zur Hand. Gedankenverloren hab ich alles verkauft
und schon war der Schmuck weg. Das ist erstens aergerlich und zweitens
besonders fuer den, von dem man den Schmuck hatte, besonders wenn er's
rausfindet :-). Sonst wird doch alles moegliche und unmoegliche Rebootfest
programmiert. Z.B. der Planeditor, den man nur alle paar Online-Jahre mal
braucht (ich zumindest) oder die Einladung aus der Narrenball-Quest,
obwohl es doch kaum eine Zumutung darstellen duerfte, sich eine neue zu
holen, wenn man schon von nem Crash/Reboot ueberrascht wird. Warum also geht
das nicht mit dem Schmuck?

Baboon.

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



break_string bei emotes (Ronda,  1. Aug 1995, 11:19:18):
Koennte man nicht in emotes einen zeilenumbruch bei Space einbauen? Ist mir
nur
grade aufgefallen...
Sorry fuer den Zeilenumbruch hier, PC-Terminal *schauder*
Just my two Yen,
                    Ronda

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



Titel (Rochus,  1. Aug 1995, 14:33:43):
Wer jetzt mal "Ende" macht und nicht in der Abenteurer-Gilde ist
sollte neue Titel bekommen...
Selbstgesetzte Titel koennten verlorengehen, aber nur einmal.

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



Kampfsystem (Maso,  1. Aug 1995, 18:37:33):
Hi!
Mal eine Idee von mir:
Wie waers mit einem anderen Kampfsystem in der Arena?
Und zwar istr es folgendermassen gedacht (Wer Lost Worlds kennt, wird wohl
ein paar Gemeinsamkeiten finden koennen :-):
Jeder der Kaempfer kriegt eine Situationsbeschriebung vorgesetzt (Ihr steht
Euch gegenueber, Du bist auf der Linken Seite von Deinem Gegener, Du liegst
auf dem Boden etc.) Und eine Liste mit Moeglichkeiten( Zuschlagen, vorsichtig
Zuschlagen, sich zurueckziehen, ausweichen, eine Finte schlagen etc.). Wenn
Beide ihre Auswahl getaetigt haben, schau das Kampfsystem nach, wie sich die
Situation entwickelt, wer welche Treffer einstecken muss etc. Dann gehts
wieder von vorne los, bis einer sich ergibt, getoetet wird oder abhaut (so,
nach 4-mal zurueckziehen oder so..)
Na, wie waers?
   Maso...

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



Re: Kampfsystem (Durian,  2. Aug 1995, 11:21:58):
#! rn=Maso rt=807295053
Nette Idee ...

Dies bedeutet lediglich, dass das existierende Kampfsystem ... neu
geschrieben
werden muss. Sorry, aber dazu bin ich nicht bereit, dazu fehlt mir neben der
Zeit vor allem die Lust! Sorry ...

Dennoch ist natuerlich auch einer der aeltesten eingetragenden Gesellschaften
des MorgenGrauens, der MorgenGrauenArenaBetreiberGesellschaft MGABG klar,
dass die Attraktivitaet der Arena gesteigert werden muss. Es existieren
bereits konkrete Plaene, bei der es unter anderem den Wettbewerb um den
staerksten Seher geben wird. Die Frage lautet: wer traut sich gegen das
staerkste Monster? Versucht sich jemand an einem noch staerkeren? Wer haelt
durch? Wer hat den Titel Seher als Kampftitel nicht verdient?

Dies nur als Vorgeschmack, jetzt muesste mir nur jemand bitte mal eine
Woche Zeit schenken ... naja, die Zeit wird es schon bringen!

- Durian

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



Re: Re: Kampfsystem (Mupfel,  2. Aug 1995, 15:27:50):
#! rn=Durian rt=807355318
au ja... ich weiss schon ein monster...

-mupfel-

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



Re^5: Emote-Erweiterung (Sique,  4. Aug 1995, 22:02:27):
#! rn=Icet rt=806109253
Da finde ich die Idee von Nightfall aber besser.
Dort kann man sich einfach neue Verben definieren.
Vorteil: Nur einmal vertrackte Syntax, dann immer wie gewohnt
verb person sonstiges... :)

                                        Sique

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



Re: Re: Beetle macht sich Gedanken... (Sique,  4. Aug 1995, 22:10:45):
#! rn=Catweazle rt=806864382
Aehm... wie sieht es mit einem Uraltspieler wie mir aus, der zu einer
Zeit entstanden ist, als es erst eine Quest zum Betatest gab?
Wieviel AP brauch ich, um Magier zu werden? (Ich weiss, das ist einee
eher akademische Frage, normalerweise bleib ich solange Spieler in einem
Mud, bis mich irgendwelche Magier mit Gewalt "befoerdern" :) )

                                           Sique (neugierig)

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



Re^3: Beetle macht sich Gedanken... (Asmodis,  5. Aug 1995, 01:02:15):
#! rn=Sique rt=807567045
Sique ist Uraltspieler?? *huch*
Da hat er sich mit nur 11 MUD-Tagen aber sehr rar gemacht :)

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



Re^4: Beetle macht sich Gedanken... (Caradhras,  5. Aug 1995, 01:34:02):
#! rn=Asmodis rt=807577335
Und, Asmodis? :-) Ich bin auch seit Anfang '92 schon Wizard in TUBmud und
mein player ist insgesamt 13 Tage alt. Momentan aber nur 1 Tag, weil
es mal nen plattencrash gab. :-)

          Tschoe            Caradhras

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



Re^3: Kampfsystem (Cuchullin,  7. Aug 1995, 12:25:23):
#! rn=Mupfel rt=807370070

Jemand, der ein solches oder aehnliches Kampfsystem - wie vorgeschlagen -
testen moechte, moege sich auf die Steine in Silvanas neuem Wald (somewhere
near Chilana ;-)) begeben und warten, bis ein zweiter Spieler ankommt.
Hilfefunktion ist in mehr als nur ausreichender Art vorhanden.

Silvana schon wieder lobend,
Cuch


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



And I think to myself: What a wonderful world ! (Ryne,  7. Aug 1995, 14:28:41):
Hmpf.

Leude, Leude, da fehlen noch ein paar Zeilen zwischen all den Beschwerden,
die sich in der Zeitung haeufen...

Wo ist der Beschwerdeartikel darueber, dass seit Oktober 94 die Stats der
Spieler um gesamt +6 hochgesetzt wurden, und damit 6 ZTs quasi geschenkt
wurden ?
Wo ist das Gejammere ueber die Sonderwaffen, die will ich gar nicht alle
aufzaehlen, die immer zum richtigen Zeitpunkt im Kampf eine Wolke Eis oder
einen Blitz von sich geben ?
Wer heult sich darueber aus, dass man mit dem Ring vom Klitzeldrom nunmehr
seine Stats individuell nach oben setzen kann ?
Und ueberhaupt, hat Boing einer drum gebeten, den Lichtspruch einzubauen ?
Nein, also, warum beschwert sich keiner drueber ?
Und der Zugang zur Feuerebene, und dann das Feuerschwert, da hab ich auch
kein Gemecker drueber gehoert ?!!

Und vor allem: WO bitteschoen sind denn die Karateka, die ja wohl alle
festgestellt haben, dass es da einen Schlag gibt, der mit Abstand
wirkungsvoller ist, als alle anderen, und, weil dieser Schlag nicht so richtig
in das Karate-Konzept passt, sich hierueber beschwert haben, und eine
Anpassung dieses Schlages fordern ?

Also, versteht mich nicht falsch, ich finde all diese Verbesserung der
Spielersituation in der letzten Zeit auch Klasse; aber gerade weil eben auch
andauernd neue Sachen dazukommen, die die Spieler staerker machen, sollte man
sich nicht allzusehr darueber aergern, wenn das Rad auch mal etwas
zurueckgedreht wird, oder ?

Ryne


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



Re^3: Beetle macht sich Gedanken... (Boing,  8. Aug 1995, 11:31:53):
#! rn=Sique rt=807567045
Du benoetigst 80% der Punkte, die es gab, als wir die Regelung einfuehrten,
dass der 80%-Wert vom ersten einloggen im Spieler konstant bleibt. Das
duerften 1196 oder so aehnlich sein.
  Boing

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



Re^6: Emote-Erweiterung (Icet, 10. Aug 1995, 02:41:22):
#! rn=Sique rt=807566547
Genau das macht das UNItopia-System, Sique ;-)

-IceT

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



Abenteurer-Spruch identifiziere (Boing, 10. Aug 1995, 10:09:16):
Ich habe die Stufe um den 'identifiziere'-Spruch zu lernen auf 8 herunter-
gesetzt.
  Boing

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



Re: Abenteurer-Spruch identifiziere (Charly, 10. Aug 1995, 14:26:28):
#! rn=Boing rt=808042156
koennte sein das ich mich durch meine frage selbst als
'unwissend' entlarve, aber kann mir mal wer sagen, wozu 'identifiziere'
gut ist ?!? ich hab den spruch seit 2 monaten, aber gebracht hat er
mir noch nix.

charly (schon immer dumm gewesen)

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



Re: Re: Abenteurer-Spruch identifiziere (Boing, 10. Aug 1995, 14:53:00):
#! rn=Charly rt=808057588
Er ist dazu da verborgene Eigenschaften von Objekten zu kennen, das wird
von Magierseite leider noch zu wenig genutzt, ich hoffe, dass es aber
in Zukunft besser wird und der Spruch dadurch an Brauchbarkeit gewinnt.
  Boing

PS: vergleiche 'hilfe identifiziere'

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



Re^3: Abenteurer-Spruch identifiziere (Bobo, 10. Aug 1995, 15:04:48):
#! rn=Boing rt=808059180

Ja, Boing,
eine entscheidende Feststellung hast Du bereits getroffen: die Anwendbarkeit
des 'identifiziere'-Spruchs ist denkbar gering, und selbst wohlmeinende
Abenteurer lassen irgendwann davon ab, ihre Magiepunkte dafuer aufzuwenden,
nach mehrmaligen erfolglosen Versuchen (gut, man lernt nie aus...) die
hochinteressante Meldung 'Du kannst nichts besonderes an dem Bippus erkennen'
lesen zu duerfen. Das ist ja nicht nur ein punktetechnisches, sondern auch
ein Zeitproblem: wenn die Wahrscheinlichkeit, damit brauchbare Informationen
gewinnen zu koennen, so gering wie bisher ist, wird man aus Effizienzgruenden
in der Mehrzahl der Faelle davon Abstand nehmen. Schade eigentlich, aber
moeglicherweise schon nicht mehr zu aendern. Es sei denn, die von Dir
kuerzlich durchgefuehrte Neuerung animiert Spieler und Magier gleichermassen,
sich in Zukunft der Anwendung dieses Features zu befleissigen...
Gespannt nach vorne blickend,
twBs.

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



Re^4: Abenteurer-Spruch identifiziere (Jaf, 10. Aug 1995, 16:06:54):
#! rn=Bobo rt=808059888

Aehm... nicht, dass ich was gegen ein erweitertes Einsatzgebiet des
'id'-spruchs haette, aber das Argument mit den paar verlorenen mp fuer
einen fehlgeschlagenen Verusch leuchtet mir irgendwie nicht ein.
Soooo schlimm isses ja weiss Jof nicht :)

Fyt.

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



Re^5: Abenteurer-Spruch identifiziere (Bobo, 10. Aug 1995, 17:09:05):
#! rn=Jaf rt=808063614
Nein, Fyt,
das wuerde mir auch nicht einleuchten, wenn's nur die mp waeren. Aber lies
einfach den Artikel ein bisschen weiter. Oder begib Dich in ein Gebiet Deiner
Wahl (ich hab's grade noch an verschiedenen Stellen ausprobiert) und tippe
hinter jedes untersuche <blablubb> noch ein identifiziere <blablubb>. Mal
sehen, wie lange Du das tust...
Nein, jetzt komm mir nicht mit der Akademiestrasse oder PV. Wo nicht mal ein
Boden beschrieben ist, werd' ich selbstredend auch nix identifizieren wollen.
Aber wenn selbst in Questgebieten das Signal/Rauschverhaeltnis ein gewisses
Level nicht ueberschreitet, wird man als Abenteurer nicht gerade zum
exzessiven Gebrauch dieses (von der Idee her durchaus interessanten) Spruchs
verfuehrt. Oder gibt es Gegenbeispiele? Wer identifiziert besonders eifrig?
Thanx for your attention,
twBs.

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



Schmuckfehler!? (Dwight, 10. Aug 1995, 17:27:03):
Holla

Mich nervt seit laengerer Zeit mein (Schmuck-) Ring...
Will ich einen anderen Ring ablegen, oder wegstecken kommt immer die Meldung:
Du musst den Ring vorher ausziehen, obwohl ich nur noch den Schmuckring trage.

Kann sich mal jemand drum kuemmern und nachsehen, woran es liegt?
Ich hab schon ein paar mal rumgefragt, aber keiner kannte das Problem, oder
hat ihn interessiert, darum versuch ich es jetzt ueber die Zeitung.

mal sehen, ob Jemand was dran aendern kann.. :)

Tschue
          Dwight

PS: Falls es das Problemmit dem neuen Schmuck nicht mehr gibt, vergesst
alles, der Ring ist schon aelter...

PPS: Auserdem weiss ich, dass ich das Problem leicht umgehen koennte, aber
das ist doch nicht Sinn der Sache, also keine tollen Vorschlaege wie 'machDir
nen Ali dafuer' oder 'lass ihn doch ausgezoegen ;-)

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



Re^6: Abenteurer-Spruch identifiziere (Boing, 10. Aug 1995, 17:41:29):
#! rn=Bobo rt=808067345
Ah, da hast Du wohl was falsch verstanden, man kann nur echte Objekte
identifizieren, also Zeugs was im Raum liegt oder man mit sich
rumtragen kann. Alle raum-details zu identifizieren waere wohl ein
bisschen uebertrieben. :)
  Boinmg
  Boing meine ich :)

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



Re^7: Abenteurer-Spruch identifiziere (Bobo, 10. Aug 1995, 18:38:24):
#! rn=Boing rt=808069289

Danke, Boing,

das reduziert den Aufwand erheblich. Vielleicht hat die Debatte nebenbei
dafuer gesorgt, die Existenz des Spruchs noch staerker ins Gedaechtnis zu
rufen und somit ihr Gutes auch fuer alle anderen gehabt. Thanx again,
twBs.

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



'behalte'-Befehl (Jof, 10. Aug 1995, 20:14:00):

 Der neue Befehl 'behalte' erlaubt es, Gegenstaende so zu markieren, dass
sie
bei 'verkaufe alles' nicht verkauft werden. 'behalte steinbeisseramulett'
zB sollte dafuer sorgen, das das Amulett nicht aus Versehen bei 'verkaufe
alles' mit verschwindet (gilt auch fuer 'versetze alles'). Erneute Eingabe
des o.g. Befehls hebt die Markierung wieder auf. Behalte ohne Argument listet
die markierten Gegenstaende auf. Wie immer ist ein einmaliges komplettes Aus-
loggen (schlafe ein reicht nicht) noetig, um den Befehl nutzen zu koennen.

 Jof

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



Re: 'behalte'-Befehl (Caradhras, 10. Aug 1995, 22:31:27):
#! rn=Jof rt=808078440
                    Huhu

Da habe ich gleich mal eine Frage dazu, Jof:
Nehmen wir mal an, ich habe normalerweise 2 Schleimbeutel dabei.
Markiere also diese 2 zum behalten. Dann nehme ich 5 andere mit.
Was passiert wenn ich jetzt verkaufe alles mache? Sind die 2
Beutel genau die, die ich markiert habe? Oder sind es die ersten
2 in der Liste? Oder...?
Diese Problem stellt sich deshalb, weil ich meist Beutel 1 nehme
fuer unnuetze Dinge zum verkaufen, und Beutel 2 fuer Dinge die
ich noch brauchen kann zum weitergeben, verschenken..., also
wertvollere Dinge.

Hab ich das gut genug erklaert? Hoffentlich :-)

        tschoe         Caradhras der ewige Prophet

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



Re: Re: 'behalte'-Befehl (Jaf, 10. Aug 1995, 22:58:15):
#! rn=Caradhras rt=808086687

Egal wie's funktioniert, alleine der Versuch ist ein riesiges Lob wert :)

Fyt.

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



Re^3: 'behalte'-Befehl (Caradhras, 11. Aug 1995, 00:41:22):
#! rn=Jaf rt=808088295
Jau, natuerlich, ist klasse :-) *freu*

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



Re^4: 'behalte'-Befehl (Caradhras, 11. Aug 1995, 02:45:37):
#! rn=Caradhras rt=808094482
Uebrigens wurden bei mir Eintraege aus der 'behalte'Liste
geloescht, keine ahnung warum, ich hatte es auf alle Faelle kein
zweites mal eingegeben. 2 Bummis waren auf einmal aus der Liste
verschwunden.
Und bei Golum hat es anscheinend bei einem SB-Amulett nicht funktioniert,
das markieren bzw. es wurde mitverkauft.

        tschoe       Caradhras

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



Re^5: 'behalte'-Befehl (Boing, 11. Aug 1995, 07:48:03):
#! rn=Caradhras rt=808101937
Ich bin mir nicht sicher, ob Jof das schon gemacht hat, aber es koennte
sein, dass noch nicht alle Laeden das neue feature nutzen koennen und
es deshalb noch zu 'Versagen' der Funktion fuehrt.
  Boing

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



Re: Re: 'behalte'-Befehl (Jof, 11. Aug 1995, 11:17:09):
#! rn=Caradhras rt=808086687

 Es sind natuerlich genau die, die Du markiert hast; wie es in einem OO
 Es sind natuerlich genau die, die Du markiert hast; wie es in einem OO
System sein sollte, 'weiss' schliesslich jeder Beutel fuer sich selbst,
ob er markiert ist oder nicht :)

 Jof

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



Re^6: 'behalte'-Befehl (Jof, 11. Aug 1995, 11:18:39):
#! rn=Boing rt=808120083


 Ich hatte eigentlich alle Laeden geupdated gestern; sollte es irgendwo
schiefgehen, heisst das, das der Laden mal wieder nicht /std/laden
benutzt *grr*. Sowas sollte unbedingt ausgemerzt werden, sagt uns also
bitte, um welche Laeden es sich handelt.

 Jof

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



Re^4: Beetle macht sich Gedanken... (Sique, 11. Aug 1995, 22:34:30):
#! rn=Asmodis rt=807577335
Ich hab meine Zeit halt gut verteilt... :)
Aber in der Tat bin ich von Anfang an (D.h. vom Anfang fuer Spieler) dabei.

                                                 Sique (Uralt und rar)

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



Klinisch reines Mud? (Fryder, 15. Aug 1995, 20:32:07):

Rochus hat vor kurzem was geschrieben von einem unsichtbaren, der rumlaeuft,
und alle sachen in die laeden wegraeumt. Ich frage mich, wozu das gut sein
soll? erstens sind die laeden sowieso meist schon nach kurzer zeit so voll,
dass selbst erfahrene spieler (und anfaenger erst recht) wie der Ox vorm
Berch stehen und zweitens ist es doch schoen, wenn man in der Gegend rum-
laeuft, und auf einmal liegen da lauter tolle Sachen rum. Ueberall nur
leere Felder machen dieses Spiel sicherlich nicht interessanter und
abwechslungsreicher.

Daher bitte ich Dich, Rochus: Ueberleg Dir das nochmal mit dem unsicht-
baren. Ich seh da wirklich keinen Sinn drin.

McFryder

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



.. (Jerrico, 15. Aug 1995, 20:48:13):
Beim naechsten Artikel schalte ich das Skript ab, versprochen:)

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



Re: Re: .. (Jaf, 16. Aug 1995, 00:28:17):
#! rn=Dancer rt=808525130

Also ich finde die automatische Aufraeumerei eigentlich ganz gut.
Es ist ziemlich nervig, wenn man in einen Raum reinkommt und von
der Raumbeschreibung nichts mehr sieht, weil zuviel Muell rumliegt.

Fyt.

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



Re^3: .. (Golum, 16. Aug 1995, 05:11:26):
#! rn=Jaf rt=808525697
Hm ja Also ich kann mich eigentlich nur Fryder's Meinung anschliessen aber es
stimmt schon das es manchmal ganz schoen nervig ist wenn da irgendwo 100te von
Sachen rumliegen und niemmand nimmt das zeugs mit . Aber deshalb gleich die
Muellabfuhr (der Unsichtbare) ?
Was evtl. ne moeglichkeit waere wenn z.b wenn von demselben Gegenstand
in einem Raum 5 rumliegen das der NCp dann zwar immer noch das Selbe bei sich
hat aber sobald die Leiche weg ist sich auch die Sachen aufloesen wuerden ,
so wuerde allen gerecht . Denen die gerne mal was einsammeln wie z.b ich ;))
oder solchen wie Fyt die finden Scheisskram was geht der mich an . ;)
GoLuM

-----------------------------------------------------------------------------



Re: Re: Klinisch reines Mud? (Durian, 16. Aug 1995, 13:08:12):
#! rn=Jerrico rt=808512417
Liebe Skriptspieler!

Skriptspielen ist verboten und versauen zudem das Layout Eurer Artikel!
Ist das so schwer zu merken?

- Durian

-----------------------------------------------------------------------------



Re^3: Klinisch reines Mud? (Cuchullin, 16. Aug 1995, 13:12:07):
#! rn=Durian rt=808571292

Vielleicht solltest Du erwaehnen, dass es den Befehl 'loesche' gibt, Dancer?
Cuch.- ;-)


-----------------------------------------------------------------------------



Re^4: Klinisch reines Mud? (Dancer, 16. Aug 1995, 13:27:07):
#! rn=Cuchullin rt=808571527
Mist...:-) Hab ich gemacht, aber irgendwie den falschen Artikel erwischt,
sorry :-)

-----------------------------------------------------------------------------



Re: Klinisch reines Mud? (Zuerileu, 16. Aug 1995, 16:50:59):
#! rn=Fryder rt=808511527
Sali fryder,
Wie waer ein unsichtbarer der alle Gegenstaende die er vorher gesammelt hat
schoenn sorgfaeltig und Chaosmaessig Perfekt im ganzen Mud verstreut ?

Zuerileu grinst sich einen ab....  Tschuess =:)

-----------------------------------------------------------------------------



Re: Re: Klinisch reines Mud? (Boing, 16. Aug 1995, 17:44:15):
#! rn=Zuerileu rt=808584659
Das faende ich lustig ... eine gute Verteilung des Geruempels bis in die
letzten Ecken ... da freuen sich dann auch die Anfaenger drueber. :)
  Boing

-----------------------------------------------------------------------------



NEUNEUNEU (Mesirii, 18. Aug 1995, 01:44:39):
Hallo Leute,
hier mal eine Idee von mir, die mir vor ein paar Tagen gekommen
ist. Wir metzeln hier den ganzen Tag rum, aber leider gibt es
keinen Geschichtsschreiber, der unsere Taten mitmeisselt.
Wie waere es, wenn einer der Magier ein KERBHOLZ programmieren
koennte, mit folgenden Eigenschaften (Ideen von mir, weitere
sind gefragt):
- das Kerbholz zaehlt alle gekillten Monster mit
  (z.b. "es kerbt sich nen neuen Dunkeldaemonen")
- bei jedem Mord kommt ein netter spruch ala
  - was, schon wieder ein Dunkeldaemon
  - der arme Sensenmann
  - Hydra? wie schmeckt denn das ?
  - usw.
- das kerbholz besteht aus intelligentem Birnbaumholz
  (aehem hab ich irgendwo mal gehoert)
  - daher kann man mit ihm reden (Abfrage der Liste, einzelner
    Posten)
  - es hat seinen eigenen Kopf
  - es kann als Waffe gezueckt werden
    - mittelguter, bis guter knueppel
    - es beschwert sich bei jedem schlag
    - und ist beleidigt und redet dann eine ganze weile nicht
      mehr mit einem
  - man kann es natuerlich auch anderen zeigen, bzw es zu anderen
    sprechen lassen ;)
    (schau mal, ich hab schon 500 Dunkeldaemonen gekillt
     *grins Zardoz*)
  - als questbelohnung
  - und an einer stelle im mud sowas wie ne kerbholzzaehlstelle
    fuer bestenlisten

Los Ideen und mutige Maggies her ;)

Mesii ;)


-----------------------------------------------------------------------------



Re: NEUNEUNEU (Yendi, 18. Aug 1995, 10:45:16):
#! rn=Mesirii rt=808703079

Tolle Idee! Das hoert sich gut an.

Aber wie sieht es mit der Umssetzung aus -- wo kriegt man 500 Aeste aus
intelligentem Birnbaum her?
Scherz beiseite: laesst sich sowas umsetzen, ohne (bei der derzeitigen
Mord/h-Rate) noch extra lag zu verursachen? Fragen ueber Fragen...

YTY, der sich vielleicht am Samstagabend solche Fragen selbst beantworten
                                                                 kann.



-----------------------------------------------------------------------------



rwinke (Yendi, 18. Aug 1995, 14:01:22):

Wieso kommt bei
"Du ignorierst: fwinke, fknuddel, rknuddle, fknuddle, rknuddel"
auch kein "rwinke" mehr durch?


-----------------------------------------------------------------------------



wanderer (Beetle, 18. Aug 1995, 18:08:05):
koennte man den wanderer neben der (kurzen) beschreibung nicht auch noch
den ungefaehren ort der quest ansagen lassen?
diese suche hat ja nicht soviel mit dem eigentlichen loesen zu tun.

byebye, beetle

-----------------------------------------------------------------------------



Re: NEUNEUNEU (Marcus, 18. Aug 1995, 19:01:00):
#! rn=Mesirii rt=808703079
Diese komische Kerbholzidee kommt mir irgendwie bekannt vor...
Ja, das gibts doch GENAUSO schon in irgendeinem Mud, wie hiess es denn
noch gleich...
Achja, TAPPMud.

Marcus
ObPlug: surprise.pro.ufz.de 6510 :)))

-----------------------------------------------------------------------------



Re: Abenteurer-Spruch identifiziere (Garfield, 20. Aug 1995, 21:10:31):
#! rn=Boing rt=808042156

stufe 8 fuer identifiziere?
wie hoch war das denn vorher?
hmm....
mal ueberlegen, wieso das so hoch ist .......
gruebel

versteh ich nicht.

garfield,
etwas verwirrt
***


-----------------------------------------------------------------------------



Re^5: Abenteurer-Spruch identifiziere (Garfield, 20. Aug 1995, 21:13:00):
#! rn=Jaf rt=808063614

fuer dich nicht, fyt.
fuer dumme anfaenger schon.
aeh.
also, eben fuer leute mit sehr wenig mp/
nicht wahr?
naja, vergiss es

***

-----------------------------------------------------------------------------



Re^3: Klinisch reines Mud? (Garfield, 20. Aug 1995, 21:25:37):
#! rn=Boing rt=808587855

muss ich doch was sagen

also.
aufraeumen?
mach ich auch manchmal. aber selten werf ich brauchbare Sachen einfach weg.
Das wuerde das ja bedeuten, wenn der Unsichtbare (den ich uebrigens schon
gesichtet habe ;-)) den ganzen mist an sich nimmt.
denn: destructet der den mist dann? denk ich mir so.
na egal.
jedenfalls ist das in den allerwenigsten Raeumen hier wirklich so, dass
soooooo viel rumliegt, dass es echt nervt.
in der kannibalenfalle, das stimmt
und in dem raum mit den verdauten abenteurern (aeh halbverdaute) in der
SSP, sonst war das noch nirgends echt nervig. nirgends, wo ich war,
muss man dazu sagen.
also, wegschaffen find ich nicht so toll, ich sammel naemlich auch gerne
aber verteilen find ich eine der geilsten ideen der letzten wochen.

garfield
*grinsend*

sorry, laberschwall, etwas uebertrieben diesmal, gell?
***

-----------------------------------------------------------------------------



Re^4: Klinisch reines Mud? (Aranya, 20. Aug 1995, 21:48:11):
#! rn=Garfield rt=808946737
Verteilen find ich auch ziemlich klasse. Zumal das so ziemlich meinem per-
soenlichen Ordnungssystem entspricht.;) Die Freude von bekennenden Schlamp-
rern, ploetzlich irgendetwas irgendwo zu finden ist ordentlichen Menschen
natuerlich nicht zu erklaeren...
Naja. Ich bin eindeutig FUER das Verteilen. Wir sind das MUD!

Just my 7 Shekel 50 Agoroth
Aranya

-----------------------------------------------------------------------------



Re^5: Klinisch reines Mud? (Acrimon, 20. Aug 1995, 22:37:11):
#! rn=Aranya rt=808948091
Verteilen ist eine gute Idee, es passiert mir auch haeufig in RL, dasz ich
Sachen an Orten wiederfinde, wo ich sie niemals vermutet haette.

Also laszt den unsichtbaren Sammler durchs ganze MUD ziehen, alle
Gegenstaende bis auf einen aufsammeln.
Auf seinem Weg durchs MUD wird er dann immer wieder Gegenstaende verlieren!

Acrimon, verteilt im Mud

-----------------------------------------------------------------------------



Re: NEUNEUNEU (Hate, 21. Aug 1995, 10:23:16):
#! rn=Mesirii rt=808703079
Irgendwie kenn ich die Idee...
In TAPPmud gibts sowas, also wuerde ich das etwas kopiert finden.
Und ich mag eher originelle Dinge, als Kopien.

Everyone is an Original!
Wies so schoen heisst in der Werbung...
Hate.

-----------------------------------------------------------------------------



Kobold (Hate, 21. Aug 1995, 11:05:56):
Hallo Leute,

der Kobold ist einer kleinen Aenderung unterzogen worden:
  Er haengt ans Ende einer gespeicherten Mitteilung die Uhrzeit.
  Er meldet sich automatisch!
  Er sagt GAR NICHTS, wenn nichts gemerkt wurde und man kobold tippt.

Hate.

-----------------------------------------------------------------------------



Re^6: Klinisch reines Mud? (Ketos, 21. Aug 1995, 11:34:21):
#! rn=Acrimon rt=808951031
Ich finde es nicht gut wenn man einen Weg lang geht und entlangen diesen
sind ueberall Gegenstaende verteilt, die weiss Gott wo herkommen.
Dann kommen Anfaenger ploetzlich an super Ausruestung oder gefaehrliche
Gegenstaende, die sonst nur in der SSP run liegen.
- ketos -

-----------------------------------------------------------------------------



Re^6: Abenteurer-Spruch identifiziere (Jaf, 21. Aug 1995, 14:57:19):
#! rn=Garfield rt=808945980

Hm, soviel ich weiss, koennen auch blutige Anfaenger fuer 0 mp
identifizieren... Ich hoffe, das war jetzt kein Betriebsgeheimnis :)
Fragt einfach mal 'n Karateka... ich glaube, weisser Guertel tut's
schon, der kann euch sicher helfen :)

Fyt.

-----------------------------------------------------------------------------



Re^4: Klinisch reines Mud? (Jaf, 21. Aug 1995, 14:58:23):
#! rn=Garfield rt=808946737

Hm, Goblinlager ist manchmal extrem voll... ausserdem raeumt keiner
mehr mein Haus auf, seitdem ich die Tuer verschliesse :|

Fyt.

-----------------------------------------------------------------------------



erweiterung von behalte (Yeti, 22. Aug 1995, 13:04:52):
Liebe Gemeinde !
aeh, irgentwie falsch, hmm nochmal
Liebe Entwickler uns Schoepfer des Morgengrauens!

auch nicht...
hmm. jedenfalls gehts mal wieder um ne neue Idee. (nerv)

Koenntet ihr nicht den behalte befehl so erweitern, das bei gib alles an
blabla die sachen auch behalten werden ??
bwz. das gib alles an blabla wenigstens so funktioniert, wie eigentlich
sollte ??
zur Zeit wird wohl nur ein Gegenstand uebergeben.

naja, ich komme schon wieder ins Labern, aber schreibt mal was dazu.

-----------------------------------------------------------------------------



Re: NEUNEUNEU (Ardana, 22. Aug 1995, 16:31:10):
#! rn=Mesirii rt=808703079
Huhu,
also ich ein kleiner Jungmaggi progge schon geraume Zeit an solch einem
Ding... wird aber noch etwas dauern, bis es fertig ist... .) Es ist gedacht
als Questbelohnung fuer eine neue Dschungelquest. Also habt bitte noch Geduld.
Ideen fuer das Kerbholz nimm mein maildaemon gern entgegen!

Live long and prosper,
                        Ardana

-----------------------------------------------------------------------------



Re^3: Klinisch reines Mud? (Highlander, 23. Aug 1995, 18:17:39):
#! rn=Boing rt=808587855
Ich will euch ja nicht den Spass verderben, aber ihr wisst ja,
dass Raeume, in denen ein Objekt liegt, das nicht aus dem Raum selber
stammt, nicht (oder spaeter - wie ist das, Jof?) aufgeraeumt werden, ja?
  HrT

-----------------------------------------------------------------------------



Der Klempner war hier... (Highlander, 23. Aug 1995, 19:58:59):
... und hat wieder etwas geklempnert. Neue Verben und ein neues feature.
Es gibt natuerlich noch ein paar bugs (einige hab ich eben selber noch
gemerkt, ich lasse sie jetzt aber drin), aber ich programmiere z.Z.,
ohne testen zu koennen, also bitte ich um Verzeihung und Hinweise auf
die neuen bugs. Gemerkt hab ich: traeume ohne Text und leere Bemerkungen.
Viel Spass, und wie immer logout/reboot aktivieren features...
  Highlander ryn Tahar (wollte euch die neuen Sachen nicht vorenthalten,
                        bis alles so ist, wie's sein soll)

-----------------------------------------------------------------------------



reederei molukin (Beetle, 25. Aug 1995, 08:25:02):
hallo!
koennte man es einrichten, dass man als Eingeschlafener ('schlafe ein') von
Schalter 1 in die halle verlegt wird? Es ist naemlich passiert, dass der
Schalter 1 besetzt war, obwohl derjenige gar nicht eingeloggt war.
und dann kann keiner mehr ran...

danke schoen
byebye, beetle

-----------------------------------------------------------------------------



Re: reederei molukin (Asmodis, 25. Aug 1995, 17:05:06):
#! rn=Beetle rt=809331902
naja, dann kann derjenige ja in die Halle gehen, bevor er einschlaeft :)

-----------------------------------------------------------------------------



Re: reederei molukin (Yendi, 25. Aug 1995, 19:18:15):
#! rn=Beetle rt=809331902

Hatten wir das Problem nicht schonmal in der Seherbank?


-----------------------------------------------------------------------------



Re: Re: NEUNEUNEU (Mesirii, 27. Aug 1995, 18:26:07):
#! rn=Hate rt=808993396
Huhu !
Da ich jetzt nur selten reinschauen kann, kommt erst jetzt meine
Antwort auf Hate's Artikel. Da ich kein (in Worten kein) anderes Mud
ausser dem MG bewohne, kann ich mir die Idee auch nirgends abgeschaut
haben. Und damit ist es fuer mich etwas NEUES ;)
Es war naeml darueber nach,
wieviele Dunkeldaemonen ich eigentlich schon zu dem Typen mit der
verklemmten Caps-Lock Taste geschickt habe ... und da kam mir die Idee,
das man das doch irgendwie zaehlen koennte. Und da ich zur Zeit
dientelligenten
Birnbaumholz dazu.

Mesirii, genug gerechtfertigt ;)
(und danke Ardana fuers basteln ;)

-----------------------------------------------------------------------------



Der Wandel zwischen den Dimensionen (Ratz, 29. Aug 1995, 12:26:31):
Ueber den D-chat Kanal ist es ja moeglich sich mit den anderen Muds zu
unterhalten.
Ist es auch moeglich einen Uebergang zwischen den welten zu schaffen?
Der Name Stargate hat mich auf diese Frage gebracht.
Folgende weiterfuehrende Fragen tauchen dann auf.
Kann es einen Raum geben in dem die charaktere aus mehreren mud gleichzeitig
existieren koennen?
Funktioniert es das man sogar unter nichtbenutzung mudspeziefischer Waffen in
dem anderen mud rumlaufen kann?
Wahrscheinlich muss man aber den charakternamen fuer das andere mud aendern,
weil er dort schon existieren kann.

Uebrigens , falls man dann den Ort des sprunges in die andere Welt wie im
Film in die Wueste legen wuerde, dann haette die endlich auch mal einen Sinn.
Gruss von
Fantasticus ratzfatz Ratz

-----------------------------------------------------------------------------



Re: Der Wandel zwischen den Dimensionen (Ketos, 29. Aug 1995, 13:19:00):
#! rn=Ratz rt=809691991
Es ist eine faszinierende Idee Muds mit Stargates zu verbinden.
Wenn dabei die Teleportierten eine Teil ihres Charakters behalten koennen
waere dies eine schoene Erweiterung zu den Gaesten.

Ueber Sinn / Unsinn und Bloedsinn den solche Stargates bringen laesst
bestimmt auessert streiten. Es muesste ein kleinster gemeinsamer Nenner
zwischen den Muds gefunden werden und verhindert werden das Muds nur
als Relays dienen.

- Ketos -

-----------------------------------------------------------------------------



Re: Re: Der Wandel zwischen den Dimensionen (Orktoeter, 29. Aug 1995, 13:37:09):
#! rn=Ketos rt=809695140
Ist doch mit TF schon lange moeglich, hin und her zu gehen, aber man muss
natuerlich in beiden Muds den entsprechenden Character haben...
OrkT.

-----------------------------------------------------------------------------



Topliste auch fuer Gilden. (Fryder, 29. Aug 1995, 15:31:30):

Es gibt doch in den Kneipen die verschiedenen Toplisten und auch in den
Rassenstartpunkten haengen die Steintafeln, auf denen man seine grossen Idole
bewundern kann. Gerade jetzt, wo die ganzen Gilden aufkommen, waer es aber,
denke ich, am interessantesten, Bestenlisten fuer jede Gilde auszuhaengen, mit
Infos ueber die verschiedenen Eigenschaften und Alter der besten Leute. Faend
ich schon sehr interessant.

McFryder

-----------------------------------------------------------------------------



Re: Topliste auch fuer Gilden. (Asmodis, 29. Aug 1995, 19:10:23):
#! rn=Fryder rt=809703090
Waer ich auch dafuer

-----------------------------------------------------------------------------



Re: Re: Der Wandel zwischen den Dimensionen (Asmodis, 29. Aug 1995, 19:11:16):
#! rn=Ketos rt=809695140
Hmm, bei MUDs, die auf der gleichen MUD-LIB basieren, liesse sich
das doch machen, oder ??

-----------------------------------------------------------------------------



Re: Der Wandel zwischen den Dimensionen (Tasha, 29. Aug 1995, 20:58:09):
#! rn=Ratz rt=809691991
Hi!

Alles was mit dem Film Stargate zu tun hat ist schonmal grundsaetzlich gut
(bis auf eventuelle sabbernde Lastviecher). Insofern machts. ;)

Auf die erste Vorstellung im Kino (ist das eigentlich wirklich eins) in
Valgessa wartend, Tasha

-----------------------------------------------------------------------------



Re^3: Der Wandel zwischen den Dimensionen (Gwynwaiter, 30. Aug 1995, 17:02:44):
#! rn=Asmodis rt=809716276

Ich faende es eine tolle Idee, und wenn die Magier das technisch umsetzen
koennen, wird mensch auch fuer die anderen Probleme eine Loesung finden. So
wie es fuer "wer" eine mudliste gibt, koennte mensch diese ja mit einer
Umrechnungsliste versehen, wieviel Level des anderen Muds einem eigeLevel im
eigenen Mud entsprechen, wieviel sozusagen "anerkannt" werden, und auf was ein
Magier/Wizard/Gott umgerechnet wird. Mud-spezifische Gegenstaende muessten
durch den Tor-Filter drausssen bleiben (das haette mir auch bei Stargate
besser gefallen)
Auf diese Weise waere es moeglich, ein Mud "nackt" zu wechseln (wer sich die
Muehe machen will, kann natuerlich die Umrechnung des Levels um eine
Umrechnung (oder Umbenennung) standardisierter Gegenstaende erweitern) , ohne
dass ein beteiligtes Mud fuerchten muesste, von einem neuen oder im Aufbau
befindlichen (oder viel aelteren) Mud ueberfremdet (!) zu werdenoder von
dortigen Jung-Maggies durcheinandergebracht (oder von dortigen alt-Wizzes
bevormundet) zu werden.

Technisch waere das eine einfache Tabelle. Das eigentliche Problem waere die
Speicherung: Entweder jedeR muss ins eigene Mud zurueck vor dem Verlassen des
Muds, oder wuerde im Gastgeber-Mud geloescht nach Ausloggen, oder muesste das
Mud auf Dauer wechseln, auf die Gefahr hin bei einem Rueckwechsel wieder Level
zu verlieren (oder dann Stufen) - denn sonst kaeme es zu einer Explosion des
Speicherplatzes, wenn alle Charaktere aus jedem Mud sich ueberall
zwischenspeichern liessen.
  Und darin soll und darf es ja nicht scheitern. Ein Tod in einem
Gastgeber/Mud sollte mE eine Meldung (teile mit) an das urspruengliche Mud
absetzen,. mit den normalen Folgen: denn no risk-no Fun!

Just my t  well, my thoughts.

YT Gwyn*

-----------------------------------------------------------------------------



Re^4: Der Wandel zwischen den Dimensionen (Boing, 30. Aug 1995, 17:07:16):
#! rn=Gwynwaiter rt=809794964
Die Moeglichkeit von einem Mud in ein anderes zu wechseln, wird ja schon
seit Jahren diskutiert, allerdings gibt es halt zu viele technische und
auch logische Probleme. Was wir jedoch gemeinsam mit Virrel schon seit
ein paar Wochen planen, ist ein gemeinsamer Raum, wo man sich mit Spielern
aus dem anderen Mud treffen und unterhalten kann, das liesse sich wahr-
scheinlich auch beliebig auf andere Muds erweitern. Sobald das Semester
wieder begonnen hat, wollten Muadib (Virrel) und ich uns deswegen mal
zusammensetzen.
  Boing

-----------------------------------------------------------------------------



Re^4: Der Wandel zwischen den Dimensionen (Angus, 30. Aug 1995, 18:14:27):
#! rn=Gwynwaiter rt=809794964
Hi all!
Ich erinnere mich noch, dass es zu diesem Thema mal eine recht
hitzige Diskussion in rec.games.mud.lp (oder so aehnlich) gab...
Es ging "damals" um verteilte MUD's, worauf das, was hier
angedacht wird, im Endeffekt auch hinauslaeuft... Zwei Punkte wurden
dabei nach wochenlanger, ermuedender hin- und herdiskutiererei
eindeutig herausgearbeitet.
1.) Es ist prizipiell moeglich. Soweit ich informiert bin, hat
    Amylaar sogar bei der Entwickling des Drivers sowas in der
    Richtung vorgesehen (#define PORTALS, Jof weiss sicher mehr
    drueber) Allerdings waere ein Wechsel der Welten nur "nackt"
    und eben nur in bestimmten Raeumen moeglich...
2.) (Und das war der entscheidende Konsens des ganzen...) Aus
    Gruenden des Speicherplatzes, und vor allem der entstehenden
    Netzbelastung (und die waer in der Tat _riesig_) ist es im
    Grunde sinnlos, das ganze mit der bisherigen Konzeption eines
    sagen wir mal "herkoemmlichen" LP-MUD's durchziehen zu wollen.
    Grund: Bisher ist das MUD ein einziger Prozess, der die Eingaben
    aller eingeloggten Spieler _nacheinander_ zu verarbeiten sucht
    (mal grob vereinfacht). Wenn das MUD mit der Verarbeitung mal
    nicht hinterherkommt, dann kennt sich er jeder von Euch den
    laestigen Effekt: LAG ;) Wenn jetzt das MUD auch noch versuchen
    muss, die Eingaben eines Spielers an ein anderes MUD weiterzugeben,
    also auch auf eine Art Antwort warten muss (im Einfachsten Fall:
    OK, alles angekommen!) dann kommt noch das NetLag dazu, welches
    zwischen dem jeweils sendenden, und empfangenden Teil besteht.
    Stellt Euch mal vor, ein Spieler aus Wien loggt sich hier ein,
    geht dann von hier nach Leipzig, und weil er lustig ist, von da
    nochmal nach Tuebingen... ;)

Ergo muss ein voellig neues Konzept her, was auch schon von einigen
klugen Koepfen erdacht wird, z.B. ein System mit intelligenten
Clients, die die Verbindungen automatisch und von selber hin- und
herswitchen... Es gibt ne Menge Ansaetze, aber eins ist klar:
Wenns ueberhaupt geht, dann nicht mit ein paar kleinen
Aenderungen in der Mudlib oder am Driver...
Schaut doch mal in die News, da steht bestimmt noch was zu dem
Thema, wens interressiert :)
So.... *Senf OFF* ;)

 -Angus.

-----------------------------------------------------------------------------



Re^5: Der Wandel zwischen den Dimensionen (Angus, 30. Aug 1995, 18:16:52):
Mist... was Boing wieder schneller ;)
*grins*

-----------------------------------------------------------------------------



Re^6: Der Wandel zwischen den Dimensionen (Boing, 30. Aug 1995, 19:09:01):
#! rn=Angus rt=809799412
Aber nicht so detailiert wie Du. :)
  Boing

-----------------------------------------------------------------------------



Re: Re: Der Wandel zwischen den Dimensionen (Jof, 31. Aug 1995, 15:46:17):
#! rn=Tasha rt=809722689

 In der Tat - einer der grossen Pluspunkte von Muds ist es, das sie uni-
versell erreichbar sind ohne spezielle Clients (telnet reicht). Genau
das macht aber eine sinnvolle Implementierung eines 'Dimensionswechsels'
technisch schwierig, weil IP keine Moeglichkeit bietet, Verbindungen
einfach 'weiterzureichen'. Daher waere es noetig, jedes einzelne Paket
vom Spieler zum Mud oder vom Mud zum Spieler ueber das Mud, mit dem
der Spieler urspruenglich verbunden war, zu leiten - das haette eine
Vermehrfachung des Netloads zur Folge, was auf keinen Fall akzeptabel
ist. Die Einfuehrung von 'intelligenten' Clienten faende ich auch nicht
toll - damit ist jeder gezwungen, zuerst einen Client zu uebersetzen,
bevor er Mudden kann, was IMHO fuer den Unix-unkundigen eine arge
Huerde ist (und was ist mit den VMS-Usern? Oder den armen Schweinen,
die von einem MicroScrott-Windoof- oder DOS-Rechner aus mudden?).

 Zudem treten (auch bei 'gleicher' Mudlib) durchaus logische Probleme
auf. So verwendet zB. WunderLand zwar die MG-Lib, hat sie aber so gepatcht,
das man die Stats bis auf 35 erhoehen kann - oh Gott, eine Katastrophe,
wenn so ein Schlaechter es nach MG schaffen wuerde ...


 Achja, StarGate fand ich eigentlich ziemlich langweilig und schlecht ...
den Film natuerlich, das Mud kenn ich nicht. Keinesfalls ein Kultfilm,
wuerd ich sagen :)

 Jof

-----------------------------------------------------------------------------



Re^3: Der Wandel zwischen den Dimensionen (Jimdigriz,  1. Sep 1995, 00:36:11):
#! rn=Jof rt=809876777
Jof wrote:
> Achja, StarGate fand ich eigentlich ziemlich langweilig und schlecht ...
>den Film natuerlich, das Mud kenn ich nicht. Keinesfalls ein Kultfilm,
>wuerd ich sagen :)

ganz meine Meinung :)

J.B.diGriz

-----------------------------------------------------------------------------



Re^4: Der Wandel zwischen den Dimensionen (Yantro,  1. Sep 1995, 09:36:04):
#! rn=Jimdigriz rt=809908571

SENF ON

Hmm also ich kenne sowohl Film wie auch MUD StarGate und ich muss sagen, dass
das MUD VIEL VIEL VIEL ... besser werden wird als der Film *protz*!!!

Wir suchen uebrigends noch interessierte und wenn geht erfahrene Magier, die
Lust auf ein wenig SF haben... einfach an mich mailen ;-)

Dies war die Werbung... es folgt .... nix mehr :-)

                  Yantro Addaura, Hueter des Lichtes
                      (EM in SG (alles nur durch Bestechung ;) )

-----------------------------------------------------------------------------



Re^4: Der Wandel zwischen den Dimensionen (Aell,  1. Sep 1995, 15:42:27):
#! rn=Jimdigriz rt=809908571
> Achja, StarGate fand ich eigentlich ziemlich langweilig und schlecht ...

  Ja, es war ein bisschen sehr viel von den Pfff-Stscht-Klonk-Schhhhhhh-
Pffffffft-Stnk-Effkten drinnen...

-----------------------------------------------------------------------------



Wegweiser und Hinweisschilder (Bobo,  5. Sep 1995, 13:20:32):
Mit diesem Artikel wende ich mich in erster Linie an alle Newbies, Jungelfen
und Zwerglein, die innerhalb der letzten Wochen hierher ins MorgenGrauen
gekommen sind - hoffentlich gibt es ein paar von denen, die auch MPA lesen.
Mich wuerde aus verschiedenen Gruenden interessieren, inwieweit ihr in Euren
ersten Tagen und Stunden Schwierigkeiten mit der Orientierung im MUD gehabt
habt und wie ihr moeglicherweise damit fertig geworden seid. Es ist ja
inzwischen nicht mehr zu verleugnen, dass die Welt, in die ihr kuerzlich
hineingeboren (hmm - wie ist das bei Elfen? Schluepfen die vielleicht?)
worden seid, komplizierter geworden ist.
Welcher Bereich vom MorgenGrauen ist Eurer Meinung nach noch ueberschaubar?
Wo findet ihr Euch auf jeden Fall zurecht, und wo wird's schwerer?
Helfen Euch die Wegweiser bei der Suche? Oder haben die selbstgemalten
Schilder (sofern ihr die von der Standardausruestung ueberhaupt unterscheiden
koennt) eher zur Verwirrung beigetragen?
Womoeglich spielt das gar keine Rolle, weil ihr ohnehin die ersten Schritte
an der Hand erfahrener Begleiter unternommen habt?
Auessert Euch mal dazu, es waere sicher auch fuer die Regionsmagier von
Interesse, Eure Erfahrungen (vielleicht auch besondere Probleme) kennenzu-
lernen...
Vielen Dank,
twBs.

-----------------------------------------------------------------------------



rknuddel (Gundur,  6. Sep 1995, 15:35:52):
Aehem....
Wie waere es mit einem 'rknuddel erwartete' ??
Ich meinerseits wuerde solch einen Befehl sehr begruessen...:-)
Gundur

-----------------------------------------------------------------------------



Re: rknuddel (Boing,  6. Sep 1995, 15:50:20):
#! rn=Gundur rt=810394552
Oh ja, das gaebe der ganzen Sache eine wahnsinnig persoenliche Note ...
  Boing
(Ach ja, Ironie off)

-----------------------------------------------------------------------------



Re: rknuddel (Raffi,  6. Sep 1995, 20:14:01):
#! rn=Gundur rt=810394552
Mal was (fast) anderes :

Wie waers mit einem Quak - rquak fuer froesche - wenn man
verfroscht ist sollte doch diese aeusserung moeglich sein :)

Gruss
H.
P.S.: DIES IST ERNSTGEMEINT !

-----------------------------------------------------------------------------



Re: Re: rknuddel (Highlander,  7. Sep 1995, 11:27:46):
#! rn=Raffi rt=810411241

Man KANN als Frosch quaken. Seit dem letzten Klempnern.

  HrT


-----------------------------------------------------------------------------



Re^3: rknuddel (Raffi,  7. Sep 1995, 12:28:05):
#! rn=Highlander rt=810466066
quaken ja, aber wie stehhts mit rquak ?
Froesche koennen SEHR laut quaken - daher ist rquak nur natuerlich :)

Auch waere es nichtt schlecht wenn das  ": Quaaak Quaaaaak Quaaaak!"
wegfallen wuerde wenn man mit zusaz arbeitet - obwohl - geschmackssache :)

Gruss
H.
(Froschfaen)

-----------------------------------------------------------------------------



Re^4: rknuddel (Boing,  7. Sep 1995, 13:54:19):
#! rn=Raffi rt=810469685
Naja, andere Froesche koennten es verstehen ... normale Spieler nicht. :)
  Boing

-----------------------------------------------------------------------------



Re^5: rknuddel (Raffi,  7. Sep 1995, 14:24:35):
#! rn=Boing rt=810474859
Ich bn halt hoffnungsloser Froschfan.
Die Verfroschung gehoert zum besten im MG und in allen MUDs ueberhaupt.

Gruss
H.

-----------------------------------------------------------------------------



Erweiterung von Kwer (Ronda, 11. Sep 1995, 14:33:06):
Waere es moeglich, dass Kwer bei den Zusaetzen wie zB "in Paderborn" oder so
bei der Ausgabe hinschreibt, fuer welche Option nun die Ausgabe erfolgt?
Kompliziert ausgedrueckt- ich vertippe mich nur manchmal beim Eingeben, nehme
statt "in xyz" "aus xyz" oder aehnlichen Humbug... und merke dann nicht, dass
es falsch war - schon garnicht auf diesen uesseligen PC-Terminals, bei denen
ich nicht unterscheiden kann, was ich oder jemand anderes grade eingegeben hat
- und somit jedes "Delete" zum Chaos fuehrt...
In der Hoffnung, dass jemand diesen Artikel versteht und mir weiterhelfen
kann,
       Ronda

-----------------------------------------------------------------------------



Ich will neue Artikel erwarten =:) (Ronda, 11. Sep 1995, 21:14:48):
Wenn man so rumidled, kommts haeufiger vor, dass man haenderingend auf den
naechsten Artikel in der MPA wartet: waere es nicht moeglich, dass man diese
dringend, sehnlich erwartete Ablenkung per "erwarte" angezeigt bekommen kann?
Haette das nu auf "Schmarrn" gehoert? Naja, vielleicht gehts ja doch...
Idlend,
        Ronda

-----------------------------------------------------------------------------



Froschmaessige Idee (Raffi, 12. Sep 1995, 19:23:38):
Wie waere es mit einem wer -f[rosch] um einen ueberblick ueber die
Mitfroesche zu bekommen ?

Ist auch fuer Leute gut die von einem Frosch angequatscht werden und nicht
wissen wer.

Gruss
H.

-----------------------------------------------------------------------------



Re: Froschmaessige Idee (Reinelde, 12. Sep 1995, 19:25:30):
#! rn=Raffi rt=810926618
reicht dir das 'kwer frosch' nicht?

-----------------------------------------------------------------------------



Re: Re: Froschmaessige Idee (Raffi, 12. Sep 1995, 19:48:34):
#! rn=Reinelde rt=810926730

Hmpf... hab ich scheinbar ueberlesen :)

Gruss
H.

-----------------------------------------------------------------------------



Re: Ich will neue Artikel erwarten =:) (Bilbom, 12. Sep 1995, 23:50:48):
#! rn=Ronda rt=810846888
Hi!
Also mich wuerde es auch interresieren wenn ein neuer artikel veroeffentlicht
 wuerd aber manchmal sehe ich "<spieler> hat gerade ein artikel
veroeffentlicht" was soll das heissen, wieso sieht man das nicht immer??
So, das wars...
 Bilbom

-----------------------------------------------------------------------------



Re: Re: Ich will neue Artikel erwarten =:) (Ulo, 13. Sep 1995, 00:35:07):
#! rn=Bilbom rt=810942648
hi!
wenn du im selben raum stehst wie der, der den artikel schreibt, kriegst du
es mit, sonst nicht.
Ulo.

-----------------------------------------------------------------------------



Neu: erwarte mpa (Loco, 13. Sep 1995, 02:31:15):
Wer immer sofort wissen will, wenn irgendwo ein neuer Artikel geschrieben
wurde, kann das jetzt (erstmal vorlaeufig) mit
  erwarte mpa
Die Syntax ist genau dieselbe, wie wenn man einen Spieler erwartet - genauer
gesagt, es wird sogar genau so geregelt.

Angezeigt bekommt man es dann augenblicklich, wenn ein neuer Artikel in einer
Rubrik veroeffentlicht wird, die man abonniert hat, und in der man mindestens
einmal auch schon einen Artikel gelesen hat. Ignoriert man aber die news von
dem Spieler, der gerade etwas veroeffentlicht hat (ignoriere name.news), so
wird dies auch beachtet, und man kriegt nichts mitgeteilt.

Bis zum naechsten Reboot funktioniert das Ganze nur dann, wenn der
schreibende Spieler nach Erscheinen dieses Artikels einmal mit 'ende'
ausgeloggt war.

Probleme bitte direkt an mich melden,

         Loco

-----------------------------------------------------------------------------



Noch ne Kleinigkeit: inhalt [rubrik] ende (Loco, 16. Sep 1995, 18:20:04):
Noch eine neue Kleinigkeit in der mpa:

inhalt [rubrik] ende

Also ein weiteres optionales Argument zu inhalt. Wird es angegeben, werden
nur die letzten 15 Artikel in der Rubrik aufgelistet. Die Ausgabe wird dann
auch nicht seitenweise angezeigt, so dass man diese Version auch getrost aus
einem Editor oder anderen more heraus mit !-Escape aufrufen kann, ohne dass es
Konflikte geben kann.

Falls dadurch ein Fehler aufgetreten sein sollte, bitte wie ueblich direkt an
mich melden,
         Loco

-----------------------------------------------------------------------------



Abfrage fuer NICHT-Deutschsprachige (Morgoth, 19. Sep 1995, 15:19:05):
Erstmal moechte ich anmerken, dass es sich hierbei nicht um
Rassendiskriminierung handelt, sondern um einen ernstzunehmenden vorschlag.
Folgendes ist passiert:
ein studi aus canberra(australien) loggte sich im mg ein und rief nach
irgendjemandem, der ihn verstehen konnte. shinobi und ich sind sofort hin und
haben uns ein wenig mit ihm unterhalten. wir haben festgestellt, dass er kein
wort deutsch verstand. nach kurzer zeit loggte er sich mit 'quit' aus
(wahrscheinlich das einzige wort, das er verstand).
das problem hierbei ist, dass er zu 99.99999% nie nie wieder hier
vorbeischaut, also einen ueberfluessigen save-file erzeugt.
mein vorschlag: entweder nen minitext in englisch auf der startseite (mit
verweis auf gast oder so) oder eine abfrage der ip-nummer. wenn diese nicht
aus .de ist, dann eine zweite, englische startseite anzeigen.
euer kommentar .......
morgoth

-----------------------------------------------------------------------------



Re: Abfrage fuer NICHT-Deutschsprachige (Aranya, 19. Sep 1995, 15:36:15):
#! rn=Morgoth rt=811516745
Aehem, da sollte noch fuer unsere oesterreichischen und eidgenoessi-
schen Freunde das .at und .ch (?) mit aufgenommen werden, aber sonst waer ich
dafuer...

Just my 7 Shekel 50 Agoroth

Aranya

-----------------------------------------------------------------------------



Nochmal: Schnell (Fels, 19. Sep 1995, 18:35:37):
Hallo...
Sorry, wenn ich es wage, waehrend dfer allgemeinen
Seher-Status-Anzahl-Ideologie-Selbstverstaendnis usw -Diskussion nochmal ne
ganz andere Frage zu stellen, die in dfer Rubrik allgemein untergegangen ist:
(Mal abgesehen von Yantro, aber seine Antwort stimmt nicht, sorry): Koennte
man beim Schnell-Spruch nicht eine Meldung einbauen, wann der Zauber vorueber
ist? Waer doch ganz nuetzlich...

Gruss, Fels
!

-----------------------------------------------------------------------------



Nachtrag (Fels, 19. Sep 1995, 18:36:02):
Sorry, wegen der Typos...:-)
Gruss, Fels.

-----------------------------------------------------------------------------



Re: Abfrage fuer NICHT-Deutschsprachige (Asmodis, 19. Sep 1995, 23:59:12):
#! rn=Morgoth rt=811516745
Hmm, ja, ein Hinweis auf selbstloeschung und dass das MUD vollstaendig
in deutscher Sprache ist (das in englisch natuerlich), faende ich auch
gut, aber wenn er kein Wort deutsch kann, wird er hier sowieso nicht
gluecklich :)

-----------------------------------------------------------------------------



Just an idea... (Cuchullin, 20. Sep 1995, 01:20:01):

Es ist mittag, die Stimmung gespannt wie die Sehne Robins Bogen.
Drei Planwagen mit Guetern fuer einen in Moulokin neu eroeffneten Laden der
Raritaeten - meist fuer Seher nur, aber auch das eine oder andere Kleinod
fuer Leute, die dem noch etwas entfernt sind - stehen im Hafen von Port Vain
zur Abfahrt bereit.
Eine kleine Gruppe Seher und ein zwei Propheten haben sich um die wertvolle
Fracht versammet... Da! Das Horn schallt durch MorgenGrauen. Jetzt kommt's
drauf an, jetzt gilts!
Die Waegen beginnen ihre gefaehrliche Fahrt und rollen langsam dem Ziel
entgegen. Werden sie es jemals erreichen? Wird die Fracht unversehrt und
vollstaendig sein? Wird der Schutz der wackren Kaempfer ausreichen, die
Angriffe ganzer Orkrudel, Goblinkampfgruppen, Daemonenhorden und giftiger
Insektenschwaerme abzuwehren? Wird der Mut des Geleitschutzes auch dazu
ausreichen, die listigen Diebe gegebenenfalls bis in ihr Versteck zu
verfolgen?
Wir werden sehen.

*grins* NEIN, das ist KEINE Ankuendigung.
Aber ne Idee. Oder?

Cuch.-


-----------------------------------------------------------------------------



Flussdrache in PV (Ulo, 20. Sep 1995, 01:48:05):
Hallo!
Beim herumstoebern fand ich in Dancers Verzeichnissen eine kleine
Sicherheitsluecke, naja, wenn man genau ist, eine grosse Sicherheitsluecke.
Nunja, nch etwa 1 h war ich soweit - ich konnte an allen files von dancer
rumspielen... Bis auf den Raum mit dem Sehertor in PV hab ich aber nix
veraendert. Das Sicherheitsloch ist so gross, dass ich ziemlich leich bei
jedem Magier , der nicht erzmagier ist, files veraendern koennte. Die
Erzmagier waren trotz starken Bemuehungan nicht zu knacken :).

Also als kleine Erinnerung habe ich in PV einen Flussdrachen zurueckgelassen.
Er ist dumm, faul, und lernt vielleicht in absehbarer Zeit mal was... wenn er
da bleiben darf. :)

Ulo.

P.S. Zum Glueck hat Jof vor ein paar Tagen das player-selber-shadown
ausgebaut, sonst waere nichts mehr unmoeglich gewesen... vielleicht haette ich
dann sogar diesen Artikel als Dancer oder werweisswer schreiben koennen. (EM
ausgenaommen).

P.P.S. Im Rahmen des Einbaus des Flussdrachen akm es zu einem kleinen
Malheur, sodass der Westausgang von PV fuer 5-10 Min dicht war (RZG^100). Ich
bitte die Verzoegerung un Unannehmlichkeiten zu entschuldigen. (Es kennt doch
jeder von Euch noch andere Wege aus PV heraus, oder ? :)

P.P.P.S Bitte jetzt nicht banishen, ich bin auch in Zukunft gaanz lieb ....
:) Ich tu in Zukunkt keinem Sandkorn mehr wa zuleide ...

-----------------------------------------------------------------------------



Re: Abfrage fuer NICHT-Deutschsprachige (Marsupilami, 20. Sep 1995, 02:25:06):
#! rn=Morgoth rt=811516745
Guten Abend !
Ich hab mir auch mal Gedanken zu sowas gemacht... nur wuerd ichs nicht auf
'ne Englische Seite beschraenken sondern einfach ne generelle Loesung
anstreben...
Wie oft passierts, dass sich (auch aus .de !) irgendwer einloggt, 'n bischen
rumlaeuft und dann wieder aussteigt, das Passwort vergisst oder die Lust
verliert oder wasweissich...oder sich nen Zweitie anlegt und dessen Namen
vergisst...deren Moeglichkeiten gibts verdammt viele !

Da haett ich 'ne relativ einfache Loesung zu dem ganzen Problem anzubieten:
Es wird jedem Spieler 'ne gewisse Grundanzahl von Monaten, die er sich nicht
einloggen muss, zugestanden und die Levelanzahl in Monaten dazuaddiert. Wenn
man die Grundanzahl mit 3 annimmt, wuede dass heissen dass ein hoffnungsvoller
Anfaenger nach 4 Monaten geloescht wird, ein Seher nach fast 2 Jahren und Jof
nach 9 1/2 Jahren (*grins*). Diese Loesung muesste programmtechnisch auch
relativ einfach zu automatisieren sein... Ausnahmen sollten auch irgendwie
moeglich sein... Damit kriegen wir zumindest die Platte wieder etwas leerer,
unbenoetigte/vergessene Charaktere werden entfernt, eventuell erwischts auch
'n paar Zweities ;-)

Also, gebt mal kund was Ihr davon haltet...

Tschau
         Marsupilami

-----------------------------------------------------------------------------



Re: Flussdrache in PV (Boing, 20. Sep 1995, 08:39:34):
#! rn=Ulo rt=811554485
Hey, das mit den shadows hab ICH ausgebaut ... ;)
  Boing

-----------------------------------------------------------------------------



Re: Nochmal: Schnell (Boing, 20. Sep 1995, 08:44:49):
#! rn=Fels rt=811528537
Oh, jetzt sehe ich es eben ... Rochus hat die Meldung (die mal drin war)
ausgebaut ... :(
Mal sehen, was sich machen laesst ...
  Boing

-----------------------------------------------------------------------------



Re: Re: Abfrage fuer NICHT-Deutschsprachige (Etah, 20. Sep 1995, 09:05:35):
#! rn=Marsupilami rt=811556706
Tja, sowas gibts schon ;)
Spieler mit wenig Punkten, die lange nicht gespielt haben udn noch ein paar
Bedingungen genuegen werden geloescht.
E.

-----------------------------------------------------------------------------



Artikel in den laeden (Bilbom, 20. Sep 1995, 15:55:45):
Hi!
Ich wollte mal wissen ob man da nicht was machen kann um die sachen die es im
Laden gibt und einen zu langen namen haben ganz zu sehen...
Am besten mal ein beispiel. 159. Ein ring der Geschicklich       3
da kann man dan nicht wissen wieviel er dazu oder weniger macht.
Und so sachen gibt's andauernd.
So, das wars...
  Bilbom

-----------------------------------------------------------------------------



Re: Abfrage fuer NICHT-Deutschsprachige (Raffi, 20. Sep 1995, 17:40:07):
#! rn=Morgoth rt=811516745
Gut!

Gruss
H.

-----------------------------------------------------------------------------



Re: Re: Abfrage fuer NICHT-Deutschsprachige (Marcus, 20. Sep 1995, 20:48:25):
#! rn=Marsupilami rt=811556706
Bei uns in TAPPMud werden geloescht
(a) player mit weniger als 100 erfahrungspunkten und weniger als 1000
goldcoins
(b) oder level 1 nach 2 Monaten nicht-eingeloggt-sein
(c) oder level 2 nach 4 Moanten nicht eingeloggt sein.

Nur so als Info

MArcus

-----------------------------------------------------------------------------



erweiterung von 'untersuche' (Mupfel, 20. Sep 1995, 23:37:18):
hallo

irgendein unbekannter magier hat den 'untersuche' befehl erweitert und nix
davon in irgendeine doku geschrieben. ich weiss also nicht ab wann das schon
geht. geheim wirds nicht sein :-) ich habs per zufall beim durchgreppen der
mudlib gefunden. aaaalso:

der untersuche befehl wurde erweitert um zw. objekten im raum und im spieler
zu unterscheiden. sachen wie 'untersuche schwert im raum' und 'untersuche
beutel in mir' sind jetzt moeglich.

-mupfel-
p.s. ich hoffe mal das das auch in die offizielle doku eingefuegt wird

-----------------------------------------------------------------------------



Re: erweiterung von 'untersuche' (Jaf, 21. Sep 1995, 00:06:41):
#! rn=Mupfel rt=811633038
gute idee :) aber kommt jetzt nach zwei jahren nicht auf die idee,
hilfeseiten zu aendern oder zu ergaenzen :)

Jaf.

-----------------------------------------------------------------------------



Re: erweiterung von 'untersuche' (Catweazle, 21. Sep 1995, 09:59:36):
#! rn=Mupfel rt=811633038
Hm, ich meine aber mich erinnern zu koennen mal etwas derartiges
als info in der Zeitung gelesen zu haben!
YTC

-----------------------------------------------------------------------------



Re: erweiterung von 'untersuche' (Jof, 21. Sep 1995, 12:04:48):
#! rn=Mupfel rt=811633038

 Hm, das hab ich eingebaut - vor mindestens einem Jahr. Steht das nicht
in der Doku ...

 Jof

-----------------------------------------------------------------------------



Re: Re: erweiterung von 'untersuche' (Wargon, 21. Sep 1995, 12:12:57):
#! rn=Jof rt=811677888
...und ich bin dann hinterher der Dumme. ;)
  Wargon

-----------------------------------------------------------------------------



Re^3: erweiterung von 'untersuche' (Yendi, 21. Sep 1995, 14:17:34):
#! rn=Wargon rt=811678377

Feuert Wargon!


-----------------------------------------------------------------------------



Re: Re: Abfrage fuer NICHT-Deutschsprachige (Ketos, 21. Sep 1995, 19:19:06):
#! rn=Marsupilami rt=811556706
hmm Ich dachte neue Spieler werden geloescht wenn sich weniger als eine
stunde alt sind und weniger als 1000 muenzen haben..
- ketos _

-----------------------------------------------------------------------------



forward fuer die mg-post (Tasha, 26. Sep 1995, 20:40:37):
Hi!

Ich wollte hier mal ne kleine anfrage starten. Ich lese meine mail am
liebsten in ruhe mit pine auf meinem account. Da kann ich alles verwalten und
hab alles uebersichjtlich da. Immer wenn ich hier im mg post bekomme lese ich
die zwar erstmal ghier, forwarde sie aber auch immer gleich zu mir nach Hause.
Jetzt die grosse frage: Kann man das auch automatisieren? Wenn nein: wueder
sich jemand finden der sowas proggt und geht das ueberhaupt?

Neugierig, Tasha

-----------------------------------------------------------------------------



Re: forward fuer die mg-post (Tasha, 26. Sep 1995, 20:41:52):
#! rn=Tasha rt=812144437
Wow! Der Tippfehleranteil ist heute wieder besonders hoch...

shrei(b)end, Tasha

-----------------------------------------------------------------------------



Betreff: Hygienische Verhaeltnisse (Raffi, 27. Sep 1995, 12:33:31):
Morgoth:
Kann deine Toilette mehr ?
Was ich meine: Ist sie nur dafuer da das mann so ein bischen fuer sich selbst
rumdonnern kann, oder ist auch ein Spielrelevanter Effekt dabei ?

Ich denke z.B. daran, das man nach einem besuch derselben wieder etwas mehr
an Speisen & Getraenken zu sich nehmen kann.

Gruss
H.

-----------------------------------------------------------------------------



Re: Betreff: Hygienische Verhaeltnisse (Morgoth, 27. Sep 1995, 12:34:06):
#! rn=Raffi rt=812201611
ich auch....

-----------------------------------------------------------------------------



Sandtiger (Aranya, 27. Sep 1995, 13:57:52):
Aehem, Dancer! Oder Durian? Anyway...
Ich haett mal ne Frage noch zum Sandtiger: Koennte es nicht so eingerichtet
werden, dass der Tiger einen erst begruesst, wenn die Raumbeschreibung vorbei
ist? Sonst geht der Gruss in der Beschreibung unter. Ist mir zumindest ein
paar mal so gegangen.

Nix fuer ungut
              Aranya

-----------------------------------------------------------------------------



Re: Betreff: Hygienische Verhaeltnisse (Bloodyharry, 27. Sep 1995, 14:05:36):
#! rn=Raffi rt=812201611
Also ich weiss ja nicht, ob das sehr hygienisch ist, wenn man ins Klo
goebeln muss. In heutigen Kneipen gibt es doch ein etwas hoeher angebrachtes
Becken mit zwei praktischen Handgriffen. *wuerg*
Naja, wenn man schon mal darueber diskutiert...

BH

-----------------------------------------------------------------------------



KNEIPE IN ORKHAUSEN (Morgoth, 28. Sep 1995, 15:13:44):
da mich so viele spieler, oeh sorry, seher angeflamed haben, hab ich die
kneipe etwas verbessert
wer sich immer noch nicht in die stadt traut....selber schuld....(ich will ja
nix von feigling sagen) **grins**
**wink**
morgoth

-----------------------------------------------------------------------------



Re: KNEIPE IN ORKHAUSEN (Cuchullin, 28. Sep 1995, 17:43:02):
#! rn=Morgoth rt=812297624

Sch_de, d_ss Morgoth nicht weiss, w_s l_g wirklich ist, sonst wuerde er so
einen Mist nicht schreiben. D_s h_t nix mit Feigling zu tun, wenn Dir die
L_ngbeschreibung sofort vom Bildschirm scrollt, wenn sie n_ch fuenf bis zehn
Minuten endlich erscheint... _ndererseits sollen die j_ meist eh nicht sooo
l_ng sein. *h_ck* ..

Der mit der _-Phobie,
Cuch.-


-----------------------------------------------------------------------------



idee zu den kneipen (Morgoth,  3. Okt 1995, 18:21:38):
[Verlegt von magier.entwicklung, Morgoth,  3. Okt 1995, 18:20:37]:
Morgoth duckt sich erstmal, um den schlaegen zu entgehen.
also folgende idee:
waere es nicht moeglich die Foods und Drinks in 'spirituelle' und
'materielle' klassen aufzuteilen? (wasndas?) ganz einfach. es muesste noch ein
flag oder sowas zu dem AddDrink/AddFood hinzugefuegt werden, das angibt, ob
der drink oder das futter nur 'spirituellen (MP)' oder 'materiellen (LP)' wert
ausbessert (oder natuerlich auch beides = default)
es muesste also nur freiwillig umgeschrieben werden....
das wuerde die 'uebertankung' doch gewaltig reduzieren...
morgoth


-----------------------------------------------------------------------------



Re: idee zu den kneipen (Cuchullin,  4. Okt 1995, 10:49:23):
#! rn=Morgoth rt=812740898



IMHO kann man das heilen von Magie- und Lebenspunkten sehr wohl trennen - es
ist allerdings "Handarbeit", d.h. es muss von dem entsprechenden Magier selbst
als Funktion an die entsprechende Stelle eingehaengt werden.
Ist eigentlich auch gut so, denn dadurch gewinnen einige wenige "Lokale"
gewaltig an Wert...

Cuch.- (mischt sich ueberall ein)


-----------------------------------------------------------------------------



finger (Anakin,  4. Okt 1995, 13:46:55):
Hi,

wie waere es wenn im Finger-befehl auch die Gilde erscheint?
Irgendwie ist ja im Code sowas vorgesehen, ich faende es nicht
schlecht wenn das eingebaut wuerde.

Anakin.

-----------------------------------------------------------------------------



Re: idee zu den kneipen (Roadrunner,  4. Okt 1995, 13:48:47):
#! rn=Morgoth rt=812740898
eine saubere loesung waere es doch auch das tankmaterial nur fuer das zu
verwenden was noch nicht auf maximum ist - automatisch!
Will heissen dass es falls die lps bereits voll sind nur noch die mps
auftankt - eben entsprechend effektiver!  :)

				Roadrunner

-----------------------------------------------------------------------------



Re: idee zu den kneipen (Mupfel,  4. Okt 1995, 15:12:30):
#! rn=Morgoth rt=812740898
AddDrink/AddFood kann man mit ner Funktion aufrufen, die das Heilen und die
Ausgabe der Texte uebernimmt. So kann auch das partielle Tanken realisiert
werden, ohne dass /std/pub geaendert werden muesste.

-mupfel- (hat das schon gemacht, Zoo-Besucher werden das kennen :-)

-----------------------------------------------------------------------------



Re: finger (Loco,  4. Okt 1995, 18:46:25):
#! rn=Anakin rt=812810815
Eingebaut.
  Loco (handelt Grimmborn vom Ein-Zeilen- auf den Ein-Wort-Artikel runter)

-----------------------------------------------------------------------------



Froesche (Rochus,  4. Okt 1995, 19:45:09):
Froesche muessen demnaechst mit Nachteilen in Form eines
kraeftigen Staerke-Malus rechnen.
Das heisst, sie koennen etwas weniger tragen und nicht mehr so gut kaempfen.
Die Maerchen-Quest sollte dadurch jedoch nicht beeintraechtigt sein.
Das sollte die Flut der Karatefroesche etwas eindaemmen :)

-----------------------------------------------------------------------------



ignorieren (Bilbom,  4. Okt 1995, 22:34:29):
Hi!
Wie waers denn wen man an jedem einlogen sieht wenn man ignoriert, weil sonst
kann es oft passieren das man vergisst das man jemand ignoriert.
Ich meine, es passiert oft das jemand ignoriert weil er es vor vielen wochen
mal kurz machen wollte und es dan aber vergessen hat.

   Bilbom schreibt schon wiederMuell. NNN

-----------------------------------------------------------------------------



Re: ignorieren (Jaf,  4. Okt 1995, 22:46:24):
#! rn=Bilbom rt=812842469

Hm, und Abstellen koennen moechte man es natuerlich auch, Bilbom?
Denn viele Leute ignorieren Leute, um sie nicht zu sehen...
Waere es nicht einfacher, wenn Du Dir angewoehnst, eimal in der
Woche 'ignoriere' zu tippen?
Fyt.
Mit TF ist's noch einfacher, mach ein '/send ignoriere' in die .tfrc

-----------------------------------------------------------------------------



psychosomatische Anwandlungen bei Zwergen und Elfen (Toeter,  5. Okt 1995, 13:12:48):
Hi,
im Zuge der schleichenden Rassenreform haben Elfen und Zwerge nun gegenueber
den langweiligen Menschen die Eigenart, dass ihre Heilrate deutlich von der
Umgebung abhaengt, in der sie sich befinden. Im Klartext: Zwerge heilen in
geschlossenen Raeumen schneller als an der frischen Luft, bei Elfen ist es
umgekehrt.
   Toeter, Rassist.

-----------------------------------------------------------------------------



Re^3: psychosomatische Anwandlungen bei Zwergen und Elfen (Li,  6. Okt 1995, 09:30:18):
#! rn=Mupfel rt=812923326
ha, endlich bekommt P_INDOOORS auch mal ne Bedeutung!

Li (mag es lieber hierfuer benutzt, als fuer Tag und Nacht)

-----------------------------------------------------------------------------



untersuche .. in mir/im raum (Roadrunner,  6. Okt 1995, 13:58:51):
Das feature ist sehr brauchbar, da man sonst dauernd in die rumliegenden
sachen schaut. Dumm ist es nur, dass man nicht in der lage ist sachen genauso
selektiv zu nehmen oder zu legen. Insbesondere bei beutelgebrauch wenn im raum
beutel sind. Man stopft dauernd irgendwas in rumliegende beutel obwohl mans in
den den man dabei hat tun moechte.
Gut - man kann den den man selber hat dazulegen und dann rumsortieren - aber
ich finde das auch nicht besonders angenehm dauernd abzulegen um etwas reintun
zu koennen. - man denke an gefaehrliche ecken wie die wasserebene. Meist liegt
da ausser dem eigenen zeugs doch so einiges andere inclusive beutel rum

Roadrunner
(vermisst den Befehl: lege <Ding> in <Behaelter> [in mir|im Raum]
und:                 nimm <Ding> aus <Behaelter> [in mir|im Raum] )

                                     RR

-----------------------------------------------------------------------------



Re: Re: idee zu den kneipen (Raffi,  6. Okt 1995, 14:02:13):
#! rn=Roadrunner rt=812810927
Ich finde die Idee mit den "leiblichen" Speisen gut. Ich z.B. kaempfe mich
nur mit meiner Kraft (na ja derzeit auch mit so einem Pfeilring) durch.
Daher waere es mir deutlich lieber wenn das beschraenkte Fassungsvermoegen
meines Magens (bzw. meines Bluts im Falle der Alkoholischen Getraenke)
nur fuer die LP verwendet wuerde!.

Gruss
H.

-----------------------------------------------------------------------------



Re^5: psychosomatische Anwandlungen bei Zwergen und Elfen (Raffi,  6. Okt 1995, 14:34:54):
#! rn=Felagund rt=812986214
A) ich will ja keine Verbesserung der Froeche - Ich will eigentlich KEINE
   Veraenderung daran. (Das war ja der Anlass - ich arbeite gerrrade die MPA
   der letzten Woche auf)
B) Nun die Spielbarkeit der Questen duerfe sich durch den angedrohten Malus
   ja veraendern.
C) Ich bin eben NICHT gegen die vermaulwurfung - im gegenteil - gefaellt mir
-
   ich habe nur meine meinung zur GEWSCHLECHTSumwandlung gesagt.
D) > aber vielleicht sollten in Zukunft alle Magier dich fragen,
   > sie etwas schoenes programmieren...
   Soll ich zu solcher Polemik was sagen ?

Gruss
H.
(grinst Froschmaessig)

-----------------------------------------------------------------------------



Gross/Kleinschreibung bei ^ (Leusel,  9. Okt 1995, 09:56:19):
Hi !

Wenn man mittels ^alt^neu Bereiche seiner misglueckten Eingabe
abaendert, werden im ganzen Text leider auch alle Grossbuchstaben
in Kleinbuchstaben umgeaendert, was manchmal laestig sein kann. Kann
man das wohl eventuelle aendern ?

Leusel

-----------------------------------------------------------------------------



Re: Ebenen (Wargon,  9. Okt 1995, 11:22:41):
#! rn=Jerrico rt=812924626
  Hi!
Auf den Ebenen gibt es jetzt eine History. Es werden die jeweils letzten 15
Meldungen pro Kanal gespeichert.
Zum Ansehen dient der Befehl -*<buchstabe>; fuer den Standardkanal reicht
auch einfach -*
  Wargon
PS: Um an den Befehl zu kommen, muss man sich alerdings erst einmal mit
"ende" ausloggen oder auf den naechsten Reboot warten.

-----------------------------------------------------------------------------



Re^6: ignorieren (Pampers,  9. Okt 1995, 13:30:56):
#! rn=Asmodis rt=812918058
Hmmmm....
Pampers fragt sich auch, was er Asmodis angetan hat. :)

-----------------------------------------------------------------------------



Re^3: Froesche (Jerrico,  9. Okt 1995, 14:15:44):
#! rn=Baron rt=813024115
'extreme vorteile' ist wohl etwas uebertrieben, es gab und gibt allerdings
einige karate-npcs, die nicht im hiza-shita bereich getroffen haben und
treffen.
als karateka hat man jetzt kaum noch eine chance gegen das klitzeldrom und
seine
schneebaelle die alle ziemlich klein sind, da es nur eine vernuenftigen
tritt, der relativ teuer ist, fuer diesen bereich gibt.
Meiner meinung nach liegt der bug nicht an den alten froeschen, sondern daran
das einige npcs
gegen kleine gegner sehr schlecht aussahen, und deshalb wuerde ich es sehr
befuerworten wenn durch
das froschwerden lediglich die groesse und nicht die kraft beeinflusst
wuerde.


jerrico

-----------------------------------------------------------------------------



Re: Re: Ebenen (Jerrico,  9. Okt 1995, 14:16:37):
#! rn=Wargon rt=813234161
Danke :)



-----------------------------------------------------------------------------



Re^9: ignorieren (Boing,  9. Okt 1995, 15:19:34):
#! rn=Loco rt=812984474
Nein, Yendi hat auch in diesem Fall unrecht, ich ignoriere Andy zum
Beispiel. Um genau zu sein: Andy war der Grund, weswegen ich damals
die Moeglichkeit zu ignorieren eingebaut habe. :)
  Boing

-----------------------------------------------------------------------------



Re^4: Froesche (Fyt,  9. Okt 1995, 19:28:04):
#! rn=Jerrico rt=813244544

Tja, Jerrico, wirst Dich halt dran gewoehnen muessen, dass nicht
jeder jedes Monster killen kann... Auch das foerdert Zusammenarbeit.
Fyt, der sich schon lange damit abgefunden hat, dass er gegen das Drom
keine Chance hat.

-----------------------------------------------------------------------------



Neueinstufung der Abenteuer (Boing, 10. Okt 1995, 11:42:50):
Wie bereits in der Seherrubrik angekuendigt, habe ich eine teilweise
Neueinstufung der Abenteuer vorgenommen. Es ist vielleicht noch nicht
perfekt, aber doch schon um einiges besser als vorher. Teilweise musste
ich etwas Kompromisse eingehen, da nach der ersten Einstufung die Gesamt-
punktzahl gesunken waere, was ich nicht wollte. Fuer die Spieler bedeutet
die Aenderung, dass sich unter Umstaenden die persoenlichen APs geaendert
haben, fuer manche ist es vielleicht etwas runter gegangen, fuer andere
etwas hoch. Insgesamt sind aber die Anforderungen sowie die Gesamtanzahl
der Punkte gleich geblieben. Ich moechte mich noch bei den Spielern be-
danken, die mir durch ihre Einstufungen geholfen haben:
Ryne, Ratz, Urza, Paracelsus, Engywuck, Aline, Anakin, Jaf, Kotzbrocken,
Snuggle, Nixihou, Caradhras, Khidar, Nostradamus und Cuchullin (in der
Reihenfolge des mail-Eingangs, ich hoffe ich hab keinen vergessen).
Hier die Aenderungen im Einzelnen:

Geisterschloss 50 (+20)
 Darueber herrschte schon kurz nach Anschluss der Quest Einigkeit, kein
 weiterer Kommentar noetig.
Maerchen30 (+5)
 Wurde entweder unveraendert oder auf 30 bzw. 35 eingestuft, niedriger
 wollte es keiner haben.
Grisu30 (+10)
 Wurde durch die Bank hoeher eingestuft, aufgrund der Gefahren durch
 aggressive Monster ist auch die Stufe von 5 auf 7 gestiegen.
Hilbert25 (-10)
 Die Meinungen schwankten zwischen 20 und 25, nur ein Spieler wollte eine
 Erhoehung der Punkte. Ich denke die Quest ist ziemlich einfach, nur ein
 bisschen nervig.
Oktopus-Riff25 (-10)
 Auch hier gibt es nur ein Problem zu loesen, was zugegebenermassen durch
 das Labyrinth auch nervig wird. Fuer ein Labyrinth moechte ich aber keine
 zusaetzlichen Punkte vergeben. Die Vorschlaege schwankten zwischen 20 und
 30.
Chilanas Lebenselixier40 (+5)
 Eine Quest um das Mud (inkusive neuer Gebiete) gruendlich kennenzulernen.
 Die Einstufungen schwankten zwischen 25 und 45, jedoch ueberwogen hoehere
 Werte.
Das Geheimnis der Maya 40 (+5)
 Wurde mehrfach hoeher angesetzt, den Vorschlaegen wurde hiermit statt-
 gegeben. :)
Die sieben Kelche40 (+5)
 Etwas Gemetzel, ein bisschen Rumsuchen, so gut wie jeder wollte hierfuer
 40-45 Punkte.
Pandora50 (-10)
 Hier herrschte grosse Einigkeit, bis auf eine Ausnahme (40 Punkte) schlug
 jeder 50 Punkte vor.
Konfusius45 (-15)
 Hier wollte ich eigentlich auf 40 runtergehen, ich musste aber einen
 grossen Negativueberhang an einigen Stellen ausgleichen. Die Einstufungen
 gingen von 25 bis maximal 50.
Olaf Huusg60 (+20)
 Wurde mehrfach als Paradebeispiel einer zu niedrig eingestuften Quest
 angefuehrt, deswegen auch der hohe Zuschlag. Hier musste ich mich voll
 auf die Einstufungen verlassen, da das eine der zwei Quests ist, die ich
 nicht kenne.
Schwert der Gnade60 (-5)
 Das ist die andere Unbekannte, mehrfach wurde 60 vorgeschlagen, einmal
 sogar nur 50.
Titiwu55 (-15)
 Die zu hohe Einstufung hatte hier historische Ursachen, die Quest war
 einmal schwieriger. Einigkeit auf ganzer Linie.
Heilung fuer den Hexer70 (-10)
 Eigentlich ist die Quest nicht allzu schwer, nur etwas laenglich und
 durch unzaehlige (unnoetige) Labyrinthe aufgeblaeht. Sollte eigentlich
 noch weniger geben.
Red Fraggle90 (+10)
 Eine sehr grosse und verwirrende Quest, dazu eine der schoensten im Mud
 (persoenliche Meinung), die 10 Punkte Aufschlag gebe ich gerne! :)
Orkenhort65 (-15)
 Ziemlich linear zu loesen, keine riesigen Probleme und auch relativ kurz,
 die Quest wurde allgemein als zu hoch bewertet angesehen (60-75, eine
 Ausnahme mit 85).
Friedhof90 (+5)
 War im Prinzip auch mit 85 in Ordnung, ich wollte jedoch Fraggle, Frachtgut
 und Friedhof auf ein Niveau bringen, was wohl auch in etwa hinkommt.
 Das alle 3 Quests mit 'Fr' anfangen ist rein zufaellig. :)
Oma Wetterwachs50 (+5)
 Profitierte vom negativen Ueberhang, was aber auch seine Berechtigung hat,
 da man ein grosses Gebiet untersuchen muss und zufaellige Fragen darueber
 zu beantworten hat, der Fragenkatalog koennte allerdings noch etwas
 wachsen - Huhu, Wargon :)

Kritik und Lob hier in diese Gruppe bzw. direkt an mich, flames nach

  Boing

PS: flames nach /dev/null sollte das heissen ... tf hat das verschluckt.

-----------------------------------------------------------------------------



Re: Neueinstufung der Abenteuer (Boing, 10. Okt 1995, 11:44:13):
#! rn=Boing rt=813321770

Hmm, da sind wohl ein paar tabs verloren gegangen ... eigentlich sollte
die Punktzahl einen kleinen Abstand vom Namen haben, sorry!
  Boing

-----------------------------------------------------------------------------



Re^3: Froesche (Durin, 11. Okt 1995, 16:05:44):
#! rn=Baron rt=813024115
nn
Welche tollen Vorteile sollen das den gewesen sein. Ich kann mir nur denken
das eine Verfroschung fuer Menschen und Elfen einen Vorteil hatte.

Durin


-----------------------------------------------------------------------------



Re^4: Froesche (Baron, 11. Okt 1995, 17:29:42):
#! rn=Durin rt=813423944
Ein DEUTLICHER Vorteil ist z.B. das man als 20 cm grosser Frosch von
Karatemonstern (insbesondere von grossen) praktisch GARNICHT getroffen wird.
Das geht natuerlich nicht :).
Baron - proggt Karatezombies

-----------------------------------------------------------------------------



Re^5: Froesche (Jerrico, 11. Okt 1995, 18:19:54):
#! rn=Baron rt=813428982
Dann bring ihnen doch den Fumikomi-geri bei, aber in der
jetzigen Situation sind Karateka gegen die Schneebaelle aufgeschmissen.
Jerrico, will auch mal so einen +4 Ring
(hmmm, soll ich mir deswegen einen Abenteurer-Seher machen ???)


-----------------------------------------------------------------------------



neue vokabeln (Jaf, 11. Okt 1995, 20:06:00):
Wie waere es, wenn sahece, wie 'setze helm auf' usw.
gehen wurden? ich hab mich eben dran erinnert, dass ich als anfaenger ne
weile gebraucht hab, bis mir jemand gesagt hat, dass ma 'n helm auch
'anziehen' kann.
jaf.

-----------------------------------------------------------------------------



Teddy mal wieder kaputt? (Hardil, 12. Okt 1995, 14:18:52):

Mit passiert es in letzter Zeit haeufiger, dass sich der Report-Modus meines
Nibelungen-Teddies von alleine ausschaltet - beim Einschlafen wohl. D.h., ich
logge mich ein, und die zwar nervigen, nichtdestotrotz lebenserhaltenden
Zustandsmeldungen kommen
nicht... Liegt das mal wieder nur am Teddy, oder kann das auch an etwas
anderem liegen?

-Hardil.
Trotzdem nicht gestorben. :-)

-----------------------------------------------------------------------------



Re^6: Froesche (Asmodis, 12. Okt 1995, 19:43:33):
#! rn=Jerrico rt=813431994
Wieso aufgeschmissen? ich bin auch Karateka und habe gegen
Schneebaelle keine Probleme. Naja, vielleicht kannst du keine
Hiza-Shita-Techniken :)

-----------------------------------------------------------------------------



Re: Teddy mal wieder kaputt? (Bilbom, 12. Okt 1995, 20:14:32):
#! rn=Hardil rt=813503932
Ich dachte das ist normal das der Teddy nach einschlafen aus geht.

-----------------------------------------------------------------------------



Re^7: Froesche (Jerrico, 12. Okt 1995, 20:19:55):
#! rn=Asmodis rt=813523413
ja erstens das und zweitens laufen meine bumi-skripte nicht so wie sie laufen
sollen :)

-----------------------------------------------------------------------------



Re^8: Froesche (Asmodis, 12. Okt 1995, 20:31:03):
#! rn=Jerrico rt=813525595
Ich schaff das ohne bumi-skripte :)

-----------------------------------------------------------------------------



Re^9: Froesche (Jerrico, 12. Okt 1995, 20:31:52):
#! rn=Asmodis rt=813526263
und ohne issomad ???

-----------------------------------------------------------------------------



Re^10: Froesche (Asmodis, 12. Okt 1995, 21:26:03):
#! rn=Jerrico rt=813526312
Sicher ohne Issomad, der killt nur den Drom, ich nur die Schneebaelle :)

-----------------------------------------------------------------------------



Beuteltiere (Raffi, 18. Okt 1995, 09:11:33):
Ich bin da auf eine unschoenheit (um es nicht ein problem zu nennen)
gestossen:

---------------

> lege 2000 muenzen in beutel 2
Das passt nicht mehr rein.
> lege 100 muenzen in beutel 2
Du steckst 100 Muenzen in den Schleimbeutel.
> lege 500 muenzen in beutel 2
Du steckst 500 Muenzen in den Schleimbeutel.
> lege 1400 muenzen in beutel 2
Das passt nicht mehr rein.
> lege 600 muenzen in beutel 2
Du steckst 600 Muenzen in den Schleimbeutel.
> lege 900 muenzen  in beutel 2
Du steckst 900 Muenzen in den Schleimbeutel.
>
---------------

Ich geh mal davon aus die ursache ist das zuerst geprueft wird ob man die
"neuen" Sachen noch tragen kann wenn sie im Beutel sind. Da ich zu diesem
zeitpunkt
ueber ein "nimm alles" bereits voll war ging das natuerlich nicht.

Abhilfe: ueberpruefen ob die "Quelle" der Sachen bereits "in mir" ist, und
dann die Abfrage aufs GESAMMTgewicht unterlassen (natuerlich immer noch
schauen ob der Beutel selbst das noch fasst).

Gruss
H.

-----------------------------------------------------------------------------



Re: Beuteltiere (Asmodis, 18. Okt 1995, 13:56:59):
#! rn=Raffi rt=814003893
Das Problem ist uralt, die Magier muessten es kennen :)

-----------------------------------------------------------------------------



Re: Re: Beuteltiere (Raffi, 18. Okt 1995, 14:18:03):
#! rn=Asmodis rt=814021019
Hmmm kann sein, ist aber immernoch da.

Ich hab auch gleich noch ein seltsammes erlebniss mit dem beutel gehabt:

> lege 1600 muenzen in beutel 2
Du steckst 1608 Muenzen in den Schleimbeutel.
>

Gibts da eine Fuzzyfunktion ????

Gruss
H.

-----------------------------------------------------------------------------



was nun ? (Morgoth, 18. Okt 1995, 20:13:34):
neulich in der gilde :
stat ryne
Ryne kloppt seine Frau (Zwerg)[Seher].

Alter        : 92 Tage 14 Stunden. Verheiratet mit Eps.
Lebenspunkte : [182/226] Magiepunkte : [ 14/202] Erfahrungspunkte :
200086564.
Nahrung      : [xxxxxxx] Fluessigkeit: [xxxxxxx] Alkohol          :
[xxxxxxx].
Geschlecht   : maennlich Charakter   :      xxxx Stufe            : 35.
Geld         :    xxxxxx Stati       : int[20], str[20], con[20], dex[20].

Waffe( xx) : Keine.
Ruestung( xx): ein Schlagring[xx], ein ``Born to Kill''-Stirnband[xx], eine
               Schattenruestung[xx], eine Kristallkrone[xx], ein silbernes
               Kreuz[xx], eine Daemonenhose[xx], ein Umhang[xx], ein roter
               Guertel[xx].
Aufgaben     : Hilberts Turm, Garderobe fuer das Casino, Schrat kann nicht
               einschlafen, Zacharias Eispalast, Waldbauernhof, Eilende
               Briefzustellung, Titiwu, Der Stein von Duncton, Finde die Fee
               Amaryllis, Oktopus-Riff, Hilf dem Mann im Schnee, Atlantis,
               Befreie den Friedhof, Rette die Wolpertinger, Werde
               Obergladiator, Die Buechse der Pandora, Nibelungen, Erforsche
               die Pyramiden, Valgessa, Maerchen, Befreie Oma Wetterwachs,
               Raetsel um den Raetselstein, Heilung fuer den Hexer, Finde
das
               gestohlene Frachtgut, Frieden fuer Tarko Reub, Paganinis
               Teufelsgeige, Das Schicksal von Olaf Huusg, Hilf dem
               Architekten, Schwert der Gnade, Die sieben magischen Kelche,
               Rasselkette, Rette Red Fraggle, Narrenball, Das Geheimnis der
               Maya, Grisu will Feuerwehrmann werden, Der Orkenhort, Sam
               Harkwinds Logbuch, Finde die Schriftrolle des Konfusius,
               Chilanas Lebenselixier, Die Kristallkugel, Soruths Rache,
               Geisterschloss.
Aufenthalt   : /gilden/abenteurer.

%> % erhoehe stufe
%Willommen auf Deiner neuen Stufe.
Du bist jetzt kloppt seine Frau (level 36).
%Sushi gratuliert Dir.

Du sagst: grats
tja, sieht so aus, als wenn ryne es geschafft haette. was ? der erste level
36er zu sein.
ich glaube es wird zeit mal etwas ueber level 36 anzusiedeln, oder? damit
ryne noch was zu tun hat, ausser seine 2ties zu maesten.....
**wink**
morgoth

-----------------------------------------------------------------------------



Re: was nun ? (Asmodis, 19. Okt 1995, 14:13:37):
#! rn=Morgoth rt=814043614
Noe, beim naechsten Artikel kommt Merlin und zwingt ihn, einen
Magiervertrag zu unterschreiben :)

-----------------------------------------------------------------------------



Stufen (Fyt, 20. Okt 1995, 14:35:26):

Koennte sich nicht mal jemand an ne feinere Abstufung der Stufen
in der ABenteurergilde in Abhaengigkeit von den AP machen?
Ich stand eben ne weile in der Gilde und hab festgestellt, dass
hier immer gleich dreimal hintereinander erhoeht wird...
Fyt.

-----------------------------------------------------------------------------



ignoriere (Fyt, 20. Okt 1995, 15:00:55):
Zweiter Versuch:
Ich haette gern ein 'ignoriere M*burg'.
Von mir aus mit Zusatz 'ausser <name> und <name>.
Buette, buette, buette.\Fyt.

-----------------------------------------------------------------------------



Re: ignoriere (Grimmborn, 20. Okt 1995, 15:04:27):
#! rn=Fyt rt=814197655

Wo wir dabei sind:
Eine wildcard in erwarte waere auch nicht schlecht.

Grimmborn der Atheist. Kurz, knapp, praegnant.

-----------------------------------------------------------------------------



Re: Re: ignoriere (Acrimon, 21. Okt 1995, 17:00:35):
#! rn=Grimmborn rt=814197867
Wildcard?
Nein, Regexp!

Wenn schon, denn schon!

Acrimon

-----------------------------------------------------------------------------



Re^3: ignoriere (Etah, 21. Okt 1995, 17:40:44):
#! rn=Acrimon rt=814291235
Tja, Grimmborn hatt schon recht. Er moecte Wildcards haben. Etwas ausge-
baut ergibt sich aus einem Ausdruck, in welchem Wildcards sind dann
ein regulaerer Ausdruck (regexp). Nur erhoeht sich der Aufwand
massiv, wenn so viele Daten immer durch einen regulaeren Ausdruck ge-
schickt werden muessen.

E.

-----------------------------------------------------------------------------



Re^4: ignoriere (Fyt, 22. Okt 1995, 18:29:50):
#! rn=Etah rt=814293644
Ordinaeres globbing wuerde MIR voellig reichen, von mir aus
auch ein ausgeschriebenes 'ignoriere marburg' und 'ig merseburg'
und 'ig magdeburg'...
Fyt.

-----------------------------------------------------------------------------



Re^5: ignoriere (Pteppic, 23. Okt 1995, 08:17:12):
#! rn=Fyt rt=814382990

Kommt mir ein wenig seltsam vor, dieser Zwang gleich jeden zu ignorieren,
nur weil er aus einer bestimmten Stadt kommt. Ich hoffe, man wird der Bitte
nach diesem Befehl nicht nachkommen.

PtEPPiC ( wie waers gleich mit 'ignoriere weiblich' oder
                               'ignoriere alle ausser deutschland' )

-----------------------------------------------------------------------------



AP-abhaengige Stufen (Jaf, 26. Okt 1995, 23:35:54):

Ich faend's nett, wenn es zu jeder stufe eine ap-schranke gaebe,
dh, wenn die unterteilung feinerer waere. im moment gibt's
doch fast nur 1, 3, 6 usw...
jaf.

-----------------------------------------------------------------------------



Re: AP-abhaengige Stufen (Asmodis, 26. Okt 1995, 23:46:52):
#! rn=Jaf rt=814746954
Vielleicht sollte man die ap auch ein bisschen in die Karateka-
Level einfliessen lassen, sagen wir mal, 100 Ap fuer den 5. kyu oder so.
und 200 fuer den 8. ....

-----------------------------------------------------------------------------



Re: Re: AP-abhaengige Stufen (Jerrico, 26. Okt 1995, 23:47:52):
#! rn=Asmodis rt=814747612
ich glaube die karateka habens schwer genug mit dem training :)
Die sollen erst mal trainieren bevor sie questen :)

-----------------------------------------------------------------------------



Re: Re: AP-abhaengige Stufen (Fyt, 26. Okt 1995, 23:48:16):
#! rn=Asmodis rt=814747612
Ja, klar :)  Nicht nur fuer den 8. Dan :))
Fyt.

-----------------------------------------------------------------------------



Re^3: AP-abhaengige Stufen (Fyt, 27. Okt 1995, 00:27:28):
#! rn=Jerrico rt=814747672
So ein Bloedsinn, das stupide trainieren fuehrt dazu, dass man
den Kontakt zur 'normalen Welt' und den Entwicklungen, die
da vor sich gehen, voellig verliert. Hab ich doch selbst gemerkt.
Fyt.

-----------------------------------------------------------------------------



Re: Re: AP-abhaengige Stufen (Hadra, 27. Okt 1995, 03:12:48):
#! rn=Asmodis rt=814747612
also, wenn ich das richtig im kopf habe, so gibt es in der karate gilde sehr
wohl bestimmte stufen, die an einen spielerlevel gekoppelt sind.
villeicht koennte man diese anforderungen mal oeffentlich klarstellen (oder
ist das helpfile schon angepasst?).
wenn es dann irgendwann mudder gibt, die feststellen, dass sie ueber dem
metzeln das questen vergessen haben, tut mir das leid, aber fuer karate
gilt wohl auch die weisheit, dass zur perfektion nicht nur muckies, sondern
auch der kopf gehoert ;)

wie gilden ihre internen level regeln ist einzig sache der gilden. die
abenteurer sind nicht das mass aller dinge. auch in der chaosgilde gibt es
anforderungen fuer die einzelnen stufen mit den einen 'otto-normal-abenteurer
wohl nie konfrontiert wird.
loest euch bitte von der alten vorstellung spielerlevel = spielerkoennen

hadra - immer noch abenteurer

-----------------------------------------------------------------------------



Re^3: AP-abhaengige Stufen (Fyt, 27. Okt 1995, 03:15:58):
#! rn=Hadra rt=814759968
Naja, ne gewisse Korrelation moechte ich schon haben, oder
aber Angabe des Gildenlevels bei 'finnger' o.ae.
Fyt.

-----------------------------------------------------------------------------



Re^4: AP-abhaengige Stufen (Jerrico, 27. Okt 1995, 08:41:01):
#! rn=Fyt rt=814760158
Ja ein Gildenlevel beim 'finger' wuerde mich auch interessieren.

-----------------------------------------------------------------------------



Macht sich da ein Magier lustig? (Yendi, 27. Okt 1995, 12:45:48):

Im Fremdenverkehrsbuero in PV:

> schau tisch
Ein kleiner Tisch aus Holz.
Auf ihm liegt:
Ein Werbeprospekt.
> schau prospekt
Nimm Dir einen, auf dem Tisch muessten noch welche herumliegen!
> nimm prospekt
Das kannst Du nicht mitnehmen.
> nimm prospekt
Das kannst Du nicht mitnehmen.
> schau prospekt
Nimm Dir einen, auf dem Tisch muessten noch welche herumliegen!
> nimm werbeprospekt
Das geht nicht!


Na toll...



-----------------------------------------------------------------------------



Re: Macht sich da ein Magier lustig? (Handi, 27. Okt 1995, 13:04:01):
#! rn=Yendi rt=814794348
Versuche doch einfach eimal nimm
werbeprospekt von tisch

-----------------------------------------------------------------------------



Re: Macht sich da ein Magier lustig? (Etah, 27. Okt 1995, 13:05:03):
#! rn=Yendi rt=814794348
Im Fremdenverkehrsbuero in PortVain:

Yendi der Weise.
Ein Tisch.
Ein kleiner Tisch aus Holz.
> unt tisch
Auf ihm liegt:
Ein Werbeprospekt.
> nimm prospekt von tisch
Du nimmst einen Prospekt.

Vielleicht solltest Du mal die Lage der Dinge zueinander beachten.
Das Prospekt liegt *auf* dem Tisch ;)

E.

-----------------------------------------------------------------------------



Autoload-Sachen. (Roadrunner, 29. Okt 1995, 19:03:19):

Wen hats nicht schon etwas angenervt dass autoload - sachen wie zauberstab
oder seherkugel das inventory fuellen. eigentlich sind diese dinge doch genau
dann mal interessant wenn man sie bekommt. - waere es nicht eine ueberlegung
wert ein besonderes behaeltnis zu kreieren das diese dinge aufnimmt und
benutzbar bereitstellt ohne dass sie immer angezeigt werden beim 'i'?

	Roadrunner

-----------------------------------------------------------------------------



Neue Optionen bei 'i' (Catweazle, 31. Okt 1995, 13:20:06):
[Verlegt von allgemeines, Jof, 31. Okt 1995, 10:25:27]:

 Der 'Inventur'-Befehl beherrscht inzwischen einige Optionen:

 -s: Ausgabe alphabetisch sortieren
 -a: Nur Autoloader anzeigen
 -n: Keine Autoloader anzeigen
 -r: Nur Ruestungen anzeigen
 -w: Nur Waffen anzeigen

 Viel Spass,
  Jof


-----------------------------------------------------------------------------



Re: Neue Optionen bei 'i' (Roadrunner, 31. Okt 1995, 15:48:08):
#! rn=Catweazle rt=815142006

Habs grade getestet - -w und -r - option funktioniert nicht! (ende hab ich
gemacht!)
		RR

-----------------------------------------------------------------------------



Re: Re: Neue Optionen bei 'i' (Boing, 31. Okt 1995, 16:04:28):
#! rn=Roadrunner rt=815150888
Also -r und -w tut bei mir, dafuer kann ich bei -s keine Ordnung
erkennen. Nach was wird denn sortiert? :)
  Boing

-----------------------------------------------------------------------------



Re^3: Neue Optionen bei 'i' (Azzuro, 31. Okt 1995, 17:14:11):
#! rn=Boing rt=815151868
Ist doch kein Wunder Boing.
-s wurde von der Chaosgilde geproggt.
Azzuro sucht auch noch nach dem System.

-----------------------------------------------------------------------------



Re: Neue Optionen bei 'i' (Acrimon, 31. Okt 1995, 17:38:59):
#! rn=Catweazle rt=815142006
Fuer den Inventory-Befehl faellt mir noch eine wichtige Option ein:
i -o  Nur sOnstiges anzeigen

so dasz i -a, i -r, i -w und i -o zusammen genau dieselben Gegenstaende
anzeigen wie nur i (ohne Option).

Acrimon

-----------------------------------------------------------------------------



Re: Re: Neue Optionen bei 'i' (Cuchullin,  1. Nov 1995, 01:01:49):
#! rn=Acrimon rt=815157539
Jof meinte am Stammtisch, dass er den -s versehentlich deaktiviert haette....
soll vorkommen...

Aus 40x25-Land...
Cuch.-


-----------------------------------------------------------------------------



Re: kwer freund (Cuchullin,  2. Nov 1995, 13:32:32):
#! rn=Acrimon rt=815315371


fwer, fwer ort

Cuch.- hat keine Freunde.


-----------------------------------------------------------------------------



Re: kwer freund (Horschd,  2. Nov 1995, 13:32:59):
#! rn=Acrimon rt=815315371
Hi Acrimon.

Sowas wie 'kwer freund' gibts doch schon: fwer

Bis denne,

Horschd.

-----------------------------------------------------------------------------



Wechseln der Ringe (Mahatma,  2. Nov 1995, 15:29:41):
Es gibt bekanntlich eine erhebliche Anzahl verschiedener Ringe, z.B.
Bonusringe, Ringe zum Ballern, Anti-Feuer-Ring,..., und jeder ist fuer einen
anderen Anwendungsfall gut.
Oft ist es sogar erforderlich, im Kampf die Ringe zu wechseln, z.B. zu Beginn
ein Ausdauer-Bonusring, wenn die Zusatzpunkte verbraucht sind, der Ring mit
dem Feuerstrahl, dann der Goblinring, usw.
Dabei ist es sehr laestig, dass man den alten Ring erst ausziehen muss, um
den neuen anziehen zu koennen. Waere es nicht moeglich, dass analog zum
Zuecken einer Waffe der alte Ring automatisch ausgezogen wird, wenn man einen
neuen Ring anzieht? Das wuerde die Sache wesentlich stressfreier gestalten.
Mahatma

-----------------------------------------------------------------------------



Re: Wechseln der Ringe (Tasha,  2. Nov 1995, 16:22:14):
#! rn=Mahatma rt=815322581
Junge, Junge. Es ist "erforderlich, im Kampf Ringe zu wechseln"????? Bin ich
echt schon so lange Magier? Sei doch einfach mal froh, dass es ueberhaupt
Bonusringe gibt. Und ausserdem: Wenn du im RL einen Ring auf einen Finger
steckst wo schon ein anderer Ring draufsitzt....schiebst du den dann durch den
Handruecken weg oder was?

alternd, Tasha

-----------------------------------------------------------------------------



Re: Re: Wechseln der Ringe (Yendi,  2. Nov 1995, 16:24:51):
#! rn=Tasha rt=815325734

Tasha, in RL kann man mehrere Ringe anziehen -- sogar mehrere an denselben
Finger! Jahaaa, da staunst Du, was?


-----------------------------------------------------------------------------



Re^3: Wechseln der Ringe (Tasha,  2. Nov 1995, 16:29:29):
#! rn=Yendi rt=815325891
Das dumme an Analogien ist, dass sie nie 100%ig treffend sind. Im MG kannst
du (mit ausnahmen) nur einen Ring anziehen. Deswegen ist die Situation hier,
als haettest Du nur einen Finger. Und solange man nicht mehrere Ringe tragen
kann (verscheidene Reassen haben verschieden viele Finger?) musst du wohl
unbenutzte Ringe ausziehen.

und schon wieder etwas aelter, Tasha

-----------------------------------------------------------------------------



Hilbertturm (Roadrunner,  2. Nov 1995, 16:42:58):

Ich finde, dass der hilbertturm erst fuer spieler level 2 oder 3 betretbar
sein sollte. Mir selber ist es so gegangen dass ich beim mappen der umgebung
von Port vain als level 1 da reinrannte ohne irgendwelchen plan zu haben was
das soll. Wusste nicht recht was eine Quest ist oder wie man diese Npcs dazu
bringt etwas von sich zu geben.

Es kommen dauernd frage wie man aus dem turm wieder rauskommt - ich finde wer
da reingeht sollte zumindest wissen warum er das tut und nicht einfach
moeglichst schnell wieder raus - hat ja den charakter einer komplexen falle.

Man koennte sich auch denken eine abfrage vor dem betreten des aufzugs
einzubauen die ahnungslose abfaengt.

Eine Quest nur aus Versehen und mit viel hilfe zu loesen oder loesen zu
muessen ist laestig.

				Roadrunner

-----------------------------------------------------------------------------



Re: Neue Optionen bei 'i' (Yeti,  3. Nov 1995, 13:20:22):
#! rn=Catweazle rt=815142006
aehem:
i -a
Usage: i[nventory] [-s]
mach ich da was falsch, oder gehts nur nich ??

Yeti, *sich wundernd*

-----------------------------------------------------------------------------



Re: Re: Neue Optionen bei 'i' (Asmodis,  3. Nov 1995, 13:21:28):
#! rn=Yeti rt=815401222
mach doch erstmal 'ende' und versuch es danach wieder :)

-----------------------------------------------------------------------------



Re^3: Neue Optionen bei 'i' (Yeti,  3. Nov 1995, 13:26:55):
#! rn=Asmodis rt=815401288
stimmt, naja, man wird eben alt ....
Yeti, kommt wegen studium kaum noch zum spielen...

-----------------------------------------------------------------------------



Re^4: Wechseln der Ringe (Wargon,  3. Nov 1995, 13:37:45):
#! rn=Tasha rt=815326169
Erklaerungsmoeglichkeit: Die MG-Ringe vertreten den Standpunkt "Du sollst
keine anderen Ringe neben mit tragen!" ;)

-----------------------------------------------------------------------------



Re^5: Wechseln der Ringe (Cuchullin,  3. Nov 1995, 13:42:59):
#! rn=Wargon rt=815402265

... ausser es seien Schmuckringe, Verlobungsringe oder gar schaendliche
Eheringe.

Oft mit Augenringen ;),
Cuch.-


-----------------------------------------------------------------------------



Re^6: Wechseln der Ringe (Tasha,  3. Nov 1995, 22:11:38):
#! rn=Cuchullin rt=815402579
Darf man dabei auch Zwiebelringe essen?

mv this.article /dev/nul, Tasha

-----------------------------------------------------------------------------



"i[nventory]" (Jof,  6. Nov 1995, 11:23:32):

 Die Option -s funktioniert wieder.
 Eine Option -o ist hinzugekommen, die nur Nicht-Waffen und Nicht-Ruestungen
anzeigt; natuerlich sind die Optionen untereinander kombinierbar,
zB. i -s -n -o (alle Nicht-Ruestungen/Waffen, die nicht autoload sind,
sortiert
anzeigen).

 Jof

-----------------------------------------------------------------------------



Re: "i[nventory]" (Acrimon,  6. Nov 1995, 11:58:11):
#! rn=Jof rt=815653412
Danke Jof, ich habs ausprobiert, i -s klappt jetzt und i -o auch.

Nur leider kann ich die Optionen nicht kombinieren, i -n -o bringt nur:
Usage: i[nventory] [-o][-s][-n][-a][-r][-w]

JA, ich habe mich vor einer Minute mit ende ausgeloggt, meine Fehlermeldung
ist frisch.

Acrimon, der Rote Ritter

-----------------------------------------------------------------------------



Ringe (Boing,  7. Nov 1995, 15:36:18):
Der Unterschied zwischen MG-Ringen und RL-Ringen liegt natuerlich darin,
dass RL-Ringe wohl kaum von Nutzen sind, wenn jemand mit einem Schwert
auf Dich zurennt. Im MG haben Ringe allerdings einen Ruestungsschutz,
man kann sie also als magische Ringe auffassen. Im Fantasy-Bereich ist
es allgemein ueblich, dass sich magische Ringe beeinflussen und man aus
diesem Grunde nur einen oder zwei (einen pro Hand) anziehen kann. Das
das ganze aus technischer Sicht natuerlich eine Balance-Regelung ist,
ist klar. Man muss sich nur einen Spieler mit 4 Attribut-Ringen, einem
Schlammdrachenring, einem Anti-Feuer-Ring, 3 Goblinringen und einem
sonstigen Ring vorstellen ...

  Boing

-----------------------------------------------------------------------------



Re: Re: "i[nventory]" (Ilves,  8. Nov 1995, 18:46:30):
#! rn=Acrimon rt=815655491
vor einer Minute ausgeloggt? Kann man diese News lesen/schreiben, ohne
MG zu spielen?

Ilves

-----------------------------------------------------------------------------



Re^3: "i[nventory]" (Etah,  8. Nov 1995, 20:20:43):
#! rn=Ilves rt=815852790
Man kann sie lesen, per WWW:
http://santana.uni-muenster.de/htbin/mudwww?REQ=news
Schreiben geht aus sicherheitsgruenden nicht.
E.

-----------------------------------------------------------------------------



Laeden (Orktoeter, 10. Nov 1995, 15:51:09):
Hmm ich muss sagen, ich finde auch, das die letzte Aenderung an den Laeden zu
hart war...
Vorher gab es ab und zu Laeden, die Pleite waren, aber man konnte sich nach
einem anderen Laden umsehen, jetzt aber sind dann viele Laeden gleichzeitig
Pleite und, was ich als besonders unangenehm empfinde, man kann nur ganz
wenige sachen in einem Laden verkaufen..
Ich habe gerade in einem Laden (nach einigem Suchen einen gefunden, der
Bereit war fuer einen Echsenpanzer ueber 1000 Muenzen zu zahlen) verkaufe
alles aus Pket gemacht (10 Teile oder so) und bekam gegen ende nur noch
einzelne Muenzen...
Bitte macht es wieder attraktiver, Sachen zu veraeussern, sonst duerfte das
MG demnaechst imm Muell ersticken....
OrkT.

-----------------------------------------------------------------------------



Re: Laeden (Jof, 10. Nov 1995, 18:49:33):
#! rn=Orktoeter rt=816015069

 Ich bestreite nicht, dass das System noch ein bisschen Tuning benoetigt :)
Die derzeitige Pleite der Laeden resultiert aus einer Verkettung unguenstiger
Umstaende und sollte in diesem Moment bereits abgemildert sein.

 Jof

-----------------------------------------------------------------------------



Re: Re: Laeden (Fanuidhol, 11. Nov 1995, 13:40:32):
#! rn=Jof rt=816025773
Danke Jof.

-----------------------------------------------------------------------------



Sauerei! :) (Ancalagon, 11. Nov 1995, 13:47:27):
Moin erstmal!
Habe gerade festgestellt, dass man den Bernhardiner nicht knuddeln kann.
SAUEREI! So ein liebes tierchen! Koennte das mal wer aendern, bitte? :)
herzlichst,
                                             Ancalagon
                                   Draco knuddellensis major

-----------------------------------------------------------------------------



Re: Sauerei! :) (Guybrush, 11. Nov 1995, 20:29:14):
#! rn=Ancalagon rt=816094047
noch schlimmer: man kann ihn nicht nur nicht knuddeln :)
G.

-----------------------------------------------------------------------------



Re: Re: Sauerei! :) (Fyt, 12. Nov 1995, 13:52:14):
#! rn=Guybrush rt=816118154
Eben, den Bernhardiner fehlen sowieso einige wichtige Eigenschaften...
Aehnlich wie diesen komischen Schlaterbeamten an der Post oder
einigen Wirten, die man nicht mal zur Rechenschaft ziehen kann fuer den
Schmus, den sie verkaufen :))
Fyt.
Ab nach Schmarrn :)

-----------------------------------------------------------------------------



Re: Ringe (Raffi, 14. Nov 1995, 19:36:08):
#! rn=Boing rt=815754978

Hab ich jetzt irgendwas verpasst oder verfehlen die Anworten die Frage?

M.E. ging es doch nicht um die Menge der Ringe (logo ich haette auch
gerne mehrere an, und auch gleich ein dutzend Amus:), sondern darum
ein automatisches ausziehen einzubauen, so wie eine gezueckte Waffe
weggesteckt wird wenn man eine Neue zueckt. Dies faende ich auch sehr
nuetztlich. Einzig beim 'trage alles' kann ich mir Probleme vorstellen
wenn mehr als ein ring da ist.

Gruss
H.

-----------------------------------------------------------------------------



Typo in den Laeden (Slyfox, 14. Nov 1995, 20:17:55):
Seit der 'behalte'-Befehl eingefuehrt wurde, existiert in den Laeden
ein Schreibfehler:

Will man alles verkaufen, so kommt bei allen Gegenstaenden, die man
behalten will 'Du behaelst ...' anstatt 'behaeltst'.

Ausserdem waere keine schlechte Idee, wenn man Sachen, die man nicht
verkaufen kann, wie z.B. Autoload-Objekte oder das GELD (!) automatisch
behaelt, also gleich nach dem ersten Einloggen.

        Sly

-----------------------------------------------------------------------------



Re: Typo in den Laeden (Mango, 14. Nov 1995, 20:39:59):
#! rn=Slyfox rt=816376675
Also mich wuerde auch ein moegliches behalte alles interessieren.

Ciao Mango.


-----------------------------------------------------------------------------



Re: Typo in den Laeden (Fyt, 14. Nov 1995, 22:29:24):
#! rn=Slyfox rt=816376675
Hm, ich hab ja keinen Duden da, aber die normale Endung
der zweiten Person Singular ist 'st', also scheint m.E.
'du behaelst' die richtige Variante zu sein.
:
Fyt.

-----------------------------------------------------------------------------



Re: Re: Typo in den Laeden (Jimdigriz, 14. Nov 1995, 22:30:34):
#! rn=Fyt rt=816384564
Auch hm, also es kommt doch von 'behalten' nicht 'behalen'
deshlab denke ich das Slyfox mit 'behaeltst' recht hat.

NNN ?? Schwachsinn !

James Bolivar diGriz

-----------------------------------------------------------------------------



Re: Re: Typo in den Laeden (Marita, 14. Nov 1995, 22:30:48):
#! rn=Fyt rt=816384456
Hi Fyt,

richtig. Du musst also die Infinitiv-Endung von "behalten" abschneiden,
hast dann also "behalt". Daran haengst Du jetzt die 2.PersonSingular-Endung
st an und
hast "behaltst" (naja die Vokalaenderung ist ja hier zweitrangig).

Mein achter Beitrach
Marita

-----------------------------------------------------------------------------



Re^3: Typo in den Laeden (Fyt, 15. Nov 1995, 00:08:54):
#! rn=Marita rt=816384648
Okok.. ich geb misch geshlagen :)
Fyt.

-----------------------------------------------------------------------------



Re: Re: Ringe (Boing, 15. Nov 1995, 12:08:13):
#! rn=Raffi rt=816374168
Das war die urspruengliche Frage, die ich nicht kommentiert habe. Die
Diskussion ist allerdings etwas abgedriftet und dazu habe ich was
gesagt.
  Boing

-----------------------------------------------------------------------------



Re^3: Typo in den Laeden (Ancalagon, 15. Nov 1995, 18:19:03):
#! rn=Jimdigriz rt=816384634
Moin erstmal!
Jau, "behaeltst" ist richtig!
herzlichst,
                            Ancalagon
(sollte es wissen......als Primimaus:)

-----------------------------------------------------------------------------



Re: Re: Typo in den Laeden (Olpp, 16. Nov 1995, 08:23:23):
#! rn=Fyt rt=816384564
Es heisst 'du behaeltst' wie auch 'du haeltst'

endet uebrigens auch auf ..st, Fyt ;-)

Olpp, vermisst unseren Rechtschreibexperten Freund.

-----------------------------------------------------------------------------



--> d.gebirge (Aranya, 17. Nov 1995, 15:47:39):
Antwort auf d.gebirge, artikel 33 (ist nur leider voll die Rubrik, die...)

Aehm, Fyt, pass mal n bisschen auf Deine Begriffswahl auf. Die Diskussion
hatten wir schon mal vor anderthalb oder einem Jahr. Wenn du das Spiel in
dass fruehe Mittelalter verlegen willst, dann muss dir die Historikerin
Aranya mal sagen, dass das fruehe Mittelalter klassischerweise von 500 bis
900 geht. Also: Die Ostkirche hat sich grad von der Westkirche gespalten,
die Akademie in Athen wurde gerade aufgeloest, im Frankenreich herrschen
die Merowinger mit nicht grad zimpelicher Hand. Vergiss Deutschland, das
gibt's erst ab dem Vertrag von Verdun neunhundertirgendwas. Ausserdem haben
die Leute grad erstmal den Bogen mit dem romanischen Baustil raus, die Drei-
felderwirtschaft haben sie noch nicht so richtig kapiert.
Was ich sagen will, ist: Wenn wir das schon historisch irgendwo einordnen
wollt, dann bitte ins Hoch- bis Spaetmittelalter. Da gehoert's hin.

Aranya
      Historikerin. Oberlehrerin
NNN.

-----------------------------------------------------------------------------



Re: --> d.gebirge (Fyt, 17. Nov 1995, 17:06:58):
#! rn=Aranya rt=816619659
Hm, in die Zeit faellt Karl der Grosse, und ungefaehr so kann ich mir's
vorstellen...
Fyt. War zwar mal in Aachen, konnte sich aber leider nicht mit Karl
unterhalten :)

-----------------------------------------------------------------------------



Re: Re: --> d.gebirge (Raffi, 17. Nov 1995, 17:13:55):
#! rn=Fyt rt=816624418

Also Fanntasy einfach mit Mittelalter gleichzusetzten und dann
einen Komplettumbau des MG zu fordern ist schon heftig. Die Staerke
des MG liegt ja gerade darin das nicht alles toternst ist (sonnst
muesstest du deine Bummis und Saeurekugeln gleich abgeben). Und
vor allem Finger weg vom Schrat - das ist meine absolute Lieblings-
queste Ich hab als Zwerg auf der HE angefangen, bin auf den Schrat
gestossen, und wusste sofort das das MG DAS mud ist. Ich hab mich
nie wieder (ok, ich hab doch, aber nicht mehr als 10 Minuten) in
anderen Muds bewegt. Genauso  musst du dann Titiwu, Fraggle, Grisu,
Hilbert, Schneewittchen, nicht zu vergessen ganz Atlantis (Ups wenn
ich so weitermache bleibt ja garkeine Queste uebrig:). Desweiteren
muessten alle (verglasten) Fenster aus den div. Haeusern entfernt
werden. Und so viele nette liebgewonene Details wie z.B. der Stein-
zeitmanta etc.

Nene, Fantasy == Phantasie == Traeume & Maerchen. Und Maerchen
heisst das es hier einfach Sachen gibt die nicht unbedingt RL
sind, die aber einfach Spass machen (dazu zaehllt auch die Hydra).

Wo ich dir jedoch unbedingt rechtgeben muss, sind die Anmerkungen
zum Thema Dynamit (u.Ae.).  Es ist doch gerade die Herausforderung
mit ALLEN Objekten rumzuspielen und rauszufinden was man damit machen
kann. Pumas Reaktion auf das Dynamit finde ich ebenfalls ungerecht.
Er ist zwar der Boss im Tal, sollte aber auch versuchen INNERHALB des
MG zu leben, und sich nicht abzunabeln. Dazu gehoert halt (wie im RL)
das andere Menschen (Spieler & Magier) auch eigene Ideen haben. Es
ist doch gerade diese Vielfalt, die ein MUD von jeder anderen Art
von Spiel, selbst von normalen Rollenspielen abhebt. Auch ein Magier
muss akzeptieren dass er nicht wirklich allmaechtig ist (ansonnsten
steht er auf verlorenem Posten), oder halt sein eigenes privattes
Mud, ganz ohne Mitmagier (am besten auch ohne Spieler) aufmachen.

Das MG ist das am wenigsten reglementierte Muds die ich kenne! Hier
herscht eine (recht) grosse Freiheit und daraus resultierende
Kreativitaet.

So - Senmpft OFF - .

Gruss
H.

P.S.: Im umtaufen vom Dynamit sehe ich keinen Sinn.

-----------------------------------------------------------------------------



Re^3: --> d.gebirge (Raffi, 17. Nov 1995, 18:05:21):
#! rn=Raffi rt=816624835
Ach ja, Li:
Ganz recht kann ich dir nicht geben. Auch wenn die Raketen nicht als
Hauptwaffe verwendet wurden, so sind sie in Chhina zu allen Zeiten auch
als Kriegswaffen verwendet worden. Sei es um Feuer zu legen, oder auch
nur um den Gegner einzuschuechtern bzw. zu verwirren. Ebenso ist der
Einsatz von Schwarzpulver als Sprengstoff (auch im Krieg) bekannt. Die
Handhabung war nur wenig befriedigend.

Das war uebrigens auch bei uns bis weit ins 18. Jahrhundert der Fall.
Kanonen waren nur in Aussnahmen (z.B. bei extremen Raummangel auf
Schiffen z.B.) eine Alternative zu Schleudern. Und Gewehre hatten
gegenueber Armbruesten und Boegen nur Nachteile. Einzig sie waren
Modern (hip, in, high-tech - such Dir aus was besser Dir passt).
Diese Waffen lebten groesstenteils von ihrem Ruf.
(So aehnlich wie Client-Server u.Ae.)

Gruss
H.

-----------------------------------------------------------------------------



Mittelalter (Lug, 19. Nov 1995, 03:50:27):
Raeusper,
als Archaeologe kann ich nur sagen: Weder Drueh- noch Mittel- oder
Spaetmittelater (aeh Hoch- statt Mittel).
Lug spitzfindig

-----------------------------------------------------------------------------



Re^4: --> d.gebirge (Li, 19. Nov 1995, 10:34:06):
#! rn=Raffi rt=816627921
Ich sag ja, sie haben's nicht ganz hinbekommen mit dem Sprengstoff. .-)
aber ich finde, wir sollte die Diskussion, was ist Fantasy und was nicht mal
ganz allgemein wieder abschliessen, sie kommt eh' naechstes Jahr wieder! :-(
Li (findet, die Magier sollten sich einfach an Fantasyliteratur, Maerchen und
Sagen halten. Aber warum nicht einen Kufenerhitzer oder eine servolenung, wenn
sie entsprechend beschrieben sind?)
Li (grinst immer noch, wenn er an die Servolenkung denkt)

-----------------------------------------------------------------------------



MorgenGrauen3.0 released (Jof, 22. Nov 1995, 15:43:44):

 In /open/SoftWare/MudLib steht nun ein Tarfile namens MorgenGrauen 3.0. Der
Sprung in der Nummerierung (1.9-3.0) zeigt keine umwaelzenden Aenderungen an,
sondern dient dazu, die Release-Nummern mit unseren RCS-Revisionsnummern
in Uebereinstimmung zu bringen. Also keine Panik :)

 Jof

-----------------------------------------------------------------------------



Anleitung? (Shakedbeer, 22. Nov 1995, 16:51:06):
Ich versuche schon seit fast einer Woche eine MG-Version
auf meinem Rechner zu installieren. Koennte nicht mal einer
von den Magiern eine Anleitung schreiben, in der
moeglichst detailiert der Weg von dem MG-tar-File zur fertigen
ausfuehrbaren MG-Version beschrieben wird?

Shakedbeer - am Rande der Verzweiflung...

-----------------------------------------------------------------------------



Re: MorgenGrauen3.0 released (Mupfel, 22. Nov 1995, 23:53:43):
#! rn=Jof rt=817051424
Und die gesteigerte Groesse der Datei zeugt auch von keiner bedeutenden
Umwaelzung, sondern von einem ca. 8.5 Megabyte grossem 'core' im /driver
Verzeichnis :-)

-mupfel-

-----------------------------------------------------------------------------



Re: Anleitung? (Bloodyharry, 23. Nov 1995, 08:03:11):
#! rn=Shakedbeer rt=817055466
Auja! Das waere fein.

B.Harry - der das gleiche Abenteuer noch vor sich hat.

-----------------------------------------------------------------------------



Re: Re: MorgenGrauen3.0 released (Jof, 23. Nov 1995, 09:50:44):
#! rn=Mupfel rt=817080823

 3.0 again - der core ist weg :)

-----------------------------------------------------------------------------



Dynamit (Roesti, 23. Nov 1995, 14:01:02):
Also schwarzpulver hin oder her...
... in dieser richtung erlaubt sein duerfte dann wohl Napalm sein...
Auch als grischiches Feuer bekannt.
Tja und damit kann mann schon ganz gut einen Flammenwerfer basteln.
2. Kann mann mit hilfe der Magie weitaus explosivere Dinge machen als
Dynamit.
und 3. koennte ja ein Daemonsionsreisender(Daemon) das Dynamit ins MG
gebracht haben.

So
nun zur Hydra...
   Spritzt das Ding mit konzentrierter Schwefelsaeure ein.Die gab es auch
schon im Mittelalter.
Zu beziehen bei eurem netten Alchimisten an der Ecke.

Aeh Senf off
Roesti

-----------------------------------------------------------------------------



Re: Dynamit (Highlander, 23. Nov 1995, 14:02:51):
#! rn=Roesti rt=817131662
Dimensionsreisender == Daemon?
Perverser^H^H^H^H^Hler, ich hoer Dich trapsen...
   HrT

-----------------------------------------------------------------------------



Re: Dynamit (Highlander, 23. Nov 1995, 14:02:51): (Roesti, 23. Nov 1995, 14:10:57):
grins....

Roesti

-----------------------------------------------------------------------------



Re: Dynamit (Fyt, 23. Nov 1995, 15:24:13):
#! rn=Roesti rt=817131662
Hm, und ausgerechnet ueber SAeurebaelle freut sich das Biest
sosehr, dass es sich vermehrt :(
:
Fyt.

-----------------------------------------------------------------------------



Post (Loco, 23. Nov 1995, 19:11:05):
Die Post hat heute ein paar kleine Aenderungen bekommen:
- Man kann bei d (Loeschen) und s (Speichern, nur fuer Magier) jetzt auch
einen Bereich angeben in der Art
(newmail:18/22) [Hilfe mit h] => d 10-20
Seid mit diesen Funktionen etwas vorsichtig, die koennen ziemlich lag
produzieren.
- Da es keine Namen mit nur einem Buchstaben gibt, werden die automatisch
ausgefiltert.
Ausserdem habe ich ein paar kleinere Bugs beseitigt.

Soweit als Information am Rande,

  Morgengrauens Postverwaltung
  i.A. Loco, technische Leitung.

-----------------------------------------------------------------------------



Pegasus !!!!!!!!!!!!!!! (Jimdigriz, 23. Nov 1995, 22:03:19):
Hallo,

Kann man BITTE jemand Pegasus so patchen, dass er einem
nicht immer das Geld abnimmt, wenn er schon abgeflogen is.
Das ist mir jun schon wenigstens 10x passiert !!
Es geth mi
Es geht mir ned ums Geld, sondern das nervt einfach.

danke,
 Ciao,
 James Bolivar diGriz - zerhackt die Sch* Sun-Tastatur.

-----------------------------------------------------------------------------



Re: Pegasus !!!!!!!!!!!!!!! (Boing, 24. Nov 1995, 15:49:20):
#! rn=Jimdigriz rt=817160599
Fixed.
  Boing

-----------------------------------------------------------------------------



Re: Pegasus !!!!!!!!!!!!!!! (Raffi, 27. Nov 1995, 16:13:48):
#! rn=Jimdigriz rt=817160599

Das gleiche gilt fuer die Postkutsche.

Mir ist es schon mehrfach passiert das ich zwar noch die Fahrkarte kaufen
konte, zum einsteigen jedoch keine chance mehr blieb.

Gruss
H.

-----------------------------------------------------------------------------



Zurueckhoen von teile mits (Escubar, 28. Nov 1995, 13:06:45):
Hallo Mudies!
Woe waere es mit einem Befehl mit dem man die letzen 10 teile mits oder so zu
sehen bekommt?
Die Sachen scrollen beim Kampf leider oft durch und man weiss dann oft auch
nicht wer geschrieben hat wenn man konzentriert kaempft...
Das ganze waere analog dem -*a fuer die MPA und liese sich vielleicht ueber
den Kobold realisieren, der muesste die Sachen ja einfach nur speichern.

Waer super wenns klappen wuerde

Tschuesss... Escubar
... der sein Haus gleich fertig hat ;-)

-----------------------------------------------------------------------------



Re: Zurueckhoen von teile mits (Cuchullin, 28. Nov 1995, 14:12:21):
#! rn=Escubar rt=817560405


Sehr gute Idee :)
Koennte man da nicht gleich die Teile-Mit-History fertigstellen und benutzbar
machen? Anzeigen mit 'tmhist' geht ja schon, aber darauf zurueckgreifen (imho)
noch nicht....

Dankend,
Cuch.-


-----------------------------------------------------------------------------



Re: Re: Zurueckhoen von teile mits (Yendi, 28. Nov 1995, 14:53:26):
#! rn=Cuchullin rt=817564341

Huch! Warum steht "tmhist" noch nicht in der "Hilfe"?


-----------------------------------------------------------------------------



Re: Re: Zurueckhoen von teile mits (Mango, 28. Nov 1995, 14:57:30):
#! rn=Cuchullin rt=817564341

ist mir ganz neu das tmhist und wozu ist es zu gebrauchen bzw wie nutz ich
das?


Mango, dumm fragend.


-----------------------------------------------------------------------------



Re^3: Zurueckhoen von teile mits (Bambulko, 28. Nov 1995, 15:00:15):
#! rn=Yendi rt=817566806
Weil hier alles ein Jahr eingefuehrt sien muss, bis es in die Hilfe kommt.
Aber das ist doch nicht neu. (genau wie der Lichtspruch immer noch nicht in
der Gilde bei lerne steht)

Bambulko

-----------------------------------------------------------------------------



Re^4: Zurueckhoen von teile mits (Cuchullin, 28. Nov 1995, 15:02:57):
#! rn=Bambulko rt=817567215

Wo wir schon aus dem Naehk^H^H^H^H^H^H^Hder Mudlib plaudern... kennt
eigentlich einer den 'erwiedere'-Befehl ;-) ?

Schwer grinsend,
Cuch.-


-----------------------------------------------------------------------------



HILFE (Slash, 28. Nov 1995, 15:15:31):
Koennte man nicht die hilfe alle halbe Jahre erweitern?
Oder eine vorlaeufige Liste aller Befehle im ftp legen?
Sonst kriegt man ja alles nur am Rande mit :(
Slash

-----------------------------------------------------------------------------



Re^5: Zurueckhoen von teile mits (Roadrunner, 28. Nov 1995, 16:08:07):
#! rn=Cuchullin rt=817567377
der befehl erwiedere - naja - geht schoen - aber ich finde man sollte sich an
die deutsche rechtschreibung auch bei befehlsnamen halten - sollte wohl
'erwidere'  heissen der befehl!

P.S. jaja ich weiss ich hab auch jede menge fehler drin :)
		roadrunner

-----------------------------------------------------------------------------



Re^6: Zurueckhoen von teile mits (Aranya, 28. Nov 1995, 16:22:54):
#! rn=Roadrunner rt=817571287
Dummerweise bringt der Erwidere-Befehl nur eine Sparversion des Gesagten.
Aus einem Jaja, Und jetzt?! wurde ein jaja und jetzt? Auch interessant.

MfG
Aranya

-----------------------------------------------------------------------------



Re^5: Ungewollter Lug und Trug (Mindolluin, 28. Nov 1995, 18:10:39):
#! rn=Aranya rt=817571318
Da wir bei 'erwidere' sind: wieviele kennen denn hier 'gespraech' ?
Und koennte man das nicht vielleicht auch auf die Entfernung machen,
also 'gespraech fyt' zB, wenn der in einem anderen Raum steht, so
dass der alles per teile mit sieht?

        tschoe       Caradhras

-----------------------------------------------------------------------------



Re^7: Zurueckhoen von teile mits (Handi, 28. Nov 1995, 18:50:03):
#! rn=Aranya rt=817572174
bei mir kommt sogar nur die liste der leute,die mir etwas mitgeteilt
haben,aber nicht die nachrichten.

handi

-----------------------------------------------------------------------------



Re^5: Zurueckhoen von teile mits (Fyt, 29. Nov 1995, 00:33:16):
#! rn=Cuchullin rt=817567377
Hm, den 'erwiedere' kenn ich auch nicht...
:
Fyt.
:
PS: Mich wundert die Schreibweise.. aber 'n zt gibt's da nicht dafuer, oder?

-----------------------------------------------------------------------------



Re: Re: Zurueckhoen von teile mits (Marita, 29. Nov 1995, 06:03:34):
#! rn=Cuchullin rt=817564341
Hi,

Escubar hat bestimmt nicht "tmhist" gemeint. Bei mir werden dabei naemlich
nicht die zuletzt empfangenen teile-mits angezeigt, sondern die Personen,
denen ICH zuletzt etwas mitgeteilt habe. Nach einem hektischen Kampf nuetzt
das leider nicht viel.
Also gefragt war die umgekehrte Richtung, und genau DAFUER wuerde ich mich
auch interessieren. (Arme Mags, dauernd nerven wir Euch) :)

Marita (LLP ist eine Tugend!)

-----------------------------------------------------------------------------



Re^6: Ungewollter Lug und Trug (Grimmborn, 29. Nov 1995, 09:55:01):
#! rn=Mindolluin rt=817578639

Nun, weil mir damals das 'gespraech' fuer Entfernungen fehlte, hab ich was
angeregt, was dann viel spaeter als Fernschreiber (fuer Seher) realisiert
wurde. Der hat noch den Vorteil, dass man beim pasten noch die Formatierung
wie im Original hat, oihne dass die halbe Zeile durch 'xxx teilt Dir
mit/sagt:' vollgemuellt wird.

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re^6: Zurueckhoen von teile mits (Boing, 29. Nov 1995, 14:13:31):
#! rn=Roadrunner rt=817571287
Kann natuerlich sein, dass das erst eben geaendert wurde, aber es
HEISST erwidere ... :)
  Boing

-----------------------------------------------------------------------------



spielpause (Wargon, 29. Nov 1995, 14:41:04):
  Hi!
Da einige Mudsuechtige sich nicht mit freiem Willen vom Spiel trennen koennen
und sich deshalb fuer bestimmte Zeit banishen lassen, gibt es jetzt einen
neuen Befehl:
  spielpause <x> tage
Damit kann man sich fuer bestimmte (oder auch unbestimmte) Zeit aus dem Spiel
heraushalten.
Alles weitere steht auf der Hilfeseite (hilfe spielpause).
  Wargon
PS: Bevor wieder zig Anfrage kommen: Der Befehl steht erst nach dem naechsten
Ausloggen (mit "ende") oder dem naechsten Reboot zur Verfuegung...

-----------------------------------------------------------------------------



Re: spielpause (Anakin, 29. Nov 1995, 14:45:26):
#! rn=Wargon rt=817652464
Hi,

wie waere es wenn man dies Spielpause eines Spielers beim
'anfingern' noch sehen wuerde? Waer nett. :)

Anakin.

-----------------------------------------------------------------------------



Quaelgeister (Catweazle, 29. Nov 1995, 16:23:48):
[Verlegt von allgemeines, Myself, 29. Nov 1995, 13:55:27]:

Hi Muddies,

in letzter Zeit geschieht es immer haeufiger, dass Quaelgeister,
die offenbar nicht besseres zu tun haben, die Kanaele mit ihren Erguessen
ueberfluten, um sich so die Zeit zu vertreiben oder Aufsehen zu erregen.
Das Aergerniss laesst sicht natuerlich am leichtesten durch Abschalten
der entsprechenden Kanaele loesen, nur leider kriegt man dann auch keine
sinnvollen Nachrichten mehr mit.  Deshalb schlage ich hier nochmal vor,
ernsthaft ueber ein 'Ignoriere-Filter' fuer die Kanaele nachzudenken, wie
es das bereits fuer die MPA gibt...Ist das ohne uebermaessiges Lag zu
verursachen programmierbar?

Etwas aehnliches gilt uebrigens fuer das rufen.  Der Ruf-Kanal hat eine
besondere Stellung, weil man ihn nicht abschalten kann. Entsprechend sollte
er auch fuer besondere Mitteilungen vorbehalten bleiben, und nicht aus
lauter Bequemlichkeit fuer allgemeine Messages missbraucht werden....
hier moegen sich bitte auch die eine oder der andere Magier/in angesprochen
fuehlen.  Wenn das niemand ernst nimmt, so schlage vor die Kosten fuer
rufen ab sofort in Prozent der MPs abzurechnen; wie waer's mit 50%?
Der Hauptgrund fuer meine Veraergerung liegt darin, dass ich immer wieder
vor einem telnet-screen ohne Rollbalken sitze, und ich gerne in der Lage
sein moechte,  mich auf die Raummeldungen zu konzentrieren, wenn ich es
fuer wichtig halte....
Bitte jetzt keine Scherze ueber die Einschraenkungen beim Spielen - ich
wuenschte selber, es waere anders, und es gibt Zeiten, da amuesiere ich
mich koestlich ueber die Scherze auf den Kanaelen. Aber es muss auch Zeiten
geben, an denen ich mich auf Erkunden des Morgengrauens konzentrieren kann!


-ein etwas genervter Myself


-----------------------------------------------------------------------------



Re: Quaelgeister (Catweazle, 29. Nov 1995, 16:24:18):
#! rn=Myself rt=817649727
[Verlegt von allgemeines, Bendeigid, 29. Nov 1995, 13:59:47]:
Tja, Myself, wenn es nur zeitweise waehrend des spielens ist, denke ich, der
Befehl -% ist genau das richtige fuer Dich. Ansonsten: hilfe kanele

Z'par Servu,
            Bendeigid


-----------------------------------------------------------------------------



Re: Quaelgeister (Catweazle, 29. Nov 1995, 16:24:36):
#! rn=Myself rt=817649727
[Verlegt von allgemeines, Boing, 29. Nov 1995, 14:26:43]:
ignoriere <quaelgeist>
  Boing


-----------------------------------------------------------------------------



Re: Re: Quaelgeister (Raffi, 29. Nov 1995, 17:15:41):
#! rn=Catweazle rt=817658676

Zumindest was dieses Rumgerufe angeht kann ich Myself nur zustimmen
das was da ablaeuft ist meist maximal nervig. Bei den Kanaelen ist ja
selektives abschalten moeglich.

Gruss
H.

-----------------------------------------------------------------------------



Quaelgeister II (Myself, 29. Nov 1995, 17:54:16):

Howdy,
ich habe leider in meinem Aerger einige der vielfaeltigen
Faehigkeiten von 'ignoriere' ignoriert, es filtert tatsaechlich auch die
Kanaele. -Sorry!

Ueber das unnoetige rufen koennte man aber nachdenken, oder?

Gruss,

I, Me & Myself

-----------------------------------------------------------------------------



Versagte Fluchtrichtung? (Rumata, 29. Nov 1995, 20:35:35):
[Verlegt von allgemeines, Bernhard, 29. Nov 1995, 20:28:16]:
Heya werte Mitstreiter und -kaempfer!

Heute ist ein echt "negativer" Tag fuer mich gewesen. Ich weiss, dass man
sich damit
abzufinden hat. Aber ich glaube bzw. bin der Meinung, dass bei meinem letzten
Tod
irgendwas nicht richtig lief. Also kurz und gut, ich meine meine
Fluchtrichtung hat sich in keinster Weise geruehrt. Ist das denn so normal
oder richtig?

Hier nun die letzten Zuege des ungleichen Kampfes:

  Der Weghier greift Dich mit dem Vollstrecker an.
  Der Weghier trifft Dich sehr hart.
LP: 157 MP: 93 Vorsicht: 150 Fluchtrichtung: "w".
>   Du greifst den Weghier mit der Macht des Chaos an.
  Du verfehlst den Weghier.
[Moerder:Geist eines Orks] Slyfox ist schlimmer als das Mensaessen. Absolut
[Moerder:Geist eines Orks] toedlich.
  Der Weghier greift Dich mit dem Vollstrecker an.
  Der Weghier trifft Dich sehr hart.
LP: 146 MP: 93 Vorsicht: 150 Fluchtrichtung: "w". Spell: Ja
  Der Weghier greift Dich mit dem Vollstrecker an.
  Der Weghier trifft Dich sehr hart.
LP: 128 MP: 93 Vorsicht: 150 Fluchtrichtung: "w". Spell: Ja
Der Vollstrecker schlaegt mal ein wenig kraeftiger zu.
  Der Weghier greift Dich mit dem Vollstrecker an.
Das Kreuz faengt an zu leuchten.
   Der Weghier schlaegt Dich mit dem Krachen brechender Knochen.
LP: 102 MP: 93 Vorsicht: 150 Fluchtrichtung: "w". Spell: Ja
  Der Weghier greift Dich mit dem Vollstrecker an.
Das Kreuz faengt an zu leuchten.
   Der Weghier trifft Dich sehr hart.
LP: 86 MP: 93 Vorsicht: 150 Fluchtrichtung: "w". Spell: Ja
  Der Weghier greift Dich mit dem Vollstrecker an.
  Der Weghier trifft Dich sehr hart.
LP: 72 MP: 93 Vorsicht: 150 Fluchtrichtung: "w". Spell: Ja
Der Vollstrecker will Dir den Todesstoss versetzen!
  Der Weghier greift Dich mit dem Vollstrecker an.
  Der Weghier zerschmettert Dich in kleine Stueckchen.
Du kannst eine chaotisch mutierte Haut nicht ausziehen.
[Tod:] Ein Weghier hat gerade Bernhard umgebracht.
[Tod:Ein Weghier] Gotcha!
Dein Koerper gehorcht Dir nicht !

Es waere nett, wenn mir einer die letzten Zuege erklaert. Warum schlug die
Fluchtrichtung nicht an, ich haette doch egal wohin gefluechtet sein muessen.
Oder hat der Weghier immer 6 Schlaege pro Runde?
Wie dem auch sei, bitte lasst mich nicht dumm sterben und klaert es fuer mich
auf.

MfG
Bernhard der Unverbesserbare...



-----------------------------------------------------------------------------



Re^5: Zurueckhoen von teile mits (Mupfel, 29. Nov 1995, 20:48:51):
#! rn=Cuchullin rt=817567377
hast DU schon die doku dazu geschrieben?

-mupfel- (grinst Cuch an)

-----------------------------------------------------------------------------



Re^6: Zurueckhoen von teile mits (Cuchullin, 29. Nov 1995, 20:49:33):
#! rn=Mupfel rt=817674531


Noe, ist ja noch nicht sauber implementiert.

Cuch.- (grinst zurueck)


-----------------------------------------------------------------------------



erwidere (Horschd, 29. Nov 1995, 23:44:17):
Aemm... apropos erwidere....
Ist schon jemand aufgefallen, dass im erwiderten Text keine Doppelpunkte
ausgegeben werden? Wer ist eigentlich dafuer zustaendig? Naja... solls fixen,
wer sich dazu in der Lage sieht... :)

Horschd (hat auch mal nen Fehler gefunden :))

-----------------------------------------------------------------------------



Re: Versagte Fluchtrichtung? (Grimmborn, 30. Nov 1995, 10:49:25):
#! rn=Rumata rt=817673735

Ohne den Weghier zu kennen wuerd ich mir folgendes vorstellen:
"Der Vollstrecker schlaegt mal ein wenig kraeftiger zu.", anschliessend hast
Du nichts mehr von alleine getan.
Weckt das nicht erinnerungen an die gluehenden Augen eines Schlammdrachen?
Oder an gewisse Gemeinheiten des Lich?

Also, an und fuer sich ist das nichts Ungewoehnliches, jedenfalls weniger
ungewoehnlich als mein gerade hustender xserver *fluch*...

Grimmborn der Atheist

-----------------------------------------------------------------------------



Kanaele (Roesti, 30. Nov 1995, 11:01:37):
Also ich liebe die Kanaele so woe sie sind.
Wenn du dich wirklich mal kurtzzeitig auf Raumbeschreibungen konzentrieren
moechtest und kein Fenster mit Rollbalken hast,musst du halt die kanaele dicht
machen und danach wieder oeffnen
Ich hab auch schon oft an ner dose gesessen und da ist der schirm
warscheinlich noch kleiner...(konte mir manchmal nichtmal das inventori
komplett anschaun...:)
Aber die Kanaele sind doch sehr schoen so woe sie sind.
(sagtest du ja selbst)
Nur weil du mal was anderes machen willst sollen alle anderen auf den Spass
verzichten?

Soll kein Vorwurf sein

Roesti (liebt die Kanaele)

-----------------------------------------------------------------------------



Re: erwidere (Sique, 30. Nov 1995, 12:46:43):
#! rn=Horschd rt=817685057
Ich vermute, ich weiss, woran es liegt, dass im "erwidere" einige Sachen
anders aussehen. Aus "im" und "ins" wird "in", aus 99. Luftballon wird
luftballon 99, alle Artikel sowie "!", "," und ":" verschwinden...
Vielleicht sollte man "erwidere" nicht durch _return_args() jagen?

                         Sique (hat letztlich _return_args()
durchgearbeitet)

-----------------------------------------------------------------------------



Re: Re: erwidere (Zardoz, 30. Nov 1995, 13:17:08):
#! rn=Sique rt=817732003
wenn man jetzt noch _unparsed_args() nehmen wuerde, waeren alle zufrieden
:)) Zardoz


-----------------------------------------------------------------------------



Re: Re: spielpause (Mahatma, 30. Nov 1995, 14:13:40):
#! rn=Anakin rt=817652726
Ja, vielleicht so in der Art wie beim weg-Befehl. Es waere z.B. denkbar, den
Befehl um die Angabe des Grundes zu erweitern, z.B. spielpause 5
Klausurvorbereitung
Dann koennte man beim Fingern sehen, wie lange und warum mit einer bestimmten
Person nicht zu rechnen ist.

Mahatma der Suchtie (freut sich ueber den Befehl)

-----------------------------------------------------------------------------



Re^3: spielpause (Mindolluin, 30. Nov 1995, 14:20:49):
#! rn=Mahatma rt=817737220
Jo, die Erweiterung faende ich auch prima, dass man es im Finger noch
sehen kann wie lange einer noch gesperrt ist. Ab wann wird das uebrigens
wieder aufgehoben wenn ich mich fuer einen Tag sperre? Genau nach 24
Stunden oder jeweils um Mitternacht oder ... ?

       tschuessie  Cara

-----------------------------------------------------------------------------



Re^4: spielpause (Mindolluin, 30. Nov 1995, 14:22:46):
#! rn=Mindolluin rt=817737649
Upps, sollte erst mal die Hilfe durchlesen *erroet* Bin halt doch nur
ein kleiner dummer Viertie. :-) Also wohl um Mitternacht.

-----------------------------------------------------------------------------



Re^5: spielpause (Wargon, 30. Nov 1995, 14:25:40):
#! rn=Mindolluin rt=817737766
Jep, um Mitternacht.

Ob eine Begruendung der Pause so notwendig ist, weiss ich nicht. Wenn die
Pause laenger dauert, kann man ja noch einen kurzen Artikel in die Zeitung
setzen o.ae.

Zum finger: Ich glaube, Loco arbeitet daran. ;)
  Wargon

-----------------------------------------------------------------------------



Re^5: spielpause (Cuchullin, 30. Nov 1995, 14:27:39):
#! rn=Mindolluin rt=817737766


Wieder der altbekannte Hinweis auf "loesche artikel <nr>"....

Aber die Moeglichkeit, optional ne Begruendung angeben zu koennen, waer nicht
schlecht, muss man den Mist nicht posten - und sehen tun es nur, die Interesse
zeigen, also 'fingern'.

Cuch.-


-----------------------------------------------------------------------------



Teile Mit (2. Version) (Raffi, 30. Nov 1995, 15:51:53):

Kann man nicht bei der Fehhlermeldung den Namen nochmal ausgeben ? Zumindest
den von dem das MG meintt er waere es ?

also  anstelle
> Teile XXX mit Juhu!
Kein solcher Spieler!

besser
> Teile XXX mit Juhu!
Spieler XXX unbekannt.

Dies wuerde bei der Verwendung von Telnet eine echte Hilfe sein, da man in
der Bleiwueste oft nicht mehr sehen kann ob man sich nun vertippt hat oder
nicht.

Gruss
H.
(Nur echt mit mindestens 5 Fehlern im Text)

-----------------------------------------------------------------------------



Re: Re: erwidere (Mupfel, 30. Nov 1995, 19:19:18):
#! rn=Sique rt=817732003
so einfach ist das nicht zu bewerkstelligen, durch die verschachtelten
aufrufe.
-mupfel- (hats 'mal eben' probiert, aber das war wohl nix :-)

-----------------------------------------------------------------------------



Re^3: erwidere (Sique,  1. Dez 1995, 00:15:29):
#! rn=Mupfel rt=817755558
Der Fehler liegt wohl darin, dass modify_command() nie versucht, erstmal
das Kommando so laufen zu lassen. Immer wird erst geparst.
Es waere wohl guenstiger, das Parsten nach Artikeln, in vs. im etc. erst
im present() (als simul_efun ueberladen) zu machen.

                                                   Sique
(Hat in Regenbogen es soweit zurechtgebogen, dass wenigstens in
der History die Kommandos nicht mehr "lowercased" abgespeichert werden,
sondern im Original)

-----------------------------------------------------------------------------



Re: spielpause (Azzuro,  1. Dez 1995, 00:56:07):
#! rn=Wargon rt=817652464
Hallo Wargon!
Ich bin zur Zeit am proggen meiner Suchtberatung. (siehe
magier.entwicklungen)
Diese Suchtberatung hat den Vorteil, das man in eine Zelle eingewiesen wird,
in der man immerhin noch Zeitung lesen kann (die Heftklammern werden wegen
Selbstmordgefahr entfernt) und seine mail beantworten kann.
(allerdings werde die Briefe auf Drogen und Labtops mit Internetzugang
untersucht)
Es soll auch die Form des sanften Entzugs geben. Da bekommt dann der
Suechtige  eine gewaehlte Zeit Freigang, in der er beliebig durchs MUD wandern
kann.
Ist die Zeit um kommen boese Waechter und buchten einen wieder in die
Gummizelle.
Ich denke so ist die Chance gegeben, dass man seine Klausuren besteht ohne
den gesamten Kontakt zum MUD zu verlieren.

Ideen und Flames bitte an mich.

Azzuro - der Suchtie!

-----------------------------------------------------------------------------



Re^2 Spielpause (Terrorist,  1. Dez 1995, 09:41:35):
(Bezug: Artikel 74 von Azzuro vom 1 Dez 1995, 00:56:17)

Meiner Meinung eine Super ja fast geniale Idee.
Bin dafuer das w das gemacht wird.

Terrorist ist begeistert.

-----------------------------------------------------------------------------



Re: Re: spielpause (Grimmborn,  1. Dez 1995, 11:19:06):
#! rn=Azzuro rt=817775767

"Ideen und Flames bitte an mich."
Hallo Azzuro!
Im Prinzip ist die Idee prima, allerding sollte man Sachen, die mit "Hallo
<spielername>" anfangen eigentlich im mailer und nicht in der mpa
schreiben...

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re: Re: spielpause (Yendi,  1. Dez 1995, 11:32:36):
#! rn=Azzuro rt=817775767

Famos!


-----------------------------------------------------------------------------



Re: Re: spielpause (Raffi,  1. Dez 1995, 12:39:31):
#! rn=Azzuro rt=817775767

Riesige Idee Da moechte mal ja glatt mal einen Entzug mitmachen (nur so zum
spass).

Wie intellegent und stark ist der waechter ? - kann man versuchen dewm
wegzulaufen ? - ihn Ko schlagen ? bestechen ? ueberreden ? oder ggr. ein
Taschenmesser mit reinschmuggeln um die Zwangszacke zu zerschlitzen ?

Gruss
H.

-----------------------------------------------------------------------------



Re: Re: spielpause (Orktoeter,  1. Dez 1995, 15:01:32):
#! rn=Azzuro rt=817775767
Klasse Idee, gefaellt mir, sowas in der art habe ich mir auch schon immer
gewuenscht :)
OrkT.

-----------------------------------------------------------------------------



Post, mpa, ... (Loco,  1. Dez 1995, 17:53:03):
Ab sofort verwenden auch Post, mpa, Planeditor und vielleicht noch mehr
Objekte den bereits in den Seherhaeusern bewaehrten von Wargon verbesserten
Editor. Es lohnt sich also, mal im Editor ~h zu tippen und die Hilfsseite
anzuschauen.

Bugmeldungen bitte an Wargon und/oder mich.

  Loco

-----------------------------------------------------------------------------



finger (Acrimon,  1. Dez 1995, 22:15:36):
Wenn ich mit dem Finger auf jemanden deute, dann kommt:

xxxx ist anwesend,
und zwar von: Stadt.
[...]

Das hoert sich meiner Meinung nach nicht besonders gut an, daher mein
Verbesserungsvorschlag:

xxxx ist wach,
gesteuert aus: Stadt.
[...]

Acrimon, der Rote Ritter

-----------------------------------------------------------------------------



Re: finger (Mindolluin,  2. Dez 1995, 10:47:28):
#! rn=Acrimon rt=817852536
Also wenn ich idle und trotzdem da bin dann bin ich aber in meinem
Fenster nicht sehr wach. Wach klingt so nach unidle, nix fuer Jof.

       tschoe       Cara

-----------------------------------------------------------------------------



Re^3: spielpause (Ulo,  2. Dez 1995, 15:45:30):
#! rn=Grimmborn rt=817813146
Hallo Grimmborn!
Es ist schon ok, wenn man Artikel mit direkter Anrede in die MPA setzt.
Das ist dann ein sog. 'offener Brief'. ;-)

Ulo

-----------------------------------------------------------------------------



mudlib (Handi,  5. Dez 1995, 12:35:55):
Kann mir mal einer helfen, ich habe folgendes Problem mit der
Morgengrauenmudlin : wenn ich das Programm Uebersetze, kommt es zum folgenden
fehler : in y.tab.c in procedure yydebug (zeile 82..) virtuell memmory
exhabition (oder so aehnlich)mein system :pc i586 8 mb ram 9mb swapp linux
kernel 1.2.13 linuxslakware 3.0.0

handi

-----------------------------------------------------------------------------



Re: mudlib (Loco,  5. Dez 1995, 16:41:23):
#! rn=Handi rt=818163355
Ganz einfach, Dein Speicher reicht nicht. Also:
- Schalte die Optimierung im Makefile ab
- Kauf mehr Speicher, oder alternativ bzw. zusaetzlich
- Schalte mehr Swapspeicher dazu.

Das sollte dieses Problem beheben. Viel Spass mit den anderen...
   Loco

-----------------------------------------------------------------------------



Re^3: Zurueckhoen von teile mits (Garfield,  6. Dez 1995, 22:27:52):
#! rn=Yendi rt=817566806

Was nuetzt das Ding ueberhaupt?
ich meine tmhist.

Was interessiert mich, wem ich in der letzten Zeit irgendwas mitgeteilt
habe, wenn ich nicht erfahren kann, WAS ich mitgeteilt habe?
Oder gehts da mehr drum, wer MIR was mitgeteilt hat? wohl nicht.

Tja. Vielleicht kann mich mal einer aufklaeren, was das betrifft.

Vielleicht bin ich auch einfach wieder nur zu langsam von Begriff.

Egal.
Trotzdem wuerds mich interessieren.

Gruessle von Garfield

-----------------------------------------------------------------------------



Spielpause (Gast1,  6. Dez 1995, 22:39:35):

Ich bin's Agnetha. Ich hab grad Spielpause, darum als Gast. das ist auch mein
PRoblem. Ich hab beim Login erst 'agnetha' eingegben, dann kam die meldung das
das nicht geht und einen neue Abfrage. Daraufhin hab ich 'gast' eingegeben und
der server hat die Verbindung abgebrochen. Das ist mehrmals passiert. Muss das
so sein, oder ists ein Fehler?


Gast1 alias Agnetha

-----------------------------------------------------------------------------



Re^4: Zurueckhoen von teile mits (Acrimon,  6. Dez 1995, 23:49:42):
#! rn=Garfield rt=818285272
Auch ich kapiere den Befehl tmhist nicht.

Wenn ich ihn aufrufe, dann bekomme ich einen Namen geliefert, dem ich weder
zuletzt etwas mitgeteilt habe noch der mir zuletzt etwas mitgeteilt hat, er
ist nichtmal eingeloggt.

Was versteh ich da falsch?

Acrimon, der Rote Ritter

-----------------------------------------------------------------------------



Mudlib (Devil,  7. Dez 1995, 13:24:09):
Kann mir mal einer helfen, ich habe folgendes Problem mit der Mudlib:
Beim Copilieren und spaeterer Installieren Bekomme ich folgende
Fehlermeldung:
?usr?bin?install -c driver /u/mud/bin./parse.install
/usr/bin./install: /u/mud/bin./Parste.install: no such file
und wenn ich einen vocompilierten driver nehme, bekomme ich folgende
meldung:FILE_LIMIT set to256
Bad mudlib directory : /u/mud/mudlib
bowohl ich dieses verzeichniss(~/mud/mudlib besitze) und wo bekomme ich die
Parser.install her , die stand in keinem verzeichnis

devil

-----------------------------------------------------------------------------



Re: Mudlib (Gundur,  8. Dez 1995, 09:44:17):
#! rn=Devil rt=818339049
Also ich hatte das Problem auch ..ich hab im Makefile die Zeile:
install: driver unten drunter dann in:
$(INSTALL) $? $(BINDIR) geaendert dann gings
Gruss
Gundur

-----------------------------------------------------------------------------



Re: Re: Mudlib (Bendeigid,  8. Dez 1995, 13:46:59):
#! rn=Gundur rt=818412257
Grr, ich wollte eigentlich kein reply, sondern nen eigenen Artikel. *grummel*

Waere es nicht moeglich, ein dem "kwer <magier/seher/spieler>" analoges "wer
<magier/seher/etc>" einzufuehren, damit man sich auch in kuerzerer Form als
beim normalen "wer" die Titel anschauen kann?
Bei den derzeitigen Massen eingeloggter Spieler scrollt es leicht 4 oder 5
Seiten, und auch beim more gehts oben raus.
Z'par Servu,
           Bendeigid

-----------------------------------------------------------------------------



Re^3: Mudlib (Mupfel,  8. Dez 1995, 21:12:48):
#! rn=Bendeigid rt=818426819
das macht probleme, weil wer <parameter>, nach den leuten im mud
'<parameter>' schaut

mupf
(okok ein mud 'magier' gibts noch nicht, aber wer weiss....)

-----------------------------------------------------------------------------



Verlobungsring (Rikus, 10. Dez 1995, 20:39:10):
Hi,

ich habe mal den Code des VRinges mal ein bisschen aufgeraeumt, beim RENEW
der Shell, z.b. Seherwerdung, hat man immer noch 2 Ringe, diesen Fehler fand
ich leider noch nicht. Sollte es sonst irgendwas mit den Ringen geben, so
mailt mir bitte.

So long, Rikus

-----------------------------------------------------------------------------



re Re: Re: Zwergenschmied (Anthea, 11. Dez 1995, 16:20:47): (Roesti, 11. Dez 1995, 19:51:35):
Ich weis das gehoert hier eigentlich nicht hin...
Aber trotzdem...
Anthea sagte das Zwerge nicht saufen...
Damit hat sie natuerlich recht.Aber nicht weil das zu ihrer Lebenserhaltung
gehoert sondern weil Zwerge nicht trinken sondern sabbern...
Vieleicht sollte mann da mal was proggen...
->der Zwerg dir gegenueber versucht seinen wein zu sabbern.Irgendwas geht
schief und seine weisse weste ist jetzt total mit rotweinflecken versaut...
Zweige sollten halt doch keinen Wein trinken...

Roesti weis auch das das nicht hierhin gehoert , aber die letzte rubrik war
voll und in muell darf ich nicht schreiben...(oder doch?)

-----------------------------------------------------------------------------



Re: re Re: Re: Zwergenschmied (Anthea, 11. Dez 1995, 16:20:47): (Raffi, 11. Dez 1995, 20:17:58):
#! rn=Roesti rt=818707895

Ich muss zwar Roesti zustimmen das Anthea unrecht hat, aber der Sabbernde ist
wohl eher Roesti.

Zwerge saufen weder noch sabbern sie - sie lassen nur kein Bier (etc.)
schlecht werden.

Gruss
H.

P.S.: wenn der Zwergenschmied das geld bisher gehortet hat, dan gebe ich zu,
das ich de3m MG taeglich so um die 20.000 entzogen habe :(

Gruss
H.

-----------------------------------------------------------------------------



Re: Re: re Re: Re: Zwergenschmied (Anthea, 11. Dez 1995, 16:20:47): (Loco, 11. Dez 1995, 20:25:34):
#! rn=Raffi rt=818709478
Im Auftrag der Seherladen Handels-GmbH gebe ich bekannt, dass nach Vorbild
des Zwergenschmieds unsere Geschaeftskonten mit sofortiger Wirkung ebenfalls
bei der Zentralbank gefuehrt werden.

   Seherladen Handels-GmbH Svolvaer
   Loco
   (Geschaeftsfuehrer)

-----------------------------------------------------------------------------



muss das sein??? (Creative, 11. Dez 1995, 20:26:52):

Re: Re: re Re: Re: Zwergenschmied

Mach doch mal einer ein 're: <paste here>' drauf ;)

=> Schmarrn.

-Crea-

-----------------------------------------------------------------------------



Re: Zwergenschmied (Acrimon, 11. Dez 1995, 21:42:57):
Eigentlich sollte doch jedes Geld, das irgendwie dem Spieler verloren geht,
irgendwann wieder im Kreislauf landen.
Also auch Geld, das im Sumpf von Tamibar versinkt, Geld, das man mit dem
Silbermittel aus der Pyramidenquest ueberschuettet und somit vernichtet, Geld,
das man in den Kapellen den Orkkindern spendet, Geld, das man als Eintritt in
Clubs zahlt, Geld, das ein Monster auffriszt und so weiter und so weiter.

Es ist nicht ratsam, alle diese Dinge einzeln anzupassen.
Besser ist, ein P_DESTROY des Geldes zu setzen, das das Geld atomatisch auf
irgendeine laenger- (oder kuerzer-)wierige Prozedur in den Geldkreislauf
zurueckfuehrt.
Dabei soll man die Funktion dieses P_DESTROY im Einzelnen ausschalten
koennen.

Dann musz man auch nicht mehr nach Luecken im Geldkreislauf suchen und zum
Beispiel den Zwergenschmied neu anpassen.

Ich empfehle diese grundsaetzliche Aenderung dringend an, denn sonst werden
die Magier irgendwann Wartungsprobleme bekommen.
Noch ist es nicht zu spaet.

PS: Das haette ich wohl besser in magier.entwicklung geschrieben

Acrimon, der Rote Ritter

-----------------------------------------------------------------------------



Re: Re: Zwergenschmied (Raffi, 11. Dez 1995, 21:53:17):
#! rn=Acrimon rt=818714577


Jep so, oder so aehnlich muesste das ausschauen. Es muss einfach jedes Loch
im Geldkreislauf gestopft werden, auch weinn diese auf den ersten blick nur
nach Peanuts ausschauen. (was ist eigentlich mit dem AUtomaten in der wueste ?

Gruss
H.

-----------------------------------------------------------------------------



Re: re Re: Re: Zwergenschmied (Anthea, 11. Dez 1995, 16:20:47): (Ancalagon, 12. Dez 1995, 09:38:53):
#! rn=Roesti rt=818707895
Moin erstmal! :)
Also, ich dachte immer, dass Zwerge nicht saufen, sondern "quoffen"! :)
Quoffen ist die Kunst, einen Bierkrug so zu stuerzen, dass moeglichst viel
neben, aber auch ein ordentlicher Schluck IN den Mund faellt....   :)
Nur mal so eingeworfen....
                                             Ancalagon
                                      Draco knuddellensis major

-----------------------------------------------------------------------------



Neues Ladensystem ?? (Morgoth, 12. Dez 1995, 13:42:15):
so, da hab ich mal wieder ne idee, fuer die ich gesteinigt werde, aber egal.
ich habe dies schon boing und jof vorgeschlagen, aber noch keine resonanz
bekommen, also poste ich es hier. meine idee ist folgende :
die laeden sollten sich auf einzelne waren spezialisieren (koennen). d.h. ein
laden kauft nur noch schuhe, einer nur noch helme usw. dies wuerde meiner
meinung nach dem RL sehr nahe kommen und auch (vielleicht, wahrscheinlich?)
das geldproblem noch weiter mildern. ihr (die spieler) muesstet dann (als
nachteil?) statt alles in einem laden zu verkaufen, 3 oder 4 laeden besuchen.
vorteil daraus: die laeden sind nicht so schnell pleite.
der nachteil der sich ergibt, naemlich dass oft sachen erstmal am metzelort
zurueckgelassen werden muessen, laesst sich auch einfach regeln (denke ich).
beim kill werden die sachen des opfers einfach fuer eine gewisse zeit (3-5
minuten?) fuer den killer 'reserviert'. d.h. wenn ein andere in der zeit die
sachen 'einstecken' (ich sach nicht klauen) will, kommt ne meldung: die sachen
gehoeren <blah>. freigegeben werden sie durch nen befehl (gebe xxx frei (oder
so..blah irgendwas), durch erreichen des zeitlimits oder durch ausloggen des
killers.
argl..spaghettitext..sorry... nicht haun...nein boing...auch nicht
zappen....ach so...geht ja nicht...grins
also...wenn ihr das obige so einigemassen verstanden habt, lasst mich bitte
wissen was ihr davon haltet.
ich beabsichtige in meinem neuen stadtteil(fast fertig) eine art supermarkt
zu bauen(noch nicht fertig).
falls es nicht allgemein so mit den laeden gehandhabt wird, werde ich es dort
auf jeden fall so versuchen, wie oben beschrieben.
datt wars...
morgoth

-----------------------------------------------------------------------------



Re: Neues Ladensystem ?? (Mupfel, 12. Dez 1995, 15:03:50):
#! rn=Morgoth rt=818772135
zumindest 'spezialisierte laeden' hab ich schon realisiert. ueber ne kleine
aenderung in /std/laden und ne neue prop. kuck mal in
~mupfel/AnderLand/laden.c (bzw. properties.h) da kannstes nachlesen. no prob
:-)

-mupfel-

-----------------------------------------------------------------------------



Re: Re: Neues Ladensystem ?? (Jimdigriz, 12. Dez 1995, 17:04:09):
#! rn=Mupfel rt=818777030
Hmm Morgoth,

Also Dein gesamtes Konzept erscheint mir viiiel zu aufwendig,
mit jedem Laden eine Spezialitaet ? und dann das 'reservieren'
von Beute ? und explizites freigeben ? Also der Aufwand isses mir
ned Wert, ich komm mit dem aktuellen System ganz gut zurecht, scheint
sich ja jetzt einigermassen eingependelt zu haben.
Eine allgemeinere Spezialisierung, dass es best. Sachen
nur in best. Laeden gibt is ja auch schon vorhanden.

hmm ich wollte ja eigentlich nix dazu schreiben - egal

James Bolivar diGriz

-----------------------------------------------------------------------------



Re^3: Neues Ladensystem ?? (Raffi, 12. Dez 1995, 19:09:35):
#! rn=Jimdigriz rt=818784249

Also ich weiss nicht - SSpezialisierte laeden foerdern doch nur die rennerei
und damit unnuetze Last (LAG!). Hoechstens in Form von Lladenzentren  waere
sowas sinvoll - also eine ANhaeufung von laeden innerhalb eines
Einkaufszentrums oder einer Laeden/Handwerkerstrasse - oder halt wie bei einem
Kaufhaus mit verschiedenen Theken (meinetwegen auch fuer Bier) die dann auf
die einzelnen Sachen spezialisiert sind. (Ein Mag mit viel Elan koennte
daraus ja sogar so ein Amerikanisches Einkaufszentrum (ala Sawgrass Mill
Mall - ich hab Plaene) mit Food Court (anhaeufung von Fresstheken) und
Spielplatz (streichelzoo fuer anfaenger :) machen).

Auch sollte es weiterhin moeglich sein die 'gefundenen' Sachen in jedem Laden
weiterzuverkaufen. Was aber machbar / Sinnvoll machen laesst waere ein Preis
Auf/Abschlag - will heissen: Wenn ich was am falschen Laden verkaufe erhalte
ich 10% WENIGER als beim bisherigen 'Normalpreis' wenn ich beim 'richtigen'
Laden Verkaufe 10% mehr. (Insgesammt duerfte dies dafuer sorgen das weniger
Geld den Laeden entnommen wird, wer wird schon immer die richtigen Sachen am
richtigen Laden verkaufen). Die eingekauften 'falschen' Gegenstaende muessen
dann zum 'richtigen' Laden in der Stadt / dem Einkaufszentreum geliefert
werden.

Vorteil von den Speziallaeden waere auch, das  man nicht immer  'von Hand'
die einzelnen Sachen raussuchen muss. Wobei sich dieser Effekt aber auch in
den jetzigen Laeden durch ein 'zeige gruppe' erreichen liesse.

Gruss
H.
(ueberlegt ob das jetzt auch ne S-Antwort war)

-----------------------------------------------------------------------------



Re^4: Neues Ladensystem ?? (Raffi, 12. Dez 1995, 19:39:47):
#! rn=Raffi rt=818791775

Genauso waere es doch nett wenn es einen 'normalen' Laden an gut ereichbarer
Stelle fuer Sonderausruestung gaebe: BSS, SchaRue, Steinbeisseramu, Kreuz
etc. - natuerlich zu angemessenen Preisen (z.B. 30.000 fuer ein BSS) das
wuerde zu einem EXTREM schnellen entleeren der Bank2ties fuehren nach einem
Reboot.

Gruss
H.

-----------------------------------------------------------------------------



Re^5: Neues Ladensystem ?? (Asmodis, 12. Dez 1995, 19:43:40):
#! rn=Raffi rt=818793587
BSS, SchaRue, Steinbeisseramu, Kreuz etc. kannste soch in jedem Laden
verkaufen :)

-----------------------------------------------------------------------------



Re^4: Neues Ladensystem ?? (Fyt, 13. Dez 1995, 02:41:37):
#! rn=Raffi rt=818791775

Hm, mit dem Einpendeln der Laeden is das so ne Sache... is mir heute
beim Water Luh aufgefallen. Mir ist naemlich das Taschengeld
ausgegangen. Frueher war das kein Problem, in die Akademie rein,
aufraeumen, gleich noch in Moron verkaufen und die Klopperei
war gesichert. Naja, heute waren das genau 45 Muenzen. Ich hatte
keine richtige Lust, andere Laeden zu suchen. Zum Glueck hab
ich aus Hydrazeiten noch 'ne Reserve, die fuer's Krankenhaus in
Nibelheim gedacht war... naja... ich war eigenlich immer gegen
Bankzweities und hatte bis vor ein paar Wochen auch keine gehabt,
aber heute ist mir die Nuetzlichkeit wieder bewusst geworden.
:
Das ist kein Flame, ich moechte keinen Magier irgendwas unterstellen
oder so, nicht mal, dass ich jemandem unterstelle, er wuerde meinen,
dass ich ihm was unterstellen wuerde, wenn ich diesen Anhang hier
nicht schreibe... oehm..
:
Einfach nur ne Geschichte so am Rand...
:
Fyt.

-----------------------------------------------------------------------------



Unschoene Todesmeldung (Yendi, 13. Dez 1995, 12:57:57):

Kam gerade:

[Tod:] Verletzung hat gerade Ragbard umgebracht.

Ich wuerde sagen, da fehlt noch ein unbestimmter Artikel zu "Verletzung"...


-----------------------------------------------------------------------------



Re: Unschoene Todesmeldung (Tryfan, 13. Dez 1995, 13:58:09):
#! rn=Yendi rt=818855877
 sollte behoben sein
 die Verletzung gab es vor dem Todeskanal...

-----------------------------------------------------------------------------



Mail... (Cuchullin, 13. Dez 1995, 20:40:53):


Waere es denkbar, in die MPA/Mail eine Funktion einzubauen, die einem Spieler
gestattet, sich anzeigen zu lassen, wieviel Speicherplatz er fuer seine Mails
verbraucht?

Just an idea,
Cuch.-


-----------------------------------------------------------------------------



Levels und Presay (Marita, 14. Dez 1995, 01:52:59):
Hi Mags,

Kurze Antwort bitte, wie es kommt, dass ein hoffnungsvoller AnfaengER
weiblich sein kann und umgekehrt? (Das hab ich schon zweimal gesehen)
Die naechste Frage lautet, warum Schmutzy als Level 3 den Titel Pfadfinder
hat und nicht Waldlaeufer. Er hat mir gesagt, er wuesste das selbst nicht,
Nicht dass ich ihm den recht klangvollen Namen streitig machen will (den
ich selbst ebenfalls lange Zeit stolz gefuehrt habe), aber fuer meinen
Seelenfrieden und mein Weltbild wuerd ichs einfach gern wissen.

Zickig wie immer, aber korrekt bis zum Umfallen
Marita

-----------------------------------------------------------------------------



Re: Mail... (Mupfel, 14. Dez 1995, 10:42:25):
#! rn=Cuchullin rt=818883653
jou machmal cuch. ich mail dann loco, wies geht :-)

-mupfel-

-----------------------------------------------------------------------------



Elfenpost + Papagei (Yendi, 14. Dez 1995, 11:22:58):

Vertraegt sich nicht gut, oder?


-----------------------------------------------------------------------------



Re: Mail... (Loco, 14. Dez 1995, 14:03:11):
#! rn=Cuchullin rt=818883653
Done. Wird jetzt mit der Liste der Ordner immer angezeigt.

Loco, Morgengrauen Postverwaltung, Abteilung Technik.

-----------------------------------------------------------------------------



Re: Re: re Re: Re: Zwergenschmied (Anthea, 11. Dez 1995, 16:20:47): (Roesti, 15. Dez 1995, 10:44:40):
#! rn=Raffi rt=818709478
Ups...Jetz hab ich mich doch glatt verplappert(Sabbert?)
Natuerlich sabbern Zwerge ihr Bier nicht...
Zwerge SCHLABBERN ihr Bier....:)

Roesti kann gerne noch mehr ueber die Trinkweisen der Zwerge erzaehlen und
wieso sie nur im MG so schnell betrunken werden...:)

-----------------------------------------------------------------------------



Post-update (Loco, 17. Dez 1995, 20:15:34):
Das Mailobjekt hat mal wieder einen kleineren update erfahren. Abgesehen von
einigen kleineren Bugfixes ist eine Sache neu:

Man kann jetzt mit (Beispiel) 'f 5-12' mehrere Briefe auf einmal forwarden.
Das hat in erster Linie den Sinn, dass es damit leichter wird, sich seine Post
nach Hause zu schicken, um sie anschliessend hier loeschen zu koennen :-)
Die Briefe werden hierbei zu einem langen Brief zusammengefasst.

Und nochmal fuer die, die es noch nicht mitbekommen haben: Beim Abspeichern
und Loeschen gibt es die entsprechende Funktion schon seit ein paar Wochen.

In der Hoffnung, keine neuen bugs dabei gebaut zu haben,
   Loco

-----------------------------------------------------------------------------



GELD oder nicht geld (Nixihou, 18. Dez 1995, 21:57:25):
also vielleicht gehoert es ja hier nicht hin, aber ich habe kein probelm mit
dem jetzt im moment laufenden wirtschaftssystem, hab immer noch genug geld
fuer alles und es gibt in der tat genug laeden, die nicht pleite sind, wenn
man da was verkaufen will. laestig ist halt nur der umweg.
(ein vorschlag zur verbesserung: laeden die eingendlich pleite sind kaufen
das zeug doch noch fuer eine muenze. oder sie nehmen fuer diese eine muenze
pro gegenstand einen kredit bis zum naechsten resett auf)
nixihou

-----------------------------------------------------------------------------



uebergehe antworten (Loco, 20. Dez 1995, 17:31:23):
Die Loesung ist noch nicht optimal, aber es funktioniert (hoffentlich):

  uebergehe antworten    oder auch    uebergehe thread

als neuer Befehl der MPA markiert einen Thread als ignoriert. Das heisst:
Alle Antworten, die vom selben urspruenglichen Artikel wie der eben gelesene
abstammen, werden auf immer und ewig (oder bis man es wieder abschaltet) bei
'nn' uebergangen. Damit kann man sich aus Diskussionen ausklinken, ohne die
Rubrik abzubestellen.

Achtung - in einer Uebergangszeit wird dies ziemlich unvollstaendig arbeiten.
Der Grund ist, dass die mpa hier nicht nach Titeln geht, sondern die threads
intern verbindet. Das funktioniert aber nur, wenn alle Artikel der Reihe mit
einem neuen Exemplar von heute 17 Uhr oder spaeter geschrieben wurden.

|| Wer also vorhat, Antworten in der MPA zu schreiben, sollte moeglichst
|| vorher einmal kurz ausloggen, falls er/sie schon laenger als heute 17 Uhr
|| anwesend ist. Netztot (schlafe ein) bedeutet auch anwesend!

Richtig sauber tut es dann nach dem naechsten reboot...

Bis zum naechsten update,

     Loco

-----------------------------------------------------------------------------



Geld (Orktoeter, 21. Dez 1995, 12:02:02):
Ich bitte, diesen Artikel nicht als noergelei aufzufassen, sondern als
konstrukive Kritik.
Wenn ich mich nicht irre, ist doch der Grund fuer die einfuehrung
[D[D[D[D[D[D[D[D[D[D[D[D[D[D[Deiner festen Geldmenge gewesen, das es so
realistischer sei, bzw. das es einem oder mehreren) Magiern aben so gefaellt.
Nur moechte ich jetzt, nach dem das Experiment einige Zeit laeuft die Frage
stellen, ob es nicht als gescheitert angesehen werden muss und der alte
Zustand (kine Begrenzung der Geldmenge) [D[Dwieder hergestellt werden sollte.
Meiner Meinung nach sollte das geschehen. Die Nachteile, die sich ergeben
haben sind deutlich gravierender, als das Gefuehl, das das MG realistischer
sei (es st doch schlisslich Phantasy :) ).
Noch ein  Gedanke zum Schluss, was waere, wenn eine Spielfigur, die vom
Spieler als boese angelegt wurde ingeht und Geld hortet, kann er/sie auf diese
Weise dasganze MG lahmlegen...
Kurz und gut meine Bitte : schafft die Geldmengenbegrezung bitte wieder ab.
OrkT.
PS bitte die Typos zu entschuldigen.

-----------------------------------------------------------------------------



GELDNOT! (Bambulko, 21. Dez 1995, 12:14:29):
Hmm vieleicht liegt die Geldnot ja an meinen 20 Bankzweities, die ich noch
nicht geloescht habe. :-))

Bambulko schreibt besser mal in Schmarrn...

-----------------------------------------------------------------------------



Re: GELDNOT! (Raffi, 21. Dez 1995, 12:52:13):
#! rn=Bambulko rt=819544469

a) kann ich keine Geldnot erkennen - ok, manchmal sind die bezahlten preise 
nicht gerade ueberagend -und
b) gibt es (meist) einen zahlenden laden - auchh wenn in Ohort.

Meiner meinung nach braucht das Geldsystem hier keine verbesserung - es muss
nur dafuer gesorgt werden das alle Loecher, durch die derzeit noch geld
verschwinden kann gestopft werden.

Sinvoll ware jedoch eine anpassung der Verkaufspreise ! Warum berechet der
Haendler nicht als preis das 3 fache dessen was er zur zeit fuer die gleiche
ware zahlen wuerde (mit einer untergrenze von meinetwegen 20% des
normalpreises) ?

Gruss
H.

-----------------------------------------------------------------------------



Re: Re: GELDNOT! (Cheasy, 21. Dez 1995, 12:56:35):
~#! rn=Raffi rt=819546733
~#! tid=819546733
Hmmm. Keine Geldnot? Ein klumpen Gold, Liste 1500 Muenzen, und die Laeden
bieten *10* ganze muenzen dafuer an? Sehr seltsam.
-Cheasy, der mit seiner Meinung nicht hinter'm Berg halten kann.
P.S: Sollte man nicht die Geldmenge mit der Anzahl der Spieler in Verbindung
bringen?

-----------------------------------------------------------------------------



Re^3: GELDNOT! (Yendi, 21. Dez 1995, 13:03:40):
#! rn=Cheasy rt=819546995

Nein, Cheasy, die Geldmenge (oder eher der Geldmangel) liegt an den
Bankzweities, nicht an Spielern.


-----------------------------------------------------------------------------



Re^4: GELDNOT! (Slash, 21. Dez 1995, 13:06:43):
#! rn=Yendi rt=819547420
Wenn immer von Geldnot gesprochen wird, wuesste ich gerne was das sein soll..
Was bedeutet geldnot, weil zweities alles horten:
1. Wieviel Geld ist im Umlauf?
2. Wer hat wieviel Geld?
3. Wieviel Geld muessen folglich die zweities haben?
gruss, slash

-----------------------------------------------------------------------------



Re^4: GELDNOT! (Cheasy, 21. Dez 1995, 13:10:28):
~#! rn=Yendi rt=819547420
~#! tid=819547420
trotzdem koennte ich die beweisen, dass eine fixe geldmenge immer zu
extremverteilung fuehrt... bisschen wirtschaftstheorie und so. Egal wie man's
macht, entweder lebt man mit Bankzweities, oder man begrenzet die Menge
geldes, die man besitzen kann., egal ob sachwert oder geldwert.
dann kann man problemlos "Bankzweities" erlauben... wenn man voll ist, kann
man einem bankzweitie nix mehr abnehmen, ist man leer, ist's der bankzweitie
hinterher.
Nicht dass ich einen zweitie haette... oder einer waere.

-heasy mag jetzt aber keinen Glaubenskrieg starten.
P.S: Hauptsache der Geldmangel legt sich wieder. Wie waers mit papiergeld,
das langsam und allmaehlich verrotet, wenn man's nicht benutzt, diebischen
Elstern und dergleichen auch wenn man schlaeft?

-----------------------------------------------------------------------------



Re^4: GELDNOT! (Raffi, 21. Dez 1995, 13:12:19):
#! rn=Yendi rt=819547420

Wenn  die Verkaufspreise in so einer Situation runtergehen sollte ja auch
wieder etwas eingenommen werden - und wenn trotzdem nicht mehr verkauft wird
ist es auch nicht schlimmer als jetzt.

Wobei das mit der geldmenge nochmal zu ueberlegen ist - eigentlich muesstten
die laeden eine Spritze im verhaeltniss zu den Spielern und der Zeit bekommen
(Geldmengenausweitung) Vorschlag:jeder Laden erhaelt fuer jeden Spieler der
sich einlogt 50 Muenzen  dazu - das ist zu wenig, als das ein einzelner durch
dauerndes Aus-/Einloggen seine persoenliche situation aendern koennte (es geht
ja an jeden Laden nur wenig neues Geld), die gesammtsituation wuerde sich
aber (etwas) entspannen.

Gruss
H.
(Hat keinen 2tie und will auch keinen - Ich Raffe selbst!)

-----------------------------------------------------------------------------



Re^5: GELDNOT! (Asmodis, 21. Dez 1995, 13:25:17):
#! rn=Cheasy rt=819547828
Hmm, die Menge, die ein Spieler besitzen kann, ist doch schon durch seine
Kraft beschraenkt, Geld wiegt ja auch etwas. Und Zweities kann man
momentan nicht so ohne weiteres bestimmten Spielern zuordnen,
also sind deine Vorschlaege irgendwie hinfaellig :)
Desweiteren rauben Etwas, Robin und der Bettler regelmaessig
Bankzweities aus, wenn sie sie erwischen :)

-----------------------------------------------------------------------------



Re^6: GELDNOT! (Cheasy, 21. Dez 1995, 13:33:12):
~#! rn=Asmodis rt=819548717
~#! tid=819548717
Trotzdem: denk 'mal ueber geldverfall bei nichtspielen nach... das sollte
effektiv bankzweities verhindern, und die staerkere geldumlauf mach dafuer die
regelmaessig gespielten figuren etwas dicker.
-Cheasy

-----------------------------------------------------------------------------



Re^8: GELDNOT! (Cheasy, 21. Dez 1995, 14:04:14):
~#! rn=Asmodis rt=819549355
~#! tid=819549355
ich meinte spielen: Punkte machen, schwaetzen, meucheln, quests loesen etc.
macht man nix, verdirbt das geld. War doch schon immer so, wenn man geld
verbuddelt.
-Cheasy

-----------------------------------------------------------------------------



Re^6: GELDNOT! (Raffi, 21. Dez 1995, 15:18:58):
#! rn=Asmodis rt=819548717

Also mir ist vollkommen unkalr wie Robin & co Spieler von Bank2ties
unterscheiden soll - also ich hab immer nur erlebt das Robin sich bei mir
bedient!

Gruss
H.

-----------------------------------------------------------------------------



Re^7: GELDNOT! (Asmodis, 21. Dez 1995, 15:41:50):
#! rn=Raffi rt=819555538
Er stuft Spieler, die mehr geld haben, als sie wirklich brauchen, als
Bankzweities ein :)

-----------------------------------------------------------------------------



RE^9 GELDNOT!! (Terrorist, 21. Dez 1995, 15:54:36):

Ich weiss ehrlich gesagt auch nicht wo hier Geldnot sein soll.
Ich weiss bloss eins das ihr auf alt bewaehrte Laeden zurueckgreift.
Und das ist falsch die AMgier haben genug gegen die Geldnot getan die frueher
war.
Ich hab einen Laden gefunden wo ich der einzige Kunde bin und deswegen zahlt
er auch noch gut und wenn ihr euch mehr umschauen wuerdet wuerdet ihr auch
Laeden finden die noch gut zahlen.
NAtuerlich kann man alles in der Elfensiedlung fue eine Meunze pro teil
verkaufen, aber ob das sich lohnt?

Terrorist verbraucht sehr viel Geld zum ueben :(

-----------------------------------------------------------------------------



Re: RE^9 GELDNOT!! (Fyt, 21. Dez 1995, 16:13:21):
~#! rn=Terrorist rt=819557676
~#! tid=819557676
Hm, die zwei Wochen sind rum, ich werd also auch wieder mal 'nen
Kommentar abgeben:

Ich betrachte das Experiment 'fixe Geldmenge' auch als gescheitert,
zumal mir nach wie vor keiner erklaert hat, was an dem System, das
es vorher gab (jeder soviel Geld wie er will) falsch war...

2. Es scheint einigen Leuten genauso zu gehen, es gibt Befuerworter,
die lieber nach Ohort rennen um ein paar Muenzen zu bekommen.

3. Ich bin nach wie vor der Meinung, dass das MG ohne Tinyfugue
und Bankzweities und fuer Anfaenger spielbar bleiben muss. Das
ist m.E. nach nicht moeglich, wenn jedes level 3 fuer 30 Muenzen
durch's halbe MG rennen muessen und jeder ANfaenger ueberhaupt
nicht selbst zu Geld kommt, da die Laeden am Startpunkt
chronisch pleite sind. Ich bilde mir uebrigens ein, die Situation
aus dieser Sicht einschaetzen zu koennen, da ich hin und wieder
ohne TF und ohne Unterstuetzung der restlichen Familie spiele.

5. In der Diskussion scheinen die Fronten ziemlich verhaertet zu
sein, beide Seiten reagieren nicht auf Argumente bzw. liefern keine.

Ich merk gerade... hab 4. vergessen.. egal...

6. Ich habe die Erfahrung gemacht, dass im MG dann etwas veraendert
wird, wenn man irgendwelchen Leuten auf den Schlips tritt. Die
Karategilde hat ne Weile gebraucht, eh sie fuer Normalbuerger
spielbar wurde.

Zusammenfassung: was passiert eigentlich, wenn wirklich einer
das ganze Geld hortet? Oder zehn oder zwanzig? So viel ich weiss
faellt das nicht unter die zwei Gebote 'Du sollst nicht toeten'
und 'Du sollst nicht scripten'?

Fyt.

-----------------------------------------------------------------------------



Re: Re: RE^9 GELDNOT!! (Raffi, 21. Dez 1995, 16:40:04):
#! rn=Fyt rt=819558801

Lieber Fyt,
(na das ist doch wohl na krawattenmaessige Anrede, wie sie zu
solch gewichtigen Bankgeschaeften gehoert :)

Ich kann jetzt zwar deine argumentation nicht punkt fuer punkt
durchsprechen (ich wuerde mich mit den Zahlen noch viel mehr
verhauen) aber kann Dir kaum zustimmen.

a) Fuer mich ist die Variabele Geldmenge eine Bereicherung.
a2)Ich wuensch mir nur ein paar VERFEINERUNGEN  um es noch
   Interessanter zu machen.

b) Was fuer einen wert hat es denn wenn man geld haben kann
   soviel man will? dann kann man das Geld gleich abschaffen
   und Drinks etc. umsonnst hergeben. Der Witz ist doch das man
   sich um Geld kuemmern muss.

c) Ich habe auch zu Anfang, trotz dem variablen Geldsystem, mehr
   Geld gehabt als ich sinvoll ausgeben konnte - auch ohne stark
   genug zu sein um monster niederzupruegel kann man nur durch
   aufraeumen an den beliebten Schlachtfeldern bis zu 100.000
   je Stunde erreichen!

d) Ich renn nicht nach Ohort, zumindest nichr nur deswegen. Aber
   wenn ich geld brauche, und es in den hauptlaeden keines gibt,
   dann nimm ich mir einige WERTVOLLE gegenstaende und trage die
   nach Ohort oder aehnlichen Orten und hab mit einem schlag auch
   8-10.000 Muenzen.  Dafuer kann man durchaus lange Saufen,
   Fressen und TTrainieren.

e) Ich hab keinen TF und kann ihn auch nicht gebrauchen, da ich
   ueber einen Firewall mit doppeltem TELNET gehen muss.

f) wie bereits gesagt ist es auch fuer einen Anfaenger moeglich
   das Geld zu bekommen - oder gleich  die Ruestungen die er
   sich wuenscht, da gerade bei Geldknappheit die Sachen nur
   so rumliegen :)
f2)Hier waere ja eine Erweiterung moeglich: fuer Stachel, Messer
   Drachenschuppe oder Lederjacke wird immer der volle Preis
   bezahlt. Fuer einen Hoeherstufigen Spieler ist das zu wenig
   als das es sich lohnt, und fuer einen Anfaenger ist das VIEL
   Geld.

e) Warum sollte man Geld horten ? Das liegt doch auf der Strasse!
   (Einzig vieleicht die 100.000 fuer die Komplettloesung :)

Gruss
H.

P.S.: Lieber Asmodis, wie will denn Robin wissen wieviel geld ich
      brauche *GRINS* Ich brauche immer MEHR!

-----------------------------------------------------------------------------



Re: Re: GELDNOT! (Lug, 21. Dez 1995, 16:56:06):
#! rn=Raffi rt=819546733
Also Raffi, wenn Du keine Geldnot erkennen kannst, weil in Ohort noch welches
it, sann hast Du sicherlich TF. Der unschoene Effekt tritt vor allem fuer
nicht F Spieler ein. Wenn die zentralen Laeden pleite sind, dann stehen
Weltreisen an. Das System bevorzugt TF Spieler krass, soll das so sein?
Lug

-----------------------------------------------------------------------------



Re^3: GELDNOT! (Raffi, 21. Dez 1995, 16:57:55):
#! rn=Lug rt=819561366

Kann es sein mein lieber LUG (ich gewoeh ne mich langsamm an diese anrede)
das du meinen Artikel nicht gelesen hast ?

ICh renne eben nicht dauernd nach ohort, sondern mach das nur wenn die
normalen laeden (snarken und  so) nix mehr abwerfen, und ich Geld brauche.
Ausserdem hab ich keinen TF (wie ich bereits schrieb) ich kann ihn NICHT
einsetzen, da ich hier ueber einen Firewall arbeite und garkeine direkte
Verbindung ins IN machen kann - ich muss mit TELNET auf den Firewall und dann
dort nochmal einen TELNET starten um ans MG ranzukommen! Da geht nix mit TF &
so!

Gruss
H.

-----------------------------------------------------------------------------



Re^4: GELDNOT! (Lug, 21. Dez 1995, 17:02:58):
#! rn=Raffi rt=819561475
Lieber Raffi,
das Argument bleibt, trotz Deines 2ten Artikels.
Gruss.
L.

-----------------------------------------------------------------------------



Re: Re: RE^9 GELDNOT!! (Ryne, 21. Dez 1995, 17:12:37):
~#! rn=Fyt rt=819558801
~#! tid=819557676

Hmm.

Also, als Befuerworter des Geldsystems fuehl ich mich mal von Fyt
herausgefordert, zu sagen, warum ich im Geldsystem keine Probleme sehe:

a) das haeufig vorgebrachte Arg. "anfaenger kommen nicht zu Geld" seh ich
kein bischen ein. Auf meine Frage in der heutigen Diskussion auf dem
Seherkanal, wozu denn Anfaenger Geld brauchen kam: um sich ausruestung zu
kaufen.
Nun, mal abgesehen davon, dass anfaenger das mg erforschen sollten, was in
Regionen untersuchen, mappen und questen besteht und wo man keine besondere
ausruestung benoetigt, kann mit sicherheit jeder anfaenger, der sich ein
bischen umgesehen hat, auch an einige ausruestung kommen, und wenn in den
diversen metzelgegenden grad nix liegt oder er diese auch nicht kennt kann er
bestimmt auch einen seher finden, der ihm eben irgendwas umnietet, damit er an
zeugs kommt.

b) Entgegen offenbar verbreiteter Meinung besteht ein Geldkreislauf, in dem
nur wenige Luecken Geld vernichten. Geld aus den Laeden und den kneipen geht
in die zentralbank, und wird von dort an laeden weitergegeben, die nicht
genuegend geld zur verfuegung haben. hat die bank nicht genug geld, um alle
anforderungen von laeden zu befriedigen, erzeugt sie (mit verschiedenen
mechanismen) neues geld. (uebrigens auch andersum, wenn die laeden nix
anfordern, die bank aber sehr viel hat, erzeugt sie nur wenig oder gar nix
neues)
ok, ich will hier nicht das system komplettauseinandertuedeln, aber ich
glaube schon, dass da bischen erklaert werden muss, um missverstaendnisse
auszuschliessen.

however, das groesste problem ist eben an diesem System, dass einige
deflationisten geld in bekannte loecher schmeissen. Wenn jemand 200.000
Muenzen oder mehr in irgendeine teure Heilmoeglichkeit packt, dann ist das
Geld verloren (wurde das mittlerweile nicht geaendert?) - die rumhackerei auf
den Bankzweities dagegen ist nicht so ganz begruendet - denn dieses geld wird
ja (denke ich mal) irgendwann wieder von dem erstie abgeholt und vertankt oder
was auch immer - wenngleich bankzweities natuerlich kurzfristig das geld aus
dem spiel ziehen (andererseits aber auch, da ja dann mangel herrscht, die
zentralbank  neues geld erzeugt)

Tatsache ist, das Geldsystem hat das MG fuer mich wieder ein Stueck
interessanter gemacht, weil Geld ploetzlich wieder etwas Wert ist. Wer hier
argumentiert, es gaebe keinen Grund, die Geldmenge zu begrenzen, kann
genausogut fordern, es moege rebootfeste ruestungen und schwerter geben. es
gibt in dieser welt nicht alles umsonst, und wie sich gerade am geld zeigt,
wird manchmal auch etwas ein wenig teurer.

Ich brech hier ab, keinen bock mehr zu schreiben und eh nix zu sagen,

Ryne

P.S. aeh doch: Fyt, zu deinem Schlussatz: Die antwort lautet wohl "jein" - 10
oder 20 leute koennen das geld nicht aus dem spiel ziehen, da die bank immer
wieder neues erzeugen wird, da aufgrund des geld-hortens nur wenig in dem
laeden ist - aber diese anpassung dauert, ergo: 10 oder 20 leute koennen
kurzfristig das geld aus demm spiel ziehen, aber nach kurzer zeit wird es
wieder neues geben.


-----------------------------------------------------------------------------



Re: Re: RE^9 GELDNOT!! (Jerrico, 21. Dez 1995, 20:49:41):
~#! rn=Fyt rt=819558801
~#! tid=819557676
Das zweite Gebot heisst nicht 'Du sollst nicht scripten' sondern
'Du sollst Dich beim scripten nicht erwischen lassen' :)

Aer beim Rest kann ich Dir nur zustimmen, was man ja auch eigentlich nicht
mehr in der Zeitung darf.
Ich denke mal fuer die Leute die Lofwyr plaetten koennen gibt es auch keine
Geldnot, naja und die restlichen muessen sich halt Geld zusammenschnorren
oder mit Hilfe von Wegescripten zu den entlegensten Laeden laufen.
Ich glaube man sollte das Wirtschaftssystem so wie es jetzt ist nicht voellig
zerreissen, und hoffe dass es sich im Laufe der Zeit auf einen staendigen
spielbaren Zustand einpendeln.
Eine moegliche Loesung waere es natuerlich wenn die Laeden in der Naehe der
Startraeume immer einen gewissen Betrag bezahlen, vielleicht sogar so
funktionieren wie frueher, und die restlichen Laeden nach dem neuen System, an
denen man herumexperimentieren kann, bis es funktioniert, und man es fuer alle
Laeden einfuehren kann.
Naja, jetzt wo ich fast am Ende bin, glaube ich dass das alle wieder in die
'alten' Laeden laufen, und sich bei den Laeden nach dem neuen System nichts
tut, das koennte man natuerlich durch entsprechende Preise aendern.

Fazit: Es ist scheinbar garnicht so einfach ein funktionierendes, spielbares
Wirtschaftssystem zu programmieren, aber ich denke Jof gibt sein Bestes.


Jerrico plaettet Lofwyr, wenn er Geld braucht.

-----------------------------------------------------------------------------



Re^3: RE^9 GELDNOT!! (Fyt, 21. Dez 1995, 21:01:53):
~#! rn=Raffi rt=819560404
~#! tid=819560404
f2) stimme ich voll zu... wie waere es, wenn betraege bis sagen wir
200 Muenzen voll ausgezaehlt wuerden? Ich weiss, das passt nicht
in das jetzige System, aber wer will das schon erhalten :)

Fyt.

-----------------------------------------------------------------------------



Re^4: RE^9 GELDNOT!! (Raffi, 21. Dez 1995, 21:04:16):
~#! rn=Fyt rt=819576113
~#! tid=819560404

Hmm....
f2) oder die Preisminderung progressiv macht ? - je niedriger der basispreis
desdo geringer der abschlag - das bedeutet aber auch das die haendler frueher
als bisher bei den teueren sachen mit dem Preisdruecken anfangen!

Gruss
H.

-----------------------------------------------------------------------------



Re^4: RE^9 GELDNOT!! (Cuchullin, 21. Dez 1995, 21:05:28):
~#! rn=Fyt rt=819576113
~#! tid=819560404

Idee war: Festpreis fuer Objekte mit Wert <= 200 Muenzen.
Koennte aber gehen. Der Laden nimmt sich, wenn ihm das Geld ausgeht, weil zu
viele "Festpreisobjekte" angekauft werden mussten, bei der Bank Kredit, der
beim naechsten Ausgleich natuerlich berechnet wird.

Jof kriegt das aber eh irgendwie hin....
Cuch.-


-----------------------------------------------------------------------------



Re^3: RE^9 GELDNOT!! (Morgoth, 22. Dez 1995, 07:19:45):
~#! rn=Ryne rt=819562357
~#! tid=819557676
re^3 zu re^9 = re^?? ach egal, sieht halt witzig aus.
du hast ganz recht, wenn du behauptest, dass das geld in die bank
zurueckfliesst.
ich moechte hier etwas zu den luecken sagen, auch wenn sich einige magier
villeicht damit auf den schlips getreten fuehlen, oder sonstwie sauer
reagieren(kennt ihr ja von mir, ich kann halt meine schnauze nicht halten).
es gibt einige heilorte, die sicherlich noch nicht das eingenommene geld in
die bank befoerdern(schwarzarbeit?). deshalb folgende bitte an diese magier(zu
wohle aller), mit dem befehl /p/daemon/zentralbank->PayIn(summe) koennt ihr
das eingenommene geld ins system zurueckfliessen lassen. bei meinem doktor
quack wende ich dieses schon an, habs ausprobiert, es klappt
tatsaechlich(siehe log). wer das noch nicht eingebaut hat....ist wirklich
nicht viel arbeit. falls der befehl falsch sein sollte jof, berichtige mich
bitte(ich hab jetzt nicht nachgesehen). hmm, ich glaube das wars. ansonsten
kann ich nur auf meinen supermarkt verweisen, der anfang naechsten jahres(so
mir mein EM gnaedig gestimmt ist) aufmachen wird. dort wird es dann
(hoffentlich) genug geld geben, da jeder laden nur sehr spezifische sachen
annimmt.
wieviel zeilen waren das jetzt am stueck **wurks** , sorry.....
bis dann
morgoth

p.s.: Frohe Weihnachten und einen guten Rodler ins 96er

-----------------------------------------------------------------------------



Re^3: RE^9 GELDNOT!! (Acrimon, 22. Dez 1995, 18:51:13):
~#! rn=Jerrico rt=819575381
~#! tid=819557676
Ich musz dir widersprechen, Jerrico.

1. Das neue Wirtschaftssystem war (aus meiner Sicht) seit seiner Einfuehrung
gut spielbar, und viel besser als das alte.

> Das zweite Gebot heisst nicht 'Du sollst nicht scripten' sondern
> 'Du sollst Dich beim scripten nicht erwischen lassen' :)

Vollkommen falsch!
Das zweite Gebot heiszt schlicht und einfach "Du sollst nicht skripten".
Wer sich daran nicht haelt, sondern sich einfach nicht erwischen laeszt - der
verstoeszt gegen dieses Gebot!
Auch wenn - nein, Gerade weil man diese Leute leider nicht erwischt und nicht
bestrafen kann, sind sie umso luegnerischer und duerfen vor schlechtem
Gewissen nicht verschont bleiben.

Acrimon, der Rote Ritter

-----------------------------------------------------------------------------



Re^4: RE^9 GELDNOT!! (Acrimon, 23. Dez 1995, 01:34:13):
~#! rn=Acrimon rt=819654673
~#! tid=819557676
Zum neuen Geldsystem moechte ich folgende Verbesserung _DRINGENDST_
empfehlen:

Jeden RL-Tag sollten sich bei jedem Spieler 5% seines Geldes, das er mehr hat
als 5000 Muenzen, in ihre Bestandteile aufloesen und in der MG-Bank wieder neu
entstehen.
Dadurch wird Inflation simuliert, ohne dasz die Muenzen ihren tatsaechlichen
Wert verlieren.
Die Bankzweities verlieren einen Teil ihres Existenzzweckes, und Anfaenger
werden nicht beruehrt.

Ein Bankzweitie, der 100.000 Muenzen gehortet hat,
hat also nach einem Tag nur noch 95.250 Muenzen,
nach einer Woche 71.342 Muenzen,
nach einem Monat 25.390 Muenzen,
nach drei Monaten nur noch 5.892 Muenzen.

Dieses verrottete, verlorene, verbrannte, verdorbene, (oder wie es sonst
verloren gegangen ist) Geld entsteht bei der MG-Bank neu und entschaerft somit
die Geldsituation auf Kosten von Bankzweities.
Bankzweities werden an Wert verlieren, besonders die Langzeit-Geldhorties,
und die aktiven Spieler werden durch diese Maszregelung kaum belaestigt.
Denn welcher Spieler traegt taeglich mehr als 30.000 Muenzen mit sich herum?
Und 1200 verlorene Muenzen sind sehr schnell wieder ermetzelt.
Anfaenger (die selten mehr als 5000 Muenzen haben) werden keine einzige
Muenze verlieren, auch wenn sie sich mal einen Monat lang nicht einloggen.
Und fuer 5000 Muenzen lohnt es sich auch nicht, immer neue Bankzweities zu
erschaffen.

Wer mehr Geld hat - egal in welchen Zweities - fuer den wird es auch
muehsamer, seine Unmengen an Geld zusammenzuhalten.
Ich kann mir gut vorstellen, dasz 75% des gesamten Geldes sich in
Langzeit-Bankies befindet. Wenn dieses verschimmelt, dann ist wieder mehr Geld
im Umlauf, was bedeutet, dasz die Laeden nicht mehr pleite werden, und
kurzfristig fuer irgendwelche wichtigen Zwecke (wie zB die Hydra) kann man
durchaus 500.000 (eine halbe Million) Muenzen sammeln.

Ich bitte um eine gleichzeitige Verringerung der Gesamtgeldmenge, damit das
Geld nicht wieder wertlos wird.

Acrimon, der Rote Ritter kuemmert sich um ein lebenswertes MorgenGrauen.

-----------------------------------------------------------------------------



Re^5: RE^9 GELDNOT!! (Janice, 23. Dez 1995, 17:57:15):
~#! rn=Acrimon rt=819678853
~#! tid=819557676
Hi Acrimon !
Wenn Bankzweities mehr als 5000 muenzen haben, sollen sie taeglich 5 % davon
verlieren ? Hmm, ich wuerde dann damit antworten, das ich mir noch mehr
Bankzweitie mach, die alle nur 5000 muenzen tragen :-)

Gruss Janice

-----------------------------------------------------------------------------



Re^6: RE^9 GELDNOT!! (Acrimon, 23. Dez 1995, 18:30:37):
~#! rn=Janice rt=819737835
~#! tid=819557676
Wodurch Du durch mehr Verwaltungsaufwand bestraft wirst.
Gleichzeitig empfehle ich, das Automatisch-Spielerloesch-Skript so
auszuweiten, dasz offensichtliche Bankzweities schon nach 2 Wochen geloescht
werden.

Acrimon, der Rote Ritter kuemmert sich um ein lebenswerteres MorgenGrauen.

-----------------------------------------------------------------------------



Re^7: RE^9 GELDNOT!! (Yendi, 27. Dez 1995, 12:16:43):
~#! rn=Acrimon rt=819739837
~#! tid=819557676

Automatisiertes Playerfile-Loeschen ist problematisch, weil leider nicht
narrensicher. Und sobald sich die ersten Leute beschweren, weil ihnen die
Ersties geloescht wurden, moechte ich nicht in der Haut des Loeschscript-
Programmierers stecken...

Ausserdem gibt es gar nicht _so_ viel Geld in Bankzweities... so ungefaehr
eine halbe Million vielleicht. Ist es das wert? Da waere es mir lieber, wenn
Cat* ab und zu von Hand die Files durchsiebt, mit seinem gesunden
Menschenver... vergiss es, schon gut.  ;)

Cat, komm, leg die Lupe weg! Caahaaat! CAT! Nein, nicht! NEEEEEEEIIIII*krzp*


-----------------------------------------------------------------------------



Re^8: RE^9 GELDNOT!! (Raffi, 27. Dez 1995, 14:34:17):
~#! rn=Yendi rt=820063003
~#! tid=819557676

So ungefaer eine halbe milion ... das ich nicht lache - ich kann mir denken,
das mache spieler alleine mit 3-6 Zweities diese summe jeweils horten!
(Je Spieler - natuerlich nicht je 2tie - in eine Zweitie gehen ja nur ca
150.000 Muenzen)


Gruss
H.

-----------------------------------------------------------------------------



Re^9: RE^9 GELDNOT!! (Mahatma,  2. Jan 1996, 18:24:02):
~#! rn=Raffi rt=820071257
~#! tid=819557676
In einen 2tie mit Kraft 22 gehen 107200 Muenzen, und keine 150000.

Mahatma

-----------------------------------------------------------------------------



Re^10: RE^9 GELDNOT!! (Raffi,  2. Jan 1996, 20:49:28):
~#! rn=Mahatma rt=820603442
~#! tid=819557676
und was ist mit beuteln ?

Gruss
H.

-----------------------------------------------------------------------------



Re^11: RE^9 GELDNOT!! (Jerrico,  2. Jan 1996, 20:50:20):
~#! rn=Raffi rt=820612168
~#! tid=819557676
Das Geld in Beuteln macht sich bei einem Reboot nicht so gut :)

-----------------------------------------------------------------------------



Re^7: RE^9 GELDNOT!! (Sique,  2. Jan 1996, 23:41:32):
~#! rn=Acrimon rt=819739837
~#! tid=819557676
Was bitte ist ein offensichtlicher Bankzweitie? Bitte definiere ihn so,
dass die Definition anhand eines Scriptes getestet werden kann.
Was dir offensichtlich erscheint, ist naemlich ueberhaupt nicht klar,
wenn du es programmieren sollst.
                                       Sique

-----------------------------------------------------------------------------



Re^4: RE^9 GELDNOT!! (Hardil,  8. Jan 1996, 15:14:54):
~#! rn=Acrimon rt=819654673
~#! tid=819557676
Lieber Acrimon,

und das dritte Gesetz heisst:

"Du sollst nicht "sz" schreiben, weil das die Lesbarkeit des Textes
heruntersetzt (und zwar mit Ryne-Faktor 4)."

Nix fuer ungut.

Und falls wieder jemand meint, persoenliche Mitteilungen gehoerten nicht in
die mpa: Das ist dann zur Not halt ein offener Brief.

-Hardil. :-)

-----------------------------------------------------------------------------



Befehle & Co. (Catweazle,  9. Jan 1996, 19:24:26):
[Verlegt von allgemeines, Marita,  9. Jan 1996, 03:29:10]:

Hi <name_des_zustaendigen_magiers>,

da ich mal wieder nicht weiss, wer zustaendig ist, muss ich ueber die MPA
gehen... Irgend jemand hatte kuerzlich folgende Idee:
Bei den Befehlen/Spruechen

teile mit
frage nach
schaetz
identifiziere

sollte es moeglich sein, dass der Adressat/das Objekt bei mehrmaligem
Gebrauch hintereinander nicht mehr wieder neu angegeben werden muss, also
dass man sich z. B. beim Ausfragen von NPCs solche Eingaben wie

> q komplizierternameeinesnpc stichwort1
> q komplizierternameeinesnpc stichwort2
> q komplizierternameeinesnpc stichwort3

erspart. Ich mache die Idee hiermit kund und ergaenze:

a) Der Name des zuletzt angesprochenen Spielers/Objekts/NPC wird
zwischengespeichert und beim Fehlen des entsprechenden Arguments automatisch
eingefuegt. Das Fehlen wird durch die Stellung von 'mit'/'nach' schon als 1.
Argument bzw. durch das Fehlen jeglicher Argumente erkannt. Abspeichern beim
Ausloggen ist unnoetig - es ist nur fuer den Moment gedacht.
b) Die Namen 'mit' und 'nach' muessen dann wohl auf die Banish-Liste. Ich
habe diese beiden Namen vorsorglich belegt und werde sie zu gegebener Zeit
freimachen.
c) Fuer 'erzaehl' soll das lieber nicht gelten - wenn der spielername falsch
geschrieben wird, geht die Nachricht an den falschen Spieler.

Unabhaengig davon erlaube ich mir die Bemerkung, dass wir Spieler es selbst
in der Hand haben, den Adressaten nur einmal angeben zu muessen, wenn man
geeignete Alis definiert hat. Vielleicht benutzen viele von uns noch nicht so
viele Alis - daher bereite ich zur Zeit einen Beitrag aus der Ali-Trickkiste
vor. Wer von Euch trickreiche Ali-Konstruktionen verwendet, kann sie mir
mailen, und ich bau sie mit ein. Den obigen Vorschlag unterstuetze ich
trotzdem, weil er benutzerfreundlicher ist als das, was man aus Alis
'rauskitzeln' kann.

Nochwas: Ich habe schon mal eher angeregt, dass ein kompetenter Magier ca.
alle 2 Monate eine detaillierte Who-is-who-Liste in die Zeitung setzen
koennte. Leider habe ich keine Reaktion darauf erhalten (Ich glaube NICHT,
dass es daran liegt, dass kein Magier kompetent waere ;)). So eine Liste
wuerde bei Problemen sicher das Direktmailen foerdern und die MPA im Bereich
Polemik entlasten.

Dies hier ist halt meine Methode, am Gedeihen des MG mitzuwirken. Ich wuerde
solche Sachen ja auch gerne selber proggen, aber bei meiner Questschwaeche
rechne ich mit meiner Seherwerdung fruehestens im Juli (also vorlaeufig nix
Magierin). Wer vor der Wahl steht, evtl. Magier zu werden, koennte sich
ausserdem ueberlegen, mit welcher Zielsetzung er das macht. Das riesige MG
waechst ungebremst weiter, und von 2..3 Quests in Vorbereitung habe ich
ebenfalls zwischen Tuer und Angel gehoert. Also an diesen Dingen wird bereits
hinreichend gearbeitet. Die Arbeit der naechsten Mag-Generation koennte eher
darin liegen, Bestehendes zu verbessern - dazu gehoeren z. B. Vorschlaege aus
Spielersicht (von denen noch einige in meinem Notizbuch schlummern), aber
auch das Ueberarbeiten von Quests, die immer wieder zu Aerger fuehren - vor
allem wenn ein Mag seine Sorgfalt auf mehr Quests verteilt hat als sein Name
lang ist. Genug jetzt - so viel Philosophie auf einmal haelt man ja nicht mal
mit Intelligenz 23 aus. ;)

Ein x-beliebiger Beitrach von
Marita


-----------------------------------------------------------------------------



Re: Befehle & Co. (Catweazle,  9. Jan 1996, 19:28:15):
~#! rn=Marita rt=821154550
~#! tid=821154550
[Verlegt von allgemeines, Jerrico,  9. Jan 1996, 14:32:56]:
Ich weiss nicht ob du schonmal die ^ benutzt hast, aber damit geht folgendes:
Wenn Du
q komplizierternameeinesnpc stichwort1
und danach
q komplizierternameeinesnpc stichwort2
machen moechtest, kannst du auch stattdessen
zunaechst :
q komplizierternameeinesnpc stichwort1
und dann
^stichwort1 ^stichwort2 ^
eingeben, ich benutze das hauptsaechlich, wenn ich jemandem etwas mitteile,
fuer den ich kein teile-mit ali habe, und mich dann beim namen vertippe.

Jerrico


-----------------------------------------------------------------------------



Re: Befehle & Co. (Catweazle,  9. Jan 1996, 19:28:38):
~#! rn=Marita rt=821154550
~#! tid=821154550
[Verlegt von allgemeines, Boing,  9. Jan 1996, 14:47:56]:
Bei 'teile mit' ist die Moeglichkeit ja schon vorhanden, sogar noch
etwas weitergehender. Der Befehl 'tmhist' zeigt mir momentan folgendes:

.6  dancer
.5  zephyr
.4  zardoz
.3  hobo
.2  morgoth
.1  saikan

Jetzt kann ich mit 'teile .1 mit' zum beispiel saikan etwas
mitteilen, es funktioniert fuer diesen Spezialfall sogar 'teile . mit'.

Tschuess,
  Boing


-----------------------------------------------------------------------------



Re: Re: Befehle & Co. (Catweazle,  9. Jan 1996, 19:29:10):
~#! rn=Boing rt=821195276
~#! tid=821154550
[Verlegt von allgemeines, Boing,  9. Jan 1996, 15:03:56]:
Muss mich korrigieren, das scheint noch etwas buggy zu sein ... momentan
geht nur die Abkuerzung . fuer den letzten Spieler, .1 oder hoehere
Zahlen funktioniert nicht.
  Boing


-----------------------------------------------------------------------------



Brummkopf nach einem Reboot (Todesengel, 10. Jan 1996, 22:08:21):
Mal ne Bitte,

waere es moeglich, das nach einem Reboot oder Crash das Trinkvermoegen
wieder auf nuechtern und das Hungergefuehl auf sehr gross gesetzt
werden ? Auf der einen Seite sind Ruestungen etc. weg, man muss sie sich
neu besorgen, auf der anderen Seite muss man erstmal wieder ne halbe
Stunde ausnuechtern, um wieder vernueftig metzeln zu koennen.
Was haltet ihr davon ?

Ein Todesengel kommt manchmal alleine


-----------------------------------------------------------------------------



Re: Brummkopf nach einem Reboot (Jerrico, 10. Jan 1996, 22:12:26):
~#! rn=Todesengel rt=821308101
~#! tid=821308101
Ja vielleicht als Belohnung einer zukuenftigen Quest einen
Autoload Gegenstand, der einen schneller ausnuechtern laesst.
Ich hab zwar nur noch 6% aber zukuenftige Karatekagenerationen
werden den Magier, der das programmiert, vergoettern :)

Jerrico



PS: es sind noch 5% :)

-----------------------------------------------------------------------------



Re: Re: Brummkopf nach einem Reboot (Cuchullin, 10. Jan 1996, 22:14:28):
~#! rn=Jerrico rt=821308346
~#! tid=821308101


Auch das ist etwas, was alle paar Monate vorgebracht wird....

Bisher wurden alle Bitten bezueglich Fressen, Trinken, Saufen mit der
Begruendung abgelehnt, dass man nicht zwischen Crash und Ende unterscheiden
koenne, da der Geldrueckgabewert anders geregelt werden wuerde.
Was genau da nicht geht, weiss ich nicht, ich glaubs halt mal.

Cuch.-


-----------------------------------------------------------------------------



Re^3: Brummkopf nach einem Reboot (Jerrico, 10. Jan 1996, 22:20:23):
~#! rn=Cuchullin rt=821308468
~#! tid=821308101
Hmmm ???
Ja deshalb eben ein Objekt, das dich schneller ausnuechtern laesst.

-----------------------------------------------------------------------------



kwer oder wer (Jerrico, 10. Jan 1996, 23:27:10):
Zur Abwechslung noch mal was konstruktives, naemlich ein Vorschlag zu
weiteren Optionen zu kwer.
Ich faende es toll, wenn man sich die Liste der eingeloggten Spieler auch
nach anderen Kriterien als Level und Name anzeigen lassen koennte, so zum
Beispiel nach der Anzahl der Tode, EP, AP, Online-Zeit (also Alter), und evtl.
wie lange man schon eingeloggt ist, wenn das moeglich ist.
Naja ein Magier der an den Kommandos rumwurschteln :) darf hat sicher noch
weitere Einfaelle.


Jerrico, vertreibt die Ausnuechterungspausen mit Artikelschreiben

-----------------------------------------------------------------------------



Re: Brummkopf nach einem Reboot (Asmodis, 11. Jan 1996, 13:56:05):
~#! rn=Todesengel rt=821308101
~#! tid=821308101
Dafuer heilst du nach einem Reboot auch schneller, wenn du alkoholisiert bist
:)

-----------------------------------------------------------------------------



Re: kwer oder wer (Asmodis, 11. Jan 1996, 13:57:41):
~#! rn=Jerrico rt=821312830
~#! tid=821312830
Jo, faende ich auch gut, waere ich wenigstens in einer Liste vorne :)

      P.S.: Nein, nicht bei den Toden :)

-----------------------------------------------------------------------------



wurfsterne verbessert (Morgoth, 12. Jan 1996, 15:10:04):
so, wer meine wurfsterne kennt, weiss worum es geht
ich habe fuer sie ne art skill geschrieben. d.h. ihr koennt jetzt mit den
dingern ueben und werdet dann immer besser. natuerlich sind sie am anfang noch
recht mies, aber ueben lohnt sich ;-))
morgoth
p.s.: ich hoffe es sind keine bugs drin, sonst sofort melden

-----------------------------------------------------------------------------



-G und -B (Marita, 15. Jan 1996, 05:25:44):
Hi Magier,
ein kleiner Aenderungswunsch mit grosser Wirkung: Beim Einloggen eines neuen
Spielers sind -a, -b und -T (glaube ich) voreingestellt als betretene
Kanaele.
Es fehlt dort eindeutig -G (und konsequenterweise auch -B). Ich glaube, dass
viele Anfaenger die Gratulationen zu den ersten 1..2 Quests gar nicht
mitbekommen, weil sie -G nicht kennen (So ging es mir jedenfalls).
Die Aenderung der Voreinstellung kann nach meinem Dafuerhalten kein
groesseres
Problem sein. (Nach getaner Aenderung kann dieser Artikel geloescht werden)
Oder spricht da was gegen?
Marita

-----------------------------------------------------------------------------



Re: -G und -B (Pra, 15. Jan 1996, 11:07:30):
~#! rn=Marita rt=821679944
~#! tid=821679944
Seid gegruesst,

nein, ich finde ganz und gar nicht, dass Neueinsteiger noch mehr Kanaele
automatisch eingeschaltet bekommen sollen.
Schon die drei Kanaele, auf denen sie jetzt automatisch landen, sind meiner

Meinung nach zu viele. Hintergrund: ich habe neulich mal wieder versucht
ein paar unschuldige StudentInnen mud-abhaengig zu machen. Leider tat
ich das am fruehen Nachmittag. Sobald die Neueinsteiger auch nur ihren Namen
ausgewaehlt hatten und noch vor ihrem Passwort gruebelten, scrollte ihnen
schon der Bildschirm voll mit irgendwelchem Muell, der gerade mal wieder
ueber -a kam. Das war _sehr_ abschreckend.
Koennte man nicht lieber einen Newbie-Modus oder soetwas aehnliches
einfuegen, so dass Neueinsteiger waehrend ihrer ersten online-Stunde (z.B.)
ab und zu Hinweise auf den Schirm bekommen, wie z.B. 'Wenn Du Dich mit
anderen Spielern unterhalten moechtest, versuchs mal ueber die Kanaele (siehe
hilfe kanaele).'
Oder: 'Weisst Du schon, dass Du Dich im Morgengrauen auch telepathisch
verstaendigen kannst? (siehe hilfe teile mit).'
Diese dezenten Hinweise faende ich um einiges freundlicher, als die Kanaele,
die Anfaenger doch nur (jedenfalls zu bestimmten Tageszeiten) in Konfusion
stuerzen.

That's it. Gruss, Pra

-----------------------------------------------------------------------------



Re: Re: -G und -B (Boing, 15. Jan 1996, 12:47:34):
~#! rn=Pra rt=821700450
~#! tid=821679944
Das finde ich eine prima Idee!
Mal wieder kurz und knapp,
  Boing ;)

-----------------------------------------------------------------------------



Treffermeldung bei den Abenteurer-Zauberspruechen (Zino, 15. Jan 1996, 14:10:09):

Moin,

da Mahatma nach seinem Hydrakill vor lauter Freude keinen klaren Gedanken
mehr fassen konnte, hat er vergessen, diesen Artikel zu schreiben, der ihm
schon lange am Herzen liegt. So muss ich dummer Zweitie dies fuer ihn
erledigen.

Es geht um eine Kleinigkeit in der Abenteurergilde. Sie ist m.E. schon hin
und wieder mal geaeussert worden, aber leider noch nicht umgesetzt worden.
Es geht um die Treffermeldungen bei den Zauberspruechen. Es ist naemlich
unangenehm, immer munter draufloszuballern, ohne zu sehen, ob es ueberhaupt
was bringt. Ausserdem ist es aus psychologischer Sicht recht aufbauend, den
Gegner auch mal in kleine Stueckchen zu zersplittern, was mit herkoemmlichen
Waffen fuer normale Abenteurer kaum moeglich ist.

Die Realisierung duerfte eigentlich nicht schwierig sein, bei einigen
wenigen Monstern klappt das sogar (z.B. Schachkoenig in Nibelheim),
ausserdem koennte der verantwortliche Magier (Boing?) ja notfalls bei Zardoz
nachschauen, wie er es bei den Chaoten gemacht hat.. Ach, das hat Boing eh
nicht noetig...

So verbleibe ich auf eine Ueberraschung nach der Spielpause hoffend

Hydratoeter Mahatma (haett gern gesehn, wie meine Pfeile das Vieh kratzten)

-----------------------------------------------------------------------------



Re: Treffermeldung bei den Abenteurer-Zauberspruechen (Boing, 15. Jan 1996, 14:29:49):
~#! rn=Zino rt=821711409
~#! tid=821711409
Die Aenderung dafuer an der Abenteurer-Gilde waere minimal, ich bin
mir nur noch nicht ganz im Klaren, ob ich es haben will ... naja, mal
sehen ...
  Boing

-----------------------------------------------------------------------------



'behalte alles' (Jaf, 16. Jan 1996, 00:31:37):

Wie waere es, wenn bei dem 'behalte'-Befehl 'behalte alles'
moeglich waere, dann koennte man sich einmal fein anziehen,
und dann 'behalte alles' anstelle von 'behalte schwert',
'behalte ruestung' usw. tippen.

Jaf.

-----------------------------------------------------------------------------



entwicklung (Wargon, 16. Jan 1996, 10:40:30):
[Verlegt von gilden.karate, Taz, 16. Jan 1996, 00:06:12]:
Hi,

bzgl. des 'Spielpause'-Befehls. Ich hab mich sperren lassen, so
dass das steht: Kann fruehestens am Die. 16. Janaur wieder ins Mud.
Tja es ist der 16. Januar und ich kann nicht ins Mud.
Muesste irgendwie ueberarbeitet werden? Oder wird da die Uhrzeit
des Sperrens auch mitgenommen, so dass ich mich erst um 20.00 oder
so wieder einloggen kann?

Anakin.


-----------------------------------------------------------------------------



Re: entwicklung (Wargon, 16. Jan 1996, 10:52:09):
~#! rn=Wargon rt=821785230
~#! tid=821785230
  Hi!
Die Zeit des Sperrens wird nicht mitgerechnet; allerdings endet die Zeit der
Spielpause nicht um 00:00 Uhr, sondern erst um 01:00 Uhr des entsprechenden
Tages.
Aber das sollte wohl nicht sonderlich tragisch sein, oder? ;)
  Wargon

-----------------------------------------------------------------------------



mail freunde (Loco, 16. Jan 1996, 16:57:00):
Eine kleine Aenderung hat den Weg in die Postaemter gefunden: Das neue
vordefinierte Mailalias 'freunde' ist ab sofort ueberall verfuegbar. Das
heisst: Wenn man 'freunde' als Empfaenger angibt, geht der Brief an alle
Freunde gemaess Freundschaftsband. Natuerlich kann man das mit anderen
Empfaengern kombinieren.

Morgengrauen Postverwaltung,
  i.A. Loco

-----------------------------------------------------------------------------



Verben und ihre tw. unangenehmen Auswirkungen ;-) (Marsupilami, 16. Jan 1996, 23:07:12):
Guten Abend.
Tja...ab und zu passirts dass irgendwer so teilweise doch nuetzliche Verben
wie z.B 'furze' (Nur aus gegebenen Anlass ausgewaehlt) missbraucht und dann
dasselbe so 30-40 mal in einem Raum per script rausschreibt. Was dann passiert
is nimmer sooooo witzig wuerde ich mal sagen.
Dazu die Frage: Waere es auf irgendeinem Wege moeglich das einzuschraenken
(In der art von 'Ooooch, so viel kannst Du im moment wirklich nicht furzen'
oder so ;-))

Was haltet Ihr davon ?

Tschau
          Marsupilami (fuer ein etwas weniger stinkendes Mud ;-))

-----------------------------------------------------------------------------



Re: Verben und ihre tw. unangenehmen Auswirkungen ;-) (Asmodis, 16. Jan 1996, 23:32:59):
~#! rn=Marsupilami rt=821830032
~#! tid=821830032
Vielleicht koennte man das furzen vom Mageninhalt abhaengig machen,
wenn man also vollstaendig gesaettigt ist, kann man 20 Furze ablassen,
wenn ein Loch im Magen ist, nur 2 oder 3. Oder eben umgekehrt, bin
kein Biologe :)

Ach, ab nach Schmarrn :)

-----------------------------------------------------------------------------



Re: Verben und ihre tw. unangenehmen Auswirkungen ;-) (Cheasy, 17. Jan 1996, 10:25:13):
~#! rn=Marsupilami rt=821830032
~#! tid=821830032
Kann sich der Furzbegrenzung nur anschliessen. Kann man vielleicht dadurch
realisieren, das Furzen MPs kostet.

-Cheasy
Der schon mal zehn Minuten lang versuche, diversen Magenwinden in der
Abenteuerergilde zu entgehen.

-----------------------------------------------------------------------------



Re: Re: Verben und ihre tw. unangenehmen Auswirkungen ;-) (Boing, 17. Jan 1996, 13:42:18):
~#! rn=Cheasy rt=821870713
~#! tid=821830032
Oder sobald ein Furz im Raum 'aktiv' ist, bekommt man die Meldung
'Dein Furz geht im allgemeinen Gestank unter.'
  Boing

-----------------------------------------------------------------------------



Aufgabenverteilung (Boing, 17. Jan 1996, 14:15:51):
Auf Wunsch von Marita poste ich hier mal die Aufgabenverteilung unter den
Magiern. Demnaechst wird die Liste dann auch irgendwo staendig aushaengen,
wir wissen nur noch nicht wo.

Aufgabenverteilung der Magier
-----------------------------

- Goetter
    Jof, Rumata, Boing

- Erzmagier
    Catweazle:    Polizei
    Wargon:       LPC, Dokumentation
    Hate:         LPC
    Boing:        Quests, Waffen, Ruestungen, Balance
    Rochus:       Gilden
    Silvana:      Gilden
    Highlander:   Seele

- Weise
    Vrai:         allgemeines bug-fixing

- Regionsmagier
    Wueste:       Catweazle, Durian, Dancer
    Seher:        Kirk
    Wald:         Silvana
    Polar:        Zardoz, Schrumpfi
    Ebene:        Rochus
    Gebirge:      Boing, Ketos
    Dschungel:    Romili
    Inseln:       Hate, Wargon, Anthea
    Unterwelt:    Sir, Wurzel, Death
    Fernwest:     Li
    Schattenwelt: Dancer

- Hilfsmagier
    Pilgrim:      FAQ
    Viper:        Doku
    Toeter:       Polizei
    Loco:         MPA, mail

Ich hoffe, ich hab niemanden vergessen, erwaehnt sind allerdings nur die
aktiven Magier mit besonderen Aufgaben, die Reihenfolge ist willkuerlich.


-----------------------------------------------------------------------------



Artikelautoren nach Verlegen (Yendi, 17. Jan 1996, 17:47:25):

Ist es moeglich, nach dem Verlegen eines Artikels in eine andere Rubrik den
Namen des urspruenglichen Autors in der Ueberschrift zu lassen und den Namen
des "Verlegers" erst eine Zeile weiter unten in "[verlegt von <rubrik>]"?

Es ist ein wenig missverstaendlich so, wie es ist...


-----------------------------------------------------------------------------



finger (Rudiratter, 17. Jan 1996, 17:54:49):
Kann man das eigentlich so einrichten, dass man beim FIngern sieht, ob der
angefingerte Spieler Post hat? Faend ich ganz praktisch.
Rudi

-----------------------------------------------------------------------------



Re: Re: Verben und ihre tw. unangenehmen Auswirkungen ;-) (Fyt, 18. Jan 1996, 01:29:19):
~#! rn=Cheasy rt=821870713
~#! tid=821830032
Also MP fuer furzen is doch etwas albern... was bitte daran ist magisch?

Fyt, sich nur noch wundernd ;))

-----------------------------------------------------------------------------



Re^3: Verben und ihre tw. unangenehmen Auswirkungen ;-) (Loco, 18. Jan 1996, 11:39:18):
~#! rn=Fyt rt=821924959
~#! tid=821830032
Kannst Du in RL jederzeit furzen, wenn Du willst, um andere Leute zu aergern?
DAS ist magisch! ;)
  Loco

-----------------------------------------------------------------------------



Neues im Score (Wargon, 18. Jan 1996, 14:40:07):
  Hi!
Wie ihr sicher schon gesehen habt (dafuer wurde ja sogar das
Reboot-Lamentieren in den Hintergrund gedraengt), wird bei "info" (oder
alternativ "score" oder "punkte") ein Text ueber die Kenntnis im MorgenGrauen
ausgegeben.
Beim taeglichen Erforschen des MG werden seit einiger Zeit Punkte vergeben,
die man allerdings nicht in direkter Form angezeigt bekommt. Dies ist die
Aufgabe der neuen Zeilen bei "info".
Da alte Spieler sich aber wohl nicht dauernd ueberall umsehen, weil sie die
Gegenden frueher schon mal gesehen haben (als es dafuer noch keine Punkte
gab), wird ihnen eine eher schlechte Ortskenntnis bescheinigt.
Andererseits haben alte Spieler auch keine Konsequenzen daraus zu
befuerchten. ;=)
  Soviel fuers erste zu diesem Thema,
    Wargon
PS: Ja, es wird wohl bald mehr dazu folgen ;)

-----------------------------------------------------------------------------



ignoriere (Jaf, 18. Jan 1996, 21:41:40):

Darf ich mir was wuenschen?

Wenn ja, dann wuensch ich mir 'n Befehl, mit dem man rausbekommt,
welche der eingeloggten Spieler mich ignorieren. Ich denk, dass
muesste mit vertretbaren Aufwand zu proggen sein, und sooo oft wird
es sicher nicht angewendet, dass es Lag verursacht, oder?

Jaf.

-----------------------------------------------------------------------------



Re: ignoriere (Raffi, 18. Jan 1996, 21:45:07):
~#! rn=Jaf rt=821997700
~#! tid=821997700

Jep, zustimmung, eigentlich auch mein Wunsch - hab das auch schonmal
durchdiskutiert - scheint aber nicht ganz so einfach zu sein. man mueste schon
genau eingrenzen.

Gruss
H.

-----------------------------------------------------------------------------



Re: Re: ignoriere (Jaf, 18. Jan 1996, 21:46:58):
~#! rn=Raffi rt=821997907
~#! tid=821997700
Naja, ich meine eh nur die eingeloggten, das sind so um die 100 mal
10 bis 20 auf der Liste, also 2000 "Vergleiche"...

Erscheint mir nicht soooviel, weiss natuerlich nicht, was passiert,
wenn das dann alle ausprobieren auf einmal...

Jaf.

-----------------------------------------------------------------------------



Re^3: ignoriere (Jerrico, 18. Jan 1996, 21:49:29):
~#! rn=Jaf rt=821998018
~#! tid=821997700
Es muesste fuer jeden spieler genau wie die liste der mitspieler, die man
ignoriert, auch eine liste derer geben, von denen man ignoriert wird. wenn
beides im spieler-objekt ist duerfte die abfrage kein grosses lag erzeugen


-----------------------------------------------------------------------------



Re^4: ignoriere (Raffi, 18. Jan 1996, 21:51:04):
~#! rn=Jerrico rt=821998169
~#! tid=821997700

Das Problem sind eher die vielen arten von ignoriere die es inzwischen gib.

Und das mit der doppelten liste ist a) platzfressend und b) extrem
fehleranfaellig.

Gruss
H.

-----------------------------------------------------------------------------



Re^5: ignoriere (Ulo, 18. Jan 1996, 22:54:33):
~#! rn=Raffi rt=821998264
~#! tid=821997700

Technisch ist das kein Problem, und wenns ums Lagerzeugen geht, hat man als
Spieler sicher 'leistungsfaehigere' Moeglichkeiten, Lag zu erzeugen.
Interessant faende ich eher, mal Gruende dafuer anzufuehren, warum man seine
'Ignoranten' kennen will. Mir fallen auf Anhieb (das kann auch an mir liegen)
nur Missbrauchsmoeglichkeiten ein, denn wenn ich jemanden ignoriere, hab ich
absolut keine Lust, das dann vor Gast2 rechtfertigen zu muessen!!!!!!

Ulo.

P.S. Mir z.B. ist es sch...egal, wer mich ignoriert oder nicht...

-----------------------------------------------------------------------------



Re^6: ignoriere (Hate, 18. Jan 1996, 23:14:09):
~#! rn=Ulo rt=822002073
~#! tid=821997700
Technisch ist es durchaus ein Problem.
Man kann allerhoechstens mit herausbekommen, wer von den eingeloggten
Spielern
einen ignoriert. Aber nicht jeden.

Hate.

-----------------------------------------------------------------------------



Re: Neues im Score (Lupus, 19. Jan 1996, 03:04:41):
~#! rn=Wargon rt=821972407
~#! tid=821972407
Hi!

Nur mal ne kurze Frage, heisst alte Spieler "Seher" oder "Leute, deren erstes
einloggen vor der neuen  Regelung lag"?

An solchen feinen Unterscheidungen brennend interessiert, Lupus (angehender
Seher und laut info MUD-ignorant)

-----------------------------------------------------------------------------



Re: Re: Neues im Score (Wargon, 19. Jan 1996, 10:12:51):
~#! rn=Lupus rt=822017081
~#! tid=821972407
"alte Spieler" heisst "Leute, denen erstes Einloggen vor der neuen Regelung
lag".
Sorry, falls das missverstaendlich war, es liegt mir natuerlich nichts ferner
als altgediente Spieler wie zB. Bobo oder Yendi als junge Spunde zu
bezeichnen. ;)
  Wargon

-----------------------------------------------------------------------------



Re^6: ignoriere (Raffi, 19. Jan 1996, 10:21:01):
~#! rn=Ulo rt=822002073
~#! tid=821997700

a) gemaess Loco ist es doch ein Problem, zum einen wegen der verschiedenen
arten von ignoriere (MPA,etc.) zum anderen, da mann die savefiles und den
speicher durchsuchen muesste  fuer ein aussagekraeftiges ergebniss.

b) Ich denke das es fuer den Ignorierten einne interessante aussage ist, und
ihm zu denken geben sollte wie er diesen Zustand verursacht hat, bzw. was er
dagegen unternehmen kann. Wenn DU (Ulo) daran kein interesse hast ist das
dein problem.

Gruss
H.

-----------------------------------------------------------------------------



Re^7: ignoriere (Catweazle, 19. Jan 1996, 12:24:01):
~#! rn=Raffi rt=822043261
~#! tid=821997700
Hi!
Als Tip: minimal wuerd ich vorschlagen, das sowas im finger mitaufge-
nommen wird, ala: finger catweazle-> [..] Catweazle ignoriert Dich! [..]
Loco? tut das?
YTC

-----------------------------------------------------------------------------



Wegen des MG-Vereins... (Ancalagon, 19. Jan 1996, 15:08:30):
Moin erstmal!
Eine kleine Anmerkung zum Foerderverein. Koennte man nicht mal irgendwo, z.B.
in der WWW-Seite des vereins eine Mitgliederliste veroeffentlichen? Ich weiss
naemlich im Moment gar nicht mehr, ob ich da schon drin bin.
leicht zerstreut,
                                              Ancalagon
                                      Draco knuddellensis major

-----------------------------------------------------------------------------



Re^7: ignoriere (Fyt, 19. Jan 1996, 16:05:37):
~#! rn=Raffi rt=822043261
~#! tid=821997700
Wenn ich Jaf recht verstanden hab *kicher*, hat er ausdruecklich nur
die eingeloggten Spieler gemeint, dazu brauch man die Savefiles sicher
nicht durchzuschauen...

Das ganze hat uebrigens auch den Vorteil, dass man nicht staendig von
Person A gefragt wird, ob ihn Person B ignoriert, nur weil B sich nicht
sofort um A gekuemmert hat...

Fyt.

-----------------------------------------------------------------------------



Re: 'behalte alles' (Yeti, 19. Jan 1996, 16:47:51):
~#! rn=Jaf rt=821748697
~#! tid=821748697
Obwohl ich zur Zeit nicht mehr richtig zum spielen komme und laut info mich
im MG so gut wie garnicht auskennen, moechte ich doch mal meine Senf zum Thema
"behalte" und dem verwandten Thema "gib alles an YXZ" abgeben. Es waere doch
sicher logisch, wenn ein "gib alles an Yxz " so funktionieren wuerde, wie
vorgesehen und dabei aber die behaltenen Gegestaende auch wirklich behalten
werden. Naja, war nur so ne Idee von mir...

Yeti, schon 2.5 Jahre im Mud und sich fast garnich auskennend :-(

-----------------------------------------------------------------------------



Verein (Terrorist, 19. Jan 1996, 16:54:46):

Ok also ich weiss jetzt nich ob das die richtige Rubrik is. Ich schreib mal
drauf los.

Also und zwar hab ich nur eine Frage was hab ich davon wenn ich euren Verein
beitrete machen wir dann einaml im Jahr ne Kegeltour oder fahren nach
Mallorca? :)))
Ich meine wir sind doch in der AMrktwirtschaft und blossd afuer das ich euren
Vortraegen zuhoeren kann oder selber welche halten Geld bezahlen?
Also kann mir einer erzaehlen was ich davon ahbe wenn ich dem Verein
beitrete?

Terrorist will Kegeln

-----------------------------------------------------------------------------



Re: Verein (Raffi, 19. Jan 1996, 17:53:09):
~#! rn=Terrorist rt=822066886
~#! tid=822066886

Dem Verein gehoert der Rechner, und das MG - der ist zum beispiel dafuer da
so sachen wie den kaputten CPU-Luefter zu zahlen, oder ne neue CPU oder auchh
was sonnst fuer das MG gebraucht wird.

Was du dann davon hast ? Ganz einfach: das morgengrauen  - ist das etwa nix ?

Gruss
H.

-----------------------------------------------------------------------------



Re^7: ignoriere (Schrumpfi, 19. Jan 1996, 20:11:16):
~#! rn=Hate rt=822003249
~#! tid=821997700
Wenn Asmodis eingeloggt ist, gibt es einen Crash :-)
S.

-----------------------------------------------------------------------------



Re: Re: Verben und ihre tw. unangenehmen Auswirkungen ;-) (Snuggle, 21. Jan 1996, 01:47:17):
~#! rn=Cheasy rt=821870713
~#! tid=821830032
Es gibt als Belohnung (ich glaube zur Frachtgutquest) einen Ventilator zum
Vertreiben uebler Gerueche. Leider ist er nicht rebootfest, aber vielleicht
koennte ja ein Haendler (evtl der im Seherladen) damit gute Umsaetze machen.

YT Snuggle

-----------------------------------------------------------------------------



Re^8: ignoriere (Loco, 21. Jan 1996, 17:32:47):
~#! rn=Catweazle rt=822050641
~#! tid=821997700
Klar ginge das. Ohne Probleme, wenn es nur um das generelle Ignorieren geht.
Das Problem faengt erst an, wenn man auch ignorierte Aktionen wie xyz.news
oder rknuddel.xyz anzeigen will. Dann reicht es naemlich nicht, nachzuschauen,
ob "xyz" in der Ignoriere-Liste drin ist, sondern man muss jeden einzelnen
Eintrag daraufhin parsen, ob er den Spieler xyz betreffen kann.

Das andere waere ne Kleinigkeit.

Leider etwas im Stress,
                      Loco

-----------------------------------------------------------------------------



Re^8: ignoriere (Zillus, 21. Jan 1996, 17:41:12):
~#! rn=Catweazle rt=822050641
~#! tid=821997700
Der Sinn des ignoriere befehls ist - jedenfalls fuer mich - dass ich mich vor
Personen, die mich (leider manchmal ziemlich bewusst) aergern, schuetzen kann.
Wenn nun jeder nachschauen kann wen ich ignoriere, dann ist es kein Problem,
mich noch mehr zu aergern . sei das als 2tie, als gast.. moeglichkeiten gibts
genuegend...
Darum ist die Moeglichkeit nachschauen zu koenne wer mich ignoriert, ziemlcih
kontraproduktiv. Ich hofe das sowas nie kommt. Ja es ist durchaus moeglich,
dass Leute die ich ognoriere, mich dann erst recht versuchen zu aergern und zu
belaestigen.
Es sind nun leider nciht alle lieb und nett im mg ...
Also: es genuegt vollkommen, wenn ich jemanden ignorieren kann ohen dass er
das weiss!
ciao, Zillus

-----------------------------------------------------------------------------



Re^3: Verben und ihre tw. unangenehmen Auswirkungen ;-) (Mars, 22. Jan 1996, 18:38:08):
~#! rn=Snuggle rt=822185237
~#! tid=821830032
> Es gibt als Belohnung (ich glaube zur Frachtgutquest) einen Ventilator zum
> Vertreiben uebler Gerueche. Leider ist er nicht rebootfest, aber vielleicht
> koennte ja ein Haendler (evtl der im Seherladen) damit gute Umsaetze
machen.

Schau doch mal in den anderen Seherladen!

Mars

-----------------------------------------------------------------------------



Anfaenger und ihre Schwierigkeiten (Sushi, 22. Jan 1996, 18:54:02):
Meine Frau Carefree und ich planen, eine Quest speziell fuer Anfaenger zu
schreiben. Deren Ziel soll es sein, Schwierigkeiten gezielt anzugehen, die
anderen Anfaengern das Leben schon schwer gemacht haben.
Unsere Bitte deshalb: Schickt uns Eure Ideen und Probleme, vielleicht sogar
mit einem Vorschlag, wie sich die Loesung des Problems umsetzen liesse.

Danke.

Sushi

-----------------------------------------------------------------------------



Re^8: ignoriere (Asmodis, 22. Jan 1996, 19:57:41):
~#! rn=Schrumpfi rt=822078676
~#! tid=821997700
Gar nicht wahr!
Es ist Zufall, dass ich da bin, wenn es crasht :)

-----------------------------------------------------------------------------



Re^9: ignoriere (Fyt, 22. Jan 1996, 20:06:28):
~#! rn=Asmodis rt=822337061
~#! tid=821997700
aber es ist keine zufall, dass es crasht, wenn du da bist :)

Fyt.

oder? :))

-----------------------------------------------------------------------------



Der NEUE Befehl "unt/schau" (Hate, 23. Jan 1996, 17:29:48):
Liebe Spieler,

hier ein Auszug aus der Hilfeseite fuer untersuche
man untersuche
...
        Betrachtet man ein <objekt> im Raum, so wird es als neuer Bezugs-
        punkt fuer weitere Betrachtungen genommen. D.h. man kann als
        naechstes ein Detail an dem Objekt betrachten, ohne eingeben zu
        muessen "unt <detail> an <objekt>", sondern es reicht dann
        "unt <detail>". Wird das Detail an dem eben betrachteten Objekt
nicht
        gefunden, so wird der Bezugspunkt wieder auf die Umgebung und die
        Objekte im Spieler gesetzt.
...

Ab sofort wird es moeglich sein, an ALLEN Objekten Details zu betrachten.
Ansonsten funktionert der Befehl weiter so wie bisher.
Das Prinzip hat sich nur ein wenig geaendert. Man hat jetzt immer einen
"Bezugspunkt".
Wenn man in einen Raum hineinkommt, ist das der Raum und das eigene Inventar.
Betrachtet man dann ein Objekt, welches dort herumliegt, wird der Bezugs-
punkt auf das Objekt verlagert, so dass man dann an diesem Objekt
einzelne Details betrachten kann, ohne jedesmal "an <Objekt>" mit in den
untersuche Befehl einbauen zu muessen.
Der Bezugspunkt veraendert sich automatisch, wenn ein Detail nicht gefunden
wird. Ist das Detail im Raum zu finden, wird der Raum der Bezugspunkt,
wird es nirgends gefunden, bleibt der Bezugspunkt das Objekt.

Viel Spass beim Suchen von Details.

Hate.

-----------------------------------------------------------------------------



Re: Der NEUE Befehl "unt/schau" (Bendeigid, 23. Jan 1996, 17:31:22):
~#! rn=Hate rt=822414588
~#! tid=822414588
Natuerlich gilt das nur theoretisch "ab sofort", denn erstmal muessen die
alten sachen ergaenzt werden... probierts aber aus....

Z'par Servu, Bendeigid

-----------------------------------------------------------------------------



Re: Der NEUE Befehl "unt/schau" (Boing, 23. Jan 1996, 17:32:09):
~#! rn=Hate rt=822414588
~#! tid=822414588
Vorraussetzung dafuer ist natuerlich, dass die Details an den Objekten
auch beschrieben sind, das duerfte momentan noch fast nirgends der
Fall sein. Deswegen solltet ihr ueberall, wo was fehlt das Kommando
'idee' oder 'fehler' benutzen.
Tschuess,
  Boing

-----------------------------------------------------------------------------



Das lesen (ein BUG) (Hate, 24. Jan 1996, 01:12:47):
Hallo lieber Spieler,

im Moment gibt es noch einen bug beim lesen von schildern und aehnlichem.
Bitte habt verstaendnis und fragt einen Magier, ob er das Problem fuer
Euch loest. Fuer die Magier steht in der MPA in magier.entwicklung, wie
das geht.
Hate

-----------------------------------------------------------------------------



Idee... (Creative, 24. Jan 1996, 09:32:35):

Isset moeglich, gleiche Obj's im Inv unter einer Position zu lagern, z.B.

(2) Ein Bumerang
    Ein Seil
(3) Ein Langschwert

o.ae.?
Waere genauso uebersichtlich und spart Scroll...
-Crea-


-----------------------------------------------------------------------------



Re: Der NEUE Befehl "unt/schau" (Grimmborn, 24. Jan 1996, 12:54:28):
~#! rn=Hate rt=822414588
~#! tid=822414588

Nur eine klitzekleine Frage: Man sollte erwarten, dass nach einem "unt detail
an objekt" der Bezugspunkt fuer weitere Untersuchungen das Objekt ist. Ist dem
so?

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re: Idee... (Asmodis, 24. Jan 1996, 13:03:32):
~#! rn=Creative rt=822472355
~#! tid=822472355
Hmm, gehoert das nicht unter Magier.Entwicklung ??
Aber ich denke mir so, dass es bestimmt mit ein wenig Programmieraufwand
moeglich ist, wuerde es jedenfalls begruessen.

     Ciao, Asmodis(Dem auch immer alles durchscrollt)

-----------------------------------------------------------------------------



Re: Aufgabenverteilung (Methylan, 24. Jan 1996, 19:53:04):
~#! rn=Boing rt=821884551
~#! tid=821884551
Freund ist auch Erz. Welche Aufgabe hat der? Und wie stehts mit Jof?? :-)

Methylan Blau. Klebt.

-----------------------------------------------------------------------------



Re: Verben und ihre tw. unangenehmen Auswirkungen ;-) (Methylan, 24. Jan 1996, 19:55:07):
~#! rn=Marsupilami rt=821830032
~#! tid=821830032
Man koennte ne Zeitabfrage machen, so dass ein Spieler nur (sagenwer) alle 5
Min furzen kann (fast wia im richtigen Leben :-)

Methylan Blau. Klebt.

-----------------------------------------------------------------------------



Aufgeschnappt (Predator, 24. Jan 1996, 21:51:18):
Also ich sitz hier gerade neben jemandem, der im Wunderland spielt, der hat n
feines Teil, Kerbholz heisst das Teil, da werden alle getoeteten Monster
eingekerbt oder so aehnlich, faende ich gut, weiss allerdings nicht, wie das
da mit dem speicher aussieht und der geschwindigkeit, naja, ich schreibs nur,
weil ich gerade mal nichts zu tun habe


Pred :)

-----------------------------------------------------------------------------



Re: Aufgeschnappt (Fyt, 24. Jan 1996, 21:56:38):
~#! rn=Predator rt=822516678
~#! tid=822516678

Hm, ich kenn da 'n Maggi, der sitzt schon 'n dreiviertel Jahr
an sowas, kriegt aber nix fertig *stichel*

Fyt, hoffend, dass das hilft ;)

-----------------------------------------------------------------------------



kwer (Fyt, 24. Jan 1996, 22:01:45):

Konnent man es bitte einrichten, dass bei der ANSI-Version von
kwer das rot der Erwarteten ueber das weiss der Magier geht?
Ich finde es interessanter zu sehen, welche der von mir Erwarteten
eingeloggt sind als welche Magier da sind :)

Fyt.

-----------------------------------------------------------------------------



Re: kwer (Fyt, 24. Jan 1996, 22:05:02):
~#! rn=Fyt rt=822517305
~#! tid=822517305

Btw,  'hilfe stty' sollte auch eingefuehrt werden :)

Fyt.

-----------------------------------------------------------------------------



Re: Re: Aufgabenverteilung (Reinelde, 24. Jan 1996, 23:42:32):
~#! rn=Methylan rt=822509584
~#! tid=821884551
jof ist doch bekanntermassen erzmagier fuer ideln :)

-----------------------------------------------------------------------------



Re: Aufgeschnappt (Azzuro, 25. Jan 1996, 02:23:52):
~#! rn=Predator rt=822516678
~#! tid=822516678
Soviel ich weiss proggt Ardana an einem Kerbholz.
Mach hinne Sohn - Das Volk begerht schon auf.
Azzuro

-----------------------------------------------------------------------------



Typo/Bug/Idee (Silvana, 25. Jan 1996, 08:37:27):
Ich moechte (besonders im Zusammenhang mit den neuen Details an Objekten)
einmal auf die (seit Monaten) 'neuen' Moeglichkeiten der Befehle bug,
typo und idee hinweisen. Es ist naemlich moeglich, mit der Syntax

   bug <objekt>:<Text>

- beziehungsweise bei den anderen Befehlen analog - eine Nachricht gezielt
zu einem Objekt abzusetzen. Ich bitte darum, davon Gebrauch zu machen.
Es nutzt nicht viel, wenn die Ideen erst 100 Raeume weiter (in einer anderen
Region vielleicht) abgesetzt werden. Der Magier, der das bekommt, wird
nicht viel damit anfangen koennen. Also bitte DIREKT zu Objekt absetzen,
dann kommt das auch da an, wo's hingehoert.

Silvana

PS: Die Hilfeseiten dazu sind uebrigens ausgesprochen hilfreich in diesem
    Fall. ;)

-----------------------------------------------------------------------------



Re: Aufgeschnappt (Yantro, 25. Jan 1996, 08:49:10):
~#! rn=Predator rt=822516678
~#! tid=822516678

Ich bin der Meinung, das wir im MG eine eigene Identitaet aufbauen sollten
und wirklich nicht alles aus dem Wunderland uebernehmen muessen... sonst sind
wir nachher nur eine billige Kopie und das will doch sicher keiner.


                  Yantro;)

-----------------------------------------------------------------------------



Re: Re: Verben und ihre tw. unangenehmen Auswirkungen ;-) (Raffi, 25. Jan 1996, 12:25:01):
~#! rn=Methylan rt=822509707
~#! tid=821830032
> Man koennte ne Zeitabfrage machen, so dass ein Spieler nur (sagenwer) alle
> 5  Min furzen kann (fast wia im richtigen Leben :-)

Na du hast wohl noch nie so ne richtig schoene Bohnensuppe gegessen? Da ist
es bei mir dann ein wunder wenn ich 5 Minuten ruhe gebe!

Gruss
H.

-----------------------------------------------------------------------------



Re: Re: Aufgeschnappt (Highlander, 25. Jan 1996, 12:35:38):
~#! rn=Yantro rt=822556150
~#! tid=822516678
Das Kerbholz gibt es schon laenger als das Wunderland - in TAPPMud,
von Tahar.
  JFYI,
    HrT

-----------------------------------------------------------------------------



pegasus (Jimdigriz, 26. Jan 1996, 14:50:00):
Hallo,

Wieder mal Pegasus, wurde ja schon netterweise soviel geaendert/
verbessert. Deshalb gleich nochwas
Es waere echt nett wenn Pegasus ein wenich laenger als 5 sekunden
an den Haltestellen warten koennte. Ich habs jetzt heute schon zum
5. mal verpasst. Ich hab zwar ein bisserl Lag aber ned soooo viel.
Das waere doch ned zuviel verlangt, oder ?

Vielen Dank.

Jim diGriz

-----------------------------------------------------------------------------



Re: pegasus (Roadrunner, 26. Jan 1996, 16:19:07):
~#! rn=Jimdigriz rt=822664200
~#! tid=822664200
ist eben der ICE des Morgengrauens :) - aber laestig ists dir dann wieder
wenn du draufsitzt und eine rundreise veranstaltest, dass die so ewig dauert.
RR

-----------------------------------------------------------------------------



Herkunftsort & Co. (Mango, 28. Jan 1996, 01:08:01):


Hi,

s
ich hab festgestellt das unter anderem bei einigen Leuten bei finger <xyz>
dasteht -> und zwar von: Deutschland, und das wenn man wer macht bei dem
entsprechenden Player eine genauer tsname steht. Koennte man nicht die beiden
Listen aktualisieren? :)


Mango, auf der Suche ....



-----------------------------------------------------------------------------



Re: Herkunftsort & Co. (Mango, 28. Jan 1996, 03:32:54):
~#! rn=Mango rt=822787681
~#! tid=822787681

Ich korrigiere: tsname -> Stadtname


Mango, weis nicht wo die Typos herkommen.n



-----------------------------------------------------------------------------



Re: Re: Der NEUE Befehl "unt/schau" (Dhojakt, 28. Jan 1996, 09:36:18):
~#! rn=Boing rt=822414729
~#! tid=822414588
Koennte mal bitte der bezugspunkt zum untersuchen erst auf den raum und dann
aufs eigene inv gesetzt werden, bzw. das unt <gegenstand> in mir/im raum
wieder eingefuehrt werden? ich kann naemlich zB keine Lampen untersuchen, weil
ich die Wunderlampe aus Ohort bei mir trage. Und bei Sachen ist das ja auch
laestig, meine erst in einen Beutel zu stecken und dann das Zeug zu
untersuchen.

Danke, Khidar.

-----------------------------------------------------------------------------



Re^3: Der NEUE Befehl "unt/schau" (Augra, 28. Jan 1996, 20:09:59):
~#! rn=Dhojakt rt=822818178
~#! tid=822414588
Ganz abgsehen davon, dass ja nicht jeder immer und ueberalle nen Beutel oder
was vergleichebares dabeihat.

Augra, Khidar ansonsten voll zustimmend

-----------------------------------------------------------------------------



Re^4: Der NEUE Befehl "unt/schau" (Cheasy, 28. Jan 1996, 20:11:44):
~#! rn=Augra rt=822856199
~#! tid=822414588
Das scheint nicht nur ein problem mit dem Beutel zu sein... wenn man was zu
Essen dabeihat (Froschschenkel) hat das prioritaet beim essen. iss leiche
funktioniert dann nicht mehr, und der ganze Muell bleibt liegen :)
-Cheasy mit dem grossen Magen

-----------------------------------------------------------------------------



sprachenkanal (Reinelde, 29. Jan 1996, 01:43:01):
hi,

wie waers wenn fuer die mitternachtsmudder ein fremdsprachenkanal
eingerichtet
wuerde? ich finde die mischung aus englich/afrikanns/suaheli (oder wie man
das
schreibt) die da nachts durchlaeuft so irrititernd.
da koennte ich ja driekt ins tappmud auswandern ;)

reinelde - sprachunbegabt

-----------------------------------------------------------------------------



Re^3: Der NEUE Befehl "unt/schau" (Hate, 29. Jan 1996, 11:43:54):
~#! rn=Dhojakt rt=822818178
~#! tid=822414588
Hi,

abgesehen davon, dass immer noch unt <objekt> im raum/in mir funktioniert,
muss ich sagen, dass laut code, soweit mir das in Erinnerung ist das schon
immer so war. Wie nuetzlich oder nicht ist etwas anderes, aber ich kann mir
ja Gedanken machen, wie das zu aendern ist.

Leo.

-----------------------------------------------------------------------------



Re: Re: Aufgeschnappt (Boing, 29. Jan 1996, 13:18:25):
~#! rn=Yantro rt=822556150
~#! tid=822516678
Kerbholz gibt es eh schon seit Jahren in Tappmud, sogar unter diesem
Namen.
  Boing
PS: War damals uebrigens mein Vorschlag und Tahar hat es gebaut ;)

-----------------------------------------------------------------------------



kwer (Acrimon, 29. Jan 1996, 13:37:12):
Wie waere es, wenn die eigenen Freunde in kwer gelb dargestellt werden?
Das macht kwer noch um einiges uebersichtlicher.

Empfohlene Darstellungsprioritaet: rot (erwartete), gelb (Freunde), gruen
(Froesche)
Mit Magiern (unterstrichen) funktionieren sie zusammen.

Acrimon, der Rote Ritter

-----------------------------------------------------------------------------



erzaehle/teile mit (Hate, 30. Jan 1996, 10:38:27):
Hi,

erzaehle und teile mit sind jetzt auch mit der tmhist funktionstuechtig.
teile .2 mit bla, holt sich also den zweitletzten Namen aus der Liste
der angesprochenen Spieler.

ignoriere -a macht jetzt keine Muellmeldungen mehr, wenn jemand das einge-
tipp hat.

Alles, wie immer, nach dem naechsten reboot oder richtigem ausloggen.
Hate.

-----------------------------------------------------------------------------



Re: Typo/Bug/Idee (Wargon, 30. Jan 1996, 13:18:51):
~#! rn=Silvana rt=822555447
~#! tid=822555447
  Hi!
Die Befehle typo/fehler/idee benutzen jetzt das zuletzt betrachtete Objekt.
Die Doppelpunkt-Geschichte funktioniert aber trotzdem noch ;)
  Wargon

-----------------------------------------------------------------------------



Neuer Befehl der mpa (Loco, 31. Jan 1996, 17:58:01):
Auf vielfachen Wunsch gibt es jetzt wie vor etwa 2 Jahren angekuendigt, einen
neuen Befehl in der MPA: 'wiederhole' oder 'uncatchup'.
Syntax: wiederhole <anz> [artikel]
        wiederhole [<anz> m|minute[n]] [<anz> h|stunde[n]] [<anz> d|tag[e]]
        wiederhole alle artikel
Der wiederhole- oder uncatchup-Befehl bezieht sich immer auf die aktuelle
Rubrik und markiert die angegebenen Artikel als ungelesen.
Zeiten sind rueckwaerts ab aktueller Uhrzeit gerechnet.
Bei Anzahl Artikel werden nur bereits gelesene gerechnet.

Das Ganze funktioniert wie immer natuerlich erst nach Ausloggen oder dem
naechsten reboot.

Loco,
       Morgengrauen PresseAgentur, technische Leitung.

-----------------------------------------------------------------------------



Fehlermeldung (Spatz, 31. Jan 1996, 22:37:46):
Hier ein Fehler, den man nachvollziehen kann:

Geh in eine x-beliebige Kneipe
zeilen 26
lies top-liste

Nach 4mal Return druecken laeuft was schief.

Magier, das ist eine Aufgabe fuer euch!

Der kleine Spatz

-----------------------------------------------------------------------------



Ein Danke. (Cuchullin,  1. Feb 1996, 00:45:36):


Dies ist kein Artikel, der ueber irgendetwas meckert,
er hat auch keinen besonderen Anlass.

Er soll nur mal ganz global 'Danke' sagen. Dank den Magiern, die immer wieder
einfach irgendwelche Bugs fixen. Oder features einbauen. Hat sich jemals einer
bei Loco bedankt, wenn er die Zeitung komfortabler machte? Oder bei dem, der
die tmhist in Ordnung brachte? Hat man eigentlich Boing schonmal Dank gezollt,
dafuer, dass er (was bestimmt nicht sein Aufgabenbereich ist) hinter
irgendwelchen kleinen Bugs hinterherrennt? Oder dem Sheriff, der seinen Ruf
("Cat ist echt ein A*, der hat mich schon verwarnt!") hinhaelt, damit
wenigstens halbwegs Chancengleichheit fuer alle Spieler moeglich ist...?
Nur mal so als Beispiele.

Magiersein ist zeitweise ein sehr undankbares Los.

Cuch.- (sagt mal Danke)


-----------------------------------------------------------------------------



Re: Ein Danke. (Gast1,  1. Feb 1996, 07:49:08):
~#! rn=Cuchullin rt=823131936
~#! tid=823131936
Au ja, danke von mir auch!
Magier sind toll und ... *schnupper* ... riechen gut.

Aus Ermangelung eines Verteilers an alle Magier halt hier.

-----------------------------------------------------------------------------



Auch ein Dank... (Gast4,  1. Feb 1996, 10:15:29):

Ja, das "Danke" musste mal deutlich gesagt werden. Besonders aber moechte ich
mich bei Grimmborn bedanken, der immer so nett, sympatisch und hilfsbereit
ist. Es gibt keinen besseren Magier als Ihn! Vor allem, da er keine bugs
verursacht, keine Spieler durch bloede Raeume oder ebensolche Monster aergert
und auch die Magier nicht durch unversttaendlichen Code nervt.

Ein ganz grosses Danke.

Gast4 der Atheist

-----------------------------------------------------------------------------



Re: Auch ein Dank... (Orktoeter,  1. Feb 1996, 10:38:29):
~#! rn=Gast4 rt=823166129
~#! tid=823166129
rotfl
Gast4 der Atheist....
*Bruell*
*lauf rot an*
TOD[Ein Lachanfall in verbindung mit Atemnot hat gerade Orktoeter umgebracht]

-----------------------------------------------------------------------------



Re: Re: Auch ein Dank... (Grimmborn,  1. Feb 1996, 10:39:28):
~#! rn=Orktoeter rt=823167509
~#! tid=823166129

Wenn dem so ist moechtte ich mich hiermit meinerseits ganz herzlich bei Gast4
bedanken...

Grinsend,
          Grimmborn der Atheist

-----------------------------------------------------------------------------



Finsternis ueberall.. (Zephyr,  1. Feb 1996, 11:05:13):
Hi Ihrs!

Gestern bin ich wiedereinmal blind im Ultrakurzmodus durch
die Gegend gelaufen, und irgendwie nervte das "Finsternis"
in jeder Zeile doch etwas. Sollte der UKM nicht dazu dienen,
das Gescrolle abzuschalten? Es waer klasse, wenn das geaendert
werden koennte und lieb, wenns auch jemand tun wuerde :)

Danke schon mal im Voraus, Zeph

-----------------------------------------------------------------------------



Re: Finsternis ueberall.. (Mupfel,  1. Feb 1996, 20:01:13):
~#! rn=Zephyr rt=823169113
~#! tid=823169113
werd mal sehn ob ich das hinkrieg... wenn ja kannst dus dir in einem anderen
mud mal ansehn :-)

-mupfel-

-----------------------------------------------------------------------------



Re^7: ignoriere (Roesti,  2. Feb 1996, 10:49:07):
~#! rn=Hate rt=822003249
~#! tid=821997700
By the way...
wer ignoriert eigentlich alles Winter?

roesti :)

-----------------------------------------------------------------------------



Re^9: ignoriere (Roesti,  2. Feb 1996, 11:50:34):
~#! rn=Zillus rt=822242472
~#! tid=821997700
Du willst nicht das der, die oder das Subjekt welches du ignorierst weis das
du es ignorierst weil du befuerchtest das es dich dann noch mehr aergert....
Hast du schon mal daran gedacht das es auch passieren koennte das sich dann
mal jemand entschuldicgt und aus seinen Fehlern lernt?
Wenn ich nur noch ignoriert werde und nicht weiss warum ist das ja nun auch
nicht unbedingt das beste...

Roesti ( fragt sich ob er von wem ignoriert wird und weshalb.)

-----------------------------------------------------------------------------



ideen (Nixi,  2. Feb 1996, 15:09:33):

mir sind da zwei sachen aufgefallen bei den befehlen "i" und "kwer".
ist es zB moeglich beim inventory eine weitere option einzufuehren,
so dass alle gegenstaende, die man beim "verkaufe alles" behaelt angezeigt
werden? (und warum werden autoloadgegenstaende nicht von vorneherein mit
dem behalte-zeichen versehen?)

bei dem "kwer" befehl fehlt mir eine option, mit der man die ausgewaehlten
namen alphabetisch auf den bildschirm bekommt.
dann muss man nach einem bestimmten namen nicht immer alles absuchen,
wenn man mal nicht den ganzen namen weiss oder so.

nixi, nur 2-3 ideen vortragend.

-----------------------------------------------------------------------------



Re: ideen (Yantro,  2. Feb 1996, 15:16:27):
~#! rn=Nixi rt=823270173
~#! tid=823270173
 Nixi, mach mal "kkwer" ;)


-----------------------------------------------------------------------------



Re: Re: ideen (Nixihou,  2. Feb 1996, 18:16:07):
~#! rn=Yantro rt=823270587
~#! tid=823270173
toll, yantro und wo ist dabei die info [s] [z] [S] [Z] [t] [T] [m] usw.??
ausserdem wird leider in der hilfe zu kwer nicht auf diese moeglichkeit
des kkwer verwiesen. woher soll man es also wissen?


-----------------------------------------------------------------------------



Hersteller von Rasensprenklern gesucht. (Ryne,  2. Feb 1996, 21:40:40):
Heya,

Kampfzwerge habens immer dreifach schwer. Wenngleich sich unsere Hirngroesse
umgekehrt proportional zur Aussenlaenge verhaelt, bleiben bestimmte Vorgaenge
uns einfach verschlossen.

Deshalb die Frage: Nach der neuen Regelung mit dem untersuche ich in der
Gilde mit 'unt uhr' immer nur meinen Wecker. Ist das so gedacht ? wenn ja:
faende ich nicht so guenstig, das wuerde beim questen sicherlich haeufig zu
Konflikten kommen, da man ja meist ne Menge Zeugs bei sich traegt - man
muesste dann immer zusaetzlich 'in raum' eingeben, was primaer laestig ist.
wenn nein: was mache ich falsch ?

Ein an der neuen Regelung verzweifelnder Kampfzwerg namens

Rzne.

-----------------------------------------------------------------------------



Re: ideen (Acrimon,  3. Feb 1996, 18:31:01):
~#! rn=Nixi rt=823270173
~#! tid=823270173
Bei der Gelegenheit kann man gleich nochmal die Optionen des i-Befehles
ueberdenken.
Es sind alle ok, bis auf eine: -o
Sie sollte -v genannt werden.
Gruende:
1. Auch alle anderen Optionen sind deutsch und nicht englisch
2. Wir sind hier in einem deutschen Mud
3. Es wird einheitlicher (in den Laeden heiszen die Sachen ja auch
_v_erschiedenes und nicht _o_ther)

Acrimon, der Rote Ritter will ein besseres MG.

-----------------------------------------------------------------------------



Re^3: Aufgeschnappt (Baron,  6. Feb 1996, 00:16:32):
~#! rn=Boing rt=822917905
~#! tid=822516678
Na und :)? Wenn man jede Idee nur in EINEM Mud zulassen wuerd gaebs eh
vermutlich bald nur noch ein oder zwei. Gut 'adoptiert' ist doch auch nicht
schlecht.
Red@wunderland verteidigt den Kollegen Gum :)

-----------------------------------------------------------------------------



Teleportieren (Fyt,  6. Feb 1996, 00:47:42):

Eh ich's vergesse: Danke fuer die Verbilligung des Teleportierens :)

Fyt.


-----------------------------------------------------------------------------



Einschaetzen von Monstern (Boing,  6. Feb 1996, 15:03:22):
Ich ueberarbeite gerade die Meldungen des schaetz-Spruches (Abenteurer-
Gilde), wundert euch also nicht, wenn sich einige Meldungen bei bekannten
Monstern aendern (die schaetzt wahrscheinlich eh keiner mehr ein).
Ich moechte darauf hinweisen, dass sich auch die Bereiche aendern, das
heisst z.b. dass ein Monster, was vorher haushoch ueberlegen war jetzt
eventuell nur noch sehr viel staerker ist. Das kann sich aber im Laufe
des Tages noch ein paar mal aendern.
  Boing

-----------------------------------------------------------------------------



Auch merci :) (Hardil,  6. Feb 1996, 15:51:08):

Wenn alle grad am Bauchpinseln sind, dann moechte ich auch mitmachen:
Merci dafuer, dass man beim Feuerball wieder sieht, wie hart man den Gegner
getroffen hat.

-Hardil. Abenteurer aus Passion.

-----------------------------------------------------------------------------



Neues Seher/Magierkriterium (Wargon,  8. Feb 1996, 13:04:23):
  Hi!
Was lange waehrt, wird endlich gut(?). ;)
Nachdem bei "punkte", "info" oder "score" schon angezeigt wird, wie gut man
sich im Mud auskennt, bekommt diese Anzeige nun auch eine praktische
Bedeutung.
Um nun Seher oder Magier werden zu koennen, muss man sich besser als der
Durchschnitt der Spieler im MorgenGrauen auskennen.
Dieses neue Kriterium gilt jedoch NICHT fuer alte Spieler!
Alte Spieler in diesem Sinne sind Spieler, bei denen das "finger"-Kommando
als Datum des ersten Login "vor dem 10. Nov 1995" anzeigt.

Und was muss ich tun, um mich besser auszukennen?
Nun, nichts besonderes, sondern einfach ganz normal weiterspielen. Die
Ortskenntnis erhoeht sich automatisch beim alltaeglichen Untersuchen von
Raeumen oder Gegenstaenden, Unterhalten mit NPCs, Besuchen von Raeumen usw.
usf.
Zweites und Komplettloesungsspieler sind damit allerdings etwas
benachteiligt. Selbst Schuld. ;)
  Wargon

-----------------------------------------------------------------------------



Re: Neues Seher/Magierkriterium (Asmodis,  8. Feb 1996, 13:09:59):
~#! rn=Wargon rt=823781063
~#! tid=823781063
Mist, dann muss ich wohl mein Seher-Komplettloesungs-Script umschreiben :)

-----------------------------------------------------------------------------



Mehr Informationsfluss (Bendeigid,  8. Feb 1996, 16:40:21):
Hallo zusammen!
Auf mehrfachen Wunsch schlage ich hier also vor, dass grade in Zeiten
haeufiger Crashs wenigstens eine kleine Notiz in der Zeitung erscheint.
Wahlweise koennte auch Armageddon, wie es Asmodis vorgeschlagen hat,
intelligenter gemacht werden und auf die Frage "was ist los" eine kurze Info
ueber den bevorstehenden Crash liefern. Es waere grade fuer die
Nicht-Muensteraner sehr hilfreich, wenn man wenigstens ungefaehr eine zeit
wuesste, wann das MG wieder up ist, denn oftmals lohnt sich das herumsitzen
nicht. Es muss ja nichts langes sein, und es geht auch nur um die "absehbaren"
reboots, nicht um die wirklichen "crashs".

Ich hoffe, damit auf ein offenes Ohr zu stossen, bei welchem EM auch immer.
Noch ein Dank an Cat, der eben fuer wenigstens ein bischen Durchsicht gesorgt
hat.

Z'par Servu,
           Bendeigid

-----------------------------------------------------------------------------



Re: Neues Seher/Magierkriterium (Wur,  8. Feb 1996, 20:29:29):
~#! rn=Wargon rt=823781063
~#! tid=823781063
Toll, wieso gerade der 10.11. 95? Da lieg ich wohl mit dem 13.11.95 etwas
unguenstig....grummel,schmoll

Wur

-----------------------------------------------------------------------------



Re: Re: Neues Seher/Magierkriterium (Wargon,  9. Feb 1996, 11:09:18):
~#! rn=Wur rt=823807769
~#! tid=823781063
Weil seit dem Datum (das war das Ende der Rekorduptime) das Merken des ersten
Logins richtig funktioniert. Und wie es der Zufall will, wurde zu dem
Zeitpunkt auch das System der Forscherpunkte eingebaut. ;)
  Wargon

-----------------------------------------------------------------------------



Re^3: Neues Seher/Magierkriterium (Grimmborn,  9. Feb 1996, 12:55:16):
~#! rn=Wargon rt=823860558
~#! tid=823781063

Ein Schelm, der Boeses dabei denkt, wenn er "Ende der Rekorduptime" und
"Einfuehrung der Forscherpunkte" in einem Satz hoert... ;-)

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re: Re: pegasus (Kobayashi,  9. Feb 1996, 19:13:49):
~#! rn=Roadrunner rt=822669547
~#! tid=822664200
Vielleicht ein wenig spaet, aber trotzdem:

Wie waere es, sich in den raeumen, wo pegasus landet, eine art schalter
befindet, wo am sich anmeldet und dann, wenn pegasus landet, automatisch
aufsteigt.

Kobayashi

-----------------------------------------------------------------------------



Re^3: pegasus (Mupfel,  9. Feb 1996, 22:27:01):
~#! rn=Kobayashi rt=823889629
~#! tid=822664200
Mit Warteschlange?

-mupfel-

-----------------------------------------------------------------------------



"Boing" reset (Inskipp, 10. Feb 1996, 14:14:55):
Hallo,

kann es sein, dass der beruechtigte 'boing'-reset
(bisher mehr oder weniger dummer zufall) tatsaechlich
eingebaut wurde, also dass bei jedem getoeteten
Monster eine best. chance besteht dass es sofort
nach dem Kill resettet wird ?

Der schwarze Inskipp.

-----------------------------------------------------------------------------



Re: "Boing" reset (Boing, 10. Feb 1996, 14:50:20):
~#! rn=Inskipp rt=823958095
~#! tid=823958095
Wer hat behauptet, dass es bisher ein dummer Zufall war? :)
  Boing

-----------------------------------------------------------------------------



Extended Kobold ? (Ulo, 10. Feb 1996, 17:15:09):
Kann man den Kobold so erweitern, dass er auch bei Kaempfen, wo es leicht
scrollt, sich merkt, was gesagt wurde?
Ulo (hat keine Zeit, den Code durchzuarbeiten, und selbst nachzusehen)

-----------------------------------------------------------------------------



Re^3: Neues Seher/Magierkriterium (Wur, 11. Feb 1996, 03:43:16):
~#! rn=Wargon rt=823860558
~#! tid=823781063
Hm, ist das toll!

:leidet sich fast zu tode.

Wur

-----------------------------------------------------------------------------



Sheriff im MG (Yantro, 12. Feb 1996, 08:55:50):

Hallo meine liebsten SpielerInnen,

ich hab mir mal ein bisschen Gedanken ueber Demokratie im MG gemacht und bin
immer noch der Meinung, dass es diese leider im ganzen nicht geben kann und
auch nicht geben wird. Aber man kann viele Kleinigkeiten aendern und damit
vielleicht einen kleinen Schritt in diese Richtung tun.

So ist zb auffallend, dass die Position der Sheriffs im MG von einem EM
bekleidet wird, was in soweit ja ok ist (u.a. wegen der Schreibrechte). Wie
aber wird man Sheriff im MG? Es scheint, dass es da mehrere
Grundvoraussetzungen gibt, die ich aber lieber nicht hier veroeffentlichen
will, denn das wuerde sicher unter die Guertellinie gehen....


Ich bin deshalb fuer eine Aenderung. Meiner Meinung nach ist die Position des
Sheriffs eine, zu der die Spieler vertrauen haben MUESSEN und deshalb bin ich
der Meinung, dass auch die Spieler bestimmen sollten, wer den Job macht. Damit
meine ich, dass wir in Abstaenden von sagen wir mal einem halben Jahr den
Sheriff von den Spielern waehlen lassen sollten...

Was meint ihr dazu?

                       Yantro, sicher kein Kandidat.

-----------------------------------------------------------------------------



Re: Sheriff im MG (Catweazle, 12. Feb 1996, 11:00:32):
~#! rn=Yantro rt=824111750
~#! tid=824111750
Heyhey :)
Was ist los, Yantro. Willst Du mich absetzen? :)
Also ich denke die Idee ist ganz nett und auch irre demokratisch, aber
wie willst Du das machen? Ein Sheriffsposten setzt vorraus, das Du auf
der Mudlib rumschreibern kannst. Also ein Erzmagierposten. Hm.
Wen wuerdest Du denn da mal 'draufwaehlen' lassen. Jeden Magier? Oder
nur die Regionsmagier? Ist ja auch schon wieder eingeschraenkt, oder nicht?
Ich glaube eine Stelle zum Erzmagier erfordert einige Anfoderungen. Man muss
genug Zeit ins Mud stecken wollen, man sollte ausreichend verantwortungs-
bewusstsein haben. Vor allem muessen die restlichen Erzmagier ein gewisses
Vertrauen zum jeweiligen Sheriff haben. Nein nein, ich glaube demokratisch
laeuft das nicht.
Und wie willst Du die Wahlen veranstalten? Mit Vorlaufzeit? Wird dann der
gewaehlt, der am meisten Zusagen macht? 'Ich schaffe die PKs ab!' ?
Klingt alles schwer realisierbar. Ausserdem lass ich mich ungern abwaehlen :)
Yours truly,
         Catweazle (immer lieb und nett)

-----------------------------------------------------------------------------



Re: Sheriff im MG (Gundur, 12. Feb 1996, 11:37:56):
~#! rn=Yantro rt=824111750
~#! tid=824111750
Abgelehnt! Kurz und Knapp! Cat* ist zwar doof (*grins*) aber ein toller
Scheriff !!
Gruss
Gundur
ps: Demokratie? was ist das? :-)

-----------------------------------------------------------------------------



Re: Re: Sheriff im MG (Anatol, 12. Feb 1996, 12:17:01):
~#! rn=Gundur rt=824121476
~#! tid=824111750


/*
Ich denke, die Idee ist nicht umsetzbar.
Ein Sheriff kommt gelegentlich auch in die Verlegenheit, einem Magier in den
Hintern treten zu muessen. Und wenn _ich_ Magier waere, wuerde ich nicht jeden
von Spieler zum Aufpasser gewaehlten Magier akzeptieren koennen, da Spieler
nur begrenzt ueber die Faehigkeiten eines Magiers Bescheid wissen / Bescheid
wissen koennen.
Auch deshalb kaeme dann - wenn - nur ein Erzmagier in Frage (right said Cat).
Ueber die Qualifikation eines Sheriffs muessen wohl oder uebel die Goetter
und Erzmagier selbst und alleine entscheiden.
*/

Anatol


-----------------------------------------------------------------------------



Re: Re: Sheriff im MG (Amazora, 12. Feb 1996, 12:18:41):
~#! rn=Catweazle rt=824119232
~#! tid=824111750
Zum Sheriffposten eigne eh nur ich mich. Also, waehlt MICH!

Amazora meint das jetzt VOELLIG ernst

-----------------------------------------------------------------------------



Re^3: Sheriff im MG (Grimmborn, 12. Feb 1996, 13:47:37):
~#! rn=Amazora rt=824123921
~#! tid=824111750

Also, ich find die Idee im Prinzip nicht schlecht. Koennte man so machen,
dass man den Sheriff aus den (sich dafuer zur Verfuegung stellenden) EM
waehlt, da gibts keine Probleme mit dem level-Proporz.
Scheitert natuerlich am Wahlmodus: Wie wird gewaehlt? Wer darf waehlen? Was
ist mit Zweities? usw...

Ach ja, Gundur, Du verwechselst was: Cat* ist toll, aber ein doofer
Sheriff... *grins*

Grimmborn der Atheist. Denkbar schlechtester Sheriff.

-----------------------------------------------------------------------------



Re^4: Sheriff im MG (Asmodis, 12. Feb 1996, 14:52:43):
~#! rn=Grimmborn rt=824129257
~#! tid=824111750
Hmm, wieso waehlt man nicht unter allen Magiern und macht diesen dann zum EM
? :)

-----------------------------------------------------------------------------



Re^5: Sheriff im MG (Hate, 12. Feb 1996, 16:34:34):
~#! rn=Asmodis rt=824133163
~#! tid=824111750
Weil mindestens ICH, dem nicht zustimmen wuerde.
Dazu hab ich hier zu den wenigsten Vertrauen. Es fummeln so schon genug
an allem rum.
Hate.

-----------------------------------------------------------------------------



Re: Sheriff im MG (Fyt, 12. Feb 1996, 17:01:08):
~#! rn=Yantro rt=824111750
~#! tid=824111750

Waere 'n Versuch wert, obwohl ich mit Cat* soooooo unzufrieden
nun auch wieder  nicht bin... immerhin, weiss man was man hat.

Guten Abend.

Fyt.

-----------------------------------------------------------------------------



kanalemotes (Fyt, 12. Feb 1996, 17:16:02):

Wie waere es, wenn man die Kanalemotes etwas flexinbler gestalten
wuerde... ich hab mittlerweile ne Handvoll alis namens 'agrins', 'aseufz',
'adenk', 'bgrins'... usw. is eigentlich unnoetiger Ballast in den
Savefiles, oder?

Fyt.

-----------------------------------------------------------------------------



Re: kanalemotes (Boing, 12. Feb 1996, 17:17:20):
~#! rn=Fyt rt=824141762
~#! tid=824141762
Eine Moeglichkeit alle Seelenkommandos auf den Kanaelen zu verwenden
waere nicht schlecht, allerdings muesste man da wohl alles loeschen
und neuschreiben ... oder kann Meister Highlander mich eines besseren
belehren? :)
  Boing

-----------------------------------------------------------------------------



Re^4: Sheriff im MG (Taenzer, 12. Feb 1996, 19:00:53):
~#! rn=Grimmborn rt=824129257
~#! tid=824111750
Auja , wieder Wahlen! Dann machen wir LHOswald in einer Nacht zum Magier, und
dann.... :-)


Wird bestimmt auch ein toller Wahlkampf! 'Hallo, waehlt mich! Ihr  duerft be
mir soviel PKs machen, wie ihr wollt!' oder 'Hoert nicht auf ihn! Waehlt
mich,
dann schaffe ich das Scriptverbot wieder ab!'

Taenzer (waehlt auch immer seine Bullen ....)

Zynismus over.



-----------------------------------------------------------------------------



Re: Re: "Boing" reset (Mupfel, 13. Feb 1996, 00:19:44):
~#! rn=Boing rt=823960220
~#! tid=823958095
Ich sage nur 'REFRESH_BOING'. Steht irgendwo in der MorgenGrauen-Magierdoku
(oder so :-)

-mupfel-

-----------------------------------------------------------------------------



Re: Re: Sheriff im MG (Mupfel, 13. Feb 1996, 00:24:56):
~#! rn=Catweazle rt=824119232
~#! tid=824111750
>Klingt alles schwer realisierbar. Ausserdem lass ich mich ungern abwaehlen
:)

klar, wer Dich abwaehlt, kann sein Savefile vergessen :-)

mupfel-

-----------------------------------------------------------------------------



Re^3: Sheriff im MG (Mupfel, 13. Feb 1996, 00:28:47):
~#! rn=Amazora rt=824123921
~#! tid=824111750
na ich meine cat* ist da schon ganz richtig (zumindest wuesste ich unter den
erzen keinen, der 'richtiger' waer.... hmm.... vielleicht noch hate... aber
der hat ja nicht soviel zeit fuer sowas...)

-mupfel-

-----------------------------------------------------------------------------



Re^4: Sheriff im MG (Catweazle, 13. Feb 1996, 14:02:53):
~#! rn=Mupfel rt=824167727
~#! tid=824111750
Das ist aber ein rein subjektiver Eindruck, Mupfel. Ich bin wohl auch
nur deswegen der richtige, weil ich das hauptberuflich dauernd mache :)
Stell Dir mal vor ich waere Erzmagier..sagen wir fuer Unterhaltung oder
sowas. Waer ich dann immer noch der richtige?
YTC :)

-----------------------------------------------------------------------------



Re: Sheriff im MG (Mccoy, 13. Feb 1996, 17:54:51):
~#! rn=Yantro rt=824111750
~#! tid=824111750
hmm Ich habe noch nicht geschaut, wieviel Antworten noch zu Yantros Artikel
kamen, aber ich moechte gerne mal wissen, was der Artikel denn sollte?

Was genau hast du denn an Catweazles Arbeit auszusetzen, also ich finde
eigentlich, dass er ein guter Sheriff ist (jaja, ich weiss Schleimer!), und
der Job ziemlich undankbar ist. Also ich moechte den nicht haben. Und wenns
keine Demokratie gibt, wie kommst Du darauf, dass wir einen Sheriff waehlen
sollten?

So, was ich sagen will wird sicher nicht deutlich, aber was solls, mein
Erstie und ich sind eh doof
Tschau McCoy - ist gegen die Wahl!

-----------------------------------------------------------------------------



Re^5: Sheriff im MG (Mupfel, 13. Feb 1996, 23:00:38):
~#! rn=Catweazle rt=824216573
~#! tid=824111750
hm... EM fuer entertainment ist ja wohl Jof (man erinnere sich an die nummer
mit dem butterfly...)

-mupfel-

-----------------------------------------------------------------------------



Re^4: Sheriff im MG (Jof, 16. Feb 1996, 12:42:07):
~#! rn=Grimmborn rt=824129257
~#! tid=824111750
 Catweazle IST demokratisch gewaehlt: Die Mehrheit der befragten Goetter und
Erzmagier war dafuer. Gewaehlt wird uebrigens mit einfacher Mehrheit.

 Jof

-----------------------------------------------------------------------------



Re^5: Sheriff im MG (Freund, 16. Feb 1996, 13:46:27):
~#! rn=Jof rt=824470927
~#! tid=824111750
...und als Vorgaenger habe ich ihn vorgeschlagen... :-)
...und vich wurde von Olpp vorgeschlagen...
...und Olpp wurde von Boing vorgeschlagen...

Freund, in Erinnerung schwelgend, als ein Sheriff noch aus Langeweile neue
Raeume geschrieben hat.

-----------------------------------------------------------------------------



Re^6: Sheriff im MG (Freund, 16. Feb 1996, 13:52:00):
~#! rn=Freund rt=824474787
~#! tid=824111750
Achja, noch was, natuerlich wurde ich damals nicht nur vorgeschlagen,
sondern auch mit der unheimlichen Waehlmaschine demokratisch
GEWAEHLT! :)

Nur um Missverstaendnissen vorzubeugen... Freund.

-----------------------------------------------------------------------------



Re^7: Sheriff im MG (Boing, 16. Feb 1996, 18:50:41):
~#! rn=Freund rt=824475120
~#! tid=824111750
Wenn auch die Absprachen im Vorfeld weniger demokratisch waren ... ;)
  Boing

-----------------------------------------------------------------------------



Re^8: Sheriff im MG (Murkes, 16. Feb 1996, 23:22:33):
~#! rn=Boing rt=824493041
~#! tid=824111750
Sheriff demokratisch waehlen? Wo kommen wir denn da hin?
Demnaechst fordert noch jemand wegen der Religionsfreiheit die freie Wahl der
Goetter!

Musste jetzt mal sein
Murkes

-----------------------------------------------------------------------------



Re^5: Sheriff im MG (Schrumpfi, 17. Feb 1996, 14:11:07):
~#! rn=Jof rt=824470927
~#! tid=824111750
Also ich hab ihn nicht gewaehlt! Seht ihr wie sie uns unterdruecken? Sheriff,
pah! ;-)

Schrumpfi von der Anarcho-Syndikalistischen Befreiungsfront

-----------------------------------------------------------------------------



Re: Sheriff im MG (Gwynwaiter, 19. Feb 1996, 20:17:23):
~#! rn=Yantro rt=824111750
~#! tid=824111750
Also...

Ich bin ja auch fuer Demokratie... auch im MG... aber: Es muss der Sheriff
jemand sein, dem auch die Magier (und MUD-Goetter) vertrauen. Und das heisst
auch: Jemand, der nicht fuer sich persoenlich (Du selbst sprichst die
Zugriffsrechte an) Vorteile daraus ziehen kann - also kein Spieler.
   Dann muss es jemand sein, der im Programm UND im MUD firm ist - also auch
jemand, der erkennen kann, ob ein "Programmfehler" vielleicht ein
Spielerfehler ist.
   Und das schliesst auch halbjaehrliche Wahlen aus, weil jemand lang genug
dabei, und lang genug im Amt, sein sollte, um es richtig ausueben zu koennen.
Deshalb stimme ich fuer Cat* (den ich nicht persoenlich kenne, und nein, ich
komme auch nicht aus Muenster, ich bin da noch nichtmal auf Besuch gewesen).
   Vorstellen koennte ich mir eine jaehrliche Wahl (wenn eine Wahl
gewuenscht sein sollte), und die EMs oder Magier sollten die Moeglichkeit
haben, einen Kandidaten, mit dem sie Probleme haben, OHNE FLAMEWAR in der MPA
und VOR der Wahl abzulehnen.
   Und da es dann ohne Flamewar wahrscheinlich nicht abgeht, koennen wir die
MPA doch auch schonen und das ganze lassen, oder?

Vorstellen koennte ich mir allerdings einen "Anwalt der Spieler", der OHNE
Zugriffsrechte aufs Programm Beschwerden prueft und dann EINVERNEHMLICH mit
dem Sheriff (jeder hat eine Stimme) entscheidet. Umgekehrt koennte der
Spieler, der sich vom Sheriff ungerecht behandelt fuehlt, sich an den Anwalt
der Spieler wenden, der jaehrlich oder halbjaehrlich unter den Spielern und
Sehern gewaehlt wird.
So haben wir es auf Myra geregelt, und das funktioniert ganz gut seit Jahren.

Just my not-so-humble opinion,

Gwyn*, NNN!

-----------------------------------------------------------------------------



Re^5: Sheriff im MG (Gwynwaiter, 19. Feb 1996, 22:19:28):
~#! rn=Jof rt=824470927
~#! tid=824111750
Lieber Jof (oder wie beginnt man Gebete hier?)

Uber das "demokratisch" liesse sich trefflich streiten - aber das will ich ja
gar nicht. Nur Deine Formulierung laesst Zweiflern zuviele Fragen offen.

- Warum wurden nicht auch Magier befragt? Ausschluss von passiven muss ja
nicht Ausschluss vom Aktiven Wahlrecht heissen!

- Wenn Du schreibst "die Mehrheit der befragten" klingt das 1. nicht nach der
Mehrheit der derzeitigen und 2. nicht so, als seien alle gefragt worden.

- Bei einem so wesentlichen Amt sollte eine qualifizierte Mehrheit her, wenn
nicht 2/3. Ich persoenlich wuerde auch den EMs und Goettern ein Vetorecht
gegen einzelne Kandidaturen geben (hatte ich ja schon geschrieben).

Aber um diese Fragen auszuraeumen, muesstet Ihr ihn doch einfach mal mit
(sicherlich) deutlicher Mehrheit wiederwaehlen.

Meine Stimme habt Ihr. ;-)

Yours, Gwyn*  NNN!

-----------------------------------------------------------------------------



Re^6: Sheriff im MG (Asmodis, 19. Feb 1996, 22:22:21):
~#! rn=Gwynwaiter rt=824764768
~#! tid=824111750
Ich finde auch, dass Cat* seine Sache recht gut macht, wie er in
MG durchgreift ist schon eindrucksvoll.

-----------------------------------------------------------------------------



Kleinere Anregungen (Marita, 20. Feb 1996, 06:49:37):
Hi,
(jaja, bin wieder da, weil ein Gast mir berichtet hat, dass die
Spielverderber allmaehlich auswandern)
Nur ein paar Kleinigkeiten:

1) Ein sich einloggender Gast sollte sowas angezeigt bekommen wie:
Du bist jetzt Gast3.
Wir als Spieler mit etwas Erfahrung koennen das zwar schnell rauskriegen, wie
wir heissen, wenn wir testweise einen Gast einloggen, aber ein "echter"
reinschnuppernder Gast kann das nicht unbedingt sofort.

2) Die Uptime sollte per Befehl in jedem Raum abfragbar sein. Meine Anregung
'ali uptime wer morgengrauen' funktioniert zwar auch, liefert aber
zusaetzlichen Ballast auf den Schirm (was wohl hinnehmbar waere), erzeugt
aber leider auch zusaetzliche vermeidbare Netzlast.

3) 'teile . mit ...' geht bei mir immer noch nicht. (Nein, bitte keine
Replies wie 'Bei mir geht das aber' - das weiss ich auch, meine beiden
Zweitis haben auch keine Probleme damit, nur ich selbst...)

Hab ich irgendwas ganz Dummes uebersehen? Lasst es mich wissen - ansonsten
lassen sich die Sachen doch bestimmt nicht sooooo schwierig einbauen,
oder? :-)

Marita

-----------------------------------------------------------------------------



Re: Kleinere Anregungen (Fyt, 20. Feb 1996, 14:14:26):
~#! rn=Marita rt=824795377
~#! tid=824795377

Nett, dass diejenigen Leute, die die einzige 'legale' Form des
Protestes, die ihnen bleibt, naemlich die 'Abwanderung', nutzen,
als 'Spielverderber' bezeichnet werden.

Weiter so, Marita.

Fyt.

-----------------------------------------------------------------------------



Re: Re: Kleinere Anregungen (Catweazle, 20. Feb 1996, 14:24:24):
~#! rn=Fyt rt=824822066
~#! tid=824795377
Hi!
'Legale' Formen des Protestes gibt es viele. Auch threads in der Zeitung.
Ich muesste lange ueberlegen, bis mir eine 'illegale' Form einfaellt :)
Yours truly,
   Catweazle (nimm an, das Fyt sich im Wort vertan hat :-)

-----------------------------------------------------------------------------



Re^3: Kleinere Anregungen (Fyt, 20. Feb 1996, 14:41:47):
~#! rn=Catweazle rt=824822664
~#! tid=824795377

*seufz* hm... gut, war vielleicht das falsche Wort :)
Mir faellt aber bestimmt was illegales ein (100 Nties mit
ZT-Suchscript durch's Mud und dann auf ein Monster hetzen
macht bestimmt schoenes Lag und duerfte illegal sein,
Komplettloesungen weroeffentlichen duerfte auch irgendwie
illegal sein, denk ich mal, zumindest nach den Mudregeln ).

Egal, Fakt ist, dass auch die konstruktiv gemeinten Vorschlaege
vor und nach dem Script-Verbot ohne Resonanz verhallt sind, und
ich das auesserst bedauerlich finde.

Sicher interessiert das nicht allzuviele, aber da nach Cat*
Threads in der MPA durchaus legal sind, werd ich das Thema
wohl regelmaessig aufwaermen :) Per Hand, ohne Script.

Fyt.

PS: ceterum censeo...  hat damals auch geholfen :)

-----------------------------------------------------------------------------



Re^4: Kleinere Anregungen (Bendeigid, 20. Feb 1996, 14:44:51):
~#! rn=Fyt rt=824823707
~#! tid=824795377
Sicher hat das "ceterum censeo" geholfen. es war nur politisch annaehernd das
duemmste, was sie tun konnten. Verbohrtheit nennt man sowas...

Bendeigid, wollte das nur mal so hinstellen.

-----------------------------------------------------------------------------



Re^4: Kleinere Anregungen (Catweazle, 20. Feb 1996, 14:48:37):
~#! rn=Fyt rt=824823707
~#! tid=824795377

Ich kann Dir nicht zustimmen, Fyt. Ich glaube nicht, das _konstruktive_
Vorschlaege verhallt sind. Ich wage auch zu bezweifeln das sich im Mud
nicht jedesmal irgendwer findet, der konstruktives einbaut. Vielleicht
bist Du einfach nur zu ungeduldig, Fyt :)
Catweazle

-----------------------------------------------------------------------------



Re^4: Kleinere Anregungen (Loco, 20. Feb 1996, 14:53:37):
~#! rn=Fyt rt=824823707
~#! tid=824795377
Und das hat schon dazu gefuehrt, dass ein hoeherer Magier mich gestern
fragte, ob man denn nicht Moderation fuer einzelne Rubriken in der mpa
einfuehren koenne. Um es klar zu sagen: Von mir wird es eine Unterstuetzung
moderierter Gruppen _nicht_ geben. Bitte keinen Sturm der Entruestung in der
mpa jetzt, meiner Meinung ist das Thema vom Tisch.
Ich wollte damit nur sagen, dass anscheinend mindestens einer Person (deren
Namen ich absichtlich nicht nenne) die mpa-threads auch schon ein Dorn im Auge
sind und er gerne Kontrolle darueber haben wuerde.

Genauso, wie ich davon nichts halte, moechte ich aber bei der Gelegenheit den
Aufruf erneuern, jeden Artikel erst nochmal durchzulesen und dann evtl doch
nicht zu posten - gerade die Endlos-Polemik-Threads der letzten Zeit haben
gezeigt, dass zu viele erst posten und dann denken.

Reisst euch zusammen!

Nur noch meine 50 Oere, durchaus erschrocken darueber, dass Beschraenkungen
schon erwogen werden

        Loco

-----------------------------------------------------------------------------



Re: Re: Kleinere Anregungen (Boing, 20. Feb 1996, 17:41:49):
~#! rn=Fyt rt=824822066
~#! tid=824795377
Das hat Marita so nicht gesagt ... Vor einiger Zeit hatte sie mal
klargemacht, was sie unter Spielverderbern versteht, und diese Leute
scheinen (ihrer Aussage nach) langsam abzuwandern. Sie hat NICHT gesagt,
dass Leute die abwandern Spielverderber sind.
  Boing

PS: Marita, korrigier mich, wenn ich Dich doch falsch verstanden habe

-----------------------------------------------------------------------------



Re^5: Kleinere Anregungen (Guybrush, 20. Feb 1996, 18:24:06):
~#! rn=Bendeigid rt=824823891
~#! tid=824795377
Echt vermessen Ben*dingenskirchen
Wie willst Du beurteilen, was damals falsch und richtig war?
Immerhin haben die es geschafft die halbe damals bekannte Welt zu erobern
(auch wenn ich das nicht fuer ne unbedingt zu vollbringende Tat halte) und ja,
sogar Koeln stammt von denen.
Also ob man das Verbohrtheit nennt, oder solche Aeusserungen wie Deine
Uberheblichkeit, das bleibt wohl jedem selbst ueberlassen.

Guybrush stellt sich dem in den Weg.

-----------------------------------------------------------------------------



Re: Re: Kleinere Anregungen (Abendrot, 20. Feb 1996, 19:27:33):
~#! rn=Fyt rt=824822066
~#! tid=824795377
Ich glaub dir nicht, dass du das nett findest, Fyt.

Oder vielleicht doch?

AbendRot sieht in Fyt einen Luegner.

-----------------------------------------------------------------------------



Re^3: Kleinere Anregungen (Marita, 23. Feb 1996, 00:30:58):
~#! rn=Boing rt=824834509
~#! tid=824795377
Genau so ist es, Boing.
Ich hab die ersten 2 Zeilen meines Artikels nochmal gelesen, und mir ist
immer noch schleierhaft, wie man daraus anstelle von "Spielverderber wandern
aus => gut" so etwas wie "Auswanderer => Spielverderber" lesen kann... isja
auch egal - ich wollte nicht nachtreten, sondern erklaeren, warum ich ent-
gegen meiner Ankuendigung doch schon VOR Bielefeld wieder da bin, sonst sagt
noch einer "ach, was marita ankuendigt, ist eh nix wert". Aber dass diese 1
1/2 Zeilen
so viel Staub aufwirbeln... vergesst sie, und fertig.

Neinnein, ich verweise nochmal auf den eigentlichen Body des Artikels mit
den 'Kleineren Anregungen', die ja auch als Titel genannt sind.
(solange dazwischen nix geloescht wird: Dieser Artikel minus 10)

Bis heut abend im Hotel ;-)
Maridda

-----------------------------------------------------------------------------



Inventory (Laila, 23. Feb 1996, 15:37:18):
Hallo,
ich habe mal beim inventory-Befehl die option : alphabetisch anzeigen
benutzt.
Nur hat die ja leider wenig wenn ueberhaupt keine Auswirkung, wenn praktisch
jedes Item mit Ein... oder Eine ... anfaengt.
Zum Bleistift : Ein Langschwert
                Eine abgehackte Hand
Im Prinzip koennte man die Funktion rausnehmen oder ein Mag
macht sich mal die Muehe und proggt das Inventory so,
dass die alphabetische Anzeige Sinn macht.

Bye Laila

-----------------------------------------------------------------------------



Re^6: Sheriff im MG (Jof, 26. Feb 1996, 08:51:48):
~#! rn=Gwynwaiter rt=824764768
~#! tid=824111750

 Lieber Gwyn* :)

 - dieser Artikel war durchaus nicht ernst, sondern ironisch gemeint
 - die Wahl des Sheriffs erfolgt durchaus nicht demokratisch, sondern der
wird,
  wie alle Erzmagier, von den anderen Erzmagiern "berufen". Das ist meiner
  Ansicht nach naemlich demokratisch nicht vernuenftig zu regeln :(

 Jof

-----------------------------------------------------------------------------



Re: Re: kanalemotes (Snuggle, 26. Feb 1996, 12:59:44):
~#! rn=Boing rt=824141840
~#! tid=824141762
Fyt,
was spricht gegen ali kgrins -&1:grinst was weiss ich wie

Dann sollte kgrins kanalbuchstabe dir weinigstens ein paar alis ersparen..

YT SNuggle

-----------------------------------------------------------------------------



Robin u.a. (Snuggle, 26. Feb 1996, 13:33:33):
Hi Ihrs,

mal wieder wurde eines der Monster (jaja, NSCs) dieses Muds, die ohnehin
schon zu den heftigsten ueberhaupt gehoerten, um etliches haerter gemacht.
Offenbar waren einige Magier (oder ein Magier) der Ansicht, er sei
in letzter Zeit zu oft ums Leben gekommen.

Dieser NSC (schon gut, es handelt sich um Robin) ist jetzt gegen Sprueche
fast (oder voellig?) immun. Artillerie tut ihm nichts oder richtet sich
sogar gegen den Anwender.

Sprich, es ist fuer Nicht-Karateka nahezu unmoeglich ihn zu toeten.
Karateka hingegen, die auf Sprueche nicht angewiesen sind, sondern deren
Feuerbaelle die 'normalen' Schlaege sind, haben nur relativ wenig Einbussen
zu fuerchten.

Ich will jetzt weder die Karategilde abschaffen, noch die Forderung stellen,
die Aenderungen rueckgaengig zu machen, aber diese gehen IMHO in die
falsche Richtung. Gerade Robin war einer der NSCs, der am haeufigsten von
Gruppen gemetzelt wurde, (eh jetzt wieder Replys kommen, dass dies ja ein MUD
sei und man sich doch zusammentun solle, da viele Monster nicht gedacht seien,
allein getoetet zu werden) ich habe auch schon Gruppen von 8 Leuten oder so
(zugegeben ohne namhafte Seher) an ihm scheitern sehen. Einzig und allein
Karateka waren in der Lage, ihn allein und dabei noch relativ haeufig zu
toeten und insbesondere war es wohl ein solcher, der die Ursache fuer
Robins Tode in der letzten Zeit war.

Was ich aber mal in die Diskussion werfen moechte, ist ob die gemachten
Aenderungen nicht am eigentlichen Problem vorbei gehen.

YTSnuggle

PS Amazora for Sherrif :-)

-----------------------------------------------------------------------------



Re: Robin u.a. (Asmodis, 26. Feb 1996, 13:54:18):
~#! rn=Snuggle rt=825338013
~#! tid=825338013
Dass Robin gegen Feuerball und so fast immun ist, das ist nix neues,
macht er schon seit bestimmt einem halben Jahr :(
)

-----------------------------------------------------------------------------



Re^5: Sheriff im MG (Lhoswald, 26. Feb 1996, 14:06:35):
~#! rn=Taenzer rt=824148053
~#! tid=824111750
Au ja!!!

Hiermit melde ich meine Kanditatur an!

L.H.Oswald

-----------------------------------------------------------------------------



Re^6: Sheriff im MG (Abendrot, 26. Feb 1996, 15:23:39):
~#! rn=Lhoswald rt=825339995
~#! tid=824111750
Lektion Nr. 1: Ein Sheriff  musz rechtschreiben koennen.
Wenn, dann meldest Du Dich zur Kandidatur an! (nicht Kanditatur, (Kandis?))

AbendRot

-----------------------------------------------------------------------------



Verein (Gast2, 26. Feb 1996, 17:19:22):
Hiho!

Also, mir ist da beim Anschauen vom Vereinsbuero (**lob**), speziell der
Mitgliederliste, so eine Idee gekommen: Waere es eine Moeglichkeit,
bei den Spielern, die Mitglieder im MG-Verein sind, eine entsprechende
Info einzuhaengen, die dann beim Fingern mit angezeigt wird?
So nach dem Motto: "Wrzlbrmbfd ist Mitglied im Foerderverein Projekt
MorgenGrauen e.V.", oder so was in der Richtung?


Nur so eine von meinen dummen Ideen,

Massa Gast2


-----------------------------------------------------------------------------



Re: Verein (Hate, 26. Feb 1996, 20:17:10):
~#! rn=Gast2 rt=825351562
~#! tid=825351562
Ich bin ja immer noch dafuer, ausgehende Mail, sowie Einhaenger der URL
in die WWW Seite von einer Mitgleidschaft im verein abhaengig zu machen.
Hate.

-----------------------------------------------------------------------------



Re: Re: Verein (Anatol, 26. Feb 1996, 20:20:32):
~#! rn=Hate rt=825362230
~#! tid=825351562


/*
Hm, bin ich nicht so dafuer. Immerhin ist dies hier ein Spiel ohne Gebuehr,
und sobald Du gewisse Dinge von der (kostenpflichtigen) Mitgliedschaft im
Verein abhaengig machst, fuehrst Du genau so etwas wie eine Gebuehr ein.
Verein ist freiwillig.
*/

Anatol - im Verein


-----------------------------------------------------------------------------



Re^3: Verein (Hate, 27. Feb 1996, 09:33:33):
~#! rn=Anatol rt=825362432
~#! tid=825351562
Tja, Du siehst folgenden Punkt nicht:
   Mail ist kein Service, der als Normal angenommen werden kann, da er
   Traffic nicht nur zwischen Dir und dem MUD erzeugt.
   Weiterhin ist Mail potentiell ein Problem, wenn jemand meint sinnlose
   oder belaestigende Briefe an irgendwelche Leute zu schicken.
   Die Mitgliedschaft ist da nur Mittel zur Kontrolle, damit man einen
   Namen hat, falls etwas passiert.
   Und wie aus dem ersten Punkt zu ersehen ist, gehoert externe Mail zu
   den Luxusangeboten und kann nicht als Standardangebot hingenommen werden,
   auch wenn es jetzt so scheint.

Hate.

-----------------------------------------------------------------------------



Re^4: Verein (Loco, 27. Feb 1996, 11:40:23):
~#! rn=Hate rt=825410013
~#! tid=825351562
Und wenn Du sie sperrst, kann man an alle diejenigen keine Mail mehr
schreiben, die die hiesige Platte und das hiesige Netz etwas entlasten wollen,
indem sie sich ihre Mail nach draussen weiterleiten lassen. Na klasse...

Nur mal eben technisch weitergedacht hat

    Loco

-----------------------------------------------------------------------------



Re^5: Verein (Hate, 27. Feb 1996, 15:07:18):
~#! rn=Loco rt=825417623
~#! tid=825351562
Das sehe ich weniger als Problem an, denn man kann durchaus eine Begrenzung
in der Menge der Mail machen, die gehalten werden kann. Wer es nicht packt
seine Mailbox zu loeschen, hat halt irgendwann ein problem. In Praxis
funktioniert quota doch recht gut.
Hate.

-----------------------------------------------------------------------------



Re^6: Verein (Loco, 28. Feb 1996, 14:40:49):
~#! rn=Hate rt=825430038
~#! tid=825351562
Darum geht es doch gerade: Dadurch, dass wir Mail nach aussen ermoeglichen,
wird die Menge der mail im Mud stark reduziert - und genau das, was Du
erreichen willst, wird ohne unnoetige und nervige Repressalien erreicht!
Nebenbei: Wenn Du mal den nettraffic wirklich aufs byte durchrechnest, wirst
Du feststellen, dass im Gesamtsystem Schreiben - Transportieren - Speichern -
Lesen (evtl mehrfach) die Menge der transportierten Daten bei mail nach aussen
niedriger liegt als bei mail innerhalb des Muds. Wobei das alles nur einen
verschwindend geringen Anteil ausmachen duerfte.
Insgesamt gewinne ich leider den Eindruck, dass es Dir nur darum geht,
Nicht-Vereinsmitgliedern das Leben hier schwer zu machen, um die Leute in den
Verein zu zwingen. Bist Du Dir sicher, dass solche Schuesse nicht nach hinten
losgehen?

Mit einem *Geht-das-schon-wieder-los* - Seufzer,

      Loco

-----------------------------------------------------------------------------



wie waers mal mit was ganz neuem (Dolph, 28. Feb 1996, 19:30:31):
Hi an alle die von mir schon geknuddelt wurden und auch noch weiter
geknuddelt werden wollen.

Aber mal ehrlich ist es nicht langsam langweilig sich nur ueber die harmlosen
und
sehr liebevollen Knuddelmaussprueche zu erheitern. Sie sind aj Ok und das
soll keine
Kritik an die Knuddelmaus sein aber waere es nicht mal an der Zeit ein Objekt
wie z.B.
eine Chaosmaus oder Ratte egal wie wir sie bezeichnen wollen zu Proggen,
welche auch die eher
unangenehmen Betitulierungen gegenueber seinen Freunden enthalten kann.

Die Idee kam mir, sowie auch einigen anderen Spieler als auch Sehern gestern
Abend bei einem
kleinem Bier, als wir auf einmal der Ansicht waren Scherzhaft jemanden
mitzuteilen:
'ein Glueck fuer dich das es nicht rtritt gibt' oder
teile Dolph mit 'Ich strecke dir aus der Ferne die Zunge raus *grins*'
Nun ihr muesst doch zustimmen, dass das ganze ein wenig bloed sich anhoert
oder?


Daher der Aufruf an einen Magier so ein Objekt wie das Gegenteil der
Knuddelmaus
zu proggen:

Hier ein paar Anregungen was das Objekt enthalten koennte:

1.Unanstaendige Verben wie fluche,trete,Streck Zunge raus usw, bloss halt auf
der Basis
  rfluche,rtrete usw.

2.Natuerlich sollte man dieses Objekt nicht ohne weiteres erlangen koennen,
das heisst
  der Gegner koennte ein kleiner Steinbeisser oder aehnliches sein, welcher
dieses Objekt
  traegt.

Natuerlich sind weitere Anregungen gerne gesehen aber ich denke mir die
Magier sollten
entscheiden ob sie so etwas nicht mal gerne programmieren wuerden, wenn sie
genug zeit
haben.

Vielen Dank im Voraus ein truer Knuddler genannt




                                                   Dolph
 .

-----------------------------------------------------------------------------



Re: wie waers mal mit was ganz neuem (Paracelsus, 28. Feb 1996, 19:35:27):
~#! rn=Dolph rt=825532231
~#! tid=825532231
Ich weiss nicht, wo Dein Problem liegt. MEINE Diddlmaus hat so Sachen
wie rwuerge und rtrete ;)
Tja, selbst ist der Magier ;)

xcall paracelsus->schmarrn()

-----------------------------------------------------------------------------



Re: wie waers mal mit was ganz neuem (Willow, 28. Feb 1996, 20:08:06):
~#! rn=Dolph rt=825532231
~#! tid=825532231
Hmmm... Dolph, wenn ich mich recht entsinne, gibt es ein so schoenes Objekt -
allerdings leider nur fuer Seher. Und dieses Objekt gibts schon seeeeehr
lange, deshalb kann ich nicht verstehen, dass auch Seher der Meinung sind,
dass sowas noch zu proggen waere (es sei denn, es sind mal wieder Hilfsseher
;-)).
Und zwar ist dieses Objekt als Questbelohnung fuer die Kristallkugelquest zu
erhalten, eine Quest uebrigens die ich sehr gelungen finde... (will was
heissen!).

Weidchen Willow rtritt wen er will

-----------------------------------------------------------------------------



Re: Re: wie waers mal mit was ganz neuem (Highlander, 29. Feb 1996, 10:59:28):
~#! rn=Willow rt=825534486
~#! tid=825532231
Ohne jetzt alle losspringen lassen zu wollen - wartet mal noch ein
bisschen, dann kann ich das ganz leicht in die Seele einbauen,
die ich gerade mal wieder umstricke, das ist dann eine kleine
Aenderung, um so was zu ermoeglichen (im Moment ziemlicher Aufwand).
  HrT

-----------------------------------------------------------------------------



Re: wie waers mal mit was ganz neuem (Creative,  1. Mar 1996, 03:38:18):
~#! rn=Dolph rt=825532231
~#! tid=825532231

Mach die Kristallkugelquest und Du hast remote. Das ist maechtiger als alle
andren r-tools.

-Crea-

-----------------------------------------------------------------------------



Aliaslisting (Roadrunner,  1. Mar 1996, 10:28:29):
Mir kommt es des oefteren vor dass ich bei der Flut meiner aliases
gelegentlich eines vergesse - ich weiss dann beispielsweise nur noch, dass es
mit r anfing ... nun bleibt mir wieder mal nichts anderes uebrig als ALLE
aliases auflisten zu lassen und durchzuscrollen bis das passende kommt. Waere
es wohl moeglich diese etwas selektiver mit beispielsweise 'r*' auflisten zu
lassen?

                               Roadrunner

-----------------------------------------------------------------------------



Re: wie waers mal mit was ganz neuem (Hardil,  1. Mar 1996, 14:54:47):
~#! rn=Dolph rt=825532231
~#! tid=825532231

Hmbl. Wahrscheinlich haben das jetzt schon X Leute vor mir replied, aber ein
Objekt fuer rtreten gibt es schon lange. Irre lange. Und man kann es auch ganz
einfach kaufen, auf einer netten Insel weit im Norden.
Aber allgemein finde ich es doch bezeichnend, dass SPielertools gewuenscht
werden, mit denen man auch auf Entfernung unflaetig sein kann. Das passt
irgendwie zur Stimmung hier. :)
Neeissklar.

-Hardil.


-----------------------------------------------------------------------------



Re: Re: wie waers mal mit was ganz neuem (Asmodis,  1. Mar 1996, 16:11:09):
~#! rn=Hardil rt=825688487
~#! tid=825532231
Naja, so einfach ist es nicht, man muss schon Seher sein :)
Aber abgesehen davon finde ich es auch nicht gut, dass Objekte
mit denen man andere Leute maltraetieren kann, verkauft werden
oder sonstwie unter die Leute gebracht werden.
rtrete ist in der Hinsicht ja ziemlich harmlos.

          Ciao, Asmodis (findet, dass die Stimmung in vielen MUDs schlechter
wird)

P.S.: Vielleicht liegt es daran, dass es immer dieselben Idioten sind,
      die Stunk machen

-----------------------------------------------------------------------------



Levelreform (Catweazle,  1. Mar 1996, 19:08:27):

Hi Jungs und Maedels!

Wir haben eine kleine Diskussion in der Magierentwicklungsrubrik ueber
ein schwer wichtiges Thema. Da dort bisher keine definitiven Gegenmeinungen
gekommen sind moechte ich hier dieses neugeplante 'feature' des
MorgenGrauen einaml vorstellen.
Dieser Artikel ist schwer wichtig, also lies ihn bitte bis zum Ende durch,
auch falls er lang wird.

Die juengste Scripterdiskussion hat uns zu dem Punkt gebracht zu sagen,
besser istes doch eigentlich den Spielern den Grund zum Scripten zu nehmen.
Der beste und einfachste Ansatzpunkt ist, Metzeln unattraktiv zu machen.
Nun, mit ein wenig Ueberlegung kommt man schnell zu der Einsicht, das
Metzeln nur eins bringt, naemlich Level. Denkt man diesen Gadanken zuende
erreicht man eine eindeutige Loesung: WEG mit den LEVELN!

Tja und genau das wollen wir tun!

Wir wollen den alten, bisherigen Level durch einen neuen, sogenannten
Gesamtlevel (GL) ersetzen. Dieser Gesamtlevel setzt sich aus mehreren
Teilen zusammen, genauer gesagt, man hat mehrere Moeglichkeiten, im
Level aufzusteigen. Metzeln ist hierbei die am schlechtesten bezahlte
Loesung.

Okok, to get in detail...
Der Neue Level setzt sich folgendermassen zusammen:

- Questen
  Wer questet wird reich belohnt. Die Questpunkte gehen direkt in den
  GL mit ein. Prozentuell kann man mit Questen ca. 30% des Maximallevels
  bekommen.
- Forscherpunkte
  Was Forscherpunkte sind weiss hoffentlich mittlerweile jeder :)
  Wer sich viel ansieht und sich gut auskennt wird auch gut im Level.
  FPs gehen auch zu ca. 30% mit ein.
- Zaubertraenke
  Wer Zaubertraenke findet, oder gefunden hat,wird besser im Level. Hier
  gibt es einen kleinen Vorteil! Auch wenn man einen ZT NICHT gefunden
  hat steigt man im Level. Zwar nichtsoviel, wie beim finden, aber
  immerhin :) ZTs machen ca. 10 % aus.
- Gildenfaehigkeiten
  Wie Gildenlevel in den GL technisch miteingehen ist noch etwas umstritten
  Sie werden jedoch zu ca 8 % eingehen.
- Monster metzeln
  Hiermit sind einerseits 'schwere' Monster gemeint, fuer die gibt es einen
  ganz geringen Anteil am Level. Zum anderen die echten Killer, wie die
  Hydra. Diese Monster geben verdammt dicke Punkte.
  Damit wir uns nicht missverstehen: Das Killen eines Monster geht nur ein
  einziges Mal in den GL mit ein, nicht mehrmals. Diese Sparte wird niemals
  mehr als 10 % ausmachen.
- Winzquests
  Kleine Aufgaben, die es vielleicht schon wo gibt, sollen mit Level belohnt
  werden. Vielleicht schreibt man auch ein paar zusaetzliche. WIE genau
  dieser Punkt implementiert wird steht auch noch nicht fest. Der Anteil am
  GL liegt bei mindestens 6 %.
- EPs
  Jaaa, die EPs geben immer noch einen Anteil am GL, aber der ist so
dermassen
  schlecht, das es sich einfach nicht lohnt, EPs zu kloppen. Es gibt kaum
  einen Seher, der durch EPs auch nur einen GL bekommen wuerde. Der Anteil,
  den dieser Punkt am GL ausmacht ist 10% (das ist an Rynes EPs gemessen).

Ja, ich weiss, das sind keine 100% :-)
Ich hab auch nur grob ueberschlagen, wie die Anteile aussehen koennten :)
Insbesondere bei den FP ist der Anteil geschaetzt, da ich dort nicht mit 100%
FPs gerechnet habe (ist einfach zu utopisch).

Viele dieser Werte veraendern sich staendig (Questes,FPs) so dass es immer
hoehere moegliche Level geben wird, und man staendig am Ball bleiben muss,
wenn man oben bleiben will. Ich finde das ist ein vorteilhafter Aspekt.

Ein Nachteil dieses System ist es, das Sterben nicht mehr weh tut. EP-Abzuege
sind keine Strafe mehr. Daher gibt es einen sogenannten LevelMalus.
Ist man einmal gestorben, bekommt man einen Malus auf seinen Gesamtlevel, den
man mit wiederermetzeln der verlorenen EPs wieder ausgleichen kann. Ist man
auf
dem alten EP stand ist der Malus verschwunden. Metzelt man sich die EPs NICHT
zurueck, kann man TROTZDEM im Level aufsteigen, nur halt nicht so hoch, wie
man
es ohne Malus koennte :) Die Hoehe des Malus liegt fuer einen Tod bei
ungefaehr
einem GL.
Dieser Punkt ist noch etwas umstritten. Einige Magier waren der Meinung, so
einen Malus braeuchte man nicht. Vielleicht habt ihr ja ein paar Kommentare
dazu.

So, das waers fuers erste. Ich hoffe ich hab nichts vergessen, aber mir
laeuft
die zeit davon :-)
Ich denke am Montag wird Jof mal eine neue Topliste hier posten koennen, wie
die Platzierung mit neuer Regelung aussieht. Es gibt schon eine, aber da sind
Zahlen drin, die braucht ihr nicht unbedingt zu wissen :)
Positiv auffallend ist in dieser Liste, das Nichtseher mit vielen FPs auch in
dieser Liste Recht weit oben auftauchen.

Yours truly,
       Catweazle

-----------------------------------------------------------------------------



Re: Levelreform (Escubar,  1. Mar 1996, 20:03:23):
~#! rn=Catweazle rt=825703707
~#! tid=825703707
Find ich ne Super Idee!
Das stupide Rummetzeln geht langsam aber sicher auf den Nerv, viel schoener
ist es sich mal wieder ne neue Gegend anzugucken und dort die Details mal
kraeftig zu untersuchen, den die meisten Magier haben da recht witzige Sachen
drin :)

Zu den Malus Sachen:
Find ich schon sinnvoll, denn sonst kann man ja rumsterben wie man will und
wird vielleicht deutlich risikobereiter an gewissen Stellen arbeiten. Also ein
Tod sollte schon weiterhin "weh tun".

Noch ein paar Anmerkungen:
1. Wie siehts denn mit der "Besitzstandswahrung" aus? Dh behaelt man seine
bisherigen Levelfaehigkeiten zB in Sachen Fluchtrichtung?
Oder wird komplett umgestellt und neu berechnet.

2. Viele aeltere Seher haben einige FPs aus den Questen nicht, kann man hier
vielleicht nen einmaligen Zuschlag oder sowas machen?

3. Die neue Regelung benachteiligt etwas die Leute die in der Abenteurergilde
sind und da bleiben wollen, kann man sich da was einfallen lassen?

4. Wie waers auch mit ner absoluten Anzeige der FPs, weil wenn die relevant
sind, wuerde ich schon auch gerne wissen wieviele ich denn in etwa habe

Jo ansonsten bestimmt ne positive Sache fuers MG, mal ueberlegen wie man am
Besten an die Hydra geht :)))

Eisbaer Escubar

-----------------------------------------------------------------------------



Re: Re: Levelreform (Paracelsus,  1. Mar 1996, 21:33:29):
~#! rn=Escubar rt=825707003
~#! tid=825703707
Hier nur ein kurzer Kommentar von meiner Seite:

>4. Wie waers auch mit ner absoluten Anzeige der FPs, weil wenn die relevant
>sind, wuerde ich schon auch gerne wissen wieviele ich denn in etwa habe

Ein verstaendlicher Wunsch, dem aber aus einem ganz eiinfachen Grund nicht
nachgegeben werden sollte: Sobald der/die SpielerInnen in der Lage sind,
ihre FP-Zahl direkt zu sehen, wird es frueher oder spaeter (aber eher
frueher) eine FP-Liste analog zur ZT-Liste geben.
Und einfach nure eine Liste abzurennen ist ja nicht der Sinn der Sache.

Paracelsus.

-----------------------------------------------------------------------------



Re^3: Levelreform (Asmodis,  1. Mar 1996, 21:38:48):
~#! rn=Paracelsus rt=825712409
~#! tid=825703707
FP-Liste? Haeh? wie soll das denn gehen ?
Man kriegt die FPs doch erst 15 Minuten spaeter, soviel ich weiss.

-----------------------------------------------------------------------------



Re^4: Levelreform (Asmodis,  1. Mar 1996, 21:40:05):
~#! rn=Asmodis rt=825712728
~#! tid=825703707
Ausserdem sind sie viel zu zahlreich, ich schaetze mal 100 Mal soviele
Stellen wie bei den Zts :)

-----------------------------------------------------------------------------



Re^5: Levelreform (Paracelsus,  1. Mar 1996, 21:45:01):
~#! rn=Asmodis rt=825712805
~#! tid=825703707
Leider falsch geschaetzt. :(
Und das mit den 15 Minuten Zeitverzoegerung halte ich auch nicht unbedingt
fuer ein Hindernis. Wenn man einen neuen FP bekommen hat, schaut man einfach
in sein Logfile (wenn man eins hat), was man die letzten 15 Minuten gemacht
hat. Dann macht man das ganze in Ruhe nochmal mite 3-4 Zweities, kreist die
Stelle langsam ein, und schon hat man seinen FP. Dass ist zwar ziemlich
Zeitaufwendig, aber es fuehrt zum Ziel.
Wenn dann sagen wir mal jeder Spieler auch nur einen FP findet, wird
das eine lange Liste.

-----------------------------------------------------------------------------



Re^6: Levelreform (Escubar,  1. Mar 1996, 22:34:51):
~#! rn=Paracelsus rt=825713101
~#! tid=825703707
Wie waers wenn man die Anzeige der FBs nur alle 24 Stunden updated, also
einmal am Tag, oder alle 12 Onlinestunden ...
Weil dann kann man sich halt freuen: Ah, hab gestern wieder 5 FPs gemacht
beim Betrachten von der und der Gegend, steigert die Motivation ungemein :)

Is halt einfach schoen zu sehen das das genaue anschaun von Gegenden auch was
gebracht hat.

Eisbaer Escubar

-----------------------------------------------------------------------------



Re^7: Levelreform (Valarian,  2. Mar 1996, 01:44:07):
~#! rn=Escubar rt=825716091
~#! tid=825703707
Die Anzeige der Forscherpunkte finde ich im Moment relativ brotlos. Die
relative Angabe ist ganz nett, aber die absolute Angabe ist ueberhaupt nicht
absolut. Einmal steht da: Du kennst Dich gar nicht aus und 5 Sekunden spaeter
wieder: vielleicht solltest Du Dich noch etwas genauer umsehen. Was daran
absolut sein soll, weiss ich nicht und Escus idee mit einem Update alle 24
Stunden finde ich klasse. Wer sich dann noch die arbeite macht und
irgendwelche Punkte einkreist, der ist selber bloed und hat nix besseres zu
tun.

Also ich wuerde schon gerne sehen, wie mein Charakter immer mehr kennenlernt
und nicht staendig zwischen zwei Werten hin- un herfaellt. :-)

Gruss, Val.

-----------------------------------------------------------------------------



Re^8: Levelreform (Toeter,  2. Mar 1996, 05:57:21):
~#! rn=Valarian rt=825727447
~#! tid=825703707
Es gibt uebrigens bereits eine Moeglichkeit, sich die Fps in gewisser Weise
auch quantitativ anzeigen zu lassen, die nach genau dem Prinzip arbeitet,
hat nur bisher noch keiner gefunden :)
   Toeter

-----------------------------------------------------------------------------



Re: Levelreform (Reinelde,  2. Mar 1996, 11:20:17):
~#! rn=Catweazle rt=825703707
~#! tid=825703707
hi ihr fleissigen ausbaldoverer,

im grossen und ganzen finde ich die idee, den level eines spielers von mehr
als nur seinen metzelfaehigkeiten abhaengig zu machen nicht schlecht, aber
wie immer habe ich noch ein paar fragen dazu bei es auch und gerade um uns
altlasten geht

- FP
  dass wir unter umstaenden nicht allzuviele fp haben, ist sicherlich klar,
  denn wer win gebiet anno-tubak zum ersten mal bereist hat, wird es danach
  nicht noch 10 mal auf den kopf gestellt haben. wird es da eine fossilien-
  regel geben?
- Quest
  die staerkere bewertung finde ich super, sonst koennten wir eh direkt in
  ein diku umzuziehen
- ZTs
  wenn auch nichtentdeckte ZTs auf den GL wirken sind das also versteckte
  FP. bringt es jetzt etwas etwas fuer leute mit vollen stats, nochmal die
  liste (ich hab gehoert es gaebe so was ;) abzurennen und ihren level zu
  verbessern indem sie alle stellen abklappern an denen sie eh nix finden?
- Gildenfaehigkeiten
  In den bisher existierenden Gilden sind die Gildenfaehigkeiten mehr oder
  vom Level abhaengig. Werden die in Zukunft dann vom GL abhaengig sein?
  Wenn ja, wird das bei der Umstellung nicht u.U. zu endlosspiralen fuehren?
  (Beispiel: wegen mangelnder ortskenntnis sinkt der gl, die levelabhaneg-
  igen faehigkeiten sinken, der gl sinkt weiter etc.)
- EPs
  Wenn der ep verlust in zukunft durch einen malus 'bestraft' wird, werden
  Tode vor allem (und nur noch denen) wehtun, die jetzt eine hohe ep zahl
  haben, denn sie muessen auch verdammt viel tun um diesen malus wieder weg
  zu bekommen. es macht nen kleinen unterschied, ob ich 100k fuer einen gl
  aufholen muss, oder ein paar mios (100k sind schon nervend genug).
  btw. nach welchem system wird wird in zukunft abgezogen? nach den alten
  leveln oder nach dem gl? das kann einen grossen unterschied machen ;)

weils so lang war, behaupte ich es waren 3 pfennige
reinelde

-----------------------------------------------------------------------------



Re: Levelreform (Marita,  2. Mar 1996, 17:17:06):
~#! rn=Catweazle rt=825703707
~#! tid=825703707
Hi,

Leider ist Cat*s Artikel etwas missverstaendlich und unvollstaendig. Deshalb
folgende Fragen:

1) Haben meine urploetzlichen Erhoehungsmoeglichkeiten etwas mit dem neuen
Levelsystem zu tun? Ich habe (ohne einen Finger zu ruehren) von 12 auf 14
erhoehen koennen, fuer 15 reichten ploetzlich 32 % der sehernoetigen AP, fuer
16 werden laut 'kosten' knapp 38 % reichen.

2) Wonach richtet sich in Zukunft der Titel? Bei uns Abenteurern haengt der
ja bislang direkt vom Level ab.

3) Wird sich der 'Gesamtlevel' an den Groessenordnungen der bisherigen Level
orientieren, so dass die neuen Levelbedingungen erst beim Versuch des
Erhoehens greifen? (Haette den Vorteil, dass sich keiner ueber irgendwelche
Abstufungen aufregen kann und eine gewisse Kontinuitaet erreicht wird)

4) Ich hab zwar einen Verdacht, welche Moeglichkeit der quantitativen
Bestimmung der FP Toeter meint, aber wenns das ist, klappts bei mir nicht
richtig - scheinbar liege ich ZU eindeutig innerha*************** ;-)

Gommendar zum bisherigen Stand der Planungen:

Dies ist eine (fast) nahtlose Fortsetzung einer Serie von Massnahmen, mit
denen das MG massiv attraktiver gemacht wurde und wird: Einfuehrung der
Kanalgeschichte -*, Rodelbahn, Verbesserung des Mailservice, Archie/Inferno
optional, Seherwettbewerb, Anzeige der Wirkung von Feuerbaellen, Schutz der
Spieler vor Skripties und jetzt die Diversifizierung der Levelanforderungen
(Das sind alles Magierleistungen, denen leider zu oft meuternde, flamende,
selbstloeschende, nervende oder unersaettliche Spieler gegenueberstehen).

Der Knackpunkt fuer alte Spieler sind sicher die FP. Ich hoere immer nur:
"Wie? Soll ich etwa alles noch einmal ansehen?" Wer seit Einfuehrung der FP
nur in der SSP und im Lupinental gewesen ist, hat so einiges verpasst, was
sich aussen drumherum getan hat! Besuche in neuen Gegenden oder in solchen,
die man lange nicht gesehen hat, waeren schon dann attraktiv genug, wenn es
dafuer nicht mal Punkte gaebe. Das gleiche gilt uebrigens auch fuer Quests,
die man frueher irgendwann mal gemacht hat (Ich habe von hohen Sehern so
manches Mal auf -b gehoert "Keine Ahnung, ist zu lange her").

"Das ist ja oede, alles noch einmal anzukucken!" Nunja, einige finden es irre
spannend, fuenfmal am Tag die SSP rauf- und runterzumetzeln, und morgen
wieder das gleiche, und dabei nichts anderes kennenlernen zu wollen. Wer sich
darueber beschwert, ordnet sich irgendwie automatisch in eine Gruppe ein, die
es nach meinem Empfinden tatsaechlich nicht verdient hat, die
Spitzenpositionen auf der Seherliste zu bekleiden.

"Aber das dauert ja ewig, bis man seine FP zusammenhat!" Falsch. Ich bin seit
Einfuehrung der FP ca. 10..12 Tage alt, und verbringe nur ca. 40 % meiner
Zeit mit Gegenden Erforschen und Questen, das macht ca. 5 Online-Tage, in
denen ich es auf "ueberdurchschnittlich gut" gebracht habe (Das ist die
relative Angabe, die absolute ist sowieso wertlos, weil die Magier in der
Skalierung des Massstabs freie Wahl hatten). Und jetzt vergleicht das mal mit
den vielen -zig Online-Tagen, in denen ein Seher metzeln und metzeln und
metzeln muss, bis er weit oben in der Topliste steht.

"'Ueberdurchschnittlich gut' ist doch laengst nicht genug, wenn man oben
mithalten will!" Die verantwortlichen Magier sagen selbst, dass 100 % FP
unmoeglich sind, und setzen dies auch nicht als Mass der Dinge an. Mit
"ueberdurchschnittlich gut" liegt man fuer den Anfang schon nicht schlecht,
denke ich. Zu bedenken ist immerhin, dass man als Spitzenseher nicht nur
selbst kaum FP hat, sondern auch die Konkurrenten haben kaum welche (Es sei
denn, sie haben ihre EP in 20 verschiedenen Gegenden ermetzelt, dann stehen
sie aber mit Recht hoeher). Ausserdem sag ich ja gar nicht, dass man bei 5
Tagen schon Schluss machen soll... Die FP-Panik ist aber schon deshalb
unbegruendet, weil mehr als 2/3 des Levels von anderen Kriterien bestimmt
werden.

Insgesamt ist die neue Regelung zweitifeindlich, so dass mein kleiner Bruder
Duvain entgegen meinen Planungen nicht mehr als mein Gleichberechti in Frage
kommt. Um den Preis einer vernuenftigen Bewertung der TATSAECHLICHEN
Spielleistung denke ich schon, dass wir auf das Hochzuechten von
Spitzenzweitis gut verzichten koennen.

Ich freue mich ausserdem, dass wir sogar die Flames nach dem Skriptverbot
nicht ganz umsonst ertragen mussten, sondern dass auch die verantwortlichen
Magier hieraus ihre Lehren gezogen haben und auftretende Probleme etwas
weiter bei der Wurzel anpacken, so wie Cat* es in seiner Einleitung
angedeutet hat.

Konstruktiver Teil:

Die Vorschlaege zur 'Anzeige' der FP sind fuer das Erfolgserlebnis sicher von
Vorteil. Man muss aber das Argument mit den FP-Listen durchaus ernst nehmen!
Um beides miteinander vereinbaren zu koennen, plaediere ich fuer
a) ein Update der FP-Anzeige alle 24 RL-Stunden (Den Vorschlag hatten wir
gestern schon), aber
b) eine nur UNGEFAEHRE Angabe der FP, etwa im Stil "Du hast jetzt ueber 400
Forschungspunkte", wenn sie z. B. zwischen 401 und 450 liegen (Ich kenne die
Groessenordnungen nicht, also Magier nicht lachen ;-)) - Verschleierungen
durch Random-Einfluesse sind ungeeignet, da man mit geeigneten Skripts und
automatischer statistischer Auswertung relativ schnell die 'genaue' Zahl
ermitteln kann.
Da man ja noch weiss, was man gestern getan hat, kann man aus diesen Angaben
als harte Information rauslesen: "Auf Shaky Island gibts ne ganze Menge FP" -
also nichts, was man nicht sowieso vermutet haette.

Schon wieder so ein nerviglanger Beitrach von
Marita der nagelneuen Adeptin

-----------------------------------------------------------------------------



Re: Levelreform (Myself,  2. Mar 1996, 18:46:42):
~#! rn=Catweazle rt=825703707
~#! tid=825703707
Hi Muddies,

in Zusammenhang mit der Reform der Spielerstufen habe ich 2 Anmerkungen:

1. Die neue Regelung finde ich prima! :-)

2. Die Behandlung von 'Altspielern' bei den FPs sollte insofern
gerecht geregelt werden, dass wer 'damals' keine FPs bekommen, als er/sie
eine Quest gemacht hat, davon nun keinen Nachteil hat.
-In meinen Augen spiegeln die Forscherpunkte einen grossen Reiz des
MGs wider, naemlich neue Gegenden, Abenteuer, NPCs, in LPC umgesetzte
Ideen anderer Spieler (der Magier) zu erforschen und entdecken.
Das sollte mit entsprechenden Punkten belohnt werden.
Dagegen geht es mE _nicht_ darum, FPs um der Punkte willen
oder wg eines Levels zu 'sammeln' oder 'abzugrasen'.
Wenn also ein Spieler vor Einfuehrung der FPs bereits eine
Quest bestanden hat, so sollte man ihm dafuer eine ent-
sprechende Anzahl von FPs gutschreiben, sonst wird das
Wiederholungsquesten zum reinen 'FP-Abklappern' degradiert.
Hinzu kommt, dass eine ganze Reihe 'aelterer' Spieler
Zweitis haben, und allein dadurch viele Quests mehrfach
machen.  Schliesslich sehe ich noch die Gefahr eines
Ansturms auf gerade die einfacheren Quests. Das fuehrt
an den Stellen mit reset zwangslaeufig zu Frust oder
Reibereien, und ich finde den Gedanken, dass ein
FP-Sammler einem echten Quester einen questrelevanten
Gegenstand vor der Nase wegschnappt, nicht sehr erquickend.
Soweit meine Anregung zu den Altlasten aeh ~spielern
des Muds.

Gruss,
Myself    -  freut sich ueber die neue Regelung

-----------------------------------------------------------------------------



Re: Levelreform (Lug,  2. Mar 1996, 23:07:50):
~#! rn=Catweazle rt=825703707
~#! tid=825703707
Moin,

eine kleine Frage: Inwiefern beruecksichtigt das neue System das Verhaeltniss
von "Aelteren Spielern" und XEP? Gibt es eine Pauschalgutschrift im
Verhaeltnis zu vorhanden AP? Versteht einer was ich meine?
*Seufz* Ist wohl nicht so wichtig...
Lug

-----------------------------------------------------------------------------



Re: Re: Levelreform (Lug,  2. Mar 1996, 23:09:26):
~#! rn=Lug rt=825804470
~#! tid=825703707
Aeh,
meine mit XEP Forscherpunkte!
Lug

-----------------------------------------------------------------------------



Re^3: Levelreform (Asmodis,  2. Mar 1996, 23:10:49):
~#! rn=Lug rt=825804566
~#! tid=825703707
Dann nenn sie doch beim richtigen Namen, sie heissen FP

-----------------------------------------------------------------------------



Anmerkung zu GeL (Bendeigid,  4. Mar 1996, 09:19:57):
Hi,
Die Aufregung besonders der Altseher bezueglich der Anrechnung der bisherigen
Leistung im Bezug auf die FPs ist verstaendlich, aber nicht unbedingt
begruendet. Beispielsweise haben grade Altspieler, aus denen sich die Topriege
zusammensetzt, normalerweise alle ZTs, wodurch sie eine erheblich hoehere Zahl
an NeuGildenPunkten erhalten als die Newbies, die ziemlich frisch herumlaufen.
Abgesehen davon koennen diese auch durch Metzeln in ihnen bereits bekannten
gegenden schnell (wenn auch weniger ) Punkte machen, die Anfaengern allein
schon in Ermangelung von Stats verwehrt bleiben. Alles in allem wird sich das
in etwa ausmitteln. Und fuer den Rest verweise ich mit Behagen auf den Artikel
von Marita: Schaut euch in neuen gebieten um, Boings SSP ist zwar nett aber
irgendwann auch nicht... Boing? Hey, lass die Finger vom Save...
Na gut, schaut die SSP sehr gruendlich an. :)
Insgesamt wird sich das System sicher bei den "neueren" Spielern gut
anlassen, da die im Gegensatz zu alteingesessenen eben noch alles irgendwie
anschauen muessen und daher erheblich hoehere Chancen auf FPs haben. Da die
Regelung aber dynamisch und nicht statisch ist ergeben sich aber auch gute
Moeglichkeiten fuer Altseher, ihren Level so Pi mal Daumen beizubehalten. Also
mal keine Panik.
Noch eine Bemerkung zu ...Escubar? Jedenfalls zur Regelung mit dem Sterben:
Es gibt auf Magierseite bereits Ueberlegungen, wie Cat* schon andeutete, das
Sterben anders oder evtl gar nicht mehr zu bestrafen. Wie sehen andere
Meinungen der Spieler hierzu aus?
Meine Meinung laeuft eher dahin, Sterben weniger zu bestrafen, da es vor
allem Spieler bestarft, die mutig in neue Gebiete gehen und auch mal heftige,
neue und/oder unbekannte Monster angehen. Naja, meine Meinung, aber nicht
unbegruendet (*schau auf Besucherliste im Darkovertal*)

Meinungen hierzu wuerden mich sehr interessieren.

Z'par Servu,
           Bendeigid

-----------------------------------------------------------------------------



Re: Re: Levelreform (Durian,  4. Mar 1996, 11:24:29):
~#! rn=Myself rt=825788802
~#! tid=825703707
Nur ganz kurz ...

Jeder, der Quests mit seinen Zweities mehrfach macht, ist selber schuld.
Dies als Argument anzufuehren (dann muss ich die Quest ja noch vier-, fuenf-
oder wasweissichwieviel mal machen) die FP's der bestandenen Quests zu
bekommen, ist etwas wackelig. Ausserdem sind dann die Komplettloesungsspieler
im Vorteil, die nie in der Lage waeren, alle FP's oder auch nur einen
Bruchteil zu bekommen.

- Durian

-----------------------------------------------------------------------------



Re: Re: Levelreform (Wargon,  4. Mar 1996, 11:32:22):
~#! rn=Reinelde rt=825762017
~#! tid=825703707
  Hi!
Ich glaube nicht, dass sich die Abhaengigkeit Gildenfaehigkeiten <->
Gesamtlevel in den Schwanz beisst, da die Gildeneinstufung nur zu weniger als
10% (etwa) eingeht. Und wenn man die anderen Moeglichkeiten voll ausgeschoepft
hat, ist der Gesamtlevel in der Regel so hoch, dass es nicht zu
Gildeneinschraenkungen kommt.
Wer natuerlich so oft stirbt, dass sich sein Malus in der Gilde auswirkt, und
auch die anderen Aufstiegsmoeglichkeiten verbraucht sind, muss halt auf neue
Gebiete/Quests warten. In diesem Fall waere der Tod dann allerdings auch
wieder eine richtige Strafe, also (meiner Meinung nach) durchaus nicht
schlimm. ;)
  Wargon

-----------------------------------------------------------------------------



Nix Neues auf der Welt. (Engywuck,  4. Mar 1996, 13:35:19):
Tja. Der Grund dieses Artikel ist eben jener Satz. Wenn man ihn taeglich 50
bis 100 mal liest, nervt er doch ein wenig. Koennte man das nicht selbst
definieren? So analog der Fehler- oder Uhrmeldung.
Nur so ne Idee...
   Engy

-----------------------------------------------------------------------------



Re: Nix Neues auf der Welt. (Loco,  4. Mar 1996, 13:42:00):
~#! rn=Engywuck rt=825942919
~#! tid=825942919
Mehr als 1x pro Tag waere eigentlich ja nicht noetig ;-) Musst nur immer auf
die "Neuer Artikel ..." - Meldungen achten.
Ich schau mal, was sich machen laesst. Von der mpa her ist das wohl eine
Kleinigkeit, die ohne Aenderungen woanders machbar ist. Die Idee gefaellt mir
jedenfalls - nur was macht dann der NNN-Club? Muss er dann einen dynamischen
Clubnamen je nach Leser annehmen?

Soweit,
      Loco
           Morgengrauens PresseAgentur, technische Leitung.

-----------------------------------------------------------------------------



Re: Anmerkung zu GeL (Fyt,  4. Mar 1996, 15:42:52):
~#! rn=Bendeigid rt=825927597
~#! tid=825927597

Hm, es sind nicht alle 'Altseher' gegen die Umstellung des Systems :)
im Gegenteil *huestel*
Und irgendwie isses doch nett, mal wieder rauszukommen aus der SSP
(und Cifers Hoehle :) )...
Irgendwie hat sich doch bis jetzt kaum einer 'richtig; beschwert,
wieso glauben dann viele, die 'Altseher' koennten dagegen sein?

Um zum eingentlich Punkt zu kommen: Sterben sollte schon irgendwie
bestraft werden. Nur kann ich mir andere 'Bestrafungen' als EP-Abzug
vorstellen: Zum Beispiel koennte man die Leute fuer ne Weile mit
irgendwelchen Fluechen belegen oder sie ihre Gebeine im MG ala
Postquest zusammensuchen lassen. Und wer noch nicht beide Arme
zusammenhat, muss halt einhaendig kaempfen...
Ich glaub, die bluehende Phantasie unserer Damen und Herren Magier
wird noch mehr Varianten produzieren koennen :))

Fyt, moechte zumindest auf Todessequenzen nicht verzichten.

-----------------------------------------------------------------------------



Re: Re: Anmerkung zu GeL (Terrorist,  4. Mar 1996, 16:42:55):
~#! rn=Fyt rt=825950572
~#! tid=825927597
Jetzt moechte ich aber auch mal was zur LEvelreform sagen.
und zwar gilt die nicht fuer alle oder was?
ich stand vorhins so in der Gilde rum und dachte erhoeste dich mal weil vor
der LEvelreform brauchte ich nur noch eps und jetzt sind sie ja nicht so
wichtig, aber als ich erhoehen wollte kam das gleiche wie frueher, da_ heisst
ich muss immer noch metzeln gehen um meine Stufe zu erhoehen.

WO ist also bitte die REform?

Terrorist braucht Stufe 18.

-----------------------------------------------------------------------------



Re^3: Anmerkung zu GeL (Jof,  4. Mar 1996, 16:45:55):
~#! rn=Terrorist rt=825954175
~#! tid=825927597
 Die Levelreform befindet sich derzeit noch in der 'Diskussionsphase';
wenn die abgeschlossen ist, muss sie auch noch programmtechnisch um-
gesetzt werden. Sprich, sie ist noch nicht aktiv ...

 Jof

-----------------------------------------------------------------------------



Levelreform (Laila,  4. Mar 1996, 17:10:32):
Hallo Mudder!
Das mit der Levelreform hoert sich bis jetzt ganz witzig an.
In den neuen Leveln sollen ja auch Gildenfertigkeiten zum tragen kommen.
Nun meine Frage: Werden erst mal ein paar neue Gilden eingefuerht oder
soll zuerst die Levelreform kommen.
Meiner Meinung nach, also jetzt kommt nur meine ganz eigene und persoenliche
Meinung, besitzen die jetzigen Gilden (Chaos und Karate) keinen
grossen Reiz. Und was kann man in der Abenteure-Gilde alles errreichen.
Hmmm, man lernt ein paar Zaubersprueche und das wars.
Vielleicht koennte man ja den Eintritt in eine Gilde mit eine Queste
verbinden,
schliesslich nimmt man ja nicht jeden x-beliebigen Abenteurer auf und weiht
in
in geheime Kuenste ein, ohne dass er vorher was geleistet hat. Just an idea.

Bye for now

Laila

-----------------------------------------------------------------------------



Re: Re: Levelreform (Catweazle,  4. Mar 1996, 18:29:55):
~#! rn=Reinelde rt=825762017
~#! tid=825703707
Hi!
Kurzer Einwurf zu deinem letzten Punkt.
Die Bedenken hatte ich naemlich auch, das es fuer hoeherlevelige Spieler
schwieriger ist, den Malus zu kompensieren.
Aber das ist doch jetzt nicht anders!
Ryne hat es, wenn er stirbt, doch auch schwieriger weiter aufzusteigen,
als ein kleiner Normalspieler.
Im Prinzip gibt es keinen Unterschied.
YTC

-----------------------------------------------------------------------------



Re^3: Levelreform (Reinelde,  4. Mar 1996, 18:36:55):
~#! rn=Catweazle rt=825960595
~#! tid=825703707
im prinzip richtig, aber so wie ich das verstanden habe, muss ich nach der
neuen regel nicht nur den verlust aufholen, sondern verliere auch noch einen
level, den ich mir erst mal wieder zurueckholen muss bevor es ueberhaupt
weiter geht.
dazu kommt natuerlich noch, dass sich viele ep in zukunft bei weitem nicht
mehr so lohnen wie heute (was nicht schelcht ist, denn sie sind derzeit
ueberbewertet). allerdings hab ich mir schon ueberlegt, ob ich mir nicht vor
einfuehrung
nicht noch ein paar 'gratistode' leiste, damit es nachher nicht mit zu hohen
abzuegen bestarft wird ;)

reinelde - plant fuer die zukunft *grins*

-----------------------------------------------------------------------------



Re: Levelreform (Roesti,  4. Mar 1996, 20:22:14):
~#! rn=Catweazle rt=825703707
~#! tid=825703707
Also mit dieser Gildenreform werdet ihr aller warscheinlichkeit folgendes
erreichen:
1. Verfeinerung und verbesserung von Komplettloesungen
2. listen auch fuer vorscherpunkte...Ja auch diese kann man in Listen
aufschreiben...zb den in Franks Kneipe...:)
3. Neue Spieler werden kaum noch in den genuss von hohen Levels kommen,
was dazu fuehren duerfte das das Mud ueberlatert.

Wenn das wirklich eure Absicht ist viel schpass dabei...
Roesti

-----------------------------------------------------------------------------



Re: Re: Levelreform (Durian,  4. Mar 1996, 20:28:01):
~#! rn=Roesti rt=825967334
~#! tid=825703707

Prima! Gut!

Wir erreichen also nur eine Verfeinerung von Komplettloesungen dadurch,
schoen, fein. Also setzen wir uns hin und finden mit dem ab, was es gibt.
Klar, ist das einfachste.

Natuerlich kann man keine Komplettloesungen komplett abschaffen, wie soll
denn das auch gehen? Keine Chance. Aber etwas schwerer machen soll doch
erlaubt sein, oder? Oder hast Du keine Lust komplexere Komplettloesungen
durchzuspielen? Also die Forscherpunkte in versteckten, questrelevanten
Gegenden ist auf jeden Fall ein Schritt in die richtige Richtung. Die
dann noch in den Level einzugehen zu lassen, ist auch nett.

Ach, Forscherpunkte kann man auch in Listen zusammen? Okay, also lassen
wir es! Nenenenene, nicht so ...

Im uebrigen glaube ich nicht, dass es Spielern ohne Magierhilfe moeglich
ist, FP-Listen aufzustellen!

- Durian

-----------------------------------------------------------------------------



Re: Re: Levelreform (Fyt,  4. Mar 1996, 22:43:49):
~#! rn=Roesti rt=825967334
~#! tid=825703707
Neue Spieler kommen schon jetzt nicht in den Genuss hoher Level.

Oder wielange metzelst Du fuer 100 MEp?

Fyt.

-----------------------------------------------------------------------------



Re: Re: Levelreform (Asmodis,  4. Mar 1996, 22:48:11):
~#! rn=Roesti rt=825967334
~#! tid=825703707
Versteh ich nicht, wieso sollen neue Spieler nicht hohe Level kriegen? Was
ist an dem bisherigen System da besser ? Da kriegen nur die jungen Zweities
hohe Level, oder Leute mit Zt-Listen, die haben aber schon etwas Ahnung
von den Regionen in Morgengrauen. Ausserdem, wenn die betreffenden Seher
keine FP-Listen erstellen, dann wirds auch keine geben, ist ja dann deren
Schuld, wenn Fast-Neulinge sie ueberfluegeln.
Und wenn diese Neulinge sich alles genau anschauen, dann werden sie auch
was, schliesslich ist das ja Sinn und Zweck des ganzen, nicht einfach
Durchrasen ohne nach Links und Rechts zu schauen, sondern alles in
Ruhe geniessen :)

-----------------------------------------------------------------------------



Re^3: Levelreform (Roesti,  5. Mar 1996, 13:13:49):
~#! rn=Durian rt=825967681
~#! tid=825703707
Ich finde die Forscherpunkte gut!
Ich finde es auch ok wenn man sie benoetigt um Seher oder Magier zu
werden.Aber wenn normale Spieler die Punkte brauchen um eine Stufe
aufzusteigen...Na ja...
Also ich will nix schlecht machen,aber mir stellt sich folgende Frgae.
Warum will ein Spieler seinen Level ueberhaupt verbessern?
1. um irgendwann einmal als Seher ein paar Newbies zu helfen.
2. um einmal im MG zu programieren.

1.1. Wenn ich sowieso nichts anderes vorhab als zu spielen und anderen zu
helfen,Was nuetzt mir da der Seherstatus?
1.2. Seherstatus als Statussymbol
   In diesem Fall waere es gerechtfertigt und angebracht den Spielerlevel zu
erschweren.
1.3 Ich will mir ein Haus im MG bauen und in die Seherlaeden gehen koennen.
   Ok Auch ein Argument...

Aber fuer einen Nicht-Magier und enen Nicht-Seher duerfte der aufstieg in den
Gilden doch zuerst volgendes bedeuten:
Ich hab zusatzobjekte(Feuerball,Chaoslevel usw) die mir ab und zu das Questen
(JAWohl das Questen) in besonders ausweglosen Situationen (naemlich wenn man
nicht genug ZT hat und auch keinen Bock auf ZT-Listen hat)
heissen.

Ich frage mich was da eine verschaerfung der Gildenlevel soll?
Ist es denn nicht erwuenscht,anmassend oder sonstwie verpoent wenn sich ein
Spieler wuenscht etwas im MG auszutesten, und wenn es nur ein Zauberspruch
oder was weis ich nicht alles ist?
Wen dem so sist, entschuldige ich mich hiermit fuer mein missverstaendniss.

Hochachtungsvoll Roesti.

P.S.: Ich wuenschte das MG bliebe so wie es ist.OK.Ab und zu ne neue
Queste,Aber sonst find ich es hier schoen.So wie es ist.

-----------------------------------------------------------------------------



Re^3: Levelreform (Raffi,  5. Mar 1996, 14:58:56):
~#! rn=Catweazle rt=825960595
~#! tid=825703707
Also - Mein Sempft zu den neuen Levelkriterien von Cat*:

a) Ich bin mit dem Derzeitigen Levelsystem zufrieden.
Hoechstens an der Abstufung kann man immer mal feilen.

b) Metzeln fur EP warum nicht - macht doch auch Spass!
Und warum soll man den Spass nicht ablesen koennen?
(NB: Bin beim Rollenspiel ein begeisterter Hack & Slay
Zwerg!) Wer unbedingt meint er braucht 100 MEP, der soll
doch - ich moechte ihm das nicht vermiesen. Die meisten
hoehren eh bei 10MEP+X auf :)

c) Warum eigentlich das bestehende System 'Wegwerfen',
ein neues einfuehren, und alle dazu zwingen auf dem
gleichen Weg 'gluecklich' zu werden?

d) Ich denke das es besser ist MEHRERE Alternativen
den Spielern anzubieten. Will heissen: mit den FP und
dem 'Wissen' ueber das MG gibt es eine schoene neue
Messlatte, die voellig unabhaengig von Leveln und
EP funktioniert. Es fehlt eigentlich nur das Sicht-
barmachen der Messlatte, z.B. in Form einer Liste der
'Besten' MG-Kenner (Juhu Rochus erinnerst Du Dich noch
an die Fremdenfuehrerliste ?!).

e) Questen
Sind ja jetzt schon drinnen und wie ich finde sehr gut -
fuer die Stufen bis zum Seher sind die EP eh wurscht.

f) Miniquesten
Das ist eine Sache die ich mir schon lange wuensche:
VIEL Mehr kleine Questen - sachen die an und fuer sich
nicht so weldbewegend sind, und auch nur 1-10 AP bringen.

g) Monstermetzeln
genau dafuer sind die EP ja da. Und das mit den bestimmten
Monstern kann man ja ueber AP abhandeln: Wenn man zum
ersten mal die Hydra killt gibts halt 2 AP.

h) Gildenfaehigkeiten
Das hat m.E. garnix mit dem Rest zu tun.

Wie gesagt ich wuerde das bisherige System (mit EP
und Runtersterben) nicht veraendern. Alles was
vorgeschlagen wird macht es nur komplizierter und
undurchschauberer. Lieber ein Wettstreit mehrerer
Systeme (EP-Bestenliste, FP-Bestenlistte etc.), so
das jeder nach dem schaut wass ihm am erstrebens-
wertesten erscheint.

Gruss
H.

-----------------------------------------------------------------------------



Re^4: Levelreform (Asmodis,  5. Mar 1996, 15:30:41):
~#! rn=Raffi rt=826034336
~#! tid=825703707
Hmm, so wie ich das verstanden habe, bekommt man fuer hack'n Slay immer noch
EP, aber
man kann damit eben nicht mehr seinen Level erhoehen.
Aber fuer einen guten Platz in der Ep-Liste reicht es wohl immer noch.

-----------------------------------------------------------------------------



Re^5: Levelreform (Snuggle,  5. Mar 1996, 23:19:04):
~#! rn=Asmodis rt=826036241
~#! tid=825703707
Hi Ihr,
1. FP-Listen.
Natuerlich ist es moeglich FP-Listen zu erstellen, aber wenn wir Seher (denn
die sind es in der Regel, die sowas erstellen), die wir das neue
Systemgutheissen, uns an sowas eben nicht beteiligen,
wird es keine oder allenfalls sehr unvollstaendige Listen geben.

2. Das alte System war doch prima, warum sollen wir es denn aendern?
Weil es a) nicht mehr aktuell ist. Es sind die Gilden hinzugekommen und das
MG ist erheblich gewachsen. Als das alte System eingefuehrt wurde, kannte
das MG wer die Hochebene und PV kannte (oder so aehnlich, ich hab den Anfang
ja nicht miterlebt). An gilden hat damals noch ueberhaupt keiner gedacht.
Inzwischen ist die Situation aber anders. Gildenfaehigkeiten und ein Mass der
Kenntnis des MG sind Imho etwas, dass sich durchaus in der Stufe eines
Charakters wiederspiegeln sollte.
3. Skripten.
Genau das ist der Punkt. Es gab eine Riesendiskussion um die Skripte. Es
folgte die Riesendiskussion um das Skriptverbot, aber diesmal immerhin mit
dem konstruktiven Aspekt, dass den Skripten die Grundlage entzogen werden
muss, was Skripten sehr viel mehr einschraenkt, als Verbote.
Mit der neuen Regelung wurde dazu zumindest der Grundstein gelegt. Skripten
ist sicher nicht unmoeglich, aber zumindest uninteressanter geworden, eben
weil der Hauptgewinn eines Skriptes (ep ohne Arbeit) nicht mehr soviel
bringt.
4. Die EP sind nix mehr Wert.
Unsinn, sie sind nur abgewertet. Die Bewertung der Spieler steht jetzt halt
nicht mehr auf 2 Beinen, sondern auf mehreren. Logische Folgerung: die

einzelnen machen weniger aus. Da fuer die Metzler aber nicht nur die
reinen EP zu Buche schlagen, sondern auch die getoeten 'besonderen Monster'
sind , wieder Imho, die Metzler noch nicht mal besonders schlecht dran.
Wer natuerlich seine EP nur dadurch macht, dass er 7000 mal gefahrlos das
Orklager ausraeumt, guckt in die Roehre. (Ich weiss, das gilt vor allem fuer
HLP, aber siehe 6.)
6. Spezialisierung ist nicht mehr moeglich
Doch, gerade. Zumindest mehr als vorher. Man kann nur mit Metzeln eine
mittlere Stufe erreichen. Gleiches gilt fuer diejenigen, die nur Questen
oder nur Forschen wollen. Aber wer ganz oben mitmischen will, kann
(und sollte) in ALLEM gut sein.
Es gab da mal eine laengere Diskussion in Seher.entwicklung, in denen von
einigen gefordert wurde, dass es strengere Seherkriterien geben sollte,
andere forderten, dass auch Quatschen und umschaun moeglich sein sollte, also
HLP ohne metzeln und alle quests haben. Ich denke, beiden Wuenschen ist
mit der neuen Regelung Rechnung getragen.
Ich seh gerade 5. hab ich vergessen und bei 6. ist ein kann durch ein muss
zu ersetzen. Ueberhaupt hab ich jetzt genug Pfennige in die Diskussion

geworfen.

YTSnuggle

-----------------------------------------------------------------------------



Re: Re: Levelreform (Wur,  6. Mar 1996, 05:22:08):
~#! rn=Escubar rt=825707003
~#! tid=825703707
Hm, ich faende es gut, wenn die Spiele die existieren und noch entstehen
werden, auch in diesen GL einfliessen wuerde. Die Idee ist aber echt nett.

Wur

-----------------------------------------------------------------------------



Re^4: Levelreform (Jof,  6. Mar 1996, 11:19:36):
~#! rn=Roesti rt=826028029
~#! tid=825703707

 Wer sagt, das es schwieriger wird, eine Stufe aufzusteigen? Es wird ANDERS
gehen, aber nicht zwingend SCHWIERIGER. Im Gegenteil, man erspart sich
im Normalfall sogar wueste Metzelorgien zum Aufstieg ...

 Jof

-----------------------------------------------------------------------------



gildeneintritt (Hadra,  6. Mar 1996, 21:37:55):
da wir mal wieder eine neue gilde haben, habe ich natuerlich auch direkt ne
frage. und zwar:
wenn man karate oder chaosgilde verlaesst verliert man ja einen teil seiner
faehigkeiten. was ist mit den faehigkeiten den ab gilde? die verlaesst man ja
nie explizit, gibts da auch abschlaege, oder kann man neue gilden einfach mal
'gefahrlos antesten' und hinterher wieder braver abenteurer werden ohne wieder
ganz unten anzufangen?

hadra - wuerde sich eventuell veraendern wollen

-----------------------------------------------------------------------------



Re: gildeneintritt (Rochus,  6. Mar 1996, 21:42:51):
~#! rn=Hadra rt=826144675
~#! tid=826144675
Die Abenteurergilde ist die einzige Ausnahme.

-----------------------------------------------------------------------------



Re^4: Levelreform (Marita,  6. Mar 1996, 22:17:14):
~#! rn=Reinelde rt=825961015
~#! tid=825703707
Hi,
So wie ich das verstanden habe, musst Du nach einem Tod den Malus UND die EP
wieder aufholen, allerdings beinhaltet das Aufholen der EPs gleichzeitig
das Beseitigen des Malus... oder so :-) Das wuerde jedenfalls bedeuten, dass
man letztlich nicht doppelt, sondern eben doch nur einfach gestraft ist.
Alles in allem glaube ich nicht, dass sich beim Sterben effektiv viel aendern
wird.
Aber: Tode muessen weiterhin weh tun!
(Ich muss es wissen, denn ich bin schon einigen gefolgt :-))

Ein Beitrach mit Meinung von
Marida

-----------------------------------------------------------------------------



Re: Re: Nix Neues auf der Welt. (Gwynwaiter,  7. Mar 1996, 12:47:02):
~#! rn=Loco rt=825943320
~#! tid=825942919
Hallo Ihr,
Selbst wenn es moeglich wird, das "Nix Neues auf der Welt" textlich zu
aendern, wird sich der NNN-Club nicht umbenennen - Warum auch?

Ich schlage vor, dass -sobald das moeglich ist- die NNN-Mitglieder ihre
Meldung in "Schreib selber einen neuen Text in die MPA!" umbenennen.

Auf diese Weise hiesse es weiterhin:

NNN - Niemehr Nix Neues!

Gruss, Gwynwaiter, NNN!
.,

-----------------------------------------------------------------------------



MPA (Anakin,  7. Mar 1996, 13:56:33):
Hi,

wenn nun schon Nicht-Gildenmitglieder auf den Kanaelen nicht
mehr lauschen koennen, das koennte man doch auch dann in der
MPA einfuehren, d.h. es koennen nur noch Giledenmitglieder
die entsprechenden Rubriken lesen.

Anakin.
P.S.: Schmarrn? *zuck*

-----------------------------------------------------------------------------



Re: MPA (Laila,  7. Mar 1996, 13:59:49):
~#! rn=Anakin rt=826203393
~#! tid=826203393
Hi,

Ich meine, dass Nicht-Gildenmitglieder auf den entsprechenden Kanaelen, zwar
lauschen
duerfen, aber nicht senden. Damit waere der Neugierde der NGM's genuege getan
und
es wuerde keine unqualifizierten Kommentare geben

laila

-----------------------------------------------------------------------------



Re: Re: MPA (Anakin,  7. Mar 1996, 15:16:33):
~#! rn=Laila rt=826203589
~#! tid=826203393
Genau das hab ich irgendwo in der MPA auch schonmal geschrieben ..

Anakin.

-----------------------------------------------------------------------------



Re: Re: MPA (Fyt,  7. Mar 1996, 15:43:29):
~#! rn=Laila rt=826203589
~#! tid=826203393

Ich weiss nicht, ich find die Sache mit den beschraenkungen der
Kanaele etwas kontrproduktive. Bei der harten Vriante muss ich in
jede Gilde 'n Zweitie setzen, der dazu da ist, die Kanaele
mitzuloggen, damit ich nicht allzuviel 'verpasse' und in der weichen
Variante (nur mithoeren erlaubt) kommt vielleciht man ne frage auf -c,
die ich auch beantworten koennte, muesste jedoch erst den 'passenden'
Zweitie einloggen, damit der senden darf...

Ist es so schlimm, wenn ein Karateka sich das Gelaber auf dem Chaoskanal
anhoert und sich ab und zu mal mit reinhaengt?

Fyt.

-----------------------------------------------------------------------------



Re^3: MPA (Li,  7. Mar 1996, 16:18:47):
~#! rn=Fyt rt=826209809
~#! tid=826203393
Also ich frage mich: Was interessiert einen Chaot, was auf der karategilde
laeuft?
Li (ist gegen ein mithoeren auf fremden gildenkanaelen)

-----------------------------------------------------------------------------



Re^4: MPA (Anakin,  7. Mar 1996, 16:23:05):
~#! rn=Li rt=826211927
~#! tid=826203393
Es mag sein das du dir ueberhaupt nicht vorstellen kannst dass es sowas
gibt aber ich bin Chaot und mich interessiert schon ueber was
die Karateka und Zaubrerer sich unterhalten.
Wie dem auch sei, dann kommen halt noch mehr Zweities.

Anakin.

-----------------------------------------------------------------------------



Re^4: MPA (Fyt,  7. Mar 1996, 16:26:00):
~#! rn=Li rt=826211927
~#! tid=826203393

*rl escape on*
Das interessiert mich als dahintersitzenden Spieler, so brauch
ich naemlich nur ein Term offen zu haben und krieg alles mit,
ansonsten braeuchte ich mehrere. Wenn das jeder so macht, werden
wir schnell an die 200 oder 195 oder was-weiss-ich grenze kommen

Das kann nicht Sinn der Sache sein.

*rl escape off*

Klar, interessiert's mich 'n feuchten Kehricht, was die
Chaoten so treiben, ich muss mir nur immer das Genoergel
von jaf anhoeren, wenn er wieder mal nicht weiss, was in
seiner Gilde passiert.

Fyt.

-----------------------------------------------------------------------------



Re^4: MPA (Har,  7. Mar 1996, 17:40:13):
~#! rn=Li rt=826211927
~#! tid=826203393
Hmm, sehr sachliches Argument Li  ;-)
Nur nicht ganz einsichtig.

Har =:-)

-----------------------------------------------------------------------------



Re^6: Levelreform (Raffi,  7. Mar 1996, 19:02:47):
~#! rn=Snuggle rt=826064344
~#! tid=825703707
Lieber Snuggle

a) FP-Listen:
Sowie die FP mit in die ALLGEMEINE Stufe einfliessen glaube
ich das entsprechende Listen auch angelegt werden.

b) Altes system:
Richtig, das 'alte' System spiegelt die Gilden nicht wieder, aber warum
solte es? Die Gilden haben eigene Systeme (oder koennen sie haben).
Und diese haben m.E. UEBERHAUPTNIX miteinander zu tun - sonnst kommt
gleich wieder das Problem auf das man entweder die Gilden normieren
muss, was sehr schade waere,  oder dauern darum streitet welche
gildenwerte wie in das sytem einfliessen sollen.

c) Spezialisierung:
Genau das ist es ja was dadurch wieder kaputtgemacht wird.

Dieser Versuch hier alles in EINEN Wert zu zwaengen ist genauso
unsinnig wie jemanden nach seinem NotenDURCHSCHNITT zu beurteilen.

Ich bin der Meinung das wir es erst garnicht versuchen sollten den
grosse algemeingueltigen Wertmasstab einzufuehren. Lieber viele
Einzelwerte, die jeder fuer sich beurteilen kann. Die Stufe (nach
dem bisherigen System) ist nur EIN Kriterium, sozusagen der Einstieg.

So "wia im richtigm Lebm" kann sich dann jeder seine eigenen Ziele,
Wertvorstellungen und Masstaebe suchen.

Gruss
H.

P.S.: Nicht jeder muss Stufe 40 werden. Ich bin immernoch als Waldlaeufer
gluecklich, und freue mich derzeit darueber das meine Kentnisse des MG immer
ueberdurchschnittlich sin (auch wenn sie absolut gesehen bescheiden sind).

-----------------------------------------------------------------------------



Re^7: Levelreform (Cub,  7. Mar 1996, 21:18:07):
~#! rn=Raffi rt=826221767
~#! tid=825703707
Also, zum Thema FP-Listen: ich denke, dass das System, mit dem die Fp
versteckt sind, es unmoeglich macht, Listen in einem groesseren Umfang
ausschliesst. Sicherlich wird jemand auch mal das eine oder andere Versteck
kennen - aber dies ist eigentlich nur mit Magierhilfe moeglich. Bei der
Vielzahl von FP, die es gibt, wird das auf absehbare Zeit (zum Glueck) nicht
ausreichen, eine Liste zu machen, also braucht man darueber nicht mehr zu
diskutieren.

Konkret zu Raffi: Deine kritik an c) Spezialisierung kann ich nicht
nachvollziehen. Was sollte denn eine Level Deiner Meinung nach tun ? Nur nach
EPs gemessen werden ? oder nur nach AP ? - dann zwaengst Du die Leute doch
genauso in ein Korsett, etwas bestimmtes tun zu muessen, damit sie aufsteigen
koennen. Nimmt man aber alle Sachen zusammen, kann sich jeder seinen Teil
raussuchen (was Du doch willst!). Und wer einen besonders hohen Level haben
moechte, muss halt mehr als in einem bereich besonders gut sein. Ich sehe
ueberhaupt nicht, worin Dein Problem dabei liegt.
(Das haben schon viele vor mir geschrieben, aber ich musste mich nochmal eben
wichtig machen - aber damit genug jetzt ;-)

Rzne. Findet das neue Levelsystem Weltklasse.

-----------------------------------------------------------------------------



Re^8: Levelreform (Acrimon,  8. Mar 1996, 01:33:17):
~#! rn=Cub rt=826229887
~#! tid=825703707
Damit ist jetzt die einzige Taetigkeit, mit der man keinen Level aufsteigen
kann, das Reden und Diskutieren ueber Ebenen und mpa :-/

Acrimon, der Rote Ritter

-----------------------------------------------------------------------------



Re^7: Levelreform (Snuggle,  8. Mar 1996, 09:00:41):
~#! rn=Raffi rt=826221767
~#! tid=825703707
Hi Raffi,
nur ein kurzer Kommentar dazu:

Der Gesamtlevel soll ein Mass des Auskennens/Faehigkeit/Maechtigkeit des
Charakters sein, in den Gildenfaehigkeiten durchaus eingehen.
Hinzu kommt, dass insbesondere in der Chaos- und Karategilde der Aufstieg
an hohe Stufen in der Abenteurergilde gebunden ist.

Wer als Waldlaeufer gluecklich ist, der kann die ganze Diskussion sehr
viel lockerer sehen, da er wohl eh nie in Kalamitaeten kommen wird,
weil ihm irgendwelche Faehigkeiten fehlen und damit kann er nach dem neuen
System genau so gluecklich werde, wie nach dem alten.

So, das wars schon.
Tschaui

YTSnuggle

-----------------------------------------------------------------------------



Re^5: MPA (Li,  8. Mar 1996, 09:03:50):
~#! rn=Anakin rt=826212185
~#! tid=826203393
klaert mich doch mal auf! Was bringt es ,wenn ein Chaot weiss, was auf dem
Karatekanal abgeht?
Li (bittet um Aufklaerung(natuerlich nur in diesem Punkt))

-----------------------------------------------------------------------------



Re^6: MPA (Anakin,  8. Mar 1996, 09:12:05):
~#! rn=Li rt=826272230
~#! tid=826203393
Hi,

Naja ich bin halt am Leben und Leiden meiner Mitmudder interssiert,
und wenn man auf dem Laufenden sein will was im Mud so alles
passiert, da muss man sich dann auch alle Informationen
beschaffen die irgend moeglich sind, also auch auf den
GildenKanaelen lauschen. Denn wer viel weiss hat es einfacher
im Mud, und irgendwann will ich auch mal viel Wissen.
Deswegen interesiert es mich was auch auf [Karate:] und
[Zauberer:] abgeht. Ausserdem wenn ich mal die Gilde
wechseln sollte moechte ich ungefaehr wissen was mich erwartet
Das kann man wenn man auf den Kanaelen lauscht schon gut
absehen. Man koennte natuerlich sagen frag nen Zauberer
der sagt es dir schon, aber welcher Zauberer nimmt sich
Zeit mir das alles stundenlang zu erklaeren wo es
auf den Kanaelen so viel einfacher ist.

Anakin.

-----------------------------------------------------------------------------



Re^7: MPA (Li,  8. Mar 1996, 09:22:26):
~#! rn=Anakin rt=826272725
~#! tid=826203393
aha na gut, ist klar, ne!
aber eins muss ich noch anmerken:
> Man koennte natuerlich sagen frag nen Zauberer
> der sagt es dir schon, aber welcher Zauberer nimmt sich
> Zeit mir das alles stundenlang zu erklaeren.
Dazu muss ich einfach meinen Senf loslassen. Ist es echt so, dass man auf
Fragen: wie ist denn die gilde, und was muss man da machen, dauert es lange,
o.Ae. keine antworten bekommt? oder nur lass mich in ruhe, muss ueben?
Tja, dann bin ich wirklich froh, dass ich MAgier bin und mich als Speiler
nicht mehr durch dieses "Spielerfreundliche" MUd quaelen, muss, wo
offensichtlich niemand mehr Zeit hat, anderen zu helfen.
Tja, armes MUD!
Li

-----------------------------------------------------------------------------



Re^8: MPA (Anakin,  8. Mar 1996, 09:27:10):
~#! rn=Li rt=826273346
~#! tid=826203393
Klar bekommt man Antworten....aber die werden nicht so umfrangreich aus-
fallen als wenn man auf den Kanaelen lauschen koennte, ich kann
die Zauberer (oder generell neue Gilden) verstehen wenn sie lieber
ueben moechten. Also als die Chaosgilde angeschlossen wurde,
haben viele (auch Nicht-Gildenmitglieder) ueber die Kanaele
gefragt was man machen muss usw. Fand ich schon sehr praktisch,
es braucht nicht alles 20mal erklaert zu werden. Und wenn mich
zum 20ten mal einer fragt wie was wo in der Gilde, also irgendwan
kann ich dann auch nicht mehr.
Warum wurde das eigentlich so geandert, dass es nur noch
fuer Gildenmitglieder geht? Spontan faellt mir kein
Spieler ein der das gutheisst. Nur 5-6 Magier finden das Klasse

Anakin.

-----------------------------------------------------------------------------



Re^9: MPA (Anakin,  8. Mar 1996, 09:28:24):
~#! rn=Anakin rt=826273630
~#! tid=826203393
Nachtrag: Ich weiss nur von 5-6 Magiern, keine Ahnung
wer das noch gutfindet, mehr haben sich dazu ja bis jetzt
nicht geaeuusert.

Anakin.

-----------------------------------------------------------------------------



Re^9: MPA (Li,  8. Mar 1996, 10:03:39):
~#! rn=Anakin rt=826273630
~#! tid=826203393
Tja, ich weiss auch nicht. Ich war halt dagegen, weil ich dachte, der Kanal
waere dazu da, damit sich gildenmitglieder untereinander Interna zufluestern
koennen.
Da das offensichtlich aber nicht der Fall ist, sondern die Kanaele genutzt
werden, um sich uber die gilde zu informieren, waere ich auch fuer die
Lauschoeffnung fuer alle.
Li

-----------------------------------------------------------------------------



Re^8: MPA (Hadra,  8. Mar 1996, 10:19:58):
~#! rn=Li rt=826273346
~#! tid=826203393
och moensch li,

nimm doch einfach hin, dass das lauschen auf anderen kanaelen schlicht und
ergreifen der befriedigung der persoenlichen neugier dient. die tatsache, dass
man ggf. auch einen einblick in die gilde bekommt und ein paar infos an
zweities weiterleiten kann ist ein angenehmer nebeneffekt ;)
wenn wir nicht alle mehr oder weniger neugierig waeren, waeren wir sicher
nicht im netz

hadra - senft mal wieder rum

-----------------------------------------------------------------------------



Re^9: MPA (Li,  8. Mar 1996, 10:53:08):
~#! rn=Hadra rt=826276798
~#! tid=826203393
MAch ich doch, hast du meine letztn artikel nich gelesen?

-----------------------------------------------------------------------------



MPA (Anakin,  8. Mar 1996, 11:10:22):
Man kann jetzt wieder auf den Gildenkanaelen lauschen, senden aber nicht.

Anakin.

-----------------------------------------------------------------------------



Die Schilder... (Hate,  8. Mar 1996, 11:27:49):
Wer weiss schon wo die Schilder stehn....
Nunja, wer welche kauft kann sich jetzt freuen, denn die stehen jetzt eine
Woche lang!
Hate.

-----------------------------------------------------------------------------



Re^8: Levelreform (Pilgrim,  8. Mar 1996, 11:46:27):
~#! rn=Cub rt=826229887
~#! tid=825703707
Hi,

tja, bevor sich nun irgendwer aufmacht, und versucht, Listen von
ForscherPunkten zu erstellen
- was ich fuer alles andere als einfach halte-
will ich doch noch kurz sagen, dass man (anders als bei den ZT's)
die FP's (alle, oder Teile) innerhalb von einer Woche ohne groessere
Arbeit voellig neu verteilen/verstecken kann.

Also geh ich mal davon aus, dass, wenn den Magiern eine solche Liste
in die Haende kommt, spaetestens 3 Tage spaeter, keiner der da aufgefuehrten
FP's mehr gueltig sein wird ...

Pilgrim

-----------------------------------------------------------------------------



Re^9: Levelreform (Marita,  8. Mar 1996, 16:54:13):
~#! rn=Pilgrim rt=826281987
~#! tid=825703707

Hi,

mich interessiert, wie das Verteilen von Forschungspunkten technisch
realisiert wird.

1) Werden die gefundenen FP einfach 'nur' gezaehlt (kann wohl nicht sein),
oder werden sie in einem Vektor oder Mapping abgelegt? Wird das Hochzaehlen
der FP mit einer globalen Funktion (vielleicht FindEP() oder sowas)
durchgefuehrt, die dann wie bei FindPotion() prueft, ob man den FP noch zu
kriegen hat, und dann entsprechend weiterzaehlt?

2) Wenn man eine Aktion gemacht hat, die zum FP fuehren soll, wird die
Funktion, die ich oben FindEP() genannt habe, vom Raum (oder auch
Gegenstand?) aufgerufen, oder wird sogar das eigentliche FINDEN des FP
zentral gesteuert? Mussten alle Magier in ihren Gebieten nachtraeglich FP
selbst einbauen? Und nebenbei: Ist die Belegung des MG mit FP bereits in
allen Gebieten realisiert?

3) Dann die Sache mit den FP fuer nichtgefundene ZTs: Ich schliesse daraus,
dass FindEP() zentral und bedingungslos von FindPotion() aufgerufen wird,
unabhaengig davon, welches Ergebnis FindPotion() anschliessend zurueckgibt.
Liege ich da richtig?

Ich glaube nicht, dass ich hier Magiergeheimnisse antaste, da ich nicht nach
Inhalten usw. frage. Ich kann mir vorstellen, dass sich auch andere Spieler
fuer den programmiertechnischen Mechanismus dahinter interessieren, die
woanders Magier sind. Rauskriegen werden wir das sowieso. Das ganze einmal in
der MPA zu posten ist halt einfacher und mit weniger Nerverei verbunden. Und
nebenbei baut es mal wieder etwas die Distanz zwischen Spielern und Magiern
ab. :-) 5..6 Zeilen koennen schon eine Menge Antwort enthalten.

Ein interessierter Beitrach
Marita


-----------------------------------------------------------------------------



Re^10: Levelreform (Quasimodo,  8. Mar 1996, 17:46:58):
~#! rn=Marita rt=826300453
~#! tid=825703707

Pffff.....

Sinnvolle Artikel schreibend, Quasimodo

-----------------------------------------------------------------------------



Re^10: Levelreform (Catweazle,  8. Mar 1996, 18:32:48):
~#! rn=Marita rt=826300453
~#! tid=825703707
Hi!
Ok, ich versuchs mal, obwohl Wargon das besser koennte, der hats schliesslich
geproggt.

Machen wirs annem Beispiel. Ich moechte zum Beispiel einen FP in der
Abenteurergilde fuer das Anschauen der Uhr vergeben.
Ich (als eintragender Erzmagier) geh also in die Gilde (was nicht zwingend
noetig ist, die sache aber vereinfacht) und rufe in dem sogenannten
EPMASTER eine Funktion auf (AddExplorationPoint heisst die :-), die als
Werte den Raum 'Abenteurergilde' und das Detail 'uhr' bekommt.
Das wars schon :)
Was dahinter steckt?
Ganz einfach:

Der EPMASTER verwaltet ALLE EPs. Er weiss, aus einem mapping, welche FPs
es ueberhaupt gibt. In diesem Mapping stehen alle FPs mit Ort, Art (und
Nummer) verzeichnet. Das mapping ist (auch fuer Magier) nicht lesbar.
Wie kommst Du nun an Deinen FP?
Der ganze Trick steckt im /std/room, der Raum, der Grundlage fuer alle
Raeume ist. Wird ein Raum geladen (der erste Spieler betritt, die Gilde),
so passiert folgendes. Die Gilde fragt einfach mal ganz dumm beim EPMASTER
an. 'Sag mal, EPMASTER, gibts bei mir eigentlich einen FP?'.
Der EPMASTER schaut daraufhin in sein mapping und meist antwortet der dann
'Noe, ich hab nix fuer Dich'. Ist der Raum aber als FPRaum verzeichnet, dann
sagt er das dem Raum, der Raum merkt sich das dann.
Mache ich jetzt 'unt uhr' in der Gilde, dann fuehrt der Raum ganz normal
den 'unt' befehl aus, erzaehlt dem EPMASTER allerdings gleichzeitig (das
macht die entsprechende Funktion im /std/room) 'Hey, Catweazle hat grade
meinen EP gefunden, kannste Dir das mal merken?'.
Der EPMASTER gibt mir daraufhin den FP mit der entsprechenden Nummer, die
zu diesem 'unt uhr' gehoert. Dies funzt uebrigens auch bei Raumkommandos
oder Monsterantworten.
Diese Methode hat zwei Vorteile:
Einmal braucht man (bis auf ganz wenige Ausnahmen) den Raum als file ueber-
haupt nicht zu aendern. Die FP-Vergabe machen nur der /std/room und der
EPMASTER. Daher kann sogar ein einfacher Magier nicht feststellen, wo es
ueberhaupt einen EP gibt. Auch MIT Magierhilfe waere das Erstellen einer
ausreichend vollstaendigen Liste sehr utopisch. Nur die Erzmagier und der
Magier dem die entsprechende Region gehoert, wissen von den EPs.
Zum zweiten laesst sich ein EP, ist er einmal in einer Liste sehr schnell
aendern. Ich brauche nur das Detail im EPMASTER anders zu vergeben, das
neue Detail behaelt sogar die alte Nummer, sodass man keinen neuen EP
verteilt, sondern den alten umsetzt :)
Alles gecheckt?
Ich hoffe es wenigstens :)
Ich finde das uebrigens schwer genial geproggt, ein dickes Lob an Wargon.
Ich halte es fuer schlichtweg unmoeglich eine FPliste zusammenzubasteln.
Im Gegensatz zu den ZTs ist das FP-system daher ein WIRKLICHER Masstab
fuer das Koennen oder besser die Kenntnis eines Spielers (sieht man mal
von den steinalten Sehern ab :-)
Yours truly,
         Catweazle
PS: Puh ist das lang geworden :-)

-----------------------------------------------------------------------------



Re^9: Levelreform (Mupfel,  8. Mar 1996, 19:35:50):
~#! rn=Pilgrim rt=826281987
~#! tid=825703707
Auch bei den ZTs geht das, Pilgrim.
(vielleicht nicht garso schnell, aber es geht)

-mupfel-

-----------------------------------------------------------------------------



Re^9: MPA (Schrumpfi,  8. Mar 1996, 19:46:34):
~#! rn=Anakin rt=826273630
~#! tid=826203393
Tja, den Magiern is es ja egal, die koennen ja da senden und hoeren.
Ich faends auch besser, wenn man wieder auf allen Gildenkanaelen lauschen
kann. Man kann sich da ja auch ueber die Gilde informieren und vielleicht
tritt man dann ein. Anakin's Argumente find ich schon ueberzeugend.
Schrumpfi

-----------------------------------------------------------------------------



Re^11: Levelreform (Mupfel,  8. Mar 1996, 19:47:18):
~#! rn=Catweazle rt=826306368
~#! tid=825703707
'PS: Puh ist das lang geworden :-)' - genau. Der EPMASTER schaut jetzt in
sein ellenlanges mapping, ob der Spieler den EP schon hat oder nicht....
kostet das nicht tierisch Rechenzeit?

-mupfel-

-----------------------------------------------------------------------------



Re^8: Levelreform (Raffi,  8. Mar 1996, 22:22:42):
~#! rn=Cub rt=826229887
~#! tid=825703707

(Ups - verflixt lang geworden - aber mir faellt nix zum kuerzen ein :( )

Lieber Cub (oder wars Rzne oder wer? :-),

1.
> Was sollte denn eine Level Deiner Meinung nach tun ? Nur nach
> EPs gemessen werden ? oder nur nach AP ? - dann zwaengst Du die Leute doch
> genauso in ein Korsett, etwas bestimmtes tun zu muessen, damit sie
> aufsteigen koennen.
2.
> Nimmt man aber alle Sachen zusammen, kann sich jeder seinen Teil
> raussuchen (was Du doch willst!). Und wer einen besonders hohen Level haben
> moechte, muss halt mehr als in einem bereich besonders gut sein. Ich sehe
> ueberhaupt nicht, worin Dein Problem dabei liegt.

Hmm wenn ich das so lese kommt es mir vor, als wenn sich 1) und 2)
wiedersprechen.

Vieleicht liege ich ja total falsch. Ich versuch nochmal (etwas ver-
staendlicher?) meine Gedanken dazu aufzuzeigen:

a) Ich finde die  derzeitige Beziehung von AP und EP fuer sehr gut.
   Das System ist fuer jeden der schonmal ein Rollenspiel gemacht hat ver-
   staendlich. Mann kann relativ fluessig aufsteigen und Seher werden (das
   sollte innerhalb von 3-4 Monaten ohne Anstrengung moeglich sein), ohne
   das einem was geschenkt wird. Und bis Stufe 20 sind die EP und das
   Metzeln eher Nebensache. (Wenn ich die veranlassung fuer das neue System
   richtig mitbekommen habe, so geht es eh erst um die Stufen danach).
b) Die FP sind eine SPITZE Idee. Nur warum muessen sie in dieStufen mit ein-
   fliessen? Es ist doch Motivation genug das MG zu erkunden - so wird es
   hoechstens zum Zwang.
c) Metzeln? Warum nicht! Wer damit gluecklich ist immer den Top-Platz zu
   haben, der soll doch (Ok, zugegeben das ist der pure Neid der mich zu
   dieser Aussage treibt!).
d) ZT! Was die in der neuen Formel verloren haben versteh ich sowieso nicht.
   Die will eh jeder finden. Und tut es auch - damit ist der sittliche
   Naehrwehrt doch eher gering.
e) Apropos Formel: Es gibt hier im MG durchaus einige Leute die nichtmal mit
   der jetzigen Formel fuer sie EP/AP oder die Hitliste klarkommen (oder
   auch Schwierigkeiten bei der Pyra haben). Wenn jetzt 5 oder 6 Kriterien
   in die Berechnung der Stufe einfliessen wird das so unverstaendlich wie
   ein Lohnzettel im Jahre 14 nach Kohl! Und der hinterlaesst bei mir immer
   einen schaelen Geschmack  und Unbefriedigung.

Was mir eher vorschwebt ist ein System von moeglichst vielen, voneinander
unabhaengigen Masstaeben, die vor allem nicht unter einen gemeinsammen Hut
gezwungen werden.
Darunter verstehe ich z.B. sowas wie einen
- Fremdfuehrerwettbewerb: Wer kennt sich am besten im MG aus. Masstab ist
  eine Top-Liste (mit FP) die wie die anderen Top-Listen alle 6 Stunden auf
  den neuesten Stand gebracht wird.
oder
- Der Grosswildjagdverein: Wer alle Monster mindestens einmal erledigt hat
  wird der grosse Ueberall-Zugleich-Toeter. Auch hier wieder eine Liste der
  Besten, sowie 'Stufen' je getoetetem NPC.
oder was auch immer....
          (Achtung das sollen keine Gilden sein!)

Ziel ist es moeglichst viele verschiedene 'Messlatten' fuer den Begriff 'Gut'
anzubieten diese koennen, ja sollen sogar unverleichlich (*grins*) sein.

Diese werden untereinander im Wettbewerb stehen (so wie die Telekommreform
es uns ermoeglicht unter vielen schlechten Providern den schlechtesten zu
erwischen:).

Wer welche Messlatte bevorzugt ist individuell, und auch einem stetigen
Wechsel unterworfen - so wie die gilden: War es noch vor einem halben
Jahr absolut Hip Chaot zu sein, und da aufzusteigen (oder Karateka) so ist
gerade die Zauberergilde megain.

Insgesammt also eher wie im RL, wo es auch keinen gueltigen Supermasstab
gibt, sondern jeder seine eigen Masstaebe bzw. Staerken uns Schwaechen hat.

Unterm Strich heist das ganze: Weg mit dem Stufen als zentralem Kriterium!

So, in der Hoffnung das jetzt keiner mehr durchblickt

Gruss
H.

-----------------------------------------------------------------------------



Re^10: Levelreform (Acrimon,  9. Mar 1996, 03:04:34):
~#! rn=Marita rt=826300453
~#! tid=825703707
Zu 3: Es gibt KEINE FP fuer nichtgefundene ZTs, sondern das wird zu den ZTs
gezaehlt und nirgends woanders dazu.

Acrimon, der Rote Ritter

-----------------------------------------------------------------------------



Re^10: MPA (Creative,  9. Mar 1996, 08:56:32):
~#! rn=Schrumpfi rt=826310794
~#! tid=826203393

Kurz und gut: derselben Meinung.
-Crea-

-----------------------------------------------------------------------------



Re^12: Levelreform (Hate,  9. Mar 1996, 10:56:13):
~#! rn=Mupfel rt=826310838
~#! tid=825703707
Mappings sind assoziative Listen. Auffinden von Informationen auch in einer
groesseren solchen Liste sind mit minimalem Zeitaufwand verbunden.
Hate.

-----------------------------------------------------------------------------



The proof of the pudding... (Bobo,  9. Mar 1996, 18:24:37):
Ja toll,
dachte ich mir, als ich ueber die Einfuehrung der FP-Regelung nachdachte.
Endlich werden die Bemuehungen der Magier gewuerdigt, die sich in
naechtelanger Arbeit interessante Beschreibungen fuer alle moeglichen
und oft auch fuer die unmoeglichen Details ausdenken...
Sie hauchen den NPCs Leben ein und lassen sie auf unsere dussligen
Fragen antworten. So zum Beispiel auch auf der Sonneninsel, der Feuerinsel
und der Rieseninsel. Auf Schritt und Tritt begegnet man interessanten
Landschaften, ungewoehnliche Monster haben allerlei Antworten parat,
und der vom Forscherdrang beseelte Abenteurer erkundet Raum fuer Raum
mit Akribie, muss er doch staendig mit ueberraschenden Details rechnen.

Oder?

Meint Ihr nicht, das waere eine lohnenswerte Perspektive?
Vielleicht findet sich ein aufstrebender Jungmagier, der alten Gegenden
neues Leben einhaucht und sich nicht am Standard vergangener Tage
orientiert, sondern phantasievoll und kreativ seine Ideen verwirklicht.
Dankeschoen,
twBs.

-----------------------------------------------------------------------------



Armer Sandtiger (Hawk, 10. Mar 1996, 14:56:23):
Hi, heute achte ich, ich tu
dem kleinen Sandtiger was gutes...
Leider kann man den nicht mal kraulen.
zu schade. Armer Kater.
Heute mal tierlieb, HAWK.

-----------------------------------------------------------------------------



Re^12: Levelreform (Jof, 11. Mar 1996, 09:25:09):
~#! rn=Mupfel rt=826310838
~#! tid=825703707

 Nein, ob der Spieler einen EP schon hat oder nicht, steht in einer Bitmap
im Spieler. Der EPMASTER muss nur in seinem Mapping nachsehen, welche
Nummer der EP in diesem Raum hat; mappings haben aber logarithmische Such-
zeit, daher ist die Groesse des Mappings einigermassen irrelevant.

 Jof

-----------------------------------------------------------------------------



Re^9: Levelreform (Ryne, 11. Mar 1996, 12:51:25):
~#! rn=Raffi rt=826320162
~#! tid=825703707
Ok, mal andersrum angegangen: Was erwartest Du von einer Topliste, Raffi ?

Fuer mich ganz klare Sache: Sie sollte die besten Allroundspieler, und nicht
wie die jetzige lediglich die ausdauerndsten Metzler von Standardmonstern. Das
schliesst aber doch Deine Loesungsansaetze nicht aus! Es ist durchaus denkbar,
dass sich die Leute mit den meisten FP in Deiner Fremdenfuehrerliste und die
Metzler halt in einer Metzelliste wiederfinden. Aber die Topliste - vielleicht
sollte man sie zur Klaerung des Begriffes Topliste in
__AllroundMasterMegaAuflistungvonSehernmitvielenFPEPAPZT__ umbennenen, damit
auch jeder versteht, was sie darstellt - wird und sollte sinvollerweise aus
mehr als einem Kriterium zusammengesetzt sein.

Ich denke, wenn man es so definiert, duerftest Du doch auch zufrieden sein.

Rzne.

-----------------------------------------------------------------------------



Re^13: Levelreform (Catweazle, 11. Mar 1996, 13:18:15):
~#! rn=Hate rt=826365373
~#! tid=825703707
Hinzu kommt, das nur einmal in dieses Mapping geschaut wird, naemlich
dann, wenn der Raum geladen wird. Das fuehrt uebrigens zu einem riesen-
grossen LAG und zwar bei jedem Crash/Reboot. Sonst aber kaum :)
YTC

-----------------------------------------------------------------------------



Wanderer (Kramka, 11. Mar 1996, 15:45:54):
Hallo,
koennte nicht mal einer den Wanderer auf der Hochebene ein wenig
ueberarbeiten? Meiner Meinung nach sind die Informationen, die man bekommt
recht duerftig ! Er sollt einem zumindest genau sagen WO eine Quest beginnt
und WEN man ansprechen muss. Auch ein wenig auf die Gefaehrlichkeit koennte er
zu sprechen kommen, aber dafuer kann man ja auch die Stufe der Quest zu rate
ziehen.
Ist auch manchmal interessant, ob man Geld braucht ! Haette ich bei Hilbert
nicht zufaellig 1000 Muenzen dabeigehabt waere ich schoen aufgeschmissen. Dann
hilft doch nur 'ende' und dann ist der Rest der Ausreystung auch wech.

So, das wars.

Kramka, untertaenigster Diener von Laila

-----------------------------------------------------------------------------



Re^3: Levelreform (Roesti, 11. Mar 1996, 18:26:01):
~#! rn=Durian rt=825967681
~#! tid=825703707
>Oder hast Du keine Lust komplexere Komplettloesungen durchzuspielen?

Ok Ich hab auch schon mal mit KL gespielt...Aber nur einmal und das war mir
eine Lehre!!!
Ich finde es fuer mich selbst idiotisch nur einfach durch eine Queste
durchzuhecheln und nix daneben zu machen.
Aber...
Ich habe auch keinen Boch nur ins Mud zu kommen um zu Questen, alte Gegenden
zum x-ten mal anzuschauen nur um meinem GL zu erhoehen.
Ich spiele weil es mir Spass macht.
Mir persoenlich macht es keinen Spass an allen Stelle super aufmerksam zu
sein und jedes Detail anzusehen.
Sicherlich.Oftmalt tu ich das.Aber nur weil es mir Spass macht oder weil eine
Stelle gut oder spassig beschrieben ist, und nicht weil es Punkte dafuer gibt.
Roesti

-----------------------------------------------------------------------------



Re^3: Levelreform (Roesti, 11. Mar 1996, 18:27:00):
~#! rn=Fyt rt=825975829
~#! tid=825703707
>Neue Spieler kommen schon jetzt nicht in den Genuss hoher Level.
>Oder wielange metzelst Du fuer 100 MEp?

Spitze also machen wir es noch schwerer.

Roesti

-----------------------------------------------------------------------------



Re^4: Levelreform (Roesti, 11. Mar 1996, 18:31:33):
~#! rn=Raffi rt=826034336
~#! tid=825703707
Nicht das es heist ich waere gegen jeden Vorschlag...
Den Vorschlag mit den listen find ich gut.

Roesti.

-----------------------------------------------------------------------------



Re^5: Levelreform (Roesti, 11. Mar 1996, 18:37:39):
~#! rn=Jof rt=826107576
~#! tid=825703707
> Wer sagt, das es schwieriger wird, eine Stufe aufzusteigen? Es wird ANDERS
>gehen, aber nicht zwingend SCHWIERIGER. Im Gegenteil, man erspart sich
>im Normalfall sogar wueste Metzelorgien zum Aufstieg ...

Ah ja...
Es wird nicht schwieriger....

Ich errinere mich noch daran das es mal irgendwann einen zusatz an der
erhoehung gab...
Als die Regelung neu eingefhrt wurde musste man erstmal die AP der letzen
Stufen abzahlen bevor man ueberhaupt an die AP fuer die naechste Stufe denken
durfte...

Genauso sieht es doch auch jetzt aus.

Oder irre ich mich?

Roesti.

-----------------------------------------------------------------------------



Re^5: Levelreform (Roesti, 11. Mar 1996, 18:40:08):
~#! rn=Marita rt=826147034
~#! tid=825703707
Ach nochmal ne frage zu den Toden...
Wenn ich da auch Forscherpunkte verliere...
Wie bekomme ich die dann wieder?
Indem ich die selben Gegenden erneut abklappere, oder hab ich wieder alles
falsch verstanden und verliert man garkeine FP's?

Roesti ist sich da nicht so ganz im klaren...

-----------------------------------------------------------------------------



Gildenlevel(GL) oder Gesammtlevel (GL) (Roesti, 11. Mar 1996, 19:00:10):
Ist der GL ein ersatz fuer den GL oder ein zusatz?
Wenn er ein Zusatz ist,wie wirk sich der Gesammtlevel auf Gildeninterne
sachen (Feuerball,Gildenlevel) aus?
Wirkt er sich da ueberhjaupt aus?
Wenn nein,Welchen vorteil habe ich vom Gesammtlevel?Gibt es neue Vorteile
oder erhoehen sich dadurch die Sats?(Als ersatz fuer die ZT's? )

Falls der GL  ein Zusatz zum Gildenlevel ist,kann man meine vorherigen
Artikel zum groesten Teil unbeachtet lassen weil sie aus einem anderen Grund
geschrieben wurden.

Roesti.

-----------------------------------------------------------------------------



Re^10: Levelreform (Raffi, 11. Mar 1996, 19:53:59):
~#! rn=Ryne rt=826545085
~#! tid=825703707

Hmm Ryne, jep, damit kann ich schon etwas mehr anfangen. Eine

"__AllroundMasterMegaAuflistungvonSehernmitvielenFPEPAPZT__"

ist eine nette Idee. insbesondere 2 Punkte gefallen mir dabei:

a)   _.....Seher....._
und
b)   _.....Auflistung....._

Was fuer mich heisst das das Ding erst ab Stufe 20 relevant ist, und
von den Stufen unabhaengig.

Wenn ich mich recht erinnere begann die Diskusion doch damit das es
in den hoeheren Stufen nurnoch ums Metzeln geht. Das ist ein ernst-
zunehmendes Problem (auch wenn ich es als Waldlaeufer nicht beurteilen
kann), und hier ist es auch sinvoll was neues zu machen.

Wobei ich jedoch (mal ganz abgesehen von der Idee der vielen unab-
haengigen Masstaebe/Noten/Listen) Bauchweh habe ist das das MG fuer
Neulinge (ja, sowas gibts auch) undurchsichtiger (und schwerer?) wird.
Es gibt gewisse Anklaenge an das Monser_muessen_staerker_werden_weil_
ja_schon_5_Seher_ausreichen_zum_killen Thema. Ich bitte mal sich daran
zu erinnern wie es war als ihr das erste mal im MG (oder einem anderen
Mud) wart! Nein nichht beim letzen 2tie, sondern wirklich beim ersten
mal: Alles war voellig neu, ungewohnt ja sogar unverstaendlich. Und das
obwohl es nichtmal AP oder sowas gab! Und jetzt soll den Anfaengern ein
derart komplexes System vorgesetzt werden?

Ich versuch mal Meine Idee (nach Rynes Modifikation, die mir sehr half)
neu zu formulieren:

a) Das Stufensystem bleibt bis Stufe 20, was seine Grundlage (AP/EP)
   anbelangt so wie es jetzt ist.
b) Ab Stufe 20 fliessen zusaetzliche Komponenten (FP/Monster/?) ein,
   und werden (neben EP/AP) zum bestimmenden Faktor fuer den Aufstieg.
c) soweit moeglich (oder sinvoll, oder arbeitswuetiger Magier vor-
   handen) werden zusaetzliche Masstaebe geboten, die nix (oder
   zumindest nicht primaer) mit den Stufen zu tun haben.
d) es werden fuer alle relevanten Kriterien (und mehr?) Listen ange-
   boten mit denen die Spieler ihre Fortschritte auch nachvollziehen
   koennen, bzw. Ihnen auch die Relation zu ihren Mitspielern anzeigen

Ein Seher (Stufe 20) waere demnach sowas wie ein Spieler der ein Grund-
studium bzw. eine Lehre abgeschlossen hat.

Gruss
H.

P.S.: Die unter d) denanten Listen sollten aehnlich den jetztigen Top-Listen
nur alle 6 Stunden, oder sogar nur 1x taeglich erneuert werden um so das
FP-finden zu erschweren :)

-----------------------------------------------------------------------------



Noch ne Idee fuer die Stufenreform (Raffi, 11. Mar 1996, 19:55:23):

Ach ja, noch ein Vorschlag fuer das neue System (unabhaengig vom Rest)
Wie waere es wenn die AP-Grenze oberhalb Stufe 20 sich nicht mehr am
Eintrittsdatum Orientieren wuerde sondern an der Menge der aktuellen
Questen?

Momentan ist es so das man 65% der AP zum Zeitpunkt des ERSTEN Spielens
braucht um Seher zu werden. (gute Regelung) Fuer die Stufen ueber 20
sollte man zu einem Anteil der DERZEITIGEN Questen uebergehen. Ich
wuerde vorschlagen dabei ja Stufe 5% der AP, mit einem Startwert von
50% bei Stufe 21 bis zu einem Maximum von 90 oder 95% zu verlangen.

Am besten ein Beispiel:
Stufe 20:  65% der AP vom Zeitpunkt des ersten Spielens
Stufe 21:  50% der jeweils aktuellen AP
Stufe 22:  55% der jeweils aktuellen AP
Stufe 23:  60% der jeweils aktuellen AP
Stufe 24:  65% der jeweils aktuellen AP
Stufe 25:  70% der jeweils aktuellen AP
Stufe 26:  75% der jeweils aktuellen AP
Stufe 27:  80% der jeweils aktuellen AP
Stufe 28:  85% der jeweils aktuellen AP
Stufe 27:  90% der jeweils aktuellen AP

Dadurch ist gewaehrleistet das sich die Seher auch ueber Stufe 20 um
die Komplettierung aller Questen, auch der Neuen kuemmern.

Gruss
H.

-----------------------------------------------------------------------------



Re: Noch ne Idee fuer die Stufenreform (Raffi, 11. Mar 1996, 20:03:37):
~#! rn=Raffi rt=826570523
~#! tid=826570523

Achtung: Nachtrag!

Dhojakt hat mich gerade an die Disk zum Thema Questen zum StufenERHALT
hingewiesen. Diese Idee hat nix mit Stufenerhalt zu tun - wer eine bestimmte
Stufe hat, der soll sie nicht verlieren.

Es geht alleinig um den Aufstieg in die naechsthoehere Stufe - nur die
Dortigen Kriterien sind zu erfuellen - ein ABstufen ist das letzte was mir
einfallen wuerde.

Gruss
H.
(auch so ein alter Besitzstandswahrer)

P.S.: ich will ja nicht vom Waldlaeufer zum blutigen Anfaenger zurueckgestuft
werden!

-----------------------------------------------------------------------------



Re^4: Levelreform (Jof, 12. Mar 1996, 10:38:15):
~#! rn=Roesti rt=826565220
~#! tid=825703707

 Nein, hoehere Level zu erwerben wird nicht schwerer; ganz im Gegenteil, im
normalen 'Questverlauf' ohne KL wird man die meissten FP finden und dabei
aufsteigen. Man steigt also sozusagen 'automatisch' im Spielverlauf auf,
statt aktiv durch die Gegend zu laufen und stumpf metzeln zu muessen, um
dies zu erreichen.

 Jof

-----------------------------------------------------------------------------



Re^6: Levelreform (Jof, 12. Mar 1996, 10:39:37):
~#! rn=Roesti rt=826565859
~#! tid=825703707

 Ja Du irrst Dich. Damals wurde einfach zu den weiterhin gleichbleibenden
Bedingungen zum Aufstieg eine weitere hinzugefuegt; JETZT wird das System
vollstaendig veraendert. In meinen Augen ein wesentlicher qualitativer
Unterschied ...

 Jof

-----------------------------------------------------------------------------



Re^6: Levelreform (Jof, 12. Mar 1996, 10:40:17):
~#! rn=Roesti rt=826566008
~#! tid=825703707

 Du verlierst bei Toden keine FP; das waere ja voellig unsinnig, ebenso wie
Stats verlieren oder AP verlieren.

 Jof

-----------------------------------------------------------------------------



Re^6: Levelreform (Catweazle, 12. Mar 1996, 19:59:58):
~#! rn=Roesti rt=826566008
~#! tid=825703707
Nein, du verlierst natuerlich keine FP, die Du suchen musst :)
Dein Tod verwirklicht sich in einem _Malus_, der es fuer Dich erschwert,
weiter im Level aufzusteigen.
Um das mal im Detail klar zu machen.
Anstatt EP gibt es jetzt einen kleinen internen Zaehler, der sich Stufen-
punkte (SP) nennt. FP, ZT, EP, AP geben eine festgelegte Menge an Stufen-
punkten. Dadurch entsteht die Moeglichkeit einer Gewichtung.
Hat man eine bestimmte Menge SP erreicht, oder besser ueberschritten, kann
man
im Level aufsteigen. Hat man einen Malus braucht man halt mehr, naemlich
SP+MP(Maluspunkte), wenn man aufsteigen will.
MP kann man allerdings wesentlich leichter abarbeiten, als SPs dazugewinnen.
YTC

-----------------------------------------------------------------------------



Re: Noch ne Idee fuer die Stufenreform (Boing, 12. Mar 1996, 20:04:03):
~#! rn=Raffi rt=826570523
~#! tid=826570523
Der Wert fuer Stufe 20 liegt allerdings bei 80% (wenn das nicht irgendein
Terrorist hinter meinem Ruecken geaendert hat).
  Boing

-----------------------------------------------------------------------------



Re^6: Levelreform (Catweazle, 12. Mar 1996, 20:14:20):
~#! rn=Roesti rt=826565859
~#! tid=825703707
Hihi! :-)

Ich glaube Du hast falschrum gedacht :)
Tatsaechlich ist es sogar _einfacher_ im Level aufzusteigen.
Ih glaube Du macxhst den Fehler, Dich an das alte System anzulehnen. Das
machen wir nicht.
Da wir das Levelsystem komplett umkrempeln ist es schwierig Vergleiche anzu-
stellen. Trotzdem glaube ich, das Du mit dem Neuen System besser aussiehst.
Lehnen wir uns dochmal an die Topliste.
Die Topliste hat im Moment eigentlich nix zu sagen, da stehen nur die
Grossmetzler drin. Genauso sieht das mit dem Alten Level aus, Da stehen
nur die Quester hoch im Kurs.
Mit dem neuen Levelsystem hast Du die Chance einiges besser dazustehen,
als die Metzler, weil _das_ naemlich kaum noch wertet, und mal ehrlich...
metzeln ist ab einem gewissen Augenblick wirklich keine grosse Kunst mehr,
die man belohnen sollte :-) (von ein paar Ausnahmen abgesehen).

Ich verstehe aber glaub ich Dein Problem, Du siehst den Level, oder besser
das _Erhoehen_ ebenselbigens als vordringliches Problem an, weils
schwieriger (?) wird. Da haengst Du auch am alten System.
20 ist naemlich NICHT der Level den man braucht um Seher zu werden.
Seher wird man in Zukunft nicht mit Level, sondern mit APs und der FP-
Beschraenkung.
So kann es passieren, das man Seher wird mit Level 18 oder vielleicht
schon Level 45, jenachdem, ob man viele oder wenig FPs hat. Seherwerdung
ist _nicht_ mehr Levelabhaengig. (ist vielleicht bisher so klar nicht
gesagt worden).
Die Levelung ist wirklich nur noch ein echtes Unterscheidungskriterium
zwischen den Spielern, und DAFUER muss man halt alles mischen, was es
so gibt.
Weiter ist 20 nicht mehr das Mass aller Dinge, der Wert des maximal
moeglichen Levels liegt einiges ueber dem Level eines 1.08m-TopSehers.

So, jetzt hab ich mich wieder verhaspelt, aber vielleicht schaut ja doch
jemand durch und versteht es :-)
Yours truly,
         Catweazle

-----------------------------------------------------------------------------



bodenschaetze (Warlord, 12. Mar 1996, 23:05:32):
mir kam da nachts so ne idee:

wie waere es, wenn man bodenschaetze (gold, silber, diamanten, etc.)
finden koennte. sie liegen irgendwo versteckt. sie sind auch nur
begrenzt vorhanden. wenn man sie ausbeutet, sind irgend wann keine
mehr da. wenn ein spieler irgendwo was findet, kann er entweder
seinen claim anmelden und kein anderer spieler kann sein versteck
ausbeuten oder man kann sein versteck noch besser tarnen, so das
es fuer andere spieler schwerer wird es auch zu finden. die groesse
des vorrates sollte crash sicher sein, aber wie schon gesagt bei
ausbeutung abnehmen.
evtl. kann man sich auch ne richtige mine buddeln, die aber auch
einstuerzen kann (waere doch was fuer zwerge)

	warlord

-----------------------------------------------------------------------------



waffe / ruestung schmieden (Warlord, 12. Mar 1996, 23:13:33):
noch ne idee:

und zwar wie waere es, wenn man seine waffen / ruestungen
selbst schmieden koennte. die 'zutaten' muss man sich zuerst
logischerweise besorgen. der aufwand ist abhangig von der art
und qualitaet der waffe / ruestung.

ich will nicht zu sehr ins detail gehen, sonders einfach mal
eure meinung dazu hoeren

                        warlord

p.s.: man muss dann nicht unbedingt metzeln fuer eine gute
      ausruestung, der aufwand dafuer ware aber gleich oder
      groesser

p.p.s. : sorry fuer die typos

-----------------------------------------------------------------------------



Re: waffe / ruestung schmieden (Mupfel, 13. Mar 1996, 01:17:35):
~#! rn=Warlord rt=826668813
~#! tid=826668813
Das geht so ein wenig in die 'Gilde der Schmiede' (war mal ne Idee von mir).
Als Anfaenger kann man 'nur' Waffen reparieren, und am Ende als 'Obermeister
der Schmiede' quasi aus einem Stueck Metall oder gar Metallerz ein BSS oder ne
sehr gute Ruestung schmieden. Nette Idee an sich hab aber keien Zeit das zu
proggen.... vielleicht ein aufstrebender Jungmagier...?

-mupfel-

-----------------------------------------------------------------------------



Re: Re: waffe / ruestung schmieden (Hate, 13. Mar 1996, 13:30:43):
~#! rn=Mupfel rt=826676255
~#! tid=826668813
na ob die Idee so jung ist :)
Das Seherkonzept basiert auf dem prinzip nur ist es nicht auf Waffen und
Schmieden basiert.
Tja, nur sagen viele, wenn man es ihnen vorfuehrt...Ist das nicht zu komplex?
Es traut sich immer keiner....
hate.

-----------------------------------------------------------------------------



Re: waffe / ruestung schmieden (Morgoth, 13. Mar 1996, 13:38:11):
~#! rn=Warlord rt=826668813
~#! tid=826668813
nette idee, nur dann muessen halt die materialien definiert sein. wie z.b.
eisen, gold, silber usw...es waere ein ganzer haufen arbeit alle alten
waffen/ruestungen mit dem material zu versehen, aber gut faend ich es auch
**zwinker**
morgoth

-----------------------------------------------------------------------------



Re: Re: Noch ne Idee fuer die Stufenreform (Terrorist, 13. Mar 1996, 16:01:20):
~#! rn=Boing rt=826657443
~#! tid=826570523
Ich hab nichts geaendert.

okok schmarrn

-----------------------------------------------------------------------------



Re: Re: waffe / ruestung schmieden (Mupfel, 13. Mar 1996, 21:13:59):
~#! rn=Morgoth rt=826720691
~#! tid=826668813
Morgoth wieder mit seinem nervoesen Augenleiden :-)
Was der immer zu zwinkern hat *kicher*

Mal im Ernst... ich glaube das mit dem Material kann man im MG kaum
verwirklichen. Viele 'alte' Gegenden werden nicht mehr aktiv 'gepflegt' und in
denen muessten ja auch die Waffen/ruestungen auf 'Material' umgestellt werden.
Man *kann* zwar Defaultwerte beim createn setzen (ich kenn ein MUD da wird das
so gemacht :-), aber jetzt fuer ALLE Sachen das nachtraeglich einzufuehren
waere ein bisschen sehr viel Aufwand, schaetze ich.

-mupfel-

-----------------------------------------------------------------------------



Re^7: Levelreform (Jimdigriz, 14. Mar 1996, 00:25:09):
~#! rn=Catweazle rt=826658060
~#! tid=825703707
Also, auch Re: auf Jofs artikel zum einfachen sammeln der FPs waehrend
der quests.

1. Ich bin absolut fuer das neue System, muss aber auch mal meine
paranoiden Bedenken genau an dieser Stelle aeussern :-)
Bekommen nun Altseher (*roechel* *hust*) eine Art Augschlag, oder
muessen sie sich nochmal ganz genau durch alle schon laengst
geloesten Quests quaelen ?
2. Also an einem Platz in der topliste lag mir eigentlich nie
 besonders was, aber einige Gilden verlangen (noch)
einen bestimmten (alten) Level um einen Gildenlevel
aufzusteigen. Wird das nun auch auf die SP umgeaendert ?

Ja aeh also ich wuerd schon gern 8. Dan werden irgendwann, wird
das jetzt (fuer mich) schwerer oder leichter ? ;-))

Ja ich weiss ich bin paranoid, egal
 Ciao

 James Bolivar diGriz

-----------------------------------------------------------------------------



Re^3: waffe / ruestung schmieden (Warlord, 14. Mar 1996, 00:27:44):
~#! rn=Mupfel rt=826748039
~#! tid=826668813
also ich versteh das problem nicht so ganz

man muesste das zubehoer natuerlich ueberall verteilen und das
koennte sich bei 'ungepflegten' gegenden als problem erweisen.

aber wo ist das problem bei den waffen / ruestungen selbst?
bei den standardwaffen sind es so viel ich weiss doch nur
ein paar parameter die die qualitaet, etc. bestimmen.
beim schmieden werden diese werte dann beeinflusst, je nach
material, geschicklichkeit und ablauf des schmiedens (z.b.)
es werden also neue waffen produziert.
man kann ja auch einschraenkungen einfuehren, z.b. unver-
kaeuflich oder nur vom produzenten fuehrbar, wenn es in
dieser richtung probleme geben sollte.
wieso muessen dann die gegenden auf diese waffen / ruestungen
umgestellt werden ? (oder habe ich da was falsch verstanden ?)
ich sehe das grosse problem beim proggen des schmiedeprozesses,
sonst eigentlich nicht. (ok, ok, ich bin hier kein magier, nur
in einem anderen mud, aber da zur zeit nicht aktiv *schaem*)

                        warlord


-----------------------------------------------------------------------------



Re^4: waffe / ruestung schmieden (Caradhras, 14. Mar 1996, 04:05:55):
~#! rn=Warlord rt=826759664
~#! tid=826668813
Hm, wenn Du Mupfels Artikel nochmal liest, wirst Du feststellen, dass
es fuer die unteren Level darum ging, als Anfaenger irgendwelche Waffen
zu reparieren und noch nicht welche selbst machen zu koennen.

Das selbst machen scheint mir auch nicht das grosse Problem zu sein,
da wuerden sich im Verlauf der Zeit schon einige Stellen anbieten
an denen man solche Metalle verstecken koennte.

           Caradhras

-----------------------------------------------------------------------------



Re^8: Levelreform (Wargon, 14. Mar 1996, 10:00:05):
~#! rn=Jimdigriz rt=826759509
~#! tid=825703707
  Hi!
Zu 1.: Wenn man alle Stufenpunktbeitraege zusammenzaehlt, sollte sich bei den
meisten nicht viel an den aktuellen Leveln aendern, zumindest nicht nach
unten.
Zu 2.: Siehe oben.
  Wargon

-----------------------------------------------------------------------------



Fehler ??? (Chicola, 14. Mar 1996, 10:36:21):
Huhu :)

Mir ist es schon ein Weilchen aufgefallen, aber jetzt muss ich es mal posten
:=)
Folgendes passiert mir haeufig:

Man nehme Person A die zB 10000 muenzen aus einer Kiste nimmt, bis sie nichts
mehr tragen kann( syntax: nimm 10000 muenzen aus kasse). Dann nehme man die
Person B die eingibt "nimm alles aus kiste". Erstaunlicherweise bekommt Person
B zuerst nur 10000 Muenzen zugeteilt, obwohl sie ALLES wollte, eben genau die
10000 Muenzen die Person A von den anderen Muenzen wohl abgetrennt (???) hat.

Eine sich wundernde Chicola :)

-----------------------------------------------------------------------------



Scripts contra EPs :) (Chicola, 14. Mar 1996, 10:47:14):
Nochmal HUHU :)

Ich frage mich, warum ich, wenn ich einen Ork zum 100000....ten male kille,
immer wieder die (fast) gleiche EP-Anzahl dafuer bekomme. Waere es nicht
guenstiger, wenn die gewonnene Erfahrung mit der Haeufigkeit des Mordes
abnimmt ??
Ich weiss, das wuerde wieder ne Menge Aufwand und Rechenzeit erfordern, aber
ich wolle mal meine Idee loswerden: Man gibt jedem Spieler ein kleines mapping
noch mit, auf dem die verschiedenen Monsterklassen( kleiner Ork, grosser Ork,
Troll, Hydra, Goblin und andere Standartmonster) eingetragen werden, Dabei
sollte es keine Rolle spielen, ob ich nun den Ork in der NW-Ecke des Orklagers
oder in der SO-Ecke meine. Dann werden im Mapping die Anzahl der Toten
eingetragen, und dann weniger EPs vergeben, wenn schon viele Tote in der
Klasse stehen.

Das wuerde, denke ich zumindest verhindern, das man per Script immer wieder
die selben Monster killt, weil sie dann kaum noch EPs bringen :)

Soweit mal mein Vorschlag im Rohentwurf und nun haut mal kraefig auf mich ein
! Aber VORSICHT ich kann Karate :) Ciao    Chicola

PS: Natuerlich muesste die Liste in gewissen Abstaenden auch mal wieder
entleert werden *grins*

-----------------------------------------------------------------------------



Re: Fehler ??? (Tzuiop, 14. Mar 1996, 11:01:23):
~#! rn=Chicola rt=826796181
~#! tid=826796181
Hast Du etwa 'nen Zweitie ??? :))

-----------------------------------------------------------------------------



re:re:fehler??? (Chicola, 14. Mar 1996, 11:03:34):
JA:)


-----------------------------------------------------------------------------



Re: Scripts contra EPs :) (Creative, 14. Mar 1996, 12:21:16):
~#! rn=Chicola rt=826796834
~#! tid=826796834

Und wieder einmal heissts 'MG goes DIKU' :)
Was aber nicht stoert, sondern auch logisch waere...
Nur Anmerkung: In den meisten DIKUs kriegt man indirekt proportional zum
Level die XP's. d.h. leichte Viecher am Anfang geben noch viel, mit hoeherem
Level dann nur noch so 2 XP... Dagegen schwere sind am Anfang eh unkillbar
und geben dann langsam aber sicher irgendwann mehr XP's, aber auch abnehmend.

-Crea-


-----------------------------------------------------------------------------



Re^9: Levelreform (Jimdigriz, 14. Mar 1996, 20:01:56):
~#! rn=Wargon rt=826794005
~#! tid=825703707
Neee, darum gings mir gar nicht, dass die aktuelle reihenfolge
erhalten bleibt oder so...

Ich hab ja nur 1.3 Mep, aber ich will wissen ob ich ne chance hab
ohne alles nohcmal abzulaufen trotzdem gewisse gildenanforderungen
zu erreichen. Bisher ging das eben it metzeln was mich eh lanbgweilt,
aber allle Questst nochmal machen ... *stoehn*
..
JdG

-----------------------------------------------------------------------------



levelreform (Skipper, 14. Mar 1996, 22:14:33):
Ich hab auch noch ein paar Anmerkungen, obwohl aus den Artikeln
einiger Magier ja eigentlich rauszulesen ist, dass bereits alles
beschlossen ist.

Grunsaetzlich finde ich eine Reform gut. Damit nicht nur die Metzler,
sondern auch die anderen fuer ihren Spass belohnt werden.

Die Prozentzahl mit der die EP in den Gesamtlevel eingehen sollen,
sind meines Erachtens zu gering. An Rynes EP gemessene 10% bedeuten fuer
99% der Spieler 0-3% Anteil am GL.
Wozu stehen die Monster ueberhaupt in der Gegend rum? ;)
Nur um sich Ruestungen oder Waffen zu besorgen? Die braucht man ja
kaum, wenn man nicht kaempft.
Man kann ja noch die Kampfscenen aus den Quests nehmen, die Gildenattribute,
die den Kampf betreffen rausnehmen und dann mal sehen was uebrig bleibt... ;))
Damit meine ich, das im MG sehr viel fuer den Kampf geproggt wurde und
vom Kampf abhaengig ist und dass zum Teil sehr viel getan werden muss, um
gut metzeln zu koennen.
Nur um das Scripten zu verhindern, den Leuten den Spass am Metzeln zu
nehmen, finde ich nicht OK.
Und nur die Metzler beim Tod zu bestrafen, finde ich auch nicht OK.
(Spaetestens wenn neue Spieler nach neuer Regelung auch weit oben sind,
haben die alten erhebliche Nachteile)
Da sind Vorschlaege, wie verstreute Gebeine oder so besser, da haben
alle was von ;)
Sonst muesste man wirklich die muehsam ermetzelten EP in ein paar
Freitode investieren, um Chancengleichheit zu wahren.
Bisher waren die EP das massgebende Kriterium.
Viele Seher haben sehr viel Zeit und Geld in die EP stecken muessen, um
einen relativ hohen Level zu erreichen. Das sollte mit einer neuen
Regelung nicht so einfach weggestrichen werden.
Die 2.te Anmerkung betrifft die FP. Es sollte fuer aeltere Spieler
ein Ausgleich geschaffen werden. Ich habe keine Lust ueberall nochmal
durchzugehen und 'unt boden', 'unt decke' u.v.a.m. zu machen ;)
Auch wenn aeltere Seher zu Zeit noch einen Vorsprung durch mehr ZT usw.
haben, so haben sie doch langfristig keine Chance gegen die 'Neuen', wenn
die FP nicht aufgeholt werden, weil sie (richtigerweise) einen sehr
grossen GL-Anteil ausmachen.

Die FP sind aber grundsaetlich ne feine Sache und auch der Einbau und
die Bewertung von Miniquests oder Aufgaben finde ich toll.
Vielleicht koennte man ja auch die Seher bitten, in ihren Haeusern ein
paar Aufgaben einzubauen.

Ach ja, um den Spielern den Grund zum Scripten zu nehmen, muesste
eigentlich auch das Lernen in den Gilden und auch der Hausbau durch
andere Aufgaben ersetzt werden ....
(zumindest bei den Gilden waere das aber schade ;))

SKIPPER

-----------------------------------------------------------------------------



RE-Levelreform (Orktoeter, 15. Mar 1996, 19:48:27):
Also ich kann dem Artikel von Skipper da nur zustimmen.
Ich fuer meinen Teil habe ueber 2 Jahre sehr viel Zeit in diese Spiel
investiert und fuehle mich jetzt ziemlich verarscht (entschuldigung fuer das
harte Wort, aber das trifft es).
Die EP von bisher 100 % (die anzahl der EP ist unbegrenzt, die anzahl der AP
stegt zwar ab und zu, ist aber begrenzt) auf 10% runter zu setzen ist meiner
Meinung nach nicht in Ordnung.
Eine solche umstellung haette zu beginn des MG erfolgen muessen, nicht nach
Jahren.
Ein Argument, das glaube ich noch nicht gebracht wurde :
Was macht Rzne ? Wenn ich es recht in Erinnerung habe hat er alle Quest
geloest. Er duerfte sich auch in allen neu angeschlossenen Gebieten umgesehene
haben (und somit alle FP aus den neunen Gebieten) das er alle (seine) ZT
gefunden hat setze ich auch mal vorraus. Wenn man jetzt noch an seiner EP-zahl
festlegt, das das die 10% sind, die die EP noch zur Stufe beitragen, kann er
Urlaub machen, bis etwas neues geprogt ist.

Ausserdem denke ich, das es nicht dazu beitraegt, metzelscripts zu vermeiden,
wer die moegliche 10% ueberber die EP haben moechte kann das weiterhin ueber
solche scripts erreichen.
Dazu kommt noch, das ich nicht verstehe, wieso es ploetzlich als verwerflich
gilt zu metzeln ? Ich hoere immer es ist stupide und langweilig. Ich moechte
den Leuten, die das aeussern ihre Meinung ncht verbieten, aber sie moegen
bitte anderen Leuten ueberlassen, ob die es nicht anders sehen. Es ist
schliesslich (wie die gleiche Leute festellen) ein Rollenspiel und als
Abenteurer ist es mein gutes Recht, boese Kreaturen zu bekaempfen
(ORKTOETENORKTOETEN :) ).
Die ZT's auch noch in den Level mit aufzunehmen finde ich auch nicht gut,
wird es doch dazu fuehren, das entsprechende Listen weiter perfektioniert
werden.

Zum Abschluss noch ein Vorschlag, der absolut sicher jedes Metzelscript
verhindert, zudem hat er noch einige weiter Vorteile : Keine Zt-Listen mehr,
keine Komplettloesungen mehr, nie wieder streit, keine elendig langen
diskussionen mehr... all das ganz einfach zu erreichen.. schaltet das MG ab.

Ein ziemlich gefrusteter Orktoeter.

PS ich dachte, Cat* haette die aenderungen zur Diskussion gestellt... Hmmm
wenn ich da an Artikel 133 von Jof und 135 von Cat* denke frage ich mich,
warum ich mir hier ueberhaupt noch die Finger wundtippe...

-----------------------------------------------------------------------------



Re: RE-Levelreform (Asmodis, 15. Mar 1996, 20:30:13):
~#! rn=Orktoeter rt=826915707
~#! tid=826915707
Hmm, metzeln gilt nicht als verwerflich, wer es tun will, kann es auch weiter
tun und wird
dann einen der vorderen Plaetze in der Metzel-Liste erreichen, also was solls
?
Es geht nur darum, dass andere Leistungen (sich ueberall umschauen, sich in
den Gilden
hocharbeiten) bisher kaum honoriert wurden, aber stattdessen dieses stupide
Orklager-
ausraeumen-ohne-einen-lp-zu-verlieren, das wird jetzt anders. Tja, warum Ryne
immer
wieder seinen Level erhoehen will, weiss ich auch nicht, bringt doch nix mehr
ab
level 30 oder so (vielleicht in zukunft betreffs des Malus, er verliert ja
weniger
Eps :) ).

-----------------------------------------------------------------------------



Re: RE-Levelreform (Durian, 18. Mar 1996, 11:34:28):
~#! rn=Orktoeter rt=826915707
~#! tid=826915707
Hm?

Wer hat gesagt, Metzeln ist verwerflich? Wer hat gesagt, dass Ryne Urlaub
machen kann? Wer hat gesagt (ausser Dir :-)) dass Du verarscht worden bist?
Wer hat gesagt, dass Du bislang um sonst "gearbeitet" hast?

Es wurde gesagt, dass der neue Gesamtlevel anders berechnet wird, um den
Nichtmetzlern (denen willst Du naemlich nicht entgegen kommen!) bessere
Moeglichkeiten zu geben aufzusteigen. Dabei gehen die EP's anders, naemlich
deutlich sinnvoller (persoenliche Meinung) in die Berechnung ein.

Niemand nimmt Dir EP's aber weg! Ihr koennt natuerlich weiter (so nicht
gravierende Aenderungen bei der Beschaffung von EP's kommen) EP's sammeln
und Euch anhand dieser vergleichen ... nur in den Gesamtlevel gehen sie
nicht mehr so stark ein!

Habe ich da ein Missverstaendnis ausgeraeumt? Ich hoffe!

- Durian

-----------------------------------------------------------------------------



Re: RE-Levelreform (Grimmborn, 18. Mar 1996, 14:13:55):
~#! rn=Orktoeter rt=826915707
~#! tid=826915707

Also, wenn fuer Ryne tatsaechlich nichts mehr uebrigbleiben sollte und er
Urlaub zu machen gezwungen waere: Wen interessiert das? Schliesslich ist Ryne
nichts anderes als ein Muensteraner Alibiseher, und da ists doch egal...

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re: Re: RE-Levelreform (Orktoeter, 18. Mar 1996, 17:43:56):
~#! rn=Durian rt=827145268
~#! tid=826915707
Also, es ist doch wohl ein gravierender Unterschied, ob eine grossen Menge EP
dazu fuehren, das man oben in einer Top-EP-Liste steht, oder das dafuer einen
hohen Level hat, oder nicht ?
Und auf die anderen Argumente bist du gar nicht erst eingegangen...
auf eine Bessere Antwort wartend, OrkT

-----------------------------------------------------------------------------



Re: Re: RE-Levelreform (Raffi, 18. Mar 1996, 17:44:27):
~#! rn=Durian rt=827145268
~#! tid=826915707

Lieber Durian, ohne mich gross einmischen zu wollen, aber ich muss OrkTT
weitgehend recht geben.

Viel von dem Spass am metzeln geht verloren wenn die EP nurnoch so schwach in
die zaehlung eingehen. Es ist einfach schoen sich immer mal wieder ein oder 2
positionen auf der Liste hochzumetzeln (oder auch wieder runterzusterben.

Und wie OrkT bereits sagte Metzeln gehoert beim (Fantasy)Rollenspiel einfach
dazu. - das problem ist doch auch das man so viele EP durchs Metzeln bekommt,
und viel weniger durchs questen !

Aber vieleicht hat OrkT ja recht, und es ist sinnlos sich hier den Mund
fuseligzureden :(

Gruss
H.

-----------------------------------------------------------------------------



Re^3: RE-Levelreform (Asmodis, 18. Mar 1996, 17:56:22):
~#! rn=Raffi rt=827167467
~#! tid=826915707
Naja, deine Argumentation verstehe ich auch nicht ganz, du kannst dich
doch in der Ep-Liste immer noch hochmetzeln.
Auf den Level kommt es in dieser Liste doch nicht an !

-----------------------------------------------------------------------------



Re: RE-Levelreform (Guldukat, 18. Mar 1996, 19:11:56):
~#! rn=Orktoeter rt=826915707
~#! tid=826915707



Dass ich nicht lache!!!!!!!!

> Ich moechte
> den Leuten, die das aeussern ihre Meinung ncht verbieten, aber sie moegen
> bitte anderen Leuten ueberlassen, ob die es nicht anders sehen. Es ist
> schliesslich (wie die gleiche Leute festellen) ein Rollenspiel und als
> Abenteurer ist es mein gutes Recht, boese Kreaturen zu bekaempfen
Das aus deinem Mund zu hoeren, ist schon ein starkes stueck!

GD

-----------------------------------------------------------------------------



Re: Re: RE-Levelreform (Orktoeter, 18. Mar 1996, 19:46:25):
~#! rn=Guldukat rt=827172716
~#! tid=826915707
Hmm habe ich da etwas ueberlesen ?
Ich kann nicht nachvollziehen, was du mit deinem Artikel aussagen willst,
ausserdem bist auch du nicht auf die Kritikpunkte eingegangen.
Die art wie hier kommuniziert wird ist schon recht traurig...
(auch das hier haette wohl eher in einen Brief gehoert..)
OrkT.

-----------------------------------------------------------------------------



Rudi wundert sich. (Rudiratter, 19. Mar 1996, 01:21:56):
Mannmannmann, koennt Ihr Euch ueber Belanglosigkeiten ereifern. Da steht eine
neue Regelung von irgendeinem Kaese hier bevor, und sofort gibt es 117 Artikel
in der MPA in der Art 'Ja, das find ich toll, denn...." und ' Wenn Ihr das
aendert, seid Ihr bloed und stinkt, weil...". Danach folgen dann die naechsten
217 MPA-Artikel, in denen es dann losgeht mit den gegenseitigen
Beschimpfungen...
Tstststststs.
Also, ich hab e wirklich das Gefuehl, dass manche Leute wirklich das MG zu
wichtig nehmen, anders kann ich mir sowas nicht erklaeren. Ich hab RL ganz
andere Sachen, uebr die ich mir Gedanken mache, und da kommt mir das hier
manchmal ganz schoen kaspermaessig vor.
Zumindest finde ich, alle sollten mal erst eine Runde nachdenken, bevor sie
irgendeinen Schwachsinn in die MPA setzen oder gar wilde Beschimpfungen
loslassen.
Take it easy!
Rudi

-----------------------------------------------------------------------------



Re^3: RE-Levelreform (Jof, 19. Mar 1996, 09:58:29):
~#! rn=Raffi rt=827167467
~#! tid=826915707

 Ok, wenn offenbar, wie Du schreibst, der sichtbare Erfolg in der Topliste
den Reiz des Metzelns ausmacht - was macht denn dann den Reiz des 'alles an-
schauen' (sprich, FP finden) aus? Sollte das nicht ebenso belohnt werden wie
metzeln? Derzeit wird das metzeln gegenueber den anderen Dingen deutlich
bevorzugt - ist das denn ok???

 Jof

-----------------------------------------------------------------------------



Re^3: RE-Levelreform (Locutus, 19. Mar 1996, 11:21:56):
~#! rn=Orktoeter rt=827174785
~#! tid=826915707
Hi!

Irgendwie kann ich nicht verstehen, wie man sich so in die MUD-Welt
einleben kann und Flames und Gegenflames postet? Das MUD ist ein Spiel!!!
Nicht mehr, aber auch nicht weniger. Vergesst nicht das Real Life
draussen, anstatt Euch ueber andere Charaktere aufzuregen ;-)

Just my two 5-Mark-Stuecke

Loc.

-----------------------------------------------------------------------------



Re^3: RE-Levelreform (Bendeigid, 19. Mar 1996, 12:12:33):
~#! rn=Orktoeter rt=827167436
~#! tid=826915707
Durian, bei dem redest Du gegen eine Wand. EPs zeigen NICHT im geringsten
(naja, zu einem winzigen Teil schon) an, ob einer metzeln kann. Jedes bloede
script ist in der Lage, das Orklager auszuraeumen. von einem Level 28 Seher
sollte man auch mehr als das erwarten. Wer soviel Panik vor dem sterben hat
und sich nicht traut, auch mal was anderes als Orklager, hin und wieder Gobs
und SSP zu metzeln (nur den harmlosen und bekannten SSP-Teil!) , der hat in
einer MG-TOP-liste, egal wie gestaffelt, nichts, aber auch gar nichts
verloren. Das widerspraeche dem Sinn einer TOP-Liste. Wenn wir mal eine
machen, wo dirnsteht, wieoft das Orklager ausgeraeumt wurde, dann stehst du da
ganz oben....

Z'par Servu,
             Bendeigid

-----------------------------------------------------------------------------



Re^3: RE-Levelreform (Terrorist, 19. Mar 1996, 12:52:08):
~#! rn=Orktoeter rt=827174785
~#! tid=826915707


Sagt mal kann es sein das einige von euch ein erhoetes Beduerfnis fuer
BEstaetgung haben?
ANders kann ich mir nicht erklaeren das die immer auf irgendwelchen listen
stehen wollen.
Mir ist es wurscht auf welchen Platz ich stehe, ich bin hier weil ich spass
am mg h
mg habe und man hier mit netten Menschen quatschen kann.
Also ich bin voll fuer die Reform.

Karl Ranzeyer ist tot :(
Ich wars nicht

-----------------------------------------------------------------------------



Re: RE-Levelreform (Catweazle, 19. Mar 1996, 16:03:32):
~#! rn=Orktoeter rt=826915707
~#! tid=826915707
Hiho!

Nach einer grandiosen Idee von Orktoeter - eine, die mir
eigentlich auch selbst haette kommen muessen - haben wir eine
Moeglichkeit gefunden, das Scripten und sinnlose Toeten zu
verhindern.
Das MUD MorgenGrauen wird daher am 1. April 1996 abgeschaltet.

Schoenen Feierabend.

Yours truly,
        Catweazle

-----------------------------------------------------------------------------



Re: Re: RE-Levelreform (Acrimon, 19. Mar 1996, 16:07:10):
~#! rn=Catweazle rt=827247812
~#! tid=826915707
Sowas nennt man Sparmassnahmen an der Arbeit.
Ist besonders effektiv.

Nur leider gibts bereits Kopien :-)

Acrimon der Rote Ritter.

-----------------------------------------------------------------------------



MG ab 1.4.1996 zu! (Raffi, 20. Mar 1996, 12:28:21):

Cat*> Das MUD MorgenGrauen wird daher am 1. April 1996 abgeschaltet.

Die idee ist ja gut Cat* aber warum so zoegerlich ? Warum quaelst du uns noch
ueber eine Woche mit dem MG ? Kannst Du nicht gleich abschalten?

Gruss
H.

-----------------------------------------------------------------------------



Re^4: RE-Levelreform (Raffi, 20. Mar 1996, 12:40:14):
~#! rn=Jof rt=827225909
~#! tid=826915707

Doch Jof (wusstest du eigentlich das Grimm* nicht an Dich glaubt?),
natuerlich sollten auch die anderen 'Fortschritte' sichtbar sein. Vileicht ist
es ja in dem Ganzen wust hier untergegangen, aber genau das ist es ja was ich
will!

Ich stimme nur nicht im Weg dahin ueberein. Ich halte den Versuch ein
Mega-Alles-in-einem-Level zu kreieren fuer unbrauchbar. Ich will nicht das
bisherige System ersetzen, sondern moechte ihm neue Syteme zur SEITE stellen.

Ich denke das dieses Grosse-Alles-System im gegensatz zu deiner guten Absicht
(ich denke zumindest das es eine solche ist) dieses 'beobachten der
Verbesserung' eher erschwert. - wenn ich nunmal dann die 10 fache menge an  EP
brauche um einen Platz in der Liste gutzumachen, oder die 10fache Menge an FP
dann ist es praktisch unmoeglich (zumindest fuer leute die nicht Nicht,Ryne
oder OrkT heissen).

Gruss
H.

-----------------------------------------------------------------------------



Re^5: RE-Levelreform (Grimmborn, 20. Mar 1996, 14:46:31):
~#! rn=Raffi rt=827322014
~#! tid=826915707

"Doch Jof (wusstest Du eigentlich das Grimm* nicht an Dich glaubt?),"

Dazu sag ich nur:
1) Wie soll ers wissen wenns ihn nicht gibt?
2) Ausserdem weiss er das laenger als es Dich hier gibt.
3) Und Du bist ne bloede Petze!

Grimmborn der Atheist. Hat scharfsinnig erkannt dass das hier die neue
schmarrn-Rubrik ist.

-----------------------------------------------------------------------------



Re: Re: RE-Levelreform (Roesti, 22. Mar 1996, 20:47:40):
~#! rn=Durian rt=827145268
~#! tid=826915707
Nochmal als Frage...
Wozu dient der neue Gesmmtlevel?
Nur zum Gegenseitig zeigen wie toll man ist oder wird der dann auch gebraucht
um Zaubersprueche zu lernen usw...???

Roesti

-----------------------------------------------------------------------------



Re^3: RE-Levelreform (Catweazle, 22. Mar 1996, 21:14:46):
~#! rn=Roesti rt=827524060
~#! tid=826915707
Er ist neu!
Er ist anders!
Nicht der gleiche Kram, den so jedes MUD hat.
Mal was NEUES!
Reicht das nicht? :-)
YTC

-----------------------------------------------------------------------------



Re^4: RE-Levelreform (Tzuiop, 25. Mar 1996, 10:57:01):
~#! rn=Catweazle rt=827525686
~#! tid=826915707
Noe !
Mit der Begruendung koennten wir alle unsere Autos gegen Schlitten
eintauschen :)

-----------------------------------------------------------------------------



Re^5: RE-Levelreform (Hate, 25. Mar 1996, 11:12:34):
~#! rn=Tzuiop rt=827747821
~#! tid=826915707
Es gibt zwei Arten von Narren. Der eine sagt: "Dies ist alt und
deshalb gut." Und der andere sagt: "Dies ist neu und deshalb besser."

-----------------------------------------------------------------------------



Re^6: RE-Levelreform (Tzuiop, 25. Mar 1996, 12:47:08):
~#! rn=Hate rt=827748754
~#! tid=826915707
Dann sind wir ja einer Meinung :))
(Oder hast Du meinen Artikel nicht richtig gelesen ?)

... Tzuiop

PS. Es gibt zwei Arten von Leuten: Die, die Leute in zwei Arten aufteilen,
und die,
die das nicht tun.

-----------------------------------------------------------------------------



Re^7: RE-Levelreform (Caradhras, 25. Mar 1996, 16:53:12):
~#! rn=Tzuiop rt=827754428
~#! tid=826915707
Noe, es gibt drei Arten von Leuten:
Die einen, die rechnen koennen und die anderen, die nicht rechnen koennen.

     Ok, ab nach schmarrn, is aber doch wahr. Doofe Diskussion hier.

            Caradhras

-----------------------------------------------------------------------------



weg ausgabe bei sag (Ratz, 25. Mar 1996, 18:18:54):
Hallo,
es passiert mir oefters, dass man sich mit jemandem unterhaelt, der im
gleichen Raum steht. Das Gespraech laeuft mit dem Befehl sag <text> ab. Nun
kommt es vor das der Gespraechspartner kurz weg muss oder der Chef reinkommt
oder so.
Kann man also bei sag  von allen die im Raum stehen die wegmeldungen
einblenden , damit man merkt, dass man vor ne Wand redet.

-----------------------------------------------------------------------------



Re^7: RE-Levelreform (Roesti, 26. Mar 1996, 18:45:33):
~#! rn=Tzuiop rt=827754428
~#! tid=826915707
Es gibt drei arten von Leuten...
Einmal die Leute die dafuer sind Leute in Kasten zu stecken,
einmal Leute die dagegen sind
und dann gibt es noch welche denen das schnurtzpiepegal ist.
Ausserdem gibt es dann noch unzaehlige Zwischenformen,Abstuifungen und
Kombinationen.....

Roesti ist schon ganz konfus
...und ab nach schmarrn

-----------------------------------------------------------------------------



Re^7: RE-Levelreform (Ryne, 27. Mar 1996, 16:44:08):
~#! rn=Tzuiop rt=827754428
~#! tid=826915707
Nein, es gibt nur zwei Arten von Menschen:

Die, die durch ueberfluessige Artikel rumnerven,
und die, die sich solchen Scheiss sparen koennen.

Rzne sagt: es reicht wirklich.

-----------------------------------------------------------------------------



DURST !!! (Laila, 28. Mar 1996, 11:10:22):
Damit nicht in naher Zukunft die Zauberer vor Durst umkommen, waere es nett
wenn es in den Kneipen vermehrt nicht-alkoholische Getraenke mit Heilwirkung
zu kaufen waeren.

Irgendwas Isotonisches oder was Gutes aus Milch oder so

Das wars schon

Laila, durstig

-----------------------------------------------------------------------------



Re: DURST !!! (Morgoth, 28. Mar 1996, 11:37:55):
~#! rn=Laila rt=828007822
~#! tid=828007822
bei mir gibt es sowas ....

-----------------------------------------------------------------------------



Re: Re: DURST !!! (Laila, 28. Mar 1996, 11:38:56):
~#! rn=Morgoth rt=828009475
~#! tid=828007822
Du bist ja auch mein Lieblingsmagier! :))

Laila, immer noch durstig, und mein Wegescript zum Vland wurde geloescht

-----------------------------------------------------------------------------



Re^8: RE-Levelreform (Durian, 28. Mar 1996, 11:56:44):
~#! rn=Ryne rt=827941448
~#! tid=826915707
Sorry Ryne ...

Aber dieser Dein Artikel ist der unnoetigste seit 100 anderen die ich
gelesen habe.

Wer im Glashaus sitzt sollte nicht mit Steinen werfen. Was achtest
Du auf den Splitter im Auge Deines Bruders und bemerkst nicht den
Balken in Deinem eigenen.

Ja, richtig, dieser Artikel ist auch voellig sinnlos, aber ich beschwer
mich ja auch nicht!

So, lange her, dass ich was fuer meinen Ruf als erzkonservativer MUD-
Waechter getan habe (gelle, Hardil :-)).

Jof zum Grusse,

- Durian

P.S.: Sagtet nicht in der Rubrik allgemeines jemand, der Umgangston hier
ist scheisse? Woran das wohl liegt ...

-----------------------------------------------------------------------------



Re: DURST !!! (Bendeigid, 29. Mar 1996, 13:43:53):
~#! rn=Laila rt=828007822
~#! tid=828007822
Schonmal in Neskaya vorbeigeschaut? Da haben die sowas.
Fuer Magier mit Hang zur Selbstverstuemmelung und anderen Krnakheitsbildern
empfehle ich den Tee, von Arien persoenlich auf seine Wirkung gegen Grippe &
Co getestet :))

Z'par Servu,
            Bendeigid, macht Werbung wo er kann

-----------------------------------------------------------------------------



waere es moeglich ... (Mango, 29. Mar 1996, 15:08:06):
in kwer einzubauen das man auch nach gildenzugehoerigkeit suchen kann?


Mango, schon mal dankbar im voraus.


-----------------------------------------------------------------------------



Re: waere es moeglich ... (Morgoth, 29. Mar 1996, 15:09:07):
~#! rn=Mango rt=828108486
~#! tid=828108486
kwer gilde <xxx>

-----------------------------------------------------------------------------



Re: waere es moeglich ... (Xaos, 29. Mar 1996, 15:09:15):
~#! rn=Mango rt=828108486
~#! tid=828108486
Hmm wie waere es mit kwer gilde chaos z.B. ?

Xaos

-----------------------------------------------------------------------------



Re: waere es moeglich ... (Mupfel, 29. Mar 1996, 16:16:29):
~#! rn=Mango rt=828108486
~#! tid=828108486
 kwer gilde bla, geht schon eeeeeeeewig
-mupfel-
P.S.: neuer vorschlag: die gilde im 'wer' mit anzuzeigen:
[bezeichnung] presay name titel - rasse - gilde - [ort]

-----------------------------------------------------------------------------



Re: Re: DURST !!! (Schrumpfi, 30. Mar 1996, 02:10:32):
~#! rn=Morgoth rt=828009475
~#! tid=828007822
Bei mir nicht....
Spielerhilfe? Ok, loescht mich
Schrumpfi

-----------------------------------------------------------------------------



reboot/crash (Nature, 31. Mar 1996, 00:42:32):
Hallo ihr da oben,

kann mir mal jemand die frage beantworten, warum das mg jetzt immer so
oft neu gebootet wird ? jetzt war gerade wieder ein crash/reboot, das
waren noch nichtmal 21 onlinestunden.
interessiert mich halt mal, ob das absicht ist oder nicht.

ciao, ein auf antwort hoffender lefty

-----------------------------------------------------------------------------



Re: reboot/crash (Asmodis, 31. Mar 1996, 01:51:42):
~#! rn=Nature rt=828229352
~#! tid=828229352
Ein Reboot war das sicher nicht, ploetzlich ging gar nichts und dann
stuerzte das MUD ab, also ein Crash und die sind (hoffentlich) nicht
beabsichtigt.
Viele sagen ja, die Zauberergilde haette damit zu tun, aber wer weiss,
es gab viele Aenderungen in der letzten Zeit ...

-----------------------------------------------------------------------------



Re: Re: reboot/crash (Catweazle,  1. Apr 1996, 14:41:54):
~#! rn=Asmodis rt=828233502
~#! tid=828229352
Hi!
ALso wenn ich Jof richtig beobachtet habe, isses nen fieser GD-Bug.
Ich hab ihn aber nicht gefragt ...
YTC

-----------------------------------------------------------------------------



Re^9: RE-Levelreform (Ryne,  1. Apr 1996, 19:26:02):
~#! rn=Durian rt=828010604
~#! tid=826915707
Aehm...

also, wenn Herr Durian es so sagen, wirds ja wohl so sein.

Ich werde mir allerdings dennoch nicht das Recht nehmen lassen,
Artikel, die voellig vom Thema abgehen (wir befinden uns uebrigens
hier in der Rubrik "Entwicklung", wie Herr Durian vielleicht auch
bemerkt haben duerften) entsprechend zu kommentieren. Insbesondere
wenn sich daraus ellenlange Threads ergeben, die nix zum Thema
beitragen.

Und wenn Herrn Durian das nicht gefaellt, moege er gerne
weiterflamen. Geht bei mir exakt nach /dev/null (oder auch:
am Arsch vorbei).

Ryne

P.S. Gleiches (/dev/null) gilt fuer den Vorwurf, mein Artikel
trage zur schlechten Stimmung bei. Durch solche replies macht man sie
jedenfalls auch nicht besser, lieber Herr Durian. Anstatt sich als
Hueter des guten Tons aufzuspielen, schreibe er doch dem Be-
troffenen lieber eine mail. Aber die ist natuerlich nicht so
oeffentlichkeitswirksam.

-----------------------------------------------------------------------------



Editor, Kobold & Kanaele (Aline,  2. Apr 1996, 17:26:42):

Mir ist da in letzter Zeit etwas aufgefallen.
Der kleine fleissige Kobold, der einem beim Schreiben von Mails und
Artikeln die Kanaele und teile mits vom Hals halten soll,
arbeitet in letzter Zeit leider nicht mehr.
Oder liegt das nur an meiner MPA?

Aline (benutzt gerne den Kobold)

-----------------------------------------------------------------------------



again (Kotzbrocken,  3. Apr 1996, 13:33:59):
hi,
vor kurzem erinnerte ich mich an alte infocom-zeiten. da gab es einen be-
fehl namens 'again', welcher den vorherigen befehl wiederholte. ich faende so
etwas hier auch superpraktisch. ist es moeglich sowas einzurichten? waere
nett wenn das jemand macht wenn es geht.
just an idea.
           Kotzi

-----------------------------------------------------------------------------



Re: again (Highlander,  3. Apr 1996, 13:34:36):
~#! rn=Kotzbrocken rt=828531239
~#! tid=828531239
Der Befehl heisst %%   :>
    HrT

-----------------------------------------------------------------------------



Re: Re: again (Highlander,  3. Apr 1996, 13:35:47):
~#! rn=Highlander rt=828531276
~#! tid=828531239
OK, OK, Arty und Hate meinen beide, er heisst &&.
Sieh haben wohl auch recht, aber %% geht auch ;>
   HrT

-----------------------------------------------------------------------------



Re: again (Kotzbrocken,  3. Apr 1996, 13:37:54):
~#! rn=Kotzbrocken rt=828531239
~#! tid=828531239
tja, grad vernommen dass es sowas schon ewig gibt. aber wer an einem killer-
popel oder einer wand stirbt, kann sich eh nicht mehr blamieren.
      kotzi das trottelchen

-----------------------------------------------------------------------------



Re: Re: again (Yendi,  3. Apr 1996, 13:50:44):
~#! rn=Kotzbrocken rt=828531474
~#! tid=828531239

Hey, immer mit der Ruhe, Kotzi, schliesslich ist selbst Ryne vor gar nicht
langer Zeit noch an einem Killerpopel verschieden...
Kein Grund zur Scham also. Nicht wahr, Ryne?
*kicher*


-----------------------------------------------------------------------------



Re: Re: again (Anakin,  3. Apr 1996, 14:48:36):
~#! rn=Kotzbrocken rt=828531474
~#! tid=828531239
In TF kannst Du auch Ctrl-N oder Ctrl-P nehmen fuer die Befehls-
history zum durchbrowsen.

Anakin.

-----------------------------------------------------------------------------



Re^3: again (Zardoz,  3. Apr 1996, 16:59:59):
~#! rn=Yendi rt=828532244
~#! tid=828531239
Ich dachte, es waere der Riesennasenpopel gewesen...

-----------------------------------------------------------------------------



Re^4: again (Amonsul,  4. Apr 1996, 13:33:30):
~#! rn=Zardoz rt=828543599
~#! tid=828531239
War es auch, Zardoz. Aber der ist IMHO auch nicht staerker als der
Killerpopel. :-)

-----------------------------------------------------------------------------



Todesmeldung (Yendi,  9. Apr 1996, 21:48:12):

Keine Ahnung, von wem die Scherben sind, aber:

"[Tod:] Scherben hat gerade Nocardius umgebracht."

scheint Plural sein zu sollen.
(Was fuer ein Satz. Irgendwelche Nicht-Deutsch-Muttersprachler anwesend?)


-----------------------------------------------------------------------------



Re: Todesmeldung (Highlander, 10. Apr 1996, 12:33:27):
~#! rn=Yendi rt=829079292
~#! tid=829079292
Ich weiss ja nicht, ob man den Plural in die Meldung irgendwie einbauen
kann (ohne nachzusehen), aber man koennte die Scherben in einen Haufen
Scherben umbenennen.
[Tod:] Ein Haufen Scherben hat gerade Fakir umgebracht.
Passt, oder?
  HrT

-----------------------------------------------------------------------------



Gildenlevel der AGilde (Yantro, 11. Apr 1996, 09:57:20):

Halloele liebe Spieler,

schon seit laengeren ist mir und auch einigen anderen Magiern aufgefallen,
dass die Stufenbezeichnungen der Abenteurer Gilde mehr als antiquiert sind.
Weil sich aber von seiten des zustaendigen Magiers nichts getan hat, mache ich
einfach ein Angebot hier in die Zeitung:

Denkt euch doch mal 19 maennliche und 19 weibliche Gildentitel aus, die nicht
zu ueberschneidungen mit einer der anderen Gilden fuehrt. Diese anderen Gilden
sind zur Zeit Karatekas(da kann nix passieren), Chaoten, Zauberer (hier gibt
es JETZT noch viele ueberschneidungen: Zauberer, Hexer, Zauberlehrling, etc
sollte alles aus der AGilde raus ;) ) und Kaempfer (die schon sehr weit
fortgeschritten ist in der Fertigstellung.

Ich weiss, dass es nicht einfach ist, sich 19 Bezeichnungen auszudenken, die
einigermassen neutral sind, bzw zu einem Abenteuerer passen, aber probiert es
mal...

Eure Vorschlaege haette ICH dann gerne als mail (ich leite dann das ergebnis
an Boing weiter, aber der kriegt so schon genug Post, sodass er nciht alles
lesen muss :) ). Macht bitte Keine konkreten Vorschlaege in der Zeitung, denn
das fuehrt nur zu hunderten von "find ich bloed"-replys..

Ich freu mich auf die Erguesse eurer Kreativitaet, Spieler :)

                      Yantro, heute mal nicht arbeitsscheu :)

-----------------------------------------------------------------------------



Flueche (Asmodis, 15. Apr 1996, 21:40:45):
Da es ja NPCs gibt, die Ausruestungsgegenstaende verfluchen koennen,
will ich mal fragen, ob man vielleicht mehr Moeglichkeiten zum
entfluchen einbauen koennte??
Ich kenne momentan nur 2, wovon der eine (Zwergenpriester) nicht
richtig funktioniert, und die andere (Siegelring-Quest) nicht
immer verfuegbar ist.
Und da kein Seher antwortet, weiss wohl sonst auch keiner noch
ne dritte Moeglichkeit. Wie gesagt, waere nett, wenn man da was
einrichten koennte.

-----------------------------------------------------------------------------



Mal 3 Anregungen wieder aufgenommen (Valarian, 16. Apr 1996, 00:23:47):
Ich moechte noch einmal drei Dinge aufgreifen, die zwar mehrmals angeregt
wurden, aber irgendwie wieder untergegangen sind:

1.) Nahrungs- und Fluessigkeitsstand nach Reboot/crash wieder zuruecksetzen.
Irgendwas scheint da ja passiert zu sein, aber es klappt net recht :-)

2.) behalte alles
Waere sehr sinnvoll!


3.) bei kwer gildenangabe
Waere ne ganz lustige sache, da ja immer mehr gilden gebastelt werden.

So viel mal wieder zu ausgelutschten Themen, die ich aber nicht vergessen
habe

Gruss Val.

-----------------------------------------------------------------------------



Eisbaeren (Fyt, 16. Apr 1996, 03:45:18):

Also Eisbaeren beissen, schlagen und kratzen meiner Meinung nach,
d.h. DT_BLUDGEON oder DT_SLASH faend ich 'vernuenftig', auf keinen
Fall aber DT_COLD, was man als Karateka nicht abwehren kann...

Fyt.

-----------------------------------------------------------------------------



Re: Eisbaeren (Mupfel, 16. Apr 1996, 04:31:58):
~#! rn=Fyt rt=829619118
~#! tid=829619118
Was Eisbaerenkrallen mit Dir machen, ist einwandfrei DT_RIP (nicht 'rest in
peace' sondern aufressen)...

-mupfel-
(sieht einen Eisbaeren sich Fyt aufreissen :-)

-----------------------------------------------------------------------------



Nachrichtenkanal (Catweazle, 16. Apr 1996, 09:43:25):
[Verlegt von allgemeines, Lifafa, 13. Apr 1996, 22:23:11]:
Ich faende es sinnvoll, auf dem Nachrichtenkanal bei -*N nicht nur die
letzten 15 Beitraege auszugeben, sondern den gesamten nachrichtenblock. Dann
muesste man (a) bei der aktuellen Ausgabe nicht warten, bis eine nach der
anderen Nachricht langsam ruebergemorst wird und (b) koennte man ALLE
Headlines auch noch 2 oder mehrere Stunden spaeter lesen...

                                     Lifafa


-----------------------------------------------------------------------------



Re: Nachrichtenkanal (Catweazle, 16. Apr 1996, 09:43:50):
~#! rn=Lifafa rt=829426991
~#! tid=829426991
[Verlegt von allgemeines, Hate, 14. Apr 1996, 14:38:00]:
Hmm, darf ich aus gegebenem Anlass auf die Rubrik dwnews verweisen, wo auch
spaeter noch saemtliche Artikel zu lesen sind. In KURZ und Langform.

Hate.


-----------------------------------------------------------------------------



n' Vorschlach (Catweazle, 16. Apr 1996, 09:44:40):
[Verlegt von allgemeines, Alboin, 15. Apr 1996, 02:36:33]:
Da man seit einiger Zeit die letzten 20 Meldungen auf den Kanaelen mittels
-*<Kanal> zurueckverfolgen kann, frage ich mich warum man einen Befehl
einbringen koennte der einem die letzten'Teile mit' anzeigt.
Gerade bei unvorsehbaren Sachen wie scrollts oder das man mal schnell vom
Rechner wegmuss ohne dass man Zeit hat den Kobold noch einzustellen waere das
mal angebracht.
Jedenfalls geht es mir oftmals ganz schoen auf den Keks wenn ich als Spieler
ohne TF mancmal alles doppelt und 3fach tippe.Waere schoen wenn da die Magier
diese Luecke stopfen koennten.
Alboin
P.S. Mein besonderer Knuddel geht heut an Marita, von der ich endlich erfuhr,
dass man mit && einen Befehl wiederholen kann ;-)


-----------------------------------------------------------------------------



Re: n' Vorschlach (Catweazle, 16. Apr 1996, 09:44:46):
~#! rn=Alboin rt=829528593
~#! tid=829528593
[Verlegt von allgemeines, Anakin, 15. Apr 1996, 09:44:19]:
Wenn ich mich nicht irre wurde dieser Vorschlag auch gebracht,
aber es schon ist was anders fuer 100 Spieler je 10 teile mit's
zu speichern oder fuer alle nur einmal die Kanalhistory.
Es wurden noch andere Gruende genannt warum das nicht so einfach
geht, die fallen mir aber jetzt nicht mehr ein.

Anakin.


-----------------------------------------------------------------------------



Re: n' Vorschlach (Catweazle, 16. Apr 1996, 09:46:13):
[Verlegt von allgemeines, Feuerwehr, 15. Apr 1996, 17:53:24]:
Ich moechte den Vorschlag noch mal unterstuetzen, da auch ich an
einem Text-Terminal sitze unt wie bloed scrolle. Es muss ja nicht
fuer jeden Spieler automatisch die letzte Nachricht (bzw Nachrichten)
gespeichert werden. Wie waere es mit einer Abwandlung des Kobold-
features, auf dass man die letzten 5 Mitteilungen gespeichert bekommt,
wenn man dies aktiviert?
Yours trouly
       Feuerwehr (Die Maenner von )


-----------------------------------------------------------------------------



Re: Mal 3 Anregungen wieder aufgenommen (Wargon, 16. Apr 1996, 09:46:26):
~#! rn=Valarian rt=829607027
~#! tid=829607027
  Hi!
zu 1.: Das zuruecksetzen klappt nur, wenn man auch eine Entschaedigung
bekommt (dieses Kriterium wird zur Unterscheidung Reboot <-> "ende"
herangezogen). Wenn man nur Autoloader oder wertloses Zeug mit sich
herumschleppte, wird auch nix zurueckgesetzt.
zu 2.: Wozu "behalte alles"? Spar Dir dann doch einfach das "verkaufe
alles"...
zu 3.: Gibts schon ewig: kwer gilde <gildenname> (und steht sogar in der
Hilfeseite)
  Wargon

-----------------------------------------------------------------------------



nach dem tod (Catweazle, 16. Apr 1996, 09:47:22):
[Verlegt von allgemeines, Harg, 15. Apr 1996, 18:10:09]:
Hi mal eben!
ich habe keine ahnung, ob das schon mal angesprochen oder diskuztiert wurde.
ich wollte nur mal eben nach fragen, warum man nach nem tod LP- und
MP-maessig nicht wieder voll auf der hoehe ist.
und eben hiermit (falls das nicht schon passiert ist) ne diskussion anregen.
oder nennt mir einfach nur gruende, warum es nicht so ist!
Ciao
     Harg


-----------------------------------------------------------------------------



Re: nach dem tod (Catweazle, 16. Apr 1996, 09:47:29):
~#! rn=Harg rt=829584609
~#! tid=829584609
[Verlegt von allgemeines, Marita, 15. Apr 1996, 21:34:55]:
Hi,
gehoert zwar eigentlich nach 'entwicklung', aber ich hoffe, die Diskussion
nimmt hiermit ohnehin ihr Ende:
Es ist ja gerade der Witz beim Sterben, dass man sein Leben (=LP) verliert.
Was die MP angeht, naja wenn einen der Tod mit letzter Kraft in der Kapelle
abgeladen hat, kann man nicht damit rechnen, ein magisches As zu sein.
Beten hilft da auch nicht; das ist nur dazu da, dass man UEBERHAUPT ver-
nuenftig weiterspielen kann.
Marita faellt wieder allen Spielern in den Ruecken



-----------------------------------------------------------------------------



Re: nach dem tod (Catweazle, 16. Apr 1996, 09:47:54):
~#! rn=Harg rt=829584609
~#! tid=829584609
[Verlegt von allgemeines, Beetle, 16. Apr 1996, 08:38:05]:
Ist doch klar: Das ist realistischer.
Also, wenn ich sterbe, fuehl' ich mich danach schon ziemlich miess...

byebye, beetle ;-)


-----------------------------------------------------------------------------



Re: Re: i -b (Wargon, 16. Apr 1996, 11:19:17):
~#! rn=Acrimon rt=829589337
~#! tid=829564518
Ok, i -o wurde zu i -v (v wie Verschiedenes, also aehnlich wie im Laden
alles, was nicht Ruestung oder Waffe ist).
Ausserdem ist diese Option jetzt auch auf der Hilfeseite erwaehnt ;)
  Wargon
PS: "ende" oder Reboot, ihr kennt das ja...

-----------------------------------------------------------------------------



Bug im Elementarschwert (Morgoth, 16. Apr 1996, 12:09:24):
so, er ist (hoffentlich) gefixed. probleme gab es in verbindung mit der
seherkugel und wenn man ein zweites elementarschwert hatte. dies ist nun
gefixed. in der version 3.0.7 ist der bug allerdings noch drin, also....neues
schwert holen ;-))

-----------------------------------------------------------------------------



Re: Flueche (Boing, 16. Apr 1996, 12:31:39):
~#! rn=Asmodis rt=829597245
~#! tid=829597245
Wenn der Zwergenpriester Deiner Meinung nach nicht richtig funktioniert,
dann haettest Du laengst mal einen bugreport absetzen koennen. Ich hoer
davon zum ersten mal.
  Boing

-----------------------------------------------------------------------------



Re: Eisbaeren (Boing, 16. Apr 1996, 12:32:50):
~#! rn=Fyt rt=829619118
~#! tid=829619118
Auch hier ... hilfe fehler, hilfe idee, hilfe typo
  Boing

-----------------------------------------------------------------------------



Re: Re: Eisbaeren (Escubar, 16. Apr 1996, 12:45:41):
~#! rn=Mupfel rt=829621918
~#! tid=829619118
Gewisse Eisbaeren verforschen aber auch, wenn andere Eisbaeren haun ;)

Aktion: Eisbaeren unter Artenschutz

Zaubereisbaer Escubar

-----------------------------------------------------------------------------



Re: Re: Mal 3 Anregungen wieder aufgenommen (Acrimon, 16. Apr 1996, 19:06:22):
~#! rn=Wargon rt=829640786
~#! tid=829607027
Zu 1.: Das ist eindeutig ein Bug, denn es laeszt sich auch einfacher viel
besser regeln. Folgendermaszen: Man speichert die Zeit ab, wann ein Spieler
zuletzt im Mud war (das ist nicht einmal noetig, denn genau diese Zeit steht
als letzte Schreibzugriffszeit der Spielerdatei); wenn beim Einloggen des
Spielers dieses Datum aelter ist als das Datum des letzten Hochfahrens des
Muds, dann bekommt der Spieler seine LP/MP hochgesetzt und alle Krankheiten
entfernt.
Auf diese Weise wird es immer funktionieren - egal, welche Sachen der Magier
dabeihat.
Und weil es so einfach so gut geht, ist das jetzige Verhalten eindeutig
fehlerhaft.

Zu 2.: "behalte alles" ist sehr wohl sehr nuetzlich. Dann kann man mit einem
Befehl festlegen, welche Sachen man bei "verkaufe alles" nicht verkaufen will;
und "verkaufe alles" ist ebenfalls sehr nuetzlich, wenn man gerade Geld
sammelt.
Beides gehoert zusammen und ist sehr hilfreich.

Zu 3.: Unpraktisch. Schoen waere eine solche Moeglichkeit:
> kwer
Spieler1......bs  Zweitie.......cz  SeherKarate...kS  SeherAbent....bS
ZweitieZaub...zZ  ErstieChaos...cS  MagierAbent...bM  Silvana.......zE
Boing.........bG

Oder sowas in der Art .... waer doch mal schoen, und vor allem viel
praktischer!

Acrimon, der Rote Ritter

-----------------------------------------------------------------------------



zeige <spielername> <gegenstand> (Acrimon, 16. Apr 1996, 20:37:36):
Jaja ich weisz, diesen Befehl gibt es schon.

Aber wenn nun der Gegenueber, dem man den Gegenstand zeigt, die Beschreibung
des Gegenstandes angezeigt bekaeme, dann bekaeme der Befehl "zeige" auch einen
Sinn!

Acrimon, der Rote Ritter

-----------------------------------------------------------------------------



Re^4: Mal 3 Anregungen wieder aufgenommen (Mephisto, 17. Apr 1996, 07:16:34):
~#! rn=Zuerileu rt=829717325
~#! tid=829607027
Also ich fuer meine Teil faend das gar nicht sooo schlecht.
Meph

-----------------------------------------------------------------------------



Re^3: Mal 3 Anregungen wieder aufgenommen (Valarian, 17. Apr 1996, 08:20:52):
~#! rn=Acrimon rt=829674382
~#! tid=829607027
Nachdem ich jetzt von allen moeglichen Leuten angesprochen wurde, dass es
Kwer gilde gibt, hier nochmal fuer alle: Das ist mir sogar klar :-)

Allerdings meinte icheine Loesung beim normalen kwer wie sie Acrimon gezeigt
hat. Ich faende es durchaus interessant zu sehen, auf welche Stufen sich die
verschiedenen gilden verteilen

Zu Wargons Stellungnahme zu "behalte alles" moechte ich sagen, dass es schon
ein bisschen arrogant ist, zu sagen: "Benutz halt nicht verkaufe alles!".

Ich hab keine Lust 100x verkaufe schwert einzugeben und wenn ich halt meine
normale ausruestung zusammen habe, dann mach ich einmal behalte alles.
SO schwer duerfte das ja wohl nicht sein.

Gruss Val.

-----------------------------------------------------------------------------



Re^3: Mal 3 Anregungen wieder aufgenommen (Zuerileu, 17. Apr 1996, 08:31:03):
~#! rn=Acrimon rt=829674382
~#! tid=829607027
Hallo Acrimon,
Nun, ich finde das nochmehr abkuerzungen ziemlich kopliziert sind und die
uebersicht beeintraechtigt. **Ironie ON** Evtl. braucht man bald einen
Doctortitel um Kwer zu verwenden. *Ironie Off* =:).

Tschuess Zuerileu

-----------------------------------------------------------------------------



Re^4: Mal 3 Anregungen wieder aufgenommen (Valarian, 17. Apr 1996, 08:32:20):
~#! rn=Zuerileu rt=829722663
~#! tid=829607027
Man koennte ja ein kwer+ einfuehren oder so.

Euer Val.

-----------------------------------------------------------------------------



Re^3: Mal 3 Anregungen wieder aufgenommen (Zardoz, 17. Apr 1996, 12:30:48):
~#! rn=Acrimon rt=829674382
~#! tid=829607027
Zu 3) Also, c = chaos, k = karate, z = zauberer. Aber wofuer steht das b?
fuer bekloppt, bloede oder was?

Ciao   Zardoz

-----------------------------------------------------------------------------



Re^4: Mal 3 Anregungen wieder aufgenommen (Creative, 17. Apr 1996, 12:31:39):
~#! rn=Zardoz rt=829737048
~#! tid=829607027

ganz einfach:
-b = [Abenteuer:]

-Crea-


-----------------------------------------------------------------------------



Re^4: Mal 3 Anregungen wieder aufgenommen (Morgoth, 17. Apr 1996, 12:31:43):
~#! rn=Zardoz rt=829737048
~#! tid=829607027
aBenteurer (logisch, oder??)

-----------------------------------------------------------------------------



Ideen (Orktoeter, 17. Apr 1996, 12:51:18):
Wie waere es, wenn man sich den Inhalt der Rubriken der mpa auch von hinten
nach vorn ansehen kann ? Meistens interssieren einen doch eher die neuen
Artikel ?
Als zweites waere es nicht schlecht, wenn man nach einem Autor suchen kann,
egal in wlecher Rubrik.
OrkT

-----------------------------------------------------------------------------



Re: Ideen (Loco, 17. Apr 1996, 14:57:09):
~#! rn=Orktoeter rt=829738278
~#! tid=829738278
Es gibt 'inhalt ende', dabei werden Dir nur die letzten 16 Artikel
aufgelistet.
Zur Autorensuche: Ich fuerchte, das braucht etwas viel Rechenzeit, aber ich
schau mal. In den naechsten Wochen steht eh mal wieder eine groessere
Ueberarbeitung der mpa an, nachdem ich endlich mein Vordiplom geschafft
habe...

   Loco

-----------------------------------------------------------------------------



Re^3: Mal 3 Anregungen wieder aufgenommen (Mupfel, 17. Apr 1996, 18:31:19):
~#! rn=Acrimon rt=829674382
~#! tid=829607027
Das funktioniert beim shutdown, weil da alle spieler nochmal gespeichert
werden, aber nicht beim crash... zwar wird im alle 300 HBs (oder so) ein
spieler gespeichert, aber netztote haben keinen HB...

(aber es gibt noch ne andere Methode)

-----------------------------------------------------------------------------



Re^4: Mal 3 Anregungen wieder aufgenommen (Mupfel, 17. Apr 1996, 18:33:10):
~#! rn=Valarian rt=829722052
~#! tid=829607027
Ich habe mir sagen lassen es gaebe ein mud, wo sowas 'verkaufe alle
schwerter' geht (ich gleube RegenBogen, ein BSX-Mud mit MG mudlib); vielleicht
kann man das ja hier auch machen...

-mupfel-

-----------------------------------------------------------------------------



Re^4: Mal 3 Anregungen wieder aufgenommen (Acrimon, 17. Apr 1996, 21:07:38):
~#! rn=Mupfel rt=829758679
~#! tid=829607027
Klar funktioniert das auch bei einem Crash!
Oder hast Du schon mal gesehen, dasz eine Spielerdatei nach einem Crash ein
neueres Datum hat als wann der Crash passiert ist?
Die Spieler sind vielleicht nicht gespeichert worden - aber WENN sie das
nicht wurden, dann haben sie doch ein NOCH aelteres Datum!

Ich seh keinen Grund, warum das nicht funktionieren sollte.

Zur Erinnerung: Wenn beim Einloggen eines Spielers das Datum, wann er zuletzt
abgespeichert wurde, aelter ist als das Datum, zu dem das Mud zuletzt
hochgefahren wurde, dann sollten ihm LP und MP hochgesetzt werden, alle
Krankheiten entfernt werden und Alkohol/Wasser/Essen auf 0 gesetzt werden.

Magier, bitte implementiert das.

Acrimon, der Rote Ritter

-----------------------------------------------------------------------------



Re^4: Mal 3 Anregungen wieder aufgenommen (Acrimon, 17. Apr 1996, 21:31:37):
~#! rn=Zuerileu rt=829722663
~#! tid=829607027
Nun, wenn DU Zweifel hast ob Du die Uebersicht behalten kannst, schlage ich
folgendes vor:

kwer bekommt noch die Option "-g" (gilden).
Ohne diese Option siehst du die Gildenspalte nicht, und mit dieser Option
siehst du sie schon.
Spieler, die schon einige Zeit im Mud waren, werden sich das Alias
definieren:
alias kwer kwer -g $*

Auf diese Weise bleibt auszerdem gewaehrt, dasz Anfaengerspieler nicht
abgeschreckt werden von kryptischen, uebersichtlichen Buchstaben.

Und noch etwas wird dann fuer die Zukunft moeglich werden: Weitere
Informationen im kwer, ohne mehr Platz zu verwenden.
Schlieszlich sind insgesamt 4 Spalten moeglich (11 Buchstaben Spielername,
ein ., zwei weitere Spalten, die Gildenspalte und Statusspalte.)
Wenn man in der Zukunft dann jede der Informationsspalten mit Optionen
ein-/ausschalten kann, dann kommt jeder auf seine Kosten - der, der moeglichst
viele Informationen so kompakt und uebersichtlich wie moeglich haben will (so
wie ich), oder der, der Scheu vor noch unbekannten Zeichen hat und lieber
weniger Informationen haben will.

Acrimon, der Rote Ritter fuehrt Euch die Zukunft vor Augen, wie praktisch sie
sein koennte.

-----------------------------------------------------------------------------



Re^5: Mal 3 Anregungen wieder aufgenommen (Mupfel, 18. Apr 1996, 02:12:44):
~#! rn=Acrimon rt=829768058
~#! tid=829607027
Nicht zu vergessen next_spell_time auch auf 0 :-)

-mupfel-

-----------------------------------------------------------------------------



Re^5: Mal 3 Anregungen wieder aufgenommen (Bendeigid, 18. Apr 1996, 21:26:49):
~#! rn=Acrimon rt=829769497
~#! tid=829607027
Lieber Acrimon:zum Thema "scheu vor unbekannten Zeichen", Acrimon:
Die kryptischen Zeichen "ss", bedeuten in einem Wort fuer gewoehnlich ein
scharfes s also dieses dem griechischen beta aehnlich sehende zeichen des
deutschen Alphabets. Mit diesem doppel-s laesst sich dann auch ein text bequem
lesen. wohingegen ein penetrantes verwenden von "sz" eigentlich nur nervt.

Bendeigid, heute schlecht drauf und auch ohne z'par servu.

-----------------------------------------------------------------------------



Re^6: Mal 3 Anregungen wieder aufgenommen (Rumata, 18. Apr 1996, 22:15:42):
~#! rn=Bendeigid rt=829855609
~#! tid=829607027
Alkohol in Maszen ist gut fuer den Kreislauf! :-)
Rumata

-----------------------------------------------------------------------------



Re^6: Mal 3 Anregungen wieder aufgenommen (Jasper, 18. Apr 1996, 22:21:57):
~#! rn=Bendeigid rt=829855609
~#! tid=829607027
alkohol schon, aber in koeln gibts ja nur koelsch

nippelt an seinem dom koelsch weiter, noch immer mehr als die haelfte drin

-----------------------------------------------------------------------------



Re^6: Mal 3 Anregungen wieder aufgenommen (Acrimon, 19. Apr 1996, 01:24:39):
~#! rn=Bendeigid rt=829855609
~#! tid=829607027
Das scharfe s ist nicht "ss", sondern "sz", was sowohl in der Geschichte der
deutschen Sprache als auch in der Sprachlogik begruendet liegt.
Im Grunde hat die deutsche Sprache naemlich insgesamt vier unterschiedliche
"s":
1. Das ganz normale, einfache "s". Da ihr das alle kennt und auch
unterscheiden koennt, musz ich wohl nicht mehr Worte darueber verlieren.
2. Das Doppel-s "ss". Beispiele: Wasser, Busse. Kommt niemals am Ende eines
Satzes vor und bedeutet nur ein verlaengertes "s".
3. Das scharfe s "sz", eigentlich aehnlich zu "B" geschrieben; Fluch sei dem
Jof, der vor einem Jahr das MG rueckschrittlich gemacht hat und keinen
Iso-Standard erlaubt. Beispiele: Hasz, auszer, reiszfest. Kommt meistens am
Ende eines Teilwortes vor und bedeutet, dasz der vorhergehende Vokal besonders
kurz und das sz selbst besonders scharf gesprochen wird.
4. Das weiche s "hs", eigentlich aehnlich wie ein | mit Haken oben und unten
geschrieben; leider haben sich die Leute schon lange angewoehnt, das weiche hs
genauso zu schreiben wie das scharfe sz, damit die deutsche Sprache
miszverstaendlicher und schwieriger zu lesen wird (weil man hs ja keineswegs
wie sz ausspricht).
Beispiele: fliehsen, Mahsband, Griehs. Bedeutung: der Vokal vor dem hs wird
gedehnt und das s selbst wird eher "weich" gesprochen. Also das genaue
Gegenteil zum scharfen sz.

Am Beispiel von dem "Masz" Bier und dem "Mahs" in Zentimetern sieht man
schon, dasz eine Sprache umso miszverstaendlicher wird, je weniger Buchstaben
sie enthaelt.

Ich moechte mich hiermit in aller Form entschuldigen, dasz ich in
Vergangenheit "hs" wie "sz" geschrieben habe und will versuchen, mich zu
bessern und der Leserlichkeit mehr Rechnung zu tragen als bisher.

Acrimon, der Rote Ritter
PS: "musz" sollte eigentlich "muhs" heiszen.

-----------------------------------------------------------------------------



Re^7: Mal 3 Anregungen wieder aufgenommen (Acrimon, 19. Apr 1996, 01:44:10):
~#! rn=Acrimon rt=829869879
~#! tid=829607027
Ich hab gerade gehoert, dasz man das Mahsband nicht ueberall in Deutschland
mit gedehntem a spricht.

Viel mehr kann ich allerdings nicht dazu sagen.

Grusz, Acrimon der Rote Ritter

-----------------------------------------------------------------------------



Re^7: Mal 3 Anregungen wieder aufgenommen (Rudiratter, 19. Apr 1996, 03:17:58):
~#! rn=Acrimon rt=829869879
~#! tid=829607027
ohno, das ist doch echt nicht mehr normal. geht dir dabei einer ab, acrimon?
Rudi, mies drauf.

-----------------------------------------------------------------------------



Re^8: Mal 3 Anregungen wieder aufgenommen (Zuerileu, 19. Apr 1996, 08:17:54):
~#! rn=Acrimon rt=829871050
~#! tid=829607027
Hallo Acrimon,
*deutsche Splache schwele Splache*
Also, ich bin sonst schon nicht so der Hirsch im Schriftdeutschen, schon weil
meine Muttersprache alS Schweizer eine andere ist. Ich persoenlich habe in der
Schule nie gelernt das man "ss" als "sz" schreibt, aemm um erlich zu sein find
ich es klingt sogar verschissen (aemm. Verschiszen?). Also, ich bin froh das
man hier im Morgengrauen noch "normal" schreibt und noicht solche quirille
Schreibweisen bevorzugt. Ich halte das nicht fuer einen Abstieg sondern fuer
eine positive und vernueftige entwicklung. Ich meine du darfst natuerlich
alles so schreiben wie es dir beliebt nur kann warscheinlich ein grosser Teil
der Leute deine Mails nicht mehr ohne Probleme lesen.

Cu Zuerileu

-----------------------------------------------------------------------------



Re^9: Mal 3 Anregungen wieder aufgenommen (Predator, 19. Apr 1996, 08:51:07):
~#! rn=Zuerileu rt=829894674
~#! tid=829607027
Ihr habt Probleme.....

Predator, schreibt ss, erkennt aber auch, was ein sz bedeuten soll :)

-----------------------------------------------------------------------------



Re^10: Mal 3 Anregungen wieder aufgenommen (Roadrunner, 19. Apr 1996, 10:19:40):
~#! rn=Predator rt=829896667
~#! tid=829607027

Zum Thema s - sz - ss ... wie auch immer - ich faende es schon
fortschrittlich, wenn man die unterscheidung bei 'das' und 'dass'
einigermassen ;) (sind diese einige nun viele?) oefter korrekt antraefe. - es
ist wohl so dass im norden der republik diese unterscheidung etwas schwerer
faellt, da dort die phonetische unterscheidung nicht oder nur sehr rudimentaer
erhalten blieb.

(dazu der artikel Rubrik 19: gilden.zauberer und auch artikel 80 hier.

Roadrunner

(der auch nicht immer alles korrekt schreibt, wie man hier erkennen kann.)


-----------------------------------------------------------------------------



Re^7: Mal 3 Anregungen wieder aufgenommen (Kretek, 19. Apr 1996, 10:39:59):
~#! rn=Acrimon rt=829869879
~#! tid=829607027
**gaehn**
Vortrag beendet? Ja? Gut. Dann bitte zurueck zur Tagesordnung.

-> schmarrn

-----------------------------------------------------------------------------



Re^11: Mal 3 Anregungen wieder aufgenommen (Kretek, 19. Apr 1996, 10:41:43):
~#! rn=Roadrunner rt=829901980
~#! tid=829607027
Hat 'rudimentaer' eigentlich irgendwas mit 'rudiratter' zu tun, oder ist
diese aehnlichkeit eine reine koinzidenz?

(aua, aua, nicht hauen!)

-----------------------------------------------------------------------------



Re^12: Mal 3 Anregungen wieder aufgenommen (Freund, 19. Apr 1996, 11:47:00):
~#! rn=Kretek rt=829903303
~#! tid=829607027
Gruess Gott,

das hier ist doch die Rubrik entwicklung??? ss/sz -> Kultur!?!
(Sonst fange ich hier auch mit GC an... ;)

Also, Entwicklung: Wie waere es mit einem Zauber fuer Zauberer,
der dann in einem beliebigen Artikel alle ss in sz verwandelt, oder
umgekehrt? :)

Ein Freundlicher Lehrer...

-----------------------------------------------------------------------------



Re^13: Mal 3 Anregungen wieder aufgenommen (Caradhras, 19. Apr 1996, 16:49:31):
~#! rn=Freund rt=829907220
~#! tid=829607027
Zueri> Ich meine du darfst natuerlich alles so schreiben wie es dir
Zueri> beliebt nur kann warscheinlich ein grosser Teil der Leute deine
Zueri> Mails nicht mehr ohne Probleme lesen.

Ist doch kein Problem, Zueri, schliesslich kann ein grosser Teil der
Leute deine Artikel auch nicht ohne Probleme lesen.

             Caradhras

-----------------------------------------------------------------------------



MG-Party in Dresden (Lefty, 19. Apr 1996, 18:26:33):
Jau Mango, Party 2000 in Dresden finde ich klasse :)

Lefty (tierisch in sich hinein grinsend)

-----------------------------------------------------------------------------



Re^7: Mal 3 Anregungen wieder aufgenommen (Fyt, 20. Apr 1996, 01:21:40):
~#! rn=Acrimon rt=829869879
~#! tid=829607027

Hm, Acrimon, es waere schon ausreichend, wenn Du Dich an die Regeln
fuer das Schreibmaschinenschreiben aus dem Duden hieltest.

Uebrigens noch mal danke an Jof fuer die Aktion mit den ISO-Umlauten.
Nicht jeder sitzt an einem Rechner, den er soweit konfigurieren kann,
dass die Umlaute so rueberkommen, wie sie sollen.

Fyt.

-----------------------------------------------------------------------------



Re: MG-Party in Dresden (Fyt, 20. Apr 1996, 01:24:39):
~#! rn=Lefty rt=829931193
~#! tid=829931193

Hm, Party 2000 in Dresden is ok.
Aber bitte erst abends um 6. Oder sagen wir halb sieben, fuer den
Fall, dass was dazwischenkommt.

Fyt.

-----------------------------------------------------------------------------



Re^8: Mal 3 Anregungen wieder aufgenommen (Acrimon, 20. Apr 1996, 19:40:14):
~#! rn=Fyt rt=829956100
~#! tid=829607027
Nun, genau das ist mir unmoeglich gemacht worden, mich an die
Rechtschreibregeln aus dem Duden zu halten; denn dazu fehlen mir leider die
Umlaute.

Im Uebrigen ist es ein Leichtes, eine Option einzufuehren, mit der in den
Texten die Umlaute durch die entsprechenden Umschreibungen ersetzt werden,
bevor sie fuer die Ausgabe ueber telnet formatiert werden.

Ich bitte das zu implementieren, und wenn ihr euch dazu nicht in der Lage
seht, dann liefere ich Euch auch die noetigen Routinen dazu!

Und dann werden diejenigen unter Euch zufrieden sein, die kein Iso-Terminal
haben, weil sie nur noch "ss" statt "sz" und "hs" sehen; und ganz besonders
die Leute mit Iso-Terminal werden dann zufrieden sein, weil sie sich keine
Umschreibungs-Tipperei mehr angewoehnen muessen und einen Teil der Texte
endlich in richtigen Buchstaben sehen.

Acrimon der Rote Ritter.
Auf dasz unser Mud ansprechender und schoener werde!

-----------------------------------------------------------------------------



Re: MG-Party in Dresden (Terrorist, 21. Apr 1996, 20:01:43):
~#! rn=Lefty rt=829931193
~#! tid=829931193

Was MG-Party in Dresden?
Wieso weiss ich davon nichts
aber ich bin dafuer :)

Terrorist
zurueck aus Giessen

-----------------------------------------------------------------------------



Re^7: Mal 3 Anregungen wieder aufgenommen (Catweazle, 22. Apr 1996, 17:59:34):
~#! rn=Acrimon rt=829869879
~#! tid=829607027
Hm, Mich wuerde interessieren, wie Du zu der geplanten Rechtschreibreform
stehst, Acrimon? :-)

Yoursz truly,
         Catweaszle

-----------------------------------------------------------------------------



Ein neuer Nachrichtenkanal (Valarian, 23. Apr 1996, 00:26:45):
Wie jeder weiss gibt es ja den tollen viel genutzten Nachrichtenkanal, wo man
in drei Zeilen die wichtigsten Nachrichten lesen kann. Wenn allerdings
interessiert das RL?
Ich faende es sollte MG-Nachrichten geben, die folgendermassen aussehen
koennten:

[Lupinental:] Mahatma hat heute die Hydra ins Jenseits befoerdert (Puma)
[Karate:] Karate wird um 30% abgeschwaecht (Rochus)
[Tod:] Heute segneten 12 unsere Freunde das zeitliche. Als besonderer Fall
wurde Valarian von mir empfangen, der 5,3451 Mio Eps zuruecklies (Lars)
[Sheriff:] Valarian wurde heute beim scripten erwischt und geloescht (Cat*)
[Chaos:] Chaosbaelle kosten nur noch 10 Mps und wurden leicht aufgewertet
(Zardoz)

So in dem Stil koennten doch mal ein paar coole Nachrichten kommen, die ueber
das neuste im MG informieren. Ich denke, das waere doch mal was.

Freu mich auf Antwort,

Gruss Valarian.

-----------------------------------------------------------------------------



gebt Infos (Feuerwehr, 23. Apr 1996, 07:58:05):
Hallo, eine GROSSE Bitte von einem Spieler ...
Gebt Informationen ueber die Gilden die da kommen werden. Was wird
es geben, und wann wird es es geben? Kaempfergilde, Bierschuettlergilde,
Diebesgilde, das Mud ist voll von Geruechten. Aeh, da evtl Spieler ihre
Gilde wechseln moechten und sich nun fuer andere Gilden entscheiden muessen,
faenden es diese, aeh, Spieler EXTREM Gut, wenn eine kurze Beschreibung
der zukuenftigen Gilden (mit Erscheinungstermin) veroeffentlicht wuerden


Das waeres so... :)
      Feuerwehr (Die Maenner von der )

-----------------------------------------------------------------------------



Re^9: Mal 3 Anregungen wieder aufgenommen (Li, 23. Apr 1996, 08:53:05):
~#! rn=Acrimon rt=830022014
~#! tid=829607027
Also jetzt wirds mir zu dumm. tut mir leid, Acrimon.
Ich finde, dass jeder so gut deutsch koennen sollte, u unterscheiden zu
koennen, ob das oder dass geschrieben werden muss. Jeder sollte in deutscher
Grammatik so bewandert sein, dass ee weiss dass Spass mit scharfen S ("sz")
gesprochen wird.
Ich weiss natuerlich, dass die deutsche Grammatik immer mehr den Bach
hinuntergeht, aber naja.
Woerter mit "sz" zu schreiben oder sogar mit "hs" finde ich absulut daneben,
wer den unterschied beim Sehen eines "ss" nicht erkennt, sollte mal lieber
etwas mehr Gramatik pauken.
Was die Umlaute ae, oe, ue angeht, okok, ich ertappe mich auch oft dabei, in
anderen Texten ae statt des korrekten Umlautes einzubauen, aber dennoch finde
ich Umlaute nicht unbedingt notwendig. Und solche "scherze" wie : Spasz
(oderwie immer solche Wortkreationen dann aussehen) finde ich eher
verwirrender und die sprache noch mehr zerstueckelnder.
Also bleibt beim "ss", um Jofs Willen!
Li (kein roter Ritter)
P.S. bevor jetzt hier wieder etwas falsch interpretiert wird: Ich weiss, dass
Du die Umaelnderung der Umlaute aus Vereinfachungsgruenden moechtest, und
nicht, weil du das "ss" nicht beherrscht.
P.P.S.: Ist beim P.S. jemand auf die Idee gekommen, ich koenne die Farbe
gemeint haben und nicht 1.Pers.Sing.Praes., des Wortes "wissen"?

-----------------------------------------------------------------------------



Re^10: Mal 3 Anregungen wieder aufgenommen (Grimmborn, 23. Apr 1996, 09:54:42):
~#! rn=Li rt=830242385
~#! tid=829607027

Sie lasen einen Beitrag zum Thema: "Toleranz auch in nichtigen Bereichen."

Grimmborn der Atheist

-----------------------------------------------------------------------------



Voschlag (Orktoeter, 23. Apr 1996, 10:13:48):
Hmm mal so als Idee in den Raum gestellt :
Wie waere es, wenn man auch fuer das aufspueren von Bugs und Typos (evtl.
auch das absetzen guter Ideen) FP bekommen wuerde ?
Wer also als erster in eine neue Region geht kann auch als erster dort typos
finden.
Auf diese art werden die Spieler sicher dazu angeregt typos die sie finden
auch abzusetzen, was letzendlich dem ganzen MG zugute kommt.
OrkT.

-----------------------------------------------------------------------------



Re: Ein neuer Nachrichtenkanal (Hate, 23. Apr 1996, 10:14:24):
~#! rn=Valarian rt=830212005
~#! tid=830212005
Meinst Du nicht, dass es schon so genug Krach in MG gibt? Die Informatione
zum Sterben von Spielern und Monstern, die anderen Kanaele, gerufe etc.
Viel Sinnvoller waere mal eine alternative zur MPA, die richtige Artikel
enthaelt. Hier kann ja dann auch sowas wie Nachrufe etc rein.

Hate.

-----------------------------------------------------------------------------



Re: Voschlag (Morgoth, 23. Apr 1996, 10:15:00):
~#! rn=Orktoeter rt=830247228
~#! tid=830247228
problem ist, dass der zustaendigen mag das uebrepruefun muss, ob der spieler
nicht irgendwelche wurst-bugs oder sowas abgesetzt hat. find ich aber ne
witzige idee...

-----------------------------------------------------------------------------



Re: Re: Ein neuer Nachrichtenkanal (Valarian, 23. Apr 1996, 10:50:35):
~#! rn=Hate rt=830247264
~#! tid=830212005
Meinetwegen auch das, aber oft ist es total interessant, was tagsueber
abging, aber das bekommt man nur erzaehlt.
Warum koennten Magier nicht wichtige Infos dort absetzen. Von mir aus kann
das auch in Form eines Tagesblattes oder eines Referates passieren. Ist mir
doch egal. Aber cool faende ich es schon.

Gruss Val.
.,

-----------------------------------------------------------------------------



Re^3: Ein neuer Nachrichtenkanal (Bendeigid, 23. Apr 1996, 10:52:51):
~#! rn=Valarian rt=830249435
~#! tid=830212005
Fein. Werde Magier und setz Dich den lieben langen Tag hin und filter
"wichtiges" aus "unwichtigem" heraus und hab dann noch spass am Spiel oder
zeit, was anderes zu machen.
ICH werde sowas nicht machen. Wie waers, wenn du unter irgendeiner
Muellrubrik testweise SELBER solche infos mal zusammengefasst lieferst? nur
fuer ne Zeit, bis du weisst, ob das jemand interessiert und wie viel arbeit
das ist, die du da "irgendeinem magier" aufdrueckst.

Z'par Servu,
             Bendeigid

-----------------------------------------------------------------------------



Re^4: Ein neuer Nachrichtenkanal (Valarian, 23. Apr 1996, 11:04:00):
~#! rn=Bendeigid rt=830249571
~#! tid=830212005
Sicher hast Du recht, Ben. Ich will ja auch niemanden zu mehr Arbeit zwingen,
aber es koennten doch sicher manche Sachen automatisiert werden. Es soll ja
auch nicht jeder Nachrichten einbrigen koennen, sondern es sollte so Sachen
kommen, die von "gesellschaftlichem" Wert sind.
Da koennte zum Beispiel die Hydra an den Nachrichtendienst melden, dass sie
getoetet wurde und von wem :-) und der Oberchef der Chaosgilde nen neuen
Erzmeister bekannt geben.
Und wenn dann tatsaechlich noch die Erzis oder Goetter was sagene sollen,
dann kann das auch der Nachrichtendienst senden. Ist doch cool.
Wenn jeder Magier senden duerfte, das waere echt ne Katastrophe. Vielleicht
koennten ja noch die Regionsmagier was melden, wenn's was neues gibt, so dass
die Regionsmitarbeiter ihren Chef einen Auftrag geben koennten. Dadurch wuerde
schon weniger Muell ankommen.

Val.

-----------------------------------------------------------------------------



Re^4: Ein neuer Nachrichtenkanal (Boing, 23. Apr 1996, 11:21:31):
~#! rn=Bendeigid rt=830249571
~#! tid=830212005
Ich finde es nicht gut, dass hier eine gute Idee niedergemacht wird, nur
weil sie nach viel Arbeit aussieht. Wenn wir immer so vorgegangen waeren,
dann waere MG laengst tot. Bei allen guten und interessanten Ideen hat
sich frueher oder spaeter ein Magier gefunden, der sie uebernommen hat
(Ok, nicht bei allen, aber bei vielen). Vor allem wenn sich ein breiteres
Interesse an der Sache abzeichnen sollte (bisher hat sich ja nur Valarian
dafuer geaeussert), dann werden sich sicher Wege finden das auch zu
realisieren.
Ich persoenliche faende MUD-Nachrichten 1000 mal besser und stilvoller als
den daemlichen RL-Schrott, den ich den ganzen Tag sehen muss.
  Boing

-----------------------------------------------------------------------------



Re^5: Ein neuer Nachrichtenkanal (Terrorist, 23. Apr 1996, 11:24:35):
~#! rn=Boing rt=830251291
~#! tid=830212005

Ok da nur Valarian sich dafuer geaeussert hat aeussere ich mich jetzt auch
dafuer

Terrorist verlangt 400 Millionen Dollar in Diamanten oder er zerstoert den
Mudrechner

-----------------------------------------------------------------------------



Re^6: Ein neuer Nachrichtenkanal (Hate, 23. Apr 1996, 11:30:13):
~#! rn=Terrorist rt=830251475
~#! tid=830212005
Ich frage mich, wo das Problem liegt, wenn sich die Spieler untereinander
unterhalten sollen?
Wenn wir mehr und mehr Informationen automatisieren, unterhaelt sich nachher
keiner mehr. Und gerade so Dinge, wie die Hydra, warum sollen sich nicht
die Moerder selber bruesten?

Hate.

-----------------------------------------------------------------------------



Re^7: Ein neuer Nachrichtenkanal (Anatol, 23. Apr 1996, 11:32:29):
~#! rn=Hate rt=830251813
~#! tid=830212005

Boah, ich finde es so toll, wenn mir jemand stolz seine drei
Hydratoeterruestungen zeigt... Noe, Eigenlob stinkt.

Bruestet sich gelegentlich auch,
Anatol


-----------------------------------------------------------------------------



Re^7: Ein neuer Nachrichtenkanal (Terrorist, 23. Apr 1996, 11:32:37):
~#! rn=Hate rt=830251813
~#! tid=830212005

na z.B. das mit der MEldung wieviele Todes heute gab .
Wie krieg ich das raus? SOll ich jeden fragen bist du heute schon gestroben?

Terror*

-----------------------------------------------------------------------------



Re: Ein neuer Nachrichtenkanal (Larissa, 23. Apr 1996, 11:39:08):
~#! rn=Valarian rt=830212005
~#! tid=830212005

Also,
ich finde die Idee auch ganz nett, so Klatsch und Tratsch
im MG fuer alle zugaenglich zu machen, vor allem, weil einem
dann nicht so schnell Infos durch die Lappen gehen *huestel*.
Wie waere es, wenn ein Mag oder Spieler eine Rubrik "Klatsch und Tratsch"
als einziger schreiben kann, in das er Dinge schreibt, die ihm im Laufe
des Tages/der Nacht zugemailt wurden?
Waere das ne Loesung? ich wuerds auch machen, klingt naemlich irgendwie
interessant fuer mich.

Lari, Klatschbase :)

-----------------------------------------------------------------------------



vorschlag-mpa (Orktoeter, 23. Apr 1996, 11:56:48):
Wie waere es mit einem "traed" Befehl, aehnlich wie Inhalt, aber immer nur
den ersten Artikel eines thraeds. Dann kann man relativ leicht und schnell die
vorschlaege durchsehen ohne die ganzen Antworten durchblaettern zu muessen..
OrkT heute mal Ideenreich.

-----------------------------------------------------------------------------



kobold (Orktoeter, 23. Apr 1996, 12:06:30):
Ich faend es klasse, wenn der Kobold einem sagt, wie viele artikel in welcher
rubrik man verpasst hat, waehrend man ihn eingeschaltet hatte.. (davon
ausgehend, das man die Kanaele auch abschaltet, wenn man den Kobold
einschaltet).
OrkT (hoffentlich stoppt mich jemand bevor das zur Sucht wird... :) ).

-----------------------------------------------------------------------------



Re: Re: Ein neuer Nachrichtenkanal (Engywuck, 23. Apr 1996, 13:09:32):
~#! rn=Larissa rt=830252348
~#! tid=830212005
Also, wenn das durchgeht werd ich Magier und bewerb mich um den posten ;)

Engy - schonungslos neugierig

-----------------------------------------------------------------------------



Re^3: Ein neuer Nachrichtenkanal (Larissa, 23. Apr 1996, 13:20:56):
~#! rn=Engywuck rt=830257772
~#! tid=830212005
Wozu Magier? Kann doch auch ein Spieler sein....
aber wahrscheinlich gibt das eh nur Stress, weil hinterher
keiner was gesagt haben will. *zuck*

Lari, auch neugierig, findet die Idee eigentlich zu schoen, um sie
      nicht durchzuziehen, ist aber echt nicht wild auf den Posten.

-----------------------------------------------------------------------------



Re^6: Ein neuer Nachrichtenkanal (Caradhras, 23. Apr 1996, 13:27:52):
~#! rn=Terrorist rt=830251475
~#! tid=830212005
Klar, und ich aeussere mich auch fuer den neuen Nachrichten-
kanal. Bin dafuer, dann muesste man wenigstens nicht IMMER
in MG sein um die wichtigsten/interessantesten Sachen zu erfahren.

                Caradhras
PS: Haben meine Zweities auch Stimmen? :)

-----------------------------------------------------------------------------



Re^7: Ein neuer Nachrichtenkanal (Jasper, 23. Apr 1996, 14:03:09):
~#! rn=Caradhras rt=830258872
~#! tid=830212005
Die Idee finde ich auch prima, ich werd dann den job mal an meine
regionsmagier weiterleiten :)
Morgoth wird dann den job, an den naechsten mitarbeiter in vland
weiterleiten.

Jasper findet dass Morgoth ein Sklaventreiber ist :)


-----------------------------------------------------------------------------



Re^5: Ein neuer Nachrichtenkanal (Fyt, 23. Apr 1996, 14:31:19):
~#! rn=Boing rt=830251291
~#! tid=830212005

Gut, ich hab den Thread noch nicht zu Ende gelesen, aner ich finde
Valarians Idee ziemlich gut. Ich hab allerdings auch nix gegen die
RL-Nachrichten, sie gehoeren zwar nicht zum Mud direkt, sind aber
manchmal 'n brauchbarer Ersatz fuer die Tage, an denen wieder mal
jemand die Zeitung aus dem Briefkasten geklaut hat...

Fyt.

-----------------------------------------------------------------------------



Re^7: Ein neuer Nachrichtenkanal (Fyt, 23. Apr 1996, 14:33:52):
~#! rn=Hate rt=830251813
~#! tid=830212005

Weil ich es affig finde, rumzurennen und jedem zu sagen, dass ich die
Hydra schon dreimal gekillt hab. Wenn das von anonymer Seite bekannt-
gegeben wird, ist das was anderes :)  Nix gegen reden, aber ich kenne
Zeiten, da sind hier 30 Leute eingeloggt, und ne halbe Stunde lang
passier *gar nichts*...

Fyt.

-----------------------------------------------------------------------------



Re^8: Ein neuer Nachrichtenkanal (Morgoth, 23. Apr 1996, 16:09:16):
~#! rn=Jasper rt=830260989
~#! tid=830212005
hoer auf so einen quatsch in artikel zu schreiben. koennte ja jemand glauben.
ich und sklaventreiber ?
uebrigens, ist dein pr-npc fertig?
was machen deine naechsten konzepte? hae?
morgoth der sklav^h^h^h^h^hliebe RM

-----------------------------------------------------------------------------



Re: Voschlag (Cauno, 24. Apr 1996, 11:19:46):
~#! rn=Orktoeter rt=830247228
~#! tid=830247228

Da gibt es nur ein Problem: Diese Forscherpunkte werden dann nur einmal
verteilt, und kein weiterer Spieler hat eine Chance mehr darauf.
Ausserdem denke ich, dass die Testspieler schon dafuer sorgen sollten, dass
die Rechtschreibung und die Raumbeschreibungen stimmen. Wofuer laesst man die
sonst da rein?

					C. No

-----------------------------------------------------------------------------



Re^6: Ein neuer Nachrichtenkanal (Cauno, 24. Apr 1996, 11:25:17):
~#! rn=Terrorist rt=830251475
~#! tid=830212005

Ok. jetzt auch mein Senf dazu. Der MUD-Nachrichten-Kanal waere meiner Meinung
nach eine passende Ergaenzung zu den Gags, die es sonst noch im MG gibt. Im
Grunde kann man die Nachrichten aus der MPA kurz zusammenfassen und einmal
durch MG schicken.
Das waere dann aber der job des Schreibenden. Damit nicht wieder jeder Muell
ueber diesen Kanal geht, sollte jemand aber doch (M o. EM) die angesammelten
nachrichten durchgehen, bevor sie gesendet werden.
Wie man eine Zensur umgeht, weiss ich allerdings nicht :-)

Die Sachen, die sowieso staendig passieren (Statistiken der Todeskanaele, zum
Bleistift) koennen ja automatisch geposted werden.

						C. No

-----------------------------------------------------------------------------



Re: Re: Voschlag (Bendeigid, 24. Apr 1996, 11:51:34):
~#! rn=Cauno rt=830337586
~#! tid=830247228
Testspieler SIND die Magier selber, CauNo. Oder dachtest du was anderes?
Alles andere waere illegal, und daher gibts das natuerlich niemals. Wenn
natuerlich zufaellig ein Spieler einem Magier beim proggen ueber die Schulter
schaut und dabei Tippfehler findet... das ist was anderes.

Z'par Servu,
            Bendeigid, grinsend

-----------------------------------------------------------------------------



Re: Re: Voschlag (Marita, 24. Apr 1996, 11:56:32):
~#! rn=Cauno rt=830337586
~#! tid=830247228
Hi,
Ganz im Gegenteil, Cauno. Das Korrigieren von Fehlern einschl. Typos durch
echte Spieler ist eine ganz wichtige Sache. Meistens steckt der Teufel im
Detail (Das gilt fuer Typos, aber auch fuer Funktionsfehler), und es gibt
genuegend Details bei hinreichend komplizierten Raeumen und Gegenstaenden,
die beim Selbst-Durchtesten oder beim Testen durch andere Magier vergessen
werden - das laesst sich gar nicht vermeiden.
Die zentrale Rolle der Testspieler stimmt nur zum Teil. Es gibt Recht-
schreib- und sogar Grammatikfehler, die der zustaendige Magier vielleicht
gar nicht kennt, und aus unerfindlichen Gruenden fallen ebendiese seinen
eigenen Testspielern auch irgendwie nicht auf...

Gruesse an alle schnell aufgestiegenen Seher von
Marita

-----------------------------------------------------------------------------



Re^3: Voschlag (Cauno, 24. Apr 1996, 15:27:58):
~#! rn=Bendeigid rt=830339494
~#! tid=830247228

Das ist dann eben der Nachteil an den Testspielern. Wie waere es, wenn
stattdessen ein paar ausgewaehlte Spieler das ganze testen? Oder gibt es nicht
doch sowas?

					C. No

-----------------------------------------------------------------------------



Re^4: Voschlag (Morgoth, 24. Apr 1996, 15:32:41):
~#! rn=Cauno rt=830352478
~#! tid=830247228
also ich hab ein paar seher meinen dartraum 'testen' lassen. aber da es sich
heirbei nur um einen fun-raum zum zeitvertreib handelt und nciht um richtige
gebiete oder quests ist das wohl nicht zu verallgemeinern.
es wird wohl keine gegenden geben, die von spielern getestet werden duerfen.
morgoth der sklaventreiber

-----------------------------------------------------------------------------



Re^4: Voschlag (Boing, 24. Apr 1996, 15:33:43):
~#! rn=Cauno rt=830352478
~#! tid=830247228
Ein neues Gebiet wird nicht nur vom Programmierer getestet, sondern auch
von anderen Magiern, damit faellt Maritas zweiter Punkt schonmal flach.
Und zum ersten Punkt: Das kann Spielern genauso passieren, es macht
also keinen Unterschied, ob ein Gebiet von einem Magier oder von einem
Spieler getestet wird. Hiermit meine ich nur die Effektivitaet des Tests,
einen Unterschied macht es naemlich sehr wohl: Ein 'echter' Spieler, der
ein Gebiet vorher testen darf hat einen Vorteil gegenueber allen anderen
Spielern, die erst beim offiziellen Anschluss reinduerfen. Er kennt sich
wesentlich besser aus, hat vielleicht beim Testen Tips vom Magier in
Anspruch genommen. Aus diesem Grunde sind 'Vorabtests' durch Spieler
verboten.
  Boing

-----------------------------------------------------------------------------



Re^5: Voschlag (Cauno, 24. Apr 1996, 15:36:20):
~#! rn=Morgoth rt=830352761
~#! tid=830247228

Noch mal zurueck zum Anfang, damit wir uns nicht verfranzen.
Es ging um das vergeben von Forscherpunkten fuer gefundene Fehler, was in
meinen Augen etwas ungerecht werden koennte, da der erste, der den Fehler
findet, den Punkt kriegt und sonst keiner,
bzw. was ist eigentlich mit denen, die den Fehler danach finden, solange er
noch nicht korrigiert wurde?

Vielleicht gibt es ja eine andere Belohnung anstelle von Forscherpunkten.

							C. NO

-----------------------------------------------------------------------------



Re^6: Voschlag (Boing, 24. Apr 1996, 15:37:50):
~#! rn=Cauno rt=830352980
~#! tid=830247228
Die Belohnung fuer das Finden und Anmerken eines Fehlers ist ein
besseres Mud.
  Boing

-----------------------------------------------------------------------------



Re^6: Voschlag (Jasper, 24. Apr 1996, 15:38:29):
~#! rn=Cauno rt=830352980
~#! tid=830247228
Also das Vergeben von Forscherpunkten fuer gefundene typos wirds vielleicht
in einigen faellen geben, aber wohl nicht im allgemeinen.

-----------------------------------------------------------------------------



Re^6: Voschlag (Morgoth, 24. Apr 1996, 15:39:02):
~#! rn=Cauno rt=830352980
~#! tid=830247228
ich schon wieder. ich habe bei meiner neuen quest nach einem tag fast nen
schreikrampf bekommen. die info-logs meiner npcs sind zusammen ca. 50k gross.
die muss ich alle abarbeiten. problem ist, dass ca. ein drittel davon doppelt
+ dreifach ist. wie oft soll denn ein magier nach seinen file sehen ? alle 2
sekunden ?
morgoth treibt seine sklaven an

-----------------------------------------------------------------------------



Re^7: Voschlag (Cauno, 24. Apr 1996, 15:39:20):
~#! rn=Boing rt=830353070
~#! tid=830247228

(Ich hatte doch das "wenn ueberhaupt" anhaengen sollen ...)

-----------------------------------------------------------------------------



Re^7: Voschlag (Jof, 24. Apr 1996, 15:58:15):
~#! rn=Boing rt=830353070
~#! tid=830247228
 Eben. Welche Belohnung kriegt schliesslich der Magier, der den Bug fixed
bzw. die Sachen geschrieben hat? Waer schon schade, wenn wir so weit waeren,
das Spieler Bugs nur noch gegen 'Bezahlung' melden ...

 Jof

-----------------------------------------------------------------------------



neuer kanal/mpa-rubrik (Nixihou, 24. Apr 1996, 16:37:56):
hi,
also die idee, dass man eine moeglichkeit bekommt, die "wichtigen" ereignisse
des letzten tages zu bekommen finde ich klasse.
aber als neuer kanal und /oder als neue rubrik in der mpa kann ich mir sowas
nur schwer vorstellen.
ich weiss nicht, ob das was ich vorschlage realisierbar ist , aber mal sehen:
also wie waere es, wenn es ein fuer spieler zugaengeliches "anschlagbrett"
oder was anderes gibt, das sich bestimmte sachen einfach merkt.
zb merkt es sich die moerdermeldung von bestimmten "wichtigen" monstern.
(ndie hydra wurde genannt)
und natuerlich merkt es sich wieviele spieler gestorben sind. und
evtl. macht es sogar eine kleine statistik, welches monster wieviele der
tode verursacht hat. zB: "Die hydra hat in den letzten 12 h 3  spieler
gekillt"
wenn das nicht zuviel platz wegnimmt kann man ja an anderer stelle des
"bretts" dann die spielernamen erfragen.
und auch "wichtige" ankuendigungen die in der mpa veroeffentlicht werden
"merkt" sich das brett und verweisst auf den entsprechenden artikel!
(kein durchsuchen von 1000 artikeln mehr)
leider werden die ankuendigenden magier wohl dem brett bescheidsagen muessen,
das ihr artikel wichtig ist.

was nun im einzelen fuer wichtig gehalten wird, und was davon
"automatisierbar" ist muss sich dann wohl zeigen.
aber die einrichtung einer solchen pinnwand faende ich gut.
(zumahl sie sich ja staendig selbst aktualisiert und altes loescht usw.)

nixhiou, hat heute viel senf von sich zu geben.

PS.: die verweise auf wichtige mpa-artikel koennten sowieso generell
     irgendwo angeschlagen stehen, auch laenger als 24 h. (1 woche)

-----------------------------------------------------------------------------



Kleineres Update der mpa (Loco, 24. Apr 1996, 16:53:27):
Als ersten Teil einer groesseren Ueberarbeitung gibt es ab sofort kleinere
Aenderungen in der MPA:

1. Alle Befehle, die als Argument eine Rubrik wollen, akzeptieren jetzt neben
Name und Nummer auch noch '.' fuer die aktuelle Rubrik, '-' fuer die
vorhergehende und '+' fuer die naechste.
2. Fuer diejenigen Leute (Gruss an den NNN-Club!), die gerne etwas anderes
als 'Nix neues auf der Welt.' sehen moechten, gibt es den Befehl
'zeitungsmeldung'. Ohne Argument setzt er die Meldung auf die Standardmeldung
zurueck.
3. statt 'uebergehe thread' ist jetzt auch 'ignoriere thread' erlaubt. Ich
geb zu, das ist logischer :). Eine interne Aenderung, die mit dem Ignorieren
von threads zu tun hat, hat hoffentlich keinerlei Auswirkungen nach aussen...

Weiteres folgt demnaechst.

Ach ja: Wie immer sind die Aenderungen natuerlich erst nach Crash oder
Ausloggen aktiv.

Soweit dazu,
                Morgengrauens PresseAgentur
                Technische Leitung, z.Hd. Loco

-----------------------------------------------------------------------------



Re: Kleineres Update der mpa (Wurzel, 24. Apr 1996, 18:58:45):
~#! rn=Loco rt=830357607
~#! tid=830357607
hallo,

ist mir schon vor dem lesen des artikels aufgefallen: nn meldet jetzt
"Du solltest schon die Rubrik angeben." ... funktioniert aber auch ohne.
warum also? mach ich sowieso nicht, solange es noch so geht. wenn ich
reinkomme, les ich erstmal die mich interessierenden rubriken. welche das
aktuell ist, steht drueber. das reicht mir, die neue message kostet nur geld
(fuer modem-user). was solls also?

wurzel verstehts nicht (vielleicht bin ich schon zu alt fuer neuerungen :))

-----------------------------------------------------------------------------



Re^7: Voschlag (Mupfel, 24. Apr 1996, 19:35:00):
~#! rn=Morgoth rt=830353142
~#! tid=830247228
>wie oft soll denn ein magier nach seinen file sehen ? alle 2 sekunden ?
>morgoth treibt seine sklaven an

genau. lass das doch deine sklaven machen :-)

-----------------------------------------------------------------------------



Re^8: Voschlag (Jasper, 24. Apr 1996, 19:38:32):
~#! rn=Mupfel rt=830367300
~#! tid=830247228
>>wie oft soll denn ein magier nach seinen file sehen ? alle 2 sekunden ?
>>morgoth treibt seine sklaven an

>genau. lass das doch deine sklaven machen :-)

NIE, im Namen aller Vlaender

-----------------------------------------------------------------------------



Re: neuer kanal/mpa-rubrik (Rumata, 24. Apr 1996, 23:18:59):
~#! rn=Nixihou rt=830356676
~#! tid=830356676
Genau, wieso sollen das eigentlich die magier machen?
Warum gruenden nicht ein paar Seher eine Zeitung und beschliessen eine
Redaktion? Das waere echte VR! :-)
Rumata

-----------------------------------------------------------------------------



Re^8: Ein neuer Nachrichtenkanal (Rudiratter, 25. Apr 1996, 06:20:03):
~#! rn=Fyt rt=830262832
~#! tid=830212005
LACH
Und es ist Dir nicht zu affig, das in die MPA zu schreiben?
Ich lach mich weg!
*PRUST*
Rudi

-----------------------------------------------------------------------------



Re: Re: Kleineres Update der mpa (Loco, 25. Apr 1996, 14:02:38):
~#! rn=Wurzel rt=830365125
~#! tid=830357607
Bug ist behoben. Hatte an eine Kleinigkeit nicht gedacht...
Sorry,
          Loco

-----------------------------------------------------------------------------



FP fuer typos? (Hobo, 25. Apr 1996, 15:06:21):
Ich faende es eine tolle Idee, wenn man als Magier FP fuer Ideen vergeben
koennte. Natuerlich darf man da nicht so freigiebig sein, man koennte ja eine
Hoechstgrenze setzen, wieviel FP ein Spieler auf die Weise bekommen kann, je
nach sonstiger FP-Zahl..
Damit koennte man dann ein Uebertreiben von Magierseite aus beschraenken (ich
rede hier von unerlaubter Spielerhilfe, liebe Mitmagier).
Aber es gibt einfach ein paar nette Ideen, die sich nicht so schnell umsetzen
lassen, wie man es gerne wuerde. Und da faende ich es schon nett, wenn man
dafuer FP vergeben koennte.
Und da ja meistens nicht 15 Leute an der gleichen Stelle die selbe Idee
haben, bekommt eben auch nur der, der die Idee das erste Mal geschrieben hat,
die FP.

Sodele, jetzt hab ich auch mal wieder was gesagt...

                       Hobo

-----------------------------------------------------------------------------



Noch ne Kleinigkeit... (Loco, 25. Apr 1996, 15:27:33):
Noch ne Kleinigkeit in der mpa:

Die Zahlen bei 'inhalt' vor dem Namen des Verfassers geben die ungefaehre
Laenge des Artikels in Zeilen an. Wenn das um 1-2 Zeilen von der
tatsaechlichen Laenge abweicht, nicht meckern - die Alternative waere ein
bisschen zusaetzliches Lag - und wer will das schon...

Mal wieder am rebugging,
                          Loco

-----------------------------------------------------------------------------



Re^9: Ein neuer Nachrichtenkanal (Fyt, 25. Apr 1996, 21:27:33):
~#! rn=Rudiratter rt=830406003
~#! tid=830212005
genau darauf hab ich gewartetm, Rudi :)

Danke fuer die reaktion...

Fyt.

-----------------------------------------------------------------------------



emacs und closures (Rikus, 25. Apr 1996, 22:02:38):
Hi,

ich nutze (x)emacs zum Editieren von C-Code. Leider kommt das Syntax-
highlighten bei ' (z.B. in Closures) durcheinander, da es dies als String-
begrenzer interpretiert. Durch Nachsehen in der cc-mode.el kam ich auf
folgende Loesung, die dafuer sorgt, dass ' als ein normales Zeichen
betrachtet wird.

(add-hook 'c-mode-common-hook
  '(lambda()
     (modify-syntax-entry ?\' "." (syntax-table))))

... ist in die .emacs einzufuegen.

Ich testete es mit xeamcs und emacs 19.28.

Ciao sagt Rikus


-----------------------------------------------------------------------------



Re: FP fuer typos? (Rudiratter, 26. Apr 1996, 05:43:06):
~#! rn=Hobo rt=830437581
~#! tid=830437581
Also, ich finde es unsinnig, fuer Ideen und Typos und wsolche Sachen FP zu
vergeben.
Mir reicht es, wenn ich eine Idee absetze und beim naechsten Anschauen sehe,
dass der Magier die Idee umgesetzt hat. Das ist 100mal schoener als ein FP.
Rudi

-----------------------------------------------------------------------------



Re: emacs und closures (Morgoth, 26. Apr 1996, 07:21:51):
~#! rn=Rikus rt=830462558
~#! tid=830462558
scheint nicht so ganz zu klappen bei mir ;-( d.h. wenn dieser hook auch
dafuer sorgt, dass das einruecken per tab auch funtionieren soll und nicht nur
das highlight. das einruecken klappt naemlich immer noch nicht.
morgoth

-----------------------------------------------------------------------------



Zeilenumbruch auch fuer Spieler (Cauno, 26. Apr 1996, 10:22:07):

Mir ist da mal eine neue Idee gekommen. Gibt es eine Moeglichkeit, beim
rufen, mitteilen oder auf den Kanaelen einen gewollten Zeilenumbruch zu
induzieren?
Wenn nicht, dann waere es vielleicht sinnvoll, einen Slash (/) oder Backslash
(\) als solchen zu interpretieren.
Da in letzter Zeit auf den Kanaelen so oft gesungen und gereimt wird, koennte
das fuer die betreffenden ein Tool werden.
Damit sie ihre Reime in eine passende Form bringen koennen.

		C. No (wartet auf vernichtende Kritiken)

-----------------------------------------------------------------------------



Re: Re: FP fuer typos? (Orktoeter, 26. Apr 1996, 14:45:58):
~#! rn=Rudiratter rt=830490186
~#! tid=830437581
Vieleicht hatte ich mich ja nicht ganz deutlich ausgedrueckt, bei meiner
Begruendung. Es geht nicht NUR darum, das man dafuer Belohnt wird, das man
gefundenen Fehler meldet, sondern auch darum, sich Raeume GRUENDLICH
anzusehen, alle details zu untersuchen und so gruendlich zu lesen, das man
auch die Typos findet.
Genau das ist es doch, was auch im interesse der Magier ist, die sich die
Muehe gemacht haben, das zu proggen. Und den "Forschungsaufwand" sich alles
gruendlich anzusehen, den sollte man eben Belohnen.
OrkT.

-----------------------------------------------------------------------------



Re^3: FP fuer typos? (Boing, 26. Apr 1996, 14:47:40):
~#! rn=Orktoeter rt=830522758
~#! tid=830437581
Richtig, der Aufwand wird ja auch belohnt, naemlich durch die
Forscherpunkte die man damit ganz automatisch nebenbei findet. :)
  Boing

-----------------------------------------------------------------------------



Re: Zeilenumbruch auch fuer Spieler (Jehova, 27. Apr 1996, 00:09:36):
~#! rn=Cauno rt=830506927
~#! tid=830506927

Das mit dem induzierten Zeilenumbruch finde ich
eine sehr gute Idee. Vielleicht koennte man
das wie z.B. in HTML oder LaTeX realisieren.

Da der String in jedem Fall abgetastet werden muesste,
kann man ja auf ein Steuerzeichen testen und dann
das Nachfolgende als Befehl interpretieren, der
etwas in den String einfuegt.

Dann kann man das aber auch allgemein machen.
Folgende Zeichen muessten beim Auftreten konvertiert werden:

\newline - Zeilenumbruch

\space - Leerzeichen
(wichtig, wenn man Text auf den Kanaelen einruecken will)

\ae, \oe, \ue, \sz - vor dem Anzeigen konvertieren

Ok, ein paar fehlen sicherlich noch ;).
Das muesste natuerlich nicht nur auf den Kanaelen,
sondern auch in der Zeitung so gehandhabt werden.
Ob das mit dem erhoehten Rechenaufwand klappt,
soll sich ein Magier ueberlegen ;)

Das alles nur als Anregung, Lob an mich,
Flames an Cauno (der damit angefangen hat) ...

Jehova (will Bilder ueber die Kanaele scrollen)

-----------------------------------------------------------------------------



Re: Re: Zeilenumbruch auch fuer Spieler (Jehova, 27. Apr 1996, 00:13:42):
~#! rn=Jehova rt=830556576
~#! tid=830506927

Vielleicht koennte man die Befehle auch mit Parametern
versehen. Zum Beispiel: '\space{5}' fuer 5 Leerzeichen.

Jehova (hat heute eine kreative Phase)
grinse

-----------------------------------------------------------------------------



Re^3: FP fuer typos? (Rudiratter, 27. Apr 1996, 12:09:53):
~#! rn=Orktoeter rt=830522758
~#! tid=830437581
Ich glaube, ich schaue Raeume GRUENDLICH durch, WENN ich sie mir anschaue.
Frag mal bei ein paar Magiern nach. -Und bei guten Gebieten wird man dafuer
auch selbst belohnt, ohne FP. Ich kann nur Toeters Insel empfehlen...
Rudi
*


-----------------------------------------------------------------------------



Re^3: Zeilenumbruch auch fuer Spieler (Cauno, 27. Apr 1996, 22:01:23):
~#! rn=Jehova rt=830556822
~#! tid=830506927

Ich hab zwar damit angefangen, aber zu kompliziert solls natuerlich auch
nicht werden. Nicht jeder hat soviel erfahrung mit dem Programmieren.
Vielleicht kann man sich auf eine etwas abgespeckte Version einigen.
Jedenfalls muss dann jeder Spieler erfahren, dass dieses Steuerzeichen ein
Zeilenende verursacht, welches man auch nimmt (Der Slash war vielleicht keine
so gute Idee. Abe
von Zeichen mit mehr als drei Characters moechte ich doch abraten ...)
Ich danke an sowas aehnliches wie im aliasing: &*, $* .

		(Nur ein paar Ideen) C. No

-----------------------------------------------------------------------------



Inventar (Hate, 28. Apr 1996, 00:28:23):
Halloechen,

wer sich ausloggt (mit ENDE) und neu einloggt, wird ein neues outfit des
Inventar Kommandos zu kosten bekommen.
Es ist jetzt unterteilt in Waffen, Ruestungen und Verschiedenes. Weiterhin
fasst es gleiche Gegenstaende zusammen und nennt ihre Anzahl in Klammern
dahinter.
Alle Argumente, wie in der Hilfeseite beschrieben funktionieren noch wie
gehabt.
Die Anzeige in Spaltenform, sowie das Zusammenfassen gleicher Objekte wird
spaeter (z.B. nach Reboot) auch fuer jegliche inventare von Objekten gelten.
Dadurch werden in vielen Raeumen nicht mehr tausende Gegenstaende die Sicht
zuscrollen, sondern sich wohlgeordnet dem geneigten Spieler zeigen.

Hate.

-----------------------------------------------------------------------------



Re^4: Zeilenumbruch auch fuer Spieler (Hate, 28. Apr 1996, 00:34:19):
~#! rn=Cauno rt=830635283
~#! tid=830506927
Also um ehrlich zu sein halte ich das fuer unnuetz. Um einen Zeilenumbuch zu
erwirken brauch man doch einfach nur <Enter> druecken. Und ich finde es
ausserdem sinnvoller, wenn die Erguesse Zeile um Zeile dem Hoehrer gezeigt
wuerden, als alles auf einen Rutsch. Das laesst einem mehr Zeit zum lesen
und manche Gedichte sind so lang, dass man da meist gleich den Scrollback
aktivieren muss. Wer dennoch alles auf einen Rutsch herueberbringen muss,
kann sich das ganze ja in ein File schreiben, vor jede Zeile ein -k setzen
und dann per cut&paste das ins MUD bringen. Das ist nicht aufwendiger als
ueberall \n einzufuegen.
Hate.

-----------------------------------------------------------------------------



Re: Inventar (Caradhras, 28. Apr 1996, 00:37:17):
~#! rn=Hate rt=830644103
~#! tid=830644103
Gilt das auch fuer NPCs?

> schaue
Auf der Hochebene.
Es gibt zwi sichtbare Ausgaenge: osten und westen.
Caradhras.
Ein Kaninchen. (3)
Eine Ameise (2)

            Caradhras - wuerde sowas etwas stillos finden

-----------------------------------------------------------------------------



Re^5: Zeilenumbruch auch fuer Spieler (Cauno, 28. Apr 1996, 00:40:50):
~#! rn=Hate rt=830644459
~#! tid=830506927

Das problem beim eizelzeilenschreiben ist, dass staendig einer dazwischen
quatscht. ausserdem bezieht sich das auf zwei- oder dreizeiler, die man zwar
auch in einem text angeben kann, die dann aber versetzt erscheinen wuerden.

					C. No

-----------------------------------------------------------------------------



Re^6: Zeilenumbruch auch fuer Spieler (Hate, 28. Apr 1996, 00:45:07):
~#! rn=Cauno rt=830644850
~#! tid=830506927
Trotzdem halte ich das ganze fuer Unsinn. Denn ausser, dass es extra-parse
arbeit mit sich bringt und alles verlangsamt, wird sowas nur zu gern fuer
daemliche Spielereien ausgenutzt. Da brauch nur einer kommen und eine riesen
Zeile mit x\nx\n... schicken. Nein Danke.

Hate.

-----------------------------------------------------------------------------



Re: Re: Inventar (Hate, 28. Apr 1996, 00:47:43):
~#! rn=Caradhras rt=830644637
~#! tid=830644103
Warum nicht?
Wenn da viele gleiche Kaninchen rumhaengen, dann stoert das doch nicht, die
Zusammenzufassen. Jedenfalls sehe ich da kein Problem drin. Und wenn eben
Einhundertunddrei Bienen im Raum sind, ist das durchaus vertretbarer als
jede einzeln aufzulisten.
Hate.

-----------------------------------------------------------------------------



Re^3: Inventar (Acrimon, 28. Apr 1996, 10:57:46):
~#! rn=Hate rt=830645263
~#! tid=830644103
Ja das ist schon richtig, auch Bienen und Spinnen wollen gerne
zusammengefaszt werden.
Eine Spinne. [8]
find ich schon besser als acht Zeilen "Eine Spinne.". Aber
Acht Spinnen.
find ich da noch viel besser.

Acrimon, der Rote Ritter

-----------------------------------------------------------------------------



Re: Inventar (Acrimon, 28. Apr 1996, 11:03:27):
~#! rn=Hate rt=830644103
~#! tid=830644103
Wie waers, wenn bei Angabe einer Option "-w", "-r" oder "-v" die Ueberschrift
"Waffen:", "Ruestungen:" oder "Verschiedenes:" nicht mehr mit angezeigt wird?
Man weisz dann doch eh, was man sich anzeigen laeszt.

Acrimon, der Rote Ritter

-----------------------------------------------------------------------------



Re^4: Inventar (Hate, 28. Apr 1996, 13:42:02):
~#! rn=Acrimon rt=830681866
~#! tid=830644103
Nun,

wenn Du alle Objekte mit den Entsprechenden Pluralen Eigenschaften aus-
ruestest. Das duerften nur einige tausend sein.
Hate.

-----------------------------------------------------------------------------



Re^5: Inventar (Lefty, 28. Apr 1996, 15:22:08):
~#! rn=Hate rt=830691722
~#! tid=830644103
Hm, irgendwie habe ich jetzt aber 2 leere zeilen in meinem inventar.
Ich denke mal, das sind unsichtbare objekte, koennte man die rausnhemen
odre zumindest so sortieren, das die am ende stehen und daher nicht
auffallen ?


-----------------------------------------------------------------------------



Re^6: Inventar (Mupfel, 28. Apr 1996, 15:30:21):
~#! rn=Lefty rt=830697728
~#! tid=830644103
Eins davon ist das Freundschaftsband. Das Problem ist bekannt, im AnderLand
haben wir diese Erweiterung schon laenger.
(Und das Problem gefixed)

-mupfel-

-----------------------------------------------------------------------------



Re: Re: Inventar (Mupfel, 28. Apr 1996, 15:31:44):
~#! rn=Caradhras rt=830644637
~#! tid=830644103
Tja, da wuerde sich ein Userbefehl, ne Art 'kurz/lang' fuer Inventories, gut
machen.

-mupfel-

-----------------------------------------------------------------------------



Re^7: Inventar (Acrimon, 28. Apr 1996, 15:34:11):
~#! rn=Mupfel rt=830698221
~#! tid=830644103
Also, 1. ist das Freundschaftsband NICHT unsichtbar.
und 2. hat Hate dieses Problem vor 2 Stunden gefixt, nur nochmal ende machen
und du siehst keine Leerzeilen mehr.

Acrimon, der Rote Ritter

-----------------------------------------------------------------------------



Re^8: Inventar (Mupfel, 28. Apr 1996, 15:40:41):
~#! rn=Acrimon rt=830698451
~#! tid=830644103
Hab ich behauptet, das fband waere unsichtbar???
-mupfel-

-----------------------------------------------------------------------------



Re^3: Zeilenumbruch auch fuer Spieler (Fyt, 28. Apr 1996, 19:25:47):
~#! rn=Jehova rt=830556822
~#! tid=830506927
au ja, dann will ich noch \\newtheorem und \\begin{eqnarray}
und die ganzen anderen goodies...

Fyt, findet, dass er wieder mal uebertreibt :)

-----------------------------------------------------------------------------



Re^7: Zeilenumbruch auch fuer Spieler (Cauno, 29. Apr 1996, 12:16:31):
~#! rn=Hate rt=830645107
~#! tid=830506927

Seltsam.
Ich dachte, das ganze MOrgenGrauen waere eine Spielerei? :-)

			don't hate you,		C. No

-----------------------------------------------------------------------------



Re^5: Zeilenumbruch auch fuer Spieler (Yendi, 29. Apr 1996, 12:36:27):
~#! rn=Hate rt=830644459
~#! tid=830506927

>    Wer dennoch alles auf einen Rutsch herueberbringen muss,
> kann sich das ganze ja in ein File schreiben, vor jede Zeile ein -k setzen
> und dann per cut&paste das ins MUD bringen.

Na, Hate, waere das nicht ein verrbottennes script?


-----------------------------------------------------------------------------



Inventar und Argumente (Hate, 29. Apr 1996, 16:17:12):
Hi,

das Inventar wurde nocheinmal ein wenig geaendert.
Saemtliche Rubriken sind jetzt sozusagen einzelne Tabellen, d.h.
Waffen:
 Ein Darkovanerdolch. (2)
Ruestungen:
 Eine bestickte Jacke.                  Eine Pelzkappe. (2)
 Eine Bansheehaut.                      Ein Paar Pelzpantoffeln.
Verschiedenes:
 Hates MGtool v1.3.0 [16:14:04].        Hates Lupe.
 Eine Wanzenklatsche.                   Die Zeitung.
 Eine Fackel.                           5329 Muenzen.
 Ein Hypertextbuch.                     Hates Teddybaer Foo.
 Der Erforscher.                        Ein Zettel mit vielen Fragen.

Weiterhin haben sich die Argumente zu i etwas geaendert:
  ARGUMENTE:
        +a ... Nur Autoloader anzeigen
        -a ... Keine Autoloader anzeigen
        +b ... Nur Objekte zeigen, die man bei "verkaufe alles" behaelt
        -b ... Kein Objekt zeigen, das man bei "verkaufe alles" behaelt
        -f ... Inventar nicht unterteilen oder gleiche Objekte
zusammenfassen
        +r ... Nur Ruestungen anzeigen
        -r ... Keine Ruestungen anzeigen
        -s ... Ausgabe alphabetisch sortieren
        +v ... Alles zeigen, was nicht Ruestung oder Waffe ist
        -v ... Alles zeigen, was Ruestung oder Waffe ist
        +w ... Nur Waffen anzeigen
        -w ... Keine Waffen anzeigen

Mit - schaltet man etwas ab und mit + an. Alles ist kombinierbar.
Inwieweit manche Kombinationen sinnvoll sind, sei dahingestellt.

Desweiteren, wie schon bei den Argumenten gesehen, kann man abstellen,
dass in Rubriken unterteilt wird und dass Objekte zusammengefasst werden.
Weiterhin wird auch hier die ein- mehrspaltige Darstellung genommen.
Dies Spart Platz, vehindert jedoch nicht die Moeglichkeit, zu sehen,
wo sich ein Objekt genau im Inventar befindet. Hierbei ist zu beachten,
dass erst die linke Spalte und dann die rechte kommt.

Hate.

-----------------------------------------------------------------------------



FP's (Anakin, 29. Apr 1996, 19:38:02):
Hiho,

also ich haett mal ne Frage ueber FP's. Da ich mich fast gar nicht aus-
kenne im MG und ich mich etwas verbessern will, such ich im Moment
ein bisschen die Gegenden ab. Nun ist die Frage, sind in allen
Regionen einigermassen FP's verteilt? Also ich hab keine Lust
das jetzt zu durchsuchen und dann werden in dem Gebiet die FP's
erst hinterher verteilt.

Anakin.

-----------------------------------------------------------------------------



Re: Inventar und Argumente (Schrumpfi, 30. Apr 1996, 03:26:03):
~#! rn=Hate rt=830787432
~#! tid=830787432
Du bist ein Goldstueck, Hate ;)

Schrumpfi

-----------------------------------------------------------------------------



Re: Inventar und Argumente (Feuerwehr, 30. Apr 1996, 07:54:05):
~#! rn=Hate rt=830787432
~#! tid=830787432
Ein dreifaches Hoch auf die verantwortlichen. Wirklich gut
Riesenknuddel :)

    Feuerwehr

-----------------------------------------------------------------------------



Re: FP's (Catweazle, 30. Apr 1996, 20:20:00):
~#! rn=Anakin rt=830799482
~#! tid=830799482

Kurzum ja!
Seid ca. 2 Monaten sollten ueberall ausreichend FPs versteckt sein.
Obwohl viele Regionsmagier noch angeschlossen haben, ohne auf die FPs zu
achten, haben Wargon und ich uns bemueht, saemtliche Flickenloecher zu
stopfen. Mittlerweile sollte uns das auch gelungen sein :)
Bis auf eintoenige Gegenden (in der Default-Wueste gibts zB _keinen_ FP)
sind jetzt regelmaessig FPs eingebaut.
Yours truly,
        Catweazle

-----------------------------------------------------------------------------



inventory (Jehova, 30. Apr 1996, 21:02:00):

Ok, das mit dem 'i'-Befehl sieht ja ganz gut aus,
aber was ist mit z.B. 'unt paket' ?

Jehova

-----------------------------------------------------------------------------



Re: Inventar und Argumente (Hadra,  1. Mai 1996, 00:08:07):
~#! rn=Hate rt=830787432
~#! tid=830787432
super,

da ich dmalas so schnell nach der einfuehrung meinen senf abgegebene habe
(und das nicht so gut fand) muss ich jetzt auch sagen, dass ich die
zusaetzlichen sachen begruesse

hadra

-----------------------------------------------------------------------------



Re: Re: FP's (Rudiratter,  1. Mai 1996, 03:29:25):
~#! rn=Catweazle rt=830888400
~#! tid=830799482
Ne, Cat, das glaub ich nicht. Ich habe eine beruehmte Gegend von oben bnis
unten angeschaut, da waren GANZ wenig FP drin, todsicher.
Rudi

-----------------------------------------------------------------------------



Re: Re: FP's (Toeter,  1. Mai 1996, 13:04:37):
~#! rn=Catweazle rt=830888400
~#! tid=830799482
Also fuer Moron stimmt das beispielsweise nicht, ich hab zwar Calum schon
vor bereits einiger Zeit dazu eine oder zwei mails geschrieben, aber viel-
leicht baut er ja welche ein, wenn er von Spielerseite mal etwas Feuer unter
dem Hintern gemacht bekommt :)
  Toeter

-----------------------------------------------------------------------------



Re^3: FP's (Silvana,  2. Mai 1996, 09:24:12):
~#! rn=Toeter rt=830948677
~#! tid=830799482
An Moron arbeite ich gerade. Da gibt's demnaechst FPs.

  Silvana

-----------------------------------------------------------------------------



Re^4: FP's (Anakin,  2. Mai 1996, 09:53:51):
~#! rn=Silvana rt=831021852
~#! tid=830799482
Hmm genau sowas mein ich :). Bekannte Gegenden wo keine FP's sind.
Aber schoen das die Magier mal nicht faul sind und dran
arbeiten.

Anakin.

-----------------------------------------------------------------------------



Re: Re: FP's (Raffi,  2. Mai 1996, 12:50:27):
~#! rn=Catweazle rt=830888400
~#! tid=830799482

Na hoffentlich:( Jetzt ssetz ich zum drittem al ann alle alten gegenden
nochmal abzusuchen - Das erste mal wasr wirklich neu, dann hab ich vor 2
Monaten angefangen mich dazu zu zwingen nochmal alles anzuschauen, und nun ist
es mir glatt erstmalig passirt das ich mich nurnoch durchschnittlich
auskenne.... Jetz fan ich also nochmal mit Zwergenstadt und schrat an.

In der hoffnung das es jetz genug ist mit der FP Verteilung in alten
gegenden:

Gruss
H.

-----------------------------------------------------------------------------



Noch eine Kleine Aenderung (Hate,  2. Mai 1996, 16:50:15):
Eigentlich nichts wichtiges. Ich habe das Inverse zu fetter Schrift gemacht,
da ich den Grund, "Es zieht zu sehr den Blick auf sich", verstehen kann.

Hate.

-----------------------------------------------------------------------------



Gewichtsanzeige im Inventory (Mahatma,  2. Mai 1996, 18:00:49):

Nachdem wir nun so ein schoenes, neugestaltetes Inventory haben, welches ich
wesentlich uebersichtlicher finde als das alte, moechte ich gleich noch eine
neue Funktion fuer das Inventory vorschlagen: Eine Gewichtsanzeige.

Ausloeser fuer diesen Vorschlag war folgendes: Ich wollte einen schweren
Gegenstand nehmen, den ich aber nicht mehr tragen konnte. Deshalb fing ich
an,
verschieden Kleinkram, den ich bei mir trug, in meinem Paket zu verstauen, um
mehr tragen zu koennen. Dies ging so eine ganze Weile, bis ich den Gegenstand
endlich nehmen konnte. Wenn ich dabei gewusst haette, wieviel ich noch tragen
kann, haette ich viel gezielter die Sachen nach ihrem Gewicht auswaehlen
koennen und haette mir ausserdem nach jeder einzelnen Sache den Test erspart,
ob ich den Gegenstand denn nun schon tragen kann.

Um dieses Problem zu loesen, schlage ich folgende zusaetzliche Zeile im
Inventory vor:

Du kannst noch xx Kilogramm tragen.

Dann hat man immer einen Ueberblick, wie bepackt man schon ist, und kann
ausserdem das Gewicht bestimmter Dinge abschaetzen, ohne immer gleich seinen
Waegezweiti bemuehen zu muessen. Da es ja immer Leute gibt, denen sowas neues
nicht gefaellt, schlage ich als zusaetzliche Option die Option -g vor
(Gewichtsanzeige aus), und die Option +g (nur Gewichtsanzeige) fuer die
Leute,
die sich nicht immer das ganze Inventory anschauen moechten, wenn sie nur die
Gewichtsinfo wuenschen.

Bei der Gelegenheit sei noch folgendes angemerkt: Beim Herausnehmen von
Dingen aus einem Container, den man bei sich hat, scheint immer noch ein Bug
drin zu
sein:
> nimm xx aus paket
ging naemlich nicht, waehrend
> lege paket ab
> nimm xxx aus paket
> nimm paket
einwandfrei funktionierte. Anscheinend wird bei der Abfrage, ob man den
Gegenstand nach dem Nehmen noch tragen kann, die Erleichterung durch das
Nehmen aus dem Paket nicht beruecksichtigt.

Mahatma

-----------------------------------------------------------------------------



Re: Gewichtsanzeige im Inventory (Raffi,  2. Mai 1996, 18:05:10):
~#! rn=Mahatma rt=831052849
~#! tid=831052849

Jau Mahatma, genau meine rede - den Vorschlag (mit dem Paket und so) hab ich
vor ueber einem halen jahr mehrfach gemacht, und auch jeden Magier dem ich
blos habhaft werden konnte damit genervt - genuetzt hats nix :(


Gruss
H.

-----------------------------------------------------------------------------



Re: Re: Gewichtsanzeige im Inventory (Anatol,  2. Mai 1996, 18:24:16):
~#! rn=Raffi rt=831053110
~#! tid=831052849

Wenn Du jeden Magier nervst, brauchst Du Dich nicht zu wundern, wenn sich
jeder Magier von Dir genervt fuehlt.

Nervt nur ausgesuchte Leute (und wiegt sich gaengige Objekte aus),
Anatol


-----------------------------------------------------------------------------



Zusammenfassung von Gegenstaenden (Asmodis,  2. Mai 1996, 20:53:48):
Also, dass Gegenstaende im Inventory zusammengefasst werden, finde ich
schon Klasse, aber koennte man das auch mit Gegenstaenden im
Raum machen ? Das wuerde etwas das scrolling vermindern.

-----------------------------------------------------------------------------



Re: Zusammenfassung von Gegenstaenden (Anatol,  2. Mai 1996, 20:58:01):
~#! rn=Asmodis rt=831063228
~#! tid=831063228

Wie ist das mit mehreren Gegenstaenden gleicher id? "ziehe ring 4 an" ist ja
nicht mehr so angesagt, den Schmuckringe sind wohl keine Ruestung....

Anatol


-----------------------------------------------------------------------------



Re: Re: Zusammenfassung von Gegenstaenden (Raffi,  3. Mai 1996, 11:23:56):
~#! rn=Anatol rt=831063481
~#! tid=831063228

Hate hat doch die Bedsienungsanleitung reingesetzt, Anatol.

i -f und du hast es wie frueher, und kannst die reihenfolge der Objekte
wieder sehen.

Zur not einmal Ende machen.

Gruss
H.

-----------------------------------------------------------------------------



Raeume und Spalten. (Hate,  8. Mai 1996, 08:59:33):
Hi,

ich habe fuer die Raeume noch eine kleine Aenderung gemacht, so dass
nur dann Spaltenanzeige genommen wird, wenn mehr als 6 Objekte in einem
Raum liegen. Soweit ich das einschaetzen kann bedeutet das, dass mehr
als sechs Eintraege vorhanden sein muessen, also Eine Blume. (6) reicht da
noch nicht aus.

Hate.

-----------------------------------------------------------------------------



Hilfeseiten (Rochus,  8. Mai 1996, 19:53:29):
Das Hilfe-System wurde etwas ueberarbeitet, weil verschiedene
Gilden verschiedene Sprueche mit dem gleichen Namen haben koennen.
Man bekommt demnaechst automatisch nur die betreffende Hilfeseite
der eigenen Gilde angezeigt.
Wer sich fuer die Sprueche von anderen gilden interessiert, der
kann dann
  hilfe gilde <gildenname> <spruch>
benutzen.
Die Aenderung wird nach Reboot/Ende aktiv.

-----------------------------------------------------------------------------



Ende im Kampf (Jof,  8. Mai 1996, 21:37:52):

 Der Befehl 'ende' wird im Kampf nun mit einer minimalen Verzoegerung
ausgefuehrt; einige Monster werden nach unten angepasst werden muessen,
um den neuen Gegebenheiten Rechnung zu tragen. 

 Die Aenderung wird - wie immer - erst nach einem weiteren Reboot aktiv
(bzw wenn man sich mit 'ende', NICHT schlafe ein, ausloggt, was wohl
eher selten ist...)

 Jof

-----------------------------------------------------------------------------



Re: Ende im Kampf (Slyfox,  8. Mai 1996, 21:47:31):
~#! rn=Jof rt=831584272
~#! tid=831584272
Toll, ich war natuerlich der erste, den es erwischen musste, und das BEVOR
dieser Artikel ueberhaupt erschien.

Und, darf man bitte wissen, warum es diese Massnahme gab?

    Ein etwas veraergerter

       Slyfox

-----------------------------------------------------------------------------



Re: Re: Ende im Kampf (Rochus,  8. Mai 1996, 21:49:14):
~#! rn=Slyfox rt=831584851
~#! tid=831584272
Die Massnahme gab es, weil einige Spieler "ende" im Kampf benutzt haben.

-----------------------------------------------------------------------------



Re^3: Ende im Kampf (Slyfox,  8. Mai 1996, 21:51:10):
~#! rn=Rochus rt=831584954
~#! tid=831584272
Aha, sehr interessant! Scheint doch irgendwie logisch.
Dann frage ich mich, warum soll man ende nicht im Kampf verwenden koennen
duerfen?

   Slyfox

-----------------------------------------------------------------------------



Re^4: Ende im Kampf (Jof,  8. Mai 1996, 21:52:18):
~#! rn=Slyfox rt=831585070
~#! tid=831584272
 Ein Grund ist, das es vom Gesichtspunkt des Rollenspiels her eine Katas-
trophe ist; 'ende' ist ein Befehl, der technisch notwendig ist/war, um
das Spielen zu beenden, sollte aber nicht als Bestandteil des Rollenspiels
gesehen werden. Genau das geschieht aber, wenn man ihn zur Flucht vor einem
Gegner benutzt.
 
 Ein weiterer ist ganz sicher auch:
 
Zino hat gerade das MorgenGrauen verlassen.
Zino ist gerade ins MorgenGrauen gekommen.
Zino hat gerade das MorgenGrauen verlassen.
Zino ist gerade ins MorgenGrauen gekommen.
Zino hat gerade das MorgenGrauen verlassen.
Zino ist gerade ins MorgenGrauen gekommen.
Zino hat gerade das MorgenGrauen verlassen.
Zino ist gerade ins MorgenGrauen gekommen.
Zino hat gerade das MorgenGrauen verlassen.
Zino ist gerade ins MorgenGrauen gekommen.
Zino hat gerade das MorgenGrauen verlassen.
Zino ist gerade ins MorgenGrauen gekommen.
Zino hat gerade das MorgenGrauen verlassen.
Zino ist gerade ins MorgenGrauen gekommen.
Zino hat gerade das MorgenGrauen verlassen.
Zino ist gerade ins MorgenGrauen gekommen.
Zino hat gerade das MorgenGrauen verlassen.
Zino ist gerade ins MorgenGrauen gekommen.
Zino hat gerade das MorgenGrauen verlassen.
Zino ist gerade ins MorgenGrauen gekommen.
Zino hat gerade das MorgenGrauen verlassen.
Zino ist gerade ins MorgenGrauen gekommen.
Zino hat gerade das MorgenGrauen verlassen.
Zino ist gerade ins MorgenGrauen gekommen.
Zino hat gerade das MorgenGrauen verlassen.
Zino ist gerade ins MorgenGrauen gekommen.
Zino hat gerade das MorgenGrauen verlassen.
Zino ist gerade ins MorgenGrauen gekommen.
Zino hat gerade das MorgenGrauen verlassen.
Zino ist gerade ins MorgenGrauen gekommen.
Zino hat gerade das MorgenGrauen verlassen.
Zino ist gerade ins MorgenGrauen gekommen.
Zino hat gerade das MorgenGrauen verlassen.
Zino ist gerade ins MorgenGrauen gekommen.
Zino hat gerade das MorgenGrauen verlassen.
Zino ist gerade ins MorgenGrauen gekommen.
Zino hat gerade das MorgenGrauen verlassen.
Zino ist gerade ins MorgenGrauen gekommen.
Zino hat gerade das MorgenGrauen verlassen.
Zino ist gerade ins MorgenGrauen gekommen.
Zino hat gerade das MorgenGrauen verlassen.
Zino ist gerade ins MorgenGrauen gekommen.
Zino hat gerade das MorgenGrauen verlassen.
Zino ist gerade ins MorgenGrauen gekommen.
Zino hat gerade das MorgenGrauen verlassen.
Zino ist gerade ins MorgenGrauen gekommen.
Zino hat gerade das MorgenGrauen verlassen.
Zino ist gerade ins MorgenGrauen gekommen.
Zino hat gerade das MorgenGrauen verlassen.
Zino ist gerade ins MorgenGrauen gekommen.
Zino hat gerade das MorgenGrauen verlassen.
Zino ist gerade ins MorgenGrauen gekommen.
Zino hat gerade das MorgenGrauen verlassen.
Zino ist gerade ins MorgenGrauen gekommen.
Zino hat gerade das MorgenGrauen verlassen.
Zino ist gerade ins MorgenGrauen gekommen.
Zino hat gerade das MorgenGrauen verlassen.
Zino ist gerade ins MorgenGrauen gekommen.
 
 
 Sowas ist *exterm* nervig ...
 
  Jof

-----------------------------------------------------------------------------



Re^5: Ende im Kampf (Zino,  8. Mai 1996, 22:04:17):
~#! rn=Jof rt=831585138
~#! tid=831584272
Daraufhin, dass mein Ein-und Ausloggen bei inform gewisse Leute stoert, hab
ich
vorgeschlagen, ein ignoriere spieler.inform einzufuehren. Das haette das Pro-
blem auch geloest. Aber leider werden in diesem Mud spielerfeindliche
Loesungen
bevorzugt. Im uebrigen ist der Befehl 'schlafe ein' dazu da, das Spiel zu 
beenden. 'Ende' nimmt man immer dann, wenn man von einem Monster verfolgt
wird,
was auch dann ja den Nachteil hat, dass man seine Ausruestung verliert und
in seinem Startraum landet. Daher kann ich obige Argumentation nicht ganz ver-
stehen.

Karateorktoeter Zino

-----------------------------------------------------------------------------



Re^5: Ende im Kampf (Lefty,  8. Mai 1996, 22:05:52):
~#! rn=Jof rt=831585138
~#! tid=831584272
Sowas ist *extrem* nervig ????????

--->hilfe inform

Und Fluchtrichtung Ende kann bei einfachen monstern die einzige
ueberlebenschance sein, wenn die leitung wegbricht. ... ja, auch bei
einfachen.

... und jof sprach, du sollst questen, nicht metzeln ;-)

Lefty

-----------------------------------------------------------------------------



Re^5: Ende im Kampf (Slyfox,  8. Mai 1996, 22:07:53):
~#! rn=Jof rt=831585138
~#! tid=831584272
Die einfache Loesung dafuer:

inform aus ;)

Die Spieler (und wenige Magier), die mich interessieren,
die erwarte ich.

-----------------------------------------------------------------------------



Neue Fluchtrichtungs-scheisse !! (Nial,  8. Mai 1996, 22:35:41):

Hallo Maedels, Hallo Jungs!

Also um es gleich zu sagen: Die Sache ist kacke!

Warum? mehrere Gruende:

a) Ich spiele mit viel netlag, das heisst, das ich haeufig nicht mal
   ebend so in den Nachbarraum gehen kann. Wenn meine Befehle nicht
   durch kommen, dann bin ich nach der neuen regelung tot, vor allen
   Dingen, dann, wenn ein missratener Daemon sich gegen einen gewendet
   hat. Ein 'zur Kneipe'-Laufen ist da unter keinen Umstaenden drin.

b) Als Chaot ist man eh schon gestraft genug, wenn man 'ende' machen
   muss, das wiederherstellen der chaosruestung dauert immerhin glatte
   60 sec, (50 sec zaubersperre nach chaosruestung, weitere 10 nach
   kontrolle). das reicht in den meisten Faellen aus, das sich andere
   Spieler an meinem Hab und Gut vergriffen haben (ist das nicht Strafe
   genug?).

c) Die einzige Gilde, die bisher uebermaessig von dem 'ende' im Kampf
   profitieren nur die Karatekas, fuer alle anderen Gilden ist es eh  
   nicht so toll. Die Zauberer werden sogar extrem aufgewertet, die
   haben naemlich einen 'fluchtteleport' bei gefahr ...

d) Damit wurden auch die richtig fiesen Monster aufgewertet, vor allen
   Dingen die, die in Raeumen ohne exit standen (lofwyr) oder agressive
   Verfolge-Monster (Zombiewolpertinger, durchgedrehte Daemonen) und
   Hydra (?). Bei den schlappen Monstern braucht man eh kein 'ende'.


Das sollte reichen, ueberdenkt Eure(Deine) Entscheidung nochmal, vielleicht
kann man das 'ende' im Kampf ja anders sanktionieren ??

Ein saurer Vanir.



-----------------------------------------------------------------------------



Re: Neue Fluchtrichtungs-scheisse !! (Lefty,  8. Mai 1996, 22:49:23):
~#! rn=Nial rt=831587741
~#! tid=831587741
Wie waere es mit ner Beschraenkung von Ende gemessen an dem Level des Spielers
und den gemachten EP ? Also so, das ende bei zu haeufigen einsatz nicht
funktioniert ?
Das wuerde den Missbrauch verhindern, aber in den Notsituationen, wo man ende
braucht, helfen.
Also ne Beschraenkung der Anzahl von ende-kommandos gemessen an zeit,
ep-umsatz und spielerlevel.
Lefty

-----------------------------------------------------------------------------



Re: Re: Neue Fluchtrichtungs-scheisse !! (Wurzel,  8. Mai 1996, 23:00:04):
~#! rn=Lefty rt=831588563
~#! tid=831587741
hmm, der befehl zum beenden des spiels ist also schlafe ein... dann koennte
man "ende" eigentlich auch ganz rausnehmen. mit rollenspiel hat das jedenfalls
nichts zu tun, und das als kampfbefehl anzusehen, ist laecherlich. entbehrt
jedenfalls jeglicher logik im spiel. ich weiss nicht wie gross die "minimale"
verzoegerung ist, von der jof gesprochen hat. konsequent haette man auch
sagen koennen, wer im kampf "ende" macht, gibt sich geschlagen und ist
demzufolge beim naechsten einloggen tot.

eine kopfschuettelnde wurzel

-----------------------------------------------------------------------------



Re^3: Neue Fluchtrichtungs-scheisse !! (Mupfel,  9. Mai 1996, 00:06:50):
~#! rn=Wurzel rt=831589204
~#! tid=831587741
Kommt euch natuerlich ein bisschen ploetzlich, diese 'Idee', nach immerhin 4
'Betriebsjahren'. Mit 'Rollenspiel' haben auch die zahlreichen im MG
vertretenen Kneipen nichts zu tun... kommen die jetzt auch weg? 
Im uebrigen, Wurzel, wenn einer im Kampf 'einschlaeft', hacht der Gegner
weiter auf den 'Schlaefer' ein, bis der nur noch ca. 10 LP hat... wenn er
wieder wach wird und das Monster war zufaellig aggressiv -> Tod.

-mupfel-

-----------------------------------------------------------------------------



Re^3: Ende im Kampf (Fyt,  9. Mai 1996, 02:38:35):
~#! rn=Rochus rt=831584954
~#! tid=831584272

Hm, in Zukunft kommen auch die Feuerbaelle mit Verzoegerung, weil
die einige Spieler im Kampf benutzt haben oder wie oder was?

Lasst Euch doch wenigstens ne vernuenftige Ausrede einfallen,

Fyt.

-----------------------------------------------------------------------------



Dickes Lob! (Jariel,  9. Mai 1996, 03:41:02):

Muss ich doch feststellen, dass mein Paket ploetzlich so aufgeraeumt ist!!!!
Schoen, kein Scroll mehr :))))))))))

DICKES LOB!!!!!!!!!!!!

Jariel traegt nur noch Pakete.

-----------------------------------------------------------------------------



Das Ende (Valarian,  9. Mai 1996, 09:00:38):
Wieder einmal haben sich die Magier was ausgedacht, um den Spielspass zu
schmaelern: Das Ende verzoegert.

Was soll das denn? Kann man erst nach Jahren, wo alles auf diese Funktion
aufgebaut ist, drauf kommen, dass es nicht rsp-gerecht ist.
Das ganze ist ja wohl kein Rollenspiel, sondern ein Computerspiel. Bei allen
Adventures kann man auch vor wichtigen Kaempfen speichern und keiner regt sich
drueber auf, dass das nichts mit Rollenspiel zu tun hat.

Also dann lass ich meinen zweitie halt erstmal alle wichtigen Sachen machen,
wenn der stirbt ist es ja mehr oder weniger egal. Ich metzel dann lieber nur
noch gardis erstmal.

Gruss Valarian - leicht veraegert

-----------------------------------------------------------------------------



Re: Das Ende (Zardoz,  9. Mai 1996, 09:20:55):
~#! rn=Valarian rt=831625238
~#! tid=831625238
Ich kriege den grossen Hass, wenn ich hier lesen muss, dass 'die Magier' mal
wieder was verbrochen haben. Ich bin von dieser Aenderung genauso ueberrascht
worden, und dass, obwohl ich fast jeden Tag im Mud bin. Aber das ist mal
wieder die typische Arroganz der Erzmagier, die mir schon seit langem auf den
Geist geht. Ich bin zwar auch dagegen, dass man 'ende' als Kampfmittel
einsetzt, aber als Notloesung finde ich es o.k. Den Chaoten hab ich das ende
eh schon etwas schwieriger gemacht, sie koennen es nicht wie Karatekas als
Teleport benutzen...
Durch diese Aenderung ist die Chaosgilde wirklich bei etwas lag zu einer
Todesfalle geworden, wenn die Daemonen mal anfangen zu spinnen, tut mir leid,
aber wenn ich gewusst haette, dass so eine Aenderung kommt, dann haette ich da
auch was gegen unternommen. 

Ciao Zardoz

-----------------------------------------------------------------------------



Re: Re: Das Ende (Valarian,  9. Mai 1996, 09:31:41):
~#! rn=Zardoz rt=831626455
~#! tid=831625238
Mein Artikel sollte wirklich kein Vorwurf gegen alle Magier sein, sondern
gerade nur gegen die, die das beschlossen haben.

Gruss Val.

-----------------------------------------------------------------------------



Re^3: Das Ende (Zardoz,  9. Mai 1996, 09:38:25):
~#! rn=Highlander rt=831627327
~#! tid=831625238
Hm, stimmt. Sorry. Ich hab genauso verallgemeinert... Du kannst ja nicht
gemeint sein, weil Du ja nichts aenderst bzw. programmierst. Ich sag nur
Gilden-EM :)

Nimms ironisch oder nicht, ist mir egal.

Zardoz

-----------------------------------------------------------------------------



war kleines Opfer... (Jurry,  9. Mai 1996, 09:56:00):
Wollt nur mal sagen das dieses geanderte Ende mich so glatte 5 mio ep gekostet
hat in der Wasserebene 

-----------------------------------------------------------------------------



Re: war kleines Opfer... (Rzne,  9. Mai 1996, 09:58:35):
~#! rn=Jurry rt=831628560
~#! tid=831628560
hmpf...

also, eine gewisse misstimmung kann ich ja verstehen, aber kein weinen wegen
eps. wenn du sauer bist, schliess dein haus ab. das hat noch alle in die knie
gezwungen ;-)

Rzne

-----------------------------------------------------------------------------



Re^4: Neue Fluchtrichtungs-scheisse !! (Caradhras,  9. Mai 1996, 10:32:16):
~#! rn=Mupfel rt=831593210
~#! tid=831587741
Nicht nur das, Mupfel, sondern mit Rollenspiel haben auch die
Kanaele (Ebenen) des MG nichts zu tun, genausowenig die MPA und
noch einiges mehr.

Ich bin also dafuer, alle Kanaele abzuschaffen sowie das teile mit
endlich mindestens wenn nicht noch mehr ZP aeh MP kosten zu lassen,
denn das ist ja ein grosser magischer Vorgang! 
Und die MPA muss natuerlich auch noch abgeschafft werden, anstelle
muessten an bestimmten Stellen Bretter aufgestellt werden, an denen
man etwas anheften kann. Diese Neuigkeiten muessten dann alle 10 oder
30 Minuten von Boten an die anderen schwarzen Bretter weitergetragen
werden, natuerlich vorher abgeschrieben...

DAS wuerde MG dann logischer machen. Auf, ihr >= EM.

        Caradhras - Golddrachenberg
PS: Es sollten sich nur die angesprochen fuehlen, die auch wirklich
    fuer das geaenderte 'ende' verantwortlich sind, was meiner Meinung
    nach /* zensiert */ war (kein positiver Ausdruck), obwohl es mir
    theofantisch egal sein kann, da ich hier sowieso nicht mehr spiele

-----------------------------------------------------------------------------



Re^4: Ende im Kampf (Rochus,  9. Mai 1996, 13:26:41):
~#! rn=Fyt rt=831602315
~#! tid=831584272
Die Feuerbaelle sind ja auch fuer den Kampf vorgesehen,
"ende" ist es nicht.

-----------------------------------------------------------------------------



Re^5: Ende im Kampf (Raffi,  9. Mai 1996, 13:30:26):
~#! rn=Rochus rt=831641201
~#! tid=831584272

Ende ist aber eine brauchbare NOTloescung. Normalerweise ist man ja stark
gestraft, da man alle sachen verliert. Die Karateka sind da die Ausnahme.
Daher sollte man der Ausnahme aeine Ausnahmebehandlung verpassen, und nicht
und nicht allen eins draufhauen.

Gruss
H.
P.S.: Ich verwwende Ende eigentlich nicht, daa ich mehr angst um meine sachen
als um meine EP habe.

-----------------------------------------------------------------------------



Re^6: Ende im Kampf (Rimus,  9. Mai 1996, 14:07:48):
~#! rn=Raffi rt=831641426
~#! tid=831584272
Ende muss man nicht nur im Kampf verwenden, ich hatte z.B. das Problem als ich
Seher geworden bin, hatte ich aufeinmal 2 Guertel und 2 Gi's. Da war Ende die
besste Loesung um das wegzubekommen. Auch bei anderen Bug's z.B. drakonien, 
Drachenklauen war ende die einzige Moeglichkeit wieder ein (+*) hinter Kraft
stehen zu haben. Also warum Ende abschaffen ??


RIMUS - Der Ende-Kalateka

-----------------------------------------------------------------------------



Re^7: Ende im Kampf (Valarian,  9. Mai 1996, 14:43:22):
~#! rn=Rimus rt=831643668
~#! tid=831584272
Kann man das Problem nicht von einer anderen seite angehen und einfach ende
nur noch alle 15 Minuten zulassen (wie z.B den finsternis-spruch der chaoten).
Dann wuerde man es sicher 2* ueberlegen, ob man sein ende jetzt verbraucht
oder wannanders.
Aber auch dann muesste das ein oder andere monster (z.B. auch die Wasserebene)
abgewertet werden.

Gruss Val, der eine neue Ende-Reglung nicht unbedingt ablehnt.

-----------------------------------------------------------------------------



Re^5: Ende im Kampf (Mupfel,  9. Mai 1996, 16:06:34):
~#! rn=Rochus rt=831641201
~#! tid=831584272
Die 'ende-Verzoegerung' trifft ja auch nur einen kleinen Teil der Spieler:
diejenigen, die in einem Raum ohne Ausgaenge Metzeln (oder mit einem
Sperrer-Monster wie Lofwyr kaempfen) und diejenigen, denen ein aggressives
Verfolgemonster 'im Nacken' haengt. Fuer alle anderen hat das keine
Auswirkung, denn schon im naechsten Raum (also vom Gegner getrennt)
funktioniert das 'ende' wieder wie gehabt. Ping-Pong-Monstergegenden wie die
Steinis werden dadurch natuerlich wieder etwas schwerer.

-mupfel-

-----------------------------------------------------------------------------



Re^8: Ende im Kampf (Anatol,  9. Mai 1996, 16:28:04):
~#! rn=Valarian rt=831645802
~#! tid=831584272

Oh Gott....

... macht mal Mandarine.

- Fakt ist: "ende" hat NICHTS aber auch GAR NICHTS mit spielerischer 
  Kampftaktik zu tun.

- Fakt ist: Chaoten haben es verdammt schwer, wenn "ende" nicht sofort zieht.

- Fakt ist: Bei manchen Monstern muss man, wenn man alleine dort ist, wohl
  zu 'ende' greifen, wenn man um die gewissen Sequenzen herumkommen will.

So, "ende" ist jetzt nur noch mit Verzoegerung im Kampf moeglich. Das heisst?

- Einzelmetzler, die 'ende' als Kampfstrategie verwenden, fuehlen sich
  maechtig auf den Schlips getreten, tyrannisiert, verarscht. 

- Die Wasserebene und viele Monster fordern entweder bessere Taktiken oder
  mehrere Leute gleichzeitig.

- Zardoz kann sich Gedanken dazu machen, wie er den Chaoten den toedlichen
  Fluch etwas erleichtern kann...

Also, was lernen wir daraus? 
Magier, bitte plant das "ende" von Spielern nicht mehr ein.
Spieler und Seher, kooperiert.
Jurry, schliess Dein Haus ab oder loesch' Dich.

Anatol, findet das Geplaerre lachhaft.


-----------------------------------------------------------------------------



Re^6: Ende im Kampf (Jof,  9. Mai 1996, 16:37:56):
~#! rn=Raffi rt=831641426
~#! tid=831584272

 Ende ist nochmal geaendert worden: 'ende' funktioniert nun auch im Kampf
zunaechst mal sofort, wie frueher. Damit ist es als Notloesung einsetzbar.
Dies klappt jedoch nur alle 10 Minuten einmal; wenn man innerhalb von 10
Minuten zum zweiten Mal quittet und DANN im Kampf ist, erfaehrt man die Ver-
zoegerung. Mit dieser Loesung muessten doch alle leben koennen, oder?

 Jof

-----------------------------------------------------------------------------



Re^7: Ende im Kampf (Raffi,  9. Mai 1996, 16:58:47):
~#! rn=Jof rt=831652676
~#! tid=831584272

Raffi bedankt sich bei Jof.


-----------------------------------------------------------------------------



Re^7: Ende im Kampf (Valarian,  9. Mai 1996, 17:08:34):
~#! rn=Jof rt=831652676
~#! tid=831584272
Jaaa, wir danke dir Jof *knie nieder* 

Das ist echt fair *freu*

Gruss Vali.

-----------------------------------------------------------------------------



Re^9: Ende im Kampf (Warren,  9. Mai 1996, 17:11:27):
~#! rn=Anatol rt=831652084
~#! tid=831584272
Heisst der Spieler anatol oder ana-Toll?! So etwas ueberhebliches habe ich
nicht oft gelesen.
Warren

-----------------------------------------------------------------------------



Re^7: Ende im Kampf (Lefty,  9. Mai 1996, 18:03:20):
~#! rn=Jof rt=831652676
~#! tid=831584272
jep, so is das klasse jof. verhindert missbrauch und geht als notloesung.

... und Jof sprach: Habt doch auch ein Herz fuer die Metzler.

Lefty.

-----------------------------------------------------------------------------



Ende im Kampf (Eros,  9. Mai 1996, 18:16:35):
Hm mir scheint, die Magier haben im durchsetzen ihres willen ordentlich
dazu gelernt, vorallem auch taktisch:)))

Ein ueberraschter Eros.

-----------------------------------------------------------------------------



Re^7: Ende im Kampf (Asmodis,  9. Mai 1996, 18:52:37):
~#! rn=Jof rt=831652676
~#! tid=831584272
Klasse Jof, prompt reagiert, so stellt man sich seinen Wunschmagier 
vor. Damit koennen wirklich (fast) alle leben!!

-----------------------------------------------------------------------------



Re: Ende im Kampf (Rochus,  9. Mai 1996, 18:52:47):
~#! rn=Eros rt=831658595
~#! tid=831658595
Richtig, die neue Taktik heisst 2 Schritte vor, einen zurueck :)

-----------------------------------------------------------------------------



Re: Re: Ende im Kampf (Jasper,  9. Mai 1996, 18:54:57):
~#! rn=Rochus rt=831660767
~#! tid=831658595
Das funktioniert aber nur solange man noch mindestens einen Schritt vom
Abgrund entfernt ist, aeh 2 Schritte meine ich natuerlich :)

-----------------------------------------------------------------------------



ende (Zuerileu, 10. Mai 1996, 05:13:07):
Hallo,
Naja ich bin deswegen immernoch dsagegen. Ich sagte das Jof schon als ich von
seinem Geistesblitz hoerte sowas einzufuehren. Ich kann keine 2 Charakteren
einloggen und muss jedesmal mit ende raus um eine andere charaktere
einzuloggen wie ein Testi. Und dieses neue System verhindert solche aktionen.
Sorry aber auch als Magier bin ich gegen die neue Ende Regelung und ich denke
solche neue einfuehrungen zerstoeren den spielspass im MG gewaltig. Nur weil
jemand zu faul ist "inform" abzustellen  son muell einzufuehren find ich doof.
Dazu es sei nicht Rollenspielgemaess, aemm kuehlschraenke, Cola-Automaten,
Spielzeug-Automatenm usw. ist das Rollenspiel bewusst, sorry ich find es muss
nicht alles Rollenspielbewusst sein und man muss "Spass" haben, das ist das
wichtigste, aber denn wird den spieler durch solche aktionen genommen.

Tschuess Zuerileu (Ist nicht auf die Schauze gefallen)

-----------------------------------------------------------------------------



Top-Liste (Zardoz, 10. Mai 1996, 09:35:09):
Ich faende es ganz interessant, wenn in den Toplisten die Gildenzugehoerigkeit
zu erkennen waere. Man koennte dafuer ja das Alter in einem weniger
platzfressenden Format angeben...

Ciao Zardoz

-----------------------------------------------------------------------------



Re: ende (Raffi, 10. Mai 1996, 12:37:38):
~#! rn=Zuerileu rt=831697987
~#! tid=831697987

Was mich an dieser Diskusion ueber 'rollenspielgerecht' oder nicht so stoehrt
ist das sie ueberhaupt aufkommt. Warum bitte ist ein Cola-Automatt nicht
Rollenspielgerecht ? oder warum Ende nicht ? Das MG-RPG kennt dieses und viele
andere Sachen, die wir uns jetzt naoch garnicht vorstellen koennen!

Es taucht immer wieder ein sehr eingschraenkter Rollenspielbegriff auf, der
m.E. einem Mud auch garnicht gerecht wird. Wenn man einmal anfaengt nurnoch
'richtiges' Fantasy rollenspiel zu machen, dann wird sioch das ganze immer
weiter einschraenken, bis wir dann auch die Magie verbieten muessen etc.
Sowas hats ja schliesslich auch  nicht gegeben, ach ja, und die Strahlenden
Heldenmuessen wir auch abschaffen - wenn man z.B. mal aus heutiger sicht die
Maechtigen furchtlosen starken Nordmaenner anschaut, so entpuppen die sich als
gichtgeplagter, unterernaehrter, von Mangelerknrankungen gezeichneter haufen
von traurigen gestalten.

Warum sind bitte Kanaele nicht Rollenspielgerecht ? Der Begriff  Rollenspiel 
hat erstmal garnix mit der Welt dahinter zu tun. Er ssagt nur aus, das die   
'spieler' eine Rolle inerhalb des Spieles spielen. Und Welten/Regelsetts kann
beliebig viele geben. u.a. auch eben das MG, neben all den anderen von AD&D
ueber Cthullu, Traveler, Startreck, James Blond oder Sherlock Holmes (ja
selbst DSA). Ganz nebenbei: Sowas wie Kanaele gibts beim normalen Rollenspiel
(so mit leuten um einen Tisch und wuerfeln und so) auch - da nennt man das
Sprechen! Wer schonmal als Spielleiter versucht hatt eine Gruppe aufzuteilen,
und da den Informationsfluss zu unterbinden, der versteht mich :)

Ausserdem bitte ich nicht zu vergessen das sich die Ausdrucksmoeglichkeiten
eines Mud eben doch von denen eines Brettspiels, eines Papier&Bleistift
Rollenspiels oder auch eines anderen Computerspiels eben unterscheiden. Es ist
Unsinn da dann 'nur' eine Emulation eines anderen Spiels zu machen. Das wird
dem Medium nicht gerecht.


Ich merk schon wieder wie ich mich verzettel - also erstmal schluss mit der
Bleiwueste - Wer einen Typo findet darf ihn behalten.

Gruss
H.

-----------------------------------------------------------------------------



Zum Thema Rollenspielgerecht/Ende/Endepalaver (Phygos, 10. Mai 1996, 13:09:09):
Also wer sich in seinen Rollenspielfreiheiten eingeengt sieht,sollte sich mal
das Gueldenland ansehen!! Wenn man dort nicht gleich mit dem richtigen namen
einloggt, findet man sich beim naechsten mal geloescht vor!! ( z.bsp: Dynamo (
anfaenger hier im MG)  loggt sich mit selbigen Namen im GL ein   Beim zweiten
einloggen dann kahm die Meldung   "Wir brauchen hier keinen Strom"     Also.
Seht das mal alles etwas ruhiger und schlagt euch nicht gleich. Meistens kann
man mit den Leuten reden die hier den Laden schmeissen. OK mir passt auch
nicht alles. ABER  ( WICHTIG ) Ich muss den Sermon ja auch nicht proggen! Ich
kriege im GL ja schon graue Haare auch nur ne halbwegsvernuenftige Krankheit
zu proggen   dagegen sind die hier so oft geforderten Umstellungen neu
Umstellungen Wiederherstellungen ware Meisterwerke. Tja das war mal wieder
mein Artikel fuer`s naechste halbe Jahr

-----------------------------------------------------------------------------



Aenderung der Aenderung von ende... (Kretek, 10. Mai 1996, 18:11:41):
So, meinen (stinksauren) Artikel, der hier gerade noch stand, habe ich
nach der Ankuendigung von Jof wieder geloescht.
Ich kann immer noch nicht sagen, dass ich diese Neuregelung gut finde,
aber besser als die Urspruengliche Form ist's allemal...

Kretek
Flames, Replys und sonstigen Muell (ja, ok, von mir aus auch sinnvolle 
Antworten, wenn's denn sein muss...) an:

Massa Kretek (V.i.S.d.P.)

-----------------------------------------------------------------------------



Re: Zum Thema Rollenspielgerecht/Ende/Endepalaver (Asmodis, 10. Mai 1996, 18:26:06):
~#! rn=Phygos rt=831726549
~#! tid=831726549
Gueldenland ist sowieso laecherlich, zwingen anderen diese Namen auf,
aber die Namen der Obersten haben keinen Rollenspiel-charakter.
Tja, die messen mit zweierlei Mass

-----------------------------------------------------------------------------



Re: Re: Zum Thema Rollenspielgerecht/Ende/Endepalaver (Caradhras, 10. Mai 1996, 18:46:41):
~#! rn=Asmodis rt=831745566
~#! tid=831726549

Jau, ist ok so, die Aenderung, Jof. Ich gebe Dir die
Absolution. :)

Auf Raffi muss ich glaube ich nicht antworten, das gaebe nur
endlos-diskussionen ueber rollenspiele und leiten von 
rollenspielen. :)

              buy buy    Carababy

-----------------------------------------------------------------------------



Re^4: Das Ende (Silvana, 12. Mai 1996, 10:37:45):
~#! rn=Zardoz rt=831627505
~#! tid=831625238
Grmpf.
Wenn Du was gegen Verallgemeinerung hast, dann tu's auch nicht. Es gibt
mehr als einen EM - auch wenn Du's auf Gilden beschraenkst. ICH habe
jedenfalls nix 'von oben herab beschlossen'. Ich wusste von nix - 
also gib nicht MIR die Schuld.

  Silvana

-----------------------------------------------------------------------------



Re^8: Ende im Kampf (Fyt, 12. Mai 1996, 21:31:50):
~#! rn=Raffi rt=831653927
~#! tid=831584272

Upps, man sollte den Thread wohl doch zu Ende lesen...

Oder anders: Danke, Jof.

Fyt.

-----------------------------------------------------------------------------



Re: ende (Cauno, 13. Mai 1996, 12:21:22):
~#! rn=Zuerileu rt=831697987
~#! tid=831697987

Hm. Automaten u.s.w. sind nicht Rollenspielgemaess? Ich hatte eigentlich nie
das Gefuehl, in einem reinen Fantasy-MUD zu sein. Die Mischung aus Fantasy
und SF finde ich eigentlich sogar recht interessant. Aber davon abgesehen, 
wirken manche Sachen auf mich eher witzig. Ich wuerde das MUD sogar eher als
Satire-MUD bezeichnen, nur fuer mich allein natuerlich.

Rollenspiel heisst fuer mich, dass man eine ROLLE, also eine andere Figur als
man es selbst im langweiligen Alltag ist, spielt. In welcher Umgebung sich 
diese Figur befindet gehoert aber nicht zu der Definition, oder?

                                                       C. No
                                          (versucht, die Begriffe zu
verstehen)

..

-----------------------------------------------------------------------------



Kleine Aenderung beim Sterben (Jof, 13. Mai 1996, 19:44:01):

 Wenn man stirbt, erhaelt man danach ja einen neuen Koerper; da erscheint es
nur logisch, wenn die Werte fuer Alkohollevel, Saettigung durch Essen und
Saettigung durch Trinken auf 0 stehen. Das ist nun auch so, d.h., nach der
Reanimation kann man nun sofort kraeftig essen und trinken.

 Jof

-----------------------------------------------------------------------------



Re: Kleine Aenderung beim Sterben (Raffi, 13. Mai 1996, 19:48:03):
~#! rn=Jof rt=832009441
~#! tid=832009441

Knuddelt und Lobt Jof schon wieder!

Kann es sein das das MG ploetzlich ein Trouble-Ticket-Management hat und der
angelaufene Stapel abgearbeitet wird ?

*grins*
H.

-----------------------------------------------------------------------------



Ende (Kobayashi, 13. Mai 1996, 20:08:27):
Und schon wieder ein MAgier, der vor den uebermaechtigen Spielern eingeknickt
ist. ...

Kobayashi
P.S. Denkt euch den Rest meines Artikels

-----------------------------------------------------------------------------



Re: Ende (Wurzel, 13. Mai 1996, 20:15:41):
~#! rn=Kobayashi rt=832010907
~#! tid=832010907
hmm, was heisst eingeknickt?
das mud lebt von den spielern, soviel ist sicher. auch wenn ich die aenderung
gut fand (ich bin ja auch nicht davon betroffen), so kann ich die reaktion
doch verstehen. der kunde ist koenig, oder?
frage ist doch, was machen wir hier eigentlich? wenn es keinen spass machen
wuerde, koennte man die maschine doch abschalten. und wenn viele keinen spass
daran haben, dann weg mit der aenderung. haette man ende im kampf von anfang
an so gehalten, haette sich wohl niemand aufgeregt. nun war es wohl zu spaet.

wurzel

-----------------------------------------------------------------------------



Re: Re: Ende (Jof, 13. Mai 1996, 20:19:39):
~#! rn=Wurzel rt=832011341
~#! tid=832010907

 Eben, und zudem ist ja ein Teil der Aenderung erhalten geblieben, wir haben
uns sozusagen auf halbem Wege getroffen. Kompromissbereitschaft ist Trumpf :)

 Jof

-----------------------------------------------------------------------------



Re: Re: Kleine Aenderung beim Sterben (Valarian, 13. Mai 1996, 22:52:10):
~#! rn=Raffi rt=832009683
~#! tid=832009441
Jof ist der Beste! 

Valarians sagt: Lobet den Herren und preiset Jof.

-----------------------------------------------------------------------------



Re: Re: Ende (Tasha, 13. Mai 1996, 22:59:21):
~#! rn=Wurzel rt=832011341
~#! tid=832010907
Naja, der Kunde mag ja Koenig sein, aber in einem MUD gibts keine Kunden. Nur
Leute, die Spass am MUDen durch spielen und Leute, die Spass am MUDen durch
proggen hat. Insofern sehe ich keinerlei Ansprueche in irgendeiner Richtung.

Tasha

-----------------------------------------------------------------------------



Re: Re: Ende (Schrumpfi, 14. Mai 1996, 01:43:20):
~#! rn=Wurzel rt=832011341
~#! tid=832010907
Hab ich Dir eigentlich schon mal gesagt, dass Du mir mit Deinen Artikeln jedes
mal aus der Seele sprichst? Ja? Bestimmt. macht nix, ich sags nochmal ;-)
Und jetzt duerft ihr mich alle hauen, wegen diesem sinnlos Artikel. 
Schrumpfi schreibt sowieso nur Muell. Manchmal.

-----------------------------------------------------------------------------



Re^4: Inventar (Mosh, 14. Mai 1996, 11:51:45):
~#! rn=Acrimon rt=830681866
~#! tid=830644103
Also alles in allem finde ich die Zusammenfassung gleicher Gegenstaende
schon nuetzlich, jedoch bei einem Item find ich das etwas ungeeignet:
bei Muenzen naemlich. Bsp. Moulokin die Soldaten.
wenn man davon mehrere auf einem Feld plaettet hab ich dann dastehn
1623 Muenzen (3)
Sag koennte man das nicht aufsummieren? danke!

-----------------------------------------------------------------------------



Re^3: Ende (Raffi, 14. Mai 1996, 12:12:39):
~#! rn=Tasha rt=832021161
~#! tid=832010907

Ob Du jetzt Kunden als allgemeinen Begriff verwendest, oder Spieler (oder auch
Magier) sagst ist doch wurscht und aendert nix an der Beziehung und den
Problemen.

Gruss
H.

-----------------------------------------------------------------------------



Top-Ten nach neuem Levelsystem (Wargon, 14. Mai 1996, 15:59:20):
  Hi!
Nach dem neuen Levelsystem, wie es sich momentan darstellt, saehe die Top-Ten
der Spieler wie folgt aus:

                             Liste der Topspieler !
                 Stand:   Dienstag, 14.05.1996, 15:26:52
      Name               AP  Stufenp. Level Alter
*  1. Ringor           2020      4158 ( 23)  25 Tage, 11 Stunden und 38
Minuten
*  2. Andres           1910      3639 ( 25)  47 Tage, 20 Stunden und 26
Minuten
*  3. Slyfox           2255      3634 ( 32) 121 Tage, 15 Stunden und 50
Minuten
*  4. Anakin           2175      3481 ( 33) 126 Tage, 11 Stunden und 35
Minuten
*  5. Acrimon          2255      3468 ( 23)  77 Tage,  1 Stunde  und 14
Minuten
*  6. Mars             2155      3465 ( 27)  62 Tage,  3 Stunden und 37
Minuten
*  7. Rudiratter       2230      3451 ( 29)  55 Tage,  7 Stunden und 27
Minuten
*  8. Ryne             2160      3377 ( 40) 114 Tage, 18 Stunden und 41
Minuten
*  9. Arty             2255      3374 ( 28)  52 Tage,  4 Stunden und 13
Minuten
* 10. Mahatma          2255      3372 ( 30)  48 Tage, 20 Stunden und 50
Minuten


Teilt man die Stufenpunkte durch 100, erhaelt man den Level nach dem neuen
System. Einziger Verlierer waere also Ryne, die Wurst.
Jetzt kanns nicht mehr lange dauern... ;)
  Wargon

-----------------------------------------------------------------------------



Re: Kleine Aenderung beim Sterben (Mupfel, 14. Mai 1996, 17:02:42):
~#! rn=Jof rt=832009441
~#! tid=832009441
aber blind und taub ist man weiterhin?

correct me if I'm wrong...

-mupfel-

-----------------------------------------------------------------------------



Re: Re: Kleine Aenderung beim Sterben (Jof, 14. Mai 1996, 17:14:23):
~#! rn=Mupfel rt=832086162
~#! tid=832009441

> aber blind und taub ist man weiterhin?
 
> correct me if I'm wrong...
 
> -mupfel-
 
 You were NOT wrong, but I corrected it ...
 
 Jof

-----------------------------------------------------------------------------



Re: Top-Ten nach neuem Levelsystem (Rzne, 14. Mai 1996, 17:18:26):
~#! rn=Wargon rt=832082360
~#! tid=832082360

PROTESTNOTE!

Wie ich aus sicheren Quellen weiss, ist ryne keine Wurst, sondern

___ EIN COOLER KAMPFZWERG IM TIEFFLUG___ !!!

(leider momentan ohne Zeit fuers mudden - das heisst aber nicht, dass man
ueber ihn boese boese reden soll, denn ich petze ihm alles !!!)#

Rzne.

-----------------------------------------------------------------------------



Die Ebene (Kanaele) (Hate, 14. Mai 1996, 17:44:31):
Also leider hat da jemand mal schnell eine Aenderung eingebaut und dann
die Spielerkoerper 'geupdated'. Dadurch sind meine Aenderungen in einem
etwas frueher Stadium Aktiv geworden.
Die Kanaele jetzt:
-<Ebene>+ zum Einschalten
-<Ebene>- zum Ausschalten
-<Ebene> Text zum sprechen

Die schon immer eingeschalteten Ebenen sollten automatisch aktiviert sein.
DIe Angabe der Ebene erfolgt NICHT, wie sonst, ueber Abkuerzungen, sondern
es muss ein eindeutiger Teil des Namens eingegeben werden:
'Al' fuer Allgemeines z.b.

Hate.

-----------------------------------------------------------------------------



Re: Die Ebene (Kanaele) (Rimus, 14. Mai 1996, 18:26:40):
~#! rn=Hate rt=832088671
~#! tid=832088671
Wenn Regionsmagier schon mal was Proggen ... 
Kannst du das nicht wieder zuruecksetzen ?? Man hat sich doch sooooo
lange dran gewoehnt.

rimus

-----------------------------------------------------------------------------



Re: Top-Ten nach neuem Levelsystem (Anakin, 14. Mai 1996, 21:54:14):
~#! rn=Wargon rt=832082360
~#! tid=832082360
Aeeeh...kann einer was sagen wie Abenteuerpunkte, FP, EP oder
die Stufe in der Gilde eingehen? Welche Gilde wird da berechnet,
nur die aktuelle oder auch die, in denen man sich bis dato auch vor-
gearbeitet hat? So grobe Angaben waeren mal interessant....

Anakin.

-----------------------------------------------------------------------------



Die Ebenen... (Hate, 15. Mai 1996, 00:00:05):
Also, wie nun fast jeder mitbekommen haben sollte, ist eine neue Generation
von Kanaelen am arbeiten.
In der Syntax hat sich ein bisschen was geaendert:
-<NAME>+      - Einschalten der Ebene <NAME>
-<NAME>-      - Ausschalten der Ebene <NAME>
-<NAME>?      - Anzeigen wer auf der Ebene ist
-?            - Alle Ebenen anzeigen
-!            - Alle betretenen Ebenen anzeigen
-<NAME>*      - Die Geschehnisse auf ebene <NAME> anzeigen

Normalerweise wird <NAME> als von den anderen Ebenen eindeutig unterscheid-
bare Zeichenkette eingegeben, also Al fuer Allgemein und Ab fuer Abenteuer
etc. genuegt.
Die neuen Ebenen bieten die Moeglichkeit Abkuerzungen fuer die einzelnen
Ebenen selbst zu definieren:
ebene <Abkuerzung>=<Ebene>
  Dies erstellt eine Abkuerzung <Abkuerzung> fuer die Ebene <Ebene>
BSP: ebene a=Allgemein
oder ebene a=Al
Loeschen kann man eine solche Abkuerzung durch weglassen der rechten Seite
nach dem '='.
Anzeigen der Abkuerzungen geschieht mit: 'ebene abkuerzungen'

Hate.

-----------------------------------------------------------------------------



Re: Die Ebenen... (Hate, 15. Mai 1996, 00:01:10):
~#! rn=Hate rt=832111205
~#! tid=832111205
Es wird noch ein klein bisschen dauern, bis D-*, Inter*, die Todes, Moerder
etc Ebenen wieder laufen...
Hate.

-----------------------------------------------------------------------------



Re: Die Ebenen... (Azzuro, 15. Mai 1996, 01:25:20):
~#! rn=Hate rt=832111205
~#! tid=832111205
Das neue System der Ebenen kann man sich streiten. Es gibt vor und Nachteile.
Aber kannst du wenigstens mal als erstes die HILFSSEITE neu schreiben, bevor
du was einbaust?
Waer lieb!

Azzuro!


-----------------------------------------------------------------------------



Re: Re: Die Ebenen... (Hate, 15. Mai 1996, 07:44:50):
~#! rn=Azzuro rt=832116320
~#! tid=832111205
Wie OFT soll ich noch betonen, dass ich gar nichts dafuer kann, dass es auf
einmal aktiv laeuft! Bisher hatte ich das nur fuer mich zum testen laufen,
aber nach einer Aenderung in der MUDlib von anderer Seite ist das ploetzlich
aktiv geworden.
Und ich BIN DABEI so Dinge, wie HILFESEITEN etc, zu SCHREIBEN!
Mir geht das langsam auf den Nerv, dass ihr es nicht kapieren wollt, obwohl
ich das sogar in die Zeitung geschrieben habe.
Ein bisschen Geduld sollte wohl moeglich sein.

Hate.

-----------------------------------------------------------------------------



Artikel (Valarian, 15. Mai 1996, 12:07:16):
Neues Spielerlevel!
Ich hab gerade mal die neue Punkteverteilung durchgelesen. Das ist ja wohl der
Hohn. Man bekommt also fuer eine 1/2 Mio Eps 1 Punkt, das heisst, ich bekomme
fuer 30 Mios 60 Punkte, was soviel ist wie einmal Tarko Reub????
Das ist ja wohl der Oberhohn. Wenn So das neue Spielerlevel aussieht, dann
kann ich es wohl begruendet ablehnen, wenn ich 1 1/2 Jahre in dem Glauben
metzel, dass es meinen Charakter vorwaerts bringt und das jetzt alles zunichte
gemacht wird.

Ausserdem fehlen mir alle FPs der alten Quests. Da kann ich mich ja echt guten
gewissens Loeschen und neu anfangen.

Tolles Neues Spielerlevel!

Gruss Val.

-----------------------------------------------------------------------------



Re^3: Top-Ten nach neuem Levelsystem (Anakin, 15. Mai 1996, 12:19:39):
~#! rn=Wargon rt=832152495
~#! tid=832082360
Naja ich haett nochmal da gern ein Punkt zu Diskusion gestellt.
Wenn man jetzt die Gilde wechselt verliert man 400 Levelpunkte
und demzufolge auch 4 Gesamtlevel? Wuerde auch heissen
man verliert ein paar % bei der Fluchtrichtung usw. Also
so wie die Reglung bis jetzt ist foerdert es nicht gerade den
Gildenwechsel (der irgendwann man von Magierseite durchaus auch
erwuenscht war, wenn ich mich nicht irre)?
Btw. wird es das alte EP-Level weitergeben? Oder wie ist das dann
mit den ganzen Gegenstaenden oder Aktionen die Level-
abhaenig sind? Kann ich die dann nicht mehr nutzen? 
Einen Einfluss der alten GuildRatings finde ich durchaus brauchar
und erwuenschenswert. Was spricht dagegen? Da der neue Level
einen Ueberblick ueber die Faehigkeiten geben soll und somit
auch ueber die Gilden in denen man war, sollte es beruecksichtgt werden.
Es reicht ja schon dass AltSeher einen erheblichen Nachteil
durch die FP's in den alten Quests haben. Nicht das ich mich
ueber meine Einstufung beklagen wuerde, aber drueber nachdenken
koennte doch mal.

Anakin. Levelgeil.

-----------------------------------------------------------------------------



Re: Artikel (Grimmborn, 15. Mai 1996, 12:24:20):
~#! rn=Valarian rt=832154836
~#! tid=832154836

Jau, loesch Dich. Ist momentan sowieso wieder mal Mode.

Grimmborn der Atheist


-----------------------------------------------------------------------------



Re: Re: Artikel (Valarian, 15. Mai 1996, 12:44:45):
~#! rn=Grimmborn rt=832155860
~#! tid=832154836
Danke fuer die Anteilnahme, aber warum werden alle fuer Quests belohnt, die
sie sowieso nur mit Kls spielen? Sind das bessere Mudder als Metzler?

Gruss Val, haelt das neue Szstem immer noch fuer unausgeglichen.


-----------------------------------------------------------------------------



Re^3: Artikel (Paracelsus, 15. Mai 1996, 12:47:37):
~#! rn=Valarian rt=832157085
~#! tid=832154836
Das ist ja eben der Grund fuer die FPs: dass einem die KLs nicht mehr so
helfen.
Para.

-----------------------------------------------------------------------------



Re^4: Artikel (Valarian, 15. Mai 1996, 12:57:57):
~#! rn=Paracelsus rt=832157257
~#! tid=832154836
Fps sind ja auch cool, aber sie quests sind jetzt im Gegensatz zu den Eps
ueberbewertet. Quests kann man noch leichter ergaunern als vieles eps!

Faellt das denn keinem auf?

Val.

-----------------------------------------------------------------------------



Re^5: Artikel (Paracelsus, 15. Mai 1996, 13:05:47):
~#! rn=Valarian rt=832157877
~#! tid=832154836
Wenn Du nen Magier kennst, lassen sich EPs viel einfacher ergaunern
als FPs. Die kann man naemlich setzen.

Paracelsus.

Hinweis: Das Setzen von EPs bei Spielern ist natuerlich allen Magiern
         verboten.

-----------------------------------------------------------------------------



Re^6: Artikel (Hadra, 15. Mai 1996, 13:10:41):
~#! rn=Paracelsus rt=832158347
~#! tid=832154836
hmmm,

heisst das, dass soieler fp finden muessen, weil magier sich nicht an die
regeln halten? wird hier dann nciht auf die falschen geschossen?

hadra - hat gerade 2 pfennig in der tasche

-----------------------------------------------------------------------------



Re^7: Artikel (Paracelsus, 15. Mai 1996, 13:21:21):
~#! rn=Hadra rt=832158641
~#! tid=832154836
Nein, das war natuerlich nicht gemeint. Ich meinte damit nur, dass FPs
wesentlich besser abgesichert sind als EPs und viele Quests.
Para.

-----------------------------------------------------------------------------



Re^3: Top-Ten nach neuem Levelsystem (Raffi, 15. Mai 1996, 15:53:38):
~#! rn=Wargon rt=832152495
~#! tid=832082360
    (!!! Achtung ist wiedermal lang geworden!!!)

Soo na endlich mal was Handgreifliches (Danke Wargon).

Fuer mich bleiben erstmal 2 Punkte die nicht beantwortet werden, und dann
natuerlich das noetige Gemecker:)

1) Was heist 1 FP = 6/7 Levelpunkte im Zusammenhang mit 1:7 bzw. 1:8 ?
   entweder ist 1 FP 1/6 LevP oder 1/7 LevP oder sind es 71/82stel ?
   oder gilt das in der Klammer und 1 FP = 6/7tel LevP (=0,857) ?
   oder sind abwechseln 6 und 7 FP fuer einen LevP noetig ?
   oder was ?
2) Wieviele LevP sind nun fuer ein Level noetig ? Ich rate mal auf die
   Andeutungen gestuetzt 100 LevP == 1 Level. Richtig ?

Soo und nun das Gemecker:

1) Bewertung der ZT mir erscheint a) die Bewertung der 'Normalen' ZT
   zu unausgewogen und b) die der Heiltraenke als gnadenlos uebertrieben.

   Sinvoller waere da fuer mich, fuer die ersten ZT garnix zu geben, dann
   aber die letzten (z.B. 20) ansteigend zu Belohnen. Dies koennte entweder
   fuer die letzten gefundenen ZT passieren (ab Nummer 61) oder aber fuer
   alle ZT der Klasse Extraschwer (wenn ich mich recht erinnere sind das
   doch auch 20?)

   Hierbei wuerde ich einfach je ZT einen LevP mehr geben also fuer den
   ersten (der 20) einen, fuer den zweiten zwei und so weiter bis 20 fuer
   den letzten.

   Der gedanke zum Ansporn fuer die Letzten ZT wuerde damit staerker.

   Natuerlich kostet das auch etwas: mit dieser Regelung entfallen dann
   auf ZT 210 LevP gegenueber den 115,2 LevP nach Wargons Rechnung,
   was dann 2,1 Level anstelle 1,15 Level waeren.

2. Die Bewertung der EP ist schon extrem niedrig. Wenn ich mir das so
   Anschaue, dann sind ja 50.000.000 (ja, das heisst Fuenfzig Millionen)
   EP noetig fuer ein Level! Das heisst EP sind nichtmal mehr fuer Ryne&Co,
   welche ja doch das Mezelextrem bilden, interessant. Dann kann man die
   EP eigentlich auch gleich einstampfen. Und Anfaenger, die gerade mal
   stolz ihre erste Wespe plaetten werden total demotiviert.

   Mit einer derartigen Loesung entfernen wir uns SEHR weit vom Herge-
   brachten. Selbst Runequest ist ja noch ein Metzelsystem dagegen :(

   Und zum Verringern des Metzelns taugt das auch nur bedingt. Sinvoller
   dafuer waere eine Allgemeine Abschwaechung der Spieler bzw. Verstaerkung
   der Gegenseite (ich sag absichtlich nicht NPC). Nur sowas ist nicht zu
   erwarten, also entsteht wiedermal ein mehr als fauler Kompromiss. Der
   hat ja fast schon Kohl/FDP-Qualitaet.

   Sinvoll ware hier eine Sanft ansteigende Funktion, die z.B. die ersten
   1000 EP genauso bewertet wie die EP zwischen 1MEP und 1,5MEP. Ich
   koennte mir Vorstellen das z.B. fuer die ersten 5 Milionen 100 LevP
   vergeben weerden, und ab da meinetwegen Linear, oder aber die Kurve
   weiterfuehren, so das die nachsten 15 MEP wieder 100 LevP geben, und
   die naechsten 45 MEP wieder 100 LevP und so weiter. Dadurch koennte
   sich auch ein Supermetzler nur wenig mehr erarbeiten als ein Durch-
   schnittsspieler (65MEP waeren gerademal 3 Level, und soviel wie 5 oder
   6 Questen), es waere aber nicht ganz so niederschmetternd.

Soo Ausgemeckert - der Rest ist eigentlich Ok.

Gruss
H.

-----------------------------------------------------------------------------



Re^4: Top-Ten nach neuem Levelsystem (Anatol, 15. Mai 1996, 15:58:20):
~#! rn=Raffi rt=832168418
~#! tid=832082360


Motivation fuer die Umstellung war, den EP-Metzel-Scripts den
Sinn zu nehmen. 

Es waere ja ein Schuss in den Ofen, wenn EPs immernoch stark oder
irgendwie lohnend in den Gesamtlevel einfliessen wuerden, oder, Raffi?

Anatol (hat nie richtig EPs gekloppt)


-----------------------------------------------------------------------------



Re^5: Top-Ten nach neuem Levelsystem (Zardoz, 15. Mai 1996, 16:02:26):
~#! rn=Anatol rt=832168700
~#! tid=832082360
Was vielleicht in Wargons Artikel unterging: Es wird spaeter noch LevelPunkte
fuers killen von Monstern geben! Allerdings pro Monster nur einmal. D.h. man
muss immer neue Monster killen. Zum 1000 mal das Orklager bringt nichts mehr.
Warum sollte man bei solchen Routineaktionen auch noch Erfahrung gewinnen.
Es wird also der belohnt, der sich immer in neue Gebiete wagt, unbekannte
Gefahren auf sich nimmt und neue Monster angeht. Diese Idee ist doch
eigentlich nicht so schlecht. Ein wirklich guter Spieler hat gar nicht soviele
EPs, weil er sich auch in gefaehrliche Gebiete traut, aber er hat so ziemlich
jedes Monster im MG mind. einmal gekillt...

ciao  zardoz

-----------------------------------------------------------------------------



Re^4: Top-Ten nach neuem Levelsystem (Wargon, 15. Mai 1996, 16:22:30):
~#! rn=Raffi rt=832168418
~#! tid=832082360
  Hi!
Zur Frage mit den FP: "neue" Spieler bekommen pro Forscherpunkt 6 Levelpunkte,
"alte" Spieler 7 Levelpunkte
Zur Frage mit den Levelpunkten pro Level: ja, 100 Levelpunkte ergeben einen
Level.

Bei den Erfahrungspunkten ist das in den unteren Raengen abgestuft; bei
Spielern mit kleinem Level (<10) sind weniger XP pro Levelpunkt noetig.
"Kleine" Spieler koennen den Levelaufstieg also durchaus noch durch Metzeln
schaffen.
  Wargon

-----------------------------------------------------------------------------



Re^5: Top-Ten nach neuem Levelsystem (Mupfel, 15. Mai 1996, 16:30:55):
~#! rn=Wargon rt=832170150
~#! tid=832082360
Eine Frage bleibt offen: Ab wann wird man Seher? Ist das (mit) vom Level in
einer bestimmten Gilde abhaengig (die geht ja per GuildRating in den GL ein)?

-mupfel-

-----------------------------------------------------------------------------



Re^5: Top-Ten nach neuem Levelsystem (Raffi, 15. Mai 1996, 16:37:50):
~#! rn=Anatol rt=832168700
~#! tid=832082360

Richtig, diese Motivation ist mir ja bekannt, und kann ich ja auch
(weitgehend) unterstuetzen. Nur mit einer dermassen pauschalen Regelung wie 
sie gerade vorgestellt wurde koennte man auf die EP ganz verzicheten.
(das hab ich auch gesagt, ist vieleicht in meinem Vorschlag untergegangen)

Ich habe weder Metzelscripte, noch, gelingt es mir EP anzusammeln (immer so
ca. 300K, obwohl ich schonmal 3 MEP hatte) aber ein derartiges LINEARES
abkanzeln finde ich schlecht - gerade fuer Anfaenger ist das schwierig. Legt
doch nicht immer die Masstaebe bei Alten (Sehern oder Spielern) an!.

So wie ich die sache sehe ist es kein Problem 24 oder 25 Level mit AP+FP+ZT
zu bekommen. Das sind 3 Level fuers Metzeln von 65 MEP nicht gerade schwer-
wiegend oder _BESONDERS_ 'lohnend'.

Zardoz:
Hmm fuer mich war das in dem Artikel von Wargon eigentlich dringestanden :)

Wargon:
Ah ja, diese Regelung der FP gefaellt mir (ich denke zumidest das ich zu den
'alten' Spielern zaehle :) Was mich noch interessiert ist wie diese Stufung
bei den EP aufgeteilt ist. Koenntte ja sein das das meinen Vorstellungen
bereits entspricht.

Gruss
H.

-----------------------------------------------------------------------------



Re^5: Top-Ten nach neuem Levelsystem (Fyt, 15. Mai 1996, 20:41:35):
~#! rn=Anatol rt=832168700
~#! tid=832082360

Also die jetzige Umsetzung des Levelsystems spiegelt vollkommen die
urspruengliche Absicht wider, Scripte unattraktiv zu machen.
Und das ist gut so.

Fyt. (meine Meinung, was sonst)

-----------------------------------------------------------------------------



GL (Lefty, 15. Mai 1996, 21:02:05):
Hm, so wie ich das sehe, wird auf das Metzeln wohl nicht mehr so viel
Wert gelegt. Na gut, wie sieht es dann mit den Kampffaehigkeiten aus ?
 
Wird einem der Skill fuer Fluchtrichtung und Zaubern, welcher erst bei
Level 30 zu 100% funktioniert, nun von Gesamtlevel 30 abhaengig gemacht ?
 
Wenn ja, was ist mit den alten Metzlern ? Behalten die ihre 100 %, wenn
der Gesamtlevel niedriger ist ?
 
Bleibt der EP-Level nebenbei bestehen ?
 
Lefty, der lieber metzelt als questet

-----------------------------------------------------------------------------



Anregung fue Spellfailmeldung (Dhojakt, 16. Mai 1996, 21:08:03):
Wie waere es, wenn statt 'Der Spruch ist missglueckt.\n Du lernst aus Deinem
Fehler.' dort steht: 'Der Spruch ist missglueckt.\n Dein Level ist zu gering,
um aus dem Fehler zu lernen.', wenn man nix mehr dazulernen kann aufgrund zu
geringem level?
Khidar.

-----------------------------------------------------------------------------



LevelPunkte fuer monster (Nixihou, 16. Mai 1996, 23:06:04):
hi,
also das mit den levelpunkten fuer monster finde ich in ordnung. nur wird es 
sowas wie eine liste geben, in der 1. die monster die man noch nicht hat  und
2. die gebiete die man noch nicht hat aufgelistet werden??
eine solche liste faende ich dabei recht hilfreich. (zumal als altseher)
nach dieser liste koennte man sich dann die regionen noch mal genauer
anschauen, in denen man nur "sehr" wenig fp hat 
(prozentangabe hinter den regionen?)
und damit einem mit den Monsternamen nicht zuviel gesagt wird tauchen die
monster, die levelpunkte geben vielleicht nur in der liste auf, wenn man schon
einen gewissen prozentsatz der FP in dem betreffenden gebiet hat??
 
ich weiss ja nicht wie schwer sowas zu programmieren ist, aber hilfreich waere
eine solche liste doch sehr.

nixi, stellt das mal zur diskussion

-----------------------------------------------------------------------------



Neue Level (Orktoeter, 17. Mai 1996, 12:57:22):
Also, ich habe da auch noch so die eine oder andere Frage oder den einen oder
anderen Kommentar..

Wie ist es mit den Vorzuegen, (%e bei Fluchtrichtung etc.) die man hat ?
bleiben die erhalten, oder wird man "gnadenlos" zurueckgestuft ?
Wenn letzteres, wie viele Magier werden dann wieder zu Spielern ?

Die urspruengliche Intention, Metzelskripts zu verhindern ist mit dieser
Massnahme sicherlich erreicht (obwohl ich mir jetzt wohl eins schreiben werde,
denn 500k EP macht man sonst nicht so schnell), nur das haette man auch
erreicht (und zwar 100% sicher) wenn man das MG abgeschafft haette.
Da ja die AP so wichtig werden, sollte man in der AG einen Hinweis darauf
hinterlegen, wo man ueber ftp die Komplettloesungen bekommt, desgleichen duer
die Aktuelle ZT-Liste, da ja auch diese so wichtig sind.
(eine FP-liste wird sicherlich auch nicht ewig auf sich warten lassen, da es
ja auch Magier gibt.....)

Ich meine, was soll das ?
Es gibt das MG schon seit vielen Jahren und bislang war es so, das die EP (bis
auf einen konstanten Faktor durch die AP) fuer die Leveleinstufung
verantwortlich waren. Spielern, die Jahre ihres Lebens damit verbracht haben,
sich diese zu erschlachten (selbst wenn sie dabei nur "stupide" immer die
gleichen Monster gemetzelt haben ((hier kann und soll doch jeder nach seinem
Geschmack gluecklich werden, oder ?)) jetzt zu sagen aetsch, Pech gehabt finde
ich absolut daneben.

sorry fuers layout und die laenge, OrkT, sich ueberlegend ob er aufhoeren oder
scripten soll

-----------------------------------------------------------------------------



Re: Neue Level (Anakin, 17. Mai 1996, 13:04:28):
~#! rn=Orktoeter rt=832330642
~#! tid=832330642
Metzeln ist out, ja klar, und ich hab nun nicht gerade wenig gehauen.
Aber egal. Und die Sache mit den FP-Listen, also die komplette
Liste kann nur ein Erzmagier lesen und damit sind so die ueblichen
Stellen fuer Spielerinfos wie ZTListe, AC-WC o.ae. ausgeschlossen.

Anakin.

-----------------------------------------------------------------------------



Re: LevelPunkte fuer monster (Dhojakt, 17. Mai 1996, 13:10:15):
~#! rn=Nixihou rt=832280764
~#! tid=832280764
Das mit dem Anzeigen koennte man auch auf eine interessantere Art loesen, zB
mit einem Gegenstand (der evtl. als Questbelohnung verteilt wird?), der bei
einem bestimmten Monster anzeigt, ob es dafuer LevelPunkte beim Erstumlegen
gibt oder nicht, und ob ich die Punkte schon habe. Dh, man muss zum Monster
hinlaufen, um zu sehen, ob sich das lohnt.
Just an idea, Khidar.

-----------------------------------------------------------------------------



Re: LevelPunkte fuer monster (Bobo, 17. Mai 1996, 13:37:58):
~#! rn=Nixihou rt=832280764
~#! tid=832280764
Die Forderung nach einer Liste, die all das enthaelt, was man noch nicht
entdeckt hat, ist vergleichbar skurril wie das im bekannten Volkslied
geaeusserte Ansinnen des spanischen Koenigs an Columbus:
'Eins fehlt noch unsrer Gloria - entdeck' er mir Amerika!'
Einen Schritt weitergedacht hiesse das, zu jedem 'noch nicht geschlachteten
Monster' (was heisst das ueberhaupt: noch nicht? was ist das fuer ein
Massstab? das ganze MG eine einzige Gladiatorenquest - nur wer alle killt,
hat bestanden?) eine detaillierte Aufstellung der benoetigten Stats und
Ausruestung, ferner den Median der resultierenden EP und die vom Monster
heimtueckischerweise angewandten spells. Fuer die ganz Mutigen unter uns
waere eine Verbalbeschreibung sicher hilfreich: 'Ein Walddrachen tut Dir
mehr weh als zwei Orkpatrouillen und ein halber Kommandant'.
Desweiteren sollte zur Ausgleichung der Rentenansprueche ('Jahre meines
Lebens habe ich damit verbracht...') ein Ausgleichsfond eingerichtet 
werden, vielleicht finden sich ja privatwirtschaftlich gefuehrte Institute
zur Etablierung eines Erfahrungspunkte-Versicherungs-Systems? 
Spaetestens, wenn in der Friedhofskneipe Essenmarken ausgeteilt werden,
kauf ich mir ein Schlauchboot und fahr damit nach Australien.
Ciao, 
twBs.

-----------------------------------------------------------------------------



Re: Re: LevelPunkte fuer monster (Lifafa, 17. Mai 1996, 13:52:53):
~#! rn=Bobo rt=832333078
~#! tid=832280764
Danke, Bobo, ein herrlicher Artikel...ich habe schon lange nihct mehr so
herzlich gelacht bei der Lektuere der MPA...ich muss mir den ausschneiden ;)

                             Lifafa

-----------------------------------------------------------------------------



Re: Neue Level (Yantro, 17. Mai 1996, 14:45:36):
~#! rn=Orktoeter rt=832330642
~#! tid=832330642

Orkt, wenn das Deine Wahl ist und Du meinst, dass Du wegen jeder inovativen
und guten Neuerung schmollen musst, weil Dein Geist nicht in der Lage ist,
Dich anzupassen, dann loesch Dich wirklich... besser DU machst es ohne grosses
geflenne, statt das catty es macht, weil er Dich beim Skripten erwischt...

                       Yantro

-----------------------------------------------------------------------------



Re: Re: LevelPunkte fuer monster (Fyt, 17. Mai 1996, 15:05:49):
~#! rn=Bobo rt=832333078
~#! tid=832280764

Wo bitte ist Australien? Liegt das hinter Fernwest? Oder eher
Richtung Wueste?

Fyt, wiedermal nichts begreifend.

-----------------------------------------------------------------------------



Ebenen (Beelzebub, 17. Mai 1996, 16:34:14):
Ich finde es ziemlich ungeschickt, dass man, um auf ner Ebene was zu sagen,
neuerdings das ' weglassen kann.
-x? Erzeugt z.B. Die Liste derjenigen die auf Sex lauschen.
Mit -x ? sagt man was auf Sex. 

Beelzebub wollte auch mal seinen Mostrich dazugeben.

-----------------------------------------------------------------------------



Re: Ebenen (Highlander, 17. Mai 1996, 16:36:04):
~#! rn=Beelzebub rt=832343654
~#! tid=832343654
Das ist nicht neu. Das war schon immer so.
  HrT

-----------------------------------------------------------------------------



Re: Re: Ebenen (Beelzebub, 17. Mai 1996, 16:40:37):
~#! rn=Highlander rt=832343764
~#! tid=832343654
Echt jetzt ? Ups...
Is mir wohl nicht aufgefallen weil ich immer -!+ getippt hab , 
damals ,
als die Welt noch in Ordnung und die Ebenen so einfach zu bedienen waren.

Beelzebub *schnueff*

-----------------------------------------------------------------------------



Re^4: Ebenen (Raffi, 17. Mai 1996, 17:42:44):
~#! rn=Beelzebub rt=832345103
~#! tid=832343654

Jammer nicht Belzi, die neuen Kanaele sind ne feine Sache. Jetzt muss nurnoch
abgewartet werden bis der Wildwuchs wieder eingeht (und vieleicht Hate noch
ein bischen treten / streeicheln, bis auch die letzten verbesserungen drinn
sind).

Gruss
H.

-----------------------------------------------------------------------------



Re: GL (Mupfel, 17. Mai 1996, 18:04:31):
~#! rn=Lefty rt=832186925
~#! tid=832186925
Einen Skill, der zu 100% funktioniert, sollte es eigentlich nicht geben...

-mupfel- ('s meinung)

-----------------------------------------------------------------------------



Re^3: LevelPunkte fuer monster (Bobo, 17. Mai 1996, 18:07:45):
~#! rn=Fyt rt=832338349
~#! tid=832280764
Fyt, ich weiss das auch nicht.
Das steht leider nicht in meiner Liste.
Ich hab aber mal einen getroffen, der einen kannte, der sagt, er kaeme
aus Tralien. Seitdem will ich auch mal dahin.
scnr, 
twBs.

-----------------------------------------------------------------------------



Re^6: Top-Ten nach neuem Levelsystem (Catweazle, 17. Mai 1996, 20:46:19):
~#! rn=Mupfel rt=832170655
~#! tid=832082360
Hi!
Der Level ist fuer die Seherwerdung nicht interessant.
Will man Seher werden, gilt die alte Regelung, die EP-Bedingung sollte 
wegfallen. Also: 70% aller APs und ein ueberdurchschnittlicher FP-Wert
sind fuer das Aufsteigen zum Seher noetig.
YTC

-----------------------------------------------------------------------------



TYPE in Hilfeseite (Wise, 17. Mai 1996, 20:55:53):
Zu
HILFE STUFEN
Dort erscheint:
 Zum Erlangen einer hoeheren Stufe ist jetzt auch der Erwerb von Abenteuer-
Punkten notwendig. Dabei sind die Prozent-Angaben auf die Anzahl der zum
Magier/Seher-werden noetigen Abenteuerpunkte zu verstehen. Diese Zahl
wird bei 'liste' in der Gilde 'Abenteuerpunkte' angezeigt. Du kannst auch
in der Gilde 'kosten' tippen, um festzustellen, wie viele Punkte Dir jeweils
noch fehlen.
Wo ist den diese Gilde 'AAbenteuerpunkt'? Oder unter Abenteuerpunkte?
Jedenfalls stimmt da was nicht.

=> Nach Einsicht des verantw. Magiers loeschen.
Gruss Wise.
(Kommt mir bloss nicht mit Typos in meinem Text )
( Flames into the flames)

-----------------------------------------------------------------------------



Re: TYPE in Hilfeseite (Wise, 17. Mai 1996, 20:58:04):
~#! rn=Wise rt=832359353
~#! tid=832359353
Of cours TYPO statt TYPE und Abenteuerpunkte statt Abenteuerpukte

-----------------------------------------------------------------------------



Re: Re: GL (Lefty, 17. Mai 1996, 21:47:28):
~#! rn=Mupfel rt=832349071
~#! tid=832186925
Naja, das betraf eigentlich die Moeglichkeit, einen Skill bis zu 100% lernen
zukoennen. Das heisst, man hat mit Level 30 nicht sofort einen Spruch zu 100%
drauf.
Lefty

-----------------------------------------------------------------------------



Malus beim Sterben (Neue Level) (Escubar, 18. Mai 1996, 10:24:08):
Hallo Wargon,
mal noch eine Frage zum Malus beim sterben:

Soweit ich mitgekriegt habe soll der EP-Verlust wie bisher sein, man aber bis
zum aufholen der EP den Level nicht mehr erhoehen koennen.

Dh wenn man wie Ryne 300 MioEP hat und man stirbt, kann man ne Levelerhoehung
fuer laengere Zeit vergessen ...

Da die EP eh kaum was zaehlen, waers beim neuen System ja am besten sie
moeglichst gering zu halten ;)


Koennte man nicht statt nem EP-abhaengigen Malus einfach nen festen Malus
einfuehren? ZB wenn man stirbt muss man den eigenen Level/10 in EP aufholen,
also zB bei Level 30 3 Mio EP Malus und so weiter ...
Fuer die Level unter 20 braeuchte man natuerlich ne andere Loesung ;)

Finde halt das der Malus sonst in hohen EP-Regionen einfach zu hart wird ...

Eisbaer Escubar

-----------------------------------------------------------------------------



Re: Malus beim Sterben (Neue Level) (Dhojakt, 19. Mai 1996, 13:05:57):
~#! rn=Escubar rt=832407848
~#! tid=832407848
Dazu nur eine kleine Rechnung... ich bin Zauberer und hab inzwischen 8 mal den
Loeffel abgegeben (und noch lange nicht ausgelernt), das wuerde also
8*2.5MEP=20 MEP metzeln bedeuten. Eigentlich sollte das neue System gegen
Scripts wirken, was hiermit sicher nicht erreicht wuerde.
Tschau, Khidar.

-----------------------------------------------------------------------------



kanalhistory (Fyt, 19. Mai 1996, 17:55:21):

Die Kanalhistory von 40 Eintragen hat den Vorteil, dass man in vielen
Fallen das gesamte 'Gespraech' drinhat und den Nahcteil, dass man durch
das 'more' muss. Wie waere es mit nem neuen Kommando -<kanal># oder was
weiss ich, das nur 8 oder 10 Eintrage anzeigt und sich das more erspart?
Sowas ist fuer im Kampf rausgescrollte Meldungen ganz praktisch...

Fyt.

-----------------------------------------------------------------------------



Re: Re: Top-Ten nach neuem Levelsystem (Anakin, 20. Mai 1996, 11:09:18):
~#! rn=Anakin rt=832103654
~#! tid=832082360
Hi,

hat nun schon einer ne ordentliche Begruendug warum die GuildRatings
von den Gilden in denen man war nicht in das neue Levelsystem mit 
eingehen?
Wie sieht es mit den Stufenbegrezung in den Gilden aus? Wenn man z.b.
Level 27 fuer ein Gildentoplevel braucht wird das irgendwann in Zukunft
irgendwann schon mit Sehersein erreicht sein, da mann so viele Ap's
fuer nen Seher braucht? Muss dann das ganze nicht dynamisch werden?
Es war ja fur die Leute gedacht die sich _besonders_ anstrengen und
mehr machen als noetig, aber das ist ja dann nicht mehr aktuell.

Anakin.

Anakin denkt . o O (Typos versauen mir noch mal mein ganzes Leben)

-----------------------------------------------------------------------------



Re: Artikel (Asmodis, 20. Mai 1996, 11:33:41):
~#! rn=Valarian rt=832154836
~#! tid=832154836
Metzeln bildet den Charakter ?? Hmm, ich dachte immer, es waere andersrum :)
Hmm, aber noch etwas, ich habs nicht ausgerechnet, aber kommen die APs
bei der neuen Bewertung nicht etwas schlecht weg ? Dafuer hat man ja 
meistens Tage (oder Wochen) aufgewandt an Gehirnschmalz und Zeit

Naja, just my 3 souls, Asmodis

-----------------------------------------------------------------------------



Re^6: Artikel (Asmodis, 20. Mai 1996, 11:37:55):
~#! rn=Paracelsus rt=832158347
~#! tid=832154836
Wenn man nen Erzmagier kennt, lassen sich FPs aber viel leichter ergaunern
als EPs und APs :)

-----------------------------------------------------------------------------



Re: Neue Level (Asmodis, 20. Mai 1996, 12:00:00):
~#! rn=Orktoeter rt=832330642
~#! tid=832330642
Ja, loescht euch doch, wenn es euch nicht passt, dann wird wieder Platz
auf der Top-Liste :)

-----------------------------------------------------------------------------



Re^7: Artikel (Mupfel, 20. Mai 1996, 12:26:18):
~#! rn=Asmodis rt=832585075
~#! tid=832154836
1. Ich kenne keinen Erzmagier der sowas versuchen wuerde.
2. Auch Erzmagier koennen keine FP setzen (hab ich gesehen, als ich
Sehertestie wollte. Quests setzen war kein Problem, aber die FPs... keine
Chance :-)

-mupfel-

-----------------------------------------------------------------------------



Re^3: Top-Ten nach neuem Levelsystem (Wargon, 20. Mai 1996, 12:39:42):
~#! rn=Anakin rt=832583358
~#! tid=832082360
Es geht nur die aktuelle Gilde ins GuildRating ein, weil man sonst nie die
Moeglichkeit haette, den maximal moeglichen Wert zu erreichen. Und es wuerde
sogar umso schlimmer, in je mehr Gilden man war (insbesondere, wenn man aus
Gilde A frueh austrat, weil eine interessantere Gilde B neu dazukam).
Und das Rating alter Gilden einfach mit einem konstanten Faktor
aufzumultiplizeiern ist auch nicht moeglich, da die einzelnen Gilden den
Austritt durchaus unterschiedlich "bestrafen"; das reicht von 0% bei den
Abenteurern bis zu 40% bei den Klerikern.
Die Stufen fuer Top-Gilden-Posten muessten natuerlich ebenso angepasst werden
wie die Erfolgswahrscheinlichkeiten bei "fluchtrichtung" oder die
Einschraenkung der maximalen Spell-/Skillfaehigkeiten.
  Wargon

-----------------------------------------------------------------------------



Re^4: Top-Ten nach neuem Levelsystem (Anakin, 20. Mai 1996, 12:58:23):
~#! rn=Wargon rt=832588782
~#! tid=832082360
Aeeehh,

zwei Fragen:

Wieso kann ich nicht den maximal moeglichen Wert erreichen?
Ich stell mir das so vor: Ich bin Level 11 bei Chaoten und hab dann
ein GuildRating von 8000 oder so. Das wird im Spieler gespeichert, wenn
ich alle Sprueche 100% koennte haette ich eben 10000. 
So nun tret ich in einen andere Gilde ein, bekomm ich fuer das 
Level das alte Rating (ich hab ja da Erfahrungen gesammelt) und dann
das neue auch noch dazu. Ich seh nicht so das Problem dabei.
Natuerlich muesste man fuer jeden Gilde in der der Spieler war noch 
das rating abspeichern und nicht nur ein zentrales Rating geben, aber 
sooo schwer ist das nicht oder?
Bis jetzt hab ich nur technische Sachen gehoert warum das nicht moeglich
sein soll, aber welche Mudspielaspekte sprechen dagegen, also ich
finde es wesentlich logischer wenn man dafuer belohnt wird ne Gilde
zu wechseln und sich dort nochmal hocharbeitet. 

Anakin.

*gruebel* Irgendwie hat sich die zweite Frage erledigt :)

-----------------------------------------------------------------------------



Re^5: Top-Ten nach neuem Levelsystem (Mahatma, 20. Mai 1996, 13:03:04):
~#! rn=Anakin rt=832589903
~#! tid=832082360

Das wuerde aber heissen, dass ein Spieler, der im Laufe der Zeit immer mal die
Gilde wechselt, tuechtig in der Topliste klettert, dann wechselt jeder Spieler
staendig, ich glaube, das ist nicht Sinn der Gilden.

Mahatma

-----------------------------------------------------------------------------



Re^6: Top-Ten nach neuem Levelsystem (Anakin, 20. Mai 1996, 13:05:53):
~#! rn=Mahatma rt=832590184
~#! tid=832082360
Wie ich auch schon mal geschrieben habe, muss es a) nicht zu 100%
eingehen und evt auch erst ab einem bestimmten Gildenlevel mit-
zaehlen. Ich glaub nicht das sich jemand die Muehe macht
Karate- Chaos- Zauberer zu pushen nur um wirklich Punkte zu machen,
und selbst wenn dem so ist, das Levelsystem soll doch sagen wie gut
man sich auskennt und wenn ne Gilde eingeht dann doch auch die Gilden
in denen man war.

Anakin.

-----------------------------------------------------------------------------



Re^7: Top-Ten nach neuem Levelsystem (Anakin, 20. Mai 1996, 13:06:27):
~#! rn=Anakin rt=832590353
~#! tid=832082360
Ups hab b) vergessen, weiss aber auch nicht mehr was ich schreiben wollte.

Anakin.

-----------------------------------------------------------------------------



Meckerecke (Beelzebub, 20. Mai 1996, 14:29:13):
Aergerst du dich auch, wenn du inner Quest wegen einer doofen Syntax nicht 
weiterkommst, und dir niemand helfen kann, darf oder will ?
Bist du auch der Meinung, dass die Magier zu lange keine Spieler mehr waren
und das Mud einfach zu schwer ist ?
Hat auch dein Uebungspartner 1 Stunde vorm Testat zwei Programme geloescht ?
Wenn du eine dieser Fragen mit Ja beantwortest, dann schalte doch mal fix
den Kanal "Meckerecke" an. Dort kannst du ungestoert deinen Frust loswerden,
ohne deine Mitspieler zu belaestigen (jedenfalls nicht die, die die Meckerecke
nicht interessieren (Moensch, drei dies hintereinander :) ) )

Der Deifi

P.S. Auch ich werde in Zukunft nicht mehr einfach drauflosrufen,
wenn die Magier das Ebenensystem geaendert haben,
sondern diesen fantastischen Kanal benutzen (wenn ich ihn dann noch rechtzeiti
finde) VERSPROCHEN :)

-----------------------------------------------------------------------------



Nur so eine Idee... (Lwaxana, 20. Mai 1996, 16:44:55):
Hi Leute, 
ich haette da mal einen Vorschlag, was die MPA angeht: Viele Aenderungen, die
alle betreffen bekommt man meist zu spaet mit, weil man nicht gleich die
Zeitung liest, oder der betreffende Artikel zu weit hinten in der MPA steht.
Wie waers denn, wenn es eine Rubrik gaebe, die ganz am Anfang der Zeitung
steht, in der nur die Aenderungen (zB die Aender7ung am 'ende' oder an den
Kanae) steht?
Dann kriegt man das auch mal mit, ehe man stirbt, oder seitenweise
Fehlermeldungen bekommt...
Nur mal so als Vorschlag 
Lwax 

-----------------------------------------------------------------------------



Re^8: Top-Ten nach neuem Levelsystem (Anatol, 20. Mai 1996, 19:07:38):
~#! rn=Anakin rt=832590387
~#! tid=832082360
/*

Das GuildRating der nicht aktiven Gilden darf eigentlich gar nicht 
eingerechnet werden.

Hast Du schonmal gesehen, wie gut ein Seher mit Maxstats in der 
Schuettelbilde vorwaerts kommt? Sauf' Dich voll, tippe 20 mal 'erhoehe',
lerne alle Spells - und Du hast bis auf zwei oder drei Sprueche ueberall
ein 'Exzellent' stehen - das Dazulernen geht auch recht fix.

Der Nachteil eines so erhaltenen GuildRatings ist, dass man halt nicht
so dolle Metzeln kann wie als Zauberer/Chaot/Karateka. Soll ich jetzt 'mal
eben' die Gilden alle durchmachen, damit meine LevelPunkte ordentlich
zunehmen? 
*/

Anatol


-----------------------------------------------------------------------------



Re^10: Top-Ten nach neuem Levelsystem (Anakin, 20. Mai 1996, 20:17:49):
~#! rn=Anakin rt=832612178
~#! tid=832082360
Ja klar ist es in manchen Gilde leicht hochzukommen (Bierschuettler z.B.)
aber wenn man ne Gilde wechselt und dann 300-400 Levelpunkte verliert,
das ist _ziemlich_ bloed. Also das ist keine Motivation mal
was anderes auszuprobieren, gerad welche die evt jetzt 
Fluchtrichtung 100% haben, also missen moecht ich das nicht
mehr. Aber evt. wird das ja auch noch geaendert da ja
die Level generell fuer sehr viele mnd. 2-3 fuer
jeden nach oben gehen, wenn ich das recht gesehen habe.

Anakin.

-----------------------------------------------------------------------------



Re^11: Top-Ten nach neuem Levelsystem (Anakin, 20. Mai 1996, 21:15:11):
~#! rn=Anakin rt=832616269
~#! tid=832082360
Noch nen Nachtrag.
Wie ist das mit dem Level? Wird da jedesmal neu berechnet oder
ist das so wei beim alten EP-System, man behaelt das alte Level
bis man mal hoeher kann. Wie werden eigentlich unter Level 20
die Stufen verteilt? ein direktes 'Erhoehe' wird es ja dann auch 
nicht mehr geben. Kurz und gut: 'Ist das neue Level fuer ein
Spieler dynamisch, d.h. passt es sich den Levelpunkten an?'

Fiel mir gerade so auf der Nachhausefahrt ein.

Anakin.

-----------------------------------------------------------------------------



Die Ebenen... (Hate, 20. Mai 1996, 21:19:32):
Ab sofort sind die Ebenen nicht mehr case sensitiv, d.h. gross und
Kleinschriebung einer Ebene ist egal.
Falls jemand keine Ebenen angezeigt gbejommt als Betrteen, dann einmal mit
dene ausloggen und dann ebenen an ebenen an
Das sollte alles bereinigen

Hate.

-----------------------------------------------------------------------------



kwer unidle (Marita, 20. Mai 1996, 21:40:48):
ebendieses bestelle ich hiermit bei unseren freundlichen Erzmagiern! :-)

-----------------------------------------------------------------------------



Re: kwer unidle (Mupfel, 21. Mai 1996, 00:13:47):
~#! rn=Marita rt=832621248
~#! tid=832621248
Nur ab einem bestimmten Magierlevel, sagenwer 65 ? :-)

-----------------------------------------------------------------------------



Re^9: Top-Ten nach neuem Levelsystem (Fyt, 21. Mai 1996, 01:03:09):
~#! rn=Anatol rt=832612058
~#! tid=832082360
Wenn DU die letzten 20% in allen Karatetechniken nochmal lernen
willst, dann kannst Du das von mir aus gerne tun, Anatol.

Fyt, das nicht noch mal erleben wollend.

-----------------------------------------------------------------------------



zweiti-mpa (Orktoeter, 21. Mai 1996, 09:52:25):
Wie waere es, wenn man seinen zweiti (so man ihn gekennzeichnet hat) auch zum
mpa lesen nutzen koennte ?
Soll heissen Artikel die man mit dem erstie gelesen hat sind beim zweiti auch
gleich als gelesen gekennzeichnet und umgekehrt.
Dafuer muesste natuerlich der hier auch schon mal vorgeschlagene Punkt, das
man einen zweiti als einem bestimmten erstie zugehoerig kennzeichnet erfuellt
werden.
OrkT.

-----------------------------------------------------------------------------



Re^12: Top-Ten nach neuem Levelsystem (Wargon, 21. Mai 1996, 10:07:55):
~#! rn=Anakin rt=832619711
~#! tid=832082360
  Hi!
Wieso sollte es ein "erhoehe" nicht mehr geben? Der einzige Unterschied (in
dieser Hinsicht) besteht darin, dass beim Erhoehen halt nicht EP und AP
abgefragt werden, sondern die Stufenpunkte.
Die jetzigen Level werden bei der Umstellung erhalten bleiben; es kann halt
sein, dass man mit der naechsten Erhoehung etwas laenger warten muss, weil man
noch nicht genug Stufenpunkte hat (umgekehrt kann es natuerlich auch sein,
dass man sofort nen ganzen Schwung nacherhoehen kann ;)
  Wargon

-----------------------------------------------------------------------------



Re: Nur so eine Idee... (Boing, 21. Mai 1996, 10:08:19):
~#! rn=Lwaxana rt=832603495
~#! tid=832603495
HAlte ich fuer eine gute Idee, allerdings sollten da dann nur wirklich
wichtige Aenderungen drin stehen, nicht so Sachen wie 'Im Vland ist mal
wieder ein Baum umgefallen'. Eine Rubrik 'aenderungen' wuerde auch 
alphabetisch vor 'allgemein' stehen, kaeme also als erstes dran.
  Boing

-----------------------------------------------------------------------------



Re^7: Top-Ten nach neuem Levelsystem (Raffi, 21. Mai 1996, 12:41:54):
~#! rn=Anakin rt=832590353
~#! tid=832082360

Warum die alten Gildenfaehigkeiten nicht in die Gesammtstufe
eingehen sollen ?

Nun schliesslich vergisst man alle Faehigkeiten einer Gilde
wenn man sie verlaesst - Warum sollten die dann noch in die
Gesammtstufe eingehen?

Die Stufe soll dich den Charakter (SpielerFIGUR) beschreiben
und nicht den SPIELER selbst!

Gruss
H.

-----------------------------------------------------------------------------



Re^8: Top-Ten nach neuem Levelsystem (Anakin, 21. Mai 1996, 12:47:57):
~#! rn=Raffi rt=832675314
~#! tid=832082360
Also wenn ich sie vergessen wuerde, dann muessten alle
Skills beim wiedereintritt auf 0 sein. Und dem ist nicht so.

Anakin.

-----------------------------------------------------------------------------



Re^9: Top-Ten nach neuem Levelsystem (Wargon, 21. Mai 1996, 12:58:11):
~#! rn=Anakin rt=832675677
~#! tid=832082360
Seht es doch einfach so: Da der Spieler selbst seine Gildeneinstufung kaum
subjektiv beurteilen koennte, geht die Anfrage an die Vorderen seiner Gilde.
Und die werden einen Teufel tun, sich auch noch um das Ansehen des Spielers in
den Konkurrenzgilden zu scheren.
Ich hoffe, das reicht als Erklaerung... ;)
  Wargon

-----------------------------------------------------------------------------



Neues Stufensystem aktiv!! (Wargon, 21. Mai 1996, 14:32:47):
  Hi!
Jetzt ist es passiert: das neue Stufensystem ist aktiviert.
Was aendert sich dadurch?
Die groesste Aenderung ist sicher die Abwertung der Erfahrungspunkte; als
"Ersatz", zumindest was den Stufenaufstieg angeht, dienen nun die Stufen-
punkte. In diese gehen Abenteuerpunkte, Forscherpunkte, gefundene ZTs, die
Einstufung in der Gilde und (zu einem SEHR kleinen Teil) die Erfahrungs-
punkte ein.
Da sich im Laufe der Zeit der durschnittliche Level nach oben verschieben
wird, ergeben sich einige Aenderungen im Erfolg der Fluchtrichtung und der
Beschraenkung einiger Faehigkeiten. Die Grenze liegt dort nicht mehr bei
Level 30, sondern (zumindest vorerst) bei Level 35.
Euer eigener Level aendert sich durch die Umstellung NICHT!
Das Kriterium zum erfolgreichen Stufenaufstieg auf Level <x> sind jetzt
100*<x> Stufenpunkte; der Aufstieg erfolgt wie gehabt in einer Gilde 
eurer Wahl mit "erhoehe".
Die Kriterien, um Seher/Magier zu werden, bleiben bestehen; als muesst ihr
auch weiterhin 80% der AP, 1000000 EP und mehr FP als der Durschnitt haben.
Naeheres erfaehrst Du mit "hilfe stufenpunkte" und "hilfe stufen".

  Wargon

-----------------------------------------------------------------------------



Re^7: Artikel (Schrumpfi, 21. Mai 1996, 14:55:41):
~#! rn=Asmodis rt=832585075
~#! tid=832154836
HA! Soll das heissen, die Erzgauner geben Spielerhilfe? Soso. Loescht sie,
degradiert sie, steinigt sie!
Schwarz-Lila Stern S

-----------------------------------------------------------------------------



Re: Neues Stufensystem aktiv!! (Terrorist, 21. Mai 1996, 14:58:48):
~#! rn=Wargon rt=832681967
~#! tid=832681967

Sagt mal koennt ihr euch entscheiden?

Was soll das um Seher zu werden brauch ich 2000 Stufenpunkte , 1000000 eps und
1588 Aps?
ALso ich bin der meinung entweder stufenpunkte oder 1000000 eps und 1588 aps,
aber beides ist bescheut.
ICh bitte euche ueberdenkt das nochmal so wuedre mir das keine spass machen.

Terrorist muss jetzt nochmehr machen als vorher.

-----------------------------------------------------------------------------



Re: Neues Stufensystem aktiv!! (Wargon, 21. Mai 1996, 15:56:47):
~#! rn=Wargon rt=832681967
~#! tid=832681967
Nachtrag: Bei einigen Leuten sanken die Stufenpunkte (vor allem beim Kaempfen)
etwas ab. Das liegt an den Beschraenkungen der Maximalfaehigkeiten einiger
Sprueche und Faehigkeiten.
Da die 100%-Grenze von Level 30 auf Level 35 angehoben wurde, sinkt der
Maximalwert fuer einen festen Level natuerlich ab. Somit werden die
Faehigkeiten eventuell abgestuft, da der alte MAximalwert hoeher lag als der
jetzige. Das passiert (pro betroffenem Spruch) nur EINMAL, und zwar bei der
ersten Nutzung bzw. beim ersten Fehlschlag.
Die Abnahme fuehrt zu einer kleineren Gildeneinstufung, was wiederum zu
weniger Stufenpunkten fuehrt.
  Wargon.

-----------------------------------------------------------------------------



huch (Todesengel, 21. Mai 1996, 18:56:16):
Aeh, ich bin gerade ziemlich erschrocken ...
 
nehmen wir mal an, ich haette alle ap, fp, zt ... ich kann nur noch 
stufenpunkte durch ep erhalten ...
 
dann muss ich bei tod einen malus von 50 stufenpunkten wegmachen ...
 
das sind 50 x 500 k-ep = 25 Millionen Ep ???
 
stimmt das so, oder habe ich da nen denkfehler ?
 
wenn, dann wuerde ich es besser finden, wenn der malus wieder weg ist, 
wenn man zumindest die ep auch wieder ausgeglichen hat.
 
Todesengel
 

-----------------------------------------------------------------------------



Das ist ja wohl aetzend (Valarian, 21. Mai 1996, 22:13:59):
Das neue System ist ja wohl oberscheisse. Wenn das gegen Scripten sein soll,
kann ich ja nur lachen. Jedenfalls aerger ich mich masslos, dass meine
gildenfertigekeiten sinken, sobald ich einen zauberspruch mache. Was soll denn
das? Ich hab mich an alles gehalten, worauf es vorher ankam und hab eiwg
gebraucht so viele sprueche auf perfekt zu bringen und dann macht man einmal
einen dpruch und die fallen und ich verliere dadurch noch sps. Das ist ja wohl
obermist.

Total veraergert, Val.

-----------------------------------------------------------------------------



Re: Re: Neues Stufensystem aktiv!! (Schoko, 21. Mai 1996, 22:23:52):
~#! rn=Wargon rt=832687007
~#! tid=832681967
nu wollt ich doch auch mal was sagen!

seit das neue stufen-system eingfuert wurde kann man des oefteren beobachten,
wie
irgendwelche (?) leut in die gilde kommen...der bildschirm scrollt.... und zu
lesens steht:
.... erhoeht auf level 20
.... erhoeht auf level 21
.... erhoeht auf level 22
....
....
....
das geht teilweise bis zu 15 stufen lang!!!!!!!!

da frag ich mich: KANN DAS DER SINN DER NEUEN STUFEN SEIN?????

als *Neuling*  fuehl ich mich da etwas veraeppelt, denn mir fehlen nach wie
vor 
die selben StP :(

schoko (dau)

-----------------------------------------------------------------------------



Re: Das ist ja wohl aetzend (Dhojakt, 22. Mai 1996, 06:37:32):
~#! rn=Valarian rt=832709639
~#! tid=832709639
Ja, da man viel Zeit in die Uebung der Spells gesteckt hat, koennte das ruhig
so programmiert werden, dass man bis zum Wieder-Erreichen des noetigen Level
die Spellfertigkeit 'versteckt' aufbewahrt wird und nicht einfach
abgeschnitten. Und das wurde nicht voher erwaehnt, da haette ich mir das ueben
naemlich sparen koennen. Und noch ne Frage: in der Chaosgilde konnte man mit
dem alten Level 26 Spells auf perfekt haben, wenn ich das neue Level 30 auf
das alte umrechne kommt da 26,6 raus, aber meine Spells hat es mir trotzdem
auf 'So gut wie perfekt' runtergesetzt, kann das mal bitte einer erklaeren?
Nok.

-----------------------------------------------------------------------------



Neues aus der Geschaeftswelt (Bendeigid, 22. Mai 1996, 11:37:52):
Im Namen der Ladenbesitzervereinigung MorgenGrauen n.e.V tue ich hiermit kund:

Einige Haendler haben erkannt, dass Ruestungen egal welchen Typs, die
bestimmte Qualitaeten aufweisen, hohen Sammlerwert haben oder erhalten
koennen. Dies haben sie ihren Kollegen erzaehlt, die nun natuerlich wie die
wilden sammeln, was auch nur annaehernd gut genug ist.

Die Ladenbesitzervereinigung MorgenGrauen n.e.V. bedauert, dass es zu einigen
Engpaessen (es gibt nix mehr) bei der Versorgung mit guten Ruestungen kommt,
ist aber nicht bereit, auf die erzielten Gewinne durch Privatsammlungen zu
verzichten.
 Bedauernd, i.A.
                   Bendeigid

P.S.: Klartext: Ab einer bestimmten Ruestungsklasse wird eben alles
einkassiert, das verkauft wird, analog zu dem, wie es bei Waffen auch schon
laenger gilt.

-----------------------------------------------------------------------------



Re: Neues aus der Geschaeftswelt (Asmodis, 22. Mai 1996, 16:29:43):
~#! rn=Bendeigid rt=832757872
~#! tid=832757872
Wo wohnen denn diese Ladenbesitzer ? Man koennte ja mal in ihr Lager
einbrechen :)

-----------------------------------------------------------------------------



Ebenen (Acrimon, 22. Mai 1996, 17:25:31):
Also, die neuen Ebenen sind schon gut, aber sie haben einen Nachteil
gegenueber den alten:

-a 'Nibelheim' heiszt das
-a :-)

war frueher:

[Allgemein:Acrimon] 'Nibelheim' heiszt das
[Allgemein:Acrimon] :-)

und jetzt erscheint:

[Allgemein:Acrimon] Nibelheim' heiszt das
[Allgemein:Acrimon -)]

Also wenn ein Leerzeichen vor ' und : und aehnlichen Zeichen kommt, dann soll
das bitte bedeuten, das der Rest gesagt wird!

Danke,
Acrimon der Rote Ritter

-----------------------------------------------------------------------------



Re: Ebenen (Jasper, 22. Mai 1996, 19:33:29):
~#! rn=Acrimon rt=832778731
~#! tid=832778731
und wenn ein z direkt auf ein s folgt sollte das durch ss ersetzt werden.

-----------------------------------------------------------------------------



Re: Re: Ebenen (Fyt, 23. Mai 1996, 00:19:20):
~#! rn=Jasper rt=832786409
~#! tid=832778731

Es sei denn, es handelt sich um Worte wie 'Auszubildender' etc...
Alternativ koennte man auch bei Acrimon alle Buchstaben durch ' '
ersetzen, ich glaube, das loest das urspruengliche Problem auch.

Fyt.

-----------------------------------------------------------------------------



Neues vom Leben nach dem Tode (Wargon, 23. Mai 1996, 14:03:27):
  Hi!
Da der Stufenpunkt-Malus bzw. die Art seiner Abarbeitung wohl nicht ganz das
Gelbe vom Ei war, faellt er jetzt weg.
Der uebliche Erfahrungspunktanteil wird allerdings weiterhin abgezogen (d.h.
1/3 bei Nichtsehern, 1/(Level-17) bei Sehern).
Da allerdings durch das neue System der Erfahrungsverlust recht leicht zu
verschmerzen ist, hat der Tod (bzw. das Leben nach dem Tod) nun eine andere
Auswirkung: Man tritt naemlich geschwaecht wieder ins Leben ein; will sagen:
die Stats sind reduziert.
Man hat nach der Reinkarnation (sprich: nach "bete") jeden seiner Stats auf
3/4 des Wertes vor dem Tod. Ein Minimum von einem Punkt pro Stat ist
allerdings garantiert.
Im Laufe der Zeit regenerieren sich die Stats wieder. Die Dauer haengt davon
ab, von wo nach wo regeneriert wird (Von 1->2 gehts schneller als von 19->20).
In die Berechnung der Abzuege gehen nur die "ZT-Stats" und eventuell noch
vorhandene Abzuege vom letzten Tod ein. Rassenboni, Aenderungen durch
Damit das ganze bei euch aktiv wird, muesst ihr einfach "ende" tippen oder bis
zum naechsten Reboot warten ;)
  Weiterhin schoenes Sterben,
    Wargon

-----------------------------------------------------------------------------



Re: Neues vom Leben nach dem Tode (Engywuck, 23. Mai 1996, 16:32:05):
~#! rn=Wargon rt=832853007
~#! tid=832853007
Hm, geht die Regeneration "automatisch", oder muss man da irgendwas fuer tun?

Engy

-----------------------------------------------------------------------------



Re: Neues vom Leben nach dem Tode (Predator, 23. Mai 1996, 18:48:39):
~#! rn=Wargon rt=832853007
~#! tid=832853007
Die beste Nachricht seit langem
Predator, schreibt kurze, dafuer aber sinnlose Artikel

-----------------------------------------------------------------------------



Re: Re: Neues vom Leben nach dem Tode (Asmodis, 23. Mai 1996, 19:15:20):
~#! rn=Engywuck rt=832861925
~#! tid=832853007
geht automatisch, man muss nur die Zeit 'absitzen' :)
Beobachter hat es schon getestet

-----------------------------------------------------------------------------



Re: Re: Ebenen (Kretek, 23. Mai 1996, 19:20:26):
~#! rn=Jasper rt=832786409
~#! tid=832778731
**lach**



Dieser Artikel wurde maschinell erstellt.
Er ist ohne Siegel oder Unterschrift gueltig.

-----------------------------------------------------------------------------



Re: Re: Neues vom Leben nach dem Tode (Yantro, 24. Mai 1996, 08:19:17):
~#! rn=Predator rt=832870119
~#! tid=832853007

Ob das SOOO toll ist, dass sich Leute ueber Nacht ihre stats eridlen koennen
wage ich zu bezweifeln.. ich weiss nicht sicher, wie es geregelt ist, aber ich
denke, dass der Spieler dafuer zumindest aktiv sein sollte....

               Yantro, schiesst, ohne nachzuschauen

-----------------------------------------------------------------------------



stups-schwankung (Earendil, 25. Mai 1996, 00:11:02):
hi, 
also ich bin neulich 4 mal hintereinander gestorben, was mir deftige stat-
abzuege beschehrt hat.
also hab ich das ohne mich zu bewegen im elfendorf abgeidelt.
ich konnte dabe schwankungen meiner stufenpunkte von 2720 bis 2731 und wieder 
runter auf 2724 beobachten. 
koennte mir mal jemand diese schwankungen erklaeren? gehen die zt's in der 
zaehlung verlohren oder was?? zumal mein gildenrating sich nicht veraendert 
hat.

earendil, raesel ueber raetsel dankt im vorraus fuer ne erklaerung!

-----------------------------------------------------------------------------



Stups (Anakin, 25. Mai 1996, 23:02:53):
Hi,

Gibt es ne Begruendung dafuer, dass man Stups verlieren kann?
Eigentlich sollte man die doch nur bekommen oder?
Wer es nachvollziehen will, mal in der Lupiekneipe was
trinken, man verliert 7 Stups.
Also sowas sollte nicht passieren oder?

Anakin.

-----------------------------------------------------------------------------



Re: Stups (Jof, 26. Mai 1996, 03:28:40):
~#! rn=Anakin rt=833058173
~#! tid=833058173

 Das duerfte nicht reproduzierbar sein :)

 Es soll fuer den Spieler nicht ohne weiteres erkennbar sein, wann genau er
einen FP gefunden hat; daher gehen die FP mit einer gewissen, zufaelligen
'Unschaerfe' in die Stups ein. Der Einbezug der FPs in die Stups erfolgt in
unregelmaessigen Zeitabstaenden und bei jedem Spieler zu verschiedenen
Zeitpunkten; dabei aendert sich auch der Grad der Unschaerfe in einem
gewissen Rahmen. Dies bewirkt leichte Schwankungen in den Stups, die
gering genug sind, um keine ernsten Auswirkungen zu haben. Dass es genau
beim Trinken in der Kneipe passierte, war nur ein Zufall :)

 Jof

-----------------------------------------------------------------------------



Stufenpunkte (Xaos, 27. Mai 1996, 17:12:10):
Hi,

mich wuerde mal interessieren wie die Monster-Stups technisch
berechnet werden. Wird im Spieler gespeichert welche ich schon umgelegt habe?
Oder gibt es zentral ne Stelle? Richtet sie die Zahl der Stups
nach dem Level des MOnsters? Wird das expilizit gesetzt oder
automatisch berechnet?
Nur mal so interessehalber....

Xaos.

-----------------------------------------------------------------------------



Re: Stufenpunkte (Fyt, 27. Mai 1996, 18:09:18):
~#! rn=Xaos rt=833209930
~#! tid=833209930

Gedacht war wohl urspruenglich mal, dass die Monster als Bitfeld im
Spieler abgespeichert werden... andererseits war auch daran gedacht worden,
den Altspielern einen Teil der FP aus den geloesten Quests zuzusprechen...

Fyt...

PS: ceter... aua....

-----------------------------------------------------------------------------



Stufensystem (Chicola, 28. Mai 1996, 10:05:43):
Hi

1. waere es nicht gut, ein Tool zu haben, mit dem man angezeigt bekommt,
WELCHE Monster man schon gut geschrieben bekommen hat. Denn zum einen ist
sowas ja bei APs(Gilde) FPs und ZTs ( INFO) eingerichtet und zweitens habe ich
keine Lust, nebenher noch eine Datenbank ueber die erledigten Monster zu
fuehren. ( Man kann ja ALLE Monster registrieren um stufenpunktemissbrauch zu
verhindern)

2. werden schon vergebene ZTs in Stufenpunkte umgerechnet ?? ( Denn das
erneute Suchen duerfte fuer den Spieler SEHR laestig und technisch soweit ich
weiss UNMOEGLICH :) sein.

3. Wird mittlerweile wenigstens ein prozentualer Anteil an Stufenpunkten fuer
Altseher vergeben ??

Chicola, ist schon so lange Seherin, dass sie eigentlich Uroma ein muesste :)

-----------------------------------------------------------------------------



FP in geloesten Quests (Fyt, 29. Mai 1996, 01:10:05):

Koennte sich bitte noch mal einer der verantwortlichen dazu
aeussern, wieso es die FPs aus geloesten Quests nicht zu nem
gewissen Anteil 'automatishc' gibt?

Die Idee war ja wohl Scriptverbot, mittlerweile lohnen sich
aber ausgerechnet QUestscripts ungemein, da 'n paar Hundert
Charaktere noch mal durch 'n paar Dutzend Quests geschleift
werden sollen.

Fyt.

-----------------------------------------------------------------------------



Re: FP in geloesten Quests (Hadra, 29. Mai 1996, 01:16:16):
~#! rn=Fyt rt=833325005
~#! tid=833325005
also

a) sind scripts doch bitterboes verboten ;) und 
b) muessen alle alten scripts noch noch um die wueste detailsuche
   erweitert werden.

sag dauert ein paar tage, solange kann das noch beraten werden 

hadra - bekommt garantiert wieder negative kritiken

-----------------------------------------------------------------------------



Re: Re: FP in geloesten Quests (Fyt, 29. Mai 1996, 01:20:15):
~#! rn=Hadra rt=833325376
~#! tid=833325005

Detailsuche? Das war unt.tf oder? Oder hiess das seit voriger Woche
unt2.tf? *gruebel*

Fyt, mit Herrn Alzheimer redend...

-----------------------------------------------------------------------------



Re: Neues vom Leben nach dem Tode (Wargon, 29. Mai 1996, 13:25:09):
~#! rn=Wargon rt=832853007
~#! tid=832853007
  Hi!
Nach Beheben eines kleinen Fehlers werden die Stats jetzt nur noch nach
"richtigen" Toden reduziert; "Questtode" (zB. im Geisterschloss oder in Tarko
Reub) reduzieren die Stats nicht mehr.
Das ganze aber erst nach "ende" oder nem Reboot.
  Wargon

-----------------------------------------------------------------------------



Re: Re: Neues vom Leben nach dem Tode (Acrimon, 29. Mai 1996, 15:36:54):
~#! rn=Wargon rt=833369109
~#! tid=832853007
Hi!

Das halte ich fuer SEHR falsch Wargon; denn in diesen Quests (Geisterschloss,
Tarko Reub und Rasselkette) MUSS man sterben, und es sollen ECHTE Tode sein,
in denen man alle Nach- und Vorteile des Todes geniesst (auszer eben
permanente Nachteile - deshalb werden dann keine EP abgezogen).
Du siehst das falsch Wargon, Questtode SIND "richtige" Tode und SOLLEN
"richtige" Tode sein - wozu sonst programmieren sie denn die Magier?

Ist doch kindisch, wenn man in einer Quest sterben soll und dann doch nicht
gestorben ist - weil ein paar Spieler darueber gemeckert haben.
Und der Statverlust ist ja nicht permanent; die Spieler verlieren nichts.

Ein Tod, der kein Tod ist? Das wertet diese Questen ganz gewaltig ab in der
Spielatmosphaere.

Fuehr den Statverlust gleich wieder ein, sonst machen mir solche Questen
keinen Spasz mehr :-)


Acrimon, der Rote Ritter

-----------------------------------------------------------------------------



HMM :) (Chicola, 29. Mai 1996, 20:41:31):
Huhu :)

Eben ist mir forlgendes passiert:
Im Orklager kille ich den Orkhenker -> 1 Stups
... weitere Monster ...
in der SSP kille ich den Eisriesen(unter dem Killerpopel) und er zieht mir 6
(!!!) Stupse ab
wieder im Orklager besiege ich zum zweiten mal den Orkhenker -> + 2 Stupse :) 

Hat jemand dafuer ne Erklaerung ??

Wonach richen sich die Stupse ?? Nach den XPs die ein Monster beim Tot
vergibt, oder nach den ( etwas zufaelliger verteilten ) XPs die beim gesammten
Monsterkill erworben werden.

Bis bald                 Chicola

-----------------------------------------------------------------------------



Re^3: Neues vom Leben nach dem Tode (Caradhras, 29. Mai 1996, 21:42:46):
~#! rn=Acrimon rt=833377014
~#! tid=832853007
Jau, genau derselben Meinung, Acrimon, Tod ist Tod, sonst koenntest
Du gleich da die Sterbeidee rausnehmen, ich find es huebsch so wenn
man dabei so schoen sterben kann. :)

      pfueff    Caradhraf

-----------------------------------------------------------------------------



Re: Re: Stups (Marita, 30. Mai 1996, 00:08:16):
~#! rn=Jof rt=833074120
~#! tid=833058173
o. g. Artikel beantwortet wohl die meisten von Chicolas Fragen in dieser
Rubrik vom vergangenen Abend, 20:41
Kurzbeitrach Marita

-----------------------------------------------------------------------------



Re: Re: Stups (Chicola, 30. Mai 1996, 07:25:27):
~#! rn=Jof rt=833074120
~#! tid=833058173
Hi :)

Der Artikel von Jof hat leider gar nichts mit meinen Fragen zu tun :(
Es geht nicht um unregelmaessigen Zuwachs, sondern um Verlust! Es geht um
MonsterStupse und nicht um FPs ( ich hab nichmal schaue zwischendurch getippt)
und es ging auch noch um die Verteilung der MonsterStupse :)
Sorry Marita

Ciao       Chicola :)

-----------------------------------------------------------------------------



Re^3: Stups (Har, 30. Mai 1996, 07:50:36):
~#! rn=Chicola rt=833433927
~#! tid=833058173
Hmm, die Stupse haengen doch acuh mit den FPs zusammen, wenn die letzteren
dann randomized schwanken, geht das auch auf die Stupse, oder sehe ich das
falsch?, das wuerde dann auch mit Jofs Artikel uebereinstimmen, oder nicht?

Har (frueh am Morgen)

-----------------------------------------------------------------------------



Re^4: Stups (Chicola, 30. Mai 1996, 08:19:03):
~#! rn=Har rt=833435436
~#! tid=833058173
Ich dachte, dass man FPs die man einmal hat ( ueber einen laengeren Zeitraum
gesehen) auch wirklich hat ! und nicht staendig FPs verliert und dazubekommt
:( Ist das FALSCH ??

Chicola

-----------------------------------------------------------------------------



Re^5: Stups (Bendeigid, 30. Mai 1996, 08:40:47):
~#! rn=Chicola rt=833437143
~#! tid=833058173
Also nochmal fuer alle zum Mitschreiben:
Ja, man behaelt alle FPs, und ja, man behaelt auch die TATSAECHLICHE Anzahl an
Stups, ABER (!):
Die Stups, die du in deinem info findest sind NICHT die tatsaechlichen!!!!!
(Dreifach unterstrichen!)
Es waere ja sonst, wie ihr schon alle gemerkt habt, ziemlich simpel, sich die
Dinger auszurechnen, wo es was gegeben hat, besonders FPs. Har hat also
voellig recht, denn die mit einer gewissen Streuung berechneten Stups im Info
sind vonder aus FP berechneten eben mit abhaengig. Das fuehrt zu einem netten
Auf und Nieder der Stups. 
Die so berechnete Anzahl hat allerdings NICHT so grosse Schwankungen, dass sie
ausser in Ausnahmefaellen zu Behinderungen beim Aufsteigen etc. fuehren
sollte. 
Schwankungen, die allerdings um 100 Stups gehen scheinen auch mir auf Bugs
zurueckzufuehren zu sein (bzg: Skipper)

Z'par Servu,
         Bendeigid

P.S.: Wie gross die Schwankung sein kann weiss ich nicht, wird auch vermutlich
nicht bekannt. Ausserdem kenn ich mich so gut wie gar nicht im MG aus.

-----------------------------------------------------------------------------



Re^6: Stups (Lechuck, 30. Mai 1996, 08:43:59):
~#! rn=Bendeigid rt=833438447
~#! tid=833058173
Da Ihr alle so gut bescheid wisst:
Die Dinger schwanken, ja..
ABER:
Es gibt noch MEHRERE Bugs in der Stups-Berechnung...
Magier sind verstaendigt :) warten wir's ab.
Kurzbeitrach vom genauso gescheiten wie alle anderen auch LeChuck

-----------------------------------------------------------------------------



Wargon STUPSt Dich an (Wargon, 30. Mai 1996, 10:28:59):
  Hi!
Um mal meinen Senf dazuzugeben:
Es gab da so zwei bis drei fiese kleine Bugs um ZT-Modul des Spielers, die
u.a. dazu fuehrten, dass a) abgegraste ZT-Stellen nicht gespeichert wurden und
b) man an nicht aktiven ZT-Stellen unendlich viele Punkte sammeln konnte. Das
Modul ist zwar mittlerweile korrigiert, die Aenderungen werden aber erst beim
naechsten Reboot bei jedem aktiv (es sei denn man macht zwischendurch mal
"ende"; wer das aufgrund der "Todesstrafenaenderung" gestern schon gemacht
hat, hat schon das korrigierte [ich verkneife mir lieber die Bezeichnung
"bugfreie"] ZT-Modul eingebaut).
Durch die Aenderungen koennen die Stufenpunkte durch bei a) nicht gespeicherte
ZT-Stellen oder bei b) ungerechter Weise gesammelten Punkte wieder in den
Keller gehen.
  Wargon

-----------------------------------------------------------------------------



Reboot (Silvana, 30. Mai 1996, 10:57:24):
So, ausnahmsweise mal vorweg:
Es hat ein paar ueble Bugs im Stufenpunkte-System gegeben (siehe dazu 
auch aeltere Artikel in den meisten Rubriken). Diese machen, um nicht 
zu viel Schrott zu produzieren, einen Reboot noetig.

  Sorry, Silvana

-----------------------------------------------------------------------------



Re^5: Stups (Jof, 30. Mai 1996, 12:24:59):
~#! rn=Chicola rt=833437143
~#! tid=833058173

 Die FPs behaelst Du, aber es geht nicht faktor*FP in die Stupse ein, sondern
faktor*(FP+x-random(x)) mit einem kleinen x. Diese Neuberechnung wird aber
nicht jedesmal vorgenommen, sondern nur ab und zu; daher schwanken die Stupse
um +/-x um den wirklichen Wert.

 Jof

-----------------------------------------------------------------------------



Re^6: Stups (Jof, 30. Mai 1996, 12:26:09):
~#! rn=Bendeigid rt=833438447
~#! tid=833058173
 
 Schwankunen um 100 oder mehr Stups sind definitv bugbedingt, Wargon hat auch
bereits den vermutlich verantwortlichen Bug beseitigt; daher der reboot
heute.

 Jof

-----------------------------------------------------------------------------



Re^6: Stups (Jof, 30. Mai 1996, 12:28:29):
~#! rn=Jof rt=833451899
~#! tid=833058173

 faktor*(FP+x-random(2*x)) muss es heissen ...

 Jof

-----------------------------------------------------------------------------



Re: Wargon STUPSt Dich an (Asmodis, 30. Mai 1996, 14:49:13):
~#! rn=Wargon rt=833444939
~#! tid=833444939
Also ich hab nicht gemerkt, dass man da mehrmals stups bekommen koennte,
obwohl ich immer oefters geschaut hab. Ging das nicht bei allen 
Spielern ?

-----------------------------------------------------------------------------



Re: Re: Wargon STUPSt Dich an (Wargon, 30. Mai 1996, 14:59:11):
~#! rn=Asmodis rt=833460553
~#! tid=833444939
Ja, aber nur an Stellen, an denen mal ein Trank vorgesehen war (inkl. dem
dazugehoerigen Aufruf im Spieler), der aber nie offiziell als ZT eingetragen
wurde. Bei normalen ZTs ging das nicht.
  Wargon

-----------------------------------------------------------------------------



stups (Anakin, 30. Mai 1996, 18:48:07):
Hi,

ich hab bei den Fehler so einiges nicht verstanden und ich konnte
aus irgendwelchen Antworten nicht schlau werden. Nochmal bitte
fuer ganz Dumme:
Ich hatte 43xx Stups, dabei waren schon ein paar ZTStellen dabei
NEIN ich hab keine Ende gemacht, NEIN ich hab keine Stelle
mehrmals ausprobiert und dadurch mehrmals Stups bekommen.
Nun wurden mir ca. 450 Stups abgezogen, so ok. Ein Bug
koennte gewesen sein, dass ich ein Monster kenne was
bei (fast) jedem Schlag 2 Stups gab, aber das hab ich erst
hinterher bemerkt als es tot war und ich mich wunderte
warum ich aufeinmal 250 oder so zuviel hatte. Ok, das
die weg sind ist ok. Nun ist es sicher auch Pech fuer
mich das mir da mehr abgezogen worden sind, was ich nicht
nachvollziehen kann, aber was solls. 
Nun geh ich testhalaber zu ner ZT-Stelle die ich schonmal
abgesucht habe, und siehe da ich bekomme wieder mal 2 Stups.
Heisst das a) Ich muss alle meine ZT-Stellen die ich bis
dato schon hatte wieder abgrasen? oder b) Ist da noch ein Bug?
Mit a) wuerde ich mich ganz schoen verschaukelt vorkommen.
Btw. ich hab zwischendurch zwei Heiltraenke gefunden. Ich 
HOFFE das die irgendwie nicht untergegangen sind, was weiss
ich.
Schoen waere es wenn ein Magier mir was deutlich zu a) und
zu den Heiltraenken sagen kann.


Anakin.


-----------------------------------------------------------------------------



Re: stups (Skipper, 30. Mai 1996, 20:43:38):
~#! rn=Anakin rt=833474887
~#! tid=833474887
Hi, 

bei mir ist es auch so, die ganzen zt, die ganzen zt-points, die ich in den
letzten tagen gesammelt habe, scheinen weg zu sein ...
wenn ich die zt's jetzt nochmal abgehe bekomme ich wieder je 2 punkte.
Ich hatte jeden zt auch nur einmal gesucht.
Da mir auf meine mail von gestern (faelschlicherweise unter allgemeines)
keiner geantwortet hat, moecht ich nochmal darum bitten, dass mir 
ein Magier mitteilt, was mit den stp passiert ist und ob es moeglich ist
sie wiederherzustellen. 

Vielen Dank

Skipper

-----------------------------------------------------------------------------



Re: stups (Anakin, 31. Mai 1996, 13:26:42):
~#! rn=Anakin rt=833474887
~#! tid=833474887
Hmm noch ein Nachtrag: Ich weiss ja Stupsschwankungen um 7 sind ok,
wie aber kommen Schwankungen um 1 Stups zustande?

Anakin.

-----------------------------------------------------------------------------



StuPs und Co. (Anatol, 31. Mai 1996, 13:54:24):

Hi.
Da die Stufenpunkte fuer Erstmonsterkills laengst nicht optimal sind, 
haben "wir Seher" ausgemacht, eine Liste mit Monstern und dazugehoerigen
Stufenpunkten anzufertigen.
Damit nur EINE Liste an Wargon geschickt wird, verwaltet Mahatma die
Vorschlaege von Spieler/Seherseite und leitet diese dann weiter.

i.A.
Anatol

PS: Da es auch Nichtseher mit Ahnung gibt, steht der Artikel hier.


-----------------------------------------------------------------------------



Kneipen (Grimmborn,  3. Jun 1996, 07:46:20):
[Verlegt von allgemeines, Kramka, 31. Mai 1996, 18:17:01]:
Ok, hi Leute !
Ich schreibe mal wieder im Auftrag von Laila !
So, also was is nun. Laila hat leider feststellen muessen, dass man als
Zauberer in Kneipen ziemlich arm dran ist, auch wenn man genuegend Geld dabei
hat. Als notorische Anti-Alkoholiker hat man leider immer noch zuwenig
Auswahl.
An dieser Stelle sollte man erstmal allen danken, die an neue Gilden denken
uns in ihren Kneipen alkohlfreie Getraenke mit  anstaendiger Heilwirkung
verkaufen. Aber trotzdem gibt es immer noch Kneipen wo dem nicht so ist.
Ist es denn wirklich SOVIEL Arbeit (?????) zumindest ein (1) Getraenk mal
schnell zu proggen. Es muss ja nichts wahnsinnig innovatives oder supertolles
sein, man ist ja genuegsam ;) .

OK, soweit erstmal. Mal sehen was daraus wird !

Kramka, Laila's ergebener Diener und Beschuetzer


-----------------------------------------------------------------------------



MorgenGrauen II (Orktoeter,  3. Jun 1996, 16:04:35):
Also, das ich gegen die Reform bin, ist glaube ich bei den Magiern bekannt.

Das man es Reform nennt, finde ich eine arge Uebertreibung. Das MG ist tot, es
gibt jetzt ein MG II und das sollte man dann auch so sagen..
Altspieler duerfen in diesem neuen Spiel gleich mit hohen Stats anfangen und
werden sich hier (fuer ein neues Spiel) erstaunlich gut zurechtfinden, aber
nichts des do trotz ist es auch fuer altspieler noetig, wie ein Anfaenger alle
quest noch mal zu spielen, wenn man weit oben in der Topliste sein moechte.
Wenn man es nicht macht, gehen einem die FP und die Stups, die man ueber
ZT-Stellen finden kann verloren, so das man gegen neue Spieler keine Chance
hat, wenn die erst mal aehnlich viele quests haben, wie die Altspieler jetzt.

Es ist aber auch ungerecht gegen die neuen Spieler, denn wenn sich ein alter
Hase die Muehe macht, alle alten quests und gegenden anzusuchen, so wird er
dafuer staerker belohnt als ein Neuling...

Sagt was dazu, liebe magier, wann findet eigentlich die Feier anlaesslich der
Beeredigung des MG I Statt ?

OrkT findet, das mit dieser Reform in jedem Fall erheblich Ungerechtigkeiten
Zementiert worden sind.

-----------------------------------------------------------------------------



Re: MorgenGrauen II (Grimmborn,  3. Jun 1996, 16:07:39):
~#! rn=Orktoeter rt=833810675
~#! tid=833810675

Also, tut mir leid, aber fuer Deine (oder irgendjemands andere)
Toplistenplatzgeilheit kann ja wohl keiner was.
Hindert Dich keiner so weiterzuspielen wie bisher.

Grimmborn der Atheist kann den Krawall nicht nachvollziehen. Geaenderte
Bewertungsgrundlagen und schon ein neues mud postulieren, also ehrlich...

-----------------------------------------------------------------------------



Re: MorgenGrauen II (Wurzel,  3. Jun 1996, 16:48:03):
~#! rn=Orktoeter rt=833810675
~#! tid=833810675
also selten so einen quatsch gelesen...

es gab mal in der guten alten zeit (ja ja...) ein mud in deutschland namens
nightfall, das hat fuer einige monate zugemacht und wurde dann als nf II
wiedereroeffnet. war vorher ein sehr gut besuchtes mud, und kraenkelt heute
noch an den folgen. trotzdem war es eine sinnvolle aktion, aus technischer
sicht. (mg wurde als ableger von nf II gegruendet und profitiert davon).

eine relativ geringfuegige aenderung wie die einfuehrung der stufenpunkte
gleich mit einer neuen mudgeneration gleichzusetzen ist albern. die stups
beheben nur einige probleme, die damals noch nicht in angriff genommen
wurden (war eh genug zu tun).

klar, bei einer solchen umstellung ist in der anfangsphase immer mit bugs zu
rechnen. aber diskutiert ist die ganze geschichte lange genug, einsprueche
gab es fast nicht.

wurzel

-----------------------------------------------------------------------------



Re: Re: MorgenGrauen II (Oetti,  3. Jun 1996, 16:52:02):
~#! rn=Wurzel rt=833813283
~#! tid=833810675

Huhu !!

Also ich war kurz vor der Einfuehrung der Stups lvl 19, aber dann wieder
lvl 25, hmmm, hat mich also nicht sonderlich betroffen.

Ernst: Ih kann es unter Umstaenden nachvollziehen, dass Spieler mit
einer rasanten Aenderung Probleme haben, besonders die die 
sich durch hohes Sicherheitsdenken und geringe Flexibilitaet auszeichnen.

Ich denke am Anfang gibt jede Aenderung halt Geschrei und dann legt es sich
wieder....

Well, was solls...

Ciao

Oetti

-----------------------------------------------------------------------------



Re: Kneipen (Asmodis,  3. Jun 1996, 17:04:54):
~#! rn=Grimmborn rt=833780780
~#! tid=833780780
Uebrigens haben Kleriker ein aehnliches Problem, sie duerfen auch nicht
so viel Alk trinken, wenn sie noch zaubern wollen, oder auch nur beten !
Also mehr alkfreie-Getraenke, die auch richtig heilen, in MG !!

-----------------------------------------------------------------------------



Re: MorgenGrauen II (Asmodis,  3. Jun 1996, 17:07:05):
~#! rn=Orktoeter rt=833810675
~#! tid=833810675
Aeh, wie meinst du das 'gegen neue Spieler keine Chance' ?? etwa in der
Top-Liste? momentan reicht doch Spielerlevel 35 aus, das kann man locker 
erreichen als Altspieler mit vielen Zts und APs. Ganz oben in der
Top-Liste zu stehen bringt ja eh nix :)

-----------------------------------------------------------------------------



mit Bugs ermogelte SP (Helloween,  3. Jun 1996, 17:20:51):
Wie waere es wenn man Spieler bei denen es offensichtlich ist das sie mit
Hilfe von
Bugs mal massig SP ermogelt hatten wieder im Level runtersetzt:
z.b. Chicola hat Level (45) aber nur noch 3329 SP nachdem die Bugs behoben
sind fehlen also ganze 1200 SP um den Level 45 zu rechtfertigen.
Chicola ist nur ein Beispiel von vielen und da ja alle bis auf Ryne vom neuen
System profitiert
haben kann ich mir nicht vorstellen das Chicola vor dem 'ermogeln' der Sp auch
nur annaeherd
in der Region um Level 45 gewesen ist.

cu
     HELLOWEEN


-----------------------------------------------------------------------------



Re: Re: MorgenGrauen II (Durian,  3. Jun 1996, 17:51:57):
~#! rn=Wurzel rt=833813283
~#! tid=833810675
Hey, Wurzel lass NF I aus dem Spiel. Es ist besser, wenn die hiesigen 
Spieler nicht wissen, was damals die Player alles so durften ... sonst
heulen die hier wieder alle.

Nur ein Beispiel (kann es mir nicht verkneifen): Wie waere es, Spieler
und sich selbst fast beliebig hin und her zu teleportieren??

*in Nostalgie schwelg*

- Durian

-----------------------------------------------------------------------------



Re: Re: Kneipen (Jasper,  3. Jun 1996, 18:44:22):
~#! rn=Asmodis rt=833814294
~#! tid=833780780
Also die RL Kleriker knallen sich auch unmengen messwein ins hirn....

-----------------------------------------------------------------------------



Re^3: MorgenGrauen II (Dhojakt,  3. Jun 1996, 22:41:16):
~#! rn=Durian rt=833817117
~#! tid=833810675
Aeh, wie meinst du das, nicht teleportieren? Hiess das nicht /g <ort> oder so?
*gruebel* Oder gehoert das nu nach schmarrn?
Khidar.

-----------------------------------------------------------------------------



Re: Neues aus der Geschaeftswelt (Hefe,  3. Jun 1996, 23:33:39):
~#! rn=Bendeigid rt=832757872
~#! tid=832757872
Was ist denn der Sinn dieser Aenderung ??

Nach jedem Reboot haben Spieler, die (wie ich, z.B.) nicht soo stark sind, ein
ein mords Rumgerenne, bis sie wieder ihr Zeugs beieinander haben (d.h. langsam
von Ruestung zu Ruestung "hocharbeiten" - nicht besonders spannend).
Warum soll man sich eine gute Ruestung nicht auch kaufen koennen, das Geld
muss
man sich ja auch verdienen; kein Spieler erhaelt unverdient gute Ruestungen.

In meinen Augen werden durch diese Regelung nur die Gilden weiter gestaerkt,
die eh keine Ruestung brauchen, ausserdem werden wohl auch die Laeden weniger 
Geld zur Verfuegung haben, wenn sie keine Ruestungen mehr verkaufen (oder seh 
ich das falsch ?).

Nun ja, wenn ich der einzige bin, der so denkt, dann vergesst diesen Artikel 
einfach, allerdings wuerd mich der Grund fuer die Aenderung schon 
interessieren.

Mit Weizengruss (denn am Weizen soll man nicht geizen)

Hefe

-----------------------------------------------------------------------------



Re: Re: Neues aus der Geschaeftswelt (Raffi,  4. Jun 1996, 12:30:55):
~#! rn=Hefe rt=833837619
~#! tid=832757872

Da  muss ich Dir zustimmen Hefe. Bei den Waffen kann man ja noch diskutieren,
aber bei den Ruestungen ist es schon wirklich oede das nichtmalmehr das
Durchschnittszeugs zu kaufen gibt.

Mit dieser Aenderung werden die laeden noch viel mehr zur reinen Geldquelle
degradiert. - nachschaun ob man was kaufen sollte ist voellig ueberfluessig
geworden. Das dann die Gelflussrichhtung (nimm von den laeden, gib an di
die Kneipen) absolut einseitig wird ist kein wunder - was ausser Beuteln (90
Muenzen) soll man dann noch keufen ? Lederruestungen ?

Gruss
H.

-----------------------------------------------------------------------------



Re^3: MorgenGrauen II (Boing,  4. Jun 1996, 13:53:52):
~#! rn=Durian rt=833817117
~#! tid=833810675
Oh ja, die Mages Guild war schon der Hammer ... ich erinnere mich mit Grausen
daran, wie mich Osterhasi einen Schritt vor Beendigung einer Quest 
rausgetranst hat ... argh! (als Spieler, wohlgemerkt ;)
  Boing

-----------------------------------------------------------------------------



Re^3: Neues aus der Geschaeftswelt (Paracelsus,  4. Jun 1996, 21:16:51):
~#! rn=Raffi rt=833884255
~#! tid=832757872
Hi.
Der Sinn hinter der Aenderung an den Laeden ist, dass Spieler sich die
wirklich guten Ruestungen auch wirklich verdienen muessen. Das Geld fuer
z.B. einen Elfenpanzer hat fast jeder Spieler schnell beisammen. Dagegen
ist bei weitem nicht jeder in der Lage, den dazugehoerigen Elfenwaechter
so 'mal eben' umzulegen.
Wer also eine wirklich gute Ruestung haben will, muss sie sich ermetzeln.

Was den Kommentar angeht, es gaebe 'nichtmalmehr das Durchschnittszeugs 
zu kaufen', muss ich Dir leider wiedersprechen: das, was Du als 
'Durchschnittszeugs' bezeichnest, sind bereits sehr gute Ruestungen. Es
gibt nur leider viel zu wenig schwache und viel zu viele starke Ruestungen, 
so dass man leicht auf den Gedanken kommt, die Haendler wuerden bereits
mittelstarke Ruestungen behalten.

Paracelsus.

-----------------------------------------------------------------------------



Re^4: Neues aus der Geschaeftswelt (Phobos,  5. Jun 1996, 14:29:41):
~#! rn=Paracelsus rt=833915811
~#! tid=832757872
> Das Geld fuer z.B. einen Elfenpanzer hat fast jeder Spieler schnell
> beisammen.

Da fragt man sich doch, warum solche angeblich zu guten Ruestungen
voellig unter Wert verkauft werden ???


-----------------------------------------------------------------------------



Re^5: Neues aus der Geschaeftswelt (Morgoth,  5. Jun 1996, 14:32:16):
~#! rn=Phobos rt=833977781
~#! tid=832757872
weil du sonst viel zu schnell nur noch geld tragen wuerdest ;-))

-----------------------------------------------------------------------------



Re^5: Neues aus der Geschaeftswelt (Bendeigid,  5. Jun 1996, 14:36:38):
~#! rn=Phobos rt=833977781
~#! tid=832757872
Hmja, genau daher werden sie eben NICHT mehr verkauft. Es gibt erheblich zu
viele zu Gute Ruestungen, wobei ich mit "zu gut" nicht unbedingt den
tatsaechlichen Schutzwert meine, sondern die Tatsache, dass es auch sehr gute
Ruestungen (ja, auch der Lichtpanzer!) bei viel zu luschigen Monstern gibt.
Und das hat nunmal dazu gefuehrt, dass ein Lichtpanzer schon als schlecht
gilt, und alles unter Schattenruestung ist Kinderkram, es sei denn es besitzt
magische Eigenschaften. Diesem "Missbrauch" wollten wir einen Riegel
vorschieben.
Wer dennoch einen Lichtpanzer haben will kann ja auch mal hoeflich andere
fragen. Das Miteinander kommt ja eh viel zu kurz.

z`par Servu,
             Bendeigid

-----------------------------------------------------------------------------



Re^4: Neues aus der Geschaeftswelt (Wise,  5. Jun 1996, 15:47:32):
~#! rn=Paracelsus rt=833915811
~#! tid=832757872
Die Behauptung, dass sich Leute, die eine starke Ruestung haben wollen sich
diese verdienen muessen ist wohl nicht ganz richtig. Diejenigen die sich die
Ruestung kaufen sind entweder nicht in der Lage sich diese zu verdienen, oder
zu faul erst x andere Monster zu erledigen um an eine Ruestung zu gelangen mit
 mit der sie dann entlich das Monster erledigen koennen um die betreffende
 starke Ruestung zu erlangen.
Da die Haendler durch den sehr viel geringeren bzw. fast
gar keinen Verkauf kaum Geld haben lohnt sich das Verkaufen der Ruestungen an
Handler viel weniger. Insgesamt wuerde das dazu fuehren, das weniger Geld
im  Umlauf  waere  und  damit   relativ   die   Kosten   fuer   Kneipentouren,
Magierutensilien, Hausbau (fuer Seher) etc. teurer wuerde.

Konsequenterweise wird man einmal starke Ruestungen von freundlichen oder
bekannten staerkeren Mitspielern geschenkt bekommen ( Das verkaufen bringt ja
nach einiger Zeit Morgengrauen-Uptime kaum noch was) oder aber diese
werden liegengelassen ( Verkauf lohnt kaum) oder sie 
werden von den Monstertoetern direkt verkauft bzw. da diese ja nicht warten 
wollen bis ein Kaeufer den Weg zu ihnen gefunden hat, durch einen Zweitie von 
Ihnen. Was die Kasse von diesen doch aufbessern wuerde, da der potentielle
Kaeufer beim Haendler bis zum drei-
fachen des maximalen Verkaufpreise zu Zahlen bereit waere. Bei Geldknappheit. 
des Haendlers (dies kommt ja zwangslaeufig vor, den wer kauft schon eine
Leder-
ruestung oder aehnliches) geht die Gewinnspanne weit ueber das dreifache
hinaus.
Warscheinlich liegt der Preis dann unter dem des Haendlers, so dass diese
starken Ruestungen sogar leichter ( billiger und oefter umsonst) zu bekommen
sind als vorher.

Alle Typos meldet ihr bitte nur an den Muellschlucker ganz in Eurer Naehe,
der diese umgehend mir verschweigen wird.
 Wise hat soeben das Abenteuer "Ueberlebe den Editor" bestanden.

Wise **

-----------------------------------------------------------------------------



Re^5: Neues aus der Geschaeftswelt (Asmodis,  5. Jun 1996, 15:54:37):
~#! rn=Wise rt=833982452
~#! tid=832757872
Hmm, ich verstehe die Diskussion nicht ganz, du kannst dir natuerlich
schon sehr gute Ruestungen beim Haendler kaufen, Lichtpanzer oder
Metallpanzer z.B., damit kannst du dir dann bessere Ruestungen ermetzeln.
Es ist schon richtig so, dass erstklassige Ruestungen nicht im Laden
verkauft werden, denn wenn jeder damit rumlaufen wuerde, wuerden sicher
auch die Monster verstaerkt werden und das Wuerde die Ruestungsspirale
wieder hoehertreiben. 'Jeder ist seines eigenen Glueckes Schmied', oder
soll sich maechtige Freunde beschaffen, die ihm mal eine Ruestung
ermetzeln. Oder er soll damit rumlaufen, was fuer seinen Level angemessen
ist ....

 Just my 3 souls,  Asmodis

-----------------------------------------------------------------------------



Re^6: Neues aus der Geschaeftswelt (Wurzel,  5. Jun 1996, 18:29:38):
~#! rn=Asmodis rt=833982877
~#! tid=832757872
wird allmaehlich langweilig, diese staendigen diskussionen um jede noch so
kleine aenderung. in meinen augen ist das nicht nur ein schritt in die
richtige richtung, sondern etwas, was eigentlich von anfang an haette drin
sein muessen. bei den waffen beschwert sich ja auch keiner, warum also bei
ruestungen?

eine kopfschuettelnde wurzel

-----------------------------------------------------------------------------



Re^5: Neues aus der Geschaeftswelt (Acrimon,  5. Jun 1996, 18:42:19):
~#! rn=Wise rt=833982452
~#! tid=832757872
Kein Wort stimmt.
1. Das Geld, das den Laeden durch Verkauf verlorengeht, geht auf andere Weise
(meist Kneipen) wieder in den Geldkreislauf. (Irgendwie muessen die Spieler ja
ihr Geld loswerden)
2. Es gab bisher sowieso kaum Verkauf, es wurden bestimmt 1000 Sachen verkauft
wenn nur eine gekauft wurde.
3. Saemtliches Geld der Kneipen und sonstigen Geldquellen fuehrt die
Zentralbank wieder an die Laeden zurueck, die am wenigsten Geld haben.
4. Wenn Geldknappheit herrscht (weniger als 1 Mio in den Kassen der Laeden
oder so), dann erzeugt die Zentralbank neues Geld und verteilt es.
5. Daher ist jede Geldknappheit temporaer begrenzt und wird - speziell nach
Naechten oder Wochenenden - wieder behoben sein.
6. Das im Umlauf befindliche Geld wird immer mehr und daher die Zeiten der
Geldknappheit immer seltener, je laenger das MUD durchgehend am Stueck laeuft.
7. Daher verbessert sich die Geldsituation, wenn es lange keinen Reboot gibt.
(Sie verschlechtert sich NICHT, obwohl es manche behaupten.)

PS: Bitte in die FAQ aufnehmen, diese Frage kommt immer wieder.

Acrimon, der Rote Ritter

-----------------------------------------------------------------------------



Re^3: Kneipen (Silvana,  6. Jun 1996, 14:06:16):
~#! rn=Jasper rt=833820262
~#! tid=833780780
Dementsprechend wirkungsvoll sind ihre Gebete auch...
  xcall silvana->Schmarrn()

-----------------------------------------------------------------------------



Tueren (Lavinia,  6. Jun 1996, 14:54:46):
Hallo liebe Magier,
es gibt eine Kleinigkeit, die ich ziemlich nervend finde, naemlich die
Fehlermeldung, WAS moechtest Du oeffnen?, die ich staendig bekomme.
Wenn unt tuer geht, warum dann eine solche Meldung, wenn ich oeffne tuer
versuche? Die Tuer ist ja da, also ist die Meldung Bloedsinn. Da diese
Meldung ueberall kommt, nehme ich an, dass es eine zentrale Funktion ist.
Was auch schonmal gegangen ist war oeffne tuer=besagte Meldung,
oeffne tuer mit schluessel=zack, war sie auf. Eine Meldung, die z.B. besagt,
dass ich einen Schluessel fuer die Tuer brauche, waere da sinnvoller.

Lavinia rennt sich noch mal den Kopf an einer Tuer ein.

-----------------------------------------------------------------------------



Re: Tueren (Lavinia,  6. Jun 1996, 15:01:07):
~#! rn=Lavinia rt=834065686
~#! tid=834065686
Noch einen drauf: lies inschrift=WELCHE Nachricht willst Du lesen? 
Lavinia

-----------------------------------------------------------------------------



Re: Re: Tueren (Silvana,  6. Jun 1996, 15:18:43):
~#! rn=Lavinia rt=834066067
~#! tid=834065686
Zu dem ersten Artikel:
Das mit den Tueren, die vorhanden sind aber seltsame (oder besonders genaue)
Synatxen benoetigen, solltest Du im zugehorigen Raum als Idee absetzen.
Tueren sind leider nur zu einem kleinen Teil standardisiert eingebaut 
worden. Da gibt es in der Tat einige Stellen, die etwas unschoen
programmiert sind. Die Fehlermeldung, die Du bekommst, stammt aber von
einem Beutel, den Du wohl dabei hattest und der eine evtl vorhandene
Fehlermeldung des Raumes ueberschrieben hat.
Das gleiche Problem ergibt sich bei dem Komando 'lies'. Hier ueberschreibt
die Zeitung (mpa) die Fehlermeldung des Raumes fuer fehlende lesbare
Details ("Was moechtest Du lesen?").
Hoffe, das erklaert das Problem zumindest. 

  Silvana

-----------------------------------------------------------------------------



Re: StuPs und Co. (Mahatma,  8. Jun 1996, 04:03:50):
~#! rn=Anatol rt=833543664
~#! tid=833543664
Leider hielt sich das Echo auf Anatols Artikel bisher in Grenzen. Ich nehme 
noch bis Ende naechster Woche Vorschlaege entgegen, dann mach ich die Liste an
Wargon fertig. Also, wenn ihr noch Monster kennt, die ihr Stups-maessig unter-
bewertet findet, Mail mit Vorschlag fuer einen angemessenen Wert an mich.

Mahatma

-----------------------------------------------------------------------------



Details (Anakin,  8. Jun 1996, 21:36:53):
Hi,

mal ne Frage:
Ich seh ne Karte auf dem Boden, will sie untersuchen und da
kommt die Long von der Karte die ich im Inv habe. Diese ist
Autoload und ich kann sie nicht ablegen. Ich komm an
die Karte im Boden nicht ran, auch nicht mich 'unt karte 2' oder
so. Bin ich zu doof oder kann man da was aendern.
Jaja man kann sie bei Troedler entsoregn, nur das sollte
ja eigentlich nicht die Loesung sein.

Anakin.

-----------------------------------------------------------------------------



Re: Details (Mahatma,  8. Jun 1996, 21:37:40):
~#! rn=Anakin rt=834262613
~#! tid=834262613
unt karte im raum

-----------------------------------------------------------------------------



Re: Re: Details (Anakin,  8. Jun 1996, 21:38:48):
~#! rn=Mahatma rt=834262660
~#! tid=834262613
Jaja ich bin doof und unfaehig. :-)

Anakin.

-----------------------------------------------------------------------------



lp/mp nach crash? (Hadra, 10. Jun 1996, 00:53:41):
hiho,

ich dachte nach ne entschaedigung gingen lp/mp wieder hoch?
-------------------------------------------------------------
Du findest 527 Muenzen, die Du beim letzten Mal verloren hast.
**        Das Benutzen von Scripten und Triggern ist VERBOTEN!            **
[...]
> Du hast jetzt 226 Lebenspunkte und 52 Magiepunkte.
 ---------------------------------------------------------------------------

hadra - gruebelnd

-----------------------------------------------------------------------------



Re: lp/mp nach crash? (Asmodis, 10. Jun 1996, 09:28:09):
~#! rn=Hadra rt=834360821
~#! tid=834360821
Wuesste ich nix von, es war nur die Rede davon, dass Hunger und 
Durst auf 0 gesetzt werden.
Uebrigens, wieso crasht um 0:50 das MUD ? Was war denn diesmal der
Grund ??

-----------------------------------------------------------------------------



Re: lp/mp nach crash? (Mupfel, 10. Jun 1996, 11:06:34):
~#! rn=Hadra rt=834360821
~#! tid=834360821
Falsches MUD Hadra :-)

-----------------------------------------------------------------------------



Re: Tueren (Boing, 10. Jun 1996, 12:18:54):
~#! rn=Lavinia rt=834065686
~#! tid=834065686
Noch sinnvoller waere, wenn 'oeffne tuer' gleich ueberprueft, ob der
passende Schluessel sich im Besitz des Spielers befindet, dann koennte
man gleich die Meldung ausgeben 'Du oeffnest die Tuer mit demunddem
Schluessel'.
  Boing

-----------------------------------------------------------------------------



Re^3: Tueren (Boing, 10. Jun 1996, 12:20:28):
~#! rn=Silvana rt=834067123
~#! tid=834065686
Allerdings laesst der Fehler von Lavinia darauf schliessen, dass man
die Inschrift ueberhaupt nicht lesen kann (vielleicht genuegt anschauen?),
das waere dann ein Fall fuer eine Fehlermeldung im Raum.
  Boing

-----------------------------------------------------------------------------



Re: Re: lp/mp nach crash? (Hadra, 10. Jun 1996, 21:57:14):
~#! rn=Mupfel rt=834397594
~#! tid=834360821
hihi,

na ja, auch wenns im anderen mud ist, finde ichs trotzdem gut ;)

-----------------------------------------------------------------------------



Was war los? (Morgoth, 11. Jun 1996, 07:15:11):
tja, da wohl leider mal wieder die infos so traege fliessen wie null grad
kaltes wasser, frag ich mal hier und hoffe  (ja, immer noch) mal auf eine
antwort.
es geht um den crash/shutdown?? vom 10.6. 
morgoth

-----------------------------------------------------------------------------



Re^3: Tueren (Cauno, 11. Jun 1996, 12:31:41):
~#! rn=Silvana rt=834067123
~#! tid=834065686

Vielleicht waere in dem Sinne eine Prioritaetsfolge fuer Gegenstaende im Raum
in der Tasche guenstig?
Mir passiert es staendig, wenn ich in mein Paket schauen will, und ein zweites
liegt gerade herum, dass ich an die sachen, die ich trage ueberhaupt nicht
rankomme.
                                                    C. No

-----------------------------------------------------------------------------



Re: Re: Tueren (Cauno, 11. Jun 1996, 12:33:45):
~#! rn=Boing rt=834401934
~#! tid=834065686

Schade. Dann kann man ja keine Quest mit Schluesselbund machen, wo der spieler
doch noch suchen muss. ;-)
                                                    C. No

-----------------------------------------------------------------------------



Re^4: Tueren (Hate, 11. Jun 1996, 12:34:38):
~#! rn=Cauno rt=834489101
~#! tid=834065686
Vielleicht haettest Du etwas mehr aufpassen sollen, nachdem die Aenderungen
beim betrachten eingefuehrt wurden?

Reihenfolge: RAUM -> Spieler -> der ganze Rest
Weiterhin: unt ding im raum
oder: unt ding in mir
Wenn man einmal das Paket in sich selbst angesehen hat, reicht ein
unt nochnding, wobei man dabei das nochnding in dem Paket sieht.
Hate.

-----------------------------------------------------------------------------



Re^5: Tueren (Felagund, 11. Jun 1996, 12:55:12):
~#! rn=Hate rt=834489278
~#! tid=834065686
Du bist dir mit der reihenfolge sicher?
Mein 2ti untersucht in aller Regelmaessigkeit die Dinge in seinem inv vor
denen im Raum
gruss..Fela

-----------------------------------------------------------------------------



Re^6: Tueren (Hate, 11. Jun 1996, 13:31:03):
~#! rn=Felagund rt=834490512
~#! tid=834065686
Dann irre ich mich vielleicht, aber das aendert nichts an der Tastsache,
dass man die Prioritaeten aendern kann mit dem zusatz im raum oder in mir
Hate.

-----------------------------------------------------------------------------



Re: Re: Tueren (Mupfel, 11. Jun 1996, 18:34:29):
~#! rn=Boing rt=834401934
~#! tid=834065686
Und wenn das Schloss z.B. vereist ist oder so? 'Du wuerdest ja die Tuer gerne
mit Deinem gruenen Schluessel oeffnen, aber das Schloss ist vereist'?

-----------------------------------------------------------------------------



Re^3: Tueren (Rikus, 11. Jun 1996, 20:23:30):
~#! rn=Mupfel rt=834510869
~#! tid=834065686
falsches Mud, Mupfel :)

Rikus

-----------------------------------------------------------------------------



Re: Re: Tueren (Ketos, 11. Jun 1996, 20:29:23):
~#! rn=Boing rt=834401934
~#! tid=834065686
Intelligente Tuere die sich ihren Schluessel sucht.
So ne Tuere habe ich bereits gebaut (fuer ne neue Quest)
Zu finden in ~ketos/turm/room/turmeingang.c

-----------------------------------------------------------------------------



Re^3: Tueren (Anatol, 11. Jun 1996, 20:31:06):
~#! rn=Ketos rt=834517763
~#! tid=834065686

Kann man die Tuere snoopen?

%Du suchst, findest aber nichts.

Anatol :)


-----------------------------------------------------------------------------



Mailalias me (Loco, 11. Jun 1996, 23:22:33):
Eine winzige Kleinigkeit hat im Rahmen einer groesseren Sache, die aber noch
nicht ganz fertig ist, den Weg in die Postaemter gefunden:
Die Post versteht ab sofort auch das mailalias 'me'. Adressiert man eine mail
an 'me', so wird sie an diejenige Adresse gesendet, die man als Emailadresse
angegeben hat - normalerweise beim ersten Einloggen oder ueber den Befehl
'email'.
Wozu das gut ist? Es ist bequemer, wenn man sich z.B. eine mail an seinen
externen account forwarden will.

Falls irgendwo in der mail Bugs auftauchen, bitte mir Bescheid sagen,

      Loco

-----------------------------------------------------------------------------



Befehls-Alternativen (Acrimon, 12. Jun 1996, 00:06:28):
Was ich vorschlagen will, ist eigentlich ganz einfach:

Ich will eine Moeglichkeit eingefuehrt haben, die ich hier sehnlich vermisse:
Man soll die Moeglichkeit haben, jeweils unterschiedliche Aktionen je nach
Situation mit demselben Befehl aktivieren zu koennen.

Also mehrere Kommandos "austesten", bis eines klappt.

Beispiele:

alias schwert (stecke schwert weg|zuecke schwert)
Wenn ich ein Schwert in der Hand halte, dann stecke ich das Schwert weg.
Wenn ich aber keines halte (also "stecke schwert weg" fehlschlaegt), dann wird
  "zuecke schwert" ausgefuehrt.

alias wappne zuecke (schwert|axt|messer|dolch|keule)
Damit bewaffne ich mich, egal welche Waffe ich habe.

alias fuellmichab bestelle (rachenputzer|bier|wein|wasser|cola)

alias benutze (zuecke $*|ziehe $* an|zuende $* an|oeffne $*|druecke $*|lies
$*|schau $*)
Damit habe ich ein Verb definiert, das mit den Gegenstaenden macht, was
offensichtlich scheint.

alias z (ziehe $* an|zuecke $*|denke $* ist keine Ruestung oder Waffe!)
Jetzt kann ich endlich dieselbe Abkuerzung fuer zwei unterschiedliche Aktionen
verwenden (anziehen und zuecken).

alias heule (:heult $1 an.#$1#heult Dich an.#Du heulst $1 an.|:heult
jaemmerlich.)
Jetzt funktioniert endlich beides - heule mit Parameter und ohne Parameter.


Wenn alle Alternativen fehlschlagen, dann sollte die Fehlermeldung des
letzten Befehls erscheinen.


Wie das implementiert wird, ist mir eigentlich egal; Hauptsache es wird
implementiert.
Auch die Syntax will ich nicht vorschreiben; wenn euch eine bessere Syntax
einfaellt, dann nehmt die bessere.

Man kann das neue Feature in den Befehl alias einbauen oder
als Commandparsing fuer alle Befehle zulassen; das kommt aber ziemlich
auf dasselbe raus, weil diese Moeglichkeit meistens nur im
Zusammenhang mit alias verwendet werden wird.

Acrimon, der Rote Ritter

-----------------------------------------------------------------------------



Re^7: Tueren (Acrimon, 12. Jun 1996, 00:15:04):
~#! rn=Hate rt=834492663
~#! tid=834065686
Nein Hate, "unt ding im raum" aendert eben NICHT die Prioritaeten von
inv -> raum -> sonst   in   raum -> inv -> sonst,
sondern es sieht nur Dinge im Raum und kann keine Dinge im inv sehen.

Einzige Abhilfe:
alias unt unt $* (im raum|in mir|)
(wenn "unt $* im raum" nicht klappt, wird "unt $* in mir" ausgefuehrt, und
wenn das auch nicht klappt, dann "unt $*")

Acrimon, der Rote Ritter

-----------------------------------------------------------------------------



Re: Mailalias me (Morgoth, 12. Jun 1996, 07:13:57):
~#! rn=Loco rt=834528153
~#! tid=834528153
super, repariest du auch die mudmail, die fuer externe ankommende mails ist?
die ist naemlich seit wasweissichwieviel wochen im arsch, aeh ich meine
defekt, buggy usw.
morgoth

-----------------------------------------------------------------------------



Re^6: Tueren (Bogus, 12. Jun 1996, 09:39:35):
~#! rn=Felagund rt=834490512
~#! tid=834065686
DCa kann ich nur zustimmen: Wenn ich irgendwo eine Decke untersuchen wollte,
bekam ich immer die Beschreibung der Wolldecke aus meinem inventory -- bis ich
die Wolldecke weggeworfen habe :)
Bogus

-----------------------------------------------------------------------------



Neues vom STUPSer (Wargon, 12. Jun 1996, 10:28:18):
  Hi!
Aufgrund einer kleinen Aenderung beim FP-Anteil kann es bei den Stufenpunkten
jetzt zu groesseren Schwankungen als bisher kommen.
Grund dieser Aenderung ist wie immer reine Willkuer.
  Wargon

-----------------------------------------------------------------------------



Re^8: Tueren (Hate, 12. Jun 1996, 11:11:56):
~#! rn=Acrimon rt=834531304
~#! tid=834065686
Mir scheint, ich werde nicht verstanden.
Man kennt die Prioritaetenreihenfolge: inv -> raum -> sonst
Wenn man das weiss, kann man (falls das Hirn das verarbeiten kann) die
Befehle mit dem Zusatz "im raum" direkt auf den Raum beziehen. Wodurch das
wegwerfen der Decke wie in einer  Mail geschrieben absolut unsinnig ist.
Hate.

-----------------------------------------------------------------------------



Re^9: Tueren (Acrimon, 12. Jun 1996, 11:17:37):
~#! rn=Hate rt=834570716
~#! tid=834065686
Klarkann man das, jedoch ist es praktischer, die Prioritaetenreihenfolge zu
aendern,  als jedesmal "im raum" dazuzuschreiben oder zwischen drei
verschiedenen unt-Aliasen zu unterscheiden.
Acrimon

-----------------------------------------------------------------------------



Re^10: Tueren (Hate, 12. Jun 1996, 11:28:58):
~#! rn=Acrimon rt=834571057
~#! tid=834065686
Dir prioritaeten sind mit absicht so. Und bisher kenne ich nur sehr wenige, 
die damit probleme haben. Wenn man es aendert kommen andere und meckern,
dass sie nix mehr in ihrem inv ansehen koennen, also bleibt es wie es
ist.
Hate.

-----------------------------------------------------------------------------



Re^11: Tueren (Acrimon, 12. Jun 1996, 11:41:43):
~#! rn=Hate rt=834571738
~#! tid=834065686
Und genau dafuer (und fuer vieles Andere) braucht man die Moeglichkeit
alias unt unt $* (im raum|in mir|)
eingeben zu koennen.

Acrimon, der Rote Ritter

-----------------------------------------------------------------------------



Re^11: Tueren (Cauno, 12. Jun 1996, 11:48:05):
~#! rn=Hate rt=834571738
~#! tid=834065686

Was ist so schwer daran, die Prioritaetenreihenfolge fuer einen Spieler andern
zu lassen? Die anderen werden davon nicht betroffen, i.e. haben also gar
nichts zu meckern.
                                     C.No

-----------------------------------------------------------------------------



Re: Re: Mailalias me (Loco, 12. Jun 1996, 15:32:58):
~#! rn=Morgoth rt=834556437
~#! tid=834528153
Nein, sorry - da hab ich gar keinen Zugriff drauf, tut mir leid.
Musst Du mal Hate und Konsorten so lange die Hoelle heiss machen, bis sie sich
drum kuemmern.
Sorry,
         Loco

-----------------------------------------------------------------------------



Tod durch Flucht! (Soul, 12. Jun 1996, 16:16:03):

Wenn man in einem Kampf, z.B. erkennt das der Gegner einem Ueberlegen ist und
man einen strategischen Rueckzug machen will, kann es durch die Verzoegerung
vorkommen, das der Gegner einen vorher so stark schwaecht, das man durch die
Panikflucht vorher in die entgegengesetzte Richtung fluechtet, dann wird der
strategische Rueckzug ausgefuehrt, der dann dummerweise ein unstrategischer,
idiotischer Angriff wird und man sich kurz dannach bei Lars und seinem Freund
zum Plauderstuendchen einfindet.
Kann da nicht irgentetwas gemacht werden, wie ein strategischer
Rueckzugsbefehl z.b stra <Richtung> der nicht ausgefuehrt wird, wenn man
vorher in Panik fluechtet. Oder das generell ein direktes Umkehren nach der
der Flucht ( man bedenke das man gerade aus der Richtung in Angst und Panik
getuertm ist und man wohl nicht direkt darin zurueckkehren wuerde, wenn dies
nicht vor neuen Monstern die EINZIGE Fluchtrichtung ist, oder man sich seinen
Mut sammelt.) nur unter einigen Bedingungen moeglich ist, z.B. wenn man einen
Moment wartet 'warte' um sich vom Stress, von Angst und Panik freizumachen.

Oder irgentsowas? Aber gleich wieder aufs Monster drauf wenn man gerade in
Panik vor 
dem geflohen ist, insbesondere wenn man eigentlich bewusst und unbewusst
(panik) vor dem fliehen wollte ist spielerisch nicht zu vertreten.
Gezeichnet:

[Tod:Lars] Ein Feuerteufel hat gerade Soul umgebracht. <15:46:01>

















Nein dieser Artikel wurde nicht vom Feuerteufel verfasst und auch nicht von
Lars....

-----------------------------------------------------------------------------



Nachsendeauftraege (Loco, 12. Jun 1996, 17:50:01):
So, jetzt ist es soweit:

Ab sofort kann jeder Spieler an jedem Paketschalter einen Nachsendeauftrag
stellen. Einfach mal den Beamten nach auftrag fragen, wenn er nichts davon
weiss, einen Magier eures Vertrauens das Postamt neuladen lassen (Bitte
aufpassen, dass niemand in einer Schreibkabine steht!!!)

Und jetzt mal vorbeugend die FAQ...:

Was wird nachgesendet?
Post, die innerhalb des Muds versendet wird. Fuer Post von aussen klappt es im
Moment noch nicht.

Wohin wird nachgesendet?
IMMER an die Adresse, die als emailadresse angegeben ist (P_MAILADDR fuer
Magier). Diese Adresse kann man mit dem Befehl 'email' aendern.

Was fuer Adressen sind erlaubt?
Alle Adressen, die gueltig sind, keine Mailaliase. Also auch Namen anderer
Spieler. Falls ihr z.B. alle mail, die an eure Zweities geht, lieber selber
haben wollt - kein Problem, setzt dem Zweity den Namen des Ersties als
email-Adresse und stellt einen Nachsendeauftrag.

Kostet das was?
Nein, natuerlich nicht. Die Briefpost ist wie gehabt kostenlos.

Und was ist, wenn die Adresse fehlerhaft ist?
Pech gehabt, u.U. kommt der Brief dann nie irgendwo an.

Was ist, wenn ich einen anderen Spieler als Adresse angebe und dieser auch
einen Nachsendeauftrag hat?
Er bekommt die mail trotzdem nicht nachgeschickt. Wir schicken jeden Brief nur
einmal weiter und der angegebene Empfaenger bekommt ihn, ob er will oder
nicht. Jedenfalls bisher.


So... Kommentare und Bugmeldungen bitte an mich,

   Loco

-----------------------------------------------------------------------------



noch dran feilen? (Feuerwehr, 12. Jun 1996, 20:08:21):
Ich hab noch eine Frage zum neuen Stufensystem. Bei mir war es so, dass ich
mit 1900 Stups bzw 1000 AP Level 19 erreichte und dort erst einmal questete,
um Level 20 zu erreichen. Das kostete mich 600 AP, was mir mehr als 600 Stups
einbrachte, und so konnte ich gleich nach meiner Erhoehung zum Seher um ueber
6 Level erhoehen. Ich weiss nicht, ob das mit dem neuem System anders
verlaeuft, aber sonst sollte man den Seherlevel vielleicht auf 25 legen, damit
man nicht die ganze Zeit auf Level 19 rumkrebst.
In diesem Fall sollte man aber auf jeden Fall etwas fuer die alten Seher tun,
die noch nicht Level 25 erreicht haben. Aeh. Also, in diesem Sinne, 
 
JMHU    Feuerwehr (das Seherbaby)

-----------------------------------------------------------------------------



Re: Tod durch Flucht! (Fyt, 13. Jun 1996, 02:28:54):
~#! rn=Soul rt=834588963
~#! tid=834588963

Ich glaube, dem Artikel entnommen zu haben, dass der Autor sowas wie
die Seher-'fluchtrichtung' fuer alle will. Bei dem momentanen Lag im MG
halte ich das Ansinnen durchaus fuer ueberdenkenswert, man kann ja bei
50% Erfolgswahrscheinlichkeit oder so anfangen.

Fyt.

-----------------------------------------------------------------------------



Re: Re: Tod durch Flucht! (Acrimon, 13. Jun 1996, 10:19:17):
~#! rn=Fyt rt=834625734
~#! tid=834588963
Nein Fyt, du hast den Autor nicht verstanden.
Er wollte nicht die Seher-Fluchtrichtung fuer alle.
Er wollte einen Befehl, der anzeigt, ob man gerade eben in diesen Raum
geflohen ist.
Mit den von mir vorgeschlagenen Befehls-Alternativen macht er einfach:
alias n (geflohen|n)
alias s (geflohen|s)
...
Und er geht nur dann weiter, wenn er nicht gerade geflohen ist.

Acrimon, der Rote Ritter

-----------------------------------------------------------------------------



Re^3: Tod durch Flucht! (Fyt, 13. Jun 1996, 11:15:45):
~#! rn=Acrimon rt=834653957
~#! tid=834588963

Na gut, aber *DEN* Vorschlag gab's auch schon mal und er wurde mit
der Begruendung abgelehnt, dass es sich bei der Flucht nicht um nen
strategischen Rueckzug, sondern um ne Hals-ueber-Kopf-Flucht handelt,
man also froh sein sollte, dass man ueberhaupt irgendwo rausgekommen
ist. Ansonsten warne ich mal vorsichtshalber vor der Einfuehrung der
Geschichte, weil damit dann Metzelscripte um ein oder zwei Nummern
einfacher zu schreiben waeren...

Fyt.

-----------------------------------------------------------------------------



Reboot (Wargon, 13. Jun 1996, 13:26:44):
Bevor die grosse Fragerei wieder losgeht:
Der Reboot heute mittag war noetig wegen eines Bugs beim "info"-Befehl.
  Wargon

-----------------------------------------------------------------------------



Typo in Todesmeldung (Yendi, 13. Jun 1996, 15:25:00):

[Tod:Amor, der Wolfshund,] Ich hab' Dich zerfleischt, denn Du drangst hier
[Tod:Amor, der Wolfshund,] ein, der Meister wird's zufrieden sein ...


Da ist wohl ein Komma zuviel, oder?


-----------------------------------------------------------------------------



Re: Typo in Todesmeldung (Grimmborn, 13. Jun 1996, 17:34:32):
~#! rn=Yendi rt=834672300
~#! tid=834672300

Dem ist nicht so.
Es sind zwei Kommata (SO geht der Plural!) zuviel. Titel werden auch ohne
Komma gebildet...

Grimmborn der Orthograph

-----------------------------------------------------------------------------



Stups (Fyt, 14. Jun 1996, 02:29:49):

An die Damen und Herren Stochastiker, die bei der
Stufenpunktszufallsgeschichte
beteiligt sind.

Euch ist klar, dass man die exakte Zahl um so schneller herausbekommen
kann, je mehr Stichproben man hat?

Also, wenn ich 100 mal info mache, und dabei 20 mal 1, 20 mal 2...
20 mal 5 als ergebins bekomme, ich dann funef Raeume mit einem dieser
praktichen Untersuchescriopts abgrase und nach 'etwas warterei
dann bei neruerlichen 100 Anlaeufen 20 mal 2, 20 mal 3, ... 20 mal 5
Forscherpunkte habe...

Aehm.. ist wirr, aber Ihr wisst, was ich meine, oder?

Fyt.

-----------------------------------------------------------------------------



Re: Stups (Raffi, 14. Jun 1996, 10:03:54):
~#! rn=Fyt rt=834712189
~#! tid=834712189

Jep Fyt, den Nagel auf den Kopf getroffen - genau mit der Methode hab
ich es auch probiert, um zu beweisen das das mit der Unschaerfe der FP
schmarrn ist, und nur weitere Ungleichheit liefert. Wer 'normal' spielt
(und das sollte ja doch gefoerdert werden) ist der bloede, weil er mit
schwankenden Zahlen genervt wird, wer jedoch weiss wie und sich danach
verhaelt kann doch wieder die beruehmten Listen zusammenstellen. Und
glaube blos keiner, dass das dann nicht passiert. Da ist genug Energie
da.

Wir haben es eigentlich mit 4 Problemen zu tun:

a) Die FP-Unschaerfe ist kontraproduktiv (s.o.).
b) Die FP werden viel zu hoch bewertet (was scripts belohnt).
c) Es gibt viel zu wenig FP (wenns nach  mir ginge sollte es in jedem
   Raum welche geben).
d) Die gleichzeitige Abwertung der bisherigen Masstaebe (besonders
   extrem bei den EP).

Insgesammt wurde eine Ungleichgewichtigkeit durch eine andere ersetzt.
Anstelle Metzelscripte und ZT Listen jetzt FP- und ZT-Scripte (und die
Metzelscripte sind deswegen immernochnicht weg). Was die Scripterei
anbelangt hat es sich m.E. nur noch mehr verschlechtert.

Zum Thema Auswege moechte ich nochmal auf die (alten) Artikel zum Thema
Masstaebe, EP-Aufwertung und ZT-Progression bzw. Unsinn der ZTs im StuPs-
System verweisen.

Gruss
H.

P.S.: Ich bin nicht gegen das neue System (falls das so rueberkommen
      sollte) ganz im Gegenteil - es ist auf jeden Fall besser da es
      einen Faktor mehr (FP) hat als das Alte, nur eben jetzt in die
      'neue' Richtung unausgeglichen.
P.P.S.: Ich bin froh das ich nur 'nen Telnet habe, mit TF waere ich
        versucht auch Scripte zu schreiben - ich kenne mich - ich bin
        doch auch nur ein schwacher kleiner Zwerg.

-----------------------------------------------------------------------------



Re: noch dran feilen? (Wise, 14. Jun 1996, 10:59:24):
~#! rn=Feuerwehr rt=834602901
~#! tid=834602901
Vielleicht sollte man die Level vom Seherwerden unabhaengig machen.
D.h. Level 20, mit 2000 Stups Level 21 mit 2100 Stups ... und Seherwerdung
mit mindestens Level 20 ( was wohl jeder hat, wenn er die anderen Bedingungen 
erfuellt) und eben die erfuellung dieser anderen Bedingungen( .

Wise

-----------------------------------------------------------------------------



Re: Re: Stups (Fyt, 14. Jun 1996, 12:02:05):
~#! rn=Raffi rt=834739434
~#! tid=834712189

Ach, ich finde die FPs nicht ueberbewertet und Yantros Idee, die
FPs *nicht* an Details zu haengen ausnahmsweise ziemlich gut.
DZumindest wuerden dann unt-Scripts nicht direkt die FP liiefern...

Fyt.

-----------------------------------------------------------------------------



Re^3: Stups (Wargon, 14. Jun 1996, 13:17:50):
~#! rn=Fyt rt=834746525
~#! tid=834712189
  Hi!
Ja, an sich ist das nicht schlecht, nur ist ein grosser Teil des MG halt was
zum Anschauen. Bei Quests (aber nicht nur da) kommt darueber hinaus noch der
Umstand dazu, dass man zu wichtigen Aktionen in der Regel durch Details
hingefuehrt wird. Da ergibt sich dann ein Dilemma: FP in ein hinfuehrendes
Detail (das dann vom unt-Skript erwischt wird) oder in die Aktion (die in der
Komplettloesung steht)?
Das ganze trifft natuerlich eh nur auf levelgeile Scripter zu; der normale
Spieler wird auch so seinen FP-Anteil bekommen.
  Wargon

-----------------------------------------------------------------------------



Re^4: Tod durch Flucht! (Soul, 14. Jun 1996, 13:50:42):
~#! rn=Fyt rt=834657345
~#! tid=834588963
Noch mal zur Wiederholung:
Wir haben den Fall, dass der Spieler deutlich erkennt, das er einem Gegner ni
nicht gewachsen ist. Er entscheidet sich bewusst zur Flucht ( zu diesem
Zeitpunkt weiss er allerdings nicht ob er nicht schon in Panik geflohen ist
und dies
hm aufgrund verzoegerungen im Netz nur noch nicht mitgeteilt bekommen hat. Er
tippt zum Beispiel 'N' ein.
Dummerweise kann es durchaus passieren das dieser Befehl selbst wenn man bis
zu
diesem Zeitpunkt nicht in Panik getuermt ist erst dann im Morgengrauenrechner
eintrifft, wenn dieser schon x Kampfrunden ausgefuehrt hat und die
Lebenspunkte unter den Vorsicht-Wert sank. Besonders in dem Fall wenn nur
Zwei-gegenueberliegende Ausganege existieren, kann es sein das sich der
Computer die Fluchtrichtung Sueden ausgewaehlt hat. Erst dannach wird dann
der vom Spieler vor der Panikflucht angeordnete strategische Rueckzug
angeordnet.
Dieser heisst immer noch 'N' nur ist jetzt im Norden der boese Gegner, was 
bedeutet es wird ein ANGRIFFSBEFEHL statt des Rueckzuges ausgefuehrt.
Haelst du (F.) es angebracht das ein Spieler der eindeutig vor einem Monster
fliehen will,
und wo noch dazu die Vorsicht unter dem Schnellenwert ist, also die Spielfigur
in 
Panik ist ( also auch von diesem Monster moeglichst weit weg will) dieses
angreift?

=> Naechter Reply weiter.

-----------------------------------------------------------------------------



Der STUPser kehrt zurueck (Wargon, 14. Jun 1996, 14:21:48):
  Hi!
Da die Schwankungen in der Stufenpunkt-Anzeige wohl mehr verwirrend als
nuetzlich warenj (zumindest laesst das Geschrei sowas vermuten), wird jetzt
nur noch angezeigt, fuer welchen Level die Stufenpunkte ausreichen. Als
Ausgleich sind die Schwankungen geringer geworden.
Wer trotzdem wissen will, wieviel ihr/ihm denn nun noch (etwa) bis zum
naecsten Aufstieg fehlt, kann das natuerlich weiterhin in einer Gilde seiner
Wahl mit "kosten" ermitteln.
Ausserdem ist die genaue SP-Anzahl auch weiterhin in der Topliste einzusehen
;)
  Wargon

-----------------------------------------------------------------------------



Re: Der STUPser kehrt zurueck (Anakin, 14. Jun 1996, 14:23:37):
~#! rn=Wargon rt=834754908
~#! tid=834754908
Kann man dann statt dem Text: Du koenntest deine Stufe erhoehen 
einbauen, dass man sagt wieviel man schon zuviel hat?

Anakin.

-----------------------------------------------------------------------------



Re^5: Tod durch Flucht! (Orktoeter, 14. Jun 1996, 14:25:36):
~#! rn=Soul rt=834753042
~#! tid=834588963
Auf genau diese art und weise habe ich reichlich Todes gesammelt, als die
nochnicht mitgezaehlt wurden.. und ich bin sicher es geht vielen anderen
altspielern aehnlich, das gehoert hier wohl dazu, das man diese Todes sammelt
und die Todessequenzen kennenlernt (gibzs fuer das ansehend der Todessequenzen
inwischen FP ? )
Lagerhaeftling Orktoeter muss den gelben Scriptstern tragen.

-----------------------------------------------------------------------------



Re^5: Tod durch Flucht! (Fyt, 14. Jun 1996, 14:48:34):
~#! rn=Soul rt=834753042
~#! tid=834588963

Hm, also Lag war schon immer ein anerkannter Todesgrund.
Und ausserdem gibt es 'schaetz' oder die Moeglichkeit, mit 
ner hinreichend grossen Truppe loszuziehen...

Fyt.

-----------------------------------------------------------------------------



Re^4: Tod durch Flucht! (Soul, 14. Jun 1996, 15:10:57):
~#! rn=Fyt rt=834657345
~#! tid=834588963
Jetz mal nur aus der Rollensspielerichen Perspektive betrachtet,
mit der du diese Tode scheinbar rechtfertigen willst F.:
Fyt landet mit einem Falschirm auf der Autobahn, dummerweise kommt just in die
diesem Moment ein fetter Truck auf dich zugeschossen. Du denkst
den schaffe ich nun wirklich nicht. Und versuchst von der Strasse zu rennen.
Dennoch kommt der Truck immer naeher, du bekommst Panik, dein Adrenalin steigt
an und durch die Angst angetrieben, springst du noch gerade so ueber die Leit
planke. Springst du jetzt wieder zurueck vor den Truck, weil du vorher lieber
in die andere Richtung ausweichen
wolltst?

Panik ist das mobiliesieren von koerperlichen Kraeften das im Regelfall ( wenn
du nicht gerade gelaehmt vor 
Angst bist ) gerichtet ist. Naemlich von der Gefahrenquelle weg.
Damit ist ein Rueckkehren an den Ort dieser Angst bis zum Abklingen dieser 
Panik ( das heisst Vorsicht groesser als Schwellenwert) nicht mehr gerecht-
fertigt. (Ausnahme erneute Flucht vor etwas anderem, dann aber nur wenn kein
anderer Fluchtweg mehr moeglich ist.)


So und jetzt rein Spieltechnich betrachtet:
1. Vorsicht, Panikflucht, Strategiche Flucht:
Die Vorsicht und Hals-Ueberkopfflucht ist ein verselbststaendigen der Spielfi-
figur zur Vermeidung aus technich bedingten Uebertragungsschwierigkeiten
rollenspielerich nicht zu vertretbarer Tode.
Will heissen: Vorsicht und Flucht sind dazu da damit ein Spieler nicht aus 
anderweitigen nicht zum Rollenspiel gehoehrenden Gruenden stirbt.
Im wesentlichen ist das der Fall wenn dem Spieler aufgrund Netzbedingter
Verzoegerung die Moeglichkeit zur Flucht gaenzlich genommen wird. Es ist gar
nicht mal ein ganz und gar Halsueberkopf fluechten, da der Spieler ja selbst
entscheidet ab welchem
Zeitpunkt er fluechten will.
Nur ist es eben wie besagt trotzdem moeglich, das aus technichen Gruenden
(die Verzoegrung von Fluchtinformation an den Spieler und/oder der 
strategiche Rueckzugsbefehl zum MG-Computer) ein Sterben moeglich ist und
ich sehe darin eine hinreichende Begruendung die Vermeidung dahingehend zu
erweitern, dass dieser Fall mitberuecksichtigt wird. Ich verlange ja gar keine
Fluchtrichtung fuer jedermann, da hat A. absolut recht, es muss auch nicht ein
Befehl wie der von Acrimon sein. Es sollte lediglich eine Moeglichkeit sein,
den Kampf bewusst vor einer Panikflucht beenden zu koennen, ohne befuerchten
zu muessen durch dieses Fluechten wollen spaeter in den Tod zu gehen.
Von miraus kann das auch ein Befehl FLIEHE <Richtung> sein, der nur mit be
bedingter Warscheinlichkeit diese Richtung einschlaegt, und der Nachricht:
"Du bist bereits geflohen" wenn man schon aufgrund einer
Hals-Uerberkopf-Flucht
geflohen ist. Wobei natuerlich die Warscheinlichkeit ob man in die gewuenschte
Richtung geflohen ist vom Adrenalinspiegel und der Wert der normalen Flucht-
richtung abhaengt oder aber lediglich von der normalen Fluchtrichtungswert,
wenn man zum Zeitpunkt des Aufrufs der Funktion schon unter dem Vorsichtsch-
wellenwert ist, aber noch nicht gefluechtet ist.

.Scripter:
Es sollten nicht alle Vorschlaege die fuer die Allgemeinheit gut sind,
mit der Begruendung das sie fuer Scripter auch gut sind abgewiesen werden.
Sollen wir schwerwiegende Einschraenkungen hinnehmen, weil ein paar 
Scripten muessen? ( Dies ist zumindest eine schwerwiegende Einschraenkung,
wenn
es einem mit 999.999 Exp passiert, weil er dann 333.333 Erfahrungspunkte ent-
weder durch viel Questen oder Dauermetzeln aufhohlen muss.)
Im Uebrigen halten sich doch Scripter wohl nur an Monster, die sie kennen,
und besiegen. Sie werden deshalb wohl kaum fliehen, und wenn erst wenn sie den
Vorsichtwert erreicht haben und dann ihren Standpunkt durch geschicktes Wander
und fehlwandern automatisch festmachen. Oder aber Sie werten ihre LE
automatisch aus, dann koenen sie aber auch den Ort immer lokalisieren egal ob
sie per Script oder per
Flucht abhauen. Daher waere es fuer diese Momentan auch guenstiger die 
Vorsicht-flucht abzuwarten, wobei diesen keine Nach- oder Vorteile bis
auf eine bedingte Vorauswahlmoeglichkeit der Fluchtrichtung entstehen.
O.K. vielleicht nuetzt ihnen das was beim staendigen Auftanken. Aber das 
Risiko koennen die auch dadurch vermeiden dass sie Paartou bestimmte Monster
angreifen die diesbezueglich gut liegen. Z.B. Wenn die Monster genau an einem
Sackgasse sind (ein Fluchtweg, d. heisst mit einem Fehlschritt weiss man immer
Sicher wo man steht). Demgegenueber ist der Normale-nicht-scripter und 
non-metzel-koenig zum einen meist nicht mit der Umgebung vertraut, er kennt
die Gegner nicht so gut, d.h. der Vorsichtmodus ist nicht unbedingt fuer 
diesen Gegner optimal, und die Gegner sind einem auch nicht ganz so stark
unterlegen wie bei den Scriptern im Regelfall sind sie einem wenn man doch
vor ihnen Fluechten will Haushoch ueberlegen. Z.B. Sandhaie in der Wueste,
wo man doch relativ oft fluechtet, weil die einen Verfolgen.(CHAOTEN meldet
euch zu Wort, Stichwort: VERFOLGEN.)

Dann gibt es noch die Gildenfaehigkeitserhoehungsskripts, zumal ich ja durch
einen Feuerteufel erledigt wurde, darf ich die ja gar nicht auslassen.
Hierbei ist wohl nur zu sagen, das hier die Skripter, sich sehr viel
besser und schneller eine halbwechsangemessene Ruestung zulegen koennen und
ein Skript eine viel bessere Reaktionszeit hat wie ein Mensch, abgesehen davon
hat ein Scripter wohl auch hoehere Stats als unserereins, hat also erheblich
weniger Schwierigkeiten mit den Gegnern die hierbei kommen. Durch die
Moeglichkeit
in der Erschoepfungsphase schnell hohere Ruestung an und wieder auszuziehen
haben diese auch noch mehr Lebenspunkte, wenn sie versehentlich einen 
Feuerteufel oder eine Hornisse oder sowas beschwoeren. Alles in allem sind
die Faehigkeitsscipter also vom Bisherigen System weniger Stark betroffen.
Soul denkt ooO( Jetzt komm ich wohl ins pure Labern).
Ach fertig, der Artikel ist sowieso schon zu lange...

Soul ( uebt nach Moeglichkeit HAND gegen Kanickel vor dem PORTAL)

-----------------------------------------------------------------------------



Re^5: Tod durch Flucht! (Fyt, 14. Jun 1996, 15:19:44):
~#! rn=Soul rt=834757857
~#! tid=834588963

Naja konsequent heisst dass, es darf kein Sterben geben, solange
nicht nachgewiesen ist, dass das nicht moeglicherweise technisch
bedingt war. Sterben ist heutzutage doch ausgesprochen billig 
geworden, ich frag mich, was da soooo schlimm daran ist, wenn es 
reihum die Leute mal zerlegt? 

Und in unbekannten Gebieten hab ich die Vorsicht in aller Regel auf
ca 100 LP, das kann jeder mit Ausdauer 8 auch, oder?

Fyt.

PS: Uebrigens ist 'Scripter' kein Beruf, 'Scripter' gehen auch 
manchmal in neue Gebiete und gucken sich neue Monster an. Zur Not
sogar 'per Hand'.

-----------------------------------------------------------------------------



Re^6: Tod durch Flucht! (Rochus, 14. Jun 1996, 15:32:35):
~#! rn=Fyt rt=834758384
~#! tid=834588963
So wie einige das betreiben IST Scripter ein Beruf.

-----------------------------------------------------------------------------



Der Wurm. (Paracelsus, 14. Jun 1996, 17:28:52):
Hi Leute.
Tja, wie soll ich euch das jetzt nur wieder beibringen? Also:
Ich habe gerade ein wenig in meinem hauseigenen Labor ein wenig
herumexperimentiert. Dabei entstand ein hypermagischer, hochfrequent
schwingender Wurm. Leider ist bei dem Experiment etwas schief gelaufen,
denn der Wurm ist raus (aus dem Labor).
Dieser eine besondere Wurm scheint gefallen an der MudLib gefunden zu
haben, jedenfalls hat er sich dort eingenistet. Ja, ihr habt richtig
gelesen: In der MudLib ist der Wurm drin!
Naja, zum Glueck nicht in der ganzen MudLib. Er hat sich nur bei den
Waffen und Ruestungen eingenistet. Und darum kann es jetzt vorkommen,
dass Waffen mit der Zeit stumpf werden und Ruestungen langsam in ihrem
Schutz nachlassen.
Doch keine Angst, das geht nicht allzu schnell, und Beschaedigungen an
Waffen und Ruestungen lassen sich ja auch reparieren, hab ich mir sagen
lassen.
Ihr werdet wohl damit leben koennen.

Der boese Paracelsus erzaehlt heute mal Gute-Nacht-Geschichten.

P.S.: Lob an mich, Flames an ... hmm, gruebel ... ach, schickt sie an
      Bendeigid ];-)

-----------------------------------------------------------------------------



Re^4: Stups (Wurzel, 14. Jun 1996, 17:41:13):
~#! rn=Wargon rt=834751070
~#! tid=834712189
hi,
habe den thread noch nicht zu ende gelesen, aber nur ganz kurz ein wenig
senf dazu:
forscherpunkte koennen auch fuer andere sachen als details vergeben werden.
ich habe keinen ueberblick ueber die vorhandenen fps, moeglicherweise wird
das noch nicht so sehr genutzt. sollte aber, und wird bei allem, was ich grad
in arbeit habe, auch beruecksichtigt. empfehlung an die kollegen, es genauso
zu machen.

wurzel

-----------------------------------------------------------------------------



Re: Re: Stups (Asmodis, 14. Jun 1996, 17:54:04):
~#! rn=Raffi rt=834739434
~#! tid=834712189
Hmm, falls die Zts aus der stups-wertung rausgenommen werden, verliert
man bis zu 400 stups, sollte man aber nicht tun, denn dann wird Stufe
35 nur ganz schwer zu erreichen sein (foerdert wieder fp-scripts),
also lasst sie drin.

-----------------------------------------------------------------------------



Re^4: Stups (Asmodis, 14. Jun 1996, 17:57:10):
~#! rn=Wargon rt=834751070
~#! tid=834712189
Ganz einfach, weist die Magier darauf hin, dass sie in Nicht-Quest-Raeumen
aktionen einbauen, auf die durch details hingewiesen wird. Ich hab da schon
einige Schoene Sachen gefunden (zuletzt in einem Raum von Baron).
Das kann man bestimmt nicht einfach so automatisieren, wenn die Leute schon
scriptet, dann muessten sie sich die texte dann auch durchlesen :)

-----------------------------------------------------------------------------



Re^3: Stups (Raffi, 14. Jun 1996, 18:04:19):
~#! rn=Asmodis rt=834767644
~#! tid=834712189

Seint mir als haetten wir uns langsamm in einer Wiederspruchsschleife zwecks
Besitzstandswahrung verfangen. Jep, dein Argument ist nicht von der Hand zu
weisen.

Meine Ueberlegung zum Thema ZT war das die Einbeziehung der ZT in die StuPs
nur ZT-Scripte foerdert. Das sollte ja nicht sein. m.E. ist ein ZT an sich ja
bereits ein Wert der zum sammeln anregt (ich liebe meine Staerke), und daher
keine weitere Belohnung benoetigt.

Das Dilemma mit den 400 Stupsen liese sich dadurch loesen das man die Stufe 35
wieder auf Stufe 31 runternimmt - dann waere es wurscht (fuer die
Faehigkeiten) ob die ZT Stupse geben oder nicht.

Gruss
H.

-----------------------------------------------------------------------------



Re: Re: Der Wurm. (Mupfel, 14. Jun 1996, 18:09:23):
~#! rn=Anakin rt=834766236
~#! tid=834766132
Diesen 'Wurm' hat Wargon schon vor laengerem 'installiert'. Paracelsus hat ihn
nur 'scharfgemacht'... 

-mupfel-

-----------------------------------------------------------------------------



Re^4: Stups (Asmodis, 14. Jun 1996, 18:13:18):
~#! rn=Raffi rt=834768259
~#! tid=834712189
Hmm, wenn deiner meinung nach aber die Zts rausgenommen und die fps reduziert
weren sollen, wodurch sollte man dann noch stups bekommen ? Da werden nur die
'einfachen' Gilden bevorzugt, und da kann man auch scripten :)
Dann hast du nur ein Script durch ein anderes ersetzt.

-----------------------------------------------------------------------------



Re^3: Der Wurm. (Raffi, 14. Jun 1996, 18:23:36):
~#! rn=Mupfel rt=834768563
~#! tid=834766132

Hmm schoen und gut (ja ja, ob gut weiss ich noch nicht, aber mal sehen),
aber wie schaut die 'Abnuetzung' aus - altern die waffen einfach
(onlinestunden) oder nutzen sie sich ab (schlaege) ?

Wenn Altern in welchem Tempo (ungefaer).

Wenn  Abnutzen, dann wie
- Durch anzahl Kaempfe ?
- Durch Anzahl Schlaege ?
- Durch Anzahl Treffer oder Fehler ?
- Durch haerte der Treffer ?
- oder wie ?

Gibts dann auch wo eine Stelle die OBJEKTIV - aussagt wie abgenuetzt eine
Waffe ist ? (z.B. Als Prozentzahlen ?)

Was ist mit Ruestungen ?

Nutzen die sich mit jedem abgehaltenen Treffer ab, oder mit jedem
Durchgelassenen ? (Durchgelassen waere logischer)

Vor allem man hat ja mehrere Ruestungsgegenstaende - geht das auf alle gleich?

Heisst das eigentlich das es (fast) keine intakten Ruestungen mehr geben wird?
(Ich geh mal davon aus das man weiterhin Monster pruegeln muss um an deren
 Zeugs zu kommen, und das selbiges dann natuerlich bereits abgenuetzt ist.)

Ueberhaupt, wo kann ich dann rparieren lassen? (ich hoffe mal an moeglichst
vielen stellen - Die Idee gefaellt mir sogar, da mann dann wieder Geld haben
muss zum Ausgeben...)

Gruss
H.

P.S.: Kann man dann auch sachen auf ueber 100% bringen ? (als ausgleich, da
die allgemeine Kampfkraft ja sinken wird, da nie Waffe oder ruestung 100% hat

-----------------------------------------------------------------------------



Re^4: Der Wurm. (Dhojakt, 14. Jun 1996, 18:26:00):
~#! rn=Raffi rt=834769416
~#! tid=834766132
Naja, ich will doch mal stark hoffen, dass sich ein metallpanzer sehr viel
langsamer als ne lederjacke abnuetzt... fuer waffen dito.
Khidar.

-----------------------------------------------------------------------------



Re^5: Stups (Raffi, 14. Jun 1996, 18:28:18):
~#! rn=Asmodis rt=834768798
~#! tid=834712189

Ich dachte eigentlich daran das es WESENTLICH mehr FPs geben sollte (einer pro
raum :) - welche dann aber auch nur 1:1 in StuPse zu wandeln sind.

Scripten: na ja.. wer unbedingt will bastelt sich immer einen Grund zum
scripten, das ist aber kein grund jede Idee gleich zu verwerfen.

Ich versuch mir halt zu ueberlegen wie man das absufen, ausgleichen kann, das
der Vorteil eines Scrippts nicht SOOO  riesig ist, bzw. die verfuehrung!

Es wird immer scripter geben, gebnauso wie es immer Seher geben wird mit nur 3
Onlinttagen ...

Gruss
H.

-----------------------------------------------------------------------------



Waffen schwaecher?! Monster auch?! (Valarian, 14. Jun 1996, 18:31:02):
Hiho Paracelsus!

Die Idee mit den Waffen und dem Abnutzung ist ja objektiv gesehen ganz nett,
aber subjektiv ist sie fuer Spieler natuerlich nix :))

Es mag zwar realistischer sein, aber dann sollten Monster auch abgeschwaecht
werden.
 deshalb ist es unsinnig ueber eine Abschwaechung der Spieler nachzudenken ;)
Also halbtote Viecher muessen dann auch abgeschwaecht werden und deren Waffen
natuerlich auch :)

*schmarrn off*

Ich findes es schade, dass man jetzt noch mehr Zeit fuer Ausruestung aufwenden
muss. Ich dachte, dass sollte nur ein kleiner Bestandteil sein und man sollte
forschen und reisen, aber das mach ich eigentlich nie ohne ausrue :)

Gruss der Schwertschleifende Vali.

-----------------------------------------------------------------------------



Re^3: Stups (Rudiratter, 14. Jun 1996, 18:33:22):
~#! rn=Asmodis rt=834767644
~#! tid=834712189
Ich habe Level 36. Ich habe keine Untscipts, ich habe in letzter Zeit wenig
angeschaut ausser Toeters Insel und Paracelsus' Gebiet.
Hoert auf zu jammern. Man schafft die Levels auch ohne Script.
Rudi

-----------------------------------------------------------------------------



Re^4: Stups (Asmodis, 14. Jun 1996, 18:34:47):
~#! rn=Rudiratter rt=834770002
~#! tid=834712189
Klar, Level 38 hab ich auch ohne script geschafft, level 39 bekam ich dann 
durch die Unschaerfe geschankt.
Level 35 zu erreichen ist momentan moeglich, aber falls die Grenze wirklich
auf Level 40 angehoben wird, dann ist das hart.

-----------------------------------------------------------------------------



Re^4: Der Wurm. (Rumata, 14. Jun 1996, 19:06:40):
~#! rn=Raffi rt=834769416
~#! tid=834766132
Haeh? Ich dachte immer, es sei sinn des Mudlebens, solche Sachen
vielleicht selber herauszufinden (ggf mit anderen Spielern zusammen).
Rumata, wundert sich...

-----------------------------------------------------------------------------



Re^5: Der Wurm. (Mupfel, 14. Jun 1996, 19:13:58):
~#! rn=Dhojakt rt=834769560
~#! tid=834766132
Nein tut er nicht.

-mupfel-

-----------------------------------------------------------------------------



Re^6: Tod durch Flucht! (Rzne, 14. Jun 1996, 19:18:26):
~#! rn=Orktoeter rt=834755136
~#! tid=834588963
Orki,

wenn Du Dich ungerecht behandelt fuehlst, ist dass die eine Sache. Aber alle
seine Artikel mit "Orktoeter muss den gelben Scriptstern tragen" zu
unterschreiben empfinde ich - gelinde gesagt - als Sauerei. Denn es ist wohl
nicht einmal mehr eine Interpretation dieser Aussage, wenn man herausliest,
dass damit denjenigen, die Dich fuers scripten beschuldigen, eine historische
Rolle zugewiesen wird, die sie nicht verdient haben.

Um etwas Wuerze reinzupacken: Wuerdest Du es besonders lustig finden, wenn ich
meine Artikel unterschriebe mit: "Ryne empfiehlt, alle Scripter zu vergasen" ?

Also lass den Scheiss.

Ryne

-----------------------------------------------------------------------------



Re^4: Der Wurm. (Cauno, 14. Jun 1996, 19:21:26):
~#! rn=Raffi rt=834769416
~#! tid=834766132

Ich glaube, ein natuerliches Verfallsdatum tragen alle Waffen, Ruestungen und
sonstiges: Das des naechsten Reboots.

C.No fragt sich, ob die Lebensdauer der Ausruestung die des MUDs
ueberschreiten soll ...?

-----------------------------------------------------------------------------



Re^5: Der Wurm. (Mupfel, 14. Jun 1996, 19:58:01):
~#! rn=Cauno rt=834772886
~#! tid=834766132
Der 'naechste Reboot' ist eigentlich mehr ne Art Unfall... normalerweise
sollte das MUD Wochenlang durchlaufen ohne Reboot (ne Weile war das auch so),
so dass Waffen und Ruestungen durchaus kuerzer leben koennen.

-mupfel-

-----------------------------------------------------------------------------



Re: Der Wurm. (Baron, 15. Jun 1996, 17:50:12):
~#! rn=Paracelsus rt=834766132
~#! tid=834766132
Hm, sich abnutzende Ruestungen? Kenn ich das nicht von irgendwoher :)? Und das
HIER in einem Mud, dessen 'Fuehrung' sich des haeufigeren abfaellig ueber die
'Ableger' des grossen Morgengrauen auessern, weil diese Muds eh nicht
innovativ arbeiten, sondern nur klauen?

irr kichernd,
Red@wunderland

-----------------------------------------------------------------------------



Re^3: Der Wurm. (Lug, 16. Jun 1996, 19:36:20):
~#! rn=Mupfel rt=834768563
~#! tid=834766132

Wurm?

Auch das noch? *Stoehn* Was soll das eigentlich alles. Wollt Ihr weniger
Spieler im MG?

Kopfschuettelnd

Lug

-----------------------------------------------------------------------------



Re^4: Der Wurm. (Mupfel, 16. Jun 1996, 22:10:18):
~#! rn=Lug rt=834946580
~#! tid=834766132
Nein sie wollen die Spieler aus UNItopia abwerben, die das immer schon so
haben.... :-)

-mupfel- (schmarrnd rum)

-----------------------------------------------------------------------------



Re: Der Wurm. (Li, 17. Jun 1996, 09:14:35):
~#! rn=Paracelsus rt=834766132
~#! tid=834766132
Also ich glaube nicht, dass die Idee gut ist, die Spieler im Moment noch mehr
zu veraergern, wo die Stimmung doch sowieso schon auf dem Nullpunkt ist.
Ausserdem finde ich die Idee ziemlich mistig, besteht die Aufgabe der Magier
nur darin, es den Spielern schwer zu machen? Okok, das mit der Abnutzung ist
relisstisch, aber zu viel Realismus ist nicht spielfoerdernd sondern
stimmungszerstoerend, da man sich (als Spieler!) mit zu viel Nebendingen
beschaeftigen muss.
Ich glaube nicht, dass die Einfuehrung der Abnutzung eine gute Idee war.
Para*, verbann den Wurm schnell wieder in die Dimension, aus der er kam!
Li( ist zwar schon gewoehnt, dass Magier nicht mehr gefragt werden, wenn so
eine entscheidende Aenderung gibt, aber sauer bin ich trotzdem jedes Mal. Ich
will gar keine lange Diskussion jedesmal vor einer kleiner Aenderung, aber
etwas Infos vorher schaden nicht. ) 
P.S. Inzwischen bin ich davon ueberzeugt, dass die schlechte Stimmung im MUD
nicht mehr nur durch Scriptgeilen Spielern, Komplettloesungen u.ae. produziert
eird. Immer mehr kommen unausgeteste, schlecht ueberlegte, konzeptionell
unausgereifte Sachen, einsame Einzelentscheidungen einzelner Magier zum
Anschluss.
Denkt nicht, das Motto: Wem es nicht gefaellt, der kann ja woanders hingehen,
laesst sich so durchziehen. Wir werden schnell genug sehen, wo das hinfuehrt.
P.P.S. dies war jetzt keine Flame gegen Paracelsus, sondern nur der aufhaenger
fuer einige Gedanken meinerseits. Die Spieler regen sich nicht auf wegen der
einfuehrung der STUPs sondern darueber, dass das system schlecht durchdacht
ist, schlecht ausgefuehrt und buggy ist/war. OkOk, ich erkenne ja die Arbeit
an, haette auch nichts besseres gewusst, aber waere ein wenig testphase mehr
nicht besser gewesen?

-----------------------------------------------------------------------------



Re: Re: Der Wurm. (Anakin, 17. Jun 1996, 09:40:43):
~#! rn=Li rt=834995675
~#! tid=834766132
Tja Li, wie soll ich sagen....Recht hast Du.

Anakin.

-----------------------------------------------------------------------------



Re^5: Der Wurm. (Morgoth, 17. Jun 1996, 09:57:19):
~#! rn=Dhojakt rt=834769560
~#! tid=834766132
tja, damit hast du wohl nen wunden punkt erwischt. dafuer muessten naemlich
die materialien angegeben werden. dies gibt es leider im MG nicht. also ist
panzer gleich panzer, egal ob metall oder leder ;-(( 
morgoth

-----------------------------------------------------------------------------



Re^4: Stups (Snuggle, 17. Jun 1996, 11:30:57):
~#! rn=Wargon rt=834751070
~#! tid=834712189
Die Antwort ist z.t. in die hinfuehrenden Details (auch wenn sie dann halt von
FP-Skripts erwischt werden und z.T. in Sachen, die zur eigentlichen Loesung
derQuest ueberhaupt nicht beitragen, sondern lediglich der stimmung dienen.
Die eigentliche Aktion wird dadurch bereits belohnt, dass man in der Quest
vorankommt. Ausserdem brauchen KLquester keine FP zu bekommen.

YTSnuggle

-----------------------------------------------------------------------------



Re: Re: Der Wurm. (Boing, 17. Jun 1996, 12:24:41):
~#! rn=Baron rt=834853812
~#! tid=834766132
Ich denke nicht, dass die 'Fuehrung' dieses Muds sich abfaellig ueber 
Ableger aeussert, es kann durchaus sein dass Einzelpersonen, die mehr oder
weniger zufaellig Teil der 'Fuehrung' sind das tun, aber ich wehre mich
gegen die Verallgemeinerung.
  Boing

-----------------------------------------------------------------------------



Re: Re: Der Wurm. (Wurzel, 17. Jun 1996, 17:34:18):
~#! rn=Li rt=834995675
~#! tid=834766132
genau. punkt.

wurzel freut sich, dass sie nicht alleine steht

-----------------------------------------------------------------------------



Re: Re: Der Wurm. (Lug, 17. Jun 1996, 20:13:51):
~#! rn=Li rt=834995675
~#! tid=834766132

Zu Li:

Danke Li! Irgendwie hast Du genau das ausgedrueckt, wo der Hund begraben
liegt. Vielleicht hoert ja mal einer drauf.

Lug

-----------------------------------------------------------------------------



Re: Re: Der Wurm. (Schrumpfi, 17. Jun 1996, 21:26:56):
~#! rn=Li rt=834995675
~#! tid=834766132
Aeh, eigentlich hab ich ja was gegen diese 'Ja, da Hast Du Recht' Artikel aber
Du hast mir soeben aus der Seele geschrieben. Das MG hat schon so einige
Spieler verloren und es werden nicht weniger mit Solchen Aktionen. 
Schrumpfi nickt Li wild zu.

-----------------------------------------------------------------------------



Re: Der Wurm. (Predator, 17. Jun 1996, 22:59:49):
~#! rn=Paracelsus rt=834766132
~#! tid=834766132
Waere schoen, wenn man den zustand der waffen auch ablesen koennte :)

-----------------------------------------------------------------------------



Re: Der Wurm. (Predator, 18. Jun 1996, 10:55:51):
~#! rn=Paracelsus rt=834766132
~#! tid=834766132
Nachdem ich mich gestern etwas kurz gefasst habe, heute noch mal ausfuehrlich.
Also ich finde diese Idee der Abnutzung wirklich gut, aber sie hat noch (aber
hoffentlich nicht mehr lange) ein paar grosse fehler:
1. status muesste angezeigt werden(z.b. ausgezeichnet, sehr gut....)
2. khidar erwaehnte es schon mal, wenn sich lederruestung und metallpanzer
gleich schnell abnutzen ist das echt zum ko....
also muss erstmal halt ne neue propertie fuer JEDES teil gesetzt werden, wie
schnell sich das zeug abnutzt....

und noch ne kurze frage: wie laeuft das mit der abnutzung, zeitlich oder durch
kaempfe gesteuert??

Predator, unterstuetzt (fast) jede Neuerung

-----------------------------------------------------------------------------



Re: Re: Der Wurm. (Acrimon, 18. Jun 1996, 15:17:16):
~#! rn=Li rt=834995675
~#! tid=834766132
So ist es, die Abnutzung ist nicht foerderlich fuer den Spielspasz.
Klar ist es realistischer, aber es ist doch gerade der Vorteil eines Spieles,
wenn man sich NICHT um laestige Angelegenheiten kuemmern musz, die staendig
wiederkehren.
Am Ende fehlte es noch, dasz man verhungert oder verdurstet (stirbt), wenn man
nicht isst oder trinkt... dasz man Verstopfung bekommt und zum Arzt musz, wenn
man nicht scheiszt... dasz man jeden Tag sein Seherhaus putzen und von Staub
befreien musz, damit nicht alles unter einer undurchlaessigen Staubschicht
verschwindet...

Nein danke!

Acrimon, der Rote Ritter

-----------------------------------------------------------------------------



Re^3: Der Wurm. (Anatol, 18. Jun 1996, 18:44:22):
~#! rn=Acrimon rt=835103836
~#! tid=834766132

Ich moechte ja nicht dauernd darauf rumhacken, Acrimon, aber wenn Du 
dafuer plaedierst, den Realismus fallenzulassen, koenntest Du auch statt
"Spasz" eher "Spass" haben, oder?

Findet DIESEN Realismus entschieden zu viel,
Anatol (JA, VERLEGT ES DOCH NACH SCHMARRN ;) )


-----------------------------------------------------------------------------



Re: Re: Der Wurm. (Wurzel, 18. Jun 1996, 21:00:58):
~#! rn=Predator rt=835088151
~#! tid=834766132
hmm, abnutzung durch zeit? dann muessten ja ruestungen verrosten (oder im
fall von leder verschimmeln), das waere erstens etwas zuviel realismus
und zweitens liesse sich sowas leicht verhindern, in dem man sein zeug
ordentlich einoelt (oder sowas).
nein, die abnutzung kommt durch kaempfe, sonst nichts.

wurzel

-----------------------------------------------------------------------------



Re^3: Der Wurm. (Feuerwehr, 18. Jun 1996, 21:48:53):
~#! rn=Wurzel rt=835124458
~#! tid=834766132
Ha. Wenn ich jemals einen Vollstrecker bekomme, dann
kommt der ueber meinen Kamin. Immer schoen, immer fein.
Frage: Wie ist das mit verkauften und wiedergekauften Waffen?
Ist da Abnutzung? Kann man fuer viel geld ein im Sterben liegendes
Schwert kaufen?
 
Feuerwehr (Baby-Seher :))

-----------------------------------------------------------------------------



Re^4: Der Wurm. (Wurzel, 18. Jun 1996, 21:49:41):
~#! rn=Feuerwehr rt=835127333
~#! tid=834766132
man kann.

-----------------------------------------------------------------------------



li (Zuerileu, 19. Jun 1996, 02:37:09):
Hallo,

Jo Li, klasse Artikel du hast mir aus dem Herz geredet !!!

Tschuess zuerileu

ps: hmm.. ausnahmsweise mal kurz =:)

-----------------------------------------------------------------------------



Der Wurm ist tot (Paracelsus, 19. Jun 1996, 10:05:50):
Aufgrund der allgemeinen Reaktion hab ich den Wurm gezappt. Ihr braucht also
jetzt keine Angst mehr um eure Waffen/Ruestungen zu haben, es sei denn, 
der Magier, der das Objet geschrieben hat, hat selbst etwas eingebaut, 
was zu Beschaedigungen fuehrt (Wozu hiermit alle Magier aufgerufen sind).
Die Schmieden, die bereits programmiert wurden, sollten von daher nicht
umsonst programmiert worden sein.
Paracelsus.

-----------------------------------------------------------------------------



Re: Der Wurm ist tot (Fyt, 19. Jun 1996, 12:20:33):
~#! rn=Paracelsus rt=835171550
~#! tid=835171550

Also ich find den Wurm in 'besseren' Sachen nach laengerem Nachdenken
gar nicht so uebel, insbesondere wenn ich mich an die 'ewige Uptime'
erinnere und jeder mit Srue und BSS rumgerannt ist. Vielleicht kann
man es ja auf die 'besonders' guten Waffen/Ruestungen beschraenken,
den ganzen Vorgang erst nach 'n paar Tagen Uptime anlaufen lassen
und den Verfall irgendwo bremsen. Also sagen wir Srue von 200 auf 150
runter. Dann ist das Ding immer noch brauchbar, aber wer was 'richtig
Gutes' will, muss sich halt nochmal strecken...

Fyt, zwei Pfennige auskramend.

-----------------------------------------------------------------------------



Re: Re: Der Wurm ist tot (Paracelsus, 19. Jun 1996, 12:26:34):
~#! rn=Fyt rt=835179633
~#! tid=835171550
Das liegt jetzt in den Haenden des/der jeweiligen Magiers/Magierin.
Bleibt nur zu hoffen, das sich da auch was tut.
Paracelsus.

-----------------------------------------------------------------------------



Re^3: Der Wurm ist tot (Raffi, 19. Jun 1996, 12:38:39):
~#! rn=Paracelsus rt=835179994
~#! tid=835171550

Hmm also ja mehr ich darueber nachdenke, desdo weniger gefaellt mir
das Ganze. Fyts Idee mit der Uptime ist ja ganz nett, aber wen trifft
es denn am meisten ? Doch den 'kleinen' der nur nach laengerer Uptime
mal die Chance hat (egal auf welchem Wege) an BSS, Scharue oder so zu
kommen. Der 'gute' Seher, kann sich nee Scharue immer wieder und im
Vorbeigehen besorgen! (Hab ein parmal versucht Khidar dabei zu beobachten
wie er etwas killt - war praktisch nicht sichtbar, so hart haut der zu!)

m.E. wird hier wiedermal nur auf die 'Maximal'Spieler geschaut, und das
Gro' der 'Kleinen Leute' ignoriert.

Gruss
H.

-----------------------------------------------------------------------------



Re^4: Der Wurm ist tot (Fyt, 19. Jun 1996, 15:00:47):
~#! rn=Raffi rt=835180719
~#! tid=835171550

So war's eigentlich gerade nicht gedacht. Und der 'kleine' Spieler
kann in der Regel auch mit ner Srue, die 80% vom 'Topzustand' schuetzt,
leben. Und wenn er nicht in der Lage ist, sich das Ding zu besorgen
oder besorgen zu lassen, dann ist es halt nix fuer ihn, oder versteh ich
das Prinzip hier falsch und es sind doch alle gleich?

Fyt.

-----------------------------------------------------------------------------



Re: Re: Der Wurm ist tot (Raffi, 19. Jun 1996, 15:03:36):
~#! rn=Fyt rt=835179633
~#! tid=835171550

In die Gleiche Kerbe schlaegt ja auch das Thema mit den 'guten' Ruestungen
die die Haendler jetzt behalten. Ein Seher hat keine muehe mal nen Elfen-
waechter (im vorbeigehen) zu plaetten, und sich da ne Ruestung zu besorgen
(fuer die Meisten ist der Lichtpanzer eh uninteressant - die greifen gleich
zu 'besserem'). Fuer einen Anfaenger ist es jedoch  was ganz anderes - der
kann meist auch mit viel Tanken keinen Knacken (Nichtmal ich schaffe das,
und ich bin weisgott - aeh weissboing - kein durchschnittsanfaenger mehr).
Und diesem wird es nun verwehrt durch entsprechendes Wespenmetzeln und
Stachelverkaufen das Geld dafuer zu sparen :(

Mal ganz abgesehen davon das durch solche Regelungen das entstehen eines
Warenkreislaufs verhindert wir - denn wer gibt schon Geld fuer sachen aus
die er einfacher selbst sammeln kann.

Was ich noch verstehen koennte ist wenn man die ABSOLUTE Oberklasse
(SchaRue, Gelbe Robe,SMS, Vollstrecker etc.), sprich alles was den jeweils
erlaubten Maximalwert fuer die Einzelnen Ruestungsklassen hat, sperren
wuerde, und ggf. weitere Sachen (Krone...) auf INDIVIDUELLER Basis.
Derzeit haben wir ja die Wizige Situation das Handschuhe, die den Maximal-
wert (fuer ihre Klasse) haben im Laden zu bekommen sind, 'ne durch-
schnittliche Ruestung jedoch nicht, obwohl selbige viel haeufiger im
'Umlauf' ist.

Ausgesuelzt
H.

-----------------------------------------------------------------------------



Re^3: Der Wurm ist tot (Highlander, 19. Jun 1996, 15:06:04):
~#! rn=Raffi rt=835189416
~#! tid=835171550
... das koennte ich mir fuer die oberen 10% der WC/AC durchaus so vorstellen.
Mehr Meinungen?
   HrT

-----------------------------------------------------------------------------



Re^4: Der Wurm ist tot (Fyt, 19. Jun 1996, 15:10:51):
~#! rn=Highlander rt=835189564
~#! tid=835171550

Naja, geanu auf die 'Rahmschicht' hatte ich es ja abgesehen. Nichts
ist frustrierender, als ueberall 100% zu haben (hoechstens noch der
Weg dahin :))) ).

Fyt.

-----------------------------------------------------------------------------



lies karte im raum (Yeti, 19. Jun 1996, 15:24:56):
obiges faende ich sehr sinnvoll, ich hab naehmlich grad das problem, ne karte
zu haben, die man lesen kann, und in dem raum ist ne andere karte, die auch zu
lesen ist. vieleicht hackts, ja mal jemand
Dankeschoen, Yeti

-----------------------------------------------------------------------------



Re: Der Wurm ist tot (Lug, 19. Jun 1996, 17:21:00):
~#! rn=Paracelsus rt=835171550
~#! tid=835171550
Moin,

ich moechte mich ausdruecklich bei Paracelsus bedanken. Es ist sicher nicht so
einfach etwas zurueckzuziehen, in das man Zeit und Arbeit gesteckt hat.
Dennoch: Ein Nervfaktor weniger und das freut mich auch. Spart mir das
Wegemacro, ewiges an- und ausziehen (oder ein reparier Script). Kurz: es macht
Sinn. Toll, dasss auf den Protest auch mal gehoert wurde, was man von anderen
nicht sagen kann.
Danke Paracelsus!

lug

P.S.: Fyt vergiss es einfach. Nun nerv nicht noch hinterher. Kannst ja Deine
Sachen in den Muelleimer werfen und Dir staendig neue besorgen. Hat einen
aehnlichen Effekt.

-----------------------------------------------------------------------------



Re: Re: Der Wurm ist tot (Fyt, 19. Jun 1996, 17:22:37):
~#! rn=Lug rt=835197660
~#! tid=835171550

Ich wollte den Wurm nicht (frag Mupfel :) ).
Ausserdem benutz ich eh kaum Waffen/Ruestungen. Wozu auch.
Ist doch 'n Questmud, oder? *huestel*

Fyt.

-----------------------------------------------------------------------------



Re: Re: Der Wurm ist tot (Anatol, 19. Jun 1996, 17:25:41):
~#! rn=Lug rt=835197660
~#! tid=835171550

/*
Nein, ich denke, das, was Fyt sagt, hat schon seine Hintergedanken.
Ob die Schattenruestung nun Ruestungsklasse "40" oder "38" hat, ist dem
Normalsterblichen Spieler - oder Seher - weitgehendst egal. Nur diejenigen, 
die wirklich Top-Qualitaet haben wollen und auch stundenlang irgendwo
Schlange stehen, wuerden dann zum Schmied tapern.
*/

Anatol


-----------------------------------------------------------------------------



Re: Re: Der Wurm ist tot (Schrumpfi, 20. Jun 1996, 03:54:21):
~#! rn=Fyt rt=835179633
~#! tid=835171550
Ich bin dafuer, dass das einfach dem proggenden Magier ueberlassen werden
soll.
S.

-----------------------------------------------------------------------------



Re^3: Der Wurm ist tot (Zuerileu, 20. Jun 1996, 05:01:44):
~#! rn=Anatol rt=835197941
~#! tid=835171550
Sali,
Klar hat Fyt ein hindergedanken, ihn als Karateka kratzt das ganze ja wohl am
wenigsten ob die Ruestungen und Waffen an Qualitaet verlieren. Ne eine solche
abnuetzung verschaerft nur die Kampfstaerken jedes karateka aufs neue. Da
diese dann wiedermal ein Vorteil der anderen gegenueber haben. Nein, der Wurm
ist vergraben, verfuettert, vertrocknet oder sonst was, lassen wir ihn in
frieden r[Cruhn!!

Tschuess Zuerileu

-----------------------------------------------------------------------------



Re^3: Der Wurm ist tot (Bendeigid, 20. Jun 1996, 08:35:08):
~#! rn=Raffi rt=835189416
~#! tid=835171550
Raffi, diese "witzige" Situation waer mir neu. Die Haendler behalten alle
Sachen, die eine gewisse, natuerlich auf die jeweilige Ruestungsklasse
abgestimmte, Obergrenze an Schutz ueberschreiten. Also den Laden, wo Du die
Top-Handschuhe gefunden hast moechte ich gerne sehen....

Z'par Servu,
            Bendeigid

P.S. Mir kommt da grade ein Verdacht..... mom ;)

-----------------------------------------------------------------------------



Ebene und History (Hate, 20. Jun 1996, 09:11:47):
Siehe hilfe ebenen.
-Ebene*Anzahl
Wirkung nach einem ende.

Hate.

-----------------------------------------------------------------------------



uebergehe thread (Marita, 20. Jun 1996, 09:40:19):
Hi aeh... Loco oder EM:
Rein technische Frage: Ist die Information, welche Threads man ignoriert,
nicht rebootfest wie z. B. die Info, welche Artikel man schon gelesen hat?
Ich bin etwas irritiert darueber, dass ich bei einem schon Wochen dauernden
Thread immer wieder neu uebergehen muss. Es ist zwar keine grossartige
Arbeit, 'uth' einzugeben, es ist halt reines Interesse mit der Frage nach
dem Warum. :-)

Kurzbeitrach!

-----------------------------------------------------------------------------



Re^4: Der Wurm ist tot (Anakin, 20. Jun 1996, 09:52:11):
~#! rn=Zuerileu rt=835239704
~#! tid=835171550
Hi,

Wie waere es wenn Karateka nach, sagen wir mal nach 800 Schlaegen
Schwielen an den Haenden bekommen und nicht mehr so gut zuhauen
koennen? :-)

Anakin.

-----------------------------------------------------------------------------



Re: uebergehe thread (Loco, 20. Jun 1996, 12:41:10):
~#! rn=Marita rt=835256419
~#! tid=835256419
Tja...
Ich bin ueber diese Sache auch ziemlich irritiert. Seitdem ich uebergehe
thread (und auch die Zeitungsmeldung) eingebaut habe, passiert es immer
wieder, dass Leuten diese verlorengehen.
Bisher habe ich den bug nicht dingfest machen koennen. Fest steht nur, dass
diese Informationen eigentlich sauber gespeichert und geladen werden. Und wenn
mirgendjemand mal rausfindet, wo das Problem liegt, bin ich fuer Hinweise
immer dankbar.

Ich habe selber schon einige Zeit vergeblich danach gesucht.

In der mpa selber scheint der Fehler nicht zu liegen, bloss wo dann?

Ratlos,
         Loco

-----------------------------------------------------------------------------



Re: Re: Der Wurm ist tot (Asmodis, 20. Jun 1996, 17:11:30):
~#! rn=Lug rt=835197660
~#! tid=835171550
Also ich hab auch nix gegen den Wurm, wenn man ihn etwas modifizieren
wuerde. Es ist z.B. nicht gut, dass ne Ruestung nach 10 Minuten schon
abgewertet wird, die sollte vielleicht ne Stunde metzeln ueberstehen,
damit koennte ich leben (meine Zweities uebrigens auch)
Ausserdem sollten manche Sachen ausgenommen werden, z.B. die
Kristallkrone, dazu braucht man ja auch tagelang, um alle Kristalle
zusammenzubekommen. Weiterhin alle autoload-Ruestungen und -Waffen
(falls das nicht so eingestellt war).

 Just my 3 souls, Asmodis

-----------------------------------------------------------------------------



Re^4: Der Wurm ist tot (Fyt, 20. Jun 1996, 17:13:01):
~#! rn=Zuerileu rt=835239704
~#! tid=835171550

Ich haette jetzt beinahe ein Wort geschrieben, das mit 'A' anfaengt und
mit 'rsch; endet, Zueri. Es gibt nicht nur Leute, die nur an sich selbst
denken, zumindest nicht immer. Ich hab uebrigens auch 'n Zweitie, den
die Abnutzung treffen wuerde...

Fyt.

-----------------------------------------------------------------------------



Re^3: Der Wurm ist tot (Anakin, 20. Jun 1996, 17:18:45):
~#! rn=Asmodis rt=835283490
~#! tid=835171550
Hi,

sollte es denn Autoload -Waffen und -Ruestungen ueberhaupt geben?
(abgesehen von der Hydraruestung).

Anakin.

-----------------------------------------------------------------------------



Re^4: Der Wurm ist tot (Boing, 20. Jun 1996, 17:38:32):
~#! rn=Anakin rt=835283925
~#! tid=835171550
Nein, es gibt nur wenige Ausnahmen (z.b. Hydraruestung, Zaubererstab ...)
  Boing

-----------------------------------------------------------------------------



Re^4: Der Wurm ist tot (Asmodis, 20. Jun 1996, 17:56:00):
~#! rn=Anakin rt=835283925
~#! tid=835171550
Ja, z.B. der Gi der Karatekas und der Zauberstab der Zauberer.
Und war das Wuestenschwert nicht auch autoload ? *gruebel*

-----------------------------------------------------------------------------



Re^5: Der Wurm ist tot (Zuerileu, 20. Jun 1996, 20:00:38):
~#! rn=Fyt rt=835283581
~#! tid=835171550
Hallo,
Och Fyt, ein zweiti? ochjee das ist aber ein grosses Opfer =:) das du da
bringst.
Ueberigens, lass dich von mir nicht hindern ein Arsch zu schreiben, ich stehe
zu meiner Meinung und bleibe dabei !

Tschuess Zuerileu

-----------------------------------------------------------------------------



Re^6: Der Wurm ist tot (Myself, 20. Jun 1996, 20:44:23):
~#! rn=Zuerileu rt=835293638
~#! tid=835171550
Hi,

zunaechst eine Anmerkung zum 'Wurm':
Die Idee an sich fand' ich auch gar nicht schlecht, nur ging es doch
zu schnell (die Abnutzung - man muss doch wenigstens eine etwas laenger-
dauernde Schlacht einigermassen durchstehen koennen) und ist in Zeiten
haeufiger reboots (also eines Art 'Superwurms') nervig.
Allerdings denke ich, dass das Thema nun gegessen ist - ein Zickzackkurs
taugt noch viel weniger.

Eine zweite Bemerkung:  Jemanden, der sich sachlich geaeussert hat, mit
der Begruendung niederzumachen, er haette es nur gesagt, um sich selbst
Vorteile zu verschaffen, ist meiner Meinung nach total daneben.
Erstens ist das Verhaeltnis der Gilden ein komplexes Thema fuer sich
und zweitens koennte man sich ja wohl die ganze MPA sparen, wenn da von
vornherhein nur eigensinniges Geschwafel von Egoisten drinnstehen wuerde.

Gruss,

Myself

-----------------------------------------------------------------------------



Re^3: Der Wurm ist tot (Schoko, 21. Jun 1996, 02:59:51):
~#! rn=Asmodis rt=835283490
~#! tid=835171550
Hmm also fest steht das BSS hat den Wurm.... nach 1h Metzeln in Moron hat mir
der Schmied in Wilhelmsburg 180 Muenzen fuer eine Reparatur abgeknoepft. 

Bleibt festzustellen, dass 180 Muenzen wohl nicht allzuviel sind fuer eine
derartige Metzelei :*) Also haelt sich der Frustfaktor #bis jetzt# in
Grenzen.......

Schoko (hofft, dass es nicht schlimmer wird)

-----------------------------------------------------------------------------



Re^4: Der Wurm ist tot (Raffi, 21. Jun 1996, 11:04:53):
~#! rn=Schoko rt=835318791
~#! tid=835171550

Als ob das geld das Problem waere - ich wuerde auch gerne 18.000 Muenzen
zahlen wenn das schwert dann 100h Metzeln aushaelt - aber bitte nicht
stuendlich als 180 mit dem zugehoerigen rumrennen :(

Gruss
H.

-----------------------------------------------------------------------------



Re^5: Der Wurm ist tot (Schoko, 21. Jun 1996, 14:25:39):
~#! rn=Raffi rt=835347893
~#! tid=835171550
Naja vieleicht sind 18.000 Muenzen fuer DICH kein Problem !!


::Aber was ich eigentlich mit dem vorgen Artikel sagen wollt ist: wenn die
::Reparatur nur 180 Muenzen gekostet hat, dann kann der Schaden ja nicht so
::gewichtig gewesen sein, obwohl ich 1h gemetzelt hab. Also kannst Du die Zeit
::ja mal hochrechnen wie lange Du fuer 18.000 metzeln kannst.


:schoko (hofft das die Magier auch logisch proportional gedacht haben)

-----------------------------------------------------------------------------



Re^6: Der Wurm ist tot (Raffi, 21. Jun 1996, 17:34:45):
~#! rn=Schoko rt=835359939
~#! tid=835171550

Ok, Schoko wenn 18.000 Muenzen fuer dich ein Problem sind, dann tun wir uns
einfach zusammen - du arbeitest fuer mich als
Schert-und-ausruestung-zum-reperieren-bringe-knappe, und ich zahl dir gerne
das Doppelte von dem was der Schmied will - du must nur so schnell sein das
ich nix merke :)

gruss
H.
P.S.: wire koennen auch mit ner pauschale von 10.000 Muenzen pro tag arbeiten
- dann will ich aber staendig ein 1a BSS & Sacharue&Co haben!

-----------------------------------------------------------------------------



Deklinationsfehler (Marita, 25. Jun 1996, 02:29:44):

Du findest an einem silbernes Kreuz kein "Uhr".

Ich habs nicht als Typo am Kreuz abgesetzt, weil es scheinbar ein
genereller Deklinationsfehler bei den Adjektiven ist, der wegen der
Seltenheit dieser Konstellation nur noch nicht aufgefallen ist.
EM: Nach dem Fixen ist dieser Artikel zum Loeschen freigegeben :-) Maridda

-----------------------------------------------------------------------------



Re: Deklinationsfehler (Hate, 25. Jun 1996, 08:27:31):
~#! rn=Marita rt=835662584
~#! tid=835662584
Vielleicht waere es sinnvoll, doch eine TYPO Meldung an das Objekt abzusetzen,
denn nachdem ich nachgesehen habe, kann es nur am Objekt liegen, welches
die korrekte Deklination scheinbar nicht bietet (Zur Erklaerung: Spezial-
faelle werden durch die Objekte definiert).
Also waere es schoen, wenn mir jemand sagt, wo das silberne Kreuz zu finden
ist bzw. einem Magier bescheid sagt, der mir dann den filenamen schickt.

Hate.

-----------------------------------------------------------------------------



Re: Re: Deklinationsfehler (Rumata, 25. Jun 1996, 18:32:55):
~#! rn=Hate rt=835684051
~#! tid=835662584
Hmm , ich wuerde eher sagen, da hat jemand
noch nicht erfahren, dasz es SetProp(P_NAME_ADJ,"silbern") gibt.
Rumata

-----------------------------------------------------------------------------



Re^3: Deklinationsfehler (Anatol, 25. Jun 1996, 18:34:26):
~#! rn=Rumata rt=835720375
~#! tid=835662584

"dasz"? Rumata ist ein Zweitcharakter von Acrimon?

Schwer mitgenommen,
Anatol


-----------------------------------------------------------------------------



Re: Re: uebergehe thread (Loco, 28. Jun 1996, 15:51:43):
~#! rn=Loco rt=835267270
~#! tid=835256419
Auf einen Hinweis von Quengistu habe ich den Fehler hoffentlich gefunden und
beseitigt - jedenfalls eine Stelle, wo er auftrat.
Welchen Fehler? Denjenigen, dass vielen Leuten immer mal wieder ihre
Zeitungsmeldungen und die Daten ueber ignorierte threads verlorengingen.

Also: Jetzt koennt ihr (hoffentlich) endlich eure Zeitungsmeldungen setzen,
ohne sie staendig reparieren zu muessen...

Wie immer gilt das natuerlich erst nach 'ende' bzw ab sofort fuer neugeclonete
Exemplare der MPA.

  Loco

-----------------------------------------------------------------------------



Kanaele (Acrimon,  1. Jul 1996, 19:01:03):
Es gibt noch einen kleinen Bug in den Kanaelen:
Wenn nach einem Leerzeichen ein ":", ";" oder "'" eingegeben wird, dann wird
dieses interpretiert!
Also:
-a :-)
-a ;-) Netter Witz
-a 'Nix da' hat er gesagt.
-a 'nimm alles aus leiche' ist die Syntax

Ergibt:

[Allgemein:Acrimon -)]
[Allgemein:Acrimons -) Netter Witz]
[Allgemein:Acrimon] Nix da' hat er gesagt.
[Allgemein:Acrimon] nimm alles aus leiche' ist die Syntax

Bitte verbessern!

Acrimon, der Rote Ritter

-----------------------------------------------------------------------------



Re: Kanaele (Raffi,  1. Jul 1996, 19:35:19):
~#! rn=Acrimon rt=836240463
~#! tid=836240463

(Achtung, es folgt KEIN Witz :)

Das ist kein Bug - das ist ein Feature!

Das wurde eingebaut um die bloeden Tippfehler ala

-a :jodelt
[Allgemein:Raffi] jodelt

zu verhindern.

Du siehst - wie mans macht macht mans falsch :)


Gruss
H.

-----------------------------------------------------------------------------



Re: Re: Kanaele (Acrimon,  1. Jul 1996, 20:05:26):
~#! rn=Raffi rt=836242519
~#! tid=836240463
Wer auszer Anfaengern macht denn schon solche Tippfehler!

Das ist kein Feature, sondern ein laestiger Bug.

-----------------------------------------------------------------------------



Re^3: Kanaele (Grimmborn,  1. Jul 1996, 20:08:21):
~#! rn=Acrimon rt=836244326
~#! tid=836240463

Anfaenger? Du meinst solche, die noch nicht wissen, dass man allgemein im Netz
das "sz" mit "ss" umschreibt?

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re^4: Kanaele (Engywuck,  1. Jul 1996, 20:10:06):
~#! rn=Grimmborn rt=836244501
~#! tid=836240463

Im Allgemeinen? Laut Duden ist an den Stellen, wo kein sz vorhanden ist, ss zu
schreiben, alles andere ist einfach falsch. Aber das kann halt nicht jeder
wissen ... ;)

TYE

-----------------------------------------------------------------------------



Re^5: Kanaele (Jariel,  1. Jul 1996, 20:47:54):
~#! rn=Engywuck rt=836244606
~#! tid=836240463
Ohje, nicht schon wieder.

Eben war noch die rede von moeglichen Bugs / Features in
den Kanaelen, und kaum dass man sich versieht, geht es
schon wieder um das 'sz' von Acrimon.
Seit ihr es nicht langsam leid, staendig euch daran
hochzuziehen? 

Das ist halt Acrimon's Markenzeichen. Und warum sollte
er sich das abgewoehnen? Zumal er sicher nicht der einzigste
ist, der 'sz' schreibt wenn er 'sz' meint. 

Ich frag mich bloss, was ihr macht, wenn die Rechtschreibreform
kommt. - Obwohl mir davor jetzt schon graust.

Die TF-ler, die es stoert sollten lieber die Energie in eine
'Anti-SZ.tf' Datei stecken wobei die 'sz' in 'ss' gewandelt
werden. Doch vorsicht, aus rausziehen sollte nicht raussiehen 
werden.

Jariel - hofft, dass diese Elende 'sz'-Diskussion endlich ein Ende hat.

-----------------------------------------------------------------------------



Re^6: Kanaele (Schoko,  1. Jul 1996, 20:49:49):
~#! rn=Jariel rt=836246874
~#! tid=836240463


Wieso ... wenn die Rechtsschreibreform kommt, dann ist endlich offiziell, was
sowieso schon jeder denk :

Es ist EGAL!!!

schoko

-----------------------------------------------------------------------------



Re^3: Kanaele (Snuggle,  1. Jul 1996, 21:46:26):
~#! rn=Acrimon rt=836244326
~#! tid=836240463
dann benutz doch einfach die kanaele nicht mehr, dann haste auch keinen aerger
damit

-----------------------------------------------------------------------------



Re^5: Kanaele (Morgoth,  2. Jul 1996, 07:04:44):
~#! rn=Engywuck rt=836244606
~#! tid=836240463
vielleicht sollte der mpa-parser das mal rausfiltern.
huhu loco, mach mal aus sz ein ss.
Morgoth

-----------------------------------------------------------------------------



Re^4: Kanaele (Har,  2. Jul 1996, 09:27:56):
~#! rn=Grimmborn rt=836244501
~#! tid=836240463
Stichwort ss, sz: seit der Rechschreibreform hat sich diese leidige Diskussion
ja wohl erledigt und kann endlich hier rausgehlaten werden :)
Har

-----------------------------------------------------------------------------



Re^5: Kanaele (Li,  2. Jul 1996, 09:34:39):
~#! rn=Engywuck rt=836244606
~#! tid=836240463
Tja noch! Aber wie siehr es jetzt aus, wo die Rechtschreibreform durch ist?
Ich sag nur noch: Odografi is drifial !
Li

-----------------------------------------------------------------------------



Re: Re: Kanaele (Roadrunner,  2. Jul 1996, 11:22:26):
~#! rn=Raffi rt=836242519
~#! tid=836240463
... jedes nicht abschaltbare feature ist ein Bug ...
                                         RR

-----------------------------------------------------------------------------



Re^6: Kanaele (Yendi,  2. Jul 1996, 12:38:16):
~#! rn=Li rt=836292879
~#! tid=836240463

Gib Dir keine Muehe falsch zu schreiben, Li, das geht schon von alleine...


-----------------------------------------------------------------------------



Re^3: Kanaele (Raffi,  2. Jul 1996, 14:52:18):
~#! rn=Roadrunner rt=836299346
~#! tid=836240463

> ... jedes nicht abschaltbare feature ist ein Bug ...

Hmm ... Jau dan hab ich gleich noch einen bug - ich kann das feature N=Norden
nicht abschalten :)


Grins
H.

-----------------------------------------------------------------------------



Re^3: Kanaele (Raffi,  2. Jul 1996, 14:58:29):
~#! rn=Acrimon rt=836244326
~#! tid=836240463

tut mir peinsamm, aber ich musz zugeben mir passiert das oefter. Und ich bin
kein Anfaenger mehr - ich bin immerhin schon Waldlaeufer!

Gruss
H.

P.S.: dieses Feature war uebrigens eigentlich auch angeregt, HINTER dem :
(ebenfalls) Leerzeichen auszubauen, aber das ist irgendwie untergegangen.

-----------------------------------------------------------------------------



Rechtschreibtester (Ketos,  2. Jul 1996, 23:16:44):
A propo rechtschreibreform.
Gibt es einen einfachen spellcheker fuer Deutsch unter unix?
- Ketos -

-----------------------------------------------------------------------------



Re: Rechtschreibtester (Mupfel,  2. Jul 1996, 23:24:35):
~#! rn=Ketos rt=836342204
~#! tid=836342204
ispell mit deutschen dictionaries

-mupfel-

-----------------------------------------------------------------------------



Stupse (Zephyr,  3. Jul 1996, 15:59:44):
Hiho..

Also ich finds irgendwie schade, dass man im Info nicht mehr sieht,
wieviele Stufenpunkte man hat. Da ich aber auch verstehen kann, dass
viele durch die Schwankungen verwirrt waren: Wie waers denn mit nem
Befehl, der einem seine Stufenpunkte unabhaengig vom Info anzeigt,
fuer die, die bei diesem lag nicht extra in ne Gilde laufen wollen,
um (mit erhoehe) festzustellen, wieviele es denn nun gerade
aktuell sind. Waere es viel Aufwand, das zu implementieren?

Gruss, Zephyr

-----------------------------------------------------------------------------



Re: Stupse (Lefty,  3. Jul 1996, 16:57:32):
~#! rn=Zephyr rt=836402384
~#! tid=836402384
Hm, ich finde es auch laestig. Soweit ich das verstanden habe, dienen die
Schwankungen ja nur zum verbergen der FP. Koennte man da nicht irgendwo die
Stupse ohne FP angezeigt bekommen ? Da sehe ich wenigstens, wieviel ein
Monsterkill bringt oder so.

Lefty

-----------------------------------------------------------------------------



Re: Re: Stupse (Wurzel,  3. Jul 1996, 19:08:33):
~#! rn=Lefty rt=836405852
~#! tid=836402384
*seufz* der teddy ist in arbeit, um die stupse anzuzeigen, aber ich habe
leider auch nur beschraenkt zeit... und da der teddy ein erbstueck ist und
nicht original von mir, muss ich mir das ding erstmal genauer ansehen...

na ja, kommt alles noch, bitte etwas geduld

wurzel

-----------------------------------------------------------------------------



Re^3: Stupse (Lefty,  4. Jul 1996, 01:42:15):
~#! rn=Wurzel rt=836413713
~#! tid=836402384
klasse wurzel, der teddy waechst mir immer mehr ans herz :)

Lefty

-----------------------------------------------------------------------------



Re^4: Stupse (Morgoth,  4. Jul 1996, 07:01:51):
~#! rn=Lefty rt=836437335
~#! tid=836402384
wer braucht schon den teddy?
Morgoth grinst

-----------------------------------------------------------------------------



Re^5: Stupse (Laila,  4. Jul 1996, 09:28:31):
~#! rn=Morgoth rt=836456511
~#! tid=836402384
ICH brauch einen Teddy habe aber leider keinen !!!

Laila, hat einschlafprobleme ohne ihren Teddy :-)

-----------------------------------------------------------------------------



Re^5: Stupse (Jariel,  4. Jul 1996, 19:03:21):
~#! rn=Morgoth rt=836456511
~#! tid=836402384

I C H !!!!!!!!

Jariel liebt seinen Teddy.


-----------------------------------------------------------------------------



PK-Mud (Elvnik, 10. Jul 1996, 03:53:07):
Halloechen

>------Schleichwerbung an--------<
Wolltet ihr schon immer mal euren 
aergsten Feind killen, ohne bestraft
zu werden. Habt ihr Spass daran, mit
anderen Spielern gemeinsam feindliche
Gilden zu ueberfallen und alles 
gnadenlos niederzumetzeln ? 

Dann seid ihr genau richtig im
 *** PK-Mud ***
Hier wird euch keiner fuer PK's 
bestrafen. Wir sind noch relativ 
jung (knapp eine Woche alt) und suchen
Magier mit Ahnung von LPC. loggt euch
einfach mal ein, vielleicht habt ihr
ja Lust bei uns mitzuproggen.

telnet uwhome.mpi.htwm.de 4711

Bis denne, im PK-Mud
>------Schleichwerbung aus--------<

Elvnik@PK ... Mudadmin oder sowas

-----------------------------------------------------------------------------



Re: PK-Mud (Caradhras, 10. Jul 1996, 11:05:23):
~#! rn=Elvnik rt=836963587
~#! tid=836963587
Hoechstens wenn man dort spielen kann. Dann werd ich mir nen
2tie namens Troy erschaffen.... :-)))))))

         ein Goldfrosch grinst

-----------------------------------------------------------------------------



Toll schon wieder nix (Lelldorin, 12. Jul 1996, 15:16:29):
Hallo EM's!

Was ist eigentlich mit dem runtersetzen von Alkohol- und Essensspiegel
geworden?! 
War da nicht mal was angekuendigt worden, dass das nach einem ordentlichen
Reboot (wie er heute war), der Spiegel auf 0 zurueckgesetzt wird?

Das ist schon der 2.te reboot, wo es nicht klappt. Schade eigentlich.

Gruss Lelldorin


-----------------------------------------------------------------------------



Re: Toll schon wieder nix (Boing, 12. Jul 1996, 15:28:54):
~#! rn=Lelldorin rt=837177389
~#! tid=837177389
Nein, bei einem Crash wird es momentan zurueckgesetzt, nicht bei einem
ordentlichen Reboot. Das liegt an der momentanen Realisierung und laesst
sich eventuell beheben.
  Boing

-----------------------------------------------------------------------------



Re:Toll schon ... (Chicola, 12. Jul 1996, 16:57:34):

-> folgt NUR noch crashs ;))

-> schmarrn ;)

-----------------------------------------------------------------------------



Genauere Meldungen auf dem Todeskanal (Mahatma, 17. Jul 1996, 00:09:48):

Gerade les ich einen Artikel unter Schmarrn in der Zeitung, mit einem
Todeskanal-Auszug, der lauter geheimnisvolle und unbekannte Tode enthaelt.
Das erinnert mich daran, dass ich dazu schon seit laengerem etwas schreiben
wollte, und so tu ich es jetzt. Ich hab naemlich den Eindruck, dass die 
Meldungen auf dem Todeskanal nicht optimal sind. Einerseits klappt die 
Angabe des toetenden Monsters nicht so richtig, wenn ein Vland-Ork z.B.
feuerballwerfend einen Spieler toetet (da kommt das geheimnisvolle...), ist
bei Spielern genauso, oder wenn man z.B. an einer Vergiftung stirbt, da
koennte ich mir durchaus vorstellen, dass das dann auch explizit auf [Tod:]
erscheint. Was ich sagen will: Ich wuerd mir wuenschen, dass die Todesmel-
dungen etwas aussagekraeftiger werden. Ich weiss zwar nicht, wie die genau
technisch erzeugt werden, und ob die vielen Todesgeheimnisse nur an ober-
flaechlichler Programmierung einzelner Magier liegen, aber ich denke auch,
dass da allgemein was zu machen sein muesste, denn beim Kill mit einem
Feuerball bekommt der Spieler ja auch die EPs, also sollte er auch auf dem
Todeskanal erscheinen, wenn er z.B. in der Arena per Feuerball jemanden
killt. Nuja, und beim Sterben durch nichtlebende Dinge muessten die einzel-
nen Magier vielleicht mal die passenden Meldungen einbauen.

Mahatma (sich auf einen aussagekraeftigeren Todeskanal freuend)


-----------------------------------------------------------------------------



Re: Genauere Meldungen auf dem Todeskanal (Loco, 21. Jul 1996, 12:16:12):
~#! rn=Mahatma rt=837554988
~#! tid=837554988
"Etwas geheimnisvolles ..." kommt dann, wenn das Objekt keinen Namen hat, was
einen Spieler umbringt. Nun ist es so, dass viele Objekte technisch nicht
unbedingt einen Namen brauchen - weil er u.U. ueberhaupt nur vom Todeskanal
verwendet wird.
Es ist also kein echtes technisches Problem, sondern liegt an einer
Unachtsamkeit des Programmierers. Eine Bugmeldung sollte da oft Wunder
helfen...

Magier sind auch nur Menschen (jedenfalls im RL)...

    Loco

-----------------------------------------------------------------------------



Aliasse (Snuggle, 22. Jul 1996, 13:26:18):
Hi all, besonders die aliasprogrammierenden Magier..

Als ich mir letzthin meine Stabreportmeldung formatieren wollte, hat mir die 
Auswertung des alias einfach nen ganzen Haufen Leerzeichen rausgekuerzt.

Das alias 
ali zm zmessage Report:                              (weiterer Text folgt)

wird also beim Aufruf (und erst da!) als

zmessage Report: (weiterer Text) 

interpretiert.

Mein Bitte waere, das sofern moeglich zu aendern, da ich die Abstaende in der
Zeile gerne selbst definieren moechte.

Gruss
Snuggle

-----------------------------------------------------------------------------



singen :) (Qitess, 26. Jul 1996, 19:19:19):
also, mir kam gerade eine idee... wie waere es denn,
wenn man das singen eines spielers in die angrenzenden raeume hinaus...herein
....oder so hoeren koennte ? niemand singt so leise, dass man ihn nur
ganz dicht dran verstehen kann. waer doch mal was....:)

Qitess singt gerne laut.**

-----------------------------------------------------------------------------



Re: singen :) (Bendeigid, 29. Jul 1996, 12:55:26):
~#! rn=Qitess rt=838401559
~#! tid=838401559
Hi Qitess,

Ich halte davon nicht sonderlich viel: was ist denn ein "angrenzender Raum"?
Da diese Frage mit Sicherheit nicht abschliessend bewertet werden kann ist die
Idee meines Erachtens schon tot, eh sie Fuss fassen kann. 
Immerhin koennte das in einem Haus oder so auch mit einem normalen "sag" zu
hoeren sein. Was aber im Prinzip Moieglichkeiten des "snoopens" erhoehte :))
Naja, da es keine "Entfernungsangaben" der benachbarten, sprich untereinander
verbundenen Raeume gibt ist das mit dem Singen wohl nicht zu machen. 

Z'par Sevu,
          Bendeigid, heute ein "r" schlunzend

-----------------------------------------------------------------------------



Re: Re: singen :) (Acrimon, 29. Jul 1996, 20:49:30):
~#! rn=Bendeigid rt=838637726
~#! tid=838401559
Wieso? Geht doch.
Ein angrenzender Raum ist ein Raum, der an den eigenen Raum angrenzt.
(hmmm, typische Mathematikerdefinition)
Und dort, wo die Raeume etwas groeber verteilt sind, kann man auch
normalerweise Geraeusche weiter hoeren; keiner wird bestreiten, dasz man in
Port Vain oder im Elfendorf die Geraeusche nicht so weit hoert wie auf freier
Flur in der Ebene, Wueste oder im Gebirge oder Wald.
Wozu also Entfernungsinformationen?
Und es musz ja nicht alles sofort perfekt sein; wenn es an ein paar Stellen
dadurch witzige Situationen geben koennte, dann sollte das doch kein Hindernis
sein.

Acrimon, der Rote Ritter haelt die Idee des Singen-weiter-Hoerens fuer gut.

-----------------------------------------------------------------------------



Re^3: singen :) (Schoko, 29. Jul 1996, 20:51:22):
~#! rn=Acrimon rt=838666170
~#! tid=838401559

Wie ist das eigentlich beim Hoellenfeuer geloest? Wird man da nicht auch noch
einige Raeume *weiter* verletzt?? Das koennte doch als Vorlage dienen.

schoko (wollte auch mal zeigen, dass er konstruktiv sein kann)

-----------------------------------------------------------------------------



Re^4: singen :) (Boing, 29. Jul 1996, 20:56:04):
~#! rn=Schoko rt=838666282
~#! tid=838401559
Technisch ist es kein Problem, die angrenzenden Raeume zu finden. Die
Frage ist, ob es Sinn macht. Beim Hoellenfeuer hab ich mir darueber 
ehrlichgesagt keine Gedanken gemacht. Persoenlich halte ich nichts 
davon, Gesang in anliegenden Raeumen hoerbar zu machen (da muss ich
ja aufpassen, was ich in meinem Arbeitsraum singe ... kommt alles in
der Gilde raus :)), gerade wegen den fehlenden Entfernungs- bzw.
Groessenangaben von Raeumen. Falls das aber irgendjemand unbedingt ein-
bauen moechte, ist es mir auch egal.
  Boing

-----------------------------------------------------------------------------



Re^5: singen :) (Grimmborn, 29. Jul 1996, 21:46:27):
~#! rn=Boing rt=838666564
~#! tid=838401559

Genau, mir waers auch egal. Meinen eigenen Standardraum kriege ich allemal
geschrieben, da muss man ja nur in der einen oder anderen Region klauen... ;-)

GdA

-----------------------------------------------------------------------------



Re^6: singen :) (Cauno, 31. Jul 1996, 13:53:17):
~#! rn=Grimmborn rt=838669587
~#! tid=838401559

Wie sieht das ganze dann am zugefrorenen Weiher aus? Jeder weiss ja, dass die
Winterluft den Schall noch weiter traegt als normal.

Wenn schon Realismus, dann richtig. ;-)

C. No

-----------------------------------------------------------------------------



Re^5: singen :) (Caradhras,  1. Aug 1996, 14:19:47):
~#! rn=Boing rt=838666564
~#! tid=838401559
Oh Gott, ich huepf nich mehr in die Gilde. 

     Hilfe, es regnet, Boing singt :)            ein kleiner gruener Frosch

-----------------------------------------------------------------------------



Re: Re: singen :) (Qitess,  2. Aug 1996, 11:24:15):
~#! rn=Bendeigid rt=838637726
~#! tid=838401559
naja, ein angrenzender raum ist der raum, in den man durch die sichtbaren
ausgaenge gelangt. und man koennte ja nicht unbedingt das singen an sich
nehmen, sonder einen zusaetzlichen befehl z.B. 'singe laut'.

qitess findet ihre idee eigentlich gar nicht tot... im gegenteil :)


-----------------------------------------------------------------------------



Port 4711 (Wargon, 15. Aug 1996, 10:56:08):
  Hi!
Wie ihr beim Einloggen sicher schon bemerkt habt, kommt man ueber den
Telnet-Port 4711 nicht mehr ins MG. Das wird auch so bleiben!
Wenn euer telnet oder tf unbedingt eine Portnummer braucht, dann nehmt Port
23.
  Wargon

-----------------------------------------------------------------------------



entwicklung (Illian, 15. Aug 1996, 11:03:14):
Hallo,
wie waere es, wenn man das Seherdasein von den Stufen loesen koennte , d . h.
als Spieler sollte man auch Level 20 oder hoeher erreichen, sonst sind die
Stupse in Ihrer
derzeitigen Fassung ziemlich daemlich, da kommt nach Level 19 gleich 26 oder
aufwaerts.
Illian

-----------------------------------------------------------------------------



Re: entwicklung (Nirdavo, 15. Aug 1996, 11:27:11):
~#! rn=Illian rt=840099794
~#! tid=840099794
 Applaus! Eine der besten Ideen, die ich in der letzten Zeit gelesen habe. Es
ist wirklich etwas daemblich, wenn man als Spieler nicht ueber Stufe 19
hinauskommt, denn man kann dann seine Sprueche nicht mehr weiter lernen, und
noch ein paar andere Kleinigkeiten.

  Nirdavo, diesen Vorschlag voll unterstuetzend

-----------------------------------------------------------------------------



Re: Re: entwicklung (Grimmborn, 15. Aug 1996, 11:47:05):
~#! rn=Nirdavo rt=840101231
~#! tid=840099794

Aeh, und was bitte ist dann ein Seher noch? Nene, Seherprivilegien fuer
Spieler (wie die Moeglichkeit, Sprueche besser lernen zu koennen), da bin ich
aber massiv gegen.
Ueber eine Einfuehrung einer hoeheren Spielerstufe kann man diskutieren, aber
dann bitte eine "spieltechnische" Behandlung wie level 20.

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re^3: entwicklung (Nirdavo, 15. Aug 1996, 12:25:45):
~#! rn=Grimmborn rt=840102425
~#! tid=840099794
  Stimmt, ich wollte natuerlich nicht die Seherprivilegien fuer Spieler, das
waere natuerlich bloede. Man behaelt nach wie vor die Bezeichnung 'Angehender
Seher'. Aber muss es denn wirklich sein, dass man dann die Sprueche nicht 
besser lernen kann? Seit man das Maximum erst mit Stufe 35 erreichen kann,
koennen die Normalen Spieler erst mal nicht mehr lernen, dann aber, ein paar
Minuten, nachdem man sich dann um bis zu 10 levels auf einmal erhoeht hat,
jede Menge mehr? Ist doch nicht voll. Die Stufenpunkte sollte ja eigentlich
die 'Erfahrung' eines Characters angeben, und die ist ja wohl nicht vom
Seherstatus abhaengig. 
  Die Seher haben schon noch einige Vorteile, die ein Spieler nicht hat, wie
z.B. der kleinere Verlust an EPs, den Seherladen, die Sehertools und noch
einiges andere. Der Anreiz, Seher zu werden, bleibt also durchaus noch. 
  Vielleicht ein Vorschlag: Die optionalen Abenteuer sollten dann vielleicht
nur noch fuer Seher zugaenglich sein. Wenn einer dann alle AP's moechte, muss
er dann Seher sein.
  Vielleicht noch ein Gedanke: Ein neuer Magier muss als Zugangsberechtigung
vorher alle Abenteuer gespielt haben. (Ok, ok, ich weiss, das foerdert wieder
nur die Benutzung von KLs, aber es gibt auch genuegend Spieler (und Seher) die
sie nicht benutzen wollen)

          Just two pennies more, Nirdavo
          "The meaning of my life is to make me crazy"

-----------------------------------------------------------------------------



Re^4: entwicklung (Cauno, 15. Aug 1996, 12:29:23):
~#! rn=Nirdavo rt=840104745
~#! tid=840099794

Ich unterstuetze den Antrag (ausnahmsweise) auch mal.
Seherprivilegien sind naemlich, unabhaengig von der Stufe:

- Sehertore
- Seherlaeden
- Das Sterben wird billiger
- Angabe von Fluchtrichtungen
- ZUgang zur Seherebene

Da Spieler auch mit hoeherer Stufe die nicht bekommen werden, sehe ich
eigentlich keinen Grund, ihnen hoehere Stufen zu verweigern. Das wuerde den
SPieltrieb vielleicht etwas mehr motivieren.

Ein mal zustimmender C. No

-----------------------------------------------------------------------------



Re^4: entwicklung (Grimmborn, 15. Aug 1996, 12:34:04):
~#! rn=Nirdavo rt=840104745
~#! tid=840099794

Also, es ist allgemeiner, breiter Konsens dass die Vorraussetzungen fuer das
Magierwerden exakt die gleichen sind wie fuer den Seherstatus, und dass ein
Seher jederzeit Magier werden kann, auch wenn sich die Vorraussetzungen seit
seiner Seherwerdung geaendert haben. Das ist richtig, wichtig und gut
ueberlegt. Und (behaupte ich mal) unumstoesslich.

Das bedarf keiner weiteren Diskussion, die von vorneherein sinnlos waere.

Weiterhin weiche ich keinen Fussbreit von der Meinung ab, dass wie auch immer
geartete und wie auch immer unwichtige Sehervorteile nichts fuer Spieler sind.
Hoerere Nummern im level meinetwegen, wenns denn den Levelgeilen erfreut, aber
sonst nicht so viel. Es wurde doch mal ein ap-Gefaelle eingefuehrt, das
verhindern sollte, dass Leute "ewig" auf level 19 festgehalten werden. Sowas
waere dann doch auch fuer die sp sinnvoll (und doch auch eingefuehrt, oder?).
Dann kanns eigentlich nicht zu solchen Ewigkeitsneunzehnern kommen.

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re^5: entwicklung (Cauno, 15. Aug 1996, 12:40:07):
~#! rn=Grimmborn rt=840105244
~#! tid=840099794

Das mag bei der alten Stufenpunktregelung so gewesen sein.
Inzwischen haengt man wohl wieder auf Stufe 19 fest, da zum Seherwerden immer
noch die EPs zaehlen, die fuer die anderen Stufen ziemlich unwichtig geworden
sind.
Wenn man dann aber Seher wird, kann man gleich fuenf Stufen ueberspringen.

Ich bitte, das zu bedenken.

C. No

-----------------------------------------------------------------------------



Re^6: entwicklung (Boing, 15. Aug 1996, 12:41:59):
~#! rn=Cauno rt=840105607
~#! tid=840099794
Nein, man haengt auf Stufe 19 fest, da weiterhin 80% der Queste benoetigt
werden, man damit aber deutlich mehr als die erforderlichen 2000 Stufen-
punkte bekommt. Daraus folgt, dass sofort nach der Seherwerdung viele
Stufen auf einmal erhoeht werden koennen.
  Boing

-----------------------------------------------------------------------------



Re^5: entwicklung (Nirdavo, 15. Aug 1996, 12:43:32):
~#! rn=Grimmborn rt=840105244
~#! tid=840099794
  Hmmm, ich kann dem nicht ganz zustimmen. Ich denke nicht, dass das bessere
erlernen der Sprueche ein Seherprivileg ist oder ueberhaupt sein sollte. 
Was Du zu den 'Ewigneunzehnern' sagst, stimmt ebenfalls nicht. Ich persoenlich
habe Punkte fuer Stufe 23, und mir fehlen noch ca. 250 AP bis zum Seher. Wenn
man davon ausgeht, dass ich noch mal die gleiche Anzahl an Stufenpunkten aus
FPs bis da hin hole, kann ich mich, wenn ich endlich den Seher erreichen kann,
direkt auf stufe 28-29 erhoehen. Ist das so sinnvoll? Ich bin dieser Meinung
nicht. Imm Augenblick ist es eher so, dass man eine ganze Zeit spielt, ohne
einen echten Erfolg zu sehen, und das daempft die Motivation noch
weiterzupielen doch ganz erheblich. 
  Ich verlange ja noch nicht mal ein grosses Zugestaendnis, sondern eine
Rollenspielmaessig sinnvolle Anpassung des jetzigen Levelsystems. 
  Das jetzige System ist nicht perfekt, es wird auch nie perfekt genug sein,
dass es allen immer recht ist (Ich will jetzt nicht die FP-Diskussion wieder
aufwaermen, da ist schon mehr als genug gesagt worden), aber wir koennen doch
wenigstens versuchen, es besser zu machen.

   Nirdavo, versteht nicht, warum sich Magier immer gegen *gute* Vorschlaege
wehren

-----------------------------------------------------------------------------



entwicklung (Illian, 15. Aug 1996, 13:14:02):
Es ist doch eigentlich egal, wann man den Seherstatus bekommt, das 
entscheidende dafuer sind doch die 80% der Abenteuer und das heisst, dass eine
Stufenbegrenzung durch den Seherstatus immer bremsen wird, da es ja auch immer
mehr Questen gibt (man will ja auch mal loben). Aber das bedeutet eine starke
EinschraenkungZu dem Argument, es muss ja den Sehern vorbehalten sein hoeher
in der Gilde
aufzusteigen kann ich nur sagen fuer einen erzmeisterposten kann ich das 
verstehen, aber ansonsten ist es wiedersinnig, da sonst die Leute die sich
vor 2 Jahren erstmals eingeloggt haben, groe Vorteile haben, da sie schon
Seher sind und in den Gilden munter trainieren duerfen.
Illian

-----------------------------------------------------------------------------



Stufe 20 (Catweazle, 15. Aug 1996, 19:53:55):
Hi!

ALso ich finde die Beschraenkung auf eine Stufe unter 20 von normalen
Spielern ist eine Altlast. Das war damals gut und richtig, aber mit
dem neuen Levelsystem ist der Sinn fuer diese Grenze eignetlich nicht
mehr gegeben, ausser um die Einstufung einfacher und uebersichtlicher zu
machen.

Ich bin also eher dafuer den Level offen zu lassen, also meinetwegen auch 
Spielerlevel 35 zu ermoeglichen. Programmiertechnisch ist das kein 
Problem, da Seher eindeutig identifizierbar sind und zwar nicht am Level>20.


Probleme wuerde es allerdings da geben, wo der Programmierer davon aus-
geht (was damals ja auch voellig korrekt war), das ein Spieler mit Level >20
ein Seher sein muss, aber ich glaube kaum, dass das jemand gemacht hat, da
wir doch die schoene Funktion IS_SEER() haben, und DIE sollte das ohne 
Probleme beherrschen.


Jetzt koennen wir uns aber noch darueber streiten, wie denn der Titel von
Spielern mit Level 20-50 lauten soll :)

Yours truly,
    Catweazle

-----------------------------------------------------------------------------



Re: Stufe 20 (Feuerwehr, 16. Aug 1996, 01:44:29):
~#! rn=Catweazle rt=840131635
~#! tid=840131635
Ich stimme mit Catweazle absolut ueberein.
 
Was habe ich da gerade gesagt???

   Feuerwehr (findet wirklich, Stufe 20 ist ueberholt und witzlos)

-----------------------------------------------------------------------------



Re: Re: Stufe 20 (Jasper, 16. Aug 1996, 01:45:56):
~#! rn=Feuerwehr rt=840152669
~#! tid=840131635
Das hab ich schon damals gesagt als die Bonnerwurstseher feuerwehr und gando
von stufe 19 auf 28 mit einem mal gesprungen sind, aber auf mich hoert ja
keiner, macht doch was ihr wollt.

-----------------------------------------------------------------------------



Re^3: Stufe 20 (Feuerwehr, 16. Aug 1996, 01:47:17):
~#! rn=Jasper rt=840152756
~#! tid=840131635
Es wird noch schoener. Der Bonner Wuerstchenspieler Schoko wird, wenn er Seher
ist, sofort auf Level 34 erhoehen koennen. Das gibt einem irgendwie zu denken.
 
   Feuerwehr (Bonner Wurstmagier)

-----------------------------------------------------------------------------



Re^4: Stufe 20 (Jasper, 16. Aug 1996, 01:48:05):
~#! rn=Feuerwehr rt=840152837
~#! tid=840131635
naja der ist zumindest ohne magierhilfe seher geworden :)

-----------------------------------------------------------------------------



Re: Stufe 20 (Nirdavo, 16. Aug 1996, 09:28:47):
~#! rn=Catweazle rt=840131635
~#! tid=840131635
  Stufenbezeichnungen fuer >19? Ich bin der Meinung, dass man sich da keine
grosse Gedanken machen muss. Der Titel 'Angehender Seher' genuegt voellig, da
der Seher ja ohnehin fuer solch hochlevelige Spieler das Ziel ist. Die
Hochleveligen Seher haben ja schliesslich auch keine Stufenbezeichnungen mehr,
jedenfalls keine, die vorgegeben werden.

    Just y 2 pennies, Nirdavo

-----------------------------------------------------------------------------



Re: Stufe 20 (Tanis, 16. Aug 1996, 15:43:53):
~#! rn=Catweazle rt=840131635
~#! tid=840131635
nur mal kurz etwas dazu, was cat* als letztes erwaehnte, naemlich das mit den
titeln: Wieso macht ihr es nich einfach so, das jeder Spieler sich seinen
titel und sein presay selber setzen darf? ich kenne einige muds, in dennen das
so gemacht wird und das finde ich eigentlich ganz gut.
Ausserdem waere damit der ewige streitpunkt weg,wenn einige magier spielern
titel setzen und sich andere magier drueber beschweren

das wars, schaui
                    Tanis

-----------------------------------------------------------------------------



Re: Re: Stufe 20 (Durian, 16. Aug 1996, 15:48:53):
~#! rn=Tanis rt=840203033
~#! tid=840131635

Kurz: Ich bin der meinung das Selbersetzen der Titel sollte in jedem 
Fall Sehern vorbehalten bleiben!

- Durian

-----------------------------------------------------------------------------



Re^3: Stufe 20 (Tanis, 16. Aug 1996, 15:51:24):
~#! rn=Durian rt=840203333
~#! tid=840131635
kurz: Warum?

-----------------------------------------------------------------------------



Re^4: Stufe 20 (Laila, 16. Aug 1996, 16:54:38):
~#! rn=Tanis rt=840203484
~#! tid=840131635
Hmmm, ganz einfach : DARUM :-)
Ne, mal im Ernst. Ich bin jetzt schon ein ganze Zeit Spielerin und finde die
Aufteilung ok. Spielern ihre Spielertitel und Sehern ihre selbstgesetzen
Sehertitel. 
Wenn man den Spielern jetzt erlauben wuerde, sich eigene Titel zu setzen dann
wollen sie auch Spielerportale benutzen duerfen (weil es kennt ja mit
sicherheit jemand ein mud in dem so was erlaubt ist), dann wollen Spieler auch
Spielerhaeuser bauen duerfen usw usf.
Da frage ich mich dann, wozu noch Seher werden. 
Aber trotzdem finde ich die Idee fuer Spielertitel Level>19 gar nicht schlecht
wie waers denn mit folgendem:

Level 19 Angehender Seher
Level 20 Das ist <Name>, immer noch nicht Seher
Level 21 Schon Level 21 und <name> ist immer noch nicht Seher
Level 22 <name> is going for Seher. Jetzt wird es aber Zeit

Ok, sind teilweise etwas lang. Aber so in der Art waere es doch ganz witzig
:-)

Laila, grinsend.
P.S.: Ich hoffe mal, das ich meine Seherwerdung geschafft habe, bevor der
Bloedsinn den ich vorgeschlagen habe wohl noch umgesetzt wird :-)

-----------------------------------------------------------------------------



Re^3: Stufe 20 (Asmodis, 16. Aug 1996, 17:00:51):
~#! rn=Durian rt=840203333
~#! tid=840131635
Das kann ich nur unterstuetzen, Nur Seher sollen sich ihre Titel setzen
koennen, ist eben auch eines der Privilegien.
Ansonsten, lasst doch 'Angehender Seher', das sind sie ja immer noch,
auch wenn sie bis zu level 35 erhoehen :)

-----------------------------------------------------------------------------



Re^5: Stufe 20 (Qitess, 16. Aug 1996, 17:15:35):
~#! rn=Laila rt=840207278
~#! tid=840131635
ich finde das gar nicht bloedsinn, denn ich duempel auch schon eine weile 
als *Pseudoseher* durch die gegend und wuerde mich freuen endlich irgendwie
anders zu heissen. 

Qitess - NOCH spielerin

-----------------------------------------------------------------------------



Re^6: Stufe 20 (Caradhras, 16. Aug 1996, 17:51:30):
~#! rn=Qitess rt=840208535
~#! tid=840131635
Macht doch ueber lv 19 fuer Spieler ein 'Angehender Magier' draus :)
Dann werden sie schneller Seher, weil der Titel frueher sooooooooo
dusslig war...

        Goldfrosch Caradhras grinst provozierend breit

-----------------------------------------------------------------------------



Re^7: Stufe 20 (Fyt, 16. Aug 1996, 18:47:35):
~#! rn=Caradhras rt=840210690
~#! tid=840131635

Der Titel ist jetzt immer noch dusselig. Wieso gibt's ueberhaupt
Level hinter dem Propheten?

Fyt, schwelgend.

-----------------------------------------------------------------------------



Re^8: Stufe 20 (Caradhras, 16. Aug 1996, 19:57:43):
~#! rn=Fyt rt=840214055
~#! tid=840131635
Level? Hinter Propheten? Huch? Wurden denn die Titel schon reformiert?
Oder verwechsel ich da was mit letztem Jahr? Oder ... Argl. :)

      Caradhras der ewige Frosch, aeh Prophet aeh :)
Jaja, das waren noch Zeiten als Level 18 noch Level 19 war

-----------------------------------------------------------------------------



Re^9: Stufe 20 (Mupfel, 16. Aug 1996, 21:51:47):
~#! rn=Caradhras rt=840218263
~#! tid=840131635

Aeh, wie, 'als Level 18 noch Level 19 war' ??

-mupfel- (hat kein peil)

-----------------------------------------------------------------------------



Re^10: Stufe 20 (Caradhras, 16. Aug 1996, 22:42:32):
~#! rn=Mupfel rt=840225107
~#! tid=840131635
Als ich Level 19 damals wurde, aeh, im Juni oder Juli 1993, war level
19 noch Prophet, spaeter war dann level 18 Prophet. :) Und da ich
1.5 Jahre lang lv 19 war, war ich lv 19-18 als ewiger Prophet.

     Caradhras - der ewige Goldfrosch

-----------------------------------------------------------------------------



Re: Re: Stufe 20 (Cauno, 17. Aug 1996, 14:55:58):
~#! rn=Tanis rt=840203033
~#! tid=840131635

Das gehoert hier nun mal auch zu den Sehervorteilen. Wenn du das machen
willst, musst du seher werden. ich konnte mir damals den titel auch nicht
aussuchen.

C. No

-----------------------------------------------------------------------------



Re^3: Stufe 20 (Nirdavo, 17. Aug 1996, 17:39:42):
~#! rn=Cauno rt=840286558
~#! tid=840131635
Auch wenn ich die Stufe>19 fuer Spieler voll und ganz unterstuetze, an den
Seherprivilegien darf nicht geruettelt werden. Dazu gehoert meiner Ansicht
nach auch das Setzen der Titel.
     Just my 2 pennies, Nirdavo

-----------------------------------------------------------------------------



Re^4: Stufe 20 (Cauno, 17. Aug 1996, 17:43:03):
~#! rn=Nirdavo rt=840296382
~#! tid=840131635

Um es nochmal zusammenzufassen. Folgende Privilegien stehen den Sehern zu:

1. Sehertore
2. Besuch des Seherladens
3. Setzen des Titels
4. Zugang zur Seher-Ebene (obwohl die sowieso selten genutzt wird)
5. Billigeres Sterben
6. Benutzung diverser weiterer Seheritems

Das siebte faellt mir wahrscheinlich nicht mehr ein. Dagegen ist das
aufsteigen ueber stufe 19 doch nun wirklich nicht ausserordentlich, warum also
verweigern?

Noch zwei Zehntelgroschen, C. No

-----------------------------------------------------------------------------



Re^5: Stufe 20 (Pilgrim, 17. Aug 1996, 18:39:05):
~#! rn=Cauno rt=840296583
~#! tid=840131635
7. SeherHaeuser  ;-)

Pilgrim

-----------------------------------------------------------------------------



Re^6: Stufe 20 (Asmodis, 17. Aug 1996, 18:39:49):
~#! rn=Pilgrim rt=840299945
~#! tid=840131635
8. Aufstiegsmoeglichkeiten in bestimmten Gilden :)

-----------------------------------------------------------------------------



Re^7: Stufe 20 (Yantro, 17. Aug 1996, 18:43:10):
~#! rn=Asmodis rt=840299989
~#! tid=840131635
9. in und outs und extralook... sethands

-----------------------------------------------------------------------------



Stufe 20 (Brummel, 17. Aug 1996, 19:20:01):
10. Fluchtrichtung

-----------------------------------------------------------------------------



Re^3: Stufe 20 (Tanis, 17. Aug 1996, 21:06:12):
~#! rn=Cauno rt=840286558
~#! tid=840131635
Argl, wenns jetzt wieder darum geht was ich frueher durfte und was nicht,
kommt man wieder zu nix, weil man immer was findet. Ausserdem frag ich mich,
wieso grad DIESES ein seherprivileg sein soll, da gibts sooooo viele andere
schoene sachen, die mich mehr gereitst haben, seher zu werden, zum beispiel
die parawelt und die seherlaeden und so, also daran sollte es auch nicht
liegen.

Tanis, sich fragend, ob hier eigentlich jeder Vorschlag immer zerrissen werden
muss

-----------------------------------------------------------------------------



entwicklung (Illian, 19. Aug 1996, 11:35:22):
Back to the roots
Wird es jetzt eine Aenderung geben, oder muss erst 2 Jahre ueber die
Einzelheiten gestritten werden ?
Ein aufsteigen wollender Illian , noch nicht Seher und weit davon entfernt

-----------------------------------------------------------------------------



Re: entwicklung (Nirdavo, 19. Aug 1996, 11:37:07):
~#! rn=Illian rt=840447322
~#! tid=840447322
  Simmt, was wird sich jetzt tun? Wie waere es mit einer Stellungnahme eines
dafuer zustaendigen Magiers? (Vielleicht ist ja schon jemand am proggen?)

             Nirdavo, neugierig.

-----------------------------------------------------------------------------



Re: Re: entwicklung (Wargon, 19. Aug 1996, 11:38:59):
~#! rn=Nirdavo rt=840447427
~#! tid=840447322
Schaumermal
  Wargon

-----------------------------------------------------------------------------



Re: Stufe 20 (Raffi, 19. Aug 1996, 16:08:51):
~#! rn=Catweazle rt=840131635
~#! tid=840131635

Aeh hab ich das jetzt Richtig verstanden ?
Seherwerden unabhaengig von Stufe?

Entlich mal ne gute Sache, ausserdem sag ich dyas ja schon lange (Juhu
Shaked*). Macht mal Hin Jungs!

Gruss
H.
(Raffi der Unverbesserliche Waldlaeufer Stufe 3, Seher!)

-----------------------------------------------------------------------------



Re: Re: Stufe 20 (Grimmborn, 19. Aug 1996, 16:13:31):
~#! rn=Raffi rt=840463731
~#! tid=840131635

"Unabhaengig" heisst allerdings level>19 dachte ich. Oder... *gruebel*...
Aber ein Seher level 3? Ist das mit dem Konzept "Seher als HLP" vereinbar?
Man darf gespannt sein.

Grimmborn der Atheist

-----------------------------------------------------------------------------



Nostalgieliste (Orktoeter, 19. Aug 1996, 16:18:59):
Vorschlag, eine nostalgieliste, die eine Topliste nach der alten Wertung
liefert.
Zu keinem anderen Zweck, als sich den Unterschied zu vergegenwaertigen (die
meisten sind ja nach oben gerutscht in der Stufe).
Muss ja auch nicht ueberall und jederzeit einsehbar sein, aber irgendwo wird
sich doch ein plaetzchen fuer so eine notalgieliste finden lassen, oder ?
OrkT.

-----------------------------------------------------------------------------



Re^3: Stufe 20 (Boing, 19. Aug 1996, 16:45:06):
~#! rn=Grimmborn rt=840464011
~#! tid=840131635
Wenn man schon die Spielerlevel > 20 vom Seherdasein abkoppelt, dann kann 
man das auch gleich richtig machen, das heisst auch ein Raffi koennte mit
Level 3 Seher werden. Allerdings muessen dabei die Seherkriterien erfuellt
werden, das heisst 80% der Abenteuer, ausreichend Forscher- und Stufen-
punkte und was weiss ich, was ich noch vergessen habe. Dazu kommen eventuell 
noch haertere Restriktionen der Gilden, weiss ich jetzt nicht, ob es da
was gibt, aber manche Gilden haben ja Gildenquests oder aehnliches.

  Boing

-----------------------------------------------------------------------------



Re^4: Stufe 20 (Raffi, 19. Aug 1996, 17:06:47):
~#! rn=Boing rt=840465906
~#! tid=840131635

Danke Boing. So hab ichs gemeint. Technisch muesste man dann nurnoch
Die Seherwerdeung im Erhoehe abkoppeln - also "erhoehe" alleine
erhoeht nurnoch die Stufe, und "erhoehe seher" macht die Seherpruefung.

Wenn jemand viel Lust zum Proggen macht kann man die Seherwerdung ja wirklich
Merlin ueberlassen, so das man nicht in die GIlde muss, sondern Merlin suchen
muss (wofuer schreit der Idiot auch sonnst immer seinen Standort raus) und
dann mit "sag merlin mach mich zum seher" dazu auffordern.

Gruss
H.

-----------------------------------------------------------------------------



Re: Nostalgieliste (Lefty, 19. Aug 1996, 20:10:41):
~#! rn=Orktoeter rt=840464339
~#! tid=840464339
Au ja, das waere klasse, ne Liste ohne Beruecksichtigung der FP's. 
Bin ich voll dafuer :)

Lefty

-----------------------------------------------------------------------------



Re: Re: Nostalgieliste (Asmodis, 19. Aug 1996, 21:09:28):
~#! rn=Lefty rt=840478241
~#! tid=840464339
Jo, waer ich auch dafuer, waer ich endlich wieder weiter vorne in der
Zweitiliste :)

-----------------------------------------------------------------------------



Re^3: Nostalgieliste (Mupfel, 19. Aug 1996, 21:28:32):
~#! rn=Asmodis rt=840481768
~#! tid=840464339

Auf der Liste wuerde man dann auch mal wieder Caradhras sehen... :-)

-mupfel-

-----------------------------------------------------------------------------



Re^4: Nostalgieliste (Caradhras, 19. Aug 1996, 21:30:25):
~#! rn=Mupfel rt=840482912
~#! tid=840464339
Och, ich bin doch nur 400 Stupse hinter Platz 100 in der Liste. :)
Dafuer, dass ich seit Juni 1995 keine Quest mehr geloest, noch keinen
einzigen FP gesucht habe und auch die Zaubertraenke nicht abgeklappert habe
ists doch ganz gut. :)

      Goldfrosch Caradhras - fuehlt sich wohl auf Platz pi * 50

-----------------------------------------------------------------------------



Re^5: Nostalgieliste (Grimmborn, 19. Aug 1996, 21:59:09):
~#! rn=Caradhras rt=840483025
~#! tid=840464339

Unglaublich, wie "listengeil" einige zu sein scheinen, mein Ding waers ja
nicht...
Andererseits: Das hier heisst MorgenGrauen und nicht "Mud a la Grimmborn",
daher bin ich dafuer so eine Liste einzufuehren. Meinetwegen auch eine Liste
nach Alter, eine nach Groesse und eine nach ip-nummer. Vorrausgesetzt, das
frisst nicht so an den Systemressourcen. Aber das sollte kein Problem sein.
Merke: Wenn Spieler Bloedsinn wollen der keinen stoert und nicht zu viel
Arbeit macht: Immer rein mit den Perlen zu den Saeuen. ;-)

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re^6: Nostalgieliste (Jasper, 19. Aug 1996, 22:00:56):
~#! rn=Grimmborn rt=840484749
~#! tid=840464339
ja und eine 'All you can ZAP'liste fuer Oetti :)

-----------------------------------------------------------------------------



artikel Stufen und Erfahrung (Death, 19. Aug 1996, 22:51:19):
Halloele!
Auch wenn es eventuell schon x-mal erwaehnt wurde, ich muss es noch mal
anregen:
ann man nicht endlich mal eine Korrelation zwischen Stufe und
Eigenschaftswerten (St,Int...) einfuehren??
Es ist doch irgendwie bloede, wenn ein Lev.19 Char mit Stats von 3:3:3:3
umlaeuft, waehrend ein Lev.4 Spieler schon 19:19:19:19 hat.
So haetten dann die Level wenigstens auch mal von den Werten her nen
Aussagewert und nicht nur von irgendwelchen Titeln oder nicht
nachvollziehbaren Kampfeigenschaften!

Death

-----------------------------------------------------------------------------



Re: artikel Stufen und Erfahrung (Asmodis, 19. Aug 1996, 23:00:31):
~#! rn=Death rt=840487879
~#! tid=840487879
Wie willst du das bei einem Zaubertrank-Konzept machen? soll man die
Zaubertraenke abschaffen? oder soll man nur noch die Haelfte der Stats
durch Zaubertraenke kriegen koennen ? Deine Idee wirft irgendwie das
ganze Konzept von MorgenGrauen ueber den Haufen.

-----------------------------------------------------------------------------



Re: Re: artikel Stufen und Erfahrung (Death, 20. Aug 1996, 00:06:59):
~#! rn=Asmodis rt=840488431
~#! tid=840487879
Du hast es wohl nicht ganz verstanden ...
Was ich meinte war, dass das alte System so erhalten bleibt, wie
bisher, aber dass man z.B. nur lev. 3 wird, wenn man mind. 3 ZT
gefunden hat (nur ein BEISPIEL!!!! es koennen auch 10 sein!!!)
Nur wenn die eigenschaftswerte einen bestimmten Wert habe, sollte
man vom Level her aufsteigen koennen. Beim bisherigen System
koennte ein Lev. 19 Player theoretisch in allen Stast 1 haben,
wenn ihm einer hilft. Dies ist meiner ansicht nach nicht okay.
Es sollte eine relativ feste Korrelation zwischen Stats und Level
geben, meinetwegen in abhaengigkeit von der Gilde!

Death

-----------------------------------------------------------------------------



Re^3: artikel Stufen und Erfahrung (Grimmborn, 20. Aug 1996, 00:09:23):
~#! rn=Death rt=840492419
~#! tid=840487879

Was genau stoert Dich daran? Der eine erreicht seinen Level ueber Koepfchen
(wenig stats), der andere ueber Muskeln (hohe stats). Ich hab da kein Problem.

"Multipel exclamation marks are a sure sign of a diseased mind!" (T.
Pratchett, Eric, S.121)

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re: Re: artikel Stufen und Erfahrung (Fyt, 20. Aug 1996, 00:23:45):
~#! rn=Asmodis rt=840488431
~#! tid=840487879

Hm, den Artikel von Death hab ich doch eben auch in einem ANDERen mud
gesehen... aber auch dort passt er irgendwie nicht ins Konzept...

Fyt.

-----------------------------------------------------------------------------



Re^4: artikel Stufen und Erfahrung (Nirdavo, 20. Aug 1996, 09:45:35):
~#! rn=Grimmborn rt=840492563
~#! tid=840487879
  Ich bin zwar meistens nicht Grimmborns Meinung, aber hier muss ich ihm
einmal vollstaendig zustimmen. Ich hab zwar auch inzwischen recht hohe Stats,
bin aber trotzdem kein Metzler (nur ca. 600k EPs), sondern loese meine Quests
eher durch Knobeln als durch pruegeln. Fuer viele Quests (ein *sehr* gutes
Beispiel ist da die Gefaengnisinsel) sind hohe Stats sogar voellig ohne
Bedeutung. Warum also die Stufe von der Anzahl der ZT's abhaengig machen? Das
wuerde ja die ZT-Listen noch attraktiver machen, als sie es jetzt schon sind.
Mal Hand aufs Herz: Wer hat denn wirklich schon mal einen ZT voellig selbst
ohne Liste gefunden? Wenn ich mich da recht erinnere, waren das bei mir
allerhoechstens zwei. Wenn ich dann die Punkte zusammenrechne, die ich durch
das Questen bekommen habe, dann haette ich genuegend Punkte fuer Stufe 20
(oder so), aber nur 2 (!) ZT. Und dann soll man nicht aufsteigen duerfen? 
  Das wuerde ja noch mehr aufhalten, als die jetzige Reglung mit der
Seherwerdung. Neinneinnein, diese Idee sollten wir mal ganz schnell wieder
vergessen.
       Nirdavo

-----------------------------------------------------------------------------



Re^3: artikel Stufen und Erfahrung (Raffi, 20. Aug 1996, 11:07:28):
~#! rn=Death rt=840492419
~#! tid=840487879

Stufen an Stats zu binden ? - genau davon hat uns doch das ZT Konzept befreit.
Was sollte es Helfen wenn dann alle um ihre Stufe zu erhoehen den ZTs
nachjagen ? Ein derartiger 'Anreiz' ist eher schaedlich.

Gruss
H.

-----------------------------------------------------------------------------



Abenteurer-Gilde, voellig nutzlose Neuigkeiten (Boing, 20. Aug 1996, 17:51:52):
Eventuell ist es schon dem einen oder anderen aufgefallen: Die 
Abenteurer-Gilde hat zwei neue, mehr oder weniger sinnlose Zauber-
sprueche (wenn man das als Zaubersprueche bezeichnen kann) bekommen.
Genaueres bitte der Hilfe zu 'zauberei' entnehmen. Ach ja, ausserdem
wurde die Wirkung des schnell-Spruchs etwas verlaengert.
  Boing

-----------------------------------------------------------------------------



Re: Abenteurer-Gilde, voellig nutzlose Neuigkeiten (Lefty, 20. Aug 1996, 19:44:40):
~#! rn=Boing rt=840556312
~#! tid=840556312
ich sage nur: die abenteurer sind zu stark ! abwerten ! ;-)  

Ein grinsender Lefty 

-----------------------------------------------------------------------------



Re^3: Stufe 20 (Kobayashi, 21. Aug 1996, 10:34:49):
~#! rn=Grimmborn rt=840464011
~#! tid=840131635
Wenn jemand mit Stufe 3 ueber 1 Mio EP und 80 aller AP hat, sollte er auch
damit Seher werden koennen :-)

Kobayashi

-----------------------------------------------------------------------------



Re^4: Stufe 20 (Asmodis, 21. Aug 1996, 14:52:13):
~#! rn=Kobayashi rt=840616489
~#! tid=840131635
Nur, wenn er auch die notwendige anzahl fps hat, und wenn er das hat,
dann kann er auch normal erhoehen.

-----------------------------------------------------------------------------



Re^5: Stufe 20 (Tanis, 21. Aug 1996, 15:49:24):
~#! rn=Asmodis rt=840631933
~#! tid=840131635
macht er aber nicht, wenn er raffi heisst :)

-----------------------------------------------------------------------------



Re^6: Stufe 20 (Raffi, 21. Aug 1996, 16:46:01):
~#! rn=Tanis rt=840635364
~#! tid=840131635

Ich liebe euch alle!

H.

-----------------------------------------------------------------------------



Vereinfachung (Craig, 21. Aug 1996, 19:35:32):

Das Problem mit dem Level 19 Stau und dem anschliessenden Sprung ueber 5 bis
10 level wurde ja hier hinreichend diskutiert.

Ich hab da einen Vorschlag, der einiges vereinfachen wuerde: Alles bleibt wie
bisher, nur die "Sehergrenze" auf Spielerstufe 30 (oder 25) angehoben wird.
Ergebnis Spieler koennen ihr level weiter erhoehen, und halbwegs fliessend den
Seher- bzw. Magierstatus erreichen.

Ausserdem tun mir die ganzen jungen Spieler leid, die wegen der Questinflation
bald sicher 2000 AP holen muessen. Deshalb plaediere ich fuer eine voellige
Abschaffung der AP-Schwelle fuer das Seher-werden.

Wer 3000 Stufenpunkte erreicht, kann Seher werden. Auf welchem Weg er das
geschafft hat, ist egal. Ganz ohne Abenteuer ist das eh nicht zu schaffen,
Dank des neuen Stufensystems.

Entschuldigt die typos, beachtet den Inhalt

CRAIG

-----------------------------------------------------------------------------



entwicklung (Illian, 21. Aug 1996, 19:39:04):
Craigs Idee halte ich nicht fuer sinnvoll, da sonst durch Questinflation
in einem halben Jahr der Stau bei Level 25 oder Level 30 ist.
Auch seine zweite Idee finde ich nicht besonders gut, da auch immer mehr
Kenntnisse ueber Quests gibt und immer mehr Auswahl fuer diese.
Illian, hat mit der einfachen Idee angefangen und wollte keine wochenlangen,
megabytigen Artikel erzeugen

-----------------------------------------------------------------------------



Re: Vereinfachung (Nirdavo, 22. Aug 1996, 10:00:21):
~#! rn=Craig rt=840648932
~#! tid=840648932
  Ich finde diesen Vorschlag nicht so gut. Eine aehnliche Situation hatten
wir einmal ganz in der Fruehzeit des Spiels, was dann zur Folge hatte, dass
das Spiel mit Sehern nur so ueberschwemmt wurde. Nein, die 80% AP, zusammen
mit den anderen Einschraenkungen (oder besser Voraussetzungen) fuer den
Seherstatus halte ich fuer durchaus in Ordnung. Viele Spieler wollen ohnehin
moeglichst einmal Magier werden (wenigstens ich habe dieses Ziel), und dazu
sollten sie schon den groessten Teil der Abenteuer, die es zu iherer
Einlogzeit gibt, kennen. Denn nur so kann man erfahren, wie man eine gute
Quest schreibt (oder auch eine schlechte, besonders bei den alten Quests gibt
es da noch einige Bespiele. Zum Glueck aendert sich das inzwischen nach und
nach).
  Bleiben wir doch lieber beimm urspruenglichen Vorschlag. Ein Spieler kann
seinen Level weiter erhoehen, wie er mag, und wenn er die notwendigen
Voraussetzungen besitzt, kann er in einer Gilde (oder auch bei Merlin, fand
ich einen sehr schoenen Vorschlag) die Seherpruefung ablegen. Man kann dann
sogar hingehen, die Seherlevel dann wieder von 1 anfangen zu lassen (das
liesse sich sogar bei den jetzigen Sehern realisieren, indem man ihnen einfach
19 Stufen subtrahiert). Ob und wenn ja welchen Einfluss ein solches Vorgehen
auf die Spieltechnik hat, weiss ich natuerlich nicht, ein Interessanter
Vorschlag ist es meiner Ansicht nach aber schon. Man koennte z.B. auch
hingehen, dass ein Seher seine Sprueche unabhaengig vom Level immer perfekt
lernen kann, waehrend ein Spieler dazu mindestens Level 35 haben muss (wie es
jetzt schon ist, mit dem Aergernis, dass Spieler diesen nicht erreichen
koennen).
  Naja, ich hoffe, das war alles nicht zu wirr,

                          Nirdavo

-----------------------------------------------------------------------------



Re: Re: Vereinfachung (Wargon, 22. Aug 1996, 10:15:30):
~#! rn=Nirdavo rt=840700821
~#! tid=840648932
  Hi!
Es wird darauf hinauslaufen, dass man auch als Nichtseher seinen Spielerlevel
quasi beliebig erhoehen kann, ohne natuerlich die entsprechenden Sehervorzuege
zu geniessen (Sehertore, Haeuser, Fluchtrichtung, weniger EP-Verlust beim
Sterben, etc).
"kosten" in der Gilde zeigt ab Level 19 zusaetzlich zu den normalen Kosten an,
was einem noch zum Seherstatus fehlt.
Das Ganze liesse sich prinzipiell sofort aktivieren, aber erst mal muessen
noch ein paar Altbestaende, die nur auf den Spielerlevel und nicht auf
Seherstatus abfragen, gefixed werden.
  Wargon

-----------------------------------------------------------------------------



Re^3: Vereinfachung (Nirdavo, 22. Aug 1996, 10:44:03):
~#! rn=Wargon rt=840701730
~#! tid=840648932
  Klasse, Wargon. Find ich grossartig, dass hin und wieder auch gute
Vorschlaege aus der Zeitung realisiert werden, ohne dass man sie vorher
voellig zerredet. Ein dicker Applaus fuer die Magier!
  Aehem, eine Frage bleibt aber noch.... wie lange wird die Aktivierung noch
auf sich warten lassen? Groessenordnungsmaessig natuerlich nur, also, reden
wir von Tagen, Wochen oder Monaten?

         Nirdavo, kann es kaum noch erwarten.

-----------------------------------------------------------------------------



Re^4: Vereinfachung (Wargon, 22. Aug 1996, 11:16:50):
~#! rn=Nirdavo rt=840703443
~#! tid=840648932
Groessenordnungsmaessig vielleicht in 1-2 Wochen
  Wargon

-----------------------------------------------------------------------------



Questbelohnungen (Orktoeter, 22. Aug 1996, 11:46:54):
Koennte man nicht Questbelohnungen wie z.B. den Bumerang so machen, das er
eine gewisse Zeit Autoload ist ?
Das muesste man doch aus der Hydraruestung recht einfach uebernehmen koennen.
Sinn und Ziel ist es, das nicht Spieler, die das Pech haben, das es kurz nach
Loesung der Quest einen Reboot oder Crash gibt, keine moeglichkeit haben,
dieses Tool zu nutzen.
Man kann ja zusaetzlich noch dafuer sorgen, das man das ding dann nicht
weitergeben kann..
OrkT.

-----------------------------------------------------------------------------



Re: Questbelohnungen (Grimmborn, 22. Aug 1996, 12:49:51):
~#! rn=Orktoeter rt=840707214
~#! tid=840707214

Au fa, ein nicht weitergebbarer Bumerang:
wirf bumerang
Du willst doch nicht etwa diese wundervolle Questbelohnung aus der Hand geben?

*kicher*
GdA

-----------------------------------------------------------------------------



Re^3: Vereinfachung (Mupfel, 22. Aug 1996, 12:50:01):
~#! rn=Wargon rt=840701730
~#! tid=840648932

Da erweist es sich als gluecklich, dass man Spieler und Seher dadurch
unterscheidet, dass der Spieler Wizlevel 0 hat und der Seher Wizlevel 1 ...
alle Achtung, das war Weitblick, meine Herren Erzmagier :-)

-mupfel-

-----------------------------------------------------------------------------



Re^4: Vereinfachung (Grimmborn, 22. Aug 1996, 12:52:24):
~#! rn=Mupfel rt=840711001
~#! tid=840648932

Ich muss (kann!!) da Mupfel korrigieren: Seher haben 15>wizlevel>0. Auch da
gibts ein paar Altbestaende.
Ach ja, das ist auch der Grund uebrigens wieso Seher die mechos (Magier-echos)
mitbekommen.

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re^5: Vereinfachung (Raffi, 22. Aug 1996, 16:31:39):
~#! rn=Wargon rt=840705410
~#! tid=840648932

Hmm Wird das wirklich gemacht ? Ich kann mein glueck noch garnicht fassen -
geleich fang ich wieder zu questen an !


Gruss
H.

-----------------------------------------------------------------------------



Re^5: Vereinfachung (Ulo, 22. Aug 1996, 20:01:50):
~#! rn=Grimmborn rt=840711144
~#! tid=840648932
seher sollen wizlevel bis knapp unter 15 haben. hmm, da verschwimmen ja
richtig die grenzen zwischen sehern und magiern. ich kann mich da noch an
einen magier erinnern, der fuer eine woche wizlevel 10 hatte. (dynamit in der
gilde :) da muss man ja aufpassen, dass der nicht versehentlich fuer einen
seher gehalten wird :)

Ulo.

-----------------------------------------------------------------------------



Re^6: Vereinfachung (Asmodis, 22. Aug 1996, 20:08:23):
~#! rn=Ulo rt=840736910
~#! tid=840648932
Ich kenne das auch nur so, dass Seher Wizlevel 1 haben, nicht mehr,
Wizlevel 15 ist mir da neu.

-----------------------------------------------------------------------------



Re^7: Vereinfachung (Rochus, 22. Aug 1996, 20:13:14):
~#! rn=Asmodis rt=840737303
~#! tid=840648932
/secure/wizlevels.h:
#define SEER_LVL 1
#define IS_SEER(user) (query_wiz_level(user) >= SEER_LVL)

Ab Level 10 werden die ersten Magierrechte vergeben.

-----------------------------------------------------------------------------



Re^8: Vereinfachung (Asmodis, 22. Aug 1996, 20:14:31):
~#! rn=Rochus rt=840737594
~#! tid=840648932
Sag ich doch, das hab ich auch gefunden :)

-----------------------------------------------------------------------------



Re: Re: Vereinfachung (Fyt, 22. Aug 1996, 21:21:24):
~#! rn=Nirdavo rt=840700821
~#! tid=840648932

Aehm: Seher in der Fruehzeit des Spiels? Das scheint dann wohl vor
meiner Zeit gewesen zu sein...

Fyt.

-----------------------------------------------------------------------------



Re: Questbelohnungen (Fyt, 22. Aug 1996, 21:23:06):
~#! rn=Orktoeter rt=840707214
~#! tid=840707214

Spieler koennen sich auch mal 'n Bumi von nem Seher kaufen lassen...
Ich sag nur 'miteinander spielen'.

Fyt.

-----------------------------------------------------------------------------



Re: Re: Questbelohnungen (Grimmborn, 23. Aug 1996, 01:21:41):
~#! rn=Fyt rt=840741786
~#! tid=840707214

Korrigiert mich wenn ich da falsch liege, aber die Seher der allerersten
Stunde (die um Woelkchen) hatten Wizlevel von um die 5 in der Gegend.
Moeglich, dass das mittlerweile wieder geaendert ist, aber damals wars noch
so. Naja, gab/gibt ja keine Vorteile, und die Leute waren auch so locker 1,5
Jahre vor einem halbwegs ausgereiften Seherkonzept Seher. Ja, das war sogar
noch vor MEINER Zeit, ich kenns ja auch nur vom Hoerensagen...

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re^3: Vereinfachung (Boing, 23. Aug 1996, 13:47:49):
~#! rn=Fyt rt=840741684
~#! tid=840648932
Nirdavo hat da nicht ganz recht ... eine AP-Grenze gab es IMMER, aller-
dings lag die urspruenglich bei 100%, ich hab mich da nur etwas erweichen
lassen ... :)
  Boing

-----------------------------------------------------------------------------



Re^3: Questbelohnungen (Boing, 23. Aug 1996, 13:48:37):
~#! rn=Grimmborn rt=840756101
~#! tid=840707214
Die ersten Seher bekamen ihren Level noch von Hand gesetzt, 5 war dabei
der normale Wert, das duerften aber nur maximal 5 Spieler gewesen sein.
  Boing

-----------------------------------------------------------------------------



Re^4: Vereinfachung (Fyt, 23. Aug 1996, 14:22:38):
~#! rn=Boing rt=840800869
~#! tid=840648932

Da gab's doch mal so seltsame Sachen, dass neue Quests kurzfristig
abgehaengt wurden, nur damit das Magierwerden nicht so schwer wird...
Oder taeusch ich mich da... *Herrn Alzheimer angrins*

Fyt, glaub nur dass, was er sich selbst erzaehlt.

-----------------------------------------------------------------------------



Re: Re: artikel Stufen und Erfahrung (Matsushita, 23. Aug 1996, 23:35:51):
~#! rn=Asmodis rt=840488431
~#! tid=840487879
Wirft Death' Vorschlag das Konzept hier wirklich ueber den Haufen, Asmodis?
Was spricht dagegen, wenn man nicht aufsteigen kann, ohne mind. x ZT gefunden
zu haben? Oder beim Aufsteigen den einen oder anderen bekommt...?
Und statt die ZTs abzuschaffen, wuerde ich ohnehin dafuer plaedieren, 
zukuenftig noch viel mehr zu verstecken (und sie entsprechend geringer zu 
werten). Das ZT suchen hat mir persoenlich naemlich sehr viel Spass gemacht.
:)
Matsu*

-----------------------------------------------------------------------------



Re^3: artikel Stufen und Erfahrung (Valarian, 23. Aug 1996, 23:37:28):
~#! rn=Matsushita rt=840836151
~#! tid=840487879

Mir nicht, Matsu*

Gruss Val :)

-----------------------------------------------------------------------------



Re^3: artikel Stufen und Erfahrung (Caradhras, 23. Aug 1996, 23:41:28):
~#! rn=Matsushita rt=840836151
~#! tid=840487879
Ich glaube kaum, dass da besonders viele dafuer waeren, noch mehr ZTs finden
zu muessen. Ist so schon nervig genug weil MG viel zu gross ist.

Und Deaths Vorschlag wuerde ich auch nicht zustimmen, wieso soll es keine
schwachen Seher oder hohe Spieler geben, die aber trotz ihres Titels
niedrige Stats haben. Das ist wenigstens ein flexibler Teil des Muds, das
im Rest viel zu starr und unflexibel ist. (das liegt aber eben dran weil es
ein Mud ist, andere Muds sind da nicht besser, geht eben (kaum) anders)

Ich finde es sehr gut, dass es auch hoch(entwickelte) Seher gibt,
die recht schwach/wenig ausdauernd ... sind und trotzdem durch ihre
Intelligenz/Spielfreude mehr erreichen als andere.

 ein Goldfrosch - freut sich ueber !0815 - Seher/Spieler

-----------------------------------------------------------------------------



' (Grimmborn, 24. Aug 1996, 00:01:36):

Kann das sein, dass frueher "'Hallo." und ' Hallo." das gleiche Ergebnis
hatten und im zweiten Fall jetzt ein space zuviel erscheint? Sollte das keine
Halluzination sein kann man das sicher leicht wieder aendern...

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re: ' (Acrimon, 24. Aug 1996, 00:20:45):
~#! rn=Grimmborn rt=840837696
~#! tid=840837696
Auch der Ebenenbug ist leider immer noch vorhanden:
bei -a :-) erscheint: [Allgemein:Acrimon -)]
Der Fehler tritt nicht nur bei : auf, sondern auch, wenn das erste Zeichen des
gesagten Textes ein ; oder ' ist.
Kann mal bitte ein Magier diesen Bug fixen?
(Nach einem Leerzeichen sollte ALLES auf der Ebene gesagt werden)

Acrimon, der Rote Ritter

-----------------------------------------------------------------------------



Re^4: artikel Stufen und Erfahrung (Matsushita, 24. Aug 1996, 00:23:00):
~#! rn=Valarian rt=840836248
~#! tid=840487879
Tja, dann eben nicht, Val* :)

-----------------------------------------------------------------------------



Re^4: entwicklung (Morgoth, 26. Aug 1996, 07:22:43):
~#! rn=Nirdavo rt=840104745
~#! tid=840099794
wie waers, wenn einfach nur der level hochgesetzt wird. es muss ja kein
create_seer aufgerufen werden.
Morgoth

-----------------------------------------------------------------------------



Re^5: Stufe 20 (Morgoth, 26. Aug 1996, 07:28:27):
~#! rn=Raffi rt=840467207
~#! tid=840131635
eine andere nette sache waere evtl. bei seherwerdung den level wieder auf 1 zu
setzen und ab jetzt die wirklichen seherlevel zaehlen ( wie auch immer)
Morgoth

-----------------------------------------------------------------------------



Re^6: Stufe 20 (Mupfel, 26. Aug 1996, 11:13:42):
~#! rn=Morgoth rt=841037307
~#! tid=840131635
was sollen denn die 'wirklichen seherlevel' sein? ne art P_SEER_LEVEL ?

-mupfel-

-----------------------------------------------------------------------------



Re^7: Stufe 20 (Acrimon, 26. Aug 1996, 15:00:25):
~#! rn=Mupfel rt=841050822
~#! tid=840131635
Also, am Besten gefiel mir bisher folgender Vorschlag:

Die Seherwerdung wird komplett vom Level getrennt. Die einzigen Kriterien fuer
die Seherwerdung sind die bisherigen Anforderungen (mit Ausnahme von Level
20).
Wenn man glaubt, dasz man alle Kriterien erfuellt, dann sucht man Merlin, und
der macht dann den Sehertest.
Die Level werden bei der Seherwerdung nicht veraendert, und es gibt keine
Levelgrenze fuer Spieler.
Jedoch bekommt ein hochlevliger Spieler keine levelabhaengigen
Seherprivilegien.

Acrimon, der Rote Ritter

-----------------------------------------------------------------------------



Re: ' (Boing, 26. Aug 1996, 15:15:57):
~#! rn=Grimmborn rt=840837696
~#! tid=840837696
Ob das frueher anders war, kann ich nicht beantworten, da ich diesen 
Befehl nie nutze. Allerdings halte ich die jetzige Art und weise fuer
sinnvoll, da man damit leerzeichen am Anfang sagen kann, wenn Du keines
willst, musst Du ja keins tippen. Und ein alias fuer ' braucht ja wohl
keiner ... :)
Tschuess,
  Boing

-----------------------------------------------------------------------------



Re^3: artikel Stufen und Erfahrung (Asmodis, 26. Aug 1996, 20:30:23):
~#! rn=Matsushita rt=840836151
~#! tid=840487879
Hmm, was dagegen spricht? Tja, eine solche Vorgehensweise wuerde wohl
wieder die ZT-Listen auf den Plan rufen. Und das ist wohl nicht
gewuenscht. Aber eine bessere 'Verwaltung' der ZTs waere wirklich
wuenschenswert, man sollte doch vielleicht erfahren, wieviele ZTs
sich im Gebiet befinden, in dem man gerade ist (ZT-Stellen, nicht
echte ZTs). Denn ohne ZT-Liste ist man bei dem Riesen-MUD wirklich
aufgeschmissen.

-----------------------------------------------------------------------------



Re^4: artikel Stufen und Erfahrung (Zardoz, 27. Aug 1996, 11:04:32):
~#! rn=Asmodis rt=841084223
~#! tid=840487879
Ueber ne ZT-Reform wurde ja schon laenger drueber nachgedacht, aber es ist nix
bei rausgekommen. Das Mud ist laengst ohne ZT-Listen nicht mehr spielbar, da
einfach zu gross... 

Ciao Zardoz

-----------------------------------------------------------------------------



Re: Questbelohnungen (Helva, 27. Aug 1996, 11:48:17):
~#! rn=Orktoeter rt=840707214
~#! tid=840707214
Meinen Feenring konnte ich auch nicht benutzen...
:-)
helva

-----------------------------------------------------------------------------



Re^5: artikel Stufen und Erfahrung (Boing, 27. Aug 1996, 12:40:24):
~#! rn=Zardoz rt=841136672
~#! tid=840487879
Da geb ich Dir recht, leider ist mir noch nix vernuenftiges eingefallen
und die bisher von anderer Seite gekommen Vorschlaege sagen mir auch nicht
zu.
  Boing
PS: Ich denke aber weiterhin darueber nach.

-----------------------------------------------------------------------------



Re: Re: Questbelohnungen (Thingol, 27. Aug 1996, 21:06:19):
~#! rn=Helva rt=841139297
~#! tid=840707214
Helva ? Das ist doch diese Sesampaste, nicht ?

-----------------------------------------------------------------------------



Re^3: Questbelohnungen (Helva, 27. Aug 1996, 21:38:08):
~#! rn=Thingol rt=841172779
~#! tid=840707214
Da sieht man, dass nicht nur LLP (ja auch spieler stufe vier duerfen briefe
indiese rubrik schreiben) sich irren koennen.
Nein helva ist keine Paste!
Setze EINE MUENZE ALS BELOHNUNG fuer die loesung des raetsels.
helva 
P.S. kleiner tip: helva kann singen

-----------------------------------------------------------------------------



Re^4: Questbelohnungen (Willow, 27. Aug 1996, 21:44:18):
~#! rn=Helva rt=841174688
~#! tid=840707214
Tja, Hmmm... ist Helva nicht der Barde des Wickingerstammes von Wickie? Also
irgendwie bin ich mir da ziemlich sicher... (die eine Muenze kann ich echt gut
gebrauchen!)
Weidchen Willow der immer noch Gemeines plant (oder Geheimes?)

-----------------------------------------------------------------------------



Re^5: Questbelohnungen (Tasha, 27. Aug 1996, 22:32:36):
~#! rn=Willow rt=841175058
~#! tid=840707214
Ich glaube da meinst du Halva, und ich dachte eigentlich das waere der Vater
gewesen.

Tasha, es auch nicht genau wissend.

-----------------------------------------------------------------------------



Re^6: Questbelohnungen (Willow, 27. Aug 1996, 22:34:02):
~#! rn=Tasha rt=841177956
~#! tid=840707214
Oh, das kann natuerlich auch sein... ist doch schon etwas her, dass ich Wicki
gesehen habe... naja, gibts halt keine muenze...
Weidchen Willow mal wieder voellig unwissend...

-----------------------------------------------------------------------------



Re^4: Questbelohnungen (Thingol, 27. Aug 1996, 23:23:00):
~#! rn=Helva rt=841174688
~#! tid=840707214
Hm, ich weiss nur, dass bei mir im Kuehlschrank eine Sesampaste mit
Vanille- und Schoggigeschmack liegt, und da steht Helva drauf ...

naja, cu Thingol.

-----------------------------------------------------------------------------



Re^5: Questbelohnungen (Helva, 28. Aug 1996, 08:35:46):
~#! rn=Thingol rt=841180980
~#! tid=840707214
Nein, die muente steht noch zur Belohnung aus. Ob Sesampastete mit Vanille
geschmack lekker ist? Helva war schon immer weiblich und Kenntnisse in der
SF-Literatur koennen zum erraten nicht schaden. Man kann mir die
Loesundgsvorschlaege auch in mein Postfach schicken, den weg dahin finde ich
naemlich...
Helva hat heute morgen schon gelacht :-)

-----------------------------------------------------------------------------



Re^6: Questbelohnungen (Nixihou, 30. Aug 1996, 17:13:41):
~#! rn=Helva rt=841214146
~#! tid=840707214
ist helva nicht das singende raumschiff?, den autor kenn ich nicht
aber es gibt da noch 2-3 weitere romane mit raumschiffen bzw raumstationen, 
die wie helva ein menschiches bewustsein haben ....

nixihou, list ab und zu sf

-----------------------------------------------------------------------------



Re^6: artikel Stufen und Erfahrung (Nixihou, 30. Aug 1996, 17:16:54):
~#! rn=Boing rt=841142424
~#! tid=840487879
was war mit dem vorschlag, dass man bei jedem zt einen chance hat, ihn zu
finden? und je mehr zt's man in einer schwierigkeitsstufe nicht bekommen hat
desto hoeher die chance, bei der naechsten stelle den zt zu finden?

also ich meine so ein konzept schon mal gehoert zu haben und finde es recht
gut, zumal man dann auch die chance hat in NEUEN gebieten noch zt's finden
zu koennen ....

nixi, denkt, erinnert ... 

-----------------------------------------------------------------------------



Re^7: artikel Stufen und Erfahrung (Anatol, 30. Aug 1996, 17:17:54):
~#! rn=Nixihou rt=841418214
~#! tid=840487879


Soweit ich weiss kam der Vorschlag von Silvana und wurde mit der Begruendung
verworfen, dass es im Savefile des Spielers zuviel Platz wegfrisst.

Da gab es noch keine Karategilde ;)

Anatol


-----------------------------------------------------------------------------



Analog zu 'trage alles' ... (Mahatma, 30. Aug 1996, 17:21:10):

... wuensch ich mir einen 'ziehe alles aus'-Befehl.

Mahatma

-----------------------------------------------------------------------------



Re^6: Nostalgieliste (Sique, 30. Aug 1996, 17:52:52):
~#! rn=Grimmborn rt=840484749
~#! tid=840464339
Yeah! Ich will eine Liste, nach Alter geordet!
Dann streiten nur noch Asmodis und ich uns um Platz 1 ;)

                                                         Sique

-----------------------------------------------------------------------------



Re^8: artikel Stufen und Erfahrung (Nixihou, 30. Aug 1996, 17:57:56):
~#! rn=Anatol rt=841418274
~#! tid=840487879
hmm, kann sein das der von silvana ist.

aber ich sehe nicht, wie ca 200 zahlen , eine pro zt, so drastisch auf den 
speicherplatz auswirken sollten. wenn mans mit bits macht sind es halt nur
200 bits .... also wirklich...
nixihou, hat von computern aber keine ahung ....

-----------------------------------------------------------------------------



Re^9: artikel Stufen und Erfahrung (Kobayashi, 30. Aug 1996, 18:05:03):
~#! rn=Nixihou rt=841420676
~#! tid=840487879
Wenn ich das richtig verstehe, braucht man kaum mehr Platz. Da dann jeder mehr
oder weniger alle Traenke finden kann, braucht man doch nur eine Info, wer
wieviele Traenke von welcher Schwierigkeit finden muss (das kann auch noch
global fuer alle oder evtl. rassenunterschiedlich gehandelt werden). Ins save
file muss dann nur noch, wieviele und welche Traenke von einer
Schwierigkeitsstufe bereits gefunden wurden.

Kobayashi - I haven't lost my mind. I know exactly where I left it.

-----------------------------------------------------------------------------



Re: Analog zu 'trage alles' ... (Mupfel, 30. Aug 1996, 18:35:58):
~#! rn=Mahatma rt=841418470
~#! tid=841418470

Das sollte garnicht *so* schwer zu realisieren sein...

-mupfel- (macht die Bastelkiste auf)

-----------------------------------------------------------------------------



Re^7: Nostalgieliste (Caradhras, 31. Aug 1996, 19:25:27):
~#! rn=Sique rt=841420372
~#! tid=840464339

Glaube ich kaum, Sique.

-----------------------------------------------------------------------------



Re: Abenteurer-Gilde, voellig nutzlose Neuigkeiten (Quengistu,  1. Sep 1996, 22:12:55):
~#! rn=Boing rt=840556312
~#! tid=840556312
Da es sonst offenbar niemand fuer noetig haelt:
Danke, Boing!
Endlich einmal ein paar neue Sprueche. Und gleich ein Wunsch von mir dazu:
Wie waere es, wenn sich ein Magier die Muehe macht und die witzigsten
Kampfschreie n der MPA postet? Apropos: Es koennte auch mal wieder eine Liste
der schoensten Uhrmeldungen oder der schoensten "Wie bitte?"-Meldungen
veroeffentlicht werden.
Gruss, Queng

-----------------------------------------------------------------------------



Re^8: artikel Stufen und Erfahrung (Silvana,  2. Sep 1996, 07:52:06):
~#! rn=Anatol rt=841418274
~#! tid=840487879
Ja, der war von mir - und es gab schon die Karate-Gilde. Vielleicht war
gerade deshalb kein Platz mehr fuer 200 Byte. :) Nein, ernsthaft: Die ZT
werden mehr und daher ist ein Array, in dem eine zunehmende Zahl von 
Zahlen steht schlecht ueberschauber, wenn es um den zukuenftigen 
Speicher-Verbrauch geht. Wieso das bei den FP und NPC-Stupsen anders sein
soll, leuchtet mir zwar nicht so ganz ein, aber auch eine EM muss ja nicht
alles verstehen.
  Silvana

-----------------------------------------------------------------------------



Re^9: artikel Stufen und Erfahrung (Cauno,  2. Sep 1996, 11:39:42):
~#! rn=Nixihou rt=841420676
~#! tid=840487879
200 bits fuer 200 (verschiedene) zahlen? du hast wirklich keine ahnung, nixi.

C. No (der glaubt, mehr ahnung zu haben, aber nicht viel)

-----------------------------------------------------------------------------



Re^7: Nostalgieliste (Raffi,  2. Sep 1996, 12:12:02):
~#! rn=Sique rt=841420372
~#! tid=840464339

Au ja, Liste nach alter ist ne gute Idee - Als Aufstellungsort empfehle ich
das MG-Museum.

Gruss
H.
P.S.: Kein Smiley, da ernstgemeint.

-----------------------------------------------------------------------------



zt (Grimmborn,  2. Sep 1996, 12:17:43):

Hmm, auch wenn nich icht der Einzige sein werde der daran denkt: Vielleicht
sollte man das mit den Wahrscheinlichkeiten bischen differenzieren, wenn der
Effekt ist, dass man nur an einer Stelle x-mal die syntax eingeben muss bis
mal alle zt dieser Gruppe hat (weil dann irgendwann die Wkt zuschlaegt) ist
das nicht so doll. D.h. es muss bei ersten Versuch endgueltig festgelegt sein
ob dieser zt nun da ist oder nicht.
Und natuerlich muss die Wkt auch abhaengig von den noch zu findenden zt sein,
und sollte nicht ZU niedrig sein - es sollte nicht in Frust ausarten, weil man
die ersten 60 Stellen "ja eh umsonst abgrast".

Ach ja, aber da haben wir ja verantwortungsvolle Leute, die sich um sowas
kuemmern...

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re^8: Nostalgieliste (Quasimodo,  2. Sep 1996, 15:02:44):
~#! rn=Raffi rt=841659122
~#! tid=840464339
Hmm, in die Nostalgieliste nach Zeit koennte man doch prima auch Magier
aufnehmen, ne? nicht das ich da auftauchen wuerde, aber witziger waers schon.

Quasimodo.

-----------------------------------------------------------------------------



Re^9: Nostalgieliste (Wurzel,  2. Sep 1996, 18:07:30):
~#! rn=Quasimodo rt=841669364
~#! tid=840464339
na dann waers ja einfach:
1. jof
2. miril
3. boing
4. durian
5. wurzel :)
alles im maerz 92, da gabs noch keine spieler :)

wurzel findet listen albern.

-----------------------------------------------------------------------------



Re^10: Nostalgieliste (Mupfel,  2. Sep 1996, 18:33:29):
~#! rn=Wurzel rt=841680450
~#! tid=840464339

Ich dachte immer, Jof und Rumata haetten das MG gegruendet, daher auch der
fruehere Name 'JRmud' ... ?

-mupfel-

-----------------------------------------------------------------------------



Re: zt (Acrimon,  2. Sep 1996, 19:08:34):
~#! rn=Grimmborn rt=841659463
~#! tid=841659463
1. Zu Cauno und Nixihou:
Nixihou hatte schon recht.
Wenn man sich fuer jede moegliche ZT-Stelle merkt, ob die betreffende Person
dort einen ZT hat oder nicht mehr hat, braucht man fuer jede Stelle nur ein
Bit.
Wenn es also 200 moegliche Stellen gibt, braucht man 200 Bits.
Es gibt aber mehr Stellen, ich schaetze 300.
Auszerdem werden die ZT momentan anders abgespeichert:
Jeder Spieler hat 80 Byte, in denen steht, wo der zugehoerige ZT sich
befindet.
(Und wohl noch eine Zahl, wieviel er schon gefunden hat)

2. Zu Silvana:
Nanu, die ZT werden mehr? 200 Stueck statt 80? Entweder man will hier eine
radikale Veraenderung einfuehren, oder ich hab da was falsch verstanden, oder
Silvana hat sich umstaendlich ausgedrueckt.
Mehr werden meines Wissens nach nur die ZT-Stellen, und deren Anzahl wirkt
sich ja nicht auf das Savefile aus.

3. Zu Grimmborn:
Gute Idee!
Das Ganze mueszte wohl so implementiert werden:
Die ZTs der Spieler sind nicht mehr von Anfang an festgelegt.
D.h., man musz auch in Gebieten, die neuer sind als man selber, nach ZT
suchen.
Sobald nun ein Spieler eine ZT-Stelle durchsucht, wird nun:
- in einem Bit im Savefile des Spielers abgespeichert, dasz er dort bereits
gesucht hat.
- Wenn er einen ZT gefunden hat, wird die Wahrscheinlichkeit zum Finden
weiterer ZTs in dieser Schwierigkeitsklasse erniedrigt.

Bei der Berechnung der Wahrscheinlichkeit musz man natuerlich darauf achten,
dasz dabei garantiert wird, dasz der Spieler alle ZT findet und dabei fast
alle Stellen durchsuchen musz.
Wenn er also beispielsweise noch 5 Stellen uebrig hat, in denen er 4 ZT finden
musz, dann ist die Wahrscheinlichkeit fuers ZT-Finden 80%. Findet er einen,
dann wird sie erniedrigt zu 75% (3 ZTs und 4 Stellen). Findet er keinen, wird
sie erhoeht zu 100% (4ZTs und 4 Stellen).

Dieses Beispiel war jedoch ohne Gewichtung, und wir wollen eine Gewichtung
hineinbringen.
Das ist nicht schwer und wird sich sicher durchfuehren lassen.
Ich finde Grimmborns Idee gut.

Acrimon, der Rote Ritter

-----------------------------------------------------------------------------



Re^10: artikel Stufen und Erfahrung (Lefty,  2. Sep 1996, 20:57:56):
~#! rn=Cauno rt=841657182
~#! tid=840487879
also ich kann auch mit 200 bit fuer jeden spieler speichern, ob der bestimmte
zt's von 200 moeglichen hat, wo ist das prob, cauno ?

Lefty

-----------------------------------------------------------------------------



entwicklung (Lahm,  3. Sep 1996, 10:26:04):
Hallo, ich denke, dass alle bisher besprochen Reformen ZT-Listen fuer
Anfaenger foerdern. Sinnvoller wuerde ich es erachten, wenn die ersten
Zaubertrankverstecke im Spielerhandbuch stehen wuerden und danach noch die
Anzahl der Traenke in den verschiedenen Regionen. Um das Suchen nicht voellig
ad absurdum zu fuehren wuerde ich in JEDER Quest einen Zaubertrank an mehreren
moeglich Orten verstecken, so dass es sich lohnt,
jede Quest zu spielen und sich dort auch alles genau anzuschauen, was dem
leidigen Thema scripten auch endlich mal gut taete. Ausserdem wuerde das
vermeiden, dass neue Spieler ohne ZT-Liste irgendwann Stufe 15 haben, aber 
Stats von 3 im Durchschnitt.
Lahm

-----------------------------------------------------------------------------



Re^11: artikel Stufen und Erfahrung (Cauno,  3. Sep 1996, 11:42:25):
~#! rn=Lefty rt=841690676
~#! tid=840487879

Ein falscher Ausdruck war das Problem. Da man in einem Bit nur die Zahlen 0
und 1 speichern kann, bin ich davon ausgegangen, dass hier Bits mit Bytes
verwechselt wurden. (bzw. vertippt wurden). Fuer STELLEN reicht das natuerlich
aus. Um wirklich ZAHLEN abzuspeichern, reicht es nicht.

Muesst ihr denn schon wieder alles so ernst nehmen?

C. No

P.S.: Von dem Vorschlag, die ZTs nach Zufall zu vergeben, moechte ich abraten.
Ihr denkt zwar daran, dass mit der Zeit der Zufall zuschlagen MUSS. Abr glaubt
bloss nicht, dass der Zufall das weiss. Wenn man grade den letzten noch sucht,
hat man eine p von 1:80, den an der einen Stelle auch zu finden. Das heisst
aber noch lange nicht, dass man es vor dem hundertsten Versuch schafft.
Bleiben wir doch besser bei der bisherigen ja/nein (0/1)-Regelung. Ich finde
das sinnvoller.

-----------------------------------------------------------------------------



Re^10: Nostalgieliste (Durian,  3. Sep 1996, 16:16:49):
~#! rn=Wurzel rt=841680450
~#! tid=840464339
WIDERSPRUCH!

3. durian 
4. boing

:-)
- Durian

-----------------------------------------------------------------------------



Re^7: artikel Stufen und Erfahrung (Boing,  3. Sep 1996, 16:40:37):
~#! rn=Nixihou rt=841418214
~#! tid=840487879
Von diesem System halte ich nichts, da es an der Notwendigkeit von ZT-Listen
nichts aendert. Ich moechte ein Zaubertrank-System haben, dass ohne Listen
funktionieren kann.
  Boing
./

-----------------------------------------------------------------------------



Re^8: artikel Stufen und Erfahrung (Tanis,  3. Sep 1996, 16:44:06):
~#! rn=Boing rt=841761637
~#! tid=840487879
fuer jeden stufenanstieg bis 20 einfach 4 zts vergeben, die sich der spieler
dann selbst dahin setzten kann, wo er will.

Tanis .... wollte einfach mal nen vorschlag bringen

-----------------------------------------------------------------------------



Re^11: Nostalgieliste (Boing,  3. Sep 1996, 16:44:50):
~#! rn=Durian rt=841760209
~#! tid=840464339
Glaub ich kaum ... hast Du denn die orcslayer-quest gemacht?
  Boing

-----------------------------------------------------------------------------



Re: Analog zu 'trage alles' ... (Catweazle,  3. Sep 1996, 18:24:19):
~#! rn=Mahatma rt=841418470
~#! tid=841418470
'wirf alles weg' + 'nimm alles' :
YTC

-----------------------------------------------------------------------------



Re: Re: Analog zu 'trage alles' ... (Valarian,  3. Sep 1996, 18:25:07):
~#! rn=Catweazle rt=841767859
~#! tid=841418470
Und vorallem 'behalte alles'

Gruss Val, der nicht aufgeben wird das zu forden.

-----------------------------------------------------------------------------



Re: Re: Analog zu 'trage alles' ... (Anatol,  3. Sep 1996, 18:48:08):
~#! rn=Catweazle rt=841767859
~#! tid=841418470

"wirf alles weg" + "nimm alles"...
Das sind  a) Zwei Befehle
          b) dann gelegentlich gewisse Gegenstaende zerstoert.

Spiel' mal oefter mit Deinem Zweitie, Sheriff ;-)

Anatol 


-----------------------------------------------------------------------------



Re: entwicklung (Fyt,  3. Sep 1996, 18:48:15):
~#! rn=Lahm rt=841739164
~#! tid=841739164

Ich halte das ZT-System fuer das MG fuer total ueberholt. Hier sollte
mal ne groessere Reform einsetzen, es ist unzumutbar, die Stellen
abzuklappern, selbst wenn man sie kennt.

Wenn jemand zu ernsthaften reden darueber bereit ist,m mach ich gerne mit...

Fyt.

-----------------------------------------------------------------------------



Re^3: Analog zu 'trage alles' ... (Stahldorn,  3. Sep 1996, 19:27:43):
~#! rn=Valarian rt=841767907
~#! tid=841418470

Man traegt oft mehr bei sich, als man mit "nimm alles" wieder nehmen koennte.
STAHL.

-----------------------------------------------------------------------------



ich hasse zts (Qitess,  3. Sep 1996, 21:21:56):

genau. ich hasse ZTs. ich habe mich erst dagegen gewehrt , eine Liste abzu-
klappern, aber nachdem ich wirklich nirgends nichts gefunden hatte, habe
ich mir eine zukommen lassen. der grosse scherz ist allerdings, dass ich die 
meisten stellen schon ausradieren konnte, aber die meisten dieser stellen
wiederum waren leer. fuer mich liegen wahrscheinlich alle zts in der ssp
oder an einem sonstigen unzugaenglichen ort. (friedhof - in dem tuempel)
es kann natuerlich auch sein, dass irgendein magier gekommen ist und mir alle 
ZTs weggetrunken hat . ;) naja...
auf dem zugefrorenen weiher gabs fuer mich keinen einzigen, obwohl in der
liste noch so nett steht, dass da jeder so zwei bis drei findet.
naja, ich werde wohl auch dereinst als uraltseher (die seherstufen sind auch 
so ne sache, ich bin naemlich soooo lange schon angehende seherin... aber 
das ist ja meine schuld...) noch mit stats um die 12 rumlaufen... :) 
okay was solls, wollte halt nur mal mein leid klagen...

Qitess  (die wo da so mit ohne ZTs rumrennt)


-----------------------------------------------------------------------------



Re: ich hasse zts (Stahldorn,  3. Sep 1996, 21:26:03):
~#! rn=Qitess rt=841778516
~#! tid=841778516

Die SSP ist kein unzugaenglicher Ort.
und gefaehrlich wirds auch erst ab den Eisgiganten, denk ich. 
STAHL, der aber auch kaum mehr in die SSP geht.

-----------------------------------------------------------------------------



Re: Re: ich hasse zts (Qitess,  3. Sep 1996, 21:29:03):
~#! rn=Stahldorn rt=841778763
~#! tid=841778516
die ssp ist mit derart niedrigen stats ein sehr unzugaenglicher ort.
und fuer einen, der es nicht leiden kann zu metzeln, ist er ausserdem 
noch hoechst unangenehm.

Qitess . friedliebend.


-----------------------------------------------------------------------------



Re^3: ich hasse zts (Schoko,  3. Sep 1996, 21:30:14):
~#! rn=Qitess rt=841778943
~#! tid=841778516


Wozu hat man Freunde ... ?

Schoko (wollt auch mal was schreiben, damit ihn beim naechsten Treffn
wenigstens ein paar Leute kennen :))

-----------------------------------------------------------------------------



Re^8: artikel Stufen und Erfahrung (Orktoeter,  4. Sep 1996, 11:26:07):
~#! rn=Boing rt=841761637
~#! tid=840487879
Hmmm wenn man die ZT-Listen nicht will, warum gibt man dann noch Stupse fuer
das Untersuchen von ZT-Stellen ?
ZT sind doch eh schon das wichtigste im MG...
Das das zu einer noch staerkeren Verbreitung von Stupsen fuehren wuerde war
doch klar..
Sir Orktoeter, war schon immer Gegen die grosse Reform und die Stupse.

-----------------------------------------------------------------------------



Hydra und so... (Fyt,  4. Sep 1996, 11:27:08):

Also mir ist gestern Abend an der Hydra aufgefallen, dass das Vieh
endlich seinen Zweck erfuellt, es war ne ganze Seherhorde da, es gab
grosses Geschrei und es hat ziemlichen Spass gemacht. Fuer das bissel,
was ich selbst anken war, hat die Lupinentalkneipe gereicht, man hat
also nicht mal Wegmakros gebraucht (waer bei dem Lag eh sinnlos gewesen),
fast zumindest. Und es war nicht das erste Mal in letzter Zeit, im
Gegenteil. Die 150 Stupse fuer das Vieh scheinen also doch ne gewisse
anziehende Wirkung zu haben. Und die Stupse gibt es erst seit der Reform,
also ist das Zusammenspiel doch ne Konsequenz der Reform. Also ist die
Reform gut, sie hat naemlich zumindest in dem Punkt das Zusammenspiel
gefoerdert...

Natuerlich gibt's noch Haken, Stupse fuer die ZT-Stellen sind m.E.
Schwachsinn, auch wenn ich dadurch meinen letzten ZT irgendwo in Xian
gefunden hab. Genauso die Sachen mit FP aus alten Questen. Naja. Aber
das wollte ich eigentlcih jetzt nicht aufwaermen.

Fakt ist, dass das ZT-System, so wie es jetzt funktioniert, die
'Kommunikation' auf das einmalige Versenden von ZT-Listen reduziert.
Frueher konnte man 'n Anfaenger auf die HE stellen und sagen 'Such mal
rum', heutzutage wuerde sich da jeder (berechtigterweise) verarscht
vorkommen...

Fyt, wieder mal nur rumgelbert haben wollend...

PS: Noch mal 'n kraeftiges danke an Puma :-)

-----------------------------------------------------------------------------



Re^9: artikel Stufen und Erfahrung (Drfreud,  4. Sep 1996, 11:28:49):
~#! rn=Orktoeter rt=841829167
~#! tid=840487879
Hmmmm..
Dieser junge Held wird doch nicht etwa rueckfaellig werden ?
Ich hatte ihn doch von seiner panischen Furcht vor diesen ominoesen FP
geheilt.
Ich muss ihn wohl noch ein weilchen im Auge behalten..
Dr Freud, der, bei dem noch kein Patient rueckfaellig wurde.

-----------------------------------------------------------------------------



Spielerstufen und Seherstatus (Wargon,  5. Sep 1996, 11:01:35):
  Hi!
Man kann jetzt als Spieler auch ueber Stufe 19 hinaus erhoehen, ohne die
Seherbedingungen erfuellen zu muessen. Man ist dann natuerlich auch kein Seher
und geniesst die entsprechenden Privilegien nicht :)
Seher wird man, wenn man die ueblichen Bedingungen erfuellt UND seine Stufe
erhohen kann (wenn man also zB. die letzten AP auf Stufe 26 scheffelt, wird
man Seher, wenn man auf Stufe 27 erhoeht).
  Viel Spass beim Erhoehen,
    Wargon
    (Boeser Erzmagier)

-----------------------------------------------------------------------------



Re: Spielerstufen und Seherstatus (Acrimon,  5. Sep 1996, 12:17:08):
~#! rn=Wargon rt=841914095
~#! tid=841914095
Wunderbar, danke Wargon!

Jetzt gleich noch ein Vorschlag:
Wie waers, wenn man das Seher-Werden vom Erhoehen abkoppelt?
Vielleicht, indem man die Seherquest tatsaechlich zu einer solchen
umfunktioniert:
Die Seherquest darf nur beginnen, wer die Seherbedingungen erfuellt, (er musz
aber noch kein Seher sein),
und wenn er in dieser Quest die Kristallkugel bekommt, dann wird er Seher?

Oder ist die einfachere Version besser:
man musz Merlin finden?

Acrimon, der Rote Ritter

-----------------------------------------------------------------------------



Re: Re: Spielerstufen und Seherstatus (Caradhras,  5. Sep 1996, 12:25:31):
~#! rn=Acrimon rt=841918628
~#! tid=841914095
Also ich glaube, da faende ich die Seherquest einfacher. :)
Und schoener.

     Rothorn Caradhras - huch, er questet ja wieder :)

-----------------------------------------------------------------------------



Re: Spielerstufen und Seherstatus (Tyrann,  5. Sep 1996, 15:04:23):
~#! rn=Wargon rt=841914095
~#! tid=841914095
aeh ... wie is die syntax, um seher zu werden?

-----------------------------------------------------------------------------



Seher, Magier, FP, EP? (Irix,  5. Sep 1996, 15:09:12):
Hiho,

wie ist das mit Altspielern? Brauchen die nun FP's zum Seher?
Und/Oder die Quests? Die 1Mio Eps noch? oder ist das auch weg?
Keine konnte mir so richtig eine Antwort geben wie das nun ist...

Thx. 

-----------------------------------------------------------------------------



Re: Re: Spielerstufen und Seherstatus (Raffi,  5. Sep 1996, 21:29:05):
~#! rn=Acrimon rt=841918628
~#! tid=841914095


Jo, seher werden ohne Erhoehen - Merlin suchen und ssagen 'merlin mach mich
zum seher'

Grins

Gruss
H.

-----------------------------------------------------------------------------



Re^3: Spielerstufen und Seherstatus (Grimmborn,  5. Sep 1996, 23:20:39):
~#! rn=Raffi rt=841951745
~#! tid=841914095

...dann antwortet Merlin nur: 'Dich duemmliche scriptwurst zum Seher machen?
Haelst Du mich wirklich fuer so dumm?' und geht weiter. Denn Merlin hoert ja
nun auch nicht immer auf jeden.

GdA

-----------------------------------------------------------------------------



Re^4: Spielerstufen und Seherstatus (Raffi,  5. Sep 1996, 23:22:06):
~#! rn=Grimmborn rt=841958439
~#! tid=841914095

Ich bin kein script.
Ich bin kein script.
Ich bin kein script.

(Ups falsches  Fenster)

H.

-----------------------------------------------------------------------------



Re: Spielerstufen und Seherstatus (Schoko,  6. Sep 1996, 00:08:46):
~#! rn=Wargon rt=841914095
~#! tid=841914095

Ein riesiges Danke Wargon und allen andren!

Ich finde das ist eine der besten neuerungen seit langem endlich den total
veralteten Level 20 fuer Seher abzuschaffen ... super!

schoko (hatte eigentlich nix zu sagen, wollte nur zeigen, dass das nicht
einfach so vorbeigerauscht ist :))

-----------------------------------------------------------------------------



Re: Re: Spielerstufen und Seherstatus (Wargon,  6. Sep 1996, 09:21:17):
~#! rn=Tyrann rt=841928663
~#! tid=841914095
Hab ich doch dazugesachrieben...
Wenn Du das naechste Mal die Stufe erhoehst, nachdem Du die Bedingungen
erfuellst.
  Wargon

-----------------------------------------------------------------------------



Re: Seher, Magier, FP, EP? (Wargon,  6. Sep 1996, 09:27:13):
~#! rn=Irix rt=841928952
~#! tid=841928952
  Hi!
Die Seher-/Magierbedingungen sehen wie folgt aus:
- 80% der AP, die es zum Zeitpunkt des ersten Login gab (aber mindestens 1196)
- alle noetige Quests (bis auf die, die man auslassen kann)
- 1.000.000 EP
- 2000 Stufenpunkte
- Bei Spielern, die nach dem 10.11.95 das erste Mal eingeloggt waren: mehr FP
  als der Durchschnitt der Spieler.
Ich hoffe, ich hab jetzt nix vergessen :)
  Wargon

-----------------------------------------------------------------------------



Re: Re: Seher, Magier, FP, EP? (Wurzel,  6. Sep 1996, 13:53:12):
~#! rn=Wargon rt=841994833
~#! tid=841928952
nur mal eine verstaendnisfrage, nicht weil es mich wirklich angeht...
heisst "mehr fp als der durchschnitt der spieler", dass ich, wenn es nicht
reicht, einfach 20 anfaenger reinschiebe, solange bis es reicht, oder nicht?
sollte das nicht besser "ueber die haelfte der vorhandenen fp" heissen (oder
wahlweise zwei drittel, drei viertel...)
nur aus neugier, wurzel

-----------------------------------------------------------------------------



Re: Re: Spielerstufen und Seherstatus (Cauno,  6. Sep 1996, 15:23:27):
~#! rn=Tyrann rt=841928663
~#! tid=841914095

Im Moment:

erhoehe

C. No

-----------------------------------------------------------------------------



Re^3: Spielerstufen und Seherstatus (Anatol,  6. Sep 1996, 17:12:07):
~#! rn=Cauno rt=842016207
~#! tid=841914095

Auch wenn ich jetzt penetrant damit nerve, haette ich diesbezueglich
doch noch ein Anliegen: Schaut doch bitte die Quests nochmal durch und
entscheidet, welche besser unter den Optionalquests laufen sollten.
Meiner Meinung nach gehoert ``Das Raetsel der Gefaengnisinsel'' unbedingt
in die optionale Riege - und Shakedbeer lies mich auf der Party wissen, 
dass sie dafuer auch gedacht war.

Versucht sich die 'GefQ' ohne tf, ohne cut&paste, ohne ScrollLock und ohne
Mitloggen vorzustellen...

Anatol (Meinung)


-----------------------------------------------------------------------------



Re^3: Seher, Magier, FP, EP? (Wargon,  9. Sep 1996, 10:05:46):
~#! rn=Wurzel rt=842010792
~#! tid=841928952
  Hi!
Um den FP-Schnitt zu senken, muss man schon etwas mehr tun, als nur nen Haufen
Anfaenger einzuloggen...
Insbesondere berechnet sich der Schnitt aus saemtlichen "aktiven" Spielern,
und nicht nur aus den momentan eingeloggten. ("Aktive" Spieler sind die, die
sich regelmaessig einloggen; das bewegt sich so in der Groessenordnung
2000-3000.)
  Wargon

-----------------------------------------------------------------------------



Kleiner Hinweis zu --mehr-- (Hate,  9. Sep 1996, 11:22:56):
Wenn man beim --mehr-- prompt ein '?' eingibt, bekommt man eine kurze
Hilfe.

Hate.

-----------------------------------------------------------------------------



abenteurer-spruch ausweichen (Boing,  9. Sep 1996, 16:14:38):
Im ausweich-Spruch war ein Fehler drin, man ist in einer Kampfrunde ALLEN
Angreifern ausgewichen, das sollte jetzt behoben sein.
Weitere Fehlermeldungen bitte an mich.
Tschuess,
  Boing

-----------------------------------------------------------------------------



Re^4: Seher, Magier, FP, EP? (Catweazle,  9. Sep 1996, 18:22:23):
~#! rn=Wargon rt=842256346
~#! tid=841928952
Anfaenger einzuloggen reicht _nicht_ aus. Es gehen zwar alle Spieler mit in
die Berechnung ein, aber es werden halt doch nicht alle gewertet. Es gibt 
da naemlich einen minimalen Offset, dh man braucht erst mal ein paar Stupse
um ueberhaupt am Gesamtschnitt mitwirken zu koennen.
YTC

-----------------------------------------------------------------------------



Re^5: Seher, Magier, FP, EP? (Tanis,  9. Sep 1996, 18:23:33):
~#! rn=Catweazle rt=842286143
~#! tid=841928952
aha, also 30 zweitis machen, mit allen n bischen zts suchen und schon haben
wirs .... schoen zu wissen :)

-----------------------------------------------------------------------------



Re^6: Seher, Magier, FP, EP? (Pilgrim,  9. Sep 1996, 18:36:14):
~#! rn=Tanis rt=842286213
~#! tid=841928952
Hmmm,

damit ziehst Du dann bei ca. 2500 Spielern den Durchschnitt um 3 Punkte nach
unten, ob sich das lohnt ;-)

Pilgrim

-----------------------------------------------------------------------------



Re: abenteurer-spruch ausweichen (Patryn,  9. Sep 1996, 18:52:37):
~#! rn=Boing rt=842278478
~#! tid=842278478
ups, das war nen fehler?!? na, wie beruhigend, bei der hydra wurde das
schon wieder gnadenlos ausgenutzt :)

------#
patryn

ps: abenteurer: zauberer mit waffenschein

-----------------------------------------------------------------------------



Weihnachten! (Boni, 12. Sep 1996, 11:08:03):


Da ja bald wieder Weihnachten ist, will ich jetzt schon mal fragen, ab wann
ich meine Wuensche beim Weihnachtsmann loswerden kann.

Frohes Fest!

-----------------------------------------------------------------------------



Tavernen (Tyron, 13. Sep 1996, 15:22:23):
Warum kann man in Tavernen und Wirtschaften keinem anderen etwas ausgeben
(Wenn man's kann und ich es bisher nurnicht rausgekriegt habe, erledigt sich
der
Rest des Artikels).
Eine Erweiterung des Befehls 'kaufe <getraenk/essen>'
in
'kaufe <getraenk/essen> fuer <person>'
sollte doch moeglich sein. 

Tyron

-----------------------------------------------------------------------------



Re: Tavernen (Wargon, 13. Sep 1996, 15:25:51):
~#! rn=Tyron rt=842620943
~#! tid=842620943
spendiere <wem> <was>

-----------------------------------------------------------------------------



Re: Tavernen (Acrimon, 13. Sep 1996, 15:39:38):
~#! rn=Tyron rt=842620943
~#! tid=842620943
In Kneipen gibt es folgende Befehle:

menue
bestelle <was>
spendiere <wem> <was>

Guten Appetit!

Acrimon, der Rote Ritter

-----------------------------------------------------------------------------



Re: Re: Analog zu 'trage alles' ... (Mahatma, 18. Sep 1996, 18:56:41):
~#! rn=Catweazle rt=841767859
~#! tid=841418470
kenn ich, damit sind mir aber schon gewisse autoloader durch ploetzliche
crashs abhanden gekommen...

-----------------------------------------------------------------------------



Fehler bei Treffermeldungen (Mahatma,  1. Okt 1996, 22:25:26):

Bei den nichtstandardisierten Treffermeldungen, die Defend ausgibt, fehlt
neuerdings das erste Zeichen, das zweite wird dafuer gross geschrieben. Waer
schoen, wenn ein EM mal nachschaut und das in Ordnung bringt.

Mahatma


-----------------------------------------------------------------------------



Ebenen (Acrimon,  2. Okt 1996, 03:56:44):
Wieder eine neue Anregung (oder Fehlerbericht) zum Thema Ebenen:

Sobald ich (zB) die Ebene "Kultur" neu erschaffe, ist erstmal niemand darauf,
obwohl sehr viele Leute diese Ebene bestellt haben und auch viele im MG sind,
die auf dieser Ebene hoeren.
Eine Ebene ist erst dann brauchbar, wenn sie (halbwegs) bevoelkert ist, denn
wer spricht schon gerne gegen die Wand.
Einer Ebene hoert man zu, wenn man ins Spiel kommt, die Ebene bestellt hat und
die Ebene existiert, nicht aber wenn man im Spiel ist, die Ebene bestellt hat
und die Ebene gerade erschaffen wird.
Daher haben die vielgehoerten Ebenen eine Anlaufzeit von etwa einer Stunde,
bevor sie (mit neu Eingeloggten) bevoelkert wird.
Die weniggehoerten Ebenen haben gar keine Chance, besonders wenn sie
kurzfristig erstellt werden.

Daher meine Bitte:
Sobald eine neue Ebene erschaffen wird, laszt bitte alle eingeloggten Spieler,
die die Ebene mit diesem Namen bereits bestellt haben, automatisch auf dieser
Ebene mithoeren!

Acrimon, der Rote Ritter

-----------------------------------------------------------------------------



Re: Ebenen (Hadra,  2. Okt 1996, 03:58:24):
~#! rn=Acrimon rt=844221404
~#! tid=844221404
alternativ koennten die, die an neu entstehenden ebenen interessiert sind
einfach die ebene Master bestellen.

-----------------------------------------------------------------------------



Re: Re: Ebenen (Acrimon,  2. Okt 1996, 04:23:10):
~#! rn=Hadra rt=844221504
~#! tid=844221404
Du hast mich kein biszchen verstanden.
Es ist wohl ein Beispiel noetig:

Es existiert eine Ebene namens Kultur.
Es interessieren sich Spieler1 bis Spieler20 dafuer und machen -kultur+.
Spieler21 bis Spieler30 wollen nicht zuhoeren.

Nun loest sich die Ebene um 3 Uhr nachts auf, weil der letzte Interessierte
das Mud verlaesst.

Es interessieren sich aber trotzdem noch Spieler1 bis Spieler20 fuer Kultur.
Am naechsten Tag um 13 Uhr mittags faellt Spieler20 ein Gedicht ein und will
es auf [Kultur:] bringen, aber er merkt, dasz diese Ebene nicht existiert.
Zu diesem Zeitpunkt sind Spieler10 bis Spieler25 im MUD.
Also erschafft er die Ebene.
Aber - oh Enttaeuschung - obwohl Spieler1 bis Spieler20 die Ebene bestellt
haben, befindet sich nur Spieler20 auf der Ebene.
Das Gedicht wuerde im Nichts verhallen, obwohl Spieler10 bis Spieler19 (die
gerade im MUD sind) es gerne gehoert haetten.

Spieler20 entschlieszt sich, das Gedicht nicht auf [Kultur:] zu schreiben,
weil niemand es hoeren wuerde.
Mit der Zeit loggen sich dann Spieler5 bis Spieler9 im MUD ein und befinden
sich automatisch auf [Kultur:].
Jetzt haette Spieler20 fuenf Zuhoerer, obwohl 15
Interessierte im Mud sind.

Frage:
Soll das Gedicht ungehoert verhallen?
Soll dir vorenthalten werden, was Dich interessiert?
Soll eine Ebene ihre eigenen Anhaenger vermissen?
Soll man immer wieder -kultur+ tippen, obwohl man doch schon einmal sein
Interesse bezeugt hat?
Soll man alle Interessenten immer erneut auffordern, die Ebene zu betreten?
Soll man Trigger auf [<MasteR>:] schreiben?

Der Magier, der darauf "nein" antworten kann, der lasse doch bitte automatisch
alle eingeloggten Interessenten einer Ebene diese automatisch mithoeren,
sobald sie wiedererschaffen wird.

Acrimon, der Rote Ritter

-----------------------------------------------------------------------------



Re^3: Ebenen (Hate,  2. Okt 1996, 09:30:49):
~#! rn=Acrimon rt=844222990
~#! tid=844221404
Die Bemerkungen waren nicht ganz unberechtigt.
Ich habe jetzt eingebaut, dass Ebene, die zum Zeitpunkt des logout noch aktiv
waren und auf denen man eingeschaltet war auch mit abgespeichert werden.
Existiert eine solche Ebene beim login nicht, wird sie automatisch erzeugt.
Allerdings ohne Beschreibung! Man sollte also danach mit dem Kommando:
  ebene beschreibung bla whatever
die Beschreibung wiederherstellen. "ebene beschreibung" ist NEU! also bitte
einmal hilfe ebenen aufrufen und durchlesen.

Hate.

-----------------------------------------------------------------------------



Re^4: Ebenen (Hate,  2. Okt 1996, 09:41:57):
~#! rn=Hate rt=844241449
~#! tid=844221404
Achja, fast haett ich was vergessen.
-?
-ms das wird heut noich haeufiger passieren, glaube ich
Man sollte Ebenen, die sich durchs einloggen erschafft haben und die man
nicht mehr will einmal loeschen (rausgehen). Es existiert noch eine Menge
Muell, der durch einen Bug gekommen ist.

Hate.

-----------------------------------------------------------------------------



Re^5: Ebenen (Hate,  2. Okt 1996, 09:56:33):
~#! rn=Hate rt=844242117
~#! tid=844221404
Also das automatische erzeugen von Ebenen nach dem einloggen geht im Moment
noch nicht. Das liegt daran, dass ich das erzeugen von ebene ohne Beschreibung
abgestellt habe. Mich stoert, dass ich die Ebenennamen im Moment nur als
Kleinschreibung nach dem einloggen vorliegen habe. Da muss ich erst mal
drueber nachdenken.

Hate.,

-----------------------------------------------------------------------------



Re: Fehler bei Treffermeldungen (Wargon,  2. Okt 1996, 10:56:30):
~#! rn=Mahatma rt=844201526
~#! tid=844201526
Ist gefixed, wird aber bei etwas dauern (spaetestens bis zum naechsten
Reboot), bis das aus allen Lebewesen raus ist.
  Wargon

-----------------------------------------------------------------------------



Re: Spielerstufen und Seherstatus (Matsushita,  3. Okt 1996, 13:42:46):
~#! rn=Wargon rt=841914095
~#! tid=841914095
Also, das mit dem Erhoehen ueber Level 19 hinaus ist klasse. Uebrigens
gibt es jetzt ein neues Spielerprivileg: Man kann - wenngleich nur sehr
begrenzt - in die Zukunft schauen (*staun*): Bei der Rutsche nach Taramis
sieht man den Tag, an dem man Seher wurde, an sich vorueberziehen... 
It
It's not a bug, it's a feature. :)
Wirklich begeistert:
Matsu*

-----------------------------------------------------------------------------



inventory / Muenzen (Orktoeter,  7. Okt 1996, 17:48:37):
Koennte man bei der option -a die Muenzen vileicht noch herausnehmen ?
Der stand der Muenzen ist ja doch einem staendigen Fluss unterworfen..
Waere ganz nett.
OrkT.

-----------------------------------------------------------------------------



Paralyse und Begruessungsschlaege (Mahatma,  8. Okt 1996, 03:47:15):

Wenn man ein Monster paralysiert hat, greift dieses bei Betreten des Raumes
trotzdem einmal an, wenn es auto-attack oder mit dem Spieler im Kampf ist.
Ich denke, das sollte nicht sein.

Mahatma

-----------------------------------------------------------------------------



Ebenen.... (Hate,  9. Okt 1996, 20:51:32):
So, jetzt sollte es endlich so funktionieren, wie gedacht.
Bitte setzt bei Ebenen ohne Beschreibung, eben diese!
Dazu gibt es ja jetzt einen Befehl.
Ansonsten, wenn eine Ebene aus versehen erzeugt wird, die falsch geschrieben
ist, also z.b. alles klein. Geht von der alle runter und erzeugt sie neu
richtig.

Hate.

-----------------------------------------------------------------------------



Re: Ebenen.... (Grimmborn, 10. Okt 1996, 12:36:44):
~#! rn=Hate rt=844887092
~#! tid=844887092

a) soll es Leute geben, die wegen der...Hilfe fuer andere, die Ebene zu
verlassen verwarnt worden sind.
b) Du bist nicht berechtigt die Beschreibung der Ebene 'kultur' zu aendern.

Watt nu?

Grimmborn der Atheist fasst sich in Geduld


-----------------------------------------------------------------------------



Erwarte auch fuer Staedte? (Ronda, 10. Okt 1996, 12:45:55):
Koennte man in die "erwarte"-Funktion zusaetzlich einbauen, dass man Personen
aus bestimmten Staedten erwartet?
Dann wuerde man sofort mitbekommen, wenn doch mal jemand aus so Staedten wie
Paderborn drin ist =;)
Just my two ... hmmmm.... Yen?
               Ronda

-----------------------------------------------------------------------------



Re: Re: Ebenen.... (Hate, 10. Okt 1996, 14:12:47):
~#! rn=Grimmborn rt=844943804
~#! tid=844887092
Antworten zu den Punkten:

a) ???
b) Du kannst eine Beschreibung nur aendern, wenn du der Master auf der Ebene 
   bist.

Hate.

-----------------------------------------------------------------------------



Ebenen-Abkuerzungen (Ronda, 10. Okt 1996, 15:49:21):
Koennte in der Liste der Ebenen bei -? nicht nur das erste Zeichen, sondern
die ganze Abkuerzung erscheinen?
*grins* ist doch schon nen Unterschied, ob ich auf "msd" fuer Magier_sind_doof
oder auf "m" fuer Magier sende =;) Steht beides in der Liste als "m" ... waere
etwas peinlich und koennte dazu fuehren, dass ich hoechstens noch auf "msd"
senden kann ...
               Ronda

-----------------------------------------------------------------------------



Und nochmal Ebenen... (Hate, 11. Okt 1996, 09:00:05):
Ich hoffe ich habe den Bug jetzt weg, der bei manchen Leuten nach dem
Dasein als Netztote die Ebenen alle abgeschaltet hat.

Hate.

-----------------------------------------------------------------------------



Die Neuerungen an den Ebenen (Hate, 11. Okt 1996, 11:18:41):
So,

ich hoffe, nachdem ich die letzten Bugs entfernt habe alles funktioniert.

Es werden jetzt die Namen der Ebenen, sowie deren Beschreibung fuer ca. 
eine Woche gespeichert. Weiterhin werden selbst erzeugte Ebenen mit im
Spieler-save-file gespeichert. Existiert beim wiedereinloggen diese selbst
erzeugte Ebene nicht mehr, wird sie also neu erzeugt. Das neuerzeugen der
eigenen Ebenen haengt dabei davon ab, dass der Ebenen-Master die Daten noch
hat (wie oben gesagt, 1 Woche ca.). Sonst wird die Ebene ignoriert und man
muss sie per Hand neu erstellen.

Hate.

-----------------------------------------------------------------------------



Re: Die Neuerungen an den Ebenen (Anatol, 11. Okt 1996, 19:47:12):
~#! rn=Hate rt=845025521
~#! tid=845025521

Koennte man vielleicht noch das Leerzeichen als Aequivalent zu ' ansehen?
Also ein "-X :-)" sollte dann zu "[X:Anatol] :-)" werden und nicht, wie 
derzeit, "[X:Anatol -)]". Da ecke nicht nur ich ziemlich oft an :)

Ich zumindest faend's toll!
Anatol


-----------------------------------------------------------------------------



alias (Jariel, 12. Okt 1996, 05:22:10):
Vielleicht ist es moeglich, nach der Revolutionierung des Kanalsystems, der
Objektanzeige in Raeumen und allem anderem Neuen, die Funktionen der 
alias-Befehle zu erweitern. Mir schweben da mehrere Ideen vor.

1. eine Moeglichkeit seinen markierten 2ties die Aliasliste des 1ties
  zu uebergeben.

2. Fuer das Loeschen von Aliasen Wildcards "*" und "?" zuzulassen.
  oder durch eine Nummerrierung zB unalias 1-20,24,30-35,47 oder so.

Vielleicht hat jemand anderes noch andere Ideen.

Da ich keine Ahnung habe wie das ali-system programmiert ist, kenn ich 
natuerlich auch nicht den Aufwand der dessen Verbesserung hervorruft.

Jariel.

PS: Welch eine Satzformulierung....Ich geh schlafen ;)

-----------------------------------------------------------------------------



Re: alias (Stahldorn, 12. Okt 1996, 17:09:38):
~#! rn=Jariel rt=845090530
~#! tid=845090530

Also die Vorschlaege, die Jariel da vorgebracht hat kann ich nur voll und ganz
unterstuetzen! Besonders das mit dem "unalias t*" waer gut.

STAHL.

-----------------------------------------------------------------------------



Re: Re: alias (Woody, 12. Okt 1996, 23:58:35):
~#! rn=Stahldorn rt=845132978
~#! tid=845090530

Was vermutlich (aufgrund Dokumentationsmangels) nur sehr wenige
wissen (die verrueckten, die mudlibs lesen und erweitern ;)):

unalias kann als Parameter auch regulaere Ausdruecke erarbeiten.

Das heisst, mit "unali t.*" werden alle Aliases, die mit "t"
beginnen, entfernt. Oder mit "unali b[123]" die Aliases b1, b2
und b3.  Usw. usf., es waere evtl. praktisch, auch fuer Spieler
eine Hilfeseite mit ner Erklaerung von regulaeren Ausdruecken
zur Verfuegung zu stellen (und evtl. auch den "ali" Befehl zum
Auflisten auf regexp umzustellen...).

lg
woody.-

-----------------------------------------------------------------------------



Re^3: alias (Jariel, 13. Okt 1996, 06:31:55):
~#! rn=Woody rt=845157515
~#! tid=845090530
Danke Woody!

Jetzt ist wenigstens das 2. Problem geloesst.
Aber gibt es ne Moeglichkeit seinem 'markierten' 2tie seine Aliliste zu
uebergeben? 

Jariel (ist schon gespannt.)

-----------------------------------------------------------------------------



Re^4: alias (Woody, 13. Okt 1996, 13:19:15):
~#! rn=Jariel rt=845181115
~#! tid=845090530

Fuer das Uebergeben von aliases an Zweitis gibts wohl noch keine
Loesung, obwohl das nicht so schwer zu programmieren waere...
Bleibt vorerst nur die umstaendliche Loesung mit cut+paste oder
via irgendwelchen tf-scripts, die es sicher gibt (was ich jetzt
nicht als Anstiftung zum Scripten verstanden wissen will ;)).

lg
woody.-

ps. damit der Artikel nicht komplett sinnlos ist: es gibt
    noch einen relativ unbekannten Befehl: "ersetzungsanzeige"...

-----------------------------------------------------------------------------



Re^5: alias (Flora, 14. Okt 1996, 15:42:27):
~#! rn=Woody rt=845205555
~#! tid=845090530

Was ich noch gut faende waeren "Ali-Folders"; in einen kaemen dann alle
Begruessungs-Ali, in einen alle fuer bestimmte Quests relevanten etc.
So wie es jetzt ist, muelle ich mir den Bildschirm jedesmal voll, wenn ich mir
meine Ali-Liste ansehe und nur ganz bestimmte Alis checken will.

Ginge sowas?
Flora.

-----------------------------------------------------------------------------



Re^6: alias (Hate, 14. Okt 1996, 15:45:10):
~#! rn=Flora rt=845300547
~#! tid=845090530
Meint Ihr nicht, Ihr uebertreibt ein wenig?

Hate.

-----------------------------------------------------------------------------



Re^7: alias (Orktoeter, 14. Okt 1996, 15:46:48):
~#! rn=Hate rt=845300710
~#! tid=845090530
naja, klingt aber nicht schlecht, wenn man nach der ersten seite ein 3% sieht
hat man wenig Lust seine alis mal zu ueberarbeiten und alte rauszuwerfen...
OrkT.

-----------------------------------------------------------------------------



Re^8: alias (Caradhras, 14. Okt 1996, 15:50:02):
~#! rn=Orktoeter rt=845300808
~#! tid=845090530
Also bei mir steht da nur ein 2% nach der ersten Seite. :)
Aber ein cp caradhras.alis celebdil.alis wuensch ich mir schon
seit Monaten. 

 Aber jetzt ist langsam zu spaet fuer mich, langsam kann ich wohl
 schon nicht mehr umdenken welche Alis Silberzinnchen anders hat
 
       Rothorn Caradhras - rising 15.003 feet in the sky

-----------------------------------------------------------------------------



Re^8: alias (Hate, 14. Okt 1996, 15:59:22):
~#! rn=Orktoeter rt=845300808
~#! tid=845090530
Probier mal alias a*
danach alias b*
usw.

Hate.

-----------------------------------------------------------------------------



Re^7: alias (Asmodis, 14. Okt 1996, 19:32:40):
~#! rn=Hate rt=845300710
~#! tid=845090530
schoen waere auch, wenn beim alias das datum dabeisteht, dann weiss man
welches die uralten aliases sind, die man nicht mehr braucht :)

-----------------------------------------------------------------------------



Re^6: alias (Raffi, 14. Okt 1996, 20:35:14):
~#! rn=Flora rt=845300547
~#! tid=845090530
Hmm dann ahett ich aber gerne noch einen Ali-Explorer dazu!

Gruss
H.
(Sorry, aber ich konnts mir nicht verkneifen)

-----------------------------------------------------------------------------



Re^7: alias (Acrimon, 14. Okt 1996, 22:41:04):
~#! rn=Hate rt=845300710
~#! tid=845090530
Also, ich wuerde wirklich die Moeglichkeit der Ali-Folders allem Anderen
weitaus vorziehen.
Ali-Folders sind keineswegs uebertrieben, sondern extrem nuetzlich.
Zur Implementierung: Es reicht vollkommen, wenn die Ali-Folders als
Zeigerlisten auf die Elemente der laengst existierenden Aliasliste
eingerichtet wuerde.
Mit den Folder-Befehlen (z.B. "alias -f" oder "schublade" oder sonstiges)
greift man dann ueber die Folderlisten zu, und die bereits existierenden
Befehle bleiben dann in ihrer Funktion erhalten.

Acrimon, der Rote Ritter

-----------------------------------------------------------------------------



Re^8: alias (Wurzel, 14. Okt 1996, 22:42:59):
~#! rn=Acrimon rt=845325664
~#! tid=845090530
na prima. werd magier, dann kannst du loslegen. wie es geht, weisst du ja
wohl schon.

wurzel (kopfschuettelnd)

-----------------------------------------------------------------------------



Re: Tom Reamy (Jariel, 15. Okt 1996, 00:55:30):
~#! rn=Lyserg rt=845303794
~#! tid=845303794
Oh Gott, oh Gott! Was hab ich nur angerichtet :)
J.

-----------------------------------------------------------------------------



Re^9: alias (Wargon, 15. Okt 1996, 10:10:30):
~#! rn=Caradhras rt=845301002
~#! tid=845090530
Na bei 792 Alis ist das ja auch kein Wunder...
Hast Du vielleicht noch Alis, um Alis abzukuerzen? :)
  Wargon

-----------------------------------------------------------------------------



Re^10: alias (Morgoth, 15. Okt 1996, 11:18:18):
~#! rn=Wargon rt=845367030
~#! tid=845090530
fast
alias mzs alias zs zuecke $*
alias mss alias ss stecke $* weg
....
Morgoth

-----------------------------------------------------------------------------



Ebenen (Hate, 16. Okt 1996, 14:43:15):
Ab sofort gibt es eine Beschraenkung bei privaten Ebenen.
Nachdem 5 min nichts auf einer Ebene gesagt wurde, wird die Ebene zerstoert.

Hate.

-----------------------------------------------------------------------------



Re: Ebenen (Asmodis, 16. Okt 1996, 14:44:14):
~#! rn=Hate rt=845469795
~#! tid=845469795

hmppf

-----------------------------------------------------------------------------



Re: Ebenen (Engywuck, 16. Okt 1996, 14:45:18):
~#! rn=Hate rt=845469795
~#! tid=845469795
5 Minuten find ich etwas knapp. 15 Minuten waeren angemessener...

Engy*

-----------------------------------------------------------------------------



Re: Re: Ebenen (Qitess, 16. Okt 1996, 14:46:34):
~#! rn=Engywuck rt=845469918
~#! tid=845469795
dem stimme ich einfach mal kurz zu. kann ja sein, dass es lagt. bei uns ist
manchmal ein ueber fuenf minuten dauerndes lag ... :/

QI [bekommt heute die Krise, wenn der Server nochmal abkackt...]


-----------------------------------------------------------------------------



Re^3: Ebenen (Asmodis, 16. Okt 1996, 14:47:41):
~#! rn=Qitess rt=845469994
~#! tid=845469795
Auf der ebene kultur wird manchmal stundenlang nix gesprochen, aber
sie deswegen gleich loeschen ?

-----------------------------------------------------------------------------



Re^4: Ebenen (Hate, 16. Okt 1996, 15:12:24):
~#! rn=Asmodis rt=845470061
~#! tid=845469795
1. Die Kultur ebene ist global
2. Eine Ebene die durch timeout entfernt wurde muss nicht explizit neu
   aufgemacht werden. Einfach etwas auf der Ebene sagen und schon ist sie
   wieder da.

Hate.

-----------------------------------------------------------------------------



Re^5: Ebenen (Morgoth, 16. Okt 1996, 15:48:44):
~#! rn=Hate rt=845471544
~#! tid=845469795
hey, wieso nennen wir das MG nicht in IRC-Mud oder Laber-Mud um ?
Morgoth

-----------------------------------------------------------------------------



Re^5: Ebenen (Caradhras, 16. Okt 1996, 16:49:52):
~#! rn=Hate rt=845471544
~#! tid=845469795
Von wegen, Hate, bei mir hat sich grade -Kanalschmutz und -Archi
verabschiedet, mit -kan und -aa kam aber nix auf den Ebenen.
JA, ich hab das als Ebenenalis eingetragen.

           Caradhras

-----------------------------------------------------------------------------



Re^6: Ebenen (Morgoth, 16. Okt 1996, 16:54:45):
~#! rn=Caradhras rt=845477392
~#! tid=845469795
neue shell besorgen (ende) oder aufn crash warten ;-)))

-----------------------------------------------------------------------------



Re^6: Ebenen (Hate, 16. Okt 1996, 16:54:49):
~#! rn=Caradhras rt=845477392
~#! tid=845469795
Ich schaetze du hast dich nicht aus und wieder eingeloggt mit ende.
Hate.

-----------------------------------------------------------------------------



Re^7: Ebenen (Caradhras, 16. Okt 1996, 19:13:28):
~#! rn=Hate rt=845477689
~#! tid=845469795
Opps, dass mir sowas auch mal passiert. *blush* :)

      Rothorn Caradhras

-----------------------------------------------------------------------------



Re^6: Ebenen (Sushi, 16. Okt 1996, 19:43:32):
~#! rn=Morgoth rt=845473724
~#! tid=845469795
Warum nennst Du Dich nicht in Labermag um?

-----------------------------------------------------------------------------



Re: Ebenen (Wurzel, 16. Okt 1996, 19:56:01):
~#! rn=Hate rt=845469795
~#! tid=845469795
ich faends nett, wenn du bei der schrauberei an den ebenen auch mal den 
bug mit den geloeschten ebenen bei netztoten magiern rausmachen wuerdest...
bei jedem einloggen die ebenen wieder einzeln einschalten ist auf dauer
nervig

wurzel

-----------------------------------------------------------------------------



Re: Re: Ebenen (Hate, 16. Okt 1996, 20:54:06):
~#! rn=Wurzel rt=845488561
~#! tid=845469795
Da habe ich so nebenbei auch dran gewurstelt und ich hoffe, dass ich das
Problem jetzt ein fuer alle mal geloest habe.

Hate.

-----------------------------------------------------------------------------



Re^6: Ebenen (Yantro, 17. Okt 1996, 12:35:46):
~#! rn=Morgoth rt=845473724
~#! tid=845469795
Morgoth, wenn Dich das stoert,d ann loesch Dich hier, erloese uns vom VLand
und geh ganz ins PK!

Yantro

uuuuuuuuunnnd nicht vergessen: 

RiesenMegaSuperGeilerTraditionsStammtisch in Koeln am 

                    3. Januar 1997 !!!!

Anmelden bei mir per Mail an mich! Siehe dazu auch meine eigens geschaffene
Prollseite:

       http://www.uni-koeln.de/~ari03/gelage.html

Denn nix ist schoener als Feiern in bester Gesellschaft !!!

-----------------------------------------------------------------------------



Re^7: Ebenen (Patryn, 17. Okt 1996, 13:11:53):
~#! rn=Yantro rt=845548546
~#! tid=845469795
erloese UNS vom vLand? was soll diese schwachsinnige stichelei...
viele spieler (in diesem fall wohl UNS, denn dich duerfte das weniger was
angehen) finden die gegend ganz gut unf morgoth hat ne menge fuers MG getan
wenn er die ebenen nicht so toll findet, so ist das nun mal seine meinung...
kein grund hier herumzuquengeln

------
patryn, kopfschuettelnd

-----------------------------------------------------------------------------



Re^8: Ebenen (Yantro, 17. Okt 1996, 13:16:40):
~#! rn=Patryn rt=845550713
~#! tid=845469795

Also ich bin weissjof kein Freund von Hate, aber wenn sich einer wie Hate den
A* aufreisst, um das Mud am Laufen zu halten und Sachen zu verbessern, zu
flexibilisieren, wie zB das Ebenensystem und dann so ein dahergelaufener Proll
wie Morgoth hinkommt und dann mosert und stichelt, dann muss ich kotzen. Ich
denke, dass hier eine der wichtigsten Sachen immer wieder vergessen wird und
dass ist, dass man sich doch gegenseitig ein BISSCHEN respektieren sollte.
Wenn Morgoth meint, dass er kritisieren will, dann soll er das konstruktiv
machen und oder aber zeigen, dass er es besser machen kann als Hate. 

Yantro, genervt

uuuuuuuuunnnd nicht vergessen: 

RiesenMegaSuperGeilerTraditionsStammtisch in Koeln am 

                    3. Januar 1997 !!!!

Anmelden bei mir per Mail an mich! Siehe dazu auch meine eigens geschaffene
Prollseite:

       http://www.uni-koeln.de/~ari03/gelage.html

Denn nix ist schoener als Feiern in bester Gesellschaft !!!

-----------------------------------------------------------------------------



Re^9: Ebenen (Hate, 17. Okt 1996, 13:41:13):
~#! rn=Yantro rt=845551000
~#! tid=845469795
Lasst es doch einfach...
Hate, fragt sich was das soll.

-----------------------------------------------------------------------------



Re^10: Ebenen (Jasper, 17. Okt 1996, 13:45:14):
~#! rn=Hate rt=845552473
~#! tid=845469795
genau, erzaehl lieber mal was ein loemmelloemmche ist ?

-----------------------------------------------------------------------------



Re^8: Ebenen (Morgoth, 17. Okt 1996, 15:03:40):
~#! rn=Patryn rt=845550713
~#! tid=845469795
aehm. bevor ihr hier wieder nen flamewar startet. die bemerkung war ironisch
gemeint ueber die ebenen. ich find das system mega-genial. war halt nur bloed,
ne zeit lang immer die ebenen neu anzuschalten.
und nein yantro, DU wirst kein vland RM. ich bleibe.
Morgoth ;-))

-----------------------------------------------------------------------------



Re^9: Ebenen (Schrumpfi, 17. Okt 1996, 23:59:32):
~#! rn=Morgoth rt=845557420
~#! tid=845469795
Pff, dabei wollt ich soo gern Vland RM  werden, tja,   dumm gelaufen ;-)
Gehoert hier zwar nicht hin aber ich muss Euch mal ein dickes Lob fuer die
Vlandseite auf der mg-page aussprechen!
Schrumpfi muellt mir wo immer sie kann :)

-----------------------------------------------------------------------------



Und nochmal die Ebenen... (Hate, 18. Okt 1996, 12:06:51):
Also ich habe wieder ausgebaut, dass es ein Zeitlimit gibt.
Dafuer leben gecachte Ebenen nur noch 24h. Also nachdem der letzte eine Ebene
verlassen hat muss innerhalb von 24h wieder jemand diese EBene aufmachen.
Desweiteren koennen jetzt von den Erzmagiern Kommandos fuer die Ebenen
gesperrt werden: "neu", "verlassen", "betreten", "finden" und "auflisten"
Falls also Beschwerden eingehen wegen uebermaessigem gebrauch von z.b. "neu"
wird das eben mit einem Bann des Kommandos "neu" enden.

Hate.
P.S. Dies sind globale Banns. Das gleiche ist auch moeglich fuer die 
     privaten Ebenen, doch dazu muesste mal ein Magier ein Objekt schreiben.


-----------------------------------------------------------------------------



Re: Und nochmal die Ebenen... (Hardil, 21. Okt 1996, 09:53:38):
~#! rn=Hate rt=845633211
~#! tid=845633211

Hate> Dafuer leben gecachte Ebenen nur noch 24h. 

Aehm... wieso 'nur 24 h' ? Ebenen, die 24 Stunden leben, sind dann ja laenger
up als das Mud. :)

-Hardil.

-----------------------------------------------------------------------------



Ideen zu den Ebenen. (Hate, 25. Okt 1996, 09:04:41):
Hi,

mich stoert schon lange, dass die Ebenen ja eigentlich nicht sonderlich
an Fantasy erinnern. Daher hatte ich die Idee, dass man sich seine Meldungen
selbst zusammenstellen kann, sozusagen frei formatierbar.

Z.b. anstatt der jetzt ueblichen folgenden Meldung:
  [Allgemein:Hate] Das ist ein Test
Koennte man sich vorstellen, den Ebenennamen, den Namen und den Text als
Macros bereitzustellen und dann wie folgt zu verarbeiten:
  <%ebene> "%text", fuehrt %name aus.
was dann so aussieht:
  <Allgemein> "Das ist ein Test.", fuehrt Hate aus.

Man kann sich da die wildesten Moeglichkeiten vorstellen. Allerdings hat die
ganze Sache im Moment einen Haken, da ja am Anfang der Zeilen immer der 
Name der Ebenen steht. Dafuer muesste man wohl noch eine spezielle
Methode einbauen, um das zu realisieren.

Schreibt Eure Meinungen,

Hate.

-----------------------------------------------------------------------------



Re: Ideen zu den Ebenen. (Roadrunner, 25. Okt 1996, 09:17:45):
~#! rn=Hate rt=846227081
~#! tid=846227081
hmm - aufpassen dass es nicht wie kraut und R"uben aussieht das ganze. Eine
gewisse Grundform ist da schon n"otig.
(man will sich das ganze ja schlie"slich noch einf"arben und zur"uckholen
k"onnen.)

                                      Roadrunner

-----------------------------------------------------------------------------



Re: Re: Ideen zu den Ebenen. (Hate, 25. Okt 1996, 09:18:39):
~#! rn=Roadrunner rt=846227865
~#! tid=846227081
Hmm, ich glaube Du hast mich nicht verstanden:

Diese Einstellung sollen von jedem selbst vorgenommen werden koennen!

Hate.

-----------------------------------------------------------------------------



Re^3: Ideen zu den Ebenen. (Silvana, 25. Okt 1996, 09:20:10):
~#! rn=Hate rt=846227919
~#! tid=846227081
Ich denke mal, dass die default-Einstellung so aussehen sollte, wie man es
gewohnt ist. Gegen mehr Flexibilitaet ist dann doch wohl nichts einzuwenden.

  Silvana

-----------------------------------------------------------------------------



Re^4: Ideen zu den Ebenen. (Grimmborn, 25. Okt 1996, 10:05:39):
~#! rn=Silvana rt=846228010
~#! tid=846227081

Ja, ich bin auch dafuer. Je mehr man selber rumformatieren kann, desto mehr
"fuehlt man sich hier zu Hause", weil man das System seinen eigenen Vorlieben
anpassen kann.
Aber ich denke, das hier sollte der letzte "find ich gut"-Artikel sein, besser
nur Kritik und Verbesserungsvorschlaege posten...

Grimmborn der Atheist will sich nicht durch 200 "me too"-Artikel waelzen


-----------------------------------------------------------------------------



Re: Ideen zu den Ebenen. (Qitess, 25. Okt 1996, 10:18:24):
~#! rn=Hate rt=846227081
~#! tid=846227081

also, ich bin ja nur ein wuerstchenseher, aber ich finde die jetzige regelung
mit den ebenen voellig in ordnung. klar und uebersichtlich. und schliesslich
haben die ebenen ueberhaupt nix mit phantasie zu tun. die kommen mir eher vor
wie ein handy oder ein portable fax . und im uebrigen wird speziell auf der
ebene allgemein herzlich wenig phantasie-maessiges gelabert... im gegentum.
ich waere jedenfalls dafuer die ebenen so zu praesentieren, wie sie jetzt
schon sind und nicht so einen komischen kuddelmuddel .

QI mags ausnahmsweise mal klar und einfach.


-----------------------------------------------------------------------------



Re^5: Ideen zu den Ebenen. (Yantro, 25. Okt 1996, 10:20:12):
~#! rn=Grimmborn rt=846230739
~#! tid=846227081

Ich denke, dass gerade in der Vielzahl der Ebenen hier im MG doch mindestens
EIN Standard beibehalten werden sollte, auf den man dann zB (wenn mans hat)
sein TF triggern kann (Farben), denn ich bin bei dem jetzigen System ganz
ehrlich: Wenn ich nicht die Ebene in jeweils anderen Farben haette, dann wuerd
ich nix mehr unterscheiden koennen.

yantro

uuuuuuuuunnnd nicht vergessen: 

RiesenMegaSuperGeilerTraditionsStammtisch in Koeln am 

                    3. Januar 1997 !!!!

Anmelden bei mir per Mail an mich! Siehe dazu auch meine eigens geschaffene
Prollseite:

       http://www.uni-koeln.de/~ari03/gelage.html

Denn nix ist schoener als Feiern in bester Gesellschaft !!!

-----------------------------------------------------------------------------



Re^6: Ideen zu den Ebenen. (Grimmborn, 25. Okt 1996, 11:09:54):
~#! rn=Yantro rt=846231612
~#! tid=846227081

Ihr habt die Artikel vorher nicht gelesen, oder?
Es wird weiterhin ein default geben so wie es ist, und wem das nicht gefaellt
der kanns fuer sich dann aendern.
Wenn ihr also alles so haben wollt wies ist: Bitte schoen. Aber wieso wollt
ihr anderen verbieten (oder nicht ermoeglichen) dass sie da rumbasteln
koennen?

Nene, je mehr man sich selber einstellen kann desto schoener.

Grimmborn der Atheist


-----------------------------------------------------------------------------



Re^7: Ideen zu den Ebenen. (Yantro, 25. Okt 1996, 11:26:54):
~#! rn=Grimmborn rt=846234594
~#! tid=846227081

Grimmborn, ich hab das so verstanden, dass das Default beim senden bleibt,
also wenn ich keine eingaben mache, dann ist das wie jetzt, wenn ich sende...
aber beim zuhoeren ist das dann so, dass ich es immer so mitkriege, wie es
gesendet wird (denk ich mir). Das heisst, wenn Du dann deine Sendungen
umformatierst, dann seh ich die so, wie du es willst und wenn dann 20 Sender
alle ein unterschiedliches Format haben, dann wird es wirr...

Wenn ich da was falsch verstanden hab, dann klaert mich auf :)

Yantro, ohne .signature, aber ihr wisst ja......

-----------------------------------------------------------------------------



Re^8: Ideen zu den Ebenen. (Hate, 25. Okt 1996, 11:36:34):
~#! rn=Yantro rt=846235614
~#! tid=846227081
Argl, hab ich davon gesprochen, dass jemand seine Sendungen umformatieren
kann? Sowas waere ja schoen doof. Jeder kann seine Meldungen, wie er sie
Empfaengt aendern. Das hat wenig Auswirkungen darauf, wie jemand etwas sendet.
Das senden kann man eh vom Format nicht beeinflussen!
Denkt doch mal nach, VORHER.

Hate.

-----------------------------------------------------------------------------



Re^7: Ideen zu den Ebenen. (Kobayashi, 25. Okt 1996, 12:30:05):
~#! rn=Grimmborn rt=846234594
~#! tid=846227081
Vielleicht sollte man dem "Empfaenger" die moeglichkeit geben, ob er es so
sehen will, wie's jetzt ist, oder wie der "Absender" es gerne haette. Dann
waeren alle gluecklich.

Kobayashi

-----------------------------------------------------------------------------



Re^8: Ideen zu den Ebenen. (Hate, 25. Okt 1996, 13:04:01):
~#! rn=Kobayashi rt=846239405
~#! tid=846227081
Aehm, sowas ist und war nie vorgesehen!

Alles was man machen kann, ist seine lokale, an sich selbst gerichtete
Ausgabe so zu formatieren, wie man will. Das heisst, jeder sieht die Ebenen
so wie er/sie es mag. Das hat ueberhaupt nichts damit zu tun, wie jemand
sendet, oder seine eigenen gesendeten Texte sieht.

Hate.

-----------------------------------------------------------------------------



Re^9: Ideen zu den Ebenen. (Bloodyharry, 25. Okt 1996, 14:09:27):
~#! rn=Hate rt=846241441
~#! tid=846227081
Vieleicht koennte man das noch Absenderbezogen machen so dass zb der Text von
Alfalfa bei mir als "<Allgemein> Knuddelmaus Alfalfa fluestert...." oder so
aehnlich ankommt.

bh

-----------------------------------------------------------------------------



Re: Ideen zu den Ebenen. (Wurzel, 25. Okt 1996, 18:53:06):
~#! rn=Hate rt=846227081
~#! tid=846227081
hm, stimmt. die ebenen haben mit fantasy extrem wenig zu tun. aber wenn du das
wirklich in den griff bekommen willst, musst du sie ausbauen. genauso wie die
mitteilungen, rufe...
ich hab jedenfalls noch keinen fantasyroman gesehen, wo man in der scheisse
steckend einfach jemanden um hilfe fragen kann.
die gegenwaertige form der ebenenanzeige hat fuer mich den vorteil der
kuerze. nur die wesentliche information, kein muell, der nur mein armes
modem quaelt...

wurzel

-----------------------------------------------------------------------------



Re: Re: Ideen zu den Ebenen. (Rantanplan, 25. Okt 1996, 18:57:10):
~#! rn=Wurzel rt=846262386
~#! tid=846227081
Huhu !!

Also eigentlich waere es mir sogar am liebsten wenn man fuer jeden
Namen, ne andere Msg. einstellen koennte...

<allgemein> *blubb* sagt Didi, was aber eh keine wissen will.
<allgemein> <laber> sabbert Rantanplan
<allgemein> <text> erzaehlt Ryne, wenn Du ihn nicht ignorieren wuerdest...

Und in diesem Stil, gefaellt mir, hat was...;-))

Gruss

Ran*

-----------------------------------------------------------------------------



Re^3: Ideen zu den Ebenen. (Raffi, 25. Okt 1996, 19:20:45):
~#! rn=Rantanplan rt=846262630
~#! tid=846227081

Ich halte nix von einer solchen Veraenderung, und werde, alleine um den
ueberblich zu behalten da auch nix umstellen. Ich moechte jedoch anmerken das
eine solche sache noch mehr LAG verursachen wird, da jetzt ein text nicht mehr
einmal formatiert, und n mal gesendet werden kann, sondern fuer JEDEN getrennt
aufbereitet werden muss - das bedeutet bei z.B. 100 Eingeloggten Spielern 100
zusaetzliche Printf() und (mindestens) 100 QueryProp()s.
Und das bei JEDEM senden auf einem Kanal - das ist ne menge zusaetzliche
Arbeit. (Aber Wollte Cat nicht ein DualPPro-Board mit 2x200MHz spendieren ?)

Gruss
H.

-----------------------------------------------------------------------------



Re^4: Ideen zu den Ebenen. (Hate, 25. Okt 1996, 21:02:48):
~#! rn=Raffi rt=846264045
~#! tid=846227081
Tja, das zeigt eigentlich nur, dass Du keinen Einblick in die aktuelle
Lage hast, Raffi :-)
Im Moment werden die Meldungen jeweils im Spieler fuer diesen aufbereitet.
Der Daemon verteilt nur die Meldungen, welche abstrakt, den Absender, den
Typ, sowie die Meldung enthalten. Natuerlich auch die Ebene.
Deshalb ist es eine minimale Aenderung, jeden Spieler seine eigene
Ausgabeformatierung (nur fuer sich selbst) einzustellen.

Hate.

-----------------------------------------------------------------------------



Re^5: Ideen zu den Ebenen. (Raffi, 25. Okt 1996, 23:03:03):
~#! rn=Hate rt=846270168
~#! tid=846227081
Deine Antwort zeigt eigentlich nur, das Du lieber Spottest, als darueber
nachzudenken das da eigentlich ein Verbesserungspotential waere.

H.

-----------------------------------------------------------------------------



Re^6: Ideen zu den Ebenen. (Hate, 26. Okt 1996, 12:03:36):
~#! rn=Raffi rt=846277383
~#! tid=846227081
Tja, wie Du mitbekommen haben wirst, habe ich hinter den Satz mit Absicht
einen smilie gemacht.
Der Punkt ist, dass ich das ganze mit Absicht so programmiert habe.
Damals habe ich naemlich schon auf eine solche Erweiterung der
Moeglichkeiten der Ebenen hingearbeitet. Es ist jedenfalls so, dass
der Aufwand vertretbar ist, da sich pointer zu arrays mit wenig 
Aufwand an die Spieler verteilen lassen. Das ist Effektiver als
Strings. Die Meldungen muessen dann so oder so noch gefiltert
werden (ignore)

Hate.

-----------------------------------------------------------------------------



Re^7: Ideen zu den Ebenen. (Fyt, 26. Okt 1996, 12:05:23):
~#! rn=Hate rt=846324216
~#! tid=846227081

Also ich glaub, allgemeiner Konsens ist doch: Wenn das alte weiterhin geht,
und das Neue also 'nur' ne Erweiterung ist, wird keiner ernsthaft was
dagegenhaben.

Fyt.

-----------------------------------------------------------------------------



Re^5: Ideen zu den Ebenen. (Acrimon, 26. Okt 1996, 14:08:47):
~#! rn=Hate rt=846270168
~#! tid=846227081
Groszartig! Ich waere sehr dafuer.
Wobei ich die Moeglichkeit wahrscheinlich dazu verwenden werde, die
Informationen noch praegnanter und kuerzer darzustellen (wenn das ueberhaupt
noch geht).
Und wenn ALLE Meldungen abstrakt verteilt werden (Typ, Absender, Titel, Text),
wie waere es dann, wenn ich nicht nur die Ebenen formatieren koennte, sondern
auch Mitteilungen, Freundmitteilungen, Rufen, Sagen, Fragen, Antworten,
Emotes?
(oder nur eine Auswahl davon)

Acrimon, der Rote Ritter

-----------------------------------------------------------------------------



Ebenen & Netztot (Hate, 26. Okt 1996, 15:13:50):
Also, nach einem Ende oder crash oder reboot sollte das Problem
weg sein, dass auch Netztote immer noch den Ebenen zuhoeren.

Hate.

-----------------------------------------------------------------------------



Re^6: Ideen zu den Ebenen. (Hate, 26. Okt 1996, 15:14:59):
~#! rn=Acrimon rt=846331727
~#! tid=846227081
hmm, also es waere schoen, wenn alle meldungen so verteilt wuerden,
aber das ist leider nicht so implementiert. Das gilt nur fuer
die Ebenen.
Hate.

-----------------------------------------------------------------------------



Re^6: Ideen zu den Ebenen. (Pilgrim, 26. Okt 1996, 15:19:08):
~#! rn=Acrimon rt=846331727
~#! tid=846227081
Hmmm,

da faellt mir noch mehr ein ...
FARBEN, bzw Farbcodierungsmoeglichkeiten von bestimmten ausgaben ...
Das Mud hat ja duchaus Moeglichkeiten zum (simpelen) Farbhandling integriert
...

Als notorischen telnet-nutzer faend ich es schon manchmal ganz hilfreich,
wenn mann ein: XXX teilt die mit <blabla> in bunt (oder fett) ausgeben
koennte,
das gleich gilt fuer einige magierfeatures ... zb Raum und objekt-files mit
mschau ein (in farbe 1) oder spieler (.../shells/...) in (farbe 2) usw ...

jaja, ich weiss, das kann man alles mit tf oder zmud machen ... aber besser
waeres doch, wenn alle diese moeglichkeit haetten ... 

Pilgrim
(mags gerne bund)


-----------------------------------------------------------------------------



Re^7: Ideen zu den Ebenen. (Jehova, 26. Okt 1996, 15:23:33):
~#! rn=Pilgrim rt=846335948
~#! tid=846227081
du vergisst dabei voellig, das nicht alle ein color-x-term auf ihrem
rechner haben.

jehova, hat keine farbe

-----------------------------------------------------------------------------



Re^8: Ideen zu den Ebenen. (Loco, 26. Okt 1996, 15:43:16):
~#! rn=Jehova rt=846336213
~#! tid=846227081
Du kannst Dir mit 'stty' setzen, welchen Typ von Terminal Du hast. Farbe,
Unterstreichungen usw. gibt es bereits an wenigen Stellen, aber natuerlich nur
fuer die Leute, die vt100 (nur fett, unterstrichen usw) oder ansi (auch Farbe)
eingestellt haben.
Jegliche Verwendung solcher Codes sollte natuerlich auf den eingestellten
Terminaltyp achten.

- Loco

-----------------------------------------------------------------------------



Re^9: Ideen zu den Ebenen. (Anatol, 26. Okt 1996, 15:53:26):
~#! rn=Loco rt=846337396
~#! tid=846227081

Das heisst aber auch, dass Farbe nur unterstuetzend und nicht relevant in die
Programmierung einbezogen werden darf...

Gehoert auch zu den Monotonmuddern,
Anatol


-----------------------------------------------------------------------------



Re^4: Ideen zu den Ebenen. (Baron, 26. Okt 1996, 17:29:29):
~#! rn=Raffi rt=846264045
~#! tid=846227081
Ich halte eine solche Aenderung auch fuer eher ueberfluessig. Wer die
Kanalmeldungen nicht mag kann sie (mit tf oder Zmud) wegmachen und durch
eigene Meldungen ersetzen lassen... Ist eh viel flexibler :).
Baron - schwoert auf zmud

-----------------------------------------------------------------------------



Re^5: Ideen zu den Ebenen. (Rantanplan, 26. Okt 1996, 17:31:41):
~#! rn=Baron rt=846343769
~#! tid=846227081
Wie ich es liebe...

Klar ich benutze tf/zmud alos alle anderen auch, es soll tatsaechlich
noch Hinterwaeldler geben, die ein telnet-frontend benutzen...;-)))

Ran* schowert auf UX/telnet

-----------------------------------------------------------------------------



Re^5: Ideen zu den Ebenen. (Pilgrim, 26. Okt 1996, 17:56:56):
~#! rn=Baron rt=846343769
~#! tid=846227081
Hmmm,

es geht hier nicht darum, was der einzelne zuhause benutzt, sondern
eher, was das MUD unterstuetzt ... und ich denke, der default-clienet
fuers MG ist immernoch das telnet (der kleinste gemeinsame nenner halt)

Pilgrim
(benutzt alles kreuz und quer ... )

-----------------------------------------------------------------------------



Ebenen und Phantasie (Kobayashi, 27. Okt 1996, 08:37:02):
Mit Phantasie haben Ebenen absolut nichts zu tun. (Jedenfalls nicht so, wie
sie jetzt sind) auch "globales" rufen, das mehr als 3 oder 4 Raeume weit
reicht, ist ohne den Besitz eines magischen Objektes voelliger Humbug. 
Ich sehe da nur zwei Moeglichkeiten. Entweder man stellt alles so um, das es
wirklich in eine halbwegs Phantasy-Umgebung passt, oder man nennt das MUD un
LaberMUD um oder tauscht es direct gegen einen IRC-Server um.

Kobayashi


-----------------------------------------------------------------------------



Re: Ebenen und Phantasie (Pilgrim, 27. Okt 1996, 09:10:31):
~#! rn=Kobayashi rt=846401822
~#! tid=846401822
och,

ich dachte MG waere nicht nur zu Spielen, sondern auch zum Labern da ...
ich meine, wir stellen ja auch nicht fantasy-maessig auf tag und nacht,
hunger und durst, x schritte pro zug (und gewicht) usw, um (HOFF ich
zumindest)
P.

-----------------------------------------------------------------------------



Re: Re: Ebenen und Phantasie (Hate, 27. Okt 1996, 09:45:31):
~#! rn=Pilgrim rt=846403831
~#! tid=846401822
Haben wir auch nicht vor und alleine die Moeglichkeit, ohne externe
Hilfen laut rufen zu koennen, bzw die Ebenen benutzen zu koennen,
stellt noch lange kein Gegenargument zu Fantasy dar.
Es ist ja nicht definiert, dass man das nicht kann! Es kann ja durchaus
Welten geben, in denen globale Kommunikation in Form von telepatischen
Nachrichten denkbar ist. Dazu gehoeren prinzipiell auch die Ebenen, die
deshalb ja auch so heissen. Es ist Ebene eines hoeheren Bewusstseins-
levels, auf dem sich die Bewohner getrennt von der globalen Gedankenflut
unterhalten koennen. Dass die Darstellung hier eine rein technische
Form hat, ist halt einfach der Uebersichtlichkeit zu verdanken.
Da ich mir aber vorstellen kann, dass jemand sich das fuer sich
selbst auch etwas stimmiger gestalten moechte, habe ich die Idee
auf den Tisch gebracht. Wer fuer mich in einem Rahmen denkt, dass man
nur 2-3 Raeume weit rufen kann, oder dass man technische Hilfsmittel
brauch um im Bewusstsein auf eine hoeher Ebene zu kommen, der denkt fuer
mich sehr beschraenkt.
Sicherlich ist Fantasy eine Definition, ueber die man streiten kann, aber
hier verbietet uns niemand, ueber die Grenzen anderer hinauszugehen und
andere Moeglichkeiten auszuloten. Ein wichtiger Punkt, dabei ist eben
auch, dass gerade die Moeglichkeit der freien Kommunikation ein vitaler
Bestandteil von MorgenGrauen ist, der zum grossen Teil die
Popularitaet ausmacht.

Hate.

-----------------------------------------------------------------------------



Re: Ebenen und Phantasie (Lug, 28. Okt 1996, 03:47:49):
~#! rn=Kobayashi rt=846401822
~#! tid=846401822
Moin,

also mein lieber Kobayashi (Kenner sehen Eckzaehne). Wenn Du es lieber
anheimelig, wahnsinnig realistisch wuenscht, dann schalte doch alle Kanaele
einfach ab. Und lass denen, die Kanaele wollen Ihren Spass. Es haben genug
Leute Spass dran, stoert Dich das?
Also wirklich. Diese Debatte sollte schnellstens nach SCHMARREN!

Lug

-----------------------------------------------------------------------------



Re: Ebenen und Phantasie (Qitess, 28. Okt 1996, 09:25:20):
~#! rn=Kobayashi rt=846401822
~#! tid=846401822
wenn kobayashi unbedingt so real-phantastisch haben will, soll er doch nach
unitopia gehen, da hat man dann auch hunger und durst und kann daran sterben.
und rufen ist ein unheimlich teures vergnuegen . im uebrigen ist das MG ein
Labermud, und genau das macht seinen reiz aus. man kann zum beispiel hierher
kommen und ne dreiviertelstunde lang nix tun ausser zu KOMMUNIZIEREN .

QI 


-----------------------------------------------------------------------------



Re: Ebenen und Phantasie (Kretek, 28. Okt 1996, 11:09:14):
~#! rn=Kobayashi rt=846401822
~#! tid=846401822
... Und wieder mal sind wir bei dem altbekannten und beliebten MG-eigenen
Problem, dass jemand einen Vorschlag zu einer kleinen Aenderung macht,
ein paar Leute sich dazu aeussern, und **schwupp** ein paar Replies
weiter haben wir schon die schoenste Grundsatz-Diskussion, die mit dem
eigentlichen Thema nix (oder fast nix) mehr zu tun hat.
Denn OB die Ebenen phantasy-gerecht sind oder nicht, OB man die
Kommunikation irgendwie einschraenken sollte, und wenn ja, WIE
man das am besten macht, das hat doch wohl nix mit der Frage zu tun,
ob man Spielern die Moeglichkeit einraeumen sollte, die Ausgabe der
Ebenen irgendwie individueller zu gestalten. Und dann gleich so weit zu
gehen, das MG als solches als reinen IRC-Clone zu bezeichnen, halte ich
wohl auch fuer leicht uebertrieben
schliesslich kann ich mich daran
erinnern, dass immer schon so viel gequatscht wurde, seit ich hier bin, und
irgendwie hat das auch noch nie jemanden so besonders gestoert...
Sicher, kleine Diskussionen und Verbesserungsvorschlaege gab's immer schon
mal, aber... Ach, was red ich denn eigentlich so viel. Ist das nicht 
irgendwie auch total unphantasymaessig? :-)

Ciao,
KreteK

-----------------------------------------------------------------------------



Ebenen und Phantasy (Kobayashi, 28. Okt 1996, 20:04:36):
Irgendwie komisch, wieviel Kommentar zur einem Artikel kommt, der nur zeigen
soll, was passiert wenn man die laufendes Diskussion auf die Spitze treibt ...

Kobayashi

-----------------------------------------------------------------------------



Re: Ebenen und Phantasy (Wurzel, 28. Okt 1996, 20:12:28):
~#! rn=Kobayashi rt=846529476
~#! tid=846529476
warum nur rollen sich mir immer die fussnaegel hoch, wenn ich "phantasy"
sehe? entweder englisch "fantasy" oder deutsch "phantasie"...

aber rechtschreibfehler gehoeren ja wohl zur mg-kultur :)

-----------------------------------------------------------------------------



Re: Re: Ebenen und Phantasy (Kobayashi, 28. Okt 1996, 20:21:04):
~#! rn=Wurzel rt=846529948
~#! tid=846529476
Irgendwas muss ja hier mit Phantasie zu tun haben, und wenn die
Rechtschreibung ist ...

Koba

-----------------------------------------------------------------------------



Re: Re: Ebenen und Phantasy (Boing, 29. Okt 1996, 13:25:27):
~#! rn=Wurzel rt=846529948
~#! tid=846529476
Fuer Rechtsschreibfehler gibt es den Befehl 'typo', den duerfen auch
Magier anwenden.
  Boing

-----------------------------------------------------------------------------



Re^3: Ebenen und Phantasy (Zephyr, 29. Okt 1996, 13:26:27):
~#! rn=Boing rt=846591927
~#! tid=846529476
Und was ist mit den Linksschreibfehlern?

Zephyr --> schmarrn

-----------------------------------------------------------------------------



Re^7: Ideen zu den Ebenen. (Mupfel, 29. Okt 1996, 18:23:55):
~#! rn=Hate rt=846335699
~#! tid=846227081
Dann aender das doch. Zumindest 'rufe' koennten sicherlich ohne Problem als
'Spezialkanal' umgestrick werden.

-mupfel-

-----------------------------------------------------------------------------



Re: Ebenen und Phantasie (Mupfel, 29. Okt 1996, 18:27:14):
~#! rn=Kobayashi rt=846401822
~#! tid=846401822

Du weisst vielleicht, dass Hate begeisterter IRCer ist...? :-)
Aber im MG hast Du beides, IRC-aehnliche Kanaele (wenn auch ohne 'kick' und
co.), und MUD-maessiges 'spielen', questen und metzeln.

Es lebe die grosse Vereinheitlichung :-)

-mupfel-

-----------------------------------------------------------------------------



Zerstoerung der Ebenen (Ronda, 30. Nov 1996, 13:22:38):
Da das andauernde An- und Ausschalten der Ebenen doch etwas nervt (ja, ich
weiss, dass ich den Kanal einfach ausschalten kann - ich finde ihn aber doch
interessant...), besonders wenn Spieler haeufiger aus dem Spiel gehen, um
sofort danach wieder einzuloggen:
waere es moeglich, dass die Ebenen nicht sofort geloescht werden, wenn keiner
mehr darauf hoert, sondern erst etwas (5 min.) spaeter?
Dann wuerden diese kurzen Aus-/ Einlogg-Aktionen nicht so viel scrollen.
Falls es schon mal irgendwo stand, warum das nicht geht-> Flames nach
/dev/Null
Tschau,
          Ronda

-----------------------------------------------------------------------------



Re: Zerstoerung der Ebenen (Hate,  1. Dez 1996, 22:12:00):
~#! rn=Ronda rt=849356558
~#! tid=849356558
Ich habe den cache-timeout halbiert. Damit duerften eine Menge Muell
Ebenen schneller verschwinden. Ebenen, die viele Leute benutzen und
die regelmaessig benutzt werden duerften auch so durchhalten.

Timeout ist von 24h auf 12h reduziert.

Eine Ebene muss also nach dem letzten ausschalten spaetestens 12h danach
wieder automatisch erzeugt werden.

Dies verhindert allerdings nicht, dass beim ein/ausloggen komische Effekte
entstehen. Hier sollte dem betroffenen mal gesagt werden, dass er/sie die
einzige auf den Ebenen ist.

Hate.

-----------------------------------------------------------------------------



neues Spiel (Rikus,  7. Jan 1997, 22:40:30):
Hi Leute,

wer sich an einem neuen Spiel, naja, so neu ist es nun auch wieder nicht,
versuchen moechte, sollte sich mal in meinem "Seherhaus" (auf der Hochebene)
umschauen.

Viel Spielspass wuenscht Rikus

-----------------------------------------------------------------------------



Re: neues Spiel (Rikus,  8. Jan 1997, 20:44:18):
~#! rn=Rikus rt=852673230 rg=entwicklung
~#! tid=852673230
Das Hilfefile zum Spiel lies sich, wie ich eben erfuhr, nur von mir selber
lesen ;) Ist nun behoben...

Rikus

-----------------------------------------------------------------------------



Re: Re: neues Spiel (Fyt,  8. Jan 1997, 21:55:25):
~#! rn=Rikus rt=852752658 rg=entwicklung
~#! tid=852673230

Hm, dann weisst Du ja jetzt hoffentlich, wie das Spiel geht ;-)

Fyt.

-----------------------------------------------------------------------------



Ordner mit Grossbuchstaben (Loco,  8. Jan 1997, 22:00:26):
Da mehrere Leute damit Probleme zu haben scheinen...

seit einiger Zeit erlaubt der Mailer nur noch Ordnernamen, die vollstaendig
aus Kleinbuchstaben bestehen. Leider haben wohl einige Leute Ordner mit
Grossbuchstaben im Namen angelegt und koennen auf diese nicht mehr mit Namen
zugreifen.

Daher der Hinweis: Man kann jeden Ordner auch per Nummer ansprechen. Die
Nummer findet man in der Ordnerliste, die man sich mit 'i' anschauen kann.

- Loco

-----------------------------------------------------------------------------



Verlobungsringe (Rikus, 10. Jan 1997, 20:33:07):
Hi,
ich habe die Ringe dahingehend geaendert, dass sie nun wie normale Ringe
reagieren, also tragen, zeigen, ID ring etc... Natuerlich ohne Ruestungs-
schutz :)
Weiterhin geht nun bei der Bestellung auch 'ja statt ' ja oder sag ja ...
Durch eine Aenderung in der mudlib geht es ab naechsten Reboot nun auch,
dass der Partner das Wiedereinloggen bemerkt, wenn man noch nicht im
Netztodenraum war...

Ciao, Rikus

-----------------------------------------------------------------------------



Traumkneipen (Pra, 16. Jan 1997, 18:03:48):
Hi!

Auch, wenn ich jetzt den geballten Zorn der gesamten Spielerschaft auf
mich ziehen werde - ich kann's mir nicht verkneifen, die Unlogik 
anzuprangern:

>n
Die Diamantbar.
Es gibt einen sichtbaren Ausgang: sueden.
Ein fetter Zwerg.
Die Top-Liste, Top-Spielerliste, Top-Seherliste und Top-Zweitiliste.
>unt geld
Du siehst 19405 Muenzen.
>kaufe hammer
So ein Pech, Du hast alles verschuettet.
Nein! Du hast fuer heute genug!
>unt geld
Du siehst 19405 Muenzen.
>

So eine Kneipe moechte ich mal RL erleben: Bier bestellen, verschuetten,
und dann nicht zahlen muessen... *seufz*   *traeum*


Pra.

-----------------------------------------------------------------------------



Re: Traumkneipen (Qitess, 17. Jan 1997, 10:00:59):
~#! rn=Pra rt=853434228 rg=entwicklung
~#! tid=853434228
jetzt bitte bitte fangt nicht an, die kneipen dahingehend umzubasteln, dass
man bezahlt und trotzdem nichts trinkt. 
und bitte bitte redet nicht wieder darueber, dass das aber doch realistischer
waere.

ich mag das MG so wie es ist, und ausserdem ist ein mud an sich schon
unrealistisch, sprich phantastisch. 

qi weiss auch nicht mehr genau, weshalb sie diesen artikel jetzt geschrieben
hat...


-----------------------------------------------------------------------------



Re: Traumkneipen (Schlips, 17. Jan 1997, 11:41:52):
~#! rn=Pra rt=853434228 rg=entwicklung
~#! tid=853434228

Nun ja, im RL weiss ich ja auch vor den Bestellung, ob oder dass
ich voll bin - meistens zumindest.
Somit hat Deine Kritik denke ich nur dann einen Sinn, wenn man seinen
'Tankzustand' nachpruefen kann, sprich man eine Ausgabe darueber bekommt.
zB wenn man schon recht viel getrunken hat: 'Du solltest Dir ueberlegen,
ob Dir noch ein Drink gut bekommt?'
Um das ganze noch etwas realistischer zu machen koennte man die Ausgabe
ja vielleicht etwas ungenau gestalten - weil man ja auch RL nicht immer
richtig liegt mit seiner Einschaetzung.

Schlips

(im uebrigen hab ich keine Ahnung vonr Programmierung, weiss also auch nicht
inwieweit diese Ideen zu verwirklichen waeren, und bin darueber hinaus
auch mit dem Gegenwaertigen Zustand ganz zufrieden)


-----------------------------------------------------------------------------



Re: Re: Traumkneipen (Cauno, 17. Jan 1997, 11:44:17):
~#! rn=Schlips rt=853497712 rg=entwicklung
~#! tid=853434228
Und um es absolut realistisch zu machen, kann man ja aufs Klo rennen, und die
Bruehe rauswuergen, um weiter tanken zu koennen - vergiss es.

C. No

Und letzteres nur unter Abzug von Lebenspunkten ... ;-)

-----------------------------------------------------------------------------



Re^3: Traumkneipen (Schlips, 17. Jan 1997, 12:08:43):
~#! rn=Cauno rt=853497857 rg=entwicklung
~#! tid=853434228

Stimmt!

Schlips, hat sich schon immer gefragt wofuer die Toiletten sind ;)

-----------------------------------------------------------------------------



Re: Re: Traumkneipen (Marita, 17. Jan 1997, 21:27:15):
~#! rn=Schlips rt=853497712 rg=entwicklung
~#! tid=853434228
Jungs, nu bleibt ma aufm Teppich. Es ist halt von Erziseite so geproggt
dass man NICHT weiss wie "voll" man ist, im Gegenzug wird man fuer "Fehler"
daraus nicht bestraft. Das nenn ich nen fairen Deal. Wenn man was
umproggt, dann wohl beides, aber DAS moecht ich sehen: "Du hast jetzt 40 %
Essen, 68 % Trinken und 91 % Alk intus." :-)
Dann kann man gleich den Kneipen-Code in der MPA veroeffentlichen...
Maridda

-----------------------------------------------------------------------------



'zeilen' (Pra, 21. Jan 1997, 17:44:09):
Moin!

Ich frag' nur mal kurz: Warum funktioniert eigentlich der 'zeilen 0'-Befehl
nicht richtig? Lange Artikel in der MPA werden danach willkuerlich gekuerzt.
Fehlbedienung meinerseits? Fehler im Code?

Pra.

-----------------------------------------------------------------------------



Re: 'zeilen' (Hadra, 21. Jan 1997, 21:58:55):
~#! rn=Pra rt=853865049 rg=entwicklung
~#! tid=853865049
vor ein bis zwei jahren bekam ich mal den tip stattdessen zeilen 99 zu
benutzen. fuer die meisten sachen reicht das auch locker

-----------------------------------------------------------------------------



Re: Re: 'zeilen' (Anatol, 21. Jan 1997, 23:10:47):
~#! rn=Hadra rt=853880335 rg=entwicklung
~#! tid=853865049

Ich glaube, der 'truncate' nach 60 Zeilen dient dazu, um den Transfer von
VIELEN Daten auf einmal zu verhindern - in der Beschreibung des 'ed' wird
ausdruecklich darauf hingewiesen, dass man 1,$p nicht zur Anzeige des
Dokuments verwenden soll, da sonst der remote-Rechner abstuerzen koennte.
Selbst wenn das uebertrieben ist, koennte ich mir dennoch Probleme 
vorstellen.

Anatol


-----------------------------------------------------------------------------



teilemit history? (Woody, 22. Jan 1997, 16:11:49):
Ich weiss nicht, ob es diese Diskussion schon mal gab, aber waere
es theoretisch moeglich, einen Befehl wie zB. 'thist' einzubauen,
der die letzten sagen wir mal zehn Mitteilungen, die man bekommen
hat, abzurufen? Ich meine eher, waere es vom Speicheraufwand vertret-
bar und politisch durchsetzbar? (dass es technisch geht, weiss ich
selbst gut genug, siehe thist im SL :))

fragend,
woody.-

-----------------------------------------------------------------------------



Re: teilemit history? (Woody, 22. Jan 1997, 16:13:50):
~#! rn=Woody rt=853945909 rg=entwicklung
~#! tid=853945909

ps. ja ich weiss, "/recall 500 *teilt*" geht auch...
   aber es hat ja nicht jeder tf

-----------------------------------------------------------------------------



Re: teilemit history? (Grimmborn, 22. Jan 1997, 16:32:11):
~#! rn=Woody rt=853945909 rg=entwicklung
~#! tid=853945909
Speicher ist kein Problem, komm in den Verein, unterstuetz den Speicherausbau
und wir haben soviel Speicher wie man sich nur wuenschen kann. Fuer die
naechsten 2 Jahre zumindest.

Was mich daran erinnert: mg hat doch 128 MB, reichen die tatsaechlich nicht
mehr aus? Vielleicht bin ich naiv, aber fuer mich hoeren sich 128 MB sehr viel
an. Und worauf wird aufgeruestet? 256 (Naegel mit Koepfen, meine Herren, keine
Halbloesungen!)?
Ach ja, bevor der alte Speicher weggeworfen wird melde ich mich hiermit als
Interessent fuer die alten Bausteine...

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re: Re: teilemit history? (Anatol, 22. Jan 1997, 17:30:17):
~#! rn=Grimmborn rt=853947131 rg=entwicklung
~#! tid=853945909

Soweit ich weiss, wurde der Vorschlag von Hate eben mit der Begruendung, dass
pro Spieler viele Bytes Speicher gebraucht werden (bei 3000 Spielern ist das
etwas mehr als im Silberland), abgelehnt.

Anatol


-----------------------------------------------------------------------------



Re^3: teilemit history? (Acrimon, 22. Jan 1997, 17:38:04):
~#! rn=Anatol rt=853950617 rg=entwicklung
~#! tid=853945909
Die teilemit-History musz doch nicht Crashs ueberstehen koennen!
Und wenn man sich mit "schlafe ein" ausloggt, dann interessiert beim naechsten
Mal die TeileMits vom letzten Einloggen ueberhaupt nicht.
Somit darfst Du auch keine 3000 Spieler in Betracht ziehen, sondern maximal
170.
(Der Rekord bisher ist 172 Spieler gleichzeitig im Mud)
Durchschnitt ist weniger als 100.
Es wird also nicht Speicherplatz fuer 3000 Spieler benoetigt, sondern nur fuer
100.
(Manchmal mehr, manchmal weniger)

Und das ist durchaus im akzeptablen Bereich.

Acrimon, der Rote Ritter

-----------------------------------------------------------------------------



Re: teilemit history? (Jasper, 22. Jan 1997, 20:38:32):
~#! rn=Woody rt=853945909 rg=entwicklung
~#! tid=853945909
darum winsel ich schon seit jahren. waere besonders nuetzlich wenn man sich
schnell bewegt und sagen wir mal alle paar stunden einen blick auf den
bildschirm wirft :)

-----------------------------------------------------------------------------



Re^3: teilemit history? (Woody, 23. Jan 1997, 01:10:57):
~#! rn=Anatol rt=853950617 rg=entwicklung
~#! tid=853945909
Lieber arrog... aeh, naja, anatolischer Elf halt. :)

1. So eine History muss auf keinen Fall Reboots ueberstehen, das
   halte ich sogar fuer ziemlich sinnlos (ist im SL auch nich)

2. Kann man sich ja auch ueberlegen, ob es notwendig ist, sie in
   netztoten Spielerobjekten zu behalten (faende ich zwar praktisch,
   aber selbst wenn nicht waers immer noch besser als gar nix).
   Ad Groesse: bei 10 Eintraegen (pro Eintrag beispielsweise ein Name,
   ein Integer (time()) und der Text) max. ca. 1 KB, schaetze ich.
   Vertretbar? Weiss nicht. Aber wenn ich mir meine ali-Sammlung
   anschaue, die auch staendig im Spielerobjekt mit rumgeschleppt
   wird... :)

3. Ist das SL wie Du bissigerweise, aeh, richtigerweise sagtest
   natuerlich kleiner (bei der Spieleranzahl schaetz ich mal
   grob Faktor 5), hat aber auch weniger Speicher zur Verfuegung.
   Wenn das SL in Deinen Augen zu klein ist als dass ich irgendwas
   kompetentes sagen duerfte ist das aber Dein Problem; ich werd
   mir deswegen sicher nicht das artikelschreiben verbieten lassen.
   *grummel*  Was mich zu dem vorigen Artikel von Grimmborn fuehrt:
   Der MG-Rechner hat soweit ich weiss 128 MB, ja. Der vom SL 48 MB,
   von denen im Moment ca. 20 MB fuer den driver draufgehen. Wenn ich
   das interpoliere kann ich mir schon vorstellen dass es allmaehlich
   im MG knapp wird...

Naja, wie auch immer, ist ja nur meine Meinung, die ich
ja hoffentlich noch kundtun darf...

woody.-

-----------------------------------------------------------------------------



Es ist Zeit... (Grimmborn,  8. Feb 1997, 00:02:00):
Koennte mal jemand die Muduhr stellen? Das ist ja irritierend, wie sie ihrer
Zeit vorraus ist...

Grimmborn der Atheist

-----------------------------------------------------------------------------



Ignoriere (Sidolin, 10. Feb 1997, 14:34:39):
Wie waere es mit einem ignoriere name.inform?

Inform ein ist ja ganz nett, aber es gibt da son ein paar spezis, die sich
alle 20 sekunden aus- und wieder einloggen, die scrollen nur.. :-)

Sidolin. 

-----------------------------------------------------------------------------



Telnet-Optionen (Smurf, 14. Feb 1997, 22:52:43):
Wie waers, wenn das Morgengrauen das Telnetprotokoll etwas besser
unterstuetzen wuerde?

Ich denke da insbesondere an ein GOAHEAD nach einem Prompt. Momentan sieht
es so aus, dass ich einen DONT-SGA (Suppress GoAhead) schicke, einen
WONT_SGA zurueckkriege, aber es kommen trotzdem keine GoAhead-Befehle.

Dabei waeren gerade die sehr nuetzllich, um Prompts aus den Logs raus-
zufiltern oder zu verhindern, dass TinyFugue etc. bei durch Netlag
verursachten "halben" Zeilen fuer ne halbe Sekunde so ein komisches
40-Zeichen-Prompt anzeigt.

Andere Optionen waeren auch denkbar, zB Linemode einschalten oder das
Echo beim Passworteingeben ausschalten oder ...

PS, Fehler: Wenn ich die Option DO_BINARY schicke, dann kommt ein WONT_
zurueck, aber ohne das _BINARY. Hoppla.

-----------------------------------------------------------------------------



Re: Telnet-Optionen (Hate, 15. Feb 1997, 12:05:26):
~#! rn=Smurf rt=855957163 rg=entwicklung
~#! tid=855957163
Ich werde den Request mal dahin weiterleiten, wo was getan werden kann.
Das ist naemlich kein MG spezifisches Problem. Und Line-mode ist eh
eingeschaltet, wenn kein request fuer character mode kommt.

Hate.

-----------------------------------------------------------------------------



Re: Re: teilemit history? (Yaren, 20. Feb 1997, 11:26:29):
~#! rn=Jasper rt=853961912 rg=entwicklung
~#! tid=853945909
Nimm TF und dann '/recall -ag /1000*{Du teilst * mit:|teilt Dir 
mit:}*

Yaren.

-----------------------------------------------------------------------------



finger (Grimmborn, 20. Feb 1997, 19:28:58):
Wo gerade (an unpassender Stelle) ueber den finger diskutiert wird, ich stelle
oefter folgendes fest:
XXXX  I S T   J E T Z T   N I C H T   M E H R   D A !!!

Sofort anschliessend: finger XXXX und:
Zuletzt ausgeloggt: Don, 20. Feb 1997, 19:13:44 (00:12:26)

OK, vielleicht eine Minute, aber doch keine 12?

Bin mal gespannt, wie das wieder mit dem nicht abgespeicherten savefile
erklaert werden kann...

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re: finger (Anatol, 20. Feb 1997, 20:09:05):
~#! rn=Grimmborn rt=856463338 rg=entwicklung
~#! tid=856463338

Hm, kein Problem, Grimmborn :-) !

Blafasel hat gerade das MorgenGrauen verlassen.
anatol> finger blafasel
finger: Ach Scheisse, jetzt will der Depp schon wieder etwas wissen.
finger: Hm, Blafasel ist ja gar nicht eingeloggt. *poeh*, muss ich auch
        noch /save/b/blafasel.o anschauen. Immer ich.
finger: Hmmm, wie kriege ich denn raus, wann der zuletzt eingeloggt war? Ha!
        Ich schau einfach auf den Zeitstempel des Savefiles (*schlausei*)
Jemand teilt Dir mit: Und genau da liegt der Hund, also Blafasel, begraben.
Jemand teilt Dir mit: Das Savefile wird eben NICHT sofort beim Disconnecten
Jemand teilt Dir mit: des Spielers gespeichert.
Jemand teilt Dir mit: Hmm, wenn jetzt noch einer das Wort "Cache" erwaehnt, 
Jemand teilt Dir mit: ist die Verwirrung perfekt... *grinsdaemonisch*

Erklaerung genug? 
Anatol grinst Dich aus der Ferne an.


-----------------------------------------------------------------------------



Re: Re: finger (Grimmborn, 20. Feb 1997, 20:09:59):
~#! rn=Anatol rt=856465745 rg=entwicklung
~#! tid=856463338
Jepp.

GdA ;-)

-----------------------------------------------------------------------------



Re^3: finger (Grimmborn, 20. Feb 1997, 20:12:17):
~#! rn=Grimmborn rt=856465799 rg=entwicklung
~#! tid=856463338
Aber im Ernst, das einschlafen ist doch eine Sache, mit der man klarmacht,
dass man vorerst nicht weiterspielt, also koennte man das als Anlass nehmen,
den Spieler abzuspeichern. Fuer den unwahrscheinlichen Fall dass es crasht
beispielsweise. Nur als Idee...

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re^4: finger (Grimmborn, 20. Feb 1997, 20:27:06):
~#! rn=Sidolin rt=856466071 rg=entwicklung
~#! tid=856463338
Ausgiebiges Testen hat zu der Erkenntnis gefuehrt, dass offensichtlich der
Zeitstempel des savefiles massgebend ist.
Die offizielle Bestaetigung von Hate, der sich gelangweilt durch den code
wuehlen wollte, steht allerdings noch aus.

Grimmborn der Atheist zur Lage der Nation

-----------------------------------------------------------------------------



Re^5: finger (Loco, 20. Feb 1997, 23:56:12):
~#! rn=Grimmborn rt=856466826 rg=entwicklung
~#! tid=856463338
Die inoffizielle Bestaetigung von mir folgt hier.
Da ich mich dunkel darin erinnere, dass irgendwann einmal die Tasten unterhalb
meiner Fingerkuppen solche Klopfzeichen abgegeben haben, dass der Rechner
dahinter diese als ein LPC-Programm interpretiert hat, das hier spaeter als
Finger bekannt wurde, gebe ich die gewuenschte Bestaetigung, ohne mich durch
den Code zu wuehlen.

- Loco

-----------------------------------------------------------------------------



Re^6: finger (Woody, 21. Feb 1997, 01:46:03):
~#! rn=Loco rt=856479372 rg=entwicklung
~#! tid=856463338
Meines Erachtens liegt das schlicht daran, dass die Property
P_LAST_LOGOUT in der player/base.c an der falschen Stelle gesetzt
wird, naemlich in save_me() stat bei NetDead() bzw. quit(). Eine
einfache Verschiebung der entsprechenden Zeile mit einer klitze-
kleinen Aenderung im finger (huhu loco, lies mal mail ;)) hat da
Wunder gewirkt, auch fuer P_CALLED_FROM_IP (zuletzt eingeloggt von).

10 groschen von
woody.-

-----------------------------------------------------------------------------



Spendiere (Rochus, 25. Feb 1997, 15:17:08):
Spendierten Speisen/Getraenken in Kneipen kann man jetzt
mit ignoriere entgehen. Moeglich sind:
  ignoriere spendiere
  ignoriere spendiere.getraenke
  ignoriere spendiere.alkohol
  ignoriere spendiere.essen

Ich glaube das duerfte besonders die Zauberer freuen :)
Die Aenderung wird mit dem naechsten Update der jeweiligen
Kneipe aktiv, also spaetestens nach dem naechsten Cr... Reboot.
In der Schenke in Drachenhort kann man die Aenderung schon ausprobieren.
PS:
Ich habe diesen Artikel nach npc.entwicklung ge-cross-postet.
Ich fuerchte die Raeuber werden ihn bald lesen :)

-----------------------------------------------------------------------------



Re: Spendiere (Fyt, 25. Feb 1997, 15:18:46):
~#! rn=Rochus rt=856880228 rg=entwicklung
~#! tid=856880228
Hm, also scriptende Zauberer muessen wieder auf die herkoemmlichen
Methoden beseitigt werden? ;-)

Fyt.

-----------------------------------------------------------------------------



Post (Loco, 25. Feb 1997, 17:32:25):
Die Morgengrauen-Postverwaltung gibt bekannt:
- Mail von und nach draussen funktioniert offensichtlich wieder.
- Allerdings werden z.Z. Mails von draussen nicht weitergeleitet, wenn man
einen Nachsendeauftrag gestellt hat. Ich versuche, herauszufinden, woran es
liegt.

Loco

-----------------------------------------------------------------------------



Re: Spendiere (Mupfel, 25. Feb 1997, 18:15:51):
~#! rn=Rochus rt=856880228 rg=entwicklung
~#! tid=856880228
Gibts ne Moeglichkeit des 'override* (fuer NPCs) ? Ne Art gewaltsames
Einfloessen als pervertierung des Spendierens? Vielleicht *wollen* manche
Monster einfach, dass der Spieler das "freundliche" Angebot annimmt....

-mupfel-

-----------------------------------------------------------------------------



Verlobungsringe (Rikus,  3. Mar 1997, 16:58:03):
Hi,
auf vielfachen Wunsch wird nun bei der Verlobung das Datum in die Ringe
eingraviert. Wer noch die alten Ringe hat und dies auch moechte, melde
sich bitte bei mir, wenn ich eingeloggt bin.

Rikus.

-----------------------------------------------------------------------------



Re: Re: Spendiere (Anatol,  7. Mar 1997, 20:32:12):
~#! rn=Mupfel rt=856890951 rg=entwicklung
~#! tid=856880228

Wow, das Abfuell-Aequivalent der Ruestungsspirale...
Mupfel, Du bringst es immer wieder auf den Punkt. ;-)

Fasst sich an den Kopf, 
Anatol@Stgt


-----------------------------------------------------------------------------



Laeden (Rochus, 10. Mar 1997, 16:25:40):
Spaetestens nach dem naechsten Reboot wird man in Laeden
die gezueckte Waffe und getragenen Ruestungen automatisch behalten.

-----------------------------------------------------------------------------



Re: Laeden (Pra, 11. Mar 1997, 20:29:40):
~#! rn=Rochus rt=858007540 rg=entwicklung
~#! tid=858007540
cool...

Pra. Freut sich.

-----------------------------------------------------------------------------



Re: Re: Laeden (Valarian, 12. Mar 1997, 17:09:58):
~#! rn=Pra rt=858108580 rg=entwicklung
~#! tid=858007540
behalte alles waere auch klasse :)

Gruss V.


-----------------------------------------------------------------------------



Re^3: Laeden (Babs, 13. Mar 1997, 02:17:15):
~#! rn=Valarian rt=858182998 rg=entwicklung
~#! tid=858007540
Behalte alles gibts schon lange in allen zivilisierten MG-Nachfolgern. :)

-----------------------------------------------------------------------------



finger -> more (Acrimon, 13. Mar 1997, 18:26:47):
Die Ausgabe des finger-Befehls sollte durch more laufen.
Jeder Magier, der das nicht glaubt, solle mal "finger jasper" machen.

Acrimon, der Rote Ritter

-----------------------------------------------------------------------------



Re: finger -> more (Dhojakt, 13. Mar 1997, 18:31:23):
~#! rn=Acrimon rt=858274007 rg=entwicklung
~#! tid=858274007
Oder alternativ den Plan auf 100 Zeilen begrenzen.

-----------------------------------------------------------------------------



Re: Re: finger -> more (Vergon, 13. Mar 1997, 18:37:23):
~#! rn=Dhojakt rt=858274283 rg=entwicklung
~#! tid=858274007

ali fi finger $* -N


-----------------------------------------------------------------------------



Re: finger -> more (Guldukat, 13. Mar 1997, 22:17:13):
~#! rn=Acrimon rt=858274007 rg=entwicklung
~#! tid=858274007

   ##      ##      ##      ##    #    #  #    #  #    #  #    #  #    #
  #  #    #  #    #  #    #  #   #    #  #    #  #    #  #    #  #    #
 #    #  #    #  #    #  #    #  ######  ######  ######  ######  ######
 ######  ######  ######  ######  #    #  #    #  #    #  #    #  #    #
 #    #  #    #  #    #  #    #  #    #  #    #  #    #  #    #  #    #
 #    #  #    #  #    #  #    #  #    #  #    #  #    #  #    #  #    #

-----------------------------------------------------------------------------



Vorschlag (Arty, 13. Mar 1997, 22:53:24):
Wie waers denn mal mit der (m.E. schon laengst faelligen) Implementierung
von:
'ziehe alles aus'

?? Ein Problem ist das gewiss nicht und es braucht auch weniger Zeit
als irgendwelche anderen komplexen Sachen.

 Arty

-----------------------------------------------------------------------------



Re: finger -> more (Kretek, 14. Mar 1997, 03:10:09):
~#! rn=Acrimon rt=858274007 rg=entwicklung
~#! tid=858274007
Na ja, zumindest das ASCII-Bildchen ist mittlerweile ja wohl mehr als
hinreichend bekannt. Aber der "Rest" ist 'ne ziemliche Frechheit, wennn
mich jemand fragen sollte (was vermutlich keiner tut). Erstens scrollt
das ja nur noch fies, was das Modem nicht gerade freut, zweitens bin ich
persoenlich der Meinung, solches pseudopolitische Gelaber hat hier
ziemlich wenig zu tun. Ich meine, immerhin sind wir hier ein _Spiel_ ,
und alleine schon deswegen sollten solche Prolsprueche eigentlich hier
voellig am falschen Fleck sein. Korrigiert mich bitte, wenn ich mich
da irre.

Erzvampir

       | /  |\  |--  ---  |--  | /
       |<   |/  |-    |   |-   |<
       | \  |\  |--   |   |--  | \

-----------------------------------------------------------------------------



Re: Re: finger -> more (Grimmborn, 14. Mar 1997, 03:25:48):
~#! rn=Kretek rt=858305409 rg=entwicklung
~#! tid=858274007
Ich korrigiere Dich: Wenn Du hier Prolos(prueche) verbieten willst, faende ich
das nicht sonderlich lustig.
Was soll ich in einem MG, in dem ich alleine bin, schon gross anfangen?

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re^3: finger -> more (Kretek, 14. Mar 1997, 03:28:52):
~#! rn=Grimmborn rt=858306348 rg=entwicklung
~#! tid=858274007
Hmmm... Hast auch wieder Recht. OK. Aehm... **gruebel** Was verbieten wir
denn dann?

K.

-----------------------------------------------------------------------------



Re: finger -> more (Wargon, 14. Mar 1997, 10:36:49):
~#! rn=Acrimon rt=858274007 rg=entwicklung
~#! tid=858274007
Kleiner Tip: hilfe finger
  Wargon

-----------------------------------------------------------------------------



Re: Re: finger -> more (Dhojakt, 14. Mar 1997, 15:02:05):
~#! rn=Wargon rt=858332209 rg=entwicklung
~#! tid=858274007
Ok, dann will ich es mal anders formulieren:
Es gibt durchaus Leute, von denen ich mal wissen will, was sie so fuer nen
Plan haben, und wenn ich dann an einen mit 5000 zeilen gerate, ist das nicht
mehr lustig. Koennte man daher den Plan doch mit more ausgeben oder ne Option
-# einbauen, die die ersten # Zeilen des plans anzeigt? Dann stell ich die bei
mir auf 10 und meine Neugier ist gestillt.
Khidar.

-----------------------------------------------------------------------------



Re^3: finger -> more (Dhojakt, 14. Mar 1997, 15:04:21):
~#! rn=Dhojakt rt=858348125 rg=entwicklung
~#! tid=858274007
Achja, nochwas zu more:
Ich find das more vom Tappmud sehr gut, wenn hier einer zuviel Zeit hat ( ;) )
koennte man ja sowas auch hier mal machen. Speziell ists informativer, Zeile
34 of 169 zu haben als 20%.
Khidar, versucht mal Magier zu beschaeftigen.

-----------------------------------------------------------------------------



Re^4: finger -> more (Dhojakt, 14. Mar 1997, 15:05:59):
~#! rn=Dhojakt rt=858348261 rg=entwicklung
~#! tid=858274007
Da faellt mir gleich noch was ein:
hilfe more
gibts auch nicht... Wer das alte more nicht mehr in erinnerung hat oder magier
ist, hat ja keine ahnung, welche kommandos das alles unterstuetzt.
Khidar, heute pfennigweise.

-----------------------------------------------------------------------------



Re: Vorschlag (Pra, 14. Mar 1997, 19:38:32):
~#! rn=Arty rt=858290004 rg=entwicklung
~#! tid=858290004
ziehe alles aus?

Sehr erotisch ist das dann ja nicht. Viel zu ueberhastet.

Pra. Zieht sich lieber langsam aus...

-----------------------------------------------------------------------------



Re: Re: Vorschlag (Fyt, 14. Mar 1997, 19:39:51):
~#! rn=Pra rt=858364712 rg=entwicklung
~#! tid=858290004

So als 'workaround':  "wirf alles weg, nimm alles" hat 'n ehnlichen effekt.

Fyt.

-----------------------------------------------------------------------------



Re^3: Vorschlag (Wurzel, 14. Mar 1997, 19:56:01):
~#! rn=Fyt rt=858364791 rg=entwicklung
~#! tid=858290004
aber bestenfalls aehnlich. kann zu problemen fuehren, wenn irgendwo 
unsichtbare objekte rumliegen, und da gibts ne ganze menge davon. also dann
doch lieber die erotische variante :)

wurzel

-----------------------------------------------------------------------------



Re^4: Vorschlag (Pilgrim, 14. Mar 1997, 21:24:32):
~#! rn=Wurzel rt=858365761 rg=entwicklung
~#! tid=858290004
Hmmm,

unsichtbare Objekte sollte man :
a) nicht rumliegenlassen
b) nicht nehmen koennen und
c) sich irgendwann selbst vernichten

Pilgrim ... schaut jetzt erstmal nach, ob das bei ihm auch so ist ... ;-) ;-)

-----------------------------------------------------------------------------



Re^5: Vorschlag (Fyt, 15. Mar 1997, 01:05:19):
~#! rn=Pilgrim rt=858371072 rg=entwicklung
~#! tid=858290004

Punkt c) moechte ich insbesondere im Fall unsichtbarer Magier unterstuetzen.

Fyt.

-----------------------------------------------------------------------------



Re^5: finger -> more (Wargon, 17. Mar 1997, 10:43:42):
~#! rn=Dhojakt rt=858348359 rg=entwicklung
~#! tid=858274007
Ich arbeite gerade an den Spielerhilfeseiten...
  Wargon

-----------------------------------------------------------------------------



Re^6: finger -> more (Fyt, 17. Mar 1997, 10:44:44):
~#! rn=Wargon rt=858591822 rg=entwicklung
~#! tid=858274007

Hm, ich denk, Spielerhilfe ist verboten *gruebel*

Fyt.

-----------------------------------------------------------------------------



Re^4: Vorschlag (Alpha, 17. Mar 1997, 17:25:19):
~#! rn=Wurzel rt=858365761 rg=entwicklung
~#! tid=858290004
oder dusselige Hobbithorden oder Elfenwaechter, die dann alles mitnehmen. Ohne
Waffe ist da Wiederholen seehr angenehm.

-----------------------------------------------------------------------------



Re^5: Vorschlag (Acrimon, 17. Mar 1997, 18:01:15):
~#! rn=Alpha rt=858615919 rg=entwicklung
~#! tid=858290004
Angenehm? Finde ich nicht.

-----------------------------------------------------------------------------



Re^6: Vorschlag (Atoz, 17. Mar 1997, 19:52:05):
~#! rn=Acrimon rt=858618075 rg=entwicklung
~#! tid=858290004
Acrimon, du nervst den geduldigsten Menschen
Atoz 

-----------------------------------------------------------------------------



BCC's tun wieder (Loco, 18. Mar 1997, 00:35:22):
Kleiner Bug im Mailer gefixt - bcc's tun hoffentlich wieder.
Danke an Woody fuer die Bugmeldung.

- Loco

-----------------------------------------------------------------------------



Re^4: finger -> more (Wargon, 19. Mar 1997, 14:06:15):
~#! rn=Dhojakt rt=858348261 rg=entwicklung
~#! tid=858274007
  Hi!
Ich kenn das Tappmud-More nicht, die Zeilenzahl anstatt der %-Angaben kann man
sich jetzt aber auch hier zeigen lassen.
Siehe dazu: hilfe zeilen
  Wargon
PS: Um das ganze nutzen zu koennen, muss man einmal "ende" machen oder auf den
naechsten Reboot warten.

-----------------------------------------------------------------------------



kwer +g (Acrimon, 23. Mar 1997, 20:02:04):
Ich vermisse dringend die Option "+g" fuer "gilde", die folgendes
(beispielsweise) ausgibt:

  Liste der Mitspieler vom Son, 23. Mar 1997, 19:53:25 (15 Teilnehmer)


Peppi.........A.s  Bigas.........T.z  Staggerlee....Z.s  Bengunn.......Z.s
Wam...........P.s  Kilar.........C.s  Yunga.........T.S  Schlips.......A.S
Sloane........C.S  Annihilator...K.S  Ivo...........B.z  Acrimon.......T.S
Sushi.........A.M  Wurzel........?.R  Hate..........A.E

Also, man sieht nicht nur, ob ein Spieler Seher oder Zweitie ist, sondern
auch, welcher Gilde er angehoert.
In meinem Fall hab ich folgende Abkuerzungen verwendet:
A=Abenteuer
B=Bierschuettler
C=Chaos
K=Karate
P=Klerus
T=Kaempfer
Z=Zauberer
?=Unbekannt

Es waere auch schoen, wenn man gleich eine Information ueber Gildenlevel
einbringen koennte, sprich bei niedrigen Leveln ist der Buchstabe klein, also
zB:
k=Kyu-Karateka; K=Dan-Karateka
z=vor der Lehrlingspruefung; Z=nach der Lehrlingspruefung
t=Krakh'Getres und Prolkh'Weths; T=Gra'Takal und darueber
usw.

Acrimon, der Rote Ritter

-----------------------------------------------------------------------------



Re: kwer +g (Nixihou, 26. Mar 1997, 11:19:37):
~#! rn=Acrimon rt=859143724 rg=entwicklung
~#! tid=859143724
hmm, das kwer +g ist ne gute idee

wenn wir schon dabei sind vorschlaege fuer das kwer zu machen ,,,
es waere auch recht schone wenn man sich im kwer anzeigen lassen koennte, 
ob jemand idel ist ... zB mit einem "i" vor den restlichen buchstaben die
gilde und spielerstatus angeben 

nixihou

-----------------------------------------------------------------------------



Leere MPA (Acrimon, 28. Mar 1997, 02:57:52):

Es faellt sicher dem Einen oder Anderen auf, dasz in der letzten Zeit
in der MPA ziemlich wenig drinsteht.

Nachdem ich oefters mir die Inhalte der Rubriken angeschaut habe, kann
ich folgende Beobachtungen angeben:

Die Zeit, nach der die Artikel geloescht werden, ist extrem kurz geworden.
Am staerksten faellt das in der Rubrik diskussion und schmarrn auf:
Dort sind die Artikel nach zwei bis vier Tagen wieder weg.
Das finde ich besonders schade, weil ich laengere Diskussionen liebe
und weil ich auch die Artikel in "schmarrn" sehr gerne lese.
Wenn die Artikel jedoch in solchen Rekordzeiten wieder geloescht
werden, dann wird alleine dadurch eine Diskussion schon unterdrueckt.

Die Rubriken sind nur mehr sehr schwach gefuellt.
Wie soll ich denn Bezug auf einen Artikel nehmen, der nur eine Woche
alt ist, wenn er schon wieder geloescht ist?

Bitte erhoeht die Lebzeiten der Artikel wieder auf ein vernuenftiges Masz!

Mindestens 4 Wochen fordere ich fuer Rubriken, in denen etwas
bekanntgemacht wird:
anzeigen, d.xxx, gilden.xxx, morgengrauen.verein,
party, polizei.bekanntmachungen, seminar, treffen

Mindestens 3 Wochen fordere ich fuer Rubriken, die bestimmte
Themen behandeln, und wo gerne diskutiert wird:
diskussion, entwicklung, etikette, hardsoftware, kochrezepte,
polizei.beschwerden, quiz, seher.entwicklung, suche-biete,
wolpertinger.fanclub, www

Mindestens 2 Wochen fordere ich fuer Rubriken, die man einmal
liest und wenig Bezug nimmt und fuer allgemeines:
allgemeines, kultur, magier.urlaub, schmarrn,
seher.urlaub, stufen, witze

Mindestens 1 Woche fordere ich fuer "muell".

Acrimon, der Rote Ritter

PS: Loeschende Magier sind ein anderes Thema. Siehe polizei.beschwerden

-----------------------------------------------------------------------------



Re: Leere MPA (Silvana, 30. Mar 1997, 21:39:21):
~#! rn=Acrimon rt=859514272 rg=entwicklung
~#! tid=859514272
*seufz* Wieso muss sowas immer gleich gefordert werden? Reicht es nicht,
einfach mal freundlich nachzufragen? Meine Ohren schalten ueblicher-
weise sofort auf Durchzug, wenn sie das Wort 'fordere' vernehmen.

  Silvana - illusioniert, verzaubert

-----------------------------------------------------------------------------



Re: Leere MPA (Boing,  1. Apr 1997, 11:16:15):
~#! rn=Acrimon rt=859514272 rg=entwicklung
~#! tid=859514272
Wenn ich das Wort 'fordere' sehe, les ich gar nicht weiter ...
  Boing

-----------------------------------------------------------------------------



Waffen (Grimmborn,  1. Apr 1997, 17:25:44):
~#! on=Alpha ot=859907962 og=allgemeines
Da wir jetzt endlich die Ausruestung und Waffen, die wir tragen, nicht mehr
bei verkaufe alles mitverkaufen, kommt Alpha da doch ne Idee. Koennte man
nicht einen Befehl stecke WAFFE zurueck einfuehren, der die gerade gezueckte
Waffe zuruecksteckt und einen Befehl zuecke WAFFE, mit dem man die durch
stecke WAFFE zurueck zurueckgesteckte Waffe halt ganz einfach wieder zueckt.
Oder gibt es diesen befehl schon? Es nervt micht, fuer jede neue Waffe ein
neues Zuecke/Unzuecke Ali zu schreiben. Alpha

-----------------------------------------------------------------------------



Re: Waffen (Gloin,  1. Apr 1997, 18:07:35):
~#! rn=Grimmborn rt=859908344 rg=entwicklung
~#! tid=859908344
Wieso, ich denke Du hast tf ? :)

Gloin ... verweist auch auf die schoenen ali-alis.

-----------------------------------------------------------------------------



Re: Leere MPA (Gloin,  1. Apr 1997, 18:09:36):
~#! rn=Acrimon rt=859514272 rg=entwicklung
~#! tid=859514272
Bitte erhoeht die Lebzeiten der Artikel:

Mindestens 4 Wochen erbitte ich fuer Rubriken, in denen etwas
bekanntgemacht wird:
anzeigen, d.xxx, gilden.xxx, morgengrauen.verein,
party, polizei.bekanntmachungen, seminar, treffen

Mindestens 3 Wochen erbitte ich fuer Rubriken, die bestimmte
Themen behandeln, und wo gerne diskutiert wird:
diskussion, entwicklung, etikette, hardsoftware, kochrezepte,
polizei.beschwerden, quiz, seher.entwicklung, suche-biete,
wolpertinger.fanclub, www

Mindestens 2 Wochen erbitte ich fuer Rubriken, die man einmal
liest und wenig Bezug nimmt und fuer allgemeines:
allgemeines, kultur, magier.urlaub, schmarrn,
seher.urlaub, stufen, witze

So, die letzte Zeile streichen wir.

Gloin ... saeuselt den Magiern was vor.

-----------------------------------------------------------------------------



Re: Waffen (Fyt,  1. Apr 1997, 20:48:02):
~#! rn=Grimmborn rt=859908344 rg=entwicklung
~#! tid=859908344
Vielleicht 'n Befehl 'waffe', mit dem man die waffe festlegt, und
'zuecke' und 'stecke weg' ohne Argument  benutzen dann standardmaessig
diese.

Fyt, sich gerade fragend, wozu ein normaler Elf ueberhupt Waffen braucht...

-----------------------------------------------------------------------------



Re: Re: Leere MPA (Raffi,  2. Apr 1997, 21:02:58):
~#! rn=Boing rt=859886175 rg=entwicklung
~#! tid=859514272

Hiermit fordere ich Boing auf nicht mehr weiterzulesen.

Hmm ... wird das jetzt ein Gewissenskonflikt ?
Gruss
H.
:)

-----------------------------------------------------------------------------



Re: Leere MPA (Snuggle,  3. Apr 1997, 10:02:47):
~#! rn=Acrimon rt=859514272 rg=entwicklung
~#! tid=859514272
Soso, Du forderst?

Dann werd mal Magier und erfuelle Deine Forderungen

*kopfschuettel*

-----------------------------------------------------------------------------



Re: Re: Leere MPA (Kretek,  8. Apr 1997, 01:15:07):
~#! rn=Boing rt=859886175 rg=entwicklung
~#! tid=859514272
**grins** Der Mann ist gut, der kommt in die Suppe!

K.

-----------------------------------------------------------------------------



Re^3: Leere MPA (Methedras,  8. Apr 1997, 19:49:11):
~#! rn=Kretek rt=860454907 rg=entwicklung
~#! tid=859514272
Ey, Zweitie, das is' mein Spruch!
             Bergchen Methedras - HUNGA! 

-----------------------------------------------------------------------------



Re^5: Leere MPA (Methedras,  8. Apr 1997, 21:05:19):
~#! rn=Atoz rt=860526210 rg=entwicklung
~#! tid=859514272
Na ja, wir koennen ihn ja vorher in Whisky einweichen, von innen
und von aussen. :) Dann wird er schoen zart und schreit nicht mehr so.

-----------------------------------------------------------------------------



Neuer Master gefaellig? (Anatol, 10. Apr 1997, 01:07:10):

Eigentlich sollte der Kram in eine Magierrubrik, aber da kann ich weder lesen
noch schreiben - gluecklicherweise ;-)

An vielen Stellen speichern Magier Spielernamen ab. Mit oder ohne Daten - sie
werden gespeichert, sei es in einer Quest (wer hatte welchen Loesungsweg?)
oder sonstwo oder in der Gilde... 
Wenn sich ein Spieler loescht, tritt er automatisch aus der Gilde aus. Aber
bekommen die vielen Questobjekte das auch mit und tragen die Werte wieder aus?
Oder weiss der Sandtiger, dass die L., die den Gruss gesetzt bekam, nicht mehr
die L. ist, die jetzt herumlaeuft? 

Nein, ich weiss nicht, ob das verbesserungswuerdig ist, schliesslich sind
Selbstloschungen hoeherer Spieler nicht gerade alltaeglich.

Hat letztens von seinem Freundschaftsband 6 geloeschte Spieler ausgetragen
(sollte ich den Rest zu ihrem Schutz auch...?),
Anatol

-----------------------------------------------------------------------------



Lange Texte im Editor (Wargon, 11. Apr 1997, 11:26:37):
  Hi!
Da ueberlange Texte im Editor der MPA/Post/Seherhaeuser ziemliche Lagquellen
sind, ist die maximale Laenge ab jetzt auf 1000 Zeilen begrenzt. Betroffen
davon sind:
- die Post (ab sofort),
- die Zeitung,
- die Seherhaeuser (jeweils spaetestens ab dem naechsten Reboot),
- was-weiss-ich-wo-der-editor-noch-benutzt-wird (auch ab dem naechsten
Reboot).
Bei Post und Zeitung sollte das auf keinen Fall Probleme geben (ueberlange
Logs kann man auch ausserhalb des Muds verschicken; das schont auch die
hiesigen Mail-Folder). Falls jemand Probleme mit Beschreibungen im Seherhaus
hat: Bescheid sagen! (Sollte aber auch recht unwahrscheinlich sein und
hoechstens bei Befehlsbeschreibungen auftauchen).
  Wargon

-----------------------------------------------------------------------------



Keine Selbstloeschung!!!!! (Alpha, 22. Apr 1997, 22:09:32):
Hm, wenn ich das so lese mit Sicherheitsproblem und Passwort aendern und und
und, da wuerde ich doch mal fragen, ob es nicht moeglich waere, dass man als
Spieler (auf eingenen Wunsch natuerlich) den Befehl Selbstloeschung fuer sich
selbst auf alle Zeiten sperren koennte. 
Alpha, hat Angst, dass er mal an nem schlechten Tag nen Fehler begehen
koennte.

(vor allem, ich habe nie vor, mich selbst zu loeschen)

-----------------------------------------------------------------------------



Re: Keine Selbstloeschung!!!!! (Orktoeter, 23. Apr 1997, 09:27:22):
~#! rn=Alpha rt=861739772 rg=entwicklung
~#! tid=861739772
Ich weiss nicht, ob das sinnvoll ist.
Aber Angst vor einem Versehen brauchst du keine zu haben, du musst nach dem
Selbstloeschungsbefehl noch 2 mal dein Passwort eingeben, das macht man nicht
versehentlich...
OrkT.

-----------------------------------------------------------------------------



Re: Re: Keine Selbstloeschung!!!!! (Kleindummi, 23. Apr 1997, 09:30:37):
~#! rn=Orktoeter rt=861780442 rg=entwicklung
~#! tid=861739772

Naja, vielleicht war mit versehen eher gemeint, dass man in schlechter laune
ist, sich beleidigt fuehlt oder so, dann gibt man auch das 
passwort 2 mal ein. Ist mit mit nem zweiti mal passiert.

Klein und Dumm halt ;)

-----------------------------------------------------------------------------



Re^3: Keine Selbstloeschung!!!!! (Wargon, 23. Apr 1997, 09:41:48):
~#! rn=Kleindummi rt=861780637 rg=entwicklung
~#! tid=861739772
Fuer schlechte Laune gibts immer noch 'spielpause -1'
  Wargon

-----------------------------------------------------------------------------



Re: Keine Selbstloeschung!!!!! (Sidolin, 23. Apr 1997, 11:36:47):
~#! rn=Alpha rt=861739772 rg=entwicklung
~#! tid=861739772
ali selbstloeschung rufe Ich bin ein Depp.

Sidolin. Hilft immer gern

-----------------------------------------------------------------------------



Re: Keine Selbstloeschung!!!!! (Mahatma, 23. Apr 1997, 12:54:04):
~#! rn=Alpha rt=861739772 rg=entwicklung
~#! tid=861739772
ali selbstloeschung teile alpha mit Lass das, du Depp!
Sollte helfen.

Mahatma

-----------------------------------------------------------------------------



Re^3: Keine Selbstloeschung!!!!! (Laurin, 23. Apr 1997, 18:01:58):
~#! rn=Kleindummi rt=861780637 rg=entwicklung
~#! tid=861739772
alias selbstloeschung :haette fast etwas ganz Dummes getan.

-----------------------------------------------------------------------------



Re: Re: Keine Selbstloeschung!!!!! (Alpha, 23. Apr 1997, 20:16:29):
~#! rn=Orktoeter rt=861780442 rg=entwicklung
~#! tid=861739772
Ich glaub, man muss es nur einmal tippen. Grade das hat mich erschreckt!!!!
Niemand will Alpha zurueckhalten :(

-----------------------------------------------------------------------------



"alles" nur noch "fast alles" (Wargon, 24. Apr 1997, 11:06:31):
  Hi!
Da es in Zeiten vollen Inventories/voller Beutel immer wieder zu Problemen
kommt, wenn man etwas mit "allem" machen will (z.B. verkaufe alles), wird mit
"alles" jetzt nicht mehr unbedingt wirklich ALLES selektiert, sondern maximal
50 Gegenstaende.
Im Normalbetrieb sollte diese Einschraenkung nicht auffallen, und wenn man
wirklich einmal mehr Sachen dabei hat, wuerde die Aktion irgendwann kurz nach
dem fuenzigsten Item eh wegen zu grosser Berechenungsdauer abgebrochen.
Um dieses Feature fuer sein eigenes Inv. zu aktivieren, muss man einmal "ende"
machen, bei Beuteln muss man wohl auf den naechsten Reboot warten.
  Wargon

-----------------------------------------------------------------------------



beutel (Handi, 24. Apr 1997, 12:14:33):
Hi, wenn wir schon beim Thema verkaufen sind:
Kann man es nicht so regeln, dass bei verkaufe alles, ein Behaeltnis erst
entleert
wird, und der Inhalt verkauft wird, bevor das behaeltnis selbst verkauft wird?

Handi

-----------------------------------------------------------------------------



Re: beutel (Rochus, 24. Apr 1997, 14:25:44):
~#! rn=Handi rt=861876873 rg=entwicklung
~#! tid=861876873
Den Vorschlag gab es schon, allerdings hat die Vereinigung der
Haendler des Morgengrauens dem energisch widersprochen und fuer
diesen Fall Streiks angedroht.
Offensichlich wollen die sich nicht ihre Mehreinnahmen durch
vergessliche Spieler nehmen lassen :-)

-----------------------------------------------------------------------------



Re^3: Keine Selbstloeschung!!!!! (Tenno, 24. Apr 1997, 16:02:53):
~#! rn=Alpha rt=861819389 rg=entwicklung
~#! tid=861739772
Loesch Dich doch.

Verlegt mal einer den Muell nach Schmarrn ? Wer sich durch den
Kopf schiesst wird auch nicht einmal nach dem PW gefragt.

T.

-----------------------------------------------------------------------------



Re: Re: Keine Selbstloeschung!!!!! (Grimmborn, 24. Apr 1997, 17:13:58):
~#! rn=Orktoeter rt=861780442 rg=entwicklung
~#! tid=861739772
Hmm, Orktoeter, glaenzende Idee. Um das zu demonstrieren bitte ich Dich, das
mal vorzufuehren. "selbstloeschung" eingeben und nur einmal das Passwort (ist
ja ungefaehrlich). Ich wuerde Dich, wenn Du nichts dagegen hast, dabei gerne
snoopen, am liebsten rl...

Einer kleinen Erheiterung nie abgeneigt,
                                         Grimmborn der Atheist

-----------------------------------------------------------------------------



Re: "alles" nur noch "fast alles" (Schlips, 24. Apr 1997, 17:42:01):
~#! rn=Wargon rt=861872791 rg=entwicklung
~#! tid=861872791
Koennte man das auch so machen, dass man 'alles' ausziehen kann.
Ich haette den Befahl schon mehrere Male gerne gehabt - und bei mir
funzt 'ziehe alles aus' net.
Und alles fallen zu lassen und wieder zu nehmen ist wegen der
umherschleichenden
Sammel-NPCs auch net in allen Situationen die beste loesung ...

Schlips

-----------------------------------------------------------------------------



Re^3: Keine Selbstloeschung!!!!! (Orktoeter, 24. Apr 1997, 19:58:12):
~#! rn=Grimmborn rt=861894838 rg=entwicklung
~#! tid=861739772
Hmm naja, man wird alt, wenn ihr meint, das das Passwort einmal reicht, na
gut.
Aber vormachen werde ich dir das nicht, auch beim letzen mal wurde ich ja
einfach wieder restauriert.. (und gar eine Woche juenger gemacht...)

OrkT senft.

-----------------------------------------------------------------------------



Re: Re: "alles" nur noch "fast alles" (Patryn, 24. Apr 1997, 21:47:04):
~#! rn=Schlips rt=861896521 rg=entwicklung
~#! tid=861872791
in implementierter form liegt das schon lange in meinem verzeichnis.
es geht sogar 'behalte gi an' 'behalte guertl an', aehnlich dem
behalte beim verkaufen. und das normale behalte erkennt sogar das
woertchen 'alles', also 'gehalte alles|nichts'.
nun ja...wo ist nu das problem? finde mal nen erz der sowas einbaut, bei
kleineren aenderungekam ich ziemlich schnell zum erfolg, aber bei
so etwas groesserem siehts dann ziemlich duster aus.

------
patryn

-----------------------------------------------------------------------------



Re^4: "alles" nur noch "fast alles" (Patryn, 25. Apr 1997, 02:03:13):
~#! rn=Rikus rt=861918899 rg=entwicklung
~#! tid=861872791
mehr, als es einem meiner nach zustaendigen erzmagier zu mailen, kann
ich nicht tun. ich bin schon froh dass ich so viele kleine sachen
einbringen konnte, aber bei ein paar sachen scheiterts dann auch immer,
bei mir gammeln zB seit geraumer zeit docu-files zu von mir eingebrachten
aenderungen rum, egal wem ich die an den kopf werfe, keiner schafft es, den
kram mal eben rueberzukopieren. das ist dann schon mehr als schwach, aber
was solls, wenn keiner mag, mag ich auch nicht...
zB wuerde ich mich auch hinsetzen und das allseits geforderte
 stecke waffe weg, zuecke (letzte) waffe enbaun, aber wenns dann fuer
die katz ist: nein danke

------
patryn, hin und wieder fuer null und nix proggend

-----------------------------------------------------------------------------



Re^5: "alles" nur noch "fast alles" (Grimmborn, 25. Apr 1997, 10:35:47):
~#! rn=Patryn rt=861926593 rg=entwicklung
~#! tid=861872791
Kennst Du die Rubirk magier.entwicklung? Die ist genau fuer das da, was Du
Diener Meinung nach nicht "mehr" machen kannst.

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re^6: "alles" nur noch "fast alles" (Patryn, 25. Apr 1997, 11:04:05):
~#! rn=Grimmborn rt=861957347 rg=entwicklung
~#! tid=861872791
*lach* die bringt noch weniger als mails an die leute, das hab ich bereits
vor laengerer zeit feststellen koennen.

------
patryn

-----------------------------------------------------------------------------



Re^5: Keine Selbstloeschung!!!!! (Anatol, 26. Apr 1997, 04:16:36):
~#! rn=Raffi rt=862016776 rg=entwicklung
~#! tid=861739772
Oh Mann ist der Gag alt, da hab ich Nichts dazu zu sagen... :)
i.V. Anatol


-----------------------------------------------------------------------------



Gross und Klein (Taz, 26. Apr 1997, 21:14:02):
Hi,

koennte mal jemand einbauen, dass folgendes geht:

danke Kalliope
Bei wem willst Du Dich bedanken?

man muss denjenigen kleinschreiben, gerade wenn ich es mir
aus X rauspaste isses laestig, dass ist bei ziemlich
allen Verben so.

Thx.

-----------------------------------------------------------------------------



Re^5: "alles" nur noch "fast alles" (Murkes, 30. Apr 1997, 10:21:59):
~#! rn=Patryn rt=861926593 rg=entwicklung
~#! tid=861872791
Och Patryn, Du bist schon ein armes kleines TucTuc.
Mitleidig,
Murkes

-----------------------------------------------------------------------------



Re^6: "alles" nur noch "fast alles" (Patryn, 30. Apr 1997, 10:42:57):
~#! rn=Murkes rt=862388519 rg=entwicklung
~#! tid=861872791
wer oder was ist murkes?

------
patryn, arrogant

-----------------------------------------------------------------------------



Entgifte-spruch (Orktoeter, 30. Apr 1997, 11:35:42):
Ich denke, ich spreche fuer viele andere, wenn ich sage, das ich geren den
Entgifte-spruch wieder haette.
Nu komm, gib dir nen Ruck, Wargon, deine Kleriker koennen schliesslich auch so
genug.. (und wenn ich an die vielen MP denke, die ich verbraten habe um den
entgifte-spruch auf sehr gut zu bekommen..)
Ausserdem ist es schoen, wenn man auch als Abenteurer mal eine gute Tat
vollbringen und jemand anderen heilen kann.

OrkT.

-----------------------------------------------------------------------------



Re: Entgifte-spruch (Nirdavo, 30. Apr 1997, 12:03:54):
~#! rn=Orktoeter rt=862392942 rg=entwicklung
~#! tid=862392942
  Ich unterstuetze diesen Vorschlag... Ich hab auch schon oefters mal
jemandem mit dem entgifte geholfen. Kleriker sind ja leider nicht immer da,
wenn man sie mal wirklich braucht. Also komm schon, Wargon, wir moechten doch
nur wieder Gutes tun koennen.

         Nirdavo, moechte auch wieder entgiften koennen

-----------------------------------------------------------------------------



Laggrund entdeckt ! (Orktoeter,  2. Mai 1997, 13:48:04):

Wie so viele andere auch, habe ich mich gefragt, wie es immer wieder zu diesen
 sogenannten Lags kommt, die ja bekanntlich den Spielspass so negativ
 beeinflussen. Mir ist es nun nach sehr langwierigen, aufreibenden und
 ermuedenden Forschungen gelungen, den Grund fuer diese Aergernisse zu
finden.
Der Grund ist nicht etwa, wie viele meinen, das wir zu wenig Speicherplatz
 haben, oder das gerade einige Magier zu volle Mailordner haben, nein,
 der Grund ist dieser Knuddeldrache.
Ich habe es auch nur durch wissenschaftliche gruendlichkeit erkannt, haette
 ich es doch nie fuer moeglich gehalten, das so ein netter freundlicher
 herzensguter Knuddeldrache fuer diese boesen Lags verantwortlich sein kann.

Nach dem also die Ursache erkannt war, forderte der wissenschaftliche
Verstand,
 die Ursache zu ergruenden. Das erforderte weitere langwierige Forschungen,
 voller Fehlschlaege und enttaeuschungen und ich kam der Loesung um keinen
 Schritt naeher.
Dabei war die Loesung doch so einfach, braucht man sich den Namen dieses
 friedlichen wuscheligen singefreudigen Knuddeldrachen doch nur mal genau
 anzusehen : Ancalagon , auf den ersten Blick ganz harmlos, aber wenn man es
 sich mal etwas anders ansieht, faellt es einem wie Schuppen von den
 Augen : Anca lag on ; Und da haben wir es, fuer jeden, der der englischen
 Sprache halbwegs maechtig ist deutlich zu sehen : lag on.

Nach dem auch das geklaert war, hiess es eine vernuenftige Loesung zu ent-
 wickeln,was sich aber als gar nicht so leicht herausstellen sollte. Sicher
 waere es ein Loesung, den ganzen Knuddeldrachen kurzer Hand aus dem MG
 zu verbannen, aber wer wuerde das wirklich wollen ? Ich denke alle
 stimmen mit mir darin ueberein, das ein MG mit Knuddeldrache (und Lag)
 besser und schoener ist als ein MG ohne Knuddeldrachen, selbst wenn dann
 die Lags wegfielen.
Es dauerte lange und mir wollte einfach keine sinnvolle Weise einfallen, das
 Problem zu loesen, da hatte ich eines Nachts einen Traum, ich sah vor mir
die
 letzen fuenf Buchstaben des Namens des Knuddeldrachen,  dieses verflixte lag
 on, diese Buchstaben bildeten ein regelmaessiges Sechseck (ich gebe zu
 bedenken, das es ein Traum war und somit dieser offensichtliche Wiederspruch
 zu verzeihen ist), dieses Sechseck begann ploetzlich sich zu drehen,
 erst langsam, dann immer schneller, bis es sich so schnell drehte, das
 man nur noch einen verwaschenen Kreis sah, dann wurde es wieder
 langsamer und blieb schliesslich stehen. Doch wie ueberrascht war ich,
 als ich sah, das diesmal wirklich alle sechs Ecken mit
 Buchstaben besetzt waren, da stand es nun zu lesen l a g o f f. In dem
Moment
 wachte ich auf und hatte die Loesung.
Eine simple Namensaenderung von Ancalagon zu Ancalagoff wuerde in Zukunft
 jeds Lag wirkungsvoll verhindern.

Daher meine bitte an die hochleveligen Magier und Mudgoetter, benennt doch
 den Knuddeldrachen um und es gibt bestimmt nie wieder Lagprobleme
 (und wenn man ihm etwas mitteilen will sollte Ancalag sicher ausreichen,
 antwortknuddellaliasse muessten natuerlichen geaendert werden, aber das
 duerfte fuer die betroffenen Spieler kein grosses Problem sein).

OrkT heute man streng wissenschaftlich logisch und einen Knuddeldrachen
          knuddelnd, wie auch immer er heissen mag).

-----------------------------------------------------------------------------



Re: Laggrund entdeckt ! (Ronda,  3. Mai 1997, 12:57:22):
~#! rn=Orktoeter rt=862573684 rg=entwicklung
~#! tid=862573684
*Bloedel on*   
Klar, Ancalagoff faend ich suess :)
Ausserdem passt's dann auch gut zu Kreml (spielen ja auch kleine
Knuddeldrachen gern - denk wehmuetig an Karlsruhe zurueck - wolln wir Pissoff
zum Premier machen? Oder doch besser Fuckoff?)
So, nach dem ganzen Muell, durch den ich mich in der MPA quaelen musste,
musste das einfach sein...
          Ronda *_eigentlich_ dabei, Studienarbeit zu schreiben...*
Ps: Koennte man nicht irgendwie einrichten, dass man alle neuen Artikel so
jeden zweiten Tag zugeschickt bekommt als Mail nach Hause und sie dann hier im
Mud nicht lesen muss? Dann koennt ich mich auch bei der Arbeit uebers Mud
freuen/aergern, wo ich zwar Mails bekomme, aber kein Telnet geht =:)
*Bloedeleioff! Prost!*

-----------------------------------------------------------------------------



Re: Re: Laggrund entdeckt ! (Grimmborn,  4. Mai 1997, 09:02:37):
~#! rn=Ronda rt=862657042 rg=entwicklung
~#! tid=862573684
Da gibts auf der MG-page ein ganz nettes Java-applet fuer die armen Socken,
die zwar kein telnet aber ein schoen buntes betriebssystem haben.

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re^3: Laggrund entdeckt ! (Marcus,  4. Mai 1997, 16:33:55):
~#! rn=Grimmborn rt=862729357 rg=entwicklung
~#! tid=862573684
Das funktioniert aber auch nicht, wenn die Firma ein Firewall Richtung
Internet hat ;)

Marcus

-----------------------------------------------------------------------------



Re: Laggrund entdeckt ! (Ancalagon,  5. Mai 1997, 08:49:59):
~#! rn=Orktoeter rt=862573684 rg=entwicklung
~#! tid=862573684
Knuddels vorweg!
Orktoeter! *snieff* Ich bin geruehrt.....
Aber mein name ist und BLEIBT Ancalagon!!!!!!
Und das hat ueberhaupt nichts mit irgendwelchen lags zu tun (was immer das
auch sein mag...) sondern hat rein historische Gruende!
Trotzdem wird mir dieser Artikel ein Ansporn sein die bandbreite meiner
Knuddler, und demzufolge auch deren Anzahl, in den naewchsten tagen zu
erhoehen!
Freut euch schon mal drauf.....
                                                 Ancalagon
                                      Draco knuddellensis major

-----------------------------------------------------------------------------



Re^4: Laggrund entdeckt ! (Kobayashi,  5. Mai 1997, 08:55:52):
~#! rn=Marcus rt=862756435 rg=entwicklung
~#! tid=862573684
Genau das Problem hab ich auch. Und als ich mit das das letzte mal angeschaut
habe, zeigt es immer noch auf Port 4711. Ich nehm an, das es mittlerweile
angepasst wurde.

Kobayashi

-----------------------------------------------------------------------------



Plan/Idee-begrenzung (Orktoeter,  5. Mai 1997, 14:52:26):
Da sich mindestens ein Magier einen Plan zugelegt hat, der wohl das gesamte
kommunistische Minfest umfasst (es geht mir hier weniger um den Inhalt als dem
Umfang), denke ich, das es an der Zeit ist, eine Maximal Obergrenze fuer
Plan/Idee einzubauen.
Mirt Recht waren die hoeheren Magier ueber die Mailbombe erzuernt. Ich denke,
das ein mehrere kByte grosser Plan auch nichts anderes darstellt.
Wenn man jetzt mit dem Argument kommt man koennte doch auch mit finger -n
arbeiten, dann ist das doch gleich so gut als ob man sagt lasst uns die Plaene
gleich abschaffen..

OrkT heute mal gegen unnoetige Netload vorgehend.

-----------------------------------------------------------------------------



Re: Plan/Idee-begrenzung (Sidolin,  5. Mai 1997, 14:54:47):
~#! rn=Orktoeter rt=862836746 rg=entwicklung
~#! tid=862836746
Manifest heisst das Teil.... :-)

Sidolin. Voelker hoert die Signale.

-----------------------------------------------------------------------------



Re: Plan/Idee-begrenzung (Patryn,  5. Mai 1997, 14:56:13):
~#! rn=Orktoeter rt=862836746 rg=entwicklung
~#! tid=862836746
das hatten wir doch schon mal....ergebnislos :)
irgendwie kapier ich auch nicht, was jetzt so das grosse problem da dran ist,
den plan
ueber ein more() laufen zu lassen. wahrscheinlich kann man den einmal
gefassten standpunkt aus
prinzip nicht mehr verlassen.

------
patryn, verwundert.

PS: der umbau kostet max. 3 minuten und spart ne menge aerger.

-----------------------------------------------------------------------------



Re: Re: Plan/Idee-begrenzung (Jasper,  5. Mai 1997, 15:29:50):
~#! rn=Patryn rt=862836973 rg=entwicklung
~#! tid=862836746
das problem wird eher sein dass orktoeter oder wer auch immer, die leute, die
das aendern koennten, auf meinen plan genauso anspricht wie er es bei mir 
getan hat, und vermutlich ist dann keiner bereit ihm 3 minuten zuzuhoeren oder
2minuten seiner zeit zu investieren um was zu aendern, errr 3minuten :)

PS: ich aender den plan, sobald mir eine gewisse person endlich eine version
    ohne rechtschreibfehler schickt :)

-----------------------------------------------------------------------------



Re^3: Plan/Idee-begrenzung (Astar,  5. Mai 1997, 15:31:56):
~#! rn=Jasper rt=862838990 rg=entwicklung
~#! tid=862836746
Ich hab darueber schon mal mit Loco gesprochen, er macht das, wenn sich hier
wieder _alle_ Erzies beruhigt haben.

Astar

PS: Zumindest sowas in der Richtung wars...

-----------------------------------------------------------------------------



Re^3: Plan/Idee-begrenzung (Patryn,  5. Mai 1997, 16:44:09):
~#! rn=Jasper rt=862838990 rg=entwicklung
~#! tid=862836746
an fuer sich find ich deinen plan doch ganz lustig, aber man sollte sich
schon dagegen wehren koennen :)
...ich will ihnnatuerlich mal endlich vollstaendig durchlesen, leider
erwisch ich immer nur die letzten 20 zeilen ;)

------
patryn

-----------------------------------------------------------------------------



Re^4: Plan/Idee-begrenzung (Ronda,  5. Mai 1997, 17:33:45):
~#! rn=Patryn rt=862843449 rg=entwicklung
~#! tid=862836746
Wie waers einfach mit nem More beim plan? Dann kann ich mit q einfach
rausgehen?
Vielleicht gibts ja noch jemanden, der nen Roman reinschreiben will...
Nur grad dran gedacht,
            Ronda

-----------------------------------------------------------------------------



Re: Plan/Idee-begrenzung (Hadra,  6. Mai 1997, 02:49:59):
~#! rn=Orktoeter rt=862836746 rg=entwicklung
~#! tid=862836746
nun ja, auch hier bietet die lib eine loesung (zumindest mir)
da imho in den meisten plaenen/projects und wie sie heissen eh nur unsinn drin
steht, habe ich mir mit einem alias finger finger $1 -n beholfen. so sehe ich
zwar gar nix mehr, aber hab auch meine ruhe vor den megascrollern.

-----------------------------------------------------------------------------



Re: Re: Plan/Idee-begrenzung (Acrimon,  6. Mai 1997, 08:55:10):
~#! rn=Hadra rt=862879799 rg=entwicklung
~#! tid=862836746
Das hilft aber doch nichts gegen ultralange Plaene, wenn man die meisten
Plaene eben schon sehen will.

Acrimon, der Rote Ritter wuenscht sich die Planausgabe in ein more.

-----------------------------------------------------------------------------



stty, ANSI und Farben (Hate,  6. Mai 1997, 11:44:00):
Hi,

ich habe das stty Kommando so erweitert, dass es, nachdem man den
Terminaltyp eingestellt hat einen kleinen Test ausgibt. Sollte dann dort
etwas komisch aussehen oder gar falsch rueberkommen, kann man das sofort
wieder aendern (z.B. stty dumb) oder bei manchen Terminals mittels 
"stty reset" die Farben wieder korrigieren.

Ausserdem habe ich eine Hilfeseite zu stty geschrieben.

Hate

-----------------------------------------------------------------------------



Loginmeldung (Pra,  6. Mai 1997, 12:44:50):
moin!

Wer hat den eigentlich die wunderschoene farbige login-Meldung verbrochen,
die auch bei einem dumb-Terminalsetting saemtliche Steuerzeichen mit 
rueberschickt? 

Das sieht auf einem Nicht-vt100-Terminal ziemlich haesslich aus.
So a la [31mDas MG hat jetzt eine [35m neue Adresse [23m ... etc.

Pra. Aesthet.

-----------------------------------------------------------------------------



Re: Loginmeldung (Hate,  6. Mai 1997, 14:36:17):
~#! rn=Pra rt=862915490 rg=entwicklung
~#! tid=862915490
Tja, ich gebs zu, das war ich, aber die Meldung ist in einem file und
deswegen wird an der Stelle nicht gecheckt.

Hate.

-----------------------------------------------------------------------------



Alias (Alpha,  7. Mai 1997, 16:01:51):
Alpha fragt mal nur ganz kurz, ob es folgenden Befehl gibt, beziehungsweise,
ob er nicht eingefuehrt werden koennte:
copyali
Was der machen soll? Ganz einfach. Saemtliche gesetzte Alis anzeigen, aber in
einer besonderen Form; naemlich: ali <aliname> <aliinhalt>
Dann kann man seine gesammte Aliliste, oder halt stueckweise, auscutten und
beim Zweitie einpasten. Schwuppdiwupp, hat der auch eine komplette Aliliste.
Alpha, fragt mal nur so...

-----------------------------------------------------------------------------



Re: Alias (Pra,  7. Mai 1997, 19:42:59):
~#! rn=Alpha rt=863013711 rg=entwicklung
~#! tid=863013711
Bin ich dagegen. Es gibt schon genug Zweities.

Pra. Einzig. 

-----------------------------------------------------------------------------



Re: Alias (Bloodyharry,  8. Mai 1997, 02:49:33):
~#! rn=Alpha rt=863013711 rg=entwicklung
~#! tid=863013711
Diese Anfrage ist ganz sicher nicht so neu. :)
1tens waere es sicherlich einfacher, wenn der gewuenschte copyali-Befehl
direkt auf den Zweiti wirken wuerde. Also ohne grosses cut'n'paste - weil es
hier sicher einige win-loser gibt die damit Probleme haetten.
2tens willst Du sicher nur einen 2tie heranzuechten? Besser Du suchst Dir ein
paar Freunde. Das duerfte hier nicht schwer sein und ist allemal erfreulicher.

bh

-----------------------------------------------------------------------------



Re: Re: Alias (Kobayashi,  8. Mai 1997, 10:10:15):
~#! rn=Bloodyharry rt=863052573 rg=entwicklung
~#! tid=863013711
Es sollte fuer die meisten hier doch kein problem sein, sowas als
shells-script zuhause zu machen

Kobayashi.


-----------------------------------------------------------------------------



Orthographiefluch (Kobayashi, 12. Mai 1997, 10:24:34):
Ich hab den Orthographiefluch ueberarbeitet. Wer seinen Fluch verloren oder
bei der Questloesung nicht bekommen hat, meldet sich bitte bei mir. Ich gebe
ihn euch dann ggf. zurueck.

Kobayashi

-----------------------------------------------------------------------------



Re: Orthographiefluch (Pra, 12. Mai 1997, 18:32:16):
~#! rn=Kobayashi rt=863425474 rg=entwicklung
~#! tid=863425474
Kommt in dem Ottografiefluk jetzt auk ein 'sz' drin vor?

Bra.

P.Sz. Habe szo was skon immer vermiszt...

-----------------------------------------------------------------------------



Re: Re: Alias (Alpha, 12. Mai 1997, 19:40:47):
~#! rn=Bloodyharry rt=863052573 rg=entwicklung
~#! tid=863013711
Naja, Erstens: das mit den Zweities war auch eher fuer Zweities in anderen
Muds gedacht. Zweitens: was soll ich machen, wenn ich mal grade wieder
gestorben bin? Da hilft nur nen Zweitie, bis man wieder lebt...

-----------------------------------------------------------------------------



Re^3: Alias (Orktoeter, 13. Mai 1997, 13:09:47):
~#! rn=Alpha rt=863458847 rg=entwicklung
~#! tid=863013711
Was meinst du eigentlich, wozu die Todessequenzen gut sind ? Um eine Tasse
Kaffee trinken zu gehen ?
Es gibt inzwischen so viele und die sind teilweise supergut, es lohnt sich,
die zu lesen...

OrkT, hat selber eine verbrochen (und schon sehen muessen ..)

-----------------------------------------------------------------------------



Re^4: Alias (Alpha, 14. Mai 1997, 15:05:38):
~#! rn=Orktoeter rt=863521787 rg=entwicklung
~#! tid=863013711
Als Uraltspieler mit vollen Stats hat man nur 14 Tode - als ich soviel hatte,
fand ich Todessequenzen auch noch interessant. Aber jetzt wiederholen die sich
eh nur noch...
Alpha, will NUR neue Todessequenzen

-----------------------------------------------------------------------------



Re^5: Alias (Pampers, 14. Mai 1997, 15:07:34):
~#! rn=Alpha rt=863615138 rg=entwicklung
~#! tid=863013711
Nicht so oft sterben, Alpha....

Ist doch ne ganz einfache Loesung.

Pampers. Versteht die Aufregung mal wieder nicht.

-----------------------------------------------------------------------------



Re^6: Alias (Alpha, 14. Mai 1997, 15:12:44):
~#! rn=Pampers rt=863615254 rg=entwicklung
~#! tid=863013711
Wuerde ich gerne, geht aber nicht. Bei meinen Stats...
Es waer ja nicht schlecht, wenn man seine Stats verschieben koennte. Nur so
ein Vorschlag, um dem Thema der Rubrik treu zu bleiben.

-----------------------------------------------------------------------------



Re^5: Alias (Orktoeter, 14. Mai 1997, 15:14:33):
~#! rn=Alpha rt=863615138 rg=entwicklung
~#! tid=863013711
Es gibt  (lasst mich nicht luegen) ca 20 oder mehr und einige davon sind so,
das sie diverse verschieden ablaeufe haben (im prinzip sogar eigene sequenzen
sind)

OrkT.

-----------------------------------------------------------------------------



Re^7: Alias (Alpha, 14. Mai 1997, 15:22:18):
~#! rn=Mahatmu rt=863616033 rg=entwicklung
~#! tid=863013711
Der Todesgrund ist meist: Lebenspunkte<=Null. Oder irre ich mich, Gloin?

-----------------------------------------------------------------------------



Re^8: Alias (Fyt, 14. Mai 1997, 15:22:51):
~#! rn=Alpha rt=863616138 rg=entwicklung
~#! tid=863013711

Du irrst Dich.

Fyt.

-----------------------------------------------------------------------------



Re^8: Alias (Pampers, 14. Mai 1997, 15:22:55):
~#! rn=Alpha rt=863616138 rg=entwicklung
~#! tid=863013711
Du irrst dich.
Mit Null Lebenspunkten lebt man naemlich noch. :-)

Pampers.

-----------------------------------------------------------------------------



Re^9: Alias (Alpha, 14. Mai 1997, 15:23:36):
~#! rn=Pampers rt=863616175 rg=entwicklung
~#! tid=863013711
Na gut, entferne das =

-----------------------------------------------------------------------------



Re^11: Alias (Grimmborn, 14. Mai 1997, 15:25:36):
~#! rn=Mahatmu rt=863616266 rg=entwicklung
~#! tid=863013711
verlege thread gibts wohl leider (noch) nicht. Nebenbei ist der wirkliche
Grund fuer die Todessequenzen, dass im Spieler die() aufgerufen wurde...

Grimmborn der Atheist verlegt nur nach eigenem gusto

-----------------------------------------------------------------------------



Re^12: Alias (Schlips, 14. Mai 1997, 16:12:06):
~#! rn=Grimmborn rt=863616336 rg=entwicklung
~#! tid=863013711
Verstehe ich das jetzt richtig? Man kann also auch mit -10 LP noch durchaus
ganz
gut leben, wenn nur die() aus irgendeinem Grund nicht aufgerufen wurde ...

Schlips

-----------------------------------------------------------------------------



Re^13: Alias (Orktoeter, 14. Mai 1997, 16:13:02):
~#! rn=Schlips rt=863619126 rg=entwicklung
~#! tid=863013711
So ungefaehr ist es doch wohl bei magiern, oder ?

OrkT.

-----------------------------------------------------------------------------



Re^14: Alias (Grimmborn, 14. Mai 1997, 16:15:52):
~#! rn=Orktoeter rt=863619182 rg=entwicklung
~#! tid=863013711
Nicht ganz, die() wird immer dann aufgerufen, wenns aufgerufen wird. Hat nur
gelegentlich bei Magiern andere Auswirkungen.
Nebenbei hab ichs eben ausprobiert: Die Lebenspunkte koennen nicht unter 0
sinken, sobald sie negativ werden werden sie auf 0 gesetzt (waer auch doof,
wenn man einen auf die Nase bekommt, stirbt, betet und noch -50LP hat). Aber
ansonsten ist das korrekt, der Tod hat nur sekundaer was mit den LP zu tun und
primaer mit die().

Grimmborn wartet auf den Artikel von Hate, dass sowas nun wirklich nicht in
eine Spielerrubrik gehoert...

-----------------------------------------------------------------------------



Re^15: Alias (Mupfel, 14. Mai 1997, 18:39:09):
~#! rn=Grimmborn rt=863619352 rg=entwicklung
~#! tid=863013711
verlege grimmborn nach schmarrn

-----------------------------------------------------------------------------



Re^5: Alias (Key, 14. Mai 1997, 22:18:20):
~#! rn=Alpha rt=863615138 rg=entwicklung
~#! tid=863013711

Hmmm Alpha finger mich und beschwer dich nochmal ueber Todessequenzen ...

Key

-----------------------------------------------------------------------------



Re^6: Alias (Ringor, 14. Mai 1997, 22:19:28):
~#! rn=Key rt=863641100 rg=entwicklung
~#! tid=863013711
BTW: Fuer wann ist die Fete angesetzt?

->schmarrn
Ringor

-----------------------------------------------------------------------------



Re^7: Alias (Key, 15. Mai 1997, 03:00:12):
~#! rn=Ringor rt=863641168 rg=entwicklung
~#! tid=863013711

Sobald ich nen Raum hab ;)

Key

-----------------------------------------------------------------------------



Post-Schreibkabinen (Schlips, 15. Mai 1997, 17:12:25):
Was ist eigentlich der Sinn der Post-Schreibkabinen?
Bislang ist mir noch nicht recht viel Funktionalitaet aufgefallen - ausser
dass es nicht so scrollt, wenn in der Post mal grade wieder ne Party ist.

Meine Frage hat auch einen Grund: ich faende es gut, wenn beim Betreten
der Kabine automatisch ein 'weg - in der Post' gesetzt wuerde. Dann weiss
jeder der mich in der Zeit anquatscht, dass es etwas dauern kann bis ich
antworte - und ich muss das net immer extra machen. Ich gehoer halt noch
Leuten die ihre post live schreiben (und net mittels cut'n'paste).

Schlips

-----------------------------------------------------------------------------



Re: Post-Schreibkabinen (Anakyn, 15. Mai 1997, 17:21:18):
~#! rn=Schlips rt=863709145 rg=entwicklung
~#! tid=863709145
Oi,
Du gehst zum Mail schreiben in die Post?

Anakin. War seit ueber 2 Jahren in keiner Postkabine.

-----------------------------------------------------------------------------



Re^3: Post-Schreibkabinen (Schlips, 15. Mai 1997, 18:54:17):
~#! rn=Fyt rt=863709733 rg=entwicklung
~#! tid=863709145
Jaja - gut dass Du mich dra erinnerst - so lang bin ich noch net Seher und
hab mich noch nicht an alle Seherprivilegien gewoehnt. Ich moechte Dich
allerdings mal dran erinnern, dass das als Spieler net geht.
Wir koennen meinen Vorschlag aber auch ergaenzen oder verallgemeinern:

Es waere schoen, wenn eine 'weg'-meldung automatisch gesetzt wird, wenn
man sich in einem Editor befindet, sei es nun Mail, Zeitung oder was
weiss ich.

-----------------------------------------------------------------------------



Re^4: Post-Schreibkabinen (Silvana, 15. Mai 1997, 19:29:49):
~#! rn=Schlips rt=863715257 rg=entwicklung
~#! tid=863709145
Sowas in der Art gibt es. Nennt sich Kobold.
  Silvana

-----------------------------------------------------------------------------



Zwergenladen/Schmuck (Rikus, 15. Mai 1997, 23:41:34):
Hi,
falls es Fragen/Hinweise/Ideen/Aenderungswuensche oder was auch immer
bezueglich des Zwergenladens inclusive Schmuck gibt, so wendet Euch bitte
an mich, ich habe diese Sachen soweit erstmal von Alarin uebernommen...

ciao, Rikus

-----------------------------------------------------------------------------



Re: Zwergenladen/Schmuck (Fyt, 16. Mai 1997, 02:33:55):
~#! rn=Rikus rt=863732494 rg=entwicklung
~#! tid=863732494

Abhaengen.

Fyt.

-----------------------------------------------------------------------------



Teile mit - Erweiterung? (Ronda, 17. Mai 1997, 14:31:18):
Ich geb ja zu, dass ich fast nur noch chatte im Mud - aber dafuer waers
sinnvoll, wenn Teile Mit ne nette Funktion haette:
teile letztem mit ... oder antworte  (aber auch fuer Entfernung)
Also dass man dem letzen, dem man etwas mitgeteilt hat (oder eventuell
jemandem, der einen angesprochen hat) die Nachricht schickt...
Ich bin naemlich zu faul, jedesmal, wenn ich wieder mit jemandem anfange zu
kloenen, meine Alis zu aendern... und jedesmal tm blubber@woauchimmer zu
machen ist etwas nervig - und man (nuja - ich!) vertippt sich dauernd :)
Waere nen klasse Feature - nur noch einmal tm xyz bla und danach nur noch ein
allgemeines tl-ali (teile letztem mit) ?
Nur grad so aufgefallen,
                        Ronda

-----------------------------------------------------------------------------



Re: Teile mit - Erweiterung? (Ronda, 17. Mai 1997, 14:35:13):
~#! rn=Ronda rt=863872278 rg=entwicklung
~#! tid=863872278
Prompte Hilfe von Mahatma:
Das gibts schon (manchmal hilfts echt, wenn man was in die MPA setzt :) )
tmhist gibt die letzten teile mits
teile .1 mit geht an letzten, tm .2 an vorletzten etc.
Nur davon war halt in den Hilfen nichts zu finden? *schiel zu Wargon?*
Klasse,
         Ronda

-----------------------------------------------------------------------------



Re: Re: Teile mit - Erweiterung? (Gundur, 17. Mai 1997, 15:38:56):
~#! rn=Ronda rt=863872513 rg=entwicklung
~#! tid=863872278
Ausserdem kann man dem letzten mit erwider was mitteilen...
War doch deine Frage oder *gruebel* teile dem letzten mit...
wenn nicht verzeihe man mir den Artikle..bin grad aufgewacht :-)
Gruss
Gundur
ps: JA! Manchmal muss man nachmittags um 3 pennen!

-----------------------------------------------------------------------------



Re: Re: Teile mit - Erweiterung? (Pilgrim, 17. Mai 1997, 15:49:47):
~#! rn=Ronda rt=863872513 rg=entwicklung
~#! tid=863872278
Tja,

es geht sogar noch schneller als teile .1 mit  ->  teile . mit 

Pilgrim
..
*ups*

-----------------------------------------------------------------------------



Re: Zwergenladen/Schmuck (Gloin, 18. Mai 1997, 01:54:05):
~#! rn=Rikus rt=863732494 rg=entwicklung
~#! tid=863732494
Ich willl Nabelpiercing. Und Nasentatoos.
Und Karatekuehe. Welche zum Aufkleben
und an die Backe schmieren.
Natuerlich aus Mithril, was sonst ?

Gloin.

-----------------------------------------------------------------------------



Re: Re: Zwergenladen/Schmuck (Lug, 18. Mai 1997, 01:55:52):
~#! rn=Gloin rt=863913245 rg=entwicklung
~#! tid=863732494
Moin,

lieber Gloin: Kleb Dir doch ueberall Dezifix Holfurnierfolie an. Dann siehste
aus, wie eine Goldwing!

Grats
Lug

-----------------------------------------------------------------------------



Re^3: Zwergenladen/Schmuck (Gloin, 18. Mai 1997, 02:34:18):
~#! rn=Lug rt=863913352 rg=entwicklung
~#! tid=863732494
Baeh. So ein Vorschlag kann nur von La^Hug kommen.
Als wenn wir auf Gold aus waeren. Ma lese mal
besser die Stelle des Tolikien, an der sich Gimli
und Legolas unterhalten.

Gloin ... will trotzdem Nabelpiercing.

-----------------------------------------------------------------------------



Re^4: Zwergenladen/Schmuck (Lug, 18. Mai 1997, 02:56:59):
~#! rn=Gloin rt=863915658 rg=entwicklung
~#! tid=863732494
Moin,

aehem Gloin. Ich sprach von Holzfurnierfolie! Auf Gold bist DU gekommen. Also
was sagt Dir das?

Lug

-----------------------------------------------------------------------------



lege keulen ab (Garfield, 25. Mai 1997, 19:57:56):

Hi.

Wie waers mit einem Befehl, mit dem ich alle Objekte
einer Gruppe gleichzeitig ablegen kann?

Damit meine ich sowas wie xlege keulen ab
>> alle orkkeulen, Neandertalwaechterkeulen etc. fallen.
Waer auch praktisch zum Verkaufen, also:
xverk keulen

Nur so ne Idee.

Keulenschwingend,
Garfield
***


-----------------------------------------------------------------------------



Re: lege keulen ab (Babs, 26. Mai 1997, 05:45:14):
~#! rn=Garfield rt=864583076 rg=entwicklung
~#! tid=864583076
Sicher nuetzlich, aber warum die perverse Syntax "xlege" ?
In zivilisierten Muds tippt man "lege alle Keulen ab", wenn man alle Keulen
ablegen will. ;-)
Wer partout ohne "xlege" nicht leben kann, der kann sich dann ja ein
Ali drauf machen.

-----------------------------------------------------------------------------



Re: Re: lege keulen ab (Felagund, 26. Mai 1997, 12:02:20):
~#! rn=Babs rt=864618314 rg=entwicklung
~#! tid=864583076
Wieso denn ueberhaupt alle? Zumindest im padermud ist das so geregelt, dass
ohne anzahl alle objekte mit dieser id im inventory angesprochen werden, lege
3 keulen ab ginge da also z.B. auch. Ich persoenlich find das ungemein
praktisch, aber da ich hier nich mehr spiele isses an sich wurscht, ob das
hier auch eingebaut wird ;)
Fela...blendet jetzt NICHT die IP vom Xyllomer ein ;)

-----------------------------------------------------------------------------



Re^3: lege keulen ab (Babs, 28. Mai 1997, 05:54:10):
~#! rn=Felagund rt=864640940 rg=entwicklung
~#! tid=864583076
Jajaja, natuerlich kann man in zivilisierten MUDs auch sowas wie
"lege alle rostigen Schwerter, drei Aepfel und das dritte Messer ab" ;)

Auf das alle zu verzichten, waere allerdings nicht so intelligent, weil
viele deutsche Woerter wie "Messer" oder "Haken" im Singular und Plural
gleich lauten. Das wuerde dann doch etwas nerven...


-----------------------------------------------------------------------------



Re^4: lege keulen ab (Wurzel, 31. Mai 1997, 18:43:08):
~#! rn=Babs rt=864791650 rg=entwicklung
~#! tid=864583076
was man so "zivilisiertes mud" nennt... im xyllomer war ich nur wenige
minuten. wenn ein mud so zivilisiert ist, dass ich als erste message, bevor
ich mich umgeschaut habe, so etwas wie "wenn du nicht bald etwas isst,
passiert etwas schlimmes" oder so aehnlich zu lesen bekomme, ist meine
eindeutige reaktion ein logout.

wurzel

-----------------------------------------------------------------------------



Schmuck (Rikus,  1. Jun 1997, 13:33:51):
Hi,
ich konnte die Ladenbesitzer davon ueberzeugen, keinen Schmuck mehr anzu-
kaufen. Dafuer ist der Juwelier gern bereit, den Schmuck, den er selbst
gefertigt hat, zu einem guten Preis wieder aufzukaufen.

Rikus

PS: bei Ideen/Hinweisen zum Schmuck bitte bei mir melden. Wirksam ist die
    Aenderung erst bei ENDE/REBOOT...

-----------------------------------------------------------------------------



Re^5: lege keulen ab (Felagund,  2. Jun 1997, 15:10:06):
~#! rn=Wurzel rt=865096988 rg=entwicklung
~#! tid=864583076
a: Das is ne masslose uebertreibung ;)
b: Haettste mal gecheckt haettste gesehn, dasses schlimmer aussah als es war
;)

-----------------------------------------------------------------------------



Re^6: lege keulen ab (Jasper,  2. Jun 1997, 21:35:53):
~#! rn=Felagund rt=865257006 rg=entwicklung
~#! tid=864583076
xyllodingenskirchen suckt, nuff said ;P

rufe felagund nach abjurer :)

-----------------------------------------------------------------------------



Re^7: lege keulen ab (Wurzel,  2. Jun 1997, 21:38:18):
~#! rn=Jasper rt=865280153 rg=entwicklung
~#! tid=864583076
genau. besonders weil sie mich dort geloescht haben, nur weil ich vier jahre
nicht da war :)

wurzel

-----------------------------------------------------------------------------



Re^8: lege keulen ab (Mupfel,  3. Jun 1997, 01:13:22):
~#! rn=Wurzel rt=865280298 rg=entwicklung
~#! tid=864583076
naja habense hier ja auch :-)

-mupfel-
p.s. immerhin hat sich hier noch wer an dich erinnert :-)

-----------------------------------------------------------------------------



Re^9: lege keulen ab (Boing,  3. Jun 1997, 09:35:02):
~#! rn=Mupfel rt=865293202 rg=entwicklung
~#! tid=864583076
Falsch, der Originalcharakter war hier immer noch da, als Wurzel wiederkam.
  Boing

-----------------------------------------------------------------------------



Re^10: lege keulen ab (Felagund,  3. Jun 1997, 12:02:59):
~#! rn=Boing rt=865323302 rg=entwicklung
~#! tid=864583076
Was aber wohl daran lag, dass er nicht Wurzel der Waldlaeufer war..oder sowas
in der Art ;)
Fela

-----------------------------------------------------------------------------



Magierwerdung (Catweazle,  4. Jun 1997, 12:01:10):
Hi!

So, die Magierwerdung klappt jetzt wieder, im Grossen und ganzen, wie frueher
beschrieben.

Jeder Magier Level>25 kann jetzt wieder Seher zum Magier Level 15 machen.
Als level 15 kann man nicht viel ausser ein bisschen /doc etc. zu lesen.
Man kann nix clonen oder benutzen.

Der naechste Schritt des Magiers sollte es sein, falls er Interesse am Pro-
grammieren hat (wovon ich mal ausgehe), eine Levelerhoehung zu 'beantragen'.
Klingt bloed, ist aber so. 
Dieser Antrag ist vorzugsweise eine Mail an 'erzmagier', diese entscheiden 
nach einer Beratungszeit von maximal einer Woche, ob der Jungmagier erhoeht
wird oder nicht, zunaechst auf Level 20.

Als 20er kann er nun Sachen clonen und schreiben, kriegt ein home etc., kann
aber noch nicht alles lesen. Die erweiterten Leserechte werden wiederum vom
Erzmagier mit der Erhoehung auf Level 21 erteilt, dies allerdings erst nach 
einer angemessenen Beobachtungszeit.
Danach kann der Magier wie bisher von Regionsmagiern in Ihre Region auf-
genommen werden und auf Level 25 erhoeht werden.

Sollten noch fragen dazu sein, wendet Euch an den Vertrauenserzmagier 
Eurer Wahl ;)

Yours truly,
     Catweazle

PS: Bei etwaigen Prblemen sollten sich die neuen Magier natuerlich melden,
    das System ist neu, und daher moegliche Bugs und Fehlerquellen noch nicht
    beseitigt.

-----------------------------------------------------------------------------



Tod (Rochus,  4. Jun 1997, 13:24:14):
Der Tod hat ab heute eine neue Qualitaet :-)
Spuerbar werden die Folgen nach dem naechsten Reboot oder nach "Ende"
oder nach dem naechsten updatewuetigen Jungmagier :-)

  Rochus

-----------------------------------------------------------------------------



Re: Tod (Rantanplan,  4. Jun 1997, 13:24:48):
~#! rn=Rochus rt=865423454 rg=entwicklung
~#! tid=865423454

DEr Tod heisst jetzt Twix, sonst aendert sich nix !!!

Oe+

-----------------------------------------------------------------------------



Re: Tod (Woody,  4. Jun 1997, 23:02:27):
~#! rn=Rochus rt=865423454 rg=entwicklung
~#! tid=865423454
Idee: 'hilfe tod'
(soll heissen, mag nicht wer ne Hilfeseite dazu schreiben, damit
ich es nich erst ausprobiern muss? :))

woody.-

-----------------------------------------------------------------------------



Re: Re: Tod (Zentrit,  5. Jun 1997, 10:56:32):
~#! rn=Woody rt=865458147 rg=entwicklung
~#! tid=865423454
Jammerlappen :)
Soll heissen: try and die
  Zentrit

-----------------------------------------------------------------------------



TOD! ;) (Key,  5. Jun 1997, 21:58:05):
Huhu,
Oki, was ich von den Aenderungen bei Tod halte:
Ansich eine gute Idee, aber eins gefaellt mir daran absolut nicht ...
Im Prinzip hat die Deutsche Telekom dadurch einen schoenen kleinen
Gewinnzuwachs .. denn Dauerideln ist angesagt .. .)
Naja vielleicht kriegt man ja Prozente ;)
OkiOki, gilt fuer mich net, ich komm eh immer voin der uni .. aber die leute
die ueber Modem drin sind sind ganz schoen geloost ...

So kurz meine Meinung ;)

Key

-----------------------------------------------------------------------------



Re: TOD! ;) (Wurzel,  5. Jun 1997, 22:12:10):
~#! rn=Key rt=865540685 rg=entwicklung
~#! tid=865540685
vielleicht haben unsere erzmagier ja ihre ersparnisse in telekom-aktien
angelegt?

-----------------------------------------------------------------------------



Neuer Tod (Vidraj,  5. Jun 1997, 22:14:48):
Na klasse. Nun hab ich mal den neuen Tod ausprobiert und muss mal wieder
feststellen, das Rochus Telekom Aktien zuhause haben muss, denn was er sich
dabei gedacht hat...keine Ahnung.
Die Mudgoetter scheinen ja eh keinen Einfluss mehr auf das MG zu haben und
mittlerweile kann wohl jeder das machen wozu er Lust hat....Monster staerker..
Spieler heruntersetzen.
Frage: Wenn ich 9 Onlinestunden idlen muss laut Key bis diese Anzeige wieder
weg geht sind das ueber Modem schlappe 10,80 DM. Nette Sache.
Villeicht sollte ich mir die Kontonummer von Rochus geben lassen und ihm
5 Mark pro Tod ueberweisen ist billiger als zu idlen.
Naja zur Zeit bin ich noch etwas aufgebracht ueber diese Neuerung aber den
Sinn verstehe ich nicht. Das ist doch ein Spiel und ich sollte Freunde dran
haben aber warum wird man nicht mal als Spieler zu so etwas befragt......
Noch unter den Folgen des Todes leidend....Vidraj

-----------------------------------------------------------------------------



Re: Neuer Tod (Key,  5. Jun 1997, 22:20:46):
~#! rn=Vidraj rt=865541688 rg=entwicklung
~#! tid=865541688
Hmm der Sinn ist wohl das sich vor laengerer Zeit ein paar darueber beschwert
haben das die Tode zu lasch sind ...
So also net alles den mags in die Schuhe schieben, die ham nur das gemacht was
dich und breit in der Zeitung von Sehern gefordert wurde.

Key

-----------------------------------------------------------------------------



Re: Re: Neuer Tod (Stahldorn,  5. Jun 1997, 22:40:45):
~#! rn=Key rt=865542046 rg=entwicklung
~#! tid=865541688
Stimmt schon dass Tode zu lasch sind, aber das sollte man mehr durch hoeheren
Abzug irgendwelcher Werte und nicht durch stundenlanges Hemmen des Spielers im
Kampf loesen.

Meine Meinung.
STAHL.

-----------------------------------------------------------------------------



Re: Re: Neuer Tod (Ringor,  5. Jun 1997, 23:07:07):
~#! rn=Key rt=865542046 rg=entwicklung
~#! tid=865541688
Die Diskussion ist zwar schon ne Weile her, aber ich hab es eher so in
Erinnerung, dass wenigstens in einem Punkt Einigkeit herrschte: dass der neue
Malus (wie auch immer geartet) nicht einfach durch ideln weggehen sollte?!

Es wurden ja auch recht nette Vorschlaege gemacht, auf welche Art man sich die
vollen Stats etc. wieder erarbeiten koennen sollte.

Warum wurde denn jetzt trotzdem die Loesung mit dem ideln genommen?

Ringor

-----------------------------------------------------------------------------



Re: Neuer Tod (Gnome,  5. Jun 1997, 23:17:03):
~#! rn=Vidraj rt=865541688 rg=entwicklung
~#! tid=865541688
also nee, kinners...
das verdirbt einem ja fast den spielspass... :-(
bin ausgerechnet heute 5 mal gestorben und nu darf ich erstmal das ganze WE
rumidlen bis ich wieder anfangen kann zu kaempfen? also bei den gebuehren...
ist ja richtig, dass man nicht ganz ungestraft davonkommen soll, aber sind
EP-verlust, stat-senkung und ausruestungs-verlust nicht strafe genug?
und nu muss ich auch noch stundenlang rumstehen... hmmm... nicht das gelbe
ei... frustrierend...

gnOme

-----------------------------------------------------------------------------



Re: Re: Neuer Tod (Anatol,  5. Jun 1997, 23:29:32):
~#! rn=Gnome rt=865545423 rg=entwicklung
~#! tid=865541688
Aus Key's Artikel geht hervor, dass die Einbussen bei - sagen wir - "normalen"
Sterberaten gering bis 'nicht spuerbar' sind. Wenn Vidraj idlen muss, weil er
sich nicht traut, ohne 100% Kampfstaerke auf ein Monster zu schlagen, ist es
ganz allein seine Schuld.

Und "fuenf mal am Tag sterben" sollte eh die Ausnahme sein (*grins Key an*), 
also wird Gnomes laues Wochenende auch eine Ausnahme darstellen, oder? Zumal
ja (imho) weit schlimmere Alternativen im Gespraech waren.

Abgesehen davon glaube ich kaum, dass Rochus solche Veraenderungen vornimmt, 
ohne dass sie im Erzmagierkreis besprochen wurden. this_mud()!="PK-Mud".

Ab nach Jammerlappen.Entwicklung?
Anatol


-----------------------------------------------------------------------------



Re: Re: Neuer Tod (Lug,  6. Jun 1997, 01:52:48):
~#! rn=Key rt=865542046 rg=entwicklung
~#! tid=865541688
Senf:

Von Sehern gefordert Key?
Garantiert nicht alle. Aber wie immer Aenderungen nicht zu erwarten.
Zuck
Lug

-----------------------------------------------------------------------------



Re: Neuer Tod (Mahatma,  6. Jun 1997, 03:13:39):
~#! rn=Vidraj rt=865541688 rg=entwicklung
~#! tid=865541688
Hmm, ich sehe eigentlich keinen Grund, sich aufzuregen. Ich habe den neuen 
Tod bereits (unfreiwillig) ausprobiert, und stelle fest, dass die Folgen
nach einem Tod kaum ins Gewicht fallen, da kann man eigentlich weiterspielen,
wie immer. Wer da meint, ideln zu muessen, ist selbst dran schuld.
Kritisch wird es fuer die Leute, die der Meinung sind, staendig sterben zu
muessen (damit meine ich weniger Key, der einen Sonderfall darstellt, 
sondern vielmehr Zorro und dergleichen), und ich muss sagen, das soll auch
so sein. Schliesslich halte ich es nicht fuer richtig, dass man von vorn-
herein an einen Kampf mit der Einstellung herangeht: 'Ach, wenn ich sterbe,
ist es ja nicht so wild, kostet ja eh nix.' Dem schiebt die Neuerung einen
wirksamen Riegel vor.

Mahatma

-----------------------------------------------------------------------------



Re: Re: Neuer Tod (Lug,  6. Jun 1997, 03:17:52):
~#! rn=Mahatma rt=865559619 rg=entwicklung
~#! tid=865541688
Moin,

hm Mahatma. Was mich bei Deinem Artikel stoert, ist die Tatsache, dass Du
Deinen Spielstil fuer allgemeingueltig erklaerst. Wenn es Spieler gibt, die
den Tod nicht so wichtig finden, dann ist das doch deren Bier. Ob Zorro oder
Key, vor dem Tod sind dann doch wieder alle gleich, Sonderfall oder nicht. Ich
denke, dass dieses "der-spielt-aber-anders-als-ich-das-richtig-finde" ist
eines der groesseren Probleme derzeit, die dieses MUD hat. Manche haben ja
durchaus die Macht, ihre Vorstellung vom richtigen Spiel zu implementieren.

Laber, fasel, schwafel
Lug

-----------------------------------------------------------------------------



Abenteurerhimmel macht den Tod (noch) attraktiver (Rednose,  6. Jun 1997, 08:40:45):
In dieser Woche habe ich eine wirklich attraktive Todessequenz erlebt,
in der es anfangs hiess, man sei gar nicht gestorben (die Sequenz mit
der Kerze im Munitionskeller :-)). Die Sequenz brachte mich auf die
Idee eines neuen Gebietes, den Abenteurerhimmel. Wesentlicher Punkt ist,
dass man dieses Gebiet einzig und allein ueber den Tod erreicht, und das
auch nur mir einer geringen Wahrscheinlichkeit (1%?).

Das Gebiet muesste natuerlich besonders interessant sein, um fuer die
schwierige Erreichbarkeit zu entschaedigen, Ideen waeren:
- Besonders farbig beschriebene Raeume, in denen es viel zu untersuchen
  gibt (fuer mich das wichtigste),
- Ein besonders attraktiver Gegenstand, der gut versteckt ist,
- und vielleicht eine dort angesiedelte Quest, die wegen der Erreichbar-
  keit auch einiges an APs hergibt.

Natuerlich sollte man, falls man sich waehrend eines Reboots im Abenteurer-
himmel befindet, auch wieder im "Himmel" starten koennen.

Vielleicht fuehlt sich ja ein Magier angeregt :-)

- Rednose

-----------------------------------------------------------------------------



Re^3: Neuer Tod (Alpha,  6. Jun 1997, 09:21:53):
~#! rn=Lug rt=865559872 rg=entwicklung
~#! tid=865541688
Seh ich genau so. Senf. Naja, bis jetzt war der Tod fuer mich halt einfach nur
da, um dafuer zu sorgen, dass es keine negativen LPs gibt(sonnst koennte ich
ja wirklich jedes Monster killen, und wenn ich danach -1200 Lps haette). Also
der Tod war was ganz Alltaegliches in meinem Spielerleben(bei meinen Stats...)
und ausser, dass sich die Todessequenzen staendig wiederholt haben, hat mich
nix weiter dran gestoert. Jetzt hat meine Entdeckungsfreude durch DIESE
Neuerung nen erheblichen Knacks bekommen. Jede kleine Warnung(wenn du diesen
Knopf drueckst, dann....) muss ich jetzt ernst nehmen, was mich frueher nicht
gestoert hat. S' war halt nen Nervenkitzel - entweder man findet
irgendwas(lustiges) oder halt Lars. Jetzt? Wie soll ich spielen? Das geht
total gegen meine Art zu spielen. Auch wenn es Dir, Mahatma entgegenkommt, Ich
finde es einfach ueberfluessig und mir SPIELFREUDE raubend.
Alpha, fuerchtet sich jetzt vor dem Tod.

-----------------------------------------------------------------------------



Re: Abenteurerhimmel macht den Tod (noch) attraktiver (Kobayashi,  6. Jun 1997, 09:28:04):
~#! rn=Rednose rt=865579245 rg=entwicklung
~#! tid=865579245
Dies Idee ist nicht neu und bisher regelmaessig abgelehnt worden, da das
erreichen einer Gegend ueber den Tod zu grossen nachteilen fuehrt, besonders
dann, wnn
wenn man dort hin muss (evtl. durch eine quest (postquest oder aenliches)).


-----------------------------------------------------------------------------



Re^4: Neuer Tod (Orktoeter,  6. Jun 1997, 09:30:34):
~#! rn=Alpha rt=865581713 rg=entwicklung
~#! tid=865541688
Hmm also das ist doch ein Rollenspiel, oder ?
Also mein verstaendniss von Rollenspiel ist, meinen Character (naja, zumindest
meine beiden hauptcharacter) lebend durch diese Welt zu bringen.
Bei jedem "normalen" Rollenspiel darf man sich nen neuen Character
auswuerfeln, wenn man gestorben ist ( es sei denn der Spielleiter laesst die
Goetter eingreifen).
Ich denke das es nicht einfach Sache eines Spielers ist zu entscheiden, das
der Tod fuer ihn unwichtig ist, der Tod ist schon etwas das man (wann immer es
geht) vermeiden sollte, schliesslich ist man doch im Spiel dieser Character
und wem ist im RL das leben schon so egal ? (und denen es so egal ist, die
haben auch keine Freude am untersuchen oder metzeln)

just my two stamps, OrkT.

-----------------------------------------------------------------------------



Re^5: Neuer Tod (Alpha,  6. Jun 1997, 09:31:56):
~#! rn=Orktoeter rt=865582234 rg=entwicklung
~#! tid=865541688
Weil ich gerne untersuche will ich den Tod nicht fuerchten!

-----------------------------------------------------------------------------



Re^6: Neuer Tod (Orktoeter,  6. Jun 1997, 09:32:52):
~#! rn=Alpha rt=865582316 rg=entwicklung
~#! tid=865541688
wie oft stirbt man beim untersuchen ? Doch wohl nicht diverse male am Tag und
ein mal am Tag idelt man im laufe der zeit doch wieder weg, wo ist dein
Problem ?

-----------------------------------------------------------------------------



Re^7: Neuer Tod (Zardoz,  6. Jun 1997, 11:06:54):
~#! rn=Orktoeter rt=865582372 rg=entwicklung
~#! tid=865541688
So wie ich es mir bis jetzt angeschaut habe, sind durch die Aenderungen die
Gilden unterschiedlich stark beeinflusst.

Ciao Zardoz

-----------------------------------------------------------------------------



Re^7: Neuer Tod (Boing,  6. Jun 1997, 11:16:54):
~#! rn=Orktoeter rt=865582372 rg=entwicklung
~#! tid=865541688
Dazu kommt ja, dass man wenn man eh nur untersucht, durch eine Einschraenkung
der Kampfkraft keineswegs beeintraechtigt wird ... 
  Boing

-----------------------------------------------------------------------------



Re^8: Neuer Tod (Alpha,  6. Jun 1997, 11:17:42):
~#! rn=Boing rt=865588614 rg=entwicklung
~#! tid=865541688
Aber beim Spell hochueben doch schon. Oder irre ich mich?

-----------------------------------------------------------------------------



Re^6: Neuer Tod (Ratz,  6. Jun 1997, 11:49:53):
~#! rn=Alpha rt=865582316 rg=entwicklung
~#! tid=865541688
Wenn gerne und richtig untersuchst brauchst du den tod nicht zu fuerchten,
denn meist gibt es ja hinweise auf gefahren. ( Ausnahmen bestaetigen die
Regel!)

-----------------------------------------------------------------------------



Was ist neu am neuen Tod? (Saladrion,  6. Jun 1997, 12:15:01):
Auch wenn das jetzt ne FAQ sein sollte:
Was fuer Auswirkungen hat der "neue" Tod
eigentlich, ausser der Mitteilung, dass man 
noch unter den Folgen leidet? Bei meiner
Kampfkraft hab ich keinen Unterschied
gemerkt; allerdings habe ich mich auch
nicht gerade am Orklager versucht...
Verschwinden die Todesfolgen nach einer
gewissen Spielzeit, oder muss man eine
bestimmte Zeit idle bleiben?

Bye, Saladrion

-----------------------------------------------------------------------------



Re: Was ist neu am neuen Tod? (Zentrit,  6. Jun 1997, 12:25:09):
~#! rn=Saladrion rt=865592101 rg=entwicklung
~#! tid=865592101
Die Folgen verschwinden nach einer gewissen Onlinezeit. Ob man die jetzt mit
idlen oder mit weiterspielen verbringt, ist jedem selbst ueberlassen.
  Zentrit

-----------------------------------------------------------------------------



Re: Re: Was ist neu am neuen Tod? (Anakyn,  6. Jun 1997, 13:43:51):
~#! rn=Zentrit rt=865592709 rg=entwicklung
~#! tid=865592101
Oioi,

also ich kenn die Auswirkungen vom neuen Tod nicht, ich weiss nicht
was er macht. Aber ich denke mal der Tod sollte was sein
was nur in sehr unguenstigen, wenigen Faellen auftritt,
es sollte keinesfalls was sein, was total normal ist und
einfach dazugehoert. Aber das gab es ja auch schon den
elendlangen-anscheinend-kaum-bringenden Thread in 
jammerlappen.entwicklung. Ne andere Loesung, wie z.b.
Neubewertung der EPs, wie von Mathma mal angeregt, faende
ich zwar besser, aber was solls. Wenn man stirbt, hat
man halt zu leiden.

Anakin.

-----------------------------------------------------------------------------



Re: Re: Neuer Tod (Key,  6. Jun 1997, 13:43:57):
~#! rn=Mahatma rt=865559619 rg=entwicklung
~#! tid=865541688
Erstmal Mahatma, was heisst Sonderfall? :) Naja ich nehm es mal positiv auf
;)=

So Hmm Alpha hat RL der Tod eine Konsequenz? JA!
Hat der Tod in irgendeinem Spiel eine schwerwiegende Konsequenz? JA!

So also warum soll es hier anderst sein? Ich finde die Regelung wie schon
oefter gesagt nicht uebel, muss evtl. noch etwas nachgearbeitet werden, aber
die Grundidee ist gut.

So und Alpha wenn du beim unt stirbst weill du net auf warnungen achtest ..
entweder biste ein Script oder hasst keine Ahnung vom anstaendigen sterben ;)
*grins Richtung Minischemen* :))

Key

-----------------------------------------------------------------------------



Re^3: Neuer Tod (Wurzel,  6. Jun 1997, 19:11:24):
~#! rn=Key rt=865597437 rg=entwicklung
~#! tid=865541688
ich glaube, es herrscht uebereinstimmung darueber, dass der tod vorher zu
lasch war (ich kann mich da an eine ziemlich lange diskussion erinnern...).
von daher ist die aktion voellig in ordnung, den tod wieder etwas spannender
zu machen.
ich haette es zwar lieber gesehen, wenn man anstatt dumm rumzustehen etwas
haette tun muessen, um die folgen zu ueberwinden, aber besser so als gar
nichts. irgend jemand hat weiter oben sinngemaess gesagt "dann muss ich ja
jetzt warnungen ernstnehmen"... das zeigt doch deutlich genug, wie weit wir
gekommen sind.

wurzel

-----------------------------------------------------------------------------



Re^4: Neuer Tod (Kilar,  6. Jun 1997, 19:15:22):
~#! rn=Wurzel rt=865617084 rg=entwicklung
~#! tid=865541688
Ja, aber durch diese Aenderung wird sich wohl z.B. keiner mehr trauen,
sich eine neue Wunderlampe (fuer den Dschinn) zubesorgen. Denn da ist
es ja normal, das man 3-5mal am Fallbeil stribt, bevor man einmal durch
kommt. Ob das so im Sinn der Sache ist...

Kilar - bezweifelt das...

-----------------------------------------------------------------------------



Re^5: Neuer Tod (Wurzel,  6. Jun 1997, 19:20:14):
~#! rn=Kilar rt=865617322 rg=entwicklung
~#! tid=865541688
es gibt mit sicherheit noch mehr aehnlich gelagerte ecken, an denen auch
haeufiger mit dem tod zu rechnen ist. ich kann aber keinen sinn in einem
gegenstand sehen, den man erst nach mehrmaligem sterben erhaelt. das sollte
als aufforderung an die magier verstanden werden, solchen unfug gar nicht
erst zu schreiben bzw. zu aendern, falls schon vorhanden.

wurzel

-----------------------------------------------------------------------------



Re^6: Neuer Tod (Patryn,  6. Jun 1997, 19:21:26):
~#! rn=Wurzel rt=865617614 rg=entwicklung
~#! tid=865541688
und das von dir, wurzel... ;)
fuer viele leute ist der balrog reichlich ungeniessbar, denk ich mal
...und das in der ersten runde *kicher*

------
patryn

-----------------------------------------------------------------------------



Re^7: Neuer Tod (Wurzel,  6. Jun 1997, 19:24:22):
~#! rn=Patryn rt=865617686 rg=entwicklung
~#! tid=865541688
warum? lowlevel spieler kommen nicht dahin, und seher haben ja wohl fluechten
gelernt. oder seh ich da was falsch? ich habe nie gesagt, dass es keine
gefaehrlichen ecken mehr geben soll (und der balrog ist ja eher harmlos).
ich sage nur, dass sowas wie das fallbeil den sinn des spiels verfehlt.

wurzel

-----------------------------------------------------------------------------



Re^8: Neuer Tod (Padreic,  6. Jun 1997, 19:29:48):
~#! rn=Wurzel rt=865617862 rg=entwicklung
~#! tid=865541688
Das Fallbeil, verfehlt seinen Sinn ueberhaupt nicht, schliesslich ist es eine
1:1 DSA umsetzung
Allerdings tirbt man in DSA auch permanent (Wer mit dem Feuer spielt, muss mit
dem Ergebnis leben)

-----------------------------------------------------------------------------



Re^9: Neuer Tod (Wurzel,  6. Jun 1997, 19:31:24):
~#! rn=Padreic rt=865618188 rg=entwicklung
~#! tid=865541688
wenn es permanent waere, koennte ich damit auch ganz gut leben :)
aber wie gesagt: es ist nur ein beispiel fuer aehnlich gelagerte faelle,
mehr nicht.

-----------------------------------------------------------------------------



Re: Magierwerdung (Asmodis,  6. Jun 1997, 19:36:01):
~#! rn=Catweazle rt=865418470 rg=entwicklung
~#! tid=865418470
Tolle Sache Cat*, endlich ist mein Vorschlag mal aufgegriffen worden,
ich hatte das ja vor Jahren schon mal geschrieben :)
So kann man verhindern, dass jeder Wurstmagier einen Zweitmagier
aufziehen kann, oder irgendeinen Spieler zum Vollmagier machen 
kann, der nur Unsinn im Kopf hat (zappen, Spieler manipulieren etc.).

Wir sind alle stolz auf dich!

-----------------------------------------------------------------------------



Re: Re: Neuer Tod (Asmodis,  6. Jun 1997, 19:38:59):
~#! rn=Key rt=865542046 rg=entwicklung
~#! tid=865541688
ICH hab mich nie beschwert, das waren irgendwelche Idioten, die keine
Ahnung von diesem MUD haben (d.h. nicht zu den gefaehrlichen Monstern
gehen).
Ich bin dafuer, es wieder rueckgaengig zu machen, der alte Malus war
schon Strafe genug, da hatte man genug Schwierigkeiten, seine Sachen
zurueckzuholen.
Ansonsten, ich wollte wegen diesen Sachen eh nicht mehr viel machen,
das MG ist dann wohl ganz gestorben :)

-----------------------------------------------------------------------------



Re^3: Neuer Tod (Patryn,  6. Jun 1997, 19:41:28):
~#! rn=Asmodis rt=865618739 rg=entwicklung
~#! tid=865541688
so so, alles ideoten, die ne andere meinung haben...wenn du meinst.
ich glaub nicht, dass ich zu den spielern gehoert hab, die auch nur
irgendein monster umgangen haben, ganz im gegenteil:
 hydra war routine, funakoshi war kult und weghier eps-quelle
trotzdem bin ich der meinung, der tod war viel zu lasch bestraft

------
patryn

-----------------------------------------------------------------------------



Re^4: Neuer Tod (Asmodis,  6. Jun 1997, 19:45:23):
~#! rn=Patryn rt=865618888 rg=entwicklung
~#! tid=865541688
jaja, als Magier hast du leicht reden :)

-----------------------------------------------------------------------------



Re^4: Neuer Tod (Mahatmu,  6. Jun 1997, 19:48:10):
~#! rn=Patryn rt=865618888 rg=entwicklung
~#! tid=865541688
Tod ist Sache der Einstellung. Allerdings haben Leute, die mit dem
neuen Levelsystem aufwuchsen, ueberhaupt keinen Respekt mehr vor dem
Tod gehabt, der war ja eh nur mal kurze Spielunterbrechung. Inso-
fern ist der haertere Malus gar nicht schlecht - nur halt dumm, das
man ihn einfach nur so rausidelt. Aber wie auch immer - ein oder
zwei Tode sind noch lange nicht arg, notfalls geht man halt Bluemchen
suchen. Was heisst eigentlich notfalls: Dann haelt man sich eben
zurueck. Ich spiele meinen Charakter, und wenn der stirbt, dann erwarte
ich wirklich mehr, als nur eine Stunde Stats niedriger. Tod ist
eben was ziemlich Dummes. Etwas meist vermeidbares.

Gloin ... findet den neuen Tod ganz gut so.

PS: Und was die Klamotten angeht. Pft.

-----------------------------------------------------------------------------



Re^4: Neuer Tod (Kilar,  6. Jun 1997, 20:05:27):
~#! rn=Patryn rt=865618888 rg=entwicklung
~#! tid=865541688
Das stimmt vieleicht und diese Aenderung finde ich auch nicht so schlimm,
wie es andere vieleicht hinstellen. Nur eins stoert mich, das aber
Gewaltig: Das es ?? ONLINE-Stunden dauert, bis diese Nachwirkungen nachlassen
Dabei werden naemlich eindeutig die Leute bevorzugt, die ueber eine per
Standleitung (z.B. UNI) im Mud sind. Die koennen es sich leisten, auch mal
eine Nacht durchzuidlen. Aber was machen die Leute, die per Modem drin sind
und vieleicht auch nicht so viel Zeit zum mudden haben??
Daher schlage ich mal folgende Aenderung vor: Statt ?? Online-Stunden
sollten es rl-Stunden sein. Oder diese Nachwirkungen lassen spaetestens
nach 24 rl-Stunden nach. So haetten auch Modem-Mudder ne Chance, wieder
"normal" zu werden.

-----------------------------------------------------------------------------



re:Neuer Tod (Dakhath,  6. Jun 1997, 20:07:26):
da muss ich kilar zustimmen, da ich auch hauptsaechlich von zu hause uebers
modem drin bin. eine rl-zeit-loesung waere da wirklich besser

dakhath musste das mal loswerden

-----------------------------------------------------------------------------



Re^5: Neuer Tod (Liqui,  6. Jun 1997, 20:30:40):
~#! rn=Kilar rt=865620327 rg=entwicklung
~#! tid=865541688
Ich stimme Kilar ebenfalls voll zu. Fuer Spieler die ueber einen teuren
Provider im MG sind, ist das Online-Ideln unzumutbar... Ich denke 9 Stunden rl
ideln sind auf jeden Fall genug...
Liqui

-----------------------------------------------------------------------------



Re^7: Neuer Tod (Liqui,  6. Jun 1997, 20:38:32):
~#! rn=Mahatmu rt=865622082 rg=entwicklung
~#! tid=865541688
Schoen und gut, Gloin... Aber was machst Du, wenn Du noch unter den Folgen von
3 Toden leidest, ausserdem die Frist fuer die naechste Rate ablaeuft und Du
gleichzeitig zitternd den Gebuehrenzaehler anstarrst... Ich bezahle bei aol 6
DM die Stunde, plus Telefongebuehren... Du kannst ja mal ausrechnen, was mich
das Idlen kostet... Ich mach's lieber nicht, denn sonst wuerde ich mich wohl
nicht mehr einloggen...
Liqui

-----------------------------------------------------------------------------



Re^8: Neuer Tod (Anatol,  6. Jun 1997, 22:39:09):
~#! rn=Liqui rt=865622312 rg=entwicklung
~#! tid=865541688
Ich find' das zum Schreien, wie
o Rattenchef Patryn ueber Wurzel laestert, 
o Grossfamilienvater Asmodis ueber das Sterben jammert,
o Wie sich viele _Seher_ darueber aufregen, dass man jetzt nicht mehr nach
  Belieben sterben kann
o ... ach, macht weiter, der Thread ist so richtig lustig.

Anatol, findet inzwischen mehr als nur sich selbst laecherlich


-----------------------------------------------------------------------------



Re^9: Neuer Tod (Lug,  7. Jun 1997, 01:23:55):
~#! rn=Anatol rt=865629549 rg=entwicklung
~#! tid=865541688
Hihi Anatol,

fein das Du gleich sagst, was so alles laecherlich ist ;)
Lug

-----------------------------------------------------------------------------



Re^8: Neuer Tod (Orktoeter,  9. Jun 1997, 10:20:00):
~#! rn=Liqui rt=865622312 rg=entwicklung
~#! tid=865541688
Du bist also 3 mal in relativ kurzer Zeit gestorben, ja ?
Dann spielst du halt zu riskant. Wenn Du auf diese Weise lernst, nicht "wild
drauf los zu spielen" (ok, das ist jetzt mal ne ((naheliegende))
unterstellung), dann hat es doch schon sein Ziel erreicht.
Ich bin seit der neuerung noch nicht gestorben, aber ich denke, mit ein oder 2
toden sollte es noch bequem machbar sein, seine rate innerhalb der Zeit zu
ermetzeln.

OrkT.

-----------------------------------------------------------------------------



Re^9: Neuer Tod (Zorro,  9. Jun 1997, 10:35:07):
~#! rn=Orktoeter rt=865844400 rg=entwicklung
~#! tid=865541688
Das ist vollkommender Unsinn. Beispiel ich guck mir mal ganz gemuetlich 
Semmels neue Unterweltstadt an und sterb erstmal ... weil es halt ne
todesfalle ist und sollange sowas weiter angeschlossen wird ist der neue tod
vollkommen unangemessen.

Gruss Zorro

-----------------------------------------------------------------------------



Re^10: Neuer Tod (Yantro,  9. Jun 1997, 10:55:58):
~#! rn=Zorro rt=865845307 rg=entwicklung
~#! tid=865541688
 Zorro, schreib das nicht in die Zeitung, sondern mail eine BEschwerde an
Semmel (verursacher), Wurzel (RM, der den scheiss zu verantworten hat) und
kopie an alle EMs (die dafuer sorgen koennen, dass der RM nicht mehr so einen
scheiss anschliesst.)

SO ist der EINZIGE Loesungsweg! Nicht Mosern in der Zeitung.

Yantro, gibt Tips fuers Leben.

-----------------------------------------------------------------------------



Re^3: Neuer Tod (Alpha,  9. Jun 1997, 10:59:02):
~#! rn=Key rt=865597437 rg=entwicklung
~#! tid=865541688
Hat der Tod RL wirklich eien Konsequenz? Nein. Es geht einfach so weiter. Oder
doch nicht? Also, wie oft bist DU denn RL gestorben, um sagen zu koennen, das
der RL-Tod irgendwelche Konseqeunzen hat? Alpha hat halt immer wild drauf
losgespielt - und Wahrnungen ignoriert(als fruehmudderische Erfahrung -
Amaryllis - nur zwingend) und wird es auch in Zukunft tun (Der Tod ist halt
nur ne Zahl bei finger Alpha), falls ich endlich raauskriege, an was ich
letzes Wochenende beim Wegiddeln der letzten Todesfolgen gestorben bin. 

-----------------------------------------------------------------------------



Re^9: Neuer Tod (Gnome,  9. Jun 1997, 11:24:04):
~#! rn=Orktoeter rt=865844400 rg=entwicklung
~#! tid=865541688
hi,
also nochmal eine bemerkung von mir zum neuen tod...
OrkT: ich bin 5x in relativ kurzer zeit gestorben und ich spiele _nicht
      riskant; wollte lediglich das "neue" para-portal ausprobieren und
      bin dort "nur" 5x gestorben. ist ein ganzer guter schnitt, denke ich...
aber was resultiert daraus (zumindest fuer mich):
      ich steh jetze hier seit 12h wie bloed in der gegend rum, hab immer
noch
      3 tode wegzuidlen. zum ueben ist es ideal, aber wenn ich kaempfen will,
      komm ich mir wie ein gilden-anfaenger vor.
      ich werd mir also ein sterbe-2tie hochziehen (was ich eigentlich nie
      vorhatte) und werd ihn in zukunft in mir nicht bekannte gegenden vor-
      schicken... ist eigentlich nicht meine spiel-philosophie, aber...

so, liebe magier, jetzt denkt mal drueber nach, ob ihr das wirklich so haben
moechtet...

gnOme

-----------------------------------------------------------------------------



Re^10: Neuer Tod (Grimmborn,  9. Jun 1997, 12:32:16):
~#! rn=Gnome rt=865848244 rg=entwicklung
~#! tid=865541688
Ja, Gnome, das trifft uns Magier bis ins Mark, wenn Du nicht mal annaehernd in
der Lage bist, halbwegs rollengerecht zu spielen, den Tod als etwas ernsteres
als einen Schluckauf zu akzeptieren und mit einem Sterbezweitie drohst.
Vermutlich werden wir alle in uns gehen, in Sack und Asche rumlaufen und Busse
tun. Ehrlich.

Grimmborn der Atheist


-----------------------------------------------------------------------------



Re^10: Neuer Tod (Key,  9. Jun 1997, 12:43:59):
~#! rn=Gnome rt=865848244 rg=entwicklung
~#! tid=865541688
Leutchen es reicht!
Wenn euch was am sterben stoehrt sterbt halt net :)

Hmm und 5* am paraportal sterben? Also ich hab das ausgetestet und bin nur
einmal dran gestorben, oki zugegeben fast 3*. Aber wer es dann immernoch net
gerafft hat das es ende gibt soll es vergessen.
Jaja oki ich mach nie ende, aber ich beschwer mich ja auch net ueber die neue
regelung. Naja net sehr ;)

So und Gloin, lies erstmal was ich schreibe ordentlich und schreib dann ...
Ich hab lediglich gesagt das es etwas bloed ist wegen der idelzeit da es auch
spieler gibt die via Modem hier sind.

So jetzt Schluss mit der Diskusion.

Ausser natuerlich wenn man nochmal ueber die laenge der Zeit reden koennte ;)
Naja oki nen "normaler" Spieler stirbt ja auch selten mehr als 2* pro
Onlinetag ;))

Key

-----------------------------------------------------------------------------



Re^6: Neuer Tod (Boing,  9. Jun 1997, 12:50:29):
~#! rn=Wurzel rt=865617614 rg=entwicklung
~#! tid=865541688
Man kann die Lampe durch das Loesen der Quest bekommen, wer das umgehen
will muss mit mehrachem Tod rechnen, so einfach ist das.
  Boing

-----------------------------------------------------------------------------



Re^7: Neuer Tod (Snuggle,  9. Jun 1997, 13:32:36):
~#! rn=Boing rt=865853429 rg=entwicklung
~#! tid=865541688
Nur 2 Saetze:

Wem der neue Tod so viel Widerwillen hervorruft, der ueberlege sich mal, ob er
lieber wieder den (ganz!) alten wiederhaben moechte.
Das bedeutet also dauerhafter Abzug stufenrelevanter Punkte in Hoehe von etwas
einer Stufe, also 100 SP Abzug ohne eine Moeglichkeit sie wiederzuerlangen -
nur neu verdienen hilft. Waer doch allen mit geholfen. Kein Ideln mehr noetig,
keine Kampfmali mehr nach dem Tod, gleich weitermetzeln ist moeglich.

Snuggle

PS Ich kann zaehlen. Aber wenn ichs in 2 Saetze gepackt haette, haett
wahrscheinlich niemand mehr durch die Kommata durchgeschaut.


-----------------------------------------------------------------------------



Re^9: Neuer Tod (Astar,  9. Jun 1997, 14:07:50):
~#! rn=Orktoeter rt=865844400 rg=entwicklung
~#! tid=865541688
Hmm, in der Zauberergilde ist 3 mal sterben recht einfach, und das hat nix mit
Risiko, sondern mit zu wenig Intelligenz zu tun (Attribut, nicht vom Spieler
selbst...)

Astar

-----------------------------------------------------------------------------



Re: Neuer Tod (Rochus,  9. Jun 1997, 15:03:55):
~#! rn=Vidraj rt=865541688 rg=entwicklung
~#! tid=865541688
Die Aenderung ist nicht von mir,
ich habe nur die Nachricht in die MPA gesetzt.

-----------------------------------------------------------------------------



Re^7: Neuer Tod (Morgar,  9. Jun 1997, 15:37:46):
~#! rn=Patryn rt=865617686 rg=entwicklung
~#! tid=865541688
Wie? Am Balrog sterben? Wurstspieler. ;-)

Morgar *noch mehr Senf*

-----------------------------------------------------------------------------



Re^8: Neuer Tod (Kobayashi,  9. Jun 1997, 15:56:43):
~#! rn=Morgar rt=865863466 rg=entwicklung
~#! tid=865541688
Vielleicht sollte man den Tod so ansetzen wie im RL: Tod=Selbstloeschung.
Dafuer wird man dann ein wenig staerken und schneller, damit man besser
fliehen kann.

Kobayashi

-----------------------------------------------------------------------------



Re^9: Neuer Tod (Stahldorn,  9. Jun 1997, 15:58:32):
~#! rn=Kobayashi rt=865864603 rg=entwicklung
~#! tid=865541688
Ja, da passt mein Vorschlag dazu, zusaetzlich zu "selbstloeschung" auch noch
den befehl "fremdloeschung" einzufuehren. Warum soll man denn auch immer nur
sich selbst loeschen koennen? :)

STAHL. --> Schmarrn.

-----------------------------------------------------------------------------



Re^9: Neuer Tod (Alpha,  9. Jun 1997, 15:59:38):
~#! rn=Kobayashi rt=865864603 rg=entwicklung
~#! tid=865541688
Schon wieder jemand, der zu wissen scheint, was nach dem Tod in RL passiert.
Alpha fand das ja anfangs amuesant - aber irgendwann finde ich dat nur noch
ueberheblich.
Oder wurdest DU wiedergeboren?
Alpha, kann sich an kein Leben vor seinem jetztigen erinnern.
.`

-----------------------------------------------------------------------------



Re^8: Neuer Tod (Morgar,  9. Jun 1997, 16:00:10):
~#! rn=Snuggle rt=865855956 rg=entwicklung
~#! tid=865541688
Das mit den 100 Stupsen is nich Dein Ernst, oder? dann haette ich ja gerade
mal genug fuer Level -2. Und da waer ich wohl nicht der einzige.

Morgar

PS: Das waren jetzt 2 Saetze. ;-)

-----------------------------------------------------------------------------



Re^10: Neuer Tod (Key,  9. Jun 1997, 16:34:11):
~#! rn=Alpha rt=865864778 rg=entwicklung
~#! tid=865541688
Nein Alpha keiner weiss was nach dem Tod geschieht, aber vielleicht geht dein
Horizont weit genug das du raffst das es nicht "einfach so weitergeht".
Oder hast Du dich schonmal mit wem unterhalten der letzte Woche oder so
gestorben ist?
Denk mal nen bisserl drueber nach bevor du mit ueberheblich ankommst ...
Am besten auch bevor du das naechste mal was in die mpa schreibst.

Key

-----------------------------------------------------------------------------



Re^10: Neuer Tod (Anatol,  9. Jun 1997, 16:57:50):
~#! rn=Astar rt=865858070 rg=entwicklung
~#! tid=865541688
Ich muss mich als Vertreter der Zauberergilde entschieden gegen Astars Aussage
wehren. Man *muss* nicht sterben, um es in dieser Gilde zu etwas zu bringen,
es ist alles eine Frage des Risikos und des Wissens. Da halte ich die
Chaosgilde - zumindest in den unteren Graden - fuer toedlicher.

Magister ohne zu sterben (*schaem* aber /dc in der Pruefung),
Anatol

PS: Ja, danach starb ich auch, aber das Risiko ging ich ein.


-----------------------------------------------------------------------------



Re^12: Neuer Tod (Yantro,  9. Jun 1997, 16:58:17):
~#! rn=Fyt rt=865866488 rg=entwicklung
~#! tid=865541688

Hmmm also Du verstehst das falsch, dass sich da NIX tut. Wenn es von
Spielerseite kein Gemoser in der Zeitung, sondern handfeste beschwerden ueber
Wurzel oder jeden anderen RM geben wuerde, die die EMs dann per mail haetten,
dann koennen sie nicht laenger schweigen. Dies darf natuerlihc keine
Einzelbeschwerde sein, aber wenn ihr der Meinung seid, dass Wurzel mit seiner
Einstellung und seinem Sturkopf in seinem Job fehl am Platz ist, dann sag das
den EMs so und vor allem SACHLICH, denn dann passiert auch was... 

Es ist nicht mit Hetzartikeln getan, sondern da muss halt ne Begruendung
hinter sein... wenn 20-30 Spieler oder mehr alle an die Erzies eine BEschwerde
schreiben, dann wirkt das mehr als in der Zeitung, denn da geht sowas in einem
"uebergehe thread" unter.

Yantro, ruft NIE zu Postkartenaktionen auf... 

-----------------------------------------------------------------------------



Re: Re: Magierwerdung (Tasha,  9. Jun 1997, 19:45:36):
~#! rn=Asmodis rt=865618561 rg=entwicklung
~#! tid=865418470
Hiho!

In Jubelstuerme moecht ich ob dieser Aenderung zwar nicht ausbrechen, aber ich
denke man kann ganz gut mit ihr leben, ob man sie mag oder nicht. Allerdings
wuerde ich vorschlagen, im System noch eine kleine Aenderung einzubauen:
Anstatt eine ausdrueckliche Zustimmung der Erzmagier zu verlangen koennte man
doch auch die ganze Aktion so regeln, dass ein Level 15er nach sagen wir einer
Woche automatisch zu Level 20 wird ... es sei denn ein Erzi widerspricht. Das
wuerde vor allem fuer die Erzis den Verwaltungsaufwand erheblich reduzieren,
weil sie sich nur um die neuen Mags kuemmern muessen wenn sie sie nicht haben
wollen und wuerde ausserdem 
den Neumagiern eine begrenzte Wartezeit garantieren. Und eine Woche Frist
sollte fuer die grossen Es eigentlich genug sein, um angemessen auf
unerwuenschte Mags zu reagieren.

Tasha (die gerade Arbeitsrecht geschrieben hat und die machen das teilweise
genauso)

-----------------------------------------------------------------------------



Re^3: Magierwerdung (Orktoeter,  9. Jun 1997, 19:54:23):
~#! rn=Tasha rt=865878336 rg=entwicklung
~#! tid=865418470
Hmm dann fuehlt sich kein Erzie speziell zustaendig, heisst, ich verhalte mich
eine Woche ruhig bin Level 20 und fange erst dann an, mich daneben zu
benehmen..

OrkT.

-----------------------------------------------------------------------------



Re^4: Magierwerdung (Mupfel,  9. Jun 1997, 22:28:50):
~#! rn=Orktoeter rt=865878863 rg=entwicklung
~#! tid=865418470
Wonach du dann wieder - schwupp - bei level 15 bist.

-mupfel-

-----------------------------------------------------------------------------



Re^13: Neuer Tod (Escubar,  9. Jun 1997, 23:44:44):
~#! rn=Yantro rt=865868297 rg=entwicklung
~#! tid=865541688
Meine Guete Yantro, nu hoer doch mal bitte mit Deiner Hetzte gegen Wurzel auf.
Ich find es total gut, wenn mal wieder ein paar Anspruchsvolle Gegenden
angehaengt werden, wo man mal in Gefahr geraet.

Wer das nicht will, der kann wie Fyt es schon seit nem halben Jahr macht
einfach wegbleiben.

Was spricht gegen ein paar Todesfallen? Meiner Meinung nach nix.

Eisbaer Escubar, der gerne mal wieder nen NPC hat, der erstmal 3 Wochen
ungekillt bleibt, bis ne groessere Expedition loszieht.

-----------------------------------------------------------------------------



Re^11: Neuer Tod (Hadra, 10. Jun 1997, 02:00:41):
~#! rn=Yantro rt=865846558 rg=entwicklung
~#! tid=865541688
bei den beschwerden die der RM schon oeffentlich und per mail bekommen hat,
werden ein paar mehr oder weniger auch nichts an seiner ignoranz aendern. 
und wenn es egal ist wo ich rummoser (weil es eh igrnoriert wird, resp. noch
ein bloeder spruch draufgesetzt wird) noele ich lieber in zeitung.
so aendert sich zwar auch nix, aber ich bekommen zumindest von einem teil
meiner leidensgenossen mitgefuehl.

hadra - rein fiktiv

-----------------------------------------------------------------------------



Re^14: Neuer Tod (Nirdavo, 10. Jun 1997, 11:03:28):
~#! rn=Escubar rt=865892684 rg=entwicklung
~#! tid=865541688
  He, Escubar, lies doch noch mal genau, was Yantro geschrieben hat: WENN man
die Gegend nicht toll (zu hart/unfair, was auch immer) findet, dann soll man
sich an Wurzel, oder WENN das nichts hilft, an einen EM wenden. Wenn es einem
gefaellt, dann darf man auch durchaus eine Lobesmail an Wurzel schreiben.

  Just my 2 pennies, Nirdavo

-----------------------------------------------------------------------------



Re: Re: Magierwerdung (Catweazle, 10. Jun 1997, 19:55:05):
~#! rn=Asmodis rt=865618561 rg=entwicklung
~#! tid=865418470
Hiach!

Ich weiss nicht was ich sagen soll, Asmodis.
Einen derart hochlobenden Artikel von Dir hab ich wirklich nicht mehr
erwartet. Ich bin froh das Du es schlussendlich doch noch geschafft hast,
ein paar gute Seiten an meinen Taetigkeiten zu entdecken. Ich habe ehrlich
gesagt, die Hoffnung fast schon aufgegeben, jemals etwas gutes fuer Dich tun
zu koennen.
Ich danke Dir, Asmodis. Du hast mich mit Deinem Artikel auf meine alten Tage
doch noch einmal gluecklich gemacht.

Yours truly,
     Catweazle

-----------------------------------------------------------------------------



Re^10: Neuer Tod (Catweazle, 10. Jun 1997, 20:00:30):
~#! rn=Gnome rt=865848244 rg=entwicklung
~#! tid=865541688
Hm, ich denke Yantro hat wenige Artikel zuvor eine ganz hervorragende
Loesung fuer Dein Problem erlaeutert.
Vielen Dank fuer Ihre Aufmerksamkeit.

Yours truly,
     Catweazle

-----------------------------------------------------------------------------



Re^12: Neuer Tod (Wurzel, 10. Jun 1997, 21:00:11):
~#! rn=Hadra rt=865900841 rg=entwicklung
~#! tid=865541688
dieses mud hat doch etwas von einem echten rollenspiel. yantro spielt seine
rolle, ich meine. so what?
im uebrigen habe ich noch keinerlei beschwerden gehoert. die waeren bei mir
auch an der falschen adresse, es geht immerhin um semmels gebiet, also ist
semmel der richtige ansprechpartner dafuer.
mal im ernst: mir gefaellt das neue gebiet auch nicht. aber darum geht es
doch gar nicht. regionsmagier sind keine zensoren (ich jedenfalls nicht),
und wenn es bugfrei laeuft, keine illegalen objekte enthaelt oder nicht
umgehbare todesfallen, sich an gewisse mindeststandards haelt (wobei die
nach wie vor nicht klar definiert sind), dann wird es eben angeschlossen.
das mud lebt von der vielfalt. wenn wir nur noch gebiete zulassen, die
von toeter oder jemand mit vergleichbaren massstaeben entwickelt wurden,
stirbt die vielfalt, weil eben die wenigsten toeters faehigkeiten haben.
ein mud ist meines erachtens eine hervorragende moeglichkeit, ein wenig
programmieren zu lernen. so war das auch in den urspruengen mal gedacht, wenn
ich mich richtig erinnere. dann muss man aber auch zulassen, dass eben
suboptimale gegenden entstehen. wem es nicht gefaellt... niemand muss da
hingehen.

wurzel (heute ausnahmsweise mal ernsthaft)

-----------------------------------------------------------------------------



Re^13: Neuer Tod (Anatol, 10. Jun 1997, 21:16:21):
~#! rn=Wurzel rt=865969211 rg=entwicklung
~#! tid=865541688
Nur eines:
> .... niemand muss da hingehen.
Wenn ich Seher werden will und die Postquest angefangen habe, bin ich
unter Umstaenden gezwungen, Gebiete aufzusuchen, die ich - weil sie 
sehr schlecht ge- und beschrieben sind - meiden wollte.
Von normalen Quests, die man in solche Gebiete einfuegen kann, rede
ich lieber erst gar nicht.

Ja ja ja, niemand ist gezwungen, Seher zu werden.
Das heisst aber, man darf, wenn man eben doch Seher werden will, nicht
allzu waehlerisch sein.

Ansonsten liegt es meiner Meinung nach voll in der Verantwortung des
Regionsmagiers zu verhindern, dass Gegenden mit Einzeilenraumbeschreibung
und P_DETAILS<2 angeschlossen werden. Wer sich damit angesprochen fuehlt, ist
selbst schuld.

Anatol, arrogant


-----------------------------------------------------------------------------



Re^8: Neuer Tod (Asmodis, 10. Jun 1997, 23:30:04):
~#! rn=Snuggle rt=865855956 rg=entwicklung
~#! tid=865541688
Also wenn ich mir es so ueberlege, warum nicht ??
als Seher im hohen Level ist es eh egal, ob man stupse verliert oder
nicht :)

-----------------------------------------------------------------------------



Re^9: Neuer Tod (Raffi, 10. Jun 1997, 23:31:24):
~#! rn=Orktoeter rt=865844400 rg=entwicklung
~#! tid=865541688

3 mal in Kurzer zeit gestorben ? ja und ? Das hat ueberhaupt nix mit
dem Neuen oder Alten Tod zu tun, und auch wenig mit 'risikoreichem'
Spielen .... das ist ne ganz normale sache ... wer stirbt, stirbt
mit hoher warscheinlichkeit mehrfach hintereinander.

Gruss
H.

-----------------------------------------------------------------------------



Re^11: Neuer Tod (Yantro, 11. Jun 1997, 09:04:44):
~#! rn=Catweazle rt=865965630 rg=entwicklung
~#! tid=865541688

Hiach!

Ich weiss nicht was ich sagen soll, Catty.
Einen derart hochlobenden Artikel von Dir hab ich wirklich nicht mehr
erwartet. Ich bin froh dass Du es schlussendlich doch noch geschafft hast, ein
paar gute Seiten an meinen Taetigkeiten zu entdecken. Ich habe ehrlich gesagt,
die Hoffnung fast schon aufgegeben, jemals etwas gutes fuer Dich tun zu
koennen.
Ich danke Dir, Catty. Du hast mich mit Deinem Artikel auf meine alten Tage
doch noch einmal gluecklich gemacht.

Yours truly, 
        Yantro

-----------------------------------------------------------------------------



Re^10: Neuer Tod (Grimmborn, 11. Jun 1997, 09:22:41):
~#! rn=Raffi rt=865978284 rg=entwicklung
~#! tid=865541688
Ich weiss was Du meinst: Die Dummen lernens nie, gell? ;-)

GdA

-----------------------------------------------------------------------------



Re^9: Neuer Tod (Acrimon, 11. Jun 1997, 12:56:54):
~#! rn=Asmodis rt=865978204 rg=entwicklung
~#! tid=865541688
Ganz egal ist es nicht.
Vor allem - "neu verdienen" gibts nicht. Sind die SP weg, dann sind sie fuer
alle Zeiten weg, und man *kann sie nicht* neu verdienen. Man kann hoechstens
andere SP holen.
Ich bin dagegen, die jetzige Regelung (mit dem zeitweisen Kampfkraftverlust)
gefaellt mir wesentlich besser.
Im Uebrigen kannst Du sofort weitermetzeln, selbst schuld wenn du idelst.

Acrimon, der Rote Ritter

-----------------------------------------------------------------------------



Re: Abenteurerhimmel macht den Tod (noch) attraktiver (Kretek, 11. Jun 1997, 16:43:28):
~#! rn=Rednose rt=865579245 rg=entwicklung
~#! tid=865579245
Und was soll das bringen?

K.

-----------------------------------------------------------------------------



Re^5: Neuer Tod (Kretek, 11. Jun 1997, 16:53:52):
~#! rn=Kilar rt=865620327 rg=entwicklung
~#! tid=865541688
Na ja, so 'ne Art "Miniquest" zur Ueberwindung der Todesfolgen waere mit
Sicherheit auch nicht ganz dumm... Muesste halt nur einigermassen Script-
sicher gemacht sein. Nein, _ich_ hab keine Zeit, sowas zu machen! :-)

K

-----------------------------------------------------------------------------



Re^13: Neuer Tod (Hadra, 11. Jun 1997, 23:11:59):
~#! rn=Wurzel rt=865969211 rg=entwicklung
~#! tid=865541688
>im uebrigen habe ich noch keine beschwerden gehoert.
sag mal, liest du keine zeitung und keine mail? zumindest in der zeitung kann
ich mich unabhaengig von semmels gebiet (ueber das man durchaus diskutieren
kann) schon die eine oder andere beschwerde auch ueber die von dir unmittelbar
zu verantwortenden gebiete in der vergangenheit entdeckt.
die tatsache, dass es dich nicht gejuckt hat und du alle beschwerden einfach
vom tisch gewischt hat, heisst noch lange nicht, dass es keine gegebn hat.

-----------------------------------------------------------------------------



Re^14: Neuer Tod (Fyt, 12. Jun 1997, 10:26:21):
~#! rn=Hadra rt=866063519 rg=entwicklung
~#! tid=865541688

Naja, Wurzel neigt dazu, Leute, die sich regelmaessig beschweren, zu
ignorieren. Und da 'ignoriere' fein funktioniert, kriegt er halt nur
sporadisch was mit...

Fyt.

-----------------------------------------------------------------------------



Ankuendigung: Stups-Verlust (Zentrit, 12. Jun 1997, 10:37:57):
  Hi!
Im Laufe der naechsten Woche wird es einige Aenderungen bei der
Stufenpunkt-Verteilung geben (u.a. werden die Bluemchenpfluecker gegenueber
den Metzlern etwas abgewertet), wodurch es bei so gut wie jedem zu
Stufenpunktverlusten kommen wird (die Verluste koennen durchaus mehrere Level
ausmachen).
Ausserdem wird das ganze wahrscheinlich mit einem Reboot verbunden sein.
  Wargon
(Nur damit hinterher keiner sagen kann, er haette von [nN]ichts gewusst)

-----------------------------------------------------------------------------



Re: Re: Ankuendigung: Stups-Verlust (Zentrit, 12. Jun 1997, 11:00:40):
~#! rn=Mahatmu rt=866105293 rg=entwicklung
~#! tid=866104677
Die genauen Aenderungen werden bekanntgegeben, wenns so weit ist.
Mahatmas Level (bzw. die hohen Level allgemein) ist aber nur ein Grund; nach
ueber einem Jahr Praxistest hat sich gezeigt, dass man auf einige Aspekte
durchaus verzichten kann.
  Wargon

-----------------------------------------------------------------------------



Re^3: Ankuendigung: Stups-Verlust (Anatol, 12. Jun 1997, 12:07:27):
~#! rn=Zentrit rt=866106040 rg=entwicklung
~#! tid=866104677
Seid dann bitte so nett und denkt VORHER an die Gilden und ihre 
Spells, nicht dass danach das Geschrei der Spieler und das Gejammer
der in-der-Zwickmuehle-steckenden Gildenmagiern gross ist...

Kann sich noch vage daran erinnern, dass das Ausueben eines Spells
diesen ploetzlich verschlechterte,
Anatol


-----------------------------------------------------------------------------



Re^4: Ankuendigung: Stups-Verlust (Zentrit, 12. Jun 1997, 12:25:37):
~#! rn=Anatol rt=866110047 rg=entwicklung
~#! tid=866104677
Das lag damals daran, dass der Bereich, in dem man Spells/Skills nicht zu 100%
beherrschen kann, gestreckt wurde. Da sich die Level selbst nicht aendern
werden, gibt es da jetzt also keine Probleme (es kann nur etwas laenger
dauern, bis man das naechste mal aufsteigen kann).
  Zentrit

-----------------------------------------------------------------------------



Re^3: Ankuendigung: Stups-Verlust (Key, 12. Jun 1997, 12:50:00):
~#! rn=Zentrit rt=866106040 rg=entwicklung
~#! tid=866104677
Hmm wie waere es wenn ihr erstmal fragt was die Spieler nach diesem Testjahr
davon halten?

Naja ich vergass gerade das das ja so gut wie nie gemacht wird.

Key

-----------------------------------------------------------------------------



Re^4: Ankuendigung: Stups-Verlust (Raffi, 12. Jun 1997, 12:52:25):
~#! rn=Key rt=866112600 rg=entwicklung
~#! tid=866104677
Nach einem Testjahr also wieder Zurueck zum Aalten System ?
Ich dachte wir wollten weg von der Metzelbetonung ?

Grins
H.

-----------------------------------------------------------------------------



Re^5: Ankuendigung: Stups-Verlust (Anakyn, 12. Jun 1997, 12:53:51):
~#! rn=Raffi rt=866112745 rg=entwicklung
~#! tid=866104677
Och ja...

Anakin grinst seine 120.000.000 EP an. :)

-----------------------------------------------------------------------------



Re: Ankuendigung: Stups-Verlust (Morgar, 12. Jun 1997, 13:02:50):
~#! rn=Zentrit rt=866104677 rg=entwicklung
~#! tid=866104677
Das heisst also im Klartext, die EP's werden wieder aufgewertet? Na gut, hab
sowieso vor kurzem ne gute Stelle zum metzeln gefunden. Hoer ich halt wieder
auf mit Bluemchenzehlen, obwohl es eigentlich interessanter ist, als stupides
metzeln...

[Team: Bluemchenzaehler] Morgar

-----------------------------------------------------------------------------



Re^5: Ankuendigung: Stups-Verlust (Orktoeter, 12. Jun 1997, 13:03:38):
~#! rn=Raffi rt=866112745 rg=entwicklung
~#! tid=866104677
Hmm was wird denn alles angeschlossen ?
Doch wohl in erster Linie Metzelgebiete.
Angebot und Nachfrage sind da wohl doch deutlich und das man das dann in der
Wrtung auch wieder etwas mehr beruecksichtigt finde ich OK.

OrkT.

-----------------------------------------------------------------------------



Re^6: Ankuendigung: Stups-Verlust (Zardoz, 12. Jun 1997, 13:04:32):
~#! rn=Orktoeter rt=866113418 rg=entwicklung
~#! tid=866104677
Zum Metzeln geht man eh besser in ein anderes Mud mit ausgereifterem
Kampfsystem...


Ciao Zardoz

-----------------------------------------------------------------------------



Re^7: Ankuendigung: Stups-Verlust (Morgar, 12. Jun 1997, 13:06:31):
~#! rn=Zardoz rt=866113472 rg=entwicklung
~#! tid=866104677
Also ich find das Kampfsystem hier recht gut. (Haengt natuerlich von der Gilde
ab.) Ausserdem kann ich mit meinen Elfen hier recht gut metzeln, wo ich schon
mal so hoch bin.

Morgar

-----------------------------------------------------------------------------



Re^8: Ankuendigung: Stups-Verlust (Grimmborn, 12. Jun 1997, 13:07:35):
~#! rn=Morgar rt=866113591 rg=entwicklung
~#! tid=866104677
Du hast natuerlich die allgemeine Uebersicht, vermute ich...

GdA

-----------------------------------------------------------------------------



Re^9: Ankuendigung: Stups-Verlust (Morgar, 12. Jun 1997, 13:12:13):
~#! rn=Grimmborn rt=866113655 rg=entwicklung
~#! tid=866104677
Ich kenn natuerlich nicht alle Mud's. Um genau zu sein, nur sehr wenige, aber
ich hab mich inzwischen halt an das Kampfsystem im MG gewoehnt.

Morgar

-----------------------------------------------------------------------------



Re: Ankuendigung: Stups-Verlust (Fyt, 12. Jun 1997, 14:57:42):
~#! rn=Zentrit rt=866104677 rg=entwicklung
~#! tid=866104677

Ich interpretier das jetzt mal so:

Fuer gewoehnlich gibt's grosses Geschrei, wenn hier etwas eingefuehrt
wird oder geaendert wird. Also kuendigen wir es diesmal vorher an.
Nein, es geht nicht darum, dass die Sachen vernuenftig diskutiert
werden, es geht lediglich um die Bekanntgabe bereits getroffener
Entscheidungen.

Ich geh mal 'n bisschen zurueck: Es gab mal ne Zeit, da hat das Level-
System hier ziemlich gekrnakt. Ja, schlimmer als jetzt. Und da sind
Leute auf die Idee gekommen, was zu aendern. Die ersten mir bekannt-
gewordenen konkreten Vorschlaege kamen damals von Spielerseite
(sorry, ich konnte auch damals keine Erzmagierrubriken lesen, ich kann
mich aber an eine 'Seherversammlung' vor meiner Haustuer erinnern, bei
der Magier andaechtig gelauscht haben).
Die Umsetzung sollte so erfolgen, dass gewisse 'Leistungen' im alten
System auch im neuen System anerkannt werden sollen. Boing wird (wie
immer ;-)) abstreiten, dass zum Beispiel FPs aus Quests, die man schon
geloest hat, in irgendeiner Weise angerechnet werden, um zu vermeiden,
dass 'Altspieler' noch mal durch 30 Quests muessen um Bluemchen zu
pfluecken, die sie schon einmal gefunden haben, mir dagegen ist es immer
noch so, als ob etwas in der Richtung versprochen wurde. Naja.
Das Ende vom Lied ist bekannt: 'Altspieler' bekommen 7 Stupse fuer einen
FP, 'Neuspieler' 6. Zugestaendis an vergessene Versprechungen?
Hab ich jetzt gehoert, alle Spieler sollen gleichermassen 5 Stupse/FP
bekommen? Teile und Herrsche?

Worauf ich eigentlich hinauswill: Mir ist es ziemlich schnurz, ob ihc
Level 30 oder Level 45 bin. Um im MG 'vorne mitzumachen', muss man es
als Full-time-job betreiben, und die Zeit hab ich nicht mehr und (die
Trauben sind mir viel zu sauer ;-)) ich will sie mir auch nicht mehr
nehmen.

Was mich dagegen ankotzt (sorry, das Wort trifft es aber), ist, dass sich
hier im Mud die selbe Arroganz durchsetzt, die mir schon RL maechtig
auf die Ketten geht. Und zwar ist das ziemlich unabhaengig von der Art
der Massnahme, dass kann Wurzels Furzer sein, den der Kraft seiner
RM-Wassersuppe unbesehen anschliessen darf, das koennen Grimmborns
Verlegerallueren sein, der meint, wissen zu koennen, welche Art der
Zeitungsbenutzung fuer uns am besten ist und das kann die mittlerweile
und das koennen irgendwelche 'Reformen' sein, die hier ueber den Koepfen
der Leute, die hier spielen, durchgefuehrt werden.

Mit der Einstellung habt ihr eindeutig den Beruf verfehlt. Versucht's
mal als Bundestagsabgeordneter oder als Minister. Da koennt ihr noch
viel mehr Leuten Freude bereiten und wuerdet auch erheblich besser bezahlt
werden...

Koennte man nicht wenigstens versuchen, in einem *SPIEL* dem Grossteil
der Beteiligten das Gefuehl zu geben, dass sie an der Entwicklung des
Spiels mitwirken koennen? Ist das zu viel verlangt?

Fyt.


-----------------------------------------------------------------------------



Re: Re: Ankuendigung: Stups-Verlust (Grimmborn, 12. Jun 1997, 15:20:29):
~#! rn=Fyt rt=866120262 rg=entwicklung
~#! tid=866104677
> Mit der Einstellung habt ihr eindeutig den Beruf verfehlt. 

Mein lieber Fyt, ich denke, wenn hier jemand was verfehlt hat, dann so langsam
wohl Du. Es ist schon erstaunlich, mit welcher Arroganz und vor allem
Penetranz Du hier Deine unausgegorene Meinung durchzudruecken versuchst.
Versuch statt dessen mal, nachzudenken. Das hier ist ein Spiel. Ein Spiel
funktioniert nur, wenn es Spielregeln gibt, die weitestgehend eingehalten
werden. Das betrifft Regeln wie die, dass RM anschliessen koennen was sie
wollen und sich sozusagen erst im Nachhinein den Kopf waschen lassen muessen.
Dazu gehoert auch, dass nicht jeder sein Ego als das Mass aller Dinge sieht,
sondern (beispielsweise in der Art, andere mit eigenen postings in der mpa zu
belaestigen) auch das Ganze mit im Auge hat. Und dazu gehoert, dass die EM tun
koennen, was sie wollen und fuer richtig halten. Vielleicht ist das bei Dir
nicht so, aber ich spiele laufend Spiele, an deren Spielregeln ich nicht
mitgewirkt habe. Hier ist das tatsaechlich anders, weil die Spieler immer auch
die Regelmacher beeinflussen. Das heisst allerdings nicht, dass die EM einen
Brief an Herrn Fyt schreiben "Wir wollen mal wieder was aendern, sag uns doch
mal was Dir genehm ist und was wir dann aendern sollen.". 

Ich hab Deinen Artikel jetzt dreimal gelesen, fuer mich wirkt das immer noch
so, als wuerdest Du Dich im Wesentlichen darueber beschweren, dass keiner
Deine Genehmigung fuer die Aenderung eingeholt hat (zumindest gibst Du keine
sachlichen, inhaltlichen Kritikpunkte an, die mir aufgefallen waeren). Und tut
mir leid, aber mit der Einstellung bist Du hier vermutlich grundfalsch.

Sorry, wenn diese Beurteilungen aus der Rubrik schmarrn gewandert sind, aber
so langsam glaube ich, sie gehoert auch hierhin...

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re^9: Ankuendigung: Stups-Verlust (Patryn, 12. Jun 1997, 15:22:26):
~#! rn=Grimmborn rt=866113655 rg=entwicklung
~#! tid=866104677
er hat gesagt, er findet das kampfsystem gut, nicht dass es besser sei
als die systeme anderer muds. ein paar deiner bloedsinnigen
seitenhiebe koenntest du dir hin und wieder doch mal verkneifen, auch
wenn es dir schwerfaellt.

------
patryn

-----------------------------------------------------------------------------



Re^3: Ankuendigung: Stups-Verlust (Orktoeter, 12. Jun 1997, 15:26:59):
~#! rn=Grimmborn rt=866121629 rg=entwicklung
~#! tid=866104677
Ich kann Fyt gut verstehen.
Waehrend des letzen grossen zwists kam auch die Diskussion ueber mitbestimmung
, ich erinnere das sogar von einer Art "Spielerbeirat" dei Rede war.
Das nun wieder entschieden wurde, ohne das vorher die Grosse Masse an Spielern
um ihre Meinung gebeten wurde hat mich auch enttaeuscht.

In diesem Licht besehen war der Artikel von Fyt voellig OK.

OrkT.

-----------------------------------------------------------------------------



Re: Neuer Tod (Angus, 12. Jun 1997, 15:32:05):
~#! rn=Vidraj rt=865541688 rg=entwicklung
~#! tid=865541688
Hmm... wenn ich den Ausfuehrungen eines Bekannten glaube, dann
hat das ganze nicht nur Nachteile...
Zumindest fuer Karateka... ;)
 - Angus (Abenteurer seit jeher ;)

-----------------------------------------------------------------------------



Re^4: Ankuendigung: Stups-Verlust (Fyt, 12. Jun 1997, 15:34:24):
~#! rn=Orktoeter rt=866122019 rg=entwicklung
~#! tid=866104677

Aehm: Ich will keinen 'Spielerbeirat' oder irgendein anderes Doitsches
Vereinsgremium, fuer das wir uns erst noch zwei Jahre ueber Satzung,
Stimmrechte etc unterhalten muessen. Ich will nur, dass hier mit
einigermassen offenen Karten gespielt wird und daran gedacht wird, dass
es Leute mit anderer Meinung geben koennte.

Fyt.

PS: Du solltest lesen lernen, Grimmborn. Nach dem dritten Durchlauf sollte
aufgefallen sein, dass der konstruktive Teil darin bestand, die Leute, die
das *lesen*, auszufordern, mehr miteinander zu reden, und zwar vorher.

-----------------------------------------------------------------------------



Re^5: Ankuendigung: Stups-Verlust (Orktoeter, 12. Jun 1997, 15:37:07):
~#! rn=Fyt rt=866122464 rg=entwicklung
~#! tid=866104677
Das mit dem Beirat will ich dir doch gar nicht unterschieben.
Es ging darum, das darueber gesprochen wurde, auch die Spieler nach ihrer
Meinung zu befragen. Als Gedaechtnissstuetze habe ich an diesen Vorschlag
erinnert (den ich uebrigens so auch nicht sonderlich gut finde).

OrkT.

-----------------------------------------------------------------------------



Re: Re: Ankuendigung: Stups-Verlust (Gnome, 12. Jun 1997, 15:47:45):
~#! rn=Fyt rt=866120262 rg=entwicklung
~#! tid=866104677
hallo erstmal, 

also ich denke beide seiten (fyt,GdA) haben nicht ganz unrecht.
natuerlich koennen RM und EM anschliessen was sie wollen und nicht bei
jedem NPC um erlaubnis fragen... waer ja noch schoener!
aber darum geht es auch gar nicht! das MUD lebt von spielern UND magiern
und unter diesem aspekt sollte man es auch weiterentwickeln, d.h. dass
bei wirklich grossen reformen etc. auch mal eine spielerumfrage gestartet
werden kann (vorzugsweise unter den hohen leveln). denn wenn wild drauflos-
geaendert wird, so dass sich das spiel/punkte-system erheblich aendert, kehren
vielleicht viele spieler dem MG den ruecken und das ist ja nicht nicht so im
sinne des erfinders, da so ein MUD ja grade von der vielfalt und menge der
spieler lebt!

gnOme

-----------------------------------------------------------------------------



Re^5: Ankuendigung: Stups-Verlust (Grimmborn, 12. Jun 1997, 15:50:34):
~#! rn=Fyt rt=866122464 rg=entwicklung
~#! tid=866104677
Sorry, auch beim vierten mal offensichtlich ueberlesen. Da steht nichts von
"miteinander reden" drin, nur Gejammere, dass Dich keiner gefragt hat und was
in der Vergangenheit auch schon alles nicht so lief, wie Du Dir das
vorgestellt hast...

GdA

-----------------------------------------------------------------------------



Re^6: Ankuendigung: Stups-Verlust (Fyt, 12. Jun 1997, 15:56:29):
~#! rn=Grimmborn rt=866123434 rg=entwicklung
~#! tid=866104677

*zuck* wer nicht sehen will, sieht nicht. 'lesen' bedeutet nicht 'pattern
recognition' und 'parsing', sondern - so sehe ich das zumindest - dazu
noch 'ne Art Verarbeitung. Wenn ich sag, ich hab 'n Buch gelesen, meine
ich in der Regel, dass ich den Gedankengaengen des Autors in irgendeiner
Weise gefolgt bin, nicht, dass ich die Buchstaben durchgezaehlt habe. Is
aber auch egal. Es stand ja noch mal explizit in dem kurzen Artikel danach...

Fyt.


-----------------------------------------------------------------------------



Re^6: Ankuendigung: Stups-Verlust (Yantro, 12. Jun 1997, 15:59:10):
~#! rn=Grimmborn rt=866123434 rg=entwicklung
~#! tid=866104677

Hmmm also ich erinnere mich an ein Mud, da gab es auch solche Artikel und
Diskussionen und was weiss ich wie hier... vielleicht nihct ganz so schlimm,
aber immerhin. Da haben sich dann die 3-4 fuehrenden Goetter/Magier zu dem
einzigen Heilsamen schritt entschlossen, den ich hier inzwischen auch sehe,
denn alles andere scheint nichts mehr zu bringen: 

Loescht alle Spieler und Magier, bis auf den aktiven Kern, die was am laufen
halten koennen und dann nennt das Spiel MorgenGrauenII. Lasst alle von vorne
anfangen, aendert vorher ein paar Regionen, klemmt nervige Sachen ab, was
weiss ich. ABSOLUTER Neuanfang ist das einzige, was verhindern kann, dass hier
immer wieder ueber alte und neue Charaktere und deren Unterschied gesprochen
wird.

Yantro, provokant

-----------------------------------------------------------------------------



Re^7: Ankuendigung: Stups-Verlust (Astar, 12. Jun 1997, 16:01:08):
~#! rn=Yantro rt=866123950 rg=entwicklung
~#! tid=866104677
Hmm, wer seinen alten Character nicht mehr haben will kann ihn doch selber
loeschen, oder sehe ich das falsch?

Astar

PS: nicht provokant...

-----------------------------------------------------------------------------



Re^7: Ankuendigung: Stups-Verlust (Fyt, 12. Jun 1997, 16:01:38):
~#! rn=Yantro rt=866123950 rg=entwicklung
~#! tid=866104677

Eigentlich keine schlechte Idee.

Fyt.

PS: Ehrlich. (glaub mir sonst wohl keiner)

-----------------------------------------------------------------------------



Re^10: Ankuendigung: Stups-Verlust (Kretek, 12. Jun 1997, 16:17:47):
~#! rn=Patryn rt=866121746 rg=entwicklung
~#! tid=866104677
KreteK meint: Let's start a FLAMEWAR! :-)

-----------------------------------------------------------------------------



Re^6: Ankuendigung: Stups-Verlust (Key, 12. Jun 1997, 16:29:52):
~#! rn=Grimmborn rt=866123434 rg=entwicklung
~#! tid=866104677
Hmm also Grimm ich weiss net was Du uns sagen willst ... Oki spiele auch
normale Spiele, da gibbet auch regeln an die man sich halten sollte, usw, aber
verrate mir dochmal bei welchem der Spiele die du so spielst permanent die
regeln geaendert werden? 
Also mir faellt da gerade mal keines ein.
Aber naja du musstest ja wie imemr deinen Senf dazugeben, und wenn es gegen
nen Spieler geht umso besser.

Fyt muss ich aber echt zustimmen, man hat zwar immer mal nen bisserl Gemunkel
gehoert, aber das das Stufensystem jetzt einfach mal so geaendert wird .. naja
bringt eh nix jetzt noch was zu sagen.
Aber mal eine Frage: Wie es zuletzt geaendert wurde, sind einige alte und gute
Spieler weggegangen, andere spielten weniger usw .. 
Naja es kamen neue .. bin gespannt was die jetzt von dem wieder neuen
stufensystem halten ..

Mir ist es bald schnurz, aber das interessiert die die es aendern koennen eh
nicht ..
Vielleicht hat Yantro ja sogar recht ..

Key

-----------------------------------------------------------------------------



Re^7: Ankuendigung: Stups-Verlust (Zardoz, 12. Jun 1997, 16:40:04):
~#! rn=Key rt=866125792 rg=entwicklung
~#! tid=866104677
Ich verstehe einfach nicht, dass es immer noch Leute gibt, die Grimmborn ernst
nehmen. Mehr sag ich dazu nicht...


Ciao Zardoz

-----------------------------------------------------------------------------



Re^8: Ankuendigung: Stups-Verlust (Key, 12. Jun 1997, 16:41:03):
~#! rn=Zardoz rt=866126404 rg=entwicklung
~#! tid=866104677
Ich geb jedem eine Chance :)

Key

-----------------------------------------------------------------------------



Re^9: Ankuendigung: Stups-Verlust (Rantanplan, 12. Jun 1997, 16:52:05):
~#! rn=Key rt=866126463 rg=entwicklung
~#! tid=866104677
Huhu !!

Ich komme hier so in's Mud. Und die Scheisse geht schon wieder los.

Fyt, mach es wie ich, einfach diejenigen milde belaecheln, die es brauchen,
hier das Sagen zu haben...;-))

Und weitermachen wie bisher ;-))

Oe*

-----------------------------------------------------------------------------



Re^7: Ankuendigung: Stups-Verlust (Orktoeter, 12. Jun 1997, 16:53:47):
~#! rn=Yantro rt=866123950 rg=entwicklung
~#! tid=866104677
MorgengrauenII ? Hmm habe ich das nicht schon damals bei einfuehrung der
Stupse so genannt ?
OrkT in erinnerungen Schwelgend.

-----------------------------------------------------------------------------



Re^9: Ankuendigung: Stups-Verlust (Grimmborn, 12. Jun 1997, 16:58:12):
~#! rn=Key rt=866126463 rg=entwicklung
~#! tid=866104677
Eigentlich erstaunlich, eine signifikante Anzahl derer, die hier meckern (Fyt,
Key) betonen gleichzeitig, es waere ihnen "ziemlich schnurz" (Fyt) bzw. "bald
schnurz" (Key). Das erinnert an einen gewissen G., der meint, es waere ihm
doch egal, was die Leute mit der mpa machen und dann doch Artikel verlegt.
Oder so aehnlich.

GdA

-----------------------------------------------------------------------------



Re^10: Ankuendigung: Stups-Verlust (Fyt, 12. Jun 1997, 17:00:32):
~#! rn=Grimmborn rt=866127492 rg=entwicklung
~#! tid=866104677

Jo, ich hab halt manchmal (emotional ;-) ) Probleme damit, den Kram hier
so unernst zu nehmen, wie ich ihn rationalerweise eigentlich nehmen sollte.
Aber immerhin gewoehnt man sich durch dass Mudden ja, mit seiner
Schizophrenie umzugehen...

Fyt.

-----------------------------------------------------------------------------



Re^11: Ankuendigung: Stups-Verlust (Snuggle, 12. Jun 1997, 17:10:05):
~#! rn=Fyt rt=866127632 rg=entwicklung
~#! tid=866104677
Darf ich mal ne Frage voellig ab vom Thread stellen:

Warum?

Damit meine ich nicht, warum Ihr Euch gegenseitig zerfleischt, das sortiere
ich mal in die Rubrik Hobby, sondern warum die Aenderung?

Snugg

-----------------------------------------------------------------------------



Re^12: Ankuendigung: Stups-Verlust (Grimmborn, 12. Jun 1997, 17:13:02):
~#! rn=Snuggle rt=866128205 rg=entwicklung
~#! tid=866104677
Sinnfragen sind hier generell unerwuenscht und auch quasi systemintern nicht
definiert... :-)

GdA

-----------------------------------------------------------------------------



Re: Re: Ankuendigung: Stups-Verlust (Catweazle, 12. Jun 1997, 17:55:27):
~#! rn=Fyt rt=866120262 rg=entwicklung
~#! tid=866104677

Hi!
 
Ich finde es faszinierend, das, kaum soll etwas geandert werden, spontan
Gezeter und Gemecker einsetzt. Noch viel faszinierender finde ich, das
dies geschieht, noch bevor ueberhaupt was passiert ist, es wird einfach
mal prophylaktisch (dieses Wort habe ich in einer Werbung gelernt)
contra gegeben. Es faellt mir schwer, mich mit einer derart vorgefassten
Meinung, die dann wahrscheinlich sowieso unumstoesslich ist, auseinan-
derzusetzen, aber nun gut, ich gebe mir Muehe.
 
Laesst man mal die uebliche aufgekochte Suppe im Mittelteil von Fyt's
Artikel weg, faellt mir der Schluss auf.
 
>Koennte man nicht wenigstens versuchen, in einem *SPIEL* dem Grossteil
>der Beteiligten das Gefuehl zu geben, dass sie an der Entwicklung des
>Spiels mitwirken koennen? Ist das zu viel verlangt?
 
Tatsaechlich ist doch diese Aenderung gar nicht auf unseren eigenem Mist
gewachsen. Eine Vielzahl von Artikeln in der MPA beeiflussen uns, geben
uns Tips und machen Vorschlaege. Wir Erzmagier nehmen diese Ideen auf,
diskutieren sie und versuchen die beste Loesung zu finden. Das war bei
der Einfuehrung der neuen Levelsystems so (sogar mit eine _Menge_
Diskussion mit den Betroffenen), bei der juengsten Todesverschaerfung
war es aehnlich und nicht anders ist es jetzt auch.
 
Diese Loesung _kann_ nicht immer jedem gefallen und darum wird es immer
jemanden geben, der daran herummeckert. Aber man kann es halt nicht 
jedem Recht machen. Das diejenigen, die unter einer Aenderung zu leiden
haben, dann meist nichts besseres zu tun haben, als rumzukeifern, wie
arrogant und anmassend doch die boesen Erzmagier sind, finde ich eher
bedauerlich...
 
Versuch vielleicht nicht gerade _Deine_ Beteiligung an der Entwicklung
am Spiel zu sehen, sondern die aller, evtl. siehst Du sie dann. 
 
Yours truly,
     Catweazle

PS: Wenn Dir die Aenderung von Regeln wie Arroganz vorkommt, kann ich 
    da wenig dran tun, aber das entspricht einfach nicht den Tatsachen.
    Irgendjamend muss die Entscheidung was und wie gemacht wird nun mal
    faellen, und das sind nun mal wir Erzmagier. 
    Diese Entscheidungen sind nicht aus den Fingern gesogen, sondern
    versuchen das moeglichst Beste fuer die Spieler (und das Spiel!)
     zu erreichen.

-----------------------------------------------------------------------------



Re^3: Ankuendigung: Stups-Verlust (Fyt, 12. Jun 1997, 18:02:28):
~#! rn=Catweazle rt=866130927 rg=entwicklung
~#! tid=866104677

Es ist manchmal ganz hilfreich (und beruhigend), wenn man weiss, wie eine
Entscheidung gefunden wurde und nicht nur zu hoeren, *dass* eine
Entscheidung getroffen wurde.

Fyt.

PS: Zum Thema 'neuer Tod' hab ich mich nicht geaeussert, oder?

-----------------------------------------------------------------------------



Re: Re: Ankuendigung: Stups-Verlust (Stahldorn, 12. Jun 1997, 18:51:36):
~#! rn=Fyt rt=866120262 rg=entwicklung
~#! tid=866104677
Ja! Danke fuer diesen Artikel, Fyt.
Du hast mir aus der Seele gesprochen!

STAHL.

P.S.: ich weiss, schon wieder ein "ganz-deine-meinung-artikel", aber das
musste einfach sein.

-----------------------------------------------------------------------------



Re^3: Ankuendigung: Stups-Verlust (Orktoeter, 12. Jun 1997, 19:26:00):
~#! rn=Catweazle rt=866130927 rg=entwicklung
~#! tid=866104677
Hmm 
Wie waere denn folgender Weg:

Den Erzies faellt auf, das irgendetwas so wohl nicht in Ordnung ist, durch
Artikel in der mpa, persoenliche beschwerden, was auch immer. 
Daraufhin wird jetzt aber nicht "da oben" entschieden, das etwas geaendert
werden muss und auch gleich was und wie es geaendert wird, sondern man stellt
zur Diskussion, ob an dem und dem Zustand etwas geaendert werden soll und wenn
ja wie, so das jeder den es interessiert da seine semf/kako, was auch immer,
dazugeben kann.
Das die Entscheidung letzlich in der Hand der Erzies liegt ist ja Ok, ich
denke, ihr werdet nicht staendig gegen eine mehrheitlich andere Meinung
seiende Spielerschar stimmen.

OrkT (mal konstruktif)

-----------------------------------------------------------------------------



Re^4: Ankuendigung: Stups-Verlust (Morgar, 12. Jun 1997, 19:28:36):
~#! rn=Orktoeter rt=866136360 rg=entwicklung
~#! tid=866104677
Hm, ich dachte genau das geschieht hier gerade...

Morgar *Kakao* (weil er besser schmeckt, als Senf)

-----------------------------------------------------------------------------



Verlobungen (Rikus, 12. Jun 1997, 22:04:53):
Hi,
ich habe den Juwelier gebeten, mal saemtliche bisher stattgefundene und
auch weiterhin stattfindenden Verlobungen zu notieren. Er hat ein Buch
angelegt, welches bei ihm im Laden ausliegt.

Rikus

-----------------------------------------------------------------------------



Laber: Reformen (Mahatmu, 13. Jun 1997, 00:50:02):
Ich moechte nochmal zum Thema Stup-Aenderung mitgreinen:
Momentan schwirren ja einige Gerueche/Geruechte durch die Gegend,
und wenn ich den schlimmsten glauben mag, die da eine Angleichung
auf 5 Stup pro FP besagen, dann verliere ich so circa 5 Level.
Naja, ich bin ueber den angfaenglichen Schock hinweg, und kann
das ganz gut verstehen, denn die 'Entlohnung' der Altspieler
hat nicht so ganz funktioniert. Die fleissigsten sind trotzdem
los, haben alles nochmal abgegrast und erhielten dadurch einen
enormen Vorsprung. Soviel zu dem Thema Fairness, ueber das ja
gern in dem Zusammenhang dieses Geruechtes geweint wurde/wird.
Naja, und das die EPs momentan noch so ein bissel fuer den Skat
sind, das duerfte selbst den Jungspielern seit der Todesreform-
diskussion klar sein.
Was mir ganz einfach immer noch nicht gefaellt, ist die Art und
Weise, wie die Aenderung eingefuehrt/vorgestellt wird. Das MG
ist ein sehr gutes Spiel, aber jedes Spiel wird in dem Moment
frustig, in dem der oder die Spielmeister sagen: 'Uebrigens,
naechste Woche aendern wir die Regeln ein bischen', egal wie nach-
vollziehbar das sein mag. Nun kann man von einem Erzmag nicht
gleich die Wendigkeit eines Politikers verlangen, aber ich hoffe
doch, dass sich diese Informationsmentalitaet ein wenig aendert,
also solche Aenderungen, auch wenn noch unausgegoren, mal irgend-
wann vorher schon angedeutet werden. Wir salbadern so viel Muell
in die MPA, da stoert eine ernsthaft zu diskutierende Andeutung
auch nicht mehr. Tja ... ich faend, das truege ganz positiv zum
Spielklima bei. Denn diese 'Ich-finds-Scheisse'-Phasen sind
immer ziemlich nervig.

Gloin

-----------------------------------------------------------------------------



Re^3: Ankuendigung: Stups-Verlust (Schoko, 13. Jun 1997, 02:15:56):
~#! rn=Catweazle rt=866130927 rg=entwicklung
~#! tid=866104677
Hi!

Also wenn ich das so lesen, faellt mir da spontan eine Diskussion ein, die vor
eineiger Zeit in der mpa gefuehrt wurde, zum Thema: wie soll der Tod "haerter"
werden. Dort haben viele Leute ihre Meinung kund getan ABER: es gab viele sehr
konstruktive Vorschlaege! Einige Leute (mir fallen leider nur noch Mahatma und
Ringor ein) haben sich wirklich viel Gedanken gemacht und gut ausgearbeitete
Vorschlaege vorgelegt.
Und?? Was ist daraus geworden? Kein einziger der Vorschlage wurde auch nur
ansatzweise verwirklicht, stattdessen wurde ein Weg gewaehlt, der vorher
ausdruecklich als nicht in Frage kommend bewertet wurde.
Also kann ich mir nur schwer vorstellen, wie sich Magier von den Ideen und
Vorschlaegen der Spieler anregen lassen. Entweder haben sie das alles komplett
falsch verstanden, oder etliche Spieler haben sich geirrt und wollten
eigentlich etwas ganz anderers. Sie wussten es nur nicht.

Schoko (mir faellt nix ein, womit ich meine Unterschrift ergaenzen soll :) )

-----------------------------------------------------------------------------



Re^3: Ankuendigung: Stups-Verlust (Krellja, 13. Jun 1997, 14:17:25):
~#! rn=Catweazle rt=866130927 rg=entwicklung
~#! tid=866104677
Moin!
Mich wuerde doch mal interessieren, wie die Aenderungen ueberhaupt so
aussehen. So als "kleiner" Spieler, der auch keine RL-Verbindungen
zu anderen Spielern hat, bin ich da voellig Ahnungslos.

Tschuess
            Krellja

-----------------------------------------------------------------------------



Re^12: Neuer Tod (Asmodis, 13. Jun 1997, 22:34:24):
~#! rn=Yantro rt=866012684 rg=entwicklung
~#! tid=865541688
Hmm, da soll noch mal jemand behaupten, hier herrsche schlechtes Klima
zwischen Spielern und Magiern und zwischen Magiern und Magiern ...
Ich lese ja nur noch hochlobende Artikel :)

-----------------------------------------------------------------------------



Re^3: Ankuendigung: Stups-Verlust (Asmodis, 13. Jun 1997, 22:52:11):
~#! rn=Catweazle rt=866130927 rg=entwicklung
~#! tid=866104677
Wenn das Bluemchenpfluecken abgewertet und das Metzeln wieder aufgewertet
wird, dann finde ich das gut, auch wenn ich eh nicht mehr viel hier mache,
aber wenigstens wird die dauernde Todesgefahr, die mittlerweile beim 
Metzeln herrscht, auch etwas belohnt.
Man kann ja inzwischen an jeder Ecke sterben.

-----------------------------------------------------------------------------



Re^3: Ankuendigung: Stups-Verlust (Silvana, 14. Jun 1997, 20:10:55):
~#! rn=Catweazle rt=866130927 rg=entwicklung
~#! tid=866104677
Sorry, dass ich Dir jetzt mal in den Ruecken falle, Cat, aber das geht
langsam zu weit. Ich jedenfalls wusste nicht vorher, was ueberhaupt
geplant war. Weder bei der Todesreform (von der ich bis jetzt nicht
weiss, was sich ueberhaupt geaendert hat) noch von der StupsReform
(wo ich auch nix konkretes weiss). Ich finde diese Informationspolitik
gelinde gesagt bescheiden. Ich werde derzeit staendig RL wie VL 
angefeindet, was WIR Erzmagier uns schon wieder haben einfallen lassen
und ich kann dazu nur sagen: Ich weiss von nix. Und nun behauptest Du
WIR Erzmagier entscheiden? Ich hatte bisher angenommen, dass ich eine
Erzmagierin bin, aber scheinbar ist das nicht der Fall. Also entweder 
informiert mich wenigstens, wenn ich schon nicht gefragt werde, oder
korrigiert meinen Magierlevel dahin, wo er scheinbar derzeit liegt (45).

  Silvana - zunehmend sauer.

PS: Ja, ich weiss, fuer so einen Artikel kriegt man von allen moeglichen
Seiten eins aufs Maul, aber wenigstens nicht von vorne. 

-----------------------------------------------------------------------------



Re^4: Ankuendigung: Stups-Verlust (Paracelsus, 14. Jun 1997, 21:25:07):
~#! rn=Silvana rt=866311855 rg=entwicklung
~#! tid=866104677
Also wenn es Dich troestet, Silvana: Mir gehts da genauso wie Dir.
Paracelsus.

-----------------------------------------------------------------------------



behalte (Trekan, 16. Jun 1997, 09:30:14):
Liesse es sich nicht einrichten, dass man alles, was man automatisch beim
verkaufen behaelt im Inv farbig hervorgehoben bekommt, oder irgendwie
anders gekenntzeichnet. z.Bsp: mit einem '*'. Das wueder die
uebersichtlichkeit
doch um einiges erhoehen. Wer weiss schon nach 30 tagen up, ob was behalten
wird oder nicht ;-)
Trekan

-----------------------------------------------------------------------------



Stupse-mal was konstruktiewes (Orktoeter, 16. Jun 1997, 09:42:04):
Ein Vorschlag zur Stupseaenderung :
Fuer die Altspieler gilt folgende Regelung, sie bekommen fuer einen bestimmten
maximalen Zeitraum ein paar stupse (oder auch nur einen) mehr als andere
Spieler, allerdings nur fuer 1. neuere gegenden 2. quests, die sie damals noch
nicht gemacht hatten. Ausser der Zeitlichen begrenzung koennte man noch eine
mengenmaessige begrenzung einbauen, die verhindert, das ein Altspieler sich
dadurch einen Vorteil erschaffen kann.
Diese Begrenzung sollte dann auf den Spieler abgestimmt sein (also maximal so
viele Stupse, wie er in den alten Gebieten/quest haette bekommen koennen)
aeh.. hatte ich erwaehnt, das die altspieler dann natuerlich die Stupse in den
aten Gebieten/quests nicht mehr bekommen koennen ?
Ich denke das waere die fairste Loesung, wenn man schon diese FP einfuehren
musste.

OrkT.

-----------------------------------------------------------------------------



Re^4: Ankuendigung: Stups-Verlust (Zardoz, 16. Jun 1997, 13:11:04):
~#! rn=Silvana rt=866311855 rg=entwicklung
~#! tid=866104677
Silvana, was regst Du Dich auf? Ist dir noch nicht aufgefallen, dass der Level
als Erzmagier voellig unbedeutend ist, solange man  nicht zu dem
Muensterraner-Haufen gehoert?

Ciao Zardoz

-----------------------------------------------------------------------------



Re: behalte (Asmodis, 16. Jun 1997, 14:08:09):
~#! rn=Trekan rt=866446214 rg=entwicklung
~#! tid=866446214
Huch, seit wann gibts hier Farben ?

-----------------------------------------------------------------------------



Re: Re: behalte (Stahldorn, 16. Jun 1997, 14:08:53):
~#! rn=Asmodis rt=866462889 rg=entwicklung
~#! tid=866446214
Seid im kwer Froesche gruen und Erwartete rot sind.

-----------------------------------------------------------------------------



Re^3: behalte (Asmodis, 16. Jun 1997, 14:14:43):
~#! rn=Stahldorn rt=866462933 rg=entwicklung
~#! tid=866446214
Bei mir sind alle Spieler weiss auf schwarz :)

-----------------------------------------------------------------------------



Re^4: Ankuendigung: Stups-Verlust (Ryne, 16. Jun 1997, 15:18:40):
~#! rn=Silvana rt=866311855 rg=entwicklung
~#! tid=866104677
Nun wirds interessant...

also, der eine Erzmagier behauptet, an der Aenderung am Stupse-System seien
die Erzmagier beteiligt gewesen, und dann melden sich zwei, die es nicht
waren. Das finde ich interessant. Klaert mich einer auf ? Wer hat denn diese
Entscheidung nun wirklich gefaellt?
Zardoz hat recht: Das ist Muensteraner Filz, aber fuer Fortgeschrittene. Es
sei denn, die Aussage von Catweazle, die Entscheidung sei durch die Erzmagier
(und so wie es im Artikel stand, klang es nach ALLEN Erzmagiern) gefaellt
worden, hat gestimmt. Glaubt das einer?
Dieses Mud leidet meiner Meinung nach unter anderem darunter, dass es im
Moment zu wenige Erzmagier gibt, die aktiv am MG teilnehmen. Wenn aber diese
wenigen noch nicht einmal die anderen aktiven Erzmagier in
Grundsatzentscheidungen die das MG betreffen einbeziehen, brauchen wir alle
uns nicht zu wundern, wenn die Entwicklung im MG weiter so negativ verlaeuft
wie im Moment.
Im uebrigen: ich finde den vorgeschlagenen Weg, Dnderungen in der Zeitung
diskutieren zu lassen, und dann eine Entscheidung durch die Erzmagier faellen
zu lassen, als richtig und sinnvoll. 
Allerdings leidet die Glaubw|rdigkeit von eines solchen Systems und von
Aussagen wie "wir haben in der Zeitung gelesen, dass ihr am Tod etwas aendern
wolltet, also haben wirs gemacht" die uns Spielern eine
Beteiligungsmoeglichkeit vorgaukeln sollen, schon stark unter dem Bild, das
sich mir (subjektiv) durch die isolierte Entscheidung eines EM-Grueppchens
bezueglich der Stupse-Aenderung darstellt.

Ryne


-----------------------------------------------------------------------------



Re: behalte (Ringor, 16. Jun 1997, 16:15:24):
~#! rn=Trekan rt=866446214 rg=entwicklung
~#! tid=866446214
Wenn Du sehen willst, was bei Dir alles behalten wird, mach i -b.

Ringor. Heute mal mit konstruktivem Zweizeiler.

-----------------------------------------------------------------------------



Re: Re: behalte (Schoko, 16. Jun 1997, 16:18:04):
~#! rn=Ringor rt=866470524 rg=entwicklung
~#! tid=866446214

Aber da muss ich ja wieder i -b machen und danach i um zu sehen, obs auch
wirklich alles das ist, was ich will. Schoen waere es doch gerade, wenn man
das auf einen Blick sehen koennte.

Schoko (seeehr bequem *blinzel zu Zephyr*)

-----------------------------------------------------------------------------



Re^3: behalte (Ringor, 16. Jun 1997, 16:23:14):
~#! rn=Schoko rt=866470684 rg=entwicklung
~#! tid=866446214
Sorry, Korrektur zu meinem voherigen Artikel: das i-b is naemlich mein Ali
fuer genau die Sachen, die eben nicht auf behalte sind. Und genau damit
sieht man ja, was verkauft wuerde per 'verkaufe alles'.

Also doch nur ein Befehl und nix neues noetig ;-)

Ringor

-----------------------------------------------------------------------------



Re^4: Ankuendigung: Stups-Verlust (Balion, 16. Jun 1997, 16:58:46):
~#! rn=Silvana rt=866311855 rg=entwicklung
~#! tid=866104677
Ein kleiner Vorschlag meinerseits:

Wie waere es, wenn vor (bei) jeder 'groesseren' Aenderung (Stupse, neuer Tod,
etc.) ein Artikel in die MPA gesetzt wird, in dem die Aenderung und ihre
Folgen kurz beschrieben wird. Dieser Artikel koennte in einer Rubrik
"Ankuendigungen/Aenderungen" (oder so) stehn. Dann waeren wenigstens alle
Spieler (die die MPA lesen) ueber die neuerungen informiert.

Balion

P.S.: Mir gefaellt das Mg so wie es ist ganz gut. Die grosse Spielerzahl
sollte Bestaetigung genug sein, dass das Mud einer Menge von Leuten gefaellt.
Diejenigen, denen das MG nicht gefaellt, koennen sich ja ein anderes MUD
suchen. Von mir jedenfalls einen Dank an alle Magier, denen wir es verdanken,
das es das MG, so wie es heute besteht, gibt. Keep up the good Work. 

-----------------------------------------------------------------------------



Re^5: Ankuendigung: Stups-Verlust (Patryn, 16. Jun 1997, 17:02:49):
~#! rn=Balion rt=866473126 rg=entwicklung
~#! tid=866104677
wem es noch nicht aufgefallen ist: es haben sich bereits eine menge
spieler ein neues mud gesucht.

------
patryn, das wort zum montag

-----------------------------------------------------------------------------



Re^6: Ankuendigung: Stups-Verlust (Rantanplan, 16. Jun 1997, 17:07:14):
~#! rn=Patryn rt=866473369 rg=entwicklung
~#! tid=866104677
Klar, aber die Frage, die sich stellt, ist das gewollt, oder liegt es
einfach daran, dass so viele Leute mit irgendetwas unzufrieden sind...?

Oe*

-----------------------------------------------------------------------------



Re^5: Ankuendigung: Stups-Verlust (Atoz, 16. Jun 1997, 17:55:03):
~#! rn=Balion rt=866473126 rg=entwicklung
~#! tid=866104677
Balion die Idee mit der Rubrik Aenderungen ist richtig nett, gefaellt mir, den
gleiche Vorschlag habe ich naemlich auch schon gemacht. 
Ich kann mich nur noch erinnern, dass er nicht durchkam, warum weiss ich nicht
mehr...

Tschau Atoz

-----------------------------------------------------------------------------



Re^5: Ankuendigung: Stups-Verlust (Lug, 16. Jun 1997, 19:32:55):
~#! rn=Balion rt=866473126 rg=entwicklung
~#! tid=866104677

Moin,

toll Balion! Dir gefaellt es so dolle, das Du lieber Knuddelwuckel mal eben
allen ins Genick springst, die Kritik ueben, weil ihnen das MUD vorher besser
gefiel. Du bist allerdings das Paradebeispiel fuer die offenbar herrschende
Einstellung, dass ja eh neue Spieler kommen. Schoen bestaetigt. Danke Du
Wumbelpumpelschnuckelchen, Du.

herzallerliebst
Lug

-----------------------------------------------------------------------------



Re^10: Neuer Tod (Key, 16. Jun 1997, 19:34:21):
~#! rn=Zorro rt=865845307 rg=entwicklung
~#! tid=865541688

Lug .... aehm ... also ich glaube wir muessen mal nen Woertchen miteinander
reden ... bisher dachte ich nicht das du vom anderen Ufer stammst :))

Key muellend ;)

-----------------------------------------------------------------------------



Re^11: Neuer Tod (Lug, 16. Jun 1997, 19:42:20):
~#! rn=Key rt=866482461 rg=entwicklung
~#! tid=865541688

Hm Key,

Du alte Fummeltrine solltest wissen, dass ich nicht auf Dich abfahr ;)

Schmarrend
Lug

-----------------------------------------------------------------------------



Re^6: Ankuendigung: Stups-Verlust (Grimmborn, 16. Jun 1997, 19:46:40):
~#! rn=Lug rt=866482375 rg=entwicklung
~#! tid=866104677
Aeh, verstehe ich das falsch? Du bist der Meinung, Balion soll mit seiner
unausgegorenen Meinung hinterm Berg halten, weil das nicht in die von Dir
propagierte Linie einer primitiven Stimmungsmache passt? Es steht hier jedem
frei, seine Meinung zu aeussern. Und anschliessend fertiggemacht zu werden,
ok. Er hat lediglich einen uralten Vorschlag gemacht, der noch nie
funktioniert hat und dann gesagt "Wenns euch nicht passt geht doch nach
drueben!". Find ich voellig in Ordnung.

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re^7: Ankuendigung: Stups-Verlust (Lug, 16. Jun 1997, 19:56:06):
~#! rn=Grimmborn rt=866483200 rg=entwicklung
~#! tid=866104677
Huhu Griimbron,

hihi und das von Dir: propagierte Linie einer primitiven Stimmungsmache :)
Ulkig. Und jau, Du hast es nicht kapiert ;)

Gruss
Lug

-----------------------------------------------------------------------------



Re^8: Ankuendigung: Stups-Verlust (Grimmborn, 16. Jun 1997, 20:08:26):
~#! rn=Lug rt=866483766 rg=entwicklung
~#! tid=866104677
Hmm, was masst Du Dir an, beurteilen zu koennen, was ich verstehe und was
nicht? Das ist viel gewagt, oft verstehe ich das ja nichtmal selber, was ich
nun verstanden habe oder nicht. Oder so. Immerhin. Naja.

GdA

-----------------------------------------------------------------------------



Re^9: Ankuendigung: Stups-Verlust (Lug, 16. Jun 1997, 20:10:21):
~#! rn=Grimmborn rt=866484506 rg=entwicklung
~#! tid=866104677

Wieso? machst Du doch auch immer ;) Aber damit Du es verstehst: ich finde das
"geh-doch-in-die-DDR-wenn-es-Dir-hier-nicht-passt-Antwortmodell" eben nicht so
toll. Besonders, wenn viele alte Freunde, die dieses MUD bereichert haben,
schon weggegangen sind. Aber das rafft der Ballirgendwas wohl nicht.

Lug

-----------------------------------------------------------------------------



Re^3: behalte (Tasha, 17. Jun 1997, 21:20:10):
~#! rn=Stahldorn rt=866462933 rg=entwicklung
~#! tid=866446214
Und seitdem um den Spruch "Das MG hat jetzt die Adresse mg.mud.de" beim
einloggen vom IBM-Grossrechner immer so seltsame Sonerzeichen sind.

Tasha

-----------------------------------------------------------------------------



Re^10: Ankuendigung: Stups-Verlust (Socrate, 18. Jun 1997, 12:32:10):
~#! rn=Lug rt=866484621 rg=entwicklung
~#! tid=866104677
Also Leute, 
ich weiss also garnicht was ihr habt. Wie hier was und und warum geaendert
wird, da blickt zwar keiner mehr durch, aber was solls. Ist halt kein
statisches Spiel sondern, die Spielregeln sind halt gerade so, wie es einem,
der hier was zu sagen hat, 
gerade gefaaellt. Make rules as we go along. Das ist keine Magierwillkuer
mehr, das ist Ersatzbefriedigung.
Ich finde mman sollte uach ueberhaupt nicht mehr mitteilen, nachdem was
geaendert wurde. Man macht daraus ne quest. Wer zuerst rausfindet, was
geandert wurde bekommt halt 100 Abenteuerpunkte. Na ja und wenn es keiner
rausfindet, bzw die Spieler nicht mehr
mit dem Forschen hinterherkommen, umso besser, dann lohnt es sich wenigstens
mal wieder in Port Vain die Gegend zu untersuchen und mal so zu testen, ob man
noch tanken kann oder ob es ueberhapt noch abenteuerpunkte gibt. Hey das nenne
ich ein Phantasy-Mud!

-----------------------------------------------------------------------------



Re^11: Ankuendigung: Stups-Verlust (Hate, 19. Jun 1997, 10:00:29):
~#! rn=Socrate rt=866629930 rg=entwicklung
~#! tid=866104677
Hmm, Socrate, Du verlierst immer mehr Punkte...
Hate.

-----------------------------------------------------------------------------



Re^12: Ankuendigung: Stups-Verlust (Socrate, 19. Jun 1997, 12:05:07):
~#! rn=Hate rt=866707229 rg=entwicklung
~#! tid=866104677
Hate, 
was denn fuer Punkte? aps oder lebenspunkte? versteh ich nicht, ich dachte ich
waer Magier, und da braeuchte ich eh keine punkte mehr.
Socrate

-----------------------------------------------------------------------------



Anregung zum Inv-Befehl (Slyfox, 19. Jun 1997, 13:14:37):
Ich haette eine Bitte zum Inv-Befehl.
Wenn man mit 'i' die ganzen Autoload-Objekte nicht sehen will, was macht man
da? Man setzt ein alias i=i -a. Ok.
Aber leider sieht man da nicht mehr, wieviel Geld man gerade bei sich hat,
da das Geld dummerweise auch zu den Autoload-Objekten zaehlt, und wieviel
man gerade bei sich hat, moechte man, als Spieler zumindest, schon sehen.
Deshalb hab ich die bitte, dass das Geld beim i -a zur Ausnahme trotzdem
angezeigt wird.

Ich hoffe, einer der zustaendigen Magier wird sich mal drum kuemmern.

  Slyfox

-----------------------------------------------------------------------------



Re: Anregung zum Inv-Befehl (Patryn, 19. Jun 1997, 13:25:53):
~#! rn=Slyfox rt=866718877 rg=entwicklung
~#! tid=866718877
eventuell ist es sogar guenstiger, den geldbetrag
in der score-anzeige mit anzugeben?!

------
patryn

-----------------------------------------------------------------------------



Re: Re: Anregung zum Inv-Befehl (Slyfox, 19. Jun 1997, 13:50:07):
~#! rn=Patryn rt=866719553 rg=entwicklung
~#! tid=866718877
Hm.. aber Geld hat doch nun ueberhaupt nix mit Punkten zu tun!

------
slyfox
,

-----------------------------------------------------------------------------



Re^3: Anregung zum Inv-Befehl (Majestix, 19. Jun 1997, 13:53:37):
~#! rn=Slyfox rt=866721007 rg=entwicklung
~#! tid=866718877
also Patryn, den Artikel haettest Du Dir echt sparen koennen, rein
zufaellig ist das Anliegen von Sly gar nicht mal so dumm, und man 
sollte nicht gleich jede Frage im naechsten Artikel niedermachen :(

gefrustet sei
   Janice

-----------------------------------------------------------------------------



Re^4: Anregung zum Inv-Befehl (Grimmborn, 19. Jun 1997, 13:58:11):
~#! rn=Majestix rt=866721217 rg=entwicklung
~#! tid=866718877
Hmm? Ohne Dich speziell blamieren zu wollen (was Du ja offensichtlich selber
gut genug kannst): Soweit ich das sehe hat Patryn lediglich die Idee von Sly
(durchaus konstruktiv) weiterentwickelt. Wenn hier jemand jemand anderen
runtermacht, dann nicht Patryn Sly, sondern Du Patryn. Denk mal drueber nach.

Grimmborn der Atheist macht jeden runter.

-----------------------------------------------------------------------------



Re^4: Anregung zum Inv-Befehl (Patryn, 19. Jun 1997, 14:23:53):
~#! rn=Majestix rt=866721217 rg=entwicklung
~#! tid=866718877
*hust* wieso runtermachen?

das war nen ernstgemeinter vorschlag von mir, das geld in der
score-anzeige mit anzugeben. ich hab das in anderen muds schon gesehen
und befand es fuer gut. geld hat sowieso ne sonderstellung und kann da ruhig
mit rein.

------
patryn, macht selten leute runter, und schon gar nicht, wenn
        sie etwas vorgeschlagen haben

-----------------------------------------------------------------------------



WWW (Dieder, 19. Jun 1997, 23:22:49):
Hi!

Wie waere es, wenn beim fingern eines Spielers eine zusaetzliche Zeile mit
seiner WWW-Homepage erscheinen wuerde? (so wie Plan, Projekt etc.)

Im PK-Mud gibts das (gut, ist vielleicht kein Argument ;-))) aber ich faende
es sehr interessant, mal von einigen Spielern die Homepages durchzuwuehlen...

Gruss,
Dieder

-----------------------------------------------------------------------------



Re^5: Anregung zum Inv-Befehl (Yantro, 20. Jun 1997, 07:47:54):
~#! rn=Patryn rt=866723033 rg=entwicklung
~#! tid=866718877
Patryn, man kann sich drueber streiten, denn in score erscheinen eigentlich
nur Koerpereigenschaften, bzw die des Charakters... Das das Geld im inv ist,
dass find ich ok, vor allem, weil in dem einen Mud, wo ich das Geld aus dem
score kenne, das Geld dann auch nix mehr wiegt und das ist eigentlich ein
herber Bug :)

Yantro

-----------------------------------------------------------------------------



Re: WWW (Asmodis, 20. Jun 1997, 08:25:01):
~#! rn=Dieder rt=866755369 rg=entwicklung
~#! tid=866755369
Kann doch jeder selbst angeben, wer es nicht tut, der will das
vielleicht auch nicht :)

-----------------------------------------------------------------------------



gewichtloses geld (Ender, 20. Jun 1997, 08:31:13):
Dass Geld nichts wiegt, waere ein tolle sache, wie wars wenn wir im Mud in
Zukunft mit scheckkarte bezahlen, kann nicht schnell mal jemand sowas proggen?
ender.

-----------------------------------------------------------------------------



Re: gewichtloses geld (Key, 20. Jun 1997, 08:35:41):
~#! rn=Ender rt=866788273 rg=entwicklung
~#! tid=866788273
Ja klar ein Traum eines jeden Bankies ... Geld das nix wiegt ....
Hmm dann brauch ich ja statt 20 Bankies netmal einen, kann ja alles selbst mit
mir rumschleppen ... nene das geld sollte schon so bleiben wie es ist, naja
oki ne veraenderung bei i -a faende ich auch oki :)

Key

-----------------------------------------------------------------------------



Re^6: Anregung zum Inv-Befehl (Trekan, 20. Jun 1997, 09:24:46):
~#! rn=Yantro rt=866785674 rg=entwicklung
~#! tid=866718877
vielleicht wird ja da das geld in form von check's und kreiditkarten 
mitgefuehrt ? ;)
Treka

-----------------------------------------------------------------------------



Neue Stups-Bewertung (Wargon, 20. Jun 1997, 10:35:06):
  Hi!
Mit dem Reboot heute (20.06.) um 11:30 wird eine neue Stufenpunkt-Bewertung
aktiv. Am System selbst aendern sich nur zwei Punkte:
- Bei der Bewertung der Forscherpunkte werden alle Spieler gleich behandelt,
es gibt 6 Stufenpunkte pro Forscherpunkt. Da unter den Top-Forschern
hauptsaechlich 'alte' Spieler zu finden sind, scheint diese Angleichung
gerechtfertigt.
- Der sowieso nur inoffiziell vorhandene Anteil durch ZT-Stellen, an denen man
keinen ZT bekam, entfaellt. Dies ist durch das vor der Vollendung stehende
ZT-Orakel gerechtfertigt, das niemanden mehr zwingt, alle bekannten ZT-Stellen
abzugrasen.

Eine Abwertung des FP-Anteils auf weniger als 6 Stufenpunkte pro FP findet nun
doch nicht statt.

Mit der Aenderung einher geht auch eine teilweise Neubewertung von
Erstkill-Stupsen. Ausserdem faellt der letzte Tarko-Reub-AP weg :)
  Wargon

-----------------------------------------------------------------------------



Re: Neue Stups-Bewertung (Padreic, 20. Jun 1997, 10:41:31):
~#! rn=Wargon rt=866795706 rg=entwicklung
~#! tid=866795706
Also ich finde zumindest ueber das wegfallen des AP sollte es im Morgengrauen
nochmal eine Diskussion geben.
                               Padreic (grinsend)

-----------------------------------------------------------------------------



kreditkarte (Ender, 20. Jun 1997, 10:41:45):
bin fuer Kreditkarten. Bankzweitis landen eh im baum.
ender.

-----------------------------------------------------------------------------



Re: kreditkarte (Asmodis, 20. Jun 1997, 11:57:23):
~#! rn=Ender rt=866796105 rg=entwicklung
~#! tid=866796105
Dann klauen die Raeuber dir demnaechst eben die Kreditkarte und die
Schecks, wo ist da der Unterschied ? :)

-----------------------------------------------------------------------------



Re^3: kreditkarte (Zardoz, 20. Jun 1997, 12:03:20):
~#! rn=Schlips rt=866800720 rg=entwicklung
~#! tid=866796105
Naja, Kreditkarte passt nicht so ganz in ein Fantasymud. Aber da es hier eh
schon soviel gibt, was dort nicht hineingehoeren wuerde... Aber man sollte
sich wirklich mal was zum Geldwesen ueberlegen, es ist naemlich totaler
Schwachsinn, dass hier jeder seine 5-10 Bankzweities hat. Da waere eine
MG-Bank doch besser.

Ciao Zardoz

-----------------------------------------------------------------------------



Re: Neue Stups-Bewertung (Anakin, 20. Jun 1997, 12:07:45):
~#! rn=Wargon rt=866795706 rg=entwicklung
~#! tid=866795706
Uhu,

Nur eine klitzekleine Frage:
Weil halt ein paar 'alte' Seher wirklich nochmal alle Questen durch sind,
gibt es keine 7 FP mehr pro Quest. So weit so gut. 
Aber die weit aus groessere Anzahl an Leuten haben die Questen
nicht nochmal gemacht. Wie war das mit der Besitzstandswahrung?
MIt anderen Worten, die Altseher sind angearscht.
Tolle Sache.

Anakin.

-----------------------------------------------------------------------------



Re^3: Neue Stups-Bewertung (Anakin, 20. Jun 1997, 12:14:03):
~#! rn=Padreic rt=866801389 rg=entwicklung
~#! tid=866795706
Naja Padreic, du scheinst zu vergessen, dass hier einige
Spieler enorme Zeit in den Character investiert haben.
Und wenn ich mich hier abrackere um irgendwas zu erreichen,
und dann durch Aenderungen mehr oder weniger wieder
zurueckgeworfen werde (wohin auch immer) finde ich das
weniger gut. Zumal bei Aenderungen die meines Wissens
nicht mit Spielern diskutiert wurden (Jaja wir sind
keine Demokartie). Aber von FP-Abwertung und alle
SPieler gleiche FP, habe ich in den einschlaegigen
Rubriken nie was gelesen. Und da waren einige ganz
nette Vorschlaege dabei.

Anakin.

-----------------------------------------------------------------------------



Re^4: Neue Stups-Bewertung (Padreic, 20. Jun 1997, 12:17:07):
~#! rn=Anakin rt=866801643 rg=entwicklung
~#! tid=866795706
Hm und wie ist das mit den neueren Spielern? Die darf man ruhig immer weiter
benachteiligen...
faengt ja schon mit den Seherkriterien an.
Der Gedanke der besitzstandwahrung schadet jeglichem Reformgeist und reformen
sind hier wie auch ueberall sonst dringend notwendig.
                                  Padreic

-----------------------------------------------------------------------------



Re^5: Neue Stups-Bewertung (Anakin, 20. Jun 1997, 12:19:22):
~#! rn=Padreic rt=866801827 rg=entwicklung
~#! tid=866795706
Hehe Padreic :)
Einen benachteilgst du immer. Die Altseher haben 7FP bekommen,
damit sie nicht benachteiligt sind, weil sie
nicht die FP in den alten Quests bekommen. Das war das Argument
damals und da wurde heftig drum gestritten, die Spieler
wollten eigentlich die FP's aus den alten Quests, aber das
wurd nicht zugestanden, und jetzt wurde so eine
Zusage von damals einfach zunichte gemacht, tolle Sache.

Anakin.

-----------------------------------------------------------------------------



Re: Re: kreditkarte (Grimmborn, 20. Jun 1997, 12:29:05):
~#! rn=Asmodis rt=866800643 rg=entwicklung
~#! tid=866796105
Bei Schecks haftet man nur bis zu 500 Muenzen, wenn man den Diebstahl
rechtzeitig meldet...

GdA

-----------------------------------------------------------------------------



Re^3: kreditkarte (Asmodis, 20. Jun 1997, 12:40:12):
~#! rn=Grimmborn rt=866802545 rg=entwicklung
~#! tid=866796105
Was heisst rechtzeitig ? Wie ich Rochus' Raeuber kenne, laufen die sofort zur
Bank und loesen sie ein :)

-----------------------------------------------------------------------------



Re^4: kreditkarte (Patryn, 20. Jun 1997, 12:40:56):
~#! rn=Zardoz rt=866801000 rg=entwicklung
~#! tid=866796105
ja, ich bin auch fuer die eimnfuehrung einer bank.
um das ganze dann schmackhafter zu machen, koennte man
geld im spieler besteuern (levelabhaengig)

------
patryn

-----------------------------------------------------------------------------



Re^5: kreditkarte (Asmodis, 20. Jun 1997, 12:42:41):
~#! rn=Patryn rt=866803256 rg=entwicklung
~#! tid=866796105
Ja, schroepft uns doch noch mehr, nur damit ihr eure Palaeste
unterhalten koennt....Magierpack ... :)

-----------------------------------------------------------------------------



Werliste und Standorteintraege (Hate, 20. Jun 1997, 12:48:47):
Hi,

wie ihr seht sind die Standorteintraege fuer jeden einzelnen etwas
anders als gewohnt. Das liegt daran, dass ich eine automatische whois
Abfrage gebaut habe, weil es nervig ist fuer jeden einen Eintrag zu machen
und es so viele Netze gibt.

Nunja, ganz perfekt ist es noch nicht da
  a) fuer wer das ganze zu lang ist (ich muss noch rausfinden, wie ich
     die Stadt einfach rausparse
  b) Noch-Europaische Daten sind nicht vorhanden (zweitabfrage bei einem
     anderen whois server...

Hate.

-----------------------------------------------------------------------------



275 (Lug, 20. Jun 1997, 13:49:30):
~#! rn=Grimmborn rt=866804496 rg=entwicklung
~#! tid=866795706
Aehem,

Moin. NOchmal was zur Diskussion zwischen Padreic und Anakin:

a) Wieso werden neue Spieler benachteiligt, wenn man den alten, pasuschal ein
paar Puenktchen fuer alte geloeste Questen geben wuerde?

b) Mit der Aenderung ist die Verlade von damals tatsaechlich komplett. Wurde
der Punkt mehr doch eben als Ausgleich eingefuehrt.

c) Es ist tatsaechlich so wie Anakin sagt. Was man an Zeit und geld (Modem)
investiert hat, verliert man wirklich nur ungern durch extreme Willkuer.

d) Wir haben doch diese Questlog-Buechlein, da steht doch das Datum der
Loesung drin, ist es tatsaechlich unmoeglich, da was fuer die Alzheimer-Seher
zu machen?

Zuck
lug

-----------------------------------------------------------------------------



Re: kreditkarte (Bankzweitie, 20. Jun 1997, 13:53:25):
~#! rn=Ender rt=866796105 rg=entwicklung
~#! tid=866796105
Baum? Na gut, kann ich ein paar Gardewaechter metzeln, die haben ja auch immer
Kohle dabei.

Gruesse aus dem Baum, Bankzweitie

-----------------------------------------------------------------------------



Zum geplanten ZT-Orakel (Pake, 20. Jun 1997, 13:54:27):
So! Es ist soweit: Mein erster Artikel :)
Ich habe irgendwie die Diskussion um das geplante ZT-Orakel verpasst.
Bis jetzt habe ich nur Geruechteweise gehoert, das so etwas eingefuehrt
werden soll und sich daher auch was an den ZT-Stellen aendern soll...

Kann also einer mal rekapitulieren, was nun konkret geplant ist, wann es
eingefuehrt werden soll, und welche Auswirkungen es hat?

Pake

-----------------------------------------------------------------------------



Re: Zum geplanten ZT-Orakel (Asmodis, 20. Jun 1997, 13:56:54):
~#! rn=Pake rt=866807667 rg=entwicklung
~#! tid=866807667
Warte doch bis es kommt, bei den Erzmagiern hier weiss man nie :)
Aber was ich so gehoert habe, werden die Zt-Listen ueberfluessig,
Weil man ueber das Orakel erfahren kann, wo seine Zts liegen,
oder so ...

-----------------------------------------------------------------------------



Re^6: Ankuendigung: Stups-Verlust (Key, 20. Jun 1997, 14:57:19):
~#! rn=Orktoeter rt=866113418 rg=entwicklung
~#! tid=866104677
Huhu, will auch wieder senfen ...

Tja Anakin die Altseher wurden schon vor nem Jahr verarscht, und die Diskusion
wurde einfach unterdrueckt ... Naja diese wahrscheinlich auch bald .. haste ja
damals auch mitgekriegt ... Naja Ergebnis ist einfach: Neue Spieler die das
Mud so kennenlernen, und alte die sich loeschen weil es bald mal reicht ...

Ach und Padreic spar dir deine Luft um mal was anstaendiges zu proggen ...
naja vielleicht auch damit dein Gehirn mal nen bisserl Sauerstoff abkriegt ;)
Na schickste mir jetzt wieder ne mail weil ich dich net in der Zeitung an
machen soll? :)



Hmm Hate ... ich weiss nicht ... diese neue Sache beim wer usw .. ist meiner
Meinung nach Ueberfluessig ... Eher stoehrend da viel zu lang und verwirrend
zum teil ... Naja und was soll das bringen? ich komme laut dieser Anzeige vom
HRZ in Marburg ... stimmt gar net da is nur ein Account ... und da die meisten
Mudder nen Account ham wohl eher ueberfluessig.

Aber ne nette Idee :)


bye
Key

-----------------------------------------------------------------------------



Re: Anregung zum Inv-Befehl (Raffi, 20. Jun 1997, 15:00:10):
~#! rn=Slyfox rt=866718877 rg=entwicklung
~#! tid=866718877
Es gibt ne einfache loesung wenn Du sehen willst wieviel geld du hast:
'unt geld'

Grins
H.

-----------------------------------------------------------------------------



Re: Re: Anregung zum Inv-Befehl (Slyfox, 20. Jun 1997, 15:06:06):
~#! rn=Raffi rt=866811610 rg=entwicklung
~#! tid=866718877
Ich weiss, ich hab mir das auch schon gedacht, dass das einer sagen wuerde.
Aber ich haett halt bei 'i' gern eine Komplette Uebersicht, was ich habe,
aber halt ohne meine 23 Autoload-Objekte.
Ich waer auch zu faul, jedes mal 'i' und dann auch noch unt geld bzw 'ug' zu
tippen. ;)

   Slyfox

-----------------------------------------------------------------------------



Re: Re: Neue Stups-Bewertung (Stahldorn, 20. Jun 1997, 15:07:22):
~#! rn=Anakin rt=866801265 rg=entwicklung
~#! tid=866795706
Ganz meine Meinung. Die "Altseher" sind gearscht.
Ich faends fairer, ueberhaupt alle Spieler nochmal zu loeschen und neu
anzufangen. (Das mein ich ehrlich. kein witz)

STAHL.

-----------------------------------------------------------------------------



Re^5: Anregung zum Inv-Befehl (Grimmborn, 20. Jun 1997, 15:13:57):
~#! rn=Key rt=866812283 rg=entwicklung
~#! tid=866718877
Bezeichnend, dass Dir eher ein "reply; Argl vergesst das sofort wieder! .))"
einfaellt als ein "loesche artikel <nr>". 

Grimmborn der Atheist macht Werbung fuer die Loeschfunktion der mpa

-----------------------------------------------------------------------------



Re^6: Anregung zum Inv-Befehl (Stahldorn, 20. Jun 1997, 15:18:30):
~#! rn=Grimmborn rt=866812437 rg=entwicklung
~#! tid=866718877
Ebenso bezeichnend, dass Grimmborn seinen Senf dazugeben muss.

STAHL.

-----------------------------------------------------------------------------



Re: Re: Neue Stups-Bewertung (Slyfox, 20. Jun 1997, 15:19:59):
~#! rn=Anakin rt=866801265 rg=entwicklung
~#! tid=866795706
Ich persoenlich finde es ok, dass die Stufenpunkte etwas abgewertet wurden.
Die Spieler/Seher haben mittlerweile Levels, die zu meinen alten Zeiten
noch unerreichbar waren. So viele EPs konnte man praktisch gar nicht
ermetzeln,
um einen Level von 60 zu erreichen.
Laufend komme neue Quests und Gebiete mit Forscherpunkten hinzu, neue Monster,
alles gibt immer mehr Stufenpunkte, die man bekommen kann.
So find ich es voll in Ordnung, wenn da die Stufenpunkte mal etwas abgewertet
werden.
Anakin mag recht haben, dass wir alten Seher jetzt etwas benachteiligt sind,
weil wir fuer manche Quests keine Stufenpunkte bekommen haben.
Aber es ist auch nicht in Ordung, wenn manche Seher die ganzen Quests nochmal
durchspielen und dann fuer die gefundenen Forscherpunkte eine hoehere Wertung
bekommen, das ist dann nicht fair gegenueber den juengeren Spielern.
Vielleicht faellt jemandem eine Loesung ein, die Stufenpunkte wirklich so zu
werten, dass niemand benachteiligt wird.

-----
Slyfox

-----------------------------------------------------------------------------



Re^7: Anregung zum Inv-Befehl (Grimmborn, 20. Jun 1997, 15:37:20):
~#! rn=Stahldorn rt=866812710 rg=entwicklung
~#! tid=866718877
Tja, immer bereit zu versuchen, die Welt zu verbessern.
Wenn "Erziehung" durch Verlegen nicht klappt, dann ja vielleicht Erziehung
durch Hinweisen auf den rechten Weg...

GdA

-----------------------------------------------------------------------------



Re^3: Anregung zum Inv-Befehl (Raffi, 20. Jun 1997, 15:53:08):
~#! rn=Slyfox rt=866811966 rg=entwicklung
~#! tid=866718877
Jo, versteh ich ..... ich verwende den I eigentlich immer nur um zu sehen ob
meine autoloader auch noch alle da sind :) (Das MG bootet ja bald oefter als
das PK!)

Gruss
H.

-----------------------------------------------------------------------------



Re: Neue Stups-Bewertung (Xera, 20. Jun 1997, 23:59:18):
~#! rn=Wargon rt=866795706 rg=entwicklung
~#! tid=866795706
Ich hab die Nase voll von diesen Reformen, bei denen ueber alle
(Spieler)koepfe hinweg, bestimmt wird!

Da ich zu den aelteren Spielern gehoere, und ich schon vor der 1.
Stupse-Reform Seherin war, fuehle ich mich wirklich auf den Arm genommen. Nach
der 1. Reform habe ich eine lange Pause gemacht, u.a. weil ich einfach keinen
Bock hatte, nochmal ueberall hinzulaufen und Bluemchen zu pfluecken, alte
ZT-Stellen abzugrasen, rund um die Uhr zu metzeln, um die Erstkill-Punkte zu
bekommen und alte quests noch mal zu machen (bzw. in den Questgebieten die
FP's abzugrasen). Vor ca. 1 Monat habe ich mich wieder aufgerafft, und
versucht aufzuholen, was ich als Alt-Seherin aufzuholen hatte.
Tja, und jetzt ist mein Charakter wieder abgewertet worden, und alles geht von
vorne los!

Ich habe durch die 1. Reform einige meiner besten Freunde verloren, die so wie
ich gedacht haben, aber _nicht_ wieder angefangen haben zu spielen so wie ich!
Ich kann's wirklich verstehen, wenn Spieler aufhoeren ins MorgenGrauen zu
kommen, ehrlich gesagt, ueberleg ich mir auch schon, einfach nicht mehr zu
kommen.

Mein Vorschlag:
1. Chancengleichheit fuer alle, d.h. gerechte (!) Aufwertung der alten Spieler
gegenueber den neuen Spielern!
2. Mitbestimmung _bevor_ so eine Reform durchgefuehrt wird!
Es werden doch immer wieder Artikel von Spielern mit guten Vorschlaegen in der
MPA geposted, die aber von den Erzis nie beruecksichtigt wurden.

Btw, wieso sollen eigentlich nur die Erzis darueber bestimmen, ob so was
durchgefuehrt wird? Was ist mit den RM's, bzw. den anderen Magiern, ganz zu
schweigen von den Sehern und Spielern, die das Mud ja aufrecht erhalten! Dass
nicht mal Silvana (sie war auch nicht die einzige, so weit  man das in der MPA
mitverfolgen konnte), die ja sehr viel im MG tut, darueber rechtzeitig
informiert wurde, finde ich wirklich peinlich fuer die Erzis!!!

Xera, die zum ersten Mal einen Artikel veroeffentlicht hat

-----------------------------------------------------------------------------



Re: Re: Neue Stups-Bewertung (Fyt, 21. Jun 1997, 08:22:45):
~#! rn=Padreic rt=866796091 rg=entwicklung
~#! tid=866795706

'Wahlversprechen' kommt von 'Versprecher'...

Fyt.

-----------------------------------------------------------------------------



Re: Re: Neue Stups-Bewertung (Fyt, 21. Jun 1997, 08:36:38):
~#! rn=Anakin rt=866801265 rg=entwicklung
~#! tid=866795706

Naja, is doch logisch, schliesslich sind es ja auch die Altseher, die
hier am meisten rummotzen, sich staendig beschweren, dass es frueher
doch soooooo viel besser waere, es noch Spass gemacht haette... Wenn
man die paar Stoerenfriede raus hat und nur noch die Huepper uebrig sind,
die an die Allmacht der Muensteraner Erzieriege (ich hoffe, das trifft
jetzt besser, als wenn ich 'die Erzies' schreibe) glauben, laesst es sich
doch viel besser sonnen...

Nein, ich werde nicht 'rueber' gehen. Das soll heissen: Spielen tu ich
schon laenger in anderen Mud, Programmieren noch laenger, zum Motzen werde
ich aber hierbleiben... man muss halt aus dem grossen Mudangebot fuer jeden
Zweck das Passende auswaehlen, und es ist ja nicht so, als ob das MG zu
gar nix mehr zu gebrauchen waere. Danke Wargon ;-)

Fyt.

PS: Punkt fuer Ryne...

-----------------------------------------------------------------------------



Re^5: Neue Stups-Bewertung (Fyt, 21. Jun 1997, 08:42:03):
~#! rn=Padreic rt=866801827 rg=entwicklung
~#! tid=866795706

Neue Spieler wurden nicht benachteiligt. Die Hoeherbewertung der FP der
Altspieler sollte als Ausgleich dafuer dienen, dass sie die Quests zu
einer Zeit gemacht haben, als es darin keine FP gab.

Fyt.

-----------------------------------------------------------------------------



Re^3: Neue Stups-Bewertung (Fyt, 21. Jun 1997, 08:45:58):
~#! rn=Stahldorn rt=866812042 rg=entwicklung
~#! tid=866795706

Und bei der Gelegenheit koennte man auch mal die Magier loeschen und
ne neue Hierarchie aufbauen, die nicht darauf beruht, dass 'man mal was
vor fuenf Jahren gemacht hat'.

Fyt.

-----------------------------------------------------------------------------



Re^3: Neue Stups-Bewertung (Fyt, 21. Jun 1997, 08:54:32):
~#! rn=Slyfox rt=866812799 rg=entwicklung
~#! tid=866795706

Richtig, Slyfox. Man koennte aber auch die Menge an FP, fuer die Altseher
eine Stups mehr bekommt, auf die Anzahl der Stupse, die die Quest-FP bei
Einfuehrung des Systems wert waren, beschraenken und ihnen keine der
alten Quest-FP geben. Dann haette ein Altspieler mit allen FP genausoviel
Stupse wie ein Neuspieler mit allen FP, ohne noch einmal durch die Quests
zu muessen, kriegt aber andererseits nicht alle alten Quest-FP im Block
angeschrieben.

Gut, ich gebe ja zu, dass dasunter Umstaenden 50 Zeilen Code kostet und
das bei Leuten, die lieber ab- als anhaengen, auf massiven Widerstand
stossen wird...

Fyt.

-----------------------------------------------------------------------------



Standortanzeige.,.. (Hate, 21. Jun 1997, 11:39:01):
Also wenn mir jemand sagt wie man am einfachsten aus der WHOIS-NIC
NIC == Network Information Centre die Stadt auslesen kann, der moege mir
das mal mitteilen :-) 

Hate.

-----------------------------------------------------------------------------



stupse (Nonne, 22. Jun 1997, 00:10:03):
Mal eine ernstgemeinte Frage:
Ist das hier ein Wettbewerb oder spielen wir, um Spass zu haben?
Ich verstehe die ganze Aufregung nicht. Ist es nicht schon ungerecht, dass ich
das mud vorher nicht kannte? Sonst waere ich bestimmt auch Alt-Seher. Die
einzige Moeglichkeit Gerechtigkeit walten zu lassen, ist Sthaldorns Loesung:
Alle Loeschen, alle fangen bei 0 an, aber, wer will das, ausser Stahldorn,
wirklich??
Lasst uns einfach Spass haben und nicht nur in die Top-Liste gucken.

Seinen Senf, fuer euch :)
Nonne

-----------------------------------------------------------------------------



Re^8: Anregung zum Inv-Befehl (Bloodyharry, 22. Jun 1997, 01:21:39):
~#! rn=Grimmborn rt=866813840 rg=entwicklung
~#! tid=866718877
Verleg das doch bitte mal nach Witze. 

bh kichert

-----------------------------------------------------------------------------



253 (Lug, 22. Jun 1997, 01:41:18):
~#! rn=Bloodyharry rt=866935299 rg=entwicklung
~#! tid=866718877
Huhu Nonne,

das hat mit der Topliste nichts zu tun. Lies Dir bitte nochmal die
einschlaegigen Artikel dazu durch. Es hat eher was mit einem Gefuehl zu tun,
betrogen worden zu sein. Dieses gefuehl tragen einige (nicht alle) seit der
ersten Reform mit sich rum. Diese neue Reform ist da wie ein weiterer Tritt in
den Allerwertesten (natuerlich nicht fuer alle). Einige von uns trauern auch
um die, die gegangen sind (deswegen). Die Topliste koennte man ruhig
abhaengen, dann fiele das Argument weg.

Mal nicht hetzend (jedenfalls nicht absichtlich)

Lug

P.S.: 4 Punkte fuer Fyt.

-----------------------------------------------------------------------------



stupse (Nonne, 22. Jun 1997, 02:04:51):
Hallo Lug,
Worum wurden sie denn betrogen? Ehrlich erspielte Punkte? Was ist dann mit
Leuten die KL's benutzen? Oder die der Hydra nur den letzten Schlag geben? Das
istdann auch nicht fair. Ich finde allerdings auch kein Argument fuer die
Reform. Mir fehlt jetzt nur ein wenig die Motivation, da ich fuer die naechste
Stufe ueber 300 stupse brauche, aber das geht vorbei. Trauer um die
Abgewanderten kann ich allerdings verstehen, obwohl ich die Abwandernden nicht
verstehe. Der Reiz dieses muds liegt in der Groesse und der Vielseitigkeit,
und das behaelt das mud auch nach tausend Stupsreformen. Ich fuehle mich den
Magiern eher zu Dank verpflichtet, da sie durch ihre Arbeit mir Spielspass
bringen. Natuerlich sollte sowas mit den Betroffenen (Spielern) disskutiert
werden. Aber schon wieder sonn Aufstand, wie bei Tarko
Reub/SSP/Magier/KL/Spielerhilfe-Diskussion? Ich finde, das lohnt sich nicht.
Und wenn Magier abwandern (MG ohne Hydra?) rifft das das mud ungleich
heftiger. Also meine Devise: Locker Bleiben. Man kann sich auch so einigen,
wir sind ja nicht in Bonn/Berlin, oder?

Nonne

-----------------------------------------------------------------------------



Re: stupse (Lug, 22. Jun 1997, 02:38:26):
~#! rn=Nonne rt=866937891 rg=entwicklung
~#! tid=866937891

Also Nonne,

mal wieder das: Einige Leute haben aber KL's verwendet. Andere eben nicht,
einige manchmal, andere gar nicht. Na und? Machen die Neuen doch genauso oder
eben auch nicht. Ziemlich wertloses Argument. Der Raecher der KL's ist ja eh
Wargon (an seiner Quest hab ich ewig gesessen mit Agnetha zusammen, hat damals
Spass gemacht, Wargon heute nicht). Also was solls?
MOnster zu killen, die man nur mit Hilfe schafft ist illegitim? Gibt hier
genug, die bestimmte Gilden kaum packen koennen, es sei denn mit Hilfe. Ich
persoenlich finde gerade das gut, das ist naemlich Teamplay. Oder willst Du
alles alleine umbringen?
Warum Du partout nicht kapieren willst, warum diese Reform nervt, versteh ich
wiederum nicht. Mir aber auch egal, genauso wie den Reformatoren meine oder
die Meinung anderer Gegner der ganzen Aktion. Um nicht wieder misverstanden zu
werden: Im Prinzip hab ich nichts gegen diese Reform (Reformgegner ist
schlecht formuliert), aber die Ausfuehrung und die Art derselben, finde ich
aetzend. Selbiges koennte man fuer die anderen von Dir genannten Diskussionen
sagen. Bei den Magier haengt es m.E. davon ab wer geht: Puma, Schrumpfi und
besonders Zardoz, das sind in der tat ueble Verluste. Liegt das aber nur an
den Spielern?
Soviel dazu.

Im Kreis redend
Lug

P.S.: Danke Zardoz, Toeter, Bendeigid, Boing, Jof, Larissa, Arien, Zuerileu,
Puma, Shakedbeer undsoweiter undsoweiter...

-----------------------------------------------------------------------------



stupse (Nonne, 22. Jun 1997, 03:56:32):
Hi Lug :)
Ist doch so alles garnicht gemeint. Ich moechte nur an die Athmosphaere im MG
bei der letzten Diskussion erinnern. Das ist erst durch die Diskussion
eskaliert. Richtig eklig wurdes dann, als noch anderer Leute ihre Gebiete
abgehaengt ahben. Ich wollte nur drauf hinweisen, dass es das vielleicht
garnicht wert ist. So eine Atmosphaere moechte ich jedenfalls nicht nochmal.
Das soll nicht heissen, dass ich mir dann ein anderes mud suche. Es ist
einfach nicht so lustig und ausserdem habe ich langeweile :). Nehmt das alles
nicht so tierisch ernst, wir spielen hier doch... oder?

mit einem schmunzeln auf dem Lippen (schmalz, senf)

Nonne ;)

-----------------------------------------------------------------------------



Re^11: Neuer Tod (Critias, 22. Jun 1997, 16:10:35):
~#! rn=Grimmborn rt=865852336 rg=entwicklung
~#! tid=865541688
Hiho!

Ich finde SOLCHE Artikel (oder Magier) gehoeren nach -> schmarrn
Kann man solch selbstgerechte und arrogante Mags nicht einfach irgendnen Muell
proggen lassen und ihnen Schreibverbot fuer die Mpa erteilen......

Critias, der Spieler runtermachen AETZEND findet

-----------------------------------------------------------------------------



Re: stupse (Fyt, 23. Jun 1997, 07:11:58):
~#! rn=Nonne rt=866937891 rg=entwicklung
~#! tid=866937891

Eben, wir sind nicht in Berlin/Bonn. Und eben deshalb versteh ich nicht,
wieso man hier mit den selben Methoden (erst versprechen und dann nicht
halten, 'Beruhigungspillen' usw.) arbeitet. Es geht ja nicht mal um Geld.
Wem kostet es irgendetwas, wenn nach vernuenftigen Loesungen gesucht und
wenn die gefunden sind, sie auch umgesetzt werden? Paar Stunden Hackerei?
Das machen die meisten Anwesenden gern und freiwillig...
Fyt.

-----------------------------------------------------------------------------



Re: stupse (Asmodis, 23. Jun 1997, 08:40:08):
~#! rn=Nonne rt=866931003 rg=entwicklung
~#! tid=866931003
Och noe, nicht loeschen, dann muss ich ja wieder Karate ueben :)

Naja, es ist schon irgendwie ungerecht fuer die Alt-Seher, aber wozu
brauchen sie die Stupse ueberhaupt ? Level erhoehen bringt mir auch
nix mehr, ich verliere nur weniger Eps beim sterben und Eps sind ja
immer noch ziemlich bedeutungslos :)
Viel schlimmer sind diese Massnahmen, die die Spielbarkeit
beeintraechtigen, wie z.B. Stolperfallen, wegfallen von entgifte,
neue handicaps beim Tod ...

-----------------------------------------------------------------------------



Re: stupse (Jasper, 23. Jun 1997, 13:52:01):
~#! rn=Nonne rt=866937891 rg=entwicklung
~#! tid=866937891
doch wir sind in bonn ;P

-----------------------------------------------------------------------------



Staedtenamen (Hate, 23. Jun 1997, 17:43:10):
Hallo Leute,

wie ihr sicher mitbekommen habt sind die Angaben zu den Staedtenamen wieder
aktiv. Die Daten werden vollautomatisch aus den Datenbanken der grossen
Internetbetreiber (Network Information Center) bezogen und somit kann
ich keine Garantie fuer die Richtigkeit uebernehmen. Wer also bei einer
Firma arbeitet die sehr stark verteilt ist in der Welt muss damit
Rechnen aus den USA zu kommen oder sonstwoher. Ansonsten funktioniert
es fuer Europa soweit ganz gut.

Hate.

-----------------------------------------------------------------------------



Re: Staedtenamen (Wurzel, 23. Jun 1997, 21:22:44):
~#! rn=Hate rt=867080590 rg=entwicklung
~#! tid=867080590
nein, funktioniert nicht so toll. wenn ich von darmstadt.netsurf.de komme, 
warum steht da dann frankfurt? nicht dass es wichtig waere, aber ich bin
doch kein wuerstchen :)

-----------------------------------------------------------------------------



Re: Re: Staedtenamen (Lug, 23. Jun 1997, 21:23:26):
~#! rn=Wurzel rt=867093764 rg=entwicklung
~#! tid=867080590

WURSTMAG! ;) *kicher*


-----------------------------------------------------------------------------



Re^7: Ankuendigung: Stups-Verlust (Mupfel, 24. Jun 1997, 00:15:45):
~#! rn=Rantanplan rt=866473634 rg=entwicklung
~#! tid=866104677
Das ist gewollt. Der MG Rechner wuerde kollabieren, wenn die alle dableiben
wuerden :-)

-mupfel-

-----------------------------------------------------------------------------



Re: Staedtenamen (Kobayashi, 24. Jun 1997, 09:19:03):
~#! rn=Hate rt=867080590 rg=entwicklung
~#! tid=867080590
Als ich
Also ich bekomm ueberall [<off>]

-----------------------------------------------------------------------------



Re: Re: Staedtenamen (Asmodis, 24. Jun 1997, 09:20:22):
~#! rn=Kobayashi rt=867136743 rg=entwicklung
~#! tid=867080590
Wahrscheinlich kommen alle aus Offenbach :)

-----------------------------------------------------------------------------



Aliasfalle (Alpha, 24. Jun 1997, 10:37:02):
ali ali nix da
alias unali nix da
alias alias nix da
und wum, kann ein doofer zweitie keine ali's mehr definieren.
Alpha wollte das mal nur testen - und ist erstaunt, dass das geht.

-----------------------------------------------------------------------------



Re: Aliasfalle (Ringor, 24. Jun 1997, 10:38:41):
~#! rn=Alpha rt=867141422 rg=entwicklung
~#! tid=867141422
Doch, kann er. Sofern er weiss, dass er nur einen Backslash vor den Befehl
setzen muss. Dann wird naemlich das Ali umgangen.

Ringor. 

-----------------------------------------------------------------------------



Re: Aliasfalle (Boing, 24. Jun 1997, 10:38:57):
~#! rn=Alpha rt=867141422 rg=entwicklung
~#! tid=867141422
ali x unali
x unali
Und schon geht's wieder ... aliase werden nicht rekursiv ausgewertet.
  Boing

-----------------------------------------------------------------------------



Re: Re: Aliasfalle (Pampers, 24. Jun 1997, 10:39:34):
~#! rn=Boing rt=867141537 rg=entwicklung
~#! tid=867141422
unalias alias reicht schon. :-)

Pampers.

-----------------------------------------------------------------------------



Re: Aliasfalle (Fyt, 24. Jun 1997, 10:40:37):
~#! rn=Alpha rt=867141422 rg=entwicklung
~#! tid=867141422
da muesstest Du aber auch noch 'alia' und noch ca. 1212349141 Aliasse
'verbergen'

Fyt.

-----------------------------------------------------------------------------



Re: Re: Staedtenamen (Hate, 24. Jun 1997, 11:32:10):
~#! rn=Wurzel rt=867093764 rg=entwicklung
~#! tid=867080590
Tja, der Eintrag fuer netsurf.de ist auf Hamburg (MAZ) eingetragen und
der Netzwerkteil (numerische IP Adresse) ist eingetragen auf eine Online
Firma die in Frankfurt behaust ist. Ich sagte ja, mehr oder weniger
globale provider koennten probleme machen.

Hate.

-----------------------------------------------------------------------------



Re^3: Staedtenamen (Stahldorn, 24. Jun 1997, 12:50:09):
~#! rn=Hate rt=867144730 rg=entwicklung
~#! tid=867080590
Ausserdem kann man den Befehl "unalias" nicht ueberladen. Im Gegensatz zu
"unali".

STAHL's Senf.

-----------------------------------------------------------------------------



Re^3: Staedtenamen (Mupfel, 24. Jun 1997, 15:30:03):
~#! rn=Hate rt=867144730 rg=entwicklung
~#! tid=867080590
nunja die mehr oder weniger globalen anbieter machen aber einen grossteil
derjenigen aus die nicht aus unis kommen schaetz ich mal

-mupfel-
froehliches basteln weiterhin :-)

-----------------------------------------------------------------------------



Re: Re: Staedtenamen (Kretek, 24. Jun 1997, 16:35:55):
~#! rn=Kobayashi rt=867136743 rg=entwicklung
~#! tid=867080590
Ahja :-)

-----------------------------------------------------------------------------



Re^4: Staedtenamen (Hate, 24. Jun 1997, 21:36:41):
~#! rn=Mupfel rt=867159003 rg=entwicklung
~#! tid=867080590
Dann wuerde es eher sinn machen die Organisation anzugeben als die Stadt,
da sich eben nicht alles zuordnen laesst. Das betrifft vor allem die
Firmen, die ihre Netze aus den USA beziehen. zu 90% wird ja die 
richtige Stadt erkannt und ich hab weniger Arbeit.
Hate.

-----------------------------------------------------------------------------



Re: der neue Tod (Hardil, 30. Jun 1997, 11:14:27):
~#! rn=Angrim rt=867661936 rg=entwicklung
~#! tid=867661936

Oh, schon wieder ein Artikel aus der Reihe Jammerlappen.
Wenn Du einen Artikel unter dem Namen "Angrim" schreibst, ihn mit "Padreic"
unterschreibst, dann zeigt das doch selbst dem duemmsten Hobbit oder Zwerg,
dass Du mit mehr als einem Charakter spielst. Was ist denn dann so schwer, mal
fuer die Zeit,
in der Du mit einem Charakter die Tode absitzt, mit dem anderen Charakter zu
spielen?
Wahrscheinlich hast Du ja wie alle Jammerlappen nicht nur einen, sondern
gleich 30 Zweities... ich verstehe echt nicht, wie man sich da so aufregen
kann.

-Hardil. Rentner.

-----------------------------------------------------------------------------



der neue Tod (Angrim, 30. Jun 1997, 11:14:51):
Ich wuerde vorschlagen, bei einem Reboot (bzw. Crash) alle Tode die man noch
angesammelt hat zu vergeben. Erstens ist ein Reboot auch so schon schlimm
genug und zweitens gibt dieses auch wenig Spielern oder Modembesitzern eine
Chance, die eben nicht mal so eben 50 Stunden ideln koennen. Wenn das naemlich
so weiter geht, bin ich meine 3 Tode fruehestens in 3-4 Monaten los und dass
macht nicht gerade Spass.
                                      Angrim

-----------------------------------------------------------------------------



Re: Re: der neue Tod (Angrim, 30. Jun 1997, 11:20:22):
~#! rn=Hardil rt=867662067 rg=entwicklung
~#! tid=867661936
Erstens ich besitze keine Armee von zweities, weil ich das nicht gerade
besonders Sinnvoll finde und ich dafuer auch keine Zeit haette. Den Fehler mit
dem Signieren, ups kann mal passieren schreib normalerweise halt sonst immer
nur mit Padreic Artikel und der ist nunmal kein Spieler und ich darf ihn auch
nicht parallel zu mir einloggen. Und wenn ich das hier richtig sehe, gibts
auch noch andere Leute die selten spielen und NICHT eine ganze Familie haben.
Es war denke ich auch nie so gedacht, dass man hier ne Familie haben muss, um
vernueftig spielen zu koennen. Sondern vielmehr, um auch mal andere Gilden
erkunden zu koennen, oder?
                                 Angrim

-----------------------------------------------------------------------------



Re: Re: der neue Tod (Fyt, 30. Jun 1997, 11:40:55):
~#! rn=Hardil rt=867662067 rg=entwicklung
~#! tid=867661936

Ich Jammerlappen habe nur einen Zweitie, und der war seit 37 Tagen nicht
da.... man huete sich vor Veallgemeinerungen, Chardil ;-)

Fyt.

-----------------------------------------------------------------------------



Alkohol ;) (Iwo, 30. Jun 1997, 13:41:21):
Folgende Idee ist letztens bei einer Disskusion mit Tweeg aufgekommen.
Wenn ein Spieler im MG alkoholisiert ist, drueckt sich das dadurch aus, dass
der oefters ruelpst und hickst. An dieser Stelle koennte man einen
Sprachfluch einfuehren, der dem Alkohollevel in seiner Staerke proportional
ist. Der Spieler lallt bei hohem Spiegel dann etwas rum und ist kaum
noch zu verstehen :). Dieser Sprachfluch sollte nicht entfernbar sein. Die
Randbedingungen muessen natuerlich beachtet werden (vielleicht
verstehen dann einige NPCs einen bei Questen nicht mehr und was es sonst noch
fuer Auswirkungen gibt).

Jedenfalls ist das eine interessante Idee und der Ueberlegung wert.


Iwo

-----------------------------------------------------------------------------



Re: Alkohol ;) (Alpha, 30. Jun 1997, 14:09:09):
~#! rn=Iwo rt=867670881 rg=entwicklung
~#! tid=867670881
Es nervt mich schon, wenn Bruno mich nicht mehr versteht, wenn ich den
Blubberfluch habe. Also, samtliche NPC's sollten mich schon verstehen.

-----------------------------------------------------------------------------



Re: Alkohol ;) (Zorro, 30. Jun 1997, 14:34:51):
~#! rn=Iwo rt=867670881 rg=entwicklung
~#! tid=867670881
Was fuer ein Quatsch ... das MUD ist doch dafuer da dass man spielen und sich
unterhalten kann ... und zum spielen gehoert hoer das Tanken nun mal dazu ...
und wenn man sich in den spielpause die halt auch beim alk-abidlen entstehen
sich nicht mehr unterhalten kann ist dass absolut daneben und bestimmt nicht
sinn der sache dann koennen wir auch alle ein home-mud auf machen ... 

Aber was soll's die magier wird das eh nicht interessieren da sie nicht
betroffen sind ... also gehe ich mal davon aus dass es angeschlossen wird ...
wie immer

Gruss Zorro

-----------------------------------------------------------------------------



Re: Re: Alkohol ;) (Grimmborn, 30. Jun 1997, 16:14:29):
~#! rn=Zorro rt=867674091 rg=entwicklung
~#! tid=867670881
Gratuliere zu Deinem hervorragend sachlichen Artikel.
Und natuerlich wird hier alles angeschlossen, was irgendwelche Leute an
unausgegorenen Ideen von sich geben. Vorrausgesetzt, sie kommen nicht von Dir.
Denn wir alle haben keine andere Aufgabe, als hinter Dir her zu sein und Dich
zu verfolgen.

GdA

-----------------------------------------------------------------------------



Re: Re: Alkohol ;) (Schlips, 30. Jun 1997, 16:28:02):
~#! rn=Zorro rt=867674091 rg=entwicklung
~#! tid=867670881
Hmm, also tanken kann man auch ohne besoffen zu werden ...
Schlips tankt nie alk (naja fast nie ;)

-----------------------------------------------------------------------------



Re^3: Alkohol ;) (Felagund, 30. Jun 1997, 19:44:56):
~#! rn=Schlips rt=867680882 rg=entwicklung
~#! tid=867670881
Bloss weil du lallst heisst das ja nicht, dass man dich GARnichtmehr versteht,
Zorro. Andererseits...da die Implementation von Iwo's Idee Alpha nerven wuerde
ist ihr natuerlich ohnehin jegliche Diskussionsgrundlage entzogen. Sorry, Iwo,
ich finde die Idee zwar auch gut, aber Alpha ist nunmal der einzig wirkliche
Spieler hier.

Fela 

P.S. Vorsich Acrimon, hier war Ironie drin, um nicht zu sagen Sarkasmus ;)
P.P.S. War Alpha nicht mal auf ner Liste von Spielern mit illegalen Stats die
als Testies zu markieren sind?

-----------------------------------------------------------------------------



Re^4: Alkohol ;) (Key, 30. Jun 1997, 20:13:19):
~#! rn=Felagund rt=867692696 rg=entwicklung
~#! tid=867670881
Hmm warum wird nicht der alklevel rl hochgesetzt wenn man vl was trinkt? Des
wuerde schon reichen um so viele Tippfehler reinzuhaemmern das man einen
nimmer versteht ;))

Key schmarrnd :)

-----------------------------------------------------------------------------



Re^5: Alkohol ;) (Flavia, 30. Jun 1997, 20:15:24):
~#! rn=Key rt=867694399 rg=entwicklung
~#! tid=867670881
Au ja. Dann aber ausserdem noch: Tode nach RL transportieren. (soll heissen,
wenn man VL stirbt, besucht man auch RL Lars ;) ) dann kann mal schauen, wie
es mit der Wiederbelebung aussschaut .. ;)

Flav schmarrt mit...

-----------------------------------------------------------------------------



Re^5: Alkohol ;) (Silvana, 30. Jun 1997, 20:17:10):
~#! rn=Key rt=867694399 rg=entwicklung
~#! tid=867670881
Vorsicht mit RL-Wirkungen von VL-Handlungen... Pyro kann ne Lied davon
singen. Ein magischer Rueckschlag (Zauberpatzer) hat ihr mal die
Festplatte gecrasht... teures Vergnuegen...
Silvana ->schmarrn()

-----------------------------------------------------------------------------



Re^6: Alkohol ;) (Key, 30. Jun 1997, 20:18:35):
~#! rn=Silvana rt=867694630 rg=entwicklung
~#! tid=867670881
Echt? 
Hmm Sofort die Zauberer wieder aufwerten, des ist ja wohl der groesste
Nachteil einer den Gilde den ich je hoerte :))

Key

-----------------------------------------------------------------------------



Re^7: Alkohol ;) (Flavia, 30. Jun 1997, 20:19:33):
~#! rn=Key rt=867694715 rg=entwicklung
~#! tid=867670881
Hm. Oder die Auswirkungen der Fehler geringer machen....
flav

-----------------------------------------------------------------------------



Re^8: Alkohol ;) (Key, 30. Jun 1997, 20:20:09):
~#! rn=Flavia rt=867694773 rg=entwicklung
~#! tid=867670881
Genau!
Silvana stell das mal bitte ab ;)))

key

-----------------------------------------------------------------------------



Re^6: Alkohol ;) (Raffi,  1. Jul 1997, 10:42:30):
~#! rn=Flavia rt=867694524 rg=entwicklung
~#! tid=867670881
VL Tote nach RL transportieren hallte ich fuer schlech, da ich zum einen nicht
weiss wohin mit den ganzen Leichen (Huhu Key), zum anderen wuerde es mich
wirklich stoeren wenn das ganze Zeuchs aus meinem Floppylaufwerk quellen
wuerde (Oder kommen die als Postscript ? Dann koennte ichs ja uebers Netz
gleich zum Friedhof umleiten :)

Aber ansonnsten ist mehr Realismus immer dut ....

Grins
H.
 

-----------------------------------------------------------------------------



Re^7: Alkohol ;) (Fyt,  1. Jul 1997, 10:45:22):
~#! rn=Raffi rt=867746550 rg=entwicklung
~#! tid=867670881

Heisst 'Postscript' nicht 'Kondolenzschreiben'?

Fyt.

-----------------------------------------------------------------------------



Re^8: Alkohol ;) (Grimmborn,  1. Jul 1997, 13:18:56):
~#! rn=Fyt rt=867746722 rg=entwicklung
~#! tid=867670881
Nein, Du verwechselst das sicher mit "post mortem Abbild" unter WinNT. So
nennen die da naemlich einen coredump. Und der "debugger" heisst da "Dr.
Watson".

Grimmborn der Atheist zieht anstaendige Entwicklerumgebungen vor.

-----------------------------------------------------------------------------



Re^9: Alkohol ;) (Kemp,  1. Jul 1997, 13:20:14):
~#! rn=Grimmborn rt=867755936 rg=entwicklung
~#! tid=867670881
*andiewandschmeissing* 

Kemp

-----------------------------------------------------------------------------



Re: der neue Tod (Krellja,  1. Jul 1997, 17:11:59):
~#! rn=Angrim rt=867662091 rg=entwicklung
~#! tid=867662091
Irgendetwas scheine ich hier nicht so recht zu verstehen. Muss man den sterbe
Ich zumindest aergere mich ueber jeden Tod (so viele waren das zum Glueck noch
nicht), habe aber nach dem letzten weitergespielt und, oh Wunder, das geht.

Tschuess
            Krellja

p.s. Was mich viel eher stoert, ist die staerke vieler mittelpraechtiger
Monster. Ich habe nach den (in der letzten Zeit leider recht haeufigen)
Reboots, immer reichlich Probleme eine halbwegs anstaendife Ausruestung
zusammenzubekommen. Bin halt noch weit von vollen Stats entfernt.


-----------------------------------------------------------------------------



Re: Re: der neue Tod (Angrim,  1. Jul 1997, 18:32:00):
~#! rn=Krellja rt=867769919 rg=entwicklung
~#! tid=867662091
Erstens Ich aergere mich auch ueber das sterben und zweitens kann man
sicherlich auch mit 1 oder 2 Toden noch spielen. Derzeit hab ich aber 3 Tode
und fuer die brauch ich ein paar Monate bis ich die wieder los bin (und nur
falls keine neuen kommen) und dann gibts nicht mehr soviel (die Quests hab ich
ja schon fast alle) und Ich hab nicht die Moeglichkeit einfach mal so meinen
Spieler 30-40 idlen zu lassen (von meinem Alter ist denke ich weniger als 1
Std. Idlezeit).
Und hier Monate lang seine Tode mitzuschleppen finde ich ein wenig aetzend.
                            Angrim

-----------------------------------------------------------------------------



Re^5: Alkohol ;) (Nonne,  2. Jul 1997, 17:10:19):
~#! rn=Key rt=867694399 rg=entwicklung
~#! tid=867670881
Das sit es, Key!
Der ultimativer Spielspass, wenn ich meinen Alk abidel, idelt mein Spieler
gleich mit, wenn ich mit dem Kopf auf der Tastatur liege und die Telekom mir
blumen schickt ;)

Nonne

-----------------------------------------------------------------------------



Re^3: der neue Tod (Catweazle,  2. Jul 1997, 19:42:23):
~#! rn=Angrim rt=867774720 rg=entwicklung
~#! tid=867662091

Hm, ich denke, Du uebertreibst schamlos. Selbst wenn Du nur 1h/tag spielst,
brauchst Du mit Sicherheit keinen ganzen Monat um wieder _voll_ zu sein.
Wenn Du sagst, Du kannst mit 1-2 Toden wieder spielen, wiederfaehrt Dir das
sogar noch wesentlich frueher.

YTC

-----------------------------------------------------------------------------



Reboot-Folgen (Orktoeter,  3. Jul 1997, 15:55:16):
Wenn ich nicht irre, hat es doch schon haeufiger die bitte gegeben, das nach
Einem Reboot auch die Spieler wieder 1. volle LP und MP haben, 2. nuechtern
sind und 3. koennte man evtl noch neu hinzunhemen, das sie die Todesfolgen
ueberwunden haben.

Zumindest zu den ersten beiden Punkten meine ich, das waere schon mal als
positief bewertet worden. Der einspruch, das es nicht machbar sein, war doch
auch schon wiederlegt, koennte sich da bitte mal ein Magier dransetzen und das
einbauen ?

Danke !

OrkT.

-----------------------------------------------------------------------------



Re: Reboot-Folgen (Gnome,  3. Jul 1997, 21:31:13):
~#! rn=Orktoeter rt=867938116 rg=entwicklung
~#! tid=867938116
ARGL!
was ist denn "positief" ???

gnOme

-----------------------------------------------------------------------------



Re: Reboot-Folgen (Wargon,  4. Jul 1997, 10:19:44):
~#! rn=Orktoeter rt=867938116 rg=entwicklung
~#! tid=867938116
Nach nem Reboot sind Saettigung (sowohl fuers Futtern als auch fuers Trinken)
und Alkohollevel auf 0 gesetzt (Punkt 2 ist also erfuellt). Da man dann erst
mal tanken kann, ist auch Punkt 1 einigermassen abgehakt.
Zu Punkt 3: Mal sehen
  Wargon

-----------------------------------------------------------------------------



Re: Re: Reboot-Folgen (Cauno,  4. Jul 1997, 11:47:53):
~#! rn=Gnome rt=867958273 rg=entwicklung
~#! tid=867938116
Die neue Rechtschreibung, was sonst?

C. No

-----------------------------------------------------------------------------



g.karate (Telya,  4. Jul 1997, 14:58:44):
Hallo mal wieder, 
mein letzter Vorschlag blieb ja ungehoert, aber vielleicht habe ich diesmal
mehr Glueck:
Waere es moeglich einzubauen, dass wenn man Funakoshi nach einer Technik
fragt, er auch nocht den aktuellen Stand in dieser Technik erfaehrt ?
Telya

-----------------------------------------------------------------------------



Re: Re: Reboot-Folgen (Caradhras,  6. Jul 1997, 14:41:07):
~#! rn=Gnome rt=867958273 rg=entwicklung
~#! tid=867938116
Das Gegenteil von negahoch, was denn sonst, gnOme.

           Bergchen Caradhras 

-----------------------------------------------------------------------------



Re: Re: Reboot-Folgen (Orktoeter,  7. Jul 1997, 14:18:13):
~#! rn=Wargon rt=868004384 rg=entwicklung
~#! tid=867938116
Warum sollte ein Spieler nach nem Reboot erst mal tanken muessen ? (ok, ist ja
nett, das es geht, aber die NPc sind doch auch frisch aus dem Ei gepellt)

Ich denke so ein grosser programmieraufwand duerfte es nicht sein und ich seh
auch keine Grund der dagegen spricht, das man nach nem Reboot auch mit vollen
LP und MP wieder startet.
OrkT.

-----------------------------------------------------------------------------



Der neue Tod V0.97 (Catweazle,  7. Jul 1997, 17:04:45):

Hi!

Da der neue Tod ja fuer ordentlichen Lesestoff gesorgt hat sind folgende
weitere Aenderungen und Anpassungen fuer den Tod geplant:

Mit dem neuen Orakel haben wir endlich eine Moeglichkeit eine nicht zeit-
abhaengige und beliebig wiederholbare Aufgabe an die Malusabarbeitung 
zu koppeln. Die Idee ist also, beim Tod als Bestrafung eine bestimmte 
(vielleicht levelaghaengige) Anzahl von Attributen abgezogen zu bekommen. 
Diese kann man sich durch erneute Befragung des Orakels wiederbeschaffen.

Dieser neue Attributsmalus soll den bisherigen vielumstrittenen, zeit-
abhaengigen 'death_suffering'-Malus nicht ersetzen, sondern ergaenzen, also 
zusaetlich eingefuehrt.
Zum Ausgleich wird der DS-Malus in seiner Wirkungszeit erheblich reduziert, 
insbesondere im Fall der multiplen Tode.
Ausserdem soll der DS-Malus bei einem crash oder reboot automatisch 
mitverschwinden und geloescht werden.

have a nice day :-)

Yours truly,
     Catweazle

PS: Fuer all diejenigen, die es einfach nicht verstehen wollen.
    Meckern, rumschreihen und Gejammere nuetzen absolut _NICHTS_, sondern
    machen nur Aerger und miese Stimmung. Ich bin jederzeit bereit auf 
    Aenderungs- und Verbesserungsvorschlaege einzugehen, solange mir jemand
    vernuenftig seine Probleme erklaert.
    Wenn jemand nur Rumzetert und mir Beleidigungen an den Kopf wird, duerft
    ihr kaum davon ausgehen, das ich das als vernuenftige Diskussion oder 
    Aenderungsvorschlag auffasse.
PPS: Falls jemand die Bedeutung des Wortes 'geplant' nicht kennt, bin ich
     gerne bereit ihm diese zu erlaeutern

-----------------------------------------------------------------------------



to note (Yaren,  7. Jul 1997, 17:59:18):
~#! rn=Catweazle rt=868287885 rg=entwicklung
~#! tid=868287885
Ich begruesse diese Idee erst einmal. Das kommt auch dem schon haeufig
angeklungenen Vorschlag eines 'Abarbeitens' der Tode nahe. Das Problem dabei
ist: wer macht die 300 mal x zusaetzlichen ZT-Stellen und Sprueche fuer die
Hardcore-Lebensmueden?

Yaren.

-----------------------------------------------------------------------------



Re: to note (Yantro,  7. Jul 1997, 18:10:02):
~#! rn=Yaren rt=868291158 rg=entwicklung
~#! tid=868287885
Wieso neue ZTstellen? :-) Waer natuerlich ne Idee.... speciell fuer Key wuesst
ich da dann ein paar .... 

Yantro

-----------------------------------------------------------------------------



Re: Der neue Tod V0.97 (Woody,  7. Jul 1997, 18:16:49):
~#! rn=Catweazle rt=868287885 rg=entwicklung
~#! tid=868287885
Hi,

vielleicht sollte man fuer diejenigen, die grad nicht da waren
und auf -s mitgelesen haben, noch ein paar Ergaenzungen an-
fuehren. 1. diese Malus-Stellen werden in einer getrennten
Liste gefuehrt und man bekommt sie gleich (wenn ich Cat*
richtig verstanden habe), muss also nicht erst die ausreichende
Anzahl an Stupsen fuer die Tips sammeln. Und 2. die Anzahl an
Stats die man verliert steht auch noch nicht fest, man denkt an
so circa 1 Attribut pro Stat pro Tod.

Ich finde die Idee im Grunde gut, moechte aber folgende
Bedenken aeussern:
- zu schwere Stellen fuer Anfaenger und mittlere Spieler:
  man sollte meiner Meinung nach verhindern, dass ZTs aus
  schwierigen Gebieten an kleine Spieler vergeben werden,
  das gilt auch fuer die regulaeren ZTs. Wozu hat man denn
  sonst die ZTs nach Schwierigkeiten in 8 Listen klassifiziert?
  Ausserdem sammeln sich sonst mit der Zeit fuer halt nur die
  echt harten Stellen an (wenn man als kleiner Spieler stirbt,
  die andern kann man ja mehr oder weniger schaffen)

- ausserdem sollte es meiner meinung nach eine untere schranke
  geben fuer die Attribute, die man verlieren kann... was weiss
  ich, die kann jetzt relativ (20% der attribute) oder absolut
  oder ne kombination daraus gestaltet sein... ich faends zu-
  mindest sinnvoll... auf 1er stats runterzusterben ist
  irgendwie logisch nicht ganz schluessig.

wah, das is viel zu lang geworden. argl.
woody.-

-----------------------------------------------------------------------------



Re: Re: to note (Key,  7. Jul 1997, 18:22:59):
~#! rn=Yantro rt=868291802 rg=entwicklung
~#! tid=868287885
Fuer mich??
Hmm frag Lars in der Todessequenz nach Zaubertrank? Gewinne eine Party Schach
gegen Lars? =;)

Key

-----------------------------------------------------------------------------



Re: Re: Der neue Tod V0.97 (Boing,  7. Jul 1997, 18:25:44):
~#! rn=Woody rt=868292209 rg=entwicklung
~#! tid=868287885
Die Malus-Stellen muessten nicht in einer getrennten Liste gefuehrt werden,
sie koennen einfach zur normalen Liste, die eh im Spieler gefuehrt wird,
dazugenommen werden. Dass man die Tips daz ugleich bekommt, liegt daran,
dass man beim Tod ja keine Stufenpunkte verliert und somit das Orakel-
Kritrium fuer alle verlorenen Attributpunkte sofort wieder erfuellt.
Die Einteilung in Listen wird natuerlich beruecksichtigt, das ist ja
eigentlich logisch.
  Boing

-----------------------------------------------------------------------------



Der neue Tod V0.97 (Kemp,  7. Jul 1997, 18:27:36):
Guggug,

ich wuesste gerne ob das mit dem Tode-abidlen noch bleibt oder bald
abgeschafft wird.

Kemp der ahnungslose

-----------------------------------------------------------------------------



Re: Der neue Tod V0.97 (Alpha,  7. Jul 1997, 18:30:19):
~#! rn=Kemp rt=868292856 rg=entwicklung
~#! tid=868292856
Hin und wieder verliert man doch Stufenpunkte. Zum Beispiel, wenn man die
Gilde wechselt, oder der GildenMagier am Guildrating rumbastelt. So wie in
meiner Gilde letztens. Vielleicht sollte maxStups als Orakelgrundlage
herangezogen werden?

-----------------------------------------------------------------------------



Re: Re: to note (Yaren,  7. Jul 1997, 19:14:08):
~#! rn=Yantro rt=868291802 rg=entwicklung
~#! tid=868287885
Ich dachte, man bekommt beim Sterben ein (oder mehrere) Attributpunkte
abgezogen, die man durch eine zusaetzlichen ZT-Fundstelle (die man 'orakelt'
bekommt) wieder ausgleichen kann. Wenn jetzt jemand schon seine 80 ZT-Stellen
bekommt hat und 300 mal stirbt (na, Key?! ;-)) sind das nach Adam Riese
mindestens 380 ZT-Stellen, und wie ich gehoert habe, gibt es derzeit wohl nur
250. Es waere doch sinnlos, die Vielsterber dann wieder alte ZTs finden zu
lassen, oder?

Yaren.

-----------------------------------------------------------------------------



Re^3: to note (Wurzel,  7. Jul 1997, 19:24:04):
~#! rn=Yaren rt=868295648 rg=entwicklung
~#! tid=868287885
nein, das waere nicht so sinnlos. erstens gibt es nicht soo viele, die mit
key mithalten. wenn man von 250 zt-stellen ausgeht, sind das pro nase noch
170 tode, die man "nacharbeiten" kann... und bei aelteren spielern sind wohl
die meisten zts eh noch nach dem alten system gefunden, d.h. die muessten
auch erstmal die ganzen orakelsprueche knacken.
zweitens ist das ganze doch auch ein echter anreiz fuer die magier, neue
zt-stellen einzubauen :)

wurzel

-----------------------------------------------------------------------------



Re^3: to note (Trekan,  7. Jul 1997, 19:58:40):
~#! rn=Key rt=868292579 rg=entwicklung
~#! tid=868287885
sei einfach 1ne stunde in der para-welt und sterbe nicht .. mit ALLEN xties ;)
Trekan

-----------------------------------------------------------------------------



Re^4: to note (Felagund,  7. Jul 1997, 20:07:13):
~#! rn=Trekan rt=868298320 rg=entwicklung
~#! tid=868287885
Also da hat entweder jemand was falsch verstanden oder er spielt merkwuerdig
;)
Die Zt-stellen die man abarbeiten muss sind natuerlich nicht zwangslaeufig
neu, es kann durchaus passieren, dass man Zt-stellen bekommt beim Tod, die man
grad erst abgelaufen ist. Und dass jemand 250mal am Stueck stirbt und jedesmal
nen Stat verliert ist auch eher unwahrscheinlich, sonst muesste der ja mit
massig negativstats rumlaufen. (Spaetestens bei ner konstitution von -7 waer
das unangenehm, dann kommt man nimmer aus der Todessequenz raus ;))

Fela

-----------------------------------------------------------------------------



Re: Der neue Tod V0.97 (Escubar,  7. Jul 1997, 20:40:47):
~#! rn=Catweazle rt=868287885 rg=entwicklung
~#! tid=868287885
Hi Cat*!

Diese Idee wuerde den Tod erheblich aufwerten gegenueber dem bisherigen
System, was ich im Prinzip schonmal gut finde (auch wenn ich einer der Ersties
bin, die am meisten Tode auf dem Konto haben ;)!

Aber:

1. Wer hat dann noch Bock so Gegenden zu erkunden, die schon nach dem Motto:
Leute kommt zu mir, hier sterbt ihr schoen in der MPA angekuendigt werden?
Meinereiner jedenfalls nicht, da waer ich einfach zu faul zu.

2. Trifft die Regelung kleinere Spieler noch zu hart, denn gut 30 meiner Tode
gehen einfach auf Quests zurueck, in denen ja auch immer wieder Todesfallen
drin sind, die mehr oder minder gut bemerkbar sind, oder auch nicht.
(Zumindest wenn man ohne KL spielt, in der KL stehen natuerlich die Fallen
drinn, bzw. man wird an den Fallen vorbeigelotst). Wenn ich dann nach jeder
Quest in der ich grade mal wieder gestorben bin 4 neue ZTs suchen muss, die ja
quer ueber das MG verteilt sind, dann haette mir das frueher nicht gefallen.
Die alte Regelung 1/3 der EP zu verlieren, war als kleiner Spieler ja total
wurscht, und als grosser Spieler hat man immer mehr verloren.

3. Fuer Zauberer ist es meganervig, da die beim ueben sehr viel sterben (bei
mir ca. 25-30 mal)

Daher wuerde ich vorschlagen:

1. Entschaerfung von Gebieten mit echten "Todesfallen"

2. Kleine Spieler sollten deutlich weniger hart bestraft werden, so wuerde ich
fuer Nicht-Seher, bzw. kleiner Level 30 einfach bloss 1 Attribut/Tod abziehen.
Als Nichtseher hat man ja auch keine Fluchtrichtung zur Verfuegung. Dann
gestafelt hoch und fuer je 10 Level also >40, 50, 60, etc. dann immer ein
Attribut mehr kuerzen. Da kennt man sich ja auch besser aus im MG und kann die
ZTs schneller finden die man vom Orakel kriegt.

3. Sonderregelung fuer Zauberer die beim Ueben, bzw. an ihren eigenen Spells
sterben (Huhu Silvana ;) hier sollte man garnix abziehen.

Mei bin ich heute konstruktiv,

Eisbaer Escubar

PS: Weiss nicht, braucht man dann wirklich noch diesen Idle Malus??

PS2: Achja, mit dieser Regelung provoziert man die Ausbildung einer neuen ZT
Liste Orakelsprueche -> Wo finde ich was, da ja dann wieder jeder suchen muss
und das noch dauerhaft.

-----------------------------------------------------------------------------



Re: Re: Der neue Tod V0.97 (Taragon,  7. Jul 1997, 21:21:52):
~#! rn=Escubar rt=868300847 rg=entwicklung
~#! tid=868287885
dem muss ich zustimmen... besonders im punkt zauberer...
ich denke (achtung: meine persoenliche meinung **li angrins**)
1. zaubern ueben ist wirklich haeufig toedlich
   jedenfalls geht es mir haeufig so, und ich denke ich stehe da nicht allein
2. denkt auch an die anfaenger in der zaubergilde, die noch nicht so den plan
haben und z.B. aufgrund der beruehmten paranoia nen starken npc angreifen und
sterben... ich kenne da jemanden, dem ist allein das dreimal passiert ;)

alles in allem und nach langem nachdenken waehrend pizza-essens muss ich
sagen, dass die idee nicht verkehrt ist, wenn
1. die niedrigen spieler nicht so hart rangenommen werden wie hohe...
2. die zauberer, auch aufgrund der harten abwertung, etwas nachsichtiger
behandelt werden
3. wenn es wenigstens eine untergrenze gibt (level 50 seher mit allen stats
auf 10 ???)
4. wenn ENDLICH die endlos lang dauernden todesfolgen weg sind


----------------
Taragon
  gibt mal wieder seinen Senf dazu und hofft auf gleichgesinnte

-----------------------------------------------------------------------------



Re^3: Der neue Tod V0.97 (Hefe,  7. Jul 1997, 21:26:36):
~#! rn=Taragon rt=868303312 rg=entwicklung
~#! tid=868287885
Tod ist Tod, da gibt es meiner Ansicht nach keinen Unterschied
ob Zauberer oder nicht.
Sollte die Zauberer-Gilde durch die neue Todesregelung wirklich
unattraktiv werden (was ich nicht glaube), so muss eben die
Todeshaeufigkeit in der Gilde reduziert werden, nicht aber eine
Extrawurst bei den Todesfolgen gebacken werden.

Hefe

-----------------------------------------------------------------------------



Re: Re: Der neue Tod V0.97 (Zorro,  7. Jul 1997, 23:52:07):
~#! rn=Escubar rt=868300847 rg=entwicklung
~#! tid=868287885
Naja wenn schon Extrawurst fuer Zauberer dann auch fuer die armen Chaoten
die genausooft von ihrem Daemon erlegt werden ... oder halt keine extrawurst 
fuer niemanden nicht *hae ? ob das jetzt richtig war ?*

egal :)=

-----------------------------------------------------------------------------



Re^4: Der neue Tod V0.97 (Mupfel,  8. Jul 1997, 00:08:26):
~#! rn=Hefe rt=868303596 rg=entwicklung
~#! tid=868287885
Die Zauberergilde *ist* nunmal schwierig. Dazu gehoert auch der (gehaeufte)
Tod. Dafuer hat der gehobene Zauberer auch einiges in petto, um seinerseits
Monsterchen in den Tod zu schicken...

-mupfel-

-----------------------------------------------------------------------------



Re^5: Der neue Tod V0.97 (Hefe,  8. Jul 1997, 00:09:18):
~#! rn=Mupfel rt=868313306 rg=entwicklung
~#! tid=868287885
eben.

-----------------------------------------------------------------------------



Re^5: Der neue Tod V0.97 (Taragon,  8. Jul 1997, 00:11:56):
~#! rn=Mupfel rt=868313306 rg=entwicklung
~#! tid=868287885
naja, ich rede ja auch nicht fuer die gehobenen Zauberer, zu denen ich mich
(durch meinen gildenlevel gezwungenermassen) auch mittlerweile zaehle, sondern
fuer die zauber-anfaenger... die haben es so schon schwer genug, und es wird
durch diese regelung noch schwerer...
allerdings wuerde ich ebenfalls eine abschwaechung der todeshaeufigkeit durch
fatale zauber-fehlschlaege begruessen

Taragon
  (flexibel)

-----------------------------------------------------------------------------



Re: Der neue Tod V0.97 (Lug,  8. Jul 1997, 01:21:59):
~#! rn=Catweazle rt=868287885 rg=entwicklung
~#! tid=868287885
Moin,

a) Klasse eine Vorankuendigung im Rahmen der Planung. Gratuliere, der Umgang
ist ja wirklich verbessert.

b) Ich waere fuer die Vielsterbies (ich nicht) fuer eine Begrenzung des
moeglichen Attributverlustes.

c) Der Hochidlekram koennte doch dann ganz verschwinden oder?

Gurss
Aeh Gruss.
Lug

-----------------------------------------------------------------------------



Re: Re: Der neue Tod V0.97 (Liqui,  8. Jul 1997, 01:28:22):
~#! rn=Lug rt=868317719 rg=entwicklung
~#! tid=868287885
si
zu c) Diesem Punkt stimme ich voll zu, ich habe momentan 5 Tode zum abideln
und zaehle wohl auch eher zu den Vielsterbern. Ich persoenlich suche lieber
einige Zeit nach Zaubertraenken, um die Attribute wieder zu erhoehen, als
untaetig rumsitzen zu muessen und zu warten, dass die Todesfolgen abgeidelt
sind. 
Beides zusammen waere jedoch unzumutbar...
Liqui

-----------------------------------------------------------------------------



Re^3: Der neue Tod V0.97 (Silvana,  8. Jul 1997, 09:27:30):
~#! rn=Liqui rt=868318102 rg=entwicklung
~#! tid=868287885
Um mal die schlimmsten Sorgen zu mildern: Ich glaube kaum, dass Cat*
vor hat, bei multiplen Todesfaellen die Attribute unter 1 sinken zu 
lassen. :) 
Und es waere in der Tat angemessen, die Schwierigkeit der ZT-Fundorte
an der Hoehe der verbleibenden Stats zu orientieren. Aber ich vertrau mal
darauf, das Cat & Co das hinbekommen. 
  Silvana

-----------------------------------------------------------------------------



Sterben, schwer gemacht (Catweazle,  8. Jul 1997, 09:52:59):

Moin!

Da der neue Tod wieder etwas wert sein soll und wirkungsvolle Folgen haben
soll, ist es fuer den Spieler tatsaechlich absolut unvertretbar spontan zu 
sterben. 
Solche Orte an denen man unvermittelt umfaellt und Monster die zT 200HP
wegkloppen sind aber vorhanden. Es ist bereits eine Aufforderung an die 
magier ergangen, diese Fallen auszubauen bzw. zu entschaerfen. 
Da wir aber mit Sicherheit nicht alles kennen oder finden waere es ganz 
praktisch wenn von Spielerseite ebensfalls Info kommen wuerde, WO man 
spontan sterben kann. Schreibt also bitte eine Mail an die Erzmagier,
wenn Euch eine solche Stelle bekannt ist, vorsugsweise an den EM fuer
Balance, Paracelsus.

Und bitte bitte bitte schreibt nur _ernstgemeinte_ Stellen. Mails wie 
'und folgendes Mistvieh hat mich neulich auch geplaettet' haben keinen
Wert, bitte nur _echte_ InstantDeath-Stellen schreiben.

YTC

-----------------------------------------------------------------------------



Re: Sterben, schwer gemacht (Silvana,  8. Jul 1997, 10:07:03):
~#! rn=Catweazle rt=868348379 rg=entwicklung
~#! tid=868348379
Nicht, dass jetzt jeder Zauberer an Paracelsus mailt: Ich bin schon dabei.
Es wird natuerlich weiterhin leicht passieren koennen, dass jemand beim
ueben stirbt, aber nur, wenn er/sie nicht aufpasst. Ueben ist und bleibt
gefaehrlich, aber fuer umsichtige Zauberer (und Anfaenger) nicht mehr
toedlich.
  Silvana

-----------------------------------------------------------------------------



Re: Re: Der neue Tod V0.97 (Sharia,  8. Jul 1997, 10:18:21):
~#! rn=Escubar rt=868300847 rg=entwicklung
~#! tid=868287885
Hmmm Escubar das mit den Zauberern sehe ich anders, mein Erstie ist einmal
gestorben beim ueben und das auch nur weil er gerade kurz nicht auf den
Bildschirm sah ... (dumm wenn man im Wahn Llystrathe angreift...) ansonsten
isses auch als Zauberer nicht sooo gefaehrlich.

Sharia, findet das neue System garnichmal so schlecht.

-----------------------------------------------------------------------------



Re^3: Der neue Tod V0.97 (Anakin,  8. Jul 1997, 10:21:57):
~#! rn=Sharia rt=868349901 rg=entwicklung
~#! tid=868287885
Hmm, also ich hab auch gehoert, wenn man ein bisschen aufpasst
muss man auch in dieser Gilde nicht sterben beim Ueben. Dies ist
moeglich. Genauso wie bei den Chaoten. Da bin ich auch nur einmal
gestorben, weil ich mal nicht auf den Schirm gesehen habe.

Anakin.

-----------------------------------------------------------------------------



Re^4: Der neue Tod V0.97 (Silvana,  8. Jul 1997, 10:24:36):
~#! rn=Anakin rt=868350117 rg=entwicklung
~#! tid=868287885
Mit hohen Stats war es immer leicht vermeidbar als Zauberer beim ueben
zu sterben. Als Anfaenger konnte einen aber schon ein missglueckter
Licht-Spruch auf der Stelle umhauen. Das ist jetzt nicht mehr so.
Sterben tut man an unachtsamkeit schnell, aber nicht mehr durch zu
schlechte Stats.
  Silvana

-----------------------------------------------------------------------------



Sterben, schwer gemacht (Catweazle,  8. Jul 1997, 13:54:35):
~#! on=Liqui ot=868361258 og=jammerlappen.entwicklung
Hi, eigentlich bezieht sich der Artikel auf den Artikel 296 von Cat* in der
Rubrik Entwicklung, da die aber randvoll ist, kommt er hier hin.
Ich frage mich, ob es der richtige Weg ist, das Sterben zu erschweren und
gleichzeitig fiese Stellen und harte Monster ungefaehrlicher zu machen.
Ich habe da mal folgendes Beispiel: Meine letzten 4 Tode gingen auf das Konto
des Karateorks, der mich ziemlich fertiggemacht hat, okay, einmal war es
einfach Pech, als ich in die Parawelt teleportiert bin.
Jetzt kann man natuerlich sagen, wenn der Ork zu stark fuer dich ist, lass
einfach die Finger davon, die Sache ist nur, dass ich volle Stats habe, meine
Kampfsprueche perfekt beherrsche und ausserdem eine verdammt gute Ausruestung
hatte.
Also ist der Ork theoretisch unbesiegbar und wuerde somit als instant-death
Zaehlen, der aufgrunde des neuen Todes ungerechtfertigt ist und somit
abgestuft werden muesste...
Die Sache ist nur, das dann das metzeln eh keinen Spass mehr machen wuerde,
wenn man eh nicht sterben kann.
Wenn es theoretisch keine Todesfallen mehr geben soll, duerfte es auch keine
Monster mehr geben, die Spieler mit vollen Stats, perfekten Spruechen und
guter Ausruestung plaetten, bloss wo waere da der Sinn?
Ich bin der Meinung die Folgen des Todes nicht zu hart zu machen und dafuer
auch genuegend toedliche Stellen uebrig zu lassen, es sollte irgendwie
Ausgewogen sein. Der Tod sollte auf jeden Fall mehr als nur eine 1 minuetige
Unterbrechung sein, aber er sollte nicht auf Kosten des Spiels erschwert
werden...
Liqui

-----------------------------------------------------------------------------



Re: Sterben, schwer gemacht (Catweazle,  8. Jul 1997, 13:54:49):
~#! on=Grimmborn ot=868361874 og=jammerlappen.entwicklung
~#! rn=Liqui rt=868361258 rg=jammerlappen.entwicklung
~#! tid=868361258
"theoretisch unbesiegbar" heisst nicht, dass ein einzelner Spieler daran
stirbt/sterben kann/den NPC nicht umgebracht bekommt. Dies hier ist ein MUD,
kein SUD. Es geht darum, dass kein NPC einen "perfekten" Spieler, der alle
Tricks anwendet, auf _Anhieb_ platt machen soll. Wenn ein NPC beispielsweise
in 5% aller Schlaege direkt den Spieler toetet (ohne Umweg ueber die hits zu
nehmen), dann ist das nicht so doll. Wenn ein Spieler sich perfekt ausruestet,
alleine reingeht und erst in der zweiten Kampfrunde stirbt, ist das ok. Und
wenn er in der ersten stirbt, weil es fuer diesen NPC einen (herausfindbaren)
Trick nicht kennt, ist das auch ok. Und wenn er allein reingeht und in der
ersten Runde stirbt, weil er zu viel auf die Nase bekommt, dann kann das immer
noch ok sein, wenn man durchaus auf die Idee kommen koennte, es mal mit
anderen zu versuchen (ich denke da an die Raeuber).
Ist klar geworden? Wenn _ein_ NPC einen perfekt geruesteten Spieler mit
_einer_ Aktion dahinrafft, dann hat er zwar meine Sympathie, aber dann ist das
nicht der Sinn der Sache.

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re: Sterben, schwer gemacht (Mupfel,  8. Jul 1997, 19:47:49):
~#! rn=Catweazle rt=868348379 rg=entwicklung
~#! tid=868348379
Ausgerechnet an Paracelsus? Das ist ja wie Oel ins Feuer... :-)

-mupfel-

-----------------------------------------------------------------------------



Re^3: Der neue Tod V0.97 (Schlips,  9. Jul 1997, 07:59:18):
~#! rn=Sharia rt=868349901 rg=entwicklung
~#! tid=868287885
Naja, Sharia
ich denke eigentlich dass ich schon auch relativ umsichtig geuebt habe
und ich bin trotzdem ein paarmal gestorben - insofern hast Du vielleicht
Glueck gehabt (bzw Dein Erstie)
Aber ich gebe Dir auch recht dass man das haeufige Sterben vermeiden kann
und denke auch dass man nicht unbedingt eine Sonderregelung fuer den
Tod bei den Zauberern braucht. Ich denke die Vorteile swollten mehr in
der Staerke der Gilde liegen - sprich: ich vertraue mal darauf, dass die
Gilde aufgrund des grossen Uebpensums und der Probleme beim ueben eine
gewissen Staerkevorteil gegenueber den anderen Gilden besitzt und ihn auch
behaelt.

Ausserdem moechte ich mich Lug in seiner Meinung anschliessen, dass das
Klima jetzt vielleicht doch etwas besser zu werden scheint - jedenfalls
finde ich die Art und Weise der Information und auch die letzten Aenderungen
deutlich spielfoerderlicher.

Weiter so,
Schlips

-----------------------------------------------------------------------------



Re^3: Der neue Tod V0.97 (Quengistu,  9. Jul 1997, 10:02:13):
~#! rn=Boing rt=868292744 rg=entwicklung
~#! tid=868287885
Das Orakelkriterium fuer alle verlorenen Attributpunkte, erfuellt aber nur
derjenige, der sich seine ZTs nach dem neuen System erworben hat. Fuer faule
Uraltseher, die auf Stufe 20 herumhaengen, aber dennoch alle 80 ZTs haben,
kann das unter Umstaenden bedeuten, dass sie sich erstmal eine ganze Menge an
APs durch Questen holen muessen, ehe sie die Moeglichkeit haben vom Orakel
einen Tip fuer eine ZT-Stelle zu bekommen.
Von dieser Sorte Sehern gibt es zwar nicht mehr soviele, und vermutlich
sterben die auch nicht so oft, aber ich faende es nett, wenn darauf Ruecksicht
genommen wird. (Mich persoenlich traefe eine solche Regelung kaum, da ich a)
sehr selten sterbe und b) mir nur ca. 100 AP bis zum naechsten ZT-Tip fehlen.)
Gruss, Quengistu

-----------------------------------------------------------------------------



Re^4: Der neue Tod V0.97 (Stahldorn,  9. Jul 1997, 13:48:00):
~#! rn=Schlips rt=868427958 rg=entwicklung
~#! tid=868287885
Also mein kleiner dummer Zauberer ist nur ein einziges mal als direkte Folge
des Spruch-Uebens gestorben. Und ich habe nicht umsichtig geuebt, sondern
immer wild drauflos. Im Lag 100 Befehle vorgetippt und gehoft, dass sie so
zeitlich verzoegert ankommen, dass er dabei uebt...
Allerdings ist das nun 9 oder 10 Monate her, ich weiss ja nicht was sich in
der Gilde so alles aendert.

STAHL senft mal kurz.

-----------------------------------------------------------------------------



Re^5: Der neue Tod V0.97 (Bendeigid,  9. Jul 1997, 13:57:42):
~#! rn=Stahldorn rt=868448880 rg=entwicklung
~#! tid=868287885
Aeh, tschuldigung wenn ich euch unterbreche, aber hier in der Rubrik gehts
NICHT darum, was bei den Zauberern in der Lernphase geaendert werden
soll/muss/wird/muesste/vielleicht weils schoen ist gemacht werden kann.
Hier wurde eine (lobenswerte Neuerung!!) Diskussion von einem EM (hoert,
hoert) begonnen, wos um Todesfolgen und ihre Weiterentwicklung ging. Wenn
jetzt hier jede Gilde loslegt, warum sie aber staerker als Gilde x sein
muessen weil sie beim lernen so oft krepieren, dann wird das wieder eine
uebergehe-thread-diskussion. Und das wollen wir doch nicht, oder?
So, damit das hier nicht auch falsch steht und von Grimm nach ettikette oder
muell verschoben wird mein Kommentar:
Ich finde es sehr loeblich, wenn das mit Statabzug beim Tod und dadurch einem
neuen Orakelspruch realisiert wuerde. Natuerlich sollten, wie oben bereits von
anderen angemerkt, die Schwere der neu zu findenden ZTs von der Gesamtzahl der
Stats abhaengig sein, evtl auch vom Level. Das heisst, dass ein Seher mit
kompletten Stats und level > 35 oder so mit 95% wahrscheinlikeit NUR einen aus
dere schweren Gruppe finden kann. (beispiel fuer sowas kommt natuerlich nicht!
:)) Beim ersten Tod zumindest. Bei einem folgenden Tod kann dann die
Wahrscheinlichkeit ja gesenkt werden, sollte aber fuer so massensterber wie
Key nicht unter einen gewissen wert sinken. Sonst sterben sich die Leute
nachher runter auf extrem wenig stats und suchen dann die HE-ZTs, wenns denn
da welche gibt :).
Fuer kleinere Spieler sollte es solche Grenzen entsprechend geben; muesste man
mal testen, ob man bei denen nicht nach x Todene auch schwere ZTs bevorzugt
einbaut, damit sie sich nicht nur mit Billig-ZTs weiterentwickeln sondern auch
ein wenig Umsicht lernen.

Z'par Servu,
             Bendeigid

P.S.: Die Diskussion ist sogar mal bisher recht sachlich gewesen, weiter so!
Die paar Flames der Zauberer sind hoffentlich abgehandelt :)

-----------------------------------------------------------------------------



Re^6: Der neue Tod V0.97 (Key,  9. Jul 1997, 14:07:40):
~#! rn=Bendeigid rt=868449462 rg=entwicklung
~#! tid=868287885
Bende ich muss dir mal zustimmen  :)
Aber noch einen letzten Satz zu den Zauberern:
Mein kleiner dummer erstie ist net einmal durch das ueben direkt gestorben
(zumindest wuesste ich es net mehr, was aber nicht unebdingt was zu heissen
hat *lach*)


Oki diskutiert mal weiter :)

Key stoehrt sich auch net an dieser neuen Todesregelung ;)

-----------------------------------------------------------------------------



Re^5: Der neue Tod V0.97 (Taragon,  9. Jul 1997, 18:51:51):
~#! rn=Stahldorn rt=868448880 rg=entwicklung
~#! tid=868287885
EINHUNDERT ???

hmmm, wieviel magiepunkte hatte der denn, dass er 100 (!) zauber ohne tanken
nacheinander machen konnte ;)))

*grinsend*
  taragon

-----------------------------------------------------------------------------



Re^6: Der neue Tod V0.97 (Caradhras,  9. Jul 1997, 20:09:00):
~#! rn=Taragon rt=868467111 rg=entwicklung
~#! tid=868287885
Hast Du nicht gelesen, Taragon, dass Staehlchen verlaggt war?
Und bei einem gescheiten Lag ist die Zeitspanne zwischen den einzelnen
Aufrufen der Zauber so gross, dass man evtl. schon wieder ein paar
Punkte hochge'idlet' ist. Ausserdem gibt es glaube ich einen Licht-
und aehnliche Zauber, die RECHT wenig MP kosten. Oder truegt mich
da die Erinnerung an mein ehemaliges Zauberdasein?

    Abenteuerbergchen Caradhras - knuddelt verzaubernd

-----------------------------------------------------------------------------



Re: Der neue Tod V0.97 (Xera,  9. Jul 1997, 20:35:59):
~#! rn=Catweazle rt=868287885 rg=entwicklung
~#! tid=868287885
Ich sterbe nicht viel, genauer gesagt bin ich das letzte mal vor einem Jahr
gestorben oder so. Trotzdem fand ich das abideln ganz o.k., da ich dann eben
durch die Gebiete wandern wuerde und die eben erkunde, ist ja auch mal ganz
interessant und spassig!
Von der Idee der Abwertung der Attribute halte ich ueberhaupt nichts ehrlich
gesagt, wie einer schon sagte: das foerdert nur die Orakel-zt-listen und das
ist ja nun auch nicht der Sinn und Zweck der Sache!

Da die Zauberer durch die Abwertung nicht mehr so stark sind (Mupfel! :) ),
ist es falsch zu sagen, da macht es nichts aus, wenn die beim Ueben mal
sterben.. aber Silvana hat das ja ein bisschen abgesschwaecht, auch wenn es
trotzdem immer noch passieren kann, dass man da stirbt!

Die grundsaetzliche Idee von frueher, als man noch eps verloren hat, und das
Aufsteigen an die eps gekoppelt war (als Seher) finde ich gut! Ich will damit
sagen, man koennte doch einfach das Aufsteigen (Level) erschweren, wenn man
stirbt - das finde ich wesentlich realistischer.

Abideln _und_ Attribute kuerzen finde ich ungerecht! Entweder das eine, oder
das andere, oder was ganz anders :)=

Xera

-----------------------------------------------------------------------------



Re: Re: Der neue Tod V0.97 (Yantro, 10. Jul 1997, 08:14:51):
~#! rn=Xera rt=868473359 rg=entwicklung
~#! tid=868287885

Hmmm Nur, damit  nicht weiter unnoetige Artikel geschrieben werden. Es ist
jetzt schon beim Orakel so, dass die Schwierigkeit der ZTstellen
Levelabhaengig sind. Dies wird dann natuerlich auch so bei NeuZTs durch den
Tod so sein. Spieler sollte dieser Artikel beruhigen, Magier sollte er da
animieren, vor dem posting mal nachzufragen oder aber einen Blick in die
Source zu werfen, denn damit verhindert man viel Aufregung.

Skripterei kann es sowieso geben, ob mit ZTverlust beim Tod oder jetzt schon.
Ich bin da mit Boing einer meinung: Wers tun will, der solls, aber sich nicht
erwishcen lassen... Wer aber Spass am Spiel hat und es nicht mit Skripten 
spielen will, der hat nu endlich eine echte Chance.

Yantro

-----------------------------------------------------------------------------



Re: Re: Der neue Tod V0.97 (Alpha, 10. Jul 1997, 21:11:46):
~#! rn=Xera rt=868473359 rg=entwicklung
~#! tid=868287885
Wenn ich Level 40 bin, dann waer ich auch dafuer, das das Aufsteigen erschwert
wird, zumal ich auf Level 40 alle ZTs haben muesste und alle Spells perfekt
beherrschen kann...Ich finde, das das Sterben eh genug bestraft wird, vor
allem, weil Sterben fuer mich zum Spiel eigentlich dazugehoert und damit NICHT
bestraft gehoert.

-----------------------------------------------------------------------------



Naja (Critias, 10. Jul 1997, 22:08:41):
Hi Leutchen!

Diese andauernden Regelaenderungen in letzter Zeit nerven mich persoenlich
total. Ich habs immer eingesehen, dass man bei einem Tod auf gar keinen Fall
ohne Folgen hervorgehen sollte. Aber langsam gehts mir doch tierrisch auf den
Wecker. Es ist dies geplant, das geaendert worden bla bla bla..... (ich warte
schon auf Abwanderungen einer ganze Menge Spieler) Proggt doch lieber was
vernuenftiges oder DEBUGGT Euren geproggten Kram. Aber diese ewigen
einschneidenden Regelveraenderungen sollten doch wirklich nicht Eure
Lebensberechtigung als Magier darstellen...... Oder wohl?? Ich find das MUD an
sich klasse, doch bitte reformiert nich immer da was rum und da.... Proggt
lieber ein paar neue, schoene Sachen (traeller).

Ein senfender Crit

-----------------------------------------------------------------------------



Re: Naja (Hood, 11. Jul 1997, 08:13:00):
~#! rn=Critias rt=868565321 rg=entwicklung
~#! tid=868565321
...einschneidende Regelveraenderungen sollten doch wirklich nicht eure
Lebensberechtigung als Magier darstellen... [zitat ende]
 ich wette, mit diesem schwachsinn haste jetzt einige magier in tiefe
 depressionen gestuerzt. gegen was genau richtete sich deine jammerei
 jetzt eigentlich?! also ich moechte hiermit mal nen dickes lob
 aussprechen: das orakel find ich einfach klasse. das mud wurd somit
 viel spielbarer: diejenigen, die deswegen rumheulen gehoeren wohl zu
 denen, welche nun ihre geheiligten zt-listen (fast) wegwerfen koennen
 oder deren scripte nun mal wieder umgeschrieben werden muessen.

------
patryn

-----------------------------------------------------------------------------



Zweities (Alpha, 11. Jul 1997, 11:37:24):
Meine Zweities haeeten es gerne, das nicht nur XXXXX ist Zweitspieler, sondern
noch auch ihr Besitzer (von Alpha) dasteht. Gibt es sowas schon, oder koennte
es nicht eingefuehrt werden?

-----------------------------------------------------------------------------



Re: Zweities (Panther, 11. Jul 1997, 11:39:01):
~#! rn=Alpha rt=868613844 rg=entwicklung
~#! tid=868613844
Ja gibt es in Semmels Unterweltstadt nimmt sich ein alter Mann gern 
Deiner Probleme an.

Panther, Reininkarnation einer Semmel

-----------------------------------------------------------------------------



Erwider-Befehl (Ronda, 12. Jul 1997, 13:51:26):
Mir ist grad aufgefallen, dass das "erwidern" nicht bei Spielern in anderen
Muds funktioniert...
Also ein erwidern auf "ronda@anderland" ist leider nicht moeglich... koenntet
Ihr das vielleicht einbauen? Denn grade bei solchen Sachen hackt man sich die
Finger wund...

Danke,
           Ronda *zu faul, dauernd neue Alis zu definieren*

-----------------------------------------------------------------------------



Re: Re: Naja (Critias, 13. Jul 1997, 14:30:10):
~#! rn=Hood rt=868601580 rg=entwicklung
~#! tid=868565321
Dieses Zitat allein gibt wohl kaum den eigentlich "wichtigen" Inhalt meines
Artikels wieder! 
(Ob das was ich da suelze wichtig ist liegt wohl im Blick des Betrachters) Es
ging da um was ganz anderes, Magierzweiti!
Naja, Kritik wird ja hier eh ziemlich schnell abgetan, oder jamand fuehlt sich
persoenlich an den Karren gefahren. 

Crit

-----------------------------------------------------------------------------



Re^3: Naja (Grimmborn, 14. Jul 1997, 10:14:05):
~#! rn=Critias rt=868797010 rg=entwicklung
~#! tid=868565321
Wennn Du eine sachliche Auseinandersetzung mit dem haben willst, was Du
anscheinend fuer konstruktive Kritik haelst, bitte sehr:
Wenn Du ein gut funktionierendes, statisches mud moechtest in dem sich nichts
aendert, bitte sehr. Aber nicht hier. Und es gibt sicher Leute, die die von
Dir beweinten Regelaenderungen durchaus als ein von Dir so heiss gefordertes
debuggen ansehen wuerden. Denn hier wie da ist das Ziel ein reibungsloser,
logischer und in sich stimmiger Spielablauf.

Grimmborn der Atheist

-----------------------------------------------------------------------------



Rassen (Silvana, 14. Jul 1997, 13:01:23):
Hi.
Ich moechte Euch mal um Eure Mitarbeit bitten:
Es ist meine Aufgabe als Rassen-EM fuer etwas mehr Unterschied zwischen den
Rassen zu sorgen, als nur ein paar Stats und die Groesse. Da inzwischen die
Grundlage dafuer geschaffen wurde, koennte ich jetzt das das Design der
einzelnen Rassenshells gehen. Aber: Wie stellt ihr Euch die Rassen eigentlich
vor? Hobbits koennen viel futtern, sagt man, Zwerge saufen wie die Loecher 
etc... Schreibt mir bitte einfach mal, was welche Rasse besonders gut/gar
nicht koennen sollte, damit ich mir nen Bild machen kann, was ihr Euch
so vorstellt. Aber bitte per Mail, sonst gibts hier wieder nen Flame-War. :)

  Silvana - gespannt auf Antwort.

PS: Auch unterschiedliche Befehle der Seele und so sind willkommen!

-----------------------------------------------------------------------------



Alkoholeffekte (Silvana, 15. Jul 1997, 11:23:41):
Hi.
Einige Spieler und Magier haben schon oefter bemaengelt, dass man im
alkoholisierten Zustand sofort anfaengt zu stolpern etc. Das ist jetzt
etwas geaendert: Je alkoholisierter, desto staerker der Effekt.
Und zwar in der Reihenfolge:
 Hick - Ruelps - betrunken Aussehen - Stolpern
Leicht angetrunkene werden also demnaechst nur hicksen, waehrend volltrunkenen
alles gleichermassen passieren kann.

  Silvana

PS: Das gilt wie ueblich erst nach dem naechsten Reboot.
    'ende' hilft in diesem Fall nicht weiter!

-----------------------------------------------------------------------------



Re: Alkoholeffekte (Luigi, 15. Jul 1997, 12:15:14):
~#! rn=Silvana rt=868958621 rg=entwicklung
~#! tid=868958621
Und dafuer der Reboot ??

 Hick - Ruelps - betrunken Aussehen - Stolpern
Hick - Ruelps - betrunken Aussehend - Stolpernd  - Luigi

-----------------------------------------------------------------------------



Frische Hilfeseiten (Wargon, 15. Jul 1997, 12:52:38):
  Hi!
Ich habe mal die Hilfeseiten etwas ueberarbeitet und (hoffentlich)
komplettiert. Das gilt allerdings nur fuer die Seiten, die mit 'hilfe <thema>'
zu erreichen sind, also fuer allgemeine Themen sowie die Befehle, die man
ueblicherweise eingeben kann.
Falls hier noch wichtige Seiten fehlen sollten: Bitte Wargon Bescheid sagen
oder ne Mail an Doku@MorgenGrauen schicken.

Fuer Magier, die in /doc schreiben koennen: die Verzeichnisse haben sich etwas
geaendert; welche Seiten jetzt wo zu finden sind, steht in /doc/README sowie
den .readme-Dateien der jeweiligen Unterverzeichnisse.
  Wargon

-----------------------------------------------------------------------------



EP's (Alpha, 24. Jul 1997, 13:03:40):
Da ich in den letzten Tagen mal wieder (mehr oder weniger unnoetig) oft
gestorben bin und dabei ein paar EP'se verloren habe, kam mir da eine Idee.
Besser gesagt keine Idee von mir, sondern ne Kopie aus anderen Muds(darf ich
das ueberhaupt erwaehnen?). Also: Wie waere es, wenn man irgendwie soetwas wie
seine GesammtEP's abgezeigt bekaeme - also saemmtlich EP's, die man in seinem
harten und gefahrenreichen MG-Leben so angesammelt hat. Meinetwegen in der
Art: frage NPc xx- "Du hast 1203384 GesammtEPs. 
Alternativ wuerde ich eine Art von Sterbeliste vorschlagen, in der die durch
Tode verlorenen EPse aufgelistet werden(ala Anderland) - mit nen bisschen
Addition kriege ich dann meine GesammtEP's schon raus.
Oder gibt es das schon?
Alpha.

-----------------------------------------------------------------------------



Re: EP's (Key, 24. Jul 1997, 13:07:00):
~#! rn=Alpha rt=869742220 rg=entwicklung
~#! tid=869742220
Sowas haette es dann von anfang an geben muessen.
So im Nachhinein wuerde es nur fuer die neu ermetzelden ep gelten :)
Oder hast du ne idee wie man ausrechnet wieviele ep ist insgesamt schon
verloren habe?
Wen ja mail sie mir

Key

-----------------------------------------------------------------------------



Re: Re: EP's (Kobayashi, 24. Jul 1997, 13:11:13):
~#! rn=Key rt=869742420 rg=entwicklung
~#! tid=869742220
Tausende von Sicherungsbaendern durchstoerbern und zusammenzaehlen. Ich
bezweifel jedoch, das es noch durchgehende Sicherungen gibt. Wahrscheinlich
gibt's nur ein disastery-backup ( 1 Monat oder so), wenn es ueberhaupt eins
gibt.

Kobayashi

-----------------------------------------------------------------------------



Re: Re: EP's (Alpha, 24. Jul 1997, 13:11:30):
~#! rn=Key rt=869742420 rg=entwicklung
~#! tid=869742220
Hmm. Hast nicht ganz unrecht. Aber auch, wenn es nur fuer die neu ermetzelten
EPs geht, wuerde ich mich riesig freuen. 
Nebenbei: Du kannst ja die alten EPs nach oben abschaetzen :)
1.5hochTode *jetzige EPs durefte das wohl ausreichend tun (wenn man mal die
Stellen ausser acht laesst, wo man EPs verliert ohne zu sterben)
Alpha

-----------------------------------------------------------------------------



Gaeste und die MPA (Bendeigid, 24. Jul 1997, 14:05:41):
Hallo zusammen,

ich haette mal einen Zensurvorschlag zu machen:
Immerhin ist die MPA eigentlich eine zensurfreie Zeitung, in der jeder nach
Gutduenken schreiben kann (ausser, Grimm verlegt das...), aber ich finde, wie
im richtigen Leben sollte jeder auch zu dem Krams stehen, den er  (oder sie,
jaja) hier abliefert. Bei Gaesten ist das hingegen NICHT feststellbar, und
auch, wenn sich da manch guter Gag mit machen laesst, so finde ich, dass man
Gaesten zwar das Lesen, nicht aber das Schreiben in der MPA erlauben sollte.
Jaja, ich weiss, dann werden demnaechst Dummi-Caharctere eingeloggt und dann
geloescht, aber das ist ein unzweifelhaft groesserer Aufwand als so.
Irgendwie gehen mir naemlich diese stichelnden Beitraege des staendigen Gastes
(nicht Dauergast :)) auf den Keks. Entweder der steht dazu oder nicht.

Z'par Servu,
        Bendeigid

-----------------------------------------------------------------------------



Re: Gaeste und die MPA (Yantro, 24. Jul 1997, 14:49:09):
~#! rn=Bendeigid rt=869745941 rg=entwicklung
~#! tid=869745941

Hallo Bende.

ignoriere gast1.news, gast2.news...... oder so... ich bin sicher, dass das
geht

-----------------------------------------------------------------------------



Re: Re: Gaeste und die MPA (Pampers, 24. Jul 1997, 14:50:31):
~#! rn=Yantro rt=869748549 rg=entwicklung
~#! tid=869745941
Das war NICHT Bendeigids Punkt, Yantro.

Ich finde seinen Vorschlag durchaus ueberlegenswert.

Pampers.

-----------------------------------------------------------------------------



Re^3: Gaeste und die MPA (Gundur, 24. Jul 1997, 14:58:13):
~#! rn=Pampers rt=869748631 rg=entwicklung
~#! tid=869745941
Ich bin auch dafuer!
Also los Loco! :-)
YTG

-----------------------------------------------------------------------------



Re: Gaeste und die MPA (Mupfel, 24. Jul 1997, 17:47:43):
~#! rn=Bendeigid rt=869745941 rg=entwicklung
~#! tid=869745941
Ahja. Und weil Deine Postings mir aufn Keks gehen kann ich dann auch
verhindern, dass Du was schreibst?

-mupfel-

-----------------------------------------------------------------------------



Re: Re: Gaeste und die MPA (Wurzel, 24. Jul 1997, 18:26:12):
~#! rn=Mupfel rt=869759263 rg=entwicklung
~#! tid=869745941
die kannst du hoechstens ignorieren. aber eigentlich hat ben* recht, jeder
sollte zu dem stehen was er/sie meint absondern zu muessen. daher stimme
ich dem schreibverbot fuer gaeste zu... evtl. mit einer verschaerfung gegen
"einmalcharaktere": schreibrecht erst ab level 2 wuerde reichen.

wurzel

-----------------------------------------------------------------------------



Re: Re: Gaeste und die MPA (Engywuck, 24. Jul 1997, 18:26:13):
~#! rn=Mupfel rt=869759263 rg=entwicklung
~#! tid=869745941
Ich denke, es geht eher darum, dass man nicht "offiziell" anonyme Postings
ablassen koennen sollte. Das gibts eigentlich in keiner Zeitung, und insofern
faende ich das auch hier keine schlechte Idee.

Engy*

-----------------------------------------------------------------------------



Re^3: Gaeste und die MPA (Engywuck, 24. Jul 1997, 18:27:49):
~#! rn=Wurzel rt=869761572 rg=entwicklung
~#! tid=869745941
Wie waers mit "Kein Schreibrecht fuer Gaeste und Schreibrecht fuer Spieler
erst ab 2 Stunden online-Zeit?

Engy*

-----------------------------------------------------------------------------



Re^4: Gaeste und die MPA (Wurzel, 24. Jul 1997, 18:29:06):
~#! rn=Engywuck rt=869761669 rg=entwicklung
~#! tid=869745941
oder sowas, ja. ich dachte nur, dass man nicht einen einmalcharakter zwei
stunden in der ecke stehen lassen sollte, bevor man ihn dann wieder loescht.

-----------------------------------------------------------------------------



Todesraum (Ringor, 24. Jul 1997, 22:57:32):
Hiho!

Situation: das verzweifelte 'ende' kommt leider durch Netzlag die
entscheidende Sekunde zu spaet an, TOD war schneller. Man ist bei Lars, und
das 'ende' wird endlich (?) ausgefuehrt. 

Ergebnis: alle Sachen, die man noch bei sich hatte, liegen nun im Todesraum,
und man hat keine Chance, wieder dranzukommen.

Moeglichkeiten dafuer sind einerseits Fake-Tode, bei denen man mit allen
Sachen bei Lars landet (besonders aergerlich), oder Klamotten, die man zwar
nicht wegwerfen kann und deshalb auch beim Tod nicht verliert, aber die nicht
autoload sind (ist mir mit zwei Sachen passiert).

Da ein 'ende' im Todesraum sowieso recht unsinnig ist (notfalls kann man sich
auch mit 'schlafe ein' ausloggen, wenn die Zeit draengt), und wohl recht oft
nur aus Timingproblemen dort ausgefuehrt wird, waere ich dafuer, den Befehl im
Todesraum zu sperren.

Dann muesste TOD sich auch nicht mehr ganz so oft beschweren, dass man ihm
wieder zusaetzliche Arbeit beschere. ;^)

Ringor

-----------------------------------------------------------------------------



Re^4: Gaeste und die MPA (Lug, 24. Jul 1997, 23:57:12):
~#! rn=Gundur rt=869749093 rg=entwicklung
~#! tid=869745941
Moin,

um ein Meinungsbild abzurunden: Auch fuer Bendes Vorschlag.

Lug

-----------------------------------------------------------------------------



Re^5: Gaeste und die MPA (Taragon, 25. Jul 1997, 00:07:42):
~#! rn=Lug rt=869781432 rg=entwicklung
~#! tid=869745941
Huedihuepf und guten Abend

Jawollja, ich bin auf _fuer_ Bende's Vorschlag.

Allerdings haette ich da _noch_ eine Alternative:

Wie waere es einfach mit einer levelgebundenen Einschraenkung der
Schreibrechte ?
Zum Beispiel dass man in den relevanten Rubriken erst ab level 5 schreiben
darf, und zB "Schmarrn" bleibt fuer jeden Level offen.
So ungefaehr jedenfalls.
Wer dann absolut so feige ist, anonym schreiben zu muessen, kann dann zur
eigenen Befriedigung dies gerne in Schmarrn tun, und die die es nervt, koennen
dann diese Rubrik abbestellen (so wie ich ;-)

Dancing with Spirals in the Black
  Taragon

-----------------------------------------------------------------------------



Re^7: Gaeste und die MPA (Bendeigid, 25. Jul 1997, 09:11:47):
~#! rn=Gast1 rt=869785134 rg=entwicklung
~#! tid=869745941
hi,
 also gegen mitsenfen waehrend Spielpause haette ich ja nix, solange dein
Name, den du normalerweise fuehrst, mit druntersteht. Dann waere halt der
Autor Gast1, aber es staende wenigstens der Name Gloin drunter. Mir gehts nur
darum, dass dieses anonyme Gestichel nicht sein muss. Ich will ja nicht das
Geflame unterbinden, oder jemand das Maul verbieten, aber wenn jemand was
motzen will oder jemand angreifen oder was auch immer, dann sollte man dazu
stehen und seinen Namen drunterschreiben.
Gut, wenn Du Spielpause hast ist das natuerlich dann nicht mehr als Gast
moeglich, aber normalerweise, seien wir mal ehrlich, hat doch jeder einen
Zweitie, der auch ne einigermassen aktuelle Zeitung (abbestellte Rubriken nach
Wahl, per nn lesbar...) dabeihat. Wesentlich bequemer als das Durchsuchen der
MPA per Hand, wie ein Gast das muss. Und mit einem klitzekleinen bissel
Selbstdisziplin kann man sich auch gegen die Wuensche eines
Zeitungslesezweities nach Gildenzugehoerigkeit oder MonsterStats wehren :))
Dann  verfuehrt der auch nicht zum Spielen.

Z'par Servu,
                Bendeigid

-----------------------------------------------------------------------------



Re^4: Gaeste und die MPA (Pitty, 25. Jul 1997, 12:33:38):
~#! rn=Engywuck rt=869761669 rg=entwicklung
~#! tid=869745941
Wie waere es, wenn ein Artikel automatisch geloescht wird, wenn der Charakter
Selbstloeschung begeht? Wenn ein Gast also das MG verlaesst, muesste der
Artikel
automatisch geloescht werden. Ebenso bei Einmalcharakteren. Weiss allerdings
nicht, ob das geht.

Pitty, der sich tierisch freut, dass er auch mal was sagen kann!

-----------------------------------------------------------------------------



Re^5: Gaeste und die MPA (Hardil, 25. Jul 1997, 13:55:01):
~#! rn=Pitty rt=869826818 rg=entwicklung
~#! tid=869745941

Hmmm,
die Volksseele kocht.
Ich denke, Gaeste koennen deswegen schreiben, weil es halt vorkommen kann,
dass der Spielcharakter in einer misslichen Situation ist, evtl halt auch
durch einen Bug gebremst oder tot, und man keinen Zeitungsdummy-Charakter
erschaffen muss.
Das ist auch absolut okee, denke ich. 
Wenn man irgendwem irgendwelche Schreibrechte wegnimmt, kommt derjenige, der
ein Workaround haben will, doch eh auch zu seinem Workaround. Das ist hier ja
auch so bei allen Monstern und aenlichem - wer bescheissen will, bescheisst.

Also vergesst den Thread und sucht ein neues Thema fuer das Sommerloch.

K'affee servic'e,

		-Hardil.

-----------------------------------------------------------------------------



Re^6: Gaeste und die MPA (Babs, 25. Jul 1997, 21:17:55):
~#! rn=Hardil rt=869831701 rg=entwicklung
~#! tid=869745941
Ich finde die Idee, Beschraenkungen fuer die Postingrechte in der Zeitung
einzufuehren, absurd. Muessen nach Gilden- , Bank-, Sterbe- und
Spielpausezweities nun wirklich auch noch Flame- und Beleidigungszweities die
Platte
vollmuellen?

Babs, faengt bestimmt nicht noch an, hier stupide im MG rumzumetzeln, nur um
in die MPA schreiben zu duerfen ;-)

-----------------------------------------------------------------------------



Re: Zweities (Raffi, 25. Jul 1997, 21:19:14):
~#! rn=Alpha rt=868613844 rg=entwicklung
~#! tid=868613844

Technisch seit Langem (mehr als 2 Jahre) moeglich und auch aktiv.
Es muesste nur mal eine Moeglichkeit geschaffen werden das man beim Schmied
optional seine Erstinamen auch angeben kann. Locos finger kann das ganze auf
jeden fall schon. (auch ohne bekannte Macken). Andere MG abkoemlinge verwenden
es sogar.

Gruss
H.

P.S.: lass Dir von einem Wohlwollenden Magier ein
xxx->SetProp(P_SECOND,"Alpha") machen.

-----------------------------------------------------------------------------



Re: Re: Zweities (Ringor, 26. Jul 1997, 02:24:55):
~#! rn=Raffi rt=869858354 rg=entwicklung
~#! tid=868613844
Mal fuer alle, die sich (verstaendlicherweise) um Semmels Gebiet druecken, und
daher die Moeglichkeit nicht kennen:

In der oberen und noch ungefaehrlichen Ebene von Semmels Gebiet gibt es einen
NPC, bei dem man sich offiziell als Zweitspieler eines bestimmten Charakters
anmelden kann. Das wird dann fuer alle per 'finger' sichtbar eingetragen.

Und wer nicht Karateka ist, keinen Bock auf 1-Zeilen-'Lang'beschreibungen und
ne Menge Bugs hat und zudem mit Ausruestung aber ohne Umweg ueber Lars wieder
rauswill, der sollte danach auch wieder rausgehen, ohne in irgendwelchen
Truemmern zu wuehlen oder Teleporterfelder zu betreten.

Ringor. 

-----------------------------------------------------------------------------



Re^3: Zweities (Schoko, 26. Jul 1997, 14:26:52):
~#! rn=Ringor rt=869876695 rg=entwicklung
~#! tid=868613844

Ich stelle den Antrag Ringor wegen aktiver und umfassender Spielerhilfe zu
loeschen! :)

Schoko (auch schon laengst geloescht) :)

-----------------------------------------------------------------------------



Re^5: Gaeste und die MPA (Mupfel, 26. Jul 1997, 17:55:44):
~#! rn=Pitty rt=869826818 rg=entwicklung
~#! tid=869745941
Ohja geil, und Hate schreibt nen Grepper, der dann alle Rubriken und Archive
durchsucht um ggf. Artikel zu loeschen.... :-)

-mupfel-
P.S.: dann wuerde ein selbstgeloeschter Spieler so verschwinden als haette es
ihn nie gegeben. naja fast. aber muss ja nicht sein...

-----------------------------------------------------------------------------



Re^6: Gaeste und die MPA (Engywuck, 26. Jul 1997, 19:11:19):
~#! rn=Mupfel rt=869932544 rg=entwicklung
~#! tid=869745941
Man sollte noch alle Playerfiles durchgreppen, um die teile-mit-alis zu
loeschen, die sich auf diesen Namen beziehen...

Engy*

-----------------------------------------------------------------------------



Re^7: Gaeste und die MPA (Taragon, 26. Jul 1997, 21:50:15):
~#! rn=Engywuck rt=869937079 rg=entwicklung
~#! tid=869745941
Gute Idee... und als naechstes haben wir dann 68% Dauerlag ;-)

Taragon

-----------------------------------------------------------------------------



Re^8: Gaeste und die MPA (Anatol, 29. Jul 1997, 12:12:57):
~#! rn=Taragon rt=869946615 rg=entwicklung
~#! tid=869745941
Ich kann inzwischen nicht mehr soviel Verstaendnis fuer solche Restriktionen
aufbringen, auch wenn ich den Vorschlag, Gaesten das Schreibrecht zu
entziehen, auch schon mal von mir kam...
Man _kann_ alles unterbinden, was in den meisten Faellen keinen Sinn macht.
Muss man aber nicht. Wenn es solche Spinner gibt, die Mist posten muessen,
ohne dazu stehen zu wollen/koennen, sollen sie es doch tun. Der naechste Gast
loggt sich dann ein und loescht den Artikel wieder :-)

Gast2

PS: Ich rechnete damit, dass ein wenig mehr Leute meinen arroganten Stil
erkennen - aber Mupfel ist wohl der Vorgeschaedigste, daher sei ihm das
gegoennt ;-)
PPS: Ich konnte Asmodis' Artikel einfach nicht unbeantwortet lassen. Der Geist
war willig,...


-----------------------------------------------------------------------------



Re^6: Gaeste und die MPA (Jimdigriz, 29. Jul 1997, 20:10:43):
~#! rn=Hardil rt=869831701 rg=entwicklung
~#! tid=869745941
Hoi,

ich halte auch eine Zensur fuer unnoetig.
Wenn einer nicht zu seinem Kram steht, dann spricht das
fuer sich und jeder kann den Artikel entsprechend bewerten.
Wenns nur geflame is, dann sagt man halt nix dazu.
Andererseits wird von Gaesten nicht nur negatives
produziert und grade die Notsituationsmoeglichkeiten
sollten nicht genommen werden. 

Ciao,
 Jim DiGriz gegen Zensur und fuer Selbstverantwortlichkeit

-----------------------------------------------------------------------------



Re^7: Gaeste und die MPA (Patryn, 29. Jul 1997, 20:17:54):
~#! rn=Jimdigriz rt=870199843 rg=entwicklung
~#! tid=869745941
also ich kann mich nicht daran erinnern, hier mal etwas vernuenftiges von
einem gast vernommen zu haben (gleiches werden viele sicherlich auch von
 mir behaupten, glaubt ihnen nicht :)
ich bin fuer eine untere levelgrenze fuer das schreiben in die zeitung,
egal welche rubrik. aehnliches waer fuer channels uebrigens auch nich
schlecht, denn rumrufende/quaengelnde/schreibende, also insgesamt
laute gaeste und lowest-level-player (nettes wort) sind doch eh nur
abgedrehte HLPs die sich unter dem deckmantel der anonymitaet nich
zu benehmen wissen...
ich kann mich zumindest daran erinnern, dass ich als anfaenger und meine
meisten damaligen mitstreiter uns kaum getrauten, irgendetwas
rumzurufen/schreiben/channel-muellen, blabla :)

....nun ja, so ungefaehr...wollte halt auch mal meine meinung zu aeussern

------
patryn diskutiert mit

-----------------------------------------------------------------------------



Re^8: Gaeste und die MPA (Rantanplan, 29. Jul 1997, 20:19:12):
~#! rn=Patryn rt=870200274 rg=entwicklung
~#! tid=869745941
Bin voellig dagegen !!!
Bin voellig dagegen !!!


For obvious reasons ;-)

Oe*

-----------------------------------------------------------------------------



Re^9: Gaeste und die MPA (Patryn, 30. Jul 1997, 08:18:09):
~#! rn=Gast1 rt=870216553 rg=entwicklung
~#! tid=869745941
es haette in diesem fall genau den richtigen getroffen.

------
patryn

-----------------------------------------------------------------------------



Nachrichten/dwnews (Hate, 30. Jul 1997, 09:33:01):
Hi,

ich habe die Ebene Nachrichten und die Rubrik dwnews etwas veraendert.
Auf Nachrichten kommen jetzt immer nur der erste Satz der Meldungen und
in der Rubrik dwnews habe ich die massigen Zeilenumbrueche reduziert.
Ausserdem ist der Titel eines Artikels jetzt die Schlagzeile.

Hate.

-----------------------------------------------------------------------------



Re: Nachrichten/dwnews (Acrimon, 30. Jul 1997, 14:42:13):
~#! rn=Hate rt=870247981 rg=entwicklung
~#! tid=870247981
Danke.
Dann nuetzt die Ebene [Nachrichten:] wieder was!

-nachrichten*
rubrik nachrichten
artikel 14

Acrimon, der Rote Ritter

-----------------------------------------------------------------------------



Schreibende Gaeste (Grimmborn, 31. Jul 1997, 18:02:57):
Ich werde zukuenftig jeden Artikel eines Gastes loeschen, sobald ich ihn sehe.
Sollte eine dahingehende Regelung kommen, hab ich lediglich weniger Arbeit.
Beschwerden wegen Zensur per mail an Grimmdeath, der freut sich sicher, wenn
er Beschwerdematerial ueber mich hat. Wenn er es schafft, sich nochmal
einzuloggen...

Dank an Bendeigid fuer die Idee!

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re^5: Gaeste und die MPA (Fyt,  4. Aug 1997, 08:31:11):
~#! rn=Wurzel rt=869761746 rg=entwicklung
~#! tid=869745941

Oder Selbstloeschung nur nach 200 Online-Tagen... *hust*

Fyt.

-----------------------------------------------------------------------------



Sterben mit ->die() (Anatol,  9. Aug 1997, 02:38:53):
Ich bin dafuer, dass ein Magier, der eine Toedliche Falle aufstellt, dem Opfer
eine besondere Sequenz goennen muss - das hat einerseits zur Folge, dass ein
fauler Magier keine Toedlichen Fallen mehr schreibt und andererseits der
Spieler leichter ueber den Tod wegkommt... :)

Anatol
(Besucher im ewigen Feuer)

PS: Nehme den Artikel ernst, wer mag :)


-----------------------------------------------------------------------------



Re: Sterben mit ->die() (Pilgrim, 11. Aug 1997, 11:44:40):
~#! rn=Anatol rt=871087133 rg=entwicklung
~#! tid=871087133
Hi,

eine eigenen Sterbe-Sequenz fuer den Fall, das man die() direkt aufruft
waehre eigentlich angebracht ... daraus sollte schon hervorgehen, warum
man denn nun gestorben ist (falls das nich offensichtlich war) ... oder
wie man es besser/anders machen kann ... ich denke, das einmal wegen
Fahrlaessigkeit an einer Stelle zu sterbe genug sein sollte ... bei
Dummheit kann man natuerlich nix machen ;-)

Pilgrim 
*ignoriere typos*

-----------------------------------------------------------------------------



Re: Re: Sterben mit ->die() (Yudinom, 11. Aug 1997, 20:20:49):
~#! rn=Pilgrim rt=871292680 rg=entwicklung
~#! tid=871087133
Waer doch mal ne idee das die Todessequenzen immer vom Sterbeort und/oder vom
Monster abhaengt..

YudinoM

-----------------------------------------------------------------------------



Re^3: Sterben mit ->die() (Wurzel, 11. Aug 1997, 20:23:47):
~#! rn=Yudinom rt=871323649 rg=entwicklung
~#! tid=871087133
das kann fuer manche leute aber ganz schoen schnell langweilig werden...
aber prinzipiell ist gegen so eine idee nichts einzuwenden. jedenfalls bei
manchen monstern bzw. orten. eine allgemeine regelung halte ich da eher fuer
ueberfluessig.

wurzel

-----------------------------------------------------------------------------



Re^4: Sterben mit ->die() (Wargon, 12. Aug 1997, 11:00:45):
~#! rn=Wurzel rt=871323827 rg=entwicklung
~#! tid=871087133
Und fuer das noetige Ruestzeug siehe (als Magier): man todessequenz
Das die() aufrufende Objekt sollte den Dateinamen der Sequenz in der Property
P_ENEMY_DEATH_SEQUENCE stehen haben.
  Nur so als Anregung,
    Wargon :)

-----------------------------------------------------------------------------



Re^5: Sterben mit ->die() (Orktoeter, 13. Aug 1997, 18:54:40):
~#! rn=Wargon rt=871376445 rg=entwicklung
~#! tid=871087133
Danke Wargon, aber warum steht das in einer Rubrik, die fuer Spieler
zugaenglich ist ?
Es enthaelt denke ich keine Informationen, die einem Spieler weiterhelfen,
aber ich denke das Programmcode (welcher art auch immer) nur in magierrubriken
gehoert.
OrkT moechte in einer Phanasywelt leben und nicht in als ein haufen
Variablen/Konstanten und etwas ASCII-text .

-----------------------------------------------------------------------------



Geist (Anakin, 16. Aug 1997, 15:17:55):
Hi,

kann mal ein Erz die Meldung "Als Geist kannst Du nicht zaubern."
irgendwie aendern? Ich kann als Trves eh nicht zaubern, und
z.B. beim Identifizieren als Geist, streiche ich nur mit
nem Stein ueber den Gegenstand, wenn ich laufen kann als Geist
dann sollte ich doch auch faehig sein, ein Stein mit
meiner Hand zu bewegen?

Anakin.

-----------------------------------------------------------------------------



Re: Geist (Taragon, 16. Aug 1997, 15:19:51):
~#! rn=Anakin rt=871737475 rg=entwicklung
~#! tid=871737475
Hmmm, waere nicht verkehrt, aber ich glaub das wird nix... sonst koenntest du
ja alle deine sachen nach dem tod einfach als geist holen gehen ... 

Taragon

-----------------------------------------------------------------------------



Re: Geist (Augra, 16. Aug 1997, 15:50:37):
~#! rn=Anakin rt=871737475 rg=entwicklung
~#! tid=871737475
Geister laufen nicht, die schweben umher. Und auch ein toter Kaempfer kann nix
tragen. 

A. Weissnix


-----------------------------------------------------------------------------



Re: Re: Geist (Anakin, 16. Aug 1997, 15:51:55):
~#! rn=Augra rt=871739437 rg=entwicklung
~#! tid=871737475
Also es gibt die Moeglichkeit dass ich als Kaempfer Sachen tragen kann,
aber darum geht es nicht, 'zaubern' koennen die Trves eh nicht,
dann muesste ich doch in der Lage sein, meine Faehigkeiten anzuwenden,
die sind ja keine 'Zaubersprueche'.

Anakin.

-----------------------------------------------------------------------------



Re^3: Geist (Bendeigid, 18. Aug 1997, 13:44:11):
~#! rn=Anakin rt=871739515 rg=entwicklung
~#! tid=871737475
Langer Rede kurzer Sinn: 
Koennte man den reinen TEXT, der ausgegeben wird von "Du kannst eh nicht
zaubern" auf "Das schaffst Du als Geist aber nicht!" aendern? Ich denke ja,
und es macht auch Sinn. Immerhin duerften ausser den Trves auch die Karateka
davon betroffen sein, und wer weiss, evtl mal spaeter andere Gilden auch.

Z'par Servu,
            Bendeigid

-----------------------------------------------------------------------------



Re^4: Geist (Raffi, 18. Aug 1997, 19:51:57):
~#! rn=Bendeigid rt=871904651 rg=entwicklung
~#! tid=871737475
Also fuer mich ist der Text vollkommen richtig - Dafuer das Ein Geist was
identifizieren kann, muss er ja wohl zaubern koennen - und das koennen Trves
ja nicht :)

Gruss
H.

-----------------------------------------------------------------------------



Reply auf artikel 49 in d.fernwest ... (Key, 19. Aug 1997, 18:37:01):
Aehm Padreic ... du sagtest:
nicht das spielgeschehen beeinflusst.

Hmm also ich weiss net, aber wieso kommen dann immer wieder leute und
beschweren sich darueber das wegescripte das spielgeschehen beeinflussen?
Wurden dadurch unter anderem net auch scripte verboten? Weil es das
spielgeschen naemlich in nem gewissen sinne doch beeinflusst?

Key

-----------------------------------------------------------------------------



Partyseminardisskussion (Yantro, 25. Aug 1997, 13:12:02):

Vielleicht mal eine Kleine Zusammenfassung der Sachen, die nach dem Semiar
besprochen wurden und die jetzt vielleicht umgesetzt werden sollten. Hierbei
dient das fuer alle EMs auch als Erinnerung, fuer die, die nicht konnten als
interesante Info.

1. Thema Zweities.

Es wurde von allen das Problem mit den Zweities erkannt und das da was getan
werden muss. Ich will hier wie auch in den folgenden Punkten weniger die
Diskussion, als mehr das Ergebnis wiedergeben: 

a) ALLE Zweities muessen angemeldet werden und das mit dem Namen des
Ersties. Dafuer muss der Zwergenschmied nochmal geaendert werden, denn der
setzt, soviel ich weiss, P_SECOND, 1 und nciht den string. Alle Zweities
muessen bis zu einem Stichtag markiert sein, und das mit Namen des Ersties,
was heisst, dass schon vorhandene Zweities mit ,1 nochmal angemeldet werden
muessen.

b) Zweities duerfen prinzipiell nicht gleichzeitig als vollaktive Spieler
eingeloggt sein. Hierzu muss der Spieler eine Moeglichkeit erhalten, den
Spieler als "passiv" zu deklarieren, das heisst, dass er eine weit
eingeschraenkte Shell kriegt, mit der er dann zB nur noch kommunizieren
kann, beten (fuer kleriker) und aequivalente Sprueche auch noch, aber eben
nicht mehr moven und kaempfen. Ich denke auch, dass sachen wie spells auf
andere (entgiften und heilen), aber auch das spendieren abgefangen werden
sollte, denn sonst wird der passivcharakter doch missbrauch. Hierfuer muss
noch eine Liste der erlaubten und nicht erlaubten sachen gesammelt werden.

Damit das aktiv-passiv-schalten zwischen den Charakteren nicht missbraucht
werden kann und auch sinnvoll wird, muss das zeitlich begrenzt werden, was
heisst, dass es nur, aehhh alle 15 Minuten oder aehnlich passieren kann. 

Zweities, die nach der Frist EINDEUTIG erwischt werden, dass sie sich nicht
an die Regeln halten oder nicht markiert sind, werden geloescht.

c) Im Zusammenhang mit dem Zweitispielverbot wurde angekuendigt, dass sich
NUR BEI ERFOLG der Massnahme ueber ein partie/group-kampf-system gedanken
gemacht werden, in dem dann sachen wie verfolge, mehrvergabe an XPs,
mitvergabe von Killpunkten an "Mitkiller" nachgedacht wird. Konzepte
hierfuer scheint es nicht zu geben, aber viele gute Ideen. Tatsache bleibt
aber, und das wissen nun auch die Spieler, das sowas nur dann geht, wenn man
alle Zweities markiert hat und wenn innerhalb einer group keine Zweities
sind (deshalb diese aktiv-passiv-geschichte).

d) Es sollte, vielleicht mit einigen Spielern zusammen, nochmal ueber das
Konzept der Parawelt nachgedacht werden. Diese ist nicht zum Schikanieren
der Spieler da und alle Stellen, die in diese Richtung gehen, sollten
ausgebaut werden. Aehnlich Effekte, die zB NICHT-SEHER in die Parawelt
bringen. Die Seher finden die Parawelt ok, wenn sie sich freiwillig
aussuchen koennen, ob sie da reingehen oder nicht. Nach dem Ausbau der
Fehlteleports gab es da eigentlich kaum noch Grund fuer Diskussionen.

e) "ende" soll als Kampfmethode entgueltig ausgebaut werden und dafuer gibt
es mehrere Vorschlaege, wie man das machen koennte. Dazu siehe auch
magier.entwicklung oder aeltere Artikel von mir weit vor der Party. Ich
denke, dass wir da den Weg des wenigsten Proggaufwandes gehen sollten.
Den Befehl ganz auszuschalten, da gab es dann doch wiederstand gegen, weil
es immer noch der einzige weg ist, zB ein Labyrinth zu verlassen, wenn man
keine Lust oder keine Zeit mehr hat.

f) Ueber den Tod und seine folgen konnte aus Zeitgruenden nicht mehr geredet
werden, aber ich hab das Gefuehl, dass der jetzige nicht so willkommen ist.
Stoerend gilt vor allem das lange hochideln (auch wenns Quatsch ist) und
eine Neuerung in der von Catty mal angeregten Richtung ist gern gesehen. Das
wuerde dann beinhalten:
- temporaerer Skillverlust, aber viel kuerzer als jetzt
- XPverlust und aehnliches wie jetzt.
- echter Statverlust mit Vergabe neuer Zts, die dann gesucht werden muessen. 
  hierbei kann man ja die Anzahl der verlorenen ZTs dem Lvl abhaengig
  machen, ich wuerd sagen Verlust von 2-8 Statpunkten je nach Level.

Eine Kleinigkeit gibt es noch von meiner Seite aus: 

Ich hab mir auf der Party von mehreren Seiten glaubhaft versichern lassen,
dass es moeglich ist, einen Seher in 36 Stunden hochzuspielen. Alleine die
kurze Zeit finde ich erschreckend und sie zeigt, dass an der FP-Geschichte
noch nciht alles ok ist. Deshalb vielleicht folgende Ideen:

- Man kann die 1 Millionen XP im Moment auch NUR durch questen erreichen und
ich denke, dass das nicht ok ist. Die Seher, die ich angesprochen hab,
fanden das auch und meinten, dass deswegen die XPs aus den questen zumindest
stark reduziert, wenn nicht sogar rausgenommen werden sollten, denn das
einer GANZ OHNE Metzeln NEBEN den Questen Seher werden kann, das ist sicher
auch in einem questmud nicht erwuenscht, oder? Vielleicht sollte der Seher
wenigstens 20 oder 30% alles moeglichen Metzelpunkte haben oder so... 

- auch denke ich, dass mit der Anzahl der noetigen forscherpunkte (EP) noch
was nicht so ganz stimmt, wenn das einer so schnell seher werden kann.
Forscherpunkte sollten ja eigentlich genau dafuer nicht vergeben werden,
aber der Haken kann auch an der Berechnung der Grenzen liegen. Einen
relativen Vergleich zu nehmen gegenueber allen anderen Spielern und deren
Durchschnitt klingt vielleicht nett, aber jeder gezuechtete zweitieseher,
der da ist drueckt die Grenze und ich hab sogar gehoert, dass viele Seher
deswegen existieren, damit sie die Grenze fuer die naechsten Zweities unten
halten. Wer da ne Idee hat fuer ne Aenderung, der moege das Mailen oder
posten. 

Soviel erstmal... mehr faellt mir nicht ein.

Yantro

-----------------------------------------------------------------------------



Re: Partyseminardisskussion (Yantro, 25. Aug 1997, 13:19:35):
~#! rn=Yantro rt=872507522 rg=entwicklung
~#! tid=872507522
Eines hab ich vergessen:

Silvana sucht immer noch tausende guter Ideen fuer die unterschiedlichen
Rassenkonzepte. Dabei meint sie 
a) unterschiede bei den verben
b) unterschiedliche Skills und andere faehigkeiten
c) verschiedene heil und regenerationsgeschwindigkeiten
d) vieles mehr... 

Ihr seid gefragt.. mailt sie zu!!!

Yantro, getreten durch Patryn

-----------------------------------------------------------------------------



Re: Re: Partyseminardisskussion (Damien, 25. Aug 1997, 14:03:08):
~#! rn=Yantro rt=872507975 rg=entwicklung
~#! tid=872507522
Heja, da tut sich ja endlich mal was. Also ich finde das sind alles echt gute
Ideen, hoffentlich wird da auch was draus.

Damien.

-----------------------------------------------------------------------------



Re: Partyseminardisskussion (Aline, 25. Aug 1997, 14:24:53):
~#! rn=Yantro rt=872507522 rg=entwicklung
~#! tid=872507522

Hmmm normalerweise halte ich mich ja aus solchen Diskussionen raus.
Allerdings zu einem Punkt in dem Artikel moechte ich doch mal etwas sagen.
Es geht um eine Deiner Ideen am Ende des Artikel: Dass man nicht mehr
Seher/in werden kann ohne metzeln zu muessen.
Damals als ich Seherin wurde, reichten relativ wenige APs aus da nicht
soviele Quests angeschlossen waren. Dass heisst ich musste mir meine
fehlenden XPs zusammen metzeln und das waren nicht wenige, da ich
auch noch durch ein paar Tode nicht die maximal moeglichen XP hatte.
Das Metzeln hat mich dann so ca. 3 oder 4 Onlinestunden gekostet.
Eine total bloede Zeit, da ich wirklich nichts anderes getan habe, als
zu metzeln. Wenn Du meinst, durch die Anforderung von 30 % der Metzel-
punkte (was issen das? Meintest Du XP oder etwas Metzelstubse?
Von denen habe ja ich als Seherin nicht mal 10 % der Gesamtanzahl)
die Zeit duetlich zu erhoehen, die jemand braucht um sich nen Seher
hochzuziehen, liegst Du falsch. Mit dieser Massnahme wuerdest Du nur
die Spieler treffen, die sich ehrlich durch jede Quest muehen. Denn bei
der Anzahl der Questen, die es inzwischen gibt, dauert das auf jeden
Fall laenger als 30 Tage.

So das war nur mein Kommentar dazu

Aline (schweigt jetzt wieder)

-----------------------------------------------------------------------------



Re: Partyseminardisskussion (Dhojakt, 25. Aug 1997, 14:45:28):
~#! rn=Yantro rt=872507522 rg=entwicklung
~#! tid=872507522
So, ich muss nu auch mal meinne senf dazugeben...
zu b)
Die von Yantro erwaehnte moeglichkeit war nur eine der beiden diskutierten.
Die andere waere gewesen, alles bisher moegliche auch weiterhin moeglich
zu machen und nur die zusaetzlich zu schaffenden gruppensachen unmoeglich zu
machen, zB dass kein zweitie in eine gruppe eintreten kann, wo derselbe
rl-spieler schon einen charakter drin hat. Ich persoenlich wuerde diese
bevorzugen. Alternativ kann dieses verfahren auch von magiern angewendet
werden in gegenden, wo wirklich nur mehrere zusammen hin sollen (huhu zardoz
;) ). Was denkt die spieler-/magierschaft zu DIESER schwaecheren
restriktion (falls nicht alle das auf der diskussion mitgekriegt haben)?

zu f) 8 zts verlieren? *brrrrr* weisst du, wie lange man dafuer sucht, wenn
man die stellen nicht kennt? Ich denk mal, dass 3 stueck verlust auch
reichen wuerden. Der aufwand nach einem tod sollte doch im schnitt ne halbe
h nicht ueberschreiten.

zu kleinigkeiten:
-xp durch quests erniedrigen
Prima, dann braucht derjenige wenigstens 40 h fuern zweitspieler, denn 250
kxp pro h sollten fuer nen charakter, der sich auskennt, auch mit einem
abenteurer-nichtseher moeglich sein. Will heissen, es ist ein ansatz, aber 
kein wesentliches hindernis. Ausserdem freue ich mich, wenn ich auch durchs
questen ein paar xp bekomme (alte angewohnheit ;) ).
Die idee mit den metzelpunkten ist sicher auch nicht schlecht, aber passt
mal auf, dass das nicht zu hoch angesetzt wird, zu etlichen monstern kann
man sich nur mit entsprechender erfahrung hingetrauen bzw sie stehen in der
parawelt und ich denke, dass ich keine 30% der monster, die ekstp geben, 
gekillt habe. Aber wenn der erstie weiss, was ekstp gibt, ist auch das kein
problem: Die zweitieseherzucht dauert dann eben 48 h.

-forscherpunktgrenze fuer seher
Wenn man die Grenze fuer die noetigen XPL zu weit nach oben setzt werden die
nichtblumchenpfluecker-spieler genervt. Ein durchschnitt aller ersties ist
eine erwaegung wert, man sollte aber auch eine obergrenze fuer das noetige
auskennen (was weiss ich, 10%, 15%) festsetzen, dass nicht irgendwann mal
die leute sich zu 50% im mud auskennen muessen, um seher zu werden, DAS ist
naemlich definitiv zuviel verlangt.

Khidar denkt . o O (zwinge magier zu spiele aktiven zweitie)

-----------------------------------------------------------------------------



Re: Re: Partyseminardisskussion (Zephyr, 25. Aug 1997, 14:48:54):
~#! rn=Dhojakt rt=872513128 rg=entwicklung
~#! tid=872507522
Zur Forscherpunktgrenze fuer Seher: Vielleicht sollte da erst
mal der Bug entfernt werden, durch den ein Spieler Seher werden
kann, auch dann, wenn er sich nur unter Durchschnitt auskennt ;)

*knuddels*
              Zephyr

-----------------------------------------------------------------------------



Re: Partyseminardisskussion (Yaren, 25. Aug 1997, 14:49:30):
~#! rn=Yantro rt=872507522 rg=entwicklung
~#! tid=872507522
Zu dem Markieren der Zweities: in der Naehe von Wilhelmsburg in Semmels Gebiet
gibt es einen alten Mann, der eine Zweitiemarkierung mit Namen vornimmt und
vorher den Erstie per teile-mit um das Einverstaendnis fragt. Der Schmied in
der Zwergenstadt muesste die Funktionalitaet ja bloss kopiert bekommen - das
duerfte kein Aufwand sein.

Ein paar Worte moechte ich zu der
'Ich-kann-aber-einen-Seher-in-2-Online-Tagen-hochspielen'-Diskussion sagen:
fuer Neulinge, die das MorgenGrauen nicht kennen, ist eine Zeit von 10 oder 15
Tagen schon ziemlich gut; wenn ich natuerlich schon seit einigen Jahren hier
spiele und keine Sekunde mit Ideln oder labern verbringe, ist es durchaus in 2
Tagen zu schaffen. Aber soll man nur deswegen versuchen, das Seherwerden fuer
die Spieler zu erschweren, die ohnehin schon lange dafuer brauchen? 

Yaren. Hat wegen extremer Idle- und Labersucht 40 Tage gebraucht.

-----------------------------------------------------------------------------



Re: Re: Partyseminardisskussion (Damien, 25. Aug 1997, 14:53:50):
~#! rn=Dhojakt rt=872513128 rg=entwicklung
~#! tid=872507522
hmm, ich faende es gut, die Zweities massiver einzuschraenken. Das mit der 
Gruppe ist wohl weniger das Problem, da man zwei Charaktere gleichzeitig im
Kampf eh' nur per skript effektiv einsetzen kann.
Aber die ganzen Trage-, Heil- und Spendier-Zweities plus evtl. Zauber-
Rueckendeckungs-Zweities stoeren die Interaktion und das spielgleichgewicht.
es ist doch viel besser, wirklich einen Kleriker um hilfe bitten zu muessen, 
als einfach seinen Zweitie loszuschicken. Vom Interaktions-Standpunkt aus.
wenn es wirklich Gruppen-Systeme gibt, dann denke ich, wird hier einiges
besser, und wenn es dann endlich eine gute teamwork gibt, werden Zweities
wirklich unnoetig. (Und wofuer muss man eigentlich 500 K muenzen ueber den
naechsten Reboot retten? wozu sonst bankzweities?)

Damien.

-----------------------------------------------------------------------------



Re^3: Partyseminardisskussion (Mango, 25. Aug 1997, 14:58:52):
~#! rn=Zephyr rt=872513334 rg=entwicklung
~#! tid=872507522
wie waers erst mal die 2ty-markierungspflicht durchboxen und dann den
durchschnitt der 1ty's nehmen damit sollte das problem des
durchschnittdrueckens behoben sein?

Mango, heut mal nachdenklich.


-----------------------------------------------------------------------------



Re: Partyseminardisskussion (Padreic, 25. Aug 1997, 14:59:42):
~#! rn=Yantro rt=872507522 rg=entwicklung
~#! tid=872507522
Ich denke das zweitis immer missbraucht werden koennen und ich versteh auch
sonst nicht ganz den Grund, dass man einen zweiti zum beten einloggen darf...
Jeder kann gleichzeitig doch sowieso nur mit einem spieler richtig spielen,
also ich bin dafuer, dass wenn schon dann jeder nur einen _einloggen_ kann und
der ganze Umstand mit passivrumstehen weggelassen wird.
                                       Padreic

-----------------------------------------------------------------------------



Re: Re: Partyseminardisskussion (Damien, 25. Aug 1997, 15:02:06):
~#! rn=Padreic rt=872513982 rg=entwicklung
~#! tid=872507522
Genau, das denke ich auch. Zwieties sind dann sinnvoll, wenn man eine neue
Gilde kennenlernen will, aber seinen Erstie deswegen nicht verschlechtern
will.
Oder wenn man als Mag auch mal spielen will. Aber in beiden faellen macht es
keinen Sinn, zwei spieler gleichzeitig einzuloggen. (was man als Mag eh' net
darf.(

Damien

-----------------------------------------------------------------------------



Re^3: Partyseminardisskussion (Zorro, 25. Aug 1997, 15:08:10):
~#! rn=Damien rt=872514126 rg=entwicklung
~#! tid=872507522
Quatsch wenn ich mit nem erst was machen will schalte ich die ebenen aus ...
und log einen zweitie ein um die ebenen zu verfolgen und um zeitung zulesen
wenn der erstie mal in nem metztel gebiet idlen muss, dass sowas magier nicht
verstehen koennen ist klar weil se eh immer langeweile haben ... also ich bin
auch dafuer das zweitie verbot noch so streng auszulegen ... weil man doch
wirklich nicht fuer jeden scheiss jemanden nerven muss (zb hebel ziehen in der
f&e, oder wenn man gegen ein monster kaempof das bei jedem schlag stark
vergiftet ... dass man halt den klerikern auch nicht zumuten die selber
spielen wollen und auch spass am mg haben wollen)

Gruss Zorro der auch gerne zweities haette

-----------------------------------------------------------------------------



Re: Partyseminardisskussion (Jimdigriz, 25. Aug 1997, 15:18:06):
~#! rn=Yantro rt=872507522 rg=entwicklung
~#! tid=872507522
Hoi,

Zum 36h-Seher:
 Also ich faende da interesannt ob es sich um
 Tatsaehcliche oder um Online Stunden handelt.
 Vermutlich aber um tatsaechliche. Ich glaube gerne dass das
prinzipiell moegliche ist, aber nur von erfahrenen Leuten
 (Zweitiseher halt), die mir nix dir nix durch die Questen
 laufen und auch nen ungefaehren Plan haben, wo FP
 sein koennten...

IMHO relativiert das das Problem mit den Seheranforderungen,
wenn auch geringsfuegig...

Ciao,
 JdG

-----------------------------------------------------------------------------



Re^3: Partyseminardisskussion (Dhojakt, 25. Aug 1997, 15:21:22):
~#! rn=Damien rt=872514126 rg=entwicklung
~#! tid=872507522
Ok, dann will ich dir mal n paar gegenbeispiele nennen: 
Wenn ich ernsthaft hier was mache, logge ich noch einen charakter zum
kanaelelesen ein. Die kanalhistory ist zwar nett, aber alle 2 min auf allen
mich interessierenden kanaelen die history ansehen, ob ich was verpasst hab
ist nicht toll.
2. Es gibt ein paar stellen, wo zweities einfach praktisch sind. DIe
archiequest wird mit 2 zusaetzlichen charakteren an 2 hebeln wesentlich
einfacher (die haelfte der rennerei). Ausserdem ist es nicht toll, unten in
der geigerquest vergiftet vor verschlossener klappe zu stehen (die sich nur
von aussen oeffnen laesst) und dann rumzufragen, ob einer das ding mal oeffnen
koennte - bis ich das beschrieben habe, bin ich tot.
3. Ich idle hier so vor mich hin, ploetzlich teilt mir raffi mit: Aeh,
koenntest du mir mal bitte aus dem raeuberbaum helfen? Da logg ich halt mal
khidar ein und plaette das ding fix, dann hat sich die sache erledigt.
5. Es IST praktisch, wenn man mal mit dem erstie (der bei mir jetzt eigentlich
der zweitie ist) die sachen ruesten oder bei staerkeren monstern mal ne
schutzzone anwenden kann - bei der zone gibts naemlich nicht so viele, die das
koennen. PS: wenn mich mal einer nach der schutzzone bei happigeren monstern
fragt, bin ich gerne bereit, das zu machen, sofern ichs kenne oder hingefuehrt
werde.
Huch, da fehlt 4., ich kann net zaehlen ;).
Ich sehe eine schutzhuelle zu verpassen oder seinem anderen char mal zeug zu
ruesten nicht als tiefgreifende spielbeeinflussung. Es geschieht ja auch nicht
soo haeufig.
6. Dass kein klerikermangel herrscht liegt wohl eher daran, DASS
klerikerzweities zum entgiften und sonstigem heilen rumstehen koennen. Ich hab
ja keinen, aber ich wuerde es bedauern, wenn die zahl der eingeloggten
kleriker ploetzlich nur 1/4 so gross ist.

So, ich denk mal, dass nun die betrachtungsweise zwischen damien und mir
umfassend dargelegt wurde und ich wuerde gern mal noch n paar andere stimmen
hoeren.
Khidar.

-----------------------------------------------------------------------------



Re: Re: Partyseminardisskussion (Damien, 25. Aug 1997, 15:22:59):
~#! rn=Jimdigriz rt=872515086 rg=entwicklung
~#! tid=872507522
Also, die Seheranforderungen sind IMHO gut so wie sie jetzt sind. Wenn etwas
an der Zweitie-Regel geaendert wird, dann erledigt sich das mit den
36-Stunden-
Sehern eh' und fuer Ersties ist das schon stressig, selbst wenn man teilweise
mit KLs arbeitet. Und wenn man es den Zweities schwerer macht, Seher zu
werden,
aendert das nicht viel...obwohl durch das Orakel jetzt keine Lev1-Zweities mit
15er-Staerke mehr moeglich sind.
Und letzten Endes bringt es einem keine so grossen vorteile seher zu sein, wie
sich einfach nur gut auszukennen.

-----------------------------------------------------------------------------



Re^3: Partyseminardisskussion (Damien, 25. Aug 1997, 15:35:04):
~#! rn=Damien rt=872515379 rg=entwicklung
~#! tid=872507522
Hmm, also gut, das mit den kqanaelen sehe ich ein, obwohl mich das noch nie
gestoert hat. Das es praktiascher ist, ist kalr aber Archie oder Paganini
SIND Mehrspielerquesten, wir haben Archie damals zu sechst gemacht.
Ausserdem kann man sich auch einfach eine flasche gegengift mitnehmen, fuer so
Faelle, wie mit dem gift.
wenn mehr Kleriker gebraucht werden, gibt es vielleicht auch mal ein paar
soziale leute, die gerne kleriker werden, WEIL sie gefragt sind. (ich weiss,
das ein Zweitie-Verbot mehr weniger als ein 1/4 der kleriker im spiel lassen
wuerde.
Und klar ist es einfacher, wenn man seine neue ausruestung von seinem voll-
geruesteten zweitie besorgen laesst. Aber es waere wessentlich mehr Teamwork
da, wenn man sich halt mal seine neue ausruestung vonnem befreundeten spieler
metzeln laesst (die meissten seher haben eh' genug ueber, sobald mal der erste
ansturm nach dem reboot vorbei ist) oder wenn man fuer bestimmte monster
vorher
eine gruppe organisieren muss.
Klar wird dadurch einiges schwieriger, aber sicherlich auch interessanter.
und parallel dazu sollte auf alle faelle ein gruppen-system eingefuehrt
werden.

Damien.

P.S.: Mich wuerde auch mal die Meinung von anderen interessieren...

-----------------------------------------------------------------------------



Re^4: Partyseminardisskussion (Jimdigriz, 25. Aug 1997, 16:34:49):
~#! rn=Dhojakt rt=872515282 rg=entwicklung
~#! tid=872507522
Hoi, so mein quoten-me-too (obs echt me-too is ? ) ;)

Zu Khidar im wesentlichen:
 1) (Kanaele mitlesen/loggen) Zustimmung, ich halte es fuer einigermassen
berechtigt
 dazu einen Zweiti zu benutzen, das is ja auch kein echter missbrauch...
2) Archiequest/Geigerquest, zunaechst Archie: der is zwar fuer 3 Spieler
geeignet,
 wenn sich jedoch drei Spieler daran beteiligen ist die Quest
 _deutlich_ aufwendiger, allerdings nicht vom Raetsel her
 anspruchsvoller oder an sich schwerer. Ich halte es daher fuer ok
 wenn an den Hebeln auch maln zweiti der drei (echten) Spieler
 steht, Geiger aehnlich ...
Diese Beispiel sind jetzt aber faelle auf die der eingeschraenkte
 Passiv-Modus funktinoiern wuerde. Die so eingesetzten 2ties
 muessten weder Kaempfen noch sich grossartig bewegen. Sie
 muessten ggf Hebel ziehen und tueren oeffnen ....
also durchaus mit so einem Passiv-Modus vereinbar.
3) Spielern eben (im Kampf) helfen..
 Wenn man in der Situation ist wie im Beispiel, mei
 dann muesste Raffi halt zur not einen anderen fragen,
 hart aber nicht unfair, es findet sich fast immer einer ..
zu 5 und 6 kann ich wenig sagen... aber in diesem Fall waer ich schon eher
der Meinung dass man halt echte Spieler mitnehmen sollte.
Wenn grade keine da sind, kann man halt das gefaehrliche Gebiet
nicht betreten...

So meine paar Fennich,
 Jim DiGriz

-----------------------------------------------------------------------------



Re^5: Partyseminardisskussion (Key, 25. Aug 1997, 19:27:19):
~#! rn=Jimdigriz rt=872519689 rg=entwicklung
~#! tid=872507522
MOMENT!

Also ich kriege gleich was an den Kopp.
Kann es sein das hier entweder jeder was anderes versteht oder sich bei dieser
diskusion keiner ordentlich ausgedrueckt hat?

Ich hoer am Samstag dies, am Sonntag das voellige gegenteil, und heute wieder
was anderes.

Kann mal einer ordentlich! sagen was sache ist?
Und zwar einer der was zu sagen hat.

Key

-----------------------------------------------------------------------------



Re^4: Partyseminardisskussion (Catweazle, 25. Aug 1997, 19:28:57):
~#! rn=Dhojakt rt=872515282 rg=entwicklung
~#! tid=872507522
Also tut mir leid, aber ich konnte deinen Artikel nur bis Punkt 2 folgen,
danach wollte ich nicht weiterlesen. 
Wer nach Zweities verlangt, damit er in der F&E die ja eine Drei-Spieler-Quest
ist (soll ich dir das Wort buchstabieren? Oder naeher erlaeutern, was es 
bedeutet?), dem trau ich danach einfach keinen verneunftigen Grund mehr zu,
da krieg ich einfach nur noch das kalte Kotzen....

YTC

-----------------------------------------------------------------------------



Re^5: Partyseminardisskussion (Fyt, 25. Aug 1997, 19:35:38):
~#! rn=Catweazle rt=872530137 rg=entwicklung
~#! tid=872507522

Fuer Boing vornweg: Ich bin nicht dagegen...  ;-)

Cattie, hast Du Archie mal zu dritt gespielt?

Fyt.

PS: Eine Bitte noch: wenn so ne Regelung kommt, dann lasst den Zwergen
schmied wenigstens *eine* Stelle sein, wo man markieren kann. Hab keine
Lust, meinen armen Kleinen in Semmels Gebiet zu schicken.

-----------------------------------------------------------------------------



Re^6: Partyseminardisskussion (Morgar, 25. Aug 1997, 19:36:33):
~#! rn=Fyt rt=872530538 rg=entwicklung
~#! tid=872507522
Hm, also ich hab Archie mit drei Leuten gespielt und es ging ganz gut.

Morgar

-----------------------------------------------------------------------------



Re^7: Partyseminardisskussion (Fyt, 25. Aug 1997, 19:36:55):
~#! rn=Morgar rt=872530593 rg=entwicklung
~#! tid=872507522

Oha. Morgar ist Zweiti von Catweazle?

Fyt.

-----------------------------------------------------------------------------



Re^6: Partyseminardisskussion (Wurzel, 25. Aug 1997, 19:47:06):
~#! rn=Key rt=872530039 rg=entwicklung
~#! tid=872507522
also, wenn du am samstag nicht richtig zugehoert hast...
yantros artikel lesen, da ist das alles fast richtig dargestellt. was noch
nicht existiert, ist der passivmode fuer zweitis (bzw ersties, wenn der 
zweiti gerade aktiv ist). auf jeden fall ist aber die markierung der zweitis
beschlossene sache (uebrigens wenn ich mich recht erinnere ohne gegenstimmen).

die sachen, die yantro als eigenen beitrag gekennzeichnet hat, sind genau das.
sie wurden auf dem seminar nicht diskutiert, aber das gesuelze ist ha hier in
vollem gang :)

wurzel

-----------------------------------------------------------------------------



Re^7: Partyseminardisskussion (Mango, 25. Aug 1997, 20:27:07):
~#! rn=Wurzel rt=872531226 rg=entwicklung
~#! tid=872507522
der passivmodus war nur ein vorschlag wie man verhindern will das die
2tyscharen wieder zusammen killen gehen, es hiess aber nicht das das was
yantro in seinem artikel sagte verwirklicht wird. ich hoffe das wir in der
richtung noch ein wenig versuchen einen gemeinsamen weg zu finden. 

Mango, 2ty's markiert habend.


-----------------------------------------------------------------------------



Re^8: Partyseminardisskussion (Wurzel, 25. Aug 1997, 20:42:42):
~#! rn=Mango rt=872533627 rg=entwicklung
~#! tid=872507522
der passivmodus ist die alternative zu einem einlogverbot... so kam es
jedenfalls bei der diskussion rueber.

wurzel

-----------------------------------------------------------------------------



Re^9: Partyseminardisskussion (Key, 25. Aug 1997, 21:09:32):
~#! rn=Wurzel rt=872534562 rg=entwicklung
~#! tid=872507522
Scheinbar kam es net klar bei allen so rueber!

Key

-----------------------------------------------------------------------------



Zweitimarkierung (Paracelsus, 25. Aug 1997, 21:43:39):
Vielleicht noch als Ergaenzung zum Thema Zweities markieren:

Einige Spieler meinten, es waere schoen, wenn man Zweities verdeckt
markieren koenne, sprich man kann nur als Magier [ab einem bestimmten
Level] sehen, dass ein Spieler Zweiti ist.

Gut? Sinnvol? Egal? Schlecht?

Para*

-----------------------------------------------------------------------------



Re: Zweitimarkierung (Wurzel, 25. Aug 1997, 21:44:51):
~#! rn=Paracelsus rt=872538219 rg=entwicklung
~#! tid=872538219
wenn das dazu fuehrt, dass die markierung vollstaendiger wird, warum nicht?

-----------------------------------------------------------------------------



Re: Zweitimarkierung (Pampers, 25. Aug 1997, 21:48:28):
~#! rn=Paracelsus rt=872538219 rg=entwicklung
~#! tid=872538219
Also ich find die Idee nicht so toll...

Und sei es nur, damit ich alle Nervensaegenzweities schneller auf meiner
Ignoriereliste hab.

Pampers. Mal wieder hoechstens halbsachlich.

-----------------------------------------------------------------------------



Re: Re: Zweitimarkierung (Silvana, 25. Aug 1997, 22:22:38):
~#! rn=Wurzel rt=872538291 rg=entwicklung
~#! tid=872538219
*sigh*
Yantro, haettest Du das nicht vielleicht erst mal in 'erzmagier' machen
koennen, das wenigstens wir uns alle einig sind, was bei der Diskussion
herausgekommen ist?
Also, bitte beruhigt Euch ein wenig, nicht alles wird so heiss gegessen,
wie Yantro es gekocht hat. :) Aber im Grossen und Ganzen hat er das 
schon richtig zusammengefasst. Aber: Was die Teamkampf-Geschichte und
die damit einhergehende Zweitie-Ausgrenzung angeht ist noch gar nichts
beschlossen. Es gibt mehrere sinnvolle Vorschlaege und was beschlossen
wird, steht noch in den Sternen, wenn ueberhaupt.
Erst einmal muessen wir sehen, was bei der Zweitie-Markier-Aktion
herauskommt, und nur wenn das einigermassen Erfolg zeigt, bin ich
ueberhaupt bereit, ueber die Folgeschritte nachzudenken. Und: Ja es 
wird Moeglichkeiten zu namentlichen Markierung der Zweities geben, die
nicht in Semmels Gebiet liegen. :) Es war sogar eine Abfrage beim 
Login im Gespraech (fuer neue Zweities).
Zu Para: Ich wuerde die Moeglichkeit einer unsichtbaren Markierung
fuer sinnvoll halten.
Zu Dhojakt: Ein voelliges Einloggverbot von zwei Charakteren eines
RL-Spielers halte ich auch nicht fuer gut. Ein Komunikationszweitie ist
sicher auch kein Problem. Ob sich die Idee durchsetzen laesst, dass 
nur die Zusammenarbeit von Zweities einer RL-Person in einem Team
unterbunden wird (wie ich es bevorzugen wuerde), muss noch 
ausdiskutiert werden.

  So - alle Klarheiten restlos beseitigt? :)

  CU - Silvana

-----------------------------------------------------------------------------



Re^4: Partyseminardisskussion (Jasper, 25. Aug 1997, 22:42:10):
~#! rn=Dhojakt rt=872515282 rg=entwicklung
~#! tid=872507522
*seufz^2*
.oO(Rollenspiel)

Ein script sollte durch alle savefiles laufen und die Zweitspielereintraege
loeschen und dann sollte das gleichzeitige Einloggen von mehreren
Characteren verboten werden.
Das man nicht jeden erwischt ist klar, aber alleine die Drohung sollte 
wohl viele davon abhalten.

Jasper sagt: Naja was solls, mir ist es egal, wenn ihr es so oede wollt.

-----------------------------------------------------------------------------



Low-level-player (Helva, 25. Aug 1997, 22:54:54):
Ich moechte auch noch etwas zu dem Ganzen sagen:
1. Meiner Ansicht nach waere die verstaerkung von teamwork sehr gut, ich
denke, dass ist auch gerade im Inteess von Spielern wie mir, die versuchen,
sich wirklich moeglichst ehrlich durchs mg zu "schlagen".
2. Zweities stellen ind der jetzigen Masse durchaus ein Problem dar, da sie
manche questen einfach verstopfen. Ich finde es aber sehr sinnvoll, wenn diese
prinzipiell erlaubt bleiben (diesen aktiv-passiv-vorschlag halte ich fuer sehr
gut). Meiner Ansicht nach sollte die Markierung aber "unsichtbar" bleiben, da
es manche Spieler / Seher reizt, einen zweiten, voellig anderen Charakter zu
erschaffen.
3. Ich halte es nicht fuer sinnvoll, die Anforderungen an das Seher-werden
noch zu verschaerfen. Dann koennte es naemlich sein, das ich (vielleicht ist
das ja fuer manche kein Verlust) und auch andere keine Lust haben, ueberhaupt
mehr zu questen, weil man ewig braucht um Seher zu werden (ach ja, wenn ich
das questen ganz aufgebe, schreibe ich wahrscheinlich nur noch dumme artikel).
4. Aus diesem grund halte ich es auch fuer inakzeptabel, zts durchs sterben zu
verlieren. Als Spieler braucht man naemlich u.U. recht lange, bis man sie
wiederhat.

5. Der jetzige Tod ist mir ein wenig unklar. Laut "info" bin ich eigentlich
o.k., leide aber trotzdem noch? Ich habe auch von ganz neuen Spielern gehoert,
dass sie das ganze fuer undurchschaubar halten.
So, jetzt bin ich wieder still. Helva

-----------------------------------------------------------------------------



Re^10: Partyseminardisskussion (Zorro, 26. Aug 1997, 02:40:06):
~#! rn=Key rt=872536172 rg=entwicklung
~#! tid=872507522
Also nochmal wer redet denn davon mit den Zweities die archiquest zum machebn
... man muss da nach jeden reboot rein um sich n paar SMS zu holen ... und
fuer bloedes hebel ziehen ist es halt meganervig wenn man da jemanden anderes
bitten muss der sich sich gerade selber eine ausruestung besorgen muss oder
will... aber das ein Erzi/Magier oder wer auch immer nicht verstehen kann ist
ja logisch ... Damien laesst sich solche sachen wahrscheinlich eh schenken und
deswegen nicht interessieren ....

gruss zorro
nn

-----------------------------------------------------------------------------



Re: Partyseminardisskussion (Asmodis, 26. Aug 1997, 02:46:42):
~#! rn=Yantro rt=872507522 rg=entwicklung
~#! tid=872507522
Hmm, der 1. April ist doch schon lange vorbei ? :)

-----------------------------------------------------------------------------



Re^11: Partyseminardisskussion (Silvana, 26. Aug 1997, 07:41:29):
~#! rn=Zorro rt=872556006 rg=entwicklung
~#! tid=872507522
Oh grosser Zorro, ich danke Dir.
Sei bedankt fuer Deine ueblichen Beleidigungen gegen all jene, die dieses
Spiel erst ermoeglicht haben. Ich haette Dich benahe ernst genommen und Dir
dann sogar zustimmen muessen. Danke, dass Du mir diesen Schock hast
ersparen koennen.

  Silvana - NICHT ironisch

-----------------------------------------------------------------------------



Re^6: Partyseminardisskussion (Boing, 26. Aug 1997, 08:56:08):
~#! rn=Fyt rt=872530538 rg=entwicklung
~#! tid=872507522
zum PS: Keine Sorge, sobald hier eine endgueltige Entscheidung gefallen
ist, wird der Zwergenschmied schon lernen, das auch umzusetzen. 
Ja, selbst Zwerge sind lernfaehig (wenn auch nur begrenzt). :)
  Boing

-----------------------------------------------------------------------------



Re: Zweitimarkierung (Boing, 26. Aug 1997, 08:57:27):
~#! rn=Paracelsus rt=872538219 rg=entwicklung
~#! tid=872538219
Mit einer verdeckten Zweitiemarkierung (nicht fuer Spieler sichtbar),
waere ich voll einverstanden.
  Boing

-----------------------------------------------------------------------------



Re: Re: Zweitimarkierung (Taragon, 26. Aug 1997, 09:01:04):
~#! rn=Boing rt=872578647 rg=entwicklung
~#! tid=872538219
Also ich weiss nicht... 
Dann kann kein Spieler mehr erkennen, ob dies nun ein Spieler oder ein Zweitie
ist...
Ich bin eigentlich ganz froh drum, zu wissen "aha das ist ein zweitie"
und ich kann mir gut denken, dass noch mehrere Ersties so denken wie ich.

Taragon
  Ueberzeugter Nur-Erstie

-----------------------------------------------------------------------------



Re^3: Zweitimarkierung (Yantro, 26. Aug 1997, 09:03:16):
~#! rn=Taragon rt=872578864 rg=entwicklung
~#! tid=872538219
ich bin eigentlich auch fuer eine offene Markierung der Zweities, weil das
einfach auch den Vorteil hat, wenn man einen Zweiti ansprechen will und der
idelt, dann kann man im finger sehen, wer der erstie ist und den dann
fragen... 

Yantro

-----------------------------------------------------------------------------



Re^4: Zweitimarkierung (Silvana, 26. Aug 1997, 09:06:40):
~#! rn=Yantro rt=872578996 rg=entwicklung
~#! tid=872538219
Die unsichtbare Markierung war optional gemeint. Wer also auf keinen Fall
mit seinem Erstie in Verbindung gebracht werden will, kann das bis zu
einem gewissen Magierlevel verhindern. Wer zu seinem Erstie stehen kann,
kann das offen zeigen, wenn er moechte.
  Silvana

-----------------------------------------------------------------------------



Re^3: Zweitimarkierung (Tunixgut, 26. Aug 1997, 09:20:04):
~#! rn=Silvana rt=872540558 rg=entwicklung
~#! tid=872538219
Kann mich dem beinahe restlos anschliessen!!! (Wobei - das is bloss
Einschleimerei! ;o))
Also: 1 - Markierungspflicht fuer Zweities halte ich fuer sinnvoll...
      2 - Auslesen des Ersties nur fuer Magier ab einem bestimmten Level
          halte ich fuer unnoetig... von MIR darf ruhig jeder wissen, wie
          meine Zweities heissen. Wenn abba jmd. damit Probs hat - gut,
          grossen Aufwand sollte DES ja wohl net kosten...
      3 - Einlogverbot von Zweities halte ich auch fuer Unsinn...
      4 - Auch wenn ich keine Altanative parat habe: Das aktiv-passiv-System
          halte ich fuer unnoetig komplizierend - sofern ich es denn richtich
          begriffen habe, wie Yantro sich des vorstellt! ;o)
      5 - Hochspielzeiten werden fuer GEPUSHTE und Zweit-Charaktere IMMER
          ziemlich niedrig sein. Deshalb gibt abba trotzdem Spieler, die sich
          normal hochspielen - ich hab' knapp 30 online-Tage gebraucht, wenn
          ich mich recht entsinne... - gut, mit viel Laberei, aba...

TuNixGut...

-----------------------------------------------------------------------------



Re^5: Zweitimarkierung (Gnome, 26. Aug 1997, 09:20:12):
~#! rn=Silvana rt=872579200 rg=entwicklung
~#! tid=872538219
hiho,
zum 36-h-seher:
  das schaffen eh nur HLPs und wer meint, dass er sich noch einen seher in
  so kurzer zeit zulegen muesste... das ist doch seine sache. will sagen:
  warum muss man ihm das noch erschweren, wenn er es schon einmal geschafft
  hat, seher zu werden (und das dauerte bestimmt laenger als 36h), einen
  zweiten hochzuziehen?

zum 2tie-einlog-verbot:
  was soll das bringen? dann loggt man sie halt abwechselnd ein...
  ausserdem kann man mit zweien _gleichzeitig_ sowieso nicht richtig spielen,
  geschweige denn kaempfen...
  ein teamwork-konzept wuerde mir sehr gut gefallen (verfolge etc.)

gnOme

-----------------------------------------------------------------------------



Re^6: Zweitimarkierung (Denti, 26. Aug 1997, 09:25:29):
~#! rn=Gnome rt=872580012 rg=entwicklung
~#! tid=872538219

moin :)

Ich denke auch, dass das 36h-seher hochspielen nur sehr gute spieler schaffen,
man sollte das seher-werden nicht noch mehr erschweren, ich find es so wie es 
ist okay.

zum 2tie-spielen: tut mir leid gnome, aber man kann sehr wohl mit zwei oder 
mehr spielern gleichzeitig spielen und kaempfen, ohne skript, mit nem guten
frontend ist es moeglich, einen befehl an mehrere charaktere zu senden.
Trotzdem denke ich, dass ein zweiti-einlogverbot nicht noetig ist, das team-
konzept faende ich auch gut, als tip: schaut euch mal teamplay im pk-mud an.

Denti

-----------------------------------------------------------------------------



Re^11: Partyseminardisskussion (Rochus, 26. Aug 1997, 09:39:59):
~#! rn=Zorro rt=872556006 rg=entwicklung
~#! tid=872507522
Danke fuer den Hinweis. Wenn die Archiequest unspielbar sein sollte,
weil staendig SMS geholt werden, weiss ich, was ich zu tun habe.
Und man braucht wirklich nur 3 Leute dafuer, wenn auch eine vierte
Person an der richtigen Stelle eine erhebliche Vereinfachung bedeutet.
Noch mehr Leute an die Hebel zu stellen bringt keine wesentliche
Erleichterung mehr. Ich habe die Quest mit 3 Leuten getestet.

-----------------------------------------------------------------------------



Re^12: Partyseminardisskussion (Asmodis, 26. Aug 1997, 10:03:18):
~#! rn=Rochus rt=872581199 rg=entwicklung
~#! tid=872507522
Unsinn, wenn der Betreffende die Ausgaenge Hebel wieder in Anfangsstellung
bringt, dann ist die Archie-Quest sehr wohl spielbar, leider gibts aber
solches unsoziales Pack :)
Ausserdem, mit 9 Leuten gehts noch besser zu loesen, das Quest :)

-----------------------------------------------------------------------------



Re^13: Partyseminardisskussion (Key, 26. Aug 1997, 10:20:57):
~#! rn=Asmodis rt=872582598 rg=entwicklung
~#! tid=872507522
Hmm also ...
Wie stark die Zweities markiert werden haengt meiner Meinung nach von den
Folgen der Markierung ab.
Wenn hier klar gesagt wird was pasiert wird die Aktion garantiert mehr Erfolg
haben ...

Ich bin mir sicher das bei einer invis markierung und "nur" kein mitkaempfen
in einem Team (Was ich fuer eine sehr gute Idee halte) wohl die meisten ihre
Zweities markieren.
Und warum auch nicht invis ... Wenn ich jemandem sagen will wer mein zweitie
ist dann kann ich das immernoch ... Aber wisst ihr wie schoen es ist bei
Leuiten zu stehen die ueber meinen Erstie sich bei meinem zweitie beschweren?
:))

Hmm und wer behauptet man kann nicht mit mehreren Charakteren auf einmal
metzeln, der kennt sich kaum aus :) Naja oder stirbt net gerne =;)

Key

-----------------------------------------------------------------------------



Re^7: Partyseminardisskussion (Homm, 26. Aug 1997, 10:39:28):
~#! rn=Morgar rt=872530593 rg=entwicklung
~#! tid=872507522
Ich war dabei, Morgar...:)

Also man kann die Archie gut zu dritt spielen...aber generell sind die
versteckten Zweitis schon ein Problem. Ich frage mich nur wie ihr die nicht
angemeldeten Zweitis ueberpruefen wollt?? IP-Adresse abfragen?? Ich kenne
keine zuverlaessige Moeglichkeit dies abzufragen?? Naja, aber zumindest die
angemeldeten Zweitis koennten einigen Beschraenkungen unterworfen werden. Ich
meine da vor allem Gildenraenge. 
Ja, ja, es ist ne Heidenarbeit Charaktere hochzuspielen....trotzdem bin ich
der Meinung, dass Zweitis bei den hoeheren Gildenstufen nix zu suchen
haben..egal ob Erleuchtete bei den Klerikern oder Magister bei den Zauberern!

Wuerdevoll verneigend
Papst Homm

-----------------------------------------------------------------------------



Re^8: Partyseminardisskussion (Homm, 26. Aug 1997, 10:48:09):
~#! rn=Homm rt=872584768 rg=entwicklung
~#! tid=872507522
Huch..ist mir doch ein kleiner Fehler unterlaufen...:))

Fuer Sharia muesste man natuerlich eine Ausnahme machen...:)

Wuerdevoll verneigend
Papst Homm

-----------------------------------------------------------------------------



Re^9: Partyseminardisskussion (Teddy, 26. Aug 1997, 11:05:57):
~#! rn=Wurzel rt=872534562 rg=entwicklung
~#! tid=872507522
Es wurde definitiv beschlossen, die 2ties zu markieren und auch deutlich
gesagt, dass mdies vorlaeufig die einzige Massnahme ist und alles andere dann
erst eingefuehrt wird, wenn sich keiner an die Regeln haelt.
Daher bin ihc auch ziemlich ueberrascht ueber diesen Teil aus Yantro's
Artikel.

Teddy

-----------------------------------------------------------------------------



Re^11: Partyseminardisskussion (Teddy, 26. Aug 1997, 11:09:04):
~#! rn=Zorro rt=872556006 rg=entwicklung
~#! tid=872507522
Es dauert nur 5 Minuten, wenn ueberhaupt, sich das SMS zu holen, eihgentlich
muss der andere nur 3 mal am Hebel ziehen, dazu sollte auch ein Freund in der
Lage sein.

Teddy

-----------------------------------------------------------------------------



Re^4: Zweitimarkierung (Teddy, 26. Aug 1997, 11:11:21):
~#! rn=Yantro rt=872578996 rg=entwicklung
~#! tid=872538219
Sagt dir der Begriff Rollenspiel eigentlich was?
Manche Leute nehmen ihre Rollen ernst und haben einfach unterschiedliche
Charaktere im eigentlichen Sinne geschaffen.
Ich gehoere vielleicht nicht dazu, aber es soll Leute geben, die behaupten,
ihren Erstie nicht zu kennen, weil ihr Charakter ihren Erstie wirklich nicht
kennt.

Solchen Leuten sollte IMHO die Moeglichkeit zu echten Rollenspiel bleiben.

Teddy

-----------------------------------------------------------------------------



Re^8: Partyseminardisskussion (Teddy, 26. Aug 1997, 11:14:20):
~#! rn=Homm rt=872584768 rg=entwicklung
~#! tid=872507522
Die 2ties sollen im Moment noch garnicht ermittelt werden, weder ueber IP noch
sonst irgendwie. Es ging zumindest bei der Diskussion darum, eine Grundlage zu
schaffen um gewisse Dinge zu verbieten. Weitere Massnahmen sind IMHO erst
geplant, wenn sich dafuer eine Notwendigkeit ergibt.

Teddy

-----------------------------------------------------------------------------



Re^3: Zweitimarkierung (Knurt, 26. Aug 1997, 12:36:31):
~#! rn=Taragon rt=872578864 rg=entwicklung
~#! tid=872538219
Hmm, also ich bin auch der Meinung das es nix aetzenderes gibt, als sich um
einen kleinen Spieler zu kuemmern der irgendwann spaeter lachend in der Ecke
liegt und man mal wieder auf einen irrsinnig komischen Zweiti reingefallen
ist.
Ausserdem weiss ich (wie Taragon) halt auch gerne, woran ich bei SPielern bin.
Ich denke man kann auch Zweitis mit Markierung nett und rollenspielmaessig
spielen, und das werden die anderen dann auch merken.

der kleine Knurt

-----------------------------------------------------------------------------



Re^8: Partyseminardisskussion (Key, 26. Aug 1997, 12:42:12):
~#! rn=Homm rt=872584768 rg=entwicklung
~#! tid=872507522
Hmm ja prima ... die die ehrlich sind und sich anmelden kriegen aus
Dankbarkeit eine reingewuergt ....
Wenn nen Zweitie in die hoeheren Raenke will, soll er doch ... Vor allem wenn
er zwar als Zweitie markiert ist aber mehr oder weniger Erstie ist.

Aber wenn nen erstie dann da reinwill ist es fair ihn zu lassen ...
Das ist eine Sache die man unter sich oder halt mit Hilfe des Vertrauensmags
ausmachen kann.

Ueberpruefung der IP bringt auch nix, erstens was ist mit leuten die z.b. von
zuhause ueber Modem mit dem gleichen Rechner drin sind?
Oder Leute die wie ich mehrere Compis zur Verfuegung haben?
Der erste der jetzt sacht das man net an mehreren Compis gescheit spielen kann
darff ja mal zuschauen ;)

Key

-----------------------------------------------------------------------------



Re^12: Partyseminardisskussion (Zorro, 26. Aug 1997, 12:57:58):
~#! rn=Rochus rt=872581199 rg=entwicklung
~#! tid=872507522
Ja rochus genau innerhalb der ersten 12 h nach nem reboot mach ja soooooooo
viele die archi-quest ... haeng dein sms ab wenn du meinst dass es weg muss
aber fuer nicht son quatsch als grund an.

gruss zorro

-----------------------------------------------------------------------------



Re^13: Partyseminardisskussion (Key, 26. Aug 1997, 12:58:49):
~#! rn=Zorro rt=872593078 rg=entwicklung
~#! tid=872507522
Hmm Rochus tu mir den Gefallen und ignorier Zorro einfach ....

Key

-----------------------------------------------------------------------------



Re^14: Partyseminardisskussion (Boing, 26. Aug 1997, 13:02:19):
~#! rn=Key rt=872593129 rg=entwicklung
~#! tid=872507522
Gibt es jemanden, der das noch nicht tut?
  Boing

-----------------------------------------------------------------------------



Re^7: Partyseminardisskussion (Fyt, 26. Aug 1997, 15:37:03):
~#! rn=Boing rt=872578568 rg=entwicklung
~#! tid=872507522

Fein, ich wuerde ihm sogar etwas *GOLD* dafuer geben ;-)

Fyt.

-----------------------------------------------------------------------------



artikel Egoistisches zu Zweities (Arelion, 26. Aug 1997, 15:41:46):
Vorweg, ich habe Yantro verstanden, dass noch nix beschlossen ist ausser der
Markierungspflicht. Das ist auch OK.

Passive Zweities und Einzellogins faende ich persoenlich schlecht. Grund: Ich
mudde, wie einige andere auch, hauptsaechlich von der Arbeit aus. Da hat man
mal hier 5 Minuten, mal da 5 Minuten und dazwischen 2 Stunden idle. Bisher
metzel ich bei so kurzen Besuchen im wesentlichen mit einem Zweiti.
Metzeln mit Zweiti sieht dann wie folgt aus: Entweder ich weiss, dass der eine
oder andere besser mit dem Monster fertig wird, dann schicke ich halt den
passenden rein. Oder ich denke, dass sie es vereint schaffen, dann schicke ich
sie nacheinander rein. So schaffe ich es dann auch im laufe von 1 bis 2 Tagen
nach einem Reboot meine Ausruestung wieder zusammenzubekommen.
Der Punkt ist: Ich habe gewoehnlich keine Zeit auf einen Helfer zu warten! Ich
habe jetzt Zeit ein paar Befehle einzugeben, das kann in einer Minute voellig
anders aussehen (Ich habe bereits jetzt die Nachricht 5 mal unterbrechen
muessen.) Auf diese Art ueberhaupt ein schwereres Monster zu schffen ist an
sich schon schwer genug.
Mein Vorschlag: Aktivschaltung ohne Zeitsperre. Das verhindert alles bis auf
Heilerzweitis. Achtung: Ein passiver Charakter darf nicht angegriffen werden.
Passiv kann dann ruhig voellig passiv bedeuten.
Was die hohen Gildenaemter angeht ... na ja, da sollte man dann einen
Praeferenzcharakter auswaehlen koennen. Ist ein weiterer Zweiti gerade in
einer solchen Position, verliert er sie umgehend.

Nur so eine Einschaetzung ...

Arelion, der nicht seine Arbeitsentspannung verlieren will!

-----------------------------------------------------------------------------



Re: artikel Egoistisches zu Zweities (Zorro, 26. Aug 1997, 16:03:26):
~#! rn=Arelion rt=872602906 rg=entwicklung
~#! tid=872602906
Nochmal ein Nachtrag ... was spricht zum beispiel dagegen dass man mjit nem
zweitie metzelt oder forscht in der zeit in der der erstie einen tod abidlet
... naja aufjedenfall wuerde ein striktes zweitie verbit den spielspass
deutlich senken ...

Gruss Zorro

-----------------------------------------------------------------------------



Re^10: Partyseminardisskussion (Lindir, 26. Aug 1997, 16:53:42):
~#! rn=Teddy rt=872586357 rg=entwicklung
~#! tid=872507522
Ja, das war etwas ungeschickt von Yantro. Jetzt traut sich keiner mehr, seine
2ties zu markieren aus Angst, damit gleich ne "Loeschmarkierung" angebracht zu
haben...

Lindir

-----------------------------------------------------------------------------



Re: Zweitimarkierung (Caramon, 26. Aug 1997, 18:50:47):
~#! rn=Paracelsus rt=872538219 rg=entwicklung
~#! tid=872538219
meine meinung dazu: sehr gut.

caramon, auch mal was dazu sagend

-----------------------------------------------------------------------------



Re^4: Zweitimarkierung (Lupus, 26. Aug 1997, 19:48:39):
~#! rn=Yantro rt=872578996 rg=entwicklung
~#! tid=872538219
Aber das soll doch grade durch die neue Regel mit der Warteschleifen-Shell
abgestellt werden, oder Yantro? Und ausserdem: Warum muss ich gleich jedem auf
die Nase binden, wer ich bin? Meine E-Mail Adresse kann ja auch nicht gleich
jeder lesen, obwohl das sicher sehr praktisch waere.

Lupus, fuer verdeckte Markierung.

-----------------------------------------------------------------------------



Freundschaftsband (Ringor, 26. Aug 1997, 22:41:01):
Das Freundschaftsband hat jetzt eine neue Option. Damit kann man nun auch die
Leute ohne seitenlanges Scrolling anschauen, die das halbe Mud auf dem Fband
haben. Siehe 'hilfe freundschaftsband'.

Danke Vrai!

Ringor. Wollte schon immer mal Slyfox' Beschreibung lesen koennen ;^)

-----------------------------------------------------------------------------



Re^5: Zweitimarkierung (Yaren, 27. Aug 1997, 00:05:59):
~#! rn=Lupus rt=872617719 rg=entwicklung
~#! tid=872538219
Ich muss Lupus in dieser Hinsicht zustimmen. Ich habe zwar momentan meine
Zweities mit Namen markiert, bin aber auf jeden Fall fuer eine Markierung, die
nur fuer Magier zu erkennen ist. Wenn irgendwelche Spieler auffallen und der
Zweitieverdacht aufkommt, hilft in den meisten Faellen ein finger und ein
'kwer in blah'. Dann kann man die einzelnen Spieler befragen. Ich finde, dass
das die Idee, mal einen anderen Charakter zu spielen, der nichts mit dem
Erstie zu tun hat nicht durch eine offene Markierung ad absurdum gefuehrt
werden sollte. Es gibt naemlich wirklich Leute, die Zweities spielen, weil sie
auch mal wen anders SPIELEN wollen.

Yaren.

-----------------------------------------------------------------------------



Re: Freundschaftsband (Tunixgut, 27. Aug 1997, 09:25:00):
~#! rn=Ringor rt=872628061 rg=entwicklung
~#! tid=872628061
Coole Sache - fuer MICH besonders das fhist!

TuNixGut

-----------------------------------------------------------------------------



Re: Re: Freundschaftsband (Tunixgut, 27. Aug 1997, 09:26:30):
~#! rn=Tunixgut rt=872666700 rg=entwicklung
~#! tid=872628061
Oh peinlich, ich hoere gerade, DES gib's schon ewich... (*kicher*)...

TuNixGut - ueberlegt, ob er lachen oda weinen soll... ;o)

PS: Er weint... ;o)

-----------------------------------------------------------------------------



entwicklung (Illian, 27. Aug 1997, 09:31:15):
Wenn es fuer die Spieler ein problem ist, dass Zweities Quest verstopfen, man
denke auch einmal an den Friedhof, wo der Vampir von zwei Seiten aus zu
erreichen ist, dann sollte man darueber nachdenken, die wirklich guten oder
leicht erreichbaren Gegenstaende nicht mehr in den Gebieten der Quests liegen
zu haben, dass wuerde das Problem loesen.
Illian, Wurstseher, braucht 10 Online-Tage fuer einen markierten
Zweiti-Seher-Kleriker, weil er mal schoen war

-----------------------------------------------------------------------------



Re: Re: Zweitimarkierung (Bolder, 27. Aug 1997, 13:07:05):
~#! rn=Boing rt=872578647 rg=entwicklung
~#! tid=872538219
hi 
und wie is es dann mit der top-zweitieliste?? da bekommt man dann eventuell
doch raus ob jemand zweitie is oder nich ... oder hab ich was flasch
verstanden und es ging nur darum das man nich weiss von wem der zweitie is??

bis denne

Bolder freud sich, endlich seinen ersten Artikel geschrieben zu haben :))

-----------------------------------------------------------------------------



Dualitaet des Menschen (Hamlet, 27. Aug 1997, 17:11:20):
Wo hier gerade die Rede vom Freundschaftsband war, mal folgendes:
Wie kann es sein das man Freund bzw Feind von sich selber sein kann??
Und dann auch noch beides Gleichzeitig???

Das ist Hamlet. Er ist fuer einen Hobbit mittelgross.
Er ist absolut fit.
Er ist Feind von Jimdigriz und Hamlet.
Er ist Freund von Hamlet, Belgariad und Cyrax.

Oder soll das was ueber die Dualitaet des Menschen (Hobbit :)) aussagen ???


gez.
Hamlet, der einzig wahre Hobbitkaempfer :)

-----------------------------------------------------------------------------



Re: entwicklung (Lefty, 27. Aug 1997, 20:48:13):
~#! rn=Illian rt=872667075 rg=entwicklung
~#! tid=872667075

Bei der Friedhofsquest gibt es zwei Vampire. Einen an den man direkt rankommt
und einen in der Quest.

Mein Senf
Lefty

-----------------------------------------------------------------------------



Re^4: Partyseminardisskussion (Li, 28. Aug 1997, 09:31:44):
~#! rn=Dhojakt rt=872515282 rg=entwicklung
~#! tid=872507522
Also das mit den Kanaelen kann ich nicht verstehen: Wenn ich etwas weichtiges
machen will, auf das ich mich konzentrieren will Hydrametzlen oder so), dann
schalte ich die kanaele aus und verpasse halt ein wenig. Ist das so schlimm,
einmal nicht alles auf allen Kanaelen mitzubekommen?

-----------------------------------------------------------------------------



Re^5: Zweitimarkierung (Li, 28. Aug 1997, 09:47:45):
~#! rn=Teddy rt=872586681 rg=entwicklung
~#! tid=872538219
Aeh, Rollenspiel geht also nicht, wenn man nur einen charakter hat? :-(
ketzerische Behauptung meinerseits: Wer sich auf mehrere Rollen verzettelt,
kann seine Charakter nicht rollenspielmaessig ausarbeiten oder -leben.
Li

-----------------------------------------------------------------------------



Re^6: Zweitimarkierung (Key, 28. Aug 1997, 10:17:34):
~#! rn=Li rt=872754465 rg=entwicklung
~#! tid=872538219
Hey gerade beim Hydrametzeln ist der Seherkanal interessant =;)

Hmm und zum Rollenspiel ... es geht auch alleine ...
Aber wieso? ich spiele meine charakteren relativ gleich, aber wenn du dir mal
einige ansiehst, der eine charakter ist "boese" der andere absolut nett. Und
warum sollte sowas unterbunden werden, es bringt einfach Spass.

Key

-----------------------------------------------------------------------------



Zweitis (Ender, 28. Aug 1997, 11:17:50):
Ich habe als Jungmagier eine Frage.
Wer will das kontrollieren mit den Zweitis
Ist jemand in der Lage 100 prozentig zu bestimmen, dass der, der da dirket von
einem rechner mit ne bestimmten nummer genau derselbe ist, der von nem
serverin dresden aus eingeloggt, ist, ich kann mich auf 2 verschiedene weisen
einloggen.
Direkt vom Rechner ist zear nicht so schoen aber moeglich.
Was gibt es da fuer Moeglichkeiten. 
Ich habe das nur auf mich bezogen. Aber meine Mvglichkeiten haben so gut wie
alle
So das wars, Ich mache jetzt nen Punkt   Ender   .

-----------------------------------------------------------------------------



Re: Zweitis (Anakin, 28. Aug 1997, 11:22:56):
~#! rn=Ender rt=872759870 rg=entwicklung
~#! tid=872759870
Naja machen wir es so identd Abfrage und alle die keinen haben
duerfen nicht mudden.

Anakin. Schmarrend. (jaja auch ich hab mehrere Accounts)

-----------------------------------------------------------------------------



Re: Zweitis (Yantro, 28. Aug 1997, 11:24:10):
~#! rn=Ender rt=872759870 rg=entwicklung
~#! tid=872759870
Hmm vielleicht um das nochmal klarzustellen:
ES GIBT KEINE 100%ige METHODE, ZWEITIES RAUSZUKRIEGEN, und das wissen auch
alle, aber das hat nichts damit zu tun, ob die Regel dann gut ist. Unmarkierte
Zweities werden wohl, wie es aussieht verboten und wer es doch macht und nicht
erwischt wird, der hat halt Glueck. Wer aber erwischt wird, der ist weg. Das
ist wie mit dem "Diebstahl ist verboten, aber trotzdem machen es Leute". Es
muss von der Bestrafung eine Anschreckung da sein und wer es dann trotzdem
macht, der weiss dann aber auch, was fuer ien Risiko er eingeht. Nur so wie im
Moment, das nix passiert, das geht nicht. 

Und ich sag jetzt nochmal ganz persoenlich meine Meinung: Ich traue nur ganz
ganz wenigen zu, dass sie es schaffen, es fuer immer zu verheimlichen, dass
sie ein Zweitie sind. Wenns nicht sofort rauskommt, irgendwann kommt sowas
immer raus.

Yantro

-----------------------------------------------------------------------------



Re^6: Zweitimarkierung (Yaren, 28. Aug 1997, 11:46:58):
~#! rn=Li rt=872754465 rg=entwicklung
~#! tid=872538219
Natuerlich geht Rollenspiel mit einem Charakter, aber ich spiele ja auch noch
nebenher in zwei RL-Rollenspielen; geht das etwa nicht? Es geht ja nur darum,
dass man Zweities hat, die man in bestimmten Launen spielen moechte, oder um
bestimmte Leute zu treffen. Das geht sehr wohl und das kann man auch ganz
vorzueglich spielen, solange beim Finger nicht steht 'Zweitie von Blah' ...
dann sind das naemlich keine Zweitcharaktere sondern lediglich sowas wie
Erstiehelfer ...

Yaren.

-----------------------------------------------------------------------------



Re^7: Zweitimarkierung (Hangover, 28. Aug 1997, 11:49:22):
~#! rn=Yaren rt=872761618 rg=entwicklung
~#! tid=872538219
Nee, Yaren...

Ich hab meinen Zweiti auch recht eindeutig markiert aber lasse ihn voellig
anders auftreten als mich selbst. Ich denke schon dass das geht...
Insofern ist natuerlich eine nur fuer Magier sichtbare Zweitimarkierung
die sinnvollste aller Moeglichkeiten (IMHO).

-Hangover

-----------------------------------------------------------------------------



Re: Zts (Yantro, 28. Aug 1997, 12:04:00):
~#! rn=Yantro rt=872762590 rg=entwicklung
~#! tid=872762590
haets fast vergessen... Im Geisterschloss gehen die ZTs natuerlich noch... bin
zwar EM, aber nicht doof.

-----------------------------------------------------------------------------



Todesfolgen (Wargon, 28. Aug 1997, 12:55:27):
  Hi!
Durch den Reboot werden einige Leute jetzt anscheinend an mehr Toden zu leiden
haben als vorher. Das sieht allerdings nur so aus, weil die "Leidenszeit" fuer
einen einzelnen Tod verkuerzt wurde und die Zahl der Tode sich als
Gesamtzeit/Leidenszeit ermittelt. Die Dauer hat sich also insgesamt nicht
geaendert.
  Wargon

-----------------------------------------------------------------------------



Re^6: Zweitimarkierung (Teddy, 28. Aug 1997, 12:59:28):
~#! rn=Li rt=872754465 rg=entwicklung
~#! tid=872538219
Da hast du mich falsch verstanden. Natuerlich kann man mit mehreren
Charakteren rollenspielen, aber einige moechten ihre verschiedenen Charaktere
auch getrennt behandelt sehen, also Erstie kennt 2tie nicht und umgekehrt

Teddy

-----------------------------------------------------------------------------



Seherwerdung (Yantro, 28. Aug 1997, 13:31:42):
Hi, 
die Seherwerdung hat sich ein wenig verschaerft, was daran liegt, dann Wargon
den schon in einigen Artikeln vorher angesprochenen Bug gefunden hat. Durch
den Bug brauchte man 10% weniger gutes Auskennen im MG als der Durchschnitt..
natuerlement ist das aber nie so gewollt gewesen (und auch nciht logisch, denn
die Seher sind ja die Elitespieler) und deswegen braucht man ab jetzt dann
auch tatsaechlich 10% mehr als der Durchschnitt im MG.

Yantro

-----------------------------------------------------------------------------



Partynachlese (Snuggle, 28. Aug 1997, 14:20:59):
Ein paar Partyergebnisse der anderen Art:

Wir sassen so auf der Party und kamen uns fuerchterlich alt vor. Das MG
aendert sich schneller, als man ueberhaupt verfolgen kann und die sozialen
Kontakte sind aufgrund von Tod, Selbstloeschung oder Abwanderung einiger
Altseher immer weiter eingeschraenkt. Daher haben wir folgende Anregungen:

Alle Rentner-Seher ab mindestens 70 (50,100,150?) Online-Tagen und 27 (25,
30?) RL-Jahren koennen ihr Seherhaus aufgeben und sich ins Altenheim zur Ruhe
setzen. Die Truhe wird von freundlichen Helfern ins, selbstverstaendlich
abschliessbare, Zimmerchen gebracht.

Allen Bewohnern wird zur gemaechlichen Fortbewegung ein Rollstuhl zur
Verfuegung gestellt, in dem man sich von einer knackigen Pflegerin durch die
Gegend schieben lassen kann (Seherinnen erhalten natuerlich auf Wunsch einen
Pfleger).

Da im Alter das Kurzzeitgedaechtnis nachlaesst, werden Quests, sowie AP und FP
nicht mehr sofort, sondern stueckchenweise im Laufe der naechsten Online-Tage
(wir haben ja Zeit) zuerkannt.

Kaempfen wird im fortgeschrittenen Alter zunehmend schwierig, daher erhalten
die Rentner einen Malus. Zum Ausgleich muessen alle nicht-Rentner 21% ihrer XP
an die Rentenkasse abgeben. Die Rentner koennen dann einmal im Monat ihre
Rente im Postamt in Port Vain abholen.

Jeder Rentner erhaelt zusaetzlich zum Rollstuhl eine Gehhilfe (Kruecke/
Stock), die als Keule zu handhaben ist und deren Handhabung mit der Zeit/
Anwendung gelernt wird.

Die Raeume im Altenheim liegen selbstverstaendlich alle ebenerdig.

Weitere Vorschlaege oder Anregungen?

Soweit erstmal,
Snuggle

-----------------------------------------------------------------------------



Re: Todesfolgen (Key, 28. Aug 1997, 17:25:00):
~#! rn=Wargon rt=872765727 rg=entwicklung
~#! tid=872765727
Aber die folgen sind wie bei mehren Toden .... 

Key

-----------------------------------------------------------------------------



Re: Partynachlese (Wurzel, 28. Aug 1997, 18:20:56):
~#! rn=Snuggle rt=872770859 rg=entwicklung
~#! tid=872770859
au weia, wenn ihr jungspunde euch schon alt vorkommt... ich hab mich trotzdem
gut auf der party amuesiert :)
aber das mit dem altersheim hoert sich witzig an :) ich glaube nur nicht, dass
die noch vorhandenen altseher damit einverstanden sind, schlechter kaempfen zu
koennen.

wurzel

-----------------------------------------------------------------------------



Re^11: Partyseminardisskussion (Damien, 28. Aug 1997, 18:47:16):
~#! rn=Zorro rt=872556006 rg=entwicklung
~#! tid=872507522
Cool...also ich dachte ja, ich wuerde hier total unqualifizierten und pur auf
Provokation ausgelegten Muell verbreiten...
Zorro, ich muss Dir gratulieren. Echt, bin beindruckt, ich kenne niemanden der
so ueberzeugt seine Meinung mit persoenlichen Angriffen und in totaler
Ignoranz der sachlichen Argumente (die nicht unbedingt von mir kamen)
vertritt.
Uebrigens, ich hatte noch nie ein SMS. Ich habe komischerweise trotzdem meinen
Spass im MG. Ich glaube ich mache was falsch. Und uebrigens frage ich mich, ob
Du jemals die Quest geloest hast, das haben naehmlich eher die wenigsten, wie
ich feststellen musste, als wir die gemacht haben. Ansonsten hat keiner
behauptet, das es leicht sein muss, an eine der besten Waffen im MG zu kommen.
Aber die tatsache wirst du wahrscheinlich genauso ignorieren wie die, dass man
Gegengift kaufen kann.

Damien.

-----------------------------------------------------------------------------



Re^12: Partyseminardisskussion (Zorro, 28. Aug 1997, 18:57:40):
~#! rn=Damien rt=872786836 rg=entwicklung
~#! tid=872507522
Damien haette es denn die sache erschwert wenn jemand anderes die hebel
gezogen haette ? (ich mein hat sich eh eruebrigt weil der schwertmeister
schwerer geworden ist) aber trozdem ... man macht es den leuten nicht schwerer
in dem man dafuer anderen nerven muss ... aber ich rede bei dir wahrscheinlich
eh gegen eine wand also werd mal ein erfolgreicher magier, wenn du das schon
nicht als seher geschafft hast :)

Gruss Zorro

-----------------------------------------------------------------------------



Re^13: Partyseminardisskussion (Damien, 28. Aug 1997, 19:03:21):
~#! rn=Zorro rt=872787460 rg=entwicklung
~#! tid=872507522
Ich glaube du uebersiehst da eine Tatsache.
Durch eine Einschraenkung der Zweities wird keine Erschwernis geschaffen,
sondern eine Erleichterung (die nicht geplant war) wieder abgeschafft.

Damien.

-----------------------------------------------------------------------------



Re: Seherwerdung (Catweazle, 28. Aug 1997, 20:59:28):
~#! rn=Yantro rt=872767902 rg=entwicklung
~#! tid=872767902

Hm, beim Stichwort Seherwerdung faellt mir ein...
Ich find den Thread gerade nicht, wo es um XPs und Seherwerdung ging.
Wenn man schon mit Questen genug XPs bekommt wuerd ich doch einfach sagen,
das man das halt nicht mehr kriegt und die eine Million tatsaechlich mit 
Gemetzel bekommen muss ....

YTC

-----------------------------------------------------------------------------



Re: Re: Seherwerdung (Key, 28. Aug 1997, 21:00:38):
~#! rn=Catweazle rt=872794768 rg=entwicklung
~#! tid=872767902
Endlich mal nen gescheiter Vorschlag ...
Aber kam damals nicht dieses Argument von wegen man will ja keinen zwingen
etwas zu tun was man nicht will? also toete blabla tippen?

Key, findet das Argument heute noch *zensiert* :)

-----------------------------------------------------------------------------



Re: Re: Seherwerdung (Asmodis, 28. Aug 1997, 21:02:20):
~#! rn=Catweazle rt=872794768 rg=entwicklung
~#! tid=872767902
Aehem, es wurde doch immer daraufhingearbeitet, dass keiner gezwungen
wird, hier zu Metzeln, wieso ist das nur ploetzlich anders ?
Woher kommt der Umschwung ?

-----------------------------------------------------------------------------



Re^3: Seherwerdung (Kartoffel, 28. Aug 1997, 21:20:54):
~#! rn=Asmodis rt=872794940 rg=entwicklung
~#! tid=872767902
Ohje, 1Mio reine Metzel-EP? Das stell ich mir aber arg aetzend vor, zumindest
als Nichtseher, entweder dauert das ewig, weil man vorsichtig ist und nur an
Monster rangeht, bei denen die GEfahr draufzugehen minimal ist (und die auch
entsprechend wenig Punkte geben) oder es dauert (ebenfalls) ewig, weil man
beim erzwungenen Punkteermetzeln draufgeht und massig EPse verliert.
Was ist eigentlich der Sinn dieser Ueberlegung? Seherwerden schwerer machen?
Wenn ich bedenke, dass es mittlerweile ueblich ist, dass (Erstie-)Spieler mit
Level >30 Seher werde, sollte das doch wohl reichen, um zu zeigen, dass man
ernsthaft bemueht ist.  
Ich finde es sollte jedem selbst ueberlassen bleiben, ob er sich die Punkte
durch Metzeln uder Raetseln zusammenklaubt. Es gibt fuer beides genug
Moeglichkeiten im MG.

Kartoffel

-----------------------------------------------------------------------------



Re^5: Zweitimarkierung (Raffi, 28. Aug 1997, 21:52:42):
~#! rn=Teddy rt=872586681 rg=entwicklung
~#! tid=872538219
Du meinst leute mit echter klassischer Persoenlichkeitsspaltung ?

Starke Idee :)

Grins
H.

-----------------------------------------------------------------------------



Re^4: Seherwerdung (Escubar, 28. Aug 1997, 22:03:21):
~#! rn=Kartoffel rt=872796054 rg=entwicklung
~#! tid=872767902
Also soweit ich das beobachtet habe hatte der durchschnittliche Normalseher
eigentlich immer so seine 500-700K am Schluss zu metzeln.
Einfach deswegen weil man, wenn man nicht nach KL questet, halt beim Questen
auch ab und an mal stirbt, die sind ja doch nicht alle so harmlos und dadurch
natuerlich ne Menge EP wieder verliert.
Naja ich fands am Schluss etwas nervig nur noch metzeln zu muessen fuer das
Seher werden und bin dabei natuerlich auch gleich noch 3 oder 4mal gestorben,
so das es umso laenger gedauert hat ;)

Also die EP fuer die Questen kann man auch einfach abschaffen, das macht nicht
viel Unterschied.

Eisbaer Escubar

-----------------------------------------------------------------------------



Re: Partynachlese (Boebbel, 28. Aug 1997, 22:19:56):
~#! rn=Snuggle rt=872770859 rg=entwicklung
~#! tid=872770859

*ROTFL!!!*

Also ich bin dafuer! ;-)

Ein (alter) Boebbel...

-----------------------------------------------------------------------------



Re^5: Seherwerdung (Hangover, 28. Aug 1997, 23:49:09):
~#! rn=Escubar rt=872798601 rg=entwicklung
~#! tid=872767902
Moin!

Also was Escu* sagt, seh ich nicht so, ich bin seinerzeit mit ca. 2 Mio.
EPs Seher geworden, ohne vorher allzugross rumzumetzeln. Es geht eben schon,
wenn man drauf achtet, welches Risiko man eingeht. Das ist ja als Seher auch
nicht anders, wenn ich an gewisse Vielsterber denke. Aber egal.

Meiner Meinung nach hat sich die eine Million bewaehrt, da Bluemchenpfluecker
eh kaum sterben und die Metzler damit nicht ueberfordert sind.

-Hangover

-----------------------------------------------------------------------------



Re^6: Seherwerdung (Woody, 29. Aug 1997, 02:08:01):
~#! rn=Hangover rt=872804949 rg=entwicklung
~#! tid=872767902
Hi,

meiner Meinung nach sollte man die Metzel-EP Anforderungen
ein wenig zurueckschrauben - und stattdessen die STUPSE-
Anforderungen hochschrauben. Soll konkret heissen: Man braucht
nur 500k EP (oder auch sogar gar keine - wozu auch, sind eh
nix mehr wert :)), muss allerdings MINDESTENS Stufe 25 oder
gar 30 sein, um Seher werden zu koennen. WIE man 2500 bzw.
3000 Stupse erreicht, ist dann eine andere Geschichte und mehr
oder weniger jedem selbst ueberlassen.

10 Groschen (kleinere Muenzen gibts bei uns kaum noch :))

Woody.-

-----------------------------------------------------------------------------



Re^7: Seherwerdung (Anacrion, 29. Aug 1997, 03:03:23):
~#! rn=Woody rt=872813281 rg=entwicklung
~#! tid=872767902
Ich moechte mich an dieser Stelle Woddy anschliessen. Ich selbst bin, ohne
viel zu troedeln in kurzer Zeit Seher geworden und hatte noch von einem
anderen Charakter Questerfahrungen...trotzdem hatte ich die Nnotwendigen
Quests erst so in Stufe 35-36 zusammen und kann mir eigentlich nicht
vorstellen, dass jemand, der normal spielt, viel weniger kills und
Forscherpunkte kriegt...unter LVL30 Seher zu werden heisst doch demzufolge
nur, dass man entweder KLs benutzt oder 2ties hochzieht...fuer ersties
bedeutet das keine Einschraenkung - ausser dass man NICHT Stufenlang 'der
angehende Seher' ist...
Wer al 2ties hochzieht sollte vielleicht auch fuer den 2tie eine
herausforderung gestellt bekommen, da die Quests fuer solche Spieler keine
mehr sind....

Anacrion - nicht gegen 2ties ins Feld ziehend, sondern gegen
2tie-Seher-Massenproduktion, wissend, das er im Moment auch bei 1 mio. Metzel
EP in spaetestens 3 online-Tagen einen Seher hat...

-----------------------------------------------------------------------------



Re: Re: Seherwerdung (Boing, 29. Aug 1997, 07:28:09):
~#! rn=Catweazle rt=872794768 rg=entwicklung
~#! tid=872767902
Da bin ich strikt dagegen, das Konzept war schon immer, dass Questen alleine
ausreichen sollte um Seher zu werden (bzw. Questen und Forschen). Das war
nur ganz am Anfang (zu wenig Quests) nicht realisierbar, aber seitdem
immer. Fazit: Wer nicht metzeln will, soll nicht metzeln muessen! (von
Questgemetzeln mal abgesehen)
  Boing

-----------------------------------------------------------------------------



Re: Todesfolgen (Fyt, 29. Aug 1997, 07:28:35):
~#! rn=Wargon rt=872765727 rg=entwicklung
~#! tid=872765727

Hm, und ich hatte nun wieder angenommen, dass sich die Anzahl der Tode
durch einfaches Zaehlen der unfreiwilligen Besuche bei Lars ergibt...

Fyt, schlauer werdend.

-----------------------------------------------------------------------------



Re: Re: Partynachlese (Fyt, 29. Aug 1997, 07:30:49):
~#! rn=Wurzel rt=872785256 rg=entwicklung
~#! tid=872770859

Also ich waere dabei ;-)

Fyt.

-----------------------------------------------------------------------------



Re^4: Seherwerdung (Fyt, 29. Aug 1997, 07:34:18):
~#! rn=Kartoffel rt=872796054 rg=entwicklung
~#! tid=872767902

Naja, is ja nicht mehr so wie frueher, wo das MG leer war, nur weil Toeter
odeer Ryne mal ne Runde metzeln waren. ICh halte auch fuer Nichtseher
(level 19) 100.000 EP/Stunde fuer durchaus gaengig, dann waeren das 10h.
Damit sollte man leben koennen.

Fyt.

PS: Nein, ich will diesmal keine Versprechungen, dass das fuer Altseher
nicht so wird... ;---)

-----------------------------------------------------------------------------



Re^4: Seherwerdung (Morgoth, 29. Aug 1997, 07:40:42):
~#! rn=Kartoffel rt=872796054 rg=entwicklung
~#! tid=872767902
WUERSTCHEN, ARMSELIGE !!!!!
Zu meiner Zeit musste man noch richtig metzeln um Seher zu werden. Da gabs
auch noch keine FPs, die man zum erhoehen brauchte. Da zaehlte noch das Blut
der Gegner.
M*

-----------------------------------------------------------------------------



Re^5: Seherwerdung (Sharia, 29. Aug 1997, 08:42:21):
~#! rn=Morgoth rt=872833242 rg=entwicklung
~#! tid=872767902
hmmmm
Woody's Vorschlag, dass man Level 25 oder Level 30 sein muss um Seher zu
werden ist richtig suess.. wenn man momentan nen neuen Seher hochspielt so ist
der bestimmt Level 35 ... Also das Level auf 35 hochschrauben faende ich nicht
uebertrieben...aber andererseits find ich auch, man koennte es genauso auch so
lassen wie es bisher ist...

Sharia

-----------------------------------------------------------------------------



Spieler... (Larissa, 29. Aug 1997, 09:21:06):
Hoi,
also, nach meiner Erfahrung entsteht der groesste Frust im mg daraus, dass
eshier eigentlich nur 2 Arten Spieler gibt, naemlich die (schuldigung)
Toplisten-Geilen und die normalen "Wuerstchen". 
Wenn es nun was neues gibt, was das Punkte-sammeln erschwert, dann ratet mal,
wer da immer bruellt...
Ixh finde es echt schade dass die allermeisten Aenderungen letztendlich auf
dem Ruecken der stinknormalen Spieler ausgetragen werden, die vielleicht keine
scripte, ja nichtmal tf haben, die in der mpa nicht rumjammern undundund.
Seit ich hier Spieler war ist immer nur alles immer schwerer geworden, niemals
leichter und _immer_ nur wegen Super-Metzlern und Top-Listen.

Lange Rede kurzer Sinn, wie waere es denn mit einem Spielerstatus, in dem
Spieler nicht in die Top-Listen kommen, und dafuer einen kleinen Vorteil
erhalten wie z.B, dass die Fluchtrichtung immer klappt oder sowas...

Lari.
PS: Seher sind fuer mich auch nur Spieler :-)

-----------------------------------------------------------------------------



Re^6: Zweitimarkierung (Teddy, 29. Aug 1997, 09:35:09):
~#! rn=Raffi rt=872797962 rg=entwicklung
~#! tid=872538219
Nein, Leute die den gedanken des Rollenspiels ernstnehmen.

Teddy, nicht unbedingt dazugehoerend

-----------------------------------------------------------------------------



Re^5: Seherwerdung (Key, 29. Aug 1997, 10:20:15):
~#! rn=Morgoth rt=872833242 rg=entwicklung
~#! tid=872767902
Yep alles Wuerstchen :)

Hmm Boing mal ernsthaft ... zum metzeln wollt ihr keinen zwingen, aber zum
questen?

Key

-----------------------------------------------------------------------------



Re^6: Seherwerdung (Zardoz, 29. Aug 1997, 10:23:20):
~#! rn=Key rt=872842815 rg=entwicklung
~#! tid=872767902
Das Morgengrauen ist nunmal ein Questmud. Naja, jedenfalls sollte es eins
werden, man konnte ja nicht ahnen, dass viele Leute ihr ganzes RL-Leben hier
verbringen und aus Langeweile dann staendig alles niedermetzeln. :) Wer
wirklich gerne metzelt, der sollte sich mal paar andere Muds anschauen (leider
gibts keine guten deutschsprachigen Beispiele). 

Ciao Zardoz

-----------------------------------------------------------------------------



Re^6: Seherwerdung (Highlander, 29. Aug 1997, 10:23:56):
~#! rn=Key rt=872842815 rg=entwicklung
~#! tid=872767902
Ja! :>
Schliesslich ist MG ein QuestMud, von Anfang an so gedacht.
   HrT, in Vertretung fuer seinen Alte^H^H^H^HGott

-----------------------------------------------------------------------------



Re^6: Seherwerdung (Boing, 29. Aug 1997, 10:23:58):
~#! rn=Key rt=872842815 rg=entwicklung
~#! tid=872767902
Gut erkannt! :)
  Boing

-----------------------------------------------------------------------------



Re^7: Seherwerdung (Key, 29. Aug 1997, 10:27:55):
~#! rn=Zardoz rt=872843000 rg=entwicklung
~#! tid=872767902
Oki ...
Wer proggt mal ein schoenes deutschsprachiges Metzelmud? :)

Key

-----------------------------------------------------------------------------



Re^8: Seherwerdung (Denti, 29. Aug 1997, 10:28:27):
~#! rn=Key rt=872843275 rg=entwicklung
~#! tid=872767902

Zardoz? waere doch ne dankbare aufgabe ;)

Denti

-----------------------------------------------------------------------------



Re^5: Seherwerdung (Pampers, 29. Aug 1997, 10:51:40):
~#! rn=Morgoth rt=872833242 rg=entwicklung
~#! tid=872767902
Jetzt fangen schon die Jungspunde wie Morgoth an zu moppern, dass frueher
alles besser war. :-)

Pampers. Aelter. Wenn auch nicht viel.

-----------------------------------------------------------------------------



Re^7: Zweitimarkierung (Raffi, 29. Aug 1997, 11:26:02):
~#! rn=Teddy rt=872840109 rg=entwicklung
~#! tid=872538219
Seh ich anders. Mehrere Rollen auf einmal ? Das is pervers.

M.M.
H.

-----------------------------------------------------------------------------



Zweities/mpa  (Orktoeter, 29. Aug 1997, 16:54:29):
Wie der Titel schon sagt, kann man eine mpa fuer die ganze Familie haben, wenn
man schon die zweities mit Namen der ersties erfasst ? (wuerde bequemer sein
und evtl auch Platz sparen).

OrkT.

-----------------------------------------------------------------------------



Neustart (Orktoeter, 29. Aug 1997, 16:56:48):
Es war schon so oft gefordert, aber bis heute hat sich da immer noch nichts
getan..
Warum ist man nach einem Crash/Reboot nicht nuechtern und voller LP und Mpa
(so wie ganz hungrig und durstig ? Die NPC sind es doch schliesslich auch.
Das ist normalerweise nicht soo wichtig, aber wenn es mehrere Neustarts in
kurzer Zeit gibt (kommt ab und zu mal vor) dann ist es aergerlich...

OrkT.

-----------------------------------------------------------------------------



Re: Re: Partyseminardisskussion (Guybrush, 30. Aug 1997, 19:35:10):
~#! rn=Padreic rt=872513982 rg=entwicklung
~#! tid=872507522
Manchmal wuenscht ich mir, manche Leute konnten gar keinen einloggen..

aber vielleicht macht Alter intolerant *zuck*

Guybrush, langweilt sich mit t-online

-----------------------------------------------------------------------------



Re^7: Seherwerdung (Lug, 30. Aug 1997, 20:28:43):
~#! rn=Highlander rt=872843036 rg=entwicklung
~#! tid=872767902

Das MG ist ein Questmud.
Haaaaaaaaaaahhaaaaaaaaaaaa
Hihihihihihihiiiiiiiiiii

;)

LUG

-----------------------------------------------------------------------------



Re^7: Zweitimarkierung (Li,  1. Sep 1997, 08:58:21):
~#! rn=Yaren rt=872761618 rg=entwicklung
~#! tid=872538219
Argl, muss man denn wirklich jedes Mal ein *ironie on* dabei schreiben?
ausserdem schrieb ich von einer "provokanten" these, das heisst: etwas
ueberspitzt und stichelnd (was offensichtlich gut gelungen ist, *seufz*)
Also regt euch wieder ab...
Li

-----------------------------------------------------------------------------



Re: Dualitaet des Menschen (Alpha,  1. Sep 1997, 15:29:02):
~#! rn=Hamlet rt=872694680 rg=entwicklung
~#! tid=872694680
Also Alpha und ich (und ich natuerlich auch!) stehen dazu, dass wir
schitzophraen sind. Jupp. Also wuenschen wir uns, dass das Feature bleibt.

-----------------------------------------------------------------------------



Mitarbeit gewuenscht (Silvana,  2. Sep 1997, 12:54:31):
Hi, zusammen

Die ersten Nachwirkungen der Party zeigen Wirkung: Ich versuche mit
Zardoz zusammen ein Konzept fuer einen Teamkampf im Morgengrauen
zu erstellen. Und wie sollte es anderes sein: Wir haben zwar Ideen,
aber wir wollen noch mehr haben. Also: was immer ihr an Ideen habt,
so ausgefallen sie auch sein moegen: her damit - als mail an Zardoz
und mich.

Auf ueberquellende Mailfolder wartend - Silvana

PS: Vorwarnung: Es laesst sich dabei nicht vermeiden, dass einige
gewohnte Dinge des Morgengrauens sich aendern. Ich nehme an, dass das
mit einer Verringerung der Kampfkraft der Einzelspieler einhergeht.

-----------------------------------------------------------------------------



Re: Mitarbeit gewuenscht (Raffi,  2. Sep 1997, 12:56:47):
~#! rn=Silvana rt=873197671 rg=entwicklung
~#! tid=873197671
Hmm erst die Geschichte das das MG ein Questmud ist, und dann auch noch die
Bevorzugung von Metzelteams ?

Ich will nicht noch schlechter werden.

Gruebelnd
H.

-----------------------------------------------------------------------------



Re: Re: Mitarbeit gewuenscht (Hamlet,  2. Sep 1997, 15:54:21):
~#! rn=Raffi rt=873197807 rg=entwicklung
~#! tid=873197671
Ich finde es ganz und garnicht gut, das die Einzelspieler wegen den
Metzelteams abgewertet werden sollen !!!!
Wenn, dann sollten die Einzelspieler die sich gerade in einem Metzelteam
befinden abgewertet werden.

Und zwar aus dem folgenden Grund:
Wenn z.b. ein Metzelteam aus 5 Spielern besteht und z.b. gegen ein einzelnes
Monster kaempft dann sollte es halt so sein, das nicht alle im metzelteam in
einer Runde auf das Monster einhauen koennen, denn die stehen sich meiner
Meinung na ja dannn gegenseitig im Weg.

Ein weiterer Grund zur abwertung der Teammitglieder ist:
Das wenn z.b. 2 Leute in einem Team sind, dann koennen sie in etwa doppelt so
lange im Raum bleiben wie ein Einzelspieler und machen das doppelte an
Kampfhandlungen eines Einzelspielers -->> Haben also den 4 fachen Wert eines
Einzelspielers.


Nun denke man sich das Ganze fuer 5 Metzelpartner:
5 mal so lange drinstehen wie ein Einzelspieler und 5 mal so viel austeilen
mach -> 25 fache Kampfkraft wie ein Einzelspieler

Die Metzelteams waeren also dem Einzelspieler haushoch ueberlegen!!!!!!

Deshalb mein Vorschlag es kann pro Runde nur jeweils ein Spieler ein Monster
attakieren was das ganze im Fall von 5 Spieler gegen ein Monster auf ein
Verhaeltnis von 5:1 gegenueber einem Einzelspieler reduzieren wuerde.


Deshalb mein Motto: Teamplay stark abwerten und den Einzelspielern eine Chance
lassen !!!! 

cu

Hamlet

-----------------------------------------------------------------------------



Re^3: Mitarbeit gewuenscht (Gnome,  2. Sep 1997, 16:07:20):
~#! rn=Hamlet rt=873208461 rg=entwicklung
~#! tid=873197671
hmmm...
Die Metzelteams waeren also dem Einzelspieler haushoch ueberlegen!!!!!!

...gut erkannt... soll ja auch so sein beim teamplay... ist ja auch ein MUD
und kein SUD... ;-)
aber trotzdem faende ich eine abwertung der einzelkaempfer auch nicht sooo
toll,
dann lieber eine aufwertung der teamplayer :-)

gnOme

-----------------------------------------------------------------------------



Re^3: Mitarbeit gewuenscht (Hangover,  2. Sep 1997, 16:07:45):
~#! rn=Hamlet rt=873208461 rg=entwicklung
~#! tid=873197671
Moin!

Zunaechst mal zu Hamlet: der Zweck vieler Monster im MG ist es gerade NICHT
Einzelgegnerfaehig zu sein (Raeuber, Ratten, ...). Da kann jetzt ja eh
schon eine beliebig grosse Gruppe reingehen.

Zur Abwertung der Einzelspieler muss ich sagen: Nix uebereilen bevor
wir uns nicht einig geworden sind, was fuer Vorteile der Teammodus
bringen soll - denn eine einseitige Abwertung duerfte auf Spieler-
seite niemandem gefallen.

-Hangover

-----------------------------------------------------------------------------



Re^4: Mitarbeit gewuenscht (Key,  2. Sep 1997, 16:09:01):
~#! rn=Gnome rt=873209240 rg=entwicklung
~#! tid=873197671
Hmm naja nehme an das man durch die Abwertung der einzelnen erreichen will das
man nurnoch im Team metzeln geht ...
Sorry aber wenn ihr unbedingt irgendwen zu irgendwas zwingen wollt dann macht
das in euren gebieten und net auf jeden wirksam!
Ich will auch noch nach Lust und Laune alleine metzeln gehen und mich net
immer einem Team anschliessen!

Key

-----------------------------------------------------------------------------



Re^3: Mitarbeit gewuenscht (Fyt,  2. Sep 1997, 16:17:58):
~#! rn=Hamlet rt=873208461 rg=entwicklung
~#! tid=873197671

Aehm, Teamarbeit zu bevorzugen war aber der Sinn der Sache, Hamlet...

Fyt.

-----------------------------------------------------------------------------



Re^4: Mitarbeit gewuenscht (Key,  2. Sep 1997, 16:18:40):
~#! rn=Fyt rt=873209878 rg=entwicklung
~#! tid=873197671
Wenn ich net irre hat Hamlet in einem Punkt recht, ein Team ist staerker als
Einzelkaempfer, auch ohne Einzelkaempfer abzuwerten.

Key

-----------------------------------------------------------------------------



Re^4: Mitarbeit gewuenscht (Woody,  2. Sep 1997, 16:19:26):
~#! rn=Fyt rt=873209878 rg=entwicklung
~#! tid=873197671
Ich verstehe im Moment den Sinn einer Abwertung von Einzelkaempfern
nicht - es ist doch schon derzeit so, dass ein Team von XX Spielern
eine XX^2 - fache Schlagkraft besitzen, also 2 Leute 4fach, 3 Leute
9fach, usw., was gibts da noch viel abzuwerten?

Woody.-

-----------------------------------------------------------------------------



Re^5: Mitarbeit gewuenscht (Fyt,  2. Sep 1997, 16:20:47):
~#! rn=Key rt=873209920 rg=entwicklung
~#! tid=873197671

Ja, klar, das kann er aber auch sagen ohne die '!'-Taste gedrueckt zu
halten...

Fyt.

-----------------------------------------------------------------------------



Teammetzeln und Einzelspielerabwertung (Rednose,  2. Sep 1997, 16:22:03):
Prinzipiell finde ich die Idee, im Team zu metzeln und dort die Einzelspieler
abzuwerten, gut. Aber eine generelle Einzelspielerabwertung bereitet mir
Unbehagen. Grund: Ich "forsche" gerne, durchsuche Raeume bis in die letzten
Einzelheiten, und zwar auch solche, in denen mir NPCs im Weg stehen. Das
ist aber nunmal nur allein moeglich, den welches Team sollte soviel Geduld
aufbringen. Mein Vorschlag: Verwirklicht den Teammetzelmodus mit allen
Konsequenzen in einem oder mehreren neuen Gebieten, oder auch in solchen,
die bereits als Metzelgebiete verschrieen sind.

Im uebrigen mein Dank an all jene, die Ihre Arbeit in dieses Mud stecken,
"Bluemchenpfluecker" Rednose

-----------------------------------------------------------------------------



Re^4: Mitarbeit gewuenscht (Lefty,  2. Sep 1997, 18:09:15):
~#! rn=Gnome rt=873209240 rg=entwicklung
~#! tid=873197671
Damit es ein echtes Mud wird, sollte man EInzelkaempfer eh nur bis Level 5
oder so dulden und ab dann das Metzeln auf Teams beschraenkt lassen.

Wuerde doch dem Mud echt helfen und die Zusammenarbeit verbessern, oder ?

Lefty

-----------------------------------------------------------------------------



Re^5: Mitarbeit gewuenscht (Hamlet,  2. Sep 1997, 19:09:54):
~#! rn=Lefty rt=873216555 rg=entwicklung
~#! tid=873197671
So ein Quatsch:

MultiUserDungeon heisst einfach nur das dort mehrere User gleichzeitig spielen
und nicht das diese gleichzeitig zusammenspielen.
Sonst wuerde es MultiUserCooperationDungeon heissen :)

cu

 Hamlet

-----------------------------------------------------------------------------



Re^6: Mitarbeit gewuenscht (Hamlet,  2. Sep 1997, 19:10:56):
~#! rn=Hamlet rt=873220194 rg=entwicklung
~#! tid=873197671


Oder MultiUserTeamworkDungeon

hihi

cu
  Hamlet

-----------------------------------------------------------------------------



Re^7: Mitarbeit gewuenscht (Taragon,  2. Sep 1997, 19:19:26):
~#! rn=Hamlet rt=873220256 rg=entwicklung
~#! tid=873197671
Also ich finde die Idee generell gut... allerdings wuerde mir der Gedanke auch
nicht behagen, im Team metzeln zu _muessen_ .
Ich faende es super, wenn man ein _Teamplay_ einfuehrt, aber OHNE dazu
GEZWUNGEN zu werden. Schliesslich war die lezte Zeit schon genug Gerede ueber
'zu etwas gezwungen werden' in diesem Mud.
Ausserdem macht etwas, das man tun _muss_ auch keinen Spass mehr. Aber wenn
man _Vorteile_ erlangt, weil man zusammen metzeln _kann_ wird sich das
Teamplay von selbst hier einfuehren.

--
Taragon

-----------------------------------------------------------------------------



Re: Mitarbeit gewuenscht (Anacrion,  2. Sep 1997, 19:32:11):
~#! rn=Silvana rt=873197671 rg=entwicklung
~#! tid=873197671
Moin auch.

Ich glaube nicht, dass es hier wirklich um eine generelle Abwertung aller
Spieler ging, es wuerde Spielern unterhalb von LVL10 sonst wohl bald jeglicher
Spass genommen. Auch LVL60-Seher sollten IMHO in der Lage sein, die meisten
Monster irgendwie allein zu besiegen.
Sollte es also das Ziel sein, Teamplay zu foerdern, so wuerde eine
Monster-aufwerten-Strategie auch ins Schwarze treffen, solange man
Quest-interne Monster und die HE unberuecksichtigt laesst....wenn z.B. Water
Luh nur noch mit 5 LVL50+-Sehern zu plaetten sein soll, muss mal halt AC und
Resist-Werte dementsprechend hochsetzen....

Bis die Tage,
Anacrion

-----------------------------------------------------------------------------



Re: Re: Mitarbeit gewuenscht (Key,  2. Sep 1997, 19:34:05):
~#! rn=Anacrion rt=873221531 rg=entwicklung
~#! tid=873197671
Ja klar, wir wollen hier alle nur supermegamonster ala Pararatten.

Ich dachte eigentlich das Teamplay mal FUER die Spieler ist, also mal was
positives!

Key

-----------------------------------------------------------------------------



Re^3: Mitarbeit gewuenscht (Anacrion,  2. Sep 1997, 19:36:18):
~#! rn=Key rt=873221645 rg=entwicklung
~#! tid=873197671
Es ging um einzelne Monster und eine _geringfuegige_ Aufwertung von einigen,
nicht jedoch darum, das MG mit Pararatten zuzumuellen.
Jedoch glaube ich, dass nicht _JEDES_ Monster allein zu besiegen sein _MUSS_ .

Ana*

-----------------------------------------------------------------------------



Re^4: Mitarbeit gewuenscht (Silvana,  2. Sep 1997, 20:11:33):
~#! rn=Anacrion rt=873221778 rg=entwicklung
~#! tid=873197671
Du liebe Guete... Da schreibt man einmal etwas vorher, von 'es koennte
schlechter werden' und schon gibts Geschrei aus allen Ecken...

Aaaaalso:
1) Es wird ein paar Dinge geben, die die Kampfkraft schwaechen. Das trifft
   aber Teams genauso wie einzelne.
2) Es sollte selbstverstaendlich sein, dass es keine aggressiven
   Monster gibt/geben sollte, die einen Seher in einer Kampfrunde plaetten.
   Sollte das doch der Fall sein, ist das nen Grund zur Beschwerde.
   Damit sollten zumindest die Bluemchenpfluecker keine Probleme haben,
   sich ohne Team im Ruecken umzusehen. Reine Metzelgebiete sind eh selten
   mit vielen Details gesegnt...
3) Dies ist ein Mud und sollte daher zwar nicht Zusammenarbeit erzwingen,
   wohl aber foerdern. Daher halte ich den Teamkampf fuer eine sehr gute
   Idee. Wer gerne alleine metzelt, sollte das natuerlich weiterhin
   koennen - nur wird nicht jedes Mega-Monster zu plaetten sein.
4) Was die Staerkung der staerksten Monster angeht: Wir haben einen 
   Punkt erreicht, an dem man Monster nicht mehr ruhigen Gewissens
   staerker machen kann, da sie zum Teil jetzt schon in weniger als einer
   Kampfrunde toedlich sein koennen - was ich als aeusserts unfair
   bezeichnen wuerde.

Hab ich jetzt etwas fuer Klarheit gesorgt? Nein? OK, noch eins:
5) Es wird vermutlich (wenn ihr es nicht schafft, die verbliebenen EMs
   auch noch rauszuekeln) einige Aenderungen geben in deren Verlauf
   sicher nicht alles so ist, wie man es sich wuenschen wuerde. Alles,
   was ich mir von Euch erwuensche ist etwas Geduld und von den wenigen,
   denen das MG (nicht nur die mpa) wirklich am Herzen liegt, etwas
   konstruktive Mitarbeit.

  Silvana

-----------------------------------------------------------------------------



Re^5: Mitarbeit gewuenscht (Asmodis,  2. Sep 1997, 21:22:24):
~#! rn=Silvana rt=873223893 rg=entwicklung
~#! tid=873197671
Wieso legt ihr eigentlich jetzt soviel Wert auf Teamwork, wenn
die EPs ja doch nix mehr zaehlen ??
Ich sehe da keinen Sinn darin, das waer was fuer ein MetzelMUD,
aber nicht fuer das MG in der heutigen Form ...

-----------------------------------------------------------------------------



Re: Partynachlese (Hadra,  2. Sep 1997, 22:11:24):
~#! rn=Snuggle rt=872770859 rg=entwicklung
~#! tid=872770859
wo kann man zimmer buchen?

hadra - mit knapp 90 immer noch sehr sehr jung

-----------------------------------------------------------------------------



Re^5: Mitarbeit gewuenscht (Raffi,  2. Sep 1997, 22:13:48):
~#! rn=Silvana rt=873223893 rg=entwicklung
~#! tid=873197671
Aaaal - Ah Ich will ja nicht mehnem Vorredner die Worte aus dem Mund nehmen :)

zu 2. Also darf man erst ab Seher Blumenpfluecker sein ?

zu lefty: Ich bin gegen eine Einzelkaempferbeschraenkung auf Level xy
(und speziell nicht 5 oder aehnlich niedrig) - wo bleibt da meine
Einzigarigkeit  wenn alle nicht mehr erhoehen ?

Grins
H.

-----------------------------------------------------------------------------



Re^6: Mitarbeit gewuenscht (Mindblade,  2. Sep 1997, 22:14:57):
~#! rn=Asmodis rt=873228144 rg=entwicklung
~#! tid=873197671
Ich geht hier doch nicht um EPs sondern um Teammetzeln um Spass zu haben!:)

-----------------------------------------------------------------------------



Re^7: Mitarbeit gewuenscht (Key,  2. Sep 1997, 22:16:45):
~#! rn=Mindblade rt=873231297 rg=entwicklung
~#! tid=873197671
Worauf Asmodis hinaus will:
Den Metzlern wurde hier immer wieder auf die fuesse getreten. Und jetzt auf
einmal soll man metzeln.

Key sucht den roten Faden durchs MG. Nein das ist kein noergeln, sondern
Kritik :)

-----------------------------------------------------------------------------



Re^8: Mitarbeit gewuenscht (Dhojakt,  2. Sep 1997, 22:22:56):
~#! rn=Asmodis rt=873231530 rg=entwicklung
~#! tid=873197671
Also fuer ne stunde mal mit jemandem zusammen rumziehen ist echt lustig, ich
hab ZB gestern halt mit caradhras mal den neuen schachtabschnitt heimgesucht.
Es waere ne echte bereicherung, wenn man normale monster wie steinbeisser,
elitesoldaten, goblager und so weiterhin plattkriegt.
Dhojakt.

-----------------------------------------------------------------------------



Re^7: Mitarbeit gewuenscht (Asmodis,  2. Sep 1997, 22:29:14):
~#! rn=Mindblade rt=873231297 rg=entwicklung
~#! tid=873197671
Was hat Teammetzeln mit Spass zu tun? Wenn man im Team metzeln will,
dann kann man das jetzt schon tun, wer allein metzeln will, kann das
jetzt auch tun, wieso sollen Einzelkaempfer jetzt bestraft werden ??

-----------------------------------------------------------------------------



Re^8: Mitarbeit gewuenscht (Felagund,  2. Sep 1997, 22:31:44):
~#! rn=Asmodis rt=873232154 rg=entwicklung
~#! tid=873197671
Es geht um eine generelle Abschwaechung aus Balancegruenden. Inwiefern das
eine 'Strafe' sein soll wuerde mich mal interessieren

-----------------------------------------------------------------------------



Re^9: Mitarbeit gewuenscht (Asmodis,  2. Sep 1997, 22:35:52):
~#! rn=Felagund rt=873232304 rg=entwicklung
~#! tid=873197671
Schoen, von Balance hat bisher keiner was gesagt, es ging nur darum,
dass Einzelkaempfer gegenueber den Teams abgeschwaecht werden.
Aber mal ne Frage: Werden die NPCs, die nicht fuer den Teamkampf
geschaffen sind, dann auch abgeschwaecht ??
Es ist doch so, dass viele NPC jetzt schon viel zu stark sind
fuer Teams aus 4 oder 5 Sehern.

-----------------------------------------------------------------------------



Re^10: Mitarbeit gewuenscht (Felagund,  2. Sep 1997, 22:38:19):
~#! rn=Asmodis rt=873232552 rg=entwicklung
~#! tid=873197671
Du hast da was falsch verstanden. Es soll nicht der Einzelspieler _gegenueber_
dem Team abgewertet werden, sondern der Einzelspieler generell, um die
Teamstaerke halbwegs im Rahmen zu halten, eben WEIL die quadratisch waechst

-----------------------------------------------------------------------------



Re^11: Mitarbeit gewuenscht (Patryn,  2. Sep 1997, 22:41:14):
~#! rn=Felagund rt=873232699 rg=entwicklung
~#! tid=873197671
das quadratische wachstum laesst sich mit gewissen mitteln begrenzen.
es ist zB voelliger quatsch dass 10 spieler gleichzeitig auf einem monster
einpruegeln...die stehen sich im wege.
man muesste somit eine art von kampfreihen aufmachen, wobei nur die erste
reihe wirklich kaempft bzw. man fuehrt waffen wie langboegen/armbrueste
mit eigenem waffentyp ein, sodass diese auch aus der zweiten reihe
eingesetzt werden koennen.

------
patryn

-----------------------------------------------------------------------------



Re^11: Mitarbeit gewuenscht (Anatol,  2. Sep 1997, 22:45:36):
~#! rn=Felagund rt=873232699 rg=entwicklung
~#! tid=873197671
Aeh, Fela, das kann man aber auch so formulieren:
Der einzelne Spieler wird abgewertet, weil sonst ein Spielerzusammenschluss
in Form eines Teams balance-maessig zu stark waere. 

Was hat denn ein Team fuer Sondereigenschaften? Oder was koennte es haben?
Das sind doch in erster Linie Sachen wie...
- Gleichzeitig in einen Raum hinein
- Kill-EPs werden geteilt
- Kill-Stupse werden verteilt/zugewiesen
- (evtl) Schaden, der eine einzelne Person treffen kann, trifft schwaecher,
  dafuer auch andere.

Solche Sachen wie "zweite Reihe", die von physikalischen Schaeden der
normalen Angriffe der Gegner durch ihre Position geschuetzt ist, muss es
ja nicht zwingend geben.
WENN man so eine zweite Reihe einfuehrt, kann man sogar Zauberer dem Stile 
des 'Zauberers an sich' anpassen, also FURCHTBAR SCHRECKLICH starke Angriffe,
dafuer so gut wie keine Abwehrmoeglichkeit etc. 
Leider bleibt der Einzelkaempfer dabei auf der Strecke und der Zwang zur
Gruppenbildung wird verstaerkt. Vielleicht sollte man mal einen Goldenen
Mittelweg suchen...? :)

Anatol

PS: Man kann auch jetzt schon mit 5 Sehern auf ein Monster los, liebe
    Kampfstaerkenkritiker. Und das ist auch JETZT schon ziemlich effektiv.


-----------------------------------------------------------------------------



Re^12: Mitarbeit gewuenscht (Silvana,  2. Sep 1997, 23:08:06):
~#! rn=Anatol rt=873233136 rg=entwicklung
~#! tid=873197671
Es ist schon erstaunlich: In meiner Mail waren 9 Briefe (in 2 Stunde),
davon 5 konstruktiv. In der mpa ueber 50 Artikel, davon einer zum Teil
konstruktiv. Tja, was entnehmen wir dieser Statistik?

  fragt sich - Silvana


-----------------------------------------------------------------------------



Re^13: Mitarbeit gewuenscht (Anatol,  2. Sep 1997, 23:09:40):
~#! rn=Silvana rt=873234486 rg=entwicklung
~#! tid=873197671
Man kann wohl daraus entnehmen, dass die Angst vor dem Verlust der eigenen
Kampfkraft in einigen Leuten sehr tief veranktert ist, Silvana...

Loescht diesen Artikel auch gerne selbst,
Anatol


-----------------------------------------------------------------------------



Re^8: Mitarbeit gewuenscht (Teddy,  3. Sep 1997, 08:30:40):
~#! rn=Key rt=873231405 rg=entwicklung
~#! tid=873197671

Man soll nicht unbedingt metzeln, aber es wird gemetzelt und damit auch
metzeln wieder Spass macht, soll man auch vernuenftig im Team metzeln koennen.

Teddy

-----------------------------------------------------------------------------



Re^13: Mitarbeit gewuenscht (Teddy,  3. Sep 1997, 08:34:03):
~#! rn=Silvana rt=873234486 rg=entwicklung
~#! tid=873197671
Schafft die MPA ab?

-> Schmarrn, jedenfalls Teilweise
Teddy

-----------------------------------------------------------------------------



Re^9: Mitarbeit gewuenscht (Zorro,  3. Sep 1997, 08:42:07):
~#! rn=Teddy rt=873268240 rg=entwicklung
~#! tid=873197671
Teddy wenn Dir metzeln keinen Spass macht liegt dass an Dir und noch am Mud.
Aber wenn man nicht mehr einfach so mal ne runde SSP machen kann weil wir
einzelnen zugunsten des Teams abgewertet werden wird dass nicht mehr der fall
sein. nicht immer hat man zeit und lust sich einen team anzuschliessen ... ich
moecht hier auch einmal an die vielen erinnern die waehrend ihrer Arbeitszeit
mudden und nur alle 30 min mal auf den schirm schaun und sich in den 5 min mal
abreagieren wollen in dem sie was metzeln ...

Gruss Zorro

-----------------------------------------------------------------------------



Re^10: Mitarbeit gewuenscht (Teddy,  3. Sep 1997, 08:46:30):
~#! rn=Zorro rt=873268927 rg=entwicklung
~#! tid=873197671
Ich hab nie behauptet, das mit metzeln keinen Spass machen wuerde, dann wuerde
ich naemlich nihct so oft dabei sterben.
Wenn man jedoch ein vernuenftiges Teamkonzept haben will, muss man auch die
Einzelspieler abwerten, um den Teams einen Anreiz zu geben.
Ausserdem wird zur Zeit eh ueberall abgewertet, um eine Balance zu erreichen. 
Ich glaube auch nicht, das die SSP dafuer gemacht wurde, das man alleine mal
eben da durch kann.

Teddy

-----------------------------------------------------------------------------



Re: Re: Partynachlese (Fyt,  3. Sep 1997, 09:20:33):
~#! rn=Hadra rt=873231084 rg=entwicklung
~#! tid=872770859

Na mit 90 kommst Du immerhin schon mal auf die Warteliste ;-)

Fyt.

-----------------------------------------------------------------------------



Re^11: Mitarbeit gewuenscht (Zorro,  3. Sep 1997, 09:23:28):
~#! rn=Teddy rt=873269190 rg=entwicklung
~#! tid=873197671
Teddy durch die SSP ist man schon als Abenteurer so eben gerade alleine
durchgekommen da muss schon sehr viel passieren. Wenn das teammetzeln nur dazu
dienen soll dass selbst bluemchenpfluecker die meisten killstupse bekommen
dann gute nacht :)= Aber es aender nicht an den sinn meines artikel dass das
mud viel an attraktivitaet verliert wenn man garnichts mehr alleine machen
kann und darf.
Wenn du beim metzeln nicht so oft sterben willst dann werd halt zauberer,
chaoten baden halt gerne im eigenen blut, frag key :)

Gruss Zorro

-----------------------------------------------------------------------------



Re^12: Mitarbeit gewuenscht (Rantanplan,  3. Sep 1997, 10:39:50):
~#! rn=Zorro rt=873271408 rg=entwicklung
~#! tid=873197671

Yo !

Ich bin dafuer alle Spieler abzuschaffen, die stehen eh nur im Weg rum und
machen die schoenen aufwendig geproggten NPCs kaputt.

So kann das nicht weitergehen...

Oe*

-----------------------------------------------------------------------------



Re^13: Mitarbeit gewuenscht (Babs,  3. Sep 1997, 10:52:22):
~#! rn=Silvana rt=873234486 rg=entwicklung
~#! tid=873197671
Wir entnehmen Silvanas Statistik, dass Erzis Kritik und Anregungen selten
als konstruktiv empfinden, wenn sie oeffentlich ist.
;-P

-----------------------------------------------------------------------------



Abwertung? (Catweazle,  3. Sep 1997, 12:57:36):

Moin!

Hm, ich hab immer noch nicht ganz verstanden, wofuer eine Abwertung der
Einzelspieler gut sein soll...

Der Teammodus sollte ein _zusaetzliches_ Feature sein, um teamfreundlichen
Spielern das Zusammenkaempfen zu erleichtern und somit den Teamgeist im MG
Man kann ja jetzt schon mit mehreren kaempfen, allerdings nicht besonders gut
koordiniert. _Dafuer_ sollte einem der Teammode unter die arme greifen. Das 
man diesem vereinfachten quadratischen Effekt entgegenwirken will, sehe ich
ein, aber das kann man doch ganz prima bei der Team-programmierung ein-
binden.
Der einzelne Spieler sollte davon unbeeinflusst bleiben, schliesslich ist 
der Teammodus eine _Erweiterung_. Dass dafuer am Solospieler rumgepfuscht
werden soll, kann ich nicht einsehen.

Just my 2 creditcards,
Yours truly,
     Catweazle

-----------------------------------------------------------------------------



Re^3: Mitarbeit gewuenscht (Zardoz,  3. Sep 1997, 13:15:07):
~#! rn=Hamlet rt=873208461 rg=entwicklung
~#! tid=873197671
Du disqualifizierst Dich selber, Hamlet.

-----------------------------------------------------------------------------



Kampfkraft (Zardoz,  3. Sep 1997, 13:57:40):
Ich moechte nur mal darauf hinweisen, dass sich die Kampfkraft eines
Einzelspielers in den letzten 3 Jahren durch immer bessere Ausruestung,
Artillerie, magische Gegenstaende, Gilden und Rassenstatboni etwa
verFUENFfacht hat.

Ciao Zardoz

-----------------------------------------------------------------------------



Re: Abwertung? (Orktoeter,  3. Sep 1997, 13:58:02):
~#! rn=Catweazle rt=873284256 rg=entwicklung
~#! tid=873284256
Also, die Idee das Teammetzeln zu unterstuetzen, z.b. durch gleichzeitiges
betreten eines Raumes, durch Gleichzeitiges angreifen etc. finde ich erst ein
mal gut, da sie das Zusammenspielen foerdern kann.
Da die Kampfkraft einer Gruppe quadratisch waechst, sollte meiner Meinung nach
da ab einer gewissen Gruppenstaerke (nicht jeder kann direkt am Gegner stehen)
die Kampfkraft begrenzt werden (wie ist noch mal eine Interessante Diskussion
wert). 
Gegen eine generelle Abwertuung der Einzelspielerkampfkraft spricht, das man
(gerade nach einem Neustart bestimmte Gegner, die Standardausruestungen haben,
nur noch in Gruppen killen kann. Dann entbrennt der Streit, wer die Sachen
bekommt, ausserdem macht das die Gilden, die keine (kaum) Ausruestung brauchen
noch attraktiver.
Je nach dem, wie stark die Abwertung sein wird (da ist ja noch nichts zu
gesagt worden), wird man dann regelrecht gezwungen, im Team zu metzeln. Diesen
Zwang finde ich nicht gut, es wird sicher oft genug Gruppen geben, die
mezteln, weil es 1. leichter ist und 2. bestimmt auch Spass machen wird

kurz und gut, ich stimme Cat* da voll und ganz zu.

PS oder hat Parac* gesagt, das wir alle der Balance im Weg stehen ?

OrkT.

-----------------------------------------------------------------------------



Re^8: Mitarbeit gewuenscht (Grimmborn,  3. Sep 1997, 14:34:24):
~#! rn=Taragon rt=873220766 rg=entwicklung
~#! tid=873197671
Es ist eigentlich erstaunlich...
Lieber Taragon (und Co, der Artikel von Taragon ist nur besonders deutlich),
es ist wirklich nicht so, dass Dich jemand zum Metzeln zwingt, weder alleine
noch im Team. Wenn Du der Meinung bist, Du waerest gezwungen, im Team zu
metzeln, nur weil Du als Einzelkaempfer etwas schwaecher geworden bist, dann
ist das eine interessante These. Kann ich dem entnehmen, dass Du Dich auch
gezwungen fuehlst, die aktuell allerbeste Ausruestung zu haben? Dich also auch
beschwerst, dass gute Ausruestung nicht so leicht zu haben ist? Optimale
Kampfkraft liegt nunmal nicht am Wegesrand, aber niemand _zwingt_ Dich (wie Du
meinst) dazu. Es steht Dir frei, andere Monster zu metzeln, oder Dich
vielleicht auch mal in Ruhe umzusehen. Und Vorteile muessen gelegentlich mit
Nachteilen fuer was anderes erkauft werden, sonst dreht sich die
Ruestungsspirale nur immer schneller.
Ende des offenen Briefes.

Grimmborn der Atheist hat endlich entwicklung fertig gelesen

-----------------------------------------------------------------------------



Re: Kampfkraft (Tunixgut,  3. Sep 1997, 16:07:08):
~#! rn=Zardoz rt=873287860 rg=entwicklung
~#! tid=873287860
Nu' wuerde mich aba mal interessieren, wie viel staerker die Monster geworden
sind??? ;o)

Wenn ich nu' aba schon wieder rumnoergel, will ich meinen Senf auch gleich
vervollstaendigen...
Teamkampf halte ich fuer eine prinzipiell gute Sache - Auf diese Weise hab'
auch ich - und ich bin nicht nur ueberzeugter Bluemchenpfluecker, sondern fuer
meinen Spielerlevel auch noch verdammt schwach - auch mal die SSP
kennengelernt...
Einen Team-Kampf-Modus faende ich prinzipiell eine gute Idee...
Ich bin ausserdem auch dafuer, die Kampfkraft der Metzelgruppe ab einer
bestimmten Groesse einzuschraenken.
Der Einzelkampf sollte weiterhin machbar sein. - Ich geh' mal davon aus, dass
da nicht wirklich geaendert werden soll, oda?
Wie Stupse, EPs etc. verteilt werden, wuerde mich aber mal interessieren -
sofern da schon Ideen gekommen sind...

's Karate-Bluemchenpfluecker-Zwerchle...

-----------------------------------------------------------------------------



Re^8: Mitarbeit gewuenscht (Mango,  3. Sep 1997, 17:09:48):
~#! rn=Asmodis rt=873232154 rg=entwicklung
~#! tid=873197671
um gewissen 2ty Familien hier im MUD entgegenzuwirken.

Mango, Einzelgaenger.


-----------------------------------------------------------------------------



Re^8: Mitarbeit gewuenscht (Lefty,  3. Sep 1997, 18:09:07):
~#! rn=Taragon rt=873220766 rg=entwicklung
~#! tid=873197671
Hm, also wenn ich mich recht erinnere, wurde in einem vorhergehenden Artikel
schon einmal darauf hingewiesen, das wenn man zusammen metzelt, man in der
Regel wesentlich staerker zuhaut als einer alleine, also bei sagen wir mal 5
leuten mehr als das 5-fache der Kampfkraft hat.
Also das durch nen Teamplaymodus Leute staerker zusammenmetzeln empfinde ich
deshalb nicht gerade real.

Lefty

-----------------------------------------------------------------------------



Re: Kampfkraft (Silvana,  3. Sep 1997, 18:17:39):
~#! rn=Zardoz rt=873287860 rg=entwicklung
~#! tid=873287860
Du untertreibst Masslos, Zardoz. Beispiel Schlammdrache.
Als der angeschlossen wurde, sind 12 Seher rein - und 3 lebend wieder
raus. Nach nen paar mal Tanken und ein paar Tode spaeter biss das Vieh
dann endlich in den Schlamm. Heute macht man den Schlammdrachen mit etwa 
50 SP und 10 LP - wenns schnell gehen soll - sonst gehts noch billiger.
Ich hab nichts dagegen, dass man heute staerkere Spieler hat als 
frueher - aber irgendwo ist Ende der Ruestungsspirale und Abruestung
ist angesagt. Dass das auch einen nicht unerheblichen Teil der 
Top-Monster trifft, sollte dabei dann aber auch rauskommen.

  Silvana

-----------------------------------------------------------------------------



Re: Re: Kampfkraft (Silvana,  3. Sep 1997, 18:27:04):
~#! rn=Tunixgut rt=873295628 rg=entwicklung
~#! tid=873287860
Ich hab mal nen Testkampf von 10 Schlammdrachen gegen einen Tigonen
gemacht. Die Schlammdrachen haben keine 3 Minuten ueberlebt und der
Tigone war nur unwesentlich geschwaecht. Trotzdem kann ein einzelner
Spieler beide Tigonen locker in ner dreiviertelstunde plaetten.
Reicht das als Vergleich?

  Silvana

-----------------------------------------------------------------------------



Re^9: Mitarbeit gewuenscht (Caramon,  3. Sep 1997, 18:34:32):
~#! rn=Lefty rt=873302947 rg=entwicklung
~#! tid=873197671
Ich weiss zwar jetzt net, ob ich Dich richtig verstanden habe, aber real ists
schon. Wenn 2 auf einen einschlagen, sind sie nunmal staerker, da der eine
seinen kraft mehr oder weniger aufteilen muss die 2 aber gleichstark
zuschlagen koennen, wie, als wenn sie alleine kaempfen wuerden. Ist
eigentlisch logisch und vorallem auch 'real' :)

Caramon

-----------------------------------------------------------------------------



Re^3: Kampfkraft (Mindblade,  3. Sep 1997, 21:22:51):
~#! rn=Silvana rt=873304024 rg=entwicklung
~#! tid=873287860
Argl Silvana!
Du magst Dich ja vielleicht bei den Zauberern auskennen, aber welche andere
Gilde plaettet bitte alleine die Tigonen (ohne pfeile)??? Also Chaoten
brauchen auch beim Schlammdrachen wesentlich mehr LP/MP! Es stimmt zwar, dass
ein einzelner Spieler heutzutage viel mehr platt kriegt als vielleicht vor 2
Jahren, aber dein Beispiel war ja nun wirklich nicht representativ!;)
Mind*, ist _nur_ Chaot und kein Zauberer!:)

-----------------------------------------------------------------------------



Re: Re: Kampfkraft (Wur,  3. Sep 1997, 23:37:07):
~#! rn=Tunixgut rt=873295628 rg=entwicklung
~#! tid=873287860
Im teamkampf sollte auch die Moeglichkeit bestehen etwas leichter zu Lars zu
wandern als ueblich. Schlichlich kaempft man im Team und damit traegt man eine
gwisse Verantwortung dem Team gegenueber, so dass ein fluechten etwas schwerer
sein sollte im Vergleich zum Solometzler.

Wur packt die Feder aus

-----------------------------------------------------------------------------



Re^3: Kampfkraft (Wargon,  4. Sep 1997, 10:49:39):
~#! rn=Wur rt=873322627 rg=entwicklung
~#! tid=873287860
Das sollte mit ner kleinen Aenderung beim Fluechten einfach zu loesen sein.
"Die Angst ist staerker als Du. Leider stehen Dir Deine Teamkameraden im Weg."
Die Wahrscheinlichkeit koennte sich dann nach der Teamgroesse richten.
(Silvana: notieren! :)
  Wargon

-----------------------------------------------------------------------------



Re^3: Kampfkraft (Hardil,  4. Sep 1997, 13:27:21):
~#! rn=Silvana rt=873304024 rg=entwicklung
~#! tid=873287860

Wer oder was bitteschoen sind Tigonen? :-)

-Hardil. Rentner-Seher.

-----------------------------------------------------------------------------



Re^4: Kampfkraft (Hadra,  4. Sep 1997, 13:28:19):
~#! rn=Hardil rt=873372441 rg=entwicklung
~#! tid=873287860
noch nie was von antigone gehoert? die hat die frueher immer bekaempft.

hadra - einzeiler schreibend

-----------------------------------------------------------------------------



Re^4: Kampfkraft (Zorro,  4. Sep 1997, 13:32:14):
~#! rn=Hardil rt=873372441 rg=entwicklung
~#! tid=873287860
Hardil das ist ein monster das nur Zaubererkillen koennen. Chaoten ueberleben
da etwa 5 sekunden, naja killen kann es jeder aber man braucht halt die hilfe
von zauberer weil halt nur die die noetigen sprueche koennen :)
Also ich bitte dich die tingonen als normales von jedem aleine killbares
monster hinzustellen ist laecherlich weil es einfach net funzt (alles mit n
haufen von robins pfeilen)

Gruss Zorro

-----------------------------------------------------------------------------



Re^5: Kampfkraft (Silvana,  4. Sep 1997, 14:00:05):
~#! rn=Zorro rt=873372734 rg=entwicklung
~#! tid=873287860
Also das mit Robins Pfeilen wuerd ich an Deiner Stelle lassen, bei den
Tigonen... Aber abgesehen davon sollten es auch 3 Abenteurer zusammen
schaffen koennen... Gewusst wie. :)

  Silvana

-----------------------------------------------------------------------------



Re^6: Kampfkraft (Anatol,  4. Sep 1997, 14:10:21):
~#! rn=Silvana rt=873374405 rg=entwicklung
~#! tid=873287860
Naja, aber Du musst wohl einraeumen, Silvana, dass das Killen der Tigonen eher
auf Know-How basiert und nicht auf pure Kampfkraft - insofern sind sie ein
etwas ungeschicktes Beispiel gewesen, welches sich aber durch ziemlich jedes
beliebige Monster von gewisser Staerke und Resistenz ersetzen laesst.

Lasst den Froeschen ihre Schenkel,
Anatol


-----------------------------------------------------------------------------



Re^6: Kampfkraft (Raffi,  4. Sep 1997, 15:54:37):
~#! rn=Silvana rt=873374405 rg=entwicklung
~#! tid=873287860
Gewust wie ... pfffffft.

Alle Monster die Man nich durch hinstellen und normalen Kampf plaetten kann
sind ueberzuechtet und gehoeren zurueckgestuft.

Gruss
H.

-----------------------------------------------------------------------------



Re^3: Seherwerdung (Qitess,  4. Sep 1997, 16:50:00):
~#! rn=Boing rt=872832489 rg=entwicklung
~#! tid=872767902
 is mir egal. ich bin schon seher.
qi**

-> schmarrn.ueberfluessig


-----------------------------------------------------------------------------



Re^5: Mitarbeit gewuenscht (Qitess,  4. Sep 1997, 17:02:47):
~#! rn=Lefty rt=873216555 rg=entwicklung
~#! tid=873197671
mal was von mir :
ich finde es falsch von multi-user-dungeon auf zusammenspielende-spieler-spiel
zu schliessen. es gibt immer einzelkaempfer und teamkaempfer. ich persoenlich
bin einer der lieber alleine durch die gegend rennt oder wenn es unbedingt
sein muss, dann lass ich die anderen eh immer vorwech (kommt ja nur in der ssp
vor, und da gehe ich nicht mehr hin). und ausserdem bin ich auch ein
bluemchenpfluecker und alles-ausprobierer. und ich faende es schade, wenn ich
ploetzlich vor nem petit-troll stuende und den alleine nicht mehr unterkriegen
koennte ohne zwanzigmal zur tanke zu rennen.

in diesem sinne - 
                    ab in die rinne


QI**

-----------------------------------------------------------------------------



Re^6: Mitarbeit gewuenscht (Zardoz,  4. Sep 1997, 17:11:41):
~#! rn=Qitess rt=873385367 rg=entwicklung
~#! tid=873197671
Um dem bis jetzt recht sinnlosen Gejammere eine Grundlage zu geben: Ich denke,
dass nach der Abwertung ein einzelner Seher Schwierigkeiten bei einem
Gardewaechter haben wird. So, jetzt koennt ihr wirklich anfangen zu jammern :)


Ciao Zardoz

-----------------------------------------------------------------------------



Re^7: Mitarbeit gewuenscht (Grimmborn,  4. Sep 1997, 17:42:26):
~#! rn=Zardoz rt=873385901 rg=entwicklung
~#! tid=873197671
Ich wusste es: Die Garde-Gilde ist zu stark!
Wirklich wichtig sind aber die Auswirkungen im unteren Bereich: Was macht ein
Anfaenger mit einer Blattlaus? Ich erinnnere mich, dass ich das damals schon
absolut laecherlich fand, was ich da fuer Probleme hatte...

Grimmborn der Atheist

-----------------------------------------------------------------------------



Angriffsmeldungen (Rochus,  4. Sep 1997, 17:47:30):
Damit der Scroll beim Kampf reduziert wird, kommt die
Angriffsmeldung jetzt nur noch am Anfang des Kampfes oder wenn
sich die Waffe aendert.
Ich hoffe die Kaempfe damit uebersichtlicher zu machen :)
Das gilt natuerlich nur fuer neue Monster bzw. nach Ende.

-----------------------------------------------------------------------------



Re: Kampfkraft (Asmodis,  4. Sep 1997, 17:47:46):
~#! rn=Zardoz rt=873287860 rg=entwicklung
~#! tid=873287860
Das darf man nicht verallgemeiner, die durchschnittliche Kampfkraft
hat sich sicher nicht um diesses Mass erhoeht, die einzigen, die
fuenffache Kampfkraft erreichen koennen, sind vielleicht die Zauberer :)

Ausserdem sollte man ARtillerie ausser Acht lassen, ich finde, daran
sollte man sowas nicht bemessen.

-----------------------------------------------------------------------------



Re: Angriffsmeldungen (Pra,  4. Sep 1997, 17:50:29):
~#! rn=Rochus rt=873388050 rg=entwicklung
~#! tid=873388050
Ungewohnt, aber durchaus nett. Dankeschoen!

Pra.

-----------------------------------------------------------------------------



Re^9: Mitarbeit gewuenscht (Asmodis,  4. Sep 1997, 17:50:37):
~#! rn=Mango rt=873299388 rg=entwicklung
~#! tid=873197671
Wann hast du mich denn in letzter Zeit zusammen mit meinen Zweities
metzeln sehen ? haeh ?

-----------------------------------------------------------------------------



Re: Re: Kampfkraft (Asmodis,  4. Sep 1997, 17:55:29):
~#! rn=Silvana rt=873303459 rg=entwicklung
~#! tid=873287860
Silvana, du uebertreibst wieder mal, ich muss beim Schlammdrachen
meistens tanken gehen, du solltest nicht alle Gilden ueber einen
Kamm scheren.
Es ist eben so, dass jeder woanders Vorteile hat, aber insgesamt
gesehen ist es nicht sooo schlimm, dass man nun mit einer Tank-
Fuellung ein Monster schafft, das frueher verflucht hart war.
Und ausserdem: Die sind laengst nicht mehr Standard, und haben
meist nichts Interessantes mehr zu bieten, der Schlammdrachenring
z.B. bringt kaum noch was ...

-----------------------------------------------------------------------------



Re^4: Kampfkraft (Asmodis,  4. Sep 1997, 17:58:23):
~#! rn=Wargon rt=873362979 rg=entwicklung
~#! tid=873287860
Hmm, nicht originell, besser waere:
"Die Angst ist staerker als Du. Bei der Flucht stolperst du ueber einen Zwerg
und faellst auf die Schnauze."

-----------------------------------------------------------------------------



Re: Re: Kampfkraft (Key,  4. Sep 1997, 18:01:26):
~#! rn=Asmodis rt=873388066 rg=entwicklung
~#! tid=873287860
Hmm also mal zur unheimlichen Zunahme der Kampfkraft ....
Chaosbecher abgewertet,
Voodoonadeln weg,
Flammkugeln mit tuecken,
Stab des Eises, Ring, starke Tuecken,
Wurfsterne abgewertet,
Vollstrecker nach mehrmaliger Abwertung im mom ja wohl nur ne waffe fuer die
die zuviel zeit haben,
Sms schwerer zu kriegen,
Naja usw usw
Hmm und Monster:
Weghier ist Kaemper,
Dunkelelfen, kaempfer,

Hmm soll ich noch endlos weitermachen und denkt ihr mags mal net nur an
irgendwelche zahlen?

Key

-----------------------------------------------------------------------------



Re^3: Kampfkraft (Grimmborn,  4. Sep 1997, 18:06:34):
~#! rn=Key rt=873388886 rg=entwicklung
~#! tid=873287860
Du zaehlst lauter Sachen auf, die aller erst eingefuehrt wurden, nachdem die
"Ruestungsspirale" laengst eingesetzt hatte. Bis auf das SMS, zugegeben.

MAW, Du beklagst Dich, dass die Spieler nicht 7fache Kampfkraft haben, sondern
nur 5fache wie vor drei Jahren... ;-)

GdA

-----------------------------------------------------------------------------



Re^4: Kampfkraft (Asmodis,  4. Sep 1997, 18:13:48):
~#! rn=Grimmborn rt=873389194 rg=entwicklung
~#! tid=873287860
Schoen, bedenkst du dann auch mal, dass die NPCs mindestens doppelte
Kampfkraft haben ?? Immerhin ist der Ruestungs-Bug ja weg :)

-----------------------------------------------------------------------------



Re^4: Kampfkraft (Key,  4. Sep 1997, 18:14:10):
~#! rn=Grimmborn rt=873389194 rg=entwicklung
~#! tid=873287860
Hmm gab es vor 3 Jahren Weghier?
oder Dunkelelfen? .)

Wollte nur damit klar machen das zwar stark aufgeruestet wurde, die monster
auch, aber die spieler auch wieder abgeruestet.

Key

-----------------------------------------------------------------------------



Re^3: Kampfkraft (Rochus,  4. Sep 1997, 18:17:53):
~#! rn=Key rt=873388886 rg=entwicklung
~#! tid=873287860
Key, ich erinnere mich an eine Zeit, in der ein Drache auch wirklich
noch so schwer war wie ein Drache sein sollte, d.h:
Ich habe fuer den Zombiedrachen alleine 2 Stunden benoetigt,
mit 5 Leuten ging es dann etwa in 15 Minuten und irgend
jemand ist immer dabei gestorben. Vergleiche DAS mit der heutigen Kampfkraft.

  Rochus

-----------------------------------------------------------------------------



Re^4: Kampfkraft (Grimmborn,  4. Sep 1997, 18:24:05):
~#! rn=Rochus rt=873389873 rg=entwicklung
~#! tid=873287860
Was Ruestung und NPC angeht: Soweit ich das mitbekommen habe war die Hydra das
einzige Monster, das bei Anschluss praktisch prinzipiell nicht zu toeten war,
ansonsten laufen die NPCs der Ruestungsspirale immer hinterher. 
Natuerlich will ich nicht "die gute alte Zeit vor drei Jahren" wieder aufleben
lassen, ich will nur deutlich machen, dass die Spieler so unfair, wie sie
gerne tun, nicht behandelt werden...

GdA

-----------------------------------------------------------------------------



Re^4: Kampfkraft (Wur,  4. Sep 1997, 18:43:14):
~#! rn=Wargon rt=873362979 rg=entwicklung
~#! tid=873287860
Genau, schwer zu basteln ist es sicher nicht. Mir fallen da grad noch nen paar
andere Moeglichkeiten ein wo man als Team kleinere Nachteile in Kauf nehmen
muss. Wenn die Leute betrunken sind, so waere es doch recht wahrscheinlich,
dass die Aktionen nicht nur gelingen (beim zaubern oder kaempfen), sondern
durchaus auch andere Teamgefaehrten treffen koennte. Daraus muss ja nicht
zwangslaeufig ein kampf Spieler gegen Spieler werden. Solch Missgeschicke
passieren nunmal...
Ebenfalls koennte sich die Spieler, wenn sie denn Waffen benutzen, gegenseitig
behindern. Ich stell mir das ziemlich amuesant vor, wenn innem engen Raum 4
Leute einen Gegner mit Schwertern oder sonstwas gleichzeitig angreifen wollen.
Allerdings, vorrausgesetzt man macht das vom Geschick abhaengig, muss man
dabei argh aufpassen, das sich fuer die kleineren Spieler das Teammetzeln noch
lohnt.

Wur

-----------------------------------------------------------------------------



Re^5: Kampfkraft (Key,  4. Sep 1997, 18:45:44):
~#! rn=Grimmborn rt=873390245 rg=entwicklung
~#! tid=873287860
Ja aber wir wurden auch net immer soooo fair behandelt wie es einige mags
immer hinstellen ....
Hmm also nachhinken tun die npcs schon, ein bisschen ;) Aber der npc der ne
gute rue anhat, der hat ja auch den ruestungsschutz dieser Rue ;))

Ansonsten gegen die verhaeltnisse von damals haette ich nix ;) Nehmen wir dann
auch wieder das alte Geldsystem? =;)

Key

-----------------------------------------------------------------------------



Re^10: Mitarbeit gewuenscht (Mango,  4. Sep 1997, 19:34:31):
~#! rn=Asmodis rt=873388237 rg=entwicklung
~#! tid=873197671
Hab ich etwa Namen genannt?

Betroffenen Hunde bellen.

Mango, neunmalklug.


-----------------------------------------------------------------------------



Re^11: Mitarbeit gewuenscht (Asmodis,  4. Sep 1997, 20:53:20):
~#! rn=Mango rt=873394471 rg=entwicklung
~#! tid=873197671
Ja, du hast es als Antwort auf einen meiner Artikel gepostet :)

-----------------------------------------------------------------------------



Teamkampf im MG (Froghunter,  4. Sep 1997, 22:32:10):
Vorweg: Mir macht Teamkampf sehr viel Spass und ich bin dafuer, dass es auch
bestimmte Kampfmoeglichkeiten/Kampfauftraege gibt, die speziell auf Teamarbeit
zugeschnitten sind.


Ich bin nur dagegen, dass Einzelkaempfer massive Probleme haben, an ihre Aus-
ruestung zu kommen oder einfach nur umherzustreifen und sich neue Gebiete an-
zuschauen. In dem Moment, wo ihr diesen Spielern einen Rueckschritt aufzwingt,
der nicht wieder aufzuholen ist, seid ihr diese Spieler los, weil die
Motivation
fehlt.
Also wenn wirklich der Zwang da ist, sich eine Gruppe zu suchen, um ueber-
haupt noch was schaffen zu koennen, ists bloed. Man hat ja keine Lust zum
100. Mal nen Elfen allein umzuhauen, nur weil man allein nirgendwo anders
weiter
kommt.

Also macht Teamkampf in bestimmten Gebieten oder fuer bestimmte Aufgaben, aber
bietet auch den Leuten Chancen ihren Character weiterzuentwickeln, die sich
weniger
oft ner Gruppe unterordnen wollen/koennen.


Froggy

-----------------------------------------------------------------------------



Zweitiemarkierung (Kartoffel,  4. Sep 1997, 22:52:58):

Wie wird denn nu markiert? Sichtbar oder unsichtbar?

Kartoffel

-----------------------------------------------------------------------------



Re^4: Kampfkraft (Hadra,  5. Sep 1997, 02:30:35):
~#! rn=Grimmborn rt=873389194 rg=entwicklung
~#! tid=873287860
das kernproblem ist doch nicht, dass sich da eine ruestungsspirale dreht,
sondern, dass alle damit rechnen, dass sie sich dreht. 
magier schliessen immer haertere monster an, weil sie um die gestiegene
kampfkraft wissen. gleichzeitig tauchen immer heftigere waffen auf, weil es ja
auch so heftige monster gibt; damit steigt dann wieder die kampfkraft der
spieler etc.
spieler versuchen natuerlich gegen ein vorhandenes monster alle register zu
ziehen, die ihnen das mud bietet und hier schlaegt dann zu buche, dass eine
reihe von spielern das mud besser kennen, als die magier.
hier spielen zwei parteien gegeneinander, von denen die eine (die magier)
zwangsweise aufgrund mangelnder kenntnis des muds verlieren muss! die einzige
massnahme die dann auf den tisch kommt ist eine mehr oder weniger ausgepraegte
rasenmaeheraktion die allen auf die nuss haut.
imho der haupt haken an der sache ist, dass so etwas wie ein magier fuer
balance zwar auf dem papier existiert aber schlicht und ergreifend aufgrund
der komplexitaet der muds ueberfordert ist.
die einzige chance das wieder in ein vernueftiges verhaeltnis zu bringen ist
die konsequente fortsetzung dessen was mit dem herumschrauben an den gilden
begonnen wurde, bloss dass es eben weiter gehen muss und auch wieder ein
vernueftiges verhaeltnis zwischen den monstern schaffen muss und ggf. muss das
halt wieder so angepasst werden, dass ein gardewaechter wieder ein
gardewaechter ist und nicht eine billige moeglichkeit der geldbeschaffung nach
einem reboot.
nur eine saubere ueberarbeitung des kampfsystems und nicht blosses rumdocktorn
an symptomen kann das mud mittel/langfristig retten. alles andere ist leben
aus der hand in den mund.

hadra - mit seinem laengsten artikel seit langem

-----------------------------------------------------------------------------



Re^5: Kampfkraft (Li,  5. Sep 1997, 08:42:38):
~#! rn=Wur rt=873391394 rg=entwicklung
~#! tid=873287860
Oh, das Spiel koennte man noch weiter treiben: Wenn die Gruppe mit Speeren
kaempft, koennen sie einen NPC besser angreifen als mit Schwertern, da weniger
Behinderung untereinander.
Oder ein Elf und Hobbit/Zwerg metzlen besser zusammen als 2 Elfen
Elfen/Menschen.
Nur: Wer soll das proggen?
Li (wartet auf die erste Ork-Phalanx )

-----------------------------------------------------------------------------



Re^6: Kampfkraft (Taragon,  5. Sep 1997, 08:47:37):
~#! rn=Li rt=873441758 rg=entwicklung
~#! tid=873287860
Hmmm, rein theoretisch wuerde doch eine neue Property ausreichen, mit der man
relativ die Teamqualitaet definiert. Diese wuerde man dann von allen
Teammitgliedern und ihren Waffen zusammenaddieren.
Was weiss ich, sowas wie eine P_TEAM fuer die Waffen und Spieler, die im
Gegnerobjekt mit einer P_MAX_TEAM verglichen wird.
Uebersteigt der Wert dann den Max-Wert, so werden einfach temporaer die Werte
des Gegners runtergesetzt.

Taragon
  --Versucht trotz Abwertungen 'en masse' noch positiv zu denken--

-----------------------------------------------------------------------------



Re^5: Kampfkraft (Grimmborn,  5. Sep 1997, 09:44:23):
~#! rn=Hadra rt=873419435 rg=entwicklung
~#! tid=873287860
Ich gehe davon aus, dass Du mit "einer sauberen ueberarbeitung des
kampfsystems" meinst, dass die Spieler auf keinen Fall schwaecher werden
duerfen, ja? Denn sonst haettest Du ja das, was momentan angedacht wird, nicht
kritisiert.

Ach ja, wenn Du das wirklich als Spiel von verschiedenen Parteien
gegeneinander siehst, biete ich mich hiermit gerne als Dein persoenlicher
Gegenspieler an, und dann schauen wir doch mal, wer da "zwangslaeufig
verliert"...

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re^6: Kampfkraft (Hadra,  5. Sep 1997, 11:22:29):
~#! rn=Grimmborn rt=873445463 rg=entwicklung
~#! tid=873287860
du bist dir zumindest sicher meinen artikel gelsen zu haben?
verstanden hast du ihn zumindest nicht, sondern dir schlicht ein paar sachen
rausgepickt und das was du lesen wolltest hineininterpretiert.

und ich sehe es nach wie vor als spiel von zwei parteien an, allerdings wissen
die die mich kennen, dass ich schon lange keine lust mehr habe in den
hinterletzen ecken nach der ausgebufftesten waffe zu suchen um noch ein
zusaetzliches megaheftigmonster zu killen.

aber dass die magier regelmaessig verlieren (vor allem den ueberblick ueber
die balance) zeigt doch schon die diskussion ob spieler nun 5 oder 7 oder was
weiss ich wieviel staerker sind als zu einem zeitpunkt x. niemand weiss es
mehr.

und staendig an monstern, ausruestungen etc. nachbessern zu muessen, heisst
fuer mich, dass die magier verloren haben gegen die spieler die das mud
'bersser' kennen als sie selber (zumindest an ueberblick)

hadra - senft weiter, fordert die abwertung der monster auf die haelft und die
kampfkraftsteigerung der spieler auf das doppelt und fragt sich ob fuer
grimmborn zumindest bei der unterschrift noch das dazumuss was andere sonst
bei postings an acrimon dazuschreiben

-----------------------------------------------------------------------------



Re^7: Kampfkraft (Grimmborn,  5. Sep 1997, 11:49:16):
~#! rn=Hadra rt=873451349 rg=entwicklung
~#! tid=873287860
Jungejunge, bin ich froh, nicht Dein Deutschlehrer zu sein...
Sicher moeglich, dass ich nicht alles mitbekommen habe, aber Du wirst mir
zugestehen muessen, dass das bei so einem Stil ohne Punkt und Komma und
Grossschreibung auch nicht eben leicht ist... 
Also, ich fasse zusammen: Du haelst nicht die Ruestungsspirale fuer das
Problem, sondern die Tatsache, dass alle mit einer rechnen (was war zuerst da,
die Henne oder das Ei?). Weiterhin ist fuer Dich der Haupthaken, dass ein
Balancemagier - salopp ausgedrueckt - nicht die bytes wert ist, mit denen er
ernannt worden ist. Die in Deinen Augen einzige Loesung ist ein Herstellen von
vernuenftigem Verhaeltnis zwischen den Monstern. Gleichzeitig beklagst Du
einen "Rasenmaehereffekt". Soweit so richtig?
Du hast sicher soweit recht, dass sich etwas aendern muss, mit dem
Kampfsystem, wie es ist, ist einfach eine Grenze erreicht, wenn ein "hartes"
Monster entweder nicht hart ist oder einen geruesteten Spieler in einer Runde
umbringen kann. Also in etwa: Ein Kampf muss generell laenger dauern, weil
sonst maechtige Kaempfe zu schnell gingen (< 1 Runde). Das geht aber nur ueber
eine generelle, grundlegende Aenderung des Kampfsystems, nicht durch
herumdoktorn an Werten von Spielern und/oder Monstern. Damit kommt es aber
genau zu so einem Rasenmaehereffekt, der erstmal alle trifft und vermutlich
auch hier und da "ungerecht" sein wird. Und von jedem Spieler, der fuer ein
Monster 10 Runden braucht, das er vorher in 5 umgebracht hat, als Angriff auf
Leib, Leben und Privilegien angesehen wird. 
Insofern war das nicht falsch, wenn ich gesagt habe, dass Du was
ford^Wanregst, was Du selber nicht in letzter Konsequenz befuerwortest. Und
dass Magier am laengeren Hebel sitzen sollte auch klar sein. Der Rest von mir
war uebliche Polemik, nix zum Aufregen.

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re^8: Kampfkraft (Asmodis,  5. Sep 1997, 11:59:20):
~#! rn=Grimmborn rt=873452956 rg=entwicklung
~#! tid=873287860
Wenn die NPCs so veraendert werden, dass man sie nicht nur mit
RFR-Technik killen kann, dann haette ich auch nix dagegen, wenn
der Kampf laenger dauern wuerde.
Es ist eben so, dass der Otto-Normal-NPC, der gute Ausruestung hat
(Ich spreche da nicht von Weghier, Hydra und so...) zu hart
zuschlaegt, als dass man sich da viele Kampfrunden leisten
kann (naja, Zauberer vielleicht, aber die sind eh zu gut).
Kurz gesagt: Kehrt zurueck zu den Grundlagen und macht
wieder manierliche Monster, nicht immer solches Mega-Zeugs

-----------------------------------------------------------------------------



Kampfkraft (Illian,  5. Sep 1997, 12:15:24):
Eine Abwertung der Kampfkraft waere in dem Moment OK, wenn ein Spieler beim
einloggen nach einem Reboot eine entsprechende Ausruestung gestellt bekommt.
Es ist frustrierend fuer Gelegenheitsspieler, wenn sie nach jedem Reboot grade
ihre Ausruestung zusammen haben und dann kommt schon der naechste reboot.
Denn ohne Ausruestung bekommt auch ein starker Seher (ausnahme Karateka)
nichts kaputt. Aber mich nervt es tierisch, wenn ich mal nur wenig da bin, nur
Bluemchen zu zaehlen oder beim metzeln nur Pruegel zu beziehen, da ich keine
passable Ausruestung habe. 
In dem Fall koennte man fast alle Monster hochsetzen und ich wuerde nicht
meckern.
Illian

-----------------------------------------------------------------------------



Re: Zweitiemarkierung (Highlander,  5. Sep 1997, 12:37:55):
~#! rn=Kartoffel rt=873406378 rg=entwicklung
~#! tid=873406378
Die Antwort lautet selbstverstaendlich: Ja.
Und sie stimmt sogar ;>
   HrT

-----------------------------------------------------------------------------



Re^7: Mitarbeit gewuenscht (Abraxxas,  5. Sep 1997, 12:49:23):
~#! rn=Hamlet rt=873220256 rg=entwicklung
~#! tid=873197671
Dann heissts ab jetzt halt MUT fuer "MultiUserTeamplay" ... rein von der
Aussprache her hat sich nix geaendert :-)

Abraxxas, Hexxer

-----------------------------------------------------------------------------



Re: Kampfkraft (Key,  5. Sep 1997, 13:52:32):
~#! rn=Illian rt=873454524 rg=entwicklung
~#! tid=873454524
Also ich weiss ja net ...
Ich hab mich noch nie mit so nem kleinzeug zufrieden gegeben ... entweder top
oder flop ,)

Also so billge rue hab ich in meinen metzelzeiten nie angezogen ... gut man
braucht am anfang etwas hilfe und tankt mehr als wenn man sich langsam
aufruesten wollte, aber man hat mehr spass (tode) =;)

Key

-----------------------------------------------------------------------------



Re^8: Kampfkraft (Teddy,  5. Sep 1997, 14:02:17):
~#! rn=Grimmborn rt=873452956 rg=entwicklung
~#! tid=873287860
Wenn du Deine Beleidigungen oder Deine Polemik zurueckstellst, kannst du sogar
sachliche Beitraege bringen.
Ansonsten gilt auch fuer Dich: Wer im Glashaus sitzt, sollte nicht mit Steinen
schmeissen.

Dein Artikel war naemlich auch nicht fehlerfrei.

Teddy

-----------------------------------------------------------------------------



bekanntmachung vom 3.9 (Hate) (Caramon,  5. Sep 1997, 16:19:54):
Hmm, soweit sogut. aber war es nich urspruenglich so gemeint, das die
_gesamte_ zweitiemarkierung unsichtbar wird und nicht nur der name des
ersties? Irgendwie brauch man im dem fall ja dann garnix unsichtbar machen, da
ja immer noch alle sehen, das man zweitie ist.

Caramon, der sich zwar als zweitie markiert hat, aber eigentlich net wollte,
das man ihn nu doch als zweitie erkennt

-----------------------------------------------------------------------------



Re: bekanntmachung vom 3.9 (Hate) (Key,  5. Sep 1997, 16:24:23):
~#! rn=Caramon rt=873469194 rg=entwicklung
~#! tid=873469194
Hmm koennt ihr bitte erstmal sagen WAS NACH der Makierung mit den Zweities
geschehen soll?
Ich sag jetzt bestimmt zum 100 mal das erst dann wenn das bekannt ist eine
vernuenftige Basis existiert.

Oder wuerdet ihr vielleicht etwas tun wofuer ihr dann spaeter ganz nach Lust
und Laune "bestraft" werdet?

Ausserdem gibts auch noch Leute die noch nicht wissen wer ihr Erstie ist und
es davon abhaengig machen was danach passieren soll!

Key will Ordnung, zumindest nen bisserl. :)

-----------------------------------------------------------------------------



Re^7: Kampfkraft (Damien,  5. Sep 1997, 16:40:36):
~#! rn=Raffi rt=873381277 rg=entwicklung
~#! tid=873287860
Also eigentlich dachte ich, dass etwas mehr Anspruch an die Intelligenz der
Spielker eine Verbesserung waere, da kann man die Skripter mal bremsen ohne
irgendwelche Gemeinheiten.
Im uebrigen finde ich (IMHO natuerlich), Spieler die sich mehr auf ihre
virtuellen Muskeln als ihren Kopf verlassen sin ueberzuechtet und gehoeren
zurueckgestuft.

Damien.

-----------------------------------------------------------------------------



Re: bekanntmachung vom 3.9 (Hate) (Taragon,  5. Sep 1997, 16:42:00):
~#! rn=Caramon rt=873469194 rg=entwicklung
~#! tid=873469194
hihihi, Caramon, das koennte Dir doch egal sein. Spaetestens jetzt weiss es eh
fast jeder ;-))

-----------------------------------------------------------------------------



Kampfkraft (Damien,  5. Sep 1997, 17:05:12):
Hmm, ich habe ja nicht allzuviel Ahnung, aber fuer mich sieht das so aus, dass
da 'ne ganze Menge im Morgengrauen umzubauen ist, ist das MG dafuer nicht fast
schon zu gross?
Aber wenn schon dass Kampfsystem geaendert wird, koennte man es vielleicht mal
so umstellen, dass das Tanken ganz wegfaellt? Also, dass Monster, die von
einem Spieler Level 10 (Dank Orakel hat man jetzt ja mal eine Stufen-Stats-
Relation) geplaettet werden sollen halt dann auch nur gute 100 bis 150 LP
haben und eine 'normale' Ausruestung. Natuerlich gibt es Monster, die einfach
nicht zu plaetten sind fuer einen alleine, der braucht dann halt Verstaerkung,
also den Teamkampf. Die normale Regeneration vielleicht etwas langsamer,
dafuer
durch Kneipen/Lazarette/Heiler eine Beschleunigung, so dass man gegenueber den
Monstern keinen allzugrossen Vorteil hat, aber auch nicht ewig warten muss,
bevor es weitergeht. Ich weiss, dafuer muessten fast alle NPCs umgestellt
werden, die Kneipen und Heilstellen muessen alle abgeaendert werden und die
Regeneration bei Spielern auch (MP sollte man irgendwie anders regenerieren,
die verbraucht man ja auch meisst schneller...) aber darum kommen wir (ich
schliess mich jetzt mal mit ein) eh' net drumrum, denn dieses rumgedoktore an
den Gilden und der Ruestungswettlauf sorgen nur fuer Unruhe und schadet der
Balance eher, als sie nuetzt, denn irgendwo uebersieht man immer irgendwas.
Ich finde es nur immer noch schade, dass manche Spieler offensichtlich die
Ueberzeugung hegen, sie muessten immer in der Lage sein, jedes Monster im MG
besiegen zu koennen. Aber eigentlich ist das wie mit einer Pruefung, die die
Haelfte der Teilnehmer mit voller Punktzahl besteht, man weiss gar nicht, wer
wie gut ist (fuer die Listengeilen).
Demnaechst beschweren sich die Level 5 Spieler, dass sie nicht in die Parawelt
duerfen (naja, was heisst demnaechst, das hatte ich schon mal...).
Also, ich hatte nie das Beduerftnis, wirklich alles im MG zu kennen und jeden
Gegner zu besiegen, und ich war eigentlich auch immer zufriedener, wenn ich
einen Gegner ueberwinden konnte, weil ich einen 'Trick' kannte, mit dem man es
schafft, statt mit roher Kampfkraft. . o O (irgendwie wird das jetzt konfus)
Ich denke, die Spieler brauchen nicht zu jammern, wenn sie bei einem Gener mal
keine chance haben, dafuer kommen sie an anderen Stellen besser klar, das ist
ja auch das Prinzip hinter den gilden, dass jeder andere Staerken entwickeln
kann. wenn einige der Seher sich das mal klarmachen und das Kampfsystem mal
auf
ein solides Konzept aufgebaut wird, dann werden und die diskussionen, die zur
Zeit laufen hoffentlich in drei Jahren erspaart bleiben. :)
(Das war kein Angriff gegen die Seher als solche, aber die Nicht-Seher machen
sich eher selten gedanken ueber 'unkillbare' Monster und sowas, die sind daran
gewoehnt.)

Damien.

-----------------------------------------------------------------------------



Re: Re: bekanntmachung vom 3.9 (Hate) (Kartoffel,  5. Sep 1997, 17:18:48):
~#! rn=Taragon rt=873470520 rg=entwicklung
~#! tid=873469194

Hmm, beim Kneipenumbau denkt Ihr aber schon an die Bierschuettlergilde?
Immerhin gehoert das billigere Tanken und 'Ernuechtern' da zum Grundgedanken
der Gilde und gleicht so zumindest ein bisschen das schwache Kampfbild aus.

Kartoffel

-----------------------------------------------------------------------------



Re: Kampfkraft (Asmodis,  5. Sep 1997, 18:26:30):
~#! rn=Damien rt=873471912 rg=entwicklung
~#! tid=873471912
Hmm, falls die Kneipen so geaendert werden, dass sie wie in UNItopia
nur die Heilgeschwindigkeit erhoehen, dann ist das der groesste
Mist, was je an MG verbrochen wurde.
Gerade davor bin ich gefluechtet und werde es auch wieder tun, weil
man dauernd herumstehen muss, bis seine LPs wieder auf Maximum sind
und das Metzeln eines NPCs unendlich lange dauert ...

Toll, bevorzugt die Daueridler .....

-----------------------------------------------------------------------------



Re: Re: Kampfkraft (Damien,  5. Sep 1997, 18:31:49):
~#! rn=Asmodis rt=873476790 rg=entwicklung
~#! tid=873471912
Hmm, eben gerade nicht. Wenn dann sollten die Monster OHNE Tanken zu besiegen
sein, und Kneipen bzw. andere heilstellen sollen so langsam arbeiten, dass es
sich nicht lohnt waehrend einem Kampf tanken zu gehen. Dann werden Monster wie
das Weghier selbst mit nur 200 LP kaum schaffbar sein, ausser man ist selber
recht gut in einer Gilde. Das Tankkonzept ist es ja gerade, weswegen Monster
den Spielern gegenueber so ewig gut sein muessen, weil der Spieler den Vorteil
hat, tanken zu koennen.

Damien.

-----------------------------------------------------------------------------



Re^3: Kampfkraft (Taragon,  5. Sep 1997, 18:36:44):
~#! rn=Damien rt=873477109 rg=entwicklung
~#! tid=873471912
Naja, aber ich hoffe, ihr bedenkt, dass es auch einige NPC's gibt, die tanken
gehen (Elfenwaechter, Phlyaken...)
Bei einem solchen konzept vermute ich, dass diese dann nicht mehr zu schaffen
sein werden.

Taragon
  -vermutet halt mal-

-----------------------------------------------------------------------------



Re^3: Kampfkraft (Caramon,  5. Sep 1997, 18:37:18):
~#! rn=Damien rt=873477109 rg=entwicklung
~#! tid=873471912
hmm, weiss zwar net, ob dus schon jemals bemerkt hast, aber auch npc's koennen
tanken gehen

nur mal so nebenbei .... Caramon

-----------------------------------------------------------------------------



Re^4: Kampfkraft (Dhojakt,  5. Sep 1997, 18:37:54):
~#! rn=Caramon rt=873477438 rg=entwicklung
~#! tid=873471912
Schoen, dann gehen sie halt in die kneipe und nix passiert, ausser dass sie
besoffen werden.
Khidar.


-----------------------------------------------------------------------------



Re^4: Kampfkraft (Damien,  5. Sep 1997, 18:39:15):
~#! rn=Taragon rt=873477404 rg=entwicklung
~#! tid=873471912
Naja, wenn Tanken fuer Spieler in der Form nicht mehr geht, dann natuerlich
auch nicht fuer NPCs.
Und bevor sich wieder ein paar Leute ueberschlagen, dass ist eine Idee von
mir.
Und so lange die keiner von den Erzies oder HLMags aufgreift, wird das auch
nur eine Idee bleiben.

Damien.

-----------------------------------------------------------------------------



Re^4: Kampfkraft (Damien,  5. Sep 1997, 18:41:29):
~#! rn=Caramon rt=873477438 rg=entwicklung
~#! tid=873471912
Hmm, Caramon, ich weiss nicht alles ueber's MG, aber ich bin auch nicht bloed.
Wenn die Kneipen in der Form abgeschafft werden, wo sollten die Tank-NPCs
denn dann tanken? Ist ja klar, das die das dann auch nur in dem Masse koennen,
wie die Spieler.

Damien.

-----------------------------------------------------------------------------



Re^5: Kampfkraft (Asmodis,  5. Sep 1997, 18:42:16):
~#! rn=Damien rt=873477555 rg=entwicklung
~#! tid=873471912
Wenn dir das so gefaellt, dann geh doch in ein MUD mit UNI-Lib,
da ist das von Anfang an implementiert.
Aber das jetzt auf MG zu uebertragen ist vergeudete Zeit, weil das
sicher nicht so akzeptiert wird. Es ist eben so, dass man blitzschnell
sich wieder auftanken kann, und ich finde, es sollte auch so bleiben,
das gehoert eben zu diesem MUD und alles andere macht es kaputt.

-----------------------------------------------------------------------------



Re^5: Kampfkraft (Caramon,  5. Sep 1997, 18:45:31):
~#! rn=Damien rt=873477689 rg=entwicklung
~#! tid=873471912
Oh, sorry, wollte dir wirklich nich unterstellen, bloed zu sein, aber das
bezog sich jetzt auf deine aussage, das die spieler den npc's durch das reine
tanken gehen ueberlegen waeren, naja, und dem ist halt nicht so, das wollte
ich damit ausdruecken

caramon

-----------------------------------------------------------------------------



Re^6: Kampfkraft (Anatol,  5. Sep 1997, 18:52:26):
~#! rn=Caramon rt=873477931 rg=entwicklung
~#! tid=873471912

            H I L F E !

Sorry, so langsam nimmt der Salat an Artikeln, deren Gehalt in keinem guten 
Verhaeltnis zur Laenge steht, ueber ein ertraegliches Mass zu.

Es waere schoen, wenn ein Erzmagier eine Diskussionsrubrik einrichten wuerde,
die dann als 'moderiert' gefuehrt wird, das heisst, es gibt eine Gruppe von
Magiern, die gegebenenfalls, Artikel ersatzlos loeschen oder zusammenfassen,
damit die Kerndiskussion nicht zu sehr in Mitleidenschaft gezogen wird. Das
geht deutlich ueber das bisherige Mass an "Reinhaltung" (schlag mich nicht,
Grimmborn) hinaus, aber macht leider durchaus Sinn.

Anatol


-----------------------------------------------------------------------------



Re^8: Kampfkraft (Grimmborn,  5. Sep 1997, 19:04:56):
~#! rn=Damien rt=873478434 rg=entwicklung
~#! tid=873471912
Versuchs mal im usenet, moderierte Gruppen der Zensur anzuklagen.
Erstaunlich, hast tatsaechlich noch weniger verstanden als Patryn...

GdA

-----------------------------------------------------------------------------



Re^8: Kampfkraft (Raffi,  5. Sep 1997, 20:06:32):
~#! rn=Damien rt=873470436 rg=entwicklung
~#! tid=873287860
Hmm schaetze dann musste mich runterstufen ....

Gruss
H.
(Raffi hat nur muskeln ... sonnst nix.)

-----------------------------------------------------------------------------



Re: Erzmagierkonferenz (Mi, 3.9.1997) (Raffi,  5. Sep 1997, 20:14:04):
~#! rn=Hate rt=873468325 rg=bekanntmachungen
~#! tid=873468325
Wiso eine Kennzeichnung mit dem Ersinamen ohne diesen dann zu zeigen ?

kann man es nicht so machen das der Erstiname Standardmaessig ausgegeben wird,
und nur per _zusaetzlichem_ befehl diese unterdrueckt wird, wenn einer
wirlklich nicht will das man seinen Erstie erkennt ?

Gruss
H.

-----------------------------------------------------------------------------



Re: Re: Erzmagierkonferenz (Mi, 3.9.1997) (Damien,  5. Sep 1997, 20:15:59):
~#! rn=Raffi rt=873483244 rg=entwicklung
~#! tid=873468325
Ich denke das war mal wieder ein Kompromiss. Wegen der Kontrolle sollten die
Mags sehen koennen, wer der Erstie ist, aber es gab scheinbar einen Konsens
unter den Spielern, die Kennzeichnung nicht jedem zugaenglich zu machen,
deshalb wird es jetzt wohl so gemacht.

Damien
88

-----------------------------------------------------------------------------



Re^4: Erzmagierkonferenz (Mi, 3.9.1997) (Anatol,  5. Sep 1997, 20:24:20):
~#! rn=Raffi rt=873483470 rg=entwicklung
~#! tid=873468325
Ehrlich gesagt, ich bezweifle, dass dieser "Kompromiss", falls es 
tatsaechlich einer sein sollte, Sinn und Zweck dessen erfuellt, was 
die Spieler, die einen echten Zweitie spielen, wuenschten...
Erhofft wurde meines Wissens folgendes:
a) Zweitiemarkierung immer mit Namen des Ersties. Geht nicht anders, ist 
   wichtig, auch fuer Teamkampf und solche Scherze.
b) Optionale Moeglichkeit, den Charakter so zu markieren, dass er von
   anderen Spielern (und fuer Magier bis zu einem bestimmten Level) nicht
   als Zweitcharakter erkennbar ist.
   Ja, es gibt sie wirklich. Diejenigen, die sich an manchen Tagen als 
   jemand voellig anderes einloggen. Und es waere schade, wenn man diese
   Leute zwingt, ihre Identitaet preiszugeben, oder mit Loeschung zu rechnen,
   weil ein Hilfssheriff unbedingt zuschlagen muss.

Ich weiss nicht, ob _das_ Konsens der Spieler ist, ich bezweifle sogar, dass
es einen Konsens gibt, schliesslich behaupten einige, man koenne nicht zwei
voellig verschiedene Charaktere spielen, ohne irgendwie krank zu sein...

Anatol, meinend.


-----------------------------------------------------------------------------



Re^5: Erzmagierkonferenz (Mi, 3.9.1997) (Raffi,  5. Sep 1997, 20:28:24):
~#! rn=Anatol rt=873483860 rg=entwicklung
~#! tid=873468325
sowohl a) als auch b) entsprechen genau meiner ueberlegung.
immer mit namen markieren, 
Name Standardmaessig sichtbar,
auf Wunsch (durch einfaches festlegen ala zusatzliche Funktion beim Schmied)
jedoch unsichtbar bis was weis ich Mgierlevel 40 ...

Aber mir scheint das Bonn und Muenster garnicht soweit auseinander liegen.

Gruss
h.

-----------------------------------------------------------------------------



Re^4: Kampfkraft (Silvana,  5. Sep 1997, 21:46:57):
~#! rn=Taragon rt=873477404 rg=entwicklung
~#! tid=873471912
1) Wird das Tanken nicht ganz abgeschafft, nur veraendert.
2) Wird das die NPCs genauso treffen, also besteht zumindest DA kein
   Grund zur Sorge.

  Silvana

-----------------------------------------------------------------------------



Re: Re: Erzmagierkonferenz (Mi, 3.9.1997) (Silvana,  5. Sep 1997, 21:52:45):
~#! rn=Raffi rt=873483244 rg=entwicklung
~#! tid=873468325
Wir haben halt versucht, zusaetzlichen Speicher- und programmieraufwand
zu sparen. Zugegeben, im Vergleich zu Skills eher laecherlich. :)

  Silvana

-----------------------------------------------------------------------------



Re^3: Erzmagierkonferenz (Mi, 3.9.1997) (Caramon,  5. Sep 1997, 22:34:34):
~#! rn=Silvana rt=873489165 rg=entwicklung
~#! tid=873468325
Oehm ... das ist doch nicht etwa wirklich die entgueltige loesung? das
zweities fuer alle sichtbar sind und nur die namen der ersties unsichtbar
sind. Bitte schreibt, das das nicht wahr ist.

Caramon, der nicht will, das seine zweitie's (auch die anderen) fuer alle
sichtbar sind

-----------------------------------------------------------------------------



Re^6: Kampfkraft (Wur,  6. Sep 1997, 11:27:16):
~#! rn=Li rt=873441758 rg=entwicklung
~#! tid=873287860
Keine Ahnung. Aber aus welchem Grunde sollte keiner zu finden sein der es
proggt? Fuer die Vorteile des Teammetzelns gibts ja auch welche, die es schoen
finden das zu basteln. Also wieso sollte es fuer die kleinen, teilweise doch
recht belustigenden Nebeneffekte, nicht auf wer tun?

Wur

-----------------------------------------------------------------------------



Zweitimarkierung (Illian,  6. Sep 1997, 12:11:00):
Hallo,
koennte ein EM jetzt mal schriftlich erklaeren, was mit den unsichtbaren
Zweitimarkierungen wird oder nicht ? Ich wuerde gerne mal wieder meinen 
nicht-gemeldeten Zweitie einloggen, habe aber keine Lust dafuer illegal
erwischt und geloescht zu werden. Wenn der invis-Modus kommt, sagt es, wenn
nicht, sagt, dass sich jetzt alle Zweities sichtbar markieren muessen oder
geloescht werden. Es wird Zeit, dass hier endlich mal wieder Klarheit
herrscht.
Illian

-----------------------------------------------------------------------------



Re^5: Mitarbeit gewuenscht (Trekan,  6. Sep 1997, 13:49:08):
~#! rn=Key rt=873209341 rg=entwicklung
~#! tid=873197671
Wie waere es, wenn man das team-kampf etc. konzept zuerst einmal in der
para-welt unter den sehern austestet um zu sehen, wie es angenommen
und ueberhaupt benutzt wird. Damit muesste man auch nicht glaich das ganze MG
umbauen, sondern koennte sihc auf ganz gest. gebiete/npc's konzentrieren.
Von da aus kann man dann ja auf das mud uebergreifen.
Trekan

-----------------------------------------------------------------------------



Re^6: Mitarbeit gewuenscht (Silvana,  6. Sep 1997, 19:27:10):
~#! rn=Trekan rt=873546548 rg=entwicklung
~#! tid=873197671
Wenn man den Teamkampf vernuenftig implemetieren will, muss man das
direkt im Kampfsystem machen - und dann wirkt es sich halt auf 
alle aus, egal in welcher Region oder ob Seher oder nicht.
Der Teamkampf selbst aendert auch nichts ander Kampfstaerke von
Spielern oder NPCs.


  Silvana

-----------------------------------------------------------------------------



Re^7: Kampfkraft (Silvana,  7. Sep 1997, 18:58:21):
~#! rn=Gast2 rt=873648476 rg=entwicklung
~#! tid=873471912
Eieiei, da sind ja wieder ueble Geruechte im Umlauf...
NEIN, Man wird hier NICHT essen/trinken muessen um nicht zu verrecken -
jedenfalls nicht an Hunger oder Durst... :)
Um gleich aehnlichen Spekulationen vorzubeugen: Wir haben auch nicht
vor, Tag und Nacht einzufuehren. Das ueberlassen wir dann doch anderen
Muds. :)

  Silvana

-----------------------------------------------------------------------------



Re^9: Kampfkraft (Patryn,  7. Sep 1997, 22:02:24):
~#! rn=Grimmborn rt=873479096 rg=entwicklung
~#! tid=873471912
und wieder etwas haltloses geschwaetz vom ehrenwerten herrn besserweiss
grimmborn. ist doch immer wieder lustig, wie sich manche leute das
recht herausnehmen, ueber das verstehen und unverstehen anderer leute
zu urteilen. wahrscheinlich warst du in so nem psychoprogramm, wo versucht
wird unsicheren leuten etwas mehr selbstbewusstsein einzutrichtern...
 ...na ja, man hat es wohl leicht uebertrieben

 ja, du hast recht
 ja, du weisst alles
 ja, es gibt keinen besseren

ich kann mir gut vorstellen, dass du auch nach deiner behandlnung noch
mit nem knopf im ohr rumrennst, der dich mit aehnlichen huldigungen
beduedelt...ansonsten koenntest du den muell wohl kaum verkraften,
den du in aller selbstgefaelligkeit so verbreitest

------
patryn

-----------------------------------------------------------------------------



Re: Re: Erzmagierkonferenz (Mi, 3.9.1997) (Kartoffel,  7. Sep 1997, 23:34:24):
~#! rn=Silvana rt=873486824 rg=bekanntmachungen
~#! tid=873468325
Dummerweise reagiert Fondil auf 'Zweiti' und 'Zweitie' unterschiedlich...

Kartoffel

-----------------------------------------------------------------------------



Re^10: Kampfkraft (Silvana,  8. Sep 1997, 00:02:32):
~#! rn=Patryn rt=873662544 rg=entwicklung
~#! tid=873471912
Hi, ihr zwei Streithaehne. 
Ich muss ja zugeben, Eure gegenseitigen Beschimpfungen haben einen 
gewissen Unterhaltungswert, aber ich finde es reicht langsam. Wenn
ihr dem geneigten Leser noch mehr Herzblut bieten wollt, geht bitte
in die Rubrik Etikette oder Schmarrn - je nachdem wie ernst Euch das 
ist. Nicht, dass das Niveau dieser Rubrik sonderlich hoch waere, aber
man muss es ja nicht noch auf das Niveau einer SoapOpera druecken. :)

  Thanx - Silvana

-----------------------------------------------------------------------------



Zweitiemarkierung (Boebbel,  8. Sep 1997, 02:18:50):

Hi!

Ich habe soeben meinen 2ti bei Fondil markiert, und was stelle ich fest?
Da fehlt ein capitalize()... *seufz*
Das sieht ja aetzend aus... ;) Kann man das noch korrigieren? :)

Ein Boebbel

-----------------------------------------------------------------------------



Salat (Bluemel,  8. Sep 1997, 19:32:45):
Es ist ja unheimlich witzig , wie sich hier wieder alle ueber das Wetter von
morgen aufregen !
Koennte man sich nicht mal darauf einigen, dass sich erst alle aufregen, wenn
wirklich eine Aenderung in Kraft getreten ist ?
Ich musste mich gerade durch 260 Artikel arbeiten, welche etwas den selben
Konsens haben:
Magier : Wir planen Teamkampf , Wie und warum ?
Spieler: Hilfe , jetzt werd ich gezwungen mit Anderen zusammenzuarbeiten und
bin dann garkein toller Held mehr !
Bluemel ( wartet auf Aenderungen , die ihm aber eigentlich egal sind )

-----------------------------------------------------------------------------



Re^9: Mitarbeit gewuenscht (Qitess,  8. Sep 1997, 19:44:57):
~#! rn=Teddy rt=873268240 rg=entwicklung
~#! tid=873197671
und ich will weiterhin so dilettantisch zwar aber immerhin noch ALLEINE
vernuenftig metzelnb koennen

QI**


-----------------------------------------------------------------------------



Re: Salat (Asmodis,  8. Sep 1997, 23:52:00):
~#! rn=Bluemel rt=873739965 rg=entwicklung
~#! tid=873739965
Schoen, wenn es dir egal ist, aber anderen vielleicht nicht.
Sobald der Teamkampf da ist, wird er bei Ablehnung ja doch
nicht wieder fallengelassen, deshalb muss man sich vorher
aufregen :)

-----------------------------------------------------------------------------



Re: Re: Salat (Caradhras,  9. Sep 1997, 02:12:52):
~#! rn=Asmodis rt=873755520 rg=entwicklung
~#! tid=873739965
Eben, siss wudd ai sai, tu.

Hier habe ich es auch schon erlebt, dass man etwas neues eingefuehrt
hat und dann, als sie die Spieler danach beschwert hatten, ganz
erstaunt gefragt hat, warum man denn nicht vorher was dagegen
gesagt haette. :-)
Vielleicht genau aus diesem Grund? Weil man erst mal abwarten wollte,
wie es sich am Ende ergibt? Und vielleicht hat einigen das Ergebnis
damals nicht so gepasst. Spieler sind vielleicht doch lernfaehig. :)

Lieber vorher etwas protestuieren als zu spaet, was dann nuescht
mehr nuetzt.

     tschuessle   *wink froehlich*

              Bergchen Caradhras

-----------------------------------------------------------------------------



Re^3: Salat (Cauno,  9. Sep 1997, 12:44:14):
~#! rn=Caradhras rt=873763972 rg=entwicklung
~#! tid=873739965
Grmblgrmblgrmbl.
Mir reichen langsam auch die Artikel von der Sorte: "Ich will aber alleine
kaempfen koennen".
Ich denke, wer alleine kaempfen will wird das wohl auch weiterhin tun koennen,
der Teamkampf soll sich doch wohl auf einige besondere Monster beschraenken,
oder?
Da heisst dann, dass ein paar monster, die explizit fuer den teamkampf
freigegeben sind, nur so zu killen sind (z.Bl. die Hydra).
Wer sich nicht in ein Team einfuegen lassen will (versteh ich auch nicht ganz)
muss eben zu den anderen Monstern gehen. Oder hab ich das schon wieder falsch
verstanden?

Sollten etwa besagte vorherige Artikel statt dessen lauten: `Ich will aber
ALLE Monster ALLEINE besiegen koennen', dann vergesst den Artikel wieder - und
am besten auch alles andere.

C. No

-----------------------------------------------------------------------------



Re^4: Salat (Key,  9. Sep 1997, 12:46:49):
~#! rn=Cauno rt=873801854 rg=entwicklung
~#! tid=873739965
Ich hab was dagegen das die einzelkaempfer abgewertet werden wenn es Teamkampf
geben soll.

Key

-----------------------------------------------------------------------------



Re^4: Salat (Boing,  9. Sep 1997, 12:48:22):
~#! rn=Cauno rt=873801854 rg=entwicklung
~#! tid=873739965
Also ich hatte das eigentlich auch so verstanden. Wer alleine kaempfen will,
soll das tun, er soll sich aber nicht beschweren, wenn er die harten Monster
nicht alleine packt (das gilt eigentlich jetzt schon). Diese Panikmache,
die hier betrieben wird (wenn man keine Meise mehr alleine toeten kann),
kann ich nicht verstehen.
  Boing

-----------------------------------------------------------------------------



Re^5: Salat (Key,  9. Sep 1997, 12:50:24):
~#! rn=Boing rt=873802102 rg=entwicklung
~#! tid=873739965
Hmm ...
Stand in Silvanas Artikel nicht: Der Teamkampf wird zur Folge haben das die
Einzelkaempfer abgewertet werden muessen. ? Naja oder so aehnlich ;)

Es wird sich keiner beschweren das man nach der einfuehrug des Teamkampfes
immernoch nicht die megamonster alleine schafft, warum auch? Zusammen macht es
viel mehr Spass.
Aber nurnoch Teamkampf wird auch nix ...

Key

-----------------------------------------------------------------------------



Re^8: Kampfkraft (Catweazle,  9. Sep 1997, 13:18:25):
~#! rn=Silvana rt=873651501 rg=entwicklung
~#! tid=873471912
Guggug!

Die Geruechtekueche ist allerdings allerdings interessant, allerdings 
wenig erbaulich.

Es waere vernuenftig, wenn die Erzmagier endlich mal die geplanten Tatsachen
auf den Tisch legen wuerden. Vage Andeutungen wie, 'am Tanksystem wird etwas
geandert' fuehren nunmal zu solch groben Ideen und Vermutungen wie die von 
Asmodis und anderen seltsamen Nachfolgeartikeln.

Da ich ausserdem glaube zu wissen, was und _wie_ geandert werden soll, halte 
ich es fuer notwendig das auch vorher anzukuendigen, das _ist_ naemlich
eine enorm einschneidende Aenderung am Kampfsystem (ich schaetze mal, das 
daher auch die 'Einzelkaempfer stehen bald schlechter da"-Artikel ...
aehnlich vage uebrigend). 

Falls ich falschliegen sollte, bittesehr, aber ich denke es istuns allen 
dienlich, wenn endlich mal _konkrete_ Tatsachen veroeffentlich werden.

Yours truly,
     Catweazle

-----------------------------------------------------------------------------



Re^5: Salat (Silvana,  9. Sep 1997, 18:38:21):
~#! rn=Key rt=873802009 rg=entwicklung
~#! tid=873739965
*sigh*
Um es noch einmal deutlich zu sagen:
Die Konzeptaenderungen (ich spielte da vor allem auf die Kneipen an), die zu
Abwertung der Kampfkraft des Einzelnen fuehren, kommen in jedem Fall. Ob
Teamkampf kommt oder nicht, haengt ziemlich stark davon ab, ob wir genug
brauchbare Ideen zusammenbekommen. So wie derzeit
gemeckert wird, wird es wohl eher nur die 'Abwertung' geben...

  Silvana - klarstellend

-----------------------------------------------------------------------------



Re^6: Salat (Asmodis, 10. Sep 1997, 03:38:30):
~#! rn=Silvana rt=873823101 rg=entwicklung
~#! tid=873739965
Da fehlt dann nur noch das 'Warum' :)
Also: Warum soll denn das Tanksystem geaendert werden ? So wie
es ist, wird es doch von allen Spielern akzeptiert.
Oder ist das nur wieder ein Schlag gegen die Wegescripter ??

-----------------------------------------------------------------------------



Re^7: Salat (Li, 10. Sep 1997, 08:47:18):
~#! rn=Asmodis rt=873855510 rg=entwicklung
~#! tid=873739965
Hmm, Silvana vergiss nicht: Es sind immer ein paar, die massig meckern,
waehrend die Menge, der es egal ist oder die es gut finden, schweigen.
Und es soltle doch klar sein, dass selbst auf Geruechte hin die Leute meckern,
weil sie Angst haben, ihr liebes. altes MUD koennte sich veraendern.
Also, steck den Frust weg und blastelt weiter an dem Konzept des Teamkampfes.
Und an alle Meckerer: Hat irgend jemand gesagt, dass man nach der Einfuehrung
des Teamkampfes nicht mehr alleine metzeln kann?
Es war nur von einer Abwertung die Rede, und nun schreit nicht alle, nur weil
ihr das wort abwertung hoert, ohne das klar ist, was und wie viel abgewertet
wird... 
Li

-----------------------------------------------------------------------------



Re^8: Salat (Key, 10. Sep 1997, 12:26:42):
~#! rn=Li rt=873874038 rg=entwicklung
~#! tid=873739965
Wenn endlich mal wer was genaues sagt koennte ich mir vorstellen das sich das
gemecker legt.

Aber irgendwie ueberlesen einige Leute ja sehr gerne und immer diese
Aufforderung mal was zu sagen!

Key

-----------------------------------------------------------------------------



Noch mehr Salat (Bluemel, 10. Sep 1997, 12:33:14):
Genau das was Li schreibt, meinte ich auch !
Ausserdem , ist glaube ich eine Abwertung von allen keine Abwertung mehr,
sondern eine Anpassung ?!
Alles ist relativ ( naja fast alles )
Bluemel

-----------------------------------------------------------------------------



Re^9: Salat (Rochus, 10. Sep 1997, 13:34:22):
~#! rn=Key rt=873887202 rg=entwicklung
~#! tid=873739965
Bevor wir etwas genaueres sagen koennen, muessen wir
erst mal selber wissen was genau wir einbauen wollen.
Klingt doch irgendwie logisch, oder? :-)

  Rochus

-----------------------------------------------------------------------------



Re^10: Salat (Orktoeter, 10. Sep 1997, 13:59:45):
~#! rn=Rochus rt=873891262 rg=entwicklung
~#! tid=873739965
Tja, ich weiss ja nicht.
Wenn man Rochus Artikel liest, meint man, das noch alles offen ist, wenige
artikel vorher schreibt Silvana, das das neue Konzept auf jeden Fall kommt
(und kann es sich nicht verkneifen, noch einen Seitenhieb gegen die Kritiker
zu fuehren).
Wenn ich mich recht entsinne, stand in dem allerersten Artikel zu der Ganzen
Sache, das ein Teamkampf eingefuehrt werden soll und das deswegen die
einzelnen Spieler in ihrer Kampfkraft reduziert werden sollen.
Ich habe bis jetzt noch nicht einen Artikel gelesen, in dem das klar gestellt
worden waere, das diese einschraenkung eben nicht ursaechlich mit dem
Teamkampf zusammenhaengt. (man kann ((und tut das ja auch)) auch heute schon
zu mehreren gegen NPC vorgehen, es gibt ja quasi schon so etwas wie Gruppen,
nur das man sich halt nicht so optimal abstimmen kann. Daher sehe ich auch
nicht ein, warum Teamkampf eine Abwertung der einzelnen Spieler erfordern
sollte, zumal bei quadratischem anstieg der Kampfkraft, ein einzelner Spieler
mehr in der Gruppe VIEL effektiver ist, der wuerde eine reduzierung der
Kampfkraft des einzelnen mehr als ausgleichen. Daher denke ich, das eine
Begrenzung der Teamkampfstaerke nur als faeture des Teamkampfs eingebaut
werden kann. Dabei geben ich aber zu bedenken, das man (wie oben schon gesagt)
ja auch heute schon zu mehreren gegen einen NPC vorgehen kann, d.h. wenn der
Teamkampf abgeschwaecht wird, wird man lieber einfach als Gruppe, nicht als
spezielles team metzeln gehen.)

Noch mal zu dem Artikel von Silvana :
Wenn ich mich recht entsinne, gab es erst vor wenigen Monaten eine
Entscheidung "von oben", die zu ziemlichen Stress und langen Diskussionen
gefuehrt hatte. Als Ergebniss kam meines wissens nach heraus, das wichtige
neuerungen vorher, d.h. bevor entschieden ist, das sie kommen, zur Diskussion
gestellt werden. Das ist ja wohl offensichtlich mal wieder nicht geschehen.

OrkT.
PS Ich wuerde auch gerne mal was naeheres zu all den geplanten neuen sachen
erfahren, damit ich gezielt kritik ueben kann, denn wenn man nur sagt wir
machen die Kneipen schlechter und wir machen den Einzelnen schlechter, kann
ich nicht mehr als erst mal generell kritik daran zu ueben. So etwas dann als
ewiges gemosere und nicht bereitschaft zu reformen zu bezeichnen finde ich
ziemlich daneben.

-----------------------------------------------------------------------------



Re^11: Salat (Wurzel, 10. Sep 1997, 18:08:59):
~#! rn=Orktoeter rt=873892785 rg=entwicklung
~#! tid=873739965
ich mag jetzt nicht die ganze rubrik nochmal durchscannen, aber ich habe
definitiv gelesen, dass die abwertung so oder so kommt, ob nun teamkampf 
eingefuehrt wird oder nicht. hat also nichts damit zu tun, sondern wohl
eher mit der ausufernden ruestungsspirale.
zum tanken: alkohol ist (bei aeusserlicher anwendung) durchaus manchmal
sinnvoll bei verletzungen. von einer heilwirkung, wenn man ihn trinkt, vor
allem in solchen mengen, ist mir eigentlich nichts bekannt... eine reform
faende ich an dieser stelle ausgesprochen sinnvoll. es sollte aber dann
alternativen geben, damit man nicht staendig verletzungen abideln muss.
aerzte, krankenhaeuser, wunderheiler, heilsame quellen und kraeuter, auch
ggf. priester mit heilzaubern... ideen gibts in unmengen. schnaepse oder
knoblauchwaesser haben bestimmt ihren eigenen platz, aber nicht zum zweck
der heilung (das ist eh nur aus der historie zu verstehen).

wurzel

-----------------------------------------------------------------------------



Re^12: Salat (Ivo, 10. Sep 1997, 18:19:05):
~#! rn=Wurzel rt=873907739 rg=entwicklung
~#! tid=873739965
Hallo Magier,

Bedenkt bitte bei euren Aenderungen, dass ihr einer Gilde die komplette
Daseinsberechtigung entzieht. Wenn man als Bierschuettler nichts mehr mit
bspendiere, rkaufe, nuechtern, rkaufe, freibier etc. nichts mehr anfangen
kann, was soll dann aus dieser Gilde werden ?

Ivo ist Bierschuettler aus Ueberzeugung und mag jetzt keine Gildendiskussion
anfangen.

-----------------------------------------------------------------------------



Re^13: Salat (Silvana, 10. Sep 1997, 18:22:01):
~#! rn=Ivo rt=873908345 rg=entwicklung
~#! tid=873739965
Niemand hat gesagt, dass das Tanken _ganz_ abgeschafft wird. Aber
Du hast schon Recht: nach der Umsetzung sollte Para sich die Gilde 
noch mal wegen der Balance ansehen. 
  Silvana

-----------------------------------------------------------------------------



Re^14: Salat (Hangover, 10. Sep 1997, 18:23:28):
~#! rn=Silvana rt=873908521 rg=entwicklung
~#! tid=873739965
Moin!

Auch auf die Gefahr hin jetzt als Noergler zu erscheinen, moechte
ich mal eine Frage stellen: WER WILL DAS ALLES?
Mich wuerde mal interessieren, was die Meinung der Spielerschaft
ist, wenn das Tank-/Heilsystem komplett geaenderet wird. Und
vielleicht sollte diese Meinung VOR einer Aenderung eingezogen
werden...

Just my two cents
-Hangover

-----------------------------------------------------------------------------



Re^15: Salat (Orktoeter, 10. Sep 1997, 18:27:10):
~#! rn=Hangover rt=873908608 rg=entwicklung
~#! tid=873739965
Vergiss es.
 Das scheint "die da oben" nicht zu Interessieren.

Ist zwar traurig, aber scheint leider so zu sein, sonst kaeme naemlich statt
immer nur "ihr noergler und weicheier" mal etwas, mit dem man sich
konstruktief auseinandersetzen koennte.

OrkT.

-----------------------------------------------------------------------------



Re^16: Salat (Silvana, 10. Sep 1997, 18:31:28):
~#! rn=Orktoeter rt=873908830 rg=entwicklung
~#! tid=873739965
Eigentlich wollte ich grad ankuendigen, naechste Woche (da hab ich mehr
Zeit) mal genauer zu beschreiben, was mit den Pubs passieren soll. 
Mal sehen, ob ich bis dahin wieder Lust dazu habe - die ist mir bei
Orktoeters Artikel naemlich eben wieder vergangen...

  Silvana

-----------------------------------------------------------------------------



Re^17: Salat (Wurzel, 10. Sep 1997, 18:34:17):
~#! rn=Silvana rt=873909088 rg=entwicklung
~#! tid=873739965
lass dich doch von den eifrigen zeitungsschreibern nicht beeindrucken...
weiter oben irgendwo steht ein artikel, der genau meine meinung wiedergibt:
es gibt eine (schweigende) mehrheit von leuten, die die aenderungen
akzeptieren
und mittragen. fuer die lohnt es sich was zu machen.

wurzel

-----------------------------------------------------------------------------



gemeinsame mpa/mail (Orktoeter, 10. Sep 1997, 18:35:17):
War ja schon frueher mal vorgeschlagen worden, das alle inder Familie eine
gemeinsame mpa haben koennten. Das wurde frueher mit dem Argument abgelehnt,
das es nicht moeglich sei, einen zweiti einem bestimmten erstie zuzuordnen. Da
es aber ja jetzt die Kennzeichnung mit dem Erstienamen gibt, sollte es doch
jetzt machbar sein.
Ist es interessant auch die Mail der anderen Familienitglieder lesen zu
koennen ? 

OrkT.

-----------------------------------------------------------------------------



Re^17: Salat (Orktoeter, 10. Sep 1997, 18:36:52):
~#! rn=Silvana rt=873909088 rg=entwicklung
~#! tid=873739965
Hm danke Silvana, haette nicht Gedacht, das ich so wichtig sei, bislang bin
ich naemlich nur gefrustet.

OrkT, der einen evtl aufflammenden Flame lieber per teile mit vortsetzen
wuerde (wenn noetig).

-----------------------------------------------------------------------------



Re^12: Salat (Key, 10. Sep 1997, 18:39:24):
~#! rn=Wurzel rt=873907739 rg=entwicklung
~#! tid=873739965
Wurzel .... bring mal ein "echtes" Argument ...
Das was du naemlich sagst ist mal wieder, was rl so ist muss auch hier so sein
...
Wir ind hier NICHT Rl ...
Ausserdem kommt auch oft genug genau das umgekehrte aus Magiermund ...

Vielleicht sollte sich auch mal einige Mags den Unterschied zwischen RL und VL
klar machen ... haben wohl immernoch nicht alle klar vor Augen das es den
gibt.

Key

-----------------------------------------------------------------------------



Re^18: Salat (Orktoeter, 10. Sep 1997, 18:40:08):
~#! rn=Wurzel rt=873909257 rg=entwicklung
~#! tid=873739965
Findest du es nicht zu einfach zu sagen, wer sich nicht beschwert ist dafuer ?
Alle die sich beschweren werden von "euch da oben" als querulanten beschimpft,
das ist fuer mich eine Form des unter druck setzens. Wer sich das gefallen
laesst und sich nicht beschwert, den vereinnamhst du dann fuer deine Seite ? 
Interessante Methode...

OrkT, laesst sich notfalls auch mal als jemand Titulieren, der noergelt, wenn
man ihm nicht mal gelegenheit gibt, sich ueber etwas konkretes gedanken zu
machen.

-----------------------------------------------------------------------------



Re^18: Salat (Anatol, 10. Sep 1997, 18:51:12):
~#! rn=Wurzel rt=873909257 rg=entwicklung
~#! tid=873739965
Es gibt mit Sicherheit eine schweigende Mehrheit, Wurzel. Aber ich wuerde 
nicht soweit gehen, und sie als "Leute, die die Aenderungen akzeptieren 
und mittragen" bezeichnen, denn ich vermute in diesem grossen Spieleranteil
Meinungen und Haltungen _aller_ Richtungen - Sowohl die, die wirklich alles
akzeptieren, weil sie auf das MG auf Gedeih und Verderb angewiesen sind, 
als auch die, die um ihren Spielspass fuerchten und versuchen, etwas 
dagegen zu tun, bevor es zu spaet zu sein scheint. Ja, auch die, die das
MG einfach nicht mehr aufsuchen werden, wenn es ihnen zuviel Aerger 
macht, wird es unter den Schweigenden geben.

Und sieh' es bitte mal aus Spielersicht: Im Moment haeufen sich die
verschiedensten Geruechte (Balance, Polizei, Zweities, Blafasel...), in
den Erzmagierraengen herrscht soviel Bewegung wie im ganzen letzten Jahr
nicht - Man kann die Spieler bitten, Ruhe zu bewahren, konstruktiv mit-
zuarbeiten. Aber Enttaeuschung ueber mangelnde Kooperation der Spieler
oder ueber das Ausbrechen einer mittleren Panik halte ich dann doch 
fuer fehl am Platze.

Verstaendnis hat noch nie so richtig geschadet.
Das gilt allerdings auch fuer Spieler...

Anatol


-----------------------------------------------------------------------------



Re^15: Salat (Kartoffel, 10. Sep 1997, 21:09:10):
~#! rn=Hangover rt=873908608 rg=entwicklung
~#! tid=873739965
Wie waer's mit ner Wahl aehnlich wie bei der 'Erzie-Deines-Vertrauens'-Wahl,
um mal die allgemeine STimmung zu testen?

Kartoffel

-----------------------------------------------------------------------------



Re^16: Salat (Nicolai, 10. Sep 1997, 21:10:55):
~#! rn=Kartoffel rt=873918550 rg=entwicklung
~#! tid=873739965
Waere eine gute Idee... vielleicht stellen dann gewisse Magier mal fest, dass
die Mehrheit gegen gewisse Aenderungen ist.
Vielleicht aendern diejenigen Magier dann auch ihr Verhalten den Spielern
gegenueber, die sich in der Zeitung beschweren, weil sie sich von den Magiern
verarscht vorkommen.

-- Nicolai Romanov
Kritiker von Beruf

-----------------------------------------------------------------------------



Re^17: Salat (Rochus, 10. Sep 1997, 21:28:46):
~#! rn=Nicolai rt=873918655 rg=entwicklung
~#! tid=873739965
Vielleicht stellen gewisse Magier auch eines Tages fest, dass es am
stressfreiesten ist, die Zeitung abzubestellen, die Ebenen auszuschalten,
Oropax einzuschalten und das Gejammer zu ignorieren.
Daran kann man naemlich nicht erkennen wofuer die Mehrheit ist.
Nach meiner leidvollen Erfahrung melden sich eigentlich IMMER nur
die Jammerlappen, sobald irgendwie auch nur ansatzweise das Geruecht
einer Vermutung aufkommt, man koennte ja vielleicht leicht schwaecher werden.
Wenn man sich das anhoert, vergeht einem jede Lust, am Mud noch
irgend etwas verbessern zu wollen.
Ich glaube das werde ich bald machen - Gejammer ignorieren und nur noch
auf die Meinung von Spielern hoeren, von denen ich weiss das sie
realistische Erwartungen an ihre Staerke haben. Ansonsten vergeht
mir naemlich bald der letzte Rest Motivation.

  Rochus

-----------------------------------------------------------------------------



Re^18: Salat (Nicolai, 10. Sep 1997, 21:34:16):
~#! rn=Rochus rt=873919726 rg=entwicklung
~#! tid=873739965
Hmmm, ich glaube du hast einfach nicht verstanden... vielleicht 'jammern' ja
so viele Spieler _gerade weil_ jegliche Kommentare als Gejammer bezeichnet und
ignoriert werden, und weil so gut wie keiner der Magier es noch fuer noetig
haelt, mal _ansatzweise_ Informationen rueberzureichen, was geplant ist.
Ist das Mud denn fuer die Spieler oder fuer die Magier gedacht ?
Meiner Meinung nach in erster Linie fuer die Spieler. Aber was manche von euch
Magiern da macht, ist definitiv nur _gegen_ die Spieler gerichtet, gewollt
oder ungewollt sei mal dahingestellt. Ich finde, nur in einem Mud, in dem die
Magier mit den Spielern ihre Ideen austauschen und Meinungen auch mal
anhoeren, kann es noch vernuenftigen Spielspass geben.
Aber durch das momentane Verhalten, wo ich auch Deinen Artikel mit dazuzaehle,
kann es nicht mehr lange dauern, bis dieses Mud nur noch aus Magiern besteht,
weil es fuer die Spieler einfach total uninteressant geworden ist.

Taragon.
-- Hat keinen Bock mehr und ist nur noch mit Zeitunglese-Zweitie da.

-----------------------------------------------------------------------------



Re^19: Salat (Rochus, 10. Sep 1997, 21:53:44):
~#! rn=Nicolai rt=873920056 rg=entwicklung
~#! tid=873739965
Abschwaechungen von Spielern sind nicht unbedingt GEGEN die Spieler
gerichtet. Sie sind ein Mittel, die Ruestungsspirale wenigstens
etwas wieder zurueckzudrehen, die bewirkt hat, dass man als Spieler
mit fast keinem Monster noch Probleme hat weil man die
Super-Mega-Waffe mit der man es schaffen kann jederzeit problemlos
bekommen kann (uebrigens, die Aenderung mit dem VS war so gedacht,
dass ich eine groessere Vielfalt an "interessanten" in der Anzahl
beschraenkten Waffen von Para genehmigt bekomme...)
Somit geht auf die Dauer beim spielen die Motivation verloren
(ist ja alles so einfach, dass man es praktisch automatisch machen kann)
und DAS IST ES, was wir letztendlich mit Abschwaechungen
bekaempfen wollen.
Da eine Abschwaechung aber grundsaetzlich auf Widerstand stoesst,
MUESSEN wir Widerstand vernachlaessigen, um langfristig wieder
fuer langanhaltenen Spielspass zu sorgen.
Das Problem das ich (und die anderen EM wahrscheinlich auch) haben ist,
aus all der Kritik vom Typ "Ich werde dann ja schwaecher, das will
ich aber nicht!" die herauszusortieren, die wirklich konstruktiv ist
und uns sagt, wo wir bei einer vorgeschlagenen Aenderung WIRKLICH
zu weit gehen (oder nicht weit genug, aber das sagt ja keiner).
Ich hoffe ich habe mich verstaendlich ausgedrueckt.

  Rochus

-----------------------------------------------------------------------------



Re^19: Salat (Bendeigid, 10. Sep 1997, 21:54:31):
~#! rn=Nicolai rt=873920056 rg=entwicklung
~#! tid=873739965
Hm, ich glaub ich sach auch mal was dazu... kann laenger werden.

Also, es gibt da so einige Punkte, den entweder einige ganz gern uebersehen
oder einfach nicht wahrhaben wollen. 
a) Rochus hat voellig recht, es scheint sich am besten zu leben OHNE die MPA
zu lesen. Irgendwie ist das ein kleiner Kreis von vielleicht 20 Spielern, die
hier staendig ihren Senf in recht undurchdachter und zumeist unqualifizierter
Form abgeben. Die Namen kennt man mittlerweile, und das, was sie an Kritik zu
bieten haben auch. Welche Schluesse lassen sich daraus ziehen? Entweder kotzt
die uebrigen Zeitungsleser das alles an, darum sagen sie nichts, oder sie
haben ein gewisses einsehn und sagen darum nix, sondern warten erstmal ab, was
nun rauskommt. MIR machts jedenfalls keinen Spass, eine Diskussion zu fuehren,
wo es hauptsaechlich darum geht, dass jeder mir seine Privilegien vortraegt
und darauf besteht, dass die auf keinen Fall bei einer Aenderung angetastet
werden. BAEH!
b) Ich weiss nicht, wie die o.a. Vielschreiber es sehen, aber wir Magier
muessen AUCH an die ganz neuen Spieler denken. Wenn eine neue Gilde geplant
wird oder die Sprueche in ihrer Qualitaet festgelegt werden, dann geht es auch
darum, sich einen kleinen Spieler vorzustellen, der das MG nicht so perfekt
kennt wie die alten Hasen, der aber dennoch spielen will. So, und dann frag
ich mal rum: wie viele Monster sind denn so fuer den Normalanfaenger ohne
Topruestung etc. killbar? Was ausser HE und dem Dschungelgebiet, den paar
Karnickel auf der Heide oder Bienen ist denn ueberhaupt killbar? Fuer alles
weiter muss man sich aber schon ganz gut umschauen, um ueberhaupt irgendwo
spielen zu koennen. Ein leidiger Punkt hieran ist sicherlich das ZT-System,
das es erlaubt, seine (angeborene) Staerke insgesamt zu verzwanzigfachen. Plus
natuerlich das, was man an Waffenspezialitaeten dazubekommt....
Zardoz und Silvana erwaehnten, dass die absolute Kampfkraft innerhalb der
letzten zwei Jahre so dramatish gestiegen ist, dass die damals 'harten'
Monster heute ein besserer Witz sind. Zum Beispiel Steinbeisser,
Zwergenwaechter... Da besteht ein deutliches Ungleichgewicht zuungunsten der
Monster und damit auch schon laenger im Sinne von Spielspass. So wies ist wars
nie gedacht!
Langer Rede kurzer Sinn: Eine Absenkung der Kampfkraft kaeme einer Anpassung
an das nahe, was mal irgendwann vorgesehen war. Die Ruestungsspirela dreht
sich eben weiter.
c) Wie Rochus schon sagte, es macht erheblich mehr Spass, sich mit den paar
Leuten, die nicht gleich auf ein PS in einem Artikel wie bloed die MPA mit 100
Artikeln vollmuellen zu unterhalten und FUER ein stimmungsvolles MG zu
arbeiten als gegen die MIesmacher. 
d) Ich denke schon, dass es einen Grossteil der (garantiert nicht
Grossfamilien oder Megametzler...) Spieler, der echten Rollenspieler, sehr
interessiert, hier ein ausgewogeneres MUD zu haben. Ich hoere oft genug von
Mittelklassespielern, aber auch hohen Sehern, dass sie sich doch wohlfuehlen.
Und nicht nur weil sie es mal wieder in Rekordzeit geschafft haben, allein die
Hydra zu ueberrennen.
e) hoer ich besser auf, weils eh niemand interessiert.
Wie waers, wenn ihr eure Energie mal in sinnvolle Vorschlaege einbringt, die
nicht nur auf eigenen Vorteil ("Wehe hier kuerzt einer meine
Gildenfaehigkeiten") bedacht sind, sondern das Spiel an sich schoener machn.
Schnell megametzeln ist nicht alleiniges Ziel, eher Nebensache. 
Z'par Servu,
            Bendeigid

-----------------------------------------------------------------------------



Re^20: Salat (Nicolai, 10. Sep 1997, 21:55:57):
~#! rn=Rochus rt=873921224 rg=entwicklung
~#! tid=873739965
Okay, verstaendlich ausgedrueckt.

Taragon
-- kann ausser Kritik auch Zustimmung ueben.

P.S. Mein Artikel zielte nicht nur auf die Abschwaechung ;-)

-----------------------------------------------------------------------------



Re^21: Salat (Rochus, 10. Sep 1997, 21:56:41):
~#! rn=Nicolai rt=873921357 rg=entwicklung
~#! tid=873739965
Ich weiss, aber ich hatte nur bis 21:55 Zeit ihn zu beantworten :)

-----------------------------------------------------------------------------



Re^18: Salat (Denti, 11. Sep 1997, 00:03:03):
~#! rn=Wurzel rt=873909257 rg=entwicklung
~#! tid=873739965

Eine Idee waere doch, dass ihr ein detailliertes Konzept in die MPA
stellt, und dann per Wahlmaschine darueber abstimmen lasst, dann kann
die Spielerschaft mal zeigen, ob sie das will. Mehr als eine 
(hoffentlich zu beachtende) Meinung der waehlenden kann es nicht sein, 
aber ich denke, das ist schon mal was.

Denti

-----------------------------------------------------------------------------



Re^19: Salat (Felagund, 11. Sep 1997, 00:08:50):
~#! rn=Denti rt=873928983 rg=entwicklung
~#! tid=873739965
Wozu waehlen? Es ist doch nun schon millionenmal gesagt worden, dass im MUD
keine Demokratie herrscht. ICh hab wirklich in noch keinem MUD eine dermassene
rumjammer/mecker und -diskutiererei erlebt wie hier.
Es gibt mittlerweile genug MGclones, in die Unzufriedene abwandern koennen.
Diese haben dann zwar nicht die Qualitaet/Groesse des MG, aber darauf kommt es
den meisten Meckerern ja offensichtlich nicht so sehr an wie auf persoenliche
MAcht.

-----------------------------------------------------------------------------



Re^19: Salat (Hadra, 11. Sep 1997, 00:13:07):
~#! rn=Denti rt=873928983 rg=entwicklung
~#! tid=873739965
die idee an sich klingt ganz nett - hauptproblem koennte allerdings sein, dass
wahrscheinlich noch gar kein detailiertes konzept (in form von harten zahlen
etc.) vorliegt

es ist unglaublich schwierig genau auszuknoblen wie sich eine x-pronzetige
aenderung bei waffen/essen/trinken/ruestungen/monstern/spells/etc. nachher
tatsaechlich auf das spiel auswirkt, noch komplizierter wirds, wenn man an
mehreren stellen gleichzeitig dreht.

ich fuer meinen teil werde wohl mit einer aenderung leben koennen, wenn das
komzept tatsaechlich angekuendigt auf allen seiten greift (spieler und npcs)
und so wieder fuer eine vernuenftige verteilung von kampfkraft sorgt.

hadra - ist froh dass grimmborn im urlaub ist, damit nicht wieder eine 
         20 seiteige erklaerung zu dem was ich hier schreibe notwendig ist

-----------------------------------------------------------------------------



Re^20: Salat (Denti, 11. Sep 1997, 00:13:31):
~#! rn=Felagund rt=873929330 rg=entwicklung
~#! tid=873739965

Ich meinte kein waehlen im Sinn von abstimmen, sondern von Meinung 
abgeben. Der Sinn sollte sein, dass eben nicht nur die 20 Spieler, die 
permanent in die MPA posten zu gehoer kommen (obwohl die als erste an 
die Wahlmaschine rennen duerften) sonder auch ein Teil der sogenannten
schweigenden Mehrheit.
Das hat mit Demokratie noch nicht allzuviel zu tun. Mir ist auch klar, 
dass ein MUD keine Demokratie sein kann, aber es sollte fuer alle da 
sein, sowohl Magier als auch Spieler, und daher denke ich, dass man die
Meinung der Spieler vor einer deutlichen Aenderung des MGs vorher auf 
diese Weise erfragen kann.

Denti wird langsam muede

-----------------------------------------------------------------------------



Re^21: Salat (Dhojakt, 11. Sep 1997, 00:23:50):
~#! rn=Denti rt=873929611 rg=entwicklung
~#! tid=873739965
Hm, eine einigermaszen passende meinung zum besten zu geben ist schwierig. Man
kann sich naemlich echt an seine jetzige kampfkraft gewoehnen, einen munchkin
spielen und trotzdem spass haben, wenn man durchs MG rollt. Allerdings kann
ich auch noch sehen, dass das von magierseite nicht vollstaendig so gedacht
war und eine maszvolle (!) abwertung der ausuferung des jetzigen
verhaeltnisses etwas einhalt gebietet. Insgesamt schwierig, schwierig...
Erstmal abwarten, was passiert und dann vorsichtige bedenken aeussern (para
hat sie schon zu hoeren bekommen :) ).
Khidar.

-----------------------------------------------------------------------------



Re^16: Salat (Boing, 11. Sep 1997, 08:38:56):
~#! rn=Orktoeter rt=873908830 rg=entwicklung
~#! tid=873739965
Tut mir leid, Dir nicht folgen zu koennen, aber ich sehe eher bei Dir die
starke Tendenz dazu, Sachen die Dir nicht in den Kram passen, nach dem 
Lesen sofort zu vergessen. So kann man z.B. Wurzels Artikel durchaus als
konstruktiv ansehen. Vielleicht hast Du ihn auch nur nicht verstanden,
dann nehm ich das oben gesagte natuerlich zurueck.
  Boing

-----------------------------------------------------------------------------



Re^20: Salat (Gnome, 11. Sep 1997, 08:51:37):
~#! rn=Bendeigid rt=873921271 rg=entwicklung
~#! tid=873739965
ja bende, hast mir aus der seele gesprochen... (bis auf punkt e natuerlich)
vielleicht sollten wir einfach mal das allgemeine meckern abstellen und uns
auf das konzentrieren, was uns am herzen liegt: der reiz und der spielspass
des mg :-) das erreichen wir aber nur MIT den magiern und nicht gegen sie...
was nicht heissen soll, dass man keine gezielte, sachliche kritik ueben
darf... also:
spieler: meckern abstellen, konstruktiv mitarbeiten, erst denken dann reden!
magier: bissel mehr verstaendnis fuer spieler haben, auf meinungen hoeren,
        informationspolitik durchsichtiger machen!

so, und nun frisch ans werk :-)

gnOme

-----------------------------------------------------------------------------



Re^irgendwas: Salat (Tunixgut, 11. Sep 1997, 09:25:55):
Na ja, ich moechte euch MEINEN Salat nicht vorenthalten! ;o)
a) Ich bekenne mich zum noergeln! ;o)
b) Ich trage eine Absenkung der Spielerstaerke unbedingt mit...
   Ich sehe das naemlich auch so, dass die vielbeschriebene Ruestungsspirale
   viel zu sehr ueberdreht ist. Ich befuerchte allerdings, dass manche
   Monster, die man heute zu fuenft bis zehnt angreift, absolut aussa
   Reichweite geraten - das wollte ich mal angemerkt haben, auf dass es nicht
   vergessen wird.
c) Ich glaube hier sowas wie eine Mehrheit zu sehen, die die Aenderungen
   traegt, aber vielleicht unterhalte ich mich auch nur mit den falschen
   Leuten.
d) Reaktionen, wie "Ihr kotzt mich alle an, und setze meine Vorstellungen
   jetzt durch, ob es euch passt oder nicht" finde ich schlicht und
   ergreifend zum kotzen. Ich sehe hier zwar auch viele vollkommen
   ueberfluessige, weil extrem dumme, Kommentare, aber deshalb GANZ auf die
   Meinung der ja wohl hauptsaechlich Betroffenen zu verzichten, ist imho der
   falsche Weg!
e) Ich warte auf genaueres zur Umstellung der Kneipen - vorher muell ich die
   Mags NET zu... Und genau DAS wuenschte ich mir von anderen auch - ich
   hoffe nur, da KOMMT auch VORHER was genaues.
f) Ich faende eine Abstimmung per Wahlmaschine in dem Sinne schwachsinnig,
   weil imho ein "ja"-"nein" hier bei weitem nicht ausreichend ist.
   Diskussionen in der Zeitung halte ich da fuer sinnvoller!

's Karate-Zwerchle - muellt wieda mit...

-----------------------------------------------------------------------------



Re^12: Salat (Homm, 11. Sep 1997, 09:33:02):
~#! rn=Wurzel rt=873907739 rg=entwicklung
~#! tid=873739965
Priester mit Heilzaubern gibt es schon!

Einige schaffen es sogar bis zum Papst...:))

Wuerdevoll verneigend
Papst Homm

-----------------------------------------------------------------------------



Re^13: Salat (Cauno, 11. Sep 1997, 10:18:39):
~#! rn=Homm rt=873963182 rg=entwicklung
~#! tid=873739965
Argh! Nur einen Tag weg, und schon wieder 30 Artikel mehr in einer Rubrik.
Jetzt reichts mir, ich mische mich auch ein, hoffe dabei aber konstruktief(v)
zu sein ...

Ich geb am besten nacheinander meinen Senf ab: (Bezug: siehe letzte 30 Texte).

1. Thema enthaltende Mehrheit:
Da ich mich zu dieser schweigenden Mehrheit zaehle, (ausser in puiz erscheint
ja selten mal was von mir), hier die Gruende dafuer: Das meiste, was ich zum
jeweiligen Thema sagen wuerde, hat bereits vor mir jemand gesagt. Somit will
ich nicht, um den Stussgehalt der Zeitung anzuheben, nicht nochmal dasselbe
posten. (siehe oben genannte Artikelzahl). Um es deutlicher zu machen: Ich
GEGEN ein voelliges Abschaffen des Tanksystems, aber FUER eine revidierung der
bisherigen Kampfstaerken, vor allem dann, wenn die fuer die Balance
zustaendigen und kompetenten Leute sich positiv dazu aeussern! Somit sei
widerlegt, die schweigende Mehrheit sei fuer alles. (Auch wenn ich jetzt
wieder eine Minderheit darstelle bzw. angehoere).

2. Rollenspiel
Zu dem Thema (ist irgendwo in Bendeigids Artikel kurz erwaehnt worden), faellt
mir ein, wie ich zum ersten mal im MorgenGrauen war.
Drei Jahre ist es jetzt her. Damals hatte ich keinen blassen Schimmer vom
Rollenspiel, fuer mich war das ganze ein Riesen-Textadventure mit wirklich
interaktiven Figuren, Situationen und guten Raetseln. Rollenspieler (mit
Wuerfel und Tisch) bin ich aber erst seit einem Jahr.
Das soll genauer heissen: Es gibt von allem Leute hier (Binsenweisheit A), und
einige davon verstehen nicht, dass der andere nur 'eine Rolle' spielt. Auf der
anderen seite versteht der Rollenspieler nicht, wieso er staendig
missverstanden oder ernstgenommen wird. (Was fuer mich schon ein zeichen fuer
einen schlechten Rollenspieler ist, denn um gut zu sein, sollte man sich auch
in andere hineinversetzen koennen ...) Jedenfalls endet es meistens mit einem
Streit ueber die Kanaele oder in der Zeitung.
Das MUD ist nun aber mal von vielen verschiedenen Spielern besetzt, und sollte
daher auch fuer viele da sein. (Binsenweisheit B).

3. Balance
Ich finde es gut, dass sich hier einige Leute die Muehe machen, Waffen,
Ruestung, Sprueche auf Kampfkraft zu testen und gegebenenfalls zu korrigieren.
Nichts ist gefaehrlicher fuer ein Rollenspiel, als ein debalanciertes
Kampfsystem. Da sich das MUD weiterentwickelt, sehe ich keine Schwierigkeiten
dabei auch nachtraeglich mal etwas am System zu feilen, im Gegenteil, manchmal
muss es sogar sein.
Ein Problem ist allerdings, dass sich zwar einige diese Muehe machen, jedoch
andere, die es entweder nicht verstehen (schlimm), oder die es gar nicht
interessiert (noch schlimmer) dann doch dagegen verstossen. Ich weiss gar
nicht, wer nun die Mehrheit oder die Minderheit ist, aber wie immer, der
Fehler von einem faellt auf viele andere zurueck. Baut einer Scheisse, wird
gleich die ganze Gruppe ausgebuht. Stellt euch mal ein Ensemble vor, bei dem
ein Geiger die falsche Saite erwischt .... (Binsenweisheit C?)

4. Demokratie
Wie oft wurde schon gesagt: Demokratie funktioniert nicht?
Auch wenn wir hier keine RL-Demokratie haben (ist auch schwer realisierbar),
heisst das nicht, dass man hier nicht waehlen oder abstimmen darf.
Schliesslich hat die Wahl des Erzmagiers des Vertrauens auch geklappt. Oder
wollt ihr sowas VERBIETEN, weil wir keine Demokratie haben? (Ein
Schwachsinniger Satz, ich weiss). Ich verstehe deswegen die Kommentare gegen
das Waehlen nicht. Soll doch abgestimmt werden. Wenn es nicht demokratisch
gemacht wird, kommen wir vielleicht sogar zu einem Ergebnis.

5. Real Life
Nun ja, es ist klar, das hier ist ein Spiel, und nicht das wahre Leben. Darauf
wurde schon so oft hingewiesen, dass jetzt sicher wieder einige aufstoehnen.
RL laesst sich nun einmal nicht umsetzen und wenn, dann waere es nicht mehr
spielbar. Davon abgesehen, ist vieles von dem, was ihr im RL macht sicher auch
nicht immer das richtige. (Beispiel: s.o. Alkohol zum Versorgen eines
Verletzten verwenden. Wurzel, wann war dein letzter Erste-Hilfe-Kurs?
Hoffentlich findet micht nicht so einer, wenn ich mal hilfe brauche!)
Nochmal, zum n-tausendsten mal: das hier ist ein Spiel und soll auch eines
bleiben. Waere es das echte leben, wuerde wohl keiner kommen.

(Uff, ist das lang geworden) Ich hoffe, das wurde immerhin bis hier gelesen,
und auch verstanden und behalten. wenn nicht - wozu hab ich diesen satz grad
geschrieben?

C. No

-----------------------------------------------------------------------------



Re^20: Salat (Catweazle, 11. Sep 1997, 11:23:58):
~#! rn=Felagund rt=873929330 rg=entwicklung
~#! tid=873739965
Hm, andererseits, warum denn eigentlich nicht.
Ich faende es zumindestens mal _interessant_ zu OB es tatsaechlich eine 
schweigende Mehrheit gibt, und dann, ob sie fuer oder gegen so eine 
Aenderung ist. 
Abgesehen vom Ausgang einer solchen 'Wahl' hatte man wenigstens mal 
gesehen, ob sich tatsaechlich mehr als nur '20 noergelnde Spieler' fuer 
die Entwicklung des MorgenGrauen interessieren...

YTC

-----------------------------------------------------------------------------



Re^17: Salat (Asmodis, 11. Sep 1997, 12:08:27):
~#! rn=Silvana rt=873909088 rg=entwicklung
~#! tid=873739965
Also hatte Orkt* wohl recht :)

-----------------------------------------------------------------------------



Re^20: Salat (Asmodis, 11. Sep 1997, 12:20:31):
~#! rn=Bendeigid rt=873921271 rg=entwicklung
~#! tid=873739965
Du hast da einen Punkt vergessen: Vielleicht wissen die 'stillen'
Zeitungsleser, dass es ja doch nix bringt, hier seine Meinung
kundzutun, und schreiben deshalb keine Artikel.
Ich waere auch mal froh, wenn endlich mal klar dargestellt wird,
inwiefern die Abwertung im Kampf und die Aenderung im Kneipen-
syetem aussehen soll, ansonsten koennt ihr eure vagen Andeutungen
auch lassen, wenn euch unsere Meinung eh nicht interessiert ...

-----------------------------------------------------------------------------



Re^21: Salat (Li, 11. Sep 1997, 12:30:06):
~#! rn=Asmodis rt=873973231 rg=entwicklung
~#! tid=873739965
Natuerlich interessiert uns eure Meinung, aber wie sollen wir etwas klar
darstellen, von dem erst nur ein paar Gedanken stehen?
Es wurde gesagt, Teamsystem, bitte vorschlaege und das das wahrscheinlich eine
abschwaechung der Kampfkraft bedeuten wird.
Also ueberlegt doch mal, mailt Zardoz und Silvana, die werden ein Konzept
erstellen, es hier vorstellen, und dann koennt ihr kritisieren/loben.
Aber im Moment geht dieses Geflame den beiden ziemlich auf den Senkel, vor
allen Dingen, da es im Moment absolut nix bringt (und zwar nicht, weil alle
Magier verbohrt sind...)
Schreibt doch in euren mails, was ihr beim teamkampf haben wollt und was ihr
dabei nicht habe wollte, dem steht doch nix im Wege!
Natuerlich solltet ihr euch darueber im klaren sein, dass mails wie: alle
macht mir keine abwertung ich will doppelt so gut sein, einfach unfruchtbare
grundlagen sind, und damit ignoriert werden (muessen)
Also
Li

-----------------------------------------------------------------------------



Re^21: Salat (Catweazle, 11. Sep 1997, 12:33:27):
~#! rn=Asmodis rt=873973231 rg=entwicklung
~#! tid=873739965
Moin!

Dein Artikel ist mal wieder (wie ueblich) voll daneben.
Lies die 307 Artikel noch mal durch und sag mir einen Artikel, in 
dem klipp und klar drinsteht, das die Erzmagier die Meinung der Spieler
nicht interessiert. 
Die 'vagen' Andeutung resultieren aus einem winzigen, kleinen, eigentlich
voellig unbedeutenden und in seiner Wirkung nicht so beabsichtigetem PS:
von Silvana. Der ganze restliche Laerm in dieser Rubrik resultiert aus
Geruechten und wilden Vermutungen, die von Spielerseite (ein ganzer Haufen
von Dir selbst Asmodis) eingeworfen und dann angeklagt wurden. Tatsaechlich
bestehen fast alle dieser 300 Artikel aus Schall und Rauch, weil bisher
noch ueberhaupt nichts relevantes oder grundlegendes veroeffentlich wurde,
ueber das mn reden koennte.
Schlussendlich solltest Du Dir vielleicht mal ins Gehirn stroemen lassen,
dass ein ordentliches Konzept erst mal entworfen und dann auch noch 
vernuenftig zu Papier gebracht werden muss, bevor man darueber reden kann.
Also hoer auf das, was man Dir sagte (bzw. schreibt), naemlich das es 
naechste Woche ein solches Konzept geben wird und warte gefaelligst ab, 
anstatt diese Ankuendigung gleich wieder in der Luft zu zerreissen.

Yours truly,
     Catweazle

-----------------------------------------------------------------------------



Re^1000 oder so: Salat (Asmodis, 11. Sep 1997, 12:43:00):
Ich muss mal dazu sagen, dass die ganze Diskussion noch durch bestimmte
Magier angestachelt wurde, die 'Ach lasst mich doch in Ruhe mit eurer
Jammerei, jetzt hab ich keine Lust mehr.' oder so aehnlich zu Besten
gaben. 

So, dass lass ich jetzt einfach mal im Raum (bzw. in der MPA) stehen.

-----------------------------------------------------------------------------



Re^19: Salat (Grimmborn, 11. Sep 1997, 12:52:58):
~#! rn=Orktoeter rt=873909608 rg=entwicklung
~#! tid=873739965
So langsam wissen wirs.
Ja, Orktoeter, Du bist ein Verfechter des Kondervativen Ansatzes, alles soll
so bleiben wie es ist, hoechstens ein paar neue (bessere!) Waffen und ein paar
Monster (nicht zu starke!) duerfen dazukommen, ansonsten soll alles so bleiben
wies ist. Jede Veraenderung ist von Uebel und gehoert in ein anderes mud, aber
nicht in das MorgenGrauen. Das war bei der Einfuehrung der (sinnvollen) FP und
der (dringend noetigen) Umstellung des Levelsystems so, das ist jetzt bei den
unausgegorenen Geruechten so, das war bei allem dazwischen so und wird wohl
auch immer so bleiben.
Das ist aber kein Grund, das alle 2 Tage in einem Artikel zu manifestieren.
Vielleicht koennten wir einen deal machen? Deine Einstellung wird in die
login-Meldung aufgenommen, dafuer ersparst Du Dir (und uns) Deine staendig
wiederkehrenden Artikel.
Und nein, die Artikel sind nicht konstruktiv, wenn da als einziger
rausfilterbarer Inhalt "Bloss nix aendern!" drinsteht...

Grimmbornd er Atheist

-----------------------------------------------------------------------------



Re^20: Salat (Rantanplan, 11. Sep 1997, 14:58:07):
~#! rn=Grimmborn rt=873975178 rg=entwicklung
~#! tid=873739965
Schubidu !

Ich fuer meinen Teil gehoere zu einer Minderheit, die seit langem nicht mehr
spielt.

Ich hab mich in meiner Laufzeit in vier Muds zum Mag aufgeschwungen und in
einem bin ich sogar gebanished worden ;-)))

Insofern gehoere ich zu den chit-chattern (Wahlweise darf das erste c durch
ein
s ersetzt werden, die das Kampfsystem so viel interessiert wie beispielsweise
der Duenndarmabzess von Dodi Lafayette (Na ja, DEM ist das ja jetzt auch egal)

Aber ich hab auch das Gefuehl Magier inbes. die in dieser Rubrik besitzen
eine streng selektive Wahrnemung.

Ein Artikel wir folgendermassen gelesen...

a.) Autor (fuehrt erstmal zu euner Vorverurteilung z.B. Orktoeter jammert)
b.) Schlagwoerter (find ich nich gut, Demokratie, Erzmagier, etc...)
Fuehrt zu der Standardantwort frei nach dem alten chinesischen Motto:

Ey, Du Arsch !

(Nur meisstens hoeflicher formuliert)
 
Aber egal, was mir am Herzen liegt ist:

Aenderungen sollten nicht dazu fuehren, dass ein Anfaenger Probleme hat,
einen gewissen Ueberblick zu bekommen und sobald er P.V. verlaesst an einem
Monster zu sterben, dass ein Turboueberseher weghusten wuerde.

Also Balance ist wichtig, das sehe ich ein, aber hoffentlich nicht auf 
Kosten der vermeintlich schwachen, sondern nur die behindern, die es betrifft
und das sind meiner Meinung nach 20 Seher, die alles und jeden wegnieten
wie nix...

Oe*

-----------------------------------------------------------------------------



zweities, anderes Konzeot, eine Idee (Orktoeter, 11. Sep 1997, 15:00:53):
Da ja einige Leute sich geaussert haben, das sie verschiedene Charactere
spielen, diese aber so verschieden anlegen, das sie nicht einen zum Zweiti des
anderen machen wollen, hier ein Vorschlag, der hoffentlich machbar ist und
allen/m gerecht wird.

Die "Zweitikontrolle" wird nicht (nur) ueber die Zwetimakierung gemacht,
sondern in erster linie durch eine neue makierung, so eine art
Familienzeichen, das invis ist.
Dann ist die moeglichkeit zur Kontrolle da und anderseits koennen die
verschiedenen Charactere eines Spielers rumlaufen ohne als Zweiti gebrandmarkt
zu sein.

Das hiesse natuerlich, das die jetzige Zweitikennzeichnungspflicht entfallen
kann, dafuer aber eben alle Charactere eines Spielers als zu dessen Familie
zugehoerig gekennzeichnet werden muessen.

Zweitikennzeichnung koennte somit entfallen, wenn es nicht vileicht sogar
einigen Spielern gefaellt, einen Teil ihrer Charactere so zu kennzeichnen.

OrkT, heute mal konstruktief.

-----------------------------------------------------------------------------



Re^20: Salat (Orktoeter, 11. Sep 1997, 15:07:37):
~#! rn=Grimmborn rt=873975178 rg=entwicklung
~#! tid=873739965
Hmm Grimm, wenn du meine Artikel lesen wuerdest, haettest du mitbekommen, das
ich die Idee mit dem Teamkampf gut finde, war wohl nix mit OrkT ist immer
gegen alles...
Uebrigens kann ich nur sagen, das es doch nur absolut Menschlich ist, wenn man
liebgewonnene Gewohnheiten/moeglichkeiten behalten will.

Es wuerde einem bestimmt auch leichter Fallen, "unerfreuliche" Aenderungen zu
akzeptieren, wenn sie vernuenftig Begruendet werden.

Wenn z.B. gesagt wuerde Para* oder andere magier haben Generell aus
Balancegruenden fuer eine Abwertung des einzelnen Spielers blaediert und nicht
weil jetzt der teamkampf kommt und taems zu gut wuerden, werden die
Einzelspieler abgwertet, dann viele zumindest mir das auch viel leichter,
solche "Einbussen" mit zu tragen.

OrkT.

-----------------------------------------------------------------------------



Re^21: Salat (Grimmborn, 11. Sep 1997, 15:22:17):
~#! rn=Orktoeter rt=873983257 rg=entwicklung
~#! tid=873739965
Sicher weiss ich, dass jeder, der sich in seinen Privilegien eingeschraenkt
sieht, erstmal protestiert. Da muss man nur mal die Bildzeitung fuer
aufschlagen... Aber die allermeisten, die hier sind, haben zumindest Abitur
und studieren/haben studiert, und irgendwie erwarte ich da eine gewisse
Abstraktionsfaehigkeit, die Faehigkeit, nicht nur der persoenlichen Vorteil,
sondern auch das grosse Ganze zu sehen. Also in der Lage zu sein, sich selber
etwas zurueckzunehmen, wenn es der Gesamtheit nuetzt. 
Die Zustimmung zum Teamkampf verbuche ich unter den von mir ausgenommenen
"besseren Waffen", die Du nicht ablehnst. Aber man sollte sich bewusst machen,
dass sowas nicht eigentlich dazu da ist, das Spiel "effektiver" zu machen
(denn glaubt mir, das _wird_ langweilig), sondern interessanter. Wenn also
etwas effektiver wird, ohne das die Effektivitaet durch andere Nachteile
ausgeglichen wird, ist das nicht unbedingt eine Verbesserung, sondern nur eine
weitere Umdrehung der Ruestungsspirale.

Grimmborn der Atheist

-----------------------------------------------------------------------------



LP/MP nach Reboot (Orktoeter, 11. Sep 1997, 15:46:13):
Da es in letzer Zeit ja wieder mehr Crashs/Reboots gibt, noch mal die Frage :
Wie sieht es aus, wird es in absehbarer Zeit so sein, das man nach einem
Crash/Reboot volle LP und MP hat ?
Das Argument, das es zu aufwendig waere, das zu ueberpruefen hat doch schon
vor vielen Monaten ein Magier wiederlegt..
OrkT.

PS ich werde so ab und zu mal wieder nachhoeren, bis es freundlicher weise
Umgesetzt ist, oder mal einer Begruendet, warum das nicht gemacht wird.

-----------------------------------------------------------------------------



Re^20: Salat (Key, 11. Sep 1997, 16:00:56):
~#! rn=Bendeigid rt=873921271 rg=entwicklung
~#! tid=873739965
Huhu Bende :)
Yep ich kritzel schon wieder was in die Zeitung ....

Hmm Du bist der erste Mag der die kleinen Spieler erwaehnt ... von
Spielerseite her kamen zu denen schon oefter Argumente.
Und eins ist mir absolut unklar, eine Abschwaechung der Spieler soll bewirken
das die kleinen wieder mehr metzeln koennen als nur auf der HE?
Sorry aber das ist unlogisch :)

Hmm zu den Super-Sonder-Mega-Waffen ... Klar, jeder der sie kriegen kann
benutzt sie. Aber das die Spieler das nicht unebdingt wollen kann man
wunderbar an Robins Bogen sehen.
Wieso gibt es denn dann ueberhaupt solche Waffen? 

So .. und ordentlich Kritik kann man immernoch nur ueben wenn man was gesagt
kriegt. Wenn man nur vor irgendeinem Brei, den man sich nach stundenlanger
Fragerei erarbeitet hat sitzt kann man net viel mit anfangen. Andererseits
darf ein Mag aber auch kaum Auskunft geben laut Magiervertrag.

Fuer mich stellt das ein Prob da, vielleicht auch fuer ein paar Mags ....


So wieder gejammert, oder sieht das einer anderst?

Key jammerte schon damals als er als Anfaenger die Gruft als Metzelgebiet
hatte das es zuwenig fuer Anfaenger gibt .....

-----------------------------------------------------------------------------



Obstsalat (Bluemel, 11. Sep 1997, 16:08:04):
Als Autor des SALAT-Artikels , muss ich mich nach ueber 20 Re Artikeln doch
mal wieder aeussern !
Ein grosses Problem im Mud scheint es zu sein, dass die Leute ( Mags ) die
Entscheidungen ueber Veraenderungen hier treffen, leider keine Ahnung mehr
ueber die Gesamtheit des Muds ( also auch ueber die Balance ) hier haben.
Andererseits wird den Spielern, welche aktiv im MG spielen und ( zumindest zum
Teil ) Ahnung ueber die Zusammenhaenge haben, kein Mitspracherecht gegeben.
So haben die Mags keine Ahnung was hier laeuft und die Seher keine Ahnung, was
machbar ist bzw. stehen mit voelligem Unverstaendnis Neuerungen der Mags
gegenueber.
Eine Loesung waere, die Spieler an Entscheidungen teilhaben zu lassen ( soweit
moeglich ) und Magier sich bei den Spielern Infos ueber das wirklichen
Balanceverhaeltnis im Mg einholen.
Ersteres haette eine Beschneidung der Macht der Mags zur Folge , zweiteres
wuerde ein Eingestaendnis der Mags vorraussetzen, dass sie zum Teil wirklich
keine Ahnung haben, was hier laeuft.
Die meisten Artikel bestehen folglich hier aus 
1) Noergeleien der Spieler ueber wirklichkeitsferne Neuerungen der Magier
2) Noergeleien der Mags ueber die Noergeleien der Spieler
Damit sich die Lage hier bessert, muesste sich also in obengenannter Richtung
was aendern, was hiesse, dass sich Mags und Spieler einfach mal austauschen
und zwar auf vernuenftigem informellen Wege, nicht durch diese vielen
ueberfluessigen Artikel !


 .

-----------------------------------------------------------------------------



Re^18: Salat (Alete, 11. Sep 1997, 16:29:44):
~#! rn=Rochus rt=873919726 rg=entwicklung
~#! tid=873739965

Auch wenn sich Deiner Meinung nach, Rochus, "IMMER nur die Jammerlappen"
melden, muss es dennoch nicht so sein: Ich zaehle mich auch zur "schweigenden
Mehrheit" (weil ich bis zu diesem Artikel hier mich noch nicht in die
Diskussion eingeschaltet habe und nach diesem Artikel auch nix mehr dazu zu
sagen gedenke - der Thread ist eh lang genug), und somit nicht zu den
"Jammerlappen"; trotzdem wuerde ich mich an einer Abstimmung, wie von
Kartoffel vorgeschlagen, beteiligen (und in diesem Fall GEGEN eine Aenderung
stimmen). 
Andere Mitglieder der schweigenden Mehrheit moegen vielleicht dafuer stimmen,
wenn sie ueberzeugt werden, warum eine Aenderung eine Verbesserung sein soll.
Aber das ist die Aufgabe derjenigen, die eine Aenderung durchsetzen wollen;
eine Ablehnung einer Abstimmung sieht fuer mich ein bisschen so aus, als wolle
man sich vor einer Rechtfertigung druecken.

Das wars schon,
Alete

-----------------------------------------------------------------------------



Re^21: Salat (Asmodis, 11. Sep 1997, 20:07:00):
~#! rn=Key rt=873986456 rg=entwicklung
~#! tid=873739965
Ich stoss mal mit Key ins gleiche Horn und frage auch:
Wieso gibts solche Waffen wie Robins Pfeil & Bogen ??
Ich kann gerne darauf verzichten (genauso auf die Wurfsterne), 
wenn die Mega-NPCs dann ebenfalls in realistische Dimensionen
zurueckgefuehrt werden.
Aus meinen Erfahrungen heraus, sind einige NPCs eben nur mit 
diesen Mega-Waffen killbar (fuer mich jedenfalls) und auch
im Team (weil ich nach der ersten Kampfrunde fluechten muss
oder gar nicht treffe). Ich  habe ja nix gegen Waffen mit
vielfaeltigen Schadensarten, aber geht mal nicht davon aus,
dass jeder an solche Mega-Waffen kommen kann.

-----------------------------------------------------------------------------



Re^15: Salat (Acrimon, 11. Sep 1997, 20:41:55):
~#! rn=Hangover rt=873908608 rg=entwicklung
~#! tid=873739965
Ok, hier meine Meinung:

Ja, ich will eine Aenderung des Tank-/Heilsystems!
Es geht einfach nicht an, dasz man per einfachem Befehl (/tanke) seine MP und
LP wieder aufladen kann mitten im Kampf (was derzeit mit TF und den richtigen
Scripten moeglich ist).
Wenn die Speisen und Getraenke nur mehr die Regenerationsgeschwindigkeit der
LP und/oder MP erhoehen, dann halte ich das fuer einen groszen Fortschritt.

Bleibt noch zu ueberlegen, ob danach nicht auch die meisten Monster angepaszt
werden muessen.

Acrimon, der Rote Ritter

-----------------------------------------------------------------------------



Re^16: Salat (Asmodis, 11. Sep 1997, 20:43:37):
~#! rn=Acrimon rt=874003315 rg=entwicklung
~#! tid=873739965
Schoen dass du die Leute mit den (illegalen) Tankscripts in einen
Topf mit den anderen wirfst.
Das Tanksystem hier hat sich bewaehrt und sollte so bleiben!

P.S.: Dies ist kein Gejammer, sondern nur meine Meinung

-----------------------------------------------------------------------------



Gedanken... (Jimdigriz, 12. Sep 1997, 02:29:49):
Moin,

ein Paar Gedanken zu den Veraenderungen...
  - Monster die frueher stark waren (Steinbeisser &co) sinds
    heute nicht mnehr, dafuer gibts andere, die Zeiten aendern sich
  - schwache und mittlere Spieler sollten auch chancen haben was\
    zu erkunden und zu sehen. Damit meine ich insbesondere Gegenden 
   wo man an Monstern vorbeimuss um zu erkunden
  - viel Muehe sollte belohnt werden, EPs zaehlen nicht mehr,
    noch bessere Ausruestungsgegenstaende sind auch bloedsinn,
    evtl durch besonders schoene Raumbeschreibungen mit ein paar FP
    (gibts ja durchaus, also nicht als Forderung zu sehen)
   - Teamkampf ist super, aber schwierig in dem Sinn die staerke zu
    begrenzen, IMHO sollten grosse Teams durchaus aus jedes noch so styarke
   Monster platten koennen (gross = ca 10 Seher, kommt eh selten genug vor)
  - einzellne Spieler sollten durchaus in der Lage sein Gardewaechter
   oder aehnlkiches aus dem Weg zu raeumen
  - Auch bvei Gilden soll sich die Muehe (ueberei) Lohnen,
   daher waere ich dafuer nicht die staerksten Seher als Mass der 
   Dinge zu sehen.
   - Balance ist wichtig, evtl mal an die Mitte denken und nicht die
     Balance-Berechnungen anhand sehr starkjer Spieler gegen sehr starkes
     Monster (so hab ich zumindest den Eindruck) begrunden (oder so)
    - Das Tanken sollte geaednert werden, aber vorsicht!
     Bierschuettler beru4ecksichteien, evtl Monster im Sinne Ihrer
     Angriffskraft (vielleicht aber nicht Ihrer HP) anpassen
    Die Rein-Raus taktik ist nicht sonderlich schoen und sollte
   nicht bei soo vielen Monstern noetig sein, auch nicht bei
   harten.

Mehr faellt mir jetzt niucht ein, achja, Magier sollten am 
besten wissen, dass die MPA nicht die Meinung der 
Spielergesamtheit wiedergibt, eine neutralere Methode 
ein Stimmungsbild zu bekommen koennte hilfreich sein
(Wahlmaschine, aber mit KOmmentarmoeglichkeiot a la 
.. egal) Gibts eigentlich schon, heisst 'mail' aber wer
macht sich schon die Muehe....

Ok, das wars ersma... ich hab eigentlich Urlaub

Jim DiGriz (spielt schon langer nimmer)

-----------------------------------------------------------------------------



Re: Gedanken... (Tangalur, 12. Sep 1997, 10:11:29):
~#! rn=Jimdigriz rt=874024189 rg=entwicklung
~#! tid=874024189
Eigentlich ist grade diese Rubrik der mpa sowiso schon sehr voll und ich
wolltenicht
auch noch meine Senf dazu geben. Aber ein paar weitere Gedanken sind wohl
doch angebracht:

- ich denke schon jetzt ist die Balance sehr weit aus der "Mitte" verschoben
   es gibt schon soviele Gegenden, die mir nicht anschauen kann weil da
   liebe nette npc's stehen, die ich schon heute als 08/15 Standardseher
   nicht gelaettet bekomme.

- das mit den Teams ist sone Sache, nicht immer werden sich die drei oder vier
  Leute finden lassen, die mit metzteln und dann hat man echt ein Problem.

- wenn ich heute noch mal als kleiner level 1 Spieler anfangen 
  muesste, wuerde ich es wahrscheinlic schnell wieder dran geben, die habe ja
kum
  eine chance jemals auf eien guenen Zweig zu kommen.

-  tagelang ueben, 300 mal an einem npc sterben bis man den Trick raus hat,
   200 details untersuchen bis man dann doch verzweifelt aufgibt, oder nach
nem
   nem Reboot drei Tage durchs MG laufen bis man eien mittelmaessige
Ausruestunng
   zusammen hat.

-  fuer mich foerdert nicht grade den Reiz des Spiels, die
Ansprueche/Schwierigeit 
   der npc's sollten nicht nuran den Supersehern sondern an den
durchschnitts-
   Spielern gemessen werden, denn die werde sonst wohl das Interesse am MG
verleren

Tangalur Feuertatze

-----------------------------------------------------------------------------



Re: Re: Gedanken... (Boing, 12. Sep 1997, 10:17:57):
~#! rn=Tangalur rt=874051889 rg=entwicklung
~#! tid=874024189
Es ist ja nicht so, dass die kleinen NPCs in alten Gebieten durch starke
NPCs ersetzt werden. Die alten NPCs sind doch alle auch noch da, insfoern
kann auch heute noch jeder Level 1 Spieler auf einen gruenen Zweig kommen.
Das sieht man ja auch daran, dass auch die neuen Spieler es irgendwann
zum Seher bringen (vielleicht nicht alle, aber immer noch genug).
Ein Problem wuerde sich nur ergeben, wenn man die Kampfkraft generell
schwaecht, aber ich denke das Ziel sollte eher sein, die Spitzen zu
kappen. Ein Schritt in diese Richtung ist ja schon die Aenderung von
Robins Bogen ... ich hoffe dass sich da auch allmaehlich mal was tun wird.
  Boing

-----------------------------------------------------------------------------



Mahlzeit (Gloin, 12. Sep 1997, 10:43:53):
Auch mal Senf:
Eigentlich weiss ich gar nicht, warum in dieser Rubrik jetzt so laut
rumgemosert wird. Es ist doch genau das passiert, was wir in einer
vorherigen Diskussion wuenschten: Die Erzies haben uns _vorher_ ueber
geplante Aenderungen informiert, so dass ein Diskussion _darueber_
stattfinden kann. Und zwotens kann ich auch schlecht verstehen, wer
hier Grund haette, ueber einen Ausgleich der Balance, die momentan
Spieler sehr uebervorteilt. Ich hab ja nicht umsonst die meisten EPs
in der Spielerliste, und haett ich jetzt auch noch Wurfsterne oder
andere von P_ATTACK_BUSY abhaengige Waffen wie ein Seher nutzen
koennte - Fazit: die von einem Spieler verteilbare Schadenssumme
geht ueber vernuenftige Masse schnell hinaus.
Wenn ich also wieder das Augenmerk auf die urspruenglich auf der
Party begruesste Idee des Teamkampfes lenken duerfte: Momentan
ist es ja so, dass man kaum zusammen kaempfen kann, wenn man nicht
nebeneinander sitzt, weil die Kommunikation ziemlich schlecht ist.
So muessten sich alles erst gewisse kleine Tools holen, die ueber
den Zustand der anderen informieren, oder Gespraeche in einer be-
stimmten Gruppe erlauben. Oder wie ist es, wenn man seine Gruppe
verloren hat ? Eine gewisse Ahnung, wo sie steckt, waere nicht
schlecht. Die Idee mit dem vorn und hinte stehen ist doch genial:
die vorderen Spieler werden von mechanischen Angriffen getroffen,
die ganze Gruppe kann von magischen Angriffen getroffen werden ...
Verletzte oder Kleriker/schuetzende Zauberer werden hinten in
Sicherheit gebracht. Der momentane Kampf in Gruppen sollte, falls
solche ziemlich rollenspielaehnlichen Aenderungen kommen, einfach
geaendert werden: Ab einer gewissen Anzahl ist man gewzungen, in
einer Gruppe zu kaempfen, weil man sich sonst gegenseitig behindert.

Auf jeden Fall finde ich die Idee genial. Gruppenkampf findet
einfach momentan nicht allzusehr statt, weil man alleine besser
zurechtkommt. Aber ich habe auch schon mal in Semmels Gebiet
sieben Seher losziehen sehen. Und einer versicherte mir, es haette
einen Heidenspass gemacht.

Gloin

-----------------------------------------------------------------------------



Ideen gesucht. (Yantro, 12. Sep 1997, 11:49:46):
Hi Ihrs, 
ich bin auf der Suche nach netten Ideen fuer ein kleines neues Konzept (weiss
selbst noch nicht, wie das aussehen soll) und suche Ideen und Vorschlaege von
EUCH, aber BITTE PER MAIL.
Es wuerde mich interessieren, was ihr schon immer gerne gekonnt haettet im MG
und was dabei dann Nichts oder wenig mit Metzeln und Kampfkraft zu tun hat.
Fehlt euch ein skill oder ne faehigkeit, dann mailt mir... 

Bitte keine albere oder langwierige Diskussion.

Yantro

-----------------------------------------------------------------------------



Eheringe/Priester (Rikus, 12. Sep 1997, 11:59:54):
Hi,
ich habe mal Chris' Sachen uebernommen die die Eheringe/Hochzeit/
Priester in Niebelheim betreffen. Wer dazu noch Bitten/Ideen hat,
der maile mir bitte!

Danke, Rikus

-----------------------------------------------------------------------------



Re^18: Salat (Raffi, 12. Sep 1997, 13:14:02):
~#! rn=Wurzel rt=873909257 rg=entwicklung
~#! tid=873739965
Jo, gutes Argument, die schweigende mehrheit kann man immer einsetzen ....
Weil wenn sie mal nicht schweigt, dann ist es ja nicht die Schweigende
Mehrheit, sondern nur ein Vereinzelter Noergler.

Grummel
H.

-----------------------------------------------------------------------------



Re^5: ARGL (Asmodis, 12. Sep 1997, 18:51:23):
~#! rn=Silvana rt=874056156 rg=jammerlappen.entwicklung
~#! tid=873926073
Ich bin mal gespannt, was die Nicht-Zwerge als Ausgleich fuer
deren Tankkapazitaet kriegen, hoffentlich ist es auch ein
Ausgleich ...

P.S.: Lasst uns in jammerlappen.entwicklung wieder schreiben,
      dafuer wurde die Rubrik doch umbenannt !

-----------------------------------------------------------------------------



 Seher-FAQ (Qitess, 13. Sep 1997, 22:05:49):
Hallihallohalloele.

Ich bin grad so am rumgammeln und denke so... na, schauste mal, wie alt unsere
Alten sind. Naja, ich kenn ja nun auch nicht jeden, und ausserdem wollte ich
mal alles auf einen Blick haben, und da meinte jemand zu mir, ich solle mal in
der Seher-FAQ nachschaun. 

Gesagt, tun getan...

Nur, was muss ich da sehen ?

Alphabetische Auflistung aller Seher im MorgenGrauen, Stand 18.09.1995

ich wiederhole :       18.09.1995   (in Worten ...fuenfundneunzig) !!!

Ist da niemand mehr fuer zustaendig ?

Ich rege an, dass die mal wieder updated wird :)

QI**  noch nicht ganz so alt...


-----------------------------------------------------------------------------



Re:  Seher-FAQ (Gloin, 13. Sep 1997, 23:32:41):
~#! rn=Qitess rt=874181149 rg=entwicklung
~#! tid=874181149
Soviel ich weiss, kuemmert sich Mahatma demnaechst mal drum. Er wird
wohl naechste Woche zurueck sein, dann kannst Du ihn fragen.

Gloin

-----------------------------------------------------------------------------



Hochidlen... (Woody, 14. Sep 1997, 03:50:37):
Hi!

soweit ich weiss, wurde ja vor inzwischen langer langer Zeit
eingefuehrt, dass Zwergen in geschlossenen Raeumen schneller
und im Freien langsamer hochidlen, sowie genau umgekehrt bei
Elfen. Nun scheint aber seit einiger Zeit verkehrte Welt zu
herrschen, soll heissen Zwergen brauchen im Freien nunmehr
8 Sekunden fuers hochidlen, in Raeumen hingegen 12 Sekunden,
bzw. bei Elfen andersrum. Koennte das mal wer korrigieren?
(ein -- zu nem ++ und umgekehrt machen, in dwarf.c und elf.c)

sich irgendwie unwohl fuehlend,

Woody, Zwerg.

-----------------------------------------------------------------------------



Re: Hochidlen... (Boing, 14. Sep 1997, 14:42:25):
~#! rn=Woody rt=874201837 rg=entwicklung
~#! tid=874201837
Bist Du sicher dass das hier eingefuehrt wurde? Ich weiss davon eigentlich
nix ... und im Code seh ich auch nichts - zumindest nicht auf Anhieb.
  Boing

-----------------------------------------------------------------------------



Re: Re: Hochidlen... (Janitze, 14. Sep 1997, 16:23:10):
~#! rn=Boing rt=874240945 rg=entwicklung
~#! tid=874201837
also ich hab sowas auch noch in erinnerung, das sowas mal eingefuehrt wurde.
Guck nochmal genauer Boing :)

Janice

-----------------------------------------------------------------------------



Re^3: Hochidlen... (Caradhras, 14. Sep 1997, 18:39:35):
~#! rn=Janitze rt=874246990 rg=entwicklung
~#! tid=874201837
Jo, Boing, das wurde hier eingefuehrt, schon vor diversen Monaten.
Aber getest hab ichs nie, obs auch wirklich stimmt. :)

  Bergchen Caradhras mit Raumangst 1

-----------------------------------------------------------------------------



Re^4: Hochidlen... (Boing, 14. Sep 1997, 20:02:20):
~#! rn=Caradhras rt=874255175 rg=entwicklung
~#! tid=874201837
Bevor es noch 1000 replys gibt, ja, es wurde eingefuehrt, ich hab's auch
inzwischen gefunden. Und es war 1995, ist also schon ne Weile her. :)
  Boing

-----------------------------------------------------------------------------



Re^19: Salat (Smurf, 15. Sep 1997, 01:35:35):
~#! rn=Denti rt=873928983 rg=entwicklung
~#! tid=873739965
Re Abstimmung: Ich bin dagegen. Normale Spieler (wie ich...) haben keinerlei
Ahnung, wie die sich eigentlich auswirken sollen.
Ich bin auf jeden Fall dafuer, Teamkampf realistischer zu machen, d.h. sowohl
gegen-
seitige Behinderung als auch bessere Verteilung der "Belohnung" einbauen.
Ich krieg als Normalspieler aber die Krise, wenn ich jetzt noch mehr Schiss
vor jedem Monsterchen haben muss, weil ich nicht einschaetzen kann, wie
stark das Tier nun ist und ob ich rechtzeitig weg kann.

Vorschlag: Ignoriert doch bitte in dieser Diskussion alle, die auf den
Toplisten stehen, die kennen sich eh so gut aus dass sie jede Abschwaechung
muehelos ausgleichen koennen. ;-)

Smurf, der nach nem Monat mal wieder zum Zeitungslesen kommt

-----------------------------------------------------------------------------



Re: Hochidlen... (Gnome, 15. Sep 1997, 08:28:04):
~#! rn=Woody rt=874201837 rg=entwicklung
~#! tid=874201837
du brauchst nur 8 s fuers hochidlen??? respekt. wie machst du das? ;-)

gnOme

-----------------------------------------------------------------------------



Re:  Seher-FAQ (Fyt, 15. Sep 1997, 11:53:46):
~#! rn=Qitess rt=874181149 rg=entwicklung
~#! tid=874181149

Wo ist das Problem, Qitess?

Fyt.

-----------------------------------------------------------------------------



kampfkraft (Orktoeter, 16. Sep 1997, 11:45:08):
Vorwort :
a) an alle, die den bisherigen Thread uebergangen haben, sorry das ich hier
einen neuen Thread starte, aber ich denke es sind voellig neue Ideen 
b) Ich denke mal, es wird kein "jammerartikel" daher wird es vileicht auch
interessant, ihn zu lesen, auch wenn er wohl recht lang wird

Also, es sind ja im moment so einige Geruechte ueber geplante Aenderungen im
Umlauf und der Grund weswegen etwas geaendert werden soll duerfte die (zu ?)
grosse Kampfkraft sein.
Das die Kampfkraft heute wesentlich hoeher ist als noch vor Jahren kann man
sich leicht an beispielen klar machen, heute Killt jeder mittelmaessige Seher
die Steinbeisser und holt sich das entsprechende Amulett, frueher ging da eine
Gruppe Seher rein und der eine oder andere besuchte daraufhin mal eben Lars
(naja, war ja auch ganz in der Naehe *grins*).

Wenn man aber etwas an der Kampfkraft aendern will, sollte man zuerst
Ueberlegen, was denn die groessten Ursachen fuer die Zunahme der Kampfkraft
waren, mir sind da 3 Hauptgruende eingefallen :

1. Die Gilden
Die ganzen neuen Gilden waren ja alle so geplant, das sie staerker werden
sollten als die Abenteurergilde. Es kam dann aber wohl so, das jede neue Gilde
auch staerker sein wollte als alle vorhergehenden Gilden.
Daher sind Spieler in neueren Gilden mit hohen Gildenleveln deutlich
kampfstaerker als es Abenteurer waren (sind). Das gilt auch noch, wenn
Paracelsus die Gilden ueberarbeitet und auf ein gewisses Maximum beschraenkt
hat.

2. Die Stats
Frueher konnt man max volle stats mit 20 20 20 20 erreichen und es gab nur
wenige Seher, die ueberhaupt volle Stats hatten (es gab ja lange Zeit
ueberhaupt nur ca 70 bis 80 Seher).
Dann kamen die Rassenboni, dazu kommen noch items, mit denen man Stats
dauerhaft (so lange man die items traegt) heraufsetzen kann. Dann sind da noch
spezielle Gilden, die temporaer Stats erhoehen koennen.
War das max fruher bei 80 so duerfte es heute moeglich sein stats von 100 zu
erreichen.

3. Zusatzwaffen
Es gibt massig zusaetzliche Waffen, Robins Pfeile, Bumerangs, Wurfsterne,
graue Steine, Saeurekugeln etc etc.
Ich muss gestehen, mich da nicht sonderlich gut auszukennen, aber ich denke es
diese Zusatzwaffen sollten dringend mal ueberarbeitet werden. Zum einen auf
ihren maximalen Schaden (siehe Robins Pfeile) und zum anderen daraufhin, wie
viele von denen (und nicht nur von einer Sorte) man in einer kampfrunde
maximal einsetzen kann. Desweiteren, ob sie "sinnvoll" in der Benutzung sind,
damit meine ich, ob man sie nur mit einer bzw. zwei leeren Haenden benutzen
kann.


So, ich denke, das sind die 3 hauptgruende fuer die deutlich hoehere
kampfkraft. Als gegenmassnahme wuerde ich als erstes bei Punkt 3 ansetzen und
dort eine starke Begrenzung vorhnehmen (nicht nur, weil es mich nur relativ
wenig trifft).
Es ist aber klar, das man damit immer noch weit von der alten Kampfstaerke
entfernt ist, um die annaehernd zu erreichen, muesste man schon hingehen und
die Kampfkraft der Gilden generell um etliche % senken, oder aber Die
standard-max-stats senken, z.B. von 20 auf 18.

Ich wuerde es Begruessen, wenn erst mal nur an den Zusatzwaffen "gefummelt"
wird. Vileicht reicht das ja schon aus umd die Spitzen der Kampfkraft zu
brechen.

PS : Zu den geplanten Aenderungen des Tanksystems
Die Aenderungen im Kampfsystem sind meiner Meinung nach nicht so sinnvoll um
die Kampfkraft zu beschraenken.
Das Tanksystem ist alt und bewaehrt, es gibt Obergrenzen, die eine exzessive
nutzung verhindern (sollen). Wenn es Kneipen gibt, in denen es Getraenke/Essen
gibt, das zu gut ist, so ist es Sache der magier (in erster linie die, die es
geproggt haben, 2. deren RM und dann auch noch die der Balancemagier) das
entsprechend abzuaendern (was ja auch schon teilweise geschehen ist).
Auf der anderen Seite ist das Tanksystem ein wesentlicher Bestandteil des
Kampfsystems des MG und es existiert seit Jahren. Warum etwas aendern, das
fuer das gewuenscht Ziel nicht viel bringt, aber einfach zum MG gehoert ?

So, danke fuer die, die sich die Muehe gemacht haben und bis hier hin
durchgehalten haben, OrkT.

-----------------------------------------------------------------------------



Re: Re:  Seher-FAQ (Qitess, 16. Sep 1997, 15:28:53):
~#! rn=Fyt rt=874317226 rg=entwicklung
~#! tid=874181149
diese FAQ ist URALT :)  

DAS ist das Problem ;)

QI**

-----------------------------------------------------------------------------



Schwere Bedenken (Phygos, 16. Sep 1997, 17:08:38):
Hallo Mags/Spieler
Es soll also Teamkampf eingefuehrt werden. Nette Idee.
Zweitis werden reglementiert ( allerlei Sperren Behinderungen Vorschriften
Strafkodizie etc.ect.)
Einzelkaempfer werden abgwertet.
Monster bleiben froehlich stark.
Waffen Ruestungen Ari wird ( andauernd ) abgwertet oder unbrauchbar gemacht.
Stufenaufstiege werden erschwert.
Fuer Zaubertraenke gibts jetzt ein nettes Orakel ( nett nur fuer den der das
gesamte MG kennt )
Gilden werden oefters mal abgewertet ( weil irgendeiner seine Gilde mal wieder
benachteiligt sieht )


eine KLEINE Frage.


WAS SOLL DAS????!!!!????

Das MG ist DAS BESTE ( oder war das beste ) MUD. Jedenfalls unter den
deutschsprachigen MUDs.

Langsam errinnert mich das MG an den Starfighter. ( So ein kleiner netter
Duesenjaeger aus den end 60-gern)
War ein tolles Flugzeug.
Dann hat man ihn "verbessert"
Man dieses und jenes hineingebaut.
"   "      "   "     verbessert.
"   "      "   "     gepanzert.
etc 
etc
etc
etc
Am Ende hatte man ein DING das alle fuenf Tage vom Himmel viel,
und das niemand mehr wollte.
Genauso wird gerade am MG herumgebastelt.
Na klar. Die verbesserungen an sich sind TOLL.
ABER ALS GANZES WIRD......MURKS....DARAUS!!!
Ihr lieben Progger reformiert das MG zu Tode.
Bevor Ihr mal wieder etwas tolles aendert, schaut euch das Gesamtbild an.
Oder es wird euch eines tages passieren das Ihr ein MG ohne Spieler habt,
weil es fuer Neulinge  zu schwer, und fuer Altspieler unspielbar bz.
unattraktiv
geworden ist.

Wenn ich mir vorstelle, einmal zu den eifrigsten Forschern im MG gehoert zu
haben.
Oder Touristenfuehrungen fuer Anfanger und Seher organisiert habe.
Heute hab ich darauf keinerlei Lust mehr.
Mit oder ohne Teamkampf.

Traurig aber war.


-----------------------------------------------------------------------------



Re: Schwere Bedenken (Yendi, 16. Sep 1997, 17:16:03):
~#! rn=Phygos rt=874422518 rg=entwicklung
~#! tid=874422518

Grimmi, willst Du das nicht verlegen nach entwicklung.jammerlappen ?


-----------------------------------------------------------------------------



Re: Schwere Bedenken (Trancefear, 16. Sep 1997, 18:32:22):
~#! rn=Phygos rt=874422518 rg=entwicklung
~#! tid=874422518
Ich schaetze, selbst wenn alle Aenderungen aus Deinen schlimmsten Alptraeumen
war werden, wird nur ne (erstaunlich) geringe Zahl an Leuten abwandern. Man
richtet sich halt ein. Lass es 50 Leute sein... was sind das schon gegen die
1000nde an Spielern hier? Und glaub ja nicht, hier wird das Chaos ausbrechen.
Es wird eine saubere Gesamtloesung geben... vielen wird es nachher besser
gefallen als vorher, da bin ich mir ganz sicher.

tr

-----------------------------------------------------------------------------



Re: Re: Schwere Bedenken (Tzuiop, 16. Sep 1997, 18:44:18):
~#! rn=Trancefear rt=874427542 rg=entwicklung
~#! tid=874422518
Kleiner Schleimer :))

-----------------------------------------------------------------------------



Re^3: Schwere Bedenken (Gloin, 16. Sep 1997, 19:30:45):
~#! rn=Tzuiop rt=874428258 rg=entwicklung
~#! tid=874422518
Ganz und gar nicht. Ich fand Phygos' Artikel sogar ziemlich anmassend.   
Erst uebertreibt er schamlos bei den Folgen der Aenderungen (ich be- 
zweifle, das ein Anfaenger bei der jetzigen ZT-Anzahl gegen das Orakel
protestiert und zum Thema Kampfstaerke hab ich schon gesenft) und
erzaehlt dann den Erzmagiern, dass er ja nun viel besser wuesste, wie
die Folgen dieser und jener geplanten Aenderungen insgesamt enden werden.
Diese Rubrik ist dazu da, ueber moegliche Folgen und Probleme zu
diskutieren, um den Mags die Moeglihckeit zu geben, das Ganze auch mal
von der anderen Seite zu sehen.
Aber wenn ich mir vorstelle, mir als Magier (woanders) wuerde die Spieler-
schaft ueber meine Ideen sofort klipp und klar ins Gesicht sagen, sie
waeren ja sooooo scheisse (und arg anders klang fuer mich Phygos' Artikel
nicht) , wuerde ich ernsthaft ueberlegen, dass Handtuch zu werfen und zu
sagen: Dann bleibt doch in Euerm alten Trott, bitte.
Was soll denn diese Argumentation? Ich schaetze das MUD gerade deshalb,
weil es kein statisches Spiel ist, weil man eben nicht ueber die Jahre
hinweg immer wieder zum selben Monster gehen und es mit den selben
Methoden umnieten kann bzw. muss. Nein, der Magier kann den NPC veraendern,
der Erzmagier die Kampfmodi und ich kann mich mit neuen Objekten
dem anpassen. Wenn gravierende Veraenderungen geplant sind, dann wuensche
ich mir eine Diskussionsmoeglichkeit, um meinen Teil beizusteuern, und
die ist ja hier gegeben. Denn offensichtlich wird die Rubrik dann doch
noch manchmal von Magiern gelesen. Aber diese Diskussion sollte doch
ein bischen konstruktiv sein.
Und nun stelle ich mir mal vor, man haette am Starfighter MG nicht
'gebastelt'. Kaum Details (waren die nicht mal voellig nebensaechlich?),
ein unuebersichtliches Inventory, Levelberechnung nach EPs, dement-
sprechend fiese Tode - Euch faellt sicherlich noch was ein, ich bin
erst ab Ende '94 da.    

So denn. Ich wollte auch mal mitstinken. Was hiermit erledigt ist.     

Gloin

-----------------------------------------------------------------------------



Re: Re: Schwere Bedenken (Key, 16. Sep 1997, 20:53:09):
~#! rn=Trancefear rt=874427542 rg=entwicklung
~#! tid=874422518
Tja Trancefear ... bevor du irgendwas behauptest sollteste dich erst
erkundigen ....
Soviele aktive Spieler hat das MG nu auch wieder nicht, und man merkt es schon
n wenn welche abwandern ... man merkt es gewaltig vor allem wenn man sie
kennen und zu schaetzen gelernt hat.

Zu Phygos Artikel .... im Prinzip hat er Recht ... .)

Key

-----------------------------------------------------------------------------



Lang erwartet, hier isses: Das Kneipenkonzept (Silvana, 16. Sep 1997, 20:58:24):
Hi.

Wie angekuendigt heute ein paar konkrete Worte zum Thema Kneipen.
Das ganze wird LANG, also bitte Geduld beim Lesen. :)
Aber zunaechste einmal: Wieso das ganze?

Nun, die Geschichte hat eine Menge Wurzeln als da waeren:
a) Die Standard-Kneipe des Morgengrauens ist in ihrer Programmierung 
   leider etwas unflexible, so dass es zu einer ganzen Reihe von
   Inselloesungen gekommen ist. So funktioniert der Zwergen-Rabatt in
   Boings Zwergenkneipe anders als der Rabatt in der Eistrollkneipe.
   Puma musste ziemliche Verrenkungen machen, um das Guinness fuer
   Geniesser zu realisieren, und auch andere Dinge sind nicht eben
   flexibel, was mich schon laenger geaergert hat - daher der Wunsch,
   das Objekt komplett zu ueberarbeiten.
b) Im Rahmen der Rassenkonzepte wird es zu starken Verschiebungen der
   Tankkapazitaeten der verschiedenen Rassen kommen, so dass speziell 
   die Speisen, die ja derzeit ein eher stiefmuetterliches Dasein
   fristen, irgendwie aufgewertet werden muessen (Es ist derzeit nicht
   ohne weiteres moeglich die Heilwirkung von Speisen unabhaengig von
   des Saettigung einzustellen).
c) Auf der Party in Muenster wurde ich mehrfach von Spielern (!) 
   angesprochen, dass (i) die Kneipen die mit Abstand ungemuetlichsten
   Orte des Morgengrauens sind, weil da nur wie Hoelle getank-skriptet
   wird und das (ii) es eigentlich hoeherer Schwachsinn ist, dass mal 
   sich mit ein paar Cola (beispielsweise) in etwa 0sec von fast Tod
   auf voellig fit tanken kann. Nun kann man etwas, dass sich so lange
   im Morgengrauen gehalten hat, wie das Kneipen-Heil-Konzept sicher 
   nicht einfach abschaffen, aber ich denke, wir haben eine halbwegs
   fuer alle akzeptable Loesung gefunden.
d) Basierend auf meine ersten Ideen sind noch ein Paar Ideen von Cat*
   und Wargon gekommen, die mich ziemlich begeistert haben, da sie 
   dem Rollenspielcharakter etwas mehr unterstreichen und gerade
   Spielern (besonders LowLewelSpielern) voellig neue Moeglichkeiten
   geben. Dazu spaeter mehr.

So, nun also zu den Konzeptionellen Aenderungen:
1) Die Preisgestalltung der Speisen und Getraenke wird den einzelnen
   Kneipen ueberlassen. Mit einer einfachen Funktion kann dann 
   beispielsweise Rabatt fuer eine Rasse, als Questbelohnung, etc
   gewaehrt werden, oder gar bei Geldknappheit der Preis angezogen
   werden.
2) Speisen und Getraenke koennen LP- und SP-Regeneration unabhaengig 
   einstellen. So sind z.B. Geistige Getraenke moeglich, die nur die
   geistigen Faehigkeiten puschen. :) Dabei muessen natuerlich die
   Richtlinien fuer erlaubte oder nicht erlaubte Speisen/Getraenke
   neu festgelegt werden. Eine Beruecksichtigung der Preises waere
   an der Stelle wuenschenswert (Arbeit, Para! :) )
3) Man kann optional einstellen, wie lange die Kueche/Bedienung
   braucht, um zu liefern, bzw wie lange man zum Essen braucht. Sehr
   gute Heilmoeglichkeiten, sollten nicht zu schnell da sein, 
   waehrend der Standard ruhig grosskuechenmaessig sofort da ist.
4) Die Heilung setzt nicht sofort ein, sondern beschleunigt die
   Regeneration. Dabei werden die LP/SP, die bisher sofort geheilt
   worden waeren, in einen Buffer gespeichert und nach und nach dem
   Koerper zugefuehrt. Ueber die Heilgeschwindigkeit muss man sich 
   noch Gedanken machen. Mein erster Test mit dem 5-fachen der
   normalen Regeneration hat sich im Praxistest als unzumutbar 
   erwiesen. Ich teste derzeit mit dem 25-fachen, was recht brauchbar
   aussieht. Das haette fuer die Kampfkraft immer noch einige 
   Auswirkungen:
   (i) Gegen kleine Monster aendert sich nix, man geht ja nicht
       tanken.
   (ii) Gegen mittlere Monster (1x tanken) wird man sogar staerker,
        da man ein wenig 'vortanken' kann. Wie stark sich das
        auswirkt, kann aber nur die Praxis zeigen
   (iii) Gegen sehr starke Monster wird man deutlich schwaecher, da
         das tanken deutlich laenger dauert. Hier lohnt es sich dann,
         zu mehrern zusammenzuarbeiten.
   (iv) Die Einbussen treffen die schwachen Spieler weit weniger als
        die starken, da die 50-100 LP/SP viel schneller wieder da sind
        als 210 von HL-Sehern. Zudem skripten die wenigsten Anfaenger
        zum Tanken, sondern gehen per Hand - und in der Zeit tut sich
        einiges.
   (v) Tankende Monster sind davon natuerlich genauso betroffen wie
       Spieler!
5) Man kann (optional) einbauen, dass bestimmte Speisen/Getraenke nur
   begrenzt vorraetig sind (hier kommt die Idee von Cat*/Wargon ins 
   Spiel). Diese werden dann entweden pro reset aufgefuellt oder 
   koennen durch Warenanlieferung durch Spieler aufgefuellt werden.
   Fraggle hat mit seinen Angel-Konzepten schon eine ganze Menge in
   diese Richtung vorgearbeitet, aber auch Hates Ideen zu Seherberufen
   koennten an dieser Stelle ansetzen (Fleischer, Bauern...)

So, ich hoffe, ich hab nicht wieder die Haelfte vergessen. :)

  Silvana

PS: Lasst es Euch erst mal in Ruhe durch dem Kopf gehen, bevor ihr
    Euch dazu aeussert. 


PPS: Ach ja - es liegt nahe, dass danach ein paar Monster angepasst
    werden muessen. Ich verlass mich da auch konkrete Hinweise aus
    der Bevoelkerung. :)

-----------------------------------------------------------------------------



Re: Lang erwartet, hier isses: Das Kneipenkonzept (Taragon, 16. Sep 1997, 21:09:09):
~#! rn=Silvana rt=874436304 rg=entwicklung
~#! tid=874436304
Manche behaupten ja, ich bin einer der ganz grossen Meckermaeuler hier ...
ABER
Dieses Konzept ist, wenn es erst mal so umgesetzt ist, wie es Silvana
beschrieben hat, absolut... SUPER
Ich finde, dadurch wird es wieder etwas abwechselungsreicher gemacht und
interessanter auch fuer diejenigen, die ein gutes Stueck laenger dabei sind
wie meiner einer ;-)
...
Taragon
  Wurstzauberer Gueteklasse A

-----------------------------------------------------------------------------



Re: Lang erwartet, hier isses: Das Kneipenkonzept (Denti, 16. Sep 1997, 21:22:48):
~#! rn=Silvana rt=874436304 rg=entwicklung
~#! tid=874436304

Hiho!

Ich finde das klingt schon sehr gut, allerdings sollte bei der Rationierung
von 'starken' Tankmitteln noch sehr aufgepasst werden, vielleicht sollte 
man auf die Seherberufe warte (finde ich auch ne super-idee).

Ansonsten muss ich sagen: Tolle Arbeit, koennte mich glatt wieder zum
spielen bringen ;)

Denti senft mal wieder


-----------------------------------------------------------------------------



Re: Lang erwartet, hier isses: Das Kneipenkonzept (Asmodis, 16. Sep 1997, 21:22:54):
~#! on=Asmodis ot=874437752 og=schmarrn
~#! on=Asmodis ot=874437476 og=entwicklung
~#! rn=Silvana rt=874436304 rg=entwicklung
~#! tid=874436304
Das Ganze hoert sich gut an und scheint auch wohl durchdacht zu
sein. Wenn nun die NPCs (und Tank-NPCs) entsprechend angepasst
werden, dann ist dagegen nix zu sagen.
Speisen und Getraenke zu begrenzen, damit sollte man wirklich
warten, bis die Seherberufe mal da sind, oder wenigstens alle
Vorraussetzungen erfuellt sind (Fischgruende, Weinstoecke ...)

-----------------------------------------------------------------------------



Re: Re: Lang erwartet, hier isses: Das Kneipenkonzept (Silvana, 16. Sep 1997, 21:30:46):
~#! rn=Asmodis rt=874437774 rg=entwicklung
~#! tid=874436304
Da ds mit der Rationierung offenbar Sorgen macht: Es ist als Option
fuer Zukuenftig Entwicklung gedacht. Ich denke, da steckt ne Menge
Potential drin, aber es wird erst richtig sinnvoll, wenn auch 
Moeglichkeiten zum Nachliefern bestehen. Ich denke, da braucht ihr Euch
nicht allzuviele Sorgen machen.

  Silvana


-----------------------------------------------------------------------------



Re^3: Lang erwartet, hier isses: Das Kneipenkonzept (Key, 16. Sep 1997, 21:32:05):
~#! rn=Silvana rt=874438246 rg=entwicklung
~#! tid=874436304
Auja :)

Son Essen auf Raedern Postkutschendienst den man dann auch Ueberfallen kann :)

Hey da kommt bestimmt Spass auf ;)

Key

-----------------------------------------------------------------------------



Re^4: Lang erwartet, hier isses: Das Kneipenkonzept (Wurzel, 16. Sep 1997, 22:11:04):
~#! rn=Key rt=874438325 rg=entwicklung
~#! tid=874436304
wow, ihr koennt mich doch tatsaechlich noch erstaunen. noch kein einziger
richtiger jammerartikel... oder hab ich nur nicht lange genug gewartet? :)
das konzept ist m.e. jedenfalls super, und die implikationen machen maechtig
spass, besonders die sache mit der warenanlieferung. maedels, es wird arbeit
geben :)

wurzel

-----------------------------------------------------------------------------



Re^5: Lang erwartet, hier isses: Das Kneipenkonzept (Sharia, 16. Sep 1997, 22:17:25):
~#! rn=Wurzel rt=874440664 rg=entwicklung
~#! tid=874436304
Super Ideen !!!
Wenn ihr schonmal Tips wollt welche NPC angepasst werden muessten:
-Tigonen
-Weghier
-Paras Para-Monster
usw usw usw... wird viel arbeit denke ich aber es wird sicherlich euch Erzis
und auch uns Spielern Spass machen !!
Gruss Sharia

-----------------------------------------------------------------------------



Re^6: Lang erwartet, hier isses: Das Kneipenkonzept (Wurzel, 16. Sep 1997, 22:19:34):
~#! rn=Sharia rt=874441045 rg=entwicklung
~#! tid=874436304
es wird sicherlich noch ein paar monster geben, die dann eben fuer den
teamkampf vorgesehen sind... also ist kaum damit zu rechnen, dass alle npcs
schlaffer werden :)

wurzel

-----------------------------------------------------------------------------



Re: Lang erwartet, hier isses: Das Kneipenkonzept (Helva, 16. Sep 1997, 22:27:38):
~#! rn=Silvana rt=874436304 rg=entwicklung
~#! tid=874436304
Endlich auch mal was fuer low-level-player wie mich!
Ausserdem fand ich -und ne Menge anderer kleiner Spieler- die Einfuehrung des
Orakels WIRKLICH gut. Mir macht es naemlich mehr Spass, ein Spiel "legal" zu
betreiben, als mit ner ZT-Liste  rumzulaufen.
Helva ist auf einmal sehr gut gelaunt :)

-----------------------------------------------------------------------------



Re: Lang erwartet, hier isses: Das Kneipenkonzept (Woody, 17. Sep 1997, 02:16:09):
~#! rn=Silvana rt=874436304 rg=entwicklung
~#! tid=874436304
Yo.

Das Konzept kommt mir teilweise recht bekannt vor, aehnliche
Ueberlegungen trag ich schon ne halbe Ewigkeit mit mir rum.
Was mir bisher immer etwas Kopfzerbrechen gemacht hat, war
die Unverhaeltnismaessigkeit zwischen Speise/Getraenk und
Heilung. Da bestellt jemand 5 Steaks oder 10 Campari oder
was weiss ich und ist noch lang nicht voll, andererseits
bringt das Essen EINES Steaks (was man ja im allgemeinen
fuer eine 'ordentliche' Mahlzeit halten sollte) nur vergleichs-
weise wenig LP (und seltsamerweise auch MP, aber das soll ja
eh getrennt werden :)). Der Wildwuchs an Kneipen und eine
Menge an derart entstandener Unlogik sollte meiner Meinung
nach bei der Gelegenheit evtl. auch mal beseitigt werden,
waer zumindest ein guter Zeitpunkt. Sonst: gute Sache,
wollte immer schon mal sehen wie sowas in Praxis dann
aussieht :)

schon neugierig, woody.-

PS. Wenn ein Zwerg einem Hobbit was spendiert, kriegt er dann
    den Zwergenrabatt oder nicht? :)

PPS. Bei der Gelegenheit sollte man auch gleich einen uU.
     notwendigerweise anwesenden Wirten angeben koennen,
     gibt bestimmt genug Kneipen wo das selbst coded ist.
     Und der sollte auch gleich ein wenig mehr ueber sein
     Angebot wissen.... std/pubnpc ? :)

-----------------------------------------------------------------------------



Re: Lang erwartet, hier isses: Das Kneipenkonzept (Tangalur, 17. Sep 1997, 09:40:49):
~#! rn=Silvana rt=874436304 rg=entwicklung
~#! tid=874436304
Echt prima das Konzept, da hat sich Sivana & Co, wirklich
etwas ganz phantastisches ausgedacht... finde das ganze bringt sehr viel
Rollenspiel-Atmosphaere ins MG und macht das ganze
realistische (wenn man in so eienm Spiel ueberhaupt von
Realismus reden darf)

Wann fangt ihr an zu programmieren ?

Tangalur Feuertatze

-----------------------------------------------------------------------------



Re^3:  Seher-FAQ (Fyt, 17. Sep 1997, 09:42:32):
~#! rn=Qitess rt=874416533 rg=entwicklung
~#! tid=874181149

Hm, und? Endlich mal was, was ich auch begreife hier ;-)

Fyt.

-----------------------------------------------------------------------------



Re^3: Lang erwartet, hier isses: Das Kneipenkonzept (Birdy, 17. Sep 1997, 13:59:15):
~#! rn=Silvana rt=874438246 rg=entwicklung
~#! tid=874436304

Zum Thema Rationierung : immer wenn ein Bierschuettler eine Kneipe beliefert
hat, ist sie wieder voll. :)

Birdy
PS:Nur sone Idee. :)

-----------------------------------------------------------------------------



Re^5: Lang erwartet, hier isses: Das Kneipenkonzept (Raffi, 17. Sep 1997, 14:25:46):
~#! rn=Wurzel rt=874440664 rg=entwicklung
~#! tid=874436304
Die idee mag ja nett sein (nein ich werde jetzt nicht zugeben das sie mir
gefaellt) aber die Cola-Anmerkung ist doch wohl etwas weit hergeholt!
NATUERLICH ist Cola das beste Getraenk ! (Und heilen tut es auch ganz gut ...
denk mal wie schnell du da deine Schwertwunden mit verkleben kannst).

Gruss
H.
(Ich hoffe fest auf den einfluss eines hier nicht naeher zu nennenden Magier
:)

-----------------------------------------------------------------------------



Re: Re: Lang erwartet, hier isses: Das Kneipenkonzept (Qitess, 17. Sep 1997, 15:09:02):
~#! rn=Tangalur rt=874482049 rg=entwicklung
~#! tid=874436304
ich wollte es nicht sagen, tanga, es wird realistischer.

aber ich bitte euch (magier) : Bitte lasst uns nicht auch noch hunger oder
durst bekommen, ja ?

QI**

-----------------------------------------------------------------------------



Re^7: Lang erwartet, hier isses: Das Kneipenkonzept (Key, 17. Sep 1997, 17:40:36):
~#! rn=Wurzel rt=874441174 rg=entwicklung
~#! tid=874436304
Hmm Wurzel ich wuerde mal behaupten das Sharia z.B. den Weghier mit
reingenommen hat weil sie Gruende dafuer hat ;)

Und die sehe ich auch ....

Naja aber paradrakonien? so arg isses net ;)

Key

-----------------------------------------------------------------------------



Re^7: Lang erwartet, hier isses: Das Kneipenkonzept (Sharia, 17. Sep 1997, 17:46:43):
~#! rn=Wurzel rt=874441174 rg=entwicklung
~#! tid=874436304
Aehm Key geh mal von anderen Gilden aus :) Geh z.b. als Karateka oder Kleriker
da hin .. da haste deinen Spass *grins* 
Aber generell bin ich der Meinung das NPC die man bisher ohne Probleme alleine
gekillt hat weil man sie einfach tot-tanken kann wie z.b. den Weghier
angepasst werden sollten und keine Aufwertung erfahren sollten... 
Das Argument dass gewisse NPC dann halt fuer den Gruppenkampf vorgesehen sind
lass ich sogar gelten dennoch sollte es auch hier Grenzen geben, denn was is
der Sinn der Sache wenn man NPC proggt die man nur mit 20-30 Sehern killen
kann ? DAS ist meiner Meinung nach nicht OK... man sollte von Teams ausgehen
die vielleicht 5-10 Seher stark sind denn MEHR werden sich nur jedes
Schaltjahr mal zusammenfinden (wenn wirklich keine Zweitis drinnen sind....)

Soviel....Sharia

-----------------------------------------------------------------------------



Re^8: Lang erwartet, hier isses: Das Kneipenkonzept (Woody, 17. Sep 1997, 17:51:30):
~#! rn=Sharia rt=874511203 rg=entwicklung
~#! tid=874436304
Hmmm frueher drehte sich die Spirale halt in Bezug auf Einzel-
spieler hoch (immer staerkere Monster, etc.), nun haben wir
als zusaetzlichen Faktor die erforderliche Teamgroesse :).
Find ich allerdings gut, solange man einigermassen im Rahmen
bleibt - wohl aber Frage der Balance und nicht des Systems.

woody.-

-----------------------------------------------------------------------------



Mitarbeit (Felbo, 17. Sep 1997, 22:52:10):
Hi,

ich bin noch relativ neu hier und um die Zeitung kuemmere ich mich erst jetzt
so langsam, weil offensichtlich wohl einige Veraenderungen anstehen, die ich
natuerlich nicht einfach so ueber mich ergehen lassen will, ohne daran
mitzuwirken.

In den Threads die hier so laufen tauchen immer wieder Artikel auf, die auf
ein ziemliches Missverstaendis zwischen Mags<->Spielern hindeuten:
Ruestungsspirale zurueckdrehen, Angst vor Abwertung; Innovation, Jammerlappen.
Und in den Magierartikeln liest man staendig, dass es scheinbar wohl 'immer
dieselben sind' die 'jammern'

Nun, wenn ein Magier mit der Begruendung, er wolle die Ruestungsspirale
zurueckdrehen es mir schwieriger macht, eine Riesenspinne mit 'meinem'
Lieblingspanzer zu metzeln, dann muss ich darin doch irgendwo einen
Rueckschritt sehen.
Ist vergleichbar mit:'Ja, ls(dir, was auch immer) gibts nicht mehr, progg Dir
mal nen neues das foerdert die Kreativitaet.'
An manche Dinge hat man sich einfach gewoehnt (Elementarschild/Sphaere z.B.:-)
) und moechte sie nicht mehr missen.
Schliesslich hat man sich seine Staerke hart erarbeitet und ploetzlich wird
einem etwas weggezwackt... Solche Neuerungen fuehren nur dazu, dass das Wort
'Neuerung' mit 'Abwertung' gleichgesetzt wird und dann arbeitet garantiert
keiner mehr mit.
(Gibts keine Neuerungen, die mal mit einer 'Aufwertung' verbunden sind???: Man
koennte zum Beispiel sein eigenes Schiff kaufen koennen und damit ueber die
Meere schippern anstatt mit diesen oeden alten "Taxis" fahren zu muessen)
Achja: Warum muss eigentlich, um die Gilden auf einen Nenner zu bekommen,
immer nur abgewertet werden? (So ein kleines "Steuergeschenk" hebt vielleicht
mal die Stimmung :-) in Anbetracht der bevorstehenden Umwaelzungen (Kneipen
etc.))

Wie auch immer, als Spieler kann ich auch von einem Magier nicht erwarte, dass
er neue Ideen bringt die aber keinen Einfluss auf meine Staerke haben duerfen:
"Wasch mich, aber mach mir den Pelz nicht nass!"

Jedenfalls sollten sich Spieler und Magier hier mal zusammenraufen. Denn dann
gibt es auch keinen Grund mehr sich hinterher zu beschweren, dass einem was
nicht passt, wenn man vorher Gelegenheit hatte daran mitzuwirken (Die Idee mit
den Wahlen find ich nicht schlecht, dann werden vielleicht auch mal mehr
darauf aufmerksam, dass es da Leute gibt die sich Gedanken machen!)

Also: Magier raus aus der Isolation! Und ihr Spieler koennt mal zeigen, dass
ihr auch mehr koennt als nur jammern und ideln !

In der Rubrik hier gibts doch gute und kreative Artikel genug die beweisen,
dass es geht.


Felbo, der jetzt schon Angst vor den Flames hat (und mit dem Editor noch nicht
zurechtkommt ;-) )
Felbo, der jetzt schon Angst vor den Flames hat.

-----------------------------------------------------------------------------



Kneipenkonzept und ueberhaupt .... ;) (Froghunter, 17. Sep 1997, 23:17:06):
Tolles Konzept. Mir gefaellt vor allen Dingen die Vielfalt an Moeglichkeiten.

Das Tanken war bisher ja eher ein leidige Angelegenheit, besonders wenn
man schon weiss, das man fuer einen bestimmten NPC immer eine feste Anzahl
Tankrunden einplanen kann. (Bei 20 ewig gleichen Tankrunden wirds schon
langweilig ...)

Ich hoffe nur, das manche NPCs dann dahingehend geaendert werden, das es 
auch zum Kampf kommt und man nicht beim 2ten Schlag vom NPC atomisiert wird.
Das legt es naemlich erst Nahe, die Taktik: 'rein, 1 Schlag, tanken'
anzuwenden.

Fuer Teamkampf-NPCs waere es auch besser, wenn sie nicht binnen Sekunden die 
Haelfte des Teams zerstaeuben, so dass man wirklich mal zusammen kaempft. 
Dafuer duerften sie dann natuerlich zaeher sein.
Meinetwegen kann ein NPC stattdessen jemanden ruhig blindmachen, paralysieren 
oder mal aus dem Raum werfen (waffenklauen nicht inbegriffen ;) ) aber diese 
Wilden Kraftausbrueche (160 LP in 1 Sekunde futsch) fuehren erst dazu, das 
dann Leute die absolute Superwaffe haben wollen, weil andere Waffen Null 
Wirkung zeigen.

Aem ja, Scheisse, voll am Thema vorbei, aber egal:
Was ich eigentlich sagen wollte:

Ich bin fuer das neue Tankkonzept, fuer Seherberufe und fuer alles, was
dem Durchschnittsseher neuen Spass bereiten kann.
Ich hoffe, dass dann die Zeiten vorbei sind, wo man ganze Regionen leerfegen
musste, um die Knete dann im naechsten Kampf versaufen zu koennen.
Wenn das Tanken/die Regeneration interessant gestaltet waere, haetten sich
auch Tankskripts erledigt.

Ich will jetzt nicht die Interessen der Nicht-Seher ausklammern, aber wenn 
man auf normale Art Seher wird, ist man meistens so bis Stufe 35 dermassen
mit Questen und ZT-suchen ausgelastet, dass die hier diskutierten 
Aenderungen nicht so wichtig sind.

So, genug geschwallert und ausnahmsweise nich gejammert.

Froghunter

-----------------------------------------------------------------------------



Re^3: Lang erwartet, hier isses: Das Kneipenkonzept (Bongo, 18. Sep 1997, 10:32:40):
~#! rn=Silvana rt=874438246 rg=entwicklung
~#! tid=874436304
Hmm, ich erinnere mich da an ein Zwergensteak in einer Quest....
Wird bestimmt ein lustiger Anblick, wenn die Spieler die toten
Zwerge hinter sich herschleppen und zum Metzger bringen :-))))

Bongo 
----> ab nach Schmarrn.

-----------------------------------------------------------------------------



Re^4: Lang erwartet, hier isses: Das Kneipenkonzept (Orktoeter, 18. Sep 1997, 16:26:51):
~#! rn=Bongo rt=874571560 rg=entwicklung
~#! tid=874436304
Tja, sieht ja aos aus, als ob es nur positive Antworten gaebe.
Da falle ich wohl etwas aus dem Rahmen *grins*.
Vieles an dem neuen Konzept gefaellt mir auch ganz gut, aber ich bin gegen
eine der Hauptaenderungen. Meiner Meinung nach sollte es dabei bleiben, das
die LP MP direkt aufgefuellt werden (ich weiss, keine Chance, aber das ist nun
mal meine Meinung).
Begruendung (ausser das das halt schon immer so war und bestandteil des
normalen Kaempfens im MG ist) ist, das ich der Meinung bin, das die hohe
Kampfkraft aus anderen Dingen reslutiert (staerkere Gilden, hoehere Stats,
mehr/bessere Zusatzwaffen) und man dann doch eher an den eigentlichen Ursachen
ansetzen sollte.

Ich stelle mir gerade die Frage, ob man in Zukunft "in einem Durch" kaempfen
kann, oder ob man pausen zum hochideln einlegen muss (und wenn ja, wie lange
die Pausen sein werden). Hoffentlich wird nicht vergessen, das es Spieler
gibt, die halt lieber Metzeln als Bluemchen zu pfluecken.

OrkT.

-----------------------------------------------------------------------------



Re^5: Lang erwartet, hier isses: Das Kneipenkonzept (Angrim, 18. Sep 1997, 16:38:53):
~#! rn=Orktoeter rt=874592811 rg=entwicklung
~#! tid=874436304
So leid es mir auch tut, ich muss mich Orktoeter in diesem Punkt bedingungslos
anschliessen, wenn vielleicht auch aus etwas anderen Gruenden. Ich als
Bierschuettler muss einfach viel tanken, allein weil meine Zaubersprueche
(z.b. Erdbeben/Nebel) wesentlich teurer als die anderer Gilden sind. Bisher
war das kein Problem, da ich das wieder weg gemacht habe, da ich dafuer ja
auch wesentlich mehr trinken konnte. Wenn ich jetzt aber fuer die 70 bzw. 50
SP fuer Erdbeben/Nebel bzw. 50 SP fuer Nuechtern staendig ideln muss, kann ich
das ganze irgendwie direkt vergessen. Eine vernuenftige Loesung faellt mir so
auf Anhieb auch nicht ein, aber SO werden wir Bierschuettler zumindest
uebermaessig stark getroffen (wieviel kostete doch gleich ein Donner 12?
15???)
                                       Gruss Angrim
P.S.: Vielleicht koennte man ja auch einfach die Bierschuettlerkneipe etwas
aufwerten und dort (als Bierschuettler) die Punkte wie bisher direkt gut
geschrieben bekommen...

-----------------------------------------------------------------------------



Re^6: Lang erwartet, hier isses: Das Kneipenkonzept (Orktoeter, 18. Sep 1997, 16:41:37):
~#! rn=Angrim rt=874593533 rg=entwicklung
~#! tid=874436304
Hm nur mal so als anmerkung, der Schnellspruch bei uns Abenteurern kostet 100
in Worten einhundert Magiepunkte.

Aber Abenteurer sollen ja eh die schwaechste Gilde sein.
OrkT.

-----------------------------------------------------------------------------



Re^7: Lang erwartet, hier isses: Das Kneipenkonzept (Alpha, 18. Sep 1997, 16:46:43):
~#! rn=Orktoeter rt=874593697 rg=entwicklung
~#! tid=874436304
Schuettelstarre kostet AUCH 100 MPs.

-----------------------------------------------------------------------------



Re^4: Lang erwartet, hier isses: Das Kneipenkonzept (Fyt, 18. Sep 1997, 16:49:29):
~#! rn=Birdy rt=874497555 rg=entwicklung
~#! tid=874436304

Sind Raeume (und damit Kneipen) nach dem Feature-Fix wegen der Quelle
bei Chilana nicht immer voll?

*gruebel*

Fyt.

-----------------------------------------------------------------------------



Re^6: Lang erwartet, hier isses: Das Kneipenkonzept (Bongo, 18. Sep 1997, 17:00:33):
~#! rn=Angrim rt=874593533 rg=entwicklung
~#! tid=874436304
Hochidlen???? Silvana meinte was von 25facher Heilung gegenueber normal....
Das kann man doch wohl kaum idlen nennen

-----------------------------------------------------------------------------



Re: Lang erwartet, hier isses: Das Kneipenkonzept (Acrimon, 18. Sep 1997, 19:57:49):
~#! rn=Silvana rt=874436304 rg=entwicklung
~#! tid=874436304
Hervorragende Idee.
Gleich noch eine Anregung dazu:

Wie waers mit einer flexiblen Regenerationsrate?
Also beispielsweise:
Getraenk A wirkt kurzfristig und ver40facht die Regenerationsgeschwindigkeit,
Getraenk B wirkt langfristig und ver5facht die Regenerationsgeschwindigkeit.

Ich faende es auch schoen, wenn ein Getraenk mehr als eine Regenerationsrate
haben kann, also zum Beispiel:
50 LP werden mit einer Regenerationsrate von 4 LP / HB verteilt, und
zusaetzlich werden 70 LP mit einer Regenerationsrate von 1 LP / HB verteilt.

Dann kann ein Getraenk sowohl kurzfristige wie auch langfristige Wirkung
haben.


Und ich glaube, dasz auch langfristig wirkende Getraenke sehr begehrt sein
werden.


Ein anderes Beispiel fuer ein Getraenk mit mehreren Regenerationsraten:
30  LP mit  6 LP  /  HB
50  LP mit  1 LP / 2 HB
30  MP mit  6 MP  /  HB
30  MP mit  1 MP  /  HB
40  MP mit  1 MP / 5 HB


Acrimon, der Rote Ritter freut sich schon auf ein flexibleres Tanksystem.

PS: Wie waers mit einer Umbenennung "Magiepunkte" in "Konzentrationspunkte"?

-----------------------------------------------------------------------------



Re^6: Lang erwartet, hier isses: Das Kneipenkonzept (Acrimon, 18. Sep 1997, 20:02:24):
~#! rn=Angrim rt=874593533 rg=entwicklung
~#! tid=874436304
Ich bin gegen eine Direktauffuellung der LP/MP (auszer bei ganz bestimmten
Speisen oder Getraenken, die recht selten sein duerften), weil es einfach
nicht sinnvoll ist.

Aber eine Verbesserung des Tanksystems koennte auch den Bierschuettlern zugute
kommen: Wie waers, wenn hochlevlige Bierschuettler schnellere
Regenerationsraten bekommen als ueblich? Evt nur in belieferten Kneipen?

Acrimon, der Rote Ritter

-----------------------------------------------------------------------------



Re: Re: Lang erwartet, hier isses: Das Kneipenkonzept (Silvana, 18. Sep 1997, 22:55:36):
~#! rn=Acrimon rt=874605469 rg=entwicklung
~#! tid=874436304
Eine nette Idee, Acrimon, hat nur ein kleines programmiertechnisches
Problem: Wenn ich eine konstante Heilgeschwindigkeit aus Speisen und
Getraenken annehme, laesst sich das mit vergleichsweise sehr wenig
Auswand machen. Wenn ich immer erst eine Liste von ausstehende 
Heilungen durchsuchen muss, wirds rechenintensiv. Nicht, dass das bei
einem Spieler ins Gewicht faellt, aber bei 150 wird mans deutlich merken.
Wenn mir was einfaellt, wie man das ohne zu viel Rechnerei machen kann,
bau ichs gerne mit ein, aber zu viel Rechenzeit darf gerade der heart_beat
nicht brauchen.

  Silvana

-----------------------------------------------------------------------------



ARGL! (Gnome, 19. Sep 1997, 08:36:13):
hi,
ich wollt mal anfragen, ob dass mit den reboots/crashs jetzt so weiter geht,
oder ob es demnaechst mal wieder ne vernuenftige up-time gibt? ich weiss,
manche mag sagen jetzt: interessiert mich nicht, da jammert wieder nur
einer... aber es ist _richtig_ nervig sich 4x pro woche ausruestung zu
besorgen und besonders als kaempfer ist man in den arsch gekniffen!

gnOme beneidet manchmal die karatekas :-(

-----------------------------------------------------------------------------



Re: Lang erwartet, hier isses: Das Kneipenkonzept (Larissa, 19. Sep 1997, 09:14:37):
~#! rn=Silvana rt=874436304 rg=entwicklung
~#! tid=874436304

Hm....

ich hab mal nur eine winzige Frage:
Wenn es "unrealistisch" ist, dass ein Spieler in wenigen Sekunden
Kiloweise Schnitzel und Cola 'tankt', und (auch) deshalb eine
Aenderung der Tankgeschwindigkeit fuer noetig gefunden wird, dann
moechte ich nur mal anmerken, dass es mindestens ebenso unrealistisch
ist in 5 Sekunden vom Polargebiet in die Wueste rennen zu koennen.

Ups, war keine Frage sondern eine Anmerkung.

Lari, sieht nicht, wieso die Geschwindigkeit veraendert werden soll.

-----------------------------------------------------------------------------



Re: ARGL! (Catweazle, 19. Sep 1997, 10:23:19):
~#! rn=Gnome rt=874650973 rg=entwicklung
~#! tid=874650973
Moin!

Tut mir Leid, aber ab und an musst Du halt mal damit rechnen, das ein
Mud mehrlas woechentlich absemmelt. Ich kann Dir nichts weiter empfehlen,
als das Du Dich damit abfinden muessen wirst. 
Wir hatten jetzt 2 mal reboot (die waren einfach noetig, ich _musste_
das filesystem reparieren) und 2 mal kurz darauf crash. Manchmal
haeuft sich sowas halt. Ich koennte Dir das jetzt genauer erklaeren,
aber auf Statistik bin ich momentan nicht besonders gut anzusprechen :-)

Yours truly,
     Catweazle

-----------------------------------------------------------------------------



Re: Re: ARGL! (Hardil, 19. Sep 1997, 13:31:30):
~#! rn=Catweazle rt=874657399 rg=entwicklung
~#! tid=874650973

Komm ins AnderLand. Da semmelt das Mud fast nie ab, und wenn es dann doch
einmal passiert, gibt es immer so eine netten Entschuldigung in der Zeitung,
dass man als Spieler gar nicht mehr boese sein kann.
AnderLand: 130.83.112.121 31415 oder anderland.imaginary.com
:-)

-Hardil.

-----------------------------------------------------------------------------



Re^3: Lang erwartet, hier isses: Das Kneipenkonzept (Morgoth, 19. Sep 1997, 13:54:06):
~#! rn=Silvana rt=874616136 rg=entwicklung
~#! tid=874436304
Wie waers mit einem Mapping, mit key=absolute zeit und value=heilrate. Sowas
gammelt doch schon irgendwo in der lib rum, frag mich aber nicht wo.
M*

-----------------------------------------------------------------------------



Re^3: ARGL! (Orktoeter, 19. Sep 1997, 16:12:56):
~#! rn=Hardil rt=874668690 rg=entwicklung
~#! tid=874650973
Entschuldigung muss doch gar nicht sein, aber wenn einem wenigstens gesagt
wuerde, warum es neu gestartet wurde, das waere doch schon was.
Wie waere es, wenn jder magier an einem bestimmten Level beim einloggen
angezeigt bekommt, das das MG neu gestartet worden ist und noch kein
entsprechender Artikel geschrieben, dann koennte sich einer derjenigen mal
kundig machen und nen entsprechenden artikel schreiben (ein oder zwei in der
art hat es ja schon gegeben)

OrkT.

-----------------------------------------------------------------------------



Re^4: Lang erwartet, hier isses: Das Kneipenkonzept (Quasimodo, 19. Sep 1997, 17:06:58):
~#! rn=Morgoth rt=874670046 rg=entwicklung
~#! tid=874436304
Wie waere es, wenn man LP _abgezogen_ bekommt, jedes Mal, wenn man
_nuechterner_ wird. Dann kommt so langsam der Kater durch, wenn man nicht
weitertrinkt.

Quasi fast sich an Kopf und haelt das fuer realistisch... :-D

-----------------------------------------------------------------------------



Re^4: Lang erwartet, hier isses: Das Kneipenkonzept (Acrimon, 19. Sep 1997, 18:05:27):
~#! rn=Morgoth rt=874670046 rg=entwicklung
~#! tid=874436304
Ich hab mir jetzt mehr Gedanken ueber ein Tanksystem gemacht.

Zum "programmiertechnischen Problem":
Mit Hilfe von einem Mapping geht das schon recht schnell, aber ich kenne
eine noch schnellere Moeglichkeit, bei der auszer beim Tanken nichts
gerechnet oder gesucht werden mu. (Sortiertes Array)
Genaueres am Ende dieses Artikels.


Was soll passieren, wenn jemand mehr als ein Getraenk trinkt?
Mir sind da folgende Moeglichkeiten eingefallen:


Moeglichkeit 1:
---------------

Die Regenerationsgeschwindigkeiten der verschiedenen Getraenke werden
addiert.

Wenn also jemand beispielsweise ein Getraenk A, ein Getraenk B und
ein Getraenk C trinkt, die folgende Regenerationsgeschwindigkeiten haben:

|     Getraenk A              Getraenk B             Getraenk C
| 100 MP mit 2 MP / HB   50 MP mit 5 MP / HB     50 MP mit 1 MP / HB
|                        60 MP mit 1 MP / 2 HB   15 MP mit 3 MP / 10 HB
|                                                80 MP mit 1 MP / 5 HB


dann regeneriert er:
1.  - 10. HB:  9   MP pro HB
11. - 50. HB:  4   MP pro HB
51. -120. HB:  0,7 MP pro HB
121.-400. HB:  0,2 MP pro HB

Vor-/Nachteil:
Wenn der Spieler weniger trinkt, ist die Regenerationsgeschwindigkeit
langsamer, dafuer haelt die Wirkung genauso lange an.


Moeglichkeit 2:
---------------

Die Regenerationszeiten der verschiedenen Getraenke werden
hintereinandergehaengt, nachdem sie sortiert wurden.

Wenn also jemand beispielsweise ein Getraenk A, ein Getraenk B und
ein Getraenk C trinkt, die folgende Regenerationsgeschwindigkeiten haben:

|     Getraenk A              Getraenk B             Getraenk C
| 100 MP mit 4 MP / HB   60 MP mit 4 MP / HB     90 MP mit 9 MP / HB
|                        49 MP mit 0,7 MP / HB   56 MP mit 1 MP / 5 HB

dann regeneriert er:
1.  - 10. HB:  9   MP pro HB      90
11. - 50. HB:  4   MP pro HB      160
51. -120. HB:  0,7 MP pro HB      49
121.-400. HB:  0,2 MP pro HB      56

Vor-/Nachteil:
Wenn der Spieler weniger tankt, bleibt die Regenerationsgeschwindigkeit
gleich hoch, dafuer haelt die Wirkung kuerzer an.


Moeglichkeit 3:
---------------

Kombination aus Moeglichkeit 1 und Moeglichkeit 2:
Alles Alkoholische wird nach Moeglichkeit 2 zusammengehaengt,
alle analk. Getraenke werden nach Moeglichkeit 2 zusammengehaengt,
alle Speisen werden nach Moeglichkeit 2 zusammengehaengt,
und diese drei geben gleichzeitig die LP bzw. MP an den Spieler ab.

Vor-/Nachteil:
Wenn der Spieler viel Wert auf schnelle Regeneration legt,
musz er sich um alle drei Arten von Nahrungsmitteln kuemmern;
wenn er aber auf lange Zeit im Voraus tankt, dann musz er
sich an einer Nahrungsmittelart "ueberfressen".


Moeglichkeit x:
---------------
Vielleicht faellt noch jemandem eine gute Moeglichkeit ein?

---------------
Denkt mal ueber diese Moeglichkeiten nach.
Und ich will erstmal keine Bedenken bezueglich des Programmieraufwandes
hoeren - denn wichtig ist erstmal herauszufinden, was gewuenscht ist.
Wenn wir wissen, was das Erstrebenswerteste ist, dann wird uns auch
garantiert eine leichte Implementierungsmoeglichkeit einfallen.

Mir persoenlich gefaellt die dritte Moeglichkeit am besten.


---------------
Noch zwei Ueberlegungen:

- Soll es auch Getraenke geben duerfen, die ihre Wirkung erst nach
bestimmter Zeit entfalten, also beispielsweise vom 1. bis 20. Heartbeat
gibts jeweils einen LP, und vom 21. bis 40. Heartbeat jeweils 6 LP?

- Wie waere es, wenn die LP und MP keine ganzen (int) Zahlen sind,
sondern gebrochene Zahlen, also (int)/100 oder (int)/256 ?
Dann gibt die _interne_ LP bzw. MP nicht mehr ganze, sondern
hundertstel oder 256tel (wirkliche) LP bzw. MP wieder.
Der Spieler wird davon zwar nichts merken, aber es vereinfacht
die Implementierung von Regenerationsraten extrem:
dann wird nicht mehr jeden fuenften Heartbeat ein LP addiert,
sondern jeden Heartbeat 0,2 LP addiert.
Der Spieler bekommt nur den ganzzahligen Teil der LP zu sehen,
und da man weiterhin bei <0 LP stirbt, merkt er gar nicht, dasz
es den gebrochenen Teil gibt.
Der Code wird aber extrem vereinfacht - man musz nicht mehr
bis zur fuenften Runde zaehlen, um dann einen LP zu addieren.
Auch der Rechenzeit kommt das zugute.


---------------
Zu den Bedenken von Silvana:

Du kannst es entweder per Mapping machen (duerfte eine gute Moeglichkeit
sein) oder mit einem sortierten Array:
Jedesmal wenn ein Spieler in der Kneipe tankt, wird im Spieler sein
Tankarray geupdated, in dem (sortiert) drinsteht, wieviele Runden lang
wieviele MP/LP pro Runde spendiert werden.
Mit jedem Heartbeat wird also nicht mehr gemacht als:
| heartbeat(...) {
|     ...
|     player->hp += player->tankarray[0].hp;
|     player->mp += player->tankarray[0].mp;
|     if (--player->tankarray[0].runden == 0)
|         player->tankarray = &player->tankarray[1];
|     ...
| }

Wie genau das Tankarray in der Kneipe sortiert wird, haengt von den
oben genannten Moeglichkeiten 1-3 ab, ab sei versichert, Silvana:
Egal was gewaehlt wird, das Tankarray laeszt sich mit relativ wenig
Rechenaufwand updaten.
---------------

Acrimon, der Rote Ritter (gruebelnd)

-----------------------------------------------------------------------------



Sprachen (Orktoeter, 19. Sep 1997, 18:19:07):
Hmm wenn schon eine grosse Aenderung ansteht, warum dann nicht gleich so
richtig ?
Wenn die Untertschiede der einzelnen Rassen jetzt ueber die Rassenboni und
einige Unterschiede in verschiedenen Gilden hinaus auf das Tanken ausgedehnt
werden (was ich durchaus fuer gut erachte), warum dann nicht gleich noch einen
Schritt weiter gehen und unterschiedliche sprachen fuer unterschiedliche
Rassen einbauen, so das man als Zwerg einen Elfen nicht versteht, wenn man
nicht "Elfisch" gelernt hat. Natuerlich sind einige Rassen sprachbegabter als
andere.. 
Das wuerde dem eigentlichen Rollenspiel sehr zu gute kommen.

OrkT.

-----------------------------------------------------------------------------



Re: Sprachen (Nirdavo, 19. Sep 1997, 18:27:28):
~#! rn=Orktoeter rt=874685947 rg=entwicklung
~#! tid=874685947
  Siehe Holy Mission... nur so als Anmerkung fuer die zustaendigen Magier.
Das dort implementierte System ist wirklich nicht schlecht, vielleicht kann
man das auch hier einbauen. Ob es ueberhaupt geht, und wieviel aufwand das
bedeuten wuerde, weiss ich natuerlich nicht, aber hoffen ist ja wohl erlaubt.

         Nirdavo, unterstuetzt gute Ideen.

P.S. Noch ein bueschn Mayo zum neuen Kneipenkonzept: Endlich kommt mal ein
Konzept, das man diskutieren kann, ohne dass man viel vorher ueber geplante
Aenderungen Raterei betreiben muss. Ich denke, dass ich mit einem solchen
Konzept gut klarkommen werde; besonders Acrimons Artikel hoerte sich sehr
interessant an. Ich harre denn mal der DInge die da kommen.

-----------------------------------------------------------------------------



Re: Re: Sprachen (Asmodis, 19. Sep 1997, 18:52:19):
~#! rn=Nirdavo rt=874686448 rg=entwicklung
~#! tid=874685947
Ich halte nix davon, jetzt andere MUDs zu kopieren. Das MG hatte immer
einen eigenen Stil und sollte das beibehalten.

Und die Vorschlaege zum tanken sind alle so kompliziert, warum nicht
einfach halten ?? x LPs/MPs (wobei essen die lps und alk die mps
hochsetzt und nicht-alk beides) pro HB ist doch ne akzeptable 
Loesung.

-----------------------------------------------------------------------------



Re: Sprachen (Yendi, 19. Sep 1997, 21:20:16):
~#! rn=Orktoeter rt=874685947 rg=entwicklung
~#! tid=874685947

Hmmm... In den meisten Fantasy-Werken, die ich kenne, sind Sprachen eigentlich
kein problem. Haeufig gibt es eine gemeinsame Handelssprache, in der man sich
verstaendlich macht, wenn auch solche Kulturgueter wie Dichtung und Gesang
in der eigenen Ursprache gepflegt werden (s.a. Herr der Ringe).

Ausserdem soll dieses MUD die Kommunikation foerdern, nicht erschweren --
darum die Kanaele, darum die MPA, deshalb auch der Verzicht auf das 
"ersteinmal-Kennenlernen-muessen,-bevor-man-sich-etwas-mitteilen-kann",
was man aus anderen MUDs vielleicht kennt.

Ergo: Man koennte spezielle Elfen-, Zwergen- und Hobbitsprachen einfuehren,
sollte aber (z.B.) die Menschensprache als offizielle Umgangssprache waehlen.



-----------------------------------------------------------------------------



Re^5: Lang erwartet, hier isses: Das Kneipenkonzept (Raffi, 19. Sep 1997, 21:52:20):
~#! rn=Acrimon rt=874685127 rg=entwicklung
~#! tid=874436304
Nett ueberlegt. Klingt nicht schlecht - vor allem das mit dem aditiven
(Version 1) UND das mit dem verzoegerten einsatz.

Und wenn man wirklich das array mit den heilwerten beim Tanken berechnet
duerfte die Lagangst auch vom Tisch sein. Daten vorher aufbereiten wasr schon
immer gut.

Gruss
H.

-----------------------------------------------------------------------------



Re^5: Lang erwartet, hier isses: Das Kneipenkonzept (Mindblade, 19. Sep 1997, 21:58:15):
~#! rn=Acrimon rt=874685127 rg=entwicklung
~#! tid=874436304
Also, dieses Konzept mag ja in der Theorie klappen, aber so wie Du Dir das
vorstellst braucht man ja demnaechst nen Taschenrechner um zu wissen was man
tanken muss. Ausserdem solltest Du Dir mal Gedanken machen, wenn das fuer 150
Spieler ausgewertet werden muss, wenn da kein Lag aufkommt...

Mind*, immer schon fuer einfache Loesungen gewesen...

-----------------------------------------------------------------------------



Re: Re: Sprachen (Key, 20. Sep 1997, 00:48:03):
~#! rn=Yendi rt=874696816 rg=entwicklung
~#! tid=874685947
Yep ich kann Yendi da nur zustimmen ....
Ich weiss ja nicht wie ihr nen Verein der irgendwie was mit komunikation
erklaeren wollt wenn man sich nimmer versteht ....

Und wieso staendig diese Aenderungen? 
Bitte net schon wieder das Argument es ist realistischer ... wer das nach den
100mal erklaeren immernoch net rafft tut mir leid ....
Und weils in anderen muds so ist .... naja also wenn einem nix besseres dazu
einfaellt kann er ja in die anderen muds gehen ...

Aber was jammere ich schon wieder .... :))

Key

-----------------------------------------------------------------------------



Re^3: Sprachen (Felagund, 20. Sep 1997, 00:56:08):
~#! rn=Key rt=874709283 rg=entwicklung
~#! tid=874685947
Fuer viele steht vor diesen 'anderen muds' erstmal die Sprachbarriere..die
sind naemlich ausnahmslos englisch.
Im uebrigen kann ich nur empfehlen, sich mal eines dieser muds anzuschauen,
wenn auch nur, um zu verstehen, warum einige Leute hier gerne etwas aendern
wuerden.

Fela

P.S. wer ne addresse will kan mich ja ansprechen

-----------------------------------------------------------------------------



Re: Re: Lang erwartet, hier isses: Das Kneipenkonzept (Wurzel, 20. Sep 1997, 11:28:13):
~#! rn=Larissa rt=874653277 rg=entwicklung
~#! tid=874436304
vergesst doch mal diesen ganzen realismus. realistisch kann ich mit einem
einzigen messerstich jeden umbringen und genauso schnell umgebracht werden.
wenn ich nicht dran sterbe, habe ich fuer den rest meiner existenz eine mehr
oder weniger ueble narbe. das wollt ihr doch nicht hier verwirklicht sehen,
oder? oder tod als ende der existenz?
wenn ich realismus will, schaue ich mir die realitaet an, kein spiel.

wurzel

-----------------------------------------------------------------------------



Re: Re: Sprachen (Lug, 22. Sep 1997, 02:27:47):
~#! rn=Yendi rt=874696816 rg=entwicklung
~#! tid=874685947
Moin,

Superidee! Ich empfehle fuer die Elfen: Altirisch (Nicht Neuirisch, viel zu
simpel), fuer die Zwerge: Altnordisch (Bah Babysprache) und fuer die Hobbits
Kisuaheli (Ist PC, ey).

Entspricht dem generellen Trend alles zu verkomplizieren und ist auch schoen
realistisch.

Lug

-----------------------------------------------------------------------------



Re^3: Sprachen (Li, 22. Sep 1997, 10:01:22):
~#! rn=Key rt=874709283 rg=entwicklung
~#! tid=874685947
Hmm, rassensprachen...
wie waere es mit einem Befehl aehnlich dem zruf (zauberer ruf") den nur die
leute der entsprechenden rasse hoeren...
Oder einen kanal, auf dem nur die einzelnen rassen koennen.
So hat man eine "Geheimsprache" der rassen, mit nicht ganz so riesigem aufwand
LI

-----------------------------------------------------------------------------



Re^4: Sprachen (Key, 22. Sep 1997, 10:03:55):
~#! rn=Li rt=874915282 rg=entwicklung
~#! tid=874685947
Hmm also ich wuerde mal behaupten einzelne Sprachen rentieren sich nur in
einem Mud in dem PKs erlaubt sind ....
Also Rassenkaempfe stattfinden, sonst sehe ich da echt keinen Sinn drin ...

Key

-----------------------------------------------------------------------------



Re^3: ARGL! (Shahi, 22. Sep 1997, 12:17:21):
~#! rn=Hardil rt=874668690 rg=entwicklung
~#! tid=874650973
Das nenn ich mal ein wahres Wort Hard'l.....ausserdem nimmt man im AL ja auch
Fluechtlinge aus anderen MUD's bereitwillig auf und schenkt ihnen einen
eigenen Kanal....
Das AL, es lebe hoch!!!

's Shaherl.....grins

-----------------------------------------------------------------------------



Re^4: Sprachen (Woody, 22. Sep 1997, 13:13:50):
~#! rn=Li rt=874915282 rg=entwicklung
~#! tid=874685947
Im AL implementiert. "rede", und die anderen Rassen im Raum
sehen dann zB. "XY murmelt was in seinen Bart." etc.

Woody.-

-----------------------------------------------------------------------------



Re^3: Sprachen (Qitess, 22. Sep 1997, 16:23:14):
~#! rn=Lug rt=874888067 rg=entwicklung
~#! tid=874685947

Djambo ! 

... nee, ich bin ja gar kein hobbit... dann eben :

Moin ! ( = Altnordisch ? :) )

Dann wird es frueher oder spaeter nur noch Menschen im MUD geben .

QI**

      versteht nix mehr. Das MorgenGrauen ist jetzt doch auch ganz schoen...


-----------------------------------------------------------------------------



Re: Re: Lang erwartet, hier isses: Das Kneipenkonzept (Trancefear, 22. Sep 1997, 18:42:55):
~#! rn=Larissa rt=874653277 rg=entwicklung
~#! tid=874436304
Stimmt schon. Aber man koennte in die Hauptwege ab und an kleine
Transporterstrecken einbauen (einen Fluss, der per Boot ueberquert werden muss
etc), dann hoert das Durchrennen schlagartig auf.

T.F.

-----------------------------------------------------------------------------



Re^3: Lang erwartet, hier isses: Das Kneipenkonzept (Key, 22. Sep 1997, 18:43:59):
~#! rn=Trancefear rt=874946575 rg=entwicklung
~#! tid=874436304
Auja ... dann bauen alle megalange superscripte, die dranvorbeilaufen oder
aehnliches ...

Viel Spass beim Lag!

Key

-----------------------------------------------------------------------------



Re^4: Lang erwartet, hier isses: Das Kneipenkonzept (Trancefear, 22. Sep 1997, 18:49:13):
~#! rn=Key rt=874946639 rg=entwicklung
~#! tid=874436304
Du verstehst nicht... wenn man sowas *richtig* macht, dann geht *kein* weg
dran vorbei

T.F.

-----------------------------------------------------------------------------



Re^5: Lang erwartet, hier isses: Das Kneipenkonzept (Fyt, 22. Sep 1997, 18:50:11):
~#! rn=Trancefear rt=874946953 rg=entwicklung
~#! tid=874436304

Traeum weiter, Trancefear.

Fyt 'es gibt immer einen Weg' Awez.

-----------------------------------------------------------------------------



Re^5: Sprachen (Trancefear, 22. Sep 1997, 18:52:43):
~#! rn=Woody rt=874926830 rg=entwicklung
~#! tid=874685947
Das nutzt nur keiner. Vielleicht sollte es *andersrum* gehen, in dem Sinne,
das ein neuer Spieler erst nur die Sprache seiner Rasse spricht, und erst nach
und nach die "gemeinsame Sprache" lernt. Das wuerde den Zusammenhalt der
Spieler ein Rasse staerken, denn zunaechst wendet man sich immer an "die
eigenen Leute".

T.F.

-----------------------------------------------------------------------------



Re^6: Sprachen (Key, 22. Sep 1997, 20:16:45):
~#! rn=Trancefear rt=874947163 rg=entwicklung
~#! tid=874685947
Es wuerde die Komunikation stoehren, und fuer die ist diese Mud ja irgendwie
da ...

Schluss aus.

Aber wenn jemand jetzt so heiss auf sprachen ist, mich interessiert das nicht
so sehr ... dann macht man sich halt von jeder rasse nen schoenen zweitie ....

Key

-----------------------------------------------------------------------------



Re^5: Sprachen (Nachtwind, 22. Sep 1997, 20:29:49):
~#! rn=Key rt=874915435 rg=entwicklung
~#! tid=874685947
Ich wuerde Key da so ein bisschen recht geben. 

Wenn man gewisse 'Feindschaften' zwischen den verschiedenen
Rassen einfuehren und auch das Rollenspiel etwas in den 
Vordergrund ruecken will, muten manche Situationen im Mud dann 
doch etwas seltsam an. Was soll ich als Elf z.B. machen, wenn 
mal wieder ein Zwergenzauberer den Elfenbaum 'aufraeumt' und 
ich daneben stehe? 

Als Elf wuerde ich das wohl kaum tolerieren. 
Deshalb ein kleiner provokativer Vorschlag am Rande:
Warum nicht jemanden, der eine Heimat einer Rasse angegriffen hat
(Elfendorf etc.) fuer begrenzte Zeit fuer Angehoerige dieser Rasse
fuer vogelfrei erklaeren? Eine Property mit den Namen der
angegriffenen Rasse(n) und der verbleibenden Zeit kann ja 
nicht so aufwendig zu realisieren sein. Bei einem PK muesste 
dann diese Property geprueft werden und eventuell der PK nicht 
gesetzt werden, wenn der killer (einer) der angegriffenen
Rasse(n) angehoert.

Nur meine 2 Muenzen,

Nachtwind. Der Inquisitor der Kandri.

PS: Dieser Mechanismus koennte dann spaeter auch benutzt werden,
    um wichtige NPCs zu schuetzen. Waere auch irgendwie lustiger,
    den Kill eines fuer alle Rassen wichtigen NPCs (Gildennpcs zB) 
    mit einer kurzen Vogelfreiheit zu bestrafen. Einfach dann 
    (fuer kurze Zeit) ALLE Rassen in die Property eintragen.

-----------------------------------------------------------------------------



Re^6: Sprachen (Pampers, 22. Sep 1997, 20:31:12):
~#! rn=Nachtwind rt=874952989 rg=entwicklung
~#! tid=874685947
Nett. Aber ich wette an dieser Stelle eine Kiste Kronen Export, dass das
niemals realisiert wird. Es sei denn, um die Kiste Kronen Ex abzuzocken. :-)

Pampers.

-----------------------------------------------------------------------------



Re^6: Sprachen (Key, 22. Sep 1997, 20:31:56):
~#! rn=Nachtwind rt=874952989 rg=entwicklung
~#! tid=874685947
Hmm wird es hier nie geben ....
Das mg ist kein pk mud sondern ein quest mud ...

So sagte es mal Boing :) Naja net genauso, aber vom sinn her muesste es
stimmen ;)

Key

-----------------------------------------------------------------------------



Re^7: Sprachen (Nachtwind, 22. Sep 1997, 20:33:00):
~#! rn=Pampers rt=874953072 rg=entwicklung
~#! tid=874685947
Ich glaube auch nicht, das sowas kommt :) 
Deswegen auch 'provokativ'. Ich wollte nur auf
das Problem aufmerksam machen und hab nur eine
moegliche (wenn auch unwahrscheinliche) loesung genannt...
Aber lustig waers :)
Nachtwind.

-----------------------------------------------------------------------------



Re^8: Sprachen (Wurzel, 22. Sep 1997, 21:05:11):
~#! rn=Nachtwind rt=874953180 rg=entwicklung
~#! tid=874685947
lustig vielleicht. aber das morgengrauen ist von anfang an darauf angelegt
gewesen, playerkills nicht zu tolerieren. und das finde ich nach wie vor
richtig, auch wenn es sowas wie die arena gibt (muss ja keiner rein).

wurzel

-----------------------------------------------------------------------------



Re^3: Lang erwartet, hier isses: Das Kneipenkonzept (Alpha, 22. Sep 1997, 21:31:58):
~#! rn=Trancefear rt=874946575 rg=entwicklung
~#! tid=874436304
WAHHHH! Solch ein Vorschlag aus Spielermund? Welcher Seher ist denn Dein
Erstie? Es ist doch schon grausam genug, auf die doofen Schiffe zu warten,
nach FW laufe ich ja schon. Und wenn erst gleichzeitigen Einloggen der
Zweities verboten ist - was soll ich denn dann machen? In den Bildschirm
starren?

-----------------------------------------------------------------------------



Re^4: Sprachen (Lug, 23. Sep 1997, 00:41:33):
~#! rn=Qitess rt=874938194 rg=entwicklung
~#! tid=874685947
Moin,

Moin ist natuerlich nicht altnordisch, sondern eine Verkuerzte Form fuer
"moien Dag" = "Schoenen Tag". Darum wird das im NW-Deutschen auch den ganzen
Tag lang gebraucht.

Laber
Lug

-----------------------------------------------------------------------------



Re^7: Sprachen (Hardil, 23. Sep 1997, 10:19:11):
~#! rn=Pampers rt=874953072 rg=entwicklung
~#! tid=874685947

Pampers!

Wer uasser Dir trinkt schon Kronen Export.
Ich glaube, das musst Du schon selber programmieren, damit dieses "Bier" nicht
auf Ewigkeiten in der Flasche bleibt.

-Hardil.

-----------------------------------------------------------------------------



Re^6: Sprachen (Qitess, 23. Sep 1997, 13:25:24):
~#! rn=Nachtwind rt=874952989 rg=entwicklung
~#! tid=874685947
entschuldigung, aber die idee mit dem _erlaubten_ PK halte ich schlichtweg
fuer scheisse.
wie gesagt, entschuldigt den ausdruck, aber DAS geht mir jetzt a bisserl weit.
die idee mit den verschiedenen sprachen ist schon daemlich, aber auch noch die
rassen sich verfeinden zu lassen ist jawohl [...]

ich finde die idee mit dem neuen kneipen-konzept ehrlich gesagt auch nicht so
doll. irgendwie gehoert es zum MG, dass man da fix einen heben geht und
fertich is die sache.
QI** versteht die Welt nich' mehr...


-----------------------------------------------------------------------------



Re^7: Sprachen (Alpha, 23. Sep 1997, 13:31:12):
~#! rn=Qitess rt=875013924 rg=entwicklung
~#! tid=874685947
Da muss ich Dir zustimmen. Die geplanten Veraenderungen sollen das MG doch
besser machen, oder? Also: wenn viele Spieler das alte Kneipenkonzept moegen
und viele Spieler das Neue, warum machen wir (aeh die Magier natuerlich) es
nicht genauso? Warum muss bei einer Neuerung etwas Altes, Gutes weggenommen
werden? Fuegt doch einfach nur was neues hinzu! Alle neu angeschlossenen
Kneipen koennen doch so funtionieren. Und die alten (zumindest einige) so, wie
sie sind bleiben. Ich denke, so waeren alle ganz gluecklich.

-----------------------------------------------------------------------------



Re^4: Lang erwartet, hier isses: Das Kneipenkonzept (Anatol, 23. Sep 1997, 13:51:42):
~#! rn=Alpha rt=874956718 rg=entwicklung
~#! tid=874436304
Trancefear ist ein inkonsequentes Magierueberbleibsel, das besser in
einem anderen Mud seine "Konzepte" umsetzen sollte. 

Frech wie immer,
Anatol


-----------------------------------------------------------------------------



Re^8: Sprachen (Nirdavo, 23. Sep 1997, 14:10:00):
~#! rn=Alpha rt=875014272 rg=entwicklung
~#! tid=874685947
  Hm, dieser Vorschlag ist erhlich gesagt ziemlich undurchdacht. Wer wuerde
denn freiwillig die 'neuen' Kneipen benutzen, wenn es noch auf die alte
Methode moeglich waere? Ueberleg mal selber, Alpha, wuerdest Du? Ich selber
wuerde jedenfalls nicht, und ich finde das neue Konzept ehrlich super! Mich
hat das 'tanken' naemlich immer schon gestoert, es ist so irgendwie voellig am
Realismus vorbei. Nicht das das neue Konzept realistisch ist, aber wenigstens
wird man nicht mehr nach dem Motto 'hau wech, und du bist wieder gesund'
geheilt.

  Sprachen: Ich hielte es fuer eine gute Idee, auch wenn ich den erlaubten PK
fuer zu weit gehend befinden wuerde. Aber wie ich den meisten letzten Artikeln
entnehmen konnte, stoesst diese Idee auf weit weniger Gegenliebe als das neue
Kneipenkonzept. Vergessen wir es also lieber wieder.

   Nirdavo, haette gern doch eine eingene Elfensprache

-----------------------------------------------------------------------------



Re^9: Sprachen (Boing, 23. Sep 1997, 14:12:56):
~#! rn=Nirdavo rt=875016600 rg=entwicklung
~#! tid=874685947
Eine Aenderung der Kneipen in der vorgeschlagenen Weise wuerde ausserdem
die momentan etwas dahinsiechenden (zumindest hab ich den Eindruck)
Heiler aufwerten. Wer Sofortheilung will, muss dann halt ein paar Muenzen
mehr auf den Tisch legen. Wobei ich die aktuellen Preisverhaeltnisse
auch nicht so genau kenne, aber ich hab so in der Erinnerung, dass die
Heiler ganz ordentlich fuer ihre Dienste verlangen ...
  Boing

-----------------------------------------------------------------------------



Re^9: Sprachen (Alpha, 23. Sep 1997, 15:08:49):
~#! rn=Nirdavo rt=875016600 rg=entwicklung
~#! tid=874685947
Genau das ist doch der Punkt, den ich meine. Wenn alle trotzdem die alten
Kneipen nutzen wuerden, waere das nicht ein Zeichen dafuer, das alle die alten
Kneipen besser finden? Ausserdem bin ich der Meinung, das eben halt nicht alle
die neuen Kneipen verschmaehen wuerden. Wenn ich Lust auf Atmosphaere habe,
geh ich da hin - aber ich habe nicht immer Lust dazu. Also: Neue Kneipen mit
Atmosphaere und Realismus (Realismus? Orks, Elfen! Magie....also mit Realismus
zu argumentieren, naja) finde ich supertoll, aber dafuer alte Kneipen
aufgeben? Wie soll ich dann Spells ueben oder mal ne Ausruestung
zusammenmetzeln? Bisher habe ich solange geuebt oder gemetztelt, bis ich an
den Scheitel voll mit Fluessigkeit war, und habe dann ne halbe Stunde
rumgeforscht und dann wieder gemetzelt. Wenn ich beim Ueben/Metzeln aber ewig
waren muss, bis ich ein Getraenk kriege, und bis das dann anschlaegt( nen
einfaches Erdbeben kostet bei uns halt 70MP - die hoch iddeln ist nur
langweilig) finde ich doof. Erst recht, wenn Zweities gleichzeitig einzuloggen
auch noch verboten wird...was soll ich dann in der Zwischenzeit machen? 3
minuten rumforschen? Eh ich da bin, wo ich forschen will, erst recht, wenn
noch mehr Scritbremsen aufgestellt werden, sind die 3 Minuten vorbei. Und ewig
in den Bildschirm glotzen unw arten ist wohl wirklich doof. 
Alpha will seine Zweities behalten

-----------------------------------------------------------------------------



Re^10: Sprachen (Key, 23. Sep 1997, 15:45:27):
~#! rn=Alpha rt=875020129 rg=entwicklung
~#! tid=874685947
Die alten Kneipe wuerden man aus dem Grund nutzen weil sie immernoch vom
tanken her besser sind als die neuen.
Oder vielleicht einfach nur aus Gewohnheit? :)

Aber eins erstaunt mich ... wenn selbst Alpha erkannt hat das das Argument
Realismus hier total fehl am Platz ist, warum dann noch nicht alle??

Key

-----------------------------------------------------------------------------



Beschraenkte Kanaele (Hate, 23. Sep 1997, 15:57:06):
Hi,

wenn sich jemand fuer die jeweiligen Rassen findet und einen kleinen master
schreibt ist es kein problem einen beschraenken Kanal einzurichten.
Gleiches gilt prinzipiell fuer die Gilden, etc. diese haben ja schon
ein Objekt, was die Vorgaenge auf den Ebenen ueberwacht.

Hate.

-----------------------------------------------------------------------------



Re: Beschraenkte Kanaele (Rantanplan, 23. Sep 1997, 15:58:09):
~#! rn=Hate rt=875023026 rg=entwicklung
~#! tid=875023026
Hmmmm,

schau Dir die Kanaele mal an, Hate.

Sind doch schon imemr total beschraenkt...

Oe*

-----------------------------------------------------------------------------



Re^11: Sprachen (Felagund, 23. Sep 1997, 16:07:42):
~#! rn=Key rt=875022327 rg=entwicklung
~#! tid=874685947
Also dass Alpha was erkennt wag ich zu bezweifeln..der plappert einfach nur
dir nach, Key ;)

Im uebrigen denk ich, dass du in einer Fantasyumgebung das Wort Realismus
nicht in dem Sinne von Realitaet sehen darfst, sondern eher an Vorstellbarkeit
denken musst. Gute Fantasy zeichnet sich eben durch eine schluessige und
nachvollziehbare Verschmelzung von unwirklichem und wirklichem aus. Find ich.

Wenn wir die alten Kneipen lassen und neue schaffen wird genau das eintreten,
was Key sagt..die meisten, darunter auch einige, die das neue Konzept wohl gut
finden, wuerden einfach aus Konkurrenzdruck heraus die alten Kneipen
weiternuitzen, einfach weil sie einfacher und schneller heilen.

Fela

-----------------------------------------------------------------------------



Re^12: Sprachen (Alpha, 23. Sep 1997, 16:10:53):
~#! rn=Felagund rt=875023662 rg=entwicklung
~#! tid=874685947
Sieh an, sieh an Fela hat auch was erkannt. Schnelle Heilung IST erwuenscht.
Schnelle Heilung gehoert zum MUD. Das Lag ist ja schon schlimm genug, aber
jetzt alles absichtlich! noch weiter zu verlangsamen....
Alpha will einfach nicht nur in den Bildschirm starren und nix tun.

-----------------------------------------------------------------------------



Re^13: Sprachen (Nirdavo, 23. Sep 1997, 16:29:54):
~#! rn=Alpha rt=875023853 rg=entwicklung
~#! tid=874685947
  Da muss ich aber mal widersprechen. Es ist in der Tat so, dass das
Instant-Heilen im Augenblick absolut zum MG gehoert, aber ist das deshalb auch
gut so? IMNSHO ist es das nicht. Und, Alpha, es ist ja nicht so, als muesste
man mit dem neuen Konzept eine halbe Ewigkeit auf seine LP/MP warten, sondern
es geht immer noch ganz schoen fix. 25-fache Geschwindgkeit war da wohl mal
ausgetestet worden, und damit hat man 100 LP in der Zeit zurueck, in der man
sonst 4 bekommt. Kling fuer mich nicht unbedingt nach langem ideln.
  Das Argument 'Die alten Kneipen sind besser, weil man da schneller geheilt
wird' klingt fuer mich nach einem typischen Munchkin-Argument, das in normalen
rollenspielen auftritt, nach dem Motto 'Das +2 Schwert taugt doch nix, ich
will lieber ein +5 haben, mit dem meine Gegner nach einem Schlag immer
umfallen' Es ist ja nicht so, dass durch die neuen Kneipen etwas
verschlechtert wuerde, es wird halt nur etwas anders (besser?). Ich glaube
zudem auch noch, dass es programmtechnisch kaum moeglich sein wird, beide
Kneipenversionen gleichzeitig angeschlossen zu halten.

    Nirdavo, senft aus voller Tube

-----------------------------------------------------------------------------



Re: Re: Beschraenkte Kanaele (Hate, 23. Sep 1997, 17:48:20):
~#! rn=Rantanplan rt=875023089 rg=entwicklung
~#! tid=875023026
Auch nicht beschraenkter als manche Leute die sie benutzen.
Hate.

-----------------------------------------------------------------------------



Mal was fuer Bluemchenpfluecker... (Engywuck, 23. Sep 1997, 18:21:48):
Wo doch jetzt die Diskussion heiss laeuft, wie man das Tanksystem umgestalten
koennte, haette ich eine Idee anzubieten, die in erster Linie die
Quatschkoeppe unter uns interessieren koennte.
Und zwar ist es so, dass einige Spieler hauptsaechlich in der Post rumstehen
(um da ihre Mail zu bearbeiten) und ansonsten da stehenbleiben, um einfach nur
zu quatschen. Wie waere es, wenn man von der Post aus einen weg in einen
speziellen "Unterhaltungsraum" realisieren wuerde, der von jeder Post aus
erreicht werden kenn. Wie gesagt, von jeder Post in den gleichen Raum, denn
dann hat man viel mehr leute zum quatschen da. Zurueck kommt man dann
natuerlch nur in die Post, aus der man hergekommen ist.
Was sagt der Rest dazu?

Engy*

-----------------------------------------------------------------------------



Re^5: Lang erwartet, hier isses: Das Kneipenkonzept (Trancefear, 23. Sep 1997, 18:30:46):
~#! rn=Anatol rt=875015502 rg=entwicklung
~#! tid=874436304
Ich bin eher jemand, der nicht mehr die Spur von Zeit hat, fuer irgendein MUD
irgendetwas zu programmieren, aber immer noch die eine oder andere Idee hat,
die *vielleicht* aufgegriffen werden kann...

T.F.

-----------------------------------------------------------------------------



Re^10: Sprachen (Trancefear, 23. Sep 1997, 18:35:16):
~#! rn=Alpha rt=875020129 rg=entwicklung
~#! tid=874685947
Die meisten Spieler gehen wohl den Weg des geringsten Widerstandes... darum
wuerden bei einer Koexistenz von alten und neuen Kneipen die neuen ziemlich
unbesucht bleiben schaetze ich. Der Effekte waere also keiner. 
T.F.

-----------------------------------------------------------------------------



Re: Mal was fuer Bluemchenpfluecker... (Wur, 23. Sep 1997, 23:08:27):
~#! rn=Engywuck rt=875031708 rg=entwicklung
~#! tid=875031708
Ich bin zwar kein Rest, wenn auch ein unbedeutender, aber ich finde die Idee
gut. Endlich mal was sinnvolles fuer die Faststatuen.

Wur

-----------------------------------------------------------------------------



Re^10: Sprachen (Asmodis, 23. Sep 1997, 23:39:26):
~#! rn=Alpha rt=875020129 rg=entwicklung
~#! tid=874685947
Waehrend der Zeit kannste Zeitung lesen oder nen Artikel schreiben :)

 Asmodis wartet auf die MPA-Gilde

-----------------------------------------------------------------------------



Re^13: Sprachen (Yendi, 24. Sep 1997, 13:31:52):
~#! rn=Alpha rt=875023853 rg=entwicklung
~#! tid=874685947

Oh, Alpha...

Ja, natuerlich ist schnelle Heilung erwuenscht.

Erwuenscht sind aber auch Autoload-Killerwaffen, Autoload-Superruestungen,
Snooptools fuer blutige Anfaenger und rosa Drops fuer jeden --
aber ob das so sinnvoll ist, ueberlasse ich Dir.


Yendi
      traut auch Alpha ein wenig gesunden Menschenverstand zu


-----------------------------------------------------------------------------



Re^14: Sprachen (Key, 24. Sep 1997, 17:23:19):
~#! rn=Yendi rt=875100712 rg=entwicklung
~#! tid=874685947
Hmm Yendi .....
Ich will weder ne Autoloadkillerwaffe, noch autoloadsuperruestungen .... Vom
Rest ganz zu schweigen :)

Das was wohl die meissten stoehrt ist halt das man durch die neuen Kneipen
etwas schwaecher wird ... Naja man wirds sehen :)

Key

-----------------------------------------------------------------------------



Re: Mal was fuer Bluemchenpfluecker... (Helva, 24. Sep 1997, 18:33:57):
~#! rn=Engywuck rt=875031708 rg=entwicklung
~#! tid=875031708
Bin absolut dafuer!
Helva steht zur Zeitauch fast nur in der Post ;)

-----------------------------------------------------------------------------



Re: Re: Mal was fuer Bluemchenpfluecker... (Anatol, 24. Sep 1997, 18:39:56):
~#! rn=Helva rt=875118837 rg=entwicklung
~#! tid=875031708
Vor langer langer Zeit war mal ein Chat-Raum im Gespraech, den man von 
ueberall her mit einem Befehl erreichen koennen sollte, aber nur mit "ende"
wieder herauskommt. Vielleicht koennte man diese alte Idee mit dem neuen
"ende" kombinieren... also nur wer gerade quitten koennte, kann sich in 
den Laberraum begeben, kommt aber nur mit "ende" wieder raus. Eventuelle
Ausruestung koennte a) vernichtet werden oder b) schon beim Betreten des 
Raumes in der jeweiligen Post (oder sonstwo) liegenbleiben.

Dieses totale Abkoppeln vom Spiel sollte eine ziemlich grosse Menge an 
Features erlauben, die sonst blafasel blubber irgendwie stoeren wuerden.
Fragt mich nicht nach Features. :)

Senf, gelb, abgestanden,
Anatol


-----------------------------------------------------------------------------



Re^3: Mal was fuer Bluemchenpfluecker... (Anatol, 24. Sep 1997, 18:49:18):
~#! rn=Anatol rt=875119196 rg=entwicklung
~#! tid=875031708
Wenn man nur Postaemter als "Zugangsort" zulaesst und keine Magie im 
Labersaal zulaesst, kann man den "ende"-Zirkus, um wieder raus zu kommen, 
auch weglassen, Fehlgebrauch durch Zaubersprueche oder Objektweitergabe
duerfte dann ausgeschlossen sein. Wieviele Objekte sind schon autoload und
so wichtig, dass man sie auf so umstaendlichem Wege weitergeben wuerde.

Helva meinte eben, dass nicht alle Laberer (weiss Jof, ich bin auch einer)
keine Ausruestung haben und dachte an Schliessfaecher. Das wuerde dann 
allerdings vieles komplizierter machen (Entschaedigung bei Crash? Kommt der
Spieler um sein Schliessfach drumrum? Koennen Postaemter ausswappen oder 
wird das dann zentral geregelt? Etc...). Aber der Aufwand koennte sich
doch lohnen... *gruebel*

Au weia, Reply auf einen eigenen Artikel, ich werde alt... :-/
Anatol


-----------------------------------------------------------------------------



Re^3: Mal was fuer Bluemchenpfluecker... (Asmodis, 25. Sep 1997, 12:38:50):
~#! rn=Anatol rt=875119196 rg=entwicklung
~#! tid=875031708
Ich finde dafuer das Nest der Hydra am geeignetsten :)

-----------------------------------------------------------------------------



Re^8: Sprachen (Smurf, 25. Sep 1997, 14:24:01):
~#! rn=Alpha rt=875014272 rg=entwicklung
~#! tid=874685947
Ich bin dagegen, zwei Versionen von Kneipen zu haben.
Dass Saufen auch noch heilt, ist fuer Normalspieler erstmal eh unbegreiflich.
;-)

Ich finde das neue Konzept erstmal gut. Ob es wirklich auch so
funktioniert, bleibt natuerlich auszuprobieren...

-----------------------------------------------------------------------------



Re^9: Sprachen (Zorro, 25. Sep 1997, 14:43:37):
~#! rn=Smurf rt=875190241 rg=entwicklung
~#! tid=874685947
Du hast anscheinend ja auch noch nie gemetzelt sonst wuerdest du so einen mist
nicht schreiben wen interessiert denn ob es begreiflich ist oder nicht ... es
ist halt fantasie wichtig ist doch nur dass das mud spielbar bleibt und da war
das alte kneipen system immer noch gut und es hat sich bewaehrt ...
Das neue hoert sich bisher nciht schlecht an aber unterm strich wird es die
kampfkraft der spieler verringern das hat silvana eindeutig gesagt deswegen
weiss ich nciht wieso ihr das so feiert.

Gruss Zorro

-----------------------------------------------------------------------------



Re^10: Sprachen (Felagund, 25. Sep 1997, 14:46:21):
~#! rn=Zorro rt=875191417 rg=entwicklung
~#! tid=874685947
>deswegen weiss ich nciht wieso ihr das so feiert.

Eben WEIL es die Kampfkraft der Spieler verringert (hoffentlich) ;)

-----------------------------------------------------------------------------



Re^10: Sprachen (Smurf, 25. Sep 1997, 14:49:11):
~#! rn=Zorro rt=875191417 rg=entwicklung
~#! tid=874685947
Also zum einen stand da ein Smiley. Bitte beachten -- die Instant-
Heilung per Besaeufnis ist _nicht_ per se der Grund, wieso ich
persoenlich die neue Kneipenidee erstmal gut finde.

Zum anderen finde ich es super, dass sich hier ein paar Leute
ernsthaft Gedanken machen, wie man die Schere zwischen den
'normalen' Spielern und den Supermetzlern wieder etwas
zumachen kann. Zumindest habe ich als Nichtmetzler den EIndruck,
die Schere existiert und ist ziemlich weit offen.

Und da kann man halt nicht mit dem Reduzieren der 
Monsterstaerke anfangen und die Spieler stark lassen, sondern muss
das andersrum machen. Oder hat sich schonmal jemand ernsthaft
beschwer, dass ein Monster zu leicht zu metzeln waere??

-----------------------------------------------------------------------------



Re^11: Sprachen (Grimmborn, 25. Sep 1997, 15:04:50):
~#! rn=Smurf rt=875191751 rg=entwicklung
~#! tid=874685947
Ja, es kommt vor, dass sich Spieler beschweren, dass Monster (mit "realem"
Hintergrund wie beispielsweise Balrog) zu schwach sind. Es geht ja um die
relative Schwaeche (Schwaeche im Verhaeltnis zum Auftreten), sonst waeren ja
die Blattlaeuse erste Kandidaten fuer eine Beschwerde.

Und zu Alphas Rumgenoele kann man sich nur Yendi anschliessen, das ist so
ziemlich als wenn jemand sagt, lasst doch ueberall Waffen rumliegen, mit denen
man sofort jedes Monster toetet, wem das nicht passt, der kann sich ja andere
muehsam erarbeiten. Denn schliesslich kaeme das mit den Superwaffen doch so
gut an und die Spieler wuerden sich darueber freuen. Nur ist das hier leider
kein Kindergarten wo nur Beduerfnisse befriedigt werden, hier gehoert schon
auch noch die Verantwortung fuer das Ganze dazu. Dem Argument "das war schon
immer so und gut" setze ich dann ein "man kann das auch neu und besser machen"
entgegen. Fuer Fans eines statischen, sich nicht veraendernden muds gibt es
driver und mudlib auf dem ftp-server...

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re^11: Sprachen (Alpha, 25. Sep 1997, 15:07:17):
~#! rn=Smurf rt=875191751 rg=entwicklung
~#! tid=874685947
Stimmt, man sollte die Schere wieder schliessen. Aber ist die Beschneidung der
allgemeinen Kampfkraft nicht ein Schritt in genau die falsche Richtung? Die
SuperMegaMetzler beziehen doch ihre Starke weniger durch die allgemeine
Kampfkraft, sondern eher durch MegaSuperWaffen. NormalSpieler, wie mich,
trifft eine Beschraenkung dann viel staerker, als die Megas, die ja nur einen
Teil ihrer Faehigkeiten verlieren werden. Kappt die Superwaffen! Und lasst
NormalSpielern die Faehigkeit, zu erforschendes Gebiet zu betreten.

-----------------------------------------------------------------------------



Re^12: Sprachen (Orktoeter, 25. Sep 1997, 15:11:26):
~#! rn=Alpha rt=875192837 rg=entwicklung
~#! tid=874685947
Hmm das mit den Kneipen umaendern um damit die kampfkraft zu beschneiden (vor
allem wenn man die Schere zwischen "normeln" Spielern und "supermetzlern"
schliesen will) ist ungefaehr so, als wenn man sagt, es sterben zu viele leute
durch Autounfaelle, wir erhoehen die Steuern, dann koennen sich die Leute
weniger Autos leisten und es gibt somit weniger tote.
Es wir vermutlich klappen, aber es ist ein uebeaus sinnloser weg, die Dinge
anzugehen.
OrkT.
tm grimm in dem artikel, den du so zerissen hastm steht doch gerade Kritik an
diesen Superwaffen drin...
*grins* ups, bin ja noch im Editor *schaem*

-----------------------------------------------------------------------------



Tanken - Idlen (Lug, 25. Sep 1997, 15:12:31):
Moin,


solange man dann weiterhin, ohne ewig rumzuidlen, auf Monstern rumhauen kann,
ist mir das voellig egal, wo ich nun regeneriere. Aber bei langen Wartezeiten
(der Realitaet oder sonstwas wegen) wuerde mir das Spielen definitiv weniger
Spass machen. Gibts denn wen, den das antoernt?

Aendert, was Ihr wollt, aber lasst uns dann nicht ewig und kampflos rumstehen.
Bitte.

Danke
Lug

-----------------------------------------------------------------------------



Re: Tanken - Idlen (Grimmborn, 25. Sep 1997, 15:20:32):
~#! rn=Lug rt=875193151 rg=entwicklung
~#! tid=875193151
Versucht mal, von der totalen Polarisierung runterzukommen. Es ist ja nicht
so, als wuerde man nach der Aenderung in die Kneipe gehen, und dann noch
laenger auf seine HP warten muessen als ohne Tanken. Der Effekt ist doch eher
schon so, dass, wenn man ohne script laeuft, man auf dem Weg schon die
getankten Punkte hat (Ausnahmen sind dann die, die ueber besonders viele HP
verfuegen wie die "megas", die aber nach Alphas Meinung ja ansonsten nicht
getroffen werden, da ist das sicher ok). Stoppt mal die Zeit, die ihr braucht
um 4 Punkte hochzuidlen (ich Magier, ich nix hochidlen, ich zu faul Testie
einzuloggen), so lange braucht ihr nach dem Tanken fuer 100 Punkte. Wer das
unzumutbar findet - kein Verstaendnis mehr. Wer das nicht sonderlich gut
findet - bitte schoen, kann man drueber diskutieren (Silvana schrieb was vom
_testen_ des genauen Faktors), aber es ist schon eher dumpf, ein Monster nur
dadurch zu besiegen, weil man laenger und schneller tanken kann als dieses.
Allerdings bezweifle ich, dass durch diese Massnahme die Kneipen zu lockeren,
entspannten Kommunikationszentren werden, das ist aber ein anderes Thema...

Alles klar?
             Grimmborn der Atheist

-----------------------------------------------------------------------------



Re^12: Sprachen (Patryn, 25. Sep 1997, 15:23:04):
~#! rn=Alpha rt=875192837 rg=entwicklung
~#! tid=874685947
warum sollte man diese 'schere' schliessen? nur weil du noch nicht zu denen
gehoerst, die sich mit viel risiko und ueberlegung zu den supermetzlern
hochgearbeitet haben?! keiner verlangt von dir, dass du dich mit
den selben monstern anlegst oder in die selben gebiete gehst wie besagte
supermetzler. sie tragen dafuer das risiko und haben schliesslich auch mal
so angefangen wie du...na ja, fast: eventuell haben sie beim spielen mehr
nachgedacht. aber was glaubst du, woher sie ihr wissen ueber spezielle
waffen, ruestungen und sonstige items beziehen? sie wurden nie als
HLP geboren und standen irgendwann mal an der selben stelle wie du auch.
ich finde nichts schlimmes daran, wenn auch diese HLPs noch herausforderungen
im MUD finden, und das waer wohl kaum der fall, wenn sie sich mit
solchen gegnern auseinandersetzen muessten, die du auch totbekommst.
man sollte diese 'schere' vielmehr noch weiter oeffnen, derzeit ist man
mit level 35 so ziemlich am ende seiner ziele, als level 80 ist man auch
nicht so viel besser...
zum kneipenkonzept will ich auch noch ein paar worte verlieren:
 also ich finde, das jetzige kneipensystem ist zwar nicht sehr realistisch,
 aber wie bereits mehrere leute andeuteten, realismus kann man oftmals
 nicht fordern, und schon gar nicht, wenn es dem spielspass im wege steht.
 trotz alledem finde ich das jetzige system gut und es hat sich bewaehrt.
 sicher klingt das neue konzept gut, jedes ordentlich erstellte konzept
 tut dies, aber ich glaube nicht, dass es auf viel liebe stossen wird,
 wenn es erst einmal umgesetzt ist. man sollte sich doch erstmal auf
 die rassen und den teamkampf konzentrieren, beides dinge, die ich
 fuer wichtig halte und die dem mud weitaus mehr bringen, als neue kneipen.

------
patryn

-----------------------------------------------------------------------------



Re: Re: Tanken - Idlen (Lug, 25. Sep 1997, 15:27:04):
~#! rn=Grimmborn rt=875193632 rg=entwicklung
~#! tid=875193151
Moin again,

was fuer eine Polaroid? 
Also ohne Wegemacros rumlaufen, war frueher mal ganz lustig (bin ohne TF Seher
geworden), aber immer dieselben Wege per Hand ablaufen ist nicht der tolle
Spielspass. Und Du wirst lachen, aber hochidlen dauert mir wirklich zu lange
(Schluss mit der Faulheit - Mach Dir nen Testie und probiers selbst). Idlen
bleibt fuer mich ungleich Spielspass. Weiss nicht warum das nun wieder Hetze
sein soll, ich habs nur als zu beachtenden Punkt erwaehnt.

Hetz
Lug

-----------------------------------------------------------------------------



Re^11: Sprachen (Zorro, 25. Sep 1997, 15:39:33):
~#! rn=Smurf rt=875191751 rg=entwicklung
~#! tid=874685947
nein wie albern ... such mal alle deine zts mach alle quests und sag mir dann
dass die schere zugross ist ! *lachaus* sollen hier alle spieler die gleiche
kampfkraft haben nur weil du ne wurst bist ... ausserdem wird die dass als
lowlevel spieler mehr treffen dass die kampfkraft runter geht als den
"supermetzeln" glaub mir das !
aber jedem das seine wenn du zufrieden mit der hochebene als metzelgebiet bist
schreib weiter son mist ...

Gruss zorro

-----------------------------------------------------------------------------



Re^12: Sprachen (Anatol, 25. Sep 1997, 15:42:26):
~#! rn=Zorro rt=875194773 rg=entwicklung
~#! tid=874685947
Ich bezweifle, dass Lowlevel-Spieler wie bloede in die Friedhofskneipe
scripten. Ich bezweifle auch, dass es einen Lowlevel-Spieler stoert, dass er
seine LPs und MPs erst nach 40 Sekunden vollstaendig erhalten hat.

Wenn die Kneipen alle halbwegs brauchbar waeren, wuerde ich sogar ohne
Wegescipts auskommen. Aber das ist dann wohl doch... zu hoch getraeumt.

Zorro ein "contra" rueberschiebend,
Anatol


-----------------------------------------------------------------------------



Re^13: Sprachen (Alpha, 25. Sep 1997, 15:47:07):
~#! rn=Patryn rt=875193784 rg=entwicklung
~#! tid=874685947
Hmmm, ich wuerde mir ja gerne solche Waffen und Items besorgen, aber der Punkt
ist, schon heute kann ich gewisse Gebiete nicht mehr betreten, und somit ist
alles im Gebiet fuer mich unerreichbar. Zum Beispiel die Drakonierpyramiede -
toll, da liegt nen ZT fuer mich, aber ich steh nur ein paar Runden am
Eingangswaechter durch, und da ich an der Stelle schon heute nicht
Tankscripten kann, habe ich ne Vorstellung, wie das ganze MUD mal fuer mich
aussehen wird. Und wieviel starke Metzler haben Lust, die Pyramiede fuer mich
2-3 Stunden NPC-frei zu halten, damit ich das Dings halbwegs erforscht und
meinen ZT abgefasst habe? 

-----------------------------------------------------------------------------



Re^14: Sprachen (Patryn, 25. Sep 1997, 15:50:52):
~#! rn=Alpha rt=875195227 rg=entwicklung
~#! tid=874685947
dafuer reicht ein metzler und den wirste ja wohl noch auftreiben koennen?!
ausserdem kann ich dir hiermit feierlich bestaetigen: wenn du nicht mal
an dem waechter am eingang vorbeikommst, machst du irgendetwas falsch,
genauer gesagt machst du alles falsch, wenn ich mir dein level so betrachte.

------
patryn

-----------------------------------------------------------------------------



Re^12: Sprachen (Acrimon, 25. Sep 1997, 16:07:15):
~#! rn=Zorro rt=875194773 rg=entwicklung
~#! tid=874685947
Die Kampfkraft geht zwar mit dem neuen Kneipensystem etwas runter, aber nicht
viel, und vor allem fuer HLP wesentlich staerker als fuer LowLevel-Spieler.
Lowlevler werden von dem Kampfkraft-Rueckgang hoechstwahrscheinlich gar nichts
bemerken, da
1. LLP weniger HP haben als HLP (die daher schneller regeneriert sind),
2. LLP weniger tanken (weil sie weniger Geld haben) - sie nutzen jetzt schon
die Moeglichkeit des "schneller Idelns", indem sie sich alkoholisieren. In
Zukunft geht das sogar schneller.
3. LLP laenger fuer den Weg brauchen als HLP. Bis sie beim Monster sind, sind
ihre LP garantiert wieder voll.
4. LLP benutzen weniger TF.

Mit dem neuen Kneipenkonzept werden also Lowlevelspieler sogar kampfkraeftiger
(weil sie schneller hochideln als bisher), waehrend HLP ein wenig
kampfschwaecher werden.

Somit wird die "Schere ala Smurf" wieder ein wenig geschlossen, weil sich die
Kampfkraft der LLP und HLP ein klein wenig aneinander annaehern, waehrend die
"Schere ala Patryn" weiter geoeffnet wird, weil es wieder mehr Supermonster
fuer die HLP gibt.

Zum Thema "Realismus": Ich halte es fuer rollenspielerisch unlogisch und nicht
nachvollziehbar, wenn meine Wunden ploetzlich weg sind, sobald ich einen
Whisky trinke oder eine Semmel esse. Vor allem macht es keinen Spasz, wenn man
sofort wieder heil ist, als waere nichts geschehen. Ich moechte mich mit dem
Monster messen, aber wenn ich einfach "hatschi" sagen kann und das Monster
faellt um, dann messe ich meine Faehigkeit zum Niesen, aber nicht meine
Kampfkraft!
Wenn meine Wunden sich langsamer schlieszen, dann bin ich kein Wunderheiler
mehr, dem Wunden nichts ausmachen, und das Spiel wird wieder spannend, es
macht mehr Spasz.
Auch bin ich dann dazu veranlaszt, meine Angriffe besser zu koordinieren.

PS fuer die Noergler:
Macht Euch doch nicht soviel Sorgen um die Balance und Eure Kampfkraft!
Die Magier werden schon dafuer sorgen, dasz die Kneipen nicht schlechter sind
als die alten, und dasz das MG spielbar bleibt.

Acrimon, der Rote Ritter freut sich auf laengerwirkendes Bier ohne
Schockwirkung.

-----------------------------------------------------------------------------



Re^13: Sprachen (Zorro, 25. Sep 1997, 16:16:11):
~#! rn=Acrimon rt=875196435 rg=entwicklung
~#! tid=874685947
Ok dass das neue system anscheinend lowlevelplayer bevorteilt sehe ich ein ...
ich wunder mich nur immer wieder das sich leute darueber beschweren die
darueber keinen ueberblick haben ... 
was die sache mit deinen wunden angeht .... NEIN es ist nicht logisch dass sie
verschwinden ABER es FOERDERT den spielspass und darauf kommt es an basta ...

Gruss Zorro

-----------------------------------------------------------------------------



Re^14: Sprachen (Anatol, 25. Sep 1997, 16:20:53):
~#! rn=Zorro rt=875196971 rg=entwicklung
~#! tid=874685947
Wenn Du jetzt noch schreibst, dass "spielspassfoerdernd" nicht unbedingt
"kampfkraftsteigernd" sein muss, sind wir und alle einig, Zorro... :)

Anatol


-----------------------------------------------------------------------------



Re^15: Sprachen (Zorro, 25. Sep 1997, 16:39:22):
~#! rn=Anatol rt=875197253 rg=entwicklung
~#! tid=874685947
Wer den Spielspass foerdern will muss nicht unbedingt die kampfkraft erhoehen
... 
Zorro plappert heute alles nach.

-----------------------------------------------------------------------------



Re^14: Sprachen (Padreic, 25. Sep 1997, 17:35:41):
~#! rn=Zorro rt=875196971 rg=entwicklung
~#! tid=874685947
Also ICH faende es am meisten Spielspass foerdernd, wenn es "fast" keine
Heilmoeglichkeiten gaebe (ausser vielleicht einigen Spells) und man mit dem
was man eben so hat, ein Monster umnieten muesste (evtl. halt dann zu
mehreren). Indem fall gaebe es auch keinen Zwang zum ideln (sinnlos auf den
Bildschirm zu starren) und man wuerde wesentlich vorsichtiger in einen Kampf
gehen (und unnoetige Kaempfe gegen schwache NPCs die einen halt nur 10-20 LP
kosten vermeiden). Leider muss ich allerdings zugeben, das es hier fuer zu
spaet ist, da danach 50% aller NPCs angepasst werden muessten :(. Ich finde
jedoch "jede" reduzierung der Tankmoeglichkeiten als einen Schritt in die
richtige Richtung und fuer mehr Spielspass (zumindest wenn wir Magier daran
dann auch unsere Monster anpassen *schiel zu Rochus*)
                                Gruss Padreic
P.S.: Wenn ihr an EINER Tankstelle auf einmal 10mal mehr HP bekommt, bekommen
ab da an auch alle neuen NPCs 10mal mehr HP (auch irgendwie eine Spirale,
oder?) nur, dass diese eine Tankstelle vielleicht erstmal wieder nur die HLP
kennen, da die halt hier im mud leben und dementsprechend auch alles finden...
(denkt mal drueber nach)

-----------------------------------------------------------------------------



Re^15: Sprachen (Zorro, 25. Sep 1997, 17:45:08):
~#! rn=Padreic rt=875201741 rg=entwicklung
~#! tid=874685947
Ja padreic ist klar das sowas vonem Magier kommen muss, aber ich glaube dass
sich selbst dann niemand mit dir unterhalten wird uznd deine langeweile
vertreibt wenn man nur noch doof rumstehen darf ...
aber wie auch immer wenn es so kommt ist das mud tot es gibt genug muds in dem
man noch spass haben kann.

Gruss Zorro

-----------------------------------------------------------------------------



Re^13: Sprachen (Orktoeter, 25. Sep 1997, 17:59:48):
~#! rn=Acrimon rt=875196435 rg=entwicklung
~#! tid=874685947
Hmm sorry, aber hier muss ich mal eine kurze Anmerkung loslassen von wegen "
Die Magier werden schon dafuer sorgen..." Wenn ich das in direkten
zusammenhang mit dem Satz davor bringe, wo du sagtest, das man sich um die
Balance keine Sorge machen muss, dann kann ich dich nicht verstehn.
Wer wenn nicht Magier verursachen die Ruestungsspirale ?
Es mag ja sein, das Spieler immer wieder etwas neues wollen, aber neu heisst
doch nicht einfach nur staerker. 
Tja und ob "die" Magier (ich moechte ja nicht verallgemeinern) sich in Zukunft
zuruckhalten ? Ich wage es zu bezweifeln.

Resignierend auf seine alten Tage, OrkT.

-----------------------------------------------------------------------------



Re^17: Sprachen (Alpha, 25. Sep 1997, 18:17:15):
~#! rn=Padreic rt=875204116 rg=entwicklung
~#! tid=874685947
Ist das hier ein Rollenspiel?
Also, das Rollenspiel ist kein Argument.
,

-----------------------------------------------------------------------------



Re^17: Sprachen (Anatol, 25. Sep 1997, 18:22:14):
~#! rn=Padreic rt=875204116 rg=entwicklung
~#! tid=874685947
Leider kann man Deinen Muell (sorry) nur bedingt oder gar nicht ignorieren,
Padreic. Die meines Wissens beste allgemeinzugaengliche Kneipe ist schon 
laenger im Mud als Du und ich. Und hat damit nicht massgeblich an der
Ruestungsspirale mitgeschraubt, die wohl erst in den letzten beiden Jahren 
so richtig eskalierte. Meine erlebte Wahrheit. Vielleicht siehst Du mit
Deiner grossen Erfahrung das ganz anders. Vermutlich wie Damien, gell?

Wirf' einen Blick auf Waffen, Ruestungen, Tools und die Gilden. Und 
dann verwende die Woerter "extrem" und "Ruestungsspirale" im richtigen
Zusammenhang.

Nichts gegen die neuen Kneipen, aber NICHT mit dieser Begruendung.

Mr. Arrogance Anatol


-----------------------------------------------------------------------------



Re^18: Sprachen (Patryn, 25. Sep 1997, 18:44:12):
~#! rn=Anatol rt=875204534 rg=entwicklung
~#! tid=874685947
warum antworte ich bei anatol? war der letzte artikel im thread :)
ich persoenlich metzel ja auch lieber als zu questen oder bluemchen zu
pfluecken und besonders gefielen mir halt die harten monster.
bei ihnen gehoerte es dazu, x-mal tanken zu gehen und dabei keinen fehler

zu machen, also tankweg freihalten, dem gegner moeglichst guenstig wieder
entgegentreten u.s.w. der reiz dieser geschichte lag nun darin, es moeglichst
fehlerfrei durchzuziehen und auf alle denkbaren gefahren moeglichst gut
vorbereitzet zu sein. gerade das machte den reiz am metzeln fuer
mich aus. ich weiss nicht, ob das durch das neue kneipensystem besser
oder interessanter wird, ich schaetz mal, dass auch ich dann zu den
leuten gehoeren werden, die hier nicht mehr spielen. sicher muss man
das abwarten und es mal austesten, aber wenn es einmal dran ist, so haben
genuegend leute bereits treffend festegestellt, wird es kaum mehr
zurueckgeaendert. bei solch einer umfassenden aenderung waere ich fuer
eine abstimmung von ALLEN, denn es ist wirklich eine einschneidende
aenderung, die scheinbar sehr umstritten ist.

------
patryn

-----------------------------------------------------------------------------



punkte/score (Hate, 25. Sep 1997, 19:17:40):
Nach einem "ende" oder falls das MUD rebootet wird, werdet ihr eine neue
Version der Spieldaten sehen. Das Kommando "punkte" oder "score" wurde etwas
unuebersichtlich, weswegen ich es ueberarbeitet habe.
Es zeigt jetzt auch an, ob man das Spiel mit dem Kommando "ende" verlassen
kann.

Hate.

-----------------------------------------------------------------------------



Re^19: Sprachen (Padreic, 25. Sep 1997, 19:20:33):
~#! rn=Patryn rt=875205852 rg=entwicklung
~#! tid=874685947
Sorry, ich metzel auch gerne und hasse das Bluenchen pfluecken, aber der
eigentliche Akt des tankens (vor allem da hierbei eigentlich auch noch
Scripte verboten sind) und des hin- und her- laufens kann ich einfach nicht
spannend finden (auch wenn ich zugeben muss, dass das mit dem Ruecken
freihalten gerade in Orkhausen schon wieder spannend ist, aber 100 mal bkaufe
Schnaps zu tippen halte ich fuer ziemlich oede). Aber soweit ich Silvana
verstanden habe, wird Dir das Element des Tankens auch weiterhin Spass
bereiten
koennen, da es ja nicht wegfaellt, sondern nur ein wenig laenger dauert.

                                        Gruss Padreic

P.S.: War das jetzt SO umstritten??? (ich erinner mich irgendwie an mehr
positive als negative Aeusserungen (auch wenn die negativen wie immer lauter
waren). Aber vielleicht hast Du recht und man sollte ueber das ganze wirklich
mal abstimmen. (Wuerde im Fall einer Annahme das gejammer denn dann
aufhoeren?)


-----------------------------------------------------------------------------



Re^20: Sprachen (Alpha, 25. Sep 1997, 19:23:17):
~#! rn=Padreic rt=875208033 rg=entwicklung
~#! tid=874685947
Wozu soll das Warten gut sein? Warum ruesten wir den MudRechner dennueberhaupt
auf, wenn Warten sooooo toll ist. Warten ist fuer mich genauso wie Lag:
einfach ueberfluessig und doof.

-----------------------------------------------------------------------------



Tanken/Bla/Sabbel (Gloin, 25. Sep 1997, 19:24:28):
Das Metzler durch das neue Tanksystem abgewertet werden, ist doch totaler
Schwachfug, kommt mal von dem Trip wieder runter. Wie ich schon irgend-
wann mal gesenft habe: Ich mag MUD deshalb, weil man flexibel bleiben
muss. Und Silvana hat schon einen netten Punkt angesprochen. Beispiel?
25 fache Heilgeschwindigkeit ? Hm lecker. Klingt gut. Die Hydra latscht
in einem bestimten Zeittakt ... schoen. Ich hab also erstmal Zeit, wenn
ich wieder draussen bin *auftank* ... *idel* *idel* *voll* *latsch*.
Rein. Oh prima. Ich bleibe mindestens 10 s bei den Koepfen drin. Also
ich habe sicher nichts dagegen, waehrend der Zeit _nochmal_ 25 LP/MP
abzufassen. Tante heilt in der Zeit nur einen pro NPC-Teil.
So sieht es doch bei allen aus. SSP. 200/25=8 ... eine Minute. Na, in
der einen Minute heilt Willy NPC 10 LP. Laecherlich. Aber ich krieg,
waehrend ich auf ihm rumtanze, nochmal 25 LP/MP ...

Bischen wirr, aber ich glaube, ihr habt kapiert, was ich meine.
Gloin

-----------------------------------------------------------------------------



Re^20: Sprachen (Zorro, 25. Sep 1997, 19:27:07):
~#! rn=Padreic rt=875208033 rg=entwicklung
~#! tid=874685947
naja soweit ich das verstanden habe wird man wenn auch die tank menge (was ich
nicht glaube) gleich bleibt, wird man bis zum naechsten kampf (mit vollen
stats) n paar minuten warten muessen ... sagt mir bitte was daran spass machen
soll ?
Rumstehen und eier schaukeln macht mir keinen spass aber vielleicht steh ich
ja mit dieser meinung alleine da :)

Gruss Zorro

-----------------------------------------------------------------------------



Re^21: Sprachen (Wurzel, 25. Sep 1997, 19:29:46):
~#! rn=Zorro rt=875208427 rg=entwicklung
~#! tid=874685947
hm, wie waere es in der wartezeit mit ein paar rl-morden?
manchmal beginne ich mir doch ueber euren geisteszustand gedanken zu machen.
wenn ich nicht pausenlos toeten kann, bin ich unzufrieden... au weia.

wurzel

-----------------------------------------------------------------------------



Re^22: Sprachen (Zorro, 25. Sep 1997, 19:32:55):
~#! rn=Wurzel rt=875208586 rg=entwicklung
~#! tid=874685947
wurzel ich kann ja verstehen dass du das nicht verstehst weil du zulange
magier bist. aber fuer die meisten monster muss man halt tanken und mitten im
kampf sich wasweissichwieviel minuten warten zumuessen um den naechsten schlag
zumachen ist nervtoeten und langweilich ...

Gruss Zorro

-----------------------------------------------------------------------------



Re^24: Sprachen (Patryn, 25. Sep 1997, 19:39:18):
~#! rn=Padreic rt=875208955 rg=entwicklung
~#! tid=874685947
ich bin bestimmt der allerletzte, der sich gegen teamkampf ausspricht,
hin und wieder moechte ich jedoch auch ganz gern mein glueck allein
probieren und DAS ist mir weitaus wichtiger, als ein neues
tanksystem. was bleibt denn vom metzeln noch uebrig, wenn man
systematisches tanken, tankwege freihalten u.s.w. aus dem kampf
herausnimmt? nichts weiter als sinnlose warterei, dass der gegner
endlich umkippt. ich jedenfalls finde es stockoede,
gardewaechter-aehnliche NPCs zu jagen...

------
patryn

-----------------------------------------------------------------------------



Re^21: Sprachen (Grimmborn, 25. Sep 1997, 19:41:45):
~#! rn=Zorro rt=875208427 rg=entwicklung
~#! tid=874685947
Aha, erwischt, Du hast gar nicht gelesen, worum es geht.
25fache Heilgeschwindigkeit, zweimal ist erklaert worden, dass man
beispielsweise 100 Punkte schnell wieder hat. Also, nehmen wir einen Zwerg mit
Statring und wasweissich, also 250 Punkte. Normal sind ein Punkt in 12
Sekunden, waeren fuer 250 Punkte also 120 Sekunden, gerade zwei Minuten. Unter
der Vorraussetzung, dass Du erst bei 0lp geflohen bist. Weiterhin muss die
Zeit des Kampfes dazugezaehlt werden, denn da heilt man ja auch. Alles in
allem keine Nullzeit (sonst waere das ja denn doch sinnlos), aber zum
Eierschaukeln ist da kaum noch Zeit. Aber vielleicht bist Du ja ein
Hochgeschwindigkeitsschaukler.

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re^22: Sprachen (Zorro, 25. Sep 1997, 19:43:47):
~#! rn=Grimmborn rt=875209305 rg=entwicklung
~#! tid=874685947
doch hab ich nur ist es gehalt ob man 30 oder 10 minuten warten muss ...
warten ist und bleibt langweilig und entgegen jedem spielspass !!!
Gruss Zorro

-----------------------------------------------------------------------------



Re^22: Sprachen (Alpha, 25. Sep 1997, 19:47:35):
~#! rn=Grimmborn rt=875209305 rg=entwicklung
~#! tid=874685947
120 sekunden - 4 sekunen tanken und hinlaufen = 116 sekunden, eierschaukeln
so, frueher waren das 0 sekunden
also: das ist der nachteil, der dann eintrifft.

-----------------------------------------------------------------------------



Re^23: Sprachen (Grimmborn, 25. Sep 1997, 19:52:27):
~#! rn=Alpha rt=875209655 rg=entwicklung
~#! tid=874685947
Fuer die ganz langsamen:
Normalerweise geht man tanken, wenn einem gute 100 Punkte fehlen (war
zumindest damals so, wer weniger hat hat auch eine geringere Vorsicht). Macht
knapp eine Minute. Und mit leicht verringerten Werten kann man schonmal weiter
kloppen, weil die Heilung ja nach kommt.

Ach was, schaut euchs erstmal an, obs wirklich so unertraeglich ist, ich
fuerchte, entweder wisst ihr nicht ganz worums geht oder ich nicht, aber dass
man ueber laengere Zeit von 20 min sich 19 im Kampf befindet kommt doch auch
wieder nicht so oft vor? Und sobald sich die Zeit aus welchen Gruenden auch
immer streckt ist das mit der langsameren Heilung egalisiert. Man muss das
dann nur geschickt ausnutzen.
Und Silvana hat auch drauf hingewiesen, man kann auf Vorrat tanken. Also bei
vollen HP fuer 20 HP tanken, rein in den Kampf und waehrend des Kampfes die 20
HP langsam wirken lassen. Sind in der momentanen Version immerhin auch rund 4
pro Runde, Kleinvieh macht auch Mist...

GdA

-----------------------------------------------------------------------------



Re^24: Sprachen (Key, 25. Sep 1997, 20:10:35):
~#! rn=Grimmborn rt=875209947 rg=entwicklung
~#! tid=874685947
Hmm Grimmi netmal ich gehe bei einigen npcs rein wenn ich net voll bin ;)
Naja oki ich gebs zu ich mach es doch ;))

Hmm also ich muss sagen das ich das neue Tanksystem echt oki finde ... waere
aber auf jeden Fall fuer eine art Probezeit .... Und wenn dann acuh fuer ein
Verpsrechen, wenn es wirklich net ankommt wieder raus ...

Ja es ist viel Arbeit die da rein investiert werden muss .... Aber ich wuerde
mal sagen wenn man vor augen hat das man die arbeit umsonst macht wenn man
pfuscht macht man sie besser ;))


Oki und zu unseren Helden ... ich hab mir eben mal bestaetigen lassen das ich
schon zu den metzlern hier im mg gehoere ... Ich hab lange daran gearbeitet,
und wenn jetzt son kleiner pimpf ankommt und labert was von irgendwelchen
Superwaffen, kann ich ihm nur raten das er sich mal auf seinen Hintern setzen
soll, denken soll, und dazulernen ...

Benutzt hab ich schon einige Sonderwaffen (Wurfsterne, Robins Bogen, usw usw)
Aber da muss man auch erstmal drankommen ...
Schonmal da dran gedacht? Die Sachen liegen net einfach auf der Strasse ... Oh
Wunder! Nein man muss die auch erstmal holen ...


Key denkt das mal einige nachdenken sollen ... auch die zu denen ich mich
jetzt nicht geaeussert habe, weil ich eh weiss das es nix bringt, gelle
Pad**** :)

-----------------------------------------------------------------------------



Entwicklung der Entwicklung der Entwicklungen (Phygos, 25. Sep 1997, 20:31:20):
Ziemlich verwickelt wuerd ich sagen.
ABER.
Hat meckern, lamentieren, beschwerden oder ideen von  spielern jemals etwas
aufgehalten?
Wenn ja, wo wie wann. EGAL. 
Nimms wie`s kommt, wuergs runter, und ignoriere die bauchschmerzen.
Es koennte schliemmer kommen.
Und es wird schlimmer kommen >:)
Radier mal einer das e im schlimmer aus.
Also kinners  abwarten. Kopf runter, helm auf und durch. 
Wenns ganz zu arg wird, urlaub in einem anderen mud machen.

-----------------------------------------------------------------------------



Re: punkte/score (Woody, 25. Sep 1997, 20:38:04):
~#! rn=Hate rt=875207860 rg=entwicklung
~#! tid=875207860
Hmmmm,

ich faende es logischer, wenn "info" die Langversion waere, und
"punkte" bzw. "score" die Kurzversion, und nicht umgekehrt. Sonst
ist es auf jeden Fall schon mal deutlich besser und uebersicht-
licher als bisher.

woody.-

-----------------------------------------------------------------------------



Re: Entwicklung der Entwicklung der Entwicklungen (Catweazle, 25. Sep 1997, 20:39:52):
~#! rn=Phygos rt=875212280 rg=entwicklung
~#! tid=875212280

Du Arschgesicht!
Deinetwegen hab ich jetzt den ganzen Bildschirm voll mit Radiergummi-
kruemmeln. Ne eledig lange Spur. Aber ganz oben am Monitorrand hab ich 
Dein Scheiss e endlich erwischt!

Catweazle (besorgt sich morgen ne Fliegenklatsche)

-----------------------------------------------------------------------------



Re^22: Sprachen (Asmodis, 25. Sep 1997, 23:30:07):
~#! rn=Grimmborn rt=875209305 rg=entwicklung
~#! tid=874685947
Ich schaetze auch, dass einige Spieler ihre Kampftaktik eben umstellen
werden muessen, aber im Endeffekt auch damit zurechtkommen.
Ich sehe im neuen Tank-System jedenfalls schon Vorteile :)

-----------------------------------------------------------------------------



Re^14: Sprachen (Trancefear, 25. Sep 1997, 23:47:53):
~#! rn=Orktoeter rt=875203188 rg=entwicklung
~#! tid=874685947
Was die "Ruestungsspirale" anheizt, sind nicht nur die Magier (die
programmieren das natuerlich) sondern vor allem auch die Levelgeilen Spieler.
Denn was ist es denn, was euch nach immer besseren Waffen, Ruestungen,
Heilungen suchen laesst, wenn nicht die Jagd nach einem hohen Platz in der
Topliste (etwas ueberspitzt formuliert :-) ? Damit einher geht auch die Jagd
nach dem allerletzten ZT, ohne den die maximale Kampfkraft nicht zu erreichen
ist.
Ich glaube, ohne Toplisten wuerde sich das Ruestungskarussel hier laengst
nicht so schnell drehen (schon vor einigen Jahren fing es an mit dem Wettlauf
Toeter vs. Ryne - ohne ne Topliste haette keiner sonst was gemerkt) ...

T.F.

-----------------------------------------------------------------------------



Re^15: Sprachen (Asmodis, 25. Sep 1997, 23:51:12):
~#! rn=Trancefear rt=875224073 rg=entwicklung
~#! tid=874685947
Unsinn, diese toplistengeilen Spieler sind nur ein verschwindend geringer
Anteil...
Ich persoenlich strebe sowas schon laengst nicht mehr an, aus dem Alter
bin ich raus, aber trotzdem freue ich mich ueber ein nettes tool,
eine gute zusatzwaffe, oder ein nuetzliches ruestungsstueck,
eben ueber Sachen jenseits des Alltaeglichen.
Die Toplisten sollten aber dennoch bleiben, damit man sich
anhand dessen orientieren kann, wo gewisse Spieler stehen
(und man selbst auch).

-----------------------------------------------------------------------------



Re^15: Sprachen (Zorro, 25. Sep 1997, 23:56:51):
~#! rn=Trancefear rt=875224073 rg=entwicklung
~#! tid=874685947
so ein quatsch ... was haben toplisten geile spieler damit zutun ... fuer's
metzeln bekommt naemlich kaum stupse, deswegen ist dein argument schlicht weg
laecherlich. ist ist naemlich so das die magier an der spirale drehen damit
sie sicher gehen koennen dass sich ihr gebiet auch ein schwein anguckt. 

Gruss Zorro

-----------------------------------------------------------------------------



Re: Tanken/Bla/Sabbel (Lug, 26. Sep 1997, 02:08:52):
~#! rn=Gloin rt=875208268 rg=entwicklung
~#! tid=875208268
 Aeh,

hier gibts zu viele Mathematiker oder Leute die zuviel mit Mathe zu tun haben.
Das fuehrt dann zu den Artikeln hier.

Erklaerend
Lug

-----------------------------------------------------------------------------



Re^16: Sprachen (Grimmborn, 26. Sep 1997, 09:30:50):
~#! rn=Zorro rt=875224611 rg=entwicklung
~#! tid=874685947
Richtig.
Die Frage ist jetzt, wieso sich Spieler nur Sachen anschauen, wenn dort an der
Spirale gedreht wird. Womit dann doch wieder der Schwarze Peter bei den
Spielern liegt...

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re^17: Sprachen (Orktoeter, 26. Sep 1997, 09:53:40):
~#! rn=Grimmborn rt=875259050 rg=entwicklung
~#! tid=874685947
Warum willst du den Spielern den schwarzen Peter in die Schuhe schieben ?
Proggen tun eindeutig nur Magier, also gibt es keinen Zweifel, wer letzenends
"schuldig" ist.

Wenn sich magier muehe gaeben, in Ihren Gebieten interessante Dinge zu proggen
(nicht immer bessere Waffen und immer staerkere NPC) sondern andere Dinge,
seien es nuetzliche, seien es komische und ihren NPC eigenarten verschaffen
wuerdeen, die sie vileicht nicht staerker, aber interessanter machen, dann
wuerden diese gebiete mit Sicherheit auch besucht werden.
Aber das erfordert natuerlich viel Phantasie, waehrens es recht einfach sein
duerfte ein weiteres tool zu proggen, das einem NPC mit einem Schlag das
Lebenslicht auspustet, mit der Folge, das man den NPC, der dieses Tool hat
dann wiederrum Megastark machen muss -> Ruestungsspirale

OrkT.

PS das hat nun aber rein gar nichts mehr mit dem Anfang dieses Threads 8siehe
Titel) zu tun...

-----------------------------------------------------------------------------



Re^18: Sprachen (Grimmborn, 26. Sep 1997, 10:23:51):
~#! rn=Orktoeter rt=875260420 rg=entwicklung
~#! tid=874685947
Jo, damit kommst Du auf die Frage, ob die Paparazzi am Tod von Diana schuld
sind oder die Leser, die fuer die Nachfrage sorgen. Oder (voellig neue Idee!)
ein Depp, der besoffen mit knapp 200km/h durch die Innenstadt faehrt...

GdA

-----------------------------------------------------------------------------



Re^18: Sprachen (Zardoz, 26. Sep 1997, 14:18:39):
~#! rn=Orktoeter rt=875260420 rg=entwicklung
~#! tid=874685947
Hm, sehe ich das richtig: Ihr aergert euch, weil 'die Magier' die
Ruestungsspirale raufgetrieben haben und so die Kampfkraft immer weiter
gesteigert wurde, und jetzt aergert ihr euch darueber, dass es etwas
zurueckgedreht werden soll? Hm, was soll man dazu sagen...

Zardoz

-----------------------------------------------------------------------------



Re^19: Sprachen (Zorro, 26. Sep 1997, 14:37:07):
~#! rn=Zardoz rt=875276319 rg=entwicklung
~#! tid=874685947
falsch wir aergern uns weil wir dafuer verantwirtlich gemacht werden.

-----------------------------------------------------------------------------



score (Trekan, 26. Sep 1997, 14:43:04):
es scheint wohl zu den befehlen 'score','punkte' keine und zu 'info' nur eine
alte man-page zu geben. Schoen waere aber, wenn man 'info' parameter
uebergeben koennte, die dann die fkt. von score etc. ausgeben
Trekan

-----------------------------------------------------------------------------



Re^19: Sprachen (Cauno, 26. Sep 1997, 14:57:31):
~#! rn=Grimmborn rt=875262231 rg=entwicklung
~#! tid=874685947
Jetzt langt's aber!
Geht das schon wieder los: Ein Magier, der kaum proggt, versucht, die Schuld
(wenn da ueberhaupt eine ist) von den programmierenden Magiern abzuhalten,
waehrend ein oft metzelnder Spieler dasselbe fuer seine Kollegen zu tun. Ich
nenne absichtlich keine Namen (wozu auch?)

Aber eines will ich sagen: Jetzt auch noch den Unfall der Prinzessin als
Argument einzubauen, ist in meinen Augen nicht nur arrogant, sondern
pathetisch!

C. No

PS: </ironie on> ich glaub' sowieso an die Verschwoerungstheorie ... </ironie
off>

-----------------------------------------------------------------------------



Re^20: Sprachen (Grimmborn, 26. Sep 1997, 15:59:51):
~#! rn=Cauno rt=875278651 rg=entwicklung
~#! tid=874685947
Hmm? Es ging um die Frage, ob an einer Situation immer nur derjenige, der sie
unmittelbar herbeigefuehrt hat, schuld ist oder auch derjenige, der dafuer
"den Boden bereitet" hat, fuer die Nachfrage gesorgt hat. Und tut mir leid,
wenn ich bei Diana bei Dir einen empfindlichen Nerv getroffen habe, aber das
ist nunmal das beste, aktuelle Beispiel dafuer. Den Schwarzen Peter (immer
dieser Rassismus) hab ich nur weitergeschoben, weil hier Schuldzuweisungen
offensichtlich hip sind und ich auch mal "in" sein wollte...
Und was das "kaum proggen" angeht halte ich mich an einen Vorredner, der
beklagte, das Magier ohne Phantasie trotzdem programmieren wuerden. Wenn Du
also meinst, jeder Magier muesse programmieren um mitreden zu duerfen schlag
Dich erstmal mit Deinen Kollegen rum, ob das wirklich gewuenscht ist.

GdA

-----------------------------------------------------------------------------



Re: Re: Sprachen (Kretek, 26. Sep 1997, 17:29:27):
~#! rn=Yendi rt=874696816 rg=entwicklung
~#! tid=874685947
In diesem Zusammenhang verweise ich auf die speziellen Ebenen im
Anderland. _Das_ halte ich fuer eine durchaus witzige Idee! Aber im Spiel
selber sollte man doch eine einheitliche Sprache behalten; sonst komme ich
noch auf die Idee, eine Quest zu machen, die nur Zwerge loesen koennen,
weil allen anderen die Sprachkenntnisse fehlen und Elfen sowieso doof
sind und stinken ;-)

KreteK

-----------------------------------------------------------------------------



Re^3: Sprachen (Alpha, 26. Sep 1997, 17:42:47):
~#! rn=Kretek rt=875287767 rg=entwicklung
~#! tid=874685947
Wir Elfen sind so gut, das wir fast abgewertet gehoeren ;)
Guck Dir mal die RassenTop100 an. Der 100. Elf ist Level 33, der 100. Zwerg
Level 8 Grins.
Alpha beschwoert die Elfenpower.

-----------------------------------------------------------------------------



Re: punkte/score (Hate, 26. Sep 1997, 17:51:28):
~#! rn=Hate rt=875207860 rg=entwicklung
~#! tid=875207860
Hi,

also noch ne kleine Aenderung.
Das neue "info" hat jetzt auch wieder die maximale Abenteuerpunktzahl, falls
man nicht alle Punkte hat und die bedeutung von "score/punkte" und "info"
hat sich umgekehrt. D.h. info zeigt alle informationen an und die anderen
beiden Befehle jeweils nur die wichtigstens Punkte.

Hate.

-----------------------------------------------------------------------------



Re^16: Sprachen (Wur, 26. Sep 1997, 23:17:28):
~#! rn=Zorro rt=875224611 rg=entwicklung
~#! tid=874685947
Oh Zorro, Du bist so klug und weise. Du hast auf alles eine Antwort, und fuer 
entgegen-deiner-meinung-sei-leute auch immer einen Grund weshalb deren
Meinungen Schwachfug und Unsinn sind.
Gibts Du mir von Deiner Weisheit ein klitzekleines Stueckchen ab?

Wur will nicht dumm sterben.

-----------------------------------------------------------------------------



Nur mal so..... (Anacrion, 27. Sep 1997, 14:09:27):
Nicht das ich mich beschweren wollte, denn ich finde die Info etwas
uebersichtlicer als vorher, aber man sollte sich doch auf eine einheitlich
Sprachwahl festlegen......also entweder alles deutsch und 'Charakter'
schreiben oder alles Englisch....

Anac*

-----------------------------------------------------------------------------



Re^17: Sprachen (Zorro, 27. Sep 1997, 15:21:30):
~#! rn=Wur rt=875308648 rg=entwicklung
~#! tid=874685947
Wur ein ausgesprochen gelungener artikel der uns in dieserdiskussion richtig
voran bringt. :)

Gruss Zorro

-----------------------------------------------------------------------------



Re^18: Sprachen (Tunixgut,  1. Okt 1997, 10:36:51):
~#! rn=Zorro rt=875366490 rg=entwicklung
~#! tid=874685947
Oeh... Warte mal, Zorro!!!

War unter den letzten 100 Artikeln auch nur EINER, der uns in dieser ... jetzt
haette ich beinahe Diskussion gesagt ... Zuflamerei auch nur ein klitzekleines
Stueckchen vorangebracht hat??? wenn ja, gib mir mal die Nummern durch! Nicht,
dass ich noch was verpasse...

's Karate-Zwerchle...

-----------------------------------------------------------------------------



Re^19: Sprachen (Zorro,  1. Okt 1997, 10:45:01):
~#! rn=Tunixgut rt=875695011 rg=entwicklung
~#! tid=874685947
Oh entschuldigung Tunix ich habe was vergessen.

IRONIE OFF

Gruss Zorro

-----------------------------------------------------------------------------



Debuties (Hobo,  1. Okt 1997, 14:37:39):
Bezug: Highlanders Artikel, Nr. 11 in Bekanntmachungen

Debuties faende ich gut.
Allerdings frage ich mich, ob ein "goto" so gut ist.
Erstens kann es am ehesten missbraucht werden und das Reden mit beiden
Spielern kann man auch ueber ein Stimmen-Aequivalent regeln.

Der Missbrauch vom goto wird wohl auch am schwersten zu beweisen sein...

Denk ich

  Hobo

-----------------------------------------------------------------------------



Re: Re: Konzept: Deputies (Hilfssheriffs) (Yantro,  1. Okt 1997, 14:38:04):
~#! rn=Aline rt=875709265 rg=entwicklung
~#! tid=875709265
Nochmal: jeder gebrauch der dann neuen Macht des Deputy wird geloggt...
missbrauch == Loeschung!!! Ausserdem gibt es ja auch Wahlen, so dass Du ja
keinen waehlen musst, dem du nicht vertraust...

Das PS haettest du dir sparen koennen, Alinchen. :-(

Yantro

-----------------------------------------------------------------------------



Re: Debuties (Yantro,  1. Okt 1997, 14:39:32):
~#! rn=Hobo rt=875709459 rg=entwicklung
~#! tid=875709459
Das goto ist so programmiert, dass es nur funktioniert, wenn ein PK im Gange
ist und dient dazu, dann in dem raum frieden stiften zu koennen. Missbrauch
gibt es da dann nicht.

Yantro

-----------------------------------------------------------------------------



Re: Re: Debuties (Hobo,  1. Okt 1997, 14:41:31):
~#! rn=Yantro rt=875709572 rg=entwicklung
~#! tid=875709459
Doch klar, ich logge mir einen Anfaenger ein, lass den jem. angreifen, geh
hin, bestrafe den anfaenger und bin da, wo ich sein wollte....
Und das weis mal nach, dass der Anfaenger von dem Seher gekommen ist.

Hobo

-----------------------------------------------------------------------------



LowLevelPlayer (Helva,  1. Okt 1997, 14:41:40):
Im Namen aller LowLevelPlayer bitte ich darum, die Wahl nicht erst wieder ab
Level 10 machen zu lassen. Um Missbracuh zu verhindern, schlage ich vor, dass
nur Spieler zgelassen werden, die bereist VOR der Wahlbekanntmachung
eingeloggt waren.
Ich denke, dass gerade die nicht so hochrangigen Speiler auch ein Interess an
der Wahl haben.
Helva sorry fuer die Typos ;), wie immer

-----------------------------------------------------------------------------



Re^3: Debuties (Fyt,  1. Okt 1997, 14:44:25):
~#! rn=Hobo rt=875709691 rg=entwicklung
~#! tid=875709459

Dann muss der Anfaenger aber auch erstmal an einer interessanten
Stelle stehen...

Gut, es gibt Faelle, wo sowas interessant ist, ich erinnere mich da
an gewisse Versuche, Dynamit ins Lupinental zu bekommen, aber in der
Regel duerfte es sehr wenige Faelle geben, wo sowas echt hilft.

Ausserdem duerfte es spaetestens beim dritten Anfaenger, der im
Lupinental jemanden angreift, auffallen...

Fyt.

PS: Ich find die Deputy-Idee uebrigens nicht sonderlich toll, aber im
Grossen und Ganzen isses mir egal ;-)

-----------------------------------------------------------------------------



Re: Konzept: Deputies (Hilfssheriffs) (Aline,  1. Okt 1997, 14:48:27):


Hi Sheriff,

um es gleich zu sagen, allzuviel halte ich von dem Vorschlag nicht.
1. haben gerade Seher eigentlich schon genug Moeglichkeiten andere
Spieler zu aergern bzw. einen anwesenden Magier auf Spielerfehlverhalten
aufmerksam zu machen.
2. gerade die Belaestigung von Spielerinnen wird hier im MG in meinen
Augen hochgespielt. Soweit ich mich erinnern kann, hat Grimmborn
hier in der MPA mal einen Aufruf an Spielerinnen gestartet, die
sich hier schon belaestigt gefuehlt haben und gekommen ist nix.
3. habe ich einfach die Befuerchtung, dass sich dann die Deputies
aufspielen und ihre Macht missbrauchen.

Soweit erstmal meine Meinung dazu

Aline

-----------------------------------------------------------------------------



Re^4: Debuties (Hobo,  1. Okt 1997, 14:48:55):
~#! rn=Fyt rt=875709865 rg=entwicklung
~#! tid=875709459
Sie muessen nicht unbedingt an interessanter stelle stehen, an nuetzlicher
reicht auch: Kneipe, Heilstellen o.ae.

Hobo

-----------------------------------------------------------------------------



Re^5: Debuties (Alpha,  1. Okt 1997, 15:03:37):
~#! rn=Hobo rt=875710135 rg=entwicklung
~#! tid=875709459
Ausserdem kommt der Seher so von ner gefaehrlichen Stelle weg, wo es mit Ende
nicht mehr geht.

-----------------------------------------------------------------------------



Re^6: Debuties (Cauno,  1. Okt 1997, 15:42:56):
~#! rn=Alpha rt=875711017 rg=entwicklung
~#! tid=875709459
Kein Problem - es laesst sich ja einbauen, dass das goto nicht an allen
stellen funktioniert. Und schon gar nicht im Kampf.
Meines erachtens sollte man das vielleicht mal ausprobieren - und wenn dann
trotz ueberwachung und auswahl vertrauenswuerdiger leute trotzdem noch
scheisse gebaut wird, wieder abhaengen. waere dann zwar schade um die arbeit,
aber naja.

Ich glaube, etwas mehr Verantwortung fuer die Spieler koennte das MorgenGrauen
wieder zusammenreissen und vielleicht sogar ein gemeinschaftliches Gefuehl
erzeugen. (Puh, klingt das schmalzig.)

C. No

-----------------------------------------------------------------------------



Re^7: Debuties (Hobo,  1. Okt 1997, 15:53:39):
~#! rn=Cauno rt=875713376 rg=entwicklung
~#! tid=875709459
Goto von Stellen abhaengig machen, ist schwachsinnig. Entweder kann ein Deputy
immer eingreifen oder er braucht gar kenen Stern.

Meine Meinung

 Hobo

-----------------------------------------------------------------------------



Re^7: Debuties (Pilgrim,  1. Okt 1997, 16:13:05):
~#! rn=Cauno rt=875713376 rg=entwicklung
~#! tid=875709459
Hmm,

warum ein "goto"?

Wie waers als Alternative mit einem "xtrans <beide_Streithaehne> her"
und "xtrans <beide_Streithaehne> weg" ...
Vielleicht unter besonderer Beachtung von Ausgaengen und "gib"
(respektives disabeln) um Missbrauch einzuschraenken ???

Pilgrim ... ok, auch das ist nich immer ganz ungefaehrlich, aber ;-)

-----------------------------------------------------------------------------



Re^8: Debuties (Orktoeter,  1. Okt 1997, 16:20:01):
~#! rn=Pilgrim rt=875715185 rg=entwicklung
~#! tid=875709459
Hmm Sheriff OrkT.. klingt nicht schlecht, aber wenn erst mal die eine haelfte
des MG Halsweh hat und die andere im Jail sitzt .... Ich weiss nicht, ob das
so gut kommt..
Aber erstens haben ja die Erzies das letzte Wort und zweitens muessten mich ja
auch noch Leute waehlen (nicht mal auf meine Zweities kann ich 100%ig bauen
*grummel*), also macht euch keine Sorgen...

OrkT wird nie nicht Deputy und hat deswegen auch keine Angst vor Bob Marley.

-----------------------------------------------------------------------------



Re^8: Debuties (Key,  1. Okt 1997, 16:24:12):
~#! rn=Hobo rt=875714019 rg=entwicklung
~#! tid=875709459
Wow Hobo!
Dein Vertrauen in die Spieler ist ja unebegrenzt!!
Erstens gibt es meiner Meinung nach Genug die keinen Vorteil daraus ziehen
wuerden, und zweitens ist die Strafe nicht gerade zu verachten ...

Hmm zum gesamten Konzept:
Es klingt zwar ganz gut, aber brauchen wir das?

Erstens glaub ich weniger das es viele gibt die jetzt einen "anzeigen"
wuerden, und zweitens ... ab wann man einschreitet ist auch net gerade einfach
einzuschaetzen ...

Wenn sowas kommt finde ich sind die Befehle berechtigt.

Also wenns kommt bin ich gespannt wer Deputy wird =;)

Key

-----------------------------------------------------------------------------



Re^8: Debuties (Zorro,  1. Okt 1997, 16:31:32):
~#! rn=Hobo rt=875714019 rg=entwicklung
~#! tid=875709459
Auja lasst uns das Sehertum unterwandern und jede unerwuenschte person
eliminieren :) 
ich wuerde sagen wir machen die ausgeglichensten Charaktere zu Hilfsherifs
damit es auch sicher ist :)
Sagen wir mal : Orktoeter Anatol Key und mich :)

Gruss Zorro 
P.S: ok ist was fuern Muell :)

-----------------------------------------------------------------------------



Re^9: Debuties (Anatol,  1. Okt 1997, 16:32:07):
~#! rn=Key rt=875715852 rg=entwicklung
~#! tid=875709459

Ich weiss nicht, so richtig kann ich mich nicht fuer ein Polizei-Mud 
begeistern. Ich finde es schon geknackt genug, dass der eine oder andere
Erzmagier von einem viel strengeren Reglement traeumt und am liebsten 
alles, was Spieler|Magier tun, mitloggen wuerde.

Wo gibt es denn Engpaesse bei der Polizei? Meines Wissens doch nur bei 
solchen Dingen, die eh nur ein Erzmagier tun koennen duerfen sollte. Zum
Beispiel PKs loeschen. Oder nachschauen, welcher Magier dieses taktlose 
und unverschaemte Echoto gemacht hat. Oder einem behindernden Scripter ein
Auge zudruecken. Deputies - egal ob LLW oder HLP - darf man einen solchen
Einsatzradius nicht 'zumuten', finde ich - man muss einfach auf den Sheriff
warten, es geht nicht anders.

Kleine "Massregelungen" (hoehoe) koennen Seher doch eh schon durchfuehren, 
egal, ob Boshaftigkeiten (keine Beispiele ;)) oder Nuetzliches (z.B. Frieden
stiften - g.zauberer), derer Moeglichkeiten gibt es viele.

Das einzige, was ich vermisse, ist ein "zwinge ... zu lege alles ab", um 
Dieben ein wenig auf die Finger klopfen zu koennen. Man kanns ja komfortabel 
mitloggen und konsequent fuer alle Spieler ab Level 10 zulassen. Fuer die
boesen Buben, die's missbrauchen, faellt dem Sheriff dann bestimmt was ein.

Und ganz persoenlich wuerde ich eine Korrektur der /mail/system.mailrc jedem
Depputie vorziehen. Denn "mail polizei" hat mit den Empfaengern Catweazle 
und Freund seit einiger Zeit doch recht wenig zu tun, finde ich.

Dagegen, 
Anatol

-----------------------------------------------------------------------------



Re^9: Debuties (Fyt,  1. Okt 1997, 16:38:10):
~#! rn=Zorro rt=875716292 rg=entwicklung
~#! tid=875709459

Und Grimmborn, der ist dann nicht nur fuer die MPA sondern auch
fuer Kanaele und andere Unterhaltungen zustaendig.

Jasper und Huepfer bilden die Sittenpolizei...

Fyt, sich langsam an die Idee mit den Deputys gewoehnen koennend.

-----------------------------------------------------------------------------



Re^10: Debuties (Raffi,  1. Okt 1997, 19:54:21):
~#! rn=Fyt rt=875716690 rg=entwicklung
~#! tid=875709459

Au ja, und Jof wird als Idel-Kontrolleur reaktiviert.

Recht viel Misstrauen gegenueber deinen Mitspielern Hobo - Oder ? Also ich
denke nicht das das eine besondere Einschraenkung ist. wenn einer dauernd goto
machen wuerde wuerde das schon auffallen.

Um dem ganzen abzuhelfen koennte ja auch ein 'PK-Raum' geschaffen werden zudem
man sich (und die PKler transen kann ... aber wie gesagt eigentlich unsinn.

Ach ja waerend der missonsdauer sollte der Spieler unsterblich sein. also
sowas wie:
friedensmission <ziel> und friedensmission ende.
bei friedensmission <ziel> wird man zum ziel transportiert, wird unangreifbar
und muss beim ziel bleiben - ziel kann nur ein spieler sein der gerade einen
PK begonnen hat (toete eingegeben).

bei friedensmission ende wird man an den Ursprungspunkt zurueckgetranst und
die unsterblichkeit aufgehoben.

ein zwinge waerend der Mission waere schon nicht schlecht Anatol. Als
generelle faehigkeit jedoch mist. Vor allem eine Einschraenkung mit leveln ist
unsinn ... gerade du weisst warscheinlich am besten wie schnell man level 10
ist.

Helvas Idee mit der Walbeschraenkung auf charaktaere die vorher angelegt waren
ist gut, genauso die NICHTbeschraenkung uebers level (sonnst muss ich mir
glatt einen wahlseher basteln :()

Solange alle faehigkeiten auf die dauer der mission beschraenkt sind sollte es
auch keine grossen missbrauchsfaelle geben.

Gruss
H.
(Aeh wo kann man sich als Kandidat registrieren lassen ? Und gibt
Wahlkostenpauschale ? Und was ist mit einem Festessen zu ehren der Kandidaten,
und wahlplakate und so .... wenn das ne Offene Mudwahl sein soll dann bitte
gleich richtig.)


-----------------------------------------------------------------------------



Re^10: Debuties (Freund,  1. Okt 1997, 23:02:46):
~#! rn=Anatol rt=875716327 rg=entwicklung
~#! tid=875709459
Zitat Anatol:
"Denn "mail polizei" hat mit den Empfaengern Catweazle und Freund seit einiger
Zeit doch recht wenig zu tun, finde ich.
"
"
Naja immerhin bin ich wieder da. :-) Und das (fast) jeden Tag... 
Aber zum Thema:
Erste Reaktion: Hobo hat Recht.
Es gibt so viele Magier, die mit Ihren erweiterten Befehlen (MMX?)
nicht umgehen koennen, dass es jetzt doch nicht noch einigen
Spielern moeglich sein muss, ueber anderen zu stehen.

Zweiter Gedanke:
Hmm, mir fallen aber wenigstens 5 Spieler ein, die einfach
kein Magier sein wollen, aber sehr gut mit Verantwortung
umgehen koennen. Und mir fallen im Gegenzug auch mehr als 5
Magier ein, die das offensichtlich nicht koennen...

Dritter Gedanke:
Ich habe deutliche Bedenken, einen Polizei-Gefuege (Staat ist
uebertrieben) zu bekommen. Hat jemand den Film / das Buch
"Die Welle" gelesen / gesehen? Die, die ein "X" auf Ihrem
Ausweis finden, sind die Bewacher und duerfen mehr.
Das foerdert das Denunziantentum. Was wir doch brauchen
ist mehr Gemeinschaftssinn. Naemlich, den Sinn gemein-
schaftlich viel Spass am MG zu bekommen
es ist ein
Spiel! Und zwar ein kommunikatives welches!

Wie schrieb doch ein Vor-Autor?
Er sehe keinen Engpass bei der Polizei.
Das sehe ich auch so. Und "normale" Magier sind doch ewig genug 
da. Denen kann man "schlechtes Verhalten" auch mitteilen,
und was mich betrifft, habe ich mich noch um jeden 
Spielerwunsch zumindest gekuemmert.

Insbesondere um Beschwerden...

Und nun?
Ich finde, die ausfuehrende Gewalt im MG sollte bei Magiern
bleiben. Die kann man besser belangen im Falle eines
Missbrauchs.

Es sollte nicht jeder Schwachsinn mitgeloggt werden.
Klar, theoretisch kann man ein Mud 100%ig ueberwachen.
Aber das wollen wir ja nicht.

Woher ich das weiss?

Sonst gaebe es schon lange nicht mehr die Moeglichkeit,
einen Spieler anzugreifen, sondern die Meldung:
Das ist hier nicht erlaubt.

Ein FREUNDlicher Ex-Sheriff.

P.S. Sorry fuer das nicht ganz gelungene Layout.
Ich habe gerade Zmud installiert und bin noch nicht so
ganz firm in der Bedienung... ;)

-----------------------------------------------------------------------------



Re^11: Debuties (Wurzel,  1. Okt 1997, 23:53:44):
~#! rn=Freund rt=875739766 rg=entwicklung
~#! tid=875709459
also, ich finde die idee etwas misslungen... mir fallen da auch noch mehr
beispiele aus der literatur ein ausser "welle", wo sowas in die hose 
gegangen ist. und aus der realitaet einige beispiele, wo sowas ernsthafte
probleme verursacht hat.
es gibt wohl kaum ein problem, das man nicht auch anders loesen kann. daher
sehe ich nicht so ganz die notwendigkeit, jetzt aufpasser und oberaufpasser
zu installieren... ganz daneben ist z.b. das "goto". auf anhieb faellt mir
nichts ein, was man nicht auch aus der entfernung machen koennte.
ein "rfrieden" ist ja wohl nicht sooo schwierig zu bauen, ein "rjail" noch
billiger, etc.
ich bin meistens in der etwas verkehrsaermeren zeit hier, und fast immer sind
dann auch noch einige andere magier da, die im notfall helfen koennen. wofuer
brauchen wir eine truppe von hilfssheriffs? es mag durchaus sein, dass es
unter den spielern genug leute gibt, die dazu geeignet waeren, mir fallen
da auch einige dazu ein. aber trotzdem finde ich es ziemlich superfluid.

wurzel

-----------------------------------------------------------------------------



Re^12: Debuties (Bloodyharry,  2. Okt 1997, 00:27:30):
~#! rn=Wurzel rt=875742824 rg=entwicklung
~#! tid=875709459
Das geht nich um Deinen Artikel, Wurzel - habs nur der Bequemlichkeit 
hinten angehaengt.

Da ich gerade selbst auf so einem "Schleuderstuhl" sitze: So laeuft der
eine oder andere Deputy schon Gefahr durch eine leichte Unachtsamkeit
abgeschossen zu werden. Egal ob Eigen- oder Fremdverschulden vorliegt.
Moeglicherweise wird dies die Attraktivitaet des Postens einschraenken.

Da gerade das Wort Denunzianten faellt - das waeren dann Spieler/Seher,
die Ihresgleichen einer bestimmten Tat bezichtigen. Wenn Erstere Magier
sind, sind es aber Informanten. Oder sehe ich da was falsch?


bh - glaubt nicht, dass Missbrauch Grenzen kennt.
artikel 353

-----------------------------------------------------------------------------



Re^9: Debuties (Li,  2. Okt 1997, 08:39:09):
~#! rn=Orktoeter rt=875715601 rg=entwicklung
~#! tid=875709459
Aeh, nicht der Deputy, sondern der Scheriff muss Angst haben, wenn Du auf das
Lied anspielst...
Ok ab nach Schmarrn
Li (heute besserwisserisch unt unproduktiv)

-----------------------------------------------------------------------------



Re^13: Debuties (Yantro,  2. Okt 1997, 08:48:45):
~#! rn=Bloodyharry rt=875744850 rg=entwicklung
~#! tid=875709459
Hmm ich hoere immer wieder Worte wie Aufpasser und Kontrolleure. Ich denke,
dass nicht ganz ruebergekommen ist, was die Aufgabe der Debuties sein soll. Es
geht nicht darum, dass sie andere ueberwachen und so sollte das dann auch
keiner auslegen (sonst kriegt er aerger). Es geht vielmehr darum, dass sie
einfach anwesend und ansprechbar sind fuer die wenigen Faelle, wenn es mal zu
problemen kommt, die sich nicht alleine regeln. Sicherlich muss ich Wurzel
recht geben, dass es FAST immer einen eingeloggten Magier gibt, den man auch
fragen koennte, aber ich denke nciht, dass hier jeder magier (vor allem mich
eingenommen) das Vertrauen der SpielerInnen hat. Es geht ja darum, dass die
Leute gefunden werden, denen fast alle im ernstfall vertrauen, dass sie KEINEN
Unfug mit ihrer Macht und ihren Infos machen. Denn ich muss Freund rechtgeben,
dass auch mir spontan mind. 5 magier einfallen, denen ich so einen Stern nicht
geben wuerde.

Die aufgabe der Debuties ist das reagieren und nciht das agieren. Dies sollte
nicht vergessen werden. 

Hmm noch was. Da wird den EMs und auch dem Sheriff immer wieder vorgeworfen,
dass wir keine Spielnaehe mehr haetten und das wir uns da bei den Spielern
informieren sollten. Nun wird die Moeglichkeit geschaffen, einen kleinen Teil
der Entscheidungsgewalt in Spielerhand zu geben und alle schreien. Eigentlich
ist das beschaemend, dass hier immer wieder so wenig Vertrauen in die eigene
Vernunft zu finden ist. Einerseits wollt ihr einen Spielerrat, der mit den
Magiern zusammen ueber Konzeptaenderungen beraet, andererseits seid ihr nicht
mal in der Lage, Vertrauensleute unter euch zu finden oder eine solche Idee
ernsthaft ins Auge zu fassen. 

Ich hab das Gefuehl, dass die, die am lautesten schreien genau die sind, die
selbst genau wissen, dass sie keine chance auf einen solchen Posten haben
(Spielerrat oder debutie, ist in dem Fall egal) und die dann angst haben, dass
ihr Macht (Geschrei in der Zeitung gibt einem ein Machtgefuehl) nicht mehr so
gross ist wie die anderer Leute, die sie dann ploetzlich ueberholen in der
Kompetenz.

Yantro, nachdenklich geworden, ob man nicht doch wieder zur reinen Diktatur
uebergehen soll.

-----------------------------------------------------------------------------



Re^10: Debuties (Fyt,  2. Okt 1997, 11:37:51):
~#! rn=Li rt=875774349 rg=entwicklung
~#! tid=875709459

Noe, der Deputy war ja offenbar auch tot, nur hat sich da keiner gefunden,
der's gewesen sein will...

Fyt.

-----------------------------------------------------------------------------



Re^11: Debuties (Alpha,  2. Okt 1997, 11:43:37):
~#! rn=Fyt rt=875785071 rg=entwicklung
~#! tid=875709459
Ihr erarbeitet ein Konzept, das ich wohl begruessen wuerde, wenn hier im MG am
laufenden Band gePKt wuerde. Wird's aber nicht. Warum also an einer riesigen
Kanone schmieden, wenn's nicht mal Spatzen gibt, um drauf zu feuern? Das
Risiko, dass die Kanone missbrauchtwird, ist, meiner Meinung nach gegeben.
Fuer den seltenen Fall, das jemand andere Spieler angreift, sind die
Konsequenzen ja wohl klar. Es wird ja eh mitgeloggt. 
Alpha.

-----------------------------------------------------------------------------



Re^12: Debuties (Yantro,  2. Okt 1997, 12:08:33):
~#! rn=Alpha rt=875785417 rg=entwicklung
~#! tid=875709459
Woher willst DU wissen, Alpha, dass hier kaum PKt wird? Kriegst Du die
Meldungen darueber oder die hohen Magier??? Ausserdem find ich es zu platt,
dass ganze Konzept auf PKs aufzubauen... es geht um ganz andere Dinge, aber
das scheint nciht in deinen Schaedel zu gehen.

Yantro

-----------------------------------------------------------------------------



Re^13: Debuties (Alpha,  2. Okt 1997, 12:14:31):
~#! rn=Yantro rt=875786913 rg=entwicklung
~#! tid=875709459
Das irgendwer weibliche Characktere mies anmacht?
Gibt es sowas wirklich muss ich da mal fragen. Die Chance, das hinter nem
weiblichen Charackter wirklich ne Frau steckt ist eh gering, oder? Und da man
das Geschlecht aendern kann, naja. Wer ist da denn so rasseldaemlich und
baggert hier rum, so dass Handlungsbedarf bestaende?
Oh Gott, das MG muss ja schlimm sein, wenn man Deinen Ausfuehrungen folgen
darf, Yantro. Und nen PK bekomme ich doch mit, wenn in
Polizei.Bekanntmachungen steht: XXXX wurde geloescht.
Alpha.

-----------------------------------------------------------------------------



Re^14: Debuties (Fyt,  2. Okt 1997, 12:18:15):
~#! rn=Alpha rt=875787271 rg=entwicklung
~#! tid=875709459

Es wird gebaggert, und zwar in jeder Abstufung von 'witzig' bis 'uebel'.
LOg bei Gelegenheit mal 'n weiblichen Zweitie ein, lass sie 'n paar Stunden
rumstehen, dann wirst Du begreifen, dass da Leute auf die Idee kommen,
dass das nicht so gewollt ist...

Fyt.

PS: Wie oft hast Du in Polizei.Bekanntmachungen schon gesehen:
xxx wurde wegen PK geloescht? Hm?

PPS: Wieviele PKs hast Du begangen, ohne geloescht zu werden? ;-)

-----------------------------------------------------------------------------



Re^14: Debuties (Boing,  2. Okt 1997, 12:23:07):
~#! rn=Alpha rt=875787271 rg=entwicklung
~#! tid=875709459
Es ist noch nie jemand wegen eins PK geloescht worden (vielleicht mal von
5 Minuten alten Level 1 Charakteren abgesehen, die nur zum Aerger machen
reingekommen sind). Das muss nicht heissen, dass sich das nicht aendern
kann. Und da PKs in der Regel nicht in polizei.* bekanntgemacht werden,
ist es schon korrekt zu sagen, dass ein Spieler die Haeufigkeit von PKs
bzw. PK-Versuchen nicht beurteilen kann.
Zum Rumbaggern: Leute die so 'rasseldaemlich' sind hier rumzubaggern gibt
es wohl mehr als genug. Andere Leute halten es auch nicht fuer so daemlich,
ich kenne einige feste Beziehungen, die im Mud entstanden sind. Ist das
daemlich? Ich denke nicht ...
Wenn es allerdings um Belaestigungen von Spielerinnen geht, dann kann ich
da kaum was dazu sagen. Da fallen mir nur 2 oder 3 Faelle ein, die mir
bekannt geworden sind.
  Boing

-----------------------------------------------------------------------------



Re^15: Debuties (Alpha,  2. Okt 1997, 12:34:05):
~#! rn=Boing rt=875787787 rg=entwicklung
~#! tid=875709459
Wenn ne feste Beziehung draus entstanden ist, dann war es wohl kein doofes
Rumgebaggere. Hm, zu den Pk's : schreibt es in die Zeitung und loescht
konsequent ( zumindest, wenn man toete XXXXX getippt hat. Unfaelle koennen ja
mal passieren, fuer die man ja nicht so hart bestraft werden muss).
Alpha.

-----------------------------------------------------------------------------



Re^16: Debuties (Denti,  2. Okt 1997, 12:41:24):
~#! rn=Alpha rt=875788445 rg=entwicklung
~#! tid=875709459

Naja Alpha, wenn du mal viel im Team gemetzelt hast, und du bist muede,
kann es Dir durchaus passieren, dass du ausversehen toete xxxx eingetippt
hast. Wenn du dann gleich geloescht wirst, waere das ein wenig hart.
Bisher kommen dann sofort ein oder mehrere Mags und stiften Frieden, 
so dass es glimpflich abgeht, aber das klappt nur, wenn auch welche da
sind.

Insofern finde ich die Idee mit den Deputies nicht so schlecht,
abgesehen von den Problemen mit der Baggerei, die es tatsaechlich gibt.
Wenn Du mal laengere Zeit mit einem nicht gekennzeichneten weiblichen
Zweitie gespielt haettest, wuerdest Du diese Probleme kennen.

Denti senft auch mal

-----------------------------------------------------------------------------



Re^17: Debuties (Bendeigid,  2. Okt 1997, 13:05:48):
~#! rn=Denti rt=875788884 rg=entwicklung
~#! tid=875709459
Bloede Zwischenfrage: wieso sollen SPIELER die Moeglichkeit kriegen, gegen PKs
einzuschreiten, wo nichtmal alle MAGIER informiert wrerden? Die haben naemlich
per se schon goto, frieden und finde sowie den ganzen anderen Kram (inventory
durchchecken,logfiles einsehen etc.), der zur Behandlung von speziell PKs
noetig ist. Ich finds ausgesprochen daemlich, mindestens aber unproduktiv
(vgl. Denunziatentum..) sowas in Spielerhaende zu geben.
Dagher denke ich, am vernuenftigsten waers, allen Magiern erstmal ne
Mitteilung ueber anlaufenden PK zu geben. 
Was die angesprochenen Magier angeht, denen nichtmal Yantro einen Stern in die
Hand geben wuerde... DAS Problem ist hausgemacht, wenn einige Magier hier
jeden Deppen (vor allem bekannte Deppen...) zum Magier machen und sich dann
nicht mehr die Bohne drum kuemmern. So war das Sponsoring nie gedacht, aber de
facto laeuft es doch so. Immerhin zieht die Regelung mit den Kleinstmagiern
ohne grosse Rechte so langsam, und ich denke, die Information, was man als
Magier vor allem NICHT mehr darf verbreitet sich mehr und mehr. Ich bin schon
etlichen neumagiern begegnet, die anschliessend stoehnten, wieviel Arbeit
proggen wirklich ist (wenn man sich nicht auf einen Parrallelweltraum samt
Monster beschraenken will) Viele dieser Magier tun nix mehr und wandern ab.
Schade.

Dagegen.

Z'par Servu,
                 Bendeigid

P.S. Jup, die Missbrauchsgefahr ist gross, und das Aufarbeiten der neu
anfallenden Logs sicher ein Haufen Arbeit... wird also frueher oder spaeter
nicht mehr gemacht. Erfahrungswert...

-----------------------------------------------------------------------------



Re^16: Debuties (Fyt,  2. Okt 1997, 13:14:35):
~#! rn=Alpha rt=875788445 rg=entwicklung
~#! tid=875709459

Sieh's doch endlich mal ein, dass hier 'toete <bla>' nicht mit Loeschung
'bestraft' werden. Dazu muss man schon 'n richtiger Ketzer wie z.B. das
Herrchen vom Hundchen sein oder zumindest als solcher anerkannt werden.

Dass richtig feste Beziehungen entstehen, halte ich im Uebrigen fuer die
Ausnahmen im Baggersee...

Fyt.

-----------------------------------------------------------------------------



Re^13: Debuties (Freund,  2. Okt 1997, 18:09:47):
~#! rn=Bloodyharry rt=875744850 rg=entwicklung
~#! tid=875709459

Ja, es ist tatsaechlich etwas anderes, ob ein Magier informiert wird
oder jemand bei einem Spieler denunziert wird.
Das Mud ist eine Zwei-Klassen-Gesellschaft.
(Fuer Wurzel: Es ist ein 2-Klassen-Spiel. ;-)

Und "Verrat" innerhalb einer Klasse wird sicherlich mehr Aerger
einbringen, als das "Melden" einer Tat an die andere Klasse.

Bevor rassistische Vermutungen aufkommen: Seine Klasse kann sich ja
jeder frei waehlen. Magier werden ist ja so ziemlich jedem moeglich,
der nicht gerade Andy heisst. Und Magier sind auch nicht besser oder
schlechter oder so was. Sie koennen das Spiel duch
Programmierung veraendern. Das macht den Unterschied. Und den gibt es.

Freund. 

(Magierdiskussionen werde auch nicht in Allgemeines ausdiskutiert...)

-----------------------------------------------------------------------------



Re^17: Debuties (Wurzel,  2. Okt 1997, 18:14:25):
~#! rn=Fyt rt=875790875 rg=entwicklung
~#! tid=875709459
zum baggern: ich hab hier einige weibliche charaktere gesehen, bei denen an
der tastatur auch wirklich ein weibliches wesen sass. die meisten sind nie
bloede angebaggert worden, und bei den zwei oder drei mal wo es doch
passiert ist haben wir hier alle laut und herzlich gelacht ueber die 
deppen...
vielleicht sind es nur die erkennbar unweiblichen "frauen", die hier so
richtig angemacht werden. von daher moechte ich eine aussage "log dir mal
einen weiblichen zweiti ein" doch von der relevanz her bezweifeln...
im uebrigen, sollen die baggerfahrer wirklich der grund fuer hilfsaufseher
sein? leute, ihr macht euch laecherlich.

wurzel

-----------------------------------------------------------------------------



Re^18: Debuties (Fyt,  2. Okt 1997, 18:29:03):
~#! rn=Wurzel rt=875808865 rg=entwicklung
~#! tid=875709459

Es ist auch ner Bekannten, die zweifelslos RL-weiblich ist, passiert.

Fyt.

PS: Ich hab hier gar nix als Grund *fuer* die Hilfsherriffs angefuehrt,
weil ich eher gegen die Idee bin. Aber das hatte ich glaub ich schon mal
gesagt.

-----------------------------------------------------------------------------



Re^11: Debuties (Trancefear,  2. Okt 1997, 18:38:29):
~#! rn=Freund rt=875739766 rg=entwicklung
~#! tid=875709459
Du bist wieder da? Gut. Koenntest Du dann eventuell den Highlander wieder
abloesen...? Ich wuerde das begruessen (persoenliche Meinung eines einzelnen
Spielers :-)

T.F.

-----------------------------------------------------------------------------



Re^11: Debuties (Trancefear,  2. Okt 1997, 18:40:42):
~#! rn=Fyt rt=875785071 rg=entwicklung
~#! tid=875709459
Jeder Magier ab Level 40 bekommt bei einem PK-Versuch ne fette Meldung aufn
Bildschirm, und ein "at xxx frieden" ist schnell getippt (man koennte sich
sogar nen Trigger machen... :-)

T.F.

-----------------------------------------------------------------------------



Re^18: Debuties (Key,  2. Okt 1997, 18:41:23):
~#! rn=Wurzel rt=875808865 rg=entwicklung
~#! tid=875709459
Hmm Wurzel die meissten sind nie bloede angebaggert worden .... Das ist mal ne
Auslegungssache ...

Also das Spielerinnen in irgendeiner Form angebaggert werden, sollte jeder
hier mal begriffen haben wenn er nur mal z.B. einen gewissen Magier auf
allgemein gehoert hat ... Naja der der schon lange nimmer da war :)

Und von wegen immer ein Magier da ... Also ich bin oft genug zu zeiten da wo
keiner da ist ... und das ueber stunden ... Jaja sind perverse Zeiten aber da
isses mg ja auch offen ;)
Jaja vielleicht nen invismag ... weiss man ja nie.

Key

P.S.: Von wegen pks ... Alpha fuer Dich gilt wie immer: Du keine Ahnung also
lieber still! 

-----------------------------------------------------------------------------



Re^12: Debuties (Key,  2. Okt 1997, 18:42:04):
~#! rn=Trancefear rt=875810442 rg=entwicklung
~#! tid=875709459
TRIGGER???
Nee verboten :)

Key schmarrnd

-----------------------------------------------------------------------------



Re^8: Debuties (Bongo,  6. Okt 1997, 10:14:40):
~#! rn=Hobo rt=875714019 rg=entwicklung
~#! tid=875709459
Wieso sollte denn ein Debutie nicht aus der Ferne Frieden stiften 
koennen??? Wozu das Goto? Reden kann man dann auch direkt mit den
Leuten ueber andere Wege (mitteilen, kanaele, etc)
Damit waere ein Missbrauch ausgeschlossen und das Ziel waere auch
erreicht.

-----------------------------------------------------------------------------



Re^9: Debuties (Key,  6. Okt 1997, 10:16:01):
~#! rn=Bongo rt=876125680 rg=entwicklung
~#! tid=875709459
Hmm ich greif nen zweitie bei nem autoattack npc an, magier stiftet aus der
ferne frieden, ich freu mich ;)

Key

-----------------------------------------------------------------------------



Re^15: Debuties (Bongo,  6. Okt 1997, 10:26:45):
~#! rn=Boing rt=875787787 rg=entwicklung
~#! tid=875709459
Also ich finde die Idee der Debuties gar nicht so schlecht, wenn man 
es sich mal genau ueberlegt. Gerade in einem so grossen Mud ist die
Beziehung zwischen Spielern und Magiern nicht mehr so eng wie frueher und
man lernt eher Mitspieler kennen und Vertraut ihnen mehr als irgendso einem
Typen, der nur in seinem Workroom rumhaengt. Warum sollte es denn keine
Vertrauenspersonen fuer die Spieler geben, die sich der Probleme anderer
Annehmen und eine gewisse Entscheidungsgewalt haben. Es mag zwar sein,
dass es nicht sonderlich viele Faelle gibt, aber immerhin habt ihr
hier im Morgengrauen inzwischen einen Sheriff und Rubriken wie
polizei.beschwerden, polizei.bekanntmachungen und etikette. Es GIBT
sowas also doch. Ich denke Spieler sollten froh sein, dass sie ein
Mitsprachrerecht bekommen. Ein Mud ist nicht demokratisch und darf es 
auch nicht sein. Aber wenn ihr selber bestimmen koennt, wer Eure
Vertrauensperson wird, seid doch froh.... Dann braucht ihr Euch nicht an
einen Sheriff zu wenden, den ihr vielleicht nicht moegt. Und andere Magier
sind halt nicht zustaendig....

-----------------------------------------------------------------------------



Re^10: Debuties (Bongo,  6. Okt 1997, 10:31:37):
~#! rn=Key rt=876125761 rg=entwicklung
~#! tid=875709459
Haeh? Bloedsinn. Das Friedenstiften sollte nur auf Spieler wirken nicht
auf NPCs. Das ist doch wohl eine Grundvorraussetung, oder?

-----------------------------------------------------------------------------



Schiedsrichter (Yendi,  7. Okt 1997, 14:45:28):

Hmmm... 
Wie mittlerweile von mehreren Seiten ueberzeugend dargelegt wurde, haben die
Magier sowohl die technischen Moeglichkeiten als auch die Personaldecke, um
bei solchen Vorfaellen wie PKs oder ernsthaften Belaestigungen einschreiten zu
koennen.

Was vielleicht fehlen wuerde, waere eine Art Vermittler, ein Schiedsrichter,
ein Streitschlichter, also jemand, der tooltechnisch keine wirkliche Macht
hat, der sich aber bei solchen Streitfaellen wie "Der ist rein, hat meine
Biene gekillt und sich dann den Stachel geschnappt, buhaee..." zur Verfuegung
stellt, um ein salomonisches Urteil zu faellen.
Ein solcher Spieler sollte von der Mehrheit der Spieler respektiert werden und
also keine Rueckendeckung durch Magier brauchen. Seine Aufgabe waere lediglich
das Empfangen, Schlichten und gegebenenfalls an-die-Magier-Weiterleiten von
Streitigkeiten.

Kommentare?


-----------------------------------------------------------------------------



Re^10: Sprachen (Jimdigriz,  7. Okt 1997, 15:09:12):
~#! rn=Zorro rt=875191417 rg=entwicklung
~#! tid=874685947
Argl,

Mann Zorro, nicht jedem Spieler kommt es rein auf Kampfkraft
sondern auch auf Atmosphaere und kreativitaet an.

Jim DiGriz

-----------------------------------------------------------------------------



Re: Schiedsrichter (Yantro,  7. Okt 1997, 17:18:31):
~#! rn=Yendi rt=876228328 rg=entwicklung
~#! tid=876228328
Endlich hat mit Yendi mal einer erkannt, was der EIGENTLICHE Sinn der Deputies
sein soll .... *lobloblob*

Yantro

-----------------------------------------------------------------------------



Re: Schiedsrichter (Wurzel,  7. Okt 1997, 18:23:47):
~#! rn=Yendi rt=876228328 rg=entwicklung
~#! tid=876228328
ein derartiger schiedsrichter ist voellig in ordnung. nur eine frage stellt
sich mir: ist das nicht eigentlich eine selbstverstaendliche aufgabe fuer
alle, die ueber die schlimmsten kindereien raus sind? sowas wuerde ich von
jedem erwachsenen menschen erwarten... natuerlich weiss ich, dass es immer
einige volltrottel geben wird. aber die mehrzahl zumindestens der seher macht
fuer mich doch einen relativ verstaendigen eindruck (auch wenn viele oft
noergeln und meckern, das ist erlaubt :). ich koennte mir also z.b. gut
vorstellen, eine solche schiedsrichterfunktion (ohne allzu besondere tools
bzw. faehigkeiten) zu einem allgemeinen seherprivileg zu machen (das kommt
auch dem gedanken entgegen, dass seher einen teil der verantwortung fuer das
mud mit uebernehmen sollten).

wurzel

-----------------------------------------------------------------------------



Re: Re: Schiedsrichter (Raffi,  7. Okt 1997, 19:20:10):
~#! rn=Wurzel rt=876241427 rg=entwicklung
~#! tid=876228328
Soo, wo kann ich mich jetzt als Kandidat registrieren lassen ?

Gruss
H.
(sammt Hund)

-----------------------------------------------------------------------------



Re: Re: Schiedsrichter (Gnome,  8. Okt 1997, 09:05:59):
~#! rn=Wurzel rt=876241427 rg=entwicklung
~#! tid=876228328
ja wurzel, eigentlich hast du recht.
aber nehmen wir mal das fussballspiel: dort koennte fast jeder zuschauer
den schiedsrichter spielen, weil alle mehr oder weniger (aeh...
fussballzuschauer vielleicht nicht... ;-) vernuenftig sind. aber wer macht
leztendlich den
schiri? der typ mit der pfeife in der hand. denn wenn alle entscheiden
koennten, ob das nun ein foul war oder nicht, braeuchten sie gar nicht 
anfangen zu spielen...
lange rede, gar kein sinn: bei kleineren streits kann sicherlich fast jeder
eingreifen und schlichten. bei allem anderen, braeuchte man halt so eine
person, die von magiern und spielern weitgehend als solche schlichter-
person akzeptiert wird. natuerlich kann das friedenstiften auch jeder mag
uebernehmen, aber es gibt tatsaechlich mal zeiten, in denen kein mag
anwesend ist... jedenfalls nicht geistig ;-)
mehr wollten yantro und co. glaube ich gar nicht... :)

gnOme

-----------------------------------------------------------------------------



Debutier: Mal ein Vorschlag... (Thasco,  8. Okt 1997, 18:01:53):
Hmm, es heisst Debuties! Naja, egal! ;)
Gruess euch alle! 
Also, ich hab mir jetzt die ganzen Vormails garnit durchgelesen, sorry, wenn
sich was wiederholt! Aber, mir ist da ein Gedanke gekommen...
Ich gehoere zu der hier (aeusserts kleinen) Minderheit von Spielern, die nicht
mehr die grosse Lust zum direkten spielen haben, sondern mehr zum umhergehen
und plaudern.
Ich hatte schon mal die Idee, ob man diesen Personen nicht einen Status geben
kann, wo sie sich schneller durch das MUD fortbewegen koennen (like SEHER, ok,
ist vielleicht etwas zu viel verlangt) und sie die Person finden koennen, mit
der sie ein 
kleines Plauderstuendchen halten wollen. (Jajaja, ich seh schon die Replies
vor mit: "Frag doch einfach!") Ich hab mir dabei natuerlich schon was gedacht.
Diese Personen duerften im Gegenzug zum Bleistift KEINE Sachen mehr bei sich
tragen (also den 
Carry-Befehl einfach ausschalten!). Sie koennten aber damit als
Ansprechpartner fuer MG-Anfaenger dienen oder (und jetzt kommts)
ALS DEPUTIE!! (die Idee ist mir allerdings gerade eben erst gekommen)
Was meint ihr dazu? BTW: NEIN, ich moechte NICHT mehr erst solange spielen,
bis ich Seher oder Magier werden kann! Ich chatte lieber und "gehe" hier
spatzieren!

Gruss
Thasco, Diakon (auf ewig) der Saphina

-----------------------------------------------------------------------------



Re: Debutier: Mal ein Vorschlag... (Wurzel,  8. Okt 1997, 18:37:49):
~#! rn=Thasco rt=876326513 rg=entwicklung
~#! tid=876326513
die allgemeine legasthenie faengt an mir sorgen zu bereiten...
> Hmm, es heisst Debuties! Naja, egal!
es sind noch immer dePuties, egal wie lang der thread mit dem typo auch wird.
nur als anmerkung :)

wurzel

p.s. die kleinschreibung ist keine legasthenie, sondern faulheit :)

-----------------------------------------------------------------------------



Zweitiemarkierung (Acrimon,  8. Okt 1997, 19:28:17):
Mir ist schon ein relativ gutes Konzept fuer den Gruppenkampf eingefallen,
aber es lohnt sich nicht, das vorzustellen - denn wenn die Zweitiemarkierung
noch nicht einmal vernuenftig implementiert ist, dann ist sie zum Scheitern
verurteilt!

Also bitte Magier:
Man soll auf Wunsch den Zweitie unsichtbar markieren koennen.

Das Beste waere natuerlich, wenn man bei der Zweitiemarkierung zwischen
folgenden Optionen waehlen kann:
- Markierung unsichtbar (Nur Magier ab Magierlevel xxx koennen erkennen, dasz
der Spieler diesen Charakters auch noch andere Charaktere fuehrt)
- Markierung sichtbar (jeder kann erkennen, dasz das ein Zweitie ist)
- Markierung mit Namen (bei "finger name" steht: Zweitie von Erstiename)
- Markierung auch beim Erstie (bei "finger erstie" steht: Andere gefuehrte
Charaktere: zweitiename)

Wenn moeglich, sollte man auch nachtraeglich die Art der Markierung aendern
koennen.

Acrimon, der Rote Ritter moechte, dasz die Zweitiemarkierung NICHT scheitert

-----------------------------------------------------------------------------



Re: Zweitiemarkierung (Sharia,  8. Okt 1997, 19:33:34):
~#! rn=Acrimon rt=876331697 rg=entwicklung
~#! tid=876331697
So ne dumme, ganz allgemeine Frage: muss ich auch alle Bankis usw markieren ?
so level 1 Spieler die ich eh nur einlogge um mein inv nen bissl aufzufrischen
??? werde ich geloescht wenn ich das nich tue ? oder wie oder was oder wo ?
wie wollt ihr das kontrollieren, bzw wo wollt ihr da Grenzen setzen ???
Also: schreibt bitte etwas genaueres zu den Zweitis und bitte: fuehrt wieder
ein, dass man den Namen des Ersties sieht.... es soll tatsaechlich Leute geben
die das wollen !!!

Sharia, Zweiti aus Ueberzeugung.

-----------------------------------------------------------------------------



Re: Re: Zweitiemarkierung (Wurzel,  8. Okt 1997, 19:35:36):
~#! rn=Sharia rt=876332014 rg=entwicklung
~#! tid=876331697
hm, ich sehe noch den erstienamen... vielleicht ist das die "unsichtbare"
markierung?

wurzel hat mal wieder keine ahnung

-----------------------------------------------------------------------------



Re^3: Zweitiemarkierung (Key,  8. Okt 1997, 19:36:40):
~#! rn=Wurzel rt=876332136 rg=entwicklung
~#! tid=876331697
Ja es ist unsichtbar ....
Aber es ist absolut nicht das was gewunscht war ...

Key

-----------------------------------------------------------------------------



Re: Re: Zweitiemarkierung (Trancefear,  8. Okt 1997, 19:53:20):
~#! rn=Sharia rt=876332014 rg=entwicklung
~#! tid=876331697
JA! *JEDEN* 2ti. (ist das so missverstaendlich?)

T.F.

-----------------------------------------------------------------------------



Re^3: Zweitiemarkierung (Jasper,  8. Okt 1997, 19:55:07):
~#! rn=Trancefear rt=876333200 rg=entwicklung
~#! tid=876331697
naja oder durch alle savefiles wandern und alle spielernamen in denen ein
*bank* auftaucht, loeschen :)

jasper wedelt mit dem 'ich markiere meinen breiti nicht'-faehnchen :)

-----------------------------------------------------------------------------



Re^3: Zweitiemarkierung (Trancefear,  8. Okt 1997, 20:00:25):
~#! rn=Trancefear rt=876333200 rg=entwicklung
~#! tid=876331697
Key teilt Dir mit: Joo ... ich loesch die eh wenn ich die das naechste mal
Key teilt Dir mit: einlogge ... soll ich die vorher markieren? :)

gute Idee... gleich beim einloggen eines neuen Charakters die Frage: "Soll das
ein Zweitcharakter werden?" und bei "Ja": "Name des Erstspielers"...

T.F.
PS: sowas kann natiuerlich auch Leute, die bisher keine 2ties hatten, dazu
animieren sich welche zu machen, aber jede Sache hat ihre 2 Seiten

-----------------------------------------------------------------------------



Re^4: Zweitiemarkierung (Key,  8. Okt 1997, 20:08:08):
~#! rn=Trancefear rt=876333625 rg=entwicklung
~#! tid=876331697
Der Vorschlag wurde nicht angenommen weil sich leute die das erste mal hier
reinkommen davon irritieren lassen wuerden ....

Ich halte es nur fuer Schwachsinn wenn man Charaktere markiert die man eh in 2
sek. loescht ... auch wenn es zweities sind in dem sinne.

Jaja ich weiss trotzdem wirds keine bank geben ... :)

Key

-----------------------------------------------------------------------------



Zweitimarkierung (Larissa,  9. Okt 1997, 09:03:22):
Frage,
war ist mit 'neuen' Zweities, die es rein Spieltechnisch noch nicht bis zu
einem Markierungspunkt (Zwergenschmied oder so) geschafft haben?

Lari, hat nen Hobbit, der noch nie das Hobbitdorf verlassen hat - wo mag da
nur der Ausgang sein???

-----------------------------------------------------------------------------



Re: Zweitimarkierung (Yantro,  9. Okt 1997, 09:19:12):
~#! rn=Larissa rt=876380602 rg=entwicklung
~#! tid=876380602
Also ein Zweitie existiert immer mehr als nur einige Sekunden, denn sonst
haetten sie gar keinen Sinn (ausser einen anonymen schwachsinnsartikel in die
Zeitung zu schreiben). ALLE anderen Zweities MUESSEN markiert werden und das
ohne ausnahme!!! Wer sein Hobbitdorf nicht verlassen will/kann, der hat Pech,
wenn er/sie erwischt wird und wird geloescht. Wer sich einen Zweitie machen
will, der muss halt mit der EINEN Pflicht leben, dass er ihn erstmal zu
markieren hat. Sicher laesst sich aber im Laufe der Zeit einer ueberreden, im
Hobbitdorf eine Markierungsstelle einzubauen. IN PortVain wird es auch eine
geben, aber erst, wenn das neue PortVain fertig ist.

Zu Key: Wenn du die Ergebnisse der letzten EMKonf gelesen hast, dann solltest
Du wissen, dass eine Bank hier geplant ist (und das ist keine zum
draufsetzen), dass aber im Moment an der konzeptionellen (so ein Wort aus
meinem Mund?) Einbindung in den Geldfluss hier gearbeitet wird.

Yantro

-----------------------------------------------------------------------------



Re^4: Zweitiemarkierung (Bongo,  9. Okt 1997, 09:20:40):
~#! rn=Trancefear rt=876333625 rg=entwicklung
~#! tid=876331697
Dann sollte man aber auch das Passwort des Erstspielers abfragen.
Sonst kann sich jeder Hansfranz als Dein Zweiti einloggen.
Ob das sinnvoll ist oder nicht. Es wuerde Spieler geben, die es 
machen.

-----------------------------------------------------------------------------



Re^5: Zweitiemarkierung (Anakin,  9. Okt 1997, 09:23:29):
~#! rn=Bongo rt=876381640 rg=entwicklung
~#! tid=876331697
Naja nicht gan, wenn Du nen Zweitie markieren willst,
muss a) der Erste anwesend sein b) der Erstie muss sagen
dass derjenige der Zweitie ist.

Anakin.


-----------------------------------------------------------------------------



Re^4: Zweitiemarkierung (Fyt,  9. Okt 1997, 09:26:32):
~#! rn=Trancefear rt=876333625 rg=entwicklung
~#! tid=876331697
Waere immerhin insofern geschickter, als das sonst in der Zeit zwischen
Einloggen eines neuen Zweities und seiner Markierung ein
rechtswidriger *hust* Zustand vorlaege... Und es dauert ne Zeit, eh 'n
Hobbit beim Zwergenschmied ist..

Fyt.

-----------------------------------------------------------------------------



Re: Re: Zweitimarkierung (Gnome,  9. Okt 1997, 09:35:25):
~#! rn=Yantro rt=876381552 rg=entwicklung
~#! tid=876380602
hm, das ist ja alles gut und schoen. aber bis jetzt wurde noch mit keinem
wort erwaehnt, was NACH der markierung der 2ties mit denen passiert.
ob man dadurch nachteile und/oder vorteile erfaehrt, ob das gleich-
zeitige einloggen auch weiterhin erlaubt ist usw. (wenn es schon gesagt
wurde, in welchem artikel? :-)
ich glaube, dass davon der erfolg der 2tie-markierung abhaengt...

gnOme

-----------------------------------------------------------------------------



Vorschlag fuer Teamkampf (Obermotz,  9. Okt 1997, 09:48:24):
Hiho,
Also ich weiss nicht genau, wie weit der Teamkampf schon beschlossen oder
entwickelt ist. Aber ich haette da noch eine Idee dafuer:
Es sollte noch ein Skill dafuer geben.
Nimmt man zum erstenmal an einem Teamkampf teil, so ist es doch warscheinlich,
dass man sich nicht 100% richtig verhaelt. Man verspeert einem Kollegen den
Weg oder trifft ihn sogar (natuerlich ohne Absicht). Mit der Anzahl der
mitgemachten Teamkaempfe sammelt man Erfahrung und kann halt besser im team
metzeln.
Was haltet Ihr davon?

Obermotz

-----------------------------------------------------------------------------



Re: Vorschlag fuer Teamkampf (Mesaron,  9. Okt 1997, 10:50:02):
~#! rn=Obermotz rt=876383304 rg=entwicklung
~#! tid=876383304
Wenn man es ganz genau nimmt, sollte man auch den Teamkampf mit ganz
speziellen Leuten trainieren koennen. Dann ist man in diesen Team besser, mit
"fremden" jedoch kaempft man schlecht. Wuerde die Bildung kleiner, fester
"Abenteurergruppen" foerdern.
Ich habe aber keine Ahnung, wie man das proggt, OHNE dass es verdammt viel
Speicher frisst. Ein Fall fuer "Ideen zum Jahr 2000"?

Nix fuer Ungut,
Mesaron, H.P. Lovecraft-Fan, tut aber nix zur Sache.

-----------------------------------------------------------------------------



Re: Zweitimarkierung (Catweazle,  9. Okt 1997, 11:04:25):
~#! rn=Larissa rt=876380602 rg=entwicklung
~#! tid=876380602

Hm, nun ich gehe davon aus, das Highlander und seine Seherdeputies an ge-
eigneten Stellen (vorzugsweise vor und um Markierungsstellen drumrum) 
Zoll- bzw. Zweitienachweisstationen einrichten wird, an denen solche 
leute _rechtzeitig_ abgefangen werden :-)

YTC

-----------------------------------------------------------------------------



Re: Zweitimarkierung (Padreic,  9. Okt 1997, 11:28:59):
~#! rn=Larissa rt=876380602 rg=entwicklung
~#! tid=876380602
Vielleicht bittest Du ansonsten einfach mal einen freundlichen Magier, Larissa
:). Da die zweitimarkierung ja a) Pflicht ist und b) keinen Vorteilim
Spielgeschehen bringt, hilft Dir da sicher einer weiter...
                                Gruss Padreic

-----------------------------------------------------------------------------



Re: Re: Zweitimarkierung (Yendi,  9. Okt 1997, 12:43:26):
~#! rn=Padreic rt=876389339 rg=entwicklung
~#! tid=876380602

Genau, wenn ein solcher Zweiti irgendwo von einem Magier erwischt und zur Rede
gestellt wird, kann er immer sagen, er sei gerade auf dem Weg zum
Zwergenschmied oder wo sonst eine Anmeldestelle ist. Damit ist er dann, denke
ich, loeschtechnisch aus dem Schneider -- der Magier wird ihn aber sicherlich
aus reiner Naechstenliebe zum Schmied transen und danebenstehen, waehrend er
sich als Zweitie outet. Man wird also wohl nur einmal erwischt.



-----------------------------------------------------------------------------



Re^3: Zweitimarkierung (Freund,  9. Okt 1997, 12:59:19):
~#! rn=Yendi rt=876393806 rg=entwicklung
~#! tid=876380602
Hallo Freunde ;-)

ich kann mich mal wieder nicht beherrschen, einige Leute daran zu erinnern,
dass sie auch mal Spieler waren. Arroganz bringt uns nicht weiter. Und im
Falle einer Zweitimarkierungspflicht sollte diese _tatsaechlich_ beim
Einloggen oder am Geburtsort moeglich sein.

Alles andere waere Schikane. 

Freund - hat noch kein Alzheimer 

-----------------------------------------------------------------------------



Re: Re: Vorschlag fuer Teamkampf (Trancefear,  9. Okt 1997, 13:57:46):
~#! rn=Mesaron rt=876387002 rg=entwicklung
~#! tid=876383304
Vielleicht garnicht so schlecht, der Teamkampf als neuer, gildenunabhaengiger
Skill...

T.F.

-----------------------------------------------------------------------------



Re^4: Zweitimarkierung (Cauno,  9. Okt 1997, 14:22:33):
~#! rn=Freund rt=876394759 rg=entwicklung
~#! tid=876380602
> frage fondil nach zweitimarkierung
Fondil Farin sagt: Um ganz ehrlich zu sein: Ich weiss es auch nicht.
Fondil sagt: Lass mich mal kurz nachdenken.
Fondil Farin sagt: Da faellt mir spontan gar nichts zu ein.

Ich glaube, da solltene sich EINIGE leute noch mal gedanken drueber machen!

C. No, abwartend.

-----------------------------------------------------------------------------



Anbaggern? Ist das schlimm? (Cifer,  9. Okt 1997, 16:56:31):
Hi,
bin erst jetzt wieder auf dem aktuellen Stand der mpa.

Okay, da hier Anbaggern vielleicht mal unter Strafe gestellt wird, wenn ich
das alles richtig verstanden habe, und ich zum Baggern eh viel zu unfaehig bin
und alles falsch mache - hier ganz offiziell:

Suche Freundin@real_life. Bevorzugt weiblich :-)
Nur ernstgemeinte Zuschriften an Cifer@morgengrauen.
Dass ich hier verheiratet bin, hat nichts zu bedeuten. Leider, gelle, Griza?

Kein Schmarrn.
Cifer.

P.S.: Flames demnaechst auf diesem Bildschirm, oder an die gleiche Adresse .-)

-----------------------------------------------------------------------------



Re: Zweitiemarkierung (Smurf,  9. Okt 1997, 18:10:19):
~#! rn=Acrimon rt=876331697 rg=entwicklung
~#! tid=876331697
Ich haoet ja sonst nix vom "ich auch"... aber Acrimons Ideen zur
Markierung finde ich gut. Es ist sicher auch psychologisch besser,
wenn ich mir wenigstens die Art der Markierung aussuchen kann,
anstatt nur ein "Du musst sich bis Ende Oktober markieren lassen!"
beim Einloggen vor den Latz geknallt zu kriegen. ;-)
(Wer sagt eigentlich, dass sich mein Zweiti bis dahin ueberhaupt 
einloggen mag?)

-----------------------------------------------------------------------------



Re: Re: Zweitimarkierung (Key,  9. Okt 1997, 19:19:00):
~#! rn=Yantro rt=876381552 rg=entwicklung
~#! tid=876380602
Schoen Yantro ... eine Bank ist geplant ... Und wieviele Nachteile haben wir
dadurch?
Hoff mal keine ... sonst kann mans auch gleich wieder lassen ;)

Zu den Zweities ... nein es sind mehr als 2 sekunden ... aber ich renn dochnet
wie bloed rum damit ich einen markiere den ich nur einmal einlogge ... nachdem
ich ihn erschaffen habe. 

Achja .. zu der Idee alle Zweitie beim finger des ersties einzubaun ... Nee
das ist doch Unsinn. Von mir aus ein finger blabla -mit zweities oder sowas
aber beim normalen finger bin ich so schon froh ueber -n ...

Key

-----------------------------------------------------------------------------



neues port vain?? (Cerebus,  9. Okt 1997, 23:31:06):
bin zu faul, jetzt den Artikel nachzuschlagen:

Es soll ein "neues" port vain geben? darf man wissen, was da so geplant ist?
eine trabantenstadt suedlich des goblinlagers? fussgaengerzone rund um kareems
laden? methadonausgabestellen beim koch? einen eurotunnel vom hafen nach
tamibar? eine mauer zwischen west-portVain und ost-PortVain (untersteht
Euch!!!)?
Auch wenn es nicht so klingt, ich bin ernsthaft an Plaenen interessiert...!!

cerebus.

-----------------------------------------------------------------------------



Abwertung (Hera, 10. Okt 1997, 11:58:58):
Wie stark soll denn die Abwertung sein? Es sollte schon immernoch moeglich
sein alleine Grundausruestung zu besorgen...wenn man z.B. Hunnar nur noch zu
viert schafft, braucht man ja ewig, bis alle gut ausgeruestet sind...
Hera

-----------------------------------------------------------------------------



Re: Deputies -> /dev/null (Raffi, 10. Okt 1997, 14:42:43):
~#! rn=Highlander rt=876483272 rg=bekanntmachungen
~#! tid=876483272
Ich habs aber gewollt - shaett ich mich sonst als Kandidat gemeldet?
Und der Hund hat das sicher auch ernst gemeint (So das bei ihm ueberhaupt
geht).

Gruss
H.

-----------------------------------------------------------------------------



Re: Re: Deputies -> /dev/null (Fyt, 10. Okt 1997, 15:39:42):
~#! rn=Raffi rt=876487363 rg=entwicklung
~#! tid=876483272

Och, das ist jetzt aber doof, Highlander ;---)

Ich haett' Rantanplan schon gern als Deputy gehabt.


Fyt.

-----------------------------------------------------------------------------



Re: Re: Deputies -> /dev/null (Sharia, 10. Okt 1997, 18:30:01):
~#! rn=Raffi rt=876487363 rg=entwicklung
~#! tid=876483272
naja man kann solche diskussionen auch totwuergen... aber ok ich sag jetzt
nicht das ich nich die Ruhe gefunden hatte dazu was zu schreiben und ich sag
auch nich, dass man das haette etwas laenger laufen lassen denn es is ja eh zu
spaet...was solls... schad drum
Sharia

-----------------------------------------------------------------------------



Re^3: Deputies -> /dev/null (Phobos, 10. Okt 1997, 18:37:20):
~#! rn=Sharia rt=876501001 rg=entwicklung
~#! tid=876483272
OK, Deputies wirds nicht geben. Aber wie waere es denn mit ner
Stelle als Kopfgeldjaeger? Mir schwebt da sowas in der Gegend
von 50000 Muenzen fuer jeden denunzierten unangemeldeten Zweitie
vor.


IM Phobos

-----------------------------------------------------------------------------



Re^4: Deputies -> /dev/null (Key, 10. Okt 1997, 18:38:23):
~#! rn=Phobos rt=876501440 rg=entwicklung
~#! tid=876483272

Hmm oki dann behaupte ich mahatma sei zweitie, leg die paar kroeten auf den
tisch und schon hat der einige ep weniger ... Ahja :)

Key

-----------------------------------------------------------------------------



Re^4: Deputies -> /dev/null (Trancefear, 10. Okt 1997, 20:08:02):
~#! rn=Phobos rt=876501440 rg=entwicklung
~#! tid=876483272
Au ja! Da koennte ich mir auf die schnelle ein paar 100.000 Muenzen
dazuverdienen... :-)

T.F.

-----------------------------------------------------------------------------



Re^5: Deputies -> /dev/null (Raffi, 10. Okt 1997, 20:34:34):
~#! rn=Trancefear rt=876506882 rg=entwicklung
~#! tid=876483272
Die Idee gefaellt mir. (Kann man sich die Muenzen gleich auf die Zentralbank
ueberweisen lassen ?)

Gruss
H.

-----------------------------------------------------------------------------



Re^6: Deputies -> /dev/null (Smurf, 12. Okt 1997, 01:13:30):
~#! rn=Raffi rt=876508474 rg=entwicklung
~#! tid=876483272
Hrmpf, dann muesst ihr dem Nichtanmelder aber das Geld abziehen, sonst
gibts Inflation.  :-/


Ps, re Zentralbank -- irgendwie les ich da immer mal wieder Geruechte,
dass es jetzt doch bald sowas wie ein Bankwesen geben soll...
kann da jemand mal was Naeheres zu sagen? 

-----------------------------------------------------------------------------



Re^7: Deputies -> /dev/null (Silvana, 13. Okt 1997, 07:55:02):
~#! rn=Smurf rt=876611610 rg=entwicklung
~#! tid=876483272
Es gibt ein paar EMs, die sich derzeit konkrete Gedanken darueber machen.
Ob es allerdings durchgesetzt wird, steht noch voellig in den Sternen.

  Silvana

-----------------------------------------------------------------------------



Re^8: Deputies -> /dev/null (Smurf, 13. Okt 1997, 09:42:48):
~#! rn=Silvana rt=876722102 rg=entwicklung
~#! tid=876483272
Hmm, meine dummen Ideen dazu...:
Mir stinkt es immer, wenn ich irgendwas verkaufen will und statt
1000 Geld nur 50 angeboten kriege. Wenn man irgendwas anderes
braucht und sonst nicht soviel rumschleppen kann/will, ist das
einfach nervig. Ich trag mein Geld gerne fuer nen negativen Zinssatz
(wegen Inflationsbekaempfung) auf die Bank, wenn ich weiss, dass ich
dann (a) nicht wieder von vorne anfangen muss, wenn ich sterbe und
meine Sachen nicht mehr wiederkriege (so wie letztes Mal im Wasser-
fall, da war der Kram halt einfach WEG nachher) und (b) dadurch den
Haendlern fuer mich und anderen genug zum Verkaufen bleibt.

Ich besteh ja nicht auf den 1000, aber 50? Im "RL" haette ich da mein
Schwert gezogen und den Haendler gefragt, ob er mich verarschen will
oder was.


-----------------------------------------------------------------------------



gar net so uebel ) (Qitess, 13. Okt 1997, 11:35:48):
~#! rn=Engywuck rt=875031708 rg=entwicklung
~#! tid=875031708

QI**

P.S.: und damit dies kein drei-zeilen-den-beitrag-find-ich-gut-artikel wird,
werde ich noch ein paar worte verlieren. ich finds toll, wie sich die meisten
magier um die entwicklung dieser welt kuemmern.(kein schleim :) nur mal ne
ehrliche anerkennung) allerdings gibt es auch ein paar magier mit denen ich so
einige probleme habe/hatte. aus diesem grund (unter anderem) bin ich gegen
eine generelle zweitie-markierung. auch gegen eine unsichtbare. es gibt tage,
an denen ich ins mud moechte, ein bisserl bienen killen und frust ablassen,
und da moechte ich von gar keinem erkannt werden, und auch nicht von
irgendwelchen magiern. wie gesagt, ich spreche da aus erfahrung. ein weiteres
problem ist, das ich nunmal ein weiblicher mensch hinter diesem weiblichen
charakter bin, und manche es ab und zu nicht kapieren, dass wir von dieser
sorte kein freiwild sind. wenn ich dann mit nem zweitie ins mud gehe, kann man
immer noch sehen, 'ah, das ist ja ein zweitie von qitess, dann kann ich ja
weiter baggern'. naja. wollt ich einfach mal loswerden, auch wenn das jetzt
nichts mehr mit der idee zum quasselraum zu tun hat. :)

just my little pencil-case :) 

QI**

-----------------------------------------------------------------------------



Re^5: Deputies -> /dev/null (Tunixgut, 13. Okt 1997, 12:16:16):
~#! rn=Key rt=876501503 rg=entwicklung
~#! tid=876483272
Au ja... Kann man auch seine EIGENEN Zweities jagen... DAS wuerde die Sache
interessant machen.... ;o)

's Karate-Zwerchle...

-----------------------------------------------------------------------------



Re^9: Deputies -> /dev/null (Qitess, 13. Okt 1997, 16:44:36):
~#! rn=Smurf rt=876728568 rg=entwicklung
~#! tid=876483272

a propos Haendler - wie waere es denn mal mit ner haendler-gilde ? mir schwebt
da zB sowas vor wie, dass haendler kneipen beliefern, laeden beliefern und
evtl auch die dinge, die sonst unterm ladentisch verschwinden, erstehen
koennen (natuerlich fuer ein schweinegeld...)

naja und halt sowas in der art, vielleicht auch wandelnde bankangestellte sein
koennten. so zum geldverleihen und rumtragen.

angriffe koennten aber wie abenteurer bleiben (oder in etwa so aehnlich),
irgendwas  muesste natuerlich wegfallen, und irgendwas neues zum lernen
dazukommen (sonst wuerden alle abenteurer haendler werden um noch ein paar
zusatzsachen zu bekommen, klar)...

naja, is nur so ne ziemlich unausgegorene idee von mir :/

Just my little pencil-case

QI**


-----------------------------------------------------------------------------



Re^7: Deputies -> /dev/null (Fyt, 13. Okt 1997, 17:37:10):
~#! rn=Smurf rt=876611610 rg=entwicklung
~#! tid=876483272

Jo, in PV.

Fyt.

-----------------------------------------------------------------------------



Re^10: Deputies -> /dev/null (Wargon, 14. Okt 1997, 10:28:40):
~#! rn=Qitess rt=876753876 rg=entwicklung
~#! tid=876483272
  Hi!
Also sowas wie ein Berufswesen ist durchaus in der Planung (wenn auch noch
lange nicht konkret). Allerdings nicht als Gilde, sondern eher als Zusatz zum
bestehenden Charakter. Ausserdem waere das ganze nicht nur auf die Zulieferer
beschraenkt, sondern wuerde sich auch auf Erzeuger und (Zwischen-)Verwerter
erstrecken.
  Wargon

-----------------------------------------------------------------------------



Re^11: Deputies -> /dev/null (Denti, 14. Okt 1997, 10:29:49):
~#! rn=Wargon rt=876817720 rg=entwicklung
~#! tid=876483272

Das finde ich eine super Idee, wuerde sicherlich spass machen.

Wann ca. kann damit gerechnet werden? (naechstes jahr, in zwei jahren,
in vier jahren oder wie?)

Denti 

-----------------------------------------------------------------------------



Re^11: Deputies -> /dev/null (Sharia, 14. Okt 1997, 10:29:59):
~#! rn=Wargon rt=876817720 rg=entwicklung
~#! tid=876483272
Ich faends ehrlich klasse wenns sowas geben wuerde... 
... und soviel ich weiss is das ne Idee die bei den meisten wirklich gut
ankommen wuerde :-)

Sharia

-----------------------------------------------------------------------------



Re^12: Deputies -> /dev/null (Catweazle, 14. Okt 1997, 11:24:15):
~#! rn=Denti rt=876817789 rg=entwicklung
~#! tid=876483272
Moin!

Also zeitlich ist das tatsaechlich sehr unbestimmt.
Ich kann aber sagen, das es auf jeden Fall kommen wird. Ich hab das Mud 
bisher mal nach Bedarf ausgelotet und Wargon hat mir vor wenigen Minuten
einen ersten Entwurf fuer einen Warenkreislauf in die Hand gedrueckt. 
Abgesehen davon, dass es gar nicht so einfach ist einen passenden Kreis-
lauf zu basteln, der auch aufs MorgenGrauen passt, kommt auf jeden Fall
noch ein ganzer Haufen Programmierung dazu. Wann das ganze fertig wird 
kann ich echt nicht sagen. Ich selbst habe ab November wieder mehr Zeit,
da werde ich dann wohl mal das Grundkonzept vollstaendig ausarbeiten.
Darin enthalten wird, wie Wargon schon erwaehnte, ein Beruf des Spielers 
sein, zur Produktion von Gegenstaenden aus Materialien, sowie der An-
und Verkauf dieser Sachen an Haendler und Laeden. Eine Anpassung der
Laeden ist im momentanen Ladenumbau schon eingeplant (a la Ausverkauf
aufgrund mangelder Rogstoffe etc.).
Achja, warum ich dies schreibe. Anregungen sind natuerlich _gern_ will-
kommen. Wobei ich dies gleich wieder einschraenken muss. Atens bitte nur
vernuenftige Sachen schicken, nix wie 'das ist voll cool/scheisse' oder
'Aber ich will einen Schmied der Superwaffen machen kann'. Bitte nur 
Sachen schicken, die beim Konzeptaufbau helfen (ich hoffe die Grundidee ist
einigermassen klar geworden). Btens bitte NUR per email! Artikel in Ent-
wicklung sind momentan voellig unangebracht, da eine Diskussion ueber 
moegliche Konzepte absolut sinnlos ist. Lasst uns erstmal ein erstes 
machen, wenn das fertig ist, kann man immer noch darueber nachdenken, was 
man wo verbessern/veraendern kann. 
That's all folks.

Yours truly,
     Catweazle

-----------------------------------------------------------------------------



Re^11: Deputies -> /dev/null (Cauno, 14. Okt 1997, 12:27:38):
~#! rn=Wargon rt=876817720 rg=entwicklung
~#! tid=876483272
Hm. Meinen Beruf ist doch seit etwa zwei Jahren bekannt?!
Koennte ich den dann im Berufswesen offiziell machen, und gibt es auch
Nebenberufe? :-)

C. No, der Kartograph
... Photograph
... Stenograph
Graf Cau No ???
-> schmarrn

-----------------------------------------------------------------------------



Angriffsmeldungen (Rochus, 14. Okt 1997, 17:05:45):
Auf viellfachen Wunsch hin habe ich den Befehl
  angriffsmeldung [an|aus]
eingebaut. "an" bedeutet, man sieht die eigenen Angriffsmeldungen dann
IMMER, "aus" bedeutet, man sieht sie nur wenn sie sich aendern.
Ich hoffe damit die Folgen der Scroll-Reduzierung fuer alle
ertraeglich zu machen :-)

  Rochus

-----------------------------------------------------------------------------



Re: Angriffsmeldungen (Sharia, 14. Okt 1997, 17:13:17):
~#! rn=Rochus rt=876841545 rg=entwicklung
~#! tid=876841545
SUBBA !! DANKE !!!!
... und jetzt warte ich noch auf: kampfmodus ultrakurz dann isses perfekt
:-)))

-----------------------------------------------------------------------------



Re: Re: Angriffsmeldungen (Rochus, 14. Okt 1997, 17:19:23):
~#! rn=Sharia rt=876841997 rg=entwicklung
~#! tid=876841545
Das Problem bei Kampfmodus ultrakurz ist, dass andere Anwesende die
Meldungen vielleicht gerne haetten, und bei jeder Meldung in jeder
Kampfrunde jeden Anwesenden zu fragen ob er gerne die Meldung haette
ist leider recht Lag-foerdernd (oder wahlweise speicherfressend).

-----------------------------------------------------------------------------



Re^3: Angriffsmeldungen (Key, 14. Okt 1997, 17:20:28):
~#! rn=Rochus rt=876842363 rg=entwicklung
~#! tid=876841545
Hmm einfach son Teil wie den Zauberstab fuer alle? Also den Stabreport der
Zauberer ... .)

Key

-----------------------------------------------------------------------------



Re^3: Angriffsmeldungen (Sharia, 14. Okt 1997, 19:17:48):
~#! rn=Rochus rt=876842363 rg=entwicklung
~#! tid=876841545
huch Rochus da haste mich falsch verstanden :-)
also ich dachte das so: 
kampfmodus lang: so wie bisher
kampfmodus kurz: deine neue Version dass man jetzt nurnoch beim ersten schlag
die waffe sieht :-)
kampfmodus ultrakurz: man sieht eigentlich nurnoch die lps :-)... 
achja: fuer andere kann das doch immer sichtbar sein alles... nur die eigenen
meldungen halt nich oder nich ??? hmm weiss nich wie das anstaendig umzusetzen
is :-)
Sharia

-----------------------------------------------------------------------------



Re^4: Angriffsmeldungen (Wurzel, 14. Okt 1997, 19:31:15):
~#! rn=Sharia rt=876849468 rg=entwicklung
~#! tid=876841545
wenn man das konsequent weiterdenkt...
eigentlich kann man aus bewaffnung, ruestung, skills etc. im vergleich zum
npc auch direkt den sieger ausrechnen, dann spart man sich den aufwand das
in einzelnen heart_beats abzufackeln und reduziert das lag erheblich. ob
man rechtzeitig fluechtet oder stirbt, kann man anhand der vorsicht und des
maximalschadens ermitteln, indem man wahrscheinlichkeiten ausrechnet und
dann mittels zufallszahl entscheidet...
hm.
konsequent weitergedacht, kann man auch die anderen cpu- und speicherfresser
sicherlich eliminieren. eigentlich koennte man die durchschnittliche anzahl
von toden, die ein spieler im laufe seiner existenz durchlebt, gleich
zusammenfassen und an den anfang (oder das ende) seiner durchschnittlichen
existenzdauer stellen. kommunikation ist auch kein problem mehr, wenn der
spieler beim einloggen gleich alle mitteilungen des tages (natuerlich
gemittelt, man kann ja buchstabenhaeufigkeiten analysieren) zukommen lassen,
auch das ist sehr effizient, was den cpu-verbrauch angeht.
tja, und ganz konsequent gedacht kann man es dann auch gleich ganz sein
lassen.
oder man belaesst es doch dabei, ein klein wenig atmosphaere zu vermitteln.

wurzel

-----------------------------------------------------------------------------



Re: Angriffsmeldungen (Smurf, 14. Okt 1997, 20:11:50):
~#! rn=Rochus rt=876841545 rg=entwicklung
~#! tid=876841545
Schreib BITTE noch einen Hilfstext dazu.

Danke.

-----------------------------------------------------------------------------



Re^4: Angriffsmeldungen (Smurf, 14. Okt 1997, 20:13:33):
~#! rn=Sharia rt=876849468 rg=entwicklung
~#! tid=876841545
Schoen waers, aber Leute ohne Nibelungen (das wars doch, oder?)
sehen dann gar nix mehr.  Hmmm... sehr motivierend, diese Quest endlich
mal zu machen. ;-)

-----------------------------------------------------------------------------



Re^5: Angriffsmeldungen (Morgoth, 15. Okt 1997, 07:30:59):
~#! rn=Wurzel rt=876850275 rg=entwicklung
~#! tid=876841545
das ist ja wohl ein bischen daneben, wurzel. du uebertreibst vollkommen.
Es ist sicher sinnvoll, wenn man dieses 'laestige' gescrolle ausschalten kann,
wenn man z.b. mit kleineren npcs kaempft, die halt irgendwo aus dem weg
geraeumt werden muessen (SSP) oder bei irgendwelchen super-npcs, bei denen man
mit 10 leuten steht (gibts sowas noch?) und es nur noch scrollt, weil jeder
irgendwo auf irgendwem rumhackt und alle zusammen sich die birne weichklopfen.
da siehst du dann gar nix mehr. 
rochus, das problem mit dem lag ist mir wohl bekannt, aber es muss doch eine
praktische, aber nicht unbedingt viel langsamere loesung geben. ich denke hate
kann da eine schoene lambda-closure aus dem hut ziehen, die sowas erschlaegt.
Morgoth will auch kampfmodus ultrakurz !!!

-----------------------------------------------------------------------------



Vielleicht noch besser... (Obermotz, 15. Okt 1997, 09:45:11):
~#! rn=Qitess rt=876753876 rg=entwicklung
~#! tid=876483272
Wie waere es mit der Moeglichkeit, das eigene Seherhaus mit einer Art
"Schaufenster" auszustatten?
In das Schaufenster kann man Dinge legen und mit einem Preis versehen. Jeder
Spieler kann nun diese Dinge zum angegebenen Preis kaufe. Das Geld wandert
dann in die Truhe, die ja in jedem Seherhaus vorhanden ist. Kommt ein Reboot
waeren die Dinge natuerlich genauso verloren wie in der Truhe.
Interessant waere es auch, wenn man mit dem entsprechenden Seher vueber den
Preis  verhandeln koennte (wenn er natuerlich online ist) ohne im gleichen
Raum zu sein oder teile-mit zu benutzen.
Der erste Teil sollte eigentlich nicht schwer umzusetzen sein. Naja, und der
Zweite muesste noch Diskutiert werden.

Obermotz, der hoffentlich auch blad Seher sein kann

-----------------------------------------------------------------------------



Idle/Weg (Trancefear, 15. Okt 1997, 18:45:32):
Ich hab ne Idee: wie waers wenn man nem Spieler ansehen koennte dass er idelt,
bzw sein "weg" gesetzt hat. Dann muss man nicht immer fingern... Also beim
"schau spieler" steht in der letzten Zeile sowas wie IDLE oder WEG.

T.F.

-----------------------------------------------------------------------------



Zweitie-Markierung (Paracelsus, 15. Okt 1997, 22:22:54):
Hi.
Ab sofort (oder besser: nach einem 'ende' oder dem naechsten Crash) steht das
Kommando 'zweitiemarkierung' zur Verfuegung. Mit diesem Kommando kann sich ein
Zweitspieler aussuchen, wie seine Markierung gehandhabt wird:
  zweitiemarkierung unsichtbar       nicht zu erkennen (bzw. nur fuer Magier)
  zweitiemarkierung sichtbar         man sieht zwar, dass es ein Zweitie ist,
                                     aber nicht von wem
  zweitiemarkierung name             Im Finger wird auch der Name des Ersties
                                     angezeigt.

Paracelsus - unterlag mal wieder der goettlichen Verordnung "Wer vorschlaegt,
             baut im Zweifelsfall auch ein"

-----------------------------------------------------------------------------



Re: Zweitie-Markierung (Smurf, 15. Okt 1997, 22:39:01):
~#! rn=Paracelsus rt=876946974 rg=entwicklung
~#! tid=876946974
Super!
> Wer vorschlaegt, baut im Zweifelsfall auch ein

Brav.  :-)

-----------------------------------------------------------------------------



Verlobung (Rikus, 15. Okt 1997, 23:11:54):
Hi,
nachden das ftp nun wieder geht, habe ich auf vielfachen Wunsch eines
einzelnen Herrn (nee, waren schon mehrere Leute beiderlei Geschlechts)
die Verlobung auch fuer gleichgeschlechtige Partner ermoeglicht.

much fun, Rikus

-----------------------------------------------------------------------------



Re: Verlobung (Smurf, 16. Okt 1997, 08:51:13):
~#! rn=Rikus rt=876949914 rg=entwicklung
~#! tid=876949914
Hmm, geht das auch mit Heiraten?

Und was ist mit mehr als zwei Partnern? (Soll es ja auch geben...)

-----------------------------------------------------------------------------



Re: Zweitie-Markierung (Nixihou, 16. Okt 1997, 09:18:58):
~#! rn=Paracelsus rt=876946974 rg=entwicklung
~#! tid=876946974
zu deiner "zweitiemarkierung" sag ich nur eins: 
                                             --> D A N K E ! <--

war mir ein echtes beduerfniss
nixihou

-----------------------------------------------------------------------------



Re: Re: Zweitie-Markierung (Smurf, 16. Okt 1997, 09:50:24):
~#! rn=Nixihou rt=876986338 rg=entwicklung
~#! tid=876946974
Jetzt fehlt dazu nur noch der Hilfstext...

[Smurf braucht noch ein Weilchen, bis er selber Magier sein darf.]

-----------------------------------------------------------------------------



Re: Re: Verlobung (Wargon, 16. Okt 1997, 10:54:17):
~#! rn=Smurf rt=876984673 rg=entwicklung
~#! tid=876949914
> Hmm, geht das auch mit Heiraten?
Bei jedem Priester (oder hoeher) des Heiligen Ordens.
  Wargon

-----------------------------------------------------------------------------



Re: Re: Verlobung (Rikus, 16. Okt 1997, 10:56:12):
~#! rn=Smurf rt=876984673 rg=entwicklung
~#! tid=876949914
Also mit der Hochzeit habe ich nix zu tun, das musst Du mit den
dafuer verantwortlichen bereden

Rikus

-----------------------------------------------------------------------------



Re: Zweitie-Markierung (Nirdavo, 16. Okt 1997, 12:00:09):
~#! rn=Paracelsus rt=876946974 rg=entwicklung
~#! tid=876946974
   Daaaaanke, Para*! Genau so hab ich es mir gewuenscht, und deshalb ist mein
2tie ab sofort auch markiert. Er freut sich wahnsinnig, dass er nicht
gebrandmarks rumlaufen muss.

        Nirdavo, i.A. seines 2ties

-----------------------------------------------------------------------------



Re: Re: Zweitie-Markierung (Boing, 16. Okt 1997, 12:09:50):
~#! rn=Nirdavo rt=876996009 rg=entwicklung
~#! tid=876946974
Durch die unsichtbare Markierung wurde auch eine Aenderung der Toplisten
noetig, ab sofort gibt es keine Zweitielisten mehr, auch Zweitspieler 
tauchen ganz normal in den anderen Listen auf. Zumindest wenn Wargons
Aenderung des Scriptes klappt. :) Danke, wargon!
  Boing

-----------------------------------------------------------------------------



Re: Re: Zweitimarkierung (Caradhras, 16. Okt 1997, 18:30:33):
~#! rn=Yantro rt=876381552 rg=entwicklung
~#! tid=876380602
Was ist eigentlich mit den Zweities, die mir nicht mehr namentlich
einfallen? Das sind hier so 5 bis 10. Grob geschaetzt. :) Muss ich
die jetzt auch markieren? Ich weiss ja noch nicht mal mehr die
Passwoerter meiner bekannteren 2ties. *seufz*
Nein, mir JETZT zu erzaehlen, dass ich mir ein einheitliches PW
haette setzen sollen hilft nix!! Das haettet ihr vor 4 Jahren tun
sollen. :-))

    Bergchen Caradhras - Erstie von Beruf (&/%$%&/(@@!& Magier)

-----------------------------------------------------------------------------



Re^3: Zweitimarkierung (Alpha, 16. Okt 1997, 18:31:56):
~#! rn=Caradhras rt=877019433 rg=entwicklung
~#! tid=876380602
Es werden doch nur die erwischten unangemeldeten Zweities geloescht, und nicht
der Erstie, oder? Na also, brauchst nicht mal Selbstloeschung tippen.

-----------------------------------------------------------------------------



Re^4: Zweitimarkierung (Wargon, 16. Okt 1997, 18:33:27):
~#! rn=Alpha rt=877019516 rg=entwicklung
~#! tid=876380602
Och, wenn der Erstie gestaendig ist, kanner auch geloescht werden. :)

-----------------------------------------------------------------------------



Re^5: Zweitimarkierung (Caradhras, 16. Okt 1997, 18:52:43):
~#! rn=Wargon rt=877019607 rg=entwicklung
~#! tid=876380602
Aeh, ich gestehe nix! :) Ich weiss wie immer von nix und 
selbst unter strengster Magier-Folter (1 Stunde mit Didi im selben
Raum) werde ich nichts gestehen.

                Bergchen Caradhras

-----------------------------------------------------------------------------



Re^3: Zweitimarkierung (Trancefear, 16. Okt 1997, 22:14:33):
~#! rn=Caradhras rt=877019433 rg=entwicklung
~#! tid=876380602
Naja ganz einfach: da Du die Namen nicht mehr weisst, hast Du die Leutchen
schon lange nimmer eingeloggt. Jetzt muss man nur noch ein Script laufen
lassen, das alle Leute loescht, die ne gewisse Zeit nicht da waren, und -
voila - sind Deine Problemchen geloest :-)

T.F.
PS: Das ist sicherlich auch fuer die MUDfestplatte nicht von uebel ...

-----------------------------------------------------------------------------



Re^4: Zweitimarkierung (Felagund, 16. Okt 1997, 22:20:08):
~#! rn=Trancefear rt=877032873 rg=entwicklung
~#! tid=876380602
Nedd, dass da jetzt noch irgendwelche newbies verwirrt werden:
Was du mit irgendwelchen x-ties machst, die du nicht einloggst ist voellig
schnuppe, solang du nur die AKTIVEN x-ties markierst.

Fela..sorgt sich um die Jugend ;)

-----------------------------------------------------------------------------



Ehering (Rikus, 16. Okt 1997, 22:36:59):
Hi,
wollte die naechsten Tage den Ehering ueberarbeiten, den man in der Kapelle
in Nibelheim erhaelt (Verschwinden bei Tod etc pp fixen). Wer noch Bitten/
Ideen dazu hat, der maile mir bitte.

ciao, Rikus

-----------------------------------------------------------------------------



Re^6: Zweitimarkierung (Teddy, 17. Okt 1997, 02:20:09):
~#! rn=Caradhras rt=877020763 rg=entwicklung
~#! tid=876380602
und bei 2 Stunden?

Teddy
->schmarrn

-----------------------------------------------------------------------------



Re^3: Zweitie-Markierung (Teddy, 17. Okt 1997, 03:52:45):
~#! rn=Boing rt=876996590 rg=entwicklung
~#! tid=876946974
Warum keine Zweitilisten mehr? Jetzt bin ich wieder abgerutscht. ;(
Aber mal im ernst, dann baut wenigstens ne Moeglichkeit ein, das man seinen
2tie rausnimmt oder macht sie fuer sichtbar markierte 2ties, wie bislang auch


Teddy

-----------------------------------------------------------------------------



postkabinen (Kilar, 19. Okt 1997, 19:20:51):
Moin!

Mir ist da so eine Idee zu den Postkabinen gekommen. Bis jetz stehen
die ja relativ sinnlos in der Post rum, denn den einzigen Vorteil, den
die einem bringen ist die Tatsache, das da immer nur einer rein kann.
Deshalb finde ich, man sollte die Kabinen folgendermassen abaendern.

Wenn man eine dieser Kabinen betritt, werden automatisch folgende
Dinge ausgefuehrt:
1 Alle Ebenen werden abgeschaltet
2 Jegliches gerufe wird ignoriert.
3 Man wird als abwesend gekennzeichnet
4 Der Kobold wird eingeschaltet

Wenn man die Kabine verlaesst, muessen diese 'Aenderungen' natuerlich
rueckgaengig gemacht werden :)

Was haltet ihr von der Idee?

Kilar, Wurstzauberin



-----------------------------------------------------------------------------



Re: postkabinen (Taragon, 19. Okt 1997, 19:22:06):
~#! rn=Kilar rt=877281651 rg=entwicklung
~#! tid=877281651
Wuerde ich als aeusserst positive Aenderung bewerten ;-)

Taragon
  Idlezauberer

-----------------------------------------------------------------------------



Re: Re: postkabinen (Anatol, 19. Okt 1997, 20:56:06):
~#! rn=Taragon rt=877281726 rg=entwicklung
~#! tid=877281651
Die Postkabinen haben den Zweck, dass eventuelle Ruhestoerer in der Post
das Mail-Schreiben nicht stoeren - eben weil man nur alleine in eine Kabine
kann. Wer den Kobold einschaltet und eine Mail beginnt, hoert auch auto-
matisch keine Ebenen mehr.

Wen das Rumgerufe stoert - es gibt ja inzwischen mehrere Moeglichkeiten, 
das zu ueberhoeren... Und TF ist da natuerlich nicht mitgezaehlt.

Kontrakonstruktiv? 
Anatol :)


-----------------------------------------------------------------------------



editor (Trekan, 20. Okt 1997, 00:26:04):
Wie waere es, wenn man, falls man etwas im editor schreibt (mail, zeitung
etc.)
automatisch eine erweiterte weg-meldung bekommt. Wenn dann ein spieler einem
anderen was mitteilt sieht er gleich, dass er beschaeftigt ist und vielleicht
nichty den nerv/zeit hat, jetzt zu labern und versucht es spaeter wieder.
Mit wilden '!teile bla mit blubb'-konstruktionen kommt man ja manchmal schnell
aus dem roten pfaden des textes heraus.
Ein Meldung der Art: Bla schreibt gerade einen Artikel/Text. oder so wuerde ja
genuegen.
Trekan

-----------------------------------------------------------------------------



Re: editor (Cheasy, 20. Okt 1997, 00:28:13):
~#! rn=Trekan rt=877299964 rg=entwicklung
~#! tid=877299964
Probier doch mal 'hilfe kobold'. Der macht eine Miteilung an den 'Stoerer" und
merkt sich dessen Meldung.
-Cheasy

-----------------------------------------------------------------------------



Re: Re: editor (Kretek, 20. Okt 1997, 11:26:31):
~#! rn=Cheasy rt=877300093 rg=entwicklung
~#! tid=877299964
Es geht ja wohl weniger darum, dass die Leute den Kobold nicht nutzen,
weil sie ihn nicht kennen, sondern darum, dass da ein gewisser
Automatismus bestimmt nicht schlecht waere. Ich hab da 'nen Trigger
drauf, aber viele benutzen eben kein TF, und fuer die waere es
bestimmt flauschig, wenn sich z.B. beim Mailen wie vorgeschlagen der
Kobold automatisch einschaltet, 'ne weg-Meldung gesetzt wird und das
Rumgebruelle bzw. echoall und so'n Mist nicht durchkommt.

KreteK

-----------------------------------------------------------------------------



Re: postkabinen (Fyt, 20. Okt 1997, 11:43:54):
~#! rn=Kilar rt=877281651 rg=entwicklung
~#! tid=877281651

Gute Idee.

Fyt.

Bei genauerer Betrachtung koennte das sogar in /std/room rein... ;---)


-----------------------------------------------------------------------------



Re: Re: postkabinen (Silvana, 20. Okt 1997, 11:49:04):
~#! rn=Fyt rt=877340634 rg=entwicklung
~#! tid=877281651
Hmmm, vielleicht sollte man da dann auch ein destructen der mpa mit einbauen,
damit sinnleere Artikel auch nicht mehr stoeren. Allerdings koennte auch
ein direktes logout wirkungsvoll alle Stoerungen beseitigen...

  Silvana - spinnt den Faden weiter.

PS: Fuer Acrimon: IRONIE OFF! :)

-----------------------------------------------------------------------------



Re^3: postkabinen (Yantro, 20. Okt 1997, 17:03:58):
~#! rn=Silvana rt=877340944 rg=entwicklung
~#! tid=877281651
Hmmm sagt mal spinnt ihr alle? Ich les nur _automatisch_ und _vereinfachung_
und _hilfreich_... ich habt nen schaden. Wenn Ihr eine Mail schreibt oder was
weiss ich, dann setzt das weg gefaelligst von Hand vorher alleine oder lasst
es. Muss man euch denn wirklich ueberall den AraehKopf nachtragen? Faellt mir
nur eins zu ein: Koennte man beim Einloggen als Newbie nicht automatisch Seher
werden, denn dann kann ich mir das Spielen sparen. Besser, wenn ich dann schon
einen EM automatisch zu mir getranst krieg, der mich dann mit einem natuerlich
schon fuer mich unterschriebenen Vertrag erwartet... obwohl, wenn ich so
nachdenke, waers nicht schlecht, wenn man hier schon mal Files fertig geproggt
in sein Home kriegt und vielleicht ne kleine fertige Gilde und 2-3 Questen und
wie gesagt alles natuerlich schoen von alleine und automatisch, damit ich nix
mehr tippen muss......

Yantro spinnt Faeden viel weiter als sein Weib.

-----------------------------------------------------------------------------



Re^4: postkabinen (Dhojakt, 20. Okt 1997, 17:31:05):
~#! rn=Yantro rt=877359838 rg=entwicklung
~#! tid=877281651
Musst du deshalb gleich so in die Luft gehen?
Dhojakt, wundert sich.

-----------------------------------------------------------------------------



Re^4: postkabinen (Rochus, 20. Okt 1997, 17:53:30):
~#! rn=Yantro rt=877359838 rg=entwicklung
~#! tid=877281651

Um zu zeigen, dass nicht alle Magier so unfreundlich sein muessen,
habe ich das in die Postkabine eingebaut.

  Rochus

-----------------------------------------------------------------------------



Re^5: postkabinen (Freund, 20. Okt 1997, 18:11:31):
~#! rn=Rochus rt=877362810 rg=entwicklung
~#! tid=877281651

Also, Rochus, das war aber ueberaus FREUNDlich von Dir. :-)

Freund. Nomen est Omen.

-----------------------------------------------------------------------------



Bug in der ParaWelt (Ringor, 20. Okt 1997, 18:25:05):
Bisher fand ich den Bug nur recht nervig, aber aus gegebenem Anlass (*einen
Walddrachen angrummel*) moechte ich ihn dann doch ein paar mehr Magiern
mitteilen als denen, bei denen ich das schon getan habe:

In der Parallelwelt wird anscheinend das init eines Raumes doppelt
ausgefuehrt. Nicht immer, aber an verdammt vielen Stellen. Das fuehrt dann
z.B. dazu, dass man zwei Spells in einer Runde kassiert, wo nur einer
vorgesehen ist:

Du laesst das Paket fallen.
Der Walddrache greift Dich mit Pflanzenmagie an.
****  LP 158   MP 147 (-15)
S***  LP 83 (-75)  MP 147
  Der Walddrache trifft Dich sehr hart.
S***  LP 67 (-16)  MP 147
Auf einer Lichtung.
Es gibt einen sichtbaren Ausgang: norden.
Eine Goblinaxt.
Ein Katana.
Ein Pfirsich (leuchtend).
Ein schwarzer Schleimklumpen (angewachsen).
Ein grosser gruener Walddrache.
Der Walddrache spuckt Feuer nach Dir.
S***  LP 67   MP 133 (-14)
[Tod:Lars] Ein Walddrache hat gerade Ringor umgebracht.
[Tod:Ein Walddrache] Und wieder ein Punkt fuer die Parallelwelt!
Der Teddy knuddelt Dich ein letztes Mal.

Man beachte: den ersten Spell kassiert man, bevor man ueberhaupt im Raum drin
ist.

Koennte sich wohl bitte mal ein Magier dieses Bugs annehmen? 

Danke, Ringor

-----------------------------------------------------------------------------



Re: Verlobung (Acrimon, 20. Okt 1997, 18:52:57):
~#! rn=Rikus rt=876949914 rg=entwicklung
~#! tid=876949914
Das ist ja pervers!
Was hat denn dann das Heiraten ueberhaupt noch fuer einen Sinn?

Acrimon, der Rote Ritter ist dagegen.

-----------------------------------------------------------------------------



Re: Re: Verlobung (Wurzel, 20. Okt 1997, 20:38:56):
~#! rn=Acrimon rt=877366377 rg=entwicklung
~#! tid=876949914
pervers? meinst du das wirklich?
bisher habe ich dich einfach nicht sonderlich ernstgenommen. jetzt faengst du
an mir unsympathisch zu werden. deine einstellung kennzeichnet eine geistige
verarmung, wie man sie sonst nur von nazis, priestern und aehnlichen typen
kennt. ich hatte eigentlich gehofft, wenigstens hier vor solchen idioten 
einigermassen sicher zu sein. haette ich eigentlich besser wissen muessen...
die intoleranz breitet sich eben ueberall aus.

wurzel (heute mal stinkig)

-----------------------------------------------------------------------------



Re^3: Verlobung (Silvana, 20. Okt 1997, 21:21:45):
~#! rn=Wurzel rt=877372736 rg=entwicklung
~#! tid=876949914
Hmmm, auch wenn Acrimon bestimmt nicht dazugehoert: Es gibt Leute,
die das Attribut 'pervers' als Kompliment verstehen...
Anyway: nicht aufregen, Wurzelchen, lohnt sich nicht.

  Silvana (wurde schon fuer 'perverse' Ideen gelobt...)

-----------------------------------------------------------------------------



Ali-Idee (Silvana, 20. Okt 1997, 22:17:20):
Wenn man jemand Lust hat, sowas zu realisieren:
Wie waers, wenn man bei ali seine Aliase nicht nur mit
  ali bla*
sonder auch mit 
  ali ?bla oder ali *bla oder Kombinationen
abfragen koennte? Mir wuerds jedenfalls helfen, hab aber keine Zeit
es selbst zu machen. :)

  Silvana

-----------------------------------------------------------------------------



Re: Ali-Idee (Honx, 20. Okt 1997, 22:41:10):
~#! rn=Silvana rt=877378640 rg=entwicklung
~#! tid=877378640

Naja, und wo wir schon dabei sind waere es schoen, wenn man
fuer die (eigenen) Zweitiers die aliase 'inheriten' koennte.
So muss man die nicht immer alle wieder neu eingeben :)

Nur so 'ne Idee...

TTY, Axel

-----------------------------------------------------------------------------



Re: Re: Verlobung (Yendi, 21. Okt 1997, 11:46:13):
~#! rn=Acrimon rt=877366377 rg=entwicklung
~#! tid=876949914

Oooookay, Acrimon... fangen wir mal ganz von vorne an:

Die Heirat ist, wie wir beide ja wissen, nichts weiter als der Segen unserer
katholischen Mutter Kirche fuer den Wunsch der beiden Heiratswilligen,
Kinder zu kriegen und sie im Geist unserer katholischen Mutter Kirche zu
erziehen -- ansonsten duerften die beiden ja nicht aneinander ran.

Wir sind uns vermutlich ferner einig, dass solche Auslegungen des ehelichen
Sakraments wie "Wir wollen nur der Welt zeigen, dass wir zusammengehoeren"
eigentlich nicht den Kern der Sache treffen -- das koennen die beiden ja
schliesslich auch auf dem Standesamt.

Fein.

Unter diesen Praemissen sind natuerlich gleichgeschlechtliche Hochzeiten von
vorneherein -- naja, nicht direkt verdammungswuerdig, aber doch schrecklich
sinnlos, nicht wahr? Koennen ja schwerlich fruchtbar sein und sich mehren...

Tja...

Mir faellt gerade auf... das koennen Eheleute im MUD ja sowieso nicht!
Moment mal!
Anulliert saemtliche bisher im MUD geschlossenen Ehen!
Nehmt die Heirat raus und verbietet den Priestern bei Androhung der
Exkommunizierung das weitere Schliessen von Ehen!
Programmiert schleunigst so etwas wie Zeugungsfaehigkeit, aber rund um die Uhr
und ohne solche stoerenden Details wie Regel oder Menarche!

POPPEN FUER DIE POPEN! LASST DER NATUR IHREN LAUF!

(Ein Bannstrahl auf den, der Kondome, Pillen, Pessare oder Thermometer proggt)


Schliesst Euch mir an!

                      Yendi,
      von goettlichem Sendungsbewusstsein ergriffen.



-----------------------------------------------------------------------------



Re^5: postkabinen (Yantro, 21. Okt 1997, 12:26:59):
~#! rn=Rochus rt=877362810 rg=entwicklung
~#! tid=877281651
Das hat nichts mit unfreundlichkeit zu tun, sondern damit, dass mal wieder
allen was aufgezwungen wird, was eigentlich optional sein sollte. Vielleicht
will der ein oder andere in der Postkabine nicht das rufen verpassen oder die
kanaele waehrend des mailens weiterlesen, weil er dazu einfach in der Lage
ist. Trotzdem erzwungene Automatismen einzubauen zeugt fuer mich von einem
krankhaften Selbstverstaendnis.

Yantro, sauer ueber Magier, die einfach tun, statt zu fragen.

-----------------------------------------------------------------------------



Toplisten (Gloinson, 21. Okt 1997, 12:32:39):
Uargl. MegaLag. O-Ton Catweazle:
[Allgemein:Catweazle] ALso wenn ich das richtig sehe, wird gerade ne topliste
[Allgemein:Catweazle] gemacht...

Hm ... kann man das nicht auf Kosten der Genauigkeit optimieren ? Z.b.
dass die nicht in der Liste auftauchenden Playerdateien den ganzen Tag
im Hintergrund sortiert werden (sgaen wir die ganzen sechs Stunden)
und nur die 100 Top-Seher/Player in der einen Stunde vor 0/6/12/18 auf
den aktuellen Werten basierend sortiert werden? So wuerden zwar neu
in die Liste aufsteigende Player im Schnitt 6 Stunden mehr brauchen,
um aktuell reinzukommen ... however.
Anderer Vorschlag ist eigentlich:
[Allgemein:Jasonrigid] faende ich eh viel cooler, wenn man seine sps in der
[Allgemein:Jasonrigid] gilde genau erfragen koennte. zu was anderem ist die
[Allgemein:Jasonrigid] liste eh nicht gut.

Zum Bleistift. Toplisten abschaffen (allenfalls solche Toplisten wie
die bei Toeter fuer die Runen - sprich freiwillige) und die Stupse
erfragbar machen. Ohne dumme Schwankungen.

Gloin

-----------------------------------------------------------------------------



Re^4: Verlobung (Sharia, 21. Okt 1997, 12:36:41):
~#! rn=Silvana rt=877375305 rg=entwicklung
~#! tid=876949914
Kleriker koennen schon immer gleichgeschlechtliche Partner verheiraten und ich
bin auch stets bereit dies zu tun.
Wer also keinen Magier findet, oder gerne eine Trauung ohne stoerende
"Einspruch" und aehnliche Dinge erleben will, der wende sich vertrauensvoll an
mich oder jede(n) andere(n) KlerikerIn.

Sharia, schon diverse Ehen gestiftet habend.

-----------------------------------------------------------------------------



Re: Toplisten (Catweazle, 21. Okt 1997, 13:09:52):
~#! rn=Gloinson rt=877429959 rg=entwicklung
~#! tid=877429959
Moin!

Also die Toplisten werden a) seit ewigkeiten nur noch viermal taeglich,
um 0 6 12 und 18 Uhr erstellt, b) auf nem externen Rechner, der MG-Rechner hat
dabei lediglich NFS-zugriffe zu bewaeltigen, und c) hat das lag nicht an der
Topliste gelegen (die da nur zufaellig gerade lief), sondern an einem absolut
mistig angelegten symlink, den das Mud nicht aufloesen konnte....

Yours truly,
     Catweazle

-----------------------------------------------------------------------------



Re^5: postkabinen (Wargon, 21. Okt 1997, 13:37:04):
~#! rn=Rochus rt=877362810 rg=entwicklung
~#! tid=877281651
Schade nur, dass
a) der Kobold beim Verlassen der Post automatisch abgeschaltet wird (auch wenn
   man ihn eigentlich im Dauerbetrieb halten wollte) und
b) i) eine schon vorhandene 'weg'-Meldung beim Betreten der Post
   ueberschrieben,
   ii) und beim Verlassen auch noch geloescht wird...
c) wenn man vor dem Betreten der Post 'ruf'/'rufe' ignorierte, ignoriert man 
   es nach dem Verlassen der Post nicht mehr.
Alles in allem sieht das nach nem wenig durchdachten Schnellschuss der Marke
'Aetsch, Yantro!' aus...
  Wargon

-----------------------------------------------------------------------------



Re^6: postkabinen (Yaren, 21. Okt 1997, 16:28:19):
~#! rn=Yantro rt=877429619 rg=entwicklung
~#! tid=877281651
Sehe ich allerdings aehnlich - ploetzlich bin ich als abwesend gesetzt ... was
soll das denn? Und das ohne eine Meldung oder so - nee, lass mal!

Yaren.

-----------------------------------------------------------------------------



Re^6: postkabinen (Rochus, 21. Okt 1997, 16:47:22):
~#! rn=Yantro rt=877429619 rg=entwicklung
~#! tid=877281651
Wieso hast Du nicht DAS als Begruendung geschrieben anstelle
diese "Bloss keine Erleichterung fuer den Spieler!" ?

-----------------------------------------------------------------------------



Re^6: postkabinen (Rochus, 21. Okt 1997, 17:08:36):
~#! rn=Wargon rt=877433824 rg=entwicklung
~#! tid=877281651
Ich habe diese Probleme beseitigt und lasse mir noch
etwas einfallen das ein/ausschaltbar zu machen.

-----------------------------------------------------------------------------



Re^4: postkabinen (Jof, 21. Okt 1997, 18:21:29):
~#! rn=Yantro rt=877359838 rg=entwicklung
~#! tid=877281651

 Sinn des MUDs ist es, moeglichst vielen Leuten moeglichst viel Spass zu
machen. Aenderungen, die fuer den Spieler Komfort bringen, ohne gegen
den Geist des MUDs zu verstossen (also zB massiv die Atmosphaere be-
schaedigen), tragen m.E. deutlich zu diesem Zweck bei und sind somit
zu befuerworten. Die Sache mit der automatischen Laermvermeidung in
der Post zaehlt sicherlich zu den wuenschenswerten Aenderungen.
Speziell den Ton dieser Anmerkung fand ich stark verfehlt.

 Jof

-----------------------------------------------------------------------------



Re^5: postkabinen (Wurzel, 21. Okt 1997, 18:24:05):
~#! rn=Jof rt=877450889 rg=entwicklung
~#! tid=877281651
du bist offensichtlich zu selten da... der ton ist hier eben so geworden,
leider. der ton macht die musik, auch wenn es punk ist... und alle machen mit.

wurzel

-----------------------------------------------------------------------------



Re^6: postkabinen (Jof, 21. Okt 1997, 18:29:23):
~#! rn=Yantro rt=877429619 rg=entwicklung
~#! tid=877281651
 Bisher wurde in den Postkabinen allen der Laerm aufgezwungen; jetzt
verpasst man ja immer noch nichts, der Kobold speichert schliesslich alles.
Ich halte hier nicht Rochus fuer denjenigen mit einem "krankhaften
Selbstverstaendniss" ...

 Jof

PS: "Erzmagier" hat EIGENTLICH nichts mit "superarrogant" zu tun;
  jedenfalls war das bisher so.


-----------------------------------------------------------------------------



Re^5: postkabinen (Trancefear, 21. Okt 1997, 18:50:48):
~#! rn=Rochus rt=877362810 rg=entwicklung
~#! tid=877281651
Spalter! :-)

tf

-----------------------------------------------------------------------------



Re^7: postkabinen (Silvana, 21. Okt 1997, 19:39:43):
~#! rn=Jof rt=877451363 rg=entwicklung
~#! tid=877281651
Och, Jof... Nur weil Yantro drueber steht, brauchst Du nicht gleich
aus der Haut fahren. Und Wurzel: Der Ton ist nicht immer so. Nur wenn
Jof und Yantro oder Rochus und Yantro beteiligt sind. Ich hab jedenfalls
keine Probleme mit dem Ton mir gegenueber...
So koennten wir jetzt das gegenseitige Angepflaume sein lassen und mal
nen bisschen was konstruktives tun? Danke.

  Silvana

PS: Wurzel, was hast Du gegen Punk? :)

-----------------------------------------------------------------------------



Re^8: postkabinen (Wurzel, 21. Okt 1997, 19:42:30):
~#! rn=Silvana rt=877455583 rg=entwicklung
~#! tid=877281651
ich hab nix gegen punk, ist manchmal sogar toll. aber wie jede musik eine
stimmungssache, und abends ist mir meist mehr nach blues :)

wurzel

p.s. hoffentlich war es das jetzt endlich mit dem thread

-----------------------------------------------------------------------------



Re^8: postkabinen (Rochus, 21. Okt 1997, 19:55:54):
~#! rn=Silvana rt=877455583 rg=entwicklung
~#! tid=877281651
Urspruenglich wollte ich auf Yantro's Artikel ja mit
  "Yantro, ich finde Deine Antwort ZUM KOTZEN!"
antworten, habe mich dann jedoch entschlossen was Konstruktives
zu tun und die vorgeschlagene Verbesserung eingebaut.
War das etwa nicht richtig???

  Rochus

-----------------------------------------------------------------------------



Re: Ali-Idee (Nixihou, 22. Okt 1997, 18:40:32):
~#! rn=Silvana rt=877378640 rg=entwicklung
~#! tid=877378640
ne hilfe waere auch ne suche die als ergebniss alle ali-kuerzel ausgibt, wenn 
man nach einem befehl IN einem ali sucht.
ali * oeffne 
wuerde dann alle alis anzeigen in denen den oeffne befehl vorkommt 
nixi

-----------------------------------------------------------------------------



Re^8: postkabinen (Jof, 24. Okt 1997, 17:04:24):
~#! rn=Silvana rt=877455583 rg=entwicklung
~#! tid=877281651

 Es geht nicht drum, ob Yantro drueber steht, sondern darum, dass man
Yantros an die Spieler gerichteten Artikel auch auf Anhieb erkennt, OHNE
das man den Namen darueber liest. Leider sind die Artikel in einen super-
arroganten Ton abgefasst, fast so, als wollte der Verfasser weitere
Anregungen seitens der Spielerschaft kuenftig direkt abschrecken.
Das ist definitiv der falsche Weg!!!!!!!!!!

 Jof

-----------------------------------------------------------------------------



Re: Re: Ali-Idee (Yaren, 27. Okt 1997, 12:43:20):
~#! rn=Nixihou rt=877538432 rg=entwicklung
~#! tid=877378640
Das waere zwar ein sehr nettes Feature, Nixi, aber ich bin der Meinung, dass
Features, die man sehr gut auch AUSSERHALB des MUDs haben kann nicht IM MUD
implementiert werden sollten. Ich kann mir vorstellen, dass ein grep in LPC
geproggt, was ueber alle Deine alis laeuft das MG ziemlich lahm machen wird.
Also mach doch ein 'ali', log das und grep das selbst. Hm?

Yaren.

-----------------------------------------------------------------------------



Re^3: editor (Cheasy, 27. Okt 1997, 13:49:40):
~#! rn=Kretek rt=877339591 rg=entwicklung
~#! tid=877299964
solange dieser automatismus irgendwann als solcher abschaltbar gehalten wird,
hab ich da nix gegen.
-Cheasy

-----------------------------------------------------------------------------



Aerger nach dem reboot (Cheasy, 27. Okt 1997, 14:28:03):
Reboots lassen sich nicht vermeiden, fein. ist mir klar. Dass ich mein Zeug
nach einem reboot los bin (jedenfalls das meiste) ist auch in Ordnung. Nur
koennte man mal einfuehren, das man _nach_ einem reboot wenigstens geheilt ins
MUD kommt. Nackt und fast tot macht einfach keinen Spass ;-)

Also: In der player-soul einfach pruefen, ob der last-login vor dem reboot
war, und gegebenenfalls mit der entschaedigung auch die Lebens-Und Magiepunkte
auf voll setzen. geht das?
-Cheasy

-----------------------------------------------------------------------------



Re: Aerger nach dem reboot (Tzofe, 27. Okt 1997, 17:09:10):
~#! rn=Cheasy rt=877958883 rg=entwicklung
~#! tid=877958883
Here we go again .....



-----------------------------------------------------------------------------



Re: Re: Ali-Idee (Acrimon, 27. Okt 1997, 18:07:36):
~#! rn=Nixihou rt=877538432 rg=entwicklung
~#! tid=877378640
Wie waere es, wenn die Alias nicht mehr in dieser Form ausgegeben werde:
tm    = teile $1 mit $2*
sondern in dieser Form:
alias tm    teile $1 mit $2*

Dann kann man sehr einfach seine Aliase den Zweities uebertragen, indem man
einfach die angezeigten Aliase in das Zweitie-Fenster kopiert.

Acrimon, der Rote Ritter

-----------------------------------------------------------------------------



Re^3: Ali-Idee (Trancefear, 27. Okt 1997, 18:09:14):
~#! rn=Acrimon rt=877972056 rg=entwicklung
~#! tid=877378640
Etwa so? "Acrimon teilt Dir mit: ali tm teile $1 mit $2*" ? :-)

tf

-----------------------------------------------------------------------------



Die Kleriker (Anacrion, 27. Okt 1997, 18:16:35):

Moin :)

Irgendwie faellt mir auf, dass in letzter Zeit immer mehr Kleriker-ersties die
Gilde verlassen und sich neuen Aufgaben (sprich: anderen gilden) widmen.
Diese Entwicklung bestuerzt mich doch etwas, waren doch die wenigen
Erstie-Kleriker, die eben NICHT auf 'blabla kommt hereingeschlurft' triggern
eine Bereicherung des Spiels.  Sollte die Klerikergilde nun ganz zur
Zweitiegilde verkommen ?!? Bitte nicht ... 

Andererseits ist es auch so, dass man auch heute schon kaum noch jemanden
findet, der bereit ist, sich um eine vergiftung, blindheit usw. zu kuemmern,
da die HLP-Kleriker eh nur beim metzeln sind, der Rest aber eigentlich nur aus
vereinzelten gespielten Spielern und zweities und ein paar mobilen
Entgiftungsstationen besteht... auch diese Entwicklung erfuellt mich mit
tiefer innerer Trauer.

Vielleicht sollte man sich also darueber Gedanken machen, 1. (was ich besser
faende), die Kleriker wieder attraktiver zu machen, oder 2. ein anderes
Heilsystem (mobile NPC-Heiler) zu entwickeln und die Kleriker durch was
aehnliches, aber besseres zu ersetzen oder GANZ ABSCHAFFEN ?!?. Was im moment
passiert kommt zumindest auf Abschaffug heraus (na ja, ein paar werden noch
bleiben, gell, Sharia ;) ).

Anac* - nachdenklich

-----------------------------------------------------------------------------



Re: Die Kleriker (Trancefear, 27. Okt 1997, 18:29:10):
~#! rn=Anacrion rt=877972595 rg=entwicklung
~#! tid=877972595
Nunja... wenn ich mich recht entsinne, waren die Kleriker zuerst mehr auf
Heilen ausgerichtet, wurden dann aber - auf vielfachen Spielerwunsch - mehr
zur Schlachten "aufgeruestet". (Moeglicherweise waeren die Leute schon viel
frueher abgesprungen ohne diese Aenderung). Es zeichnen sich hier wohl 3
Moeglichkeiten ab:
1. Die Kampffaehigkeiten werden verstaerkt. Das weurde einige Leute halten,
aber nur bis wieder ein Saettigungseffekt eintritt (so siehts fuer mich aus)
2. Der Metzelkram wird wieder zurueckgenommen und der "heilige Effekt" (heilen
etc) staerker hervorgehoben. Das taete dem "Profil" der Gilde sicherlich gut,
wuerde aber vermutlich die ANzahl der noch-Mitglieder stark schrumpfen lassen
3. Zweiti-verbot. Zusammen mit 2. moeglicherweise sinnvoll, denn die Gilde
sollte nicht zur blossen "erstieheilanstalt" verkommen.

Soweit die wirren gedanken von
tf

-----------------------------------------------------------------------------



Re: Re: Die Kleriker (Key, 27. Okt 1997, 18:33:51):
~#! rn=Trancefear rt=877973350 rg=entwicklung
~#! tid=877972595
Also wegen ein paar Leuten die unbedingt jetzt megahart metzeln wollen die
kleriker zu veraendern halte ich fuer schwachsinn!
Auch als Kleriker kann man genug umnieten. Wenn man sich nen bisserl auskennt
....

Auch die chaoten sind ja net unbedingt die staerkste gilde, aber ich bin nicht
chaot weil ich alles umhauen will, sondern weil mir die Gilde gefaellt. Und
wer als Grund fuer einen Gildenwechsel die Kampfkraft angibt .... naja kann
mir nicht helfen, aber derjenige hat nunmal nicht die Gilde verstanden.

Hmm Tf .... also zu dem Zweitieverbot ... Super, dann kommt das auch in den
anderen Gilden. 
Naja kommt wahrscheinlich ganz recht, die Zweities sind ja eh die Aersche im
mom.

Key

-----------------------------------------------------------------------------



Re^3: Die Kleriker (Trancefear, 27. Okt 1997, 18:36:33):
~#! rn=Key rt=877973631 rg=entwicklung
~#! tid=877972595
Hmja die Klerikergilde *ist* nunmal die typische Zweitigilde mit ihren
Faehigkeiten. Man "haelt" sich nen Kleriker, der einen ggf heilt. Auf keine
andere Gilde trifft das so deutlich zu. 

tf
P.S.: ne typische 2ti-Gilde waere auch eine (fiktive) Schmiedegilde.

-----------------------------------------------------------------------------



Re^4: Die Kleriker (Key, 27. Okt 1997, 18:41:42):
~#! rn=Trancefear rt=877973793 rg=entwicklung
~#! tid=877972595
Soso ... und Karate? Nenen Karateka stellt man hin, tippt toete, und fertig.
Und Zauberer? Die ruesten mein Zeug. Und chaoten? Na die brauch man fuer die
Finsternis.

Key

-----------------------------------------------------------------------------



Re^5: Die Kleriker (Anacrion, 27. Okt 1997, 18:42:25):
~#! rn=Key rt=877974102 rg=entwicklung
~#! tid=877972595

Na ja...nicht jeder hat soviele xties wie du :)

Anac*

-----------------------------------------------------------------------------



Re^6: Die Kleriker (Key, 27. Okt 1997, 18:44:44):
~#! rn=Anacrion rt=877974145 rg=entwicklung
~#! tid=877972595
Ich will damit nur zeigen das jede Gilde sich prima fuer Zweities eignet. Ob
man nu in jeder einen hat ist jedem selbst ueberlassen, bis jetzt noch.

Key

-----------------------------------------------------------------------------



Re^7: Die Kleriker (Anacrion, 27. Okt 1997, 18:48:30):
~#! rn=Key rt=877974284 rg=entwicklung
~#! tid=877972595

Hmm. Trotzdem wirst auch du zugeben muessen, dass die Klerikergilde speziell
einen weniger hohen Wert fuer Ersties hat, als andere Gilden ....

Man sieht ja an der Mitgliederzusammensetzung, dass die Kleriker einen
ueberproportionalen 2tieanteil haben...

Anac* - auf den Kern zurueckkommend

-----------------------------------------------------------------------------



Re^8: Die Kleriker (Key, 27. Okt 1997, 18:52:11):
~#! rn=Anacrion rt=877974510 rg=entwicklung
~#! tid=877972595
Hmm sorry, ich bin chaot weil ich die gilde ansich mag. Kann jetzt aus meiner
Sicht nicht viel mit den Klerikern als Erstie anfangen, was aber nur an meinem
persoenlichen geschmack liegt ...
Aber das man die kleriker auch geniessen kann sieht man prima bei sharia.

Weshalb der Zweitieanteil so gross ist liegt vielleicht auch daran das die
ersties die was ausrichten koennen weggehen.
Kein normaler Entgifte-Heil-oder sonstwas-Zweitie kann es mit einem echten
Erstie aufnehmen.

Key

-----------------------------------------------------------------------------



Re^9: Die Kleriker (Sharia, 27. Okt 1997, 21:17:41):
~#! rn=Key rt=877974731 rg=entwicklung
~#! tid=877972595
Es tut mir schrecklich leid, dass ich jetzt scheinbar auch etwas schreiben
muss hier.
AAAAlso:

Anac* hat sicher recht, wenn er schreibt, dass die wenigen Ersties in der
Klerusgilde abwandern. Jedoch ist das nicht ein Problem der Gilde ansich,
sondern ein Problem derjenigen Ersties die meinen, sie muessten unbedingt in
einer Gilde sein wo man halt weniger tanken gehen muss.
Wie ja jeder weiss, bin ich KEIN Erstie und war es auch nie (*outend*) jedoch
denke ich, dass ich recht lange Zeit fast soetwas wie ein Erstie war. (Fuer
die dies nich wissen oder dies vergessen haben: Mein Erstie Nairolf war mal
Magier)
Und ich bin immer recht gut klargekommen als Kleriker..und ich denke Wissen
ueber das Mud und vorallem Wissen ueber die Spells die der eigenen Gilde zur
Verfuegung stehen machen staerker als "ichhabmirmalebennenXtiehochgezogen"..
(Ich erinner mich nur dran, dass ich nen Zauberer-Magister hatte den ICH
ausgeruestet hab *grins Anatol*)
Und wenn Nonne und Nachtwind der Klerusgilde den Ruecken gekehrt haben, so ist
dies dennoch noch lange kein Grund zu sagen die Klerusgilde wuerde zu einer
Zweitigilde "verkommen", denn mit wenigen Ausnahmen sind sie wirklich immer
schon recht allein gewesen als echte Ersties :-) (mir fallen spontan von den
alten Klerikern nur Bottom, Tanis und Myself ein als ECHTE Ersties ..)
Tja und wenn die beiden sich ueber zu geringe Kampfkraft beschweren, so wuerde
ich sagen ist dies ihr gutes Recht, denn das macht ja jede Gilde, jedoch
empfehle ich sich z.b. mal in der Karate-Gilde zu versuchen, wo
kampfkraft,uebungsaufwand und "nett beschriebene gildenraeume" etc in
ueberhauptkeinem verhaeltnis zueinander stehen wenn man dies mal nuechtern
betrachtet (*schau Mango an*)

Klerikergilde fuer Zweitis verbieten ?? na das waer ja mal nen klasse Joke,
genauso wie Klerusgilde ganz abschaffen... Nein lasst sie wie sie ist... ich
denke wenn es eines Tages einen Teamkampf gibt werden die Kleriker auch wieder
eine etwas andere Bedeutung bekommen.. (fuer die die immernoch nicht wissen
was ein Kleriker leisten kann...)
Zudem finde ich, dass die Klerusgilde eine der Gilden ist, wo die Stimmung am
besten passt.. (oder passtE?) wenn ich mir da z.b. die schweigsamen Karatekas
oder die staendig untereinander verstrittenen Zauberer ansehe da freu ich mich
wirklich in einer solchen Gilde zu sein.

Naja ich lass das erstmal in dieser Rubrik jetzt wechsel ich mal in
gilden.klerus....


Sharia die Hohepriesterin des Lembold, verbreitet Angst und Schrecken unter
den Unglaeubigen und schuettelt nurnoch den Kopf ueber "ICH KLERIKER BIN SO
SCHWACH" - Aussagen

-----------------------------------------------------------------------------



Re^10: Die Kleriker (Nachtwind, 28. Okt 1997, 01:19:22):
~#! rn=Sharia rt=877983461 rg=entwicklung
~#! tid=877972595
Hmm, so ganz stehenlassen kann ich das jetzt nicht....

>Anac* hat sicher recht, wenn er schreibt, dass die wenigen Ersties in der
>Klerusgilde abwandern. Jedoch ist das nicht ein Problem der Gilde ansich,
>sondern ein Problem derjenigen Ersties die meinen, sie muessten unbedingt in
>einer Gilde sein wo man halt weniger tanken gehen muss.
Ja klar sharia, ich hatte gestern eine Epiphanie und mir ist
aufgegangen, das ich ploetzlich ein ganz toller Powerplayer werden muss... 
nach 40 Leveln bei den Klerikern. Kannst Du Dir vorstellen das 'weniger
Tanken' kaum die Hauptmotivation war?

>Wie ja jeder weiss, bin ich KEIN Erstie und war es auch nie (*outend*) jedoch
>denke ich, dass ich recht lange Zeit fast soetwas wie ein Erstie war. (Fuer
>die dies nich wissen oder dies vergessen haben: Mein Erstie Nairolf war mal
>Magier)
Was Dich nicht nur zum Zweitie, sondern zum Magierzweitie macht. Sorry 
sharia, so gern ich dich mag, aber ich finde es liegt nicht so ganz an
Dir, hier den schnabel aufzureissen. du hast zwar nicht den Hiebwaffenskill 
an deinem abbild hochgeuebt (zumindest nicht ganz, wg. deiner abwertung),
aber du hast sicherlich wegen deines wissens als magier weniger probleme
beim ueben und spielen als normale spieler. erzaehl mir nicht, das 
du mit nairolf nicht den gildencode der kleriker durchgeguckt hast.
andere muessen ohne die ganze insiderinfo auskommen.

>Und ich bin immer recht gut klargekommen als Kleriker..und ich denke Wissen
>ueber das Mud und vorallem Wissen ueber die Spells die der eigenen Gilde zur
>Verfuegung stehen machen staerker als "ichhabmirmalebennenXtiehochgezogen"..
Das steht ausser Frage, aber das wissen ums mud hat nix mit der gilde
zu tun. aber das bei harten monstern als erstes die kleriker gerufen
werden, ist mir neu...

>Und wenn Nonne und Nachtwind der Klerusgilde den Ruecken gekehrt haben, so
ist
>dies dennoch noch lange kein Grund zu sagen die Klerusgilde wuerde zu einer
>Zweitigilde "verkommen" [...]
eben, war sie ja immer schon. weil sie so unattraktiv ist. die frage ist,
muss das so sein?

>Tja und wenn die beiden sich ueber zu geringe Kampfkraft beschweren, so
wuerde
>ich sagen ist dies ihr gutes Recht, denn das macht ja jede Gilde, jedoch
>empfehle ich sich z.b. mal in der Karate-Gilde zu versuchen, wo
>kampfkraft,uebungsaufwand und "nett beschriebene gildenraeume" etc in
>ueberhauptkeinem verhaeltnis zueinander stehen wenn man dies mal nuechtern
>betrachtet (*schau Mango an*)
ich hab ja auch nicht gesagt, das ich die karatekas fuer besonders schoen 
halte. im gegenteil, das was ich ueber die kleriker gesagt habe gilt imho
auch fuer die karateka. aber ich fuehle mich nicht zustaendig, mich bei denen
fuer innovationen einzusetzen.

>Zudem finde ich, dass die Klerusgilde eine der Gilden ist, wo die Stimmung am
>besten passt.. (oder passtE?) wenn ich mir da z.b. die schweigsamen Karatekas
>oder die staendig untereinander verstrittenen Zauberer ansehe da freu ich
mich
>wirklich in einer solchen Gilde zu sein.
aehm, sharia, sind wir wirklich in der selben gilde gewesen? von welcher
stimmung redest du bitte? ich hab noch keine 2 kleriker zusammenarbeiten 
sehen, auf dem kanal ging praktisch auch nichts ab. grosser austausch
von insiderinfo findet nicht statt, wie auch, wenn man zwangslaeufig
in grosser konkurrenz zueinander steht?  ich finde das konzept von
streng limitierten gildenplaetzen bei klerus eh unangemessen. von wegen
bruederlichkeit. mir hat als anfaenger kein aas was gesagt. bis ich 
irgendwann mal gemerkt hab, wozu heilige scheisse gut ist und wo's die
gibt... meinst du auf dem kanal antwortet einer auf diese frage?

Was ich aber allgemein mal loswerden will, ist folgendes:
wenn irgendwer die klerusgilde kritisiert, wird er entweder von
Leuten niedergemacht, die ueberhaupt keine ahnung haben, was es heisst
klerikererstie (insbesondere nach all den aenderungen) zu sein, oder
von leuten, die sharia heissen. mag ja sein, dass du die gilde 
supergummigut findest, sharia. aber das ist immer noch die kleriker-
gilde, nicht die sharia-gilde. du bist in vielerlei hinsicht eine 
ausnahme. insbesondere deine kampfkraft oder erfahrung ist in keiner
hinsicht repraesentativ. das es kaum ersties in der gilde gibt oder 
das die vorhandenen sich extrem ausduennen, sagt imho mehr ueber die
gilde aus als deine schoenrednerei.

nachtwind

ps: sorry wenn ich langsam boese werde, aber nach all dem frust
und meine bemuehungen um die gilde lass ich mich nicht als
oberflaechlicher metzler abstempeln, dems nur um die anzahl 
der vertankten muenzen geht. dann waere ich wohl ETWAS frueher
ausgetreten. :(

-----------------------------------------------------------------------------



Re^11: Die Kleriker (Zorro, 28. Okt 1997, 10:51:08):
~#! rn=Nachtwind rt=877997962 rg=entwicklung
~#! tid=877972595
naja nachtwind teilweise hast du recht aber ist es nciht eher das problem dass
es hier eine gilde gibt die schlicht alles kann, und alles besser als jede
andere gilde ! ich glaube eher dass ich der kern der sache das die leute dahin
abweandern.

-----------------------------------------------------------------------------



Re^10: Die Kleriker (Key, 28. Okt 1997, 11:26:20):
~#! rn=Sharia rt=877983461 rg=entwicklung
~#! tid=877972595
Pff es geht nix ueber die Stimmung bei den Chaoten ,)
Die wissen was ihrer Gilde gut tut und hauen sich regelmaessig im
Erzmeisterkampf die Koeppe ein =;)

Key

-----------------------------------------------------------------------------



Re^11: Die Kleriker (Hardil, 28. Okt 1997, 11:57:22):
~#! rn=Key rt=878034380 rg=entwicklung
~#! tid=877972595

bitte verlege doch irgendjemand den ganzen Thread nach gilden.klerus oder noch
besser nach gilden.jammerlappen! Das ganze Theater erinenrt mich doch arg an
diverse Artikel von Rzne in der guten alten Zeit, wenn beim ersten *more* 4%
erschien...

-Hardil.

-----------------------------------------------------------------------------



Re^3: Ali-Idee (Raffi, 28. Okt 1997, 15:33:47):
~#! rn=Acrimon rt=877972056 rg=entwicklung
~#! tid=877378640
Jo, das ist ne wirklich gute idee. das ist nicht nur bei 2ties brauchbar. -
Alternativ waere uebrigens auch denkbar das der ali ein = einfach ignoriert

Also ali kuerzel [=] text

dann waere es problemlos moeglich auch so die einzelnen zeilen per gut&paste
zu uebernehmen.

Gruss
H.

-----------------------------------------------------------------------------



Re: Re: Verlobung (Raffi, 28. Okt 1997, 15:34:13):
~#! rn=Acrimon rt=877366377 rg=entwicklung
~#! tid=876949914
Hat heiraten ueberhaupt einen Sinn ?

Gruebelnd
H.

-----------------------------------------------------------------------------



Re^3: Verlobung (Grimmborn, 28. Okt 1997, 15:36:11):
~#! rn=Raffi rt=878049253 rg=entwicklung
~#! tid=876949914
Ich bin kein Experte, aber wenn ich mir so das Steuerrecht (u.a.) ansehe,
soweit ich davon gehoert habe kann die Antwort nur lauten:
Ja.

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re^4: Verlobung (Raffi, 28. Okt 1997, 15:37:14):
~#! rn=Grimmborn rt=878049371 rg=entwicklung
~#! tid=876949914
Das ist ja genauso unsinnig wie seher werden, nur weil man dann beim sterben
weniger EP verliert.


Gruss
H.

-----------------------------------------------------------------------------



Re^5: Verlobung (Morgoth, 28. Okt 1997, 15:47:26):
~#! rn=Raffi rt=878049434 rg=entwicklung
~#! tid=876949914
Moment, erstmal musst Du natuerlich beruecksichtigen, dass Du dann son
keifendes Dings am Bein haengen hast, was Du erstmal irgendwie in der Kueche
Artgerecht anbinden musst. Da gibts dann Aerger mittem Tierheim usw.
Bis Du da an die Vorteile kommst dauert das ;-))
M*

-----------------------------------------------------------------------------



Re^6: postkabinen (Wur, 28. Okt 1997, 19:09:01):
~#! rn=Wurzel rt=877451045 rg=entwicklung
~#! tid=877281651
Und genau bei dem: ... und alle machen mit.
genau da koennte man was tun.

Wur

-----------------------------------------------------------------------------



Re^4: Verlobung (Li, 29. Okt 1997, 08:11:45):
~#! rn=Grimmborn rt=878049371 rg=entwicklung
~#! tid=876949914
fuer jemanden, der sich ueberlegen muss, ob sich heiraten lohnt, lohnt es sich
nie... :-)
Li

-----------------------------------------------------------------------------



Re^11: Die Kleriker (Gloinson, 29. Okt 1997, 15:46:43):
~#! rn=Key rt=878034380 rg=entwicklung
~#! tid=877972595
Hm. Wie faengt man das jetzt am besten an? In allen Toenen hochloben kann
ich meine Gilde nun auch nicht. Dazu stoert es mich zu sehr, dass Wargon
die Gilde als fertig betrachtet. Ist ein Objekt ja nie.
Die Kampfkraft reicht zumindest mir voellig aus. Aber der Charakter der
Gilde ist ob des Metzelns natuerlich etwas verloren gegangen. Wir haben
gestern Abend in einer Dresdener Runde festgestellt, dass beispielsweise
'befriede' kaum was mit Zauberern zu tun hat, eher mit Klerikern. Ich bin
noch kein Seher, aber was ich von den Gildenquests gehoert habe, hat nicht
allzuviel mit einer friedlichen Ausrichtung zu tun.
Vielleicht braeuchte es fuer die Gilde einen Magier mit der Ausdauer und
dem Enthusiasmus einer Silvana, oder eines Patryns um diese durch zwei
Austritte offenbar gewordenen Missstaende mit Spielern zu diskutieren
und gegebenenfalls zu korrigieren. Aber woher nehmen, wenn nicht stehlen?
Und damit duerfte das letzte Wort wohl erstmal geschrieben sein.

Gloin

-----------------------------------------------------------------------------



Re^5: Verlobung (Raffi, 29. Okt 1997, 18:46:08):
~#! rn=Li rt=878109105 rg=entwicklung
~#! tid=876949914
Und Hinterher heissts dann:
"Das haettest Du Dir vorher ueberlegen sollen".

:)))
H.

-----------------------------------------------------------------------------



Re^12: Die Kleriker (Wur, 29. Okt 1997, 19:49:31):
~#! rn=Gloinson rt=878136403 rg=entwicklung
~#! tid=877972595
Wenn mir mal einer erklaeren wuerde wo diese Klerikergilde ist, so wuerde ich
mich als Erstie glatt dazu breitschlagen lassen der Gilde beizutreten. Aber so
suchfaul wie ich bin...

Wur

-----------------------------------------------------------------------------



Re^13: Die Kleriker (Sharia, 29. Okt 1997, 21:44:02):
~#! rn=Wur rt=878150971 rg=entwicklung
~#! tid=877972595
ganz einfach: geh in die Wueste... das ist da wo die Arena ist und  von da
noch etwas weiter suedlich und dann im westen irgendwo ist die Stadt Djelibeby
und dort nur 2-3 schritte westlich und einige schritte suedlich halten dann
bist du bei Arkshat und dort kann man eintreten
zum eintreten: man sollte heilig sein und einen Fuersprecher haben (Kleriker
mindestens level 4 (glaub ich)) dann is alles gebongt :-)


Sharia, gern den Weg zeigend

-----------------------------------------------------------------------------



Re^5: Verlobung (Silvana, 30. Okt 1997, 07:47:03):
~#! rn=Li rt=878109105 rg=entwicklung
~#! tid=876949914
Naja, manch einer, der meinte, nicht darueber nachdenken zu muessen, stellte
hinterher fest, dass es sich vielleicht gelohnt haette...

  Silvana - gespannt, auf wieviele Arten der Satz ausgelegt werden kann. :)

-----------------------------------------------------------------------------



Re^6: Verlobung (Li, 30. Okt 1997, 10:25:53):
~#! rn=Silvana rt=878194023 rg=entwicklung
~#! tid=876949914
Ja, da mag sein. aber was ich meinte:
wer sich ueberlegen muss, ob sich fuer ihn/sie die heirat lohnt(aus
materiellen gruenden), fuer den lohnt sie sich nicht, denn wer nur aus solchen
gruenden heiratet, fuer den lohnt es sich nicht.
Li (heute mal pathetisch) -> ab nach schmarrn oder kultur? :-)

-----------------------------------------------------------------------------



Re: Re: Ali-Idee (Stahldorn, 31. Okt 1997, 19:07:13):
~#! rn=Honx rt=877380070 rg=entwicklung
~#! tid=877378640
Ich moecht mal anmerken, dass es im Silberland ein "ali ?<text>" gibt, bei dem
man alle alis sieht, in denen <text> als substring enthalten ist (und zwar im
gesamten ali, also nicht nur im namen). "ali <text>*", das alle alis die mit
<text> beginnen auflistet gibts da im SL natuerlich auch.
Ich hab den thread allerdings noch nicht fertiggelesen (also sorry im voraus,
falls sich die situation inzwischen geaendert hat)

STAHL.

-----------------------------------------------------------------------------



PK-sperre (Mucks,  6. Nov 1997, 15:02:44):
Wenn schon PK-s verboten sind, sollten Spieler auch andere Spieler nicht
angreifen koennen. Technisch ohne Probleme machbar.
Denn: am Wochenende sind manchmal keine Magier da, die einen Amoklauf stoppen
koennten. Eine Sperre hilft dem Opfer, und bewahrt den Taeter vor
versehentlichem Angriff.
                                                      Mucks
P.S. im PK-Mud wurde schon mal geplant, einen Ueberfall auf das MG zu
machen... also beeilt euch mal mit der PK-Sperre :-)

-----------------------------------------------------------------------------



Re: PK-sperre (Rikus,  6. Nov 1997, 15:26:51):
~#! rn=Mucks rt=878824964 rg=entwicklung
~#! tid=878824964
Wenn PK nicht erlaubt ist, dann muss es ja nicht gleich unmoeglich
sein! Wo kaeme man denn hin, wenn man alles unterbindet?

Rikus

-----------------------------------------------------------------------------



Re: Re: PK-sperre (Grimmborn,  6. Nov 1997, 15:27:56):
~#! rn=Rikus rt=878826411 rg=entwicklung
~#! tid=878824964
Ganz einfach: Auf ein Niveau, wie es beispielsweise im PK vorhanden ist...

GdA

-----------------------------------------------------------------------------



Re: PK-sperre (Acrimon,  6. Nov 1997, 15:30:22):
~#! rn=Mucks rt=878824964 rg=entwicklung
~#! tid=878824964
Erlaubnis und Moeglichkeit sind zweierlei.
1. Wenn PKs technisch unmoeglich gemacht werden, wie koennen wir denn dann
noch zwischen Spielern unterscheiden, die sich an Regeln halten, und anderen,
die sich nicht dran halten?
2. Abgesehen davon ist es tatsaechlich technisch unmoeglich, PKs technisch
unmoeglich zu machen.
Denn nicht nur Angreifen und Toeten ist PK, sondern auch z.B. Explodieren
lassen von Hoellenfeuern oder Saetze wie "Die Zatongs sind ganz ungefaehrlich"
oder "nimm den groszen Flugdrachen" oder "Die Sauerstofflasche enthaelt
Sauerstoff fuer drei Stunden".

Ich bin gegen eine PK-Sperre, sie verhindert PKs nicht.

Acrimon, der Rote Ritter

-----------------------------------------------------------------------------



Re: PK-sperre (Key,  6. Nov 1997, 18:01:42):
~#! rn=Mucks rt=878824964 rg=entwicklung
~#! tid=878824964
Nix PK-Sperre, so kann man Leuten noch benehmen beibringen ;)

Hmm und uerbfall vom pk aufs mg? *gaehn* ich hab schon spanendereres gehoert
... :)

Key

-----------------------------------------------------------------------------



Re: Re: PK-sperre (Mucks,  7. Nov 1997, 09:10:18):
~#! rn=Acrimon rt=878826622 rg=entwicklung
~#! tid=878824964
Anderer Vorschlag: wenn man den Spieler-angriff moeglich lassen will, um
solche 'schwarzen Schafe' zu bestrafen/umzuerziehen, warum dann nicht
wenigstens automatisch? Ich finde Strafen vom Mud angenehmer als Strafen von
Magiern. Im Silberland kommt man z.B. bei einem Spielerangriff sofort in einem
Raum, in dem man einen Hebel ziehen muss, um wieder herauszukommen, und man
stirbt mit 66%-change dabei. Hat man da aus Versehen jemanden angegriffen,
kann man immer noch das jemanden einen Magier mitteilen, der einen dann da
rausholt.
                                                 Mucks

-----------------------------------------------------------------------------



Re^3: PK-sperre (Key,  7. Nov 1997, 17:38:32):
~#! rn=Mucks rt=878890218 rg=entwicklung
~#! tid=878824964
Also erstens weil man aus versehen schonmal einen angreifen kann.
Wie z.B. gewisse Leute damals mit ner Tarnkappe ...
Oder man ist blutiger Anfaenger, trifft auf ein Wesen das ein Gletschefee im
namen hat und denkt es sei ein npc. Nen pk weil man es net besser wusste?
Des weiteren ist ein angriff zum teil ein gutes mittel um kleinen leuten ein
paar manieren beizubringen.

So meine Meinung :)

Key

-----------------------------------------------------------------------------



Postkobold (Nasim,  8. Nov 1997, 16:10:28):
Ombatis kann Mails lesen oder schreiben? Soso ... 

Nasim, braeuchte nen Daemon, der fuer ihn Mails liest

-----------------------------------------------------------------------------



Anfrage zum einem Kurzkampfsystem (Dhojakt,  9. Nov 1997, 03:06:39):
Also ich hab mich mal bisschen mit gedanken zu nem kampfsystem befasst und
auch mich mal mit anderen ausgetauscht und bin zu dem schluss gekommen, dass
ein befehl 'alternativkampfanzeige' jede menge output vermeiden koennte, denn
es passen eigentlich alle wichtigen infos auf eine zeile.
Grundidee einer zeile waere (erlaeuterung folgt noch):
  wer  wen  <schaden>  waffe(auch spell?)  verteidigung(falls eine erfolgt)
wer - verursacher
wen - geschaedigter
<schaden> - freidefinierbarer schadensstring von max 40 zeichen laenge
waffe - waffe des angreifers
verteidigung - zb bei karatekas abwehrschlag oder ausweichen
Bei mir sieht das dann konkret so aus:
  Du  Gardewaechter  12+   Flammhand
Bei einem gardewaechter gegen karateka koennte es so aussehen:
  Gardewaechter  Khidar  2+    Langschwert  -ATU
Bei karatekas waere es guenstig, die schlagnamen in kurzform auszugeben, die
langen interessieren eh niemanden, und dabei koennte noch:
sehr gelungen *
gelungen +
misslungen -
total misslungen 0
sein.
Ausweichen wird durch ***** gekennzeichnet.
Nochn fiktives Beispiel dazu:
  Khidar  Weghier  0  *SSU  *****
Nochn beispiel eines chaoten:
  Nok  Dunkelelf  20+  Giftchaosball

Die nachrichten fuer die 13 schadensstaerken muessten eigentlich sinnvoll und
schnell zugreifbar in einem mapping ablegbar sein, und da koennen die leute
auch die jeweils ihnen genehmen meldungen eintragen (ich als technischer
ingenieur ziehe zahlen vor).

So, mir waere sehr an der meinung der erzis zur realisierbarkeit gelegen, und
ausserdem kommt ein nicht unbetraechtlicher teil des mg-outputs aus texten,
die  nicht sooo interessant sind und sich praegnanter darstellen lassen.
Khidar.

-----------------------------------------------------------------------------



Re: Anfrage zum einem Kurzkampfsystem (Wurzel,  9. Nov 1997, 12:10:10):
~#! rn=Dhojakt rt=879041199 rg=entwicklung
~#! tid=879041199
waere in einem sf-mud sicherlich sinnvoll, herr ingenieur. sind wir hier
aber nicht, und ich persoenlich faende es schade, wenn sowas auch nur
ansatzweise verwirklicht wuerde.
woran ihr bei solchen und aehnlichen vorschlaegen anscheinend aus prinzip 
nicht denkt/denken wollt, sind anfaenger. ich meine nicht die anfaenger, di
in einem oder zwei onlinetagen zum seher werden, sondern echte anfaenger, die
es gelegentlich auch noch gibt. wie jemand bei einer ausgabe von ***** da
noch phantasie und spass entwickeln soll, entgeht mir irgendwie.
ein alternativvorschlag: wenn du es unbedingt so haben willst, bau dir einen
entsprechenden client, der die anzeige so formatiert wie du es haben willst,
und lass andere leute auch weiterhin wenigstens den hauch einer atmosphaere
spueren. das verlagert die loesung des problems dahin, wo dieses problem
ueberhaupt existiert, und belastet unsere erzis nicht noch zusaetzlich. die
haben schon genug anderes zu tun.

wurzel, kopfschuettelnd

-----------------------------------------------------------------------------



Re: Re: Anfrage zum einem Kurzkampfsystem (Key,  9. Nov 1997, 16:43:46):
~#! rn=Wurzel rt=879073810 rg=entwicklung
~#! tid=879041199
Hmm zumindest bei der Karategilde halte ich die Abkuerzungen der Schlaege fuer
sinnvoll ....
Jeder der mit nem Karateka kaempft ohne sich die sachen "mundgerecht"
zusammenzuschneiden hat teilweise mehr scroll als angriffe ;)

Key

-----------------------------------------------------------------------------



Re: Re: Anfrage zum einem Kurzkampfsystem (Dhojakt,  9. Nov 1997, 20:07:52):
~#! rn=Wurzel rt=879073810 rg=entwicklung
~#! tid=879041199
Also, noch mal zur Erinnerung: Ich schrieb:
>ein befehl 'alternativkampfanzeige'
Was hat das mit anfaengern zu tun? Und wer die alternative anzeige nicht 
will muss sie ja nicht benutzen. Ich bin aber nach meiner umfrage bei weitem
nicht der einzige, der sowas einsetzt, daher denke ich schon, dass ein
interesse fuer sowas besteht.
Ausserdem kann man im moment leider die waffe der gegner nicht immer eindeutig
ermitteln, da rochus die angriffszeile nur ein mal ausgibt, die eigene waffe
kriegt man ja noch raus (man weiss ja, wann man die wechselt), aber bei
gleichnamigen gegnern mit verschiedenen waffen (Kobolde) sieht man alt aus.
Khidar.

-----------------------------------------------------------------------------



Re: Re: Anfrage zum einem Kurzkampfsystem (Ringor,  9. Nov 1997, 22:07:34):
~#! rn=Wurzel rt=879073810 rg=entwicklung
~#! tid=879041199
Falls Dhojakt es nicht deutlich genug ausgedrueckt haben sollte, hier fuer
Wurzel nochmal ganz einfach: der Wunsch war der nach einer OPTIONALEN kurzen
Ausgabe im Kampf.

Anfaenger koennen damit gerne die defaultmaessige lange Variante behalten.

Und zum Thema Client: rate mal, was Dhojakts TF tut. Und meines auch. Das ging
bis zu einer gewissen Aenderung vor Kurzem auch noch wunderbar - nur geht
jetzt die Haelfte der Informationen floeten. Nicht-Optional, sondern
zwangsweise fuer alle. Auch fuer die Anfaenger.

Ja, man kann fuer die eigenen Angriffe wieder die Langform anwaehlen - aber
ueber die eigene Waffe haette mein TF auch vorher noch Buch fuehren koennen.
Das Problem sind die Waffen der anderen Mitkaempfer/Gegner. Die gehen jetzt
schlicht verloren.

Wenn also eine frei definierbare Kurzform keine Chance hat (wegen Lag, aus
Zeitmangel oder sonst einem Grund), dann wuerde ich mir zumindest die
optionale Langform wieder _richtig_ lang wuenschen. Einfach so, wie wir es
vorher schonmal hatten.

Ringor. 

-----------------------------------------------------------------------------



Re^3: Anfrage zum einem Kurzkampfsystem (Sharia,  9. Nov 1997, 23:00:19):
~#! rn=Ringor rt=879109654 rg=entwicklung
~#! tid=879041199
Solch eine "alternativkampfanzeige" faende sogar ich recht gut, denn WUrzel du
vergisst auch wieder, dass es Leute gibt die keine client haben oder die nich
so toll programmieren koennen.
Ich persoenlich nutze zwar keine tf scripts die mir den kampfscroll
verkuerzen, jedoch waer es sicherlich schoen soetwas einzufuehren...

Zu dem was RIngor sagte: es ist zwar lobenswert, dass man jetzt auch wieder
sehen kann welche waffe man selber benutzt, jedoch waere ich auch sehr dankbar
was fuer eine mein gegner hat .. und zwar bei jedem schlag ... oder halt wie
Dhojakt beschrieben hat eine alternativkampfanzeige......

Sharia

-----------------------------------------------------------------------------



Re^4: Anfrage zum einem Kurzkampfsystem (Silvana, 10. Nov 1997, 09:27:06):
~#! rn=Sharia rt=879112819 rg=entwicklung
~#! tid=879041199
Zweierlei faellt mir dabei auf:
1) Durch die Aenderung wuerde der Kampf im MG auf rein technische Daten
   reduziert - zugegeben optional (ja, ich habs gelesen) - was der Stimmung
   nicht eben foerderlich ist. Zugegeben, die Scrollarien der jetzigen
   Kaempfe sind auch nicht grad stimmungsvoll, aber wenigstens sind sie
   beim mitloggen noch lesbar, so dass ein Anfaenger nachlesen kann, was
   ihm passiert ist. :)
   Bei einer abschaltbaren Option gibt sich jedoch ein Problem: von wessen
   Einstellung haengt es ab, was die anderen sehen? 
   a) Vom kaempfenden Spieler? Das waere die weniger aufwaendige Version,
      haette aber den Nachteil, dass nebenstehende je nach Format ueberhaupt
      nicht verstehen wuerden, was da abgeht - speziell Anfaenger!
   b) Von dem, der die Meldung bekommt? Das waere sicher die brauchbarere
      Loesung, wuerde aber zu heftigem Lag fuehren, weil die Meldung fuer 
      jeden einzeln formatiert werden muesste.
2) Die Meldungen im Kampf werden von verschiedenen Objekten erzeugt. Unter
   anderem kommt die Angriffsmeldung vom Angreifenden, die Schadensmeldung
   aber vom Angegriffenen. Dazu kommen Sonderausgaben von Gilden, Ruestungen
   Waffen, Teddy, Zauberstab, etc. All diese Objekte muessten umgeschrieben
   werden, wenn man die Kurzversion implementieren wollte, da man ALLE
   Informationen braucht, um alles in einer Zeile richtig formatieren
   zu koennen. Zudem muessten dafuer deutlich mehr Daten an die verschiedenen
   Funktionen uebergeben werden, was wiederum Lag produziert.
Alles in allem wuerde ich sagen, macht eine solche Umstellung (es ist in
jedem Fall eine Umstellung, keine reine Erweiterung) ne Menge Arbeit und
braucht ziemlich viel Rechenzeit ohne soooo sehr viel zu bringen.

  Silvana

-----------------------------------------------------------------------------



Re^5: Anfrage zum einem Kurzkampfsystem (Sharia, 10. Nov 1997, 09:31:52):
~#! rn=Silvana rt=879150426 rg=entwicklung
~#! tid=879041199
Gute Argumente...danke Dir Silvana, jedoch bitte ich dennoch darum, optional
einstellen zu koennen ob man auch die waffe des Gegners bei jedem Schlag sehen
moechte oder nicht.
Ich denke es ist nicht soo schnell die "angriffsmeldung" dahingehend
umzustellen.
Sharia, waere sehr dankbar dafuer.

-----------------------------------------------------------------------------



Re^6: Anfrage zum einem Kurzkampfsystem (Sharia, 10. Nov 1997, 09:32:57):
~#! rn=Sharia rt=879150712 rg=entwicklung
~#! tid=879041199
aehm nicht schnell sondern schwer ... *muede sei*
Sharia

-----------------------------------------------------------------------------



Re: PK-sperre (Trekan, 10. Nov 1997, 10:44:17):
~#! rn=Mucks rt=878824964 rg=entwicklung
~#! tid=878824964
Also, es wurde im PK-Mud kein MG-Ueberfall geplant, sondern ein paar Spieler
haben, nachdem sie ein enig im Kraftwerk gechlafen haben und warscheionlich
auch n bissle in die flasche geschut haben ein bischen rumgelabert und alle
fanden es ganz witzig. Wie das allerdings zu verstehen war, sollte relativ
klar sein.
Trekan

-----------------------------------------------------------------------------



Re^5: Anfrage zum einem Kurzkampfsystem (Key, 10. Nov 1997, 11:04:38):
~#! rn=Silvana rt=879150426 rg=entwicklung
~#! tid=879041199
Hmm nurnochmal wegen der Anfaenger, es gibt auch Ultrakurz ... dabei wuerde
ein Anfaenger auch null peilung haben wenn er damit rumlaufen muesste, muss er
aber nicht ,)

Key

-----------------------------------------------------------------------------



Re^6: Anfrage zum einem Kurzkampfsystem (Gloinson, 10. Nov 1997, 11:24:10):
~#! rn=Key rt=879156278 rg=entwicklung
~#! tid=879041199
Der Punkt ist, dass MG auf Kampf und dessen technische Darstellung
reduziert wuerde. Dann koennen wir, wie Wurzel mal so schoen vorschlug,
auch gleich das Ergebnis des Kampfes ausgeben lassen. Wer unbedingt
metzelt und es dabei nicht so scrollig haben will, soll ich geeignete
Mittel dazu hernehmen. Und das tun ja auch die meisten Metzler. Das
sollte natuerlich nicht so weit gehen, dass sich beim Bumiwurf das
Schild und die Waffe selbst ausziehen ...
Jedoch das Kaempferargument fuer den alten Langscroll ist nachvoll-
ziehbar. Das muss der Gilde wegen wieder rein ;-)

Gloin

-----------------------------------------------------------------------------



Re^7: Anfrage zum einem Kurzkampfsystem (Boing, 10. Nov 1997, 13:09:35):
~#! rn=Gloinson rt=879157450 rg=entwicklung
~#! tid=879041199
Eine Sache hab ich nicht ganz gerafft, wenn mir das mal eben jemand
erklaeren koennte: Wieso muss ich beim metzeln jederzeit (also jede
Kampfrunde) sehen koennen, welche Waffen die anderen Spieler im Raum
benutzen? Oder geht es um die Bewaffnung der NPCs? Waffenwechsel
bekommt man ja mit, das waere dann also kein Problem.
Bei der technischen Darstellung muss ich Wurzel absolut recht geben,
so eine Darstellung wuerde einem Kampf das letzte bisschen 'Stimmung'
(wenn man das so ausdruecken will) rauben, das wuerde ich auf keinen
Fall unterstuetzen.
  Boing

-----------------------------------------------------------------------------



Re^8: Anfrage zum einem Kurzkampfsystem (Key, 10. Nov 1997, 13:11:46):
~#! rn=Boing rt=879163775 rg=entwicklung
~#! tid=879041199
Hmm nehmen wir ein Beispiel fuer Dich Boing :)
Also sagen wir mal ich geh mit 3 Freunden in die SSP, sind alle nimmer so
topfit, und kloppen auf nem Feuerriesen ... Naja und wundern uns das der fit
bleibt ...
Wenn man die Waffen waehrend des kampfes sieht koennte man entdecken das einer
der leute nen feuerschwert gezueckt hat ;)

Und den waffenwechsel sieht man nicht im kampf mit mehreren ... da kuemmert
man sich um den gegner und hat sonst kaum durchblick :)

Key

-----------------------------------------------------------------------------



Re^9: Anfrage zum einem Kurzkampfsystem (Boing, 10. Nov 1997, 13:14:04):
~#! rn=Key rt=879163906 rg=entwicklung
~#! tid=879041199
Es geht also um Teamkampf? Das waere dann ja was fuer den geplanten
Teammodus, ein Befehl um die Bewaffnung aller Beteiligten auf einen
Schlag anzuzeigen. -> Mail an Zardoz
  Boing

-----------------------------------------------------------------------------



Re: restriktionen (Sharia, 10. Nov 1997, 14:02:01):
~#! rn=Birdy rt=879166689 rg=gilden.zauberer
~#! tid=879166689
Es geht darum Boing, dass es bisher so war, dass man gesehen hat, was fuer
eine waffe der Gegner hat... und zwar bei jedem seiner schlaege...
Ich finde dies angenehm, vorallem z.b. fuer kaempfer, die vielleicht in einen
raum mit einem aggressiven Gegner hereinkommen.. nicht unbedingt den ersten
schlag mitbekommen tja und dann is halt die frage: hat er eine waffe gezueckt
die ich blocken oder unterlaufen kann ?? usw... also ich faends nett wenns
wieder so waere .....
Sharia

-----------------------------------------------------------------------------



Re^10: Anfrage zum einem Kurzkampfsystem (Dhojakt, 10. Nov 1997, 17:26:17):
~#! rn=Boing rt=879164044 rg=entwicklung
~#! tid=879041199
Ok, man kann die diskussion hier wohl als abgeschlossen betrachten. Wer tf hat
und so ne kurzanzeige wuenscht sollte mal einschlaegige Leute fragen,
ansonsten hat er halt pech gehabt.
Khidar.

-----------------------------------------------------------------------------



Re^11: Anfrage zum einem Kurzkampfsystem (Orktoeter, 10. Nov 1997, 17:32:08):
~#! rn=Dhojakt rt=879179177 rg=entwicklung
~#! tid=879041199
bliebe nur noch zu erwaehnen, das ein solcher kurzmodus weniger Netzbelastung
bedeutet. Wenn sich erst der Empfaenger mit tf den kurmodus erzeugt, bringt
das keine Einsparung.

OrkT.

-----------------------------------------------------------------------------



Re^4: PK-sperre (Trancefear, 11. Nov 1997, 10:04:38):
~#! rn=Key rt=878920712 rg=entwicklung
~#! tid=878824964
Hmja bei einem Angriff auf die Gletscherfee ist die Ueberlebenschance des
Angreifers eher klein... :-)

T.F.

-----------------------------------------------------------------------------



Re: Anfrage zum einem Kurzkampfsystem (Trancefear, 11. Nov 1997, 10:06:48):
~#! rn=Dhojakt rt=879041199 rg=entwicklung
~#! tid=879041199
Hmja.... wenn ich bei "Nichts" ausn Schirm kucke, sehe ich fast genau das, was
Du da vorschlaegst... d.h. "Gaggen fuer Alle" als Option?

TF

-----------------------------------------------------------------------------



Re: Re: Anfrage zum einem Kurzkampfsystem (Catweazle, 11. Nov 1997, 13:49:50):
~#! rn=Trancefear rt=879239208 rg=entwicklung
~#! tid=879041199
Hm, das eine absolut unstimmungsvolle Ausgabe von Zahlen und irgendwelchen
Codes fuer Waffentypen nicht erwuenscht ist, sehe ich genauso. 
Aber eigentlich spricht doch nichts wesentliches gegen (ultra)-Kurzkampf-
Modus. Alle 'bla greift Dich mit blubb...' und 'krachen brechender Knochen'
faellt halt weg und man kriegt nur noch 'bla trifft Dich [nicht,kaum,hart]'.
Das macht tatsaechlich weniger netload,
ist mit Sicherheit uebersichtlicher, wenn auch uninformativer,
und man kann auch wieder sehen, was andere sagen/machen oder mal nach
der gezueckten Waffe eines naderen sehen.

Yours truly,
     Catweazle

-----------------------------------------------------------------------------



Re^3: Anfrage zum einem Kurzkampfsystem (Ringor, 11. Nov 1997, 13:53:12):
~#! rn=Catweazle rt=879252590 rg=entwicklung
~#! tid=879041199
Aehm, bevor das jetzt in die falsche Richtung losgeht: die Informationen ueber
die Schadenhoehe wollten wir durchaus noch behalten :-)

Und da eine Aenderung des Kampfsystems doch etwas mehr Aufwand machen wuerde,
wie Silvana so schoen dargelegt hat, waere das Einfachste doch eine kleine
Aenderung, die nichts weiter tut, als optional wieder das alte System zur
Verfuegung zu stellen.

Das wuerde doch alle zufrieden stellen, wenn ich das richtig verstehe. Die
Leute ohne Client benutzen dann die momentane Kurzversion, und die anderen
haben noch alle Informationen, die sie suchen :-)

Ringor

-----------------------------------------------------------------------------



Re^4: Anfrage zum einem Kurzkampfsystem (Orktoeter, 11. Nov 1997, 13:54:16):
~#! rn=Ringor rt=879252792 rg=entwicklung
~#! tid=879041199
Hmm wuerde aber genau das Gegenteil dessen bewirken, was du Urspruenglich
wolltest, weniger Notload.

OrkT.

-----------------------------------------------------------------------------



Re^5: Anfrage zum einem Kurzkampfsystem (Ringor, 11. Nov 1997, 13:56:18):
~#! rn=Orktoeter rt=879252856 rg=entwicklung
~#! tid=879041199
Das Argument mit weniger Netload kam nicht von mir. Meine Leitung ist schnell
genug ;)

Ausserdem existiert ja ein Kurzkampfsystem, dessen Benutzung jedem frei steht.
Nur haelt der Verlust an Informationen dabei noch ein paar Leute (u.a. mich)
davon ab, diese Version zu benutzen.

Ringor

-----------------------------------------------------------------------------



Re^5: Anfrage zum einem Kurzkampfsystem (Mahatma, 11. Nov 1997, 13:58:04):
~#! rn=Orktoeter rt=879252856 rg=entwicklung
~#! tid=879041199
Wenn man erstmal optional implementiert, dass man den ganz langen Kampfmodus
einstellen kann, ist es zum Kampfmodus ultrakurz ja nur noch ein klitze-
kleier Schritt. Der koennte z.B. so aussehn, dass man ueberhaupt keine
Kampfmeldungen mehr bekommt, was inmitten vieler kleiner Monster (ich sag
nur Eiszwerge fuer Eingeweihte) den Scroll doch erheblich reduzieren wuerde.

Mahatma

-----------------------------------------------------------------------------



Re^6: Anfrage zum einem Kurzkampfsystem (Morgoth, 11. Nov 1997, 15:07:22):
~#! rn=Mahatma rt=879253084 rg=entwicklung
~#! tid=879041199
Sowas gibts ja schon im PK-Mud. Allerdings erzeugt das doch ein 'wenig' lag.
Umzusetzen ist es aber relativ einfach. Wenn jemand an dem Code interessiert
ist.... 
M*

-----------------------------------------------------------------------------



Re^7: Anfrage zum einem Kurzkampfsystem (Acrimon, 11. Nov 1997, 15:30:45):
~#! rn=Morgoth rt=879257242 rg=entwicklung
~#! tid=879041199
Auch ich halte eine Zusammenfassung aller Kampfinformationen in einer
Zeile fuer sehr sinnvoll. (Habe ich auch, aber wenns im MG geschaehe,
gaebe es weniger Netload.)

Im Uebrigen ist ein Kampfscroll, in dem man absolut nichts erkennen
kann, weil zu viel scrollt, mit Sicherheit weit weniger
stimmungsvoll als eine technische Zusammenfassung eines Angriffs in
einer Zeile ohne saemtliche Fuellwoerter.
Fuer Anfaenger mag der Scroll ja stimmungsvoll sein, aber wenn man
sich spaeter in heftigere Kaempfe verwickelt und der Scroll
schneller wird, dann ermueden die Augen und der Geist, wenn man
versucht, den Kampfverlauf zu erkennen.
Dann verliert der Scroll jedes biszchen an Stimmung, was er jemals
gehabt haben koennte.
Mit einer technischen Kurzinformation kann man sich aber den Kampf
noch vorstellen, ohne die Augen zu sehr zu ermueden, und jede
bessere Vorstellungskraft erzeugt einiges an Stimmung.

Ob so etwas nun implementiert wird oder nicht, ueberlasse ich den
interessierten Magiern, jedoch sprecht bitte nicht einer Euch
unbekannten Form jede Stimmung ab.

Ich habe nun einen anderen Vorschlag und eine andere Bitte:
Damit wir wenigstens mit TF den Kampf mitverfolgen und
zusammengefaszt anzeigen koennen, fehlen noch ein paar
Informationen, um die ich hier bitte:

Solange die Gegner unterschiedlich heiszen, kann man den Kampf mit
den jetzigen Mitteln sehr gut mitverfolgen.
Wenn jedoch mehrere Gegner, die gleich heiszen, kaempfen, wird es
schwieriger - speziell wenn sie unterschiedliche Waffen verwenden.

Was ich mir wuensche, ist, dasz wenn beispielsweise gegen mehrere
Orks kaempfe, mir an manchen Stellen angezeigt wird, der
*wievielte* Ork betroffen ist.
Genauer gesagt wuensche ich mir diese Information dann, wenn einer
von mehreren Orks auf irgendeine Weise am Kampf nicht mehr
teilnimmt - ob er tot umfaellt oder er weglaeuft oder seine Waffe
blockiert wird.
Mein zweiter (aber weniger dringender) Wunsch ist, dasz angezeigt
wird, den *wievielten* Ork ich bei meinem Angriff treffe (oder
verfehle).

Das sieht dann beispielsweise in einem Kampf mit vier Orks und
einer Spinne so aus:
Du greifst den vierten Ork mit einem Schwert an.
Du triffst einen Ork hart.
Ein Ork greift Dich mit einem Feuerschwert an.
Ein Ork trifft Dich mit dem Krachen brechender Knochen.
Ein Ork greift Dich mit einem Nachtdolch an.
Ein Ork kratzt Dich.
Ein Ork greift Dich mit einem Kurzschwert an.
Ein Ork verfehlt Dich.
Eine Spinne greift Dich mit acht Beinen an.
Eine Spinne kitzelt Dich am Bauch.
Ein Ork greift Dich mit einem Nachtdolch an.
Ein Ork trifft Dich.
Du greifst den zweiten Ork mit einem Schwert an.
Du zerschmetterst einen Ork in kleine Stueckchen.
Der zweite Ork faellt tot zu Boden.
Ein Ork trifft Dich hart.
Ein Ork trifft Dich.
Eine Spinne kitzelt Dich am Bauch.
Ein Ork verfehlt Dich.
Der zweite Ork geht nach Nordwesten.
Du greifst die Spinne mit einem Schwert an.
Du verfehlst die Spinne.
Ein Ork trifft Dich mit dem Krachen brechender Knochen.
Eine Spinne kitzelt Dich am Bauch.
Ein Ork trifft Dich.
Du blockierst die Waffe des ersten Orks mit Deinem Schwert.
...
(An dieser Stelle kaempfen noch der Ork mit dem Feuerschwert, die
Spinne und der letzte Ork mit dem Nachtdolch, wobei der Ork mit
dem Feuerschwert blockiert ist; der Ork mit dem Kurzschwert ist
geflohen und wiedergekommen.)

Um das vollstaendig zu machen, sollte jeder Gegner, der nach einer
Pause wieder mitkaempft, erneut eine Angriffsmeldung erzeugen, als
ob er die Waffe gewechselt haette.

Acrimon, der Rote Ritter hofft auf solche Kampfmeldungen.

-----------------------------------------------------------------------------



Re^8: Anfrage zum einem Kurzkampfsystem (Avalon, 12. Nov 1997, 00:42:06):
~#! rn=Acrimon rt=879258645 rg=entwicklung
~#! tid=879041199
Hi,

es waere im Grunde gar nicht so schwer, sowohl Kurzinfos
als auch Stimmung zu vereinen, allerdings muesste man
dann bei den Hands/Weaponmsgs und den Schadensmeldungen
uU. ein bisschen oekonomischer sein.
Beispiel:

Ein Ork greift Dich mit einem Kurzschwert an und trifft Dich hart.

i.V.,
Woody.-

-----------------------------------------------------------------------------



Re^9: Anfrage zum einem Kurzkampfsystem (Zephyr, 12. Nov 1997, 08:51:50):
~#! rn=Avalon rt=879291726 rg=entwicklung
~#! tid=879041199

Hmm.. und dann klaut Dir einer der Zombies im Schacht Dein farblich
gekennzeichnetes Blutsaugerschwert, trifft aus ungeklaerten Gruenden
mal ein bisschen haerter als sonst, und schon ists mit dem Einzeiler
vorbei :)
Der Zombie greift Dich mit dem kristallgruen-karierten Blutsaugerschwert
an und trifft Dich mit dem Krachen brechender Knochen.

ich weiss ja nicht, obs das so bringt :)

           Zephyr, komisch drauf heut morgen

-----------------------------------------------------------------------------



Re^11: Anfrage zum einem Kurzkampfsystem (Baboon, 12. Nov 1997, 09:07:48):
~#! rn=Baboon rt=879321531 rg=entwicklung
~#! tid=879041199
 *fluch* Was ich sagen wollte:

Eine andere Moeglichkeit, die Kampfsequenzen zu verbessern waere,
die Kampfkraft der beteiligten Parteien zu erhoehen, dafuer aber
nur alle paar Sekunden eine Kampfrunde auszufuehren.
Damit wuerde des Scroll reduziert, der Spieler haette Zeit die
Meldungen auch zu lesen und die Kaempfe wuerden trotzdem nicht laenger dauern
als sonst
auch. Das koennte man eventuell ueber den heartbeat abwickeln.
Aber fragt mich nicht, wie oder wieviel Rechenaufwand das waere.

Baboon() (Wurstmagier und vom wilden Affen gebissen)


-----------------------------------------------------------------------------



Re^12: Anfrage zum einem Kurzkampfsystem (Orktoeter, 12. Nov 1997, 09:52:43):
~#! rn=Baboon rt=879322068 rg=entwicklung
~#! tid=879041199
sorry Baboon, aber das ist bloedsinn.
Es gibt jetzt schon genug NPC, bei denen mal nur mit Glueck und optimaler
Ausruestung eine Runde durchhaelt. Wenn du nun mehrere Runden zusammenfasst
und die kampfstaerke dafuer erhoehst, sind diese nur noch toedlich, bei
anderen muesste man die Vorsicht entsprechend auf laecherliche Werte
hochsetzen.
Also, netter Gedanke, aber nicht gruendlich durchdacht.

OrkT.

-----------------------------------------------------------------------------



Re^11: Anfrage zum einem Kurzkampfsystem (Yendi, 12. Nov 1997, 11:16:41):
~#! rn=Baboon rt=879321531 rg=entwicklung
~#! tid=879041199

Tip:
"loesche artikel <nr.>". Das kann man zur Not auch unter "hilfe mpa"
nachlesen, da hat Loco sich viel Muehe gegeben...


-----------------------------------------------------------------------------



Re^12: Anfrage zum einem Kurzkampfsystem (Felagund, 12. Nov 1997, 11:21:59):
~#! rn=Yendi rt=879329801 rg=entwicklung
~#! tid=879041199
Und was hat das jetzt mit Baboons Artikel zu tun? ;)

Zum Thema: Den Vorschlag von Baboon wollte ich auch schon machen. Die Monster
deretwegen Orktoeter Angst hat muesste man dann ja bloss anpassen.

Fela

P.S. wer englisch kann und sowas woanders mal 'antesten' will: xyllomer.mud.de
3000, allerdings is man da am anfang _ziemlich_ lahm, weil die eigene
geschwindigkeit sowohl von der Waffe als auch von der dex abhaengt.

-----------------------------------------------------------------------------



Re^12: Anfrage zum einem Kurzkampfsystem (Grimmborn, 12. Nov 1997, 11:25:29):
~#! rn=Yendi rt=879329801 rg=entwicklung
~#! tid=879041199
Aber aber, wozu denn selber Muehe machen, wenns doch mich gibt und ich immer
brav hinterherraeume. (-> muell)

Grimmborn der Atheist

-----------------------------------------------------------------------------



Verlobung, Antwort auf Yendi (Magnus, 12. Nov 1997, 11:36:25):
Gibt es eine andere Heirat als die auf dem Standesamt? Als Jurist mu ich das
kategorisch verneinen. Alles andere ist religioese Zeremonie, aber nichts
mehr...
Magnus

-----------------------------------------------------------------------------



Re^13: Anfrage zum einem Kurzkampfsystem (Orktoeter, 12. Nov 1997, 11:44:25):
~#! rn=Felagund rt=879330119 rg=entwicklung
~#! tid=879041199
Das kann man aber auch auf das untere Ende uebertragen. Wenn ein anfaenger
jetzt noch mit Vorsicht 20 gegen die meisten NPC in den Anfaengergebieten
auskommt, wird er die Vorsicht in Zukunfz dann entsprechend raufsetzen
muessen.
Das fuehrt dann dazu, das man haeufiger tanken geht, also wird das
zusaetzliche gelaufe den zu erwartenden Vorteil wieder aufheben.

OrkT.

-----------------------------------------------------------------------------



Re^13: Anfrage zum einem Kurzkampfsystem (Jasper, 12. Nov 1997, 18:09:05):
~#! rn=Felagund rt=879330119 rg=entwicklung
~#! tid=879041199
ich kann ein bisserl englisch und sage dazu nur 2 woerter :)
'xyllomer sucks' <- man darf mich zitieren :)

Jasper japst rum.

PS: wer ne vernuenftige krurze ausgabe haben will kommt wohl net um nen
    client herum, silvana hat ja wohl erklaert, warum es im mud net geht.

-----------------------------------------------------------------------------



Re^10: Anfrage zum einem Kurzkampfsystem (Avalon, 12. Nov 1997, 18:55:16):
~#! rn=Zephyr rt=879321110 rg=entwicklung
~#! tid=879041199
Das Problem ist mir durchaus klar. Es wird aber auch Zeit, dass
wir uns endlich von diesem veralteten 80x24 Standard loesen und
endlich 160x50 xterms voraussetzen, vor allem fuer die Bonner :)

Anyway es war nur ein Vorschlag, und dass er mit ueberlangen
Meldungen natuerlich nicht mehr in eine Zeile geht, ist doch
klar. Aber wehe ich schlage jetzt break_string() vor, dann
krieg ich eine auf den Deckel von den tf-Fanatikern :)

Auf jeden Fall halte ich die jetzige Version besser als die
fruehere, wo die Attack-Msg in jeder Runde ausgegeben wurde,
weils einfach viel uebersichtlicher ist. Kampfrunden ver-
laengern wuerde eine rigorose Aenderung des Kampfsystems
mit sich ziehen (HM2 laesst gruessen) und hat als Einzel-
massnahme aufgrund der Implikationen nix im MG verloren.

2 Euros,
i.V. Woody.-

-----------------------------------------------------------------------------



Parawelt-Bug behoben (Ringor, 14. Nov 1997, 15:56:08):
Hiho!

Der Bug in der Parallelwelt, durch den man den Begruessungsschlag eines
Monsters u.U. doppelt abbekam, ist jetzt (hoffentlich :) behoben.

Vielen Dank an Paracelsus fuer das Suchen&Finden des Bugs und an Rochus, der
den Bug dann ausgebaut hat.

Ringor. Traut sich wieder in die Parawelt ;-)

-----------------------------------------------------------------------------



Re: Parawelt-Bug behoben (Morgoth, 14. Nov 1997, 16:16:28):
~#! rn=Ringor rt=879519368 rg=entwicklung
~#! tid=879519368
Auch in meine ?
M*

-----------------------------------------------------------------------------



Re: Re: Parawelt-Bug behoben (Ringor, 14. Nov 1997, 16:19:37):
~#! rn=Morgoth rt=879520588 rg=entwicklung
~#! tid=879519368
So lange man bei Dir einen Geist als Spion losschicken muss, ob man das
Betreten des naechsten Raumes ueberhaupt eine Runde lang ueberleben kann,
werde ich da nicht hingehen. 

Das soll denen vorbehalten bleiben, die gerne mit mehreren Xties metzeln.

Ringor

-----------------------------------------------------------------------------



Todesreform und Anhang. (Yantro, 17. Nov 1997, 15:40:47):
Halloele, 

das der Tod in einem Mud bestraft gehoert, ich denke, da sind sich alle einig
drueber. Nur gibt es immer wieder Diskussionen ueber die Art der Strafe und
wen es dann am meisten trifft. Im Moment ist die Strafe mehr eine zeitliche
Geschichte, bei der vielen der Spass am MG vergeht, weil sie (zu recht oder
nicht) der Meinung sind, dass sie den Skill- und StatMalus abidlen muessen.
Seit dem ZTOrakel gibt es eine neue Moeglichkeit, einigermassen fair eine
Strafe einzufuehren und das waere der echte Abzug von Statpunkten verbunden
mit dem Neuzuweisen von entsprechend vielen ZTs. Klingt auf den ersten Blick
hart, ist es aber nicht und hat auch einen sehr positiven Aspekt.

Abgezogen werden je nach Anzahl der schon gefundenen ZTs 0 bis 4 Statpunkte,
also mehr kann man bei einem Tod nicht verlieren. Mit Einfuehrung dieser
Strafe wuerde der Malus bei den Stats und den Skills, wie er im Moment
existiert, stark verringert (eine stunde oder weniger), es koennte aber auch
sein, dass er ganz abgeschafft wird, was ich persoenlich schade faende, denn
so laestig er ist, so originell ist der Malus und wenn er nur noch ganz kurz
dauert, dann ist das fast nicht mehr tragisch. 

Erfahrungspunkte werden auch weniger zu verlieren sein, wenn man den Malus
laesst. Wenn der Malus ganz weg soll, dann wird es wohl bei der jetzigen
Berechnung bleiben. Stupse oder sonstige Punkte werden nicht verringert, d.h.
man muss nicht fuer seine neuen ZTs Punkte sammeln, sondern man muss NUR zum
Orakel und sich seine Tips holen (was ja Unmengen Geld kostet :) ). 

Sollte sich die Mehrheit der Spieler gegen einen ZTabzug aussprechen, dann
bleibt alles beim Alten, also der nervige Malus bleibt. Ausserdem nimmt man
einer weiteren Reform den Reiz:

Schon immer war es nervig, dass man nach langem Suchen einer seiner 4
Heilstellen gefunden hat und sich dann da einmalig heilen konnte. Meist war es
nicht mal noetig, denn laut Murphy ist man in solchen Situationen sowieso voll
geheilt. Dies wird sich aendern. Die Heiltraenke werden zu sog. Heilstellen,
die nicht nur einmalig sind, sondern an denen sich jeder Spieler EINMAL AM TAG
heilen kann. Dies fuehrt zwar dazu, dass man dafuer keine FPs mehr kriegt,
aber dafuer hat jeder Spieler mit vollen Stats 4 permanente Heilstellen im MG
(wie schon gesagt einmal am Tag).

Klingt so ganz nett, wird aber in Verbindung mit dem Tod und einem Statabzug
unf ZTneuverteilen zu einem interessanten Spiel. Stirbt naemlich ein Spieler
mit vollen Stats, so verliert er 4 davon, hat wieder 8 ZT, kann sich aber
ueberlegen, welche Stellen er als ZT nimmt und wo er seine Heilstellen
hinverteilen will. Dies gibt des Tod und dem ZTsystem eine geradezu taktische
Dimension, bei der man sich auf Dauer (Selbstmord?) seinen permanenten
Heilstellen so verschieben kann, dass sie guenstig liegen. Dies geht aber NUR,
wenn auch die ZTneuverteilung eingebaut wird. Wollt ihr das nicht und wollt
ihr den alten Abidlestatus, dann sind und bleiben die Heilstellen fix fuer
alle und es kann sein, dass damit einige angeschmiert sind.

So... ich denke, meine Meinung dazu ist klar und nun seid ihr am Wort. Was ist
euch lieber: 

- so wie jetzt
- kein Malus mehr und Statabzug, ZTneuverteilung
- Statabzug, ZTneuverteilung, nur noch ganz kurzer malus und weniger
Erfahrungspunktverlust (was fuer kleinere Spieler interessanter sein kann)

Yantro

-----------------------------------------------------------------------------



Re: Todesreform und Anhang. (Hangover, 17. Nov 1997, 15:51:45):
~#! rn=Yantro rt=879777647 rg=entwicklung
~#! tid=879777647
Moin!

Da muss ich dann gleich meinen Senf zu geben.

1. Dass nach dem Tod die Stats erstmal etwas erniedrigt sind ist schon ok.
   Ansonsten latscht man naemlich gleich nach der Sequenz wieder zum Monster
   und macht da locker weiter. So soll es meiner Meinung nach nicht sein.
   Wer stirbt, hat (meistens) irgendetwas falsch gemacht und braucht
   eine kleine Strafe ;-)

2. Statabzuege und NeuZT finde ich problematisch, wenn nicht gewaehrleistet
   ist, dass man auch der Stufe und den Faehigkeiten entsprechend an die
   Stellen rankommt. Ansonsten kann das auch sehr nervig sein, da es immer
   noch ZT tief in Questgebieten (Friedhof, Inferno, Duncton, Titiwu)
   gibt. Da moechte ich nach dem Tod nicht nochmal hin. Auch weil es Zeit
   in Anspruch nimmt.

3. EP-Abzug fuer Nicht-Seher sollte meiner Meing nach bleiben, immerhin
   sind 1 Mio. EP ein Seherkriterium und sollen eine Anforderung bleiben.
   Die Mengen an EP, die ich als Seher verliere, fallen nicht wirklich
   ins Gewicht.

4. Zu den permanenten Heilstellen: klingt interessant, ist aber trotzdem
   problematisch, da sich hierdurch die Ausruestungsspirale erneut ein 
   bisschen weiterdreht. Da macht doch lieber die 4 Heiltraenke zu 
   Autoloadern, die man einmal hat und die nach Gebrauch weg sind. 

5. Ein Vorschlag: Todesfolgen = kurzfristiger Statasbzug wie bisher (damit
   man nicht gleich aus der Sequenz raus weitermetzelt. Dazu EP-Abzug von
   bisheriger Groesse und ggfs. temporaerer Verlust von Skills - also z.B.
   Jeden Schaden etwas vermindern, gleichzeitig bei jedem Treffer etwas
   mehr einstecken - ich finde, dass ein Tod immer noch ein ernstzunehmendes
   Problem sein soll und kein Ding, das man einfach so ignorieren oder
   wegidlen kann...

-Hangoiver
(ohne das i natuerlich)

-----------------------------------------------------------------------------



Re: Re: Todesreform und Anhang. (Yantro, 17. Nov 1997, 15:57:33):
~#! rn=Hangover rt=879778305 rg=entwicklung
~#! tid=879777647
direkt zu hangover:

es laeuft im Moment immer noch der Austausch von QuestZTs durch neue andere..
und es ist auch weiterhin so, dass man nur Zts auf dem Niveau neu zugewiesen
kriegt, wie es dem Level entspricht... da gibt es keine Probleme.

die Hoehe des Erfahrungspunktverlustes ist ein reines Zahlenspiel.. da kann
man immer drueber reden, aber ist schon klar: wieso sollte ich sehern noch XPs
abziehen, wenn dies sowieso nicht mehr interessiert.

Ich seh keinen Zusammenhang zwischen Ausruestungsspirale und Heilstellen. Zum
einen sind die dann nur einmal am Tag da und 2. sollte euch das neue
Kneipenkonzept von Silvana noch in erinnerung sein, nach dem es bald arge
Tankprobleme gibt und das soll ein Ausgleich sein. (Da meine ichs mal gut...
:) ).

Yantro

-----------------------------------------------------------------------------



Re^3: Todesreform und Anhang. (Boing, 17. Nov 1997, 15:59:18):
~#! rn=Yantro rt=879778653 rg=entwicklung
~#! tid=879777647
Aus dem Kneipenkonzept von Silvana sollten sich eigentlich keine
argen Tankprobleme ergeben. Wenn ich das richtig verstanden habe,
sollte sich ja nur die Art der Heilung aendern.
Ich schreibe das jetzt nur, damit hier nicht wieder total vom Thema
abgekommen wird, lasst also bitte die Kneipen jetzt mal aussen vor.
  Boing

-----------------------------------------------------------------------------



Re^3: Todesreform und Anhang. (Orktoeter, 17. Nov 1997, 16:03:08):
~#! rn=Yantro rt=879778653 rg=entwicklung
~#! tid=879777647
Findet die Idee gut, auch wenn es natuerlich wieder einige leutze hart trifft,
das sie 100 Stupse verlieren.
Ausserdem warum hat man nach einem tot 8 stats weniger ? ich dachte 4 ?
Und was ist mit denen, die alle ZT haben ? Dann muss ich doch schon mindestens
2 mal sterben um in den Genuss des aussuchen kommen zu koennen, oder ? (naja,
zumindest ein mal mehr, als Spieler, die "erst" volle Stats haben.)

OrkT, dafuer, aber noch nicht 100% ueberzeugt.

-----------------------------------------------------------------------------



Re^3: Todesreform und Anhang. (Ark, 17. Nov 1997, 16:27:23):
~#! rn=Yantro rt=879778653 rg=entwicklung
~#! tid=879777647
Hm, wie waere es mit pauschal einem ZT fuer nichtseher und zweien fuer seher?
Ich finde 4 Statpunkte schon recht viel, auch wenn sie jetzt einfacher zu
bekommen sind. Naja, so als anregung ...


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^4: Todesreform und Anhang. (Gnome, 17. Nov 1997, 16:30:14):
~#! rn=Orktoeter rt=879778988 rg=entwicklung
~#! tid=879777647
also, dass mit den ZT neu suchen... wisst ihr eigentlich wieviel muehe
und schweiss uns das gekostet hat, ZTs zu suchen und su finden? nun gut,
mit dem orakel ist es ein bissel einfacher, aber ich z.B. hatte meine
ZTs voll, als es das orakel noch gar nicht gab. und nun soll ich nach
einem tod wieder auf die suche gehen? ich wollte mit der ZT-suche
eigentlich nix mehr zu tun haben... :)
ausserdem waeren manche von uns (huhu key :) den ganzen tag am
suchen... ;-)))
das mit den ZT-stellen als heilstellen ist zwar einerseits recht in-
teressant, aber andererseits wird mein tod in gewisser weise auch
dadurch wieder belohnt... und mit dem tod als taktik rechnen? hmmm
aber so wie es jetzt ist, ist es auch nicht so dolle... 5 h fuer einen
tod ist einfach zuviel...

gnOme

-----------------------------------------------------------------------------



Re^4: Todesreform und Anhang. (Morgar, 17. Nov 1997, 16:30:31):
~#! rn=Ark rt=879780443 rg=entwicklung
~#! tid=879777647
Hm, das mit den 2 bis 4 Stats find ich ok, aber die 4 extra ZT sollten meiner
Meinung nach so bleiben, wie sie sind. 1 mal am Tag bringt einem ne Heilstelle
nicht so arg viel...

Morgar

-----------------------------------------------------------------------------



Re^5: Todesreform und Anhang. (Key, 17. Nov 1997, 16:31:56):
~#! rn=Morgar rt=879780631 rg=entwicklung
~#! tid=879777647
Besser einmal am Tag, als das man bis man hinkommt keine Heilung mehr braucht.

Key

-----------------------------------------------------------------------------



Re^6: Todesreform und Anhang. (Morgar, 17. Nov 1997, 16:36:17):
~#! rn=Key rt=879780716 rg=entwicklung
~#! tid=879777647
Ich finde es gibt schon genug Heilstellen, so dass mir die 100 Stupse lieber
sind.

-----------------------------------------------------------------------------



Re^6: Todesreform und Anhang. (Obermotz, 17. Nov 1997, 16:39:22):
~#! rn=Key rt=879780716 rg=entwicklung
~#! tid=879777647
Hm, also ich finde das mit dem permanenten ZT-Abzug nicht so ueberwaeltigend.
Warum? Kuerzlich habe ich in ziemlich kurzer reihenfolge 3 Todessequenzen
erleben duerfen. Okay, einmal war ich selbstchuld. Das 2. Mal lag es eindeutig
an meinem mom Zugang. Aber egal. Die 3 Tode hiessen nach dem neuen System bis
12 ZTs neu suchen. Also da idel ich wirklich lieber die 9 Stunden insgesammt
nochmal ab, also solch eine Suche.
Aber ich will nicht nur noergeln. Mein Vorschlag: Die Stats so wie bisher
temporaer Absenken. Sie aber langsamer wieder ansteigenlassen und im Gegenzug
dafuer die laenge der Todesfolge kuerzen.
Ausserdem finde ich auch, dass durch das neue System auch wieder die
Einsteiger mehr benachteiligt werden. Ein erfahrener Seher wird seltener
sterben und seine ZTs schneller finden als ein Neueinsteiger.

Denaechste angehende Wurstseher Obermotz.

-----------------------------------------------------------------------------



Re^7: Todesreform und Anhang. (Yantro, 17. Nov 1997, 16:41:07):
~#! rn=Morgar rt=879780977 rg=entwicklung
~#! tid=879777647
Nur fuer den Fall, dass es nicht klargeworden ist: Die Heiltraenke im Moment
sind fuer A**** und werden auf alle Faelle umgewandelt in Heilstellen. Die
Stupse sind weg und das ist Pech, trifft aber alle gleich und damit gibt es
keine Ungerechtigkeit. Bleibt die Auswahl, ob die Heilstellen fix bleiben oder
ob sie verschoben werden koennen durch neue ZTs durch Tode.

Yantro

-----------------------------------------------------------------------------



Re^8: Todesreform und Anhang. (Raffi, 17. Nov 1997, 17:56:18):
~#! rn=Yantro rt=879781267 rg=entwicklung
~#! tid=879777647
Yantoro, bitte nochmal fuer so doofe wie mich - soll der Statabzug und die
ZT-Neusuche nur fuer die Seher und ihre 4 heilstellen sein, oder etwa fuer
Alle Spieler ?
Wenn fuer alle dann ist das konzept fuern A****. Denk mal an all die LLPs, die
gerade mal ne hand voll ZTs haben, und dann abkrazen. Wer bei 70 ZTs
4 verliert, den juckt das nicht so gross, wer aber bei 7 ZTs 4 verliert, der
bemerkt das extrem heftig.

Und 4 ZTs wiederfinden fuer einen Newbie, der sich nicht auskennt, und gerade
mal gluecklich ueber seine bishergefundenen ist, ist eine harte strafe (ich
rede jetzt von echten Neulingen, und nicht seher2ties), wohingegen ein alter
Hase die Stellen die das Orakel nennt gleich kennt.

Lass das mit dem ZT-Verlust weg ... oder beschraenke es zumindest auf Seher.
Alles Andere ist extrem Ungerecht.

Gruss
H.

-----------------------------------------------------------------------------



Re^9: Todesreform und Anhang. (Freund, 17. Nov 1997, 18:07:46):
~#! rn=Raffi rt=879785778 rg=entwicklung
~#! tid=879777647
Hi,

Yantro schrieb: 1-4 Traenke werden abgezogen. Das wird von der Anzahl
der schon gefundenen Traenke, oder vom Level, oder vom Misch-Masch aus
beiden abhaengig sein. Auf jeden Fall wird ein Anfaenger _nicht_
50% seiner Traenke verlieren, indem er stirbt.

P.S.: Ich bin fuer das neue System. Mehr Spielspass (seit Orakel) und weniger
Idle-Zeit.

Ein Freund des Vorschlags.

-----------------------------------------------------------------------------



Re^10: Todesreform und Anhang. (Jasper, 17. Nov 1997, 18:15:33):
~#! rn=Freund rt=879786466 rg=entwicklung
~#! tid=879777647
Mehr Spielspass????
Ich denke dann werden die Leute sich sehr schnell scripte zu den ZT-Stellen
machen, abhaengig von der ausgabe des orakels, und die wird sich dann ueber
kurz oder lang wie die alten Zt-listen verteilen.
Einmal gefunde ZTs sollte man auch behalten, das jetzige abidlen ist schon
krank, aber jedesmal auf ZtSuche zu gehen waere wirklich das letzte.
Nunja ich muss die ja nicht mehr suchen gehen, aber mich wuerds 
vermutlich nerven.

Zwar ist das jetzige system vermutlich schon recht bnervig, aber ich
keinen grund warum man es noch verschlimmern sollte, bastelt lieber
an dem teamkampf, als euch mit so einem kaese zu beschaeftigen :)


Jasper japst.

-----------------------------------------------------------------------------



Re^10: Todesreform und Anhang. (Raffi, 17. Nov 1997, 18:18:47):
~#! rn=Freund rt=879786466 rg=entwicklung
~#! tid=879777647
Jo, fuer jemanden der schon alle ZT hat ist das sicher ein neuer Spielspass
... Aber ansonnsten ?

Also ich waere auch dafuer wenn es entweder nur leute mit sagen wir mal 70+
ZTs trifft, oder erst ab Seher zuschlaegt.

Soo doof ist das derzeitige system ja auch nicht.

Gruss
H.
(Vielsterber)

-----------------------------------------------------------------------------



Re^11: Todesreform und Anhang. (Padreic, 17. Nov 1997, 18:25:19):
~#! rn=Jasper rt=879786933 rg=entwicklung
~#! tid=879777647
Ich glaube wir sind uns einig, dass das jetzige System wirklich krank ist und
einer Reform bedarf. Andererseits geht es doch darum, den Tod auch wirklich
eine Strafe sein zu lassen. (abideln straft nur modembenutzer bzw. belohnt die
telekom :) Wie waer es denn mit folgendem (absolut unausgegorenem :). Man muss
(je nachdem wieviel traenke man hat) 1-3 traenke suchen gehen, diese werden
(im normalfall) aus einer separaten Liste entnommen und werden bei Monstern
hinterlegt die der Spielstufe des Spielers angemessen ist. Ein LLP muss dann
halt z.B. den Orkhenker plaetten und ein richtiger HLP irgendwas in der
groessenordnung Drache Goblinlager. (evtl. kann man es auch an der anzahl der
tode abhaengig machen und nicht am spielerlevel :)
                               Nur mal so eine Idee Padreic
P.S.: ich finde auch Yantros Vorschlag schon _wesentlich_ besser als das
jetzige abideln,

-----------------------------------------------------------------------------



Re^12: Todesreform und Anhang. (Hangover, 17. Nov 1997, 18:26:49):
~#! rn=Padreic rt=879787519 rg=entwicklung
~#! tid=879777647
Anzahl der Tode waere unfair...sonst muesste Key jedesmal irgendwas in der
Groessenordnung von der Hydra metzeln... :-( Das an Level/Gilde festzumachen
waere allerdings sehr ok :-)

-Hangover

-----------------------------------------------------------------------------



Re^7: Todesreform und Anhang. (Teddy, 17. Nov 1997, 18:36:33):
~#! rn=Obermotz rt=879781162 rg=entwicklung
~#! tid=879777647
Wenn du die Todesfolgen tatsaechlich 9 Stunden lang abidelst, sollte dies auch
reichen, um die Zts zu finden.
Man sollte aber sicherstellen, das die Heilstellen auch wirklich erreichbar
sind, da ich definitiv keine Heilstelle bei den Ungeheuern vom See des ewigen
Regens brauche oder in Toeters Kloster (ja ich kenne mich nicht drin aus).
Also in erster Linie sollten es halt moegliche Heilstellen sein, aber das ist
ja klar.
Da meine 2ties noch laengst nicht alle ZTs haben und ich ebenso wie scheinbar
einige andere nicht alle Stellen finde, waere es vielleicht hilfreich, wenn
man irgendwo Zusatzinfos bekommen koennte, im Zweifelsfalle wieder mit der
Wunderlampe.
So als zusaetzliche Anregung halt.
Uebrigens finde ich einmal am tag auch arg wenig.
Das wars fuers erste,

Teddy

-----------------------------------------------------------------------------



Re^12: Todesreform und Anhang. (Tunixgut, 17. Nov 1997, 18:55:24):
~#! rn=Padreic rt=879787519 rg=entwicklung
~#! tid=879777647
Das is doof, Padreic, der Level sacht noch nicht viel aus... Wenn ICH heute
erzaehle, bei welchen Monstern ich arg zu kaempfen habe, lacht man mich aus...
Ich meine, ich bin immerhin Level 39 oda so, aba erst Gildenlevel 4 - kommt
halt vor. Bloss weil ich kein uebe-script hab' laufen... Nun denk mal an
diejenigen, die gerade die Gilde wechseln!!!

's Karate-Zwerchle...

-----------------------------------------------------------------------------



Re^13: Todesreform und Anhang. (Padreic, 17. Nov 1997, 19:04:40):
~#! rn=Tunixgut rt=879789324 rg=entwicklung
~#! tid=879777647
ok, dann sag ich nochmal was zu meinem vorschlag. Es geht darum, dass man ein
Monster plaetten muss, dass fuer einen selbst mit seiner Spielstaerke machbar
ist. Ob man das jetzt an Gilde/Gildenlevel/Stats/Spielerlevel oder einem
Mischmasch oder an der Koerpergroesse festmacht ist fuer die Idee eigentlich
erstmal unerheblich. 
                                Padreic

-----------------------------------------------------------------------------



Re^14: Todesreform und Anhang. (Orktoeter, 17. Nov 1997, 19:15:46):
~#! rn=Padreic rt=879789880 rg=entwicklung
~#! tid=879777647
ist im hinblick darauf, das die auch heilstellen sein sollen keine gute Idee,
Padreic. Ich denke man will eine Heilstelle aufsuchen um sich zu heilen, nicht
mit vollen LP/MP hingehen muessen um das Monster zu killen um sich danach
wiederr aufzutanken, dann muesste Yantro sich viel muehe machen und es so
einrichten, das man, wenn man die "Heilstellen-ZT" ein mal bekommen hat, sie
ohne metzeln wieder erreichen kann, ob das machbar ist weiss ich nicht, aber
sonst sind die ein-mal-taeglich-tanken eigentlich recht sinnlos.

OrkT.

-----------------------------------------------------------------------------



Re^14: Todesreform und Anhang. (Key, 17. Nov 1997, 19:20:25):
~#! rn=Padreic rt=879789880 rg=entwicklung
~#! tid=879777647
Ahhhja .... klar
Man ist vom Tod geschwaecht und um sich zu erholen muss man metzeln gehen ...
Komisch irgendwie hab ich in erinnerung das man mit der strafe unter anderem
vorhatte zu verhindern das man gleich danach den npc killt der einen gekillt
hat.

(Das ist fuer mich leider kaum nachvollziehbar, regt es doch nur dazu an sich
Zweities zu bauen .... Wenn ich mir meine Sachen net schnell wiederholen kann,
liegen sie wohl oefter in dem inventory eines anderen spielers als in meinem.)

Naja wie dem auch sei .... ich schmetter Padreics Vorschlag mal wieder
zurueck, diesmal ohne ihn persoenlich zu beleidigen =;)

Key

-----------------------------------------------------------------------------



Re^15: Todesreform und Anhang. (Sharia, 17. Nov 1997, 19:23:05):
~#! rn=Key rt=879790825 rg=entwicklung
~#! tid=879777647
Mein Vorschlag zur Reform:
Die letzten 4 ZT lassen wie bisher.
Das Tode abidlen wesentlich verkrzen.
EP Abzug beim Tod verGROESSERN, dafuer aber auch EP wieder mehr zaehlen
lassen.
Keinen permanenten Statabzug.

kurz: DAGEGEN !


Sharias Senf

-----------------------------------------------------------------------------



Re^16: Todesreform und Anhang. (Alpha, 17. Nov 1997, 20:09:28):
~#! rn=Sharia rt=879790985 rg=entwicklung
~#! tid=879777647
Wie waere es damit...die 1-4 staendig abgezogenen ZTs werden nicht staendig
abgezogen, sondern iddeln sich auch wieder hoch - aber halt nach 4-5
Stunden...Wer sich nicht so gut mit dem Orakel auskennt, muss nicht neu suchen
gehen, und wer seine Heilstellen verlegen will, hat halt 4-5h Zeit...So kommen
die, die Yantros Vorschlag gut finden, in den Genuss der Neuerung, und wer mit
ZT-Suche absolut nix am Hut hat, wartet halt ne angemessene Zeit.
Alpha findet Yantros Vorschlag gut (falls es keine QuestZTs und fuer
NichtSeher nur "FestlandsZTs - also ohne schildkroetenlahme Schiffe - gibt)

-----------------------------------------------------------------------------



Re^10: Todesreform und Anhang. (Wur, 17. Nov 1997, 20:49:20):
~#! rn=Freund rt=879786466 rg=entwicklung
~#! tid=879777647
Ich bin massiv gegen den Verlust von Stats. Ich habe ueberhaupt keinen Bock
gefundene ZT's nochmal zu suchen!

Wur

-----------------------------------------------------------------------------



Re^16: Todesreform und Anhang. (Lefty, 17. Nov 1997, 21:00:22):
~#! rn=Sharia rt=879790985 rg=entwicklung
~#! tid=879777647
Hm, mal so ne Idee von einem Wurstseher.

1. Todesfolgen ohne neue ZT's suchen zu muessen dauert halt und ist nervig
2. alternativ kann die Zeit verkuerzt werden indem man ne Palette von
ZT-Spruechen bekommt, die man abgrasen kann.

Soll also ne ARt Mischung sein, wo man seine normale Kampffaehigkeit durch was
tun schneller wiederherstellen kann als normal.

Lefty

-----------------------------------------------------------------------------



Re^17: Todesreform und Anhang. (Lefty, 17. Nov 1997, 21:02:29):
~#! rn=Lefty rt=879796822 rg=entwicklung
~#! tid=879777647
argl, ich sollte wohl erstmal die Zeitung durchlesen. Ich glaube mein
Vorschlag geht in die Richtung wie der von Alpha.

Flames an Gast1

-----------------------------------------------------------------------------



Re^18: Todesreform und Anhang. (Wurzel, 17. Nov 1997, 21:21:52):
~#! rn=Lefty rt=879796949 rg=entwicklung
~#! tid=879777647
also, da hier einige legastheniker zu sein scheinen: es sind nach yantros
artikel 0-4, nicht 1-4 zts. newbies kann man also wohl erstmal aus der
diskussion rauslassen.
ansonsten: wer sich einigermassen gut auskennt im mud, fuer den duerfte das
ueberhaupt kein problem sein, die zts wiederzuholen. wer sich nicht so gut
auskennt, holt dann vielleicht mal dieses versaeumnis nach...
natuerlich muessen dann die quest-zts raus, aber das ist wohl gerade im
gange. nur "festland-zts" fuer nichtseher? das ist ja wohl nicht ernstgemeint.
die idee, ein dem level angepasstes monster als waechter vor den zt zu
stellen finde ich auch ziemlich daneben.
die heiltraenke lass ich mal unkommentiert, die sind m.e. vorher wie nachher
sinnlos. allerdings auch hier wieder legasthenie: 4 heiltraenke einmal pro
tag sind 4 heilungen pro tag, nicht nur eine.
achja, nochwas: man verliert keine 100 stupse. wer lesen kann, koennte in
yantros artikel festgestellt haben, dass man keinen einzigen stufenpunkt
verliert...
wie spielt ihr eigentlich ein textbasiertes spiel, ohne richtig lesen zu
koennen? :)

egal, kurz und knapp: ich bin dafuer. der einzige ernsthafte vorschlag, den
ich hier gelesen habe und ueber den man m.e. nachdenken sollte, ist die wahl
zu lassen zwischen abideln (darf dann aber ruhig laenger dauern als bisher)
und zt-neusuche, ggf. auch in kombination (8 zts haette ich neu zu suchen,
aber ich hab keine idee was das orakel mit dem einen spruch meint... also
hol ich mir die 7 zts, die ich finden kann, und ruh mich fuer den letzten
der noch fehlt erstmal aus und pfluecke bluemchen). oder so.

wurzel

-----------------------------------------------------------------------------



Re^16: Todesreform und Anhang. (Anacrion, 17. Nov 1997, 22:04:57):
~#! rn=Sharia rt=879790985 rg=entwicklung
~#! tid=879777647

Moin auch....(ich will auch senfen !)

Ich halte das momentane Prinnzip mit Todesfolgen ueber Stunden fuer ASUSSERST
UEBEL (wie LLys* sagen wuerde),hab ich doch gerade wieder mal 10 Stunden idlen
muessen...
Ich finde jedoch, dass 1. Heilstellen, die man nur durch metzeln erreichen
kann (meine heiltraenke waren in toeter's kloster, in inferno, bei den
programmieren, (den 4. weiss ich nicht mehr) relativ sinnlos sind...wenn man
mehrfach tanken muss, um hinzukommen, ist der Heiltrank gerade fuer die
Fuesse.
Zu den Todesfolgen: 
Ich glaube man sollte von Zeitstrafen grundsaetzlich absehen. Die schmaelern
nicht nur die Lust am Mudden, sondern sorgen auch fuer stetige Leerung von
Mudderkonten zugunsten der Telekom...
Es gibt bestimmt Moeglichkeiten, die Einschneidenen Folgen eise Todes durch
drastisceren Verlust (von dann hoeher bewerteten EPs) zu verdeutlichen (wenn
man 50 Stupse an einem Tod verliert, ist das meiner Meinung nach
'Einschneidend'..
Das holen von Stats ueber Orakel finde ich jedoch genauso dumm, weil nach
einiger Zeit bestimmt jeder Skripts zu den ZTs hat...nach einiger Zeit die
ersten automatisierte, die nach nem Tod zum Orakel rennen, auf Sprueche
triggern und die Stats holen...aus die Maus. Ist das gewollt ?!? Auch ohne
Skripts kennt man doch die meisten Stellen und es Artet eher zu einem
technischen Problem aus, die Traenke zu holen, als zu einem spielerischen...

Vielleicht als summa summarum : Keine spielbeeintraechtigenden Todesfolgen
bitte :)

Anac*

-----------------------------------------------------------------------------



Re^19: Todesreform und Anhang. (Teddy, 17. Nov 1997, 22:06:10):
~#! rn=Wurzel rt=879798112 rg=entwicklung
~#! tid=879777647
Also ich hab ganz klar gelesen, das man anders als bisher fuer die letzten 4
ZTs, also die HTs die Stupse (insgesamt 100) NICHT mehr kriegt.
Sollte das so nicht drinstehen, wuerde es mich sehr wundern.

Teddy

-----------------------------------------------------------------------------



Re: Todesreform und Anhang. (Fyt, 17. Nov 1997, 23:14:40):
~#! rn=Yantro rt=879777647 rg=entwicklung
~#! tid=879777647

Bin fuer 'so wie jetzt'.

Fyt.

-----------------------------------------------------------------------------



Re: Re: Todesreform und Anhang. (Ringor, 17. Nov 1997, 23:27:42):
~#! rn=Fyt rt=879804880 rg=entwicklung
~#! tid=879777647
Mal eine rein technische Frage:

Ein Seher mit full Stats (76 ZT) verliert vier ZTs beim Tod? Und ein Seher mit
full Stats plus den vier HTs verliert insgesamt acht ZTs, weil er mit dann 72
ZTs ja nicht mehr fuer die Heilstellen berechtigt ist?

Damit waer das mit der Taktik beim Sterben ja auch Geschichte, da die vier
Heilstellen ja doch nach jedem Tod wieder woanders liegen, und man bei acht
neuen ZTs wohl kaum jedes Mal vier geeignete Stellen dabeihaben wird, oder?

Falls ich das so richtig verstanden habe, hier ein Vorschlag:

Man verliert nur bei seinem ersten Tod nach der neuen Reform seine HTs (gilt
natuerlich nur fuer Leute, die ueberhaupt welche zu verlieren haben ;-). Ab
dann bleiben sie erhalten, auch wenn man stirbt. Benutzen kann man die HTs
natuerlich nur mit full Stats, ist klar.

Vorteil: man kann so lange warten, bis einem eine ZT-Stelle als Heilstelle
zusagt. Jeder ZT, der dann nach dem 76. 'gefunden' wird, wird dauerhaft als
Heilstelle markiert. Gefaellt einem keine der vorgeschlagenen Stellen, fuellt
man halt nur wieder bis auf full Stats auf, und wartet den naechsten Tod und
damit vier neue Fundstellen ab.

Damit koennte man sich wirklich 'seine' Heilstellen zusammensterben (oha ;-)
und wuerde nicht immer gleich acht ZTs verlieren pro Tod, was ich etwas sehr
hart faende.

So, falls ich das Ganze nur falsch verstanden habe, dann klaer mich bitte
jemand auf und schiebe meinen Vorschlag nach /dev/null.

Ringor

-----------------------------------------------------------------------------



Re^3: Todesreform und Anhang. (Alpha, 17. Nov 1997, 23:37:25):
~#! rn=Ringor rt=879805662 rg=entwicklung
~#! tid=879777647
Hm..soweit ich das verstanden habe, sollen irgendwann einmal die Heiltraenke
wie ZTs jeden Tag einmal gefunden werden...also bekimmst Du dafuer ein Orakel,
das bleibt natuerlich fuer die 4 HT-Stellen gleich. Wenn Du dann stirbst,
kriegst Du 1-4 neue Orakel-Spruehe dazu (weil halt 1-4 ZTs fehlen). Nun kannst
Du Dich nicht mehr heilen, sondern das 1-4.malige Aufsuchen der 4+(1-4)
Orakelstellen macht erstmal deine Stats voll...Hier kannst Du nun taktisch
eingreifen...und die Dir ungelegenen alten Heilstellen fuer Staterhoehen
verbraten, und die bessseren Stellen Dir fuer die HTs aufbehalten (halt
irgendwas, was gut liegt, oder so..).
So hab ich Yantros Vorschlag verstanden und wuerde ihn auch so begruessen.
Wenn ich falsch liege, lasse ich mir von kompetenter Stelle natuerlich
erklaeren...
Alpha.

-----------------------------------------------------------------------------



Re: Todesreform und Anhang. (Damien, 17. Nov 1997, 23:40:16):
~#! rn=Yantro rt=879777647 rg=entwicklung
~#! tid=879777647

Ahem, also komischerweise habe ich den Eindruck, das man als (baldiger)
Seher wesentlich oefter stirbt als als Beginner (Ich bin ab Level 25 bis zur
Magierwerdung 4 mal so oft gestorben, wie davor). Ich denke auch, das die
meisten hier zu faul sind, sich tatsaechlich ein ZT-Skript zu schreiben, mal
ganz davon abgesehen, dass die Leute sicherlich auffallen und fliegen, denn
das ist ja verboten.

Das idle-System finde ich auch doof und ich denke der Verlust von ein paar
ZTs abhaengig davon, wieviele man schon hat ist wesentlih besser, mal ganz
davon abgesehen, dass man die ZTs mit Orakel und der alten ZT-Liste relativ
schnell findet. (Nen, das ist kein Magiergeschwaetz, ich hab' noch ein paar
Spielzweities unterwegs.) Und die LLPs verlieren ja eh' keinen oder nur einen,
das ist zu verschmerzen. Im uebrigen macht der Verlust selbst von 4 ZTs soo
vile auch nicht aus, nichtmal fuer einen Anfaenger, der Effekt bei GES und
KRA ist wirklich nicht so krass nur bei INT oder AUS ist es wirklich sofort
zu merken, wegen LP/MP-Verringerung. (8 von 60 Punkten sind aber auch nur
eine Kampfrunde mehr pro Tamkgang und 12 von 220 erst recht.)

Zum Thema Heiltraenke sage ich mal nix, die hatte ich nie.

Damien.


-----------------------------------------------------------------------------



Re: Todesreform und Anhang. (Brandir, 17. Nov 1997, 23:48:19):
~#! rn=Yantro rt=879777647 rg=entwicklung
~#! tid=879777647
An sich finde ich die Idee in Ordnung wenn 4 ZTs vielleicht auch etwas
hart sind... allerdings sehe ich ein Problem in den einzelnen ZTs.
Denn, wenn ich nach einem Tod erst wieder zu den Dunkelelfen muss,
um dort einen ZT abzuholen, kann ich mir gleich 4 neue abholen, da
ich dort garantiert sterbe.
Sollte es irgendwann einmal so sein, dass wirklich kein ZT mehr|(mehr oder
weniger) tief in einer Quest steckt (zatongs, tryfans|arbeitszimmer, bungee)
ist diese Moeglichkeit vielleicht brauchbar,
doch bin ich der Meinung das ein Tod wirklich nur eine laestige Sache
ist, so das man ihn wenn moeglich vermeidet, doch sollte es nicht in
einer neuen Lebensaufgabe enden. Deshalb wuerde es ja eigentlich reichen,
ganz einfache ZTs neu zu vergeben, und zusaetzlich die alten Mali 
teilweise bezubehalten.


Brandir - hat heute seinen letzten ZT gefunden und ist gluecklich so...

-----------------------------------------------------------------------------



Re: Re: Todesreform und Anhang. (Kilar, 17. Nov 1997, 23:56:29):
~#! rn=Damien rt=879806416 rg=entwicklung
~#! tid=879777647
Mal ein Kommentar von mir:
Ich bin von der Idee, dass man beim Tod Stats verliert nicht gerade
begeistert. Allerdings ist die Idee doch ganz brauchbar. Allerdings schlage
ich mal folgendes vor: Die Anzahl der Stats, die man beim Tod verliert,
sollten nicht von der Spielstufe abhaengen, sondern davon, wie gut man sich
im MG auskennt. So wuerde z.B. ein Anfaenger, der sich hier kaum auskennt,
nichts verlieren und ein HLP, der sich extrem gut auskennt, ziemlich viele.
Denn der ist ja dann in der Lage, die ZTs schnell zu finden -> kennt sich
ja gut hier aus.

Kilar, hat heute mal wieder Ideen :)

-----------------------------------------------------------------------------



Re: Todesreform und Anhang. (Nachtwind, 18. Nov 1997, 00:27:23):
~#! rn=Yantro rt=879777647 rg=entwicklung
~#! tid=879777647
Okay, Senf ein...

Imho wird in diesem Mud der 'Arbeitsanteil' gegenueber dem 'Spielanteil'
immer hoeher. Was ich damit meine? Mit Arbeit wuerde ich das bezeichnen,
was man machen muss, um halbwegs gut ausgeruestet zu sein, um neue Gebiete
erkunden und interessante Gegner plaetten zu koennen. Das heisst in erster 
Linie Ausruestung holen (inkl. 10+ x klitzeldrom usw). Den gleichen Gegner 
zum 100. Mal zu plaetten wegen der Ausruestung ist fuer mich kein Spielspass.
Und das ist dank mangelnder Stabilitaet dieses Muds schon uebel genug.(!)

Was das alles mit dem Vorschlag von Yantro zu tun hat? Yantros Vorschlag
bedeutet, das die, die gerne neue Gebiete erkunden und harte Monster 
bekaempfen (und somit oft sterben) damit bestraft werden, auch noch 
uralte ZT-Stellen abzugrasen. Wie spassig. Wie notwendig. Wie langweilig.
Arbeit eben. Da ich denke, jede Neuerung in einem Mud sollte dem Spielspass
dienen, muss ich diese Idee ablehnen. Alte ZTs abgrasen ist fuer mich kein 
Spielspass, sondern langweiliges Uebel. Das bisherige System finde ich 
eigentlich gar nicht soo schlecht. Wer meint, wegen einem Tod unbedingt
idlen zu muessen, oder wer innerhalb der Zeit mehr als 2 Mal stirbt, ist 
eh selbst Schuld. Ich spiel auch mit Todesfolgen weiter, und die daraus
resultierende Schwaeche aergert mich und spornt mich an, den naechsten 
Tod zu vermeiden. Gleichzeitig kann ich aber dort weitermachen, wo ich 
Spielspass hab. Klingt fuer mich eigentlich wie eine gute Loesung.

NEIN zu permanenten Stat-Abzuegen!

Nachtwind. Magister der Akademie der geistigen Kraft zu Taramis.


-----------------------------------------------------------------------------



Re^5: Todesreform und Anhang. (Morgoth, 18. Nov 1997, 07:34:38):
~#! rn=Gnome rt=879780614 rg=entwicklung
~#! tid=879777647
Siehs doch so. Auf dem Weg zum ZT kommst Du vielleich tan Stellen vorbei, die
Du ewig nicht mehr besucht hast. Ein bischen umsehen und schon hast Du noch
ein paar Forscherpunkte eingesackt.
M*

-----------------------------------------------------------------------------



Re^8: Todesreform und Anhang. (Obermotz, 18. Nov 1997, 07:53:26):
~#! rn=Teddy rt=879788193 rg=entwicklung
~#! tid=879777647
Hiho,
also in den 9 Stunden kann ich mich auch mit meinem 2tie beschaeftigen. Wenn
ich aber auf ZT-Suche gehen muss, faellt das ja flach. Ausserdem kann man in
der Zeit sich ja in Ruhe mit anderen Leuten unterhalten.
Ich hatte ja vorgeschlagen, auf permanten Stat-Abzug zuverzichten und sie nur
langsamer ansteigen zu lassen. Bei meiner Todesfolge habe ich mitbekommen,
dass meine Stats wieder voll da waren (ich meine jetzt den Stat-Abzug von den
3 Toden) noch ehe ich eine Todesfolge ueberwunden hatte. Man koennte die Zeit
fuer die Stat-Erhoehung ja auf so um die 30 Minuten pro Punkt erhoehen. D.h.
bei 4 Punkten Abzug insgesammt 2 Stunden und damit dann auch die allgemeine
Todesfolge beenden. Gegenueber jetzt spart man ein Stunde ideln (bzw. 2tie
aufpeppen) und da die Stats langsamer regenerieren ist es immer noch eine
Strafe. Und ich finde dieses System koennten sowohl Neueinstieger wie auch
alte Hasen akzeptieren.

Obermotz will nicht obermaessig ueber die ZT-Suche abmotzen

-----------------------------------------------------------------------------



Re^7: Todesreform und Anhang. (Hobo, 18. Nov 1997, 08:09:14):
~#! rn=Morgar rt=879780977 rg=entwicklung
~#! tid=879777647
Dagegen! ;)

Kann man das nicht fuer Seher und Spieler unterschiedlich machen?
So wie ich das mitbekommen habe, wollen hauptsaechlich Seher nicht mehr
hochidlen muessen nach nem Tod. (Kam jedenfalls bei den Argumenten von Magiern
so rueber)
Warum dann nicht Sehern die Stats abziehen und "normalen" (wer ist hier schon
normal?) Spielern den Tod wie bisher lassen?

Meinen Zweitie wuerde es freuen ;)

Tschuessi

 
        Hobo

-----------------------------------------------------------------------------



Re^20: Todesreform und Anhang. (Boing, 18. Nov 1997, 08:54:16):
~#! rn=Teddy rt=879800770 rg=entwicklung
~#! tid=879777647
Es stand so drin und liegt darin begruendet, dass momentan geschaut wird,
wieviele ZTs noch in der spielerinternen Liste uebrig sind. Solange da
noch vier oder mehr drin stehen gibt's halt keine Stupse. Allerdings
sollte das kein Hindernis sein, das laesst sich programmtechnisch mit
Sicherheit aendern.
  Boing

-----------------------------------------------------------------------------



Re^4: Todesreform und Anhang. (Boing, 18. Nov 1997, 08:58:15):
~#! rn=Alpha rt=879806245 rg=entwicklung
~#! tid=879777647
Genau so ist es gemeint. 100 Punkte! :)
  Boing

-----------------------------------------------------------------------------



Re^16: Todesreform und Anhang. (Anakin, 18. Nov 1997, 08:59:39):
~#! rn=Sharia rt=879790985 rg=entwicklung
~#! tid=879777647
Ich bin gegen permanenten Statabzug. Wenn man aber den EP
eine groesse Bedeutung zukommen laesst und dann aber auch mehr
abzieht, ueberlegt man sich das schon mit dem sterben.
Sterben sollte doch eher die Ausnahme bleiben.

Anakin. Schon ewig nicht mehr gestorben.

-----------------------------------------------------------------------------



Re: Re: Todesreform und Anhang. (Hangover, 18. Nov 1997, 09:35:48):
~#! rn=Nachtwind rt=879809243 rg=entwicklung
~#! tid=879777647
Moin!

Thema Arbeitszeit:

Das liegt direkt an der Uptime. Wenn das MUD jede Woche crasht (oder
haeufiger) machts auch keinen Sinn mehr hier zu spielen - von der Woche
verbringt der Durchschnittsspieler (nicht Karate oder Zauberer) endlos
Zeit sich gegen irgendwelche Einsammelskripte im Ausruestungholen zu
behaupten.
Wer 10 mal das Klitzeldrom plaettet, weil er meint, es geht sonst GAR
NICHT, der hat ein Problem und sollte mal schauen, ob er sich nicht
sonst verbessern kann...

Ansonsten hat immer der das Risiko zu sterben, der nicht idelt und mit
Leuten kloent - und das sollte wohl jedem hier klar sein. Dafuer nehm ich
dann auch gerne mal kleinerer Rueckschlaege in Kauf und 4 ZT-Stellen
sind fuer einen High-Level-Player, der sich entsprechend seines Levels
auskennt kein Problem.

Was ich hier nochmal anmerken moechte, Nachtwind: das Generve liegt nur
an der mangelnden Stabilitaet des Rechners. Wenn sich einer der Magier
berufen fuehlte, mal fuer ein paar Tage das MG abzuhaengen und alles zu
debuggen waere wohl allen geholfen.

-Hangover
(der die Reboots leid ist)

-----------------------------------------------------------------------------



Re^3: Todesreform und Anhang. (Nonne, 18. Nov 1997, 10:15:02):
~#! rn=Hangover rt=879842148 rg=entwicklung
~#! tid=879777647
Hallo Leutchens,

Ich bin dafuer! und zwar entschieden. Ich spiele auch weiter, wenn ich
gestorben bin, und mitlerweile gehoere ich ja auch schon fast zu den
vielsterbern. Durch die neue Regelung kann man selbst entscheiden, durch die
Intensitaet der Suche, wie lange man unter den Todesfolgen leiden muss.
Ausserdem finde ich die eigene Plazierung von Heilstellen sehr reizvoll. Wer
war noch nie so zugesoffen, das nix mehr reinging und der Gegner steht auf der
Schwelle? Aergerlich. Und die Heilstellen in Drakonien oder der SSP sind
tagsueber fast immer weg (jedenfalls wenn ich da bin ;) ), daher ist eine
Heilstelle, die nur mir oder wenigen gehoert, eine Erleichterung. Nett waere
dann noch Alphas vorschlag, dass man sich aussuchen kann, ob man 'idelt' oder
suchen geht. Dann muss das arbeitsscheue Gesindel (Nachtwind) nicht weinen.
Ueberlegts euch, aber von hier ein entschiedenes DAFUER!

Nonne

-----------------------------------------------------------------------------



Re^4: Todesreform und Anhang. (Orktoeter, 18. Nov 1997, 11:00:23):
~#! rn=Nonne rt=879844502 rg=entwicklung
~#! tid=879777647
Also, wenn ich mir mal erlaube, eine kurze Zusammenfassung zu versuchen, so
scheint es, als ob Yantro da etwas gefunden hat, das wohl recht ausgeglichen
ist. Die einen beschweren sich, es wuerden dann scripte geschrieben und es
waere zu leicht, die anderen sagen, es waere ihnen zu hart, die ZT noch mal
holen zu mussen.
Der Vorschlag, beides parallel laufen zu lassen, also die, die moeglichst bald
wieder volle stats wollen, koennen die ZT holen, der Rest idelt halt die Zeit
ab scheint mir allen am ehesten Gerecht zu werden.
Noch mal zur Erinnerung (ich hatte es fruher schon mal geschrieben), wie soll
das mit den Heilstellen gehen ? Es sind ZT aus den haerteren Gruppen, da der
tot ja bestraft werden soll, aber wenn ich den ZT denn nun ein mal geholt habe
(und damit die Heilstelle habe), ist es wenig attraktiv, wenn ich mich erst
bis zu der Durchmetzeln muss. Daher noch mal die Frage/Bitte, das man es so
regelt, das man die Heilstellen (so sie es denn dann sind) ohne metzeln
erreichen koennen sollte.

OrkT

-----------------------------------------------------------------------------



Re^5: Todesreform und Anhang. (Boing, 18. Nov 1997, 11:03:03):
~#! rn=Orktoeter rt=879847223 rg=entwicklung
~#! tid=879777647
Das ist doch nicht so schwierig:
Angenommen Du hast 4 Heilstellen, die alle knueppelhart sind. Wenn Du
stirbst, bekommst Du 4 neue ZT-Stellen zugewiesen, von denen eine
vielleicht ganz guenstig liegt. Also holst Du, um Deine Attribute
zu erhoehen, diesen guenstig liegenden ZT NICHT! Schwuppdiwupps hast
Du einee guenstig liegende Heilstelle.
  Boing

-----------------------------------------------------------------------------



Re^3: Todesreform und Anhang. (Marcus, 18. Nov 1997, 11:23:00):
~#! rn=Hangover rt=879842148 rg=entwicklung
~#! tid=879777647
Zur Instabilitaet....

Das ganze ist ein Driverbug. Die letzten drei crashes sind an ein und
derselben
Stelle passiert. Ich bin schon am debuggen, habe aber leider noch nicht
rausgefunden, woran es genau liegt. 

Marcus

-----------------------------------------------------------------------------



Re^6: Todesreform und Anhang. (Key, 18. Nov 1997, 13:07:46):
~#! rn=Boing rt=879847383 rg=entwicklung
~#! tid=879777647
Und bei der suche nach den schweren Teilen biste schwupdiwup tot :))
Dann haste gleich nochmal neue stellen =;)

Key

-----------------------------------------------------------------------------



Re^7: Todesreform und Anhang. (Grimmborn, 18. Nov 1997, 15:15:50):
~#! rn=Key rt=879854866 rg=entwicklung
~#! tid=879777647
Und genau das bezeichnet man als "taktische Plazierung der Heiltraenke". Oder
als "daemlich, wenn er versucht, immer alles alleine zu machen"...

Grimmborn der Atheist stimmt Wurzel zu (na, wer weiss noch, was er geschrieben
hatte? Tip: Legasthenie)

-----------------------------------------------------------------------------



Re^5: Todesreform und Anhang. (Nachtwind, 18. Nov 1997, 16:15:56):
~#! rn=Orktoeter rt=879847223 rg=entwicklung
~#! tid=879777647
Hm, also ich denke auch, das sich da ein moeglicher Kompromiss
abzeichnet. Sowas in der Form von 

- Abzug von 4 Statpunkten (bei Sehern)
- Entweder man idlet die ab (2h / Punkt oder sogar mehr)
- Oder man geht halt zum Orakel und holt sich die Zts wieder.

In der Praxis saehe das dann so aus, das man die 2 od. 3 leichten
ZTs holt, die schweren aber nur wenn man nicht idlen will.
Damit ist dann auch der Wurst-Kaese-Fall entschaerft, bei dem
man 4 knueppelharte ZTs kriegt und so gar keine Lust hat, 
wieder auf Suche zu gehen. Dann koennen die idlen, die idlen
wollen (bzw. weitermetzeln, so wie ich), und die suchen, 
die suchen wollen.
Insofern das technisch moeglich und nicht zu aufwendig ist, 
waer das Imho die beste Loesung.

PS: Was war das mit 'arbeitsscheues Gesindel' Nonne???

Nachtwind. (Muss wohl mal sein Fband aufraeumen.)


-----------------------------------------------------------------------------



Re^6: Todesreform und Anhang. (Grimmborn, 18. Nov 1997, 16:29:16):
~#! rn=Nachtwind rt=879866156 rg=entwicklung
~#! tid=879777647
Nicht ganz:
In dem Fall muessten wohl die zts verteilt werden in dem Moment, wo man beim
Orakel nachfragt. Alternativ muesste man zts "verfallen" lassen, und wenn das
zufaellig so ist, dass beim idlen ein "leichter" zt verschwindet ist das
Geschrei gross - das Risiko waere, dass sich die schweren zts anhaeufen bzw.
man durch gezieltes schieben mit Toden schwere gegen leichte zts austauschen
kann (so aehnlich wie bei den Heiltraenken, nur dass hier die uebrigbleibenden
zts nicht heilen sondern abidlen). Oder man muesste die ganze Idlezeit ueber
noch mit abspeichern, welche zts zusaetzlich sind und nur die waeren
abidlebar. Alles in allem glaube ich nicht, dass das so doll waere. Dass man
nicht 4 knueppelharte zts bekommt kann man ja steuern, die zts sind in
Schwierigkeitsklassen unterteilt und es muessen halt alle bei einem Tod
zugeteilten zts eine unterschiedliche Schwierigkeitsstufe haben (bei Sehern,
wo alle Klassen in Frage kommen waeren das beispielsweise 4 aus 10 Klassen,
bei LLPs dann 2 aus den untersten 4 Klassen).

Grimmborn der Atheist

P.S. Ja, ich weiss, dass es nicht 10 Klassen sind, aber wenn ich hier Interna
ausplaudere zieht mir Hate wieder die Hammelbeine lang... ;-)

-----------------------------------------------------------------------------



Re^7: Todesreform und Anhang. (Grimmborn, 18. Nov 1997, 16:33:02):
~#! rn=Grimmborn rt=879866956 rg=entwicklung
~#! tid=879777647
Hauptargument ist da untergegangen: Wenn man also die zt bekommt, wenn man das
Orakel fragt heisst das, dass man die zt am Hals hat in dem Augenblick, wo man
erst beurteilen kann ob man sie haben will...aeh...
Also, ich wollte ja eh schon lange zu Hause sein: Entweder hat man die
Moeglichkeit, schwere zt gegen leichte zu tauschen (finden nur Spieler gut ;-)
) oder es muesste staendig mitgehalten werden, welcher zt jetzt ein "zt
zweiter Klasse" ist. Unelegant, zt ist zt. 
Alles in allem finde ich das von Yantro vorgeschlagene System im wesentlichen
gut, und die Argumentation "da kann man ja mogeln, also muss das weg"
ignoriere ich eh, wer mogeln will findet immer einen Weg. Insofern ist die
Rubrik hier auch schoen leer gewesen... ;-)

GdA

-----------------------------------------------------------------------------



Re^8: Todesreform und Anhang. (Asmodis, 18. Nov 1997, 18:58:19):
~#! rn=Yantro rt=879781267 rg=entwicklung
~#! tid=879777647
Also ich finde die Idee gut, und unterstuetze sie zu 100 %
Wer zu den Vielsterbern gehoert, der kennt bald eh alle ZT-Stellen
auswendig :)

-----------------------------------------------------------------------------



Re^7: Todesreform und Anhang. (Hangover, 18. Nov 1997, 19:07:20):
~#! rn=Grimmborn rt=879866956 rg=entwicklung
~#! tid=879777647
Wieso die Hammelbeine langziehen?

Steht doch sogar in der MudLib oder in sonstwelchen oeffnentlichen
Dinge...sogar ich weiss, dass das 8 Klassen sind :-)

Hangover
(Heute mal als Wurstseher)

-----------------------------------------------------------------------------



Re^8: Todesreform und Anhang. (Rantanplan, 18. Nov 1997, 21:16:43):
~#! rn=Hangover rt=879876440 rg=entwicklung
~#! tid=879777647
Is doch alles ganz einfach, da die Mags immer alles besonders realistisch
und Role-Playing haben wollen scheidet der der stirbt aus...

Will sagen: Sterben ist equivalent mit Loeschung...


Oe*

-----------------------------------------------------------------------------



Re^16: Todesreform und Anhang. (Helva, 18. Nov 1997, 23:54:28):
~#! rn=Sharia rt=879790985 rg=entwicklung
~#! tid=879777647
Da ich von zu Hause aus mudde, kann ich hier aus Kostengruenden nicht noch die
naechsten 40 Artikel lesen...also ich hoffe, dasselbe steht nicht weiter
hinten noch:
Ich bin absolut gegen einen Statabzug=Zts nochmal sammeln fuer Spieler. Ich
denke alle schwaecheren Spieler sind dagegen. vor allem sollte man eins
bedenken: Die Anzahl der Zts, die man finden kann, ist an den level/punkte
gebunden. Ich habe level 10, aber unterdurchschnittliche stats dafuer. fuer
einen ZT muesste ich z.B. den Steinbrecher toeten, das schaffe ich aber mit
Sicherheit nicht - ja, ich weiss, ich kann ja auchum Seherhilfe bitten, dass
ist hier aber nicht das Thema. Andere ZTs sind in Gegenden, in denen ich
entweder noch nie war, oder mich sehr schlecht auskenne. Zts wiederbeschaffen
its fuer einen schwaecheren Spieler wie mich daher sehr viel problematischer,
als der jetzige Tod, bis ich wieder beim Monster bin, bin ich meist auch
wieder ok. 
So, ich wollte jetzt niemanden angreifen, sondern den Vorschlag nur aus Sicht
eines schwaecheren Spielers beleuchten.
Helva - wie immer fuer alle llp ;) (Wehrt Euch! ;) )

-----------------------------------------------------------------------------



Re^5: Todesreform und Anhang. (Teddy, 19. Nov 1997, 07:49:55):
~#! rn=Boing rt=879839895 rg=entwicklung
~#! tid=879777647
ALso soll es die 100 Punkte in Zukunft nicht mehr geben und alle HLPs werden
wieder eine Stufe abgewertet.

Teddy, wahnsinnig begeistert :-(

-----------------------------------------------------------------------------



Re^17: Todesreform und Anhang. (Helva, 19. Nov 1997, 08:50:39):
~#! rn=Helva rt=879893668 rg=entwicklung
~#! tid=879777647
Nochn reply auf einen eigenen artikel...aber jetzt habe ich alles
durchgelesen.
Dieser Auswahl Vorschlag Ideln/ZT-Suchen finde ich auch ok .
Ach ja, es gibt auch noch neTodesfolge fuer Leute wie mich, die ueberzeugte
Nur-Ersties sind: Wenn man keine Zweitie in der Gegend rumstehen hat, kann
eine ganze Menge Geld verloren gehen ...
Helva

-----------------------------------------------------------------------------



Re^6: Todesreform und Anhang. (Key, 19. Nov 1997, 10:13:20):
~#! rn=Teddy rt=879922195 rg=entwicklung
~#! tid=879777647
Alle Hlp eine Stufe abgewertet?
Was sind fuer Dich Hlp?

Key

-----------------------------------------------------------------------------



Re: Todesreform und Anhang. (Nixihou, 19. Nov 1997, 11:01:06):
~#! rn=Yantro rt=879777647 rg=entwicklung
~#! tid=879777647
hi, ich moechte auch mal zu dem thema was beitragen:

zunaechst einmal moechte ich folgendes vorweg sagen:
 1. das jetzige system ist absolut NICHT optimal.
 2. wenn man zur zeit stirbt, hat man ausser dem verlust der ausruestung
    "so gut wie" keinen nachteil... statverlust ist ja sehr schnell wieder
    da, ohne das man was dafuer tuen muss, und die todesfolgen ... naja, 
    davon merkt man eh nicht viel.
 3. der vorschlag der 4 heil-zt's als heilstellen ein mal pro tag ist ok.
    nur sollte man eben NICTH sterben muessen um sich die heil-zt's 
    taktisch gut zu legen... das sollte man evtl durch questloesen 
    oder so machen koennen... (allein wenn man zB freiwillig  auf 
    8 zt's verzichtet um sie sich neu zu suchen ist das schon aufgabe
    genug finde ich)

so nun mein vorschlag zur reform der auswirkungen des todes:

1. das was man bissher an temporaeren stat- bzw skill-abzuegen bekommt
   wird an bestimmten sinnvollen eigenschaften des spielers festgemacht. 
   (zB level, gildenlevel, rasse, forscherpunkte, usw.
   abzuege koennten gildenspezifisch und rassenspezifisch sein, warum 
   sollte das auch alles gleich sein...)

2. um von den temporaeren abzuegen wieder auf seine "normal-werte" zu kommen
   sollte der spieler irgendwas AKTIV tuen muessen. 
   (also NUR IDELN sollte auf keinen fall reichen)
   als aktive aufgaben um seinen "neuen" koerper wieder in form zu bringen
   bieten sich zB an: killen von einigen npc's UND loesen kleiner Aufgaben
   UND Loesen der einen oder anderen neuen QUEST. und da gibt es 
   sicherlich auch noch gildenspezische sachen die man machen koennte, und 
   ein paar weitere ideen...
   wieviel nun jeweils das metzeln bringt, oder das loesen von aufgaben
   oder das loesen einer neuen quest kann dann ja auch noch eingestellt
werden.

BEISPIEL:
 ein level 2 spieler mit 4 gefundenen zt's zB verliert 1-2 zt's 
 und braucht aber nur einen schmetterling und einen hasen killen, damit 
 sein neuer koerper wieder fit ist ... oder er loest die casinoquest, die er
 noch nicht hat.
 ein Seher mit allen gefundenen zt'S verliert vielleicht 7 zt's und muss
 schon ein/ zwei mal das orklager und goblinlager ausraeumen, oder die
 ssp-leermetzeln um wieder fit zu sein, 
 ODER er loest ne questen mit zB insgesamt 60 punkten, 
 ODER er loest mehrere kleine miniquests..


nixihou, senft auch mal zum thema..


PS: was dann das richtige mass fuer abzuege ist, und fuer die bonie der 
    miniquests bzw des metzelns bliebe noch auszutesten ...
 .

-----------------------------------------------------------------------------



Re^7: Todesreform und Anhang. (Teddy, 19. Nov 1997, 11:04:39):
~#! rn=Key rt=879930800 rg=entwicklung
~#! tid=879777647
Konkret ausgedrueckt, meine ich in diesem Fall alle, die ihre HTs schon haben

Teddy

-----------------------------------------------------------------------------



Re: Re: Todesreform und Anhang. (Gnome, 19. Nov 1997, 11:21:10):
~#! rn=Nixihou rt=879933666 rg=entwicklung
~#! tid=879777647
"..."so gut wie" keinen nachteil..." hmmm, also entweder bist du seit der
todesreform nicht mehr gestorben oder du hast es einfach nicht gemerkt...
sicher, ein tod ist noch nicht der untergang, aber wie es der zufall so 
will, stirbt man - streng nach murphys gesetzt - gleich noch ein zweites
mal, naemlich dann, wenn man es am wenigsten gebrauchen kann...

"...abzuege koennten gildenspezifisch und..."
sonst geht es dir aber gut, ja? dass du sowas ueberhaupt vorschlaegst,
finde ich schon hammerhart...

"...aktive aufgaben um seinen "neuen" koerper wieder in form zu bringen..."
also ich wollte nach einem tod nicht erstmal 10 aufgaben, 3 ZTs und was
weiss ich noch tun, damit ich wieder "normal" bin... dann bin ich naemlich
die erste haelfte der up-time am ausruestung sammeln und die zweite haelfte,
so ich denn gestorben bin, bin ich damit beschaeftigt, dass ich meine stats
etc. zurueckbekomme... super! ok, tod gehoert bestraft, aber warum muessen
es denn so heftige strafen sein... dann ueberlege ich mir das naechstemal,
ob ich ein neues, mir unbekanntes gebiet erforsche oder nicht...
denkt mal drueber nach :)

gnOme

-----------------------------------------------------------------------------



Re: Re: Todesreform und Anhang. (Obermotz, 19. Nov 1997, 11:29:08):
~#! rn=Nixihou rt=879933666 rg=entwicklung
~#! tid=879777647
Und ein neuer Kommentar...

Also ich bin immer noch nicht von der ZT-Neuverteilung ueberzeugt. Ich habe
auch ein neues Argument dafuer: ich gehoere zu den Spielern, die wohl
eindeutig nicht mehr als LLP weggehen. Als HLP moechte ich mich noch nicht
bezeichnen, da ich einige Ecken wirklich noch nicht kenne (goerte ich gerade
"Der war noch nie in Neskaya"?). Dem entsprechend kenne  Also wenn ich sterbe,
werden meine ZTs schon nicht mehr so einfach sein wie der beim Schratt.Und die
neuen kenne ich vielleicht noch nicht. Ich habe ja schon momentan Probleme,
die ZTs vom Orakel zu finden. Ich frage zwar des oefteren auf -ZT nach,
bekommen aber selten einen Hinweis. Wenn nun noch zu den jetzt offenen ZTs die
durch die Tode kommen, sehe ich meine Stats bald bei 10 (naja, etwas
uebertrieben).
Solange die Zusammenarbeit unter den Spielern nicht etwas besser klappt, bin
ich immer noch dagegen. Und das Verhalten der Spieler laesst sich leider(?)
nicht proggen.

Neue gedanken von Obermotz.

PS: Einer Reform der Todesfolgen stehen ich nicht gegenueber verbohrt da. Nur
ich wuensche mir die Reform nicht so.

-----------------------------------------------------------------------------



Re^3: Todesreform und Anhang. (Obermotz, 19. Nov 1997, 11:33:20):
~#! rn=Gnome rt=879934870 rg=entwicklung
~#! tid=879777647
Acha, eins habe ich noch vergessen und muss mich Gnome anschliessen: es gibt
Gebiete, in denen es leicht ist zu sterben (Parawelt). Sollen solche Gebiete
dann nur fuer Leute sein, die bereit sind, wieder Tage lang nach ZTs zu
suchen?
Alternativ waere aber eine neue Halbrunde der Ruestungsspirale denkbar (aber
wohl nicht wuenschenswert).

Vielleicht nur noch ein Untermotz, weil die Stats down sind.

-----------------------------------------------------------------------------



Re^6: Todesreform und Anhang. (Yantro, 19. Nov 1997, 11:52:30):
~#! rn=Teddy rt=879922195 rg=entwicklung
~#! tid=879777647
Hmmmmmm, 

1. Das mit dem 100 Stupseabzug seh ich ein und muss nicht sein. Also werd ich
das dann so umbauen, dass man fuer die letzten 4 ZTs 100 Punkte insgesamt
kriegen kann und nicht erst fue rdie HT

2. Eine Mischung aus idlen und ZTneuverteilung ist nicht proggbar und wenn
doch, dann nicht von mir und wenn, dann nicht, ohne dass das SEHR STARK zu
lasten des Muds geht. Da muessten dann einiges an temporaeren Variablen in
jedem Spieler gespeichert werden und das ist nicht ok... macht lag, mach
rechnerzeit, macht keinen Spass.

3. Es ist im Moment so, dass man die Todesfolgen nur passiv bekaempfen kann,
egentlich nur ignorieren oder idlen. Neue ZTs suchen ist aber eine aktive
Sache, was heisst, dass man selbst steuern kann, wie lange die Todesfolge
besteht.

4. Wer meint, dass eine ZTstelle zu schwer ist fuer seine reduzierten Stats,
der soll sich Hilfe holen... Das ist ein MUD und das heisst MULTI-USER... ich
denke, dass sich da was finden wird, aehnlich wie beim Teamkampf, wenn er
kommt, denn bei so einer Hilfe waescht frueher oder spaeter eine Hand die
andere.

5. Die neuzugewiesenen ZTs sind nicht nur zu 50% aus der dann jeweils
schwierigsten Gruppe und die anderen etwas, bzw viel einfacher. Es kann also
nicht passieren, dass man 4 HammerZTs zugewiesen kriegt.

6. ZTstellen sind eigentlich alle bekannt,nur nicht jeder kennt jede. Wenn das
helfen unter den Spielern so schlecht ist, dann kann ich nichts dafuer, aber
die Neuerung wuerde das Zusammenhalten foerdern, weil es sich lohnt und jeder
weiss, dass er auch frueher oder spaeter mal den anderen brauchen kann. Ein
Spieler, der GANZ SCHWERE Zts neu kriegt, der hatte vorher schon ueber 70 ZTs
gefunden und kennt durch ZTlisten oder erzaehlen mind. nochmal 100 andere
stellen. Viel mehr Stellen gibt es nicht.... noch :)

7. Wer meint, dass er vom Orakel weg skripten muss, der macht das JETZT auch
schon und da stimmt ich Boings Meinung von damals bei: Das geht mir am Arsch
vorbei, solange ich die Moeglichkeit geschaffen habe, dass man es auch fair
und ohne Skript loesen KANN. Deppen gibt es immer, die sich das Spiel
versauen, aber die kann man nicht aendern.

Mehr faellt mir im Moment nicht ein ausser, dass ich traurig bin darueber, wie
wenig meinen Artikel richtig gelesen haben bzw nicht verstehen.

Yantro

-----------------------------------------------------------------------------



Re^7: Todesreform und Anhang. (Anatol, 19. Nov 1997, 12:04:05):
~#! rn=Yantro rt=879936750 rg=entwicklung
~#! tid=879777647
Eins vorweg: Ich bin zwar Seher Level 50 - aber ein HLP bin ich deswegen
noch lange nicht, das ist meines Erachtens nicht spielerstufenabhaengig.

Ich wuerde eine Loesung, die sowohl Aktivitaet als auch Passivitaet
ermoeglicht, bevorzugen. Das heisst, ich kann die verlorenen Attributs-
punkte tatsaechlich wieder neu einsammeln (rknuddle orakel), kann aber
auch (eventuell eine laengere Zeit - sagen wir 4 Stunden je Statpunkt,
damit sich ein "Nur-Idlen" nicht lohnt) den bisherigen Weg einschlagen,
naemlich das Problem ignorieren - es loest sich (irgendwann) von selbst.

Den Schachzug "Heilstellen geschickt zusammensterben" finde ich ziemlich
doof, darauf kann man - naja, ich zumindest - gerne verzichten. Dass die
Heiltraenke - so wie sie jetzt sind - wirklich nur den einen Zweck haben,
dass sie Stupse geben (und die Heilung "fuer A***" ist), laesst sich jedoch
nicht von der Hand weisen... 

Unschluessig,
Anatol


-----------------------------------------------------------------------------



Re: Re: Todesreform und Anhang. (Key, 19. Nov 1997, 12:13:08):
~#! rn=Nixihou rt=879933666 rg=entwicklung
~#! tid=879777647
Von den Todesfolgen merkt man also so gut wie gar nichts??
Bist du ueberhaupt schonmal gestorben seit dem neuen System?
Oder hast danach probiert nicht Bluemchen zu pfluecken??

Spaetestens nach dem 2. Tod merkste es, und zwar net wenig!

Key

-----------------------------------------------------------------------------



Re^3: Todesreform und Anhang. (Grumbart, 19. Nov 1997, 12:21:59):
~#! rn=Key rt=879937988 rg=entwicklung
~#! tid=879777647
Also, ihr Weicheier:

Tot ist tot - alles andere ist unrealistisch.

Wer stirbt, sollte wieder bie Null anfangen, meinetwegen mit
dem Titel 'der blutige Anfaenger'.

Grumbart - moechte dann als Kleriker beerdigen duerfen

PS. Fuer alle, die es sonst nicht merken: *** Ironie off ***

PSS. Macht den Tod nicht zu schrecklich, sonst verderbt ihr den 
     Spielspass.

-----------------------------------------------------------------------------



Re^4: Todesreform und Anhang. (Bloodyharry, 19. Nov 1997, 14:06:27):
~#! rn=Grumbart rt=879938519 rg=entwicklung
~#! tid=879777647
Also das waere mir doch einfach noch viel zu unrealistisch. Tot sein und nur
mal kurz ein Stossgebet und *schwubs* hat man wieder einen neuen Koerper...
Wenn schon  realistisch, dann auch mit richtigen Eltern. Also los, Mutter und
Vater suchen. Und wenn sie richtich eingestimmt sind, koennen wir in neun
Monaten in freudiger Erwartung sein..
Realistisch genug?

bh - musste auch mal wieder mitsenfen

-----------------------------------------------------------------------------



Re^6: Todesreform und Anhang. (Ringor, 19. Nov 1997, 15:47:54):
~#! rn=Teddy rt=879922195 rg=entwicklung
~#! tid=879777647
Nach dem neuen System hat nur der alle Heiltraenke, der mindestens 3500
Stufenpunkte hat. Mit 3500 Stufenpunkten ist man aber (wenn man nicht Raffi
heisst) Level 35 und hat somit bis auf ganz wenige Ausnahmen keinerlei Vorteil
mehr davon, noch weiter aufzusteigen. 

Was macht das also, ob man 100 Stufenpunkte mehr oder weniger hat? 

Ringor

-----------------------------------------------------------------------------



Re^7: Todesreform und Anhang. (Aline, 19. Nov 1997, 15:49:49):
~#! rn=Ringor rt=879950874 rg=entwicklung
~#! tid=879777647

und da fragen mich immer wieder Leute, warum ich nicht ueber 35 hinaus erhoehe
;)

Aline

-----------------------------------------------------------------------------



Re^7: Todesreform und Anhang. (Mahatma, 19. Nov 1997, 16:09:08):
~#! rn=Yantro rt=879936750 rg=entwicklung
~#! tid=879777647
Moin,

im grossen und ganzen finde ich die von Yantro vorgeschlagenen Aenderungen
gut. Insbesondere gefaellt mir die Umwandlung der Heiltraenke in Heilstellen,
was ich unabhaengig vom Ausgang der Todesdiskussion auf jeden Fall einbauen
wuerde. Weiterhin begruesse ich den Plan, den Verlust der Erfahrungspunkte zu
verringern, da dies bisher Spieler mit vielen EPs schon ziemlich hart trifft
und insofern auch etwas ungerecht ist (Vielleicht trauen sich dann Slyfox usw.
sogar mal wieder in neue Gebiete ;). Der bisherige Malus auf gewisse Faehig-
keiten ist eigentlich erst nach dem 2. Tod stoerend, aber wenn die Dauer ver-
ringert werden soll, ist das ok.

Nun zu den ZTs: Die bisherige Loesung, die abgezogenen Stats innerhalb von 
weniger als einer Stunde wieder hochzuideln, ist albern und sollte auf jeden
Fall geaendert werden. Da erscheint mir die vorgeschlagene Moeglichkeit, sich
seine verlorenen Stats ueber das Orakel wiederzuholen, gar nicht so verkehrt.
Andererseits meine ich, dass einige der geaeusserten Bedenken durchaus ernst-
zunehmen sind, und koennte mich deshalb mit der Loesung anfreunden, die Stats
wahlweise mit deutlich hoeherem Zeitaufwand als jetzt wieder hochzuideln, wenn
man die ZT-Stellen nicht abklappern moechte. Das erscheint mir auch gar nicht
so schwer umzusetzen, schliesslich gibt es das Hochideln der Stats nach dem 
Tod ja schon. Damit wird man dann beiden Lagern gerecht. Den positiven
Nebeneffekt, nach einem Tod seine Heilstellen guenstiger positionieren zu
koennen, sehe ich auch; ein Selbstmord macht zwar sicher wenig Sinn, aber
frueher oder spaeter stirbt ja doch jeder mal, und dann ist das ne gute Sache.

Mahatma

-----------------------------------------------------------------------------



Re^8: Todesreform und Anhang. (Anatol, 19. Nov 1997, 16:11:32):
~#! rn=Mahatma rt=879952148 rg=entwicklung
~#! tid=879777647
Eine Anmerkung dazu: Yantro teilte mir unmittelbar nach meinem Artikel mit, 
dass Mischloesungen nicht umsetzbar seien. Eine kurze Diskussion hatte als
Ergebnis, dass er es den Spielern einfach nicht so einfach machen will. Also
scheut euch nicht, eine Mischloesung - Orakel _und_ langsam hochidlen - 
zu befuerworten ;-)

Anatol


-----------------------------------------------------------------------------



artikel Aussehen (Damien, 19. Nov 1997, 16:13:45):
Hiho!

Ab sofort (will heissen ende oder naechster Reboot) gibt's beim untersuchen
von Mitspielern auch einen kleinen Groessenvergleich.

Damien (Stolz auf seine erste C-Funktion. :) )


-----------------------------------------------------------------------------



Re^9: Todesreform und Anhang. (Mahatma, 19. Nov 1997, 16:14:01):
~#! rn=Anatol rt=879952292 rg=entwicklung
~#! tid=879777647
Ich halte Mischloesungen sogar fuer sehr leicht umsetzbar. Man nimmt einfach
die bisherige Idel-Loesung, vergroessert die Zeit, und beim Wiederfinden eines
ZTs verringert man die noch ausstehende Idelzeit um den einem ZT 
entsprechenden Betrag. Und wenn man keinen ZT sucht, wird nach der jeweiligen
Zeitspanne einfach ein ZT aus der Liste gestrichen. Fertig.

Mahatma

-----------------------------------------------------------------------------



Re: artikel Aussehen (Damien, 19. Nov 1997, 16:16:47):
~#! rn=Damien rt=879952425 rg=entwicklung
~#! tid=879952425

Hmm, auch mal ein reply auf mich selber...

Also, das neue feature funktioniert schon ab dem naechsten einloggen...

-----------------------------------------------------------------------------



Re^10: Todesreform und Anhang. (Grimmborn, 19. Nov 1997, 16:40:42):
~#! rn=Mahatma rt=879952441 rg=entwicklung
~#! tid=879777647
Ja, aber _welcher_ zt wird dann gestrichen? Einer, der durch das Orakel
vielleicht schon angekuendigt ist? Ein zufaelliger? Ein neu dazugekommener,
was bedeuten wuerde, dass diese Information (mit von Yantro erwaehnten
Auswirkungen) immer mitgespeichert und nachgehalten werden muss?
Das naemlich ist dann das eigentliche Problem.

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re^11: Todesreform und Anhang. (Astar, 19. Nov 1997, 17:24:01):
~#! rn=Grimmborn rt=879954042 rg=entwicklung
~#! tid=879777647
Hmm, wenn man die Heiltraenke (fuer die Stats) in einer eztra Liste vermerkt,
sollte es eigentlich kein Problem sein (wenn man einen findet und keinen mehr
bekommen kann werden sie halt geloescht, bzw. wenn die Todesfolgen vorbei
sind)

Astar

-----------------------------------------------------------------------------



Re: PK-sperre (Rodman, 19. Nov 1997, 17:31:12):
~#! rn=Mucks rt=878824964 rg=entwicklung
~#! tid=878824964
Verraeter!!
Lass dich ja nicht mehr im PK-Mud blicken Mucks!

*grunz* ;o)

-----------------------------------------------------------------------------



Re^11: Todesreform und Anhang. (Wurzel, 19. Nov 1997, 19:02:14):
~#! rn=Grimmborn rt=879954042 rg=entwicklung
~#! tid=879777647
nichts einfacher als das. man nimmt den letzten aus der liste, also den
zuletzt zugeteilten zt.
zu realisieren ist das nicht schwer. und das den spielern "nicht einfach 
machen wollen" laesst sich durch geeignete wahl der dauer pro punkt sicher
einstellen. wenn keiner suchen geht, war es zuwenig.

wurzel

-----------------------------------------------------------------------------



Re: Re: Todesreform und Anhang. (Kartoffel, 19. Nov 1997, 21:33:44):
~#! rn=Hangover rt=879778305 rg=entwicklung
~#! tid=879777647
Hangovers Idee klingt recht gut.
Ich hoffe mal das Yantros Hinweis auf Harakiri zur ZT-Verschiebung nicht
ernstgeminet war, ich dachte es ginge darum, den Tod _unangenehmer_ und nicht
nuetzlicher zu machen.

Kartoffel

-----------------------------------------------------------------------------



Re^12: Todesreform und Anhang. (Catweazle, 19. Nov 1997, 21:50:18):
~#! rn=Wurzel rt=879962534 rg=entwicklung
~#! tid=879777647

Neee, so einfach isses auch wieder nicht. 
Andersrum muesses ja auch funktionieren. Die 'moeglichen' ZTs mussen
ja auch wieder verschwinden, wenn man sich entschlossen hat abzuidlen. 
Eine eigene Liste muss da also schon her. Ich denke die verwaltung dieser
Liste duerfte das eigentliche Problem dabei sein.
YTC

-----------------------------------------------------------------------------



Re^13: Todesreform und Anhang. (Nachtwind, 19. Nov 1997, 21:54:50):
~#! rn=Catweazle rt=879972618 rg=entwicklung
~#! tid=879777647
Hmm, werden die zts denn nicht erst beim abholen des spruches aktiv?
dann koennte man das ja so machen, das einmal abgeholte zts auch 
gesucht werden muessen. dann hole ich mir nach nem tod und 4 
verlorenen statpunkten halt 2 sprueche ab und idle 2 statpunkte weg
oder so. wer sich dann 4 sprueche holt, kann auch keine punkte mehr
idlen. oder geht das am problem vorbei? *gruebel*

nachtwind

-----------------------------------------------------------------------------



Re^14: Todesreform und Anhang. (Ringor, 19. Nov 1997, 21:56:37):
~#! rn=Nachtwind rt=879972890 rg=entwicklung
~#! tid=879777647
Bei der Methode kannst Du nur leider nicht mehr anhand der Beschreibung des
ZTs entscheiden, ob Dir der Aufwand fuer den ZT zu hoch ist oder nicht.

Sprich: Du musst schon vorher wissen, ob Du idlen willst oder suchen. Einen ZT
abholen und dann kneifen ist so nicht ;-)

Ringor

-----------------------------------------------------------------------------



Re^15: Todesreform und Anhang. (Nachtwind, 19. Nov 1997, 22:08:56):
~#! rn=Ringor rt=879972997 rg=entwicklung
~#! tid=879777647
Und wenn man's so macht, das die Zts je nach menge der fehlenden
Statpunkte durch Tode aus einer anderen Gruppe genommen werden?
Wenn ich 7 Statpunkte durch Tod verloren hab, und ich geh zum Orakel,
kriege ich nen leichten. Wenn mir nur 1 od. 2 punkte fehlen, bekomme
ich eben automatisch nen harten brocken. dann weiss ich zwar die
sprueche nicht genau, aber ich kann doch den aufwand abschaetzen.

Nachtwind

-----------------------------------------------------------------------------



Re^16: Todesreform und Anhang. (Anatol, 20. Nov 1997, 00:51:02):
~#! rn=Nachtwind rt=879973736 rg=entwicklung
~#! tid=879777647
Hmmm, mein Gedanke war eher der: Es gibt Gebiete, die ich nur sehr ungern
betrete - entweder weil ich mir zum Erforschen sehr viel Zeit nehmen will
(und ich mich nicht zu ZT-Fundstellen schleifen lassen mag), es gibt auch
solche, die ich aus ideologischen oder sonstigen Gruenden einfach nicht 
betrete (Pa[dt].*/Morgo.*/etc.) und es gibt 1093 Zaubertraenke, die mir 
noch fremd sind.
Ich finde es nett, wenn ich die Moeglichkeit habe, bei beispielsweise 6
Attributspunkten Verlust moeglichst viele davon sofort wieder einzusammeln,
niemand laeuft gerne schwaecher herum als noetig. Aber ich habe absolut 
keine Lust, mich permanent mit dem Gedanken "Jaaa, und da muss ich noch
dringend einen ZT abholen" belasten zu muessen - lieber verzichte ich 5 oder
6 Stunden auf einen Attributspunkt (oder eben 12 fuer 2 - jemand der auf
Toeters Insel metzeln war, kann ohnehin auch mit Abzuegen, die laenger als
30 Minuten dauern, leben ;)), bis sie sich von selbst wieder einstellen oder
vom Orakel oder Lars@Unterwelt oder sonstwo abgeholt werden koennen.

Verbesserung waere, dass sinnloses Idlen nicht mehr noetig ist.
Nur weil es fuer den Durchschnittsspieler moeglicherweise eine
geschicktere Loesung ist, muss es nicht "technisch nicht umsetzbar" sein.

Anatol, war schon immer verbohrt :)


-----------------------------------------------------------------------------



Re^16: Todesreform und Anhang. (Obermotz, 20. Nov 1997, 07:54:26):
~#! rn=Nachtwind rt=879973736 rg=entwicklung
~#! tid=879777647
Hm, vielleicht bin auch genauso ein Wurstprogrammiere, wie ich ein
Wurstspieler bin. Ich finde auf jeden Fall die Idee mit der Auswahl zwischen
Ideln und Sammeln gut.
Meine Vorstellung fuer die Umsetzung sieht so aus: Die Zeit zum Abideln pro
Statpunkt koennte so bei 30 min liegen. Bei 4 verlorenen Punkten sind das 2
Online-Stunden. Das sollte wohl eine ausreichende Zeitstrafe sein. Man hat
kann die zeit durch das Sammeln von Spezial-ZTs verkuerzen. Diese Spezial-ZTs
werden in einer extra Liste abgespeichert und geloescht, wenn der Spieler in
abgeholt hat (logisch, oder?) bzw. wenn eine ausrede Zeitspanne (in meinem
Bsp. 30 min) vergangen ist. Welcher von den Spezial-ZTs geloescht wird, kann
per Zufall bestimmt werden. Als Spieler kann man eben Pech haben, wenn man
nicht schnell genug war, um die leichten ZTs abzuholen. Mir ist klar, dass
sich mit diesem Verfahren sich nicht die Heilstellen "strategisch" planen
lassen. Aber das ist ein anderes Problem.
Das ist meine Vorstellung. Aber wie gesagt: vielleicht bin ich nur ein
Wurstprogger.

OM

-----------------------------------------------------------------------------



Re^17: Todesreform und Anhang. (Obermotz, 20. Nov 1997, 07:56:55):
~#! rn=Obermotz rt=880008866 rg=entwicklung
~#! tid=879777647
Eine Re auf den eigenen Artikel :)
Entschuldigt die teilweise schlechte Ausdrucksform. Aber ich aber mit einem
reinem Telnet und kann manchmal schlecht abschaetzen, wie weit ich etwas
loeschen muss. Ich hoffe, der Inhalt ist trotzdem noch verstaendlich.

OM

-----------------------------------------------------------------------------



Re^18: Todesreform und Anhang. (Morgoth, 20. Nov 1997, 08:49:27):
~#! rn=Obermotz rt=880009015 rg=entwicklung
~#! tid=879777647
Hey, 
vielleicht schaffen wir diesmal das Re^1000 ohne pfuschen.
Ich denke dass so langsam genug vorschlaege mit pro und contra diskussionen
gefallen sind und dass sich jetzt die dafuer zustaendigen (Yantro, ??)
kuemmern muessen.
M*

P.S.: Anatol, warum traust Du Dich nicht in meine Gebiete?

-----------------------------------------------------------------------------



Statverlust (Gorog, 20. Nov 1997, 11:21:07):
Ich finds eigentlich niht so toll die Stats zu verliehren. Natuerlich kann man
so aktiv bestimmen wie schnell man seine Todesfolgen beendet, allerdings war
ich bei denen die ich hab schon maechtig am schwitzen und bin froh sie endlich
zu haben. Abgesehen davon , dass alle meine aktuellen Zts in Questgebiet
liegen (bis auf 1ner), ist es doch recht beschwerlich an Zts wie den kaffe im
Hobbitdorf zukommen. Da kann man zwar sagen: besorg dir hilfe. Schoen und gut
allerdings scheint kaum jemand dazu bereit zusein mir dabei zu helfen (oder
bessergesagt meinem 2.ie (level 20)).  
Als Loesung hab ich momentan keine produktiven Ideen, ich finde die Mischung
Zeit/Zt (von Alpha glaube ich) relativ nett (was allerdings Lag bedeutet oder
so). 
Meine Meinung: Wenns nicht anders geht mach ich mit (hab zwar keine ahnung von
den Zt-stellen), aber seine soll solls sein (vielleicht sagen mir dann meine
Freunde auch mal wo meine ZTs dann liegen (:, Wozu sind sie denn sonst gut
*grins*)

Gorog , nicht so ganz begeistert, aber auch kein Vielsterber.

-----------------------------------------------------------------------------



Re^12: Todesreform und Anhang. (Acrimon, 20. Nov 1997, 13:10:10):
~#! rn=Padreic rt=879787519 rg=entwicklung
~#! tid=879777647
Krank ist nicht das jetzige System, sondern krank sind die Leute, die meinen,
den temporaeren Skillverlust abideln zu muessen.
Nach einem Tod ist man nun einmal schwaecher, geistig noch mit dem Tode
beschaeftigt und deshalb weniger konzentriert im Kampf usw.
Ich finde das sinnvoll und moechte, dasz das jetzige System bleibt.
Wer sich nicht an schwaechere Monster herantraut oder nicht weisz, was eine
MPA ist, oder nicht weisz, dasz es sehr viel bringt, neue Gebiete zu
durchsuchen, der hat das System einfach nicht kapiert und erhoeht selbst seine
eigene Strafe, indem er idelt.

Acrimon, der Rote Ritter

-----------------------------------------------------------------------------



Re^5: Todesreform und Anhang. (Qitess, 20. Nov 1997, 15:30:25):
~#! rn=Gnome rt=879780614 rg=entwicklung
~#! tid=879777647
HI !

Ich stimme Deinem Artikel voll zu, Gnome. Ich habe noch nicht alle ZTs
gefunden, weil ich es momentan irgendwie leid bin zu suchen. Und ich habe
absolut keine  Lust da wieder loszusuchen, wenn ich mal gestorben bin.

Ich bin gegen dir Todesreform und Anhang.

Allerdings finde ich den Vorschlag von Wurzel gar nicht so schlecht, dass man
es sich aussuchen kann, ob man schnell die ZTs suchen geht oder ob man lieber
hochideln will. Aber man darf dann das hochideln auch nicht auf tierisch lange
hochsetzen.

QI**  ist uebrigens auch gegen das neue Kneipenkonzept, auch wenn
        das jetzt nicht hierher soll...


-----------------------------------------------------------------------------



Re^17: Todesreform und Anhang. (Acrimon, 20. Nov 1997, 16:37:40):
~#! rn=Obermotz rt=880008866 rg=entwicklung
~#! tid=879777647
Ich finde, die jetzige Strafe fuer Tode ist viel zu schwach.
Sie ist zum Teil auch falsch angesetzt.
Denn es war niemals beruecksichtigt, dasz Spieler oder Seher so dumm
sein koennen, nicht zu kapieren, dasz temporaer begrenzte
Schwaechungen kein Grund zum Ideln sind.

Daher schlage ich folgende Aenderungen vor:

1. Die temporaer begrenzten Todesfolgen werden nicht mehr in
Onlinezeit, sondern in Realzeit gemessen. Da nicht alle Spieler
24 Stunden taeglich online sind, empfehle ich, die Zeiten entsprechend
anzupassen:
Statt 9 Stunden Onlinezeit pro Tod jetzt etwa 5 Tage Realzeit pro Tod.
Dann koennen die Spieler, die bisher gemeint haben, unbedingt ideln
zu muessen, weil sie vergessen haben, dasz es schwaechere Monster als die
Hydra und unbekannte Gegenden und Kanaele und mpa gibt, einfach ausgeloggt
bleiben und zahlen nichts an die Telekom.
Die anderen, die auch das bisherige System kapiert haben, koennen
weitermachen wie bisher.

2. von den "Todesfolgen" im jetzigen System merke ich so gut wie
nichts - ich kann mit Todesfolgen ziemlich genausogut kaempfen
wie ohne. Daher wuensche ich mir haertere Todesfolgen.
Gildenspezifische zusaetzliche Abzuege waeren da wuenschenswert.

3. Die temporaeren Statabzuege sind zu kurz.
Wenn ich nach 15 Minuten nach dem Tod schon wieder volle Stats habe,
dann ist das eindeutig zu schnell.
Ich empfehle 30 Minuten pro einzelnem Statpunkt (das sind 2 Stunden
fuer 4 Statpunkte). Besser noch laenger.

4. Die Erfahrungspunkt-Abzuege sind momentan den Sehern egal und
kosten den Nicht-Sehern recht viel.
Daher sollten wir wieder etwas einbauen, damit auch fuer Seher
Erfahrungspunkte wieder wichtig werden.
Hat jemand eine Idee?
Wie waers, wenn in jede Gilde eine EP-Anforderung eingebaut wird?

5. Wer unbedingt will, sollte sich die Zeit der Abschwaechung verkuerzen
koennen. Jedoch sollte dies nicht durch Abgrasen von ZT-Stellen geschehen,
denn Yantro wuenscht das aus irgendeinem seltsamen Grund nicht.

5.a) Der Grund, dasz es nicht progbar waere, ist nicht wahr, und es
verursacht auch keinerlei Lag und beansprucht nur sehr wenig Speicher,
naemlich bei jedem Spieler mit Todesfolgen die Position der verlorenen ZT
(das sind bei am Tag durchschnittlich eingeloggten 100 Spielern, von
denen jeder ca alle 100 Stunden stirbt, nur 36 zu merkende ZT,
auf deren Strukturen auszerdem nur beim Tod, beim ZT-Finden und beim
Beenden der Todesfolgen zugegriffen werden musz).
Ich frage mich, wem Yantro da einen Esel aufbinden will.

5.b) Wenn wir Yantro umstimmen koennen, so dasz man die temporaeren
Todesfolgen auch durch ZT-Holen verkuerzen kann, so wuerde ich das sehr
begrueszen. Jedoch erscheint mir das ZT-Holen arg einfach (viel zu
einfach) und wuensche mir eine schwerere Loesung.
Gut ist es, wenn man sich entscheiden kann, ob man beim Orakel einen Spruch
holt, und dann diesen geholten ZT auch holen _MUSZ_ (ihn nicht mehr
abideln kann). Dann kann man nicht mehr kneifen.
Jedoch erscheint mir das immer noch zu einfach.

5.c) Ich empfehle also eine andere Moeglichkeit zum Verkuerzen der
Todesfolgen, zum Beispiel durch Metzeln von vielen Monstern oder Loesen
von Abenteuern. Das ist auch eine schoene Begruendung, weil man sich
beim Metzeln und Abenteuerloesen von den Gedanken an den vergangenen
Tod ablenkt.
Jedenfalls steht dem Spieler dann frei zu entscheiden, ob er sich die
Muehe macht, die Todesfolgen etwas abzuschwaechen.

6. Da dem Spieler freisteht dies zu entscheiden, wird er sich fuer den
guenstigsten Fall entscheiden (naemlich: mit nicht allzuviel Aufwand die
Todesfolgen abschwaechen).
Das schwaecht die Todesfolgen insgesamt wieder ab im Gegensatz zum jetzigen
System.

Nun zum Thema Heiltraenke:

7. Wenn ein Spieler seine Heiltraenke selbst setzen kann, dann wird er
sich die leichtesten Stellen aussuchen.
Daher sollte entweder das Aussuchen der Stellen ziemlich schwer sein
oder nicht moeglich sein.
Wenn es nicht moeglich ist, dann sollten vom Programm die Heilstellen
fuer alle Spieler in derselben Schwierigkeitsklasse gesetzt werden.
Gut waere beispielsweise (wenn es 10 Schwierigkeitsklassen gaebe):
Je eine Heilstelle in Schwierigkeitsklasse 2, 4, 6 und 8.

8. Wenn es fuer Spieler moeglich sein soll, die Stellen der Heiltraenke
selbst zu setzen, dann soll es schwierig sein und nicht durch den Tod
geschehen. Denn der Tod soll keine Belohnung sein, sondern eine Strafe.
Zum Beispiel koennte das Auswaehlen einer Heilstelle jeweils eine Belohnung
von vier verschiedenen Abenteuern sein.

Acrimon, der Rote Ritter

-----------------------------------------------------------------------------



Re^18: Todesreform und Anhang. (Mars, 20. Nov 1997, 17:44:56):
~#! rn=Acrimon rt=880040260 rg=entwicklung
~#! tid=879777647
Ich haeng den Artikel mal hinten dran, keine Ahnung, auf welchen ich
mich beziehen wollte.


Es gibt hier im Mud verschiedene Arten zu sterben (hier mal ne Liste der
Moeglichkeiten, die mir spontan eingefallen sind):

a) Man greift einen NPC an, der einem so viele LPs in einer Runde ab-
   zieht, dass man stirbt, weil man die Vorsicht zu niedrig gesetzt
   hatte und nicht rechtzeitig den Raum verliess

b) Man greift einen NPC an wie in a) und stirbt, weil der NPC einen oder
   alle Ausgaenge versperrt, und man nicht oder nicht rechtzeitig den
   richtigen Ausgang entdeckt hat

c) Tod durch ein Monster wie a), wobei das Monster von selbst angegrif-
   fen hat, d.h. man hatte nicht die Gelegenheit, sich in Ruhe auf die
   Gefahr einzustellen

d) Tod durch eine Krankheit, die einem langsam oder schnell die Lebens-
   energie raubt

e) Tod durch Manipulation oder Untersuchen von Gegenstaenden im Raum,
   etwa das Druecken eines Knopfes oder Lesen eines Buches ...

f) Tod beim Betreten eines Raums, weil man die Warnungen im vorherigen
   Raum nicht erkannt oder falsch eingeschaetzt hat.

g) diverse andere Todesarten


Wie man sieht, gibt es eine Vielzahl von Moeglichkeiten, einen Spieler
zu Lars zu befoerdern, wobei ich einige fuer gerecht, andere fuer eher
hinterhaeltig oder unfair dem Spieler gegenueber halte.

Wenn deshalb ueberhaupt eine Verschaerfung der Todesfolgen gewuenscht
ist, so halte ich es fuer durchaus angemessen, auch die Art, in der der
Spieler durch einen Tod bestraft wird, flexibel zu gestalten. Es gibt
doch anscheinend mindestens zwei Gruppen von Spielern: Die einen wollen
ihre ZTs moeglichst sofort wieder haben (mit Hilfe eines guten Scripts
und einer Neuauflage der ZT-Listen sicher schon teilweise realisiert),
die anderen wollen wie bisher die Zeit abideln, um nicht bei dem x-ten
Wiederbeschaffungsversuch noch mehr ZTs zu verlieren.

Fuer einen guten Magier sollte es doch wirklich kein Problem sein, mit
wenig Programmieraufwand ein Objekt etwa in der folgenden Art zu schrei-
ben:

Das Objekt enthaelt die Nummer des ZTs, die Art des Malus (Geschick-
lichkeit/Ausdauer/..) und das Alter des Spielers zum Zeitpunkt des
Todes. Wenn man einen ZT findet, wird ueberprueft, ob er schon in der
Liste der Mali ist, dann wird er entfernt. Andernfalls wird meinetwegen
alle 15 Minuten die Liste durchsucht nach Objekten, deren Wartezeit ab-
gelaufen ist (Differenz des aktuellen Alters des Spielers zum Alter
beim Zeitpunkt des Todes), die werden dann auch entfernt. Es gibt also
zwei ZT-Listen, eine fuer neue ZTs und eine fuer Mali, damit die Gesamt-
zahl von 20 pro Art nicht ueberschritten wird.

Das ganze sollte relativ wenig Lag verursachen (im Vergleich zu dem, was
beispielsweise einige Gilden in einer Kampfrunde erzeugen) und der indi-
viduellen Neigung des Spielers entgegenkommen.



Mal zu was anderem:

Hier ist staendig von der Bestrafung der Spieler die Rede.

Wie waere es mit einer Bestrafung von Magiern / Regionen, die durch eine
_ueberdurchschnittlich_ hohe Quote von "unfairen" Toden auffallen? Dazu
zaehle ich im Prinzip alle Punkte ausser a) in der obigen Liste, denn
nur bei a) hat der Spieler die vollstaendige Kontrolle ueber die Gefahr
eines Tod und traegt daher auch selbst die Schuld.

Es gibt ja im Moment mehrere solcher Regionen, die durch eine hohe
Todeswahrscheinlichkeit auffallen (ich war noch nicht dort, und ver-
spuere auch keine Lust dazu).

Oder wie waere es alternativ mit einer Schutzfaehigkeit fuer Spieler,
die lieber Bluemchen pfluecken als Monster metzeln wollen (z.B. wahl-
weise voruebergehende Immunitaet gegen Autoattack-Monster, natuerlich
dann ohne Moeglichkeit zum Angreifen der NPCs).

Damit koennte vor allem bei Lowlevel-Kaempfern (dazu zaehle ich mich als
Level-56-Abenteurer auch) der Frust vor unnoetigen Toden gemindert und
die Lust am Erforschen neuer Regionen gesteigert werden. Man ist ja zur
Zeit schon fast darauf angewiesen, den hohen Rang in einer Gilde zu
belegen, einen Trupp Spaeherzweities und Bodyguards zu rekrutieren oder
freien Einblick in den Source-Code der zu untersuchenden Region zu ha-
ben, um sich in vielen neuen Gebieten ueberhaupt noch unbeschwert
bewegen zu koennen.

Wobei wohl eher zweifelhaft ist, ob es sich ueberhaupt lohnt, sich ein
Gebiet anzuschauen, dass sich nur durch wandelnde Spieler-Kill-NPCs
auszeichnet, wahrscheinlich dienen sie eh nur dazu, das einzige origi-
nelle Detail und die zwei Forscherpunkte im Gebiet vor ungebeteten Augen
zu schuetzen. *IRONIE OFF*

Mars - haelt die Fahne der Abenteurer hoch


P.S.
ups, das wichtigste vergessen:

* ICH-BIN-DER-GROESSTE-UND-DU-KANNST-MICH-MAL-MODE ON *
Lies mal sorgfaeltig, was ich geschrieben habe, obwohl Du das ja eh
nicht verstehst, und .. Denkt mal drueber nach!
* ICH-BIN-DER-GROESSTE-UND-DU-KANNST-MICH-MAL-MODE OFF *

-----------------------------------------------------------------------------



Re^19: Todesreform und Anhang. (Key, 20. Nov 1997, 18:11:13):
~#! rn=Mars rt=880044296 rg=entwicklung
~#! tid=879777647
Eine Art Superschutz?
Oki einverstanden, da fallen mir schon einige Sachen ein das auszunutzen ;)

Key

-----------------------------------------------------------------------------



Re^20: Todesreform und Anhang. (Mars, 20. Nov 1997, 18:21:02):
~#! rn=Key rt=880045873 rg=entwicklung
~#! tid=879777647
Was weiss ich .. Vorwarnung, wenn ich den Raum betreten will, oder sowas

-----------------------------------------------------------------------------



Re^21: Todesreform und Anhang. (Key, 20. Nov 1997, 18:32:56):
~#! rn=Mars rt=880046462 rg=entwicklung
~#! tid=879777647
Hmm fallen mir auch genug Moeglichkeiten zu ein ... Und ueberhaupt, sollte
sowas kommen will ich aber das die epse aufgestockt werden, und zwar gewaltig!
Von mir aus kann man sich entscheiden ob epse oder fp fuer den levelaufstieg
hauptverantwortlich sind.

Key

-----------------------------------------------------------------------------



Re^22: Todesreform und Anhang. (Damien, 20. Nov 1997, 18:44:39):
~#! rn=Key rt=880047176 rg=entwicklung
~#! tid=879777647

Hmm, wen's interessiert, die Forscher-Gilde und aehnliche Projekte, an denen
einige Leute (inkl. mir) arbeiten, wird sowas bieten, wenn uns Paracelsus das
durchgehen laesst. Allerdings werden die HLPs wie Key die Gilde ansonsten
ziemlich lasch finden, da es mit Sicherheit eine reine Bluemchenpfluecker-
Gilde wird. Also, fuer die LLPs gibt's mal irgendwann sowas...

Damien.

-----------------------------------------------------------------------------



Re^23: Todesreform und Anhang. (Key, 20. Nov 1997, 18:46:12):
~#! rn=Damien rt=880047879 rg=entwicklung
~#! tid=879777647
Hmm und mit der Zeit entwickelt sich diese sog. Bluemchenplueckergilde zu ner
reinen Metzelgilde ...
Siehe Beispiel Bierschuettler, die reine Spassgilde.

Key, interessiert sich nur fuer chaos! :)

-----------------------------------------------------------------------------



Re^24: Todesreform und Anhang. (Wurzel, 20. Nov 1997, 19:43:44):
~#! rn=Key rt=880047972 rg=entwicklung
~#! tid=879777647
waere schade, wenn das tatsaechlich so kaeme. die derzeit existierenden
gilden sind doch mit ausnahme der abenteurer im wesentlichen darauf angelegt,
gut metzeln zu koennen und sonst nix. da gibts also genug auswahl, nur fuer
leute, die das staendige massenmorden nicht unbedingt wollen, sondern lieber
mal in ruhe das mud erforschen, gibts bisher garnichts. da bleibt in der
regel nur das metzeln oder chatten, kein zwischenweg.
insofern ein aspekt, der in der bisherigen (und allen vorangegangenen)
todesdiskussion mal wieder untergegangen ist: man kann tode oft auch einfach
vermeiden oder es zumindestens versuchen. viele beklagen, dass das mg zu
einem reinen metzelmud verkommt, auch weil die entwicklung fast
ausschliesslich
auf die beduerfnisse der metzler abgestellt ist. eine forschergilde, die sich
beispielsweise auf schutzsprueche beschraenkt (die duerfen dafuer auch gut
sein) waere eine echte bereicherung.

wurzel

-----------------------------------------------------------------------------



versende artikel...? (Avalon, 21. Nov 1997, 02:39:44):
Hi,

mit 'versende artikel [nr] an <adresse>' sollte man doch
Zeitungsartikel mailen koennen. Allerdings scheint das bei
Spielern nicht zu gehen, denn es kommt immer bloss der Text
"Du musst in ein Postamt gehen, um etwas versenden zu koennen."
auch wenn man in einem solchigen steht... vielleicht koennte
sich mal wer dessen annehmen. (als Seher klappts hingegen)

lg avalon.-

-----------------------------------------------------------------------------



Re^25: Todesreform und Anhang. (Jasper, 21. Nov 1997, 10:38:11):
~#! rn=Wurzel rt=880051424 rg=entwicklung
~#! tid=879777647
'viele beklagen, dass das mg zu einem reinen metzelmud verkommt...'
meinen wir dasselbe mg????? *wundert sich nun aber wirklich*

-----------------------------------------------------------------------------



Re^3: Todesreform und Anhang. (Nixihou, 21. Nov 1997, 13:48:10):
~#! rn=Gnome rt=879934870 rg=entwicklung
~#! tid=879777647
1. sorry, ich sterbe meisst nicth 2 mal hintereinander...
2. warum sollten die abzuege fuer gilden und rassen nicht unterschiedlich
sein?
  (insgesammt natuerlich gleich,, einer mehr int-abzug ein aderer was
anderes)
3. wer sagt denn das du nun SOOO viel wie du es beschreibst macht musst
  um wieder normal zu sein... 9-18 h abideln ist jedenfalls nicth die loesung

nixihou

-----------------------------------------------------------------------------



Re^26: Todesreform und Anhang. (Ark, 21. Nov 1997, 13:56:13):
~#! rn=Jasper rt=880105091 rg=entwicklung
~#! tid=879777647
Das liegt aber an uns Magiern, wenn viele beklagen, dass wir
zu einem Metzelmud 'verkommen'. Ich freue mich eher darueber,
dass man hier vieles machen kann: questen, metzeln, labern,
ZT suchen, sich in den Gilden hocharbeiten (auch wenn es
jetzt manchmal nicht tierisch interessant ist).
So ein guter Mix sollte beibehalten werden, da kommt es auf
uns Magier an, was und wieviel wir den Spielern halt bieten.

Naja, in den 3 Jahren meiner Mud-Existenz hat sich im
Prinzip nicht sooo viel zum 'Schlechteren' gewendet, es ist
halt nur anders geworden. Und so wird es auch weitergehen:
Alte Magier gehen, und andere, mit neuen Ideen, ruecken nach.
Sich dagegen zu wehren ist eh sinnlos :-).



              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Laeden: Bug oder Feature? (Pra, 21. Nov 1997, 15:16:01):
moin moin,

mir ist mal in den Laeden was aufgefallen:
Wenn man was in einem LAden kaufen will, von dem man weiss, dass es das da
auf jeden Fall gibt (z.B. Knutschring im Zwergenladen), und in den Laden
geht, dort *nicht* 'zeige' tippt, sondern direkt 'kaufe knutschring' kommt
oefters sowas wie 'Das kann ich im Lager nicht finden.'

Wenn man dann 'zeige' eintippt, wird der Knutschring angezeigt als vorhandene
Ware. Danach kann man ihn auch kaufen.

Also, meine Frage: Bug oder Feature?

Pra.

-----------------------------------------------------------------------------



Todesreform und Anhang (Phygos, 21. Nov 1997, 15:55:24):
Kleine Anmerkung
Es gibt allerhand erfolgreiche Muds, in denen es gerkeine Zt`s gibt.
Dort erkauft man temporaere Stats ueber verbrauch an EPs ( metzelpunkte ), und
permanente Stats erhaelt man fuer Ap`s  also fuer geloeste Abenteuer. 
Eine Umstellung auf dieses Systhem waere kein Beinbruch fuer das MG.
1.) spart es endlos Lange Diskussionen
2.) macht es auch Anfaengern die Sache leichter
3.) Duerfte dabei reichlich Platz auf der Platte frei werden
Das wars    
Phygos

-----------------------------------------------------------------------------



Re: Laeden: Bug oder Feature? (Key, 21. Nov 1997, 15:55:49):
~#! rn=Pra rt=880121761 rg=entwicklung
~#! tid=880121761
*gruebel* Ich tippe so gut wie nie zeige ...
Aber beim ring nehme ich an das der werst bei zeige geladen wird ...

Key

-----------------------------------------------------------------------------



Re: Laeden: Bug oder Feature? (Anatol, 21. Nov 1997, 15:55:53):
~#! rn=Pra rt=880121761 rg=entwicklung
~#! tid=880121761
Das ist ein Bug, denn der Lagerraum des Ladens wird erst bei "zeige" geladen,
falls er noch nicht geladen ist, nicht bei "kaufe" oder gar beim Betreten
des Ladens. 

Anatol :)


-----------------------------------------------------------------------------



Re^19: Todesreform und Anhang. (Bambulko, 21. Nov 1997, 16:17:50):
~#! rn=Mars rt=880044296 rg=entwicklung
~#! tid=879777647
Dann spiel doch einfach als Geist. Dann kannst Du keiner angreifen und
ungekehrt auch :-)

Bambulko


-----------------------------------------------------------------------------



Re^20: Todesreform und Anhang. (Yantro, 21. Nov 1997, 18:24:31):
~#! rn=Bambulko rt=880125470 rg=entwicklung
~#! tid=879777647
Ok.
Danke fuer eure regen Meinungen und Ideen.. ich werd mir einen Teil davon
durch den Kopf gehen lassen und dann wohl auf eine Mischloesung kommen.
Genaueres wird dann zu sehen sein, fragt mich jetzt nix konkretes. Ansonsten
wuerd ich die Diskussion hier gern abbrechen, denn langsam drehen wir uns im
Kreis.

Yantro

-----------------------------------------------------------------------------



Re: Re: Laeden: Bug oder Feature? (Teddy, 22. Nov 1997, 00:51:04):
~#! rn=Key rt=880124149 rg=entwicklung
~#! tid=880121761
Ich habe das selbe auch schon in der CHaosgilde im Laden mit der Kneipe
bemerkt

Teddy

-----------------------------------------------------------------------------



Re^8: Todesreform und Anhang. (Fyt, 24. Nov 1997, 17:53:26):
~#! rn=Hobo rt=879836954 rg=entwicklung
~#! tid=879777647

Wenn wir schon soweit sind: Es soll sich doch jeder selbst raussuchen,
wie er seine Tode bestraft haben will ;-)

Fyt, heute endlich mal konstruktiv.

-----------------------------------------------------------------------------



Re^9: Todesreform und Anhang. (Zorro, 24. Nov 1997, 18:45:49):
~#! rn=Fyt rt=880390406 rg=entwicklung
~#! tid=879777647
Also wenn tanke und todesreform gleichzeitig kommen wuerde ich als strafe
akzeptieren bis zum naechsten reboot das alte tanksystem benutzen zu muessen .

Gruss Zorro

-----------------------------------------------------------------------------



Re: Re: Laeden: Bug oder Feature? (Pra, 25. Nov 1997, 14:16:52):
~#! rn=Anatol rt=880124153 rg=entwicklung
~#! tid=880121761
Jou, vielen Dank fuer die Beantwortung meiner Frage.

Jetzt weiss ich wenigstens, dass es ein bug ist :-)

Hey, fuehlt sich denn keiner der nicht ausgelasteten Magier berufen, diesen
bug zu beseitigen?

Gruss, Pra.

-----------------------------------------------------------------------------



Re^3: Laeden: Bug oder Feature? (Wurzel, 25. Nov 1997, 19:23:14):
~#! rn=Pra rt=880463812 rg=entwicklung
~#! tid=880121761
die "nicht ausgelasteten magier" sind im regelfall die, die eh keine ahnung
haben, wie man einen solchen bug behebt. auch wenn es nur ein einzeiler ist.

wurzel

-----------------------------------------------------------------------------



Sicheres Mailsystem (Hate, 26. Nov 1997, 11:29:21):
Hi,

ich habe ein neues Maildelivery script von Woody installiert.
Damit sollten nicht mehr so viele Mails verloren gehen ;-)

Hate

-----------------------------------------------------------------------------



Re: Sicheres Mailsystem (Key, 26. Nov 1997, 12:33:56):
~#! rn=Hate rt=880540161 rg=entwicklung
~#! tid=880540161
Klappt es dann auch wieder Mails ins MG zu schicken?

Aber schonmal Danke :)

Key

-----------------------------------------------------------------------------



Reboot (Catweazle, 26. Nov 1997, 14:22:33):
And for the last time (hoff ich)...

Wegen defektem FTP muss der Rechner neu gestartet werden
   ----> Mud-Reboot

Yours truly,
     Catweazle

PS: Noch ne gute Nachricht. Der absturzfoerdernde Bug im driver ist auch 
    gequickfixed.

-----------------------------------------------------------------------------



Re: Reboot (Morgoth, 26. Nov 1997, 14:32:37):
~#! rn=Catweazle rt=880550553 rg=entwicklung
~#! tid=880550553
Naja, quickfix = alter bug behoben, 3 neue eingebaut ???
M*

-----------------------------------------------------------------------------



Re: Re: Reboot (Marcus, 26. Nov 1997, 15:45:41):
~#! rn=Morgoth rt=880551157 rg=entwicklung
~#! tid=880550553
Bei if (!pc) goto weitweg; kann man kaum was falschmachen

Ciao, Marcus

-----------------------------------------------------------------------------



Re^3: Reboot (Wurzel, 26. Nov 1997, 20:10:31):
~#! rn=Marcus rt=880555541 rg=entwicklung
~#! tid=880550553
oh doch. gerade die einzeiler haben es in sich, die sind ja sooo einfach... :)

wurzel

-----------------------------------------------------------------------------



Re: Reboot (Wurzel, 26. Nov 1997, 20:18:41):
~#! rn=Catweazle rt=880550553 rg=entwicklung
~#! tid=880550553
der reboot haette nicht sein muessen. ftp geht noch immer nicht, das einzige
was sich geaendert hat ist die message :(

wurzel

-----------------------------------------------------------------------------



Re: Re: Reboot (Damien, 26. Nov 1997, 20:19:21):
~#! rn=Wurzel rt=880571921 rg=entwicklung
~#! tid=880550553
Psst, verrat doch 'net alles.

Damien.

-----------------------------------------------------------------------------



Re: Re: Reboot (Catweazle, 26. Nov 1997, 20:23:13):
~#! rn=Wurzel rt=880571921 rg=entwicklung
~#! tid=880550553
Hat aber nen anderen Grund ...
Der ftpd-deamon startet nicht, und zwar weil ihm ne libc.cat fehlt ....
wenn jemand weiter weiss ...
YTC

-----------------------------------------------------------------------------



Re^3: Reboot (Sharia, 26. Nov 1997, 20:23:49):
~#! rn=Catweazle rt=880572193 rg=entwicklung
~#! tid=880550553
 hmmmmm .cat ? das hoert sich genau nach DIR an :-)
*senf* Sharia

-----------------------------------------------------------------------------



Re^3: Reboot (Morgoth, 27. Nov 1997, 07:28:53):
~#! rn=Catweazle rt=880572193 rg=entwicklung
~#! tid=880550553
Also wenn einer fuer files, die auf .cat enden zustaendig ist, dann du ;-))
M*

-----------------------------------------------------------------------------



Forscher-Brainstorming (Damien, 27. Nov 1997, 16:30:29):
Hoi, ich wollte mal einfach anfragen, ob jemand Ideen hat, was denn die
Forscher alles koennen sollen. Ich habe zwar schon ein Konzept, koennte aber
noch ein paar Ideen brauchen.

Von Vornherein: Keine offensiven Kampfspells und nichts, was einen direkt FP
finden laesst.

Wer eine Idee hat, Mail an mich, und bitte keine ewig langen Diskussionen in
der MPA.

Damien.

-----------------------------------------------------------------------------



Re: Forscher-Brainstorming (Bottom, 27. Nov 1997, 17:40:44):
~#! rn=Damien rt=880644629 rg=entwicklung
~#! tid=880644629

DFG-Antraege stellen?!?

-> Schmarrn...


-----------------------------------------------------------------------------



Re: Re: Forscher-Brainstorming (Wurzel, 27. Nov 1997, 20:17:23):
~#! rn=Bottom rt=880648844 rg=entwicklung
~#! tid=880644629
das treffendste reply seit langem, bottom. lange nicht mehr so gelacht :)

wurzel

-----------------------------------------------------------------------------



Re: Re: Forscher-Brainstorming (Bloodyharry, 30. Nov 1997, 02:16:35):
~#! rn=Bottom rt=880648844 rg=entwicklung
~#! tid=880644629
Ach hoer auf.. Du weisst doch sicher, wie lange sowas dauert.

bh - mal wieder pessimistisch

-----------------------------------------------------------------------------



Ideen fuer Enticklung (Obermotz,  4. Dez 1997, 07:53:03):
Hej an alle Mudder,

in letzter Zeit ist es ruhig auf dieser Rubrik geworden. Da kann ich ja mal
einige Ideen der Oeffentlichkeit kundtun.
Idee 1: Ich hatte die Idee schon mal geschrieben, allerdings kein Echo
bekommen. Egal, ich schreibe sie einfach nochmal. Ich koennte mir eine Art
Warenfenster fuer das Seherhaus vorstellen. Da kann man Sachen ablegen und mit
einem Preis versehen. Andere Spieler koennen die Sachen dann kaufen. Das Geld
wandert in die Truhe vom Seherhaus. So koennen auch Sachen verkauft werden,
wenn der Seher nicht gerade online ist. Warum das? Als Seher sollte man
eigentlich keine Geldprobleme mehr haben. Aber wenn man gute Sachen hat und
die im Laden verkauft, verschwinden die ja. Manch anderer Spieler waere aber
froh, in den Besitz eines Xanti-Schwerts oder einer Feuerkeule zu bekommen. So
hat er die Moeglichkeit, die Seherhaeuser danach zu durchsuchen.

Idee 2: Die 2. Idee hat auch mit Geld zu tun. Im WL soll es die Moeglichkeit
geben, beim Kauf/Verkauf im Laden zu feilschen. Das Ergebnis kann positiv
(billiger kaufen, teuerer verkaufen) oder auch negativ sein (weniger Geld fuer
die Ruestung beim Verkauf oder mehr Geld zu zahlen beim Kauf eines Schildes)
und haengt vom Skill (Feilschtalent) ab. Der Skill ist Gildenunabhaengig. Wie
oben schon gesagt, sollten die Seher keine Probleme mit dem Geld haben und
koennen einfach normal Kaufen/Verkaufen. Aber ich finde, es wuerde die
Atmosphaere heben, wenn ich mit dem Haendler um den Preis feilschen koennte.

Idee 3: Eine Art Geldboerse. Die Boerse stelle ich mir als Mischung zwischen
Paket un Zauberguertel vor. Man kann in die Boerse (nur) Geld legen und
dadurch etwas gdas Gewicht senken (Paketanteil). Gleichzeitig kann man
bezahlen, ohne das Geld extra aus der Boerse zu nehmen (Zauberguertelanteil).
Die Geldboerse koennte ich mir als Questbelohnung vorstellen.

Jau, dass war es fuers Erste. Bin mal auf Eure Kommentare gespannt.

OM, der Denker

-----------------------------------------------------------------------------



Re: Ideen fuer Enticklung (Silvana,  4. Dez 1997, 08:17:36):
~#! rn=Obermotz rt=881218383 rg=entwicklung
~#! tid=881218383
zu 1: Wargon ist im Begriffe, die Seherhaeuser abzugeben. Bis sich jemand
      gefunden hat, der sowohl faehig, als auch willig ist, die Aufgabe zu
      uebernehmen, wird sich da nichts tun (Bugfixes ausgenommen).
      Eigentlich eine schoene Idee, aber leider passt das Warenfenster 
      zu den wenigsten Seherhaeusern (zumindest in meinem Gebiet). Viele
      Seherhaeuser verstehen sich naemlich gerade nicht als Haus sondern
      als Erweiterung der Region von Spielerhand. In Haeusern wie dem 
      von Nonne (um mal ein Beispiel zu nennen) kann ich mir nen Fenster
      nicht wirklich vorstellen - aber das ist Geschmackssache...
      Evtl sollte man sich die Idee fuer die Seherberufe vormerken. (Hate?)

zu 2: Wir ueberlegen derzeit sowieso, ein paar generelle Skills einzufuehren,
      um den Zahllosenen Inselloesungen fuer Skills zuvorzukommen. So
      wurde an Kletterskill, Schwimmen, ... gedacht. Wieso nicht auch an
      feilschen? :) Auch wenns abgekupfert waere, die Idee hat was.
      Fehlt nur noch jemand, der es umsetzt...

zu 3: Im Prinzip kein groesseres Problem, ginge aber mit einer Aenderung 
      im std-Spieler einher. Das Teil zu proggen ist schnell gemacht.
      Fehlt nur jemand, der die Quest dazu schreibt. :) Ach ja: soll das
      Teil Autoload sein? (Nehm ich mal an.) Dann sollte es ne etwas 
      aufwendigere Quest sein...

  Silvana (mit Zeit fuer Antworten)

-----------------------------------------------------------------------------



Re: Re: Ideen fuer Enticklung (Obermotz,  4. Dez 1997, 08:23:39):
~#! rn=Silvana rt=881219856 rg=entwicklung
~#! tid=881218383
zu meiner 3. Idee: Autoload: Klar! Aber als nachteil dachte ich, dass die
Boerse auch noch etwas weiters vom Paket "erbt". Die Sachen (in diesem Fall
das Geld) sind bei einem Reboot verloren.
So als kleiner ausgleich fuer den Bonus der gewichtsreduzierung.

OM laesst auch weiterhin sein Etwas von Gehirn qualmen

-----------------------------------------------------------------------------



Re^3: Ideen fuer Enticklung (Ringor,  4. Dez 1997, 09:38:06):
~#! rn=Obermotz rt=881220219 rg=entwicklung
~#! tid=881218383
Das waere aber kein Erbstueck vom Paket. Geld, das beim Reboot im Paket
steckt, geht nicht verloren.

Die Idee mit der Geldboerse gefaellt mir aber trotzdem gut. Auch wenn ich mit
entsprechenden Alis mit dem Paket ganz gut zurechtkomme - abgesehen von den
laestigen Bugs des Paketes kann ich mir auch immer noch nicht so richtig
vorstellen, wie jemand mit einem Schwert in der einen und einem Schild in der
anderen Hand noch ein offenes Paket unter den Arm geklemmt mit sich
rumschleppt. 

Naja, von dreissigtausend einzelnen Muenzen mal ganz abgesehen, aber das
wuerde doch etwas zu weit fuehren. ;-)

Ringor

-----------------------------------------------------------------------------



Entscheidungshilfe (Isis,  4. Dez 1997, 12:09:23):

So, dann haett ich auch mal nen kleinen Vorschlag fue ne kleine
Programmierung....
Wie waers, wenn man Muenzen werfen koennte und dann Kopf oder Zahl
liegenbleibt? 
Ich dachte mir das so als Entscheidungshilfe, wenn 2 ein Monster gekillt haben
und entscheiden muessen, wer das Zeug bekommt...

Naja, nur nen Vorschlag...;)

Isis

-----------------------------------------------------------------------------



Re: Entscheidungshilfe (Zephyr,  4. Dez 1997, 12:21:09):
~#! rn=Isis rt=881233763 rg=entwicklung
~#! tid=881233763
 So was gabs bis vor kurzem mal.. vielleicht kommts ja wieder dran?
*zu Para* schiel*
            Zephyr

-----------------------------------------------------------------------------



Re: Re: Entscheidungshilfe (Grumbart,  4. Dez 1997, 12:58:57):
~#! rn=Zephyr rt=881234469 rg=entwicklung
~#! tid=881233763
Gabs da nicht mal einen Wuerfel ???

-----------------------------------------------------------------------------



Re^3: Entscheidungshilfe (Ark,  4. Dez 1997, 14:06:12):
~#! rn=Grumbart rt=881236737 rg=entwicklung
~#! tid=881233763
Gab's da nicht so was wie 'mutual consent'? :-)
Naja, warum einfach, wenn's auch schwierig geht...


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: Ideen fuer Enticklung (Alpha,  4. Dez 1997, 15:09:09):
~#! rn=Obermotz rt=881218383 rg=entwicklung
~#! tid=881218383
zu 1. Wie waere es, wenn man das nicht im Seherhaus macht...(alle Haeuser
abgrasen...das dauert ja ewig), sondern in einer Art Warenhaeusern, die an
zentralen Plaetzen stehen. Man ueberlaesst dem Warenhaus in Kommision den
Gegenstand sammt Preisvorstellung und kann, sollte der Gegenstand verkauft
wird, das Geld abholen - wenn nen Reboot dazwischen kommt ist es natuerlich
weg.
Alpha findet Obermotz's Idee gut.

-----------------------------------------------------------------------------



Re: Re: Ideen fuer Enticklung (Padreic,  4. Dez 1997, 15:49:16):
~#! rn=Alpha rt=881244549 rg=entwicklung
~#! tid=881218383
Ich muss gerade ueberlegen aus welchem Grund die Haendler wohl eine
Privatschatuelle haben...... 
                                Gruss Padreic

P.S.: fuer alle die es nicht wissen, eben WEIL man besonders gute Dinge nicht
kaufen koennen soll (und ich kann mir nicht vorstellen, dass da jemand
Taschenmesser verkaufen will)

-----------------------------------------------------------------------------



Re^3: Ideen fuer Enticklung (Grimmborn,  4. Dez 1997, 15:54:41):
~#! rn=Padreic rt=881246956 rg=entwicklung
~#! tid=881218383
Nichtsdestotrotz waere es sicher ein interessantes Experiment, mal die
Marktwirtschaft einzufuehren. Also die Preise im freien Spiel der Kraefte
treiben zu lassen. Eben vielleicht auch die "wertvolleren" Dinge (ob man sie
an Bekannte verschenkt oder an nicht so Bekannte verkauft - so oder so landet
das bei jemandem, der es nicht selber erworben hat). Moeglicherweise auch nur
befristet, nach dem Motto "wir ermoeglichen das, aber in einem Monat haengen
wir das wieder ab wenns uns nicht gefaellt".

Grimmborn der Kapital^WAtheist

-----------------------------------------------------------------------------



Re^4: Ideen fuer Enticklung (Wurzel,  4. Dez 1997, 20:25:36):
~#! rn=Grimmborn rt=881247281 rg=entwicklung
~#! tid=881218383
natuerlich waere es moeglich, die gegenstaende, die eben explizit nicht
gekauft werden sollen, auch in einem solchen warenhaus aus dem verkehr zu
ziehen. das sind zusaetzliche zwei codezeilen.
davon sind nicht unbedingt alle guten waffen/ruestungen betroffen, sondern nur
eben spezielle items wie z.b. questgegenstaende.

wurzel

-----------------------------------------------------------------------------



Re^5: Ideen fuer Enticklung (Yantro,  5. Dez 1997, 07:38:26):
~#! rn=Wurzel rt=881263536 rg=entwicklung
~#! tid=881218383
Hi, 
ich sehe KEINERLEI Grund, wieso die Nicht_weiterverlaufs_Funktion bei einer
solchen Warenhausidee eingebaut werden soll. Fakt ist, dass dann fuer die
wichtigen guten Items ein Zweitie zum zwischenlagern gemacht wird oder das der
Spieler die Sachen einfach behaelt, bis ein Kaeufer da ist. Da kann man es
auch lassen mit der Beschraenkung. Ich faende es witzig, wenn es auch eine
Moeglichkeit fuer hoehere Warenverkaeufer gaebe, eine Werbung auf einen
"Wurfzettel" oder so zu machen. Wer sich dann irgendwo so einen Zettel holt,
der kann dann nachlesen, welcher Seher gerade was im Angebot hat (wenn der
Seher denn auch inseriert hat).... klingt fuer mich ausbaufaehig.

Yantro

-----------------------------------------------------------------------------



Re^5: Ideen fuer Enticklung (Hangover,  5. Dez 1997, 08:46:03):
~#! rn=Wurzel rt=881263536 rg=entwicklung
~#! tid=881218383
Muss ich auch mal was zu sagen...

Ich denke, dass es nicht angehen kann, wenn in ihrer Anzahl limitierte 
Gegenstaende auf die Art unters Volk gebracht werden...da waeren eine
Handvoll Waffen, Ruestungsteile etc. Sowas gehoert nur in die Haende
der wenigen Spieler, die auch wirklich in der Lage sind von selbst an 
sowas ranzukommen.

Hangover
(dem schon zuviele Level-10-Spieler mit Max-Ruestung rumlaufen...)


-----------------------------------------------------------------------------



Re: Re: Ideen fuer Enticklung (Obermotz,  5. Dez 1997, 09:07:54):
~#! rn=Alpha rt=881244549 rg=entwicklung
~#! tid=881218383
Jau, dass waere auch noch eine Moeglichkeit. Aber wenn man die Sache bei den
Seherhaeusern laesst, kann man ja damit erreichen, dass die Spieler sich die
Haeuser vielleicht mal oefter anschauen. Damit ist auch eine kleine Belohnung
fuer den Aufwand der Spieler, ihr Haus zu verschoenern, gegeben.

OMMMM

-----------------------------------------------------------------------------



Re^6: Ideen fuer Enticklung (Obermotz,  5. Dez 1997, 09:45:02):
~#! rn=Hangover rt=881307963 rg=entwicklung
~#! tid=881218383
Warum bin ich auf die Idee gekommen? Als Zauberer kann ich nichts mit
Schwertern oder anderen guten Waffen bzw, Ruestung anfangen und mein 2tie kann
auch nur gute Keule gebrauchen. Wenn ich eine gute Waffe als Questbelohnung
bekomme, ist sie mir einfach zu schade, die Waffe einfach so zu verkaufen. Und
nicht immer antwortet einer auf mein Angebot, sie zu verschenken. Wie Du
siehst, kann man trotz Level 10 an gute Waffen (schwer) rankommen. Oder warum
sollte nicht auch ein Level-10-Spieler gut Ausruestung haben? Bei den
haeufigen Rebbots (mom wohl woechentlich) hat er eh nicht so llange freude
daran.
Ich sehe es ein, wenn die absuluten Mega-Waffen bzw. Ruestungen nicht
gehandelt werden koenn. Aber in einem Laden wird z.B. der Lichtpanzer
verkauft, in einem andern nicht. Irgendwie unlogisch. Ich wuerde mich ueber
eine Ausruestungsboerse freuen.

OM uerberlegt sich schon, wie er eine Feuerkeule fuer seinen 2tie besorgen
kann

-----------------------------------------------------------------------------



Re^6: Ideen fuer Enticklung (Denti,  5. Dez 1997, 10:06:54):
~#! rn=Hangover rt=881307963 rg=entwicklung
~#! tid=881218383

Nu muss ich auch noch was dazu sagen...

Ich faende die Idee mit dem Verkaufen von guten oder schwer zu
beschaffenden Sachen gar nicht schlecht. Ich haette auch nichts dagegen, 
wenn ein Seher limitierte Waffen oder aehnliches verkauft. Mir ist
allemal lieber, wenn die Sachen benutzt werden, als wenn sie irgendwo in
einer Truhe rumgammeln. Und ich habe schon oefter gesehen, wie manche
Spieler zum Beispiel 2 oder 3 Vollstrecker in ihrer Truhe haben und sie
ueberhaupt nicht benutzen wollen. Und dieses Argument sowas gehoere nur in 
die Hand der Spieler, die die sachen auch beschaffen koennen, kann ich
so nicht ganz nachvollziehen, es gibt ja genug Zaubererzweities, die nur
dazu da sind, Schwer zu beschaffende Gegenstaende zu sammeln, weil der 
Erstie entweder es gar nicht schafft, oder zu lange dazu braucht.

Ich wuerde so einen Sehermarkt voll unterstuetzen.


Denti

-----------------------------------------------------------------------------



Re^3: Ideen fuer Enticklung (Mango,  5. Dez 1997, 10:09:58):
~#! rn=Padreic rt=881246956 rg=entwicklung
~#! tid=881218383
Padreic, ich hab den Eindruck das Du immer alles so drehst wie du es gerade
brauchst. Bist Du Magier gehts gegen die Spieler und rennst Du mit Deinen
2ty's rum ....

Mango, langsam sauer.


-----------------------------------------------------------------------------



Re^4: Ideen fuer Enticklung (Padreic,  5. Dez 1997, 12:07:04):
~#! rn=Mango rt=881312998 rg=entwicklung
~#! tid=881218383
Sorry Mango, ich habe den Sinn/Gedanken Deines Artikels wirklich nicht
verstanden, vielleicht erklaerst Du ihn mir mal...
Aber nochmal zum Thema ich schliesse mich da voll und ganz Hangover an, da ich
es wirklich dumm faende, wenn max-ruestung gekauft werden koennten. Schon
heute
rennen die meisten der Spieler/Seher nur mit Maxzeugs rum (der rest dient nur
zum Geld beschaffen?) und fuer kleinere Spieler ist das Geld meist ueberhaupt
kein Problem (in Moron oder dem Glockenwald bleibt ja oft genug liegen). Wenn
dann wirklich JEDER maxruestungen bekommen kann, ist fuer mich irgendwie
endgueltig der Reiz weg. So bekommen die Spieler gelegentlich mal eine
Maxruestung von nem Seher geschenkt, aber wenn man einfach nur noch mir genug
Geld zu einem bestimmten Laden laufen muss.....
                                             Padreic


-----------------------------------------------------------------------------



Re^5: Ideen fuer Enticklung (Grimmborn,  5. Dez 1997, 12:22:28):
~#! rn=Padreic rt=881320024 rg=entwicklung
~#! tid=881218383
Du hast das nicht ganz verstanden. Es geht keinesfalls darum, "in irgendeinen
Laden" zu rennen, sondern sowas quasi frei zu verhandeln. Wenn ein Spieler
sagt, ich hab hier das megatolle Superschwert, das gibts aber nur dreimal, und
da will ich denn schon 150k sehen, dann bleibt er vielleicht darauf sitzen.
Wenn er es dagegen fuer 20 Muenzen anbietet, wird er mehr Bewerber haben als
Schwerter, also wird er sich aergern, dass er nicht mehr haben wollte. Denkbar
waeren auch Versteigerungen, die in so einer Markthalle abgehalten werden
koennten. Meine Guete, muss _ich_ Dir erklaeren, was Marktwirtschaft ist?
Deine Argumentation ist in etwa, man duerfe keine Ferraris kaufen koennen,
weil es davon nur wenige gibt und die so doll sind, weil wenn man die kaufen
koennte haette ja jeder einen.

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re^6: Ideen fuer Enticklung (Alpha,  5. Dez 1997, 13:50:25):
~#! rn=Grimmborn rt=881320948 rg=entwicklung
~#! tid=881218383
Nen bischen mehr Marktwirtschaft in den Laeden wuede ja schon helfen....
Ich kann nicht verstehen, dass, wenn der Laden voellig Pleite ist (und somit
ein wahnwitziges Ueberangebot an Ausruestungsgegenstaenden da ist) ich, wenn
ich einkaufen gehe, immer noch den vollen Preis bezahle. 
Waere es nicht O.K., dass ich genau den 3-fachen Preis fuer nen Gegenstand
bezahlen muesste den ich erhalten wuerde, wenn ich den selben Gegenstand
verkaufen wuerde?
Das Geldmangelproblem der Laeden wuerde sich wohl auch etwas verringern, wenn
man so animiert wird, im Laden zu kaufen und nicht sich den Kram woanders zu
besorgen.
(Ich spreche von ganz NORMALEN Ausruestungsgegenstaenden, Hangover)

-----------------------------------------------------------------------------



Re^6: Ideen fuer Enticklung (Acrimon,  5. Dez 1997, 14:23:29):
~#! rn=Grimmborn rt=881320948 rg=entwicklung
~#! tid=881218383
Ich brauch aber keinen Ferrari.

-----------------------------------------------------------------------------



Re^7: Ideen fuer Enticklung (Wurzel,  5. Dez 1997, 19:37:40):
~#! rn=Alpha rt=881326225 rg=entwicklung
~#! tid=881218383
nichts gegen marktwirtschaft, absolut nichts dagegen einzuwenden... tut den
studis bestimmt mal gut, sich mit sowas zu beschaeftigen :)
das ganze koennte aber nur dann wirklich funktionieren, wwenn man auch einen
nutzen davon haette, sprich wenn man eine echte bank einfuehrt. solange man
bei crash/reboot nur das behaelt, was man bei sich hat, ist das sonst wohl
ziemlich ziellos... das waere doch mal ne moeglichkeit fuer eine topliste: 
wer hat das meiste geld gescheffelt :) fast wie im richtigen leben...

wurzel

-----------------------------------------------------------------------------



Schmuck (Kartoffel,  6. Dez 1997, 21:19:57):
Eine Frage,
waere es moeglich, dass man den Schmuck bei 'verkaufe alles' nicht jedesmal
auszieht?

Kartoffel - reisst sich irgendwann noch mal das Ohrlaeppchen ab, bei der
Hektik

-----------------------------------------------------------------------------



Re: Schmuck (Rikus,  7. Dez 1997, 10:18:31):
~#! rn=Kartoffel rt=881439597 rg=entwicklung
~#! tid=881439597
Danke fuer den Hinweis, war mir neu. Ich schau es mir die naechsten
Tage an.

Rikus

-----------------------------------------------------------------------------



Kleiner Wunsch (Lilaf,  7. Dez 1997, 11:01:27):
Hiho!

Ich finde es extrem nervig, dass ich nach einem Reboot immer noch blind
bin...tut das not?

-Lilaf

-----------------------------------------------------------------------------



Re: Re: Schmuck (Rikus,  7. Dez 1997, 21:25:20):
~#! rn=Rikus rt=881486311 rg=entwicklung
~#! tid=881439597
So, der Schmuck wird nun bei VERKAUFE ALLES nicht mehr ausgezogen.
Geht natuerlich erst nach Ende/Reboot...

Rikus, heute mal schnell :)

-----------------------------------------------------------------------------



Re^7: Ideen fuer Enticklung (Obermotz,  8. Dez 1997, 07:36:48):
~#! rn=Acrimon rt=881328209 rg=entwicklung
~#! tid=881218383
Da habe ich ja mal wieder fuer Gespraechsstoff gesorgt.
Ich bin bei meiner Idee eigentlich davon ausgegangen, dass man bei einer Quest
oder beim erforschen eines Gebietes etwas (Waffe oder Ruestung) findet, das
man selber nicht gebtrauchen kann. Bevor ich es in einem Laden unter dem
Ladentisch verschwinden lasse, wollte ich es lieber einem anderen Spieler
zukommen lassen. Ich wusste ja nicht, dass sich Spieler in Todesgefahr
begeben, nur um sich eine bestimmte Waffe zum x-ten Mal zu besorgen.
Natuerlich bin ich auch nicht dafuer, dass JEDER mit den
Toete-Jedes-Monster-Mit-Einem-Schlag-Waffen oder
Reduziere-Jeden-Schaden-Auf-Null-Ruestungen rum laeuft. Aber fuer meinen 2tie
haette ich schon mal gerne eine Feuerkeule. Im normalen Laden nicht zu
bekommen. Da ich die Keule noch nicht hatte: ist sie den wirklich so gut?

OM, daran erinnernd, dass wir bald Weihnachten (das Fest der Naechstenliebe)
haben

-----------------------------------------------------------------------------



Re: Schmuck (Morgoth,  8. Dez 1997, 07:38:22):
~#! rn=Kartoffel rt=881439597 rg=entwicklung
~#! tid=881439597
Seit wann haben denn Kartoffeln Ohrlaeppchen...??? 
Also von 'Augen' hab ich ja mal was gehoert, das sind die dunklen Stellen, die
man beim schaelen entfernt...aber Ohrlaeppchen?????
M* ;-)

-----------------------------------------------------------------------------



Re^5: Ideen fuer Enticklung (Tunixgut,  8. Dez 1997, 08:25:56):
~#! rn=Padreic rt=881320024 rg=entwicklung
~#! tid=881218383
Weissu Padreic, STAENDIG bekomme ich zu hoeren: "Das hier ist nun einmal ein
Mud, kein Sud" - Das impliziert fuer MICH auch, dass ich gelegentlich anderen
Mitspielern etwas an Ausruestung besorge, sofern ich das kann. Jedenfalls kann
ich nicht begreifen, wenn man staendig zu hoeren bekommt, man sollte
gefaelligst mehr Teamgeist zeigen und blablabla, und hier ploetzlich soll
bloss keina einem anderen 'nen Gefallen tun.
Im uebrigen isses ja ganz klasse, wenn JEDER Anfaenger JEDE maxruestung kaufen
kann... Nu erklaer mir bloss mal, wo JEDER Anfaenger das Geld dafuer herhaben
soll????

's Karate-Zwerchle - PRO Mit-Ausruestung-aushelfen...

-----------------------------------------------------------------------------



Re^6: Ideen fuer Enticklung (Jasper,  8. Dez 1997, 08:40:33):
~#! rn=Yantro rt=881303906 rg=entwicklung
~#! tid=881218383
warum nicht einfach einfach einen kanal machen, auf dem ueberschuessige
waffen/ruestungen/KLs/RL-Sex usw. angeboten und gehandelt werden.


Jasper erinnert sich dumpf an einen 'sales' kanal *grins felagund an*

-----------------------------------------------------------------------------



Re^5: Ideen fuer Enticklung (Jasper,  8. Dez 1997, 08:42:02):
~#! rn=Padreic rt=881320024 rg=entwicklung
~#! tid=881218383
nuja maxruestungen bekommt auch jeder der einen nicht-wurst-seher auf
seinem freundschaftsband hat.

-----------------------------------------------------------------------------



Re^7: Ideen fuer Enticklung (Tunixgut,  8. Dez 1997, 08:42:36):
~#! rn=Jasper rt=881566833 rg=entwicklung
~#! tid=881218383
Da geht doch VOELLICH das feeling bei verloren, Jaspi...

's Karate-Zwerchle... FUER den ersten Vorschlag...

-----------------------------------------------------------------------------



Seherlaeden/Ruestungen (Gloinson,  8. Dez 1997, 09:24:52):
Och die Idee mit den Auktionen ist ja gar net schlecht. Ich weiss ja nach
meiner Ausruestung in einer halben Stunde dann auch wieder nicht mehr,
wohin mit dem Ruestungs-/Waffenmuell, gerade als Kleriker. Und zum beim
Sandtiger abwerfen ist es dann doch meist zu schade.
Aber mal was anderes: Nach spaetesten einer halben Stunde ist man ja
als etwas begabter Spieler/Seher maximal geruestet. Das geht dann
so weit, dass eben nach 5 Tagen uptime Hornpanzer, die ja nun nicht
ganz max. sind :) als Sondermuell feilgeboten werden. Soviel ich
hoerte, ist das Feature mit der Beschaedigung ja moeglich, also warum
wird nicht mal das random-Damage() eingebaut. Damit spiele ich jetzt
PK-Morgoth in die Haende. Ich find es irgendwie scheisse, dass man
nach kuerzester Zeit fuer die gesamte Uptime nichts mehr holen muss
ausser Spezialgegenstaenden.

Gloin

-----------------------------------------------------------------------------



Re^6: Ideen fuer Enticklung (Padreic,  8. Dez 1997, 12:20:09):
~#! rn=Tunixgut rt=881565956 rg=entwicklung
~#! tid=881218383
Ich glaube Du hast mich falsch verstanden Tunixgut, ich finde ueberhaupt
nichts daran auszusetzen, wenn Du Mitspielern gelegentlich ausruestung
besorgst, doch ICH (und das ist meine ganz persoenliche Meinung) halte es fuer
bedenklich ein Warenhaus einzurichten, indem nachher lauter Max-Sachen
gehandelt werden, eben weil ich (unter anderem von RL-Freunden) immer wieder
hoere, wie schnell man doch auch als Anfaenger zu geld kommt (einfach weil
viele seher das zeugs in den metzelgebieten nicht mitnehmen). Ich glaube
einfach, dass ein solches Warenhaus dadurch dazu fuehren wuerde, dass Spieler
sich eben nur noch Max-Sachen kaufen wuerden. (Im uebrigen gibt es im MG schon
Laeden, die auch Max-Sachen weiter verkaufen. Nur zahlen die vielleicht nicht
die Preise, um Seher zu animieren, da Max-Sachen auch hinzubringen.
                              Padreic mit seine ganz persoenlichen Meinung!

-----------------------------------------------------------------------------



Re: Seherlaeden/Ruestungen (Ringor,  8. Dez 1997, 12:46:31):
~#! rn=Gloinson rt=881569492 rg=entwicklung
~#! tid=881569492
Also die Aussage, man waer nach spaetestens einer halben Stunde maximal
geruestet, kann wohl nur fuer einen nicht sonderlich anspruchsvollen Seher
gelten, der zudem nicht Kaempfer ist.

Jeder, der da etwas anspruchsvoller ist, steckt da _einiges_ mehr an Zeit
rein. Und dabei ist das Schlange-stehen nichtmal mitgerechnet. Es gibt
schliesslich genug limitierte Gegenstaende bzw. Monster, die nicht immer die
gleichen Klamotten beihaben.

Und bei Morgoths Klamotten ist die Beschaedigung teilweise noch eingebaut.
Hast Du damit mal ne Weile gekaempft? Da kann mir der zustaendige Magier
hundertmal erzaehlen, dass die Wahrscheinlichkeit, die Waffe zu beschaedigen,
nur bei soundsoviel Prozent liegt - so lange ich mir die Waffe an jedem
Monster mindestens zweimal beschaedige, ist das einfach nur noch laestig.
Zumal ich Keulen z.B. nicht mehr selbst reparieren kann, im Gegensatz zu
Klingenwaffen.

Ringor. Moechte mehr Zeit beim Metzeln als beim Schmied verbringen.

-----------------------------------------------------------------------------



Re: Seherlaeden/Ruestungen (Morgoth,  8. Dez 1997, 13:24:16):
~#! rn=Gloinson rt=881569492 rg=entwicklung
~#! tid=881569492
Wie was?? PK-Morgoth ?????
Ich toete keine Spieler, das machen meine NPCs.
M*

-----------------------------------------------------------------------------



Re^7: Ideen fuer Enticklung (Quasimodo,  8. Dez 1997, 14:12:28):
~#! rn=Padreic rt=881580009 rg=entwicklung
~#! tid=881218383
Das Problem scheint mir weniger die Moeglichkeit sein, so tolle Sachen zu
kaufen, als vielmehr, dass Geld nix wert ist. Vielleicht sollte man mal was
gegen die Inflation tun.

Quasi

-----------------------------------------------------------------------------



Re^8: Ideen fuer Enticklung (Dhojakt,  8. Dez 1997, 14:55:35):
~#! rn=Quasimodo rt=881586748 rg=entwicklung
~#! tid=881218383
Geld braucht man genug - zum Tanken naemlich, wirkliches metzeln fuer ekstp
verbraet genug. Dass es sich einfach nicht lohnt, interessante Gegenstaende zu
kaufen, weil sie entweder nicht kaeuflich sind oder viel zu teuer ist ne
andere sache. Wenn man nur 100 k muenzen tragen kann isses eben ein ding der
unmoeglichkeit sich (rein rechnerisch) im laden vernuenftig einzukleiden.
Zumal man bei verkauf/reboot nur einen bruchteil wiederbekommt, also es sich
auch aus dieser sicht nicht lohnt.
Khidar.

-----------------------------------------------------------------------------



Re: Seherlaeden/Ruestungen (Dhojakt,  8. Dez 1997, 15:36:14):
~#! rn=Gloinson rt=881569492 rg=entwicklung
~#! tid=881569492
Hm, ich kann da einfach mit meiner meinung nicht hinterm berg halten:
Ausm Tapp kenn ich das mit der waffenbeschaedigung. Dort isses halt so, dass
man mit holzstaffs beim dauermetzeln etwa eine h hinkommt, dann ist der stab
so 2-3 stufen schlechter und muss repariert werden, weil man das nachlassen
dann deutlich merkt. Da bin ich doch heilfroh, dass ich als druide nen nicht
abnutzenden gildenstab hab, wo ich nicht dauernd reparieren rennen muss.
Ausserdem find ich es nervig genug, wenn ich alle paar tage sowieso wegen der
momentanen instabilitaet neue ausrue besorgen darf (kein vorwurf, die
EMs/goetter koennen ja schlecht was dagegen machen *seufz*).
Aber ne zusaetzliche abnutzung muss da nicht sein.
Khidar.

-----------------------------------------------------------------------------



Re: Re: Seherlaeden/Ruestungen (Hangover,  8. Dez 1997, 22:34:53):
~#! rn=Morgoth rt=881583856 rg=entwicklung
~#! tid=881569492
Bei der Art von Programmierung ist das aber fast das selbe, Morgoth.

Hangover, heute mal etwas gemein ;-)

-----------------------------------------------------------------------------



 bezug--> Laeden und hochwertige ausruestung (Phygos,  9. Dez 1997, 14:49:11):
Die idee einer boerse bzw. einer auktion fuer spezielle oder besonders
hochwertige ausruestungsgegenstaende kursiert schon seit langem.
der besondere vorteil daran ist 
1.) anfaenger und nicht superprofis   erlangen auch mal gute ( wirklich gute)
ausruestung
2.) die anfaenger werden zum erforschen neuer gegenden animiert. ( warum?) 
weil sie die waffe das ausreustungsteil das sie im laden/boerse/auktion sehen 
irgendwann auch einmal selbst besorgen wollen   
ich jedenfalls hab frueher (  irgendwann kurz nach erfindung des rades, als
die laeden noch nicht die hochwertigen dinge entsorgten) begonnen zu forschen
bzw, mich durchzufragen  wo`s diese netten dinge denn im ursprung gab.
also kinners--> wenn einer nicht will das ein anfaenger mit seinem
ueberzaehligen z.bsp SMS oder VS rumrennt soll er ihn im I-Ging tempel
entsorgen   sicherlich hat er ihn dann eh nicht zur geldbeschaffung gemetzelt
also ich bin prinzipiel dafuer so eine auktion einzufuehren   aussserdem
sollte man viele mal auf die bibliothek der kaempfergilde bzw deren
waffen/ruestungskammer aufmerksam machen   :)


-----------------------------------------------------------------------------



Re: Seherlaeden/Ruestungen (Isnogood, 11. Dez 1997, 14:09:35):
~#! rn=Gloinson rt=881569492 rg=entwicklung
~#! tid=881569492
also wie man als Kaempfer innerhalb von ner halben Stunde an max ruestung und
max Waffen kommen soll, musst du mir mal genauer erklaeren

-----------------------------------------------------------------------------



Re: Re: Seherlaeden/Ruestungen (Morgoth, 11. Dez 1997, 14:41:48):
~#! rn=Isnogood rt=881845775 rg=entwicklung
~#! tid=881569492
Man hat einen Magier als Freund ;-)
M*

-----------------------------------------------------------------------------



Re^3: Seherlaeden/Ruestungen (Freund, 11. Dez 1997, 14:53:42):
~#! rn=Morgoth rt=881847708 rg=entwicklung
~#! tid=881569492

> Man hat einen Magier als Freund ;-)

Ich weise alle Verdaechtigungen von mir! ;-)

Freund, zufaellig namensgleich...

-----------------------------------------------------------------------------



Re: Re: Seherlaeden/Ruestungen (Boing, 11. Dez 1997, 15:33:06):
~#! rn=Isnogood rt=881845775 rg=entwicklung
~#! tid=881569492
Wenn man sich nur mit MAximalwerten zufrieden gibt, ist das wahrscheinlich
schwierig ... aber es gibt ja noch den ganzen Schrott ... so Muell, der
vielleicht 1-2% schlechter ist. :)
  Boing

-----------------------------------------------------------------------------



Todesreform und Anhang (Serverus, 11. Dez 1997, 16:28:24):
Also mal ne Anregung von mir, wie waere es denn ein Tempel oder Schrein zu
erstellen, welcher infolge eines Todes oder auch ansonsten Aufgaben verteilt
wie zum Beispiel toete 5 Goblins oder bringe den Vollstrecker:-)als geschenk.
Als Belohnung gibt es dann die Stats zurueck oder wenn man keinen Tod hat
irgendeinen brauchbaren Gegenstand bzw. Geld oder sonstiges. Damit waere doch
eine gute Loesung gegen das abideln der Tode gefunden und man haette auch
ansonsten Spass mit dem Schrein.
Serverus, der mit dem Tod tanzt.

-----------------------------------------------------------------------------



Tod un Anhang (Serverus, 11. Dez 1997, 17:26:31):
halloechen mal noch eine kurze Bemerkung zu der ZT-Suche nach einem Tod: Wenn
man Pech hat bekommt man den ZT bei Chilana . Ich mein den wo man in den
Wasserfall springen muss. Endeffekt ist man stirpt wieder Ohne etwas machen zu
koennen und hat wieder einen Tod mehr. Im schlimmsten Fall sitzt man in ner
Schleife fest.
halloechen mal noch eine kurze Bemerkung zu der ZT-Suche nach einem Tod: Wenn
man Pech hat bekommt man den ZT bei Chilana . Ich mein den wo man in den
Wasserfall springen muss. Endeffekt ist man stirpt wieder Ohne etwas machen zu
koennen und hat wieder einen Tod mehr. Im schlimmsten Fall sitzt man in ner
Schleife fest.
Serverus, der mit dem Tod tanzt.

-----------------------------------------------------------------------------



Re^3: Seherlaeden/Ruestungen (Randal, 11. Dez 1997, 17:57:40):
~#! rn=Boing rt=881850786 rg=entwicklung
~#! tid=881569492
Gerade Kaempfer koennen eben nicht auf irgendwin xbeliebiges Zeug
zurueckgreifen das nur 1-2% schlechter ist.
Die brauchen spezielles Zeug, sonst koennen sie auch gleich nackt rumlaufen.
.)

Nur das spezielle gibbet zu selten.

Naja und selbst wenn man sich mit einer nich max rue zufrieden gibt brauch man
laenger als 30 min. um einiges laenger, man denke mal an resettzeiten und
andere die ja auch rue brauchen.

Randal

-----------------------------------------------------------------------------



Re^4: Seherlaeden/Ruestungen (Bendeigid, 11. Dez 1997, 18:00:13):
~#! rn=Randal rt=881859460 rg=entwicklung
~#! tid=881569492
Bloedsinn.
Selbstverstaendlich koennen auch Trves mit Zeug rumlaufen, dass unwesentlich
schlechter ist. Sogar mit wesentlich schlechterem Zeug kann man was anfangen.
UNd stellt euch vor: sogar mit fast NIX kann man was anfangen, wenn mans nur
geschickt macht. 
Gut, Weghier allein killen duerfte dann knifflig sein, aber versuchsts doch
mal zu mehreren...? 
Bendeigid, dieser "immer nur das allerbeste sonst ist mudden eh
bloedsinnig"-Einstellung ueberdruessig.

P.S.: Ja, ich rede mal wieder sinnlos gegen ne Wand an.

-----------------------------------------------------------------------------



Re: Tod un Anhang (Hangover, 11. Dez 1997, 18:00:50):
~#! rn=Serverus rt=881857591 rg=entwicklung
~#! tid=881857591
Moin!

Tut mir leid das so zu sagen, aber bei dem ZT stirbt man eigentlich nicht.

-Hangover

-----------------------------------------------------------------------------



Re: Re: Tod un Anhang (Alpha, 11. Dez 1997, 18:14:31):
~#! rn=Hangover rt=881859650 rg=entwicklung
~#! tid=881857591
Jo....wollte ich auch grade sagen...in der Naehe von Portal 17 muesste ne
Abhilfe rumliegen...

-----------------------------------------------------------------------------



Re: Tod un Anhang (Boing, 12. Dez 1997, 08:17:12):
~#! rn=Serverus rt=881857591 rg=entwicklung
~#! tid=881857591
*lach*
  Boing

-----------------------------------------------------------------------------



Tod und Anhang (Serverus, 12. Dez 1997, 08:52:42):
Halloechen

Ich muss zugeben, dass mir das nicht bekannt war das man bei diesem ZT nicht
unbedingt sterben muss. Vergesst den Kommentar von mir.

Serverus, der mit dem Tod tanzt.

-----------------------------------------------------------------------------



Re^5: Seherlaeden/Ruestungen (Randal, 12. Dez 1997, 18:09:36):
~#! rn=Bendeigid rt=881859613 rg=entwicklung
~#! tid=881569492
Tstst Bende :)
Was sagten noch die Ausbilder im Struv? Es empfiehlt sich eine gute Hose beim
Kniestoss zu tragen sonst kann man sich selbst verletzen ;)

Und mit einer normalen Hose sie wirklich keinen Boni fuer kaempfer hat ist man
bei dem spell schonmal um einiges schlechter :)

Ran

-----------------------------------------------------------------------------



Re: Tod und Anhang (Silvana, 13. Dez 1997, 00:25:41):
~#! rn=Serverus rt=881913162 rg=entwicklung
~#! tid=881913162
Du scheinst mich fuer ziemlich boesartig zu halten. Ich hatte eigentlich 
gedacht, ich haette das an meine Soehne vollstaendig vererbt...

  Silvana

-----------------------------------------------------------------------------



Muenzsystem, mal was neues ??? (Morgoth, 15. Dez 1997, 10:19:26):
Hi Leute,

ich hab mal wieder eine Idee, wie man einiges hier verbessern koennte.
Diesmal gehts ums liebe Geld. Und zwar habe ich folgenden Vorschlag, wie
man das Problem mit den Zweities etwas daempfen kann. Ursache ist ja
hauptsaechlich die Belastung durch die Muenzen. Nun, hier schafft mein
Konzept abhilfe, indem es die Kaufkraft veraendert. HAE ???
Es muessten nur verschiedene Zahlungsformen eingefuehrt werden, die die
Haendler akzeptieren, die aber weniger Gewicht haben. Konkret waere da
folgender Vorschlag:
1. Es gibt vier 'Standardwaehrungseinheiten (WE)'
   Edelsteine (evtl. Zaubererkomponenten)
   Goldmuenzen
   Silbermuenzen
   Kupfermuenzen
2. Zahlungsverhaeltnisse in Kupfermuenzeinheiten
   Edelsteine    : 500 - 10000 (je nach Art des Steins)
   Goldmuenzen   : 100
   Silbermuenzen : 10
3. Die Muenzen wuerden natuerlich das gleiche Gewicht haben und somit
   schon gewaltig das Gewichtsproblem reduzieren. Da Edelsteine im
   Vergleich zu ihrem Gewicht laecherlich leicht sind, sind diese
   natuerlich das Zahlungsmittel der Wahl. Hierbei koennten wieder
   Probleme entstehen, da sie ja auch Zaubererkomponenten sind, dass
   sie evtl. vorher bei einem Juwelier (Zwergenstadt) eingetauscht
   werden muessen oder einfach nicht Autoload sind.

Um das zu realisieren muesste /obj/money vollkommen umgeschrieben werden
in ein /std/currency. Es muesste Funktionen beinhalten, die die alten
Funktionen QueryMoney() und AddMoney() ersetzen bzw. erweitern und auch
eine Funktion, die ein RemoveMoney() vollzieht und dabei die WE
beruecksichtigt. Fuer die WE muesste eine neue Property P_BUY_VALUE
benutzt werden, die somit auch nicht-Standardwaehrungseinheiten als
Waehrung deklariert. Das jetzige P_VALUE wuerde also nur noch den reinen
Verkaufswert beinhalten, wogegen P_BUY_VALUE den Ankaufswert angibt.

Weitere Moeglichkeiten mit diesem System:
1. Sieht aus wie Gold, fuehlt sich an wie Gold....ist aber kein Gold....
   Irgendwelche Betrueger koennen falsche Muenzen in Umlauf bringen, die
   von den normalen Goldmuenzen nicht unterschieden werden koennen
   (P_SHORT, P_LONG). Nur eine Materialuntersuchung bringt hier den
   wahren Charakter dieser Muenzen ans Tageslicht. Natuerlich kann es
   auch ein pfiffiger Haendler sein, der mal etwas genauer hinschaut und
   dem armen Spieler mitteilt, das er nur Falschgeld besitzt und fuer
   das Schwert jetzt eine Woche lang das Lager fegen muss.
   Dafuer muesste leider das Inventory geaendert werden, da sich falsche
   Muenzen von den anderen als eigenes Item im Inventory zu erkennen
   geben wuerden **rgrinse hate**.

2. Aeh, verdammt. Ich sollte demnaechst einen Block und einen Kuli mit
   aufs Klo nehmen.....

Naja, wenns mir wieder einfaellt, werd ich das ergaenzen, ansonsten
wars das erstmal. Ich denke ihr habt jetzt auch eine paar Flames und
Anregungen....also los

Morgoth


-----------------------------------------------------------------------------



Re: Muenzsystem, mal was neues ??? (Tunixgut, 15. Dez 1997, 10:29:03):
~#! rn=Morgoth rt=882177566 rg=entwicklung
~#! tid=882177566
Also, zunaechst einmal hab' ich es HIER immer als Vorteil gesehen, mit EINER
Waehrung durch die Lande zu laufen, auch wenn es nicht sehr raelitaetsnah ist,
mit hunderttausend Muenzen durch die Gegend zu streunen. Was mich in diversen
anderen Muds jedoch richtig ankotzt, ist, wenn die Umrechnungen von
Waehrungseinheit 1 zu 2 10 ist, von 2 zu 3 23, von 3 zu 4 6.534 etc... Wenn,
dann nehmt bitte etwas EINHEITLICHES...
Im uebrigen halte ich die Falschgeld-Idee fuer KLASSE! :o), koennte man ja
auch auf dem ALTEN Waehrungssystem aufsetzen...

's Karate-Zwerchle - gluecklich mit dem jetzigen System...

-----------------------------------------------------------------------------



Re: Muenzsystem, mal was neues ??? (Catweazle, 15. Dez 1997, 11:00:07):
~#! rn=Morgoth rt=882177566 rg=entwicklung
~#! tid=882177566
Moin!

Also Waehrungsstaffelung finde ich etwas arg abgekupfert und ausserdem
ultranervig. Die Edelsteinidee ist da schon wieder was anderes. Wenn
man die Anzahl begrenzt, damit nicht jeder 37 Millionen mit sich rum-
schleppen kann, und vielleicht tatsaechlich was einbaut, das 
man die Edelsteine auch anderweitig benutzen kann (Zauberer ist
da schon gar nicht verkehrt) klingt das gar nicht schlecht.
Auch Falschgeld ist ne interessante Idee. 
Hm, um zunehmendes Vermoegen bei Spielern zu vermeiden koennte man
besonders (edelstein-)reiche ja von Wegelagerern (a la Raeuber) aus-
rauben lassen.
Also bis auf den Kleingeldkrams find ich das gar nicht schlecht.
Yours truly,
     Catweazle

-----------------------------------------------------------------------------



Re: Re: Muenzsystem, mal was neues ??? (Gnome, 15. Dez 1997, 11:33:30):
~#! rn=Catweazle rt=882180007 rg=entwicklung
~#! tid=882177566
hm, es muesste nur mal ein bankensystem eingefuehrt werden, mit eigenem
konto und so, dann waere das thema der bank-x-ties auch vom tisch.
der vorschlag mit den edelsteinen hoert sich gut an, aber es muessten dann
andere sein, als von den zauberern benutzt, sonst wird das zaubern sehr
schnell sehr teuer... ;-)
achso... bitte keine untereinheiten, das ist echt bissel nervig, wenn
auch realitaetsnaeher, aber davon sind wir hier sowieso weit entfernt :)

gnOme

-----------------------------------------------------------------------------



Re^3: Muenzsystem, mal was neues ??? (Wargon, 15. Dez 1997, 12:13:42):
~#! rn=Gnome rt=882182010 rg=entwicklung
~#! tid=882177566
Wie waere es mit Falschgeld? Das liesse sich ueber die Property fuer Flueche
realisieren, bei jedem Geldtransfer wird der Falschgeldanteil ggf. angepasst,
und wenn man von einem Wirt oder Ladenbesitzer erwischt wird, gibts Haue (oder
das ganze Geld wird eingezogen, oder sonstwas).
  Wargon

-----------------------------------------------------------------------------



Re^4: Muenzsystem, mal was neues ??? (Key, 15. Dez 1997, 12:51:57):
~#! rn=Wargon rt=882184422 rg=entwicklung
~#! tid=882177566
Dann moechte ich aber auch dem Haendler der mir Falschgeld andreht auf die
Nase hauen duerfen und dem sein Geld klauen.

Also Falschgeld geht mir ein bisserl zu weit .... Dann kann man ja gar nix
mehr verkaufen ... und wie sich das dann aufs Geldsystem hier auswirkt ...
Nene

Key

-----------------------------------------------------------------------------



Re: Tod un Anhang (Teddy, 15. Dez 1997, 19:49:42):
~#! rn=Serverus rt=881857591 rg=entwicklung
~#! tid=881857591
Aehm, es gibt mindestens eine, angeblich sogar 3 Moeglichkeiten, den ZT zu
kriegen ohne zu sterben

Teddy

-----------------------------------------------------------------------------



Re: Muenzsystem, mal was neues ??? (Wurzel, 15. Dez 1997, 20:11:32):
~#! rn=Morgoth rt=882177566 rg=entwicklung
~#! tid=882177566
sehr viel muss da nicht umgeschrieben werden. sehr vieles im mg ist eh aus
nightfall uebernommen, da koennte man sich das auch noch rueberziehen. ob
das sinnvoll ist, ist eine ganz andere frage...
das mit dem falschgeld ist natuerlich da nicht dabei, und das ist nun
wirklich mal eine originelle idee. zwar kaum im sinne der spieler (es sei
denn, es kommt sowas wie eine falschmuenzergilde), so dass es erstmal wieder
massive beschwerden geben wird, aber das kennt man ja...

wurzel

-----------------------------------------------------------------------------



npcs der kaempfer (Srabi, 15. Dez 1997, 20:29:42):
ich habe da einen vorschlag bezueglich der npcs in der struv. Kann man die
nicht so programmieren, das die nicht mehr gemetzelt werden koennen, nach dem
Vorbild von Llystrathe oder Arkshat??? Jedesmal wenn ich in die Struv komme ,
liegen sie als leiche herum.
Srabi**
schau

-----------------------------------------------------------------------------



Re: npcs der kaempfer (Sting, 15. Dez 1997, 20:53:58):
Aehm, ich seh das so: Es gibt sicherlich nicht viele Leute die im Struv schon
wen gemetzelt haben, und diejenigen haben das auch verdient...
Ausserdem liegen bestimmt nicht dauernd Leichen rum nur weil einer sich mal
die Kills holen will (abgesehen davon gehts in anderen Gilden auch, und ist
auch teilweise nervig, aber man kommt drueber weg :))

Sting

-----------------------------------------------------------------------------



Re: Re: Muenzsystem, mal was neues ??? (Gnome, 16. Dez 1997, 09:29:54):
~#! rn=Wurzel rt=882213092 rg=entwicklung
~#! tid=882177566
"zwar kaum im sinne der spieler... aber das kennt man ja..."
sicher wurzel, warum auch im interesse der spieler handeln und pro-
grammieren? das waere wirklich nicht im sinne des muds, oder?

gnOme

-----------------------------------------------------------------------------



Re: Re: Tod un Anhang (Key, 16. Dez 1997, 10:18:24):
~#! rn=Teddy rt=882211782 rg=entwicklung
~#! tid=881857591
Hmm 4 wenn ich net irre :)

Key

-----------------------------------------------------------------------------



Re^3: Muenzsystem, mal was neues ??? (Wurzel, 16. Dez 1997, 18:35:11):
~#! rn=Gnome rt=882260994 rg=entwicklung
~#! tid=882177566
gelobt sei vor dem herrn, wer feinsinnige kritik auch als solche erkennt.
aber auch das kennt man ja...

wurzel

-----------------------------------------------------------------------------



Schiff oder boot nach VL (Srabi, 16. Dez 1997, 19:43:22):
Ich habe einen kleinen Vorschlag. Kann man nicht ein Schiff oder Boot
programmieren, das durchgaengig von Port Vain ins VL faehrt???
Srabi

-----------------------------------------------------------------------------



Re: Schiff oder boot nach VL (Ringor, 16. Dez 1997, 22:49:46):
~#! rn=Srabi rt=882297802 rg=entwicklung
~#! tid=882297802
Frag mal Morgoth nach seiner Orkgaleere. Das duerfte ziemlich genau das sein,
was Du suchst.

Kann nicht mehr sooo lange mit dem Anschliessen dauern. 

Ringor. Verspricht gerne Sachen, die andere dann halten muessen ;)

-----------------------------------------------------------------------------



Re: Re: Schiff oder boot nach VL (Morgoth, 17. Dez 1997, 08:09:42):
~#! rn=Ringor rt=882308986 rg=entwicklung
~#! tid=882297802
Stimmt, das problem ist derzeit, dass man leider details vom boot(deck) auch
vom hafen aus untersuchen kann. ;-((
Also das alles umschreiben und abfangen...dann kanns losgehen. 
M*

-----------------------------------------------------------------------------



Re^3: Schiff oder boot nach VL (Nixihou, 17. Dez 1997, 10:21:10):
~#! rn=Morgoth rt=882342582 rg=entwicklung
~#! tid=882297802
nur mal so zu den booten im mg....
in anderen muds gibs sowas wie ein befahrbares meer, auch mit privat booten
wie waere es hier mit was aehnlichem?
(am besten so, dass auch see-schlachten moeglich sind... 
spieler-manschaft gegen npc-manschaft??? oder spieler gegen spieler...
es sollte doch einen segel/nautic-fan geben der da irgendwelche
vorstellungen hat was man dazu alles implementieren muesste....
wurde sowas nicth schon mal in fernwest angedacht fuer einen see?)

nixihou

-----------------------------------------------------------------------------



Re: Re: Schiff oder boot nach VL (Alpha, 17. Dez 1997, 11:39:01):
~#! rn=Ringor rt=882308986 rg=entwicklung
~#! tid=882297802
Wo wir bei Booten/Schiffen sind...wie waere es mit einer Art
Fahrkartenschalter im Hafen. Also, man kauft meinetwegen ne Karte nach VL oder
Aurora oder sonstwas und steigt dann automatisch ins entsprechende Schiff und
auch im richtigen Hafen wieder aus...Notfalls wuerde mir auch ne
Triggererlaubnis ausreichen. Die Schiffe werden beim 1000sten mal Befahren
nicht! interessanter, und was Vernuenftiges (zB Zeitung lesen oder talken)
kann man dabei eh nicht machen, weil man garantiert den entsprechenden Hafen
verpasst und noch ne Runde fahren kann.
O.K. ist halt nur nen NichtSeherProblem und nen Hinweis - werd doch Seher -
hilft mir auch net, weil noch 981 AP fehlen.
Alpha langweilt sich tierisch auf den lahmarschigen Schiffen.

-----------------------------------------------------------------------------



Re^3: Schiff oder boot nach VL (Key, 17. Dez 1997, 12:52:35):
~#! rn=Alpha rt=882355141 rg=entwicklung
~#! tid=882297802
Yep aber die Karten muss man natuerlich bezahlen ...
Wundert mich eh das das noch keiner verlangt hat :)

Key

-----------------------------------------------------------------------------



Re^4: Schiff oder boot nach VL (Grimmborn, 17. Dez 1997, 13:12:41):
~#! rn=Key rt=882359555 rg=entwicklung
~#! tid=882297802
Kein Thema, gegen entsprechende Bezahlung transe ich jeden Spieler vom Hafen
zu einem beliebigen Zielort. Mit dem Bonus, dass das natuerlich illegal ist.
Preis? Hmm, VB 200.000 Muenzen, wuerd ich mal sagen...

Grimmborn der Kapitalist

-----------------------------------------------------------------------------



Re^4: Schiff oder boot nach VL (Ronda, 17. Dez 1997, 13:13:45):
~#! rn=Key rt=882359555 rg=entwicklung
~#! tid=882297802
Nein, rudern muesst Ihr! (Oder nen Trigger auf "rudere!")
*grinsend*

     Ronda

-----------------------------------------------------------------------------



Rueckgaengigmachen von "Ignoriere thread" (Ronda, 17. Dez 1997, 13:17:20):
Hi,
ich weiss, dass es nicht zu haeufig vorkommt - aber koennte man vielleicht
auch das ignorieren eines Threads rueckgaengigmachen? Ich will den einen
Thread jetzt doch lesen - und komm einfach nicht dran (ok, Artikelweise
gehts... aber die Sperre des Threads irgendwie rueckgaengigmachen waere
besser...)
Danke,
        Ronda

-----------------------------------------------------------------------------



Re^5: Schiff oder boot nach VL (Key, 17. Dez 1997, 13:52:56):
~#! rn=Grimmborn rt=882360761 rg=entwicklung
~#! tid=882297802
An jeden Platz? Auch wenn da kein Meer in der Naehe ist? :)

Key

-----------------------------------------------------------------------------



Re^6: Schiff oder boot nach VL (Schoko, 17. Dez 1997, 14:00:47):
~#! rn=Key rt=882363176 rg=entwicklung
~#! tid=882297802

Hmm also ich kenne da 2 Magier, die schon auf der vorletzten MG Party ein
komplett ausgearbeitetes Konzept (sogar schon grosse Teile funktionierenden
Code) zum Thema Meer vorgelegt haben. Leider wurde dieser Vorschlag damals von
Wargon abgelehnt, aber evtl. ist jetzt ja die Zeit sowas mal wieder
vorzukramen :)

Schoko (fand das Konzept damals ziemlich spitzenmaessig)

P.S.: damals wurde das auch durchaus in Verbvindung mit der Piratengilde
diskutiert, denn da ergeben sich dann nochmal etliche Moeglichkeiten...)

-----------------------------------------------------------------------------



Re^3: Schiff oder boot nach VL (Boing, 17. Dez 1997, 16:06:37):
~#! rn=Alpha rt=882355141 rg=entwicklung
~#! tid=882297802
Eine Art Reservierung mit automatischem Einsteigen halte ich fuer
eine gute Idee (spielerfreundlich vor allem). Wegen mir muss das nicht mal
was kosten. Es passiert oft genug, dass man mal kurz wegschaut und natuerlich 
genau in diesem Moment das Schiff ankommt und wieder abfaehrt. Und das
ist eigentlich nur nervig.
  Boing

-----------------------------------------------------------------------------



Re^4: Schiff oder boot nach VL (Trancefear, 17. Dez 1997, 19:32:27):
~#! rn=Nixihou rt=882350470 rg=entwicklung
~#! tid=882297802
Troy hat vor einiger Zeit ein entsprechendes (Programmier-)KOnzept vorgelegt.
Allerdings waren die anderen (Erz)Magier nicht so begeistert wenn ich mich
recht erinnere...

tf

-----------------------------------------------------------------------------



Re^4: Schiff oder boot nach VL (Brandir, 18. Dez 1997, 02:29:54):
~#! rn=Boing rt=882371197 rg=entwicklung
~#! tid=882297802
Boing, woher weisst Du denn, wie es ist, auf Schiffe zu warten ??? Wozu gibt
es GOTO :)
Aber Direkt-Reisen waeren wirklich nicht uebel...

Es gaebe ja auch die Moeglichkeit den Schiffsverkehr kostenlos so zu lassen,
und Geld nur fuer die Buchungen zu verlangen. Dann koennten wirklich arme
Spieler ja fahren wie bisher, waehrend diejenigen denen das zu laestig ist,
den bequemen Weg nehmen.

Brandir - ist ne faule Socke :)

-----------------------------------------------------------------------------



Re^5: Schiff oder boot nach VL (Grimmborn, 18. Dez 1997, 09:36:09):
~#! rn=Trancefear rt=882383547 rg=entwicklung
~#! tid=882297802
Ach was, das hat nur keiner verstanden... ;-)
Und als Spieler waere ich vorsichtig mit der Argumentation "das kommt von
Troy, wieso wird das nicht eingebaut?", der Schuss koennte nach hinten
losgehen.

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re^5: Schiff oder boot nach VL (Raffi, 18. Dez 1997, 17:56:04):
~#! rn=Grimmborn rt=882360761 rg=entwicklung
~#! tid=882297802
Kann ich per Zentralbankueberweisung zahlen ?

Grins
H.

P.S.: Buchung waere gerade fuer arme laggeplagte arbeitende telnetbenutzer
eine echte erleichterung.

-----------------------------------------------------------------------------



Re^5: Schiff oder boot nach VL (Wurzel, 18. Dez 1997, 18:18:02):
~#! rn=Brandir rt=882408594 rg=entwicklung
~#! tid=882297802
hm, sozusagen blinde passagiere, die nichts bezahlen, fahren so wie bisher?
find ich soweit in ordnung, aber was passiert, wenn sie entdeckt werden? :)
da gab es meines wissens recht unterhaltsame methoden, um mit blinden
passagieren umzugehen...

wurzel

-----------------------------------------------------------------------------



Re^6: Schiff oder boot nach VL (Key, 18. Dez 1997, 19:56:42):
~#! rn=Wurzel rt=882465482 rg=entwicklung
~#! tid=882297802
Haengt ihn! .) Oder lasst ihn ueber die Planke laufen! .)
Wer proggt die Haie? :)))

Nee aber ernsthaft ... waere ehrlich gesagt auch fuer so eine Buchung ... und
zwar kostenfrei ...
Ist einfach nur eine erleichterung und hat den Vorteil das man net scripten
muss =;)

Key

-----------------------------------------------------------------------------



Re^7: Schiff oder boot nach VL (Acrimon, 19. Dez 1997, 18:45:05):
~#! rn=Key rt=882471402 rg=entwicklung
~#! tid=882297802
Wozu sind wir hier in einem Fantasy-Mud?
"Buchung" ... *brrrr*

"Aufsicht" nennt man das!
Ein Ork zerrt Euch an Bord.
Ein Ork weist Euch einen Platz an der Reling zu.
Ein Ork paszt auf, dasz niemand aufsteht und von Bord kippt.
Ein Ork kuendigt die Ankunft am Zielort an.
Ein Ork packt Dich am Kragen und befoerdert Dich (auf welche Weise auch immer)
an Land.

So macht man das.

Acrimon, der Rote Ritter

-----------------------------------------------------------------------------



Mal was Grundsaetzliches... (Hangover, 19. Dez 1997, 18:45:44):
Moin!

Dieser Artikel richtet sich vor allem, aber nicht nur, an die
aktiveren Magier in diesem Mud. Worum es geht? Skripte. In den 
Hilfeseiten, dass alle Makros mit Ausnahme von Bewegungsbefehlen 
ILLEGAL sind und letztere auch nur so lange, wie der Sheriff sie 
duldet tatsaechlich erlaubt sind.
Was erlebt der durchschnittliche Mudder aber, wenn er mal
laengere Zeit an bestimmten Stellen stehenbleibt? Tank-
oder auch Verkaufsskripte sind noch das harmloseste, was mir
aufgefallen ist. Eine Menge Spieler hier haben Metzelskripte,
die noch ueber das weit verbreitete rein/spruch/raus hinausgehen.
Noch ein paar Spieler duerften sich ausgewachsene Unter-
sucheskripte halten, von nimm-alles- oder Fange-Bumerang-
Triggern mal ganz zu schweigen.
Was ich damit jetzt sagen will? Ich habe den Eindruck, dass
sich weder Spieler noch Magier um diesen Umstand gross
kuemmern, sei es, dass es ihnen egal ist, sei es, dass sie
keine Lust haben, 'Nachteile' zu erleiden. Von mir aus kann 
das auch so bleiben, aber dann wuerde ich mir eine eindeutige
Aussage seitens der Magier wuenschen wieviel Skript gestattet
ist und wieviel nicht, und wie und ob dann dagegen vorgegangen
wird. Der jetzige Zustand passt mir nicht, denn mir bringt
ein MUD keinen Spass, wenn ein nicht unbetraechtlicher Anteil
von Spielern einfach nur skriptend durch die Landschaft laeuft.

So, vielleicht mach ich mich damit unbeliebt, aber meiner 
Meinung nach gibts hier vielleicht Diskussionsbedarf.

-Hangover



-----------------------------------------------------------------------------



Re^8: Schiff oder boot nach VL (Grimmborn, 19. Dez 1997, 18:50:50):
~#! rn=Acrimon rt=882553505 rg=entwicklung
~#! tid=882297802
Jo, und die Rechtschreibung der Orks allein ist dann schon ein Grund, sie
umzunieten. ;-)
Und wenn die Orks platt sind gibts bis zum naechsten reset keinen service
mehr? Gute Gelegenheit fuer Spieler sich unbeliebt zu machen oder statt man
ein Schiff mit 20 Matrosen aus, rauhe, erfahrene, kraeftige Gesellen?

GdA

-----------------------------------------------------------------------------



Re: Mal was Grundsaetzliches... (Wurzel, 19. Dez 1997, 19:10:04):
~#! rn=Hangover rt=882553544 rg=entwicklung
~#! tid=882553544
du richtest den artikel vor allem an die aktiveren magier. da zaehle ich mich
durchaus dazu... fuehle mich aber trotzdem nicht betroffen davon. skripter
zu haengen oder sonstwie hinzurichten ist sache des sheriffs, einzig und
allein. ein "normalmagier" hat kaum die richtigen moeglichkeiten, da etwas zu
unternehmen (und wenn doch, so ist das nicht erwuenscht/erlaubt). etwas
effektives koennen nur erzmagier tun, und die haben das eben dem sheriff
uebertragen. punkt.
ob das sinnvoll ist, die last auf einen einzigen abzuladen, ist eine andere
sache. moeglicherweise liegt es daran, dass das eine ziemlich undankbare
aufgabe ist, die nicht allzu viele leute uebernehmen wollen (und diejenigen,
die sie liebend gern uebernehmen wuerden, sind in der regel ungeeignet :).
ausserdem fuehrt die tatsache, dass es in einer hand liegt, zu einer gewissen
gleichbehandlung aller faelle (theoretisch jedenfalls), und das ist auch in
ordnung.
natuerlich gaebe es die moeglichkeit, skripter allgemein zum abschuss
freizugeben. das gaebe dann aber auch zweifelhafte bis ungerechtfertigte
abschuesse, und das wollen wir doch lieber nicht...

wurzel (mag auch keine skripter, hat aber keinen nerv auf sheriff/henker)

-----------------------------------------------------------------------------



Re^9: Schiff oder boot nach VL (Morgoth, 19. Dez 1997, 19:34:02):
~#! rn=Grimmborn rt=882553850 rg=entwicklung
~#! tid=882297802
Hey, hast Du Dir etwa meine Galeere schon angesehen ;-))
M*

-----------------------------------------------------------------------------



Re: Mal was Grundsaetzliches... (Nachtwind, 20. Dez 1997, 03:57:16):
~#! rn=Hangover rt=882553544 rg=entwicklung
~#! tid=882553544

>Dieser Artikel richtet sich vor allem, aber nicht nur, an die
>aktiveren Magier in diesem Mud. 
Hmm, finde ich etwas problematisch. Ich bin doch sehr
dafuer, weiterhin nur den sheriff mit solchen fragen zu
beschaeftigen, ansonsten sind missbrauch und ungerechtigkeit
tuer und tor geoeffnet. mir grauts vor ner horde von 50
lv 25-hilfssheriffs, die wild um sich loeschen, spielpausen 
verteilen und sonstiges. abgesehen davon ist die problematik 
den meisten kleinen mags wohl sch....egal, wofuer ich auch 
vollstes Verstaendnis hab :)

>Worum es geht? Skripte. In den 
>Hilfeseiten, dass alle Makros mit Ausnahme von Bewegungsbefehlen 
>ILLEGAL sind und letztere auch nur so lange, wie der Sheriff sie 
>duldet tatsaechlich erlaubt sind.
Was natuerlich hahnebuechener quark ist. 
denn diese regelung, konsequent durchgesetzt, wuerde dieses
mud an vielen stellen schwer spielbar machen und 70-80% der seher
(nur mal so geschaetzt) in die illegalitaet treiben :)
das wahre problem, auf das du wohl abzielst, ist die eklatante
diskrepanz zwischen unmoeglich scharfer regelung (nur
bewegungsbefehle) und vollkommen anderer realitaet im mud
(wohl kaum ein seher ohne irgendwelche stecke waffe weg/zuecke
waffe-sonstwas-macros). durch diese diskrepanz wird eine riesige
grauzone aufgespannt, in der wirklich spielschaedigende metzel-
scripte schoen untergehen und mitschwimmen. wie soll auch bei 
jemanden ein unrechtsbewusstsein aufkommen, wenn er weiss, das 
der allergroesste teil seiner mitspieler diese utopische
keine-scripte-regel ebenfalls nicht einhaelt/nicht einhalten kann?
was ich mir wuenschen wuerde, waere eine durchdachte und 
differenzierte script-regelung. es muesste einfach mal eine
liste von dingen erstellt werden, die nicht nicht nur toleriert,
sondern schlicht und ergreifend legal sind. sowas wie

1) macros, die nur auf das veraendern einer bewaffnung/ruestung
innerhalb des spielerobjekts abzielen, sind erlaubt.
2) wegescripte sind erlaubt, sofern sie nur richtungsbefehle enthalten
und befehle, die zum sofortigen weiterkommen ohne kampf notwendig
sind.
3) blah usw

dann koennte man endlich die leute trennen, die nur eine sehnen-
scheideentzuendung beim spielen vermeiden wollen, und die, die 
durch vollscripten und koerperliche abwesenheit anderen das 
spiel versauen. momentan ist ein trve, der im kampf durch
makro die waffe wechselt (was keinen stoert), gleichgestellt mit
einem vollscripter, der mir vor der nase alles wegkillt und 
'nimm alles aus leiche' triggert (was mich sehr stoert).
solange das so ist, kann man solche leute auch nicht
vernuenftig verfolgen.

>[...]

>Von mir aus kann 
>das auch so bleiben, aber dann wuerde ich mir eine eindeutige
>Aussage seitens der Magier wuenschen wieviel Skript gestattet
>ist und wieviel nicht, und wie und ob dann dagegen vorgegangen
>wird. Der jetzige Zustand passt mir nicht, denn mir bringt
>ein MUD keinen Spass, wenn ein nicht unbetraechtlicher Anteil
>von Spielern einfach nur skriptend durch die Landschaft laeuft.
allerdings sei angemerkt, das ich das fuer eine keineswegs so
grosse problematik halte. die anzahl der vollscripter ist
relativ gering, und die leute eigentlich bekannt. 
meine meinung dazu ist ist, das diese leute von mir aus
lv100 damit erreichen koennen. geht mir ziemlich am ar... 
vorbei. ich weiss, was ich davon zu halten hab.

nachtwind. dessen wegescripte manchmal auch mehr als [nosw] enthalten.


-----------------------------------------------------------------------------



Gelesene Artikel (Anacrion, 20. Dez 1997, 10:27:51):

Hiho :)
Ich hab da so eine kleine Idee:

Koennte man nicht die Artikel selber als gelesen markieren, so, dass sie, wenn
sie verlegt werden, immer noch als gelesen gelten ? Ich finde es reichlich
dumm, wenn ein (noch nicht beendeter) Thread von mehr als 60 Artikel verlegt
wird, und ich mich wieder durchkauen muss....

Anac* 

-----------------------------------------------------------------------------



Re^3: Mal was Grundsaetzliches... (Key, 20. Dez 1997, 17:37:24):
~#! rn=Grimmborn rt=882635677 rg=entwicklung
~#! tid=882553544
Ja ... das sind die Teile von denen NW zu recht sagt das sie zu hart sind ...
Und was stand damals in der Zeitung?
Keiner hat was gegen ein steck schwert weg, feuerball, zuecke schwert makro
...

Key benutzt sowas selber ... denn ohne hackt man wie bekloppt auf die Tastatur
und das ist ja wohl auch net Sinn der Sache. :)

-----------------------------------------------------------------------------



Re: Gelesene Artikel (Grimmborn, 20. Dez 1997, 17:38:36):
~#! rn=Anacrion rt=882610071 rg=entwicklung
~#! tid=882610071
So wie Du das sagst gaebe es zwei Moeglichkeiten: Entweder muesste man bei
jedem Spieler explizit abspeichern, welche Artikel er gelesen hat. Schau Dir
an, wieviel in der mpa steht, dazu kommt der Verwaltungsaufwand, wenn Artikel
aus der mpa verschwinden. So viel Speicher gibts ja gar nicht...
Oder Du speicherst bei jedem Artikel gleich noch mit, welche Spieler ihn
gelesen haben. Auch sehr umfangreich und aufwendig.

So wie ich das mitbekommen habe ist das leider tatsaechlich ein technisches
Problem, das sich nicht so leicht loesen laesst.

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re^3: Mal was Grundsaetzliches... (Ringor, 20. Dez 1997, 17:42:55):
~#! rn=Grimmborn rt=882635677 rg=entwicklung
~#! tid=882553544
Worauf Nachtwind wohl hindeuten moechte, ist, dass auch die Definition von
'Skript' in der angesprochenen Hilfeseite etwas am Problem vorbei geht. 

Danach ist naemlich schon jedes Key-Binding wie "stecke waffe weg%;
feuerball%; zuecke waffe" strikt verboten.

Verfolge das, und 90% aller Spieler, die mit Client spielen, spielen illegal
und koennen geloescht werden.

Genau zu solchen Key-Bindings aber kamen am Anfang, als das Skriptverbot
eingefuehrt wurde, auch von hohen Magiern die Aussage, dass fuer sowas keiner
geloescht wuerde.

Und genau dadurch haben wir jetzt eine wunderschoene Grauzone mit "Skripten",
die zwar verboten sind, aber geduldet werden.

Was Hangover da aber zurecht stoert, ist die Tatsache, dass auch die
Vollskripte, gegen die das Verbot urspruenglich mal ging, noch unbehelligt
rumlaufen.

Ringor

-----------------------------------------------------------------------------



Re^4: Mal was Grundsaetzliches... (Grimmborn, 20. Dez 1997, 17:43:23):
~#! rn=Key rt=882635844 rg=entwicklung
~#! tid=882553544
Jaja, diskutiert worden ist viel, in der mpa stand viel, gueltig ist das, was
auf der Hilfeseite steht.
Diese Konstruktion "ist verboten, wird aber nicht verfolgt" ist hier genauso
unbefriedigend wie bei der Nichtverfolgung kleinerer Cannabismengen...

Grimmborn der Atheist sagt: "Haengt alle Kiffer!"

-----------------------------------------------------------------------------



Re^5: Mal was Grundsaetzliches... (Key, 20. Dez 1997, 17:53:28):
~#! rn=Grimmborn rt=882636203 rg=entwicklung
~#! tid=882553544
Grimmi ... wenn man nur das zulaesst was irgendwo geschrieben steht gute nacht
...
Wir verlassen usn teilweise noch auf das was mags sagen ... du sagst jetzt nur
netterweise die koennen sagen was sie wollen, es gilt nur was da steht ...

Oki dann will ich das naechste mal wenn was eingefuehrt wird erst alles
darueber wissen! Und zwar schriftlich.

Key

-----------------------------------------------------------------------------



Re^6: Mal was Grundsaetzliches... (Grimmborn, 20. Dez 1997, 18:22:52):
~#! rn=Key rt=882636808 rg=entwicklung
~#! tid=882553544
Ach was, wie kommst DU auf die Idee, Du haettest hier Rechte? ;-)
Aber vielleicht bin ich bischen falsch verstanden worden: Ich finde den
Ist-Zustand nicht gut, aber die  Loesung ist nicht, die Regeln zu ignorieren,
sondern sie zu aendern.

GdA

-----------------------------------------------------------------------------



Re^7: Mal was Grundsaetzliches... (Key, 20. Dez 1997, 18:23:48):
~#! rn=Grimmborn rt=882638572 rg=entwicklung
~#! tid=882553544
Yep und darin sind wir uns wohl alle einig :)

Nur wird es wohl ne ganze Weile dauern bis das kommt ;)

Key

-----------------------------------------------------------------------------



Re: Re: Gelesene Artikel (Babs, 20. Dez 1997, 20:01:03):
~#! rn=Grimmborn rt=882635916 rg=entwicklung
~#! tid=882610071
So schwer ist es aber nun auch wieder nicht zu loesen. Es ist voellig
unnoetig, dass beim Verlegen eines Artikels dessen Datum geaendert wird,
und sogar ausgesprochen schwachsinnig, dass auch noch der Autor veraendert
wird. 
Selbst wenn man die Veraenderung scheut, jedem Artikel eine permanente ID zu
geben, koennte man bei konstantem Datum wenigstens durch ein simples
"uebergehe alles bis..." die Duplikate uebergehen.

-----------------------------------------------------------------------------



Re^3: Gelesene Artikel (Ringor, 20. Dez 1997, 20:07:53):
~#! rn=Babs rt=882644463 rg=entwicklung
~#! tid=882610071
Soweit ich Loco verstanden habe, ist das Problem ein anderes:

Bei jeder Rubrik wird gespeichtert, bis zu welchem Datum ein Spieler die
Artikel gelesen hat. Wenn Du jetzt z.B. "entwicklung" durch hast, und die
Artikel nach "diskussion" verlegt werden, wobei Du in "diskussion" aber noch
mehrere Tage alte Artikel nicht gelesen hast, so waeren in der Rubrik jetzt
also neuere Artikel, die fuer Dich aber schon "alt" sind.

Sprich: mit dem Merken des Datums des zuletzt gelesenen Artikels in einer
Rubrik ist es nicht getan.

Ringor

-----------------------------------------------------------------------------



Re^5: Mal was Grundsaetzliches... (Helva, 20. Dez 1997, 20:46:32):
~#! rn=Grimmborn rt=882636203 rg=entwicklung
~#! tid=882553544
Das gehoert jetzt natuerlich nicht hierhin, aber in deutschland werden auch
kleine Cannabismengen bzw. Besitzer dieser strfarechtlich verfolgt. Es kommt
lediglich unter bestimmten Voraussetzungen z.B. erste mal entdeckt worden,
sehr kleine Menge etc. zur Einstellung des Verfahrens vor bzw. ggf. in der
gerichtsverhandlung, z.T. jedoch nur unter Auflagen (z.B. Geldbusse).
Helva hasst hinkende Vergleiche ;)

-----------------------------------------------------------------------------



Re^3: Gelesene Artikel (Freund, 21. Dez 1997, 00:17:23):
~#! rn=Babs rt=882644463 rg=entwicklung
~#! tid=882610071
Hm,
die mpa merkt sich doch eh nur das Datum (allerdings in Sekunden ;-) von jeder
Rubrik, also im Prinzip den juengsten Artikel, den man gelesen hat.
Das heisst, wenn die Rubrik geaendert wird, weiss "deine" mpa nicht, dass sie
a) den Zeitindex hochsetzen muss, falls Du in der neuen Rubrik keine Artikel
gelesen hattest (z.B. weil es keine gab), und
b) nicht, ob Du nicht auch ungelesene Artikel in der neuen Rubrik doch gelesen
haben moechtest.

Wenn man nun das Datum beim Verlegen nicht aendert, muesste man schon einen
neueren Artikel in der Rubrik gelesen haben, damit man die alten nicht
bekommt, jedoch, wenn man dann noch nicht die verlegten gelesen hatte, wird
man sie auch nie lesen koennen.

Tja, im Moment ist das Speichern der Infos, welche Artikel gelesen sind,
minimal gehalten, und das ist eine wichtige Sache. Vielleicht sollte man
einfach mal darueber nachdenken, dass es unnoetig ist _alle_ Artikel einer
Diskussion zu verlegen. Es genuegt doch einen Artikel zu schreiben, man habe
den aktuellen Artikel verlegt. Dann koennen die, die _eigentlich_ die neue
Gruppe nicht abboniert haben, auch weiter mitlesen, und die uebrigen koennen
in der neuen Gruppe antworten.

Das wollen wir uns nun hinter die Loeffel schreiben und Cat bekommt eine
Property P_NEWSFLASH, in die wir das reinschreiben. ;)

Freund, heute mal als Jounalist...

-----------------------------------------------------------------------------



Re: Re: Gelesene Artikel (Morgoth, 22. Dez 1997, 08:01:24):
~#! rn=Grimmborn rt=882635916 rg=entwicklung
~#! tid=882610071
Genau. Das 'gelesen' wird einfach ueber die Zeit geregelt. d.h. Es wird immer
die zeit des letzten artikels mitgespeichert, den du gelesen hast. wenn du
verschiebst, wird dem artikel eine neue zeit verpasst, also.....noch mal
lesen.
M*

-----------------------------------------------------------------------------



Re^5: Schiff oder boot nach VL (Teddy, 22. Dez 1997, 10:24:34):
~#! rn=Grimmborn rt=882360761 rg=entwicklung
~#! tid=882297802
Fuer 200K wuerdest du etwas illegales machen und das Risiko eingehen,
geloescht zu werden?

Teddy ueberlegt sich das nochmal ;)

-----------------------------------------------------------------------------



riechen und lauschen (Silvana, 22. Dez 1997, 11:05:12):
Hi.
Ich habe eben das aus Fernwest, Wald, Warok, VLand und einigen anderen
Gegenden bekannte Lauschen und Riechen generell in die Mudlib eingebaut.
Mit dem naechsten Reboot wird das aktiv. Dadurch kann es stellenweise
zu voruebergehenden Problemen kommen (schlimmstenfalls kann man irgendwo
nichts mehr riechen, wos vorher ging). Das sollte sich aber mit der Zeit
geben. Es kann sein, dass an einigen Stellen noch etwas nachgebessert werden
muss. Mir sind leider nicht alle existierenden 'Inselloesungen' bekannt, 
aber bevor noch mehr Einzelloesungen entstehen, hab ichs lieber in die
Lib eingebaut. :)

  Silvana (hofft, dass es nicht zu viel Probleme gibt)

PS: Ach, ja: Doku schreibt Freund hoffentlich....

-----------------------------------------------------------------------------



Re: riechen und lauschen (Trancefear, 22. Dez 1997, 11:22:35):
~#! rn=Silvana rt=882785112 rg=entwicklung
~#! tid=882785112
Na endlich :-)

tf

-----------------------------------------------------------------------------



Re^4: Mal was Grundsaetzliches... (Boing, 22. Dez 1997, 13:21:47):
~#! rn=Ringor rt=882636175 rg=entwicklung
~#! tid=882553544
Das Problem ist, dass es von Magierseite aus nahezu unmoeglich ist
solche Vollskripte zu entdecken. Zu einer Ueberwachung von Spielern
hat hier naemlich wirklich niemand Lust (naja, vielleicht gibt es
ausnahmen, aber nicht bei den Entscheidungstraegern). Als Spieler hat
man viel eher die Moeglichkeit ein Skript zu entdecken, allerdings geht
halt kaum einer her und meldet das dann dem Sheriff, und ich kann auch
diese Haltung irgendwo verstehen. Ich selbst spiele in letzter Zeit
relativ aktiv, dabei ist mir aber noch kein Skript aufgefallen. Was
also sollen wir machen?
  Boing

-----------------------------------------------------------------------------



Re: riechen und lauschen (Boing, 22. Dez 1997, 13:24:15):
~#! rn=Silvana rt=882785112 rg=entwicklung
~#! tid=882785112
Solange ich weiterhin alles mit 'untersuche' beschreiben darf ist mir
das recht. :)
  Boing, der keine Lust auf riechen und lauschen hat

-----------------------------------------------------------------------------



Re^5: Mal was Grundsaetzliches... (Hangover, 22. Dez 1997, 13:24:43):
~#! rn=Boing rt=882793307 rg=entwicklung
~#! tid=882553544
Gute Frage, was sollen wir machen?

Mein Artikel ziet darauf ab, dass im Prinzip jedes kleine Macro
verboten ist. Ausdruecklich verboten. Im Gegensatz dazu haelt
sich kaum jemand dran - daraus kann man jetzt 3 schluesse ziehen:

1. ignorieren, dann geht alles weiter wie vorher
2. in irgendeiner form durchgreifen (dann haetten wir kaum noch seher)
3. evtl. kleinigkeiten ala waffe zurueckstecken, feuerball, waffe
   zuecke legalisieren.

Welche der 3 oben genannten Alternativen nun eintritt, liegt wohl
an uns allen.

Hangover

-----------------------------------------------------------------------------



Re^5: Mal was Grundsaetzliches... (Raffi, 22. Dez 1997, 17:16:00):
~#! rn=Grimmborn rt=882636203 rg=entwicklung
~#! tid=882553544
Jo, bin ich auch dafuer - und die Raucher auch gleich ....

Gruss
H.
(Gegen Schweinsbraten oder Kekse /Schokotorte hat ja keiner was oder ?)

-----------------------------------------------------------------------------



Re^3: Gelesene Artikel (Acrimon, 22. Dez 1997, 18:29:51):
~#! rn=Morgoth rt=882774084 rg=entwicklung
~#! tid=882610071
Man kann doch auch einfach die Artikel so verlegen, dasz sie ihre alte Zeit
behalten und keine neue Zeit verpaszt bekommen.
Dann ist das Problem wenigstens teilweise geloest.

Acrimon, der Rote Ritter

-----------------------------------------------------------------------------



Re^4: Gelesene Artikel (Ringor, 22. Dez 1997, 21:33:37):
~#! rn=Acrimon rt=882811791 rg=entwicklung
~#! tid=882610071
Das Problem besteht dann aber immer noch. Es sei denn, Du hast in allen
Rubriken rein zufaellig alle Artikel bis zu genau einer Uhrzeit gelesen.

Ansonsten werden aus einer Rubrik, in der Du alle Artikel sagen wir bis zum
20.12.1997 um 19:30 Uhr gelesen hast, Artikel vom selben Tag in der Zeit von
18-19 Uhr verlegt. Und zwar in eine Rubrik, in der Du nur Artikel bis zum
20.12.1997 gegen 17:00 Uhr gelesen hast.

Voila, und schon hast Du wieder ne Menge "neuer" aber schon gelesener Artikel.

Alle Klarheiten beseitigt? :-)

Ringor

-----------------------------------------------------------------------------



Re: Mal was Grundsaetzliches... (Fyt, 23. Dez 1997, 12:01:35):
~#! rn=Hangover rt=882553544 rg=entwicklung
~#! tid=882553544

Hangover, Du laeufst der Zeit 'n reichliches Jahr hinterher... 's is nich
mehr in, sich ueber Scripter zu beschweren :-)

Fyt.

-----------------------------------------------------------------------------



Re^5: Gelesene Artikel (Babs, 23. Dez 1997, 20:51:57):
~#! rn=Ringor rt=882822817 rg=entwicklung
~#! tid=882610071
Trotzdem wuerde die Beibehaltung des Datums _fast_ immer helfen.
Mir ist in der Praxis noch nicht vorgekommen, dass die Artikel _waehrend_
des Zeitungslesens verlegt wurden.

-----------------------------------------------------------------------------



Re^6: Gelesene Artikel (Raffi, 23. Dez 1997, 20:53:09):
~#! rn=Babs rt=882906717 rg=entwicklung
~#! tid=882610071
Bei Grimmborns Arbeitseifer, oder wenn Cat* wieder mal einen Verlegeanfall hat
ist das nicht unwarscheinlich.

Grins
H.

-----------------------------------------------------------------------------



Re^6: Gelesene Artikel (Bloodyharry, 24. Dez 1997, 02:15:06):
~#! rn=Babs rt=882906717 rg=entwicklung
~#! tid=882610071
Schliesse nie von Dir auf Andere! Das klappt nicht.
Ausserdem wuerdest Du sie durch solche Aussagen bevormunden.

bh

-----------------------------------------------------------------------------



Punkte, Info-Bug (Cheasy, 28. Dez 1997, 20:25:23):
punkte
- Cheasy der angehende Seher. ----------------------------------------
Erfahrung ........ 280162 Punkte      Abenteuer ........ 1240 (2293)

Geschicklichkeit . 15 (+3)            Ausdauer ......... 16 (+1)
Kraft ............ 17 (+1)            Intelligenz ...... 20 (+1)

Gesundheit ....... 178                Gift ............. gesund
Konzentration .... 67  (210)          Vorsicht ......... 60
Tode ............. 1                  
----------------------------------------------------------------------
Hmmmm, ich bin aber mindestens 20 mal gestorben, wieso sagt das dumme Ding,
ich waer nur einmal tot gewesen?
-Cheasy
...deutet auf einen kaefer. Aeh Bug, wie das wohl neudeutsch heisst.

-----------------------------------------------------------------------------



Re: Punkte, Info-Bug (Gnome, 29. Dez 1997, 01:06:50):
~#! rn=Cheasy rt=883337123 rg=entwicklung
~#! tid=883337123
das sind die anzahl der tode, die du noch abidlen musst, nicht deine bishe-
rigen tode.

gnOme

-----------------------------------------------------------------------------



vorschlag (Gnome, 29. Dez 1997, 02:08:16):
hiho,
hier mal ein kleiner vorschlag von mir zur vereinfachung der inv-verwaltung:

1. zuecke axt
   Du steckst die Feueraxt zurueck.
   Du zueckst die Eisaxt.

ok, geht wunderbar, nix dran auszusetzen...

2. ziehe helm an
   Du traegst bereits die Kristallkrone als Schutz der Sorte Helm.

hm, koennte man 2. nicht so wie 1. gestalten? so dass man nicht erst
"ziehe krone aus" eingeben muss?

gnOme

-----------------------------------------------------------------------------



Re: vorschlag (Trancefear, 29. Dez 1997, 10:15:31):
~#! rn=Gnome rt=883357696 rg=entwicklung
~#! tid=883357696
Man koennte aber auch andersrum:
zuecke axt
Du hast bereits das Blaschwert als Waffe gezueckt.
machen. Nur so als Gegenvorschlag :-)

tf

-----------------------------------------------------------------------------



Re: Re: vorschlag (Wurzel, 29. Dez 1997, 13:17:50):
~#! rn=Trancefear rt=883386931 rg=entwicklung
~#! tid=883357696
geht natuerlich auch. ist zwar nicht unbedingt spielerfreundlich...
aber mal im ernst: es gibt genug ungereimtheiten in der ecke. es geht wohl
ein "ziehe alles an", aber kein ausziehen gleichen stils... dabei kann ich
mich (situationsbedingt) viel schneller ausziehen als andersrum :)
man koennte natuerlich auch anderes ueberlegen: das anlegen einer ruestung
ist ein recht aufwendiger prozess, bis alles sitzt und passt geht bestimmt
mindestens eine viertelstunde rum... wieviel realismus wollen wir hier
eigentlich?

wurzel

-----------------------------------------------------------------------------



Re: Re: Punkte, Info-Bug (Cheasy, 29. Dez 1997, 13:19:44):
~#! rn=Gnome rt=883354010 rg=entwicklung
~#! tid=883337123
- Cheasy der angehende Seher. ----------------------------------------
Erfahrung ........ 295361 Punkte      Abenteuer ........ 1240 (2293)

Geschicklichkeit . 15 (+3)            Ausdauer ......... 17 (+1)
Kraft ............ 17 (+1)            Intelligenz ...... 20 (+1)

Gesundheit ....... 177 (186)          Gift ............. gesund
Konzentration .... 81  (210)          Vorsicht ......... 60
Tode ............. 1                  
----------------------------------------------------------------------
>
Soso? und warum muss ich jetzt (mehr als 24 Stunden spaeter) immer noch einen
Tod abidlen?

Wenn ich Bug schreibe, meine ich Bug.
-Cheasy

-----------------------------------------------------------------------------



Re^3: Punkte, Info-Bug (Yaren, 29. Dez 1997, 14:57:54):
~#! rn=Cheasy rt=883397984 rg=entwicklung
~#! tid=883337123
Es sind trotzdem die Tode, die Du abidlen musst ... BTW: hast Du die ganzen 24
Stunden geidlet? Wenn ja, dann ist es eher die Tatsache, dass Du die
Todesfolgen nicht mittlerweile ueberwunden hast ein Bug ...

Yaren

-----------------------------------------------------------------------------



Re^4: Punkte, Info-Bug (Cheasy, 29. Dez 1997, 14:59:12):
~#! rn=Yaren rt=883403874 rg=entwicklung
~#! tid=883337123
Ich hate bis dahin etwa vier stunden geidlet.
-Cheasy
P.S: Dank Wurzel ist das problem jetzt wohl geloest.

-----------------------------------------------------------------------------



Re^3: Punkte, Info-Bug (Trancefear, 29. Dez 1997, 17:11:11):
~#! rn=Cheasy rt=883397984 rg=entwicklung
~#! tid=883337123
Meinst Du, Du kommst hier mit laeppischen 24 Stunden weg? :-)

tf

-----------------------------------------------------------------------------



Re^4: Punkte, Info-Bug (Trancefear, 29. Dez 1997, 17:12:51):
~#! rn=Yaren rt=883403874 rg=entwicklung
~#! tid=883337123
Hm.. besser waers wenn man was tun muesste (und wenn man laenger als 5 min
idelt, wird die "regenerations-uhr" abgeschaltet)

nur meine Meinung... tf

-----------------------------------------------------------------------------



Re^4: Punkte, Info-Bug (Cheasy, 29. Dez 1997, 17:42:32):
~#! rn=Yaren rt=883403874 rg=entwicklung
~#! tid=883337123
Hm. Irgendwie scheint es sich noch nicht herumgesprochen zu haben, das Mudden
manche auch geld kostet -- und das nicht zu knapp, dank unserer telekotz.
Naja, von qualifizierter Seite hoert man ja, dass dran gearbeitet wird. 
trotzdem, um nochmal was klarzustellen:
1
3
5
Tode:...<n ist in den hilfeseiten NICHT erklaert -- und ausserdem ist's mehr
als laestig, wenn man mehrere Tode per Modem abidlen muss. sacht mal, zahlt
eigentlich die Telekom inzwischen Provision ans MG?
-Cheasy
...sieht die Diskussion mit einem lachenden und einem weinenden Augen.

-----------------------------------------------------------------------------



Re^5: Punkte, Info-Bug (Pra, 29. Dez 1997, 18:06:36):
~#! rn=Cheasy rt=883413752 rg=entwicklung
~#! tid=883337123
Zum 101. Male:

Wer sagt denn, dass man idlen muss? Es gibt im MG genug Sachen, die man
auch mit 5 Toden im Nacken unternehmen kann. Ein bisschen mehr Phantasie,
mein Herr!

Pra.

-----------------------------------------------------------------------------



Re^3: vorschlag (Gnome, 29. Dez 1997, 23:54:58):
~#! rn=Wurzel rt=883397870 rg=entwicklung
~#! tid=883357696
hm, also ich versuchs nochmal zu erklaeren:
ich wollte einfach nur, dass man ein ruestungsteil anziehen kann, ohne
tippen zu muessen, dass man es auszieht, genauso wie man eine waffe
zueckt, ohne explizit tippen zu muessen, dass man sie vorher wegsteckt.
das kann doch nicht so schwer sein und wuerde eine ungemeine tipp-er- 
leichterung darstellen. also bespielsweise:
> ziehe helm an
> Du ziehst die Kristallkrone aus.
> Du ziehst den Drachenhelm an.

waer doch klasse, oder? :)

gnOme

-----------------------------------------------------------------------------



Re^4: vorschlag (Wurzel, 30. Dez 1997, 01:20:14):
~#! rn=Gnome rt=883436098 rg=entwicklung
~#! tid=883357696
was versetzt dich in die ueberzeugung, du muesstest es nochmal erklaeren? :)
ist schon klar, was du willst. ist auch sinnvoll. was ich nur sagen wollte
war, dass es auch noch andere baustellen gibt, die in der gleichen ecke zu
suchen sind. wenn man also dort anfaengt was zu aendern, macht man sinnvoll
gleich alles, damit es nicht eine ewige flickschusterei wird.

wurzel

-----------------------------------------------------------------------------



Re^5: vorschlag (Gnome, 30. Dez 1997, 01:26:46):
~#! rn=Wurzel rt=883441214 rg=entwicklung
~#! tid=883357696
na denn mach mal... :)
lasse auf deine worte taten folgen...

gnOme

-----------------------------------------------------------------------------



Re^6: vorschlag (Wurzel, 30. Dez 1997, 01:27:59):
~#! rn=Gnome rt=883441606 rg=entwicklung
~#! tid=883357696
falsche adresse. fuer sowas sind die erzis zustaendig :)

wurzel kann sich wieder erfolgreich um arbeit druecken :)

-----------------------------------------------------------------------------



Re^5: Punkte, Info-Bug (Boing, 30. Dez 1997, 15:05:04):
~#! rn=Cheasy rt=883413752 rg=entwicklung
~#! tid=883337123
Auch auf die Gefahr, dass ich mich wiederhole ... man muss Tode nicht
abidlen ... Manche lernen es offensichtlich nie.
  Boing

-----------------------------------------------------------------------------



Re^5: Punkte, Info-Bug (Acrimon, 30. Dez 1997, 20:53:26):
~#! rn=Cheasy rt=883413752 rg=entwicklung
~#! tid=883337123
Das war jetzt wohl schon der 10. Artikel, in dem "Tode abideln" vorkommt ...
lebt ihr denn alle in einem Wolkenkuckucksheim (bei Oma Wetterwachs), oder hat
Euch das Regenrohr nicht mehr vom Maulwurf zurckverwandelt, oder hat Lars Euch
ein Spatzenhirn eingesetzt, weil Tod bei Eurem letzten Sterben euer voriges
in seinem Geschlamp verlegt hatte?
Auch wenn man noch mit 5 Toden belastet ist, kann man kaempfen und questen und
suchen und reden.
Und vor allem wundert mich, dasz jemand, der ueber Modem spielt, nicht auf
diese Idee kommt, wo er doch extra fuer seine falsche Annahme, er muesse lange
ideln, viel Geld berappen musz.

Acrimon, der Rote Ritter

-----------------------------------------------------------------------------



Re^4: vorschlag (Gast1, 30. Dez 1997, 22:59:06):
~#! rn=Gnome rt=883436098 rg=entwicklung
~#! tid=883357696
So einfach geht das aber nicht. Es gibt ja auch Ruestungsteile, die man "zu
mehreren" tragen kann ("MISC"-Ruestungen, z.B. die Amulette bei Oma). Fuer den
Spieler sind die oft nicht von "normalen" Rustungen zu unterscheiden, aber
rein technisch gilt fuer diese Teile der "gegenseitige Ausschluss" nicht. Wenn
man nun 2 Amulette vom "richtigen Amulett-Typ" hat und ein anderer hat ein
"richtiges" udn ein "falsches" Amulett - der eine zieht das eine automatisch
aus, wenn er das andere anzieht, un der andere nicht... das koennte zu
Verwirrungen fuehren. Ich galaube, deshalb wird auch ein Ruestungsteil nicht
automatisch ausgezoegn beim tragen des naechsten.

gastX aka T.F.
PS: sorry fuer den swirren stil, kein tf und alles scrollt :-)

-----------------------------------------------------------------------------



Re^6: Punkte, Info-Bug (Cheasy,  5. Jan 1998, 11:58:27):
~#! rn=Acrimon rt=883511606 rg=entwicklung
~#! tid=883337123
So, nu nochmal aus der Sicht eines Modemspielers:
Man stirbt irgendwo. es gibt irgendwelche Mali auf die Stats
(Int/GE/Kraft/Ausdauer). Man versucht genau dahin zu rennen, wo man gerade
abegenibbelt ist, um sein Zeug wenigstens rauszuholen und stirbt ein zweites
Mal. Und eventuell auch noch ein drittes Mal. Naja, wer danach noch ZTs in der
SSP suchen kann, oder irgendwelche vernueftigen NPCs metzeln, der ist schon
ziehmlich gut. Aber da hier soviele der Meinung sind, man muesse Todesfolgen
nicht  abidlen -- erklaert mir mal, warum bei Punkte jetzt "kein Malus" steht?
-Cheasy
...hat urspruenglich nur auf die Mehrdeutigkeit im Befehl "Punkte"
hingewiesen: wenn man gerade Tode abidlet (schon wieder!) steht bei Punkte und
Info, wieviele man noch abidlen muss. in der Form Tode: 3 (zum Beispiel) das
ist irrefuehrend. Hab ichmich jetzt klar ausgedrueckt?

-----------------------------------------------------------------------------



Re^7: Punkte, Info-Bug (Gnome,  5. Jan 1998, 12:03:07):
~#! rn=Cheasy rt=883997907 rg=entwicklung
~#! tid=883337123
nein.

gnOme

-----------------------------------------------------------------------------



Re^7: Punkte, Info-Bug (Gloin,  5. Jan 1998, 14:35:17):
~#! rn=Cheasy rt=883997907 rg=entwicklung
~#! tid=883337123
Jammerlappen, Pullerpott, Sandhocker, blutiger Amateur.
Habe ich mich jetzt klar ausgedrueckt? Welchen Kram brauchst Du bitte-
schoen, um Bluemchen zu pfluecken? Ausserdem ist das hier ein _M_UD,
da kann man dann auch mal einen anderen fragen, ob der nicht die Kar-
toffeln aus dem Feuer kullert. Wenn es nicht gerade beim Balrog ist.

Gloin

-----------------------------------------------------------------------------



Re^8: Punkte, Info-Bug (Alpha,  5. Jan 1998, 15:04:33):
~#! rn=Gloin rt=884007317 rg=entwicklung
~#! tid=883337123
Hm, welcher HLP hat denn Lust mir das Kloster auf Toeters Insel 2-3h NPC-frei
zu halten? Wohl kaum einer...und da liegt der Hund begraben...zum
Bluemchenpfluecken braucht man Zeit - und wenn man zu schwach ist, die NPCs
selbst zu entfernen, ist man am Arsch...Es komme die Bluemchenpflueckergilde,
Alpha meldet sich schonmal an...

-----------------------------------------------------------------------------



Re^9: Punkte, Info-Bug (Yendi,  5. Jan 1998, 15:10:11):
~#! rn=Alpha rt=884009073 rg=entwicklung
~#! tid=883337123

Bluemchenpflueckergilde?  Hmmmm....

Mit Botanisiertrommel, Lupe, Nachschlagewerk...
Das Gildengewaechshaus bietet saemtliche Pflanzen, die irgendwo im MG wachsen,
frei Haus (natuerlich nur fuer Gildenmitglieder)...

Yendi geraet ins Schwaermen


-----------------------------------------------------------------------------



Re^9: Punkte, Info-Bug (Gnome,  5. Jan 1998, 15:11:05):
~#! rn=Alpha rt=884009073 rg=entwicklung
~#! tid=883337123
also toeters kloster war ein _ganz_ schlechtes beispiel fuer dein argument.

gnOme, heute einzeilig

-----------------------------------------------------------------------------



Re^10: Punkte, Info-Bug (Alpha,  5. Jan 1998, 15:12:47):
~#! rn=Gnome rt=884009465 rg=entwicklung
~#! tid=883337123
Ist die Drakonier-Pyramide ein besseres Beispiel? Da sterbe ich auch gleich :(

-----------------------------------------------------------------------------



Re^11: Punkte, Info-Bug (Anatol,  5. Jan 1998, 15:18:22):
~#! rn=Alpha rt=884009567 rg=entwicklung
~#! tid=883337123
Ich glaube, dass die Gegenden, die man erforschen muss, um irgendwo weiter-
zukommen, um die noetigen Faehigkeiten zu erlangen, damit man die Gegenden
auch "metzeln" koennte, eher in der Minderzahl sind. Wer zu den Drakoniern
forschen geht, dem passiert nichts, solange er nicht Unruhe stiftet, oder
taeusche ich mich da? Und bei Toeters Insel ist es wohl aehnlich - man wird
oft genug gewarnt. Und als HLP, der die Insel kennt, hat man nirgendwo 
Probleme. Selbst wenn es Nonnen statt Moenche waeren - was ja ein enormer
Anstieg der Schwierigkeit waere... . o O ( FRAUEN! ).

Mag sein, dass Cheasy recht damit hat, dass die Anzeige in "Punkte" irre-
fuehrend ist. Aber alleine das "abidlen", das er so gerne verwendet, klingt
so laecherlich... sorry, Cheasy, g'schoss'n.

Aber ich bin ja ein Wurstseher, besser man nimmt den Artikel nicht ernst.

Anatol


-----------------------------------------------------------------------------



Rucksaecke (Cheasy,  5. Jan 1998, 15:30:18):
in CHeafy:
i             
Ruestungen:
 Ein Rucksack (geschlossen) und (angezogen).
> gib rucksack an cheasy
Du gibst Cheasy den Rucksack.
----
in Cheasy:
Cheafy gibt Dir den Rucksack.
i
Waffen:
 Ein Kuechenmesser.                     Ein Langschwert (gezueckt).
Ruestungen:
 Ein Rucksack (geschlossen) und (angezogen).
---
Find ich toll, der Rucksack bleibt angezogen, waehrend ich den weitergeben :-)
-Cheasy und Cheafy beim debuggen.

-----------------------------------------------------------------------------



Re^9: Punkte, Info-Bug (Hangover,  5. Jan 1998, 16:18:18):
~#! rn=Alpha rt=884009073 rg=entwicklung
~#! tid=883337123
Mumpitz!

Was Toeters Kloster angeht, kannst Du da auch ohne Metzeln durch. Du musst
eben nur wissen wie. Sich da zu beschweren ist meiner Meinung nach nichts
als Aufschnittsehertum.

Yours truly Hangover
(der auch mit 3 Toden noch metzeln geht)

-----------------------------------------------------------------------------



Re^10: Punkte, Info-Bug (Sting,  5. Jan 1998, 17:13:32):
~#! rn=Hangover rt=884013498 rg=entwicklung
~#! tid=883337123
Aehm, Alpha:
Es soll tatsaechlich Gegenden geben in denen man forschen kann ohne zu
metzeln...
(Hab ich mir sagen lassen)


Sting

-----------------------------------------------------------------------------



Re^10: Punkte, Info-Bug (Gloinson,  5. Jan 1998, 20:00:17):
~#! rn=Hangover rt=884013498 rg=entwicklung
~#! tid=883337123
Aber er ist ja gar kein Seher :) Er ist eine Spielerwurst wie ich.
Wer metzeln will, muss damit rechnen zu sterben. Wenn er sich bloed
anstellt. So ist der Lauf der Dinge.

Gloin

-----------------------------------------------------------------------------



Re^7: Punkte, Info-Bug (Grimmborn,  5. Jan 1998, 22:52:15):
~#! rn=Cheasy rt=883997907 rg=entwicklung
~#! tid=883337123
Also, alles was ich aus Deiner Schilderung lese ist, dass Modemspieler
scheinbar nicht sonderlich intelligent sind. Eines der aeltesten FLW hier ist
der Spruch "Ich geh mir mal meine Sachen da wiederholen, wo ich eben gestorben
bin."
Mal im Ernst, Du schreibst, dass Du da ein- und eventuell zweimal drauf
reinfaellst, anscheinend bei jedem Deiner Tode, und erwartest dann Mitleid und
eine Aenderung des Systems? Nur so als Frage: Faellt Dir wenigstens auf, wie
peinlich das ist?

(Grimmborn) der Atheist, heute mal invis

-----------------------------------------------------------------------------



Regeldiskussionen (Phygos,  6. Jan 1998, 13:09:03):
Schlage die Einrichtung einer rechtskommission fuer das MG vor. Inklusive
staendigem Gerichtshof  Staatsanwaltschaft Strafverfolgungsbehoerde und
Denunziationspraemie sowie grossem Lauschangriff vor.
Damit duerfte dann auch dem penibelsten Kleinkraemer gedient sein :)
Kinners trinkt doch erstmal einen Kakao bevor ihr euch immer gleich auf die
Palme begebt.
Leben und leben lassen 
Gruss  euere Sprengmeister.

-----------------------------------------------------------------------------



Re: Regeldiskussionen (Trancefear,  6. Jan 1998, 15:59:09):
~#! rn=Phygos rt=884088543 rg=entwicklung
~#! tid=884088543
Voellig unnoetig. Highlander ist Polizei, Richter und Henker in einer Person.
Nach Jahren der "Weichspuelerpolitik" durch Catweazle wird (endlich?)
gehobelt. Und wo gehobelt wird, da fallen Spaene.. kein Grund zur Aufregung,
das gibt sich. Spieler sind extrem flexibel, die passen sich den widrigsten
Bedingungen an.

tf.

-----------------------------------------------------------------------------



ebenen (Pra,  6. Jan 1998, 17:58:58):
Hallo...

Ich wuensche mir ...
   ... einen Befehl 'ebenen ein', der die gleiche Funktion hat wie der Befehl
'ebenen an'. Nur ein kleiner Aufwand fuer Hate, aber ein grosser Fortschritt
fuer die ganze MG-Gemeinde... ;-)


Pra.

-----------------------------------------------------------------------------



Re: Re: Regeldiskussionen (Anatol,  6. Jan 1998, 18:04:23):
~#! rn=Trancefear rt=884098749 rg=entwicklung
~#! tid=884088543
Deine unheimlich schlauen Artikel scheinen sich auch den widrigsten
Bedingungen anzupassen, Trancefear... 

Anatol (*pffft*)


-----------------------------------------------------------------------------



Re: ebenen (Taragon,  6. Jan 1998, 19:07:01):
~#! rn=Pra rt=884105938 rg=entwicklung
~#! tid=884105938
Hey gute Idee...
Das Problem habe ich auch sehr oft, dass ich (warum auch immer) dauernd
'ebenen ein' tippe :))
Das AddCmd() in "ebene & ein |an" zu erweitern duerfte wohl wirklich nicht das
Problem sein :)))

--
Taragon, der einzige mit mehr Online-Tagen als RL Tagen :)

-----------------------------------------------------------------------------



Re: Re: ebenen (Gloinson,  6. Jan 1998, 23:17:21):
~#! rn=Taragon rt=884110021 rg=entwicklung
~#! tid=884105938
Und ich wuensche mir dann auch noch gleich, dass dieser mistige Befehl,
sorry, nicht alle Ebenen einschaltet, wenn man das mal aus Versehen
getippt hat weil MG wieder taubstumm war. Biiiiiittttteeeee :)

Gloin

-----------------------------------------------------------------------------



Re: ebenen (Hate,  7. Jan 1998, 15:55:54):
~#! rn=Pra rt=884105938 rg=entwicklung
~#! tid=884105938
Beim naechsten einloggen ...
Hate.

-----------------------------------------------------------------------------



Re: Re: ebenen (Yendi,  8. Jan 1998, 12:07:55):
~#! rn=Hate rt=884184954 rg=entwicklung
~#! tid=884105938

OK, Leute, eine Runde Applaus bitte fuer unsere Magier!
(Bevor jetzt schon wieder die ersten Stimmen laut werden, die den Magiern
 Faulheit, Arroganz, Machtgier und Fusspilz vorwerfen...)


-----------------------------------------------------------------------------



Re^3: ebenen (Tunixgut,  8. Jan 1998, 12:15:13):
~#! rn=Yendi rt=884257675 rg=entwicklung
~#! tid=884105938
Also FUSSPILZ is 'ne Luege, Yendi... Zumindestens bei MANCHEN...

's Karate-Zwerchle...

-----------------------------------------------------------------------------



Re^4: ebenen (Yendi,  8. Jan 1998, 12:18:32):
~#! rn=Tunixgut rt=884258113 rg=entwicklung
~#! tid=884105938
Ich wollte ja auch bloss ein "Danke!" sagen und der MUDwelt nahelegen.

YTY


-----------------------------------------------------------------------------



erwarte (Rikus, 13. Jan 1998, 22:15:35):
Hiho,
Bei ERWARTE <name> wird nun nicht mehr staendig die gesamte Liste
angezeigt, sondern nur noch der Name an die Liste angehaengt bzw. von 
ihr entfernt.
Die Gesamtliste kommt nun bei ERWARTE ohne Argument, wird umgebrochen
und scollt nur noch soweit durch, wie es durch ZEILEN eingestellt
wurde. Weiterhin ist sie nun alphabetisch sortiert.

ciao, Rikus

-----------------------------------------------------------------------------



Re: erwarte (Zephyr, 13. Jan 1998, 22:17:53):
~#! rn=Rikus rt=884726135 rg=entwicklung
~#! tid=884726135

    DANKE!!!

Zephyr, nicht mehr scrollend.

-----------------------------------------------------------------------------



Re: Re: erwarte (Rikus, 13. Jan 1998, 22:20:04):
~#! rn=Zephyr rt=884726273 rg=entwicklung
~#! tid=884726135
ich vergass... natuerlich erst nach ENDE/REBOOT.

Rikus

-----------------------------------------------------------------------------



Re^3: erwarte (Silvana, 13. Jan 1998, 22:41:52):
~#! rn=Rikus rt=884726404 rg=entwicklung
~#! tid=884726135
*sigh*... Jetzt seh ich ja nicht mehr, in welcher Reihenfolge die 
Leute auch meine Liste gekommen sind... *sniff* Naja, schau ich halt
direkt in die Propertie...

  Silvana (schmarrt rum)

-----------------------------------------------------------------------------



Abgucken. (Larissa, 14. Jan 1998, 09:05:21):
Hoi,

ich spiele ja oft im SilberLand und weil ich finde, dass
es dort viele huebsch und nuetzliche Dinge gibt, frage ich mich,
ob man das eine oder andere ein bisschen abgucken sollte. Zum Beispiel
kann man dort automatisch Leichen auspluendern, wenn man dies eingeschaltet
hat.
Enorm praktisch!!! War das nix fuers MG?

Lari, metzelnmetzelnmetzeln.

-----------------------------------------------------------------------------



Re: Abgucken. (Gnome, 14. Jan 1998, 09:14:25):
~#! rn=Larissa rt=884765121 rg=entwicklung
~#! tid=884765121
und warum?
das gibt
 1. nur aerger und unstimmigkeiten mit anderen, die grade metzeln,
und
 2. ist es wohl nicht so schwer ein "nal" zu tippen...

gnOme

-----------------------------------------------------------------------------



Re: Re: Abgucken. (Zarniya, 14. Jan 1998, 09:33:32):
~#! rn=Gnome rt=884765665 rg=entwicklung
~#! tid=884765121
Hi, 

ich denke, genauso, wie die Silberlander nicht hingehen und alles beim MG
abschauen, sollte man das auch im MG halten, denn sonst unterscheiden sich
irgendwann die einzelnen Muds ueberhaupt nicht mehr. Das MG wuerde dadurch
einen Teil seines Gesichtes verlieren und wenns hier alles gaebe, was es
woanders gibt, dann macht man die anderen Muds kaputt. Ich denke aber, dass es
kein Problem ist, wenn es Dir da besser gefaellt und Du Dich ins SL
zurueckziehst.

Zarniya

-----------------------------------------------------------------------------



Re: Re: Abgucken. (Embe, 14. Jan 1998, 09:39:43):
~#! rn=Gnome rt=884765665 rg=entwicklung
~#! tid=884765121
also das autopl"undern im SL is entstanden, grade weil es
streit um leicheninhalte gab.
konkreter anlas war (soweit ich das aus der zeitung entnehmen konnte)
das jemand einen kill gemacht hat, w"ahrend ein anderer daneben stand
der andere war idle, und hat nach dem kill dem ersten spieler
alles weggeschnappt (w"ahrend er idle war) weil er n"amlich
in seinem client einen trigger aud tote leichen hatte.
(oops, tote leichen? was schreib ich denn da?)

mit dem autopl"undern is garantiert der der/die die leiche pl"undert
der/die auch den kill gemacht hat.

gruss, eMBee (ohne trigger und doppelten boden)(admin auf SILKE)

-----------------------------------------------------------------------------



Re^3: Abgucken. (Hangover, 14. Jan 1998, 09:43:07):
~#! rn=Embe rt=884767183 rg=entwicklung
~#! tid=884765121
Moin!

Also der Vorfall im SL war, dass jemand auf 'faellt tot zu Boden'
getriggert hat...ich kann mich dunkel dran erinnern, dass man hier
fuer sowas soundso geloescht wird, wenn man diesen Triggern nicht
schnellstmoeglich abstellt - dass das SL diese Sache jetzt anders
handhabt, ist deren Sache und vielleicht keine schlechte Idee.

Andererseits: wenn ich schon Kram mitnehmen will, dann kann 
ich mir aliase auf "nimm alles [aus leiche]" setzen, und
komme damit genauso gut oder sogar besser zurecht als wenn
das automatisch laeuft. Insofern kann ich die Aufregung
nicht recht verstehen :)

Hangover
(der sowieso immer zu faul ist den ganzen Krempel zu pluendern)

-----------------------------------------------------------------------------



Re^3: Abgucken. (Gnome, 14. Jan 1998, 09:46:27):
~#! rn=Embe rt=884767183 rg=entwicklung
~#! tid=884765121
wenn jeder nen leichen-trigger benutzt, wird der die sachen bekommen, dessen
trigger schneller ist...
was DAS dann noch mit gerechtigkeit zu tun hat, musst du mir mal erklaeren.

gnOme

-----------------------------------------------------------------------------



Re^4: Abgucken. (Boing, 14. Jan 1998, 09:49:22):
~#! rn=Gnome rt=884767587 rg=entwicklung
~#! tid=884765121
Er hat geschrieben, dass ein in der Mudlib verankertes automatisches
Pluendern von Leichen gerechter ist, als das Triggern. Allerdings muss
das auch nicht unbedingt gerecht sein, z.b. wenn einer schon ewig an 
einem NPC rumklopft, ein zweiter kommt rein und macht den letzten Schlag.
  Boing

-----------------------------------------------------------------------------



Re^5: Abgucken. (Hobo, 14. Jan 1998, 10:14:14):
~#! rn=Boing rt=884767762 rg=entwicklung
~#! tid=884765121
Nebenbei bemerkt: Wer nimmt heutzutage noch die Sachen von NPC mit, die nur im
Weg stehen?

Was fange ich nur mit 3 Eisaexten, -schwertern oder -keulen, 5 Schleimbeuteln,
2 Eiszapfen etc. an...

Da dauert das Ablegen doch laenger als ein "nimm *blubber* aus leiche".
Und wie gesagt: Fuer so einen Trigger wurde hier schon ein Spieler geloescht.

Hobo - stellt fest: kein Bedarf

-----------------------------------------------------------------------------



Re^6: Abgucken. (Denti, 14. Jan 1998, 10:27:58):
~#! rn=Hobo rt=884769254 rg=entwicklung
~#! tid=884765121

Nun ja, das ganze ist abschaltbar, insofern muss man ja nicht alles mit-
nehmen, sondern kann auch wie bisher konventionell alles von hand nehmen, 
was man braucht, oder zu brauchen meint. 
Zu Hangover: es gibt selbstverstaendlich genug Trigger dieser Art im MG
, und sie laufen auch, bisher habe ich da nie irgendeine Art von Konsequenz
mit loeschen oder nicht loeschen gesehen, insofern gewinnt tatsaechlich
derzeit derjenige, dessen trigger schneller ist.
Missbrauch eines automatischen pluenderns ist nie ausgeschlossen, aber
ich finde das eine der Vorteile der SL-Mudlib (wie uebrigens auch das 
thist).

Denti mag beide Welten und automatisches pluendern.

-----------------------------------------------------------------------------



Re^6: Abgucken. (Ringor, 14. Jan 1998, 10:31:41):
~#! rn=Hobo rt=884769254 rg=entwicklung
~#! tid=884765121
Also wenn wir schon etwas abgucken wollen, dann laegen mir andere Sachen
deutlich mehr am Herzen.

So z.B. das "spotte" und die thist.

Streitereien zwischen Spielern wird ein automatisches Auspluendern kaum
beheben koennen, so lange man nicht auch noch mitzaehlt, wer wieviel Prozent
des Monsters gemetzelt hat. 

Ringor

-----------------------------------------------------------------------------



Re^7: Abgucken. (Denti, 14. Jan 1998, 10:35:22):
~#! rn=Ringor rt=884770301 rg=entwicklung
~#! tid=884765121

Stimmt, spotte, thist und die Bank sind eigentlich interessantere 
Errungenschaften.

Denti mal wieder.

-----------------------------------------------------------------------------



Re: Re: Abgucken. (Hardil, 14. Jan 1998, 14:26:12):
~#! rn=Gnome rt=884765665 rg=entwicklung
~#! tid=884765121
 Gnome schreibt:

> 2. ist es wohl nicht so schwer ein "nal" zu tippen...

Wieso "nal"?
Nimm alles aus Leiche wird doch schon seit Jahrzehnten mit "nl" abgekuerzt. :)
Und wenn wir gerade mal wieder beim Thema sind, ich moechte doch bitte
betonen, dass das einzig wahre Alias fuer Folge Hund "ff" und nicht "fh" ist.
(Diesen THread hatten wir schon lange nicht mehr)

-Hardil.

-----------------------------------------------------------------------------



Re^3: Abgucken. (Gundur, 14. Jan 1998, 14:48:26):
~#! rn=Hardil rt=884784372 rg=entwicklung
~#! tid=884765121
Also da muss ich leider enschieden wiedersprechen!
Das Jahrezehntelangeali fuer Nimm alles aus Leiche ist leider nal.
Und folge Hund gibts gar net sonder nur folge Bernhardiner und dafuer ist das
ali logischerweise fb, ne?
G.

-----------------------------------------------------------------------------



Re^4: Abgucken. (Gnome, 14. Jan 1998, 14:50:46):
~#! rn=Gundur rt=884785706 rg=entwicklung
~#! tid=884765121
danke gundur :)
1. das, und
2. "nl" ist das ali fuer "nimm $* von leiche" :)

gnOme

-----------------------------------------------------------------------------



Re^5: Abgucken. (Hardil, 14. Jan 1998, 14:52:16):
~#! rn=Gnome rt=884785846 rg=entwicklung
~#! tid=884765121

Dummschwaeetzer!
:-)
natuerlich gibts 'folge hund'. Der Beweis:

Es gibt einen sichtbaren Ausgang: westen.
Ein Bernhardiner.
> folge hund
Du folgst dem Bernhardiner ueber einen verschneiten Gebirgspass.

Aber mit 'ff' gehts doch einfacher.

Seid ihr Ignoranten. :-)

-Hardil.

-----------------------------------------------------------------------------



Re^8: Abgucken. (Alpha, 14. Jan 1998, 14:52:20):
~#! rn=Denti rt=884770522 rg=entwicklung
~#! tid=884765121
Das, was es sich wirklich abzuguggen lohnen wuerde, ist das i(nventory) aus
dem PK. Da bekommen alle Sachen, die ich bei verkaufe alles behalte, nen *.
Einfach, uebersichtlich. 
Alpha.

-----------------------------------------------------------------------------



Re^6: Abgucken. (Alpha, 14. Jan 1998, 14:54:02):
~#! rn=Hardil rt=884785936 rg=entwicklung
~#! tid=884765121
Bei mir ist das nicht ff (laege an zweitnaechsten), sondern bb. b ist ja schon
fuer betrete $* reserviert, also blieb nur noch bb.
Alpha.

-----------------------------------------------------------------------------



Re^7: Abgucken. (Nachtwind, 14. Jan 1998, 15:17:26):
~#! rn=Ringor rt=884770301 rg=entwicklung
~#! tid=884765121
Na da muss ich doch mal einen 'Find ich auch' Artikel
drauf schreiben, Ringor!

Find ich auch!

'thist' und 'spotte' (und auch 'ziehe alles aus') waeren wirklich 
mal faellig, so nette kleine aenderungen lockern das spiel doch 
mal wieder auf. ich schreib das mal zu den wuenschen fuer's 
neue jahr :)
allerdings steht davor wohl eher die (wie ich finde eklige) tendenz 
zu inselloesungen. 'behalte alles' zB hat fuer meinen geschmack nix 
in patryns amulett zu suchen... also bitte nicht demnaechst ein 
thist-stirnband und den 'ring des spotts' (von den magischen 
'ziehe alles aus'-pantoffeln mal ganz zu schweigen...)
suedosten ein paar neue kleine verbesserungen waeren doch mal was!
*neue erzies anschiel*
im uebrigen hat sowas nix mit identitaetsverlust zu 
tun (*schiel zarnyia*), eine fehlende thist zB steht auf meiner 
'dinge, die das mg so einzigartig und liebenswert machen'-liste 
ziemlich weit unten. :) das das viel juengere und kleinere sl 
solche sachen vor dem grossen tollem mg hat, sollte wohl eher 
mal anspornen, selbst neue gimmicks einzubauen. 
dann brauchen wir das nicht klauen.

nachtwind.

-----------------------------------------------------------------------------



Re^7: Abgucken. (Silvana, 14. Jan 1998, 16:08:41):
~#! rn=Alpha rt=884786042 rg=entwicklung
~#! tid=884765121
Nenene... bb steht fuer nn - genauso wie mm uebrigens...

  Silvana (liest Zeitung)

-----------------------------------------------------------------------------



Re^8: Abgucken. (Rantanplan, 14. Jan 1998, 16:10:41):
~#! rn=Silvana rt=884790521 rg=entwicklung
~#! tid=884765121
Jawoll !!!

Endlich mal Artikel mit Sinn !!!

Folgt MIR, folgt der Pfote FH finde ich persoenlich aber weniger
anzueglich, Hardil...

*wuff*

-----------------------------------------------------------------------------



Re^8: Abgucken. (Nerdanel, 14. Jan 1998, 16:12:35):
~#! rn=Silvana rt=884790521 rg=entwicklung
~#! tid=884765121
Ja, aber nn steht fuer n :-)
Nerdanel.

-----------------------------------------------------------------------------



Re^8: Abgucken. (Patryn, 14. Jan 1998, 19:45:48):
~#! rn=Nachtwind rt=884787446 rg=entwicklung
~#! tid=884765121
dinge wie 'behalte alles' 'ziehe alles aus' 'stecke waffe weg' u.s.w.
integrier ich nur in das spezial-tool, weil ich es leid war, zahlreichen
erz auf den keks zu gehen und fertig programmierte (!) loesungen per
cut&paste in die mudlib zu wuergen. ich seh ja ein, das dies etwas zeit
kostet, da man sich den kram ja doch noch mal kurz anschaun muesste
 (geht ja dann auf seine verantwortung), aber das gleich gar keiner sich
durchringen konnte, hat mich dann etwas gefrustet. nun ja, mein zweitie
wills halt nett haben, und so kam das tool ;)

------
patryn

-----------------------------------------------------------------------------



Re^9: Abgucken. (Alpha, 14. Jan 1998, 20:56:28):
~#! rn=Patryn rt=884803548 rg=entwicklung
~#! tid=884765121
Wenn Du solch nette Sachen als Erzi schreiben wuerdest, bin ich dafuer, dass
Du einer wirst. Ich freu mich drauf.
Alpha, wedelt mit dem "Patryn for Erzi"-Faehnchen.

-----------------------------------------------------------------------------



Re^4: Abgucken. (Ark, 14. Jan 1998, 22:10:49):
~#! rn=Gundur rt=884785706 rg=entwicklung
~#! tid=884765121
Ich hatte uebrigens immer 'z' dafuer genommen :-)

Wen's interessiert ...


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^5: Abgucken. (Trancefear, 14. Jan 1998, 23:55:43):
~#! rn=Boing rt=884767762 rg=entwicklung
~#! tid=884765121
Das kann auch sehr kontraproduktiv sein, vor allem wenn der NPC Dinge dabei
hat, die man gar nicht braucht oder will, toedliche Dinge... :-)

tf

-----------------------------------------------------------------------------



Re^10: Abgucken. (Mingo, 15. Jan 1998, 00:33:00):
~#! rn=Alpha rt=884807788 rg=entwicklung
~#! tid=884765121
Noe, lieber nicht. Meist stecken da naemlich zusaetzlich noch zwoelf
patrynsche Verbesserungen drin. O-Ton Patryn zu den Ratten: 'och, ich
weiss selbst gar nicht mehr so richtig, was die machen'.

Gloin - seufzt die RGB-Lib an und nimmt Alpha das Faehnchen weg.

-----------------------------------------------------------------------------



Re^4: Abgucken. (Morgoth, 15. Jan 1998, 07:46:25):
~#! rn=Gnome rt=884767587 rg=entwicklung
~#! tid=884765121
Wo ist das Problem?
SetProp(P_DIS_MSG,"irgendeinebloedetodesumfallmeldung");
Und schon kannste die trigger in die tonne kloppen. und der, der fuer alle
leichen nen trigger hat....da frag ich mich wie der mit den weissen jacke und
den aermeln hinten tippen kann??? (Vielleicht mit der Nase?)
M*

-----------------------------------------------------------------------------



Re^4: Abgucken. (Morgoth, 15. Jan 1998, 07:48:29):
~#! rn=Gundur rt=884785706 rg=entwicklung
~#! tid=884765121
Also das ali fuer die leiche ist natuerlich auch 'leiche'
M*

-----------------------------------------------------------------------------



Re^8: Abgucken. (Morgoth, 15. Jan 1998, 07:50:45):
~#! rn=Silvana rt=884790521 rg=entwicklung
~#! tid=884765121
Yep.
M*

-----------------------------------------------------------------------------



Re^8: Abgucken. (Hobo, 15. Jan 1998, 08:09:12):
~#! rn=Silvana rt=884790521 rg=entwicklung
~#! tid=884765121
Genau, Toechterchen!
Und fuer den sehenden Zweitie, der die MPA sowieso nur als Postamt mit sich
rumtraegt, heisst das ali fuer nn norden. :)

Tschuessi

  Hobo - spielend

-----------------------------------------------------------------------------



Re^11: Abgucken. (Patryn, 15. Jan 1998, 11:18:16):
~#! rn=Mingo rt=884820780 rg=entwicklung
~#! tid=884765121
es gibt doch immer wieder leute, die auf diese ausrede reinfallen...
...ich hab dann zumindest meine ruhe :)

------
patryn ein faehnchen restlos zerschnipselnd

-----------------------------------------------------------------------------



Re^8: Abgucken. (Yendi, 15. Jan 1998, 13:05:15):
~#! rn=Nachtwind rt=884787446 rg=entwicklung
~#! tid=884765121

Nachtwind schrieb am 14. Jan 1998, 15:17:26 :
> suedosten ein paar neue kleine verbesserungen waeren doch mal was!

Na, da schlaegt doch mein Triggertrigger an!

Yendi


-----------------------------------------------------------------------------



Re^9: Abgucken. (Nachtwind, 16. Jan 1998, 02:00:25):
~#! rn=Yendi rt=884865915 rg=entwicklung
~#! tid=884765121
weniger trigger als ali, weil mein schrottclient mit dem speedwalk fuer
dikumuds sonst aus so s <cr> o <cr> macht. deshalb ein ali so=suedosten :)
merk ich natuerlich nicht, wenn ich das einlese... wieso werden ueberhaupt
bei #textin alis ausgefuehrt... *grummel client an*

nachtwind sagt: ohne tf hat man mehr spass :)

-----------------------------------------------------------------------------



KWER (Rikus, 16. Jan 1998, 23:57:09):
Hi,

Ein "I" in der Ausgabe bei KWER zeigt nun Idler ab 10 Minuten an, ein
"i" Idler ab 2 Minuten.

ciao, Rikus

-----------------------------------------------------------------------------



Re: KWER (Mingo, 17. Jan 1998, 00:06:12):
~#! rn=Rikus rt=884991429 rg=entwicklung
~#! tid=884991429
Gibt es noch ein grosses J fuer die Idler ab einer Stunde obendrauf?
Und da Mahatma grade neben mir sitzt und dumme Vorschlaege macht:
'kwer idle' ist auch noch genehm :)
Nicht, dass Du noch denkst, Du waerst jetzt fertig, Rikus.

Gloin

-----------------------------------------------------------------------------



remote (Boebbel, 17. Jan 1998, 00:31:12):
Achja Rikus, nochwas... :-)

Vielleicht bringst Du das mal auf die Reihe, bisher hats keiner
geschafft, dass folgendes endlich richtig funktioniert:

ali egal r: $1 testet #, ob $1 jetzt endlich gross geschrieben wird

Das liefert folgende Ergebnisse zurueck:

 egal boebbel
  Boebbel testet aus der Ferne, ob boebbel endlich gross geschrieben wird.

 egal Boebbel
  Einen solchen Spieler gibt es derzeit nicht.

Beide Ergebnisse sind Muell, und das kann doch nicht so schwer sein,
das mal auszubessern. Das traue ich mir ja zu! ;-) (*stichel*)

Ein Boebbel und kein boebbel... ;)

-----------------------------------------------------------------------------



Re: Re: KWER (Rikus, 17. Jan 1998, 00:36:08):
~#! rn=Mingo rt=884991972 rg=entwicklung
~#! tid=884991429
okok, kwer idle geht nun auch :)

Rikus

-----------------------------------------------------------------------------



Re: Idlemeldung (Gundur, 17. Jan 1998, 12:05:27):
~#! rn=Cymrik rt=884997370 rg=entwicklung
~#! tid=884997370
Done!
Gruesse von Gundur

-----------------------------------------------------------------------------



Re: Re: Idlemeldung (Avalon, 17. Jan 1998, 14:36:45):
~#! rn=Gundur rt=885035127 rg=entwicklung
~#! tid=884997370
Dafuer koennte man jetzt einen der Punkte einsparen... :)
das kwer ist auf einmal so breit...

ava.-

-----------------------------------------------------------------------------



Re^3: Abgucken. (Fyt, 18. Jan 1998, 17:20:58):
~#! rn=Hardil rt=884784372 rg=entwicklung
~#! tid=884765121

Hardil, Hardil... also ueber 'nal' streite ich gar nicht, denn 'nl' heisst
ja schon 'nimm leiche' - auch wenn das hier keiner braucht.

'ff' und 'fh' sind natuerlich beide falsch, es heisst 'fb' wie 'folge
bernhardiner'.

Fyt.

-----------------------------------------------------------------------------



Re^4: Abgucken. (Fyt, 18. Jan 1998, 17:21:27):
~#! rn=Gundur rt=884785706 rg=entwicklung
~#! tid=884765121

Na gut, Gundur war schneller ;-)

Fyt.

-----------------------------------------------------------------------------



Re^5: Abgucken. (Fyt, 18. Jan 1998, 17:25:33):
~#! rn=Morgoth rt=884846785 rg=entwicklung
~#! tid=884765121

Ein Killscript braucht allerhand Umfall-Trigger...

Fyt, keine weisse Jacke habend.

PS: Natuerlich sollte das umgefallene Vieh dann auch weg sein...

-----------------------------------------------------------------------------



Re: Re: KWER (Fyt, 18. Jan 1998, 17:30:40):
~#! rn=Mingo rt=884991972 rg=entwicklung
~#! tid=884991429

Fuer Inschenoere heissen die optionben natuerlich j und J, weil 
I ja der Strom ist...

Fyt...

-----------------------------------------------------------------------------



Re: Re: KWER (Trancefear, 19. Jan 1998, 19:35:18):
~#! rn=Mingo rt=884991972 rg=entwicklung
~#! tid=884991429
Fehlt noch das "e" und das "a"

tf

-----------------------------------------------------------------------------



erwarte (Rikus, 20. Jan 1998, 11:38:33):
Hi,
"erwarte" mit Parameter "-u" verhindert nun die alphabetische Sortierung der
Liste, sie wird in der Reihenfolge ausgegeben, in der man die Namen
eingetragen hat.

cu, Rikus

-----------------------------------------------------------------------------



Re: erwarte (Mingo, 20. Jan 1998, 12:21:22):
~#! rn=Rikus rt=885292713 rg=entwicklung
~#! tid=885292713
Fein gemacht. Kriegst ein Bienchen ;-) Nee, ehrlich. Ein Erzmagier, der
es allen Noerglern recht macht ist hoechst selten. Da haben wir mit Dir
wohl 'nen Gluecksfang gemacht.

Gloin

-----------------------------------------------------------------------------



Re: Re: erwarte (Fyt, 20. Jan 1998, 12:46:59):
~#! rn=Mingo rt=885295282 rg=entwicklung
~#! tid=885292713
Meinst Du nicht, dass das bei allen Erzies funktioniert, wenn Du Dich nur
mit einem Knueppel, der gross genug ist, hinter sie stellst? ;-)

Fyt.

PS: Trotzdem feingemacht, Rikus ;-)

-----------------------------------------------------------------------------



Re^3: erwarte (Rikus, 20. Jan 1998, 13:02:03):
~#! rn=Fyt rt=885296819 rg=entwicklung
~#! tid=885292713
wohl kaum :) Ich habe es auch nicht wegen Nervern gemacht, was ich auch nie
machen wuerde, sondern weil mich einige drum gebeten hatten.

Rikus

-----------------------------------------------------------------------------



Re: erwarte (Pra, 20. Jan 1998, 13:41:12):
~#! rn=Rikus rt=885292713 rg=entwicklung
~#! tid=885292713
> "erwarte" mit Parameter "-u" ...

erwarte -u
-u an die Liste angehaengt.
Du erwartest jetzt -u, ...


:-)

Pra.

P.S. Ja, ich weiss, ich haette erst 'ende' machen sollen...

-----------------------------------------------------------------------------



Re: Re: erwarte (Wargon, 20. Jan 1998, 13:49:47):
~#! rn=Pra rt=885300072 rg=entwicklung
~#! tid=885292713
Dann solltest Du '-u' VOR dem 'ende' von der Liste entfernen, sonst wirst Du
es nie wieder los :)
  Wargon

-----------------------------------------------------------------------------



Re^3: erwarte (Grimmborn, 20. Jan 1998, 14:04:48):
~#! rn=Wargon rt=885300587 rg=entwicklung
~#! tid=885292713
Mist, ich will auch ein -u erwarten. Wie mache ich das jetzt? Rikus, hast Du
an eine quote-Moeglichkeit gedacht? Ich will das koennen, ohne von Hand an der
Property rumpfuschen zu muessen...

GdA

-----------------------------------------------------------------------------



Neuerung fuer Alis (Nirdavo, 20. Jan 1998, 14:16:35):
  Ich haette da eine Idee fuer alis: Wenn man ein Ali definiert, dann bekommt
man immer die Meldung 'Neues Alias xxx', selbst dann, wenn es vorher schon ein
Alias mit diesem Namen gab. Koennte man das nicht korrigieren?
  Wenn wir dann schon dabei sind, wie waere es mit einem (einstellbaren)
Ueberschreibschutz fuer Alis?

           Nirdave, heute auch mal kreativ (?)

-----------------------------------------------------------------------------



Re: Abgucken. (Trekan, 20. Jan 1998, 14:19:51):
~#! rn=Larissa rt=884765121 rg=entwicklung
~#! tid=884765121
was soll das sein? extended staubsaugermodus ?
Trekan

-----------------------------------------------------------------------------



Re^3: erwarte (Trancefear, 20. Jan 1998, 16:14:01):
~#! rn=Fyt rt=885296819 rg=entwicklung
~#! tid=885292713
Nicht jeder kann das, Fyt...

tf
PS: behalte den Knueppel einstweilen. Brauchste bestimmt nochmal :-)

-----------------------------------------------------------------------------



Re^4: erwarte (Marcus, 20. Jan 1998, 19:34:03):
~#! rn=Grimmborn rt=885301488 rg=entwicklung
~#! tid=885292713
Wie du das auch bei rm Kommandozeilenoptionen machst, Grimmborn...

Marcus (erwartet jetzt ./-u)

-----------------------------------------------------------------------------



Re^5: erwarte (Grimmborn, 20. Jan 1998, 22:57:10):
~#! rn=Marcus rt=885321243 rg=entwicklung
~#! tid=885292713
rm? Also, erwarte -rf * hat auch nicht geklappt... ;-)

Grimmborn der Atheist

-----------------------------------------------------------------------------



kwer (Rikus, 21. Jan 1998, 10:28:22):
Hi,
'j' steht nun fuer Idler ab 30 Min, 'J' ab 2 Stunden (joflike).

Rikus

-----------------------------------------------------------------------------



Re: kwer (Feuerwehr, 21. Jan 1998, 11:21:17):
~#! rn=Rikus rt=885374902 rg=entwicklung
~#! tid=885374902
Waaaaah!

Du willst uns Magier total diskreditieren, gibs zu!

   Feuerwehr (fuerchtet sich vor dem j).

-----------------------------------------------------------------------------



Geld (Rochus, 21. Jan 1998, 14:25:32):
Um die Probleme die es frueher mit Geld und aehnlichen Dingen gab
(insbesondere negative Anzahl von Muenzen usw.) zu beheben hat
Padreic sich die Muehe gemacht und das etwas umgeschrieben.
Da es zu funktionieren scheint habe ich es jetzt eingebaut.
Sollte es Probleme mit dem Geld geben, die frueher nicht aufgetreten sind,
sagt mir bitte SOFORT Bescheid.

  Rochus

-----------------------------------------------------------------------------



Re: Geld (Hangover, 21. Jan 1998, 14:26:12):
~#! rn=Rochus rt=885389132 rg=entwicklung
~#! tid=885389132
Moin Rochus!

Ich habe ein Problem mit Geld: es reicht hinten und vorne nicht
aus. Wird das jetzt auch behoben?

Hangover
(chronisch pleite)

-----------------------------------------------------------------------------



Re: Re: Geld (Rochus, 21. Jan 1998, 14:30:03):
~#! rn=Hangover rt=885389172 rg=entwicklung
~#! tid=885389132
1.) Ich sagte, Probleme die es FRUEHER NICHT GAB
2.) Wenn Du mit dem Geld nicht auskommst raeum doch mal hinter den
    Metzlern auf die alles liegenlassen...

-----------------------------------------------------------------------------



Re^3: Geld (Freund, 21. Jan 1998, 14:33:35):
~#! rn=Rochus rt=885389403 rg=entwicklung
~#! tid=885389132
He, Rochus, Punkt 2 ist eindeutig Spielerhilfe!!!

Aber, wollten wir nicht Teddy wizzen, wegen Magierhilfe?

Freund, hat lieber Alzheimer als gar keine Bekannten.

-----------------------------------------------------------------------------



Re^4: Geld (Rochus, 21. Jan 1998, 14:35:48):
~#! rn=Freund rt=885389615 rg=entwicklung
~#! tid=885389132
Ich habe es zurueck geaendert, weil doch neue Bugs auftraten.

-----------------------------------------------------------------------------



Re: kwer (Trancefear, 26. Jan 1998, 10:21:22):
~#! rn=Rikus rt=885374902 rg=entwicklung
~#! tid=885374902
Hmja... wie waers mit "S" fuer "Scheintot" (so ab 12 Stunden oder so, halt
Toeter-Niveau)? :-)

tf.

-----------------------------------------------------------------------------



Re: Re: kwer (Denti, 26. Jan 1998, 10:22:10):
~#! rn=Trancefear rt=885806482 rg=entwicklung
~#! tid=885374902

Ich wuerde vorschlagen t fuer ideln > 12h, und T fuer ideln > 24h, 
t natuerlich fuer toeter-ideln ;))

Denti

-----------------------------------------------------------------------------



Erwidere! (Bambulko, 26. Jan 1998, 14:45:24):
Mir ist aufgefallen, das man wenn man eine Mitteilung aus einem anderen Mud
bekommt, diese mit erwidere nicht beantworten kann. 
Ist es moeglich das umzustellen?

Bambulko

-----------------------------------------------------------------------------



MG-Geschichte (Kilar, 27. Jan 1998, 02:05:39):
Moin!

Mich - und bestimmt auch andere - wuerde mal interessieren, wie die
Entwicklung des MG so verlaufen ist. Ich meine damit folgendes:
- Wann wurde mit der Programmiereung und Planung begonnen?
- Wann wurde es offiziell eroeffnet?
- Welche Gilden sind wann enstanden?
- Welche grossen Aenderungen (Geldsystem, Stupse-Vergabe etc)
  wurden wann vorgenommen und wie sah das frueher eigendlich aus?

Vieleicht hat ja ein Magier oder ein Altseher Informationen darueber
und kann mal was dazu schreiben...

Kilar (neugierig :))

-----------------------------------------------------------------------------



Re: MG-Geschichte (Embe, 27. Jan 1998, 02:09:26):
~#! rn=Kilar rt=885863139 rg=entwicklung
~#! tid=885863139
ausserdem: is die MG-mudlib komplett von scratch
entwickelt worden, oder is es eine erweiterung einer anderen (welcher)?

gruss, eMBee.
--
mud administration  SILKE
mbaehr+embee@iaeste.or.at

-----------------------------------------------------------------------------



Re: Re: MG-Geschichte (Janitze, 27. Jan 1998, 08:43:54):
~#! rn=Embe rt=885863366 rg=entwicklung
~#! tid=885863139
wenn Du wissen willst, wie das MG frueher vom System her aussah, dann
geh mal ins AnderLand, fuer eine gewisse Zeit noch ist das dortige
System aehnlich dem alten MG-System

Janice

-----------------------------------------------------------------------------



Re: MG-Geschichte (Key, 27. Jan 1998, 09:20:24):
~#! rn=Kilar rt=885863139 rg=entwicklung
~#! tid=885863139
Frueher war alles besser! .)

Aber trotzdem mal ein grosses Danke an alle Magier, die hier ihre Zeit
investieren um anderen (und sich selbst) ein bisserl Spass zu goennen ,)


Key

P.S.: Und das fuer die Spieler: Auch Mags sind nur Menschen. Jeder kann mal
schlecht drauf oder genervt sein ,) Aber im Grunde sind sie alle voll oki .)

P.S.2.: *gruebel* Wenn ich mich recht erinnere hat Freund letztens einen
Artikel geschrieben indem es darum ging das das mud solange up ist, und das
wir das bestimmten mags zu verdanken haben ... Sorry Freund, aber bedanken
kann man sich nur fuer etwas von dem man was weiss ,) Und ich fuer meinen Teil
hatte keine Ahnung das was gemacht wurde .)
Hey soll net heissen das das Mud crashen soll, finde es gut das es solange
laeuft ,)
Also gute Arbeit, weiter so ,))

-----------------------------------------------------------------------------



Re: Re: MG-Geschichte (Babs, 27. Jan 1998, 09:51:09):
~#! rn=Embe rt=885863366 rg=entwicklung
~#! tid=885863139
Die MG-mudlib ist eine Ubersetzung von Nightfall[, mit im Kern relativ 
wenigen Erweiterungen (Details an Dingen, Ebenen etc.)
Eigenbau sind natuerlich Gilden, Quests, Regionen, Stufen- und Punktesystem...

-----------------------------------------------------------------------------



Re^3: MG-Geschichte (Mingo, 27. Jan 1998, 09:52:41):
~#! rn=Babs rt=885891069 rg=entwicklung
~#! tid=885863139
Und freie Mutationen sind Dinge wie Oetti, Pampers, Grimmborn ...

Gloin

-----------------------------------------------------------------------------



Re^3: MG-Geschichte (Hate, 27. Jan 1998, 10:04:03):
~#! rn=Babs rt=885891069 rg=entwicklung
~#! tid=885863139
MG hat seinerzeit die in der Entwicklung befindliche NF-Mudlib uebernommen und
es wurde dann irgendwann beschlossen das MUD in Deutsch zu machen, so dass da
eine Menge uebersetzt werden musst. War ein Spass, ne Zeitlang, wenn staendig
irgendwelche Mischungen aus Deutsch und Englisch ueber den Schirm flimmerten.

Allerdings hat die Basislib da doch eine Menge an aenderungen hinter sich.
Zum Beispiel wurde das das Zentrale Herzstueck der Mudlib properties.c fast
vollstaendig veraendert. Die NF implementation ist genau genommen eine Teil-
menge der funktionalitaet der MG properties. Naja, und dann war die NF lib 
trotz des Neuanfangs ein riesiger Wust an code, der hier leider nur zum
Teil aufgeraeumt wurde. Somit kann man die Libs nur noch in der
Funktionalitaet vergleichen, aber intern unterscheiden sie sich doch zum
grossen Teil sehr stark.

Nur so viel von der Basis. Hat mich etliche Stunden gekostet, weil wenn man
an einer Stelle was aufraeumt krachts garantiert nebenan.

Hate.

-----------------------------------------------------------------------------



Re: MG-Geschichte (Zorro, 27. Jan 1998, 13:26:32):
~#! rn=Kilar rt=885863139 rg=entwicklung
~#! tid=885863139
Die MG-Geschichte ist eine Geschichte voller missverstaendnisse ...
angefangen hat es mit ...
Computer-spiele ohne graphik sind scheisse, sowas wuerde man nie machen ...
... wie da kann man "Schnitten" kennenlernen och da kann man ja mal
reinschauen (naja die schnitten sind dann doch nur Maenner aber egal)
... dann haelt sich noch das geruecht dass hier alle suechtig sind und nicht
mehr ohne koennen ... FALSCH ich koennte jeder zeit aufhoeren ABER ich will ja
nicht :)
sind eh alle verrueckt hier ausser ICH (in der medizin auch
Geisterfahrer-syndrom genannt)
usw.

soviel zur Schablone die auf den typischen Mudder passt ...

Zorro schmunzelt.

-----------------------------------------------------------------------------



Re: MG-Geschichte (Boing, 27. Jan 1998, 15:56:15):
~#! rn=Kilar rt=885863139 rg=entwicklung
~#! tid=885863139
Also teilweise kann ich das beantworten:
Das erste mal hochgefahren wurde das Mud am 25. Maerz 1992. Damals waren
wir ein Haufen von Nightfall-Spielern und Magiern (wizards), die was
eigenes aufziehen wollten. Schon recht schnell haben wir dann beschlossen,
dass es noch ein englischsprachiges Mud einfach nicht bringt, deswegen 
haben wir es mal auf deutsch versucht. Zuerst hatte MG den Arbeitsnamen
JRMud (Jof-Rumata-Mud), erst auf einer kleinen Namensgebungsparty im Sommer
wurde nach tagelangen Diskussionen der Namen MorgenGrauen gefunden. Recht
schnell waren von dem enthusiastischen Anfangshaufen (ca. 10-15 Leute)
nur noch 3 uebrig, naemlich Jof, Rumata und ich. Wir haben dann ein halbes
Jahr alleine gewerkelt und die Grundlagen geschaffen. Danach kamen dann
neue Leute dazu, wie z.b. Hate, Sir, Olpp usw. Offizielle Eroeffnung war
dann Mitte April '93, puenktlich zum Semesterbeginn. :) Schon vorher hatten
wir aber eine Menge Stammspieler von denen mir am meisten Woelkchen, 
Caradhras, Sique und Baldur der Erste in Erinnerung geblieben sind. 
Ziemlich frueh gab es die einfache Abenteurer-Gilde, die hat sich auch bis 
auf ein paar Erweiterungen nicht gross geaendert. Danach kam die Karategilde,
gefolgt von Chaoten, Zauberern, Bierschuettlern, Klerikern und Kaempfern.
Genaue daten weiss ich nicht und die letzten vier Gilden waren vielleicht
auch in einer anderen Reihenfolge.
Grosse Aenderungen .. hmm. Also die erste grosse Aenderung war zweifellos
die Einfuehrung der Zaubertraenke, das passierte schon im ersten Jahr.
Frueher war es ueblich sich seine Attribute mit Erfahrungspunkten zu
erkaufen, das fanden wir ziemlich langweilig. Jetzt kann ich auch gleich
erwaehnen warum Baldur den Beinamen 'der Erste' erhalten hat. Er war
naemlich der Erste, der von den gleichzeitig mit den ZTs eingefuehrten
Todesfolgen profitiert hat, d.h. 1/3 XP weg. :) Grund war uebrigens die damals
noch absolut supergefaehrliche Steinbeisserhoehle. 5 Seher rein, 3 gestorben,
Steinbeisser lebten immer noch ... Naja, hat sich etwas geaendert. :)
Die zweite grosse Zaubertrank-Aenderung gab es dann ja letzes Jahr mit der
Einfuehrung des Orakels.
Ansonsten faellt mir natuerlich noch die Reform des Stufensystems ein,
wann das genau war weiss ich nicht mehr. Auf alle Faelle hing die Stufe 
davor ALLEIN von den Erfahrungspunkten ab, das hat sich ja inzwischen
gruendlich geaendert (gluecklicherweise).
Es gab natuerlich noch viele, viele, viele andere Aenderungen, hab ich aber
alle vergessen oder bin zu faul um nachzudenken. :)

  Boing

-----------------------------------------------------------------------------



Re: Re: MG-Geschichte (Hobo, 27. Jan 1998, 16:01:41):
~#! rn=Boing rt=885912975 rg=entwicklung
~#! tid=885863139
Da hat mir auchmal jemand erzaehlt, wie die ersten Zaubertraenke gesucht
wurden:
 zuende wald an etc....

Hobo - noch nicht ganz so alt, aber die Falten zeigen sich schon

-----------------------------------------------------------------------------



Eroeffnung (Boing, 27. Jan 1998, 17:06:52):
Ok, auf Wunsch von Mika hier nochmal der Artikel zur Eroeffnung des
Morgengrauens, damit steht dann auch das genaue Datum fest, 20.4.93.
--------------------------------------------------------------------
Article: 240 of de.alt.mud
Path: news.fzi.de!ira.uka.de!news.dfn.de!uni-muenster.de!dwalin!mud
From: mud@math.uni-muenster.de (Mud Administrator)
Newsgroups: de.alt.mud
Subject: MorgenGrauen - das Grauen beginnt
Date: 20 Apr 1993 07:48:04 GMT
Organization: Westf. Wilh.-Universitaet Muenster, Germany.
Lines: 146
Distribution: world
Message-ID: <1r09rk$1s4v@obelix.uni-muenster.de>
Reply-To: mud@math.uni-muenster.de
NNTP-Posting-Host: dwalin.uni-muenster.de


Unser Muensteraner Mud Morgengrauen hat jetzt einen Zustand erreicht, in dem
wir 
glauben, es auf die Spieler loslassen zu duerfen (oder umgekehrt ? Naja,
egal).

 Die Adresse lautet:

           mud.uni-muenster.de 4711
  bzw.          128.176.121.56 4711

Eigentlich wollte ich einen langen, genauen Artikel schreiben ueber dieses Mud
...
es kam nicht dazu. Seht selbst, wieso ...

Jof sagt: was setzen wir ins Subject ?
Jof sagt: MorgenGrauen - die Eroeffnung ?
Boing sagt: ganz tolles neues deutsches sagenhaftes bestes ueberhaupt
Boing sagt: wahnsinnig gutes mud eroeffnet!
Rochus grinst.
Jof sagt: :)
Jof sagt: neee das schreib ich nicht
Boing grinst.
Boing sagt: das werden sie selber merken, eben
Jof grinst.
Boing grinst.
Boing grinst ueber alle Ohren.
Jof sagt: Was schreib ich den nu ins Subject ??
Boing sagt: hmmmm ....
Boing sagt: Ein neuer Stern am Morgenhimmel: MorgenGrauen! :)
Jof sagt: MorgenGrauen - die Eroeffnung
Boing sagt: MorgenGrauen - Das Grauen beginnt!
Rochus sagt: ja, das passt besser
Jof sagt: ich poste auch noch in WWU.STUD, ok, Rochus ?
Jof sagt: oder ist da ne bessere Gruppe ?
Boing sagt: damit die muensteraner-schwemme noch weiter zunimmt? ;)
Rochus sagt: besser vielleicht - aber nicht so haeufig gelesen :)
Jof sagt: :)
Boing sagt: sind jetzt schon viel zu viele ;)
Rochus sagt: es werden bestimmt noch mehr
Jof sagt: moeglich ...
Jof sagt: wahrscheinlich ...
Jof sagt: hoffentlich :))))
Boing ruft: Es lebe Karlsruhe!!!!! :-)
Rochus sagt: lokal kann man nun einmal am besten spielen
Baldur ruft: Hmm, wieso und in welchem Zusammenhang..? :)
Boing ruft: na ueberhaupt!
Boing ruft: in jedem zusammenhang :)
Baldur ruft: Ich kann nur raten: Die Katakomben sind fertig?
Boing ruft: ach was ... neee, das dauert nich
Boing ruft: aeh, noch
Eine Erdspalte oeffnet sich und verschlingt Karlsruhe.
Boing packt Karlsruhe am Kragen und zieht es wieder raus.
Karlsruhe atmet auf.
Ein Erdbeben erschuettert Muenster.
Jof sagt: Ok wie fangen wir an ?
Boing sagt: Hallo!
Boing grinst.
Boing hat keinerlei Erfahrung mit sowas.
Jof sagt: Nach ueber einem Jahr Entwicklungszsit
Jof sagt: zeit
Boing sagt: das lieber nicht ... oder?
Jof sagt: ok :)
Boing sagt: sonst erwarten die spieler zu viel :)
Boing sagt: der tod wirkt jetzt auch :)
Jof umarmt Boing.
Jof sagt: hat mir Baldur erzaehlt
Jof sagt: ok lass uns anfangen ...
Jof sagt: aber wie ?
Rochus sagt: ja, davon war baldur ganz beGEISTert :)
Jof sagt: :)
Boing grinst daemonisch.
Rochus sagt: er fand es einfach toll, ein drittel seiner punkte abgezogen
Rochus sagt: zu bekommen :)
Jof tippt sich an die Stirn.
Jof sagt: die spinnen doch, die Romer
Boing sagt: aber er fand es wohl nicht toll genug um es gleich noch mal zu
Boing sagt: testen ;)
Rochus sagt: naja, als ausgleich dafuer geht er jetzt auf zaubertrank-suche
Rochus sagt: - sogar mit erfolg
Boing sagt: ich schreib grad nen hilfstext zu attributen ...
Rochus sagt: jof, hast du mitbekommen, was baldur jetzt alles ausprobiert?
Rochus sagt: die merkwuerdigsten sachen, wie  z.B. "zuende wald an" :)
Boing grinst.
Du hoerst die Uhr schlagen. Es ist jetzt 21 Uhr.
Boing sagt: feuerteufel ...
Jof sagt: :)
Rochus sagt: man sollte den haiavaha oder den quo.. wie hiess der noch? auf
Rochus sagt: solche feuerteufel hetzen :)
Boing sagt: quotzlipeck
Boing sagt: aber nen feuerteufgel hab ich auch :)
Ein Feuerteufel kommt an.
Boing schuettelt etwas aus seinem Aermel.
Rochus sagt: wie bist du auf diesen #%$*@-Namen gekommen ?
Rochus sagt: dort, wo es das feuerschwert gibt?
Jof sagt: HILFE
Jof sagt: ich finde keinen Anfang !
Boing sagt: rochus: ja
Rochus sagt: das macht doch nichts, jof. haupsache ist doch, dass du kein
Rochus sagt: ende findest :)
Jof sagt: ja !
Jof sagt: rochus ?
Rochus sagt: ja, jof?
Jof sagt: sag mirm mal nen Anfang !
Jof sagt: fuer mein Posting !!
Es war einmal vor langer, langer Zeit ...
Rochus sagt: Am Anfang erschuf ich Himmel und Erde...
Jof sagt: ix
Jof sagt: nix 
Jof bricht in Traenen aus.
Klein Jof hatte genug von Nightfall und wollte etwas neues ...
Etwas besseres!!
Rochus sagt: ... und am siebten Tag erschuf ich das Mud...
Etwas geniales!!!!!
Jof schreit laut!
Boing kippt vor Lachen um.
Rochus sagt: ... und ich sah, dass es gut war...
Boing sagt: wie waers damit:
Boing sagt: Wir eroeffnen, Adresse ist: pascal.uni-muenster.de 4711
Jof sagt: nein !!!!
Jof sagt: mud.uni-muenster.de 4711
Boing sagt: aber das von rochus find ich wirklich witzig :)
Jof sagt: ich habs !
Jof sagt: ich scrolle mein XWindow back
Jof sagt: und poste unser gespraech ...
Boing kippt vor Lachen um.
Du kippst vor Lachen um.
Boing sagt: aber schneid den feuerteufgel raus :)
Boing sagt: obwpohl, der kann auch bleiben ;)
Jof sagt: noe
Boing sagt: aber mein vortrag muss raus
Jof sagt: meinst du ich soll das wirklich mahcne ?
Boing sagt: das waere schon witzig :)
Jof sagt: hmmm
Jof sagt: ich lass es glaub ich
Jof sagt: ich poste nur ganz kurz die Adresse ...
Jof seufzt tief.
Boing sagt: ich find das wirklich gut :)

-----------------------------------------------------------------------------



Re: MG-Geschichte (Fyt, 27. Jan 1998, 17:29:28):
~#! rn=Kilar rt=885863139 rg=entwicklung
~#! tid=885863139
Hm, der Reihe nach...
1 und 2. Kann ich nicht beantworten ;-)
3. Gilden sind erst in der uninteressanten Neuzeit entstanden,
und zwar zuerst Karate von Rochus, dann Chaos von Zardoz, und der Rest ist
viel zu neu...
- Grosse Aenderungen haben immer genau dann stattgefunden, wenn es viel
Geschrei gegeben hat. Oder war das andersrum... *gruebel*

- frueher... frueher war alles viiiiiiiiiiel besser, da war Jof noch Jof
und Steinbeisser noch Steinbeisser.

Fyt.

-----------------------------------------------------------------------------



Finde, Beschwoere (Key, 27. Jan 1998, 19:38:02):
Halloe,
koennte man bitte einen befehl einfuehren der finde, bzw beschwoere von
spielern unmoeglich macht?

Es ist zum Teil nervend, und geht zum anderen teil auch keinen was an wo ich
bin und was ich bei mir habe.

Key

-----------------------------------------------------------------------------



Re: Finde, Beschwoere (Mingo, 27. Jan 1998, 19:43:53):
~#! rn=Key rt=885926282 rg=entwicklung
~#! tid=885926282
Da mussu durch. (Zitat soeben von Mahatma bestaetigt)

Gloin

-----------------------------------------------------------------------------



Re: Re: Finde, Beschwoere (Key, 27. Jan 1998, 19:59:50):
~#! rn=Mingo rt=885926633 rg=entwicklung
~#! tid=885926282
Oder es aendern lassen ;)

Achja ... Gruesse an Mahatma, er soll lernen net schon wieder hinter Dir am
Compi haengen ;) Alter Suchtie =;)))

Key

-----------------------------------------------------------------------------



Re: Re: MG-Geschichte (Wurzel, 27. Jan 1998, 20:00:04):
~#! rn=Boing rt=885912975 rg=entwicklung
~#! tid=885863139
naja, ganz so war es nicht, eine kleine korrektur sei erlaubt :)

ein auszug aus /log/SPONSOR:
Mit, 25. Mar 1992, 11:31:23: Jof macht Miril zum Learner.
Mit, 25. Mar 1992, 11:33:42: Jof macht Durian zum Learner.
Mit, 25. Mar 1992, 12:58:46: Miril macht Boing zum Learner.
Mit, 25. Mar 1992, 18:29:34: Jof macht Wurzel zum Learner.
Don, 26. Mar 1992, 11:02:12: Miril macht Rumata zum Learner.
Fre, 27. Mar 1992, 13:30:26: Boing macht Osterhasi zum Learner.
Fre, 27. Mar 1992, 17:09:44: Jof macht Poietix zum Learner.
Don,  2. Apr 1992, 17:06:11: Jof macht Jose zum Learner.
Don,  2. Apr 1992, 18:04:26: Jof macht Thallion zum Learner.
Fre,  8. Mai 1992, 20:07:20: Jof macht Hans zum Learner.

das war es dann, der rest kam erst 1993 dazu
davon sind wohl mehr als drei uebrig geblieben. durian und miril haben
definitiv was gemacht, und selbst osterhasi war vor kurzem wieder da...
ausserdem muss ich protestieren: mich hat nicht der enthusiasmus verlassen,
sondern der internetzugang :)
wenn ich mich recht erinnere, war hate auch sehr frueh dabei und lief als
erster spieler rum, als es noch gar nichts zu spielen gab.
die grundlegende und zentrale idee der mudlib, properties, ist hier vielleicht
erweitert und verbessert worden. aber der kern der idee stammt eindeutig aus
wesentlich frueheren tagen in nightfall und wurde dort aus der not geboren,
staendig zuwenig speicher zu haben. ohne diese not wuerde sich die mg-lib
heute nur unwesentlich von tubmud oder unitopia unterscheiden.
der eigentliche verdienst von mg liegt in meinen augen in der gewaltigen
groesse und vielfalt. andere muds moegen in ihren feinheiten besser (oder
auch nur anders, je nach geschmack) sein, aber die grosse zahl von aktiven
spielern und magiern (letztere jedenfalls, wenn man die ehemaligen mitzaehlt)
macht den reiz aus, jedenfalls fuer mich.

wurzel

-----------------------------------------------------------------------------



Re^3: MG-Geschichte (Boing, 28. Jan 1998, 08:17:30):
~#! rn=Wurzel rt=885927604 rg=entwicklung
~#! tid=885863139
Sorry, aber ich habe dennoch recht. Miril hat ganz am Anfang was gemacht
(Amaryllis) und ist dann verschwunden. Durian ist genau wie Du erst nach
langer, langer Zeit wieder aufgetaucht (wobei er deutrlich frueher dran
war als Du), Osterhasi hat alle 2-3 Jahre mal reingeschaut, aber nichts
gemacht. Hate ist vielleicht in der Gilde rumgestanden, gespielt hat er
aber nicht soviel ich weiss. Alle anderen vom Anfang sind ausgestiegen.
  Boing

-----------------------------------------------------------------------------



Re^4: MG-Geschichte (Hate, 28. Jan 1998, 11:22:24):
~#! rn=Boing rt=885971850 rg=entwicklung
~#! tid=885863139
Woran ihr Euch noch erinnern koennt. Ich muss ja zugeben, dass ich damals
erst mal in TAPPmud meinen Meister gemacht hab, bevor ich voll im MG
eingestiegen bin. Naja, einige andere MUDs winden sich in meiner Spur
immer noch :-)

Hate.

-----------------------------------------------------------------------------



Re^5: MG-Geschichte (Freund, 28. Jan 1998, 12:15:38):
~#! rn=Hate rt=885982944 rg=entwicklung
~#! tid=885863139
Hi,
es waren schoene Zeiten, mit Woelkchen (damals Trest) um die letzte der 4
Queste um die Wette zu raetseln. Denn jeder wollte ja der erste
"Spielermagier" werden...
Amaryllis, Friedhof (Fuer das erste Loesen 400000 XP, Zitat Boing: Oh, eine
Null zuviel;-) und Titiwu (Zitat Freund: Mist, ich habe keine Fackel im
letzten Raum:-) lagen hinter uns.
Uns fehlte nur noch Rumatas Eispalast. Und bis wir auf die damals etwas
abwegige Syntax mit dem Teppich gekommen sind, vergingen Online-Stunden.
Und schliesslich hatten wir es geschafft. Gluecklicherweise ich eher als
Trest, aber das war nicht wichtig, das war gluecklich. ;-)

Freund, frueher Spieler.

Versteht ihr jetzt, wieso ich in 95% der Questfragen 80% meiner Zeit brauche,
um ueberhaupt die _Frage_ zu verstehen?

-----------------------------------------------------------------------------



Re^6: MG-Geschichte (Key, 28. Jan 1998, 12:18:52):
~#! rn=Freund rt=885986138 rg=entwicklung
~#! tid=885863139
Freund dann hol die Quests alle nach ;))

Teilweise machen sie ja auch Spass :)

Key

-----------------------------------------------------------------------------



Re^8: MG-Geschichte (Freund, 28. Jan 1998, 12:28:42):
~#! rn=Freund rt=885986865 rg=entwicklung
~#! tid=885863139
Die folgende Antwort auf Keys "Freund dann hol die Quests alle nach"-Satz ist
in jeder Hinsicht ernst gemeint:
Ich warte nur darauf, dass die Standleitungspreise der Telekom AG im Maerz
fallen. Wenn ich dann eine habe, auf jeden Fall.

Freund sucht schon mal das Antragsformular "Geheime Magierzweities" in
/players/boing. ;-)

-----------------------------------------------------------------------------



Re^9: MG-Geschichte (Schoko, 28. Jan 1998, 12:40:19):
~#! rn=Freund rt=885986922 rg=entwicklung
~#! tid=885863139

Hmm also bei uns kostet die Standleitung 70,-/Monat. Ich finde das angesichts
>>200,-/Monat Telefonrechnung ziemlich guenstig. Ich glaube das wird eher
teurer.

Schoko (mit Standleitung ;))

-----------------------------------------------------------------------------



Re^10: MG-Geschichte (Wurzel, 28. Jan 1998, 18:47:30):
~#! rn=Schoko rt=885987619 rg=entwicklung
~#! tid=885863139
hm, erzaehl mir mehr von standleitungen fuer 70 mark.

wurzel (500 mark telefon im monat)

-----------------------------------------------------------------------------



Re^11: MG-Geschichte (Marcus, 28. Jan 1998, 18:52:04):
~#! rn=Wurzel rt=886009650 rg=entwicklung
~#! tid=885863139
Wenn dein Ziel zur selben Vermittlungsstelle gehoert (keine Ahnung, wie man
das rausbekommt, einfach T fragen), dann kannst du dir eine solche Leitung
fuer 70DM schalten lassen. Kostet einmalig nen Happen Geld (so 2000?DM),
aber dann monatlich nur noch 70DM. IceT@Avalon hat sowas mal gehabt.

Ciao, Marcus

-----------------------------------------------------------------------------



Re^12: MG-Geschichte (Freund, 28. Jan 1998, 22:19:53):
~#! rn=Marcus rt=886009924 rg=entwicklung
~#! tid=885863139
Ja, das ist das Problem.
Einmalig will die Telekotz fuer die EINRICHTUNG einer ISDN-Standleitung PRO
SEITE 2000.- DM haben! Spinnen die denn? JA!
Die monatlichen Kosten sind dann eher gering. Bei mir sinds trotz 800 Meter
zur Firma (=InterNetProvider) 2 Vermittlungsstellen = 140.- DM analog, 480.-
DM ISDN. Spinnen die denn? JA!

Die Funkmodemverbindung hat nicht geklappt. Zu viel Haeuser im weg. :-( Hat
noch jemand eine Idee?

Freund - 550.- DM Telekom / Monat.

-----------------------------------------------------------------------------



Re^12: MG-Geschichte (Schoko, 28. Jan 1998, 22:30:42):
~#! rn=Marcus rt=886009924 rg=entwicklung
~#! tid=885863139

Hmm 2000,- sind fuer ISDN Standleitung, ne analoge (auf der man sich
mittlerweile auch selbst ne ISDN simulieren kann) kostet 200,- pro Seite
Einrichtung.

Schoko

-----------------------------------------------------------------------------



Re^11: MG-Geschichte (Jof, 29. Jan 1998, 09:01:15):
~#! rn=Wurzel rt=886009650 rg=entwicklung
~#! tid=885863139

 Leider nur analog innerhalb EINER Vermittlungsstelle; und zudem brauchst
Du auch noch nen Provider, der Dir dann zu guenstigen Tarifen einen An-
schluss via Standleitung gestattet (Freund hat da nicht so die Pro-
bleme :), aber fuer den Normalsterblichen ist das nicht soooo easy :()

 Jof

-----------------------------------------------------------------------------



Re^7: MG-Geschichte (Teddy, 29. Jan 1998, 13:50:03):
~#! rn=Key rt=885986332 rg=entwicklung
~#! tid=885863139
Aber wehem jemand hilft Freund bei den Quests: Magierhilfe ist streng
verboten.

Teddy

-----------------------------------------------------------------------------



Re^8: MG-Geschichte (Freund, 29. Jan 1998, 15:38:00):
~#! rn=Teddy rt=886078203 rg=entwicklung
~#! tid=885863139
>Magierhilfe ist streng verboten.

...und wird mit "wizzen" bestraft, gell Learner Teddy?

Freund, nicht nachtragend, nur nichts vergessend.

-----------------------------------------------------------------------------



Re^9: MG-Geschichte (Teddy, 29. Jan 1998, 16:26:45):
~#! rn=Freund rt=886084680 rg=entwicklung
~#! tid=885863139
Teddy bettelt: Bitte nicht wizzen.
Ich tu's auch nie wieder.

Teddy

-----------------------------------------------------------------------------



Re^13: MG-Geschichte (Avalon, 29. Jan 1998, 18:24:14):
~#! rn=Freund rt=886022393 rg=entwicklung
~#! tid=885863139
Idee? Klar - umziehen :)

ava.-

-----------------------------------------------------------------------------



Re^3: kwer (Asmodis, 29. Jan 1998, 19:03:13):
~#! rn=Denti rt=885806530 rg=entwicklung
~#! tid=885374902
ich bin dafuer, idler > 12 h einfach auszuloggen ...

-----------------------------------------------------------------------------



Re: Abgucken. (Aleph, 31. Jan 1998, 17:59:18):
~#! rn=Larissa rt=884765121 rg=entwicklung
~#! tid=884765121

Jo das Sl ist toll :)

aleph...zeitungsleser ;)

-----------------------------------------------------------------------------



Re: Re: Abgucken. (Muaddib,  1. Feb 1998, 10:35:41):
~#! rn=Aleph rt=886265958 rg=entwicklung
~#! tid=884765121
Ja, Aleph, das SL ist super, aber ich wuerd trotzdem nicht kopieren, sondern
hingehen und spielen.

Mua,
SL PR :-)

-----------------------------------------------------------------------------



Re^3: Abgucken. (Wurzel,  1. Feb 1998, 11:21:59):
~#! rn=Muaddib rt=886325741 rg=entwicklung
~#! tid=884765121
mag ja sein, dass im sl einige feinheiten besser sind. die atmosphaere eines
muds kommt aber nicht dadurch, dass ich einige macros sparen kann, weil sie
als befehl schon vorhanden sind, sondern durch die spieler. und zwar sowohl
durch die zahl der aktiven als auch die auswahl. zu den im sl vorhandenen
typen kann ich nicht viel sagen, aber bei der zahl... 32:3 fuer mg momentan :)
das reicht mir jedenfalls als argument.

wurzel

-----------------------------------------------------------------------------



Re^3: Abgucken. (Cheasy,  1. Feb 1998, 19:23:21):
~#! rn=Muaddib rt=886325741 rg=entwicklung
~#! tid=884765121
Da kann ich mich Muaddib nur anschliessen. In der Mudszene gibt soviel, das
einfach nur abgeguckt wird -- da ist's doch schon angenehmer dort hinzugehen
wo das original ist und dort zu spielen. Das MG wird nciht umsonst als die
Bildzeitung der deutschsprachigen Muds bezeichnet.
-Cheasy

-----------------------------------------------------------------------------



Re^4: Abgucken. (Grimmborn,  2. Feb 1998, 00:52:22):
~#! rn=Cheasy rt=886357401 rg=entwicklung
~#! tid=884765121
Bildzeitung? In welchem Zusammenhang und von wem?
Solche Behauptungen sollte man schon belegen koennen...

Grimmborn der Atheist hat den Verdacht, da hat jemand MG und mpa verwechselt

-----------------------------------------------------------------------------



Re^4: Abgucken. (Avalon,  2. Feb 1998, 01:22:12):
~#! rn=Wurzel rt=886328519 rg=entwicklung
~#! tid=884765121
Und im Moment 61:14, und untertags meist so 120:35. Und? Was sagt
uns das jetzt? Misst Du Atmosphaere etwa wirklich an der Spieler-
anzahl? Oh. Beileid. Meines Erachtens sollte nur derjenige etwas
ueber Atmosphaere oder sonstige wertende Vergleiche von sich
geben, der beide betreffenden Muds kennt. Und das kannst Du
wohl nicht von Dir behaupten.

Woody.-

-----------------------------------------------------------------------------



Re^5: Abgucken. (Wurzel,  2. Feb 1998, 01:25:48):
~#! rn=Avalon rt=886378932 rg=entwicklung
~#! tid=884765121
stimmt, das kann ich nicht behaupten. habe ich meines wissens auch nicht
getan... aber es ist schon richtig, ich messe die atmosphaere an den
spielern. nicht direkt an der zahl, aber je hoeher die zahl desto groesser
die wahrscheinlichkeit, jemanden zu treffen mit dem man sich versteht.
das coding allein kann niemals atmosphaere erzeugen, und wenn es noch so toll
ist. oder siehst du das wirklich anders?

-----------------------------------------------------------------------------



Re^6: Abgucken. (Avalon,  2. Feb 1998, 01:29:54):
~#! rn=Wurzel rt=886379148 rg=entwicklung
~#! tid=884765121
Ich habe die Erfahrung gemacht, dass ZUVIELE Spieler der
Stimmung auch abtraeglich sein koennen, und dass Muds mit
geringerer Spieleranzahl mitunter oft eine deutlich bessere
Stimmung bieten koennen. Insofern koennte ich sogar den gegen-
teiligen Standpunkt (verglichen mit Deinem) einnehmen - spare
mir das aber, und betrachte die Spieleranzahl als relativ
irrelevant in Bezug auf Stimmung. Punkt.

Woody.-

-----------------------------------------------------------------------------



Re^7: Abgucken. (Zarniya,  2. Feb 1998, 08:42:01):
~#! rn=Avalon rt=886379394 rg=entwicklung
~#! tid=884765121
Hi, 

ich muss Woody da VOLL zustimmen. Die Qualitaet eines Muds liegt sicher nicht
an der Anzahl der aktiven Spieler, sondern am Charakter derer. Ich spiele im
Moment auch in einem kleineren Mud, was aber vom Spielsystem den Vorteil hat,
dass jeder jeden unterstuetzt und das in der kleinen, aber feinen Gruppe der
Anwesenden ein ungeheurer Zusammenhalt ist. Im Silberland ist das auch so. Das
MG ist eigentlich ZU GROSS, dass es nochmal familiaer werden koennte. Man kann
sich hier wunderbar unterhalten, denn dafuer braucht man viele Spieler und
DABEI ist nur die Menge von Vorteil. Aber wenn man hier spielen will, dann tut
man sich echt schwer, weil man zB bei einfachen, aber sinnvollen Fragen ueber
einen Kanal einfach von oben herunter fertig gemacht wird. Hier im MG ist es
nicht mehr der Zweck des MULTI-Playings, zusammen zu spielen, dass war es GANZ
am Anfang mal, aber ist es schon lange nicht mehr. Hier im MG scheint es
wichtig zu sein, dass man den anderen zeigt, was man fuer ein toller Hecht und
Einzelkaempfer ist, man sieht die anderen nicht als MITspieler, sondern als
Konkurrenz (ich erinnere Aktuell an den Flamewar zwsichen Key und der
Slyfoxmemme). Wenn man diesen Kampf sucht, dann ist man hier gut aufgehoben,
aber wenn man Multi als ZUSAMMEN versteht, dann braucht man hier nicht
anfangen.

Uebrigens denke ich, dass das auch der Grund ist, wieso hier der Teamkampf
wohl nicht kommen wird und wenn, dann nie so richtig funktionieren. Alleine
schon, wenn 4 Leute den Weghier killen und dann streiten, wer denn den VS
haben kann, statt sich einfach ueber den kill zu freuen und den naechsten
reset wieder zusammen hinzugehen, DAS wird den Teamkampf kaputt machen.

Zarniya.

-----------------------------------------------------------------------------



Re^8: Abgucken. (Li,  2. Feb 1998, 10:28:25):
~#! rn=Zarniya rt=886405321 rg=entwicklung
~#! tid=884765121
Ist klar, dass man in einem kleinen MUd bessere Stimmung hat: Wenn keiner da
ist, mit dem man streiten kann, gibt es auch keine Anderen meinungen. 
Ich finde so ein MUD langweilig.
Li

-----------------------------------------------------------------------------



Re^9: Abgucken. (Zarniya,  2. Feb 1998, 10:30:28):
~#! rn=Li rt=886411705 rg=entwicklung
~#! tid=884765121
Nein, li. Der Punkt ist einfach, dass es in einem kleineren Mud nicht zu
Streits kommt, weil alle zusammen SPIELEN und nicht meinen, nur, weil sie zu
unfaehig sind, richtig zu spielen, muessten sie sich in der Zeitung oder
soanders profilieren.

Zarniya.

-----------------------------------------------------------------------------



Re^10: Abgucken. (Smeagol,  2. Feb 1998, 10:34:04):
~#! rn=Zarniya rt=886411828 rg=entwicklung
~#! tid=884765121
in einem kleinen Mud spielen Leute zusammen meistens die sich leiden koennen
in einem grossen kann man sich besser auseinander gehen ... und trifft dennoch
z.b. in der zeitung aufeinande wenn man sich nicht leiden kann .. tja na und ?
eigentlich doch alles egal ... beendet mal das thema ..

-----------------------------------------------------------------------------



Re^10: Abgucken. (Key,  2. Feb 1998, 10:44:17):
~#! rn=Zarniya rt=886411828 rg=entwicklung
~#! tid=884765121
Yantro Du schaffst es mich zu ueberraschen.
Einerseits willst du einen Zusammenhalt, den wir durch unser stillen
Absprachen haben, andererseits haelts du genau davon nichts.
Was bitteschoen stellst Du dir vor?
Das wir jetzt immer gemeinsam zur hydra rennen? Keiner mehr ausbrennt? Jeder
popelige Lvl 3 spieler den Kill kriegen kann?
Na Danke!
Und nochwas ... du hast in dem einen Artikel gesagt das die Tante nicht mehr
das ist was sie mal war.
Das stimmt zum Teil zum anderen Teil ist es aber auch so das zuviele
Hydrakills verschenkt wurden!
Ja stell dir vor, diese grossen und eingebildeten Seher haben doch
tatsaechlich was abgegeben! UNVORSTELLBAR!
Ich fuer meinen Teil hab das verschenken eingestellt, ich kanns einfach nicht
mehr hoeren wie leicht die Tante doch ist (keiner sagt dazu das sie so leicht
ist ohne Koepfe auf der Schwelle des Todes).

Key

-----------------------------------------------------------------------------



Reboot 3.2.1998 (Wargon,  2. Feb 1998, 11:15:45):
  Huhu!
Morgen, Dienstag, frueh gibts nen Reboot. Danach wird man fuer etwa eine
Stunde nicht ins MG reinkommen.
Grund: Verlegearbeiten an den Seherhaeusern (die Haeuser selbst bleiben, wo
sie sind, aber der Quellcode wandert).
  Wargon

-----------------------------------------------------------------------------



Re: Reboot 3.2.1998 (Hangover,  2. Feb 1998, 11:18:21):
~#! rn=Wargon rt=886414545 rg=entwicklung
~#! tid=886414545
Moin!

Hab ich das richtig gelesen: Verlegearbeiten? Heisst das, dass
wir jetzt Kabelfernsehen oder Telefon bekommen?

Hangover -> schmarrn

-----------------------------------------------------------------------------



Re^10: Abgucken. (Li,  2. Feb 1998, 12:05:34):
~#! rn=Zarniya rt=886411828 rg=entwicklung
~#! tid=884765121
Hmm, ich glaube, es ist ein Mythos, dass in einem kleinen MUD alle Leute
zusammen spielen. 
Naja, ist auch egal, thread beenden?
*+

-----------------------------------------------------------------------------



Re^11: Abgucken. (Avalon,  2. Feb 1998, 15:40:17):
~#! rn=Li rt=886417534 rg=entwicklung
~#! tid=884765121
Stimmt natuerlich auch, "alle" ist aeusserst relativ.
Zum Rest des Threads: *ROTFL* (sorry) :)

Woody.-

PS. Wir haben die 100en Aenderungen im SL nicht deswegen eingebaut,
    damit sich im MG dann die Leute ueber deren Sinn streiten...


-----------------------------------------------------------------------------



Re^8: Abgucken. (Boing,  2. Feb 1998, 18:37:10):
~#! rn=Zarniya rt=886405321 rg=entwicklung
~#! tid=884765121
Wann hast Du das letzte mal gespielt? Ich konnte noch so daemliche
Fragen stellen und hab sogut wie immer eine Antwort bekommen ohne
fertiggemacht zu werden.
  Boing

-----------------------------------------------------------------------------



Re^5: Abgucken. (Boing,  2. Feb 1998, 18:41:37):
~#! rn=Grimmborn rt=886377142 rg=entwicklung
~#! tid=884765121
Also die Behauptung kam in de.alt.mud auf, hat irgendein Komiker dort
laufend behauptet, aber irgendwie auch nicht belegen koennen. Ich
hab mir damals einen Kommentar erspart, weil der Typ einfach zu
behaemmert war. :)
  Boing

-----------------------------------------------------------------------------



Re^9: Abgucken. (Key,  2. Feb 1998, 18:46:28):
~#! rn=Boing rt=886441030 rg=entwicklung
~#! tid=884765121
Aehm Boing ... er hat mit seiner Behauptung durchaus recht ...

Man wird oft ziemlich arg angemacht ...
Ich denk da nur an Abenteuer ... 
Und das schoenste ist immernoch wenn dann ein spieler langsam suaer wird und
ihm vorgehalten wird das man so einem sowieso nix beantwortet.

Key

-----------------------------------------------------------------------------



Re^10: Abgucken. (Boing,  2. Feb 1998, 18:53:09):
~#! rn=Key rt=886441588 rg=entwicklung
~#! tid=884765121
Also ich hatte den Eindruck, dass man problemlos Hilfe bekommt, wenn 
man nicht jeden Schritt einer Quest auf dem Abenteuerkanal nachfragt.
Wer das meiste selber ausprobiert und nur gelegentlich mal fragt
bekommt auch Antwort. Nervbolzen bekommen keine Antwort und nerven
dann noch mehr. Halte ich auch irgendwie fuer verstaendlich das ganze.
  Boing

-----------------------------------------------------------------------------



Re^6: Abgucken. (Smurf,  2. Feb 1998, 19:40:36):
~#! rn=Boing rt=886441297 rg=entwicklung
~#! tid=884765121
Das ist/war Mufti.

Solchen Bemerkungen kann man eigentlich nur ein "Wie man in den Wald
Solchen Bemerkungen kann man eigentlich nur ein "Wie man in den Wald
reinruft..." entgegenwerfen.

-----------------------------------------------------------------------------



Re^11: Abgucken. (Silvana,  3. Feb 1998, 00:20:21):
~#! rn=Boing rt=886441989 rg=entwicklung
~#! tid=884765121
Naja, wer traut sich schon, Deinen Zweitie dumm anzumachen...?

  Silvana

-----------------------------------------------------------------------------



Re^12: Abgucken. (Key,  3. Feb 1998, 07:54:17):
~#! rn=Silvana rt=886461621 rg=entwicklung
~#! tid=884765121
Stimtt Silvana, das waere naemlich Gotteslaesterung ,)))

Key grinsend

-----------------------------------------------------------------------------



Re^6: Abgucken. (Catweazle,  3. Feb 1998, 09:39:39):
~#! rn=Boing rt=886441297 rg=entwicklung
~#! tid=884765121
Malimarc redet zu Dir?

YTC

-----------------------------------------------------------------------------



Re^4: Abgucken. (Muaddib,  3. Feb 1998, 13:39:27):
~#! rn=Wurzel rt=886328519 rg=entwicklung
~#! tid=884765121
hmm, ohne jetzt irgendwelche diskussionen vom Zaun brechen zu wollen, aber die
Spieleranzahl ist kaum fuer die Atmosphaere verantwortlich, sondern das
verstaendnis zwischen Magiern/Spielern, Spielern/Spielern, Magiern/Magiern,
Magiern/Erzmagiern, etc. Und ich glaube, da koennen wir schon einiges Punkten,
vor allem, wenn man mal so Eure Zeitung liest. Und es geht auch nicht um die
Makros, die man sich sparen kann, das mit dem Leichen pluendern wurde aus
Gerechtigkeitsgruenden eingebaut und wers nicht mag, solls abschalten. 

my two cents,
Mua

-----------------------------------------------------------------------------



Re^6: Abgucken. (Muaddib,  3. Feb 1998, 13:41:56):
~#! rn=Wurzel rt=886379148 rg=entwicklung
~#! tid=884765121
je hoeher die Zahl, desto hoeher die Wahrscheinlichkeit, viele zu treffen, mit
denen man sich nicht versteht. wie gesagt, wenn ein aussenstehender die mpa
liest, kann er sich nicht vorstellen, dass das ganze ein spiel ist, wo leute
ihren spass dranhaben. Klingt manches Mal eher wie ein Fehde-vereinfachendes
Diskussionsforum...

Mua

-----------------------------------------------------------------------------



Re^7: Abgucken. (Damien,  3. Feb 1998, 14:21:14):
~#! rn=Muaddib rt=886509716 rg=entwicklung
~#! tid=884765121
Cool...
Nach der Seher-gegen-Magier, Magier-gegen-Erzies, Spieler-gegen-Seher,
Spieler-gegen-Magier, ... - Flamewars gibts jetzt 'nen MGler-gegen-SLer - 
Krieg oder wie?
Wenn in einem MUD 2000 mehr oder weniger aktive Spieler rumwurschteln und
ueber hundert Magier programmieren, dann gibt es eben viel Fehden und Feind-
schaften und Konkurrenzkaempfe, aber es gibt auch genug Freundeskreise.
Die sind dann natuerlich auch kleiner, ich kenne hier nach einem RL-Jahr und
knapp 40 Online-Tagen vielleicht 60 Leute von denen ich vielleicht 10 zu
meinen Freunden zaehle, die anderen sind halt mehr oder weniger (freundliche)
Konkurrenz. Und was das LLP-Spieler runtermachen angeht, klar kommen dumme
Sprueche auf -b, aber meistens sind gleichzeitig schon drei Leute dabei, per
teile mit echte Hilfestellung zu leisten.
Das MG hat sicher nicht die familiaere Atmosphaere des SL oder AL, aber es
gibt hier eben vielerlei Formen, miteinander umzugehen, weil wir hier eine
grosse Gesellschaft haben, das muss deswegen nicht schlechter sein. Und es
hindert einen niemand daran, in mehreren MUDs gleichzeitig zu spielen, also
nehmt doch von jedem das beste mit.
Ich finde, man kann die Atmosphaere im MG ueberhaupt nicht mit der im SL
vergleichen, das sind zwei verschiedene welten, im wahrsten Sinne des Wortes.

Damien.
Kaum wieder da und senft schon wieder 'rum. :)

-----------------------------------------------------------------------------



Re^5: Abgucken. (Boing,  3. Feb 1998, 14:58:17):
~#! rn=Muaddib rt=886509567 rg=entwicklung
~#! tid=884765121
Die Zeitung ist noch nie repraesentativ fuer Die Stimmung im Mud
gewesen. 
  Boing

-----------------------------------------------------------------------------



Re^6: Abgucken. (Sting,  3. Feb 1998, 17:37:19):
~#! rn=Boing rt=886514297 rg=entwicklung
~#! tid=884765121
Hmm, jetzt geb ich doch noch meinen Senf dazu ab...

Das SL hat mit Abstand die beste Atmosphaere von Spielern - Magier die ich
kenne, und ich habn schon einige Muds angeschaut..
Das MG hat sicher keine schlechte, sondern auch eine ziemlich gute, aber nicht
unbedingt was die Spieler - Magier-Sache angeht...
Zumindest garantiert nicht in dem Masse wie im SL, davon koennten sich hier
einige Leute GEWALTIG grosse Scheiben abschneiden...
Trotzdem wird das MG wohl immer mein Stamm-Mud bleiben, wenn man mal solange
dabei ist, hat man einfach zuviele Freunde um einfach abzuwandern (wozu ich
manchmal grosse Lust hatte, aber das waren auch schlechte zeiten).
Seit ner Weile ist auf jeden Fall die Atmosphaere im MG wieder richtig klasse,
das hat zu einem nicht unerheblichen teil mit den Selbstloeschungen bestimmter
Magier zu tun, aber auch damit das momentan die Magier viel besser mit den
Spielern 'mudden'. Ne Zeitlang war da ordentlich der Wurm drin, aber nun ists
wieder spitze :)
Hmm, mehr faellt mir nicht ein, und laestern will ich hier ueber kein MUD,
nicht das wieder dumme Threads kommen (die kommen eh)

Sting

-----------------------------------------------------------------------------



Re^7: Abgucken. (Larissa,  3. Feb 1998, 18:15:58):
~#! rn=Sting rt=886523839 rg=entwicklung
~#! tid=884765121
Hm,

also ich verstehe wirklich nicht, wieso mann nicht mal was abgucken 
sollte. 

Eine gute Sache wird doch nicht schlechter, bloss weil ein anderer die
Idee zuerst hatte!
So eine Einstellung ist hoechstens kleinkariert wie ich finde, und niemand
verlangt einen 'Rundumaustausch'.

Lari.

-----------------------------------------------------------------------------



Re^8: Abgucken. (Ark,  3. Feb 1998, 18:40:02):
~#! rn=Damien rt=886512074 rg=entwicklung
~#! tid=884765121
Tjo, mir als Magier is es lieber, 200 verschiedene Spieler laufen durch mein
Gebiet jeden Tag als nur 20 ... <- Zahlen sind jetzt mal willkuerlich
gewaehlt.
So bekomme ich doch ein besseres Feedback und kann aus dieser Summe ein
schoenes Bild erhalten, was ich zukuenftig machen soll, da macht es eben
die Masse. So ganz fuer mich allein zu programmieren, das will ich dann
doch net ;^)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^9: Abgucken. (Zephyr,  3. Feb 1998, 18:41:10):
~#! rn=Ark rt=886527602 rg=entwicklung
~#! tid=884765121

Hmm.. wenn Du willst, dass am Tag 200 verschiedene Spieler
durch Dein Gebiet laufen, solltest Du es vielleicht nicht SO
Programmieren, dass immer nur einer reinkann :))

stichelnd, 
                      Zephyr

-----------------------------------------------------------------------------



Re^10: Abgucken. (Wurzel,  3. Feb 1998, 18:48:47):
~#! rn=Zephyr rt=886527670 rg=entwicklung
~#! tid=884765121
wenn 200 leute am tag da bugs und typos absetzen, kann das ganz schoen in
stress ausarten... da ist einer sehr viel leichter zu handhaben, gell ark?

wurzel grinst sich eins

-----------------------------------------------------------------------------



Re^11: Abgucken. (Ark,  3. Feb 1998, 21:42:12):
~#! rn=Wurzel rt=886528127 rg=entwicklung
~#! tid=884765121
Jep :-) Allerdings war die Motivation dafuer eine andere ...


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Die Zeitung und das Lesen (Catweazle,  4. Feb 1998, 11:08:40):
~#! on=Smurf ot=886583588 og=diskussion
Mich nervt es immer ganz gewaltig, wenn ich "lies Inschrift" eingebe
und "WELCHE Nachricht willst Du lesen?" zurueckkommt.

Ist es moeglich, der Zeitung zu sagen, sie soll nicht auf "lies" reagieren,
wenn keine Zahl dahinter kommt?

Alternativ koennte man die Zeitung auch ausdrueckling (oder implizit,
zB beim "nn") aufschlagen und dann halt wieder zumachen, so wie
bei Buechern.

-----------------------------------------------------------------------------



Re: Die Zeitung und das Lesen (Key,  4. Feb 1998, 16:38:20):
~#! rn=Catweazle rt=886586920 rg=entwicklung
~#! tid=886586920
Wenn ich net irre wird erst abgefragt ob man im Raum was zum lesen hat ....

Wenn nicht kommt erst die Zeitung ... Mich hat sie zumindest so noch nie
gestoehrt.

Key

-----------------------------------------------------------------------------



Re: Re: Die Zeitung und das Lesen (Larissa,  4. Feb 1998, 16:46:10):
~#! rn=Key rt=886606700 rg=entwicklung
~#! tid=886586920
Aeh...

ich mach bestimmt was falsch, aber ich hab in bezug auf die Zeitung 
noch _nie_ lies/lese eingegeben....

Lari.

-----------------------------------------------------------------------------



Re^3: Die Zeitung und das Lesen (Silvana,  4. Feb 1998, 18:43:19):
~#! rn=Larissa rt=886607170 rg=entwicklung
~#! tid=886586920
Um Himmels Willen... 
Dann liest Du die Artikel also vermutlich mit 'nn' und dadurch 
chronoligisch? Du Aermste... Am Ende verstehst Du noch den 
Zusammenhang mancher Artikel... Guetiger Jof, mein Beileid. :)

  Silvana (heute etwas sarkastisch)

-----------------------------------------------------------------------------



Re^4: Die Zeitung und das Lesen (Engywuck,  4. Feb 1998, 21:12:10):
~#! rn=Silvana rt=886614199 rg=entwicklung
~#! tid=886586920
Aeh...mal ne Frage von nem Doofen: Was ist denn die praktischste Art, die
Zeitung zu lesen? (Ausser ueberhaupt nicht, mein ich jetzt...)

Engy*

-----------------------------------------------------------------------------



Re: Re: Die Zeitung und das Lesen (Smurf,  4. Feb 1998, 22:01:33):
~#! rn=Key rt=886606700 rg=entwicklung
~#! tid=886586920
Stimmt nicht.
>> lies tafel
[ laenglicher Text ]
>> lies frzlbrrtz
WELCHE Nachricht willst du lesen? [von der Zeitung]

Eine Standardmeldung a la "hier ist kein frzlbrrtz" bzw. "auf dem frzlbrrtz
steht nichts geschrieben" waere mir wirklich um einiges lieber.

-----------------------------------------------------------------------------



Re^3: Die Zeitung und das Lesen (Woody,  5. Feb 1998, 02:44:09):
~#! rn=Smurf rt=886626093 rg=entwicklung
~#! tid=886586920
Stimmt schon, erst kommt der Raum, dann die Zeitung. Und das ist
auch der Grund, warum als Fehlermeldung die von der Zeitung ge-
nommen wird statt die des Raumes. Und ja, ich finde auch, dass
'lies' in der Zeitung genauer geparsed werden sollte, aber
wichtig ist das eigentlich nicht :)

woody.-

-----------------------------------------------------------------------------



Re^4: Die Zeitung und das Lesen (Bierchen,  5. Feb 1998, 04:45:33):
~#! rn=Silvana rt=886614199 rg=entwicklung
~#! tid=886586920
Dann versuchs mal anstelle von 'lies artikel <nr>' mit 'artikel <nr>' steht
auch in der Hilfe zur Zeitung drin, nur mal so als Anmerkung :) Also.. 'lies
*' hab ich fuer die Zeitung auch noch nie benutzt... ist doch viel zu lang und
friesst als ali zuviel Plattenplatz :)
Gruss,      - Bierchen (etwas angeheitert) -

-----------------------------------------------------------------------------



Re: Die Zeitung und das Lesen (Roadrunner,  5. Feb 1998, 10:32:14):
~#! rn=Catweazle rt=886586920 rg=entwicklung
~#! tid=886586920
am Rande: - das 'nn' zum zeitunglesen mag ja bequem sein - ich habs mir
allerdings zu Telnet-Zeiten bereits umgebaut auf 'nz', da ich es leid war beim
schnellen 'nach norden rennen' dauernd zeitung zu lesen ;o)

.                                   Roadrunner

-----------------------------------------------------------------------------



Re^3: Die Zeitung und das Lesen (Trekan,  5. Feb 1998, 14:39:55):
~#! rn=Larissa rt=886607170 rg=entwicklung
~#! tid=886586920
die zeitung stoert hoechstens, wenn man mit zittrigen haenden zuviel norden
eingibt ;)
Trekan

-----------------------------------------------------------------------------



Re^4: Die Zeitung und das Lesen (Grimmborn,  5. Feb 1998, 14:42:21):
~#! rn=Trekan rt=886685995 rg=entwicklung
~#! tid=886586920
Wer die return-Taste korrekt bedienen kann ist klar im Vorteil. :-)

GdA

-----------------------------------------------------------------------------



Re^5: Die Zeitung und das Lesen (Yaren,  5. Feb 1998, 14:45:28):
~#! rn=Grimmborn rt=886686141 rg=entwicklung
~#! tid=886586920
hat man da nicht nen key-binding fuer?

Yaren. gruebelnd.

-----------------------------------------------------------------------------



Re^6: Die Zeitung und das Lesen (Key,  5. Feb 1998, 15:01:14):
~#! rn=Yaren rt=886686328 rg=entwicklung
~#! tid=886586920
Hey!
Ich werde nich gebunden!

Key

-----------------------------------------------------------------------------



Re^4: Die Zeitung und das Lesen (Larissa,  5. Feb 1998, 15:49:46):
~#! rn=Silvana rt=886614199 rg=entwicklung
~#! tid=886586920

Jo,
ich lese mit 'nn', oder 'artikel xy'.

Ansonsten brauche ich nurnoch 'wiederhole xy', 'inhalt', 'rubriken', und
'antworte'...

Also alles komplett ohne 'lies' oder 'lese'.

Lari.

-----------------------------------------------------------------------------



Re: Hilberts Zauberstab! (Aline,  5. Feb 1998, 16:48:57):
~#! rn=Svetlana rt=886693664 rg=entwicklung
~#! tid=886693664

Also meine Klerikerin ist ueber den Zauberstab recht gluecklich
und ich denke einige Karatekas und Kaempfer nuetzen
das Ding auch recht gerne.

Aline

-----------------------------------------------------------------------------



Re: Re: Hilberts Zauberstab! (Key,  5. Feb 1998, 16:55:45):
~#! rn=Aline rt=886693737 rg=entwicklung
~#! tid=886693664
Ich finde dafuer gibbet schoenere Sachen ;)

Key

-----------------------------------------------------------------------------



Re^5: Die Zeitung und das Lesen (Paracelsus,  5. Feb 1998, 21:25:18):
~#! rn=Larissa rt=886690186 rg=entwicklung
~#! tid=886586920
Tss, den wichtigsten Befehl hast Du vergessen: 'uebergehe thread'
(Oder auch kurz 'uth')

Paracelsus.

-----------------------------------------------------------------------------



Re^6: Die Zeitung und das Lesen (Schoko,  5. Feb 1998, 21:28:26):
~#! rn=Paracelsus rt=886710318 rg=entwicklung
~#! tid=886586920
Hmm das is aber 'ugt' bei mir ;)

Schoko (hat endlich auch mal nen Einzeiler hingekriegt ;))

-----------------------------------------------------------------------------



Re^7: Die Zeitung und das Lesen (Yendi,  6. Feb 1998, 12:45:34):
~#! rn=Schoko rt=886710506 rg=entwicklung
~#! tid=886586920
Quark, einfach "ut". Schnell, schlicht, schoen.


-----------------------------------------------------------------------------



Re^8: Die Zeitung und das Lesen (Caradhras,  6. Feb 1998, 14:33:46):
~#! rn=Yendi rt=886765534 rg=entwicklung
~#! tid=886586920
ut ist doch 'unt teufel' *staun*

         Frosch Caradhras - huepft durch die Feuerebene

-----------------------------------------------------------------------------



Re^9: Die Zeitung und das Lesen (Zino,  6. Feb 1998, 14:53:15):
~#! rn=Caradhras rt=886772026 rg=entwicklung
~#! tid=886586920
Noe, ut ist 'unt truhe'.

-----------------------------------------------------------------------------



Re^5: Abgucken. (Asmodis,  7. Feb 1998, 00:03:33):
~#! rn=Grimmborn rt=886377142 rg=entwicklung
~#! tid=884765121
Naja, Parallelen gibts zwischen MPA und BILD schon, alle lesen sie,
kaum einer gibts zu, jeder kennt sie und keiner will sie sich (selbst) kaufen.
Und beide haben nen seltsamen Verleger (hier ist es Grimmborn).

-----------------------------------------------------------------------------



Re: Re: Reboot 3.2.1998 (Asmodis,  7. Feb 1998, 00:13:05):
~#! rn=Hangover rt=886414701 rg=entwicklung
~#! tid=886414545
Hey, ich bekomme in meinem Seherhaus immer noch nicht OTO2 (Ork Television
Orkhausen) richtig rein,
wo kann ich mich beschweren, wie heisst die Telekom hier ??? MGkom ??

-----------------------------------------------------------------------------



Re^4: Die Zeitung und das Lesen (Asmodis,  7. Feb 1998, 00:17:53):
~#! rn=Silvana rt=886614199 rg=entwicklung
~#! tid=886586920
Aeh, 'lies' hab ich auch noch nie eingegeben, entweder nehme ich wirklich 'nn'
oder ich nehme 'artikel <nr>'

-----------------------------------------------------------------------------



Re^9: Die Zeitung und das Lesen (Asmodis,  7. Feb 1998, 00:19:48):
~#! rn=Caradhras rt=886772026 rg=entwicklung
~#! tid=886586920
Aeh, was willst du von mir ?? *verwirrt guck*

-----------------------------------------------------------------------------



Re^6: Abgucken. (Grimmborn,  7. Feb 1998, 23:37:34):
~#! rn=Asmodis rt=886806213 rg=entwicklung
~#! tid=884765121
Es ging nicht um Parallellen von mpa und Bild, sondern vom MG und Bild.

Grimmborn der Atheist sagt: Wer lesen kann ist klar im Vorteil...

-----------------------------------------------------------------------------



Re^5: Abgucken. (Cheasy,  8. Feb 1998, 02:28:17):
~#! rn=Grimmborn rt=886377142 rg=entwicklung
~#! tid=884765121
Zusammenhang: MG ist die Bildzeitung der deutschsprachigen Muds: Das Mud fuer
die Massen.
-Cheasy
P.S: Das war ein Zitat, und es ist nicht meine Meinung, Grimmborn. Zitat aus 
     einem anderen MUD, und ich sag nicht welchem, um Flamewars zu vermeiden.

-----------------------------------------------------------------------------



Re^6: Abgucken. (Ratz,  8. Feb 1998, 12:24:18):
~#! rn=Cheasy rt=886901297 rg=entwicklung
~#! tid=884765121
Och, wie schade! Bitte nur keine Flamewars vermeiden! Kein Wunder das es hier
oft "Nichts Neues auf der Welt" gibt.

Gruss ratzfatz Ratz

-----------------------------------------------------------------------------



Re^10: Abgucken. (Trancefear,  8. Feb 1998, 15:43:48):
~#! rn=Zephyr rt=886527670 rg=entwicklung
~#! tid=884765121
Vielleicht will er dort 200 am Tag sterben sehen? :-)

tf

-----------------------------------------------------------------------------



Re^6: Abgucken. (Key,  9. Feb 1998, 10:17:21):
~#! rn=Cheasy rt=886901297 rg=entwicklung
~#! tid=884765121
Anderland? :))

Key

-----------------------------------------------------------------------------



nicht da (weg) (Pra, 10. Feb 1998, 16:04:01):
Moin!

Ich habe eine kleine Verbesserung zum weg-Befehl vorzuschlagen:

Jetziger Status: Man markiert sich als abwesend, schlaeft ein, kommt wieder
  und ist als abwesend markiert.
Das ist fuer mich schon ein logischer Widerspruch, da man durchs wiederkommen
ja nicht mehr abwesend ist :-)

Neeichweissschon. Aber viele vergessen halt, dass sie vor dem einschlafen
abwesend waren (including me...) und vergessen damit auch, dass alle sie als
abwesend sehen, obwohl sie ja eigentlich nicht mehr abwesend sein wollen,
da sie ja nach dem wiederkommen wieder da sind, also nicht mehr abwesend.

Konnte mir irgendjemand folgen?

Prima! :-) 
Also, mein Vorschlag: Abwesenheit durch einschlafen oder ende automatisch
loeschen. Wenn jemand dann wieder abwesend sein moechte, wenn er/sie wieder
da ist, nochmal abwesend melden und weiter idlen.

Nein? Irgendjemand dagegen? Wenn dies, dann vielleicht eine Einstellung bei
weg, in der man sagen kann, dass man, auch wenn man nach Einschlafen/Ende
wieder da ist, automatisch wieder abwesend sein moechte. Sowas wie
'weg -i Jof ist prinzipiell nicht da.'  (-i fuer 'immer')

Alle einverstanden? Boah, toll!!! :-)

Jetzt fehlt nur noch ein Magier, der das proggt.........

Pra.

-----------------------------------------------------------------------------



Re: nicht da (weg) (Acrimon, 11. Feb 1998, 14:51:55):
~#! rn=Pra rt=887123041 rg=entwicklung
~#! tid=887123041
Schoen waere es auch, wenn der Befehl nicht mehr "weg",  sondern "abwesend"
hiesze.
Das trifft  den Zweck des Befehles besser.

(Jaja, ein  Alias habe ich schon, aber das moechte ich mir sparen :-) )

Acrimon, der Rote Ritter

-----------------------------------------------------------------------------



Re^5: nicht da (weg) (Catweazle, 11. Feb 1998, 15:35:11):
~#! on=Catweazle ot=887206112 og=schmarrn
~#! on=Zarniya ot=887205783 og=entwicklung
~#! rn=Catweazle rt=887205714 rg=entwicklung
~#! tid=887123041
also wenn "weg" ueberhaupt eine andere Bedeutung hat, dann den analog zur
"Strasse".

Zarniya

-----------------------------------------------------------------------------



Re^6: nicht da (weg) (Catweazle, 11. Feb 1998, 15:37:34):
~#! rn=Catweazle rt=887207711 rg=entwicklung
~#! tid=887123041
Auf besonderen Wunsch einer einzelnen Dame habe ich den vorher-
gehenden Artikel zurueckverlegt, da es sich entgegen meiner wohl
falschen Einschaetzung nicht um Schmarrn, sondern vielmehr um einen 
Artikel handeln muss, der in die Rubrik Entwicklung passt.
YTC

-----------------------------------------------------------------------------



ignoriere (Larissa, 11. Feb 1998, 20:47:19):
Frage:

Angenommen ich ignoriere einen Artikelschreiberlin, nennen wir ihn der
Einfachheit halber mal acri*, ich ignoriere also mit 'ignoriere acri*.news'
die Artikel von acri*....

Wie bitte kann ich verhindern, dass ich diese Artikel dann doch
lesen muss, wenn sie verschoben werden???

Lari, nicht ganz ernst.

-----------------------------------------------------------------------------



Re: ignoriere (Grimmborn, 11. Feb 1998, 20:54:29):
~#! rn=Larissa rt=887226439 rg=entwicklung
~#! tid=887226439
Einfach.
ignoriere catweazle.news, ignoriere grimmborn.news. Sonst verschiebt fast
keiner fremde Artikel...

Grimmborn der Verleger

-----------------------------------------------------------------------------



Re: Re: ignoriere (Silvana, 11. Feb 1998, 21:49:16):
~#! rn=Grimmborn rt=887226869 rg=entwicklung
~#! tid=887226439
Ob sie das wohl jetzt gelesen hat, Grimmborn? :)

Btw: Gibts nen Automatismus, der aus ignoriere arci*.news (um beim
Beispiel zu bleiben) nicht nur den Orginalartikel, sondern auch den
daraus hervorgehenden Thread igorieren laesst...?

  Silvana  - auch nicht ganz ernst

-----------------------------------------------------------------------------



Re^8: Die Zeitung und das Lesen (Quasimodo, 12. Feb 1998, 12:10:03):
~#! rn=Yendi rt=886765534 rg=entwicklung
~#! tid=886586920
Bei mir auch ut. Den braucht man so oft, da sind 3 Buchstaben einfach zuviel.

Quasi.

-----------------------------------------------------------------------------



Verpruegeln anstatt toeten (Ratz, 13. Feb 1998, 16:47:48):
Hallo,
ich aergere mich oefters wenn ich einen NPC toeten muss nur weil der gerade
z.B. 
einen Schluessel dabei hat, den ich gebrauchen koennte. Es waere doch eine
echte Bereicherung
des Spiels, wenn ich da mehrere Moeglichkeiten haette. 
Ich denke da an kaempfen mit einer Aufgabe des Gegners, wenn er meint es nicht
gegen mich zu schaffen.
Oder an ein verpruegeln des Gegners ohne Waffen wobei dann der Staerkere
gewinnt.
Eine Demonstration der jeweiligen Gildenfaehigkeiten vor dem Gegener koennte
auch zu einer Aufgabe und damit zu einer Abgabe der gewuenschten Sachen.
fuehren.
Die Bestechung waere in manchen Faellen auch eine Moeglichkeit an bestimmte
Gegenstaende zu kommen.
Es gibt sicher noch viele weitere Ideen, aber auch Argumente dagegen. 
Aber bitte nicht mit dem Argument kommen ich sei ein Weichei und wollte nur
die dummen NPC schuetzen.
Wenn ich an ein Koerperteil des NPC kommen will (siehe Wolpertinger) scheint
mir ein toete allerdings auch unumgehbar.
Da faellt mir noch ein das man sich dann ja vielleicht auch mit seinen
Spielerfreunden pruegeln koennte ohne einen PK zu machen.
Gruss ratzfatz Ratz

-----------------------------------------------------------------------------



Re: Verpruegeln anstatt toeten (Acrimon, 13. Feb 1998, 17:10:45):
~#! rn=Ratz rt=887384868 rg=entwicklung
~#! tid=887384868
Geniale Idee!

Wobei ich glaube, dasz sich alle "Argumente dagegen" auf das einzige Problem
"Wer soll das programmieren?" reduzieren lassen.
Denn wenn es nicht erwuenscht ist, dasz ein Monster zu Boden gerungen werden
kann oder bestochen werden kann, dann gibt man ihm einfach das entsprechende
Property.

Es wird also Monster geben, die sich auf ein Ringen ohne Waffen einlassen,
andere nicht. Entsprechend lassen sich manche Monster bestechen und/oder
beeindrucken, andere nicht.
Und wieder einige werden bis zum Tode kaempfen, waehrend andere sich lieber
ergeben, um ihr Leben zu behalten.

Das hoert sich sehr gut an!

Acrimon, der Rote Ritter

-----------------------------------------------------------------------------



Re: Re: Verpruegeln anstatt toeten (Wurzel, 13. Feb 1998, 18:37:20):
~#! rn=Acrimon rt=887386245 rg=entwicklung
~#! tid=887384868
das gibt es im prinzip schon, nur halt andersrum. der normalfall ist eben
das killen, und wenn es anders sein soll muss man was tun. die frage "wer
soll das programmieren" ist aber die gleiche :)
an sich finde ich die idee von ratz sehr gut, aber wie immer wenn etwas
nach arbeit riecht... es gibt nach wie vor viel zu wenig aktive magier hier,
und ich habe bestimmt schon einige monate keinen aufruf mehr verfasst :)

also: nur zu, geht zu einem magier eures vertrauens und lasst euch einen
vertrag geben :)

wurzel

-----------------------------------------------------------------------------



Re^3: Verpruegeln anstatt toeten (Hate, 13. Feb 1998, 19:47:23):
~#! rn=Wurzel rt=887391440 rg=entwicklung
~#! tid=887384868
Genial waere eigentlich ein System wie in Monkey Island :-) Aber hier
waere wohl eine intelligente Eliza noetig damit das Ding auch lernen
kann.

Hate.

-----------------------------------------------------------------------------



Re^17: Neuerungen und Absichten (Hadra, 14. Feb 1998, 00:36:05):
~#! on=Hadra ot=887412827 og=diskussion
~#! on=Hadra ot=887412809 og=d.vland
~#! rn=Silvana rt=887409503 rg=d.vland
~#! tid=887221611
a) es muessen nun wirklich nicht alle rassen unter dem strich irgendwie gleich
gut sein. wenn dem so waere braeuchte man keine unterschiedlichen rassen
b) es macht sinn, erst mal zu testen wie weit das neue rassenkonzept traegt
c) ob nun beim einloggen vor froeschen, oder vor froeschen und orks oder ...
gewarnt wird, ist hinreichend egal. wenn angriffe auf spieler verhindert
werden sollen, kann dies problemlos auf seiten der mudlib geschehen, wie es ja
auch in der vergangenheit mit dem tarnhelm gemacht wurde.

-----------------------------------------------------------------------------



Re: Verpruegeln anstatt toeten (Asmodis, 14. Feb 1998, 20:13:41):
~#! rn=Ratz rt=887384868 rg=entwicklung
~#! tid=887384868
Dann mach doch ne ideemeldung beim entsprechenden NPC, die entsprechenden
Magier lesen das hier bestimmt nicht :)

-----------------------------------------------------------------------------



 WIESO EIGENTLICH ... (Arnigo, 16. Feb 1998, 09:47:15):
WIESO EIGENTLICH
                 soll es einigen Rassen verboten werden bestimmten Gilden
beizutreten / bestimmte Berufe auszuueben ?

Ich habe das  in saemtlichen mir bereits vorgekommenen Fantasy-Dingen NIE
kapiert. Nur weil ich ein Zwerg bin, heisst dass doch noch lange nicht,
- dass ich mich auf dem Wasser in einem Boot nicht beherrschen kann,
- dass ich UEBERHAUPT nicht schwimmen lernen kann
- dass ich nicht Zaubern lernen kann,
- dass ich viel saufen kann,
- dass ich mich nur unter Tage wohlfuehle...
Oder als Elf - bin ich da nur ein glueckliches gruenes Maennchen, dass ueber
die Wiese huepft und verrueckte zaubersprueche lernt ?
Ist ein Hobbit immer das kleine pelzige Wesen, dass sich freut, wenn es gut
gegessen habend unterm Baum schlafen kann ?

Ist Fantasy so eingeschraenkt ?

Ist das dann noch Fantasy ?

Am allerliebsten habe ich den Dunkelelfen Drizzt Do'Urden, der sich gegen sein
Volk gestellt hat, und an die Oberflaeche gegangen ist, dort nicht
Meuchelmoerder wurde, sondern Waldlaeufer.

So. Nicht jeder Elf ist gruen, hohl, naiv und freundlich.
Nicht jeder Mensch ist ein langweiliger, mittelstarker, mittelgrosser,
mittelschneller Durchschnitt.
Nicht jeder Hobbit ist faul, liebt essen und schlaeft gerne.
Nicht jeder Zwerg traegt nen Bart, lebt unter der Erde, ist muerrisch und
liebt Gold.

Wo bleibt die Vielfalt ?

Wo bleibt die freie Entscheidung des Berufes ?

Diese ganzen Vorurteile/rassebedingten Vorentscheidungen liegen - wenn man es
mal auf eine Wirklichkeit uebertragen will - doch wohl hauptsaechlich am
sozialen Umfeld, an der Umgebung in der man aufwuchs und an der Erziehung. Und
da mich hier die Gesamtheit des Muds 'erzogen' und umgeben hat und es immer
noch tut, kann ich gar nicht anders als fuer alles offen sein.

Einschraenkung der Lernfaehigkeit bestimmter Skills und Zutrittsverbot fuer
bestimmte Gilden fuer bestimmte Rassen sind -jawohl- Rassismus.

Ich muss mich doch sehr wundern.

QI** ist gegen Rassismus im Mud, traegt keinen Bart, wohnt in einem Turm und
geht auch sehr gerne mal schwimmen.


-----------------------------------------------------------------------------



Re:  WIESO EIGENTLICH ... (Ringor, 16. Feb 1998, 10:14:10):
~#! rn=Arnigo rt=887618835 rg=entwicklung
~#! tid=887618835
Waren die Artikel so unverstaendlich, oder wolltest Du sie falsch verstehen? 

Es gibt bisher eine einzige verbotene Gilden/Rassenkombination. Diese gibt es
schon (fast) so lange, wie es die betroffene Gilde gibt - das ist also nix,
was jetzt neu eingefuehrt wuerde. Und die Begruendung, warum die Kombination
nicht erlaubt ist, ist auch recht schluessig. ;-)

Mit der Einfuehrung der Felinen wird es jetzt genau eine (!) weitere verbotene
Kombination geben. Und auch dabei werden sich Paracelsus und Wargon wohl etwas
gedacht haben. 

Wie Silvana schon geschrieben hat, werden Zwerge auch weiterhin zaubern lernen
koennen. Und das, obwohl sie eigentlich so magisch wie ein Stueck Brot sind.
Auch steht nirgendwo, dass Zwerge niemals schwimmen lernen koennen - sie
werden es nur etwas schwerer dabei haben, als andere Rassen.

Soziales Umfeld und Erziehung moegen ja einiges bewirken koennen (T.
Pratchetts 'Carrot' gefaellt mir da sehr gut ;), aber alles kannst Du damit
nunmal auch nicht aendern.

Und wenn Du entgegen dieser 'Vorurteile' lieber einen Elfen spielen moechtest,
der seinen Kopf nur dafuer hat, damit er das Stroh nicht tragen muss - bitte.
Es wird sich sicherlich ein Magier finden, der Dir den Intelligenz-Bonus
wieder runtersetzt. ;-)

Ringor. 

-----------------------------------------------------------------------------



Re: Re:  WIESO EIGENTLICH ... (Gnome, 16. Feb 1998, 10:21:27):
~#! rn=Ringor rt=887620450 rg=entwicklung
~#! tid=887618835
danke ringor, so aehnlich wollt ichs auch sagen :)
es gibt nunmal unterschiedliche rassen, die unterschiedliches koennen,
unterschiedlich denken etc. sicher gibt es auch dort ausnahmen, so wird
z.B. nicht jeder zwerg nach gold gieren und nicht jeder elf ist genauso
intelligent wie seine artgenossen, auch wenn sie es behaupten ;-)
aber um dieses system hier zu realisieren (also jeder charakter hat
andere random-startwerte) muesste man das ganze system umschreiben.
ich denke mal, das wollen die mags nicht wirklich machen. :)

gnOme

-----------------------------------------------------------------------------



Re^4: Neuerungen und Absichten (Patryn, 16. Feb 1998, 10:29:08):
~#! on=Morgoth ot=887351612 og=d.vland
~#! rn=Sting rt=887222141 rg=d.vland
~#! tid=887221611
Genau, es waere auch nett, wenn ihr (Spieler) Euch fuer die Orkrasse einsetzen
wuerdet. Alle jammern, dass dies Probleme geben soll, weil sie als
'Kanonenfutter' verschrieen sind. Dann frage ich mich aber, wozu denn die
Zwerge in der Zwergenstadt oder die Pelzfuesse in Ihrem Dorf gehoeren?
M*

-----------------------------------------------------------------------------



Re^5: Neuerungen und Absichten (Patryn, 16. Feb 1998, 10:29:10):
~#! on=Orktoeter ot=887361953 og=d.vland
~#! rn=Morgoth rt=887351612 rg=d.vland
~#! tid=887221611
ORKTOETENORTOETENORKTOETENORKTOETEN !!

Wenn es eine Orkrasse gibt, werde ich wohl nicht mehr sehr alt werden.. bei
wie viel PK's wird man geloescht ?

OrkT ist gegen eine Orkrasse.

-----------------------------------------------------------------------------



Re^6: Neuerungen und Absichten (Patryn, 16. Feb 1998, 10:29:11):
~#! on=Gundur ot=887362286 og=d.vland
~#! rn=Orktoeter rt=887361953 rg=d.vland
~#! tid=887221611
Also ich fin auch dass Orks numal zum metzeln da sind und auch normalerweise
gar nicht die Intelligenz haben was anderes zu tun ausser Fressen ...aeh
Frauen entfuehren und schlafen oder so.
Allerhoechstens Halborks koennte es als Rasse geben, aber will schon ne
menschliche Gestalt mit nem Schweinsgesicht haben?
mfG
Gundur

-----------------------------------------------------------------------------



Re^6: Neuerungen und Absichten (Patryn, 16. Feb 1998, 10:29:12):
~#! on=Grimmborn ot=887362581 og=d.vland
~#! rn=Orktoeter rt=887361953 rg=d.vland
~#! tid=887221611
Unter diesem Gesichtspunkt plaediere ich fuer eine Orkrasse fuer Spieler.

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re^7: Neuerungen und Absichten (Patryn, 16. Feb 1998, 10:29:13):
~#! on=Ark ot=887365014 og=d.vland
~#! rn=Grimmborn rt=887362581 rg=d.vland
~#! tid=887221611
Nix da, wo kaemen wir denn da hin? Orks sind gute Feinde, aner, aeh,
man stelle sich das mal auf dem Freundschaftsband vor: alles Deine Freunde,
und alle sind ORKS??? Bald gibt es wohl auch Klitzeldrome als Rasse, wie
waer's, Boing?


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^8: Neuerungen und Absichten (Patryn, 16. Feb 1998, 10:29:14):
~#! on=Patryn ot=887365959 og=d.vland
~#! rn=Ark rt=887365014 rg=d.vland
~#! tid=887221611
ich denke mal, gegen eine orkrasse waere ueberhaupt nichts einzuwenden und
sie haetten in orkhausen auch bereits ein gutes heim :)
warum soll man nicht ork sein koennen, wenn man halt ork sein will?
es gibt auch elfen, obwohl ich bereits hunderte von elfenwaechtern
dahingeschlachtet habe. zwerge und hobbits ging es wohl auch nicht viel
besser. das mit den metzelopfern ist also kein argument.
ich bin der meinung, dass es hier viel zu wenig rassen gibt. sicherlich muss
man erstmal die vorhandenen ordentlich umsetzen und das ist ja wohl
auch gerade in arbeit. wenn dies geschehen ist, dann sollen magier,
die eine neue rasse kreieren wollen, dies auch tun duerfen. dazu
gehoert natuerlich auch das gesamte umfeld, wie anfaengerparks in der
naehe, ein startpunkt, etwas atmosphaere drundrum u.s.w.
bei den gilden wird ja auch nicht anders verfahren.

------
patryn

-----------------------------------------------------------------------------



Re^9: Neuerungen und Absichten (Patryn, 16. Feb 1998, 10:29:15):
~#! on=Highlander ot=887368211 og=d.vland
~#! rn=Patryn rt=887365959 rg=d.vland
~#! tid=887221611
Kurzer Einwurf: Orks sind die boesen Monster, es wird im MG keine Spieler-
Orks geben.
Das hat Boing schon mal gesagt, und ich glaube nicht, dass sich an der
Haltung was geaendert hat, und das passt auch so.
  HrT (sagt nur "toete ork")

-----------------------------------------------------------------------------



Re^10: Neuerungen und Absichten (Patryn, 16. Feb 1998, 10:29:16):
~#! on=Patryn ot=887368385 og=d.vland
~#! rn=Highlander rt=887368211 rg=d.vland
~#! tid=887221611
manchmal sind wir so flexibel wie ne bahnschiene. die orks aus orkhausen
sind durchaus anstaendig und boese menschen gibt es ja wohl auch zur
genuege. ein 'orks sind boese' und kraft meiner wassersuppe: 'nein'
ist meiner meinung nach etwas mager.

------
patryn

-----------------------------------------------------------------------------



Re^11: Neuerungen und Absichten (Patryn, 16. Feb 1998, 10:29:17):
~#! on=Freund ot=887370266 og=d.vland
~#! rn=Patryn rt=887368385 rg=d.vland
~#! tid=887221611
So, nachdem ich die maximale Artikelanzahl erhoert habe, kann ich auch
irnisch-schmarrend antworten:

>ist meiner meinung nach etwas mager.
                               ^^^^^
                    Fehlt da nicht ein "i"? ;-)

Freund, heute mal fuer Mitdenker.

-----------------------------------------------------------------------------



Re^11: Neuerungen und Absichten (Patryn, 16. Feb 1998, 10:29:18):
~#! on=Yendi ot=887370568 og=d.vland
~#! rn=Patryn rt=887368385 rg=d.vland
~#! tid=887221611

Waere "duenn" bei Wassersuppe nicht passender?

Bloedelnd,
            YTY


-----------------------------------------------------------------------------



Re^12: Neuerungen und Absichten (Patryn, 16. Feb 1998, 10:29:19):
~#! on=Mingo ot=887371685 og=d.vland
~#! rn=Yendi rt=887370568 rg=d.vland
~#! tid=887221611
Och, eine Erweiterung der Rassen, wenn sie schon mal von Silvana flexibler
gestaltet wurden, tut MG sicher auch mal gut. Ich faend es auch nicht
schlecht,
Goblins, Orks, Trolle als Mitspieler zu haben, da sie sich ja jetzt auch in
mehr als nur Offsets, In/Out-Idle und Groesse unterscheiden koennen.

Gloin

-----------------------------------------------------------------------------



orkrasse (Patryn, 16. Feb 1998, 10:29:20):
~#! on=Saikan ot=887371930 og=d.vland
Hmmm...
Also ich dachte immer die Spieler sind die boesen Monster....
Toete ich etwa die ganze Zeit die falschen?

Ich habe auch nichts gegen eine Orkrasse einzuwaenden.. ausser
das es dann im VLand viel zu laut sein wird.. ueberall diese
Spieler am rumlaufen...

Aber meine Orkbrenner konnten die normalen Orks ja eh noch nie
leiden
......

SaiKAN baut die VLand Website

-----------------------------------------------------------------------------



Re^11: Neuerungen und Absichten (Patryn, 16. Feb 1998, 10:29:21):
~#! on=Feuerwehr ot=887377303 og=d.vland
~#! rn=Patryn rt=887368385 rg=d.vland
~#! tid=887221611
Aehaem (*huestel*)

Ich schliesse mich hier mal den VLaendern an.
Nur weil Tolkien Orks als fiese, seelenlose Diener des Boesen darstellt,
muessen wir das nicht uebernehmen. Boing hat sich ja auch geweigert, das
AD&D-Drachenkonzept zu uebernehmen :). In den meisten der neueren Rollenspiele
sind Orks legitime Spielercharaktaere und Ork-Steppenreiter z.B. sehr beliebt.
Ich habe Tolkiens Werke (oft genug) gelesen, aber sie als Bibel zu nutzen, ist
doch etwas eng gedacht.

    Feuerwehr.

P.S. Obwohl, ich muss zugeben, dass Orks in Staedten leben, hab ich noch
     nirgendwo gehoert. Orks waren immer sehr naturverbunden und leben
     groesstenteils in Zelten, Huetten und Hoehlen (dachte ich).

-----------------------------------------------------------------------------



Re^12: Neuerungen und Absichten (Patryn, 16. Feb 1998, 10:29:22):
~#! on=Bambulko ot=887377526 og=d.vland
~#! rn=Feuerwehr rt=887377303 rg=d.vland
~#! tid=887221611
Verdammt, wirklich?
Ich habe bisher immer gedacht, Orks gibt es gar nicht. Aber man lernt halt
jeden Tag dazu.

Bambulko, jetzt ein wenig schlauer

->schmarrn

-----------------------------------------------------------------------------



Re^13: Neuerungen und Absichten (Patryn, 16. Feb 1998, 10:29:23):
~#! on=Wurzel ot=887380131 og=d.vland
~#! rn=Bambulko rt=887377526 rg=d.vland
~#! tid=887221611
auch mal was sagen wollen...
der ganze hintergrund der derzeitigen ueberarbeitung der rassen ist doch der
gewesen, dass es raum fuer neue rassen gibt. das macht allerdings nicht viel
sinn, wenn sie sich nur in ein paar offsets unterscheiden und dem ort, wo
sie nach dem tod beten. daher ist das jetzt in gewisser weise als eine
vorbereitung fuer neue rassen zu verstehen.
warum das dann allerdings orks sein sollten, entgeht mir irgendwie. ich
finde beispielsweise die felinen von paracelsus viel kreativer, und auch
die shakies werden evtl. mal als rasse kommen. es muessen nicht immer nur
die ideen von tolkien sein, die bis zur unkenntlichkeit verwurstet werden,
ab und zu ist auch mal eine eigene idee erlaubt. wir sind hier ja nicht bei
den betriebswirten, oder?

wurzel (plant die finsterlinge)

-----------------------------------------------------------------------------



Re^14: Neuerungen und Absichten (Patryn, 16. Feb 1998, 10:29:24):
~#! on=Caradhras ot=887382126 og=d.vland
~#! rn=Wurzel rt=887380131 rg=d.vland
~#! tid=887221611
Hey, Wurzel, beleidig' hier keine Betriebswirte, manche sind sogar
(boaaaaah ey) Rollenspieler! Gell, so geht des ja ned weiter hier. :-)

     Ein kleiner betriebswirtschaftlicher Frosch namens Caradhras

-----------------------------------------------------------------------------



Re^10: Neuerungen und Absichten (Patryn, 16. Feb 1998, 10:29:25):
~#! on=Morgoth ot=887384192 og=d.vland
~#! rn=Highlander rt=887368211 rg=d.vland
~#! tid=887221611
Das geht nur, wenn der Spieler die ID "ork" hat. Dies ist aber nicht der Fall,
also ist dieses Argument voellig unsinnig.
Zu den anderen Artikeln:
Wieso sollte es keine Orks geben, die nicht nach der Tolkien-Welt erschaffen
wurden? Irgendwer schrieb etwas von Kreativitaet, nun genau das wird doch wohl
hiermit zum Ausdruck gebracht. Eben Orks, die in kein Standardscheme passen.
M*

-----------------------------------------------------------------------------



Re^11: Neuerungen und Absichten (Patryn, 16. Feb 1998, 10:29:26):
~#! on=Sting ot=887385009 og=d.vland
~#! rn=Morgoth rt=887384192 rg=d.vland
~#! tid=887221611
Hmm, also ich bin schon lange der Meinung dass wir hier  im MG zuwenig Rassen
haben, bevor man soviele Gilden macht, sollte man erstmal ein paar neue Rassen
anschliessen, und Orks halte ich fuer ne gute Idee, alle Argumente die bisher
dagegen gebracht wurden, finde ich reichlich schwach.
Abgesehen davon, ist Orkhausen doch schon fast optimal als Rassen-Startplatz

Sting, kann manche Meinungen nicht verstehen...

-----------------------------------------------------------------------------



Re^15: Neuerungen und Absichten (Patryn, 16. Feb 1998, 10:29:27):
~#! on=Ceilo ot=887386789 og=d.vland
~#! rn=Caradhras rt=887382126 rg=d.vland
~#! tid=887221611
Nun ja, was fuer den einen die Orks sind, sind fuer den anderen eben
die Betriebswirte... ;-)

Ceilo

-----------------------------------------------------------------------------



Re^16: Neuerungen und Absichten (Patryn, 16. Feb 1998, 10:29:28):
~#! on=Wurzel ot=887390592 og=d.vland
~#! rn=Ceilo rt=887386789 rg=d.vland
~#! tid=887221611
ich haette es kaum besser ausdruecken koennen :))
alias t=toete betriebswirt

wurzel

-----------------------------------------------------------------------------



Re^12: Neuerungen und Absichten (Patryn, 16. Feb 1998, 10:29:29):
~#! on=Lug ot=887393851 og=d.vland
~#! rn=Feuerwehr rt=887377303 rg=d.vland
~#! tid=887221611
Moin,

erinnert sich noch wer an Runequest? Da konnte man im Prinzip alle Rassen
spielen und NPC's konnte genauso in verschiedenen Staerken auftreten wie ein
Spieler. Zuviele Blaues Auge Kiddies hier, oder was?

Tot der Interpunktion!
Lug

-----------------------------------------------------------------------------



Re^13: Neuerungen und Absichten (Patryn, 16. Feb 1998, 10:29:30):
~#! on=Grimmborn ot=887394121 og=d.vland
~#! rn=Lug rt=887393851 rg=d.vland
~#! tid=887221611
Der Unterschied ist: Hier verlangen die Spieler, dass alle Rassen mehr oder
weniger gleichstark sein sollen. Und so viele halbwegs gleichstarke Rassen zu
finden ist halt nicht so leicht.
Mach eine Orkrasse, die sich an den Orks im Orklager orientiert und hoer Dir
das Geschrei der Spieler von wegen "ungerecht" an.

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re^14: Neuerungen und Absichten (Patryn, 16. Feb 1998, 10:29:31):
~#! on=Lug ot=887394170 og=d.vland
~#! rn=Grimmborn rt=887394121 rg=d.vland
~#! tid=887221611
Naja,

alles Luschen!

;)

Skeptischst
Lug

-----------------------------------------------------------------------------



Re^14: Neuerungen und Absichten (Patryn, 16. Feb 1998, 10:29:32):
~#! on=Anatol ot=887394566 og=d.vland
~#! rn=Grimmborn rt=887394121 rg=d.vland
~#! tid=887221611
Ich weiss nicht... ist es wirklich so wichtig, dass alle Rassen gleich
stark sind? Und wer ist schon in der Lage, die Vor- und Nachteile richtig
(?) abzuwaegen, also z.B. "Tankkapazitaet" mit "Attribut-Staerke" fair
auszugleichen?

Elf, weil er Elf sein mag, nicht weil er besser als andere sein moechte,
Anatol


-----------------------------------------------------------------------------



Re^15: Neuerungen und Absichten (Patryn, 16. Feb 1998, 10:29:33):
~#! on=Grimmborn ot=887394729 og=d.vland
~#! rn=Anatol rt=887394566 rg=d.vland
~#! tid=887221611
Ich meinte "halbwegs gleichstark". Und wenn das nicht reicht, dann vielleicht
das Argument, dass es einem Magier schwerfallen wird, wenn "seine" Rasse in
alem den anderen hinterherhinkt. Das spielt natuerlich auch eine Rolle. :-)

GdA

-----------------------------------------------------------------------------



Re^16: Neuerungen und Absichten (Patryn, 16. Feb 1998, 10:29:34):
~#! on=Silvana ot=887409503 og=d.vland
~#! rn=Grimmborn rt=887394729 rg=d.vland
~#! tid=887221611
Zur Ausgewogenheit: Es erscheint mir ziemlich unmoeglich, die Rassen
wirklich ausgewogen zu gestalten. Obwohl ich mit einigen Werten bereits
seit Monaten spiele, und der Meinung bin, jetzt einen brauchbaren 
Kompromiss auch Unterscheidung, Spielbarkeit und Ausgewogenheit 
gefunden zu haben, heisst das noch lange nicht, dass das nun das
letzte Wort sein muss. So etwas wie die Rassen kann man nur im grossen
Feldversuch wirklich testen und ich bin auch konstruktives Feedback
gespannt.
Was neue Rassen angeht: Ich moechte keine weiteren neuen Rassen 
anschliessen, solange ich nicht den Eindruck habe, dass die ab Montag
existierenden fuenf Rassen sich wirklich bewaehrt haben. Das heisst 
nicht, dass man nicht beginnen (fortfahren) kann, weitere Rassen zu
konzipieren...
Was die Orks angeht: Ich persoenlich bin nicht prinzipiell gegen eine
Orkrasse, aber ich habe einiges Verstaendnis fuer die geaeusserten
Bedenken. Klassische Monsterrassen als Spielerrassen zuzulassen ist eine
nicht ganz unkritische Angelegenheit, die man sich reiflich ueberlegen
sollte - aber kategorisch ablehnen werd ich das nicht. Also, Morgoth,
stell ein wirklich gutes, stimmungsvolles und ausgereiftest Konzept
vor. Ich kann Dir nichts versprechen, aber es waere nicht das erste mal,
dass eine wirklich gute Idee mit ebensolcher Realisierung zu einem
Sinneswandel gefuehrt hat...

  Silvana 

-----------------------------------------------------------------------------



Re: Neuerungen und Absichten (Patryn, 16. Feb 1998, 10:29:35):
~#! on=Asmodis ot=887480927 og=d.vland
~#! rn=Saikan rt=887221611 rg=d.vland
~#! tid=887221611
Tolle Sache, endlich tut sich mal wieder was Konstruktives im VLand :)

-----------------------------------------------------------------------------



Re^5: Neuerungen und Absichten (Patryn, 16. Feb 1998, 10:29:36):
~#! on=Asmodis ot=887481105 og=d.vland
~#! rn=Morgoth rt=887351612 rg=d.vland
~#! tid=887221611
Genau, ich kloppe genausogern auf Orks herum wie auf Zwergen oder Elfen, also
warum nicht die Orkrasse ??
Welche Faehigkeiten die haben, ist ja auch ziemlich klar ...

-----------------------------------------------------------------------------



Re^10: Neuerungen und Absichten (Patryn, 16. Feb 1998, 10:29:37):
~#! on=Asmodis ot=887482093 og=d.vland
~#! rn=Highlander rt=887368211 rg=d.vland
~#! tid=887221611
Wieso boese Monster ?? Die Normalweltorks im VLand sind ja gar nicht boese,
jedenfalls nicht nach dem Konzept.
Ausserdem, wieso darf es keine 'boesen' Rassen geben, wir sind ja alle keine
Engel, da ist das doch durchaus gerechtfertigt, wenn jemand nicht mit
Heiligenschein herumlaeuft.
Unter diesen Umstaenden plaediere ich fuer die Daemonenrasse mit Startpunkt in
der Daemonenburg.

-----------------------------------------------------------------------------



Re^10: Neuerungen und Absichten (Patryn, 16. Feb 1998, 10:29:38):
~#! on=Key ot=887492770 og=d.vland
~#! rn=Highlander rt=887368211 rg=d.vland
~#! tid=887221611
Gibts nicht weil ich nicht will ist ziemlich duerftig ...

Wenn dann einen ordentlichen Grund ... Gegen eine Orkrasse haette ich im
Prinzip auch nix einzuwenden wenn sie ordentlich gemacht ist, warum nicht?
Auch wenn ich jetzt rumrenne und Orks toete oder Zwerge oder Hobbits heisst
das noch lange net das ich einen mit der Rasse Ork angreifen wuerde der
Spieler ist ... .9

Jedenfalls net oefter als die anderen Rassen ,)

Key

-----------------------------------------------------------------------------



Re^11: Neuerungen und Absichten (Patryn, 16. Feb 1998, 10:29:39):
~#! on=Key ot=887493320 og=d.vland
~#! rn=Asmodis rt=887482093 rg=d.vland
~#! tid=887221611
Daemonen waeren cool .)
Oder Untote :) Hmm gabs da nichtmal was in der Richtung? Oder war das nur eine
gildenidee?

Key

-----------------------------------------------------------------------------



Re^12: Neuerungen und Absichten (Patryn, 16. Feb 1998, 10:29:40):
~#! on=Wurzel ot=887493767 og=d.vland
~#! rn=Key rt=887493320 rg=d.vland
~#! tid=887221611
sowas aehnliches wie daemonen hab ich vor zu machen, die finsterlinge. aber
wie silvana sehr richtig bemerkte, sollte erstmal geschaut werden, wie sich
die bisherigen rassen (+felinen) machen, bevor grossartig was neues kommt.

wurzel

p.s. ausserdem sind daemonen auf dauer oed, das hab ich schonmal in nightfall
gemacht :) also wirds vielleicht aehnlich, aber bestimmt nicht genauso.

-----------------------------------------------------------------------------



Re^13: Neuerungen und Absichten (Patryn, 16. Feb 1998, 10:29:41):
~#! on=Key ot=887493896 og=d.vland
~#! rn=Wurzel rt=887493767 rg=d.vland
~#! tid=887221611
Aber bitte nicht unter dem Namen Finsterlinge .... 
das klingt so ... naja ... nach irgendwelchen kleinen geschoepfen die nicht
ganz helle sind ;)

Key denk spontan an sowas wie Halblinge ;)

-----------------------------------------------------------------------------



Re^14: Neuerungen und Absichten (Patryn, 16. Feb 1998, 10:29:42):
~#! on=Asmodis ot=887494026 og=d.vland
~#! rn=Key rt=887493896 rg=d.vland
~#! tid=887221611
Genau, ausserdem kliengt das eher nach einer Gilde, statt nach einer Rasse :)
Daemonen ist der einzig akzektable Name, naja, notfalls Halb-Daemonen.
Und wenn ich es mir so ueberlege, wenn man die Hoelle endlich mal etwas
erweitern
wuerde, koennte man da eine schoene neue Startregion schaffen ....

-----------------------------------------------------------------------------



Re^15: Neuerungen und Absichten (Patryn, 16. Feb 1998, 10:29:43):
~#! on=Wurzel ot=887494182 og=d.vland
~#! rn=Asmodis rt=887494026 rg=d.vland
~#! tid=887221611
es wird eh keine neue rasse angeschlossen, die nicht eine startregion hat, die
auch diesen namen verdient. der name ist nicht soo wichtig, aber fuer mich
hat "finsterling" einen klang, den ich nicht dauernd in jedem zweiten
fantasybuch finde. immer nur abschreiben ist das oedeste, was es gibt.

wurzel

-----------------------------------------------------------------------------



Re^14: Neuerungen und Absichten (Patryn, 16. Feb 1998, 10:29:44):
~#! on=Hangover ot=887495779 og=d.vland
~#! rn=Key rt=887493896 rg=d.vland
~#! tid=887221611

Hm...meinst Du vielleicht Dunkelhobbits, Key?

Hangover,
der sich sowas durchaus vorstellen koennte...

-----------------------------------------------------------------------------



Re^14: Neuerungen und Absichten (Patryn, 16. Feb 1998, 10:29:45):
~#! on=Asmodis ot=887496832 og=d.vland
~#! rn=Key rt=887493896 rg=d.vland
~#! tid=887221611
Also ich kann mir darunter nur kleine Schokoriegel vorstellen :)

-----------------------------------------------------------------------------



Re^14: Neuerungen und Absichten (Patryn, 16. Feb 1998, 10:29:46):
~#! on=Lug ot=887496874 og=d.vland
~#! rn=Key rt=887493896 rg=d.vland
~#! tid=887221611
Hihi,

Finsterlinge. Wie niedlich, ob die in den Schrattopf muessen?

Oettelnd
lug

-----------------------------------------------------------------------------



Verlegen??? (Patryn, 16. Feb 1998, 10:29:47):
~#! on=Saikan ot=887545958 og=d.vland
Ich schlage mal vor die ganze Rassenexkursion auf eine andere Rubrik zu legen.
Nicht nur weil wenn ich hier was schreiben moechte kein Platz mehr ist.

SaiKAN

-----------------------------------------------------------------------------



Re: Verlegen??? (Patryn, 16. Feb 1998, 10:29:48):
~#! on=Grimmborn ot=887547600 og=d.vland
~#! rn=Saikan rt=887545958 rg=d.vland
~#! tid=887545958
Sorry, eure d.*-Rubriken muessen die entsprechenden Verantwortlichen
(Regionsmagier) genauso selber sauber halten wie die Gildenmagier ihre
gilden.*-Rubriken.

Nicht zustaendig,
                  Grimmborn der Atheist

-----------------------------------------------------------------------------



Re: Verlegen??? (Patryn, 16. Feb 1998, 10:31:24):
~#! rn=Patryn rt=887621387 rg=entwicklung
~#! tid=887621387
gesagt getan...sorry fuer die vielen verlegungen, aber nu steht das zeug
in einer rubrik, wo auch grimmborn wieder zuschlagen darf ;)

------
patryn

-----------------------------------------------------------------------------



Neue Tankreform (Srabi, 16. Feb 1998, 11:57:16):
Ich weiss zwar nicht, was Silvana mit der Tankreform bezwecken will, aber
metzeln ist fuer Spieler mit kleinem Level unmoeglich geworden. Das
gildenbezogene ueben kann man ab jetzt auch vergessen. Ich verstehe nicht,
warum die Spieler nicht vorher bei solchen gravierenden Aenderungen vorher
gefragt werden. Nicht die Magier muessen mit der Reform leben, sondern die
Spieler. Nicht die Magier spielen im MorgenGrauen, sondern die Spieler.
Srabi, zutiefst enttaeuscht

-----------------------------------------------------------------------------



Re: Neue Tankreform (Mingo, 16. Feb 1998, 11:59:58):
~#! rn=Srabi rt=887626636 rg=entwicklung
~#! tid=887626636
WAAAAH! Das System ist 30 min dran und schon fangen die ersten an, zu heulen.
Eine Bitte: Wenn ihr _jetzt_ heulen wollt, dann wartet bitte noch einen Tag,
damit sich das wenigstens mit den 'Primas' vermischt. Oder so.

Gloin

-----------------------------------------------------------------------------



Re: Re: Neue Tankreform (Paracelsus, 16. Feb 1998, 12:02:29):
~#! rn=Mingo rt=887626798 rg=entwicklung
~#! tid=887626636
Ausserdem wurden die Aenderungen bei den Kneipen in der MPA diskutiert,
und zwar nicht in einer Magierrubrik, wenn ich nicht irre.

Para*.

-----------------------------------------------------------------------------



Re: Re: Neue Tankreform (Zarniya, 16. Feb 1998, 12:08:13):
~#! rn=Mingo rt=887626798 rg=entwicklung
~#! tid=887626636
Dear Srabi, 

1. die Spieler SIND gefragtworden, aber du kannst dich wohl nciht mehr
erinnern.
2. sicher ist es eine gravierende Aenderung, aber besser sowas als gar nix. Es
ist die einzige Moeglichkeit, die Ruestungsspirale zu stoppen und
grundvoraussetzung fuer den teamkampf.

3. Ueben in den Gilden soll nicht per tankscript laufen.. wenn du das so
machst, dann hast du was nicht verstanden und damit komme ich zum
eigentlichenPunkt:

4. Du als Spieler musst auch nicht mit der Reform leben. Es gibt auch andere
schoene Muds. Grundsaetzlich muessen leider hier aber die armen Magier mit so
Spielerwuersten wie DIR leben, die nur mosern, flennen und schlechte Laune
verbreiten. DIES HIER IST EIN MUD, d.h., dass mehrere zusammenspielen, das
heisst aber auch, dass man als Minderheit die Entscheidungen der Mehrheit
akzeptiert (und die mehrheit der Spieler hat sich fuer das neue system
ausgesprochen), das heisst aber auch, dass, dass hier die Macht bei den
Magiern liegt und wenn Dir das nicht passt, dann geh woanders hin.

UND LASST SILVANA IN RUHE! Die TUT wenigstens was kreatives und sinnvolles und
kotzt nicht die Zeitung voll

Zarniya, sauerst!!!

-----------------------------------------------------------------------------



Re:  WIESO EIGENTLICH ... (Larissa, 16. Feb 1998, 12:21:17):
~#! rn=Arnigo rt=887618835 rg=entwicklung
~#! tid=887618835
Klar
koenne Zwerge schwimmen lernen, ganauso wie fliegen, es wird nur nix
helfen, weil sie viel zu schwer sind, zu hoho Dichte quasi.

Lari Do'Urden ->Schmarrn

-----------------------------------------------------------------------------



Re:  WIESO EIGENTLICH ... (Ceilo, 16. Feb 1998, 15:19:19):
~#! rn=Arnigo rt=887618835 rg=entwicklung
~#! tid=887618835
Unmoeglich sollten bestimmte Berufe und Faehigkeiten je nach Rasse nicht sein,
da stimme ich zu. Schwierigkeiten sollte es aber durchaus geben. Dass
das alles weitgehend von Erziehung und Sozialisation abhaengt, stimmt
zwar, aber die MG-Charaktere fangen ja nicht als kleines Baby an. Ich
sehe das so, dass ein Mensch/Zwerg/Elf/etc. nicht mit seiner Geburt im MUD
auftaucht, sondern
mit seinem Beschluss, Abenteurer zu werden. Wir koennen also davon ausgehen,
dassdie Charaktere schon eine ganze Menge Erziehung hinter sich haben. Ein
Zwerg ist halt unter
der Erde zu Hause, kennt sich da aus, hat aber kaum je ein Gewaesser zu
Gesicht bekommen und von Schwimmen und Schiffen
nichts als Schauergeschichten gehoert. Da liegt es nahe, dass es mit dem
Schwimmenlernen nicht so leicht wird wie
fuer einen gebuertigen Port Vainer, der schon immer den Sommer am Strand
verbracht hat
und staendig Seeleuten begegnet ist.

Ceilo

-----------------------------------------------------------------------------



Re^12: Neuerungen und Absichten (Qitess, 16. Feb 1998, 16:29:44):
~#! rn=Patryn rt=887621361 rg=entwicklung
~#! tid=887221611
gut dass du es anfuehrst, feuerwehr.
tolkiens werke sind nicht die bibel und pratchett ist sowieso ein witzbold.

QI**


-----------------------------------------------------------------------------



Re: Re:  WIESO EIGENTLICH ... (Qitess, 16. Feb 1998, 16:44:38):
~#! rn=Ceilo rt=887638759 rg=entwicklung
~#! tid=887618835
nun, mein lieber Ceilo, dass mit der erziehung war in anfuehrungszeichen (wenn
ich mich recht erinnere), und ausserdem sind erstlevelspieler durchaus wie
kleine kinder. und ausserdem ist genau DAS das huepfende Komma - eben nicht
JEDER hat diese in der fantasy total eingefahrene erziehung genossen. NICHT
JEDER ist so aufgewachsen wie immer ueberall angenommen wird. und ausserdem
ist das mit der dichte (ich weiss den autor dieses artikels jetzt grad nich
mehr...fuehl dich einfach angesprochen...) absolut ziemlich daemlich. demnach
muessten elfen erst recht untergehen, weil sie innen hohl sind und der mund
immer vor staunen offen steht. Genauso ein daemliches voruerteil.

noch ein anderer artikel ( die erste antwort auf meinen) : sorry, hab da nicht
ganz aufgepasst, aber ich wusste nicht, dass bereits eine rasse in eine gilde
nicht eintreten konnte. welche bitte denn in welche ?

QI**

-----------------------------------------------------------------------------



Re^3:  WIESO EIGENTLICH ... (Key, 16. Feb 1998, 16:46:18):
~#! rn=Qitess rt=887643878 rg=entwicklung
~#! tid=887618835
Es konnten noch nie Hobbits zu den Chaoten!
Wie oft denn noch? liest du auch mal was man dir antwortet?

Key

P.S.: Es gab nur einen Hobbit bei den Chaoten: Jasper

-----------------------------------------------------------------------------



Re^3:  WIESO EIGENTLICH ... (Bambulko, 16. Feb 1998, 17:07:00):
~#! rn=Qitess rt=887643878 rg=entwicklung
~#! tid=887618835
Ja und, wir sind eben ein rassistisches Mud. Wenn die Chaos-Gilde keine
Hobbits haben will, dann ist das deren Sache. Und Elfen sind ja sowiso Sche...

Bambulko

-----------------------------------------------------------------------------



Re^4:  WIESO EIGENTLICH ... (Qitess, 16. Feb 1998, 17:10:31):
~#! rn=Key rt=887643978 rg=entwicklung
~#! tid=887618835
doch, mein lieber key, ich lese, was man mir antwortet, aber es tut mir leid,
dass ich nicht faehig bin, zwischen den zeilen derart konkrete aussagen zu
lesen, denn im text stand es nicht, dass hobbits keine chaoten werden koennen.
by the way - weshalb denn nicht ?

QI**

-----------------------------------------------------------------------------



Re^5:  WIESO EIGENTLICH ... (Anatol, 16. Feb 1998, 18:29:46):
~#! rn=Qitess rt=887645431 rg=entwicklung
~#! tid=887618835
*stoehn* Qitess, wenn Du eine Emanze bist und fuer die Gleichberechtigung 
aller lebenden Geschoepfe kaempfst, ist das eine Sache. Eine andere Sache 
ist, dass Du hier in einem Fantasy-Mud spielst, und inzwischen einige
Magier auf den Gedanken kamen, dass eben das Fantasy-Feeling die Stimmung,
das Leben des Muds ausmacht. Dazu gehoert auch, dass sich Elf und Zwerg
nicht nur im "Finger" unterscheiden, sondern bei eventuellen Problemen
aufeinander angewiesen sind. Jede Rasse hat Staerken und Schwaechen, und
wenn ein Gildenmagier z.B. davon ausgeht, dass nichtmal ein harmloser Daemon
sich von einem Dreikaesestinkehoch-Hobbit etwas sagen lassen wuerde, traegt
das nur zur Vielfalt bei. Schade, wirklich schade, dass das MG nicht von 
Anfang an Zweitspieler VERBOTEN hat, diese Tuere kriegt man jetzt nicht
mehr auf faire Weise zu.

Wenn Du Dir als Zwerg zu doof vorkommst, was ich als Elf natuerlich sehr
gut nachvollziehen kann, ist das ganz allein DEIN Problem. Deines und das
der Zwergenkommune, vielleicht suchst Du einfach mal Rat bei Deinen Mit-
zwergen. Im Normalfall sind Zwerge naemlich auch richtig nett. 

Anatol >:)


-----------------------------------------------------------------------------



Re^6:  WIESO EIGENTLICH ... (Freund, 16. Feb 1998, 18:46:51):
~#! rn=Anatol rt=887650186 rg=entwicklung
~#! tid=887618835
Spontan zwei Sachen, die mir gefallen wuerden. (Realisierbarkeit mal aussen
vor. :-)
1. Zweiti-Verbot. Waere genial. Reicht schon, wenn man nicht mehr als einen
Charakter zur gleichen Zeit eingeloggt haben darf. 
2. Mehr Fanatsy-Likeness. Soll heissen: Jeder denkt sich einen Lebenslauf aus,
und bekommt so die Stats individuell gesetzt, je nach Vorgeschichte. :-)

DAS faende ich toll. (wie gesagt: nur mal so.)
Freund, heute idealistisch.

-----------------------------------------------------------------------------



Re^7:  WIESO EIGENTLICH ... (Key, 16. Feb 1998, 18:50:23):
~#! rn=Freund rt=887651211 rg=entwicklung
~#! tid=887618835
Hmm nee also 1 hatten wir schon :)

Wenn meine Zweities gehen muessen verlange ich dessen stusse zu bekommen ...
die haben naemlich verdammt viel arbeit gekostet ...
Obwohl ... stusse will ich gar nicht ,)

Hmm das zweite gefaellt mir schon eher ;)

Key

-----------------------------------------------------------------------------



Re^8:  WIESO EIGENTLICH ... (Hangover, 16. Feb 1998, 18:51:33):
~#! rn=Key rt=887651423 rg=entwicklung
~#! tid=887618835

Und was fuer Stats erwartest Du mit einer Vorgeschichte von 400 Toden,
Key? Also wirklich... ;)

-hangover


-----------------------------------------------------------------------------



Re^8:  WIESO EIGENTLICH ... (Sharia, 16. Feb 1998, 18:52:21):
~#! rn=Key rt=887651423 rg=entwicklung
~#! tid=887618835
hmm und was tut man gegen Lebenslaeufe der Art ?:

Meine Mutter war hochintelligent und besonders geschickt . .. mein Vater
besonders Stark und Ausdauernd und ich bin eine Mischung aus beidem ? neeee
oder ? :-)

Die Idee ist zwar nett aber leider nix fuer ein so grosses Mud wie das MG :-)

Sharias Meinung

-----------------------------------------------------------------------------



Re^9:  WIESO EIGENTLICH ... (Key, 16. Feb 1998, 18:52:27):
~#! rn=Hangover rt=887651493 rg=entwicklung
~#! tid=887618835
Aehm ... also wenn man das so sieht ;)))

Aber ich hab erst 399 :)))

Key

-----------------------------------------------------------------------------



Re^10:  WIESO EIGENTLICH ... (Lug, 16. Feb 1998, 18:53:30):
~#! rn=Key rt=887651547 rg=entwicklung
~#! tid=887618835
Naja,

wird ja nicht lange dauern, key ;)

Senf
Lug

-----------------------------------------------------------------------------



Re^7:  WIESO EIGENTLICH ... (Anatol, 16. Feb 1998, 18:54:12):
~#! rn=Freund rt=887651211 rg=entwicklung
~#! tid=887618835
Die letzten, die vehemente Vertreter von "1" sind/waren, pilgerten aus, 
ein eigenes Mud zu gruenden.

Viel Glueck.
Anatol


-----------------------------------------------------------------------------



Re^9:  WIESO EIGENTLICH ... (Grimmborn, 16. Feb 1998, 19:04:26):
~#! rn=Sharia rt=887651541 rg=entwicklung
~#! tid=887618835
Ganz einfach: Du bekommst die Intelligenz und Geschicklichkeit des Vaters und
Kraft und Ausdauer von der Mutter.

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re^10:  WIESO EIGENTLICH ... (Freund, 16. Feb 1998, 19:08:42):
~#! rn=Grimmborn rt=887652266 rg=entwicklung
~#! tid=887618835
Me too. :)

Will sagen: Das hatte ich auch schreiben wollen, aber Grimmborm schreibt
schneller als sein Schatten. :-) Frei nach der EAV:
Ich bin eine MIschung, die ist ziemlich lecker,
aus Albert Einstein und Arnold Schwarzenegger.
So weit, so gut, doch das Dumme ist nur:
Ich hab Schwarzeneggers Hirn und von Einstein die Figur!

Und die Groesse waere nicht stoerend. :-) Ich haette Lust auf den Posten. :)
Die Stats muessten natuerlich eine gewisse Summe nicht ueberschreiten. :-)

-----------------------------------------------------------------------------



Re^6:  WIESO EIGENTLICH ... (Qitess, 16. Feb 1998, 20:21:41):
~#! rn=Anatol rt=887650186 rg=entwicklung
~#! tid=887618835
dankeschoen, anatol.
ich find das echt klasse. es geht nicht darum, wofuer ich kaempfe (was fuer
ein doofer ausdruck) und ausserdem finde ich,m dass der tenor deines
wunderschoenen artikels nur heisst : qitess ist bloed, halt die klappe.
vielen herzlichen dank. ich BIN NAEMLICH NETT ! IST DAS KLAR ???!!!???

QI**

P.S.: hihi,  ich liebe flames. anatol : *KNUUUUTSCH*

-----------------------------------------------------------------------------



Re^7:  WIESO EIGENTLICH ... (Anatol, 16. Feb 1998, 21:45:00):
~#! rn=Qitess rt=887656901 rg=entwicklung
~#! tid=887618835
Nein, der Tenor meines Artikels haette sein sollen "Ich verstehe nicht, 
warum Du Dich aufregst!". Selbst wenn ich Dich fuer bloede halten sollte
(was selbst bei Zwergen nicht Standardannahme ist), muesste ich Dir dennoch
eine gehoerige Portion Mut zugestehen. Die meisten sind naemlich nicht
bereit, ihre Meinung deutlich zu sagen, geschweige denn zu vertreten, wenn
es nicht die Meinung der Mehrheit ist.

ignoriere qitess.knutsche

Anatol :o)


-----------------------------------------------------------------------------



Re^8:  WIESO EIGENTLICH ... (Grimmborn, 16. Feb 1998, 21:49:19):
~#! rn=Anatol rt=887661900 rg=entwicklung
~#! tid=887618835
Ich verstehe die Aufregung nicht. Wieso sollte ich ernst nehmen, wenn jemand
es rassistisch findet, dass Elche nicht fliegen koennen? Oder dass Forellen es
schwerer haben, auf Baeume zu klettern? Oder dass Elfen einen anstaendigen
Schluck vertragen? Nebenbei bekommt bei mir jeder Zwerg gewaltige Boni, was
das schwimmen angeht. Solange es in Richtung des Gravitationsvektors erfolgt,
natuerlich.
Nein, unterschiedliche Rassen heisst, unterschiedliche Anlagen. Da kann man
drueber weg kommen, aber nur schwer und unvollkommen.

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re^9:  WIESO EIGENTLICH ... (Tunixgut, 17. Feb 1998, 09:06:30):
~#! rn=Hangover rt=887651493 rg=entwicklung
~#! tid=887618835
Was Key erwarten sollte???

Eine TotenAngst von -30 natuerlich! ;o)

's Karate-Zwerchle...

-----------------------------------------------------------------------------



Kneipenkonzept (Zephyr, 17. Feb 1998, 09:34:15):
Auf allgemeinen Wunsch ein schon etwas aelterer Artikel von Silvana zum
Kneipenkonzept:

Lang erwartet, hier isses: Das Kneipenkonzept (Silvana, 16. Sep 1997,
20:58:24):

Hi.

Wie angekuendigt heute ein paar konkrete Worte zum Thema Kneipen.
Das ganze wird LANG, also bitte Geduld beim Lesen. :)
Aber zunaechste einmal: Wieso das ganze?

Nun, die Geschichte hat eine Menge Wurzeln als da waeren:
a) Die Standard-Kneipe des Morgengrauens ist in ihrer Programmierung 
   leider etwas unflexible, so dass es zu einer ganzen Reihe von
   Inselloesungen gekommen ist. So funktioniert der Zwergen-Rabatt in
   Boings Zwergenkneipe anders als der Rabatt in der Eistrollkneipe.
   Puma musste ziemliche Verrenkungen machen, um das Guinness fuer
   Geniesser zu realisieren, und auch andere Dinge sind nicht eben
   flexibel, was mich schon laenger geaergert hat - daher der Wunsch,
   das Objekt komplett zu ueberarbeiten.
b) Im Rahmen der Rassenkonzepte wird es zu starken Verschiebungen der
   Tankkapazitaeten der verschiedenen Rassen kommen, so dass speziell 
   die Speisen, die ja derzeit ein eher stiefmuetterliches Dasein
   fristen, irgendwie aufgewertet werden muessen (Es ist derzeit nicht
   ohne weiteres moeglich die Heilwirkung von Speisen unabhaengig von
   des Saettigung einzustellen).
c) Auf der Party in Muenster wurde ich mehrfach von Spielern (!) 
   angesprochen, dass (i) die Kneipen die mit Abstand ungemuetlichsten
   Orte des Morgengrauens sind, weil da nur wie Hoelle getank-skriptet
   wird und das (ii) es eigentlich hoeherer Schwachsinn ist, dass mal 
   sich mit ein paar Cola (beispielsweise) in etwa 0sec von fast Tod
   auf voellig fit tanken kann. Nun kann man etwas, dass sich so lange
   im Morgengrauen gehalten hat, wie das Kneipen-Heil-Konzept sicher 
   nicht einfach abschaffen, aber ich denke, wir haben eine halbwegs
   fuer alle akzeptable Loesung gefunden.
d) Basierend auf meine ersten Ideen sind noch ein Paar Ideen von Cat*
   und Wargon gekommen, die mich ziemlich begeistert haben, da sie 
   dem Rollenspielcharakter etwas mehr unterstreichen und gerade
   Spielern (besonders LowLewelSpielern) voellig neue Moeglichkeiten
   geben. Dazu spaeter mehr.

So, nun also zu den Konzeptionellen Aenderungen:
1) Die Preisgestalltung der Speisen und Getraenke wird den einzelnen
   Kneipen ueberlassen. Mit einer einfachen Funktion kann dann 
   beispielsweise Rabatt fuer eine Rasse, als Questbelohnung, etc
   gewaehrt werden, oder gar bei Geldknappheit der Preis angezogen
   werden.
2) Speisen und Getraenke koennen LP- und SP-Regeneration unabhaengig 
   einstellen. So sind z.B. Geistige Getraenke moeglich, die nur die
   geistigen Faehigkeiten puschen. :) Dabei muessen natuerlich die
   Richtlinien fuer erlaubte oder nicht erlaubte Speisen/Getraenke
   neu festgelegt werden. Eine Beruecksichtigung der Preises waere
   an der Stelle wuenschenswert (Arbeit, Para! :) )
3) Man kann optional einstellen, wie lange die Kueche/Bedienung
   braucht, um zu liefern, bzw wie lange man zum Essen braucht. Sehr
   gute Heilmoeglichkeiten, sollten nicht zu schnell da sein, 
   waehrend der Standard ruhig grosskuechenmaessig sofort da ist.
4) Die Heilung setzt nicht sofort ein, sondern beschleunigt die
   Regeneration. Dabei werden die LP/SP, die bisher sofort geheilt
   worden waeren, in einen Buffer gespeichert und nach und nach dem
   Koerper zugefuehrt. Ueber die Heilgeschwindigkeit muss man sich 
   noch Gedanken machen. Mein erster Test mit dem 5-fachen der
   normalen Regeneration hat sich im Praxistest als unzumutbar 
   erwiesen. Ich teste derzeit mit dem 25-fachen, was recht brauchbar
   aussieht. Das haette fuer die Kampfkraft immer noch einige 
   Auswirkungen:
   (i) Gegen kleine Monster aendert sich nix, man geht ja nicht
       tanken.
   (ii) Gegen mittlere Monster (1x tanken) wird man sogar staerker,
        da man ein wenig 'vortanken' kann. Wie stark sich das
        auswirkt, kann aber nur die Praxis zeigen
   (iii) Gegen sehr starke Monster wird man deutlich schwaecher, da
         das tanken deutlich laenger dauert. Hier lohnt es sich dann,
         zu mehrern zusammenzuarbeiten.
   (iv) Die Einbussen treffen die schwachen Spieler weit weniger als
        die starken, da die 50-100 LP/SP viel schneller wieder da sind
        als 210 von HL-Sehern. Zudem skripten die wenigsten Anfaenger
        zum Tanken, sondern gehen per Hand - und in der Zeit tut sich
        einiges.
   (v) Tankende Monster sind davon natuerlich genauso betroffen wie
       Spieler!
5) Man kann (optional) einbauen, dass bestimmte Speisen/Getraenke nur
   begrenzt vorraetig sind (hier kommt die Idee von Cat*/Wargon ins 
   Spiel). Diese werden dann entweden pro reset aufgefuellt oder 
   koennen durch Warenanlieferung durch Spieler aufgefuellt werden.
   Fraggle hat mit seinen Angel-Konzepten schon eine ganze Menge in
   diese Richtung vorgearbeitet, aber auch Hates Ideen zu Seherberufen
   koennten an dieser Stelle ansetzen (Fleischer, Bauern...)

So, ich hoffe, ich hab nicht wieder die Haelfte vergessen. :)

  Silvana

PS: Lasst es Euch erst mal in Ruhe durch dem Kopf gehen, bevor ihr
    Euch dazu aeussert. 


PPS: Ach ja - es liegt nahe, dass danach ein paar Monster angepasst
    werden muessen. Ich verlass mich da auch konkrete Hinweise aus
    der Bevoelkerung. :)

-----------------------------------------------------------------------------



Re^8:  WIESO EIGENTLICH ... (Felagund, 17. Feb 1998, 11:01:38):
~#! rn=Anatol rt=887651652 rg=entwicklung
~#! tid=887618835
Nicht ganz, liebes Toelchen, sie haben bloss nix zu sagen bzw schon jegliche
Hoffnung auf Besserung verloren ;)

Fela, vehementer Vertreter von "1".

-----------------------------------------------------------------------------



Re^7:  WIESO EIGENTLICH ... (Felagund, 17. Feb 1998, 11:02:41):
~#! rn=Qitess rt=887656901 rg=entwicklung
~#! tid=887618835

Qitess: Du bist bloed, halt die Klappe!

Zufrieden?

Fela wundert sich, dass das noch kein anderer festgestellt hat.

-----------------------------------------------------------------------------



Re^8:  WIESO EIGENTLICH ... (Mahatma, 17. Feb 1998, 11:03:22):
~#! rn=Felagund rt=887709761 rg=entwicklung
~#! tid=887618835
Doch, ich. :)
Du ignorierst:
ruf, rufe, grimmborn.news, qitess.news, asmodis.news

Mahatma

-----------------------------------------------------------------------------



Re^9:  WIESO EIGENTLICH ... (Felagund, 17. Feb 1998, 11:04:47):
~#! rn=Mahatma rt=887709802 rg=entwicklung
~#! tid=887618835
Was hast du denn gegen Grimmi?

Fela - bekennender Grimmdeath-fan

-----------------------------------------------------------------------------



es juckt mich (Qitess, 17. Feb 1998, 11:21:48):
es juckt mich an den fuessen. ich weiss wohl auch, dass es daher kommt, dass
ich ein paar alte stiefel angezogen habe, aber ich kriege keine ersichtliche
hilfe, wie sich das wieder abstellen laesst.
ist das jetzt fuer immer (bis crash/reboot) ? oder kann ich mich irgendwo
entlausen ???

QI**hat Laeuse

-----------------------------------------------------------------------------



Re^10:  WIESO EIGENTLICH ... (Qitess, 17. Feb 1998, 11:44:18):
~#! rn=Felagund rt=887709887 rg=entwicklung
~#! tid=887618835
Ja, Anatol, vielleicht sollte ich mich das naechste mal etwas besser zum
Ausdruck bringen. ;)

Emanzipation im eigentlichen Sinne heisst uebrigens sowas wie Abnabelung der
Kinder von den Eltern, was in diesem Falle auch wohl ganz gut passt, denn ich
finde, dass man hier - wie auch in einigen andren Artikeln bereits gesagt -
bereits geschriebene Fantasy-Literatur nicht zur Bibel erklaert (muessen wir
das jetzt an die Atheismus-Diskussion anhaengen ;) ? ) und die bereits
vorgefasste Meinung nicht uebernehmen, dass es sich eben mit den Rassen so und
so verhaelt, und Zwerge zu doof zum richtig schwimmen sind, oder elfen einfach
nicht den kleinsten Felsbroclken hochklettern koennen. Ganz einfach mit der
Begruendung, das sind nunmal die Rassen so, und so waren die schon immer.
Ich weiss ja, dass dieses Mud sich an den Romanen anlehnt, aber es sollte sich
auch wirklich nur anlehnen und sie nicht uebernehmen.
An dieser Stelle sei einmal gesagt, dass die eine Frage ins Lupi-Tal ziemlich
danebengegriffen ist. ("Was trage ich da in meiner Tasche?"fragte Bilbo laut)
Erstens passt sie von der Art her ueberhaupt nicht in die Fragenreihe, und
zweitens - wer ist Bilbo ? Vielleicht sollte man in der Umgebung einen Hinweis
bekommen koennen. Naja. Ich weiss mittlerweile, wer Bilbo ist, weil es mir
gesagt wurde, aber man sollte es nicht als Vorraussetzung haben, dass man die
Tolkienwerke gelesen hat. Dies ist natuerlich ein harmloses Beispiel, dass
niemand irgendwie wehtut.
Mir ja auch nicht.


So, jetzt weiss ich schon wieder nicht, was ich eigentlich sagen wollte. Aber
egal. Jedenfalls - ich finde es toll, wie sich manche Magier so ihre Gedanken
machen um den Fortschritt dieses Muds. Es ist naemlich nicht so, wie manche
vielleicht denken moegen, weil ich immer nur Kritik aeussere. Allerdings kann
ich nicht einsehen, weshalb ich als Zwerg Schwierigkeiten beim Schwimmenlernen
haben soll, und weshalb elfen zwar auf Baeumen nicht aber auf Steinen
herumklettern koennen sollen.

Und Grimmi: Dein Beitrag war ziemlich daneben. Du bringst da etwas
durcheinander. Es geht naemlich nicht um Artenunterschiede, sondern um
Rasseunterschiede. Und wir reden hier von zweibeinigen, aufrechtgehenden
humanoiden Wesen.
Ich bin kein Fisch, und Du kein Elch.
Aber was solls . ;)

*knutsche Grimmborn*
*zwinge Magier zu: setPROP /Anatol ignoriere = 0 *
*knutsche Anatol*

QI** ist bloede.


-----------------------------------------------------------------------------



Re^9:  WIESO EIGENTLICH ... (Wargon, 17. Feb 1998, 11:48:04):
~#! rn=Sharia rt=887651541 rg=entwicklung
~#! tid=887618835
Naja, die Lebenslaeufe koennten ja je nach Spielverlauf weitergestrickt
werden. In diesem Fall vielleicht sowas wie
"Der Apfel fiel zwar nicht weit vom Stamm, aber leider war der Wurm drin."
oder sowas
  Wargon

-----------------------------------------------------------------------------



Re^8:  WIESO EIGENTLICH ... (Jasper, 17. Feb 1998, 12:06:01):
~#! rn=Felagund rt=887709761 rg=entwicklung
~#! tid=887618835
nuja fela, es gibt ja auch noch leute mit anstand und manieren :)


jasper gehoert auch dazu :)


jasper denkt .oO(siiiiiiiiiiiiiiicccherrr)

-----------------------------------------------------------------------------



Geldsystem (Smurf, 17. Feb 1998, 12:13:47):
Ich denke, das naechste Projekt sollte ein besseres Geldsystem sein...
"Oh, nach der aktuellen Marktlage kann ich nur 1 Muenze bezahlen, obwohl es
eigentlich 1350 Muenzen wert ist."
Will der Haendler mich verarschen, oder was? Sobald der Faktor
unter 1/5 geht, waere es mir lieber, wenn der Typ garnixmehr ankauft...

-----------------------------------------------------------------------------



Re: Geldsystem (Yaren, 17. Feb 1998, 12:21:49):
~#! rn=Smurf rt=887714027 rg=entwicklung
~#! tid=887714027
so etwas in der art wuerde mir auch gefallen, und was ich vor allem gerne
haette: ein 'schaetze alles' vor einem 'verkaufe alles' - man macht naemlich
erst ein 'schaetze schwert', da will er den ueblichen, reduzierten preis geben
und macht dann 'verkaufe alles' um zu sehen, dass nach nur 2 oder 3 items der
preis rapide nach unten abgeht, bis man fuer nen langschwert nur noch 1 muenze
bekommt :((

Yaren. verkauft seither fast alles einzeln *aechz*

-----------------------------------------------------------------------------



Re^10:  WIESO EIGENTLICH ... (Mingo, 17. Feb 1998, 13:03:43):
~#! rn=Felagund rt=887709887 rg=entwicklung
~#! tid=887618835
Nichts wirksames. Dummer Witz. Nee - das hat den unheimlichen Vorteil, dass
man 99% der verlegten Artikel nicht nochmal liest ... und auf die originalen
Artikel von Grimm kann man ja dafuer verzichten ...

Gloin

-----------------------------------------------------------------------------



Re: Geldsystem (Hangover, 17. Feb 1998, 13:21:44):
~#! rn=Smurf rt=887714027 rg=entwicklung
~#! tid=887714027

Keine Panik, so wie das Tanksysstem im moment funktioniert, gibst
Du Dein Geld eh nicht mehr so schnell aus ;-)

Hangover
->schmarrn

-----------------------------------------------------------------------------



Geldboerse (Arelion, 17. Feb 1998, 16:13:59):
Kann man der Geldboerse noch beibringen, dass man ihr automatisch Geld
entnimmt, wenn man es an andere Spieler weitergibt? Sowas wie "gib 10000
muenzen [aus boerse] an XXXXXX"?

Aloha,
Arelion.

-----------------------------------------------------------------------------



Re: Geldboerse (Padreic, 17. Feb 1998, 16:20:44):
~#! rn=Arelion rt=887728439 rg=entwicklung
~#! tid=887728439
Man kann und man kann auch (wurde ebenso gewuenscht) Geld das man durch
verkaeufe bekommt automatisch in die Geldboerse stecken lassen. ABER im moment
gibt es noch Probleme mit der unit und so lange die nicht geloest sind, ist
auch die Zukunft der Geldboerse erstmal eher ungewiss :(
                                         Gruss Padreic

P.S.: sollte wir alles ans laufen kriegen, bin ich immer gerne fuer solche
Vorschlaege zu haben. (wartet einfach noch ein paar Tage ab)

-----------------------------------------------------------------------------



Re: Verpruegeln anstatt toeten (Damien, 17. Feb 1998, 16:41:27):
~#! rn=Ratz rt=887384868 rg=entwicklung
~#! tid=887384868
Absolut dafuer!
Da meine Forscher (Ja, es gibt sie noch) ab einem bestimmten Zeitpunkt nicht
mehr kaempfen sollen und vorher ziemlich kampfschwach sind bin ich die ganze
Zeit am ueberlegen, wie man Gegenstaende von Monstern holen kann, ohne darum
kaempfen zu muessen, ohne das Spielgleichgewicht zu zerstoeren. Wenn jemand
Ideen hat, das gut umzusetzen (von Magier oder Spielerseite), dann meldet
Euch bei mir.

Damien.

-----------------------------------------------------------------------------



Re^13: Neuerungen und Absichten (Damien, 17. Feb 1998, 16:48:21):
~#! rn=Patryn rt=887621359 rg=entwicklung
~#! tid=887221611
Echsenmenschen! Ich will Echsenmenschen!

Damien.
P.S.: Ja, klar kann ich das machen, nach der Gilde und der Quest und der 
Erweiterung fuer FernWest, aber eigentlich wollte ich mir da Gedanken ueber
eine neue Region machen.
P.P.S.: Hmm, sieht komisch aus, wenn das P.S. dreimal so lange ist, wie 
der eigentliche Text. :)

-----------------------------------------------------------------------------



Re: Re: Geldsystem (Ronda, 17. Feb 1998, 18:39:06):
~#! rn=Hangover rt=887718104 rg=entwicklung
~#! tid=887714027
Hmm, wie waere es, wenn man mit dem Kraemer handeln koennte? Hat jemand ne
Idee, wie man das machen koennte? Oder drohen? (Siehst Du dieses Schwert? Und
Du meinst immer ncoh, dass 10 Muenzen fuer die Hydraruestung genug sind???)

Ronda *bloedelnd - aber vielleicht macht ja jemand was draus?*

-----------------------------------------------------------------------------



Re^3: Geldsystem (Smurf, 17. Feb 1998, 19:08:37):
~#! rn=Ronda rt=887737146 rg=entwicklung
~#! tid=887714027
Feilschen waere zwar nett, aber wenn da kein Risiko dabei ist, dann
macht das jeder, evtl mit Skript, und wir sind wieder da wo wir waren...

Frag mich nicht nach einer Alternative, ich habe mir darueber bestimmt
um einiges weniger Gedanken gemacht als einige Magier hier.

-----------------------------------------------------------------------------



Re^4: Geldsystem (Wurzel, 17. Feb 1998, 20:25:29):
~#! rn=Smurf rt=887738917 rg=entwicklung
~#! tid=887714027
es gibt ja muds, wo feilschen eingebaut ist. wenn man kein tf o.ae. hat, ist
es vor allem nervig, ansonsten ueberfluessig. ist zwar an sich eine nette
idee, aber funktioniert nicht.

wurzel

-----------------------------------------------------------------------------



Re^5: Geldsystem (Silvana, 17. Feb 1998, 20:52:43):
~#! rn=Wurzel rt=887743529 rg=entwicklung
~#! tid=887714027
Kleine Spontanidee zum Thema feilschen:
Ein Spieler gibt beim Verkauf an, ob er feilschen moechte oder nicht.
Das eigentliche Feilschen uebernimmt ein Skill, der sich auch um die
dabei fuer die Stimmung notigen Texte kuemmert. Feilscht der Spieler
gut, bekommt er (je nach Erfolg) bis zu 10% mehr bzw bezahlt bis zu
10% weniger (kann man auch bei Kneipen machen). Feilscht er schlecht,
bezahlt er halt bis 10% mehr (bzw bekommt bis zu 10% weniger).
Das ganze kann ueber einen Gildenunabhaengigen Skill gelernt werden.
Nachteil: Wer feilschen will, braucht nen bisschen Zeit dafuer. :)
Ich hab natuerlich keine Ahnung, was die anderen EMs dazu sagen, 
aber wenns auf Zustimmung stoesst, bau ichs mit ein. (Ich bastel ja
eh an den Gildenunabhaengigen Skills). In dem Fall braeuchte ich 
aber UNMENGEN an witzigen und/oder stimmungsvollen Texten. Schliesslich
solls ja nicht nach 3mal feilschen langweilig werden. :)

  Silvana

-----------------------------------------------------------------------------



Re^6: Geldsystem (Ark, 17. Feb 1998, 21:16:56):
~#! rn=Silvana rt=887745163 rg=entwicklung
~#! tid=887714027
Das Ganze hat was :-) Wenn Du Texte dazu brauchst, dann wende Dich an mich,
mach ich gerne ...


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



223 (Cymrik, 17. Feb 1998, 21:44:23):
Mir ist nicht ganz klar ob das Geldsystem im MG ein eher gut gehuetetes
Geheimnis 
oder noch schlimmer schon 1000* durchgekautes Thema ist, 
sorry ich les die mpa noch nicht solange.
Bisher hat der einzige fuer mich erkennbare Sinn von Geld im Mg 
das Tanken von lp/mps dargestellt.
fuer mich waere es einfach mal interessant welches Konzept 
hinter den Preisen und / oder dem Geldumlauf im Mg existiert.

Cymrik

ps: 100 WiWis stuerzen sich auf das Thame und entwickeln eine 
virtuelle Volkswirtschaft *traeum* :)
pps: ich koennte das leider nur thermodynamisch durchrechnen 

-----------------------------------------------------------------------------



Re: 223 (Smurf, 17. Feb 1998, 23:06:58):
~#! rn=Cymrik rt=887748263 rg=entwicklung
~#! tid=887748263
Geld braucht es fuer die Seher zum Hausbau, und weil es (genau wie
im RL halt auch) ein Tauschmedium ist, ohne dass ich staendig auf
Kanal bietesuche "Habe Blutsaugerschwert, Suche magisches Auge"
sagen muss.

Ob es da ein grossartiges Konzept dahinter gibt, weiss ich auch nicht ;-)
Es funktioniert halt soweit ganz gut, aber wenn die Geldknappheit
zuschlaegt dann eben nicht mehr. Ein Ladner, der mir das 1500-M-Teil
fuer eine M abkaufen will, nur um es dann fuer 4500 wieder verkaufen
zu wollen, wuerde jedenfalls im RL auch nicht besonders lange leben. :-/

PS, Feilschen als Skill faende ich cool, aber das ist ein anderes Problem.

-----------------------------------------------------------------------------



Re: 223 (Trancefear, 18. Feb 1998, 00:21:19):
~#! rn=Cymrik rt=887748263 rg=entwicklung
~#! tid=887748263
Hmja... koenntet Ihr Euch vorstellen, wie es aussaehe ohne Geld (und
natuerlich (?) auch ohne Laeden)? Wo alles via Tauschhandel geht, vielleicht
mit "fliegenden" (Tausch)Haendlern? Wo sich quasi "Ersatzwaehrungen" mit von
Spieler/gruppen definiertem Wert (Muscheln, Steine, kleinere Gegenstaende)
breitmachen? ... Ich finde der Gedanke hat was. Wenn es sich auch wohl nicht
realisieren laesst.

tf

-----------------------------------------------------------------------------



Re^7: Geldsystem (Wargon, 18. Feb 1998, 12:49:30):
~#! rn=Ark rt=887746616 rg=entwicklung
~#! tid=887714027
Hm... also mit einem grundlegenden System dazu hab ich mal angefangen
(p/service/wargon/haggle), das muesste allerdings noch ausgebaut werden.
Funktionieren tuts sowohl in NPCs als auch in Raeumen.
  Wargon

-----------------------------------------------------------------------------



Vorschlaege (Qitess, 18. Feb 1998, 12:57:20):
Hi, an alle, Zustaendigen :)

Ich haette mal n paar Vorschlaege:
Die Geldboerse is n prima Geraet :) was ich aber noch besser faende waere,
wenn das Geld, das man irgendwo bekommt auch sofort darin landet.

Zur Zwergenfestung :
Es kann ja wohl nicht angehen, dass man, wenn man aufwacht erst durch ein
ellenlanges Labyrinth tigern muss um rauszukommen, oder man zahlt dem Liftboy
Geld. Es ist zwar verschmerzlich (wenn man nach nem tod ohne geld nichts
zahlen muss zB), aber dauernd da Kohle abzulassen find ich bloed. 
Fuer Anfaenger-Zwerge, die dort aufwachen ist die Festung n absoluter Witz.
Jeder Raum sieht gleich aus und unterscheidet sich nur in Ausgaengen oder in
dem was man hinter den Ausgaengen sehen kann (im Norden siehst du eine
Wachstube, im osten kannst du den laerm einer bar hoeren...). Dieses
'Hier-kein-detail-random' ist ja schoen und gut, aber es sollte dann auch n
paar mehr details geben, die man untersuchen kann. Da muss also noch
>>heftigst<< dran geschrieben werden. Ausserdem bemaengele ich, dass in jedem
Raum steht - selbst fuer Zwerge sichtbar - dass man unerwuenscht sei, wenn man
ner anderen rasse angehoert. sind das jetzt dunkelzwerge? ich finde diese
'Unerwuenscht-Sachen' nicht so toll (vielleicht auch ein punkt der
rassenumstellungen ? dass zwerge die elfen jetzt so richtig nicht mehr leiden
koennen ?), weil zwerge naemlich an sich ganz nett sind. sagt anatol
jedenfalls ;)

najanu, irgendwas war da noch, was wir letztens bei nem bierchen uns
ausgedacht hatten, aber ich komm grad nicht mehr drauf. Also schluss.

QI**

-----------------------------------------------------------------------------



Re: Vorschlaege (Ringor, 18. Feb 1998, 13:12:06):
~#! rn=Qitess rt=887803040 rg=entwicklung
~#! tid=887803040
Der Vorschlag zur Geldboerse ist zwar nicht schlecht, aber auch nicht neu. ;-)
Das steht so schon in der MPA, und Padreic hat sogar schon was dazu
geschrieben.

Was die Zwergenstadt betrifft: ich waere auch fuer ein paar Wegweiser fuer
unsere lieben kleinen sowie fuer einen Waechter vor dem Ausgang zum Bergwerk.
Dieser Waechter koennte dann Spieler unter Level 5 oder so dadrauf hinweisen,
auf was sie sich einlassen, wenn sie wirklich dahin gehen.

Zu den Beschreibungen ... nunja. Das einzige, was mich dabei irritiert, ist
die Region. Ich finde d.unterwelt wuerde besser passen als d.gebirge.
*stichel* :-)

Ringor.

-----------------------------------------------------------------------------



Re: Vorschlaege (Alpha, 18. Feb 1998, 15:27:53):
~#! rn=Qitess rt=887803040 rg=entwicklung
~#! tid=887803040
Wiso Geldabdruecken? An nen Zwerg? NIE!
Alpha wird wohl der einzig verbleibende Schuettelelf sein.

-----------------------------------------------------------------------------



Re^6: Geldsystem (Ceilo, 18. Feb 1998, 19:30:40):
~#! rn=Silvana rt=887745163 rg=entwicklung
~#! tid=887714027
Eine Anmerkung zu Silvanas Vorschlag:

Das Prinzip klingt gut, aber wenn es maximal um 10% gehen kann, wuerde sich
Feilschen echt nur stimmungsmaessig lohnen und vielleicht noch bei _sehr_
teuren Sachen. Von daher finde ich, dass schon 20-25% drin sein sollten (so
das keine Schwierigkeiten mit dem Waehrungssystem gibt).

Ceilo

-----------------------------------------------------------------------------



PizzaPizza please (Cymrik, 18. Feb 1998, 23:47:08):
Wie waere es wenn Silvano einen PizzaService aufzieht?
Fast so wie in RL - sie kommen nie und wenn viel zuspaet.
Pappig ist sie auch und lauwarm, das waers :)

Cymrik * wuenscht neu kalte pizza

-----------------------------------------------------------------------------



Re: PizzaPizza please (Key, 19. Feb 1998, 08:27:25):
~#! rn=Cymrik rt=887842028 rg=entwicklung
~#! tid=887842028
Ich hab das Gefuehl du bestellst beim falschen Pizzaservice ;)

Ansonsten .. Hmm noe, das wird als tragbare Tanke gelten ....

Key

-----------------------------------------------------------------------------



Re: Re: PizzaPizza please (Tunixgut, 19. Feb 1998, 08:28:29):
~#! rn=Key rt=887873245 rg=entwicklung
~#! tid=887842028
Und ausserdem: WIE willste denn die Bestellung aufgeben??? Mit dem neuesten
Handy???

's Karate-Zwerchle - is kein Fantasy-Fanatiker, aber...

-----------------------------------------------------------------------------



Re^3: PizzaPizza please (Obermotz, 19. Feb 1998, 08:30:57):
~#! rn=Tunixgut rt=887873309 rg=entwicklung
~#! tid=887842028
Wie waere es mit einem (magischen) Pizza-Service-Ruf-Knopf. Klein, praktisch,
rund.

OM

-----------------------------------------------------------------------------



Re^3: PizzaPizza please (Augra, 19. Feb 1998, 09:43:52):
~#! rn=Tunixgut rt=887873309 rg=entwicklung
~#! tid=887842028
Per Fernschreiber?

A.W.

-----------------------------------------------------------------------------



Re^4: PizzaPizza please (Tunixgut, 19. Feb 1998, 09:44:28):
~#! rn=Augra rt=887877832 rg=entwicklung
~#! tid=887842028
Waer' 'ne Idee!

's Karate-Zwerchle

-----------------------------------------------------------------------------



Haben wir nur eine Hand? (Obermotz, 19. Feb 1998, 09:45:16):
Wenn ich mir die Sache mit den Ringen mal so anschaue, kommt mir der verdacht,
dass alle Rassen nur eine Hand (sogar nur einen Finger!) haben. Ware es nicht
moeglich, den Std-Player so zu aendern, dass man wenigstens an jeder Hand
einen Ring tragen koennte? Okay die Extra-Hand bei Zauberern koennte auch noch
einen 3. Ring vertragen. Aber damit waeren wohl die anderen Gilden nicht mit
einverstanden (zugegebn: zurecht). Aber es aergert mich schon eine ganze
Weile, dass man nur einen Ring tragen kann.

OM, der seine Haende schmuecken will

-----------------------------------------------------------------------------



Berufe (Wargon, 19. Feb 1998, 12:43:01):
  Hiho!

Wie ihr vielleicht schon gehoert habt, ist (in Ergaenzung zu den neuen
Kneipen) ein Berufskonzept in Arbeit. Ein wesentliches Ziel der Berufe ist das
Beliefern der Kneipen mit Nahrungsmitteln, aber dazu ist natuerlich eine
gewisse Be- und Verarbeitungsindustrie noetig, ein Transportsystem etc.

Cat* und ich haben uns mal zusammengesetzt und eine grobe Uebersicht erstellt,
was dazu alles noetig ist. U.a. haben wir diverse Berufe zur Auswahl. Einige
davon sind sicher attraktiver als andere, ueberlaufene Berufe wuerden aber
wiederum zu einem Ueberangebot von Waren fuehren (und dadurch die Preise
druecken), waehrend brachliegende Berufe die Warenkette unterbrechen koennten.

Um einen Ueberblick zu bekommen, was fuer Berufe ihr gerne ausueben wuerdet,
kommt hier mal eine kurze Uebersicht dessen, was wir an Berufen gesammelt
haben.

Wenn ihr mitmachen wollt, schickt einfach eine Mail mit eurem Berufswunsch an
den Spieler "arbeitsamt". Ihr seid dabei natuerlich nicht auf die Berufe der
Liste beschraenkt. Wenn ihr meint, dass noch wichtige Berufe fehlen: Ab ans
Arbeitsamt mit den Vorschlaegen!

So, und hier die Liste:
- Ackerbauer
  Produziert Getreide und Gemuese
- Obstbauer
  Hat Obstplantagen
- Viehzuechter
  Liefert u.a. den Schnitzelrohstoff :)
- Mueller
- Baecker
- Metzger
- Bierbrauer
- Winzer
- Imker
- Schnapsbrenner
- Koehler
- Eisengiesser
- Schmied
  Kann u.a. Waffen und Ruestungen herstellen, mal sehen wie...
- Toepfer
  Stellt Geschirr, Toepfe und Kruege her
- Tischler
  Stellt u.a. Faesser und Kisten her
- Spinner
  Produziert Garn aus Wolle
- Weber
  Produziert Stoffe
- Gerber
- Glasblaeser
  Flaschen, Glaskolben, Schmuck?

Einige der Berufe sind vielleicht nicht unbedingt fuer Spieler geeignet (ein
Mueller hat ja nun nicht soo viel zu tun), da werden dann wohl entsprechende
NPC-Werkstaetten eingerichtet.
Ausserdem wird es wohl einige "freiberufliche Auftragsarbeiten" geben, zum
Beispiel Transporte, oder auch Holzfaellen oder Jagen (ausweiden von
NPC-Leichen).
Soviel erst mal dazu. Ich bitte um reichlich Resonanz an "arbeitsamt".
  Wargon

-----------------------------------------------------------------------------



Re: Berufe (Murkes, 19. Feb 1998, 12:56:01):
~#! rn=Wargon rt=887888581 rg=entwicklung
~#! tid=887888581
Du hast den Totengraeber vergessen ...

Murkes

-----------------------------------------------------------------------------



Re: Re: Berufe (Obermotz, 19. Feb 1998, 13:03:30):
~#! rn=Murkes rt=887889361 rg=entwicklung
~#! tid=887888581
Auf jeden Fall fehlt noch Schneider als Beruf. Und Bergmann sowie Koehler
sollten auch noch moeglich sein. Oder wo kommt sonst die Kohle (und beim
Bergmann das Erz) her?

OM

-----------------------------------------------------------------------------



Re: Berufe (Gnome, 19. Feb 1998, 13:05:55):
~#! rn=Wargon rt=887888581 rg=entwicklung
~#! tid=887888581
*seufz*
"...schickt einfach eine Mail mit eurem Berufswunsch an
den Spieler "arbeitsamt"...."

kann dich net so schwer sein, oder?

gnOme

-----------------------------------------------------------------------------



Re: Re: Berufe (Wurzel, 19. Feb 1998, 13:54:34):
~#! rn=Gnome rt=887889955 rg=entwicklung
~#! tid=887888581
apropos arbeitsamt...
die grosse masse der arbeitslosen (studenten, bluemchenpfluecker etc.) wird
es doch wohl weiterhin geben? oder soll das wirtschaftliche paradies werden
hier? dann werd ich unternehmer :)

wurzel

-----------------------------------------------------------------------------



Re: Berufe (Zorro, 19. Feb 1998, 13:58:24):
~#! rn=Wargon rt=887888581 rg=entwicklung
~#! tid=887888581
Da fehlt der Jaeger, der das ganze Fleisch ranschafft dass hier alle
verfressen ...

Zorro freut sich auf den Berufsmetzler

-----------------------------------------------------------------------------



Re^3: Berufe (Deepblue, 19. Feb 1998, 19:12:15):
~#! rn=Wurzel rt=887892874 rg=entwicklung
~#! tid=887888581
Du kannst auch Politiker werden :-9
Da wir hier ein baseballstadion haben, sollt es doch auch profisportler geben,
vielleicht proggt ja wer mal eine Basketballhalle

-----------------------------------------------------------------------------



Re^4: Berufe (Zorro, 19. Feb 1998, 19:52:49):
~#! rn=Deepblue rt=887911935 rg=entwicklung
~#! tid=887888581
Wer will sollte auch Gladiator werden konnen ...
Dann wird die quest reizvoller

Zorro

-----------------------------------------------------------------------------



Re: Berufe (Sharia, 19. Feb 1998, 19:56:52):
~#! rn=Wargon rt=887888581 rg=entwicklung
~#! tid=887888581
ganz klar was fehlt:

PRIESTER !!!!

und natuerlich auch Goldschmied.. oder wer soll die schoenen verzierten
amulette und stirnreifen herstellen ...


Sharia, sich fuer die Rechte ihrer Klerus-KollegInnen einsetzend...

-----------------------------------------------------------------------------



Re^4: Berufe (Zarniya, 20. Feb 1998, 08:55:15):
~#! rn=Deepblue rt=887911935 rg=entwicklung
~#! tid=887888581
Also da das hier ein FantasyMud ist, kann ich den Anschluss des
Baseballstadions nicht verstehen, aber es ist halt auch sehr gut geproggt..
das nun zu erweitern, und Basketball und aehnliches zuzulassen, wird dem Mud
aber sicher in der Stimmung schaden

Wie waere es mit den 2 aeltesten Gewerben der Welt? Das eine fuer weibliche
Charaktere und das andere fuer die Maenner, die diese Frauen
beschuetzen/ausbeuten.

Zarniya

-----------------------------------------------------------------------------



Re: Re: Berufe (Bensonmam, 20. Feb 1998, 09:32:12):
~#! rn=Sharia rt=887914612 rg=entwicklung
~#! tid=887888581
Genau, Priester waer nicht schlecht. Und da die Kleriker nicht heiraten
duerfen, braeuchte man eigentlich auch noch Haushaelterinnen...oder fuer die
Klerikerinnen eben Haushaelter

J. Bensonmam

( -> schmarrn)

-----------------------------------------------------------------------------



Re^5: Berufe (Sharia, 20. Feb 1998, 12:21:00):
~#! rn=Zarniya rt=887961315 rg=entwicklung
~#! tid=887888581
hmm Yantro das war klar dass das von dir kommt...
Es gibt schon NPC die dem aeltesten gewerbe nachgehen .. das reicht ...
ansonsten wuerd ich sagen: mach dus doch und werde pleite gehen dabei

Sharia - keusch - bartlos -

-----------------------------------------------------------------------------



Vorschlag: Mietshaeuser! (Tunixgut, 20. Feb 1998, 13:19:15):
Hi!

Ich habe hier gerade von rechts... ;o) einen Vorschlag zur Implementierung
bekommen, den ich fuer ziemlich interessant halte!
Wir Seher haben hier die Moeglichkeit, wunderschoene ( DANKE, WARGON und
WURZEL! ;o) ) Seherhaeuser einzurichten, aber wie waere es mit MIETSHAEUSERN
fuer kleine Spieler, die sich gerade so die Miete zusammenkloppen koennen?!?
Einfach 'n Standard-Zimmer, dass nur fuer eine Person freigegeben wird,
P_START_HOME umlegen - Feddich! Die Dinger braeuchten sicherlich NICHT
konfigurierbar sein, also 'n einfacher Standardraum!
Befehle sollte das ganze Ding garnicht grossartig haben, is nur halt
Standard-Aufwach-Raum - vielleicht sollte man als Gast noch anklopfen koennen
und ein Briefkasten anna Tuer waere auch ganz Cool, aba mehr braucht man dann
garnicht...

's Karate-Zwerchle - dankt LLANOWAR fuer diese Idee! :o)

-----------------------------------------------------------------------------



Re: Vorschlag: Mietshaeuser! (Tunixgut, 20. Feb 1998, 13:22:05):
~#! rn=Tunixgut rt=887977155 rg=entwicklung
~#! tid=887977155
Ich hoer' gerade: Gib's schon... Schoener waer' aba, wenn in PV 'n objekt "Ein
Mietshaus" liegen wuerde! ;o)

's Karate-Zwerchle

-----------------------------------------------------------------------------



Re^5: Berufe (Bambulko, 20. Feb 1998, 13:44:55):
~#! rn=Zarniya rt=887961315 rg=entwicklung
~#! tid=887888581
Huch, das Mg ist ein Fantasy-Mud?? Seit wann denn?
Was haben Bierschuetteler, Fraggles usw. dann hier zu Suchen?
Also IMHO war das MG noch nie ein Fantasy-Mud und wird auch nie eins werden.


Bambulko

-----------------------------------------------------------------------------



Re^6: Berufe (Boing, 20. Feb 1998, 13:56:19):
~#! rn=Bambulko rt=887978695 rg=entwicklung
~#! tid=887888581
Es ist per uralter Definition ein Fantasy-Mud mit gelegentlichen 
Anachronismen.
  Boing

-----------------------------------------------------------------------------



Re: Re: PizzaPizza please (Kobayashi, 20. Feb 1998, 15:49:15):
~#! rn=Key rt=887873245 rg=entwicklung
~#! tid=887842028
im wolpertingerclub gibt's einen pizzaservice (naja, wenigstens sowas
aenhliches) man muss jedoch mitglied sein, denn das ganze geht nur vom
versammlungssaal aus.

Kobayashi

-----------------------------------------------------------------------------



Re^7: Berufe (Bambulko, 20. Feb 1998, 15:58:43):
~#! rn=Boing rt=887979379 rg=entwicklung
~#! tid=887888581
Naja gelegentlich ist aber etwas untertrieben.

Bambulko

-----------------------------------------------------------------------------



Re^5: Berufe (Smurf, 20. Feb 1998, 17:10:56):
~#! rn=Zarniya rt=887961315 rg=entwicklung
~#! tid=887888581
Nee, das mit der Ausbeutung lassen wir mal, wir sind hier schliesslich
nicht PK-Mud, und ausserdem gibt es hier (zum Glueck) sowas wie
Gleichberechtigung...

Smurf, wundert sich wieso kein maennliches Gegenstueck
zu Amanda hier rumlaeuft -- Wurzel, mach doch mal...

-----------------------------------------------------------------------------



Re^6: Berufe (Key, 20. Feb 1998, 17:40:16):
~#! rn=Bambulko rt=887978695 rg=entwicklung
~#! tid=887888581
Also ich kann mir ohne Fantasy weder nen Bierschuettler noch nen Fraggle
vorstellen ;)

So also Fantasy-Mud ;)

Key

-----------------------------------------------------------------------------



Re^5: Berufe (Deepblue, 20. Feb 1998, 20:26:18):
~#! rn=Zarniya rt=887961315 rg=entwicklung
~#! tid=887888581
Da kann man den beruf des Zuhaelters eigentlich gleich mit der mitgliedschaft
in der Karategilde verknuepfen, hat man wenigsten auch was von :-)

-----------------------------------------------------------------------------



Re^6: Berufe (Deepblue, 20. Feb 1998, 20:28:54):
~#! rn=Bambulko rt=887978695 rg=entwicklung
~#! tid=887888581
Sind Bierschuettler etwa Reallife?
Ich seh es schon als FantaDu

-----------------------------------------------------------------------------



Re^7: Berufe (Trancefear, 20. Feb 1998, 22:24:39):
~#! rn=Boing rt=887979379 rg=entwicklung
~#! tid=887888581
Oder doch eher ein Anachronismus mit gelegentlicher Fantasy? :-)

tf

-----------------------------------------------------------------------------



Re:  WIESO EIGENTLICH ... (Asmodis, 21. Feb 1998, 00:38:05):
~#! rn=Arnigo rt=887618835 rg=entwicklung
~#! tid=887618835
Aeh, JEDER Zwerg hat nen Bart, mal laenger, mal kuerzer, und ne Zipfelmuetze
:)

-----------------------------------------------------------------------------



Re^5: Neuerungen und Absichten (Asmodis, 21. Feb 1998, 00:39:39):
~#! rn=Patryn rt=887621348 rg=entwicklung
~#! tid=887221611
Ich will ne Orkrasse !!

-----------------------------------------------------------------------------



Re: Re: Verlegen??? (Asmodis, 21. Feb 1998, 00:47:52):
~#! rn=Patryn rt=887621484 rg=entwicklung
~#! tid=887621387
Hmm, ich glaube, ein ignoriere grimmborn.mpa tut jetzt Not :)

-----------------------------------------------------------------------------



Re: Vorschlag: Mietshaeuser! (Asmodis, 21. Feb 1998, 01:19:23):
~#! rn=Tunixgut rt=887977155 rg=entwicklung
~#! tid=887977155
Wie waers, wenn man ein paar Raeume seines Hauses zur Untermiete freigeben
koennte ??
Oder meintest du sowas ??

-----------------------------------------------------------------------------



Re^6: Berufe (Nixihou, 21. Feb 1998, 15:38:21):
~#! rn=Smurf rt=887991056 rg=entwicklung
~#! tid=887888581
hmm, wo ich grad sowas wie pizzaservice lese:
der beruf Kurier (fuer alles moegliche, post pakete pizzen) fehlt
was kuriere machen, (auch aktiv als spieler ist ja klar oder ?

nixihou


-----------------------------------------------------------------------------



Re^2: Vorschlag: Mietshaeuser! (Taker, 21. Feb 1998, 18:24:39):
Die Idee hoert sich nicht schlecht an, allerdings finde ich, dass doch ein
paar befehle erlaubt sein sollten, zB zum einrichten des hauses.
Seifenblase hat das sehr schoen mit einem werkzeugkasten geloest, so aehnlich
koennte ich mir das hier auch vorstellen, zumal es wohl nicht soooo viel
arbeit sein wird, nen werkzeugkasten zu proggen...


-----------------------------------------------------------------------------



Re^3: Vorschlag: Mietshaeuser! (Wurzel, 21. Feb 1998, 18:28:33):
~#! rn=Taker rt=888081879 rg=entwicklung
~#! tid=888081879
hm, es gibt doch die seherhaeuser, was wollt ihr eigentlich noch mehr? die
sind in weiten teilen frei konfigurierbar, ganz ohne werkzeugkasten :)
ein mietshaus gibts auch, wenn man nicht ganz so anspruchsvoll ist. aber wie
ueblich, wenn man zur miete wohnt, darf man dort nichts veraendern. also, wo
besteht der bedarf?

wurzel

-----------------------------------------------------------------------------



Re^4: Vorschlag: Mietshaeuser! (Mingo, 21. Feb 1998, 18:30:39):
~#! rn=Wurzel rt=888082113 rg=entwicklung
~#! tid=888081879
Bei den ewigen Spielern ;-) ICh bin jetzt seit, aeh ... naja irgendwann
Anfang '95 Spieler ... und es gibt sicherlich noch zwei, drei wie mich :)
Alles was Du machen musst, ist Deinem Hotel noch Wuensche beibringen ...

Gloin

-----------------------------------------------------------------------------



Re^4: Vorschlag: Mietshaeuser! (Taker, 21. Feb 1998, 18:30:45):
~#! rn=Wurzel rt=888082113 rg=entwicklung
~#! tid=888081879
Wo gibts mietshaeuser?
Auch fuer spieler?
Wie teuer?
Ach soooooooo.....

-----------------------------------------------------------------------------



Re^4: Vorschlag: Mietshaeuser! (Smurf, 21. Feb 1998, 19:57:06):
~#! rn=Wurzel rt=888082113 rg=entwicklung
~#! tid=888081879
Wenn das Mietshaus wenigstens nicht staendig voll waere...

-----------------------------------------------------------------------------



Re^5: Vorschlag: Mietshaeuser! (Wurzel, 21. Feb 1998, 19:59:32):
~#! rn=Smurf rt=888087426 rg=entwicklung
~#! tid=888081879
hm, ich hab schon oefters mal drueber nachgedacht das zu erweitern, aber
irgendwie war dann jedesmal als ich nachgesehen hab grad was frei... kann
auch zufall gewesen sein :) wenn bedarf ist, erna siebenscheich ist gierig
genug :)

wurzel

-----------------------------------------------------------------------------



Re: Berufe (Siborit, 22. Feb 1998, 14:40:05):
~#! rn=Wargon rt=887888581 rg=entwicklung
~#! tid=887888581
Ich finde die Idee mit den Berufen eine sehr Schoene.

Was ich mich fragte: Ist sowas auch Rassenabhaengig zu machen, damit jede
Rasse seine eigene Warenkette betreuen muss ?

Ich gib zu, das wird wahrscheinlich etwas komplizierter aber ich denke das
sowas in Zusammenhang mit den neuen Rasseneigenschaften gut zu kombinieren
ist.

Wie ich mich das vorstelle haben die Rassen auf bestimmte eigenschaften ein
Bonus/Malus. Nach Adam Smith heisst es dann das die Rassen unter sich zu einem
Gueteraustausch kommen.

Nehmen wir als Beispiel die Zwerge (sorry ich bin selber ueberzeugt Zwerg ;):
Im lager der Zwerge (Lagermeister ist also auch ein Beruf das in der Liste
fehlte), befinden sich mehr Rohstoffe (Holz usw.), die mit den Menschen z.B.
fuer Getreide oder Schnapps ausgetauscht werden. Im Ende hat dies also auch
ein Effekt auf den Preisen in der Zwergekneipe.

Nur fuer die neue Rassen gibt's wahrscheinlich ein Problem im Moment weil es
zu wenig Leute noch gibt. Diese Arbeit wird dann vorlaeufig von NPC's
uebernommen, bis da auch reichend Leute vorhanden sind.

Siborit
q

-----------------------------------------------------------------------------



Re^5: Berufe (Acrimon, 23. Feb 1998, 19:45:07):
~#! rn=Zarniya rt=887961315 rg=entwicklung
~#! tid=887888581
Das ist NICHT das aelteste Gewerbe der Welt.
Bauer, Hirte und vielleicht ein paar mehr sind bestimmt aelter.

Acrimon, der Rote Ritter

-----------------------------------------------------------------------------



Re^6: Berufe (Wurzel, 23. Feb 1998, 19:48:32):
~#! rn=Acrimon rt=888259507 rg=entwicklung
~#! tid=887888581
stimmt so nicht, acrimon. frauen gibts laenger als bauern, und intelligent
waren da auch schon immer welche. und maenner, die sich den buckel krumm
malocht haben um diese frauen zu "unterhalten", gabs sowieso...

-----------------------------------------------------------------------------



Re^6: Berufe (Silvana, 23. Feb 1998, 19:55:14):
~#! rn=Acrimon rt=888259507 rg=entwicklung
~#! tid=887888581
Naja, wenn man der Bibel glauben darf, ist Apfeldieb das aelteste... 
Oder kann man Obstbauer auch zaehlen?

  Silvana (schmarrt rum)

-----------------------------------------------------------------------------



Re^7: Berufe (Anatol, 23. Feb 1998, 19:57:12):
~#! rn=Silvana rt=888260114 rg=entwicklung
~#! tid=887888581
Wenn, dann richtig, Silvana ;)

Tippt auf "Designer",
Anatol :)



-----------------------------------------------------------------------------



Re^7: Berufe (Acrimon, 23. Feb 1998, 19:58:56):
~#! rn=Wurzel rt=888259712 rg=entwicklung
~#! tid=887888581
Dazu braucht man unintelligente Frauen; intelligente machen sowas nicht.
Und bevor man sowas machen kann, braucht man was zum Essen. Also.

-----------------------------------------------------------------------------



Re^8: Berufe (Felagund, 23. Feb 1998, 20:05:25):
~#! rn=Acrimon rt=888260336 rg=entwicklung
~#! tid=887888581
a: wieso machen intelligente Frauen 'so etwas' nicht?
b: man kann auch Nahrung durchaus als Zahlungsmittel betrachten, und obs das
nun vorher oder nachher gibt ist ja wohl egal

-----------------------------------------------------------------------------



Re: Berufe (Acrimon, 23. Feb 1998, 20:16:11):
~#! rn=Wargon rt=887888581 rg=entwicklung
~#! tid=887888581
Auch mir fallen noch einige schoene Berufe ein, die nicht in dieser Liste
standen:

- Floesser     (befoerdert Holz oder setzt Spieler ueber)
- Kapitaen     (faehrt verschiedene Inseln an)
- Matrose      (Handlanger fuer den Kapitaen)
- Kutscher     (befoerdert Waren oder Spieler an entfernte Orte)
- Kellerer     (lagert den Wein vom Winzer und laeszt ihn reifen)
- Hopfenbauer  (liefert den Hopfen fuer den Bierbrauer)
- Pantscher    (stellt Cola und aehnliches Gewuergs her)
- Schreiner    (Moebel, Kisten usw. - alles aus Holz)
- Schafhirte   (Wolle, Schafsmilch)

Acrimon, der Rote Ritter

-----------------------------------------------------------------------------



Re: Re: Berufe (Padreic, 23. Feb 1998, 20:20:44):
~#! rn=Acrimon rt=888261371 rg=entwicklung
~#! tid=887888581
Ich muss da gerade an den furchtbar aufregenden Beruf des Kelleres und des
Schafhirten denken...
Seid ihr Euch wirklich sicher, das ihr Berufe wollt, bei denen man einfach nur
ewig lang dumm rumsitzt? (naja, zumindest ein guter Wein braucht seine Zeit)
und einen Schafhirten, der alle 15 min. mal ein Schaf wieder zurueck zur Herde
treiben muss stell _ich_ mir auch nicht gerade spannend vor, aber wenn ihr auf
sowas lust habt.....

                      Padreic schlaegt auch noch den Beruf Babysitter vor.

-----------------------------------------------------------------------------



Re^3: Berufe (Wurzel, 23. Feb 1998, 20:23:32):
~#! rn=Padreic rt=888261644 rg=entwicklung
~#! tid=887888581
ich glaube fuer die meisten hier waeren das die besten berufe ueberhaupt.
wer kommt den schon ins mud, um dort richtig zu arbeiten :)
(ausser natuerlich die magier...)

wurzel

-----------------------------------------------------------------------------



Berufe (Cyrax, 23. Feb 1998, 21:22:36):
Also ich finde die idee von acrimon garnicht so schlecht.
Also ein bisschen spannender koennten die schon sein und die bezahlung sollte
von der qualitaet der arbeit abhaengen.
und ein bisschen Arbeit hat noch keinem geschadet.
und sowas wie ne wache koennte man ja auch sein.

Cyrax.

-----------------------------------------------------------------------------



Re^3: Berufe (Ceilo, 23. Feb 1998, 21:49:03):
~#! rn=Padreic rt=888261644 rg=entwicklung
~#! tid=887888581
Zumindest bei den Shakies gibt es einen Lehrer... und wenn das mit den Berufen
o weitergeht,
gibt's bald Arbeit fuer Berufsberater.

Ceilo

-----------------------------------------------------------------------------



Re^8: Berufe (Wargon, 24. Feb 1998, 10:39:40):
~#! rn=Anatol rt=888260232 rg=entwicklung
~#! tid=887888581
Elektroinstallateur? "Es werde Licht!"
  Wargon

-----------------------------------------------------------------------------



Re^9: Berufe (Anacrion, 24. Feb 1998, 15:14:39):
~#! rn=Wargon rt=888313180 rg=entwicklung
~#! tid=887888581

Na ja....der erste Verkehrssuender steht jedenfalls fest:

Jesus mit seinen zwoelf Anhaengern...

Anac* --> schmarrn

-----------------------------------------------------------------------------



Prostitution (Magnus, 25. Feb 1998, 11:36:18):
Prostitution ist gar kein Gewerbe, denn ein Gewerbe setzt eine erlaubte
Ttigkeit voraus. Das ist bei prostitution wegen Sittenwidrigkeit nicht
gegeben.

Magnus

-----------------------------------------------------------------------------



Re^3: Berufe (Hardil, 25. Feb 1998, 11:41:22):
~#! rn=Padreic rt=888261644 rg=entwicklung
~#! tid=887888581

Wieso, Schafhirt ist doch ein toller Beruf fuer alle, die eh immer nur idlen
und/oder Schafezaehlen.

JMHO

-Hardil

-----------------------------------------------------------------------------



Re^4: Berufe (Orktoeter, 25. Feb 1998, 11:44:00):
~#! rn=Hardil rt=888403282 rg=entwicklung
~#! tid=887888581
Berufe schoen und gut, aber bitte nicht wie damals mit den FP.
Lasst sie optional, wer nicht will, soll bitteschoen auch weiterhin ohne Beruf
spielen koennen (dann gibts halt evtl. irgendwo einen versorgungsengpass)

OrkT.

-----------------------------------------------------------------------------



Re^5: Berufe (Wargon, 25. Feb 1998, 11:53:42):
~#! rn=Orktoeter rt=888403440 rg=entwicklung
~#! tid=887888581
Von Berufszwang war ja auch nirgendwo die Rede...
Die Berufe werden allenfalls minimal in irgendwelche Toplisten-Kriterien
eingehen (wenns nach mir geht ueberhaupt nicht), sondern stellen einfach nur
eine weitere Moeglichkeit dar, sich im MG zu beschaeftigen.
  Wargon

-----------------------------------------------------------------------------



Re^5: Berufe (Mingo, 25. Feb 1998, 11:54:10):
~#! rn=Orktoeter rt=888403440 rg=entwicklung
~#! tid=887888581
Wie? Versorgungsengpaesse? In etwa so?
Die Hydra faellt tot zu Boden.
Aus der Leiche blablbalbla Puma ...
Puma zuckt mit den Schultern.
Puma sagt: Tut mir leid, das Material ist mir ausgegangen.
Puma gibt Dir einen Keks.
Puma winkt.

WAAAAH :)

Gloin

-----------------------------------------------------------------------------



Re^5: Berufe (Hadra, 25. Feb 1998, 12:25:49):
~#! rn=Orktoeter rt=888403440 rg=entwicklung
~#! tid=887888581
wie waers mit dem beruf orktoeter?

hadra - ueberlegt ob das auch nach schmarrn gehoert, wartet aber lieber auf
        grimmborn

-----------------------------------------------------------------------------



Re^6: Berufe (Obermotz, 25. Feb 1998, 12:30:00):
~#! rn=Hadra rt=888405949 rg=entwicklung
~#! tid=887888581
Ich wuerde es gut finden, wenn auch die Berufe (etwas) Rassenabhaengig waeren.
Ein Zwerg als Bergarbeiter ist bestimmt effektiver als ein Mensch. Und ein
Elfen-Jaeger durchloechert ein Fell beim Jagen auch nicht so sehr wie ein
Hobbit. Was in dieser Richtung faende ich gut.

OM wuenscht sich auch Berufsurlauber

-----------------------------------------------------------------------------



Re: Prostitution (Zarniya, 25. Feb 1998, 12:44:32):
~#! rn=Magnus rt=888402978 rg=entwicklung
~#! tid=888402978
Magnus, bist du ein zweitie von Acrimon oder sollte es einen geben, der
genauso verblendet und SAUBLOED ist wie der. Sicher ist die Prostitution ein
Gewerbe. Man kann das sogar beim Gewerbeamt anmelden, muss es eigentlich sogar
und in jeder Stadt gibt es neben den ganzen Clubs auch einen offiziellen Puff.
Also nix mit Sittenwidrig, denn auch DAS bringt dem Waigel Steuergeldli :)

Zarniya

-----------------------------------------------------------------------------



Re^3: Berufe (Jasper, 25. Feb 1998, 13:06:18):
~#! rn=Padreic rt=888261644 rg=entwicklung
~#! tid=887888581
du kannst dir ja die zeit mit deinen schafen vertreiben :)

jasper will den beruf 'moepseknuddler' :)

-----------------------------------------------------------------------------



Re: Re: Prostitution (Patryn, 25. Feb 1998, 13:11:10):
~#! rn=Zarniya rt=888407072 rg=entwicklung
~#! tid=888402978
netter ton wieder mal *seufz*
prostitution ist in deutschland in der tat sittenwidrig. ich fand magnus
seinen artikel zwar auch recht ueberfluessig, denn warum sollen wir hier
die gleichen verstaubten morlavorstellung wie die deutsche
gesetzgebung verfolgen, aber wo er recht hat, hat er recht.
man kann ein bordell nicht als solches anmelden. du kannst nen
massagesalon draus machen oder ne bar mit hostessenservice aber kein
bordell. natuerlich wissen die oerdlichen behoerden, was phase ist,
aber es wird halt odtmals geduldet, solange niemand anzeige erhebt und
alles 'seinen gang' geht. scheinbar gibt es auch unter der
exekutive genuegend leute, die sich nicht mit diesem gesetz identifizieren
koennen.

------
patryn

-----------------------------------------------------------------------------



Re^3: Prostitution (Nerdanel, 25. Feb 1998, 13:13:39):
~#! rn=Patryn rt=888408670 rg=entwicklung
~#! tid=888402978
In Zuerich gibt es seit kurzem ein offizielles Puff, wo Frauen (und auch
Maenner ;) ) Zimmer mieten koennen, um ihren Berfu auszuueben.
Wann gibt es sowas im MG ;) ?

nerdanel

-----------------------------------------------------------------------------



Re^4: Prostitution (Wargon, 25. Feb 1998, 13:20:52):
~#! rn=Nerdanel rt=888408819 rg=entwicklung
~#! tid=888402978
Wenn dieser Thread noch irgend eine Mud-Bewandtnis haben sollte: Fuer
Prostituierte muss ja wohl keine eigenes Berufsumfeld geschaffen werden.
Strassen gibts im MG genug, 'emote' kann jeder Spieler, der eine gewisse
Anfaengerquest geloest hat, und nen Puff kann man sich spaetestens im
Seherhaus einrichten.
Sollte dieser Thread keine Mud-Bewandtnis haben: Abstellen oder ab nach
'diskussion' damit.
  Wargon

-----------------------------------------------------------------------------



Re: Berufe (Pilgrim, 25. Feb 1998, 13:36:43):
~#! rn=Wargon rt=887888581 rg=entwicklung
~#! tid=887888581
Hmm,

ich hab nicht alle Artikel im Kopf, aber ist der Beruf des
Soeldners schon genannt worden .... 

Pilgrim

-----------------------------------------------------------------------------



Re: Re: Berufe (Bloodyharry, 25. Feb 1998, 13:40:24):
~#! rn=Pilgrim rt=888410203 rg=entwicklung
~#! tid=887888581
Hmm, Soeldner. Was machen denn die?
In dem Zusammenhang faellt mir ein, das da mal die Rede von Ueberfaellen auf
PV war und von Jenen, die aburt^H^Hgeteilt waren, die Stadt zu schuetzen. 
Das waer doch mal ne nette Aufgabe.


bh

-----------------------------------------------------------------------------



Re^3: Berufe (Ringor, 25. Feb 1998, 13:42:56):
~#! rn=Bloodyharry rt=888410424 rg=entwicklung
~#! tid=887888581
Au ja, offizielle PKs *Haende reib* :-)

Soeldner brauchen wir aber wirklich nicht erst einzufuehren. Das ist jeder
Kaempfer zumindest einmal fuer die Dauer einer Gildenquest.

Ringor. Tut gegen entsprechende Bezahlung fast alles.

-----------------------------------------------------------------------------



Re^4: Berufe (Key, 25. Feb 1998, 14:18:52):
~#! rn=Ringor rt=888410576 rg=entwicklung
~#! tid=887888581
Hmm oki dann will ich den Beruf Killer, Bankraeuber und aehnliche
Kleinigkeiten ,)

Wer bezahlt was fuer wessen Tod? :)

Key
,

-----------------------------------------------------------------------------



Re^5: Berufe (Ringor, 25. Feb 1998, 14:33:02):
~#! rn=Key rt=888412732 rg=entwicklung
~#! tid=887888581
Wieviel ist Dir ein PK wert? Vor allem: wieviel ist Dir der dritte PK wert?

Ringor. Spart schonmal.

-----------------------------------------------------------------------------



Re^6: Berufe (Key, 25. Feb 1998, 16:10:57):
~#! rn=Ringor rt=888413582 rg=entwicklung
~#! tid=887888581
Der dritte? :)

Oeh ... .)

Key, erinnert sich dran das er ja eigentlich keinen mehr machen darf ;)

-----------------------------------------------------------------------------



Re^3: Berufe (Cyrax, 25. Feb 1998, 20:55:31):
wieso heisst dann prostitution das aelteste Gewerbe der Welt?

-----------------------------------------------------------------------------



Re^6: Berufe (Smarte, 26. Feb 1998, 00:11:19):
~#! rn=Sharia rt=888445927 rg=entwicklung
~#! tid=888436531
Senf on
Ich vermisse hier die Drogenkuriere,-dealer und natuerlich das
Konsumentensystem.
und wer baut den Hanf an ? wer den Tabak ?
wo kann man testen und seinen rausch ausleben 
(Smarte erinnert sich da an einige gegebenheiten :))) )

ach ja Zwerge und schwimmen : Ich sach fett schwimmt oben und Elefanten
koennen auch schwimmen warum dann nicht auch Zwerge (OK erSCHWERT )

und die Forscher : warum sollen die nicht auch kaempfen koennen allerdings mit
skills die das monster und schaden in den meisten faellen je nach % umgehen
(wer denkt da nicht an einen Indiana Jones der gegner mit der peitsche und
witz umgeht (Oh man dort ein Flugzeug (und der ork schaut hin ))

Senf off
Smarte.

-----------------------------------------------------------------------------



re prostitution (Magnus, 26. Feb 1998, 09:29:38):
Ich weiss ja nicht zarniya, was Du rl fuer eine Ausbildung hast, aber 
Jurist scheinst Du auf keinen Fall zu sein. Der Gewerbebegriff ist 
historisch durch die Gewerbeordnung festgelegt. Von Prostitution keine Rede.
Ausserdem missfaellt mir Deine Ausdrucksweise. Ich habe hier keine Wertungen
abgegeben, sondern Information.
Magnus

-----------------------------------------------------------------------------



Re^4: Berufe (Deepblue, 26. Feb 1998, 16:05:53):
~#! rn=Jasper rt=888408378 rg=entwicklung
~#! tid=887888581
Was Hindert Dich als Schaefer an nem Schaeferstuendchen?

-----------------------------------------------------------------------------



Re: Prostitution (Ceilo, 26. Feb 1998, 16:40:05):
~#! rn=Magnus rt=888402978 rg=entwicklung
~#! tid=888402978
Erstens ist Prostitution eine erlaubte Taetigkeit - Sittenwidrigkeit allein
macht eine Taetigkeit noch nicht verboten.

Und ausserdem - was interessiert das uns hier eigentlich. Seit wann gilt im
MG denn das deutsche Recht???

-----------------------------------------------------------------------------



Re^9: Berufe (Grimmborn, 26. Feb 1998, 17:12:55):
~#! rn=Wargon rt=888313180 rg=entwicklung
~#! tid=887888581
Lies die Bibel:
Am Anfang schuf Gott Himmel und Erde (goettlicher Akt, kein Beruf). Und die
Erde war wuest und leer (hebraeisch: "tohu wa bohu", bezeichnet einen
ungeordneten Zustand, der aus einem geordneten hervorgegangen ist). D.h. der
erste Beruf war der Manager, denn das Chaos muss ja eine Ursache gehabt haben.

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re: Re: Prostitution (Acrimon, 26. Feb 1998, 18:36:18):
~#! rn=Ceilo rt=888507605 rg=entwicklung
~#! tid=888402978
Ob erlaubt oder nicht - unmoralisch und verabscheuungswuerdig ist es in jedem
Fall.
Laszt uns davon verschont bleiben.

-----------------------------------------------------------------------------



Re^3: Prostitution (Grimmborn, 26. Feb 1998, 18:38:14):
~#! rn=Acrimon rt=888514578 rg=entwicklung
~#! tid=888402978
Das ist eine These ohne Begruendung und wohl auch dementsprechend
ernstzunehmen.

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re^3: Prostitution (Jimdigriz, 26. Feb 1998, 18:44:11):
~#! rn=Acrimon rt=888514578 rg=entwicklung
~#! tid=888402978
Hoi,

auf sowas lass ich mich auch mal koedern.
"verabscheuungswuerdig" ist sowieso Ansichtssache also
braucht man darueber nicht diskutieren.

Aber warum ist das "unmoralisch" ? 
Wo steht eigentlich geschrieben was "moralisch"
und was ist es nicht ? Ich wuerde fragen der Moral eher
zu Fragen der Ethik unterordnen und auf dem Gebiet
haben sich schon genug Leute die Schaedel heissgeredet.

Prostitution schadet in erster Linie (so wie ich
das sehe) keinem Menschen. Niemand hat einen Nachteil
nur weil Prostitution existiert. Natuerlich ist das nur
prinzipiell so. Viele Frauen sind vielleicht dazu gezwungen
und erleiden sehr wohl Nachteile/Schaeden und auch die
Freier .. die Ursachen dafuer liegen aber woanders
(schlechte Voraussetzungen in der Gesellschaft,
keine ausreichende soziale Absicherung, Unterdrueckung durch
andere, etc. pp)
Gaebe es keine Prostitution, somit waeren diese
Probleme auch nicht geloest... aber mit Moral hat das
IMHO nix zu tun.

Ciao,
 Jim DiGriz (hat eben feierabend gemacht)

-----------------------------------------------------------------------------



Re^4: Prostitution (Zarniya, 26. Feb 1998, 19:59:44):
~#! rn=Jimdigriz rt=888515051 rg=entwicklung
~#! tid=888402978
JdG, ich wuerd noch weiter gehen: 

Prostitution, wenn sie denn freiwillig geschieht und das ist in ueber der
Haeflte aller Faelle so, ist eine sehr gute Sache. Sie ist ein ehrliches
Geschaeft und verhindert viele schlechte andere Sachen. Was meinst du, wie
hoch die Gewalt in der Ehe, Vergewaltigungen und aehnliches waeren, wenn es
nicht die gaebe, die fuer einen gewissen Preis alles machen?

Ich finde da vieles andere viel verwerflicher.

Zarniya

P.S.: Wuerd mich nebenbei mal interessieren, wer hier zu so einem Thema wieder
nur bloede rumlabert und wer sich auskennt, weil er das Milieu kennt. *stier
seine scheinheiligkeit Acrimon an * . Vielleicht sollten die, die das Thema
nur aus der Bildzeitung und aus Groschenheften und SpiegelTV kennen, mal den
Rand halten.

-----------------------------------------------------------------------------



Re^5: Prostitution (Patryn, 26. Feb 1998, 20:03:19):
~#! rn=Zarniya rt=888519584 rg=entwicklung
~#! tid=888402978
nix gegen die bildzeitung!

------
patryn der jetzt hofft, das grimmborn endlich mal seinem amt nachgeht

-----------------------------------------------------------------------------



Laden (Deepblue, 27. Feb 1998, 12:17:53):
Koennte man zusaetzlich ein Verkaufe waffen/verkaufe ruestungen
implementieren? So wuerde man seinen persoenlichen Kram behalten, das andere
aber loswerden. Angezogenes/gezuecktes sollte dabei nicht verkauft werden

-----------------------------------------------------------------------------



Re^5: Prostitution (Alboin, 27. Feb 1998, 12:49:34):
~#! rn=Zarniya rt=888519584 rg=entwicklung
~#! tid=888402978
Lieber Yantro,
denk doch erstmal nach bevor Du gewagte Thesen in die Welt setzt:
kann es nicht sein, dass Maenner die durch ihre Besuche im Rotlichtviertel
ohnehin Frauen nur als Dienstleistungsobjekt betrachten, den Respekt vor
Frauen verlieren und das eher die Gewalt in der Ehe beguenstigt. 
Deine Ansicht: Mann hat Hormonstau - Frau will nicht - also kriegt Frau Senge
oder Mann geht zur Prostituierten, ist nicht nur digitales Denken sondern
macht den Mann auch zum reinen Triebtier. Sehe doch mal die Perspektive von
der Frau aus: warum will sie nicht: vielleicht weil der Mann nicht in der Lage
ist was fuer ein harmonisches Eheleben zu tun?
Ich will jedenfalls nicht gegen Prostitution wettern, aber die Ansicht
Prostitution wuerde Gewalt in der Ehe verhindern ist schwachsinnig und dumm.
Prostition ist dazu da ein Triebgefuehl kurzzeitig zu mildern nicht aber einen
Konflikt zu loesen und aus diesem Grunde gewinnt sie in dieser schnellebigen
Gesellschaft fuer viele Maenner zunehmend an Bedeutung.

Alboin

-----------------------------------------------------------------------------



Skills (Deepblue, 27. Feb 1998, 13:51:34):
Wie waere es, auch die Vertragbare ALK-Menge als trainierbaren skill zu
verwalten?

-----------------------------------------------------------------------------



Re: Skills (Hangover, 27. Feb 1998, 13:52:04):
~#! rn=Deepblue rt=888583894 rg=entwicklung
~#! tid=888583894
Werde Kaempfer, da gibts das.

-Hangover
(einzeilig)

-----------------------------------------------------------------------------



Re: Skills (Gnome, 27. Feb 1998, 13:52:18):
~#! rn=Deepblue rt=888583894 rg=entwicklung
~#! tid=888583894
werd kaempfer, dann hast du den skill :)

gnOme

-----------------------------------------------------------------------------



Re: Re: Skills (Deepblue, 27. Feb 1998, 13:53:19):
~#! rn=Gnome rt=888583938 rg=entwicklung
~#! tid=888583894
sollte auch bei Karatekas implementiert werden

-----------------------------------------------------------------------------



Re: Skills (Freund, 27. Feb 1998, 13:53:23):
~#! rn=Deepblue rt=888583894 rg=entwicklung
~#! tid=888583894
Unter Linux kann man das schon laengst verwalten!

-----------------------------------------------------------------------------



Re: Re: Skills (Yendi, 27. Feb 1998, 14:11:25):
~#! rn=Freund rt=888584003 rg=entwicklung
~#! tid=888583894
Ach, Linux -- viel zu kompliziert! Da lob ich mir Windoof!

Yendi
      geht jetzt besser nach Hause und ruht sich ein bisschen aus...


-----------------------------------------------------------------------------



Re^3: Skills (Grimmborn, 27. Feb 1998, 15:19:24):
~#! rn=Deepblue rt=888583999 rg=entwicklung
~#! tid=888583894
Wie kommst Du denn auf die Schnapsidee? Soweit mir bekannt ist, ist es
mitnichten "klassisch", als Karateka zu saufen, im Gegenteil, ich hatte eher
den Eindruck, die Jungs neigen eher zur Askese. Dahingegen ist ein Kaempfer
klassischerweise immer dann im Wirtshaus zu finden, wenn er nicht gerade auf
dem Schlachtfeld ist. 

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re^4: Skills (Deepblue, 27. Feb 1998, 15:24:55):
~#! rn=Grimmborn rt=888589164 rg=entwicklung
~#! tid=888583894
Leider ist es hier aber noetig, man muss trainieren, verliert massenhaft MP
und muss die wieder aufladen.
Ansonsten ist man nach 3 Jahren immer noch anfaenger

-----------------------------------------------------------------------------



Re^5: Skills (Grimmborn, 27. Feb 1998, 15:34:04):
~#! rn=Deepblue rt=888589495 rg=entwicklung
~#! tid=888583894
Mir bricht das Herz, wenn ich hoere, unter welchen Zwaengen Du hier
anscheinend stehst. Da musst Du Dir ja regelrecht verfolgt und geknebelt
vorkommen...
Hast Du mal versucht, statt dessen ein gutes Buch zu lesen?

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re^6: Skills (Deepblue, 27. Feb 1998, 15:38:30):
~#! rn=Grimmborn rt=888590044 rg=entwicklung
~#! tid=888583894
Das hab ich nie gesagt, ich hab nur gesagt, dass Deine Behauptung
Karateka-Nichttrinker hier so nicht gilt.
weiter brauchen wir das aber glaube nicht zu diskutieren

-----------------------------------------------------------------------------



Re^7: Skills (Grimmborn, 27. Feb 1998, 15:40:10):
~#! rn=Deepblue rt=888590310 rg=entwicklung
~#! tid=888583894
Nein, brauchen wir nicht. Das ist generell sinnlos, wenn Leute der
Gewinnoptimierung den Realismus unterordnen. Siehe Diskussion um einen mal so
richtig saftigen "Gib ihm"-spell in gilden.klerus...

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re^3: Skills (Morgoth, 27. Feb 1998, 16:20:44):
~#! rn=Deepblue rt=888583999 rg=entwicklung
~#! tid=888583894
Damit ihr 500000 muenzen tragen koennt und das script nicht so auffaellig ist
???
M*

-----------------------------------------------------------------------------



Re^4: Skills (Deepblue, 27. Feb 1998, 16:33:20):
~#! rn=Morgoth rt=888592844 rg=entwicklung
~#! tid=888583894
Hae? Was hat das mit tragen zu tun? Ich bin nur nach 3x
"runterkaerunterkaempfen" und wieder hochsaufen besoffen und komm nicht
weiter. Mit tragen will ich garnix, und zum Thema script sag ich mal nix - tf
laeuft hier garnicht...

-----------------------------------------------------------------------------



Re: Re: Vorschlag: Mietshaeuser! (Tunixgut, 27. Feb 1998, 17:21:53):
~#! rn=Asmodis rt=888020363 rg=entwicklung
~#! tid=887977155
Gute Idee!

's Karate-Zwerchle...

-----------------------------------------------------------------------------



Kneipen (Silvana,  3. Mar 1998, 12:34:30):
Also, bevor ichs jedem einzeln erzaehle und sich dadurch die Geruechte
ausbreiten hier einmal fuer alle in der MPA: Was hat sich bei den Kneipen
jetzt geaendert und wieso bugen nen paar Drinks?

Es gibt, wie die meisten wissen, drei Werte, die das 'Fassungsvermoegen'
eines Spielers umschreiben: Das was er essen kann, das was er alkfrei
trinken kann und die Alk-Menge, die er vertragen kann. Isst oder Trinkt
der Spieler, steigt der Pegel des entsprechenden Wertes und sinkt mit 
der Zeit wieder. Die Geschwindigkeit ist dabei allerdings unterschiedlich.

Was wir nun beschlossen und eingefuehrt haben ist folgendes:
Welche Speisen/Getraenke als Legal gelten, haengt nicht mehr wie bisher
von den drei Essen- Fluessigkeit- und Alk-Wert gleichstark ab, sondern
gewichtet nach der Geschwindigkeit, mit der die Werte regeneriert werden.
Da sich Alk am schnellsten abbaut, hat die Alk-Menge in einem Drink
auch den geringsten Einfluss.
Ausserdem gehen natuerlich auch Preis und Heilgeschwindigkeit - und seit
dem Reboot auch die Lieferzeit (manchs Speisen/Getraenke brauchen eine
Zeit, bis sie fertig sind) in die Berechnung ein. Alles in allem eine 
_sehr_ komplexe Formel. Daher: Bitte etwas Geduld.

  Silvana

-----------------------------------------------------------------------------



Re^5: Prostitution (Qitess,  3. Mar 1998, 15:17:06):
~#! rn=Zarniya rt=888519584 rg=entwicklung
~#! tid=888402978
Achso ?
Also, ehrlich gesagt, ich kenne das Thema Prostitution nur aus der zeitung /
aus m TV, aber ich werde JETZT NICHT MEHR, Zarniya, meinen Rand halten. Denn
ich glaube nicht, dass ueber die Haelfte der Prostituierten Frauen sich
freiwillig prostituieren. Natuerlich, sie koennten vielleicht auch ihr Kind
zur adoption freigeben und unter ner Bruecke leben, um es mal ganz krass zu
sagen, aber ich glaube immer noch, dass diese Menge ueber der Haelfte nicht so
ganz freiwillig anschaffen, sondern durch Zwaenge der Gesellschaft (huch,
etwas hochtrabend...) naja, durch ziemlich miese Umstaende eben dazu gezwungen
wurden.
Und ich als Frau kann dazu naemlich nur sagen : IGITT !
Ich kann mir wirklich keinen menschlichen Charakter vorstellen, der es so toll
findet, von fremden Maennern gef**** zu werden nur um das geld zu bekommen.
Ich schaetze eher mal, man faengt irgendwann als junge Frau damit an, weil man
akut Kohle braucht (um seinen Macker auszuhalten?) und kommt dann naemlich
nicht mehr raus aus diesem Teufelskreis.
Mal davon abgesehen, welche Menge ist denn das, die da auf die Haelfte
zurueckschliessen laesst ? Alle Huren ?
Sicher ?
Und wer hat die ganzen Strassenrand-Wohnwagen-oder-auch-kein-Wohnwagen-Huren
mitgezaehlt ?
Also ich weiss nicht, aber so richtig freiwillig machen das wohl eher viel
weniger als die haelfte der Damen.

QI** schnaubt.

-----------------------------------------------------------------------------



wenn realismus, dann richtig... (Isis,  3. Mar 1998, 15:40:12):
Also das, neue Tanksystem haben wir jetzt, weil das alte zu unrealistisch
war....
Aber wer bitte trinkt denn zu Fisch Bier? 
Oder Erdbeertorte mit Knoblauchwasser

Koennt man es nicht noch so machen, dass es bestimmte Speisen und getraenke
auf einander reagieren?

Magenbitter gegen Fuellegfuehl z.B.

Nur so ne Idee....

-----------------------------------------------------------------------------



Re^6: Prostitution (Damien,  3. Mar 1998, 15:40:28):
~#! rn=Qitess rt=888934626 rg=entwicklung
~#! tid=888402978
Na, dann snf ich da auch mal mit.
Ich bin als Mann zwar etwas Aussenstehender, aber ich kenne einige Frauen,
die sagen wir mal, nicht besonders waehlerisch bei der wahl ihrer Sexual-
partner und sich da auch nicht allzuviel Zeit lassen.
Nicht zu vergessen ist, das man zu den Prostituierten nicht unbedingt die
Gehsteigschwalben und hierhergelockt Auslaenderinnen und dergleichen als
Mass der Dinge nehmen muss, die sind wirklich arm dran, wenn ich dadran
denke, kommt mir die Galle hoch, aber was ist mit professionellen "Massage"-
Salons, Escort-Service, und Damen (und Herren), die einfach etwas extra-
vagantere Wuensche erfuellen, siehe SM?
Wir muessen hier im MG ja nicht unbedingt die dunkelsten Seiten der 
Prostitution herauskehren, aber wenn sich hier einige Leute fuer besonders
talentiert halten, andere interessierte Spieler mit einer gespielten
Sexszene zu unterhalten und damit in das Berufesystem einzugehen, bitte.
Ich habe das hier einmal erlebt, und wenn beide Partner etwas ihre Fantasie
spielen lassen, kann das sehr amuesant und erotisch sein. (Nein, ich sitze
nicht vor dem Rechner und hole mir einen runter, und wer das noetig hat, der
tut mir ehrlich leid.)
Also, wer will, der soll, wer nicht will, der muss auch nicht.
Damien.

-----------------------------------------------------------------------------



Re^7: Prostitution (Aline,  3. Mar 1998, 15:47:01):
~#! rn=Damien rt=888936028 rg=entwicklung
~#! tid=888402978
Hi Damien,

>Ich bin als Mann zwar etwas Aussenstehender, aber ich kenne einige Frauen,
>die sagen wir mal, nicht besonders waehlerisch bei der wahl ihrer Sexual-
>partner und sich da auch nicht allzuviel Zeit lassen.

Was moechtest Du mit diesem Satz sagen?
Ich kenn auch einige Maenner, die nicht besonders waehlerisch sind.
Und?

Aline

-----------------------------------------------------------------------------



Re^8: Prostitution (Damien,  3. Mar 1998, 15:52:07):
~#! rn=Aline rt=888936421 rg=entwicklung
~#! tid=888402978
Ich moechte damit sagen, es gibt Frauen, die nicht allzuviele Probleme
haben, mit mehr oder weniger "wildfremden" Maennern Sex zu haben.
Nichts weiter. Ansonsten siehe restlicher Artikel.
Im uebrigen bin ich der Meinung, das Maenner von Natur aus weniger waehlerisch
sind, mal abgesehen davon, dass das mit dem Thame nix zu tun hat, den wenn
ein Mann oder ein frau zu einer Prostituierten oder einem Prostituierten
gehen,
oder in einen entsprechenden Club oder wie auch immer, dann treiben die's auch
mit wildfremden partnern, die Frage ist nur, ist es erzwungen oder freiwillig.
Und wie ich sagte, wenn dann wird das hier eh' nur freiwillig gemacht.
Damien

-----------------------------------------------------------------------------



Re: wenn realismus, dann richtig... (Rikus,  3. Mar 1998, 17:11:39):
~#! rn=Isis rt=888936012 rg=entwicklung
~#! tid=888936012
Hi,
wieso unrealistisch? Ich trinke, falls ich was zum Essen trinke, ein
Bier. Egal, ob nun Fisch oder Spaghetti... Wein trinke ich auch gern,
aber nur trockenen Rotwein und esse eigentlich nie was dazu.
ich wuerde also sagen, dass eh jeder einen anderen Geschmack hat, also
wer soll sagen, dass z.b. zum Fisch nicht ein Bier gut ist oder ein
Knoblauchwasser zu einer Torte?

Rikus, isst und trinkt, was einzeln schmeckt

-----------------------------------------------------------------------------



Re^6: Prostitution (Wurzel,  3. Mar 1998, 18:56:52):
~#! rn=Qitess rt=888934626 rg=entwicklung
~#! tid=888402978
ach, und aus deiner begrenzten vorstellungskraft leitest du ab, das alles so
sein muesste wie du es dir denkst? traurig...
ich habe keine ahnung von irgendwelchen zahlenverhaeltnissen. ich weiss auch
nicht, wie den "kunden" der huren zumute sein mag. aber ich kenne einige
huren und auch stricher. dabei ist niemand, der den job toll findet, aber
das geld wissen alle zu schaetzen (uebrigens, mein job ist auch nicht jeden
tag die reine freude, aber das geld... nein, ich mache software :)
faellt was auf dabei? das ist ein job wie jeder andere. nur eben nicht mit
der gesellschaftlichen akzeptanz wie andere jobs. und das kommt von sowas:
> Und ich als Frau kann dazu naemlich nur sagen : IGITT !
ich bin auch durch "zwaenge der gesellschaft" bzw. "miese umstaende" dazu
gezwungen zu arbeiten. es gibt sooo vieles was ich lieber taete...
naja, manche verstehen es nie.

wurzel

-----------------------------------------------------------------------------



Re: Re: wenn realismus, dann richtig... (Gloinson,  3. Mar 1998, 19:07:12):
~#! rn=Rikus rt=888941499 rg=entwicklung
~#! tid=888936012
Auch Milch und Pflaumen? Mjam.

Gloin ... schmarrend.

-----------------------------------------------------------------------------



Re: Skills (Astar,  3. Mar 1998, 19:30:36):
~#! rn=Deepblue rt=888583894 rg=entwicklung
~#! tid=888583894
Bei den Piraten wird es das auch geben...

Astar

-----------------------------------------------------------------------------



Re: wenn realismus, dann richtig... (Silvana,  3. Mar 1998, 23:47:16):
~#! rn=Isis rt=888936012 rg=entwicklung
~#! tid=888936012
Das ist im Prinzip moeglich, aber es muesste jeder Magier selbst machen.
Eine Datenbank mit allen gut hundertzwanzig Kneipen des Morgengrauens
fuer Unvertraeglichkeiten anzulegen geht dann doch ueber das Ziel
gewaltig hinaus.

  Silvana

-----------------------------------------------------------------------------



Re^9: Prostitution (Li,  4. Mar 1998, 10:20:53):
~#! rn=Damien rt=888936727 rg=entwicklung
~#! tid=888402978
Da offensichtlich immer mehr deutsche/thailaendischen/waswessich ich
Prostituierte durch Frauen aus dem Osten "ersetzt" werden, die wohl wirklich
durch Menschenhandel hier her kommen, wird das Bild der Frau, die mal eben
etwas Geld auf die Schnelle machen will, bald ausgestorben sein.  
Es ist doch auch voellig egal, wieviele Frauen  "freiwillig" auf den Strich
gehen, jedenfalls sind beide Extremansichten an der Realitaet vorbei (wie die
meisten Extremansichten). Prostitution als amoralisch zu verbannen ist genauso
blind wie: Prostitution verhindert Gewalt/Vergewaltigung an Frauen.
Die meisten Vergewaltigungen finden naemlich aus dem gleichen Grund statt wie
Gewalt gegen Frauen: Da geht es um Macht und Selbstbeweis, kaum um die
Befriedigung sexueller Lust. 

-----------------------------------------------------------------------------



Re^7: Prostitution (Deepblue,  4. Mar 1998, 10:35:22):
~#! rn=Wurzel rt=888947812 rg=entwicklung
~#! tid=888402978
Ich wuerde die Jobs Hure und Progger aber mal nicht gleichsetzen wollen, aauch
wenn beides manchmal nervt...

-----------------------------------------------------------------------------



Re^7: Prostitution (Qitess,  4. Mar 1998, 21:09:35):
~#! rn=Wurzel rt=888947812 rg=entwicklung
~#! tid=888402978
liebster wurzel
aus meiner vorstellnjgskraft leite ich nicht ab, dass alles so sei, wie ich es
mir denke. beileibe nicht. ich wollte lediglich darauf hinweisen, dass es wohl
eher nicht so ist, dass die haelfte der huren (wie zarniya meinte) das
freiwillig machen. kann auch sein, dass es so ist, ich glaube es aber
eigentlixch nicht (naja, gut, hat schon was mit vorstellungskraft zu tun.)
und was ich mit dem
>Und ich als Frau kann dazu naemlich nur sagen : IGITT !

Das war erstens: meine Sicht eben die sicht einer frau, die ja wohl
zugegebenermassen anders ist als die eines mannes.
zweitens ist es MEINE empfindung bei der vorstellung dabei. mein ganz
persoenliches. ich kann mir eben nicht ohne ekel ausmalen als hure zu
arbeiten. ich meine damit nicht, dass ich huren ekelig finde. 

und ich habe auch keinen bock zu arbeiten.
und wuesste sachen, die ich lieber taete.
und manche verstehen eben auch nie.
aber vielleicht fuehlen sich manche ebenm auch nur auf den schlips getreten,
weil man hier seine meinung darlegt.

QI** findet weder huren noch Stricher eklig (oder 'Igitt') und vertritt auch
weiterhin ihre eigene meinung, und versteht immer noch nicht, wieso manche es
nie verstehen, aber manche verstehen es eben nie.

-----------------------------------------------------------------------------



Re^8: Prostitution (Zarniya,  5. Mar 1998, 08:57:27):
~#! rn=Qitess rt=889042175 rg=entwicklung
~#! tid=888402978
Liebste Qitess, ich denke, Du machst den Standardfehler, dass Du zu sehr von
Dir auf andere schliesst. Ich weiss, wovon ich rede, wenn ich meine
Behauptungen aufstelle.

Zarniya

-----------------------------------------------------------------------------



Re^4: Berufe (Fyt,  5. Mar 1998, 09:16:24):
~#! rn=Wurzel rt=888261812 rg=entwicklung
~#! tid=887888581
Hm, wenn ich die Schafe in meinem Haus zuechten kann und alle Meldungen
mit 'Das Schaf' anfangen, damit ich mich beim /gag nicht ueberarbeite,
wuerde ich glatt den Beruf des Schafhirten uebernehmen.

Fyt.

-----------------------------------------------------------------------------



Re^9: Prostitution (Damien,  6. Mar 1998, 15:04:47):
~#! rn=Zarniya rt=889084647 rg=entwicklung
~#! tid=888402978
Hmm, muessen wir hier eine Diskussion ueber die Sozioblabla und
Wasweissichfuer
Umstaende der Prostitution diskuttieren, das Thema ist doch wirklich
ausgekaut.
Was das ganze im MG betrifft, es gibt jetzt schon Leute, die hier ihre
erotischen Tragtraeume mit anderen teilen, warum sollten die, wenn die Berufe
kommen nicht was davon haben, erleichtert vielleicht auch, das sich gleich-
gesinnte finden, wie auch immer diese Gesinnung aussieht. :)
Ich finde die Idee gut, sowas hier zu haben, ich wuerde diesen Beruf auch mit
dem einen oder anderen zweitie ausueben und auch mal gerne in Anspruch nehmen.

Damien.

-----------------------------------------------------------------------------



Re^10: Prostitution (Lug,  7. Mar 1998, 14:59:36):
~#! rn=Damien rt=889193087 rg=entwicklung
~#! tid=888402978
Aeh,

wovon redest Du Damien?

Unschuldig laechelnd
Lugh

-----------------------------------------------------------------------------



bug in den Laeden? (Pra,  8. Mar 1998, 14:40:44):
Moin,

kann es sein, dass in den Laeden noch ein bug ist? (Ja, ich weiss, bloede
Frage ;-)

Konkreter: Wenn ich meinen Muell aus meinem Schleimbeutel verkaufe,
und es sind mehr als ca. 40 Gegenstaende, und ich gebe ein:
verkaufe alles aus beutel, dann kommt nach dem ca. 40. Gegenstand
ein Fehler im RZG.

Pra, nur mal so anmerkend.

-----------------------------------------------------------------------------



Re: bug in den Laeden? (Wurzel,  8. Mar 1998, 14:42:39):
~#! rn=Pra rt=889364444 rg=entwicklung
~#! tid=889364444
das war ein "Too long evaluation. Execution aborted." fehler... kann immer
mal passieren, besonders wenn man es uebertreibt :)

wurzel

-----------------------------------------------------------------------------



Re: Re: bug in den Laeden? (Pra,  8. Mar 1998, 14:44:05):
~#! rn=Wurzel rt=889364559 rg=entwicklung
~#! tid=889364444
Kriegen dann wenigstens alle Magier eine nervige Fehlermeldung auf ihren
Schirm?

Pra. Uebertreibt gerne.

-----------------------------------------------------------------------------



Re^3: bug in den Laeden? (Wurzel,  8. Mar 1998, 14:45:03):
~#! rn=Pra rt=889364645 rg=entwicklung
~#! tid=889364444
nur wenn sie den Debug-kanal anhaben... aber es gibt sachen, die da viel
schlimmer sind :)

-----------------------------------------------------------------------------



Re: bug in den Laeden? (Wargon,  9. Mar 1998, 10:42:33):
~#! rn=Pra rt=889364444 rg=entwicklung
~#! tid=889364444
Hmm... bei 40 Teilen schon?
Es gibt ne Verkaufssperre, die bei 50 Teilen anspringt (aus dem gleichen
Grund, der diesen Fehler verursacht), das sollte vielleicht mal runtergesetzt
werden...
  Wargon

-----------------------------------------------------------------------------



Feilschen (Silvana,  9. Mar 1998, 12:47:08):
Hi.

Wir haben beschlossen, auf Nachfrage einiger Spieler die Moeglichkeit des
Feilschens zu implementieren. Das bedeutet im Klartext: Man entscheidet
mit einem Befehl, ob man generell feilschen moechte oder nicht. Tut mans
nicht, aendert sich nix am derzeitigen System. Tut mans doch, verliert
man zwar ein bisschen Zeit, kann aber bei Erfolg bis zu 25% bessere
Preise aushandeln (oder bei Misserfolg bis zu 25% schlechtere...).
Das ganze ist ein Skill, kann also geuebt werden.

Um das Ganze etwas stimmungsvoll gestalten zu koennen, brauche ich nun
Eure Hilfe: Ich brauche beliebig viele Texte fuers Feilschen. Das laeuft
dann nach dem von den Kaempfern bekannten Monkey-Island-Prinzip ab:
Einer der Feilschenden gibt etwas vor und der andere muss darauf Kontern.
Entweder mit ner Schlagfertigen Antwort oder mit was dummem - je nach
Erfolg. Ein Beispiel? Hier ist eins von Calum:
S: Weisst Du, wie weit ich reisen musste, um X zu finden?
+: Wahnsinn... Bis ans Ende der Welt und weiter?
-: Ja. Von der Zwergenstadt zur Hochebene. :)

Es soll moeglich sein, rassenspezifische (Spieler) und Regionsspezifische
(Haendler, Wirte,...) Meldungen einzubauen. Wenn Euch also Sprueche ein-
fallen, die eigentlich nur von einem Zwerg stammen koennen, oder die
nur ein Haendler im Dschungel von sich geben wuerde: Kein Problem, immer
her damit - aber bitte entsprechend kennzeichnen. :)

Ach ja, bitte nicht in die Zeitung, sondern als Mail an mich. Ich brauche
wirklich HUNDERTE von Meldungen, damit das nicht nach 10min wegen Langeweile
rausgegaggt wird.

  Silvana

-----------------------------------------------------------------------------



Alias Erweiterung (Acrimon,  9. Mar 1998, 20:04:30):
Ich habe einen neuen Vorschlag, die Aliase zu verbessern:
Aliase, die von der Zahl ihrer Argumente abhaengig sind.

Syntaxvorschlag:
alias erwarte$0 erwarte -u
alias erwarte$1 erwarte $*
alias erwarte   denke Das waren ein paar Namen zuviel.

Mit der Endung $0 $1 $2 ... gibt man also (in meinem Syntaxvorschlag) an,
wieviel Argumente das Alias "erwarte" bekommen mu, damit der zugehoerige Alias
ausgefuehrt wird.
Der Alias ohne Endung wird dann nur ausgefuehrt, wenn keiner der
argumentzahlbehafteten Aliase ausgefuehrt wird.

Ich denke, das waere eine schoene und auch sehr nuetzliche Erweiterung des
Alias-Systems.

Acrimon, der Rote Ritter

-----------------------------------------------------------------------------



Re: Alias Erweiterung (Zuerileu, 10. Mar 1998, 03:29:21):
~#! rn=Acrimon rt=889470270 rg=entwicklung
~#! tid=889470270
Hi,
Aemm Acrimon, zuviel Alkohol ist ungesund, oder warst du nicht besoffen als du
den artikel geschrieben hast ?
Also ich komme bei deinem beispiel nicht draus, evtl. bin ich ja auch nur zu
muede.
Ich find schade das man bei den aliases nicht mehrere befehle ausfuehren kann
hintereinander, also das man nicht 2 alias kompinieren kann. also z.b. das man
mit 1 alias alle edelsteine aus dem Beutel nehmen kann und sie auch gleich
verkauft. 
Klar als Magier ist dies moeglich mit hilfe des "xdo" befehl aber als Spieler
hat man den ja nicht. Man kann ja eine grenze einbauen das man das Alias nicht
als script-ersatz missbraucht aber wer sollte das auch tun. Scripten kann man
praktisch ja nicht zurueckverfolgen, aber das ist ein anderes Thema.

Tschau Alain

-----------------------------------------------------------------------------



Re: Re: Alias Erweiterung (Hobo, 10. Mar 1998, 08:04:12):
~#! rn=Zuerileu rt=889496961 rg=entwicklung
~#! tid=889470270
Es gibt einen Grund, warum man keine Alis fuer mehrere Befehle machen kann.
Dazu empfehle ich, die Artikel zur Questbelohnung von Wilhelmsburg zu lesen.

 Hobo

-----------------------------------------------------------------------------



auch was zu erwarte: (Sharia, 10. Mar 1998, 13:02:15):

Hi ich hab mal ne frage:

was wuerdet ihr von nem "erwarte alle aus <stadt>" halten?
Ich find sowas ne gute Idee und schoen waere wenn man damit dann nicht nur
alte sondern auch neue Spieler und Gaeste sehen wuerde ....

Sharias dummer vorschlag.

-----------------------------------------------------------------------------



Re^3: Alias Erweiterung (Trancefear, 10. Mar 1998, 18:13:13):
~#! rn=Hobo rt=889513452 rg=entwicklung
~#! tid=889470270
Als die waeren?

tf

-----------------------------------------------------------------------------



Re^4: Alias Erweiterung (Hobo, 11. Mar 1998, 09:44:00):
~#! rn=Trancefear rt=889546393 rg=entwicklung
~#! tid=889470270
Lesen, "tf", lesen!

 Hobo

-----------------------------------------------------------------------------



Moerderkanal-meldungen (Orktoeter, 11. Mar 1998, 15:33:36):

Hi ! Wenn ihr Interesse an neuen (mehr) Meldungen auf dem Moerderkanal habt,
mailt mir bitte eure Ideen, ich sammel und sortiere die und gebe die dann an
einen magier zwecks einbau. Also, lasst euch was einfallen :)

OrkT.

-----------------------------------------------------------------------------



Seheranforderungen (Mindblade, 12. Mar 1998, 01:49:36):
So jetzt mal was ganz abseits der bisherugen Diskussionen. 

Wie waere es mal langsam mit festen Anforderungen, um Seher zu werden.
Als ich die Tage die Anforderungen fuer neu eingeloggte Spieler gesehen hab,
ist mir ja fast schlecht geworden. Das sind an die 2000 AP. Als ich angefangen
hab waren das noch 1600. Irgendwie sehe ich da nicht ganz die Rechtfertigung,
dass neu eingeloggte Spieler immer mehr Quest machen muessen, um endlich mal
den Seherstatus zu erreichen.Gut ich gehoere nicht zu den Leuten, die sich
begierig auf alles stuerzen was Quest heisst, aber man moechte doch wohl als
Spieler auch mal nen Ende sehen.Ich fand die Anforderungen damals schon hoch
genug aber jetzt... . Naja ist erstmal meine Meinung, mal sehen was ihr so
dazu sagt.

Mind*, fragt sich schon ob man in 2 Jahren 3000 AP brauchen wird.

-----------------------------------------------------------------------------



Seheranforderungen (Knurt, 12. Mar 1998, 02:23:45):
Hmm,
ich waere auch sehr dafuer die benoetigten APs bei etwa 1800 einzufrieren, und
die Anzahl der benoetigten Quests aehnlich anzusiedeln.
Die Forscherpunkte natuerlich auch.
Soweit ich mich erinnern kann, war der Tenor auf meiner Party neulich
eigentlich allgemein so, das das mal Zeit wuerde, weil hier sonst bald kaum
noch einer Seher wird, oder die Leute irgendwann fuer die letzten QUests zu
KLs greifen um endlich Seher zu werden.

Knurt

-----------------------------------------------------------------------------



Re: Seheranforderungen (Teddy, 12. Mar 1998, 02:26:17):
~#! rn=Knurt rt=889665825 rg=entwicklung
~#! tid=889665825
Bin dafuer, sonst haben wir bald das selbe Problem wie mit den ZTs, ohne KL
kann man kaum noch spielen.

Teddy

-----------------------------------------------------------------------------



Re: Seheranforderungen (Hangover, 12. Mar 1998, 08:47:25):
~#! rn=Mindblade rt=889663776 rg=entwicklung
~#! tid=889663776
Moin!

Bei den aktuellen Horden an Neu-Wurstsehern sind die Anforderungen
IMHO eh noch zu niedrig...oder war ich als Neuseher auch so nervig?

-Hangover
(wird alt und grummelich)

-----------------------------------------------------------------------------



Re: Seheranforderungen (Hangover, 12. Mar 1998, 08:49:14):
~#! rn=Knurt rt=889665825 rg=entwicklung
~#! tid=889665825
Moin!

Das seh ich anders...viele Leute, die ich hier im MUD kenne, haben
KLs benutzt, um endlich die letzten 200 Punkte zusammenzubekommen.
Ob das jetzt die letzten 200 von 1200 oder 1800 sind, macht da wohk
keinen grossen Unterschied. 
Mit einem Limit von 2000 AP (sollten es jemals soviel Quests werden)
koennte ich allerdings auch leben :-)

-Hangover

-----------------------------------------------------------------------------



Re: Re: Seheranforderungen (Sharia, 12. Mar 1998, 10:55:49):
~#! rn=Hangover rt=889688845 rg=entwicklung
~#! tid=889663776
Tja Hangover DA sagst du genau das richtige:

Du sprichst von Horden von Neu-Wurstsehern die nervig sind und das finde ich
ziemlich ungeschickt ausgedrueckt von Dir.

Sicherlich gibt es Seher, die nicht Level 60 erreicht haben und die nicht
alles wissen oder die auch nicht so gut metzeln koenenn weil ihnen einfach
erfahrung fehlt. Deine Frage ob du auch so warst kann ich Dir nicht
beantworten aber ich wage einfach mal zu sagen: ja !!! Ich erinnere mich, als
mein Erstie mit Level 20 endlich Seher wurde, dass er sich nichteinmal in die
2. Etage der Orkhoehle getraut hat, da es ihm zu hart dort war !


Das generelle Problem welches ich im Moment vorallem bemerke, da ich auch
viele Freund haben die eben auch niedrige Level haben oder sogar noch Spieler
sind, ist, dass manche Seher sich mittlerweile noch mehr als frueher ueber
gewissen Fragen auf -h aufregen und zwar so, dasss sie den Fragesteller
tierisch runtermachen. Mensch Leute nicht jeder kann wirklich alles wissen
!!!!! Und denkt doch daran, dass auch ihr frueher gefragt habt oder euch ueber
Fragen von anderen die mindestens so nervig waren auch nicht so aufgeregt
habt!!!! 
Auch ihr habt Fragen gestellt und man kann einfach nicht voraussetzen, dass
jeder Seher gleich ist!!!!

Vielleicht sollte man einfach ein neues Level bzw ein zusaetzliches Level
einfuehren, welches man freiwillig bekommen kann.
SO ab Level 70 kann man wenn man moechte zu den SUPERDUPERSEHERN oder so und
hat seine eigene Ebene die wursties nicht benutzen koennen oder man laesst es
halt weil man denkt, dass man sich vielleicht doch nicht nerven laesst von
Fragen die scheinbar dumm sind. 

Sharia

-----------------------------------------------------------------------------



Re: Re: Seheranforderungen (Gloin, 12. Mar 1998, 10:58:15):
~#! rn=Hangover rt=889688954 rg=entwicklung
~#! tid=889665825
Stimme Hangover zu: Wurstseher gibt es hier zur Genuege. Da koennen die
Anforderungen ruhig hochgeschraubt werden, denn die neuen Player profitieren
ja immer von der alten Erfahrung. Und Seherstatus ist ja (eigentlich)
etwas besonderes. Naja, und wer KLs/Scripte benutzt: Seine Sache, wie bei
den Scripten selbst. Wenn er erwischt wird, wars das und Spielspass hat
er dadurch auch sicher nicht soviel. Oder doch? Pfff.

Gloin ... laesst sich mit seinen letzt ca. 350 AP Zeit :)

-----------------------------------------------------------------------------



Re^3: Seheranforderungen (Hangover, 12. Mar 1998, 11:21:51):
~#! rn=Sharia rt=889696549 rg=entwicklung
~#! tid=889663776
Moin!

Gut, ich sehe ein, dass ich mich relativieren muss, da ich derzeit
recht genervt bin von einer Minderheit an Spielern, die Seher sind
und nichtmal die Hochebene finden...
Demgegenueber steht mit Sicherheit eine Mehrheit von kleinen Sehern,
denen noch viel an Ortskenntnis fehlt (WEIL sie nur gequestet haben).
Seisdrum.

Zu den Anforderungen: heutzutage ist es mit Sicherheit so, dass 
man unterhalb von Level 35 kaum noch Seher werden kann, wenn man 
keine KL (und sei es in Gestalt des Mudders am Nachbarrechner) hat.
Das war frueher anders - schon weils nichtmal genug AP gab, um mit
reiner Questerei Level 20 zu erreichen.
Was mich in der Hinsicht mal interessiert: wie sehen das denn kleine
Seher: haetten es unbedingt weniger Quests sein muessen, oder war
das genau richtig so? 

-Hangover
(kann auch mal konstruktiv sein...)

-----------------------------------------------------------------------------



Re^14: Nix Neues. (Grimmborn, 12. Mar 1998, 11:52:04):
~#! rn=Ringor rt=889654035 rg=polizei.beschwerden
~#! tid=889617861
Also, das ist natuerlich indiskutabel (und auch qualitativ voellig
unproduktiv), Magier zum programmieren zu zwingen. Es werden ja auch keine
Spieler zum Spielen gezwungen (drei Minuten lang nur sag, teile mit u.ae. und
man wird automatisch mit der Meldung "Geh doch ins IRC" ausgeloggt...). Aber
solange es die Besitzstandswahrung fuer alte Magier gibt, brauche ich mir
keine Sorgen zu machen.

Grimmborn der Atheist programmiert nur zum Hausgebrauch

-----------------------------------------------------------------------------



Re^4: Seheranforderungen (Alpha, 12. Mar 1998, 13:36:07):
~#! rn=Hangover rt=889698111 rg=entwicklung
~#! tid=889663776
Ich bin der Meinung, dass es erheblich zu viele Quests sind, die man loesen
muss, um Seher zu werden. Ich habe jetzt sage und schreibe 815 APs, weil ich
halt KEINE KLs jeglicher Art benutze, und mir fehlen immer noch 745 APs zum
Seher. Vielleicht sollte man als Anforderung ganz von den APs wegkommen und
meinetwegen 300 FPs oder Level 40 als Anforderung nehmen.  
Alternativ koennte der Status des werdenden Sehers aufgewertet werden - z.B.
Titel und Presay vermisse ich sehr; und man koennte doch als werdender Seher
die Portale wenigstens sehen, wenn man sie auch nicht benutzen darf. Dann hat
man, wenn man dann irgendwann Seher geworden ist, die Portale selbstgefunden
und muss nicht auf -h rumnerven.
Alpha will auch Seher werden!

-----------------------------------------------------------------------------



Re^5: Seheranforderungen (Highlander, 12. Mar 1998, 13:38:23):
~#! rn=Alpha rt=889706167 rg=entwicklung
~#! tid=889663776
Das mit dem Sehen der Tore finde ich gar keine soo schlechte Idee.
Es sollte allerdings nicht gleich als angehender Seher gehen, weil die
meisten ja eh sehr lange selbiges sind :>
Aber so zB ab 25 oder 30 koennte man das schon machen, denke ich.
    HrT

-----------------------------------------------------------------------------



Re^6: Seheranforderungen (Damien, 12. Mar 1998, 14:22:50):
~#! rn=Highlander rt=889706303 rg=entwicklung
~#! tid=889663776
Bei dem Thema moechte ich nochmal auf meinen Artikel in den Magierrubriken 
hinweisen, wo ich genau sowas vorgeschlagen habe, leider ohne Reaktion bisher.

Damien.

-----------------------------------------------------------------------------



Re^7: Seheranforderungen (Gloin, 12. Mar 1998, 17:34:08):
~#! rn=Damien rt=889708970 rg=entwicklung
~#! tid=889663776
Irgendwie erinnert mich die Diskussion ans deutsche Schulsystem: Weil alle
'n Abi haben wollen senken wir die Ansprueche dafuer, hm? Die Ruestungs-
spirale steigt und den Seherstatus versteigern wir an die wenigstbietenden.
KLs werden auch benutzt werden, wenn AP auf 1000 liegen, weil es dann auch
noch Leute gibt, die ganz ganz dringend und zwar jetzt Seher werden wollen.

Gloin

-----------------------------------------------------------------------------



Re^8: Seheranforderungen (Lug, 12. Mar 1998, 18:51:38):
~#! rn=Gloin rt=889720448 rg=entwicklung
~#! tid=889663776

Quark,

diese ganze Diskussion ist ueberfluessig wie ein Kropf.

FidKG
Lug

-----------------------------------------------------------------------------



Re^8: Seheranforderungen (Arelion, 12. Mar 1998, 18:56:06):
~#! rn=Gloin rt=889720448 rg=entwicklung
~#! tid=889663776
Na ja, eigentlich ist es eher umgekehrt. Nur weil es Leute gibt, die mehr
koennen als das Abi (Seher) erfordert, muessen die Anforderungen
hochgeschraubt werden. Man kann auch nach dem Abi noch was lernen und
hoffentlich nach dem Seher noch was im MG erforschen. Sonst waere Selbstmord
aeh -loeschung die einzige Alternative zur Langeweile.

Aloha,
      Arelion.

PS: Bitte keine Diskussion uebers Schulsystem!

-----------------------------------------------------------------------------



Re^9: Seheranforderungen (Wurzel, 12. Mar 1998, 20:32:19):
~#! rn=Arelion rt=889725366 rg=entwicklung
~#! tid=889663776
ich versteh die ganze aufregung eh nicht.
die anforderungen zur seherwerdung sind seit langem konstant bei 80 % der
AP, wenn ich mich nicht irre... da wird nix hochgeschraubt. wenn es mehr
quests werden, dann ist doch damit im allgemeinen die absicht verbunden,
den spielspass zu erhoehen. wer an quests keinen spass hat und sie nur als
notwendiges uebel ansieht, um seine metzelfaehigkeiten zu erhoehen, sollte
sich mal fragen, ob er hier im richtigen mud ist. ich weiss, das ist immer
ein scheissargument, das als diskussionstoeter eingesetzt werden soll.
aber hier kommt mir doch kaum was anderes in den sinn... es ist schon an
zahlreichen stellen gesagt worden, dass mg primaer ein questmud sein sollte.
die meinungen darueber sind geteilt, mir persoenlich gefaellt die mischung
wie sie besteht eigentlich ganz gut. aber definitiv ist das hier kein reines
metzelmud, das questen nur als "hindernisse" aufstellt auf dem weg nach
oben. wer sowas will, sollte sich wirklich woanders umsehen. vielleicht
wuerde das hier auch das klima wieder etwas verbessern, das teilweise noch
immer ziemlich verbissen ist (wenn auch schon wieder deutlich besser als noch
vor einiger zeit).

wurzel

-----------------------------------------------------------------------------



Re^10: Seheranforderungen (Rikus, 12. Mar 1998, 22:46:46):
~#! rn=Wurzel rt=889731139 rg=entwicklung
~#! tid=889663776
ich kann da Wurzel nur zustimmen. Als ich damals spielte (ab Jan. 95)
ergab es sich halt irgendwann mal nach Loesen von mehr oder weniger
vielen Quests, dass ich Seher wurde, ich sah es eher als _notwendiges
Uebel_. Aber ich hatte nie das Ziel, Seher zu werden. Natuerlich bringt
der Seherstatus einiges an netten Dingen, aber mir kam es auf die Quests
an, die ich mit Freunden manchmal bie frueh um 5 loeste (und ich um 7
wieder aufstehen musste :) ). Also denkt doch mal drueber nach,
dass es um den Spielspass des Einzelnen und das Zusammenspielen und
Unterhalten mit anderen geht, und nicht in erster Linie um Erreichen
des Level wasweissich.

Rikus

-----------------------------------------------------------------------------



Re^11: Seheranforderungen (Trancefear, 12. Mar 1998, 23:50:48):
~#! rn=Rikus rt=889739206 rg=entwicklung
~#! tid=889663776
Du vergisst, das es viele (zu viele) gibt die einfach nur Levelgeil sind.
Eigentlich sollte man seinen Spasshaben und vielleicht mal Seher werden aber
nicht zwingend. Leute ihr muesst nicht Seher werden. Zu meiner Zeit brauchte
man 1096 AP (und keine FP) fuer Seher und ich (mein Vorgaenger :-) hat dafuer
35 Online-Tage gebraucht - einfach weils
nett war hier zu spielen....

tf
ps: aeh warens nicht 1196 AP ? :-) naja lang isses her 

-----------------------------------------------------------------------------



Re^12: Seheranforderungen (Hangover, 13. Mar 1998, 08:57:40):
~#! rn=Trancefear rt=889743048 rg=entwicklung
~#! tid=889663776
Moin!

Lassen wir das mit der Levelgeilheit mal dahingestellt, aber:
Ich sehe ein Problem in der Levelstruktur, wie sie jetzt ist. Und
zwar ist es so, dass man bis Spielerlevel 20 parallel in der Gilde
dazu aufsteigt und dann die Beschraenkung kommt, dass man erst als 
Seher weitermachen kann. (Trves, Kleriker, ...)
In Zeiten, wo man mit Level 25-30 Seher wurde ist das ja noch ganz
ok, aber ich weiss von einigen kleineren Sehern und Spielern, dass
speziell diese Spanne zwischen Level 20 und Seherwerden (ohne KLs
kann man IMHO nicht unter Level 35 Seher werden) elendig lang wird.
Und nix ist frustrierender, wenn man merkt, dass man noch 700 AP
braucht, um dann endlich etwas neues entdecken zu koennen.

Deswegen mein Vorschlag: baut in den Gilden ein wenig um, damit
nicht ziwschen Level 20 und 35 nix geht...oder gebt 'grossen
Spielern' wenigstens ein paar Kleinigkeiten, die auch schon Spass
machen, z.b. Titel, Presay, Extralook, ...

Hangover
(der seinerzeit seh frustriert war, zwischen Level 19 und 37 nix
neues gelernt zu haben)

-----------------------------------------------------------------------------



Re^9: Seheranforderungen (Hardil, 13. Mar 1998, 11:38:41):
~#! rn=Arelion rt=889725366 rg=entwicklung
~#! tid=889663776

Wieso keine Diskussion ueber das Schulsystem?

Wenn ich mir anschaue, was so alles studieren darf, dann kann man ueber das
Schulsystem wirklich nichts ausser diskutieren. Leute, die ein Abi bekommen
haben, obwohl sie Mathe und/oder Deutsch abgewaehlt haben, und die dann nicht
mal
das kleine Einmaleins oder die grundlegenden Rechtschreib- und Grammatikregeln
kennen, sind meines ueberheblichen Erachtens nach fehl an der Uni.

Das MG derzeit erinnert mich eh stark an eine Schule, also einen Kindergarten
fuer praepubertaere. Weil der Lehrer (Sheriff) einigen Mitgliedern der
Foermchenbande ihre Sandschaufel wegnimmt, schlagen die Emotionen hoch.
Eigentlich solltet ihr das an der Schule gelernt haben: wer abschreibt und
sich dabei erwischen laesst, bekommt eins auf den Deckel. Bleibt sitzen. Oder
fliegt. Wer anders schummelt und sich dabei erwischen laesst, ebenfalls.
Die meisten von Euch sind jetzt an der Uni. Nun, der Unterschied zwischen
Schule und Uni ist der, dass ihr an der Uni keinen Entschuldigungszettel mehr
fuers Schwaenzen ausfuellen muesst. [(c) OStR. Urschel, Bio und Chemie, RAMA
MZ]
Hier isses genauso. Vielleicht sollte es irgendwann mal auffallen, dass
Jammern und Weinen nix nuetzt. Grossartige Vorschlaege machen, die keinem
ausser einem selber helfen, ist auch madig.

Wer sich angesprochen fuehlt, tut mir leid.

-Hardil.

------------------------
Zeitungslesen macht agressiv (c) Rantanplan '97

-----------------------------------------------------------------------------



Seheraufstieg (Gloin, 13. Mar 1998, 12:16:05):
Fuer viele Spieler ist es das Ziel, doch mal Seher zu werden. Und da
verfuehren die hohen Grenzen die etwas unbestaendigeren unter uns,
sich selbst zur Erfuellung ihres Wunsches den Spielspass zu nehmen.
Was also koennen wir dagegen tun ;-))) ? *altruism on*
Ich habe mich gestern ueberzeugen lassen, dass die APs dann doch fuer
neue Player etwas frustrierend sind, und Seher nun mal das 'Ziel' fuer
einen Player ist. Bei den steigenden Anforderungen geht es ja darum,
dass die Spieler auch was von MG gesehen haben sollen, dass ist aber
anscheinend ueber die Quests (da KLs) nicht erreichbar und die FP-
Grenzen scheinen auch mehr oder minder laecherlich, die hat man ja
mit den Quests schon drin.
Mahatma meinte, noch Killstupse in die Anforderungsliste aufzunehmen,
waere nicht schlecht, hat jedoch den Nachteil, dass man mit zwei, drei
geschenkten MegaKills schon alles drin hat. Ich faende als Alternative
dazu eine Art Post/Chilana-Prae-Seher-Quest nicht schlecht, fuer die
Nichtmetzler mit Freunden. D.h. es wird eine Liste von NPCs aufgestellt,
die da von Raptor, ueber Hobbit, ueber Feuerteufel, ueber Drakonier,
ueber Orkenhausenork, ueber Dunkelelfen etc.pp. geht, aus denen dann
ca. 20 rausgesucht werden, die Spieler mal besucht, nicht unbedingt
umgelegt haben muss. Eben eine Art Kaempfergildenquest auf Touristen-
art in Nichtunbedingtquestgegenden.

Idee: Einfrieren AP auf 1500, Einfuehren KillStupse||NPC-Besuchsliste
Ziel: erfahrenere Seher, weniger KL-Nutzung
uebergeordnetes Ziel: Spielspass :)

Gloin

-----------------------------------------------------------------------------



Seherwerdung (Larissa, 13. Mar 1998, 12:32:19):
Hoi,
wie waere es denn, wenn man zwei Alternativen zur Seherwerdung
anbietet: Einmal die 80%-Marke und zu anderen eine gewisse
Anzahl Pflichtquests.
Man koennte dabei sogar noch zwischen Metzel- und Bluemchenpfluckermethode
unterscheiden.

Lari.

-----------------------------------------------------------------------------



Re: Seherwerdung (Nixihou, 13. Mar 1998, 12:57:57):
~#! rn=Larissa rt=889788739 rg=entwicklung
~#! tid=889788739
um einmal etwas zusammenzfassen:

einmal gibt es die position, dass der Seherstatus fuer eine bestimmte 
Leistung verliehen werden soll. Diese leistung soll zB in einer bestimmten 
anzahl von AP, FP, NPC-Kills und XP liegen. 
Jeder der diese Leistung erbracht hat ist wuerdig ein Seher zu sein und 
bekommt also diesen status.

die andere position ist die, das ein Seher sich sehr gut im MG auskennen
sollte
und daher sollte er 80% aller questen gemacht haben, mehr FP haben als der 
durchschnitt, usw.
was bei dieser seherdefinition leider ausser acht gelassen wird ist:
- die anzahl der Questen veraendert sich, und die durchschnittliche anzahl 
  der FP aendert sich auch. (beides wird immer mehr)
und KEINEM spieler wird der seherstatus aberkannt wenn er die kriterien
nicht mehr erfuellt.
dies ist neuen spielern gegenueber extrem ungerecht, da sich die leistung
die erbracht werden muss um seher zu werden bestaendig erhoeht. 
ein uraltspieler aber nur eine erheblich geringere leistung fuer seinen 
seherstatus erbringen musste, sich dann aber nicht weiter kuemmern braucht
und unter umstaenden gar nicht mehr die kriterien "ein seher sollte sich im MG
gut auskennen" erfuellt.

welcher ansatz nun besser oder wuenschenswerter ist sei dahingestellt,
nur so wie es zur zeit ist birgt es viele ungerechtigkeiten und
wiedersprueche.

nixihou

ps: eine prae-seher metzel-quest vielleicht vom berufsverband der Jaeger 
    ausgerichtet waere vielleicht wirklich nicht schlecht. 
    




-----------------------------------------------------------------------------



Tod-Counter (Brodar, 13. Mar 1998, 13:04:20):
Wie waere es eigentlich mal, wenn man mit einen zusaetzlichen Befehl, oder mit
info auch eine Angabe erhaelt, wie lange man noch an einem Tod 'leidet'. Mir
wuerde es da reichen, eine ungefaehre Stundenangabe zu sehen!
Umsetzbar fragt Brodar ?
Umsetzbar fragt Brodar ?

-----------------------------------------------------------------------------



Re: Re: Seherwerdung (Yendi, 13. Mar 1998, 13:10:40):
~#! rn=Nixihou rt=889790277 rg=entwicklung
~#! tid=889788739
MHO:
Die Anforderungen fuer Seher sollten mit der Komplexitaet und Groesse des MUDs
steigen, denn schliesslich kann jeder Seher auch Magier werden, und die
sollten sich im Morgengrauen halt ein bisschen auskennen.
Dass dies dazu fuehrt, dass die heutigen Seher 20 Quests mehr machen muessen
als Freund oder Woelkchen damals ist nicht ungerecht den heutigen Sehern
gegenueber, sondern eine natuerliche Notwendigkeit:
In der Guten Alten Zeit brauchte man auch noch keinen Fuehrerschein, um seinen
Uralt-Benz fahren zu duerfen -- beklagt sich heute jemand darueber?

Ausserdem wurde vor geraumer Zeit der Notstand ausgerufen, weil die Magierflut
drohte -- wollt ihr jetzt eine Maximalhoehe fuer die Deiche festlegen?

Nein, wer Seher werden will, der soll auch getrost sein Quantum Zeit, Blut,
Schweiss und Traenen investieren, sonst wird dieser illustre Titel noch
inflationaerer als er schon ist.

Vielen Dank fuer ihre Aufmerksamkeit,
einen schoenen Tag noch.

Yendi der Nicht- und vermutlich Nie-Seher



-----------------------------------------------------------------------------



Re^3: Seherwerdung (Nixihou, 13. Mar 1998, 13:40:15):
~#! rn=Yendi rt=889791040 rg=entwicklung
~#! tid=889788739
naja, aber wenn schon die anforderungen um seher zu werden steigen... damit
genau die leute die magier werden koennen sich gut im mg auskennen, 
dann sollten uraltseher die seit 2 jahren nicht mehr im mg waren und sich 
dementsprechend eben NICHT GUT im mg auskennen auch nicht mehr seher 
sein duerfen und eben auch nicht magier werden duerfen... sonst hat ja 
das "sich gut im mg auskennen " kriterium seinen sinn verlohren.

nixihour

ps, nicht das ich ueberhaupt fuer die immer steigenden anforderungen waere....

-----------------------------------------------------------------------------



Re^3: Seherwerdung (Ark, 13. Mar 1998, 13:44:01):
~#! rn=Yendi rt=889791040 rg=entwicklung
~#! tid=889788739
Gut, auf lange Sicht hin wird dann die Zahl der Seher, und damit der
Magier, gegen Null gehen, denn ich haette heute nicht mehr den Nerv,
mich 40 oder mehr Online-Tage durch die Anforderungen zu kaempfen, um
Magier zu werden :-)
Wie gesagt, im Augenblick geht es vielleicht noch, aber je laenger man
in die Zukunft blickt, desto mehr wird die Anzahl der Seher
abnehmen (oder die der Scripter und KL-Benutzer zunehmen?!).
Is meine Meinung, ich hoffe, dass es nicht so weit kommt :-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^4: Seherwerdung (Felpur, 13. Mar 1998, 13:56:28):
~#! rn=Ark rt=889793041 rg=entwicklung
~#! tid=889788739
Bisher  war es immer so das man als Seher auch Magier werden kann. Wenn jetzt
einige meinen um Seher zu werden zu hohe Anforderungen zu haben dann koennte
man sie ja einfrieren oder so. Das Argument"Magiere sollten sich im MG
auskennen" ist natuerlich richtig. Wie waer es denn dann mitr einer getrennten
Anforderung. In dem Sinne, wer Seher ist muss dann noch einen bestimmten
Prozentsatz an Quest loesen und entsprechend viele FP's etc. haben um Magier
zu werden. Wenn einer unbedingt dann Magier werden will muss er sich halt die
Zeit nehmen und alle Quest machen um sich im MG auszukennen. Ich denke wer
Seher ist sollte dann nicht auch gleich Magier werden koennen.

Ciao.
FP.

-----------------------------------------------------------------------------



Re^5: Seherwerdung (Ark, 13. Mar 1998, 13:59:43):
~#! rn=Felpur rt=889793788 rg=entwicklung
~#! tid=889788739
Nur weil man ein paar Questen gemacht und FP gesammelt hat, kennt man
sich nicht aus! Je mehr Anforderungen, desto mehr KL und Scripter sind
unterwegs, desto unsinniger sind die hohen Anforderungen, da man sich
doch nicht gut auskennt, oder? Hab jetzt mal schnell weitergedacht :-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Seher <-> Magier (Gloin, 13. Mar 1998, 14:07:32):
Ich denke, dass der Seherstatus als Sprungbrett fuer den Magier hat sich
totgelaufen. Wer kann denn heute noch behaupten, MG zu kennen? Wenn es
auch immer mal wieder Gegenden gibt, in die ich mich verirre, den heiss-
geliebten Topspieler ratlos anschaue und er mir sagt: 'Das habe ich mir
noch nie angeschaut.' ? (Ja, ich nehme Mahatma mal als Mass aller Seher)
Ich seh die Seher eher als ein Club von erfahreneren Spielern. Und das
hat man sich irgendwann mal verdient. Und die Anforderungen, dem Club bei-
treten zu koennen stehen hier zur Diskussion.

Gloin

-----------------------------------------------------------------------------



Re^6: Seherwerdung (Ratz, 13. Mar 1998, 18:43:14):
~#! rn=Ark rt=889793983 rg=entwicklung
~#! tid=889788739
Hi,
Eine Anmerkung: Neben den hoeheren Anforderungen sind eventuell
auch die Moeglichkeiten und Leistungen der Spieler groesser geworden.
Erinnert sei hier als Beispiel nur die moderneren clients und die 
Moeglichkeit mehr aktive Spieler als frueher zu fragen (Kanaele etc.).
Interessant waere daher eher der vergleich in welchen online Zeiten die Leute
heute und frueher Seher wurden. 
heute und frueher Seher wurden. 

-----------------------------------------------------------------------------



Zwischenstufe (Ratz, 13. Mar 1998, 18:53:37):
Fuer Spieler, welche nicht unbedingt Questen wollen, ist doch extra 
die Moeglichkeit eroeffnet worden auch Level groesser 20 zu erreichen.

Um allerdings die Spieler auf dem langen, muehsamen Weg zum Seher bei 
Laune zu halten koennte man ja auf halbem Wege eine neue Ziellinie 
abstecken. Wenn man diese erreicht gibt es einen Bonus.
Eine neue faehigkeit oder auch das sehen der seher Portale koennte Belohnung
sein

Gruss ratzfatz Ratz

-----------------------------------------------------------------------------



Re^7: Seherwerdung (Sting, 13. Mar 1998, 18:56:32):
~#! rn=Ratz rt=889810994 rg=entwicklung
~#! tid=889788739
Hm, also eigentlich wollte ich in diese wieder mal null bringende Diskussion
nicht eingreifen, aber jetzt muss ich doch mal was sagen: Ich denke die
80%-AP-Regelung ist ziemlich gut weil:
a) Den neuen Sehern/Seherinnen bringt es ja auch was, wenn sie mehr Questen
muessen, weil es auch Erfahrung mit sich bringt (wer die nicht will/braucht,
nagut..)
b) Der wichtigste Punkt, wo ich mich sowieso wundere das der noch nicht
gefallen ist (vor allem von Magierseite) ist: Umso mehr Questen die neuen
machen muessen, umso mehr HLP werden sich fragen, ob sie noch Zweities machen
sollen, da  der Aufwand immer groesser wird. Zumindest mir waere es mit der
Zeit zu bloed fuer nen Zweitie soviele Questen zu spielen...


Sting

-----------------------------------------------------------------------------



Re^8: Seherwerdung (Yendi, 13. Mar 1998, 18:59:46):
~#! rn=Sting rt=889811792 rg=entwicklung
~#! tid=889788739
Ist die neue Sprachregelung an mir vorbeigegangen?
Seit wann sind Zweities automatisch Seher?

Zu _meiner_ Zeit 
*huestel*
waren Zweities Zweitspielercharaktere. Zugegeben, Charaktere scheint es immer
weniger zu geben, aber den Begriff "Zweitie" dann auf Seher zu begrenzen geht
doch vielleicht etwas weit, hmmmm?
Oder handelt es sich dabei um den Zweit_magier_ eines Sehers?


-----------------------------------------------------------------------------



Re^9: Seherwerdung (Sting, 13. Mar 1998, 19:00:52):
~#! rn=Yendi rt=889811986 rg=entwicklung
~#! tid=889788739
Du hast mich missverstanden... Das Ziel eines jeden HLP der einen Zweitie
machen will, ist diesen Zweitie zum Seher zu machen (ganz klar). Und das wird
umso mehr Questen es gibt, immer muehsamer... Verstanden ?


Sting

-----------------------------------------------------------------------------



Re^8: Seherwerdung (Gloin, 13. Mar 1998, 19:02:40):
~#! rn=Sting rt=889811792 rg=entwicklung
~#! tid=889788739
Aber genau darum dreht sich ja die Diskussion: Die APs als Kriterium
sind unzureichend. Wer sich einen Seherzweitie zuechten will, den
interessiert das ganz und gar nicht -> *script* *script* und die
neuen Player jagen evtl. KLs durch und sehen dann erst recht nichts.
D.h. der Seher von heute ist nicht mehr die Qualitaetsarbeit von
gestern, auch wegen der groesseren externen Hilfestellung. Und
daher plaedier ich fuer ... och, s.o. ...

Gloin

-----------------------------------------------------------------------------



Re^10: Seherwerdung (Yendi, 13. Mar 1998, 19:03:39):
~#! rn=Sting rt=889812052 rg=entwicklung
~#! tid=889788739
Ganz klar... Klar... Das genau war ja meine Frage.
Aber danke.

O tempora...


-----------------------------------------------------------------------------



Re^9: Seherwerdung (Sting, 13. Mar 1998, 19:04:19):
~#! rn=Gloin rt=889812160 rg=entwicklung
~#! tid=889788739
STOEHN, Ich wusste warum ich mich  solange nicht eingemischt habe...
Ich meinte damit doch nur: LASST die 80% AP-Grenze als Seherkriterium (die
wollten einige ja niedriger machen oder festsetzen), ueber neue Sachen warte
ich einfach mal ab...

Sting
Sting
PS: Es war nur ein Sting gewollt.

-----------------------------------------------------------------------------



Re^10: Seherwerdung (Acrimon, 13. Mar 1998, 19:39:15):
~#! rn=Sting rt=889812259 rg=entwicklung
~#! tid=889788739
~d waere die Loesung Deines Problems gewesen, Sting.
~h zeigt noch andere Problemloesungsmoeglichkeiten.

-----------------------------------------------------------------------------



Re^10: Seherwerdung (Dhojakt, 13. Mar 1998, 19:58:16):
~#! rn=Sting rt=889812259 rg=entwicklung
~#! tid=889788739
Ich hab damals die 22 von 25 quests (oder so aehnlich) zum seher in 15
onlinetagen durchgepruegelt (anders kann ich das heute nich nennen),
mit 2 KLs, weil ich unbedingt Seher werden wollte.
Dann halt noch in den naechsten 3 Monaten die restlichen Quests und den
groessten Teil der Gebiete angesehen, und dann brach die grosse Langeweile
aus.
Ich haette mir eher ne 60%-Grenze gewuenscht, so dass man als Seher nicht
alsbald 'arbeitslos' ist. Das mag heut nicht mehr ganz so extrem zutreffen
weil es mehr Gebiete gibt, aber so ganz bin ich nicht fuer ne so hohe
Grenze der AP.
Dann lieber die etwas runtersetzen und dafuer nochn paar Erstkills
verlangen (dabei aber beachten, dass so einige Monster fuer Spieler zu
schwer bzw nur in der Parawelt sind).
Nur mal so mein Senf dazu, Khidar.

-----------------------------------------------------------------------------



Re^11: Seherwerdung (Acrimon, 13. Mar 1998, 20:04:29):
~#! rn=Dhojakt rt=889815496 rg=entwicklung
~#! tid=889788739
Ich hab Ende 1994 angefangen und bis August 1995 ca 39 Onlinetage gebraucht
fuer 29 Abenteuer (ca. 1295 AP), dann bin ich Seher geworden.
Ich hab mich allerdings auch sehr viel mit den Kanaelen und der mpa vergnuegt.

Acrimon, der Rote Ritter

-----------------------------------------------------------------------------



Re: Seherwerdung (Gnome, 13. Mar 1998, 22:28:50):
~#! rn=Larissa rt=889788739 rg=entwicklung
~#! tid=889788739
hi,
ich antworte jetzt einfach auf irgend einen artikel... :)
zur sache:
zu gloin, artikel 255:
"...waere nicht schlecht, hat jedoch den Nachteil, dass man mit zwei, drei
geschenkten MegaKills schon alles drin hat..."
- nicht unbedingt. wenn man von der ANZAHL der kills ausgeht, nicht von den
  EK-pkt., dann ist es egal, ob man die tigonen oder die goblins metzelt.
  da es genug EKs im MG gibt, muss man diese anzahl entsprechend hoch-
  schrauben. wurde aber irgendwann schon mal erwaehnt.

zu nixihou, art. 257:
"...und KEINEM spieler wird der seherstatus aberkannt wenn er die kriterien
nicht mehr erfuellt..."
- genau. und so sollte es auch bleiben. wenn beispielsweise ein uraltseher
  sich nach 500 d mal wieder einloggt und er bemerkt, dass er kein seher
  mehr ist, wird er sich genauso schnell wieder ausloggen. zu seiner zeit
  hat er die seherkriterien erfuellt und nun sollen sie ihm wieder aberkannt
  werden? dagegen. er wird schon selber merken, dass er sich nicht mehr so
  gut auskennt wie frueher und wird (oder auch nicht) was dagegen tun.

zu yendi, art. 259:
"...und die [magier] sollten sich im Morgengrauen ein bisschen auskennen..."
- teilweise hast du recht. jeder magier kennt sich ein bisschen (oder besser
  sollte sich ein bisschen) im MG auskennen, wenn er was proggen moechte.
  ich gehe mal davon aus, dass das auch bei vielen so ist, wenn er nicht
  grade den beruf eines verlegers hat :)=
  aber: man kann nicht davon ausgehen, dass sich jeder magier wirklich sehr
  gut im MG auskennt, dafuer ist es einfach zu gross. nicht mal top-seher
  kennen alles. und jedem magier DIESES zur auflage zur machen, ist voellig
  unmoeglich, unnoetig und vergrault uns nur mags, die wirklich gut proggen
  koennen.

da ich auch finde, dass 80% der AP als seherkriterium mit zunehmenden quests
recht hoch, abschreckend und einseitig ist, koennte man durchaus ueber
ein neues kriterium nachdenken.
vorschlag:
  1. einfrieren der APs auf >1500 und <2000
  2. festlegung auf eine anzahl von EKs zwischen 50 und 100
  3. anzahl EPs auf 5 Mio. anheben
  4. das "sich auskennen" um eine stufe erhoehen

das erstmal dazu :)
dann haett ich noch einen anderen, neuen vorschlag, damit das mud-leben
nach der seher-werdung (uaahhh... was fuer ein wort :) nicht allzu lang-
weilig wird...
wie waere es mit einer neuen stufe fuer hohe seher? so ala "Weiser" oder so.
ich weiss, dass diese bezeichnung schon fuer manche mags vergeben ist,
vielleicht faellt jmd. eine bessere ein?
die neuen vorteile dieser stufe:
- eigener kanal
- eine art goto-befehl (aber sehr eingeschraenkt, also nicht im kampf an-
  wendbar, kosten: 50 MP, nur alle 15 min anwendbar etc)
- verringerung der kosten der gilden-spells
- ... ?

voraussetzungen:
- 95% aller APs (auch von den optionalen)
- mind. stufe 60
- 100 Mio. EPs
- mind 200 EKs
- ... ?

ist mal so eine idee... was haltet ihr davon?

gnOme

-----------------------------------------------------------------------------



Re: Re: Seherwerdung (Dhojakt, 14. Mar 1998, 02:12:55):
~#! rn=Gnome rt=889824530 rg=entwicklung
~#! tid=889788739
Also 5 Mio EPs halte ich fuer Unsinn. Das foerdert nur einseitiges
'Rundenrennen' zwischen 3 Plaetzen wie frueher fuer die 100 Mio EPs bei den
Karateka.
Auch waere stark zu ueberlegen, ob man so ne hohe EPzahl fuer den Superseher
fordern sollte (ich denke nein, auch wenn ich die innerhalb relativ kurzer
Zeit zusammenhaben koennte) - das ist nur stupides Metzeln immer derselben
Monster.
Als Stufe waere eigentlich 60 fuer sowas zu niedrig, auch wenns dann wieder
die Altseher wie mich trifft, 75 waere im Moment angemessener.
Und zuletzt ne persoenliche Bemerkung: Mir waeren staerkere/langanhaltendere
Spells lieber als billigere, aber das muss man mal sehen.
Khidar.

-----------------------------------------------------------------------------



Re^3: Seherwerdung (Dhojakt, 14. Mar 1998, 02:20:16):
~#! rn=Dhojakt rt=889837975 rg=entwicklung
~#! tid=889788739
Achja, wo wir grad mal dabei sind: Eine kleine Einrechnung allgemeiner Skills
mit 20 STP pro 100% Skill (Wurfsterne, Warokklettern, was weiss ich...) waere
evtl auch nicht zu verachten. Schliesslich ist das auch wieder was, was man
kann.
Khidar.

-----------------------------------------------------------------------------



Re^10: Seheranforderungen (Lug, 14. Mar 1998, 02:21:26):
~#! rn=Hardil rt=889785521 rg=entwicklung
~#! tid=889663776
Hm,

Bah Humbug!

Laengere Antwort auf das Geblubber braucht es nicht.
Lug

-----------------------------------------------------------------------------



Re^4: Seherwerdung (Lug, 14. Mar 1998, 02:24:15):
~#! rn=Nixihou rt=889792815 rg=entwicklung
~#! tid=889788739

Klar Nix,

dabei vergisst Du dann mal eben, dass die Opiseher fuer alte Questen keine FP
haben.

Sowas war ja abzusehen.
Lug

-----------------------------------------------------------------------------



Re^4: Seherwerdung (Silvana, 14. Mar 1998, 18:51:51):
~#! rn=Dhojakt rt=889838416 rg=entwicklung
~#! tid=889788739
Das ist erst moeglich, wenn es eine allgemeingueltige Loesung fuer diese
Skills gibt. Ich bastel dran, aber wird noch nen Weilchen dauern.

  Silvana

-----------------------------------------------------------------------------



Re^10: Seheranforderungen (Key, 15. Mar 1998, 00:51:57):
~#! rn=Hardil rt=889785521 rg=entwicklung
~#! tid=889663776
Hmm sorry Hardil ... aber das studium hat fuer mich was mit intelligenz zu tun
... und die deutsche grammtik eher was mit bloedem pauken ...
Naja ... oki das einmaleins sollte man schon koennen :)
Aber Schulnoten sagen nichts ueber die Inteligenz eines Menschens aus ....
Ueberhaupt nichts.
Und auf die Inteligenz kommts beim Studium an.
Ich muss nur mal einen meiner Doktoren (Physik) ansehen .... Dem ist die
deutsche Sprache auch so ziemlich schnurz ... aber der hats in Physik drauf,
und darauf kommts bei ihm an ....

Key, kein Abi, kein Studi, aber absolut gegen solche Meinungen :)

-----------------------------------------------------------------------------



Re: Seheraufstieg (Key, 15. Mar 1998, 00:54:56):
~#! rn=Gloin rt=889787765 rg=entwicklung
~#! tid=889787765
Das hilft auch nix gegen das Wurstsehertum ...
Dann ham wir hier nur einige die rumschreien man solle sie zu dem Ork oder
sonstwas bringen ... nach moeglichkeit natuerlich jeden einzelnen schritt
sagen ...

Helfen tut meiner Meinung nur eins .... Den Anfaengern das mudden richtig
zeigen. Das gilt fuer alle Seher ...
An jedem Wurstseher den wir hier haben sind wir mehr oder weniger mit
schuldig.

Key

-----------------------------------------------------------------------------



Re: Re: Seherwerdung (Key, 15. Mar 1998, 00:57:38):
~#! rn=Nixihou rt=889790277 rg=entwicklung
~#! tid=889788739
Ahhja ... klar ... und als Altseher beschwere ich mich dann darueber das ich
alles doppelt machen muss ...

Key, kurz, knapp, buendig.

P.S.: Hmm die XP grenze zum Seher werden sollte mal steigen ... die ist seit
ewigkeiten auf 1 mio ... damals erreichte man das ja noch nicht nur mit
questen ... heutzutage bekommt man das doppelte wenn man nur die quests macht
die zum seher benoetigt werden.

-----------------------------------------------------------------------------



Re: Seher <-> Magier (Key, 15. Mar 1998, 01:03:40):
~#! rn=Gloin rt=889794452 rg=entwicklung
~#! tid=889794452
Hmm club ....
Es ist einfacher Seher vom Lvl her zu werden als als Seher anerkannt zu werden
... Denn zur Annerkennung brauch man mehr als quests :)

Key

-----------------------------------------------------------------------------



Re: Re: Seher <-> Magier (Lug, 15. Mar 1998, 01:04:52):
~#! rn=Key rt=889920220 rg=entwicklung
~#! tid=889794452
Aeh Key?

Man braucht nen Sehervertrag!

FidKG
Lug

-----------------------------------------------------------------------------



Re: Re: Seherwerdung (Key, 15. Mar 1998, 01:13:00):
~#! rn=Gnome rt=889824530 rg=entwicklung
~#! tid=889788739
Hmm also mit Deinen Punkten 1-3 bin ich auch einverstanden ...
Aber das erhoehen der FP? Sorry ... aber fp sind fuer mich immernoch
mudfeindlich .... Man ist gezwungen alleine irgendwas zu untersuchen und ist
oft gefrustet weil man keine Auswirkungen sieht ...
Metzeln kann man immer mit mehreren machen, die meissten Quests auch, bei
denen wo es net geht wuerde ich es begruessen wenn es dementsprechend
geaendert wird ... .)

Key, Gegner der FP, deutet auf das M im Wort MUD ... das steht irgendwie fuer
Multi und nicht fuer einsames alles unt nach fp ... .)

-----------------------------------------------------------------------------



Re^11: Seheranforderungen (Grimmborn, 15. Mar 1998, 01:17:20):
~#! rn=Key rt=889919517 rg=entwicklung
~#! tid=889663776
Und das Studium sagt Deiner Meinung nach was ueber Intelligenz aus? Aber auch
nur begrenzt, wuerde ich sagen. Sehr begrenzt.

GdA

-----------------------------------------------------------------------------



Re: Laden (Key, 15. Mar 1998, 01:18:25):
~#! rn=Deepblue rt=888578273 rg=entwicklung
~#! tid=888578273
Hmm stimmt .... auch nicht mehr so unebdingt ....

Hey jetzt hoer auf zu posten ... ich denk du waerst blau!_

Key

-----------------------------------------------------------------------------



Re: Zwischenstufe (Tarina, 15. Mar 1998, 03:47:08):
~#! rn=Ratz rt=889811617 rg=entwicklung
~#! tid=889811617
Also ich wuerd mich dafuer bedanken, wenn ich die Seherportale sehen koennte,
sie aber nicht benutzen duerfte. Das, was mich angespornt hat, seher zu 
werden, war die Moeglichkeit, nach Toeters Insel hinspringen zu koennen.
Bewegungsmeldunen, Outfit usw. war mir alles voellig schnurz.
Auf Schiffe und Umsteigen und rumwarten und nichts sinnvolles in der zeit
machen zu koennen, das hat mich genervt ohne Ende.
Wenn ich die Portale mit sagen wir 1300 AP haette nutzen koennen, haette ich
mir die vielen Quests hintereinander nicht angetan. Dafuer konnte ich nach
der Seherwerdung auch keine Quests mehr sehen. Schade eigentlich, denn im
Anfang haben mir Quests Spass gemacht.

Aus diesen Erfahrungen heraus wuerde ich es begruessen, wenn man auch
das Seherwerden in Stufen einteilen wuerde.

Gruss,
Tarina

-----------------------------------------------------------------------------



Re: Re: Zwischenstufe (Zuerileu, 16. Mar 1998, 07:08:28):
~#! rn=Tarina rt=889930028 rg=entwicklung
~#! tid=889811617
Hallo,
Wie waer es wenn man die Anforderung einfrieren wuerde, das waer fair fuer
neue Spieler, man aber eine Zeitbeschraenkung einbaut um zu verhindern das
Leute mit KL's und Triggern die Quest durchhaemmern. Ich stell mir das so vor
das man die heutigen Anforderungen erfuellen muss und mindestens 50 Tage alt
sein oder mehr. Halt das keiner schon in 20 Tagen oder so Seher bezw. Magier
werden kann. Die Grenze sollte halt so hoch sein wie ein durchnschnittlicher
Spieler diese Anforderungen erfuellt. 
So loest ihr auch das Magierflutproblem, denke ich mal und keiner wird wohl 50
Tage ideln der waere irre, aber das Problem koennte man ja dann schnell
loesen, mehr als ein Tag idlen (muss ja eh keiner) rauswurf oder so =:)

Tschau Alain

-----------------------------------------------------------------------------



Re^3: Zwischenstufe (Embe, 16. Mar 1998, 07:13:43):
~#! rn=Zuerileu rt=890028508 rg=entwicklung
~#! tid=889811617
im zeittunnel geht das irgendwie, das ma ab einer halbenstunde idlezeit nicht
mehr altert...

dann bin ich aber die l"angste zeit auf der topliste gewesen :-)

gruss, eMBee.

-----------------------------------------------------------------------------



Re^3: Seherwerdung (Hobo, 16. Mar 1998, 08:30:27):
~#! rn=Key rt=889919858 rg=entwicklung
~#! tid=889788739
Klar, als X-tie vielleicht.
Sobald man aber einige der Quests ein erstes Mal spielt, stirbt man oefters
mal. Und natuerlich umso oefter, je naeher man dem Sehertum kommt.
Mein kleine bloeder Seherzweitie hat doch tatsaechlich noch metzeln muessen,
nachdem er alle Questanforderungen erfuellt hatte!

Hobo - spielt Bluemchenpfluecker (und programmiert fuer die)

-----------------------------------------------------------------------------



Re: Re: Seherwerdung (Yendi, 16. Mar 1998, 11:03:46):
~#! rn=Gnome rt=889824530 rg=entwicklung
~#! tid=889788739
> wie waere es mit einer neuen stufe fuer hohe seher? so ala "Weiser" oder so.
 
Dagegen! Zumindest nicht unter _dem_ Namen, dann gaebe es naemlich
Spieler-Weise, Seher-Weise und Magier-Weise, was nicht gerade den Durchblick
foerderte...
 
Yendi, der letzte Weise


-----------------------------------------------------------------------------



Re^3: Seherwerdung (Smurf, 16. Mar 1998, 11:32:29):
~#! rn=Key rt=889919858 rg=entwicklung
~#! tid=889788739
Die Million XPs fuer den Seher kriegt man aber auch nur dann,
wenn man bei den ganzen Quests nicht aus Versehen draufgeht.
Und bei manchen Quests ist es gar nicht so einfach...

Smurf, ist zB bei Pandora auch reingerasselt...

-----------------------------------------------------------------------------



Re^4: Seherwerdung (Key, 16. Mar 1998, 13:02:42):
~#! rn=Smurf rt=890044349 rg=entwicklung
~#! tid=889788739
Die millionen galten aber auch schon zu zeiten wo man nur knapp ueber 1000 ap
brauchte ...
wenn mann dann mal drueber nachdenkt das man heutzutage das doppelte braucht,
aber immernoch genausoviele epse, und auch noch weiss das man fuers questen
auch epse bekommt, fragt man sich doch hin und wieder: Wieso? 
Nur weils primaer ein Questmud ist?
Weil kein Spieler dazu gezwungen werden soll zu questen?
Nein ich will jetzt nicht diese Diskusion schon wieder aufrollen ...
Aber ich glaube die meissten Luschenseher entstehen halt dadurch das sie
nurnoch rumrennen, wie bloede alles unten, und von einer quest zur naechsten
rennen ohne zu merken was um sie herum pasiert.

Das ist, bzw war beim metzeln anderst ... durchs metzeln (und auch durchs
sterben, jaja) hab ich die meissten meiner Freunde kennengelernt, und durch
die das mud ....

Naja meine Meinung ;)

Key

-----------------------------------------------------------------------------



Re: Re: Seherwerdung (Alpha, 16. Mar 1998, 16:06:07):
~#! rn=Gnome rt=889824530 rg=entwicklung
~#! tid=889788739
Wah? Einfrieren der APs auf >1500? Ich will nicht wissen, auf welcher Stufe
man angekommen ist, wenn man 1500 AP OHNE KL gemacht hat...Dann kann man doch
gleich zum Seherweisen ueberwechseln und den normalen Seher ueberspringen. Ich
bin fuer Stufe 40 als Anforderung, das haette noch nen Reiz fuer mich, aber
wenn ich die 742 AP vor mir sehe, die ich brauche um meine 1552 APs fuer den
Seher zusammenzukriegen, dann gebe ich die Hoffnung aufs Seherwerden eh auf.
Alpha.

-----------------------------------------------------------------------------



MPA (Rochus, 16. Mar 1998, 17:45:52):
Bei Artikel 253/293 habe ich versprochen, "verbrenne MPA" einzubauen.
Ich habe mein Versprechen gehalten. :-)


  Rochus

-----------------------------------------------------------------------------



Verkauf von verfluchten Gegenstaenden (Overlord, 16. Mar 1998, 20:12:29):
Also ich bin bei Owen Braddon gelinkt worden und bekam einen verfluchten Ring
angedreht bekommen. Koennte man das nicht umproggen? Das finde ich oberlink.

Ovi, mal ganz dezent nachhakend

-----------------------------------------------------------------------------



Re^5: Seherwerdung (Wurzel, 16. Mar 1998, 21:27:24):
~#! rn=Key rt=890049762 rg=entwicklung
~#! tid=889788739
hm... alle die nicht metzeln sind luschen?
tut mir leid, aber ich sehe das hier nicht als metzelmud. und ich bin gegen
alle bestrebungen, aus dem mg ein solches zu machen.
diese arroganz, die aus solchen toenen spricht, kotzt mich ziemlich an. aber
wahrscheinlich kann man nichts dagegen machen. kinder sind nunmal so...

wurzel (trau keinem unter 30)

-----------------------------------------------------------------------------



Re^6: Seherwerdung (Lug, 16. Mar 1998, 23:28:26):
~#! rn=Wurzel rt=890080044 rg=entwicklung
~#! tid=889788739

Aeh Wurzel?

Warum unterstellst Du eigentlich key etwas, was sein Artikel nicht aussagt?
Er wendet sich lediglich gegen Einseitigkeit, so sehe ich das lediglich.
Es gibt viele Wege im MG Spass zu haben. Einige moegen nur das Questen, andere
das Metzeln und wieder andere beides. Was spricht dagegen?
Kann doch jeder gluecklich werden ohne das man kuenstlich versucht eine Gruppe
zu behindern oder gar zu verdraengen.
Das MG ist ein Questmud? Quark. Das MG ist ein Metzelmud? Quark.
Lies mal den Grimmborn Artikel, ich glaub in Seher.Entwicklung, um Thema
"Schwerpunkte setzen".
Das kaeme allen Seiten entgegen.

Ueber soviel Intoleranz den Kopf schuettelnd 
Lug

P.S.: Prog doch fuer die Klerikergilde ;)

-----------------------------------------------------------------------------



Re^3: Seherwerdung (Gwynwaiter, 17. Mar 1998, 01:04:03):
~#! rn=Yendi rt=889791040 rg=entwicklung
~#! tid=889788739
Also Yendi, dass mit der "natuerlichen Notwendigkeit" mehr Quests zu machen,
damit alle Seher und Magier sich im MUD auskennen - 
...dass das wegen der bisherigen Seher und Magier nicht klappt, haben ja
inzwischen schon andere Dir erklaert. Dann muessten naemlich alle Seher
staendig neue Quests machen, und ihre AP und FP erhoehen - oder ihren Seher
oder gar Magier-Status verlieren.

Wer will das? Anders gefragt: Wenn das keine r will, dann ist die Begruendung
doch auch fuer die Neumagier hinfaellig, oder?

Aber ich will bei Deinem Fuehrerscheinbeispiel bleiben. Du schreibst, in alten
Zeiten haette man seinen Benz auch ohne Fuehrerschein fahren duerfen, und
heute wuerde sich auch keiner beschweren.
Na, nehmen wir doch lieber den Mofa-Fuehrerschein. Meinst Du nicht, auf den
koennte so mancher heute trotzdem verzichten, obwohl es den heute gibt?

Oder besser noch: Wenn jedes Jahr mehr Pflichtstunden bei der Fahrschule
verlangt wuerden, sagen wir 1995 zehn Pflichtstunden, 1997 zwanzig, 1998
dreissig - mit der Begruendung, dass es jetzt einfach mehr Strassen gibt als
frueher, auf denen noch mehr Schilder aufgestellt sind...  und ein Autofahrer
sich ja auskennen muss...

So, genau so, kommt mir Deine Begruendung vor, Yendi. Muss jeden Winkel der
Wueste kennen, wer an den Inseln mitprogrammieren will? Vielleicht. Ich bin
mir allerdings nicht so sicher...  Wir nehmen uns da auch Moeglichkeiten.

Gruss, Gwyn* ((gestaltet laengst woanders mit, wo er nicht erst metzeln
musste, dafuer ein sechzig-Seiten-Handbuch lesen))

-----------------------------------------------------------------------------



Re^6: Seherwerdung (Zuerileu, 17. Mar 1998, 06:31:57):
~#! rn=Wurzel rt=890080044 rg=entwicklung
~#! tid=889788739
Hi,
Sorry Wurzel aber ich finds ziemlich arrogant Leuten vorzuschreiben wie Sie
spass haben sollen, wenn jemand hier metzeln will dann soll er doch sein Spass
am metzeln haben und man muss ihm das nicht immer vermiessen wollen.

Tschau Alain

-----------------------------------------------------------------------------



Re^6: Seherwerdung (Key, 17. Mar 1998, 08:36:10):
~#! rn=Wurzel rt=890080044 rg=entwicklung
~#! tid=889788739
*grins* Wurzelchen keine arroganz :)
Ich bin nur einfach der Meinung das man vor allem durchs metzeln in kontakt zu
anderen kommt.
Oder wieviele Quests kennst du die man zu zweit machen kann? Ich hab es
letztens versucht, 2 Seher hochzuziehen die immer zur gleichen Zeit die
gleiche Quest machen .... das ist leider nicht moeglich. Also sind Quest nicht
gerade Multi-freundlich.
Fast das gleiche gilt fuer die FP Suche ....

Und wer keinen so grossen Kontakt hat zu den anderen Spielern wird auch nicht
das MUD als solches begreifen ... Logisch oder?

Nur meine Meinung und Erfahrung :)

Key

-----------------------------------------------------------------------------



Re^7: Seherwerdung (Wurzel, 17. Mar 1998, 23:16:15):
~#! rn=Lug rt=890087306 rg=entwicklung
~#! tid=889788739
hast du schwierigkeiten mit dem lesen-skill?
ich wende mich dagegen, dass leute die nicht metzeln als luschen abgetan
werden. sonst nix.

wurzel

p.s. klerikergilde? ich? da scheinst du irgendwas nicht verstanden zu haben :)

-----------------------------------------------------------------------------



Re^7: Seherwerdung (Wurzel, 17. Mar 1998, 23:21:42):
~#! rn=Key rt=890120170 rg=entwicklung
~#! tid=889788739
kontakt kann man auch zu anderen haben, ohne zu metzeln. ueber "teile mit"
kann man sogar mit anderen reden, ohne dass sie direkt neben einem stehen,
falls du das noch nicht gemerkt haben solltest.
ein grossteil des kontakts, den meine "mudspione" hier haben, geht ueber
quests bzw. hilfen dazu, fragen etc... so kann man auch sehr effizient
leute kennenlernen.
kills sind in aller regel auch nicht "multi-freundlich", da nur der killer
die stupse bekommt, helfer eben nicht. 

wurzel

-----------------------------------------------------------------------------



Re^8: Seherwerdung (Key, 18. Mar 1998, 08:52:35):
~#! rn=Wurzel rt=890173302 rg=entwicklung
~#! tid=889788739
Kurz gesagt: Interessieren mich stusse? :)
Und zu den Zeiten von denen ich sprach gabs nur epse dafuer ;) Die waren mir
auch egal ;)

Hah! Mudspione :) Das war die Info die ich wollte =;))))

Key schmarrnd weil er es nimmer ernstnehmen kann :)

-----------------------------------------------------------------------------



Re^8: Seherwerdung (Lug, 19. Mar 1998, 00:49:04):
~#! rn=Wurzel rt=890172975 rg=entwicklung
~#! tid=889788739
Aeh,


lesen? Wasndes? Ich kann nichtmal schreiben!
Klar Klerikergilde ;)
Lug

-----------------------------------------------------------------------------



Zeitung lesen (Teddy, 19. Mar 1998, 13:19:08):
Hiho,

beim Zeitunglesen ist mir heute leider wieder was aufgefallen:
Artikel nochmal lesen will und in nem unbeleuchteten Raum stehe, kommt immer
die Meldung dazu ist es zu dunkel.Wenn ich nen alten 
nn funktioniert aber problemlos.
Koennte man nicht doch den lies-Befehl fuer die Zeitung umbenennen und dieses
Problem damit umgehen.
Gleichzeitig wuerde dann auch das andere Problem: lies schild Welchen Artikel
willst du lesen? umgehen

Teddy

-----------------------------------------------------------------------------



Re: Zeitung lesen (Patryn, 19. Mar 1998, 13:21:15):
~#! rn=Teddy rt=890309948 rg=entwicklung
~#! tid=890309948
man sollte die eher das "nn" dahingehend aendern, dass es im dunkeln auch
nicht funktioniert :)

------
patryn

-----------------------------------------------------------------------------



Re: Re: Zeitung lesen (Teddy, 19. Mar 1998, 13:34:14):
~#! rn=Patryn rt=890310075 rg=entwicklung
~#! tid=890309948
Darum gings nicht, da ich aber mal wieder auf die Hilfeseiten hingewiesen
wurde, hat sich das Problem erledigt.

Teddy zieht diesen Beitrag dann mal zurueck

-----------------------------------------------------------------------------



Betr. Scripte (Orktoeter, 19. Mar 1998, 13:43:56):
Also, da man ja nun beim einloggen aufgefordert wird, seine Meinung kundzutun
:

Ich finde, Laufmakros sollten (inclusive oeffne tuer und folge Hund etc)
erlaubt sein.
Ferner sind (spez. fuer Kaempfer) die Rein, aktion/en, Raus kampfmakros schon
recht wichtig und so ein makro stoert mich auch nicht.
 
Was dagegen stoert sind Vollscripte und Leute, die auf Sachen wie "Faellt tot
zu Boden" triggern. Oder die reinkommen und alles nehmen (ohne zu fragen) und
wenn man sie anspricht haben sie schon alles im naechsten Laden verkauft ..
(nein, ich bin kein script, das habe ich von hand eingetippt..) jaja..

Wie das letzendlich kontrolliert und ueberwacht werden soll steht auf einem
anderen Blatt..


OrkT's Meinung zu Scripten.

-----------------------------------------------------------------------------



Re: Betr. Scripte (Key, 19. Mar 1998, 14:45:01):
~#! rn=Orktoeter rt=890311436 rg=entwicklung
~#! tid=890311436
Hmm ueberwachen schwer ...
Aber wieso verlaesst man sich nicht einfach auf die Spieler?
Wenn sich einer durch nen script gestoehrt wird (wie dieses nimm alels und ab
verkaufen) Dann beschwert der sich einfach bei nem mag und der typ bekommt ne
verwarnung ....
Naja das prob ist dann nur wem man glauben soll .)

Key

P.S.: Wobei das bei nem mag beschweren auch schon vor diesen ganzen Regeln
prima klappte ...

-----------------------------------------------------------------------------



Max-Laenge des inventories (Yendi, 19. Mar 1998, 15:01:28):
Gibt es eine Maximalgroesse des inventories, z.B. 255 Artikel?

Neugierig,
           Yendi


-----------------------------------------------------------------------------



scripte (Toc, 19. Mar 1998, 20:33:08):


ich meine scripten sollte erlaubt werden.
mit der einzigen einschraenkung, dass der scripter
anwesend und ansprechbar zu sein hat. 

  snibril
nieder mit der grossschreibung

-----------------------------------------------------------------------------



Re: scripte (Grimmborn, 20. Mar 1998, 09:38:13):
~#! rn=Toc rt=890335988 rg=entwicklung
~#! tid=890335988
Was genau nennst Du bei einem scroll von 30 Zeilen/Sekunde "ansprechbar"?
Aber abgesehen davon: Das hier ist ein Spiel fuer Spieler, nicht fuer Scripte.
Scripte zur Erleichterung von unintelligenten Routineaufgaben (Wegscripte)
sind ok, aber keine Vollscripte, die Sachen erledigen, die der Spieler machen
soll (/quest#1).

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re: Re: scripte (Yaren, 20. Mar 1998, 12:27:47):
~#! rn=Grimmborn rt=890383093 rg=entwicklung
~#! tid=890335988
Was zaehlt denn fuer Dich noch zu den "unintelligenten Routineaufgaben"? Fuer
mich sind das naemlich Tank- und Kampfscripte. Und was die Vollscripte angeht:
ich bezweifle erstens, dass es fuer alle Quests welche gibt (ausser vielleicht
fuer Amaryllis und Maerchen ;-) und ausserdem sind die ohnehin verboten, da es
sich dabei ja um eine KL handelt, wenn sie nicht von den Leuten eingesetzt
werden, die die Scripte geschrieben haben. Wer soll denn etwas dagegen haben,
wenn jemand seine Zweities mit oder ohne Script in ein paar Minuten durch eine
Quest bringt?

Yaren

-----------------------------------------------------------------------------



Re^3: scripte (Grimmborn, 20. Mar 1998, 12:40:55):
~#! rn=Yaren rt=890393267 rg=entwicklung
~#! tid=890335988
Die ganze Script-Diskussion dreht sich um genau die Frage, was "unintelligente
Routineaufgaben" sind. Und nicht um den Vorschlag von Toc, doch alle scripten
zuzulassen. Und ich denke, Du unterschaetzt die Anzahl der Questen, die man
ohne zu grossen Aufwand per script machen koennte.

GdA

-----------------------------------------------------------------------------



Re^4: scripte (Yaren, 20. Mar 1998, 13:49:37):
~#! rn=Grimmborn rt=890394055 rg=entwicklung
~#! tid=890335988
Selbst wenn es ohne Ende Questscripts gibt, dann ist die Weitergabe dieser
Scripte doch ohnhin verboten, weil diese KLs sind. Was gibt es da also noch zu
reden?

Yaren.

-----------------------------------------------------------------------------



Re^3: scripte (Yendi, 20. Mar 1998, 14:25:41):
~#! rn=Yaren rt=890393267 rg=entwicklung
~#! tid=890335988
> Wer soll denn etwas dagegen haben, wenn jemand seine Zweities mit oder ohne
> Script in ein paar Minuten durch eine Quest bringt?

Ich. Es nervt, wenn einem links und rechts tieffliegende X-ties um die Ohren
sausen. Die sehen nichts, hoeren nichts und koennten das Gleiche im Prinzip
auch in einem Heim-MUD machen, ohne dass die Mitspieler irgendwas vermissen
wuerden. Eher im Gegenteil.

YTY



-----------------------------------------------------------------------------



Re^4: scripte (Deepblue, 20. Mar 1998, 14:34:47):
~#! rn=Yendi rt=890400341 rg=entwicklung
~#! tid=890335988
Das passiert ja nun ueberall im Mud, auf allen wegen usw. Im RL rennen die
Leute auch an Dir vorbei, ohne von Dir notiz zu nehmen. Und so haeufig duerfte
das hier auch nicht vorkommen...

-----------------------------------------------------------------------------



Re^5: scripte (Yendi, 20. Mar 1998, 14:46:23):
~#! rn=Deepblue rt=890400887 rg=entwicklung
~#! tid=890335988
Fein, aber wenn ich nicht gerade voellig in Gedanken bin, dann werde ich im
MUD genau wie im RL eine herumstehende und schnackende Gruppe von Freunden und
Bekannten sehen, erkennen, bei ihnen stehenbleiben und einige Worte wechseln.

Die meisten dieser Blindschleichen hier wuerden es nicht einmal merken, wenn
Du ihnen einen Baumstamm zwischen die Beine wirfst: Die zappeln die nachsten
anderthalb Minuten munter weiter, und dann kommt irgendwann ein "Ey, wasn hier
los?"  Stumpf ist Trumpf.... :(


-----------------------------------------------------------------------------



Re^4: scripte (Key, 20. Mar 1998, 17:43:58):
~#! rn=Grimmborn rt=890394055 rg=entwicklung
~#! tid=890335988
Yep hast recht Grimmi :)

Aber bei Vollscripten handelt es sich nicht nur um Questscripte ... nur so am
Rande :)

Key

-----------------------------------------------------------------------------



Re^6: scripte (Key, 20. Mar 1998, 17:47:07):
~#! rn=Yendi rt=890401583 rg=entwicklung
~#! tid=890335988
Und was interessiert es Dich wenn andere Stumpf sind?
Jedenfalls in Deinen Augen.

Wenn Du ein Prob hast mit stumpfen Leuten dann bissu hier absolut fehl am
Platze.

Key trumpft stumpfend :)

-----------------------------------------------------------------------------



Re: Re: scripts (Overlord, 20. Mar 1998, 20:00:26):
[Bezug: Artikel 199 von Grimmborn vom 20. Mar. 1998, 12:27:47]

Wer sollte sich eigentlich die Muehe machen, ein KL-Script fuer eine Quest zu
proggen? Der einzige Grund waere, diese an andere Spieler zu dealen. Wenn der
Spieler die Quest gemacht hat, ist es fuer seine Zweities kein Problem, per
Hand im Tiefflug durchzuduesen. Selbst bei 20 Zweities duerften einige Quests
den Programmieraufwand nicht rechtfertigen.

Ansonsten finde ich das Proggen von Questscripten auch asozial, schon allein
deswegen, weil sich dann wieder nur einige RL-Playercliquen austauschen und es
im MG nur noch so von Xties wimmelt, die mit Kondensstreifen an den virtuellen
Ohrlaeppchen vorbeiduesen. Und der Rest der Spieler schaut in die Roehre.
Abgesehen davon frage ich mich, wer so krank sein sollte, so etwas zu tun. Der
Sinn vom MG ist ja Spass zu haben, zu Chatten usw. Wer nur noch mit
vollautomatisierten Xties hier durchsaust, braucht sich auch ebensogut gar
nicht mehr einzuloggen. Ich jedenfalls koennte nicht stundenlang am Monitor
hocken, nur um meine eigenen Scripts zu bewundern (wenn sie dann erst mal
bugfrei laufen wuerden).

Ovi

-----------------------------------------------------------------------------



Re^3: scripts (Key, 20. Mar 1998, 20:13:00):
~#! rn=Overlord rt=890420426 rg=entwicklung
~#! tid=890420426
Hmmm bin ich umgeben von Leuten die echt keine Ahnung haben? :)

Nee ernsthaft ... ein KL-Script waere ab und an schon reizvoll ... ich hab
letztens 2 seher hochgespielt, und naja ... wenn man die quests eh schon kennt
isses langweillig :) Das bloede ist nur ...
Um nen script fuer ne quest zu schreiben muss ich die quest spielen und
mitschreiben was ich mache :) Naja also ist der erste schonmal durch ;)
Und fuer einen lohnt es net ;)
Aber wenn man mehr plant in naechster zeit ist es doch schon eine
Arbeitsverkuerzung ;)


Sooo aber das nur als Randbemerkung ;)
Rl-Playercliquen ..... Hmmm bist du etwa dagegen das man sich auch RL
anfreundet? Und selbst wenn wirste es wohl kaum verhindern koennen ;))
Diese Rl-Playercliquen gibts immer .... und ich find das eher positiv :) Naja
und auch diese gibbet auch noch die VL-Playercliquen :) Auch nicht zu
verachten was die so ab und an austauschen an Wissen ....
Ich glaube du hast da was nicht verstanden ... das ist ein MUD ... M fuer
Multi, U fuer User, D fuer Dungeon .... man soll miteinander spielen ... 


Achja ... und nochwas .... du redest vom Spass ... chatten usw ... Hmm
vielleicht ham einige ihren Spass dabei mit Sehern zu metzeln? oder die
Seherkomandos zu verwenden? Und was muessen die dazu machen? Quest? .) 
Also lass ihnen doch ihren Spass :) Was nicht heissen soll das ich denjenigen
der mich bei ner Quest ueberholt und mir zeugs das fuer die quest noetig ist
vor der nase wegschnappt nicht ordentlich auf die Finger kloppen wuerde ;) Das
darfst du natuerlich auch =;)))

Key, hat nix gegen Scripte ... wenns die leute gluecklich macht ... ,)

-----------------------------------------------------------------------------



Re: Key (Overlord, 20. Mar 1998, 21:02:19):
[Bezug: Artikel 207 von Key]

Ich habe durchaus nix gegen VL-cliquen oder VL-cliquen. Nur wenn das so
betrieben wird, dass man gegenseitig hoechst unerlaubte Scripst austeilt,
waehrend der Rest sich per Hand abmueht, weil er entweder nur Telnet hat oder
so ehrlich (oder dumm?) ist, sich an die Spielregeln zu halten.
Damit mir nicht wieder der Text im Monitor umgedreht wird: Also dies soll
keine Anspielung darauf sein, dass sowas stattfindet. Ich koennte mir aber
denken, dass einige hier sowas betreiben.

Wenn hierdrauf wieder giftige Reaktionen kommen, koennte sich mancher Leser
denken, dass sich da jmand ertappt fuehlt.

Ovi, hat keinen Heiligenschein, ist aber bereit, sich an die Spielregeln zu
halten

-----------------------------------------------------------------------------



Re^6: scripte (Wurzel, 20. Mar 1998, 21:11:33):
~#! rn=Yendi rt=890401583 rg=entwicklung
~#! tid=890335988
interessante idee, vielleicht sollte man mal eine tragbare stolperfalle fuer
scripter basteln :)

wurzel (hat leider keine zeit)

-----------------------------------------------------------------------------



Re^3: scripts (Wurzel, 20. Mar 1998, 21:14:18):
~#! rn=Overlord rt=890420426 rg=entwicklung
~#! tid=890420426
es gibt leute, die haben einfach spass was zu proggen. die einen sind halt
magier, die anderen scripter. ansonsten gibt es natuerlich auch noch einige
"normale" spieler, aber die zaehlen ja nach meinung von einigen pappnasen
hier eh nichts...

wurzel

-----------------------------------------------------------------------------



Re^4: scripts (Overlord, 20. Mar 1998, 21:21:56):
~#! rn=Wurzel rt=890424858 rg=entwicklung
~#! tid=890420426
Falls Du mich mit Pappnase meinst, dann lies Dir den Text mal genauer durch
und siehe auch 'allgemeines'

ansonsten nix fuer ungut

ovi

-----------------------------------------------------------------------------



Re: Re: Key (Key, 20. Mar 1998, 21:28:01):
~#! rn=Overlord rt=890424139 rg=entwicklung
~#! tid=890424139
Hmm naja oki wenn mans von der Seite sieht :)
Wobei ... die guten scripts werden nicht weitergegeben .... Darauf sind die
programmierer meist zu stolz ;)

Key

-----------------------------------------------------------------------------



Re^5: scripts (Key, 20. Mar 1998, 21:29:25):
~#! rn=Overlord rt=890425316 rg=entwicklung
~#! tid=890420426
*kicher* 
Aeh Ovi ... nix fuer ungut ... aber lies du lieber nochmal den von Wurzel ;)

Key

-----------------------------------------------------------------------------



Scripts (Zuerileu, 21. Mar 1998, 00:13:49):
Hi,
Also das groesste Problem von Scripts finde ich solche die Monster zum Teil
auch Questrelavante NPC's abschlachten. Man darf nicht vergessen 
Questrelevant sind auch die Dunkelelfen (Postquest?) und Robin Hood
(Postquest) und wenn diese via. kill-trigger contunuierlich gekillt werden
dann habe solche Spieler die das quest machen das nachsehen. 

Tschau Alain

Ps: klar gibt es noch andere Gruende aber die sind euch allen auch bekannt,
auch wenn solche die Triggers verwenden wissen es nur ist es dennen halt egal,
sie profitieren ja auch davon. Die konsequenz davon ist bekannt, also wers tut
ist selber Schuld.

-----------------------------------------------------------------------------



Re: Scripts (Yaren, 21. Mar 1998, 01:36:13):
~#! rn=Zuerileu rt=890435629 rg=entwicklung
~#! tid=890435629
Oha! Es gibt hier wirklich nen paar Spieler, die Robin per kil-trigger
continuierlich killen? Na, die moechte ich dringend kennen lernen :-)))

Jetzt mal im Ernst: wenn NPCs fuer Quest wichtig sind, dann sollten sie nicht
zu killen sein, oder? Abgesehen davon ist die Postquest eine Quest, die man
nebenher macht, da kann man schonmal warten, bis der NPC wieder da ist.

Yaren

-----------------------------------------------------------------------------



Re^4: scripts (Teddy, 21. Mar 1998, 01:46:07):
~#! rn=Key rt=890421180 rg=entwicklung
~#! tid=890420426
Uebrigens gibt es auch Quests, die man immer wieder macht, um was da
rauszuholen, das ist mit Script bestimmt auch einfacher.

Teddy

-----------------------------------------------------------------------------



Re: Scripts (Mindblade, 21. Mar 1998, 01:51:08):
~#! rn=Zuerileu rt=890435629 rg=entwicklung
~#! tid=890435629
Also das kann man beim besten Willen nicht so stehenlassen!
1. Die Dunkelelfen plaetten nicht nur Scripts sondern auch normale Spieler.
Wenn Du da was abliefern musst, dann sag einfach den Leuten Bescheid, dann
lassen sie Dir auch einen stehen.
2. Robin faellt nun wirklich nicht haeufig und es gibt ebenfalls genung Leute,
die den auch ohne Skript toeten. Und bei dem mal ne halbe Stunde zu warten
sollte doch wohl kein Problem sein.

Das was Du ansprichst ist kein Problem von Scripts, sondern eher der
Kommunikation!;)

Mind*

-----------------------------------------------------------------------------



alias foo \   ? (Highlander, 21. Mar 1998, 10:03:21):
Ich hatte grade mit einem Problem zu kaempfen und da kam mir folgende
Idee:
Koennte man alias beibringen, dass es auf alias kuerzel \   damit reagiert,
den editor aufzumachen wie bei idee ohne Argument? Und nachher alles
aneinanderpappen, vielleicht auch bei \ mit blanks, bei \\ mit ohne.
Anders krieg ich naemlich wohl kein alias hin, das ueber mehr als
drei Zeilen geht - dieses [beeeep] limit...
Und drei Zeilen sind schnell erreicht bei etwas komplexeren aliases :>
   HrT

-----------------------------------------------------------------------------



Re: alias foo \   ? (Yaren, 21. Mar 1998, 13:54:29):
~#! rn=Highlander rt=890471001 rg=entwicklung
~#! tid=890471001
Was soll denn daran nicht gehen? Ich habe ne ganze Menge alis, die laenger
sind, und frag' mal die Knuddelmonster Ancalagon und Semira ;-)

Yaren.

-----------------------------------------------------------------------------



Re: Re: alias foo \   ? (Anatol, 21. Mar 1998, 16:46:36):
~#! rn=Yaren rt=890484869 rg=entwicklung
~#! tid=890471001
Hm, darf ich dem Oberchicken einfach mal "TF" empfehlen? Ein Zeichenlimit
mag es da zwar auch geben, aber selbst bei den boesartigsten Aliasen ("High!")
bin ich da nicht rangekommen.

Man KANN mit Telnet mudden.
MUSS man aber nicht.

Anatol (hat das auch gleich eingesehen.)


-----------------------------------------------------------------------------



gilden-erfahrung (Pake, 22. Mar 1998, 14:35:48):
halloe, wird zeit, dass ich auch mal nen (sinnvollen?) vorschlag mache.
ich selber kann zweities nichts abgewinnen. das liegt zum einen daran, dass
ich (nich) bluemchenpfluecker bin und zum anderen, dass ich es vorziehe,
_einen_ charakter zu haben, an dem ich meinen werdegang im mg sehen kann. aber
das ist wie gesagt geschmackssache.
jedoch wird einem die entscheidung, nur mir einer person zu spielen _sehr_
schwer gemacht, da man im prinzip an eine geilde gekettet ist. oder wer
verlaesst schon freiwillig eine gilde im hohen rang nach monaten qualvoller
uebung?
dieses wuerde entschaerft, wenn man seine gildenskills behalten wuerde, sodass
man gefahrlos auch mal ne neue gilde ausprobieren und zur not zur alten
zurueckkehren kann (evtl kann man ja _etwas_ an uebung verlieren).
nun weiss ich nicht, wie gross der aufwand waere, wenn nun alle informationen
der gilden, in denen man war, gespeichert werden wuerde, aber vielleicht lohnt
es sich ja mal, darueber nachzudenken... :-)
Pake
ps: das obige "nich"="noch", andere fehler bitte uebersehen :)
pps: sollte sowas schon moeglich/in planung sein, steinigt mich...

-----------------------------------------------------------------------------



Re: gilden-erfahrung (Jasonrigid, 22. Mar 1998, 14:50:42):
~#! rn=Pake rt=890573748 rg=entwicklung
~#! tid=890573748
Hi Leute, insbesondere Pake.

Da habe ich auch schon drueber nachgedacht und faende es auch nicht schlecht.
Was man aber bedenken muss, und was IMHO das ganze wohl undurchfuehrbar machen
wird, ist die Tatsache, dass manche Spieler eine solche Geduld und
Hartnaeckigkeit besitzen, sich in allen Gilden in vergleichsweise kurzer Zeit
bis ins oberste Level hochzuspielen.

Das wuerde zu absoluten Ueberspielern fuehren, was wieder die
Monster-Ruestungsspirale hochtreibt und dann denjenigen, die ihrer Gilde treu
bleiben, keine Chance mehr lassen, zu etwas zu kommen.
Ausserdem wuerde es, denke ich, auch zur Abnahme des Teamgeistes fuehren, wenn
ein Kaempfer dann auch noch in der Lage waere, sich selbst zu entblinden, zu
heilen, zu enttauben, von Krankheiten zu heilen ... und das waren nur ein paar
Beispiele eines Kaempfer/Klerikers.

Also meiner Meinung nach waere es zwar reizvoll, aber nicht durchfuehrbar.

Bis denne

Jason Rigid

-----------------------------------------------------------------------------



Re: Re: gilden-erfahrung (Rikus, 22. Mar 1998, 15:00:23):
~#! rn=Jasonrigid rt=890574642 rg=entwicklung
~#! tid=890573748
Hi,
falls man einen Teil der alten Gildenfaehigkeiten behalten wuerde, so 
duerfen sie halt erst wieder wirken, wenn man in die alte Gilde zurueck-
geht und in der aktuellen Gilde gar nicht vorhanden sein. Un der Wechsel
sollte nicht staendig gehen, sondern nur alle x Tage/Wochen/Monate...

Rikus

-----------------------------------------------------------------------------



Re^3: alias foo \   ? (Highlander, 22. Mar 1998, 19:02:23):
~#! rn=Anatol rt=890495196 rg=entwicklung
~#! tid=890471001
Es soll Leute geben, die keinen Client haben/wollen/was auch immer, und
das limit kann man halt auch nicht unbedingt beeinflussen. Nur weil das
fuer euch kein Problem ist, heisst doch nicht, dass das fuer alle so ist.
   HrT

-----------------------------------------------------------------------------



Re^4: alias foo \   ? (Yaren, 22. Mar 1998, 20:14:17):
~#! rn=Highlander rt=890589743 rg=entwicklung
~#! tid=890471001
Das ist fuer keinen ein Problem. Das muss eher an Deinem Telnet liegen, denn
ich kann auch ueber Telnet nur eine Einschraenkung feststellen: die
Standard-remote-Kommandos (rknuddel etc.) vertragen als /-Optionen nur ca. 10
Zeilen.

Yaren.

-----------------------------------------------------------------------------



Re^5: alias foo \   ? (Embe, 22. Mar 1998, 22:51:54):
~#! rn=Yaren rt=890594057 rg=entwicklung
~#! tid=890471001
es ist ein telnet problem,
ich hatte es auch, dann hab ich die machine gewechselt, und mit dem
telnet dort hab ich das limit nicht.

wenn es nicht am telnet-programm selber liegt, dann k"onnten es nur
noch am termcap liegen.

gruss, eMBee. (ohne scripts und doppelten boden :-)

-----------------------------------------------------------------------------



Re^6: alias foo \   ? (Padreic, 22. Mar 1998, 22:55:34):
~#! rn=Embe rt=890603514 rg=entwicklung
~#! tid=890471001
Ich versteh irgendwie nicht wo hier das Problem ist... es geht doch bloss
darum ein _zusaetzliches_ feature einzubauen, das schadet doch nie und da es
sogar einen EM betrifft, haben wir also sogar schon jemand der es
implementiert, wo ist also das problem dieses threads?

                           Padreic

-----------------------------------------------------------------------------



Re^3: gilden-erfahrung (Pake, 22. Mar 1998, 23:36:36):
~#! rn=Rikus rt=890575223 rg=entwicklung
~#! tid=890573748
hiho, schoen, dass ihr meiner meinung seid :-)
genau so, wie rikus es schreibt, meinte ich es. wenn man zB nur jeden monat
die gilde wechseln kann, duerfte das wechseln zum entblinden an reiz verlieren
;-)
man kann ja eine art "notstop" einbauen, dass man die gilde immer in den
ersten stufen (ca. bis zur 2.) frei wechseln kann, und ab dann nur noch
monazlich.
so koennte man mal die stimmung in den anderen gilden kennenlernen, ohne sich
gleich festzulegen oder seine bisherigen faehigkeiten zu verlieren. klar, dass
man diese nur jeweils in der richtigen gilde einsetzen kann!! also keine
zauberer, die intrabir rufen o.ae...
ich denke mir, der hauptaufwand ist das speichern der infos, da so fuer jeden
spieler nicht nur die daten einer gilde gespeicher werden muessen.
Pake, der sich nur mal konkretisieren wollte...

-----------------------------------------------------------------------------



Re^4: gilden-erfahrung (Rikus, 22. Mar 1998, 23:41:32):
~#! rn=Pake rt=890606196 rg=entwicklung
~#! tid=890573748
Das war nur eine Idee von mir, also geh dabei nicht von allen aus, da Du
ja gleich am Anfang Deines Artikels davon sprichst.

Rikus

-----------------------------------------------------------------------------



Re^6: alias foo \   ? (Embe, 22. Mar 1998, 23:46:46):
~#! rn=Embe rt=890603514 rg=entwicklung
~#! tid=890471001
ma sollte noch hinzuf"ugen:
nicht alle ham die m"oglichkeit das telnet-programm zu wechseln...

gruss, eMBee.

-----------------------------------------------------------------------------



Re: Re: Scripts (Zuerileu, 23. Mar 1998, 05:49:38):
~#! rn=Yaren rt=890440573 rg=entwicklung
~#! tid=890435629
Hi,
Bin ich anderer Meinung, wenn ein kill-trigger laeuft dann ist der npc tod bis
der andere Spieler wieder da ist. Dazu ist es unfair, und verboten. Die Ganze
Disskusion ist im prinzipt ueberfluessig da es verboten ist. Wer Script oder
triggert wird geloescht, oder was auch immer Freund da fuer ihn parat hat fuer
quaelende Strafen =:).

Tschau Alain

-----------------------------------------------------------------------------



Re^3: gilden-erfahrung (Ringor, 23. Mar 1998, 09:43:22):
~#! rn=Rikus rt=890575223 rg=entwicklung
~#! tid=890573748
Es mag ja sein, dass ich da was falsch verstanden hab bisher - aber bei einem
Gildenaustritt verliert mal i.a. doch "nur" 20% seiner Faehigkeiten, oder?

Damit haben wir doch jetzt schon das, was hier vorgeschlagen wurde. Ich selbst
war mal Meister des Chaos, bevor ich zu den Kaempfern gewechselt bin. Und
sollte ich mich jemals entschliessen, wieder zurueckzukehren, so haette ich
immerhin noch Skills von rund 70-80%, obwohl ich Ewigkeiten nichts mehr mit
Daemonen zu tun hatte.

Und eine Zeitsperre ist da wirklich nicht noetig - bei dem Verlust an
Gildenskills wird man wirklich nur dann wechseln, wenn man eine andere Gilde
kennenlernen moechte. Einmal nen Kleriker rufen ist dann doch billiger, als
selbst einer zu werden ;-)

Ringor

-----------------------------------------------------------------------------



Re^7: alias foo \   ? (Highlander, 23. Mar 1998, 11:13:24):
~#! rn=Padreic rt=890603734 rg=entwicklung
~#! tid=890471001
Das Problem liegt darin, dass alias wohl von Hate programmiert wurde...
wenn Du weisst, was ich damit sagen will ;>
Oder auch: Bis ich da so durchblicke, um rumzustricken, ohne was
kaputtzumachen, wuerde wohl ein bisschen dauern, drum hoffe ich, dass
jemand mit mehr Plan von Haus aus das machen koennte.
   HrT

-----------------------------------------------------------------------------



Re^7: scripte (Damien, 23. Mar 1998, 11:45:12):
~#! rn=Wurzel rt=890424693 rg=entwicklung
~#! tid=890335988
Kann ja so schwer nicht sein, ich arbeite mal dran. :)

Damien.

-----------------------------------------------------------------------------



Re: Scripts (Damien, 23. Mar 1998, 11:46:32):
~#! rn=Zuerileu rt=890435629 rg=entwicklung
~#! tid=890435629
Dunkelelfen und Robin per Kill-Trigger? Irgendwas hab' ich damals falsch
gemacht...

Damien.

-----------------------------------------------------------------------------



Re^3: Scripts (Yaren, 23. Mar 1998, 11:52:13):
~#! rn=Zuerileu rt=890628578 rg=entwicklung
~#! tid=890435629
Also der kill-trigger macht den NPC tot? Wow! da muss ich Damien recht geben:
ich habe da sicher auch immer was falsch gemacht ... -> schmarrn

Yaren.

-----------------------------------------------------------------------------



Re: Re: Scripts (Padreic, 23. Mar 1998, 11:59:21):
~#! rn=Damien rt=890649992 rg=entwicklung
~#! tid=890435629
Hmm... also wenn die Dunkelelfen wirklich SO einfach sind, das man sie sogar
mit Triggern toeten kann.....

                        Padreic *gruebelnd*

-----------------------------------------------------------------------------



Re^3: gilden-erfahrung (Darkwing, 23. Mar 1998, 12:10:30):
~#! rn=Rikus rt=890575223 rg=entwicklung
~#! tid=890573748
man behaelt doch einen Teil der Gildenfaehigkeiten. Zumindest von Karate und
Kaempfern weiss ich das sicher.

Darkwing

-----------------------------------------------------------------------------



Re^4: gilden-erfahrung (Padreic, 23. Mar 1998, 12:44:49):
~#! rn=Darkwing rt=890651430 rg=entwicklung
~#! tid=890573748
Man verliert beim Austritt aus seiner Gilde derzeit 20% seiner Faehigkeiten
(es sei denn die Gilde definiert etwas anderes, es kann also sowohl weniger
als auch mehr sein).

                                   Padreic, heute mal bloss informierend :)

-----------------------------------------------------------------------------



Re^5: gilden-erfahrung (Wargon, 23. Mar 1998, 12:48:57):
~#! rn=Padreic rt=890653489 rg=entwicklung
~#! tid=890573748
Bei den Klerikern sinds 40%.
  Wargon

-----------------------------------------------------------------------------



Re^6: gilden-erfahrung (Teddy, 23. Mar 1998, 13:33:08):
~#! rn=Wargon rt=890653737 rg=entwicklung
~#! tid=890573748
Kann man das mal fuer alle Gilden konkretisieren? Dann kann ich mir vielleicht
ein paar 2ties sparen ;)


Teddy

-----------------------------------------------------------------------------



Re^4: gilden-erfahrung (Boing, 25. Mar 1998, 08:51:51):
~#! rn=Pake rt=890606196 rg=entwicklung
~#! tid=890573748
Die Infos werden eh gespeichert, es steht jeder Gilde frei so etwas 
zuzulassen, wenn Du zum Beispiel wieder in die Abenteurergilde gehst,
hast Du dort Deine alten Werte. Wie das genau bei den anderen Gilden
ist weiss ich nicht. Ich denke es gibt dort eine Reduzierung, keinen
Neuanfang bei null.
  Boing

-----------------------------------------------------------------------------



Re^3: Scripts (Boing, 25. Mar 1998, 08:53:17):
~#! rn=Padreic rt=890650761 rg=entwicklung
~#! tid=890435629
Es geht wohl um die 2 die am Eingang stehen, und dass die nicht so 
stark sind ist ja wohl beabsichtigt.
  Boing

-----------------------------------------------------------------------------



Re: gilden-erfahrung (Qitess, 25. Mar 1998, 14:31:19):
~#! rn=Pake rt=890573748 rg=entwicklung
~#! tid=890573748
da haette ich auch noch ne interessante idee ( finde ich jedenfalls)
die koennte aber etwas mehr prog-aufwand bedeuten... also, man ist in gilde a
und hat soundosviel gelernt, dann steigt man aus und eght in eine andere gilde
b (nehmen wir mal an, gilde a ist abenteurer und b ist bierschuettler). dann
hat man bisher alles, was man als abenteurer gelernt hat mit einem schlag
vergessen (man koennte es damit begruenden, dass man es als angehoeriger der
gilde b nicht mehr anwenden darf, aber dazu komme ich spaeter nochmal) gut,
wenn man es mal mit studieren vergleicht, dann verlernt man sein wissen ueber
die tragfaehigkeit einer stuetze ja auch nicht, nur weil man jetzt ploetzlich
nicht mehr architektur, sondern informatik studiert. man koennte es jetzt (im
MG) so machen, dass man seine gilden-a-skills so nach und nach verliert,
vielleicht in dem masse, wie man seine gilden-b-skills hochtrainiert.
jetzt nochmal zu dem nicht-benutzen-duerfen der alten skills, weil man in ner
neuen gilde ist:
(das koennte ja eine begruendung sein)
aehm... man koennte ja dieses verbot evtl auch aufrechterhalten, und jedesmal,
wenn man einen seiner alten skills benutzt (ich sehe da durchaus konflikte,
weil man ploetzlich 'alles' kann, also vielleicht chaosball und saeurestrahl,
waer natuerlich etwas unausgeglichen, wenn man es nun nicht nach der lerne
hier / verlerne da methode macht), also, jedesmal, wenn man einen seiner alten
skills benutzt, bekommt man eine strafe aufgebrummt (wie auch immer - eps
abziehen is vielleicht nich so doll, aber vielleicht seine neuen skills
herabsetzen...)

wenn man dann irgendwann ewig schon nicht mehr einen seiner alten skills
benutzt hat, dann bekommt man diesen alten skill aberkannt (aber eben nicht so
gleich am anfang und grundsaetzlich)

beide vorschlaege waeren aber nur separat anzuwenden, und nicht zusammen..

soderle, 's reicht

QI** wollte das mal loswerden und wechselt ihre Gilde nicht.


-----------------------------------------------------------------------------



Re: Re: gilden-erfahrung (Acrimon, 25. Mar 1998, 17:44:48):
~#! rn=Qitess rt=890832679 rg=entwicklung
~#! tid=890573748
Was spricht eigentlich dagegen, Gildenwechsel nur maximal alle drei Monate
zuzulassen und dafuer die alten Gildenfaehigkeiten ueberhaupt nicht
herabzusetzen?

Acrimon, der Rote Ritter

-----------------------------------------------------------------------------



Re^3: gilden-erfahrung (Mahatma, 25. Mar 1998, 17:49:30):
~#! rn=Acrimon rt=890844288 rg=entwicklung
~#! tid=890573748
Dagegen spricht, dass man, wenn einem die neue Gilde nicht gefaellt, nicht
sofort wieder wechseln kann. Allerdings koennte man ja den prozentualen
Verlust der Faehigkeiten von der Laenge der Zeitspanne zwischen zwei Wechseln
abhaengig machen, die 0%-Grenze kann ja dann von mir aus bei 3 Monaten liegen.

Mahatma

-----------------------------------------------------------------------------



Re^3: gilden-erfahrung (Lug, 26. Mar 1998, 02:00:45):
~#! rn=Acrimon rt=890844288 rg=entwicklung
~#! tid=890573748
Aeh,


dann auch die Monster in allen Gilden? Und ich haette gerne die Abwehr der
Zauberer dazu ;)

FidKG
Lug

-----------------------------------------------------------------------------



Re^3: gilden-erfahrung (Key, 26. Mar 1998, 13:13:01):
~#! rn=Acrimon rt=890844288 rg=entwicklung
~#! tid=890573748
Das es Seher gibt, z.b. Du und ich die lange genug Zeit haben und dann in
jeder Gilde sitzen wuerden.

Also ich finde es kann so bleiben wie es ist.
Ich bin nicht Chaot weil die Gilde stark ist oder son Mist, sondern weil ich
mich als Chaot identifizieren kann.
Wer seine Gilde nach andere Kriterien aussucht muss halt damit leben.

Key

-----------------------------------------------------------------------------



So ein Zufall! (Wargon, 30. Mar 1998, 12:33:48):
  Huhu!
Wer kennt es nicht, das Problem: Da steht man in einem neuen Gebiet und weiss
nicht, ob man erst den westlichen oder erst den oestlichen Teil erkunden soll.
Soll man den Drachen noch erledigen, oder doch erst noch mal tanken gehen?
Soll man noch ne Stunde mudden oder doch lieber ins Bett gehen?

Fuer all diese Probleme gibt es jetzt endlich Abhilfe! Das gute alte Geld hat
ein neues Feature bekommen: "wirf muenze". Wer mehrere Entscheidungen auf
einmal treffen will, kann auch mehrere Muenzen werfen (es wird dann allerdings
nur die Gesamtsumme von Kopf und Zahl ausgegeben).

Um das ganze zu aktivieren gibt es drei Moeglichkeiten:
1. "ende"
2. auf den naechsten Reboot warten
3. "lass muenze fallen"
   "lass muenze fallen"
   "nimm geld"

"Heads or tails, which way will you choose now,
 die or live, surrender or fight..."  -Running Wild

  Viel Spass beim Werfen,
    Wargon

-----------------------------------------------------------------------------



Re: So ein Zufall! (Embe, 30. Mar 1998, 16:40:13):
~#! rn=Wargon rt=891254028 rg=entwicklung
~#! tid=891254028
tolle sache!

aber typisch: irgendwer muss ja immer meckern.

die anderen k"onnen nicht sehn was ich werfe,
das w"ar aber nett, um es in ner gruppe machen zu k"onnen...

gruss, eMBee. (ja, ich weis ich les hier nur zeitung, und hab nix zu melden
:-)

-----------------------------------------------------------------------------



Re: Re: So ein Zufall! (Wargon, 31. Mar 1998, 11:28:53):
~#! rn=Embe rt=891268813 rg=entwicklung
~#! tid=891254028
Die anderen koennen ja ne Muenze werfen, ob sie Dir glauben oder nicht :)
  Wargon

-----------------------------------------------------------------------------



Re^3: So ein Zufall! (Pra, 31. Mar 1998, 16:17:25):
~#! rn=Wargon rt=891336533 rg=entwicklung
~#! tid=891254028
Prima, sowas mit der Muenze, macht Spass!

Ich habe die Gelegenheit genutzt, und mal den (Pseudo-)Zufallszahlengenerator
des MGs zu testen. Ich habe also  4294967296 mal die Muenze geworfen
(mehr wollte mein tf nicht machen) und nur  2097483648 mal Kopf, aber
 2197483648 mal Zahl bekommen. Also ca. 51.16% der Wuerfe ergaben Zahl.
Damit finde ich es bewiesen, dass der Zufallsgenerator des MGs parteiisch
ist. Vielleicht erklaert dies auch, warum in der SSP viel oefter +1-Ringe
als +4-Ringe zu finden sind. Es ist also an der Zeit, dass sich patente
Magier an den Zufallszahlengenerator setzen und ihn umprogrammieren!
So kann das hier nicht weitergehen!!!

Pra, nnn.

-----------------------------------------------------------------------------



Morgoth (Rochus, 31. Mar 1998, 17:21:02):
Ich habe soeben eingebaut, dass Morgoth sterblich ist und keinen PK
gibt. Er selber hat ja lautstark genug den Wunsch geaeussert, zu sterben :)

  Ein aufgeweckter Erzmagier

-----------------------------------------------------------------------------



Re: Morgoth (Key, 31. Mar 1998, 17:23:10):
~#! rn=Rochus rt=891357662 rg=entwicklung
~#! tid=891357662
Dann setzt seinen Startroom aber bitte auf die Abenteuergilde ;)

Key

-----------------------------------------------------------------------------



Re: Morgoth (Gloinson, 31. Mar 1998, 17:49:13):
~#! rn=Rochus rt=891357662 rg=entwicklung
~#! tid=891357662
Iiiieh bist Du wieder fies. Scheinheiligkeit hier ...

Gloin ... erinnert sich daran, dass Morgoth irgendwas von einem kleinen
Haemmerchen erzaehlte, das er immer bei sich hat ...

-----------------------------------------------------------------------------



Re: Re: Morgoth (Trancefear, 31. Mar 1998, 18:02:57):
~#! rn=Gloinson rt=891359353 rg=entwicklung
~#! tid=891357662
Das war kein Haemmerchen, das ist ein Spezial-Flaschenoeffner fuer
festsitzende Cola-Verschluesse....

tf

-----------------------------------------------------------------------------



Re^4: So ein Zufall! (Grimmborn, 31. Mar 1998, 23:10:44):
~#! rn=Pra rt=891353845 rg=entwicklung
~#! tid=891254028
Kein Problem. Auch wenn Dein "Beweis" natuerlich kein solcher ist. Aber der
Generator hier ist wohl tatsaechlich fragwuerdig. Keine Panik, ich hab ein
paar Pseudozufallsgeneratoren rumliegen (vermutlich sogar copyrightfrei).
Allerdings in C. Kann kein LPC. Kann auch kein C, aber das ist eine andere
Geschichte. Die Generatoren sind ausserdem bloss abgeschrieben. Ganz kurz,
paar Zeilen nur. Und gut...
Booh ist mir schlecht. Kann ich die andere halbe Zigarette jetzt
wegschmeissen? Weiss nicht wie lange ich gebraucht habe.

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re^5: So ein Zufall! (Barak,  1. Apr 1998, 09:52:45):
~#! rn=Grimmborn rt=891378644 rg=entwicklung
~#! tid=891254028
Ich beschaeftige mich im Rahmen der theoretischen Physik mit
Computersimulationen. Dort benoetigt man staendig schnelle
Zufallszahlengeneratoren. Die sind prinzipiell sehr einfach (siehe z.B. D.
Stauffer, Computional Physics) zu proggen. Bei diesem hohen n (anzahl der
Durchlaeufe) ist das glaub ich schon ein "Beweis", dass der Generator nicht
stimmt. Ob dieses bischen nicht stimmen hier jedoch relevant ist wage ich zu
bezweifeln...
Barak

-----------------------------------------------------------------------------



Re^6: So ein Zufall! (Ringor,  1. Apr 1998, 10:08:45):
~#! rn=Barak rt=891417165 rg=entwicklung
~#! tid=891254028
An dem Zufallszahlengenerator hier stoert ganz sicher nicht, dass die
Wahrscheinlichkeit fuer "Kopf" nicht exakt dieselbe ist wie fuer "Zahl".

Das, was wirklich stoert, ist die Reihenbildung bei dem Generator hier. Bei
10^32 Versuchen mittelt sich das zwar alles wieder raus, aber auf einzelne
Kaempfe z.B. bezogen, koennen da schon recht eigenartige Sachen bei
rauskommen.

Ringor. Fuer einen neuen Zufallszahlengenerator.

-----------------------------------------------------------------------------



Re^6: So ein Zufall! (Key,  1. Apr 1998, 10:17:19):
~#! rn=Barak rt=891417165 rg=entwicklung
~#! tid=891254028
Och das bisschen merkt man schon hin und wieder.

Key

-----------------------------------------------------------------------------



Re^7: So ein Zufall! (Wargon,  1. Apr 1998, 11:42:29):
~#! rn=Key rt=891418639 rg=entwicklung
~#! tid=891254028
Einfach nur die Mittelwerte ohne Fehler zu posten ist aber auch nicht gerade
der wissenschaftlichste Stil...
Feldversuche mit direkt hintereinander ausgewuerfelten Zufallszahlen scheinen
jedenfalls gegen die fuer eine Gleichverteilung zu erwartenden Werte zu
konvergieren.
Andererseits trifft man hier im Mud kaum auf zwei direkt hintereinander
kommende Zufallszahlen, da es nur einen einzigen Generator gibt, der alle
Objekte bedient. Man kann also insbesondere zwischen zwei Kampfrunden nicht
sicher sein, um wieviele Schritte der Generator mittlerweile weiter ist.
Der GameDriver verwendet jedenfalls drand48(), der ist eigentlich recht
brauchbar.
  Wargon

-----------------------------------------------------------------------------



Bestellung (Larissa,  1. Apr 1998, 12:35:05):
Ahoi,

ich haette gerne ein 'eknuddel' um alle Leute von der
Erwarteliste zu knuddeln. Geht das? 

Lari, Bluemchenpflueckerin

-----------------------------------------------------------------------------



Re^7: So ein Zufall! (Rochus,  1. Apr 1998, 12:52:29):
~#! rn=Ringor rt=891418125 rg=entwicklung
~#! tid=891254028
Mal einige praktische Versuche:
xlpc int i;mapping m;m=([]);for (i=0;i<10000;i++) 
m[random(10)]++;printf("%O\n",m);
([
  6: 1044,
  1: 925,
  9: 1006,
  0: 1016,
  8: 1019,
  7: 1021,
  2: 968,
  5: 1013,
  4: 1022,
  3: 966,
])
xlpc int i;mapping m;m=([]);for (i=0;i<10000;i++) 
m[random(10)]++;printf("%O\n",m);
([
  6: 956,
  1: 947,
  9: 995,
  8: 1018,
  0: 1030,
  7: 1023,
  2: 1000,
  5: 1018,
  4: 1028,
  3: 985,
])
xlpc int i;mapping m;m=([]);for (i=0;i<10000;i++) 
m[random(10)]++;printf("%O\n",m);
([
  6: 1011,
  9: 945,
  1: 958,
  8: 1007,
  0: 1004,
  7: 1025,
  2: 1014,
  5: 1041,
  4: 994,
  3: 1001,
])
Ihr seht also, SO schlecht ist der Zufallsgenerator nun auch wieder nicht :)

-----------------------------------------------------------------------------



Re: Bestellung (Tunixgut,  1. Apr 1998, 12:58:42):
~#! rn=Larissa rt=891426905 rg=entwicklung
~#! tid=891426905
Bitte auch ein iknuddel, fuer die von der ignoriere-Liste!

's Karate-Zwerchle

-----------------------------------------------------------------------------



Re: Re: Bestellung (Yaren,  1. Apr 1998, 13:08:21):
~#! rn=Tunixgut rt=891428322 rg=entwicklung
~#! tid=891426905
Und fuer die Anbagger-Typen: ein wknuddel ;-)  (ab nach Schmarrn ...)

-----------------------------------------------------------------------------



Re^8: So ein Zufall! (Sharia,  1. Apr 1998, 13:54:52):
~#! rn=Rochus rt=891427949 rg=entwicklung
~#! tid=891254028
*lach*
alles klar und was soll mir das sagen ? du kannst da auch Finnisch schreiben
und ich raff nix :-)
Sharia

-----------------------------------------------------------------------------



Re^9: So ein Zufall! (Barak,  1. Apr 1998, 15:26:36):
~#! rn=Sharia rt=891431692 rg=entwicklung
~#! tid=891254028
Der Fehler bei der Mittelwertbestimmung liegt bei Wurzel(Anzahl der Tests),
ist bei dm angegebenen Anzahl von 4000000000 (ca) also relativ klein, (ich
mein der relative Fehler ist klein) im Bereich von 10^-5 aber Ringor hat Recht
das Problem  nicht nur im Mittelwrert liegen sondern bei Wiederholungen.
Dennoch denke ich dass der Generator zu oft aufgerufen wird, als das dies eine
einzelne Spielerperson betrifft. Bsp Ringe bevor man den naechsten Ring testet
ist der Generator schon x mal durchgelaufen... 
Barak

-----------------------------------------------------------------------------



Re^7: So ein Zufall! (Marcus,  1. Apr 1998, 17:06:56):
~#! rn=Ringor rt=891418125 rg=entwicklung
~#! tid=891254028
Der Zufallsgenerator ist global fuers ganze MUD. Etwaige Reihenbildungen
sind also purer Zufall.

Ciao, Marcus

-----------------------------------------------------------------------------



Re^8: So ein Zufall! (Ringor,  1. Apr 1998, 17:21:29):
~#! rn=Marcus rt=891443216 rg=entwicklung
~#! tid=891254028
Zufaellig wiederholt sich dieser Zufall aber mit wunderschoener
Regelmaessigkeit.

Ob Zufall oder nicht, es ist zumindest nicht nur mir aufgefallen.

Ringor

-----------------------------------------------------------------------------



Re^9: So ein Zufall! (Silvana,  1. Apr 1998, 18:38:10):
~#! rn=Ringor rt=891444089 rg=entwicklung
~#! tid=891254028
Man sollte mit einer etwaigen Umstellung sehr vorsichtig sein.
Schliesslich bauen einige Objekte auf die Unzulaenglichkeiten
eben dieses Generators. Oder wollt ihr etwa die Zauberer noch
staekern machen...? :)

  Silvana

-----------------------------------------------------------------------------



Re^3: Bestellung (Trancefear,  1. Apr 1998, 19:13:55):
~#! rn=Yaren rt=891428901 rg=entwicklung
~#! tid=891426905
wie waers mit einem muduebergreifenden rknuddel... (z.B. rknuddel
heather@unitopia) ?
waer natuerlich mit etwas aufwand verbunden... 

tf (heute mit tf)

-----------------------------------------------------------------------------



Re^4: Bestellung (Babs,  1. Apr 1998, 20:49:59):
~#! rn=Trancefear rt=891450835 rg=entwicklung
~#! tid=891426905
Sowas gibt es im Prinzip schon laenger im sogenannten Intermud-3 Standard.
Praktisch alle deuschen MUDs verwenden allerdings nach wie vor Intermud-2.
Im MG bin ich da sehr skeptisch... das Morgengrauen ist eines der letzen
MUDs, die noch nicht einmal beim Muduebergreifenden wer die ueblichen
Optionen zulaesst. :-(

-----------------------------------------------------------------------------



Re: Bestellung (Gwynwaiter,  2. Apr 1998, 00:40:54):
~#! rn=Larissa rt=891426905 rg=entwicklung
~#! tid=891426905
eknuddel? Eine gute Idee. da bin ich als Bluemchenpfluecker doch gleich
dafuer...

Gruss, Gwynwaiter, erwartet Gwyndons Freunde und Bekannte

-----------------------------------------------------------------------------



Re: Re: Bestellung (Dhojakt,  2. Apr 1998, 00:42:34):
~#! rn=Gwynwaiter rt=891470454 rg=entwicklung
~#! tid=891426905
Ich faende ja ein erufe dergestalt nich schlecht, dass man allen leuten, die
einen erwarten was mitteilen kann (zB warum man grad 2 h verschwunden war...)
Es koennte ja mal noch ausschreiben, wievielen was mitgeteilt wurde.
Khidar.

-----------------------------------------------------------------------------



Re^4: Bestellung (Teddy,  2. Apr 1998, 01:09:40):
~#! rn=Embe rt=891470877 rg=entwicklung
~#! tid=891426905
ewer gibts schon, Wurstie ;)

Teddy

-----------------------------------------------------------------------------



Re^3: Bestellung (Grimmborn,  2. Apr 1998, 14:03:28):
~#! rn=Dhojakt rt=891470554 rg=entwicklung
~#! tid=891426905
Au ja, dann hab ich in kuerzester Zeit die kuerzeste Erwarteliste des MG...

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re^4: Bestellung (Dhojakt,  2. Apr 1998, 17:01:49):
~#! rn=Grimmborn rt=891518608 rg=entwicklung
~#! tid=891426905
Naja, nich unbedingt, wozu gibts denn dann ignoriere grimmborn.erufe? :)
Khidar.

-----------------------------------------------------------------------------



Re: Rebootfolgen (Ringor,  3. Apr 1998, 13:03:07):
~#! rn=Orktoeter rt=891601292 rg=entwicklung
~#! tid=891601292
Aus gegebenem Anlass fordere ich ab sofort, dass nur in die MPA schreiben
darf, wer nachweist, dass er "hilfe mpa" gelesen und verstanden hat sowie den
Editor bedienen kann. 

-> schmarrn

Ringor

-----------------------------------------------------------------------------



Rebootfolgen (Grimmborn,  3. Apr 1998, 13:37:58):
~#! on=Orktoeter ot=891601292 og=entwicklung
Aus gegebenem Anlass moechte ich doch mal darum bitten, das sich ein netter
Erzie darum kuemmert, das so negative Sachen wie Blindheit etc. nach einem
Reboot weg sind. Was ist das denn fuer eine schoene neue Welt, wenn man gleich
Blind ist.
In diesem zusammenhang bitte ich auch zum n+1. mal darum, Nach einem Reboot
beim einloggen Volle LP und KP zu haben, so wie Hunger und Durst. Bei den NPC
ist es schliesslich auch so, gleiches Recht fuer alle (das soll jetzt nicht
heissen, das ich PK legalisieren will *grins*).

OrkT.
nn
rkn tangalur
nn
sc
nn

-----------------------------------------------------------------------------



Re: Rebootfolgen (Grimmborn,  3. Apr 1998, 13:39:30):
~#! rn=Grimmborn rt=891603478 rg=entwicklung
~#! tid=891603478
Ich hab das mal in dieselbe Rubrik verlegt, damit Orktoeter nicht aus Versehen
den Artikel mit dem koestlichen PS wieder loescht... ;-)

Grimmborn der Atheist
P.S. Ich haette ihn ja auch gerne nach schmarrn kopiert, aber kopieren geht ja
nicht.

-----------------------------------------------------------------------------



Emotes (Overlord,  3. Apr 1998, 18:48:48):


Ich faende es schoen, wenn man die Ebenen-emotes mit voller Syntax benutzen
koennte, wie z.B.:

-test:stubst $1 an#$1#stupst Dich an#Du stupst $1 an

Ovi, kann auch ohne aber hat sich heute beim Probieren unsterblich blamiert ;)

-----------------------------------------------------------------------------



Re: Bestellung (Wurzel,  3. Apr 1998, 23:27:34):
~#! rn=Larissa rt=891426905 rg=entwicklung
~#! tid=891426905
ein "eknuddel" geht, sicher. das schoene daran: du kannst es sogar selbst
programmieren, du bist doch magierin :)

wurzel

-----------------------------------------------------------------------------



Partymonster mit verbesserten Service nun (Ketos,  5. Apr 1998, 13:26:43):
Hi Partyfreaks,

das Partymonster bietet nun mehr Komfort und Service an.

Viel Spass,

- Ketos -

-----------------------------------------------------------------------------



Rebootfolgen (Orktoeter,  7. Apr 1998, 10:50:47):
Hi !
Wieder war Reboot und wieder stehe ich blind in meinem Schloss und ergo
schreibe ich wieder einen Artikel mit diesem Inhalt :
Ich haette gerne, das man nach einem Reboot beim einloggen wieder Absolut fit,
ausgehungert, ausgedurstet anfaengt und von Blindheit so wie anderen
unannehmlichkeiten wie Krankheiten oder taubheit befreit ist.
Fuer die NPC gilt das schliesslich auch.
OrkT (wartet auf den naechsten Reboot, damit er diesen artikel wiederholen
kann).

-----------------------------------------------------------------------------



Re: Rebootfolgen (Wargon,  7. Apr 1998, 10:54:12):
~#! rn=Orktoeter rt=891939047 rg=entwicklung
~#! tid=891939047
Mein Gott, such Dir doch endlich nen Kleriker, der Dich heilt!

-----------------------------------------------------------------------------



Re: Re: Rebootfolgen (Orktoeter,  7. Apr 1998, 10:58:44):
~#! rn=Wargon rt=891939252 rg=entwicklung
~#! tid=891939047
tja, Wargon, darum geht es doch gar nicht... das man sich heilen kann, tanken
kkann (so man noch nicht vollgefressen(gesoffen) ist), das ist doch klar, es
geht um den Unterschied zwischen den NPC und den Spielern. Besonders
aergerlich, wenn das MG (was ja ab und zu auch schon mal geschehen ist) im 5
Minutentakt crasht.

OrkT.

-----------------------------------------------------------------------------



Re^3: Rebootfolgen (Zephyr,  7. Apr 1998, 12:11:58):
~#! rn=Orktoeter rt=891939524 rg=entwicklung
~#! tid=891939047

Dann streich wenigstens endlich mal Deine "Ich will nen leeren
Magen und durstig sein"-Forderung, DAS ist naemlich schon
eingebaut.

Zephyr, war gestern mehrfach durstig

-----------------------------------------------------------------------------



Re: Rebootfolgen (Boing,  7. Apr 1998, 17:23:24):
~#! rn=Orktoeter rt=891939047 rg=entwicklung
~#! tid=891939047
Ich haette gerne, dass Spieler im Kampf nicht mehr weglaufen koennen,
das koennen NPCs schliesslich auch nicht.
  Boing
PS: Ausnahmen bestaetigen die Regel

-----------------------------------------------------------------------------



Re: Re: Rebootfolgen (Hangover,  7. Apr 1998, 17:23:45):
~#! rn=Boing rt=891962604 rg=entwicklung
~#! tid=891939047
Geh zu Semmel.

-Hangover
(einzeilig)

-----------------------------------------------------------------------------



Re^3: Rebootfolgen (Sting,  7. Apr 1998, 17:25:26):
~#! rn=Hangover rt=891962625 rg=entwicklung
~#! tid=891939047
Oder (Para)-Vland, da ist eh _alles_ moeglich :))

Sting, auch einzeilig.

-----------------------------------------------------------------------------



Re^4: Rebootfolgen (Silvana,  7. Apr 1998, 18:29:46):
~#! rn=Zephyr rt=891943918 rg=entwicklung
~#! tid=891939047
Wobei ihr in dem Fall nen deutlichen Vorteil gegenueber NPCs
habt. NPCs starten naemlich vollgefressen und -getrunken.
Ansonsten allerdings nuechtern. Hm, koennte man auch mal 
fuer Spieler generell einfuehren... :)

  Silvana (nicht ganz ernst)

-----------------------------------------------------------------------------



Reboots und so ... (Jesko,  7. Apr 1998, 19:58:17):
Peace Folkz.

Ich bin noch relativer Neuling, also steinigt mich bitte nicht sofort, falls
ich jetzt ggf. unsinn schreibe.

Ich persoenlich leide momentan auch etwas unter den Reboots, da ich mir
staendig meine Standartausruestung zusammenkaufen muss und durch die mehrfache
Hintereinanderausfuehrung von Reboots sich mein Barvermoegen gegen Null bewegt
(wohl Inflation ...).
Nun, ich koennte natuerlich versuchen, das Geld wieder rein zu metzeln, aber
dazu fehlt mir ehrlichgesagt die Lust und Rollenspielerseele schreit, dass
dies nicht zu meinem Character passt.

Gibt es vielleicht die moeglichkeit (so wie in anderen MUDs) n <= 5
Gegenstaende zu markieren, so dass sie auch nach einem Reboot noch im Inventar
sind? So koennten liebgewonnene Items oder Ruestungen zumindest Gerettet
werden.
Wenn technische oder andere Gruende dagegen sprechen kann ich das verstehen,
mir persoenlich stehen jedoch nach jedem Reboot die Traenen in den Augen, wenn
ich mir mein Inventar ansehe ... :(

Jesko, hat ein intimes Verhaeltnis zu seiner Ausruestung. ;)

-----------------------------------------------------------------------------



Re: Reboots und so ... (Patryn,  7. Apr 1998, 20:01:35):
~#! rn=Jesko rt=891971897 rg=entwicklung
~#! tid=891971897
deine rollenspielerseele sollte geradezu danach schreien, mal deine
mitspieler um hilfe zu beten :)
aber die idee hatte mir letztens schon mal jemand aufgetischt, und ich
finde sie nich so schlecht: je nach level des spielers kann man eine
bestimmte anzahl von objekten markieren, die dann autoload werden.
das problem ist nur, dass sich sowas nachtraeglich nur sehr schwer in
das mudkonzept integrieren laesst, autoload-objekte haben hier einen
anderen stellenwert als in muds, wo so etwas geht.
auch technisch ergeben sich einige schwierigkeiten mit nicht-08/15-objekten.

------
patryn

-----------------------------------------------------------------------------



Re: Re: Reboots und so ... (Jesko,  7. Apr 1998, 20:10:16):
~#! rn=Patryn rt=891972095 rg=entwicklung
~#! tid=891971897
Salve.

Naja, man hat ja auch seinen Stolz.
Klauen, Sachen mitnehmen, die einem nicht gehoeren und so oder Leute toeten
und fleddern ist ok, aber betteln? ;-)

Jesko, arm aber stolz

-----------------------------------------------------------------------------



Re^3: Reboots und so ... (Qitess,  8. Apr 1998, 14:23:46):
~#! rn=Jesko rt=891972616 rg=entwicklung
~#! tid=891971897
Ich sag jetzt mal kurz, wo wir hier sind : in einem MULTI user dungeon.
Ich persoenlich trage gerne mal eine abgelegte Ruestung eines freundlichen
Mitspielers. Wer da zu stolz ist zu fragen, ob irgendjemand eine kleine Spende
leisten moechte, ist selber schuld. Im uebrigen sollte man glaube ich mit
level 7 durchaus in der Lage sein, sich ein gewisses Standardmass an
Ausruestung zuzulegen, auch nach einem Reboot. Und wenn man sich genau
umschaut, dann findet man tatsaechlich sogar etwas mitten auf der Strasse.
Oder man fragt seine Freunde.

Im Uebrigen zu der Idee mit den selbstmarkierten Autoload-Objects muss ich
sagen, dass es wohl eher unguenstig ist, weil man sich dann naemlich nur
einmal den Weghier, oder nur einmal das SMS, oder nur einmal die
Hydratoeterruestung ermetzeln muss, und sich damit so langsam aber sicher eine
Max-Ruestung zusammengemetzelt hat, die man nie wieder verliert. Ich glaube,
das ist nicht so toll, wenn alle irgendwann nur noch die tollsten Sachen
anhaben und die auch nicht mehr verlieren koennen...

QI** traegt alte Lederhosen auf.


-----------------------------------------------------------------------------



Re^3: Reboots und so ... (Jasper,  8. Apr 1998, 15:03:56):
~#! rn=Jesko rt=891972616 rg=entwicklung
~#! tid=891971897
Du bist zu gut fuer diese Welt....

Jasper deutet auf 'zombiemud.org 3000'  ;P
   , da wo die leute dich pkillen, wenn du einen artikel schreibst der
     ihnen nicht passt.

-----------------------------------------------------------------------------



Re^4: Reboots und so ... (Obermotz,  8. Apr 1998, 15:07:04):
~#! rn=Jasper rt=892040636 rg=entwicklung
~#! tid=891971897
Hm, ich hatte das so verstanden, das z.B. alle, die Level kleiner 10 sind sich
5 Sachen markiren koenne. Bis Level 15 noch 2 und darueber nischt. Man kann ja
auch die besonders guten Sachen von sowas ausschliessen.
Fuer LLPs finde ich solche moeglichkeit nicht schlecht. Ich selbst brauche
nicht unbedingt max. Ruestung und komme so an die Sachen ganz gut ran.

OM


-----------------------------------------------------------------------------



Re^5: Reboots und so ... (Jasper,  8. Apr 1998, 15:08:11):
~#! rn=Obermotz rt=892040824 rg=entwicklung
~#! tid=891971897
Warum nicht gleich den kram der in den truhen der seherhaeuser liegt crash-
und
rebootsicher machen?

jasper

-----------------------------------------------------------------------------



Re^6: Reboots und so ... (Obermotz,  8. Apr 1998, 15:08:52):
~#! rn=Jasper rt=892040891 rg=entwicklung
~#! tid=891971897
Ich kenne keinen Seher, der Level 15 oder kleiner ist ;-)

OM

-----------------------------------------------------------------------------



Re^7: Reboots und so ... (Jasper,  8. Apr 1998, 15:09:39):
~#! rn=Obermotz rt=892040932 rg=entwicklung
~#! tid=891971897
ich schon :)

jasper wedelt mit dem 'verleg mich bitte grimmborn'-faehnchen

-----------------------------------------------------------------------------



Re^5: Reboots und so ... (Neb,  8. Apr 1998, 15:19:11):
~#! rn=Obermotz rt=892040824 rg=entwicklung
~#! tid=891971897
Weil dann viele hohe Spieler ihrem low-level-xtie (vielleicht nicht markiert)
vor dem ausloggen jede menge tolle Dinge geben wuerden, die sie gerne nach nem
Reboot noch haetten?

Neb.

-----------------------------------------------------------------------------



Re^6: Reboots und so ... (Deepblue,  8. Apr 1998, 15:36:08):
~#! rn=Jasper rt=892040891 rg=entwicklung
~#! tid=891971897
Das wuerde doch gerade die Highlevelplayer staerken, nicht wie gewollt die LLP
Aber als Karateka hab ich das Problem ja nicht :-)
nn

-----------------------------------------------------------------------------



Re^6: Reboots und so ... (Obermotz,  8. Apr 1998, 15:44:46):
~#! rn=Neb rt=892041551 rg=entwicklung
~#! tid=891971897
Das ist ein gutes Argument. Faellt mir mom auch keine Loesung ein. Aber der
Rest der Spieler hat es ja auch ohne geschafft. Aber was das Fragen angeht:
man sollte es ruhig probieren. Ich verschenke oefter mal Zeug, das ich nicht
brauche oder im Ueberfluss habe. Wobei Ueberfluss gewoehnlich heisst: ich
brauch es einmal fuer mich und einmal fuer meinen 2tie. Alles darueber ist
Ueberfluss.

OM, meistens spendabel

-----------------------------------------------------------------------------



Re^4: Reboots und so ... (Jesko,  8. Apr 1998, 16:55:00):
~#! rn=Qitess rt=892038226 rg=entwicklung
~#! tid=891971897
Nun, erst einmal vorweg: Das mit dem 'nicht betteln' war eigentlich nur
als kleiner, lascher Gag gedacht, also bitte nicht direkt gegen mich
auslegen. ;)
Und klar, natuerlich bin ich in der Lage, mich jedesmal neu auszusatten
(und das sogar auch ohne fremde Hilfe), jedoch: Es Nervt! Und ganz besonders,
wenn das MUD ja scheinbar jetzt mindestens 2x taeglich hoch und runter
gefahren wird.

Worum es mir in erster Linie ging war, einen meiner meinung nach schoenen
Vorschlag zur verbesserung der Spielbedingungen vorzutragen.
Das es dabei auch Probleme (neben technischen) gibt, ist mir auch klar.
Ich wuerde es z.B. einsehen, wenn nur 'Standartgegenstaende', also solche,
die eh 'auf der Strasse liegen' behalten werden koennen und eben keine
Super-Hydra-Toeter-Ruestungen oder was weiss ich. Ob eine beschraenkung nach
Stufen noetig waere, kann ich nicht sagen, ich wuerde aber eher an eine
konstante Anzahl fuer alle denken.
Dann ist da natuerlich noch das Problem mit den Zweities - und sicher
wuerde es auch neben einer Hypobank dann auch noch einen Hyposchrank geben -
aber ich halte auch diese ganze Geschichte mit den Bankzweities eh schon
fuer eine Powergamerhafte Unsitte, die du nur durch den Goodwill und das
Einsehen der Spieler in den Griff bekommst: also nie!

Aber wie gesagt, sind alles nur wunschvorschlaege meinerseits, ueber die
sowieso maechtigere dieses MUDdes zu entscheiden haben ... oder? ;)

Jesko, traeumt von einer besseren Welt fuer uns alle

-----------------------------------------------------------------------------



Re^6: Reboots und so ... (Hangover,  8. Apr 1998, 17:03:04):
~#! rn=Jasper rt=892040891 rg=entwicklung
~#! tid=891971897
Ja, bitte :)

-Hangover

-----------------------------------------------------------------------------



Re^5: Reboots und so ... (Yendi,  8. Apr 1998, 20:18:45):
~#! rn=Jesko rt=892047300 rg=entwicklung
~#! tid=891971897
Das Behalten von Gegenstaenden in vielleicht etwas problematisch, aber wie
waere es, wenn LLPs im Falle eines Ribuhts mehr Kohle fuer ihr Zeugs
rueckerstattet bekaemen, so dass sie sich schneller ihre Ausruestung kaufen
koennten? Ich denke dabei an Wert*(1+(1/level)): Erststuefler kriegen das
doppelte, 10.-Stuefler noch das 1.1-fache.

Diese Art der Geldbeschaffung duerfte fuer HLP uninteressant sein (zumindest,
sobald *zensiert* seine Pfoten vom Rechner laesst und wir wieder laengere
Laufzeiten haben) und doch den Kleinen helfen.

Kommentare?

YTY



-----------------------------------------------------------------------------



Re: Re: Reboots und so ... (Overlord,  8. Apr 1998, 20:31:35):
~#! rn=Patryn rt=891972095 rg=entwicklung
~#! tid=891971897

Ich moechte mall anregen, falls Autoloadmarkierung in der Diskussion bleibt,
einen Newbiebonus wie folgt einzufuehren:

1. Level 5 Objekte markierbar
2. Level 4
3. level 3
usw

Mit einer solchen Regelung waere Anfaengern geholfen und andererseits
braeuchte man dann ab level 6 wieder ganz normal Asche um sich auszuruesten.

Ovi

-----------------------------------------------------------------------------



Re^3: Reboots und so ... (Overlord,  8. Apr 1998, 20:35:59):
~#! rn=Overlord rt=892060295 rg=entwicklung
~#! tid=891971897
PS: Damit meine ich NICHT, dass man insgesamt 1+2+3+4+5=15 Objekte als
Autoload markiert, sondern dass man mit jedem Level 1 Autoload verliert

Ovi hat keine Lust auf Wortverdreher

-----------------------------------------------------------------------------



Re^3: Reboots und so ... (Trekan,  8. Apr 1998, 22:12:31):
~#! rn=Overlord rt=892060295 rg=entwicklung
~#! tid=891971897
Welcher wirkliche newbie soll da durchblicken? der weiss nichtma, wieso/warum
autoload crash und andere komische sachen noetig sind
Trekan

-----------------------------------------------------------------------------



Re^4: Reboots und so ... (Grimmborn,  8. Apr 1998, 22:32:21):
~#! rn=Overlord rt=892060559 rg=entwicklung
~#! tid=891971897
Klar, und ich halte mir eine Armee von Erstlevelzweities, denen ich meine
Ausruestung uebergebe und die vielleicht auch noch Reserveausruestung haben
(fuer den Fall dass mich der crash erwischt waehrend ich rumlaufe).
Neinnein, so geht das sicher nicht.

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re^5: Reboots und so ... (Overlord,  8. Apr 1998, 22:47:35):
~#! rn=Grimmborn rt=892067541 rg=entwicklung
~#! tid=891971897

Man koennte die Markierungen ja 
1. auf Erstspieler beschraenken
2. fuer Objekte ab einer gewissen Geld-/Kampfwerthoehe sperren.

Da Zweities sowieso angemeldet werden muessen, sollte die Regelung greifen.
Und wenn man im Laden halt die ueblichen Dumpingpreise fuer seinen Ramsch
bekommt, ist es fuer HLP die Muehe nicht wert.
Aber Anfaenger haetten ein bisschen davon.

Ovi, findet die Hinweise auf den ersten Mudbuchstaben ueberfluessig, da
Newbies meistens ohne Resonanz betteln

-----------------------------------------------------------------------------



Re^6: Reboots und so ... (Bloodyharry,  9. Apr 1998, 07:26:54):
~#! rn=Overlord rt=892068455 rg=entwicklung
~#! tid=891971897
Markierte Objecte sollten nicht auf Zweite uebertragbar sein. Dann erledigt
sich zumindest das Problem der "Armee von Erstlevelzweities".
Allerdings bin ich nicht dafuer, wenn solche Objecte unendliche viele reboots
ueberleben. Der Schutz darf nur eine bestimmte Zeit lang aktiv sein.

bh

-----------------------------------------------------------------------------



Re^7: Reboots und so ... (Hangover,  9. Apr 1998, 08:17:19):
~#! rn=Bloodyharry rt=892099614 rg=entwicklung
~#! tid=891971897
Tut mir leid, aber das Prinzip ist IMHO kompletter Schwachfug.
In letzter Konsequenz wuerde das naemlich dazu fuehren, dass
jeder Spieler, der mal ein gutes Teil geschenkt bekommt, das
dann auch ueber sein gesamtes Mudleben retten kann - quasi
also mit Maxruestung sein Leben fristen kann, egal, ob er auch 
nur ansatzweise in der Lage ist, noch einmal dranzukommen,
oder nicht. Das kann doch so nicht sein.

-Hangover
(der von Wursties eh schon die Schnauze voll hat)

-----------------------------------------------------------------------------



Re^7: Reboots und so ... (Bloodyharry,  9. Apr 1998, 08:20:24):
~#! rn=Bloodyharry rt=892099614 rg=entwicklung
~#! tid=891971897
Deshalb ja auch die zeitliche Einschraenkung.
Siehe mein vorheriges Posting.

bh

-----------------------------------------------------------------------------



Re^8: Reboots und so ... (Hangover,  9. Apr 1998, 08:22:20):
~#! rn=Bloodyharry rt=892102824 rg=entwicklung
~#! tid=891971897
Schon klar, aber wie Trekan bereits festgestellt hat - wirklich
kleine Spieler (unter Level 10) kennen sich hier eh nicht so gut
aus, fuer die ist Reboot, Crash, Autoloader etc. eben etwas eher
unbekanntes, und Zeitung lesen sie meistens auch nicht. Zumindest
ist das so meine Erfahrung aus Anfaengerzeiten.
Und wenn ein Spieler erst einmal so weit ist, dass er sich hier
auskennt, kommt er auch an die Sachen ran.

-Hangover

-----------------------------------------------------------------------------



Re^9: Reboots und so ... (Bloodyharry,  9. Apr 1998, 08:33:47):
~#! rn=Hangover rt=892102940 rg=entwicklung
~#! tid=891971897
Ich glaube nicht, dass es darum geht. Es ist doch so, dass derzeit noch sehr
hauefig Abstuerze/Reboots auftreten. Um den Umstand des haeufigen Verlustes
von Ausruestung ein wenig abzumildern, koennte so ein Mechanismus begruendet
sein.
Wenn sich an dieser Stelle vielleicht mal ein paar Betroffene zu Wort melden
wuerden, koennte man in Etwa sehen, ob diese Diskussion ueberhaupt sinnvoll
erscheint. Also .. ?

bh

-----------------------------------------------------------------------------



Re^10: Reboots und so ... (Hangover,  9. Apr 1998, 08:35:15):
~#! rn=Bloodyharry rt=892103627 rg=entwicklung
~#! tid=891971897
Mir waere es ehrlichgesagt lieber, wenn unsere programmierfreudigen
Magier ihre Energie in einen stabileren und bugfreieren Driver stecken
als in sowas. Und nochwas: wer in einer Zeit, in der das MUD offensichtlich
NICHT stabil laeuft, gleich nach jedem Crash loslaeuft, um Ausruestung zu 
sammeln ist vielleicht selbst schuld.

-Hangover
(hasst Reboots zwar auch...)

-----------------------------------------------------------------------------



Re^11: Reboots und so ... (Bloodyharry,  9. Apr 1998, 08:53:44):
~#! rn=Hangover rt=892103715 rg=entwicklung
~#! tid=891971897
Never change a running program!
Den Spruch kennst Du sicher? Aber ist es Dir lieber, es wuerde nichts weiter
entwickelt oder akzeptierst Du, dass es bei der Entwicklung immer wieder die
Gefahr von Bugverseuchung besteht?
Die Magier investieren sehr viel ihrer Freizeit in das Mud, damit es besser,
schoener, wasweissichwasnoch wird. Und das alles aus reinem Intusiasmus
heraus. Denn (derzeit) erhalten sie ja praktisch nix als Gegenleistung dafuer.
Vielleicht moechtest Du ja gerne uns "arme" Magier finanziell unterstuetzen?
:)

bh

-----------------------------------------------------------------------------



Re^12: Reboots und so ... (Bloodyharry,  9. Apr 1998, 09:01:33):
~#! rn=Bloodyharry rt=892104824 rg=entwicklung
~#! tid=891971897
> Vielleicht moechtest Du ja gerne uns "arme" Magier finanziell unterstuetzen?

Btw. Eine Mitgliedschaft im MorgenGrauen Verein (e.V. ?) wuerde auch schon
weiter helfen. Infos gips bekanntlich im Raum ueber der Abenteurergilde.

bh

-----------------------------------------------------------------------------



Re^10: Reboots und so ... (Bensonmam,  9. Apr 1998, 09:59:52):
~#! rn=Bloodyharry rt=892103627 rg=entwicklung
~#! tid=891971897
Man kann doch, wie schon frueher angeregt, den LLPs ihre Sachen nach einem
Reboot oder Crash etwas hoeher ersetzen, und zwar nicht nur reziprok zum Level
sondern auch zur Dauer des vorherigen Uptimes.
Wenn es dann mal wieder etwas haeufiger crasht, hat man es leichter, seine
Ausruestung wieder zusammenzukaufen.

j. Bensonmam

-----------------------------------------------------------------------------



Re^11: Reboots und so ... (Anatol,  9. Apr 1998, 10:11:46):
~#! rn=Bensonmam rt=892108792 rg=entwicklung
~#! tid=891971897
Falls unsere Client-verwoehnten Anfaenger mit /quit aus dem Spiel 
aussteigen, werden sie in der Tat mit einem Crash ueberhaupt
nichts anfangen koennen. Wer "schlafe ein" tippt und des Lesens
maechtig ist (unterstelle ich einem Mudder spontan :)), ist darueber
zumindest schonmal aufgeklaert. Und koennte, weil er neugierig ist, 
andere fragen.

Gegen den Autoloadzirkus,
Anatol

"schlafe ein" beendet Deine Verbindung mit Morgengrauen. Du behaeltst Deine
Sachen, aber Vorsicht: Wenn MorgenGrauen abstuerzt, waehrend Du weg bist,
verlierst Du sie doch, genauso, als wenn Du Deine Verbindung mit "ende"
beendet haettest (allerdings bekommst Du dann eine finanzielle
Entschaedigung).
ABER: BENUTZUNG AUF EIGENE GEFAHR !!!


-----------------------------------------------------------------------------



Re^12: Reboots und so ... (Karis,  9. Apr 1998, 10:20:17):
~#! rn=Anatol rt=892109506 rg=entwicklung
~#! tid=891971897
Lasst Es doch einfach so wie es ist. Bis ein Anfaenger das alles
rausbekommen hat, wies funzt, ist er doch min. Level 10. 
Somit dienen alle Aenderungen wie Autoload oder mehr Geld nur noch
dazu, irgendwelchen Zweities irgendwas (Geld/Ausruestung) zu 
beschaffen/besonders tollen Ersatz zu bekommen.
Normalerweise liegt das Zeug doch eh auf der Strasse rum - es
hat immer genuegend Metzler gegeben, die etwaige Ausruestung liegen
lassen und nur nehmen, was sie brauchen. Genauso gibt es Leute, 
die ihr Zeug verschenken. Und was ein Anfaenger braucht, ist sowieso
Ortskenntnis und keine tolle Ausruestung - fehlen doch eh die
notwendigen Stats zum Metzeln.

Karis, schlaegt in die gleiche Kerbe wie Anatol

-----------------------------------------------------------------------------



Re^10: Reboots und so ... (Freund,  9. Apr 1998, 10:36:11):
~#! rn=Bloodyharry rt=892103627 rg=entwicklung
~#! tid=891971897
Die Zeit der haufigen Reboots sollte vorbei sein, zumindest verwaltet der GD
jetzt seinen vollen Speicher. :-) Wir sind bei 140 MB...

Freund

-----------------------------------------------------------------------------



Re^11: Reboots und so ... (Ringor,  9. Apr 1998, 10:38:07):
~#! rn=Freund rt=892110971 rg=entwicklung
~#! tid=891971897
Und was passiert, sobald die 256 MB voll sind?

Crash? Armageddon? Regelmaessiges Lag wg. swappen? 

Ringor. Pessimist ;-)

-----------------------------------------------------------------------------



Re^12: Reboots und so ... (Gloinson,  9. Apr 1998, 10:54:04):
~#! rn=Ringor rt=892111087 rg=entwicklung
~#! tid=891971897
VOLLE KRAFT VORAUS! Das MG ist unrebootbar. Wir holen uns das Blaue
Band der UpTime.

Gloin

-----------------------------------------------------------------------------



Re^8: Reboots und so ... (Patryn,  9. Apr 1998, 11:01:01):
~#! rn=Hangover rt=892102639 rg=entwicklung
~#! tid=891971897
also um mal eines festzustellen: wie ich bereits erwaehnte, kann man nicht
nur einfach dieses autoload-feature einbaun und alles ist gut und schoen.
vieles vom bisherigen mud-konzept muesste im einklang damit geaendert werden,
was zB heisst, dass alle gegenstaende mit der zeit kaputtgehen. ob euch das
nun lieber ist, als nichtmarkierbare autoload-objekte wage ich zu
bezweifeln...

------
patryn

-----------------------------------------------------------------------------



Re^9: Reboots und so ... (Larissa,  9. Apr 1998, 11:10:29):
~#! rn=Patryn rt=892112461 rg=entwicklung
~#! tid=891971897

Ahoi!
Wie waere es denn mit einem netten NPC, der ausruestung an
Anfaenger verschenkt. Die sollte man natuerlich nicht verkeufen/
verschenken koennen, oder sie ist einfach nix wert.

Lari.

-----------------------------------------------------------------------------



Re^10: Reboots und so ... (Dieder,  9. Apr 1998, 11:11:35):
~#! rn=Larissa rt=892113029 rg=entwicklung
~#! tid=891971897
super idee!

Dieder, an seine Zeit als LLP zurueckdenkend, und heute immer noch ne Wurst

-----------------------------------------------------------------------------



Re^10: Reboots und so ... (Karis,  9. Apr 1998, 11:13:55):
~#! rn=Larissa rt=892113029 rg=entwicklung
~#! tid=891971897
Karis faende sowas toll.

-----------------------------------------------------------------------------



Re^10: Reboots und so ... (Yaren,  9. Apr 1998, 12:01:52):
~#! rn=Larissa rt=892113029 rg=entwicklung
~#! tid=891971897
Sorry, dass ich da auch mal senfen muss: ihr macht hier wegen nix nen Affen:
es gibt kein Ausruestungsproblem fuer LLP. Entweder man laeuft an einigen
Stellen einfach lang und sammelt ein, man fragt irgendwen oder man stellt sich
zu einem NPC, dessen Ruestung man haben will und warte kurz, bis irgendwer
vorbeikommt um den umzuhauen - ich habe auch als LLP nie Probleme gehabt, mir
Ausruestung zu beschaffen. Und markierenbare Autoload-Objekte sind wierklich
voellig daneben, da koennten wir auch gleich jedem beim Einloggen ne
Hydraruestung und 'nen Vollstrecker schenken ...

Yaren, selbst noch nen Wurstie ...

-----------------------------------------------------------------------------



Re^11: Reboots und so ... (Tarina,  9. Apr 1998, 12:30:27):
~#! rn=Yaren rt=892116112 rg=entwicklung
~#! tid=891971897
Seh ich auch so, hat nie Schwierigkeiten mit Ausruestung gehabt als Anfaenger.

Tarina

-----------------------------------------------------------------------------



Re^10: Reboots und so ... (Neb,  9. Apr 1998, 12:37:09):
~#! rn=Larissa rt=892113029 rg=entwicklung
~#! tid=891971897
Also, fuer Anfaenger-Ausruestung braucht man keinen NPC.
Als ich Llp war, da kannte ich zumindest genug stellen, an denen bei jedem
raumreset aufs neue Llp-Ausruestungsgegenstaende ohne metzeln herumliegen
(Lederruestung, Messer, Rucksack, Fackel, alles in der NAehe der Startpunkte
der Rassen) und habe  mal bei den Gardewaechtern geschaut, da dort eigentlich
immer Helme, Schuhe und Ruestungen herumlagen (die meisten HLP sind halt doch
nur scharf auf Edelsteinsaeckchen da).
Es muss ja nicht ejder Level 1-SPieler direkt nach nem Rbeoot immer mit
maximaler AUsruestung rennen, lasst es einfach so, wie es ist.

Meine Meinung, Neb.

-----------------------------------------------------------------------------



Re^11: Reboots und so ... (Gloinson,  9. Apr 1998, 12:50:58):
~#! rn=Neb rt=892118229 rg=entwicklung
~#! tid=891971897
Immer drauf :) Ich hau auch in die Kerbe. Als LLP habe ich entweder den
Metzlern hinterhergeraeumt (und so mit <10 die SSP kennengelernt) oder
mich beschenken lassen. Und heutzutage sammel ich meinen Muell ein, werf
es beim Sandtiger ab oder drueck es einem Newbie in die Hand.

Gloin

-----------------------------------------------------------------------------



Re^11: Reboots und so ... (Marcus,  9. Apr 1998, 12:55:47):
~#! rn=Hangover rt=892103715 rg=entwicklung
~#! tid=891971897
Ein Teil der driverProbleme sollten gefixt sein.

-zMarcus

-----------------------------------------------------------------------------



Re^10: Reboots und so ... (Gwynwaiter,  9. Apr 1998, 13:52:17):
~#! rn=Bloodyharry rt=892103627 rg=entwicklung
~#! tid=891971897
Eswurde gebeten, dass LLPs dies kommentieren (was ohne Space-Taste nervig
ist,aberihrmuesstsjalesen, nichtich).

ich bin sehr fuer die kombiloesung mit rebootfesten Gegenstaenden in der
Bloodyharry-Variante mit Abstufung:

Level 1 5objekte, Level 2 4Objekte, Lv3 3, Lv4 2, Lv5 1  
Also immer ein Objekt weniger, also keine Max-Ruestung auf Dauer.

Alle Rebootfesten Objekte nicht uebertragbar, auch nicht verkaufbar, also kein
gewinn.

level 6-10 koennten 1 Objekt mit denselben grenzen haben, das sollte dannaber
ein Verfallsdatum haben, dh bleibt max. 1 Mud-Tag Rebootfest.

Und  ueber level 10 koennen sichdieLeutewirklich selbst was besorgen, also
dadurch auch keine Wurstseher (keine erweiterten/verschlimmerten).

Das Ganze mindert den Frust, erhoeht den Spass (so wie "eknuddel") und sollte
unbedingt eingefuehrt werden...

Findet zumindest.
Gwyn*

-----------------------------------------------------------------------------



Re^11: Reboots und so ... (Yaren,  9. Apr 1998, 13:56:11):
~#! rn=Gwynwaiter rt=892122737 rg=entwicklung
~#! tid=891971897
Das Problem wurde doch schon skizziert: die Moeglichkeiten des Missbrauchs und
der damit verbundenen Balance-Probleme ueberwiegen.

Yaren, ist strikt dagegen.

-----------------------------------------------------------------------------



Re^12: Reboots und so ... (Yendi,  9. Apr 1998, 14:21:19):
~#! rn=Yaren rt=892122971 rg=entwicklung
~#! tid=891971897
OK, OK, ich bin ueberzeugt... Hiermit ziehe ich meinen Vorschlag, Anfaengern
eine hoehere Entschaedigung zukommen zu lassen, zurueck (wenn das mit
Vorschlaegen ueberhaupt geht, und nicht nur mit Antraegen...) und stimme im
gleichen Atemzug auch gegen neustartfeste Anfaengergegenstaende.

Stimmt, als ich noch LLP war (und im Grunde bin ich's ja immer noch) hatte ich
entweder keine Probleme, an Ausruestung zu kommen, oder Spass daran.
Heutzutage ist es ja einfacher, rumliegende Ausruestung zu finden, als lebende
Monster...

Yendi
      denkt mit Horror an seine Zeit als uebender Karateka zurueck



-----------------------------------------------------------------------------



Re^13: Reboots und so ... (Dhojakt,  9. Apr 1998, 14:31:20):
~#! rn=Yendi rt=892124479 rg=entwicklung
~#! tid=891971897
Jetzt muss ich doch noch mal meinen Senf oeffentlich dazugeben:
Es kommt doch drauf an, wozu man sowas einfuehrt: 

Ich haette hier im Sinn, das Spielgeschehen von den Reboots zu entkoppeln.
Ein Spieler kann mit steigendem Level halt alle 1000 STP einen Gegenstand
mehr ueber einen Reboot hinweg behalten (Aus Speicherplatzgruenden sollte 
man nicht zuviele geben, sonst gibts Leute, die wirklich allen Ramsch 
behalten). Anfaenger brauchen eigentlich sowas nicht, es liegt einiger 
Kram fuer Anfaenger herum, ausserdem sollten diese besser erkunden als
metzeln. Ich hatte jedenfalls als Anfaenger keine Probleme, einmal Ed oder
Toeter hinterherrennen hat das Ausruestungsproblem geloest :).

Dazu muesste man halt dafuer sorgen, dass sich der Kram x Tage (vorzugsweise
30-40, was einer vernuenftigen Uptime entspraeche) nach dem Besorgen 
aufloest. Dass sowas geht sieht man ja an der Hydrarue. Evtl kann man das 
dann auch als Onlinezeit machen, dann waere es vollstaendig Spielerbezogen 
und besonders wenig-muddende Leute muessen nicht dauernd nach Kram rennen.

Mit (Pseudo-)Uniques (Hauruck, Vollstrecker) waeren deutlich kuerzere 
Zeitspannen (so 1 Woche) zu waehlen, mit dem Zusatz, dass der, der es 
gerade hatte, es eben nicht gleich wieder kriegt, sondern erst 1-2 d 
spaeter. Ausserdem muessten diese Zeiten Absolutzeiten und keine 
Onlinezeiten sein, schliesslich wollen auch andere mal.

Jede Sache, die rebootbehaltefaehig ist kriegt halt ne Propertie gesetzt, 
dass sie ueber nen Reboot unveraendert wiedererschaffen werden koennen (im
Stadium, wie sie vor Reboot war, einschliesslich Abnutzung und so - bei
einer Vielzahl duerfte das nicht so schlimm sein, allerdings gibts Sachen,
wo nicht nur Properties im Objekt sind, sondern auch Variablen, und das
duerfte nicht leicht werden).

Die Reaktionen bei den Magiern, die ich vor einiger Zeit danach gefragt hab, 
waren aber eher in der Richtung: Wer soll das proggen und die alten Sachen 
umstellen als prinzipieller Ablehnung.

Das wollte ich mal gesagt haben,
Khidar.

-----------------------------------------------------------------------------



Morgoth (Rochus,  9. Apr 1998, 16:31:57):
Morgoth ist jetzt oft genug an den Folgen seines Weckrufs gestorben,
ich habe seine Sterblichkeit wieder ausgebaut (teilweise auch, weil auf
die Art Objekte in Umlauf geraten sind, die Morgoth sich geclont hat)

-----------------------------------------------------------------------------



Re: Morgoth (Ark,  9. Apr 1998, 16:33:37):
~#! rn=Rochus rt=892132317 rg=entwicklung
~#! tid=892132317
*lach, bruell, kicher*


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Idee beim Sterben.....oder so... (Hasim,  9. Apr 1998, 17:10:41):
Nun gut, hatte grade mal eben eine Idee, das sterben zu verschoenern:
1.) Wenn ein Seher stirbt, sollte doch etwas mehr passieren als eine blosse
Todesmeldung, also etwas wie: "Ein lauter Schrei etoent...." blablabla,
irgendwas schoenes, geschwollenes, kann sich ja jeder selber ausdenken, wie
bei setmin oder so....
2.) Fuer die Moeglichkeit eines Teamkampfes koennten die uebriggebliebenen
Konzentrationspunkte unter dem weiteren Mitgliedern des Teams aufgeteilt
werden...was vielleicht zu Altruismus (richtige Vokabel?) fuehren koennte,
aber doch einen vorteil fuer die hinterbliebenen braechte...
Man muesste natuerlich irgendwie festlegen, unter wem die Punkte verteilt
werden... -> Testament oder so
Das wars dann auch schon....
Hasim

-----------------------------------------------------------------------------



Re^11: Reboots und so ... (Jasper,  9. Apr 1998, 17:35:01):
~#! rn=Bensonmam rt=892108792 rg=entwicklung
~#! tid=891971897
Man koennte auch nach einem crash die letzten savefiles vorm crash wiederladen
dann wuerde man seinen kram auch behalten

-----------------------------------------------------------------------------



Re: Idee beim Sterben.....oder so... (Grimmborn,  9. Apr 1998, 17:35:30):
~#! rn=Hasim rt=892134641 rg=entwicklung
~#! tid=892134641
1) Solange mans ignorieren kann bin ich dafuer.
2) Uebriggeblieben beim Tod eines Teamitgliedes? Altruismus ist ein 
   Rueckschritt, wenn Du als Mensch beispielsweise mit einem (Reptilien-)
   Schwanz geboren wirst. Da nicht klar wird was Du sagen willst kann ich
   nicht sagen, obs die richtige Vokabel ist. Ansonsten: Wenn Du ein
   Teammitglied sterben siehst fuehrt das ganz sicher nicht dazu, dass 
   Du davon noch Vorteile hast, die meisten sind durch den Tod eines
   Freundes denn doch eher mitgenommen.

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re^12: Reboots und so ... (Grimmborn,  9. Apr 1998, 17:36:22):
~#! rn=Jasper rt=892136101 rg=entwicklung
~#! tid=891971897
Und seit wann wird die (nichtautoload-) Ausruestung im savefile gespeichert?
Wurstmagier.

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re^13: Reboots und so ... (Jasper,  9. Apr 1998, 17:40:50):
~#! rn=Grimmborn rt=892136182 rg=entwicklung
~#! tid=891971897
hmmm, wo du recht hast,.... naja also gehoert das inventory eines spielers
ins savefile :)

ach scheissegal macht was ihr wollt :)

-----------------------------------------------------------------------------



Re^13: Reboots und so ... (Hasim,  9. Apr 1998, 18:46:09):
~#! rn=Grimmborn rt=892136182 rg=entwicklung
~#! tid=891971897
Hmmm, kann echt sein, dass ich da was verwechselt hab, ich dachte an an die
bienen -NEIN. nicht so, die haben da auch sowas, ich dachte, das hiesse
Altruismus, oder nicht.... egal... ist ja nicht so wichtig, ich wollte damit
nur sagen, es gibt doch immer wieder so schoene filme, wo sich der held, die
Heldin, und fuer alle anderen DAS Held, aufopfert, um die anderen zu
retten...waere doch ganz nett, und da der tod doch reversibel ist, warum
sollte ich da Trauer empfinden... ist halt etwas aergerlich, aber der Typ
steht doch 5 min spaeter wieder da, daher koennte es anstatt nur nachteile
fuer einen Vorteile fuer viele bringen, so seh ich  das....
Hasim, dem jetzt bestimmt nachgesagt wird, er sei ein Leichenfledderer...

-----------------------------------------------------------------------------



Re^14: Reboots und so ... (Grimmborn,  9. Apr 1998, 18:50:07):
~#! rn=Hasim rt=892140369 rg=entwicklung
~#! tid=891971897
OK, dann mach ich ein Team mit ein paar Sterbezweities, die lass ich
widerstandslos abschlachten und hau dann mit 1000 Konzentrationspunkten zu.
War das in etwa das woran Du gedacht hattest?

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re^15: Reboots und so ... (Yaren,  9. Apr 1998, 19:26:31):
~#! rn=Grimmborn rt=892140607 rg=entwicklung
~#! tid=891971897
JAAAAA!

Yaren will das auch! (ab nach Schmarrn ...)

-----------------------------------------------------------------------------



Re^14: Reboots und so ... (Jesko,  9. Apr 1998, 19:43:36):
~#! rn=Dhojakt rt=892125080 rg=entwicklung
~#! tid=891971897
Peace!

Ich muss zugeben, dass ich die von Khidar vorgestellte Idee inzwischen am
schoensten finde. In gleichem masse muss ich allerdings auch in dem Punkt
zustimmen, das wenn selbst die magier - auf deren Schultern immerhin die
ganze arbeit am ende haengen bleiben wuerde - meinen, so was sei
nicht ohne weiteres machbar oder auch nicht in deren Sinne, wie das MG
laufen sollte, dann koennen wir uns diese Grundsatzdiskussion hier auch
sparen und dazu ueberbegehen, vielleicht ueber neue Ideen nachzudenken
und zu streiten. ;)

Ich finde es fuer mein MUD-Verstaendiss zwar Schade, das es sowas nicht gibt
(und wohl nicht geben wird?!?), aber seis drum.

Jesko, der nur will, dass man Wursties und Bluemchenpflueckern wie ihm
auch eine Chance gibt ;)

-----------------------------------------------------------------------------



Re^8: Reboots und so ... (Overlord,  9. Apr 1998, 19:56:30):
~#! rn=Hangover rt=892102639 rg=entwicklung
~#! tid=891971897

Deswegen ja auch mein Vorschlag (Art. 180 vom 8. Apr. 1998 , aber aendert sich
ja staendig), dass man ab lvl 6, meinetwegen auch niedriger, den diskutierten
Autoloadbonus komplett verliert. Falls sowas programmtechnisch machbar ist,
natuerlich.

Ovi

-----------------------------------------------------------------------------



Re^9: Reboots und so ... (Yaren,  9. Apr 1998, 20:01:19):
~#! rn=Overlord rt=892144590 rg=entwicklung
~#! tid=891971897
Es geht hier nicht in erster Linie um das programmtechnisch Machbare, sondern
darum, dass eine solche Regelung zu Missbrauch fuehrt und obendrein voellig
unnoetig ist (wie schon mehrfach erwaehnt wurde).

Yaren

-----------------------------------------------------------------------------



Re^13: Reboots und so ... (Overlord,  9. Apr 1998, 20:01:21):
~#! rn=Karis rt=892110017 rg=entwicklung
~#! tid=891971897

Ich kenne die Neuralgischen Punkte, wo was liegen koennte, auch. Das nuetzt
mir nur nicht viel, weil grad dann nix da ist, wenn ich irgendwo metzeln will,
und dann, wenn ich zB ZTs suche oder queste, liegen da Sachen rum, die
hoechstens bescheidenes bares bringen, mir aber im Moment nix nuetzen.
Besonders nach den ganzen Reboots die letzte Zeit.

Ovi...chronisch Pleite, weil man einem Nackten nicht in die Tasche greifen
kann

-----------------------------------------------------------------------------



Re^10: Reboots und so ... (Embe,  9. Apr 1998, 20:36:04):
~#! rn=Yaren rt=892144879 rg=entwicklung
~#! tid=891971897
also hier wird dauernd behauptet, das gegenst"ande nicht
reboot sicher sein d"urfen, weil das die balance st"ort,
das mag ja stimmen, aber wenn, dann m"usste eine lange uptime
die balance genauso st"oren!!
demnach m"usste regelm"assig (vielleicht alle 2 wochen)
gebootet werden, und eine lange uptime darf garnicht erst
angestrebt werden.
da spricht auch nix dagegen, aber das sollte vielleicht mal
gekl"art werden.
wenn aber lange uptimes gew"unscht sind, dann d"urften auch
rebootsichere gegenst"ande nicht st"oren!

um der balance zu gen"ugen k"onnte man daf"ur einf"uhren,
das schlaf ein nur noch an bestimmten orten geht
(in den kneipen zb.)

gruss, eMBee.
---
mud administration  SILKE
mbaehr+embee@iaeste.or.at

-----------------------------------------------------------------------------



Re: Morgoth (Therin,  9. Apr 1998, 22:02:16):
~#! rn=Rochus rt=892132317 rg=entwicklung
~#! tid=892132317

och noee.... so frueh schon? Dabei hab ich doch noch nichtmal getestet, ob er
Stupse bringt...

T.

-----------------------------------------------------------------------------



Re^5: Reboots und so ... (Wur, 10. Apr 1998, 00:14:51):
~#! rn=Jesko rt=892047300 rg=entwicklung
~#! tid=891971897
Was mich viel mehr nervt als Ausruestung, dass ich nie den Weg aus dem
Zwergenreich an die Oberwelt finde. Und nun muss ich diesen so oft suchen, ich
glaube schon beinahe ich seh nie wieder Tageslicht.

Wur - arm

-----------------------------------------------------------------------------



Re^11: Reboots und so ... (Larissa, 10. Apr 1998, 07:51:56):
~#! rn=Yaren rt=892116112 rg=entwicklung
~#! tid=891971897
Hm,

was ist denn das fuer eine Argumentation?
'So ein Problem hatte ich nicht, also muss auch nix geaendert werden'.
Offensichtlich haben eine Menge anderer aber schon ein Problem,
und was bitte tut es _Dir_ weh, wenn man es einem Anfaenger
bis Level 10 oder so ein bisschen leichter macht?

Lari, schuettelt den Kopp.

-----------------------------------------------------------------------------



Re: Re: Idee beim Sterben.....oder so... (Bensonmam, 10. Apr 1998, 11:45:04):
~#! rn=Grimmborn rt=892136130 rg=entwicklung
~#! tid=892134641
Hey, GdA, verbreite hier doch nicht so einen Unsinn. Hasim hat schon die
richtige Vokabel (Altruismus) benutzt, was Du da mit dem Schwanz angefuehrt
hast, ist Atavismus.

Bevor Du sowas schreibst, schau erstmal in den Duden!
(oder, wie Heinz Erhart sagt: Quatsch nicht so daemlich, was weisst Duden?)

j. Bensonmam

-----------------------------------------------------------------------------



Re^3: Idee beim Sterben.....oder so... (Grimmborn, 10. Apr 1998, 12:51:06):
~#! rn=Bensonmam rt=892201504 rg=entwicklung
~#! tid=892134641
Was willst Du? Hat doch immerhin rund 18h gedauert bis es jemand gemerkt hat.
So sieht man, wie gut die Leute hier Cunnilingus (Sprachfaehigkeit, von
kunnus, kundig und lingus, Sprache) beherrschen...

GdA

-----------------------------------------------------------------------------



Re^4: Idee beim Sterben.....oder so... (Embe, 10. Apr 1998, 14:50:24):
~#! rn=Grimmborn rt=892205466 rg=entwicklung
~#! tid=892134641
waaa, welcher normale mensch kennt den solche worte,
das is keine sprachf"ahigkeit, das is "uberbildung,
reds doch normal.

gruss, eMBee. (sprachwissenschafft studierend,
               und seine unwissenheit verteidigend :-)

-----------------------------------------------------------------------------



Re^12: Reboots und so ... (Yaren, 10. Apr 1998, 15:03:54):
~#! rn=Larissa rt=892187516 rg=entwicklung
~#! tid=891971897
Die Argumentation ist die: die bis jetzt vorgestellten Regelungen fuehren nur
zu Missbrauch und desweiteren versuche ich ja gerade hier zu sagen, wie man an
Ausruestung kommt, das habe ich jetzt schon mehrfach geschrieben. Was fuer
Ausruestung haelst Du denn fuer Lvl-10-Spieler fuer angebracht? Wenn es
hochkommt eine Schattenruestung, oder welcher Spieler auf dem Level schafft
nen Gardie oder die Riesenspinne? Mir tut das gar nicht weh, wenn so eine
Regelung kommt, ganz im Gegenteil: ich habe ein paar Zweities, die unter Level
10 sind ... die werden dann mit Ringe, Umhaengen etc. vollgeladen ...

Also: ich habe viel Verstaendnis fuer die Probleme von Anfaengern und helfe da
auch gerne, ich melde nur hier starke Bedenken an, vor allem dann, wenn es
nicht sein muss. Meine Meinung halt.

Yaren.

-----------------------------------------------------------------------------



Re: Re: Reboots und so ... (Key, 10. Apr 1998, 19:02:41):
~#! rn=Patryn rt=891972095 rg=entwicklung
~#! tid=891971897
Yeah ,) Ich bin dafuer ..
Also mal sehen ... hmm das Unique obj will ich nach dem Reboot, dieses auch ..
Tui komm nimm mal, hmm das Teil von Para das geradezu darauf ausgearbeitet ist
das es  beim nem reboot verschwindet ... Ausserdem noch ...

Nene, das gaebe nur Chaos und endlos lange Diskusionen die wieder vom Thema
abschweifen .... wobei ... ich hab ja noch einige Artikel vor mir .. *argl!!*

Key

-----------------------------------------------------------------------------



Re^3: Reboots und so ... (Key, 10. Apr 1998, 19:13:28):
~#! rn=Overlord rt=892060295 rg=entwicklung
~#! tid=891971897
Argl! 
Nen Lvl 1 Charakter wird kaum wissen was nen Reboot ist, bzw wird er den
Befehl anwenden koennen, ausser er ist nen Zweitie ,)

Es ist doch unsinnig so kleinen Spielern sowas zu ermoeglich ... Es sollte
wenn dann ab einem Lvl anfangen wo die Spieler wirklich sowas brauchen koennen
...
Faengt5 meiner Meinung bei Level 3 an (koennen noch kaum metzeln, aber
brauchen evtl kleinigkeiten fuer Quests) bis lvl 15 ... Da kann man dann schon
metzeln und kennt sich schon etwas aus um was ohne kampf zu orghanisieren, bzw
weiss man wie man kaempft ,)

Soo ... zu dem Rueckerstatten ... Hmm nen lvl 1er der das 10fache bekommt von
dem was er im inv hat ... 
Cool ... ich hab oft soviel muell der einfach darumliegt ... waere praktisch
den einfach auf nen Zweitie zu laden ... Hmm mal ueberlegen ...
durchschnittswert der obj .... 1000, macht 10000 .... tragen kann er von den
teilen bestimmt so an die 20 ... Und schwupp hab ich nen Spitzenbankie mit
200k im in .) Und das nur weil ich den Muell halt mal dem aufgeladen hab ,)
Wenn das net lohnenswert klingt ....

Key

-----------------------------------------------------------------------------



Re^10: Reboots und so ... (Key, 10. Apr 1998, 19:21:34):
~#! rn=Larissa rt=892113029 rg=entwicklung
~#! tid=891971897
Hmm jetzt wo du es erwaenhtst .. den gibbet schon ... oder gab es *zu Jasper
schau* ,)

Key

-----------------------------------------------------------------------------



Re: Re: Idee beim Sterben.....oder so... (Key, 10. Apr 1998, 19:29:36):
~#! rn=Grimmborn rt=892136130 rg=entwicklung
~#! tid=892134641
Pfff Grimmi ... schonmal was von Selbstaufopferung gehoert?  .)
Ich nehme meine letzten HP, schleuder sie meinem Freund zu als Dankbarkeit
dafuer das er so nett zuschaut waehrend ich verrecke, und er freut sich des
neuengewonnen Lebens ,)
Klingt interessant ,) Dann bin ich bestimmt in jedem Team sehr gefragt =;))

Key opfert sich fuer Dich ,)

-----------------------------------------------------------------------------



Re^15: Reboots und so ... (Key, 10. Apr 1998, 19:31:28):
~#! rn=Grimmborn rt=892140607 rg=entwicklung
~#! tid=891971897
Ach Grimmi ... Du bist schlimmer als nen Grundschueler ... nie hoerste zu ,)
Diese markierungspflicht fuer Zweities kam unter anderem deswegen damit man
eben nicht mit seinen Zweities in einem Team metzeln kann ...
Damit haette sich dein Sterbextieteam in Rauch aufgeloest ,)

Key belehrend .)

-----------------------------------------------------------------------------



Re^16: Reboots und so ... (Grimmborn, 10. Apr 1998, 19:51:31):
~#! rn=Key rt=892229488 rg=entwicklung
~#! tid=891971897
Aeh, als Grundschueler kann ich immerhin lesen. Wo bitte hab ich was von
_meinen_ Zweities geredet? Natuerlich geht es um mich und die Zweities von ein
paar Kumpels. Und das naechste mal darf ein anderer dann der Erstie sein.

Grimmborn der Grundschueler

-----------------------------------------------------------------------------



Re^14: Reboots und so ... (Wurzel, 10. Apr 1998, 22:50:11):
~#! rn=Hasim rt=892140369 rg=entwicklung
~#! tid=891971897
diskussion ueber altruismus? voellig ueberfluessig.
altruismus ist ein rein theoretisches konzept und taucht bestenfalls in
kitschfilmen/romanen auf. im wirklichen leben, egal ob virtuell oder nicht,
kommt sowas nicht vor. nie.

wurzel

-----------------------------------------------------------------------------



Re^4: Rebootfolgen (Trancefear, 11. Apr 1998, 23:24:27):
~#! rn=Sting rt=891962726 rg=entwicklung
~#! tid=891939047
Ich glaube, er meint *defaultmaessig*.

Hmja Boing mach alle Monster beweglich, dann koennewer drueber reden....

tf

-----------------------------------------------------------------------------



Re: Morgoth (Trancefear, 11. Apr 1998, 23:30:17):
~#! rn=Rochus rt=892132317 rg=entwicklung
~#! tid=892132317
ja nett rochus. erst der knopf auf dessen druck "nichts schlimmes" passiert,
dann ein sterblicher regionsmagier, und was kommt nu? jof als 3d puzzle in 133
teilen? ne voodoo puppe von deinem lieblings-erzmagier mit garantiertre
wirkung? warten wers ab...

tf

-----------------------------------------------------------------------------



Re^6: Reboots und so ... (Trancefear, 11. Apr 1998, 23:31:19):
~#! rn=Wur rt=892160091 rg=entwicklung
~#! tid=891971897
schreib dir n script mit fahrstuhl-trigger

tf

-----------------------------------------------------------------------------



OK, kein Altruismus, aber was dann....? (Hasim, 11. Apr 1998, 23:34:34):
nun gut, ich gebe ja zu, alles kann missbraucht werden, sogar aus einer
Katastrophe schlange Menschen mit kinofilmen Profit, ok, ich hab nicht dran
gedacht, dass derartiges wie oben genannt passieren koennte, aber nungut, das
ganze kam mir ja auch nur deshalb inden Sinn, weil ich mal wieder mit viel zu
vielen Konzentrtionspunkten ins Gras, bzw Granit oder Schiefer gebissen hab.
sollen diese KPs einfach so verfliegen??? NOE! Wenn sie schon nicht vergeben
werden, damit andere einen Vorteil haben, was ich ja durchaus verstehen kann,
es waere ja auch zu schade.....ABER: Wie waere es, sie dem Monster
gutzuschreiben? Oder aber falls das nicht gewuenscht wird, als meldung, je
nach Anzahl der KPs ueber den Bildschirm flackern zu lassen...??? Je mehr,
desto dramatischer.... hmmm, klingt besser, finde ich...und bringt weder vor
noch nachteile...Und kann auch nach laengerer Pruefung nicht fuer oder durch
Zweities missbraucht werden, jedenfalls nicht zum Vorteil der Ersties oder so,
...
Hasim, sich breit grinsend fast ins Knie beissend.... (habs ja gewusst, dass
so eine Antwort kommt....) =8-)

-----------------------------------------------------------------------------



Tueren (Silvana, 12. Apr 1998, 20:02:02):
Seit gestern ist es im Prinzip moeglich, Tueren so zu programmieren,
dass sie bereits durch den Bewegungsbefehl geoeffnet werden. Ich weiss
zwar bisher nur von einer Tuer, wo das schon geht, aber es werden
sicher mehr. :) Vielleicht weist ihr ja den einen oder anderen Magier
darauf hin, wo sich das gut machen wuerde. Aber bitte nicht alle auf
einmal. :)

  Silvana

-----------------------------------------------------------------------------



Re^7: Reboots und so ... (Wur, 13. Apr 1998, 19:59:25):
~#! rn=Trancefear rt=892330279 rg=entwicklung
~#! tid=891971897
Oh, Danke fuer den Tip. Der war wirklich nicht noetig.

Wur

-----------------------------------------------------------------------------



Re: Re: Morgoth (Anatol, 14. Apr 1998, 00:25:56):
~#! rn=Trancefear rt=892330217 rg=entwicklung
~#! tid=892132317
Bevor Du Rochus dumm von der Seite anmachst: Der Knopf, bei dem Nichts
Schlimmes geschieht (Grossschreibung ist wichtig ;-)), wenn man ihn drueckt,
war nicht von Rochus, sondern von Bertram.

Anatol :-)


-----------------------------------------------------------------------------



Re^5: Idee beim Sterben.....oder so... (Yendi, 14. Apr 1998, 12:06:17):
~#! rn=Embe rt=892212624 rg=entwicklung
~#! tid=892134641
Quatsch, das ist Allgemeinbildung... War es Led Zeppelin oder Deep Purple, die
in einem Lied den "Cunning Linguist" erwaehnen?  :)



-----------------------------------------------------------------------------



Re^11: Reboots und so ... (Gwynwaiter, 14. Apr 1998, 12:59:17):
~#! rn=Embe rt=892146964 rg=entwicklung
~#! tid=891971897
Danke fuer diesen Beitrag. Ich bin wieder mal dafuer, weil es niemandem
schadetund vielen Anfaengern nuetzt.
Zum Ausgleich das  Einschlfen  nur in Gasthaeusern einzufuehren ist Ok.

Und es mag ja sein, dass viele  HLP als sie noch LLPs waren sowas auch nicht
hatten und nicht gebraucht haben. Schoen.  Genausowenig hatten  sie neuere
Quests und Regionen.
"Ich habe das damals auch nicht gebraucht" ist doch kein  akzeptables argument
gegen sinnvolle Verbesserungen!

Und nicht jeder hat einen Kumpel (oder Erstie!) hinter dem er nur herlaufen
und aufsammeln muss. 
Goennt Newbies ruhig  etwas was Ihr selbst  nicht hattet.

Gruss, Gwyn+

-----------------------------------------------------------------------------



Re^4: Idee beim Sterben.....oder so... (Gwynwaiter, 14. Apr 1998, 13:12:25):
~#! rn=Grimmborn rt=892205466 rg=entwicklung
~#! tid=892134641
Lieber Grimm,
Ich habe Sprache studiert und Mittellatein gehiwit (auch ein netter
Neologismus). Cunnilingus ist etwas schoenes (wird man fuer sowas hier nicht
abgestuft) und Sprachfaehigkeit auch. Viel gemeinsam hat beides aber nicht,
solange Du nicht auf eine beredte Zunge anspielst. Also wirkjllich,
Grimmborn...  tststs...
leicht grinsend: Gwyn*

-----------------------------------------------------------------------------



Re: Re: Morgoth (Rochus, 14. Apr 1998, 15:38:46):
~#! rn=Trancefear rt=892330217 rg=entwicklung
~#! tid=892132317
1. Der Knopf war nicht von mir sondern von Bertram
2. Morgoth hatte AUSDRUECKLICH den Wunsch geaeussert, sterblich zu sein,
   und das ziemlich lautstark.
3. Wenn schon Jof als 3d-Puzzle, dann in 125 Teilen - da 133 nur zwei
   Primfaktoren hat, waere das sonst kein echtes 3d-Puzzle.
4. Und zur Voodoo-Puppe... naja, es war mal ein Erzmagier...

  Rochus

-----------------------------------------------------------------------------



kwer (Rochus, 14. Apr 1998, 16:48:55):
Neues Feature: Jetzt geht auch
  "kwer team gefluegel" (oder jedes andere Team :)

  Rochus

-----------------------------------------------------------------------------



Vorschlag fuer newbieausruestung (Nixihou, 15. Apr 1998, 08:50:58):
hi,
ich hab die ganze zeitung noch nicht durch, also verzeit, wenn ich altes 
wieder aufwaerme ??

wie waere es, wenn an jedem rassen-startplatz kisten aufgestellt wuerden, 
aus denen nur newbies bis zu einem bestimmten level ausrustungsgegenstaende 
nehmen koennen.
diese kisten sollten natuerlich von den hochstufigen spielern gefuellt werden,
die als belohnung fuer das fuellen bestimmte rassenvorteile, die sowieso 
charakteristisch fuer ihre rasse sind, noch ein bisschen staerker ausgepraegt
bekommen. 
(also zwerge koennen dann noch ein quentchen mehr saufen, felinen sind noch 
ein wenig schneller, elfen ??? noch ein bischen magischer, menschen noch 
normaler *Grins* ...)

so dass jede rasse fuer ihre eigenen newbies sorgt.

um "finanzmissbrauch" vorzubeugen. koennte ja der wert aller gegenstaende
die in die kisten wandern auf EINE muenze gesetzt werden.

nixihou

-----------------------------------------------------------------------------



Re: Tueren (Zarniya, 15. Apr 1998, 08:51:09):
~#! rn=Silvana rt=892404122 rg=entwicklung
~#! tid=892404122
Hmmm Kann mir vielleicht mal einer sagen, was dann der Sinn einer Tuer sein
soll? ok, man kann sie abschliessen, aber wenn man einfach nur so eine Tuer
hat, dann wird die ziemlich ueberfluessig und das alles wahrscheinlich nur,
damit hier Skriptern der Weg geebnet wird. Ich denke, dass das einfach Unsinn
ist, wenn sich eine Tuer automatisch oeffnet, wenn ich in die Richtung geht
(mal abgesehen davon, dass ich das nicht real testen will). 

Hat die Aenderung einen anderen Sinn als den, Skriptern den Weg zu
erleichtern? Wenn ja, dann postet den bitte, ansonsten ist die Aenderung
wieder mal ein Sinnbild der Laecherlichkeit, die hier einige Spieler die
Magier in der Hand haben und auch wirklich ALLES durchsetzen koennen.

Zarniya.

-----------------------------------------------------------------------------



Re: Re: Tueren (Key, 15. Apr 1998, 10:20:18):
~#! rn=Zarniya rt=892623069 rg=entwicklung
~#! tid=892404122
*grins*
Das die Spieler die Mags in der Hand haben solltest Du am besten wissen :)
Naja jedenfalls bis zu gewissen Grenzen ... man koennte auch sagen das die
Spieler mit den Mags reden, und die ab und an ein Einsehen haben :)

Ansonsten ... ich versteh das mit diesen Automatik tueren auch nicht ganz ...

Key

-----------------------------------------------------------------------------



Re^3: Tueren (Anatol, 15. Apr 1998, 10:39:10):
~#! rn=Key rt=892628418 rg=entwicklung
~#! tid=892404122
Solange man (a) solche Tueren noch abschliessen kann und sie dann
nicht mehr durchschritten werden koennen und (b) man beim Fliehen
nicht automatisch die Tuere oeffnet (waer ja noch schoener), sehe
ich eigentlich noch genug Sinn in der Aenderung, um selbige zu
begruenden.

Abgesehen davon... ich finde es wirklich schade, dass manche 
Koelner Magier es nicht begreifen wollen, dass die "Macht" im
Mud nicht alleine bei den Magiern liegt und "Durchsetzen" auch
fuer Erzmagier nicht ganz so einfach ist.

Anatol


-----------------------------------------------------------------------------



Re^3: Tueren (Snibril, 15. Apr 1998, 10:42:04):
~#! rn=Key rt=892628418 rg=entwicklung
~#! tid=892404122
denkt doch mal an falltuern.
Snibril     einzeilernd

-----------------------------------------------------------------------------



Re: Vorschlag fuer newbieausruestung (Yaren, 15. Apr 1998, 11:15:33):
~#! rn=Nixihou rt=892623058 rg=entwicklung
~#! tid=892623058
Gut gemacht! Der Vorschlag hat doch alles, was man als Abhilfe fuer die Misere
braucht: die Sachen wuerden einen Reboot nicht ueberleben und man koennte die
Kisten auch nicht zum Zwecke der Geldgewinnung pluendern. Ich wuerde
allerdings vorschlagen, dass die angesprochenen Rassenvorteile nur temporaer
sind ... Also: dafuer! Wer proggt es? :)

Yaren.

-----------------------------------------------------------------------------



Re: Re: Vorschlag fuer newbieausruestung (Obermotz, 15. Apr 1998, 11:38:25):
~#! rn=Yaren rt=892631733 rg=entwicklung
~#! tid=892623058
Der Vorschlag klingt wirklich gut. Als LLP hatte ich mich immer geaergert,
wenn meine Ausruestung weg war. Und die Plaetze, wo man Zeug finden kann,
kannte ich auch noch nicht. Ich bin absolut dafuer! Und jetzt weiss ich auch,
wo ich mein ermetzeltes abladen kann.

OM, hat immernoch die Spendierhosen an

-----------------------------------------------------------------------------



Re^3: Tueren (Wargon, 15. Apr 1998, 11:42:30):
~#! rn=Key rt=892628418 rg=entwicklung
~#! tid=892404122
Wahrscheinlich hat jeder als Defaultausruestung einen kleinen Rammbock dabei.
Hmm... wie war das noch? "oeffne tuer mit zwerg"?
  Wargon

-----------------------------------------------------------------------------



Re^3: Vorschlag fuer newbieausruestung (Dhojakt, 15. Apr 1998, 11:51:31):
~#! rn=Obermotz rt=892633105 rg=entwicklung
~#! tid=892623058
Also ich muss ehrlich sagen, dass ich als Newbie von ner Ausrue nich
sonderlich begeistert waere, die mir kein geld mehr bringt. Mna freut sich
doch auf die Reboot-entschaedigung, wenn der kram schon weg ist und darf dann:
Du findest 10 muenzen, usw. lesen - wie enttaeuschend. Da wuerde ich es sehr
vorziehen, meinen kram im glockenwald einzusammeln, wenn dann aber alle das
zur truhe schleppen geht das ja nicht mehr.
Also bin ich zumindest gegen das abwerten der gegenstaende, wenn sie in die
kiste gelegt werden, falls das nicht ohne das abwerten implementiert werden
soll, vollstaendig dagegen.
Khidar.

-----------------------------------------------------------------------------



Re^4: Vorschlag fuer newbieausruestung (Damien, 15. Apr 1998, 12:27:01):
~#! rn=Dhojakt rt=892633891 rg=entwicklung
~#! tid=892623058
Also, Ausruestung die Newbies benutzen koennen und die da abgelegt werden
sind eh' nicht so lukrativ, dass man die zur Geldbeschaffung verbraten
muesste, ich sehe eigentlich keinen Grund, da zu klauen, wenn ich Geld
brauche Staube ich den Magierturm ab, aber nicht den Nachtdolch und vielleicht
irgendeinen popeligen Panzer...
Und ob die Ausruestung jetzt von dem Metzler oder irgendeinem Pluenderer oder
einem Newbie verkauft wird ist fuer das Spiel auch egal...also, ich finde die
Idee gut und sehe eigentlich keinen Bedarf, die Ausruestung zu entwerten.
Andererseits koennten die Seher mal etwas Altruismus zeigen (ich schmeiss'
auch mal mit dem fremdwort um mich) und einfach den fuer sie unnuetzen Kram
im Startraum der Rassen ablegen, wieso brauchen wir dafuer Truhen?

Damien

-----------------------------------------------------------------------------



Re^4: Tueren (Silvana, 15. Apr 1998, 12:27:17):
~#! rn=Wargon rt=892633350 rg=entwicklung
~#! tid=892404122
Dieses Feature ist nur ein kleines Abfallprodukt der generellen 
Tueren-Ueberarbeitung. Es wurde gleichermassen von Spielern wie
Magiern gewuenscht und ist hiermit optional moeglich. Vorgabe ist
nach wie vor, dass man Tueren NICHT mit durchschreiten oeffnet, 
aber wenn es ein Magier nun mal zulassen will, wieso nicht? Ich
halte die Spieler jedenfalls nicht fuer so daemlich, eine Tuer
nicht zu oeffnen, bevor sie durchgegen... Schliesslich reicht 
ja auch 'bestelle muscheln' und man muss nicht diese ganze eklige
Prozedur eintippen, um in den zweifelhaften Genuss des glibbrigen
weichen Zeugs zu kommen... Man stelle sich vor, die ach so faulen
Spieler muessten fuer ein einziges Gericht so um die 200 Befehle 
absetzen. Bis man da erst mal nen Ober hat... :)

Ach ja, noch was zu Zarniya: Du brauchst mich nicht anders zu 
behandeln als Deine anderen Magiersklaven, die fuer Dich springen
sollten. Es fehlten mindestens vier ueble Beleidigungen und nen
Dutzend garstige Unterstellungen! Hol das gefaelligst nach oder ich
fuehle mich von Dir vernachlaessigt und loesche mich! Das hast Du 
nun davon! Baetsch!

  Silvana - bitte nicht ernst nehmen!

-----------------------------------------------------------------------------



Re^5: Tueren (Zarniya, 15. Apr 1998, 12:30:49):
~#! rn=Silvana rt=892636037 rg=entwicklung
~#! tid=892404122
Silvana, Du fette Schlampe!

Nicht nur, dass DU hier meinst, irgendeinen Scheiss anschliessen zu muessen,
den sowieso nur Weicheier wollen und der Deinem kranken Hirn entsprungen ist,
nein, dann auch noch so tun als wenn das ok waer... wenn das automatische
Oeffnen der Tueren wenigstens Spellpoints kosten wuerde (dies ist der
Kontruktive Teil des Artikels), dann waer das witzig, aber so ist das, wie
alles hier im MG, einfach nur nichtdurchdachte gequirlte Scheisse. Aber was
kann man von einer Frau(?) erwarten, die sich sogar mit Yantro eingelassen
hat! 

Zarniya

-----------------------------------------------------------------------------



Re^6: Tueren (Silvana, 15. Apr 1998, 12:32:58):
~#! rn=Zarniya rt=892636249 rg=entwicklung
~#! tid=892404122
Ich fass es nicht... Zarniya, Du kannst nicht zaehlen! Geh noch mal
zur Grundschule, gehe nicht ueber LOS, ziehe keine 2000 Stupse ein.

  Silvana - wartet auf den Nachschlag. :)

-----------------------------------------------------------------------------



Re^5: Vorschlag fuer newbieausruestung (Key, 15. Apr 1998, 12:47:10):
~#! rn=Damien rt=892636021 rg=entwicklung
~#! tid=892623058
Ja super idee ... jeder schmeisst jetzt seinen Muell dahin ...
Dann haben kleine Anfaenger beim einloggen nen megascroll und null peilung was
abgeht ...
Prima ... die kleenen werden doch eh schon geschockt ... ich zumindest musste
anfangs oefter scroll lock benutzen ...
Naja .. vielleicht schafft man dann endlich mal nen overflow bei nem spieler?
Waere nen Versuch wert ..

Key

-----------------------------------------------------------------------------



Re^4: Vorschlag fuer newbieausruestung (Qitess, 15. Apr 1998, 14:03:53):
~#! rn=Dhojakt rt=892633891 rg=entwicklung
~#! tid=892623058
also ich finde das abwerten der gegenstaende in ordnung, aber die sache mit
den rasse-vorteilen (was 'n scheisswort...) sollte man nochmal ueberdenken.
klar ist, dass es wohl einen anreiz geben sollte uebverfluessige sachen in die
newbie-kiste zu packen, und das es keinen anreiz geben sollte, die
newbie-kiste zu geldmachzwecken zu pluendern...

QI**irgendwie unproduktiv, wollte aber auch mal was gesagt haben.

?

-----------------------------------------------------------------------------



Re^5: Vorschlag fuer newbieausruestung (Arelion, 15. Apr 1998, 14:18:11):
~#! rn=Qitess rt=892641833 rg=entwicklung
~#! tid=892623058
Hi Mudder,

wenn ich mir ansehe, dasz "Newbies" mit BSS ohne es zuecken zu koennen und
Chitinpanzer rumlaufen, dann
kann es mit den Ausruestungsproblemen nicht weit hin sein. Ich gehe gerne mal
fuer einen "Kleinen" nach
Moron und hole ihm Schattenzeug oder gar Echsenzeug. Zumeist liegts rum, sonst
muss man halt wen unmhaun.
Als Anfaenger ist mir ZWEIMAL Echsenzeug gegeben worden und selbst ueber
Nachtruestungen und aehnliches
habe ich mich gefreut wie ein Schneekoenig. Ich denke, dasz es fuer Anfaenger
kein Problem ist an soetwas
heranzukommen. Fragen hilft! Es gibt auch Seher, die einem Newbie mal 5k
Muenzen zustecken. Es ist halt
ein MEHR-Spieler Spiel.

Vielleicht sollte man im Anfaenger-Handbuch oder per Aushang Neulinge
ermutigen nach Ausruestungsteilen
zu fragen.

Arelion - der die Idee mit Verkaufs-Schaukaesten in Seherhaeusern immernoch
gut findet.

-----------------------------------------------------------------------------



MPA (Arelion, 15. Apr 1998, 14:24:30):
Hi,

aus gegebenem Anlass (*grins*) waere es moeglich eine Funktion einzubauen, die
einen Artikel wieder in den Editor laedt, so dass man seinen Artikel
nachtraeglich aendern (sprich: formatieren) kann?

Arelion - freut sich, dass es bei Haeusern geht ...

-----------------------------------------------------------------------------



Re^6: Vorschlag fuer newbieausruestung (Isis, 15. Apr 1998, 14:36:53):
~#! rn=Arelion rt=892642691 rg=entwicklung
~#! tid=892623058
Dam kann ich voll zustimmen...mich wunderts auch, wie selten man angesprochen
wird...

Also ich anfing war das irgendwie anders...


Hera

-----------------------------------------------------------------------------



Re^7: Vorschlag fuer newbieausruestung (Obermotz, 15. Apr 1998, 14:37:45):
~#! rn=Isis rt=892643813 rg=entwicklung
~#! tid=892623058
Ja, die gute alte Zeit...

OM, schreibt auch einzeiligen Schmarrn

-----------------------------------------------------------------------------



Re^7: Vorschlag fuer newbieausruestung (Gwynwaiter, 15. Apr 1998, 14:44:12):
~#! rn=Isis rt=892643813 rg=entwicklung
~#! tid=892623058
Als ich anfing hatten alle seher ein "weg scroll metzeln!" gesetzt und waren
drum nicht ansprechbar.
nur die Magier haben  Spielerhilfe gegeben... *grins*

Gwyn*

-----------------------------------------------------------------------------



Re^7: Vorschlag fuer newbieausruestung (Bloodyharry, 15. Apr 1998, 14:47:36):
~#! rn=Isis rt=892643813 rg=entwicklung
~#! tid=892623058
Villeicht traut man sich das nich, um nich gleich als Bluemchenpfluecker
abgestempelt zu werden?

bh

-----------------------------------------------------------------------------



Re^8: Vorschlag fuer newbieausruestung (Arelion, 15. Apr 1998, 14:51:33):
~#! rn=Bloodyharry rt=892644456 rg=entwicklung
~#! tid=892623058
Pah! Ich habe mir mit Level 20 noch Standard Sachen besorgen lassen, weil es
mir zu nervig war. Schliesslich ist das MG ein Questmud. Ein Hoch auf die
Bluemchenpfluecker! Also, Newbies ... traut euch!

Arelion - dem das pubertaere "Ich bin staerker" auf die Ei.. geht!

-----------------------------------------------------------------------------



Re^6: Vorschlag fuer newbieausruestung (Tarina, 15. Apr 1998, 15:11:28):
~#! rn=Key rt=892637230 rg=entwicklung
~#! tid=892623058
naja... den megascroll hat man doch nicht, wenn man in die ab-gilde (als
beispiel) reinkommt und da ne kiste mit der aufschrift: fuer Newsbies steht.
wenn man dann unbedingt reinguckt, dann ist der scroll doch okay.

-----------------------------------------------------------------------------



Charakter (Gwynwaiter, 15. Apr 1998, 15:14:07):
Hi Alle,

Nur eine kleine Bluemchenpflueckeranregung:
Obwohl ich immer mildtaetig bin und dem bettler in Port vain etwas gebe (und
manchmal auch armen Newbies wie Murmel) wird mein Char. als neutral gefuehrt.

Koennten die Bettler nicht den VCharakter beeinflussen, von "hartherzig" bis
"mildtaetig" oder wenigstens in Richtung gut? Das wuerdeihnen mehr Sinn
verleihen und etwas Geld kaeme wieder aus Spielerhand weg - und Metzler
koennten ihr Gewissen beruhigen...

Und erufe und eknuddel haette ich natuerlich gerne.

Euer Gwyn*

-----------------------------------------------------------------------------



Re^8: Vorschlag fuer newbieausruestung (Key, 15. Apr 1998, 15:32:06):
~#! rn=Bloodyharry rt=892644456 rg=entwicklung
~#! tid=892623058
Als Anfaenger hat man noch gar keine Ahnung was nen Bluemchenpfluecker ist ;)
Und .. nem Anfaenger rue zu geben ist der erste Schritt um ihn zum metzler zu
erziehen ;)

Key

-----------------------------------------------------------------------------



Re^9: Vorschlag fuer newbieausruestung (Obermotz, 15. Apr 1998, 15:33:17):
~#! rn=Key rt=892647126 rg=entwicklung
~#! tid=892623058
Genau! Tod den Bluemchenpflueckern! Es Leben die Metzler.

OM

-----------------------------------------------------------------------------



Re^7: Vorschlag fuer newbieausruestung (Key, 15. Apr 1998, 15:33:18):
~#! rn=Tarina rt=892645888 rg=entwicklung
~#! tid=892623058
Aehm lies mal auf was ich das mit dem scroll sagte ...

Key

-----------------------------------------------------------------------------



Re: Charakter (Key, 15. Apr 1998, 15:34:31):
~#! rn=Gwynwaiter rt=892646047 rg=entwicklung
~#! tid=892646047
Oki ... ich will als chaot satanisch sein .. also klau ich jedem newbie
muenzen? .)

Key

-----------------------------------------------------------------------------



Re: Re: Charakter (Gwynwaiter, 15. Apr 1998, 15:56:18):
~#! rn=Key rt=892647271 rg=entwicklung
~#! tid=892646047
Klau Newbies je eine Muenze - oder metzle den bettler oder die arme
Gaertnerin, die so lieb laechelt - oder schaende ein paar kapellen (vor, nicht
waehrend einer hochzeit, damit erst  die kapellenquest geloest werden muss,
bevor jemand drin heiraten kann)...

Gruss, Gwyn* (IR und AR unverheiratet)

-----------------------------------------------------------------------------



Re^5: Vorschlag fuer newbieausruestung (Asmodis, 15. Apr 1998, 18:57:19):
~#! rn=Damien rt=892636021 rg=entwicklung
~#! tid=892623058
Ja, leg mal Zeug im Elfendorf ab, da sind die Elfenwaechter schneller als
jeder Newbie :)
Ausserdem bedienen sich auch einige HLPs (meistens Bluemchenpfluecker) gerne
daran.

-----------------------------------------------------------------------------



Re: Re: Charakter (Damien, 16. Apr 1998, 09:37:11):
~#! rn=Key rt=892647271 rg=entwicklung
~#! tid=892646047
Als ob Du nicht wuesstest, wei man auf die Schnelle satanisch wird. :)

Damien.
->Schmarn

-----------------------------------------------------------------------------



Re: MPA (Wargon, 16. Apr 1998, 11:24:41):
~#! rn=Arelion rt=892643070 rg=entwicklung
~#! tid=892643070
"aendere artikel 12"?
Ist vielleicht etwas viel des Guten. Du kannst Dir den Artikel aber beim
Schreiben jederzeit mit ~r ansehen (oder ~R, wenn Du Zeilennummern haben
willst). Da kannst Du dann schon vor dem Veroeffentlichen die Formatierung
korrigieren.
  Wargon

-----------------------------------------------------------------------------



Re: kwer (Mysterious, 16. Apr 1998, 13:04:51):
~#! rn=Rochus rt=892565335 rg=entwicklung
~#! tid=892565335
konni chi wa!

nettes feature rochus :)

was haltet ihr bei der gelegenheit von einem 'kwer teams', was alle
existierenden teams ausspuckt?

uebrigens faend ich es nett, wenn die syntax fuers team etwas variabler
gestaltet werden koennte.. will sagen:
ich moechte auch sowas wie '[Team:NAH]' angeben koennen und nich '[Team:Nah]'
eingeben muessen..

so als vorschlag.. aber das is ja eigentlich auch gar nich mal so wichtig..
nur ne spielerei :)

-----------------------------------------------------------------------------



Re: Re: kwer (Freund, 16. Apr 1998, 16:34:17):
~#! rn=Mysterious rt=892724691 rg=entwicklung
~#! tid=892565335
Hm, ich persoenlich faende ein kleines Objekt ganz nett, dass die
Teamzugehoerigkeit auch optisch vermittelt. (Stirnband? Abzeichen?) Und dann
muesste man auch nicht ueber die Presays gehen...

Nur leider bin ich da der falsche Magier,  will sagen: ich nix LPC. ;-)

Freund, heute mal anregend...

-----------------------------------------------------------------------------



Re^3: kwer (Gloinson, 16. Apr 1998, 16:37:15):
~#! rn=Freund rt=892737257 rg=entwicklung
~#! tid=892565335
Au ja. Auch fuer Spieler, die sich keine Teamzugehoerigkeit 'setzen'
koennen. Das waer fein.

Gloin ... beantragt ein Hydraschaender-, Kinderfresser- und SSP-Team-Band :)

-----------------------------------------------------------------------------



Re: Tueren (Trancefear, 16. Apr 1998, 19:38:14):
~#! rn=Silvana rt=892404122 rg=entwicklung
~#! tid=892404122
Sieht man das der Tuer irgendwie an? Ansonsten hat man nicht viel davon,
speziell wenns da noch Tueren gibt, bei denen man sich beim "Vorlaufen"
verletzt. So mach ich dann lieber doch alle Tueren "von Hand" auf und
verzeichte auf Gefaehrliche Experimente :-)

tf
PS apropos Tueren: wie waers, wenn Waechter nicht nur das Durchgehen bewachen
koennen sondern auch das Oeffnen bzw Aufschliessen. Ich mein,
"serienmaessig"...?

-----------------------------------------------------------------------------



Re: Re: Vorschlag fuer newbieausruestung (Overlord, 16. Apr 1998, 20:17:09):
~#! rn=Yaren rt=892631733 rg=entwicklung
~#! tid=892623058
Also ich find den Vorschlag ja auch super, aber wo liegen eigentlich die
wesentlichen Unterschiede zu meinen Vorschlaegen?

Ovi *raetselnd*

-----------------------------------------------------------------------------



Re^6: Tueren (Overlord, 16. Apr 1998, 20:22:43):
~#! rn=Zarniya rt=892636249 rg=entwicklung
~#! tid=892404122
Na endlich...ich dachte schon Zar* waere etwas aus der Uebung gekommen und
koennte (igitt!) sogar versuchen wollen, das Niveau der MPA zu heben.
Scheussliche Vorstellung!

Ovi *Ironie off*

-----------------------------------------------------------------------------



Re^3: kwer (Morgoth, 17. Apr 1998, 07:26:03):
~#! rn=Freund rt=892737257 rg=entwicklung
~#! tid=892565335
inherit "/std/living/team"; ???
M*, sehr anregend ;-))

-----------------------------------------------------------------------------



t-knuddeln (Hardil, 17. Apr 1998, 14:03:11):

Wenn ihr schon den Teamgeist so foerdert, dann sollte doch ganz dringend fuer
jedes Team ein Kanal und auf jeden Fall auch ein t-knuddel, ein t-rufe, ein
t-emote und sonst viele unnuetze Features eingefuehrt werden.
Rochus, uebernehmen Sie!

[Team:Hier Namen des gewuenschten Teams eingeben.] Hardil 
(wird nicht von der t-elekom gesponsort)

-----------------------------------------------------------------------------



Re^3: kwer (Lug, 18. Apr 1998, 02:17:53):
~#! rn=Freund rt=892737257 rg=entwicklung
~#! tid=892565335
JJJAAAAAAAAAA FREUND!

Nieder mit den Klammerpresays! Es lebe das Teamobjekt ;)

Zur Reinhaltung des Muds
Lug

-----------------------------------------------------------------------------



Notizbuch (Qitess, 22. Apr 1998, 11:42:58):
Hallihallohalloele.

Wisst Ihr, was mal ne tolle (rebootfeste) Questbelohnung waere ? (Oder etwas,
was man sich (rebootfest) im Seherladen kaufen koennte.)
Naemlich ein Notizbuch, in das man sich so Kleinigkeiten reinschreiben kann,
die man sich waehrend einer Quest oder ueberhaupt merken will. Man sollte es
reinschreiben und wieder ausradieren koennen.
Ja, ich weiss, man koennte es sich auch in einen editor am Rechner schreiben,
oder auf ein Stueck Papier, das man neben sich liegen hat (RL meine ich ;) ).
Aber manchmal habe ich kein Stueck Papier neben mir liegen, und manch einer
muddet auf solch merkwuerdigem Geraet, welches keinen editor nebenher oeffnen
kann.
Von daher fand ich das mal ne Anregung wert. 

QI**

P.S.: Wenn es so ein Ding jedoch schon geben sollte, bitte ich diesen Artikel
geflissentlich zu ignorieren und mir eine mail zu schicken, wo es sowas gibt.
Dank je.

-----------------------------------------------------------------------------



Re: Notizbuch (Zephyr, 22. Apr 1998, 11:48:08):
~#! rn=Qitess rt=893238178 rg=entwicklung
~#! tid=893238178
Notfalls kannste das per alis machen:

alias notiz alias text &*
alias liesnotiz alias text
alias radiere unalias text

*knuddels*
                 Zeph

-----------------------------------------------------------------------------



Doofe Zwergenkatakomben (Qitess, 22. Apr 1998, 12:22:12):
*Frust on*
Da kommt man gerade frisch aus der Todessequenz und haelt sich gleich danach
mit warten am Fahrstuhl auf.
WIE NERVIG !
*Frust immer noch on* :(

QI**

-----------------------------------------------------------------------------



Re: Doofe Zwergenkatakomben (Tunixgut, 22. Apr 1998, 14:37:22):
~#! rn=Qitess rt=893240532 rg=entwicklung
~#! tid=893240532
Haus bauen...

's Karate-Zwerchle... - auch mal einzeilig...

-----------------------------------------------------------------------------



Re: Re: Doofe Zwergenkatakomben (Ringor, 22. Apr 1998, 14:40:04):
~#! rn=Tunixgut rt=893248642 rg=entwicklung
~#! tid=893240532
Ein Haus mit Altar zum Beten?

Qitess sprach vom Aufwachen in der Zwergenstadt nach einem Besuch bei Lars. Da
nuetzt auch das schoenste Haus nix.

Ringor. 

-----------------------------------------------------------------------------



Re^3: Doofe Zwergenkatakomben (Tunixgut, 22. Apr 1998, 14:40:39):
~#! rn=Ringor rt=893248804 rg=entwicklung
~#! tid=893240532
Oh, auch wahr, stimmt... ;o)

-----------------------------------------------------------------------------



Re^4: Doofe Zwergenkatakomben (Key, 22. Apr 1998, 15:00:39):
~#! rn=Tunixgut rt=893248839 rg=entwicklung
~#! tid=893240532
Naja doch .... ich mein dann macht man halt ende nach dem tod .) 
Schon steht man wieder im Haus ... bleibt halt nur das prob mit dem beten ...

Wobei .. Sind halt Zwerge ... ham nix besseres verdient ,)))

Key

-----------------------------------------------------------------------------



Re^5: Doofe Zwergenkatakomben (Alpha, 22. Apr 1998, 18:03:22):
~#! rn=Key rt=893250039 rg=entwicklung
~#! tid=893240532
Oder tu was gegen deine Rasse, es gibt doch die Moeglichkeit, dann schlaegst
du gleich zwei Fliegen mit einer Klappe. Das Zwergsein allein wuerde mich
schon unendlich frustrieren und zu diesem Schritt bewegen.
Elfenpower rulez!
Alpha.

-----------------------------------------------------------------------------



Re^3: Doofe Zwergenkatakomben (Zino, 22. Apr 1998, 18:17:55):
~#! rn=Ringor rt=893248804 rg=entwicklung
~#! tid=893240532
Doch, es nuetzt was. Da man nach nem Tod eh nix dabei hat, kann man locker in
der Zwergenfestung ende machen, und dann vom Haus aus z.B. nach Port Vain zum
Beten gehn.
Mahatma

-----------------------------------------------------------------------------



Re^3: Doofe Zwergenkatakomben (Gorog, 22. Apr 1998, 19:25:33):
~#! rn=Ringor rt=893248804 rg=entwicklung
~#! tid=893240532
klar bringt das was, kannst doch wenn du gebetet hast ende machen (; dann
kommste wieder in dein haus.

Gorog hat da erfahrung mit

-----------------------------------------------------------------------------



Re^3: Doofe Zwergenkatakomben (Neb, 23. Apr 1998, 00:40:01):
~#! rn=Ringor rt=893248804 rg=entwicklung
~#! tid=893240532
Weils so schoen ist, ich auch noch *grins* ;)

Man kann ja erst beten um zu reinkarnieren und dann mit Ende ins Seherhaus.

Neb, ist der fuenfte der das erklaert, findet es allerdings fuer
Nicht-Hausbesitzer weiterhin nervig mit dem Startpunkt ganz unten.

-----------------------------------------------------------------------------



Schluesselbund (Teddy, 23. Apr 1998, 01:32:50):
Hiho,

ich haette mal nen Wunsch, vielleicht findet sich ja jemand, der das umsetzt:
Ich hab staendig irgendwelche Schluessel im Inventory und wuerde sie gerne
markieren und unterscheiden koennen.
Meine Idee waere ein Schluesselbund, an den man alle Schluessel dranhaengen
kann und/oder Schluesselanhaenger, auf die ich was draufschreiben kann und
vielleicht sogar mit dieser ID den Schluessel ansprechen kann.
Also z.B. markiere schluessel friedhof, oeffne tuer mit friedhof (frei
erfundenes Beispiel)

Nur mal so als Anregung.

Tschau,

Teddy

-----------------------------------------------------------------------------



Re: Schluesselbund (Bloodyharry, 23. Apr 1998, 08:09:30):
~#! rn=Teddy rt=893287970 rg=entwicklung
~#! tid=893287970
Schluesselbund oder Schluesselanhaenger waeren leicht realisierbar. Aber beim
benutzen der Schluessel ueber einen frei definierten Namen wird es schon
schwieriger, da der "oeffne"-code bei der zu oeffnenden Tuer steht. Und da hat
jeder Programmierer sogar die Wahl der eignen Syntax.

bh

-----------------------------------------------------------------------------



Re: Re: Schluesselbund (Morgoth, 23. Apr 1998, 08:34:16):
~#! rn=Bloodyharry rt=893311770 rg=entwicklung
~#! tid=893287970
Hae? Seit wann muss ich den oeffne-code selbst proggen. Da kommt ein D_NEEDKEY
(oder so aehnlich) rein und dann eine funktion in den schluessel selbst, fuer
welche raeume er zu benutzen ist. Hm. 
M*

-----------------------------------------------------------------------------



Re^4: Doofe Zwergenkatakomben (Boing, 23. Apr 1998, 14:50:39):
~#! rn=Zino rt=893261875 rg=entwicklung
~#! tid=893240532
Man kann sogar zuerst beten und DANN ende machen! Erstaunlich, erstaunlich.
Das Geflenne von Qitess kann ich trotzdem nicht verstehen, schliesslich
muss man maximal 20 Sekunden auf den Fahrstuhl warten. Vorausgesetzt
man hat den Knopf gedrueckt, hast Du doch, Qitess?
  Boing

-----------------------------------------------------------------------------



Re^5: Doofe Zwergenkatakomben (Gloinson, 23. Apr 1998, 14:57:19):
~#! rn=Boing rt=893335839 rg=entwicklung
~#! tid=893240532
Sicherlich hat jemand mitbekommen, dass es Qitess ist, die da drueckt,
und den Fahrstuhl immer wieder nach oben gerufen, aus purer Boshaftigkeit.
Denn Mudder sind nunmal so.
Der ernsthafte Teil: Mich stoert die geringe Detaildichte viel mehr.

Gloin

-----------------------------------------------------------------------------



Re^6: Doofe Zwergenkatakomben (Schoko, 23. Apr 1998, 16:35:50):
~#! rn=Gloinson rt=893336239 rg=entwicklung
~#! tid=893240532
Hmm also ich weiss nich, was ihr habt. 1/2h Arbeit, 1 DinA4 Blatt (kariert), 1
Bleistift und ein joe... was raus kommt ist einfach /g zwf (fuer
zwergenfestung) und schon bin ich da unten und das voellig verzoegerungsfrei.
Von der Zwergenkeipe oben sind das nich mal 24 Schritte oder so....

Schoko (nein ich bin KEIN Bluemchenpflucker, und malen kann ich auch nich ;))

-----------------------------------------------------------------------------



rubrik 17 (Jamalski, 23. Apr 1998, 22:53:30):
Hi
Wie waere es mit: probiere verzweifelt alle schluessel?
jamal

-----------------------------------------------------------------------------



Alzheimer oder Neues Tool bei Lars? (Alpha, 28. Apr 1998, 23:36:10):
Hi,
da ich neulich mich nicht mehr an meinen wenige RL-Tage zurueckliegenden Tod
erinnern konnte und und beim Auswerten aelterer Erfahrungen darauf gestossen
bin, dass mir solches schon oefter wiederfahren ist, kam mir die Idee zu
folgendem, ich denke doch recht amuesant und zugleich nuetzlichem Tool.
Koennte man nicht von Lars eine Art von Todeshandbuch verliehen bekommen, in
dem (ja nach dem, wieviel Platz das auf der Platte verbraucht) Datum und
Art/Ursache der letzten 10 (oder mehr) Tode aufgezeichnet wird. Eine weitere
Idee waere vielleicht noch die Menge der dabei verloren EP...
Alpha vergisst oft, an was er gestorben ist.

-----------------------------------------------------------------------------



Re^7: Doofe Zwergenkatakomben (Wur, 30. Apr 1998, 22:56:02):
~#! rn=Schoko rt=893342150 rg=entwicklung
~#! tid=893240532
Schoko, du bist ein toller Typ!

Wur

-----------------------------------------------------------------------------



Re^8: Doofe Zwergenkatakomben (Schoko,  1. Mai 1998, 02:26:32):
~#! rn=Wur rt=893969762 rg=entwicklung
~#! tid=893240532

Hmm danke werd ich nich sagen, denn wer mich kennt, dem war das schon immer
klar ;))
Abgesehen davon verdanke ich das alles nur meinen tollen Lehrern (Der Prinz er
lebt!) und meiner natuerlichen Begabung ....

Hmm worum gings eigentlich?? Egal!
Aber wenn schon die Zwerge anfangen, sich Haeuser zu bauen, um nicht mehr da
unten aufwachen zu muessen...

Schoko

-----------------------------------------------------------------------------



Re^9: Doofe Zwergenkatakomben (Key,  1. Mai 1998, 19:20:24):
~#! rn=Schoko rt=893982392 rg=entwicklung
~#! tid=893240532
>(Der Prinz er lebt!)
Pah ... wohl kaum ...
Er lebt nicht ... er vegetiert ... 

Key sagt: Der Prinz ist tot

-----------------------------------------------------------------------------



Arena (Overlord,  2. Mai 1998, 21:42:00):
Ich faende es ganz nett, wenn man in der Arena ein a:<text> bzw ein t:<text>
haette, damit Recken und blutruenstiges Publikum sich gegenseitig zeigen
koennen, was sie voneinander halten...

Ovi heute mal anregend

-----------------------------------------------------------------------------



Re: Arena (Jimdigriz,  3. Mai 1998, 15:19:35):
~#! rn=Overlord rt=894138120 rg=entwicklung
~#! tid=894138120
Aeh,...

alias a: arufe &*
alias t: trufe &* 
 ? 
Oder meinstest Du was anders ? 
JdG

-----------------------------------------------------------------------------



Re: Re: Arena (Key,  3. Mai 1998, 19:25:42):
~#! rn=Jimdigriz rt=894201575 rg=entwicklung
~#! tid=894138120
Er meint wohl nen emote ...

Key

-----------------------------------------------------------------------------



Re: Re: Arena (Overlord,  4. Mai 1998, 21:54:51):
~#! rn=Jimdigriz rt=894201575 rg=entwicklung
~#! tid=894138120
Ich meinte Emotes wie a:haelt den Daumen nach unten und schreit BLUUUUUUUT! ->
Arena: Jimdigriz haelt den Daumen nach unten und schreit BLUUUUUUT!

Ovi unmissverstaendlich

-----------------------------------------------------------------------------



Re^3: Arena (Zuerileu,  4. Mai 1998, 23:34:07):
~#! rn=Overlord rt=894311691 rg=entwicklung
~#! tid=894138120
Hi,
Also diese Dinge kannst du hier schon machen mit den ":" und ";" aber dafuer
brauchst du zuerst das richtige Quest geloest haben. 
Welches Quest das ist, frage deine Spielerkolleggen, es beginnt in Zwackis
Schloss, viel Spass =:)

Tschau Alain

-----------------------------------------------------------------------------



Re^4: Arena (Grimmborn,  4. Mai 1998, 23:53:00):
~#! rn=Zuerileu rt=894317647 rg=entwicklung
~#! tid=894138120
Huch, neue Quest?
Es geht um einen emote in der Arena, nicht um den emote generell...

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re^4: Arena (Overlord,  5. Mai 1998, 20:25:43):
~#! rn=Zuerileu rt=894317647 rg=entwicklung
~#! tid=894138120
irgendwie fuehle ich mich verarscht *grummel*
Ovi

-----------------------------------------------------------------------------



Laeden (Duffy,  6. Mai 1998, 11:27:15):
Erstmal ein 3x Hoch auf unsere Mags, die eine herliche Uptime erreicht haben!

Leider kommt mit der langen Uptime auch einige Probleme: die Laeden sind sehr
voll und somit unuebersichtlich. Wie waere es, wenn man das zeige waffen auf
"zeige waffen keule" erweitern koennte. Man bekommt dann nur noch die Keulen
angezeigt, die man gerade im Laden kaufen kann. Eine aehnliche Erweiterung ist
natuerlich auch fuer zeige ruestung interessant, so dass man nur noch die
Hosen/Stiefel/Ringe angezeigt bekommt.

Duffy, in Vertretung fuerrstie Obermotz

-----------------------------------------------------------------------------



Re^5: Arena (Catweazle,  6. Mai 1998, 12:10:13):
~#! rn=Overlord rt=894392743 rg=entwicklung
~#! tid=894138120
Hm, vielleicht haettest Du vor Deinem Artikel mal auf die Topspielerliste 
sehen sollen, Zueri :-)

YTC

-----------------------------------------------------------------------------



Re: Laeden (Morgoth,  6. Mai 1998, 14:00:45):
~#! rn=Duffy rt=894446835 rg=entwicklung
~#! tid=894446835
Ich habe sogar die Laeden soweit, dass sie nur noch solche Sachen
kaufen/verkaufen. Leider haben die Erzmagier so viel zu tun, dass sie das im
moment (seit ca. 1.5 jahren) keine zeit dafuer haben.
M*

-----------------------------------------------------------------------------



Re: Re: Laeden (Tunixgut,  6. Mai 1998, 14:33:05):
~#! rn=Morgoth rt=894456045 rg=entwicklung
~#! tid=894446835
Wie waere es denn mit einer Option "zeige alles fuer weniger als XXX muenzen"?

's Karate-Zwerchle.

-----------------------------------------------------------------------------



Re: Re: Laeden (Duffy,  6. Mai 1998, 15:05:32):
~#! rn=Morgoth rt=894456045 rg=entwicklung
~#! tid=894446835
Wie meinst Du das mit "diese Sachen". Wenn ich im Laden "zeige waffen keule"
eintippe, faende ich es gut, wenn alle Waffen, die zu diesem Typ gehoeren,
angezeigt wuerden. Z.B. auch ein Kochloeffel.

Und bei "zeige ruestung hose" waere es toll, wenn dort alles erscheint, was
ich als Hose tragen koennte.

Duffy, wieder in Vertretung fur Obermotz-Erstie

-----------------------------------------------------------------------------



Re^5: Arena (Asmodis,  6. Mai 1998, 18:31:46):
~#! rn=Overlord rt=894392743 rg=entwicklung
~#! tid=894138120
Zueri kennt die Arena doch gar nicht :)

-----------------------------------------------------------------------------



Re^6: Arena (Zuerileu,  7. Mai 1998, 01:26:35):
~#! rn=Catweazle rt=894449413 rg=entwicklung
~#! tid=894138120
hi,
jaja ich weiss =:)))

Es war ein versehen, hehe sorry.. just have fun.. bye Alain

-----------------------------------------------------------------------------



Re^6: Arena (Zuerileu,  7. Mai 1998, 01:27:52):
~#! rn=Asmodis rt=894472306 rg=entwicklung
~#! tid=894138120
Hi,
Oh doch ich kenne sie, ich habe dort guldukat als Spieler besiegt und er war
damals Seher =:)

Tschau Alain

-----------------------------------------------------------------------------



Re^6: Arena (Pra,  7. Mai 1998, 12:05:45):
~#! rn=Catweazle rt=894449413 rg=entwicklung
~#! tid=894138120
das verstehe ich jetzt nicht - Overlord mit seinem Level 14 taucht in
der Top-Spielerliste jedenfalls nicht auf.

Pra.

-----------------------------------------------------------------------------



Re^7: Arena (Marita,  9. Mai 1998, 01:23:42):
~#! rn=Zuerileu rt=894497272 rg=entwicklung
~#! tid=894138120
Ich kann bestaetigen, dass Zueri die Arena kennt... :-)
War glaubich mein Tod Nr. 8

Beitrach v. Marita

-----------------------------------------------------------------------------



Mail-System MG (Jof,  9. Mai 1998, 19:11:13):

 Ich habe am Wochenende den Mail-Gateway vom MG ins Internet und umgekehrt
ueberarbeitet (verbessert? :)); dadurch sollten die meissten der known
Bugs (zB funktionierte Mail von aussen an mehrere Adressaten nicht) behoben
sein. Desweiteren wird zum versenden jetzt direkt sendmail aufgerufen, 
statt mit dem bisherigen Hack zu arbeiten ...

 Jof

-----------------------------------------------------------------------------



Re: Mail-System MG (Zuerileu, 10. Mai 1998, 04:54:58):
~#! rn=Jof rt=894733873 rg=entwicklung
~#! tid=894733873
Hi,
Danke Jof =:) An mich hatte ich naehmlich auch oft probleme, teilweise gings
aber eigentlich schon lange nicht mehr.
Aemm ihr habt ein Hack verwendet ? hehe.. elende Raubkopierer da.. hehe..

tschau Alain

-----------------------------------------------------------------------------



Re: Mail-System MG (Teddy, 10. Mai 1998, 04:58:03):
~#! rn=Jof rt=894733873 rg=entwicklung
~#! tid=894733873
Aha, die RZGs sind dann also Absicht, die muessen so sein?

Teddy

-----------------------------------------------------------------------------



Re: Re: Mail-System MG (Jof, 10. Mai 1998, 13:08:36):
~#! rn=Teddy rt=894769083 rg=entwicklung
~#! tid=894733873

 Nee, die RZGs sind natuerlich NICHT beabsichtigt :) Allerdings traten die
in /mail/mailer.c auf, und ich habe nur /secure/mailer.c und das sendmail.cf
geaendert :) Ich habe die entsprechende Stelle im mailer jetzt geaendert
und hoffe, das es jetzt besser ist - andernfalls bitte ich um eine Be-
schreibung, wie man den Fehler erzeugt - mir ist das naemlich
nicht gelungen

-----------------------------------------------------------------------------



Re^3: Mail-System MG (Teddy, 10. Mai 1998, 19:57:20):
~#! rn=Jof rt=894798516 rg=entwicklung
~#! tid=894733873
Also die RZGs lassen sich noch immer produzieren, ich schreibs dir aber per
Mail, damit nicht alle anfangen, RZGs zu machen. ;-)

Teddy

-----------------------------------------------------------------------------



Tut das not...? (Hangover, 13. Mai 1998, 18:15:04):
...dass man direkt nach einem Reboot noch Todesfolgen hat? Ich
kann mich dunkel erinnern, dass die mal auf 0 gesetzt werden 
sollen.

-Hangover

-----------------------------------------------------------------------------



Berufe mal wieder (Bensonmam, 24. Mai 1998, 16:42:05):

Was macht eigentlich die Entwicklung der Berufe; war doch vor ner Weile im
Gespraech. Ist das wieder eingestellt worden?

Priester Bensonmam (will endlich seine Haushaelterin)

-----------------------------------------------------------------------------



Re: Berufe mal wieder (Bensonmam, 24. Mai 1998, 16:44:43):
~#! rn=Bensonmam rt=896020925 rg=entwicklung
~#! tid=896020925
Noch n Nachtrag dazu:

Mir ist gerade (angeregt durch ein paar Kommentare auf -ZT) noch ein schoener
Beruf eingefallen: Fremdenfuehrer in Toeters Kloster. Bei den vielen ZTs gaebs
dafuer doch sicher ne Menge Kundschaft.

J. Bensonmam

-----------------------------------------------------------------------------



Re: Re: Berufe mal wieder (Overlord, 24. Mai 1998, 17:17:10):
~#! rn=Bensonmam rt=896021083 rg=entwicklung
~#! tid=896020925

Ja das waer ne mordsgaudi...Im panzersicheren Gefaehrt aber wie Guru Woityla.

Ovi schmarrnend

-----------------------------------------------------------------------------



ssh (Grimmborn, 24. Mai 1998, 22:52:12):
Ach ja, ist an eine Moeglichkeit gedacht den Zugang zum mg ueber ssh zu
ermoeglichen? Auch wenns nur ein Spiel ist sollte man prinzipiell so wenige
Passwoerter wie moeglich offen uebers Netz schicken...

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re: ssh (Smurf, 25. Mai 1998, 21:55:35):
~#! rn=Grimmborn rt=896043132 rg=entwicklung
~#! tid=896043132
ssh-Zugang fuers Morgengrauen? Ich bin dagegen.

Zum einen braucht Verschluesselung CPU-Zeit, und waere ziemlicher
Overkill fuer das eine Mal wo du das Passwort eingeben musst.
Zum anderen blaeht der Kram entweder den Gamedriver auf oder
es ist noch ein unnoetiger Prozess auf dem Rechner.

Hack doch einfach eine wilde Zeichenfolge ein, pflanz sie in
das Loginskript deines Clients, verwende sie nirgendwo sonst, und
vergiss ansonsten, dass du fuers MG ueberhaupt ein PW brauchst. Ganz einfach.

ssh auf der Kiste zu installieren ist vielleicht fuer diejenigen, die eine
"echte" Loginshell auf dem Mudrechner brauchen, eine sehr gute Idee,
aber fuer alle anderen...

Smurf, loggt sich ansonsten auch ueberall wosss geht via ssh ein.

-----------------------------------------------------------------------------



Re: Re: ssh (Anakin, 26. Mai 1998, 09:09:06):
~#! rn=Smurf rt=896126135 rg=entwicklung
~#! tid=896043132
Naja selbst wenn es eine wilde Zeichenfolge ist kann man sie
abhoeren wenn sie nicht verschluesselt ist, ich glaub darum ging
es ja wohl. 

Anakin.

-----------------------------------------------------------------------------



Re^3: ssh (Trekan, 26. Mai 1998, 11:57:32):
~#! rn=Anakin rt=896166546 rg=entwicklung
~#! tid=896043132
Das problem duerfte sein, dass ssh ein an sich kommerzielles prog ist und nur
privat kostenfrei benuztt werden darf.
Wie bei sowas dann eine rechtliche nutzung aussieht ist fraglich zudem der
ssh-src code direkt ins mud hineinmuesste bzw. in die entsprechenden client's.

Moeglich ist aber eine ssh-verbindung direkt ueber einen einfachen
telnet-zugang indem man auf dem mud-rechnern eine ssh installert und einen
std-user einrichtet (evtl ohne passwd) der aus shell direkt telnet localhost
23 eingestellt hat.
Dies funktioniert auch problemlos. Allerdings wuerde jede connection einen
neuen sshd aufmachen und man kann nur reines telnet benuzten. also nix TF etc.

Trekan

-----------------------------------------------------------------------------



Re^4: ssh (Woody, 26. Mai 1998, 13:48:48):
~#! rn=Trekan rt=896176652 rg=entwicklung
~#! tid=896043132
Zur Verhaeltnismaessigkeit moecht ich nur anmerken, dass
secure login wohl ausschliesslich fuer Magier Sinn machen
wuerde. dann muesste man aber auch mudftp (nase) anpacken.
Ich glaub, das allein ist den Erzis+ Abschreckung genug :)

so seine Erfahrungen habend,
Woody.-

-----------------------------------------------------------------------------



Re^4: ssh (Grimmborn, 26. Mai 1998, 18:42:50):
~#! rn=Trekan rt=896176652 rg=entwicklung
~#! tid=896043132
Das MG ist nicht kommerziell. Insofern gaebe es keine Hinderung, ssh zu
benutzen. Der code muesste nicht ins mud integriert werden, man kann per ssh
quasi getunnelte Verbindungen aufmachen ueber die das laufen koennte. Das
Argument mit der CPU ist natuerlich gewichtig, keine Frage.
Der Tip mit der wilden Zeichenfolge ist nur maessig relevant, erstens geht es
primaer ums aushorchen und zweitens: Wenn ich Passwoerter auf oeffentlich
zugaenglichen Rechnern (=Rechner im Internet) ablege brauche ich mir ueber
security keine sonderlichen Gedanken mehr zu machen...

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re: ssh (Kretek,  2. Jun 1998, 14:26:10):
~#! rn=Grimmborn rt=896043132 rg=entwicklung
~#! tid=896043132
Ihr habt Probleme!  **wunder**
Keine sensiblen Daten auf MG rumliegen lassen, anderes Password als
auf anderen Kennungen verwenden, und ansonsten im Auge behalten, dass
das hier ein Spiel ist und kein Top-Secret-Rechner.
          
          kretek@antisocial.com


-----------------------------------------------------------------------------



Re: Re: ssh (Bottom,  2. Jun 1998, 14:47:43):
~#! rn=Kretek rt=896790370 rg=entwicklung
~#! tid=896043132

 ...aber immerhin beochbachtet der BND hier einige der Spieler schon etwas
intensiver! Oder ist das inzwischen ausgestanden? 


-----------------------------------------------------------------------------



Re^3: ssh (Pra,  2. Jun 1998, 14:50:14):
~#! rn=Bottom rt=896791663 rg=entwicklung
~#! tid=896043132
Ist wohl ausgestanden:

'finger BND' 
Hmm... diesen Namen gibt es in Morgengrauen nicht.

Pra. Beruhigt ;-)

-----------------------------------------------------------------------------



Re^4: ssh (Pra,  3. Jun 1998, 13:46:44):
~#! rn=Yendi rt=896869567 rg=entwicklung
~#! tid=896043132
moin Padreic,

ich dachte, es gibt einen Unterschied zwischen 'Besitz' und 'Copyright'?

Juristen vor...

pra.

-----------------------------------------------------------------------------



Re^5: ssh (Padreic,  3. Jun 1998, 16:02:49):
~#! rn=Pra rt=896874404 rg=entwicklung
~#! tid=896043132
Ok ok... aber ich denke es weiss auch so jeder was gemeint war :)
Formulier ich es also anders:
Der entsprechende Magier ueberlaesst dem mud, bis auf wiederruf die vollen
Nutzungsrechte.

Ich hoffe diesmal auch juristisch korrekt...

                                Padreic

-----------------------------------------------------------------------------



Wasserbueffel (Overlord, 10. Jun 1998, 12:43:00):
Weil der Wasserbueffel doch eine ziemlich harte Nuss ist, faende ich es gut,
wenn es nicht _so_ schwierig waere, an die hornspitze zu gelangen. Was fuer
andere Monster gut ist, sollte auch beim Bueffel wenigstens in der Lage sein,
das Horn abzuschlagen.
Ausserdem faende ich es vor allem angebracht, wenn man der Leiche die
Hornspitze entnehmen koennte, wenn man den schon gekillt hat.

Ovi

-----------------------------------------------------------------------------



Re: Wasserbueffel (Overlord, 10. Jun 1998, 12:45:31):
~#! rn=Overlord rt=897475380 rg=entwicklung
~#! tid=897475380
Ich weiss, dass man den nicht metzeln muss. Hab das Horn trotzdem weder mit
Langschwert noch mit Diamantschwert noch mit Feuerschwert abbekommen

Ovi macht mal ein PS

-----------------------------------------------------------------------------



Re: Wasserbueffel (Tunixgut, 11. Jun 1998, 13:00:45):
~#! rn=Overlord rt=897475380 rg=entwicklung
~#! tid=897475380
Du brauchst den Bueffel doch garnet umzuhauen, Hornspitze abschlagen,
wegrennen - Mach ich auch mit Lvl. 1-Spielern...
's Karate-Zwerchle...

-----------------------------------------------------------------------------



Re: Re: Wasserbueffel (Overlord, 12. Jun 1998, 00:19:57):
~#! rn=Tunixgut rt=897562845 rg=entwicklung
~#! tid=897475380
ich weiss es, siehe PS. ich hab mir nen ali gebastelt: .../for i 1 100 /send
schlage bueffel horn ab

Nach etlichen aufrufen des alis hatte ich die hornspitze endlich.

PS: was machen eigentlich dann Mudder mit Telnet?

Ovi

-----------------------------------------------------------------------------



Re^3: Wasserbueffel (Gloinson, 12. Jun 1998, 00:20:45):
~#! rn=Overlord rt=897603597 rg=entwicklung
~#! tid=897475380
Die tippen &&
Nu :)

Gloin

-----------------------------------------------------------------------------



Re^4: Wasserbueffel (Overlord, 12. Jun 1998, 00:21:40):
~#! rn=Gloinson rt=897603645 rg=entwicklung
~#! tid=897475380
Na denn... Mein Telnet konnte das nich :))

Ovi

-----------------------------------------------------------------------------



Re^5: Wasserbueffel (Teddy, 12. Jun 1998, 00:22:17):
~#! rn=Overlord rt=897603700 rg=entwicklung
~#! tid=897475380
Das ist keine telnetfunktion, sondern ne MG-Funktion

Teddy

-----------------------------------------------------------------------------



Re^6: Wasserbueffel (Overlord, 12. Jun 1998, 00:23:15):
~#! rn=Teddy rt=897603737 rg=entwicklung
~#! tid=897475380
huch ja kann sein das ich innem anderen mud damit war.
Ovi

-----------------------------------------------------------------------------



Re^3: Wasserbueffel (Ringor, 12. Jun 1998, 00:24:43):
~#! rn=Overlord rt=897603597 rg=entwicklung
~#! tid=897475380
Mudder mit Telnet machen es vielleicht einfach sofort richtig.

Ringor. Brauchte nur einmal "schlage bueffel horn ab" einzutippen.

-----------------------------------------------------------------------------



Re^4: Wasserbueffel (Overlord, 12. Jun 1998, 00:44:10):
~#! rn=Ringor rt=897603883 rg=entwicklung
~#! tid=897475380
die ersten ca 100 mal hab ich noch regelmaessig mein inventory
durchgesehen...nix
ovi 

-----------------------------------------------------------------------------



Re^5: Wasserbueffel (Teddy, 12. Jun 1998, 00:47:29):
~#! rn=Overlord rt=897605050 rg=entwicklung
~#! tid=897475380
Musst du evtl. das Teil aufheben?

Teddy, hatte damit keine Probleme damit damals.

Teddy

-----------------------------------------------------------------------------



Re^6: Wasserbueffel (Gloinson, 12. Jun 1998, 10:27:57):
~#! rn=Teddy rt=897605249 rg=entwicklung
~#! tid=897475380
Aber Mango :)

Gloin

-----------------------------------------------------------------------------



Re^7: Wasserbueffel (Yendi, 12. Jun 1998, 12:50:52):
~#! rn=Overlord rt=897603795 rg=entwicklung
~#! tid=897475380
> huch ja kann sein das ich innem anderen mud damit war.

Tja, dann darfst Du Dich natuerlich nicht wundern, wenn es da keine
Wasserbueffelhornspitzen gibt... auch nicht, wenn Du "&&" tippst...

YTY

Griiiiiiiimmboooooooooorn!



-----------------------------------------------------------------------------



Re^3: Wasserbueffel (Karis, 12. Jun 1998, 12:53:19):
~#! rn=Overlord rt=897603597 rg=entwicklung
~#! tid=897475380
Tja, Ovi, Telnetter machen das einfach nur einmal.
Frag mal jemanden, der sich mit dem Client auskennt - dann klappts
auch mit dem Bueffel;))

-----------------------------------------------------------------------------



Objekte reduzieren (Gruuh, 18. Jun 1998, 09:33:45):
Vorschlag auf Boings Artikel in Bekanntmachungen:
Um die Anzahl der Objekte in Grenzen zu halten, waere es sinnvoll, beim
Verrotten von Leichen die Ausruestung gleich mit verschwinden zu lassen. Bis
die Leiche weg ist, sollte genug Zeit sein, sich Sachen zu nehmen. Bei Leichen
von Spielern sollte man allerdings ne Ausnahme machen :)

-----------------------------------------------------------------------------



Re: Objekte reduzieren (Goofy, 18. Jun 1998, 09:53:21):
~#! rn=Gruuh rt=898155225 rg=entwicklung
~#! tid=898155225
Ich halte das fuer keine gute Idee, die Ausruestung der NPC's verschwinden zu
lassen. Kleinere Spieler haetten dann wohl kaum ne Chance
ueberhaupt an Ausruestung oder Geld zu kommen. Ich bin am Anfang oft durchs MG
gepilgert um das aufzusammeln, was die Metzler haben liegen lassen.
In den normalen Gebieten bleibt so was ja auch nicht allzulange liegen, das
sich immer mal jemand findet der Geld braucht und das Zeug zum naechsten Laden
schafft.
Eine Alternative waere natuerlich, das Zeug erst nach ein paar Stunden, 24
vielleicht, verschwinden zu lassen.
Wenns dann keiner aufgelesen hat kanns wirklich weg.
Goofy


-----------------------------------------------------------------------------



Re: Re: Objekte reduzieren (Ringor, 18. Jun 1998, 10:05:31):
~#! rn=Goofy rt=898156401 rg=entwicklung
~#! tid=898155225
Was ist eigentlich aus der Idee geworden, fuer die lieben Kleinen ein paar
Kisten in den Rassenstartraeumen aufzustellen, aus denen sie sich ausruesten
koennen?

Wenn man dann die Ausruestung aus verrottenden Leichen vielleicht nicht direkt
vernichtet, sondern auf die Anfaenger-Ausruestungs-Kisten verteilt, dann
muessen die kleinen Spieler nichtmal mehr so weit laufen. ;-)

Dabei koennen dann Sachen, von denen schon n Exemplare in den Kisten liegen,
direkt vernichtet werden. Und zusaetzlich kann dann halt das Aufraeumen mit
"Kistenhuetern" dazu kommen, wie bei den neuen Laeden.

Zugriff auf die Kisten sollten dabei allerdings nur Spieler bis zu nem
gewissen Level haben, und vielleicht auch nur fuer einen gewissen Wert an
Muenzen pro Tag oder so, damit nicht einzelne alles verkaufen gehen. 

Nur so als Vorschlag,
Ringor

-----------------------------------------------------------------------------



Re: Re: Objekte reduzieren (Trancefear, 18. Jun 1998, 10:05:38):
~#! rn=Goofy rt=898156401 rg=entwicklung
~#! tid=898155225
Ohja gute Idee, und dann alle Leichen leicht vergiften, dass die Magier auch
was zu lachen haben...

tf

-----------------------------------------------------------------------------



Re^3: Objekte reduzieren (Trancefear, 18. Jun 1998, 10:07:56):
~#! rn=Trancefear rt=898157138 rg=entwicklung
~#! tid=898155225
Gegenvorschlag: wie waers, wenn die Monster beim Tod ihre Sachen (mehr oder
weniger) beschaedigen? Der eine faellt in sein Schwert, der andere auf seinen
Schild, etc.

tf

-----------------------------------------------------------------------------



Re^4: Objekte reduzieren (Ringor, 18. Jun 1998, 10:09:23):
~#! rn=Trancefear rt=898157276 rg=entwicklung
~#! tid=898155225
Und wieso hilft das dann dabei, die Objekte zu reduzieren?

Dann sammelt sich halt lauter beschaedigtes Zeug. Sollte dem Lag egal sein.

Ringor

-----------------------------------------------------------------------------



Re^3: Objekte reduzieren (Azzuro, 18. Jun 1998, 10:17:00):
~#! rn=Ringor rt=898157131 rg=entwicklung
~#! tid=898155225
Nur als Anmerkung zu Ringors Artikel:
"....damit nicht einzelne alles verkaufen gehen..."

Man knnte einfach bei Ablage in die Kiste den Wert der Gegenstaende auf 0
setzen. Ist in einer Zeile machbar.

Nur so als Idee, falls sich jemand drum kuemmern will ;-)

Azzuro

-----------------------------------------------------------------------------



Re: Objekte reduzieren (Morgoth, 18. Jun 1998, 10:32:20):
~#! rn=Gruuh rt=898155225 rg=entwicklung
~#! tid=898155225
Schoen waere es auch, wenn es z.b. im Seherladen ein Tool geben wuerde
(magischer Muellsack oder so), in den man ALLES reinstecken kann, aber nix
herausnehmen. Nebenbei reduziert er das Gewicht auf 0, so dass keine
Gewichtslast dazu kommt. Mit diesem Muellsack kann man dann im naechsten Laden
den Muelli fuettern.
Ist das Akzeptabel fuer Euch Spieler? Fuer Euch Mitmagier? Fuer die Bosse?
Ich wuerd das auch proggen. ;-)

M*

-----------------------------------------------------------------------------



Re: Re: Objekte reduzieren (Gloinson, 18. Jun 1998, 10:33:10):
~#! rn=Morgoth rt=898158740 rg=entwicklung
~#! tid=898155225
Nette Idee ... aber lass es bitte einen anderen proggen. Padreic vielleicht?

Gloin :)

-----------------------------------------------------------------------------



Re^3: Objekte reduzieren (Morgoth, 18. Jun 1998, 10:33:26):
~#! rn=Gloinson rt=898158790 rg=entwicklung
~#! tid=898155225
Wieso das denn?
M*

-----------------------------------------------------------------------------



Re^4: Objekte reduzieren (Gloinson, 18. Jun 1998, 10:35:43):
~#! rn=Morgoth rt=898158806 rg=entwicklung
~#! tid=898155225
Kein Kommentar.

Gloin ...

> Deine Nase faellt Dir ab. Der Muellsack sollte mal wieder entleert werden.
> Du hast jetzt 120 (-88) Lebenspunkte und 20 Konzentrationspunkte.

-----------------------------------------------------------------------------



Re: Re: Objekte reduzieren (Azzuro, 18. Jun 1998, 10:36:11):
~#! rn=Morgoth rt=898158740 rg=entwicklung
~#! tid=898155225
Hmmm....Wenn du die Dinger im Muellsack weiterexistieren laesst, aber das
gewicht auf 0 setzt, warum sollte ein Seher dann den Muellschlucker damit
fuettern??
Die Idee ist gut, aber dann sollte es ein kleiner Daemon sein, der alles
gleich an ort und Stelle auffrisst, und vielleicht bei guter Fuetterung als
Faekalien Goldstaub hinterlaesst.
Nur so ein paar Ideen.

Azzuro

-----------------------------------------------------------------------------



Re^5: Objekte reduzieren (Gruuh, 18. Jun 1998, 10:36:17):
~#! rn=Gloinson rt=898158943 rg=entwicklung
~#! tid=898155225
Es ist doch immer wieder verblueffend, wie schnell eine ersthafte Diskussion
im MG ins alberne abgleitet.

-----------------------------------------------------------------------------



Re^6: Objekte reduzieren (Gloinson, 18. Jun 1998, 10:37:59):
~#! rn=Gruuh rt=898158977 rg=entwicklung
~#! tid=898155225
Ja, man moechte doch von einem Spiel was anderes erwarten, nicht?

Gloin

-----------------------------------------------------------------------------



Re: Re: Objekte reduzieren (Ringor, 18. Jun 1998, 10:41:03):
~#! rn=Morgoth rt=898158740 rg=entwicklung
~#! tid=898155225
Generell finde ich den Muellsack eine klasse Idee. Allerdings sollte es
zumindest, so lange man noch im selben Raum ist, ein "undo" geben.

Ich sehe sonst schon Seher, die zufaellig genau dann das "stecke alles in
muellsack" tippen, waehrend ein Kaempfer daneben sich gerade unfreiwillg von
all seiner Ausruestung trennt. ;-)

Ringor. Kennt Murphy recht gut.

-----------------------------------------------------------------------------



Re^5: Objekte reduzieren (Boing, 18. Jun 1998, 10:41:25):
~#! rn=Gloinson rt=898158943 rg=entwicklung
~#! tid=898155225
Du steckst Ringors Hoehle in den Muellsack. CRUNCH.
[Allgemein:Blablubb] Wieso kommt das Piratenschiff nicht mehr?

Boing, grinsend

-----------------------------------------------------------------------------



Re^6: Objekte reduzieren (Anatol, 18. Jun 1998, 11:31:19):
~#! rn=Boing rt=898159285 rg=entwicklung
~#! tid=898155225
Da lobe ich mir doch die Zauberer, die nahezu beliebige Ausruestung in
Stabmagiepunkte umsetzen koennen. Leider nicht sehr effektiv, aber immerhin
sauber. :) Ansonsten wuerde ich tatsaechlich einen allgemeinen Befehl
"verscharre" begruessen, der das Alignment des Spielers beeinflusst:
Wer fleddert, wird "boeser", wer fleddert und dann verscharrt nicht
ganz so sehr. Wer verscharrt, ohne zu fleddern (obwohl es was zu fleddern
gab), wird mit einer Alignmentsverbesserung belohnt/bestraft, und der, der
eine Leiche zusaetzlich beschenkt, bevor er sie in Mutter Erdes letzte
Umarmung entlaesst, bewegt sich einen guten Schritt in Richtung Heiligkeit.

Anatol :)


-----------------------------------------------------------------------------



Re^7: Objekte reduzieren (Morgoth, 18. Jun 1998, 11:41:08):
~#! rn=Anatol rt=898162279 rg=entwicklung
~#! tid=898155225
Aehm....nimm Deinen Klerikerzweite und lerne den Spruch 'begrabe'. Dann hast
Du (fast) genau dieses Feature.
M*

-----------------------------------------------------------------------------



Re^8: Objekte reduzieren (Anatol, 18. Jun 1998, 11:42:38):
~#! rn=Morgoth rt=898162868 rg=entwicklung
~#! tid=898155225
Ich habe schon damals nicht verstanden, warum das aussschliesslich 
Kleriker verwenden sollen und warum das ein Spell sein muss (den man
zu ueben hat) :).
Ach ja, eben kam noch ein Kommentar rein: Man sollte nur eigene Kills
verscharren koennen, aber das ist ja wohl fast Selbstverstaendlichkeit.

So, genug Telekom gefuettert.
Anatol :)


-----------------------------------------------------------------------------



Re^6: Objekte reduzieren (Key, 18. Jun 1998, 12:36:01):
~#! rn=Boing rt=898159285 rg=entwicklung
~#! tid=898155225
Psst :)
Mist musste alles verraten? :) Das waere doch zu schoen gewesen ;)

Key

-----------------------------------------------------------------------------



Re: Re: lag-vermeidung (antwort auf boing) (Gloinson, 18. Jun 1998, 13:31:44):
~#! rn=Padreic rt=898169374 rg=allgemeines
~#! tid=898169283
Leider, lieber Padreic, frisst das Scheissvieh von Muellschlucker nur
wertlose Sachen.

Gloin

-----------------------------------------------------------------------------



Re^3: lag-vermeidung (antwort auf boing) (Anatol, 18. Jun 1998, 13:34:41):
~#! rn=Gloinson rt=898169504 rg=entwicklung
~#! tid=898169283
Padreic meinte nicht das Verfuettern von Gegenstaenden, sondern das
ganz normale Weitergeben an den Muellschlucker. Nur weil "Padreic" 
drueber, muss noch lange nicht Scheisse DRIN stehen, Gloin.

Anatol


-----------------------------------------------------------------------------



Re^4: lag-vermeidung (antwort auf boing) (Gloinson, 18. Jun 1998, 13:36:04):
~#! rn=Anatol rt=898169681 rg=entwicklung
~#! tid=898169283
Okok :) Ich gebs zu. Aeh, aber das mit dem Sch..., das war Deine Assoziation,
Anatol. Du nun wieder.

Gloin

-----------------------------------------------------------------------------



Re: Re: Objekte reduzieren (Teddy, 18. Jun 1998, 13:45:18):
~#! rn=Morgoth rt=898158740 rg=entwicklung
~#! tid=898155225
Ich finds OK, wenn ich da direkt aus der Leiche Sachen reinstecken kann, ohne
dauernd meine Ausruestung wegzustecken weil ich mal wieder voellig ueberladen
rumlaufe: Also nen Befehl entsorge alles aus lecihe oder entsorge schwert aus
leiche halt, der nicht testet, was oder wieviel ich tragen kann.

Teddy

-----------------------------------------------------------------------------



Re^7: Objekte reduzieren (Teddy, 18. Jun 1998, 13:46:20):
~#! rn=Gloinson rt=898159079 rg=entwicklung
~#! tid=898155225
Wie das ist hier ein Spiel?
Da hab ich diese Woche aber anderes gehoert.

Teddy

-----------------------------------------------------------------------------



Re^7: Objekte reduzieren (Teddy, 18. Jun 1998, 13:49:45):
~#! rn=Anatol rt=898162279 rg=entwicklung
~#! tid=898155225
Au prima, ich werde boese.
Ich denke das fuehrt bei vielen Chaoten, Zauberern, Elementaren und aehnlichem
zu netten Fledderorgien. Vor allem Gilden, in denen man neutral sein sollte
profitieren davon ganz enorm.

Teddy

-----------------------------------------------------------------------------



Re^8: Objekte reduzieren (Belgariad, 18. Jun 1998, 13:55:50):
~#! rn=Teddy rt=898170585 rg=entwicklung
~#! tid=898155225
Man koennte ja nen anfaeger laden machen der diese Objekte fuehrt. So aehnlich
wie Ringors Kiste. In diesem Laden kann man sich einmal pro Reboot bzw Tod
eine komplette Auruestung holen die man mit ein paar Erfahrungspunkten
bezahlt. So wird vermieden das Zweities die Kisten/Laeden leerraeumen und die
ganzen Items verkaufen. Die Objekte die laenger als 24 Stunden herumliegen
koennte man zur gleichen Uhrzeit wie das Updaten der Toplistte desctructen bzw
den Anfaengerlaeden zufuehren.

Belgariad

-----------------------------------------------------------------------------



Re^8: Objekte reduzieren (Anatol, 18. Jun 1998, 14:17:06):
~#! rn=Teddy rt=898170585 rg=entwicklung
~#! tid=898155225
Ganz ehrlich, was erscheint Dir besser: Fleddern oder via Script mal
eben zu Lars oder Muenzen spenden? Und ueber die Effektivitaet bzw. ueber
die Guete der Grabbeigaben laesst sich ja wohl diskutieren :)

Anatol


-----------------------------------------------------------------------------



Re^9: Objekte reduzieren (Teddy, 18. Jun 1998, 14:18:12):
~#! rn=Anatol rt=898172226 rg=entwicklung
~#! tid=898155225
Heilig oder satanisch werden geht im Moment auch schon ganz gut, da hast du
recht, aber neutral bleiben ist nicht ganz so einfach, ausserdem ists ein
Unterschied, ob ich unterwegs mein allignment beeinflussen kann oder
ausserhalb eines Metzelgebietes


Teddy

-----------------------------------------------------------------------------



Re^10: Objekte reduzieren (Anatol, 18. Jun 1998, 14:25:19):
~#! rn=Teddy rt=898172292 rg=entwicklung
~#! tid=898155225
Immerhin waere es ein Schritt in Richtung "Acrimon": Das Toeten von "boesen"
oder "satanischen" Monstern wuerde nicht mehr so krass die eigene Gesinnung
verbessern - das kommt den Chaoten zwar entgegen, aber bitte, DAS ist eine
Aufwertung, die sich nicht so brutal niederschlaegt wie die letzten 5-6, 
oder? :) Jedenfalls wird die Objektflut durch das Verscharren beschenkter 
und/oder nur teilgefledderter Leichen ein wenig eingedaemmt, in Quests liegen
nicht mehr so viele hilfreiche und stoerende Tools von Metzlern rum und 
ueberhaupt - auch wenn es das zweitbescheuerteste Argument ueberhaupt ist - 
ist's so wie jetzt eh nicht logisch, oder? :)

Hm, irgendwann pilgere ich nach "diskussion",
Anatol


-----------------------------------------------------------------------------



Re^11: Objekte reduzieren (Teddy, 18. Jun 1998, 14:29:23):
~#! rn=Anatol rt=898172719 rg=entwicklung
~#! tid=898155225
Ich hab nix gegen das verscharren, aber mir gefaellt einfach die
allignmentaenderug in dem Zug nicht.
Allignmentaenderungen haben einfach auf zu viele Gilden zu krasse
Auswirkungen, als das man sie mal eben so einfuehren sollte.
Die meisten Gilden, auch zukuenftige, orientieren sich am Status Quo und
kommen ziemlich ausm Takt, wenn sich da so krass was dran aendert.

Teddy

-----------------------------------------------------------------------------



Re^12: Objekte reduzieren (Ark, 18. Jun 1998, 15:10:08):
~#! rn=Teddy rt=898172963 rg=entwicklung
~#! tid=898155225
Hm, warum sollte das mit ner Alignmentaenderung einhergehen?
Lasst das weg, und es ist gut so :-)
*Mit-dem-Verscharren-Faehnchen-wedelnd*


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^13: Objekte reduzieren (Schoko, 18. Jun 1998, 16:20:22):
~#! rn=Ark rt=898175408 rg=entwicklung
~#! tid=898155225
Wie siehts denn eigentlich aus mit NPCs, die den ganzen Kram entsorgen. Ich
denke dabei an so Sachen, wie den Putzteufel oder so. Das muesste dann
natuerlich etwas geschickt gemacht sien, so dass die nich die ganze Zeit ueber
rummrennen und alle Raeume staendig laden, sonder dass sie nur wenn
tatsaechlich jemand da war noch ne Weile rumrennen und "staubsaugen".
Denkbar waere da sogar ein /std/staubsauger, der dann jeweils bei "typischen"
Muellhalden eingesetzt wird (ein Maulwurf im Glockenwald, ein Troedelhaendler
im Orklager etc...).

Schoko (hofft das einigermassen klar is, was er meint... ;))

-----------------------------------------------------------------------------



Re^7: Objekte reduzieren (Overlord, 18. Jun 1998, 21:32:36):
~#! rn=Anatol rt=898162279 rg=entwicklung
~#! tid=898155225
wovon soll man sich denn ernaehren wenn jeder die Leichen verscharrt?

Ovi duest in Richtung Schmarrn :)

-----------------------------------------------------------------------------



Re: Re: Objekte reduzieren (Asmodis, 18. Jun 1998, 22:17:36):
~#! rn=Goofy rt=898156401 rg=entwicklung
~#! tid=898155225
Natuerlich muesste man dann die DECAY_TIME etwas hochsetzen, vielleicht
20 Minuten ?

-----------------------------------------------------------------------------



Re: Re: Objekte reduzieren (Asmodis, 18. Jun 1998, 22:28:16):
~#! rn=Morgoth rt=898158740 rg=entwicklung
~#! tid=898155225
Warum nicht gleich Muellschlucker im Tierladen kaufen ?

[Tod:Lars] Sterbie ist gerade in einem Muellsack erstickt.

-----------------------------------------------------------------------------



Re^9: Objekte reduzieren (Asmodis, 18. Jun 1998, 22:39:11):
~#! rn=Belgariad rt=898170950 rg=entwicklung
~#! tid=898155225
Aeh, die Top-Liste wird doch per Cron (vom Rechner selbst) geupdatet ?
Das klappt also wohl nicht so recht.

-----------------------------------------------------------------------------



Re^14: Objekte reduzieren (Dhojakt, 19. Jun 1998, 01:47:31):
~#! rn=Schoko rt=898179622 rg=entwicklung
~#! tid=898155225
Also ich halte so einen Staubsauger grade in kompakten metzelgebieten mit
kram, der viel wert ist, nich fuer so ne tolle idee, der kram wird
regelmaessig auch komplett wieder von uebenden/metzelnden leuten verkauft.
Jedenfalls kommt es ziemlich haeufig vor, dass ich mal in den glockenwald/nach
moulokin renne und mir meinen kram selber metzeln muss. So ein Pech auch.
*grins*
Khidar.

-----------------------------------------------------------------------------



Re^15: Objekte reduzieren (Asmodis, 19. Jun 1998, 09:59:05):
~#! rn=Dhojakt rt=898213651 rg=entwicklung
~#! tid=898155225
Ist die Faulheit einiger Leute jetzt ein Argument gegen
einen Staubsauger ? :)

-----------------------------------------------------------------------------



Re^3: Objekte reduzieren (Catweazle, 19. Jun 1998, 11:34:00):
~#! rn=Asmodis rt=898201056 rg=entwicklung
~#! tid=898155225
Hehe.
Wenn die DECAY_TIME von den Leichen auf 20 Minuten hocchgesetzt wird, sterben
wir spaetestens nach 20 Minuten den Callout-Tod ...

YTC

-----------------------------------------------------------------------------



Re^7: Objekte reduzieren (Wur, 19. Jun 1998, 16:00:32):
~#! rn=Gloinson rt=898159079 rg=entwicklung
~#! tid=898155225
Ebenfalls koennte man beachten was fuer Wesen hier im MG taetig sind. Da
duerfte es sogar kaum moeglich sein eine ernsthafte Diksussion zu fuehren.

Wur

-----------------------------------------------------------------------------



Re^4: Objekte reduzieren (Trancefear, 19. Jun 1998, 20:19:16):
~#! rn=Catweazle rt=898248840 rg=entwicklung
~#! tid=898155225
Na dann setzte halt MAX_CALLOUTS in config.h 'n bisschen hoeher...

tf

-----------------------------------------------------------------------------



Re: Re: Objekte reduzieren (Songoku, 22. Jun 1998, 14:13:49):
~#! rn=Morgoth rt=898158740 rg=entwicklung
~#! tid=898155225
der muellsack ist ne gute idee. Er sollte aber auch fr norm spielerer
erhltlich sein (mit ner beschriftung, was er macht (sonst wird er schnell zu
nem BAG OF DEVOURING)

-----------------------------------------------------------------------------



Muellsack (Morgoth, 25. Jun 1998, 16:48:48):
Hi Leute,

wie vor einigen Artikeln irgendwann mal angekuendigt, gibt es nun den
'magischen Muellsack'. Zu kaufen ist er (im Moment) im Orkhausener Laden
**stups die anderen Magier an**. 
Sinn ist es, die vielen unnuetzen Objekte zu verringern. Man kann alles in den
Sack stecken, ohne dass er schwerer wird (er wiegt also NIX). Einschraenkung
ist natuerlich dabei, dass man auch nichts mehr entnehmen kann.
Wir (die Magier) bitten Euch (die Spieler) auch in eigenem Interesse, das
ausgiebig zu nutzen, denn: Je weniger Objekte, desto weniger Speicher wird
verbraucht, also laengere Uptimes(potentiell).
Also, viel Spass als Muellmaenner und Muellfrauen......

Morgoth

-----------------------------------------------------------------------------



Re: Muellsack (Trancefear, 25. Jun 1998, 17:35:43):
~#! rn=Morgoth rt=898786128 rg=entwicklung
~#! tid=898786128
Ja nett... wie waers denn zusaetzlich mit dem aus den Laeden bekannten
Muellschlucker als Haustier? *stups Durian*

tf

-----------------------------------------------------------------------------



Re: Muellsack (Catweazle, 26. Jun 1998, 10:24:13):
~#! rn=Morgoth rt=898786128 rg=entwicklung
~#! tid=898786128
Aeh, versteh ich das richtig, dass Objekte im SAack bestehen bleiben:. Also
irgendwie hilft das nicht viel unnuetze Objekte loszuwerden. Ausserdem faellt
dabei sogar nir, als elendig langem Nicht-Mehr-Spieler spontan 'oeffne
zaubertrank mit muellsack' ein :(
Irgendwie hab ich das Gefuehl, das mit diesem Ding wieder mal viel
Schindluder getrieben werden kann...
Yours truly,
     Catweazle

-----------------------------------------------------------------------------



Re: Re: Muellsack (Grimmborn, 26. Jun 1998, 10:25:38):
~#! rn=Catweazle rt=898849453 rg=entwicklung
~#! tid=898786128
Schindluder? Ich finde das einen lobenswerten Beitrag zur Verringerung der
Tankzweitieschwemme. Endlich kann man einen Tankie mit ein paar Millionen
Muenzen haben...

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re: Re: Muellsack (Catweazle, 26. Jun 1998, 10:33:01):
~#! rn=Catweazle rt=898849453 rg=entwicklung
~#! tid=898786128
Okok, mit dem Zaubertrank gehts nicht, trotzdem findet sich da bestimmt
irgendwie eine Moeglichkeit.
Yours truly,
     Catweazle (traut den Spielern fast alles zu ... )

-----------------------------------------------------------------------------



Re^3: Muellsack (Anatol, 26. Jun 1998, 11:08:10):
~#! rn=Catweazle rt=898849981 rg=entwicklung
~#! tid=898786128
Dieser Zug ist abgefahren, Cattie :) 
Wenn einer dieser Gammahosen-Muellsaecke vernichtet wird, macht er meines
Wissens eben genau das auch mit seinem Inventory, das er im Uebrigen jeden
Reset sowieso verschwinden laesst.

No offense meant, aber auf solche Ideen kommen "wir Spieler" in der Tat
eine Spur schneller ;)

Anatol :))


-----------------------------------------------------------------------------



Re^4: Muellsack (Highlander, 29. Jun 1998, 11:25:10):
~#! rn=Anatol rt=898852090 rg=entwicklung
~#! tid=898786128
Ohne jetzt reingeschaut zu haben - der wartet doch wohl hoffentlich
nicht wirklich bis zum naechsten reset, bis er den Muell atomisiert?
Es ist doch sowohl einfacher als auch besser, ihn sofort in Einzelteile
aufzuloesen mnuMn.
    HrT

-----------------------------------------------------------------------------



Re^5: Muellsack (Morgoth, 29. Jun 1998, 11:27:05):
~#! rn=Highlander rt=899112310 rg=entwicklung
~#! tid=898786128
Nein, JETZT wartet er nicht mehr. Aber irgendwie hatte vorher keiner die
richtige Idee, wie er die Dinger sofort zerstoert(selbst Jof nicht), da sie
kein init() ausloesen. Paracelsus hatte dann die rettende Idee und jetzt
sollte das eigentlich klappen. Es muessen nur viele Magier den Sack im Laden
anbieten.
M*

-----------------------------------------------------------------------------



Re: Muellsack (Asmodis, 29. Jun 1998, 13:17:22):
~#! rn=Morgoth rt=898786128 rg=entwicklung
~#! tid=898786128
Kann ich da auch unnuetze Magier reinstecken ? :)

-----------------------------------------------------------------------------



Re^6: Muellsack (Woody, 29. Jun 1998, 13:24:05):
~#! rn=Morgoth rt=899112425 rg=entwicklung
~#! tid=898786128
PreventInsert() ?

-----------------------------------------------------------------------------



Re^7: Muellsack (Morgoth, 29. Jun 1998, 13:36:02):
~#! rn=Woody rt=899119445 rg=entwicklung
~#! tid=898786128
Yep. Und dann ein call_out ;-)
M*

-----------------------------------------------------------------------------



Re^7: Muellsack (Trancefear, 29. Jun 1998, 14:01:39):
~#! rn=Woody rt=899119445 rg=entwicklung
~#! tid=898786128
Watten, da ist selst Jof nicht drauf gekommen? tststs...

tf

-----------------------------------------------------------------------------



Re^8: Muellsack (Silvana, 29. Jun 1998, 18:43:34):
~#! rn=Trancefear rt=899121699 rg=entwicklung
~#! tid=898786128
Oh, oh... Ich hoffe, der startet nur einen call_out, auch wenn man viele
Objekte _schnell_ reinsteckt... Sonst ham wir nen Problem, wenn 
Anatol das teste... :)

  (Silvana)

-----------------------------------------------------------------------------



Re^9: Muellsack (Woody, 30. Jun 1998, 10:18:03):
~#! rn=Silvana rt=899138614 rg=entwicklung
~#! tid=898786128
Och soviele Objekte kann nicht mal DER tragen, dass es da
ernsthafte Probleme gaebe. Wenn doch, dann liegt das
Problem bei den Objekten und nicht beim Muellsack :)
(Stichwort endlos...)

Woody.-

-----------------------------------------------------------------------------



url (Rikus, 30. Jun 1998, 21:06:20):
Hi,
nun ist auch die Homepage im finger sichtbar, welche man sich per
url ... setzen kann.

Rikus

-----------------------------------------------------------------------------



Re: url (Pra,  1. Jul 1998, 10:58:13):
~#! rn=Rikus rt=899233580 rg=entwicklung
~#! tid=899233580
hmm - bei der Gelegenheit: kann man die url auch wieder loeschen?

Pra.

-----------------------------------------------------------------------------



Einmalige Objekte (Rochus,  1. Jul 1998, 20:10:32):
Ich habe an meinen Objekten, die in limitierter Anzahl vorhanden sind
(abgesehen vom Vollstrecker), eine Kleinigkeit geaendert.
Wenn das Objekt oft genug von einem Monster angefordert wurde
wird es dem Spieler (nach einer Warnung) abgenommen.
Dadurch sollten die Leute, die sofort nach nem reset losziehen und
diese Objekte horten nicht mehr die anderen allzu stark benachteiligen.

  Rochus

-----------------------------------------------------------------------------



Re: Einmalige Objekte (Sting,  1. Jul 1998, 20:15:59):
~#! rn=Rochus rt=899316632 rg=entwicklung
~#! tid=899316632
KLASSE Rochus!!

Sting

-----------------------------------------------------------------------------



Re: Einmalige Objekte (Therin,  1. Jul 1998, 22:33:26):
~#! rn=Rochus rt=899316632 rg=entwicklung
~#! tid=899316632

Du meinst nach einem Reboot, vermute ich....
Gut so!

T.

-----------------------------------------------------------------------------



Re: Einmalige Objekte (Teddy,  1. Jul 1998, 23:54:24):
~#! rn=Rochus rt=899316632 rg=entwicklung
~#! tid=899316632
Super, sollte Schule machen das Beispiel.

Teddy

-----------------------------------------------------------------------------



Re: Re: Einmalige Objekte (Nonne,  2. Jul 1998, 13:20:42):
~#! rn=Teddy rt=899330064 rg=entwicklung
~#! tid=899316632
Bei einigen Items, die bestimmte zwecke haben, z.B. Stirnreif auf Toeters
Insel, koennte man doch auch Zeitabhaengig gestallten, oder wie den heiligen
Hammer, der nach dem Ausloggen weg ist. Wenn man den Gegenstand braucht,
metzelt man ihn, aber er ist dann spaeter fuer andere wieder da. Da gibts
manigfalltige Moeglichkeiten. Irgendeine Beschraenkung sollte aber jedes
limitierte Icon habe. Schoen, dass es mal einer gemacht hat. Danke Rochus.

Nonne

-----------------------------------------------------------------------------



Selbstloeschung (Yendi,  2. Jul 1998, 14:22:14):
Vielleicht gehoert dies eher nach Schmarrn, aber was haltet ihr davon, wenn
man die Selbstloeschung nicht nur den betreffenden Spieler warnen laesst,
sondern gleichzeitig auch ein allgemeiner Warnruf losgeht:
> Selbstloeschung ruft: <Spieler> will sich loeschen!

Auf die Art keonnten sich die Spieler die Artikel a la "Ihr seid alle doof und
stinkt, und deshalb loesche ich mich jetzt, baeh!" sparen und waeren sich
dennoch einer tollen Publicity sicher:
<Spieler2> ruft: Nein, <Spieler>, tu's nicht!
<Spieler3> ruft: Das Morgengrauen kann doch so schoen sein!
Morgoth ruft: Ja, tu's, tu's! *gniiihihihiiiii*

Na? Waer doch was...

Yendi
      fragt sich gerade, wie ernst er das eigentlich meinte



-----------------------------------------------------------------------------



Re: Selbstloeschung (Gloinson,  2. Jul 1998, 14:24:09):
~#! rn=Yendi rt=899382134 rg=entwicklung
~#! tid=899382134
Ich bin eher fuer eine zeitlich vorausschauende Lib, die dann, wenn sich
jemand in zwei Std. selbst loeschen will ihm automatisch alle Artikel
loescht, die Kanaele, rufe, sage, teile mit, emotes verbietet.
Damit ich nicht genervt werde ;-)

Gloin

-----------------------------------------------------------------------------



Re: Re: Selbstloeschung (Grimmborn,  2. Jul 1998, 18:10:35):
~#! rn=Gloinson rt=899382249 rg=entwicklung
~#! tid=899382134
Ich hab nichts gegen selbstloeschung. Was mich nervt ist das Geflenne vor- und
hinterher, das ich in 90% der Faelle leider mitkriege...

GdA

-----------------------------------------------------------------------------



Re^3: Selbstloeschung (Zarniya,  2. Jul 1998, 18:11:17):
~#! rn=Grimmborn rt=899395835 rg=entwicklung
~#! tid=899382134
Loesch Dich Doch!!! :)

-----------------------------------------------------------------------------



Re^4: Selbstloeschung (Anakin,  3. Jul 1998, 08:47:51):
~#! rn=Zarniya rt=899395877 rg=entwicklung
~#! tid=899382134


Ich bin fuer einmal geloescht immer geloescht. Mein Gott ist dieser
Thread wiederlich.

Anakin.

-----------------------------------------------------------------------------



Re^5: Selbstloeschung (Rantanplan,  3. Jul 1998, 14:25:38):
~#! rn=Anakin rt=899448471 rg=entwicklung
~#! tid=899382134
Ich bin dann mal voellig indifferent, aber endgueltig geloescht ;-)

Die beste Selbstloeschung ist sowieso die 
"nicht-selbst-induzierte" 

Oe*

-----------------------------------------------------------------------------



Re^5: Selbstloeschung (Trug,  3. Jul 1998, 18:45:44):
~#! rn=Anakin rt=899448471 rg=entwicklung
~#! tid=899382134

Ueberspringe halt den Thread, Anakin...

Was die ganze Selbstloeschungen angeht, da sollten sich halt die Leute
praeventiv - wie schon von einigen vorgeschlagen - 'selbstloeschung' als ein
ali definieren.

Davon abgesehen, sollen sich die Leute ruhig loeschen, wenn sie wollen. Das
ist ja ihr Charakter, der geloescht wird. 

Trug (etwas bissig)

-----------------------------------------------------------------------------



Zwergenmund nuschelt Wahrheit kund... (Anatol,  4. Jul 1998, 05:16:40):
Ringor denkt: Wie? Als kleiner Magier kannst Du nur aufwerten. Zum Abwerten
Ringor denkt: musst Du Erzmagier sein.

*seufz* Ja, sieht so aus.
anatol


-----------------------------------------------------------------------------



Re^6: Selbstloeschung (Neb,  4. Jul 1998, 14:30:01):
~#! rn=Trug rt=899484344 rg=entwicklung
~#! tid=899382134
Aehem, Trug, kann es sein, dass gerade DEIN Erspieler schon vom restaurieren
profitiert hat?

Neb, der dann wohl fuer eine erneute Loeschung des Erstspielers Trugs
plaediert.

-----------------------------------------------------------------------------



Re^7: Wasserbueffel (Mango,  4. Jul 1998, 22:37:24):
~#! rn=Gloinson rt=897640077 rg=entwicklung
~#! tid=897475380
He,

in meiner abwesenheit ueber mich zu laestern finde ich extrem unfair ;)

Mango, trotzdem gestorben und alle haben gelacht ;)


-----------------------------------------------------------------------------



Re^7: Selbstloeschung (Trug,  4. Jul 1998, 23:31:46):
~#! rn=Neb rt=899555401 rg=entwicklung
~#! tid=899382134

Das hat aber jetzt nichts mit der aktuellen 'Loeschungswelle' zu tun. Ich
hatte meine eigenen persoenlichen Gruende dafuer, die niemanden ausser
vielleicht meinen Freunden was angehen.

Trug hat ist nur als Zweitie markiert, um legal zu sein, aber sonst hat sie
absolut nichts mit meiner 'Erstie' zu tun.

Trug

-----------------------------------------------------------------------------



url und email (Rikus,  5. Jul 1998, 17:21:46):
Hi,
bei URL und EMAIL koennen nun per Parameter 'keine' diese Adressen
rueckgesetzt werden (ab Ende).

Rikus

-----------------------------------------------------------------------------



Sucht-Liste (Dieder, 22. Jul 1998, 13:04:47):
Hi!

Ich haette mal einen Vorschlag zu machen, wobei es natuerlich bei mir als
Wurstseher sein kann, dass es das schon irgendwo gibt...
Und zwar eine Top-Liste der "mudsuechtigsten Spieler". Koennte z.B. so
aussehen, dass das Alter des Spielers durch das "Gesamtalter", d.h. seit dem
ersten Login, gebildet wird. Dies entspraeche dann, mit 100 multipliziert,
einem Prozentwert zwischen 0 und 100, der je hoeher ist, desto "mudgeiler"
der/diejenige ist... :)
Hab ich mich verstaendlich ausgedrueckt? *grins*
Was natuerlich ein Problem sein koennte, sind die "alten" Spieler mit einem
Login vor dem 10. Nov. 1995 *schulterzuck*.
Was haltet ihr davon?

Gruss,
Dieder

-----------------------------------------------------------------------------



Re: Sucht-Liste (Boing, 22. Jul 1998, 13:05:53):
~#! rn=Dieder rt=901105487 rg=entwicklung
~#! tid=901105487
Entspricht wahrscheinlich so ziemlich der Top-Liste ... wobei man bei
Key alle Charaktere addieren muesste ... ;)
  Boing

-----------------------------------------------------------------------------



Re: Re: Sucht-Liste (Ringor, 22. Jul 1998, 13:08:06):
~#! rn=Boing rt=901105553 rg=entwicklung
~#! tid=901105487
Der Fairness halber muesste man aber Idlezeiten rausrechnen. Und das ist
technisch nicht moeglich.

Also dagegen, das gibt nur vollkommen falsche Werte. ;-)

Ringor

-----------------------------------------------------------------------------



Re^3: Sucht-Liste (Schoko, 22. Jul 1998, 13:09:39):
~#! rn=Ringor rt=901105686 rg=entwicklung
~#! tid=901105487
Pff Du hast doch nur Angst, dass Dein Faktor bei ueber 90% liegt ;))

Schoko (steht zu seiner Such^W Leidenschaft, kann ja jederzeit aufhoeren)

-----------------------------------------------------------------------------



Re^3: Sucht-Liste (Taz, 22. Jul 1998, 13:09:56):
~#! rn=Ringor rt=901105686 rg=entwicklung
~#! tid=901105487

Genau, dann waere ich ja nen Megasuchtie :)

Anakin.

-----------------------------------------------------------------------------



Re: Sucht-Liste (Azzuro, 22. Jul 1998, 13:29:59):
~#! rn=Dieder rt=901105487 rg=entwicklung
~#! tid=901105487
Die Suchtliste bringt nur was, wenn Du die Idelzeiten rausstreichst, da einige
Spieler rund um die Uhr eingeloggt sind ohne wirklich etwas zu machen.
Das geht soweit, dass Wiedereinlog-Trigger geschaltet werden.
Was der Sinn und Zweck ist, bleibt mir bis heute zwar schleierhaft. Ausser das
es Spieler depremiert, wenn sie keine Antwort bekommen und man schoen mit
seinen Onlinetagen hausieren gehen kann ist es fuer mich sinnlos.
Ich weiss, es ist eine freie Welt und jeder kann tun und lassen was er will.

Azzuro

-----------------------------------------------------------------------------



Re: Sucht-Liste (Key, 22. Jul 1998, 16:00:48):
~#! rn=Dieder rt=901105487 rg=entwicklung
~#! tid=901105487
Hmm dann haste ne Liste fuer Idlezweities ... wozu? :)

Key

-----------------------------------------------------------------------------



Uhrmeldung (Yendi, 22. Jul 1998, 17:08:46):
Koennte man, wie bei der "zeitungsmeldung", die Ausgabe der "uhrmeldung" mit
newline vor der ersten eigentlichen Meldungszeile machen? (Ich hoffe, ich habe
mich verstaendlich ausgedrueckt...)

YTY


-----------------------------------------------------------------------------



Re: Uhrmeldung (Anatol, 22. Jul 1998, 17:13:10):
~#! rn=Yendi rt=901120126 rg=entwicklung
~#! tid=901120126
Die Zeitungsmeldung steht nur deshalb am Zeilenanfang, weil Du sie selbst
mit einem Kommando hervorrufst. Alles, was vom Mud freiwillig gesendet wird,
kann ja nicht riechen, ob Du gerade etwas tippst, das More-Prompt vor Dir
hast, oder gerade auf der Toilette bist ;).

Anatol


-----------------------------------------------------------------------------



Re^3: Sucht-Liste (Teddy, 22. Jul 1998, 17:31:47):
~#! rn=Ringor rt=901105686 rg=entwicklung
~#! tid=901105487
Vorher sollte die Anzeige mal debuggt werden, meine KANN nicht stimmen. ;)

Teddy, laut Onlinealter nicht suechtig ;)

-----------------------------------------------------------------------------



Re: Re: Sucht-Liste (Jehova, 22. Jul 1998, 19:32:21):
~#! rn=Azzuro rt=901106999 rg=entwicklung
~#! tid=901105487
Na klar hat das ewige Ideln nen Sinn. Schliesslich bekommt man fuer jeden Tod
nen Malus und muss den irgendwie wieder loswerden :)

J*

-----------------------------------------------------------------------------



Re^3: Sucht-Liste (Anatol, 23. Jul 1998, 00:20:44):
~#! rn=Jehova rt=901128741 rg=entwicklung
~#! tid=901105487
Wenn Du Deine Tode noch immer "abidelst", hast Du das Prinzip des
Spiels noch immer nicht verstanden. 

Anatol


-----------------------------------------------------------------------------



Re: Re: Uhrmeldung (Zarniya, 23. Jul 1998, 10:26:10):
~#! rn=Anatol rt=901120390 rg=entwicklung
~#! tid=901120126
Unsinn.

return "\n"+STRING sollte reichen, damit das in ne neue Zeile kommt... ich
baus gern ein.. wer macht mich zum Erzie?

Zarniya

-----------------------------------------------------------------------------



Re: Re: Uhrmeldung (Yendi, 23. Jul 1998, 12:51:14):
~#! rn=Anatol rt=901120390 rg=entwicklung
~#! tid=901120126
OK, ich habe mich nicht verstaendlich ausgedrueckt. Naechster Versuch:

Wenn ich die Uhrmeldung aendere (mit "uhrmeldung"), dann steht da sowas wie

> Deine neue Uhrmeldung lautet: Irgenwas, was eigentlich natuerlich an einem
Zeilenanfang                    anfaengt und dann in schrecklichen Umbruechen
ueber mindestens                %d Zeilen geht.

... wo es doch viel schoener waere, eine Ausgabe zu kriegen wie

> Deine neue Uhrmeldung lautet:
Irgendwas, was eigentlich natuerlich an einem Zeilenanfang
anfaengt und dann in schrecklichen Umbruechen ueber mindestens
%d Zeilen geht.


Verstaendlich? (Fuer die Korrektheit der zitierten
Befehlsausgabeformulierungen wird kein Gewehr uebernommen)



-----------------------------------------------------------------------------



Ach, noch was... (Yendi, 23. Jul 1998, 13:00:55):
]Wieso sagt einem der Tod beim Einschlafen, dass man auf eigene Gefahr
einschlaeft? Tut man das nicht immer? Muss einem sowas extra noch von der
grossen weissen Klapperstange persoenlich unter die Nase gerieben werden?
Oder geht das nur mir so?
Will der mir Alptraeume machen?

Yendi,
       voellig verunsichert.


-----------------------------------------------------------------------------



Re^3: Uhrmeldung (Zarniya, 23. Jul 1998, 14:22:31):
~#! rn=Yendi rt=901191074 rg=entwicklung
~#! tid=901120126
Hi Yendi, 

ich hab Deine Frage zwar auch falsch verstanden, aber das geniale ist, dass
meine Antwort trotzdem stimmt... nur, dass mich sicher keiner wegen dieser
Genialitaet wizern wird. :)

Zarniya

-----------------------------------------------------------------------------



Re^4: Uhrmeldung (Anatol, 23. Jul 1998, 14:26:17):
~#! rn=Zarniya rt=901196551 rg=entwicklung
~#! tid=901120126
Da hast Du sicher recht.

Anatol


-----------------------------------------------------------------------------



Re: Re: Sucht-Liste (Hasim, 24. Jul 1998, 11:20:14):
~#! rn=Azzuro rt=901106999 rg=entwicklung
~#! tid=901105487
Ach so..... Sucht-Liste.... ich hab das nur so ueberlesen und sucht- liste....
also von suchen und finden gelesen.... hihi
Hasim, manches Mal verwirrt.

-----------------------------------------------------------------------------



Uhrmeldung (Rikus,  5. Aug 1998, 10:12:14):
Hi,
nach Reboot beginnt die Uhrmeldung auf einer neuen Zeile bei der Abfrage
der gesetzten Meldung mit _uhrmeldung_.

Rikus

-----------------------------------------------------------------------------



Elementargilde (Morgoth,  7. Aug 1998, 17:10:06):
Hi Leute,
so, nochmal fuer alle die, die es immer noch nicht gerafft haben (es nervt
langsam).
Es gibt pro Gilde maximal 5 Testspieler. Dieses Limit ist fuer die
Elementargilde erfuellt.
Also hoert auf mich damit zu nerven und wartet, bis sie eroeffnet.
Morgoth

-----------------------------------------------------------------------------



Re: Elementargilde (Key,  8. Aug 1998, 22:16:21):
~#! rn=Morgoth rt=902502606 rg=entwicklung
~#! tid=902502606
Nimmste noch nen Zweitie von mir auf? Der ist netmal seher, also hoechstens
nen halber Testie ;)

Key

-----------------------------------------------------------------------------



Re: Elementargilde (Asmodis,  9. Aug 1998, 18:31:29):
~#! rn=Morgoth rt=902502606 rg=entwicklung
~#! tid=902502606
Elementargilde? Doch nicht etwa die Supergilde aus dem PK ?
,

-----------------------------------------------------------------------------



Re: Re: Elementargilde (Morgoth,  9. Aug 1998, 18:33:02):
~#! rn=Asmodis rt=902680289 rg=entwicklung
~#! tid=902502606
**WUERGE ASMODIS**

-----------------------------------------------------------------------------



Re^3: Elementargilde (Asmodis,  9. Aug 1998, 18:37:05):
~#! rn=Morgoth rt=902680382 rg=entwicklung
~#! tid=902502606
Feuerwehr teilt Dir mit: Also, *huestel* Sags nicht weiter, aber die

Feuerwehr teilt Dir mit: PK-Elementargilde finde ich 10x besser als diese

Feuerwehr teilt Dir mit: fuerchterliche Gilde.


*petz*

-----------------------------------------------------------------------------



Re: Elementargilde (Trancefear, 11. Aug 1998, 14:44:39):
~#! rn=Morgoth rt=902502606 rg=entwicklung
~#! tid=902502606
Watten nbur 5? und das bei diesem riesigen mud???

tf

-----------------------------------------------------------------------------



kwer (Rikus, 12. Aug 1998, 10:58:19):
Hi,
habe eben kwer um (regions)mitarbeiter <region> und regionsmagier <region>
erweitert.

Rikus

-----------------------------------------------------------------------------



Re: kwer (Trancefear, 14. Aug 1998, 13:11:41):
~#! rn=Rikus rt=902912299 rg=entwicklung
~#! tid=902912299
Hmja gute Idee. Wie waers mit "kwer erzmagier <thema>" ? Also z.B. kwer
erzmagier balance, wo dann alle Balance EMs drankaemen, gilden- monster-
wasweissichbalance.

tf

-----------------------------------------------------------------------------



Re: Re: kwer (Patryn, 14. Aug 1998, 13:12:53):
~#! rn=Trancefear rt=903093101 rg=entwicklung
~#! tid=902912299
genau, ich bin fuer ein 'kwer erzmagier im prinzip nicht mehr aktiv' :)

------
patryn schmarrt auch mal :)

-----------------------------------------------------------------------------



Re^3: kwer (Babs, 15. Aug 1998, 03:00:05):
~#! rn=Patryn rt=903093173 rg=entwicklung
~#! tid=902912299
Ja und?
Wo ist da der Unterschied zu 'kwer erzmagier' ???? *fg*


-----------------------------------------------------------------------------



Re: Re: kwer (Zarniya, 15. Aug 1998, 13:03:15):
~#! rn=Trancefear rt=903093101 rg=entwicklung
~#! tid=902912299
Als Yantro noch aktiv war, wollte Hate ins 'finger' einbauen, dass da dann
nicht nur Erzmagier steht, sondern auch, wofuer derjenige Erzie ist. Ist wohl
leider nix draus geworden. Eine Liste, wo alle EMs mit Arbeitsbereich
drinstehen, gibt es glaub ich unter 'hilfe erzmagier', oder sollte es da
geben.

Zarniya

-----------------------------------------------------------------------------



Resistenzen (Morgoth, 20. Aug 1998, 16:31:12):
Hi Leute,
erstmal ein: ICH HASSE TELNET ....
Ich habe bemerkt, dass Sachen, die Resistenzen in Spielern setzen, nach dem
'schlafe ein' nicht mehr aktiv sind. Die Resistenzen werden irgendwie
geloescht.
An die Spieler: Ausziehen, anziehen sollte reichen.
An den zustaendigen Mag: Woran liegt das? Ist es Absicht oder ein Bug?

M*

-----------------------------------------------------------------------------



Re: Resistenzen (Trancefear, 20. Aug 1998, 20:12:39):
~#! rn=Morgoth rt=903623472 rg=entwicklung
~#! tid=903623472
Das ist Absicht. Es gab zuviel Trouble damit soweit mir bekannt ist.

tf

-----------------------------------------------------------------------------



Hmmm... (Anatol, 20. Aug 1998, 21:09:51):
"in mir" und "im raum" helfen ja, beim Untersuchen das, was man bei sich
hat, von dem, was vor einem liegt, zu differenzieren. Koennte man das nicht
so auch irgendwie genereller (id()) einbauen, damit es z.B. fuer in-paket-
stecken oder Zaubersprueche auch funktioniert? :)

Anatol


-----------------------------------------------------------------------------



Re: Hmmm... (Trancefear, 21. Aug 1998, 22:14:24):
~#! rn=Anatol rt=903640191 rg=entwicklung
~#! tid=903640191
"feuerball monster in paket" ? :-)

tf

-----------------------------------------------------------------------------



Re: Re: Hmmm... (Anatol, 22. Aug 1998, 04:02:59):
~#! rn=Trancefear rt=903730464 rg=entwicklung
~#! tid=903640191
Fast. Ein "identifiziere ring in mir" oder "rueste umhang 2 in raum" war
so in etwa das, an das ich dachte....

Anatol


-----------------------------------------------------------------------------



Feilschen (Silvana, 23. Aug 1998, 13:58:55):
Hi.

Aus aktuellem Anlass noch einmal der Aufruf: Ich suche dringend gute
Texte fuer ein Feilschen mit den Haendler. Im Prinzip sollen sie wie
folgt aussehen:

Der Haendler sagt: Fuer den Lichtpanzer kann ich Dir hoechstens 200
Der Haendler sagt: Muenzen geben.
Du sagst: Hey, weisst Du, wie weit ich dafuer habe laufen muessen?
(Jetzt, je nach dem, ob sich der Haendler ueberzeugen laesst:)
Der Haendler sagt: Doch nicht bis nach Fernwest?
(oder)
Der Haendler sagt: Klar: liegt doch hier in der Naehe immer rum.

Das Ganze liesse sich spezifizeren fuer bestimmte Regionen (das Beispiel
duerfte in Fernwest wenig Sinn machen) und bestimmte Objekttypen (Waffen,
Ruestungen, Container, ...) Zudem sollte es moeglich sein, einzelne
Haendler mit eigenen Meldungen auszustatten.
Bevor jetzt ein Aufschrei durch die Massen geht: NIEMAND wird gezwungen
zu feilschen, aber _wenn_ man es tun moechte, _kann_ man es tun. Einzige
Voraussetzung dafuer ist, dass ich genuegend interessante, stimmungvolle
oder (und?) witzige Texte bekomme.

  Silvana

-----------------------------------------------------------------------------



Re: Feilschen (Shannara, 23. Aug 1998, 17:45:18):
~#! rn=Silvana rt=903873535 rg=entwicklung
~#! tid=903873535
Huch, das Feilschen kommt doch noch :)

Shannara (einzeilernd)

-----------------------------------------------------------------------------



Topliste (Paracelsus, 23. Aug 1998, 21:51:45):
Da wir ja keinen dazu zwingen wollen, in der Topliste zu erscheinen, gibt
es nach Reboot/ende das Kommando 'topliste'.
Mit 'topliste ja' sorgt man dafuer, dass man auf der Topliste landet, wenn
man gut genug dazu ist (zur Beruhigung der "toplistengeilen" Spieler:
das ist die Standard-Einstellung ;), mit 'topliste nein' sorgt man dafuer,
dass man ziemlich sicher nicht darauf landet.
Die Auswirkung des Kommandos macht sich natuerlich nicht sofort bemerkbar,
sondern erst, wenn die naechste Topliste generiert wird.

Paracelsus.

-----------------------------------------------------------------------------



erwarte wegen (Rikus, 24. Aug 1998, 11:31:09):
Hi,

es ist nun moeglich, mit ERWARTE <NAME> WEGEN <GRUND> eine gezielte
Textmeldung ausgeben zu lassen, wenn sich der Spieler <name> ein-
loggt. So weiss man dann gleich genau, wieso man eigentlich auf ihn
gewartet hat. Am besten die Hilfe zu ERWARTE lesen, da steht eigent-
lich alles drin.

Rikus

-----------------------------------------------------------------------------



Re: erwarte wegen (Alpha, 24. Aug 1998, 12:46:03):
~#! rn=Rikus rt=903951069 rg=entwicklung
~#! tid=903951069
Hm....koenntest Du mal bei der Gelegenheit guggen, warum die Leute, die ich
erwarte nicht angezeigt werden, wenn ich mich einlogge?

-----------------------------------------------------------------------------



Re: Re: erwarte wegen (Woody, 24. Aug 1998, 13:05:02):
~#! rn=Alpha rt=903955563 rg=entwicklung
~#! tid=903951069
Die werden ia. nur beim Einloggen nach 'ende' oder Reboot
angezeigt, nicht, wenn man vorher netztot war... aber es
gibt ja 'kwer erwartete'...

woody.-

-----------------------------------------------------------------------------



Re: erwarte wegen (Anatol, 24. Aug 1998, 15:02:52):
~#! rn=Rikus rt=903951069 rg=entwicklung
~#! tid=903951069
erwarte ... wegen Das ist die kleine schnuckelige Blonde von der Fete!
erwarte ... wegen Das ist die grosse Bruenette von der Fete!
erwarte ... wegen Das ist der Wuschelkopf mit dem suessen Laecheln v.d.F.!
erwarte ... ..... .... ... .. . . .

Anatol, autscht :)


-----------------------------------------------------------------------------



Re: Re: erwarte wegen (Zorro, 24. Aug 1998, 15:58:35):
~#! rn=Anatol rt=903963772 rg=entwicklung
~#! tid=903951069
erwarte ... wegen Das ist doch der baertige suesse mit dem Zoepfchen von der
Fete!

Zorro hat gehoert Morgoth war suess... :)

-----------------------------------------------------------------------------



Re: Re: erwarte wegen (Teddy, 24. Aug 1998, 20:32:23):
~#! rn=Anatol rt=903963772 rg=entwicklung
~#! tid=903951069
Koenntest du die Punkte mal ersetzen durch konkrete Namen ;)
Teddy ->schmarrn

-----------------------------------------------------------------------------



Re: Re: erwarte wegen (Nachtwind, 24. Aug 1998, 20:48:19):
~#! rn=Anatol rt=903963772 rg=entwicklung
~#! tid=903951069
unnoetig, teddy. vollkommen. :)
-> schmarrn
nw.


-----------------------------------------------------------------------------



Re^3: erwarte wegen (Teddy, 24. Aug 1998, 20:51:19):
~#! rn=Nachtwind rt=903984499 rg=entwicklung
~#! tid=903951069
Hmpf ;)

Teddy

-----------------------------------------------------------------------------



Re: erwarte wegen (Trancefear, 25. Aug 1998, 03:07:38):
~#! rn=Rikus rt=903951069 rg=entwicklung
~#! tid=903951069
Wo Du so fleissig bist, wie waers Du baust mal aus, dass man beim Fingern ne
"Weg" Meldunge bekommt auch wenn derjenige ueberhaupt nicht eingeloggt ist...

tf

-----------------------------------------------------------------------------



Re: Feilschen (Asmodis, 28. Aug 1998, 20:39:03):
~#! rn=Silvana rt=903873535 rg=entwicklung
~#! tid=903873535
Oh, mal sehen, wieviele stunden es dann dauert, bis die ersten
Feilsch-Scripte auftauchen :-)

-----------------------------------------------------------------------------



Re: Re: Feilschen (Dhojakt, 28. Aug 1998, 21:13:50):
~#! rn=Asmodis rt=904329543 rg=entwicklung
~#! tid=903873535
Errm, das soll doch automatisch ablaufen, wenn man dann verkauft, also was
sollte das script dann ausfuehren, ausser /true?
Khidar.

-----------------------------------------------------------------------------



Re^3: Feilschen (Asmodis, 28. Aug 1998, 22:22:22):
~#! rn=Dhojakt rt=904331630 rg=entwicklung
~#! tid=903873535
Ach so, ich dachte, man muss angebote machen ...

-----------------------------------------------------------------------------



Re^4: Feilschen (Silvana, 29. Aug 1998, 09:23:01):
~#! rn=Asmodis rt=904335742 rg=entwicklung
~#! tid=903873535
Da mich bisher kaum brauchbare Texte erreicht haben (Danke, Ark, 
Calum,....) wird das wohl eh nichts mit dem feilschen. Ein
gewisses Mass an Vielfalt muss schon sein...

  Silvana (hat keine Zeit nen echten Bazar zu besuchen)

-----------------------------------------------------------------------------



Re^5: Feilschen (Wurzel,  1. Sep 1998, 18:28:13):
~#! rn=Silvana rt=904375381 rg=entwicklung
~#! tid=903873535
ein echter basar bringt da auch nicht viel. das ist wohl eine kunst, die
vor langer zeit verloren gegangen ist...
die basare, die ich bisher gesehen habe, waren jedenfalls nicht so der
bringer. lauter ramsch, mit immer der selben dummen anmache angeboten.

wurzel

-----------------------------------------------------------------------------



hmmmmmm..... (Augra,  1. Sep 1998, 19:49:32):
~#! rn=Wurzel rt=904667293 rg=entwicklung
~#! tid=903873535

also ne echte marktnische.........


-----------------------------------------------------------------------------



Re^6: Feilschen (Padreic,  1. Sep 1998, 19:51:06):
~#! rn=Wurzel rt=904667293 rg=entwicklung
~#! tid=903873535
Das haengt auch stark von der Mentalitaet der Menschen und somit auch der
Laender ab. Ich entsinne mich da noch alzu gut an einen Besuch des Bazars in
Jerusalem...

                                   Padreic

-----------------------------------------------------------------------------



Taubheit... (Anatol,  2. Sep 1998, 21:48:07):
Ich hab das Gefuehl, dass die Taubheit etwas veraendert wurde. Ist das
so Absicht? *gruebel*

Anatol, taub und doch nicht taub...



-----------------------------------------------------------------------------



Begruessungsschlag (Boing,  3. Sep 1998, 16:27:37):
Ab dem naechsten Reboot verteilen paralysierte Gegner keine
Begruessungsschlaege mehr.
  Boing

-----------------------------------------------------------------------------



Re: Re: Feilschen (Songoku,  4. Sep 1998, 10:29:30):
~#! rn=Asmodis rt=904329543 rg=entwicklung
~#! tid=903873535
Stunden???

-----------------------------------------------------------------------------



reise (Reinelde,  5. Sep 1998, 19:44:09):
hallo welt,

das reise kommando im hafen und auf den schiffen ist ja recht praktisch.
koennte mal jemand eine entsprechende hilfeseite fuer die syntax schreiben
und vielleicht auch ein rueckbestaetigung des muds, wenn die eingabe 
erfolgreich war?

reinelde - schlaegt vor

-----------------------------------------------------------------------------



Re^5: Feilschen (Gwynwaiter,  6. Sep 1998, 18:52:47):
~#! rn=Silvana rt=904375381 rg=entwicklung
~#! tid=903873535
Stop, Silvana,

Nicht so schnell aufgeben. Mit etwas Geduld bekommen wir soviele Feilsch- wie
Todessequenzen...  ;-)

Ich werde mich mal auf den Basar von Shall'udn'Haba begeben, und den Haendlern
auf den Basaren von Marrakesch auf den Mund schauen...  so die klassischen
"meine Kinder werden verhungern" bis zu situativ angepassten "wie soll mein
Seherhaus bei solchen Preisen jemals fertig werden..."

Ein Freund des Feilschens:
Gwyn*

-----------------------------------------------------------------------------



Re^6: Feilschen (Gavenport,  6. Sep 1998, 20:32:42):
~#! rn=Gwynwaiter rt=905100767 rg=entwicklung
~#! tid=903873535
antworte nein

-----------------------------------------------------------------------------



Re^6: Feilschen (Silvana,  7. Sep 1998, 00:29:17):
~#! rn=Gwynwaiter rt=905100767 rg=entwicklung
~#! tid=903873535
So viele wie Todessequenzen? *lach* So viele habe ich laengt.
Nur ist das doch _reichlich_ wenig. So ab 150 Meldungen wird
es interessant, aber bis dahin isses noch _sehr_ weit.

  Silvana

-----------------------------------------------------------------------------



heilung in kneipen (Reinelde,  7. Sep 1998, 05:12:22):
kann es sein, dass man in kneipen bei verzoegerten bestellungen saettigung,
alkohol etc. sofort gesetzt bekommt unabhaengig davon, ob man das bestellte
auch tatsaechlich verzehr. sprich bei lieferung noch anwesend ist?

-----------------------------------------------------------------------------



Re: heilung in kneipen (Gloinson,  7. Sep 1998, 06:38:53):
~#! rn=Reinelde rt=905137942 rg=entwicklung
~#! tid=905137942
Korrekt. Da zieht sich vor Vorfreude auf die Tortellini der Magen zu-
sammen :)

Gloin

-----------------------------------------------------------------------------



Re: Re: heilung in kneipen (Jasonrigid,  8. Sep 1998, 12:17:27):
~#! rn=Gloinson rt=905143133 rg=entwicklung
~#! tid=905137942
Super, das versuche ich mal RL. Gehe in ein 4-Sterne-Restaurant, bestelle und
gehe dann. Manm, hat das geschmeckt und satt bin ich auch ...

Jason, kopfschuettelnd. Naja, soll ja nicht realistisch sein hier.

-----------------------------------------------------------------------------



Re^3: heilung in kneipen (Gloinson,  8. Sep 1998, 13:31:14):
~#! rn=Jasonrigid rt=905249847 rg=entwicklung
~#! tid=905137942
Du kennst etwa nicht die Geschichte von Hodscha Nasreddins Entscheidung ueber
den Mann, der bei Duft des Hammelfleisches sein Brot ass?
Nur dass wir so dumm sind, nicht mit einem Klingeln der Muenzen zu bezahlen -
apropos, kann man das einbauen ? ;-)

Gloin

-----------------------------------------------------------------------------



Re^6: Feilschen (Stopdenbus,  8. Sep 1998, 23:40:25):
~#! rn=Wurzel rt=904667293 rg=entwicklung
~#! tid=903873535
nimm doch den Text zum feilschen aus 'das leben des brain' :)

Janice

-----------------------------------------------------------------------------



Re^7: Feilschen (Jasonrigid,  9. Sep 1998, 11:56:30):
~#! rn=Stopdenbus rt=905290825 rg=entwicklung
~#! tid=903873535
Brain ?? So wie der in der Zeichentricksendung ??

Pinky : "Hey, Brain, was wollen wir heute abend machen ?"
Brain : "Dasselbe wie jeden Abend : DIE WELTHERRSCHAFT AN UNS REISSEN !!!"

...

Brain : "Denkst Du dasselbe wie ich, Pinky ?"
Pinky : "Ja, aber wo sollen wir jetzt ein Gummiboot herbekommen ?"

Jason, schmarrend

-----------------------------------------------------------------------------



Re: Feilschen (Jameson,  9. Sep 1998, 15:09:42):
Ihr seht da alle was falsch :-)

Es geht nicht drum, das Feilschen in den Handel einzubauen.
Das Feilschen findet hier in der MPA statt :)

jAmeson

-----------------------------------------------------------------------------



Entwicklung des Feilschens (Phygos,  9. Sep 1998, 15:35:25):
Nicht das ich in Abrede stellen moechte, dass hinter dieser Entwicklungsarbeit
eine Menge Arbeit und Fleiss stecken mag.
Doch eine Frage sollte erlaubt sein.
Wer braucht das? 
Das letzte was ich brauche, ist ein endlosen herumfeilschen wenn ich 50
gegenstaende aus einem paket heraus verkaufen will. Aetzend! Bastelt von mir
aus einen einzigen laden in dem  " wer imemr das auch will" feilschen kann.
ansonstens last mal zur abwechslung das MG wie es ist.
In letzter Zeit wurde schon genug verschlimmbessert. 
Ich befuerchte naemlich eine Entwicklung wie im Realms   
Hunger Durst Tag und Nacht mit seperaten Laden und Kneipenoeffnungszeiten .
Stadttore vor denen man verhungern kann weil ja noch Nacht ist, und Nachst
natuerlich die Tore geschlossen bleiben. Und erzaehlt den Spielern jetzt nicht
schon wieder, nur weil es irgendeinem kniffelnden progwuetigem Magier Spass
macht, muesse es jetzt allen anderen auch Spass machen.
Das ist naemlich die seltsamste Erscheinung im MG.
" ich bin Magier, und progge hier. Mir macht das Spass das du z.Bsp stirbst 
oder dich zu tode langweilst. Also hast du dich darueber auch zu freuen. Also
bekunde jetzt deine Freude gefaelligst. Und zwar SOFORT oder ich haenge
irgendwas ab was dir garantiert Freude macht.
 naja was solls ist warscheinlich eh zwecklos

-----------------------------------------------------------------------------



Re: Entwicklung des Feilschens (Boing,  9. Sep 1998, 15:36:57):
~#! rn=Phygos rt=905348125 rg=entwicklung
~#! tid=905348125
Eins kann ich Dir versprechen ... Hunger, Durst, Tag und Nacht wird 
es hier NIE geben solange ich noch was zu sagen habe ...
  Boing

-----------------------------------------------------------------------------



Re: Re: Entwicklung des Feilschens (Alpha,  9. Sep 1998, 15:38:55):
~#! rn=Boing rt=905348217 rg=entwicklung
~#! tid=905348125
Hoffentlich hasst Du hier ewig was zu sagen:)
Moegen sich all die anderen Mud bei uns was abguggen und sich endlich mal
jemanden leisten, der den periodischen Lichtausfall im Freien beseitigt!
Alpha.

-----------------------------------------------------------------------------



Re: Re: Entwicklung des Feilschens (Key,  9. Sep 1998, 16:17:53):
~#! rn=Boing rt=905348217 rg=entwicklung
~#! tid=905348125
Naja Tag und nacht faende ich teilweise net so schlimm :)

Aber fuer den Rest ... Du wirst immer was zu sagen haben ;) Hoff ich ;)

Key

-----------------------------------------------------------------------------



Re: Entwicklung des Feilschens (Ringor,  9. Sep 1998, 16:30:49):
~#! rn=Phygos rt=905348125 rg=entwicklung
~#! tid=905348125
Eine viel schlimmere Entwicklung ist es eigentlich, dass die Leute immer
*erst* in der MPA rumstaenkern, und *dann* das Gehirn einschalten. Falls sie
es ueberhaupt tun.

Wer den Thread aufmerksam gelesen hat, wird naemlich wissen, dass Silvana das
Feilschen generell nur als Zusatz geplant hat. Wer nicht feilschen will, kann
weiterhin auf die alte Art und Weise seine Sachen kaufen/verkaufen.

Ringor. Findet die Entwicklung des MG laengst nicht so schlecht, wie manche
sie immer darstellen.

-----------------------------------------------------------------------------



Re: Re: Entwicklung des Feilschens (Sting,  9. Sep 1998, 18:23:48):
~#! rn=Ringor rt=905351449 rg=entwicklung
~#! tid=905348125
*nick Ringor*

Man sollte vielleicht auch mal sehen was die Magier auch schon viel gutes
getan haben fuer das MUD (Orakel etc.)!


Sting

-----------------------------------------------------------------------------



entwicklung feilschen + antworten (Phygos,  9. Sep 1998, 20:12:45):
vileicht liest jemand auch mal die allererste zeile meines artikels?
was steht da?
ich hab nie behauptet das in den ganzen entwicklungen keine arbeit, fleiss
oder phantasie steckt.
nur VIELES war nicht noetig.
ergo vergebene liebesmueh.
habe selber einiges im GL geproggt, und muss zugeben ich wuerde warscheinlich
nicht mal die haelgfe von dem hier gemachten hinbekommen.
ABER ! manches ist trozdem verschlimmbessert worden auch wenn es schoen
anzusehen ist
vieles wird einfach nur hingenommen ohne das sich jemand beschwert.
ok wenn das feilschen nur als zusatz gedacht ist ist es akzeptabel
ich bekomm aber schon graue haare bei dem gedanken wieviel arbeit da drinn
steckt
deshalb befuerchte ich auch, das irgendwann dann die entscheidung kommt   weil
ja soviel arbeit drin steckt soll es dann zur regel werden
also immer schoooooooeeeeeen langsam mit die jungen pferde

-----------------------------------------------------------------------------



Re: entwicklung feilschen + antworten (Rantanplan,  9. Sep 1998, 20:32:36):
~#! rn=Phygos rt=905364765 rg=entwicklung
~#! tid=905364765
Wie jetzt Phygos...?


Spielen soll man hier _auch_ noch...

Mg zu spielen grenzt meiner kleinen Meinung nach an hartestes
Sadomasochistentum

Andererseits interessieren mich irgengwelche features auch gar nicht (mehr).

-----------------------------------------------------------------------------



Re: Re: entwicklung feilschen + antworten (Wurzel,  9. Sep 1998, 21:22:41):
~#! rn=Rantanplan rt=905365956 rg=entwicklung
~#! tid=905364765
sadomasochismus?
da siehst du was falsch. spielen ist purer masochismus. sadismus ist was
fuer die magier :)

wurzel

-----------------------------------------------------------------------------



Elementargilde (Morgoth,  9. Sep 1998, 21:48:25):
Da es immer noch keine eigene Rubrik gibt ;-))
Anforderungen fuer die oberen Spells jetzt nicht mehr 100% ;-))
**grins gorog...aeh kamuhl**

Morgoth

-----------------------------------------------------------------------------



Re: entwicklung feilschen + antworten (Gloinson,  9. Sep 1998, 23:35:27):
~#! rn=Phygos rt=905364765 rg=entwicklung
~#! tid=905364765
Bei vielem wurde vorher auch mehr genoergelt als notwendig war. Bei den
guten Sachen. Und genoergelt wurde meist von wenigen und das oft. Viel-
leicht reagieren wir deshalb jetzt so gereizt. Wie sagtest Du so schoen?

Immer schoen langsam mit den jungen Pferden.

Gloin

-----------------------------------------------------------------------------



Re^4: Entwicklung des Feilschens (Gloinson, 10. Sep 1998, 17:25:42):
~#! rn=Koomi rt=905441020 rg=entwicklung
~#! tid=905348125
Mit Verlaub: Ich widerspreche. Die Lib ist verzahnt und verdrahtet, ja,
und deshalb koennen andere MUDs mit anderen Ideen nicht unbedingt viel
damit anfangen, aber die Ideen an sich guckt man sich trotzdem des oefteren
gern mal ab. Und seien es Ideen aus den Gilden (z.B. Lernen).

-----------------------------------------------------------------------------



Re^5: Entwicklung des Feilschens (Koomi, 10. Sep 1998, 17:27:24):
~#! rn=Gloinson rt=905441142 rg=entwicklung
~#! tid=905348125
Nun, sicher. 

Das sollte keine Flame gegen die mglib gewesen sein, sie ist auf ihre Weise
auch 'gut' und vertretet eben bestimmte Konzepte.

Mal sehen was die Zukunft so bringt :)

Koomi

-----------------------------------------------------------------------------



stop! (Boing, 11. Sep 1998, 13:11:36):
Nach dem naechsten Reboot kann man den Befehl 'stop' nicht mehr als
taktisches Mittel (d.h. im Kampf) einsetzen. Nur zur Info.
  Boing

-----------------------------------------------------------------------------



Re: stop! (Gloinson, 11. Sep 1998, 14:12:59):
~#! rn=Boing rt=905512296 rg=entwicklung
~#! tid=905512296
Och menno :)

Gloin

-----------------------------------------------------------------------------



Re: stop! (Anatol, 11. Sep 1998, 20:39:19):
~#! rn=Boing rt=905512296 rg=entwicklung
~#! tid=905512296
Wenn ich versehentlich einen Mitspieler angreife, moechte ich durchaus
in der Lage sein, mit "stop" dem anderen am Sterben zu hindern, oki? :)

Anatol


-----------------------------------------------------------------------------



Gesinnung (Silvana, 12. Sep 1998, 02:13:07):
Hi.

Ab dem naechsten Reboot werden Monsterkills nicht mehr soooo schnell
die Gesinnung eines Charakters umkrempeln. Will sagen, man wird als
Chaot nicht heilig, nur weil man SATAN mal eben 2 mal umgenietet
hat oder sowas. (Umgekehrt ebenso)
Soweit die gute Meldung.... Umgekehrt hat das aber auch die Folge, dass
Objekte, die die Gesinnung eines Charakters einfach knallhart setzen
(wie der Opferstock um ein pominentes Beispiel zu nennen) im Lauf der
naechsten Wochen verschwinden oder zumindest in ihrer Wirkung deutlich
entschaerft werden. Soviel zur Vorwarnung.

  Silvana (findet Charakterwechsel von heilig nach satanisch in 1 sec
           ziemlich widersinnig)

-----------------------------------------------------------------------------



Thist oder so (Saladin, 12. Sep 1998, 19:26:51):
Mir ist es schon des oefteren passiert, sei es durch lag oder anderes ge-
scrolle, dass mir Mitteilungen anderer Spieler verloren gingen.
Ich moechte daher die Frage stellen, ob es moeglich waere einen Art "thist"
Befehl einzufuehren, welcher es einem erlaubt die letzten 3-5 Mitteilungen
die man ueber "teile mit2 erhalten hat abzurufen?
Dies waere auch sehr nuetzlich falls man sich gerade mit mehreren Spielern
unterhaelt. Da mir selbst bisher keine Negativen Gruende eingefallen sind,
die eine solche Implementierung aussschliessen wuerden, wende ich mich

vertrauensvoll an die Erzmagier/Goetter des MG mit der Anfrage ob eine 
Implementierung dieses fuer Spieler recht nuetzlichen Befehls moeglich
waere. Sollte eine solche Diskussion bereits frueher einmal gefuehrt
worden sein, so bitte ich meine Unwissenheit darueber zu entschuldigen.

Saladin

-----------------------------------------------------------------------------



Re: Re: stop! (Ringor, 12. Sep 1998, 23:55:51):
~#! rn=Anatol rt=905539159 rg=entwicklung
~#! tid=905512296
Dann geht man halt einen Raum weiter und gibt dort "stop" ein. 

Das ist auf die Art eh viel einfacher, da die beiden Spieler dann nicht
unbedingt innerhalb von zwei Sekunden "stop" tippen muessen, um den Kampf zu
beenden.

Ringor

-----------------------------------------------------------------------------



Re: Gesinnung (Morgoth, 13. Sep 1998, 13:23:36):
~#! rn=Silvana rt=905559187 rg=entwicklung
~#! tid=905559187
Aehm Mami...
DAS war genau das falsche Beispiel....
Vergesst das mit SATAN **grins verlegen** ;-))

M*

-----------------------------------------------------------------------------



Re: Thist oder so (Morgoth, 13. Sep 1998, 13:24:16):
~#! rn=Saladin rt=905621211 rg=entwicklung
~#! tid=905621211
tmhist ;-)

M*

-----------------------------------------------------------------------------



Re: Re: Thist oder so (Yaren, 13. Sep 1998, 13:27:47):
~#! rn=Morgoth rt=905685856 rg=entwicklung
~#! tid=905621211
Das war wohl nicht das, was er meinte ... Ich wuerde zu einem MUD-Client raten
wie z.B. TinyFugue, damit ist sowas ein Kinderspiel.

Yaren.

-----------------------------------------------------------------------------



Re^3: Thist oder so (Anatol, 13. Sep 1998, 14:14:04):
~#! rn=Yaren rt=905686067 rg=entwicklung
~#! tid=905621211
Jein, Yaren. Waehrend der Client nur das speichern kann, was Du siehst, 
wuerde das von Saladin vorgeschlagene "thist" auch dann Mitteilungen in 
seine History aufnehmen, wenn Dir ein verwegenes Modem gerade die innig
geliebte Verbindung zersaegt hat - und Dein armer Charakter seine Seele
zwangsbaumeln laesst...

Anatol, koennte sich mit "thist" anfreunden.


-----------------------------------------------------------------------------



Re: Re: Thist oder so (Saladin, 13. Sep 1998, 18:05:54):
~#! rn=Morgoth rt=905685856 rg=entwicklung
~#! tid=905621211
Text lesen: ned wer sondern was!

Saladin

-----------------------------------------------------------------------------



Re^3: Entwicklung des Feilschens (Patryn, 13. Sep 1998, 18:40:13):
~#! rn=Alpha rt=905348335 rg=entwicklung
~#! tid=905348125
wen bitte schoen, interessiert lichtausfall.
seitdem in diesem mud jedes zweite objekt zu leuchten scheint, ist doch
das total wurscht (leider).

------
patryn, gegen den ganzen leuchtkrams

PS: kann es sein, dass dies vor 2 jahren noch undenkbar war?
    plagt sich heut noch wer mit pfirsichen ab?

-----------------------------------------------------------------------------



Re^4: Entwicklung des Feilschens (Hadra, 14. Sep 1998, 00:26:10):
~#! rn=Patryn rt=905704813 rg=entwicklung
~#! tid=905348125
es gibt noch welche. wenn auch aus anderem grund ;)

-----------------------------------------------------------------------------



reise-befehl (Pyrdacor, 14. Sep 1998, 11:10:24):
Zu allererst finde ich den Reisebefehl cool, er erleichtert das Reise wirklich
sehr, aber ich haette noch diverse Verbesserungsvorschlaege :

1.) waere es moeglich, dass man bei reise nach sonneninsel in pv nicht mit dem
floss faehrt, das dauert naemlich ewigkeiten, man kann ja statt dessen die
jolle nehmen.

2.) es waere auch schoen, wenn man bei den gefaehrten zwischen den inseln den
reise-befehl auch ueberall haette, bei der barke z.b. geht er nicht, oder ich
habe den richtigen befehl nicht gefunden :) auch bei der karawane waere der
befehl cool, besonders, weil sie so selten kommt und deswegen das verpassen
noch aergerlicher ist, besonders fuer nicht-seher-karatekas ;)

3.) ausserdem waere es auch nicht schlecht, wenn man, um zum beispiel zur
sonneninsel zu kommen "reise mit jolle" macht, um nicht ewig auf dem floss zu
sitzen und dann, um die abfahrt nicht zu verpassen noch "reise nach
sonneninsel", auch eine meldung zur bestaetigung bekaeme.

das waere erstmal alles :)

Pyrdacor

-----------------------------------------------------------------------------



Re: reise-befehl (Wargon, 14. Sep 1998, 14:10:16):
~#! rn=Pyrdacor rt=905764224 rg=entwicklung
~#! tid=905764224
  Hi!
Zu 2.) und der Barke:
Dass man nicht zum Ende der Welt reisen konnte, lag an einem Bug, der jetzt
behoben ist.
Ansonsten scheint damit aber alles zu klappen.
  Wargon

-----------------------------------------------------------------------------



Re: Entwicklung des Feilschens (Daria, 14. Sep 1998, 15:02:20):
~#! rn=Phygos rt=905348125 rg=entwicklung
~#! tid=905348125
Hi,

Du hast etwas elementares in der Aufzaehlung (Tag, Nacht, ...)
vergessen:

Man stelle sich vor, man ist Rasse Zwerg. Man treffe einen NPC-Zwerg.

toete zwerg
[...]
Der Zwerg faellt tot zu Boden.
pluendere zwerg
ziehe zwerghose an

Und jetzt kommts: 
"Diese Hose ist Dir zu klein."

Daria, loescht sich sofort, wenn hier damit angefangen wird..

-----------------------------------------------------------------------------



Re: Re: Entwicklung des Feilschens (Cauno, 14. Sep 1998, 15:06:11):
~#! rn=Daria rt=905778140 rg=entwicklung
~#! tid=905348125
Och, die Idee ist eigentlich nicht schlecht - sofern darauf geachtet wird,
dass die meldung nur bei elfen/zwergen/etc. auftaucht, wenn sie versuchen
etwas von anderen anzuziehen. Wozu gibt es denn die Koerpergroesse
centimentergenau?

C. No

-----------------------------------------------------------------------------



Re^3: Entwicklung des Feilschens (Silvana, 14. Sep 1998, 20:29:20):
~#! rn=Cauno rt=905778371 rg=entwicklung
~#! tid=905348125
Oh, sowas gibts durchaus... Wird sogar von der Lib unterstuetzt.
Wird allerdings nur selten benutzt, was auch gut so ist.
Aber wenn ein Hobbit nen Massgeschneiderten Anzug hat, sollte der
bei einem Elfen mindestens sehr laecherlich aussehen. Schlabbrig
aber Bauchfrei und so... :)

 Silvana

-----------------------------------------------------------------------------



Re^4: Entwicklung des Feilschens (Patryn, 14. Sep 1998, 20:31:20):
~#! rn=Silvana rt=905797760 rg=entwicklung
~#! tid=905348125
bauchfrei ist doch total in! leider auch bei leuten, wo es regelmaessig
wuergeanfaelle bei mir ausloest. koennte also ne superwaffe sein, solch
ne schlecht passende kleiderordnung ;)

------
patryn

-----------------------------------------------------------------------------



Re: reise-befehl (Acrimon, 14. Sep 1998, 21:34:26):
~#! rn=Pyrdacor rt=905764224 rg=entwicklung
~#! tid=905764224
zu 3.)
Sofern bei einem nicht verstandenen Befehl eine Fehlermeldung ausgegeben wird,
ist eine Bestaetigungsmeldung des Befehls vollkommen ueberfluessig.

Acrimon

-----------------------------------------------------------------------------



Re: stop! (Mahatma, 15. Sep 1998, 21:57:38):
~#! rn=Boing rt=905512296 rg=entwicklung
~#! tid=905512296
Hmpf. Wieder ein Feature weniger.
Mahatma

-----------------------------------------------------------------------------



Bekanntmachungen (Ringor, 22. Sep 1998, 22:07:04):
In Vertretung fuer arme, ueberarbeitete, Spieler-geplagte, vergessliche
Magier, die im Dienste der Mensch..aeh..Mudderheit und im Schweisse ihres
Angesichts in naechtelanger Kleinarbeit super tolle Features einbauen, von
denen nur leider keiner weiss, da sie vergessen haben, diese auch
bekanntzugeben, poste ich hier mal die Erstausgabe der unregelmaessig
erscheinenden Artikelreihe "Undokumentierte Features und anderer Kleinkram,
den keiner kennt".

Was ein Satz.

Die erste Bekanntmachung in dieser lustigen Artikelreihe bildet der neue(?)
Befehl "spieldauer". Gedacht ist er offensichtlich als Ergaenzung zum Befehl
"spielpause". Er bildet sozusagen die Ausgabe fuer Weicheier und Warmduscher,
die zwar nicht suechtig sind, aber die Telefonrechnung nicht mehr bezahlen
koennen. Oder sich einreden, 5h Mudden pro Tag haetten noch keine negativen
Auswirkungen. Und sonst fuer jeden, der sich gerne selbst beluegt.

Netterweise verschweigt die nicht vorhandene Doku auch, wie man den Befehl
wieder rueckgaengig macht. Aber aus gut informierten Quellen war zu erfahren,
dass "spielpause" und "selbstloeschung" gute Dienste leisten sollen.

Bewertung: 

Das waere sicherlich ein sinnvoller Befehl, wenn es hier denn Leute gaebe, die
ihre Sucht nicht auch alleine unter Kontrolle halten koennen. Nur schade, dass
hier alle jederzeit aufhoeren koennten, wenn sie denn wollten.


Ringor

P.S.: Unser Autoren-Team nimmt jederzeit sachdienliche Hinweise auf weitere
noch unbekannte Features entgegen. Sorg auch Du dafuer, dass diese
Artikelreihe ueberlebt!

-----------------------------------------------------------------------------



Re: Bekanntmachungen (Ringor, 22. Sep 1998, 22:16:35):
~#! rn=Ringor rt=906494824 rg=entwicklung
~#! tid=906494824
News-Ticker:

Die angemahnte Dokumentation zum Befehl "spieldauer" ist kurz nach Drucklegung
des Artikels noch eingetroffen. 

Damit hat dieser Befehl leider seine Einstufung als undokumentiertes Feature
verloren. 

Der verantwortliche Journalist wurde selbstverstaendlich gefeuert.

Ringor. Nach Diktat verreist.

-----------------------------------------------------------------------------



Nur mal sone Idee (Aline, 24. Sep 1998, 09:58:51):

Auch wenn mich nach diesem Artikel mal wieder ein paar Leute
schlagen/steiningen wollen...
Also irgendwie hab ich den Eindruck, dass im Moment fast nur noch schoene
neue Dinge fuer die/in der Paralelldimension entwickelt werden.
Warum auch nicht? (Auch wenn ein grossteil der Wurstseher wie meinereiner da
nie hingehen). Nun sind einige Dinge, die es in der Parallesdimension gibt
sagen wir mal etwas anders dimensioniert (damit meine ich nicht nur die
NPCs sondern auch die Waffen/Ruestungen und so). Das mag ja fuer die 
Dimension auch durchaus gerechtfertigt sein, nur kann man diese Dinge
ja auch in die normale Dimension mitnehmen und deswegen muss sich dann
gleich ein ganzes Team von Leuten gedanke darueber machen, ob diese 
Sachen nicht etwas zu gut sind. Ausserdem muss sich eine ganze Horde
von Wurstsehern und Spielern immer mit Bettelorgien an eine kleine
Gruppe von Nichtwurstsehern wenden um diese Sachen auch zu bekommen,
weil es inzwischen ja auch schon in der Normaldimension Gegenden
gibt, in die man ohne solche Sachen nicht gehen sollte. 
(Nochnicht einmal zum Kartographieren!)

Lange Rede kurzer Sinn, wie waere es, wenn man Sachen aus der Paralelldimen-
sion nicht aus dieser hinausbekommt?

*ducktsichobderSchlaegediedakommen*

Morgoth koennte seine ganzen schoenen Dinge anschliessen, das Balance-Team
haette nicht mehr ganz so viel zu tun und ich muesste nicht mehr soviel
betteln. ;)

Aline

-----------------------------------------------------------------------------



Re: Nur mal sone Idee (Hobo, 24. Sep 1998, 10:03:56):
~#! rn=Aline rt=906623931 rg=entwicklung
~#! tid=906623931
Keine Bange, keine Schlaege :)

Ich find die Idee mal gar nicht so schlecht, nur:
Das Balance-Team muss sich troztdem um die Sachen kuemmern, und zudem muss in
der Normalwelt so einiges dann den normalen Spielerfaehigkeiten wieder
angepasst werden.

Nicht, dass ich (oder meine Wurstseherine) da irgendwas dagegen haette....
Aber wer soll das machen?

CIao

    Hobo

-----------------------------------------------------------------------------



Re: Re: Nur mal sone Idee (Morgoth, 24. Sep 1998, 10:04:39):
~#! rn=Hobo rt=906624236 rg=entwicklung
~#! tid=906623931
Ich? Da ich ja in Alines Artikel schon erwaehnt wurde.

M*

-----------------------------------------------------------------------------



Re: Nur mal sone Idee (Wurzel, 24. Sep 1998, 10:04:53):
~#! rn=Aline rt=906623931 rg=entwicklung
~#! tid=906623931
anders waere es auch moeglich: die dinger wirken in der normalwelt anders
als in para. waere fuer die meisten waffen wohl relativ einfach moeglich,
bei anderen items muesste man mal drueber nachdenken.
kann aber durchaus sein, dass damit das lag nicht gerade reduziert wuerde.

wurzel

-----------------------------------------------------------------------------



Re: Nur mal sone Idee (Key, 24. Sep 1998, 10:05:23):
~#! rn=Aline rt=906623931 rg=entwicklung
~#! tid=906623931
Argl! aline!
Du enttaeuschst mich ...

Also ... die Sahcne in der Parawelt haben genau die gleichen Grenzen wie in
der normalen.
Und jder der sich auskennt weiss doch auch das es auch in der Normalwelt
verdammt gute Sachen gibt, ich nutze aus der Parawelt gerade mal Handschuhe,
Amulett und ... hmm das wars was mir auf anhieb einfaellt ...

So also denk mal nach ... Handschuhe und amulett ... wieviel bringt das deiner
Meinung nach?

Und das man das in der Normaldimension braucht ist absoiluter Quatsch!

Achja noch eins ... was man net besorgen kann das braucht man auch nicht.

Aehm und zu Morgoth ... dessen Zeugs ist alles in der Normalwelt!

Also tu mir den Gefallen und informier dich erst ...

Key, haette nicht gedacht das noch mehr ausser *** auf sone bekloppte Idee
kommen ;)

-----------------------------------------------------------------------------



Re: Re: Nur mal sone Idee (Anatol, 24. Sep 1998, 12:03:02):
~#! rn=Key rt=906624323 rg=entwicklung
~#! tid=906623931
Wuah, Key... :-) Wenn fuer Parallelwelt-Geschichten die selben Grenzen gelten
wie fuer die Normalwelt-Spaesschen, dann haben hier einige Magier etwas sehr
falsch verstanden. Abgesehen davon kann man wirklich nicht jedes Supertool 
durch einen entsprechend hohen Aufwand rechtfertigen - irgendwo sind auch
DA Grenzen.

Aber was red' ich, solange es noch "nette" Spieler gibt, die Magier anflehen,
dies und das mal dort anzuschliessen, und solange es Magier gibt, deren
Horizont sich nur unwesentlich von dem des entsprechenden [Wurst]Sehers
unterscheidet... ((!find_object("hopfen"))&&(!find_object("malz"))) -> 1.

Anatol - wuenscht der Balance viel Spass


-----------------------------------------------------------------------------



Re: Re: Nur mal sone Idee (Trancefear, 24. Sep 1998, 13:10:28):
~#! rn=Wurzel rt=906624293 rg=entwicklung
~#! tid=906623931
Naja muss halt n schnellerer Prozessor her. Ist ja nicht mehr soo teuer zur
zeit....

tf

-----------------------------------------------------------------------------



Re^3: Nur mal sone Idee (Boing, 24. Sep 1998, 13:11:36):
~#! rn=Trancefear rt=906635428 rg=entwicklung
~#! tid=906623931
Das Problem ist, dass dann auch ein neues board her muss, und dann evtl.
der Speicher nicht mehr passt und, und, und ... so einfach ist das nicht.
  Boing

-----------------------------------------------------------------------------



Re^3: Nur mal sone Idee (Ringor, 24. Sep 1998, 13:12:03):
~#! rn=Trancefear rt=906635428 rg=entwicklung
~#! tid=906623931
Seit wann sagt denn das Flag P_PARA irgendwas ueber die Staerke der Monster
aus? Die gemeinsten Monster stehen noch immer in der Normalwelt - so sehr sich
gewisse Magier auch bemuehen mit der Parawelt ;-)

Ringor

-----------------------------------------------------------------------------



Re^4: Nur mal sone Idee (Therin, 24. Sep 1998, 13:12:56):
~#! rn=Ringor rt=906635523 rg=entwicklung
~#! tid=906623931

Die gemeinen Monster haben das Flag "P_PA*"

T.

-----------------------------------------------------------------------------



Re^5: Nur mal sone Idee (Morgoth, 24. Sep 1998, 13:14:27):
~#! rn=Therin rt=906635576 rg=entwicklung
~#! tid=906623931
Ahhja, und warum hast Du Dich so lange nicht zu SATAN getraut? Ich bin kein
Pa*

M*

-----------------------------------------------------------------------------



Re^3: Nur mal sone Idee (Teddy, 24. Sep 1998, 13:15:53):
~#! rn=Anatol rt=906631382 rg=entwicklung
~#! tid=906623931
Wo liegt das Problem? Im Prinzip hat Key recht, in der Stadardausruestung der
meisten HLPs duerfte sich aus der parawelt 1 bis 2, bei Kaempfern 3 Objekte
befinden, ueberdimensioniert sind die Sachen eh in Normalwelt und in Parawelt,
da kann man mitlerweile kaum noch unterscheiden.
Gerade die von Aline angesprochenen Sachen von M* liegen alle in der
Normalwelt, sofern man Katas als normal bezeichnen will ;)

Zu den Grenzwerten: Fuer Objekte gelten tatsaechlich die gleichen Grenzwerte,
nur halt fuer NPCs nicht. 

Teddy


-----------------------------------------------------------------------------



Re^4: Nur mal sone Idee (Morgoth, 24. Sep 1998, 13:17:18):
~#! rn=Teddy rt=906635753 rg=entwicklung
~#! tid=906623931
Meine Sachen sind nicht ueberdimensioniert ;-)

M*

-----------------------------------------------------------------------------



Re^5: Nur mal sone Idee (Ringor, 24. Sep 1998, 13:17:22):
~#! rn=Therin rt=906635576 rg=entwicklung
~#! tid=906623931
Liesse sich ein Magier dazu bereitschlagen, eine Sonnenbrille zu proggen, die
alle Monster beim Betreten eines Raumes auf P_PA* untersucht, und die bei
Vorhandensein die Glaeser pechschwarz faerbt?

Ringor. Will keine Gefahren sehen.

-----------------------------------------------------------------------------



Re^5: Nur mal sone Idee (Teddy, 24. Sep 1998, 13:18:08):
~#! rn=Morgoth rt=906635838 rg=entwicklung
~#! tid=906623931
Kann DAS mal wer nach schmarrn velegen bitte? ;-)
Teddy

-----------------------------------------------------------------------------



Re^4: Nur mal sone Idee (Key, 24. Sep 1998, 13:20:01):
~#! rn=Teddy rt=906635753 rg=entwicklung
~#! tid=906623931
Das es fuer NPC`s in para keine Granzen gibt ist ja eigentlich auch nur von
Vorteil in dem Sinne ... Schliesslich ... wer will schon gute rue an Ameisen
geben? Oder soll jeder Anfaenger mit Toprue rumlaufen? 
Hallo ruespirale ;)

Key

-----------------------------------------------------------------------------



Re^4: Nur mal sone Idee (Boing, 24. Sep 1998, 13:20:03):
~#! rn=Teddy rt=906635753 rg=entwicklung
~#! tid=906623931
Momentan gibt es keine Grenzwerte fuer NPCs, egal ob normal oder para.
Dort ist nach wie vor der gesunde Menschenverstand gefragt.
Aber auch beliebig starke NPCs rechtfertigen keine beliebig starken
Objekte.
  Boing

-----------------------------------------------------------------------------



Re^5: Nur mal sone Idee (Ringor, 24. Sep 1998, 13:21:18):
~#! rn=Boing rt=906636003 rg=entwicklung
~#! tid=906623931
Also spaetestens das mit dem gesunden Menschenverstand bei Muddern gehoert
jetzt aber wirklich nach Schmarrn ... :-)

Ringor

-----------------------------------------------------------------------------



Re^5: Nur mal sone Idee (Key, 24. Sep 1998, 13:21:32):
~#! rn=Boing rt=906636003 rg=entwicklung
~#! tid=906623931
Hmm ich dachte Normal gaebe es gewisse Richtwerte ... wie z.b. keine Npcs die
einen in einer Runde toeten ohne einen anzusehen ,)

Von beliebig starken objs hat auch keiner geredet 

Key

-----------------------------------------------------------------------------



Re^6: Nur mal sone Idee (Trancefear, 24. Sep 1998, 13:22:21):
~#! rn=Key rt=906636092 rg=entwicklung
~#! tid=906623931
Du meinst die "Rochus-Grenze" ? Nicht mehr als 210 LP pro runde abziehen? :-)

tf

-----------------------------------------------------------------------------



Re^5: Nur mal sone Idee (Morgoth, 24. Sep 1998, 13:22:39):
~#! rn=Boing rt=906636003 rg=entwicklung
~#! tid=906623931
Aber trotzdem sollten GUTE Sachen nciht bei irgendwelchen NPCs zu bekommen
sein, die man umpusten kann, oder etwa nicht?

Morogth denkt da ein ein ganz spezielles Viech...

-----------------------------------------------------------------------------



Re^7: Nur mal sone Idee (Boing, 24. Sep 1998, 13:22:45):
~#! rn=Trancefear rt=906636141 rg=entwicklung
~#! tid=906623931
Und selbst Rochus haelt diese Grenze nicht ein ... ;)
  Boing

-----------------------------------------------------------------------------



Re^7: Nur mal sone Idee (Key, 24. Sep 1998, 13:22:49):
~#! rn=Trancefear rt=906636141 rg=entwicklung
~#! tid=906623931
Yep genau die ;)


Key

-----------------------------------------------------------------------------



Re^8: Nur mal sone Idee (Ringor, 24. Sep 1998, 13:23:17):
~#! rn=Key rt=906636169 rg=entwicklung
~#! tid=906623931
Nur dumm, dass die Felinen weniger als 210 LP haben.

Ringor sagt: dumm gelaufen.

-----------------------------------------------------------------------------



Re^8: Nur mal sone Idee (Key, 24. Sep 1998, 13:23:27):
~#! rn=Boing rt=906636165 rg=entwicklung
~#! tid=906623931
Hey spielste jetzt auf seinen Npc an der frei rumlaufen sollte? .9

Also ich fand die Idee damals niedlich ;)

Key

-----------------------------------------------------------------------------



Re^9: Nur mal sone Idee (Boing, 24. Sep 1998, 13:24:15):
~#! rn=Key rt=906636207 rg=entwicklung
~#! tid=906623931
Nein, ich meine den Weghier, der steht zwar in der Parawelt, kann aber
trotzdem zappen (auch wenn es Rochus nicht glaubt).
  Boing

-----------------------------------------------------------------------------



Re^9: Nur mal sone Idee (Trancefear, 24. Sep 1998, 13:24:58):
~#! rn=Ringor rt=906636197 rg=entwicklung
~#! tid=906623931
Nunja die Parawelt ist halt so beliebt unter den Magiern weil man da Monster
aufstellen kann ohne nervige Raumbeschreibungen machen zu muessen - man macht
ne Kopie vom Raum, setzt die auf "parallel" und kloppt sein Supermonster da
rein, fertig :-)

tf (duedeldue :-)

-----------------------------------------------------------------------------



Re^6: Nur mal sone Idee (Ringor, 24. Sep 1998, 13:25:04):
~#! rn=Teddy rt=906636245 rg=entwicklung
~#! tid=906623931
Was spricht gegen 210, was nicht auch gegen 209 spricht?

Mit 0 LP lebst Du auch noch.

Ringor

-----------------------------------------------------------------------------



Re^10: Nur mal sone Idee (Key, 24. Sep 1998, 13:25:51):
~#! rn=Boing rt=906636255 rg=entwicklung
~#! tid=906623931
Ja aber wir meinen ja im mom Grenzwerte fuer normalwelt ,)

Hmm und Weghier zappen ... Naja wenn man Pech hat ;)

Key

-----------------------------------------------------------------------------



Re^7: Nur mal sone Idee (Boing, 24. Sep 1998, 13:26:07):
~#! rn=Ringor rt=906636304 rg=entwicklung
~#! tid=906623931
Ist ausserdem eh egal, man kann ja den Gegner noch ne Runde festhalten
und dann ueber die Schwelle stossen ...
  Boing

-----------------------------------------------------------------------------



Re^9: Nur mal sone Idee (Teddy, 24. Sep 1998, 13:26:11):
~#! rn=Ringor rt=906636197 rg=entwicklung
~#! tid=906623931
Schuld selbst ;)

Teddy

-----------------------------------------------------------------------------



Re^10: Nur mal sone Idee (Key, 24. Sep 1998, 13:26:29):
~#! rn=Trancefear rt=906636298 rg=entwicklung
~#! tid=906623931
Du hast/hattest doch nie pararaeume die es auch normal gibt, oder?

Apropo ... wo ist die Kugel? .9

Key

-----------------------------------------------------------------------------



Re^7: Nur mal sone Idee (Teddy, 24. Sep 1998, 13:27:13):
~#! rn=Ringor rt=906636304 rg=entwicklung
~#! tid=906623931
Hey, bei dem derzeitigen Tempo kann ich kaum noch zuende lesen und dann
schreiben ;)

Teddy, zu langsam heute

-----------------------------------------------------------------------------



Re^11: Nur mal sone Idee (Trancefear, 24. Sep 1998, 13:28:07):
~#! rn=Key rt=906636389 rg=entwicklung
~#! tid=906623931
Gib ihm Heu :-)

tf

-----------------------------------------------------------------------------



Re^4: Nur mal sone Idee (Aline, 24. Sep 1998, 14:30:51):
~#! rn=Teddy rt=906635753 rg=entwicklung
~#! tid=906623931
Hi Teddy,

ich sprach von Sachen, die Morgoth gerne anschliessen wuerde.
Wenigstens meinte ich die, falls ich mich nicht ganz klar ausgesprochen
habe.

Aline

-----------------------------------------------------------------------------



Re^5: Nur mal sone Idee (Teddy, 24. Sep 1998, 14:32:20):
~#! rn=Aline rt=906640251 rg=entwicklung
~#! tid=906623931
Klar kann er die dann anschliesen, sie duerften allerdings meistens nichtmal
den Raum in dem sie liegen verlassen, wenn ueberhaupt ;)

Teddy

-----------------------------------------------------------------------------



Re: Nur mal sone Idee (Froghunter, 27. Sep 1998, 14:31:45):
~#! rn=Aline rt=906623931 rg=entwicklung
~#! tid=906623931
Ich versteh die Diskussion um die Parawelt ueberhaupt nicht.
Die Objekte da muessen doch genauso durch die Balance wie alle anderen.
Gerade mal zwei Teile meiner Ausruestung kommen aus der Parawelt. Nen Ring
und ein Paar Handschuhe. Fuer den anderen Kram hab ich in der Normalwelt
bis jetzt die besseren Sachen gefunden.
Fuer mich bedeutet Parawelt nur, dass ich unter Umstaenden oefter an nen
unerwartet fiesen Gegner gerate, als in der Normalwelt.

Ich halte es fuer ein Geruecht, dass die Parawelt nur ein Gebiet fuer 
Topseher ist, wo die sich ihre Superausruestung holen koennen.
Parawelt macht einfach nur Spass, genau wie Normalwelt und jeder Seher
sollte da mal reinschauen. Man muss ja nicht gleich ins VL schauen.
Der Kram von Paracelsus z.b. ist ganz nett. Man muss ja nicht alles
allein machen und in der Normalwelt gibts haertere Sachen z.b die
neue Feuerebene in der SSP.


Also an alle Parawelt-Noergler: Schaut einfach mal rein ! :) 
Frog*

-----------------------------------------------------------------------------



Zeitungs-sharing (Azzuro, 27. Sep 1998, 16:11:39):
Da Loco seit langem nicht mehr da war, schreib ich halt via MPA.
Koennte man nicht in die MPA einen Zusatzbefehl einbauen, so da man sich eine
Zeitung mit seinem angemeldeten Zweitie teilen koennte.
Dann muesste man nicht immer alle Artikel doppelt lesen, bzw. den Erstie
einloggen um in Kampfpausen hochzuideln und Zeitung zu lesen.
Duerfte doch eigentlich kein grosses Problem darstellen und wuerde zudem noch
Plattenplatz sparen.
Nur so als Idee, fuer Leute die ein wenig Zeit haben :)

Azzuro

-----------------------------------------------------------------------------



Re: Zeitungs-sharing (Gloinson, 27. Sep 1998, 16:27:55):
~#! rn=Azzuro rt=906905499 rg=entwicklung
~#! tid=906905499
Jo, gibt es. Nennt sich: 'verbrenne zeitung' :) Ich stell mir das etwas
schwierig vor, da die Zeitungsinfos dann entweder aus dem Erstie resp.
Zweitie geladen werden muesste, oder extern abgespeichert.
Nichtsdestotrotz: Wenn einer Langweile hat, faend ich es auch SEHR
begruessenswert.

Gloin

-----------------------------------------------------------------------------



Re: Zeitungs-sharing (Tarina, 27. Sep 1998, 16:32:04):
~#! rn=Azzuro rt=906905499 rg=entwicklung
~#! tid=906905499
Das mit verbrenne Zeitung ist leider auch nicht so gluecklich geloest.
Wenn mein Zweitie die Zeitung verbrennt, kann sie dummerweise auch keine
Mail ausserhalb der Post lesen. Und dann schlepp ich lieber ne ueber-
fluessige Zeitung mit mir herum.

Tarina

-----------------------------------------------------------------------------



Re: Re: Zeitungs-sharing (Boing, 28. Sep 1998, 11:28:11):
~#! rn=Tarina rt=906906724 rg=entwicklung
~#! tid=906905499
Man kann alle Rubriken abbestellen und hat die MPA dann als reines
mail-tool.
  Boing

-----------------------------------------------------------------------------



Re^3: Zeitungs-sharing (Ivo, 28. Sep 1998, 12:04:03):
~#! rn=Boing rt=906974891 rg=entwicklung
~#! tid=906905499
Das Abbestellengeht schon, aber bei den vielen Rubriken.. wie waere es mit
einem befehl 'bestelle alle rubriken ab' ?

Ivo

-----------------------------------------------------------------------------



Re^4: Zeitungs-sharing (Patryn, 28. Sep 1998, 12:05:09):
~#! rn=Ivo rt=906977043 rg=entwicklung
~#! tid=906905499
und ausserdem 'lies letzten artikel' oder sowas.
geht sowas in irgendeiner leicht merkbaren form?

------
patryn, kein zeitungs-man-leser

-----------------------------------------------------------------------------



Re: Zeitungs-sharing (Feuerwehr, 28. Sep 1998, 23:33:00):
~#! rn=Azzuro rt=906905499 rg=entwicklung
~#! tid=906905499
Hi!

Ich habe einen 'Zeitungsmarkierer' geschrieben. Er ist autoload und markiert
die Artikel, die ein angegebener Erstie/2tie gelesen hat, auch im aktuellen
Spieler als gelesen.

Das sollte das parallele Zeitunglesen etwas effektiver machen. Ich hoffe euch
gefaellts. Ideen und Beschwerden bitte per Mail an mich.

MbG

   Feuerwehr.

-----------------------------------------------------------------------------



Re: Re: Zeitungs-sharing (Feuerwehr, 28. Sep 1998, 23:33:35):
~#! rn=Feuerwehr rt=907018380 rg=entwicklung
~#! tid=906905499
Hi!

Oh, ja. Aehm. *Huestel*. Das Dingen gibts im Moulokin bei Harkon im Laden.

  Feuerwehr.

-----------------------------------------------------------------------------



Re^3: Zeitungs-sharing (Zarniya, 29. Sep 1998, 09:25:34):
~#! rn=Feuerwehr rt=907018415 rg=entwicklung
~#! tid=906905499
112, schoen, dass Du so ein Tool gemacht hast... so kommt es uebrigens immer
im MG zu einem RIESENHAUFEN ueberfluessiger Tools und std-files, weil die
proggenden Magier entweder zu bloed oder sich zu fein sind, einen EM zu
fragen, ob das nicht direkt in die Ursache eingebaut werden koennte. 

Was will ich damit sagen? DICKES LOB an 112, aber bau das doch in die Zeitung
ein, statt mit einem extratool das inv der Spieler zuzumuellen.

Zarniya, immer fuer Aenderung des Uebels selbst.

-----------------------------------------------------------------------------



Re^4: Zeitungs-sharing (Morgoth, 29. Sep 1998, 09:28:44):
~#! rn=Zarniya rt=907053934 rg=entwicklung
~#! tid=906905499
Hey, Du muesstest doch wissen das es sowas hier nicht gibt...hier werden doch
keine Ursachen bekaempft, nur Symptome. ;-)

M*

-----------------------------------------------------------------------------



Re^5: Zeitungs-sharing (Patryn, 29. Sep 1998, 09:31:31):
~#! rn=Morgoth rt=907054124 rg=entwicklung
~#! tid=906905499
um das an einem beispiel zu erklaeren:
 wenn man das symptom 'zarniya schreibt einen artikel' bekaempfen moechte,
so baut man dies in die zeitung ein.
 wenn man die ursache bekaempfen moechte, loescht man zarniya.

meintest du das in etwa so, morgoth? :)

------
patryn

-----------------------------------------------------------------------------



Re^6: Zeitungs-sharing (Morgoth, 29. Sep 1998, 09:41:28):
~#! rn=Patryn rt=907054291 rg=entwicklung
~#! tid=906905499
Nicht ganz....
Im Gegensatz zu fast allen hier, finde ich Zarniyas Artikel klasse, auch wenn
ab und zu mal ein paar sticheleien oder persoenliche Angriffe drin sind.
M*

-----------------------------------------------------------------------------



Re^7: Zeitungs-sharing (Key, 29. Sep 1998, 10:07:24):
~#! rn=Morgoth rt=907054888 rg=entwicklung
~#! tid=906905499
Das sollten wir nicht verallgemeinern ... :)
Einige sind gut, andere einfach Scheisse :)
Punkt :)

Tja ein Teufelskreis ;)

Key

-----------------------------------------------------------------------------



Re^7: Zeitungs-sharing (Gloinson, 29. Sep 1998, 10:56:21):
~#! rn=Morgoth rt=907054888 rg=entwicklung
~#! tid=906905499
Heh, geh Z* hier nicht so oeffentlich um den Bart :)

Gloin

-----------------------------------------------------------------------------



Re^8: Zeitungs-sharing (Wurzel, 29. Sep 1998, 20:20:11):
~#! rn=Key rt=907056444 rg=entwicklung
~#! tid=906905499
das trifft aber auf alle zeitungsschreiber hier zu. und ich moechte auch
in zukunft das recht und die moeglichkeit haben, hier scheissartikel zu
schreiben.

wurzel

-----------------------------------------------------------------------------



Re^9: Zeitungs-sharing (Murkes,  1. Okt 1998, 14:01:26):
~#! rn=Wurzel rt=907093211 rg=entwicklung
~#! tid=906905499
Wie Du siehst, darfst Du das auch, Wurzel.

Murkes

-----------------------------------------------------------------------------



Tod dem Wasserunwesen (Lyra,  2. Okt 1998, 14:10:04):
Ich habe gegen das Wasserunwesen gekaempft und etwas mitbekommen, was mir
nicht so sehr gefaellt.
Fangen wir von vorne an: Beim Kampf haben sich vom grossen WUW kleine geloest
und an seiner Seite gekaempft. Ist in Ordnung. Leider waren meine LPs
irgendwann runter und das WUW lebte noch. Also Flucht. Die kleinen WUW haben
mich verfolgt und erledigt. Ist zwar unschoen aber auch noch okay. Nach der
Todessequenz haben diese netten kleinen WUWs am Altar auf mich gewartet und
mich gleich ein 2. Mal gekillt, nach mich ich ein Prister heilen wollte. (Tja,
leider verwandelt das heilen einen wohl vom geist zum Spieler.)
Also ich finde, dass die kleinen WUWs einem nicht auch noch nach der
Todessequenz verfolgen sollen. Welch frisch Auferstandener kann schon
kaempfen?

Lyra mom maechtig sauer

-----------------------------------------------------------------------------



Re: Tod dem Wasserunwesen (Teddy,  2. Okt 1998, 15:10:54):
~#! rn=Lyra rt=907330204 rg=entwicklung
~#! tid=907330204
Standardantwort: Dies ist ein MULTI-User-Dungeon, lass sie dir halt
wegmetzeln, einfach mal fragen.

Teddy, findet das die kleinen WuW Kultstatus haben ;)

-----------------------------------------------------------------------------



Re: Tod dem Wasserunwesen (Mindblade,  2. Okt 1998, 15:11:02):
~#! rn=Lyra rt=907330204 rg=entwicklung
~#! tid=907330204
Das mag zwar unfair sein, Lyra, ist aber schon seit Ewigkeiten so und da hilft
meistens ein "-a Kann mir einer mal die kleinen WUWs in der Kapelle plaetten?"
bevor man betet. Wenn sowas auf allgemein kommt finden sich immer Leute, die
das gerne eben erledigen!;)

-----------------------------------------------------------------------------



Re: Re: Tod dem Wasserunwesen (Lyra,  2. Okt 1998, 15:12:09):
~#! rn=Teddy rt=907333854 rg=entwicklung
~#! tid=907330204
Das nachste mal bedenke ich auch das Multi. Allerdings beim grossen WUW.

lyra hat schon wieder bessere laune

-----------------------------------------------------------------------------



MPA (Teddy,  2. Okt 1998, 16:32:34):
Hiho,

weil wir grad so nett ueber Tools und Befehle fuer die MPA sprachen, ich
haette da auch nen Wunsch:
Wenn ich ne Rubrik aufschlage, wuerde ich gerne einen Ueberblick ueber alle
darin enthaltenen Threads bekommen und vielleicht noch nen Befehl: wiederhole
thread.
Erzaehlt mir jetzt bitte nicht, das kann man im WWW machen, das weiss ich,
gehtt aber nicht mit jeder Rubrik.

Teddy, faends klasse, wenns wer machen koennte

-----------------------------------------------------------------------------



Re: MPA (Darkwing,  2. Okt 1998, 16:33:20):
~#! rn=Teddy rt=907338754 rg=entwicklung
~#! tid=907338754
versuchs mal mit inhalt

-----------------------------------------------------------------------------



Re: Re: MPA (Teddy,  2. Okt 1998, 16:36:01):
~#! rn=Darkwing rt=907338800 rg=entwicklung
~#! tid=907338754
Hm, ich fordere das jetzt schon ziemlich lang, aber irgendwie hat mir den
Befehl nie irgendwer verraten und bei hilfe MPA hab ich den auch immer
uebersehen, thx ;)


Teddy

-----------------------------------------------------------------------------



Re^3: MPA (Teddy,  2. Okt 1998, 16:37:00):
~#! rn=Teddy rt=907338961 rg=entwicklung
~#! tid=907338754
wiederhole thread waer trotzdem schoen ;)

Teddy

-----------------------------------------------------------------------------



Re^4: MPA (Schoko,  2. Okt 1998, 16:51:57):
~#! rn=Teddy rt=907339020 rg=entwicklung
~#! tid=907338754
Also, wenn ich mir so die Threards angucke, reicht mir ein uebergehe thread
wirklich vollieg aus... ;))

Schoko

-----------------------------------------------------------------------------



Re^5: MPA (Acrimon,  2. Okt 1998, 22:01:24):
~#! rn=Schoko rt=907339917 rg=entwicklung
~#! tid=907338754
Acrimon, der Rote Ritter weist auf den (schon lange existierenden) Befehl
`wiederhole` hin.
Dieser (und noch viel mehr Befehle) stehen in 'hilfe mpa' beschrieben.

-----------------------------------------------------------------------------



Re: Tod dem Wasserunwesen (Lug,  3. Okt 1998, 04:33:12):
~#! rn=Lyra rt=907330204 rg=entwicklung
~#! tid=907330204
Hihi,

wie sagte Zardoz damals noch so schoen?

Tss, ich dachte auf den alten Trick faellt niemand mehr rein...

FidKG
Lug

-----------------------------------------------------------------------------



Re: Re: Zeitungs-sharing (Azzuro,  3. Okt 1998, 17:33:03):
~#! rn=Feuerwehr rt=907018380 rg=entwicklung
~#! tid=906905499
DANKE 112!!!!!!

-----------------------------------------------------------------------------



Re^6: MPA (Teddy,  5. Okt 1998, 00:21:11):
~#! rn=Acrimon rt=907358484 rg=entwicklung
~#! tid=907338754
Ich hab jetzt nochmal nachgeschaut, ich hab definitiv nichts gefunden, was
irgendwie in Richtung wiederhole Thread geht.
Sollte ich es mal wieder in meiner Unvollkommenheit ueberlesen haben, so bitte
ich dich, mich an deiner Weisheit teilhaben zu lassen.

Teddy

-----------------------------------------------------------------------------



Re: Tod dem Wasserunwesen (Key,  5. Okt 1998, 08:24:13):
~#! rn=Lyra rt=907330204 rg=entwicklung
~#! tid=907330204
Och Putzibuh .... hassu Dir Aua gemacht?
Ohhhh soll ich pusten?

FidKG!

Stell Dich net so an wien Kleinkind!

Key

-----------------------------------------------------------------------------



Re^7: MPA (Key,  5. Okt 1998, 10:13:28):
~#! rn=Teddy rt=907539671 rg=entwicklung
~#! tid=907338754
Schonmal unt MPA probiert?

Gibt zwar keinen FP (oder doch? .) ) Aber immerhin steht da nen bisserl was
...

Key

-----------------------------------------------------------------------------



Re: Re: Tod dem Wasserunwesen (Daria,  5. Okt 1998, 20:15:24):
~#! rn=Key rt=907568653 rg=entwicklung
~#! tid=907330204
Irgendwie find ich hochnaesige Seher zum Kotzen.
Falsch. Nicht irgendwie.
Daria

-----------------------------------------------------------------------------



Re^8: MPA (Teddy,  5. Okt 1998, 20:46:10):
~#! rn=Key rt=907575208 rg=entwicklung
~#! tid=907338754
Syntax: wiederhole <anz> [artikel]
        wiederhole [ab vor] [<anz> m|minute[n]] [<anz> h|stunde[n]] [<anz>
d|tag[e]]
        wiederhole ab tag.monat[.jahr]
        wiederhole alles
Der wiederhole- oder uncatchup-Befehl bezieht sich immer auf die aktuelle
Rubrik und markiert die angegebenen Artikel wieder als ungelesen.
Zeiten (2. Syntax) sind rueckwaerts ab aktueller Uhrzeit gerechnet.

Soviel zu unt MPA, kann mir jetzt irgendwer von denjenigen, die alles besser
wissen einfach sagen, wie der Befehl heisst sofern er existiert, geht auch per
Mail.
Dumme Sprueche und aehnliches hab ich jetzt langsam ausreichend gehoert.

Teddy, kann sich auch alleine verarschen.

-----------------------------------------------------------------------------



Re^9: MPA (Acrimon,  5. Okt 1998, 20:57:09):
~#! rn=Teddy rt=907613170 rg=entwicklung
~#! tid=907338754
"wiederhole thread" wird es in absehbarer Zeit nicht geben, jedenfalls nicht
in der beabsichtigten Form.
Denn in jedem Spielerfile gibt es nur einen Marker pro Rubrik; es wird sich
nicht gemerkt, welche Artikel der Spieler gelesen hat und welche nicht. Auf
diese Weise werden die Spielerfiles klein gehalten.
Dies kann sich aendern, wenn das MG soviel RAM und Plattenplatz bekommt, dasz
Catweazle sagt, "Wir haben jetzt soviel Speicherplatz, dasz ihr wesentlich
mehr davon verbrauchen koennt."

Zur Zeit kann der "wiederhole thread"-Befehl allenfalls derart implementiert
werden, dasz der Marker der aktuellen Rubrik auf den ersten existierenden
Artikel zurueckgesetzt wird, der zum selben Thread gehoert wie der zuletzt
gelesene.
Dann bekommt man halt die dazwischenliegenden Artikel auch dann zum Lesen,
wenn sie nicht zu diesem Thread gehoeren.
(Hobo? Das waere doch eine schoene Erweiterung fuer die mpa).

Acrimon schlaegt vor.

-----------------------------------------------------------------------------



Re^10: MPA (Teddy,  5. Okt 1998, 21:01:09):
~#! rn=Acrimon rt=907613829 rg=entwicklung
~#! tid=907338754
Also den Marker auf den ersten Artikel des Threads zuruecksetzen kann ich auch
mit wiederhole xxx jetzt schon, das war nicht das, was ich suche.
Ich will gerade die Artikel dazwischen nicht lesen sondern den Zusammenhang
gern behalten, aber vielleicht hat ja wer ne Idee dazu.

Danke erstmal fuer die Info und warum die ganzen unglaublic intelligenten
Tips, wenns dann nachher doch nur heisse Luft war?

Teddy, laesst sich gerne belehren, aber nicht einfach NUR auslachen wenns
keiner besser weiss.

-----------------------------------------------------------------------------



Inventory (Anacrion,  6. Okt 1998, 19:58:14):

Hi auch :)

Wie waere es,  im Inventory statt '(angezogen)' '(getragen)' zu verwenden.
Dann spart man nen Buchstaben und das Display ist mit hoeherer Wahrschein-
lichkeit 2zeilig :)

Anac* - fuer ein kuerzeres Inventory kaempfend

P.S.: Jeder, den das auch stoert, kann ja mal nach 'kritischen Objekten'
Ausschau halten und dem jew. Magier bescheidmailen/sagen :)

-----------------------------------------------------------------------------



Re: Inventory (Sirona,  6. Okt 1998, 19:59:55):
~#! rn=Anacrion rt=907696694 rg=entwicklung
~#! tid=907696694
Wie waere es wenn man dies selbst definieren duefte ? natuerlich mit ner
minamlem begrenzung von vielliecht 3 zeichen ? ..
-sirona--

-----------------------------------------------------------------------------



Re: Re: Inventory (Anacrion,  6. Okt 1998, 20:04:53):
~#! rn=Sirona rt=907696795 rg=entwicklung
~#! tid=907696694
Hmm. Naja. ... Dann ginge auch (*) :)

Anac*

-----------------------------------------------------------------------------



Anfrage (Novastorm,  7. Okt 1998, 14:45:55):
Waere es moeglich, wenn diverse Aenderungen - oder genauer, ziemlich
einschneidende Veraenderungen von diversen Tools (Wurzels Rollen) oder auch
Gegenden - in Zukunft ein bisschen naeher, bzw. ueberhaupt dem Spieler
erlaeutert/Bekannt gegeben werden ?
   Nova* (leicht frustriert)

-----------------------------------------------------------------------------



Re: Anfrage (Trancefear,  7. Okt 1998, 19:58:36):
~#! rn=Novastorm rt=907764355 rg=entwicklung
~#! tid=907764355
Wieso'n das? Da bringt man sich als Magier ja ganz um den Spass, nen Spieler
sterben zu sehen...

tf

-----------------------------------------------------------------------------



Boing-Resets (Lyra,  8. Okt 1998, 08:35:49):
Nun muss ich mich doch einmal aufregen. Es ist mir gerade zum wiederholten
male passiert, dass (in diesem Fall in der Steinbeisserhoehle) der komplette
Rueckweg resetet hat. Dabei ist es noch keine 3 Minuten her, dass ich diese
Viecher gekillt habe. Ist es nicht moeglich, ein Minimum von 5 Minuten oder so
zwischen den Raumresets einzubauen?
Natuerlich gibt es auch Stellen, wo ein schneller reset nett waere (schiel auf
Kitzeldrom). Dort ist es mir aber noch nie passiert. 

Lyra moechte auch mal Zeit haben, die Leichen ihrer Opfer zu pluendern

-----------------------------------------------------------------------------



Re: Boing-Resets (Boing,  8. Okt 1998, 08:47:58):
~#! rn=Lyra rt=907828549 rg=entwicklung
~#! tid=907828549
Erstens ist die minimale Zeit zwischen zwei resets exakt 5 Minuten (schon
immer so gewesen) und zweitens geben Steinbeisser keine Leichen.
  Boing

-----------------------------------------------------------------------------



Re: Re: Boing-Resets (Lyra,  8. Okt 1998, 08:50:50):
~#! rn=Boing rt=907829278 rg=entwicklung
~#! tid=907828549
'Das nicht, aber bei den Grummelbeissern kann man ja was finden und ich habe
es auch schon erlebt, dass ich nicht genug Zeit hatte, diesen noetigen befehl
einzutippen weil wieder Nachschub kam.
Anderes Beispiel mit Leiche: der Eisgigant vorm Drom. Er faellt um. Kann
zapfen nicht mehr tragen. Lege Panzer in Paket. Will zapfen nehmen: geht
nicht: Eisgigant da.
Und so schnell vergingen bei mir noch keine 5 min.

Lyra

-----------------------------------------------------------------------------



Re^3: Boing-Resets (Boing,  8. Okt 1998, 08:52:18):
~#! rn=Lyra rt=907829450 rg=entwicklung
~#! tid=907828549
Reset ist nicht, wenn das Monster tot umfaellt, sondern wenn es erscheint!
Zwischen tot umfallen und dem naechsten reset koennen tatsaechlich
Sekunden liegen, das liegt in der Natur der Sache. Und der Gigant
hindert Dich nicht daran den Eiszapfen zu nehmen.
  Boing

-----------------------------------------------------------------------------



Re^3: Boing-Resets (Teddy,  8. Okt 1998, 08:52:22):
~#! rn=Lyra rt=907829450 rg=entwicklung
~#! tid=907828549
Schneller tippen.
Ne im ernst, das liegt daran, das die Raeume ausgeswappt wurden und beim
Einswappen der Reset nicht neu gesetzt wird.
eigentlich arbeitet Jof bereits an dem Problem und hats teilweise shcon
geloest.
Keine Ahnung wie weit er insgesamt ist.

Teddy

-----------------------------------------------------------------------------



Re^4: Boing-Resets (Lyra,  8. Okt 1998, 08:56:08):
~#! rn=Teddy rt=907829542 rg=entwicklung
~#! tid=907828549
Ich gebe es zu: ich kenne mich bei den Programm-technischen Sachen vom MG sehr
schlecht aus. Darum mag man mir meine Unwissenheit verzeichen.
Was den Eisgiganten anging: Den einen hatte ich mit Mueh und Not geschafft.
Der 2. (neue) hat noch einmal zugeschlagen und ich musste fluechten. ;-)

Lyra verzichtet lieber auf den Eiszapfen und damit auch auf eine weitere
Todessequenz

-----------------------------------------------------------------------------



Re^5: Boing-Resets (Anatol,  8. Okt 1998, 09:36:33):
~#! rn=Lyra rt=907829768 rg=entwicklung
~#! tid=907828549
LYRA> Der 2. (neue) hat noch einmal zugeschlagen und ich musste fluechten. ;-)

Freu' dich ueber Schmerzen - solange Du sie hast, lebst Du noch. Und an die
Raumreseteigenschaften kann man sich sogar soweit gewoehnen, dass man sie
auszunutzen versteht...

Anatol :o)


-----------------------------------------------------------------------------



Re^6: Boing-Resets (Lug,  8. Okt 1998, 21:48:04):
~#! rn=Anatol rt=907832193 rg=entwicklung
~#! tid=907828549
 Hm?

Was soll das Geheule, Boing-Resetts sind pure Absicht um die Spieler zu
quaelen ;)

FidKG
Lug

-----------------------------------------------------------------------------



Re: Re: Boing-Resets (Songoku,  9. Okt 1998, 15:50:24):
~#! rn=Boing rt=907829278 rg=entwicklung
~#! tid=907828549
Wers nicht gleubt, soll es einfach mal an Boing ausprobieren :)

-----------------------------------------------------------------------------



Re: Boing-Resets (Jiddu, 10. Okt 1998, 02:38:48):
~#! rn=Lyra rt=907828549 rg=entwicklung
~#! tid=907828549
Is mir auch schon 2mal passiert - AUCH in der Steinbeisserhoehle.. aber dann
hab ich mich halt mit 2 amuletten begnuegt.. ;)
Jiddu

-----------------------------------------------------------------------------



Re^3: Boing-Resets (Jiddu, 10. Okt 1998, 02:41:32):
~#! rn=Lyra rt=907829450 rg=entwicklung
~#! tid=907828549
Der Steingolem steht auf der Schwelle des Todes.
Du triffst den Steinbeisser sehr hart.
Der Steinbeisser zerfaellt zu wasweisichwas....
Ein Steinbeisser kommt an.

Bei mir warens vielleicht ne halbe sekunde - nicht untertrieben!
Jiddu, egal.

-----------------------------------------------------------------------------



Re^4: Boing-Resets (Trancefear, 10. Okt 1998, 02:45:34):
~#! rn=Jiddu rt=907980092 rg=entwicklung
~#! tid=907828549
Ja doch, Jiddu, ja doch. Das hat mit Boing nun aber auch ueberhaupt nix zu
tun, wie bereits einer meiner Vorredner schrieb... weitere 1093 Beispiele zum
Thema aendern da nix dran.

tf

-----------------------------------------------------------------------------



Re^5: Boing-Resets (Jiddu, 10. Okt 1998, 03:01:16):
~#! rn=Trancefear rt=907980334 rg=entwicklung
~#! tid=907828549
jaaahaaa bin ja schon still TF ;)

-----------------------------------------------------------------------------



Re^6: Boing-Resets (Gando, 10. Okt 1998, 13:57:57):
~#! rn=Jiddu rt=907981276 rg=entwicklung
~#! tid=907828549
Mahcne wir einfach die EP's wieder was mehr wert, dann sind solche reset's
toll, weil man kriegt ja mehr EP's. Zumindestens waere meine naechste action
nach so nem reset direkt wieder . zu druecken.

Gando
P.S.: alias . = toete alle

-----------------------------------------------------------------------------



Re^7: Boing-Resets (Anatol, 10. Okt 1998, 15:45:50):
~#! rn=Gando rt=908020677 rg=entwicklung
~#! tid=907828549
Wenn die EPs mehr wert sind, jammern unsere Top-Seher doch noch mehr
herum - Und das koennen wir doch wirklich nicht zulassen.

Anatol (duckt sich)


-----------------------------------------------------------------------------



Vorschlag zur Verbesserung von 2 Befehlen (Shannara, 10. Okt 1998, 21:09:09):
Es waere nett, wenn man bei die Homepage- und EMail-Information beim
fingerinfo auch wieder loeschen kann, was derzeit leider nicht geht.

Vielleicht wird diese Information wieder geloescht wenn man 'url .' respektive
'email .' eingibt?

Shannara

-----------------------------------------------------------------------------



Re: Vorschlag zur Verbesserung von 2 Befehlen (Anatol, 10. Okt 1998, 21:15:19):
~#! rn=Shannara rt=908046549 rg=entwicklung
~#! tid=908046549
RTFM.

Wurstmagier.

Jawoll.

Anatol.


-----------------------------------------------------------------------------



Re: Re: Vorschlag zur Verbesserung von 2 Befehlen (Shannara, 10. Okt 1998, 21:20:33):
~#! rn=Anatol rt=908046919 rg=entwicklung
~#! tid=908046549
*seufz*

Also:

1. Als 'Wurstmagier(in)' hab ich leider keine Moeglichkeit, diese kleine
Aenderung /std/players/base.c zu machen, weil ich in der mudlib nichts zu
suchen habe, und extra einen kleinen Gegenstand dafuer zu proggen zahlt sich
net aus. Ausserdem: wo soll ich das Ding bereitstellen? ich hab noch keine
Raeume, die angeschlossen sind und wieder mal umsonst die einzelnen Magier
abklappern interessiert mich nicht.

2. ich spreche als spielerin, nicht als magier. Auch wenn ich ein
Spielerzweitie bin.

Les dein Manual lieber mal selber.

Shannara

-----------------------------------------------------------------------------



Re^3: Vorschlag zur Verbesserung von 2 Befehlen (Mahatmu, 10. Okt 1998, 21:21:49):
~#! rn=Shannara rt=908047233 rg=entwicklung
~#! tid=908046549
Noe, aber Du kannst es (a) ausprobieren und (b) auf 'keine' setzen.
Soviel ich weiss, wirst Du auch beim Login fuer email um ein 'none'
gebeten.

Gloin

-----------------------------------------------------------------------------



Re^3: Vorschlag zur Verbesserung von 2 Befehlen (Shannara, 10. Okt 1998, 21:21:50):
~#! rn=Shannara rt=908047233 rg=entwicklung
~#! tid=908046549
Korrektur: Ich bin ein Magierzweitie.

Egal :)

Shannara

-----------------------------------------------------------------------------



Re^3: Vorschlag zur Verbesserung von 2 Befehlen (Anatol, 10. Okt 1998, 21:23:21):
~#! rn=Shannara rt=908047233 rg=entwicklung
~#! tid=908046549
Ok, KANN ja sein, dass ich Dich falsch verstanden habe. Kann wirklich
sein, immerhin laeufst Du als Frau herum und wer versteht schon...

Mit "email keine" und "url keine" kannst Du die Eintraege loeschen,
also auf 0 setzen. Ob der Finger-Befehl fuer Magier die Email dann
auch weglaesst, weiss ich nicht, die url wird - zumindest bei mir
als Spieler - nicht mehr angezeigt.

Bis auf Widerruf: Wurstmagier.

Anatol


-----------------------------------------------------------------------------



Re^4: Vorschlag zur Verbesserung von 2 Befehlen (Rikus, 11. Okt 1998, 22:33:42):
~#! rn=Anatol rt=908047401 rg=entwicklung
~#! tid=908046549
Hi,
ja, das Lesen der Hilfe hilft meist :) Seit 5.7.98 steht da, dass man die
Eintraege mit _keine_ als Parameter loeschen kann.

Rikus

-----------------------------------------------------------------------------



Re: Re: Boing-Resets (Key, 12. Okt 1998, 13:04:39):
~#! rn=Jiddu rt=907979928 rg=entwicklung
~#! tid=907828549
Wow schon 2 Boingresetts in Deinem Leben ....
WOW! Meine Beachtung!
Das sind 2! sage und schreibe 2 Stueck ....

Das sie vorkommen sollte jedem klar sein, und das die halt in gebieten
staendig vorkommen in denen net jeden Resett wer langlaeuft sollte doch auch
langsam klar sein ...

Also fuer alle die sich da dran aufhaengen ... metzelt auf der He.

Key

-----------------------------------------------------------------------------



Re^3: Boing-Resets (Lyra, 12. Okt 1998, 13:08:18):
~#! rn=Key rt=908190279 rg=entwicklung
~#! tid=907828549
Eigentlich habe ich das Thema fuer mich schon beendet. Bisher dachte ich
immer, dass der Countdown zum Resst erst gestartet wird, wenn in dem Raum was
veraendert wurde (z.B. ein Monster gestorben ist). Anscheinend laeuft es aber
anders. Darum akzeptiere ich es, wie es ist. Und ich hatte auch geschrieben,
dass es mir mehrfach (das ist auch mehr als 2) passiert ist.

Lyra ist nur noch zu 98% Wurst ;-)
,

-----------------------------------------------------------------------------



Re^4: Vorschlag zur Verbesserung von 2 Befehlen (Koomi, 12. Okt 1998, 13:43:11):
~#! rn=Anatol rt=908047401 rg=entwicklung
~#! tid=908046549

  Also, eines moechte ich klarstellen: Nur weil du schon so "alt' bist,
hast du IMHO _absolut_ kein Recht, jemanden wegen so einer Kleinigkeit auch
gleich so 'nett' zu sein. Das gilt fuer jeden und ich verlang auch nicht, dass
man jemanden immer mit Samthandschuhen anfasst.

Was meine Zweities angeht: die haben eben nicht das Magierwissen bzw ich
versuche das so gut auszublenden wie es geht. es interessiert mich schlicht
und einfach nicht, dass ich da fuer meine zweitie spionieren gehe, weil mir
dass einfach den spielspass verdirbt.

wenn ich mir irgendwelche files angucke, dann um zu lernen, wie man irgendwas
coden tut.

Na dann sterbt mal schoen...

 Halbelf Koomi.

-----------------------------------------------------------------------------



Re^5: Vorschlag zur Verbesserung von 2 Befehlen (Hobo, 12. Okt 1998, 13:56:44):
~#! rn=Koomi rt=908192591 rg=entwicklung
~#! tid=908046549
Es geht einfach darum, dass man, bevor man solche Vorschlaege macht,
wenigstens mal die Hilfe zu den Befehlen lesen sollte.
Und wer dazu zu bloed ist, ist wirklich nur Wurst-wasauchimmer!


  Hobo

-----------------------------------------------------------------------------



Re^6: Vorschlag zur Verbesserung von 2 Befehlen (Anatol, 12. Okt 1998, 14:25:08):
~#! rn=Hobo rt=908193404 rg=entwicklung
~#! tid=908046549
Ein einfaches, klaerendes "-a Kann mir einer sagen, ob und wie man ..." 
haette, falls man ueber "hilfe" und "man" nicht aufgeklaert ist oder 
ohne Xtool ueberhaupt nichts hinbekommt, weiterfuehren koennen. Wer
in die Zeitung schreibt, ohne ausreichende Recherche zu fuehren (und 
das ist hier ja echt wenig), ist selbst dafuer verantwortlich, wenn
der Hammer auf den Zeh faellt...

Anatol, behaemmert :o)


-----------------------------------------------------------------------------



Re^3: Boing-Resets (Jiddu, 12. Okt 1998, 23:34:05):
~#! rn=Key rt=908190279 rg=entwicklung
~#! tid=907828549
Ich zitiere:
Oh Super Qitess
Kannst Du eigentlich auch Artikel mit sinn schreiben?
Oder reicht es Dir immer nur zu laestern?

Key genervt 
Zitat ende...
Oh super Key
Kannst Du eigentlich auch Artikel mit sinn schreiben?
Oder reicht es Dir immer nur zu laestern?

Jiddu sieht da eine parallele und regt sich ueber die Boingresets ned auf also
ignorier einfach den Artikel..

-----------------------------------------------------------------------------



Ringe (Lyra, 14. Okt 1998, 08:52:14):
Noch ist das MG ja nicht _so_ lange wieder oben, aber trotzdem moechte ich mal
eine Idee zu den Ringen vom Kitzeldrom veroeffentlichen. Ich weiss nicht, ob
es schon mal die Diskusion so gab. Wenn ja, dann will ich hier keinen langen
Thread wieder eroeffnen.
Es ist ja nur natuerlich, das +1-Ringe beim Drom oefter auftachen als die mit
+4. Darum dachte ich mir, dass es doch nett waere, wenn man die Ringe
kombinieren koennte. Eventuell eine Aufgabe fuer den Juwelier in der
Zergenstadt. Um keine neue Runde in der Ruestungsspirale zu eroeffnen, darf
der Gesammtbonus nicht ueber +4 liegen (also nicht mal schnell +3 und +4
zusammenbauen). Weiterhin ist es denkbar, dass man nur 2 oder 3 Ringe
miteinander verbinden darf. Oder das die Ringe das gleiche Attribut
unterstuetzen muessen (bzw. nur verschiedene). Mein Wunsch ware eine
+2-Int/+2Ausdauer-Kombination. Mit der und den Paradrachenklauen haette ich
als Menschlein dann bei allen Attributen +3. Sieht so schoen gleichmaessig aus
;-).

Lyra hofft, nicht eine alte Suppe nicht noch mal aufzuwaermen

-----------------------------------------------------------------------------



Re: Ringe (Burn, 14. Okt 1998, 09:08:31):
~#! rn=Lyra rt=908347934 rg=entwicklung
~#! tid=908347934
Rotfl, hast DU vielleicht schonmal daran gedacht, dass es Absicht sein
koennte, dass +4-Ringe so selten sind, damit nicht jeder staendig so extrem
hohe Stats hat ?
Dann kann man den Leuten auch gleich ein Stat um 4 erhoehen, gelle ? ;)
*Vorsicht, Ironie*

Neb

-----------------------------------------------------------------------------



Re: Ringe (Morgoth, 14. Okt 1998, 09:12:20):
~#! rn=Lyra rt=908347934 rg=entwicklung
~#! tid=908347934
Ja, das hatte ich auch mal vorgeschlagen und war sogar bereit das zu proggen.
als ich Boing den Vorschlag gemacht hat, haette er mich wohl am liebsten
gleich geloescht. ;-(
Vergiss es

M*

-----------------------------------------------------------------------------



Re: Re: Ringe (Lyra, 14. Okt 1998, 09:45:49):
~#! rn=Morgoth rt=908349140 rg=entwicklung
~#! tid=908347934
Gut, damit es nicht noch mehr Aerger gibt: a) den Thread gleich wieder
loeschen oder b) es auf 2 +1-Ringe begrenzen (+2-Ringe kommen ja auch oefters
vor)

Lyra will nicht, dass Morgoth geloescht wird ;-)

-----------------------------------------------------------------------------



Re: Ringe (Key, 14. Okt 1998, 12:13:49):
~#! rn=Lyra rt=908347934 rg=entwicklung
~#! tid=908347934
Hmm schriebe ich nicht in ner anderen Rurbik was von ner Max-Autoloadrue fuer
unsere Wursties?

Kandidat 1 haben wir schonmal gefunden ... Setzt ihm aber bitte auch gleich
die Attribute auf sagen wir 50, sonst fuehlt er sich naechsten Monat nimmer
wohl ...

Key fragt sich ob ne begrenzte Anzahl von Objekten evtl einen Sinn haben
koennten ...

P.S.: Wenn man so drueber nachdenkt ... finde ich eigentlich Ringe die +4
geben zu gut ... Blanceteam?

-----------------------------------------------------------------------------



Re^3: Ringe (Orktoeter, 14. Okt 1998, 15:11:17):
~#! rn=Lyra rt=908351149 rg=entwicklung
~#! tid=908347934
So etwa aehnliches hatte ich schon vor laengerem mal vorgeschlagen, sogar noch
staerker eingeschraenkt (aus 3 oder 4 +1 Ringen mach einen +2 oder so und das
ganze durch einen Zauberer-NPC, der sich das 1. teuer bezahlen laesst und 2.
ab und zu beim Zaubern halt die Ringe zerstoert), aber selbst das wurde
abgelehnt (und vermutlich zu recht, da man sonst wahrscheinlich sogar wegen +1
Ringen schlange stehen wuerde)

OrkT

-----------------------------------------------------------------------------



Re: Ringe (Tilly, 14. Okt 1998, 18:31:26):
~#! rn=Lyra rt=908347934 rg=entwicklung
~#! tid=908347934
Moin auch,
wieso nicht gleich auch die vier Heiltraenke des Orakel zum dauerhaften
Erhoehen der Stats nach Wunsch nehmen, oder das Orakel aendern ala 'wirf 10mio
Eps in wasser', tut mir ja leid, aber solchen Schwachsinn hab ich schon lange
nichmehr gehoert.
                 Tilly (extrem belustigt)

-----------------------------------------------------------------------------



Re: Re: Ringe (Trancefear, 14. Okt 1998, 21:44:53):
~#! rn=Key rt=908360029 rg=entwicklung
~#! tid=908347934
Nujaa wenn Du sie zu gut findest kann Boing ja dafuer sorgen, dass Du keinen
mehr bekommst... :-)

tf

-----------------------------------------------------------------------------



Re: Re: Ringe (Teddy, 14. Okt 1998, 23:08:31):
~#! rn=Burn rt=908348911 rg=entwicklung
~#! tid=908347934
Hm, wir koennten dann gleich noch Ringe bauen, die aus 16 +1er einfach nen
Ring bauen, der alle Stats um 4 erhoeht.
Wen stoert schon das bisschen M)

Teddy, ebenfalls leicht ironisch

-----------------------------------------------------------------------------



Re^3: Ringe (Paracelsus, 14. Okt 1998, 23:11:26):
~#! rn=Teddy rt=908399311 rg=entwicklung
~#! tid=908347934
Also ich denke, +25 auf alles sollte schon drin sein.

Paracelsus -> schmarrn().

-----------------------------------------------------------------------------



Re^4: Ringe (Jiddu, 14. Okt 1998, 23:12:12):
~#! rn=Paracelsus rt=908399486 rg=entwicklung
~#! tid=908347934
Find ich gut. und das Autoload?
Jiddu will einen .. oder zwei.

-----------------------------------------------------------------------------



Re^4: Ringe (Trancefear, 14. Okt 1998, 23:12:24):
~#! rn=Paracelsus rt=908399486 rg=entwicklung
~#! tid=908347934
Aber klar... unter 500 -25-Ringen darf auch mal ein +25-Ring sein :-)

tf

-----------------------------------------------------------------------------



Re^4: Ringe (Teddy, 14. Okt 1998, 23:14:48):
~#! rn=Paracelsus rt=908399486 rg=entwicklung
~#! tid=908347934
Das geht aber nur, wenn dann LPs und MPs gefixt werden, ansonsten ist das echt
zu wenig.

Teddy ebenfalls ->schmarrn, wie eigentlich der ganze Thread ;)

-----------------------------------------------------------------------------



Re^3: Ringe (Householder, 14. Okt 1998, 23:16:32):
~#! rn=Teddy rt=908399311 rg=entwicklung
~#! tid=908347934
hach ihr es ist mir immer wieder eine freude zu lesen, auf welche elegante und
immer wieder neue art und weise ihr hier immer wieder einen derart subtilen
mit  derart feiner ironie gespickten sarkasmus pflegt 

-----------------------------------------------------------------------------



Re^4: Ringe (Jiddu, 14. Okt 1998, 23:17:37):
~#! rn=Householder rt=908399792 rg=entwicklung
~#! tid=908347934
Bitte, wo war da sarkassmus? War das nicht ernst gemeint??
Jiddu, enttaeuscht.

-----------------------------------------------------------------------------



Re^5: Ringe (Householder, 14. Okt 1998, 23:19:20):
~#! rn=Jiddu rt=908399857 rg=entwicklung
~#! tid=908347934
schon wieder sowas ... einfach herrlich *seufz*

-----------------------------------------------------------------------------



Re^4: Ringe (Silvana, 15. Okt 1998, 02:10:53):
~#! rn=Paracelsus rt=908399486 rg=entwicklung
~#! tid=908347934
Ich aender dann mal in der Lib eine 30 auf 25. Danach ist MIR das
eigentlich voellig egal... :)

  Silvana -> schmarrn()

-----------------------------------------------------------------------------



Re^5: Ringe (Lyra, 15. Okt 1998, 07:50:43):
~#! rn=Silvana rt=908410253 rg=entwicklung
~#! tid=908347934
Ich sehe es ja ein. Die Summierung der Ring ist nicht die Loesung. Aber
koennte man aus 2 +2-Ringennicht eine +1+1-Ring machen? Zu 75% wird es
klappen, zu 25% eben nicht. Und der Spass kann dann auch mal 20k kosten. Bei 2
+3-Ringen kommt eben ein +2+1-Ring raus und bei 2 +4-Ringen ein +2+2-Ring.
Damit wird der Gesammtbonus nicht erhoeht und zumindestens 2 +4-Ringe sollte
es ja selten geben. Wie das bei eine Mischung (z.B. +3/+1-Ring oder +3/+2)
ist, muss man sich ueberlegen. Bei +3/+2 kann ja mal ein +2+1 rauskommen oder
auch +1+1 nur.

Lyra hofft, damit einen akzeptablen Vorschlag zu machen

-----------------------------------------------------------------------------



Re^6: Ringe (Boing, 15. Okt 1998, 08:33:38):
~#! rn=Lyra rt=908430643 rg=entwicklung
~#! tid=908347934
Mir gefallen die Ringe, so wie sie sind.
  Boing

-----------------------------------------------------------------------------



Re^7: Ringe (Lyra, 15. Okt 1998, 08:34:32):
~#! rn=Boing rt=908433218 rg=entwicklung
~#! tid=908347934
War ja auch nur eine Idee von mir.
 Lyra ganz kurz

-----------------------------------------------------------------------------



Re^7: Ringe (Felpur, 15. Okt 1998, 08:58:57):
~#! rn=Boing rt=908433218 rg=entwicklung
~#! tid=908347934
Hi Leute!

Das mit den Ringen verschweissen und so da gebe ich denen Recht, die meinen
dass das zu weit fuehrt. Aber ne andere Frage dazu, warum kann man keine
anderen Ringe mehr anlegen, wie zum Beispiel die Feuerrunge aus der
Feurebene[D[D[D[D[D[Derebene. Schliesslich hab ich ja auch 8 Finger Daumen
nicht mitgerechnet. 
Ciao, Felpur

-----------------------------------------------------------------------------



Re^8: Ringe (Felpur, 15. Okt 1998, 09:00:08):
~#! rn=Felpur rt=908434737 rg=entwicklung
~#! tid=908347934
scheiss editor.
Felpur

-----------------------------------------------------------------------------



Re^4: Ringe (Teddy, 15. Okt 1998, 10:44:47):
~#! rn=Householder rt=908399792 rg=entwicklung
~#! tid=908347934
Danke, jederzeit wieder ;)

Teddy

-----------------------------------------------------------------------------



Re^8: Ringe (Teddy, 15. Okt 1998, 10:46:29):
~#! rn=Felpur rt=908434737 rg=entwicklung
~#! tid=908347934
Weil du nur 2 Ringfinger hast wovon einer fuer den Verlobuns/Ehering
reserviert ist?

Teddy

-----------------------------------------------------------------------------



Re^8: Ringe (Ark, 15. Okt 1998, 12:36:54):
~#! rn=Felpur rt=908434737 rg=entwicklung
~#! tid=908347934
Oh, da bin ich fuer. Natuerlich kann es da schon mal im Kampf zum Unfall
kommen, wenn sich zwei oder mehr Ringe in die Quere kommen. Unter dem Risiko,
von eigenen Ringen zerstaeubt zu werden, ist das doch sicherlich machbar
*lechz*
Ist nur halb ironisch gemeint :-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^9: Ringe (Zillus, 15. Okt 1998, 18:54:36):
~#! rn=Teddy rt=908441189 rg=entwicklung
~#! tid=908347934
ich loese gerne meine Verlobung auf, wenn ich statt dessen 2 +4-Ringe anziehen
kann :-)

zillus.

-----------------------------------------------------------------------------



Re^9: Ringe (Tarina, 15. Okt 1998, 19:27:22):
~#! rn=Teddy rt=908441189 rg=entwicklung
~#! tid=908347934
Aehm... mach mal nen reality-check. Ringe kann man nicht nur auf Ringfingern
tragen. Und Verlobungsringe werden haeufig mit Schmuck und anderen Ringen
kombiniert. Ich finds ziemlich oft sehr schade, dass ich nen Statsring nicht
zusammen mit zum Beispiel einem AFR tragen kann. Das 2 Statsringe nicht gehen,
ist ja okay.

Tarina

-----------------------------------------------------------------------------



Re^9: Ringe (Key, 15. Okt 1998, 19:46:17):
~#! rn=Felpur rt=908434808 rg=entwicklung
~#! tid=908347934
Genau genommen hast du Pfoten!
Wieso kannst Du ueberhaupt Ringe tragen?
Und Waffen zuecken?

Hmm Para hassu da nen Fehler bei der Rasse drin? .)

Key

-----------------------------------------------------------------------------



Re^6: Ringe (Jiddu, 15. Okt 1998, 21:10:02):
~#! rn=Lyra rt=908430643 rg=entwicklung
~#! tid=908347934
Was soll der unfug eigentlich..? Welcher depp teilt denn +ringe??
brauchst du das wirklich?...
Jiddu, kontra.

-----------------------------------------------------------------------------



Re^5: Ringe (Twinsen, 15. Okt 1998, 21:19:54):
~#! rn=Jiddu rt=908399532 rg=entwicklung
~#! tid=908347934
Man hat ja schliesslich 10 Finger also auch 10 Ringe oder??

-----------------------------------------------------------------------------



Re^6: Ringe (Jiddu, 15. Okt 1998, 21:20:55):
~#! rn=Twinsen rt=908479194 rg=entwicklung
~#! tid=908347934
Und man kann dich RL auch fingern Twinsen!

-----------------------------------------------------------------------------



Re^7: Ringe (Twinsen, 15. Okt 1998, 21:22:30):
~#! rn=Jiddu rt=908479255 rg=entwicklung
~#! tid=908347934
Nur weil du keinE abbekommst ... 

-----------------------------------------------------------------------------



Re^8: Ringe (Jiddu, 15. Okt 1998, 21:26:18):
~#! rn=Twinsen rt=908479350 rg=entwicklung
~#! tid=908347934
Also du willst 10 +4ringe tragen koennen, ja?
Jiddu schmunzelt..

-----------------------------------------------------------------------------



Re^10: Ringe (Paracelsus, 15. Okt 1998, 21:26:24):
~#! rn=Key rt=908473577 rg=entwicklung
~#! tid=908347934
Nee, Key. Felinen sind teilhumanoidisierte Katzen, da sitzen die Krallen an
den Enden von Fingern.
Para.

-----------------------------------------------------------------------------



Re^10: Ringe (Teddy, 15. Okt 1998, 23:47:14):
~#! rn=Zillus rt=908470476 rg=entwicklung
~#! tid=908347934
Nene, der is reserviert, auch wenn er nicht genutzt sein sollte ,)

Teddy

-----------------------------------------------------------------------------



Re^10: Ringe (Teddy, 15. Okt 1998, 23:48:17):
~#! rn=Tarina rt=908472442 rg=entwicklung
~#! tid=908347934
reality-check? RL.mud.de? Isn Scheiss mud, glaub mir, die regeln uebertrag ich
nciht ins MG

Teddy, sorry ich kann das einfach nicht ernstnehmen, sollte ich dsa muessen,
sagts mir bitte ;)

-----------------------------------------------------------------------------



Re^11: Ringe (Paracelsus, 16. Okt 1998, 00:53:36):
~#! rn=Teddy rt=908488097 rg=entwicklung
~#! tid=908347934
Naja, aber Du musst zugeben: Die Grafik ist gar nicht so schlecht.

Para.

-----------------------------------------------------------------------------



Re^12: Ringe (Teddy, 16. Okt 1998, 01:50:51):
~#! rn=Paracelsus rt=908492016 rg=entwicklung
~#! tid=908347934
Zugegeben, besser als im mG ;-)

Teddy

-----------------------------------------------------------------------------



Re^13: Ringe (Anatol, 16. Okt 1998, 02:02:46):
~#! rn=Teddy rt=908495451 rg=entwicklung
~#! tid=908347934
Dafuer ist die Handlung Scheisse.

Anatol


-----------------------------------------------------------------------------



Re^11: Ringe (Key, 16. Okt 1998, 08:27:31):
~#! rn=Paracelsus rt=908479584 rg=entwicklung
~#! tid=908347934
Oh :) Achso :)
Ich dachte ihre Pfoten haetten sie behalten :)

Key 

-----------------------------------------------------------------------------



Re^10: Ringe (Felpur, 16. Okt 1998, 08:55:59):
~#! rn=Key rt=908473577 rg=entwicklung
~#! tid=908347934
Key recht haste ich hab pfoten weil feline aber ich hab auch krallen wo ich
die ringe draufstecken kann. noch fragen.
felpur

-----------------------------------------------------------------------------



Re^11: Ringe (Felpur, 16. Okt 1998, 08:57:51):
~#! rn=Felpur rt=908520959 rg=entwicklung
~#! tid=908347934
mist haette erstmal die rubrik zuendelesen muessen befor ich auf keys artikel
antworte
grummel
felpur

-----------------------------------------------------------------------------



Re^12: Ringe (Grimmborn, 16. Okt 1998, 09:51:18):
~#! rn=Felpur rt=908521071 rg=entwicklung
~#! tid=908347934
Ja. Oder wenigstens mal "hilfe mpa" machen sollen wo drin steht, wie man
Artikel auch wieder loeschen kann.

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re^13: Ringe (Yendi, 16. Okt 1998, 13:48:54):
~#! rn=Grimmborn rt=908524278 rg=entwicklung
~#! tid=908347934
Ihr Einsatz, Herr Grimmborn!


-----------------------------------------------------------------------------



Re^14: Ringe (Mahatmu, 16. Okt 1998, 15:13:05):
~#! rn=Yendi rt=908538534 rg=entwicklung
~#! tid=908347934
Ich will 20 Ringe. Hab schliesslich Zehen. Und 21 fuer maennliche Ausgaben.

Gloin

-----------------------------------------------------------------------------



Re^15: Ringe (Lyra, 16. Okt 1998, 15:15:17):
~#! rn=Mahatmu rt=908543585 rg=entwicklung
~#! tid=908347934
Naja, da muessten wir fuer Dich ja Viagra hier im MG zu lassen. Sonst haelt ja
Dein 21. Ring nicht ;-)

Lyra ist sich da ganz sicher 

-----------------------------------------------------------------------------



Re^16: Ringe (Householder, 16. Okt 1998, 15:21:08):
~#! rn=Lyra rt=908543717 rg=entwicklung
~#! tid=908347934
ich glaube immer waehrend mahatmu/a am metzeln ist hat der 21'te  gute chancen
zu halten und sonst kann er ihn ja ausziehen

-----------------------------------------------------------------------------



Re^16: Ringe (Mahatmu, 16. Okt 1998, 15:21:20):
~#! rn=Lyra rt=908543717 rg=entwicklung
~#! tid=908347934
Hast recht, bin ja auch ein Elf. *schaem*
Aber vielleicht nutzt das Ding meinem grossen unehelichen Bruder.

Mahatmu

-----------------------------------------------------------------------------



amulette... (Hera, 16. Okt 1998, 16:18:23):
Hmmmm...eigentlich muesste man doch auch verschiedene amulette anziehen
koennen...so kohlebrosche, feuer- und steinbeisseramu, kreuz usw...

ich denk dabei z.B. an den einen Typ aus dem A-Team...der hat auch tonnenweise
Zeug um den Hals...;)

achja....*irony on* und *irony off* hab ich vergessen einzufuegen....

Hera

-----------------------------------------------------------------------------



Re^11: Ringe (Silvana, 16. Okt 1998, 21:34:06):
~#! rn=Teddy rt=908488097 rg=entwicklung
~#! tid=908347934
Zugegeben, dieses RL-Mud ist vom kontext ziemlich fuer die Tonne und
nen paar von den NPCs sind voellig daneben. Aber die graphische
und sonstwie sensorische Benutzeroberflaeche ist einsame Spitze. :)

  Silvana ->schmarrn()

-----------------------------------------------------------------------------



Re^12: Ringe (Jiddu, 17. Okt 1998, 03:41:59):
~#! rn=Silvana rt=908566446 rg=entwicklung
~#! tid=908347934
These: RL ist der Bereich zwischen Augen und Bildschirm.
Jiddu->schmarrn()

-----------------------------------------------------------------------------



Re^13: Ringe (Teddy, 17. Okt 1998, 19:51:53):
~#! rn=Jiddu rt=908588519 rg=entwicklung
~#! tid=908347934
RL is, where the Pizzaman came from.

Nich von mir.

Teddy

-----------------------------------------------------------------------------



Re^14: Ringe (Zarniya, 17. Okt 1998, 19:52:32):
~#! rn=Teddy rt=908646713 rg=entwicklung
~#! tid=908347934
Du muddest zu viel in Bonn :)

-----------------------------------------------------------------------------



Re^15: Ringe (Teddy, 17. Okt 1998, 19:53:35):
~#! rn=Zarniya rt=908646752 rg=entwicklung
~#! tid=908347934
Klar, das 2te Mal in meinem Leben, is klar.

Teddy

-----------------------------------------------------------------------------



Re^12: Ringe (Hood, 18. Okt 1998, 18:41:23):
~#! rn=Silvana rt=908566446 rg=entwicklung
~#! tid=908347934
ach was, die special effects sind rl einfach lausig und reichlich oede.

------
patryn

-----------------------------------------------------------------------------



bumis (Boing, 20. Okt 1998, 08:54:37):
Hallo,

demnaechst wird das Werfen von Bumis 3 KP pro Wurf kosten. Die Entscheidung
ist nach wochenlangen zaehen Diskussionen innerhalb des Balance-Teams und
unter Einbeziehung der Argumente von 2 Top-Bierschuettlern getroffen worden.
Wesentlich war der Punkt, dass die Bumis ohne Aufwand zu besorgen sind, sich
praktisch nicht verbrauchen und bei hoher Geschicklichkeit doch ziemlichen
Schaden machen. Ketos wird diese Aenderung demnaechst umsetzen.

  Boing, i.A. des Balanceteams

-----------------------------------------------------------------------------



Re: bumis (Boing, 20. Okt 1998, 09:11:35):
~#! rn=Boing rt=908866477 rg=entwicklung
~#! tid=908866477
Ok, da nicht alle die Abkuerzung KP zu kennen scheinen: Gemeint sind
Konzentrationspunkte (ehemals Magiepunkte).
  Boing

-----------------------------------------------------------------------------



Re: bumis (Key, 20. Okt 1998, 12:49:18):
~#! rn=Boing rt=908866477 rg=entwicklung
~#! tid=908866477
Hmm eine der aeltesten Waffen wird also vorbereitet um sie zu verschrotten
....

Naja habs kommen sehen ...

Key 

-----------------------------------------------------------------------------



Re: Re: bumis (Teddy, 20. Okt 1998, 12:49:40):
~#! rn=Key rt=908880558 rg=entwicklung
~#! tid=908866477
Das hast du jetzt nicht wirklich ernst gemeint, oder?

Teddy

-----------------------------------------------------------------------------



Re^3: bumis (Key, 20. Okt 1998, 12:56:58):
~#! rn=Teddy rt=908880580 rg=entwicklung
~#! tid=908866477
Doch habbich :)
Ne Waffe wird geaendert weil man a) zu leicht drankommt, und b) weil einige
viel Schaden damit machen ....

Ich selbst hab die Teile auch benutzt naemlich dann wenn ich keine MP mehr
hatte, da ich mit dem Schwert doch eh nur verfehle bei den meisten, und dann
kommt son zusaetzliches Kratzen doch ganz nett :)

Hmm warum aendert man nicht einfach a? :)
Oder auch z.B. b, was sehr einfach waere wenn man nen max bei der
geschicklichkeit in den Bumis setzt, von z.b. 20 oder so ...

Fuer mich jedenfalls sind die Bumis jetzt Muell ....
Wenn Bierschuettler damit noch kaempfen sagt das doch einiges ueber die Gilde
aus :)

Key mag diese "Spassgilde" einfach nicht 

-----------------------------------------------------------------------------



Re^4: bumis (Teddy, 20. Okt 1998, 13:06:10):
~#! rn=Key rt=908881018 rg=entwicklung
~#! tid=908866477
OK, auf dem Level kommen wir uns schon bedeutend naeher.
Ich behaupte nicht, das alle gluecklich mit der Loesung sind und vielleicht
waere dein Vorschlag besser, will ich hier nicht diskutieren, aber
letztendlich ging es darum, das ari sich eigentlich immer schon entweder
verbraucht oder MPs kostet, beides traf bei Bumis schonmal nicht zu, dazu
kamen dann Sachen wie, leicht zu erreichen und aehnliches.
Das sie fuer dich jetzt nixmehr taugen kann ich mir gut vorstellen, leider
gibts auch manchmal 'unschuldige' Opfer.


Teddy

-----------------------------------------------------------------------------



konzentration und bumis (Ketos, 20. Okt 1998, 13:11:26):
Also ich hab die 3 MPs eingebaut, aber ich finde es etwas hart fuer normale
Spieler. Drum moechte ich einen alternativ vorschlag machen.
Wer seine volle geschicklichkeit auf den Bumi einsetzen will, dem kostet
es entweder Konzentrationspunkte, oder er kann nix anderes dabei machen.
Also wenn man nix fuer den Bumiwurf opfern moechte oder kann dann sind
sich eben schwach und wenn man nur sich auf die spezialisiert dann kosten
sie eben mehr und bringen "volle leistung".
Die Bumis wurden zu einer Zeit entwickelt als die Geschicklicht nicht ueber 
20 stieg, also sollten eher die HLP dafuer zahlen muessen.

- ketos -

-----------------------------------------------------------------------------



Re^5: bumis (Key, 20. Okt 1998, 13:11:33):
~#! rn=Teddy rt=908881570 rg=entwicklung
~#! tid=908866477
Hmm ja ist ja vom Prinzip her oki ... ausser das ich das Gefuehl hab das nur
wieder Symtome abgeschwaecht werden :)

Und noch was ... ich mag keine Ari. Ich ziehe den Kampf ohne dieses Zeugs vor,
nur Bumis zaehlen fuer mich halt nicht dazu :)

Und dann eins noch was zu bedenken ist ....
Die Bierschuettler um die es ja zum Teil geht werden keine Probs mit Bumis
haben ...
Warum auch? Sie machen weiterhin den Schaden, bezahlen jetzt halt mal 6 MP pro
Runde fuer reichlich Schaden ...
*zuck*

Nur frag ich mich wieso dann ueberhaupt was geaendert wurde ...

Key :)

-----------------------------------------------------------------------------



Re^6: bumis (Koomi, 20. Okt 1998, 13:13:46):
~#! rn=Key rt=908881893 rg=entwicklung
~#! tid=908866477
Key,

muss unbedingt die restlichen 99,999999% von der Spielerschaft deinen
Geschmack in Bezug auf Gilden und Waffen teilen? Ich glaub nicht.


    Halbelf Koomi.
    
-----------------------------------------------------------------------------



Re^6: bumis (Teddy, 20. Okt 1998, 13:15:03):
~#! rn=Key rt=908881893 rg=entwicklung
~#! tid=908866477
Muss ich dir leider Recht geben, kanns nicht aendern, ist halt unser Ergebnis.
Alternativvorschlaege wurden diskutiert und abgelehnt.

Teddy

-----------------------------------------------------------------------------



Re^4: bumis (Morgoth, 20. Okt 1998, 13:17:39):
~#! rn=Key rt=908881018 rg=entwicklung
~#! tid=908866477
Da kann ich Dir mal zustimmen Key. Die Bummis sind effektiv nur von
Bierschuettlern aus bekannten Gruenden zu gebrauchen. Mein Abenteurer muss
wirklich mal gegen einen normalen Gegner gut wuerfeln, damit mal ein Krachen
rauskommt. Normal ist da gekitzelt bis hart.

M*

-----------------------------------------------------------------------------



Re^7: bumis (Key, 20. Okt 1998, 13:19:49):
~#! rn=Koomi rt=908882026 rg=entwicklung
~#! tid=908866477
Wenn Du glaubst das Du 99,9999% bist .... nein 

Key

-----------------------------------------------------------------------------



Re^7: bumis (Morgoth, 20. Okt 1998, 13:20:34):
~#! rn=Teddy rt=908882103 rg=entwicklung
~#! tid=908866477
Alternativen wurden im Balanceteam diskutiert, oder interpretiere ich Deine
Aussage da falsch. Wenn ja, vergiss den Rest, ansonsten ist es schon komisch,
dass bei Euch 3 Kaempfer, 2 Chaoten, 1 Zauberer und 1 Kleriker im Team sind.
Wo bitteschoen nehmt IHR die Erfahrungen mit den Bummis her???
Ihr solltet diese Diskussion vielleicht mal oeffentlich fuehren.

M*

-----------------------------------------------------------------------------



Re^8: bumis (Key, 20. Okt 1998, 13:21:27):
~#! rn=Morgoth rt=908882434 rg=entwicklung
~#! tid=908866477
Hmm oeffentliche Diskussionen bringen nichts ....
Das weiss inzwischen wohl jeder :)

Key

-----------------------------------------------------------------------------



Re^8: bumis (Teddy, 20. Okt 1998, 13:23:29):
~#! rn=Morgoth rt=908882434 rg=entwicklung
~#! tid=908866477
Schade das du mal wieder eine leicht selektive Wahrnehmung hast:
Zum einen hat Boing ausdruecklich geschrieben, das auch Bierschuettler mit
einbezogen wurden und zum anderen gibt es sowas wie 2ties, testies und Gilden,
in denen man vorher mal war.

Teddy

-----------------------------------------------------------------------------



Re^9: bumis (Morgoth, 20. Okt 1998, 13:26:33):
~#! rn=Key rt=908882487 rg=entwicklung
~#! tid=908866477
Und was bei naechtlichen 'Anfassrunden' von einigen elitaeren Spielern
rauskommt, siehst Du hier.

M*

-----------------------------------------------------------------------------



Re^8: bumis (Koomi, 20. Okt 1998, 13:27:31):
~#! rn=Morgoth rt=908882434 rg=entwicklung
~#! tid=908866477
Hmmm und die anderen Gilden sind gar nicht vertreten? Kein Karateka, kein
Bierschuettler, kein Abenteurer? 

Dann wundert mich die Sache mit den Bumis nicht, wo nur die 2
Top-Bierschuettler gefragt wurden und der Rest der Otto-Normal-Bierschuettler
uebergangen wurde. Die haben dann natuerlich einen Aufstand gemacht, weil
diese Waffe fuer sie recht wichtig ist.


    Halbelf Koomi.
    
-----------------------------------------------------------------------------



Re^10: bumis (Teddy, 20. Okt 1998, 13:28:02):
~#! rn=Morgoth rt=908882793 rg=entwicklung
~#! tid=908866477
Die Aussaege haette ich doch gerne etwas praeziser von dir.
Darunter kann ich mir im Moment erstmal nix vorstellen.

Teddy

-----------------------------------------------------------------------------



Re^7: bumis (Key, 20. Okt 1998, 13:35:50):
~#! rn=Koomi rt=908882026 rg=entwicklung
~#! tid=908866477
Da Du es nicht verstehst wiederhole ich es einfach nochmal:
Wenn Du glaubst das Du 99,999999% bist, ...... nein

Key

P.S.: Und lass die Finger weg vom Verlegen nur weil Dir was nicht passt.


-----------------------------------------------------------------------------



Re: bumis (Brandir, 20. Okt 1998, 15:24:19):
~#! rn=Boing rt=908866477 rg=entwicklung
~#! tid=908866477
Ich weiss, es wurden schon Alternativen diskutiert, aber was war denn mit dem
flexiblen KP-Verbrauch fuer die Bumis ?
Wenn man mal damit Stueckchen macht ist es ja ok dafuer zu zahlen, allerdings
hab ich keine Lust 3 KPs zu zahlen, wenn ich mal wieder nur kratze, denn das
kann ich auch mit nem Schwert (ausser vielleicht SMS) machen, und da ist es
umsonst.
Man koennte es ja so einrichten, das man vorher festlegt, wie sehr man sich
aufs Zielen einstellen will, dann verliert man nicht unvorbereitet viele KPs,
wenn man sie noch fuer was anderes braucht.
rkaufe
Versteht mich nicht falsch, ich will bei den Bumis keinen festen Schaden
einstellen koennen, ich kann das ja mit Hilfe von beruhige einigermassen
dosieren, aber andere Gilden koennen das nicht. Man koennte aber z.B.
einstellen: 'Bumerang leicht' und 'Bumerang fuer Erwachsene' ;-)

Brandir - zerstueckelt noch lange nicht 2x pro Runde mit den Bumis

-----------------------------------------------------------------------------



Re: Re: bumis (Alpha, 20. Okt 1998, 15:49:08):
~#! rn=Brandir rt=908889859 rg=entwicklung
~#! tid=908866477
Na toll, nachdem vor einigen Wochen schon Massiere quasi abgehanegt wurde,
werden die Bumis nun auch noch abgehaengt. Was soll das? Bumis sind fuer den
Otto-Normal-Bierschuettler die einzige nette Waffe gewesen. Attackspells hat
die Gilde doch net (Welches Monster ist denn schon auf Hitze anfaellig?) und
unsere Defence ist ist doch auch zum Lachen. Warum wird nicht gleich das
Gildenfile geloescht? Nur Partymonster in die Gegend stellen wird auch
irgendwie oede.
Alpha.

-----------------------------------------------------------------------------



Re^3: bumis (Snibril, 20. Okt 1998, 15:50:51):
~#! rn=Alpha rt=908891348 rg=entwicklung
~#! tid=908866477
>Gildenfile geloescht? Nur Partymonster in die Gegend stellen wird auch
>irgendwie oede.
hehe...wofuer sonst sind Bierschuettler da? :)

Snibril

-----------------------------------------------------------------------------



Re^3: bumis (Ineluki, 20. Okt 1998, 15:51:40):
~#! rn=Alpha rt=908891348 rg=entwicklung
~#! tid=908866477
Eigentlich war die Bierschuettlergilde als Spassgilde geplant .. aber das is
nebensaechlich.
Ich denke dass man es leider so akzeptieren muss wie es ist, also die 3 KP.
Und wenn Boing schreibt, es war ne lange Diskussion .. dann war es das auch ..
und die Mehrheiten waren auch recht knapp ... aber Beschluss......

Ine* oder so

-----------------------------------------------------------------------------



Re^3: bumis (Dieder, 20. Okt 1998, 15:53:32):
~#! rn=Alpha rt=908891348 rg=entwicklung
~#! tid=908866477
seid wann sind die Bumis abgehaengt? Kosten jetzt halt laecherliche MP :-)

Dieder

-----------------------------------------------------------------------------



Re^3: bumis (Key, 20. Okt 1998, 16:47:44):
~#! rn=Alpha rt=908891348 rg=entwicklung
~#! tid=908866477
Also ich bin fuer Deinen Vorschllg die Gildenfiles abzuhaengen :)

Key verkneift sich diesmal weitere Komentare um nicht auf unterster Ebene zu
landen ;)

-----------------------------------------------------------------------------



Re^4: bumis (Mahatmu, 20. Okt 1998, 17:28:38):
~#! rn=Dieder rt=908891612 rg=entwicklung
~#! tid=908866477
Korrekt, kosten ein bpaar laecherliche MP. Und da die Bierschuettler
nach dem veraenderten Massiere davon eh zuviel haben ... :)
Fuer mich ist 'schad drum', denn ein rein kostenloses extra Haare
abrasieren bis Kopf einschlagen fand ich nett ;-) Boese Balance!
Also was ist nun mit der Bumiversion-Light, von Ketos vorgeschlagen?

Gloin

-----------------------------------------------------------------------------



Deine Gilde ist Quatsch! (Arelion, 20. Okt 1998, 18:09:15):
Nachdem ich mich mal wieder durch die langen, zaehen und mit der
Wahrscheinlichkeit 1 unproduktiven Diskussionen geschleppt habe, stellen sich
mir ein paar Fragen ...

Da gibt es Leute, die behaupten, dass irgendwelche Gilden Anfaengergilden
seien, bzw. mal als etwas voellig anderes geplant waren (Nein, ich spreche
weder nur von Schuettlern, noch alleinig von Aussagen der letzten 3 Tage!)
Kann mir jemand sagen, was eine solche Unterscheidung in Anfaenger- und
Fortgeschrittenengilden soll? Hat das irgendeine PRINZIPIELLE Intention?
Was heisst, dass eine Gilde mal anders geplant war? Fakt ist doch wohl, wie
eine Gilde ist! Eine Gilde ist ein Verein, der durch die Leute gepraegt wird,
die ihm angehoeren. Eine Gilde sollte soweit entwicklungsfaehig sein, wie sie
eigenstaendig bleibt. Wenn ich mir ueberlege, wie sich das MG in den letzten
paar Monaten veraendert hat und damit auch einige Gilden teilweise drastisch
angepasst wurden, weil die Mitglieder es so wollten, frage ich mich, warum es
das gleiche Recht nicht auch fuer andere gibt.
Ich frage mich, wie mir Leute in einem Atemzug erklaeren, dass ich in einer
Anfaengergilde bin und ein Extremmudder sei. Ein Anfaenger mit den Kenntnissen
der oberen 20%. Im Fall von Mahatma vielleicht 1%!?
BTW.: Es gibt Hobbits im MG! Sie sind klein und lieben gutes Essen und werden
daher von den Grosslingen offenbar oft verkannt oder uebersehen. Die
Schuettler bieten ihnen einen einmaligen Vorteil. Den Anfaengern zwar nicht,
aber ... egal. Wo geht der fortgeschrittene Hobbit hin? Chaos :), Kaempfer
(auf der Suche nach dem Zweihanddolch!?), ... Eigentlich faellt mir nur Karate
als sinnvolle Gilde ein (Ja, Knurt, zaubern koennen sie auch :)). Etwas
duerftig finde ich!

Wie gesagt, ich moechte gerne wissen, ob und was man sich dazu gedacht hat.
Ich rufe ausdruecklich nicht danach, irgendwen oder -was auf- oder abzuwerten!

Arelion - sachlich.

-----------------------------------------------------------------------------



Re^5: bumis (Mindblade, 20. Okt 1998, 19:15:42):
~#! rn=Mahatmu rt=908897318 rg=entwicklung
~#! tid=908866477
Ich hab den Artikel jetzt einfach mal drangehaengt:
Und jetzt bitte Baldrian nehmen und mal genau ueberlegen.
Die Bumis kosten jetzt sagenhafte 3KP! Beim jetzigen Tanksystem kann ich sogar
schneller idlen als Bumis werfen...also was soll der Kram. Es geht einfach
darum, dass jedwede Ari entweder a) MPs kosten b) sich verbrauchen oder c)
sogar beides. Die Bumis haben nichts dergleichen getan, man kann sie sogar
kaufen. Keiner regt sich darueber auf, dass Wurfsterne etc. sich verbrauchen,
also denkt mal nach...

-----------------------------------------------------------------------------



DANKE! (Anatol, 20. Okt 1998, 20:10:24):

Vielen Dank, Morgoth, fuer Deine sehr konstruktiven Beitraege. 
Ein dickes "Danke!" an all die Spieler, die das Balance-Gremium 
fuer absolut unfaehig und auf mindestens 3 Augen fuer blind halten 
(Bierschuettel-, Karate-, Katzenkriegergilde...). Dankeschoen, 
dass ihr eurem Aerger so laut und ueberdeutlich Luft gemacht habt.

Ich glaube, ihr verwechselt da ein paar Dinge. Was, schaetzt ihr, 
ist denn das Balancegremium? Eine kleine eingeschworene Gruppe 
Spieler, die geschickt ueber Leben und Sterben im Mud bestimmen, 
Macht und Einfluss aufbauen, um eigene Vorteile herauszuschinden? 

Das trifft den Punkt nicht, denke ich. Die Leute, die zum Balance-
Team gehoeren, wurden zwar alle vorher gefragt, aber die wenigsten
sehen die Mitgliedschaft in einem nicht ganz unwichtigen Gremium
mit Entscheidungsgewalt als auszuschoepfendes Machtpotential oder
hoeheres Mittel, um sich eigene Vorteile zu verschaffen, sondern 
nehmen sie als grosse Verantwortung wahr. Entscheidungen des 
Gremiums beeinflussen ueber die (hoffentlich gebremste) Aufruestungs-
Spirale massgeblich die Zukunft der Mud-Welt und muessen ueberlegt 
sein. Man setzt sich langen Diskussionen aus, weil der Kollege eine 
andere Meinung hat, man muss eventuell Resultate mittragen, die man 
selbst eigentlich gar nicht hat haben wollen, aber mehrheitlich 
befuerwortet wurden, man wird gelegentlich gezwungen, sich von 
"Freunden" zu distanzieren, weil man nicht aus dem Naehkaestchen
plaudern moechte...

Im Allgemeinen wuerde man erwarten, dass Leuten in Positionen mit
Verantwortung, die sich nicht leicht traegt, ein wenig Respekt 
entgegengebracht wird. Bitte, das heisst nicht, dass alles, was 
sie tun, per definitonem toll sein muss, aber zwischen kontruktiver
Kritik und dem, was hier in den letzten 24 Stunden lief, ist ja
wohl ein Unterschied von der Groesse Norwegens. Nicht nur, dass 
das Balance-Team immer wieder auf's Neue gewisse Beschimpfungen
wie "Stasi" oder "Eigenbroetlerische Ueberlaeufer", aushalten darf,
sich gegen uneinsichtige geltungsbeduerftige Regionsmagier 
(Unterstellung), welche sich zutiefst ungerecht behandelt fuehlen, 
obwohl sie doch eigentlich Grips im Kopf haben (Unterstellung), 
wehren muss.... Nein, es muss natuerlich auch die Leute geben, die
ihren eigenen Horizont fuer deutlich weiter halten als den eines
aktiv spielenden siebenkoepfigen Gremiums und in der Zeitung ein 
Gejammer und Geschimpfe anfangen, dass einem die Lust am Spielen 
- und dem Gremium die Motivation an der Arbeit - einfach vergeht.

Heult doch.

Aber macht den Leuten, deren einziger Lohn es ist, dass das Mud 
nicht an Ueberduengung kollabiert, sondern eine Weile gegen die
Spirale bestehen kann, ihren Job nicht noch schwerer, als er 
ohnehin schon ist.

Anatol


-----------------------------------------------------------------------------



Re^4: bumis (Jiddu, 20. Okt 1998, 22:21:32):
~#! rn=Key rt=908881018 rg=entwicklung
~#! tid=908866477
Bierschuettler ins Void ... die Gilde nervt mich eh... aber sie ist ja nicht
das einzige was in diesem mud absolut nicht hinpasst...
Jiddu meint nur: Heult doch, Bierschuettler!

-----------------------------------------------------------------------------



Re^3: bumis (Jiddu, 20. Okt 1998, 22:40:30):
~#! rn=Alpha rt=908891348 rg=entwicklung
~#! tid=908866477
Dafuer!

-----------------------------------------------------------------------------



Re: Deine Gilde ist Quatsch! (Knurt, 21. Okt 1998, 02:25:36):
~#! rn=Arelion rt=908906955 rg=entwicklung
~#! tid=908906955
und wie sie zaubern koennen, Arelion :)
Normalerweise sitzen sie aber im Exil und staunen wie sich ihre Welt
veraendert. 
Da wandert wohl der eine oder andere in fremde Lande und testet mal ob er sich
da wohler fuehlt.

-----------------------------------------------------------------------------



Re^5: bumis (Nonne, 21. Okt 1998, 07:44:08):
~#! rn=Mahatmu rt=908897318 rg=entwicklung
~#! tid=908866477
was regen die sich auf? das ist ne spass-gilde, so wie kleriker ne
defensivgilde sind. Ich habe einen Angriffspell, der gegen nicht-empfindliche
sehr hart bis krachen macht, aber der kostet 19 nicht 3, und nur einmal die
runde.

Nonne (kopfschuettelnd)

-----------------------------------------------------------------------------



Re: DANKE! (Nonne, 21. Okt 1998, 08:06:21):
~#! rn=Anatol rt=908914224 rg=entwicklung
~#! tid=908914224
Nochmal was zur Balance:

Ich sehe ein, dass die Arbeit schwierig ist, aber da gibt es ein
grundsaetzliches Problem:
Die Macht von Tools wird an der Gilde gemessen, die sie am wirkungsvollsten
einsetzen kann. Also Waffen an den Kaempfern, defensive Tools an Kleriker,
geschicklichkeitsabhaengige Tools an Bierschuettlern, usw.
Fuer einige Gilden sind diese Sachen aber die einzige Moeglichkeit, die
kampfkraft auf ein Level zu bringen, dass sie mithalten koennen. Siehe SMS
oder VS. Bei diesen Waffen wurde das auch eingesehen und die Sonderfunktionen
fuer Kaempfer gestrichen.
Aber das ist doch eher ein grundsaetzliches Problem und man sollte sich
gedanken machen, wie man das Problem ein fuer alle mal loesen kann.
Was da in der Balance getrieben wird, ist auch nur Symptombekaempfung.

Vielen Danke fuer ihre Aufmerksamkeit.
Nonne.

-----------------------------------------------------------------------------



Re: Re: DANKE! (Lug, 24. Okt 1998, 00:20:37):
~#! rn=Nonne rt=908957181 rg=entwicklung
~#! tid=908914224
Oeh,

sieht die Balance gut aus?
Wenn ja: Fick die Balance ;)

Fies kichernd
Lug

-----------------------------------------------------------------------------



behalte (Rikus, 27. Okt 1998, 14:50:36):
Hi,
ab ende/reboot sind die Parameter alles/nichts beim Befehl BEHALTE
wirksam. Ihre Bedeutung ist wohl eindeutig...

Rikus

-----------------------------------------------------------------------------



Re: behalte (Hood, 27. Okt 1998, 23:21:57):
~#! rn=Rikus rt=909499836 rg=entwicklung
~#! tid=909499836
hoeh...du kannst dem scoreamulett doch nich seine advanced futures
wegklauen :) muss mir wohl dafuer was neues einfallen lassen *grins*

------
patryn

-----------------------------------------------------------------------------



Re: behalte (Mindblade, 27. Okt 1998, 23:24:56):
~#! rn=Rikus rt=909499836 rg=entwicklung
~#! tid=909499836
DANKE!:)) 
SUPERGUT!

-----------------------------------------------------------------------------



put_and_get (Padreic, 28. Okt 1998, 10:46:34):
Es gibt ein neues put_and_get-handling. Dies bedeutet fuer Euch einige
Aenderungen an den standardbefehlen "wirf", "gib", "steck", "lass" und
"nimm". Alle diese Aenderungen stehen Euch ab ende/Reboot zur Verfuegung.

Aenderungen im Detail:
- Bei der Auswahl von Objekten stehen mir Optional die Zusatzangaben
  [in mir], [in raum] bzw. [im raum] zur Verfuegung.
  Bsp.: nimm alles im raum

- ich kann bei allen Befehlen auch direkt Objekte aus Behaeltern auswaehlen.
  Bsp.: gib alles aus paket an padreic

- es gibt nicht mehr nur den Gruppenbezeichner "alles" sondern auch
  "ruestungen", "waffen", sowie "jede", "jedes", "jeden" und "alle"
  Bsp.: stecke alle komponenten in paket
        gib alle waffen an padreic
        nimm jedes schwert aus paket
        wirf jede wurzel weg

- einige Verbesserungen an der Funktionalitaet der Befehle. So kann man z.b.
  Dinge direkt aus einer Leiche im raum in ein paket in mir stecken :)
  bzw. dinge direkt aus einem paket an einen freund weitergeben.


                                                  Padreic

P.S.: Ich wuensche froehliches testen. Sollten wieder erwarten irgendwelche
Fehler auftauchen, bitte ich Euch mir kurz ne mail zu schicken.

-----------------------------------------------------------------------------



Re: put_and_get (Ark, 28. Okt 1998, 12:25:23):
~#! rn=Padreic rt=909571594 rg=entwicklung
~#! tid=909571594
Hoert sich gut an, und wer macht die Doku? :-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: put_and_get (Jameson, 28. Okt 1998, 15:28:37):
~#! rn=Padreic rt=909571594 rg=entwicklung
~#! tid=909571594
Aaaaah super :-) das war allerhoechste Zeit :) hab ich sehr vermisst

jAmeson

-----------------------------------------------------------------------------



Re: put_and_get (Gnome, 28. Okt 1998, 17:56:40):
~#! rn=Padreic rt=909571594 rg=entwicklung
~#! tid=909571594
grats! endlich mal einer, der die basics ein bissel verbessert... :)
supergut!

gnOme

-----------------------------------------------------------------------------



Re: Re: put_and_get (Sharia, 28. Okt 1998, 17:57:35):
~#! rn=Gnome rt=909597400 rg=entwicklung
~#! tid=909571594
garnich gut ... ich moechte wieder irgendwie das letzte Obj was ich genommen
habe in nen behaelter stecken koennen ... also stecke alles in paket wie es
frueher war ... :-) oder nen: stecke alles in paket ausser behaltenem

Sharia

-----------------------------------------------------------------------------



Re^3: put_and_get (Mahatmu, 28. Okt 1998, 17:58:50):
~#! rn=Sharia rt=909597455 rg=entwicklung
~#! tid=909571594
Ich will noch ein:
stecke alles unter 100 Gramm in Paket.
oder
stecke alles was ich doppelt habe in paket
oder
stecke alle joints an und drueck sie Sharia in die Hand

Mahatmu

-----------------------------------------------------------------------------



Re^3: put_and_get (Tarina, 28. Okt 1998, 18:01:10):
~#! rn=Sharia rt=909597455 rg=entwicklung
~#! tid=909571594
ich moechte: stecke das letzte, was im inventar dazukam in behaelter und
            nimm das letzte, was in den behaelter kam wieder heraus aus
behaelter

ernsthaft,
Tarina

-----------------------------------------------------------------------------



Re: put_and_get (Padreic, 28. Okt 1998, 19:15:50):
~#! rn=Padreic rt=909571594 rg=entwicklung
~#! tid=909571594
Wichtig !!!!!

Durch einen kleinen bug (4 falsche buchstaben) konnte man zwischenzeitig
Gegenstaende weggeben die man eigentlich nicht weggeben sollte (wie
Freundschaftsband, Kerbholz usw.) bitte verwendet den Befehl gib nur mit
aeusserster sorgfalt.
Dieses betrifft nur Leute die sich nach Mittwochmorgen um 11:00 zum ersten mal
in dieser uptime eingeloggt haben, oder aber danach noch einmal ende gemacht
haben. In diesem Fall: bitte nochmals ende machen oder mich (wenn ich da sein
sollte) bitten Euch zu helfen.
Es tut mir furchtbar Leid, aber es geht nicht anders.


                                   Padreic

P.S.: und nein, das ganze wurde von mehreren verschiendenen Leuten getestet
und keinem ist dieser Bug vorher aufgefallen!

-----------------------------------------------------------------------------



Re^4: put_and_get (Padreic, 28. Okt 1998, 19:31:34):
~#! rn=Tarina rt=909597670 rg=entwicklung
~#! tid=909571594
Da es jetzt von mehreren Gewuenscht wurde gibt es jetzt auch den
Gruppenbezeichner: "letzten gegenstand". Gemeint ist der letzte Gegenstand den
man genommen hat, oder der letzte gegenstand den man in ein paket gesteckt
hat.
Bsp.: wirf letzten gegenstand weg
      stecke letzten gegenstand in paket


Padreic

-----------------------------------------------------------------------------



Re^5: put_and_get (Sharia, 28. Okt 1998, 23:51:16):
~#! rn=Padreic rt=909603094 rg=entwicklung
~#! tid=909571594
DANKE :-)

Sharia

-----------------------------------------------------------------------------



Re^6: put_and_get (Tunixgut, 29. Okt 1998, 05:27:02):
~#! rn=Sharia rt=909618676 rg=entwicklung
~#! tid=909571594
Wow, gute Arbeit!

lobend - TuNixGut

-----------------------------------------------------------------------------



put_and_get und Muellsack (Morgoth, 29. Okt 1998, 08:31:54):
So, das neue put_and_get scheint ja erstmal ok zu sein. Nun ein erneuter
aufruf an alle, doch die muell-objekte zu entsorgen. da der muellsack ein
normaler container ist, funzen jetzt die befehler auch fuer ihn. also kann man
ruhig mal den krempel wegraeumen, den man angerichtet hat. im moment sind
naemlich gut 170MB speicher belegt. laut cattys prognosen wird es dann
naechste woche einen speicher-voll-reboot geben. also leute....aufraeumen fuer
eine laengere uptime !!!

Morgoth

-----------------------------------------------------------------------------



Re: put_and_get und Muellsack (Key, 29. Okt 1998, 09:13:30):
~#! rn=Morgoth rt=909649914 rg=entwicklung
~#! tid=909649914
Bau ein das man auch wieder was ausm sack rausnehmen kann und er wird evtl
genutzt ...
Seit ich damals nen +4rer reingeschoben hab mag ich den nimmer ;)

Key

-----------------------------------------------------------------------------



Re: put_and_get und Muellsack (Catweazle, 29. Okt 1998, 10:37:07):
~#! rn=Morgoth rt=909649914 rg=entwicklung
~#! tid=909649914
Scheint geholfen zu haben :)

Zumindest hat das Mud Speichermuell zusammengeraeumt und set gestern 12MB
freigeschaufelt. Jetzt braucht er nur noch 138 von den 170 gezogenen MBs.

YTC

-----------------------------------------------------------------------------



Re: Re: put_and_get und Muellsack (Pra, 29. Okt 1998, 10:52:27):
~#! rn=Catweazle rt=909657427 rg=entwicklung
~#! tid=909649914
Catty, Catty,

wieviel ist 170 minus 138? - 12? - das ueben wir aber nochmal... 

Rechnend, Pra.

-----------------------------------------------------------------------------



Re^3: put_and_get und Muellsack (Catweazle, 29. Okt 1998, 11:09:14):
~#! rn=Pra rt=909658347 rg=entwicklung
~#! tid=909649914
Hm, wenn ichs mir genau ueberlege sind 170-138 , hm, 32? Aber hatte gestern
hat das mud nur 150 vom 170 MB gebraucht. Wenn man das subrahiert kommen 20
dabei raus. Preisfrage: wieviel ist 32 - 20. Hm? Na?

YTC

-----------------------------------------------------------------------------



Re: put_and_get und Muellsack (Pra, 29. Okt 1998, 11:12:42):
~#! rn=Morgoth rt=909649914 rg=entwicklung
~#! tid=909649914
o.k., gewonnen. Da kommen ungefaehr 10 MB bei raus. Aber dieses
exakte Ergebnis hast Du nur durch zurueckhalten wertvoller Informationen
erhalten ;-)

Pra.


-----------------------------------------------------------------------------



Re^6: put_and_get (Stopdenbus, 30. Okt 1998, 12:24:22):
~#! rn=Sharia rt=909618676 rg=entwicklung
~#! tid=909571594
ich moechte ein 'nimm alles aus dem paket von xyz und stecke es in mein paket`

Sdb :)

-----------------------------------------------------------------------------



Re^7: put_and_get (Email, 30. Okt 1998, 12:37:40):
~#! rn=Stopdenbus rt=909750262 rg=entwicklung
~#! tid=909571594
Hmm, mal was anderes:

ist die neue put_and_get im Mudlib-Archiv?

/me wuerde sich mal die Realisierung anschauen wollen.

Ciaou,
  Email

-----------------------------------------------------------------------------



Re^7: put_and_get (Deepblue, 30. Okt 1998, 15:25:12):
~#! rn=Stopdenbus rt=909750262 rg=entwicklung
~#! tid=909571594
Dann schon wenigstens als rnimm
-->schmarrn

-----------------------------------------------------------------------------



Re: Deine Gilde ist Quatsch! (Jasper, 30. Okt 1998, 16:03:19):
~#! rn=Arelion rt=908906955 rg=entwicklung
~#! tid=908906955
Es kann nur einen chaos-hobbit geben :P

-----------------------------------------------------------------------------



Re: Re: put_and_get (Padreic, 30. Okt 1998, 17:42:40):
~#! rn=Padreic rt=909602150 rg=entwicklung
~#! tid=909571594
Also nochmal, da es hier einige offenbar nicht begriffen zu haben scheinen:
Wenn ihr (vermeintliche) Bugs im put_and_get findet dann _mailt_ mir, aber
schreibt nicht irgendwelche Artikel in rubriken die ich womoeglich nicht mal
lese.
Wenn ich von nichts weiss, kann ich auch nichts aendern.

             Padreic (ein bisschen genervt)

-----------------------------------------------------------------------------



Re^7: put_and_get (Jiddu, 30. Okt 1998, 17:53:20):
~#! rn=Stopdenbus rt=909750262 rg=entwicklung
~#! tid=909571594
ich will 'nimm schwerter und ruestungen aus paket in raum und stecke schwerzer
in paket 1 in mir und ruestungen in paket 2 in mir und muenzen in mir in
boerse in mir und grins /bloed'! ;)
Jiddu->schmarrn()

-----------------------------------------------------------------------------



drom barriere (Hubba,  3. Nov 1998, 15:50:47):
barriere beim drom find ich klasse
muss mich bei allen entschuldigen bei denen ich gemeckert habe
also wirklich klasse
endlich beleiben die deppen ohne tf draussen
so sollte es sein
mit einem ordentlichen wegescript, schnapp ich denen jetzt jeden ring weg. 
ich fand es eigentlich schon immer aergerlich das so viele da rumstanden und
auf das drom warteten.
jetzt ist es dort huebsch leer, da anfaenger nichtscripter oder
normal-telnetter keine chance mehr haben.
ironie off

-----------------------------------------------------------------------------



Re^3: put_and_get (Padreic,  3. Nov 1998, 17:10:08):
~#! rn=Padreic rt=909769360 rg=entwicklung
~#! tid=909571594
Da in letzter Zeit haeufiger die selben Fragen aufgekommen sind, moecht ich
diese doch gleich mal oeffentlich beantworten (rein profilatisch :).
1. die behaelter wie z.b. eine truhe spricht manchmal nicht sofort an.
 - das problem sollte jetzt geloest sein, funktioniert aber erst nach einem
   ende/reboot. Alternativ kann man solange [im raum] anhaengen das sollte
   immer klappen.
2. es kamen immer wieder mal fragen nach den gruppenbezeichnern bzw. wuensche
nach neuen...
 - also es gibt bisher folgende Gruppen:
   "alles", "waffen", "ruestungen", "verschiedenes" (ziemlich klar :)
   "behaltenes" und "nicht behaltenes" (auch irgendwie intuitiv :)
   "letzten gegenstand"  (z.b. wenn man seine waffe fallen gelassen hat :)
   "jede", "jedes", "jeden", "alle"  hiermit kann man alle Objekte einer
   bestimmten Kategorie auswaehlen z.b. jedes schwert oder jede komponente.


Padreic

-----------------------------------------------------------------------------



Re^4: put_and_get (Hood,  3. Nov 1998, 17:31:03):
~#! rn=Padreic rt=910113008 rg=entwicklung
~#! tid=909571594
ist 'nicht behaltenes' nen extra bezeichner?
ich dachte, du gestaltest es gleich so flexibel, dass es nur
 waffen, ruestungen, verschiedenes, behaltenes, letzten gegenstand, objektId
als bezeichner gibt...alles andere muss halt [alles|alles ausser] abdecken,
womit dann moeglich waer: 'stecke alle waffen ausser behaltenes in paket'
u.s.w. ...voellig flexibel halt. 'ausser behaltenes' as gesamtid ist sinnlos.

------
patryn

-----------------------------------------------------------------------------



Re: drom barriere (Birdy,  3. Nov 1998, 18:29:07):
~#! rn=Hubba rt=910108247 rg=entwicklung
~#! tid=910108247
Ich werde mir mal dann doch endlich tf besorgen. Irgendwann ist sogar meine
Schmerzgrenze erreicht.

-----------------------------------------------------------------------------



Re: Re: drom barriere (Gnome,  3. Nov 1998, 18:55:54):
~#! rn=Birdy rt=910117747 rg=entwicklung
~#! tid=910108247
???

also damit haett ich in 100 jahren nicht gerechnet...
glueckwumsch, birdy. geht doch :)

gnOme

-----------------------------------------------------------------------------



Re^4: put_and_get (Sharia,  3. Nov 1998, 20:09:59):
~#! rn=Padreic rt=910113008 rg=entwicklung
~#! tid=909571594
350 ...aehm nee nichmehr :-)

Sharia

-----------------------------------------------------------------------------



waffenschlaufe oder aehnliches (Jasonrigid, 14. Nov 1998, 12:03:05):

Hallo alle,

ich haette eine Idee, und moechte mal nachfragen, ob die realisierbar ist.
Also proggbar ist sie sicherlich, aber die Frage ist, ob es wuenschenswert und
nicht zu stark ist, so etwas zu machen :

Ich haette mir so etwas vorgestellt wie eine Waffenschlaufe, die, an einer
Waffe befestigt, den unfreiwilligen Verlust dieser Waffe verhindert (wie ein
Fluch etwa).
Es ist klar, dass viele Monster eine Taktik haben, die genau diesen Verlust
ausnutzen will. Aber dagegen kann man sich relativ leicht schuetzen, wenn man
weiss wie. Mir schwebte jetzt eine Waffenschlaufe vor, die vielleicht so
aehnlich zu erreichen sein koennte wie der Waffenguertel, aber eben nicht
gekauft werden kann, das waere wirklich zu einfach. Gegen so etwas wie Waffe
verzaubern (wie der Mulai z.B.) wuerde das natuerlich nicht helfen, wohl aber
gegen die Entwaffnung durch die Zombies im Schacht und die Ungeheuer vom See
des ewigen Regens.
Man koennte auch ueberlegen, ob Waffen extra dafuer vorbereitet werden
muessen, zum Beispiel von einem extra dafuer eingerichteten Schmied, dass sie
vielleicht dadurch an Schaden verlieren.
Auch moeglich ist, dass man bei Angriffen, die einem die Waffe entreissen
solen, ein zwei Runden erst mal mit leeren Haenden kaempft und vielleicht auf
eine Attacke verzichten muss, um die Waffe wieder in den griff zu bekommen.
Es sind sicherlich auch noch andere Auflagen denkbar. Ich haette jetzt gern
mal Eure Meinung dazu, vielleicht auch einen KOmmentar der Balance und am
besten einen Magier, der sich bereit erklaert, das zu proggen.

Bis denn

Jason

-----------------------------------------------------------------------------



Bumerang, Steinpanzer und verlorenes Land (Pra, 16. Nov 1998, 14:52:24):
Das Zusammenspiel obiger Komponenten scheint noch nicth
100%ig zu klappen...:

> Ein Ork ist jetzt hinter Dir her.
Ein Stadtork ist jetzt hinter Dir her.
Orkhausener Stadttor.
Es gibt drei sichtbare Ausgaenge: osten, sueden und norden.
> Der Bumerang fliegt herein.
Ein Ork verstaucht sich bei dem Schlag die Hand.
  Du weichst dem Bumerang geschickt aus.

... aber nett ist der Effekt schon. :-)

Pra.


-----------------------------------------------------------------------------



Re: waffenschlaufe oder aehnliches (Acrimon, 18. Nov 1998, 16:55:10):
~#! rn=Jasonrigid rt=911044985 rg=entwicklung
~#! tid=911044985
Mir faellt dazu noch eine Variante ein:
Mit Schnueren und/oder Klebeband die eigene Hand am Griff der Waffe
befestigen.
Vorteil: Die Waffe kann dem Spieler nicht mehr entrissen werden.
(Der Versuch, diesen Spieler zu entwaffnen, koennte vielleicht seine Waffe
mitsamt seinem Arm herumschleudern und dem Spieler kleine Verletzungen
zufuegen, aber ihm nicht die Waffe entreissen.)
Nachteil: Man braucht sowohl zum Befestigen als auch zum Abloesen Zeit.
Es wird also nicht mehr die Taktik   stecke waffe zurueck; feuerball; zuecke
waffe
funktionieren.

Das funktioniert auch fuer zweihaendige Waffen, allerdings braucht man fuer
zweihaendige Waffen sowohl zum Befestigen als auch zum Loesen der Waffe einen
Anderen zur Hilfe :-)
(d.h., man wird an die Waffe gefesselt.)

Acrimon, der Rote Ritter

-----------------------------------------------------------------------------



Re: Re: waffenschlaufe oder aehnliches (Lillebror, 18. Nov 1998, 17:20:58):
~#! rn=Acrimon rt=911408110 rg=entwicklung
~#! tid=911044985
Super Idee, das mit dem Klebeband. Wenn ein Magier das programmiert moechte
ich dazu aber auch den Befehl 'verschnuere <name>' oder 'stelle <name> ruhig'.
Vielleicht hilft das ja gegen solche Diskussionen hier ...

 Lillebror (-> schmarrn)

-----------------------------------------------------------------------------



Re^3: waffenschlaufe oder aehnliches (Anatol, 18. Nov 1998, 17:46:12):
~#! rn=Lillebror rt=911409658 rg=entwicklung
~#! tid=911044985
Viel besser: Wenn die Waffe an die Hand vertaeut ist und ein kraeftiger
Gegner daran zieht.... naja, wie war das? "regeneriere"... :o)

Anatol, behaelt seine Haende lieber :)


-----------------------------------------------------------------------------



to 39 (Jasonrigid, 18. Nov 1998, 19:08:03):
~#! rn=Acrimon rt=911408110 rg=entwicklung
~#! tid=911044985

Hi alle,

auch wenn das offenbar niemand mitbekommen hatte, hatte ich das Ironie-Flag
vor dem Artikel eigentlich ausgeschaltet *grins*

Also, noch wer mit vernuenftigen replys ???

Zu Acrimon : Es hindert Dich niemand daran, bei zweihaendigen Waffen nicht
BEIDE Haende durch die Schlaufe zu stecken :). 
Wenn Du Deinem Stat von 20 entsprechend das nur mit einer Hand machst ;), dann
wird dir die Waffe zwar aus der Hand geschleudert, aber Du laesst sie nicht
fallen, das U.d.S.d.e.R. setzt sich nicht drauf, der Zombie klaut es Dir nicht
und aknn es nicht selber zuecken.

Aber die Idee, dass manche Gegner dich bei der Waffe packen und rumschleudern
kann man als Nachteil verbuchen, wenn diejenigen gegner dann denn unbedingt
Lust haben, dir mitten in die Klinge eines geschaeften Feuerschwertes zu
greifen.
Das wird dann natuerlich weder fuer Angreifer, noch fuer Verteidiger ohne
Verletzungen abgehen, das ist klar, aber ob mich ein schmerz-empfindendes
Wesen (und als solche kann man sicherlich viele im MG ansehen) an der Schneide
eines Schwertes durch die Gegend schleudert ...

Wie auch immer, ich bitte meinen Beitrag ernsthaft zu betrachten. Wenn die
Idee schlecht ist, haette ich gerne erfahren, wieso.

Jason, um Konstruktivitaet bemueht


-----------------------------------------------------------------------------



Re: to 39 (Ark, 18. Nov 1998, 22:29:24):
~#! rn=Jasonrigid rt=911416083 rg=entwicklung
~#! tid=911044985
Also, mir waere das bei dem Kampfgescrolle eh zu kompliziert. Wenn ich will,
dass ein Gurkenkaempfer seine Waffe verliert, dann programmiere ich das auch
irgendwie so :-)
Man kann das auch noch weiter eskalieren, aber lassen wir es doch ... Du
koenntest naemlich auch Deinen Helm mit einer Hand festhalten, oder mit einer
Schnur festbinden, so dass man den Dir nicht vom Kopf schlagen kann. Wir
muessen noch beruecksichtigen, dass so eine Schlaufe auch reissen kann,
deshalb geben wir ihr, abhaengig vom verwendeten Material eine Chance, genau
das zu tun. Naja, und so weiter, ich finde die Idee nicht so prall, man kann
sich im Kampf auch mal auf weniger Rechnerei beschraenken, oder?
Die Ironie muesst ihr jetzt schon selber rausfinden, fazit: macht nicht immer
alles so kompliziert ('realistisch').


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: Re: waffenschlaufe oder aehnliches (Songoku, 19. Nov 1998, 10:07:42):
~#! rn=Acrimon rt=911408110 rg=entwicklung
~#! tid=911044985
Da faellt mir ein, dass mir die Elstern manchmal die ANGEZOGENEN Klamotten
klauen (nur die aus FW uebrigenz)
Da faellt mir ein, dass mir die Elstern manchmal die ANGEZOGENEN Klamotten
klauen (nur die aus FW uebrigenz)


SonGoku

-----------------------------------------------------------------------------



Re^3: waffenschlaufe oder aehnliches (Bendeigid, 19. Nov 1998, 10:53:34):
~#! rn=Songoku rt=911470062 rg=entwicklung
~#! tid=911044985
Hm, Waffenschlaufe hat was.
Ich moechte, dass das eingefuehrt wird. Wir haben da letzt beim Aikido eine
ganz huebsche Technik gegen Schwert aus Shomen-Uchi (Grade Schlag von oben)
Gelernt.Es geht folgendermassen: Der Angreifer schlaegt grade von oben nach
unten, zweihaendige Waffe). Man macht einen Sugi-ashi (Gleitschritt) nach vorn
neben den Partner. Die eine (dem Partner naehere Hand greift unter das Heft
(ungefaehr zwischen die Haende des Partners) Die andere greift auf die Klinge
(von OBEN! einseitige Klinge, gibt aber sicher nette Alternativen fuer
zweischneidige) und druekct die Klinge weiter nach unten und dannper Hebel auf
den Partner zu. Die Klinge landet (wer haette das gedacht) von unten
schneidend zwischen den Beinen. Und wird dann hoeher gedrueckt. Tja, die
Einzelheiten ab hier sind... unschoen. Empfehlung fuer Angreifer: schleunigst
den Griff loslaseen und sprung rueckwaerts, sonst gibts zwei Angreifer. 
Nun, ich moechte, dass dann keiner mehr loslassen kann. Und ausserdem lernen
meine NPCs Aikido ;)

Z'par Servu,
           Bendeigid

P.S.: An die Befuerworter: Koennte es sein, dass es Absicht ist, das bestimmte
Monster die Waffe entreissen koennen? Oder die Trves staendig die waffen
rumfliegen lassen (manchmal mit Hand dran) ? 

-----------------------------------------------------------------------------



Re^4: waffenschlaufe oder aehnliches (Teddy, 19. Nov 1998, 14:10:38):
~#! rn=Bendeigid rt=911472814 rg=entwicklung
~#! tid=911044985
Tja, die Einzelheiten ab hier sind... unschoen.

Hmpf, erst Appetit machen und dann einfach aufhoeren, gemein.

Teddy ;-)

-----------------------------------------------------------------------------



Re: Re: to 39 (Jiddu, 19. Nov 1998, 18:35:59):
~#! rn=Ark rt=911428164 rg=entwicklung
~#! tid=911044985
Eben! Die magier die solche monster proggen werden sich schon was dabei
gedacht haben - und das wird nicht sein, dass der spieler vor dem kampf
`greife in schlaufe`oder so machen muessen, ich doch quatsch ..
Jiddu - uebrigens Karateka ;)

-----------------------------------------------------------------------------



Re^4: waffenschlaufe oder aehnliches (Jiddu, 19. Nov 1998, 18:38:52):
~#! rn=Bendeigid rt=911472814 rg=entwicklung
~#! tid=911044985
mhhh wuerde das nich zu der kara-gilde passen? *grins voller vorfreude*

-----------------------------------------------------------------------------



Re: Re: waffenschlaufe oder aehnliches (Wurzel, 19. Nov 1998, 20:09:12):
~#! rn=Acrimon rt=911408110 rg=entwicklung
~#! tid=911044985
entwaffnen sollte dann aber weiterhin gehen. dann gehen die haende eben mit
ab. wo ist das problem?

wurzel

-----------------------------------------------------------------------------



fazit waffenschlaufe (Jasonrigid, 20. Nov 1998, 11:04:33):

Na, gut, wenn das so ist, dann geh ich eben weiter die Waffe verfluchen, das
hat den gleichen Effekt, aber weniger Flair ...

Jason, den Kopf schuettelnd, haette es eigentlich besser wissen muessen

-----------------------------------------------------------------------------



Re: Re: waffenschlaufe oder aehnliches (Qitess, 20. Nov 1998, 15:07:47):
~#! rn=Acrimon rt=911408110 rg=entwicklung
~#! tid=911044985
war das ironisch? wenn ja, schade, ich finde die idee mit dem dranfesseln gar
nicht so uebel :)
QI** kurzzeilend

-----------------------------------------------------------------------------



Re^3: waffenschlaufe oder aehnliches (Gnome, 20. Nov 1998, 15:48:08):
~#! rn=Qitess rt=911574467 rg=entwicklung
~#! tid=911044985
hat derjenige, der die komische waffenschlaufe "erfunden" hat (keine
ahnung, wer es war), mal darueber nachgedacht, was es fuer auswirkungen
haben koennte? also nicht nur die positiven (offensichtlichen), sondern
auch die negativen?
im ersten augenblick mag so eine schlaufe ganz hilfreich sein, dann aber
die naechsten ueberlegungen:
1. ist es vielleicht sogar gewollt (wie bende* schon meinte), dass die
kaempfer ab und zu ihre waffe verlieren?

2. was mache ich mit der schlaufe, wenn ich nen waffenwurf machen moechte?

3. wenn die spieler ne schlaufe haben koennen, warum nicht auch npcs?
ich stelle mir das dann sehr schwierig vor, nem gardi sein schwert mittels
waffenbruch aus der hand zu hauen...

4. und schliesslich und endlich wuerde das ding sowieso kaum einer
benutzen, weil unsere techniken aufs schnelle waffewechseln ausgelegt
sind. mach das mal mit ner schlaufe...

vom speziellen zum allgemeinen:
es ist gut und schoen, wenn ich vorschlaege und/oder verbesserungen habt,
nur taete es der mpa und unseren nerven sicherlich ganz gut, wenn jeder,
der so eine idee hat, sich _selber_ erstmal vor- und nachteile ueberlegt,
um schliesslich zum entschluss zu kommen, ob das was fuer die diskussions-
rubrik waere.
"jeder moechte regieren, aber nur die wenigsten koennen denken."

gnOme

-----------------------------------------------------------------------------



waffenschlaufe (Telya, 20. Nov 1998, 20:09:13):
Waffenschlaufe ist eine Superidee, ich will sie an wurfsternen
=> Kriegsjojo

Telya

-----------------------------------------------------------------------------



Waffenschlaufe (Dolph, 23. Nov 1998, 11:22:38):
Was nuetzt die beste Waffenschlaufe wenn der Gegner Waffenbruch kann.
Dann hat man danach nur noch den Griff in der Hand ;-)

Dolph

-----------------------------------------------------------------------------



Re: Waffenschlaufe (Grimmborn, 24. Nov 1998, 16:51:35):
~#! rn=Dolph rt=911820158 rg=entwicklung
~#! tid=911820158

...und wird den Griff nicht so schnell los, dass man eine andere Waffe zuecken
koennte.

GdA

-----------------------------------------------------------------------------



Re^3: waffenschlaufe oder aehnliches (Acrimon, 24. Nov 1998, 22:02:18):
~#! rn=Qitess rt=911574467 rg=entwicklung
~#! tid=911044985
Ich habe die Idee vollkommen ernst gemeint. Nix Ironie.

Acrimon, der Rote Ritter

-----------------------------------------------------------------------------



Anfaengervergraulen (Catweazle,  1. Dez 1998, 13:30:31):
~#! on=Phygos ot=912434097 og=allgemeines
Errinnere mich einen artikel gelesen zu haben, in dem es darum ging, das
anfaenger vergrault werden.
zwar bin ich fuer meine uebrragende ignoranz bekannt, doch auch mir ist das
schon aufgefallen.
nun gehoere ich allerdings zu denen, die sich dann und wann dazu hinreissen
lassen, anfaengern  ( oder auch anderen ) ein wenig unter die arme zu greifen,
bzw. touristenfuehrungen zu veranstallten.
wenn man die leute schon nicht zwingen kann, anfaengern zu helfen, so sollte
man doch ihren ehrgeiz wecken.  fuer alles gibt es toplisten. warum nicht auch
eine fuer Hilfsbereitschaft entwerfen.
mir ist zwar auch noch nicht recht bewusst, wie man das bewerten soll, doch
moeglich wuerde es bestimmt sein.  unsere eifrigen progger finden sonst auch
immer mittel und wege, alles in eine liste zu pressen.
natuerloch wuerde eine  bewertung durch die anfaenger selbst, ( sehr )
warscheinlioch zu einer wegwerfzweitiflut fuehren, einzig erschaffen zu dem
zwecke sich selbst hilfepunkte zu verschaffen. 
aber irgendjemandem hier im Mg wird schon etwas einfallen. vieleicht sowas wie
ein hilfeteam  aehnlich wie das geplante kampfteam. ( 1 HP = Hilfepunkt  fuer
je 5 gefundene FP z,bsp )  ( naja reienr schnellschuss )   ausserdem muss ich
ja zugeben das ich nicht ohne hintergedanken helfe.   die kleinen anfaenger
denen ich heute helfe, koennen mir ( falls es manische muddder sind ) mir
schliesslich spaeter mal helfen, wenn ich selber nicht weiterkomme >:)
dies soll ein reiner denkanstoss werden.
mal sehn was daraus wird.
gruss  phygos

-----------------------------------------------------------------------------



Re: Anfaengervergraulen (Catweazle,  1. Dez 1998, 13:30:55):
~#! on=Key ot=912434421 og=allgemeines
~#! rn=Phygos rt=912434097 rg=allgemeines
~#! tid=912434097
Hmm also ich brauch sowas nicht und ... 1HP=je 5 FP ...
Nenene dann rennen topseher die listengeil sind wie bloede durch die gegend
und rennen mit anfaengern die fp ab.

Ich wuerde es so lassen wie es ist, helfe auch ab und an mal *zuck* Warum auch
nicht?

Besser faende ich es aber wenn Anfaengern erstmal gesagt wird das direkte
fragen an jemanden mehr bringen als rumplaerren auf der ebene :)

Key

-----------------------------------------------------------------------------



anfaengerhilfe (Catweazle,  1. Dez 1998, 13:31:05):
~#! on=Phygos ot=912434466 og=allgemeines
kleiner nachtrag
wie waere es, in der AB-Gilde eine kleine waffenkammer marke Kampfergilde zu
instalieren, aus der sich anfaenger bedienen koennen. Fuer gespendete
Ausruestung ( natuerlich nur erstklassige teile ) gibts irgendwelche noch zu
kreierende punkte.  anfaenger bis stufe ...was...weiss...ich, koennten sich
dann dort ausruesten

-----------------------------------------------------------------------------



Re: anfaengerhilfe (Catweazle,  1. Dez 1998, 13:31:17):
~#! on=Trug ot=912439043 og=allgemeines
~#! rn=Phygos rt=912434466 rg=allgemeines
~#! tid=912434466
Meinen Wissen nach gab es schon mal vor einigen Monaten so einen Vorschlag, in
der Abenteuergilde so einen Kasten mit Anfaengerwaffen zu installieren. 

e, so etwas ist nichts, warum haengen in den Gilden nicht gleich eine
komplette Karte des MUDs, eine Gesamt KL und eine ZT-Liste aus?

Trug, etwas uebertreibend.

-----------------------------------------------------------------------------



Re: anfaengerhilfe (Catweazle,  1. Dez 1998, 13:31:37):
~#! on=Pryde ot=912439300 og=allgemeines
~#! rn=Phygos rt=912434466 rg=allgemeines
~#! tid=912434466
Aehem Duhuuu ? 
Was willst Du eigentlich mit diesen Belohnungen (?) erreichen ?
Ich finde wenn es im MG schon derart weit gekommen ist, das Hilfestellung egal
in welcher Hinsicht, in diesem Falle fuer Anfaengereinfuehrungen, belohnt
werden muss, ist es eh zu spaet.
In meinen Augen werden Anfaenger derzeit nicht weniger gut oder schlecht
behanddelt wie in anderen Zeiten auch.
Ich glaube die meisten helfen, wenn sie persoenlich angesprochen werden. Das
in irgendeiner Topliste aufzulisten find ich absolut unpassend.
Andererseits... eh alles nur ein Spiel - oder ?

Pryde, mudden macht doof

-----------------------------------------------------------------------------



Re: Re: Anfaengervergraulen (Catweazle,  1. Dez 1998, 13:31:49):
~#! on=Menace ot=912439556 og=allgemeines
~#! rn=Key rt=912434421 rg=allgemeines
~#! tid=912434097
Hm, wie waere es denn, wenn den Anfaengern beim allerersten einloggen das 
Anfaengerhandbuch ins Inventar gemoved wuerde und auch gleich die erste Seite
aufgeschlagen wuerde? Ich denke naemlich viele Anfaenger lesen das garnicht.
(Zweities koennen es ja gleich wieder wegwerfen)

Menace versucht auch mal konstruktiv zu sein

-----------------------------------------------------------------------------



Re: anfaengerhilfe (Catweazle,  1. Dez 1998, 13:32:04):
~#! on=Muadib ot=912439677 og=allgemeines
~#! rn=Phygos rt=912434466 rg=allgemeines
~#! tid=912434466
hi,

mus es denn fuer alles punkte und toplisten geben ?
ich helfe weil ich nett bin, oder halt eben aus irgendeinem grund
weniger nett bin

senfend

muadib

-----------------------------------------------------------------------------



anfaengerhilfe (Catweazle,  1. Dez 1998, 13:32:26):
~#! on=Phygos ot=912445388 og=allgemeines
mmmpffff  natuerlich ging das mal wieder in die hose
mein artikel bezog sich darauf, das sich anfaenger ( nicht nur ein oder zwei )
hier zu beginn ziemlich veralbert fanden. bzw ziemlich dumm in der landschaft
standen. da nuetze ihnen auch das handbuch wenig.
desweiteren will ich auch nicht unbedingt eine neue topliste.  waere mir neu
das ich toplistengeil waere, sofern ich ueberhaupt in einer stehe. steh ich?
egal. jedenfalls fliegen hier einige so weit ueber dem boden, das sie nichts
mehr mitbekommen.  naja verstaendlich wenn die einzige sorge ist ob man alle
parawelt drachen nun zum 20. oder 21. male gekillt hat.  ich jedenfalls helfe
newbies weiterhin liste hin oder her. waere ja nur eine freundliche geste an
anfaenger gewesen.   glaubts oder nicht  letztens hatte ich jemanden  der noch
nie   NIE  gemuddet hatte  dem habe ich erstmal eine geschlagene stunde
erzaehlt was hier so ablaeuft  und was fuer moeglichkeiten das MG bietet.
Phygos

-----------------------------------------------------------------------------



Re: anfaengerhilfe (Catweazle,  1. Dez 1998, 13:32:39):
~#! on=Anacrion ot=912446395 og=allgemeines
~#! rn=Phygos rt=912445388 rg=allgemeines
~#! tid=912445388
Na ja.
Also ich denke, dass fast niemand im MUD ein nettes Hilfegesuch zurueckweisen
wird, wenn er nicht schon laengere Zeit an was groesserem dran ist.
Ich fuer meinen Fall helfe gerne so gut ich kann und solange derjenige nicht
vorgekaute QuasiKLs will oder nur am Nerven ist.
Das kann man, glaube ich, auf den Grossteil der Spieler hier uebertragen.

Anac* - hilft gerne


-----------------------------------------------------------------------------



Re: Anfaengervergraulen (Catweazle,  1. Dez 1998, 13:33:57):
~#! on=Bendeigid ot=912511764 og=allgemeines
~#! rn=Phygos rt=912434097 rg=allgemeines
~#! tid=912434097
Ich denke, prinzipiell koennte mehr fuer Anfaenger getan werden, ja.
ABER: Toplisten (abgesehen von der Schwierigkeit der Bewertung her) sind
meiner Meinung nach der falsche Weg. Nun hab ich keine Ahnung, wie der
"richtige" Weg aussieht, aber ein paar Vorschlaege kann man ja mal machen
(ergaenzenderweis).
Die Idee mit der Waffen/Ausruestungskammer ist gar nicht so schlecht.
Natuerlich gaebe es sicher Leute, die da was rausnehmen und verkaufen wollten,
aber dem ist mit einem simplen Abwertungsprozess (Stempel "unverkaeuflich"
drauf) sicher leicht abzuhelfen. Ich denke mal, viele Leutchen haetten Spass
dran, so eine Kammer aufzufuellen, und wenn nur Mittelklassesachen da
reinduerfen, dann besteht auch keine Gefahr der Megaausruestung von
Anfaengern. Es koennte allerdings das Massensterben im Goblinlager ein wenig
eindaemmen helfen.
Als weiteren Vorschlag denke ich, dass die vor Urzeiten vorgeschlagenen Ideen,
dass Spieler beim erstmaligen Login eine ZWANGSsitzung in einem extra Raum
absolvieren muessten, wo ihnen (aehnlich menuegesteuert wie die
Charaktererschaffung) kurz die wichtigsten Dinge erklaert werden. Zum
Beispiel, dass man versuchen kann, Dinge zu untersuchen (unt ding) oder
allgemein Befehle im Imperativ eintimmt (sag, untersuche, lies , nimm buch..)
Kann ja in zwei Minuten abgehandelt sein, und mit "raus" fuer Zweities zu
ueberspringen sein. 
Tja, der dritte Vorschlag wendet sich dann an die hilfsbereiten Spieler. Es
waere durchaus moeglich, wenn ihr Buecher aehnlich des Anfaengerhandbuchs
schreiben wuerdet, die in einer Bibliothek hinter der Gilde eingelagert werden
koennten. Die koennten zum Beispiel aehnlicher der FAQ bstimmte Themen kurz
anreissen (Kaempfen im MG, Wie ich eine Quest anfangen kann, Grobe
Landschaftsuebersicht, wichtige Staedte im MG, Kommunikation im MG...) etc. Da
wird sich sicher ein hoffnungsvoller jungmagier finden, der eine
stimmungsvolle Bib schreibt. :) Notaflls mach ich das auch. WENN ich gute
Texte kriege. das ist hiermit also der Aufruf an Euch, mir sowas zu schicken.
Komplettloesungen will ich keine (logisch) und auch keine Wegescripte etc.

Und dann gabs ja immer noch die Idee mit einer absoluten
Anfaenger-einfuehrungsquest. So eine, die die Leute Schritt fuer Schrit an die
wichtigsten Befehle heranfuehrt und den ersten Kampf machen laesst, tanken
erklaert etc... Mach ich aber nicht, keine Zeit....

Das wars dann auch (schon?) von mir,

z'par Servu,
            Bendeigid

-----------------------------------------------------------------------------



Re: Re: Anfaengervergraulen (Catweazle,  1. Dez 1998, 13:34:13):
~#! on=Songoku ot=912511960 og=allgemeines
~#! rn=Bendeigid rt=912511764 rg=allgemeines
~#! tid=912434097
zur bibliothek:
jeder Spieler sollte die Moeglichkeit haben, ein buch zu schreiben und dort
reinzustellen.
(mann muesste dann zwar ab und zu etwas ausmisten aber ich glaube es wuerde
sich lohnen)
diese Spielrebuecher sollten aber speziell als inoffiziell gekennzeichnet
werden
Sayonara!

-----------------------------------------------------------------------------



Re: Re: Anfaengervergraulen (Catweazle,  1. Dez 1998, 13:34:21):
~#! on=Tunixgut ot=912512088 og=allgemeines
~#! rn=Bendeigid rt=912511764 rg=allgemeines
~#! tid=912434097
Also die Idee mit der Zwangs-Einfuehrung: Zwang muss ja nicht sein, aber die
Moeglichkeit einer Einfuehrung faende ich toll! Kann man sich ja bei VIELEN
anderen Muds abguggen!

's Karate-Zwerchle

-----------------------------------------------------------------------------



Re^3: Anfaengervergraulen (Catweazle,  1. Dez 1998, 13:34:35):
~#! on=Songoku ot=912512503 og=allgemeines
~#! rn=Tunixgut rt=912512088 rg=allgemeines
~#! tid=912434097
Z.B. die Startquest von unitopia (auch wenn die meisten Anfaenger sie nicht
finden ;)

-----------------------------------------------------------------------------



Re^3: anfaengerhilfe (Catweazle,  1. Dez 1998, 13:34:45):
~#! on=Koomi ot=912515686 og=allgemeines
~#! rn=Songoku rt=912509009 rg=allgemeines
~#! tid=912434466
Songoku, 

vielleicht war das _ironisch_ gemeint? Trug hat ja wohl extra noch angegeben,
dass sie da uebertreibt.

Koomi^h^h^h^hJemand (ueberlegt, ob er 'ut' eingeben soll)

-----------------------------------------------------------------------------



anfaengerhilfe (Catweazle,  1. Dez 1998, 13:34:54):
~#! on=Phygos ot=912516067 og=allgemeines
erstmal THX an Big Ben.
Desweiteren.  Also zu einer Waffen/Ruestungs/ oder Ausruestkaemmer fuer
Anfaenger.
1) in einigen anderen Muds gibt es sowas.  Ich halte abgucken in anderen
Spielen nicht fuer ein verachtenswertes Sakrileg sondern fuer vernuenftig.
Macht die Menschheit seit Anfang an. Ansonsten wuerden wir imemr noch neidisch
zum Feuer in Nachbarshoehle hinueberstarren.
2) verhindern das sich jemand unrechtmaessig daraus, mittels wegwerfzweitis
bedient. Nur ertsties sollten etwas daraus nehmen koenne. die gegenstaende
sollten mit dem namen des ersties markiert werden ( siehe Toeters Stirnreif) 
( vieleicht auch mit der gleichen Konsequenz, wenn jemand anderes sie
benutzt!! )
3) topliste---> war an sich ironisch gemeint. ich zielte nur auf den (
unbestreitbar vorhandenen ) ehrgeiz mancher spieler hier im Mg ab.  ---> gibt
es eine liste ( egal was) muessen da welche unbedingt rein. koste es was es
wolle.  naja dachte wenn dom so ist, warum dies nicht mal in eine nuetzliche
bahn lenken ;)
4.) ich habe selbst keine ahnung wie man solche ein verhalten ( freundlichkeit
gegenueber neuspielern) bewerten sollte. mir kommt da nur das Team ( geplant /
verworfen / wieder geplant/ viel diskutiert/ und vieleicht irgendwann mal
aktiv ) in den sinn. Die grundprogrammmierung fuer ein kampfteam duerfte die
selbe sein wie fuer ein hilfetaem. so etwas aehnliches gibt es ja auch bei den
kaempfern. da nennt es sich ausbildung ! :)   wenn der zustaendige fuer
kaempfer so nett waere diese programmfiles auch fuer diese art minitaem
freizugeben. warum sollte das nicht funktionieren. koennte man sogar eine
quest daraus machen. zeige dem anfaenger XXX im MG. Sicherlich koennten sich
neueinloggende spieler vor hilfswuetigen kaum retten.
5) hallo Boing: vorschlag---> einmal pro woche---> zwinge ALLE spieler Alle
Magier zu   laechel!!! ( minimum 5 minuten )   hier wird alles so bierernst
genommen, man koennte glauben auf dem jahreskonvent der moraltheologen zu sein
;)
mit grinsendem gruss
phygos

-----------------------------------------------------------------------------



Re: Re: Anfaengervergraulen (Catweazle,  1. Dez 1998, 13:35:02):
~#! on=Key ot=912516104 og=allgemeines
~#! rn=Bendeigid rt=912511764 rg=allgemeines
~#! tid=912434097
Also zu dem 2. Vorschlag von Dir ...
Ich finde in dem Fall einen NPC besser der neue Spieler begruesst und sie
fragt ob sie ne Erklaerung haben wollen ...
Der kann die dann ja in so eine Sequenz schicken :)
Zumindest sollte man sie mehrmals durchlaufen koennen, denn mal ganz ehrlich,
ich hab am Anfang die synthaxen fuer die einfachsten Dinge sehr schnell wieder
vergessen :)
Wenn gleich ne Seuqenz kommt laesst man sie vielleicht auch einfach ueber sich
ergehen, weil man selbst schauen will wie was funzt ... :)

Hmm gegen Buecher bin ich gleich ... 
Zum einen scrollt es oefter, und das beeinflusst das Lesen, zum anderen ist es
zu trocken :)

Key

-----------------------------------------------------------------------------



Re^3: Anfaengervergraulen (Catweazle,  1. Dez 1998, 13:35:32):
~#! on=Key ot=912516234 og=allgemeines
~#! rn=Songoku rt=912511960 rg=allgemeines
~#! tid=912434097
Nein .... absolut dagegen.
Wenn jeder Spieler hier was schreibt ist es erstens ultimatives Chaos, und
zweitiens viel zu viel. Da schaut man einmal nach, sieht die Anzahl und laesst
es links liegen.

Ausserdem wird der Muell den einige verzapfen (vielleicht auch weil sie es net
besser wissen) nicht schnell genug rausfliegen koennen und dadurch einige
vielleicht total verwirren ,)

Key

-----------------------------------------------------------------------------



Anfaengerhilfe (Catweazle,  1. Dez 1998, 13:35:44):
~#! on=Damien ot=912517458 og=allgemeines
Also, zum Thema Hilfe fuer Anfaenger, das sollte eigentlich auch in die
umstrittene, geplante, entworfene und wohl nie entstehende Forschergilde als
Aufstiegsbedingung fuer die HL-Guildmembers. Naja...
Aber wenn ich mir >>manche<< Anfaenger angucke... Also, als unsere Erlanger
Klique damals loslegte, mit Nachtwind und Hermione, da wurden wir ziemlich
schnell freundlich aufgenommen und unterstuetzt. Wieso? Weil wir erstmal
versucht haben, selber was rauszufinden und dann mit einzelnen gesprochen
haben. ich habe einmal gerufen, und eins auf die Schnautze gekriegt, die
Ebenen habe ich das erste mal auf Level 4 benutzt...
Deshalb haben wir uns auch immer bemueht, unsererseits anderen zu helfen, und
auch wenn manche anderes ueber mich berichten wuerden, so gibt es hier
genausoviele, die von mir eine ausgibige Starthilfe erhalten haben.
Aber manche Anfaenger prollen hier rein, sabbeln die Ebenen zu sobald ihre MP
alle sind, gehen allen auf den sack und wenn man ihnen dann 'nen Daempfer
gibt, fangen sie an zu greinen. Und wenn sie dann mal level 5 erreicht haben,
meinen sie, sie waeren"s und muellen die MPA zu.
Also, die Anfaenger, die das Lesen. Benehmt Euch mal angemessen, und glaubt
nicht, ihr muesstet irgendwelchen Sehern und Magiern erklaeren, wie das hier
zu laufen hat.
Ausserdem, nachdem ich einmal versucht habe, ein bisschen politik zu machen,
bin ich zu einem Schluss gekommen: Demokratie ist das beschissenste system das
es gibt, und gott sei dank gibts das hier nicht. Wieso? Weil es immer
mindestens doppelt so viele leute gibt, die keinen plan haben wie leute, die
entscheidungskompetenz haben. wir haben hier gott sei dank ein paar (wenige)
faehige leute an der spitze und damit kann man eigentlich zufreiden sein. wenn
hier einer wirklich demokratie will, die mpa zeigt doch immer wieder aufs
beste, was bei sowas rauskommen wuerde...
Ist ja schon schlimm genug, das wurstmagier wie ich einen Einfluss darauf
nehmen koennen, was hier passiert. :)
Damien

-----------------------------------------------------------------------------



Re: Re: Anfaengervergraulen (Jasonrigid,  1. Dez 1998, 15:48:20):
~#! rn=Catweazle rt=912519237 rg=entwicklung
~#! tid=912434097

Hi Leute,

ich finde die Idee mit den Buechern gut, wenn man es auch IMHO nicht so machen
sollte, dass da einfach leute ihre buecher reinstellen koennen. da sollte sich
dann schon ein magier finden, der die texte rezensiert, oder vielleicht auch
mehrere, um zu vermeiden, dass ein spieler, den ein magier nicht leiden kann,
gute texte schreibt und die dann wegen dieser antipathie nicht genommen
werden.

wenn sowas tatsaechlich mal kommt, erklaere ich mich auch bereit, texte zu ein
paar themen zu verfassen, zu den grundlagen des kampfes zum beispiel, das
traue ich mir grad noch zu, obwohl es sicherlich einige leute geben wird, die
mir diese kompetenz absprechen wuerden *grins*.

wie gesagt, gute idee, wenn sie nur genug anklang findet.


Jason ist dafuer

-----------------------------------------------------------------------------



19 (Puk,  1. Dez 1998, 16:32:51):
also meiner meinung nach waere die ganze Diskussion sinnlos wenn man nicht
alle die auch mal ne dumme frage stellen
(hab ich selber oft genug gemacht *schmunzel* ), wie das gerade Anfaenger
gerne tun, durch direkt beleidigende Kommentare die 
einge Leute hier loslassen abschrecken wuerde.die leute die nicht helfen
wollen weil sie kein Interesse haben jemanden 
zu helfen werden es auch in Zukunft lassen.
Das ist voellig normal aber dann koennten diejenigen sich auch ihre Kommentare
sparen .
Ich kann mich noch zugenau an meine eigene Anfangszeit hier erinnern und ich
bin den Leuten die geholfen haben sehr dankbar und versuche auch ein stueck
weiterzugeben.
Das mit der Waffenkammer finde ich ne nette Idee, bin aber der meinung (weiss
nicht ob ich es jetzt falsch verstanden habe ) 
das man da nicht gleich unique Items reinlegen muss.Was braucht den ein
Anfaenger wenn er hier rumlaeuft ?
In der hinsicht kann man die hheren Spieler doch schon davon abhalten diese
Kammer zu pluendern.
In der hinsicht kann man die hheren Spieler doch schon davon abhalten diese
Kammer zu pluendern.
(upps, muss noch ueben in die MPA zu schreiben *g*)


-----------------------------------------------------------------------------



Re^4: anfaengerhilfe (Neb,  1. Dez 1998, 17:29:53):
~#! rn=Catweazle rt=912519285 rg=entwicklung
~#! tid=912434466
Neb fragt sich, woher Koomi wohl so genau weiss, was Trug sich so denkt -
heute schon schizophren gewesen ? ;)

-----------------------------------------------------------------------------



Re^5: anfaengerhilfe (Gnome,  1. Dez 1998, 21:05:06):
~#! rn=Neb rt=912533393 rg=entwicklung
~#! tid=912434466
hi,

hm, das mit der truhe in jedem startraum waere eine nette idee.
da muessen natuerlich einige begrenzungen her: 2ties duerfen nix nehmen,
genauso spieler mit lvl>10. uniques duerfen sowieso nicht reingelegt
werden, ausserdem nur sachen, die einen wert von 1000 muenzen (grade
erdachter wert, kann man aendern) nicht uebersteigen.

zur direkten anfaengerhilfe: wie waers mit einem npc in jedem startraum,
der echte newbies zu den anfaengergebieten fuehrt?
also z.b.: frage xxx nach hochebene
xxx sagt: Du moechtest zur Hochebene? Folge mir bitte. syntax: folge <xxx>
> folge xxx
dann gehts in recht flottem tempo zur HE.
wenn der spieler dann wieder zurueckmoechte:
> teile xxx mit weg
xxx teilt Dir mit: Du moechtest wieder zurueck? Moment bitte, ich komme
xxx teilt Dir mit: gleich.

mit lvl>5 geht das dann natuerlich nicht mehr.
alternativ gehts vielleicht auch zur neuen anfaengergegend in polar von
tilly.

gnOme

-----------------------------------------------------------------------------



Re^6: anfaengerhilfe (Anatol,  1. Dez 1998, 21:06:30):
~#! rn=Gnome rt=912546306 rg=entwicklung
~#! tid=912434466
Die Idee ist nicht wirklich neu, sondern eine der gelungendsten Dinge
im Anderland... und wenn ich das sage, heisst das was ;o).

Anatol :)


-----------------------------------------------------------------------------



Re^4: anfaengerhilfe (Songoku,  2. Dez 1998, 10:11:05):
~#! rn=Catweazle rt=912519285 rg=entwicklung
~#! tid=912434466
das war ironisch gemeinzt???
das habe ich ja ueberhauptnicht gemaerkt.
sayonara!


-----------------------------------------------------------------------------



Re: Re: Anfaengervergraulen (Ronda,  3. Dez 1998, 21:01:35):
~#! rn=Catweazle rt=912519055 rg=entwicklung
~#! tid=912434097
Key? Das direkte Fragen an Jemanden soll schon mal geholfen haben? Wenn immer
Jemand neben mir stand, war der meist nicht hilfsbereit, sondern eher
schadenfroh ;)

-> Schmarrn ;)

Ronda

-----------------------------------------------------------------------------



Re^3: Anfaengervergraulen (Lug,  5. Dez 1998, 03:40:36):
~#! rn=Ronda rt=912718895 rg=entwicklung
~#! tid=912434097
Hm,

Anfaengervergraulen? Klingt nach einer wirklich guten Idee. Ich keummer mich
gleich mal drum...

Bin beschaeftigt
Lug

-----------------------------------------------------------------------------



Feuerball ist immer noch gefaehrlich (Tarina, 28. Dez 1998, 02:42:14):

Nachdem mich Geordi gerade (unbeabsichtigt) fast umgebracht hat:

Der Bug mit den Feuerbaellen ist nicht ganz behoben. Ich wurde von Geordis
Feuerball
ebenfalls getroffen und habe dann automatisch den Gegenangriff gestartet. Bei
etwas Scroll
(mehr Scroll) haette das voll ins Auge gehen koennen. Vielleicht momentan
erstmal keinen
Feuerball verwenden... oder Zauberer meiden (grins).

Dies nur in die MPA um die Leute zu warnen :-)
Gruss,
Tarina

-----------------------------------------------------------------------------



Re: Feuerball ist immer noch gefaehrlich (Rochus, 29. Dez 1998, 16:18:06):
~#! rn=Tarina rt=914812934 rg=entwicklung
~#! tid=914812934
Der Bug mit den Feuerbaellen sollte jetzt behoben sein. Sorry :)

-----------------------------------------------------------------------------



Teamkampf Anpassungen (Rochus,  4. Jan 1999, 16:40:11):
Gegenwaertig werden die Gilden an den Teamkampf angepasst.
Da in einer aelteren Fassung ein Fehler war, kann es daher
zu Fehlern kommen, wenn ein Wesen zum mitkaempfen herbeibeschwoert
werden soll. In diesem Fall sollte man das Mud einmal kurz mit
"ende" verlassen (oder einen Magier um renew bitten :-)
Wenn alle Gilden fertig angepasst sind - das betrifft hauptsaechlich
herbeibeschworene Monster und SPrueche fuer den Nahkampf wie z.b.
Krallenschlag oder Kampftritt - kann der Teamkampf in Kuerze
eingefuehrt werden. Bisher sind beim Testen jedenfalls weniger
Fehler aufgetreten als erwartet ;-)

  Rochus

-----------------------------------------------------------------------------



Rein-Raus (Key, 26. Jan 1999, 17:22:45):
Hallo,

eine SEHR wichtige Bitte fuer an alle Magier die NPC`s haben die ne Vorsicht
haben ....
Baut das aus.
Es ist absolut net witzig mit nem Karateka 10 min. hinter nem Vieh herzurennen
und das nur zu verfehlen weils sofort weiter fluechtet, und man staendig
hinterher muss.
Das ist nicht nervig, sondern einfach nur Scheisse.

Spontan fallen mir dazu Elholdriel und der Betrachter ein ....
Mit Elhol hab ich im mom sehr arge Schwierigkeiten .... Kannste bitte mal
schauen Gundur? ;)

Key

-----------------------------------------------------------------------------



Re: Rein-Raus (Yendi, 26. Jan 1999, 17:25:49):
~#! rn=Key rt=917371365 rg=entwicklung
~#! tid=917371365
Wieso solte man das ausbauen?

Goenn den NPCs doch auch ein bisschen Ueberlebensinstinkt!

YTY


-----------------------------------------------------------------------------



Re: Re: Rein-Raus (Alpha, 26. Jan 1999, 21:39:32):
~#! rn=Yendi rt=917371549 rg=entwicklung
~#! tid=917371365
Kleriker haben da auch so ihre Schwierigkeiten...der erste Keulenschlag
verfehlt immer:( Kann man es vielleicht so bauen, das nur magische Angriffe
von der Neuregelung betroffen sind? Mit ner Keule in der Hand macht man sicher
eh kein Rein/Raus, oder?
Alpha.

-----------------------------------------------------------------------------



Re^3: Rein-Raus (Smeagol, 26. Jan 1999, 21:41:30):
~#! rn=Alpha rt=917386772 rg=entwicklung
~#! tid=917371365
hmmm manchmal doch :-)

-----------------------------------------------------------------------------



Re^4: Rein-Raus (Anatol, 27. Jan 1999, 10:05:28):
~#! rn=Smeagol rt=917386890 rg=entwicklung
~#! tid=917371365
Ich sehe es eher als generelles Problem und glaube, dass man Verfolgte
nicht durch die 1/4-Regelung schonen sollte - Full power ;o)

Anatol


-----------------------------------------------------------------------------



Re: Rein-Raus (Zardoz, 27. Jan 1999, 17:46:56):
~#! rn=Key rt=917371365 rg=entwicklung
~#! tid=917371365
Fuer Elholdriel bin wieder ich zustaendig. Und ich find es sogar gut so, dass
es jetzt schwieriger ist. Es ist doch ganz einfach: Mit sovielen Leuten hin,
dass man ihm in einer Runde soviele LPs abzieht, dass die Vorsicht nicht mehr
anschlaegt.

Ciao Zardoz

-----------------------------------------------------------------------------



Re: Re: Rein-Raus (Key, 27. Jan 1999, 17:47:44):
~#! rn=Zardoz rt=917459216 rg=entwicklung
~#! tid=917371365
Hmmm ja oki :)

Key

P.S.: Cool das Du es wieder machst ;)

-----------------------------------------------------------------------------



Re: Re: Rein-Raus (Teddy, 27. Jan 1999, 17:48:02):
~#! rn=Zardoz rt=917459216 rg=entwicklung
~#! tid=917371365
Hm, irgendwie haben wir den zu zweit ohne rein raus gemacht, ging relativ gut
und DD sollte man eh immer zu zweit machen.

Teddy

-----------------------------------------------------------------------------



Hail Teamkampf ! (Soyo, 28. Jan 1999, 20:12:59):

Euer Teamkampf funktioniert ja absolut superuebel ! Folgende Situation:
Frerin hat in der Gilde nach seiner Erhoehung seine neuen Skills gelernt...
ich brachte ihm eine Schlangenhaut und bei uns Trves ist das nun mal so das
man, 
beim lernen eines Skills, auch angreifen muss !
Nun gut, ich stand neben Ihm, gab ihm die Haut und er griff an.
Folge: Das ganze Struv war hinter mir her und hat mir dann auch den Weg zu
Lars gezeigt *argl*
Toll nicht wahr ?

MfG Soyo

-----------------------------------------------------------------------------



Re: Hail Teamkampf ! (Mindblade, 28. Jan 1999, 21:07:44):
~#! rn=Soyo rt=917554379 rg=entwicklung
~#! tid=917554379
Dann geh nicht mit einem absoluten Volltrottel ins Team, dann haste solche
Probleme nicht!;)

-----------------------------------------------------------------------------



Re: Rein-Raus (Belgariad, 28. Jan 1999, 23:26:13):
~#! rn=Key rt=917371365 rg=entwicklung
~#! tid=917371365
Naja Key zum Betrachter kann ich wenig sagen, aber ich denke das man das bei
Elholdriel nicht einfach ausbauen sollte sondern den Punkt bis er fluechtet
einfach herunterzusetzen. Wenn man es ganz ausbauen wuerde, waere die
Gildenquest 'Toete den Verraeter' ihre vielen Punkte nicht mehr wert.

Belga Rentnergeneral.

-----------------------------------------------------------------------------



Re: Hail Teamkampf ! (Muadib, 29. Jan 1999, 09:11:49):
~#! rn=Soyo rt=917554379 rg=entwicklung
~#! tid=917554379
hi,

naja hat ein mitglied einen feind, hat auch der rest des teams einen feind.
das ist recht intuitiv und unangenehme folgen wie dein tod lassen sich durch
etwas kluegeres verhalten problemlos vermeiden
du sagst ja auch nicht dass ein lamborghini diablo nix taugt, bloss weil er
dich bei einem naechtlichen spaziergang auf der autobahn umgefahren hat

muadib
*wieso schreib ich hier eigentlich*

-----------------------------------------------------------------------------



logout (Catweazle, 29. Jan 1999, 12:15:51):
Moin!

Ich denke, die Erkenntnis, die man aus der polizei.beschwerden-Rubrik gewinnen
kann ist, das es keine wirkliche Kontrolle oder Kontrollmoeglichkeit gibt, ob
und wie ein Spieler scriptet. Das war schon immer so und wird sich
wahrscheinlich auch nie aendern lassen. 
Alleine die Fragen nach, wie genau man denn ANsprechbar sein muss, oder wann
genau man was nicht darf und das Verlangen nach exakten Festsetzungen in den
Scriptregeln, sollte dies zeigen. 
Es wird immer jemanden geben, der, wie Afmodif, die Grenzen der Regeln
austesten wollen wird, die tatsache, das kaempfend idlen verboten in den
Regeln halt nicht findet, bzw. sie explizit verleugnet.

Die Konsequenz die daraus gezogen werden sollte ist, das Spieler, wenn die zu
lange idlen (sagen wir 3 Resets lang, das waeren 60-180 Minuten) 
automatisch disconnected werden. 'disconnect' hiesse in Spielerfall 
'schlafe ein'. Ich kann dabei keinen Haken erkennen, dem Spieler wuerde 
kein Nachteil entstehen (schliesslich ist er idle).

Vielleicht ist ja jemand kosequent und baut es ein,
Yours truly,
     Catweazle

PS: Jaaa, ich weiss, sowas liesse sich _problemlos_ umgehen, aber dazu
     lies einfach den ersten Absatz nochmal...

-----------------------------------------------------------------------------



Re: logout (Morgoth, 29. Jan 1999, 12:33:03):
~#! rn=Catweazle rt=917612151 rg=entwicklung
~#! tid=917612151
Hmmm, 

damit wuerdest Du auch die ganzen billigen 'Ich-idle-meinen-Tod-ab'-Scripte
erwischen. ;-)))

M*

-----------------------------------------------------------------------------



Re: Re: logout (Trancefear, 29. Jan 1999, 12:44:25):
~#! rn=Morgoth rt=917613183 rg=entwicklung
~#! tid=917612151
Die kannst Du auch anders erwischen Morgoth. Einfach nach 10 min idle das
regenerieren der Stats abstellen... Die Idee von Cat* finde ich hervorragend.
Rikus bau das mal ein :-)

tf

-----------------------------------------------------------------------------



Re^3: logout (Anatol, 29. Jan 1999, 13:15:06):
~#! rn=Trancefear rt=917613865 rg=entwicklung
~#! tid=917612151
Du delegierst im falschen Mud.

Anatol


-----------------------------------------------------------------------------



Re: Re: logout (Aline, 29. Jan 1999, 13:45:30):
~#! rn=Morgoth rt=917613183 rg=entwicklung
~#! tid=917612151

Tod abideln?? Hmmm seit der neuen Regelung bin ich zwar erst 2x gestorben,
aber die Folgen musste ich nicht abideln. Irgendwas scheine ich wieder mal
falsch zu machen.

Aline 

-----------------------------------------------------------------------------



Re^3: logout (Jameson, 29. Jan 1999, 16:23:43):
~#! rn=Trancefear rt=917613865 rg=entwicklung
~#! tid=917612151
Und? /repeat -600 100 <irgendeinbefehl> und schon bin ich alle 10 min
aktiv.

j*

-----------------------------------------------------------------------------



Re^4: logout (Trancefear, 29. Jan 1999, 16:25:19):
~#! rn=Jameson rt=917627023 rg=entwicklung
~#! tid=917612151
Nunja die Regelmaessigkeit in deinen Befehlen laesst sich ohne Probleme
erkennen... Du bist dann klassifiziert als Idle mit script :-)

tf

-----------------------------------------------------------------------------



Re^5: logout (Jameson, 29. Jan 1999, 16:28:08):
~#! rn=Trancefear rt=917627119 rg=entwicklung
~#! tid=917612151
Dann macht man's halt random.

-----------------------------------------------------------------------------



Re^6: logout (Boing, 29. Jan 1999, 17:09:55):
~#! rn=Jameson rt=917627288 rg=entwicklung
~#! tid=917612151
Auch Dir kann man Absatz 1 von Catweazles Artikel empfehlen.
  Boing

-----------------------------------------------------------------------------



Re^7: logout (Jameson, 29. Jan 1999, 17:25:09):
~#! rn=Boing rt=917629795 rg=entwicklung
~#! tid=917612151
Ich hab selber was gegen rumscripten, grad zu so einem Zweck.
Ich wollte damit nur sagen, dass die Spieler je nach Eifer immer wieder
was finden werden, womit sie leichter vorwaerts kommen bzw. Beschraenkungen 
umgehen koennen. Ist halt der uebliche Wettlauf.

-----------------------------------------------------------------------------



Re^6: logout (Teddy, 29. Jan 1999, 18:09:03):
~#! rn=Jameson rt=917627288 rg=entwicklung
~#! tid=917612151
Dann bist du trotzdem unbeaufsichtigt am scripten ;)

Teddy

-----------------------------------------------------------------------------



Re^7: logout (Gnome, 29. Jan 1999, 23:30:26):
~#! rn=Teddy rt=917633343 rg=entwicklung
~#! tid=917612151
ich finde die regelung unter "hilfe scripte" punkt 4 recht eindeutig.
da muss sich nix neues finden lassen.
evtl. verstehen hier einige das wort "idle" nicht. denen sei ein
woerterbuch ans herz gelegt, aber ich helfe gerne: "nix tun"
da "nichts" auch wirklich "nichts" heisst (auch nicht aus "idlend"
mit einem npc kaempfen), versteh ich dich diskussion nicht so recht.

idle laenger als 120 min sollte man schon noch sein koennen (stichwort
todesfolgen).
afmodif war ein paar stunden nicht anwesend und war trotzdem nicht idle.
also wird er als script behandelt. dass die reaktion etwas ueberzogen
war, ist wohl klar; vielleicht haette eine warnung genuegt.

gnOme

-----------------------------------------------------------------------------



Re^8: logout (Woody, 29. Jan 1999, 23:44:04):
~#! rn=Gnome rt=917652626 rg=entwicklung
~#! tid=917612151
Die eine Frage ist, was idle ueben ja/nein ueberhaupt in 'hilfe scripte'
zu suchen hat, die zweite, wo es besser hinpassen wuerde, und die dritte,
ob es vielleicht ne Loesung waere, generell im std/spellbook einzubauen,
dass man idle einfach nichts lernt. Der Erfolg waere fraglich, haette
wohl zur Folge, dass Leute ein /repeat -60 usw. schreiben, um nicht
idle zu sein, fielen dann aber EINDEUTIG unter nicht ansprechbar aber
nicht idle und daher ebenso eindeutig in die Script-Regelung, ent-
sprechende Massnahmen waeren also leicht rechtzufertigen.

Woody.-

-----------------------------------------------------------------------------



Re^4: logout (Key,  1. Feb 1999, 09:00:22):
~#! rn=Jameson rt=917627023 rg=entwicklung
~#! tid=917612151
Du hast es nicht verstanden.

Key

-----------------------------------------------------------------------------



Re^9: logout (Key,  1. Feb 1999, 09:05:12):
~#! rn=Woody rt=917653444 rg=entwicklung
~#! tid=917612151
Mir wird das schon wieder zu buerokratisch .....
Laut Paragraph 234 des Mud-Gesetzbuches, Absatz 3, Zeile 44, behandeln wir das
Thema Afmodif als Script. 
Bitte erheben Sie sich fuer den ehrenwerten Richter XYZ.

Im Namen der Mudderschaft verkuenden wir folgendes Urteil:

ARGL! 
Also wenn hier wer Gericht haelt dann ist es der Chaosrat! ;)

Ansonsten lasst diese Diskusion endlich. Oki das Verhalten von Para war net
ganz astrein ....
Trotzdem sollten jedem die Regeln in etwa klar sein. Und auch das man sie
Umgehen kann, aber dann muss man auch mit den Konsequenzen rechnen.

Vielleicht sollte man diese Anti-Scriptregeln doch wieder abschaffen? =;)

Key

-----------------------------------------------------------------------------



neuer befehl (Patryn,  4. Feb 1999, 13:20:20):
hi sterbliche,

es gibt nun einen neuen befehl, der sich 'ton' nennt. zu allem ueberfluss
habe ich den auch noch dokumentiert (nebst 'erwarte' und 'wecke').
funktionieren wird dies allerdings erst nach ausfuehrung von 'ende'
hinreichend vieler spieler. ein 'reboot' waere natuerlich auch nuetzlich,
aber kaum angebracht. eventuell findet sich ja wieder ein uebereifriger
gast...

------
patryn

-----------------------------------------------------------------------------



Aliase (Deepblue, 25. Feb 1999, 16:27:03):
Waere es moeglich, dass ein Zweitie die Aliase seines Ersties uebernehmen
kann?

-----------------------------------------------------------------------------



Re: Aliase (Kellybundy, 25. Feb 1999, 16:45:40):
~#! rn=Deepblue rt=919960023 rg=entwicklung
~#! tid=919960023
Nix leichter als das: schreib Dir ein Tool dafuer. Mit TF kein Problem.

-----------------------------------------------------------------------------



Re: Aliase (Kellybundy, 25. Feb 1999, 16:47:31):
~#! rn=Deepblue rt=919960023 rg=entwicklung
~#! tid=919960023
wobei es vielleicht ernstlich Speicherplatz sparen koennte, wenn zweities auf
die selbe Aliliste zugreifen wie deren erstie, dann waer die liste nur einmal
vorhanden ...

-----------------------------------------------------------------------------



Re: Aliase (Wurzel, 25. Feb 1999, 16:49:28):
~#! rn=Deepblue rt=919960023 rg=entwicklung
~#! tid=919960023
und wofuer sollte das gut sein?
wirklich sinnvoll ist das doch nur, wenn auch die faehigkeiten die gleichen
sind, also auch z.b. die gilde. ich stelle mir gerade vor, wie mein zweiti 
verzweifelt versucht, sein nichtvorhandenes xtool zu benutzen... 

wurzel

-----------------------------------------------------------------------------



Re: Re: Aliase (Deepblue, 25. Feb 1999, 17:00:54):
~#! rn=Wurzel rt=919961368 rg=entwicklung
~#! tid=919960023
Die Standardaliase wuedren uebernommen, der Rest wird angepasst, geloescht und
zugefuegt. Wuerde aber bestimmt 30 Min Aliasbasteln sparen

-----------------------------------------------------------------------------



Re^3: Aliase (Key, 25. Feb 1999, 17:02:52):
~#! rn=Deepblue rt=919962054 rg=entwicklung
~#! tid=919960023
Die Standardaliase werden uebernommen ....
Und wer sagt was Standardaliase sind?

Wenn Du 30 min. an Deinen Alis bastelst biste selber schuld.

Key

-----------------------------------------------------------------------------



Re^3: Aliase (Novastorm, 25. Feb 1999, 17:03:28):
~#! rn=Deepblue rt=919962054 rg=entwicklung
~#! tid=919960023
Du hast zuviele 'allgemeine' Alis, oder tippst ziemlich langsam. Normal ist
das doch so, man macht sich das Ali, wenn man es braucht, und die zwei
Sekunden wirst Du zu dieser Zeit wohl haben, oder ?
       Nova

-----------------------------------------------------------------------------



Re^3: Aliase (Nachtwind, 25. Feb 1999, 17:03:47):
~#! rn=Deepblue rt=919962054 rg=entwicklung
~#! tid=919960023
Ein kleiner und problemloser Kompromiss waere doch, die ausgabe von "ali"
von b = brenne stumpf aus 
auf alias br brenne stumpf aus
zu aendern. Dann koennte man wenigstens die kurzen alis einfach per
cut & paste rueberziehen.

Nachtwind.

-----------------------------------------------------------------------------



Re^4: Aliase (Deepblue, 25. Feb 1999, 17:07:52):
~#! rn=Key rt=919962172 rg=entwicklung
~#! tid=919960023
ich selbst. aber 20 unaliase sind schneller als 30 Aliase, insbesonder
e ohne cut'n'paste

-----------------------------------------------------------------------------



Re: Aliase (Jameson, 25. Feb 1999, 19:06:26):
~#! rn=Deepblue rt=919960023 rg=entwicklung
~#! tid=919960023
Jeder ordentliche Mudclient hat eine log-Funktion. Log anschmeissen,
"alias" eintippen, log schliessen, editieren, mit cut & paste dem Zweitie
verpassen. Universeller geht's nicht mehr. Und die ganz ganz allgemeinen
aliase kannst Du TF ueberlassen, sofern du das verwendest.

-----------------------------------------------------------------------------



Re: Re: Aliase (Anatol, 25. Feb 1999, 19:14:38):
~#! rn=Jameson rt=919969586 rg=entwicklung
~#! tid=919960023
... zumal der Vorgang der Postedition auch ueberfluessige Aliase 
aus der Liste entfernt, was unser aller wichtigstem Erzmagier Padreic
bestimmt besser gefaellt als z.B. 10 Seherzweities, die genau den selben
nostalgischen Muell mit sich herumtragen wie der Erstie... :o)

Hick hack, auf zack! :)
Anatol


-----------------------------------------------------------------------------



Re: Re: Aliase (Kellybundy, 25. Feb 1999, 21:43:04):
~#! rn=Jameson rt=919969586 rg=entwicklung
~#! tid=919960023
gehts noch umstaendlicher? Einen SEND-Hook auf ali in der world des ersties
mit /send -wzweitie .... tuts ganz ohne loggen cut & paste und bla

-----------------------------------------------------------------------------



Re^3: Aliase (Mahatmu, 26. Feb 1999, 12:49:25):
~#! rn=Anatol rt=919970078 rg=entwicklung
~#! tid=919960023
Stimme voll und ganz zu :)
Habe auch schon Alis aus Gloin ala 'blitz = ork' entfernt (wenn man
Alis wir x = blitz <gegner> verwendet, faellt das nicht so recht auf :))

Mahatmu

-----------------------------------------------------------------------------



Re^4: Aliase (Wurzel, 26. Feb 1999, 12:49:39):
~#! rn=Nachtwind rt=919962227 rg=entwicklung
~#! tid=919960023
ein guter vorschlag. so gut, dass er erstens schon mehrfach gemacht wurde
und zweitens nie verwirklicht wurde. warum? gute frage, naechste frage.

wurzel

-----------------------------------------------------------------------------



Re^3: Aliase (Jameson, 26. Feb 1999, 17:53:28):
~#! rn=Kellybundy rt=919978984 rg=entwicklung
~#! tid=919960023
Es geht unter anderem auch darum, dass man sich mal wieder mit seinen aliasen
beschaeftigt, bevor man sie hirnlos uebernimmt.

-----------------------------------------------------------------------------



Re^4: Aliase (Deepblue, 26. Feb 1999, 18:04:14):
~#! rn=Jameson rt=920051608 rg=entwicklung
~#! tid=919960023
Ich weiss jetzt nicht , ob ich der einzige bin, aber ich miste meine Aliase
doch auch so regelmaessig aus. Nur waere eine Uebernahme mit anschliessendem
Loeschen der nicht benoetigten wesentlich einfacher als ein reinschreiben
aller benoetigten. 
Andererseits hat wohl 90% der Mudder hier aliase wie teile mit, frage,
suedostunten, betritt, toete usw. vielleicht koennte man die Kurzformen
alternativ auch irgendwo fuer alle zugaenglich machen, die individuellen
aliase wuerden so deutlich abnehmen

-----------------------------------------------------------------------------



Re^5: Aliase (Novastorm, 26. Feb 1999, 18:15:23):
~#! rn=Deepblue rt=920052254 rg=entwicklung
~#! tid=919960023
Ich glaub nicht dass es Sinn macht, eine Standardisierung von Kurzformen bzw.
Alis zu machen.
die meisten haben sowieso vollkommen _individuelle_ Aliase, ich denk da nur an
'sag' oder 'schau', wo ein gewisser Gewohnheitsgrad dranhaengt, dass heisst,
die sorgsam gleichaussehenden Aliase wuerden bald wieder
ergaenzt/ueberschrieben/was auch immer.
Wie oft machst Du Dir ueberhaupt Zweities, dass es eine dermassen grosse
Arbeit ist, die wesentlichen Dinge zu uebernehmen ?
        Nova

-----------------------------------------------------------------------------



Re^5: Aliase (Key, 27. Feb 1999, 21:15:29):
~#! rn=Deepblue rt=920052254 rg=entwicklung
~#! tid=919960023
Verraeder!
Alte Alis loeschen! Die haben nostalgischen Wert!

Ich erinnere mich dran erst kuerzlich mit Catty ueber alte Alis gelacht zu
haben ...

Das ruiniert die Stimmung wenns nur neue und bekannte gibt ,)

Key

-----------------------------------------------------------------------------



Re^6: Aliase (Key, 27. Feb 1999, 21:16:31):
~#! rn=Novastorm rt=920052923 rg=entwicklung
~#! tid=919960023
Oh ja ich erinnere mich an ein gewisses q bei einer Freundin .... q =
schlafein ...

Tsts jeder weiss doch das q schwimme nach westen, oder allgemeines alis fuer
sonderaktionen ist ;)

Key faengt die alis diskusion wiedermal an ;)

-----------------------------------------------------------------------------



Re^7: Aliase (Asmodis, 28. Feb 1999, 02:13:47):
~#! rn=Key rt=920150191 rg=entwicklung
~#! tid=919960023
 q      = trinkspruch Jo

-----------------------------------------------------------------------------



Re^4: Aliase (Zwocklhuber, 28. Feb 1999, 19:46:18):
~#! rn=Jameson rt=920051608 rg=entwicklung
~#! tid=919960023
Ich habe so schaetzungsweise 40 alis und bestimmte tasten mit wechselnden
Bedarfsalis belegt. Mit gildenspezifischen Alis. Ich denke nicht, dass da viel
unnuetzes dabei ist.

-----------------------------------------------------------------------------



Re^6: Aliase (Yendi,  1. Mar 1999, 15:12:26):
~#! rn=Novastorm rt=920052923 rg=entwicklung
~#! tid=919960023
Ich denke, zumindest "tm <name> <text>" kann man offiziell machen, oder?
Wundert mich, ehrlich gesagt, dass das noch keine fest eingebaute Kurzform
ist.


YTY



-----------------------------------------------------------------------------



Re^7: Aliase (Key,  1. Mar 1999, 15:49:34):
~#! rn=Yendi rt=920301146 rg=entwicklung
~#! tid=919960023
Net jeder nimmts ...

Ich kenne auch welche die nehmen nur t, t mit anfangsbuchstaben usw usw

Key

-----------------------------------------------------------------------------



Re^8: Aliase (Deepblue,  1. Mar 1999, 16:10:34):
~#! rn=Key rt=920303374 rg=entwicklung
~#! tid=919960023
Stimmt nicht key, Du kennst mich garnicht :) (wobei es kein problem waer, sich
auf tm umzustellen.)
==>schmarrn()

-----------------------------------------------------------------------------



Re^8: Aliase (Mahatmu,  1. Mar 1999, 16:43:27):
~#! rn=Key rt=920303374 rg=entwicklung
~#! tid=919960023
Stimme Key zu, ich kenn auch Leute, die nehmen . fuer ' etc. blabla ;-)
Ausserdem hab ich meist 'zino' 'sonstwer' 'sonstwas' mit erzaehle -
Verkneufpung ...

Gloin 

-----------------------------------------------------------------------------



Re^7: Aliase (Mindblade,  1. Mar 1999, 21:36:55):
~#! rn=Yendi rt=920301146 rg=entwicklung
~#! tid=919960023
Sagt mal, seit ihr alle schreibfaul? Wieso muss man das offiziell machen?
Offiziell ist ein "teile xxx mit blah" und das reicht vollkommen. Und nicht
jeder moechte auf sowas kurzem wie tm nen bloedes offizielles Ali haben, was
er dann eh wieder ueberschreibt. Kann doch wohl nicht zuviel verlangt sein,
einmal ne halbe Stunde Alis zu schreiben, wenn man nicht mit seinem Client
umgehen kann oder keinen hat!
Mind*, bisschen genervt ueber solche Threads, sorry.

-----------------------------------------------------------------------------



Re^8: Aliase (Key,  2. Mar 1999, 08:41:15):
~#! rn=Mindblade rt=920324215 rg=entwicklung
~#! tid=919960023
Ich versteh die 30 min. net auf denen ihr rumreitet ....
Ich schreib meine Standardalis in max. 10 min., und was dann noch fehlt kommt
mit der Zeit dazu ;)

Ist doch schoen son locker Thread ohne Sinn ;)

Key

-----------------------------------------------------------------------------



Re^9: Aliase (Acrimon,  2. Mar 1999, 18:09:07):
~#! rn=Key rt=920364075 rg=entwicklung
~#! tid=919960023
Key, du bist zu TF-verwoehnt.

Telnet-Benutzer haben mehrere hundert Aliase, um auf einen akzeptablen Stand
zu kommen, und die meisten davon sollten fuer einen neuen Charakter bereits
definiert sein, damit man nicht einige hundert Mal ein - vielleicht langen -
Befehl eingibt, nur um die Meldung "Wie bitte?" zu bekommen.

Acrimon, der Rote Ritter

-----------------------------------------------------------------------------



Re^10: Aliase (Key,  3. Mar 1999, 12:45:05):
~#! rn=Acrimon rt=920398147 rg=entwicklung
~#! tid=919960023
Acrimon ich hab ueber 1 Jahr ohne TF gespielt, und auch danach noch viele Alis
im Mud definiert.

Und ich hab auch ne Menge alis .... 
Der einzige Grund, aus meiner Sicht, um verschiedene alis fest einzubauen
waere ne Entlastung des Speichers ....
Aber da denk mal an unt fuer untersuche .... ich kenne einige die fuers
untersuchen noch nen Extraali haben.

Key
P.S.: Wer tippen kann ist klar im Vorteil .) Soviel zu dem Satz von wegen
einige 100 mal nen Befehl eingeben :)

-----------------------------------------------------------------------------



Re^10: Aliase (Mahatmu,  3. Mar 1999, 15:53:44):
~#! rn=Acrimon rt=920398147 rg=entwicklung
~#! tid=919960023
Das sind dann aber selten daemliche Telnetter. Ich habe anfangs ueber andert-
halb Jahre ohne irgend ein Tool gearbeit und ueber drei Seiten gingen meine
Alis in keinem der vier MUDs hinaus.

Mahatmu

-----------------------------------------------------------------------------



Re^7: Aliase (Jasper,  3. Mar 1999, 17:09:40):
~#! rn=Yendi rt=920301146 rg=entwicklung
~#! tid=919960023
noe, fuer teile mit benutzt man doch die ersten 3 buchstaben des empfaengers,
zumindest reicht dass, wenn man sich nicht staendig mit 100 verschiedenen
leuten unterhaelt

-----------------------------------------------------------------------------



Re^11: Aliase (Guildo,  4. Mar 1999, 11:41:25):
~#! rn=Mahatmu rt=920476424 rg=entwicklung
~#! tid=919960023
Also ich hab mit diversen Charakteren schon mal weit ueber 10 Seiten alis
gehabt (ich bin bisher immer nur mit simplem telnet hier gewesen); dabei geht
bei mir das alischreiben noch relativ schnell, aber das ausmisten ist echt
nervig.
Ich wuerde gerne einen schon frueher mal gemachten Vorschlag aufgreifen und
statt einer Ali-Liste einen Ali-Folder-Baum anregen. Dann hat man halt einen
Ali-Folder fuer Untersuchen, einen fuer Gildenspezifische Alis, einen fuer
Metzeln, einen fuer Kommunikation und was weiss ich noch alles. Dann duerften
auch Alis mit gleichem Namen in unterschiedlichen Foldern liegen; und man
muesste halt einen "aktuellen folder" setzen koennen, in dem zuerst gesucht
wird und dann irgendeine default-Reihenfolge.
Kann das vielleicht jemand proggen?

Gruss, Guildo

-----------------------------------------------------------------------------



Re^12: Aliase (Jasper,  4. Mar 1999, 18:09:30):
~#! rn=Guildo rt=920547685 rg=entwicklung
~#! tid=919960023
dream on
lass halt alle gilden-alias mit einem 'g' beginnen, dann kannst du die
dir mit 'alias g*' anschauen.

alias ist sowieso was fuer warmduscher und sitzpinkler

jasper liebt ausgaenge wie
'suedwestobendreimalimkreisdrehenunddannrueckwaertsnachoben'

-----------------------------------------------------------------------------



Re^12: Aliase (Acrimon,  4. Mar 1999, 18:40:55):
~#! rn=Guildo rt=920547685 rg=entwicklung
~#! tid=919960023
Bevor das jemand proggen kann, sollte man sich erstmal Gedanken darueber
machen.
Dein Vorschlag hoert sich sehr gut an, aber bitte gib doch mal ein Beispiel,
damit man sich besser vorstellen kann, was das bringt.

Und - auch mit verschiedenen Alias-Kategorien und gleichen Namen fuer
unterschiedliche Aliase - kann man die Suche nach dem richtigen Alias trotzdem
in konstanter Zeit realisieren. Wenn ein Magier wissen will, wie, dann soll er
mich fragen.
Flames bezueglich "zu rechenintensiv" oder "zu speicheraufwendig" haben also
absolut keine Berechtigung.

Mir waere vor allem die Moeglichkeit wichtig, dasz man mehrere Aliase mit
gleichem Namen definieren kann.
Dann kann ich naemlich - abhaengig von der Argumentanzahl - den richtigen
Befehl ausfuehren. Dann kann ich endlich Aliase, deren Namen vom Sinn her
aehnlich (aber nicht gleich) sind, streichen; auszerdem kann ich dann kuerzere
Aliase definieren.

Acrimon, der Rote Ritter

-----------------------------------------------------------------------------



Re^13: Aliase (Anatol,  4. Mar 1999, 20:46:23):
~#! rn=Acrimon rt=920572855 rg=entwicklung
~#! tid=919960023
Vielleicht sollte in diesem Kontext, der wohl auch alle paar Monate
aufzutauchen pflegt, wieder mal erwaehnt werden, dass niemand dazu
gezwungen wird, Zweitcharaktere anzulegen oder gar hochzuspielen.

Anatol


-----------------------------------------------------------------------------



Re^14: Aliase (Deepblue,  4. Mar 1999, 21:50:10):
~#! rn=Anatol rt=920580383 rg=entwicklung
~#! tid=919960023
Es ist ueberhaupt niemand gezwungen, im Morgengrauen zu sein. Trotzdem sind
haeufig ueber 100 leute gleichzeitig hier, und die meisten haben zweities. 

-----------------------------------------------------------------------------



Finger (Rikus,  5. Mar 1999, 00:19:04):
Hi,
ab Ende/Reboot koennt Ihr mit dem Parameter '-s' beim Fingerbefehl das
Verwandtschaftsverhaeltnis des Magiers anzeigen lassen.

Rikus

-----------------------------------------------------------------------------



Re: Finger (Ringor,  5. Mar 1999, 11:27:52):
~#! rn=Rikus rt=920593144 rg=entwicklung
~#! tid=920593144
Super, danke. :-)

Noch viel schoener waere es meiner Meinung nach, wenn in Klammern gleich noch
der Magierlevel mit angegeben wuerde. So sieht man gleich auf einen Blick, zu
was es die Kinder eines Magiers so gebracht haben. Besonders so Zahlen wie "0"
und "1" sind in dem Zusammenhang immer interessant. ;-)

Ringor

-----------------------------------------------------------------------------



Re: Re: Finger (Rikus,  5. Mar 1999, 11:57:34):
~#! rn=Ringor rt=920633272 rg=entwicklung
~#! tid=920593144
Auf vielfachen Wunsch eines einzelnen Ringors sieht man nun auch die
Wizlevel :)

Rikus

-----------------------------------------------------------------------------



Re: Re: Finger (Hood,  5. Mar 1999, 14:34:04):
~#! rn=Ringor rt=920633272 rg=entwicklung
~#! tid=920593144
also das sieht ja fast aus wie eine topliste :)
da bin ich natuerlich strikt dagegen, kann man sich da auch austragen? ;)

------
patryn, sich fuer ringors ploetzliche begeisterung wundernd...

-----------------------------------------------------------------------------



Re^3: Finger (Ringor,  5. Mar 1999, 15:30:16):
~#! rn=Hood rt=920644444 rg=entwicklung
~#! tid=920593144
Jau, auch eine Form von Topliste.

Eine Topliste, in der man nur aufsteigen kann (bzw. koennen sollte ...), wenn
man etwas Gutes fuer die Allgemeinheit tut.

Also eine sinnvollere Topliste faellt mir wirklich nicht ein. Wenn es
ueberhaupt eine Begruendung fuer Toplisten geben sollte, dann so eine. :-)

Ringor

-----------------------------------------------------------------------------



Re^3: Finger (Ronda,  5. Mar 1999, 17:24:34):
~#! rn=Hood rt=920644444 rg=entwicklung
~#! tid=920593144
Au weh ;) Der "neue" Finger ist nett - aber koennen wir da irgendwie ein
"more" reinschmuggeln? Manche Leute waren einfach zu ... fleissig *Karnickel
sind nix dagegen :)*

Ronda

-----------------------------------------------------------------------------



Re^4: Finger (Hood,  7. Mar 1999, 20:53:00):
~#! rn=Ronda rt=920654674 rg=entwicklung
~#! tid=920593144
also fuer ein more im finger kaempfen wir schon seit jahren :)

------
patryn, an vorderster front ;)

-----------------------------------------------------------------------------



Re: Laeden (Jameson, 10. Mar 1999, 19:58:20):
(Padreic in Rubrik Bekanntmachungen)

Wie waere es, wenn man irgendwie den Prozentsatz, fuer den man verkaufen
will, selbst einstellen kann?

jAmeson

-----------------------------------------------------------------------------



Re: Re: Laeden (Ark, 10. Mar 1999, 20:12:47):
~#! rn=Jameson rt=921095900 rg=entwicklung
~#! tid=921095900
Hm, wenn ich das Ganze so abschaetze, macht das Entwickeln von Feilschen nicht
mehr viel Sinn, oder? :-) Alles schlechte Einkaeufer hier, wenn man schon
automatisieren kann. Ist Euch also nur am schnellen Spiel was gelegen, ohne
viel Tipperei, nachlesen, was da abgeht (gut, ich gebe zu, nach dem 10. Mal
liest man nicht mehr)? Dachte ich doch, dass es beim Verkaufen und Kaufen
nicht unbedingt auf Geschwindigkeit und Automatismus ankommt, da man
vielleicht mehr Zeit hat, aber vielleicht hab ich mich geirrt. Was soll's,
umsetzen muss ich das gluecklicherweise eh nicht :-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^3: Laeden (Jameson, 10. Mar 1999, 20:15:14):
~#! rn=Ark rt=921096767 rg=entwicklung
~#! tid=921095900
Ja, stimmt, mit Feilschen hat das dann nicht mehr viel zu tun. :)
Ich hatte bei der Antwort tatsaechlich nur Padreics neues Laden-feature
im Sinn. Soll es jeder so machen wie er will :)

-----------------------------------------------------------------------------



Zeitung (Deepblue, 11. Mar 1999, 16:08:35):
Wie waere es mit einem Befehl mantwort, mit dem man auf Zeitungsartikel direkt
per Mail antworten kann? Dabei waere es guenstig, wenn man derartige Mails
auch ausserhalb des Postamtes verschicken kann (wer liest schon auf der Post
Zeitung?) Der Code zum Mailversenden duerfte schon in der Zeitung sein,
schliesslich fungiert sie zumindest bei Magiern auch als wandelndes Postamt.
Man muesste bei mantwort also nur das IS_WIZARD (oder was auch immer da steht)
umgehen.
n

-----------------------------------------------------------------------------



Re: Zeitung (Azzuro, 11. Mar 1999, 16:16:57):
~#! rn=Deepblue rt=921168515 rg=entwicklung
~#! tid=921168515
Problem hierbei ist nur, dass dann das Seherprivileg verloren geht, da jeder
ueber mantwort einfach an jeden mailen kann, nur wenn er einen Zeitungsartikel
in irgendeiner Rubrik veroeffentlicht hat. Dies waere kontraproduktiv in
manchen questen in denen extra teile mit u.ae. unterbunden wird.
Und eine Abfrage, ob sich die Mail wirklich nur auf den Zeitungsartikel
bezieht duerfte selbst die besten Programmierer vor eine grosse
Herausforderung stellen.

-----------------------------------------------------------------------------



Re: Re: Zeitung (Sharia, 11. Mar 1999, 16:17:41):
~#! rn=Azzuro rt=921169017 rg=entwicklung
~#! tid=921168515
aber es waere fuer so manchen Programmierer vielleicht endlich mal ne
herausforderung oder ? :)

Sharia

-----------------------------------------------------------------------------



Re^3: Zeitung (Mahatmu, 11. Mar 1999, 16:22:52):
~#! rn=Sharia rt=921169061 rg=entwicklung
~#! tid=921168515
Wenn es irgend einen Mag interessiert, soll er sich bei Foobar@regen
melden, der sich damit beschaeftigt hat. Deep* traegt nur die Ideen
zwischen den MUDs hin- und her.

Leonidas@regen

-----------------------------------------------------------------------------



Re^4: Zeitung (Ringor, 11. Mar 1999, 16:28:11):
~#! rn=Mahatmu rt=921169372 rg=entwicklung
~#! tid=921168515
Features aus anderen Muds kopieren? 

Spar' Dir die Muehe - das sehen gewisse E+ hier nicht so gerne. :-(

Ringor. Weiss zufaellig, dass "spotte" aus genau diesem Grund irgendwo auf der
Platte verstaubt.

-----------------------------------------------------------------------------



Re^5: Zeitung (Mahatmu, 11. Mar 1999, 16:29:07):
~#! rn=Ringor rt=921169691 rg=entwicklung
~#! tid=921168515
*g* Nooooch ist es ja bei uns nicht eingebaut. Mir ist es auch ziemlich
Wurscht.

Leonidas@regen

-----------------------------------------------------------------------------



Re: Re: Zeitung (Deepblue, 11. Mar 1999, 17:02:23):
~#! rn=Azzuro rt=921169017 rg=entwicklung
~#! tid=921168515
In den Quests geht es darum, den Empfang von Mails zu verhindern, was soll
beim Schreiben von Mails schon passieren.
Und Mailempfang waere ja gerade nicht moeglich...

-----------------------------------------------------------------------------



Re^4: Zeitung (Deepblue, 11. Mar 1999, 17:06:26):
~#! rn=Mahatmu rt=921169372 rg=entwicklung
~#! tid=921168515
Und was spricht da dagegen? Viele Ideen stammen ursprunglich von woanders.
Aber gerade hier ist die Zeitung voll von Zeug, was eigentlich in die Mail
gehoert (auch diese Mail gehoert wohl dAzu)...

-----------------------------------------------------------------------------



Re^4: Zeitung (Key, 11. Mar 1999, 17:25:23):
~#! rn=Mahatmu rt=921169372 rg=entwicklung
~#! tid=921168515
Foobar?
War das net unser netter Mudabschiesser? :)

Key

-----------------------------------------------------------------------------



Re^5: Zeitung (Alpha, 11. Mar 1999, 17:55:14):
~#! rn=Ringor rt=921169691 rg=entwicklung
~#! tid=921168515
Ja :o)
Alpha - will auch spotte!

-----------------------------------------------------------------------------



Re^5: Zeitung (Teddy, 11. Mar 1999, 21:37:28):
~#! rn=Ringor rt=921169691 rg=entwicklung
~#! tid=921168515
Dabei is gerade spotte so nett ;-)

Teddy, wuenscht sich auch gelegentlich ein spotte im MG

-----------------------------------------------------------------------------



Re^6: Zeitung (Ariana, 12. Mar 1999, 01:37:58):
~#! rn=Teddy rt=921188248 rg=entwicklung
~#! tid=921168515
jajajajajaja

ariana *auch spotten wollend*

-----------------------------------------------------------------------------



Re^6: Zeitung (Catweazle, 12. Mar 1999, 10:15:22):
~#! rn=Alpha rt=921174914 rg=entwicklung
~#! tid=921168515
Pfff...spotte. Ich haette viel lieber huestel, jammer und schubse...
YTC

-----------------------------------------------------------------------------



Re: Zeitung (Orktoeter, 12. Mar 1999, 14:09:40):
~#! rn=Deepblue rt=921168515 rg=entwicklung
~#! tid=921168515
Okok, es steckt ein Magier hinter dem Spieler Deepblue, insofern ist also das
Magierwissen verstaendlich ( IS_Wizard ), aber was hat so ein Befehl in der
mpa zu suchen ? Des weiteren ist es schon aarg traurig, das ein Magier nicht
weiss, das Seher auch ueberall ihre Mail lesen und schreiben koenne (als eines
der Privilegien).

OrkT, der nicht gerne MG Code in der mpa liest.

-----------------------------------------------------------------------------



Re: Re: Zeitung (Deepblue, 12. Mar 1999, 16:59:00):
~#! rn=Orktoeter rt=921247780 rg=entwicklung
~#! tid=921168515
Im Morgengrauen bin ich nur spieler (und noch nicht mal Seher), progge nur
bissel in Regenbogen. (wo es keine Seher gibt) Somit verzeih mir bitte meine
Unwissenheit in dieser Frage 

-----------------------------------------------------------------------------



Re: Re: Zeitung (Asmodis, 12. Mar 1999, 20:46:52):
~#! rn=Orktoeter rt=921247780 rg=entwicklung
~#! tid=921168515
Hmm, fuer nen magier weiss Deepblue aber ziemlich wenig :-)

-----------------------------------------------------------------------------



Re^7: Zeitung (Teddy, 15. Mar 1999, 20:45:36):
~#! rn=Catweazle rt=921233722 rg=entwicklung
~#! tid=921168515
jammer? Is doch nen Skill bei den bierschuettlern ;)

Teddy

-----------------------------------------------------------------------------



Re^10: Aliase (Widewitt, 16. Mar 1999, 03:22:30):
~#! rn=Acrimon rt=920398147 rg=entwicklung
~#! tid=919960023
Tach auch,
Tach auch,
naja, wer kann sich schon mehrere hundert Aliase merken ...
also ich nicht, Vorschlaege wie cut & paste faehige Ausgabe der Aliase
Uebernahme der alten usw. sind doch Schwachsinn!
Leute lernt mal Tippen, dan  braucht ihr den ganzen Kram nicht ...
Leute lernt mal Tippen, dan  braucht ihr den ganzen Kram nicht ...
Widewitt (mit einer ueberschaubaren Anzahl an Aliasen)

-----------------------------------------------------------------------------



Re^11: Aliase (Anatol, 16. Mar 1999, 03:24:06):
~#! rn=Widewitt rt=921554550 rg=entwicklung
~#! tid=919960023
Die Formatierung Deines Artikels stellt seinen Inhalt in Frage.

Anatol


-----------------------------------------------------------------------------



Re^12: Aliase (Widewitt, 16. Mar 1999, 15:40:29):
~#! rn=Anatol rt=921554646 rg=entwicklung
~#! tid=919960023
Tach Anatol

Muss Dir leider zustimmen ...
ich muss mich erst noch an diesen bloeden Mud-Client gewoehnen ...

Wiedewitt *sich ein bischen schaemend*

-----------------------------------------------------------------------------



mspotte (Catweazle, 18. Mar 1999, 16:07:58):
Moin!

Jetzt wo es dann doch endlich den Befehl 'spotte' fuer Spieler gibt, beantrage
ich den Befehl 'mspotte'. 
Wenn die Spieler schon auf dem Moerderkanal ueber monster laestern duerfen,
ist es doch wohl nur fair, wenn Magier ebenso auf dem Todeskanal ueber Spieler
laestern koennten, oder? :-)

Yours truly,
     Catweazle

-----------------------------------------------------------------------------



Re: mspotte (Yendi, 18. Mar 1999, 19:23:01):
~#! rn=Catweazle rt=921773278 rg=entwicklung
~#! tid=921773278
*pruuuust*
Au weia, dann scrollt das aber heftig...



-----------------------------------------------------------------------------



Re: mspotte (Grimmborn, 18. Mar 1999, 23:53:27):
~#! rn=Catweazle rt=921773278 rg=entwicklung
~#! tid=921773278
Dafuer.

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re: Re: mspotte (Jasper, 19. Mar 1999, 05:18:52):
~#! rn=Grimmborn rt=921801207 rg=entwicklung
~#! tid=921773278
will auch laestern :)

-----------------------------------------------------------------------------



Re: Re: mspotte (Willi, 19. Mar 1999, 11:44:15):
~#! rn=Grimmborn rt=921801207 rg=entwicklung
~#! tid=921773278
Ok. Dann wollen wir aber auch ein sspotte, mit dem Spieler
ueber schlecht geschriebene Raeume, konfuse Syntax usw laestern 
duerfen. Am liebsten ein kostenloses rufe ;))
... Willi

-----------------------------------------------------------------------------



Re^3: mspotte (Foobar, 19. Mar 1999, 11:49:57):
~#! rn=Willi rt=921843855 rg=entwicklung
~#! tid=921773278
Dafuer!

Foobar

-----------------------------------------------------------------------------



Re^3: mspotte (Grimmborn, 19. Mar 1999, 23:42:35):
~#! rn=Willi rt=921843855 rg=entwicklung
~#! tid=921773278
hilfe fehler

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re: mspotte (Asmodis, 21. Mar 1999, 23:29:37):
~#! rn=Catweazle rt=921773278 rg=entwicklung
~#! tid=921773278
Von mir aus, ist genehmigt :-)

-----------------------------------------------------------------------------



Re: Finger (Menace, 24. Mar 1999, 18:45:52):
~#! rn=Rikus rt=920593144 rg=entwicklung
~#! tid=920593144
finger -s stormwind
Du siehst einen Fehler im Raum-Zeit-Gefuege.

Das war ja dann wohl noch nix!

Menace viel Spass beim Debuggen wuenschend

-----------------------------------------------------------------------------



Re: Zeitung (Menace, 24. Mar 1999, 18:56:16):
~#! rn=Deepblue rt=921168515 rg=entwicklung
~#! tid=921168515
nicht nur fuer Magier, auch fuer Seher, also inzwischen die meisten hier

Menace

-----------------------------------------------------------------------------



ultrakurz (Alpha,  2. Apr 1999, 19:59:19):
Nur mal so ne Idee dazu....

Ich hab die letzen zwei Tage ein wenig geuebt und dabei sicherlich ein paar
Leutchen maechtig genervt....
Was haltet ihr von der Idee, dass man im Modus Ultrakurz auch von den Leuten
im Raum nicht gesehen wird? Es nervt doch maechtig, wenn man irgendwo steht
und jemand flitzt in Ultrakurz da vorbei, ich jedenfalls moechte eigentlich
mit wegegescripte niemanden nerven.
Was haltet ihr davon?

Btw...koennte man es so einstellen, dass man, wenn man in Ultrakurz stirbt,
automatisch auf lang gestellt wird? Ansonnsten wartet man ewig drauf, das die
Sequenz endlich vorbei ist....
Alpha.

-----------------------------------------------------------------------------



Re: ultrakurz (Wim,  2. Apr 1999, 20:02:21):
~#! rn=Alpha rt=923075959 rg=entwicklung
~#! tid=923075959
Dass Du dadurch einen Raum quasi unsichtbar betreten kannst, faellt Dir wohl
dabei nicht auf?

-----------------------------------------------------------------------------



Re^3: ultrakurz (Wim,  2. Apr 1999, 20:05:18):
~#! rn=Alpha rt=923076216 rg=entwicklung
~#! tid=923075959

Natuerlich.... zum belauschen. Man fuehlt sich allein und ist es gar nicht. Du
kommst von alleine sicher nicht darauf, regelmaessig "schau" zu machen. Die
Situation ist vergleichbar mit einem Invismagier im Raum.
Oder benutzt Du immer teile mit?


-----------------------------------------------------------------------------



Re^4: ultrakurz (Alpha,  2. Apr 1999, 20:08:34):
~#! rn=Wim rt=923076318 rg=entwicklung
~#! tid=923075959
Hm...also .... im Anderland bekommen Leute im Ultrakurz setmmin/setmout hastet
herein...(zumindest die Spieler). Dann koennte man doch als Option ignoriere
:hasten oder so haben....
Ausserdem kann es doch noch eine Extramessage geben, wenn der Spieler laenger
als 1 Sekunde im Raum ist...was genau weiss ich noch nicht, vielleicht das
ganz normale setmin.
Alpha will doch nur niemanden mit Tankscroll nerven.

-----------------------------------------------------------------------------



Re^5: ultrakurz (Wim,  2. Apr 1999, 20:11:57):
~#! rn=Alpha rt=923076514 rg=entwicklung
~#! tid=923075959

Ah, das klingt doch schon deutlich besser als Dein erster Vorschlag. Die
Formulierung ist so schon ganz anders.


-----------------------------------------------------------------------------



Re^5: ultrakurz (Smurf,  3. Apr 1999, 00:52:30):
~#! rn=Alpha rt=923076514 rg=entwicklung
~#! tid=923075959
Also ich finde die Idee gut. Ich wuerde die Meldung
aber nichtmal von ultra- oder sonstwie -kurz abhaengig
machen, sondern einfach sagen, die "Fritzchen
kommt an"-Meldung erscheint nach einer Sekunde,
oder vor der naechsten Aktion des Spielers -- ausser
wenn der durch die naechste Aktion gleich wieder abhaut,
dann kommt stattdessen ein "Fritzchen hastet nach Norden"
was man ignorieren kann.

Ob und wie sowas in die Mudlib reinpasst, dazu moege sich
jemand aeussern, der dazu was sagen kann. ;-)

-----------------------------------------------------------------------------



Re: ultrakurz (Jiddu,  3. Apr 1999, 03:03:00):
~#! rn=Alpha rt=923075959 rg=entwicklung
~#! tid=923075959
lieber auf kurz. oder laeufst du immer im langmodus rum? wahrscheinlich
untersuchst du sogar dateils! :)
Jiddu.

-----------------------------------------------------------------------------



Re: ultrakurz (Belgariad,  6. Apr 1999, 13:27:42):
~#! rn=Alpha rt=923075959 rg=entwicklung
~#! tid=923075959
Hmm nicht schlecht Alpha aber dann biste ja in gewisser weise invis. Zwar nur
beim reinlaufen in den Raum aber immerhin. Sinnvoller faende ich die aktion
das man nach dem tod ukk in lang setzt :)

Belgariad denkt an Vielsterber

-----------------------------------------------------------------------------



Re^6: ultrakurz (Belgariad,  6. Apr 1999, 13:29:31):
~#! rn=Smurf rt=923093550 rg=entwicklung
~#! tid=923075959
Tolle Idee Smurf *g* woher soll der mg-rechner wissen dass du durch die
naechste aktion wieder abhaust? *g*


-----------------------------------------------------------------------------



Re^7: ultrakurz (Smurf,  6. Apr 1999, 15:57:48):
~#! rn=Belgariad rt=923398171 rg=entwicklung
~#! tid=923075959
Ahem, indem er einen Timer startet, der nach ner Sekunde
den "Spieler kommt an"-Text ausspuckt, und indem jeder
Ortswechsel nachsieht, ob der Timer noch laeuft, und wenn
ja, dann wird der "Spieler rennt durch"-Text ausgegeben,
ansonsten wird der "Spieler geht nach rechtslinks"-Text
ausgegeben. Wenn der Code einigermassen modular ist,
dann ist das absolut problemlos.

Ob es das wirklich ist, und wieviele Spezialfaelle es gibt
bei denen das nicht ganz so einfach ist, moege ein Magier sagen.

  -- Smurf, dessen Mudclient sich jetzt auf Knopfdruck 
         den Weg zur naechsten Tanke ausrechnet.  ;-)

-----------------------------------------------------------------------------



Re^8: ultrakurz (Yendi,  6. Apr 1999, 16:03:54):
~#! rn=Smurf rt=923407068 rg=entwicklung
~#! tid=923075959
Das machen wir dann, wenn wir die alte Cray vom Deutschen Wetterdienst
geschenkt gekriegt haben, sonst geht der Rechner von dem ganzen Rumgerenne und
Nachschauen,-ob-die-Sekunde-denn-schon-vorbei-ist, voellig in die Knie.

YTY


-----------------------------------------------------------------------------



Re^9: ultrakurz (Mahatmu,  6. Apr 1999, 16:23:51):
~#! rn=Yendi rt=923407434 rg=entwicklung
~#! tid=923075959
Jaaa! Jeder Raum kriegt 4nen heartbeat() und eine Message-Queue :)
ODer wir filtern alle User auf 'ICH WILLS HABEN!' ...

Mahatmu

-----------------------------------------------------------------------------



Re^10: ultrakurz (Bendeigid,  6. Apr 1999, 16:36:24):
~#! rn=Mahatmu rt=923408631 rg=entwicklung
~#! tid=923075959
Vielleicht hab ich ja was verpasst, aber bei der ganzen Diskussion gings doch
darum, dass jemand, der ueben will und daher staendig hin und her rennt,
gewissen anderen (nennen wir sie mal Dritte) den Bildschirm vollscrollt. 
Na und??
Wenn an so einer Durchgangsstelle (nennen wir sie mal ohne Wertung
"Sandtiger") Dritte herumstehen, weil sie sich unterhalten wollen, so stehen
sie dort offensichtlich an schlechter Stelle. Schon wenige Schritte (zwei
raeume? Kenn mich nicht mehr aus) sorgen dafuer, dass man garantiert NICHT
mehr an einer staendigen Durchgangsstelle steht. Und, schau einer mal an,
komplett OHNE Programmieraufwand!!
Moral: Wenn sich Dritte beim Sandtiger durch herumrasende Metzler/Tanker
gestoert fuehlen, so liegt es an ebendiesen Dritten, durch winzigste Aktionen
fuer Besserung zu sorgen.

Z'par Servu,
             Bendeigid

-----------------------------------------------------------------------------



Re^11: ultrakurz (Mahatmu,  6. Apr 1999, 16:43:25):
~#! rn=Bendeigid rt=923409384 rg=entwicklung
~#! tid=923075959
Wozu gibt esdann 'ignoriere'. Es liegt doch an mir, mich auszuloggen.
Vielleicht kein passendes Beispiel, aber es faellt mir sicher noch ein
besseres ein. Als Grund fuer die Ablehnung zu nennen: Hm, Du kannst ja da
weggehen (dummerweise scripten die Leute nicht nur durch einen Raum)
ist fadenscheinig, Eval-Costs sind mir stichhaltiger.
Der Ursprung der Debatte war ein 'Eingestaendnis'. Vielleicht sollte der
Delinquent einfach mal ueberlegen, ob das Megascripten ueber die be-
troffenen Gebiete notwendig war ...

Mahatmu

-----------------------------------------------------------------------------



Re^12: ultrakurz (Bendeigid,  6. Apr 1999, 17:33:07):
~#! rn=Mahatmu rt=923409805 rg=entwicklung
~#! tid=923075959
Um das "fadenscheinige Argument" mal klarzustellen: ich denke, durch die
Akademieruine, das Stadthaus oder die Post scriptet keiner. 
Nur so am Rande. Was das "megascripten" angeht, so sind die Ursachen dafuer im
MG jedenfalls nicht mehr zu korrigieren.

Z'par Servu,
       Bendeigid

-----------------------------------------------------------------------------



Re: Re: ultrakurz (Anthea, 12. Apr 1999, 21:18:25):
~#! rn=Belgariad rt=923398062 rg=entwicklung
~#! tid=923075959
Wieso nach dem Tod ukk in lang setzen? Beim Tod im ukk wird einfach die
Todessequenz uebersprungen und man landet sofort als Geist wieder in der
"richtigen" Welt. Zusaetzliche Ausgaben stoeren doch nur, oder?

Anthea gibt auch mal wieder ihren Senf dazu

-----------------------------------------------------------------------------



Re^3: ultrakurz (Alpha, 12. Apr 1999, 22:55:12):
~#! rn=Anthea rt=923944705 rg=entwicklung
~#! tid=923075959
Das waer die optimale Loesung.
Dafuer ;)
Alpha.

-----------------------------------------------------------------------------



Re^4: ultrakurz (Morgonate, 13. Apr 1999, 14:54:24):
~#! rn=Alpha rt=923950512 rg=entwicklung
~#! tid=923075959
hmm,
mir war so, als ob mal wer behauptet haette, dass es ein schock fuers leben
sei, wenn man als geist ueber seiner eigenen leiche schwebt. ;)
ausserdem haben sich viele leute viel muehe gemacht, ne todes-sequenz zu
tippen. also, warum diese arbeit misachten und das ueberspringen? 
langer rede, kurzer sinn: obwohl mich viele sequenzen nerven, dagegen.

morgonate

-----------------------------------------------------------------------------



Re^5: ultrakurz (Asmodis, 15. Apr 1999, 22:33:47):
~#! rn=Morgonate rt=924008064 rg=entwicklung
~#! tid=923075959
Also optional koennte man das ruhig machen, allerdings ist diese kleine
'Spielpause' nach einem Tod wohl zu sehr in das Spielkonzept verflochten ...

-----------------------------------------------------------------------------



Nur so.... (Alpha,  4. Mai 1999, 16:50:32):
Hab mal in andren Muds rumgeschnoeckert, und ein nettes Gimick gefunden, und
wollte mal so Euch fragen was ihr davon haltet, ob ihr das vielleicht auch
gerne haben wollt (vielleicht hat ein lieber Mag mal Zeit und Lust;))
Also....wem ist es nicht schon mal passiert - man talkt jemanden an und
wundert sich, warum man keine Antwort kriegt, obwohl der Gegenueber kein weg
gesetzt hat - man kriegts erst durch ein finger raus - der Gegenueber ist
schon Stunden passiv. Die Loesung zum Problaem waere: Wenn ein Spieler eine
gewisse Zeit passiv ist bekommt man, wenn man ihn antalkt, ne Meldung ala
"Alpha ist schon 10.30 Minuten passiv" oder so aehnlich.
Was haltet Ihr davon?
Alpha.

-----------------------------------------------------------------------------



Re: Nur so.... (Zarniya,  4. Mai 1999, 17:07:55):
~#! rn=Alpha rt=925829432 rg=entwicklung
~#! tid=925829432
Heya... wir sollten hier alles kopieren, was es in anderen Muds gibt, wenn die
sich schon an unserer Lib bedienen. Kann man nicht jede nacht einen ftpjob
starten, der die mudlibs aller deutschen Muds angleicht, damit ich auch
ueberall das finde, was ich hier habe und umgekehrt? Wer braucht schon
Vielfalt.

Marc

-----------------------------------------------------------------------------



Re: Re: Nur so.... (Hood,  4. Mai 1999, 17:11:41):
~#! rn=Zarniya rt=925830475 rg=entwicklung
~#! tid=925829432
der alte zankapfel :)
meiner meinung nach ist bisher noch niemand daran ugrunde gegangen, gute
ideen angepasst zu uebernehmen. das schafft man auch, ohne ein gutes mass
individualitaet aufzugeben.
der vorschlagg ist recht annehmbar und laesst auch in zukunft das MG
sicherlich MG sein...

------
patryn

-----------------------------------------------------------------------------



Re: Re: Nur so.... (Nonne,  5. Mai 1999, 09:13:45):
~#! rn=Zarniya rt=925830475 rg=entwicklung
~#! tid=925829432
Ich kann nicht ganz nachvollziehen, was die Uebernahme von (sinnvollen)
Gimmicks aus anderen Muds mit Vielfalt oder deren Abwesenheit zu tun hat. Es
sind bestimmt nicht die Gimmicks, die ein Mud ausmachen, wohl eher die Leute
(ein MG ohne Zarniya/Anatol/Key.... waere schon ein anderes) und die Gebiete.
Dann noch das Tank- und Metzelsystem fuer die Leute, die das schlimme Wort
(FORSCHEN!) nicht moegen. Aber ganz bestimmt aendert sich das Wesen des MG
nicht durch eine Zahl, die man zurueckbekommt, wenn man jemandes etwas
mitteilt. Aber es stand auch wenig in der MPA, wo man sich so richtig drueber
aufregen kann, da greift man nach jedem Strohlhalm, was Zarnichen?

Mein bescheidene Meinung (aber die sollte Gesetz sein ;-) )

Nonne, war schon immer bescheiden und selbstkritisch.

-----------------------------------------------------------------------------



Re: Nur so.... (Rikus,  5. Mai 1999, 09:50:56):
~#! rn=Alpha rt=925829432 rg=entwicklung
~#! tid=925829432
Gruss,
dies wollte ich schon lange mal einbauen, kam nur bisher leider nicht
dazu. Wenn der Rechner umgebaut ist, geht auch (hoffentlich) der ftp-Zugang
wieder und ich nehm mich dem mal an.

Rikus

-----------------------------------------------------------------------------



Re: Re: Nur so.... (Wurzel,  5. Mai 1999, 19:51:09):
~#! rn=Rikus rt=925890656 rg=entwicklung
~#! tid=925829432
find ich gut. auch wenn zarnidings wieder staenkert.
man koennte es ja auch so sehen: die anderen muds profitieren sicherlich
auch von der arbeit, die hier geleistet wird oder wurde, insbesondere wenn
sie die mg-lib oder spielarten davon verwenden. warum sollte dann mg nicht
auch von guten ideen profitieren, die andere haben?
das hat nichts mit mangelnder vielfalt zu tun. wer vielfalt will,
koennte ja auch die properties wieder abschaffen, das ist bestimmt ein
gutes stueck arbeit. aber es bringt keinen nutzen fuer den spielspass. und
der sollte doch im vordergrund stehen.

wurzel

-----------------------------------------------------------------------------



Re: Re: Nur so.... (Mupfel,  5. Mai 1999, 20:07:36):
~#! rn=Rikus rt=925890656 rg=entwicklung
~#! tid=925829432
Das hab ich aber anders in Erinnerung... Du *solltest* es einbauen, hattest
aber keine Lust oder keine Zeit oder woswasi :-) Naja schoen das Dus jetzt
endlich machst ...

-mupfel-
PS: Die Idee ist aus UNItopia, ich fand das so gut ich habs Rikus gleich
aufgedraengt :-)

-----------------------------------------------------------------------------



Re^3: Nur so.... (Woody,  6. Mai 1999, 00:33:26):
~#! rn=Wurzel rt=925926669 rg=entwicklung
~#! tid=925829432
Ich versteh die ganzen Diskussionen nicht.
Die MG-Lib ist GPL, somit sind auch alle Derivate GPL.
Wo ist das Problem? Warum sucht ihr ne Rechtfertigung? :)

nur noch schmunzelnd,
woody.-

PS. Gute Ideen haben sich meistens durchgesetzt, egal, von wo sie kamen.


-----------------------------------------------------------------------------



Re^4: Nur so.... (Trance,  6. Mai 1999, 00:37:30):
~#! rn=Woody rt=925943606 rg=entwicklung
~#! tid=925829432
Es gibt kein Problem. Es gibt notorische Noergler. Das juckt aber nicht
weiter, oder? :)

Trance, ganz ausgeglichen.

-----------------------------------------------------------------------------



Re^3: Nur so.... (Asmodis,  6. Mai 1999, 05:41:37):
~#! rn=Wurzel rt=925926669 rg=entwicklung
~#! tid=925829432
Also ich haette nix dagegen, wenn man Sachen aus anderen MUDs uebernimmt.
Vorrausgesetzt natuerlich, dass es gut ist und dass die MUD-Oberen dort
nix dagegen haben ....
Diese Moralisten, die alles andere ablehnen, nur weil es vielleicht aus einem
bestimmten MUD kommt, finde ich eh doof ...

-----------------------------------------------------------------------------



Re: Re: Nur so.... (Songoku,  6. Mai 1999, 11:00:57):
~#! rn=Zarniya rt=925830475 rg=entwicklung
~#! tid=925829432
und die welt wird auch gleich mitkopiert

Songoku (der auch im MG ne U-Bahn will)

-----------------------------------------------------------------------------



Re^3: Nur so.... (Morgonate,  6. Mai 1999, 12:54:50):
~#! rn=Songoku rt=925981257 rg=entwicklung
~#! tid=925829432
hmm, dann gib dein konzept an nen erzmagier deines vertrauens, und lass dir
eine proggen. ;)

morgonate -> schmarrn

-----------------------------------------------------------------------------



Re^4: Nur so.... (Mahatmu,  6. Mai 1999, 13:11:08):
~#! rn=Asmodis rt=925962097 rg=entwicklung
~#! tid=925829432
Der Thread entsteht mehr aus dem Frust ueber die Noergler, auch wenn
man die ja nicht an sich rankommen lassen sollte :)

Gloin ... hat als Leonidas@RB auch immer irgendwelche EMs mit:
 'Oh noe, jetzt hast Du uns gesagt, dass die das in MG aehnlich haben ...'

-----------------------------------------------------------------------------



Papierkram (Macq, 18. Mai 1999, 17:35:51):
Koennte das 'uebergehe' in der Zeitung so erweitert werden das auch mehrere
Rubriken mit aehnlichem Namen uebergangen werden koennen. Z.Bsp: uebergehe
gilden.*

Mac.

-----------------------------------------------------------------------------



Re: Papierkram (Sharia, 18. Mai 1999, 17:36:19):
~#! rn=Macq rt=927041751 rg=entwicklung
~#! tid=927041751
bestelle gilden.abenteurer ab heisst das :)

Sharia

-----------------------------------------------------------------------------



Re: Papierkram (Nevok, 18. Mai 1999, 17:36:31):
~#! rn=Macq rt=927041751 rg=entwicklung
~#! tid=927041751
abbonier die rubrik halt nicht, man....

-----------------------------------------------------------------------------



Re: Re: Papierkram (Grimmborn, 18. Mai 1999, 17:37:13):
~#! rn=Nevok rt=927041791 rg=entwicklung
~#! tid=927041751
Das ist noch weniger eine Antwort auf die Frage als es ein "uebergehe alles"
waere.

GdA

-----------------------------------------------------------------------------



Re: Papierkram (Nevok, 18. Mai 1999, 17:37:59):
~#! rn=Macq rt=927041751 rg=entwicklung
~#! tid=927041751
so und nun noch mal im Deutsch nach dem zweiten Schluck Kaffee am Morgen...
Wenn Du eine Rubrik nicht magst, bestell sie ab, Syntaxhilfe liefert die
Zeitungshilfe
is das nu das aequivalent zu 'read the fine manual'? ;)

-----------------------------------------------------------------------------



Re: Re: Papierkram (Mahatmu, 18. Mai 1999, 17:42:03):
~#! rn=Nevok rt=927041879 rg=entwicklung
~#! tid=927041751
*piep* Wieder daneben. Manchmal, nach langer Pause, moechte ich bestimmte
Rubriken eben nicht von Anfang an lesen ...
However, kennt sich ueberhaupt noch einer im Code der Zeitung aus? :)

Mahatmu

-----------------------------------------------------------------------------



Re: Re: Papierkram (Grimmborn, 18. Mai 1999, 17:42:31):
~#! rn=Nevok rt=927041879 rg=entwicklung
~#! tid=927041751
"read the fine manual"? I *know* how to fin... never mind.

GdA

-----------------------------------------------------------------------------



Re^3: Papierkram (Nevok, 18. Mai 1999, 17:50:53):
~#! rn=Grimmborn rt=927042151 rg=entwicklung
~#! tid=927041751
you know how to fine?
hmmmmm
gibts nu schon strafmandate fuer Zeitungsartikel?
eigentlich keine schlechte Idee, das koennte aber ein paar Leute hier teuer zu
stehen kommen wenn die sich wie ueblich im Ton vergreifen
Wegmeldung 'metzeln fuers Artikelschreiben' wird dann wohl ne Haeufigkeit
*schmunzelt*

-----------------------------------------------------------------------------



Re: Re: Papierkram (Widewitt, 19. Mai 1999, 03:00:43):
~#! rn=Nevok rt=927041879 rg=entwicklung
~#! tid=927041751
also unter rtfm versteh ich nicht the Fine manual :)

-----------------------------------------------------------------------------



Re^3: Papierkram (Householder, 19. Mai 1999, 12:17:20):
~#! rn=Widewitt rt=927075643 rg=entwicklung
~#! tid=927041751
es ist aba fine gemeint wenn die manuals nicht fine waeren, wuerde der
ratgebende diese ja nicht zur lektuere empfehlen ...

-----------------------------------------------------------------------------



Re^3: Papierkram (Larissa, 19. Mai 1999, 20:51:08):
~#! rn=Mahatmu rt=927042123 rg=entwicklung
~#! tid=927041751
Also,

fuer ein 'abboniere irgendwas.*' oder 'bestelle irgendwas.* ab'
waer ich auch zuhaben. Enorm praktisch und zeitsparend.

Lari, faul.

-----------------------------------------------------------------------------



Re^4: Papierkram (Acrimon, 19. Mai 1999, 21:05:37):
~#! rn=Larissa rt=927139868 rg=entwicklung
~#! tid=927041751
Wieviele Rubriken abonnierst Du denn so durchschnittlich pro Minute bzw.
stellst Du pro Minute ab?

Acrimon

-----------------------------------------------------------------------------



Re^4: Papierkram (Widewitt, 21. Mai 1999, 03:27:49):
~#! rn=Larissa rt=927139868 rg=entwicklung
~#! tid=927041751
Ach komm, es geht doch auch so, man bestellt (ab) doch nicht jeden tag hundert
rubriken !
Lasst die Mags doch andere schoene Sachen machen :))

Widewitt (senfend)

-----------------------------------------------------------------------------



Re: Nur so.... (Rikus, 23. Mai 1999, 13:04:27):
~#! rn=Alpha rt=925829432 rg=entwicklung
~#! tid=925829432
Hi,

so, nun ist es eingebaut, fuer teile-mits von aussen geht es sofort, fuer
MG-interne ab ende/reboot.

Rikus

-----------------------------------------------------------------------------



motd (Pra,  1. Jun 1999, 15:02:12):
Moin!

Die motd ist inzwischen so lang, dass sie scrollt. Kann man da ein 'more'
einbauen? Und wenn man schon dabei ist - wie waere es mit einem Befehl 'motd'?

Pra.

-----------------------------------------------------------------------------



Tester fuer neue Quest gesucht! (Tsunami, 14. Jun 1999, 12:05:47):
Hallo Leute,

Meine erste "richtige" Quest ist fertig geproggt und bereits von einigen 
Magiern durchgetestet worden. Ich brauche noch ein paar willige Spieler,
die die Quest in die Mangel nehmen. Gute Ideen, die daraus entstehen
koennten, werden gerne noch eingebaut.

Die Quest ist vom Umfang her etwa mit der "Lampenoel-Quest" auf Tortuga zu
vergleichen und vom Schwierigkeitsgrad her eine Anfaengerquest, die auf
der Hochebene angeschlossen wird.

Wer Lust hat, soll sich doch bei mir melden und ich stelle meinen 
Testspieler gerne zur Verfuegung. Die Regeln sind einfach: Ihr duerft die
Quest nicht mit eurem Charakter durchspielen, sondern mit einem Testspieler,
und Gegenstaende, die in der Quest auftauchen, duerfen nicht aus dem 
Questgebiet gebracht werden.

Wer dies akzeptiert und Lust hat, sich die Sache anzuschauen, und vor allem
gute Ideen einbringen will, soll mir das mitteilen oder ne Email schicken.


Vielen Dank,

Tsunami

-----------------------------------------------------------------------------



Re: Tester fuer neue Quest gesucht! (Tsunami, 14. Jun 1999, 16:30:10):
~#! rn=Tsunami rt=929354747 rg=entwicklung
~#! tid=929354747
Uj, die Resonanz war ja riesig :))
Ich habe genug willige Tester und danke den beiden ersten Tester Niete und
Gorog fuer das gekonnte durchspielen. Die restlichen Tester werden 
benachrichtigt, wann sie drannkommen. Ich muss schliesslich noch das
Repfile abarbeiten und ein paar gute Ideen (meist Syntaxvorschlaege) noch
einbauen.

Nochmals danke fuer das ueberwaeltigende Angebot williger Tester. Die 
Magier musste ich mit vorgehaltenem Zap-Tool zwingen, damit sie mal einen
Blick auf die Quest werfen.... :)))

-----------------------------------------------------------------------------



kinder? (Catweazle, 15. Jun 1999, 09:14:51):
~#! on=Ikea ot=929363920 og=allgemeines
hallo, wie waere es denn, wenn man im mg auch kinder kriegen koennte? z.b.
zweities, die dann quasi kinder sind.. oder jemanden adoptieren? 
viele gruesse,
ikea

-----------------------------------------------------------------------------



Re: kinder? (Catweazle, 15. Jun 1999, 09:14:55):
~#! on=Bambulko ot=929364075 og=allgemeines
~#! rn=Ikea rt=929363920 rg=allgemeines
~#! tid=929363920
Wer Magier, dann kannst Du auch Kinder haben....

Bambulko

-----------------------------------------------------------------------------



Re: Re: kinder? (Catweazle, 15. Jun 1999, 09:15:01):
~#! on=Bambulko ot=929364094 og=allgemeines
~#! rn=Bambulko rt=929364075 rg=allgemeines
~#! tid=929363920
Das sollte Werd Magier heissen.....

-----------------------------------------------------------------------------



kinder (Ikea, 16. Jun 1999, 12:59:12):
ich will ja kein kind KRIEGEN, ich will ja adoptiert werden!!!

-----------------------------------------------------------------------------



Re: kinder (Tunixgut, 16. Jun 1999, 13:00:52):
~#! rn=Ikea rt=929530752 rg=entwicklung
~#! tid=929530752
Ich WILL is aber 'ne denkbar schlechte Voraussetzung fuer eventuelle.
Eltern...

's Karate-Zwerchle...

-----------------------------------------------------------------------------



FBaender (Teddy, 28. Jun 1999, 17:09:41):
Hiho,

da ja gerade die FBaender in der Mache sind, koennte man nicht ein kleines
Feature mit einbauen? 
Wenn sich ein Freund von mir geloescht hat, waere ne kurze Mitteilung beim
naechsten einloggen nicht schlecht. Sozusagen als Hammer gleich beim Login.

Teddy, trauert einem Freund nach.

-----------------------------------------------------------------------------



Re: FBaender (Ringor, 28. Jun 1999, 21:25:29):
~#! rn=Teddy rt=930582581 rg=entwicklung
~#! tid=930582581
Zwar nicht als direkte Mitteilung, aber immerhin beim neuen Befehl "fstat" ist
es eingebaut.

Lasst Euch einfach ueberraschen und probiert mal "hilfe freundschaftsband".

Nein, erst NACH dem Reboot. ;-)

Ringor, stellvertretend fuer seinen dummen Zweitie.

-----------------------------------------------------------------------------



ich bin nun wieder oefter im Mud! (Tsunami, 26. Jul 1999, 11:39:08):
Huhu Freunde!

Etwas in eigener Sache :) 
Ich war die letze Zeit nicht im Mud -- hoechstens unsichtbar, um so 
ungestoert mein Repfile abzuarbeiten. Denn am Freitag habe ich mich selbst 
weiter entwickelt, und den Doktor (in Zellbiologie) gemacht, und erst noch
mit den besten Noten... da sieht man es mal wieder, Mudden macht schlau!! :)

Da mich mein Chef gerne noch behalten moechte, und wir hier punkto Equipment
sehr gut ausgeruestet sind, werde ich noch eine zeitlang in diesem Labor
bleiben und deshalb auch immer wieder Zeit finden, im Mud zu sein, um 
schreckliche Dinge zu entwickeln. Freut euch schon mal auf den gemeinsamen 
Phygos/Tsunami-(TM)-Geniestreich...

In diesem Sinne: weiterhin unbeschwertes Mudden,

Tsunami.

-----------------------------------------------------------------------------



Re: ich bin nun wieder oefter im Mud! (Brandir, 26. Jul 1999, 11:45:36):
~#! rn=Tsunami rt=932981948 rg=entwicklung
~#! tid=932981948
Na, auf jeden Fall mal Herzlichen Glueckwunsch :-)

Wenn mudden gut fuers Bio-Studium ist, kann ich mich ja nr freuen.

Brandir - wartet gespannt

-----------------------------------------------------------------------------



Re: Re: ich bin nun wieder oefter im Mud! (Birdy, 26. Jul 1999, 12:37:58):
~#! rn=Brandir rt=932982336 rg=entwicklung
~#! tid=932981948
Grats !:))

-----------------------------------------------------------------------------



erwarte (Rikus, 26. Jul 1999, 21:59:46):
Hi,
wenn man nun einen Erwarteten wieder austraegt, so wird er auch aus der
Liste derer ausgetragen, die man aus einem bestimmten Grund erwartete,
umgekehrt nicht.

Rikus

-----------------------------------------------------------------------------



Re: ich bin nun wieder oefter im Mud! (Jameson, 27. Jul 1999, 01:51:00):
~#! rn=Tsunami rt=932981948 rg=entwicklung
~#! tid=932981948
> ungestoert mein Repfile abzuarbeiten. Denn am Freitag habe ich mich selbst
> weiter entwickelt, und den Doktor (in Zellbiologie) gemacht, und erst noch

boah! ich muss unbedingt wissen, wie Du das so schnell geschafft hast!
*auch will*

jAmeson -> schmarrn

-----------------------------------------------------------------------------



debugs... (Patryn, 30. Jul 1999, 15:14:00):
(1) beim skelettzombie sollten kaempfer das treppe runterfallen nun nicht
    mehr abwehren/ausweichen, also vorsicht, wer den bug einrechnet
(2) rattenblut wiegt getrunken natuerlich nicht 150 kilo :) bug entfernt
(3) rattenleichen sollte man nie essen koennen, deshalb ziehen sie
    lebenspunkte, aber der wert war laecherlich, vorsicht ab jetzt
(4) ratten sollte man draussen nicht mehr so leicht erwischen
(5) verteidiger von anderen leuten sollten aufpassen...ACHTUNG! vorsichtig
    austesten
das wars glaub ich, das zeug musste halt in die zeitung, damit mir keiner
boeswilliges zappen vorwirft :)

ach ja, es betrifft natuerlich nur die ratten der rattenkoenigin

------
patryn

-----------------------------------------------------------------------------



nur ein ... (Sorcerer,  1. Aug 1999, 01:11:29):
... spontaner Einfall:

koennte man nicht in /obj/werliste.c noch ein :
  if (ob->QueryProp(P_SECOND)&&l<LEARNER_LVL)
    return "Z"; 

unter der Zeile fuer den "z" Zweitie einbauen? Dann haetten Zweitieseher auch
ihre Markierung :)

Sorcerer

P.S.: Ich hoffe, dass das hier in der MGLib genauso strukturiert ist, wie ich
es kenne :)

-----------------------------------------------------------------------------



Re: nur ein ... (Paracelsus,  1. Aug 1999, 21:42:59):
~#! rn=Sorcerer rt=933462689 rg=entwicklung
~#! tid=933462689
Laesst sich machen.

Para*.

-----------------------------------------------------------------------------



Schluessel (Kerker, Chaosfestung) (Mesirii,  3. Aug 1999, 21:51:55):
Liebe Magier,

wenn ich oefters so in mein inventory gucke sehe ich da viele Items, die
ich nicht mehr richtig zuordnen kann (z.B. Schluessel) oder ich moechte 
manchen items gern einen kurzen Kommentar verpassen.
Was haltet ihr davon wenn man die p_short der objekte um ca. 30-40 zeichen
erweitern koennte (z.B. in Klammern dahinter ?closure?), so dass man auch
spaeter noch weiss, in welches schloss ein schluessel passt.
Vielleicht waere das ja ne lohnende Questbelohnung.

Mesi

-----------------------------------------------------------------------------



Behaelter mit guckloch (Mesirii, 18. Aug 1999, 13:33:13):
Gibt es irgendwo einen Behaelter, der seinen Ihnhalt mit in der p_short
anzeigt?
Wenn nicht waere das doch mal ein nuetzliches item zum sortieren des
invetories.
Die Dinge in dem Behaelter koennten z.b. in klammern durch kommata getrennt
hinter seinem namen stehen
Mesi, mit vollem inv ;)

-----------------------------------------------------------------------------



Re: Schluessel (Kerker, Chaosfestung) (Guildo, 24. Aug 1999, 08:03:38):
~#! rn=Mesirii rt=933709915 rg=entwicklung
~#! tid=933709915
<senf>
Och, ich glaube, gerade bei Schluesseln ist das doch nicht allzuweit vom RL
entfernt; ich kann mir bei meinem Schluesselbund auch nie merken, welcher
Schluessel wofuer ist und probier oft erst mal ein paar davon durch, bevor
einer passt.
</senf>


Gruss, Guildo

-----------------------------------------------------------------------------



Ladenumstellung (Foobar, 28. Aug 1999, 18:06:24):
Tag auch.

Ich weiss nicht, ob es hier jemanden interessiert, aber die Liste, die man nun
im Laden der Braddons angezeigt bekommt finde ich sehr gelungen.

Foobar, will auch mal was schreiben.

-----------------------------------------------------------------------------



Re: Ladenumstellung (Sublime, 29. Aug 1999, 11:07:17):
~#! rn=Foobar rt=935863584 rg=entwicklung
~#! tid=935863584
Moin zusammen ;)

Eigentlich wollte ich mich Foobar nur mal anschliessen und nur wissen, ob
das mal so mit allen Laeden passieren soll ?

Subl

-----------------------------------------------------------------------------



Re: Re: Ladenumstellung (Hight, 29. Aug 1999, 13:44:18):
~#! rn=Sublime rt=935924837 rg=entwicklung
~#! tid=935863584
nerja is wess ja net ... abba irgendwie scrollt das jetze wie sauch ... 
abba nerja fuer 'neue spieler' is die auflistung sehr vorteilhaft .o)

hight

-----------------------------------------------------------------------------



Re: Re: Ladenumstellung (Rochus, 30. Aug 1999, 13:33:14):
~#! rn=Sublime rt=935924837 rg=entwicklung
~#! tid=935863584
Nee, das ist besonderer Service der Braddons :-)
Allerdings ueberlege ich mir, "zeige keulen"
usw. standardmaessig in die Laeden einzubauen.

  Rochus

-----------------------------------------------------------------------------



k*wer (Paracelsus, 31. Aug 1999, 16:37:19):
Hi.

Da es "erwarte <x> wegen <grund>" gibt, gibt es jetzt auch ein
"kwer erwartete wegen".

Para*

-----------------------------------------------------------------------------



Re: k*wer (Lillebror, 31. Aug 1999, 19:39:17):
~#! rn=Paracelsus rt=936117439 rg=entwicklung
~#! tid=936117439
Wow, das ist gut!

-----------------------------------------------------------------------------



Magiertitel (Dieder,  2. Sep 1999, 19:47:06):
Hi,

ist zwar nur ne Kleinigkeit, aber trotzdem:
Ich finde den Titel "Hilfsmagier" total bescheuert... Immerhin sind diese Mags
ueber den Regionsmags etc, aber der Titel klingt echt nach Hilfsarbeiter,
Putzfrau, oder Klerikerschwuchtel *g* (Chaosdeutsch :-)))

Also wenn da mal jemandem nen passenderes Wort einfallen wuerde waer es IMHO
kein Fehler :)

Gruss,
Dieder

-----------------------------------------------------------------------------



Re: Magiertitel (Dieder,  2. Sep 1999, 19:49:06):
~#! rn=Dieder rt=936301626 rg=entwicklung
~#! tid=936301626
kontrolle
ARGL, ich meinte natuerlich nicht Regionsmagier, sondern Regionsmitarbeiter...
trotzdem sind letztere unter den Hilfsmagiern, aber ihr Titel ist um einiges
klangvoller... :)

scheiss alzheimer :)

Dieder

-----------------------------------------------------------------------------



Re: Re: Magiertitel (Anatol,  2. Sep 1999, 19:50:18):
~#! rn=Dieder rt=936301746 rg=entwicklung
~#! tid=936301626
Sieh es so: Nur selten wird unter Magiern wirklich die Hilfe von
anderen Magiern benoetigt. Wenn Du also ein Magier bist, dessen Hilfe
irgendwo gebraucht wird, bist Du etwas besonderes. Du stehst damit 
eigentlich sogar ueber den Erzmagiern... (*duck* :o))

Anatol ;)


-----------------------------------------------------------------------------



Re^3: Magiertitel (Salandrion,  2. Sep 1999, 20:00:39):
~#! rn=Anatol rt=936301818 rg=entwicklung
~#! tid=936301626
Hilfsmagier klingt echt lustig. Was sind denn die Aufgaben eines Hilfsmagiers?
Vielleicht findet man ueber die Aufgaben einen passenderen Namen!

Salandrion Funkenreiter, der vom Magierwesen im MG nicht soviel weiss und der
Hilfe nix entnehmen konnte, was ein Hilfsmagier denn so machen soll.

-----------------------------------------------------------------------------



Re: Magiertitel (Shannara,  2. Sep 1999, 20:11:18):
~#! rn=Dieder rt=936301626 rg=entwicklung
~#! tid=936301626
Versuchs mal mit 'Hochmagier' oder einfach einen Titel a la 'Magier fuer
Balance' oder so. Dann koennte man sich das 'Hochmagier' sparen :)

Shannara

-----------------------------------------------------------------------------



Re: Re: Magiertitel (Anatol,  2. Sep 1999, 20:11:40):
~#! rn=Shannara rt=936303078 rg=entwicklung
~#! tid=936301626
Magier fuer Balance? Geht es Dir noch ganz gut?

Anatol


-----------------------------------------------------------------------------



Re: Re: Magiertitel (Teddy,  2. Sep 1999, 22:39:42):
~#! rn=Shannara rt=936303078 rg=entwicklung
~#! tid=936301626
Geruechteweise soll es noch mehr als einen Hilfsmagier geben und die waeren
dann nicht alle in der Balance, so wie es auch Nichtmagier (umgangssprachlich
auch Spieler oder Seher genannt) in der Balance geben soll hab ich mal
geruechteweise gehoert glaub ich zumindest.

Teddy o O (Geiler Satz) ;-)

-----------------------------------------------------------------------------



Re: Re: Magiertitel (Teddy,  2. Sep 1999, 22:40:26):
~#! rn=Dieder rt=936301746 rg=entwicklung
~#! tid=936301626
Wie waers wenn wir statt dessen die Regionsmitarbeiter umbenennen:
Als Magier die in der Hierarchie unter den Hilfsmagier stehen waeren sie wohl
am ehesten Assistenten des Hilfsmagiers.

Teddy ;-)

-----------------------------------------------------------------------------



Re: Magiertitel (Patryn,  2. Sep 1999, 23:04:27):
~#! rn=Dieder rt=936301626 rg=entwicklung
~#! tid=936301626
du kannst da nicht ernsthaft nen vernuenftigen posten draus machen wollen?
und wohin soll ich dann? :)

------
patryn

ps: ihr habt sorgen :)

-----------------------------------------------------------------------------



Re^3: Magiertitel (Trug,  3. Sep 1999, 05:37:04):
~#! rn=Teddy rt=936311982 rg=entwicklung
~#! tid=936301626
Argl muesst ihr denn euch alle auf genau dieses Beispiel werfen und seid so
kurzsichtig (sorry), dass das als Beispieltitel genannt wurde, und nicht
ERNSTLICH.

Ich meinte halt nur damit, den Titel 'Hilfsmagier' durch was anderes ersetzen,
dass eben die Arbeit des entsprechenden Magiers beschreibt. Mehr nicht. Und
nur als Antwort auf Dieders Artikel *seufz*.

Trug.

-----------------------------------------------------------------------------



Re^4: Magiertitel (Hate,  3. Sep 1999, 07:11:44):
~#! rn=Trug rt=936337024 rg=entwicklung
~#! tid=936301626
Wir koennen natuerlich militaerische Raenge einfuehren :-)

Hate.

-----------------------------------------------------------------------------



Re^5: Magiertitel (Trug,  3. Sep 1999, 07:17:34):
~#! rn=Hate rt=936342704 rg=entwicklung
~#! tid=936301626
Warum net, wenn ihr Lust darauf habt *kicher*

*waelz*
Trug.

-----------------------------------------------------------------------------



Re^6: Magiertitel (Grimmborn,  3. Sep 1999, 09:23:07):
~#! rn=Trug rt=936343054 rg=entwicklung
~#! tid=936301626
Mir wuerde eher was in der Art von "Oberamtsmagier in gehobener Position"
vorschweben. Schliesslich ist das hier ein deutsches mud.

Grimmborn der Atheist. Lehr^WStif^WAzubi.

-----------------------------------------------------------------------------



Re^7: Magiertitel (Jamalski,  3. Sep 1999, 10:52:03):
~#! rn=Grimmborn rt=936350587 rg=entwicklung
~#! tid=936301626
Toz, Chaoten! Ruhe, Rest!
Wir sind hier im MG und nicht in Oesterreich! Wir brauchen hier keinen
daemlichen Titel, an denen ich feststellen kann, wer fuer was zustaendig ist.
Zur Not frage ich die Person oder jemand der die Person kennt!
Und wie sieht das denn aus: Das ist Kowalski. Er ist fuer einen
Magier-der-immer-da-rumlaeuft-und-spieler-stresst-wo-sich-has'-und-igel-gute-n
acht-sagen ziemlich gross. ...
Datt nervt dann ein bisschen schnell, denke ich!
Wenn ihr es wirklich so genau archiviert und katalogisiert haben wollt, dann
waere ich dafuer, dass Mag einen STRICHCODE bekommen.
Mit unt strichcode bekommt man dann genau die Infos, die man haben will.

Millenium - Endzeit - Jamalski

-----------------------------------------------------------------------------



Re^4: Magiertitel (Mahatmu,  3. Sep 1999, 12:50:47):
~#! rn=Salandrion rt=936302439 rg=entwicklung
~#! tid=936301626
In unserem MUD sind das die Leute, die sich um Dokus kuemmern sollen.
Treffenderweise werden die auch Hampelmannmagier genannt. Wenn der EM
an der Strippe zieht, wedeln sie mit den Armen.

Leo^H^H^HMahatmu

-----------------------------------------------------------------------------



Re^5: Magiertitel (Boing,  3. Sep 1999, 15:35:32):
~#! rn=Mahatmu rt=936363047 rg=entwicklung
~#! tid=936301626
Leider schon wieder falsch, tststs, heute haust Du echt oft daneben. :)
Die sogenannten Hilfsmagier betreuen mehr oder weniger selbststaendig
eine kleine (?) oder auch groesser Aufgabe, z.B. Doku, oder die MPA
(da hat z.B. Loco seinen Level 35 her) oder sonstwas. Ausserdem ist
Level 35 der Alterssitz fuer ehemalige Regionsmagier.
  Boing

-----------------------------------------------------------------------------



Re^6: Magiertitel (Mahatmu,  3. Sep 1999, 15:40:41):
~#! rn=Boing rt=936372932 rg=entwicklung
~#! tid=936301626
.... mit _unserem MUD_ war nicht MG gemeint ... *mein*

Mahatmu

-----------------------------------------------------------------------------



Re^8: Magiertitel (Salandrion,  3. Sep 1999, 17:20:16):
~#! rn=Jamalski rt=936355923 rg=entwicklung
~#! tid=936301626
Wenn das so ist, mir war das bislang nicht klar, warum gibt es dann ueberhaupt
unterschiedliche Titel? Also mein Anseatz war lediglich zu sagen, wenn ihr nen
Namensvorschlag wollt, dann sollte Euch auch klar sein, was hinter einer
bestimmten Stufe steht, und was fuer Aufgaben damit verbunden sind.

Wenn das allerdings wie ich so aus der Diskussion herausbekommen habe wirklich
nen Titel ist, wo alle Magier zusammengefasst werden, fuer die es keinen
angemessenen Titel gibt, dann sollte man das wohl auf Hilfsmagier lassen.

Salandrion Funkenreiter.

-----------------------------------------------------------------------------



Re^4: Magiertitel (Ark,  3. Sep 1999, 17:43:19):
~#! rn=Salandrion rt=936302439 rg=entwicklung
~#! tid=936301626
Hilfe -> kommt von helfen.
Fragen?


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^5: Magiertitel (Daria,  3. Sep 1999, 17:44:51):
~#! rn=Ark rt=936380599 rg=entwicklung
~#! tid=936301626
Also Hilfsmagier find ich wirklich seltsam. WIe Hilfsarbeiter.... 
Wie klingt dann Magier fuer besondere Aufgaben? 
Das heisst auch alles oder nix... ;-)
Daria Wetterwachs

-----------------------------------------------------------------------------



Re^3: Magiertitel (Ark,  3. Sep 1999, 17:55:24):
~#! rn=Teddy rt=936312026 rg=entwicklung
~#! tid=936301626
Hm, ich haette da noch Ideen fuer ein fein untergliedertes Hierarchiesystem
mit ausgekluegelten Titeln, die die Kompetenz desjenigen/derjenigen explizit
wiederspiegelt. "Kanzler", "Geheimrat" und "Lakai" fallen mir spontan ein,
natuerlich auch die dementsprechenden weiblichen Titel. Wir sollten nichts
ueberstuerzen und sofort einen Beirat bilden, der sich ausgiebig mit der
Thematik befasst und auch beschlusskraeftig ist.
Weiterhin muesste ein Gremium darueber wachen, dass der Beirat, nennen wir ihn
"Beirat und Lieferant lebensechter, sehr hoheitsvoll intonierender Titel",
kurz B.U.L.L.S.H.I.T., seine ihm angetragenen Befugnisse nicht ueberschreitet,
also quasi ein schlaegkraefiges Kontrollorgan, den verschiedenen Balance-Teams
gleichgestellt.
Dem Beirat werden durch regelmaessige, maessig demokratische Wahlen
Titelvorschlaege unterbreitet, aus denen er die jeweiligen Titel auswaehlt.
Einfache Mehrheit sollte entscheiden, bei Stimmgleichheit gibt es Stichwahl.
Diese Titel gelten nunmehr als vorlaeufig in Gebrauch, entgueltig zu
verabschieden sind sie vom Titelsenat, einem noch zu klaerenden Organ, dem
einerseits eine Stabsfunktion zufaellt, das aber andererseits und gerade
deswegen auch eine exekutiv umfangreiche Machtbefugnis zuzuordnen sein wird.

Schaun wer mal ...


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^4: Magiertitel (Muadib,  3. Sep 1999, 22:24:58):
~#! rn=Ark rt=936381324 rg=entwicklung
~#! tid=936301626
vorschlag an den beirat: nulldoedel, doedel, grossdoedel, oberdoedel,
meisterdoedel und hauptdoedel

muadib *doedelnd*

-----------------------------------------------------------------------------



Re^5: Magiertitel (Teddy,  3. Sep 1999, 23:01:10):
~#! rn=Muadib rt=936397498 rg=entwicklung
~#! tid=936301626
Koennten wir noch den Assistenten des nulldoedels einfuehren? Sozusagen als
unterste Unterstufe.

Teddy

-----------------------------------------------------------------------------



Re^6: Magiertitel (Gnome,  4. Sep 1999, 04:14:31):
~#! rn=Teddy rt=936399670 rg=entwicklung
~#! tid=936301626
bin dafuer.
aber wie nennen wir dann seher respektive spieler, wenn magier schon
doedel sind?
lakaien des assistenten des nulldoedels? bzw. unterlakaien?

ich bitte um gruendung eines ausschusses, bestehend aus mitgliedern des
beirats, sowie sehern und spielern um dies ein fuer allemal zu klaeren!

gnOme


-----------------------------------------------------------------------------



Re^7: Magiertitel (Ark,  4. Sep 1999, 09:42:50):
~#! rn=Gnome rt=936418471 rg=entwicklung
~#! tid=936301626
Ich denke, wir legen diese Petition dem Grossinquisitor vor. Moege seine
Weisheit so gross wie sein ... Haupt sein.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^8: Magiertitel (Apsu,  4. Sep 1999, 11:09:47):
~#! rn=Jamalski rt=936355923 rg=entwicklung
~#! tid=936301626
Soll man den Strichcode antackern oder einbrennen?

Apsu, heute mal kreativ 

-----------------------------------------------------------------------------



Re^6: Magiertitel (Apsu,  4. Sep 1999, 11:12:15):
~#! rn=Teddy rt=936399670 rg=entwicklung
~#! tid=936301626
Minusdoedel?

-----------------------------------------------------------------------------



Re^7: Magiertitel (Silvana,  4. Sep 1999, 13:44:17):
~#! rn=Apsu rt=936443535 rg=entwicklung
~#! tid=936301626
Hm... Irgendwie fehlt mir noch die Erwaehnung des gefuellten Doedels... Was
das dann in dem Zusammenhang sein mag...?

  Silvana

-----------------------------------------------------------------------------



Re^8: Magiertitel (Grimmborn,  4. Sep 1999, 14:19:40):
~#! rn=Silvana rt=936452657 rg=entwicklung
~#! tid=936301626
Und wir sollten auch Ralf Koenig nicht vergessen. Als "Dicke Doedel" wuerde
sich zumindest ein Teil der sog. Goetter anbieten...

GdA

-----------------------------------------------------------------------------



Re^6: Magiertitel (Trug,  5. Sep 1999, 15:50:33):
~#! rn=Daria rt=936380691 rg=entwicklung
~#! tid=936301626
Eben wie Hilfsarbeiter, die ungeliebte Jobs ausfuehren und so *zwinker*

Trug.

-----------------------------------------------------------------------------



Re^9: Magiertitel (Trug,  5. Sep 1999, 15:51:17):
~#! rn=Apsu rt=936443387 rg=entwicklung
~#! tid=936301626
Einbrennen. :)

Trug.

-----------------------------------------------------------------------------



Re^7: Magiertitel (Hobo,  5. Sep 1999, 17:01:03):
~#! rn=Gnome rt=936418471 rg=entwicklung
~#! tid=936301626
Hmm, also Seher sind klar: Wuerste.
Fuer die Spieler faellt uns sicher auch noch was ein: Pflichquester oder
einfach nur Lusche?

  Hobo -Doedeline

-----------------------------------------------------------------------------



Re^8: Magiertitel (Householder,  5. Sep 1999, 17:01:57):
~#! rn=Hobo rt=936550863 rg=entwicklung
~#! tid=936301626
WAS IST EINE DOEDELINE ????
HH, neugierig grunzend

-----------------------------------------------------------------------------



Re^8: Magiertitel (Teddy,  6. Sep 1999, 02:07:22):
~#! rn=Hobo rt=936550863 rg=entwicklung
~#! tid=936301626
Ich plaediere in dem Zusammenhang wieder mal fuer Frischfleisch.

Teddy

-----------------------------------------------------------------------------



Re^3: Magiertitel (Guildo,  6. Sep 1999, 08:13:00):
~#! rn=Teddy rt=936312026 rg=entwicklung
~#! tid=936301626
<senf>
Was haltet Ihr von "MTA" (magisch-technischer Assistent)?
</senf>

Gruss,
Guildo

-----------------------------------------------------------------------------



Re^9: Magiertitel (Apsu,  6. Sep 1999, 17:22:28):
~#! rn=Householder rt=936550917 rg=entwicklung
~#! tid=936301626
Gemeint ist sicherlich Doedelette. oder auf emanzisch: DoedelIn.

Apsu, mal muellend
:)

-----------------------------------------------------------------------------



Re^10: Magiertitel (Streawkceur,  6. Sep 1999, 20:49:59):
~#! rn=Apsu rt=936638548 rg=entwicklung
~#! tid=936301626
Doedeloese

rr

-----------------------------------------------------------------------------



Re^11: Magiertitel (Silvana,  6. Sep 1999, 21:06:47):
~#! rn=Streawkceur rt=936650999 rg=entwicklung
~#! tid=936301626
Holleri, Dudoedeldu?

Silvana - auf Loriots Spuren

-----------------------------------------------------------------------------



Re^12: Magiertitel (Streawkceur,  6. Sep 1999, 21:14:27):
~#! rn=Silvana rt=936652007 rg=entwicklung
~#! tid=936301626
Hm... war das nicht das 2. Futur bei Sonnenaufgang?

rr

-----------------------------------------------------------------------------



Re^13: Magiertitel (Nevok,  6. Sep 1999, 21:15:35):
~#! rn=Streawkceur rt=936652467 rg=entwicklung
~#! tid=936301626
das waere dann aber didoedeldei


nevok, loriot cd lauschend

-----------------------------------------------------------------------------



Re^14: Magiertitel (Ark,  6. Sep 1999, 21:16:39):
~#! rn=Nevok rt=936652535 rg=entwicklung
~#! tid=936301626
Hab ich mit dem Artikel jetzt ein inneres Beduerfnis bei einigen hier geweckt?
Wenn ja, dann au weia (c:


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^15: Magiertitel (Spirill,  7. Sep 1999, 20:05:57):
~#! rn=Ark rt=936652599 rg=entwicklung
~#! tid=936301626
Oh, endlich mal Nackengymnastik: ein neues Smilie!!
Spirill, entzueckt ( so kann man auch mit kleinen Sachen etc etc....)

-----------------------------------------------------------------------------



Magiertitel (Smarte, 13. Sep 1999, 13:14:51):
Mir fehlt noch aller Dilbert :
vor-allen-baeuchlings-kriechender-unterhilfsmagier-assistent.
Ich hab da noch ein paar ideen. :)
Smarte 

-----------------------------------------------------------------------------



Team Hist (Dieder, 24. Sep 1999, 21:31:22):
Halloechen,

ist sowas wie team hist geplant, also eine history allen team rufes? :)

Dieder

-----------------------------------------------------------------------------



Ein Pfirsich (leuchtend). (Parsival,  4. Okt 1999, 23:44:29):
Hi,

ich haette einen Vorschlag fuer den Pfirsich: koennte man nicht - zumind.
sobald er leuchtet - die ID "Frucht" ausbauen? Es ist naemlich sehr
aergerlich, wenn man in der SSP zur Tanke rennt, 'iss frucht' tippt und dann
seinen Pfirsich aufisst...
Ich weiss, wenn man Wegeskripte verwendet, passiert das nicht, weil man immer
am richtigen Ort rauskommt, aber ohne steht man nunmal manchmal 1 Feld daneben
und nicht-Skripten sollte ja wohl nicht bestraft werden :)

Parsival

-----------------------------------------------------------------------------



Re: Ein Pfirsich (leuchtend). (Lillebror,  4. Okt 1999, 23:47:19):
~#! rn=Parsival rt=939080669 rg=entwicklung
~#! tid=939080669
Ein Pfirsich bleibt eine Frucht auch wenn er leuchtet. Oder nicht? :-)

-----------------------------------------------------------------------------



Re: Ein Pfirsich (leuchtend). (Agony,  4. Okt 1999, 23:48:29):
~#! rn=Parsival rt=939080669 rg=entwicklung
~#! tid=939080669
och, du tust mir aber leid...das hauptschuldige objekt, dass alle wie
nen weihnachtsbaum durch die gegend flitzen wagt es, auch noch einen
nachteil zu haben: es stoert dich in deinen tankgewohnheiten.
hoffentlich baut das schnell einer um...

------
patryn plaediert sowieso fuer eine radikale anzahlbegrenzung

-----------------------------------------------------------------------------



Re: Re: Ein Pfirsich (leuchtend). (Parsival,  4. Okt 1999, 23:52:31):
~#! rn=Agony rt=939080909 rg=entwicklung
~#! tid=939080669
ad Lillebror: Natuerlich bleibt es eine Frucht 
ad Patryn : ja, es ist weit verbreitet, aber es ist ja auch nix besonderes
Und leidtun brauche ich Dir nicht, da ich mich ja nicht beschwert oder beklagt
habe - ich habe lediglich - wie es wohl Sinn dieser Rubrik ist - einen
Vorschlag gemacht, was ich fuer eine Verbesserung halten wuerde. Wenn der
zustaendige Mag das nicht so sieht, auch gut.

Parsival - keinen Grund fuer Sarkasmus sehend

-----------------------------------------------------------------------------



Re^3: Ein Pfirsich (leuchtend). (Agony,  4. Okt 1999, 23:54:24):
~#! rn=Parsival rt=939081151 rg=entwicklung
~#! tid=939080669
mein sarkasmus galt auch eher dem umstand, dass es nichts besonderes mehr
ist, als 'minisonne' auf der erde rumzuduesen, du hast es nochmals
bestaetigt, dass er durchaus angebracht war. danke.

------
patryn

-----------------------------------------------------------------------------



Re: Re: Ein Pfirsich (leuchtend). (Parsival,  4. Okt 1999, 23:59:14):
~#! rn=Lillebror rt=939080839 rg=entwicklung
~#! tid=939080669
Ok, wenn es eine Frucht bleiben soll, tun es auch die folgenden Zeilen:

int iss(string str) {
  if (str=="frucht"||str=="pfirsich") 
    notify_fail("Du willst doch nicht ernsthaft einen _leuchtenden_ Pfirsich
essen?\n");
  return 0;
}

Parsival 

-----------------------------------------------------------------------------



Re^3: Ein Pfirsich (leuchtend). (Anacrion,  5. Okt 1999, 00:00:20):
~#! rn=Parsival rt=939081554 rg=entwicklung
~#! tid=939080669
Och ne, oder ?
Jetzt schon mudcode hier ?

Anac* seufzt bitterlich

-----------------------------------------------------------------------------



Re^3: Ein Pfirsich (leuchtend). (Agony,  5. Okt 1999, 00:01:16):
~#! rn=Parsival rt=939081554 rg=entwicklung
~#! tid=939080669
sehr originell, aber wie waere es zusaetzlich mit
create(){...;SetProp(P_NODROP,"Man wirft kein Obst weg.\n");...}
reset(){::reset();remove(1);}

------
patryn

-----------------------------------------------------------------------------



Re^4: Ein Pfirsich (leuchtend). (Parsival,  5. Okt 1999, 00:02:43):
~#! rn=Agony rt=939081676 rg=entwicklung
~#! tid=939080669
EIne Sperre, dass Pfirsiche nicht weitergegeben werden koennen, faende ich
durchaus gut - ist ja nicht sooo schwer, sie zu bekommen... den Teil im reset
halte ich dann aber fuer etwas uebertrieben...

Pars*

-----------------------------------------------------------------------------



Re^5: Ein Pfirsich (leuchtend). (Agony,  5. Okt 1999, 00:03:34):
~#! rn=Parsival rt=939081763 rg=entwicklung
~#! tid=939080669
sie ist nicht nur gegen weitergeben gut.
es sollten dann auch nicht mehr die deppenscripte funktionieren, mit denen
manche erst mal 100 pfirsiche zur aufwaermung quasi-clonen.

------
patryn

-----------------------------------------------------------------------------



Re^6: Ein Pfirsich (leuchtend). (Nevok,  5. Okt 1999, 02:14:08):
~#! rn=Agony rt=939081814 rg=entwicklung
~#! tid=939080669
wie, is das ne beschwerde dass deine gilde sich mit erschaffe allen moeglichen
scheiss einfach machen kann wofuer andere durch ne quest durcharbeiten muessen
oder erst zum laden gehen und das ding zu kaufen?

wenn Du jetzt noch nachschaust wer sich widerrechtlich durch ausnutzung des
bugs ohne kompoverbrauch hochgeuebt hat wie baer und das entsprechend ahndest
schlaegt meine Kinnlade am Boden auf...

Nevok, der findet das 'agony' der bessere Name fuer patryn ist...

-----------------------------------------------------------------------------



Re^7: Ein Pfirsich (leuchtend). (Anatol,  5. Okt 1999, 07:56:49):
~#! rn=Nevok rt=939089648 rg=entwicklung
~#! tid=939080669
Ich weiss gar nicht, warum ihr euch so kuenstlich aufregt.

a) Voellig klar, dass das Prinzip "Ich muss mich um Licht bemuehen"
   durch die Pfirsiche herzlich konsequent ausgehebelt wird. Zumal 
   jeder Anfaenger erklaert bekommt, wie er sich das Zeug herstellt,
   auch wenn er keinerlei Ahnung von den Lupinenal-Hintergruenden hat.

b) Haette sich Parsival in der Schreckensspitze besser umgesehen und
   ein wenig experimentiert, haette er bestimmt auch herausgefunden,
   dass "pfluecke frucht" genauso gut funktioniert. Man sollte sich 
   nicht nur auf das verlassen, was man von anderen gezeigt bekommt.

Mann, das ist so ein klassischer Fall von "Heul' doch.", dass ich mir
wirklich langsam was besseres einfallen lassen muss.

Anatol


-----------------------------------------------------------------------------



Re^8: Ein Pfirsich (leuchtend). (Gnome,  5. Okt 1999, 08:17:02):
~#! rn=Anatol rt=939110209 rg=entwicklung
~#! tid=939080669
mal was anderes:
wer braucht eigentlich pfirsiche?

gnOme

-----------------------------------------------------------------------------



Re^8: Ein Pfirsich (leuchtend). (Paracelsus,  5. Okt 1999, 08:57:38):
~#! rn=Anatol rt=939110209 rg=entwicklung
~#! tid=939080669
Wie waers mit: "Das Kommando lautet 'selbstloeschung'." ?

Para*

-----------------------------------------------------------------------------



Re^3: Ein Pfirsich (leuchtend). (Rochus,  5. Okt 1999, 09:25:46):
~#! rn=Parsival rt=939081554 rg=entwicklung
~#! tid=939080669
Also ich wuerde den Pfirsich ja radioaktiv leuchtend machen...
OHNE zu verhindern dass er gegessen wird...

  Rochus

-----------------------------------------------------------------------------



Re^4: Ein Pfirsich (leuchtend). (Zook,  5. Okt 1999, 09:48:19):
~#! rn=Rochus rt=939115546 rg=entwicklung
~#! tid=939080669
Ausserdem fand ich das immer reichlich witzig, wenn man den Pfirsich
gegessen hat, statt getankt zu haben. :))

Gruss, Zook.

-----------------------------------------------------------------------------



Re^3: Ein Pfirsich (leuchtend). (Trance,  5. Okt 1999, 10:35:56):
~#! rn=Parsival rt=939081554 rg=entwicklung
~#! tid=939080669
Quark. Gewoehn Dir einfach "Pfluecke frucht" zum tanken an.

Trance, hilfreich.

-----------------------------------------------------------------------------



Re^8: Ein Pfirsich (leuchtend). (Bambi,  5. Okt 1999, 10:45:31):
~#! rn=Anatol rt=939110209 rg=entwicklung
~#! tid=939080669
Auch wenn ich den Thread vielleicht nicht ganz durch habe, so geb ich Anatol
trotzdem Recht (und zwar in allen Punkten).

-----------------------------------------------------------------------------



Re^4: Ein Pfirsich (leuchtend). (Mammi,  5. Okt 1999, 10:58:50):
~#! rn=Trance rt=939119756 rg=entwicklung
~#! tid=939080669
Hab gehoert, dass Fruechte in Beuteln oder Postpaketen haltbarer
zu sein scheinen...

Mammi

-----------------------------------------------------------------------------



Re^8: Ein Pfirsich (leuchtend). (Shannara,  5. Okt 1999, 11:27:12):
~#! rn=Anatol rt=939110209 rg=entwicklung
~#! tid=939080669
Vielleicht laesst du dir 'Spielpause -1' fuer dich wie im Silberland
einfallen?

Shannara.

-----------------------------------------------------------------------------



Re^9: Ein Pfirsich (leuchtend). (Anatol,  5. Okt 1999, 11:34:58):
~#! rn=Shannara rt=939122832 rg=entwicklung
~#! tid=939080669
Hat jemand die Spuelung gedrueckt?
Oder wieso wabbelt der Haufen Scheisse herum?

Anatol - Breitschwert


-----------------------------------------------------------------------------



Re^9: Ein Pfirsich (leuchtend). (Householder,  5. Okt 1999, 12:34:09):
~#! rn=Gnome rt=939111422 rg=entwicklung
~#! tid=939080669
pfirsiche abklemmen
nn

-----------------------------------------------------------------------------



Re: Ein Pfirsich (leuchtend). (Apsu,  5. Okt 1999, 12:43:10):
~#! rn=Parsival rt=939080669 rg=entwicklung
~#! tid=939080669
Er scriptet nicht? sowas gibts noch? sofort loeschen! :)

Apsu --> Schmarrn

-----------------------------------------------------------------------------



Re^7: Ein Pfirsich (leuchtend). (Agony,  5. Okt 1999, 13:37:23):
~#! rn=Nevok rt=939089648 rg=entwicklung
~#! tid=939080669
ich kann nix dafuer, wenn magier nicht programmieren koennen,
beliebiges zeug kann man auch mit einem anderen item erschaffen,
das wirst du auch mal merken, wenn du gross bist.

wie bitte schoen soll ich nachsehen, wer ohne kompoverbrauch irgendwie
irgendwas hochuebt? ich kenne die leute nur vom hoerensagen, und selbige
nutzten noch weitaus mehr aus.
glaub mir: ich wuerde sie gern absaebeln, nur echte beweise hab ich nicht,
obwohl ich einige der betreffenden ganz sicher kenne.

------
patryn

PS: was hatte das alles jetzt mit den dussligen pfirsichen zu tun?

-----------------------------------------------------------------------------



Re^8: Ein Pfirsich (leuchtend). (Daria,  5. Okt 1999, 14:49:10):
~#! rn=Agony rt=939130643 rg=entwicklung
~#! tid=939080669
Haette es nicht gereicht, wenn eine(r) das mit dem Pfluecke gepostet haette?
Muss JEDER Artikel NEne Grundsatzdiskussion ausloesen?

Koennt Ihr Euch nicht privat um Eure Sandfoermchen kloppen?
Daria sist es ziemlich leid.

-----------------------------------------------------------------------------



Re^9: Ein Pfirsich (leuchtend). (Agony,  5. Okt 1999, 14:57:40):
~#! rn=Daria rt=939134950 rg=entwicklung
~#! tid=939080669
fuehr den regentanz auf oder so, das soll die nerven beruhigen.
koennte es sein, dass ich da einen bellenden hund erwischt habe?
die pfirsiche sind mir schon lange ein dorn im auge, es war ein guter
anlass, mal darueber zu reden. natuerlich gehoeren solche diskussionen
gar nicht in die entwicklungs-rubrik. da ist dein psychopathisches
geschwaetz viel besser aufgehoben.

------
patryn

-----------------------------------------------------------------------------



Re^10: Ein Pfirsich (leuchtend). (Cuchullin,  5. Okt 1999, 15:02:45):
~#! rn=Agony rt=939135460 rg=entwicklung
~#! tid=939080669
In Anbetracht der Tatsache, dass die leuchtenden Pfirsiche frueher
sogar 50 LPs/MPs geheilt haben, erscheint mir der Gedanke, dass 
die edlen Fruechte vom Lupinental-Erschaffer Puma wirklich _NIE_
als Massenware intendiert waren, als sehr naheliegend.

Das "nicht ablegen koennen" eines leuchtenden Pfirsichs scheint
(imho) ein guter Loesungsansatz zu sein.

Cuch


-----------------------------------------------------------------------------



Re^11: Ein Pfirsich (leuchtend). (Gloin,  5. Okt 1999, 15:14:40):
~#! rn=Cuchullin rt=939135765 rg=entwicklung
~#! tid=939080669
Ich bin der Meinung, dass die Pfirsiche das Attribut 'leuchtend' gern
behalten koennen, auch die Heilung, aber das ihnen das reale helle Leuchten 
einfach mal ausgehen sollte *auspust*. Immer wenn man mal mit einem Zweitie 
spielt und es latschen dann Dummdeppen mit Pfirsichen herum, fragt man sich 
wozu Fackeln ueberhaupt noch (ausser fuer Chilana) im MUD existieren.
Die Dunkelheit koennen wir allerdings als Gegenvorschlag auch abschaffen.

Gloin

-----------------------------------------------------------------------------



Re^12: Ein Pfirsich (leuchtend). (Tsunami,  5. Okt 1999, 15:44:03):
~#! rn=Gloin rt=939136480 rg=entwicklung
~#! tid=939080669
Hmmm. Pfirsiche sind Fruechte (auch wenn sie leuchten). Fruechte koennen
sehr schnell verfaulen... ich bin dafuer, das die Dinger entweder nicht
mehr so lange halten, oder waehrend sie leuchten dem Besitzer staendig MPs
abzapfen. Von irgendwo her muss doch diese ganze magische Energie kommen,
die den Pfirsich zum Leuchten bringt. Und bei Zwergen sollen sie nicht
mehr leuchten. Zwerge sind eh doof und stinken. Huch, ich gleite ab...

Tsunami. Der Erleuchtete.

-----------------------------------------------------------------------------



Re^10: Ein Pfirsich (leuchtend). (Lug,  5. Okt 1999, 23:36:38):
~#! rn=Agony rt=939135460 rg=entwicklung
~#! tid=939080669

Also Patryn,

Pfirsiche haben Kerne und keine Dornen...

Tsksend
Lug

-----------------------------------------------------------------------------



Re^11: Ein Pfirsich (leuchtend). (Ender,  6. Okt 1999, 06:29:06):
~#! rn=Lug rt=939166598 rg=entwicklung
~#! tid=939080669
HI HI

Vor ueber ueber zehn Jahren haben sich die "Ossis" um Bananen gekloppt. Heute
kloppen wir uns im Mud um Pfirsiche.
Wir wollen doch nicht rueckfaellig werden.

Ender, schmarrend

-----------------------------------------------------------------------------



Re^9: Ein Pfirsich (leuchtend). (Paracelsus,  6. Okt 1999, 07:57:45):
~#! rn=Daria rt=939134950 rg=entwicklung
~#! tid=939080669
Kennst Du den Befehl "uebergehe thread"?
Ist recht nuetzlich. Ich hab da sogar extra ein ali fuer, weil man den doch
des oefteren braucht.

Para*

-----------------------------------------------------------------------------



Re^10: Ein Pfirsich (leuchtend). (Zook,  6. Okt 1999, 07:58:27):
~#! rn=Paracelsus rt=939196665 rg=entwicklung
~#! tid=939080669
Das muss ja dann "ut" sein, oder?

Zook mal eine "Was-sind-die-richtigen-Alis"-Diskussion vom Zaun brechend.

-----------------------------------------------------------------------------



Re^11: Ein Pfirsich (leuchtend). (Paracelsus,  6. Okt 1999, 08:16:00):
~#! rn=Zook rt=939196707 rg=entwicklung
~#! tid=939080669
Neee, "uth" natuerlich.

Para*

-----------------------------------------------------------------------------



Re^12: Ein Pfirsich (leuchtend). (Anatol,  6. Okt 1999, 09:07:04):
~#! rn=Paracelsus rt=939197760 rg=entwicklung
~#! tid=939080669
Ich muss jetzt doch mit einer gewissen Verstaendnislosigkeit fuer
Aliase wie "ut" oder "uth" meiner tiefen Betruebtheit ueber selbige
angemessen Luft verschaffen: WIE KOENNT IHR NUR!! *schluchz*

Oh Du Deutsche Sprache! Oh Du gequaelter Kommunikationsstandard,
oh Du unzureichender Schatz derer Worte, mit jenen wir zu kleiden
versuchen unsere ach so bildhaften Gedanken! Oh Du erbaermliches
Resultat jedweder solcher Versuche!

Also wirklich.

"uebergehe thread".

Was soll man dazu sagen?

Menno Paracelsus! Als Erzmagier und Vorbild solltest Du Dich mit
groesster Vehemenz gegen "uebergehe thread", diesem abstossenden
Sprachcocktail - nein: -eintopf! - wehren! Auf dass in Zukunft
wird verwendet diese unsere Deutsche Sprache in rein:


                       "uebergehe antworten"


Wahrlich, wahrlich, ich sage euch: Zeigt Toleranz jenen, die sich
auf "cth" einlassen, begegnet mit Freuden jenen, die sich mit "ua"
kleiden, doch spucket aus das laue Wasser des "uth"!

Ana"catchup thread"tol


-----------------------------------------------------------------------------



Re^13: Ein Pfirsich (leuchtend). (Paracelsus,  6. Okt 1999, 11:13:31):
~#! rn=Anatol rt=939200824 rg=entwicklung
~#! tid=939080669
Ah? Na toll.

-----------------------------------------------------------------------------



Re^13: Ein Pfirsich (leuchtend). (Yendi,  6. Okt 1999, 15:27:08):
~#! rn=Anatol rt=939200824 rg=entwicklung
~#! tid=939080669
Komm an mein Herz, Anatol!

Yendi
      benennt sofort "ut" in "ct" um


-----------------------------------------------------------------------------



Re^10: Ein Pfirsich (leuchtend). (Rardian,  6. Okt 1999, 16:31:16):
~#! rn=Paracelsus rt=939196665 rg=entwicklung
~#! tid=939080669
Jupp,

ich auch, liegt bei mir sehr praktisch auf "m", ist von dort nicht so weit zur
Enter-Taste ... :)

Rardian ist auch manchmal pragmatisch.

-----------------------------------------------------------------------------



Re^11: Ein Pfirsich (leuchtend). (Anacrion,  6. Okt 1999, 16:32:56):
~#! rn=Rardian rt=939220276 rg=entwicklung
~#! tid=939080669

Hehe. Wenn Du hier noch antwortest, kannst Du das Ali auch loeschen ....

Anac* grinst.

-----------------------------------------------------------------------------



Re: Ein Pfirsich (leuchtend). (Jamalski,  6. Okt 1999, 16:33:18):
~#! rn=Parsival rt=939080669 rg=entwicklung
~#! tid=939080669
Der Pfirsich leuchtet auch im Beutel/Paket!

Jamalski, vermutlich etwas verspaetet

-----------------------------------------------------------------------------



Re^12: Ein Pfirsich (leuchtend). (Rardian,  6. Okt 1999, 16:34:52):
~#! rn=Anacrion rt=939220376 rg=entwicklung
~#! tid=939080669
Wieso?

Also ich finde den Thread noch lehrreich und interessant ...

 ...


-----------------------------------------------------------------------------



Re^14: Ein Pfirsich (leuchtend). (Householder,  6. Okt 1999, 16:38:50):
~#! rn=Paracelsus rt=939208411 rg=entwicklung
~#! tid=939080669
~1]]
)!q 
q! ^]] 
uebergehe anatol 
uebergehe pfirsich 
q!
~q.

-----------------------------------------------------------------------------



Re^15: Ein Pfirsich (leuchtend). (Jamalski,  6. Okt 1999, 16:46:37):
~#! rn=Householder rt=939220730 rg=entwicklung
~#! tid=939080669
Das funktioniert?
Warum hat mir das keiner vorher gesagt.

Jamalski haette das einige Haartransplantationen erspart

-----------------------------------------------------------------------------



Tester gesucht! (Tsunami,  6. Okt 1999, 18:26:09):
Gesucht wird:

Ein kreativer Spieler mit viel Zeit.
===================================

In absehbarer Zeit wird ein riesiges neues Gebiet von Phygos und
mir angeschlossen -- etwa 90 Raeume bis jetzt. Ihr fragt euch nun
bestimmt: 'Huch? ist Phygos etwa auch Magier geworden??'. Aber nein,
keine Angst, von ihm stammen die Ideen und vor allem die ganzen 
schmutzigen Details. Ich habe alles zusammengeklebt mit kleinen 
Codestueckchen.

Ich suche nun einen Testspieler, der die ganzen Raeume abtestet,
die alle so zwischen 300-800 Details haben. Dass da natuerlich
viele Typos passieren, ist klar. Ein paar Freunde von mir koennen da
ein Liedchen davon singen. "Das Komma und Tsunami...". Also, ich 
brauche Typo-Feedback. 

Aber noch viel wichtiger ist, die Raeume haben alle viele, viele
lustige Befehle, aber ein dritter Geselle im Bund hat bestimmt noch
weitere kranke Ideen. Also, ich brauche Feedback, was man noch alles
Schlimmes in den Raeumen anstellen kann, damit ich das noch einbauen kann.

Drittens haben die NPCs noch keine Infos, auf die sie antworten koennen,
und es gibt dort _viele_ NPCs. Ideen werden gerne entgegengenommen.

Der Testspieler unterliegt den Testspielerregeln, will heissen, die FPs
sind bereits angeschlossen und werden vom Testspieler auf den Spieler
uebertragen, falls er welche findet. Wie in den Testspielerregeln steht,
darf der Testspieler waehrend der Testzeit das Testgebiet nicht verlassen
und auch keine Objekte des zu testenden Gebietes an andere weiterreichen.
Sonst gibts Haue!

Ich stelle EINEN Testspieler bereit, der in der Gilde Deiner Wahl mit
den Stats Deiner Wahl ausgeruestet wird. 

Wenn Du also viel Zeit und witzige Ideen hast, kein Zwerg bist (Zwerge
werden in diesem Gebiet total runtergemacht, hae, hae!), nichts gegen
nicht ganz jugendfreie Details hast und sonst auch gut drauf bist, dann
schick mir ne Bewerbungsmail.

Ich waehl dann eine/n aus.

Selbstverstaendlich gibts fuer diese Muehen tolle Geschenke!!!

Tsunami. Hoffend auf Rueckmeldungen.

-----------------------------------------------------------------------------



Re: Tester gesucht! (Ender,  7. Okt 1999, 07:59:35):
~#! rn=Tsunami rt=939227169 rg=entwicklung
~#! tid=939227169
90 raeume?
300 bis 800 Detrails pro Raum?

Ender verleiert die Augen.
Ender faengt an zu zittern.
Ender verkrampft am ganzen Koerper.
Ender wird steif wie ein Brett.
Ein Brett faengt an zu wackeln.
Ein Brett kippt um.

-----------------------------------------------------------------------------



Re: Tester gesucht! (Thufhir,  7. Okt 1999, 11:08:17):
~#! rn=Tsunami rt=939227169 rg=entwicklung
~#! tid=939227169

wie? was? zwerge diskrimminieren? frechheit! *paeh*

-----------------------------------------------------------------------------



Re: Re: Tester gesucht! (Bambulko,  7. Okt 1999, 11:18:38):
~#! rn=Thufhir rt=939287297 rg=entwicklung
~#! tid=939227169
Genau richtig so...Zwerge gehoeren unter die Erde und da sollen sie auch
bleiben........

Bambulko

-----------------------------------------------------------------------------



Re^3: Tester gesucht! (Householder,  7. Okt 1999, 12:22:13):
~#! rn=Bambulko rt=939287918 rg=entwicklung
~#! tid=939227169
und ? ist doch schoen unta der erde .... 

-----------------------------------------------------------------------------



Re^4: Tester gesucht! (Bambulko,  7. Okt 1999, 12:30:23):
~#! rn=Householder rt=939291733 rg=entwicklung
~#! tid=939227169
Nieder mit den Zwergen......


-----------------------------------------------------------------------------



Re: Re: Tester gesucht! (Bierchen,  8. Okt 1999, 06:56:41):
~#! rn=Ender rt=939275975 rg=entwicklung
~#! tid=939227169
nur die ruhe :) npcs haben ja noch keine infos und fps sind schon eingetragen.
heisst also, dass npc-infos keine fps bringen. ist ja schon fast spielerhilfe,
diese ankuendigung ;)
- Bierchen -

-----------------------------------------------------------------------------



Re^5: Tester gesucht! (Jasonrigid,  8. Okt 1999, 09:13:40):
~#! rn=Bambulko rt=939292223 rg=entwicklung
~#! tid=939227169
Was denn, noch niederer ?? Das ist dann ja schon Maulwurfshuegel-Niveau :)

Jason ab nach Schmarrn

-----------------------------------------------------------------------------



Tester gefunden! (Tsunami,  8. Okt 1999, 16:14:10):
Huhu!

es haben sich viele Bewerber fuer das Testen von unserem neuen Gebiet
gemeldet, das freut mich ganz besonders. Ich habe den passensten ausgewaehlt
und es kann nun losgehen. Allen anderen moechte ich herzlich danken -- 
und keine Angst, ihr koennt euch ja auch bald darauf stuerzen :))
Gute Ideen werden auch nachtraeglich eingebaut.

Tsunami. Fleissig wie immer.

-----------------------------------------------------------------------------



Datenverkehr mit anderen Muds (Deepblue, 11. Okt 1999, 09:59:27):
Wie waere es, wenn man was in ein anderes Mud schickt oder daraus abfragt
(z.B. wer irgendwas), dass dann ne Meldung kommt, wenn das Mud down ist?

-----------------------------------------------------------------------------



Da war doch mal nen Buch ... (Golas, 18. Okt 1999, 11:06:22):
Ich entsinne mich noch gut, weil es noch nicht lange her ist, da verlor ich
mich in einem Buch.
Ein schweres Buch unweit der Abenteurergilde ...
Wann kommt das denn wieder?
Golas seit langem mal wieder von seinem Forscherdrang getrieben!

-----------------------------------------------------------------------------



Re: Da war doch mal nen Buch ... (Ark, 18. Okt 1999, 20:40:56):
~#! rn=Golas rt=940237582 rg=entwicklung
~#! tid=940237582
Wenn es anschlussreif ist.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: Da war doch mal nen Buch ... (Wurst, 19. Okt 1999, 11:14:27):
~#! rn=Golas rt=940237582 rg=entwicklung
~#! tid=940237582

 Und wenn sich die zustaendigen darueber geeinigt haben,
 WER was genehmigen darf und wer nicht, WAS sie ueberhaupt
 gehemigen wollen und WARUM sie was genehmigen wollen - 
 oder auch nicht. 
 Kann also noch dauern....

-> Wurst <-

-----------------------------------------------------------------------------



Auch blinde Butler tun weh :-) (Schleicher, 23. Okt 1999, 16:45:13):
So, nu is ma jut!
Nachdem jeder kleine Spieler hier meine Angestellten weggehauen hat und ich
mir mein Essen selber machen musste hab ich die beiden mal kurz zu einem
Selbstverteidigungskurs fuer Anfaenger geschickt.
Viel Spass damit }:-)

Schleicher

-----------------------------------------------------------------------------



Und nochmal zur Lage der Nation ;) (Sniper, 31. Okt 1999, 19:32:19):
Liebe Nicht-Gildenmitglieder und natuerlich auch ihr Spitzhuete,
Nach Absprache mit Patryn hab ich mich dazu breitschlagen lassen, die Wartung
und Pflege seiner Gebiete zu uebernehmen. Also dann, seht zu, dass ihr nicht
so viel buggt ;)

Sniper wuenscht weiterhin froehliches Sterben

-----------------------------------------------------------------------------



pub (Sorcerer,  2. Nov 1999, 10:07:59):
Hi,

wie waere es, im pub die Befehle 'trink(e)' und 'iss' einzubauen als
Aequivalente fuer 'kaufe' ? 

Sorcerer

-----------------------------------------------------------------------------



Re: pub (Morgoth,  2. Nov 1999, 10:09:52):
~#! rn=Sorcerer rt=941533679 rg=entwicklung
~#! tid=941533679
verspeise, futter, friss, sauf, kipp runter, ... ??? 
willst du noch mehr einbauen? 

M*

-----------------------------------------------------------------------------



Re: Re: pub (Sorcerer,  2. Nov 1999, 10:13:34):
~#! rn=Morgoth rt=941533792 rg=entwicklung
~#! tid=941533679
Nein danke, hochdeutsch ist genug.

Sorcerer

-----------------------------------------------------------------------------



Re^3: pub (Apollonia,  2. Nov 1999, 10:16:11):
~#! rn=Sorcerer rt=941534014 rg=entwicklung
~#! tid=941533679
Ist 'verspeise' kein Hochdeutsch??? *gruebel*

Apo* (garantiert nicht immer hochdeutsch redend) (M* zuzwinker)

-----------------------------------------------------------------------------



Re^4: pub (Sorcerer,  2. Nov 1999, 10:18:00):
~#! rn=Apollonia rt=941534171 rg=entwicklung
~#! tid=941533679
Das 'hochdeutsch' bezog sich auf die meisten von M*'s Vorschlaegen und v.a.
die Frage, ob ich sonst noch etwas eingebaut haben wolle.

Sorcerer - ist sich keines Fehlers in seiner Antwort bewusst

-----------------------------------------------------------------------------



Re^5: pub (Morgoth,  2. Nov 1999, 10:30:21):
~#! rn=Sorcerer rt=941534280 rg=entwicklung
~#! tid=941533679
wow geil. wie schnell man doch eine hirnlose diskussion mit ein paar worten
herbeizaubern kann.
wie schoen, dass das MG immer noch so ist wie frueher *grin*

M*

-----------------------------------------------------------------------------



Re^6: pub (Sorcerer,  2. Nov 1999, 10:54:33):
~#! rn=Morgoth rt=941535021 rg=entwicklung
~#! tid=941533679
Wer hat denn auf eine klare und kurze Anfrage mit einer (ich bediene mich
Deiner Worte) "hirnlosen" Antwort reagiert?

Sorcerer

-----------------------------------------------------------------------------



Re^5: pub (Jamalski,  2. Nov 1999, 13:50:17):
~#! rn=Sorcerer rt=941534280 rg=entwicklung
~#! tid=941533679
Ist das nervig, wofuer man sich in der MPA immer rechtfertigen muss, nur weil
Leute falsch verstehen (wollen) und denken senfen zu muessen.
Jamalski, es leid...

-----------------------------------------------------------------------------



Re: pub (Alpha,  3. Nov 1999, 11:32:29):
~#! rn=Sorcerer rt=941533679 rg=entwicklung
~#! tid=941533679
Na eh Du irgendwas Essen/Trinken willst im Pub musst Du es erst doch kaufen
oder bestellen, oder? Zum Glueck trinkt man es automatisch nach dem Kauf,
obwohl ich dafuer bin dass nur Bierschuettler diese Option haben sollten - wir
sans halt Suffrobotoren ...
Alpha.

-----------------------------------------------------------------------------



Re: Re: pub (Anatol,  3. Nov 1999, 11:34:07):
~#! rn=Alpha rt=941625149 rg=entwicklung
~#! tid=941533679
Mahatmu       58   82    4    i  nuechtern  Tempel von Ulzu'Bakhtarrh
Guard        218   72   57    i  nuechtern  Die Ruestungsmacherei von
Zzerenzzen
Cakey        218  139   86    i  betrunken  Auf einem Grab
Goethe        66  202    4       nuechtern  Mitten in einem dichten Dickicht
Traegie      202  202   29    I  nuechtern  Im Dschungel
Alpha        210  226   53       nuechtern  Seherladen Svolvaer Nebenraum

Von 6 anwesenden Bierschuettlern ist nur einer (natuerlich Cakey ;))
besoffen. Deine Argumentation entbehrt der Grundlage, Alpha.

Anatol


-----------------------------------------------------------------------------



Re^5: Karate aufwerten? (Tunixgut,  4. Nov 1999, 23:08:50):
~#! rn=Yaren rt=941638025 rg=gilden.karate
~#! tid=941106845
Yo! Ich hab' die Mail EXTRA in dem Stil gehalten, dass man sieht, dass die
Vorschlaege URALT sind!
Ich glaube, mit Rochus habe ich 2 Mails und ein Gespraech gehabt - aber gut,
er hat wenig Zeit. Dann kam mal eine Mail zu mir, doch die Vorschlaege nochmal
zu sammeln, es haette sich jemand anderes gefunden - im Nichts verpufft. Dann
hatte ich - ich GLAUBE, es war Sylvana, es kann aber auch jeder andere Magier
gewesen sein ;o) mal angemailt - keine Zeit, keine Zeit. Dann wollte ich einen
Zweitie zum Magier machen - nein, entweder spielen - ODER proggen.
Ok, Ok, genug rumgeheult - eigentlich wollte ich ja nur klarmachen, dass die
Zeitung der EINZIGE Ort ist, wo ich noch Chancen sehe, dass man die Ideen
wahrnimmt...

's Karate-Zwerchle...

-----------------------------------------------------------------------------



Re^6: Karate aufwerten? (Yaren,  5. Nov 1999, 10:23:54):
~#! rn=Tunixgut rt=941753330 rg=entwicklung
~#! tid=941106845
na super: DU willst hier stress machen und ICH bekomme die flames ab ;-)

Yaren.

-----------------------------------------------------------------------------



ICQ (Rochus,  8. Nov 1999, 18:48:30):
Man kann jetzt auch (soweit vorhanden) seine ICQ-Nummer
eintragen, so dass sie mit finger abgrefuen werden kann...
Der Befehl dafuer heisst "icq" und dazu gibt es auch ne Hilfeseite :)

  Rochus
PS:
Der Befehl ist evtl. erst nach Ende verfuegbar.

-----------------------------------------------------------------------------



Re: ICQ (Grimman,  8. Nov 1999, 21:21:24):
~#! rn=Rochus rt=942083310 rg=entwicklung
~#! tid=942083310
hmmm ... die Hilfeseite ist da, aber wenn ich icq <Nummer> eingebe, kommt nur
'Wie bitte?'
Haengt das noch nicht dran ? oder schon nicht mehr?

GrimMan

-----------------------------------------------------------------------------



Re: Re: ICQ (Apophis,  8. Nov 1999, 21:23:53):
~#! rn=Grimman rt=942092484 rg=entwicklung
~#! tid=942083310

ein 'Ende' hilft.
steht aber auch in dem urspruenglichen Artikel drin...

Apophis

-----------------------------------------------------------------------------



Re: Re: ICQ (Grimmborn,  8. Nov 1999, 21:23:54):
~#! rn=Grimman rt=942092484 rg=entwicklung
~#! tid=942083310
Was genau hast Du an dem Satz "Der Befehl ist evtl. erst nach Ende verfuegbar"
nicht verstanden?

GdA

-----------------------------------------------------------------------------



Re^3: ICQ (Grimman,  8. Nov 1999, 21:24:45):
~#! rn=Grimmborn rt=942092634 rg=entwicklung
~#! tid=942083310
naechstes mal lese ich den Artikel wieder bis zum ende durch :)

GrimMan

-----------------------------------------------------------------------------



Re^8: HILFE! (Grimmborn, 11. Nov 1999, 19:09:46):
~#! rn=Hobo rt=942343732 rg=suche-biete
~#! tid=942338494
...und ein Autohalter auch nicht.
Soo stubenrein duerfte kaum ein Koeter sein.

Grimmborn der Atheist

-----------------------------------------------------------------------------



Vielsterber aufgepasst (Tiamak, 13. Nov 1999, 16:13:41):
Hiho!

Wer (aus welchen Gruenden auch immer) oefter mal bei Lars vorbeischaut und da
dann Langeweile hat, darf dort gerne Bugs/Typos/Ideen absetzen.

Ab sofort gibt es die Chance, dass die auch mal abgearbeitet werden. ;-)


Tiamak.

-----------------------------------------------------------------------------



Re: Vielsterber aufgepasst (Belgariad, 15. Nov 1999, 01:50:38):
~#! rn=Tiamak rt=942506021 rg=entwicklung
~#! tid=942506021
Danke Taimak vielleicht geh ich dann weniger rauchen! :))

Belga stirbt manchmal :)

-----------------------------------------------------------------------------



Eheringe updaten ... (Grimman, 15. Nov 1999, 21:56:20):
hmmm ... ich denke das sollte nicht so sein wie es ist :) wenn ich jemandem
stolz meinen Ehering zeige, sollte doch eigentlich nicht dastehen, was den
Verheirateten fuer Befehle zusaetzlich zur Verfuegung stehen ...
Es ist aber so ... laesst sich das aendern?

ich hoffe doch :)

GrimMan , der meint das dieses niemanden interessieren brauch der keinen
Ehering hat ... und dann weiss er es eh :)

-----------------------------------------------------------------------------



Re: Eheringe updaten ... (Ronda, 15. Nov 1999, 21:58:02):
~#! rn=Grimman rt=942699380 rg=entwicklung
~#! tid=942699380
GrimMan - Du musst den Ring _andersrum_tragen!
*Nu musste nur noch rausfinden, ob rechts- statt linksrum oder aussen statt
innen =:)*

Ronda *verheiratet und verschusselt immer den Ring*

-----------------------------------------------------------------------------



Re: Re: Eheringe updaten ... (Grimman, 15. Nov 1999, 21:58:54):
~#! rn=Ronda rt=942699482 rg=entwicklung
~#! tid=942699380
Nette Idee :)

GrimMan , bastelt an seinem Ring rum

-----------------------------------------------------------------------------



Re: Vielsterber aufgepasst (Apsu, 17. Nov 1999, 17:59:45):
~#! rn=Tiamak rt=942506021 rg=entwicklung
~#! tid=942506021
Die Typos/Bugs werden von Lars abgearbeitet? Sehr vielseitig, alle Achtung.
Dann sind Mags ja jetzt ueberflussig? :P

Apsu

-----------------------------------------------------------------------------



Uebergehe alles ohne Sicherheitsabfrage?! (Ronda, 17. Nov 1999, 19:55:22):
Hi,
ist Euch mal aufgefallen, dass bei "uebergehe thread" eine Sicherheitsabfrage
kommt - bei "uebergehe alles" keine? irgendwie ist das falsch rum, oder? ;)

Kann da vielleicht jemand bei ueberghehe alles auch ne Sicherheitsabfrage
einbauen, bitte? Ich bereue so nen Befehl immer ganz schnell =:)

Ronda *oder auch nicht... haengt halt von den Artikeln ab ;)*

-----------------------------------------------------------------------------



Re: Uebergehe alles ohne Sicherheitsabfrage?! (Anatol, 17. Nov 1999, 19:58:15):
~#! rn=Ronda rt=942864922 rg=entwicklung
~#! tid=942864922
Sieh Dir mal "wiederhole" (ohne Argumente) an, das hilft fuer den Notfall
auch. Fuer den Notfall - denn Du musst es fuer jede Rubrik einzeln tun...
Noch. Tiamak? ;o)

Anatol


-----------------------------------------------------------------------------



Re: Re: Uebergehe alles ohne Sicherheitsabfrage?! (Ronda, 17. Nov 1999, 20:00:13):
~#! rn=Anatol rt=942865095 rg=entwicklung
~#! tid=942864922
Au ja, da faellt mir auf, dass es fuer "wiederhole" keine Man-Pages gibt ;)
*autsch, nee, sorry, keine Zeit :(*

Ronda

-----------------------------------------------------------------------------



Re: Re: Vielsterber aufgepasst (Rardian, 18. Nov 1999, 01:48:25):
~#! rn=Apsu rt=942857985 rg=entwicklung
~#! tid=942506021
Hallo Apsu?
Schon mal daran gedacht, wer die Bugs / Typos produzieren soll, wenn Mags
wegfallen? Seher vielleicht? Tststs...


Rar.

-----------------------------------------------------------------------------



Re: Re: Vielsterber aufgepasst (Tiamak, 18. Nov 1999, 10:54:44):
~#! rn=Belgariad rt=942627038 rg=entwicklung
~#! tid=942506021
Achja, noch eine kleine Anmerkung:

Wer bisher die dumme Angewohnheit hatte, sich im Todesraum per 'ende'
auszuloggen, muss sich umgewoehnen. Jetzt klappt nur noch 'schlafe ein'.


Tiamak. Der mit dem grossen Besen in der Hand.

-----------------------------------------------------------------------------



Namen auch Gross (Deepblue, 20. Nov 1999, 10:10:58):
Koennte man bitte einbauen, dass man Spielernamen auch gross schreiben kann,
wenn man irgendwas mit ihnen macht (z.B. knuddeln, mitteilen etc)
Danke

-----------------------------------------------------------------------------



Re: Namen auch Gross (Tiamak, 22. Nov 1999, 15:11:38):
~#! rn=Deepblue rt=943089058 rg=entwicklung
~#! tid=943089058
Ausgerechnet 'teile mit' und 'knuddel' gehen schon lange auch mit
grossgeschriebenen Namen. Nur 'remote' und 'rknuddel' etc. funktionieren erst
ab Ende/Reboot/Crash richtig. ;-)

Tiamak

-----------------------------------------------------------------------------



Re: Re: Uebergehe alles ohne Sicherheitsabfrage?! (Alpha, 23. Nov 1999, 13:05:18):
~#! rn=Anatol rt=942865095 rg=entwicklung
~#! tid=942864922
..btw ... Wie waers denn mit einem Befehl "lastlogout", oder so...damit man
bei wiederhole auch angeben kann, ab wann man wiederholt haben moechte.
Gleichzeitig koennte man sehen, ob man vielleicht unbemerkt im MG war (seis
aus Suff oder was auch immer).
Alpha.

-----------------------------------------------------------------------------



Re^3: Uebergehe alles ohne Sicherheitsabfrage?! (Anatol, 23. Nov 1999, 13:44:33):
~#! rn=Alpha rt=943358718 rg=entwicklung
~#! tid=942864922
Fuer Leute mit Freundschaftsband - was unter Nichtmagier wohl inzwischen
alle Spieler betreffen duerfte, gibt es zur "Kontrolle" seiner eigenen
Einlogzeigen "fhist <eigenerName>". Man kann damit auch Freunde 
kontrollieren und ihnen besorgte Mails schicken, aber das moegen sie in
der Regel eher nicht. ;)

Anatol


-----------------------------------------------------------------------------



Re^4: Uebergehe alles ohne Sicherheitsabfrage?! (Morgoth, 23. Nov 1999, 13:46:17):
~#! rn=Anatol rt=943361073 rg=entwicklung
~#! tid=942864922
Hm, die Formatierung is etwas bloed, wenn man mal mehr als 10h drin war. ;-)

M*

-----------------------------------------------------------------------------



Re^4: Uebergehe alles ohne Sicherheitsabfrage?! (Rikus, 23. Nov 1999, 13:48:03):
~#! rn=Anatol rt=943361073 rg=entwicklung
~#! tid=942864922
die Frage ist auch, ob meine Freunde meine Einloggzeiten was angehen...

Rikus

-----------------------------------------------------------------------------



Re^5: Uebergehe alles ohne Sicherheitsabfrage?! (Tiamak, 23. Nov 1999, 13:48:52):
~#! rn=Rikus rt=943361283 rg=entwicklung
~#! tid=942864922
Es liegt in Deiner Hand, wen Du auf Dein FBand nimmst und wen nicht.

Tiamak

-----------------------------------------------------------------------------



Re^5: Uebergehe alles ohne Sicherheitsabfrage?! (Anatol, 23. Nov 1999, 13:49:02):
~#! rn=Rikus rt=943361283 rg=entwicklung
~#! tid=942864922
Denk' mal darueber nach, was fuer Dich "Freunde" sind.

Anatol


-----------------------------------------------------------------------------



Re^6: Uebergehe alles ohne Sicherheitsabfrage?! (Rikus, 23. Nov 1999, 13:50:10):
~#! rn=Anatol rt=943361342 rg=entwicklung
~#! tid=942864922
hab ich ja, hab ja Dich nicht drauf :-) nee, mit MEINE meine ich nicht
meine eigenen, es sollte ehe ne allgemeine aussage sein.

Rikus, viele meine geschrieben...

-----------------------------------------------------------------------------



FBand (Tiamak, 24. Nov 1999, 00:00:03):
Auf vielfachen Wunsch eines statistikgeilen Chaosmagiers hat 'fwer' ne Option
mehr bekommen. Aktiv ist sie ab dem naechsten Einloggen ("schlafe ein"
reicht).

Tiamak

-----------------------------------------------------------------------------



Kerbholz (Rikus, 26. Nov 1999, 15:21:54):
Habe am Kerbholz was geaendert und es bei allen ausgetauscht, die netztot
bzw. online waren. Bei einigen scheint es aber erst nach ENDE zu gehen.

Rikus

-----------------------------------------------------------------------------



weg-Meldung (Sorcerer,  3. Dez 1999, 14:39:23):
Hi,
was haltet ihr davon, die weg-meldung bei jedem neu-Einloggen zu loeschen? Es
soll ja Leute geben, die sowas setzen und vergessen und erst wieder dran
denken, wenn sie jemand mittags fragt, wie das dort angegebene Abendessen
schmecke :)

Sorcerer - weiss gar nicht mehr, wieviele Tage er eigentlich jetzt abendessen
war...

-----------------------------------------------------------------------------



Re: weg-Meldung (Rardian,  3. Dez 1999, 14:41:20):
~#! rn=Sorcerer rt=944228363 rg=entwicklung
~#! tid=944228363
Nun ja,
man sieht ja theoretisch bei jedem teile-mit eine Uhrzeitangabe... und mit ein
bisschen Schlussfolgerung kann man dann leicht drauf kommen, dass die
weg-meldung noch gesetzt ist...

Rar.

-----------------------------------------------------------------------------



Re: Re: weg-Meldung (Grimmborn,  3. Dez 1999, 14:43:02):
~#! rn=Rardian rt=944228480 rg=entwicklung
~#! tid=944228363
Es sei denn, man hat sich die Uhrzeit weggegagt.
Es gibt aber eine fuerchterlich einfachs, simple und praktikable Loesung:
Einfach immer per "ende" ausloggen. Mach ich auch immer so. Funktioniert
prima...

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re: Re: weg-Meldung (Sublime,  3. Dez 1999, 18:48:05):
~#! rn=Rardian rt=944228480 rg=entwicklung
~#! tid=944228363
Hmm, muss dazu mal sagen, dass ich als Spieler oft
die Wegmeldung angehabt habe, um einfach die zeit
zu sehen, war immer ganz praktisch ;)
Aber geht das auch ohne die Wegmeldung ? Wenn nicht,
koennte man ja mal drueber nachdenken, so'n feature
einzubaun ;)

liebe gruesse
subl

-----------------------------------------------------------------------------



Re^3: weg-Meldung (Leibniz,  3. Dez 1999, 19:09:03):
~#! rn=Sublime rt=944243285 rg=entwicklung
~#! tid=944228363
also ich hab eh immer die gleiche wegmeldung und finde das praktisch

leibi

-----------------------------------------------------------------------------



Re^3: weg-Meldung (Rardian,  5. Dez 1999, 05:40:48):
~#! rn=Sublime rt=944243285 rg=entwicklung
~#! tid=944228363
Du willst ein Feature, mit dem Du die Zeit sehen kannst?
Hm... TF ?? :)

Rar.

-----------------------------------------------------------------------------



Re^4: weg-Meldung (Sublime,  5. Dez 1999, 16:25:50):
~#! rn=Rardian rt=944368848 rg=entwicklung
~#! tid=944228363
Na dann oute ich mich mal als absoluter
TF-Neuling und Greenhorn, weil ich ja bis
zu meiner Linux-Zeit (Beginn vor 2 Monaten)
mit ZMud gemuddet hab' :=)

Subl

-----------------------------------------------------------------------------



Re^5: weg-Meldung (Kjaska,  5. Dez 1999, 16:28:31):
~#! rn=Sublime rt=944407550 rg=entwicklung
~#! tid=944228363
oeh ... zmud hat auch ne uhrzeit.

Kjaska, besserwissend.

-----------------------------------------------------------------------------



Re^6: weg-Meldung (Sublime,  5. Dez 1999, 16:37:32):
~#! rn=Kjaska rt=944407711 rg=entwicklung
~#! tid=944228363
Neeeeeeein ;)
Sind denn heute alle gegen mich ...

*schnueff*
,

-----------------------------------------------------------------------------



Re^7: weg-Meldung (Rardian,  5. Dez 1999, 23:18:07):
~#! rn=Sublime rt=944408252 rg=entwicklung
~#! tid=944228363
ZMud unter Windows?
Das Ding hat glaub ich auch ne Uhrzeit... ;)

Rar, "kennt" Windoof jaha! ;)

-----------------------------------------------------------------------------



Re^5: weg-Meldung (Schleicher,  6. Dez 1999, 00:29:17):
~#! rn=Sublime rt=944407550 rg=entwicklung
~#! tid=944228363
Aeh hallo RL, es soll auch solche Sachen wie Chronometer sprich Armbanduhren
geben?!
Die Syntax dafuer war glaub ich Schau auf Uhr?!
Aber naja, ich bin halt ein alter Sack und benutze noch so anlogen Unsinn.
Schleicher

-----------------------------------------------------------------------------



Re^6: weg-Meldung (Grimmborn,  6. Dez 1999, 00:54:26):
~#! rn=Schleicher rt=944436557 rg=entwicklung
~#! tid=944228363
Die Syntax ist nicht "schau auf uhr" fuer die analoge Uhr, sondern "xclock
-analog". Benutze ich uebrigens auch.

HTH
Grimmborn der Atheist

-----------------------------------------------------------------------------



Kerbholz (Rikus,  6. Dez 1999, 23:38:26):
Hi!
Eine aktuelle Version wird nach Reboot/Ende wirksam. Leicht und nicht
Vibrieren sind nun eindeutig!
Rikus

-----------------------------------------------------------------------------



Vortragraum (Mesirii,  9. Dez 1999, 00:56:56):
Liebe Magier,
da ich nun leider nicht nach Winterburg fahren kann, ich aber meinen
Vortrag trotzdem halten wollte, wollte ich mal anfragen ob jemand
Lust hast nen Vortragsraum zu schreiben.

Es sollte halt sowas wie ne moderierte Diskussion sein, d.h.:
* der Vortragende muss den Vortrag vorher anmelden und wenn er zum
  Zeitpunkt bzw. bis 15 Min spaeter da ist, gehts los und er kriegt 
  fuer die Vortragszeit (entweder vorher festgelegt oder nach Bedarf
  mit Maximalzeit (z.b. 2 Stunden)) die Kontrolle ueber den Raum
* say des Raums ueberschreiben (wichtig, damit ruhe herrscht)
* sowas wie ne Tafel an die der Vortragende (mit internem Editor) was
  dranschreiben (auch anfuegen, ggf editieren?) kann, die sich jeder 
  angucken kann (ggf. mit nem Rahmen) und die er auch wieder abwischen 
  kann.
* fuer Fragen und so dachte ich entweder, dass der Vortragende die Fragen
  mitkriegt, er sie nach Bedarf erlauben kann, bzw. sowas wie 
  Wortmeldungen in einer Diskussion (Knopf druecken fuer Frage), obwohl 
  ich bevorzugen wuerde, die Fragen zu kennen, bevor sie im Raum gestellt
  werden.

Vielleicht noch ein paar andere Sachen, mehr ist mir im Moment nicht 
eingefallen.

Ein ganz guter Ort waere, denk ich, ein Nebenraum des Vereinszimmers.

Mesi, traurig da nix Party

-----------------------------------------------------------------------------



Re: Vortragraum (Mahatmu,  9. Dez 1999, 11:25:45):
~#! rn=Mesirii rt=944697416 rg=entwicklung
~#! tid=944697416
Wenn sich jmd. die Muehe machen moechte, soll er sich an Hasta oder Spex
in Regenbogen wenden, die aehnliche Dinger geschrieben haben, u.a. einen
Diskussionsraum mit Token.
Meine Meinung dazu: Ueberfluessig. Die meisten Diskutanten (nicht Komba-
tanten :>) haben Manieren, und wenn einer keine hat, verkruemelt sich die
Gruppe in ein Seherhaus.
Vorschlag dazu: Multiples 'teile mit' (teile a,b,c mit ...), fuer ortsun-
abhaengige Diskussionen.
Das Blackboard ist allerdings eine nette Idee - fraglich nur, ob es jemand
nutzt :>

Mahatmu

-----------------------------------------------------------------------------



Re: Re: Vortragraum (Nonne,  9. Dez 1999, 12:16:21):
~#! rn=Mahatmu rt=944735145 rg=entwicklung
~#! tid=944697416
Tach,

das hat sich doch dann mit dem Teamkampf erledigt. Man muss ja nicht im Team
metzeln, kann aber leuten im Team was mitteilen. Das wuerde das multiple teile
mit ueberfluessig machen. Mit den Mitteln, die das Mud bietet, sollte sich
sowas machen lassen.

Nur ein Vorschlag
Nonne.

-----------------------------------------------------------------------------



Re^3: Vortragraum (Mahatmu,  9. Dez 1999, 12:18:25):
~#! rn=Nonne rt=944738181 rg=entwicklung
~#! tid=944697416
Klar kann man das dazu gebrauchen. Aber schoener waere es doch, das
Gruppen-Mitteile zum 'teile mit' zu impoertieren, da ich mich ja nicht
immer irgendwo in ein Team zusammenfinden moechte, nur weil ich mit
vier Leuten anfangs auf dem Kanal und dann privater diskutiere.

Mahatmu

-----------------------------------------------------------------------------



Re^3: Vortragraum (Padreic,  9. Dez 1999, 12:19:31):
~#! rn=Nonne rt=944738181 rg=entwicklung
~#! tid=944697416
Ich bin dafuer das Mesirii das schon oeffentlich macht. Insbesondere wuerden
mich dann der Punkt "untersuchescripten fuer anfaenger" interessieren. Am
besten direkt in schriftlicher Form, dann is gut.

Padreic, der sich schon sooo auf das Seminar gefreut hat und direkt einige
Fragen mitgebracht haette (z.B. wie schafft man es sein script so schnell zu
verbreiten das jede Menge Spieler Aerger kriegen weil es schlicht verboten
ist).

-----------------------------------------------------------------------------



Re^3: Vortragraum (Widewitt,  9. Dez 1999, 12:26:07):
~#! rn=Nonne rt=944738181 rg=entwicklung
~#! tid=944697416
gute idee !
nur muessen sich die leute vorher treffen ... was fuer nicht seher arbeit
bedeutet 

Widewitt

-----------------------------------------------------------------------------



Re^4: Vortragraum (Hood,  9. Dez 1999, 15:05:02):
~#! rn=Padreic rt=944738371 rg=entwicklung
~#! tid=944697416
ein seminar kann auch gut dazu sein, vorurteile aus der welt zu schaffen.
nach deinem artikel bedaure ich es gleich doppelt, dass mesirii den
vortrag nun nicht haelt...
der punkt 'untersuchescripten fuer anfaenger' waere uebrigens nicht im
vortrag enthalten, jedenfalls nicht so, wie du das gern auffassen moechtest.

-----------------------------------------------------------------------------



Re^4: Vortragraum (Mesirii, 13. Dez 1999, 06:14:33):
~#! rn=Mahatmu rt=944738305 rg=entwicklung
~#! tid=944697416
Ist doch ganz einfach mit TF, waer ich zur Party gekommen waer das Teil des
Vortrags gewesen, den ich gern im Vortragsraum nachhalten wuerde.
Mesi

-----------------------------------------------------------------------------



Re^5: Vortragraum (Mahatmu, 13. Dez 1999, 15:39:24):
~#! rn=Mesirii rt=945062073 rg=entwicklung
~#! tid=944697416
Das ist dann wieder der typische Fall von Inselloesung, wie er viel
zu oft vorkommt. Ich bin eher der Ansicht, dass die Lib solche Moeglich-
keiten zur Verfuegung stellen sollte, damit _alle_ es nutzen koennen.
(Und das bezieht sich auch auf andere Dinge - eine Umfrage mit dem
 Thema "Hast Du eigene Inherit-Raeume fuer spezielle Funktionen, die Du
 vermisst hast." wuerde in MG sicher einige Faelle beinhalten.)

Mahatmu

-----------------------------------------------------------------------------



Re: Re: Vortragraum (Acrimon, 14. Dez 1999, 12:47:08):
~#! rn=Mahatmu rt=944735145 rg=entwicklung
~#! tid=944697416
Ich finde, wenn schon ein Vortragsraum, dann sollte man unbedingt erlauben,
dasz auch solche Fragen gestellt werden koennen, die dem Vortragenden
unangenehm sind. Es waere sonst zu einseitig.

Acrimon

-----------------------------------------------------------------------------



rebott & atme system (Jasper, 16. Dez 1999, 19:51:07):
Da ja am samstag eh rebootet wird, wird auch gleich mit dem neuen lichtsystem
das atme-system eingefuehrt.
Man muss dann als spieler spaetestens alle 30sekunden atme eintippen oder
man erstickt. wegescripte die schnell durch die gegend rennen, muessen
natuerlich oefters
atmen.

Nuja ich will net zuviel verraten, ihr werdet es am samstag ja flott merken,
also am besten direkt nach dem einloggen schonmal atme eingeben :)


Jasper japst.

PS: evtl. koennen wir auch ne wahlurne aufstellen und abstimmen ob das kommand
atme oder japse heissen soll.
++

-----------------------------------------------------------------------------



Re: rebott & atme system (Gnome, 16. Dez 1999, 21:07:41):
~#! rn=Jasper rt=945370267 rg=entwicklung
~#! tid=945370267
hmmm.
du enttaeuscht mich masslos, jasper.
abgesehen davon, dass dein arikel inhaltlich nach muell gehoert, bin ich
mir jetzt gar nicht so sicher, ob jmd dein passwd geklaut hat...

in keiner einzigen zeile nicht ein einziges 4-letter-word, geschweige denn
solch ich-bin-so-toll-und-hab-den-laengsten-phrasen.
oder sollte deine letze zeile doch noch eine versteckte dreckige andeutung
enthalten? vielleicht nicht 'japse' sondern eher 'stoehne' ?

wenigstens kann man deinen eiweiss-'rezepten' noch einen kleinen vor-
pubertaeren scherz abgewinnen, auch wenn sie ungleich orginineller
als eine ankuendigung zum atme-systems sind.

trash as trash can be...

gnOme, seufzend

-----------------------------------------------------------------------------



IM WESTEN WAS NEUES (Phygos, 22. Dez 1999, 19:37:19):
( PLANUNG )
Hier ein kleiner Lifebericht unseres rasenden Reporters Marcus Tullius
Magnificus direkt aus dem Inneren einer brandneuen Helepolis.
Marcus Tullius      Ja und heir steh ich nun. Alle sind auf ihren Posten. Bald
soll es losgehen. Die Spannung steigt.
                     Ahja wie ich sehe, geht es los. Psssst scheun wir uns
nochmal leise um.
     
                     Wir befinden uns hier in der 1.Etage der gigantischen
Konstruktion eines Helepolis. Es gibt insgesammt 5 Etagen. Ein riesiges
Schneckengetriebe uebertraegt hier die Antriebsenergie auf die Achsen. Hier
ist genug Platz fuer mindestens 20 Krieger Waffen und die Auerochsen.  Es
scheint loszugehen.......

Centurio bruellt :" Decurio,Triarii,Principes und Hastati. 

                    Bemannt die Balistae, Eutythoni und 

                    Onagri. 

                    Asinarii gebt den Ochsen die Peitsche.

                    Los, los, los. Das muss schneller gehen.



                    Centurio geht nach Oben



                    Die Asinari lassen die Peitschen knallen



                    Der Decurio scheucht die Legionaere durch 

                    die Etagen.



Decurio bruellt :"  Wird das mal bald was Legionaere?! 



                    Die Auerochsen schnaufen in ihren Zuggeschirren.

                    Die Triarii und Principes sind schon an den 

                    Balistae.



Decurio bruellt :" Wer pennt denn da? He Hastati, komm ich Wallung du

                   gallische Schnarchnase, oder ich tret Dir meine Caligae

                   in den Podex, dass Du bis zum Quirinal fliegst.



Hastati murmelt :" Mach hier nicht die Unda (Welle), bin doch kein Equus
Cursor.

                   (Rennpferd)



Decurio bruellt :" Das hab ich gehoert Legonarius Hastati. 



Decurio brummelt:" Welch ein Flagitum Homines(Abschaum der Menschheit).

                   Und alle in meiner Einheit. Schweinebande.

                    

                   Die Ochsen beginnen langsam den Turm zu drehen.

   

                   Knirschend und knackend kommt der Helepolis wieder

                   zum Stillstand.



                   Die Ochsen schnaufen.

            

                   Die Asinarii schnaufen.



                   Hastati, Principes und Triarii luemmeln sich an den

                   Balistae herum.



                   Centurio kommt wieder herein.



Centurio bruellt:" Was ist den hier los? Fuehren wir hier Krieg, oder 

                   sind wir auf Urlaub?

                   DEEEEEECUUUURIOOOOOO Achtung!!!



                   Decurio steht stramm wie ein in die Erde gerammter

                   Pfahl.




Centurio bruellt:"Unglaublich. Schweinerei. Faule Bande. Und der Decurio

                  mitten drin"

                  Sorgen sie fuer Ordnung, oder ich degradiere sie zum 

                  Subulcus (Schweinehirt). Verstanden?!



Decurio antwortet:"Verstanden Centurio. 



                  Decurio funkelt Legionaere boese an.



                  Legionaere grinsen



Centurio sagt   :"Hab Wichtigeres zu tun"

                  

                  Centurio geht nach Oben



Decurio presst 

zwischen den 

Zaehnen hervor:" Subulcus, so so. Euch werd ich`s zeigen.



Decurio BRUELLT:" An die Balistae. Laden. Spannen und Feuern.

                  Und wehe einer von euch Traumtaenzern macht 

                  Zicken. Der findet sich auf der Wurfpfanne 

                  vom Onager wieder.



                  Ploetzlich kurbeln die Legionaere wie wild

                  an den Balistae und Eutythonen.



                  Die Asinari lassen die Peitschen knallen

     

                  Die Ochsen beginnen langsam den Turm zu bewegen.

   

                  Knirschend rollt der Helepolis nach Norden.

                  Knackt und knirscht wieder.Kommt zum Stillstand.



                  Die Ochsen schnaufen.

            

                  Die Asinarii schnaufen.



Triarius bruellt:" Karthagische Fusskaempfer vor dem Turm. Feuer!"

  

                   Aus allen Schiessluken prasseln Wurspeere auf 

                   die Karthager.



                   Draussen prasselt ploetzlich etwas Fluessiges.

                   Sofort ertoenen Schmerzensschreie.



Decurio bruellt:" Gut so. Immer runter mit dem heissen Pech!



Triarii bruellt:" Nachladen! Schneller!!



                 Die Legionaere kurbeln wie wild

                 an den Balistae und Eutythonen.

                 Die Asinarii versuchen die Tiere zu beruhigen

                 Trotzdem zerren die Ochsen unruhig an den Geschirren.



Hastati bruellt  :" Fertig."



Principes bruellt:" Fertig."



Triarii bruellt  :" Auf mein Kommando. Feuer!!

                 

                 Aus allen Schiessluken prasseln Wurspeere auf 

                 die Karthager. Sofort ertoenen Schmerzensschreie.



                 Eine gewaltige Explosion fegt durch die Etage.

                 Ueberall regnet es brennendes Holz und Eisensplitter.

                 Ein Hastati faellt tot zu Boden, und geraet

                 unter die Hufe der Auerochsen.

                 Widerliches Knirschen.



Decurio bruellt:" Onagereinschlag. Sofort leoschen!



Hastati bruellt :" Aries, Aries. 2 Karthagischee Aries kommen naeher."



                 Decurio wird bleich.



Decurio murmelt:" Damnatus Lutum (verdammter Dreck). Die wollen uns an4s

                  Eingemachte.



                  Von Oben hallt ein Rumpeln herunter.

                  Etwas grossen Brandheschoss orgelt Richtung Karthager.



Triarii betet leise:" Mars steh uns bei. Sei4s ein Treffer.

                

                 Draussen gibt es eine gewaltige Explosion.

                 Truemmer fliegen durch das Loch in der Aussenwand.



Decurio denkt:" Volltreffer! Ha!"



Hastati bruellt:" Mitten rein. Die ganze Ramme ist zerschmettert.

                  Er brennt. Lichterloh.



Triarii bruellt:" Schnauze. Nachladen. Da ist noch einer. Wenn die 

                  Baalsanbeter jetzt Elefanten holen, sehen wir alt aus.



                 Die Legionaere kurbeln wie wild

                 an den Balistae und Eutythonen.



                 Die Asinarii schneiden einen toten Ochsen aus

                 dem Geschirr.



Hastati bruellt  :" Fertig."






Principes bruellt:" Fertig."



Triarii bruellt  :" Auf mein Kommando. Feuer!!

                 

                 Aus allen Schiessluken prasseln Wurfspeere auf 

                 Karthager und Aries. Ein paar Schmerzensschreie

                 ertoenen.



                 Ein gewaltiger Stoss holt alle von den Beinen.



Hastati bruellt:" Sie rammen! Verdammt sie rammen!"



                  Decurio verpasst Hastati eine saftige Ohrfeige.

                  Der Helm kullert ueber den Boden."



Decurio bruellt:" Klappe halten. Nachladen. Alle auf den Aries, sonst 

                  ist hier Schicht im Schacht.



                 Die Legionaere kurbeln wie wild

                 an den Balistae und Eutythonen.



                 Die Asinarii vernageln das Loch mit Brettern.

                 Draussen prasselt ploetzlich Fluessiges.

                 Fluessiges Pech schwapt durch das Loch auf die Asinari.

                 Sofort ertoenen Schmerzensschreie.

                 

Decurio bruellt:" Elende Schweinerei. He ihr da Oben, Wir haben hier 

                  ein Loch in der Wand."



Jemand von Oben bruellt:" Dann stecke deinen dicken Arsch hinein.

                          Wir haben hier ganz andere Probleme!"





Hastati bruellt  :" Fertig."



Principes bruellt:" Fertig."



Triarii bruellt  :" Auf mein Kommando. Feuer!!     



                   Ein gewaltiger Stoss holt alle von den Beinen.

                   Balistaespeere und Eutythonenpfeile fliegen 

                   kreuz und quer durch den Raum.

      

                   Es nagelt einen der Asinarii an die Wand.



                   Ein mit Pech uebergossener Auerochse dreht durch,

                   reisst sich aus dem Geschirr und springt durch 

                   das Loch in der Wand.

     

Decurio bruellt:" Nachladen. Alle auf den Aries.





                 Die Legionaere kurbeln wie wild

                 an den Balistae und Eutythonen.

                      

                 Draussen scheint der Auerochse unter den 

                 Karthagern zu wueten.



Hastati bruellt  :" Fertig."



Principes bruellt:" Fertig."



Triarii bruellt  :" Warten!!

   

                   Ein gewaltiger Stoss holt alle von den Beinen.

                   Die Einstiegsluke explodiert aus den Angeln, und

                   ein bronzener Widderkopf kommt hinterher.



Triarii bruellt:" Drehen, sofort umdrehen"

                  Erreisst seinen Balista herum.



                  3 Karthager springen herein.



Triarii bruellt  :" Feuer!

            

                  3 zusammengenagelte Karthager fliegen aus dem Raum.



Principes bruellt:" Der Aries brennt. Das verdammte Ding fackelt ab.



                 Centurio kommt die Rampe herunter gerannt.



Centurio bruellt:" Wir brennen auch. Die ganzen verdammten 

                   Onagergeschosse!

             



Decurio bruellt:" Decurios und Frauen zuerst."

                  Decurio hechtet aus der zertruemmerten Einstiegsluke.



Centurio bruellt:" Deserteur! Ich verfolge ihn. Haltet die Stellung"

                   Centurio hechtet aus der zertruemmerten Einstiegsluke.



Triarii grummelt:" Na Klasse. Wenn ich den Subulcus erwische.



Triarii bruellt:"Nachladen. Da sind noch Karthager. Keine Lust, denen in 

                 die Klinge zu springen."



                 Die Legionaere kurbeln wie wild

                 an den Balistae und Eutythonen.



Hastati bruellt  :" Fertig."



Principes bruellt:" Fertig."



Triarii bruellt  :" Feuer!!"


                Draussen ertoenen noch vereinzelt Schmerzensschreie.



Triarii sagt ruhig:" So, vespertina operis cesatio (Feierabend) 

                     Nix wie raus hier.





                    Geordnet verschwinden die restlichen Hastati, 

                    Principes,Triarii und Asinarii.





Aus einiger Entfernung:





Eine grosse Explosion und ein Meer von

schwarzem Rauch zieht ueber das Schlachtfeld



Plopp...  



Principes: Mhhhh gut der Wein.



Triarii: Stimmt, gehoert auch dem Centurio.



Principes:Und der Schinken?



Triarii: Dem Decurio.



Principes:Ja ja, da erkennt man den Subulcus.



Triarii: Genau. Gib mal das Brot rueber.



Principes:Bitte schoen.



Triarii: Brennt gut, nicht?



Principes:Der Helepolis?



Triarii: Jip. Sollte man viel oefter sehen.



Principes:Genau.



Triarii: Was machst du morgen?



Principes:Keine Ahnung.

          Vieleicht Patroullie.



Triarii: Patroullie? Aetzend. 

         Ich mach Onagerdienst.



Principes: Gute Idee. Mach ich mit.



Triarii: Noch Wein?



Principes: Ist das ne Frage?!



Plopp.......


gez. Tsunami ( der dafuer wieder endlos schuften darf)
gez. Phygos ( der sich andauernd solchen Wahnsinn ausdenkt )

-----------------------------------------------------------------------------



Re: IM WESTEN WAS NEUES (Nevok, 22. Dez 1999, 19:49:08):
~#! rn=Phygos rt=945887839 rg=entwicklung
~#! tid=945887839
fein, das is nu der laengste artikel den ich bisher hatte.....geht das net
etwas uebersichtlicher? :)

Nevok, der keine Ahnung hat was hier abgeht.....Roemer? Karthager?
Ceterum Censo.... ;)

-----------------------------------------------------------------------------



Re: IM WESTEN WAS NEUES (Mammi, 22. Dez 1999, 23:00:46):
~#! rn=Phygos rt=945887839 rg=entwicklung
~#! tid=945887839
Koennt ihr nicht wenigstens ETWAS weniger Leerzeilen drin lassen? 
Ich schreib ja schon (anderswo) langer Artikel, aber das macht echt
keinen Spass zu lesen.

Gruss, Mammi

-----------------------------------------------------------------------------



Re: Re: IM WESTEN WAS NEUES (Sublime, 23. Dez 1999, 01:02:26):
~#! rn=Mammi rt=945900046 rg=entwicklung
~#! tid=945887839
Hmm, naechstes mal waeren solche scrollmpabeitraege doch eher auf den
htmlseiten untergebracht, da haette man sicher mehr uebelsicht ;=)
Aber so wars auch ganz amuesant...hehe

subl

-----------------------------------------------------------------------------



Re: IM WESTEN WAS NEUES (Rardian, 23. Dez 1999, 02:11:43):
~#! rn=Phygos rt=945887839 rg=entwicklung
~#! tid=945887839
Hm...
Westen?
Ferner Westen?
Roemer und Chinesen in einer Region??
Wenn dasmal gut geht...

Rar, heute mal skeptisch.

-----------------------------------------------------------------------------



Re: IM WESTEN WAS NEUES (Jamalski, 29. Dez 1999, 19:51:03):
~#! rn=Phygos rt=945887839 rg=entwicklung
~#! tid=945887839
Das verspricht immer noch xmal weniger, als ich schon gehoert, gelesen und
gesehen hab!
Ich freu mich drauf!
jamalski

-----------------------------------------------------------------------------



Bug in "stop"? (Yendi,  3. Jan 2000, 19:52:08):
> sc
- Yendi der Weise. ---------------------------------------------------
Rasse ............ Elf                Charakter ........ gut
Geschlecht ....... maennlich          Groesse .......... 212 cm
Stufe ............ 18                 Gewicht .......... 63 kg

(...)

Du verfolgst Fondil, einen Wirt, einen Papagei, einen Elfenwaechter, einen
Waechter und
einen Elfenwaechter.
Alter:  67 Tage 4 Stunden 5 Minuten 32 Sekunden.
----------------------------------------------------------------------
> stop fondil 
So jemanden verfolgst Du nicht!
> stop wirt
So jemanden verfolgst Du nicht!
> stop waechter
So jemanden verfolgst Du nicht!
> stop elfenwaechter
So jemanden verfolgst Du nicht!
> stop
Du jagst Fondil nicht mehr.
Du jagst einen Wirt nicht mehr.
Du jagst einen Papagei nicht mehr.
Du jagst einen Elfenwaechter nicht mehr.
Du jagst einen Waechter nicht mehr.
Du jagst einen Elfenwaechter nicht mehr.
Ok.



-----------------------------------------------------------------------------



Re: Bug in "stop"? (Tiamak,  9. Jan 2000, 03:02:08):
~#! rn=Yendi rt=946925528 rg=entwicklung
~#! tid=946925528
Ab 'ende'/Reboot/Crash funktioniert das.

Tiamak

-----------------------------------------------------------------------------



Sterben und so (Tiamak, 31. Jan 2000, 15:56:22):
Wahrscheinlich wird es sowieso niemanden betreffen, also ueberspringt den
Artikel einfach. ;-)

In ganz ganz ganz seltenen Faellen (wenn jemand das halbe MG in seinem Inv mit
sich herumschleppt) koennte es demnaechst passieren, dass beim Sterben
besagter Krimskrams (die Ausruestung halt ;-) nicht sofort komplett in der
Leiche liegt, sondern erst nach ein paar Sekunden alles "drueben" ist.

Da NPCs in den allermeisten Faellen nicht soviel Ausruestung mit sich
herumschleppen, braucht wohl keiner seine "nimm alles aus leiche"-Trigger
umzuschreiben. Und wenn wirklich mal ein NPC soviel bei sich traegt, dann
koennt ihr es eh nicht alles auf einmal tragen. Also aendert sich eigentlich
eh nix. ]:->


Nur fuer den unwahrscheinlichen Fall, dass sich jemand wundert ...

Tiamak

P.S.: Pech gehabt, liebe Cheater. Auf _die_ Art nicht mehr. ]:->

-----------------------------------------------------------------------------



Artikelnummer im WWW (Jasonrigid,  8. Feb 2000, 13:23:53):

Hi Leute,

ich faende es nicht schlecht, wenn in der WWW-Version der MPA bei den Artikeln
auch die Artikelnummer mit angegeben wuerde, Das wuerde die Antwort auf
irgendwelche Artikel fuer diejenigen, die die MPA mit einem Browser lesen,
sehr viel einfacher gestalten.

Bis dann

Jason

-----------------------------------------------------------------------------



Re: Artikelnummer im WWW (Hate,  8. Feb 2000, 15:16:08):
~#! rn=Jasonrigid rt=950012633 rg=entwicklung
~#! tid=950012633
done.

-----------------------------------------------------------------------------



questmud? (Karis, 14. Feb 2000, 13:49:27):
Mich wuerde mal interessieren, wie das Verhaeltnis zwischen max.
erreichbaren APs, FPs und Killstupsen aussieht. 
Interessant deshalb, weil das MG mal als Questmud angepriesen wurde
(soweit ich mich daran erinnern kann). Wenn die Stupse da inzwischen 
die Oberhand gewonnen haben, kann man ja vielleicht drueber nachdenken,
aus dem MG ein Metzelmud mit ein paar Quests zu machen.
Falls es da noch weitere Punktlieferanten gibt (Gildenpunkte hab ich z.B.
vergessen, wuerd ich das natuerlich auch gerne wissen.

Und jetzt sag bitte keiner, die Gesamtzahl an Punkten duerfte kein Spieler
wissen ..

Karis

-----------------------------------------------------------------------------



Re: questmud? (Jamalski, 14. Feb 2000, 15:50:13):
~#! rn=Karis rt=950532567 rg=entwicklung
~#! tid=950532567
Selbst wenn es so waere...
Bei einem PauschalUrlaub freuste Dich doch auch, wenn etwas mehr als pauschal
passiert, oda?
Jamalski

-----------------------------------------------------------------------------



Re: questmud? (Boing, 15. Feb 2000, 10:04:01):
~#! rn=Karis rt=950532567 rg=entwicklung
~#! tid=950532567
Wenn man mal einen mehr oder weniger typischen High-End-Spieler hernimmt
(Sting *grins*), dann verteilen sich die Punkte zu ca. 60 Prozent auf
Abenteuerpunkte/Forscherpunkte und zu ca. 40 Prozent auf Erstkills und
Erfahrungspunkte. Bei den Forscherpunkten ist prinzipiell noch deutlich
mehr drin, allerdings wird das wohl sehr schwer. Bei Spielern mit 
niedrigerem Level verschiebt sich das Verhaeltnis mehr zum Anteil AP/FP.
Auskunft genug?
  Boing

-----------------------------------------------------------------------------



Re: Re: questmud? (Hood, 15. Feb 2000, 10:55:59):
~#! rn=Boing rt=950605441 rg=entwicklung
~#! tid=950532567
wusste ichs doch, sting ist nen bluemchenpfluecker ;)

PS: kontte nicht wiederstehen *grins*

-----------------------------------------------------------------------------



Re: Re: questmud? (Karis, 15. Feb 2000, 10:58:35):
~#! rn=Boing rt=950605441 rg=entwicklung
~#! tid=950532567
Danke, das reicht erstmal :)
Karis.

-----------------------------------------------------------------------------



Re^3: questmud? (Lug, 16. Feb 2000, 00:56:02):
~#! rn=Karis rt=950608715 rg=entwicklung
~#! tid=950532567

Wuerde mir auch reichen, bzw. reicht schon lange.

Altundfett
Lug

-----------------------------------------------------------------------------



Re: questmud? (Jasper, 16. Feb 2000, 21:30:56):
~#! rn=Karis rt=950532567 rg=entwicklung
~#! tid=950532567
mg ist mit sicherheit nicht als metzelmud einzustufen :)
bluemchenpflueckermud triffts wohl eher

-----------------------------------------------------------------------------



Mail (Tiamak, 21. Feb 2000, 10:44:37):
Hiho!

Ich bin momentan dabei, das Mailsystem zu ueberarbeiten.

Falls noch jemand Vorschlaege oder Wuensche zu neuen Features hat bzw.
irgendwelche Bugs kennt, waere jetzt der beste Zeitpunkt fuer eine Mail an
mich. 

Und fuer den unwahrscheinlichen Fall, dass auf einmal neue Bugs auftreten
sollten, waere ich fuer eine Mail ebenfalls dankbar.


Tiamak

-----------------------------------------------------------------------------



Re: Mail (Gnome, 21. Feb 2000, 15:41:55):
~#! rn=Tiamak rt=951126277 rg=entwicklung
~#! tid=951126277
...falls das nailsystem dann noch funktioniert... *duck* ;-)

gnOme

-----------------------------------------------------------------------------



Re: Re: Mail (Hreidmar, 21. Feb 2000, 15:42:53):
~#! rn=Gnome rt=951144115 rg=entwicklung
~#! tid=951126277

Hoppala, du willst damit hoffentlich nicht andeuten, dass Tiamak die Spieler
"nageln" will, oder? ];->

Hreidmar, daemonisch.

-----------------------------------------------------------------------------



Re^3: Mail (Gnome, 21. Feb 2000, 15:43:49):
~#! rn=Hreidmar rt=951144173 rg=entwicklung
~#! tid=951126277
n und m liegen aber auch verdammt dicht beieinander ;-)

gnOme

-----------------------------------------------------------------------------



Re: Re: questmud? (Jamalski, 22. Feb 2000, 20:08:29):
~#! rn=Jasper rt=950733056 rg=entwicklung
~#! tid=950532567
Ich hab da auch noch den Titel des Flirtmuds anzubieten.

Nur das ihr das nicht vergesst.
Jamalski
* * * R U F  A N * * *

-----------------------------------------------------------------------------



Re^3: questmud? (Rardian, 22. Feb 2000, 22:00:35):
~#! rn=Jamalski rt=951246509 rg=entwicklung
~#! tid=950532567
Du meinst wohl Baggermud?? :)

Rar, hat hier noch nie gebaggert, ehrlich!

-----------------------------------------------------------------------------



Staedteangaben im 'wer' (Boing, 23. Feb 2000, 16:07:00):
Hi,

kurze Meinungsumfrage: Legt eigentlich jemand gesteigerten Wert auf die
Anzeige der Stadt im 'wer'? Frueher war das ja noch ganz nett, aber seit
da vermehrt 'Deutsche Telekom AG' und aehnliches steht, finde ich es
nicht mehr so schoen ... Natuerlich sollte 'kwer in bla' weiterhin
gehen und auch im finger kann man das gerne anzeigen, nur meiner 
Ansicht nach nicht im 'wer'. Stattdessen koennte man evtl. die Gilde
anzeigen.
Kommentare?
  Boing

-----------------------------------------------------------------------------



Re: Staedteangaben im 'wer' (Deepblue, 23. Feb 2000, 16:45:13):
~#! rn=Boing rt=951318420 rg=entwicklung
~#! tid=951318420
mach das, lass aber mit wer wo die alte ausgabe

-----------------------------------------------------------------------------



Re: Re: Staedteangaben im 'wer' (Hight, 23. Feb 2000, 17:01:06):
~#! rn=Deepblue rt=951320713 rg=entwicklung
~#! tid=951318420
ich stimmt deepblue zu ... mal abgesehen davon dass die syntax auch anders
sein kann

Hight

-----------------------------------------------------------------------------



Re^3: Staedteangaben im 'wer' (Anatol, 23. Feb 2000, 17:02:26):
~#! rn=Hight rt=951321666 rg=entwicklung
~#! tid=951318420
Wenn Du richtig fleissig sein moechtest, Boing, kannst Du das "wer" ja
auch irgendwie parametrisieren... "wer orte", "wer gilden", "wer regionen",
"wer rassen", .... :o)

Anatol ;)


-----------------------------------------------------------------------------



Re^4: Staedteangaben im 'wer' (Deepblue, 23. Feb 2000, 18:20:55):
~#! rn=Anatol rt=951321746 rg=entwicklung
~#! tid=951318420
wer idle, wer weg

-----------------------------------------------------------------------------



Re^5: Staedteangaben im 'wer' (Ronda, 23. Feb 2000, 18:40:55):
~#! rn=Deepblue rt=951326455 rg=entwicklung
~#! tid=951318420
Oder ne andere Idee: man kann sich, wenn man mag, seine eigene Stadt setzen
;-) Dann kann man wenigstens halbwegs rausfinden, woher die Leute kommen...

Ronda *erwartet da dann zwar eher so Eintraege wie "Vom Sensi", "PV" oder so,
aber nen versuch waere es wert...*

-----------------------------------------------------------------------------



Re^6: Staedteangaben im 'wer' (Tarina, 23. Feb 2000, 18:43:11):
~#! rn=Ronda rt=951327655 rg=entwicklung
~#! tid=951318420
Den Vorschlag find ich klasse. Wer nicht moechte, dass man weiss, wo er/sie
herkommt kann ja "XXX" reinsetzen. Oder was anderes, dass man erkennt, dass es
kein Ort ist :-)

Tarina

-----------------------------------------------------------------------------



Re^4: questmud? (Sublime, 23. Feb 2000, 19:51:30):
~#! rn=Rardian rt=951253235 rg=entwicklung
~#! tid=950532567
Wirklich nicht, Schatz ? ;)

-----------------------------------------------------------------------------



Re^7: Staedteangaben im 'wer' (Anatol, 23. Feb 2000, 21:01:22):
~#! rn=Tarina rt=951327791 rg=entwicklung
~#! tid=951318420
Och noe, ich find' es ganz nett, wenn man wenigstens ansatzweise sieht, 
zu welchem Rudel der Karateka gehoert... ;o)

Anatol


-----------------------------------------------------------------------------



Re^7: Staedteangaben im 'wer' (Leibniz, 23. Feb 2000, 21:01:30):
~#! rn=Tarina rt=951327791 rg=entwicklung
~#! tid=951318420
finde ich eine gute idee, dass man den ort selbst setzen kann. dann frag mich
auch keiner mehr was ich in erlangen mache :)

leibi


-----------------------------------------------------------------------------



Re^5: questmud? (Rardian, 23. Feb 2000, 22:25:17):
~#! rn=Sublime rt=951331890 rg=entwicklung
~#! tid=950532567
Baeh! Wiederlich!!

-----------------------------------------------------------------------------



Re^5: Staedteangaben im 'wer' (Morgoth, 23. Feb 2000, 22:25:55):
~#! rn=Deepblue rt=951326455 rg=entwicklung
~#! tid=951318420
wer wills?

M*

-----------------------------------------------------------------------------



Re^6: Staedteangaben im 'wer' (Pale, 24. Feb 2000, 08:30:49):
~#! rn=Morgoth rt=951341155 rg=entwicklung
~#! tid=951318420
Also ich faend's toll, wenn ich meinen Staedtenamen selbst setzen koennte.

Pale wedelt mit einem "Vote for selfmade Stadt-Angabe"-Faehnchen

-----------------------------------------------------------------------------



Re^6: Staedteangaben im 'wer' (Deepblue, 24. Feb 2000, 09:25:33):
~#! rn=Ronda rt=951327655 rg=entwicklung
~#! tid=951318420
Auch gut, also wo bleibt die Realisierung?
DeepBlue, heute einzeilend

-----------------------------------------------------------------------------



Re^6: questmud? (Zook, 24. Feb 2000, 16:27:32):
~#! rn=Rardian rt=951341117 rg=entwicklung
~#! tid=950532567
>finger sublime
[...]
Voller Name: Sublime der Todesritter ist wieder solo !
[...]

Bei der plumpen Anmache irgendwie kein Wunder ;)

Zook.

-----------------------------------------------------------------------------



Re^7: questmud? (Sublime, 24. Feb 2000, 18:12:06):
~#! rn=Zook rt=951406052 rg=entwicklung
~#! tid=950532567
Aehm, stimmt so nicht. Ich leb' hinterm' Mond, ich weiss.
Finger doch einfach nochma' ;)

Subl

-----------------------------------------------------------------------------



Re: Staedteangaben im 'wer' (Jamalski, 24. Feb 2000, 21:33:56):
~#! rn=Boing rt=951318420 rg=entwicklung
~#! tid=951318420
Gilde ist ok!
Vielleicht kann man aber auch eine in Abstimmung gefundene Wertung der
jeweiligen Person angeben. :)
Beim Sandtiger gibt man den Namen und die Wertung an. Von 1 - 10 ( 1 =
unausstehlich bloed ... 10 den/die will ich mir in Kunstharz giessen.)

Die Abstimmung sollte nur vom Erstie gemacht werden koennen und nur nach einer
Ja/nein Abfrage anonym sein.

Jamalski hebt flemen ueber die Landtagswahlen.

-----------------------------------------------------------------------------



Re^8: Staedteangaben im 'wer' (Jamalski, 24. Feb 2000, 21:36:49):
~#! rn=Leibniz rt=951336090 rg=entwicklung
~#! tid=951318420
Watt machst Du eigentlich in Erlangen???

Jamalski, kann's nicht fassen...

-----------------------------------------------------------------------------



Re: Re: Staedteangaben im 'wer' (Jamalski, 24. Feb 2000, 21:39:57):
~#! rn=Jamalski rt=951424436 rg=entwicklung
~#! tid=951318420
kein comment bitte ueber meine typos.
ich sehe praktisch erst in der mpa was ich tippe, weil lag...

-----------------------------------------------------------------------------



Re^9: Staedteangaben im 'wer' (Marcus, 24. Feb 2000, 21:41:51):
~#! rn=Jamalski rt=951424609 rg=entwicklung
~#! tid=951318420
Was hast du gegen Erlangen? Ist doch ein schoenes verschlafenes
Kleinstaedtchen.
Und Leibniz kommt net aus Erlangen, sondern nur der Internet Provider ;)

Ciao, Marcus

-----------------------------------------------------------------------------



Re^10: Staedteangaben im 'wer' (Jamalski, 24. Feb 2000, 21:50:40):
~#! rn=Marcus rt=951424911 rg=entwicklung
~#! tid=951318420
Leibi, hast Du oft lag, oder ist der Provider nicht so verschlafen.

Ausserdem habe ich nichts gegen Erlangen. Ich erinner mich da gar noch an"
Wissenswertes, Wissenswertes ueber Erlangen"


Aber wohnen moechte ich da nicht.

Jamalski kann nicht einmal ausprehcen wo er gerne wohnen moechte.

-----------------------------------------------------------------------------



Re^9: Staedteangaben im 'wer' (Leibniz, 24. Feb 2000, 22:43:10):
~#! rn=Jamalski rt=951424609 rg=entwicklung
~#! tid=951318420
also wohnen tu ich da net :)

-----------------------------------------------------------------------------



Re^6: Staedteangaben im 'wer' (Nevok, 25. Feb 2000, 01:52:18):
~#! rn=Ronda rt=951327655 rg=entwicklung
~#! tid=951318420
yo wuerde ich begruessen, bei mir steht ja auch immer noch Fairfax drin obwohl
es ja Harrisonburg ist.....aber naja...mehr als bitte bitte machen kann ich
net :)

Nevok, der nur 3 Stunden von Fairfax autotechnisch wegwohnt...

-----------------------------------------------------------------------------



Re: Staedteangaben im 'wer' (Apsu, 25. Feb 2000, 06:38:05):
~#! rn=Boing rt=951318420 rg=entwicklung
~#! tid=951318420
Im Gegenzug sollte wenigstens 'kwer aus t-online' oder kwer von 't-online'
funzen. das waer gut. ansonsten wuesste ich nicht, wo Dein Problem ist.

Apsu

-----------------------------------------------------------------------------



Sehnsucht (Slash, 25. Feb 2000, 09:04:42):
Hm.. Gibt es eine Statistik, wieviele Spieler noch aktiv sind, die in einem
Zeitfenster von 1 Monat vor und 1 Monat nach dem ersten Einloggen mit von der
Partie waren?

Oder eine Statistik, wie sich das MG verjuengt (oder vergreist), z.B.
durchschnittliches Alter der Charaktere?

Gruesse, slash

-----------------------------------------------------------------------------



Re: Sehnsucht (Pra, 25. Feb 2000, 10:10:35):
~#! rn=Slash rt=951465882 rg=entwicklung
~#! tid=951465882
Wie sollen die Leute einen Monat vor ihrem ersten Login aktiv im Mud
sein?

Pra. Versteht Bahnhof.

-----------------------------------------------------------------------------



Re^7: Staedteangaben im 'wer' (Alpha, 25. Feb 2000, 13:14:18):
~#! rn=Nevok rt=951439938 rg=entwicklung
~#! tid=951318420
3 Stunden autotechnisch auf Amerika-Standard heisst ja wohl Vorort, oder?
55 oder 65 Mph sind einfach laecherlich.

-----------------------------------------------------------------------------



Re^8: Staedteangaben im 'wer' (Nevok, 25. Feb 2000, 19:24:03):
~#! rn=Alpha rt=951480858 rg=entwicklung
~#! tid=951318420
Vorort? bloedes Gewaesch, rechne mal drei stunden 55 mph aus. Das sind immer
noch 240+km. Ist zwar fuer amerikanische verhaeltnisse nicht weit aber immer
noch net gerade um die Ecke.

Nevok

-----------------------------------------------------------------------------



Re: Re: Sehnsucht (Rardian, 28. Feb 2000, 19:01:05):
~#! rn=Pra rt=951469835 rg=entwicklung
~#! tid=951465882
Bahnhof? 
Aachen-West??

Rar, kennt das...

-----------------------------------------------------------------------------



Re: Sehnsucht (Jamalski, 28. Feb 2000, 19:31:34):
~#! rn=Slash rt=951465882 rg=entwicklung
~#! tid=951465882
Au ja! Altersangaben brauch ich ja wie Spucke im Auge.

Jamalski [13] teilt Dir mit: Na, Du Sau! };>
Freitag [45] hat Dir aus der Ferne in die Fresse.
Du [19 1/2] teilst Deinen Freunden mit: Aeh, Freitag & Jamalski aergern mich!

...

Jamalski, das Alter auch so oft genug erahnend.

-----------------------------------------------------------------------------



Fband (Tiamak, 23. Mar 2000, 13:42:47):
Auf Draengeln eines Brandirs hat das "fwer" eine neue Option.

Tiamak.

P.S: natuerlich erst nach "schlafe ein", "ende", Crash oder Reboot.

-----------------------------------------------------------------------------



Re: Fband (Deepblue, 23. Mar 2000, 16:11:24):
~#! rn=Tiamak rt=953815367 rg=entwicklung
~#! tid=953815367
bin fuer Crash
DeepBlue->schmarrn();

-----------------------------------------------------------------------------



Re: Fband (Brandir, 23. Mar 2000, 21:31:13):
~#! rn=Tiamak rt=953815367 rg=entwicklung
~#! tid=953815367
EINES Brandirs ?
*grummel*

Das Brandir schmollt!

-----------------------------------------------------------------------------



Re: Re: Fband (Gorog, 23. Mar 2000, 23:27:54):
~#! rn=Brandir rt=953843473 rg=entwicklung
~#! tid=953815367
Interessiert das wen?

Gorog living

-----------------------------------------------------------------------------



Re: Re: Fband (Hobo, 24. Mar 2000, 10:28:22):
~#! rn=Brandir rt=953843473 rg=entwicklung
~#! tid=953815367
So Du nicht weiblich bist, Brandir, und das bist du laut "finger" nicht, ist
der Ausdruck "Auf Draengeln eines Brandirs" korrekt. Oder wie heisst der
unbestimmte maennliche Artikel im Genitiv sonst?

   Hobo
 - glaubt, Deutsch zu koennen

-----------------------------------------------------------------------------



Re^3: Fband (Deepblue, 24. Mar 2000, 10:35:15):
~#! rn=Hobo rt=953890102 rg=entwicklung
~#! tid=953815367
Der Dativ ist dem Genitiv sein Tod, also: "Auf Draengeln von einem Brandir"
DeepBlue->schmarrn()

-----------------------------------------------------------------------------



Re^4: Fband (Azrael, 24. Mar 2000, 10:38:08):
~#! rn=Deepblue rt=953890515 rg=entwicklung
~#! tid=953815367
Mueszte das nicht "Auf Brandir's Draengeln hin" heiszen?

Azrael

-----------------------------------------------------------------------------



Re^5: Fband (Hobo, 24. Mar 2000, 10:38:50):
~#! rn=Azrael rt=953890688 rg=entwicklung
~#! tid=953815367
NEIIIN!
Ganz sicher ohne Apostroph ... bittebittebitte

  Hobo

-----------------------------------------------------------------------------



Re^6: Fband (Catweazle, 24. Mar 2000, 10:39:14):
~#! rn=Hobo rt=953890730 rg=entwicklung
~#! tid=953815367
Und schon gar nicht mit sz.

YTC

-----------------------------------------------------------------------------



schmarrn (Anakin, 24. Mar 2000, 11:03:00):
Hi,

Findet jemand einen Spieler der laenger als 1649d nicht mehr da war?

Anakin.

-----------------------------------------------------------------------------



Re: schmarrn (Boing, 24. Mar 2000, 11:13:19):
~#! rn=Anakin rt=953892180 rg=entwicklung
~#! tid=953892180
Ich biete 1884d. :)
  Boing

-----------------------------------------------------------------------------



Re: Re: schmarrn (Anakin, 24. Mar 2000, 11:13:59):
~#! rn=Boing rt=953892799 rg=entwicklung
~#! tid=953892180

Pah, magier machen nicht mit die schummeln, weil sie ueber finger
das wahre auslogdatum nicht sehen koennen.

Anakin :)


-----------------------------------------------------------------------------



Re: Re: schmarrn (Anakin, 24. Mar 2000, 11:15:27):
~#! rn=Boing rt=953892799 rg=entwicklung
~#! tid=953892180

Hmm ich hatte noch 1868d, mein eigener zweitspieler von damals :)

Anakin.

-----------------------------------------------------------------------------



Re^3: schmarrn (Boing, 24. Mar 2000, 11:16:19):
~#! rn=Anakin rt=953892927 rg=entwicklung
~#! tid=953892180
Das reicht aber nicht ... :)
  Boing

-----------------------------------------------------------------------------



Re^4: schmarrn (Anakin, 24. Mar 2000, 11:19:40):
~#! rn=Boing rt=953892979 rg=entwicklung
~#! tid=953892180

Hmmm mist warum hab ich mir keine toplisten von 94 aufgehoben die 95
bringen es ja nicht mehr :)

Anakin.

-----------------------------------------------------------------------------



Re^5: schmarrn (Boing, 24. Mar 2000, 11:24:41):
~#! rn=Anakin rt=953893180 rg=entwicklung
~#! tid=953892180
Also zu schlagen sind 1903 Tage (Moppel). :)
  Boing

-----------------------------------------------------------------------------



Re^6: schmarrn (Anakin, 24. Mar 2000, 11:26:35):
~#! rn=Boing rt=953893481 rg=entwicklung
~#! tid=953892180

Hatte Ryne nicht Toss irgendwann von den Dunkelelfen befreit, waere
Toss wohl der Spitzenreiter mit Sommer 94 oder so :)

Anakin.

-----------------------------------------------------------------------------



Re^6: schmarrn (Pra, 24. Mar 2000, 12:38:03):
~#! rn=Boing rt=953893481 rg=entwicklung
~#! tid=953892180
Nach kurzem Stoebern in alten Log-Files:

Ich biete 1940 Tage -> Raist

Pra.

-----------------------------------------------------------------------------



Re: schmarrn (Mupfel, 24. Mar 2000, 12:57:14):
~#! rn=Anakin rt=953892180 rg=entwicklung
~#! tid=953892180
Aristoteles - 1871 Tage
Albion      - 1899 Tage (hm aus Osnabrueck... hmm... hmmmmmm ;)

-mupfel-

-----------------------------------------------------------------------------



Re^6: schmarrn (Mupfel, 24. Mar 2000, 13:34:53):
~#! rn=Boing rt=953893481 rg=entwicklung
~#! tid=953892180
Wie waers mit "Hubi"? Ein laengst vergessener Testie aus Karlsruhe ;) mit 1931
Tagen (jaja Pra schlag ich damit nicht ich weiss ;)

-mupfel- (sucht weiter ;)

-----------------------------------------------------------------------------



Re^3: Fband (Gloin, 24. Mar 2000, 14:38:15):
~#! rn=Hobo rt=953890102 rg=entwicklung
~#! tid=953815367
Der ist schon korrekt, nur nutzt man bei Eigennamen keine Artikel, also
doch 'auf Brandirs Draengeln' ...

Gloin

-----------------------------------------------------------------------------



Re^4: Fband (Ringor, 24. Mar 2000, 14:40:49):
~#! rn=Gloin rt=953905095 rg=entwicklung
~#! tid=953815367
Aber der Gedanke, dass die Formulierung volle Absicht war, kommt Dir nicht -
oder?

Ringor denkt . o O(muessen die Leute hier unterbeschaeftigt sein ;-)

-----------------------------------------------------------------------------



Re^5: Fband (Gloin, 24. Mar 2000, 14:44:17):
~#! rn=Ringor rt=953905249 rg=entwicklung
~#! tid=953815367
Dochdoch ... aber irgendwer muss doch jetzt das Banner der deutschen
Sprache versuchen zu tragen.

Gloin ... langweilt sich tatsaechlich ein wenig

-----------------------------------------------------------------------------



Re^6: Fband (Rardian, 24. Mar 2000, 19:00:01):
~#! rn=Gloin rt=953905457 rg=entwicklung
~#! tid=953815367
Wir brauchen da doch kein Banner mehr fuer... Wir machen einfach ne Reform,
wenn uns wieder was zu schwierig wird...

Rar.

-----------------------------------------------------------------------------



Web Interface MPA (Calimerion, 25. Mar 2000, 14:11:04):
Hallo Muddies,

waere es denkbar die Web Schnittstelle zum MPA auszubauen ?

Evtl. durch Eingabe eines PW (des Player PW) auch schreibenden
Zugriff zu ermoeglichen.

Handhabung ueber Web ist zum einen einfacher und damit wird auch
Kommunikation gefoerdert.

Ob natuerlich eine solche "kmplt Entkoppelung" gewuenscht oder
wuenschenswert ist, ist eine andere Sache.

Calimerion - Robert

-----------------------------------------------------------------------------



Re: Web Interface MPA (Vanion, 25. Mar 2000, 18:14:31):
~#! rn=Calimerion rt=953989864 rg=entwicklung
~#! tid=953989864
Ich faende es nett, wenn die MPA als Newsserver (vielleicht nur lesend)
erreichbar ist. Man wuerde besser durch die Artikelhirarchie steigen und
koennte Artikel leichter archivieren. Da stuende nur noch die grosse Frage im
Raum, wer hat Zeit sowas zu programmieren?

Vanion, immer Feuer und Flamme, solange andere die Arbeit machen ;-)

-----------------------------------------------------------------------------



Re: Web Interface MPA (Moep, 25. Mar 2000, 21:04:31):
~#! rn=Calimerion rt=953989864 rg=entwicklung
~#! tid=953989864
Statt einem (verbesserten) Webinterface haette ich lieber einen Newsserver.
Das wuerde IMHO das mpa lesen deutlich vereinfachen.

moep

-----------------------------------------------------------------------------



Re^7: Fband (Widewitt, 26. Mar 2000, 20:40:23):
~#! rn=Catweazle rt=953890754 rg=entwicklung
~#! tid=953815367
Bitte lasst uns das sz ...

widewitt die Rechtschribreform hassend !

-----------------------------------------------------------------------------



Re: schmarrn (Clarissa, 28. Mar 2000, 16:55:57):
~#! rn=Anakin rt=953892180 rg=entwicklung
~#! tid=953892180

wie waer's mit nuomi (1761d) ...


-----------------------------------------------------------------------------



Re: Re: schmarrn (Catweazle, 28. Mar 2000, 16:58:18):
~#! rn=Clarissa rt=954255357 rg=entwicklung
~#! tid=953892180
Nutzt nix, raist ist nicht zu ueberbieten.

YTC

-----------------------------------------------------------------------------



Re: schmarrn (Alpha, 28. Mar 2000, 16:58:20):
~#! rn=Anakin rt=953892180 rg=entwicklung
~#! tid=953892180
Ich haette das noch Chewbacca (1872d 07:01:27) zu bieten.

-----------------------------------------------------------------------------



Re: schmarrn (Kartoffel, 28. Mar 2000, 18:01:50):
~#! rn=Anakin rt=953892180 rg=entwicklung
~#! tid=953892180
Pommes : letzter login vor 1874 Tagen

Kartoffel - nicht verwandt und nich verschwaegert

-----------------------------------------------------------------------------



Re: Re: schmarrn (Daria,  3. Apr 2000, 11:36:25):
~#! rn=Kartoffel rt=954259310 rg=entwicklung
~#! tid=953892180
HA!
Den kenn ich sogar!
Daria kichert.

-----------------------------------------------------------------------------



Re^3: schmarrn (Jamalski,  4. Apr 2000, 19:20:22):
~#! rn=Daria rt=954754585 rg=entwicklung
~#! tid=953892180
Sollte man nicht diese eindeutigen Leichen loeschen?
Da wuerde der eine oder andere Name frei werden, den hier bestimmt jemand
gerne in einen aktiven Player umsetzen wuerde.
Ausserdem glaube ich nicht, dass hier Leute nach Jahrzehnten wieder ihre alte
Charaktere ausbuddeln, um dann in Kindheitserinnerungen zu schwelgen.

Manche tun das wahrscheinlich doch...
J

-----------------------------------------------------------------------------



Re^4: schmarrn (Hobo,  5. Apr 2000, 09:05:53):
~#! rn=Jamalski rt=954868822 rg=entwicklung
~#! tid=953892180
Da hast Du Dir selbst ja sogar schon geantwortet.
Ja, manche Leute kommen nach 3 oder mehr Jahren wieder und freuen sich
tatsaechlich, ihre alten Charaktere noch verwenden zu koennen. Frag mal
Wurzel, ob sie neu angefangen haette zu spielen...
Ausserdem gibt es noch einen zweiten Grund, diese Charaktere zu halten:
Wenn man mit so einem lang ausrangierten Charakter mal zu tun hatte, dann
kennt man eben die Person unter dem Namen und nicht auf einmal irgendjemand
andees. Stell' Dir vor, irgendein Neuling haette sich als Woelkchen eingeloggt
und haette gleich einen Jof im Inventory gehabt - das schockt doch fuers Leben
:)

   Hobo

-----------------------------------------------------------------------------



Staedtenamen (Catweazle,  5. Apr 2000, 13:16:25):
~#! on=Tiamak ot=954850075 og=allgemeines
Hiho!

Ich ueberarbeite gerade die Aufloesung der IPs nach Staedtenamen. Beim
Grossteil der Mudder sollten jetzt auch vernuenftige Staedte beim "finger",
"wer" etc. angegeben werden. Bei einigen wenigen taucht immerhin noch das Land
auf, sofern keine Information ueber die Stadt erhalten wurde.

Allerdings koennten auch noch ein paar 'eigenartige' Angaben dazwischen sein.
Ob das nun daran liegt, dass ich zu daemlich bin, die Informationen richtig zu
parsen oder daran, dass einfach keine ordentlichen Angaben vorliegen, sei mal
dahingestellt. ;-)

Falls also jemand ueber eigenartige oder schlichtweg falsche Staedte-Angaben
stolpern sollte, so sprecht mich bitte darauf an oder schreibt mir eine Mail.
Und schreibt am besten auch gleich mit dazu, wie die Stadt eigentlich haette
heissen sollen.


Tiamak wedelt mit einem 'Mithilfe erwuenscht!'-Faehnchen.

-----------------------------------------------------------------------------



Re: Staedtenamen (Catweazle,  5. Apr 2000, 13:16:33):
~#! on=Sharia ot=954877765 og=allgemeines
~#! rn=Tiamak rt=954850075 rg=allgemeines
~#! tid=954850075
Fein ! Grosser Dank an Tiamak!

Jedoch koennte man bitte mal die hilfeseite zu "wer" erneuern ? :-) 
Wer hatte doch gleich den "wer" befehl geaendert ? :-)

Sharia

-----------------------------------------------------------------------------



Re: Re: Staedtenamen (Catweazle,  5. Apr 2000, 13:16:37):
~#! on=Tiamak ot=954878028 og=allgemeines
~#! rn=Sharia rt=954877765 rg=allgemeines
~#! tid=954850075
Jaja, schon okay. An dem Befehl aendert sich eh noch was. ;-)

Tiamak. Haette nicht fragen duerfen, was die Leute wollen.

-----------------------------------------------------------------------------



Re^3: Staedtenamen (Catweazle,  5. Apr 2000, 13:16:38):
~#! on=Tiamak ot=954888752 og=allgemeines
~#! rn=Tiamak rt=954878028 rg=allgemeines
~#! tid=954850075
Sooo ... das Default-Verhalten von "wer" ist jetzt ein etwas anderes als
frueher. Dafuer bekommt man das 'alte' Verhalten mit der Option "-s" ("s" wie
"Staedtenamen") zurueck.

Die Option "-k" ("k" wie "Kurzform") ist neu. Probiert es halt aus.


Tiamak

-----------------------------------------------------------------------------



Re^5: schmarrn (Jamalski,  5. Apr 2000, 15:30:44):
~#! rn=Hobo rt=954918353 rg=entwicklung
~#! tid=953892180
Du hast recht!
Einige Leute sind wiedergekommen und vielleicht sind das auch die wirklichen
Spieler.
Jedenfalls in der Tat wirklicher als ein newbie namens Woelkchen.

Jamalski, einsichtig

-----------------------------------------------------------------------------



Re^4: Staedtenamen (Tiamak,  5. Apr 2000, 21:19:31):
~#! rn=Catweazle rt=954933398 rg=entwicklung
~#! tid=954850075
Hah, jetzt antworte ich mir schon wieder selbst. :-)

Da ich es mal wieder vergessen habe zu erwaehnen und es mehrere Nachfragen
gab: ja, die neuen Optionen funktionieren natuerlich erst nach
ende/crash/reboot.


Tiamak

-----------------------------------------------------------------------------



Re^5: schmarrn (Apophis,  5. Apr 2000, 22:45:53):
~#! rn=Anakin rt=953893180 rg=entwicklung
~#! tid=953892180
hmm, ich hab schon ein paar Charaktere mit interessanten Namen gefunden, die
weniger als 5 minuten alt sind mit gildenlevel 1 und seit mehr als einem jahr
nicht mehr online, sowas kann man doch loeschen oder nicht?

Apophis

-----------------------------------------------------------------------------



Re^6: schmarrn (Rumata,  6. Apr 2000, 10:32:43):
~#! rn=Apophis rt=954967553 rg=entwicklung
~#! tid=953892180
komisch, eigentlich sollten solche charaktaere automatisch
geloescht werden.

hate, hat das seinerzeit nicht ein cronjob gemacht? kannst du mal
nachschauen?

rumata

-----------------------------------------------------------------------------



Re^7: schmarrn (Morgoth,  6. Apr 2000, 10:35:31):
~#! rn=Rumata rt=955009963 rg=entwicklung
~#! tid=953892180
Kriterien fuer das Loeschen waren AP und Stats. Wer sagt denn, dass diese
Spieler nicht einfach nur vergessen haben zu erhoehen?

M*

-----------------------------------------------------------------------------



Re^8: schmarrn (Boing,  6. Apr 2000, 10:41:13):
~#! rn=Morgoth rt=955010131 rg=entwicklung
~#! tid=953892180
Es gibt sogar noch einige Kriterien mehr (die ich aber nicht mehr im
Kopf habe), insgesamt waren sie aber sehr mild.
  Boing

-----------------------------------------------------------------------------



Re^9: schmarrn (Rumata,  6. Apr 2000, 10:44:16):
~#! rn=Boing rt=955010473 rg=entwicklung
~#! tid=953892180
Ich sehe gerade das skript durch, wie es aussieht, koennten diese
einser auch defekte savefiles sein.
Wenn man mir mal ein paar namen nennt (perl mail) kann ich naehees sagen,
ich werde dann mal an einer etwas schaerferen version arbeiten.

rumata, unkraut jaetend

-----------------------------------------------------------------------------



Re^10: schmarrn (Hobo,  6. Apr 2000, 12:49:02):
~#! rn=Rumata rt=955010656 rg=entwicklung
~#! tid=953892180
Hmm, ich bin dagegen, dass Spieler nach haerteren Grenzen geloescht werden.
Grund: Manche Gastspieler, die eigentlich in anderen Muds spielen und nur
manchmal zum Palavern sich einloggen, koennen sich jetzt mit recht geringem
Aufwand "erhalten". Dieser Aufwand wird bei Restriktionen zu Alter, FP oder
sonstigem unnoetig erhoeht.
Und ich halte es nun keineswegs fuer verwerflich, Gastspieler zu haben (wo wir
doch auch Gastmagier haben)

  Hobo

-----------------------------------------------------------------------------



Re^9: schmarrn (Pilgrim,  6. Apr 2000, 13:21:05):
~#! rn=Boing rt=955010473 rg=entwicklung
~#! tid=953892180
Die letzten infos, die ich habe waren:

> Absender:  leo@mud.de
> An: Pilgrim@mg.mud.de
> Datum: Sam,  4. Dez 1999, 13:54:14
> Titel:  Re: FAQ
> 
> > 5.4. Wann werden die alten Spieler geloescht?
> > 
> > Das Script zum Loeschen alter Charaktere laeuft jeweils am 20. eines
Monats,
> > Charaktere werden geloescht, wenn sie die folgenden Bedingungen erfuellen:
> > -90 Tage nicht eingeloggt
> > -Weniger als 30 Abenteuerpunkte
> > -weniger als 10000 Erfahrungspunkte
> > -Stufe kleiner 6
> > -Alter kleiner 24 Stunen 
> > 
> > Die Bedingungen muessen alle erfuellt sein.
> 
>         Da ich keine Aenderungen am Script gemacht habe, sollten die
>         Bedingungen stimmen. Das Script laeuft 02:22 am 20. jeden
>         Monats.


Pilgrim

-----------------------------------------------------------------------------



Re^10: schmarrn (Tiamak,  6. Apr 2000, 13:24:57):
~#! rn=Pilgrim rt=955020065 rg=entwicklung
~#! tid=953892180
Der Teil mit den Erfahrungspunkten stimmt so nicht ganz. Das Kriterium ist an
der Stelle etwas strenger - die Grenze liegt bei 30k.

Tiamak

-----------------------------------------------------------------------------



Re^11: schmarrn (Gloin,  6. Apr 2000, 16:35:14):
~#! rn=Tiamak rt=955020297 rg=entwicklung
~#! tid=953892180
Ich weiss gar nicht, wo das Problem liegt. Das alte Spieler nicht geloescht
werden ist so voellig i.O. - ich selber hatte 94 einen Spieler in MG, der
geloescht wurde - was habe ich mich 95 geaergert.
Warum muss man denn unbedingt _diesen_ Namen annehmen? Letztendlich foerdert
die derzeitige Praxis eine groessere Namensvielfalt - und das gefaellt mir
eher als dreizehn 'Lancelot', 'Gandalf' o.ae. - Inkarnationen.

Gloin

PS: Die meisten der Begleiter Bilbos sind 95 noch nicht vergeben gewesen -
    jetzt sind wir wenigstens (fast) komplett.

-----------------------------------------------------------------------------



Seheranforderungen (Deepblue,  6. Apr 2000, 17:36:15):
Da mit jeder neuen Quest die Anforderungen zum Seherlevel steigen, wie waere
es, diese zu begrenzen? Ein guter Wert waeren vielleicht 1250 AP, davon 10
Quests der 2. und 4 Quests der Dritten Gruppe.
Momentan ist es IMHO bissel au der Bahn gelaufen, ich hab auch schon von Mags
gehoert, dass sie deshalb keine Quest schreiben, weil sie die
Seheranforderungen nicht weiter erhoehen wollen.
Ein weiteres Indiz ist die Fluchtrichtung. Urspruenglich fuer Level 25
vorgesehen (und dann lernt man bis Level 50) schafft man es heute kaum vor
Level 40.

-----------------------------------------------------------------------------



Re: Seheranforderungen (Foobar,  6. Apr 2000, 18:27:16):
~#! rn=Deepblue rt=955035375 rg=entwicklung
~#! tid=955035375
Moin.

Wenn die Quest als optionale Quest eingetragen wird, werden die AP dann
trotzdem auf die AP-Grenze zum Seher aufgerechnet?

Foobar, neugieriger Zwerg.

-----------------------------------------------------------------------------



Re: Re: Seheranforderungen (Rardian,  6. Apr 2000, 18:56:09):
~#! rn=Foobar rt=955038436 rg=entwicklung
~#! tid=955035375
noe, deswegen sind solche Quests ja auch optional.

Rar, laesst doch keine Zwerge dumm sterben...

-----------------------------------------------------------------------------



Re^3: Seheranforderungen (Foobar,  6. Apr 2000, 18:57:21):
~#! rn=Rardian rt=955040169 rg=entwicklung
~#! tid=955035375
OK.

Wo sehen die o.g. Mags dann das Problem mit neuen Quests?

Foobar, wird neugieriger.

-----------------------------------------------------------------------------



Re: Seheranforderungen (Liara,  6. Apr 2000, 19:42:41):
~#! rn=Deepblue rt=955035375 rg=entwicklung
~#! tid=955035375
Ich kann gar nicht glauben, dass wirklich jemand die Seheranforderungen senken
will.

Moechtest Du noch mehr Wurstmags, die vom MG nix gesehen haben und viele der
kleinen Spitzfindigkeiten, die das Mud ausmachen, ueberhaupt nicht kennen?

Mir ist klar, dass es einigen extremen Spielern nicht viel ausmacht, 20 statt
5 Quests zu scripten, aber es soll auch noch andere Mudder geben ...

Der Seherstatus erleichtert vielleicht vieles, aber um Spass am Mud zu haben
ist er wirklich nicht notwendig. Ich bin mit Stufe 38 Seherin geworden, aber
es wuerde mir nix ausmachen, wenn ich immer noch Spielerin waere.

Das Sehertum ist leider schon fast Pflicht geworden ... ich erinner mich
deutlich an die Sprueche, die ich damals ab Stufe 25 zu hoeren bekam. ;-) Fuer
mich sollte ein Seher aber ein wirklicher Allroundspieler sein, der sich durch
Wissen ueber das Mud und auch durch eine gewisse Staerke auszeichnet. Sonst
koennte man die Portale auch gleich jedem Spieler an den Kopf knallen, der sie
dringend fuer das vom Mitmudder uebernommene Wegesystem braucht. (Ok, die
meisten funzen inzwischen auch ohne ;-).

Naja, aber inzwischen wird man schon fast schraeg angeguggt, wenn man in der
Lage ist, z. B. Portale auch ohne Wegesystem zu finden. ;-)

Liara, Zwergenzauberine, ist gegen Senkung der Anforderungen fuer Seher

-----------------------------------------------------------------------------



Re^7: schmarrn (Hate,  6. Apr 2000, 20:03:29):
~#! rn=Rumata rt=955009963 rg=entwicklung
~#! tid=953892180
Der cron-job laeuft auch regelmaessig und schmeisst meist bis zu 800 savefiles
weg. Also ich sehe da auch keinen kritischen  Punkt an dem man etwas aendern
muesste. Nur wenn es um kaputte savefiles geht sollte man das perl script
eventuell aendern.

Hate.

-----------------------------------------------------------------------------



Re: Re: Seheranforderungen (Hight,  6. Apr 2000, 20:55:43):
~#! rn=Liara rt=955042961 rg=entwicklung
~#! tid=955035375
hm was is ein wegsystem kleines ?

Hight dumm und unwissend

-----------------------------------------------------------------------------



Re: Seheranforderungen (Ark,  6. Apr 2000, 21:49:20):
~#! rn=Deepblue rt=955035375 rg=entwicklung
~#! tid=955035375
Vergiss es, wird imho nicht durchzusetzen sein. Warum allerdings manche
deshalb keine Quest mehr schreiben, ist mir raetselhaft, denn man setzt sie
einfach auf optional und fertig. Wird dann halt so sein, dass es bald mehr
optionale als Pflichtquests gibt, wobei man da wieder die Regelung mit der
steigenden Anforderung an Seherwerdung unterlaufen koennte, oder? :-)
Als Magier sollte man verdammt nochmal nicht irgendwelche Beschraenkungen
vorschieben, um Nichtstun zu rechtfertigen. Schreibt man Quests, weil man (und
die Spieler) Spass dran haben sollen oder weil sie als Anforderung fuer
Gildenaufstieg und Spieleraufstieg dienen? Wenn ich Lob fuer ne Quest ernte,
isses mir egal, wo sie gelistet ist, und dem lobenden Spieler letztendlich
auch. Die, die sich nur aufgrund von Anforderungen durch Quests
quaelen/scripten, sind mir im Prinzip schnuppe, fuer die schreibe ich
schliesslich net, und von denen erhaelt man auch eigentlich kein Lob/Kritik.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



55 (Xenada,  6. Apr 2000, 23:50:10):
~#! rn=Liara rt=955042961 rg=entwicklung
~#! tid=955035375
Ich waere auch dafuer die Seheranforderungern einzufrieren und abzusenken.
Mir fallen da auf Anhieb mehrere Gruende ein.

1. Gildenanforderungen die das Erreichen der naechsten Stufe betreffen,
   waeren nicht so unwahrscheinlich hoch. (Bsp. Kaempfer fuer Gilden-
   level 15 musst du Seher und mind. Spielerlevel 20 sein ) Wenn man dann
   ewig auf einer Gildenstufe "festhaengt" ist das deprimierend und
   verfuehrt dazu kl's zu nutzen.

2. Das Benutzen der Portale ist auf dem Festland nicht notwendig, da
   skriptbar, aber fuer die Inseln bzw. Fern West ist es sehr nervig 
   keine Portale zu haben.
   (Bsp. wiedermal Kampfergilde, der Struv liegt nun mal auf Ti und man
   benoetigt 3 Verkehrsmittel um anzukommen)

Nun zu deinen Argumenten:

1. Wurstmagier: Die koennten Erzies ja wohl recht leicht verhindern.

2. Spass haben: Dazu muss man mit Sicherheit kein Seher sein :)

3. Nutzen der Portale: siehe oben

Allgemein gesagt denke ich, ist es egal ob du 2000 oder 1000 Ap's zum
Seherwerden brauchst, wer Kl's nutzen will nutzt sie so oder so. Der der
nur mit Kl's spielt wird wahrscheinlich trotzdem 2000 Ap's brauchen damit
er die erforderlichen Fp's zusammenbekommt ;) Ich denke es wird immer
Spieler geben die ohne grossen Aufwand "alles" haben wollen, aber wird
es auch immer Spieler geben die "real" spielen und ihre Stufen erreichen
wollen(Spieler die mit Stufe 44 noch Spieler sind und nur wegen mangelnder
Ap's nicht Seher werden koennen werden auch weiterhin Seltenheit bleiben.)

Tschuess Xenada

-----------------------------------------------------------------------------



Re: Seheranforderungen (Gor,  6. Apr 2000, 23:50:42):
~#! rn=Deepblue rt=955035375 rg=entwicklung
~#! tid=955035375
Dann machste irgendwas falsch!

Gor kopfschuettelnd

-----------------------------------------------------------------------------



Re: 55 (Liara,  7. Apr 2000, 00:18:45):
~#! rn=Xenada rt=955057810 rg=entwicklung
~#! tid=955035375
Der Seherstatus ist fuer mich so ne Art 'Belohnung` fuer intensives Spielen im
MG. Da wir uns hier in einem Questmud befinden, zaehlen die Abenteuer nunmal
in besonderem Masse.

Die AP-Grenze fuer Seher habe ich deshalb immer als Motivation empfunden.
Neben dem Questspass (oder manchmal auch Frust ;) sind die AP ein
zusaetzlicher Bonus, da man dieser Grenze nunmal immer naeher rueckt.

Ich frage mich ausserdem, warum die Anforderungen herabgesetzt werden sollen,
weil es halt nicht so einfach ist, alle Quests selber schnell durchzuspielen.
Was ist denn das fuer eine Mentalitaet? Nur, weil es vielleicht bisschen
beschwerlich ist, sich selber in den Hintern zu treten, wird eben die
Anforderung herabgesetzt? Ich habe noch nie erlebt, dass RL oder VL so
funktioniert. Und das Gefuehl, ein Seher zu sein, ist ja grade so schoen, WEIL
man dafuer was leisten musste.

Das Argument, die Grenze herabzusetzen, weil es Leute gibt, die Quests nicht
selber spielen, ist so absurd, dass mir dazu echt nix mehr einfaellt. ;-)

Liara, Zwergenzauberine, ist gegen einen wertlosen, qualfreien ;-) Seherstatus

-----------------------------------------------------------------------------



Re: Re: 55 (Rardian,  7. Apr 2000, 02:18:15):
~#! rn=Liara rt=955059525 rg=entwicklung
~#! tid=955035375
Es ist meiner Meinung nach aber schon doof, wenn man bei den Kaempfern ewig
als Nichtseher auf Level 14 haengt und nicht vorankommt ( okay, auf diesem
Level hat man dann wohl am wenigsten Probleme, Azubis zu finden, bis man
aufsteigen kann ), aber andererseits jammern die Karatekas schon, wenn sie mal
14 Tage auf einen Levelanstieg warten muessen. Vielleicht koennte man ja, wenn
die Seheranforderungen weiter ansteigen, solche Stellen entschaerfen und
vielleicht auch so eine Art Vorsehertum einfuehren, mit dem schon einige
Vorzuege des Seherdaseins zu geniessen sind.

Rar.

-----------------------------------------------------------------------------



Re^3: 55 (Thufhir,  7. Apr 2000, 08:00:53):
~#! rn=Rardian rt=955066695 rg=entwicklung
~#! tid=955035375
Vielleicht sollte man sich lieber ueberlegen, ob man nich die entsprechende
Gilde (oder deren Levelanforderungen) aendert. Das Herabsetzen der
Seheranforderungen halte ich da fuer den falschen Ansatz. Kann ja nich
angehen, dass sich einige Kaempfer ueber irgendeine Levelbeschraenkung aergern
und deshalb mal eben die Seheranforderungen geaendert werden.

s'zauberzwerch (wie immer konservativ)

-----------------------------------------------------------------------------



Re: 55 (Karis,  7. Apr 2000, 09:16:21):
~#! rn=Xenada rt=955057810 rg=entwicklung
~#! tid=955035375
Machen wirs uns doch ganz einfach und demonstrieren dafuer, beim 
ersten Einloggen gleich nen Seher und den passenenden Mag dafuer
geschenkt zu bekommen.
Aber bitte nen Erzie, damit man sich die Stats auch noch selber setzen kann.
Und dann noch ein paar Tricks und Kniffe, wie man ein paar sonstige
BEschraenkungen
umgehen kann...
Bleibt doch mal auf dem Teppich.
Xenada, schau Dir mal an, wie gut ein Lvl14-Kaempfer eigentlich ist.
Als langjaehriger Abenteurer mit Lvl > 50 war ich nich so metzelfaehig.
Seher zu sein hat eine gewisse Bedeutung: man hat gezeigt, dass man sich
mit dem MG auseinandergesetzt hat. Und zwar in einem ausreichenden Mass.
Nachdem das MG eine lebende Welt ist (will heissen: staendig waechst)
steigen auch die Anforderungen. Ich wundere mich eher, dass noch 
keiner draufgekommen ist, den Seherstatus wieder abzuerkennen, weil da 
jemand nicht mehr ganz up to date ist.
Das waere denen gegenueber gerechter, die erst spaeter eingestiegen sind und
von vornherein mit hoeheren Anforderungen zu kaempfen hatten.

Karis, Bluemchenpfluecker, Idler und Wurstkaempfer.

-----------------------------------------------------------------------------



Re^3: Seheranforderungen (Sky,  7. Apr 2000, 09:31:06):
~#! rn=Deepblue rt=955092486 rg=entwicklung
~#! tid=955035375
naja heute kann man ja rein nur durch questen schon lev 40. wenn man sich alte
top-listen ansieht (finger anakin) gab es damals niemand der lev 40 war. also
ist es doch logisch, das die anforderungen (egal ob fuer sehertum oder ne
bestimmte gildenlevel) nicht immer gleich bleiben koennen. 

-----------------------------------------------------------------------------



Re: Re: Seheranforderungen (Deepblue,  7. Apr 2000, 09:31:54):
~#! rn=Ark rt=955050560 rg=entwicklung
~#! tid=955035375
Mit Optionalen Quests schreibst Du dem Spieler aber immer noch vor, welche er
zum Seher zu machen hat. Ich versteh z.B. nicht, wieso Inferno und
Gefaengnisinsel (zwei wunderschoene Quests) nicht alternativ zu den in Stufe 3
stehenden Quests als noetige Quests gelten

-----------------------------------------------------------------------------



Re^4: Seheranforderungen (Boing,  7. Apr 2000, 09:35:28):
~#! rn=Sky rt=955092666 rg=entwicklung
~#! tid=955035375
Das lag allerdings daran dass die alten Levelanforderungen voellig anders
aussahen, es gab keine FPs und aehnliches, das einzige was fuer den
Level wichtig war, waren die Erfahrungspunkte. Fuer Level 20 brauchte
man 1 Million EP, danach verdoppelte sich der Wert fuer jeden Level.
Du darfst Dir selber ausrechnen, wieviel EP man fuer Level 40 benoetigt
haette. 
Hmm, evtl. war es auch nur Faktor 1.5, was aber keinen wesentlichen
Unterschied macht.
  Boing

-----------------------------------------------------------------------------



Re^5: Seheranforderungen (Sky,  7. Apr 2000, 09:36:42):
~#! rn=Boing rt=955092928 rg=entwicklung
~#! tid=955035375
ich wollte damit ja auch nur zum ausdruck bringen, dass ich persoenlich keinen
grund sehe irgendwelche anforderungen fuer irgendwas zu senken :)

-----------------------------------------------------------------------------



Re^3: 55 (Deepblue,  7. Apr 2000, 09:49:32):
~#! rn=Rardian rt=955066695 rg=entwicklung
~#! tid=955035375
Du meinst aber sicher auch nur Karate-Zweities der juengeren Generation. Und
fuer den Aufstieg zum 4. Dan steht bei mir auch schon seit Monaten "Du musst
mindestens Seher sein".
Was ich eigentlich sagen wollte: Einige Sachen, die irgendwann einmal fuer
Spielerlevel 25 (bei normalem ausgewogenen Spiel) gedacht waren, erreicht man
jetzt erst bei Level 40. Und zwar nicht wegen FPs, XPs und aehnlichem, sondern
es haengt nur an den AP.
Mittlerweile hat man ja eher Karate auf 100% als dass man auf die Karawane
verzichten kann.

-----------------------------------------------------------------------------



Re^4: 55 (Humni,  7. Apr 2000, 09:50:18):
~#! rn=Thufhir rt=955087253 rg=entwicklung
~#! tid=955035375
Ich muss Thufhir Recht geben. Eine denkbare Alternative waere
aber eine Art 2-Stufen-Seher-Status (wo habe ich das nur wieder
her?) was aber sehr schwierig im Nachhinein zu realisieren
waere.

Das Problem ist aber in der Tat, dass viele Gilden so gebaut sind,
dass man mit Level 20 Seher wird (was frueher wohl der Fall gewesen
sein muss). Das ist natuerlich heute, wo ein neuer Spieler 1981 
APs braucht (ich weiss noch nicht mal, ob das aktueller Stand ist)
voellig absurd.

Ein schoenes Beispiel sind die Katzenkrieger, die bis
Level 30 den Spielern noch Spielersprueche zur Verfuegung
stellen. Offenbar wohl deshalb, weil sie neuer sind 
(korrigiert mich, wenn ich da falsch liege).

Vielleicht sollte man in Magierkreisen mal ueberlegen, z.B. den
Kaempfern erst ab Level 18 den Seherstatus aufzwingen zu wollen
(ist jetzt voellig ins Blaue hinein, so gut kenne ich die Gilde
nicht) oder den Bierschuettlern den beliefere-Spruch schon 
als Spieler zu erlauben (der dient hauptsaechlich eh nur zum 
eilen, und als Seher kann men eh Portale nutzen, womit der
Spruch hoechstens Rabatt beim Tanken gibt, und das ist nun
wirklich nicht der Riesenbringer).

Ansonsten halte ich generell die Anforderungen zum Seherwerden
fuer ok. Man bekommt auch einiges dafuer geboten. Natuerlich macht
die ein oder andere Quest keinen Spass, aber ,,da muss man halt 
durch'', wenn man Seher werden will (und wenn man wirklich in 
einer Quest feststeckt, wird einem normalerweise auch geholfen)
des weiteren sammelt man die FPs beim Questen eigentlich 
automatisch (wenn man eben nicht skriptet, sind die kein
Problem, das werden die erst dann, wenn ein Zweitie auch
Seher werden soll).

Was hoechstens stoert, ist dass die Anzahl der zu loesenden 
Abenteuer sich beim Anschluss von neuen Quests erhoehen kann, 
wenn man schon glaubte, mit einer Kategorie fertig zu sein.
Da dies in letzter Zeit aber scheinbar eh nicht mehr vorkommt
eruebrigt sich das Problem von selbst.

Humni

-----------------------------------------------------------------------------



Re^5: 55 (Bendeigid,  7. Apr 2000, 11:41:49):
~#! rn=Humni rt=955093818 rg=entwicklung
~#! tid=955035375
Nur am Rande in die Diskussion geworfen:
Die Kaempfergilde wurde bereits im Entwurf so geplant, dass der GL 15 und
Seherwerdung zusammenkommen sollen. Uns war klar, dass die Anforderungen zum
Seher steigen werden. Das ist schon inklusive. Dazu gibts bekanntermassen noch
haufenweise andere Gemeinheiten, euch das Aufsteigen zu erschweren. 
Kurz: Die Seherwerdung bleibt weiter fuer GL 15 bestehen.
Diskutiert ruhig weiter, die Diskussion ist schon seit mehr als einem halben
Jahr nicht mehr dagewesen.

Haengt aber bitte nicht die Anforderungen der Trves mit den Sehern zusammen...

Z'par Servu,
        Bendeigid

-----------------------------------------------------------------------------



Re^6: 55 (Hood,  7. Apr 2000, 13:10:24):
~#! rn=Bendeigid rt=955100509 rg=entwicklung
~#! tid=955035375
war es auch von anfang an geplant, eure sadistisch veranlagten chefs mit
allerlei stolpersteinen vor den zauberern zu schuetzen?
also wenn schon prinzipien, dann auch in umfassender form ;)

-----------------------------------------------------------------------------



Re^7: 55 (Boing,  7. Apr 2000, 13:11:18):
~#! rn=Hood rt=955105824 rg=entwicklung
~#! tid=955035375
Wenn's um das Schuetzen von Gildenchefs geht, dann ist die Zauberergilde
ja nicht zu schlagen ... :)
  Boing

-----------------------------------------------------------------------------



Re^8: 55 (Hood,  7. Apr 2000, 13:12:48):
~#! rn=Boing rt=955105878 rg=entwicklung
~#! tid=955035375
bei uns zumindest war es wirklich von anfang an so *grins*
davon abgesehen kann durchaus jeder zumindest die kuratoren killen,
die leider arg einfach umzuhauen sind, dafuer aber auch keine grosse klappe
haben.
schmarrn...schmarrn...schmarrn... :)

-----------------------------------------------------------------------------



Re^9: 55 (Sky,  7. Apr 2000, 13:50:27):
~#! rn=Hood rt=955105968 rg=entwicklung
~#! tid=955035375
kuratoren hauen fuer nicht-zauberer wurde ausgebaut
konnte wohl einer nicht (v)ertragen :)

-----------------------------------------------------------------------------



Re^3: Seheranforderungen (Zook,  7. Apr 2000, 14:35:25):
~#! rn=Deepblue rt=955092714 rg=entwicklung
~#! tid=955035375
Nur zur Erklaerung: Zumindest fuer Gefaengnisinsel kann ich Dir sagen,
dass dies vom proggenden Magier (Shakedbeer) so gewuenscht wurde. Und
ich nehme da soweit es geht auch gerne Ruecksicht drauf.

Gruss, Zook.

-----------------------------------------------------------------------------



Re^4: Seheranforderungen (Deepblue,  7. Apr 2000, 15:24:53):
~#! rn=Zook rt=955110925 rg=entwicklung
~#! tid=955035375
Wenn er optional wuenscht ist ja ok, nur sollte, wenn nur noch
eine bestimmte Questgruppe was fehlt (und die AP allgemein reichen) auch
passende optionale Quests eingerechnet werden

-----------------------------------------------------------------------------



Re^10: 55 (Hood,  7. Apr 2000, 16:03:00):
~#! rn=Sky rt=955108227 rg=entwicklung
~#! tid=955035375
na ja, ich hab ja nicht behauptet, die aenderungen in juengerer
vergangenheit seien sonderlich sinnvoll gewesen...
moechte mal wissen, wen das nun gestoert hatte

-----------------------------------------------------------------------------



Re^6: 55 (Lyra,  7. Apr 2000, 16:49:21):
~#! rn=Bendeigid rt=955100509 rg=entwicklung
~#! tid=955035375
Kleine Gemeinheiten, ist damit auch ein bestimmtes geschlecht gemeint Ben*?
*grins*

Lyra hofft, jetzt nicht auf Level 15 zurueckgestuft zu werden

-----------------------------------------------------------------------------



Re^4: Seheranforderungen (Dfender,  7. Apr 2000, 18:51:33):
~#! rn=Zook rt=955110925 rg=entwicklung
~#! tid=955035375
Hmmm. Unqualifizierter Kommentar meinerseits dazu: Als ich hier anfing, 
gehoerte Gefaengnisinsel noch zu den Gruppe-3-Quests, und wurde spaeter erst
zu den optionalen 'umgebucht'... Sowas macht dann die Seheranforderungen nicht
leichter, denn die werden natuerlich weiterhin nach den Anforderungen zum
Zeitpunkt des Erstlogin berechnet.
Das ist genau solange nicht tragisch, wie den Spielern nicht das Erreichen
des Seherstatus allgemein unmoeglich gemacht wird, weil nachher nicht mehr
genug Quests einer Gruppe vorhanden sind. Ansonsten geb ich Zook recht - wenn
der Mag das gern so haben will, soll er. ;)

Dfender, kommentierend =|= jammernd. ;)

-----------------------------------------------------------------------------



Re^5: Seheranforderungen (Sorcerer,  7. Apr 2000, 18:53:11):
~#! rn=Dfender rt=955126293 rg=entwicklung
~#! tid=955035375
Sind mit Herausnahme von G-insel nicht die 7 auch auf 6 "Muss"-Quests in
Gruppe 3 reduziert worden?

Sorcerer - sieht das Problem nicht

-----------------------------------------------------------------------------



Re^6: Seheranforderungen (Dfender,  7. Apr 2000, 18:55:31):
~#! rn=Sorcerer rt=955126391 rg=entwicklung
~#! tid=955035375
Ja, schon - aber ist nicht auch diese Zahl abhaengig vom Erstlogin?
Wenn das nicht so ist, habbich garnix gesagt... ;)

Dfender.

-----------------------------------------------------------------------------



Re^7: Seheranforderungen (Sorcerer,  7. Apr 2000, 18:56:21):
~#! rn=Dfender rt=955126531 rg=entwicklung
~#! tid=955035375
Ich denke, nur die notwendig AP Zahl ist abhaengig vom Erstlogin, die Anzahl
der Quests pro Gruppe wohl nicht...

Sorcerer

-----------------------------------------------------------------------------



Re^12: schmarrn (Rumata,  7. Apr 2000, 21:05:00):
~#! rn=Gloin rt=955031714 rg=entwicklung
~#! tid=953892180
Bevor ich keine Savefiles sehe, bei denen man sagt, DIE sollten aber
eigentlich weg sein, werde ich nichts machen ...

Rumata rupft nur faulendes Unkraut

-----------------------------------------------------------------------------



Re^3: Seheranforderungen (Ark,  7. Apr 2000, 21:50:32):
~#! rn=Deepblue rt=955092714 rg=entwicklung
~#! tid=955035375
Naja, jede Revolution fordert ihre Opfer, oder?
Ist ausserdem ein anderes Thema, naemlich die Einteilung in Gruppen. Sollte
auch nur den Einwand entkraeften, jede neue Quest wuerde unumgaenglich die
Anforderungen erhoehen, mehr nicht.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^6: Seheranforderungen (Deepblue,  8. Apr 2000, 09:33:05):
~#! rn=Sorcerer rt=955126391 rg=entwicklung
~#! tid=955035375
Bei mir sinds 5 geblieben, und Gefaengnisinsel war schon geloest...

-----------------------------------------------------------------------------



Re: Staedtenamen (Wurzel,  8. Apr 2000, 16:58:50):
~#! rn=Catweazle rt=954933385 rg=entwicklung
~#! tid=954933385
jedesmal wenn jemand da was dran verbessert bin ich auf einmal in hamburg?
seltsam... aber nur weiter so, wer weiss wo es mich noch hin verschlaegt :)

wurzel

-----------------------------------------------------------------------------



Re^6: 55 (Lug, 10. Apr 2000, 01:55:16):
~#! rn=Bendeigid rt=955100509 rg=entwicklung
~#! tid=955035375

Unfug,

ich hab nie was davon gemerkt, Immer dieses Geheule von den
selbstloeschungsgefaehrdeten Jungsunden hier...

Tattrig
Lug

-----------------------------------------------------------------------------



Re^8: 55 (Lug, 10. Apr 2000, 01:56:20):
~#! rn=Boing rt=955105878 rg=entwicklung
~#! tid=955035375

Heulsusengilde. Weicheierbande. Am Besten gleich abhaengen und alle dort zu
Klerikern machen...

Konstuktiv
+r
Lug

-----------------------------------------------------------------------------



Re^4: Seheranforderungen (Lug, 10. Apr 2000, 01:56:58):
~#! rn=Zook rt=955110925 rg=entwicklung
~#! tid=955035375

Ruecksicht? Was ist denn das fuer ein neumodischer Scheiss?

Pffft
Lug

-----------------------------------------------------------------------------



Re^8: Seheranforderungen (Nonne, 10. Apr 2000, 10:20:25):
~#! rn=Sorcerer rt=955126581 rg=entwicklung
~#! tid=955035375
Hiho,

auch mal ne Anmerkung dazu: Ich finde auf jeden Fall, dass der Seherstatus
ausdruck dessen ist, das man sich hier im Mud auskennt. Ein Kriterium sind da
natuerlich die AP. Was man vielleicht aendern koennte, waere die Abhaengigkeit
vom Seherstatus. Wenn die Kaempfer das mit eingerechnet haben, ist das okay,
andere Gilden haben das vielleicht nicht. Des weiteren koennte man die
Fluchtrichtung vielleicht unabhaengig vom Sehertum machen. Vielleicht von
Level 35 bis 50 steigern oder so.

Nonne.

-----------------------------------------------------------------------------



Re^9: Seheranforderungen (Alpha, 10. Apr 2000, 16:55:15):
~#! rn=Nonne rt=955354825 rg=entwicklung
~#! tid=955035375
Nur mal so nebenbei. Ich bin auf Level 53 Seher geworden, als ich endlich die
letzte notwendige Quest geschafft habe, und ich hab nur 1556 AP gebraucht.
Irgendwie fand ich 1556 AP schon eine viel zu hohe Grenze, aber muss man, um
sich im MG gut auszukennen, 80% aller AP haben? Ich denke mal nicht. Es gibt
so viele Gegenden und Mini-Quests, die man loesen kann ohne das man AP erhaelt
- und man lernt so das MG kennen. Warum wird die AP-Grenze nicht einfach
abgeschafft und nur noch auf die FP geschaut? Wer 1500 oder 1800 AP selber
erquestet sollte die FP zum Seher haben, wer keine AP-Questen loest aber
woanders FP findet hat es doch auch verdient Seher zu werden, oder?
Alpha.

-----------------------------------------------------------------------------



Re^5: Seheranforderungen (Spirill, 10. Apr 2000, 19:40:12):
~#! rn=Dfender rt=955126293 rg=entwicklung
~#! tid=955035375
Mir gehts auch so - aber die quest ist nett, da gibts nix!

-----------------------------------------------------------------------------



Re^3: Seheranforderungen (Tunixgut, 11. Apr 2000, 09:20:30):
~#! rn=Deepblue rt=955092714 rg=entwicklung
~#! tid=955035375
Eher im Gegentum, Deepblue, mit den NICHT-optionalen Quests schreibst Du
jemanden in gewissem Masse die Quests vor, die er zu machen hat!
Ich finde es toll, wenn z.B. Gefaengnis-Insel (oder aber auch Tarko Reub) "zum
Spass" gemacht wird und nicht, um endlich Seher zu werden!

Da unterscheiden sich vermutlich die levelgeilen Scripter von denjenigen, die
hier Spass haben wollen...

's Karate-Zwerchle

-----------------------------------------------------------------------------



Re^4: Seheranforderungen (Deepblue, 11. Apr 2000, 09:27:22):
~#! rn=Tunixgut rt=955437630 rg=entwicklung
~#! tid=955035375
Da hast Du mich falsch verstanden. Optionale Quests sollen nach meinem
Vorschlag zwar weder die Anzahl der zu loesenden Quests einer Gruppe
beeinflussen noch die noetige AP-Zahl erhoehen. Aber genau wie die APs
geloester optionaler Quests angerechnet werden sollte auch die Quest selbst
als erfuellte anforderung der passenden Gruppe gelten. 

-----------------------------------------------------------------------------



Re^10: Seheranforderungen (Tunixgut, 11. Apr 2000, 09:29:32):
~#! rn=Alpha rt=955378515 rg=entwicklung
~#! tid=955035375
Mir als Gerne-Quester fiel das Seher-Werden nicht uebermaessig schwer. Ich
kann aber auch Leute wie Alpha gut verstehen und muss ihm mal zustimmen!!!
Wenn es darum geht, das MG als "QuestMud" zu halten, dann mag die jetzige
Regelung ja angehen, wenn das Seherwerden aber die Mudkenntnis zum Ausdruck
bringen soll, dann wuerde ich allerdings auch eher auf FPs setzen! Wenn
meinethalben nicht jeder, der sich durchschnittlich gut auskennt, Seher wird,
sondern nur die obersten 30% (am besten dann aber, ohne dass einem der Status
wieder aberkannt wird - nur zur Sicherheit ;o)), faende ich das besser...

's Karate-Zwerchle und seine 2 Cent

-----------------------------------------------------------------------------



Re^11: Seheranforderungen (Vector, 11. Apr 2000, 12:14:06):
~#! rn=Tunixgut rt=955438172 rg=entwicklung
~#! tid=955035375

Bliebe noch zu klaeren, wie Du das mit den fps machen willst:

 1. Feste Anzahl fps fuer Sehertum, oder
 2. Besser als der Druchschnitt (wobei dafuer dann meines Erachtens
    laufend mehr fps notwendig werden)

 --Vector--

-----------------------------------------------------------------------------



Re^12: Seheranforderungen (Tunixgut, 11. Apr 2000, 12:15:36):
~#! rn=Vector rt=955448046 rg=entwicklung
~#! tid=955035375
Ich sagte doch, wie ICH as am besten faende: 70% des Durchschnitts der FPs der
Spieler (wow, was'n Satz). Aber die Details sind ja eher unwichtig, mir geht's
um die FPs allgemein....

-----------------------------------------------------------------------------



Re^13: Seheranforderungen (Vector, 11. Apr 2000, 12:16:52):
~#! rn=Tunixgut rt=955448136 rg=entwicklung
~#! tid=955035375

Wenn der Durchschnitt steigt, steigt auf 70% des Durchschnitts:)

--Vector-- auch mal einzeilernd

-----------------------------------------------------------------------------



Re^14: Seheranforderungen (Tunixgut, 11. Apr 2000, 12:17:34):
~#! rn=Vector rt=955448212 rg=entwicklung
~#! tid=955035375
Und????

-----------------------------------------------------------------------------



Re^15: Seheranforderungen (Karis, 11. Apr 2000, 13:08:58):
~#! rn=Tunixgut rt=955448254 rg=entwicklung
~#! tid=955035375
Interessant ist doch in erster LInie mal, ob der Seherstatus auch wieder
verloren werden kann. Macht man das an FPs fest, wuerde das heissen,
sobald ein neues Gebiet /neue FPs dazu kommen, sollte man sich das
eben angucken. Ansonsten ist man halt irgendwann wieder Spieler.
Aehnliches koennte ich mir durchaus auch fuer die APs vorstellen.

Karis, geht schon mal in Deckung :)

-----------------------------------------------------------------------------



Re^16: Seheranforderungen (Tunixgut, 11. Apr 2000, 13:26:20):
~#! rn=Karis rt=955451338 rg=entwicklung
~#! tid=955035375
Ich wollte mit dem Artikel eigentlich garnicht irgendwie eine bestimmte
Variante vorschlagen, nur sagen, dass ich die FPs fuer geeigneter halte als
die APs.
Aber wenn man schon staendig versucht meine persoenliche Meinung
herauszufinden, hier ist sie:
  - Fixe Werte fuer FPs sind sowieso scheisse, schliesslich aendert sich die
Anzahl der FPs im MG wahrscheinlich schneller als die der APs...
  - Ich habe ueberhaupt kein Problem damit, dass eine Art Konkurrenz-Kampf um
die Seher-Plaetze entsteht - ich hoffe nur, dass die Forsche-Scripts sich
nicht auch explosionsartig vermehren.
  - Dennoch wuerde ich dafuer plaedieren, den Seherstatus, so man ihn einmal
hat, nicht wieder abzuschaffen, zum einem, weil dann mit dem Seherwerden der
Konkurrenzkampf vorbei ist - was es auch "Neueinsteigern" leichter macht, zum
anderen wegens die "Besitzstandswahrung", zum dritten auch, weil ich Angst um
meinen eigenen Seher-Status habe! ;o)
  - Ich habe aber auch kein Problem damit, mir meinen Seher-Status staendig
neu verdienen zu muessen - aehnlich wie die
Erzmagister/Oberchaoten/Oberkleriker...

's Karate-Zwerchle schon wieder

-----------------------------------------------------------------------------



Re^17: Seheranforderungen (Deepblue, 11. Apr 2000, 14:37:43):
~#! rn=Tunixgut rt=955452380 rg=entwicklung
~#! tid=955035375
>  - Ich habe aber auch kein Problem damit, mir meinen Seher-Status staendig
> neu verdienen zu muessen - aehnlich wie
dieErzmagister/Oberchaoten/Oberkleriker...
Wie stellst Du Dir dasd vor?
Merlin tteilt Dir mit  Du hasst zu wenig Forscherpunkte. Somit wurde Dein
seherstatus aberkannt
Funakoshi teilt Dir mit: Da Du kein Seher mehr bist, Wurdest Du vom 8. auf den
4. Dan zurueckgestuft. 
Ein Weghier teilt Dir mit: Fuer Traeger des dritten Dans bin ich zu stark,
Deine Stupse wurden geloescht.

-----------------------------------------------------------------------------



Re^18: Seheranforderungen (Wargon, 11. Apr 2000, 17:49:36):
~#! rn=Deepblue rt=955456663 rg=entwicklung
~#! tid=955035375
Merlin koennte dann auch gleich dem Hausmeister der Seherhaeuser Bescheid
sagen, der dann mit der Abrissbirne kommt.
Ausserdem duerfte groesseres Geschrei ertoenen, wenn die Leute merken, dass
ihnen die Sehertore auf einmal wieder verwehrt sind :)
  Wargon

-----------------------------------------------------------------------------



Re^19: Seheranforderungen (Pilgrim, 11. Apr 2000, 19:27:23):
~#! rn=Wargon rt=955468176 rg=entwicklung
~#! tid=955035375
An,

den SeherSTATUS aberkennen ist wohl weder fair (aber wer sagt, dass
das Lebe^h^h^h^hMud fair ist?) noch praktikabel ... s. andere Artikel ...
Aber warum nicht zurueckstufen (bis auf den SeherMindestLevel), oder so ...
(Wenn man sowas haben will , bitte ... ;-) )

Ich gebe nur zu bedenken, was der SeherStauts eigentlich bedeutet (hat):
Seher sind/waren Spieler, die die Qualifikation zum Mageier werden
erreicht haben ... aber lieber Spieler bleiben wollten.
Also sind die Anforderung des Seher werdenes eigentlich die
Anforderungen des Magier werdens ... und hier ist es nicht nur
sinnvoll, sondern notwendig, darauf zu achten, das diese
Kandidaten moeglichst viel vom Mud KENNEN ... vom
WurstSeher zum WurstMagier ... naja, wer will das schon
(weder Magier noch (wichtiger!) Spieler) ... Das Mud braucht
auf jeden Fall (Neu)Magier, die sich gut auskennen ... umsomehr,
als AltMagier (wenn sie denn nicht mehr oft und aktiv spielen)
eben nicht mehr ueber alle Feinheiten von Gebieten informiert
sind, die nach Ihrer Magierwerdung angeschlossen wurden ...

Somit werden die Seheranforderungen eigentlich nur im
Interesse des Muds so hoch gesetzt (so war es zumindest mal) ...
Inzwischen hat sich ja bei der MagierWerdung einiges geaendert,
sodass man sicher ueber den SeherStatus nachdenken kann ...

Pilgrim

-----------------------------------------------------------------------------



Re^18: Seheranforderungen (Lone, 11. Apr 2000, 19:50:21):
~#! rn=Deepblue rt=955456663 rg=entwicklung
~#! tid=955035375
Werden dann auch Magier abgestuft a la: Du hast zu wenig FP => Du erfuellst
die Bedinung zum Seherwerden nicht mehr => Du erfuellsst die Bedinung zur
Magierwerdung nicht mehr => Du wurdest von Erzmagier auf Spieler
zurueckgestuft.
Also echt das ist doch alles quatsch.
Wenn man Seher ist bleibt man auch Seher. Da haengt ja noch mehr dran
Seherhaus, titel, Portale, Seeherkard ......
Was man allerdings machen koennte ist die Magierwerdung von der Seherwerdung
zu trennen.
Also z.B. wenn du Magier der Region Polar werden willst musst du 90% der
Abenteuer dort gemacht haben, und alle deine Chars und X % der FP's
ERstkillstupse etc...
(Wobei es da genuegt, wenn alle Chars also mit den Zweities gemeinsam
(Doppelte FP's Stupse nicht doppelt gewertet) diese anforderung erfuellen,
denn
fuer das Magiersein ist die kenntnis der real life Person und nicht des Chars
relevant.
Damit koennte man den Sehertum auf einen Fixwert festmachen. Und die Magier
wuerden ihre Regionen besser kennen. Wenn man erstmal Magier ist sind
natuerlich diese Grenzen bezueglich anderer Regionen irrelevant, denn dann
schaut man ja doch mehr auf den Code.
Lone

-----------------------------------------------------------------------------



Re^19: Seheranforderungen (Apsu, 11. Apr 2000, 22:34:21):
~#! rn=Lone rt=955475421 rg=entwicklung
~#! tid=955035375
Vor allem gibts grad in Polar so viele Questen. Schmarrn.

Apsu.

-----------------------------------------------------------------------------



Re^16: Seheranforderungen (Hight, 11. Apr 2000, 23:42:39):
~#! rn=Karis rt=955451338 rg=entwicklung
~#! tid=955035375
jo geile idee und wenn du wieder spieler bist wirste auch gleich auf GL 15
degradiert gelle 

Hight kopfschuttelnd

-----------------------------------------------------------------------------



Re^16: Seheranforderungen (Lug, 12. Apr 2000, 02:28:44):
~#! rn=Karis rt=955451338 rg=entwicklung
~#! tid=955035375

Nagel es Dir ans Knie Karis. Gebietezwang haette echt noch gefehlt.

Wenn ich den Glockenwald verlassen wollte, wuerde ich in PV Pauschalurlaub auf
der Sonneninsel buchen.

Pffft.
Lug

-----------------------------------------------------------------------------



Re^19: Seheranforderungen (Catweazle, 12. Apr 2000, 08:01:55):
~#! rn=Lone rt=955475421 rg=entwicklung
~#! tid=955035375
Eine wundervolle Diskussion :)
Manchmal freue ich mich richtig regelmaessig und langjaehrig die 
MPA gelesen zu haben. Da kann einem sogar im Fruehling richtig 
weihnachtlich werden :)

Yours truly,
     Catweazle (traellert: 'Aaalle Jaaahre wieeeder ....')

-----------------------------------------------------------------------------



Re^20: Seheranforderungen (Deepblue, 12. Apr 2000, 08:36:22):
~#! rn=Apsu rt=955485261 rg=entwicklung
~#! tid=955035375
werde mag, schreib welche

-----------------------------------------------------------------------------



Re^20: Seheranforderungen (Deepblue, 12. Apr 2000, 08:41:32):
~#! rn=Catweazle rt=955519315 rg=entwicklung
~#! tid=955035375
Wenn die Diskussion alle Jahre wieder kommt, dann muss doch was dran sein.
Ueberleg mal, ob man wo was verbessern kann, ohne die genannten Nachteile
einer generellen Aenderung zu haben. Der Vorschlag von 2 Seherstufen kam ja
schon, z.B. bei der ersten Fluchtrichtung, Pegasus und einige andere kleine
Improvements, beim "Vollseher" dann alles.

-----------------------------------------------------------------------------



Re^21: Seheranforderungen (Boing, 12. Apr 2000, 08:42:50):
~#! rn=Deepblue rt=955521692 rg=entwicklung
~#! tid=955035375
Und wenn das Ergebnis der Diskussion alle Jahre wieder 'wir wollen es
nicht aendern' lautet, dann muss doch auch da was dran sein, nicht wahr?
  Boing

-----------------------------------------------------------------------------



Re^22: Seheranforderungen (Deepblue, 12. Apr 2000, 09:16:42):
~#! rn=Boing rt=955521770 rg=entwicklung
~#! tid=955035375
Mit dem Unterschied, dass die Aenderungsanfrager wohl immer andere (neue)
Leute sind, die 'wir wollen es nicht aendern'-Leute aber wohl immer die
selben...

-----------------------------------------------------------------------------



Re^23: Seheranforderungen (Willi, 12. Apr 2000, 09:54:40):
~#! rn=Deepblue rt=955523802 rg=entwicklung
~#! tid=955035375
In 2 Jahren spaetestens gehoerst Du auch zu den
'wir wollen es nicht aendern'-Leuten.

Willi

-----------------------------------------------------------------------------



Re^24: Seheranforderungen (Deepblue, 12. Apr 2000, 10:03:27):
~#! rn=Willi rt=955526080 rg=entwicklung
~#! tid=955035375
Besitzstandswahrung?

-----------------------------------------------------------------------------



Re^25: Seheranforderungen (Gloin, 12. Apr 2000, 10:07:35):
~#! rn=Deepblue rt=955526607 rg=entwicklung
~#! tid=955035375
Neee, Wissen um das Wesentliche.
Die Anfragenden sind doch zumeist Leute, die meinen, darunter zu 'leiden'
nicht Seher zu sein. Ooooch ihr Armen. Ich bin auch vier Jahre ohne diesen
Status ausgekommen, war sogar stolz drauf.

Wenn es Euch hilft, koennt ihr Euch ja vorstellen mit den mehr zwangsweise
geloesten Quests die erfahreneren Seher zu sein. Oder setzt Euch dann ins
Extralook ein 'Ich bin aber ein 1.9k-AP Seher!'

Gloin

-----------------------------------------------------------------------------



Re^21: Seheranforderungen (Hobo, 12. Apr 2000, 11:23:27):
~#! rn=Deepblue rt=955521692 rg=entwicklung
~#! tid=955035375
An der Diskussion merkt man allerdings auch, dass es > 5 verschiedene
Meinungen gibt, wie die neue Seheranforderung aussehen soll.
Selbst wenn man was aendert, sind laengst nicht alle zufrieden und die gleiche
Diskussion wird in 9 Monaten wieder da sein.

    Hobo

-----------------------------------------------------------------------------



Re^17: Seheranforderungen (Rardian, 12. Apr 2000, 12:03:56):
~#! rn=Tunixgut rt=955452380 rg=entwicklung
~#! tid=955035375
Hm...
Seherstatus aberkennen... Das hiesse dann ja auch, dass man dann bei seinem
Seherhaus wieder vor verschlossener Tuere staende. Ich persoenlich faende es
albern, den Seherstatus wieder abzuerkennen, so er denn einmal erworben wurde.
Darueberhinaus sind doch bei den Seheranforderungen derzeit sowohl APs als
auch FPs enthalten, was ich auch fuer beibehaltungswuerdig empfinde.

Rar.

-----------------------------------------------------------------------------



Re^20: Seheranforderungen (Lone, 12. Apr 2000, 12:15:49):
~#! rn=Apsu rt=955485261 rg=entwicklung
~#! tid=955035375
Schoen, dann gebe es schnell einen neuen Polarmagier und dann vielleicht auch
mal ein Paar Polarquests.
P.S.: Es war aber auch schon so gemeint das zuerst das Sehertum erreicht
werden muesste und dann zusaetlich die Anforderungen fuer den Regionsmagier.
Insbesondere wird dann auch Parawelt erfahrung relevanter, was bislang zum
Magiertum Null beruecksichtigt wurde.
Lone

-----------------------------------------------------------------------------



Re^20: Seheranforderungen (Foobar, 12. Apr 2000, 17:18:38):
~#! rn=Catweazle rt=955519315 rg=entwicklung
~#! tid=955035375
Moin.

Um so schlimmer, Catty, dass es da noch keine FAQ zu gibt :o)

Gruss,

   Foobar

-----------------------------------------------------------------------------



Re^21: Seheranforderungen (Ark, 14. Apr 2000, 20:23:20):
~#! rn=Lone rt=955534549 rg=entwicklung
~#! tid=955035375
He, Moment mal, "Parawelterfahrung"??? Ich hatte die als Spieler nie betreten,
weil da soviele Monster mit Nullen in den Werten rumstanden :-) Ob diese tolle
Erfahrung einen knackigen Magier ausmacht, hmmmmmmnajaaaaa...


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Vorschlag zur MPA (Amaryllis, 15. Apr 2000, 00:10:59):
Hiho,

also falls es
a) nicht zu rechenaufwendig ist, und
b) sich einer finden wuerde, der es implementiert,

faende ich es nuetzlich, wenn ein Befehl ala 'blaettere mpa' oder sowas ginge,
der dann die MPA nach allen Artikeln, die ich geschrieben habe (oder
vielleicht sogar optional andere Spieler? :)) durchsucht und mir diese mit
Rubrik, Titel und Datum/Zeit zurueckliefert.

Nur mal nen kleiner Vorschlag am Rande.

Ama*

-----------------------------------------------------------------------------



Re^22: Seheranforderungen (Deepblue, 15. Apr 2000, 09:45:28):
~#! rn=Ark rt=955736600 rg=entwicklung
~#! tid=955035375
Zumindest wenn er als Mag mit der Para zu tun hat, sollte er auch die
Spielerseite kennen

-----------------------------------------------------------------------------



Re^23: Seheranforderungen (Friedel, 15. Apr 2000, 10:35:03):
~#! rn=Deepblue rt=955784728 rg=entwicklung
~#! tid=955035375
Wie waers denn wenn man vor dem ersten einloggen festlegt nach welchen
kriterien man seher werden will?
Die einen wollen halt lieber 15 Mio EP oder so holen dafuer aber nur 60% der
AP.
Di anderen wollen halt 80% der AP und nur 1 mio EP.
Und wieder andere wollen vielleicht die mitte (10 Mio EP und 70% der AP)!
Nur mal so ein Vorschlag

Friedel

-----------------------------------------------------------------------------



Re^24: Seheranforderungen (Trance, 15. Apr 2000, 10:37:40):
~#! rn=Friedel rt=955787703 rg=entwicklung
~#! tid=955035375
Du liebe Zeit! Woher soll denn ein Newbie wissen, was er will?

Trance, sieht genau keinen Handlungsbedarf. 

-----------------------------------------------------------------------------



Re^24: Seheranforderungen (Deepblue, 15. Apr 2000, 10:43:34):
~#! rn=Friedel rt=955787703 rg=entwicklung
~#! tid=955035375
Fuer Ersties (und um die sollte es schwerpunktmaessig gehen) nicht praktikabel
- weil: Was ist ein AP, was ist ein EP?

-----------------------------------------------------------------------------



Re^25: Seheranforderungen (Friedel, 15. Apr 2000, 10:45:44):
~#! rn=Deepblue rt=955788214 rg=entwicklung
~#! tid=955035375
AP - ein abenteuerpunkt
EP - ein Erfahrungspunkt
man koennte ja die jetzigen nichtseher noch nachztraeglich fragen

Friedel

-----------------------------------------------------------------------------



Re^26: Seheranforderungen (Deepblue, 15. Apr 2000, 11:02:34):
~#! rn=Friedel rt=955788344 rg=entwicklung
~#! tid=955035375
Mir ist das schon klar, was das heisst, und ich kann die Menge auch
abschaetzen. Ein totaler Newbie kennt weder die Namen noch die Bedeutung

-----------------------------------------------------------------------------



Re^27: Seheranforderungen (Friedel, 15. Apr 2000, 11:05:34):
~#! rn=Deepblue rt=955789354 rg=entwicklung
~#! tid=955035375
ich dachte auch nicht daran die zahlen zu nennen sondern so nach dem motto:
Wie willst du zum Seherstatus aufsteigen?
1-ueberwiegend kaempfen
2-durch loesen vieler Abenteuer
3-durch eine Mischung aus beidem


Friedel

-----------------------------------------------------------------------------



Re^23: Seheranforderungen (Ark, 15. Apr 2000, 13:57:01):
~#! rn=Deepblue rt=955784728 rg=entwicklung
~#! tid=955035375
Oh Mist, dann habe ich bereits ganz schoen dagegen verstossen. Ich schlage
meine sofortige Selbstloeschung vor. Da ich mich selbst nicht ueberwinden
kann, moechte ich einen mutigen Erzmagierassassinen damit beauftragen ... mit
meiner Loeschung natuerlich, nicht mit seiner.
























H A L T !

Ich hab's mir doch anders ueberlegt. Wer weiss, hier gibt es ja Leute, die
sowas sofort umsetzen :-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^24: Seheranforderungen (Ark, 15. Apr 2000, 13:57:37):
~#! rn=Friedel rt=955787703 rg=entwicklung
~#! tid=955035375
Noe, wir wollen Gleichheit fuer alle, jawoll!


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^23: Seheranforderungen (Paracelsus, 15. Apr 2000, 16:07:10):
~#! rn=Deepblue rt=955784728 rg=entwicklung
~#! tid=955035375
> Zumindest wenn er als Mag mit der Para zu tun hat, sollte ...

Also 1. heisst das in dem Fall "mit DEM Para"
und 2. wers mit mir zu tun bekommt, hat eh Probleme ;)

Paracelsus->schmarrn()

-----------------------------------------------------------------------------



Re^28: Seheranforderungen (Gnome, 16. Apr 2000, 17:36:43):
~#! rn=Friedel rt=955789534 rg=entwicklung
~#! tid=955035375
und was bitte schoen ist der Seherstatus?
da kommen wir vom hundersten ins tausendste. erklaer mal den Seherstatus
ohne begriffe a la 'Portale', 'Forscherpunkte', 'Titel|Presay',
'Parallelwelt', um nur einige zu nennen...
siehst du ein, dass das nichts bringt?

gnOme

-----------------------------------------------------------------------------



Re^28: Seheranforderungen (Karam, 16. Apr 2000, 17:49:48):
~#! rn=Friedel rt=955789534 rg=entwicklung
~#! tid=955035375
Dass man in einem gewissen Rahmen waehlen kann, mit welchen Anforderungen
man Seher wird, ist eigentlich keine schlechte Idee - und auch nicht
neu.  Wie waere es, wenn man die Level-Anforderung wiederbelebt, indem
man sie von 20 auf 40 hochsetzt?  Dann kann jeder selber sehen, ob er
die noetigen Stupse durch zusaetzliche Quests, extra FPs oder von wuerdigen
NPCs bekommt.

-- 
Karam

-----------------------------------------------------------------------------



Re^28: Seheranforderungen (Pilgrim, 16. Apr 2000, 22:04:25):
~#! rn=Friedel rt=955789534 rg=entwicklung
~#! tid=955035375
> ich dachte auch nicht daran die zahlen zu nennen sondern so nach dem motto:
> Wie willst du zum Seherstatus aufsteigen?
> 1-ueberwiegend kaempfen
> 2-durch loesen vieler Abenteuer
> 3-durch eine Mischung aus beidem

Die Idee finde ich prinzipiell gut, nur wuerd ich das nicht beim
(Erst-)Einloggen machen, sondern beim Erreichen einer best.
Stufe im Mud (z.B. Level 5 oder 10) ... bis dahin sollte man
doch wissen, was man will ...

Pilgrim

-----------------------------------------------------------------------------



Re^29: Seheranforderungen (Friedel, 16. Apr 2000, 22:05:58):
~#! rn=Pilgrim rt=955915465 rg=entwicklung
~#! tid=955035375
Die Idee finde ich auch gut!
bis level 10 oder so muesste jeder wissen was ein seher ist und wie hart
manche questen sind :)

Friedel, kurz und bndig

-----------------------------------------------------------------------------



Re^30: Seheranforderungen (Magictux, 17. Apr 2000, 01:42:17):
~#! rn=Friedel rt=955915558 rg=entwicklung
~#! tid=955035375
Ja, Idee ist nicht schlecht.
Aber geaendert wird ja doch nix ...

Magictux

-----------------------------------------------------------------------------



Re^31: Seheranforderungen (Max, 17. Apr 2000, 02:05:39):
~#! rn=Magictux rt=955928537 rg=entwicklung
~#! tid=955035375
Ich bin ja eigentlich zu jung, um meinen Senf dazuzugeben...
Aber ich tue es trotzdem... :)
Diese ganzen Seherfaehigkeiten scheint es ja im Paket auf Einmal mit Erreichen
einer bestimmten Grenze zu geben... so weit ich es bisher mitbekommen habe.
Meine bisherige Lieblingsquest war "finde die Fee Amaryllis", und zwar wegen
dem bisher innigst geliebtem Emote-Befehl...
(Jetzt werde ich mal wirklich dreist:)
Diese ganzen Dinge mit einer Quest zu verbinden, waere natuerlich eine Menge
Arbeit, aber vielleicht hat da jemand sowieso schon Ideen und moechte sich an
diesem Projekt beteiligen?
z.B. Um bei der Kreditbank genau das zu bekommen, Schulden bei Hilbert
eintreiben, der wegen seines Unendlich hohen Turmes sich natuerlich auch
unendlich verschulden musste :) oder so...
Die ganzen Mini-Quests knnte man sowieso schwer genug machen, das man sich
erst mit Level 30 oder 40 rantraut, die Quest derartig gestalten, das man
sowieso Forscherpunkte bekommt, und so weiter...

Sobald man nen gewissen Prozentsatz geschafft hat, koennte man dann offiziell
Seher werden... als Status.

Das Problem mit den bisherigen Sehern lst sich dadurch lsen, das die die Quest
nachmachen knnen und dadurch AP (<-winkt mit der Stufenerhoehung :) ) oder
Spielspass gewinnen... und die Neuen duerfen sich anstrengen, um was zu
erreichen...

In der Hoffnung, das dieser Verbale erguss nicht vollstndig ignoriert wird,
und vielleicht auch ansatzweise in Betracht gezogen wird....

                                                                           
(V)ax

PS: Die Magier die eine Ahnung von diesem Arbeitsaufwand haben, duerfen wieder
aufhoeren zu lachen... Vielleicht, nur vielleicht hat einer in den nchsten
Sem-ferien Zeit...
und Lust...
---finis---
***

-----------------------------------------------------------------------------



Re^24: Seheranforderungen (Deepblue, 17. Apr 2000, 08:57:11):
~#! rn=Paracelsus rt=955807630 rg=entwicklung
~#! tid=955035375
>Also 1. heisst das in dem Fall "mit DEM Para"
Heul doch!

-----------------------------------------------------------------------------



Re^25: Seheranforderungen (Humni, 17. Apr 2000, 09:00:49):
~#! rn=Deepblue rt=955954631 rg=entwicklung
~#! tid=955035375
Hmmm...

entweder ist es ,,die Parawelt'' oder ,,das Para-MG''.....
da im Portal (beim Portalraum) Parawelt steht, war DeepBlues 
Version von daher gesehen die richtigere.

(-> Schmarrn)
Humni 

PS: Andererseits weiss Para* wohl am besten ueber Para* 
Bescheid... schwierig das.

-----------------------------------------------------------------------------



Re^24: Seheranforderungen (Apsu, 17. Apr 2000, 21:31:33):
~#! rn=Friedel rt=955787703 rg=entwicklung
~#! tid=955035375
Alles so lassen wie es ist?
nur mal so ein Vorschlag
Apsu

-----------------------------------------------------------------------------



Re^26: Seheranforderungen (Acrimon, 17. Apr 2000, 21:32:31):
~#! rn=Humni rt=955954849 rg=entwicklung
~#! tid=955035375
nur mal so zur Erinnerung:

- _Seher_ sind Spieler, die die Anforderungen zur Magierwerdung erfuellt
haben, aber lieber spielen wollen. Nicht mehr und nicht weniger. Steht so auch
in der Hilfe.

- Die _Parallelwelt_ ist nur dazu da, damit die Magier sich austoben koennen
und auch ultraschwere Monster anschlieszen koennen, die im richtigen MG-Spiel
eigentlich nichts zu suchen haetten. Diejenigen Regeln, die fuer die
Parallelwelt gelten, sind nur dazu da, um das Spiel in der "normalen" MG-Welt
im Gleichgewicht zu halten.

Acrimon

-----------------------------------------------------------------------------



Re^27: Seheranforderungen (Ringor, 17. Apr 2000, 21:38:02):
~#! rn=Acrimon rt=955999951 rg=entwicklung
~#! tid=955035375
> - Die _Parallelwelt_ ist nur dazu da, damit die Magier sich austoben koennen
> und auch ultraschwere Monster anschlieszen koennen, die im richtigen
> MG-Spiel eigentlich nichts zu suchen haetten.

So ist die Parallelwelt leider ziemlich oft missverstanden worden.

Das heisst aber nicht, dass sie wirklich so gedacht und erst recht nicht, dass
sie "nur dazu da" ist. Schoene Gegenbeispiele sind schon vorhanden und werden
irgendwann hoffentlich mal die Mehrheit stellen.


Nicht gegen starke Monster.
Aber gegen ueberstarke Monster ohne passendes Gebiet drum herum.
Ringor.

-----------------------------------------------------------------------------



Re^29: Seheranforderungen (Ark, 17. Apr 2000, 22:13:48):
~#! rn=Pilgrim rt=955915465 rg=entwicklung
~#! tid=955035375
Nene, ich stelle mir mal einen absoluten Anfaenger vor (so wie mich damals).
Woher weiss ich gleich beim Einloggen, wie meine Neigungen sein werden? Ich
kenne doch das Mud gar net. Vielleicht aendere ich meine spontane Einstellung
wieder. Und ueberhaupt, warum wollen die jetzt gleich schon soviel ueber mich
wissen? Ich will gleich loslegen koennen, und nicht Fragen beantworten, wer
weiss, vielleicht bin ich in 5 Minuten schon Geschichte, weil es mir net
gefaellt.
Abgeschmettert :-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^32: Seheranforderungen (Ark, 17. Apr 2000, 22:16:35):
~#! rn=Max rt=955929939 rg=entwicklung
~#! tid=955035375
> Vielleicht, nur vielleicht hat einer in den nchsten Sem-ferien Zeit... und
Lust...

Also, da wird sich niemand finden, hoechstens ein Masochist, denn wenn er sich
das antut, muss er mit mindestens ebensoviel Gegenwind rechnen, wenn die
Loesung dann steht. Ich sehe da niemanden, der so doof ist. Ausserdem gibt es
Wichtigeres, oder?

Destruktiv ...


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^33: Seheranforderungen (Max, 17. Apr 2000, 23:01:14):
~#! rn=Ark rt=956002595 rg=entwicklung
~#! tid=955035375

Ja, klar... Ich meinte nicht, das einer alle machen soll... Das waere wirklich
verheerend...
Ich meinte, das jmd, der gerade eine passende idee hat, zu einer passenden
Faehigkeit, eine Quest macht, und sei sie auch nur kurz... 

                       (V)ax - wie ueblich von allen missverstanden
---finis---
***

-----------------------------------------------------------------------------



Re^34: Seheranforderungen (Ark, 17. Apr 2000, 23:12:03):
~#! rn=Max rt=956005274 rg=entwicklung
~#! tid=955035375
Hm, irgendwie dreht man sich da aber im Kreis. Es ging doch um die
Anforderungen, gerade was Quests betrifft. Der Geschmack ist ja vielfaeltig,
und irgendwie will es mir nicht in den Sinn, jemanden zu zwingen, eine Quest
zu machen, nur damit er ein "tolles" Feature oder einen sonstigen "Vorteil"
des Sehertums erwirbt, jedenfalls nicht ohne Alternative, wie jetzt. Ist zwar
auch nicht optimal, aber es bietet jedem die Auswahl zwischen mehreren Quests.
Ich glaube uebrigens, dass man sich das Ganze auch unter der Rubrik
"Kaffeekraenzchen.Plauderei" antun koennte. Es kam schonmal zur Sprache,
einige Dinge werden sich nicht aendern, auch wenn die Personen sich hinter den
Argumenten aendern. Ist das nicht klar, dass es hier um das Konzept dieses
Muds geht, das hier nicht einfach geaendert wird? Dies ist vorrangig ein
Questmud (schreit ruhig wieder los :-) ), wer hier was werden will, MUSS
questen. Alles andere ist gegrillte Huehnerkacke. Wenn ein Vergleich erlaubt
ist, mir kommt diese alljaehrliche Diskussion so vor, als ob man ein Auto halt
auch noch fliegen lassen will, fuer die, die gerne so ans Ziel kommen wuerden.
Achja, vielleicht sollte das Auto auch noch ein paar Schwimmflossen bekommen,
nur fuer den Fall ... Tja, und am Ende sind dann aus irgendeinem Grunde doch
nicht alle Fahrer/Flieger/Schwimmer zufriedenzustellen, worauf sich die
Konstrukteure wieder auf ihren Prototyp mit 4 Raedern besinnen, und im
anschliessenden Analysemeeting isses sowieso klar, dass man den
Standardisierungsgedanken verfolgen haette muessen, wenn da nicht die
Bedenkentraeger gewesen waeren, aber wir haben es ja gleich gesagt, und so
fort.

Ein langer Artikel.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^35: Seheranforderungen (Deepblue, 18. Apr 2000, 09:43:44):
~#! rn=Ark rt=956005923 rg=entwicklung
~#! tid=955035375
Ark, Du redest viel. Ab und an koenntest Du aber auch mal was sagen :)
DeepBlue->schmarrn()

-----------------------------------------------------------------------------



Geldkarte -> Ueberweisung? (Mightus, 25. Apr 2000, 19:59:34):
Wenn wir schon eine Debit-Card haben, koennte man doch auch gleich eine
Ueberweisungs-Funktion einbauen? Von Seer-Card -> Seer-Card.
Mal so als Vorschlag

Mightus

-----------------------------------------------------------------------------



Re: Geldkarte -> Ueberweisung? (Ronda, 25. Apr 2000, 22:06:22):
~#! rn=Mightus rt=956685574 rg=entwicklung
~#! tid=956685574
Klar! Ausserdem fehlt definitiv der Dauerauftrag - fuer Alimente und Co...

Ronda *schmarrnt rum ;-)*

-----------------------------------------------------------------------------



Waffenschmiede (Warlord, 27. Apr 2000, 00:51:06):
Ich weiss nicht, ob es diese Idee schon mal gab?
Wie waere es mit der Moeglichkeit, Waffen, Ruestungen, etc. als Spieler selbst
zu schmieden?
Verschiedene 'Zutaten' haben unterschiedliche Eigenschaften zur Folge.
'Rezeptur' fuer jede Eigenschaft bei jedem Spieler unterschiedlich.

usw.

Gruss
Warlord

-----------------------------------------------------------------------------



Re: Waffenschmiede (Gnome, 27. Apr 2000, 00:51:44):
~#! rn=Warlord rt=956789466 rg=entwicklung
~#! tid=956789466
gibt es. zumindest fuer ruestungen.

gnOme

-----------------------------------------------------------------------------



Re: Waffenschmiede (Deepblue, 27. Apr 2000, 08:36:53):
~#! rn=Warlord rt=956789466 rg=entwicklung
~#! tid=956789466
Schmieden ist eine sehr spezielle taetigkeit, dass kann man nur durch
entsprechende Ausbildung lernen. 
DeepBlue wuerde das Thema gern als Quest oder Gilde verwertet sehen.

-----------------------------------------------------------------------------



Re: Re: Waffenschmiede (Morgoth, 27. Apr 2000, 08:40:32):
~#! rn=Deepblue rt=956817413 rg=entwicklung
~#! tid=956789466
Obwohl ich deepblue ansonsten absolut nervig finde, ist der vorschlag, sowas
in eine Gilde zu packen sehr interessant. Ich haette da auch schon eine Idee,
wie man sowas aufziehen koennte. 
Wer wirklich interesse hat, kann sich ja mit mir kurzschliessen.

M*

-----------------------------------------------------------------------------



Re^3: Waffenschmiede (Trug, 27. Apr 2000, 09:03:22):
~#! rn=Morgoth rt=956817632 rg=entwicklung
~#! tid=956789466
Ich wuerde gerne mich kurzschliessen in der Hinsicht, wie es nun mit der
Elementargilde so aussieht. Kommt die jetzt noch oder ist die nun ad acta,
oder was? ;-)

Trug.

-----------------------------------------------------------------------------



Re^4: Waffenschmiede (Morgonate, 27. Apr 2000, 10:44:25):
~#! rn=Trug rt=956819002 rg=entwicklung
~#! tid=956789466
Also als Miniquest / Privat-Skill gibt es das bei Ruestungen schon.

Wenn ich mich recht entsinne.


Morgonate

-----------------------------------------------------------------------------



Re^22: Seheranforderungen (Daria,  1. Mai 2000, 15:44:09):
~#! rn=Ark rt=955736600 rg=entwicklung
~#! tid=955035375
Vorweg: Ich antworte nur zufaellig auf diesen Artikel, um keinen neuen Thread
anzufangen (weil ich weiss, wie so was nervt).

Was bei der ganzen Diskussion fuer mich rauskommt is doch:
Es scheint irgendwie wahnsinnig wichtig zu sein, Seher werden zu koennen. Wenn
man die ganzen Artikel so liest, bekomm ich das Gefuehl, dass man ohne den
Seherstatus im MG keinerlei Chancen hat. Wollt Ihr spielen, oder seid Ihr
titel- bzw. stufengeil?
Seitdem ich Seherin bin (spaet, weil ich staendig sterbe ;-) ), is fuer mich
beim Spielen die Luft irgendwie raus. Und das liegt auch daran, dass man von
allen Seiten irgendwie gedraengt wird, Seher zu werden. Anscheinend wird man
hier sonst von den 
"Alteingesessenen" nicht richtig akzeptiert. Ich will damit nicht sagen,
irgendwer haette mich bloed behandelt, als ich noch Spielerin war - aber sowas
hoert/liest man immer ueberall raus.
Das ist kein Plaedoyer fuer niedrigere Stufen. Bei der Ruestungsschraube find
ichs verwunderlich, dass man immer noch durch Abenteuer allein Seher werden
kann.
Und wer nicht akzeptieren will, dass er/sie fuer seinen/ihren Zweiti die
ganzen Abenteuer noch mal machen muss: Pech gehabt.
Anscheinend ist noch nicht allen klar, dass man hier nichts gewinnen kann.
Daria

-----------------------------------------------------------------------------



Re^23: Seheranforderungen (Trug,  1. Mai 2000, 18:21:07):
~#! rn=Daria rt=957188649 rg=entwicklung
~#! tid=955035375
Tja, so isses halt hier... mir will auch keiner der Spieler glauben, wenn sie
von Seherstatus den sie erreichen wollen mit flammender Rede erzaehlen. Oder
eben rumjammern, dass sie dass und das nicht auf 100% haben und dabei sooo arm
sind.

Trug, schliesst sich Darias Meinung nur an.

-----------------------------------------------------------------------------



Re^23: Seheranforderungen (Padreic,  1. Mai 2000, 19:47:40):
~#! rn=Daria rt=957188649 rg=entwicklung
~#! tid=955035375
Wie? man kann hier nichts gewinnen???????
Wieso hat mir das bloss keiner frueher gesagt...

Pad*

-----------------------------------------------------------------------------



Re^23: Seheranforderungen (Gnome,  1. Mai 2000, 20:36:19):
~#! rn=Daria rt=957188649 rg=entwicklung
~#! tid=955035375
D> Wollt Ihr spielen, oder seid Ihr titel- bzw. stufengeil?

wir sind stufen-/titel-/AP-/XP-/skill-/EK-geil.
hab ich was vergessen?

du scheints zu den leuten gehoeren, die noch nicht verstanden haben, dass
jeder seinen spielspass hier anders definiert. und wenn es halt jmd
wahnsinnig wichtig findet, seher zu werden, oder jedes neue abenteuer
als erster durchzuspielen, oder massig FP zu sammeln, warum lassen wir
ihn dann einfach nicht?
muessen wir, ausser den wenigen und notwendigen regeln, die es hier gibt,
jmd vorschreiben, wie er sein mudleben verbringt?
ja, ich weiss, dass es hier eine kleine gruppe gibt, die am liebsten alle
top-/xp-/saufskill-/blablubb-listen abgehaengt sehen wuerden, aber waere
dann der sportliche wettstreit, als den ich es immer gesehen haben, nicht
dahin?
waere das mud nicht um einigen reiz aermer?

uebt euch in toleranz.

gnOme

-----------------------------------------------------------------------------



Re^24: Seheranforderungen (Rardian,  2. Mai 2000, 11:07:27):
~#! rn=Gnome rt=957206179 rg=entwicklung
~#! tid=955035375

> wir sind stufen-/titel-/AP-/XP-/skill-/EK-geil.
> hab ich was vergessen?

Ja, hast Du, und zwar die Definition von _wir_

Rar, ist nicht wir.

-----------------------------------------------------------------------------



Re^25: Seheranforderungen (Deepblue,  2. Mai 2000, 11:32:22):
~#! rn=Rardian rt=957258447 rg=entwicklung
~#! tid=955035375
>Rar, ist nicht wir.
Aber ist rar eventuell wirr?
Deepblue->schmarrn()

-----------------------------------------------------------------------------



Re^25: Seheranforderungen (Karis,  2. Mai 2000, 11:33:34):
~#! rn=Rardian rt=957258447 rg=entwicklung
~#! tid=955035375
> wir sind stufen-/titel-/AP-/XP-skill-EK-geil.
> hab ich was vergessen?

>Ja, hast Du, und zwar die Definition von _wir_

Ich bin bei wir dabei.
Erzoberwurstseher Karis.

Ja, vergessen hab ich auch noch was ... ich bin laestergeil 

-----------------------------------------------------------------------------



Re^26: Seheranforderungen (Trug,  2. Mai 2000, 14:21:31):
~#! rn=Deepblue rt=957259942 rg=entwicklung
~#! tid=955035375
Nette Taktik, durch Bloedelein und Beschimpfungen von der eigentlichen Sache
abzulenken.

Im uebrigen fehlt in der Liste noch die Todesgeilheit, die so mancher hat...

Trug.

-----------------------------------------------------------------------------



Re^27: Seheranforderungen (Liara,  2. Mai 2000, 14:37:44):
~#! rn=Trug rt=957270091 rg=entwicklung
~#! tid=955035375
Trug, lass es doch einfach.
Es ist eine Frechheit, dass Du es ueberhaupt noch wagst, hier irgendwelche
Meinungen unter die Leute zu bringen.
Was Du mit Deinen Charakteren (speziell Deinem Magier) hier schon alles
angerichtet hast, kannst Du scheinbar ganz gut verdraengen. Sonst haetteste
wohl den Anstand, Dich hier eher leise und unsichtbar zu bewegen. 
Glaub ja nicht, dass hier irgendjemand auch nur irgendwas von dem vergisst,
was Du versaubeutelt hast und hoer endlich mit Deinem weinerlichen
unverschaemten Getue auf.
Vor allem mit Deinen Pauschalverurteilungen von _allen_ Spielern hier. Ich
frage mich eh, was Du noch zu Jammern hast, wenn hier angeblich sowieso jeder
anders denkt als Du. Geh doch und heul doch!

Liara, Zwergenzauberine, wird zum Glueck inzwischen ignoriert, aber irgendwer
wird es ihm schon stecken ...
P. S.: Man ersetze 'hier` jeweils durch anderen passende Worte, der gute
Schreibstil is leider auf der Strecke geblieben.

-----------------------------------------------------------------------------



Re^24: Seheranforderungen (Anatol,  2. Mai 2000, 19:43:16):
~#! rn=Gnome rt=957206179 rg=entwicklung
~#! tid=955035375
Komm' auf den Boden zurueck, Gnome. Schnell.

Anatol


-----------------------------------------------------------------------------



re Re^27: Seheranforderungen (Liara,  2. Mai 2000, 14:37:44) (Almdudler,  3. Mai 2000, 01:38:01):
wer auch immer hier wem auch immer warum auch immer das maul (wie ungewaschen
auch immer) verbieten will, hat einiges net kapiert.
Almi, dem Redefreiheit heilig ist.

-----------------------------------------------------------------------------



 Seheranforderungen (Anatol,  3. Mai 2000, 09:49:24):
~#! rn=Almdudler rt=957310681 rg=entwicklung
~#! tid=957310681

Auch die ach so heiligen Dogmen der Rede- und Pressefreiheit
haben Grenzen. Wer von diesen nichts weiss oder nichts wissen
will, hat ebenfalls einiges nicht kapiert.

Anatol


-----------------------------------------------------------------------------



Toleranz ? (Ashan,  3. Mai 2000, 12:52:59):
Moin,
ich verstehe die ganze Aufregung nicht. Eigentlich hat Gnome doch alles
noetige gesgt: Jeder soll nach seiner Fasson selig werden.
Es mag ja Leute geben die auf FPs abfahren, andere metzeln gern und wieder
andere kommen nur zum Questen her. Na und ? Es ist doch gut dass das MG fuer
viele etwas bietet.
Ich entnehme den Artikeln aus der MPA dass sich manche weniger wert fuehlen
weil sie noch keinen Seherstatus haben oder einen recht spaeten Erstlogin (ich
rede jetzt mal von Ersties). Also, ich halte das fuer Unsinn :) Zugegeben,
damals bei Einfuehrung der FPs sah ich die Welt gar nicht mehr so rosig ...
(ich gehoere zu denen die gern metzeln .. .fragt nicht nach dem Sinn :) ...
doch auch heute gibts (neue) Leute die in Hinsicht auf Metzeleien gut drauf
sind, und zwar auch ohne Zweitiearmee. 
Und nochmal: Wer questen will soll questen, wer forschen will soll forschen,
wer metzeln will soll metzeln ... jedem das was ihm Spass macht. Dass alle 3
Taetigkeiten dazugehoeren um Seher zu werden, na und ? Auf dem Gebiet wo man
nicht vorankommt ... wozu hat man Freunde ? Da will ich mal auf das M wie
Multi in Namen MUD verweisen :) Wer nicht Seher werden will der laesst es
eben. Mir gehts im MG jedenfalls darum zu tun was mir Spass macht, und anderen
hoffentlich auch, auch wenn sie Spass anders definieren.
Grenzen gibts natuerlich auch ... Wer Spass darin findet Playerkills zu
sammeln ist hier falsch ... andere Beispiele spar ich mit und sage nur:

have fun !

Ashan

P.S.: Ach ja, wir sind ja in Rubrik Entwicklung, also sollte noch was
konstruktives mit rein in den Artikel :)
Nun denn: Wenn ich jetzt einen einzigen Ort im MG fordere wo es eine einzige
Liste gibt, wo sich die Metzelfreunde mit ihren EPs vergleichen koennen ....
dann hoere ich schon die Haelfte von Euch vor Empoerung aufschreien, einige
Magier und ganz speziellev Spieler / Seher sagen dass ich nix verstanden habe
und FP, AP und EP im MG eine Einheit bilden sollen. Folglich verteil ich mal
ne Menge Baldrian ...
und faende so ne Liste trotzdem nett :) :) :)

-----------------------------------------------------------------------------



Re:  Seheranforderungen (Wurzel,  4. Mai 2000, 23:15:35):
~#! rn=Anatol rt=957340164 rg=entwicklung
~#! tid=957310681
das spannendste an solchen diskussionen ist immer, wer den kasper macht und
von den grenzen der rede- und pressefreiheit schwafelt. fast immer sind es
eben die, die im innersten kern ihres wesens von toleranz nichts halten, weil
sie sowieso im besitz der einzig gueltigen wahrheit sind. mit nicht selten
hervorragender eloquenz kaempfen sie darum, die ihnen gebuehrende anerkennung
als vor wahrer weisheit triefenden genies zu erlangen, und trotzdem wagen es
immer wieder ein paar unbelehrbare, die goettlichkeit anzuzweifeln...
das leben kann so grausam sein. es muss doch einfach aetzend sein, uns arme
unwissende immer wieder belehren zu muessen. armer anatol, du tust mir leid.

wurzel

-----------------------------------------------------------------------------



Re: Re:  Seheranforderungen (Yendi,  5. Mai 2000, 11:12:47):
~#! rn=Wurzel rt=957474935 rg=entwicklung
~#! tid=957310681
Lassen wir die Frage ausser acht, ob Dogmen Grenzen haben oder nicht und gehen
wir davon aus, dass Anatol sagen wollte, auch eine dogmatisch vertretene Rede-
und Pressefreiheit habe Grenzen.
Hat er Deiner Meinung nach Unrecht mit dieser Aussage?

Yendi
       rueckt seinen Diskussionsleiterhut zurecht


-----------------------------------------------------------------------------



Re^3:  Seheranforderungen (Karis,  5. Mai 2000, 12:13:50):
~#! rn=Yendi rt=957517967 rg=entwicklung
~#! tid=957310681
Jaaaaahaaaaaa !!!
Schlagt Euch, schlagt Euch!!

Karis, will endlich Blut sehen ;)

-----------------------------------------------------------------------------



 re: Seheranforderungen (Anatol,  3. Mai 2000, 09:49:24) (Almdudler,  5. Mai 2000, 17:30:31):
OHA !
Gesetz den Fall, dass ich jetzt gar net weiss, ob ich mich freuen soll
dass anatol mir mit dem *ebenfalls* ebenfalls Recht gegeben hat, weil 
ich ebenfalls weiss, dass das eben ein Fall ist, in dem einfach ebenfalls 
nicht ganz aus Zufall jemand das Wort ergreift, um halt ebenfalls in jedem
Fall 
durch einfallslose Einfaelle aufzufallen.
In diesem Fall waere das ein Fall um auf jeden Fall ausfallend zu werden, was
mir aber gar net einfaellt, weil ebenfalls die Einfalt des entsprechenden
Pinsels auf-
faellt, und jedenfalls aus meiner Sicht den Einfall das *ebenfalls* in die
Antwort 
zu packen danebenfallenderweise zum Reinfall des Einfaeltigen wird.
In diesem Fall faellt auf, das hier tatsaechlich oft um des Schreibens
geschrieben
wird, gegebenenfalls unter Umgehung einzelner Hirnwindungen.
Jedenfalls bekomm ich keinen Schlaganfall, wenn mich jemand im Krampfanfall 
anfaellt, mein Fell ist in diesem Fall dick genug, weiterhin zu dem zu stehen,
was ich bisher gesagt hab:
Die Freiheit, das Maul aufmachen zu koennen, ist ein hohes Gut, 
nicht mehr, nicht weniger.
Das getroffene Hunde bellen ist eine alte Weisheit...
Und ich belle, wenn hier irgendwer vorschreiben will, wann wer was zu sagen
hat.
So...
Schreibt was ihr wollt, sagt was ihr wollt. Wenns mit Hirn gemacht ist, umso
besser, wenn nicht, wirds manchmal unfreiwillig komisch :-))




Almi, ebenfalls im Fall der Faelle nicht auf dem zugegebenermassen
ungewaschenen
    Mund gefallen...

-----------------------------------------------------------------------------



Re:  re: Seheranforderungen (Anatol,  3. Mai 2000, 09:49:24) (Anatol,  5. Mai 2000, 19:14:59):
~#! rn=Almdudler rt=957540631 rg=entwicklung
~#! tid=957540631
Schoen, dass Du bellst, wenn Dir irgendwer irgendwas vorschreiben
will. Es waere trotzdem schoen, wenn Du den "reply"-Befehl der MPA
in Zukunft richtig benutzst. Das hat schon beim letzten Mal nicht
so richtig geklappt, gell.

Anatol ;)


-----------------------------------------------------------------------------



Re^3:  Seheranforderungen (Wurzel,  7. Mai 2000, 01:31:16):
~#! rn=Yendi rt=957517967 rg=entwicklung
~#! tid=957310681
wenn anatol recht hat mit seiner aussage, dass redefreiheit ihre grenzen hat,
muss er auch dazu sagen, wo diese grenzen liegen und wer diese grenzen denn
festlegt. darum druecken sich dann doch die meisten, die solche meinungen
vertreten.
im uebrigen bin ich der meinung, dass anatol sehr wohl fuer sich selbst
sprechen koennte und keinen "diskussionsleiter" genannten anwalt braucht.

wurzel

p.s. was waere denn, wenn ich in anbetracht des fehlens von allgemein
akzeptierten grenzen der redefreiheit einfach sagen wuerde, dass solche
aussagen wie die von anatol diese grenzen ueberschreiten? oder darf nur
ein anatol solche grenzen definieren, aber keine wurzel? und warum?
fragen ueber fragen...

-----------------------------------------------------------------------------



Re^4:  Seheranforderungen (Rumata,  9. Mai 2000, 09:12:05):
~#! rn=Wurzel rt=957655876 rg=entwicklung
~#! tid=957310681
Ich habe da mal ne schoene Definition von Redefreiheit und Zensurrecht
gelesen:

    "'Censorship' is a term pertaining only to governmental action.
No private action is censorship.  No private individual or agency can
silence a man or suppress a publication; only the government can do so.
The freedom of speech of private individuals includes the right not to
agree, not to listen, and not to finance one's own antagonists."
  --Ayn Rand

Man beachte insbesondere den letzten Satz.

Rumata

-----------------------------------------------------------------------------



Re^5:  Seheranforderungen (Anatol,  9. Mai 2000, 17:53:45):
~#! rn=Rumata rt=957856325 rg=entwicklung
~#! tid=957310681
Ueber Ayn Rand laesst sich, wie ueber jeden "Philosophen", natuerlich
auch streiten. Wobei ich persoenlich zugeben muss, dass ich die
Randsche Philosophie bisher nicht wirklich als ernstzunehmend ein-
geschaetzt habe - ich kannte sie nur aus einem eher belletristischem
Schriftstueck [1].

Nevertheless, wenn ich eine Anzeige schalte, deren Inhalt Unwahr-
heiten ueber eine andere Person enthaelt, kann das zur Anzeige
gebracht werden, ist also von irgendwoher ungesetzlich, wuerde
ich folgern.

Das heisst nicht, dass das Gesetz das erste Sieb sein sollte, mit
dem man sein Statement in spe filtert, ich wuerde - fuer normale
Menschen zumindest - vorschlagen, dass der eigene Verstand die
erste Entscheidungsinstanz sein sollte und schon vor dem jeweils
gueltigen Gesetz filtert. 

Da Moral, Scham, Verstand usw. sehr von der entsprechenden Person
und deren Stimmung abhaengig ist, geht das so ohne "Rahmen" nicht
wirklich auf Dauer gut, wir sind nunmal nur Menschen. Gut, dass
dieser Umstand auch dafuer sorgt, dass einer gelegentlich zu 
lauten Klappe mit Nachsicht begegnet.

Ach ja, Wurzel, wenn Dir WIRKLICH etwas am Punkt "Wo hoert die Rede-
und Pressefreiheit auf" gelegen haette, so haettest Du selbst in den
in den jeweiligen Staaten geltenden Gesetzesschriften nachsehen 
koennen.

Anatol

[1] Was natuerlich heisst, dass mein Bild von Ayn Rand sehr ver-
    faelscht sein kann. Das Buch (Matt Ruff, "Sewers, Gas, Electric")
    ist nichtsdestotrotz sehr lesenswert :)


-----------------------------------------------------------------------------



Re^5:  Seheranforderungen (Kadabra, 10. Mai 2000, 00:02:11):
~#! rn=Rumata rt=957856325 rg=entwicklung
~#! tid=957310681
Frage
Ist das aus Atlas shrugged?
kadabra (neugierig)

-----------------------------------------------------------------------------



Re^6:  Seheranforderungen (Montanus, 13. Mai 2000, 23:19:43):
~#! rn=Kadabra rt=957909731 rg=entwicklung
~#! tid=957310681

Wieso regt sich eigentlich noch irgendjemand ueber Seheranforderungen auf?
Frueher gab es Komplettloesungen und ZT-Listen, heute gibt es
Komplettloesungen, ZT-Listen und FP-Listen.
Wobei frueher die Komplettloesungen noch nicht so hochtechnologisch waren,
aber das ist auch der einzige Unterschied.
Sprich: wer Seher werden will, um diverse Privilegien zu haben (zum Beispiel
seine Umgebung mit Dreizeilern mi Movein und Moveout zu nerven), der wirds
auch. Eher frueher als spaeter.
Viele Moeglichkeiten, dagegen anzugehen, gibts eh nicht, und die Neuverteilung
aller FP und ZT, das Sperren von Magier-Zweities und das Abstufen von Magiern,
die nur Magier geworden sind, um FPs zu setzen und weiterzuverraten, sind halt
alles keine gerngesehenen Moeglichkeiten.
Also regt euch nciht auf. Das ganze STufensystem ist eine Farce - leider. 

-Montanus - wahrscheinlich bereits auf Stufe 8 geboren, damals, als alles noch
schoen und gut war und die Elfen auf Baeumen lebten.

-----------------------------------------------------------------------------



Spotte-Aequivalent (Mesirii, 14. Mai 2000, 14:41:22):
Hi,
mir ist grad was eingefallen: 
was waere mit nem jammere Befehl, den man genauso wie spotte nutzen kann, um
eine Meldung auf der Todebene auszugeben? ist immer doof das x Minuten spaeter
zu tun ;)
waeren bestimmt lustige FLW dabei ;)
das sollte natuerlich der einzige einmal ausfuehrbare Befehl in der
Todessequenz sein ;)
Mesi, nicht jammernd

-----------------------------------------------------------------------------



Re: Spotte-Aequivalent (Householder, 14. Mai 2000, 14:44:06):
~#! rn=Mesirii rt=958308082 rg=entwicklung
~#! tid=958308082
heule faend ich bessa :-)
HH (heulend)

-----------------------------------------------------------------------------



Re: Re: Spotte-Aequivalent (Amaryllis, 14. Mai 2000, 14:44:54):
~#! rn=Householder rt=958308246 rg=entwicklung
~#! tid=958308082
find ich ungerecht - da haben die Zaubis ja nen riesigen Vorsprung, was den
Skill anbelangt :-)

Ama*

-----------------------------------------------------------------------------



Re^3: Spotte-Aequivalent (Householder, 14. Mai 2000, 14:46:10):
~#! rn=Amaryllis rt=958308294 rg=entwicklung
~#! tid=958308082
die zaubis koennte man ja vorher abklemmen
HH

-----------------------------------------------------------------------------



Re: Spotte-Aequivalent (Belgariad, 14. Mai 2000, 14:49:24):
~#! rn=Mesirii rt=958308082 rg=entwicklung
~#! tid=958308082
Gedulde dich noch ein Weilchen Mesirii :)

Belgariad weiss da was :)))

-----------------------------------------------------------------------------



Re: Re: Spotte-Aequivalent (Zook, 14. Mai 2000, 18:48:50):
~#! rn=Belgariad rt=958308564 rg=entwicklung
~#! tid=958308082
Zook grinst Belgariad an.

-----------------------------------------------------------------------------



Re^4: Spotte-Aequivalent (Apsu, 14. Mai 2000, 22:53:25):
~#! rn=Householder rt=958308370 rg=entwicklung
~#! tid=958308082
Abwerten tuts auch.

Apsu, sozial eingestellt.

-----------------------------------------------------------------------------



GNAAAAAAA (Hight, 25. Mai 2000, 14:19:37):
ich weiss es wurde schoen oefter bemaengelt ... abba steter tropfen und so
weiter ....

is esw net machbar verschobene artikel fur den zeitungsleser als gelesen
abzuhaken ... immer den selben gack 2 mal lesen nervt 

ihght sich wiedermal nen thread doppelt ignorierend

und das heisst hight hicht ihgh 

-----------------------------------------------------------------------------



Re: GNAAAAAAA (Tiamak, 25. Mai 2000, 14:23:32):
~#! rn=Hight rt=959257177 rg=entwicklung
~#! tid=959257177
Klar ist es machbar.

Diese Antwort gilt uebrigens fuer 99,9999% aller Fragen nach der Machbarkeit
in einem Mud. Theoretisch geht hier gaaaaanz viel.

In diesem Fall gibt sich leider nur das klitzekleine Problem, dass die
notwendigen Umbauten a) sehr arbeitsintensiv und b) ungleich speicherhungriger
als der vorhandene Ansatz waeren.


Tiamak. Baut es nicht um.

-----------------------------------------------------------------------------



Re: Re: GNAAAAAAA (Hight, 25. Mai 2000, 14:29:11):
~#! rn=Tiamak rt=959257412 rg=entwicklung
~#! tid=959257177
oki da ich weder arbeit machen wollte noch euren speicher fuer sowas verballen
will ignoriere ich weiter doppeld

hight fast einzeilig ,o)

-----------------------------------------------------------------------------



Re: Re: GNAAAAAAA (Gloin, 25. Mai 2000, 14:39:44):
~#! rn=Tiamak rt=959257412 rg=entwicklung
~#! tid=959257177
Jo, arbeitsintensiv :)
Das vor allem. Ansonsten koennte man vielleicht einen Algorithmus finden,
der nicht unbedingt so viel Speicher frisst. Aber das koennte die Freiheiten
beim Lesen beeintraechtigen.
(mir schwebt ein lfd. Nr. pro Rubrik vor)

Gloin ... hat kein Problem mit 'ut' bei verlegten Threads

-----------------------------------------------------------------------------



Re: Stromausfall (Gor, 26. Mai 2000, 14:45:36):
~#! rn=Hate rt=959344716 rg=bekanntmachungen
~#! tid=959344716
Wir brauchen ne USV... sofocht :)))))

-----------------------------------------------------------------------------



Re: Re: Stromausfall (Tiamak, 26. Mai 2000, 14:46:28):
~#! rn=Gor rt=959345136 rg=entwicklung
~#! tid=959344716
Was Du meinst, nennt sich Notstromgenerator.

Tiamak. Will die USV sehen, die mehrere Stunden ueberbrueckt. :-)

-----------------------------------------------------------------------------



Re^3: Stromausfall (Rardian, 26. Mai 2000, 15:06:45):
~#! rn=Tiamak rt=959345188 rg=entwicklung
~#! tid=959344716
Koennte man nicht fuer eine USV eine USV anschliessen? Das haelt doch dann
laenger, oder?

Rar, keine Ahnung von USV.

-----------------------------------------------------------------------------



Re^4: Stromausfall (Deepblue, 26. Mai 2000, 15:29:23):
~#! rn=Rardian rt=959346405 rg=entwicklung
~#! tid=959344716
Kann man. Dazu muss man nur einen kleinen Rar in einen Kaefig mit nem Laufrad
sperren und der Rar muss dann rennen und nen generator antreiben

-----------------------------------------------------------------------------



Re^5: Stromausfall (Rardian, 26. Mai 2000, 15:32:27):
~#! rn=Deepblue rt=959347763 rg=entwicklung
~#! tid=959344716
Ach, das ist ja einfach, bin ich dann da schon drin, oder was?

Rar.

P.S.: Uebrigens, Verniedlichungsformen meines Namens sind nur fuer meine
Freunde und mich gestattet...

-----------------------------------------------------------------------------



Re^6: Stromausfall (Deepblue, 26. Mai 2000, 15:38:15):
~#! rn=Rardian rt=959347947 rg=entwicklung
~#! tid=959344716
Ach komm, raerchen :)

-----------------------------------------------------------------------------



Re^3: Stromausfall (Gloin, 26. Mai 2000, 15:56:36):
~#! rn=Tiamak rt=959345188 rg=entwicklung
~#! tid=959344716
Aber einen ganz grossen :) Was hilfts, wenn der Rechner an ist, aber ich
nicht mudden kann, weil die Switches weg sind.

Gloin will alles oder gar nix ;)

-----------------------------------------------------------------------------



Re^4: Stromausfall (Hate, 26. Mai 2000, 16:00:58):
~#! rn=Gloin rt=959349396 rg=entwicklung
~#! tid=959344716
Eine USV wuerde uns wenigstens vor den plattencheckproblemen bewahren.
Ansonsten haette diesen Ausfall wirklich nur ein Notstromaggregat ueber-
bruecken koennen. Und selbst dann ... die router waren ja im Umkreis alle
tot. ALso kein Netz, also auch kein MUD, egal wie schoen der MUDrechner
laeuft.

Hate.

-----------------------------------------------------------------------------



Re^5: Stromausfall (Golas, 26. Mai 2000, 16:08:04):
~#! rn=Hate rt=959349658 rg=entwicklung
~#! tid=959344716
bin ich so bloed oder kapier ichs nich ...
die USV wuerde zumindest den crash abwenden oder?

golas etwas verwirrt

-----------------------------------------------------------------------------



Re^6: Stromausfall (Gor, 26. Mai 2000, 16:08:22):
~#! rn=Golas rt=959350084 rg=entwicklung
~#! tid=959344716
Das hab ich eigentlich auch gemeint.... :)

-----------------------------------------------------------------------------



Re^6: Stromausfall (Tiamak, 26. Mai 2000, 16:09:33):
~#! rn=Golas rt=959350084 rg=entwicklung
~#! tid=959344716
Nur, wenn der Strom nur sehr kurz ausfaellt.

Gaengige USVs (die bezahlbaren zumindest ;-) ueberbruecken bis 10 Minuten
ungefaehr. Danach bleibt denen auch nix anderes uebrig, als den Rechner
geregelt herunterzufahren.


Tiamak

-----------------------------------------------------------------------------



Re^7: Stromausfall (Nonne, 26. Mai 2000, 16:10:45):
~#! rn=Tiamak rt=959350173 rg=entwicklung
~#! tid=959344716
ja, aber die koennen die zeit ueberbruecken, bis das notstromagregat hoch
gefahren ist, die schalten naemlich im allgemeinen nicht schnell genug ;-)

Nonne.

-----------------------------------------------------------------------------



Re^7: Stromausfall (Gor, 26. Mai 2000, 16:11:43):
~#! rn=Tiamak rt=959350173 rg=entwicklung
~#! tid=959344716
In der Firma gibts hier ein oberfettest Teil, das 4 Server bis zu 2h versorgen
kann. Natuerlich ist das Ding so schwer wie ein Lastwagen. Aber es muss
wech... also wenn Hate noch Platz in seinem Wohnzimmer hat.... Ne Heizung is
da auch schon mit drin Hate *g*

-----------------------------------------------------------------------------



Re^8: Stromausfall (Golas, 26. Mai 2000, 16:11:53):
~#! rn=Nonne rt=959350245 rg=entwicklung
~#! tid=959344716
erste frage: is ueberhaupt fuer sowas geld da?

-----------------------------------------------------------------------------



Re^9: Stromausfall (Karis, 26. Mai 2000, 16:13:05):
~#! rn=Golas rt=959350313 rg=entwicklung
~#! tid=959344716
hoffentlich nicht ...
Karis.

-----------------------------------------------------------------------------



Re^9: Stromausfall (Vanion, 26. Mai 2000, 16:22:12):
~#! rn=Golas rt=959350313 rg=entwicklung
~#! tid=959344716
Selbst wenn, waer sowas denn wirklich noetig? Wieviele Mudcrashs werden denn
jaehrlich durch Stromausfaelle verursacht.

Vanion - haelt die Diskussion fuer hyperfluid

-----------------------------------------------------------------------------



Re^10: Stromausfall (Gor, 26. Mai 2000, 16:23:17):
~#! rn=Vanion rt=959350932 rg=entwicklung
~#! tid=959344716
Gor schreibt nochmal fuer alle die das jetzt ernst nehmen.

        =======>>>> Schmarrn

-----------------------------------------------------------------------------



Re^5: Stromausfall (Deepblue, 26. Mai 2000, 16:32:43):
~#! rn=Hate rt=959349658 rg=entwicklung
~#! tid=959344716
Aba das Zeuch waer noch da

-----------------------------------------------------------------------------



Re^9: Stromausfall (Ronda, 26. Mai 2000, 17:32:18):
~#! rn=Golas rt=959350313 rg=entwicklung
~#! tid=959344716
Och - darf ich in das Thema einhaken? ;-)

<werbung>Du spielst gern im Morgengrauen? Du zahlst jeden Monat x DM an die
telekom oder wen auch immer fuer das Mudden? Ja?

Dann trete bitte auch dem MG-Foerderverein bei - der hat naemlich den ganzen
Hardware-Krams bezahlt - und sorg' auch Du dafuer, dass das MG fluppt!

Ups, ja: </werbung>

Ronda *verkauft Bratwuerstchen, Teppiche und alles was nicht
niet-und-nagelfest ist*

-----------------------------------------------------------------------------



Re^6: Stromausfall (Hight, 26. Mai 2000, 20:06:40):
~#! rn=Golas rt=959350084 rg=entwicklung
~#! tid=959344716
stimmt schon vorausgesezt der strom bleibt net laenger als xy minuten weg ...
das ding haelt auch net ewig

-----------------------------------------------------------------------------



Re^7: Stromausfall (Gloin, 26. Mai 2000, 21:39:21):
~#! rn=Hight rt=959364400 rg=entwicklung
~#! tid=959344716
Hah! Und jetzt sind wir bei der diskussion:
 hmm, wenn wir eine USV haben, dann koennen wir doch alle Objekte persistent
 machen ;)

Viel Spass, Gloin

-----------------------------------------------------------------------------



Re^8: Stromausfall (Sandie, 27. Mai 2000, 11:29:08):
~#! rn=Gloin rt=959369961 rg=entwicklung
~#! tid=959344716
wieso nicht gleich ne HACMP-Loesung?
*g*
Sandie

-----------------------------------------------------------------------------



Re^9: Stromausfall (Hight, 27. Mai 2000, 14:50:09):
~#! rn=Sandie rt=959419748 rg=entwicklung
~#! tid=959344716
ne die loesung waere den mg rechner gleich in ein hkw stellen 

hight ->schmarrn / muell

-----------------------------------------------------------------------------



Re^10: Stromausfall (Etain, 28. Mai 2000, 00:36:49):
~#! rn=Ronda rt=959355138 rg=entwicklung
~#! tid=959344716
Jajaja... Anything not nailed down is mine. Anything I can pry loose is not
nailed down. Oder, Ronda?

Etain

-----------------------------------------------------------------------------



Re^3: Stromausfall (Bambi, 29. Mai 2000, 10:29:56):
~#! rn=Tiamak rt=959345188 rg=entwicklung
~#! tid=959344716
Ich frag mich, wer das bezahlen soll.
Seid ihr eigentlich schon dem Morgengrauen-Foerderverein beigetreten?

Bambi, mal werbend.

-----------------------------------------------------------------------------



Re^11: Stromausfall (Zarniya, 29. Mai 2000, 11:06:32):
~#! rn=Etain rt=959467009 rg=entwicklung
~#! tid=959344716
Die Kleriker-Variante lautet:

... Anything I can pray loose, is not nailed down.

Marc 

-----------------------------------------------------------------------------



Re^4: Stromausfall (Lug, 30. Mai 2000, 00:39:45):
~#! rn=Bambi rt=959588996 rg=entwicklung
~#! tid=959344716

Wenn Du wirbst, hagelt es jetzt sicherlich Austritte...

Konsterniert
Lug

-----------------------------------------------------------------------------



Woher muddet wer? ;-) (Liara, 25. Jun 2000, 23:37:25):
~#! on=Liara ot=961968867 og=seher.entwicklung
Irgendwie finde ich es in letzter Zeit etwas traurig, dass die meisten Leute
aus Orten wie bespielsweise T-Online oder Telekom-Reseller kommen. ;-)

Mag ja sein, dass manche gerne anonym mudden, aber vielleicht koennte man in
das finger irgendwas einbaun, wo man seinen Heimatort eintragen kann. Sowas
wie 'Liara muddet aus Bonn.' (aehnlich des Eintrags der ICQ-Nummer).
Klar, dass da bestimmt interessante Sachen bei rauskommen. ;-)

Liara, Zwergenzauberine, bittet um Verlegung des Artikels, falls er in dieser
Rubrik nicht korrekt untergebracht ist ;-)

-----------------------------------------------------------------------------



Re: Woher muddet wer? ;-) (Qitess, 26. Jun 2000, 18:57:53):
~#! rn=Liara rt=961969045 rg=entwicklung
~#! tid=961969045
find ich gut da ich wegen der flatrate jetzt nicht mehr aus bs sondern aus
t-online komme *wuerg*
QI**

-----------------------------------------------------------------------------



Re: Re: Woher muddet wer? ;-) (Leibniz, 26. Jun 2000, 20:28:04):
~#! rn=Qitess rt=962038673 rg=entwicklung
~#! tid=961969045
ich finde das auch gut. ich hatte das hate auch schon mal vorgeschlagen, als
ich immer aus erlangen (weiss der himmel wo das ist :) eingeloggt war. waere
toll, wenn es jetzt was wird.

leibi

-----------------------------------------------------------------------------



Re^3: Woher muddet wer? ;-) (Rikus, 26. Jun 2000, 21:37:51):
~#! rn=Leibniz rt=962044084 rg=entwicklung
~#! tid=961969045
ja, ich baus diese Tage ein :)

Rikus

-----------------------------------------------------------------------------



Re^3: Woher muddet wer? ;-) (Rardian, 30. Jun 2000, 16:26:48):
~#! rn=Leibniz rt=962044084 rg=entwicklung
~#! tid=961969045
Mir wurde gesagt, Erlangen laege irgendwo in Nordbayern... Habs aber noch
nicht verifizieren koennen / wollen...

Gruss,
  Rar.


-----------------------------------------------------------------------------



Re^4: Woher muddet wer? ;-) (Leibniz, 30. Jun 2000, 20:17:19):
~#! rn=Rardian rt=962375208 rg=entwicklung
~#! tid=961969045
bayern? das sind die, die weisswurst essen?
nee ich bleib dann doch lieber bei spaetzle :)


leibi

-----------------------------------------------------------------------------



Ort (Rochus,  1. Jul 2000, 13:43:34):
So, man kann jetzt mit dem Befehl "ort" etwas passenderes
als "[Telekom-Reseller]" angeben... 

  Rochus

-----------------------------------------------------------------------------



Re: Ort (Leibniz,  1. Jul 2000, 13:54:13):
~#! rn=Rochus rt=962451814 rg=entwicklung
~#! tid=962451814
DANKE!!!

leibi

-----------------------------------------------------------------------------



Re^4: Woher muddet wer? ;-) (Hight,  1. Jul 2000, 15:41:24):
~#! rn=Rardian rt=962375208 rg=entwicklung
~#! tid=961969045
wenn du uns hier in franken nochmal als bayern bezeichnest hau ich dir bei
naechster gelegenheit aufs auge *eg*

hight grummelnd

-----------------------------------------------------------------------------



Re: Ort (Rardian,  2. Jul 2000, 23:13:10):
~#! rn=Rochus rt=962451814 rg=entwicklung
~#! tid=962451814
Und warum steht bei mir jetzt "Deutschland" und nicht mehr "Berlin"? Jetzt sag
bitte nicht, dass es dafuer den neuen Befehl gibt :)

Gruss,
 Rardian.

-----------------------------------------------------------------------------



Textpad anyone? (Silvana,  5. Jul 2000, 17:46:20):
Salve

Fuer alle, die LPC mit dem Shareware-Texteditor Textpad (nicht zu verwechseln
mit Notepad!) programmieren, hab ich in /open/Software/Textpad das File
lpc.syn hinterlegt. Das ermoeglicht ein Syntax-Highlighting nach sieben
Kategorieen (Praeprocessorbefehle, reservierte Worte von C++, efuns, lfuns,
Properties, gaengige defines wie M_GO, Materialien/Classes). Es sollte dem
aktuellen Stand der Mudlib entsprechen. Fehlermeldungen bitte per mail an
mich.

  Silvana

-----------------------------------------------------------------------------



Re: Textpad anyone? (Pilgrim,  5. Jul 2000, 22:32:35):
~#! rn=Silvana rt=962811980 rg=entwicklung
~#! tid=962811980
Hi,

fuer alle, die den ShareWare Editor 'UltraEdit-32' benutzen
ist das File uebrigens (nach leichten Modifikationen) auch
nutzbar.

Pilgrim


-----------------------------------------------------------------------------



Re: Re: Textpad anyone? (Mupfel,  5. Jul 2000, 23:58:34):
~#! rn=Pilgrim rt=962829155 rg=entwicklung
~#! tid=962811980
Hat der UltraEdit nicht sogar nen direkten ftp-Anschluss a la Emacs? 

-mupfel-
,

-----------------------------------------------------------------------------



Re^3: Textpad anyone? (Pilgrim,  6. Jul 2000, 14:55:21):
~#! rn=Mupfel rt=962834314 rg=entwicklung
~#! tid=962811980
Ja,

UltraEdit hat sowas ... obwohl es auch andere Moeglichkeiten gibt, sowas
mit jedem beliebigen Editor zu machen ... mit dem ShareWare FileManager
'Windows Commander' ... ftp-Verbindung aufbauen, File anklicken 'F4' laed dann
den voreingestellten Editor, zieht sich das File runter und schiebt es dann
beim Schliessen des Files wieder rueber ...

Pilgrim

-----------------------------------------------------------------------------



Editoren unter Windows (Pilgrim,  6. Jul 2000, 15:09:02):
Hi,

nur zur Info all derer, die noch nach nem 'guten'
Texteditor suchen (mit dem man unter Windows z.B.
LPC Files fuers MUD editieren kann und i.d.R. vieles 
mehr ;-)). Alle Editoren beherschen (soweit ich weiss)
Syntax-Highlighting (FileEndungsSpezifisch: (*.c,
*.h);(*.bas);...usw). Fuer viele Sachen, z.B. latex, 
lisp, c, usw. sind die entsprchenden Steuerfiles schon dabei), 
die oft gebrauchte Funktion der Konversion von Windows/DOS/UNIX 
Textfiles (ich glaub auch alle LF/CR Konversion) und ganz viele
andere Features (Macos, Tools einbinden, z.T. Sortieren, Column-
EditMode (also Cut'N'Paste von echten Bloecken), ...........).

UltraEdit und TextPad liegen vom Funktionsumfang wohl (nach
kurzer Betrachtung von TextPad [den kannt ich vorher noch nicht])
gleichauf ... Editeur bietet nicht ganz so viel (ist dafuer
von Preis/Leistungsverhaeltnis wohl unschlagbar). Die andern beiden
richten sich (noch) viel mehr an Programmierer und bieten auch
'Projektmanagment' (halt wie bei den heutigen Hochsprachen-
Compilersystemen unter Windows ueblich) an.

Ich erlaube mir kein Urteil darueber, was wie bessere ist, dafuer
kenn ich die aktuellen Versionen nicht gut genug.

Was mir noch fehlte (oder kann das schon eine der aktuellen
Versionen) waere sowas, wie ne SyntaxVervolstaendigung ala
SetP -> SetProp(   ... oder in der Art.

Der UltraEdit beherrscht (m.W. nach) als einziger eine eingebaute
FTP-Edit ... das kann man aber auch mit den anderen beiden machen
(bzw mit allen Editoren), wenn man den 'Windows Commander' 
(http://www.ghisler.com/) (oder auch einige anderen) FileCommander 
unter Win9x nutzt (z.B.: NicosCommander http://www.nico2000.com/   ,
demnaechst wohl auch den Servant Salamander (schade ... der wird
wohl von FreeWare zu WerbeWare uebergehen)  
http://www.altap.cz/salam_en/newver.html   ... und was es da noch 
so gibt).


Pilgrim



UltraEdit-32 7.10b (Registrierung: 30 $ fuer 16bit UND 32bit):
http://www.ultraedit.com/

Editeur 4.24 (Registrierung:15 $ bzw 30 DM):
http://www.studioware.com/

TextPad 4.2.2 (Registrierung: 27 $ + MwSt):
http://www.textpad.com/


-----------------------------------------------------------------------------



Re: Editoren unter Windows (Boing,  6. Jul 2000, 15:22:49):
~#! rn=Pilgrim rt=962888942 rg=entwicklung
~#! tid=962888942
Der Emacs kann vervollstaendigen, vorausgesetzt er hat das was er
vervollstaendigen soll schon irgendwo in einem Buffer. Bei mehreren
Moeglichkeiten kann man durchsteppen.
  Boing

-----------------------------------------------------------------------------



Re: Re: Editoren unter Windows (Rikus,  6. Jul 2000, 15:24:46):
~#! rn=Boing rt=962889769 rg=entwicklung
~#! tid=962888942
und ist zu finden unter:
http://www.cs.washington.edu/homes/voelker/ntemacs.html

Rikus

-----------------------------------------------------------------------------



Re: Re: Editoren unter Windows (Pilgrim,  6. Jul 2000, 15:46:59):
~#! rn=Boing rt=962889769 rg=entwicklung
~#! tid=962888942
Ja,

ich weiss, das emacs das kann (und das es auch ne Portierung nach Win gibt),
aber ... der emacs ist nix fuer Leute, die den emacs nicht schon kennen
und zum lpc-Files editieren wohl etwas ZU maechtig. Ausserdem, warum
soll ich mir einen 20 MB grossen Editor auf die Platte packen ;-) ?

Als Notepad Ersatz kann man den emacs wohl kaum bezeichnen ;-)

Pilgrim

-----------------------------------------------------------------------------



Re^3: Editoren unter Windows (Boing,  6. Jul 2000, 15:47:29):
~#! rn=Pilgrim rt=962891219 rg=entwicklung
~#! tid=962888942
Das gebe ich gerne zu. :)
  Boing

-----------------------------------------------------------------------------



Re^3: Editoren unter Windows (Catweazle,  6. Jul 2000, 16:27:45):
~#! rn=Pilgrim rt=962891219 rg=entwicklung
~#! tid=962888942
Was hab ich da gestern gefunden?:
---
"Ich habe ja auch nie bezweifelt, dass emacs ein tolles Betriebssystem ist.
 Aber um mit Linux oder Windows konkurrieren zu koennen, fehlt ihm ein
 vernuenftiger Editor."
---
YTC

-----------------------------------------------------------------------------



Re^4: Editoren unter Windows (Gor,  6. Jul 2000, 16:44:11):
~#! rn=Catweazle rt=962893665 rg=entwicklung
~#! tid=962888942
Gibt es eigentlich einen schoenen Editor fuer Linux, mit dem man ebenso
schoene Sachen machen kann wie mit z.b. dem Textpad oder anderen Editoren, die
vorhin aufgefuehrt worden sind?

-----------------------------------------------------------------------------



Re^5: Editoren unter Windows (Rikus,  6. Jul 2000, 16:44:35):
~#! rn=Gor rt=962894651 rg=entwicklung
~#! tid=962888942
XEmacs :)

Rikus

-----------------------------------------------------------------------------



Re^5: Editoren unter Windows (Anatol,  6. Jul 2000, 16:44:55):
~#! rn=Gor rt=962894651 rg=entwicklung
~#! tid=962888942
Der ViM kann immerhin Syntax-Hiliting...

... und er ist bedeutend kleiner als XEmacs :)

Anatol

-----------------------------------------------------------------------------



Re^6: Editoren unter Windows (Jenandra,  6. Jul 2000, 16:45:45):
~#! rn=Anatol rt=962894695 rg=entwicklung
~#! tid=962888942
Jenandra ergaenzt das auf gvim, fuer die, die klickibunti moechten :-)

-----------------------------------------------------------------------------



Re^4: Editoren unter Windows (Gnome,  6. Jul 2000, 16:47:55):
~#! rn=Catweazle rt=962893665 rg=entwicklung
~#! tid=962888942
jaja... Escape Meta Alt Control Shift :)
aber ich mag den (x)emacs trotzdem. so.

gnOme

-----------------------------------------------------------------------------



Re^5: Editoren unter Windows (Pilgrim,  6. Jul 2000, 17:11:21):
~#! rn=Gnome rt=962894875 rg=entwicklung
~#! tid=962888942
Pilgrim bewundert jeden, der diese eierlegende Wollmilchsau bedienen kann. ;-)

-----------------------------------------------------------------------------



Re^5: Editoren unter Windows (Woody,  6. Jul 2000, 17:16:21):
~#! rn=Gor rt=962894651 rg=entwicklung
~#! tid=962888942
Auf Linuxberg (http://www.linuxberg.org/) kriegt man schon seit
einiger Zeit den CoolEdit auf der Einstiegsseite angepriesen,
soll X11 und bunt und so sein, ein kleiner Screenshot ist da
auch. Mehr weiss ich ueber den aber nicht. :o)

Woody.-


-----------------------------------------------------------------------------



Re^5: Editoren unter Windows (Pilgrim,  6. Jul 2000, 17:19:00):
~#! rn=Gor rt=962894651 rg=entwicklung
~#! tid=962888942
Bestimmt! (ohne jetzt genaues zu kennen) www.linuxberg.de ist bestimmt keine
schlechte Anlaufstelle fuer sowas ....

Programm of the week ist z.Z. CoolEdit (editor mit syntaxhighlighting ;-) )
http://news.tucows.com/ext2/00/06/articles/ext206142000.shtml

Man schaue halt mal unter end Eitorne da nach ...

Pilgrim

-----------------------------------------------------------------------------



Re^6: Editoren unter Windows (Pilgrim,  6. Jul 2000, 17:21:30):
~#! rn=Pilgrim rt=962896740 rg=entwicklung
~#! tid=962888942
Ups ... zu langsam ...

Aber es gibt noch andere ...
Z.B. Nedit    http://www.nedit.org/about/shots1.shtml

Pilgrim

-----------------------------------------------------------------------------



Re^6: Editoren unter Windows (Pra,  6. Jul 2000, 18:45:44):
~#! rn=Pilgrim rt=962896281 rg=entwicklung
~#! tid=962888942
Ich erinnere mich noch einen, der immer unter Emacs gemuddet hat
und es auch noch geschafft hat, mit Emacs einen Automapper zu bauen...

... hatte bloss die gleichen Probleme wie alle anderen Automapper auch :-(

Pra.


-----------------------------------------------------------------------------



Re^4: Editoren unter Windows (Grimmborn,  6. Jul 2000, 18:56:28):
~#! rn=Catweazle rt=962893665 rg=entwicklung
~#! tid=962888942
Wieso? Es gibt durchaus einen vi mode fuer emacs...

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re^7: Editoren unter Windows (Mesirii,  6. Jul 2000, 19:50:18):
~#! rn=Pra rt=962901944 rg=entwicklung
~#! tid=962888942
das war wohl Sique ;) der Herr des Emacs 
Mesi, hats mit eigenen Augen gesehn

-----------------------------------------------------------------------------



Re^5: Editoren unter Windows (Nonne,  7. Jul 2000, 09:32:05):
~#! rn=Gor rt=962894651 rg=entwicklung
~#! tid=962888942
Der ViM kann alles, ausser folding, aber das soll in der Version 6.0 kommen.
Macros schreiben ist super-simpel, die online-Hilfe ist eine Hilfe (huhu
Windows) und ich benutze den fuer alles, vom Programmieren bis Diplomarbeit
schreiben. VIM + GVim + ctags sind nur knapp ueber ein Megabyte download und
ist Charityware.
Schaut euch mal die Seiten an, ist schon imposant, was der alles kann.

Nonne.

-----------------------------------------------------------------------------



Re^6: Editoren unter Windows (Hate,  7. Jul 2000, 10:54:48):
~#! rn=Nonne rt=962955125 rg=entwicklung
~#! tid=962888942
Wisst ihr was mir sorgen macht? Das wir wohl bald viele daemlich ^M
in den MUD files haben ... Ich frage mich, wie man unter Windows
ueberhaupt entwickeln kann. Das ist immer superumstaendlich finde
ich. Keine ordentliche Kommandozeile, nix brrr ...

Hate.

-----------------------------------------------------------------------------



Re^7: Editoren unter Windows (Rikus,  7. Jul 2000, 10:55:42):
~#! rn=Hate rt=962960088 rg=entwicklung
~#! tid=962888942
in fast allen (besseren) editoren kann man eh auf unix-fileformat
umstellen.

Rikus

-----------------------------------------------------------------------------



Re^7: Editoren unter Windows (Gor,  7. Jul 2000, 10:59:32):
~#! rn=Hate rt=962960088 rg=entwicklung
~#! tid=962888942
Dafuer gibt es zum einen Linefeed Konverter die das rauswerfen. Zum anderen
koennen die meisten der aufgefuehrten Editoren direkt als LF speichern und
zudem zeigen z.b. die Terminals auf der Suse 6.4 und RedHat 6.1 die ^M beim
betrachten nicht an. :)

-----------------------------------------------------------------------------



Re^8: Editoren unter Windows (Hate,  7. Jul 2000, 11:09:56):
~#! rn=Rikus rt=962960142 rg=entwicklung
~#! tid=962888942
Aber wer von denen die hier fragen macht das auch?

Hate.

-----------------------------------------------------------------------------



Re^7: Editoren unter Windows (Silvana,  7. Jul 2000, 11:12:36):
~#! rn=Hate rt=962960088 rg=entwicklung
~#! tid=962888942
Ach Hate... Ein vernueftiger Editor kann UNIX-Mode. Egal in welcheln System.

Silvana

PS: Ja, Textpad kann das.

-----------------------------------------------------------------------------



Re^8: Editoren unter Windows (Pra,  7. Jul 2000, 11:13:56):
~#! rn=Mesirii rt=962905818 rg=entwicklung
~#! tid=962888942
nope, es war Trurl. Mehr begeistert von Emacs als vom MG :-)

Pra.

-----------------------------------------------------------------------------



Re^9: Editoren unter Windows (Hate,  7. Jul 2000, 11:16:26):
~#! rn=Pra rt=962961236 rg=entwicklung
~#! tid=962888942
Zur not lass ich recode ueber alle sourcefiles laufen :-)
Hate.

-----------------------------------------------------------------------------



Re^10: Editoren unter Windows (Tiamak,  7. Jul 2000, 11:47:35):
~#! rn=Hate rt=962961386 rg=entwicklung
~#! tid=962888942
Normalerweise sollte das FTP sogar die Umwandlung uebernehmen.
Wenn nicht die meisten "schlauen" FTP-Clients per Default 'bin' als
Uebertragungsart naehmen anstatt 'ascii' ...


Tiamak

-----------------------------------------------------------------------------



Re^11: Editoren unter Windows (Gor,  7. Jul 2000, 11:50:11):
~#! rn=Tiamak rt=962963255 rg=entwicklung
~#! tid=962888942
Die Umwandlung vom Ftp ist grosser Muell. Das Ding hat mir schon mehr als
einmal Files zerschossen, deshalb schieb ich nur noch im Binary. Was
eigentlich auch kein Problem ist, wenn die Files 'sauber' sind.

-----------------------------------------------------------------------------



Re^12: Editoren unter Windows (Tiamak,  7. Jul 2000, 11:51:29):
~#! rn=Gor rt=962963411 rg=entwicklung
~#! tid=962888942
Oh, ist sie?

Ist mir nie aufgefallen. Naja, ich editiere ja auch nicht unter Windoofs. ;^)


Tiamak

-----------------------------------------------------------------------------



Re^12: Editoren unter Windows (Pra,  7. Jul 2000, 11:53:39):
~#! rn=Gor rt=962963411 rg=entwicklung
~#! tid=962888942
was fuer einen ftp-client benutzt du denn? Das der ASCII-Mode Muell
produziert, hoer ich zum ersten Mal.

Pra. Erinnert sich noch an ftp auf EBCDIC-Rechner...

-----------------------------------------------------------------------------



Re^13: Editoren unter Windows (Gor,  7. Jul 2000, 12:00:30):
~#! rn=Pra rt=962963619 rg=entwicklung
~#! tid=962888942
Dosftp von Windows Cute-Ftp Ws-Ftp..... gingen alle nich...

-----------------------------------------------------------------------------



Re^7: Editoren unter Windows (Hood,  7. Jul 2000, 14:13:29):
~#! rn=Hate rt=962960088 rg=entwicklung
~#! tid=962888942
na ja, schreib nen ftp-filter fuer die dingers :)

-----------------------------------------------------------------------------



Re^7: Editoren unter Windows (Apsu,  7. Jul 2000, 14:30:03):
~#! rn=Jenandra rt=962894745 rg=entwicklung
~#! tid=962888942
IHHHH welcher User, der was auf sich haelt, moechte schon
Psychoklickibuntiplacebo? ;-)

Apsu, konnte sich nicht bremsen :)

-----------------------------------------------------------------------------



Re^8: Editoren unter Windows (Gor,  7. Jul 2000, 14:31:13):
~#! rn=Apsu rt=962973003 rg=entwicklung
~#! tid=962888942
Ich bin kein User also darf ich auch Klickibunti machen :)

-----------------------------------------------------------------------------



Re^7: Editoren unter Windows (Hight,  7. Jul 2000, 14:53:05):
~#! rn=Hate rt=962960088 rg=entwicklung
~#! tid=962888942
nerja geht doch *g* ich hab die ersten paar monate pine benuzt ,o) 
das is lustich ... vorallem wenn du was suchst von dem du net so genau weisst
wos steht ,o)

hight sich mit grausen zurueckerinnernd

-----------------------------------------------------------------------------



Re^8: Editoren unter Windows (Acrimon, 10. Jul 2000, 20:00:16):
~#! rn=Hight rt=962974385 rg=entwicklung
~#! tid=962888942
Nanu? pine ist gut. Und wenn Du Deine Mails nicht nach Themen in Foldern
sortierst, dann kann pine immer noch eine bestimmte Mail suchen.
Aber ein mailfilter koennte etwas fuer Dich sein, der sortiert automatisch.
Versuch mal "procmail".

Acrimon

-----------------------------------------------------------------------------



Re^9: Editoren unter Windows (Grimmborn, 10. Jul 2000, 20:33:27):
~#! rn=Acrimon rt=963252016 rg=entwicklung
~#! tid=962888942
Nein, pine ist nicht gut. Instabil. Und het gelegentlich Probleme mit
MIME-headern. Und wenn man es mit pgp/gnupg verwenden will muss man schon
ziemlich akrobatisch sein.

Grimmborn der Atheist (jahrelange pine-Betreuung, und immer noch pine im
Einsatz)

-----------------------------------------------------------------------------



Re^10: Editoren unter Windows (Woody, 10. Jul 2000, 22:35:45):
~#! rn=Grimmborn rt=963254007 rg=entwicklung
~#! tid=962888942
Komisch. Mir ist pine in 6 Jahren noch nie abgestuerzt. Und hatte
auch nie Probleme mit MIME Headern (und ich krieg viel verschiedenes
Zeug rein, sehr viel). Und pgp mit dem pinepgp package ist eigentlich
auch relativ zumutbar. Was mach ich falsch?

Woody (2636 in der INBOX und 3 Dutzend folders... _einmal_ das
mit Netscape Messenger versucht habend *rotfl*)


-----------------------------------------------------------------------------



Re^11: Editoren unter Windows (Anatol, 10. Jul 2000, 23:37:21):
~#! rn=Woody rt=963261345 rg=entwicklung
~#! tid=962888942
Netscape Messenger ist keine Alternative. :) Du argumentierst ja
auch nicht: Windows 95 ist toll, soll CP/M das mal versuchen! ;)

Anatol - der Pine wegwarf, weil es nicht *wirklich* ohne MTA auskommt

-----------------------------------------------------------------------------



Re^12: Editoren unter Windows (Acrimon, 11. Jul 2000, 05:03:15):
~#! rn=Anatol rt=963265041 rg=entwicklung
~#! tid=962888942
Zwei *echte* Alternativen zu pine sind:
mutt (Unix) und
YAM (Amiga).

Acrimon

-----------------------------------------------------------------------------



Re^13: Editoren unter Windows (Hate, 11. Jul 2000, 07:47:58):
~#! rn=Acrimon rt=963284595 rg=entwicklung
~#! tid=962888942
Also ich bin mit webfontend und outlook eigentlich ganz gluecklich :-)
Ist aber auch kein normaler mailserver dahinter sondern schon etwas mehr.

Hate.

-----------------------------------------------------------------------------



Spielertitel und Seherberufe (Obermotz, 11. Jul 2000, 10:41:03):
Hi allerseits,

vor 1 oder 2 Monaten wurde hier ja ueber die Anforderungen fuer den
Seherstatus diskutiert (Ergebnis: es bleibt so, wie es mom ist). Da in
absehbarer Zeit die Spieler Level 40 haben, wenn sie Seher werden, sollten
fuer die Level 20-40 vielleicht mal neue Titel eingefuehrt werden.
20 Level mit "angehender Seher" ist vielleicht etwas Langweilig.
Und noch ne Frage: Wie steht es eigentlich mit den mal diskutierten
Seherberufe?

Obermotz doch schon erstaunlich lange Seher und hat ein Herz fuer diese armen,
kleinen, bemitleidenswerten Spieler ;-)

-----------------------------------------------------------------------------



Re: Spielertitel und Seherberufe (Silvana, 11. Jul 2000, 10:45:11):
~#! rn=Obermotz rt=963304863 rg=entwicklung
~#! tid=963304863
Neue Titel sind gar kein Problem einzubauen, wohl aber sich 40 maennliche wie
weibliche Titel auszudenken, die moeglichst nicht mit irgendwelchen Gilden
kollidieren. Wenn jemand das sammeln und sortieren von Titeln uebernimmt,
wuerd ich mich wohl um das einbauen kuemmern. ;-)

Was die Seherberufe angeht, muss ich mich enthalten. Dazu bin ich zu lang raus
aus der Diskussion.

  Silvana

-----------------------------------------------------------------------------



Re: Re: Spielertitel und Seherberufe (Wargon, 11. Jul 2000, 17:44:11):
~#! rn=Silvana rt=963305111 rg=entwicklung
~#! tid=963304863
Zu den Seherberufen hatten wir damals mal ne Umfrage gemacht, aber irgendwie
lief es darauf hinaus, dass jeder einen anderen Berufswunsch hatte und die
Ueberschneidungen nur minimal waren.
Ausserdem hatten Cat und ich uns mal ein Warenkreislauf- und Handelssystem
ueberlegt (quasi als Analogon zum Geldkreislauf), in das sich Spieler dann
Berufsmaessig einklinken koennen, allerdings ist das hochgradig nichttrivial
sowohl in der Planung als auch und vor allem in der Umsetzung :)
(Wenn sich jetzt ein Haufen unterbeschaeftigter Magier angesprochen fuehlt:
frisch ans Werk!)
  Wargon

-----------------------------------------------------------------------------



Re^4: Spielertitel und Seherberufe (Wargon, 11. Jul 2000, 18:19:55):
~#! rn=Deepblue rt=963330551 rg=entwicklung
~#! tid=963304863
So wars auch gedacht. Irgendwo gabs da auch mal ein schriftliches Konzept,
oder haette geben sollen... Catty?
  Wargon

-----------------------------------------------------------------------------



Re^5: Spielertitel und Seherberufe (Catweazle, 12. Jul 2000, 08:44:12):
~#! rn=Wargon rt=963332395 rg=entwicklung
~#! tid=963304863
Theoretisch hab ich das noch irgendwo. Morgoth hat davon auch mal 
ne Kopie bekommen. Ohne weitere Erlaeuterungen versteht das aber 
sowieso keiner. Wollnwer am WE noch mal ne Gehirnstuermung 
machen? :-)

YTC

-----------------------------------------------------------------------------



Re^6: Spielertitel und Seherberufe (Muadib, 12. Jul 2000, 13:55:10):
~#! rn=Catweazle rt=963384252 rg=entwicklung
~#! tid=963304863
ist das ein seminarvorschlag fuer berlin?

muadib *missverstehend?*

-----------------------------------------------------------------------------



Re^5: Woher muddet wer? ;-) (Uran, 17. Jul 2000, 22:44:25):
~#! rn=Hight rt=962458884 rg=entwicklung
~#! tid=961969045
gab es dafr nicht eine Arena ? ;-) 

-----------------------------------------------------------------------------



"ort" (Dieder, 18. Jul 2000, 02:12:46):
Hiho,

also ich finde ja den Befehl ganz ok fuer unsere Kiddies, die hier von den
diversen INet-Anbietern anrauschen ;)
allerdings wird bei mir der Herkunftsort zerstueckelt. Ich habe ihn
standardmaessig auf "Arsch der Welt" gestellt, was in meinem Fall auch passt
und korrekt angezeigt wird (ob das sinnig ist, dass sich jeder Spieler
fantasiemaessig da nen Schmarrn setzen kann sei mal dahingestellt), aber
"cwer" (chaoswer) geht anscheinend nach wie vor auf die alte Methode
(IP-Tabelle, login.c wasweissich :)) und zeigt statt "Furtwangen" nunmehr
"Furtwan" an.

Ja ich weiss, ne Kleinigkeit, aber vielleicht koennte das wer mal fixen - und
wenn der Ortsbefehl ueberdacht werden wuerde waere ich auch nicht boese, denn
aus welchen Gefilden hier die Leute rumspringen, da kann man nicht mehr
sinnvoll was rauslesen im Moment ;)

Dieder

-----------------------------------------------------------------------------



Re: "ort" (Anatol, 18. Jul 2000, 08:48:58):
~#! rn=Dieder rt=963879166 rg=entwicklung
~#! tid=963879166
Es ist eine vielleicht "Kleinigkeit", liegt aber nicht in den Haenden
des Muds - sorry, Dieder, Du wirst mit Deinem Arsch leben muessen. ;)

Anatol

-----------------------------------------------------------------------------



rattenpatch (Patryn, 18. Jul 2000, 19:11:22):
ich hab die ratten mal belehrt, dass der zu durchschaubare focus auch
variiert werden kann und nebenher noch paar bugs entfernt (und dazugebaut).
vorsicht also mit dem dort ueblichen spieler-schild-trick.
dafuer ist rein-raus dort nun erlaubt, weil das teil eh seine eigene
methode hat, damit umzugehen. evtl. koennte man es jetzt auch wieder
allein schaffen, so wie frueher mal projektiert.

-----
patryn

-----------------------------------------------------------------------------



Re: "ort" (Bierchen, 18. Jul 2000, 20:37:27):
~#! rn=Dieder rt=963879166 rg=entwicklung
~#! tid=963879166
hiho,
ne, das 'chaoswer' benutzt schon das neu 'ort', aber ein wenig anders. nur
beidenen, deren provider in eine unserer schwarzen listen steht, tja, bei
denen fragen wir das neue ort ab. bei den anderen benutzen wir die alte
methode und bei dir steht da eben was komisches drin :)
gruss,
   - Bierchen -

-----------------------------------------------------------------------------



Re: Re: "ort" (Dieder, 19. Jul 2000, 00:35:59):
~#! rn=Bierchen rt=963945447 rg=entwicklung
~#! tid=963879166
hm, dann scheint bei der alten Methode einiges schiefzulaufen, immerhin komme
ich von einem serioesen Hochschul-Provider.
Bin aber auch nicht der einzige, man fingere z.B. Lug (loesch Dich, btw.
-:))), der kommt seit neuestem aus Marb statt aus Marburg... scheint also
irgendwie ein Problem zu sein dass die letzten Zeichen abgeschnitten werden -
wie bei mir eben Furtwan anstatt von Furtwangen.

Kosmetisches Problem, nicht wirklich wichtig, ich weiss ;)

Dieder

-----------------------------------------------------------------------------



Re^3: "ort" (Tiamak, 19. Jul 2000, 15:09:59):
~#! rn=Dieder rt=963959759 rg=entwicklung
~#! tid=963879166
Die "alte Methode" hatte seit dem Umzug der Whois-Datenbank fuer .de zum Denic
so ihre Probleme, da dabei etwas am Format geaendert wurde. 

Hate hat das externe Skript jetzt angepasst. Alle *neuen* Abfragen sollten
jetzt wieder funktionieren. Da das Mud die Daten aber zwei Wochen cached,
werden die verstuemmelten Daten erst nach und nach aussterben.


Tiamak

-----------------------------------------------------------------------------



monsterschulung (Patryn, 20. Jul 2000, 15:41:17):
eigentlich mag ich ja nix dazu schreiben, aber ehe dann wieder jemand
evtl. zurecht doch auf dem falschen fuss erwischt wird:
vorsicht bei meinen monstern, sie haben fast alle ein veraendertes
verhalten bezueglich blindheit, taubheit, paralyse, global attacks und son
kleinkram. reinrauskampf ist ueberall wieder moeglich, wo die npcs ihre
eigenen vorkehrungen dagegen treffen, sonst waer das ja doppelmoppel.
und nein, ich hab keinerlei staerken irgendwie veraendert.

-----------------------------------------------------------------------------



Re: monsterschulung (Tiamak, 20. Jul 2000, 15:43:02):
~#! rn=Patryn rt=964100477 rg=entwicklung
~#! tid=964100477
Wie war das noch? 
Du bastelst nicht nachtraeglich an Deinen Monstern herum, ausser, um Bugs
auszubauen? Oder verwechsel ich da wieder was?


Tiamak. Geht mal MPA-Archive waelzen. :-)

-----------------------------------------------------------------------------



Re: Re: monsterschulung (Obermotz, 20. Jul 2000, 15:45:42):
~#! rn=Tiamak rt=964100582 rg=entwicklung
~#! tid=964100477
Ich habe dort jetzt zwar noch nicht gemetzelt, aber trotzdem:

Monster abwerten!

Obermotz wollte es eigentlich gleich nach Schmarrn schreiben

-----------------------------------------------------------------------------



Re: Re: monsterschulung (Patryn, 20. Jul 2000, 16:01:17):
~#! rn=Tiamak rt=964100582 rg=entwicklung
~#! tid=964100477
* reinraus-sperre gabs frueher nich in der lib
* paralyse wird nun nicht mehr secured per default (war wegen gewissem tool)
  sondern halt normal abgeschuettelt oder was weiss ich
* gegen taubheit vorzugehen ist mehr nen feature fuer infos und co
* blindheit koennte zukuenftig doch mal auswirkungen zeigen die nicht
  vorgesehen sind
u.s.w.  ...alles in allem mehr ein bug und feature-fixing wuerd ich meinen

-----------------------------------------------------------------------------



Re^3: monsterschulung (Tiamak, 20. Jul 2000, 16:04:51):
~#! rn=Patryn rt=964101677 rg=entwicklung
~#! tid=964100477
Hupsa ... das klingt ja richtig spielerfreundlich.


Tiamak. Nimmt alles zurueck und behauptet das Gegenteil.

-----------------------------------------------------------------------------



Re^4: monsterschulung (Patryn, 20. Jul 2000, 16:30:50):
~#! rn=Tiamak rt=964101891 rg=entwicklung
~#! tid=964100477
das hab ich nich gesagt, wohlweisslich hab ich das global attack
verschiegen :) inzwischen gibts mir da etwas zu viele sachen/spells...
nun ja, ich wusste es: warum warne ich die leute ueberhaupt *g*

-----------------------------------------------------------------------------



Re^3: "ort" (Lug, 21. Jul 2000, 00:35:06):
~#! rn=Dieder rt=963959759 rg=entwicklung
~#! tid=963879166

Und dabei komme ich eigentlich aus Oldenburg ...

LD
Lug

-----------------------------------------------------------------------------



MPA (Tiamak, 21. Jul 2000, 15:50:41):
Dank Woody kann man jetzt in der MPA nach Artikeln mit bestimmten Titeln
suchen (z.B. "inhalt schmarrn suche ort" ;-).

Funktioniert mit jeder neuen MPA. Sprich: ende/Reboot/Crash oder einfach
verbrennen und ne neue nehmen. ;-)


Tiamak

-----------------------------------------------------------------------------



Re: MPA (Wurzel, 23. Jul 2000, 23:36:23):
~#! rn=Tiamak rt=964187441 rg=entwicklung
~#! tid=964187441
fehlt nur noch der spelling checker :)
damit sich vielleicht doch mal jemand findet, der das macht, ein kleiner
ansporn: 1 magnum-flasche veuve clicquot winkt als preis :)

wurzel

-----------------------------------------------------------------------------



Re: Re: MPA (Gloinson, 24. Jul 2000, 03:41:21):
~#! rn=Wurzel rt=964388183 rg=entwicklung
~#! tid=964187441
Kann man das auch ueber ein externes Programm loesen? :) Dann brauchen wir nur
einen EM ueberreden, haengen ... aehm ... z.B. den Word-Spellchecker ran und
trinken in Berlin blubbriges Wasser (wahlweise begiessen wir damit auch den
realisierenden EM).

Gloinson

-----------------------------------------------------------------------------



schau -f (Silvana, 26. Jul 2000, 19:52:45):
Salve

Es gibt eine kleine, neue Option bei 'schau'. Mit 'schau -f' wird nach wie vor
die Langbeschreibung des Raumes angezeigt, dabei werden die im  Raum liegenden
Objekte jedoch nicht mehr sortiert. Das kann von Vorteil sein, wenn
beispielsweise dutzende von Schwertern im Raum liegen und man wissen will,
welches man nun mit 'nimm schwert 3' nehmen wuerde.

Wie ueblich wird die Aenderung erst nach dem naechsten 'ende' / Crash / Reboot
aktiv. Zusaetzlich gilt die Aenderungs aber auch _nur_ fuer neu geladene
Raeume (also erst nach dem naechsten Reboot/Crash flaechendeckend).

  Silvana

-----------------------------------------------------------------------------



Re: schau -f (Dieder, 26. Jul 2000, 19:54:14):
~#! rn=Silvana rt=964633965 rg=entwicklung
~#! tid=964633965
Subba!

Das nenn ich mal ne sinnvolle Ergaenzung.

Dieder, dankend.

-----------------------------------------------------------------------------



Re: schau -f (Foobar, 27. Jul 2000, 05:26:58):
~#! rn=Silvana rt=964633965 rg=entwicklung
~#! tid=964633965
Moin.

Richtig froh waere ich, wenn man das ganze auch noch irgendwie auf Container
erweitern koennte, damit ich auch hier 'nimm axt 3' zufriedenstellend machen
kann.

Falls das schon geht, vergesst den oberen Satz ;o) , ich bin mir aber ziemlich
sicher dass es nicht geht. Oder ich was bisher nur zu doof...

Gruss,

     Foobar

-----------------------------------------------------------------------------



Fband (Tiamak, 28. Jul 2000, 18:47:25):
Hiho!

Auf mehrfachen Wunsch der Freunde von Morgoth :-) gibt es eine neue Option
beim Fband. Wie immer nach schlafe ein/ende/reboot/crash verfuegbar.


Tiamak

-----------------------------------------------------------------------------



Umlaute in Artikeln (Tiamak,  1. Aug 2000, 13:52:27):
~#! rn=Deepblue rt=965124814 rg=witze
~#! tid=965124814
Hiho!

Da ich es leid bin, ewig verstuemmelte Witze lesen zu muessen, wandelt die MPA
ab sofort (genauer: neue Exemplare der MPA) Umlaute in ihre lesbaren
Aequivalente um. 


Tiamak

P.S: Sorry, Acrimon. Das "s wird in ss gewandelt und nicht in sz. ;^)

-----------------------------------------------------------------------------



Re: rattenpatch (Dieder,  2. Aug 2000, 00:15:51):
~#! rn=Patryn rt=963940282 rg=entwicklung
~#! tid=963940282
Also ich war jetzt 4mal dabei, 3mal an einem Abend waren wir komplett
erfolgreich (Para), das 4te Mal heute (auch Para) nicht.
Die ersten 3 Mal haben wir es  dank eines heftig grossen Teams geschafft
(nebenbei sind 2 Ersties und 2 Zweities abgeraucht, aber das gehoert ja dazu),
heute jedoch hatten wir in einem durchaus nicht zu verachtenden Team (2
Chaoten, 2 Kaempfer, dazu noch "Kleinkram" (Kleriker) *grins chaotisch*) keine
Chance.
Ich weiss nicht wie Du auf die Idee kommst, dass man das alleine schaffen
koennte - alleine schon wegen den Resets und wegen der Heilung.
Aber vielleicht gibts ja nur nen Trick, den halt nur gewisse Spieler *hust*
kennen, die dann das Blut abgraben koennen/sollen und den halt sonst keiner
findet?

Dieder

PS1: mit "4Mal" meine ich "4 Mal seit dem Anederungsartikel"
PS2: ich bin keiner der auf das Blut scharf ist, ich hab lediglich die Kills
geholt und geholfen

-----------------------------------------------------------------------------



Re: Re: rattenpatch (Patryn,  2. Aug 2000, 19:57:43):
~#! rn=Dieder rt=965168151 rg=entwicklung
~#! tid=963940282
also frueher ging das mal, und da es ohne ari und ohne flaechenspells ging,
gehe ich mal davon aus, dass die jetzigen aenderungen da nichts dran
gedreht haben. werd mal bei gelegenheit mitmetzelnd oder alleinmetzelnd
mein glueck versuchen, aber zeit ist leider wegen eines praktikums grad
reichlich knapp bemessen und ihr wollt doch auch wieder neue npcs haben,
die natuerlich noch staerker sind ;)

-----------------------------------------------------------------------------



Re^3: rattenpatch (Golas,  2. Aug 2000, 20:11:26):
~#! rn=Patryn rt=965239063 rg=entwicklung
~#! tid=963940282
kommen wir zu einem zentralen problem:
ich hab zwar grad keine zeit, aber ich hab da eben mal was geaendert. ich
teste es dann demnaechst mal.

willkommen in hause mircosoft. test beim kunden.

golas ueber solche vorgehensweise hoch veraergert.

-----------------------------------------------------------------------------



Re^3: rattenpatch (Matis,  2. Aug 2000, 20:12:20):
~#! rn=Patryn rt=965239063 rg=entwicklung
~#! tid=963940282
Patryn, du bist doch einer der eifrigen Verfechter der Meinung, 
dass viel zu viele Monster unbegruendet magische Angriffe
einfach abwehren - das seh ich uebrigens auch so. Aber warum
gehen denn bei den Ratten nun ploetzlich keine Flaechenspells
mehr? Da gibt es nicht den Ansatz einer Begruendung bisher.
"Wasser predigen und Wein trinken" sag ich da nur. Willst du 
was aendern, dann solltest du mit gutem Beispiel vorangehen.
Und nicht im Nachhinein die gleichen, von dir einst kritisierten 
Methoden ergreifen ...

Matis

-----------------------------------------------------------------------------



Re^4: rattenpatch (Patryn,  2. Aug 2000, 21:04:09):
~#! rn=Matis rt=965239940 rg=entwicklung
~#! tid=963940282
begruendung:
wer die ratten hinreichend kennt, der weiss, dass sie sich nach einer
ziemlich speziellen taktik verteidigen. wenn man gut beobachtet und
huebsch lernt, dann werden die immer einfacher.
zugegeben: das ist natuerlich in einem gewissen umfang bei jedem npc so,
aber ich hoffe doch, es bei meinen npcs in dieser hinsicht viel
weiter getrieben zu haben. ich erachte es als eine art miniquest, die
ratten und aehnliche zu toeten. natuerlich kann man von vornherein nicht
alles beruecksichtigen und manches im mud entwickelt sich natuerlich
auch weiter, nicht immer im sinne des urspruenglichen konzeptes,
siehe zb diverse quests und erschaffe-befehle (zauberer/seherbeutel).
bei den ratten zb untergraebt ein flaechenspells, der bei vielen gegnern
nicht auch wirklich sehr schwach auf den einzelnen wirkt, voll entgegen
dem urspruenglichen konzept. der haertefall waren natuerlich die
anfaenglichen vodoonadeln, aber es gibt ja wohl inzwischen genug andere
interessante sachen auf dem gebiet.
ich werd mir mal was einfallen lassen, was nicht einem totalabklemmen
entspricht. die koenigin wird halt rollenspieltechnisch was dazulernen,
mal schaun.
im uebrigen war bereits im konzept ein eigenes vorgehen gegen rein-raus
vorgesehen bzw. ist es sogar ein gewisses metzelelement an der stelle.
folgerichtig habe das juengere lib-verankerte rein-raus-unterbinden
einfach abgeklemmt...zwar eine abwertung, aber halt im sinne eines
vernuenftigen konzeptes.
hmmm....ich hab mich irgendwie schon wieder verzettelt, man merkt schon,
ich schreib halt drauflos :) also summasummarum werd ich da noch mal
was tun, aber die flaechenspells bleiben mehr oder dann halt weniger
ausgebaut soweit ich das bestimmen darf (padreic hat dudu gemacht)
dass man damit wohl dinge macht die nicht vorgesehen waren sieht man ja
an der reaktion...

-----------------------------------------------------------------------------



Re^4: rattenpatch (Patryn,  2. Aug 2000, 21:10:55):
~#! rn=Golas rt=965239886 rg=entwicklung
~#! tid=963940282
natuerlich ists schlecht auf jeden artikel argumentativ einzugehen, ist
ja fast nen schuldgestaendnis ;)
aber nun ja: es muss raus *g*
dass du aepfel mit birnen vergleichst erkennt jeder selbst, das ist auch
nicht der punkt. die behauptung hingegen, ich wuere nicht testen, kann
ich wohl kaum so stehenlassen. ich hab lediglich eine sperre gegen
etwas eingebaut was frueher nicht benutzt wurde.
wenn ihr die jetzt nicht mehr schafft, macht ihr irgendwas falsch wuerd
ich meinen. natuerlich haben sich die gindenmoeglichkeiten und tools
ueber die zeit leicht veraendert, manches auch zum staerkemaessig
schlechteren. nur deshalb erachte ich es ueberhaupt als notwendig das
noch mal zu probieren. dass ich die ratten frueher selbst oft
gemetzelt habe war da doch nen ziemliches entgegenkommen, welcher
magier macht das schon gross?!
und nein, ich habs nich wegen dem blut gemacht. sinnvoll war das auch
damals nur in bereichen des vollskills und das war mir von vorherein
deutlich zu krank *g*

-----------------------------------------------------------------------------



Re^5: rattenpatch (Matis,  2. Aug 2000, 21:55:08):
~#! rn=Patryn rt=965243049 rg=entwicklung
~#! tid=963940282
"... aber die flaechenspells bleiben mehr oder dann halt weniger
ausgebaut soweit ich das bestimmen darf (padreic hat dudu gemacht)
dass man damit wohl dinge macht die nicht vorgesehen waren sieht 
man ja an der reaktion... "

Klar, du kannst - vor allem in Para - mit deinen NPCs veranstalten
was du willst. Aber obiges Zitat versteh ich nicht. Wenn ich, mit 
einem Klerikercharakter z.B., bei deinen Ratten rumdonner und dann
dabei jede der Ratten treffe, dann ist das aus meiner Sicht genau
die Intention hinter Donner. Flaechenspells sind Flaechenspells sind
Flaechenspells. Und es gab sie, wenn ich mich nicht total irre, auch
schon zum Anschlusszeitpunkt der Ratten. Was bitte ist also bei der
Nutzung von derartigen Zaubern nicht vorgesehen gewesen?

Zumindest ein Satz wie "Eine Ratte opfert sich heldenhaft und 
faengt den gesamten Angriff auf." waere schoen - die Ratte muss ja
in Wirklichkeit gar nicht den Schaden der anderen mit abkriegen. 

Aber egal, ich bin ja noch in der Lernphase, mal sehen ob das bei 
einem Zwerg zu etwas fuehrt ;o).

Matis






-----------------------------------------------------------------------------



Re^6: rattenpatch (Patryn,  2. Aug 2000, 22:28:14):
~#! rn=Matis rt=965246108 rg=entwicklung
~#! tid=963940282
es war nicht vorgesehen, dass man alle ratten mit einem spell gleichmaessig
runterhaut, das soll man schoen selbst koordinieren.
 (geht donner uebrigens nich noch wegen b...?)
man denkt halt nicht gleich an alles. der wandler hatte zb anfangs auch
global attack erlaubt, das sich da keiner beschwert hat dass ich das
spaeter ausgebaut hat, war nicht nur zu erwarten sondern auch logisch...
wie gesagt, ich lass mir noch mal was einfallen.
scheinbar erzeugen meine npcs inzwischen eine gewisse qualitative
erwartungshaltung...ich moechte jetzt nicht wissen, wieviele einfach
diverse P_NO_props in diversen npcs gesetzt haben, was ich natuerlich nicht
darf ;))
ich moechte nachwievor, dass die ratten nach einer bestimmten
vorgehensweise gemetzelt werde. die darf leicht variieren, aber die
flaechenspells fallen da keinesfalls drunter.
auch in zukunft sehe ich aenderungen durchaus als angebracht, die
ein konzeptionell vorgesehenes metzeln sichern. darunter gehoeren
zb nicht neugoodies ala bannkreis@delfen, sofern sie denn angeschlossen
werden.

-----------------------------------------------------------------------------



Re^7: rattenpatch (Isis,  2. Aug 2000, 22:41:17):
~#! rn=Patryn rt=965248094 rg=entwicklung
~#! tid=963940282
b...? was meinst du? 
Donner funzt nich...das weiss ich zumindest...

Hera

-----------------------------------------------------------------------------



Re^7: rattenpatch (Gnome,  2. Aug 2000, 23:17:18):
~#! rn=Patryn rt=965248094 rg=entwicklung
~#! tid=963940282
es waere wirklich zu tragisch, wenn die einzelnen gilden ihre ganz
besonderen features bei harten monstern einsetzen koennten.
dafuer sind naemlich die einzelnen verschiedenen gilden da, falls du
das noch nicht bemerkt haben solltest.

das erinnert mich immer wieder daran, dass an allen ecken und enden das
'erschaffe' von den zaubis abgefangen wird. wozu gibt es dann den spell
ueberhaupt?

jetzt wehren die ratten nicht nur RD sondern auch noch flaechenspells ab,
einfach laecherlich.

gnOme

-----------------------------------------------------------------------------



Re^8: rattenpatch (Padreic,  2. Aug 2000, 23:38:01):
~#! rn=Gnome rt=965251038 rg=entwicklung
~#! tid=963940282
Patryn hat doch bereits gesagt, er wird die Sache noch einmal ueberarbeiten,
insofern solltet ihr diesen Thread bis dahin dann auch einfach mal auf Eis
legen und dann schaun wenns soweit ist.

Padreic, nur noch den Kopf schuettelnd...

-----------------------------------------------------------------------------



Re^9: rattenpatch (Dieder,  2. Aug 2000, 23:40:17):
~#! rn=Padreic rt=965252281 rg=entwicklung
~#! tid=963940282
ich schuettel da nicht den Kopf.
Ich seh das durchaus positiv, dass die Diskussion weiterlaeuft - vielleicht
werden naemlich dadurch Anregungen bei der Anederung bereits beruecksichtig -
insofern macht das IMHO durchaus Sinn.

Dieder

-----------------------------------------------------------------------------



Re^10: rattenpatch (Padreic,  2. Aug 2000, 23:41:39):
~#! rn=Dieder rt=965252417 rg=entwicklung
~#! tid=963940282
Wie lang bist Du jetzt dabei Dieder? Also das die mpa nicht der richtige Ort
fuer konstruktive Vorschlaege ist, sollte inzwischen doch auch an Dein Ohr
gedrungen sein...

Pad*

-----------------------------------------------------------------------------



Re^11: rattenpatch (Dieder,  2. Aug 2000, 23:43:17):
~#! rn=Padreic rt=965252499 rg=entwicklung
~#! tid=963940282
lang genug, Padreic, insofern kenn ich das Problem :)
Aber ich geb halt a) die Hoffnung nie auf und b) wirst Du auch zugeben
muessen, dass hier teilweise durchaus gute Ideen und Ansaetze verbreitet
wurden...
_teilweise_ *g*

Nen Versuch ists wert :)
Dieder

-----------------------------------------------------------------------------



Re^9: rattenpatch (Golas,  2. Aug 2000, 23:46:10):
~#! rn=Padreic rt=965252281 rg=entwicklung
~#! tid=963940282
und wieso kann er das nicht machen, bevor er halbfertige sachen anschliesst.
bestes beispiel, dass sowas in die hose geht ist die karategilde.


-----------------------------------------------------------------------------



Re^11: rattenpatch (Anatol,  2. Aug 2000, 23:47:50):
~#! rn=Padreic rt=965252499 rg=entwicklung
~#! tid=963940282
Nur weil gewisse nichtgenannten Ex-Erzmagier nicht in der Lage sind,
ueber Vorschlaege, die sie im Nachhinein schlecht als ihre eigene Ideen
verkaufen koennen, ernsthaft nachzudenken, ist die Idee der oeffentlichen
nicht per se schlecht. Es ist richtig, oft stoeren gedankenlose "just for
fun"-Kommentare ganz massiv, aber auch das heisst nicht, dass nichts bei
einer solchen Diskussion herauskommen kann.

Anatol

-----------------------------------------------------------------------------



Re^11: rattenpatch (Catweazle,  2. Aug 2000, 23:49:32):
~#! rn=Padreic rt=965252499 rg=entwicklung
~#! tid=963940282
Sorry, ich muss das textlich ausweiten, sonst wirds ein Einzeiler:

Die MPA war schon _immer_ der richtige Ort fuer _konstruktive_ Kritik!!!!

Setzen, Sechs, YTC

-----------------------------------------------------------------------------



Re^8: rattenpatch (Patryn,  3. Aug 2000, 01:43:24):
~#! rn=Gnome rt=965251038 rg=entwicklung
~#! tid=963940282
wenn karateka mit rueckendeckung nicht quasi unverwundbar waeren, haette
ich mich nie genoetigt gefuehlt, rd auszubauen...ja haette...
ich hab auch gar nichts gegen den einsatz der gildenfaehigkeiten,
nur halt im rahmen gewisser grenzen bei den viechern mit eigenem
killkonzept.

-----------------------------------------------------------------------------



Re^10: rattenpatch (Patryn,  3. Aug 2000, 01:49:08):
~#! rn=Golas rt=965252770 rg=entwicklung
~#! tid=963940282
was heisst halbfertig. ich persoenlich habe den patch als fertig angesehen,
schliesslich setzt die halbe welt nur einfach p_no_props wo es ihnen
passt und ich habe keinerlei sachen geaendert, die beim damaligen sehr
umfangreichen test jetzt negativ reinschlagen wuerden.

-----------------------------------------------------------------------------



Re^9: rattenpatch (Gnome,  3. Aug 2000, 09:33:14):
~#! rn=Patryn rt=965259804 rg=entwicklung
~#! tid=963940282
ja und?
dann sind karateka halt mal dort extrem im vorteil. das ist doch auch der
sinn der gildenfaehigkeiten. und hier mal im speziellen der karate-gilde:
sie sind halt gegen physikalischen schaden gut gefeit.
und auch die RD der kaempfer zielt daraufhin ab: den physikalischen
des gedeckten schaden nochmals zu minimieren.

und unverwundbar ist er dort bestimmt nicht, dafuer laesst die dicke ratte
nette verletze-walzen auf einen herab, die besonders dem karateka wohl
nicht schmecken duerften...

gnOme

-----------------------------------------------------------------------------



Re^10: rattenpatch (Anatol,  3. Aug 2000, 10:36:24):
~#! rn=Gnome rt=965287994 rg=entwicklung
~#! tid=963940282
Tja, Patryn, jetzt hast Du es gesagt bekommen. Du wolltest, dass Spieler
eine Strategie entwickeln, um Deine Haustiere zu meucheln, und genau
das haben sie getan. Wieso soll die Strategie der Spieler falsch sein,
wo Du doch die Ratten anscheinend genau auf Karateka abgestimmt hast
- und diese Strategie die Sache nicht einfacher macht als Du vorgesehen
hattest (immerhin killst Du die Viecher ALLEINE, behauptest Du). [1]

Und bitte, Patryn. Bleibe bei der Wahrheit. EIGENTLICH stoert es Dich
doch nicht, dass Karateka in einem High-Level-Konflikt mal nicht mehr
oder weniger automatisch steinalt und sehr tot aussehen. Dich stoert,
dass man Karateka so furchtbar einfach steuern kann und manche Spieler
neben ihrem Hauptcharakter "mal eben" einen Karateka mitschleifen und
ihr Potential damit ungerechtfertigt stark vergroessern. Das scheint
mir aber ein anderes Problem zu sein. Eines, das man _nicht_ loest,
in dem man gezielt relevante Gilden(team)faehigkeiten ausblendet.

Anatol

[1] Die Ratten kenne ich nicht wirklich, aber ich kenne die Karateka.
    Und muss Gnome widersprechen ;^)


-----------------------------------------------------------------------------



Re^3: rattenpatch (Darkwing,  3. Aug 2000, 13:19:47):
~#! rn=Patryn rt=965239063 rg=entwicklung
~#! tid=963940282
Hm, Du sagst bei Deinen Monstern lernt man mit der Zeit, dadurch wird es
einfacher. Stimmt ja auch.... nur passt es Dir offensichtlich ueberhaupt nicht
in den Kram wenn denn mal jemand eine Taktik gefunden hat, bei der nicht mehr
viel Risiko dabei ist. Ist ja wohl nach dem 100xten Mal Ratten metzeln kein
Wunder.

Das Ausbauen der Flaechenspells ist jetzt die dritte oder vierte Aenderung bei
den Ratten, nach der ich mir eine voellig andere Vorgehensweise ueberlegen
muss. Ich hab das Gefuehl Du nimmst da nur die 3 Leute als Massstab, die den
Skill auf 100 haben und wo die Ratten mehr oder weniger Routine sind. Was
diese Leute angeht... die finden einen Weg, da kannst Du machen was Du willst.
Kostet eben ein paar armen Karatekas in der Testphase gelegentlich den Kopf.

BTW: Die Ratten in der jetztigen Form macht niemand alleine. Mach weiter so
und die naechste Taktik die Du ausbauen darfst ist die Brute Force Variante.

Darkwing

-----------------------------------------------------------------------------



Re^10: rattenpatch (Patryn,  3. Aug 2000, 13:26:30):
~#! rn=Gnome rt=965287994 rg=entwicklung
~#! tid=963940282
der mix aus karateka+rueckendeckung+fokus der ratten war leider derart
unangebracht stark, dass sich bestimmte spieler mir gegenueber schon
amuesiert darueber aeusserten, ob ich das dann nich doch mal umbaun
wolle. es ist wohl kaum zu bestreiten, dass diese kombination dort
ein superbequemes perfektes schutzschild darstellten.
wer das nicht einsehen kann oder will, der hat es nie wirklich gesehen.

-----------------------------------------------------------------------------



Re^11: rattenpatch (Tiamak,  3. Aug 2000, 13:58:30):
~#! rn=Patryn rt=965301990 rg=entwicklung
~#! tid=963940282
Da diese eine "toedliche" Kombination so super stark war, hast Du auch
sicherlich speziell gegen diese eine Kombination etwas unternommen und nicht
etwa eine Gildenfaehigkeit komplett gesperrt, obwohl diese eine Faehigkeit
auch bei den Ratten immer noch sehr sinnvoll waere, wenn sie auf andere
Charaktere als ausgerechnet auf Karateka angewendet wuerde.

Oder?


Tiamak. Nur neugierig.

-----------------------------------------------------------------------------



Re^12: rattenpatch (Hight,  3. Aug 2000, 15:15:46):
~#! rn=Tiamak rt=965303910 rg=entwicklung
~#! tid=963940282
etz geb ich doch meinen senf dazu 

ich finde die ratten haben nach der abwertung eh nurnoch wenig intersse
geweckt (zumindest net wegen dem blut) 
aber ob es unbinding so gedacht war das ein der ewigen komponenten nurnoch
fuer 3 oder 4 leute erreichber 
bezweifel ich doch ganz stark .
und sag jetzt nicht das ewige komponenten _immer_ schwer zu erreichen sein
muessen ,... das ist dann definitv gelogen alle anderen die mir so einfallen
sind kein alzugrosser aufwand wenn man sie holen will.

ich weiss ich bin hauptsaechlich kaempfer. Aber es kann doch net angehen das
eine komponente, die vor einger zeit von mehreren zauberern benutzt wurde, nun
nurnoch fuer den elitaeren kreis derer erreichbar ist, die eine komplette
armee aufbieten koennen.

mach was du willst mit deinen ratten aber ueberleg mal ob du den blutstein
nicht woanders hinpackst 

Hight nurnoch verletzend

-----------------------------------------------------------------------------



Re^13: rattenpatch (Patryn,  3. Aug 2000, 17:04:10):
~#! rn=Hight rt=965308546 rg=entwicklung
~#! tid=963940282
die antwort zu tiamak:
 ich hab rueckendeckung allgemein abgefangen mit einem gewissen vorgehen
der ratten. es waere recht fraglich, wenn die ratten erst caster- und
zielgilde untersuchen...oder? hmmm ja, da kann man sicher verschiedene
meinungen vertreten. zumindest war es so stark, dass sogar spieler
anfingen, mir laechelnd einen diesbezueglichen hinweis zu verpassen,
was ja nun nicht grad haeufigst vorkommt :)
auf gor: dass es ueberhaupt einen ewigen blutstein gibt, ist ueberhaupt
nur dem vorhandensein eines solchen npcs zu verdanken, nicht speziell der
ratten an sich, aber dem vorhandensein eines sehr schwer zu besiegenden
gegners.

-----------------------------------------------------------------------------



Re^14: rattenpatch (Tiamak,  3. Aug 2000, 21:00:56):
~#! rn=Patryn rt=965315050 rg=entwicklung
~#! tid=963940282
Ja, in der Tat. Ratten, die sich das vermeintlich schwaechste Opfer
herauspicken und es dann - weil es zufaellig ein super geschuetzter Karateka
ist und sie deshalb nicht durchkommen - wutentbrannt noch staerker
attackieren, sind ziemlich fraglich.

Aber dass die Ratten erkennen, wer sich da gegenseitig auf welche Art schuetzt
und dann gezielt dagegen vorgehen, das klingt schon viel eher nach Ratten in
meinen Ohren. Hast Recht. 

Ich hab zwar noch keine Ratten gesehen, die in der Lage sind, alle
gleichzeitig auf Kommando in einer kleinen Hoehle einem Erdbeben auszuweichen,
aber ich bin ja auch kein Biologe.


Tiamak. Hat noch viel ueber Ratten zu lernen.

-----------------------------------------------------------------------------



Re^9: rattenpatch (Ark,  3. Aug 2000, 21:58:08):
~#! rn=Patryn rt=965259804 rg=entwicklung
~#! tid=963940282
Hm, ich kenne weder die Ratten noch das dazugehoerige "Kill-Konzept", aber was
ist das eigentlich, ein "Kill-Konzept"? Heisst das (polemisch formuliert),
dass man eine Schmetterlingsherde zunaechst in der Gruppe mit Feuerangriffen
bewirft, damit sie niedriger fliegt, sie dann isoliert und mit mechanischen
Schadensarten traktiert, um die Fluegel zu beschaedigen, daraufhin mit
Stichwaffen aufreisst und sie dann einfriert, damit sie von den Toten nicht
mehr auferstehen? Wer wuerde eine solche Taktik mit bloeden Schmetterlingen in
Verbindung bringen? Wenn man verzweifelt alles ausprobiert hat, kommt man
sicher auf ein solches Konzept, kratzt sich dann aber am Kopf und fragt sich,
warum meinethalben die Viecher ueberhaupt nicht auf Saeure reagieren (ist halt
nicht im Konzept?!).
Ich gebe zu, dass das Beispiel haarstraeubend ist und an den gleichen Haaren
herbeigezogen, es soll auch nur demonstrieren, dass ein "Konzept" eines
Magiers nicht unbedingt der Logik (soviel unterstell ich unseren Spielern mal,
gewagt!!!) des Durchschnittsspielers entspricht. Sollte man das mal bedenken?!


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^15: rattenpatch (Patryn,  3. Aug 2000, 22:01:48):
~#! rn=Tiamak rt=965329256 rg=entwicklung
~#! tid=963940282
na das freut mich doch, dass du es besser machen wirst. das klingt doch
schon richtig gut. jeder hat natuerlich das recht, etwas besser und
schoener und flexibler zu programmieren.

------
patryn, gespannt

-----------------------------------------------------------------------------



Re^14: rattenpatch (Hight,  3. Aug 2000, 23:16:38):
~#! rn=Patryn rt=965315050 rg=entwicklung
~#! tid=963940282
so entschuldige anatol ich mach absofort die augen beim lesen wieder auf ...
nochmal

PATRYN du $%$$ ! ICH BIN NICHT GOR (gott sei dank) ,o)

-----------------------------------------------------------------------------



Re^15: rattenpatch (Patryn,  3. Aug 2000, 23:19:36):
~#! rn=Hight rt=965337398 rg=entwicklung
~#! tid=963940282
lass man, ich habs auch erst nach mehreren hinweisen mitbekommen...
...du hast allerdings viel laenger bebraucht, deshalb hab ichs dabei
belassen :)

-----------------------------------------------------------------------------



Ort V1.0 (Tiamak,  5. Aug 2000, 23:02:54):
Mahlzeit!

Der "finger"-Befehl zeigt die selbst gesetzten Orte jetzt als
Zusatzinformation an und nicht mehr als Ersatz. Ein "kwer in bonn" erwischt
nun alle, die entweder laut Whois aus Bonn kommen oder sich den Ort selber
gesetzt haben. Die Ausgabe von "wer" zeigt die Angabe aehnlich wie beim
"finger" - lediglich im Kurzformat passte nicht beides rein. Sorry. ;-)

Gueltig ist alles ab sofort. Lediglich die leicht ueberarbeitete Syntax und
Ausgabe des "ort"-Befehl selber gibt es erst ab ende/crash/reboot.


Tiamak

-----------------------------------------------------------------------------



Re: Umlaute in Artikeln (Acrimon,  7. Aug 2000, 22:10:43):
~#! rn=Tiamak rt=965130747 rg=entwicklung
~#! tid=965124814
> P.S: Sorry, Acrimon. Das "s wird in ss gewandelt und nicht in sz. ;^)

Zum Umgehen dieses Bugs empfehle ich, folgende Zeile in .tfrc einzutragen:

/def -b\0337 = /input sz

Acrimon

-----------------------------------------------------------------------------



schau und mehr (Silvana,  7. Aug 2000, 23:03:02):
Zunaechst einmal moechte ich Euch die Lektuere von "hilfe schau" ans Herz
legen. Teilweise werden die Aenderungen mit "ende" aktiv, das Zusammenfassen
von Behaelter-Inhalten tut aber erst nach dem naechsten reboot/crash.

Und nun noch eine Frage: Es kam der Vorschlag, bei "punkte" (also der Kurzform
von "info"), anstelle der Abenteuer-Punkte den Charakter (Alignment)
anzuzeigen, da sich letzterer oefter aendert als die Abenteuerpunktzahl -
jedenfalls bei Spielern hoeherer Grade... ;-)

Was meint Ihr dazu?

  Silvana

-----------------------------------------------------------------------------



Re: schau und mehr (Leibniz,  7. Aug 2000, 23:05:14):
~#! rn=Silvana rt=965682182 rg=entwicklung
~#! tid=965682182
gute idee

leibi - knurz und knapp

-----------------------------------------------------------------------------



Re: schau und mehr (Tilly,  7. Aug 2000, 23:05:46):
~#! rn=Silvana rt=965682182 rg=entwicklung
~#! tid=965682182
Hmmm, 
kann man den Charakter nich noch rechts neben die Todesfolgen schieben? 
Da waer doch Platz.

-----------------------------------------------------------------------------



Re: schau und mehr (Vanion,  7. Aug 2000, 23:07:58):
~#! rn=Silvana rt=965682182 rg=entwicklung
~#! tid=965682182
Naja, dann steht er unten rechts und bei info oben rechts - da muss man sich
umgewoehnen.

V*, im HMI-Script blaetternd.

-----------------------------------------------------------------------------



Re: Re: Umlaute in Artikeln (Zarniya,  8. Aug 2000, 10:46:01):
~#! rn=Acrimon rt=965679043 rg=entwicklung
~#! tid=965124814
Zum Umgehen dieses Bugs empfehle ich, folgende Zeile einfach mal so
einzutippen:

ignoriere acrimon


-----------------------------------------------------------------------------



Re: Re: schau und mehr (Roadrunner,  8. Aug 2000, 12:35:56):
~#! rn=Tilly rt=965682346 rg=entwicklung
~#! tid=965682182
nein - da steht die fluchtrichtung. wenn man die ap aus der kurzinfo rausnimmt
und dann auch die positionen von character und ap im info vertauscht ist doch
alles wieder konsistent

ansonsten: Dafuer

RR

-----------------------------------------------------------------------------



Re^3: schau und mehr (Silvana,  8. Aug 2000, 12:41:14):
~#! rn=Roadrunner rt=965730956 rg=entwicklung
~#! tid=965682182
Da die beiden Ausgaben von der gleichen Funktion produziert werden, wird es in
jedem Fall eine Form von Austausch sein, ja. :)

  Silvana

-----------------------------------------------------------------------------



Rassenhilfe (Deepblue, 10. Aug 2000, 11:34:49):
Koennten die Hilfen zu den Rassen, die beim einloggen eines neuen Charakters
angeboten werden, bitte auch im normalen Hilfesystem eingebaut werden?
Deep*, Einsatzend

-----------------------------------------------------------------------------



Re: schau und mehr (Silvana, 10. Aug 2000, 12:07:32):
~#! rn=Silvana rt=965682182 rg=entwicklung
~#! tid=965682182
So, nachdem es keinen Widerspruch zum Austausch von Abenteuerpunkten gegen
Align in der score/info/punkte-Anzeige gab, sind die beiden Anzeigen jetzt
ausgetauscht. Nebenbei hat's noch eine etwas unsaubere Abfrage erlegt.

Have fun - Silvana.

-----------------------------------------------------------------------------



Re: Re: schau und mehr (Silvana, 10. Aug 2000, 12:08:53):
~#! rn=Silvana rt=965902052 rg=entwicklung
~#! tid=965682182
Ach ja: Wie ueblich erst ab renew/reboot/crash/ende - whatever comes first.

  Silvana

-----------------------------------------------------------------------------



Re: Re: schau und mehr (Tiamak, 10. Aug 2000, 13:02:11):
~#! rn=Silvana rt=965902052 rg=entwicklung
~#! tid=965682182
Bevor mich jetzt jeder einzeln loechert: die neuen Ausgaben sind im neuen
info.tf schon enthalten. Also nicht meckern, sondern neu saugen. ;-)


i.V. Tiamak

-----------------------------------------------------------------------------



Re^8: rattenpatch (Teddy, 10. Aug 2000, 20:21:14):
~#! rn=Gnome rt=965251038 rg=entwicklung
~#! tid=963940282
Hm, das war da schon immer modern.
Ratte haben auch schon immer (imho jedenfalls) Daemonen oder Schatten sofort
gezappt.

Teddy

-----------------------------------------------------------------------------



Re^11: rattenpatch (Teddy, 10. Aug 2000, 20:25:12):
~#! rn=Patryn rt=965301990 rg=entwicklung
~#! tid=963940282
Super, willst du dann die naechsten Methoden auch noch ausbauen?

Teddy, kennt da noch nen ganzen Sack voll, seinen physikalischen Schutz zu
erhoehen.

-----------------------------------------------------------------------------



Re^12: rattenpatch (Nicolai, 10. Aug 2000, 20:31:21):
~#! rn=Teddy rt=965931912 rg=entwicklung
~#! tid=963940282
Sorry, aber ich versteh die ganze Aufregung nicht. Sicher ist
es aergerlich, wenn die gewohnt Methode ploetzlich nicht mehr
so linear durchziehbar ist, wie bisher. Aber wenn der Magier,
der das geproggt hat sagt: 'Sorry Leute, da gibts einen Weg,
den ich so nicht bedacht habe,lasst mich dass mal nachbessern
Dann sollte das doch einzusehen sein?!
Vor allem, wenn die ganze Sache dann _wirklich_ einfach wird.
(Besonders wenns um so einen immer noch heftigen Skill geht).

Wenn der verantwortliche Magier weiter sagt, dass da jetzt 
rein-raus geht, warum soll man ihm das nicht glauben, und mal
ein paar neue Methoden versuchen? (Zumal man auch noch darauf
hingewiesen wird, dass die Ratten sowieso ein bisschen anders
als gewohnt, zu behandlen sind).

.nicolai.       

-----------------------------------------------------------------------------



Re^13: rattenpatch (Darkwing, 10. Aug 2000, 21:33:25):
~#! rn=Nicolai rt=965932281 rg=entwicklung
~#! tid=963940282
hngl, Du weisst ja gar nicht von was Du redest. Es geht nicht um den Karateka
mit Rueckendeckung, der im uebrigen auch weit entfernt von unsterblich war.
Rein/raus ist doch ein Witz wenn gleichzeitig die Flaechenspells abgefangen
werden.

Nunja mit diversen versteckten Features der Zauberergilde und dem Spellbook
von '95 gehts sicher locker alleine :-)

-----------------------------------------------------------------------------



teile xyz@anderes_mud mit (Silvana, 11. Aug 2000, 13:23:02):
Salve

Kleine Aenderung beim teile mit aus anderen Muds:
  Es wird nun _erst_ geprueft, ob eine Meldung ueberhaupt ankommt (also nicht
ignoriert wird oder der Empfaenger taub ist) und dann erst aus solche Dinge
wie "Weg-Meldung" oder Idlezeiten getestet.
Nebenbei hab ich den Code etwas... bereinigt. ;-)
Falls andere MUDs noch das alte /secure/udp/tell.c aus dem MG verwenden: Im
naechsten Release wird die neue Version dabei sein und wer's schneller haben
will, soll sich an mich wenden.

Ach ja, probiert doch mal nen bisschen damit rum. Wenn Euch noch was unlogisch
erscheint, mail an mich.

  Silvana

-----------------------------------------------------------------------------



Re: teile xyz@anderes_mud mit (Silvana, 11. Aug 2000, 15:40:51):
~#! rn=Silvana rt=965992982 rg=entwicklung
~#! tid=965992982
Kleiner Nachtrage:
"erwidere" funktioniere nun auch mit teile-mit's aus anderen MUDs. Ist unter
Umstaenden vielleicht etwas gewoehnungsbeduerftig.

Dieser Teil gilt wie ueblich erst ab renew/reboot/crash/ende - whatever comes
first.

  Silvana

-----------------------------------------------------------------------------



Login (Deepblue, 14. Aug 2000, 14:34:32):
Koennte man bei der Auflistung der anwesenden Freunde und erwartenden beim
Login  mit nem (i) die Idler kennzeichnen?

-----------------------------------------------------------------------------



MPA (Dieder, 17. Aug 2000, 22:44:44):
Hi,

weiss nicht wie aufwendig sowas ist, aber koennte man evtl. die Loeschfunktion
der MPA etwas aendern? Ich hab grad aus Versehen statt "d 20" "d2-" getippt
(bin abgerutscht), und prompt ist statt dem 20. der zweite Brief weg... und da
hier Loeschen nach /dev/null geht ist sowas hoechst aergerlich. Koennte dieser
Parameter beim Loeschen nicht besser abgefragt werden?

Nur so als Anregung.
Dieder

-----------------------------------------------------------------------------



Re: MPA (Flintnail, 28. Aug 2000, 11:02:17):
~#! rn=Dieder rt=966545084 rg=entwicklung
~#! tid=966545084
Hi,

..und da kommt sie wieder, die:

 ...'Wollen Sie dieses XXX wirklich loeschen'-Kleinweich-Diskussion?

FLint*  abwartend

-----------------------------------------------------------------------------



Re: Re: MPA (Tiamak, 28. Aug 2000, 11:12:13):
~#! rn=Flintnail rt=967453337 rg=entwicklung
~#! tid=966545084
So eine Diskussion ist ueberfluessig, da ich fuer die neue Version des Mailers
schon ewig geplant hab, dass geloeschte Mails in einen "Trash"-Ordner
verschoben und erst beim Verlassen des Mailers endgueltig geloescht werden.

Mich wundert eigentlich nur, dass der Vorschlag erst jetzt kommt. Bisher
dachte ich schon, dass ich der einzige bin, der sich beim Mailfolder-
Aufraeumen gelegentlich vertippt. ;^)


Tiamak

-----------------------------------------------------------------------------



Re^3: MPA (Silvana, 28. Aug 2000, 11:46:26):
~#! rn=Tiamak rt=967453933 rg=entwicklung
~#! tid=966545084
Nein, bist Du nicht. Die meisten sind nur zu feige, das laut zu sagen... ;-)

  Silvana (weiss, wieso sie wichtige mails nach Hause forwardet)

-----------------------------------------------------------------------------



Re^3: MPA (Dieder, 28. Aug 2000, 15:16:15):
~#! rn=Tiamak rt=967453933 rg=entwicklung
~#! tid=966545084
oh, fein :-)

"sowohl" insofern, dass ich a) nicht der Einzige bin, und b) es geaendert
wird. :)

Dieder

-----------------------------------------------------------------------------



Re^4: MPA (Rardian, 30. Aug 2000, 21:17:05):
~#! rn=Silvana rt=967455986 rg=entwicklung
~#! tid=966545084
Hu, da bist du aber ganz schoen mutig: "d" und "f" liegen verdammt nah
beieinander ... ;)

Rar.

-----------------------------------------------------------------------------



Re^4: MPA (Silvana, 30. Aug 2000, 23:31:09):
~#! rn=Silvana rt=967455986 rg=entwicklung
~#! tid=966545084
Keine Sorge, das "d me" fuehrt nicht zur Selbstloeschung. ;-)

  Silvana

-----------------------------------------------------------------------------



Re: Re: MPA (Kobayashi,  9. Sep 2000, 16:41:23):
~#! rn=Flintnail rt=967453337 rg=entwicklung
~#! tid=966545084
Ist wohl voellig unnoetig. Schiesslich laeuft das hier auf einem UNIX/Linux
System, und deren Philisophie ist: 
Du hast es so gewollt, da hast du es!

Koba

-----------------------------------------------------------------------------



Merkwuerdige Dinge passieren im Rittergut. (Schleicher, 19. Sep 2000, 00:53:42):
Tja wie ich heute von einem mir bekanntem Kaempfer erfahren habe, soll
angeblich die Haelfte meines Personals nicht nur beim Bodybuilding gewesen
sein sondern auch noch irgendwie Kontakt zu irgendwelchen Raeubern gehabt
haben. Man munkelt auch das meine Tochter da ihre chaotischen Finger mit im
Spiel hatte, aber wie gesagt ich weiss auch nix genaues, wenn es wer
feststellt soll er sich vertrauensvoll an irgendwen wenden nur nicht an mich
da mein Personal inner NPC-Gewerkschaft ist ist es denen eh egal was ich
sage.Die kommen mir immer gleich mit:"Wir muessen uns ja nicht von jedem
Minispieler umhaun lassen." Naja mir isses egal und Euch hab ich gewarnt...
Schleicher (nach Diktat verreist!)

-----------------------------------------------------------------------------



Loescht sie! (Catweazle, 29. Sep 2000, 08:34:33):
~#! on=Lug ot=970177185 og=allgemeines

Loescht sie endlich! Diese Magierbrut, die unsere geliebte MPA mit
unmoralischem und unsittlichem Muell anfuellt. Niemals werden wir vom Kommitte
zur Reinhaltung des MUDS solche Schande dulden!

Schluss mit Schmutz und Schund!
Lug

-----------------------------------------------------------------------------



Timber... (Silvana, 30. Sep 2000, 21:32:48):
KLATSCH - Ein Baum faellt (ins Wasser?).

Ich verweise auf "hilfe zeitzone". Auch wenn's nicht viele Leute brauchen
werden. ;-)

Wie ueblich erst nach reboot/renew/ende/crash verfuegbar. Whatever comes
first.

Silvana

-----------------------------------------------------------------------------



F-Band (Rayzeel,  7. Okt 2000, 15:59:27):
Hallo. Ich weiss nicht, ob das schon mal vorgeschlagen wurde, aber kann man
nicht dem Freundschafts- und Feindschaftsband eine erwarte-Funktion zufuegen?
Ich faende es gut, wenn ich gleich sehen wuerde, wenn ein Freund oder Feind
sich einloggt, ohne ihn auch noch auf die erwarte-Liste setzen zu muessen!
Danke im Voraus, Ray**

-----------------------------------------------------------------------------



Re: F-Band (Tiamak,  7. Okt 2000, 16:17:29):
~#! rn=Rayzeel rt=970927167 rg=entwicklung
~#! tid=970927167
Einen allgemeinen Erwarte-"Zwang" aller Freunde werde ich schon aus dem Grund
nicht einbauen, weil ich von Leuten weiss, die 'Erwartete' und Freunde
absichtlich trennen. Wenn, dann muesste es also konfigurierbar werden, damit
jeder Spieler selber entscheiden kann, wie er es haben moechte.

Damit sind wir vom Aufwand her (fuer den Spieler) aber wieder beim ganz
normalen Erwarte-Befehl. Nur, dass ich zusaetzliche Arbeit haette. ;-)


Tiamak. Nicht wirklich ueberzeugt von dem Vorschlag.

-----------------------------------------------------------------------------



Re: Re: F-Band (Larissa,  8. Okt 2000, 12:45:10):
~#! rn=Tiamak rt=970928249 rg=entwicklung
~#! tid=970927167
Hm,

warum? Wenn mans nur ein-und ausschalten kann ist Rayzeel gedient, und wers
nicht will, der muss ja nicht.

Lari.

-----------------------------------------------------------------------------



Re^3: F-Band (Feuerwehr,  8. Okt 2000, 23:00:38):
~#! rn=Larissa rt=971001910 rg=entwicklung
~#! tid=970927167

Ein "erwarte freunde" waere schon ein nettes feature.

Dafuer muesste aber bei jedem Einloggenden Spieler die Liste aller seiner
Freunde durchgegangen werden, und bei allen Freunden dann die komplette
Erwarte-Liste ... oeh ... obwohl die ja sowieso durchgegangen wird ...
eigentlich doch garnicht so aufwendig ... fuer Tiamak sicher in Klacks ...
denkt man so ... 

    Feuerwehr. Nicht ganz da. Aber auch nicht ganz weg.

-----------------------------------------------------------------------------



2/1 Hand (Sky, 11. Okt 2000, 00:49:26):

Bei Waffen, die wahlweise einhaendig oder zweihaendig gezueckt werden 
koennen kommt die Abfrage wie man es zuecken will auch, wenn man nur 
eine Hand frei hat. Also wenn man zB ein Schild traegt oder eben nur 
eine Hand hat :) Koennte man das vielleicht irgendwo irgendwie 
einbauen? 

-----------------------------------------------------------------------------



Re: 2/1 Hand (Lillebror, 11. Okt 2000, 11:24:05):
~#! rn=Sky rt=971218166 rg=entwicklung
~#! tid=971218166
An sich keine schlechte Idee, aber das ein- bzw. zweihaendige zuecken einer
Waffe ist (soweit ich weiss) nicht Mudintern geregelt sondern beruht auf einer
Art Standard-Waffe von Calum. Schreib dem lieber ne Mail, dann baut er es
vielleicht auch ein :-)

-----------------------------------------------------------------------------



Re: Re: 2/1 Hand (Calum, 11. Okt 2000, 18:51:02):
~#! rn=Lillebror rt=971256245 rg=entwicklung
~#! tid=971218166
Argl. Ich wusste nicht mal, dass ueberhaupt Waffen angeschlossen sind,
die meinen 1 1/2-Haender inheriten. Wie dem auch sei, Zeit zum Einbauen 
hab ich nicht, und da ich seit > 2 Jahren auch keine Zeile LPC mehr
geschrieben habe, ueberlasse ich das aus Gruenden der Fehlerfreiheit
lieber jemandem, der sich mit sowas auskennt...

 - Calum (Magier in Rente) -

-----------------------------------------------------------------------------



Spielpause (Silvana, 16. Okt 2000, 20:36:49):
Salve

Eines der neuen Features, die mit dem Reboot aktiv werden, ist jetzt in "hilfe
spielpause" dokumentiert. Das soll aber keine Aufforderung sein, davon
reichlich Gebrauch zu machen. ;-)

  Silvana

-----------------------------------------------------------------------------



Emailadresse (Silvana, 16. Okt 2000, 21:31:08):
hilfe emailanzeige
Aktiv nach dem Reboot.
Ich weise darauf hin, dass bisher nur der Befehl funktioniert. Die Aenderung
des finger-Befehls kommt noch, kann aber auch problemlos nach dem Reboot
erfolgen. Also keine Panik, wenn der Finger nach dem Reboot noch so aussieht,
wie bisher. Ich arbeite dran.

  Silvana

-----------------------------------------------------------------------------



Re: Re: *g* (Deepblue, 21. Nov 2000, 16:05:59):
~#! rn=Zarniya rt=974794623 rg=witze
~#! tid=974742721
Hiess es nicht mal, dass die MPA jetzt Umlaute in was lesbares umsetzt? Oder
kommt das erst?
Deep (verwirrt)

-----------------------------------------------------------------------------



Neuer Befehl "ausruestung" (Nachtwind,  6. Dez 2000, 22:56:02):
Hiho,

es gibt den neuen Befehl "ausruestung", der - wer haette es gedacht -
die getragene Ausruestung anzeigt, und zwar in graphischer Form.
Wer derlei noch nicht getan hat, schalte gegebenenfalls mit "stty ansi"
Farben ein, dann sieht das noch etwas netter aus.
Das ist alles noch etwas im Rohbau und wird noch erweitert, aber ich
dachte ihr koennt euch das schonmal ansehen. Geplant sind zumindest
noch verschiedene Grafiken fuer verschiedene Arten von Ruestungen/Waffen.
Wer's gar nicht mag, darf diesen Befehl natuerlich auch ignorieren. ;)

Die Geschichte funktioniert wie immer erst nach "ende"/renew/reboot.

Bugs oder Ideen bitte per mail an mich.

Nachtwind.

-----------------------------------------------------------------------------



Re: Neuer Befehl "ausruestung" (Ark,  6. Dez 2000, 23:06:24):
~#! rn=Nachtwind rt=976139762 rg=entwicklung
~#! tid=976139762
He, das wird hier ja immer mehr Baldurs Gate (oder aehnliches). Sieht echt gut
aus *lob* :-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: Re: Neuer Befehl "ausruestung" (Rardian,  7. Dez 2000, 13:18:59):
~#! rn=Ark rt=976140384 rg=entwicklung
~#! tid=976139762
Genau! Gleich mal nen weibliche Charakter einloggen! ;)

Rar.

-----------------------------------------------------------------------------



Re: Neuer Befehl "ausruestung" (Tsunami,  7. Dez 2000, 21:26:46):
~#! rn=Nachtwind rt=976139762 rg=entwicklung
~#! tid=976139762
Wow!! Weiter so, Nachtwind.

Tsunami, gratulierend.

-----------------------------------------------------------------------------



Re: Neuer Befehl "ausruestung" (Rayzeel,  7. Dez 2000, 22:51:21):
~#! rn=Nachtwind rt=976139762 rg=entwicklung
~#! tid=976139762
Sehr schick! Danke, Nachtwind!

Ray**, Zufrieden

-----------------------------------------------------------------------------



entschaerftes gebiet (Bierchen, 27. Dez 2000, 00:59:53):
hiho
ab sofort gibt es als nachtraegliches weihnachtsgeschenk keine para-magieinsel
mehr :)
gruss,
  - Bierchen -

-----------------------------------------------------------------------------



Re: entschaerftes gebiet (Hight, 27. Dez 2000, 01:20:05):
~#! rn=Bierchen rt=977875193 rg=entwicklung
~#! tid=977875193
ey ! das is ja wie wenn du zu deinem imaginaeren kind gehst und zu weihnachten
von ihm verlangst es dir 100 mark schneken

ich fands da pfoen ... bin zwar nich unnoetigerweise hin abba warum bahaengen 

hight -> schmarrn

-----------------------------------------------------------------------------



Re: Re: entschaerftes gebiet (Bierchen, 27. Dez 2000, 03:13:22):
~#! rn=Hight rt=977876405 rg=entwicklung
~#! tid=977875193
jo, das ist eine frage der oop, man faengt oben an und arbeitet sich nach
unten durch. moeglichst ohne bugs. da ich mich nie ganz an diese methode
gehalten habe, fange ich eben mittendrin an :)
- Bierchen -

-----------------------------------------------------------------------------



entschaerftes gebiet (teil 2) (Bierchen,  1. Jan 2001, 21:29:52):
nachdem so viele leute nachfragten, was los sei, der eine oder andere erzie
sich kritisiert fuehlte, weil ich keine namen nennen wollte, hier die
aufklaerung (ps.: inzwischen ist auch die normal-magieinsel abgehaengt,
den hausbesitzern dort rate ich, sich moeglichst schnell an wurzel zwecks
verlegung zu wenden).. ich werde in diesem mud weiter meine sachen
abhaengen, solange erzies wie wim ihr unwesen treiben.

gruss,

   - Bierchen -
 .

-----------------------------------------------------------------------------



Re: entschaerftes gebiet (teil 2) (Qitess,  1. Jan 2001, 22:01:20):
~#! rn=Bierchen rt=978380992 rg=entwicklung
~#! tid=978380992
...wissend, dass dieser artikel verlegt wird:

Schaem Dich was, Bierchen, und schaem Dich was, Wim!

Und hoffentlich werden die Quellcodes endlich gesperrt und gesichert, wenn sie
einmal angehaengt sind.

QI** kopfschuettelnd.


-----------------------------------------------------------------------------



Re: Re: entschaerftes gebiet (teil 2) (Jenandra,  1. Jan 2001, 22:03:04):
~#! rn=Qitess rt=978382880 rg=entwicklung
~#! tid=978380992
das heisst man ist verpflichtet, sich hier alles gefallen zu lassen? ok dann
werde ich definitiv nichts mehr anhaengen, ich hab naemlich keinen bock, damit
alle rechte an dem zu verlieren, in das ich arbeit und zeit investiere.

-----------------------------------------------------------------------------



Re^3: entschaerftes gebiet (teil 2) (Gnome,  1. Jan 2001, 22:07:36):
~#! rn=Jenandra rt=978382984 rg=entwicklung
~#! tid=978380992
hmm, wenn jeder abhaengen kann, wie er lustig ist, und eure privatfehden
noch laenger anhalten, dann treten wir uns irgendwann in PV auf die fuesse
und haben dort 10 seherhaeuser pro raum.

ja, ich uebertribe.

gnOme

-----------------------------------------------------------------------------



Re^4: entschaerftes gebiet (teil 2) (Jenandra,  1. Jan 2001, 22:08:40):
~#! rn=Gnome rt=978383256 rg=entwicklung
~#! tid=978380992
vielleicht merkt dann der kluengel da oben, dass man mit den 'untergebenen'
magiern auch nicht alles machen kann. waer mal nen versuch wert.

-----------------------------------------------------------------------------



Re^4: entschaerftes gebiet (teil 2) (Qitess,  1. Jan 2001, 22:08:48):
~#! rn=Gnome rt=978383256 rg=entwicklung
~#! tid=978380992
ungefaehr aehnliches denke ich auch. im uebrigen, jenandra, auch wir dummen
kleinen spieler investieren arbeit und zeit in dieses spiel.
QI**

-----------------------------------------------------------------------------



Re^5: entschaerftes gebiet (teil 2) (Jenandra,  1. Jan 2001, 22:11:00):
~#! rn=Qitess rt=978383328 rg=entwicklung
~#! tid=978380992
es ist schade, dass spieler darunter leiden muessen. aber das ist leider auch
eine gute moeglichkeit, magier zu erpressen ... und das macht halt nicht jeder
auf ewig mit.

-----------------------------------------------------------------------------



Re^6: entschaerftes gebiet (teil 2) (Golas,  1. Jan 2001, 22:13:36):
~#! rn=Jenandra rt=978383460 rg=entwicklung
~#! tid=978380992
habt ihr magier wirklich geglaubt, ihr haettet ein mitspracherecht in diesem
mud?

wacht mal auf und seht es ein ...

-----------------------------------------------------------------------------



Re^7: entschaerftes gebiet (teil 2) (Jenandra,  1. Jan 2001, 22:13:58):
~#! rn=Golas rt=978383616 rg=entwicklung
~#! tid=978380992
das tut der ein oder andere von uns glaub ich grade ;-)

-----------------------------------------------------------------------------



Re^8: entschaerftes gebiet (teil 2) (Anatol,  1. Jan 2001, 22:41:27):
~#! rn=Jenandra rt=978383638 rg=entwicklung
~#! tid=978380992
Eine Person, die anderen Personen Schaden zufuegt, damit eine weitere
Person etwas tut bzw. nicht tut, sollte, ganz gleich, ob sie im Recht
ist oder nur so empfindet, ueber den Begriff "Terrorismus" nachdenken.

Anatol

-----------------------------------------------------------------------------



Re^9: entschaerftes gebiet (teil 2) (Jenandra,  1. Jan 2001, 22:43:31):
~#! rn=Anatol rt=978385287 rg=entwicklung
~#! tid=978380992
und wie nennt man eine person die aus purer lust an der macht genau diese
macht willkuerlich auf weniger maechtige ausuebt und ihnen damit schadet?

-----------------------------------------------------------------------------



Re^10: entschaerftes gebiet (teil 2) (Anatol,  1. Jan 2001, 22:45:58):
~#! rn=Jenandra rt=978385411 rg=entwicklung
~#! tid=978380992

"Bierchen".

Anatol

-----------------------------------------------------------------------------



Re^11: entschaerftes gebiet (teil 2) (Jenandra,  1. Jan 2001, 22:46:42):
~#! rn=Anatol rt=978385558 rg=entwicklung
~#! tid=978380992
[] du hast verstanden warum Bierchen das tut was er tut

-----------------------------------------------------------------------------



Re^12: entschaerftes gebiet (teil 2) (Qitess,  1. Jan 2001, 22:50:01):
~#! rn=Jenandra rt=978385602 rg=entwicklung
~#! tid=978380992
ich habe es nicht verstanden, warum bierchen das tut, was er tut...
#
QI**

-----------------------------------------------------------------------------



Re^13: entschaerftes gebiet (teil 2) (Bierchen,  1. Jan 2001, 22:52:29):
~#! rn=Qitess rt=978385801 rg=entwicklung
~#! tid=978380992
das nennt man 'anhaengen' mit einem negativen vorzeichen.

-----------------------------------------------------------------------------



Re^13: entschaerftes gebiet (teil 2) (Grimmborn,  1. Jan 2001, 22:53:25):
~#! rn=Qitess rt=978385801 rg=entwicklung
~#! tid=978380992
Och, das kann ich Dir mit einem Satz erklaeren: Bierchen ist nicht damit
einverstanden, dass er mit der Magierwerdung dem MG das Nutzungsrecht an den
Sachen, die er hier (aus freien Stuecken) angehaengt hat eingeraeumt hat. Ich
bin letztlich nur froh, dass solche Leute "nur" in Spielen programmieren und
mit der Einstellung sich aus Free Software raushalten.

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re^14: entschaerftes gebiet (teil 2) (Jenandra,  1. Jan 2001, 22:54:57):
~#! rn=Grimmborn rt=978386005 rg=entwicklung
~#! tid=978380992
Bierchen hat das bestimmt nicht getan, falls du auf den magiervertrag
anspielst. in dem, den Bierchen unterschrieben hat, stand davon noch lange nix
drin :-)

-----------------------------------------------------------------------------



Re^15: entschaerftes gebiet (teil 2) (Grimmborn,  1. Jan 2001, 22:58:15):
~#! rn=Jenandra rt=978386097 rg=entwicklung
~#! tid=978380992
"Vertraege beduerfen nicht der Schriftform". Wenn etwas allgemein bekannt und
akzeptiert ist reicht das. Man kann im MG als bekannt voraussetzen, dass das
MG den code von Magiern nutzen darf. Das weiss jeder, wenn er Magier wird.
Wenn ich dann im Nachhinein rumflenne und das auf einmal nicht mehr wahrhaben
will, weil mir jemand die gruenen Sandfoermchen nicht geben will, dann ist das
einfach nur kindisch.
Was natuerlich auf der anderen Seite bei einigen Leuten (Plural beabsichtigt)
auch nicht weiter ueberrascht...

GdA

-----------------------------------------------------------------------------



Re^12: entschaerftes gebiet (teil 2) (Anatol,  1. Jan 2001, 23:07:56):
~#! rn=Jenandra rt=978385602 rg=entwicklung
~#! tid=978380992
[ ] Du hast verstanden, warum die Antwort "Bierchen" aus einer Todessequenz
    heraus, in die er mich (obwohl er mich ignoriert ;)) geschickt hat, 
    nicht eines gewissen Humors entbehrt.

Und wo wir grade bei Nicht-Verstehen sind, erklaere Du mir, warum es dem
Mitarbeiter B der Firma M gestattet sein soll, den Kundenstamm wegen
firmeninternen Querelen mit Abteilungsleiter W zu schaedigen und damit 
auch Ruf und Vertrauen des ganzen Apparates zu gefaehrden.

Du bist der Meinung, dass der Vergleich hinkt und wir doch alle nur eine
grosse liebe Familie sind? Netter Versuch, vielleicht denkst Du mal drueber
nach, warum man Aerger mit Vorgesetzten mit dessen Vorgesetzten und nicht
mit der Basis aus der Welt zu schaffen versucht.

Aber klar. Es ist einfacher, laut herumzuschreien und Gebiete abzuhaengen.
Man muss den Spielern ja auch gar nicht erklaeren, warum. Sie sind ja
nur das Mittel zum Zweck, das Fleisch, um die Hyaenen anzulocken.

Anatol

-----------------------------------------------------------------------------



Re^13: entschaerftes gebiet (teil 2) (Jenandra,  1. Jan 2001, 23:08:58):
~#! rn=Anatol rt=978386876 rg=entwicklung
~#! tid=978380992
oh ich hatte die dicken gehaltsschecks vergessen, die mitarbeiter B von firma
M bekommt ... naja man kann ihm ja das gehalt kuerzen :-)

-----------------------------------------------------------------------------



Re^14: entschaerftes gebiet (teil 2) (Jenandra,  1. Jan 2001, 23:10:05):
~#! rn=Jenandra rt=978386938 rg=entwicklung
~#! tid=978380992
nachtrag: und wenn du glaubst dass es vorher keine versuche gegeben hat, den
aerger aus der welt zu schaffen - bitteschoen herr Ana-allwissend-tol.

-----------------------------------------------------------------------------



Re^14: entschaerftes gebiet (teil 2) (Bierchen,  1. Jan 2001, 23:11:51):
~#! rn=Grimmborn rt=978386005 rg=entwicklung
~#! tid=978380992
ich bin auch froh, dass du keine freie software schreibst... 

-----------------------------------------------------------------------------



Re^15: entschaerftes gebiet (teil 2) (Birdy,  1. Jan 2001, 23:11:55):
~#! rn=Jenandra rt=978387005 rg=entwicklung
~#! tid=978380992
verschiebt das bitte in eine magierrubrik alles. 

-----------------------------------------------------------------------------



Re^15: entschaerftes gebiet (teil 2) (Grimmborn,  1. Jan 2001, 23:14:53):
~#! rn=Bierchen rt=978387111 rg=entwicklung
~#! tid=978380992
Ich auch, aber das liegt ausschliesslich an meinen nichtvorhandenen
Programmierfaehigkeiten. :-)
Im Gegensatz zu anderen Leuten sehe ich keine Probleme damit, wenn andere
Leute mit meinen Ideen machen was sie wollen, solange sie mich nicht damit
belaestigen dass sie ihnen nicht gut genug sind. Ich habe volles Verstaendnis
fuer Leute, die sagen "Meine Idee gehoert mir, und wehe Du versuchst sie zu
nutzen", muss jeder schliesslich selber wissen. Aber in einer Umgebung, die
darauf beruht (und darauf angewiesen ist), dass Ideen geteilt werden Ideen
einzubringen, und sie dann irgendwann wieder rausholen zu wollen, das ist
schlechter Stil.

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re^16: entschaerftes gebiet (teil 2) (Grimmborn,  1. Jan 2001, 23:16:17):
~#! rn=Birdy rt=978387115 rg=entwicklung
~#! tid=978380992
Ich koennte genausogut einen sehr aehnlichen thread aus einer Magierrubrik von
vor zwei, drei Wochen hierher verschieben. Sinnvoller waere es, alles nach
diskussion zu schieben. Bin ich aber jetzt zu faul fuer.

GdA

-----------------------------------------------------------------------------



Re^13: entschaerftes gebiet (teil 2) (Bierchen,  1. Jan 2001, 23:17:25):
~#! rn=Anatol rt=978386876 rg=entwicklung
~#! tid=978380992
fast schon zeitverschwendung, um auf sowas zu antworten. dies hier ist keine
firma, mir gehoert noch alles hier. in einer firma haette ich schon laengst
gekuendigt.

-----------------------------------------------------------------------------



Re^14: entschaerftes gebiet (teil 2) (Qitess,  1. Jan 2001, 23:18:41):
~#! rn=Bierchen rt=978387445 rg=entwicklung
~#! tid=978380992
...und in einer firma haettest du nicht die bohne von chance, deine
entwicklungen mitzunehmen.

QI**

-----------------------------------------------------------------------------



Re^15: entschaerftes gebiet (teil 2) (Bierchen,  1. Jan 2001, 23:19:15):
~#! rn=Qitess rt=978387521 rg=entwicklung
~#! tid=978380992
jo, weil die mich dafuer bezahlen

-----------------------------------------------------------------------------



Re^16: entschaerftes gebiet (teil 2) (Anatol,  1. Jan 2001, 23:19:55):
~#! rn=Bierchen rt=978387555 rg=entwicklung
~#! tid=978380992
Warum bist Du eigentlich Magier geworden?

Anatol

-----------------------------------------------------------------------------



Re^16: entschaerftes gebiet (teil 2) (Jenandra,  1. Jan 2001, 23:20:05):
~#! rn=Grimmborn rt=978387293 rg=entwicklung
~#! tid=978380992
diese umgebung ist auch darauf angewiesen, dass man zusammenarbeitet und nicht
gegeneinander. und wenn jemand seine machtposition ausnutzt, um diejenigen,
deren nasen ihm nicht passen, zu behindern, und in dieser position auch ohne
absehbare einschraenkung von oben unterstuetzt wird, ist das ebenfalls sehr
schlechter stil. ich kann verstehen, dass jemand dann irgendwann einfach nicht
mehr will.

-----------------------------------------------------------------------------



Re^17: entschaerftes gebiet (teil 2) (Karis,  1. Jan 2001, 23:35:24):
~#! rn=Jenandra rt=978387605 rg=entwicklung
~#! tid=978380992
Na, das JAhr geht ja gut los. ERst sprengen ein paar Vandalen mein Auto
fast in die Luft (oh, sorry, das war jetzt RL), und dann haengt Bierchen
nich nur die INsel, sondern gleich auch noch (das schlimmste an der 
Sache) mein heissgeliebtes Portal 30 ab.
Wenn ich das alles richtig verstanden habe, passierte das wohl, weil
Bierchen von irgendnem Erzie (wars Wim? muss ja sein, is ja meistens
schuld) zu heftig geschuettelt wurde. Und Schuettelbier wohl auch net
mag. Was ich nich verstehe, ist, wie die Magieinsel, sei sie nun Para
oder Normalwelt, mit einem Aergernis zwischenmenschlicher Art zusammenhaengt.
IRgendwer (wars Anatol? muss wohl sein, der nimmt immer die Sachen beim Namen)
sprach von Terrorismus. Auch gut. Und irgendwer (wars Yantro? muss wohl..
ach, ich spar mir das jetzt) hat da ja schonmal so nen Praezendenzfall
geliefert. Schoen.
Was ich nicht verstehe ist: warum nicht gleich selbst loeschen? ODer noch
besser, sich von Wim loeschen lassen? Aber haeng ruhig auch noch deine
restlichen Gebiete ab, Bierchen. Und vergiss die NPCs nicht. 
Doch, es wuerde mich stoeren. War naemlich mal n schoenes Gebiet. Hatte
richtig Spass gemacht. Witzig, einfallsreich... aber gut, es is ja nicht
mehr da, und bei den 15k Raeumen, die das MG ja so in etwa hat, fallen
die paar Raeume mehr oder weniger nicht weiter ins Gewicht.
Nur eins wuerde mich interessieren:
Was zum Teufel glaubst Du, dass ich als Spieler fuer Dich tun sollte???
Dir muss doch mehr als klar sein, dass kein Spieler hier etwas machen
kann. Auch die Magier und Goetter duerften bei Euren Fehden die 
falschen Richter sein. Oder erwartest du tatsaechlich, dass sich die Spieler
hier zusammenrotten und schreien 'raus mit wim' ??? Und wenn - 
warum sollte er dann tatsaechlich das tun? UNd wenn du das alles nicht
glaubst:
Warum machst du das dann?? Ok, ich ziehe die letzte Frage zurueck.
HAben schon zig andere gefragt. UNd ne vernuenftige ANtwort wirds wohl auch
kaum drauf geben von Dir. Bleibt nur eins: die ganze Zeit, die Du da mal
gesessen bist, um das alles zu proggen. Die ist jetzt tatsaechlich
sinnlos geworden. Schade.

Karis.

-----------------------------------------------------------------------------



Re^18: entschaerftes gebiet (teil 2) (Bierchen,  1. Jan 2001, 23:43:44):
~#! rn=Karis rt=978388524 rg=entwicklung
~#! tid=978380992
nochmal, um es klar zu sagen: an dem tag, an dem wim sich loescht oder
geloescht wird (nicht dass ich glauben wuerde, dass es jemals dazu kommt, dazu
ist er zu protegiert), geb ich einen aus. ABER: dass ich meine files loesche
hat das nicht zum ziel. um genau zu sein, es hat gar kein ziel, sondern einen
grund: ich hab die faxen hier dicke. und auch wenn wim abgesaegt werden
sollte, werden die files nicht wieder angehaengt. klar genug?


-----------------------------------------------------------------------------



Re^19: entschaerftes gebiet (teil 2) (Karis,  1. Jan 2001, 23:47:20):
~#! rn=Bierchen rt=978389024 rg=entwicklung
~#! tid=978380992
Die Aussage ist klar genug. Wenn Du die Faxen hier dicke hast, verstehe
ich trotzdem nicht, warum Du noch hier bist.
Wuensche weiterhin viel Spass beim Spielen der beleidigten Leberwurst.
Den Sinn versteh ich immer noch nicht. Klar genug?

Karis.

-----------------------------------------------------------------------------



Re^19: entschaerftes gebiet (teil 2) (Gloinson,  2. Jan 2001, 00:36:46):
~#! rn=Bierchen rt=978389024 rg=entwicklung
~#! tid=978380992
Mhh. Da ich die Diskussion aus Magier noch im Sinn habe - Du nervst ja mehr
als Yantro tat. Bei Yantro bedauere ich es noch, dass er aus Zerwuerfnis und
Aerger seine Gebiete abhaengte aber Jenandra und Du bauen ja geradezu eine
Kampagne gegen Wim und andere boese, boese Erzmagier auf. Ich stimme Karis
fast zu - loesch Dich lieber wenn Du das feudalistische System von MUDs erst
jetzt entdeckst und Deinen Aerger darueber irgendwohin giessen willst.

Gloinson

-----------------------------------------------------------------------------



Re^20: entschaerftes gebiet (teil 2) (Raidri,  2. Jan 2001, 01:12:41):
~#! rn=Gloinson rt=978392206 rg=entwicklung
~#! tid=978380992
Also eins vorweg, ich nehme Bezug auf aeltere Schreiben zu diesem Thema, ich
bin Stufe 6 und damit sagt mir der Begriff Magierinsel nichts geschweige denn
weiss ich etwas von den Paralelwelte. Trotzdem poste ich hier einmal meine
Meinung auch wenn es
einigen Leuten nicht passen wird, dass ich auf meiner Stufe so viel sage. (Die
Leute wissen wen ich meine . . .)
1) Eigentlich finde ich es nicht okay, dass ein Gebiet auf grund einer
persoenlichen Fehde mit irgendwelchen Erzmagiern abgehaengt wird. Andererseits
habe ich so das Gefuehl, dass Disskusionen ueber die Rechte an Quellencodes in
letzter Zeit ziemlich
haeufig aufkommt. Es ist zwar so, dass laut den aktuellen Basisvertraegen in
Muds haeufig eine Zeile vorkommt, nach der die Programmierungen allgemein dem
Mud zugute kommen sollen, aber wenn ich mich recht erinnere steht im Vertrag
normalerweise auch
dass alles was man programmiert bzw. in den /d oder /players Verzeichnissen
ablegt geistiges Eigentum des Autoren ist. Es stimmt zwar, dass eine Regelung
vorsieht, dass zB selbstloeschende Magier NUR ihre Speicherdaten zum Charakter
verlieren aber die /d/... verzeichnisse usw bleiben. Doch wie irgendjemand
vorher gepostet hat, wurde der Magiervertrag seit dem Bierchen ihn
unterschrieben hat geaendert, was jetzt mal rechtlich gesehen nicht so ganz
legal ist
2) Hmm jetzt hab ich mich etwas verfahren aber trotzdem mal weiter beim
zweiten Punkt. Auch wenn mir der Begriff Terrorismus von Anatol ueberhaupt
nicht zusagt
(um es hoeflich auszudruecken) ist es definitiv nicht in Ordnung aus Gruenden
der "Meinungserzwingung" Gebiete abzuhaengen. Wenn die E+ wirklich so eine
"Clique" bilden wie man das aus dem Text versteht, dann sollte man mal
ueberlegen ob es nicht andere
"unfaire" (mir faellt kein anderes Wort ein ist also nicht ganz so zu
verstehen) Mittel gibt.
Ich weiss nicht wieviele Erzmagier es momentan im MG gibt aber ich denke mal,
dass der Grossteil der Mags Regionsmitarbeiter sind (Magierlevel: 25 glaub
ich) und nach eigenen Erfahrungen haben die E+ genuegend damit
zu tun die MudLib selbst zu verbessern etc. Also bleiben die WLV:25 fuer die
meisten Raeume ""uebrig"".
Deshalb sollten sie nicht "wie der letzte Drek" behandelt werden. (so hoert es
sich in manchen oberen Artikeln an) Sondern auch geachtet werden. Jeder macht
das was
er gut kann und verhilft somit dem Ganzem (MG).
So ich weiss nicht ob ich das geschrieben habe was ich schreiben wollte aber
es ist 01:10 am und ich bin fast im Koma ;-) Also versucht zu rekonstruieren
was ich eigentlich sagen wollte oder ignoriert diesen Artikel.
-Raidri, noch mal frohes Neues wuenschend.
PS: Spart euch bitte solche "Was schreibst du fuer einen Scheiss" - Reply
Artikel, die ich schon oft genug erlebt habe. Danke.

-----------------------------------------------------------------------------



entschaerftes gebiet (teil 3) (Bierchen,  2. Jan 2001, 01:44:01):
nochmal, eine kleine hist wegen der permanenten nachfragen:

wim, damals vor jahren gab es einen rl-menschen namens 'olli', er kam aus
clausthal und schrieb an einem mud, das sich 'germud' nannte.
nun, wim war ein zweitie von rl-olli. da rl-olli keine lust mehr hatte, im
mg zu spielen, gab er wim an bierchen weiter. dies geschah so um 1994 oder
so. als bierchen magier wurde, hatte er kaum noch lust, mit wim, wum und
wendelin durch die gegend zu rennen, keine wunder.. jeder beschwerte sich
ueber die fehlenden gewinne aus der lotterie..
also verschenke bierchen den 'wim' an den 'therin', nahm ihm das
zweitie-flag weg und setze es eben auf diesen zaubie. kurz danach machte
bierchen den 'wim' zum magier und kaum spaeter entfernte der rochus das
bierchen als papi von wim und setze sich selbst ein, moege jeder denken,
warum diese komische aktion stattgefunden hat.
irgendwann schrieb der w* ein quest, kaum zu glauben... bierchen fand
einiges von seinem code bei ihm wieder und auch ketos schrieb fleissig daran
herum. w* hatte einen echten gluecksgriff getan, zwei idioten, die seine
plaene unterstuetzen. irgendwann wurde w* aufgrund von rl-beziehungen erz*,
kaum zu glauben, mit diesem wissen, aber rl ueberwiegt das vl und schleimen
geht ueber wissen. nun ist w* einer von ihnen, gleicht seine unfaehigkeit
durch unwissen aus, legt jedem, der es wert waere, steine in den weg.. und
dies nur, weil w* sich selbst dahin gebracht hat, wo er jetzt ist.
(ach, fast vergessen, mach einer wunderte sich, warum therin ploetzlich so
schnell aufstieg, alles ueber fps und kills, aber das sind natuerlich nur
geruechte, die ich hier nicht verbreiten will)

gruss,
      - Bierchen -

-----------------------------------------------------------------------------



Re^20: entschaerftes gebiet (teil 2) (Arancia,  2. Jan 2001, 12:18:59):
~#! rn=Gloinson rt=978392206 rg=entwicklung
~#! tid=978380992
Hm, ich hab wohl das Posting des Profilierungswettbewerbs verpasst. Was winkt
denn als erster Preis? Ein Jahres-Abo in einer 3-Sterne-Kita? 

Und ich bin regelrecht geruehrt von diesen lieben Vorschlaegen um anderen den
rechten Weg zu weisen. Koennten wir die Rubrik nicht in Briefkastenkummertante
Gloinson umnennen?

Frohes neues Jahr...

Die Apfelsine, das Bierchen vermissen werdend

-----------------------------------------------------------------------------



Re: entschaerftes gebiet (teil 2) (Schleicher,  2. Jan 2001, 13:00:10):
~#! rn=Bierchen rt=978380992 rg=entwicklung
~#! tid=978380992
Huch, ich hier? und dann sage ich auch noch das ich Bierchen verstehn kann?
Wunder ueber Wunder... aber konkret. Das Wim ein machtgeiler Depp ist ist uns
wohl allen klar NUR... ich denke es wird ihm ziemlich am Arsch vorbeigehen ob
Du die Magieinsel abhaengst befuerchte ich?! Ueber sowas wie eine Revolution
im MG haben wir uns mal vor sehr langer Zeit unterhalten und ich glaube nach
wie vor nicht das es funktionieren wird wie die Reaktionen der Spieler hier
zeigen. Weil im Endeffekt bist Du der Buh-mann den keiner versteht und der
noch dumm angemacht wird nicht diejenigen die das ausloesende Moment fuer
Deine derzeitige Reaktion sind - Schade schade schade... Achja an alle
Jungmagier die an Ihrem Gesellenstueck proggen seit immer lieb und nett zu Wim
sonst gagt er euch einfach wie er es seinerzeit bei mir getan hat weil er
Eifersuechtig war das arme Lichtlein... An die motzenden Spieler: Werdet
Magier DANN koennt ihr Magier fuer ihr tun angreifen und auch erst DANN werdet
ihr die Machtverteilung hier richtig mitbekommen! An Gloinson - Halts Maul!
Schleicher der es schon lange leid ist und sich auch auf Aufforderung nicht
loeschen wird!

-----------------------------------------------------------------------------



Re^15: entschaerftes gebiet (teil 2) (Gor,  2. Jan 2001, 19:07:13):
~#! rn=Qitess rt=978387521 rg=entwicklung
~#! tid=978380992
Ja denn in einer Firma unterschreibst du einen _rechtsgueltigen_ Vertrag, der
genau sowas verhindert. Kauft euch mal nen Gesetzbuch bevor ihr mich hier mit
euren unqualifizierten Anworten langweilt.

-----------------------------------------------------------------------------



Re^16: entschaerftes gebiet (teil 2) (Justavius,  2. Jan 2001, 19:09:37):
~#! rn=Gor rt=978458833 rg=entwicklung
~#! tid=978380992
leute ihr seits alle aerger/kindischer als manche spieler/seher/magier/...
ausm sl (und da gehts manchmal scho heftig zu). findets mal lieba zu euch
zurueck und versoehnt euch a bisserl

just, my2cents

-----------------------------------------------------------------------------



Re: entschaerftes gebiet (teil 3) (Ashan,  2. Jan 2001, 21:35:40):
~#! rn=Bierchen rt=978396241 rg=entwicklung
~#! tid=978396241
Hm, zunaechst mal danke fuer die Erlaueterung. So wird die Entscheidung
verstaendlich. Natuerlich finde ich es als Spieler schade wenn ein Gebiet
wegfaellt, Dass Du, Bierchen, unter den gegenbenen Umstaenden kein Bock mehr
hast ist ja soweit klar. Trotzdem halte ich es fuer falsch einmal
angeschlossene Sachen wieder zu entfernen. Es ist Dien gutes Recht das zu tun,
aber es gibt Spieler die Dein Gebiet sicher zu shcaetzen wissen und es
vermissen werden. Ein echter Grund was abzuklennen waere aus meiner sicht nur
dann gegeben, wenn der Erzie anfaengt deine Code zum Nachteil der spieler zu
veraendern um Dich fertigzumachen. Doch sowas hat es hoffentlich noch nicht
gegeben und wird es hoffentlich auch nicht geben. Kurzum: Schade dass es so
gekommen ist ... 

-----------------------------------------------------------------------------



Re: Re: entschaerftes gebiet (teil 3) (Wurzel,  2. Jan 2001, 22:46:28):
~#! rn=Ashan rt=978467740 rg=entwicklung
~#! tid=978396241
nein, ich geb jetzt nicht meinen senf dazu ab. auch wenn ich was dazu
zu sagen haette... juckt in den fingern, aber beherrschung ist alles :)
warum schreib ich dann hier? nun, die seherhaeuser sind verlegt worden.
wenn jemand ein haus sucht, vertrauensvoll an mich wenden.

wurzel

-----------------------------------------------------------------------------



Re^3: entschaerftes gebiet (teil 3) (Nevok,  3. Jan 2001, 01:26:29):
~#! rn=Wurzel rt=978471988 rg=entwicklung
~#! tid=978396241
*huestel*
Nur eine bescheidene Frage meinerseits. Hat jeder Magier brav in jedem
Programmobjekt (c) by Real Name 199x stehen?

Nur so aus Neugierde, waere doch lustig wenn der Morgengrauen Verein nun auf
Schadenersatz klagen koennte wegen mutwilliger Beschaedigung, Vandalismus und
so. Urheberrecht ist was lustiges, wer schaltet den ersten Anwalt ein?


Nevok, der sich freut, dass so daemliche Quereleien nicht nur in den
Vereinigten Staaten von statten gehen. Ist fast wie Bunte lesen.

-----------------------------------------------------------------------------



Re^4: entschaerftes gebiet (teil 3) (Grimmborn,  3. Jan 2001, 08:10:51):
~#! rn=Nevok rt=978481589 rg=entwicklung
~#! tid=978396241
Du verwechselst Copyright mit Nutzungsrecht. Natuerlich hat jeder das
Copyright an seinem eigenen Code. Natuerlich hat das MG ein unbefristetes
Nutzungsrecht an diesem Code. 

Seit doch bitte so nett und lest eine vorausgehende Diskussion vollstaendig
und sorgfaeltig, dann muss man nicht immer wieder dasselbe schreiben. Schlimm
genug dass die Diskussionen an sich sich staendig wiederholen.

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re^5: entschaerftes gebiet (teil 3) (Padreic,  3. Jan 2001, 11:29:30):
~#! rn=Grimmborn rt=978505851 rg=entwicklung
~#! tid=978396241
Die Tatsache das Du Gebetsmuehlenartig immer wiederholst das es schlichtweg
eine selbstverstaendliche Tatsache und voellig natuerlich ist, das die Magier
ueber die Verwendung ihres Codes nicht zu entscheiden haben, macht es auch
nicht richtiger Grimmborn. Das ganze ist rechtlich zumindest _sehr_
zweifelhaft. Wenn Du stattdessen endlich mal anfangen wuerdest selbst etwas zu
proggen, anstatt ueber die Rechte der Magier zu philosophiren die tatsaechlich
etwas fuer das MG tun, dann haette das MG schon laengst ein neues Gebiet mehr.
Regt Euch mal wieder ab, nichts ist unersetzlich und das abhaengen eines
Gebiets ist auch kein Weltuntergang, schliesslich ist das hier alles noch ein
Spiel (sollte es zumindest sein).

Pad*

-----------------------------------------------------------------------------



Re^6: entschaerftes gebiet (teil 3) (Grimmborn,  3. Jan 2001, 11:41:37):
~#! rn=Padreic rt=978517770 rg=entwicklung
~#! tid=978396241
Natuerlich gibt es unersetzliche Sachen hier. Das sind allerdings natuerlich
keine Gebiete. Aber dadurch, dass Du immer am Thema vorbeiredest wird die
Diskussion auch nicht klarer.
Wenn Du wirklich behaupten kannst, dass es einem Magier nicht klar ist, dass
das MG ein (unbefristetes) Nutzungsrecht an angeschlossenen Sachen erhaelt
(weil sonst der Anschluss ziemlich sinnfrei, weil viel zu "gefaehrlich"
waere), erst dann traegst Du zur Diskussion bei. Und nicht mit "ist alles
nicht so schlimm" oder "tu doch selber was" oder "ich kenne den Unterschied
zwischen Recht (=copyright) und Nutzungsrecht am code nicht".

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re^6: entschaerftes gebiet (teil 3) (Anatol,  3. Jan 2001, 11:43:27):
~#! rn=Padreic rt=978517770 rg=entwicklung
~#! tid=978396241
Manchmal frage ich mich, warum keinem Erzmagier der Finger ausrutscht
und ploetzlich alle Dateien "padreic.o" geloescht sind. Rechtlich 
gesehen hast Du, Padreic, auch herzlich wenig Anspruch darauf...

Anatol

-----------------------------------------------------------------------------



Re^7: entschaerftes gebiet (teil 3) (Padreic,  3. Jan 2001, 12:02:40):
~#! rn=Anatol rt=978518607 rg=entwicklung
~#! tid=978396241
Hast Du sicher Recht Anatol, ein Existenzrecht hast Du vermutlich lediglich
ueber die Satzung des Foerdervereins und der Begruendung seiner
Gemeinnuetzigkeit (hab sie aber nicht mehr ganz genau im Kopf), ist aber
eigentlich auch ein voellig anderes Thema.
Grimmborn ich kenne den Unterschied zwischen Copyright und Nutzungsrecht
sehr wohl, jedoch auch die Problematik der Beweispflicht. Im Zweifel muss
das Morgengrauen nachweisen das es a) legal an den Code gekommen und b)
wirklich ein Nutzungsrecht eingeraeumt bekommen hat und das ist in meinen
Augen ueber online Vertraege oder aehnliches kaum adaequat nachzuweisen.
Dazu kommt, das es um weit mehr als nur ein reines Nutzungsrecht geht, dem MG
nutzt es naemlich reichlich wenig, Gebiete zu haben die weder gewartet
(an libaenderungen angepasst) noch debuggt werden duerfen.
Rein praktisch gesehn, was tust Du denn, wenn ein Magier dann einfach seinen
Sourcecode samt KLs veroeffentlicht? Damit ist das Gebiet dann unter
Umstaenden naemlich auch ziemlich sinnfrei.
Im Endeffekt glaube ich, dass die Massnahmen die notwendig waeren um das ganze
wirklich hieb und stichfest abzusichern, dem MG weit mehr Schaden wuerden,
als das alle paar Jahre mal ein Gebiet abgehangen wird.

Pad*

-----------------------------------------------------------------------------



Re^8: entschaerftes gebiet (teil 3) (Slayer,  3. Jan 2001, 13:10:46):
~#! rn=Padreic rt=978519760 rg=entwicklung
~#! tid=978396241
Aus den vorhergehenden Artikeln entnehme ich, dass ueber die Frage des
Copyrights (wobei dieser Begriff wohl besser durch Urheberrecht ersetzt werden
sollte) hier doch wohl recht unterschiedliche Auffassungen bestehen. Wie schon
zutreffend angemerkt wurde, gibt es einen Unterschied zwischen dem
eigentlichen Urheberrecht und den Nutzungsrechten. Das Urheberrecht entsteht
IMMER bei dem Verfasser des Quellcodes, sprich dem Magier und zwar zugunsten
der natuerlichen Person die dahintersteht. Da der jeweilige Magier hier in
keinem Arbeitsverhaeltnis programmiert verbleiben ihm zunaechst auch alle
Nutzungsrechte (sprich Vervielfaeltigungsrecht, Verbreitungsrecht usw.). Und
nun zum eigentlichen Knackpunkt der Sache, naemlich die Uebertragung dieser
Nutzungsrechte. Sofern diese wirksam uebertragen werden, kann der Magier kein
Gebiet abhaengen und darf auch den von ihm geschriebenen Quellcode nicht
anderweitig verwenden. Nur werden die Rechte ueberhaupt wirksam uebertragen?
Leider kenne ich den Wortlaut der Magiervertraege nicht, aber wenn diese
online geschlossen werden, dann hat man zwar einen schriftlichen Vertrag,
allerdings reicht dann wohl kaum die Unterschrift unter diesem mit dem
Magiernamen, sprich einem Pseudonym. Allerdings ist dieser Punkt
diskussionsfaehig. Das groessere Problem sehe ich beim Ausuebenden der
Nutzungsrechte. Auf wen werden diese denn laut Vertrag uebertragen? Das MG hat
naemlich definitiv nicht die Moeglichkeit Traeger dieser Nutzungsrechte zu
sein. Mit viel gutem Willen kann man das MG als eine Gesellschaft des
buergerlichen Rechts sehen, allerdings ist diese keine juristische Person und
nicht faehig Traeger eigener Rechte zu sein (das sind bei der GbR deren
Gesellschafter). Soweit also in den Vertraegen drin steht, dass die
Nutzungsrechte an das MG uebertragen werden, sind sie eigentlich fuer die Katz
und alle Rechte bleiben bei den jeweiligen Magiern. Oki - das ist alles sehr
theoretisch, da ja wohl noch keiner versucht hat, eine Unterlassungsverfuegung
zu erwirken oder sonstige rechtliche 
Schritte zu unternehmen, aber angesichts der ueberaus friedfertigen Stimmung,
die hier zuweilen herrscht ist das zumindest nicht auszuschliessen. Auch wenn
das ein Spiel ist, im Punkte Urheberrecht ist es eben keins, da gilt nunmal
das UrheberG, ob man das nun will oder nicht. Das vorstehende ist auch
eigentlich nur als kleiner Denkanstoss fuer diejenigen gedacht, die fuer die
Formulierung der Vertraege verantwortlich sind, man kann sich durch einen gut
formulierten Vertrag viel Aerger ersparen (glaubt es einfach :-))  
So, genug juristisches Gelaber, wers genauer wissen will bitte per Mail.
In der Hoffnung, das hier alle Menschenverstand statt Richter bemuehen noch
ein schoenes Neues Jahr.
Ich lehn mich mal zurueck und warte, bis der erste kommt, ders wieder besser
weiss ;-)
Der Slayer

-----------------------------------------------------------------------------



Re^8: entschaerftes gebiet (teil 3) (Nonne,  3. Jan 2001, 13:13:58):
~#! rn=Padreic rt=978519760 rg=entwicklung
~#! tid=978396241
Auch mal ein paar Gedanken dazu:

1. Der Begriff "Copyright" ist vielleicht schlecht gewaehlt. Im deutschen
Rechtsraum gibts ein Urheberrecht, das aber nicht gleich Copyright ist, weil
ein Urheberrecht nicht veraeussert werden kann. Veraeussern kann man nur ein
Nutzungsrecht oder exklusives Nutzungsrecht oder wir auch immer. Das
Urheberrecht bleibt immer beim Urheber. Die naeheren Umstaende der Nutzung
muessen vertraglich geregelt werden, was ja hier mit dem Online-Vertrag
geschieht. Stellt sich nur die Frage, ob er bindend ist. Ich denke, wenn man
das Recht zu programmieren und anzuschliessen in Anspruch nimmt, muss man auch
das zeitlich unbeschraenkte Nutzungsrecht uebertragen, wie es im Vertrag
steht. Man kann schliesslich nicht nur ein haelfte des Vertrages als gueltig
ansehen. Es sei denn er waere unlauter oder sittenwidrig, was aber wohl nicht
zutrifft.

2. Ich habe immer das Gefuehl, dass hinter all den Problemen ein Art
Rachegeluest steckt. Auch was Padreic ansprach mit Veroeffentlichung der
Sourcen. Vielleicht sollte man versuchen, netter miteinander umzugehen,
Privatfehden hier raushalten, und wenn wirklich was aus dem Ruder laeuft, das
wie vernunftbegabte Leute auszutragen. Man sollte einfach fruehzeitig auf
Missstaende hinweisen und nicht erst warten bis einem der Kragen platzt und
man diese Rachegelueste empfindet. Im Endeffekt trifft es naemlich immer die,
die es nicht verdient haben.

3. Noch was zu den Magiervertraegen: Da hier anscheinend alle Magier einen
anderen Vertrag unterschrieben haben, sollten vielleicht alle nochmal einen
einheitlichen Vertrag unterschreiben, in dem das Nutzungsrecht klar geregelt
ist. Wenn man denn den rechtlichen Weg waehlen will, anstatt dem
vernuenftigen.

Just my 2 cents
Nonne.

-----------------------------------------------------------------------------



Re^9: entschaerftes gebiet (teil 3) (Humni,  3. Jan 2001, 14:14:34):
~#! rn=Nonne rt=978524038 rg=entwicklung
~#! tid=978396241
Hmm...ok jetzt sind wir wieder beim juristischen Gelabere angekommen, wovon
ich keine Ahnung hab und mich auch zum Fall hier nicht aeussern will, was mich
nun schon interessiert: Slayer sagte (und das sah mir so aus als wisse er was
er sagt) wenn ich das Nutzungsrecht uebertrage heisst das, ich darf den Code
nicht weiternutzen (z.B. in anderen MUDs - auf KLs will ich gar nicht hinaus).
Stimmt das? Waere naemlich echt bloed, so hab ich den Vertrag nicht
verstanden.
Ich hatte zwischen ,Nutzungsrecht' und ,Copyright' unterschieden, und hatte
das ,Copyright' was fuer mich heisst, das ,Recht zu kopieren' bei mir gesehen.
Mich interessiert im Moment nicht, ob der Vertrag rechtlich gueltig ist, ich
hab ihn unterschrieben und fuehl mich moralisch verpflichtet, mich dran zu
halten. Ich will nur wissen, ob dem tatsaechlich so ist, wie ich das nun
verstanden habe. 

CU Humni

-----------------------------------------------------------------------------



Re^9: entschaerftes gebiet (teil 3) (Noki,  3. Jan 2001, 14:14:36):
~#! rn=Nonne rt=978524038 rg=entwicklung
~#! tid=978396241
Viel ist bis hier gesagt worden und ich denke alles hatte seine Berechtigung.
So unfein die Austragung von RL-Fehden hier im MG auch sein, wie fragwuerdig
auch immer die juristische Interpretation eines solchen Vertrages wie des
Magiervertrages auch sein mag, wie offensichtlich ueberdenkenswert die
"feudalistischen", sprich zutiefst undemokratischen, Machtstrukturen hier auch
sind, moechte ich doch einmal etwas ganz anderes anfuehren... etwas was
bedauerlicherweise kaum bemerkt wurde.
Ich bin nun wirklich hier im Morgengrauen nur ein kleiner Spieler, es ist
keine grosse Zeit vergangen seit meinem ersten Login, weder habe ich mich
durch Toetung von besonders wuerdigen Gegnern noch durch die Veroeffentlichung
eines Reisefuehrers bekannt gemacht, und dennoch: mir bedeutet "mein"
Morgengrauen etwas.
So dumm es klingt, ich habe meinen ersten Tod nicht vergessen, noch die Leute,
die einen zweiten verhindert haben, in dem sie mir zu Hilfe kamen. An meine
erfolgreich bestandenen Abenteuer erinner ich mich ebenso, an die eine mit
Gruseln (Literweise Kaffee und Nervenzusammenbrueche dank des Puppenspielers)
an andere mit Staunen und Freude. Ich habe hier Menschen kennengelernt, wie
man sie RL nicht kennenlernt, und wie ich sie RL vielleicht auch gar nicht
kennenlernen moechte. Zeitweise schau ich nur mal vorbei, weil ich weiss, dass
sie hier sind und ich mich auch einfach nur unterhalten kann.
Eine ganz eigene Welt hat sich hier aufgetan, geboren aus den Ideen vieler,
manchmal abstrus und chaotisch, manchmal voller Poesie. Eine Geschichte, die
von vielen erzaehlt wird, gleichzeitig und doch mit einer Stimme. Durch die
ich als Spieler, als Seher, als Magier gehen darf und die ich mit anderen
teile und erlebe.

Sicher. Gerade WEIL sich hier auch all die Dinge ereignen, die uns RL das
Leben schwer machen koennen, Liebe, Hass, Eifersucht, Neid, Freundschaft...,
ist es sicherlich manchmal schwer die Idee des Morgengrauens ueber die
persoenlichen Belange zu stellen. Erstrecht wenn augenscheinlich die Verfahren
zur Regelung solcher Vorfaelle augenscheinlich unausgereift sind, und
Zustaendigkeiten mangelhaft verteilt.

 Dennoch: Es lebe das Morgengrauen!


Noki, traurig ueber all die Zwietracht, traurig ueber das Schwinden seiner
Welt.

-----------------------------------------------------------------------------



Re^10: entschaerftes gebiet (teil 3) (Ender,  3. Jan 2001, 14:35:07):
~#! rn=Noki rt=978527676 rg=entwicklung
~#! tid=978396241
Hmm, is ja irgendwie schon war, aber welche Droge hast du da geschluckt?

Ender

-----------------------------------------------------------------------------



Re^10: entschaerftes gebiet (teil 3) (Janisa,  3. Jan 2001, 14:44:49):
~#! rn=Noki rt=978527676 rg=entwicklung
~#! tid=978396241
Endlich mal jemand, der mir aus ganzem Herzen spricht. 
Auch wenn ich jetzt auch noch meinen Senf dazugebe, aber noki hat voellig
recht. Die meisten von uns sind der Meinung, dass Privatfehden nicht unbedingt
hier ausgetragen werden sollten. Trotzdem passiert es. Das laesst sich nicht
aendern. Und letztendlich steht hinter jedem Spieler, Seher, Magier auch ein
real existierender Mensch mit Gefuehlen. Und ich kann auch akzeptieren, wenn
einem mal der Kragen platz und man unbedingt mal auf Missstaende aufmerksam
machen will. Das ist ja auch gut so. 
Trotzdem zeigt diese ganze Diskussion sehr klar, dass das Morgengrauen nicht
halb so stabil ist, wie man sich das als normaler Spieler manchmal wuenscht. 
Wenn ich das Alles so lese (Nutzungsrecht, Copyright usw.) wird mir direkt
Angst und Bange. Darf ich mich jetzt darauf gefasst machen, dass demnaechst
jeder Magier einen 50seitigen Vertrag unterschreiben muss? Von mir aus. Darf
ich mich darauf gefasst machen, dass einige Magier jetzt ihre Aktivitaeten
hier ueberdenken und noch mehr Probleme auftauchen? Naja, waere schade, aber
wenn es sich nicht aendern laesst. 
Aber letztendlich sind alle doch hier, weil sie Spass haben sollten. Und jetzt
kommt mir nicht mit der Disskusion, dass Magiersein ja gar nicht spassig ist.
Niemand hat euch gezwungen. Und es ist doch ein Erfolgserlebnis, wenn man
merkt, dass Spieler das Geproggte zu schaetzen wissen. Ich fuerchte, dass MG
sieht verdammt schlechten Zeiten entgegen. Und das tut mir wirklich leid,
schliesslich bin ich gern hier.

Jani, die nur mal ihre Meinung kundtun wollte, obwohl es nur Senf ist

-----------------------------------------------------------------------------



Re^11: entschaerftes gebiet (teil 3) (Jenandra,  3. Jan 2001, 14:46:57):
~#! rn=Janisa rt=978529489 rg=entwicklung
~#! tid=978396241
nur kurz zur klarstellung:
es geht nicht um rl-fehden, sondern um magier, die 'kleinere' magier aus
persoenlichen gruenden _im mud_ behindern. also beim versuch, etwas neues fuer
dieses mud zu schaffen.

-----------------------------------------------------------------------------



Re^12: entschaerftes gebiet (teil 3) (Noki,  3. Jan 2001, 14:50:22):
~#! rn=Jenandra rt=978529617 rg=entwicklung
~#! tid=978396241
Sorry. Davon abgesehen ist es doch besonders schade, wenn dann auch noch altes
und bewaehrtes verschwindet...

-----------------------------------------------------------------------------



Re^12: entschaerftes gebiet (teil 3) (Qitess,  3. Jan 2001, 17:44:33):
~#! rn=Jenandra rt=978529617 rg=entwicklung
~#! tid=978396241
tja jenandra, eben, eine rl-fehde.
erst recht kann man das so nennen, nachdem es auf dem seher-kanal tierisch
abging, und es sind ja schliesslich die rl-personen, die das da einhackern,
gell?
QI** verwundert

-----------------------------------------------------------------------------



Re^13: entschaerftes gebiet (teil 3) (Bierchen,  4. Jan 2001, 00:31:15):
~#! rn=Qitess rt=978540273 rg=entwicklung
~#! tid=978396241
rl fehde, danke, dass du das so nennst. eine rl-fehde kann man es nennen, wenn
ich person x rl aufs maul hauen will. ich persoenlich habe rein garnichts mehr
mit dieser person zu tun, die steht bei mir seit monaten auf der ignore-liste.
ich habe nur noch mit leuten zu tun, die an dieser person 'vorbei' muessen.
eigentlich gibt es ja garkein problem, denn wenn es eines geben wuerde, dann
wuesste man es, jeder kleine magier und jeder spieler, der sich ungerecht
behandelt fuehlt von dieser person, haette dies natuerlich sofort gemeldet..
um dann vielleicht auf eine weitere ignore-liste zu landen. (evtl. schreckt
schon sowas ab) aber abgesehen davon, wim ist nichtmal ein grund, ueber den
man sich so richtig aufregen muesste, er ist ein symtom. ein symtom dafuer,
wie z.b. ihr spieler reagiert, wenn unrecht geschieht. naemlich garnicht,
solange es euch nicht selbst trifft. niemand hat sich beschwert, dass die
richtig alten 'altspieler' massig stupse verloren haben, weil die werte fuer
die fps fuer diese leute einfach mal komplett runtergesetzt wurden. frueher
gabs als entschaedigung ein paar mehr fuer diese spieler pro fp, da es nicht
zumutbar war bei deren einfuehrung den ganzen kram nochmal zu untersuchen. nun
gibs ein paar weniger, und nicht nur das, ein paar weniger im nachhinein. d.h.
die ganzen geschenke, die damals gemacht wurden, um das fp-system zu
etablieren, wurden rueckwirkend aufgehoben. wer hat da was gesagt?
wahrscheinlich nur ich und damit habe ich mich wieder mal unbeliebt gemacht.
fuer mich sind solche dinge unrecht. mir geht es um andere leute, nicht um
mich. ich habe in den letzten tagen mehrmals von kleinen magier die frage
gestellt bekommen: 'darf ich dir jetzt noch eine frage stellen' und auch von
spielern 'moechtest du mir noch helfen'... klar mache ich das. aber das
hindert mich nicht, meine dinge zu demontieren.
gruss,
  - Bierchen -
ps: ich bin jetzt seit 7 jahren dabei, wer denkt, ich wuerde irgendwas
vergessen, hat sich ziemlich geschnitten.

-----------------------------------------------------------------------------



Re^13: entschaerftes gebiet (teil 3) (Nevok,  4. Jan 2001, 07:05:11):
~#! rn=Qitess rt=978540273 rg=entwicklung
~#! tid=978396241
Das is keine RL Fehde, da hat Bierchen schon recht. Das ist eine Fehde
zwischen Menschen, die VL miteinander Probleme haben, RL stinking aufeinander
sind und den Disput eben weder mit Worten noch physischen Aktionen wie
Schlaegereien, Duellen oder Briefbomben, Zucker im Benzintank (...) usw.
austragen, sondern so wie sie moeglichst viel (kolateralen, muesste
hinsichtlich der Rechtschreibreform so stimmen, oder?) Schaden schaffen. Da
findet man es doch manchmal Schade, dass manche Leute nicht in schlagenden
Verbindungen sind und sich gegenseitig einen Schmiss antragen koennen (oder
wie das auch immer heisst, Burschenschaften sind nicht mein Ding). 

Fazit? Die erhoehen die Oelpreise, also pinkel ich als Baecker in den Teig der
Broetchen die ich backe. Oder ich lass die Gaskartusche fuer den Airbag
draussen als Fliessbandarbeiter. Oder als Busfahrer beschliesse ich einfach
nicht zu fahren. Oder als MG Magier beschliesse ich meine Gebiete wieder
abzuhaengen. 

Na dann hoff ich mal, dass nich andere auch so denken, am Ende kommt mein
Zahnarzt noch vorbei und nimmt mir meine Plomben weg, weil das Gesundheitsamt
wieder mit den Aerzten Schindluder treibt.


Nevok, kopfschuettelnd vor sich hin pfeiffend.

-----------------------------------------------------------------------------



Re^14: entschaerftes gebiet (teil 3) (Turbo,  4. Jan 2001, 15:29:56):
~#! rn=Nevok rt=978588311 rg=entwicklung
~#! tid=978396241
..

> Na dann hoff ich mal, dass nich andere auch so denken, am Ende kommt
> mein Zahnarzt noch vorbei und nimmt mir meine Plomben weg, weil das
> Gesundheitsamt wieder mit den Aerzten Schindluder treibt.

> Nevok, kopfschuettelnd vor sich hin pfeiffend.

Sehr schoen gesagt. Ich habe auch die juristische Expertise von Slayer
gelesen und finde die Dinge keinesfalls so eindeutig, was Urheber-
(da schon eher) und Nutzungsrechte angeht.

Rechtlich sehe ich MG als eine Datenverarbeitung (Begriff u.a. in
Par.303a,b StGB), die auf einer Rechenanlage des Vereins Morgengrauen
e.V. ablaeuft. Der "Magiervertrag" stellt meiner Meinung nach eine
Benutzungsordnung der Datenverarbeitung - Anlage, im Ablauf befindliche
Programme und in Entwicklung befindliche Software - dar.

Insofern koennten die fuer den Betrieb verantwortlichen Admins meiner
Meinung nach sogar einseitig z.B. die Schreibrechte auf den aktiven
Files ggfs. so aendern, dass eine willkuerliche Veraenderung durch
einen Magier (z.B. loeschen) nicht mehr moeglich waere (ich sag
nicht, dass man sich damit Freunde macht).

Der Betreffende muesste dann sein Urheberrecht und sein Begehren auf
Widerruf der Nutzung des von ihm erstellten Codes gegenueber dem
Verein MG und den Admins geltend machen (wenn er verstrahlt genug ist,
vor Gericht *g*). Das eigenmaechtige Abhaengen gegen den Willen der
Admins ist jedenfalls schon nahe an einer Straftat nach Par. 303 a,b
StGB.

Anders gesagt: Ein Klempner, der bei mir einen Heizkoerper eingebaut
hat, darf den keinesfalls - womoeglich mitten in der Heizperiode und
unter Verursachung einer Ueberschwemmung - herausreissen, auch nicht,
wenn ich nicht nett zu ihm war und nicht mal, wenn ich die Rechnung
schuldig bin.

Im Falle eines MUD ist mir das alleinige Urheberrecht eh nicht ganz
einsichtig: Der Magier bekommt Ressourcen und Leistungen (Driver,
Mudlib, Schulung und Supervision) im Rahmen eines grossen Softwareprojekts
zur Verfuegung gestellt. In "seine" Region oder "seine" Quest fliessen
Entwurfs- und Programmierarbeit anderer Teams (Gesamtplanung, Balance
etc.) ein. Ein "das habe ich allein gemacht, das ist mein ausschliess-
liches Eigentum" ist da absurd. Es ist mir im Moment nicht erinnerlich,
wie Urheberrecht von Gruppen ausgeuebt wird, so, dass ein einzelner
das Werk der Gruppe vandalisieren darf, aber definitiv nicht. Gaebe
es ein solches Urheberrecht, dann muessten die aktiv Programmierenden
stets Scharen nicht mehr Aktiver kontaktieren, ehe sie eine Zeile Code
aendern. Das ist offenkundig abwegig.

Was die "Gruende" des Streits angeht, weiss ich das nicht und will es
auch nicht wissen. Der Job eines Arch ist aber eh ein Scheissjob:
Er/Sie muss sich staendig Vorwuerfe des Machtmissbrauchs, der
Vetternwirtschaft oder der Inkompetenz bezueglich Kampf/Balance/Quests/
fragmichwasnoch anhoeren, kommt nicht zum Programmieren und muss den
Entwicklerkindergarten meist eitler, empfindlicher und streitsuechtiger
Kreativer baendigen. Und ich habe in gut 12 Jahren Mudden schon soviele
Vorwuerfe dieser Art gehoert, dass ich da doch meine Zweifel habe.

Im Ergebnis bestreite ich, dass jemand der hier programmiert, juristisch
wie moralisch das Recht hat, ohne Einvernehmen mit den Admins relevante
Teile aktiven Codes zu entfernen, wesentlich zu veraendern oder zu
deaktivieren.

My 0.02 Euro

Turbo (Kater)


-----------------------------------------------------------------------------



Re^15: entschaerftes gebiet (teil 3) (Slayer,  4. Jan 2001, 16:36:35):
~#! rn=Turbo rt=978618596 rg=entwicklung
~#! tid=978396241
Nachdem ich nun die Gelegenheit hatte, einen Magiervertrag zu lesen, noch mal
eine kleine Stellungnahme, die ich dann fuer mich als abschliessend betrachte,
da diese Rubrik ja entwicklung und nicht Seminar zum Urheberrecht heisst. Ich
hatte meinen ersten Artikel nur deswegen geschrieben, da die Frage ob jemand
nun vom rechtlichen Standpunkt aus berechtigt ist etwas abzuhaengen oder nicht
meines Erachtens schon wesentlich ist und darueber doch wohl einige
Unklarheiten herrschen. Ob das nun jemand auch moralisch darf oder aus
Gruenden der Fairness lassen sollte ist eine ganz andere Frage und die sehe
ich so, dass alles was im Mud angehaengt ist, auch drin bleiben sollte!!
Der Magiervertrag enthaelt den Passus, dass das Morgengrauen ein
uneingeschraenktes Nutzungsrecht haben soll und Objekte auch gegen den Willen
des Magiers angeschlossen bleiben duerfen. Um ein Nutzungsrecht uebertragen zu
bekommen muesste das MG faehig sein, eigene Rechte zu tragen und genau das
kann es nicht! Das MG ist nicht rechtsfaehig, da es keine juristische Person
ist, an dieser Stelle ist der Vertrag sehr bruechig. Ausserdem unterschreibt
der Magier ja mit seinem Magiernamen und nicht mit seinem buergerlichen und da
stellt sich die Frage ob ueberhaupt ein wirksamer Vertrag zustande kommt. Dies
insbesondere bei der Vereinbarung ueber zukuenftige Nutzungsrechte, da fuer
diese das UrheberG Schriftform vorsieht und dann wohl auch eine wirksame
Unterschrift vonnoeten ist. Lange Rede, kurzer Sinn: meines Erachtens liegen
alle nach wie vor Nutzungsrechte bei den Urhebern, sprich den jeweiligen
Personen, die den Quellcode programmiert haben. Ob dies nun ein Problem ist
oder nicht, will ich nicht bewerten, aber die Frage wird immer wieder
auftauchen, wenn jemand hier etwas abhaengt. Somit stellen sich zwei
Handlungsmoeglichkeiten. 1. der rheinische Kontinuitaetsgrundsatz: dat haben
wir schon immer so jemaach, et is wie es is, et haet schon immer jutgejange.
2. man aendert etwas. Dazu mein Vorschlag: Nutzungsrechtsvereinbarung aus dem
Magiervertrag raus, wenn jemand Magier wird bekommt er eine Mail, die er
ausdruckt und mit buergerlichem Namen unterschreibt und darin die
Nutzungsrechte an den Morgengrauen e.V. (der durchaus Rechtstraeger sein kann)
uebertraegt. Diese Uebertragung kann auch die einfachen Nutzungsrechte
beinhalten, sprich Nutzer (MG e.V.) und Urheber (Magier) koennen ihre Rechte
weiterhin nebeneinander ausueben, allerdings kann der Magier dann nicht
einfach durch abhaengen dem MG e.V. die Nutzungsrechte entziehen.
Wie gesagt, wenn das alles zu formal ist und kein Handlungsbedarf gesehen
wird, laesst man halt alles beim alten, aber bitte nicht mehr davon ausgehen,
dass aufgrund des bisherigen Magiervertrages ein Abhaengen von Objekten zu
verhindern waere.
Soviel dazu, ich verschone Euch nun auch mit dem Kram :-))
Slayer
P.S.: Hi Turbo, in Parag. 303a StGB steht rechtswidrig als sog.
einschraenkendes Tatbestandsmerkmal drin. D.h. gegen das Verfuegungsrecht des
Speichernden. Da aber wie oben angemerkt ein solches Verfuegungsrecht derzeit
nicht existiert, fehlt es an diesem TbMerkmal :-)
So, ich geh jetzt wieder spielen ... :-)

-----------------------------------------------------------------------------



Re^16: entschaerftes gebiet (teil 3) (Bambi,  4. Jan 2001, 16:42:47):
~#! rn=Slayer rt=978622595 rg=entwicklung
~#! tid=978396241
Falls die Sprache LPC der GPL (Gnu public licence) unterliegt und falls in
Folge dessen alle Programme, die in LPC geschrieben wurden auch der GPL
unterliegen, dann brauchen wir nicht weiterzudiskutieren oder uebersehe ich da
was?

-----------------------------------------------------------------------------



Re^14: entschaerftes gebiet (teil 3) (Anatol,  4. Jan 2001, 17:49:47):
~#! rn=Bierchen rt=978564675 rg=entwicklung
~#! tid=978396241

Ich zitiere Bierchen woertlich: "[...] er ist ein symtom. ein symtom dafuer,
wie z.b. ihr spieler reagiert, wenn unrecht geschieht. naemlich garnicht,
solange es euch nicht selbst trifft. niemand hat sich beschwert, dass die
richtig alten 'altspieler' massig stupse verloren haben, weil die werte fuer
die fps fuer diese leute einfach mal komplett runtergesetzt wurden. frueher
gabs als entschaedigung ein paar mehr fuer diese spieler pro fp, da es nicht
zumutbar war bei deren einfuehrung den ganzen kram nochmal zu untersuchen. nun
gibs ein paar weniger, und nicht nur das, ein paar weniger im nachhinein. d.h.
die ganzen geschenke, die damals gemacht wurden, um das fp-system zu
etablieren, wurden rueckwirkend aufgehoben. wer hat da was gesagt?
wahrscheinlich nur ich und damit habe ich mich wieder mal unbeliebt gemacht."

Meine Guete. Ich wuerde sagen, Du bist emotional gerade auf der Schwelle
des Todes, hast hier mehr oder weniger unter Traenen mit dem Mud und
dem Spass abgeschlossen. Anders kann ich mir derartige Ueberreaktionen
ohne Inbetrachtziehen einer Persoenlichkeitsstoerung einfach nicht erklaeren.

Um auf das Zitat einzugehen, mit dem Du die Spielerschaft der fehlenden
Courage bezichtigst: Zum einen ist das Wort "wahrscheinlich" im letzten
Satz durchaus wichtig, zum anderen gibt es einen ganz essenziellen 
Unterschied zwischen dem FP-Dilemma (sic) und Deinem Problem (und uebrigens 
auch das Problem anderer) mit Wim: Letzeres ist etwas, das vor allem Magier 
angeht. Deine Kollegen und Du, IHR seid diejenigen, die sich mit Wim 
arrangieren bzw. mit ihm kooperieren muessen, wir Spieler sind nur dazu 
angehalten, ihm im Bedarfsfall eine Mail zu schicken - Von Diskussion war
gegenueber Spielern nie die Rede... und gut. Ein Problem, das man sehr gut 
allein in den Magier-Reihen zu loesen versuchen sollte. Wenn es Probleme 
mit einem Erzmagier gibt, freut sich Boing bestimmt ueber ein CC: (aua, 
nicht hauen), im Haertefall tut es ein Artikel in den Magierrubriken. Wir 
Spieler MUESSEN sowas nicht mitkriegen. Das Abhaengen eines Gebietes 
allerdings ist der Aufruf zur Schlammschlacht. Du hast den Begriff "Mud" 
wohl... aeh... egal.
Jedenfalls lasse ICH die Anschuldigung, dass die Spieler (egal ob vor dem 
10. Nov '95 oder erst danach erst-eingeloggt) die Klappe gehalten haben, 
nicht im Raum stehen und beraube Dich der Hoffnung, dass es irgendwer 
glauben koennte.

a) Es haben sehr wohl Neu- und Altspieler nachgefragt, was die Wegnahme
   des 1-Stufenpunkt-Bonus je FP solle. Es haben schon bei der Einfuehrung
   vor allem Altspieler nachgefragt, wie die ungerechte Behandlung auszu-
   gleichen gedacht wird. Sie haben _NICHT_ zur Schlammschlacht in der 
   Zeitung aufgerufen.

b) Der Witz ist: a) spielt kaum eine Rolle, denn man hat den Spielern
   bedauernd erklaert, dass dort, wo gehobelt wird, Spaene fallen und dass 
   es einfach keine akzeptable Loesung (FP-Bonus, FPs-in-Quest-prozentual, 
   weiss Jof, ueber was noch alles beraten wuerde...) gab. Ich fuer meinen 
   Teil finde die FPs eine gute Bereicherung (wenn auch etwas ueberbewertet) 
   und war damit einverstanden, dass die aelteren Charaktere (und damit auch 
   ich selbst) zu Gunsten der Weiterentwicklung des Muds unter erheblichen 
   Nachteile leiden mussten und weiter leiden. Diese Einstellung wird, auch
   wenn Du es nicht glauben magst, auch von anderen geteilt.


Bierchen, Du machst gehaeuft strategische Fehler. Anstatt es bei einem
einzigen "Gegner" zu belassen und den Kriegsschauplatz der Etiquette gemaess
zu waehlen, suchst Du mit dem ganzen Mud Streit, beschuldigst die Ermzagier
in toto des folgenschweren Kluengeltums, ziehst ueber Deine Kollegen her
und greifst die Spielerschaft an, gehst dabei Schritte, die in erster Linie 
das Vertrauen anderer in Dich und den Respekt, den man Dir entgegenbrachte, 
gewaltig mindern.

Ist natuerlich nur meine Meinung.

Trotzdem sehr bedauerlich.

Anatol


-----------------------------------------------------------------------------



Re^15: entschaerftes gebiet (teil 3) (Montanus,  4. Jan 2001, 18:29:22):
~#! rn=Anatol rt=978626987 rg=entwicklung
~#! tid=978396241
Klasse Artikel, Anatol.
"--mehr--(28%)" erinnert mich an alte Zeiten, als Rzne noch gespielt hat.
Daher schreibe ich den folgenden Wettbewerb aus:
wer hier zu diesem Thread den laengsten sinnvollen Artikel schreibt, oder dem,
der das echte Re^1000: Schwuppdiwupp erreicht, spendiere ich auf der naechsten
Fete, auf der ich und die betreffende person gleichzeitig sind, was nettes
Alkoholisches. Fuer Nichttrinker ne KListe Saft.

Ist das nix?

-Montanus.

-----------------------------------------------------------------------------



Re^14: entschaerftes gebiet (teil 3) (Qitess,  4. Jan 2001, 20:23:48):
~#! rn=Bierchen rt=978564675 rg=entwicklung
~#! tid=978396241
Visual Life = Real Life

No Doubt.

QI**

-----------------------------------------------------------------------------



Re^15: entschaerftes gebiet (teil 3) (Amaryllis,  4. Jan 2001, 20:30:23):
~#! rn=Qitess rt=978636228 rg=entwicklung
~#! tid=978396241
heisst das nicht "Virtual"?

scnr,
Ama*

-----------------------------------------------------------------------------



Re^16: entschaerftes gebiet (teil 3) (Turbo,  5. Jan 2001, 13:09:24):
~#! rn=Slayer rt=978622595 rg=entwicklung
~#! tid=978396241
So, ich hab nun keine Gnade und antworte nochmal *g*.

Ich gebe zu meiner Schande zu, dass mir rechtliche Eroerterungen
auf deutlich hoeherem als Stammtischniveau Spass machen. Es steht
jedem frei, zum naechsten Artikel zu blaettern.

> Nachdem ich nun die Gelegenheit hatte, einen Magiervertrag zu lesen,
> noch mal eine kleine Stellungnahme, die ich dann fuer mich als
> abschliessend betrachte, da diese Rubrik ja entwicklung und nicht
> Seminar zum Urheberrecht heisst.

Schon klar, aber schade *g*.

[ Ich fasse hier mal stark zusammen: Slayer ist - wie wohl die meisten
  hier - der Meinung, dass willkuerliches Abhaengen durch Magier nicht
  stattfinden sollte. Er meint aber, dass ein Magier rechtlich sehr
  wohl berechtigt sein koennte, so zu handeln.

  Zur Begruendung fuehrt er an, dass der "Magiervertrag", den ein
  Magier bei seiner Magierwerdung online akzeptiert, keinen rechts-
  gueltigen Vertrag darstellt, da das Morgengrauen keine Rechtsperson
  und damit keinen rechtsfaehigen Partner darstellt, an den
  wirksam Rechte - hier besonders Nutzungsrechte - uebertragen
  werden koennen. Slayer verweist dabei auch darauf, dass die
  Uebertragung von "zukuenftigen Nutzungsrechten" der Schriftform
  bedarf.

  Als moegliche Loesung (alternativ zu Weiterwursteln wie bisher und
  gelegentliche Vandalismen frustrierter Magier zu ertragen) schlaegt
  Slayer vor, die Nutzungsrechte aus dem "Magiervertrag" herauszunehmen
  und durch eine schriftliche Vereinbarung zwischen dem Verein MG e.V.
  und dem RL-Individuum hinter dem Magier zu ersetzen. ]

Dem letzten Teil kann ich mich nur anschliessen, da damit alle
Unklarheiten beseitigt waeren (sofern das nicht zu buerokratisch
scheint) - hier waere auch ein Verpflichtung, den eigenen sowie
den im Rahmen der Arbeit zur Verfuegung gestellten und bekannt-
gewordenen Code nicht (auch nach Ausscheiden nicht) zum Schaden
des MG zu verwenden (Veroeffentlichung von Source und/oder KL),
ganz nuetzlich.

Trotzdem kann ich Slayer rechtlich nicht ganz zustimmen. Vertragliche
Verpflichtungen koennen, wo eine bestimmte Form nicht vorgeschrieben
ist, auch durch schluessiges Handeln zustandekommen (z.B. Kaufvertrag
am Automaten), vgl auch den "wirklichen Willen", der bei einer
Willenserklaerung massgeblich ist (Par. 118ff., bes. 133 BGB).
Und man kann da auch kaum stille Vorbehalte geltend machen.
Immerhin stellt die Programmierergemeinde dem neuen Magier auch
eine Menge von Ressourcen und Diensten zur Verfuegung, die er ja
auch akzeptiert. Das _ist_ schluessiges Handeln i.S. des BGB.

Und die Schriftform nach Par. 40 UrhG ist nur erforderlich "zur
Einraeumung von Nutzungsrechten auf kuenftige Werke", also z.B. bei
einem Autorenvertrag mit einem Verlag ueber ein zu schreibendes
Buch, Drehbuechern fuer die kommenden Folgen einer Fernsehserie etc.,
also nichts, womit wir hier zu tun haetten.

Man kann sich mithin schwerlich darauf herausreden, weil das MG keine
Rechtsperson sei, seien alle Absaetze des Magiervertrags belanglos
und man koenne nach Belieben verfahren. Wie ich schon erwaehnte, sehe
ich in dem Magiervertrag - wie auch in den allgemeinen Spielregeln -
auf jeden Fall eine Benutzerordnung fuer Spieler und Programmierer.
Wenn diese Benutzerordnung vorsieht, dass aktiver, angehaengter Code
nicht willkuerlich veraendert werden darf, ist ein Verstoss dagegen
rechtswidrig, unabhaengig vom Urheberrecht.

> P.S.: Hi Turbo, in Parag. 303a StGB steht rechtswidrig als sog.
> einschraenkendes Tatbestandsmerkmal drin. D.h. gegen das
> Verfuegungsrecht des Speichernden. Da aber wie oben angemerkt
> ein solches Verfuegungsrecht derzeit
> nicht existiert, fehlt es an diesem TbMerkmal :-)

Seh ich nicht so :-). M.E. hat der Magier auch dann nur das Recht,
das Abhaengen in angemessener Frist zu verlangen, wenn er alleiniger
Urheber ist und die Nutzung wirksam untersagen darf. Das willkuerliche
Abhaengen kann unabhaengig davon rechtswidrig sein (ich schreibe
"kann", wer wegen sowas zur StA rennt, hat noch heftiger einen an
der Waffel als "ich mach meine Files kaputt"-Vandalen).

> So, ich geh jetzt wieder spielen ... :-)

Ja, viel Spass. Ich auch *g*

Turbo (Kater)


-----------------------------------------------------------------------------



Re^8: entschaerftes gebiet (teil 3) (Vincent,  5. Jan 2001, 13:25:00):
~#! rn=Padreic rt=978519760 rg=entwicklung
~#! tid=978396241
Also wenn ich hier lese, wie einige Leute mit Copyright und Nutzungsrechten
argumentieren, dann stehen mir die Haare zu Berge, ob des Realitaetsferne.
Glaubt Ihr wirklich, dass Magiere gerichtlich durchsetzen koenne, dass
das Morgengrauen ihren Code nicht weiter benutzt? Mein Ihr im Ernst, dass
ein deutsches Gericht sich damit auseinandersetzen wird, ob das
Computerspiel Morgengrauen Copyrights von Magieren verletzt, die hier
freiwillig, unentgeltlich - sozusagen aus Liebhaberei (so wird das
naemlich gesetzlich genannt) - programmiert haben und sich der Risiken,
Grauzonen - auch wenn sei nicht schriftlich fixiert sind - bewusst sind oder
waren? Ich bin mir ziemlich sicher, dass jede Anklage, einstweilige
Verfuegung oder was auch imemr, wegen Nichtigkeit des Porblems und wegen
zu geringen streitwerts abgeschmettert werden.

Sollen die Magiere doch ihre Gebiete abhaengen. Dann werden die Bereiche
eben wieder anghaengt und den Magieren der entsprechende Zugriff gesperrt.
Aus fertig. Dagegen ist nichts zu machen. Genausowneig, kann das morgengrauen
es verhindern, dass magiere ihren Sourcecode offenlegen.

Sorry, dass ich gewisse Leute aus ihrer Traumwelt reisse. Aber Vergleiche
zwischen Morgengrauen und einer Firma, oder die Herleitung von Spekulationen
ueber den Ausgang des zweiten Weltkrigs (offtopic, war glaube ich in dem
thread bezueglich Schleichers Ausstieg), sind ja wohl nur absurd.


So, das ist meine Meinung als Spieler.

Und desweiteren bin ich der Meinung, dass wer seine Selbstloeschung
aufbrausend
ankuendigt, das auch tun sollte, und wer seine Gebiete abhaengt, sich danach
auch konsequenter Weise zu loeschen hat. Und meine Bitte an die ganz obrige
Obrigkeit: Bitte nicht mehr restaurieren...sonst wird das alles zur Farce!

Gruss
Vincent
* kopfschuettelnd *

P.S.: Sorry fuer die Tippfehler. habe hier aber gerade ein Terminal zwar
mit laufendem TF aber ohne Backspace und Ctrl-h.

-----------------------------------------------------------------------------



Re^9: entschaerftes gebiet (teil 3) (Linflas,  5. Jan 2001, 13:33:16):
~#! rn=Vincent rt=978697500 rg=entwicklung
~#! tid=978396241
Nur kurz:

1. Jemand der Musik macht, und dies nicht nur um Geld zu verdienen, sondern
weil es ihm Spass macht, der macht das dann auch aus Liebhaberei? Hat er
deswegen keine Rechte an seiner Musik?

2. Es wurden schon Gerichte wegen kleineren Dingen angerufen.

Linflas, hat keine Ahnung von Gesetzen, aber von Vernunft.

-----------------------------------------------------------------------------



Re^10: entschaerftes gebiet (teil 3) (Vincent,  5. Jan 2001, 15:04:41):
~#! rn=Linflas rt=978697996 rg=entwicklung
~#! tid=978396241
Klar macht er es dann aus Liebhaberei. Und klar hat er Rechte an den
Musikstuecken die er komponiert hat. Das betsreite ich nicht. Jeder
Programmierer hat als Autor Rechte an dem was er programmiert.

Aber glaubst Du wirklich, dass Du einem Gericht erklaeren kannst,
dass ein beleidigter Magier, Gebiete aus Morgengrauen abhaengen darf, ohne
dass die Richetr, Schoeffen, Schlichetr oder was auch immer Dich fuer
verrueckt erklaeren?

Ausserdem hinkt Dein Vergleich mit einem Musiker. Wenn dann mkuesstest Du
schon mehrere Musiker anfuehern, die an einem Stueck schreiben, in einer
Weise, dass jeder einen Teil dazu beitraegt.

Jeder,der Magier wurde in MG, weiss worauf er sich eingelassen hat: Auf ein
Computerspiel, an dem er gemeinsam mit anderen weiterentwickelt. Und wenn
einer ploetzlich beleidigt ist, kann er eben nicht einfach seine Teile
rausziehen und dadurch dem Ganzen Schaden zu fuegen.

Aber ich verliere mich ja shcon selbst in einer unnoetigen Argumentation.
Lassen wir es doch einfach darauf ankommen: Soll Bierchen doch das Verwenden
seiner Gebiete gerichtlich untersagen lassen. Lassen wir es doch einfach
darauf ankommen. 
Und ich kann dir vroaussagen: es wird nichts passieren. Weil weder
Bierchen es fertigbringt vor den Kadi zu gehen, noch wird er einen
Anwalt finden, der ihn bei einer solchen Sache vertreten wird, noch wird
ein Gericht sich mit einr solchen Sache befassen. Es gibt naemlich
soetwas wie die Verhaeltnismaessigkeit der Dinge.

Und Sorry. Das was heir gerade als Fehde abgeht, ist weniger als Kleinkram
aus Sicht der Gerichte. Fuer Bierchen, Wim und alle  anderen Beteiligten mag
es ja von Wichtigkeit sein, aber doch nicht aus rechtlicher Sicht. Das
waere doch genauso, wenn zwei zwoelfjaehrige Kinder sofort das gericht
anrufen,
weil sie sich um ein Himbeereis streiten.

Genauso wie Bierchen seine Autorenrechte an seinen Programmen hat, genauso
hat das Morgengrauen Rechte diese zu benutzen, da BIerchen sie ja fuer
Morgengrauen programmiert hat. Wenn es hier um kommerzielle Werte gehen
wuerde, dann koennte man das evt. von einem Gericht klaeren lassen. Aber
das ist ja bei Morgengrauen nicht der Fall.

Kurz gesagt: Hier passiert gerade viel Laerm um nichts....

Gruss
Vincent

-----------------------------------------------------------------------------



Re^11: entschaerftes gebiet (teil 3) (Linflas,  5. Jan 2001, 16:29:36):
~#! rn=Vincent rt=978703481 rg=entwicklung
~#! tid=978396241
Na da es hier einige Gemueter anscheinend aufs aergste erregt, scheint es wohl
weniger Laerm um nichts zu sein. Doch das ist eine persoenliche Sache des
betroffenen Magiers und sollte es auch bleiben.
Was die rechtliche Kiste angeht, so finde ich es doch recht interessant wie
viele verschiedene Aufassungen hier gegeben sind.
Mich interessiert eigentlich nur eins: Ist es in Ordnung, dass Bierchen seinen
Kram abhaengt (aus welchen Gruenden auch immer) oder nicht?
Klar, aus Sicht der Spieler, Seher und sonstwasses die sich da rumtreiben ist
es ziemlich doof, das MG verliert recht interessante Gebiete.
Aber irgendwie ist es doch auch Bierchens Bier wie er mit "seinem" Kram
umgeht, oder nicht?
Oder hat etwa das MG durch den Magiervertrag das Recht erkauft, das geistige
Eigentum der Megier zu besitzen?

Dreht sich diese Diskussion etwa im Kreis?

Mir scheint es so. Also seid einfach mal lieb, lasst den Mist endlich ruhen,
Bierchen Bierchen und Wim Wim sein. Und auch wenn das MG ein Kluengelverein
ist wie er im Buche steht, wer das nicht mag, muss hier nicht Magier sein.

-----------------------------------------------------------------------------



Re^12: entschaerftes gebiet (teil 3) (Grimmborn,  5. Jan 2001, 17:20:55):
~#! rn=Linflas rt=978708576 rg=entwicklung
~#! tid=978396241
Wie Du schreibst: Es ist nicht in Ordnung. Es ist auch nicht in Ordnung wenn
ich Dir mit meiner Eisenstange auf den Schaedel schlage - die Argumentation
ist dann ja auch nicht "ist fuer Dich zwar ziemlich doof, aber wie ich mit
meiner Eisenstange umgehe ist ja schon irgendwie meine Sache".
Ja, das war die moralische, nicht die rechtliche Argumentation. Dass meiner
Ansicht nach die rechtliche dasselbe Ergebnis hat ist ja bekannt.
Und dass so ein paar Raeume den Wind nicht wert sind ebenfalls. Das ist der
pragmatische Ansatz: Wenn er die Raeume loeschen will, bitte sehr. Damit
schaedigt er allerdings das MG, und ich kann da nicht einsehen wieso so jemand
dann noch Magierstatus haben sollte.

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re^12: entschaerftes gebiet (teil 3) (Turbo,  5. Jan 2001, 17:26:04):
~#! rn=Linflas rt=978708576 rg=entwicklung
~#! tid=978396241

[..]
> Was die rechtliche Kiste angeht, so finde ich es doch recht interessant wie
> viele verschiedene Aufassungen hier gegeben sind.

Um da auch nochmal meinen Senf zuzugeben *g*: Vincent irrt, wenn er
meint, ein Gericht wuerde eine Klage auf Ab-/Anhaengen des Codes
durch Bierchen/MG-Admins nicht annehmen. Je nachdem kann da auch
ein erheblicher Streitwert zusammenkommen, denn ehrenamtliche Arbeit
ist deshalb nicht wertlos. Ich wuerde mal schaetzen, je nach Umfang
des Codes und des durch Bierchens Vandalismus entstehenden Schadens
(Arbeit anderer Magier, um die Loecher zu stopfen bzw. sinnlos gewordene
Arbeit, die sich auf die abgehaengten Gebiete bezog u.a.) koennen
da locker ein paartausend Mark Streitwert zusammenkommen, ein
fuenfstelliger Wert ist auch nicht voellig abwegig. Das heisst
saftige Anwalts- und Gerichtskosten, falls jemand darauf scharf
sein sollte - und eine Rechtsschutzversicherung wird man dafuer
kaum begeistern. Falls also jemand was fuer den Anwaltsstand tun
moechte ..

> Mich interessiert eigentlich nur eins: Ist es in Ordnung, dass Bierchen
> seinen Kram abhaengt (aus welchen Gruenden auch immer) oder nicht?

Ich finde es nicht in Ordnung. Moralisch und aus Fairnessgruenden sowieso
nicht. Rechtlich auch nicht, aber das schrieb ich schon.

> Klar, aus Sicht der Spieler, Seher und sonstwasses die sich da rumtreiben
ist
> es ziemlich doof, das MG verliert recht interessante Gebiete.
> Aber irgendwie ist es doch auch Bierchens Bier wie er mit "seinem" Kram
> umgeht, oder nicht?

Nein. Er hat mit anderen zusammengearbeitet, die sich auf ihn verlassen
haben, die ihre Ideen und Entwuerfe mit den seinen abgestimmt haben,
die "seine" Gebiete in ihren Gebieten, evtl. Quests, NPC, Waffen,
was weiss ich auf die eine oder andere Weise beruecksichtigt haben,
denn ein Mud ist nunmal hochgradig interdependent.

> Oder hat etwa das MG durch den Magiervertrag das Recht erkauft, das geistige
> Eigentum der Megier zu besitzen?

Das Recht, die einem Gemeinschaftsprojekt zugefuegten Teilbeitraege zu
nutzen, zu integrieren und ggfs. zu veraendern, das hat die Program-
mierergemeinschaft des MG meiner Meinung nach erworben. Und ich will
mal die Paragraphen beiseite lassen (das ist hier in nem deutschen
Mud eh noch easy, in Muds, die Programmierer aus vier Kontinenten
und 20 Laendern haben, waeren Rechtsfragen noch katastrophaler).

Stell Dir mal vor, es waere nicht so und ein Magier wuerde ein paar
Gebiete und Quests proggen, dann kommt die neue Freundin und es ist
erstmal 2 Jahre Funkstille (alles schon passiert). Darf das Mud den
Code nutzen, ggfs. veraendern? Kann der Magier dann nach 2 Jahren
wiederkommen, "WAS HABT IHR MIT MEINEM CODE GEMACHT??" bruellen
und alles, in dem unter Umstaenden nun schon Monate Arbeit Anderer
stecken, einfach abhaengen? Worin unterscheidet sich das von
Bierchens Amoklauf?

> Dreht sich diese Diskussion etwa im Kreis?

Scheint so *g* .

> Mir scheint es so. Also seid einfach mal lieb, lasst den Mist endlich ruhen,
> Bierchen Bierchen und Wim Wim sein. Und auch wenn das MG ein Kluengelverein
> ist wie er im Buche steht, wer das nicht mag, muss hier nicht Magier sein.

Mir als Anfaenger kann das eh noch viel mehr piepe sein als dem Rest,
denn auf der Magieinsel war ich zwar mal, an die Parawelt brauche
ich aber noch garnicht zu denken.

Ich muss aber sagen, dass ich schon etliche Muds gesehen habe, und
"Kluengelvereine" waren/sind sie alle. Das ist nicht zu vermeiden,
denn ein Mud, wie jede Veranstaltung, die auf ehrenamtlicher Arbeit
beruht, ist eine Meritokratie, was letztlich aber heisst, dass die
mit den "groessten Verdiensten" ihre eigenen Verdienste und die der
anderen bewerten und die daraus abgeleiteten Raenge und Rechte
bestimmen.

Das ist nunmal rekursiv und notwendig kluengelmaessig. Fehlentscheidungen
und Ungerechtigkeiten (oder was so empfunden wird) sind da nicht zu
vermeiden. Damit muss man leben oder gehen. Und gehen tun nicht
unbedingt die "Boesen" und bestimmen nicht unbedingt die "Guten".
Life is not fair.

Aber man sollte mit Anstand gehen. Und das ist es, was ich Bierchen
vorwerfe, dass er das nicht zustandebringt. Selbst wenn er mit jedem
einzelnen Vorwurf gegen Wim und die uebrigen Admins Recht hat, ist das
Zerstoerungswerk, das er anrichtet, kleingeistig und arschlochmaessig.
Ich habe einige Wizwars erlebt (dass sich die Programmierer in Muds
irgendwann in die Wolle kriegen bzw. dauernd verzankt sind, hat schon
fast etwas naturgesetzliches *g*), aber ein derart unmoegliches Verhalten
ist dabei noch nicht vorgekommen. Naja, man lernt eben immer noch dazu.

Turbo (Kater)


-----------------------------------------------------------------------------



Re^13: entschaerftes gebiet (teil 3) (Wurzel,  5. Jan 2001, 19:03:42):
~#! rn=Turbo rt=978711964 rg=entwicklung
~#! tid=978396241
habt ihr es jetzt endlich?
nur ein wort zur klarstellung: der foerderverein mg e.v. ist eine
juristische person, die prinzipiell alles moegliche kann. zwar nicht
sofort, aber nach einer satzungsaenderung sicherlich. wenn da wirklich
interesse dran besteht, schlage ich vor das auf der naechsten mv zu
diskutieren, dann kann man naegel mit koepfen machen. und wer noch
rechtzeitig eintritt, darf sogar mitbestimmen :)

wurzel

p.s. der termin der naechsten mv ist noch nicht ganz klar. teddy,
walte deines amtes :)

-----------------------------------------------------------------------------



scharfes gebiet (teil x) (Tsunami,  5. Jan 2001, 20:29:32):
habe mich mal durch den Wust der Postings geackert und dabei ist es mir
dann wie Schuppen aus den Haaren gefallen: 
ganz klar, es sind die Inseln! Die Inseln sind schuld!
Erst Boschante, dann die Magieinsel. Die Inseln - das
Quellcode-Bermuda-Dreieck
dieses Muds...

Tsunami, froh, allen die Augen geoffnet und einen konstruktiven Beitrag zu
dieser ueberaus unterhaltsamen 'Diskussion' geliefert zu haben.

P.S. es ist schade, wenn ein Magier sein Werk, in das er viel Zeit investiert
hat und das viele Leute moegen, aus was auch immer fuer Gruenden abhaengen
will. Ich hoffe, es beruhigen sich alle wieder und es wird eine Loesung
gefunden. Ansonsten, tschau Bierchen und das Gebiet bleibt dran - my 2 cents.

Ansonsten, prosit Neujahr! :)

-----------------------------------------------------------------------------



Re^13: entschaerftes gebiet (teil 3) (Aline,  5. Jan 2001, 21:11:41):
~#! rn=Turbo rt=978711964 rg=entwicklung
~#! tid=978396241
Hi Turbo,

Zitat: "......aber ein derart unmoegliches Verhalten ist dabei noch
nicht vorgekommen." (in Bezug auf Bierchen, der seine Gebiete
einfach abhaengt)

Aehm *raeusper*

Frag mal ein paar aeltere Spieler nach den Skowe oder nach dem
Haus der Farben.
;)

Die Diskussionen in der MPA waren auf jeden Fall ziemlich aehnlich.
(Inklusive der rechtliche Aspekte.)

Und zu einem weiteren Punkt in Deiner Ausfuehrung moechte ich
auch noch meinen Senf dazugeben:

Zitat: "Code nutzen, ggfs. veraendern? Kann der Magier dann nach 2 Jahren
wiederkommen, "WAS HABT IHR MIT MEINEM CODE GEMACHT??" bruellen
..."

Jof bewahre! Bring bitte Troy nicht auf dumme Ideen!
Nicht, dass ich Angst habe, dass er seine Quests abhaengt.
Aber wenn er moechte, dass der urspreungliche Code
wiederhergestellt wird, moechte ich das Gebruell derjenigen,
die die Quests noch machen wollen/muessen nicht hoeren. ;)

Ansonsten bedaure ich natuerlich auch jedes
d
Ansonsten tut es mir auch um jedes Gebiet leid, was hier verschwindet.
Borschante zum Beispiel haette ich mir gerne mal
angesehen....

Gruesse

Aline

-----------------------------------------------------------------------------



Re^14: entschaerftes gebiet (teil 3) (Turbo,  5. Jan 2001, 22:52:23):
~#! rn=Aline rt=978725501 rg=entwicklung
~#! tid=978396241
> Hi Turbo,

Hallo Aline :-)

> Zitat: "......aber ein derart unmoegliches Verhalten ist dabei noch
> nicht vorgekommen." (in Bezug auf Bierchen, der seine Gebiete
> einfach abhaengt)

> Aehm *raeusper*
> Frag mal ein paar aeltere Spieler nach den Skowe oder nach dem
> Haus der Farben.  ;)

Vielleicht ist mein Argument nicht richtig ruebergekommen.
Ich zweifle nicht, dass derlei in MG vorgekommen ist und, wie
man im Falle Bierchen sieht, auch noch vorkommt.

Ueberhaupt ist Bierchen fuer mich nicht der absolute Uebeltaeter (tm),
sondern eher ein Symptom, wie die Sitten in der Serveradministration
in MG verfallen sind. Und als Systemadministrator und BOFH blutet mir
da das Herz.

Meine Kritik geht dabei mindestens so sehr an die Mud-Administration wie
an den Verursacher. Auf einem von mir oder einem anderen richtigen (tm)
Admin verwalteten Server haette sich Bierchen nach der ersten Aktion
dieser Art als Player Level 1 bzw auf einem Unix System mit einer
Login-Shell /bin/false wiedergefunden - mit seinen Files aus dem
Backup restauriert. Danach haette man sich unter Erwachsenen ueber
Sachfragen unterhalten koennen. Und damit ist kein Werturteil ueber
Bierchens Vorwuerfe gegen Wim, die Arches von MG allgemein oder was
immer impliziert, denn darueber weiss ich nichts und dazu steht mir
kein Urteil zu. Aber dazu, wie man Server mit komplexen Softwareprojekten
und bis zu 20.000 Benutzern administriert, steht mir eines zu, das
mache ich beruflich und mache es gut genug, so dass selbst der Vorstand
von Unternehmen mit (dezimal) 11stelligem Euro-Umsatz mir da nicht
reinquatscht (solange meine Server nicht crashen, natuerlich) und
meine dreisten Honorarforderungen diskussionslos akzeptiert.

Also nochmal: Meiner Auffassung nach laeuft das System, wie es
laeuft und wie es von den Admins konfiguriert ist, dass die wizzes
oder Magier da im Betrieb Sachen an- und abhaengen koennen, ist eine
(angenehme) Eigenschaft von LPC, es berechtigt aber keinen, aktiven
und in das regulaere Spiel integrierten Code willkuerlich zu entfernen.
Wer sowas macht, sollte sofort auf PL1 demotet oder gleich geloescht
werden. Punkt.

Meine Programmierer, DBAs etc. koennen auch ne Menge machen, aber wenn
da einer so aus der Reihe tanzen wuerde, muesste er auf Knieen ankommen
oder bis zum Vorstand gehen ehe er noch einmal einloggen duerfte. Nur
so administriert man einen Server, der mehr als ein Spielzeug fuer
einen Einzelnen ist. Und MG ist immerhin eine Veranstaltung fuer
insgesamt ueber tausend Leute, wenn ich das richtig sehe.

> Und zu einem weiteren Punkt in Deiner Ausfuehrung moechte ich
> auch noch meinen Senf dazugeben:

> Zitat: "Code nutzen, ggfs. veraendern? Kann der Magier dann nach 2 Jahren
> wiederkommen, "WAS HABT IHR MIT MEINEM CODE GEMACHT??" bruellen
> ..."

> Jof bewahre! Bring bitte Troy nicht auf dumme Ideen!
..

Naja, ich bin wirklich neu in MG. Aber grundsaetzlich gilt das
Gleiche. Einen Server administriert man nicht (nur) mit Nettigkeit.
Wohlgemerkt: ich bin der netteste und hilfsbereiteste Admin, solange
alle tun, was ich will :-) .

> Gruesse
> Aline

Schnurr

Turbo (Kater)

-----------------------------------------------------------------------------



Re^15: entschaerftes gebiet (teil 3) (Padreic,  6. Jan 2001, 01:24:18):
~#! rn=Turbo rt=978731543 rg=entwicklung
~#! tid=978396241
Also allmaehlich faengt es an interessant zu werden...
Was sind denn Magier in Deinen Augen Turbo, bzw. welche Rechte haben Magier
an ihren Gebieten? Solange mich niemand fuer meine Arbeit bezahlt, ist alles
was ich hier code mein geistiges Eigentum und ich bin sehr wohl der Meinung,
das hier niemand gegen meinen Willen Aenderungen an meinem Code vornehmen
darf (bzw. im Zweifel das urspruengliche Gebiet so wie es von mir erdacht
wurde, wieder restauriert wird). Alles was ueber reines debuggen von Sourcen
hinaus geht, ist ohne Absprache selbst mit einem Nutzungsrecht nicht zu
rechtfertigen und ich habe auch sehr wohl etwas dagegen, wenn hier jemand
unter meinem Namen (oder meinem Pseudonym) Gebiete oder Objekte anschliesst.
Gebiete wie die Hochebene oder Hauptverbindungswege liegen bewusst nicht in
Magierverzeichnissen, um einen klaren Trennstrich zwischen "privatem" und
oeffentlichen Code zu ziehen. Der Verlust der dem MG durch das abhaengen
einzelner Gebiete entsteht, ist in meinen Augen nichts, im Vergleich zu dem
Verlust der entstehen wird, weil hier niemand mehr etwas proggen will.
Ich fuer meinen Teil werde hier eher zu proggen aufhoeren, als irgendwelche
Vertraege zu unterschreiben in denen ich saemtliche Rechte irgendwem anders
ueberschreibe. Wenn Du anfaengst, die Magier fuer ihre Arbeit zu bezahlen,
dann hast Du alle Rechte an den Sourcen der Magier, bis dahin aber nicht.
Magier proggen Code, nicht Spieler und seht zu das ihr nicht eine
Atmosphaere schafft, in der niemand mehr bereit ist, hier auch nur einen
einzigen Finger zu ruehren.

Padreic (Magier _kein_ Proggsklave)

-----------------------------------------------------------------------------



Re^15: entschaerftes gebiet (teil 3) (Wurzel,  6. Jan 2001, 02:04:47):
~#! rn=Turbo rt=978731543 rg=entwicklung
~#! tid=978396241
geht natuerlich etwas an der realitaet vorbei.
wenn das bei euch in der firma so ist, sag doch welche das ist, damit ich
nicht zufaellig ein paar aktien davon halte...
ein admin ist nicht der chef, sondern der dienstleister. und wenn der
nicht spurt, fliegt er eben raus. sehr einfach, jedenfalls in allen
firmen die ich kenne (und das sind nicht wenige).
aber es ist auch falsch, die magier hier mit admins zu vergleichen. zeigt
fuer mich, dass das prinzip noch nicht vollstaendig verstanden wurde...
egal, du schreibst ja selbst, dass du hier neu bist.
leute, ihr macht es mir wirklich schwer mich hier zurueckzuhalten.

wurzel

-----------------------------------------------------------------------------



Re: entschaerftes gebiet (teil 3) (Rochus,  6. Jan 2001, 11:43:42):
~#! rn=Bierchen rt=978396241 rg=entwicklung
~#! tid=978396241
(Ich konnte laengere Zeit nicht ins Mud, weil die Telekom Mist
gebaut hat, daher die verspaetete Antwort)
> kaum spaeter entfernte der rochus das
> bierchen als papi von wim und setzte sich selbst ein, moege jeder
> denken, warum diese komische aktion stattgefunden hat.
Wim wollte von mir adoptiert werden.

  Rochus

-----------------------------------------------------------------------------



Re^16: entschaerftes gebiet (teil 3) (Turbo,  6. Jan 2001, 13:39:38):
~#! rn=Padreic rt=978740658 rg=entwicklung
~#! tid=978396241
Hallo Padreic

Nebenbei: Ich war auch schon Wizard aka Regionsmitarbeiter in Muds.
          Ich quassle also nicht aus dem hohlen Bauch. Und ich habe
          schon grosse Softwareentwicklungen administriert, vor denen
          sich das Durchschnittsmud eher verstecken muss. Also erzaehl
          mir bitte nicht, ich wuesste nicht, wovon ich rede.

> Also allmaehlich faengt es an interessant zu werden...
> Was sind denn Magier in Deinen Augen Turbo, bzw. welche Rechte haben Magier
> an ihren Gebieten? Solange mich niemand fuer meine Arbeit bezahlt, ist alles
> was ich hier code mein geistiges Eigentum und ich bin sehr wohl der Meinung,
> das hier niemand gegen meinen Willen Aenderungen an meinem Code vornehmen
> darf (bzw. im Zweifel das urspruengliche Gebiet so wie es von mir erdacht
> wurde, wieder restauriert wird). Alles was ueber reines debuggen von Sourcen
> hinaus geht, ist ohne Absprache selbst mit einem Nutzungsrecht nicht zu
> rechtfertigen und ich habe auch sehr wohl etwas dagegen, wenn hier jemand
> unter meinem Namen (oder meinem Pseudonym) Gebiete oder Objekte anschliesst.
> Gebiete wie die Hochebene oder Hauptverbindungswege liegen bewusst nicht in
> Magierverzeichnissen, um einen klaren Trennstrich zwischen "privatem" und
> oeffentlichen Code zu ziehen. Der Verlust der dem MG durch das abhaengen
> einzelner Gebiete entsteht, ist in meinen Augen nichts, im Vergleich zu dem
> Verlust der entstehen wird, weil hier niemand mehr etwas proggen will.
> Ich fuer meinen Teil werde hier eher zu proggen aufhoeren, als irgendwelche
> Vertraege zu unterschreiben in denen ich saemtliche Rechte irgendwem anders
> ueberschreibe. Wenn Du anfaengst, die Magier fuer ihre Arbeit zu bezahlen,
> dann hast Du alle Rechte an den Sourcen der Magier, bis dahin aber nicht.
> Magier proggen Code, nicht Spieler und seht zu das ihr nicht eine
> Atmosphaere schafft, in der niemand mehr bereit ist, hier auch nur einen
> einzigen Finger zu ruehren.

Ich fange mal an, Deine nicht sehr systematisch gestellten Fragen sytematisch
zu beantworten.

Du nimmst hier als Programmierer teil an einem Gemeinschaftsprojekt. Das
heisst, Dein Beitrag wird akzeptiert oder nicht. Love it or leave it.

So einfach. Dein Code ist Beitrag zu dem Gemeinschaftsprojekt, er passt
in Entwurf, Balance, Konzept etc. oder er passt nicht. Love it or leave it.

Wenn Du Deine Gebiete, Quests, was immer, darin einbringen kannst, ist das
ok, wenn nicht, machs gut, schoen, Dich kennengelernt zu haben.
Was Du einbringst, was von der Gemeinschaft der Programmierer und den
Admins akzeptiert wurde, ist ein toller Beitrag zur Weiterentwicklung des
Mud, Dein Name klebt dauerhaft daran, Dein Ruhm wird verbreitet, aber
Du kannst nicht irgendwann sagen: "Eure Nase passt mir nicht mehr,
ich haenge alles ab".

Und ich finde nicht, dass ein Mud administrierbar ist, wenn jeder
Programmierer jederzeit fordern kann, dass "sein" Code rueckstandslos
entfernt wird. Eine solche Forderung ist imho auch rechtlichg Nonsens,
sittenwidrig, wider Treu und Glauben etc., ich halte es fuer einen
Fehler, dass man ihr jemals nachgegeben hat.

So sehe ich das, andere moegen das anders sehen.

Noch was zur Frage Magier vs. Spieler: Du hast recht, dass sich Spieler
anders und weniger als Magier in das Spiel einbringen. Deshalb haben
sie weniger Rechte und Pflichten. Eine Meinung duerfen sie trotzdem
haben. Wenn die nicht erwuenscht ist oder nicht interessiert, kann
das betreffende Thema auf den Magierbrettern weitereroertert werden,
dazu sind die da.

Turbo (Kater)

-----------------------------------------------------------------------------



Re^17: entschaerftes gebiet (teil 3) (Bambi,  6. Jan 2001, 13:55:17):
~#! rn=Turbo rt=978784778 rg=entwicklung
~#! tid=978396241
wieso muss ich hier eigentlich alles mehrmals lesen???

-----------------------------------------------------------------------------



Re^18: entschaerftes gebiet (teil 3) (Turbo,  6. Jan 2001, 13:58:31):
~#! rn=Bambi rt=978785717 rg=entwicklung
~#! tid=978396241
sorry, war mein Fehler, die urspruengliche Antwort kam ziemlich gescramblet
raus (vermaust beim Kopieren), deshalb hab ich sie geloescht und repostet.
Kommt nicht wieder vor (hoffentlich).

Turbo

-----------------------------------------------------------------------------



Re^15: entschaerftes gebiet (teil 3) (Sito,  6. Jan 2001, 19:16:30):
~#! rn=Turbo rt=978731543 rg=entwicklung
~#! tid=978396241
Ein Mud kann man nicht so administrieren wie weie ein Unix-System. Vielleicht
schon, aber dann endet alles so wie in einen gewissen anderen Winz-MUD, wo 80%
der Gebiete nicht angeschlossen sind und jetz nur noch Mr. Gott himself
eigentlich dort ist. Es sind ihm halt die Leute davongelaufen ... :)

Sonst kann ich nur Aline recht geben, was sie meint.

klein-sito

-----------------------------------------------------------------------------



Re^3: entschaerftes gebiet (teil 2) (Patryn,  7. Jan 2001, 17:37:34):
~#! rn=Jenandra rt=978382984 rg=entwicklung
~#! tid=978380992
mein telnet enbtschuldige eine noch schlechtere formatierung als sie
sich sonst schon darstellt...
du sollst dir hier nicht alles gefallen lassen, du hast einen mund zuum reden.
wenn du etwas, was hier angehaengt wird, nicht fuer alle
zeit zur verfuegung stellst, dann hoer hier auf zu proggen, korrekt.
ein gebiet macht nicht nur dir selbst arbeit, man denke
da an zahlreiche gremien wie zb FPs, kiullSTUPS,
Balance, gildenitems, investierte zeit der spieler, tester, ...
(beliebig fortzusetzen)
ich bin nach wie vor strikt dagegen, dass hier irgendetwas
abgehaengt wird, was ins mud mit der arbeit vieler
integriert wurde.
ich hoffe, irgendwann kommen auch mal wichtige leiute auf den trichter.

------
patryn

-----------------------------------------------------------------------------



Re^21: entschaerftes gebiet (teil 2) (Patryn,  7. Jan 2001, 17:45:49):
~#! rn=Raidri rt=978394361 rg=entwicklung
~#! tid=978380992
das sollte dir zu denken geben, wenn du solche antworten desoefteren erlebst
;)

------
patryn, konnte nicht anders

-----------------------------------------------------------------------------



Re^17: entschaerftes gebiet (teil 3) (Patryn,  7. Jan 2001, 18:08:48):
~#! rn=Turbo rt=978696564 rg=entwicklung
~#! tid=978396241
irgendjemand sollte das problem mal einem jura-uebungsleiter in die hand
druecken,
die freuen sich immer, ihre studenten mit sinnigen hausarbeiten
zu belasten :)

------
patryn

-----------------------------------------------------------------------------



Re^11: entschaerftes gebiet (teil 3) (Patryn,  7. Jan 2001, 18:10:58):
~#! rn=Vincent rt=978703481 rg=entwicklung
~#! tid=978396241
ich empfehle die sendung ricgterin barbara salesch oder wie das heisst,
topwerbung fuers mud ;)

------
patryn

-----------------------------------------------------------------------------



entschaerftes gebiet (teil 4) (Bierchen,  8. Jan 2001, 04:31:32):
nachdem mir der zugriff auf ein verzeichnis bei den inseln gesperrt wurde, in
dem ich meine restlichen feuerinsel-files ablegen wollte, habe ich auch meine
files von der feuerinsel komplett abgehaengt.
gruss,
  - Bierchen -

-----------------------------------------------------------------------------



Re: entschaerftes gebiet (teil 4) (Golas,  8. Jan 2001, 04:36:42):
~#! rn=Bierchen rt=978924692 rg=entwicklung
~#! tid=978924692
kannste dir nicht endlich mal eigene buddelfoermchen kaufen oder schenken
lassen?
langsam wird es so richtig laecherlich!!!

golas veraergert

-----------------------------------------------------------------------------



Re: Re: entschaerftes gebiet (teil 4) (Bierchen,  8. Jan 2001, 04:38:44):
~#! rn=Golas rt=978925002 rg=entwicklung
~#! tid=978924692
witzbold, ich war gerade beim umschaufeln als sich jemand berufen fuehlte, das
zu verhindern. wer soll sich da ein foermchen kaufen?

-----------------------------------------------------------------------------



Re^3: entschaerftes gebiet (teil 4) (Golas,  8. Jan 2001, 04:43:38):
~#! rn=Bierchen rt=978925124 rg=entwicklung
~#! tid=978924692
am besten stelle ich mal ne grosse tonne damit auf, ihr benehmt euch so
dermassen kindisch, keine ahnung, wer da alles mitmischt, aber irgendwie habt
ihr ein echtes problem mit euch selbst und der welt.


-----------------------------------------------------------------------------



Re: scharfes gebiet (teil x) (Satanas,  8. Jan 2001, 11:04:25):
~#! rn=Tsunami rt=978722972 rg=entwicklung
~#! tid=978722972
Ist doch ganz klar, das hat mit dem Treibhauseffekt und der damit verbundenen
Eisschmelze im Polargebiet zu tun
Durch die Erhoehung des Meeresspiegels werden nach und nach alle Inseln
untergehen und im Polargebiet wird es endlich gruen (*freu*).

Jetzt ist noch die Frage: 'Woher der Treibhauseffekt?'
Durch die Abgase der wachsenden Spielerschaft? Durch verdampften Gehirnschmalz
der Magier? Oder Nebeneffekte der nervenden, langwierigen Zeitungs-Threads?
Die Antwort weiss nur der Wind ...

-----------------------------------------------------------------------------



Re: Re: scharfes gebiet (teil x) (Linflas,  8. Jan 2001, 11:34:20):
~#! rn=Satanas rt=978948265 rg=entwicklung
~#! tid=978722972

Heisse Luft...


-----------------------------------------------------------------------------



Offener Brief an Paracelsus (Orktoeter,  8. Jan 2001, 13:36:54):
Hallo Paracelsus!
Erst mal dank an dich fuer die Muehe und die neue Gilde (Tanjian) 
Nun aber gleich meine Bitte: Wenn die Tanjian zu stark sind, werte sie ab,
schnell. Wenn sie nicht zu stark sind, versuch das oeffntlich zu machen und
auch das bitte schnell.

WQarum?
So wie ich das sehe, ist die allgemeine Stimmung derzeit so, das die Tanjian
viel zu stark sind. 
Alleine diese Stimmung (ob zu recht oder unrecht moechte ich hier gar nicht
beurteilen)koennte fuer die Tanjian aehnlich folgen haben wie seinerzeit fuer
die Zauberer, das naemlich viele Magier in ihre Gebiete/NPC anti-tanjian
massnahmen einbauen, weil die ja so stark sind. 
Was dann aus einer Gilde werden kann sieht man an der Zauberergilde, von der
ich so hoere, das die Zauberer selbst nicht so gluecklich sind und die wohl
auch gruendlich ueberarbeitet werden soll)
Also noch mal: Wenn sie zu stark sind, bitte schnell abwerten, wenn sie nicht
zu stark sind schnell gegen die Stimmung vorgehen und die Leute ueberzeugen,
das Tanjian nicht zu stark sind.

Mit freundschaftlichen Gruessen, OrkT.

-----------------------------------------------------------------------------



Re: Offener Brief an Paracelsus (Darkwing,  8. Jan 2001, 16:42:35):
~#! rn=Orktoeter rt=978957414 rg=entwicklung
~#! tid=978957414
Da ist ne 0 zuviel was den Schutz der Tanjian angeht. Das ist jedenfalls mein
Eindruck.

-----------------------------------------------------------------------------



Re: Re: Offener Brief an Paracelsus (Patryn,  8. Jan 2001, 16:44:15):
~#! rn=Darkwing rt=978968555 rg=entwicklung
~#! tid=978957414
und diese anmerkung von nem kaempfer...die haben auch ihre nullen zu viel,
das mag man verstehen wie man will ;)

------
patryn

-----------------------------------------------------------------------------



Re: Offener Brief an Paracelsus (Noki,  8. Jan 2001, 18:26:49):
~#! rn=Orktoeter rt=978957414 rg=entwicklung
~#! tid=978957414
Kuemmert Euch lieber um die D'elfen! Die sind konzeptuell sowieso eine
fragwuerdige "Gilde". und die tanjian zu stark? mmh, dann mache ich wohl
wirklich, was fal was falsch. oder metzele zu gern im team... jedenfalls kann
sich jeder doch selbst davon ueberzeugen, wie stark die Tau-Brueder und
Schwestern sind. Spielt Euch einen hoch und viel Spass.

Noki, kann diese allgemeine Tanjian-Hysterie nicht verstehn.

-----------------------------------------------------------------------------



Re: Re: Offener Brief an Paracelsus (Grellgen,  8. Jan 2001, 18:30:59):
~#! rn=Noki rt=978974809 rg=entwicklung
~#! tid=978957414
Genau!
Die Delfen sind eh viel zu stark! Die haben ja sogar nen Spell um das Mud
crashen zu lassen!

scnr,
Grellgen, Tanjianwurst, arm, klein, schwach, mittellos, an Paras aeh Papas
Rockzipfel haengend :)

-----------------------------------------------------------------------------



Re^3: Offener Brief an Paracelsus (Qitess,  8. Jan 2001, 18:56:27):
~#! rn=Grellgen rt=978975059 rg=entwicklung
~#! tid=978957414
zu den Dunkelelfen:
Es ist ja wohl an sich ein Witz, dass eine 'Rasse' als 'Gilde' eingefuehrt
werden soll...kann ich als Weisszwerg da auch eintreten? und inwieweit wachsen
mir dann spitze Ohren? faellt mein Bart ab und wachse ich???

Und ausserdem halte ich es fuer wenig sinnvoll, dass eine in der Fantasy-Welt
allgemeinhin als 'boese' bekannte Rasse fuer Spieler zugaenglich sein soll. Da
ich als rechtschaffener Abenteurer einem Dunkelelfen nichts, aber auch gar
nichts freundliches abgewinnen kann, steht es fuer mich ausser Frage ihn zu
toeten, so er mir ueber den Weg laeuft. Nun habe ich in diesem Mud allerdings
das Problem, dass ich dann einen Mord begehe...nicht, wie es in den meisten
Welten gilt, als Befreier von einer Plage.
Und damit komme ich zum dritten Punkt: Dunkelelfen sind bereits in ihrer
Testphase ein Plage. Wenn ich nichtsahnend durch die Gegend queste, Bluemchen
pfluecke und neue Gegenden erkunde, steht in letzter Zeit immer haeufiger ein
Dunkelelf da herum, der den Raum dermassen abdunkelt, dass nicht einmal drei
verschiedene Lichtquellen ausreichen. Das macht mich recht wuetend. Wenn die
Dunkelelfen es schon lieber dunkel haben wollen, sollen sie gefaelligst in
ihren Loechern bleiben!

Zum Punkt 'Boesartigkeit' wollte ich noch anmerken, dass das Argument, dass
Chaoten doch auch boese seien, nicht zaehlt, denn es gibt sehr wohl einen
Unterschied zwischen 'chaotisch' und 'boese'.

QI** die sich nicht mit Oberflaechen-Dunkelelfen abfinden kann.

P.S.: Wann kommt die Ork-Gilde?

-----------------------------------------------------------------------------



Re^4: Offener Brief an Paracelsus (Humni,  8. Jan 2001, 19:23:43):
~#! rn=Qitess rt=978976587 rg=entwicklung
~#! tid=978957414
Seh ich nicht so. Der Unterschied zwischen ,chaotisch' und ,boese' ist in dem
Moment nicht mehr da, wo ich boese sein muss, um beizutreten (oder??),
Daemonen beschwoere und am Anfang gesagt bekomme ,Man tritt der Gilde bei, um
sehr sehr boese Dinge zu tun' oder so (kenn mich da aber nicht aus). Die
Chaoten sind eindeutig der Gegenpol zu den Klerikern

Und ich glaube, dass Delfen ne Bereicherung fuer das MG sind. Ob sie zu stark
sind ist ne andere Frage.

Orks wie in Orkhausen als Rsse? Warum eigentlich nicht? Ich wuerde das gut
finden. Und auch boese Orks: Warum nicht?

Der Kram passt meiner Meinung nach sehr gut ins MG. Ob die den Raum verdunkeln
muessen etc. ist ne andere Frage.

Humni, als R.A.Salvatore-Fan will Delfen im MG.
PS: Sonst koenntest Du Dir den ,Charakter' eh sparen im info-Aufruf.

-----------------------------------------------------------------------------



Re^5: Offener Brief an Paracelsus (Sting,  8. Jan 2001, 19:24:59):
~#! rn=Humni rt=978978223 rg=entwicklung
~#! tid=978957414
Hey Chaoten sind nicht der Gegenpol zu den Klerikern.
Chaoten sind ganz allgemein der Gegenpol :)

Sting

-----------------------------------------------------------------------------



Re^5: Offener Brief an Paracelsus (Anatol,  8. Jan 2001, 19:29:53):
~#! rn=Humni rt=978978223 rg=entwicklung
~#! tid=978957414
Ich weiss nicht, Humni. Immerhin geht es hier um eine Art Blutfehde. Ich 
als hoher Elf des Waldes mag ja vielleicht noch Toleranz (well, oder 
zumindest Mitleid) fuer den Fehlgeleiteten aufbringen, der sich dem 
Klerus oder den Chaoskriegern anschliesst.... auch zu einem Zwerg, der
ganz andere Wertmassstaebe hat, kann ich zur Not eine Art Beziehung
aufbauen... Aber die Vorstellung, dass ein  D u n k e l e l f  einfach
so in meine Heimatstatt marschiert und ich ihn nicht unter die Erde
schicken darf, die treibt mir eisige Schauer den Nacken hoch.

Wer in einem Non-Racewar-Mud eine boese Spielerrasse einfuehrt, zwingt
die Spieler, vom Rollenspiel Abstand zu nehmen. Noch mehr Abstand, als
sie von sich aus um der Zahlenwerte willen schon nehmen. Schade.

Lang lebe der Mulai! ;o)

Anatol, Elf


-----------------------------------------------------------------------------



Re^6: Offener Brief an Paracelsus (Humni,  8. Jan 2001, 19:38:58):
~#! rn=Anatol rt=978978593 rg=entwicklung
~#! tid=978957414
Du hast natuerlich Recht, Anatol, aber ich hab noch nie erlebt, dass sich ein
Kleriker weigert, mit einem Chaoten ins Team zu gehen, weil der andere ein
Chaot ist (sowas mag es gegeben haben, ja aber fuer das heilige Ziel -
- EKs eben ;-) - im Spiel ist drueckt man da entgegen jedem rollenspiel eh
beide Augen zu).

Wenn wir ein konsequentes Rollenspiel waeren muesste so etwas auch anders
beruecksichtigt werden - auch z.B. in der Mudlib, die dann PKs erlauben
meusste (nein nein ich will keine PKs im MG!!!) oder aehnliches.

Nur:Wenn wir das eh nicht sind - das konsequente Rollenspiel - dann spricht
fuer mich auch nix mehr gegen Delfen.

Auch mein Elf-Zweitie hat schon im Elfendorf gewuetet. Das war
Rollenspieltechnisch sicherlich schlecht, klar, aber es ging um EKs..

Gruss, Humni

-----------------------------------------------------------------------------



Re^7: Offener Brief an Paracelsus (Padreic,  8. Jan 2001, 19:51:57):
~#! rn=Humni rt=978979138 rg=entwicklung
~#! tid=978957414
Um einigen falschen Geruechten zu widersprechen, sag ich nun doch mal etwas
zu den Dunkelelfen. Zunaechst einmal handelt es sich wie Du bereits bemerkt
hast nicht um eine normale Gilde in die jeder eintreten kann, sondern eine
Gilde die gleichzeitig mit einer neuen Rasse (den Dunkelelfen) angeschlossen
werden wird. Die Dunkelelfengilde ist die Startgilde aller Dunkelelfen
(aehnlich wie auch die Katzenkrieger), sie ist aber _exklusiv_ Dunkelelfen
vorbehalten, sprich es wird keine Dunkelelfen Weisszwerge geben!
Dunkelelfen besitzen keinerlei Faehigkeit zum abdunkeln von Raeumen!!! Ich
weiss das derzeit eine Reihe von Testies den Raum abdunkeln, dies geschieht
aber mit einem uralten Objekt das so, bisher auch jede andere Gilde benutzen
kann. Dieses Objekt sollte eigentlich schon laengst umgestellt sein, mit
naeher Ruecken des Gildenanschlusses werde ich mich der Sache aber nun nochmal
annehmen und da nachhaken. Was das "boese" angeht, so gibt es bereits eine
Gilde im MorgenGrauen die boese Spieler vorraussetzt und ich kenne eine
Reihe von Spielern die auch ziemlich scharf auf eine boese Rasse sind. Im
Gegensatz zu den Chaoten wirst Du Dunkelelfen in der Praxis auch eher selten
ueber den Weg laufen, da sie nur aeusserst selten ungetarnt durch die Welt
spazieren werden. Vielleicht wartet ihr den Gildenanschluss einfach mal ab,
lasst Euch ueberrascht und schaut Euch das ganze erstmal an, bevor ihr
vorschnell irgendwelche Urteile abgebt. Bis dahin lasst ihr die Testphase
mal Testphase sein und wenn Euch etwas zu sehr stoert oder auffaellt,
schickt mir eine kleine mail.

Padreic

-----------------------------------------------------------------------------



Re^7: Offener Brief an Paracelsus (Wurzel,  8. Jan 2001, 19:52:08):
~#! rn=Humni rt=978979138 rg=entwicklung
~#! tid=978957414
ich weiss nicht was ihr gegen dunkelelfen habt.
eine boese gilde gibt es schon. die katzenviecher sind rassenspezifisch.
elfen und zwerge koennen sich normalerweise auch nicht leiden, warum
sollte es zwischen elfen und dunkelelfen anders sein? elfen mag eh
keiner :)
dunkelelfen vereinigen eben ein paar von den prinzipien, die im mg
schon lange vorhanden sind. etwas neues bringen sie in dieser hinsicht
nicht.

wurzel

-----------------------------------------------------------------------------



Re^8: Offener Brief an Paracelsus (Qitess,  8. Jan 2001, 19:54:52):
~#! rn=Wurzel rt=978979928 rg=entwicklung
~#! tid=978957414
elfen und zwerge koennen sich sehr wohl gegenseitig leiden.
QI**

-----------------------------------------------------------------------------



Re^9: Offener Brief an Paracelsus (Sting,  8. Jan 2001, 19:55:23):
~#! rn=Qitess rt=978980092 rg=entwicklung
~#! tid=978957414
Ihgitt, ist das pervers :)

Sting

-----------------------------------------------------------------------------



Re^8: Offener Brief an Paracelsus (Noki,  8. Jan 2001, 19:59:11):
~#! rn=Wurzel rt=978979928 rg=entwicklung
~#! tid=978957414
ich habe prinzipiell WENIG, unter den von Padreic geaeusserten
Vorraussetzungen NICHTS gegen eine D'elfengilde. ...      
Vielleicht ist es bedauerlich, dass sie so exklusiv ist, vielleicht
aergerlich, dass per se und definitionem boese Wesen nun als Spielerrasse
aktiv werden... und so die Idee einer freien Entscheidung etwas untergraben
ist... (gehoert aber in die Rubrik schmarrn oder philosophisches blabla).
Nur das gegen die Tanjian so gewettert wird, habe ich was. Abwerten? Bitte.
Dann sorgt aber auch dafuer, dass die Leistungskurve der Tanjian schneller
ansteigt. Man kann naemlich ewig lange erstmal fast nichts... quod erat
demonstrandum in arena ;)

noki, aus ueberzeugung tanjian. und ELF! :)

-----------------------------------------------------------------------------



Re^9: Offener Brief an Paracelsus (Wurzel,  8. Jan 2001, 20:05:45):
~#! rn=Noki rt=978980351 rg=entwicklung
~#! tid=978957414
das mit der lernkurve kann ich unterstuetzen. eine mir nahestehende
person belegt stunden- und tageweise meinen rechner, mit dem ergebnis
dass eine obskure faehigkeit von "fast gut" auf "gut" gestiegen ist...

alternativ nehme ich aber auch hardwarespenden fuer einen zweitrechner
entgegen, dann darf es von mir aus so bleiben wie es ist :)

wurzel

p.s. sind wir hier in der richtigen rubrik, grimmborn?

-----------------------------------------------------------------------------



Re^9: Offener Brief an Paracelsus (Sango,  8. Jan 2001, 20:27:15):
~#! rn=Noki rt=978980351 rg=entwicklung
~#! tid=978957414
Eigentlich bin ich ja keine GRosse MPA-Schreiberin, aber der artikel hat mich
doch nun sehr zum Schreiben gereizt.
Einerseits von wegen Exklusivitaet. Was ist den schlecht daran wenn eine Rasse
auch als solche behandelt wird ? Und nicht als ansammlung von Punkten und
Werten die vorteile bei der Gilde oder dem Kaempfen bringen ? Als Stolze
Feline find eich es z.B. sehr schade das wir kaum moeglichkeiten haben auf
unsere Rassenspezifischen Vorteile einzugehen, selber in unser eigenen Gilde
kann jede andere Rasse eintreten und hat kaum relevante Nachteile. Ich
persoenlich find es KLasse das endlich mal wer wirklich auf die Rasse eingeht
und sie in den VOrdergrund tellt und nicht die Gilde, die Faehigkeiten oder
die Werte.

Was die Tanjian anbelangt, die sind wirklich verdammt stark, entgegen den
meisten anderen Level sind sie es auch von Anfang an. Schau dir doch mal die
anderen Gilden an, spiel ein paar Charas in anderen Gilden und find heraus wie
wenig Effektives man vorallem am Anfang kann und beschwer dich dann noch mal,
was du dan aber kaum tun wirst...

Sango, Chaotin und Feline aus Leidenschaft =^o^=

-----------------------------------------------------------------------------



Re^10: Offener Brief an Paracelsus (Humni,  8. Jan 2001, 20:42:12):
~#! rn=Sango rt=978982035 rg=entwicklung
~#! tid=978957414
VORSICHT MEINUNG UND EINSCHAETZUNG!

Zum eigentlichen thema: Tanjian sind gut. Sehr gut sogar, keine Frage, die
Defensiv-Werte besonders.
Und nein, da ich nicht derjenige bin, der sich im MG am besten auskennt nutz
ich laengst nicht das volle Potential meiner Spieler.
ABER: Tanjian haben ihre Nachteile, und die sind auch sehr offensichtlich. Sie
stehen vielleicht laenger im Raum beim Monster, aber sie machen in der Zeit
deutlich weniger Schaden als ein guter Kaempfer. Ihr Schnell ist langsamer und
sowas wie Waffenschlag oder ne Kombination kopfstoss/kniestoss/kampftritt gibt
es nicht. Die Angriffspells haben ALLE eine Spellpreparezeit.
Des weiteren gibt es keinen Fokus. Das ist wirklich ein nicht zu
unterschaetzender Nachteil.

Vielleicht seh ich das falsch (Kaempferzweitie auf level 18, Tanjian auf level
8) und kenn die obersten Raenge nicht gut genug. Bisher kann ich nur diese
Raenge vergleichen, beide nicht mit maximaler Ausruestung, und muss sagen: Je
nach Situation und Monster ist der eine oder der andere besser.

Des weiteren muss man um leistungsfaehig zu bleiben als Tanjian staendig
meditieren. Das kann bei bestimmten Aktionen auch ganz gut nerven.

Humni, wollte mal ne Einschaetzung loswerden.
PS: Level sind natuerlich Gildenlevel, Spielerlevel sind beiden 39 (ja ich
weiss ich hab nur Wuerste).

-----------------------------------------------------------------------------



Re^4: Offener Brief an Paracelsus (Ark,  8. Jan 2001, 21:10:12):
~#! rn=Qitess rt=978976587 rg=entwicklung
~#! tid=978957414
Och, das kennen wir doch schon aus dem Rollenspiel. Neutral Boese, Dieb, in
der Gruppe *raeusper*. Spielt er getreu der Gesinnung, hat der Spielleiter
einen "lustigen" Abend vor sich, und der Dieb sein letztes Stuendlein. Laesst
er das Ausrauben der Mitspieler sein, hat er nicht toll gespielt. Soviel zu
"gut" und "boese". Ausserdem verbietet Dir hier auch keiner, sogenannte Engel
als Kleriker zu metzeln. Wenn man sowas wirklich bestrafen wollte
(programmiertechnisch), au weia, was dann wieder los waere. Spieler Hinz kann
Monster Kunz nur unter Androhung schwerster Konsequenzen metzeln *oweh* oder
gar nicht *schrei*. Rollenspielgetreu sind wir hier nicht und werden es auch
nicht, ob leider oder gottseidank mag jeder denken wie er will.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^8: Offener Brief an Paracelsus (Ark,  8. Jan 2001, 21:17:18):
~#! rn=Padreic rt=978979917 rg=entwicklung
~#! tid=978957414
Wenn ich mich recht erinnere, sind die Dunkelelfen ueber der Erde eher
Einzelgaenger und "... gut" oder zumindest "... neutral". Hab sowas doch mal
irgendwo gelesen bei Drizzt & Co.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^9: Offener Brief an Paracelsus (Ark,  8. Jan 2001, 21:18:26):
~#! rn=Qitess rt=978980092 rg=entwicklung
~#! tid=978957414
Cool, Geheimbuendnisse von Dunkelelfen und Zwergen gegen die Waldelfen. Wer
schreibt die Quest?


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^10: Offener Brief an Paracelsus (Anatol,  8. Jan 2001, 21:19:32):
~#! rn=Ark rt=978985106 rg=entwicklung
~#! tid=978957414
Ich kann mir keinen Zwerg vorstellen, der mit einem Dunkelelf gemeinsame
Sache machen wuerde. Zwischen Elf und Zwerg mag zwar Disharmonie herrschen,
Hass aber lebt allein zwischen Dunkelelf/zwerg und den Rassen des Lichts.

Hey, sogar ich hab ... *huestel* zwergische Freunde.

Anatol

-----------------------------------------------------------------------------



Re: entschaerftes gebiet (teil 4) (Solmyr,  8. Jan 2001, 21:20:20):
~#! rn=Bierchen rt=978924692 rg=entwicklung
~#! tid=978924692
Ein Glueck, dass Du keine wirkliche Macht hast und Dir Port Vain
oder ein Teil der Ebene *gehoert* ;) Bist halt doch nur ein elender
Inselpupser *G*. Ich fuer meinen Teil find's nicht weiter tragisch,
den ZT auf der Magierinsel hab ich mir 3 Tage vor dem Abhaengen
gesichert...das waeren die Sachen, um die sich die Ballance kuemmern
muesste, aber sonst seh ich nicht alzu schwarz. Deine Beweggruende
sind mir ehrlich gesagt scheissegal, Du hast Dich hier als Magier
an einem Gemeinschaftsprojekt beteiligt und da sollte man auch
seine 'Erguesse' nicht wieder zurueckziehen. Ist irgendwie kontra-
produktiv, findest Du nicht?
Der DalaiLama wuerde dazu sagen: Eine Gemeinschaft kann man nur
von Innen als aktives Mitglied veraendern, versucht man das von
Aussen, zerstoert man nur vereinzelt bestehende Strukturen und
veraendert rein gar nichts.

MfG
Solmyr,Sublime

-----------------------------------------------------------------------------



Re^5: Offener Brief an Paracelsus (Bambi,  8. Jan 2001, 21:20:22):
~#! rn=Humni rt=978978223 rg=entwicklung
~#! tid=978957414
Was von Salvatore hast Du alles gelesen?
(off topic)
Bambi.

-----------------------------------------------------------------------------



Re^11: Offener Brief an Paracelsus (Gloinson,  8. Jan 2001, 21:56:45):
~#! rn=Humni rt=978982932 rg=entwicklung
~#! tid=978957414
*seufz* *jammer* *JAMMERMODUS AN*
Was ist eigentlich aus den Mitspielern geworden, die in eine Gilde
eingetreten sind weil ihnen die Gilde an sich gefiel? Guuut, ich weiss
ja, dass hier nur Grimmborn, Anatol, Padreic, ich und fuenf weitere
Spieler Beitraege reinmue^H^H^Hschreiben, aber nach fuenf Jahren
langweilt die "die Gilde ist aber zu stark"-Heulerei ungemein. Was bei
einem Bug der Zauberer wenigstens noch einen Hintergrund hatte wird von
mal zu mal alberner.
Wieviel Quests haben wir hier? Spielt hier ueberhaupt noch jemand, dem
eine Gegend nicht nur wegen der leicht metzelbaren NPCs oder der
Superduperherausforderung mag?
Lohnt es sich ueberhaupt noch, einen gespraechigen alten Penner oder
eine detailreiche Gegend zu proggen oder wird das Spielerpublikum hier
durch killstuplose Bereiche abgeschreckt?

Gloin(son)
*Jammer off*

-----------------------------------------------------------------------------



Re^12: Offener Brief an Paracelsus (Foobar,  8. Jan 2001, 21:59:36):
~#! rn=Gloinson rt=978987405 rg=entwicklung
~#! tid=978957414
Foobar meldet sich.

-----------------------------------------------------------------------------



Re^12: Offener Brief an Paracelsus (Ark,  8. Jan 2001, 22:04:03):
~#! rn=Gloinson rt=978987405 rg=entwicklung
~#! tid=978957414
Es reicht, wenn sich herumspricht, wie gut oder schlecht ein Gebiet ist.
Wenige machen sich die Muehe, es selbst mal auszutesten :-)
Man muss eben "Meinungsmacher" von der Qualitaet ueberzeugen, dann hat man es,
meist, schon fast geschafft. War nur halb im Spass.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^13: Offener Brief an Paracelsus (Anatol,  8. Jan 2001, 22:04:05):
~#! rn=Foobar rt=978987576 rg=entwicklung
~#! tid=978957414
Ich kenne mehrere Zauberer, die die Gilde hoechstens wegen des Gejammers,
nicht aber wegen mangelnder Kampfstaerke o.ae. verlassen wuerden. Es gibt
sie noch, diejenigen, die ihre Gilde nach Gefuehl und nicht nach Staerke
auswaehlen. Und ich meine, solche Leute auch unter den Trves zu kennen.

Leider gehen diese Menschen (sic, die vor dem Rechner) im allgemeinen 
Geschrei nur zu oft unter... ist ja auch klar, sie kuemmern sich nicht
wirklich furchtbar wichtig um Mein-Kaempfer-ist-staerker-als-Dein-Zaubi.

Anatol

-----------------------------------------------------------------------------



Re^4: Offener Brief an Paracelsus (Hight,  8. Jan 2001, 22:46:40):
~#! rn=Qitess rt=978976587 rg=entwicklung
~#! tid=978957414
ja ich weiss ich habe die anderen artikel nicht gelses und wenn ich nu alles
wiederhol geht es mir auch am arsch vorbei ...

punkt 1.

rass gelich gilde .... ich weiss nit wie das bei der dunkelelfengilde geplant
ist ABER man merkt deutlich das du entweder nicht gross nachgedacht hast oder
du das mg nicht kennst ... ich verweise mal knapp auf die felinen und die
dazugehoerigen katzenkrieger

punkt 2: d-elfen boese

ich gratuliere zu der tollen erkenntniss ... und weiter ? 
deiner argumentation muessten ja saemmtliche zauberer im mg jedem chaoten
hinterherspringen und ihn wegen seiner nekromantie-neigung feuerbaelle in den
arsch blasen ... wenn du meinst das du delfen lieber als schnitzel hast ...
geh und spiel HM

punkt 3: licht

frag padreic (falls dir nicht zusehr wiederstreben sollte den verursacher
deines problems das keines ist anzusprechen) mal nach dem neuen lichtsystem
.... ich behaupte zwar nit das ich das so wirklich verstanden haette ABER
soviel ist klar ... lichtquellen gleicher staerke addieren sicht nicht und die
lichtquelle mit dem staerksten lichtlvl in deinem inv. ist fuer dein
sehvermoegen die ausschlaggebende (korekturen und ruege nehme ich hin)
und wenn du meinst der boese boese delf nimmt dir das licht weil er halt
ausversehen in einem raum idelt wo du was suchst ... sag ihm das ... sollte er
weiteridlen kanst du solange schmollend neben ihm stehen bis er sich auslogt
oder alternativ derweil mal was anderes untersuchen gehen oder ? 

punkt 4 das ganze hier an sich

wer war eigentlich derjenige der da pennt ? bei orktroe^H^H^Hoeters brief ging
es NUR um die tanjian und nicht um die delfen

hight licht genervt 

-----------------------------------------------------------------------------



Re^11: Offener Brief an Paracelsus (Anacrion,  8. Jan 2001, 23:18:40):
~#! rn=Humni rt=978982932 rg=entwicklung
~#! tid=978957414
Hoert sich an, wie einaufgewerteter Zauberer ...

ZAUBERER AUFWERTEN !!!

Anac* -> schmarrn (oder auch nicht)

-----------------------------------------------------------------------------



Re^5: Offener Brief an Paracelsus (Rardian,  9. Jan 2001, 00:12:54):
~#! rn=Humni rt=978978223 rg=entwicklung
~#! tid=978957414
Hm... Bei Salvatore gab es einen (gut, vielleicht zwei) D-Elfen, die nicht
ganz so boese (oder gar gut) waren. Ich kenn die D-Elfen, die hier in der
Testphase sind absolut nicht, aber wenn ich mir vorstelle, dass die boesen,
boesen D-Elfen anfangen, Schneewittchen zu befreien oder Nils Holgersson
retten, wackelt meine Vorstellung vom Rollenspiel, als das ich das MG, so gut
es geht, betrachte. Schoen waer, wenn Magier die Gesinnung in ihren Gebieten
mehr beruecksichtigen wuerden und alternative Questloesungen anbieten. (Die
altersschwache Hexe traegt einem aufstrebendem D-Elfen auf, die Zwerge zu
entfuehren, die dann ein "guter" Held wieder befreien muss...)

Und eine Gilde anzuschliessen, der (so gut wie) keiner beitreten kann, halte
ich fuer wenig sinnvoll...

Rar.

-----------------------------------------------------------------------------



Re^5: Offener Brief an Paracelsus (Qitess,  9. Jan 2001, 00:18:25):
~#! rn=Hight rt=978990400 rg=entwicklung
~#! tid=978957414
ja, entschuldige, vielleicht solltest du TATSAECHLICH erst die anderen artikel
lesen, bevor du einen derart unhoeflichen antwortartikel postest.
zum zweiten empfehle ich einen tipp-kurs.
qi**letzte kaempferin fuer ambiente

-----------------------------------------------------------------------------



Re^5: Offener Brief an Paracelsus (Rardian,  9. Jan 2001, 00:29:38):
~#! rn=Hight rt=978990400 rg=entwicklung
~#! tid=978957414
>du das mg nicht kennst ... ich verweise mal knapp auf die felinen und die
>dazugehoerigen katzenkrieger
Die Katzenkrieger sind m.W. fuer alle Rassen zugaenglich... Dass es eventuell
keinen Sinn macht, ist eine andere Sache, aber moeglich ist es...

Rar.

-----------------------------------------------------------------------------



Re^6: Offener Brief an Paracelsus (Obi,  9. Jan 2001, 01:41:52):
~#! rn=Rardian rt=978996578 rg=entwicklung
~#! tid=978957414
Hi zusammen!

1. Zu den Tanjian:
Ja, ich denke, wir sind stark. Die Tanjian werden sicherlich
bei den staerkeren Gilden mitmischen. Ob sie _zu_ stark sind,
ist wohl schwer zu sagen, (zumindest masse ich mir nicht an,
das zu koennen) ich denke allerdings, dass es - wie schon vorher
bei Kamepfern und Zauberern - immer Situationen/Monster geben
wird, wo die eine Gilde staerker ist und andere, wo die andere
Gilde besser abschneidet.
Ich kann nur von mir sagen, dass ich diese Gilde sehr mag, und
das liegt nicht (zumindest nicht nur) an der Kampfkraft,
sondern am gesamten Konzept. Ich habe bis jetzt noch nie einen
Charakter bloss wegen seiner Kampfkraft in eine Gilde gestopft,
ich freue mich allerdings natuerlich auch, wenn ich dann doch
mal ein Monster auch toeten kann :-)
Und ich werde natuerlich auch fuer einen Erhalt der Tanjian in
ihrer bisherigen Form sein, denn ich hab wenig Lust darauf, dass
die ganze Ueberei fuer die Feline war.




2. Zu den DE
Also das Argument, dass sie ausschliesslich einer Rasse vor-
behalten ist, finde ich ehrlich gesagt weniger tragisch.
Das fuehrt in diesem Fall doch wenigstens dazu, dass alle
gleich anfangen. Ich weiss auch nicht, was das Geschreie soll,
denn es wird doch keiner gezwungen in eine Gilde zu gehen.
Wer sich sagt, er habe keine Lust einen neuen Spieler hoch-
zuspielen, der soll es doch halt lassen. (ich setze mal
voraus, dass Dr. Frankenstein keine DE produziert, denn dann
waere das Ganze doch recht sinnlos)
Was das Bild der DE angeht, komm ich mit Padreics
Vorstellungen sehr gut klar. Ich meine, wer sagt denn, dass
Trolle 3,5m gross und dumm sind? Das ist nur das Bild vieler,
die sich an Tolkien und Co. orientieren. Nun koennten aber die
Fans von Tad Williams schreien, dass Trolle doch was ganz
anderes sind. Wenn jemand meint, dass seine Vorstellung von
DE so viel besser sei, haette er vielleicht frueher auf die
Idee kommen, und die Rasse/Gilde selbst, vor Padreic
proggen sollen. Die DE sind hier nunmal Padreics Kind und
er hat das letzte Wort. (Ok, balancetechnisch ist das etwas
anderes :-) ) Ich bin mir aber sicher, dass Padreic fuer 
gute Vorschlaege ein offenes Ohr hat.
Ich freue mich auf jeden Fall auf die DE und werde bestimmt
meine Shizophrenie weiter ausleben und mir einen DE zulegen.

Obi - Verkauft nun auch Ohrstoepsel gegen Dummschreierei

-----------------------------------------------------------------------------



Re: Re: Offener Brief an Paracelsus (Sito,  9. Jan 2001, 07:46:52):
~#! rn=Noki rt=978974809 rg=entwicklung
~#! tid=978957414
Na, die Hysterie kommt immer davon, dass man als Gildenmitglied einer Gilde A
immer allen anderen Gilden was neidig sein kann 

*lol*
Sito, den KK treu bleibend

-----------------------------------------------------------------------------



Re^8: Offener Brief an Paracelsus (Sito,  9. Jan 2001, 07:50:27):
~#! rn=Wurzel rt=978979928 rg=entwicklung
~#! tid=978957414
In die KK-Gilde koennen auch Hobbits, Elfen und Menschen eintreten wenn sie
moegen .. obs sinnvoll ist, sei dahingestellt.

~~ sito ~~

-----------------------------------------------------------------------------



Re^3: Offener Brief an Paracelsus (Satanas,  9. Jan 2001, 09:08:23):
~#! rn=Patryn rt=978968655 rg=entwicklung
~#! tid=978957414
Wenn ihr zuviele Nullen habt, dann werft sie doch aus der Gilde raus :-)

-----------------------------------------------------------------------------



Re^5: Offener Brief an Paracelsus (Satanas,  9. Jan 2001, 09:11:56):
~#! rn=Humni rt=978978223 rg=entwicklung
~#! tid=978957414
Die Orks in Orkhausen sind aber nicht repraesentativ fuer die Rasse.
Sie sind viel zu nett und zu gut ausgeruestet (fuer einen Ork ist
eine Stachelkeule eigentlich schon eine High-Tech-Waffe)

-----------------------------------------------------------------------------



Re^9: Offener Brief an Paracelsus (Deepblue,  9. Jan 2001, 09:26:16):
~#! rn=Qitess rt=978980092 rg=entwicklung
~#! tid=978957414
Meinst Du: Elfen und Zwerge koennen sich sehr wohl gegenseitig leiden _sehen_?
->schmarrn()

-----------------------------------------------------------------------------



Re^10: Offener Brief an Paracelsus (Zardoz,  9. Jan 2001, 10:14:46):
~#! rn=Deepblue rt=979028776 rg=entwicklung
~#! tid=978957414
Die ganze Diskussion ist voellig unsinnig, da sie auf der falschen Annahme
beruht, das MG sei ein Rollenspiel. Es gibt hier nunmal ueberhaupt kein
Konzept diesbezueglich, jeder kann hier machen was er will, solange er nicht
Raumschiffe rumfliegen laesst. Diese bunte Vielfalt (Maerchen, nordische
Sagen, umgesetzte Kinderbuecher, sogar SF (Traumpark)... ) hat auch ihren
Reiz. Wer wirklich rollenspielen will, sollte sich ein anderes Mud suchen und
hier nur zum Chatten reinkommen, wie ich es seit ca. 3 Jahren mache :-)
btw. wenn jemand nen Rollenspiel-Mud mit Race-war, klarem Konzept etc machen
will, soll sich bei mir melden. Bin noch auf der Suche nach nem Mud. Ansonsten
geh ich wohl nach Grauzone...
Und zum Spielen kann ich eh HM anbieten. Aber macht euch keine Illusionen,
auch dort flennen die meisten Spieler ueber Gildenbalance etc :-)

Zardoz

-----------------------------------------------------------------------------



Re^11: Offener Brief an Paracelsus (Padreic,  9. Jan 2001, 13:23:05):
~#! rn=Zardoz rt=979031686 rg=entwicklung
~#! tid=978957414
Das betroffene Objekt wurde nun auch geaendert, so dass die Dunkelheit in der
Form der Vergangenheit angehoeren duerfte. Es gibt immer noch einige sehr sehr
dunkle Objekte, aber die sind entsprechend selten...

Pad*

-----------------------------------------------------------------------------



tanjian-delfen (Nicolai,  9. Jan 2001, 15:14:51):
Ein paar Sachen hab ich waehrend dem ganzen thread nicht verstanden:

Warum wird staendig die Staerke der Tanjian mit den Delfen verglichen?
Das ist doch mehr als Humbug, die Delfen sind noch in der Test-phase,
waehrend die Tanjian schon angeschlossen sind.
Dem Argument 'dass die Delfen schon vom Konzept (zu) stark sind', stehen
die Tanjian wohl in nichts nach (Waffenskills, Zaubispells und Schutz-
sprueche).
Es fiel das Stichwort 'langsame lernkurve'. Ich weiss von zwei Leuten,
(es gibt sicher mehr), die _alles_ auf max haben; ich habe keinen Kalender,
aber wie lange ist die Gilde dran? Acht Wochen oder so?
Ich sag auch nicht, ob/dass Tanjian (zu) stark sind, den Schuh zieh ich
mir hier sicher nicht an, aber _falls_ sie zu stark sind, warum werft
ihr die Steine auf Para*? Meines Wissens muss die Gilde immer noch von
Nachtwind genehmigt werden. Und dass Werte auf dem Papier manchmal anders
aussehen, als dann in 'freier Wildbahn' sollte jedem klar sein.
(btw: Dass es Para* fuer sein Ego nicht noetig hat ne ultimative Killer-
gilde zu proggen sieht man ja an den Katzenkriegern)

So, fertig *2-cent-in-topf-werf*

--Vector--

P.S. Vielleicht achtet ihr mal mach dem naechsten reboot drauf, wer da
-M vollscrollt; ich jedenfalls finde es zumindest eine Ueberlegung wert,
wenn lvl80+ Spieler weder ihren Karateka noch ihren Zauberer Kram holen
schicken, sondern den Tanjian.....

-----------------------------------------------------------------------------



Re^6: Offener Brief an Paracelsus (Hight,  9. Jan 2001, 16:31:18):
~#! rn=Qitess rt=978995905 rg=entwicklung
~#! tid=978957414
punkt 1 ... war net unhoeflich ... hab mich zumindest so gut es gin beherscht 

punkt 2 ... warum sollte ich nen tipp-kurs machen ? ich kann handschriftlich
auch net richtig schreiben

punkt 3 .-... wilkommen auf meiner ignorelist

gruss hight

-----------------------------------------------------------------------------



Re^9: Offener Brief an Paracelsus (Hight,  9. Jan 2001, 16:35:37):
~#! rn=Sito rt=979023027 rg=entwicklung
~#! tid=978957414
mir bekannt nur das mit den dunkelzwoelfen kam erst nach meinem wutausbruch 10
- 20 artikel spaeter 

-----------------------------------------------------------------------------



Re^7: Offener Brief an Paracelsus (Nevok,  9. Jan 2001, 18:41:48):
~#! rn=Hight rt=979054278 rg=entwicklung
~#! tid=978957414
Na wenn da mal niemand mit dem falschen Fuss aufgestanden und/oder seine
Ausruestung verloren hat.


Nevok, Stahlhelme verteilend ob des Schrapnells. DUCKEN!! ;)

-----------------------------------------------------------------------------



Endlich die Abwertung (Montanus,  9. Jan 2001, 20:57:28):

[Allgemein:Amaryllis fummelt dann mal am Delfen-Spellbook rum.]

Weiter so. Alle abwerten.

-----------------------------------------------------------------------------



Re: Endlich die Abwertung (Amaryllis,  9. Jan 2001, 20:58:30):
~#! rn=Montanus rt=979070248 rg=entwicklung
~#! tid=979070248
Wer spricht von Abwertung? Ich wollt doch nur sehen ob ich den Crash-Bug noch
reproduziert krieg :)

Ama*, bedaechtig ihr weises Haupt wiegend.

-----------------------------------------------------------------------------



Re^11: Offener Brief an Paracelsus (Karis,  9. Jan 2001, 22:55:05):
~#! rn=Zardoz rt=979031686 rg=entwicklung
~#! tid=978957414
Du wuerdest Dich wundern, was hier in den letzten 3 JAhren geproggt wurde.
Auch fliegende Raumschiffe. Geht. Rollenspieltechnisch ab-so-lut erklaerbar.

Generaelchen Karis.

-----------------------------------------------------------------------------



Re^12: Offener Brief an Paracelsus (Ark,  9. Jan 2001, 22:57:52):
~#! rn=Karis rt=979077305 rg=entwicklung
~#! tid=978957414
Hm, das Raumschiff kennt man doch aus einem DSA Abenteuer, dass sogar ich mit
15 oder 16 Jahren gespielt habe (bitte keinen Kommentar :-) ). Puh,
abgekupfert ;^)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^13: Offener Brief an Paracelsus (Zarniya, 11. Jan 2001, 09:37:20):
~#! rn=Ark rt=979077472 rg=entwicklung
~#! tid=978957414
DSA und Rollenspiel?

Marc, mit ADnD angefangen und von Rolemaster ueberzeugt worden... 
--> schmarrn

-----------------------------------------------------------------------------



Re: Taubheit - Soundschaden (Humni, 11. Jan 2001, 14:58:52):
~#! rn=Deepblue rt=979221000 rg=entwicklung
~#! tid=979221000
Wenn Du soviel Laerm abkriegst, dass Du SCHADEN dadurch bekommst, geht das
ganze nicht durch die Ohren, sondern ueber Dein Zentralnervensystem (kling ich
jetzt gebildet?)

Demzufolge wuerde ich das nicht fuer sinnvoll halten, wenn das an bestimmten
Stellen fuer noetig befunden wird, koennen die entsprechenden Magier das ja
einbauen.

CU Humni

-----------------------------------------------------------------------------



Re: Re: Taubheit - Soundschaden (Obi, 11. Jan 2001, 16:10:30):
~#! rn=Humni rt=979221532 rg=entwicklung
~#! tid=979221000
Wie es ja bei vielen Monstern auch moeglich ist...

OBI

-----------------------------------------------------------------------------



Re^3: Taubheit - Soundschaden (Nonne, 11. Jan 2001, 16:13:23):
~#! rn=Obi rt=979225830 rg=entwicklung
~#! tid=979221000
Anatol, poste doch bitte die 20 gleichnamigen Thread der letzen 5 Jahre, das
spart den Leuten tipparbeit (c;

Nonne.

-----------------------------------------------------------------------------



Postpakete (Tiamak, 12. Jan 2001, 20:31:38):
Frohe Ostern!

Auf Wunsch eines einzelnen Mesirii reagieren Postpakete jetzt auch auf "paket
fuer Name", wenn sie an Name adressiert wurden.

Vielleicht hilft es euch, etwas Ordnung zu halten.


Tiamak

P.S: Das gilt natuerlich nur fuer _neue_ Pakete. ;^)

-----------------------------------------------------------------------------



Re^10: Offener Brief an Paracelsus (Apsu, 14. Jan 2001, 05:14:04):
~#! rn=Ark rt=978985106 rg=entwicklung
~#! tid=978957414
NIEMALS werden sich Dunkelelfen mit ein wenig Ehrlosigkeit im Leib mit Zwergen
verbuenden! LLoths Finsternis moege Euch in den Hintern treten!

i.A. Railur, Dunkelelf@SL

-----------------------------------------------------------------------------



Re: tanjian-delfen (Puk, 14. Jan 2001, 18:59:12):
~#! rn=Nicolai rt=979049691 rg=entwicklung
~#! tid=979049691
kauf dir nen Kalender :)

-----------------------------------------------------------------------------



Re: Offener Brief an Paracelsus (Paracelsus, 15. Jan 2001, 13:35:57):
~#! rn=Orktoeter rt=978957414 rg=entwicklung
~#! tid=978957414
Tja, haettest Du die richtige Rubrik fuer diesen "offenen Brief"
gewaehlt...

Para*

-----------------------------------------------------------------------------



Re: Re: Offener Brief an Paracelsus (Deepblue, 15. Jan 2001, 13:45:39):
~#! rn=Paracelsus rt=979562157 rg=entwicklung
~#! tid=978957414
was dann? Dann haetteste ne andere Ausrede gefunden, wieso Du Dich nicht mal
mit den aufgeworfenen  Problemen beschaeftigt?

-----------------------------------------------------------------------------



Re: entschaerftes gebiet (teil 3) (Teddy, 15. Jan 2001, 19:15:42):
~#! rn=Bierchen rt=978396241 rg=entwicklung
~#! tid=978396241
Meine guete Leute, regt euch ab.
Zum einen: Die uebliche Art von Wim, mit Leuten die ihm nicht (mehr) in den
Kram passen umzugehen, ist hier hinlaenglich bekannt.
Entweder mobbt er sie, wo er nur kann durch direkten oder indirekten Eingriff
in ihr Mudderleben,
alternativ verbreitet er Luegen ueber sie, wo er nur kann
oder aber er bricht halt in ihre Intimsphaere ein indem er snoopt oder
mitloggt, was das Zeug haelt.
Wahlweise gibt es auch Kombinationen aus dem oben genannten.

Aber mal ganz im ernst: Who cares?

Ignoriert den Knaben einfach (Mehr als ein verzogener Bengel ist der nicht
mehr fuer mich, auch wenn er ein paar Jahre laenger existiert als ich es tue).
Mehr ist er nicht wert und mehr sollte man mit ihm auhc nicht tun. Lasst ihn
in seiner kleinen Welt existieren und kuemmert euch einfach nicht um ihn und
wer ihm wirklich immernoch glaubt, ist es nicht wert, Freund genannt zu
werden.

Teddy, schmeisst seine 2 Cent mal in die Runde.

-----------------------------------------------------------------------------



Re^11: Offener Brief an Paracelsus (Ark, 15. Jan 2001, 20:07:07):
~#! rn=Apsu rt=979445644 rg=entwicklung
~#! tid=978957414
Llass mal gut sein, wir llallen auch mal gerne ;^)
Ausserdem llachen Dunkelzwerge ueber die lleicht weichen Dunkelelfen.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^3: Offener Brief an Paracelsus (Paracelsus, 16. Jan 2001, 13:23:22):
~#! rn=Deepblue rt=979562739 rg=entwicklung
~#! tid=978957414
Nein, ich frage mich nur, wofuer es Gilden-Rubriken in der MPA gibt.

Paracelsus.

-----------------------------------------------------------------------------



Gruppenuebersicht fuer Artikel (Karis, 16. Jan 2001, 23:32:06):
Jawollja, sowas haett ich gern. So, wies im Web auch zu sehen ist.
Oder besser. Aber zu Fuss sucht man sich bei den Rubriklaengen
heutzutage ja nen Wolf :)

Baut das waer ein? waer toll :))

Karis.

-----------------------------------------------------------------------------



Re: Gruppenuebersicht fuer Artikel (Yendi, 17. Jan 2001, 16:14:09):
~#! rn=Karis rt=979684326 rg=entwicklung
~#! tid=979684326
Du meinst einen reply-Baum?
Der Begriff "Gruppenuebersicht" klingt irgendwie so... 
so sozialpaedagogisch, Du.

YTY


-----------------------------------------------------------------------------



Projekt ZPK (Croft, 19. Jan 2001, 00:22:49):
Ein nicht naeher genanntes Nicht-Zwergenhirn (aber Zwergenfreund) hat
einem ebenso wenig genannten Magier den Vorschlag gemacht ein ZPK in
die Welt zu setzen.  Fuer alle die jetzt nicht wissen was ein ZPK ist:
dies ist ein Ort an dem Besucher bewegte Bilder von u.a. Zwergen,
Scheren, Seifen und Badewannen zu sehen bekommen werden.  Und
vielleicht auch nur von Zwergen (ohne Kruste) (je nach Film).
Es werden jetzt Drehbuecher fuer die bewegten Bilder gesucht, damit
diese nach der entsprechenden Drehzeit im ZPK vorgefuehrt werden
koennen.  Castingvorschlaege werden auch gerne entgegengenommen.
Manuskripte und Besetzungslisten bitte an Vincent, Muadib und mich
schicken.  Die Namen der Autoren werden auf Wunsch (hoffentlich)
vertraulich behandelt.  Ganz Mutige duerfen natuerlich auch hier in
dieser Rubrik ihre Vorschlaege veroeffentlichen :o)

-----------------------------------------------------------------------------



Re: Projekt ZPK (Muadib, 19. Jan 2001, 11:25:09):
~#! rn=Croft rt=979860169 rg=entwicklung
~#! tid=979860169
ich dementiere heftigst jemals auch nur mit dem gedanken gespielt zu haben ein
zwergenporn^H^H^H^Hkino implementieren zu wollen.
aber an vincent koennt ihr euch ruhig wenden :)

muadib

-----------------------------------------------------------------------------



Re: Re: Projekt ZPK (Vincent, 19. Jan 2001, 11:30:45):
~#! rn=Muadib rt=979899909 rg=entwicklung
~#! tid=979860169
Ich lese da staendig Vincent. Um das mal klarzustellen: Ich habe nichts mit
einem ZPK zu tun. Deswegen ist es zwecklos, sich an mich zu wenden.
Croft ist der richtige Ansprechpartner in Sachen ZPK.

Vincent

-----------------------------------------------------------------------------



Re^3: Projekt ZPK (Anatol, 19. Jan 2001, 11:38:02):
~#! rn=Vincent rt=979900245 rg=entwicklung
~#! tid=979860169
Aus reiner Neugierde... beim durchschnittlichen Alter eines normalen
Zwerges - was wuerde die FSK zu den im ZPK gezeigten bewegten Bildern 
sagen? "FSK150"? "FSK200"?

Anatol ;)

-----------------------------------------------------------------------------



Re^3: Projekt ZPK (Croft, 19. Jan 2001, 13:24:39):
~#! rn=Vincent rt=979900245 rg=entwicklung
~#! tid=979860169
Wie dem auch sei, dann halt die Mails nur an mich.  Ich spiele auch
gerne den Mittler, wenn ihr nicht so in der Oeffentlichkeit stehen
wollt.  Aber ich muss noch mal betonen: tolle Idee und danke fuer die
Zusage der Umsetzung!
Croft

-----------------------------------------------------------------------------



Re^4: Projekt ZPK (Vincent, 19. Jan 2001, 14:25:23):
~#! rn=Croft rt=979907079 rg=entwicklung
~#! tid=979860169
Sorry! Hier muss ein schwerer Irrtum vorliegen. Ich habe nichts mit einem ZPK
zu tun. Auch werde ich soetwas nicht umsetzen und ich sammel auch kein
Material dafuer. Im Grunde weiss ich ueberhaupt nicht worum es hier geht.
Ich dementiere hiermit alles und Huelle mich von nun an bezueglich ZPK in
Schweigen.

Vincent

-----------------------------------------------------------------------------



Re^4: Projekt ZPK (Qitess, 19. Jan 2001, 17:31:02):
~#! rn=Croft rt=979907079 rg=entwicklung
~#! tid=979860169
also, der name ist etwas schlecht gewaehlt, wie ich finde...ZPK klingt ein
wenig nach ZwergenPlayerKill...im uebrigen - was haben insebsondere zwerge mit
porno zu tun? gibt es dann auch ein EPK wo entlaubte baeume gezeigt werden?
oder entrindete? und ein mpk mit amanda-filmen?

werden nur frauen gezeigt oder gibt es auch etwas fuer die holde weiblichkeit.
und wo unter allen nerv-npcs gibt es denn endlich den kleinen strichjungen
fuer  uns abenteurerinnen?

QI** stellt fragen.

-----------------------------------------------------------------------------



Re^5: Projekt ZPK (Croft, 19. Jan 2001, 17:44:05):
~#! rn=Qitess rt=979921862 rg=entwicklung
~#! tid=979860169
Das haengt alles von den eingereichten Drehbuechern ab.  Ob es ein EPK oder
MPK geben wird man nach einem (Miss-)Erfolg des ZPKs absehen.  Aber ich
werde das mal dem zustaendigen Ideenlieferanten zutragen :o)
Croft

-----------------------------------------------------------------------------



Re^5: Projekt ZPK (Boing, 19. Jan 2001, 17:47:18):
~#! rn=Qitess rt=979921862 rg=entwicklung
~#! tid=979860169
Um diese Fragen restlos zu beantworten muesste ja erst einmal ein
Kriterium gefunden werden, anhand dessen man maennliche von weiblichen
Zwergen unterscheiden kann. Insofern bin ich mir fast sicher, dass auch
fuer Dich was dabei sein wird, wenn Vincent mit den Ideen und Muadib mit
der Implementierung hinterherkommt. :)
  Boing

-----------------------------------------------------------------------------



Re^6: Projekt ZPK (Nonne, 19. Jan 2001, 17:49:00):
~#! rn=Boing rt=979922838 rg=entwicklung
~#! tid=979860169
Selbst wenn man Zwerge auszieht und die Kruste abschlaegt, gibt es keine
unterschiede? Wie vermehren sich denn Zwerge? Vielleicht kann ich aus dem
Projekt ja was lernen *g*

Nonne.

-----------------------------------------------------------------------------



Re^6: Projekt ZPK (Qitess, 19. Jan 2001, 17:51:30):
~#! rn=Boing rt=979922838 rg=entwicklung
~#! tid=979860169
der unterschied ist einfach:
ein maennlicher zwerg hat einen dichten bart, eine flache aber starke brust,
und zwei eier und einen schwanz zwischen den beinen.
eiun weiblicher zwerg hingegen ist meistens unbebartet, wenn dann ist er nicht
ganz so dicht wie der eines maennlichen zwerges. ausserdem haben sie eine
ziemlich dralle brust, und zwischen den beinen einen dichten bartbewuchs.

SO SIEHT DAS AUS UND NICHT ANDERS!
QI**

-----------------------------------------------------------------------------



Re^7: Projekt ZPK (Amaryllis, 19. Jan 2001, 17:55:09):
~#! rn=Qitess rt=979923090 rg=entwicklung
~#! tid=979860169
Liebe Qitess,

langsam wirds intim. Da wir im Zuge der Oeffnung des Internets auch fuer
nicht-hochschulische oder militaerische Angehoerige mittlerweile (leider) auch
Kinder unter uns haben, moechte ich Dich doch bitten, auf weitere Details zu
verzichten.

Hochachtungsvoll,
Ama*. Feechen.

PS: *gruebel* </ironie> ? :)

-----------------------------------------------------------------------------



Re^7: Projekt ZPK (Boing, 19. Jan 2001, 17:55:49):
~#! rn=Nonne rt=979922940 rg=entwicklung
~#! tid=979860169
Das ist ja gerade der Witz an der Sache. Ein Zwerg ist wie ein 
Ueberraschungsei, Du weisst vorher nie was rauskommt. :) 

  Boing

PS: Schickst Du das mit dem Ausziehen und Kruste abschlagen bitte Croft?
  Der wird da bestimmt ein tolles Drehbuch raus zaubern koennen. :)

-----------------------------------------------------------------------------



Re^8: Projekt ZPK (Mingo, 19. Jan 2001, 19:03:20):
~#! rn=Boing rt=979923349 rg=entwicklung
~#! tid=979860169
Wenn man einem Zwerg die Kruste abschlaegt - stirbt der dann nicht sofort an
einfachen Krankheiten, weil sein Schutz weg ist?

Mingo

-----------------------------------------------------------------------------



Re^7: Projekt ZPK (Rochus, 19. Jan 2001, 19:24:01):
~#! rn=Nonne rt=979922940 rg=entwicklung
~#! tid=979860169
Zwerge vermehren sich durch Trial and Error...
Diejenigen, die versehentlich einen gleichgeschlechtlichen Partner
geheiratet haben, verschweigen es halt, sobald sie es herausgefunden haben :)

-----------------------------------------------------------------------------



Re^7: Projekt ZPK (Gnome, 19. Jan 2001, 22:45:22):
~#! rn=Qitess rt=979923090 rg=entwicklung
~#! tid=979860169
"...zwischen den beinen einen dichten bartbewuchs."

interessant, wo zwergfrauen ihr gesicht haben.

gnOme dachte immer, dass er denen ins gesicht schaut beim unterhalten...

-----------------------------------------------------------------------------



Re^8: Projekt ZPK (Anacrion, 20. Jan 2001, 06:33:13):
~#! rn=Gnome rt=979940722 rg=entwicklung
~#! tid=979860169
Kann mal einer helfen kommen ?

Ich grabe schon seit Stunden und finde das Niveau nicht. Aber das muss
irgendwo da unten sein.

Anac* ist verzweifelt.

-----------------------------------------------------------------------------



Re^9: Projekt ZPK (Noki, 20. Jan 2001, 10:11:43):
~#! rn=Anacrion rt=979968793 rg=entwicklung
~#! tid=979860169
Wie?
Was?
Ein ZPK mit Niveau?
Kommt da etwa so eine Weichzeichner-Aesthetik Zwergenjungfrauen, die nichtmal
Gruenspan unter den borkigen Fussnaegeln haben? Die sich gegenseitig Kosmos'
Mineralienfuehrer vorlesen und dabei tiiiiiiief in die Augen schauen? Wenn
schon, dann aber richtig. *g*

Noki, kann gut mal auf Niveau verzichten. :)

-----------------------------------------------------------------------------



Re^8: Projekt ZPK (Wargon, 20. Jan 2001, 14:57:39):
~#! rn=Rochus rt=979928641 rg=entwicklung
~#! tid=979860169
Also ich dachte eigentlich immer, jede Zwergenmine haette einen besonderen
Stollen, in den sich die Zwergeneltern zurueckziehen, um ihren
Zwergennachwuchs dort aus dem Floez zu meisseln?
Tja, man lernt halt nie aus...
  Wargon

-----------------------------------------------------------------------------



Re: samos auf schild (Solmyr, 21. Jan 2001, 16:25:48):
~#! rn=Samos rt=980090728 rg=entwicklung
~#! tid=980090728
Ah, jetzt ja ;)

-----------------------------------------------------------------------------



Re^6: Projekt ZPK (Muadib, 22. Jan 2001, 10:33:38):
~#! rn=Boing rt=979922838 rg=entwicklung
~#! tid=979860169
wieso faellt da schon wieder mein name?
ich habe keinerlei sexuelle attraktion zu zwergen, egal welchen, eh nicht
feststellbaren geschlechts.


-----------------------------------------------------------------------------



Re^7: Projekt ZPK (Anatol, 22. Jan 2001, 10:47:34):
~#! rn=Muadib rt=980156018 rg=entwicklung
~#! tid=979860169
Vielleicht die Zwerge zu Dir?

Anatol raet: Waschen.


-----------------------------------------------------------------------------



Moerder-Meldungen (Tiamak, 27. Jan 2001, 18:11:30):
Hiho!

Dank der fleissigen Mitarbeit von [Team:Muenster] gibt es einige neue
Moerdermeldungen (teilweise leicht ueberarbeitet/zensiert von mir ;^).

Falls ihr noch mehr Ideen zu neuen Meldungen habt, immer her damit.


Tiamak

-----------------------------------------------------------------------------



Re^6: Projekt ZPK (Apsu, 28. Jan 2001, 19:40:25):
~#! rn=Boing rt=979922838 rg=entwicklung
~#! tid=979860169
Ganz Einfach: Da es im ZPK um Scheren, Badewannen und sogar _Seife_ gehen
soll, isses klar: nackische Zwerge ohne Dreckkruste kann man schon
unterscheiden, aber statt ZPK sollte es eher ZGK heissen: G=Gruselschocker
;-))

Apsu, jagt Zwerge mit einem Stueck Seife durchs ganze MG.

-----------------------------------------------------------------------------



Re: Offener Brief an Paracelsus (Paracelsus,  2. Feb 2001, 10:13:23):
~#! rn=Orktoeter rt=978957414 rg=entwicklung
~#! tid=978957414
Hallo Orktoeter!

Die Antwort auf Deinen offenen Brief findest Du da wo sie hingehoert,
naemlich in gilden.tanjian.

Gruss,
  Paracelsus.

-----------------------------------------------------------------------------



Blindheit ... (Gloinson,  4. Feb 2001, 20:11:50):
... ist ja bekanntlich alles andere als witzig, insbesondere wenn man keinen
blassen Dunst hat, wo man ist - einem jungen Spieler kann das schnell
geschehen.
Meine Idee: Wenigstens "ausgaenge" umstellen, damit man sich derart durch die
Gegend tasten kann. Noch idealer waeren natuerlich fuehlbare
Langbeschreibungen (nicht "schau", aber "taste") ... aber ersteres waer ja mal
eine Erleichterung.

Gloin(son)

-----------------------------------------------------------------------------



Re: Blindheit ... (Solmyr,  4. Feb 2001, 21:09:29):
~#! rn=Gloinson rt=981313910 rg=entwicklung
~#! tid=981313910
Hmm, es gibt ein paar Moeglichkeiten, wie man das Problem anpacken
koennte. Wie im richtigen Leben koennte man verschiedene Sichtlevel
einfuehren, aber das ist wohl zu umstaendlich und wird aehnliche
Diskussionen wie damals bei Padreics LichtlevelSystem herausbringen.

Wie waers denn mit 'nem Blindenhund, den man vorsichtshalber mit-
nehmen kann oder ein Item mit Entblinde-Funktion, das etwas einfacher
zu erreichen ist, als das Sabberamulett. Das koennte dann ja auch
eine beschraenkte Anwendungszahl haben, so das man das nur 5 mal
benutzen kann oder so...

Solmyr, Gedanken freien Lauf lassend

-----------------------------------------------------------------------------



Re: Re: Blindheit ... (Heromcfly,  4. Feb 2001, 21:43:57):
~#! rn=Solmyr rt=981317369 rg=entwicklung
~#! tid=981313910

noch einfacher als ein sabberamulett ? :)

,

-----------------------------------------------------------------------------



Re^3: Blindheit ... (Gloinson,  4. Feb 2001, 21:54:51):
~#! rn=Heromcfly rt=981319437 rg=entwicklung
~#! tid=981313910
Mein Ziel ist nicht, das Entblinden noch einfacher zu machen als jetzt schon
(fuer erfahrene Spieler) moeglich, sondern es Spielern jeglicher Art einfacher
zu machen sich selbst zu helfen, wenn sie ohne diese (IMHO teilweise zu
billigen) Gegenstaende herumlaufen oder eben keine Karte von ABC haben.

Gloin(son)

-----------------------------------------------------------------------------



Re^4: Blindheit ... (Hight,  4. Feb 2001, 22:15:25):
~#! rn=Gloinson rt=981320091 rg=entwicklung
~#! tid=981313910
entblinden ? wozu das ? 

frufe finde mich aml einer und fuehr mich raus (sage mit den weg zum tiger in
einem stueck) 
-kl ich baruch nen satz neue augen 


-----------------------------------------------------------------------------



Re: Re: Blindheit ... (Menace,  4. Feb 2001, 22:47:26):
~#! rn=Solmyr rt=981317369 rg=entwicklung
~#! tid=981313910
Es gibt auch schon ein Tool, das noch leicher zu holen ist als das Amulett.
Das entblindet zwar nicht, aber sorgt dafuer, dass man trotz Blindheit sehen
kann. Wenn man das Vorsichtshalber mit nimmt, dann kommt man ueberall raus und
zum Santiger um nen Kleriker zu treffen oder zum Heiler oder wo hin man halt
grad will.

-----------------------------------------------------------------------------



Re^3: Blindheit ... (Gloinson,  4. Feb 2001, 23:01:15):
~#! rn=Menace rt=981323246 rg=entwicklung
~#! tid=981313910
Ich sprach von erfahrenen Spielern. Und Entblinden fuer erfahrene Spieler
schliesst fuer mich diverse Tools und Klerikerhilfe mit ein (die auch meiner
Meinung nach ruhig etwas kostspieliger sein koennten). Einem Noname-Spieler
hilft es gar nichts, wenn er von vielen Tools hoert oder kein Kleriker zu ihm
kommen will, weil er sich irgendwo befindet, wo er nicht einmal wieder
herausfindet.
Egaaaaaaaal. Vergesst es einfach wieder.

Gloin(son)

-----------------------------------------------------------------------------



Re^4: Blindheit ... (Darkwing,  4. Feb 2001, 23:02:42):
~#! rn=Gloinson rt=981324075 rg=entwicklung
~#! tid=981313910
Blindheit-Teleport waer ne lustige Kombo fuer ein Monster, wenn das Entblinden
nicht so einfach waer :)

-----------------------------------------------------------------------------



Re^5: Blindheit ... (Zephyr,  4. Feb 2001, 23:31:31):
~#! rn=Darkwing rt=981324162 rg=entwicklung
~#! tid=981313910

Blindheit-Teleport kann in gewissen Gegenden eine toedliche
Kombination sein, wenn man keine (funktionierendes) Entblindungs-
Hilfe dabei hat.
C4

-----------------------------------------------------------------------------



Re^6: Blindheit ... (Boing,  5. Feb 2001, 08:19:20):
~#! rn=Zephyr rt=981325891 rg=entwicklung
~#! tid=981313910
Gewisse Gegenden stammen nicht zufaellig von einem Magier, der mit
Pa* anfaengt? :)
  Boing

-----------------------------------------------------------------------------



Re^4: Blindheit ... (Trug,  5. Feb 2001, 08:34:23):
~#! rn=Gloinson rt=981320091 rg=entwicklung
~#! tid=981313910
Zur Not reicht immer noch die Karte, die man im Kopf hat...

... und irgendwie hab ich da das Gefuehl, dass da wieder ein Stueck von
Zusammenarbeit zugunsten von Egoismus abbroeckelt.

Trug

-----------------------------------------------------------------------------



Re^5: Blindheit ... (Orktoeter,  5. Feb 2001, 09:03:39):
~#! rn=Trug rt=981358463 rg=entwicklung
~#! tid=981313910
Ich antworte mal auf den (aktuell) letzen Artikel ohne direkten Bezug auf
selbigen zu nehmen.

Das blenden ist doch heute so wertlos und uninteressant, das ich als Magier
mir die Arbeit sparen wuerde es in meine NPC einzubauen (selbst wenn es nur
eine kurze Zeile Code sein sollte)

Das Problem ist, das es sehr viele Moeglichkeiten gibt, sich sofort zu
entblinden oder das Blindsein gar nicht erst wahrzunehmen (nicht Wurzel?).
So lange das so ist, ist das blenden der NPC quasi nichts Wert.
Es wuerde wieder interessant werden, wenn alle enblindungsmassnahmen erst
Zeitverzoegert wirksam werden. Dabei koennte man ja Kleriker, diverse Heiler,
Sabberamus etc. durchaus unterschiedlich gestalten in der Zeitdauer bis man
wieder sehen kann. Die Brille von Wurzel sollte meiner Meinung nach ganz weg.
Wenn wirklich ein hochleveliger Spieler in einem Gebiet erblinded, kennt er
das oder er schaut es sich gerade an und sollte auf alle Faelle den Weg bis zu
einem Heiler finden. Kleineren Spielern die blind geworden sind wird
sicherlich auch geholfen werden, daher ist diese Tool eigentlich nicht noetig,
da es eher dem M in MUD wiederspricht.

OrkT.

PS Wenn das instantane entblinden passe ist, lohnt es sich vileicht sogar mal
ein Gildenuebergreifende Kampfbeeintraechtgung einzubauen.

-----------------------------------------------------------------------------



Re^6: Blindheit ... (Anacrion,  5. Feb 2001, 09:29:29):
~#! rn=Orktoeter rt=981360219 rg=entwicklung
~#! tid=981313910
Ach ja .... und beschwoere sollte wie finde in blindem Zustand nicht gehen ...

Anac* wirf 2 cents in den Raum (was ihm, da er in den USA studiert, besonders
leichtfaellt)

-----------------------------------------------------------------------------



Re^6: Blindheit ... (Obermotz,  5. Feb 2001, 10:05:48):
~#! rn=Orktoeter rt=981360219 rg=entwicklung
~#! tid=981313910
Hm, es gibt glaube ich Spieler, die ein Gebiet zum ersten Mal betreten und
blind werden. Und bei einigen Gebieten landet man mit norden; sueden nicht im
Ausgangsraum.
Aber die Idee mit der Zeitverzoegerung gefaellt mir. Natuerlich muessen
Zauberer von der Zeitverzoegerung ausgeschloseen sein ;-).
Was haltet von einem Objekt aehnlich der Brille, die sich ein LLP (so bis
Level 5 oder 7) nach bestehen einer Mini-Quest via "tm sandtiger blindenstock"
besorgen kann?

OM startet die Spendenaktion "Kompos fuer Obermotz" neu.

-----------------------------------------------------------------------------



Re^7: Blindheit ... (Nonne,  5. Feb 2001, 10:27:18):
~#! rn=Obermotz rt=981363948 rg=entwicklung
~#! tid=981313910
Wenn jeder mit der Brille rumlaeuft, ist es wirklich egal, ob man sehen kann,
oder nicht. Dann willst Du auch noch kleinen Spieler so ein Ding sofort in die
Hand geben? Dann koennen wir Blindheit gleich abschaffen, und dass gewisse
Raeume dunkel sind gleich mit. Wozu Fackel? HLP laufen eh immer mit
ausreichend Licht rum, so dass das nur kleine Spieler stoert. Noch eine
Mini-Quest mit tm sandtiger hier ist dunkel, wo bin ich, ich will zu Mama...

Nonne.

-----------------------------------------------------------------------------



Re^8: Blindheit ... (Morgoth,  5. Feb 2001, 10:28:10):
~#! rn=Nonne rt=981365238 rg=entwicklung
~#! tid=981313910
Du meinst also den Zustand der Zauberer jetzt fuer alle... ;-)

M*

-----------------------------------------------------------------------------



Re^9: Blindheit ... (Humni,  5. Feb 2001, 10:35:28):
~#! rn=Morgoth rt=981365290 rg=entwicklung
~#! tid=981313910
Blindheit ist fuer groessere Spieler in der Tat kein Thema (es sei denn, man
ist gerade in einem unerforschten Gebiet und unvorbereitet). Das sollte
vielleicht auch durchaus so sein, dass ein groesserer Spieler keine Probleme
damit hat. Und dass Blindheit einen kleinen Spieler wirklich behindert ist
bestimmt Absicht.
Nur sollte dann aber auch klar sein, dass man als Seher einem kleinen Spieler
hilft (,beschwoere' hat ja bestimmt einen Sinn) und sich nicht auf der Ebene
ueber diesen totlacht, wenn er darum bittet, irgendwohin gefuehrt zu werden.
Ich weiss noch ziemlich genau was fuer dumme Sprueche kommen, wenn man um
Entblindung am Sandtiger bittet. Ja, ich habe ein Skript zum Heiler, aber das
hat doch ein kleiner Spieler noch nicht, wenn er nicht gerade von irgendwem
die Wegedatei bekommen hat (was nicht Sinn der Sache ist).
Wenn hier ein wenig mehr Entgegenkommen von Seiten der ach so tollen
HLPs kommen wuerde gaebe es das Problem gar nicht.

Humni, seine Meinung auch mal reinschmeissend.

-----------------------------------------------------------------------------



Re: Blindheit ... (Yendi,  5. Feb 2001, 12:24:24):
~#! rn=Gloinson rt=981313910 rg=entwicklung
~#! tid=981313910
"taste" hoert sich geil an--
(*raeusper* Alles zurueck...)
"taste" hoert sich ja toll an, aber das wird daran scheitern, dass "schau"
schon genug Arbeit macht, um ganze Kompanien von Magiern von ihren Kampf-NSCs
und anderen interessanten Sachen abzuhalten. 

YTY


-----------------------------------------------------------------------------



Re^3: Blindheit ... (Jakscha,  5. Feb 2001, 16:46:14):
~#! rn=Menace rt=981323246 rg=entwicklung
~#! tid=981313910
hmm irre ich mich oder sprichst du da genau _das_ tool an, dass eigentlich
geaendert gehoert und wohl mehr oder weniger als bug zu bezeichnen ist? :-)

-----------------------------------------------------------------------------



Re: Re: Blindheit ... (Gloinson,  5. Feb 2001, 18:08:46):
~#! rn=Yendi rt=981372264 rg=entwicklung
~#! tid=981313910
Ich hatte ja nur gewuenscht, das "ausgaenge" auch funktioniert, wenn man blind
ist ... tastbare Details sind etwas, nach dem Du z.B. Patryn fragen kannst und
die mit wenig Aufwand ermoeglicht werden koennten - aber damit schreibt sie
noch kein Magier in seine Raeume hinein.
Wie kam ich ueberhaupt auf die Idee mit "ausgaenge"? Gestern fragte sich
"Johnnyboss" ungefaehr eine halbe Stunde auf den Kanaelen nach einem netten
Kleriker tot, der ihn in der "Huddles-Quest" doch mal entblinden koenne. Nun
kann es sein, dass die anwesenden Kleriker ihn nicht mochten, die Spieler
vielleicht ebenfalls nicht, aber ich hatte den Eindruck er war auch deshalb
aufgeschmissen, weil er am Ende der Welt in irgend einer Huette sass, aus der
er allein nichtmal zu einem belebteren Ort finden konnte (und wenn man keine
tf-Numpad-Keybindings hat, tippt sich "nw", "n" bei staendigem "Wie bitte."
zunehmend frustrierend ein).

Gloin(son)

-----------------------------------------------------------------------------



Re^3: Blindheit ... (Agony,  5. Feb 2001, 18:13:34):
~#! rn=Gloinson rt=981392926 rg=entwicklung
~#! tid=981313910
das ertasten von ausgaengen liesse sich ja eigentlich hinreichend
generisch in der mudlib realisieren, ohne dafuer extra details zu
erzwingen. die infos sind alle da...auch wenn das verkorkste
special-exit-system wie ueblich probleme bereitet.

-----------------------------------------------------------------------------



Re^4: Blindheit ... (Ark,  5. Feb 2001, 19:22:53):
~#! rn=Agony rt=981393214 rg=entwicklung
~#! tid=981313910
Hihi, jetzt muss ich mich mal wieder als spielerfeindlich outen:
alles, worum ihr euch bemueht, ist Tinnef, Murks, Kaese, Quark. Blindheit ist
Blindheit, Ausgaenge gibt es nicht, ausser durch Trial und Error. Das Kurieren
ist relativ einfach moeglich, warum also muss man noch was dran drehen? Jo,
ich kann mitreden, auch ich war als kleiner Spieler oefter mal blind ... und
ich habe es verstanden und ausserdem noch _gut_ gefunden. Irgendwie habe ich
den Eindruck, als ob wir manchmal im Sinne "spielerfreundlich" etwas ueber das
Ziel hinausschiessen. Lasse mich natuerlich gerne belehren, das junge,
verweichlichte Volk denkt da sicher anders.
Nicht hauen jetzt ;^)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^5: Blindheit ... (Rumata,  5. Feb 2001, 20:44:12):
~#! rn=Ark rt=981397373 rg=entwicklung
~#! tid=981313910
Mit 'ende' kommt man als bilder ueberall raus.
-> gejammer
Rum**

-----------------------------------------------------------------------------



Re^6: Blindheit ... (Zephyr,  5. Feb 2001, 22:02:31):
~#! rn=Rumata rt=981402252 rg=entwicklung
~#! tid=981313910
Falsch. Sorry. C4.

-----------------------------------------------------------------------------



Re: Re: Blindheit ... (Rochus,  5. Feb 2001, 22:18:46):
~#! rn=Yendi rt=981372264 rg=entwicklung
~#! tid=981313910
Ach, war doch schon richtig, "taste" hoert sich WIRKLICH geil an :)

(muss ich noch meine Versionsnummer dazuschreiben,
damit dieser Artikel verstaendlich wird? :-)

  Rochus

-----------------------------------------------------------------------------



Re^5: Blindheit ... (Gnome,  5. Feb 2001, 23:08:22):
~#! rn=Ark rt=981397373 rg=entwicklung
~#! tid=981313910
wenn du jetzt noch plausibel erklaerst, warum man als blinder nicht tasten
koennen sollte... schliesslich hat man noch beide arme.
aber auch ICH lasse mich gerne belehren... :)

gnOme

-----------------------------------------------------------------------------



Re^6: Blindheit ... (Darkwing,  5. Feb 2001, 23:10:30):
~#! rn=Gnome rt=981410902 rg=entwicklung
~#! tid=981313910
und vor allem: warum funktionier "klatsche" noch wenn man keine Haende mehr
hat ???
--> schmarrn

-----------------------------------------------------------------------------



Re^6: Blindheit ... (Ark,  5. Feb 2001, 23:12:24):
~#! rn=Gnome rt=981410902 rg=entwicklung
~#! tid=981313910
Klar, wir Magier haetten Riesenarbeit, erinnert mich an die Einfuehrung von
Geruechen und Geraeuschen :-) Fuer neue Raeume wird dann das AddTastDetail
eingefuehrt, fuer die alten, naja, als Gesellenstuecke etwas wenig. Waere dann
ein Mischmasch. Lohnt sich das?


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^7: Blindheit ... (Gnome,  5. Feb 2001, 23:19:35):
~#! rn=Ark rt=981411144 rg=entwicklung
~#! tid=981313910
also ganz ehrlich: ich faende es besser, wenn alte gegenden und raeume
ueberarbeitet werden, in denen es teilweise nicht mal ein boden gibt,
als das jeden monat ein neuer quest hinzukommt. davon haben wir wirklich
mehr als genug...
nein, ich machs nicht, verteil sie als gesellenstuecke. :)=

gnOme

-----------------------------------------------------------------------------



Re^8: Blindheit ... (Ark,  5. Feb 2001, 23:22:06):
~#! rn=Gnome rt=981411575 rg=entwicklung
~#! tid=981313910
Klar, wenn sich jemand bereit erklaert, das zu machen UND er/sie nicht mit
haemischem Mobbing seitens Magier-/Spielerseite wg. des "trivialen"
Gesellenstuecks rechnen muss, warum nicht?! Zook, Ihre Meinung? :-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^9: Blindheit ... (Agony,  5. Feb 2001, 23:25:37):
~#! rn=Ark rt=981411726 rg=entwicklung
~#! tid=981313910
wieso trivial...quasi verweiste gebiete dem heutigen qualitaetsstand
entsprechend aufzumoebeln ist zwar zumeist keine sehr dankbare aufgabe,
aber waere auf jeden fall sinnvoller als gesellenstueck und auf keinen
fall trivial. schliesslich muss man sich in fremde ideen reinzwaengen und
das gebiet sinnvoll und stimmig erweitern.

-----------------------------------------------------------------------------



Re^10: Blindheit ... (Ark,  5. Feb 2001, 23:27:49):
~#! rn=Agony rt=981411937 rg=entwicklung
~#! tid=981313910
Hm, ich habe noch eins laufen, von dem hab ich lange nix mehr gehoert, mal
guggen, wie das Ergebnis ist, wenn es mal da ist :-) Das "trivial" ist
natuerlich absichtlich so markiert, ich weiss, dass es das keineswegs ist.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^9: Blindheit ... (Silvana,  5. Feb 2001, 23:28:33):
~#! rn=Ark rt=981411726 rg=entwicklung
~#! tid=981313910
Das scheitert vor allem an der Zahl der Freiwilligen. Leider. 
Auch bei der Ueberarbeitung alter Gebiete zeigen, was man kann. Allerdings
sollte das GS dann nicht nur aus 10 neuen Boeden in ansonsten fertigen Raeumen
bestehen. ;-)

  Silvana

-----------------------------------------------------------------------------



Re^10: Blindheit ... (Humni,  5. Feb 2001, 23:50:00):
~#! rn=Silvana rt=981412113 rg=entwicklung
~#! tid=981313910
Ja, Silvana, richtig. Es gibt kaum jemanden, der etwas ueberarbeiten will.
Aber ist nicht genau das eigentlich eher ein gutes Zeichen? Ein Spieler/Seher,
der beschliesst, Magier werden zu wollen und lieber etwas eigenes schaffen
will?
Damit haengt sich dieser Magier rein in das, was er tut. Er beschaeftigt sich,
und hinterher, wenn es egal wie geworden ist, sagen alle: ,,Das hat Humni
programmiert.'' anstatt ,,Das hat Humni mit Details gefuellt.''.
Aber: Das heisst nicht, dass sich nix veraendern sollte. Nur: Als GS macht das
vielen Leuten ueberhaupt keinen Spass, und das kann ich sehr sehr gut
verstehen. Aber wie waere sowas als Anreiz fuer Level 26?
Nur mal als Idee. 

Humni, darf immer noch keine Seher zu Magiern befoerdern.

-----------------------------------------------------------------------------



Re^11: Blindheit ... (Agony,  5. Feb 2001, 23:52:11):
~#! rn=Humni rt=981413400 rg=entwicklung
~#! tid=981313910
es geht nicht darum ein gebiet nur mit details zu fuellen, eine
ueberarbeitung im sinne der grundideen von frueher schliesst den einbau
neuer NPCs und objekte nicht aus, auch miniquestelemente kann man neu
einfuegen. nicht zuletzt bleibt auch die option der spasswiese fuer magier,
die parawelt...natuerlich erst zum schluss einer vernuenftigen
erweiterung und verfeinerung des gebietes.

-----------------------------------------------------------------------------



Re^12: Blindheit ... (Humni,  5. Feb 2001, 23:54:37):
~#! rn=Agony rt=981413531 rg=entwicklung
~#! tid=981313910
Da verstehen wir uns ausnahmsweise mal voellig richtig.
Sogar gegenseitig.
Ich sollte schnell ins Bett gehen, ich werte das mal als schlechtes Zeichen
;-)

CU Humni

-----------------------------------------------------------------------------



Re^8: Blindheit ... (Apollonia,  6. Feb 2001, 11:37:41):
~#! rn=Gnome rt=981411575 rg=entwicklung
~#! tid=981313910
Nicht nur Raeume ohne Boden, auch Dschungel ohne Pflanzen *schuettel*. Aber da
ist Abhilfe unterwegs *Rikus angrins*.
Aber fuer ein Gesellenstueck ist das ein bisschen arg wenig, Kampfzwerch.

Apo*

-----------------------------------------------------------------------------



Re^11: Blindheit ... (Apollonia,  6. Feb 2001, 11:50:26):
~#! rn=Humni rt=981413400 rg=entwicklung
~#! tid=981313910
Okay, mag sein, dass es herzlich wenige Magier gibt, die Bock drauf haben,
bestehende Gebiete aufzupeppen. Aber ich muss ganz ehrlich sagen, dass ich,
sofern mein GS endlich mal fertig ist, den Dschungel allein deshalb ganz oben
auf meiner Liste habe, weil mich als Spieler diese Cut&Paste raeume schlicht
und ergreifend ankotzen. Also tu ich als Magier auch was gegen. Ob das
honoriert wird, ist mir ehrlich gesagt schnurzpiepe.

Apo* (ne Menge vorhabend)

-----------------------------------------------------------------------------



Re^11: Blindheit ... (Padreic,  6. Feb 2001, 12:00:23):
~#! rn=Humni rt=981413400 rg=entwicklung
~#! tid=981313910
Jederzeit, also die Unterwelt setzt hiermit einmal Level 26 fuer die
Ueberarbeitung der Nibelheimminen aus. Waer das nicht was fuer Dich Humni?
Ihre Bewerbungsunterlagen schicken sie bitte an einen Unterwelt-RM ihrer Wahl.

Pad*

-----------------------------------------------------------------------------



Re^12: Blindheit ... (Cassandra,  6. Feb 2001, 12:25:40):
~#! rn=Padreic rt=981457223 rg=entwicklung
~#! tid=981313910
Das reine Ueberarbeiten mag ja als Gesellenstueck etwas wenig sein, aber man
koennte es doch als Teil des selbigen ansehen.
Cassandra, weder magier seiend noch werden wollend

-----------------------------------------------------------------------------



Re^3: Blindheit ... (Yendi,  6. Feb 2001, 13:20:07):
~#! rn=Rochus rt=981407926 rg=entwicklung
~#! tid=981313910
Rochus, Rochus... wo soll das noch enden mit Dir? 
:-)))

YTY


-----------------------------------------------------------------------------



Re^9: Blindheit ... (Greifax,  6. Feb 2001, 15:00:41):
~#! rn=Apollonia rt=981455861 rg=entwicklung
~#! tid=981313910
Also das "aufpeppen" von n Raeumen die gerade mal 10 Details haben auf
eine Detailstufe die heute erwartet wird ist denke ich mal schon genug
fuer ein Gesellenstueck. Zumal ich es so verstanden hatte das das GS
nur zeigen soll das der betreffende die Grundzeuge von LPC verstanden
hat und gewillt ist einen Beitrag zum Mud zu leisten.

Gruss, Greifax

-----------------------------------------------------------------------------



Re^10: Blindheit ... (Nonne,  6. Feb 2001, 15:09:19):
~#! rn=Greifax rt=981468041 rg=entwicklung
~#! tid=981313910
Das habe ich auch mal gedacht. Bis mir dann gesagt wurde, fuer ein GS braucht
man ein anschlussfertiges Gebiet. Naja, den Sinn sehe ich nicht, aber muss
wohl gemacht werden. Ich stelle mir das allerdings nicht einfacher vor, ein
Gebiet aufzupeppen. Man wird in Vorgaben gezwungen, die man nicht einfach
komplett ueber den Haufen werfen kann. Alleine schon wegen der Spieler, die
das Gebiet schon kennen. Also muss man sich im Stil anpassen und das wuerde
meine Creativitaet doch erheblich einschraenken. Ich ziehe den Hut vor denen,
die sich das antun.

Nonne.

-----------------------------------------------------------------------------



Re^11: Blindheit ... (Greifax,  6. Feb 2001, 15:24:10):
~#! rn=Nonne rt=981468559 rg=entwicklung
~#! tid=981313910
Dann wundert es mich nicht mehr das man bei einigen Gebieten den Eindruck
hat das sie zum Ende hin nur noch fertig geproggt wurden um angeschlossen
zu werden.

Greifax

-----------------------------------------------------------------------------



Re^12: Blindheit ... (Nonne,  6. Feb 2001, 15:26:07):
~#! rn=Greifax rt=981469450 rg=entwicklung
~#! tid=981313910
Und dann darf man sich noch von Spielern anhoeren: Wer laenger als ein Jahr
Lehrling ist, ist sowieso ein Wurstmagier. Dann schmeisst man die Sachen hin,
oder schliesst die Sachen mehr oder minder halbfertig an. Kann ich den meisten
nichtmal veruebeln...

Nonne.

-----------------------------------------------------------------------------



Re^13: Blindheit ... (Amaryllis,  6. Feb 2001, 15:38:24):
~#! rn=Nonne rt=981469567 rg=entwicklung
~#! tid=981313910
Ich denke mal, dass die meisten, die hier Magier werden, es bereits mit einer
konkreten "neuen" Idee fuer ein GS im Hinterkopf werden. Schon alleine deshalb
kommt wohl darum fuer viele ein "Ueberarbeiten" fremden, alten Codes nicht in
Frage, weil sie sowohl bereits ein konkretes Projekt fuer ihr GS geplant haben
(wie bei mir z.B. damals der Zwergenangriff), und zum anderen wenig Lust
verspueren, die "Faulheit" der entsprechenden Magier (um es mal ueberspitzt
auszudruecken) zu "bearbeiten".

Das Problem der "missing details" ist ja nicht wirklich neu und existiert in
vielen Gegenden. Im Laufe der letzten Jahre haben sich halt auch hier die
Ansprueche geaendert. Mit Raeumen, wie man sie von einigen Gegenden her kennt
(ne Handvoll Details maximal, dazu noch kaum ne Raumbeschreibung), koennte ein
Neumagier heute keinen Blumentopf mehr gewinnen - das wuerde weder vom RM
abgenommen noch jemals angeklemmt werden.

Da es auch einige Gegenden gibt, in denen sicher die "missing details" schon
zigtausendfach abgesetzt wurden, der betreffende Magier durchaus noch aktiv im
Mud ist, die Raeume aber dennoch nicht geaendert werden, haette ich in einem
solchen Fall auch keine allzu grosse Lust, fuer denjenigen die "Drecksarbeit"
zu machen.

Just my Euro 0.02

Ama*

-----------------------------------------------------------------------------



Re^14: Blindheit ... (Anatol,  6. Feb 2001, 15:54:12):
~#! rn=Amaryllis rt=981470304 rg=entwicklung
~#! tid=981313910
Es ist so selten der Fall, dass ich mit Amaryllis einer Meinung bin, dass
ich das einfach mal kundtun muss: Ich stimme ihr zu. *SEUFZ* Es ist nicht
nur fuer den potentiellen Gesellenstueck-Suchenden ein Scheissjob, solche
Gegenden an die neuen Anforderungen anzupassen, es ist schon fuer Spieler
absolut oberscheisse, wenn er sich die Muehe macht, Gebiete komplett mit
Typo/Bug/Idee-Rueckmeldungen durchzusehen, nur um dann etwas spaeter gesagt
zu bekommen, dass der verantwortliche (Regions-)Magier entweder schon seit
Jahren nicht mehr da ist und das Gebiet nicht betreut wird oder eben jener
Magier lieber neue tolle Killerobjekte/monster anschliesst und seine Rep's
nicht mehr abarbeitet...

Wer hat da noch Lust, Tippfehler oder fehlende Details anzumerken?

Ich nicht.

Anatol

-----------------------------------------------------------------------------



Re^15: Blindheit ... (Greifax,  6. Feb 2001, 16:01:54):
~#! rn=Anatol rt=981471252 rg=entwicklung
~#! tid=981313910
... und daher sollte die Pflege und Ueberarbeitung schon als Gesellenstueck
anerkannt werden, aber wenn ich mir hilfe gesellenstueck durchlese waere das
wohl schon moeglich.

Greifax (schoen das wir uns alle recht geben ;)

-----------------------------------------------------------------------------



Re^13: Blindheit ... (Agony,  6. Feb 2001, 16:49:48):
~#! rn=Cassandra rt=981458740 rg=entwicklung
~#! tid=981313910
irgendwie unterschaetzt ihr das ueberarbeiten alter gebiete total.
man nehme ein paar alte raeume mit zumeist durchschnittlich einer
langbeschreibung + 20 details, damals durchaus normal.
miniquests gab es nich, monster waren auch mehr oder weniger alle
08-15 standard.
daraus etwas zu machen, was den heutigen qualitaetsanspruechen genuegt
und es im rahmen der ideen des frueheren magiers zu erweitern ist
ganz bestimmt nicht einfacher als ein eigenes neues gebiet zu schreiben.
ich vrtrete sogar den standpunkt, dass es schwieriger ist.

-----------------------------------------------------------------------------



Re^11: Blindheit ... (Bambi,  6. Feb 2001, 17:49:13):
~#! rn=Nonne rt=981468559 rg=entwicklung
~#! tid=981313910
Um Vollmagier zu werden braucht man ein GS, das aber kein Gebiet sein soll.
Um Level 26 zu werden, also sponsoren zu duerfen, dafuer braucht man ein
anschlussfertiges Gebiet, das gewissen qualitativen und quantitativen
Anspruechen genuegt.
Das sollte eigentlich verstaendlich sein, denn man kann ja nix von eine(r/m)
lernen, der/die(/das) nix geproggt hat.
Ich denke aber, dass man Genaueres erfaehrt, wenn man Zook befragt oder die
Manpage mal genauer liest.
MfG, Bambi.

-----------------------------------------------------------------------------



Re^12: Blindheit ... (Bambi,  6. Feb 2001, 17:49:45):
~#! rn=Bambi rt=981478153 rg=entwicklung
~#! tid=981313910
Korrektur: ... kein Gebiet sein _muss_

-----------------------------------------------------------------------------



Re^14: Blindheit ... (Gloinson,  6. Feb 2001, 18:50:50):
~#! rn=Agony rt=981474588 rg=entwicklung
~#! tid=981313910
Genauuu. Ich bossel in einem anderen MUD seit zwei Jahren an der Aufarbeitung
eines alten Gebietes von 50-100 Raeumen. Erstmal muss die Geschichte dort in
Reih und Glied gebracht werden (an Ecke Y sagt NPC Z was ganz anderes), dann
muss man sich in die Gegend hineinversetzen und diese genuegend beschreiben
und danach kommt dann auch irgendwann Erweiterung. Es ist wesentlich
schwieriger als was neues aus dem Hut zu zaubern. Aber was red ich, auch dort
haben die Spieler nur bemerkt "das ... ja ein paar neue Details reingemacht
hat". Das sie einige Teile vorher nicht mal betreten konnten ist ihnen nicht
aufgefallen.
Aber was hat das eigentlich noch mit Blindheit zu tun? :>

Gloin(son)

PS: Und aus einem Gebiet das heute nicht mehr angeschlossen wuerde ein
    anschlueinfertiges zu machen erfuellt sogar formal die Voraussetzung
    fuer Lvl 26 ;)

-----------------------------------------------------------------------------



Re^7: Blindheit ... (Paracelsus,  6. Feb 2001, 21:52:05):
~#! rn=Ark rt=981411144 rg=entwicklung
~#! tid=981313910
Du meinst wohl eher AddFeeling() ... an einigen Stellen waere das sicherlich
nicht
verkehrt.

Paracelsus.

-----------------------------------------------------------------------------



Re^8: Blindheit ... (Ark,  6. Feb 2001, 21:57:13):
~#! rn=Paracelsus rt=981492725 rg=entwicklung
~#! tid=981313910
Whatever, bisher hab ich es nur bei wenigen Stellen selbst geschrieben. Kann
man endlos ueber Sinn und Unsinn streiten. Ja, es waere besser von Anfang an
in jeden Raum eingefuegt worden. Aber das MorgenGrauen ist nun mal ein
Flickenteppich und wird immer einer bleiben. Oder ich sage besser Collage :-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^14: Blindheit ... (Tiamak,  6. Feb 2001, 22:27:03):
~#! rn=Amaryllis rt=981470304 rg=entwicklung
~#! tid=981313910
Mag ja sein, dass der Grossteil der Neu-Magier eher eigene Gebiete entwickeln
moechte und keinen Spass am Ueberarbeiten fremder/alter Sachen hat.

Aber macht es denen, die doch Spass an sowas haben, bitte nicht madig. Das ist
alles andere als "Drecksarbeit" und ich bin froh um jeden, der gerne fremde
Klamotten ueberarbeitet.


Tiamak

P.S: natuerlich reicht sowas jederzeit fuer ein GS und Lvl 26. 
     Entsprechende Qualitaet vorausgesetzt. ;-)

-----------------------------------------------------------------------------



Re^15: Blindheit ... (Amaryllis,  6. Feb 2001, 22:35:05):
~#! rn=Tiamak rt=981494823 rg=entwicklung
~#! tid=981313910
Sorry wenn das falsch rueberkam, ich wollte auf keinen Fall interessierten
Leuten diese Arbeit madig machen.
Das Wort "Drecksarbeit" habe ich nicht umsonst in Anfuehrungszeichen
geschrieben :-)

Was ich sagen wollte war nur:
Es gibt genuegend Gegenden, in denen der betreffende Magier durchaus aktiv
ist, die aber dringend einer Aufarbeitung (mindestens der des Repfiles)
beduerfen, zu der der Magier aber anscheinend nicht bereit ist. Ich selber
habe auch schon vor Jahren Bugs und Typos in einigen solchen Gegenden
abgesetzt, die immer noch drin sind. In einem solchen Fall kann ich es
durchaus verstehen, dass wohl keiner als "Detail-Ergaenzer", "Typo-Fixer" und
"Flair-Erweiterer" dieses Gebietes herhalten will.

Bei Gebieten, deren Magier laengst nicht mehr aktiv ist, sieht das natuerlich
ganz anders aus.

Gruessle,
Ama*

-----------------------------------------------------------------------------



Re^15: Blindheit ... (Zook,  7. Feb 2001, 00:17:51):
~#! rn=Tiamak rt=981494823 rg=entwicklung
~#! tid=981313910
Zook nickt Tiamak zu.

-----------------------------------------------------------------------------



Re^15: Blindheit ... (Karis,  7. Feb 2001, 00:30:46):
~#! rn=Tiamak rt=981494823 rg=entwicklung
~#! tid=981313910
Wer meldet sich freiwillig fuer eine Ueberarbeitung von Semmels Gebiet? ;)=

Generaelchen Karis, will das auch mal sehen :)

-----------------------------------------------------------------------------



Re^16: Blindheit ... (Gnome,  7. Feb 2001, 00:31:46):
~#! rn=Karis rt=981502246 rg=entwicklung
~#! tid=981313910
ich!

gnOme will endlich wieder 50 orks am stueck metzeln... :)

-----------------------------------------------------------------------------



Re^17: Blindheit ... (Karis,  7. Feb 2001, 00:33:10):
~#! rn=Gnome rt=981502306 rg=entwicklung
~#! tid=981313910
unt boden: 50 Orks fallen ueber Dich her.
unt waende: siehe boden.
unt decke: siehe waende.

Waer das so in deinem Sinne? ;)

Generaelchen Karis

-----------------------------------------------------------------------------



Re^18: Blindheit ... (Gnome,  7. Feb 2001, 00:34:26):
~#! rn=Karis rt=981502390 rg=entwicklung
~#! tid=981313910
nein, aber ich habe damals wirklich gut gelacht ueber die P_LONG:
"Hier standen mal zwei Orks."

gnOme :)

-----------------------------------------------------------------------------



Re^19: Blindheit ... (Gloinson,  7. Feb 2001, 00:50:56):
~#! rn=Gnome rt=981502466 rg=entwicklung
~#! tid=981313910
Auf der Party in Dresden hat Semmel noch beteuert er wuerde wieder ZEit
reinstecken koennen ;)

Gloin(son)

-----------------------------------------------------------------------------



Re^12: Blindheit ... (Padreic,  7. Feb 2001, 01:22:18):
~#! rn=Padreic rt=981457223 rg=entwicklung
~#! tid=981313910
Zuschlag, verkauft!

Pad*

-----------------------------------------------------------------------------



Metzelgebiete und der Imbiss :) (Solmyr,  7. Feb 2001, 07:41:13):
Hmm, habt Ihr Euch auch schon mal gefragt, warum es alle Leute immer
wieder in den Imbiss zieht?
Komische Sache, meiner Meinung nach, gibt es kaum mehr Plaetze, wo
man 'enttanken' kann. Die Blume und die Fleischreste sind mir ja
noch ein Begriff, aber gibt es noch 'ne Kneipe im MorgenGrauen, die
ein Klo hat? Ich mein, im RL darf man ja z.Bsp. auch nur Stuehle
reinstellen, wenn man ein Klo hat :)
Spricht was gegen die Einfuehrung mehrerer Klo's oder muessen wir
weiter unsere Scripte zentral zum Imbiss schreiben? :) Waere doch auch
nett eins auf dem Friedhof zu haben, dann muss man nicht ein Klo-Script
von der Friedhofskneipe zum Imbiss und zurueck schreiben :) Gibt's da
ne Richtlinie von der Ballance?

Solmyr, grad etwas nachdenklich

-----------------------------------------------------------------------------



Re: Metzelgebiete und der Imbiss :) (Fantaghiro,  7. Feb 2001, 07:49:27):
~#! rn=Solmyr rt=981528073 rg=entwicklung
~#! tid=981528073
Es gibt noch andre Tanken die nen Klo haben. 

Fantaghiro - muede, aber kurz und schmerzlos.

-----------------------------------------------------------------------------



Re: Metzelgebiete und der Imbiss :) (Deepblue,  7. Feb 2001, 09:20:46):
~#! rn=Solmyr rt=981528073 rg=entwicklung
~#! tid=981528073
IMHO gehoert das Klo abgewertet, maximal 2x Scheissen pro reset sollte
genuegen...

-----------------------------------------------------------------------------



Re: Re: Metzelgebiete und der Imbiss :) (Solmyr,  7. Feb 2001, 09:24:39):
~#! rn=Deepblue rt=981534046 rg=entwicklung
~#! tid=981528073
denk
Falls das hier weiter 'ne Diskussion wird, ... ICH HAB MICH NICHT
FUER DIE ABWERTUNG DES KLO'S EINGESETZT!

Solmyr, erst Tanjian dann Klo, oder was? :)

-----------------------------------------------------------------------------



Re^3: Metzelgebiete und der Imbiss :) (Humni,  7. Feb 2001, 10:58:08):
~#! rn=Solmyr rt=981534279 rg=entwicklung
~#! tid=981528073
Nur als Info: Fuer tanken usw. zustaendig ist, wie hilfe balance auch
Andeutet, Fizban.

Humni, fast einzeilernd.

-----------------------------------------------------------------------------



Re: Metzelgebiete und der Imbiss :) (Golas,  7. Feb 2001, 11:51:27):
~#! rn=Solmyr rt=981528073 rg=entwicklung
~#! tid=981528073
du solltest nicht mehr so spaet am abend artikel schriben :)))

-----------------------------------------------------------------------------



Re: Metzelgebiete und der Imbiss :) (Sahadoom,  8. Feb 2001, 18:50:09):
~#! rn=Solmyr rt=981528073 rg=entwicklung
~#! tid=981528073
Ein Klo aufm Friedhof? Stell Dich doch an nen Baum oder kack aufn Grab (oder
daneben :) -> Wenn Hunde und Katzen ueberall ihr Geschaeft machen duerfen,
kannst Du das auch *g* 

Saha, braucht zum Kacken kein Script.

-----------------------------------------------------------------------------



Blindheit und Imbiss (Bendeigid,  9. Feb 2001, 11:42:54):
Hi,

um den Bogen zu schlagen zwischen mindestens zwei Threads und dem Naechsten
Flamewar:
Schonmal darueber nachgedacht, wieso/warum ausgerechnet die beiden
"angeklagten" Dinge (Brille und Klo) aus der gleichen Region, um nicht zu
sagen vom selben Hersteller stammen?

Ben*, heimlich grinsend in Erwartung der Flames

-----------------------------------------------------------------------------



Re: Blindheit und Imbiss (Snibril,  9. Feb 2001, 11:43:58):
~#! rn=Bendeigid rt=981715374 rg=entwicklung
~#! tid=981715374
Weil zu nervig ist dauernd das Klo zu putzen, wenn die Bliden daneben
scheissen?

-----------------------------------------------------------------------------



Geburtstage a la ICQ (Dreamer, 10. Feb 2001, 00:40:07):

Nun, wie waere es mal mit einer Einbindung von "Geburtstagen" fuer Leute die
wollen, dass sie entweder a) viele Geschenke bekommen wollen, oder b)
Aufmerksamkeit erregen wollen, wenn auch nur fuer einen Tag im Jahr etc. Oder
aber fuer diejenigen die kein ICQ haben und den "Reminder an Geburtstagen"
vermissen oder die, die ICQ eh immer aus haben wennse mudden...

Das waere mal etwas fuer meine Wishlist. :)

Dreamer, immer fuer gute Tips zu haben :)


-----------------------------------------------------------------------------



Re: Geburtstage a la ICQ (Gloinson, 10. Feb 2001, 01:23:13):
~#! rn=Dreamer rt=981762007 rg=entwicklung
~#! tid=981762007
1. habe ich keine Ahnung wie ICQ Geburtstage handhabt
2. kenn ich ICQ nicht - ich mudde
3. ist mein Login-Datum leider verschollen
4. kann jeder, der Geburtstag hat, dass auch gerne rumrufen oder
   Artikel dazu in die Zeitung setzen ...
5. werd ich grad von jemandem gestresst, der Leute mit Erfahrung mit
   "Brokat-Whistler" sucht
6. bin ich dafuer, die Zeitung ueber das Usenet verfuegbar zu machen
7. sollte ueberhaupt mal ein Terminplaner fuer alle im MUD eingebaut werden
8. faende ich auch einen W3-Browser aus dem MUD notwendig ...
9. bla

Gloinson, immer fuer dumme Ideen gut

-----------------------------------------------------------------------------



Zaubi->Kleriker (Sublime, 10. Feb 2001, 04:41:02):
Da wir ja grad' alle so schoen ueber die Restauration alter Gebiete
und ueber alte Gilden sprechen, da ist mir glatt was zu eingefallen.
Sind die Kleriker danach dran? Ich mein, die sind sicher auch noch
ausbaufaehig und koennten ein bisschen Entwirrung vertragen. By the way,
wenn ich mein Wissen etwas aufpoliert habe und mein Projekt mit Armitage
auf der Rieseninsel (ja Zook und Silvana, Ihr bekommt ein Konzept so-
bald ich das alles zusammengeschrieben hab) abgeschlossen habe. Die
Restauration ist sicher 'ne sinnvolle Sache. Zumal wirklich einige
Gebiete ein paar Details und Funktionen mehr verdient haben. Hat mich
letztes Mal bei meinem Zweitie in der Duncton-Quest sehr gestoert...

***S*U*B*L*I*M*E*** (ok, am Layout muss ich noch etwas arbeiten*G*)

-----------------------------------------------------------------------------



Re: Zaubi->Kleriker (Solmyr, 10. Feb 2001, 04:42:42):
~#! rn=Sublime rt=981776462 rg=entwicklung
~#! tid=981776462
Hmm, da ist der Satz wohl etwas zu lang fuer meine Muedigkeit gewesen
oder umgedreht, wie auch immer. Ich meinte, nach dem Projekt stehe ich
da gern zur Verfuegung, zumindest wuerd ich mich da mal rantrauen...

Sublime, und nein, ich programmier nicht so, wie ich poste :)

-----------------------------------------------------------------------------



Re: Re: Geburtstage a la ICQ (Ilessa, 12. Feb 2001, 02:51:50):
~#! rn=Gloinson rt=981764593 rg=entwicklung
~#! tid=981762007
MPA ueber Usenet - JA! Endlich! Ich kann naemlich mit diesem Interface hier
irgendwie _ueberhaupt_ nicht umgehen (drum wird dieser Artikel auch echt
schlimm formatiert aussehen.)

Nee, aber im Ernst, genau die Idee kam mir auch schon letzte Woche. Einen
normalen, uebers Internet zugaenglichen NNTP-Server auf mg.mud.de aufsetzen,
und posten darf nur, wer sich ueber Spielername/Passwort authentifiziert.

Und dann natuerlich noch irgendein Mechanismus, der HTML-Postings mit Aualook-
Exzess automatisch cancelt, oder so ;-))

Ilessa, phantasievoll.

-----------------------------------------------------------------------------



Re^3: Geburtstage a la ICQ (Silvana, 12. Feb 2001, 08:12:09):
~#! rn=Ilessa rt=981942710 rg=entwicklung
~#! tid=981762007
> (drum wird dieser Artikel auch echt schlimm formatiert aussehen.)

Auweia... Wenn bloss alle Artikel in der MPA so gut lesbar waeren... *sigh*

  Silvana

-----------------------------------------------------------------------------



Re^4: Geburtstage a la ICQ (Ilessa, 12. Feb 2001, 13:44:33):
~#! rn=Silvana rt=981961929 rg=entwicklung
~#! tid=981762007
ich hab mir ja auch extra viel muehe gegeben ;-)

I*ich hasse diesen Editor*lessa

-----------------------------------------------------------------------------



Re^3: Geburtstage a la ICQ (Hate, 12. Feb 2001, 15:13:09):
~#! rn=Ilessa rt=981942710 rg=entwicklung
~#! tid=981762007
Also,

1. einen W3-Browser aus dem MUD hab ich vor Jahren schonmal gebaut.
2. NNTP und MPA vertragen sich nur bedingt und die Idee hab ich
   auch schon vor Jahren aus Zeitmangel verbannt

Hate ;-)

-----------------------------------------------------------------------------



Re^4: Geburtstage a la ICQ (Turbo, 12. Feb 2001, 17:34:31):
~#! rn=Silvana rt=981961929 rg=entwicklung
~#! tid=981762007
Hallo, 
 
Ich sehe das Problem mit dem Editor nicht wirklich. Ich schreibe
Artikel immer mit einem richtigen Editor (z.B. vi) in einem 
anderen Fenster und kopiere sie, wenn ich fertig bin, mit der
Maus ins Editorfenster. Auf die Weise hab ich keinen Stress.
Eigentlich ist ja auch nur unangenehm, dass man nur innerhalb
der Zeile ohne Handstaende zurueckgehen kann und dass einem 
der Normalscroll den Schirm zerschiesst. Ansonsten ist der 
Mudeditor gar nicht so schlimm (finde ich).
 
Turbo (Kater) 

-----------------------------------------------------------------------------



Re^5: Geburtstage a la ICQ (Gloinson, 12. Feb 2001, 17:43:41):
~#! rn=Turbo rt=981995671 rg=entwicklung
~#! tid=981762007
Es gibt allerdings einen etwas besseren Editor fuers MUD. Insbesondere fuer
MUDs mit Telnet-Negotiation. Von Zora@PK - jedenfalls hab ich da eine
lauffaehige Version gesehen.

Gloin(son)

-----------------------------------------------------------------------------



Re^5: Geburtstage a la ICQ (Apsu, 13. Feb 2001, 00:03:06):
~#! rn=Turbo rt=981995671 rg=entwicklung
~#! tid=981762007
Naja, wer vi benutzt, der graust sich vor gar nichts :)

Apsu

-----------------------------------------------------------------------------



Re^6: Geburtstage a la ICQ (Zarniya, 13. Feb 2001, 08:29:25):
~#! rn=Apsu rt=982018986 rg=entwicklung
~#! tid=981762007
Vor allem sagt er, dass er VI benutzt und dann ne MAUS zum rueberkopieren...
ECHTE VI USER KENNEN KEINE MAUS! Ehrlich.. Maeuse sind was fuer
Windoofverirrte ;)

Marc (endlich mal wieder nen Editorkrieg!)

-----------------------------------------------------------------------------



Re^6: Geburtstage a la ICQ (Deepblue, 13. Feb 2001, 09:29:25):
~#! rn=Apsu rt=982018986 rg=entwicklung
~#! tid=981762007
Hm, verwechselst Du jetzt etwa VI mit notepad, edLin und aehnlichem Kram? VI
ist sicherlich nicht einfach zu bedienen, aber er kann viel und
funktioniert...
Just my 2 Zloty

-----------------------------------------------------------------------------



Re^7: Geburtstage a la ICQ (Obermotz, 13. Feb 2001, 09:51:34):
~#! rn=Deepblue rt=982052965 rg=entwicklung
~#! tid=981762007
Da kann ich mal eine kruze Geschichte zu erzaehlen:

Es gab einen Studenten, der hasste Unix (und  dort besonders den vi). Heute
lachte er alle Windows benutzer aus und meint "Fuer die Systemverwaltung
braucht man nur die (Unix-)Kommandozeile, den vi und etwas Grips!"

OM erinnert sich an die gute, alte Zeit *ach ja*

-----------------------------------------------------------------------------



Re^8: Geburtstage a la ICQ (Deepblue, 13. Feb 2001, 09:52:32):
~#! rn=Obermotz rt=982054294 rg=entwicklung
~#! tid=981762007
Sicher braucht man nicht mehr, das mehr kann aber sehr hilfreich sein (solange
es so funktioniert wie es soll)

-----------------------------------------------------------------------------



Re^8: Geburtstage a la ICQ (Rikus, 13. Feb 2001, 09:52:40):
~#! rn=Obermotz rt=982054294 rg=entwicklung
~#! tid=981762007
ich kenn auch welche, die nutzen den emacs als loginshell :)

Rikus, XEmacs forever

-----------------------------------------------------------------------------



Re^9: Geburtstage a la ICQ (Gloinson, 13. Feb 2001, 10:48:53):
~#! rn=Rikus rt=982054360 rg=entwicklung
~#! tid=981762007
Streich das X und ich schliess mich Dir an :)

Gloin(son) - Level 1 in der Emacs-Gilde.

-----------------------------------------------------------------------------



Re^10: Geburtstage a la ICQ (Nonne, 13. Feb 2001, 10:51:48):
~#! rn=Gloinson rt=982057733 rg=entwicklung
~#! tid=981762007
Was stand hier neulich noch in der MPA: Emacs ist eine nette BS, nur leider
fehlt ein vernuenftiger Editor (c: Aber man kann mit dem Emacs ja auch einen
VI-mode benutzen. Leider hat der nicht die Erweiterungen des VIM... warten wir
also weiter auf den Editor fuer Emacs und nutzen VIM *g*

Nonne, grinsend

P.S: vi is the middle of evil!

-----------------------------------------------------------------------------



Re^6: Geburtstage a la ICQ (Hate, 13. Feb 2001, 12:08:41):
~#! rn=Apsu rt=982018986 rg=entwicklung
~#! tid=981762007
Nana, nichts gegen den vi.

Hate.

-----------------------------------------------------------------------------



Re^9: Geburtstage a la ICQ (Willow, 13. Feb 2001, 18:54:48):
~#! rn=Rikus rt=982054360 rg=entwicklung
~#! tid=981762007
yup, das funzt wenigstens... wenns auch etwas overkill ist ;)
Willow liebt den XEmacs...

-----------------------------------------------------------------------------



Re^11: Geburtstage a la ICQ (Ilessa, 13. Feb 2001, 20:26:31):
~#! rn=Nonne rt=982057908 rg=entwicklung
~#! tid=981762007
Wieso ist das eigentlich noch niemandem aufgefallen? Wir brauchen unbedingt
eine BOFH-Gilde ;-)

Level 1 skill: vi benutzen. Wenns beim ueben schiefgeht, erscheinen peinliche
Posttings desjenigen in der MPA.
Skill Home-Directory loeschen: Inventory des Gegners verschwindet in /dev/null
Und Toplevel-Skill waere dann "User loeschen", vergleichbar mit dem Todesstoss
der Trves oder so.

Ja, dieser Artikel darf nach Schmarrn verschoben werden. ;-)

vi-Userin Ilessa (heute etwas durch den Wind)

-----------------------------------------------------------------------------



Re^12: Geburtstage a la ICQ (Zook, 13. Feb 2001, 20:31:58):
~#! rn=Ilessa rt=982092391 rg=entwicklung
~#! tid=981762007
Soweit ich weiss, ist die BOFH-Gilde mit den BAFH bereits abgedeckt.

Zook.

-----------------------------------------------------------------------------



Re^13: Geburtstage a la ICQ (Gloinson, 13. Feb 2001, 20:40:28):
~#! rn=Zook rt=982092718 rg=entwicklung
~#! tid=981762007
Bastard Apo* from Hell?

Gloin(son) weiss es besser ...

-----------------------------------------------------------------------------



Re^11: Geburtstage a la ICQ (Gnome, 13. Feb 2001, 23:36:03):
~#! rn=Nonne rt=982057908 rg=entwicklung
~#! tid=981762007
hmm, wer muddete doch gleich per xemacs?
versuch das mal mit dem vi... :)

gnOme

-----------------------------------------------------------------------------



Re^12: Geburtstage a la ICQ (Mesirii, 13. Feb 2001, 23:37:21):
~#! rn=Gnome rt=982103763 rg=entwicklung
~#! tid=981762007
sique hat mit emacs gemuddet

-----------------------------------------------------------------------------



Re^13: Geburtstage a la ICQ (Gloinson, 14. Feb 2001, 08:44:09):
~#! rn=Mesirii rt=982103841 rg=entwicklung
~#! tid=981762007
Das wollte ich auch grad sagen. Und das sah nicht schlecht aus. Ausserdem war
es IMHO kein X :)

Gloin(son)

-----------------------------------------------------------------------------



Re^12: Geburtstage a la ICQ (Hate, 14. Feb 2001, 11:49:04):
~#! rn=Gnome rt=982103763 rg=entwicklung
~#! tid=981762007
Ich koennte mir ueberlegen dafuer eine macrolib zu schreiben.
Wenn ich mal Zeit und Lust habe ...

Oder wir fragen den tf-coder ob er nen vi-mode in die commandline
einbaut.

Hate.

-----------------------------------------------------------------------------



Moerder! (Tiamak, 16. Feb 2001, 18:44:16):
Hi ihr Metzler!

Auf [Moerder:] sind ab sofort wieder ein paar neue Sprueche zu bewundern.
Allerdings tauchen dafuer ein paar weniger beliebte Sprueche nicht mehr auf.

Vielen Dank an dieser Stelle an Dotz.


Tiamak. Hat diesmal staerker zensiert ;-)

P.S: Kritik und Vorschlaege zu den Meldungen nehme ich noch immer entgegen.

-----------------------------------------------------------------------------



"ausruestung farben" (Nachtwind, 23. Feb 2001, 02:57:10):
Hi,

der Befehl "ausruestung" nimmt jetzt die Option "farben". Das startet
eine Farbkonfiguration, in der man eine Farben durch eine andere
ersetzen kann (oder auch den Hintergrund umfaerben/ausschalten).
Das ist eigentlich nur fuer die Sonderfaelle gedacht, in denen
man ein interessant konfiguriertes terminal kompensieren moechte.
(Gibt da Leute mit weissem Hintergrund u.ae...).
Diese Konfiguration hat uebrigens rein gar nichts damit zu tun,
welche Farbe eine bestimmte Ruestung hat o.ae., wer ein normal
konfiguriertes terminal hat, braucht sie nicht. Es geht wirklich
nur um das grundsaetzliche Ersetzen von Ansi-Farben durch andere.

Beispiel:

Jemand muddet mit schwarzer Schrift auf weissem Grund. *schuettel*
Nach
- "ausruestung farben"
- "hintergrund aus"
- "weiss schwarz"
- "ok"
passt die Ausgabe von "ausruestung" farblich viel netter zum Rest
als vorher.

Nachtwind.

-----------------------------------------------------------------------------



Teddy-Report (Tiamak, 24. Feb 2001, 14:46:58):
Der Teddy zeigt ab sofort die LP/KP-Aenderungen wirklich zuverlaessig an.
Jetzt auch, wenn nur die LP steigen. ;-)

Allerdings erst ab Ende/Crash/Reboot.


Tiamak

-----------------------------------------------------------------------------



map (Sky, 24. Feb 2001, 14:52:25):
Wie waers, wenn das posten von Mpa-Artikel 150 Magiepunkte kostet. Wuerde
vielleicht die Anzahl der (sinnlosen) Artikel etwas reduzieren.

-----------------------------------------------------------------------------



Re: map (Tiamak, 24. Feb 2001, 14:54:10):
~#! rn=Sky rt=983022745 rg=entwicklung
~#! tid=983022745
Wie waere es, wenn Du Dir einfach mal die Hilfe zu MPA-Befehlen wie "uebergehe
thread" durchliest?

Ist genauso effektiv und macht nebenbei weniger Arbeit.


Tiamak

-----------------------------------------------------------------------------



Re: Re: map (Solmyr, 24. Feb 2001, 14:55:16):
~#! rn=Tiamak rt=983022850 rg=entwicklung
~#! tid=983022745
Ausserdem denke ich nicht, dass Du dadurch die Schwemme der sinnlosen
Artikel milderst.

Solmyr

-----------------------------------------------------------------------------



Re^3: map (Wurzel, 24. Feb 2001, 15:03:02):
~#! rn=Solmyr rt=983022916 rg=entwicklung
~#! tid=983022745
stimmt.

xcall wurzel->heal_self(200)

-----------------------------------------------------------------------------



Re^4: map (Kaspar, 24. Feb 2001, 15:10:02):
~#! rn=Wurzel rt=983023382 rg=entwicklung
~#! tid=983022745
Magier duerfen dann auch nur noch in den Magier-Rubriken posten. In
diesen Rubriken ist dann auch uebergehe, ignoriere etc alles nicht moeglich.
Dann muesst ihr mal laufend euren eigenen Mist durchgehen :-)

->schmarrn

-----------------------------------------------------------------------------



Teamkampf (Tiamak, 24. Feb 2001, 17:25:10):
Salve!

Die Befehle "team aufnahme" &Co funktionieren jetzt auch, wenn jemand den
Spielernamen nicht klein schreibt. 

Wie immer erst nach Ende/Crash/Reboot.


Tiamak

-----------------------------------------------------------------------------



Finger (Tiamak, 24. Feb 2001, 20:50:02):
Mahlzeit!

Da ich nicht mehr weiss, wer mich alles auf das Problem angesprochen hat, gibt
es die Entwarnung per MPA: das Fingern von Spielern im MG sollte jetzt auch
von Aussen wieder richtig funktionieren.

Nein, diesmal ist kein Ende/Reboot/Crash notwendig. ;-)


Tiamak

-----------------------------------------------------------------------------



Re^5: map (Bambi, 25. Feb 2001, 11:43:53):
~#! rn=Kaspar rt=983023802 rg=entwicklung
~#! tid=983022745
Also, wenn ich dann mal was anschliesse poste ich das in der Magierrubrik.
Viel Spass beim Lesen.

-----------------------------------------------------------------------------



Re: Finger (Menace, 25. Feb 2001, 17:58:00):
~#! rn=Tiamak rt=983044202 rg=entwicklung
~#! tid=983044202
ar@menace:~/MG > finger menace@mg.mud.de
[mg.mud.de/194.95.170.205]
Foerderverein Projekt MorgenGrauen e.V.            Hostrechner fuer MG.Mud.DE
-----------------------------------------------------------------------------

Diesen Benutzer gibt es nicht!
There is no such user.

----------------------------------------------------------------------------- 

-----------------------------------------------------------------------------



Re: Re: Finger (Tiamak, 25. Feb 2001, 18:00:12):
~#! rn=Menace rt=983120280 rg=entwicklung
~#! tid=983044202
> finger mg.menace@mg
[mg/194.95.170.205]
Foerderverein Projekt MorgenGrauen e.V.            Hostrechner fuer MG.Mud.DE
-----------------------------------------------------------------------------
Menace ist anwesend,
und zwar von: Muenster (ueber Muenster).
Voller Name: Pelzfuss Menace H, eine Bedrohung fuer seine Ausbilder und Azubis
Rasse: Hobbit,  Gilde: Kaempfer,  Geschlecht: maennlich
Spielerlevel: 48 (Seher),   Gildenlevel: 20
Datum des ersten Login: Fre,  6. Mar 1998, 10:20:58
Bisher bereits 50 mal gestorben
Projekt: Kaempferskills ueben und in der Gilde aufsteigen
-----------------------------------------------------------------------------

Warum das von Aussen mg.name heissen muss, darfst Du Hate fragen.

Aber funktionieren tut's. ;-)


Tiamak

-----------------------------------------------------------------------------



inv (Tiamak, 27. Feb 2001, 17:24:47):
Mahlzeit!

Auf dringenden Wunsch eines vielfachen Zwerges hat "inv" die neue Option "-1"
fuer einspaltige Ausgabe. Natuerlich nur nach Ende/Crash/Reboot.


Tiamak

-----------------------------------------------------------------------------



Re: inv (Wurzel, 27. Feb 2001, 17:26:30):
~#! rn=Tiamak rt=983291087 rg=entwicklung
~#! tid=983291087
inv -1? zieht das dann auch einen zufaelligen gegenstand ab?

wurzel (->schmarrn)

-----------------------------------------------------------------------------



Re: Re: inv (Tiamak, 27. Feb 2001, 17:28:03):
~#! rn=Wurzel rt=983291190 rg=entwicklung
~#! tid=983291087
So ein Mist, jetzt hab ich die Shell schon wieder zugemacht ...


Tiamak. Notiert sich mal was fuer demnaechst.

-----------------------------------------------------------------------------



Re: Re: inv (Anatol, 27. Feb 2001, 17:29:03):
~#! rn=Wurzel rt=983291190 rg=entwicklung
~#! tid=983291087
Zufaellig? Wo denkst Du hin. Es gibt eine klare Prioritaetenliste:
Zuerst wird geschaut, ob der Spieler eine Zeitung hat (*flamm*), dann,
ob er moeglicherweise ein Freundschaftsband besitzt (*zerreiss*). Auch
das nicht? Verflixt, dann muss es das Kerbholz tun (*zerbrech*). ...

Tiatuk ueberlaesst doch nichts dem Zufall... :)
Anatol

-----------------------------------------------------------------------------



Re: inv (Obi, 28. Feb 2001, 11:48:33):
~#! rn=Tiamak rt=983291087 rg=entwicklung
~#! tid=983291087
Wo Du gerade dabei bist, koenntest Du auch inv -2 und -3 einbauen, womit man
eine zwei(-drei)spaltige Ausgabe erzwingen kann, auch wenn die
Gegenstandsnamen zu lang sind? Einfach abschneiden reicht ja, muss ja nicht
sinnvoll gekuerzt werden.

Danke, OBI

-----------------------------------------------------------------------------



Re: Re: inv (Anacrion, 28. Feb 2001, 20:06:08):
~#! rn=Obi rt=983357313 rg=entwicklung
~#! tid=983291087
Dafuer.

Anac ruft GOGOGO Tia*

-----------------------------------------------------------------------------



Re^3: inv (Obermotz,  1. Mar 2001, 10:04:57):
~#! rn=Anacrion rt=983387168 rg=entwicklung
~#! tid=983291087
In vielen Faellen wuerde es auch reichen, wenn statt (angezogen) nur (a) und
statt (geoeffnet) nur (o) ausgegeben wird. Ist vielleicht einfacher
umzusetzen.

OM hat eigentlich eh kaum was im inv

-----------------------------------------------------------------------------



Fairness..... (Humni,  2. Apr 2001, 15:03:27):
Hallo Spieler,

ich bin immer wieder erstaunt zu welchen Mitteln ihr greift, wenn Euch was
nervt. Nun muss mir die NPC-Balance schon mitteilen, dass mein NPC zu lange
Meldungen aus -moerder hinterlaesst.
Die werden sich sicher freuen, glaubt mir, ich weiss, dass die eigentlich
besseres zu tun haben.
Ist irgendwer von Euch mal auf die Idee gekommen, mit mir zu reden? Oder da
ich grundsaetzlich ja nicht antworte mit nem RM Ebene?
Ich habe keine einzige Mail bekommen in der sich jemand beschwerte und auch
mein Repfile weisst nicht darauf hin.
(Letzteres heisst, dass der Befehl ,idee' oder ,fehler' unbekannt sein muss,
eine Mail oder ein tm an einen NPC-Balancemagier wohl nicht).
Ich habe gerade was diesen NPC betrifft NIE die Augen vor Spielerwuenschen
verschlossen. Auf vielfachen Wunsch rennt er nicht mehr nach PV rein, auf
Wunsch von einzelnen rennt er nicht mehr ins Para, auf Wunsch von sehr vielen
ist er jetzt metzelbar.
Aber offenbar bin ich ja so ein Mensch mit dem man nicht reden kann, auch ohne
dass mans versucht.
Bitte wendet Euch demnaechst doch einfach mal an diejenigen Magier, dies in
erster Linie betrifft. Dazu, wenn wir schonmal dabei sind, empfehle ich den
Befehl ,rohrhoere'.
Ich habe jedenfalls noch niemanden gezappt wenn er mir mitgeteilt hat dass
meine NPCs nerven.

Humni, leicht sauer.

-----------------------------------------------------------------------------



Re: Fairness..... (Amaryllis,  2. Apr 2001, 17:14:55):
~#! rn=Humni rt=986216607 rg=entwicklung
~#! tid=986216607
Kann ich verstehn.

Ich waere auch froh, wenn diverses Gemecker nicht sofort bei Rikus und mir,
sondern erstmal beim "Autor" landen wuerde...

Aber zum Glueck hab ich nur beratende Funktion und keine Exekutive - bin also
nie schuld :-)

Ama*

-----------------------------------------------------------------------------



Re: Re: Fairness..... (Anatol,  2. Apr 2001, 17:18:01):
~#! rn=Amaryllis rt=986224495 rg=entwicklung
~#! tid=986216607
Erklaer' mir bei Gelegenheit, was die NPC-Balance mit der Laenge der
Moerdermeldungen zu tun hat. Diese Eigenschaft eines NPCs erscheint mir
in etwa so balancekritisch wie die Farbe der Augen der Leiche seines
theoretischen Nachkommens bei Wintereinbruch...

Hey, haben unsere RMs noch keine Existenzkrise? ;)

Anatol

-----------------------------------------------------------------------------



Re^3: Fairness..... (Amaryllis,  2. Apr 2001, 17:22:13):
~#! rn=Anatol rt=986224681 rg=entwicklung
~#! tid=986216607
Laut Rikus eben nicht nur, ob ein NPC zu stark oder fuer gewisse Gilden
untragbar ist, sondern eben auch solche Dinge wie nervende Moerdermeldungen
o.ae. - aber ich lasse mich davon gerne befreien, wenns unnoetig ist :-)

Im uebrigen laeuft dazu bereits ne Diskussion - aber nicht in dieser Rubrik :)

Ama*, hinter Rikus abtauchend :)

-----------------------------------------------------------------------------



Re^5: Fairness..... (Grimmborn,  2. Apr 2001, 17:31:31):
~#! rn=Gast2 rt=986225325 rg=entwicklung
~#! tid=986216607
Danke, keine Artikel von Gaesten in Rubriken in denen ich loeschen kann.

GdA

-----------------------------------------------------------------------------



Re^6: Fairness..... (Grimmborn,  2. Apr 2001, 17:31:55):
~#! rn=Grimmborn rt=986225491 rg=entwicklung
~#! tid=986216607
Auch nicht wenn sie von Anatol sind. ;-)

GdA

-----------------------------------------------------------------------------



Re^7: Fairness..... (Anatol,  2. Apr 2001, 17:32:25):
~#! rn=Grimmborn rt=986225515 rg=entwicklung
~#! tid=986216607
Beweise, Beweise! ;)

AdT

-----------------------------------------------------------------------------



Re^8: Fairness..... (Boing,  2. Apr 2001, 17:34:40):
~#! rn=Anatol rt=986225545 rg=entwicklung
~#! tid=986216607
Eben ... :)
  Boing

-----------------------------------------------------------------------------



Re^3: Fairness..... (Wurzel,  7. Apr 2001, 01:32:47):
~#! rn=Anatol rt=986224681 rg=entwicklung
~#! tid=986216607
> Hey, haben unsere RMs noch keine Existenzkrise? ;)

nein. haben wir nicht :) jedenfalls nicht wegen sowas...
wen die laenge von moerdermeldungen nervt, sollte mal "hilfe ebenen" oder so
bemuehen. dort wird erklaert, wie man das ausschaltet.
wer meint, auch sowas muesse unbedingt durch ein gremium balanciert werden,
sollte sich mal fragen warum es so wenig aktive (!) magier gibt. oder auch,
ob er in zukunft alles alleine machen will. aber eine existenzkrise ist es
deswegen noch lange nicht :)

wurzel

-----------------------------------------------------------------------------



Re^4: Fairness..... (Tsunami,  7. Apr 2001, 02:41:01):
~#! rn=Wurzel rt=986599967 rg=entwicklung
~#! tid=986216607
Noch keine Existenzkrise, aber eine Augenbraue heb ich jedesmal schon,
wenn ich erfahre, dass ein neues Gremium gegruendet worden ist, um noch
eine neue unbedeutende Sache zu "regulieren" und uns armen, ueberarbeiteten
RMs noch mehr Arbeit abnehmen wird.

Bin gespannt, wann es ein Verzeichnis-Gremium geben wird, wo ich erst mal
nachfragen muss, ob ich ein neues Verzeichnis erstellen darf.

Oder ein Code-Gremium, wo ich erstmal Erlaubnis zum proggen einholen muss
bevor ich losschlagen kann.

Oder ein Kompetenz-Gremium, bei dem ich erstmal beantragen muss, etwas zu
tun, das eigentlich sowieso in meiner Kompetenz liegt.

Naja, das Mud ist deutsch, und ihr seid ja beruemht fuer deutsche Gruendlich-
keit und Beamtentum. Weiter so!

Die Entwicklung gefaellt mir.

Tsunami. Etwas befremded.

-----------------------------------------------------------------------------



Re^5: Fairness..... (Qitess,  7. Apr 2001, 20:53:53):
~#! rn=Tsunami rt=986604061 rg=entwicklung
~#! tid=986216607
konnte man die Moerder-Ebene nicht irgendwie abstellen?
*grins*
QI** ist stolz ein Zwerg zu sein ... 


P.S.: *lach*lach*lach* ...

-----------------------------------------------------------------------------



Beantrage neues Gremium  ... (Pilgrim,  8. Apr 2001, 12:00:41):
Hi ...

Ich beantrage ein neues Gremium, das darueber entscheidet, welche Gremien
wird wieder abschafen koennen ...

Pilgrim
(ueberlegt noch, ob er das nur ironisch meinte ...)

-----------------------------------------------------------------------------



Re^5: Fairness..... (Wurzel,  8. Apr 2001, 14:35:34):
~#! rn=Tsunami rt=986604061 rg=entwicklung
~#! tid=986216607
nicht zu vergessen das lpc-gremium, das programmierrichtlinien erstellt und
deren einhaltung ueberwacht. ein variablenname "i" ist auch fuer eine
zaehlvariable unannehmbar.

wurzel laechelt muede

-----------------------------------------------------------------------------



Re^6: Fairness..... (Karis,  8. Apr 2001, 14:40:57):
~#! rn=Wurzel rt=986733334 rg=entwicklung
~#! tid=986216607
ICh dachte, dass es DIESES Gremium schon gibt... 
ZUmindest erhaelt man so den Eindruck, wenn man mit dem einen
oder anderen Magier so redet...

Karis

-----------------------------------------------------------------------------



Re^6: Fairness..... (Patryn,  8. Apr 2001, 14:41:09):
~#! rn=Wurzel rt=986733334 rg=entwicklung
~#! tid=986216607
das gremium kann ja unter /d/erzmagier ein itool programmieren lassen,
welches 2 wochen rumbugt und dann mails an die zustaendigen RMs verschickt ;)

-----------------------------------------------------------------------------



Kraeuterskill (Padreic,  5. Jun 2001, 00:04:37):
In den naechsten Tagen und Wochen werdet ihr vereinzelt einige Kraeuter und
sonstige Zutaten finden die fuer einen neuen Skill sind. Haltet die Augen
also ruhig offen und notiert Euch die Stellen.
Eine Warnung jedoch vorneweg: das verbreiten solcher Listen hat wohl nicht
nur KL Charakter, sondern ist auch im hoechsten Masse dumm. Denn Stellen
koennen auch sehr schnell ueberpflueckt sein und dann sind sie auch fuer
Euch selbst wertlos.

Pad*

P.S.: Sagt mir spaeter nicht, ich haette Euch nicht gewarnt :o)

-----------------------------------------------------------------------------



Seherwerdung (Tiamak,  2. Jul 2001, 17:43:51):
Ab sofort ist die Seherwerdung nicht mehr an eine Stufenerhoehung gekoppelt. 

Sprich: man kann auch dann per "erhoehe" Seher werden, wenn einem zur
naechsten Stufe noch Stufenpunkte fehlen, aber man sonst alle Bedingungen fuer
die Seherwerdung erfuellt hat.


Tiamak. Aus dem Urlaub zurueck.

-----------------------------------------------------------------------------



Re: Seherwerdung (Vector,  3. Jul 2001, 09:15:16):
~#! rn=Tiamak rt=994088631 rg=entwicklung
~#! tid=994088631
Super!

-Vector-, *alle-drei-daumen-hoch*

-----------------------------------------------------------------------------



Re: Re: Seherwerdung (Anacrion,  3. Jul 2001, 10:45:31):
~#! rn=Vector rt=994144516 rg=entwicklung
~#! tid=994088631
Jep. Three thumbs waaaaay up :-)

-----------------------------------------------------------------------------



Re^3: Seherwerdung (Hight,  3. Jul 2001, 13:26:02):
~#! rn=Anacrion rt=994149931 rg=entwicklung
~#! tid=994088631
ich kann mich da meinen vorredneren nur anschliessen 

hight

-----------------------------------------------------------------------------



Re^4: Seherwerdung (Nonne,  3. Jul 2001, 13:29:27):
~#! rn=Hight rt=994159562 rg=entwicklung
~#! tid=994088631
Luschen! Ich finde es elementar, dass man kurz vor der Seher-Werdung noch mal
erhoeht und sich dann gruen und blau aergert, dass man erstmal noch ein Level
machen muss. So ist das doch nur fuer Kinder (c;

-----------------------------------------------------------------------------



Gimmick (Tiamak,  4. Jul 2001, 21:56:05):
Hiho!

Wie steht ihr zu einem kleinen bisschen Farbe?
In der Gilde koennt ihr bei "liste" jetzt euer gruen/rotes Wunder erleben. ;-)

Klappt aber nur bei "stty ansi" und wenn ihr nicht "farbe" ignoriert.


Tiamak. Macht Experimente.

-----------------------------------------------------------------------------



Noch eins ... (Tiamak,  4. Jul 2001, 22:13:57):
Man bekommt jetzt beim Login angezeigt, falls man noch als abwesend
gekennzeichnet ist vom letzten Login. Natuerlich erst nach Ende/Crash/Reboot.


Tiamak. Sollte die Artikel demnaechst zusammenfassen. 

-----------------------------------------------------------------------------



Re: Noch eins ... (Grimmborn,  4. Jul 2001, 22:14:47):
~#! rn=Tiamak rt=994277637 rg=entwicklung
~#! tid=994277637
...gilt natuerlich nicht fuer Magier, gell?

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re: Re: Noch eins ... (Tiamak,  4. Jul 2001, 22:16:20):
~#! rn=Grimmborn rt=994277687 rg=entwicklung
~#! tid=994277637
Wenn Du es schaffst, Deine "weg"-Meldung bis zum naechsten Login zu retten,
gilt das natuerlich auch fuer Dich.


Tiamak

-----------------------------------------------------------------------------



Re^3: Noch eins ... (Grimmborn,  4. Jul 2001, 22:19:46):
~#! rn=Tiamak rt=994277780 rg=entwicklung
~#! tid=994277637
Naja, da gibts irgendwie schon eine Methode, ja...

GdA

-----------------------------------------------------------------------------



... das letzte. Fuer heute. ;-) (Tiamak,  4. Jul 2001, 22:30:29):
Wen zu lange "weg"-Meldungen bei anderen schon immer etwas gestoert haben,
wird sie immer noch lesen muessen. Aber ab Ende/Crash/Reboot wenigstens
ordentlich umgebrochen. ;-)


Tiamak. Geht besser in's Bett, bevor er die Rubrik alleine vollscrollt.

-----------------------------------------------------------------------------



Re: Gimmick (Hight,  5. Jul 2001, 00:28:16):
~#! rn=Tiamak rt=994276565 rg=entwicklung
~#! tid=994276565
wieso gruen rot ?

ich hab hier gruen und magenta (highlight auf nicks) abba nix rotes *heul*

hight schmarren

-----------------------------------------------------------------------------



Re: Re: Gimmick (Pitfall,  5. Jul 2001, 00:29:12):
~#! rn=Hight rt=994285696 rg=entwicklung
~#! tid=994276565
also ich hab hier nix bunt

-----------------------------------------------------------------------------



Re: Gimmick (Poing,  5. Jul 2001, 18:40:44):
~#! rn=Tiamak rt=994276565 rg=entwicklung
~#! tid=994276565
Mhh naja koennte noch etwas bunter werden :) Zum Beispiel jedes E blau, jedes
O Gruen, usw... so richtig schoen bunt Halt :)

-----------------------------------------------------------------------------



kwer ... (Tiamak,  5. Jul 2001, 20:02:34):
... kennt jetzt die Zusaetze "www" bzw. "url" und ist etwas fehlertoleranter
geworden.


Tiamak

-----------------------------------------------------------------------------



finger (Tiamak,  5. Jul 2001, 20:17:38):
Nur fuer den Fall, dass irgendwer bei der Ortsangabe beim Finger gelegentlich
ein "(ueber ...)" vermissen sollte: das heisst nix anderes, als dass beide
Ortsangaben identisch sind.


Tiamak. Gruebelt langsam, ob Spieler wirklich jede Kleinigkeit wissen wollen.

-----------------------------------------------------------------------------



Waffen (Tiamak,  5. Jul 2001, 21:11:57):
Bei neuen Waffen (oder allgemeiner: nach dem naechsten Crash/Reboot) kann man
Waffen auch ueber ihre ID "waffe" ansprechen. Damit ist auch sowas wie "stecke
waffe zurueck" moeglich.


Tiamak wedelt mit einem "TF-Luxus fuer Telnet-Spieler"-Faehnchen.

-----------------------------------------------------------------------------



Re^3: Gimmick (Gor,  5. Jul 2001, 23:14:34):
~#! rn=Pitfall rt=994285752 rg=entwicklung
~#! tid=994276565
a) Euer Terminal kann keine Ansi-Farben.
b) stty ansi eingeben.

-----------------------------------------------------------------------------



Re^5: Seherwerdung (Roland,  8. Jul 2001, 02:59:42):
~#! rn=Nonne rt=994159767 rg=entwicklung
~#! tid=994088631
Is doch immernoch hart genug ...
wenn man mal davon ausgeht .. das hier leute metzeln (als seher) die bei
weitem nicht die fp's haben die man eigendlic h jetzt haben muesste, und das
nur weil sie schon seher waren wo es nur um AP und nicht auch noch um die FP
ging.
das im auge ist es wohl mit dem seherwerden ohne zu erhoehen egal ,,, oder ?!?

mfg ro

-----------------------------------------------------------------------------



Re: Seherwerdung (Gordur,  8. Jul 2001, 19:46:18):
~#! rn=Tiamak rt=994088631 rg=entwicklung
~#! tid=994088631
Och menno, Tiamak, haettest Du das nicht eine Woche vorher machen koennen? ;-)
Ich habe sage und schreibe 3 Level zusaetzlich machen muessen, weil ich immer
wieder
in den Bug getappt bin, dass "Kosten" und "info" unterschiedliche
Informationen liefern,
und als fauler Zweitie-Kampfzwerch natuerlich nicht einen FP zu viel hatte.

Aber damit ich nicht gleich in die Rubrik Gejammer verschoeben hab: Danke fuer
die
Aenderung, nachfolgende Generationen von frischen Sehern werden es Dir danken!

Gruesse, Gordur

-----------------------------------------------------------------------------



Re: Re: Seherwerdung (Patryn,  8. Jul 2001, 19:47:24):
~#! rn=Gordur rt=994614378 rg=entwicklung
~#! tid=994088631
und ich dachte, das sei nen feature...pffffft

--
patryn

-----------------------------------------------------------------------------



Re^6: Seherwerdung (Flintnail, 19. Jul 2001, 12:02:50):
~#! rn=Roland rt=994553982 rg=entwicklung
~#! tid=994088631
 ..was sind fp? :-)

 Flint*..metzelt mieser als die Zweiti-Seher :)

-----------------------------------------------------------------------------



Wunsch (Orktoeter,  8. Aug 2001, 14:06:15):
Ich faende es nett, wenn auf den Ebenen jeweils eine Meldung kaeme, wenn sich
einer ein- bzw. auslogt, also z.B. [allgemein] Orktoeter hoert jetzt mit

OrkT.

-----------------------------------------------------------------------------



Re: Wunsch (Anatol,  8. Aug 2001, 14:14:04):
~#! rn=Orktoeter rt=997272375 rg=entwicklung
~#! tid=997272375
Zephyr ist gerade ins Morgengrauen gekommen.
Zephyr   I S T   J E T Z T   D A !!!

Dein Ehering leuchtet auf. Du liest: Zephyr ist nun da!


Dein Verlobungsring leuchtet auf. Du liest: Zephyr ist nun da!


[<MasteR>:<MasteR>] Zephyr hoert jetzt mit.
[Abenteuer:<MasteR>] Zephyr hoert jetzt mit.
[Allgemein:<MasteR>] Zephyr hoert jetzt mit.
[Beileid:<MasteR>] Zephyr hoert jetzt mit.
[Chaos:<MasteR>] Zephyr hoert jetzt mit.
[D-Chat:<MasteR>] Zephyr hoert jetzt mit.
[Grats:<MasteR>] Zephyr hoert jetzt mit.
[Karate:<MasteR>] Zephyr hoert jetzt mit.
[Klerus:<MasteR>] Zephyr hoert jetzt mit.
[Maexchen:<MasteR>] Zephyr hoert jetzt mit.
[Rage:<MasteR>] Zephyr hoert jetzt mit.
[Seher:<MasteR>] Zephyr hoert jetzt mit.
[Tod:<MasteR>] Zephyr hoert jetzt mit.
[Trves:<MasteR>] Zephyr hoert jetzt mit.
[Wissenschaft:<MasteR>] Zephyr hoert jetzt mit.
[Zauberer:<MasteR>] Zephyr hoert jetzt mit.

ACK! :)

Anatol

-----------------------------------------------------------------------------



Re: Re: Wunsch (Karis,  8. Aug 2001, 14:15:36):
~#! rn=Anatol rt=997272844 rg=entwicklung
~#! tid=997272375
Kommt dann auf jeder Ebene
[EbeneX] ORTOETENORKTOETENORKTOE....TEN
??
Karis

-----------------------------------------------------------------------------



Re^3: Wunsch (Orktoeter,  8. Aug 2001, 14:17:48):
~#! rn=Karis rt=997272936 rg=entwicklung
~#! tid=997272375
Moechtest du, Karis? Ich schreibe gerne nen entsprechendes Makro... *g*

OrkT.

PS -> Schmarrn

-----------------------------------------------------------------------------



Re^4: Wunsch (Muaddib,  8. Aug 2001, 14:20:53):
~#! rn=Orktoeter rt=997273068 rg=entwicklung
~#! tid=997272375
dann wird sich sicher auch ein netter magier finden, der sich ein
zap/disco/... trigger schreibt.

Mua

-----------------------------------------------------------------------------



Re: Wunsch (Nizzl,  8. Aug 2001, 21:32:16):
~#! rn=Orktoeter rt=997272375 rg=entwicklung
~#! tid=997272375
'hilfe inform'

-----------------------------------------------------------------------------



Re: Re: Wunsch (Zephyr,  9. Aug 2001, 01:28:53):
~#! rn=Anatol rt=997272844 rg=entwicklung
~#! tid=997272375
Schnuckel?
Vier von obengenannten Kanaelen hab ich nicht an.
Allerdings glaube ich nicht, dass das den Scroll
merklich verringern taet :)
C4, schenkt ihrem Mann Leerzeilen

-----------------------------------------------------------------------------



Re: Re: Wunsch (Roland, 12. Aug 2001, 11:36:29):
~#! rn=Anatol rt=997272844 rg=entwicklung
~#! tid=997272375
AAAAAAAlso

ich denke mal das der -x? befehl doch ausreichend auskumpft gibt ..
aber es sind ja immer wieder welche sehr neugierig ... vielleicht aellst sich
da nen kompromiss finden ... 
ich meine das dieses gewuenschte info an und ausschaltbar ist wie der kobold
?!

mfg roland

-----------------------------------------------------------------------------



Hallo Elfen! (Mupfel, 16. Aug 2001, 00:01:11):
Hallo Elfen!

Hat sich eigentlich einer von euch mal die Rassenbeschreibung der Elfen beim
Neueinloggen etwas genauer angesehen? Nicht sehr schmeichelhaft, oder? Da
laesst sich doch bestimmt eine bessere Beschreibung finden... wer ne Idee hat,
maile sie mir - ich leite das dann weiter.

-mupfel-

-----------------------------------------------------------------------------



Re: Hallo Elfen! (Schleicher, 16. Aug 2001, 00:06:51):
~#! rn=Mupfel rt=997912871 rg=entwicklung
~#! tid=997912871
Hmmm... SO schlimm kann die doch gar nicht sein?! Ich verweisse mal drauf was
ein gewisser Terry Pratchett so ueber Elfen vom Stapel laesst DAS ist uebel,
aber mir egal war mal Zwerg :-)))

Schleicher der Ex-Zwerg

-----------------------------------------------------------------------------



Re: Re: Hallo Elfen! (Wurzel, 16. Aug 2001, 00:08:08):
~#! rn=Schleicher rt=997913211 rg=entwicklung
~#! tid=997912871
ex-zwerg? hat dich jemand gewaschen? :)

-----------------------------------------------------------------------------



Re^3: Hallo Elfen! (Schleicher, 16. Aug 2001, 00:09:18):
~#! rn=Wurzel rt=997913288 rg=entwicklung
~#! tid=997912871
Jepp, nur der Bart und die Vorliebe fuer Aexte sind geblieben. Aber dafuer hab
ich jetzt ne Wanne ;-)

Schleicher der gereinigte

-----------------------------------------------------------------------------



Re^4: Hallo Elfen! (Mupfel, 16. Aug 2001, 00:10:32):
~#! rn=Schleicher rt=997913358 rg=entwicklung
~#! tid=997912871
Naja ne Wanne passt ja zum Zwerg ;)

-mupfel-

-----------------------------------------------------------------------------



Re^5: Hallo Elfen! (Fantaghiro, 16. Aug 2001, 00:11:22):
~#! rn=Mupfel rt=997913432 rg=entwicklung
~#! tid=997912871
Wanne, oder passt zu nem Zwerg doch eher Wampe ? (:

Fanta*

-----------------------------------------------------------------------------



Re^5: Hallo Elfen! (Varlarion, 16. Aug 2001, 00:11:38):
~#! rn=Mupfel rt=997913432 rg=entwicklung
~#! tid=997912871
Mal ne kurze Frage: ging es hier nicht um Elfen? Wieso reden auf einmal alle
von Bierfaessern?

Varl*, Elf

-----------------------------------------------------------------------------



Re^6: Hallo Elfen! (Schleicher, 16. Aug 2001, 00:12:09):
~#! rn=Fantaghiro rt=997913482 rg=entwicklung
~#! tid=997912871
Sorry passe... Wanne ja Wampe nein!

Schleicher 

-----------------------------------------------------------------------------



Re^6: Hallo Elfen! (Schleicher, 16. Aug 2001, 00:13:15):
~#! rn=Varlarion rt=997913498 rg=entwicklung
~#! tid=997912871
Ist halt jetzt Megaentwicklungsschmarrn.

Schleicher

-----------------------------------------------------------------------------



Re: Re: Hallo Elfen! (Hight, 16. Aug 2001, 01:44:23):
~#! rn=Schleicher rt=997913211 rg=entwicklung
~#! tid=997912871
oehm mupfel du bist lustig ,o) sollte ich mir den text damals (beim erstie die
andern hab ich schnell erschaffen) gelsen haben so hab ich es vergessen ,o)
ich werds trozdem bei gelgenheit mal lesen

hight aus ueberzeugung elf

-----------------------------------------------------------------------------



Re: Hallo Elfen! (Foobar, 16. Aug 2001, 03:05:00):
~#! rn=Mupfel rt=997912871 rg=entwicklung
~#! tid=997912871
Kein Problem, Mupfel, aber ob Du das was ich Dir maile veroeffentlichen willst
wage ich zu bezweifeln. :o)

Foobar - Zwerg.

-----------------------------------------------------------------------------



Re: Re: Hallo Elfen! (Mupfel, 16. Aug 2001, 22:56:52):
~#! rn=Foobar rt=997923900 rg=entwicklung
~#! tid=997912871
Ich veroeffentliche das eh nicht selbst - ich lasse es veroeffentlichen ;)

-mupfel-

-----------------------------------------------------------------------------



Laeden nach einem Reboot (Srabi, 27. Aug 2001, 08:34:04):
Hi...

wie waere es denn, wenn die Laeden nach einem Reboot nicht innerhalb ein paar
Tagen schon wieder pleite sind?

Vielleicht koennte man ja etwas eibauen, das ein Massenverkauf nicht moeglich
ist und die Laeden nicht immer dasselbe Zeug annehmen wuerden. Dieses wuerde
die Zahlungsmoral der Laedenbesitzer erheblich verbessern.

Srabi, der schon wieder restlos pleite ist

-----------------------------------------------------------------------------



Re: Laeden nach einem Reboot (Gloinson, 27. Aug 2001, 10:35:38):
~#! rn=Srabi rt=998894044 rg=entwicklung
~#! tid=998894044
Der Massenverkauf ist nur in begrenztem Rahmen moeglich und die Laeden zahlen
die, wie Du sicher auch schon selbst erfahren hast fuer das selbe Zeug
zunehmend weniger. Wie auch schon andere Mitspieler angedeutet haben wuerde es
Dir sicherlich helfen wenn Du nicht nur die am staerksten frequentierten
Laeden heimsuchtest.

Gloin(son)s Erstiezweities haben noch immer irgendwo Geld fuer Kram bekommen

-----------------------------------------------------------------------------



Qualifikation von Ideen? (Catweazle, 10. Okt 2001, 08:06:06):
~#! on=Gloinson ot=1002574977 og=diskussion
Es ging in einem anderen Kontext (mal wieder?) um die Idee der
Beschaedigungen von Kampfausruestung und der pauschalen
Ablehnung dieser:

>> Die Idee mit Leiden gleichzusetzen ist ein bissel weit hergeholt.
>> Klingt nach einem der Spieler die gegen Stupse/FP-Abwertung/
>> XP-Abwertung/etc. protestiert hat.

> Du weisst gar nicht, wie sehr Du Dich mit der Bemerkung
> disqualifiziert hast.

Nein. Weiss ich tatsaechlich nicht. Der kurze Mail-Austausch hat mich nicht
schlauer gemacht. Die Diskussion ist sicher mindestens so alt wie die
Einfuehrung der simplen Ermoeglichung der Abnutzung durch Paracelsus 1996,
aber ueber andere einzufuehrende/eingefuehrte Features (s.o.) wurden
eben ebenso pauschale Ablehnungen von Spielern in Textform gepresst wie
die hier nicht zitierte ohne dass sich einer der Diskutanten damit absolut
disqualifiziert haette.

Schoen, Paracelsus hat es damals aufgrund der Resonanz wieder abgeschaltet,
nicht ausgebaut, hat mit der Idee zurueckgesteckt. Weiss ich ob es nur
Unlust war einen Kompromiss zu finden oder einfache Muedigkeit? Nein. Aber
selbst wenn es Ueberzeugung war - kein Grund fuer eine andere Generation
nicht wieder darueber zu reden - gerade wenn "die Obrigkeit" die Artikel
dazu zu ignorieren scheinen (Bezug: frueherer Thread von mir im Mai).

Gloin(son)

PS: Ich finde im Gegenteil pauschale Ablehnung von Ideen fast beleidigend.
    Die Zeit den eigenen Standpunkt zu erlaeutern sollte man sich nehmen.

-----------------------------------------------------------------------------



Re: Qualifikation von Ideen? (Catweazle, 10. Okt 2001, 08:06:10):
~#! on=Wurzel ot=1002649529 og=diskussion
~#! rn=Gloinson rt=1002574977 rg=diskussion
~#! tid=1002574977
okay, dann erlaeutere ich mal, warum ich die idee der abnutzung scheisse
finde.
naemlich genau deswegen, weil dann halbwegs gute items staendig von irgend
welchen skriptzweities geholt und in haeusern gebunkert werden, um staendig
nachschub zu haben, so dass leute die sich an diesem skriptunfug nicht
beteiligen wollen massiv behindert werden und an die items nicht mehr dran
kommen. ausserdem sehe ich nicht, _was_ genau an abnutzung den spielspass
erhoeht.

wurzel

-----------------------------------------------------------------------------



Re: Re: Qualifikation von Ideen? (Catweazle, 10. Okt 2001, 08:06:11):
~#! on=Grimmborn ot=1002650106 og=diskussion
~#! rn=Wurzel rt=1002649529 rg=diskussion
~#! tid=1002574977
Hmm, und wenn sie Sachen, sagen wir, rapide abnutzen wenn man sie nicht dabei
hat? D.h. ich bunkere den Kram im Haus, und 2h spaeter ist nur noch Rost
uebrig. OK, ich hab da ein paar Probleme eine rollenspieltechnische Erklaerung
zu finden, aber da kann man sicher was drehen...

GdA

-----------------------------------------------------------------------------



Re^3: Qualifikation von Ideen? (Catweazle, 10. Okt 2001, 08:06:12):
~#! on=Bambi ot=1002653017 og=diskussion
~#! rn=Grimmborn rt=1002650106 rg=diskussion
~#! tid=1002574977
Dann legen Ausruestungs"willige" Zweities an, die das Zeugs rumschleppen. Die
Idee des Bankzweities laesst sich ja beliebig erweitern.

-----------------------------------------------------------------------------



Re^3: Qualifikation von Ideen? (Catweazle, 10. Okt 2001, 08:06:13):
~#! on=Deepblue ot=1002653319 og=diskussion
~#! rn=Grimmborn rt=1002650106 rg=diskussion
~#! tid=1002574977
T(r)oll, da kannste gleich die haeuser abschaffen.

-----------------------------------------------------------------------------



Re^4: Qualifikation von Ideen? (Catweazle, 10. Okt 2001, 08:06:14):
~#! on=Vanion ot=1002653625 og=diskussion
~#! rn=Deepblue rt=1002653319 rg=diskussion
~#! tid=1002574977
Was sich allerdings in den letzten Jahren nicht geaendert hat, is das
Verhalten mancher Spieler in Diskussionen.

Ich find die Idee von Grimmborn auch nich so toll. Aber es is wenigstens ein
Vorschlag. Du disqualifizierst dich nur durch dein Flame. 

V* ist fuer die Einrichtung einer Flame-Gruppe.

-----------------------------------------------------------------------------



Re^5: Qualifikation von Ideen? (Catweazle, 10. Okt 2001, 08:06:15):
~#! on=Varlarion ot=1002653798 og=diskussion
~#! rn=Vanion rt=1002653625 rg=diskussion
~#! tid=1002574977
Das hier ist die Flame-Gruppe, oder nicht? ;)

-----------------------------------------------------------------------------



Re^6: Qualifikation von Ideen? (Catweazle, 10. Okt 2001, 08:06:16):
~#! on=Patryn ot=1002653874 og=diskussion
~#! rn=Varlarion rt=1002653798 rg=diskussion
~#! tid=1002574977
eine flame-gruppe? klingt irgendwie nach einer tautologie.
wie waere es mit einer speziellen nichtflame-gruppe?

-- 
patryn, schmarrend

-----------------------------------------------------------------------------



Re^7: Qualifikation von Ideen? (Catweazle, 10. Okt 2001, 08:06:17):
~#! on=Varlarion ot=1002653910 og=diskussion
~#! rn=Patryn rt=1002653874 rg=diskussion
~#! tid=1002574977
nette idee, aber das haelt doch eh keiner durch ;)

-----------------------------------------------------------------------------



Re^6: Qualifikation von Ideen? (Catweazle, 10. Okt 2001, 08:06:18):
~#! on=Grimmborn ot=1002653911 og=diskussion
~#! rn=Varlarion rt=1002653798 rg=diskussion
~#! tid=1002574977
Klar ist es das, es ist die mpa.
Aber es ist interessant dass anscheinend die Seherhaeuser nur noch erweiterte
Pakete zu sein scheinen ("T(r)oll, da kannste gleich die haeuser abschaffen").
Das war, iirc, mal anders gedacht gewesen, und wenn das tatsaechlich so
gesehen wird wuerde ich mich Deepblues Vorschlag anschliessen und fuer eine
Abschaffung der Haeuser stimmen...

GdA

-----------------------------------------------------------------------------



Re^5: Qualifikation von Ideen? (Catweazle, 10. Okt 2001, 08:06:19):
~#! on=Deepblue ot=1002653980 og=diskussion
~#! rn=Vanion rt=1002653625 rg=diskussion
~#! tid=1002574977
Kennste das Sprichwort "Wie man in den Wald ruft schallts heraus"? 

-----------------------------------------------------------------------------



Re^6: Qualifikation von Ideen? (Catweazle, 10. Okt 2001, 08:06:20):
~#! on=Vanion ot=1002654174 og=diskussion
~#! rn=Deepblue rt=1002653980 rg=diskussion
~#! tid=1002574977
Das Echo scheint zu verzerren.

V*, beendet diesen Faden an dieser Stelle (zumindest fuer sich)

-----------------------------------------------------------------------------



Re: Qualifikation von Ideen? (Catweazle, 10. Okt 2001, 08:06:21):
~#! on=Tiamak ot=1002654355 og=diskussion
~#! rn=Gloinson rt=1002574977 rg=diskussion
~#! tid=1002574977
Mein lieber Gloinson,

da ich anscheinend unfaehig bin, meine Gedanken klar und verstaendlich zu
formulieren und es mir nicht einmal per Mail gelungen ist, Dir die Absicht
meines Artikels in seher.entwicklung zu verdeutlichen, werde ich mir dieses
Mal besondere Muehe geben.

Mein Urteil, dass Du Dich mit Deiner Bemerkung selber disqualifiziert
haettest, bezog sich nicht auf Deinen Vorschlag zur Alterung von
Ausruestung(*). Der Artikel, auf den ich antwortete, enthielt ja gar keine
Aeusserung zu besagtem Vorschlag. Er enthielt lediglich a) Deine Aussage, dass
Dir meine ohne laengere Beweisfuehrung vorweggenommene Schlussfolgerung, durch
Deinen Vorschlag muessten alle Spieler leiden, nicht verstaendlich war und b)
die Bemerkung (ich zitiere): "Klingt nach einem der Spieler die gegen
Stupse/FP-Abwertung/XP-Abwertung/etc. protestiert hat.".

Bemerkung b) war es auch, auf die ich mich in meinem Antwortartikel bezog.
Abgesehen davon, dass Du mit besagter Bemerkung kaum weiter daneben haettest
liegen koennen, klingt sie in meinen Ohren nach einer vollkommen unnoetigen
Beleidigung. Einen Diskussionspartner/-gegner stempelt man nicht kurzerhand
als einen dauernoergelnden Fortschrittsverweigerer ab, nur weil er nicht den
eigenen Vorschlag gleich oeffentlich feiert. 

Ein gepflegter Flamewar ist eine Sache. Aber auf _dem_ Niveau habe ich nunmal
keine Lust mit Dir zu diskutieren.

Und damit Du nicht gleich beleidigt bist, nur weil ich es wage, die
Schlussfolgerung eines ewig wiederkehrenden und uralten Threads
vorwegzunehmen, ohne Dir in aller Laenge noch einmal alle Argumente einzeln
vorzukauen, kommt hier die Kurzzusammenfassung:

(*) Warum alternde/verschleissende Ausruestung keine Loesung ist:

a) damit auch (bzw. sogar hauptsaechlich) in Seherhaeusern herumgammelnde
   Ausruestung davon betroffen ist, muesste die Alterung rein zeitabhaengig
   sein (verrosten o.ae. halt). 

   Sobald Ausruestung alleine durch Herumliegen anfaengt zu vergammeln, 
   triffst Du neben der eigentlichen Zielmenge (um die eh keiner schreien 
   wird) lauter Spezialausruestung, die gegen bestimmte NPCs gesammelt wird
   und die per Definition die meiste Zeit herumliegt. Waehrend diese Neben-
   wirkung "nur" laestig waere und das Sammeln von Spezialruestung vermiesen
   wuerde, trifft so eine Aenderung "ganz nebenbei" leider alle Gelegenheits-
   spieler. Die, die eben nicht jeden Tag im Mud verbringen. 

   Auch, wenn es Dich vielleicht nicht betraefe - aber ich will hier keinen
   zum Dauermetzeln verpflichten, nur weil nach zwei Tagen Pause vom Mud
   seine Ausruestung nur noch Schrott ist.


b) materialabhaengige Alterung. Damit wuerde dann - wenn ich Deinen Vorschlag
   richtig verstehe - ein gammeliger Lichtpanzer schneller verrotten als 
   ein tolles Adamanthemd? 

   Womit wir dann unsere kleinen Spieler bestrafen, die zusehen muessen, wie
   ihr erster geschenkt bekommener Lichtpanzer (den sie sich nicht selber
   besorgen koennen) vergammelt, waehrend die lieben HLP dann halt Flammen-
   panzer im Seherhaus horten?

c) Verschleiss von Ausruestung durch Benutzung. Damit wuerdest Du das exakte
   Gegenteil vom gewuenschten Effekt bewirken. Wie schon mehrfach von anderen
   geschrieben wurde.


Ich bleibe dabei: Alterung von Ausruestung ist der falsche Ansatz, um das
Problem der Muellhalden in Seherhaeusern zu bekaempfen. Leiden muessten nur
die "normalen" Spieler/Seher. Ob Dir diese Auffassung nun passt oder nicht.


Tiamak

-----------------------------------------------------------------------------



Re^7: Qualifikation von Ideen? (Catweazle, 10. Okt 2001, 08:06:22):
~#! on=Orktoeter ot=1002654457 og=diskussion
~#! rn=Grimmborn rt=1002653911 rg=diskussion
~#! tid=1002574977
Klar Grimmborn, schuette das Kind gleich mit dem Bad aus.
Ich weiss nicht ob es dir aufgefallen ist, das es viele Seherhaeuser im MG
gibt, die SEHR aufwendig gestaltet und beschrieben wurden und in denen man
teilweise sogar einiges an Aktionen machen kann. (oftmals aufwendiger
Beschrieben und gemacht als so mancher MG-Raum).
Wie kommst du dazu diese Muehe und Arbeit der Seher zu ignorieren und fuer die
Abschaffung der Seherhaeuser zu plaedieren?

OrkT.

-----------------------------------------------------------------------------



Re^8: Qualifikation von Ideen? (Catweazle, 10. Okt 2001, 08:06:23):
~#! on=Grimmborn ot=1002654633 og=diskussion
~#! rn=Orktoeter rt=1002654457 rg=diskussion
~#! tid=1002574977
Hee, _ich_ habe da nix gegen. Deepblue war es, der Seherhaeuser generell als
erweiterte Pakete angesehen hat.

GdA

-----------------------------------------------------------------------------



Re^9: Qualifikation von Ideen? (Catweazle, 10. Okt 2001, 08:06:24):
~#! on=Montanus ot=1002654912 og=diskussion
~#! rn=Grimmborn rt=1002654633 rg=diskussion
~#! tid=1002574977
Man muss Seherhaeuser ja nicht abschaffen, aus den von OrkT genannten
Gruendne. man kann sie aber ihrer Funktionalitaet berauben, zum beispiel durch
Abschaffung von Truhen oder abschliessbaren Raeumen, so dass die Moeglichkeit,
Objekte anderen Spielern zu entziehen, nicht mehr gegeben ist.

Nurso als Weiterspinnen des Garns...

-----------------------------------------------------------------------------



Re^9: Qualifikation von Ideen? (Catweazle, 10. Okt 2001, 08:06:25):
~#! on=Orktoeter ot=1002655126 og=diskussion
~#! rn=Grimmborn rt=1002654633 rg=diskussion
~#! tid=1002574977
Ich darf aus deinem Artikel Re^6 vom 9. Okt. zitieren:
"Das war, iirc, mal anders gedacht gewesen, und wenn das tatsaechlich so
gesehen wird wuerde ich mich Deepblues Vorschlag anschliessen und fuer eine
Abschaffung der Haeuser stimmen...
 
GdA"                                
Zitat Ende.
Zwar hast du es im konjunktiv geschrieben, aber ich frage mich wie du auch nur
in betracht ziehen kannst, das all die Seher, die ihre Haeuser aufwendig
beschriebenhaben sie auch nur als grosses Paket ansehen koennten?

OrkT.

-----------------------------------------------------------------------------



Re^10: Qualifikation von Ideen? (Catweazle, 10. Okt 2001, 08:06:26):
~#! on=Grimmborn ot=1002655252 og=diskussion
~#! rn=Orktoeter rt=1002655126 rg=diskussion
~#! tid=1002574977
Er kann nicht nur beim lesen nicht lesen, sondern auch beim zitieren nicht:
Hallo, da steht "wuerde ich mich Deepblues Vorschlag anschliessen" - von wem
kam nun nochmal der Satz "da kannste gleich die haeuser abschaffen"?

GdA

-----------------------------------------------------------------------------



Re^10: Qualifikation von Ideen? (Catweazle, 10. Okt 2001, 08:06:27):
~#! on=Vardion ot=1002655258 og=diskussion
~#! rn=Montanus rt=1002654912 rg=diskussion
~#! tid=1002574977
Man kann Lager2ies auch anders provozieren.

Vardion

-----------------------------------------------------------------------------



Re^10: Qualifikation von Ideen? (Catweazle, 10. Okt 2001, 08:06:28):
~#! on=Vanion ot=1002655308 og=diskussion
~#! rn=Montanus rt=1002654912 rg=diskussion
~#! tid=1002574977
Warum eigentlich. Es geht doch immer noch darum, das ein oder zwei Spieler
viele Objekte in einem Raum liegen haben, was dann boese laggt. Das Konzept
der Seherhaeuser is aus dieser Sicht aber nicht Ueberarbeitenswert. Es is
immer noch so gut wie gestern, vor einer Woche, vor einem Jahr.  

Das Einschraenken der Funktionalitaet der Seherhaeuser oder gar deren
Abschaffung halte ich fuer eine extreme Ueberreaktion auf einzelne Artikel.

V*

-----------------------------------------------------------------------------



Re^11: Qualifikation von Ideen? (Catweazle, 10. Okt 2001, 08:06:29):
~#! on=Wurzel ot=1002662746 og=diskussion
~#! rn=Vanion rt=1002655308 rg=diskussion
~#! tid=1002574977
am besten gefaellt mir bisher die idee mit den dieben, die sich heimlich auf
diese halden schleichen und die besten stuecke raussuchen... wenn ich drueber
nachdenke, ist das eigentlich nicht weiter schwierig zu realisieren :)
aber eigentlich sollte es doch auch anders gehen...

-----------------------------------------------------------------------------



Re: Re: Qualifikation von Ideen? (Padreic, 10. Okt 2001, 09:25:22):
~#! rn=Catweazle rt=1002693981 rg=entwicklung
~#! tid=1002574977
Lasst uns doch bitte einen klaren Trennstrich ziehen zwischen dem was Gloinson
hier vermengt hat und dem eigentlichen Thread zur Abnutzung, nicht das dieses
schoene Threadthema nun wegen dummen gebrabbel fuer alle Zeit verbrannt ist.
Es spricht in meinen Augen naemlich in der Tat eine ganze Menge fuer
Abnutzung, aber einer rein Nutzungsabhaengigen und die hat mit Gloinsons
Geistesblitz wie Du schon so schoen ausfuehrtest rein gar absolut ueberhaupt
nichts gemeinsam. Spaetestens wenn Uptimes von 100 Tagen und mehr zur
selbstverstaendlichen Gewohnheiten werden und irgendwann vielleicht mal die
Jahresgrenze streifen muss ueber das Thema mal in Ruhe und Bedacht nachgedacht
werden.

Pad*

-----------------------------------------------------------------------------



Re^3: Qualifikation von Ideen? (Varlarion, 10. Okt 2001, 10:12:44):
~#! rn=Padreic rt=1002698722 rg=entwicklung
~#! tid=1002574977
Im Grunde kann ich dir nur Recht geben, dass man bei solch langen Uptimes
wirklich mit _Ruhe und Bedacht_ nachdenken sollte.
Aus Gruenden des Realismus und eben durch die Tatsache, dass sehr viel
gehortet wird (was IMHO mit der Diskussion um die Seherhaeuser trotzdem nichts
zu tun hat und nicht haben sollte) spraeche zwar einiges dafuer, doch sehe ich
auch viel, was gegen Abnutzung spricht.
Zunaechst muss man sich ueberlegen, wie weitreichend man so etwas realisiert.
Logisch waere, dass je nach Material mehr oder minder alle Objekte betroffen
waeren, vielleicht - bei Waffen und Ruestungen - in Verbindung mit den
Schadensarten, die man so "abbekommt. (Metall rostet, wenn es mit Wasser in
Beruehrung kommt, Eis schmilzt im Feuer, organische Materialen verrotten,
usw.).
Leider trifft es dann wieder mal die Gelegenheitsspieler und Newbies,
wohingegen Extremmetzler (bei denen sich vermutlich auch das meiste Zeug
ansammelt) kaum betroffen sind.
In einigen anderen MUDs (zB UNItopia oder AnderLand) wurde das Prinzip der
Abnutzung bereits umgesetzt und ich persoenlich kann aus meiner Spielerfahrung
dort nur sagen, dass die Umsetzung in beiden Faellen nicht sehr gluecklich
ist. Im AL bekommt man nicht einmal mit, wenn sich das Zeug abnutzt und im UNI
ist man (grade als Gelegenheitsspieler) im Grunde staendig damit beschaeftigt,
die Ausruestungsteile zu ersetzen, die dort extrem schnell kaputtgehen - in
meinen Augen ist das purer Stress und entspanntes Metzeln (wie hier) ist
eigentlich nicht mehr drin, weil man staendig die Gegner abklappert, die die
begehrte Ausruestung haben oder alternativ sein ganzes Geld bei diversen
Schmieden laesst.
Es wurde schon oefter vorgeschlagen, dass Gegenstaende in Seherhaeusern
vergammeln, doch sehe ich dafuer keinerlei logische Begruendung. Solange die
Objekte in Gebrauch sind, waere eine Abnutzung nachvollziehbar, doch wenn das
Zeug im Haus lagert (womoeglich noch in den speziell dafuer angefertigten
Schraenken/Truhen/etc.) sollte es meiner Meinung nach unveraendert bleiben.
Wenn es jetzt darum gehen soll, eine Loesung gegen die vollgestopften Raeume
zu finden, wuerde ich vorschlagen, dass - egal wie die Loesung aussieht -
Gegenstaende in Truhen/Schraenken/Kisten unangetastet bleiben (ob von Dieben
oder vom Zahn der Zeit) und lediglich die Objekte betroffen sind, die frei
herumliegen.
Noch einmal zu den Moebeln: ich persoenlich wuerde es begruessen, wenn
Aufnahmekapazitaet der Moebel nach Anzahl der Objekte geht, nicht nach
Gewicht, so dass man dort eine unkritische Grenze setzen kann.

Varl*, hatte noch ein bisschen Senf in der Tube.

-----------------------------------------------------------------------------



Re^4: Qualifikation von Ideen? (Mesirii, 10. Okt 2001, 11:42:38):
~#! rn=Varlarion rt=1002701564 rg=entwicklung
~#! tid=1002574977
Hmm ich denke das Problem fuer Gelegenheitsspieler kann man mit ner Abnutzung
pro Onlinezeit umgehen. Ich sehe da eher wirklich das Problem mit der
Sonderausruestung, das Tiamak ansprach. Dort waere dann nur die Loesung zu
sehen, dass diese Sonderausruestung einen Extraabnutzungsstatus erhalten
muesste. Aber das waer bestimmt ein Heidenaufwand.
Alternativen sehe ich wirklich nur in einer Aufraeumunterstuetzung, da Mudder
prinzipiell faul sind. Ggf. waere eine Erweiterung von schau ala schau genau,
die auch eine Nummerierung anzeigt und ein Zugriff ueber eine Nummer (halt
wie in den Laeden) ein Schritt fuer die Id-Problematik (hatte ich ja auch
Swift fuer die Moebel vorgeschlagen). Einsortieren kann man mit der Filter-
funktion der Moebel und Suchen nach einer Short oder nach einem Namen waere
noch eine nette Funktion. "ala suche Vollstrecker in allen Schrank im raum"
waer auch was nettes fuer Container generell. Zum Aufraeumen koennte man 
dem Schraenker ja nen Extramoebel (Staubsauger ?) oder nen Knopf an den 
Schraenken vorsehen. Wie auch immer.
Auch wenn Tiamak manche meiner Vorschlaege als nur fuer Scripter nutzbar
ansieht, denke ich dass die Gesamtheit wesentlich zu saubereren Raeumen
fuehren wuerde. 
Die Abnutzungsproblematik fuehrt auch wieder zu ner Spirale, ausserdem sind
dann wenn man als Gelegenheitsspieler mal ne Ausruestung braucht eh alle
NPCs weg, die man gern besuchen moechte :).
So long, Mesirii
P.S: Man kann das auch alles problemlos in tf programmieren, aber das sollte
vielleicht nicht der generelle Ansatz sein (Telnetter und Zmudder angrins)

-----------------------------------------------------------------------------



Re^5: Qualifikation von Ideen? (Ogar, 10. Okt 2001, 13:25:02):
~#! rn=Mesirii rt=1002706958 rg=entwicklung
~#! tid=1002574977
Ich halte eine nutzungsunabhaenige Haltbarkeit von wenigen Monaten fuer
eine interessante Idee.  Das liegt in der Groessenordnung der Uptimes und
sollte daher fuer Gelegenheitsmetzler keine bedeutende Verschlechterung
darstellen.  Den Sammlern wuerde es auch etwas die Motivation nehmen,
Dinge anzuhaeufen, die sie kaum brauchen werden.  Bei onlinezeitabhaengiger
Abnuztung befuerchte ich, dass sich selten eingeloggte Lagerzweities
haeufen wuerden.

Was die Unterstuetzung des Einsortierens angeht, faende ich es schon
hilfreich, die Moebel nicht schliessen zu muessen, damit sich kein
Fremder am Inhalt bedient.

-- 
Ogar

-----------------------------------------------------------------------------



Re^6: Qualifikation von Ideen? (Grimmborn, 10. Okt 2001, 13:49:25):
~#! rn=Ogar rt=1002713102 rg=entwicklung
~#! tid=1002574977
Aeh. Was Du also sagst ist "aendert praktisch nichts und alles wird gut"? Das
Problem ist ja gerade dass haufenweise Zeugs angehaeuft wird das nicht
gebraucht wird.

GdA

-----------------------------------------------------------------------------



Re^7: Qualifikation von Ideen? (Ogar, 10. Okt 2001, 16:51:22):
~#! rn=Grimmborn rt=1002714565 rg=entwicklung
~#! tid=1002574977
Ich dachte bei meinem Vorschlag eher an die von Padreic angesprochenen
Uptimes von 100+ Tagen.  Dass so direkt keine Muellberge verhindert
werden, ist mir schon klar.

-- 
Ogar

-----------------------------------------------------------------------------



Re^7: Qualifikation von Ideen? (Montanus, 10. Okt 2001, 20:48:39):
~#! rn=Grimmborn rt=1002714565 rg=entwicklung
~#! tid=1002574977
ach, es gaebe viele Moeglichkeiten, lagerung zu erschweren.
Zum Beispiel, dass gewisse gegenstaende erst ab einem geissen level ueberhaupt
genommen werden koennen.
Zum Beispiel, dass gewisse gegenstaede nur von Charakteren bestimtmer Rassen,
Gilden, Geschlechtsmerkmale genommen werden koennen.
Zum Beispiel, die Truhen in den Seherhaeusern auf eine bestimmte Anzahl items
zu beschraenken.
Zum Beispiel, die tragkraft der helden zu verringern.

Aber das aendert alles nichts, weil fuer jede Erschwerugn eine Umleitung
gebaut werden kann. Dann gaebe es halt noch mehr Truhen, Zweities, etc.

Vielleicht wuerde helfen, Zeug zu "personalisieren". Also nur der, der das
Zeug erntet, findet, aus der Leiche nimmt, den gegenstand auch anwenden kann. 

-----------------------------------------------------------------------------



Re^8: Qualifikation von Ideen? (Tiamak, 10. Okt 2001, 20:50:33):
~#! rn=Montanus rt=1002739719 rg=entwicklung
~#! tid=1002574977
Genau. Wozu braucht man schon andere Spieler? 


Tiamak. Schaudert bei dem Gedanken an "Zusammenarbeit".

-----------------------------------------------------------------------------



Re^9: Qualifikation von Ideen? (Mupfel, 10. Okt 2001, 21:32:20):
~#! rn=Tiamak rt=1002739833 rg=entwicklung
~#! tid=1002574977
Januu... es gibt hier tatsaechlich Leute, fuer es ein Bug ist, wenn sie ein
Monster nicht ganz allein umhauen koennen....

-mupfel-
Zusammenarbeit? Nur mit meinen 2ties...

-----------------------------------------------------------------------------



Re^5: Qualifikation von Ideen? (Ark, 11. Okt 2001, 20:50:13):
~#! rn=Mesirii rt=1002706958 rg=entwicklung
~#! tid=1002574977
Noch eine Moeglichkeit waere, jedes Objekt (Ausnahme: Units) auf maximal 3
(als Beispiel) pro Raum/Behaelter zu beschraenken, und alle darueber hinaus
mit einem netten Satz zu vernichten. So schraenkt man einerseits Sammelwut ein
und laesst dem werten Spieler immer noch mindestens einen Ersatz nach dem
naechsten Larsbesuch.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^11: Qualifikation von Ideen? (Azzuro, 12. Okt 2001, 01:51:45):
~#! rn=Catweazle rt=1002693987 rg=entwicklung
~#! tid=1002574977
finger lager
Lager ist nicht anwesend.
Zuletzt eingeloggt von: 195.227.34.89 Unbekannt.
Zuletzt ausgeloggt: Mon, 23. Aug 1999, 19:44:32 (780d 06:06:33).
Voller Name: Lager der Wankende

-----------------------------------------------------------------------------



Re^12: Qualifikation von Ideen? (Azzuro, 12. Okt 2001, 01:53:27):
~#! rn=Catweazle rt=1002693989 rg=entwicklung
~#! tid=1002574977
Wir koennen auch die Ideen verbinden Cat.
Wir fuehren Schloesser ein, die mit der Zeit veraltern und dadurch bruechig
werden. ;)

-----------------------------------------------------------------------------



Re^6: Qualifikation von Ideen? (Azzuro, 12. Okt 2001, 01:56:09):
~#! rn=Ark rt=1002826213 rg=entwicklung
~#! tid=1002574977
Hmmm.. Spieler sind doch auch Objekte oder? Das heisst, sowie mehr als drei
Spieler in einen Raum kommen, werden sie mit einem netten Satz vernichtet.

Die Idee find ich cool!!!

-----------------------------------------------------------------------------



Re^6: Qualifikation von Ideen? (Bambi, 12. Okt 2001, 09:44:04):
~#! rn=Ark rt=1002826213 rg=entwicklung
~#! tid=1002574977
Die Maximal-Zahl an PObjekten musst du variabel gestalten. QWenn ich dran
denke, dass es objekte gibt, die man (im Tausch) fure sagen wir mal 5 andere
(gleiche) objekte bekommt...

-----------------------------------------------------------------------------



Re^7: Qualifikation von Ideen? (Solmyr, 12. Okt 2001, 10:06:34):
~#! rn=Azzuro rt=1002844569 rg=entwicklung
~#! tid=1002574977
Also entweder hast Du zu viel 'the abyss' geschaut oder Du bist in der
Raumfahrt bewandert ;) Wie soll das passieren oder wie magst Du das darlegen?
Mehr als 3 Spieler in einem Raum erzeugen so enormen psychischen Druck auf die
einzelnen Spieler, dass sie sich gegenseitig Ihre Feueraexte ins Hirn rammen?

Sol* ist yberfordert

-----------------------------------------------------------------------------



Re^8: Qualifikation von Ideen? (Anthea, 12. Okt 2001, 11:36:24):
~#! rn=Solmyr rt=1002873994 rg=entwicklung
~#! tid=1002574977
Wieso? Noch nie darueber gewundert, was es mit der "Gruppendynamik" auf sich
hat?

-----------------------------------------------------------------------------



Re^9: Qualifikation von Ideen? (Elendil, 12. Okt 2001, 13:52:49):
~#! rn=Anthea rt=1002879384 rg=entwicklung
~#! tid=1002574977
Hi zusammen,

mein Vorschlag waere, das fassungsvermoegen der Sehertruhe auf beispielsweise
400 Gegenstaende zu limitieren und einmal je Reset alle im Haus befindlichen
Objekte aus Raeumen mit mehr als 20 gegenstaenden in die Truhe zu moven. Ist
das Limit erreicht, wird vernichtet :)

Abnutzende Ruestungen haben diverse Problem, zumal ich fuer meinen
Teil nun wirklich garkeinen Spass an dieser Idee habe. Ich frage
mich, ob sich darueber tatsaechlich ein Spieler freuen wuerde, also
warum implementieren? Das Problem der Haufen von Gegenstaenden wird
damit bestimmt nicht besser.

Gruss Elendil

-----------------------------------------------------------------------------



Re^7: Qualifikation von Ideen? (Ark, 12. Okt 2001, 14:29:03):
~#! rn=Azzuro rt=1002844569 rg=entwicklung
~#! tid=1002574977
Aber nur, wenn das auch Magier trifft.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^7: Qualifikation von Ideen? (Ark, 12. Okt 2001, 14:31:18):
~#! rn=Bambi rt=1002872644 rg=entwicklung
~#! tid=1002574977
Ich muss nichts variabel gestalten, das ueberlasse ich Tiamak. Ich wuerde 3
als Anhaltspunkt nehmen, es so umsetzen, 2 Wochen Ferien machen und gemuetlich
die MPA durchlesen. Wenn die Anzahl der negativen Artikel dividiert durch die
Anzahl der diese Artikel schreibenden Spieler 30 uebersteigt, dann war die
Idee klasse und es bleibt erstmal dabei ;^)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^8: Qualifikation von Ideen? (Rardian, 12. Okt 2001, 15:23:39):
~#! rn=Solmyr rt=1002873994 rg=entwicklung
~#! tid=1002574977
Ach Solmchen. Da brauchste doch nicht viel zu ueberlegen und begruenden! Drei
Leute zusammen geht eh auf Dauer schief, das lehrt uns das Leben. Wenn eine
Frau dabei ist, gehts schneller...

Rar.

-----------------------------------------------------------------------------



Re^9: Qualifikation von Ideen? (Solmyr, 12. Okt 2001, 19:42:11):
~#! rn=Rardian rt=1002893019 rg=entwicklung
~#! tid=1002574977
) Ok, ueberzeugt.

Sol*

-----------------------------------------------------------------------------



Re^10: Qualifikation von Ideen? (Wurzel, 15. Okt 2001, 19:52:58):
~#! rn=Solmyr rt=1002908531 rg=entwicklung
~#! tid=1002574977
mal zusammengefasst, wie ich das jetzt verstanden habe:
abnutzung will keiner. andere sinnvolle vorschlaege hab ich auch nicht
gesehen. was bleibt, ist die uebliche alternative: lassen, wie es ist.
um aber die nette diskussion mal wieder zu beleben, haette ich auch mal zwei
vorschlaege:
1) objekte haben eine begrenzte lebensdauer von, beispielsweise, zwei bis
drei wochen. mit einer gewissen unschaerfe, sonst merkt man noch monate nach
dem letzten crash, zu welcher uhrzeit der reboot war :) das sollte auch fuer
mudder reichen, die nicht staendig hier abhaengen. wer noch seltener kommt,
schaut eh meist nur zum labern rein, dafuer braucht man keine ausruestung.
2) ganz anderer ansatz: alle objekte sind unique. natuerlich dann auch die
zugehoerigen npcs (auch eine art realismus, wer tot ist kommt eben nicht in
einer stunde wieder). wenn dann alles leergeraeumt ist, loest der tod des
letzten npc einen reboot aus, und man kann wieder von vorne anfangen...
das waere ein ganz anderes spiel als das, was wir jetzt haben? stimmt schon.
aber ganz bestimmt wuerde niemand mehr gegenstaende horten...

wurzel

-----------------------------------------------------------------------------



Re^11: Qualifikation von Ideen? (Tektuko, 15. Okt 2001, 19:55:06):
~#! rn=Wurzel rt=1003168378 rg=entwicklung
~#! tid=1002574977
Wenn alle Npcs tot sind? mhhh ich glaub dann wuerde 2 Stunden wie verrueckt
gemetzelt werden, und dann muss man 2 Stunden fuer nen Npc suchen... oder wie
meinst du das?

-----------------------------------------------------------------------------



Re^11: Qualifikation von Ideen? (Deepblue, 15. Okt 2001, 20:13:35):
~#! rn=Wurzel rt=1003168378 rg=entwicklung
~#! tid=1002574977
Wie kommst Du darauf, dass dann niemand mehr Gegenstaende hortet?? Der Anstand
und Respekt vor anderen Spielern? An den glaub ich ned mehr...

-----------------------------------------------------------------------------



Re^12: Qualifikation von Ideen? (Nonne, 15. Okt 2001, 21:18:52):
~#! rn=Deepblue rt=1003169615 rg=entwicklung
~#! tid=1002574977
Eigentlich keine schlechte Idee. Dann braucht man aber auch PKs, damit die
Ausruestung verteilt wird (c:

-----------------------------------------------------------------------------



Re^13: Qualifikation von Ideen? (Anacrion, 15. Okt 2001, 21:20:54):
~#! rn=Nonne rt=1003173532 rg=entwicklung
~#! tid=1002574977
Ahja. okay. Wir koennen jetzt in megaschmarrn weiterschreiben. Auf zur 25k ...

anac*

-----------------------------------------------------------------------------



Re^11: Qualifikation von Ideen? (Rumata, 16. Okt 2001, 10:13:49):
~#! rn=Wurzel rt=1003168378 rg=entwicklung
~#! tid=1002574977
Die panische Suche nach dem letzten PC stelle ich mir lustig vor :-)
Rum**

-----------------------------------------------------------------------------



Re^12: Qualifikation von Ideen? (Anthea, 16. Okt 2001, 10:15:09):
~#! rn=Rumata rt=1003220029 rg=entwicklung
~#! tid=1002574977
Dann kann man ja gleich "Kain's Estate" spielen, oder gibt es das nicht mehr?
Na, dann ein beliebiges anderes PK-Mud. Das Prinzip davon hatte mir schon vor
5 Jahren nicht gefallen.

-----------------------------------------------------------------------------



Re^11: Qualifikation von Ideen? (Ark, 16. Okt 2001, 14:47:31):
~#! rn=Wurzel rt=1003168378 rg=entwicklung
~#! tid=1002574977
b) Palastrefoluzion oder wie? Interessant aber unrealistisch :-)
a) Noe, bitte lass mir wenigstens noch ab und an ein wenig Spielspass :-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Postpakete (Tiamak, 27. Okt 2001, 22:46:34):
Auf mehrfaches Draengeln eines doppelten Zauberers kann man Postpaketen nun in
der Kurzbeschreibung schon ansehen, an wen sie adressiert sind.


Tiamak

-----------------------------------------------------------------------------



Sammelwut Qualifikation von Ideen (Logo,  2. Nov 2001, 19:12:20):
Irgentiwie erinnert es mich an zu Hause, das Geschirr stabelt sich, es ist
immernochnicht gesaugt. Diverse Buecher liegen noch auf dem Boden rum und
einige Zeitschriften die ich nochmal durchblaettern wollte stapeln sich in der
Ecke. Letztenendes ist es bei Seherhaeusern doch ganz genauso.
Soll sich das aendern, dann muss man halt manchmal AUFRAEUMEN. Viele Mudden
aber lieber anstatt aufzuraeumen.
Aufraeumen kann ganz schoen laestig sein. Wenn man ne Reihe von Schwertern hat
mit relativ wenig verschiedenen Bezeichnungen muss man schonmal Testen wie man
das gesuchte "breite Schwert" anreden muss Schwert 15 oder doch Schwert 17
oder geht breite Schwert oder doch breites Schwert oder hat es gar einen Namen
"Bastraburianderoxinoblid" ?
Das einfachste ist doch den armen Mudder zu unterstuetzen.
Da muss ganz einfach ein Budler her! Oder zumindest nen Befehl aufraeumen der
das ganze erleichtert.
Fragen wir uns warum liegt das Zeug da den rum.
a) Ich koennte es spaeter nochmal gebrauchen.
b) Ich muss es noch identifizieren, aber das macht ja mein Zweitie so und so,
damit bei meinen Waffenlisten die Daten ja zueinander passen (weil jede Gilde
das ja ganz anders bewertet muss man mit mehreren Chars den Gegenstand
ueberpruefen auf magische Faehigkeiten mit Zauberer, dann nochmal der Trves
fuer Kampfboni ...) Und da nicht alle gleichzeitig aktiv sein duerfen....
c) Ich will das spaeter mal verkaufen aber im moment sind alle Laeden pleite.
d) eigentlich koennte ich es ja wegschmeissen aber ich bin zufaul.
e) Ich habs nur noch nicht in den Schrank eingeraeumt.
f) Ich will das meinem Freund xy geben, aber dem bin ich noch nicht begegnet.
g) ...

Service ist alles. Warum nicht einen Budler oder Befehl zum aufraeumen. Z.B.
koennte man einen Befehl aufraeumen haben der dann zu jedem Gegenstand mit
genauer Bezeichnung  abfragt was man damit machen will. "v"erkaufen, "m"muell,
"t"truhe, "s" versenden an einen Freund die Lieferung erfolgt dann ueber die
Post zu Postkonditionen an den Freund direkt oder verbilligt direkt in ein
Paket an dessen Seherhaus.
Bei Verkaufen koennte man es z.B. in einen Speziellen Laden ablegen, die
momentane Preislage jetzt gutschreiben und wenn sich spaeter der Markt etwas
verbessert, erhaelt der betreffende noch etwas mehr Kohle in die Truhe des
Seherhauses. Insbesondere wuerde sich der Marktpreis dadurch stabilisieren.
(Leider waere er konstant tiefer, so dass wohl mehr Leute aufsammeln und
verkaufen spielen, aber die Gegenstaende liessen sich frueher loeschen)
Anbei koennte man die Gegenstaende auch vereinfacht in den passenden Schrank
einraeumen.
Auch das identifizieren mit den Aussage verschiedener Gilden und
Identifizierungsgegenstaenden koennte man eigentlich im Haus einbauen. Kleines
Labor genuegt. Hat natuerlich den Nachteil die Gildenfaehigkeiten werden dabei
nicht geuebt.

Mfg Logo&Co
Disclaimer:
Fuer alle Rechtschreibfehler ist allein mein Deutschlehrer verantwortlich ;-)


-----------------------------------------------------------------------------



Re: Sammelwut Qualifikation von Ideen (Wurzel,  2. Nov 2001, 19:46:51):
~#! rn=Logo rt=1004724740 rg=entwicklung
~#! tid=1004724740
das kannst du mit einem beliebigen client deiner wahl selbst realisieren.
ist vielleicht nicht ganz so einfach wie mal eben einen artikel zu schreiben,
aber geht schon.

wurzel

p.s. kauf dir mal einen anderen deutschlehrer

-----------------------------------------------------------------------------



Re: Re: Sammelwut Qualifikation von Ideen (Montanus,  2. Nov 2001, 19:51:45):
~#! rn=Wurzel rt=1004726811 rg=entwicklung
~#! tid=1004724740
naja, mein Client (telnet) macht mir das nicht. Und ich finde Logos Ansatz
iummerhin in der richtigen Rubrik. Grundsaetzlich waere es doch besser, wenn
interessante Ansaetze allen zur Verfuegung gestellt werden als 100 Spieler mit
100 verschiedenen clients herumdoktorn zu lassen, oder?

-----------------------------------------------------------------------------



Re: Sammelwut Qualifikation von Ideen (Gloinson,  3. Nov 2001, 00:15:06):
~#! rn=Logo rt=1004724740 rg=entwicklung
~#! tid=1004724740
Mir faellt dabei nicht Aufraeumen ein, sondern dass im der Meister im
Rollenspiel (und im Ansatz ist MUD ja sowas) es nicht soweit kommen laesst
dass der Spieler seine Gegenstaende stapeln kann.

Gloin(son)

-----------------------------------------------------------------------------



Re: Re: Sammelwut Qualifikation von Ideen (Mandragon,  3. Nov 2001, 00:16:00):
~#! rn=Gloinson rt=1004742906 rg=entwicklung
~#! tid=1004724740
Ja. Hab ich auch gesagt.
Aber es gibt LEute die das nicht fuer richtig halten, das ueber
Angebotssteuerung zu machen.

Ma*

-----------------------------------------------------------------------------



Re^3: Sammelwut Qualifikation von Ideen (Anatol,  3. Nov 2001, 03:24:48):
~#! rn=Mandragon rt=1004742960 rg=entwicklung
~#! tid=1004724740
Wir sind hier aber nicht bei <.....>.

Natuerlich koennte man 1093 Aenderungen einbauen, um das Rollenspiel zu
foerdern. Weggelegtes verschwindet nach 1-2 Resets (weil es jemand klaut), 
Jeder Spieler kann nur <n> Kilogramm tragen, wobei ein Kettenhemd in 
Zukunft soviel wiegt wie ein Kettenhemd zu wiegen hat, Waffen und 
Ruestungen verschleissen in nicht unerheblichem Masse, das Trinken von 
Spirituosen heilt natuerlich nicht sondern gibt einem nur das Gefuehl, 
*hick* geheilt zu sein. Und dass eine Goldmuenze i.d.R. ein Viertel Gramm
wiegt, das muessen wir ja wohl auch mal aendern, kann ja wohl nicht angehen.

Rollenspiel? Hier? Selbst ein Normalmudder, der sich schon an die vielen
Kompromisse gegenueber AD&D/DSA/GURPS/...-Richtlinien gewoehnt hat, wird
spaetestens bei Toiletten mit automatischer Spuelung, dem Terminator oder
mobilen Dosenoeffnern das Handtuch werfen, abwinken und einfach so seinen
Spass haben - in dem Rahmen, der dafuer bleibt.

2 pesos,
Anatol


-----------------------------------------------------------------------------



Gildenkriege (Zarniya,  5. Nov 2001, 08:46:15):

Hallo, 

ich hab mit Interesse die Ausfuehrungen in der Zauberer Rubrik gelesen und
habe danach das Gefuehl, dass hier einige die Sache viel zu ernst, andere
dafuer zu locker sehen. Irgendwie ist mir da dann auch ein Gedanke gekommen,
der nicht wieder weg will. Wieso sollte ein Angehoeriger einer Gilde, egal
welcher, nicht berechtigt sein, seine Gilde zu verteidigen? Ich denke schon,
dass das erlaubt sein muss. Was waere also, wenn man JEDE Gilde zu einer PK
erlaubten Zone macht, bei der dann IN NOTWEHR auch ein Spieler gemetzelt
werden kann? Vorraussetzung ist, dass es wirklich Notwehr ist. Beispiel:

Zauberer kommen in die Kaempfergilde, Kaempfer sind auch anwesend. Die
Kaempfer duerfen die Zauberer aber so nicht einfach angreifen, sondern erst
mitmetzeln, sobald der Zaubi einen NPC der Gilde angegriffen hat. Der
gildenfremde Angreifer ist dann sozusagen solange vogelfrei, wie er sich in
den Gildenraeumen aufhaelt und nach Verlassen derselbigen vielleicht noch 1-2
resets lang. 

Ich sehe schon sehr reizvolle Kriege auf uns zukommen... 

Ok, das ist jetzt alles nicht sehr durchdacht, aber wieso nicht so eine
Grundidee einbauen?

Marc

-----------------------------------------------------------------------------



Re: Gildenkriege (Varlarion,  5. Nov 2001, 08:51:33):
~#! rn=Zarniya rt=1004946375 rg=entwicklung
~#! tid=1004946375
Meine rein persoenliche Meinung dazu ist:

Wir sind kein PK-MUD und das sollte so bleiben, egal unter welchem
Deckmaentelchen man sowas betrachtet, PK bleibt PK und Vogelfreiheit hat hier
nichts verloren.

Varl*

-----------------------------------------------------------------------------



Re: Re: Gildenkriege (Zarniya,  5. Nov 2001, 08:54:09):
~#! rn=Varlarion rt=1004946693 rg=entwicklung
~#! tid=1004946375
Hmm es gibt schon soooo viele PK gegenden hier im MG. Willst Du die auch alle
wieder abschaffen? Es geht ja nicht um ein generelles PK, sondern darum, es
als nettes Feature einzubauen. Wer nicht PKen will, muss nur die Finger von
GildenNPCs lassen.

Marc

-----------------------------------------------------------------------------



Re: Gildenkriege (Deepblue,  5. Nov 2001, 08:56:15):
~#! rn=Zarniya rt=1004946375 rg=entwicklung
~#! tid=1004946375
Ab ins PK-Mud mit Dir!

-----------------------------------------------------------------------------



Re^3: Gildenkriege (Deepblue,  5. Nov 2001, 08:57:19):
~#! rn=Zarniya rt=1004946849 rg=entwicklung
~#! tid=1004946375
und der naechste schreibt ne Gildenquest "Hau den und den GildenNPC"...

-----------------------------------------------------------------------------



Re^4: Gildenkriege (Grimmborn,  5. Nov 2001, 09:01:46):
~#! rn=Deepblue rt=1004947039 rg=entwicklung
~#! tid=1004946375
Du scheinst auch einer von denen zu sein die sich nicht vorstellen koennen
dass sich Spieler (rollenspieltechnisch) mit ihrer Gilde identifizieren und es
sie wurmt daneben stehen zu muessen wie andere Spieler dort einfallen. Ich
finde die Idee nicht schlecht, wenn auch programmiertechnisch aufwendig. Zu
argumentieren dass es Notwehr ist nicht nur wenn man selber angegriffen wird,
sondern auch wenn die eigene Gilde angegriffen wird ist nicht unlogisch - die
Bundeswehr argumentiert ja aehnlich. Da das hier eben kein PK mud ist muss das
dann auf die Gilden selber beschraenkt sein. 

Dass Deine tolle Bemerkung mit der Gildenquest ziemlich kindisch und daneben
ist ist Dir vermutlich selber klar. Genauso koennte man gegen die
Unangreifbarkeit von Gilden-NPCs argumentieren mit "der naechste schreibt ne
Gildenquest "Hau den und den GildenNPC"...". Allerdings muessten natuerlich
die Stupse fuer Gilden-NPCs weg wenn die Gilden Notwehrgebiet wuerden.

GdA

-----------------------------------------------------------------------------



Re^3: Gildenkriege (Varlarion,  5. Nov 2001, 09:03:08):
~#! rn=Zarniya rt=1004946849 rg=entwicklung
~#! tid=1004946375
Was willst Du denn damit durchsetzen? Dass die Kaempfer Jagd auf die Zauberer
machen duerfen? Viel anderes duerfte dabei ja nicht herauskommen, denn die
uebrigen Gilden-NPCs werden ohnehin in Ruhe gelassen, bzw. sind eh nicht
killbar.

Varl*, nach wie vor dagegen

-----------------------------------------------------------------------------



Re^5: Gildenkriege (Schleicher,  5. Nov 2001, 09:03:40):
~#! rn=Grimmborn rt=1004947306 rg=entwicklung
~#! tid=1004946375
Gildennotwehr? - Dafuer!!!
Seht euch vor und lasst Bruno in Ruhe! *schmunzel*

Schleicher

-----------------------------------------------------------------------------



Re^4: Gildenkriege (Grimmborn,  5. Nov 2001, 09:09:09):
~#! rn=Varlarion rt=1004947388 rg=entwicklung
~#! tid=1004946375
Das Ziel ist, dass Gilden nicht angegriffen werden waehrend die
Gildenmitglieder hilflos daneben stehen muessen. Wenn Du eine Unangreifbarkeit
fuer rollenspiel- und mudtechnisch gelungener haelst als die Moeglichkeit sich
zu wehren kann ich das nicht aendern, dann haben wir halt verschiedene
Ansichten. 

GdA

-----------------------------------------------------------------------------



Re^4: Gildenkriege (Zarniya,  5. Nov 2001, 09:14:56):
~#! rn=Varlarion rt=1004947388 rg=entwicklung
~#! tid=1004946375
Hab ich gesagt, dass das einfach umzusetzen ist? Man muesste dann natuerlich
alle Gilden entsprechend anpassen. Und was heisst hier Jagd auf Zauberer? Hast
Du Angst, dass da jemand unter die Raeder kommt? 

Ich hab ja gesagt, dass es keine generelle Jagd ist, sondern das nur der
angegriffen werden kann, der sich an einem GildenNPC vergeht. Wer also nicht
in die Schusslinie kommen will, der laesst es einfach. Ich denke, dass es den
Zusammenhalt innerhalb der Gilde foerdert und eigentlich auch Spass machen
wuerde, sowas einzufuehren.

Achja.. ich hab jahrelang in einem MUD gespielt, in dem es PKs gibt und wo es
der Hauptspass war, die Hauptstaedte der anderen Rassen anzugreifen und dort
die Bevoelkerung auszurotten... Der Spass lag daran, dass es sehr schwer war,
auch nur an den Wachen, geschweige denn an den verteidigenden Spielern vorbei
zu kommen. Mit schwer meine ich, dass man fuer so einen Angriff 10 Leute und
mehr brauchte und davon mit Sicherheit auch 4-5 draufgegangen sind. 

Ich will hier kein PK Mud draus machen, dafuer ist das MG nicht gemacht und es
ist auch technisch nicht machbar. Aber ich denke, dass es den Spielspass
erhoehen wuerde, wenn man den Gildenmitgliedern die Moeglichkeit gibt, auch
mit Waffen die eigene Gilde zu verteidigen. Niemand ist dazu gezwungen, es
zwingt ja auch niemand hier einen in eine der diversen PK Arenen oder PK
Gebiete. Auch, wenn aus der Schattenwelt von Dancer und Zardoz nie was
geworden ist, ist doch der Reiz dieser Spielidee immer wieder verlockend.

Marc

-----------------------------------------------------------------------------



Re^5: Gildenkriege (Varlarion,  5. Nov 2001, 09:37:54):
~#! rn=Zarniya rt=1004948096 rg=entwicklung
~#! tid=1004946375
ueberleg doch mal:

die abenteurer haben keinen gilden-npc und nur einen gildenraum,
bierschuettler, karateka und katzenkrieger haben auch nur einen gildenraum
(zumindest nur einen, den alle betreten koennen, im falle der karateka) und
einen npc, die kleriker haben 2 npcs (oder kommen nicht-kleris da gar nicht
hin?) und bei den zaubies bekommen gildenfremde auch nur 2 raeume und 2 npcs
zu gesicht
und die chaoten haben auch nur 2 relevante gilden-npcs, aber immerhin ein
groesseres areal, wo sich auch nicht-mitglieder aufhalten koennen.
lediglich bei den tanjian und den kaempfern sind die gildenraeume etwas
bevoelkerter, wobei ich bei den tanjis nicht weiss, wieviele npcs tatsaechlich
gildenrelevant sind... hab ich jetzt noch ne gilde vergessen?
naja, egal, worauf ich hinauswill, ist hoffentlich klargeworden: die
kaempfergilde sticht mit der anzahl der gildenrelevaten, fuer nicht-mitglieder
erreichbaren und killbaren npcs ziemlich heraus.
die tatsache, dass die gilde verteidigt werden kann, stellt fuer spieler wohl
einen klaren vorteil dar und diesen vorteil koennten NUR die kaempfer
ausnutzen. auf dieser basis halte ich eine solche loesung einfach fuer absurd
oder willst du hingehen und alle anderen gilden ausbauen und bevoelkern?

nochmal kurz zusammengefasst: so unterschiedlich, wie die gilden derzeit sind,
macht es in meinen augen einfach keinen sinn.

wenn man das ganze rein rollenspieltechnisch betrachtet, muesste man den
chaoten ja eine generelle pk-erlaubnis aussprechen, zumindest gegenueber
charakteren, die besser sind als neutral, insofern ist auch das fuer mich kein
argument.

Varl*, ist myde, meint es aber trotzdem ernst

-----------------------------------------------------------------------------



Re^6: Gildenkriege (Grimmborn,  5. Nov 2001, 09:45:36):
~#! rn=Varlarion rt=1004949474 rg=entwicklung
~#! tid=1004946375
Bevor ich wirklich antworte eine Verstaendnisfrage: Was genau meinst Du damit
"dass die gilde verteidigt werden kann, stellt fuer spieler wohl einen klaren
vorteil dar"? Wer keine angreifbare Gilde hat braucht sie nicht zu
verteidigen, wer eine angreifbare solche hat darf sie verteidigen. Nur
gegenueber tatsaechlich angreifenden Spielern, und nur auf Gildengebiet. Ich
verstehe da weder was Du fuer ein Problem damit hast, noch was das fuer ein
Vorteil sein soll (ausser der Befriedigung, der geliebten Gilde tatsaechlich
helfen zu koennen).

GdA

-----------------------------------------------------------------------------



Re^7: Gildenkriege (Varlarion,  5. Nov 2001, 09:56:20):
~#! rn=Grimmborn rt=1004949936 rg=entwicklung
~#! tid=1004946375
nun, einen anderen spieler toeten zu duerfen, ohne dafuer einen PK zu
kassieren, sehe ich durchaus als spielrelevanten vorteil. zumal das ganze, wie
du ja auch schreibst, nur die spieler betrifft die einer gilde "angreifbaren"
gilde angehoeren.
damit wird eine nische geschaffen, die nur einen gewissen anteil der spieler
betrifft.
und ich meine, es gibt genug moeglichkeiten, sich mit anderen zu messen, so
dass gildenkriege aussen vor bleiben koennen und sollen.
wie bereits erwaehnt gibt es andere muds, wo sowas an der tagesordnung ist und
wer sowas unbedingt haben muss, kann ja auch dort spielen.
ich denke einfach, dass das nicht hierher gehoert.

-----------------------------------------------------------------------------



Re^8: Gildenkriege (Zarniya,  5. Nov 2001, 10:01:19):
~#! rn=Varlarion rt=1004950580 rg=entwicklung
~#! tid=1004946375
Es gibt hier gewaltig viele Nischen, so ein gewisser Anteil der Spieler was
darf, das andere nicht duerfen... diese Nischen nennen sich Gilden! Chaoten
haben die Nische, Daemonen zu beschwoeren, Kaempfer die Nische, die Gilde zu
verteidigen und Zauberer die Nische, dumm auszusehen... 

aber mal ernsthaft: Der Sinn und Zweck der Gilden ist doch die Nischenbildung.
Wenn Du die nicht willst, dann schaffen wir alle Gilden wieder ab. Ich dachte,
es soll hier keinen Einheitsbrei geben.

Marc

-----------------------------------------------------------------------------



Re^10: Gildenkriege (Foobar,  5. Nov 2001, 10:15:43):
~#! rn=Deepblue rt=1004951053 rg=schmarrn
~#! tid=1004946375
Moin.

IMHO ist dieses Vorhaben aufgrund der Unbalanciertheit der Gilden
untereinadner von vornherein zum Scheitern verurteilt.

Ein Abenteurer hat nicht wirklich eine Chance gegen einen Kaempfer, und was
soll bitteschoen DeepBlue ausrichten wenn 5 Zaubis auf Funakoshi rumpruegeln?

Zehn Kaempfer bekommen gefroscht keinen einzigen Zaubi platt, und selbst wenn
ich nicht gefroscht waere wuerde ich mir ueberlegen ob es Sinn macht in einen
Elendil mit "wandlung wasser" reinzurennen.

Man koennte mit "Ehre" argumentieren, aber wenn ich nicht den Hauch einer
Chance lass ich es lieber bleiben.

Foobar

-----------------------------------------------------------------------------



Re^11: Gildenkriege (Zarniya,  5. Nov 2001, 10:27:58):
~#! rn=Foobar rt=1004951743 rg=entwicklung
~#! tid=1004946375
Ich hoer hier immer was von Metzeln MUESSEN... was fuer ein Unsinn. Ich hab
mich urspruenglich mal auf die Diskussion in gilden.zauberer bezogen und da
klang zwischen den Zeilen immer wieder durch, dass es zu einfach ist,
GildenNPCs zu killen. Deswegen hab ich nur einen Vorschlag gemacht, es
schwieriger zu machen un das so, dass es eben auch Spielspass bringt und nicht
nur durch Erhoehung der Anzahl an NPCs funktioniert. 

Ich will auch keine unendliche Diskussion heraufbeschwoeren, sondern denke
nur, dass es eine Idee ist, ueber die man mal nachdenken kann. 


-----------------------------------------------------------------------------



Re^12: Gildenkriege (Anatol,  5. Nov 2001, 11:10:28):
~#! rn=Zarniya rt=1004952478 rg=entwicklung
~#! tid=1004946375
Sorry, Zarniya. So toll der Gedanke auch sein mag, im MorgenGrauen halte
ich das fuer schlicht nicht realisierbar. Ein Spielercharakter ist nicht
dafuer ausgelegt, gegen einen anderen anzutreten, ein Kampf, der in der
zweiten Runde (spaetestens) beendet ist, ist ziemlich bescheiden.

Selbst der Turmwaechter in der Elfensiedlung hat ueber 800 LPs.

Das schlimme ist: Er braucht sie auch. Naja, nicht dass es ihm huelfe.

Anatol

-----------------------------------------------------------------------------



Re: Gildenkriege (Ark,  5. Nov 2001, 14:03:19):
~#! rn=Zarniya rt=1004946375 rg=entwicklung
~#! tid=1004946375
Mein erstes Mud war eins, in dem ich nach etwa 10 Sekunden tot war, weil ich,
wie ich dann spaeter erst erfuhr, ein nuetzliches Opfer fuer ein paar
punktegeile Desperados waren. Im MorgenGrauen dagegen bin ich geblieben, weil
mir nach 3 Minuten jemand zu einem Zaubertrank verhalf, den ich aufgrund
mangelnder Staerke nicht sofort erhielt. DAS war reizvoll und deshalb bin ich
heute noch hier. Wird das geaendert, mach ich mich duenne :-)
Fortschritt, ok. PK Regelungen uebermaessig aufzuweichen ist aber IMHO eher
ein Schritt in Richtung Steinzeit. In manchen Bereichen gibt es eben keine
akzeptablen Kompromisse, auch wenn immer wieder mal auftretende Vorschlaege
Gegenteiliges suggerieren. Arena et al. ist nun zu lange etabliert, also ist
es sinnlos gegen schon vorhandenen Ausnahmen anzustinken. Aber noch weitere?
Neee.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: Re: Gildenkriege (Elberet,  5. Nov 2001, 14:05:32):
~#! rn=Ark rt=1004965399 rg=entwicklung
~#! tid=1004946375
du redest mir aus der seele

Elbi

-----------------------------------------------------------------------------



Re^3: Gildenkriege (Grimmborn,  5. Nov 2001, 14:10:53):
~#! rn=Elberet rt=1004965532 rg=entwicklung
~#! tid=1004946375
Der Punkt ist doch, dass niemand gegen seinen Willen und ueberraschend in eine
PK-Situation kommt. Wenn ich mit jemandem in die Arena gehe weiss ich, dass
ich dann einen Spieler toete. Wenn jemand die Gilden-NPCs angreift sollte er
das auch vorher erfahren, was die Konsequenz sein kann. Wenn ein Zauberer
touristenmaessig durch den Struv wandert kann ihm nichts passieren, wenn er
die Jungs in Baerenfellmuetze angreift hat er moeglicherweise ein Problem
(wenn naemlich anwesende Trves ihn angreifen, sie koennen sich das ja auch
einfach nur ansehen). 

GdA

-----------------------------------------------------------------------------



Re^4: Gildenkriege (Elberet,  5. Nov 2001, 14:12:10):
~#! rn=Grimmborn rt=1004965853 rg=entwicklung
~#! tid=1004946375
Heul' Doch (c) Anatol

-----------------------------------------------------------------------------



Re^3: Gildenkriege (Ark,  5. Nov 2001, 14:12:20):
~#! rn=Elberet rt=1004965532 rg=entwicklung
~#! tid=1004946375
GildenNPCs laufen nicht mit nem Baepperle "Please only kill in case of extreme
Stupsgeilheit" rum - und werden es auch nicht (zumindest nicht gewisse neue
NPCs). Und wo genau sind denn nun die soooo viele Gegenden? Spontan fallen mir
die Arena und Schlachtfeld ein, aber ich spiele ja nicht sooo oft. Verhaeltnis
"PK Raeume zu Gesamtraeume im MorgenGrauen" ist hoffentlich nicht groesser ein
Prozent, sonst waere ich sehr geschockt :-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^5: Gildenkriege (Grimmborn,  5. Nov 2001, 14:15:02):
~#! rn=Elberet rt=1004965930 rg=entwicklung
~#! tid=1004946375
Ich heule ja gerade nicht (hab ich als Wurstmagier ja auch in keinster Weise
noetig, weder kratzen mich persoenlich Spielerwehwehchen, noch koennte ich
mich ueber Programmieraufwand beschweren, weil der auch an mir vorbeigeht). 
GdA

-----------------------------------------------------------------------------



Re^6: Gildenkriege (Elberet,  5. Nov 2001, 14:16:36):
~#! rn=Grimmborn rt=1004966102 rg=entwicklung
~#! tid=1004946375
ich stell mal die Gretchenfrage: Wieso gehen die Leute, die hier umbedingt
sowas machen wollen wie gilden verteidigen usw nciht in muds, wo das geht?

-----------------------------------------------------------------------------



Re^8: Gildenkriege (Elberet,  5. Nov 2001, 14:19:43):
~#! rn=Deepblue rt=1004966361 rg=entwicklung
~#! tid=1004946375
wer will denn stunk machen?

-----------------------------------------------------------------------------



Re^7: Gildenkriege (Grimmborn,  5. Nov 2001, 14:20:19):
~#! rn=Elberet rt=1004966196 rg=entwicklung
~#! tid=1004946375
- weil sie schon im MG waren bevor es Gilden gab.
- weil sie, als sie das realisiert haben, schon so im MG (und seinen 
  Spielern) verhaftet waren dass sie nicht wechseln moechten.
- weil die Argumentation "wenns Dir nicht passt dann geh doch nach drueben"
  schon vor 20 Jahren ziemlich scheisse war.

GdA

-----------------------------------------------------------------------------



Re^8: Gildenkriege (Elberet,  5. Nov 2001, 14:20:51):
~#! rn=Grimmborn rt=1004966419 rg=entwicklung
~#! tid=1004946375
Heul' Doch :)

-----------------------------------------------------------------------------



Re^9: Gildenkriege (Grimmborn,  5. Nov 2001, 14:22:36):
~#! rn=Elberet rt=1004966451 rg=entwicklung
~#! tid=1004946375
Hmm, wer heult denn hier prophylaktisch fuer den Fall, dass er sich in eine
weitere PK-Situation bringen koennte?

GdA

-----------------------------------------------------------------------------



Re^10: Gildenkriege (Elberet,  5. Nov 2001, 14:23:38):
~#! rn=Grimmborn rt=1004966556 rg=entwicklung
~#! tid=1004946375
och in mein Haus kommen nur Leute die ich kenn und die werden mich schon nicht
umbringen, aber meines wissens waren auch vor 20 Jahren im MG pks verpioent,
oder? Das hat nix mit Gilden zu tun.

-----------------------------------------------------------------------------



Re^8: Gildenkriege (Ark,  5. Nov 2001, 14:25:53):
~#! rn=Varlarion rt=1004950580 rg=entwicklung
~#! tid=1004946375
Stellen wir uns einfach vor, die Spielerwaechter waeren unantastbare Mauern,
d.h. die Kaempfer haetten die Schotten dicht gemacht. Haette sich
wahrscheinlich keiner ueber diese Loesung mokiert, sondern sie als
zusaetzliche Herausforderung  akzeptiert. Jetzt steht da eben jemand, und da
scheint es zu kitzeln, denn den "koennte" man ja wegputzen, hmmm, dann ist
allerdings da der PK, den muessen wir jetzt nur noch sanktionieren, hmmm ...
Abgelehnt, stellt Euch ne Mauer vor anstatt Spieler <name>.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^9: Gildenkriege (Deepblue,  5. Nov 2001, 14:29:14):
~#! rn=Ark rt=1004966753 rg=entwicklung
~#! tid=1004946375
Noch mal: Ich hab hier von keinem eine Beschwerde gelesen, dass sein GildenNPC
getoetet wurde und dass er gern den Taeter PKen wuerde. Die Forderungen kamen
nur von "unbeteiligten" Dritten. Und offensichtlich nicht, weil ihnen daran
wirklich was dran liegt...

-----------------------------------------------------------------------------



Re^10: Gildenkriege (Grimmborn,  5. Nov 2001, 14:30:33):
~#! rn=Deepblue rt=1004966954 rg=entwicklung
~#! tid=1004946375
Aeh, nur weil Orktoeter selber kein Kaempfer ist heisst das nicht dass er
nicht Zweities in dieser Gilde hat.

GdA

-----------------------------------------------------------------------------



Re^11: Gildenkriege (Deepblue,  5. Nov 2001, 14:31:23):
~#! rn=Grimmborn rt=1004967033 rg=entwicklung
~#! tid=1004946375
Orktoeter? Von dem hab ich hier noch nix gelesen.

-----------------------------------------------------------------------------



Re^12: Gildenkriege (Elberet,  5. Nov 2001, 14:32:27):
~#! rn=Deepblue rt=1004967083 rg=entwicklung
~#! tid=1004946375
ausserdem: was ist an einem: wenns Dir hier nicht gefaellt dann geh woanders
hin! scheisse? ich find das nciht, weder jetzt noch vor 20 Jahren

-----------------------------------------------------------------------------



Re^13: Gildenkriege (Grimmborn,  5. Nov 2001, 14:33:12):
~#! rn=Elberet rt=1004967147 rg=entwicklung
~#! tid=1004946375
Tja, wenns Dir nicht gefaellt dass hier Leute ihre Gilde verteidigen koennen
wollen, dann geh doch woanders hin.

GdA

-----------------------------------------------------------------------------



Re^14: Gildenkriege (Elberet,  5. Nov 2001, 14:35:10):
~#! rn=Grimmborn rt=1004967192 rg=entwicklung
~#! tid=1004946375
wieso, noch ists hier nicht so, und ich seh auch nciht, dass das kommt
nur weil 2 bescheuerte das wollen wird das hier nicht gemacht, sag ich mal

-----------------------------------------------------------------------------



Re^15: Gildenkriege (Grimmborn,  5. Nov 2001, 14:36:56):
~#! rn=Elberet rt=1004967310 rg=entwicklung
~#! tid=1004946375
Das entscheidest nicht Du. Und wenns doch so kommt kannst Du gerne woanders
hin gehen. Und wenn Dir die Diskussion nicht passt auch, uebrigens.

GdA

-----------------------------------------------------------------------------



Re^16: Gildenkriege (Elberet,  5. Nov 2001, 14:37:54):
~#! rn=Grimmborn rt=1004967416 rg=entwicklung
~#! tid=1004946375
aber DU entscheidest das ebensowenig wuerd ich mal sagen, und ja, wenns kommt
mach ich lieber was anderes, aber ich lass mich nicht von DIR hier vertreiben

-----------------------------------------------------------------------------



Re^17: Gildenkriege (Grimmborn,  5. Nov 2001, 14:40:12):
~#! rn=Elberet rt=1004967474 rg=entwicklung
~#! tid=1004946375
Wer redet denn von vertreiben? Wenn ich was mache was Dir nicht passt, oder
Dir die Diskussion ueber Moeglichkeiten nicht passt, oder Du hier sonst was
nicht so doll findest, gehst Du halt von alleine. Oder habe ich Dich falsch
verstanden? 
Und, Deiner eigenen Argumentation nach, solltest Du gehen _ohne_ hier
mitzudiskutieren. Denn Du bist doch der Meinung dass Leute, die solche
Moeglichkeiten eroertern, lieber gehen als diskutieren sollten, oder?

GdA

-----------------------------------------------------------------------------



Re^18: Gildenkriege (Bielefeld,  5. Nov 2001, 14:52:42):
~#! rn=Grimmborn rt=1004967612 rg=entwicklung
~#! tid=1004946375
Nimm diesen Thread ueberhaupt jemand ernst?

-Bielefeld (Bier und Chips werfend)

-----------------------------------------------------------------------------



Re^19: Gildenkriege (Grimmborn,  5. Nov 2001, 15:07:35):
~#! rn=Bielefeld rt=1004968362 rg=entwicklung
~#! tid=1004946375
Tststs, der Geniesser von Welt bevorzugt Popcorn und Cola.

GdA

-----------------------------------------------------------------------------



Re^17: Gildenkriege (Patryn,  5. Nov 2001, 15:46:00):
~#! rn=Elberet rt=1004967474 rg=entwicklung
~#! tid=1004946375
um euch die entscheidung abzunehmen: ihr habt alle beide nix zu melden *g*

-- 
patryn, auch ohne meldebescheinigung

-----------------------------------------------------------------------------



entwicklung (Rainyday,  5. Nov 2001, 15:54:03):
~#! rn=Patryn rt=1004971560 rg=entwicklung
~#! tid=1004946375
Ich finde es ja auch sehr schade, dass sehr viel Spieler sich nicht mit ihrer
Gilde identifizieren koennen, meines erachtens ist das ja der Sinn und Zweck
eines Rollenspiels. Ich kann mir aber auch auf keinen Fall vorstellen, dass
das durch PKs irgendwie besser werden soll.
Rainy* *mehr als zufrieden mit seiner Gilde und immer zu ihr stehend*

-----------------------------------------------------------------------------



entwicklung (Rainyday,  5. Nov 2001, 15:57:02):
~#! rn=Rainyday rt=1004972043 rg=entwicklung
~#! tid=1004946375
Nur so aus Interesse, koennte ich dann mit einem Zweitie den Erstie in seiner
Gilde wegkloppen?
Rainy*, diesmal grinsend

-----------------------------------------------------------------------------



Re: entwicklung (Patryn,  5. Nov 2001, 15:58:06):
~#! rn=Rainyday rt=1004972043 rg=entwicklung
~#! tid=1004946375
wieso sollen die leute nicht zu ihrer gilde stehen?
weil sie angreifer nich umlatten koennen? na ja, das sind schon 2 paar
voellig verschiedene schuhe, finde ich.
ich persoenlich bin uebrigens fuer diesen spass, aber das thema hatten wir
auch schon mehrmals und es wird sich dahingehend wohl nix tun, was ich
auch ohne weiteres verstehen und unterschreiben kann.
man kann nicht jeden spass haben *g*

-- 
patryn

-----------------------------------------------------------------------------



Re^18: Gildenkriege (Boing,  5. Nov 2001, 16:13:08):
~#! rn=Patryn rt=1004971560 rg=entwicklung
~#! tid=1004946375
Bin ich froh, dass ich auch nix mehr zu melden hab, sonst muesste ich 
diese Schnaps-Idee auch einfach abbuegeln. :)
  Boing

-----------------------------------------------------------------------------



Re^11: Gildenkriege (Liara,  5. Nov 2001, 18:12:27):
~#! rn=Grimmborn rt=1004967033 rg=entwicklung
~#! tid=1004946375
Nur, weil jemand Zweities irgendwo hat, heisst es noch lange nicht, dass er
oder sie von irgendwas Ahnung haette ... ;-)

ZZL, sehr diplomatisch

-----------------------------------------------------------------------------



Re^12: Gildenkriege (Silvana,  5. Nov 2001, 19:14:59):
~#! rn=Liara rt=1004980347 rg=entwicklung
~#! tid=1004946375
Hmmm... ich koennte das ganze jetzt mit nem Statement plattbuegeln, auf das
Boing eigentlich das Copyright hat... ;-)

Aber da die ganze Diskussion bisher ausgesprochen unterhaltsam war, werf ich
doch mal nen Scheit ins Feuer, der eigentlich von Anatol kam, aber offenbar
nicht wirklich Feuer gefangen hat:

Die Idee als solche mag rollenspielerisch interessant sein. In der Umsetzung
hingegen stehen da Huerden, die Ihr Euch vermutlich nicht einmal ansatzweise
vorstellen koennt (ich auch nicht...):
Abgesehen von dem Problem der Erkennung, was denn nun ein Notwehrfall ist (was
unfeinerweise in einer sehr oft aufgerufenen Funktion geschehen muesste)
besteht hier ein gewaltiges Balance-Problem. Nicht, weil die Gilden
unterschiedlich stark waeren, sondern weil ein Kampf zwischen starken Spielern
extrem schnell vorbei sind.
Sowohl Zauberer als auch Kaempfer hoeherer Grade (und vermutlich auch Spieler
anderer Gilden) sind ohne weiteres in der Lage einen nur maessig vorbereiteten
_beliebigen_ anderen Spieler in einer einzigen Kampfrunde zu Lars zu schicken,
ohne dass der ueberhaupt die Chance einer Reaktion hat.
Das mag zwar realistisch sein (wenn ich jemandem nen Knueppel ueber den
Schaedel zieh und der das nicht kommen sieht, steht der halt nicht so schnell
wieder auf), aber es ist extrem langweilig. Wenn das also Spass machen soll,
muesste so ein Spielerkampf normalerweise mindestens 10 Runden dauern. Sonst
ist alles nur eine Frage des "wer haut zuerst zu".

Nun kann man natuerlich den Spielern:
 - Mehr LP geben.
 - Den angerichteten Schaden zehnteln (my favourite)
 - Die Wirkung der Ruestung hochschrauben.
...oder jede beliebige Kombination daraus... Und anschliessend schreibt man
alle NPCs um, um sie auf die veraenderte Balance-Situation anzupassen. Wundert
es Euch, wenn zumindest ich dazu nicht bereit bin...?

Dann also doch lieber mit der Mentalitaet gewisser HO-Verkaeufer: PK? Ham wer
nuescht, kriejen mer auch nich meh' rinn.

  Silvana

-----------------------------------------------------------------------------



Re^13: Gildenkriege (Karis,  6. Nov 2001, 00:32:42):
~#! rn=Silvana rt=1004984099 rg=entwicklung
~#! tid=1004946375
Ich muss feststellen, dass so 2-3 Leute diese Diskussion tatsaechlich
noch ernst nehmen.
Karis, nur mal ganz am Rande.

-----------------------------------------------------------------------------



Re^14: Gildenkriege (Grimmborn,  6. Nov 2001, 00:34:34):
~#! rn=Karis rt=1005003162 rg=entwicklung
~#! tid=1004946375
Ohne Dich schocken zu wollen: Es gibt sogar Leute die das MG ernst nehmen.
Auf mich trifft das uebrigens nicht zu, ich nehme ja nichtmal das rl so
richtig ernst...

GdA

-----------------------------------------------------------------------------



Re^14: Gildenkriege (Nizzl,  6. Nov 2001, 00:34:50):
~#! rn=Karis rt=1005003162 rg=entwicklung
~#! tid=1004946375
es gibt leute die sich auf geistig hohem niveau aeussern koennen, um ihre
meinung und ansichten der allgemeinheit darbringen zu koennen, und es gibt
leute die immer nur dumm dazwischenmuhen.
nizzl, nur mal ganz am rande

-----------------------------------------------------------------------------



Re^15: Gildenkriege (Hisasul,  6. Nov 2001, 00:35:52):
~#! rn=Nizzl rt=1005003290 rg=entwicklung
~#! tid=1004946375
Nix gegen 'muhen' :)


HisAsul beteiligt sich nicht.

-----------------------------------------------------------------------------



Re^15: Gildenkriege (Piga,  6. Nov 2001, 09:45:28):
~#! rn=Grimmborn rt=1005003274 rg=entwicklung
~#! tid=1004946375
Ja, du nimmst nur dich selbst so richtig ernst ;))

Piga hat zumindest diesen Eindruck

-----------------------------------------------------------------------------



Re^16: Gildenkriege (Grimmborn,  6. Nov 2001, 10:02:45):
~#! rn=Piga rt=1005036328 rg=entwicklung
~#! tid=1004946375
Dein Eindruck truegt.

GdA

-----------------------------------------------------------------------------



Re^15: Gildenkriege (Karis,  6. Nov 2001, 10:14:18):
~#! rn=Nizzl rt=1005003290 rg=entwicklung
~#! tid=1004946375
Ohja, Nizzl, diese Leute gibt es :) Ich find das immer wieder klasse,
wie diese Leute ihre hochtrabenden und aeusserst intelligenten Ansichten
und Meinungen zu leider nicht ganz so hochtrabenden Themen aeussern.
Rummuhen passt da besser dazu. Aber das ist meine ganz persoenliche,
tiefgaloppierende und Deiner Meinung nach sicher voellig unintelligente
Ansicht.
Karis, von GdA doch ein wenig schockiert ;)

-----------------------------------------------------------------------------



Re^16: Gildenkriege (Wurzel,  7. Nov 2001, 21:03:17):
~#! rn=Karis rt=1005038058 rg=entwicklung
~#! tid=1004946375
auch mal was dazublubbern (nein, das muhen ueberlass ich dem hornvieh):
ihr redet hier immer von rollenspiel. und natuerlich hat jeder seine eigene
klare meinung dazu, was das sein soll, die typischerweise nichts mit der
meinung eines beliebigen anderen schreiberlings zu tun hat. das ist also als
argumentationskruecke beliebig unbrauchbar, trotzdem will ich das hier mal
aufgreifen. nach meinem verstaendnis heisst rollenspiel, dass man in eine
andere rolle schluepft und versucht, diese unter gegebenen und manchmal auch
durchaus widrigen umstaenden auszufuellen. nicht mehr und nicht weniger. im
engeren sinn wird das oft mit fantasy in verbindung gebracht, so auch hier im
morgengrauen, obwohl die beiden dinge nicht unmittelbar etwas miteinander zu
tun haben. anyway, das problem liegt hier wohl vor allem daran, welche rolle
man sich aussucht und welche vorstellung man davon hat (was sowohl im spiel
als auch in der realitaet, wo man auch diverse rollen zu fuellen hat, oftmals
zwei stark voneinander abweichende dinge sind). das besonders einfache an
einem mud ist, dass die rolle klar umrissen ist durch die
programmiertechnische
umsetzung. das rollenverstaendnis dagegen ist dadurch erschwert, dass eine
wesentlich praegende eigenschaft, naemlich der soziale kontakt, hier auf
blosse buchstabenkonversation beschraenkt ist. mit anderen worten: rolle und
rollenverstaendnis klaffen hier sehr weit auseinander, und es gibt quasi von
wenigen ausnahmen abgesehen kein gemeinsames verstaendnis einer rolle. und
genau deswegen redet ihr staendig aneinander vorbei, oft genug ohne es zu
merken. aber macht ruhig weiter, uns zuschauer amuesiert es...

wurzel

-----------------------------------------------------------------------------



Re^17: Gildenkriege (Patryn,  7. Nov 2001, 21:08:37):
~#! rn=Wurzel rt=1005163397 rg=entwicklung
~#! tid=1004946375
also mich amuesiert es mehr, wenn manche leute sich auf eine imaginaere
teppichkante begeben um von dort moeglichst hoerbar fuer alle opfer auf
sie herabzuurteilen.
so ueberzeugend war deine zusammenstellung nun auch wieder nicht...

-- 
patryn

-----------------------------------------------------------------------------



Re^18: Gildenkriege (Ark,  7. Nov 2001, 21:35:43):
~#! rn=Patryn rt=1005163717 rg=entwicklung
~#! tid=1004946375
Was Wurzel damit ausdruecken wollte war wohl: das Mud als Medium fuer ein
Rollenspiel ist sehr eingeschraenkt. Unsere programmiertechnischen Grenzen
zwaengen jedem ein enges Korsett auf. Am Ende hat die Tatsache, ob einer
seinen Charakter "gut" spielt, wohl kaum mit einer schoen, toll oder schlecht
programmierten Gilde zu tun, sondern lediglich damit, wie er sich hier sozial
verhaelt, besser: "verstellt". Man kann einen Zauberer z.B. als stupiden
Metzler oder kampfscheuen Gelehrten spielen. Die verschiedenen Gilden sind
eigentlich nur verschieden bunte und schoene Stifte, malen muss jeder selbst,
und der eine kann es eben besser, der andere schlechter, aber keiner sollte
deshalb das Gefuehl haben, dass man ihn oder sie deshalb vom Malen abhaelt.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^19: Gildenkriege (Mandragon,  7. Nov 2001, 21:36:25):
~#! rn=Ark rt=1005165343 rg=entwicklung
~#! tid=1004946375
Wow. 

Ma* ist begeistert

-----------------------------------------------------------------------------



entwicklung (Rainyday,  8. Nov 2001, 20:37:53):
~#! rn=Ark rt=1005165343 rg=entwicklung
~#! tid=1004946375
Ich mag hier auch ein wow zu der Interpretation abgeben. Allerdings denke ich,
das jeder von uns hier auch das eine oder andere Fantasy-Buch gelesen hast,
und da ist der Zauberer selten der stupide Metzler. Die Umsetzbarkeit solcher
ideologien im MG kann ich nicht abschaetzen. Aber die Definition eines
Zauberers nehme ich nicht aus dem MG. Ich frage da dann ganz einfach mal
provozierend, warum geht einer in die Zauberer-Gilde, wenn er 'ein stupider
Metzler' sein will. Keine Ahnung, wo die auch immer hingehoeren, aber bei den
Zauberern wuerd ich die am wenigsten erwarten. Ich finde schon, dass man eine
gewisse Vorstellung von einer Gilde haben kann. Spielen kann man ihn
natuerlich auf verschieden Art und Weisen. Eine Vorstellung, wie der zu
spielen ist, habe ich viel weniger...
Ich mag hier auch ein wow zu der Interpretation abgeben. Allerdings denke ich,
das jeder von uns hier auch das eine oder andere Fantasy-Buch gelesen hast,
und da ist der Zauberer selten der stupide Metzler. Die Umsetzbarkeit solcher
Ideologien im MG kann ich nicht abschaetzen. Aber die Definition eines
Zauberers nehme ich nicht aus dem MG. Ich frage da dann ganz einfach mal
provozierend, warum wird jemand Zauberer, wenn er 'ein stupider Metzler' sein
will? Keine Ahnung, wo die auch immer hingehoeren, aber bei den Zauberern
wuerd ich die am wenigsten erwarten. Ich finde schon, dass man eine gewisse
Vorstellung von einer Gilde haben kann. Spielen kann man ihn natuerlich auf
verschieden Art und Weisen. Aber Vorstellungen, wie der zu spielen ist, habe
ich viel weniger...
Rainy*

-----------------------------------------------------------------------------



entwicklung (Rainyday,  8. Nov 2001, 20:40:09):
~#! rn=Rainyday rt=1005248273 rg=entwicklung
~#! tid=1004946375
und warum der text doppelt erscheint, da habe ich gar keine ahnung...
Sorry !!!
Rainy

-----------------------------------------------------------------------------



Re: entwicklung (Vardion,  8. Nov 2001, 21:13:01):
~#! rn=Rainyday rt=1005248273 rg=entwicklung
~#! tid=1004946375
In vielen Fantasy-Geschichten  sind Zauberer derart  maechtig, dass sie  ganze
Armeen mit einem einzigen Fingerschnipp 'entsorgen'. D.H. sie muessen sich mit
sowas profanem wie Kampf  ueberhaupt nicht befassen. Aber das  wuerde wohl die
Balance hier  doch etwas  beeintraechtigen. Also  muessen wir  hier halt  auch
etwas handfester metzeln, um diverse Unholde platt zu bekommen...

Vardion, haette natuerlich prinzipiell nix dagegen, wenn Flaechenfeuerball um
den Faktor 500 aufgewertet wird

-----------------------------------------------------------------------------



Re: Re: entwicklung (Nicolai,  8. Nov 2001, 21:14:39):
~#! rn=Vardion rt=1005250381 rg=entwicklung
~#! tid=1004946375
und zauberer sind meist einzelgaenger. im machtbereich des einen
kann ein anderer ...wenig maechtigerer zauberer, nichts machen.
ueberleg dir solche forderungen lieber:)

-----------------------------------------------------------------------------



Re: entwicklung (Ark,  8. Nov 2001, 22:25:51):
~#! rn=Rainyday rt=1005248273 rg=entwicklung
~#! tid=1004946375
Ich bin von AD&D gepraegt, geb ich offen zu. Daher faellt natuerlich sofort
die nur schwer umzusetzende Faehigkeit der "Freundschaft", "Tiere bezaubern",
"Hellsehen", etc. auf. Primaer sind auch die Zauberer auf das Kaempfen
ausgelegt. Natuerlich, denn so werden sie auch unter den meisten hier
diskutiert. Fuer das Rollenspiel bleibt eben nur das Verhalten, das nichts mit
der Gilde zu tun hat. Ideologien werden hier im MG nicht umgesetzt. Das sind
immer noch Bits und Bytes. Die Menschen dahinter sind fuer ihre Charakter
verantwortlich, nicht das, was ihnen ein paar Programmierer an Unterhaltung
bieten.
Stupide Metzler ... ich wollte damit niemanden beleidigen, deshalb beziehe ich
nur ein paar Scripte ein, die mehr oder weniger aufmerksam das Geschehen am
Bildschirm beobachten, waehrend sie durch die Gegend ziehen (lassen). Aber
darueber muss man sich nicht aufregen, jedem das seine.
Und nochwas zum MorgenGrauen: ein reines Fantasymud isses ja nun nicht, aber
ich denke (mittlerweile), dass das ok ist. Reizvoll ist es schon, "moderne"
Phaenomene mit eine bisschen Fantasie anzureichern (->Ork Hoovercraft).


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: Re: entwicklung (Ark,  8. Nov 2001, 22:28:21):
~#! rn=Vardion rt=1005250381 rg=entwicklung
~#! tid=1004946375
Hm, kommt ganz auf die Welt an. Es gibt auch Hintergruende, in denen die Welt
arm an Magie ist, mein Favorit ist "A Song of Ice and Fire" von George R.
Martin. Hab ich schon erwaehnt, dass man das gelesen haben muss? :-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^3: entwicklung (Anatol,  8. Nov 2001, 22:29:03):
~#! rn=Ark rt=1005254901 rg=entwicklung
~#! tid=1004946375
Nein, hast Du nicht. Aber haettest Du es getan, haettest Du wohl recht.

Anatol

-----------------------------------------------------------------------------



Re^4: entwicklung (Hobo,  9. Nov 2001, 10:20:14):
~#! rn=Anatol rt=1005254943 rg=entwicklung
~#! tid=1004946375
Wobei G.R.R. Martin das typische Problem hat: Er schreibt zu langsam ;)

    Hobo - wartet auf Daenerys

-----------------------------------------------------------------------------



Re^13: Gildenkriege (Yendi, 14. Nov 2001, 17:12:54):
~#! rn=Anatol rt=1004955028 rg=entwicklung
~#! tid=1004946375
Um den thread nochmal aufzurollen:
Als ich die ersten paar Male mitgekriegt habe, dass da gerade irgendein
ungewaschener Zwerg auf unserem Elfenwaechter rumpruegelte, da juckte es mich
doch in den Fingern, diesem dahergelaufenen Tunichtgut zu zeigen, was ein
Schwert ist...
Stell Dir mal vor, Du unterhaeltst Dich ein wenig mit Deinem Kumpel, um seinen
Wachdienst aufzulockern, und ploetzlich wird er angegriffen -- und Du stehst
daneben und sagst "Du, das find ich jetzt aber echt heavy, irgendwie, Du..."

Aber hier ist ja kein Rollenspiel.
Sollte ich mich eigentlich langsam dran gewoehnt haben.
Naja.

Yendi
      dackelt wieder zurueck zu Stadler in die Loge

-----------------------------------------------------------------------------



Re^14: Gildenkriege (Deepblue, 14. Nov 2001, 17:14:48):
~#! rn=Yendi rt=1005754374 rg=entwicklung
~#! tid=1004946375
Die Rollen sind nur anders verteilt. Hier heisst es nicht zwerge gegen elfen,
oder Kaempfer gegen Zauderer, sondern NPCs gegen Spieler...

-----------------------------------------------------------------------------



Re^15: Gildenkriege (Grimmborn, 14. Nov 2001, 17:19:05):
~#! rn=Deepblue rt=1005754488 rg=entwicklung
~#! tid=1004946375
Nicht zu vergessen: Magier gegen Spieler, Spieler gegen Seher und Erzmagier
gegen den ganzen Rest...

GdA

-----------------------------------------------------------------------------



Re^7: Gildenkriege (Elcid, 25. Nov 2001, 23:37:15):
~#! rn=Elberet rt=1004966196 rg=entwicklung
~#! tid=1004946375
Wahrlich Elberet, du sprichst mir aus der Seele.
Elcid, auch was dazu beitragend.

-----------------------------------------------------------------------------



Aenderungen (Tiamak, 29. Jan 2002, 03:09:26):
Mahlzeit!

Mal eine kleine Zusammenfassung, was es heute an fuer Spieler sichtbaren
Veraenderungen gegeben hat:

- die Ignoriere-Liste wird alphabetisch sortiert ausgegeben
- in der tmhist landen keine NPC-Namen mehr
- eigene Postpakete haben im "inv" spaltenfreundlichere Namen
- es gibt einen neuen Befehl "detail" bzw "md" fuer missing details.

Die Postpaket-Aenderungen sind bei neuen Paketen scharf, der Rest wie immer
nach Crash/Reboot/Ende.


Tiamak

-----------------------------------------------------------------------------



Re: Aenderungen (Tiamak, 30. Jan 2002, 00:01:34):
~#! rn=Tiamak rt=1012270166 rg=entwicklung
~#! tid=1012270166
Die heutigen Gewinnzahlen lauten:

1) verfluchte Ruestungen blockieren nicht mehr bei ziehe alles an/aus
2) auch Spieler mit Folge-NPCs verlassen nach "schlafe ein" ihr Team
3) rufen laesst sich richtig ignorieren ("rufeeee test" geht nicht mehr)
4) man bezahlt nicht mehr zwangsweise mit Boerse/Karte, wenn man auch Muenzen 
   im Inv hat.


Punkt 1) wird aktiv mit neu erzeugten Ruestungen, 4) sofort und 2)+3) nach
Ende/Crash/Reboot - wie gehabt.


Tiamak

-----------------------------------------------------------------------------



Re: Re: Aenderungen (Rikus, 30. Jan 2002, 09:06:12):
~#! rn=Tiamak rt=1012345294 rg=entwicklung
~#! tid=1012270166
Weiterhin: Der 1997 dokumentierte Befehl HOLE ist nun sogar implemen-
tiert :) Wie immer nach Ende/Crash/Reboot...

Rikus

-----------------------------------------------------------------------------



Re^3: Aenderungen (Woody, 30. Jan 2002, 15:26:47):
~#! rn=Rikus rt=1012377972 rg=entwicklung
~#! tid=1012270166
Sicher dass man das will? ;-)

> hole
<hole tier> waere korrekt!

:)
Woody.-


-----------------------------------------------------------------------------



Einlogmeldung Freunde/Erwartete (Deepblue,  5. Feb 2002, 08:34:03):
Wie waers, wenn in der meldung idelnde Leute besonders gekennzeichnet werden,
entweder durch nen (i) hinter dem Namen oder durch ansi-Farben?

-----------------------------------------------------------------------------



Re: Einlogmeldung Freunde/Erwartete (Rumata,  5. Feb 2002, 10:54:05):
~#! rn=Deepblue rt=1012894443 rg=entwicklung
~#! tid=1012894443
Sollte man nicht eher die NICHT idelnden hervorheben?
Rum**

-----------------------------------------------------------------------------



Re: Einlogmeldung Freunde/Erwartete (Gor,  5. Feb 2002, 12:33:45):
~#! rn=Deepblue rt=1012894443 rg=entwicklung
~#! tid=1012894443
Sei doch nicht so phantasielos. Mach nen Logintriggger, der sofort fwer idle
eingibt. Warum denn immer das Rad zweimal erfinden?

Gor kopfschuettelnd.

-----------------------------------------------------------------------------



Re: Re: Einlogmeldung Freunde/Erwartete (Cuchullin,  5. Feb 2002, 14:28:59):
~#! rn=Gor rt=1012908825 rg=entwicklung
~#! tid=1012894443
Dazu braucht es nichtmal einen Einlogtrigger.


-----------------------------------------------------------------------------



Re: Re: Einlogmeldung Freunde/Erwartete (Mupfel,  5. Feb 2002, 19:35:32):
~#! rn=Rumata rt=1012902845 rg=entwicklung
~#! tid=1012894443
Vielleicht bei Spielern die idlenden, und bei Magier die nicht idlenden. Halt
"kontextsensitiv" ;)

-mupfel-

-----------------------------------------------------------------------------



erwarte (Silvana, 11. Feb 2002, 12:00:23):
Auf vielfachen Wunsch eines Einzelnen wurde der Befehl "erwarte" in seiner
Funktionalitaet geringfuegig erweitert. Die Hilfeseite erlaeutert naeheres.
Aktiv ist das ganze fuer Magier sofort, fuer Spieler ab dem naechsten Reboot.

  Silvana

-----------------------------------------------------------------------------



reise (Tilly, 11. Feb 2002, 23:59:27):
Moin moin,

morgen wird es so gegen die Mittagszeit (kann auch frueher
Nachmittag werden), damit Ihr Euch in der Mensa (oder wo
auch immer) so richtig schoen aergern koennt, einen Reboot
geben.

Nun wird sich der ein oder andere bestimmt fragen: Wieso?

Die Antwort ist einfach und ich geb sie Euch auch:

Es wird eine groessere Umstellung im 'reise'-Befehl geben,
die mit einer Ueberarbeitung des Transportsystems einher
geht. Da dies Aenderungen an wirklich vielen Orten im ganzen
MorgenGrauen vorraussetzt, und diese moeglichst zeitgleich
vonstatten gehen sollten, wird es den Reboot geben.

Bitte schaut Euch 'hilfe reise' an, um etwas mehr ueber die
neuen Moeglichkeiten zu erfahren.

In Vorbereitung dieser Aenderungen wird der momentane 'reise'-
Befehl in den 1-2 Stunden vor dem Reboot nicht funktionieren.

Stellt Euch da bitte drauf ein.

 - Tilly -

-----------------------------------------------------------------------------



Re: reise (Gnome, 12. Feb 2002, 00:07:43):
~#! rn=Tilly rt=1013468367 rg=entwicklung
~#! tid=1013468367
das hat bestimmt noch zeit bis zum naechsten crash, oder?

-----------------------------------------------------------------------------



Re: Re: reise (Tilly, 12. Feb 2002, 00:08:25):
~#! rn=Gnome rt=1013468863 rg=entwicklung
~#! tid=1013468367
jau, der morgen mittach... ich kanns so aussehen lassen :)

-----------------------------------------------------------------------------



Re^3: reise (Gnome, 12. Feb 2002, 00:09:32):
~#! rn=Tilly rt=1013468905 rg=entwicklung
~#! tid=1013468367
der reise-befehl ist wirklich nicht so wichtig, als dass das so schnell
noetig waere, glaub mir...

-----------------------------------------------------------------------------



Re^5: reise (Catweazle, 12. Feb 2002, 08:59:58):
~#! rn=Ichbintoll rt=1013500678 rg=entwicklung
~#! tid=1013468367
Ach das wollt ich immer schon mal machen. 
Zwei Minuten alte Spieler mit zickigen Namen haben denke ich den selben Status
wie Gaeste. 
Weg damit.

YTC

-----------------------------------------------------------------------------



Re^4: reise (Boing, 12. Feb 2002, 10:47:15):
~#! rn=Gnome rt=1013468972 rg=entwicklung
~#! tid=1013468367
Die Meinungen ueber die Wichtigkeit von Aenderungen gehen offensichtlich
auseinander. Ich persoenlich hab zum Beispiel ziemlich oft Anfragen 
bekommen, wieso der reise-Befehl auf Titiwu nicht funkioniert. Ich freue
mich wirklich, dass Tilly sich die Arbeit gemacht hat, das Reisen mal
richtig zu ueberarbeiten. Und auch Titiwu wird damit 'bereisbar' werden.
  Boing

-----------------------------------------------------------------------------



Re^5: reise (Silvana, 12. Feb 2002, 10:53:09):
~#! rn=Boing rt=1013507235 rg=entwicklung
~#! tid=1013468367
Im Prinzip kann der "reise"-Befehl (wie Tiamaks und meine Aenderungen auch)
noch ne Weile warten. Eines sollte aber aus Tillys ersten Artikel klar
geworden sein: Der Reboot bedarf seiner Anwesenheit kurz vor und nach dem
Reboot. Also wird sich der Termin fuer den Reboot nach dem Terminkalender von
Tilly richten muessen.

  Silvana

-----------------------------------------------------------------------------



Re^6: reise (Vardion, 12. Feb 2002, 10:57:13):
~#! rn=Silvana rt=1013507589 rg=entwicklung
~#! tid=1013468367
Wurde das Reisen damit eigentlich auch gleich team-autofolge faehig gemacht?

Vardion

-----------------------------------------------------------------------------



Re^7: reise (Mupfel, 12. Feb 2002, 18:05:54):
~#! rn=Vardion rt=1013507833 rg=entwicklung
~#! tid=1013468367
Du meinst, als einer der letzten Schritte zum "Team-Autofolge-Seher 1. Klasse"
? ;)

-mupfel-

-----------------------------------------------------------------------------



Re^3: reise (Baboon, 13. Feb 2002, 00:04:51):
~#! rn=Tilly rt=1013468905 rg=entwicklung
~#! tid=1013468367
He! Sauerei!
Die "reise"-doku ist die einzige
Seite in der Hilfe, wo mein Name drunterstand.
Wie kommt ihr dazu das einfach zu aendern?

Grummel, Baboon.

-----------------------------------------------------------------------------



Re^4: reise (Patryn, 13. Feb 2002, 00:24:28):
~#! rn=Baboon rt=1013555091 rg=entwicklung
~#! tid=1013468367
das ist nun mal der gang der doku-namen :)
was glaubst du in wievielen komplett neu geschriebenen doku-seiten mein
name darunter verschwunden ist weil irgendwo 2 zeilen dazugefuegt wurden?
insgesamt gesehen ist der name darunter vieleicht eh nicht so richtig
sinnvoll.

-- 
patryn

-----------------------------------------------------------------------------



Re^5: reise (Cuchullin, 13. Feb 2002, 03:01:13):
~#! rn=Patryn rt=1013556268 rg=entwicklung
~#! tid=1013468367
Vielleicht waere es da nicht schlecht, neben der Zweckdienlichkeit 
(last modified) die Meriten (file created, revised from scratch) ebenfalls
aufzufuehren. Es ist nicht unbedingt die schoenste Arbeit, Doku zu 
schreiben. Ehre, wem Ehre gebuehrt... ;)


-----------------------------------------------------------------------------



Re^6: reise (Grimmborn, 13. Feb 2002, 03:05:43):
~#! rn=Cuchullin rt=1013565673 rg=entwicklung
~#! tid=1013468367
Genau. Und dann bitte auch eine Topliste fuer Dokumentationsschreiber. Sollst
mal sehen, in nullkommanichts sind wir das am besten dokumentierte mud...

GdA

-----------------------------------------------------------------------------



Re^7: reise (Baboon, 16. Feb 2002, 15:53:18):
~#! rn=Grimmborn rt=1013565943 rg=entwicklung
~#! tid=1013468367
Na und? Waere das so schlimm, das
bestdokumentierte Mud zu sein?

Baboon

-----------------------------------------------------------------------------



Re^8: reise (Gloinson, 16. Feb 2002, 15:56:09):
~#! rn=Baboon rt=1013871198 rg=entwicklung
~#! tid=1013468367
Haett ich nichts dagegen. Aber aus Meriten bzw. Dokuschreibertopliste
folgt noch keine bestmoegliche Dokumentierung.

Gloin(son)

-----------------------------------------------------------------------------



Re^9: reise (Wargon, 19. Feb 2002, 21:53:51):
~#! rn=Gloinson rt=1013871369 rg=entwicklung
~#! tid=1013468367
...vor allem wenn es dann auf ein
 LETZTE AENDERUNG: Wargon, 01.04.2002
            GRUND: mich ins ChangeLog gesetzt
herauslaeuft. Aber wenns Doku-Punkte gibt... :)

-----------------------------------------------------------------------------



Re^10: reise (Montanus, 19. Feb 2002, 23:25:27):
~#! rn=Wargon rt=1014152031 rg=entwicklung
~#! tid=1013468367
Koennt ihr bitte mal aufhoeren, Megaschmarrn-Artikel in andere Rubriken zu
schreiben? :-)

-----------------------------------------------------------------------------



Sven Bomwollen (Karis, 27. Feb 2002, 10:47:38):
Wer proggt den endlich? :)))

Karis, ist bereits Fan.

-----------------------------------------------------------------------------



Erwarte (Tylak, 19. Mar 2002, 22:38:09):

Hi,

es waere praktisch das erwarte einem auch mitteilt,
wenn jemand nach laengerer Idlezeit wieder aktiv wird.

Das wuerde helfen, wenn man jemand sprechen will,
der oft tagelang idelt und sich immer nur kurz einlogt.

Tylak

-----------------------------------------------------------------------------



Re: Erwarte (Grimmborn, 19. Mar 2002, 22:40:15):
~#! rn=Tylak rt=1016573889 rg=entwicklung
~#! tid=1016573889
hilfe post

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re: Erwarte (Grumpf, 19. Mar 2002, 22:41:15):
~#! rn=Tylak rt=1016573889 rg=entwicklung
~#! tid=1016573889
Tuts da nicht auch das melde aus dem Fussring? Questbelohnung G-Insel.
Grumpf grumpft.

-----------------------------------------------------------------------------



Re: Re: Erwarte (Anacrion, 20. Mar 2002, 09:43:12):
~#! rn=Grumpf rt=1016574075 rg=entwicklung
~#! tid=1016573889
Ja. Tut es.

-----------------------------------------------------------------------------



kwer (Rikus,  8. Apr 2002, 14:23:56):
... hat nun auch den Parameter "idlezeit <min>", welcher alle Spieler
ab "min" Minuten Idlezeit ausgibt.

Rikus

-----------------------------------------------------------------------------



Re: kwer (Mesirii,  8. Apr 2002, 14:24:56):
~#! rn=Rikus rt=1018268636 rg=entwicklung
~#! tid=1018268636
Danke Rikus fuer die schnelle Umsetzung :)
Mesi

-----------------------------------------------------------------------------



Verzoegerter Reset nach Monstertod (Zwirion, 23. Apr 2002, 11:34:23):
Es kommt oefters mal vor, dass ein NPC resettet waehrend die Leiche noch 
nicht mal verfault ist. Das ist je nach Einzelfall irgendwas zwischen  
unschoen und extrem aergerlich.
Das Verhalten waere relativ einfach so aenderbar, dass ein Reset des
Raumes zB. fruehestens 5 Minuten nach dem letzen Tod eines Monsters im 
Raum geschieht (set_next_reset()).
Was haltet ihr davon?
                                                              zwirion
PS: jaja, ich hoere schon die Stimmen: 'Das war schon immer so, das
    muss so sein' ;-)

-----------------------------------------------------------------------------



Re: Verzoegerter Reset nach Monstertod (Anacrion, 23. Apr 2002, 11:35:43):
~#! rn=Zwirion rt=1019554463 rg=entwicklung
~#! tid=1019554463
Hmmm. Wuerde ich fuer gut halten .... insbesondere weil der NPC dann gleich
die Ausruestung aus der Leiche aufnehmen kann, die dann nicht im Raum
rumfliegt.

anac*

-----------------------------------------------------------------------------



Re: Verzoegerter Reset nach Monstertod (Bambi, 23. Apr 2002, 17:47:03):
~#! rn=Zwirion rt=1019554463 rg=entwicklung
~#! tid=1019554463
Ich geh mal davon aus, dass Du nur vom Raum geclonte NPCs meinst, oder nicht?

-----------------------------------------------------------------------------



Re: Re: Verzoegerter Reset nach Monstertod (Anacrion, 23. Apr 2002, 17:50:37):
~#! rn=Bambi rt=1019576823 rg=entwicklung
~#! tid=1019554463
Muesste sogar 'Der letzte im Raum befindliche vom Raum geclonte NPC sein' :o)

anac*

-----------------------------------------------------------------------------



Re^3: Verzoegerter Reset nach Monstertod (Anacrion, 23. Apr 2002, 18:02:37):
~#! rn=Anacrion rt=1019577037 rg=entwicklung
~#! tid=1019554463
zur Klarstellung:

Ich meine, dass man den reset nur verzoegern sollte, wenn er innerhalb von 5
minuten, nachdem der letzte npc des raumes getoetet  wurde, eintritt ....
somit
hat man zumindest 5 minuten lang die chance, den raum mal ohne monster zu
erleben ;-)


anac*

-----------------------------------------------------------------------------



Re^4: Verzoegerter Reset nach Monstertod (Vanion, 23. Apr 2002, 20:09:36):
~#! rn=Anacrion rt=1019577757 rg=entwicklung
~#! tid=1019554463
Ich denke, man koennte dem Standard-NPC schon dazu bringen, das Raumreset beim
Sterben etwas nach hinten zu schieben. Ein Problem duerften dann aber Raeume
haben, in denen das Timing wichtig ist. In vielen Raeumen wird das Reset
bewusst beeinflusst oder abgeschaltet. Es wird sicher nicht einfach sein, all
diese Raeume zu identifizieren und in denen dann dieses Reset verschieben zu
unterbinden.

Nur ein paar technische Gedanken zu dem Thema ...

V*

-----------------------------------------------------------------------------



Re^5: Verzoegerter Reset nach Monstertod (Woody, 23. Apr 2002, 22:30:50):
~#! rn=Vanion rt=1019585376 rg=entwicklung
~#! tid=1019554463
Wenn ein Raum Monster cloned (AddItem, wohl 99% der Faelle), hat
er auch einen Reset :). Da noch gross den Reset kuenstlich neu
anzustossen oder zu verzoegern ist doch unnoetig, es wuerde reichen,
wenn das Monster in ebenjenem Reset NICHT neu gecloned wird, sondern
erst im naechsten. Ist auch am einfachsten umzusetzen, aber da muesst
ihr schon Tiamak & Co. hier fragen :)

Woody.-


-----------------------------------------------------------------------------



Re^6: Verzoegerter Reset nach Monstertod (Deepblue, 23. Apr 2002, 23:07:58):
~#! rn=Woody rt=1019593850 rg=entwicklung
~#! tid=1019554463
Alternativ: Nicht geklont, solange die Leiche noch im Raum liegt? Wer jede
Leiche auffrisst ist dann selber schuld...

-----------------------------------------------------------------------------



Re^7: Verzoegerter Reset nach Monstertod (Woody, 23. Apr 2002, 23:27:32):
~#! rn=Deepblue rt=1019596078 rg=entwicklung
~#! tid=1019554463
Meinte ich doch.


-----------------------------------------------------------------------------



Re^8: Verzoegerter Reset nach Monstertod (Zwirion, 24. Apr 2002, 11:03:22):
~#! rn=Woody rt=1019597252 rg=entwicklung
~#! tid=1019554463
Ich habe mir das konkret so vorgestellt (bzw so ist das im PK-Mud schon
realisiert):
Der NPC ruft im Tod eine Funktion im Raum auf, die ueberprueft ob der NPC
einer seiner per AddItem() geclonten Objekte ist. Ist das der Fall und waere
der naechste Reset innerhalb 5 Minuten faellig, so wird der fruehestmoegliche
Resetzeitpunkt auf 5-10 Minuten gesetzt.
Das klappt natuerlich nicht bei Laufnpc, die im falschen Raum sterben, aber
dieser Fall ist wohl auch nicht weiter wichtig.
Es ist natuerlich moeglich dass man damit irgendwelche handgestrickten Resets
aushebelt. Aber da der Reset nur gelegentlich mal geringfuegig verzoegert wird
glaube ich nicht, dass das zu vielen Problemen fuehrt (ich kann mir hochstens
einen Raum vorstellen, der ein exaktes Zeitlimit hat oder ein Gebiet, in dem
alle Raeume exakt zeitgleich resetten sollen, aber beides wuerde ich ueber
irgendwelche anderen Mechanismen proggen, da Resets eh alles andere als exakt
sind.)
                                                                zwirion

-----------------------------------------------------------------------------



Re^9: Verzoegerter Reset nach Monstertod (Woody, 24. Apr 2002, 21:15:05):
~#! rn=Zwirion rt=1019639002 rg=entwicklung
~#! tid=1019554463
Find ich unnoetig kompliziert. Wenn der NPC noch einen Reset
aussetzt, stoert das keinen :) (andererseits... wo bleiben dann
die schoenen Boing Resets??? Ok, vergesst es wieder! *g*)

Woody.-


-----------------------------------------------------------------------------



Re^10: Verzoegerter Reset nach Monstertod (Pitfall, 25. Apr 2002, 10:26:19):
~#! rn=Woody rt=1019675705 rg=entwicklung
~#! tid=1019554463
wieso sollte das keinen stoeren?
die monster resetten eh fast alle viel zu langsam :)

-----------------------------------------------------------------------------



Re^11: Verzoegerter Reset nach Monstertod (Gnome, 25. Apr 2002, 12:47:23):
~#! rn=Pitfall rt=1019723179 rg=entwicklung
~#! tid=1019554463
eben, grober unfug. vor allen dingen in der ausruest-phase nach reboot
waere das mehr als stoerend.
doppelte resetzeiten nur wegen... ja wegen was eigentlich?

zwirion, wuerdest du mal bitte erklaeren, _warum_ es entweder unschoen
oder extrem aergerlich ist? ich hatte es bisher immer im schlimmsten
fall als knapp (hallo lars), meistens aber als erfreulich (gleich zwei
paar drachenklauen innerhalb von 5 min) empfunden.
dass man mal pech bei nem boing-reset haben kann, ist der nervenkitzel
fuer zwischendurch, das gehoert einfach zum metzeln dazu.

ich persoenlich sehe also keinen grund fuer eine aenderung des std-npc.

gnOme

-----------------------------------------------------------------------------



Re^12: Verzoegerter Reset nach Monstertod (Pitfall, 25. Apr 2002, 12:48:47):
~#! rn=Gnome rt=1019731643 rg=entwicklung
~#! tid=1019554463
nars faellt tot zu boden.
nars kommt an.

-----------------------------------------------------------------------------



Re^13: Verzoegerter Reset nach Monstertod (Elberet, 25. Apr 2002, 12:50:11):
~#! rn=Pitfall rt=1019731727 rg=entwicklung
~#! tid=1019554463
wer einmal gefallen is faellt auch nochmal, und ist doch toll fuers team :)

Elbi

-----------------------------------------------------------------------------



Re^13: Verzoegerter Reset nach Monstertod (Boing, 25. Apr 2002, 12:50:17):
~#! rn=Pitfall rt=1019731727 rg=entwicklung
~#! tid=1019554463
Und wegen vielleicht zwei handvoll NPCs im MG, wo es wirklich extrem
stoerend ist, wollt ihr ALLE NPCs geaendert haben? Nicht wirklich, oder? ;)
  Boing

-----------------------------------------------------------------------------



Re^14: Verzoegerter Reset nach Monstertod (Zwirion, 25. Apr 2002, 12:58:24):
~#! rn=Boing rt=1019731817 rg=entwicklung
~#! tid=1019554463
Ich bin davon ausgegangen, dass es eine kleine Aenderung an der Mudlib ist.
Wenn es wirklich viele Gebiete gibt, wo das Verhalten nicht erwuenscht ist und
entsprechend viele Stellen angepasst werden muessten ist das Thema natuerlich
vom Tisch.
Und ich habe bei meinem Vorschlag natuerlich vor allem an die grossen Viecher
gedacht, die nicht mal eben ohne Tanken umgelegt werden. Eine Verzoegerung um
einen vollen Reset waere wohl vor allem kurz nach dem Reboot nervig, aber eine
von 5 oder 10 Minuten durchaus in Ordnung.
                                                                zwirion

-----------------------------------------------------------------------------



Re^13: Verzoegerter Reset nach Monstertod (Gnome, 25. Apr 2002, 13:07:45):
~#! rn=Pitfall rt=1019731727 rg=entwicklung
~#! tid=1019554463
das ist ein bsp fuer den nervenkitzel, der dazugehoert.
aber wenn man eldaron im team hat, passiert einem da eh nix ;-)

-----------------------------------------------------------------------------



reh (Eldaron, 25. Apr 2002, 13:43:49):
Gnome sagt, das geht so. Und ich sterb gar nicht immer an Nars!
gruss Eldaron.

-----------------------------------------------------------------------------



Re: reh (Pitfall, 25. Apr 2002, 13:50:01):
~#! rn=Eldaron rt=1019735029 rg=entwicklung
~#! tid=1019735029
nur wenn gnome mitgeht und dich in nars gesicht reibt

-----------------------------------------------------------------------------



Re^14: Verzoegerter Reset nach Monstertod (Amaryllis, 25. Apr 2002, 14:59:45):
~#! rn=Gnome rt=1019732865 rg=entwicklung
~#! tid=1019554463
Weil der dann auf jeden Fall verreckt und der Rest des Teams noch rechtzeitig
wegkommt?

Ama*

-----------------------------------------------------------------------------



Re^15: Verzoegerter Reset nach Monstertod (Woody, 25. Apr 2002, 15:09:34):
~#! rn=Zwirion rt=1019732304 rg=entwicklung
~#! tid=1019554463
Nur der Vollstaendigkeit halber: diese Verzoegerung um einen Reset tritt
ja nur in dem doch eher seltenen Fall ein, wenn man den NPC in den zwei
Minuten vor dem naechsten Raumreset killt, und auch nur dann, wenn der
NPC ueberhaupt eine Leiche hat. Also uebertreibt mal nicht mit Jammern ;)

Woody.-


-----------------------------------------------------------------------------



Re^16: Verzoegerter Reset nach Monstertod (Nonne, 25. Apr 2002, 15:45:29):
~#! rn=Woody rt=1019740174 rg=entwicklung
~#! tid=1019554463
Ach? Geht es darum, dass es unschoen ist, wenn die Leiche da noch liegt, wenn
der NPC wiederkommt? Dann kann man doch einfach die Leiche beseitigen. Ich
dachte, es geht darum, dass man den NPC muehsam gekillt hat und dann auch die
FP einsacken will und Zeit zum Forschen braucht. Dabei weiss ich allerdings
nicht, ob man in neueren Gebieten mit mehr Details auch mit 5 Minuten
auskommt.

Nonne.

-----------------------------------------------------------------------------



Re^17: Verzoegerter Reset nach Monstertod (Pilgrim, 25. Apr 2002, 15:53:57):
~#! rn=Nonne rt=1019742329 rg=entwicklung
~#! tid=1019554463
> Re^11: Verzoegerter Reset nach Monstertod (Gnome, 25. Apr 2002, 12:47:23):
> [Bezug: Artikel 14 von Pitfall vom 25. Apr 2002, 10:26:19]

...

> _warum_ es entweder unschoen
> oder extrem aergerlich ist? ich hatte es bisher immer im schlimmsten
> fall als knapp (hallo lars), meistens aber als erfreulich (gleich zwei
> paar drachenklauen innerhalb von 5 min) empfunden.
> dass man mal pech bei nem boing-reset haben kann, ist der nervenkitzel
> fuer zwischendurch, das gehoert einfach zum metzeln dazu.
Also ich fand das immer sehr 'unschoen':
XXX faellt tot zu Boden.
XXX kammot an.

Das ist doch nicht schoen ... abgesehen davon, dass es mal ganz praktisch
(schneller Nachschub) oder sehr unpassed (mann pfeift auf dem letzten Loch)
ist.
Man wird halt 'brachial' daran erinner, das es sowas wie nen 'Reste' gibt
und dass das ganze halt ein programmiertes Spiel ist.

Ich find's halt besser, dass nicht 3 Sekunden, nachdem man 'Den letzten
Mohikaner'
getoetet hat ein weiterer 'letzter Mohikaner' vor einem auftaucht ... falls
Ihr versteht, waas ich meine ;-)


Pilgrim


-----------------------------------------------------------------------------



Re^18: Verzoegerter Reset nach Monstertod (Nonne, 25. Apr 2002, 16:09:55):
~#! rn=Pilgrim rt=1019742837 rg=entwicklung
~#! tid=1019554463
Wurzel hatte mal vorgeschlagen, dass man resets abschafft. Wenn der letzte NPC
tot ist, wird rebootet. So vielleicht? Oder ganze Gebiete reseten erst
komplett, wenn der letzte Spieler das Gebiet verlassen hat und fuer ne halbe
Stunde keiner drin war. Wuerde das alles vielleicht etwas realistischer machen
*G*

Nonne.

-----------------------------------------------------------------------------



Re^19: Verzoegerter Reset nach Monstertod (Elberet, 25. Apr 2002, 16:10:25):
~#! rn=Nonne rt=1019743795 rg=entwicklung
~#! tid=1019554463
also ich finds gut so wie es ist.

Elbi

-----------------------------------------------------------------------------



Re^20: Verzoegerter Reset nach Monstertod (Pitfall, 25. Apr 2002, 16:11:28):
~#! rn=Elberet rt=1019743825 rg=entwicklung
~#! tid=1019554463
> Wenn der letzte NPC tot ist, wird rebootet.

so lang es unkillbare npcs gibt gibts keinen reboot ergo stillstand

-----------------------------------------------------------------------------



Re^21: Verzoegerter Reset nach Monstertod (Elberet, 25. Apr 2002, 16:12:12):
~#! rn=Pitfall rt=1019743888 rg=entwicklung
~#! tid=1019554463
wieso? man kann ja immer noch forschen, vor allem stoeren dann ja die
laestigen npcs nimmer :)

Elbi

-----------------------------------------------------------------------------



Re^21: Verzoegerter Reset nach Monstertod (Boing, 25. Apr 2002, 16:12:54):
~#! rn=Pitfall rt=1019743888 rg=entwicklung
~#! tid=1019554463
Sei doch nicht so unflexibel, die unkillbaren wuerden wir natuerlich
ausschliessen ... ;)
  Boing

-----------------------------------------------------------------------------



Re^22: Verzoegerter Reset nach Monstertod (Elberet, 25. Apr 2002, 16:13:20):
~#! rn=Boing rt=1019743974 rg=entwicklung
~#! tid=1019554463
die sind doch gar nciht unkillbar, die spieler schaffens nur nicht :-)

Elbi

-----------------------------------------------------------------------------



Re^23: Verzoegerter Reset nach Monstertod (Orktoeter, 25. Apr 2002, 16:14:36):
~#! rn=Elberet rt=1019744000 rg=entwicklung
~#! tid=1019554463
Warum denn nicht gleich konsequent sein und alle NPC gleich abschaffen?
Dann kann man wunderbar alles erforschen und wird mit dem MG auch tatsaechlich
innerhalb einer gewissen Zeit fertig und kann sich wieder anderen Dingen
zuwenden...

OrkT.

-----------------------------------------------------------------------------



Re^24: Verzoegerter Reset nach Monstertod (Elberet, 25. Apr 2002, 16:15:24):
~#! rn=Orktoeter rt=1019744076 rg=entwicklung
~#! tid=1019554463
ich glaub nicht, dass es einer das ganze mg erforschen koennte,selbst ohne
npcs 

Elbi (dasgutsofindendwerfend (c) Isi )

-----------------------------------------------------------------------------



Re^24: Verzoegerter Reset nach Monstertod (Boing, 25. Apr 2002, 16:18:03):
~#! rn=Orktoeter rt=1019744076 rg=entwicklung
~#! tid=1019554463
Die Konsequenz kann man so oder so auslegen. Waere doch auch moeglich
die Details abzuschaffen, dann ist es auch egal, wenn ein NPC gleich
resetted.
  Boing

-----------------------------------------------------------------------------



Re^25: Verzoegerter Reset nach Monstertod (Vardion, 25. Apr 2002, 16:18:41):
~#! rn=Boing rt=1019744283 rg=entwicklung
~#! tid=1019554463
Details und FPs abschaffen, genau :-)

Vardion

-----------------------------------------------------------------------------



Re^25: Verzoegerter Reset nach Monstertod (Catweazle, 25. Apr 2002, 16:19:47):
~#! rn=Boing rt=1019744283 rg=entwicklung
~#! tid=1019554463
Also ich finds schoen, das wir endlich mal wieder einen Thread haben, dens
bisher noch nicht gab. Ueber Boing-Resets mockiert wurde ja schon mal, aber
das man sich ausgedacht hat, wie er abzuschaffen sei ist neu. 
Schoen wars :)

Achso: Nazis! Bis in 6-12 Monaten dann...

YTC

-----------------------------------------------------------------------------



Re^26: Verzoegerter Reset nach Monstertod (Woody, 25. Apr 2002, 16:29:39):
~#! rn=Catweazle rt=1019744387 rg=entwicklung
~#! tid=1019554463
Braucht man an der Stelle schnellen Nachschub: "iss leiche" ...
Resets abschaffen: Gute Idee. Reboots sollten dann durch Spielermehrheit
ausgeloest werden koennen ;o)
Boing Resets: Haben hier Tradition, also laesst man am besten alles,
wie es ist. Damit sind schon ganz andere Systeme gut gefahren ;)

Neuer Antrag? Ganz neuer Antrag!


Woody.-


-----------------------------------------------------------------------------



Autoloader (Tiamak, 15. Mai 2002, 22:29:18):
Hiho!

Ich habe den Autoload-Mechanismus so umgebaut, dass es hoffentlich
(vielleicht, unter Umstaenden, wenn alles glatt geht ... ;^) keine
verschwindenden Autoloader nach Crashs mehr gibt.

Allerdings ist das nur seeeehr schlecht im Homemud zu testen, daher habe ich
die Aenderungen hier "mal so" angeschlossen. Vielleicht habt ihr Glueck und
ich war noch nicht zu muede ... ]:->


Tiamak. Operiert auch mal am offenen Herzen.

-----------------------------------------------------------------------------



Re: Autoloader (Pilgrim, 16. Mai 2002, 14:26:57):
~#! rn=Tiamak rt=1021494558 rg=entwicklung
~#! tid=1021494558
Na, dann lassen wir's mal kraeftig chrashen ... um diese Funktion ausgiebig zu
testen ;-)

Pilgrim

-----------------------------------------------------------------------------



todesraum (Pitfall,  3. Jul 2002, 23:40:41):
moin,

ich moechte bitte meinen ganz eigenen todesraum weil ich es inakzeptabel finde
in meinen todessequenzen von anderen gestorbenen spielern belaestigt zu
werden. das letzte mal hat mich dort ein spieler der dauernd ins klo gefallen
war so vollgestunken dass es nicht mehr feierlich war. also bau bitte jemand
den todesraum extra fuer jeden spieler.

*pit* das ganze auch mal ohne magiergequatsche ausdrueckend

-----------------------------------------------------------------------------



kwer (Anoris, 11. Jul 2002, 11:54:29):
bei kwer werden erwartete Spieler rot angezeigt. Ganz toll waere es noch,
wenn Freunde auch in einer eigenen Farbe angezeigt werden.

- Anoris ;)

-----------------------------------------------------------------------------



Re: kwer (Nonne, 11. Jul 2002, 12:36:19):
~#! rn=Anoris rt=1026381269 rg=entwicklung
~#! tid=1026381269
Erwarte doch einfach Deine Freunde (c;

-----------------------------------------------------------------------------



Feature request (Cuchullin, 14. Jul 2002, 02:30:45):
Ich mag bitte, dass "kwer lauscht auf wissenschaft und nicht idle"
funktioniert. Fuer die Nachtschicht, die sich mit mit einer Muddermenge
herumschlagen darf, die zu 3/4 aus Idlern besteht, waer das hilfreich. :)

Bitte, bitte. :)
Danke. :)

Cuch

-----------------------------------------------------------------------------



Re: Feature request (Elberet, 14. Jul 2002, 10:38:47):
~#! rn=Cuchullin rt=1026606645 rg=entwicklung
~#! tid=1026606645
oh ja, letztes jahr haett ich mir das auch gewuenscht :)

Elbi (Cuchatolinangrinsend)

-----------------------------------------------------------------------------



Re: Re: Feature request (Jameson, 14. Jul 2002, 11:26:09):
~#! rn=Elberet rt=1026635927 rg=entwicklung
~#! tid=1026606645
Waer auch mein Wunsch.

-----------------------------------------------------------------------------



Re^3: Feature request (Grimmborn, 14. Jul 2002, 11:28:44):
~#! rn=Jameson rt=1026638769 rg=entwicklung
~#! tid=1026606645
Ach was, geht halt nachts schlafen, so wie sich das fuer anstaendige Menschen
gehoert.

GdA

-----------------------------------------------------------------------------



Re^4: Feature request (Elberet, 14. Jul 2002, 13:21:35):
~#! rn=Grimmborn rt=1026638924 rg=entwicklung
~#! tid=1026606645
hast du schon mal was von zeitzonen gehoert? :-)

Elbi

-----------------------------------------------------------------------------



Popcorn!! (Sou, 15. Jul 2002, 19:43:06):
Liebe Magier, koenntet ihr vielleicht eine ewige tuete Popcorn proggen, und
die in den seherladen stellen? 

Sie muss ja kiene besonderen Eigenschaften haben und nicht mal autoload sein
:)

Bitte >>>Popcprnfan Sou<<<

-----------------------------------------------------------------------------



Re: Popcorn!! (Cuchullin, 15. Jul 2002, 20:56:29):
~#! rn=Sou rt=1026754986 rg=entwicklung
~#! tid=1026754986
Und wenn man die Tuete drueckt, passieren zufaellige Ereignisse, die dem
Popcorn-Verzehr einen zuenftigen Zweck verleihen? Padreic streitet mit
Tiamak ueber "Bugs"? Anatol spielt Depperlblau an die Wand? Didi und 
Micro werden mit einer (!) Frau zusammengesperrt? :)

Dafuer! :)

-----------------------------------------------------------------------------



Re: Re: Popcorn!! (Gloinson, 15. Jul 2002, 21:22:20):
~#! rn=Cuchullin rt=1026759389 rg=entwicklung
~#! tid=1026754986
Naa, wenn man die tuete drueckt, kann man die History des Magierkanals lesen
Das rechtfertigt oft Zuruecklehnen und Popcornessen.

Gloin(son)

-----------------------------------------------------------------------------



Re: kwer (Hight, 16. Jul 2002, 12:02:07):
~#! rn=Anoris rt=1026381269 rg=entwicklung
~#! tid=1026381269
jo sind rot ,o)

-----------------------------------------------------------------------------



kwer nicht idle (Zook, 30. Jul 2002, 14:35:59):
Wer sich bisher immer aergerte, dass "kwer nicht idle" nichts besonders
Sinnvolles ausgegeben hat, kann sich nun freuen, denn dieses Feature funzt
nun. Vielen Dank an Woody, der den Fix eingebracht hat.

Gruss, Zook.

PS: Farbige Freunde und nicht-idelnde-wissenschafts-Kanal-Zuhoerer gibts
noch nicht. :-)

-----------------------------------------------------------------------------



Re: kwer nicht idle (Anthea, 30. Jul 2002, 14:38:13):
~#! rn=Zook rt=1028032559 rg=entwicklung
~#! tid=1028032559
Jau, effektiv.
> kwer nicht idle
     Liste der Mitspieler vom Die, 30. Jul 2002, 14:37:37 (41 Teilnehmer)


> kwer
     Liste der Mitspieler vom Die, 30. Jul 2002, 14:37:41 (118 Teilnehmer)


-----------------------------------------------------------------------------



Re: Re: kwer nicht idle (Mandragon, 30. Jul 2002, 14:38:59):
~#! rn=Anthea rt=1028032693 rg=entwicklung
~#! tid=1028032559
Hmmja. Hatte eh nen ali kwer kwer alle und $* ;o)

-----------------------------------------------------------------------------



Re: kwer nicht idle (Vardion, 30. Jul 2002, 23:20:33):
~#! rn=Zook rt=1028032559 rg=entwicklung
~#! tid=1028032559
Oehm was genau war an "kwer ausser idle" zu kompliziert? :)

Vardion

-----------------------------------------------------------------------------



Re: Re: kwer nicht idle (Vardion, 30. Jul 2002, 23:25:52):
~#! rn=Vardion rt=1028064033 rg=entwicklung
~#! tid=1028032559
Ok, "kwer alle ausser idle" muss es heissen :)

Vardion

-----------------------------------------------------------------------------



Re^3: kwer nicht idle (Zook, 30. Jul 2002, 23:34:58):
~#! rn=Vardion rt=1028064352 rg=entwicklung
~#! tid=1028032559
Ok, nun willst Du bestimmt keine Antwort mehr auf Deine Frage haben, oder?

Zook grinst sich eins.

-----------------------------------------------------------------------------



Re^3: kwer nicht idle (Liara, 31. Jul 2002, 01:02:11):
~#! rn=Vardion rt=1028064352 rg=entwicklung
~#! tid=1028032559
Kwer alle und nicht idle ging und geht auch prima.

-----------------------------------------------------------------------------



Re^4: kwer nicht idle (Woody, 31. Jul 2002, 14:05:48):
~#! rn=Liara rt=1028070131 rg=entwicklung
~#! tid=1028032559
Am besten den Bug wieder einbauen, man konnte ihn ja gut umgehen ;-)


-----------------------------------------------------------------------------



Ignorieren... (Zook, 31. Jul 2002, 18:38:08):
Wer schon immer mal "r:" ignorieren wollte, dies aber bisher nicht
konnte, nach Crash/Ende/Reboot sollte es funzen. 

Falls nach dieser Aenderung Probleme mit dem "ignoriere"-Befehl 
auftreten, meldet Euch doch einfach bei mir.

Gruss, Zook.

-----------------------------------------------------------------------------



Neues Bu\wFeature (Vanion, 11. Aug 2002, 19:28:48):
Hi,

Auf Wunsch einzelner Spieler kann man die Wegmeldung von Spielern jetzt ohne
viel 'finger'-scroll lesen. 

Der interessierte Leser kann mal 'hilfe wegmeldung' tippen.

Wie immer natuerlich erst nach Ende/Crash/Reboot.

V*

-----------------------------------------------------------------------------



Liste der Abenteurer... (Zook, 15. Aug 2002, 18:46:57):
Hallo zusammen,

aus mir nicht so ganz nachvollziehbaren Gruenden kann man seit 1994 mittels
"liste blubb" auch die geloesten Abenteuer des Spielers "blubb" ansehen. 
Dieses "Feature" habe ich ausgebaut, so dass man sich nun nur noch die
Liste der eigenen Abenteuer ansehen kann.

Gruss, Zook.

-----------------------------------------------------------------------------



ignoriere (Whitetiger, 18. Aug 2002, 12:32:34):
~#! on=Whitetiger ot=1029666592 og=allgemeines
wenn ich eine leere ignoriere-liste habe, zeigt 'ignoriere' folgendes an:
> Du ignorierst:
> .
waere es nicht besser, wenn dann etwas wie
> Du ignorierst nichts.
kommen wuerde?
WT.

-----------------------------------------------------------------------------



Re: ignoriere (Rikus, 18. Aug 2002, 13:56:20):
~#! rn=Whitetiger rt=1029666754 rg=entwicklung
~#! tid=1029666754
geht nach ende/reboot.

Rikus.

-----------------------------------------------------------------------------



Re: Re: ignoriere (Ancalagon, 18. Aug 2002, 22:56:07):
~#! rn=Rikus rt=1029671780 rg=entwicklung
~#! tid=1029666754
tagchenknuddels! :)

Also, wenn du Nichts nicht ignorieren willst, darf er natuerlich nicht auf der
Liste stehen..... *grins*


Ancalagon
Draco knuddellensis major

-----------------------------------------------------------------------------



artikel portale (Elberet, 31. Aug 2002, 12:25:09):
Huhu
waere das eigentlich kompliziert, Portal 30 wieder an seinen angestammten
Platz in der Reihenfolge der Portale in der Portalliste wiezu bringen? Diese
Liste verwirrt mich immer :)

Elbi

-----------------------------------------------------------------------------



Re: artikel portale (Grimmborn, 31. Aug 2002, 13:27:29):
~#! rn=Elberet rt=1030789509 rg=entwicklung
~#! tid=1030789509
Du meinst sicher "meine zusammengesammelten Wegescripte" statt "mich",
richtig?

GdA

-----------------------------------------------------------------------------



Re: Re: artikel portale (Elberet, 31. Aug 2002, 13:29:05):
~#! rn=Grimmborn rt=1030793249 rg=entwicklung
~#! tid=1030789509
das hat mit meinen wegeskripten ueberhaupt nichts zu tun, die verstehen
teleportiere 30, egal wo das in der Liste steht.

Elbi

-----------------------------------------------------------------------------



Re: Re: artikel portale (Elberet, 31. Aug 2002, 13:32:15):
~#! rn=Grimmborn rt=1030793249 rg=entwicklung
~#! tid=1030789509
alternativ kann man ja die nummerierung der portale aendern .... damit Portal
30 ans ende der Liste kommt, aber dann schreien wirklich alle Wegeskripte :))

Elbi

-----------------------------------------------------------------------------



Lederhelm (Flintnail, 18. Sep 2002, 12:32:53):
hiho...
ihr wisst es bestimmt schon, aber mein kruftur erzaehlt mir dauernd das dieser
Lederhelm aus Metall besteht...
Vielleicht interessiert es ja...
FLint*

-----------------------------------------------------------------------------



Re: Lederhelm (Cadrach, 18. Sep 2002, 12:51:28):
~#! rn=Flintnail rt=1032345173 rg=entwicklung
~#! tid=1032345173
Es interessiert bestimmt, aber nicht die mpa, sondern den Magier von dem
besagter Lederhelm ist. Also wende Dich vertrauensvoll an den Magier, den
bestimmten Regionsmagier oder einen Weisen oder Erzmagier deines Vertrauens.

Cad*

-----------------------------------------------------------------------------



Re: Lederhelm (Elberet, 18. Sep 2002, 13:46:09):
~#! rn=Flintnail rt=1032345173 rg=entwicklung
~#! tid=1032345173
Kruftur erzaehlt doch oft ziemlichen Muell. Ich finds aber immer witzig wie er
es erzaehlt ;)

Elbi

-----------------------------------------------------------------------------



Re: Re: Lederhelm (Mupfel, 19. Sep 2002, 11:42:40):
~#! rn=Cadrach rt=1032346288 rg=entwicklung
~#! tid=1032345173
"...deines Vertrauens" - vielleicht vertraut er keinem? Immerhin ist er Chaot
;)

-mupfel-

-----------------------------------------------------------------------------



Lag (Vanion, 30. Sep 2002, 20:36:30):
Hallo,

meinen Messungen zu folge hat es heute Nacht ein groesseres Lag gegeben. So
gross, dass ich den Messungen nicht vertraue. Ich bitte also jeden, der gg.
3:30 bis 4:30 im MG war, mir mal kurz zu sagen, ob es gelaggt hat, oder nicht.
Oder ob es andere Merkwuerdigkeiten gab.

Danke im Voraus,
V*

-----------------------------------------------------------------------------



Re: Lag (Alpha, 30. Sep 2002, 20:53:55):
~#! rn=Vanion rt=1033410990 rg=entwicklung
~#! tid=1033410990
Also ... ich bin ca ne halbe Stunde net ins MG gekommen, da waren anscheinend
alle Leitungen weg, man konnte aus anderen Muds nimmer ins MG fingern, und
auch andere Leute kamen net mehr ins MG. 

-----------------------------------------------------------------------------



Re: Lag (Vanion, 30. Sep 2002, 21:08:47):
~#! rn=Vanion rt=1033410990 rg=entwicklung
~#! tid=1033410990
Ich weiss, Selbstreply is doof und stinkt, aber: Dem Chaos is das egal!

Die Ursache fuer das Lag ist erkannt und es wird wohl nicht wieder auftauchen.
Danke fuer eure Hilfe bei der Aufklaerung.

V*

-----------------------------------------------------------------------------



Re: Re: Lag (Gloinson, 30. Sep 2002, 21:18:35):
~#! rn=Vanion rt=1033412927 rg=entwicklung
~#! tid=1033410990
Mist, jetzt weiss er wie das mit den Blumen und Bienen funktioniert und wird
alsbald ueberall seinen Honig verspritzen. Haettet ihr nicht die Klappe halten
koennen?!

-----------------------------------------------------------------------------



Neues von der Lag-Front (Zook,  9. Okt 2002, 17:50:34):
Nachdem uns Brotnael heute so nett aufgefordert hat, ein ploetzlich 
aufgetretenes Lag zu entfernen, haben wir uns mal an die Arbeit gemacht
und siehe da, durch glueckliche Umstaende haben wir eine Lagursache
gefunden und eliminiert.

Kurz zur Erklaerung: Ein hin und wieder aufgetretenes 7..8%-Lag kam
daher, dass unser Shell-Skript, das das Mud immer wieder neu startet,
zufaellig einmal davon ausging, es muesse ein neues Mud starten und 
dies auch getan hat. Einhergehend mit Resourcenverbrauch (d.h. Lag) und
einem Log-File-Eintrag. Just jenes Logfile wurde bei der Startseite
unserer WWW-Seiten ausgewertet, so dass auch dieser Fehler in Zukunft
behoben sein sollte.

Ich hoffe, damit ist zumindest dieses sporadische Lag entfernt.

Ich bedanke mich bei Humni, Rikus und Vardion fuer die konzertierte
Aktion.


Gruss, Zook


PS: Her mit dem Bier, Brotnael! ;)

-----------------------------------------------------------------------------



Re^14: SUGI hat Durst (Deepblue, 14. Okt 2002, 00:22:24):
~#! rn=Deepblue rt=1034547528 rg=schmarrn
~#! tid=1034537014
Sorry fuer Selbstreplay. Aber waer es nicht sinnvoll, wirklich mal nen
gescheiten Editor fuer MPA&Co zur Verfuegung zu stellen? Eventuell extern?

-----------------------------------------------------------------------------



treffen vs. treffen.bekanntmachungen (Nonne, 15. Okt 2002, 08:58:09):
Tach,

koennte man die beiden Rubriken nicht tauschen, damit man erst die
Bekanntmachung bei 'nn' liest und dann die Kommentare dazu? Waere doch sinnig,
oder?

Nonne.

-----------------------------------------------------------------------------



Re: treffen vs. treffen.bekanntmachungen (Grimmborn, 15. Okt 2002, 09:23:47):
~#! rn=Nonne rt=1034665089 rg=entwicklung
~#! tid=1034665089
Aeh, wie willst Du das machen? Die Reihenfolge im Alphabet modifizieren oder
wie?

GdA

-----------------------------------------------------------------------------



Re: Re: treffen vs. treffen.bekanntmachungen (Cadrach, 15. Okt 2002, 09:49:26):
~#! rn=Grimmborn rt=1034666627 rg=entwicklung
~#! tid=1034665089
Einfach beim sortieren der Rubriken, eine Sortfunktion verwenden, die bei
gleicem Anfang, den kuerzeren String nach hinten sortiert? Wuerde ja auch bei
"balance" mehr sinn machen.

Cad*

-----------------------------------------------------------------------------



spielertesties (Muadib, 21. Okt 2002, 16:52:30):
Hi,

das Handling fuer Spielertesties ist etwas einfacher und wohl auch
realitaetsnaeher geworden.
Mehr mit 'hilfe spielertesties'.

Gruss 

Muadib

-----------------------------------------------------------------------------



Re: treffen vs. treffen.bekanntmachungen (Vanion, 23. Okt 2002, 06:36:20):
~#! rn=Nonne rt=1034665089 rg=entwicklung
~#! tid=1034665089
Man koennte treffen in treffen.diskussion umbenennen, dann wuerden erst die
Bekanntmachungen gelesen ...

Ist das Volkes Wunsch?

V*

-----------------------------------------------------------------------------



Re: Re: treffen vs. treffen.bekanntmachungen (Krellja, 23. Okt 2002, 14:24:44):
~#! rn=Vanion rt=1035347780 rg=entwicklung
~#! tid=1034665089
Ja. Gute Idee.

Krellja

-----------------------------------------------------------------------------



Re: Re: treffen vs. treffen.bekanntmachungen (Leibniz, 23. Okt 2002, 18:38:53):
~#! rn=Vanion rt=1035347780 rg=entwicklung
~#! tid=1034665089
finde ich ne gute idee

leibi 

-----------------------------------------------------------------------------



10SP-Abzug als Todesfolge (Catweazle, 31. Okt 2002, 10:00:35):

Moin,

die Dikussion bzgl. FP/EK/SP hat mich auf die vorzuegliche Idee gebracht, 
doch mal wieder ueber Todesfolgen nachzudenken. Die sind ja nu doch 
irgendwie zu lau, Sterben ist heutztage kein Hindernisgrund mehr und 
wird schlechtweg meist nicht beachtet. 
Waehrend frueher die Spieler sich nicht zu gewissen NPCs getraut haben,
weil man ja haette Sterben koennen, wird das heutzutage problemlos mit 
"/tanken; /ausruestungabholen; /weitermetzeln" kompensiert. Ich finde 
diese Methode .. 'bescheiden', und denke dass das am Thema vorbeigeht. 

Mein Vorschlag ist also folgender, lasst uns das Sterben wieder 
schmerzhaft machen. Zumindest ein bisschen. Und zwar indem dem Spieler
beim Tod 10 SPs abgezogen werden. Brutal, gnadenlos, permanent, endgueltig.

10 SPs sind ein Zehntel Level, das ist nicht wirklich viel, wenn ich mir so 
den aktuellen Leveldurchschnitt ansehe. Aber es ist doch genug, dass man die
Auswirkungen zu spueren bekommt, wenn man sich allzu arglos in die Kaempfe
stuerzt und des oefteren draufgeht.

Yours truly,
     Catweazle

-----------------------------------------------------------------------------



Re: 10SP-Abzug als Todesfolge (Catweazle, 31. Okt 2002, 10:03:37):
~#! rn=Catweazle rt=1036054835 rg=entwicklung
~#! tid=1036054835
Ich weiss was jetzt passiert. 

Als naechstes kommen die Mails 'Aber das geht nicht, weil <hnzlegrmpf>...'.
Das Gejammer wird starten, dass 
- wir doch soviele Todesfallen haben
- es zuviele Stellen gibt wo man instantan sterben kann und die erst mal 
  abgebaut werden muessten
- das ja noch nie so gewesen ist
- dann ja alle bisher Gestorbenen wohl im Vorteil waeren
- das Sterben ja sowieso schon viel zu starke Nachteile hat
- dann ja wohl das Levelsystem komplett ueberdacht werden muss
- wir das sowieso und grundsaetzlich ueberhaupt nicht brauchen
- wir noch nie permanente Minuspunkte im MG hatten

Die Liste ist garantiert beliebig verlaengerbar. Ja, wir haben das alles 
schon etliche Male durchgekaut. 

Aber wisst ihr was, das ist mir furzegal. 
Wenn wir nichts tun, aendert sich nie was. Und da bin ich dann doch stark 
dafuer, das wir wieder mal ein bisschen Bewegung ins Spiel bringen, das 
bisschen 'XY-Gilde auf/abwerten' reisst einen ja nicht gerade vom Hocker. 

Die Antworten sind allgemein einfach.
Wenn du keine SPs verlieren willst, dann stirb nicht. Wenn dich ein NPC mit
Leichtigkeit abmetzelt, dann bist du da (alleine) falsch. Wenn du in einem
Raum von 20 Spinnen spontan aufgefressen wirst ohne die Warnung vorher
gelesen zu haben, dann hast du auch etwas falsch gemacht. Wenn du keine 
Warnung gefunden hast und trotzdem wenigen Millisekunden nach Betreten eines 
Raumes bei Lars stehst, dann hat der programmierende Magier was falsch 
gemacht. 
Und wenn du dann trotz aller Vorsicht das eine oder andere mal 
unerwartet oder dumm gestorben bist, bekommst du halt nen Zehntel-Level 
abgezogen. Na und? Du wirst nicht daran zugrunde gehen. 

Und jetzt last das Gemetzel beginnen. Ich lehne mich zurueck, werde ab und an 
noetigenfalls den einen oder anderen Schmarrn entfernen, und irgendwann 
werde ich mich durch den ganzen Wust von Jammereien durchwuehlen und nach 
dem Argument suchen, warum man _nicht_ SPs abziehen sollte als Todesfolge. 
Ich bin sicher, das ich die meisten mit 'Na und?' abtun kann :-)

Und nun viel Spass :-)

YTC

-----------------------------------------------------------------------------



Re: 10SP-Abzug als Todesfolge (Vector, 31. Okt 2002, 10:07:15):
~#! rn=Catweazle rt=1036054835 rg=entwicklung
~#! tid=1036054835
Und wie sehen die Folgen dieser Aenderung aus?
Die Spieler metzeln noch weniger.. warum auch, wenn
Levels aufm Spiel stehen. Ausserdem muesste dann doch
jeder NPC mindestens 10 Stupse geben?;)
So eine Aenderung wuerde doch auch die letzten Spieler
in die Haende der zmud- und tf-trigger treiben, oder?

Und was ist mit den Vielsterbern, die an jeder Ecke
verrecken? Die nichtmal nen Schleifstein kaufen koennen
ohne bei Lars vorbeizukucken?
Werden die dann geloescht sobald sie mehr Tode haben, als ihre
Level erlauben wuerde?

--Vector-- (bissl schmunzelnd)

Das die derzeitigen Todesfolgen allerdings wirklich
sehr lasch sind, laesst sich natuerlich nicht abstreiten.

-----------------------------------------------------------------------------



Re: Re: 10SP-Abzug als Todesfolge (Orktoeter, 31. Okt 2002, 10:16:32):
~#! rn=Catweazle rt=1036055017 rg=entwicklung
~#! tid=1036054835
Tja, die Gruende dagegen (zumindest die wichtigsten) hast du doch selber schon
genannt. Und wenn du Gruende wie "- wir doch soviele Todesfallen haben", was
man besser als "Es gibt toedliche Fallen ohne Warnung" bezeichnen sollte,
nicht akzeptierst, wirst du sicher alles andere auch mit einem "Na und?"
abtun. (warum auch nicht, als Magier trifft es dich ja nicht) 

OrkT, nur noch den Kopf schuettelnd.

-----------------------------------------------------------------------------



Re: Re: 10SP-Abzug als Todesfolge (Grimmborn, 31. Okt 2002, 10:16:44):
~#! rn=Vector rt=1036055235 rg=entwicklung
~#! tid=1036054835
Generell keine schlechte Idee, ich wuerde den Abzug aber eher nach leveln
staffeln, also z.B. $LEVEL SP abziehen. Wer oben steht hat halt mehr zu
verlieren...

GdA

-----------------------------------------------------------------------------



Re^3: 10SP-Abzug als Todesfolge (Orktoeter, 31. Okt 2002, 10:18:02):
~#! rn=Grimmborn rt=1036055804 rg=entwicklung
~#! tid=1036054835
Besserer Vorschlag, wer als einfacher Spieler stirbt wird geloescht, wer als
Seher stirbt wird automatisch zum Magier.

Viel Spass.

OrkT.

-----------------------------------------------------------------------------



Re^3: 10SP-Abzug als Todesfolge (Catweazle, 31. Okt 2002, 10:32:00):
~#! rn=Orktoeter rt=1036055792 rg=entwicklung
~#! tid=1036054835
Brems mal.
Nur weil es mich als Magier nicht trifft, heisst noch lange nicht, das es mich
als Magier nicht interessiert. 

Zu deiner Bemerkung siehe 'dann hat der Magier was falsch gemacht'. Natuerlich
muessen die dann weg. Aber solange es keinen Grund gibt, die zu entfernen,
wird da auch nichts passieren (siehe 'durchgekaut'). 
Dein Argument verlangt den zweiten Schritt vor dem ersten zu machen und ist
daher an dieser Stelle von mir tatsaechlich mit einem (vorlaeufigen) 'Na und'
abzutun.

YTC

-----------------------------------------------------------------------------



Re^3: 10SP-Abzug als Todesfolge (Catweazle, 31. Okt 2002, 10:33:56):
~#! rn=Grimmborn rt=1036055804 rg=entwicklung
~#! tid=1036054835
Na ich wollte es nicht ganz so schmerzhaft machen. Mit Level 100, dann beim
Sterben einen ganzen level zu verlieren ist schon etwas arg. 

Gegen Progression haette ich aber generell nichts einzuwenden, wie waers denn
mit 10+sqrt(level) SPs Abzug?

YTC

-----------------------------------------------------------------------------



Re^4: 10SP-Abzug als Todesfolge (Orktoeter, 31. Okt 2002, 10:34:18):
~#! rn=Catweazle rt=1036056720 rg=entwicklung
~#! tid=1036054835
So? Todesfallen fuer die es keine Warnung gibt auszubauen ist also zweitrangig
und lohnt sich erst, wenn das sterben laestiger ist als jetzt? Interessante
Einstellung.

OrkT.

-----------------------------------------------------------------------------



Re^5: 10SP-Abzug als Todesfolge (Catweazle, 31. Okt 2002, 10:38:37):
~#! rn=Orktoeter rt=1036056858 rg=entwicklung
~#! tid=1036054835
Du kannst dir einen von den beiden folgenden Saetzen aussuchen: "Du drehst mir
das Wort im Mund rum". "Du liest nur das, was du lesen willst". 

An welcher Stelle hast du bei mir das Wort 'zweitrangig' gefunden?

Ich hab keine Lust mich auf Geflame einzulassen, dafuer fehlt mir die Zeit.

YTC

-----------------------------------------------------------------------------



Re: Re: 10SP-Abzug als Todesfolge (Cadrach, 31. Okt 2002, 10:41:27):
~#! rn=Catweazle rt=1036055017 rg=entwicklung
~#! tid=1036054835
Ich wuerde den Spiess mal umdrehen und Dich bitten Argumente zu liefern,
weshalb haertere Todesfolgen den Spielspass hier im MorgenGrauen erhoehen.
Sollten sich da gute Argumente finden lassen, koennten wir da natuerlich gerne
mal eine Abstimmung machen wieviele Spieler der Meinung sind, das solch eine
Aenderung den Spielspass tatsaechlich erhoehen. Ich denke wir alle sind nicht
hier um moeglich realistisch zu spielen, sondern um moeglichst viel Spass zu
haben.

Cad*

-----------------------------------------------------------------------------



Re: Re: 10SP-Abzug als Todesfolge (Deepblue, 31. Okt 2002, 10:48:13):
~#! rn=Catweazle rt=1036055017 rg=entwicklung
~#! tid=1036054835
Du willst mal wieder etwas Beegung ins Spiel bringen? Dann progg ne Schoene
Gegend mit paar netten NPCs. Wenn Du nicht weissst, wie man das nett macht,
dann nimm nen 2tie und schau Dir Arks gegenden an (Ausser dem Puppenspieler)
Und dann staune, wie viele Leute sich in Dein Gebiet bewegen werden

-----------------------------------------------------------------------------



Re^4: 10SP-Abzug als Todesfolge (Gnome, 31. Okt 2002, 10:56:30):
~#! rn=Catweazle rt=1036056720 rg=entwicklung
~#! tid=1036054835
nein catty, andersrum wird ein schuh draus.
wenn irgendwann mal tatsaechlich alle todesfallen aus dem spiel sind
(welcher RM hat eigentlich solche gebiete abgenommen?), koennen wir
mal anfangen drueber nachzudenken, ob man die todesfolgen verschaerfen
sollte (IMHO ist der status quo ok, aber diskutieren kann man ja).

im vordergrund steht hier der spassfaktor, wie padreic schon sagte und
es macht sicherlich keinen spass, die sauerverdienten level durch
permanenten punkteabzug dahinschwinden zu sehen; schon gar nicht mit
hilfe einer levelabhaengigen formel.
sollte dies irgendwann mal wirklich der fall sein, werde ich der
erste sein, der vom hauptmetzler zum hauptforscher/chatter mutiert.
ob das so im sinne der magier ist, die ihre NPCs hier anklemmen,
in der hoffnung, dass viele dran sterben werden, wage ich zu bezweifeln.

gnOme

-----------------------------------------------------------------------------



Re^3: 10SP-Abzug als Todesfolge (Cuchullin, 31. Okt 2002, 10:56:52):
~#! rn=Cadrach rt=1036057287 rg=entwicklung
~#! tid=1036054835
Du bist vermutlich der einzige, der in Zweifel zieht, dass die aktuelle
Todesfolgensituation nicht optimal ist. Aber da Du ja Cadrach bist, sei
Dir das vergeben, Du kannst da ja nichts 'fuer.

Nichtsdestotrotz stimme ich Catweazle Plaeddojee zu: Die Diskussion ist
muessig, unnoetig, zur Fruchtlosigkeit verdammt. Aus genau dem selben
Grund, warum man das Kampfsystem nicht mehr revolutionieren kann. Der Zug
ist abgefahren.

109341 Monster, Raeume, MAGIER muessten angepasst werden, und zwar bevor
die Kinder in die Brunnen fallen. 10434245 Spieler muessten - vorab - 
Killstupse ausgetragen bekommen, weil alle anderen nach der Umstellung 
die neuen Resourcen fuer den Brute-Force-Angriff nicht mehr haben. Bla 
bla bla. Cattie meinte sein Posting nicht ernst, schaetze ich.

Morgengrauen ist so formbar wie kaltes Glas. Klar ist Glas nur eine sehr
traege Fluessigkeit. Aber DIE Zeit haben wir nicht. Nicht in einer Welt,
in der die Grafik-Engines so schnell so viel besser werden. Gell? :)

YTCu :)


-----------------------------------------------------------------------------



Re: Re: 10SP-Abzug als Todesfolge (Patryn, 31. Okt 2002, 11:28:44):
~#! rn=Vector rt=1036055235 rg=entwicklung
~#! tid=1036054835
siehste cat, das standardargument haste in deinem selbstreply vergessen:
- die leute mit tf und zmud wuerden dann bevorteilt.
das todschlagstandardargument schlechthin.
die diskussion hatten wir wirklich schon x-mal und nie hatte ein erz
den hintern in der hose oder den willen,s ich das anzutun.
ich hab schon frueher mal geschrieben: man koennte die tode zur zeit
eigentlich abklemmen, und die todessequenzen per mail an den
delinquenten verschicken, daran hat sich leider in 3 jahren nix geaendert.

-- 
patryn

-----------------------------------------------------------------------------



Re^4: 10SP-Abzug als Todesfolge (Zarniya, 31. Okt 2002, 11:28:54):
~#! rn=Cuchullin rt=1036058212 rg=entwicklung
~#! tid=1036054835
Hmm Catty, die Idee ist nett, aber Du wirst wahrscheinlich auch nicht
weiterkommen als ich damals.... Da gab es mal die Idee, beim Tod die Attribute
zu senken, dafuer dann neue ZTs zuzuweisen... also zB. Kraft oder Ausdauer -2
und 2 neue ZT stellen.... Das ganze dann Levelabhaengig, also je hoeher der
Level, desto mehr abzuege.... die Magier fanden es damals nicht schlecht, dann
kam einer auf die Idee "Lass uns mal die Spieler fragen" und schon war das
Projekt tot. 

Haettest Du das mal einfach eingebaut, dann waere es ok gewesen :)

Marc

-----------------------------------------------------------------------------



Re^3: 10SP-Abzug als Todesfolge (Patryn, 31. Okt 2002, 11:30:58):
~#! rn=Orktoeter rt=1036055792 rg=entwicklung
~#! tid=1036054835
und auch wiedermein argument von damals: warum gibts inzwischen derart viele
hemmungslose zap-stellen?
genau, weil die magier wissen: hey, ist eh egal.
als ich hier anfing zu spielen konnteste solche stellen wahrscheinlich an
einem finger abzaehlen, da musste man dann wirklich schon zum
schluchtenspringer nach mehrfachwarnung werden und selbst dann ist nicht
immer was passiert.

-- 
patryn

-----------------------------------------------------------------------------



Re^4: 10SP-Abzug als Todesfolge (Humni, 31. Okt 2002, 11:37:57):
~#! rn=Patryn rt=1036060258 rg=entwicklung
~#! tid=1036054835
Also, so viele Hemmungslose Zap-Stellen kenn ich nicht. Wenn ein Spieler bei
Ark rumlaeuft muss er halt damit rechnen, dass er stirbt, wenn er nicht
aufpasst. Und auch wenn er aufpasst passierts halt. Ich finde, die Gebiete
wuerden viel von ihrem Charme und der real gespuerten Gefahr verlieren, wenn
man die entschaerfen wuerde, was wohl aufgrund von schreienden Spielern bei
heftigeren Todesfolgen noetig waere.

Meinung von Humni (aber nur persoenlich, seht das jetzt bitte nicht als ein
,,Statement der EMs'' oder sowas)

-----------------------------------------------------------------------------



Re^5: 10SP-Abzug als Todesfolge (Patryn, 31. Okt 2002, 11:40:15):
~#! rn=Humni rt=1036060677 rg=entwicklung
~#! tid=1036054835
mit hemmungslosen zapstellen mein ich auch nicht: wenn du ohne schutz in
den raum gehst wirst du gezapt. ..wenn man das grosse rote schild am eingang
liest sollte einem das zu denken geben.
natuerlich sind aequivalente oder aehnliche stellen in mud zufall und das
beispiel ist fiktiv :)

-- 
patryn

-----------------------------------------------------------------------------



Re^5: 10SP-Abzug als Todesfolge (Grimmborn, 31. Okt 2002, 11:40:25):
~#! rn=Humni rt=1036060677 rg=entwicklung
~#! tid=1036054835
Naja, nachdem die EMs also dagegen sind ist die Sache wohl damit gestorben.
Also, regt euch mal wieder ab...

GdA

-----------------------------------------------------------------------------



Re^6: 10SP-Abzug als Todesfolge (Orktoeter, 31. Okt 2002, 11:44:20):
~#! rn=Patryn rt=1036060815 rg=entwicklung
~#! tid=1036054835
Unabhaengig von der restlichen Diskussion... Warnungen gehoeren sich einfach
vor toedliche Fallen (notfalls auch etwas versteckt), aber hier wird man ja
schon als kleiner Spieler dahin erzogen, das man Warnungen ignoriert
(Zwackelmann Quest).

OrkT.

-----------------------------------------------------------------------------



Re^7: 10SP-Abzug als Todesfolge (Cadrach, 31. Okt 2002, 11:46:26):
~#! rn=Orktoeter rt=1036061060 rg=entwicklung
~#! tid=1036054835
Welcher Fallenbauer ist eigentlich so bloed, extra ne Warnung zu verstecken?
Man sollte wenn man sich einen Raum erstmal in Ruhe anschaut evtl. ein ungutes
Gefuehl bekommen, aber irgendwelche speziellen Warnhinweise sind schlichtweg
albern (bei Fallen wohlgemerkt).

Cad*

-----------------------------------------------------------------------------



Re^8: 10SP-Abzug als Todesfolge (Boing, 31. Okt 2002, 11:51:51):
~#! rn=Cadrach rt=1036061186 rg=entwicklung
~#! tid=1036054835
Ok, ich hab mal meine Todesfalle etwas entschaerft, an mir soll also
eine Aenderung nicht scheitern ... :)
  Boing

-----------------------------------------------------------------------------



Re^3: 10SP-Abzug als Todesfolge (Catweazle, 31. Okt 2002, 12:29:52):
~#! rn=Cadrach rt=1036057287 rg=entwicklung
~#! tid=1036054835
Vor dem Spielspass kommt immer noch das Spielkonzept. Und das Konzept
'Sterben' ist hier im MG einfach nicht mehr vorhanden, genau das prangere ich
an und moechte es gerne wieder aendern.

Zur Zeit ist es ja wohl so, das man dem Spieler auch mitteilen koennte 'Du
waerst gerade gestorben, deine LPs werden nu wieder aufgefuellt und in 60
Sekunden kannst weiterkaempfen'.

Um das zu aendern, muessen die Todesfolgen wieder verschaerft werden.
Natuerlich muss das dem Spieler nicht gefallen. Als Spieler muss man dann
naemlich seine Methoden aendern. Das gilt uebrigens gleichfalls fuer Magier. 

YTC

-----------------------------------------------------------------------------



Re^5: 10SP-Abzug als Todesfolge (Catweazle, 31. Okt 2002, 12:35:45):
~#! rn=Gnome rt=1036058190 rg=entwicklung
~#! tid=1036054835
Aber sorum ist es ja auch kein Schuh geworden. 
Die Diskussion um die Todesfallen hats ja nun schon oft genug gegeben.
Passiert ist trotzdem nix. Es hat sich kein Magier gefunden, der bereit
gewesen waere, alle Todesfallen auf 'Echtheit' zu uebrpruefen und ggf. zu
entschaerfen, es hat sich kein Spieler gefunden, der mal eine Liste gemacht
haette, wo es denn ueberall welche gibt. Und wenn da jemand die Uebersicht
hat, dan doch wohl die Spieler (zumindest kriegen die Magier immre
vorgeworfen, sie haetten keine).

Darum sage, ich verschaerft den Tod. Du glaubst gar nicht, wie schnell die
Spieler angerannt kommen und sagen 'Hey da sterb ich automatisch, das ist
Dreck. Aendert das, aber sofort!'.
Natuerlich kann man sich dann als Spieler auch loeschen und abhaun, oder sich
aufs rumjammern beschraenken. Wenn man destruktiv statt kreativ sein moechte,
bitte...

YTC

-----------------------------------------------------------------------------



Re^6: 10SP-Abzug als Todesfolge (Karis, 31. Okt 2002, 12:45:43):
~#! rn=Catweazle rt=1036064145 rg=entwicklung
~#! tid=1036054835
Doch ein kleiner Gegenvorschlag:
Die paar Lvl mehr oder weniger wuerden mich persoenlich
nicht interessieren... aber wenn die muehsam gesammelte
Ausruestung beim Teufel waer, wuerde ich _deutlich_
mehr aufpassen beim Metzeln. Waere einfach
zu implementieren und wuerde seine Wirkung nicht verfehlen.

Karis

-----------------------------------------------------------------------------



Re^6: 10SP-Abzug als Todesfolge (Cuchullin, 31. Okt 2002, 12:48:48):
~#! rn=Catweazle rt=1036064145 rg=entwicklung
~#! tid=1036054835
Klaer' das doch bitte erstmal unter Deinen lieben Kollegen, die
Properties wie P_DEATH_SPONSORED_BY (damit Magier X, der in eines
Altmagiers Gebiet unter fremder uid ein neues Monster reinstellt, 
die Punkte fuer die Magiertopliste "Spielertode" gutgeschrieben
bekommen kann) entwickeln und verwenden.

Solange DIE naemlich mit der Einstellung "Ach Gottchen, bist halt
gestorben, was solls..." rangehen, ist Hopfen und Malz verloren.
Da faellt mir wieder Padreic ein, dem es ueberhaupt nichts aus-
machte, wenn Spieler durch einen seiner zahlreichen Bugs das
Zeitliche segneten. Er sah nichtmal die Notwendigkeit fuer eine
Entschuldigung.

Unter DER Praemisse versuchst Du, Spieler fuer haertere Todfolgen
zu gewinnen? Junge, Du glaubst aber SEHR verbissen an das Gute im
Elfen, oder? ;)

YTCu


-----------------------------------------------------------------------------



Re^7: 10SP-Abzug als Todesfolge (Sou, 31. Okt 2002, 12:49:52):
~#! rn=Karis rt=1036064743 rg=entwicklung
~#! tid=1036054835
Diese Idee ist besser ... man sotte sich nur ueberlegen, ob destructen oder,
dass der NPC sie 'verwahrt' ... Letzteres wuerde verschiedene Moeglichkeiten
Zulassen

Wenn man bei Toden SP abzieht, was machen wir mit Chaoten, bei denen ist
Sterben doch Programm?

Sou wollte mal mitreden, anstatt sich einen zu grinsen.

-----------------------------------------------------------------------------



Re^4: 10SP-Abzug als Todesfolge (Woody, 31. Okt 2002, 12:53:28):
~#! rn=Catweazle rt=1036063792 rg=entwicklung
~#! tid=1036054835
Wenn Du dieses Konzept verbessern willst (was sicherlich kein Fehler
waere), musst Du aber auch ein wenig weiter denken als "was kann man
dem Spieler wegnehmen, um ihn zu bestrafen". Das Thema Todesfolgen ist
im SL (hoffe der Querverweis stoert keinen) schon seit Ewigkeiten ein
Diskussionsthema, getan hat sich leider noch nichts, aber um mal ein
Gefuehl fuer die Moeglichkeiten zu bekommen, kann ich nur empfehlen,
mal ftp://ftp.silberland.at:4713/todesfolgen.txt zu ueberfliegen.

Woody.-


-----------------------------------------------------------------------------



Re^4: 10SP-Abzug als Todesfolge (Cadrach, 31. Okt 2002, 12:53:36):
~#! rn=Catweazle rt=1036063792 rg=entwicklung
~#! tid=1036054835
Ich glaube wir unterscheiden uns in einem sehr wesentlichen Punkt Catty,
nichts aber auch gar nichts sollte vor dem Spielspass kommen. Das ganze hier
ist ein SPIEL und keine Fantasysimulation.
Alle Spieler hier fuer zu dumm einzustufen um zu wissen, was gut fuer sie ist,
halte ich fuer kaum mehr steigerbare Arroganz (und da hab ich ansich selbst
schon nich wenig). Wir sind hier (zumindest in der Mehrzahl) erwachsene
Menschen die selbst wissen was Ihnen Spass macht und wieso sie hier ihre
Freizeit verbringen. Der Tod heute ist sicherlich bei weitem nicht so
weitreichend wie wir das in Rollenspielrunden pflegen, aber ganz ohne
Auswirkung ist er nicht. Jeder Tod bedeutet auch heute bereits empfindliche
Einschnitte - nur sind diese Temporaer. Versuch mal mit Todesfolgen (oder
sogar mehreren) anspruchsvolle Gegner zu metzeln - Du wirst feststellen das im
Gegensatz zu der Zeit wo Du noch Spieler warst, Deine Kampfkraft merklich
geschwaecht ist und das mehrere nnline Stunden.

Cad*

-----------------------------------------------------------------------------



Re^5: 10SP-Abzug als Todesfolge (Patryn, 31. Okt 2002, 12:55:48):
~#! rn=Cadrach rt=1036065216 rg=entwicklung
~#! tid=1036054835
haben dich die erwachsenen als kind immer gewinnen lassen?
wohl etwas zu lange...
und ja, fuer mich gehoert es zu "mensch aerger dich nicht" sich auch mal
zu aergern,w eil man halt grad verloren hat.
das gehoert fuer mich zum spielkonzept dazu.
deine weichspuelpopwelt kann ich nicht so recht nachvollziehen.

-- 
patryn

-----------------------------------------------------------------------------



Re^6: 10SP-Abzug als Todesfolge (Cadrach, 31. Okt 2002, 13:00:38):
~#! rn=Patryn rt=1036065348 rg=entwicklung
~#! tid=1036054835
Ich sage nicht, das verlieren prinzipiell unsinn ist - Konsequenzen aus dem
verlieren steigern naemlich auch die Freude durch gewinnen und das hat dann
auch ganz klar einfluss auf das was ich Spielspass nenne. Was ich kritisiere
ist, das Catty Konzepte ueber Spielspass erhebt. Bloss weil Dir die Aussage
meines Artikels nicht passt - solltest Du ihn trotzdem sorgfaeltig lesen und
nicht Dinge reininterpretieren die ich weder gesagt noch gemeint habe.

Cad*

-----------------------------------------------------------------------------



Re^7: 10SP-Abzug als Todesfolge (Karis, 31. Okt 2002, 13:03:28):
~#! rn=Cadrach rt=1036065638 rg=entwicklung
~#! tid=1036054835
Du solltest Dir mal Gedanken drueber machen, dass
vor jeder Entwicklung ein Konzept stehen muss. 
Vielleicht lernst Du das mal im spaeteren Berufsleben.
Gaebe es kein Konzept, haettest Du hier nichtmal ne mpa,
in der Du solch geniale Aussagen treffen koenntest, Cadrach.

Karis

-----------------------------------------------------------------------------



Re^8: 10SP-Abzug als Todesfolge (Boing, 31. Okt 2002, 13:04:48):
~#! rn=Karis rt=1036065808 rg=entwicklung
~#! tid=1036054835
Die Idee mit den NPCs die die Sachen von getoeteten Spielern verwahren
hat was, dann wuerden naemlich die Forschertode nicht staerker ins
Gewicht fallen als bisher, da da ja in der Regel kein NPC die Todesursache
ist. Das Zeug wuerde dann im Raum liegen wie bisher.
  Boing

-----------------------------------------------------------------------------



Re^9: 10SP-Abzug als Todesfolge (Cuchullin, 31. Okt 2002, 14:03:33):
~#! rn=Boing rt=1036065888 rg=entwicklung
~#! tid=1036054835
Nachtrag zu Sou: Die Chaosgilde wurde kurz vor Einfuehrung der 
Forscherpunkte angeschlossen. Das harte Sterben gehoert also lt.
Zardoz urspruenglicher Definition zum beabsichtigten Geschaeft.

YTCu

-----------------------------------------------------------------------------



Re^6: 10SP-Abzug als Todesfolge (Gnome, 31. Okt 2002, 14:31:16):
~#! rn=Catweazle rt=1036064145 rg=entwicklung
~#! tid=1036054835
richtig sterben mit allem drum und dran? schoen und gut.
dann aber bitte mit konzept und allen konsequenzen:
- warum liegen (meistens) meine sachen im raum des NPCs? warum zieht
  er sie nicht an oder versteckt sie?
- warum verliere ich EP beim tod? eigentlich muesste ich doch
  an erfahrung gewinnen...?
- mit welcher begruendung werden stats gesenkt und ein malus verhaengt?
  ich werde "wiedergeboren", sollte also von anfang an frisch "dabei"
  sein...
- warum verliere ich keine neverdrop-items? mein koerper ist T O T.

die liste liesse sich bestimmt noch ein wenig fortfuehren.
WENN reform, dann richtig.

gnOme

-----------------------------------------------------------------------------



Re^6: 10SP-Abzug als Todesfolge (Miril, 31. Okt 2002, 14:31:58):
~#! rn=Catweazle rt=1036057117 rg=entwicklung
~#! tid=1036054835
Gegenvorschlag: In Anbetracht der Tatsache, dass man bei jedem Tod ne
Menge dazulernt (den Knopf drueck ich nicht mehr, der NPC ist zu stark
fuer mich usw...), sollte man doch eigentlich an Erfahrung gewonnen haben.
Nicht zu vergessen die ganzen netten Sequenzen, die man sonst nie kennen
gelernt haette. Wieso also Abzuege von SPs?
Nun mal im Ernst: Wozu das ganze? Wesentlich schmerzlicher (und da stimme
ich Karis voll und ganz zu, ist der Verlust des muehsam beim Schlange
stehen ermetzelten Krempels.
Miril, im Herzen Chaotin.

-----------------------------------------------------------------------------



Re^9: 10SP-Abzug als Todesfolge (Ogar, 31. Okt 2002, 14:53:17):
~#! rn=Boing rt=1036065888 rg=entwicklung
~#! tid=1036054835
Eine mildere Variante, bei der ein Spieler auch was tun muss, um Todesfolgen
los zu werden:  Todesfolgen gehen durch den Gewinn von Erfahrungspunkten weg.
Wegideln wuerde also nicht mehr gehen, gleichzeitig waere aber die
Ausruestung nicht in Gefahr.  Die Todesfolgen selber muessten natuerlich
deutlicher zu spueren sein als heute.

Eine moegliche Erweiterung waere, Spieler ab und zu auf (in Haeufigkeit
oder Schwierigkeit levelabhaengige) "Todesquests" zu schicken, etwa
"Besorge Zeugs fuer Lars".  Falls dann mal wieder Massensterben beim
Drachengott ist, stehen die Seher vielleicht an der Fundstelle Schlange.
Hmm, diese Vorstellung gefaellt mir irgendwie. :-)

-- 
Jan

-----------------------------------------------------------------------------



Re^7: 10SP-Abzug als Todesfolge (Muadib, 31. Okt 2002, 14:55:31):
~#! rn=Gnome rt=1036071076 rg=entwicklung
~#! tid=1036054835
stimmt als "wiedergeborener" solltest du ausgangstats, keine xps, keine eps,
keine fps und natuerlich keine quests haben

-----------------------------------------------------------------------------



Re^8: 10SP-Abzug als Todesfolge (Gnome, 31. Okt 2002, 14:59:38):
~#! rn=Muadib rt=1036072531 rg=entwicklung
~#! tid=1036054835
SO kann man das natuerlich auch sehen, aber ich glaube, dann koennte
man die monster komplett abschaffen ;-)

-----------------------------------------------------------------------------



Re: Re: 10SP-Abzug als Todesfolge (Ark, 31. Okt 2002, 15:16:01):
~#! rn=Catweazle rt=1036055017 rg=entwicklung
~#! tid=1036054835
Ganz kurz nur: es wuerde keinen (...Achtung...) _Spass_ mehr machen.
Man koennte auch Atmen einfuehren, oder Essen, oder Tag und Nacht, oder ...
Ach ja, und nochwas, es fehlt die Logik, und allein deshalb mag ich den
Vorschlag nicht, ganz zu schweigen davon, dass Du die MPA fuellst *boergs* ;^P


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^5: 10SP-Abzug als Todesfolge (Ark, 31. Okt 2002, 15:26:40):
~#! rn=Zarniya rt=1036060134 rg=entwicklung
~#! tid=1036054835
He, sind wir jetzt schon Politiker, die etwas gut finden und einfach mal
umsetzen, weil es die Stammwaehlerschaft befriedigt? An den Spielern vorbei zu
entscheiden ist nicht _immer_ opportun, grad wenn es um sowas geht. Heute mal
replyfreudig :-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^4: 10SP-Abzug als Todesfolge (Ark, 31. Okt 2002, 15:30:59):
~#! rn=Patryn rt=1036060258 rg=entwicklung
~#! tid=1036054835
Hm, ich setz die mehr als Mittel zum Zweck ein, und der Zweck ist nicht, dass
einem einer abgeht, wenn wieder "so ein Dussel" reinlaeuft, sondern um eine
Gegend, die gefaehrlich ist, auch glaubhaft zu machen. Fake Zaps sind nett,
wenn das ganze Gebiet dazu passt. Um jemandem einem Nervenkitzel (=Spielspass,
jedenfalls fuer mich) zu geben, muss man ihn halt manchmal "ein wenig zappeln"
lassen, ohne das Ganze als Grundloszap zu gestalten. Dann lassen sich imho
solche Stellen problemlos rechtfertigen. Anders vielleicht nicht.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^8: 10SP-Abzug als Todesfolge (Foobar, 31. Okt 2002, 16:37:06):
~#! rn=Muadib rt=1036072531 rg=entwicklung
~#! tid=1036054835
Und vor allen Dingen keine Lust mehr.

Foobar

-----------------------------------------------------------------------------



Re^9: 10SP-Abzug als Todesfolge (Ark, 31. Okt 2002, 16:54:18):
~#! rn=Boing rt=1036065888 rg=entwicklung
~#! tid=1036054835
Na, das muss man noch ueberdenken, mir als Pinzchen gefaellt es noch nicht so,
dass meine NPC son Haufen Muell mit sich rumschleppen. Miniquest, Forschraum,
da waeren sie vielleicht besser aufgehoben. Nur als Beispiel.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^9: 10SP-Abzug als Todesfolge (Mingo, 31. Okt 2002, 19:17:39):
~#! rn=Foobar rt=1036078626 rg=entwicklung
~#! tid=1036054835
Keine Lust mehr? Weil der Turbomodus raus ist?
Im Gegensatz zu dem was die Bierschuettler-Moron-Uebewurst hier verbreitet hat
bin ich es gewohnt, dass man auch mit Mali weiterzieht und metzelt. Ok, wenns
dann mal ganz arg war und kein Tee mehr da ist, dann geht man eben Raeume
froschen.
Runter auf 0 bei einem Tod ist fuer mich uebertrieben - aber ich kann
Uebertreibungen bei dem Thema verstehen. Ist ja schon fast wie Tarif-
verhandlungen - das Unmoegliche fordern um ueberhaupt was zu bekommen (naja,
einmal sollte das wenigstens funktionieren).
Die Mali zu verstaerken und durch den negativen Todeseindruck auch 
Erfahrungen zu verlieren waer fuer mich in Ordnung. (Liegt vielleicht auch 
daran, dass ich nie so sehr nach Levelsternen gegriffen und auch die
Ruecknahme des Altspieler-FP-Bonus ueberlebt habe (4 Level *schauder*)).

Durch die FP-Reform haben gerade Level eine enorme Abwertung erfahren, eines 
der Dinge die frueher beim Tod (ueber die XP - Stichwort Levelabhaengigkeit) 
wehtaten. Fuer irgendwelche Objekte kann man Level allenfalls noch 
logarithmisch einfliessen lassen, ansonsten sind sie gerade noch gut zum 
Bitvergleich.

Und der "neue" Todesmalus? Das einzig aergerliche ist der Attribut-Malus, 
der geht sehr schnell weg - der Qualitaetsmalus ist laecherlich bei einem 
Tod.

Kurz: Der Tod ist lange nicht mehr prickelnd schreckenverheissend.
Nicht mehr das Konzept Tod schreckt sondern im besten Falle die gut 
geschriebenen Orte an denen man sich vor der Tastatur zu Tode fuerchtet. 
Laeuft man gerade nicht durch solch eine Gegend, dann aergert man sich fast 
nur noch aus Gewohnheit ueber einen Tod.

-----------------------------------------------------------------------------



Re^10: 10SP-Abzug als Todesfolge (Alkohol, 31. Okt 2002, 19:21:31):
~#! rn=Mingo rt=1036088259 rg=entwicklung
~#! tid=1036054835
nur mal so fuer mich weil ich das noch nciht geblickt habe und ein bischen
langsam im denken bin
(Antwort ist in guter megaschmarrnart an den letzten artikel, das will aber
nichts heissen)

Was genau versprecht ihr euch von der Verschaerfung der Todesfolgen? Koennte
da einfach mal eine Liste mit kurzen Stichpunkten kommen, so dass ich die auch
verstehe? Lange Artikel lese ich naemlich nicht so gerne.

Alk

-----------------------------------------------------------------------------



Re^10: 10SP-Abzug als Todesfolge (Bambi, 31. Okt 2002, 19:21:37):
~#! rn=Ark rt=1036079658 rg=entwicklung
~#! tid=1036054835
@Thread
Kann ja sein, dass ich mich (als RM) grad weit ausm Fenster lehne, aber wenn
es unfaire Stellen in einem Gebiet gibt, kann man sich beim zustaendigen RM
mal melden (und ggf. beschweren). Als RM Gebirge habe ich bisher aber kaum
solche "Beschwerden" bekommen. Mag sein, dass Boing sei Dank kaum unfaire
Stellen im Gebirge vorhanden sind, mag aber auch sein, dass sich niemand die
Muehe macht, sich bei mir zu melden.
Ich stimme der Aussage, dass unfaire Todesfallen "entschaerft" gehoerten,
durchaus zu, allerdings halte ich die Existenz unfairer Todesfallen nicht fuer
ein Argument gegen schaerfere Todesfolgen. Zumindest solange nicht, solange
man sich (erfolgreich) ueber sowas beschweren kann. Mag sein, dass es in
einigen Regionen sinnlos ist, sich darueber zu mockieren, aber zumindest im
Gebirge bin ich arrogant genug, gewisse hoheitliche Worte auszusprechen.
Dafuer krieg ich ggf. auch maechtig Tritte und mach mich unbeliebt...
MfG, Bambi.

-----------------------------------------------------------------------------



Re^4: 10SP-Abzug als Todesfolge (Thargor, 31. Okt 2002, 21:21:55):
~#! rn=Catweazle rt=1036056720 rg=entwicklung
~#! tid=1036054835
Ich werde mich masslos aergern, wenn ich in eine dieser Fallen tappe (ob ohne
Warnung oder eine, die ich uebersehen habe). Allerdings kann es mir auch im RL
passieren, dass ich morgen vom Auto ueberrollt, von einem Idioten abgeknallt
oder sonstwie zu Lars befoerdert werde (dort leider ohne reinkarnation) also
sind einige Todesfallen im MG als realismus-steigernd zu betrachten.

Ich denke ein Tod sollte Schaeden hinterlassen .. warum also nicht ein paar
Stufenpunkte abziehen. Die Idee das sterben fuer kleine spieler weniger hart
als ffuer grosse SEHER zu machen kann ich (von hier unten aus gesehen :) nur
unterstuetzen.

Thargor
no risk no fun ... aber wehe es erwischt micht .. ich werde tagelang jammern
:)

-----------------------------------------------------------------------------



Re^5: 10SP-Abzug als Todesfolge (Firehawk, 31. Okt 2002, 21:30:08):
~#! rn=Thargor rt=1036095715 rg=entwicklung
~#! tid=1036054835
Hmmm, ich hasse es ja eigentlich mich in solche Mainstream-diskussionen
einzumischen, aber ich muss dann dochmal meinen Senf zu diesem Thema abgeben.

Ich bin jemand, der nicht sonderlich oft oder gern oder gar erfolgreich
metzelt. Ich queste/forsche lieber (vieleicht auch das nicht sonderlich
erfolgreich, aber es macht wenigstens Spoass). Nun gehoert bei mir zum
Forschen auch das Ausprobieren von Dingen, die eigentlich so sehr nach Tod
stinken, dass man umdrehen und sofort weglaufen muesste, aber da ich CHaot
bin, macht mir das nix aus. Wenn ihr jetzt allerdings anfangt Stufenpunkte zu
entziehen, die ich auf meiner Stufe dann irgendwie kaum noch kompensioert
krieg (hab nunmal bis auf 2 Ausnahmen alle Questen und bin dafuer bekannt
Fp-Details zu uebersehen ;)), dann nimmt mir das zwar nicht die Motivation
(ich seh mir ja die Gebiete nicht rein wegen meiner Stufe an) aber dennoch
einen Teil des Spasses (Belohnung macht immer SPass und wiederholen ist
gestohlen oder wie war das?).
Also ich persoenlich finde da die Idee mit den neu zu holenden ZT's wesentlich
besser. Oder die mit den Todquesten (notdfalls muss man halt als Geist ein
paar Aufgaben erledigen, sowas wie Nachrichten zu bestimmten Spielern bringen
oder sowas, eben was, das nicht 100% scriptbar ist und dem Spieler etwas
Aufwand macht).


My 2 cents ... Firehawk (eigentlich recht gerne sterbend)

-----------------------------------------------------------------------------



Re^9: 10SP-Abzug als Todesfolge (Thargor, 31. Okt 2002, 21:37:42):
~#! rn=Boing rt=1036065888 rg=entwicklung
~#! tid=1036054835
.. aber was ist mit den SEHERN, die nach 90 Tagen uptime 3-4 Garnituren guter
Ausruestung zusammen haben?
Sie metzeln mit der 2. und 3. Garnitur weiter und spaetestens bei der 4. Runde
spuckt der NPC infolge des eigenen Ablebens die Ausruestung wieder aus.
Also nur Todesfolgen fuer schwache Spieler?!

Anders waere es, wenn die Ausruestung nicht im NPC erhalten bliebe (aber dann
waere es unlogischer .. )

Thargor
still alive

-----------------------------------------------------------------------------



Re^10: 10SP-Abzug als Todesfolge (Orktoeter, 31. Okt 2002, 21:43:48):
~#! rn=Thargor rt=1036096662 rg=entwicklung
~#! tid=1036054835
Es gibt ja jetzt schon Todesfolgen (ausser dem EP-verlust). Die Statmali und
die "Todesfolgen" wurden ja auch schon erwaehnt. Wenn "man" der Meinung ist,
diese Folgen seien zu schwach (was bei mehreren Toden in Folge evtl. auch
nicht mehr so ist), warum dreht man dann nicht an der Schraube ein wenig,
anstatt mit voellig anderen Ansaetzen zu kommen?

OrkT.

-----------------------------------------------------------------------------



Re^11: 10SP-Abzug als Todesfolge (Cuchullin, 31. Okt 2002, 22:02:50):
~#! rn=Orktoeter rt=1036097028 rg=entwicklung
~#! tid=1036054835
Weil der bisherige Ansatz mit /usr/bin/screen und C-a D ad acta gelegt
werden kann ("z.Z. abwesend, Grund  : tode abideln"). Fuer Dich mag 
der Ansatz ja intelligent erscheinen. Fuer viele andere ist es halt 
ein Ansatz. Einer, den man nicht unbedingt noch ausweiten muss, sonst
ist das Motto "Tod = 1 Tag Spielpause" tatsaechlich dasselbe in 
dunkelblau. 

Unter dem Gesichtspunkt, dass *erst* der Tod schmerzhafter (wobei mein
Shidoshi immer predigte, dass die Probleme erst anfangen, wenn man 
ploetzlich KEINE Schmerzen mehr hat ;)) werden soll und *dann* erst 
die uebelsten Gelegenheitstode entfernen will, ist nicht auch nur ein
akzeptabler Verbesserungsvorschlag gekommen. Nix von Spieler-, nix von
Magierseite. Was schade ist, aber nicht wirklich ueberrascht.

YTCu

-----------------------------------------------------------------------------



Re: 10SP-Abzug als Todesfolge (Gor,  1. Nov 2002, 11:01:04):
~#! rn=Catweazle rt=1036054835 rg=entwicklung
~#! tid=1036054835
Toller Vorschlag CVatty. :( Das foerdert dnn die Samthandschuhemetzler, ob das
dann noch Spass macht. Ausserdem solls ja Gilden geben in denen man die
Nachwirkungen eines Todes sehr genau zu spuren bekommt. Die sind imho voellig
ausreichend, wenn die anderen Gilden dementsprechend adaptiert werden wuerden

Gruesse Gor


-----------------------------------------------------------------------------



Re: Re: 10SP-Abzug als Todesfolge (Mingo,  1. Nov 2002, 11:05:31):
~#! rn=Gor rt=1036144864 rg=entwicklung
~#! tid=1036054835
Du bist also pro Erhoehung "der Nachwirkungen eines Todes", moechtest das aber
in den Gilden loesen indem "anderen Gilden dementsprechend adaptiert werden"?
Wieso um Lars' Willen gerade dort?

-----------------------------------------------------------------------------



Re^3: 10SP-Abzug als Todesfolge (Gor,  1. Nov 2002, 11:16:45):
~#! rn=Mingo rt=1036145131 rg=entwicklung
~#! tid=1036054835
Hi Mingo,
vielleicht leihst du dir mal einen Duden und schlaegst das Wort "ausreichend"
nach. 
Es ist nur nicht einzusehen, dass die Einen unter einem Tod mehr leiden als
die Anderen.

Gor

-----------------------------------------------------------------------------



Re^12: 10SP-Abzug als Todesfolge (Orktoeter,  1. Nov 2002, 11:57:13):
~#! rn=Cuchullin rt=1036098170 rg=entwicklung
~#! tid=1036054835
Der Ausloeser des ganzen war doch, das Catty sich daran stoert, das der Tod
insofern nicht stoert, als das man sich die zweit- dritt- viertausruestung
nimmt und weitermetzelt. Wenn sich aber ein Spieler hinstellt und die
Todesfolgen abidlet, ist das doch wohl ganz etwas anderes als einfach weiter
zu metzeln oder?
Vielleicht sollten Catty und du euch mal einigen ob Spieler denn nun
weitermetzeln koennen oder die Todesfolgen abidlen.

OrkT.

-----------------------------------------------------------------------------



Re^13: 10SP-Abzug als Todesfolge (Boing,  1. Nov 2002, 11:58:53):
~#! rn=Orktoeter rt=1036148233 rg=entwicklung
~#! tid=1036054835
Wer sagt denn dass Catty und Cuch einer Meinung sein muessen?
  Boing

-----------------------------------------------------------------------------



Re^14: 10SP-Abzug als Todesfolge (Orktoeter,  1. Nov 2002, 12:11:33):
~#! rn=Boing rt=1036148333 rg=entwicklung
~#! tid=1036054835
Ok, dann also noch mal speziell an Catty die Frage:
Warum schon wieder etwas neues?
Es gabs ganz frueher den EP-verlust (obwohl ja einige hier schon schrieben,
das man da ja eigentlich neue Erfahrungen macht).
Dann kamen die Statmali und die Todesfolgen (und der EP-Verlust durfte auch
gleich bleiben)
Warum jetzt schon wieder etwas neues?
Wenn es dir nur darum geht, das man nicht sofort weitermetzeln kann, dann
liesse sich das durch Statmali und Todesfolgen sicherlich steuern, indem man
die zeitlich dehnt bzw. staerker macht (wenn die fuer unterschiedliche Gilden
wirklich unterschiedlich stark wirken sollte die Gildenbalance da ja
vielleicht auch mal ein Auge drauf werfen).

OrkT.

-----------------------------------------------------------------------------



Re^15: 10SP-Abzug als Todesfolge (Mingo,  1. Nov 2002, 12:13:55):
~#! rn=Orktoeter rt=1036149093 rg=entwicklung
~#! tid=1036054835
"und der EP-Verlust durfte auch gleich bleiben"
Unsinn. Durch die steigenden Level wurde der EP-Verlust wesentlich geringer.

-----------------------------------------------------------------------------



Re^6: 10SP-Abzug als Todesfolge (Taranis,  1. Nov 2002, 12:58:49):
~#! rn=Firehawk rt=1036096208 rg=entwicklung
~#! tid=1036054835
wille
Also ich finde die Idee mit den Todes-Mini-Questen o.ae. auch viel besser als
einfach SP abzuziehen. Zumal man in Form der Mini-Questen ja auch z.T. wieder
was neues kennelernt, was den Spielspass IMHO definitiv erhoeht.
Auch die neu zu findende ZTs halte ich fuer eine sinnvollere
"Todesbestrafung". Irgendjemand hat hier im Thread ja schon einen Link auf
einen Text mit Ideen zu dem Thema aus dem Silberland gepostet, da steht meiner
Meinung nach auch einiges drin, was sich interessant anhoert.
Viele Gruesse, Taranis

-----------------------------------------------------------------------------



Re^10: 10SP-Abzug als Todesfolge (Ark,  1. Nov 2002, 13:50:06):
~#! rn=Mingo rt=1036088259 rg=entwicklung
~#! tid=1036054835
Hm, erinnere ich mich recht, dass bei Einfuehren der "neuen" Todesfolgen vor
einiger Zeit Gejammer entstand, dass man soooo lange mit den Folgen zu leben
haette und das soooo teuer waere telefontechnisch gesehen? Und jetzt isses zu
lasch? Interessant :-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^11: 10SP-Abzug als Todesfolge (Amaryllis,  1. Nov 2002, 13:51:10):
~#! rn=Ark rt=1036155006 rg=entwicklung
~#! tid=1036054835
Nuja, das war, bevor es DSL gab :-)

scnr,
Ama*

-----------------------------------------------------------------------------



Re^7: 10SP-Abzug als Todesfolge (Tektuko,  1. Nov 2002, 13:58:24):
~#! rn=Gnome rt=1036071076 rg=entwicklung
~#! tid=1036054835
richtig sterben mit allem drum und dran? okay, ihr kennt doch sicher alle(oder
die meisten) den hardcore modus von Diablo :)

-----------------------------------------------------------------------------



Re^15: 10SP-Abzug als Todesfolge (Ark,  1. Nov 2002, 14:00:06):
~#! rn=Orktoeter rt=1036149093 rg=entwicklung
~#! tid=1036054835
Tja, wenn idlen nicht sein soll, koennte man ja die folgen belassen, wenn der
PC idelt. Ein paar Abfragen mehr.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^11: 10SP-Abzug als Todesfolge (Mingo,  1. Nov 2002, 14:36:24):
~#! rn=Ark rt=1036155006 rg=entwicklung
~#! tid=1036054835
Du bist doch nun lange genug dabei, um zu wissen welche Fraktion immer jammert
und welche etwas progressiver oder zumindest experimentierfreudiger ist. Und
bei Fraktionen melden sich regelmaessig in der Zeitung zu den gleichen Themen.
Achja, und dann gibt es noch die Gruppen der Nichtleser und der Einpeitscher
:)

-----------------------------------------------------------------------------



Re^7: 10SP-Abzug als Todesfolge (Foobar,  1. Nov 2002, 17:51:20):
~#! rn=Taranis rt=1036151929 rg=entwicklung
~#! tid=1036054835
Todes-Mini-Questen, soso...

[Tod:Lars] Irgendwas hat gerade Foobar umgebracht.
[Tod:Lars] Glueckwunsch Foobar, Du darfst jetzt erstmal Amnepethua helfen,
[Tod:Lars] bevor Deine Stats wieder voll sind.

Ach, Ihr wollt _neue_ Miniquests? Wer soll die denn alle schreiben?

Gruss,

   Foobar

-----------------------------------------------------------------------------



Re^8: 10SP-Abzug als Todesfolge (Cuchullin,  1. Nov 2002, 17:53:11):
~#! rn=Foobar rt=1036169480 rg=entwicklung
~#! tid=1036054835
Gebe Jof, dass Ark nicht genug Zeit hat. ;)


-----------------------------------------------------------------------------



Re^9: 10SP-Abzug als Todesfolge (Foobar,  1. Nov 2002, 17:54:13):
~#! rn=Cuchullin rt=1036169591 rg=entwicklung
~#! tid=1036054835
Seh es mal so, am Ende huepfen die Forscher alle in die Tode, nur um die
Miniquests machen zu koennen ;o)

Foobar

-----------------------------------------------------------------------------



Re^8: 10SP-Abzug als Todesfolge (Taranis,  1. Nov 2002, 17:58:11):
~#! rn=Foobar rt=1036169480 rg=entwicklung
~#! tid=1036054835
Naja, ich gebe ja zu, dass das mit den Miniquests ein Problem ist. Aber 2-4
Zaubertraenke neu suchen zu muessen geht ja auch als Todesfolge und deutlich
einfacher zu erreichen.
Gut nach 200 Toden gibt es vielleicht keine ZTs im MG, deren Standort man noch
nicht kennt... *g*
Viele Gruesse,
Taranis

-----------------------------------------------------------------------------



Re^9: 10SP-Abzug als Todesfolge (Foobar,  1. Nov 2002, 17:59:43):
~#! rn=Taranis rt=1036169891 rg=entwicklung
~#! tid=1036054835
Dich moechte ich sehen, wenn Dir nach dem Tod erklaert wird, dass Du erstmal
den Gullideckel finden musst bevor der Ausdauerpunkte zurueckkommt. :o)

Foobar

-----------------------------------------------------------------------------



Re^9: 10SP-Abzug als Todesfolge (Ark,  1. Nov 2002, 18:00:45):
~#! rn=Cuchullin rt=1036169591 rg=entwicklung
~#! tid=1036054835
Keine Angst, der hat einen rigiden Plan ;^)
Wann wird jemand Magier, um die Gilde voranzubringen?


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^9: 10SP-Abzug als Todesfolge (Gnome,  1. Nov 2002, 18:02:38):
~#! rn=Taranis rt=1036169891 rg=entwicklung
~#! tid=1036054835
merkt denn keiner, dass hier loesungen gebraucht werden die

a) zwar schmerzhaft sind, aber trotzdem nicht nerven?
und
b) die man nicht mal eben mit "/todesfolge_erledigen" abzuarbeiten ist.

und nein, ZTs neu suchen erfuellt weder a) noch b).

gnOme

-----------------------------------------------------------------------------



Re^10: 10SP-Abzug als Todesfolge (Taranis,  1. Nov 2002, 18:03:24):
~#! rn=Foobar rt=1036169983 rg=entwicklung
~#! tid=1036054835
Klar werde ich davon nicht begeistert sein. Aber ich finde das sinnvoller und
logischer als simpel SPs abzuziehen. Hat natuerlich die Folge, dass die Leute
vermutlich vorsichtiger sein werden. (Das ist aber wohl auch die Absicht, die
Todesfolgen zu verschaerfen, oder?)
Viele Gruesse, Taranis

-----------------------------------------------------------------------------



Re^10: 10SP-Abzug als Todesfolge (Miril,  1. Nov 2002, 18:04:38):
~#! rn=Gnome rt=1036170158 rg=entwicklung
~#! tid=1036054835
Seit wann werden hier Loesungen gebraucht?
Miril

-----------------------------------------------------------------------------



Re^11: 10SP-Abzug als Todesfolge (Ark,  1. Nov 2002, 18:07:12):
~#! rn=Miril rt=1036170278 rg=entwicklung
~#! tid=1036054835
MQs sind uebrigens auch mit dem "Scripten" Argument totzuschlagen, und eine
unendliche Anzahl Quests wird es sicher nicht geben. Aber immer noch besser
als einiges, was da aus dem Silberland zu lesen war. Naechstes Gesellenstueck?
Wer wagt es?


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^7: 10SP-Abzug als Todesfolge (Thargor,  1. Nov 2002, 21:47:26):
~#! rn=Taranis rt=1036151929 rg=entwicklung
~#! tid=1036054835
Mini-Questen um einen Tod 'aufzuarbeiten' .. Wenn es da nicht hunderte von
gibt (freiwillige Questschreiber vor) dann wird das aber schnell langweilig.
Oder bekommt man immer die gleiche Mini-Quest nach dem Tod .. dann , ja dann
ist es nach dem 3. Tod sterbenslangweilig ...

Thargor
hat noch nicht alle Questen,
hat aber nichts gegen nochmehr regulaere Questen :)

-----------------------------------------------------------------------------



Re^11: 10SP-Abzug als Todesfolge (Thargor,  1. Nov 2002, 21:48:12):
~#! rn=Ark rt=1036155006 rg=entwicklung
~#! tid=1036054835
... das ist, weil es keine Telefonkosten mehr gibt 

Thargor,
haut seine Ratte platt

-----------------------------------------------------------------------------



Re^8: 10SP-Abzug als Todesfolge (Ogar,  1. Nov 2002, 22:14:37):
~#! rn=Thargor rt=1036183646 rg=entwicklung
~#! tid=1036054835
Ich sehe in Todes-Mini-Quests weniger eine unterhaltsame Abwechslung fuer
Spieler, als eine besser dosierbare Alternative zum Verlust von Ausruestung.
Daher wuerden wenige Mini-Quests IMHO schon reichen.  Zum 1000ten Mal eine
brennende Hose zu metzeln ist auch nicht sehr spannend, aber genau das
ist es, was einem Spieler den Ausruestungsverlust so unangenehm macht.

Ogar

-----------------------------------------------------------------------------



Re^9: 10SP-Abzug als Todesfolge (Asuka,  1. Nov 2002, 22:17:40):
~#! rn=Ogar rt=1036185277 rg=entwicklung
~#! tid=1036054835
Und was passiert wenn man waehrend dieser Todes-Mini-Quest nochmal stirbt?
Dann
muesste man ja erstmal die naechste spielen, bevor man mit der anderen
weitermacht.

Asuka

-----------------------------------------------------------------------------



Re^10: 10SP-Abzug als Todesfolge (Ogar,  1. Nov 2002, 22:25:54):
~#! rn=Asuka rt=1036185460 rg=entwicklung
~#! tid=1036054835
Ich sehe keinen zwingenden Grund dafuer.  Es sollte reichen, wenn waehrend
laufender Todes-Mini-Quests bei weiteren Toden nur die Todesfolgen
hochgezaehlt werden.  Falls die Regenerierung der Attribute erst nach
Abschluss der Quest beginnt, wuerde auch kaum jemand auf die Idee kommen,
auf diese Quests dauerhaft zu verzichten.  .->

Ogar

-----------------------------------------------------------------------------



Re^6: 10SP-Abzug als Todesfolge (Toe,  1. Nov 2002, 23:29:31):
~#! rn=Catweazle rt=1036057117 rg=entwicklung
~#! tid=1036054835
Nun, so kann OT das durchaus verstehen.
Das lassen eines 10tel levels finde ich gut...

-----------------------------------------------------------------------------



Re^12: 10SP-Abzug als Todesfolge (Roland,  3. Nov 2002, 13:02:04):
~#! rn=Thargor rt=1036183692 rg=entwicklung
~#! tid=1036054835

'... das ist, weil es keine Telefonkosten mehr gibt'

- ajo nich ueberall gibt es keine tele-kosten mehr.
- nich ueberall gibts flats

- ...

-----------------------------------------------------------------------------



Re^5: 10SP-Abzug als Todesfolge (Key,  3. Nov 2002, 22:39:29):
~#! rn=Cadrach rt=1036065216 rg=entwicklung
~#! tid=1036054835
Ich spars mir mal, alles bis zum Schluss durchzulesen ...

Aber ich stimme zu, dass Tode haerter sein sollten.
Das tat ich damals als aktiver Spieler, und das mache ich heute ...

Damals, als es nur Epse gab, taten Tode weh ... man verlor Zeit, die man
brauchte um die Epse wieder reinzuholen.
Dann gabs die Abwertung der Epse, die Einfuehrung der Stusse und FP und was
weiss ich welcher neumodische KRam noch (*g*), und schon waren Tode nurnoch
eine Nebensache.
Das bisserl Verlust bei Toden ... was solls. Wer ein paar Mio EP hat, der
stoehrt sich daran wohl weniger.

Dann gab es die Verschaerfung, damals von Rochus eingefuehrt, und umgehend an
mir getestet (jaja ;) ). Auf den ersten Blick schien es hart. Aber mit etwas
Abstand betrachtet (zeitlich, und zum Spiel), ist auch die Verschaerfung nur
eine Nebensache.
Ich hatte damals mehrere Player idlen lassen, damit die Todesfolgen
verschwinden.

Fuer mich wuerden verschaerfte Todesfolgen auch wieder was zum Spielspass
beitragen. Ihr seht die Situation nur aus eurer Sicht, ihr kennt es zum Teil
gar nicht mehr anderst.
Was ist so schlimm dadran, sich auf das Spiel zu konzentrieren, anstatt nur
schnell ein paar scripte abzuarbeiten?
Richtig ... es kostet mehr Zeit, und man muesste aktiv spielen.
Das geht ja nicht ;)

Cu

P.S.: Nein, das ist nicht meine Meinung, nur damit ich die meissten Tode habe
... ich denk mal, ich wurde eh inzwischen ueberholt.

-----------------------------------------------------------------------------



Re^6: 10SP-Abzug als Todesfolge (Jadawin,  3. Nov 2002, 23:42:11):
~#! rn=Key rt=1036359569 rg=entwicklung
~#! tid=1036054835
Das Unangenehme an der -10Stupse-Regelung waere halt, dass man das eigentlich
nie wieder aufholen kann. Verlorene XP, so sehr sie auch weh taten, konnte man
ja mit entsprechenden Aufwand trotzdem vollstaendig wieder holen, aber an FP,
AP und EK gibt es halt nur eine begrenzte Zahl.
Jad*

-----------------------------------------------------------------------------



Re^7: 10SP-Abzug als Todesfolge (Wurzel,  4. Nov 2002, 15:57:06):
~#! rn=Jadawin rt=1036363331 rg=entwicklung
~#! tid=1036054835
da kommt man nach monaten endlich mal wieder ins mg, und was stellt man fest?
es hat sich nichts geaendert, und noch immer gibt es die gleichen alten
diskussionen wie schon vor jahren, schoen. es tut doch gut, wenn es gewisse
konstanten gibt. danke, catty, fuer den nachweis der entwicklungsunfaehigkeit
der muddergemeinde. wann kommen die anderen standardthemen wieder dran?

wurzel

-----------------------------------------------------------------------------



Re: Re: break_string usw (Key,  4. Nov 2002, 20:51:42):
~#! rn=Vardion rt=1036406043 rg=mudclients
~#! tid=1036150747
Ist doch schoen Wurzel, so fuehlt man sich gleich wieder zuhause ... selbst
nach 3 Jahren ;)

Jadawin ist der Tod nicht normal etwas endgueltiges? So verschwinden halt ein
paar Puenktchen in der Unendlichkeit :)
Und auf nimmerwiedersehen verloren sind sie ja auch nicht.
Es werden staendig wieder neue Gebiete gebastelt, wo es neue Erstkills und
FP's gibt.
Bei den FP bin ich mir nicht so ganz sicher ... gabs da eine feste Zahl, oder
ist die erweiterbar?

Ist doch ein netter Ansporn, sich auch mal etwas mehr umzusehen. Wenns noch so
ist wie vor 3-4 Jahren, dann rennen nur bestimmte Leute in die neuen Gegenden.
Die meissten jedoch brauchen min ein paar Monate, bevor sie sich ueberhaupt in
die Naehe wagen.


Cu

-----------------------------------------------------------------------------



Re^12: 10SP-Abzug als Todesfolge (Woody,  4. Nov 2002, 22:09:22):
~#! rn=Ark rt=1036170432 rg=entwicklung
~#! tid=1036054835
[Miniquests]
> Aber immer noch besser als einiges, was da aus dem Silberland
> zu lesen war.

Soweit ich mich erinnere, waren in der SL-Liste Miniquests auch
dabei. Weiters war es nur eine Liste von Ideen, die sich im Laufe
der Zeit auch von Spielerseite her angesammelt haben, und zwar
eine noch nicht aufgearbeitete. Dachte eigtl. das waer klar genug
ruebergekommen. Offenbar aber nicht...


Woody.-


-----------------------------------------------------------------------------



Re^8: 10SP-Abzug als Todesfolge (Bambi,  4. Nov 2002, 23:36:26):
~#! rn=Wurzel rt=1036421826 rg=entwicklung
~#! tid=1036054835
Dass sich nichts aendert, liegt aber m.E. daran, dass derzeit kein EM Lust und
Courage verspuert, ein neues Todesfolgenkonzept einzufuehren und (natuerlich
auch) daran, dass es derzeit kein Konzept gibt. Es moege sich bitte kein EM
durch diese Aussage angegriffen fuehlen. Mir ist durchaus klar, dass man (EM)
sich lieber um wichtigere Sachen kuemmert, aber ohne Initiative mindestens
eines EMs aendert sich da vermutlich nichts.
Ok, ein Magier koennte bei sich aehnlich wie bei Faketoden gewisse
"Sonderbelastungen" einfuehren, allerdings waer ein mudweites Konzept
erstrebenswerter.

-----------------------------------------------------------------------------



Re^3: break_string usw (Jadawin,  5. Nov 2002, 03:17:08):
~#! rn=Key rt=1036439502 rg=entwicklung
~#! tid=1036150747
Tja, dann waerst Du jetzt Level 10 und konsequenterweise auch nicht mehr
Seher. Keine weiteren Fragen. ;)
Jad*

-----------------------------------------------------------------------------



Re^13: 10SP-Abzug als Todesfolge (Ark,  5. Nov 2002, 13:14:02):
~#! rn=Woody rt=1036444162 rg=entwicklung
~#! tid=1036054835
Ich hatte auch an andere Vorschlaege aus dem Text gedacht, weniger Deine
Auszuege :-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^4: break_string usw (Key,  7. Nov 2002, 12:22:59):
~#! rn=Jadawin rt=1036462628 rg=entwicklung
~#! tid=1036150747
Sicher? :)

Ich bin Seher geworden, als die Epse zaehlten ... es war hart, aber es ging
*g*

Nach den vorgeschlagenen Regelungen waere ich vielleicht nicht Seher geworden,
aber haette da garantiert auch anderst gespielt ...


Cu

-----------------------------------------------------------------------------



Antrag (Catweazle,  7. Nov 2002, 14:09:27):
~#! on=Grimmborn ot=1036674535 og=schmarrn
~#! on=Matis ot=1036674455 og=megaschmarrn
Ich moechte testen, wieviele sinnlose Re's ich auf ein Posting hier im
MG bekommen kann. Der bestenden Thread in dieser rubrik ist mir zu sinnvoll,
daher moechte ich einen komplett neuen Thread starten. Allerdings wird mir
das in dieser Rubrik von gewissen missguenstigen Leuten unmoeglich gemacht,
sie fuerchten eindeutig den fairen Wettstreit. Aus Erfahrung ist mir bekannt,
dass solche Threads in anderen Rubriken nicht gern gesehen werden. Daher 
beantrage ich die Eroeffnung einer neuen Rubrik, megaschmarrn2. Da dieser
Wunsch auch von anderen Spielern gehegt werden koennte, die unabhaengig
von mir und allem bestehenden megaschmarrn wollen, beantrage ich gleichzeitig 
auch die Eroeffnung der Rubriken megaschmarrn3 bis megaschmarrn100, damit
sich diese Spieler frei entfalten koennen. Danke fuer die AUfmerksamkeit!

Matis

PS Wer das ernst nimmt ... 

-----------------------------------------------------------------------------



Antwort an: (Deepblue, 14. Nov 2002, 11:24:23):
Koennte man der mpa nicht nen feature verpassen, dass bei Artikeln in
speziellen Rubriken antworten automatisch in eine andere Rubrik gehen? Ich
denke hier speziell an treffen.bekanntmachungen -> treffen

-----------------------------------------------------------------------------



Re: Antwort an: (Grimmborn, 14. Nov 2002, 11:59:04):
~#! rn=Deepblue rt=1037269463 rg=entwicklung
~#! tid=1037269463
Ist auf der todo-Liste, gleich nach dem Punkt "Maschine, die den Spielern auf
der Toilette automatisch den Hintern abwischt".

GdA

-----------------------------------------------------------------------------



ansi-mud? (Whitetiger, 17. Nov 2002, 10:20:20):
wie waere es, wenn man das mg mal 'anmalen' wuerde? ich weiss nicht, wie man
das implementieren muesste, aber es wuerde toll sein, wenn das mud von sich
aus (und nicht erst durch hilites) farbenfroher waere. zb. koennten ebenen
automatisch eingefaerbt werden, details koennten entsprechend sein, oder
raeume, zb. blau fuer meer, gruen fuer ebene, usw...
WT.

-----------------------------------------------------------------------------



Re: ansi-mud? (Leibi, 17. Nov 2002, 11:55:12):
~#! rn=Whitetiger rt=1037524820 rg=entwicklung
~#! tid=1037524820
also bei mir ist macht das mein zmud von alleine :)

auch wenn ich seit letzter woche nicht mehr so zufrieden mit bin und unter
zeitweiser erblindung leide :)

leibi

-----------------------------------------------------------------------------



Re: Re: ansi-mud? (Cuchullin, 17. Nov 2002, 17:41:27):
~#! rn=Leibi rt=1037530512 rg=entwicklung
~#! tid=1037524820
Das ist eine doch sehr plumpe Abblocke eines an und fuer sich nicht
unbedingt ueblen Vorschlags. Es gibt Dinge, die *kann* der Client nicht
zuverlaessig einfaerben, z.B. etwas der Art:
- Objekte 'gelb'
- Lebewesen 'rot'
- Spieler 'lila'
Zuverlaessige Disambiguierung von Mudseite haette schon was, kommt
mir aber im Morgengrauen rein intuitiv (Argumente habe ich noch keine)
fehlplatziert vor.

YTCu.

-----------------------------------------------------------------------------



Re^3: ansi-mud? (Boing, 17. Nov 2002, 17:47:30):
~#! rn=Cuchullin rt=1037551287 rg=entwicklung
~#! tid=1037524820
Problem ist folgendes: Spieler A hat als normale Farbeinstellung schwarze
Schrift auf weissem Grund, Spieler B hat gelbe Schrift auf blauem Grund,
Spieler C liest gerne gruen auf schwarz und Spieler D hat's an den Augen
und mag blau auf gruen. So. Also muesste man die Farben auch noch 
konfigurierbar machen. Das ist fuer mich ein Aufwand, der in den Client
gehoert und nicht ins Mud.
  Boing

-----------------------------------------------------------------------------



Re^4: ansi-mud? (Cuchullin, 17. Nov 2002, 17:51:56):
~#! rn=Boing rt=1037551650 rg=entwicklung
~#! tid=1037524820
Ach, hab Dich nicht so. Das geht alles. Wirklich. Ich weiss es. Ganz
sicher. Es gibt Muds, die leben von Farbe (eben weil man schnell (!)
sehen muss, was da im Raum steht und gleich gemein scrollen will).
Und klar kann man da alles durchkonfigurieren. :)

YTCu :)

-----------------------------------------------------------------------------



Re^4: ansi-mud? (Eldaron, 17. Nov 2002, 18:02:44):
~#! rn=Boing rt=1037551650 rg=entwicklung
~#! tid=1037524820
'ausruestung farben' hat es vorgemacht. :o)

Eldaron

-----------------------------------------------------------------------------



Re^5: ansi-mud? (Whitetiger, 17. Nov 2002, 18:06:00):
~#! rn=Eldaron rt=1037552564 rg=entwicklung
~#! tid=1037524820
genau, so, und halt fuer mehr als nur 'ausruestung' :)
WT.

-----------------------------------------------------------------------------



Re^6: ansi-mud? (Eldaron, 17. Nov 2002, 18:08:27):
~#! rn=Whitetiger rt=1037552760 rg=entwicklung
~#! tid=1037524820
Ich muss sagen, dass mir Cuchullins Idee gut gefaellt. Farben fuer
/std/weapon, /std/armour, /std/thing, /std/npc. Und das ist bestimmt weniger
Aufwand als 'ausruestung' . 

Eldaron

-----------------------------------------------------------------------------



Re^5: ansi-mud? (Vanion, 17. Nov 2002, 18:09:09):
~#! rn=Eldaron rt=1037552564 rg=entwicklung
~#! tid=1037524820
Das Problem ist wohl, wie fast bei allen guten Ideen, dass keiner Zeit dafuer
hat. Bei neuen Gebieten gut und schoen, bei alten Gebieten wird's keiner
machen. Da werden ja nichtmal die wirklich noetigen 'Reparaturen' gemacht.

V*, macht das sehr ungern, zueckt aber die 'Es gibt wichtigeres'-Karte.

-----------------------------------------------------------------------------



Re^6: ansi-mud? (Whitetiger, 17. Nov 2002, 18:10:35):
~#! rn=Vanion rt=1037552949 rg=entwicklung
~#! tid=1037524820
ich kenn mich mit lpc nicht so gut aus, aber wenn man diese anfaeberei in die
basis-klassen steckt wie eldaron gesagt hat, muesste das doch vererbt werden,
oder?
WT.

-----------------------------------------------------------------------------



Re^6: ansi-mud? (Cuchullin, 17. Nov 2002, 18:14:57):
~#! rn=Vanion rt=1037552949 rg=entwicklung
~#! tid=1037524820
Das ist nicht das Problem, Vanion. Du sagst das der *lib*, dass sie dem
Spieler die Zeile in gelb/rot/blau/... anzeigen soll. Eine Trennung nach
Waffen/Ruestungen/Objekte koennte allerdings allein schon aus Farbmangel
etwas erschwert sein... Um mal grad aufzulisten, was ich 'von wo anders'
so her kenne:

o Objekte
o Livings
o Spieler

o Kommunikation

o Eigene Zauber - geglueckt
o Eigene Zauber - missglueckt
o Gegnerische Zauber (zielen auf mich)
o Anderer Leute Zauber (zielen auf weiss Jof wen)
o Allgemeine Zaubermeldungen (Abklingen usw)

o Eingehender Kampfschaden
o Ausgehender Kampfschaden

Das Mud ist bunt. Keine Frage. Die Frage ist: Braucht das Morgengrauen
das denn? Ist das denn wuenschenswert? Und: Wieviel Rechenzeit frisst das,
wenn man's nicht im Driver erschlaegt?

YTCu

-----------------------------------------------------------------------------



Re^7: ansi-mud? (Eldaron, 17. Nov 2002, 18:17:48):
~#! rn=Cuchullin rt=1037553297 rg=entwicklung
~#! tid=1037524820
Du schmeisst jetzt deine vorherige Unterscheidung durcheinander. Kommunikation
und Schadensfarben kann ein (der!) Client sehr gut bewerkstelligen. Bei
Livings, Objekten usw versagt das, deswegen waere hier die hoehere Prioritaet
angesagt. :)

Eldaron, sich das von Vanion zu Weihnachten wuenschend :)

-----------------------------------------------------------------------------



Re^8: ansi-mud? (Cuchullin, 17. Nov 2002, 18:22:05):
~#! rn=Eldaron rt=1037553468 rg=entwicklung
~#! tid=1037524820
KANN er das? Du gehoerst sicher auch zu den Leuten, die nie sehen, wenn
Sharia den Raum betritt, richtig? ;) Und was man mit echo/illusion so
alles machen kann, ist auch klar, gell?

Das Triggern auf Farben ist uebrigens nicht praktikabel. Weil im Raw-
Modus dann *alles* vom Client gemacht werden muss. Aber das fuehre ich
jetzt nicht aus, das will eh nur Eldaron wissen... ;)

YTCu 

-----------------------------------------------------------------------------



Re^7: ansi-mud? (Vanion, 17. Nov 2002, 18:22:59):
~#! rn=Cuchullin rt=1037553297 rg=entwicklung
~#! tid=1037524820
Oh, ich hing noch am Vorschlag, Raeume zu ueberarbeiten. In der Lib ist das
weniger das Problem, das stimmt.

Es wird wohl mehr Rechenzeit kosten, und mehr Speicherplatz (auf Driver-Ebene)
Vor allem muesste man break_string beibringen, die Ansi-Farben beim
Zeichenzaehlen zu ignorieren. Das wuerde fast jeden String im Spiel teurer
machen, weil break_string sehr intensiv genutzt wird.

Wesentlich waere es allerdings, dass man die Farben 'filterbar' macht, was
wiederum viel Rechenzeit oder Speicherplatz kostet, weil man entweder immer
beide Versionen des Strings (bunt und farblos) speichern muss, um Rechenzeit
zu sparen, oder weil man jedesmal die Farben neu einbringen bzw. filtern muss.

Solange das nich im Kampf ( dem deutlich rechenintensivsten Anteil im Mud )
passiert, mag das aber auch noch egal sein.

V*, hat nix zuende gedacht, nur mal kurz rummeditiert. Sind auch alles keine
Totschlagargumente, zumindest nich als solche gedacht.

-----------------------------------------------------------------------------



Re^8: ansi-mud? (Vanion, 17. Nov 2002, 18:24:42):
~#! rn=Eldaron rt=1037553468 rg=entwicklung
~#! tid=1037524820
Zwei Dinge dazu:
1. ) Ja, ich bin Vollschlank, aber rot steht mir nicht und einen Bart trag
     ich auch nicht.
2. ) Wieder habe ich das grosse Vergnuegen, darauf hinzuweisen, dass das
     Nicht mein Arbeitsgebiet ist und 'leite daher zustaendigkeitshalber
     weiter.

V*, Weihnachten nicht moegend, aber eine RUHIGE Vorweihnachtszeit schon.

-----------------------------------------------------------------------------



Re^8: ansi-mud? (Cuchullin, 17. Nov 2002, 18:25:12):
~#! rn=Vanion rt=1037553779 rg=entwicklung
~#! tid=1037524820
break_string() ist in der Tat ein Argument, zumindest ein halbes. 
Das besagte "andere Mud" bricht halt einfach gar nicht von selbst um,
darf alles der Client selbst machen. Der Workaround fuer ein Umbrechermud
waere quasi: Erst break_string(...), dann apply_colors(...). :)


-----------------------------------------------------------------------------



Re^9: ansi-mud? (Eldaron, 17. Nov 2002, 18:35:18):
~#! rn=Cuchullin rt=1037553912 rg=entwicklung
~#! tid=1037524820
Dein Client kann das indent erkennen und damit umbrechen?

Eldaron, sich bloed stellend

-----------------------------------------------------------------------------



Re^10: ansi-mud? (Cuchullin, 17. Nov 2002, 18:41:07):
~#! rn=Eldaron rt=1037554518 rg=entwicklung
~#! tid=1037524820
Du verlierst.

Erstens - nicht alles im Kampf wird eingerueckt. Vergleiche eben Sharias
   laeutert-Deinen-Geist-MsgIn.

Zweitens - Bub, ich beschreib Dir ein paar Raeume und Du gehst, solltest
   Du es auch nur *wagen*, ein Seherhaus zu betreten, durch tausend Hoellen
   und wirst das dann nie wieder tun... ;)

YTCu

-----------------------------------------------------------------------------



Re^11: ansi-mud? (Jehova, 18. Nov 2002, 00:20:59):
~#! rn=Cuchullin rt=1037554867 rg=entwicklung
~#! tid=1037524820
Vielleicht kann man ja mal im Wunderland fragen, was die mit ihren Farben fuer
Erfahrungen gesammelt haben. Eventuell kann man den Code auch einfach
uebernehmen.

Wo wir einmal bei Weihnachtswuenschen sind:
Ich haette gerne ordentliche Umlaute.

J*

-----------------------------------------------------------------------------



Re^12: ansi-mud? (Gloinson, 18. Nov 2002, 02:32:56):
~#! rn=Jehova rt=1037575259 rg=entwicklung
~#! tid=1037524820
> Ich haette gerne ordentliche Umlaute.
Dagegen.
(a1) Es haben und wollen nicht alle MG-Mudder ISO-8859-x.
(a2) Ein "?" stoert diese Gruppe und allgemein eher beim Lesen als ein "ue".

-----------------------------------------------------------------------------



Re^13: ansi-mud? (Cuchullin, 18. Nov 2002, 06:56:01):
~#! rn=Gloinson rt=1037583176 rg=entwicklung
~#! tid=1037524820
Bevor dieses "Es haben nicht alle..."-Argument geltend wird, haette
ich da gerne harte Zahlen. Wer hat kein ansi-Terminal? Wessen Terminal
kann keine Umlaute darstellen?

Nicht, dass ich mich nicht selbst gegen viele Dinge (grade *ungewollte*
Farben beispielsweise) wehren wuerde...

YTCu

-----------------------------------------------------------------------------



Re^14: ansi-mud? (Vanion, 18. Nov 2002, 08:03:26):
~#! rn=Cuchullin rt=1037598961 rg=entwicklung
~#! tid=1037524820
Hmmm, ich bin oft 'traditionsbewusst'. Aus meiner Sicht sind es die vielen
Eigenarten einer Sache, die sie letztlich so faszinierend machen. 

Dass das MG keien Umlaute hat, macht einen Teil seines Charmes aus, finde ich.

Derzeit werden Umlaute technisch verhindert, um den Zeichensatz des MG
ANSI-konform zu halten, es gibt also Mud-seitig keine echten Grund dafuer.

V*, mit Ansi-Terminal, das keine Umlaute kann.

-----------------------------------------------------------------------------



Re^15: ansi-mud? (Vanion, 18. Nov 2002, 08:04:54):
~#! rn=Vanion rt=1037603006 rg=entwicklung
~#! tid=1037524820
Mist, Selbstreply.

Um es zu verdeutlichen:

Meine persoenliche Meinung: Ich will keine Umlaute.
Technische Sicht: Umlaute sind mudseitig kein Problem.

V*

-----------------------------------------------------------------------------



Re^16: ansi-mud? (Cuchullin, 18. Nov 2002, 08:08:12):
~#! rn=Vanion rt=1037603094 rg=entwicklung
~#! tid=1037524820
Ich will auch keine Umlaute. Dafuer wuerde ich aber keine "Es gibt
Leute, deren Terminal das nicht darstellen kann!"-Argumentation 
heranziehen. Und um die geht es mir grade: GIBT es solche Leute noch?

YTCu

-----------------------------------------------------------------------------



Re^17: ansi-mud? (Boing, 18. Nov 2002, 09:24:55):
~#! rn=Cuchullin rt=1037603292 rg=entwicklung
~#! tid=1037524820
Das hat doch Vanion in Re^14 schon geschrieben:
> V*, mit Ansi-Terminal, das keine Umlaute kann.
Also gibt es die Leute offensichtlich. :)
  Boing

-----------------------------------------------------------------------------



Re: ansi-mud? (Ark, 18. Nov 2002, 10:13:48):
~#! rn=Whitetiger rt=1037524820 rg=entwicklung
~#! tid=1037524820
Gnade, noch sind meine Augen gut :-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: Re: ansi-mud? (Morgoth, 18. Nov 2002, 10:17:37):
~#! rn=Ark rt=1037610828 rg=entwicklung
~#! tid=1037524820
Neee, nicht noch mehr Farben. Was meinte Ringor damals, als er mein TF gesehen
hat: "Oh, weiss ist bei Dir eine besondere Farbe. Die kommt so selten vor."

M* hat genug Farbe

-----------------------------------------------------------------------------



Re^3: ansi-mud? (Ark, 18. Nov 2002, 10:22:34):
~#! rn=Cuchullin rt=1037551287 rg=entwicklung
~#! tid=1037524820
- Magier 'rosa'
- Seherhaeuser 'olivgruen'


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^7: ansi-mud? (Ark, 18. Nov 2002, 10:25:02):
~#! rn=Eldaron rt=1037552907 rg=entwicklung
~#! tid=1037524820
Pscht, ich hab schonmal ein Objekt als NPC getarnt, kommich jetzt ins
Gefaengnis, weil das Ding niemand nach Infos fragen will?


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^17: ansi-mud? (Wargon, 18. Nov 2002, 20:29:18):
~#! rn=Cuchullin rt=1037603292 rg=entwicklung
~#! tid=1037524820
Also mein Terminal ist (um das Euro-Zeichen darstellen zu koennen) auf
ISO-8859-15 eingestellt. Die deutschen Umlaute sind damit zwar kein Problem,
aber einige andere Zeichen aus dem Bereich mit Zeichencodes >= 128 sind halt
doch anders. Insbesondere faellt dabei der (in 8859-1) freistehende
"acute"-Akzent auf, statt dessen in 8859-15 ein "Z" mit Caron dargestellt
wird.
Schon deshalb sollte man sich allgemein nur auf ASCII beschraenken.

  Wargon

-----------------------------------------------------------------------------



Re^13: ansi-mud? (Jehova, 18. Nov 2002, 22:36:49):
~#! rn=Gloinson rt=1037583176 rg=entwicklung
~#! tid=1037524820
Ich hatte eigentlich auch nicht daran gedacht, dass Du oder irgendein anderer
Umlaute aufgezwungen bekommen soll. Ich finde es schade, dass Ideen in der
Form "Ich brauch das nicht, also bleibt es" abgewuergt werden. Ich denke, wenn
man die Texte (Raumbeschreibungen/Zeitung) mit Umlauten erfasst, reicht das ja
und wer keine Umlaute will, der hat dann ein P_NO_GERMAN_UMLAUTS-Property oder
so und dem werden die Texte dann ohne Umlaute ausgegeben. Das einzige Problem,
was ich dabei sehen wuerde, ist, dass Magier dann die Dinger irgendwie
eingeben muessten ... wobei ich mal davon ausgehe, dass die meisten Magier
auch nen ordentlichen Editor benutzen, wo Umlaute nicht das Problem sein
sollten (Gloinson vielleicht mal ausgenommen).

J*

-----------------------------------------------------------------------------



Re^14: ansi-mud? (Vanion, 18. Nov 2002, 22:48:16):
~#! rn=Jehova rt=1037655409 rg=entwicklung
~#! tid=1037524820
Hmm, also gegen P_NO_GERMAN_UMLAUTS spricht, dass Du JEDEN String auf Umlaute
filtern muesstest, weil welche drin sein koennten. Das wird unglaublich teuer
(Rechenzeit-intensiv.) Die Alternative ist, dass man von vorn herein jeweils
einen String mit und einen ohne Umlaute speichert. Das wird
Speicherplatzmaessig unglaublich teuer.

Es gibt auch noch einen praktikablen Grund:
Das MorgenGrauen hat etwa 15k Raeume. Man muesste sich jeden dieser Raeume
durchlesen und auf Umlaute pruefen. Wenn Du ein wenig suchst, findest Du
einige Woerter, die die Kombination ae, ue, oe, ss enthalten und damit keine
Umlaute meinen - eine automatische Korrektur scheidet also aus. Viel mehr als
die Abwesenheit von Umlauten, wuerde mich aber die teilweise Awesenheit von
Umlauten stoeren. Wenn im Neandertal keine Umlaute sind, auf der Weststrasse
schon, wuerd mich die Umstellung nerven. Ich weiss nich wie es euch geht, aber
mir faellt die Abwesehheit von Umlauten im Text nich mehr wirklich auf.

V*
PS: teilweise Awesenheit -> teilweise Anwesenheit (keine Lust das nochmal zu
schreiben :) )

-----------------------------------------------------------------------------



Re^15: ansi-mud? (Croft, 18. Nov 2002, 22:52:05):
~#! rn=Vanion rt=1037656096 rg=entwicklung
~#! tid=1037524820
Jehova koennte sich ja auch was Clientseitiges mit nem ordentlichen
Woerterbuch bauen und das bei sich selbst ersetzen.  Das spart dann
hier die Arbeit ;-)

Croft

-----------------------------------------------------------------------------



Re^16: ansi-mud? (Jehova, 19. Nov 2002, 00:54:37):
~#! rn=Croft rt=1037656325 rg=entwicklung
~#! tid=1037524820
Man muesste ja nur filtern, wenn jemand unbedingt keine Umlaute wollte. Das
duerften nicht allzuviele werden. Aber Vanion hat schon recht, entweder alles
oder nix ... Aber eben deshalb sollte man schonmal anfangen, das ganze richtig
zu notieren, damit in 20 Jahren, wenn man sich endgueltig von den
Umschreibungen verabschiedet, dann nicht zuviel Arbeit kommt.

J* (will bei einem gewissen Magier endlich Umlaut-Umschreibungen als Typo
melden)

-----------------------------------------------------------------------------



Re^17: ansi-mud? (Cuchullin, 19. Nov 2002, 05:03:42):
~#! rn=Jehova rt=1037663677 rg=entwicklung
~#! tid=1037524820
gr"a/3licher s"u/3er Gedanke... allein schon die nicht fixe L"ange der
Beschreibungen d"urfte fordernd sein. Und dann die d"amliche Parserei...
Wann ist "unt masse" nun auf die Ma/3e und wann auf die Masse gerichtet?
Ah, ich verstehe! Geheime Details, die nur mit deutscher Tastatur gelesen
werden k"onnen! Oder wenn man mit Tex oder Pseudoersatzdarstellungen 
arbeitet. ph"anomenal. Oder, wie ich schon sagte, gr"a/3lich. :)

Acriiiimmmoooooooooooooon wobistDuwennmanDichbraucht....

-----------------------------------------------------------------------------



Re^18: ansi-mud? (Humni, 19. Nov 2002, 09:44:34):
~#! rn=Cuchullin rt=1037678622 rg=entwicklung
~#! tid=1037524820
Ich HABE nur eine englische Tastatur.

Humni

-----------------------------------------------------------------------------



Re^19: ansi-mud? (Grimmborn, 19. Nov 2002, 09:48:03):
~#! rn=Humni rt=1037695474 rg=entwicklung
~#! tid=1037524820
Mein Beileid, die finde ich richtig nervig. Persoenlich verwende ich seit rund
fuenf Jahren nur noch amerikanische Tastaturen.

GdA

-----------------------------------------------------------------------------



Re^20: ansi-mud? (Morgoth, 19. Nov 2002, 10:11:13):
~#! rn=Grimmborn rt=1037695683 rg=entwicklung
~#! tid=1037524820
Wo ist der Unterschied? Riecht Deine nach HotDog und Humnis nach Wildsau in
Minze?

M*

-----------------------------------------------------------------------------



Re^20: ansi-mud? (Cadrach, 19. Nov 2002, 10:12:21):
~#! rn=Grimmborn rt=1037695683 rg=entwicklung
~#! tid=1037524820
Umstellungen alleine sind auch noch kein Hinderungsgrund. Man nehme ein
grosses Deutsches Woerterbuch und laesst BS seitig ein Programm laufen das
alle Files anfasst und in allen enthaltenen Strings alle eindeutigen Woerter
aendert und nicht eindeutige Aenderungen in ein logfile schreibt. Ich wuerde
wetten das man am Ende nichtmal 100 Faelle nochmal per Hand durchschauen und
nicht mehr als 50 Files nochmal anfassen muesste. Ratet mal wie wir damals die
UIDs umgestellt haben...

Man kann dazu stehen wie man will, aber _moeglich_ ist eine solche Aenderung
und im Laufe eines Wochenendes koennte dies auch jeder Magier mit
entsprechenden Schreibrechten problemlos ueber die Buehne bringen.
(Fehlformatierungen koennen dadurch auch nicht ungewollt entstehen, da immer
zwei Zeichen durch eins ersetzt werden und nicht umgekehrt.

Cad*

P.S.: Ich finde durchaus das eine solche Umstellung einen gewissen Reiz hat,
es wuerde aber natuerlich die Aufgabe eines bisherigen Dogmas bedeuten.

-----------------------------------------------------------------------------



Re^21: ansi-mud? (Grimmborn, 19. Nov 2002, 10:16:40):
~#! rn=Morgoth rt=1037697073 rg=entwicklung
~#! tid=1037524820
Ich hab nicht beide zum Vergleich vorliegen, aber schon die Tatsache dass bei
der englischen das @ versteckt ist, und dort, wo man das $ erwarten wuerde das
Pfundzeichen hat ist nervig.
Kein Vergleich zu franzoesischen layout, natuerlich.

GdA

-----------------------------------------------------------------------------



Re^18: ansi-mud? (Cadrach, 19. Nov 2002, 10:19:57):
~#! rn=Cuchullin rt=1037678622 rg=entwicklung
~#! tid=1037524820
Ganz einfache Loesung: Der Parser ersetzt die Umlaute automatisch durch oe,
ae, ue, ss und die Schluesselworte bei Details und Kommandos bleiben in alter
Schreibweise. D.h. angezeigt wird alles in korrekter Schreibweise, eintippen
kannst Du es in beiden Schreibweisen. Einziges Handicap: Es ist auch weiterhin
nicht moeglich die zwei Details Masze und Masse in ein und demselben Raum zu
beschreiben - die gilt aber ja heute auch schon.

Cad*

-----------------------------------------------------------------------------



Re^19: ansi-mud? (Cuchullin, 19. Nov 2002, 10:33:34):
~#! rn=Cadrach rt=1037697597 rg=entwicklung
~#! tid=1037524820
Natuerlich. Und wenn Du es dann tatsaechlich dem Anwender ueberlaessst
(gehoeren da wirklich drei 's' hin? Nach welcher Rechtschreibung? ;)),
ob er nun Umlaute oder keine Umlaute sehen will, darfst Du ob der 
Formatierung willen alles zweimal machen. Einmal Langbeschreibung MIT
Umlauten, einmal ohne. Dito fuer Details, Gerueche, Geraeusche, etwaige
laengere Befehlsausgaben... Ansonsten kannst Du naemlich doch einen
recht beeindruckenden Flattersatz vorgesetzt bekommen. Wenn Du Dir 
einen typischdeutschen Text mal anschaust - sooo wenig Umlaute sind da
nicht. Und sie koennen nun wirklich sehr suboptimal verteilt liegen.

Irgendwelche Vergleiche mit der ach so tollen UID-Umstellung... bitte
lass es. Da hat damals irgendein Kasper die Mudshell nicht richtig
bedienen koennen, das Mud gecrasht und es dann den Spielern in die
Schuhe geschoben. Das hinterlaesst bei den Spielern nicht den besten
Eindruck von der Sache. Und die Magier haben erst NACH der Umstellung
erfahren, dass ihr Code moeglicherweise ploetzlich "falsch" ist (von
wegen "schlafende Hunde" *wuff*). Naja, die koennten da sauch in den
falschen Hals kriegen und das "for the greater good" nicht verstehen.
Gut, dass der Magier damals Opfer zu bringen wusste... ;o)

Fuer das Aufdecken etwaiger Engpaesse einer "/3 --> ss"-Transformation
fehlen mir im Moment die entsprechenden linguistischen Fakten. Das
passiert mir seit dieser "Rechtschreibreform" leider immer haeufiger.

Um oben weiterzudenken... klar, man koennte das break_string() in die
Runtime ziehen. Das haette den Vorteil, dass der Mudder selbst bestimmen
kann, wie breit die Texte in seinem 120x80-Fenster sein duerfen. Ob
das eben rechenzeitbedingt ratsam ist... Well. Das solltest Du besser
wissen als ich (ehrlich, ich weiss es nicht). 

YTCu shrugs

-----------------------------------------------------------------------------



Re^20: ansi-mud? (Croft, 19. Nov 2002, 10:36:13):
~#! rn=Cuchullin rt=1037698414 rg=entwicklung
~#! tid=1037524820
Also das mit der Formatierung kann man loesen.  Man spendiert dem ganzen
auch gleich noch ein paar Metatags in denen die entsprechenden
Formatierungsinformationen unterbringt und bricht dann das ganze on the fly
(ab besten auch passend zu den ANSI-Codes) um bevor man es zum Nutzer
schickt *sic*

Croft

-----------------------------------------------------------------------------



Re^21: ansi-mud? (Cuchullin, 19. Nov 2002, 10:48:31):
~#! rn=Croft rt=1037698573 rg=entwicklung
~#! tid=1037524820
Meinte ich ja. Zur Laufzeit. Ich kann halt nicht abschaetzen, wie teuer
break_string() ist. Fuer einen gemuetlich fi...forschenden Schnarchseher
mag das ja gutgehen, fuer einen "Extreme Scripting"-Dauerkiller sieht
das dann vielleicht anders aus. Zumal Du das ja dann wirklich auf 
*ALLES* umlegen musst. Und dann ist es mit Cadrachs Paarundfuffzich
haendischen Eingriffen wirklich nicht getan. Wieviele tell_object()
und tell_room() mit fest eingehackten Zeilenumbruechen es wohl gibt?
Das alles ploetzlich als "falsch" zu deklarieren und die Magier zur
Arbeit anzuhalten, das ist ein Kurs, den ich nicht fahren woellte.

YTCu

-----------------------------------------------------------------------------



Re^20: ansi-mud? (Cadrach, 19. Nov 2002, 10:56:28):
~#! rn=Cuchullin rt=1037698414 rg=entwicklung
~#! tid=1037524820
Das Problem das Du ansprichst, ist ein ganz anderes: Die Rechtschreibung.
ue, oe, ae lassen sich einwandfrei sowohl nach alter oder auch neuer
Rechtschreibung umsetzen, ob man anstelle des sz in der Regel ss benutzt ist
eine Entscheidung die man einfach mal treffen muss. Egal ob man hier beim
automatismus die neue oder die alte Rechtschreibung zu grunde legt (beim
aufloesen der ss): Zum status quo kann es nur besser werden. Da das MG bisher
allgemein in alter Rechtschreibung geschrieben ist, wuerde ich dazu tendieren
einfach die alte Rechtschreibung zu grunde zu legen und fertig. Ob Magier die
neue Rechtschreibung uebernehmen wollen (3 sss) ist dann Ihnen ueberlassen.
Ich halte nichts davon eine solche Umstellung optional zu machen. Entweder
generelle Umstellung oder aber nicht (oder man hackt irgendetwas driverintern)
aber sauber waer das nicht.
Irgendwie hoeren sich die letzten Einwendungen fuer mich ein wenig an den
Haaren herbeigezogen an. Und das Du wider besseren Wissens so einen Unfug zur
UID-Umstellung erzaehlst, halte ich nicht gerade fuer eine serioese
Diskussionsfuehrung. Ich habe gesagt das man soetwas automatisiert machen kann
und anschliessend nur noch sehr wenige Aenderungen von Hand zu machen sind -
wie damals auch. Das die Auswirkungen dieser Umstellung andere waeren
(naemlich man sieht noch 1-2 Tage lang in einigen Raeumen vereinzelt die
bisherige Schreibweise mit oe, ae, ue - ach wie schlimm) sollte wohl allen
klar sein. DAS ist mehr als laecherlich.

Wenn Du gegen eine solche Umstellung bist, ist das Dein gutes Recht, aber
versuch nicht krampfhaft Gegenargument zu finden sondern, gib lieber zu das es
technisch kein Problem waere und argumentiere wie eine Frau - emotional.

Cad*

-----------------------------------------------------------------------------



Re^21: ansi-mud? (Cuchullin, 19. Nov 2002, 11:12:49):
~#! rn=Cadrach rt=1037699788 rg=entwicklung
~#! tid=1037524820
Ich sehe Dein Problem nicht. Es ist ein Mud, es gibt ein oben und ein
unten. Und das "oben" kann verfuegen, dass, WENN man denn schon mit
Automatismen arbeitet (und davon reden wir, voll-haendisch will das 
keiner von uns machen), die-und-die Rechtschreibung gewaehlt wird. Ich
denke, dass der eine oder andere Magier sogar recht froh waere, wenn 
mal jemand sagen koennte, ob er "Du" gross oder klein schreiben soll.
Und noch froher waeren die Magier, wenn es jemand dann den Spielern
sagt, die sonst Repfiles vergenusswurzeln.

ad UID-Umstellung: Du warst schon immer unaussprechlich uebel darin, 
eigene Fehler zu sehen oder einzugestehen. Erzaehl uns was neues. :)

Die Auswirkungen waehrend der Umstellphase (also von Einfuehrung bis
vollstaendiger Anpassung) sind natuerlich nicht so fatal wie bei der
UID-Umstellung. Stell Dir vor, das ist mir auch klar. :) Nur wird es
mit "ein oder zwei Tagen" nicht gegessen sein, fuerchte ich. 

"Argumentation" bedeutet uebrigens auch das Eingehen auf die vom 
anderen vorgebrachten Punkte. Da Du vermieden hast, auf mein
Anzweifeln der "50" einzugehen, schreibe ich mir diesen Punkt gut.
Leider hast Du keine Stellung zu "break_string() on the fly" be-
zogen, obwohl ich Dir da tataechlich fachliche Kompetenz eingeraeumt
habe (da spring ich schonmal ueber meinen Schatten...).

YTCu

PS: Ich hoffe, ihr findet das wenigstens unterhaltend ;)


-----------------------------------------------------------------------------



Re^22: ansi-mud? (Morgoth, 19. Nov 2002, 11:13:55):
~#! rn=Cuchullin rt=1037700769 rg=entwicklung
~#! tid=1037524820
Jo klar :)
Fehlt nur das Popcorn :D

M*

-----------------------------------------------------------------------------



Re^21: ansi-mud? (Bambi, 19. Nov 2002, 13:31:19):
~#! rn=Cadrach rt=1037699788 rg=entwicklung
~#! tid=1037524820
Wenn IRGENDJEMAND anfaengt, Texte von mir mit break_string zu verpassen, falls
ich selbige nicht in break_string eingesetzt habe und nicht zeitgleich ein
"indent" fuers Zeilenende implementiert (und dort dann auch nutzt), wird mit
Quellcode von Pa* nicht unter drei Files bestraft.
(Pa* == ein Pa*-Magier ausser Pardauz.)
So, das zum einen.
Zum anderen...
Ich weiss ja nicht, wie Du Dir das vorstellst, "jeder kann dann entscheiden,
ob er alte oder neue Rechtschreibung will", aber wenn irgendein Depp per
Script alle meine Files aendert (auf alte oder neue Rechtschreibung), dann
soll er doch bitte auch ein Rueckgaengig-mach-Script vorlegen, das genau (und
nur die) geaenderten Stellen wieder in den Ursprungszustand bringt.
Und wemmer schon bei Rechtschribung sind...
Bevor Du nicht den Untershied zwioschen das und dass gelernt hast, solltest Du
nicht von automatisiertem Ersetzen reden.
Ok, das war ein Tiefschlag, aber lkangsam fiels auf.

-----------------------------------------------------------------------------



Re^22: ansi-mud? (Patryn, 19. Nov 2002, 14:06:26):
~#! rn=Bambi rt=1037709079 rg=entwicklung
~#! tid=1037524820
was hast du gegen meinen code...ich glaub ich schreibe sehr uebersichtlich.
und die anderen pa*codes sind auch geniessbarer als vieles hier :)

-- 
patryn, zutiefst gekraenkt ;)


-----------------------------------------------------------------------------



Re^22: ansi-mud? (Cadrach, 19. Nov 2002, 17:34:20):
~#! rn=Cuchullin rt=1037700769 rg=entwicklung
~#! tid=1037524820
Woerter bei denen die Umlaute oe, ae und ue sowohl als Umlaut als auch als oe,
ae, ue Schreibweise erlaubt sind, fallen mir auf Anhieb keine ein und ich
behaupte mal da gibt es nicht so sonderlich viele. Bleibt also noch das
vorkommen von Woertern wie Musz und Masz nun da geh ich in der Tat mal von ca.
100 vorkommen aus, wenn die Haelfte zu aendern waere, waeren dies dann 50
Eingriffe - blieben fuer jeden RM ca. 10 uebrig. Das halte ich fuer eine
realistische Schaetzung, koennte ich bei Gelegenheit wenn ich mal ein wenig
Zeit hab - bei Interesse - aber gerne mal bei mir im Homemud checken (das
gaebe schon ne gute Schaetzgrundlage). ss bei dasz wuerde ich einfach als
doppel s lassen. Wenn Magier darauf beharren eine Schreibweise beizubehalten
kann man diese bei Scripten auch ausnehmen Bambi - aber den Sinn _wenn_
mudweit Umlaute eingefuehrt wurden, bei sich Amoebe immer noch mit oe zu
schreiben DER bleibt mir echt verborgen.
Zu break_strings() habe ich mich bisher nicht geaeussert, da dies nur die
Farben diskussion, nicht aber die Diskussion der Umlaute betrifft (Da
hoechstens ein Zeichen entfernt, aber keins hinzugefuegt wird und ich mal
behaupte das die W. das mehr als zwei Zeichen in einer Zeile verschwinden sehr
gering ist und der Flattersatz (der eh existiert) sich dadurch nicht
verschlimmert - die Lesbarkeit des Textes sogar erhoeht wird.
Zu den Farben:
Ich faende es toll, wenn bestimmte Objekte (die man sonst nicht sauber
unterscheiden kann) markiert werden wuerden. Dies ein/ausschaltbar zu machen
und fuer manche Spieler zu entfernen ist zeitmaessig in meinen Augen kein
Problem - auch bei break_string() nicht. Selbst wenn Spieler im langmodus ihre
Wegescripte benutzen wuerden nicht.

Cad*

-----------------------------------------------------------------------------



Re^23: ansi-mud? (Croft, 19. Nov 2002, 17:39:32):
~#! rn=Cadrach rt=1037723660 rg=entwicklung
~#! tid=1037524820
Bei Tabellen oder sonstigen mehrspaltigen Ausgaben macht sich das aber
wohl bemerkbar ob Umlaute 1 oder 2 Zeichen wegnehmen...

Croft

-----------------------------------------------------------------------------



Re^22: ansi-mud? (Cadrach, 19. Nov 2002, 17:44:58):
~#! rn=Bambi rt=1037709079 rg=entwicklung
~#! tid=1037524820
_ich_ habe nie gesagt irgendwo break_strings verpassen zu wollen. Nicht weil
ich das nicht sinnvoll faende - sondern weil es fuer sowas zu spaet ist.
Das ersetzen der Umlaute ae, oe und ue hat mit alter/neuer Rechtschreibung
erstmal noch _nichts_ zu tun. Das einfuegen von sz bei den allermeisten Worten
auch nicht. In allen Faellen wo beides erlaubt ist - laesst man das ss stehn.
Den Unterschied zwischen das und dasz kenn ich sehr woll. Der zwischen dass
und dasz ist mir jedoch in der Tat verborgen geblieben, so dass ich einfach
alle dass einfach mit ss stehen lassen wuerde.
Ansonsten Jung lern erstmal anstaendig programmieren. Wenn Du fremden
Sourcecode nicht verstehst, hat das nich unbedingt was mit dem Quellcode zu
tun, sondern vielleicht damit, das er fuer Dich eine Nummer zu schwer ist.
Da schliess ich mich Patryn an, sowohl der Quellcode der Pa*, als auch der von
Patryn (zur Erinnerung: dem das Pa* offiziell aberkannt wurde). ist mit
Ausnahme einiger Altlasten sehr ordentlich und gut lesbar.

Cad*

-----------------------------------------------------------------------------



Re^24: ansi-mud? (Cadrach, 19. Nov 2002, 17:46:49):
~#! rn=Croft rt=1037723972 rg=entwicklung
~#! tid=1037524820
Ob Du es glaubst oder nicht, sowas kann man in der Regel schon recht gut
erkennen und in solchen Zweifelsfaellen einen Eintrag in nen log_file machen.
Das war bei bisherigen Umstellungen ein sehr erfolgreiches Instrument.

Cad*

P.S.: Sollte dennoch in 1 Promille mal was schief gehn, wird der naechste
Typospieler es entdecken.

-----------------------------------------------------------------------------



Re^25: ansi-mud? (Miril, 19. Nov 2002, 18:10:43):
~#! rn=Cadrach rt=1037724409 rg=entwicklung
~#! tid=1037524820
Irgendwie faende ich es gut, wenn mir mal jemand erklaeren wuerde,
was der Vorteil von ae gegenueber ae ist. Der Nachteil fuer mich waere, 
dass ich mich beim Tippen wieder umstellen muesste ;-), was natuerlich
nicht weiter tragisch ist.
Sicher gibts doch hier noch interessantere oder wichtigere Sachen
zu basteln, als Umlaute oder?
Miril

-----------------------------------------------------------------------------



Re^26: ansi-mud? (Gnome, 19. Nov 2002, 18:31:50):
~#! rn=Miril rt=1037725843 rg=entwicklung
~#! tid=1037524820
naja, du musst verstehen: einigen herren ist wieder langweilig, da muss
man halt fuer diskussionsstoff a la "farben im mud", "umlaute" oder
auch "feminisInnen vor" sorgen und genuesslich ausdiskutieren.

ob das ueberhaupt gewollt ist, ob es sinn macht oder ob man sowas
ueberhaupt braucht, ist dabei eher zweitrangig. :)

gnOme

-----------------------------------------------------------------------------



Re^27: ansi-mud? (Miril, 19. Nov 2002, 18:32:30):
~#! rn=Gnome rt=1037727110 rg=entwicklung
~#! tid=1037524820
Achso, verstehe...
Warum basteln die nicht lieber mal was nettes stattdessen?
Miril

-----------------------------------------------------------------------------



Re^23: ansi-mud? (Gloinson, 19. Nov 2002, 19:16:44):
~#! rn=Cadrach rt=1037723660 rg=entwicklung
~#! tid=1037524820
Umlaut und Umschreibung in einem Wort? Sagt Dir "Komposit" etwas? Ansonsten
biete ich derzeit nur: Graeuel, wiederkaeuen. Ein Rechtschreibeprogramm sollte
man bei einer etwaigen Umstellung nichtsdestotrotz bemuehen, es gibt Unmassen
von Euer, -scheu, -dauer, -ungeheuer, -feuer, Poet :)

(Schoenes Thema um Rehe zu schaenden.)

-----------------------------------------------------------------------------



Re^28: ansi-mud? (Cadrach, 19. Nov 2002, 22:13:30):
~#! rn=Miril rt=1037727150 rg=entwicklung
~#! tid=1037524820
Ueber eine Verbesserung der Lesbarkeit nachzudenken, halte ich in einem
Textmud zunaechst erstmal nicht fuer voellig unsinnig. Wie immer ist die mpa
sicherlich nicht der richtige Ort um ueber soetwas reden - aber lass uns alten
Rentnern doch einfach den Spass.
Mir ging es nur darum klar zu machen, das eine solche Aenderung keine
programmiertechnischen oder Altlastenprobleme hat, sondern eine rein
dogmatische Entscheidung ist.

Cad*

P.S.: Dieser Artikel bezieht sich _nicht_ auf die Debatte mit den Farben.
P.P.S.: Ich muesste unter Linux noch das Tool fuer die Umstellungen rumfliegen
haben und sollte sich irgendwann wirklich mal wer erbarmen und eine solche
Umstellung vornehmen wollen waer ich auch bereit das Tool nochmal anzupassen
und zu testen.

-----------------------------------------------------------------------------



Re^29: ansi-mud? (Cuchullin, 20. Nov 2002, 10:16:00):
~#! rn=Cadrach rt=1037740410 rg=entwicklung
~#! tid=1037524820
Ich muss da Padreic mal zustimmen, Gloinson: Mit einem adequaten Korpus
kann man, sieht man von den (dem Korpus bekannten und damit markierbaren)
Ambiguitaeten einmal ab (Kontextbehandlung ist ohnehin eher heuristisch 
als deterministisch und beduerfte der natraeglichen Kontrolle), das ganze 
Mud per Knopfdruck umschreiben.

Hinsichtlich des break_strings stehen wir, wertester Padreic, aber auf 
zwei verschiedenen Standpunkten. Nur weil Du Ultraflattersatz fuer "gut 
lesbar" haeltst, darfst Du diese Unsitte (sic!) nicht auf das ganze Mud 
uebertragen (was nicht heisst, dass ich ueberall Blocksatz haben will). 
Ich habe keine Statistik ueber den Durchschnitt "Umlaut/Zeile" (was aber 
mal ein nettes Projekt waere), denke aber, dass Du die blosse Existenz 
von Ausreissern mit 8 oder mehr Umlauten nicht abstreiten wirst.  Das 
wird dann einfach flatterig. Nein, NOCH flatteriger, denn den Flatter
haben wir, der Vermeidung von Worttrennung wegens, ohnehin schon in mehr
als ausreichendem Umfang.

Weiter... wie stellst Du Dir neue Raeume vor? Die Magier programmieren
brav mit Umlauten im Text (schliesslich waere es gemein, nach einer so
zeitgemaessen Umstellung ausgerechnet sie zum Verbleib im Altertum zu 
zwingen) und formatieren den dann wie gewohnt auf 79 Zeichen je Zeile.
Pflunz. Oder willst Du sie auf <n> (fuer lesbare Werte von n) Zeichen je 
Zeile forcieren, in der abstrusen Hoffnung, dass es keinen deutschen Satz 
gibt, der es in n Zeichen auf 80-n Umlaute schafft? Sollte dem so sein, 
haben wir offenkundig tatsaechlich verschiedene Vorstellungen vom Begriff
"lesbar". Davon abgesehen - Du haettest schon wieder Flattersatz. 

Was die Vorteile angeht, sind ja inzwischen ein paar genannt worden. 
Einen mag ich noch anfuegen: Umlaute haetten fuer mich ausserdem den 
Vorteil, dass ich mir laengerfristig abgewoehnen kann, Umlaute zwei-
buchstabrig zu lesen und zu schreiben. Das macht sich in Mails (wo sich 
inzwischen dann doch durchgesetzt hat, das Encoding anzugeben und nicht
etwa plain ascii zu schreiben) an Offizielle (Profs, Geschaeftspartner, 
Kunden) einfach nicht so richtig gut. Die Leute von heute wissen doch 
gar nicht mehr, was "siebenbittig" heisst...

Cuch


-----------------------------------------------------------------------------



Re^30: ansi-mud? (Cadrach, 20. Nov 2002, 10:26:33):
~#! rn=Cuchullin rt=1037783760 rg=entwicklung
~#! tid=1037524820
Sicher ist es moeglich, in 78 Zeichen auch 8 Umlaute unterzubringen, dies
bedarf aber schon ziemlicher Anstrengung. Nun sei mal realistisch und schaetz
mal ab wieviele Zeilen es im gesamten MG gibt in Raeumen wo nicht ohnehin
schon mit break_string gearbeitet wird (die betrifft dies ja nicht), wo es
_mehr_ als zwei Umlaute in einer Zeile gibt _und_ wo durch ein Einfuegen
ordentlicher Umlaute schlimmer Flattersatz entsteht. Ich will die theor.
Existenz und auch evtl. _sehr_ vereinzelt die praktische Existenz nicht
leugnen - nur ist diese fuer mich kein Problem. Wenn es jemand unangenehm
auffaellt - kann er dies melden und man kann diese Ausnahme umformatieren
DIESEN aufwand halte ich fuer so minimal das er sehr vertretbar ist. Im Falle
einer Umstellung wette ich nen Kasten Bier das es in einem Jahr nicht mehr als
allerallerhoechstens 10 solcher Faelle gibt.
In der Tat haben wir tatsaechlih mal was gemeinsam, das Umlautproblem beim
schreiben von Emails ist mir durchaus bekannt :o).

Cad*

-----------------------------------------------------------------------------



Re^31: ansi-mud? (Cuchullin, 20. Nov 2002, 10:46:06):
~#! rn=Cadrach rt=1037784393 rg=entwicklung
~#! tid=1037524820
a) 'Anstrengung' ist mit Sicherheit das falsche Wort. Wenn es passiert, 
   passiert es. Einem Programmierer die Direktive "Vermeide Haeufung von
   Umlauten" mitzugeben, das waere nun wirklich hochgradig albern.

b) Deine "Wir machen einen neuen Standard und wenn es irgendwo knallt, 
   wird sich jemand melden."-Art kotzt mich an. Sowas wie "Wo gehobelt
   wird, da fallen Spaene." darf in meinen Augen nur jemand anbringen, 
   der sich ernsthaft Gedanken um Spaeneminimierung gemacht hat. Zu 
   dieser Personengruppe gehoerst Du definitiv nicht. 

c) Deine Begriffe von "minimal" halte ich fuer laecherlich. Klar ist der
   Aufwand minimal - solange es nur ein anderer macht? Allein die noetige
   Adaption der Korpora (hast Du sowas je gemacht?) auf die Zieltextklasse 
   duerfte deutlich mehr Zeit in Anspruch nehmen, als Du erklaertermassen 
   bereit bist, fuer das Morgengrauen mit den ja ach so bescheidenen 
   Erzmagiern, die Dich alle nicht ausstehen koennen und blockiert haben, 
   aufzubringen. 

d) Das dann auch noch auf die Regionsmagier abwaelzen zu wollen, das ist
   dann der Gipfel. Die haben einen Wartungsauftrag fuer die verwaisten 
   Gebiete, kommen in der Regel nichtmal dazu, die eigentlich notwendigen
   Ueberarbeitungen durchzufuehren (oder zu delegieren)...

e) Auf *diesen* Kasten Bier verzichte ich gerne. 

Nach Diktat verreist,
Cuch

-----------------------------------------------------------------------------



Re^32: ansi-mud? (Cadrach, 20. Nov 2002, 10:53:36):
~#! rn=Cuchullin rt=1037785566 rg=entwicklung
~#! tid=1037524820
zu a) wieso soll er Umlaute vermeiden? Er kann sie doch ganz normal einsetzen
soviel wie er will. DAS problem versteh ich nicht.

zu b) das lass ich unkommentiert. Spaene der Art: Es gibt eine handvoll Raeume
in denen eine Zeile mit einem Flattersatz mit 5 Zeichen mehr existiert halte
ich fuer sehr akzeptabel.

zu c) bei dem was ich bisher hier getan hab, darf ich mir durchaus erlauben
das Wort "minimal" zu verwenden. Im Vergleich zu den anderen grossen
Umstellungen wie unit, put&get, store, shop etc. ist der Aufwand wirklich
minimal. Alles was man als Einzelperson an einem WE zu 99,9% ueber die Buehne
bringen kann, bezeichne ich als minimal.

zu d) Sorry, aber wenn ein RM ggf. bei ner Typomeldung eines Spielers
innerhalb eines Jahres nochmal ein bis max. 2 Raeume anfassen muesste um
extrem Flattersatz zu entfernen und wir dafuer im ganzen Mud Umlaute haetten,
das is das fuer mich mehr als akzeptabel. Im Vergleich zur Einfuehrung der
Materialien waer das ein Witz und das mit deutlich mehr Wirkung

zu e) Von mir aus, kannste auch nen Kasten Cola oder Milch bekommen :o)

-----------------------------------------------------------------------------



Re^26: ansi-mud? (Whitetiger, 20. Nov 2002, 12:12:58):
~#! rn=Miril rt=1037725843 rg=entwicklung
~#! tid=1037524820
ja, genau, naemlich FARBEN! ;)
WT.

-----------------------------------------------------------------------------



Re^27: ansi-mud? (Rikus, 21. Nov 2002, 09:02:50):
~#! rn=Whitetiger rt=1037790778 rg=entwicklung
~#! tid=1037524820
Oder endlich mal Kommata in Cadrachs Artikel :)

Rikus

-----------------------------------------------------------------------------



Driver 3.2.1@143 (Vanion, 22. Nov 2002, 15:57:12):
Hi,

Da mich schon mehrere gefragt haben.

Ja, es wird ein Driver-Release geben. Das ist aber noch nicht fertig. Das
Changelog muss z.B. noch fertig gemacht werden. Ich denke spaetestens Anfang
naechster Woche stehen die Sourcen fuer den Download bereit.

V*

-----------------------------------------------------------------------------



invasion (Whitetiger, 22. Nov 2002, 16:41:42):
wie waere es mit 'invasionen'? die idee hab ich aus dem 3k-mud (3k.org:3000),
dort kann man sich auch als gast ('guest') einloggen, und die hilfe dazu lesen
('help invasion'). kurz gesagt bedeutet invasion, dass die ganzen monster im
mud rebellisch werden und nicht mehr auf ihren plaetzen bleiben. dass heisst,
sie wandern durchs mud. und metzeln alles nieder was in ihrem weg liegt. die
spieler (bzw. seher) muessten dann bei so einer invasion gemeinsam versuchen,
die monster alle zu hauen. die monster sollten level-basiert aggressiv sein,
damit auch kleinere spieler noch ne chance haben... was haltet ihr davon?
WT.

-----------------------------------------------------------------------------



Re: invasion (Bambi, 22. Nov 2002, 16:42:49):
~#! rn=Whitetiger rt=1037979702 rg=entwicklung
~#! tid=1037979702
Sowas wie "Zwergenangriff", nur dieses mal auf lohnende Ziele (Port Vain)?

-----------------------------------------------------------------------------



Re: invasion (Gnome, 22. Nov 2002, 16:44:27):
~#! rn=Whitetiger rt=1037979702 rg=entwicklung
~#! tid=1037979702
nichts.

-----------------------------------------------------------------------------



Re: Re: invasion (Vector, 22. Nov 2002, 16:45:27):
~#! rn=Gnome rt=1037979867 rg=entwicklung
~#! tid=1037979702
siehe gnome

-----------------------------------------------------------------------------



Re: Re: invasion (Whitetiger, 22. Nov 2002, 16:46:05):
~#! rn=Gnome rt=1037979867 rg=entwicklung
~#! tid=1037979702
und warum nichts?

-----------------------------------------------------------------------------



Re: Re: invasion (Whitetiger, 22. Nov 2002, 16:46:38):
~#! rn=Bambi rt=1037979769 rg=entwicklung
~#! tid=1037979702
ich hab die quest noch nicht gemacht, ich denke aber, so aehnlich duerfte es
sein... und dass halt alle spieler zusammenarbeiten..

-----------------------------------------------------------------------------



Re^3: invasion (Bambi, 22. Nov 2002, 16:47:42):
~#! rn=Whitetiger rt=1037979965 rg=entwicklung
~#! tid=1037979702
Also mit "gefakten" NPCs an definierten Stellen: ok. Ist ggf. sogar schon in
Arbeit oder umgesetzt (Zwergenangriff).
Hydrakoepfe in der Abenteurergide halte ich aber fuer unrealistisch (sogar
fuers MG) und nicht ueberschaubar. Mal abgesehen von  leichter erreichbaren
EKs etc...

-----------------------------------------------------------------------------



Re^3: invasion (Pardauz, 22. Nov 2002, 16:49:08):
~#! rn=Whitetiger rt=1037979965 rg=entwicklung
~#! tid=1037979702
waer doch cool, weghier, drachengott, skelette, ratten, hydra, saemtliches
anderes gesocks rennt alles nach port vain und wer die stadt mit weniger als
100 sehern betritt wird sofort gezapt ;)

-----------------------------------------------------------------------------



Re^3: invasion (Gnome, 22. Nov 2002, 16:51:44):
~#! rn=Whitetiger rt=1037979965 rg=entwicklung
~#! tid=1037979702
*seufz*
also ich denke mal fuer dich...
du stehst ganz gemuetlich in ner gilde, streitest grade mit deinem
chef um eine gehaltserhoehung/befoederung/wasauchimmer und ploetzlich
kommt der weghier an und metzelt dich schneller nieder als du gucken kannst.

oder du idlest irgendwo ganz nett und willst einfach nur in ruhe gelassen
werden, der vorbeifliegende nars sieht das aber gar nicht so und schickt
dich innerhalb von 5 sekunden zu lars.
sicher, DA hast du dann auch erstmal deine ruhe, aber ob das so in
deinem sinne war?

erst denken, dann posten. wie immer. ;-)

gnOme

-----------------------------------------------------------------------------



Re^4: invasion (Whitetiger, 22. Nov 2002, 16:53:40):
~#! rn=Gnome rt=1037980304 rg=entwicklung
~#! tid=1037979702
ok, dann koennte man es halt so machen, dass idler ausgelassen werden, und
dass es sagen wir einen raum gibt in den keine monster kommen, dass das vorher
angekuendigt wird, so dass alle die wollen dorthin fliehen koennen, und dass
die staerke der monster die auf autoattack sind jeweils vom spielerlevel
abhaengig ist.
wuerde das helfen?
WT.

-----------------------------------------------------------------------------



Re^4: invasion (Croft, 22. Nov 2002, 16:54:02):
~#! rn=Gnome rt=1037980304 rg=entwicklung
~#! tid=1037979702
Und nicht jede Idee aus dem Grundkonzept irgendeines Muds passt nachtraeglich
in ein beliebiges anderes Mud ...

Croft

-----------------------------------------------------------------------------



Re^5: invasion (Gnome, 22. Nov 2002, 16:57:56):
~#! rn=Whitetiger rt=1037980420 rg=entwicklung
~#! tid=1037979702
du meinst, du moechtest einen "para-zwergenangriff" ?
rede doch einfach mal mit dem magier deines vertrauens, ob er lust
und zeit hat, ein solches gebiet samt npcs zu schreiben.
oder werde selber magier.

doch eine bitte: lass die vorhanden npcs an ihren plaetzen und nimm
von mir aus den "bruder des weghiers" fuer das neue gebiet. :)

gnOme

-----------------------------------------------------------------------------



Re^4: invasion (Cadrach, 22. Nov 2002, 18:01:38):
~#! rn=Gnome rt=1037980304 rg=entwicklung
~#! tid=1037979702
Es gibt kein Grundrecht auf idlen - das hatten wir glaube ich schonmal.
Extremidlen ist mehr etwas gegen das man halt nichts tun kann - wenn Du
sichergehen willst, das Dir nix passiert nutze einfach das tolle Commando
"schlafe ein". _Idler_ als Argument gegen irgendetwas einsetzen zu wollen, ist
echt laecherlich.
Ich bin trotzdem gegen eine Attacke aller NPCs auf Port Vain. Zum einen ists
technisch nicht machbar. zum anderen haben die Spieler keine Chance (selbst
wenn nur 20 Orks und 10 Goblins jede Runde ein kitzeln machen) und zu guter
letzt wuerde das MG sofort im lag ersticken und die Spieler koennten sich
nicht mal mehr bewegen.
Einige bestimmte NPCs koordiniert eine Attacke auf Port Vain machen zu lassen,
bzw. Port Vain zu belagern und von allen Seiten aus anzugreifen das war glaub
ich mal geplant (noch zu Yantros Zeiten?!) - koennte sogar sein das da ein
Magier schonmal mit angefangen hat.
_Sowas_ koennte ich mir auch durchaus lustig vorstellen - wenn es anstaendig
konzepiert ist.

Cad*

-----------------------------------------------------------------------------



Re^5: invasion (Orktoeter, 22. Nov 2002, 18:12:41):
~#! rn=Cadrach rt=1037984498 rg=entwicklung
~#! tid=1037979702
Zardoz hatte meines Wissens seine Daemonen schon (fast) startklar...

OrkT.

-----------------------------------------------------------------------------



Re: invasion (Ark, 22. Nov 2002, 19:44:13):
~#! rn=Whitetiger rt=1037979702 rg=entwicklung
~#! tid=1037979702
Heute 1. April? Oder haben wir zuviele Spieler, die erstmal "bereinigt" werden
muessen?
Naja, wenn das hier im Brainstorming enden soll, ok, aber etwas Vorueberlegung
der Folgen kann nie schaden. Bei aller Begeisterung.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^5: invasion (Ark, 22. Nov 2002, 19:46:34):
~#! rn=Whitetiger rt=1037980420 rg=entwicklung
~#! tid=1037979702
Gerne kann man das in eigens dafuer geschriebenen Gebieten umsetzen, aber
nicht "planlos" im ganzen Mud. Ich verdaechtige den Urheber immer noch, sich
so einfacher ein paar NPCs ermetzeln zu wollen ;^)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^4: invasion (Wargon, 22. Nov 2002, 19:53:45):
~#! rn=Gnome rt=1037980304 rg=entwicklung
~#! tid=1037979702
> du stehst ganz gemuetlich in ner gilde, streitest grade mit deinem
> chef um eine gehaltserhoehung/befoederung/wasauchimmer und ploetzlich
> kommt der weghier an und metzelt dich schneller nieder als du gucken kannst.

Och, dazu brauchen wir keine Invasionen (wie war das noch mit den
marodierenden Orkhorden?). Da reicht manchmal eine ganz normale Trauung...
wenn ein Hochzeitsgast (Magier) mal wieder ein "in /gilden/abenteurer trans
priester" macht und kurz darauf lautes Geschrei ertoent, wieso der achtarmige
Priester denn auf einmal in der Gilde herumschlachtet... :)

  Wargon

-----------------------------------------------------------------------------



Re: invasion (Qitess, 22. Nov 2002, 20:46:00):
~#! rn=Whitetiger rt=1037979702 rg=entwicklung
~#! tid=1037979702
Die Idee ist daemlich.
Es gibt viel Volk hier, dass sich lediglich mal gepflegt unterhalten moechte,
und im uebrigen zitiere ich gerne mal diverse Goetter und Erzmagier:
Das Morgengrauen ist ein Quest-Mud.
QI** friedlich.

-----------------------------------------------------------------------------



Re: invasion (Seleven, 24. Nov 2002, 14:36:17):
~#! rn=Whitetiger rt=1037979702 rg=entwicklung
~#! tid=1037979702
Ich finde die Idee uebertrieben, waere aber lustig, wenn mal ne Horde
Seeraeuber oder sowas in Para(!)-PV landen wuerden und sich langsam aber
sicher bis zum Elfen-, Hobbit oder weisswasichfuerndorf durchmetzeln wuerden.

Seleven, blutruenstig kichernd.

-----------------------------------------------------------------------------



Re^4: invasion (Puk, 24. Nov 2002, 14:39:57):
~#! rn=Gnome rt=1037980304 rg=entwicklung
~#! tid=1037979702
najo, ich find die idee lustig, aber nur wenn Nars und co auch mal in den
Seherhaeusern vorbeisehen, wuerde sicherlich einiges an idelnden spielern
vergraulen ;)

Puk, pro

-----------------------------------------------------------------------------



Re^7: 10SP-Abzug als Todesfolge (Scope, 24. Nov 2002, 14:43:04):
~#! rn=Gnome rt=1036071076 rg=entwicklung
~#! tid=1036054835
Gnome schrieb: 
>- mit welcher begruendung werden stats gesenkt und ein malus verhaengt?
>  ich werde "wiedergeboren", sollte also von anfang an frisch "dabei"
>  sein...

Ja stimmt eigentlich.. ich waer dafuer, dass man nach einem Tod wieder auf
Level 1 anfaengt.. so richtig frisch von vorne halt :-)

Mel.

-----------------------------------------------------------------------------



Re^5: invasion (Gnome, 24. Nov 2002, 14:43:08):
~#! rn=Puk rt=1038145197 rg=entwicklung
~#! tid=1037979702
aus welchem - plausiblen - grund sollten spieler nicht idlen duerfen?

-----------------------------------------------------------------------------



Re^5: invasion (Vanion, 24. Nov 2002, 14:44:16):
~#! rn=Puk rt=1038145197 rg=entwicklung
~#! tid=1037979702
Ich find idlen ok. Ausserdem wuerde Nars von mir eine auf die Nase bekommen
(auch wenn ich idle :)

V*, Pro Idlen.

-----------------------------------------------------------------------------



Re^6: invasion (Seleven, 24. Nov 2002, 14:48:32):
~#! rn=Gnome rt=1038145388 rg=entwicklung
~#! tid=1037979702
Darf er doch, es waer schlimm, wenn er das nicht duerfte, deswegen war mein
Vorschlag die Party in Para zu starten. Da kann man vom Spieler verlangen,
dass er entweder in Normal wechselt, oder in sein Haus geht. Spieler die in
Para rumlaufen sollten sich ein wenig im MG auskennen.

Seleven findet die Idee immer besser.

P.S.: mit spieler mein ich vor allem Seher  :O)

-----------------------------------------------------------------------------



Re^7: invasion (Hisasul, 24. Nov 2002, 22:01:03):
~#! rn=Seleven rt=1038145712 rg=entwicklung
~#! tid=1037979702
Hmmm, und was mach ich dann, mein Haus steht zufaellig _in_ Port Vain...
Wobei mir die Idee wirklich nich schlecht vorkommt, Seleven, Prog das! :o)

Metzelmeister HisAsul sich aufs schlachten freuend :)

-----------------------------------------------------------------------------



Re^18: ansi-mud? (Apsu, 30. Nov 2002, 14:40:19):
~#! rn=Cuchullin rt=1037678622 rg=entwicklung
~#! tid=1037524820
Etwas spaet aber immerhin: Ich bin f"ur Umlaute und Dein Artikel ist eine
Beleidigung f"ur das Auge ;-)

Klein fett und Apsulut.

-----------------------------------------------------------------------------



Sterben als Frosch... (Zook, 12. Dez 2002, 20:48:28):
Folgender Bug wurde behoben: Wenn mal Frosch starb, wurde man zwar
entfroscht, aber behielt den Malus auf Kraft. 

Funktioniert nach ende/Reboot/Crash.

Zook.

-----------------------------------------------------------------------------



Forscherpunkte in Parawelten (Rikus, 16. Dez 2002, 11:45:08):
Hi ihr,
nun koennen auch FPs in Parawelten gefunden werden! :) Sie gehen ganz normal
in die Stupsberechnung ein, jedoch NICHT in die Durchschnittsberechnung, die
z.B. bei der Seherwerdung herangezogen wird.

Gruss, Rikus

-----------------------------------------------------------------------------



Krank nach tod? (Deepblue, 25. Dez 2002, 13:36:26):
Kapelle.
Es gibt einen sichtbaren Ausgang: sueden.
In einer Ecke steht ein Opferstock.
>bete
Du haeltst eine kurze Andacht.
Eine sehr starke Kraft saugt Dich auf und spuckt Dich wieder aus.
Du solltest Dich behandeln lassen.
[Tod:Lars] Eine schwere Krankheit hat gerade Deepblue umgebracht.

Du gehst eine Treppe hinunter. Nein, Du SCHWEBST eine Treppe hinunter!
...
Ich denke, Krankheiten nach dem Tod werden zurueckgesetzt? Koennte das mal
bitte jemand reparieren?

-----------------------------------------------------------------------------



Re: Krank nach tod? (Bambi, 25. Dez 2002, 14:06:23):
~#! rn=Deepblue rt=1040819786 rg=entwicklung
~#! tid=1040819786
Vielleicht solltest Du das (auch) dem entsprechenden Magier mailen, falls Du
weisst, woher Du die Krankheit hattest.
Ich vermute, dass Krankheiten nicht automatisch beim Tod "weggemacht" werden.
Das ist wahrscheinlich auch nicht immer gewuenscht.

-----------------------------------------------------------------------------



Re: Krank nach tod? (Vanion, 27. Dez 2002, 09:58:11):
~#! rn=Deepblue rt=1040819786 rg=entwicklung
~#! tid=1040819786
Hi,

Krankheiten sind keine Lib-Standard-Sachen. Was beim Tod passiert wenn jemand
krank ist, haengt von der Krankheit ab. Nicht immer ist daran gedacht worden,
was passiert, wenn jemand mit Krankheit nicht an der Krankheit stirbt. 

Damit wir aber eine Chance haben, den Fehler zu finden muessen wir erstmal
wissen, um welche Krankheit genau es sich handelt. Dazu muesst ihr, wenn sowas
passiert, schnellstmoeglich einen Magier eures Vertrauens sichern, damit
dieser die 'Beweise' sichern kann. Optimal ist es, wenn man die Krankheit
selbst noch erwischen kann.

In Deinem Fall, Db, habe ich jetzt nur die beiden Strings, die mir Hinweise
auf die Ursache der Krankheit geben. Die jetzt zu suchen macht mir Stress und
euch Lag. Das is weder in meinem Interesse, noch in dem der Spieler. 

Also, in Deinem Fall: Shit happens. 
Im allgemeinen Fall: Haltet euch nicht damit auf Posts in die MPA zu
schreiben, deren Inhalt sinngemaess "Nix funzt, nur Bugs, Scheiss MUD" ist,
sondern meldet Bugs so schnell wie moeglich, also sobald ihr ein FiRZG oder
ein merkwuerdiges Verhalten entdeckt habt an den zustaendigen Magier/RM oder
wenn keiner da is, oder ihr nich wisst wer es is an einen Magier eures
Vertrauens, an mich oder an einen Erzmagier. 

So, genug geschreibselt. Ich muss noch meine Winterraeder auswuchten lassen :(
V*

-----------------------------------------------------------------------------



Re: Krank nach tod? (Ark, 27. Dez 2002, 12:38:42):
~#! rn=Deepblue rt=1040819786 rg=entwicklung
~#! tid=1040819786
Ich wars nicht, ich wars nicht :-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Gefangen im Seherhaus (Wargon,  4. Jan 2003, 14:57:28):
  Tach zusammen,

nachdem vor kurzem ein Fall bekannt wurde, bei dem ein Spieler in einem
Seherhaus gefangen gehalten wurde, hier das Gegenmittel (immer schon
vorhanden, allerdings bislang nicht dokumentiert):
  schlafe ein
Sollte das Kommando vom Haus ueberschrieben sein, kann man auch "hart" die
Verbindung zum MUD kappen (Frontend beenden o.ae.).

Die Hilfeseite zu "schlafe ein" ist jetzt entsprechen angepasst.

  MfG,
    Wargon

-----------------------------------------------------------------------------



Re: Gefangen im Seherhaus (Wargon,  4. Jan 2003, 15:30:14):
~#! rn=Wargon rt=1041688648 rg=entwicklung
~#! tid=1041688648
PS: Momentan bleiben auch die Leute im Haus, die vom Hausbesitzer per
    "erlaube" Sonderrechte eingeraeumt bekommen haben. Damit ist aber
    spaetestens nach dem naechsten Reboot Schluss (die anderen "erlaube"-
    Rechte sind davon unbeeinflusst).
  Wargon

-----------------------------------------------------------------------------



Re: Re: Gefangen im Seherhaus (Eldaron,  4. Jan 2003, 16:26:02):
~#! rn=Wargon rt=1041690614 rg=entwicklung
~#! tid=1041688648
Vielleicht koennte man einrichten, dass Zweities dann nicht rausfliegen?

Eldaron

-----------------------------------------------------------------------------



Re^4: Gefangen im Seherhaus (Sou,  5. Jan 2003, 23:28:34):
~#! rn=Sou rt=1041805489 rg=entwicklung
~#! tid=1041688648
Ach so, ich finde das kappen von ausgaengen ist ein fall fuer muadib, dessen
aufgeben fast jeder magier uebernehmen kann

Sou entschuldigt sich fuer eine voreilige Schlussfolgerung.

-----------------------------------------------------------------------------



Zauberer-neu (Orktoeter, 19. Jan 2003, 21:45:04):
So rein interessehalber: Wie weit sind denn die neuen Zauberer gediehen?

OrkT.

-----------------------------------------------------------------------------



Generalsquest? (Orktoeter, 20. Jan 2003, 10:41:07):
Mit hinblick auf ein "finger bendeigid": 

Bendeigid ist nicht anwesend.
Zuletzt eingeloggt von: Koeln.
Zuletzt ausgeloggt: Don,  6. Jun 2002, 11:02:38 (228d 00:34:36).
Voller Name: Dom Bendeigid
Rasse: Darkovaner,  Gilde: Kaempfer,  Geschlecht: maennlich
Alter: 200d 07:50:36,   Magierlevel: 35 (Hilfsmagier)
Datum des ersten Login: vor dem 10. Nov 1995
Bisher bereits 8 mal gestorben
Regionsmitarbeiter von: Ebene, Polar.
Projekt: Generalsquest fuer Trves fertigstellen.

Frage ich mich ob sich da nicht vielleicht ein oder zwei neuere Magier finden
die mal versuchen Kontakt zu Bendeigid aufzunehmen und diese Generalsquest
dann weiterbringen. (evtl. wird dann ja in 3 oder 4 Generationen von Magiern
auch noch etwas draus)
Bendeigid scheint ja nun wohl auch im RL versumpft zu sein...

OrkT.

PS Wer noch an Taramis glaubt der schreibe den naechsten Artikel...

-----------------------------------------------------------------------------



Re: Generalsquest? (Boing, 20. Jan 2003, 10:43:40):
~#! rn=Orktoeter rt=1043055667 rg=entwicklung
~#! tid=1043055667
Willst Du jetzt fuer jedes ruhende Projekt nen Artikel in entwicklung
schreiben? Dann sollte schonmal jemand die maximale Artikelzahl hochsetzen.
  Boing

-----------------------------------------------------------------------------



Re: Re: Generalsquest? (Orktoeter, 20. Jan 2003, 10:46:42):
~#! rn=Boing rt=1043055820 rg=entwicklung
~#! tid=1043055667
Nein, Taramis (und was es sonst noch gibt) ueberlasse ich gerne anderen. 
Aber die Kaemfergilden-generalsquest finde ich von der Planung her so toll das
ich es schade faende wenn sie mit Bendeigids Dauerabwesenheit einschlafen
wuerde. Andererseits ist seit seinem letzen dasein so viel Zeit vergangen das
es meiner Meinung nach nicht schadet gerade juengere Magier mal darauf
aufmerksam zu machen das es da die Moeglichkeit gibt etwas ganz tolles zuende
zu bringen.

OrkT.

-----------------------------------------------------------------------------



Re^3: Generalsquest? (Amaryllis, 20. Jan 2003, 10:50:08):
~#! rn=Orktoeter rt=1043056002 rg=entwicklung
~#! tid=1043055667
[ ] Du kennst das Projektbrett.

Ama*

-----------------------------------------------------------------------------



Re^4: Generalsquest? (Cadrach, 20. Jan 2003, 11:03:10):
~#! rn=Amaryllis rt=1043056208 rg=entwicklung
~#! tid=1043055667
[ ] Du hast Bendeigid mal angemailt und er wuenscht dieses auch.

-----------------------------------------------------------------------------



Re: Zauberer-neu (Ark, 21. Jan 2003, 20:30:43):
~#! rn=Orktoeter rt=1043009104 rg=entwicklung
~#! tid=1043009104
On hold, bis sich ein Nachfolger fuer Silvana einstellt.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



MPA (Whitetiger, 27. Jan 2003, 17:21:22):
Ich wuerde es nett finden, wenn bei Replies auf Artikel in anderen Rubriken
die Artikelnummer gleich mit auftauchen wuerde... Da kann man dann ueber
Rubrik-Grenzen besser den Bezug finden...

WhiteTiger

-----------------------------------------------------------------------------



Re: MPA (Vanion, 27. Jan 2003, 20:25:15):
~#! rn=Whitetiger rt=1043684482 rg=entwicklung
~#! tid=1043684482
Das Problem ist, dass die Artikelnummern nicht statisch sind. Um sowas zu
implementieren, muesste man die halbe MPA neustricken.

V*

-----------------------------------------------------------------------------



Re: Re: MPA (Mupfel, 27. Jan 2003, 20:26:41):
~#! rn=Vanion rt=1043695515 rg=entwicklung
~#! tid=1043684482
Na denn, frisch ans Werk, Vanion ;)

-mupfel-

-----------------------------------------------------------------------------



Re^3: MPA (Vanion, 27. Jan 2003, 20:28:07):
~#! rn=Mupfel rt=1043695601 rg=entwicklung
~#! tid=1043684482
Was rauchst Du?
Mandragon wollte die machen.

V*, schiebt den "Schwarzen Peter" unauffaellig weiter.

-----------------------------------------------------------------------------



Re^4: MPA (Mandragon, 27. Jan 2003, 20:28:23):
~#! rn=Vanion rt=1043695687 rg=entwicklung
~#! tid=1043684482
IIIIIICH ???

Ma*

-----------------------------------------------------------------------------



Re^4: MPA (Leibi, 27. Jan 2003, 20:28:43):
~#! rn=Vanion rt=1043695687 rg=entwicklung
~#! tid=1043684482
ich glaub mupfel trinkt eher wieder was mit limetten :)

leibi

-----------------------------------------------------------------------------



Re^5: MPA (Amaryllis, 27. Jan 2003, 20:28:51):
~#! rn=Mandragon rt=1043695703 rg=entwicklung
~#! tid=1043684482
Hm, dann kann ich meinen Krempel ja einstampfen... :)

Ama*

-----------------------------------------------------------------------------



Re^6: MPA (Mupfel, 27. Jan 2003, 20:29:35):
~#! rn=Amaryllis rt=1043695731 rg=entwicklung
~#! tid=1043684482
Ha! Ein Freiwilliger! ;)

-mupfel-

-----------------------------------------------------------------------------



Re^6: MPA (Vanion, 27. Jan 2003, 20:30:40):
~#! rn=Amaryllis rt=1043695731 rg=entwicklung
~#! tid=1043684482
Nee, mal ganz im Ernst. Wir wissen alle, dass die MPA kein Sahnestueck ist,
aber es ist nicht so ohne weiteres moeglich eine neue zu schreiben. Das ist
nix, was man so eben mal runterproggt. Ich jedenfalls nicht. Da es derzeit
fuer mich draengendere Probleme gibt, liegt mein MPA-Projekt bis auf Weiteres
auf Eis.

V*

-----------------------------------------------------------------------------



Re^7: MPA (Amaryllis, 27. Jan 2003, 20:31:38):
~#! rn=Vanion rt=1043695840 rg=entwicklung
~#! tid=1043684482
Hab ich gesagt dass ich eine neue schreiben will?

Ama*

-----------------------------------------------------------------------------



Re^7: MPA (Eldaron, 27. Jan 2003, 20:37:55):
~#! rn=Vanion rt=1043695840 rg=entwicklung
~#! tid=1043684482
Apropos Sahnestueck: Gibt es eigentlich irgendeine Moeglichkeit, an das Archiv
von seher.entwicklung ranzukommen? 

Eldaron

-----------------------------------------------------------------------------



Re^8: MPA (Mandragon, 27. Jan 2003, 21:25:24):
~#! rn=Eldaron rt=1043696275 rg=entwicklung
~#! tid=1043684482
... oder Erzmagier.schmarrn .. ;o)

Ma*

-----------------------------------------------------------------------------



Re^9: MPA (Zook, 27. Jan 2003, 21:27:47):
~#! rn=Mandragon rt=1043699124 rg=entwicklung
~#! tid=1043684482
Oh, das ist ja auch schon 139K gross. Dabei habe ich das doch vor gar
nicht allzu langer Zeit eingerichtet....

Zook.

-----------------------------------------------------------------------------



Re^10: MPA (Vanion, 27. Jan 2003, 21:28:15):
~#! rn=Zook rt=1043699267 rg=entwicklung
~#! tid=1043684482
Echt? Mal lesen. 

V*

-----------------------------------------------------------------------------



Nochmal MPA (Muadib, 28. Jan 2003, 13:03:44):
Hi,

wer nach 'post' oder 'mail' nicht den Inhalt seines Folders aufgelistet
bekommen moechte aber dennoch den interaktiven Modus nutzen will, der nehme
stattdessen 'mail -silent' oder 'post -silent'.

gruss

muadib

-----------------------------------------------------------------------------



Re: Ruestungswechsel(geschwindigkeit) (Nonne, 29. Jan 2003, 16:28:04):
~#! rn=Humni rt=1043853810 rg=entwicklung
~#! tid=1043853810
Nur Ruestung? Keine Waffen? Wie inkonsequent (c;

Nonne, mit einem Koerchen Wahrheit in der bissigen Bemerkung.

-----------------------------------------------------------------------------



Re: Ruestungswechsel(geschwindigkeit) (Bambi, 29. Jan 2003, 16:32:54):
~#! rn=Humni rt=1043853810 rg=entwicklung
~#! tid=1043853810
Super! Ein guter Anfang!
Bambi, das ernst meinend.

-----------------------------------------------------------------------------



Re: Re: Ruestungswechsel(geschwindigkeit) (Mandragon, 29. Jan 2003, 16:54:51):
~#! rn=Bambi rt=1043854374 rg=entwicklung
~#! tid=1043853810

:ist begeistert.

Ma*

P.S.: Wann ist der Waffenwechsel dran?

-----------------------------------------------------------------------------



Re^3: Ruestungswechsel(geschwindigkeit) (Foobar, 29. Jan 2003, 16:55:47):
~#! rn=Mandragon rt=1043855691 rg=entwicklung
~#! tid=1043853810
Kleiner Finger, ganze Hand. ;o)

Foobar

-----------------------------------------------------------------------------



Re^4: Ruestungswechsel(geschwindigkeit) (Puk, 29. Jan 2003, 17:16:25):
~#! rn=Foobar rt=1043855747 rg=entwicklung
~#! tid=1043853810
jaja :)

-----------------------------------------------------------------------------



Re: Ruestungswechsel(geschwindigkeit) (Jadawin, 30. Jan 2003, 09:27:22):
~#! rn=Humni rt=1043853810 rg=entwicklung
~#! tid=1043853810
Betrifft das auch reines An-/Ausziehen ohne Anziehen anderer Ruestungen?
(Wechsel 2-Handwaffe/Schild)
Jad*

-----------------------------------------------------------------------------



Nochmal MPA (Whitetiger, 30. Jan 2003, 09:47:30):
Wieso funktioniert 'lies artikel 1' wenn man blind ist nicht? 'nn'
funktioniert ja...
-- WhiteTiger

-----------------------------------------------------------------------------



Re: Re: Ruestungswechsel(geschwindigkeit) (Humni, 30. Jan 2003, 11:02:20):
~#! rn=Jadawin rt=1043915242 rg=entwicklung
~#! tid=1043853810
Also.. der Wechsel 2-Handwaffe/Schild kostet Dich eine Aktion in der Rude. Der
Trick Schild an- und ausziehen innerhalb derselben Runde geht nicht mehr.

Humni

-----------------------------------------------------------------------------



Re: Ruestungswechsel(geschwindigkeit) (Madness, 30. Jan 2003, 13:51:58):
~#! rn=Humni rt=1043853810 rg=entwicklung
~#! tid=1043853810
Also das mit dem Schildwechsel betrifft somit ja eigentlich nur Kaempfer die
keinen 1-hand VS nutzen. Was somit nur den kleineren Kaempfer behindert.
Wobei ich es als richtigen Schritt sehen, auch wenn es fuer meinen Kaempfer ne
teilweise Umstellung ist.
Madness, mal fuer seinen Kaempfer sprechend

-----------------------------------------------------------------------------



Re: Re: Ruestungswechsel(geschwindigkeit) (Muadib, 30. Jan 2003, 14:07:34):
~#! rn=Madness rt=1043931118 rg=entwicklung
~#! tid=1043853810
es mag dir neu sein. aber es gibt auch andere einhandwaffen.
und viele davon duerfen kleine kaempfer auch verwenden.

-----------------------------------------------------------------------------



Re^3: Ruestungswechsel(geschwindigkeit) (Madness, 30. Jan 2003, 14:14:03):
~#! rn=Muadib rt=1043932054 rg=entwicklung
~#! tid=1043853810
Da mich hier einige Missverstanden haben (was evtl an meiner Formulierung
liegt ;)) will ich meinen Standpunkt nochmal erlaeutern:
Also das mit dem Schildwechsel betrifft hauptsaechlich 2-hand Waffen Kaempfer
(z.B. besonders Zwergekaempfer). Die VS-Nurzer (der VS ist hier nur mal nen
Beispiel, klar gibt es mehrere, auch gute 1-hand Waffen). Bloss solche Leute
wie Pitfall und co, die staendig mit solchen Waffen rumlaufen, juckt das nur
wenig. Doch fuer meinen Kaempfer ist das ne kleine Abwertung.
Madness, in der Hoffnung sich jetzt verstaendlich ausgedrueckt zu haben ;)

-----------------------------------------------------------------------------



Re^4: Ruestungswechsel(geschwindigkeit) (Darkwing, 30. Jan 2003, 14:30:31):
~#! rn=Madness rt=1043932443 rg=entwicklung
~#! tid=1043853810
Vielleicht faellt Dir dann mal auf dass Schild-Wechsel-Skripte beim
Schildstoss sowieso nix taugen - mit frisch angezogenem Schild hat Schildstoss
sowieso nix getaugt :)

Darkwing

-----------------------------------------------------------------------------



Re^5: Ruestungswechsel(geschwindigkeit) (Boing, 30. Jan 2003, 14:31:15):
~#! rn=Darkwing rt=1043933431 rg=entwicklung
~#! tid=1043853810
Nur bedingt richtig ... immerhin konnte man seine Wunsch-Schadensart damit
einstellen. 
  Boing

-----------------------------------------------------------------------------



Re^6: Ruestungswechsel(geschwindigkeit) (Gnome, 30. Jan 2003, 14:36:43):
~#! rn=Boing rt=1043933475 rg=entwicklung
~#! tid=1043853810
ausserdem: wenn ich die wahl habe zwischen wunschschadensart + gleich
danach mit der waffe weiterkaempfen + 75% schaden durch schildstoss
und das alle 2 runden ODER 1hand + 100%-schildstoss + bissel mehr AC...
dann nehm ich glatt die erste option. :)

gnOme

-----------------------------------------------------------------------------



Re^7: MPA (Joshua, 30. Jan 2003, 17:45:58):
~#! rn=Vanion rt=1043695840 rg=entwicklung
~#! tid=1043684482
Hi,
ich glaub' ich wiederhole mich - zumindest hab ich das schonmal irgendwo
eingebracht, kann auch ne Ebene gewesen sein - aber ich find die Idee gar
nicht ueber neu proggen und stattdessen ueber Schnittstellen zu existierenden
Loesungen zu sprechen nach wie vor vielversprechend. Afaik laeuft das MUD
unter Linux und dafuer gibt es nen Haufen gut funktionierender Loesungen. Eine
Schnittstelle zu einem News-System sollte nicht schwer zu loesen sein. Stelle
mir das etwa so vor, dass das MUD die Nachricht entgegennimmt aber gar nicht
weiter selbst weiterverarbeitet sondern als Befehl auf der Shell an das
News-System uebergibt. Wuerde nebenbei sowas wie den Gebrauch von News-Readern
ermoeglichen. Nur so als Idee. Ich bin leider zu wenig versiert um sowas zu
machen, sonst wuerd ich mir das mal anschaun ...

Josh - will konstruktiv sein ...

-----------------------------------------------------------------------------



Re^8: MPA (Muadib, 30. Jan 2003, 17:48:51):
~#! rn=Joshua rt=1043945158 rg=entwicklung
~#! tid=1043684482
wenn du zu wenig versiert dazu bist, wie kommst du zu der einschaetzung es
sollte nicht schwer sein?

versteh mich nicht falsch, ich moechte die idee nicht abtun oder kritisieren,
aber ich bin sehr interessiert wie die abschaetzung zustande kam.

-----------------------------------------------------------------------------



Re^9: MPA (Joshua, 30. Jan 2003, 20:28:41):
~#! rn=Muadib rt=1043945331 rg=entwicklung
~#! tid=1043684482
Bin nicht versiert genug = habe schon lange nicht mehr programmiert.
Einschaetzung basiert darauf das es einfacher sein sollte ein shell-kommando
abzugeben und die Funktionalitaet bereits geschriebener Software zu
ueberlassen als sie selbst zu schreiben (Thread-Verfolgung etc.). Also so in
Kurzform - beantwortet das Deine Frage?

Josh

-----------------------------------------------------------------------------



Re^10: MPA (Sou, 30. Jan 2003, 20:56:30):
~#! rn=Joshua rt=1043954921 rg=entwicklung
~#! tid=1043684482
(Auf den letzten Artikel)
Also, da sich noch keiner beschwert, muss ich das mal machen.
Mit Schildstoss hab ich gut Schaden gemacht. Pulver war schon drinnen.
Da ich als Elf keine Einhandwaffen nutze (VS sollte ich vielleicht anfangen)
kann ich mir das Schilderholen sparen.
Kritikpunkt 1.: Ich brauch zum Schild anziehen nur eine Hand ... zum Festheben
einer Waffe auch nur eine ... wieso geht das nicht in einer Runde?
Kritikpunkt 2.: Wurde ueber andere Optionen (z.B. Schildstoss in der Rund nach
dem Tragen auf 50% zu setzen) nachgedacht?

Na ja auf jeden Fall sollte jemand 'frage Brieseltrim nach Rente' einbauen.

Sou immer noch der Meinung, dass zwischen den Gilden kein Unterschied im
Schaden bestannd.

-----------------------------------------------------------------------------



Re^10: MPA (Muadib, 30. Jan 2003, 23:16:46):
~#! rn=Joshua rt=1043954921 rg=entwicklung
~#! tid=1043684482
ja meine frage ist in vielerlei hinsicht beantwortet

-----------------------------------------------------------------------------



Re^10: MPA (Vanion, 30. Jan 2003, 23:32:56):
~#! rn=Joshua rt=1043954921 rg=entwicklung
~#! tid=1043684482
Um das mal etwas genauer zu machen als Muadib.

1.) Du musst nich nur aus dem Driver/LPC heraus ein Shell-Kommando absetzen.
    Das zu implementieren wuerde notfalls sogar ich hinbekommen. Nein, Du
    musst auch die Ergebnisse parsen. Letztlich brauchst Du also eine voll-
    staendige Schnittstelle zwischen dem News-Server und dem MG. 

2.) Ein News-System das fuer uns brauchbar waere muesste Level- und Personen-
    bezogene Zugriffsrechte erlauben. Es ist nicht so, dass wir uns nicht
    vorher umgeschaut haben.

Kurz: Wir (Muadib und ich) haben uns schon Gedanken gemacht, ob und wie wir
fertige SW benutzen koennen, aber wir sind zu keinen brauchbaren Ergebnissen
gekommen. Wenn Du einen Newsserver hast, von dem Du glaubst, dass er den
Anforderungen des MG genuegt und der eine definierte Schnittstelle hat, kannst
Du aber jederzeit mit Deiner Empfehlung zu uns kommen.

V*, hat nix gegen ein bischen Hilfe.

-----------------------------------------------------------------------------



Re^11: MPA (Eldaron, 31. Jan 2003, 01:46:30):
~#! rn=Sou rt=1043956590 rg=entwicklung
~#! tid=1043684482
> Da ich als Elf keine Einhandwaffen nutze...
Schuld eigene.

> Kritikpunkt 1.: Ich brauch zum Schild anziehen nur eine Hand ...
> zum Festheben einer Waffe auch nur eine ... wieso geht das nicht
> in einer Runde?
Eine Runde ist ein Herzschlag, ich wuerde dich zu gerne mal sehen, wie du
waehrend eines Herzschlages eine Zweihand Waffe mit einer Hand haeltst,
einen Schild zumSchildstoss fertig machst und dann auch noch den Schild mit 
sichtbarem Erfolg in den Gegner rammst. (Wenn du tot bist, ist es natuerlich
witzlos.)

> Kritikpunkt 2.: Wurde ueber andere Optionen (z.B. Schildstoss in der Rund
> nach dem Tragen auf 50% zu setzen) nachgedacht?
Merkst du eigentlich noch irgendwas? 

>Na ja auf jeden Fall sollte jemand 'frage Brieseltrim nach Rente' einbauen.
Vielleicht auch 'fn brieseltrim umschulung, ABM' ? ;>

>Sou immer noch der Meinung, dass zwischen den Gilden kein Unterschied im
>Schaden bestannd.
ROTFL, you made my day.

Eldaron, kopfschuettelnd

-----------------------------------------------------------------------------



Re^12: MPA (Zarniya, 31. Jan 2003, 07:41:54):
~#! rn=Eldaron rt=1043973990 rg=entwicklung
~#! tid=1043684482
waere nur nett, wenn ihr auch in eurem Thread bleiben wuerdet. Es ist nur
sinnvoll, auf den letzten Artikel zu antworten, wenn dieser letzte Artikel zum
Thema gehoert.

-----------------------------------------------------------------------------



Schildwechsel (Orktroeter, 31. Jan 2003, 10:59:59):
Wenn man jetzt auf Realismus achtenb will, dann passt bitte auch die Karateka
etc. an.
Den Karateka moechte ich sehen, der mir auf die Ruestung schlaegt und dabei
mich statt sich selbst zu Brei schlaegt. So er denn ueberhaupt in die Naehe
kommt . Bevor er auf 1m ran ist, ist der doch seine Arme laengst los
OrkT*
..

-----------------------------------------------------------------------------



Re: Schildwechsel (Zook, 31. Jan 2003, 11:05:31):
~#! rn=Orktroeter rt=1044007199 rg=entwicklung
~#! tid=1044007199
So ganz verstehe ich Deinen Artikel nicht. 

Zook.

-----------------------------------------------------------------------------



Re: Schildwechsel (Bambi, 31. Jan 2003, 11:05:45):
~#! rn=Orktroeter rt=1044007199 rg=entwicklung
~#! tid=1044007199
Ich weiss zwar nicht, wem ich grad auf die Fuesse trete, aber wenn Du zu bloed
oder zu feige bist, Deinen echten Erstie zum Schreiben zu benutzen oder
wenigstens Deinen Zweitie _sichtbar_ zu markieren, dann hM.

Bambi, persoenliche Meinung kundtuend.

-----------------------------------------------------------------------------



Re: Schildwechsel (Vanion, 31. Jan 2003, 11:06:13):
~#! rn=Orktroeter rt=1044007199 rg=entwicklung
~#! tid=1044007199
Laeuft das auf eine 'Es gibt viel zu tun, lassen wir's sein'-Argumentation
hinaus?

V*, -> schmarrn.

-----------------------------------------------------------------------------



Re: Re: Schildwechsel (Patryn, 31. Jan 2003, 11:21:08):
~#! rn=Bambi rt=1044007545 rg=entwicklung
~#! tid=1044007199
Du siehst das falsch, er spielt in der Tat seit Jahr und Tag nicht mehr
und kennt sich trotzdem voll gut aus. Da ist kein versteckter aktiver
Supererstie oder -zweitie, den man aus dem grossen Allgemeinwissen
ableiten koennte, welches er sich selbst zugesteht. ;)

-- 
Patryn

-----------------------------------------------------------------------------



Re: Schildwechsel (Boing, 31. Jan 2003, 11:23:14):
~#! rn=Orktroeter rt=1044007199 rg=entwicklung
~#! tid=1044007199
Bevor das hier ausartet ... achtet bitte darauf, dass hier ein Char
namens OrktRoeter geschrieben hat, nicht Orktoeter. Auch wenn es ein
sehr gelungener Fake war, wie ich zugeben muss, haette von ihm sein
koennen ... ;)
  Boing
,.

-----------------------------------------------------------------------------



Re: Re: Schildwechsel (Vector, 31. Jan 2003, 11:24:34):
~#! rn=Boing rt=1044008594 rg=entwicklung
~#! tid=1044007199
und ich wunder mich schon dass mein ignore@mpa
nimmer klappt.
aber da sieht man mal, mit welcher erwartungshaltung
man inzwischen an die artikel von orktoeter rangeht.

-----------------------------------------------------------------------------



Re^3: Schildwechsel (Flauros, 31. Jan 2003, 12:07:07):
~#! rn=Patryn rt=1044008468 rg=entwicklung
~#! tid=1044007199

Da steht Orktroeter, nicht Orktoeter.


-----------------------------------------------------------------------------



Schildwechsel (Sou, 31. Jan 2003, 12:52:14):
Antwort auf Eldarons Artikel (48) 
Schuld eigene. -> Ok, wie viele gute Einhandspeere gibt es? (Schwerter muessen
fast illegal sein, damit sie den Schaden eines Speeres ersetzen)

> Eine Runde ist ein Herzschlag,...
Dann erklaer mir bitte Schnellkampf allgemein, bei Puls 180+.

> Merkst du eigentlich noch irgendwas? 
Ok. Beispiel war schlecht. Mich hat eigentlich nur der Erziebeschluss
gestoert.

> ROTFL, you made my day.
Entschuldige, ich haette vielleicht nicht Schaden sondern Effektivitaet sagen
sollen, und Gilden einschraenken...

Sou

-----------------------------------------------------------------------------



Re^4: Schildwechsel (Patryn, 31. Jan 2003, 13:07:25):
~#! rn=Flauros rt=1044011227 rg=entwicklung
~#! tid=1044007199
Na wie gut dass ich nirgendwo nen Namen erwaehnt habe und trotzdem jeder
weiss, auf wen es sich bezieht ;)

-- 
Patryn

-----------------------------------------------------------------------------



Re^12: MPA (Foobar, 31. Jan 2003, 13:13:48):
~#! rn=Eldaron rt=1043973990 rg=entwicklung
~#! tid=1043684482
Mit "Realismus" zu argumentieren kann in diesem MUD eigentlich nur
fehlschlagen.

Ansonsten kannst Du, Eldaron, mir ja mal RL demonstrieren wie Du einen arashi
castest oder die Zeit so manipulierst, dass Du schneller kaempfst. ;o)

Seht es positiv, Kaempfer: Die Aenderung ist eine Aufwertung des Kampfes mit
1-Hand-Waffe und Schild.

Foobar

-----------------------------------------------------------------------------



Re^13: MPA (Vardion, 31. Jan 2003, 13:17:02):
~#! rn=Foobar rt=1044015228 rg=entwicklung
~#! tid=1043684482
Tanjian benutzen Magie, Kaempfer nicht. Daher haben sich letztere
physikalischen Gesetzen zu unterwerfen :-)
Ok, wenn jemand in RL nen Raum mit Nomagic < 100 findet, koennte man auch mal
den Arashi...

Vardion

-----------------------------------------------------------------------------



Re^14: MPA (Flauros, 31. Jan 2003, 13:19:34):
~#! rn=Vardion rt=1044015422 rg=entwicklung
~#! tid=1043684482
Juhu! Magie. Genau, das wahnsinnstolle Argument, wenn sonst nichts mehr
greift. ;)

-----------------------------------------------------------------------------



Re^15: MPA (Vardion, 31. Jan 2003, 13:20:58):
~#! rn=Flauros rt=1044015574 rg=entwicklung
~#! tid=1043684482
Papperlapapp. Es ist doch einer der massiven Vorteile der Kaempfer, NICHT mit
Magie zu arbeiten (und daher diversen Beschraenkungen der Magie nicht
unterworfen zu sein). Da muss man schon die Nachteile (physikalische Gesetze)
auch mit nehmen...

Vardion

-----------------------------------------------------------------------------



Re^16: MPA (Flauros, 31. Jan 2003, 13:22:19):
~#! rn=Vardion rt=1044015658 rg=entwicklung
~#! tid=1043684482
Na dann hat nomagic ja auch seine volle Berechtigung, oder? Und ich will nie
wieder das Gejammer darueber hoeren. :)

-----------------------------------------------------------------------------



Re^17: MPA (Patryn, 31. Jan 2003, 13:23:39):
~#! rn=Flauros rt=1044015739 rg=entwicklung
~#! tid=1043684482
Na dann plaedier ich gleich noch fuer die Einfuehrung von nophys,
falls dafuer nen Reboot noetig sein sollte, eilt euch ;)

-- 
Patryn

-----------------------------------------------------------------------------



Re^18: MPA (Foobar, 31. Jan 2003, 13:26:05):
~#! rn=Patryn rt=1044015819 rg=entwicklung
~#! tid=1043684482
Gibt's bereits, Patryn. Oder kann man den Wandler mit rein mechanische
Angriffen treffen?

Nein?

Siehst Du.

Foobar

-----------------------------------------------------------------------------



Re^19: MPA (Vector, 31. Jan 2003, 14:08:50):
~#! rn=Foobar rt=1044015965 rg=entwicklung
~#! tid=1043684482
dann ueberleg dir mal foobar ob du wirklich gleich viele
nophys-npc/raeume haben willst wie nomagic :o)

ueberleg lieber 2mal

-----------------------------------------------------------------------------



Re^20: MPA (Elberet, 31. Jan 2003, 21:36:22):
~#! rn=Vector rt=1044018530 rg=entwicklung
~#! tid=1043684482
wieso eigentlich immer dieser Gilden-Schwanzvergleich? Ich sehe da echt keinen
Nutzen drin.

Elbi

-----------------------------------------------------------------------------



Re^21: MPA (Patryn, 31. Jan 2003, 21:38:52):
~#! rn=Elberet rt=1044045382 rg=entwicklung
~#! tid=1043684482
Ab morgen bekommen 10 Leute meiner Wahl ein Zaptool.
Und wehe einer vergleicht sich mit denen... ;) Das nutzt nix.

-- 
Patryn, wie immer ueberspitzt (fuer die ganz Daemlichen)

-----------------------------------------------------------------------------



Re^22: MPA (Elberet, 31. Jan 2003, 22:00:02):
~#! rn=Patryn rt=1044045532 rg=entwicklung
~#! tid=1043684482
krieg ich auch eins? ;)

Elbi

-----------------------------------------------------------------------------



Re^23: MPA (Patryn, 31. Jan 2003, 22:02:10):
~#! rn=Elberet rt=1044046802 rg=entwicklung
~#! tid=1043684482
Als Kaempfer? Wozu brauchen Unbesiegbare ein extra Zaptool?

--
Patryn...ahnt den Anstieg des Herztropfenverbrauchs im voraus

-----------------------------------------------------------------------------



Re^24: MPA (Amaryllis, 31. Jan 2003, 22:03:31):
~#! rn=Patryn rt=1044046930 rg=entwicklung
~#! tid=1043684482
Sie sind unbesiegbar, aber es gibt ja welche, die sind zu bloed, das richtig
einzusetzen... denen koennte man eins zukommen lassen :-)

Ama*

-----------------------------------------------------------------------------



Re^24: MPA (Firehawk, 31. Jan 2003, 22:52:01):
~#! rn=Patryn rt=1044046930 rg=entwicklung
~#! tid=1043684482
Yippee, also werden die Zaptools gleichmaessig unter Chaoten, Bierschuettlern,
Abenteurern, Katzenkriegern, Karateka? und Chaoten verteilt :) Ich beantrage
hiermit mal eins.

Und falls jemand sagt, dass die Kleriker fehlen ... ihr erwartet ja wohl
hoffentlich net, dass ich fuer die spreche, ausserdem koennen die sich ja auf
den Beistand Gottes verlassen (oder halt nicht, is mir auch egal).

Sich die Haende reibend, Firehawk

-----------------------------------------------------------------------------



Kugeln zum Finden von Spielern... (Zook,  1. Feb 2003, 09:21:43):
Hallo zusammen,

da die letzte Aenderung an den Kugeln sich nicht so recht bewaehrt hat,
sind sie wieder dahingehend geaendert worden, dass man blinde Spieler
finden kann. Vielen Dank an Amaryllis fuer den Fix.

Gruss, Zook.

-----------------------------------------------------------------------------



Re^13: MPA (Mupfel,  1. Feb 2003, 12:19:13):
~#! rn=Foobar rt=1044015228 rg=entwicklung
~#! tid=1043684482
> Seht es positiv, Kaempfer: Die Aenderung ist eine Aufwertung des Kampfes
> mit 1-Hand-Waffe und Schild.

Und da hier alle nur fuer Kaempfer proggen, eine gute Sache fuer Chaoten, die
ja auch mit 1-Hand-Waffe und Schild unterwegs sind ;)

-mupfel-

-----------------------------------------------------------------------------



Re^14: MPA (Sou,  1. Feb 2003, 14:46:08):
~#! rn=Mupfel rt=1044098353 rg=entwicklung
~#! tid=1043684482
Jo also eine Aufwertung der Hobbitkaempfer, die sollen ja auch so nicht ganz
schlecht sein, wie ich gehoert hab. Solange Elfen nur Speere auf max kriegen,
seh ich es als Elfenkaempferabwertung, und als Rueckschritt ... fi
ws hatte ich mir mit GL 18 abgewoehnt gehabt...

Sou wird es langsam egal.

-----------------------------------------------------------------------------



Re^15: MPA (Zook,  1. Feb 2003, 14:49:36):
~#! rn=Sou rt=1044107168 rg=entwicklung
~#! tid=1043684482
Worin genau besteht nun die "Aufwertung"?

Zook.

-----------------------------------------------------------------------------



Re^16: MPA (Mupfel,  1. Feb 2003, 14:54:41):
~#! rn=Zook rt=1044107376 rg=entwicklung
~#! tid=1043684482
Naja... das ist so wie wenn Politiker von "Aufwertung" sprechen: sie dachten,
sie wuerden 10% verlieren, haben aber nur 5% verloren - eine "Aufwertung" von
5% also ;)
Sou meint das so: Hobbitkaempfer kaempfen eh schon mit Einhandwaffen
(Messern),  dadurch das jetzt fuer alle anderen die Zweihandwaffen
"abgewertet" sind, sind also die Hobbits relativ aufgewertet. Oder so. Oder
anders. ;)


-mupfel-

-----------------------------------------------------------------------------



Re^16: MPA (Sou,  1. Feb 2003, 14:55:23):
~#! rn=Zook rt=1044107376 rg=entwicklung
~#! tid=1043684482
Tschuldi, Aufwertung innerhalb der Gilde. Hobbit = Dolch = Einhandwaffe - Elf
= Speer = Zweihandwaffe, Zwerge meisst Zweihand, Menschen gemischt, aber
bevorzugen zweihaendige Waffen, Feline, na ja, dazu kann ich wenig  sagen
Mir wird auf jeden Fall ein Angriff alle 2 Runden genommen, und damit der
Schaden reduziert. Hab dafuer weniger stress beim Ausruestung holen.

-----------------------------------------------------------------------------



Re^17: MPA (Eldaron,  1. Feb 2003, 15:00:19):
~#! rn=Sou rt=1044107723 rg=entwicklung
~#! tid=1043684482
> Hobbit = Dolch = Einhandwaffe
Elf = Baum = Stamm?

Eldaron, flamend

-----------------------------------------------------------------------------



Re^17: MPA (Elberet,  1. Feb 2003, 15:45:12):
~#! rn=Sou rt=1044107723 rg=entwicklung
~#! tid=1043684482
genommen? wenn ich mich recht erinnere gibts doch gerade auch einhandspeere
mit tollen boni auf waffenschlag. und wenn dann auch noch der nicht
unerhebliche bonus von so nem Schildstoss dazukommt, also ich kann da nicht
wirklich eine Abwertung sehen. Und wenn es doch eine ist, sein wir mal
ehrlich, dann war sie notwendig.

Elbi Kaempfer (a.D.)

-----------------------------------------------------------------------------



Info fuer mich :) (Boing,  1. Feb 2003, 22:24:48):
~#! on=Roland ot=1044134610 og=gilden.kaempfer
Hab mal noch ne Frage zu den Waffenfertigkeiten in den anderen Gilden.
Koennen Abenteurer, Schuettler usw .. eigendlich alle waffengatungen maxen
oder schwankt das wie bei den Kaempfern also .. nach Rasse und so
Faellt der skill auch wieder wenn sie andere Waffengattungen nutzen?

Roland, fragend.

-----------------------------------------------------------------------------



Re: Info fuer mich :) (Karis,  2. Feb 2003, 10:54:15):
~#! rn=Boing rt=1044134688 rg=entwicklung
~#! tid=1044134688
Nix fuer ungut, Roland. Aber diese Fragen sind eigentlich irrelvant.
Die einzige Frage - bzw. die, Antwort, die du wirklich wissen willst -
ist: die Waffenfertigkeiten der diversen ilden werden bei weitem nicht an die
der 
Kaempfergilde heranreichen. Ich behaupote dies, ohne irgendeinen MAgier
gefragt zu haben. Und alles andere duerfte dann wohl eh egal sein :)

Karis

-----------------------------------------------------------------------------



Re: Re: Info fuer mich :) (Orktoeter,  2. Feb 2003, 13:42:13):
~#! rn=Karis rt=1044179655 rg=entwicklung
~#! tid=1044134688
Das die neuen, allgemeinen Waffenfertigkeiten nicht an die Waffenfertigkeiten
der Kaempfergilde heranreichen werden hoffe ich auch mal, schliesslich ist das
eine Gilde deren Mitglieder sich ganz dem Kampf mit Waffen verschrieben haben.
Die Frage von Roland ist aber insofern sehr wohl gerechtfertigt, als das
Waffenskillkonzept der Kaempfergilde schon recht komplex ist. Man kann nur
eine Waffe wirklich perfekt beherrschen, eine zweite Waffe noch recht gut und
alle weiteren Waffen kann man bei weitem nicht mehr gut erlernen. Desweiteren
wird ein Zwergenkaempfer der versucht mit einem Speer zu kaempfen darin nie so
gut werden wie ein Elfenkaempfer, d.h. die Waffen deren Umgang man maximieren
kann sind Rassenspezifisch. Deswegen ist die Frage ob diese Restriktionen in
den allgemeinen Waffenskill auch eingeflossen sind schon recht interessant.

OrkT.

-----------------------------------------------------------------------------



Re: Info fuer mich :) (Zook,  2. Feb 2003, 15:51:56):
~#! rn=Boing rt=1044134688 rg=entwicklung
~#! tid=1044134688
Ich kann dazu soviel sagen, dass ein allgemeiner Waffenskill nur steigt und
nicht wieder absinkt. Zu den anderen Einflussfaktoren siehe die Hilfe-
Seite "waffenfertigkeiten" bzw. probiert es einfach aus. 

Gruss, Zook.

-----------------------------------------------------------------------------



Re^11: MPA (Joshua,  2. Feb 2003, 20:02:51):
~#! rn=Vanion rt=1043965976 rg=entwicklung
~#! tid=1043684482
Hm, wusste ich nicht. Interessante Information - Danke fuer die "Aufklaerung".
Wenn ich mal die Zeit finde, werd' ich glatt mal gucken. Im Rahmen meiner
Forschungsarbeiten zum Thema Wissensmanagement hatte ich mir mal paar Sachen
angesehen, die Bewertungen erlauben. Davon war auch irgendwas OpenSource. Aber
das ist nen Jahr her und nur ne dunkle Erinnerung. Wie gesagt, wenn ich Zeit
und Ruhe finde (~n sollte;) schaue ich mal ob ich was finde, was Ihr Euch
vielleicht mal anschauen solltet ...

Josh

-----------------------------------------------------------------------------



Re^17: MPA (Ark,  3. Feb 2003, 20:01:24):
~#! rn=Sou rt=1044107723 rg=entwicklung
~#! tid=1043684482
Abwertung, Aufwertung, jaja. Eigentlich faellt der Einbau nur bei der Gilde so
richtig auf, die das wohl als Routine benutzt und in Skripte eingebaut hat. Ob
die Kaempfer als Waffen-/Ruestungsjongleure geplant waren mit (theoretisch)
mehreren Wechseln pro Kampfrunde, erscheint mir aeusserst zweifelhaft. Ergo
kann man nicht von Abwertung sprechen, sondern vielleicht eher von
Bugbeseitigung, denn das ist ja nun nicht gildenweit, sondern grundsaetzlich
so.
Der grundsaetzliche Schutz durch die Ruestungen und der Schaden sind ja
unberuehrt. Insofern wuerde ich das als eine Abschaltung eines unerwuenschten
Effekts verstanden wissen, nicht als willkuerliche *ho humm* Abwertung einer
Gilde aus primitiven Absichten heraus.
Interessiert der Grund? Oder ist die Meinung, alles geschieht nur aus
egoistischen, interessengruppengetriebenen Motivationen heraus, zu sehr
verhaftet?


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^18: MPA (Gnome,  4. Feb 2003, 16:27:32):
~#! rn=Ark rt=1044298884 rg=entwicklung
~#! tid=1043684482
ob die kaempfer so geplant waren oder nicht, kann letztendlich nur Z
beantworten. meines erachtens sind sie halt spezialisiert auf waffen
und ruestungen aller art, wobei es dort nochmals rassenspezifische
spezialisierungen gibt, weshalb ich als zwerg dem dummen abenteurer
theoretisch 3 aexte um die ohren pfeffern kann und ihm zwischendurch
nochmal mein schild schmecken lassen koennte, bevor er sein sms
auch nur gezueckt kriegt.

in 99% aller kaempfe benutzt ein general seine 8 std-skills in
verschiedenen kombis. das ist eher traurig, aber leider tatsache.
da jetzt die ws-schildstoss-kombi noch auszuklammern halte ich
eher fuer den falschen ansatz (ich weiss, man kann die kombi immer
noch benutzen... ungefaehr genau so, wie man noch team autofolge
benutzen kann... har har).

kriegen wir in den naechsten paar jahren eigentlich auch mal ne
positive nachricht? so was wie: ko-schlag macht jetzt sinn oder
waffenbruch hat jetzt seinen namen verdient?

achnee, wir sind je eh viel zu stark. ich vergass die std-ausrede.

gnOme

-----------------------------------------------------------------------------



Re^19: MPA (Matis,  4. Feb 2003, 17:32:24):
~#! rn=Gnome rt=1044372452 rg=entwicklung
~#! tid=1043684482
Also ich finde die Aenderung durchaus einleuchtend, nachvollziehbar und
voellig ok. Und richtig, der Kampf mit 1Handwaffen koennte dadurch wieder
interessanter werden. Nehm ich an. Nicht dass ich was 1haendiges anfassen
wuerde - Keulen packt man mit beiden Haenden!
Dem Vorschlag, das ganze auch auf Waffenwechsel auszudehnen, stehe ich jedoch
weitaus skeptischer gegenueber. Damit wuerden zB Fintenbonuse nahezu 
unerheblich, schaut der Kaempfer i.a. doch zuallererst auf den "Bums" (jaja,
ich bin Zwerg) seiner Waffe. Tigerschweif und Co machen einfach zu wenig
Schaden. Wenn man hier was aendern will, dann muss man auch ein wenig ueber
ein neues Konzept fuer die Waffenboni nachdenken.

Matis

-----------------------------------------------------------------------------



Re^19: MPA (Cadrach,  4. Feb 2003, 17:33:36):
~#! rn=Gnome rt=1044372452 rg=entwicklung
~#! tid=1043684482
Du solltest beten das Zardoz die Gilde nie wieder selbst uebernimmt Gnome. Ich
habe mich vor einigen Jahren auf einer Party mit ihm darueber mal unterhalten.
Er haelt von dieser Waffenwechselei _ueberhaupt_ nicht und sie war nie geplant
(ebenso die Vielfalt an magischen Schadenstypen in Waffen) und sollte er sie
jemals wieder uebernehmen, waere es das erste was er ausbauen wuerde.

Cad*

-----------------------------------------------------------------------------



Re^20: MPA (Orktoeter,  4. Feb 2003, 17:35:51):
~#! rn=Matis rt=1044376344 rg=entwicklung
~#! tid=1043684482
1. Max-fintenbonus bringt dann immer noch etwas bei Teamkampf 
2. Wenn Waffen mit Bonus auf zwei Dinge z. B. Finte/Waffenschlag kommen, kann
sogar ein einzelner Kaempfer weiterhin beides nutzen, ganz ohne Waffenwechsel
(selbstredend nicht beide Boni auf maximal sondern deutlich drunter ->
Balance)

OrkT, sich wundernd wie ein "Die Hand der Zauberer ist ja immer noch da" zu
einer Abwertung der Kaempfer gefuehrt hat.

-----------------------------------------------------------------------------



Re^20: MPA (Cadrach,  4. Feb 2003, 17:40:23):
~#! rn=Cadrach rt=1044376416 rg=entwicklung
~#! tid=1043684482
Die Bierschuettler wurden seinerzeit uebrigends so extremst abgewertet mit der
Begruendung "die waren ja so geplant, das sollte nur ne Spassgilde sein". Also
noch ein Grund sehr vorsichtig zu sein Gnome.
"Die Kaempfer waren ohne staendiges Waffenwechseln und Verfuegbarkeit
saemtlicher magischen Schadenstypen geplant."

Cad*

-----------------------------------------------------------------------------



Re^21: MPA (Anatol,  4. Feb 2003, 17:41:18):
~#! rn=Cadrach rt=1044376823 rg=entwicklung
~#! tid=1043684482
Und Xian bekommt eine Parawelt.

-----------------------------------------------------------------------------



Re^21: MPA (Matis,  4. Feb 2003, 17:45:35):
~#! rn=Cadrach rt=1044376823 rg=entwicklung
~#! tid=1043684482
Naja, das Problem ist nicht so sehr das Vorhandensein aller magischen
Schadenstypen als der zu grosse Anteil des magischen Schadens am verursachten
Gesamtschaden. 

Matis


-----------------------------------------------------------------------------



Re^22: MPA (Zarniya,  4. Feb 2003, 17:46:39):
~#! rn=Anatol rt=1044376878 rg=entwicklung
~#! tid=1043684482
also ich weiss, dass Zardoz ein fast fanatischer Rollenspieler war, der einige
Sachen eben sehr realistisch gesehen hat. Wenn man also eine Hose wechseln
kann, ohne dass man beide Haende frei hat, und das ganze auch NUR eine Runde
kostet, dann sollte man froh sein. Wenn ich es einbauen muesste, dann wuerde
das VIEL VIEL laenger dauern und auch nicht, ohne dass man die Waffe weglegt.
Mal abgesehen davon, dass man sich nicht wirklich auf die Defense
konzentrieren kann, wenn man gerade ne Hose aus und anzieht. 

Marc

-----------------------------------------------------------------------------



Re^23: MPA (Orktoeter,  4. Feb 2003, 17:48:03):
~#! rn=Zarniya rt=1044377199 rg=entwicklung
~#! tid=1043684482
Sorry Marc, im prinzip gebe ich dir Recht, nur hat genau jener Zardoz auch den
strip-fumble eingebaut...

OrkT.

-----------------------------------------------------------------------------



Re^23: MPA (Anatol,  4. Feb 2003, 17:52:34):
~#! rn=Zarniya rt=1044377199 rg=entwicklung
~#! tid=1043684482
Natuerlich. Du weisst das, ich weiss das, das halbe Mud weiss das, 
sogar Cadrach weiss das. Aber das heisst trotzdem nicht, dass es 
hier automatisch so sein muss. Die Zauberer sind auch schon lange
nicht mehr das, als was sie urspruenglich geplant waren. Man kann
die Zeit nicht mit geschlossenen Augen zurueckdrehen.

Nichtsdestotrotz ist es natuerlich ein edler Gedanke, das schwere
Unterfangen zu versuchen. Aber mit offenen Augen bitte. Das heisst
in diesem Fall (als Zauberer sage ich: leider ;)) auch, dass das
Verhindern des effektiven Waffenwechsels besser dreimal zu oft als
einmal zu wenig durchgedacht wird.

Anatol

-----------------------------------------------------------------------------



Re^21: MPA (Gnome,  4. Feb 2003, 22:07:52):
~#! rn=Cadrach rt=1044376823 rg=entwicklung
~#! tid=1043684482
och weisst du... ICH kann ohne waffenwechsel und magischen schaden in
waffen leben. faende ich etwas sinniger als jetzt. konsequenterweise
muesste dann in vielen 08/15-waffen der fintenbonus - mal mehr mal
weniger - eingebaut werden (achja, waffentrick, ko-schlag, waffenbruch
etc. natuerlich auch... WENN, dann bitte richtig), so er noch
genutzt werden soll.

willst du das wirklich? wenn ja, baust du das ein/um? ALLE waffen?
machst du das vor oder nach dem kraeuterskill?

gnOme

-----------------------------------------------------------------------------



Re^22: MPA (Grimmborn,  4. Feb 2003, 22:09:52):
~#! rn=Gnome rt=1044392872 rg=entwicklung
~#! tid=1043684482
Nun lass ihn doch erstmal in Ruhe das Lichtsystem einbauen, bevor Du ihn mit
weiteren Aufgaben ueberfaellst.

GdA

-----------------------------------------------------------------------------



Re^22: MPA (Cadrach,  4. Feb 2003, 22:45:18):
~#! rn=Gnome rt=1044392872 rg=entwicklung
~#! tid=1043684482
a) alle Waffen haben abhaengig von ihrem Waffentyp (also Axt, Schwert etc)
schonmal "defaultwerte" fuer die verschiedenen Techniken. Es ist keinesfalls
so, das wirklich ueberall da Werte eingetragen werden muessten.
b) nach und nach (und die Spieler werden sich sicherlich bei den betreffenden
Magiern melden) waere es sicher kein Problem gezielt in einer Reihe von Waffen
noch entsprechende Boni zu setzen. Zumal sich sicherlich genug neue Magier
freuen, endlich mal wieder was neues brauchbares proggen zu koennen.
c) ja, das faende ich in der Tat keine schlechte Idee
d) nein, ich bin in wohlverdienter Rente - ich bau gar nichts ein/um - habe
das Thema ja auch nicht angefangen
e) alle Waffen? s.o.
f) s.o. ich mache das gar nicht
g) aus zuverlaessiger Quelle weiss ich, das sich seitdem 31.01 wieder
verstaerkt um den Kraeuterskill gekuemmert wird - er wird kommen und zwar
dieses Jahr noch.


Cad*

P.S.: Anatol, ich weiss ja das Du grundsaetzlich auf jeden Artikel (was auch
immer drinstehen mag) replyen musst, aber das der Vergleich von Dir hinkt und
soweit nebenher geht, sollte selbst Dir auffallen.

-----------------------------------------------------------------------------



Ruestungswechsel nochmal (Humni, 21. Feb 2003, 14:24:06):
Huhu,

Ruestungen, die eigentlich Waffen sind (wie das SMS oder die Tonfa) sollten ab
der naechsten Version, die ihr Euch holt, zum gewohnten Verhalten
zurueckkehren und nicht mehr weitere Ruestungswechsel blockieren.

Humni

-----------------------------------------------------------------------------



Kobold (Eldaron, 24. Feb 2003, 21:53:05):
> fwinke
Brotnael moechte gerade nicht gestoert werden.
Die Mitteilung wurde von einem kleinen Kobold in Empfang genommen.
Er wird sie spaeter weiterleiten!
Eppi moechte gerade nicht gestoert werden.
Die Mitteilung wurde von einem kleinen Kobold in Empfang genommen.
Er wird sie spaeter weiterleiten!
Du winkst Deinen Freunden aus der Ferne zu.

Ich wuensch mir, dass fwinke den Kobold ignoriert.

Eldaron

-----------------------------------------------------------------------------



Re: Kobold (Brotnael, 24. Feb 2003, 21:54:29):
~#! rn=Eldaron rt=1046119985 rg=entwicklung
~#! tid=1046119985
Und ich moechte mit Eppi ungestoert sein!

Brotnael moppert.

-----------------------------------------------------------------------------



Re: Kobold (Varlarion, 24. Feb 2003, 21:55:51):
~#! rn=Eldaron rt=1046119985 rg=entwicklung
~#! tid=1046119985
Das wuensch ich mir schon lange. Zumindest sollte der Scroll mudseitig auf
eine Zeile begrenzt werden (ja ich weiss, dass ich das gaggen kann ;)

Varl*

-----------------------------------------------------------------------------



Re: Re: Kobold (Bambi, 24. Feb 2003, 21:59:36):
~#! rn=Varlarion rt=1046120151 rg=entwicklung
~#! tid=1046119985
Ich selbst benutz den Kobold zwar nicht, seh aber durchaus ein, wenn jemand
den Kobold benutzt. Dass da dann dennoch Sachen durchgehen sollten, die von
Spielern relativ einfach erzeugbar sind, halte ich irgendwo fuer unlogisch.
Den Scroll einzugrenzen, faende ich aber auch nett. Sowas, wie "ignoriere
ignoriere" einzubauen, welches die "* ignoriert *" abfangen, waere vielleicht
sinnvoll. Jedoch gibts da bestimmt einige Stellen, wo man das einbauen
muesste.

MfG, Bambi.

-----------------------------------------------------------------------------



Re^3: Kobold (Vardion, 24. Feb 2003, 22:49:19):
~#! rn=Bambi rt=1046120376 rg=entwicklung
~#! tid=1046119985
Fwink soll ja nicht die Funktion des Kobold umgehen. Es soll mich nur nicht
deswegen zuscrollen. Bei fruf geht das doch auch... Achja, femote hat das
selbe Problem.

Vardion

-----------------------------------------------------------------------------



Re^4: Kobold (Rikus, 25. Feb 2003, 08:45:14):
~#! rn=Vardion rt=1046123359 rg=entwicklung
~#! tid=1046119985
ist schon lange auf meinem todo, bin nur halt noch nicht bis zu diesem punkt
vorgedrungen.

rikus

-----------------------------------------------------------------------------



MPA nochmal (Whitetiger, 15. Mar 2003, 10:33:22):
Wieso kann man mit 'nn', aber nicht mit 'lies artikel <x>' bei Dunkelheit
Zeitungsartikel lesen?
Ich finde, dass man entweder beide Kommandos sowohl bei Licht wie Dunkelheit
erlauben sollte, oder beide nur bei Licht...
-- WhiteTiger.

-----------------------------------------------------------------------------



Re: MPA nochmal (Alpha, 15. Mar 2003, 23:40:57):
~#! rn=Whitetiger rt=1047720802 rg=entwicklung
~#! tid=1047720802
Nun lass doch mal ruhig die alten guten Bugs drinnen, sonnst muss man ja immer
Licht besorgen, wenn man irgendwo grad im Dunklen aufwacht und nur Zeitung
lesen will...

-----------------------------------------------------------------------------



Re: Re: MPA nochmal (Grimmborn, 15. Mar 2003, 23:42:53):
~#! rn=Alpha rt=1047768057 rg=entwicklung
~#! tid=1047720802
Wozu? Einmal "ende" und wieder einloggen und Du bist im Hellen.

GdA

-----------------------------------------------------------------------------



Re: MPA nochmal (Woody, 17. Mar 2003, 12:12:24):
~#! rn=Whitetiger rt=1047720802 rg=entwicklung
~#! tid=1047720802
Lass halt das 'lies' vorn weg.


-----------------------------------------------------------------------------



Re: Re: MPA nochmal (Whitetiger, 17. Mar 2003, 15:58:05):
~#! rn=Woody rt=1047899544 rg=entwicklung
~#! tid=1047720802
Danke...
:sollte mal die Hilfen genauer lesen.
-- WhiteTiger

-----------------------------------------------------------------------------



Matrixkristall-Emote (Karima, 18. Mar 2003, 22:59:07):
Huhu.

Kurze und wahrscheinlich auch nicht so schwer umzusetzende Bitte:

Koennte ein Magier nen Emote fuer den Matrixkreis einbauen?

Waere nett

Danke

Karima

-----------------------------------------------------------------------------



Re: Matrixkristall-Emote (Zephyr, 18. Mar 2003, 23:42:10):
~#! rn=Karima rt=1048024747 rg=entwicklung
~#! tid=1048024747
Das taet allerdings nicht zum Matrixkristall passen, da
der Kontakt, der durch ihn aufgebaut wird, rein geistig
ist. Emotes im mudtechnischen Sinne haben da eher nichts
zu suchen.

C4 meint, dass das auch nicht im Sinne des Erfinders waere

-----------------------------------------------------------------------------



Re: Re: Matrixkristall-Emote (Shaeena, 21. Mar 2003, 16:49:58):
~#! rn=Zephyr rt=1048027330 rg=entwicklung
~#! tid=1048024747
Hmm, dann nennt man es halt "matrixgefuehl" statt 
"matrixemote".. und wenn dann Karima tippt:
 <matrixgefuehl lacht.>
dann steht bei den Kreismitgliedern;
 <Du fuehlst, dass Karima lacht.>
und dann ist das rein geistlich und nen emote..
Und wer das nicht mag, wem das zu ungeistlich ist,
der braucht das ja nicht nutzen ..?!

Shaeena

-----------------------------------------------------------------------------



Re^3: Matrixkristall-Emote (Foobar, 21. Mar 2003, 16:52:07):
~#! rn=Shaeena rt=1048261798 rg=entwicklung
~#! tid=1048024747
Au ja.
<Du fuehlst, dass Foobar Dir an's Bein pinkelt.>

:o)

-----------------------------------------------------------------------------



Re^4: Matrixkristall-Emote (Grimmborn, 21. Mar 2003, 16:53:21):
~#! rn=Foobar rt=1048261927 rg=entwicklung
~#! tid=1048024747
Falsch, da steht dann"
<Du fuehlst, dass Foobar pinkelt Dir an's Bein.>

GdA

-----------------------------------------------------------------------------



Re^4: Matrixkristall-Emote (Karima, 21. Mar 2003, 16:53:35):
~#! rn=Foobar rt=1048261927 rg=entwicklung
~#! tid=1048024747
Ich find Shaeenas Vorschlag so gut.

Ich glaube kaum, dass es irgendjemanden stoeren wuerde oder Nachteile bringen
wuerde oder wwi, wenn es ein emote oder gefuehl im Matrixkreis gibt..

Und wer es sich nicht erklaeren kann:
Magie!

Karima

-----------------------------------------------------------------------------



Re^5: Matrixkristall-Emote (Humni, 21. Mar 2003, 16:54:43):
~#! rn=Karima rt=1048262015 rg=entwicklung
~#! tid=1048024747
Aber Grimmborn hat trotzdem recht - denkt mal drueber nach ;-)

Oder ihr lernt auf eine zweite Weise in emotes zu denken.

Humni

-----------------------------------------------------------------------------



Re^6: Matrixkristall-Emote (Montanus, 21. Mar 2003, 16:55:45):
~#! rn=Humni rt=1048262083 rg=entwicklung
~#! tid=1048024747
Du meinst:

"Du fuehlst, wie Humnis vibrierender Pinguin in dir vibriert?"

-----------------------------------------------------------------------------



Re^5: Matrixkristall-Emote (Boing, 21. Mar 2003, 16:55:59):
~#! rn=Karima rt=1048262015 rg=entwicklung
~#! tid=1048024747
Ich glaube schon dass es jemand stoeren wuerde: Bendeigid
Der Vorschlag ist nicht sonderlich neu, wurde bisher immer abgelehnt, 
weil Bendeigids Vorstellungen des Kristalls das nicht beinhalten. Das 
sollte man halt akzeptieren.
  Boing

-----------------------------------------------------------------------------



Re^6: Matrixkristall-Emote (Grimmborn, 21. Mar 2003, 17:00:50):
~#! rn=Boing rt=1048262159 rg=entwicklung
~#! tid=1048024747
finger bendeigid
Bendeigid ist nicht anwesend.
Zuletzt ausgeloggt: Don,  6. Jun 2002, 11:02:38 (288d 06:57:36).

Soll er sich halt beschweren...

GdA

-----------------------------------------------------------------------------



Re^7: Matrixkristall-Emote (Alkohol, 21. Mar 2003, 17:08:33):
~#! rn=Grimmborn rt=1048262450 rg=entwicklung
~#! tid=1048024747
ja und, ist doch immer noch sein zeugs ...

Alk

-----------------------------------------------------------------------------



Re^8: Matrixkristall-Emote (Grimmborn, 21. Mar 2003, 17:14:04):
~#! rn=Alkohol rt=1048262913 rg=entwicklung
~#! tid=1048024747
Na, ob z.B. die Kaempfergilde noch genau das ist was sich Zardoz vorgestellt
hat? Inaktive Magier muessen damit rechnen dass ihr Kram von anderen
weitergepflegt und -entwickelt wird. Im Zweifelsfall auch entgegen ihren
urspruenglichen Ideen.

GdA

-----------------------------------------------------------------------------



Re^9: Matrixkristall-Emote (Alkohol, 21. Mar 2003, 17:16:23):
~#! rn=Grimmborn rt=1048263244 rg=entwicklung
~#! tid=1048024747
na aber wenns nicht noetig ist?
es gibt ja alternativen zum matrixkreis ...

-----------------------------------------------------------------------------



Re^9: Matrixkristall-Emote (Larisielle, 21. Mar 2003, 17:19:57):
~#! rn=Grimmborn rt=1048263244 rg=entwicklung
~#! tid=1048024747
Ja, finde ich auch... alles entwickelt sich nunmal weiter. Das ist der Lauf
der Welt.

Und ich finde Shaeenas Vorschlag auch eine gute Idee, Gefuehle in den
Matrixkreis einzubauen. Ist doch schoen, spueren zu koennen, was die Leute im
Kreis fuehlen. Wer sollte sich daran denn stoeren? Und es ist vielen Seiten
geholfen. Denjenigen, die gerne einen Kreisemote haben moechten und denen, die
finden, dass ein urspruengliches emote nicht zu dem Kristall passen.

Larisielle

-----------------------------------------------------------------------------



Re^10: Matrixkristall-Emote (Bambi, 21. Mar 2003, 17:57:44):
~#! rn=Larisielle rt=1048263597 rg=entwicklung
~#! tid=1048024747
Ich kann die Argumentation beider Seiten verstehen, bin aber der festen
Ueberzeugung, dass man wirklich nur in "dringenden" Faellen gegen den Wunsch
des urspruenglichen Erschaffers wirken sollte, selbst wenn dieser inaktiv ist.

-----------------------------------------------------------------------------



Re^11: Matrixkristall-Emote (Grimmborn, 21. Mar 2003, 18:01:29):
~#! rn=Bambi rt=1048265864 rg=entwicklung
~#! tid=1048024747
Du wuerdest das Einbringen der ganzen Details nach Nibelheim als "dringenden
Fall" bezeichnen?

GdA

-----------------------------------------------------------------------------



Re^12: Matrixkristall-Emote (Bambi, 21. Mar 2003, 18:03:55):
~#! rn=Grimmborn rt=1048266089 rg=entwicklung
~#! tid=1048024747
Nein, aber ich gehe davon aus, dass der Entwickler von Nibelheim nicht der
Auffassung ist, dass zusaetzliche Details schlecht sind.
Wenn da wer Details ein baut, dann gehe ich davon aus, dass es nicht gegen den
Wunsch des Autors ist.
Das ist bei extrem verfremdenden oder extrem erweiternden Details natuerlich
so eine Sache, die im Einzelfall diskussionswuerdig sein duerfte.

-----------------------------------------------------------------------------



Re^13: Matrixkristall-Emote (Orktoeter, 21. Mar 2003, 18:05:09):
~#! rn=Bambi rt=1048266235 rg=entwicklung
~#! tid=1048024747
In NIbelheim gibts es jetzt Decken und Boeden? Echt? Oder was war da mit
extrem erweiternden Details gemeint?

OrkT, frech grinsend.

-----------------------------------------------------------------------------



Re^14: Matrixkristall-Emote (Bambi, 21. Mar 2003, 18:06:25):
~#! rn=Orktoeter rt=1048266309 rg=entwicklung
~#! tid=1048024747
Damit meine ich beispielsweise, wenn in Nibelheim ploetzlich ein ZPK waere und
das so beschrieben wuerde (auch in den schon existierenden Raeumen), als wenn
Nibelheim nur des ZPK wegen dort waere.

-----------------------------------------------------------------------------



Re^15: Matrixkristall-Emote (Amaryllis, 21. Mar 2003, 18:06:52):
~#! rn=Bambi rt=1048266385 rg=entwicklung
~#! tid=1048024747
Was zum Bush ist ein ZPK?

Ama*

-----------------------------------------------------------------------------



Re^14: Matrixkristall-Emote (Grimmborn, 21. Mar 2003, 18:06:53):
~#! rn=Orktoeter rt=1048266309 rg=entwicklung
~#! tid=1048024747
Ich hab sowas laeuten hoeren, ja.
Naja, in Nibelheim kann man vielleicht darueber streiten, aber bei den
Rochus-Questen war das frueher sehr gezielt eingesetzt: War ein Detail
beschrieben, so war es auch questrelevant. Eine Ausweitung der Detailtiefe ist
da definitiv kontraintentiv (intentionativ?).

GdA

-----------------------------------------------------------------------------



Re^7: Matrixkristall-Emote (Vanion, 21. Mar 2003, 18:26:54):
~#! rn=Grimmborn rt=1048262450 rg=entwicklung
~#! tid=1048024747
Dass ein Magier nicht mehr aktiv ist, ist kein Grund, seine Arbeit nicht mehr
zu respektieren. Find ich jedenfalls. Aus den Augen - aus dem Sinn passiert
doch im RL schon oft genug. Dafuer sollten wir uns zu schade sein.

V*

-----------------------------------------------------------------------------



Re^16: Matrixkristall-Emote (Vincent, 21. Mar 2003, 18:49:54):
~#! rn=Amaryllis rt=1048266412 rg=entwicklung
~#! tid=1048024747
Keiner weiss was ein ZPK ist. Und soetwas gibt es auch nicht.
Die Existenz oder der Wunsch der Exiustenz wird hiermit heftigst
bestritten und zutiefst dementiert.

Gruss
Vincent

-----------------------------------------------------------------------------



Re^17: Matrixkristall-Emote (Vanion, 21. Mar 2003, 18:51:10):
~#! rn=Vincent rt=1048268994 rg=entwicklung
~#! tid=1048024747
Was is ein ZPK?

V*

-----------------------------------------------------------------------------



Re^18: Matrixkristall-Emote (Mandragon, 21. Mar 2003, 18:53:28):
~#! rn=Vanion rt=1048269070 rg=entwicklung
~#! tid=1048024747
Zwergen-Plumps-Klo ... da kann man die kleinen Stinker entsorgen ....

Ma

-----------------------------------------------------------------------------



Re^19: Matrixkristall-Emote (Vanion, 21. Mar 2003, 18:53:52):
~#! rn=Mandragon rt=1048269208 rg=entwicklung
~#! tid=1048024747
Ah, endlich mal Fortschritt im MG.

V*

-----------------------------------------------------------------------------



Re^18: Matrixkristall-Emote (Croft, 21. Mar 2003, 18:54:32):
~#! rn=Vanion rt=1048269070 rg=entwicklung
~#! tid=1048024747
Ich empfehle einen Blick in das MPA-Archiv dieser Rubrik.

Croft

-----------------------------------------------------------------------------



Re^19: Matrixkristall-Emote (Vanion, 21. Mar 2003, 18:57:17):
~#! rn=Croft rt=1048269272 rg=entwicklung
~#! tid=1048024747
Archiv lesen ist doof und stinkt.

V*

-----------------------------------------------------------------------------



Re^20: Matrixkristall-Emote (Vincent, 21. Mar 2003, 19:02:54):
~#! rn=Vanion rt=1048269437 rg=entwicklung
~#! tid=1048024747
Ausserdem gibt es kein ZPK. Was auch immer das sein soll.

Gruss
Vincent

-----------------------------------------------------------------------------



Re^21: Matrixkristall-Emote (Olli, 21. Mar 2003, 21:58:49):
~#! rn=Vincent rt=1048269774 rg=entwicklung
~#! tid=1048024747
Dann wirds Zeit, die sollen doch auch mal ihren Spass haben, wenn
die sonst schon nix zu lachen haben... ;)

Olli

-----------------------------------------------------------------------------



Re^11: Matrixkristall-Emote (Apollonia, 24. Mar 2003, 07:54:57):
~#! rn=Bambi rt=1048265864 rg=entwicklung
~#! tid=1048024747
Vor allem, wenn der Betreffende nur voruebergehend inaktiv ist. Nachwuchs
stresst eben. Aber Bendeigid kommt ganz bestimmt wieder und ich kann mir nicht
vorstellen, dass es ihm gefiele, wenn an dem Ding was gedreht worden ist.

Nix fuer ungut ;o)

Apo*

-----------------------------------------------------------------------------



Re^12: Matrixkristall-Emote (Grimmborn, 24. Mar 2003, 09:12:58):
~#! rn=Apollonia rt=1048488897 rg=entwicklung
~#! tid=1048024747
Das ist ein schwaches Argument. Das MG ist keine Codeverwahranstalt, wer sich
nicht bereit/in der Lage ist sich aktiv um seine Sachen zu kuemmern muss damit
rechnen dass das ein anderer tut.

GdA

-----------------------------------------------------------------------------



Re^13: Matrixkristall-Emote (Elberet, 24. Mar 2003, 09:14:40):
~#! rn=Grimmborn rt=1048493578 rg=entwicklung
~#! tid=1048024747
ja aber sich um Code kuemmern und den gleich wesentlich zu veraendern sind
zwei verschiedene Dinge, aber das passt nicht in jeden Kopf ...

Elbi

-----------------------------------------------------------------------------



Re^14: Matrixkristall-Emote (Muadib, 24. Mar 2003, 10:18:05):
~#! rn=Elberet rt=1048493680 rg=entwicklung
~#! tid=1048024747
ich moechte vincent zustimmen: es gab, gibt und wird nie ein ZPK, was immer
das auch ist, geben.

muadib

-----------------------------------------------------------------------------



Re^15: Matrixkristall-Emote (Bambi, 24. Mar 2003, 10:37:06):
~#! rn=Muadib rt=1048497485 rg=entwicklung
~#! tid=1048024747
Ich erinnere Dich dann mal daran, dass wir eine Vereinbarung bezueglich ZPK
und FDO haben.
Nicht, dass in der Vereinbarung enthalten waere, dass Du das _anschliesst_.

-----------------------------------------------------------------------------



Re^16: Matrixkristall-Emote (Muadib, 24. Mar 2003, 11:14:35):
~#! rn=Bambi rt=1048498626 rg=entwicklung
~#! tid=1048024747
koennen wir das woanders ausdiskutieren?
apropos was macht FDO ?

-----------------------------------------------------------------------------



Re^13: Matrixkristall-Emote (Cadrach, 24. Mar 2003, 13:52:51):
~#! rn=Grimmborn rt=1048493578 rg=entwicklung
~#! tid=1048024747
Mal abgesehn davon das unabhaengig von Nutzungsrechten, die Urheberrechte an
allen Teilen komplett bei den Magiern liegen. Insofern kann jeder Magier die
Wiederherstellung seines Urspruenglichen Codes einfordern (was Aenderungen
gegen seinen Willen ziemlich sinnlos macht). Um es gleich vorweg zu nehmen, es
gibt kein Recht auf Bugs - Nutzungsrechte schliessen naemlich das Recht auf
entfernen von Bugs immer mit ein (sofern der Urheber es nicht selbst tut).

Cad*

-----------------------------------------------------------------------------



Re^14: Matrixkristall-Emote (Grimmborn, 24. Mar 2003, 13:59:08):
~#! rn=Cadrach rt=1048510371 rg=entwicklung
~#! tid=1048024747
Falsch. Der Magier kann die Wiederherstellung seines urspruenglichen Codes
einfordern, diesen Einpacken und mit nach Hause nehmen. Ein Anspruch darauf,
dass das angeschlossen bleibt, besteht in keinem Fall.
Inwieweit Weiterentwicklungen des Codes, oder auch dieser selbst, prinzipiell
vom MG genutzt werden duerfen (also auch gegen den Willen des Magiers
geaendert und/oder angeschlossen sein kann) wird immer wieder diskutiert
(Yantro, Bierchen). Meiner Ansicht nach ist das durch den Magiervertrag
implizit erlaubt, aber ich bin kein Jurist und abweichende Meinungen
existieren. 

GdA

-----------------------------------------------------------------------------



Re^12: Matrixkristall-Emote (Akasha, 24. Mar 2003, 14:01:49):
~#! rn=Apollonia rt=1048488897 rg=entwicklung
~#! tid=1048024747
Ich denke, das Problem liegt einerseits darin, dass man als Spieler nicht
unbedingt weiss, wie Magier arbeiten. Man verliert eben durch ein Jahr
Abwesenheit nicht zwingend jegliches Mitspracherecht am eigenen Code (es sei
denn, man verzichtet ausdruecklich darauf).
Aber warum fragt ihr Bendeigid nicht einfach selbst? Schreibt ihm doch eine
Mail, mit der begruendeten Bitte, dieses Feature einzubauen. Wenn er nein
sagt, sollte die Sache klar sein und wenn nicht, kann man sich immer noch
darueber unterhalten, wer das wie implementiert.
Persoenlich sehe ich zwar auch nicht viel Sinn in diesem Feature, aber zu
entscheiden hat das nur Bendeigid, da bringt es nicht viel, das Pro und Contra
hier in der MPA breitzutreten.

Akasha

-----------------------------------------------------------------------------



Re^15: Matrixkristall-Emote (Cadrach, 24. Mar 2003, 19:05:23):
~#! rn=Grimmborn rt=1048510748 rg=entwicklung
~#! tid=1048024747
Auch wenn Du das in einem Satz zusammenfasst, ist es durchaus etwas
unterschiedliches. Gegen den Willen angeschlossen ist moeglich gdw. das Mud
ein Nutzungsrecht an besagtem Sourcecode hat (Die Diskussion moechte ich hier
jetzt nicht wieder fuehren).
Aenderungen sind etwas grundsaetzlich verschiedenes und werden soweit mein
Anwalt mir das damals nicht falsch erklaert hat unter anderem auch vom
Urheberrecht beruehrt.
Software gilt in Deutschland als Kunstwerk und der Erschaffer als Kuenster
(einzige Ausnahme, der Programmierer ist fest bei Dir angestellt). In _allen_
anderen Faellen hat der Entwickler (z.B. auch freischaffene
Softwareentwickler) gewisse Urheberrechte - ausser er verzichtet ausdruecklich
darauf.
Hierzu zaehlt z.B. auch das Recht auf Namensnennung. Wenn ich das richtig in
Erinnerung hab, steht in den Lizenzvereinbarung auch immer ein Paragraph zum
debuggen von Programmen, falls der Urheber (Firma oder Entwickler) das
Programm nicht mehr wartet - laut dt. Recht gibts da irgendeine Sonderregelung
das _dann_ und _nur_ dann eine Aenderung am urspruenglichen Kunstwerk
gestattet. Wenn Du da naeheres wissen willst, wende Dich an einen Anwalt
Deines Vertrauens :o)

Cad*

-----------------------------------------------------------------------------



Re^16: Matrixkristall-Emote (Whitetiger, 24. Mar 2003, 19:06:23):
~#! rn=Cadrach rt=1048529123 rg=entwicklung
~#! tid=1048024747
Und wenn man keinem Anwalt traut...?
-> schmarrn.

-----------------------------------------------------------------------------



Re^17: Matrixkristall-Emote (Anatol, 24. Mar 2003, 19:11:15):
~#! rn=Whitetiger rt=1048529183 rg=entwicklung
~#! tid=1048024747
Auch wir moechten hier die Diskussion nicht wieder fuehren, Cadrach.


-----------------------------------------------------------------------------



Re^18: Matrixkristall-Emote (Orktoeter, 24. Mar 2003, 19:42:59):
~#! rn=Anatol rt=1048529475 rg=entwicklung
~#! tid=1048024747
Pluaris Majistatis? Tststs... Bush scheint noch schlimmer zu sein als
gedacht.. das faerbt schon ab.

OrkT, erschuettert.

-----------------------------------------------------------------------------



Re^19: Matrixkristall-Emote (Grimmborn, 24. Mar 2003, 19:48:29):
~#! rn=Orktoeter rt=1048531379 rg=entwicklung
~#! tid=1048024747
Diese Diskussion ist schon bis zum Erbrechen durchgekaut worden, und sie mit
jemandem zu fuehren der wenig Ahnung von der Materie hat (oder doch zumindest
dazu neigt den Magiervertrag mit einem kommerziellen
Softwareentwicklungsvertrag zu verwechseln) macht noch weniger Spass.
Obwohl, das haette schon was, denn dann gaebe es auf der anderen Seite auch
eine Haftung. Wen koennten man dann nochmal fuer ein gescheitertes Lichtsystem
haftbar machen, und mit wievielen Monaten Dunkelhaft waere dann wohl zu
rechnen?

GdA

-----------------------------------------------------------------------------



Re^20: Matrixkristall-Emote (Elberet, 24. Mar 2003, 19:52:03):
~#! rn=Grimmborn rt=1048531709 rg=entwicklung
~#! tid=1048024747
mich interessiert mal in dem Zusammenhang was eigentlich aus der
Rechtsschutzversicherung geworden ist?

Da gabs ausserdem mal das statement:

Das einzige, was wir hierzu herausbekommen haben bislang ist die folgende,
qualifizierte aber leider inoffizielle Meinung eines Professors fuer
Rechsinformatik:
"Er meinte, durch das Programmieren hier gibt man eine Absichtserklaerung
ab. Gerade wenn eine Sache in Zusammenarbeit mit anderen gebaut wird und
klar ist, dass sie einem bestimmten Zweck dient (und beides ist hier wohl
eindeutig gegeben) ist das mit Sicherheit eine
Absichtserklaerung, daraus wuerde wohl folgen, dass man den Code nicht
einfach wieder abhaengen darf."

Wie ist es denn nun?

Elbi

-----------------------------------------------------------------------------



Re^21: Matrixkristall-Emote (Grimmborn, 24. Mar 2003, 19:57:21):
~#! rn=Elberet rt=1048531923 rg=entwicklung
~#! tid=1048024747
Ich zitiere Pa^H^HCadrach in Bezug auf solche impliziten Absichtserklaerungen
("es ist klar, dass...") und Vertraege: "Weil alles was nicht schriftlich ist
keinen bestand hat vor gericht"
Natuerlich ist das sachlich voellig falsch, und ich neige auch stark der
Ansicht dieses Rechtsinformatikers zu. Wirklich klaeren koennte das aber
wiederum nur ein Gericht. So in dritter oder vierter Instanz.

GdA macht dann mal Feierabend.

-----------------------------------------------------------------------------



Re^19: Matrixkristall-Emote (Croft, 24. Mar 2003, 20:19:20):
~#! rn=Orktoeter rt=1048531379 rg=entwicklung
~#! tid=1048024747
Oh. Orktoeter will die Diskussion weiterfuehren.  Prima.  Gehts nun
um durch Bratenwattierung abgedaempfte Kristallemotes, die nicht
wahrgenommen werden?

Croft (ist gespannt)

-----------------------------------------------------------------------------



Re^20: Matrixkristall-Emote (Anatol, 24. Mar 2003, 20:51:48):
~#! rn=Croft rt=1048533560 rg=entwicklung
~#! tid=1048024747
Erzeugen die Oeko-Strom?

-----------------------------------------------------------------------------



Re^21: Matrixkristall-Emote (Orktoeter, 24. Mar 2003, 21:02:52):
~#! rn=Anatol rt=1048535508 rg=entwicklung
~#! tid=1048024747
Wird mit dem das aktuelle Lichtsystem betieben?



-----------------------------------------------------------------------------



Re^15: Matrixkristall-Emote (Vincent, 25. Mar 2003, 00:27:55):
~#! rn=Muadib rt=1048497485 rg=entwicklung
~#! tid=1048024747
Vielen Dank Muadib fuer Deine Zustimmung. Es ist gut zu wissen, dass es
noch andere gibt, die auch der Meinung sind, dass ZPK, nichts anderes als
drei zufaellig aneinander gereihte Buchstaben sind, die in dieser Form
hintereinander ausgesprochen noch nicht einmal gut klingen, geschweige denn,
sich reimen.
Wenn man im mud zpk eingibt kommt "wie bitte", und das is tauch gut so. 

Gruss
Vincent

-----------------------------------------------------------------------------



Re^22: Matrixkristall-Emote (Cadrach, 25. Mar 2003, 14:56:08):
~#! rn=Grimmborn rt=1048532241 rg=entwicklung
~#! tid=1048024747
Och Grimmi, wenn Du schon etwas wiedergibst dann doch bitte komplett:
Du sagtest Du gehst davon aus, das ein Magier implizit die GPL akzeptiert in
der (laut Dir - hab sie nich gelesen) auch Urheberrechte abgetreten werden.
Ich bin in der Tat der Meinung das alles was net schriftlich ist, vor Gericht
seltens bestand hat und das jeder Magier nicht implizit die GPL akzeptiert
weil die meisten sie nicht mal kennen (mich eingeschlossen). Das DAS vor einem
Gericht bestand haben wuerde, halte ich in der Tat fuer sehr fragwuerdig...
Und Urheberrechte muessen ausdruecklich alle einzeln abgetreten werden soweit
mir unser Anwalt das damals richtig erklaert hat. Wird da nix drueber gesagt,
behaelt sie der Kuenstler/Programmierer.

Mal abgesehn davon: Ich sehe ehrlich gesagt auch nicht die geringste
Notwendigkeit inhaltlich an Projekten von Magiern irgendetwas gegen ihren
willen zu aendern. Wenn der Wille von Bendeigid (offensichtlich) sogar noch
bekannt zu sein scheint, sollte das mud dies akzeptieren.


Cad*

P.S.: Bevor Du forderst Magiern Rechte wegzunehmen, progg lieber selbst
erstmal was Grimmborn.

-----------------------------------------------------------------------------



Re^23: Matrixkristall-Emote (Catweazle, 25. Mar 2003, 15:18:21):
~#! rn=Cadrach rt=1048600568 rg=entwicklung
~#! tid=1048024747
Nazi!

YTC (unlustig)

-----------------------------------------------------------------------------



Re^23: Matrixkristall-Emote (Grimmborn, 25. Mar 2003, 15:19:51):
~#! rn=Cadrach rt=1048600568 rg=entwicklung
~#! tid=1048024747
Auch wenn es nicht wirklich Sinn macht das weiter zu diskutieren:
- Ich habe nie gesagt dass der Magier die GPL akzeptiert. Ich habe allerdings
  gesagt dass der Magier und das MG eine Art GPL-artiges Verhaeltnis ein- 
  gehen, es also "selbstverstaendlich" ist, dass das MG den code nutzen und
  veraendern darf. 
- Vertraege sind generell formlos, Ausnahmen sind (im deutschen Recht) 
  explizit geregelt. Vor gericht haben nicht-schriftliche Vertraege (z.B.
  der klassische "Pferdekauf per Handschlag") vollstaendig Bestand. Strittig
  ist in solchen Faellen niemals die Form, sondern gegebenenfalls nur die 
  Nachweisbarkeit. Wenn der Vertrag unter Zeugen geschlossen wird hast Du
  keine Chance da rauszukommen. 
- Was Du auch immer mit der GPL hast (die von mir nur als Beispiel fuer ein
  Nutzungsrecht erwaehnt wurde weil ich in der Tat davon ausging dass Leute,
  die enger mit Computern zu tun haben, was mit dem Begriff anfangen 
  koennen): Das relevante bei einem Vertrag ist der uebereinstimmende
  Wille, die Vertragsparteien muessen "von derselben Sache reden". Davon
  auszugehen ist in einem mud ziemlich glaubhaft, der Rechtsinformatiker
  hat das sehr schoen ausgedrueckt. 
- Deine Ansicht "wenn ich Vertragsbedingungen nicht lese bevor ich den
  Vertrag eingehe" ist, auch im Hinblick auf diverse "zum Akzeptieren hier
  klicken" Softwarevertraege, zumindest als abenteuerlich zu bezeichnen. 
- Auch Urheberrechte werden per Vertrag geregelt. Ich nehme mal nicht an
  dass Dein Anwalt Dir Mist erzaehlt hat, sondern dass Du es lediglich nicht
  richtig verstanden/wiedergegeben hast. 
- Deine Meinung zu Notwendigkeiten und aktuellen Beispielen in Ehren, aber
  es geht auch um ein Stueck Sicherheit des MG. Wenn Hate auf einmal einen
  Rappel kriegen wuerde und die Nutzung seiner Arbeit hier untersagen wuerde
  koennten wir das MG fuer ein Jahr zumachen: sechs Monate um seine Sachen
  rauszudroeseln, sechs Monate um die Ueberreste zusammenzuflicken.
- Und schliesslich: Dass man nicht unnoetig und gegen den erklaerten, 
  sinnvollen Willen von Magiern an deren Sachen rumpfuscht ist eine Frage
  des guten Benehmens (siehe Lexikon) und selbstverstaendlich. Aber, meiner
  Interpretation der Sachlage nach, kein Rechtsanspruch des Magiers.

GdA

-----------------------------------------------------------------------------



Re^24: Matrixkristall-Emote (Grimmborn, 25. Mar 2003, 15:20:30):
~#! rn=Catweazle rt=1048601901 rg=entwicklung
~#! tid=1048024747
Godwins Law funktioniert mit "Hitler", nicht "Nazi".
Vierminus, setzen.

GdA

-----------------------------------------------------------------------------



Re^24: Matrixkristall-Emote (Nonne, 25. Mar 2003, 15:36:32):
~#! rn=Catweazle rt=1048601901 rg=entwicklung
~#! tid=1048024747
Ist es eigentlich nicht bekannt, dass man in Deutschland Urheberrechter gar
nicht veraeussern kann? Nutzungsrechte ja, aber Urheber bleibt man immer und
kann immer dessen Rechte in Anspruch nehmen, es sei denn, sie sind durch
bereits vergebene Nutzungsrechte eingeschraenkt. Hat man sich zum Beispiel dem
MG das Nutzungsrecht fuer Code zeitlich unbeschraenkt ueberlassen, kann man
das nicht zuruecknehmen, weil man damit einen Vertrag bricht. Die Frage ist
doch nur, welche Rechte hat man dem Mud ueberlassen, wenn man seinen Code
hochlaedt und anschliessen laesst.

Nonne, findet das gar nicht so kompliziert.

-----------------------------------------------------------------------------



Re^24: Matrixkristall-Emote (Cadrach, 25. Mar 2003, 15:40:10):
~#! rn=Grimmborn rt=1048601991 rg=entwicklung
~#! tid=1048024747
1. Wenn ich das richtig in Erinnerung hab wurden "zum akzeptieren hier
klicken" Softwarevertraege in Deutschland fuer unwirksam erklaert - bin ich
mir aber nicht sicher.
2. Du kannst Dich vertraglich dazu verpflichten bestimmte Urheberrechte nicht
auszuueben, ja.
3. Wenn es hart auf hart kommt kann es durchaus unterschiede geben _was_ ein
Magier geschrieben hat. Als Grundlage kann dann naemlich nur das dienen was
wirklich als kleinster Nenner eines gemeinsamen Willens angenommen werden
kann. Mudlib oder Gildenprogrammierung kann man dann unter Umstaenden durchaus
anders sehn als irgendeine Insel die irgendwo angeschlossen ist (aber darauf
wollt ich ja eigentlich gar nicht mehr eingehn). Ich kann jedenfalls
versichern, das es nie mein gemeinschaftlicher Wille war, das entgegen meinem
Willen, meine Gebiete voellig sinnentfremdend umgeschrieben werden z.B.
Insofern wuerde ich wenn jemand meinen Schlachthof verhunzt entweder verlangen
das er wieder im Original eingespielt oder abgehangen wird. Wenn jemand meinen
Mudlibteil umarbeitet, ist mir das ziemlich egal....
Bisher wurde hier im Mud (siehe Schrumpfisgruft) auch so verfahren...


Cad*

-----------------------------------------------------------------------------



Re^25: Matrixkristall-Emote (Nonne, 25. Mar 2003, 15:42:49):
~#! rn=Cadrach rt=1048603210 rg=entwicklung
~#! tid=1048024747
http://www.bruhaha.de/laws.html

Ganz viele Gesetze und die Erlaeuterungen auf deutsch! Toll!

Nonne.

-----------------------------------------------------------------------------



Re^26: Matrixkristall-Emote (Puk, 25. Mar 2003, 15:50:46):
~#! rn=Nonne rt=1048603369 rg=entwicklung
~#! tid=1048024747
luschtig wie ihr es immer schafft aus ganz harmlosen diskussionen einen
solchen scheiss zu bauen :) aber irgendwie wurde es glaub ich auch mal wieder
zeit, die diskussion ueber das ewige hin und her des codes und wem er gehoert
hatten wir dies jahr glaub ich noch nicht :)

Puk, lustig lustig tralala

-----------------------------------------------------------------------------



Re^27: Matrixkristall-Emote (Elberet, 25. Mar 2003, 15:52:48):
~#! rn=Puk rt=1048603846 rg=entwicklung
~#! tid=1048024747
na eigentlich waere es doch mal zeit, das engueltig zu klaeren? :)
oder scheitert es daran, dass Rechtssysteme prinzipiell nicht widerspruchsfrei
sein koennen? ;)

Elbi

-----------------------------------------------------------------------------



Re^28: Matrixkristall-Emote (Cadrach, 25. Mar 2003, 15:54:20):
~#! rn=Elberet rt=1048603968 rg=entwicklung
~#! tid=1048024747
Vielleicht sollte man vorher klaeren, was man ueberhaupt _will_
Danach koennte man ja zumindest nen anstaendigen Magiervertrag schreiben...

Cad*

-----------------------------------------------------------------------------



Re^29: Matrixkristall-Emote (Grimmborn, 25. Mar 2003, 15:55:08):
~#! rn=Cadrach rt=1048604060 rg=entwicklung
~#! tid=1048024747
Den Du dann per "unterschreibe vertrag" rechtsgueltig hieb- und stichfest
unterschreibst? Klasse Idee.

GdA

-----------------------------------------------------------------------------



Re^30: Matrixkristall-Emote (Cadrach, 25. Mar 2003, 15:55:38):
~#! rn=Grimmborn rt=1048604108 rg=entwicklung
~#! tid=1048024747
Es wuerde zumindest schonmal leichter einen gemeinsammen Willen zu belegen...

Cad*

-----------------------------------------------------------------------------



Re^31: Matrixkristall-Emote (Grimmborn, 25. Mar 2003, 15:58:35):
~#! rn=Cadrach rt=1048604138 rg=entwicklung
~#! tid=1048024747
Gibs doch zu, Du willst doch lediglich die mpa austrocknen. Aber das wird Dir
nicht gelingen! Niemals! 

GdA

-----------------------------------------------------------------------------



Re^25: Matrixkristall-Emote (Catweazle, 25. Mar 2003, 16:06:36):
~#! rn=Grimmborn rt=1048602030 rg=entwicklung
~#! tid=1048024747
En contraire mon Capitain:

Godwin's Law: "As a Usenet discussion grows longer, the probability of a
comparison involving Nazis or Hitler approaches one." 

YTC

-----------------------------------------------------------------------------



Re^26: Matrixkristall-Emote (Grimmborn, 25. Mar 2003, 16:07:58):
~#! rn=Catweazle rt=1048604796 rg=entwicklung
~#! tid=1048024747
Ach was, muss eine neumodische Fassung sein... *blush*
Naja, nichtsdestotrotz klappt das absichtlich eh nicht. 

GdA

-----------------------------------------------------------------------------



Re^27: Matrixkristall-Emote (Muadib, 25. Mar 2003, 16:09:39):
~#! rn=Grimmborn rt=1048604878 rg=entwicklung
~#! tid=1048024747
manchmal bleibe ich sehr gerne dumm, eitel, arrogant und unausstehlich und
befinde mich zudem noch im unrecht und werde dies irgendwann bereuen.
dafuer hab ich dann momentan ruhe.

ich bin ja so phlegmatisch


-----------------------------------------------------------------------------



Re^31: Matrixkristall-Emote (Bambi, 29. Mar 2003, 14:29:34):
~#! rn=Cadrach rt=1048604138 rg=entwicklung
~#! tid=1048024747
Das ist genauso gut, wie ein kleines Rehkitz mit Benzin zu uebergiessen und
anzuzuenden.

Bambi. *roeh* *rumhuepf* *brenn*

-----------------------------------------------------------------------------



Re: Region Schattenwelt (Cadrach,  1. Apr 2003, 10:35:14):
~#! rn=Zook rt=1049185907 rg=bekanntmachungen
~#! tid=1049185907
DAS war aber nun wirklich der unglaubwuerdigste Aprilscherz den ich bisher je
erlebt hab. Eher wird Muadib Erzmagier *hust*, Hobo Sheriff und die Minen von
Nibelheim bekommen Details, als das Grimmborn irgendetwas sinnvolles proggen
wuerde...

Cad*

-----------------------------------------------------------------------------



Re: Re: Region Schattenwelt (Mandragon,  1. Apr 2003, 10:35:52):
~#! rn=Cadrach rt=1049186114 rg=entwicklung
~#! tid=1049185907
Hat jemand was von 'irgendetwas sinnvolles proggen' gesagt?

Ma*

-----------------------------------------------------------------------------



Re: Re: Region Schattenwelt (Croft,  1. Apr 2003, 10:36:02):
~#! rn=Cadrach rt=1049186114 rg=entwicklung
~#! tid=1049185907
Seit wann muessen RMs irgendetwas sinnvolles programmieren?

Croft

-----------------------------------------------------------------------------



Re^3: Region Schattenwelt (Anatol,  1. Apr 2003, 10:36:20):
~#! rn=Croft rt=1049186162 rg=entwicklung
~#! tid=1049185907
Wie wir wissen muessen selbst Erzmagier nichts sinnvolles programmieren...


-----------------------------------------------------------------------------



Re^4: Region Schattenwelt (Boing,  1. Apr 2003, 10:36:38):
~#! rn=Anatol rt=1049186180 rg=entwicklung
~#! tid=1049185907
Wurde schon erwaehnt dass man als RM nicht unbedingt was sinnvolles
proggen muss?
  Boing

-----------------------------------------------------------------------------



Re^5: Region Schattenwelt (Anatol,  1. Apr 2003, 10:37:48):
~#! rn=Boing rt=1049186198 rg=entwicklung
~#! tid=1049185907
Nein, aber man koennte es nochmal verdeutlichen. Cadrach liess mich uebrigens
wissen, dass er sich selbst damit nicht angesprochen fuehle. Ich bin geneigt,
ihm DEN Punkt zu lassen. Teilweise zumindest. ;)

A

-----------------------------------------------------------------------------



Re^6: Region Schattenwelt (Zook,  1. Apr 2003, 10:39:57):
~#! rn=Anatol rt=1049186268 rg=entwicklung
~#! tid=1049185907
Nur mal zur Erlaeuterung: Bei der Region "Schattenwelt" geht es nicht 
um grosse Programmierereien, sondern hauptsaechlich darum, Bestehendes
im Auge zu behalten und etwaige Konzepte fuer PK-Arenen zu begutachten und
zu entscheiden, ob und wie die im MG angeschlossen werden sollen. Insofern
ist da keine grosse Programmierkunst fuer noetig.

Zook.

-----------------------------------------------------------------------------



Re^7: Region Schattenwelt (Grimmborn,  1. Apr 2003, 10:42:43):
~#! rn=Zook rt=1049186397 rg=entwicklung
~#! tid=1049185907
Ausserdem muss man als RM nicht unbedingt was sinnvolles proggen.

GdA(RM)

-----------------------------------------------------------------------------



Re^8: Region Schattenwelt (Anatol,  1. Apr 2003, 10:46:18):
~#! rn=Grimmborn rt=1049186563 rg=entwicklung
~#! tid=1049185907
Ansonsten... schliess einen Maexchentisch an, aendere ein paar bestehende
Gebiete in Bugwelten um, und Du hast die besten Zukunftschancen... Zumindest
kurzfristig.


-----------------------------------------------------------------------------



Allgemeine Waffenskills... (Humni, 11. Apr 2003, 13:47:14):
kann man nun nicht mehr an jedem beliebigen Gegner ueben. Die Anforderungen an
den Gegner sind zwar nicht hoch, aber absolute Nullmonster gehen nicht mehr.

Humni

-----------------------------------------------------------------------------



MPA (Foobar, 15. Apr 2003, 17:15:35):
Hallo,

da die Ueberarbeitung der MPA ja eh bei einigen Magiern auf der ToDo-Liste
steht, bitte ich aus aktuellen Anlass darum, den Punkt "Keine Meldung bei
neuen Artikeln in ignorierten Threads" mit in die Featureliste aufzunehmen.

Danke fuer die Aufmerksamkeit.

Foobar

-----------------------------------------------------------------------------



Re: MPA (Montanus, 15. Apr 2003, 17:19:09):
~#! rn=Foobar rt=1050419735 rg=entwicklung
~#! tid=1050419735
Aber das Lichtsystem sollte trotzdem Vorrang haben.

-----------------------------------------------------------------------------



Re: Re: MPA (Montanus, 15. Apr 2003, 17:19:31):
~#! rn=Montanus rt=1050419949 rg=entwicklung
~#! tid=1050419735
... und das ZPK.

-----------------------------------------------------------------------------



Re: Re: MPA (Orktoeter, 15. Apr 2003, 17:23:23):
~#! rn=Montanus rt=1050419949 rg=entwicklung
~#! tid=1050419735
Also Montanus, das Lichtsystem ist kein Bug,d as ist ein feature!

OrkT.

-----------------------------------------------------------------------------



Re^3: MPA (Grimmborn, 15. Apr 2003, 17:31:53):
~#! rn=Orktoeter rt=1050420203 rg=entwicklung
~#! tid=1050419735
Alles schoene Ideen, die werden aber zurueckgestellt bis Taramis angeschlossen
ist.

GdA

-----------------------------------------------------------------------------



Re^4: MPA (Orktoeter, 15. Apr 2003, 17:39:50):
~#! rn=Grimmborn rt=1050420713 rg=entwicklung
~#! tid=1050419735
Und Taramis kommt ziemlich bald nachdem das Gebiet fuer die Sonderanforderung
fuer Gildenstufe 24 bei den Kaempfern fertig ist?

OrkT.

-----------------------------------------------------------------------------



Re^5: MPA (Foobar, 15. Apr 2003, 17:41:35):
~#! rn=Orktoeter rt=1050421190 rg=entwicklung
~#! tid=1050419735
Nein, Taramis _ist_ besagtes Gebiet.

Foobar

-----------------------------------------------------------------------------



Re^6: MPA (Orktoeter, 15. Apr 2003, 17:45:40):
~#! rn=Foobar rt=1050421295 rg=entwicklung
~#! tid=1050419735
Hier irrt der Foobar... Taramis= Silvana, Gildenstufen-24-Gebiet= Bendeigid...

Silvana != Bendeigid

OrkT.

-----------------------------------------------------------------------------



Re^7: MPA (Vanion, 15. Apr 2003, 17:46:54):
~#! rn=Orktoeter rt=1050421540 rg=entwicklung
~#! tid=1050419735
Haste beide schonmal gleichzeitig gesehen? Das is wie mit Michael und Latoya
(schreibt man die so?) Jackson.

V*, verschwoerungstheoretisiert.

-----------------------------------------------------------------------------



Re^8: MPA (Orktoeter, 15. Apr 2003, 17:47:54):
~#! rn=Vanion rt=1050421614 rg=entwicklung
~#! tid=1050419735
:schluckt hart.


OrkT.

-----------------------------------------------------------------------------



Re^9: MPA (Vanion, 15. Apr 2003, 17:48:25):
~#! rn=Orktoeter rt=1050421674 rg=entwicklung
~#! tid=1050419735
Das ist fehlinterpretierbar, oder?

V*

-----------------------------------------------------------------------------



Re^8: MPA (Zook, 15. Apr 2003, 17:48:26):
~#! rn=Vanion rt=1050421614 rg=entwicklung
~#! tid=1050419735
Nur zur Information: Derzeit herrsche ich ueber den aktuellen Status
des Kaempfer-Gildenlevel-24-Projektes---was auch immer das fuer Euch und
den Anschluss und die zeitliche Naehe zu Taramis bedeutet....

Zook.

-----------------------------------------------------------------------------



Re^9: MPA (Bielefeld, 15. Apr 2003, 17:49:07):
~#! rn=Zook rt=1050421706 rg=entwicklung
~#! tid=1050419735
Ich bin ja immer noch fuer eine Umsetzung von Takeshi's Castle...

-Bielefeld (im falschen Thread, aber was solls)

-----------------------------------------------------------------------------



Re^10: MPA (Mandragon, 15. Apr 2003, 17:49:23):
~#! rn=Bielefeld rt=1050421747 rg=entwicklung
~#! tid=1050419735
Grimmborn, uebernehmen Sie.

Ma*

-----------------------------------------------------------------------------



Re^7: MPA (Deepblue, 15. Apr 2003, 17:49:45):
~#! rn=Orktoeter rt=1050421540 rg=entwicklung
~#! tid=1050419735
Orktoeter, Du vergisst  die Macht der Magie. Wenn die es will, ist Silvana ==
Bendeigid

-----------------------------------------------------------------------------



Re^10: MPA (Vanion, 15. Apr 2003, 17:49:53):
~#! rn=Bielefeld rt=1050421747 rg=entwicklung
~#! tid=1050419735
Gambare :)

V*

-----------------------------------------------------------------------------



Re^11: MPA (Anatol, 15. Apr 2003, 17:50:41):
~#! rn=Vanion rt=1050421793 rg=entwicklung
~#! tid=1050419735
Hitler.

-----------------------------------------------------------------------------



Re^12: MPA (Boing, 15. Apr 2003, 17:50:57):
~#! rn=Anatol rt=1050421841 rg=entwicklung
~#! tid=1050419735
*gaehn*

-----------------------------------------------------------------------------



Re^13: MPA (Jadawin, 15. Apr 2003, 17:54:06):
~#! rn=Boing rt=1050421857 rg=entwicklung
~#! tid=1050419735
Jetzt muesste sich doch langsam rumgesprochen haben, dass man Godwin nicht
absichtlich herbeifuehren kann.
Jad*

-----------------------------------------------------------------------------



Re^14: MPA (Montanus, 15. Apr 2003, 21:13:39):
~#! rn=Jadawin rt=1050422046 rg=entwicklung
~#! tid=1050419735
Und wann kommt das ZPK?

-----------------------------------------------------------------------------



Re^3: MPA (Vincent, 15. Apr 2003, 22:40:18):
~#! rn=Montanus rt=1050419971 rg=entwicklung
~#! tid=1050419735
Ok. Ich sehe, es gibt immer noch falsche Informtionen, die im Umlauf sind.
Um das klarzustellen: Es gibt KEIN ZPK. Und selbst wenn es soewtas gaebe
dann wollte es keiner. Und wenn es keiner will, dann macht es auch keinen
Sinn, dass es soetwas gibt.

ZPK ist nichts als ein Geruecht. Ach, eigentlich weniger als das.

Ich hoffe die Sache ist jetzt geklaert!

Gruss
Vincent

-----------------------------------------------------------------------------



Re^4: MPA (Deepblue, 15. Apr 2003, 23:47:25):
~#! rn=Vincent rt=1050439218 rg=entwicklung
~#! tid=1050419735
Ach ja, Vincent: Wann kommt Titiwu 2? Und Titiwu 3?

-----------------------------------------------------------------------------



Re^5: MPA (Vincent, 15. Apr 2003, 23:53:00):
~#! rn=Deepblue rt=1050443245 rg=entwicklung
~#! tid=1050419735
Ein Plot-Vorschlag liegt Boing bereits vor. Da es aber seine Quest ist, muss
er den nicht nehmen. Das ist ganz allein seine Entscheidung.

Gruss
Vincent

-----------------------------------------------------------------------------



Re^6: MPA (Schoko, 16. Apr 2003, 10:46:43):
~#! rn=Vincent rt=1050443580 rg=entwicklung
~#! tid=1050419735
Also ich warte ja immer och auf Para-Oktopuss :)

Schoko

-----------------------------------------------------------------------------



Re^7: MPA (Zook, 16. Apr 2003, 10:49:27):
~#! rn=Schoko rt=1050482803 rg=entwicklung
~#! tid=1050419735
Zook auch und insb. auf das Gefluche diverser Leute nachdem er sich
strategisch aus der Schusslinie gebracht hat.

-----------------------------------------------------------------------------



Re^8: MPA (Croft, 16. Apr 2003, 10:50:56):
~#! rn=Zook rt=1050482967 rg=entwicklung
~#! tid=1050419735
Zook for RM Inseln.

Croft


-----------------------------------------------------------------------------



Re^9: MPA (Zook, 16. Apr 2003, 10:52:57):
~#! rn=Croft rt=1050483056 rg=entwicklung
~#! tid=1050419735
Bist verrueckt?

Zook.

-----------------------------------------------------------------------------



Re^10: MPA (Vincent, 16. Apr 2003, 10:58:02):
~#! rn=Zook rt=1050483177 rg=entwicklung
~#! tid=1050419735
Ok. Dann aeusser ich hier auch mal einen Wunsch. Und zwar haette ich gerne
die Golfspieler-Gilde, in etwa auf dem Konzept basierend, das wir auf dem
letzten Stati in KA besprochen haben.

Danke im Voraus.
Vincent

-----------------------------------------------------------------------------



Re^11: MPA (Zook, 16. Apr 2003, 10:59:28):
~#! rn=Vincent rt=1050483482 rg=entwicklung
~#! tid=1050419735
Wuensche gibt es viele. Fuer die meisten habe ich ein Faehnchen mit dem
Wort "Abgelehnt!" (uebrigens von Pitfall geklaut ;)

Zook.

-----------------------------------------------------------------------------



Re^3: MPA (Muadib, 17. Apr 2003, 08:43:05):
~#! rn=Montanus rt=1050419971 rg=entwicklung
~#! tid=1050419735
was ist ein zpk? es gibt kein zpk!

-----------------------------------------------------------------------------



Re^4: MPA (Bambi, 22. Apr 2003, 10:25:33):
~#! rn=Muadib rt=1050561785 rg=entwicklung
~#! tid=1050419735
_Noch_ nicht.

-----------------------------------------------------------------------------



Kram am Sandtiger (Humni,  2. Jun 2003, 18:43:16):
Am Sandtiger lag derartig viel Kram, dass man als Magier Bugmeldungen gesehen
hat (als Spieler noch nicht). Der Kram ist auf mysterioese Weise verschwunden.

Sucht Euch demnaechst einfach vernuenftige Stellen wo ihr Kram lagert. Und
benutzt Container.

Humni, Drache, hats gut geschmeckt.

-----------------------------------------------------------------------------



Bewerbung (Catweazle, 10. Jul 2003, 09:25:41):
Hiermit moechte ich mich offiziell fuer den Posten als
Levelneugstaltungs-Balance bewerben. 

Ich denke als Qualifikationsnachweis sollte mein W reichen.

Yours truly,
     Catweazle

-----------------------------------------------------------------------------



Re: Bewerbung (Montanus, 10. Jul 2003, 10:31:43):
~#! rn=Catweazle rt=1057821941 rg=entwicklung
~#! tid=1057821941
Hiermit moechte ich mich als Hilfsknecht fuer das
Levelneugestaltungsbalance-Team bewerben. Immerhin bin ich lnage genug dabei,
und levelgeilheit kann man mir am wenigsten nachsagen.

-----------------------------------------------------------------------------



Re: Re: Bewerbung (Pilgrim, 10. Jul 2003, 14:36:17):
~#! rn=Montanus rt=1057825903 rg=entwicklung
~#! tid=1057821941
Hiermit bewerbe ich mich offiziel als Magier, der fragen darf, was die
Levelneugstaltungs-Balance ueberhaupt ist.

Pilgrim
*.

-----------------------------------------------------------------------------



Neues von der Heilung (Gabylon, 10. Sep 2003, 02:30:34):
Hallo,

Als neuer Heilungsbalancemagier moechte ich eine Reihe von Veraenderungen
vornehmen, die heute ihren Anfang finden. Diese Veraenderungen haben den
Sinn und Zweck, Heilung einfacher und vergleichbarer zu gestalten, Tanken
logischer und durchsichtiger erscheinen zu lassen und Toiletten ihrer
eigentlichen Bestimmung wieder zuzufuehren.

Folgende Veraenderungen treten ab sofort ein:
--------------------------------------------

1. Die wichtigsten Veraenderung der Heilungs-Regeln:

   - Mobile Heilung darf nicht mehr instant sein - sofern es Nahrung ist.
   - Mobile Heilung muss nun - je nach Heilungsqualitaet - frueher
     oder spaeter vergammeln.

2. Die Toiletten werden wieder Toiletten sein. Das heisst, dass die Toiletten
   nicht mehr nur dazu da sind, um hineinfallen zu koennen, sondern sie
   stellen nun eine echte Enttank-Alternative dar, an der ihr euch regulaer
   enttanken koennt. Wieviel und in welchen Zeitsabstaenden das geht, haengt
   von der Rasse ab. Beispielsweise koennen Zwerge mehr enttanken als Elfen,
   dafuer koennen Elfen oefter, etc. Einfach ausprobieren.

   Das heisst auch, dass es ab sofort mehr Toiletten geben darf, da das
   alles zentral im Spieler geregelt wird. Somit ist es auch nicht (mehr)
   moeglich, in zwei verschiedenen Toiletten innerhalb kurzer Zeit zu
   enttanken.

   Zudem wird nun bei jedem fluessigen Enttanken mehr oder weniger Alkohol
   - je nach Alk-Gehalt im Spieler und seiner Masse - enttankt. Dieser
   enttankte Alkohol haelt sich allerdings sehr im Rahmen.

Folgende Veraenderungen stehen in naher Zukunft noch an:
-------------------------------------------------------

3. Alle anderen ortsgebundenen Enttanken werden spaeter auch zentral
   geregelt werden, so dass es davon dann auch mehr geben darf.


                     -=-=-=-=- WICHTIG -=-=-=-=-

Alle Veraenderungen sind noch nicht endgueltig. Somit koennen die Werte
der einzelnen Rassen in naher Zukunft noch steigen oder fallen.

                     -=-=-=-=-=-=-=-=-=-=-=-=-=-


Viel Spass wuenscht

Gabylon

p.s. Wer das neue Enttanken nutzen moechte, sollte ein "ende" machen.

-----------------------------------------------------------------------------



Re: Neues von der Heilung (Gabylon, 10. Sep 2003, 02:38:32):
~#! rn=Gabylon rt=1063153834 rg=entwicklung
~#! tid=1063153834
bambis sehergrab-klo muss leider erstmal abgehaengt bleiben, solange
es ueberarbeitet wird.

gab

-----------------------------------------------------------------------------



Re: Neues von der Heilung (Flintnail, 15. Sep 2003, 15:04:16):
~#! rn=Gabylon rt=1063153834 rg=entwicklung
~#! tid=1063153834
hmm...
und was ist nun neu daran, dass Zwerge mehr tanken koennen als Elfen und Elfen
'ne Sextanerblase haben ?

scnr
Flint*

-----------------------------------------------------------------------------



Re: Neues von der Heilung (Rangorn, 16. Sep 2003, 12:42:06):
~#! rn=Gabylon rt=1063153834 rg=entwicklung
~#! tid=1063153834
"...Heilung einfacher und vergleichbarer zu gestalten, Tanken logischer und
durchsichtiger erscheinen zu lassen und Toiletten ihrer eigentlichen
Bestimmung wieder zuzufuehren. ..."

Loeblicher Ansatz, aber irgendwie war das in meinen Augen eine
Verschlimmbesserung.
Einfach, vergleichbar, durchsichtig: Ich brauchte bei leerer KP-Anzeige 3
Gebaeck und 1 Darjeeling (zum Vortanken). Fuer einen Darjeeling musste ich
einmal Pinkeln und fuer ein Gebaeck 2 mal einen Haufen setzen. Einfach,
durchschaubar, vergleichbar. 
Jetzt brauch ich so an die zehn Minuten fuer einmal enttanken, bin in der
Zwischenzeit aber laengst voll und pappensatt.

Logisch? Tja, das ganze Tank/Enttank-system des MGs ist nicht gerade auf Logik
basierend. Im RL werf ich ja auch nicht mal ebend n Tee ein, und der Schnitt
am Finger verheilt. Der Klogang nach dem Chinesen foerdert auch nicht gerade
erneute Nahrungsaufnahme. 

Bestimmung der Toiletten: In den ganzen letzten Monaten habe ich das Klo wohl
nicht sooft zugegast und bin wohl nicht so oft auf Tauchstation gegangen, wie
in den letzten Tagen. 

Vorschlag: Enttankzeit etwas verkuerzen. Besonders beim intensiven Training
oder bei Metzeltouren ist man zu schnell voll und braucht ein Klo. (Waer doch
auch mal n cooler Spell fuer ne Gilde. Nicht Heilung sondern
Stoffwechselendproduktentsorgung.)
Das Gefurze und Gefalle weiter entschaerfen. OK, man kann alles gaggen und
scripten, aber das Benutzen gewisser Clients zur Pflicht zu machen kann doch
auch nicht gerade Sinn eines Muds sein.


so, genug gejammert.

- Rangorn Khur'Tigres -

-----------------------------------------------------------------------------



Re: Re: Neues von der Heilung (Muadib, 16. Sep 2003, 12:54:11):
~#! rn=Rangorn rt=1063708926 rg=entwicklung
~#! tid=1063153834
mit den toiletten wie sie waren war das saettigungssystem faktisch ausser
kraft gesetzt und im prinzip ein direkter umtausch von geld in kp und lp
jederzeit moeglich.
das kann weder der sinn eines saettigungssystems noch von toiletten sein.
deine berechnung die du am anfang angestellt hast bestaerkt mich darin, dass
die aenderung richtig ist.
das gefurze und gefaelle zu erhoehen geht an der problematik vorbei und wird
eh durch die clients geregelt die in benutzung sind.
das hat die bisherige praxis deutlich gezeigt.
was hat das mit verpflichtung zu clients zu tun?

zurueckgejammert

-----------------------------------------------------------------------------



Re^3: Neues von der Heilung (Montanus, 16. Sep 2003, 12:56:58):
~#! rn=Muadib rt=1063709651 rg=entwicklung
~#! tid=1063153834
Furzen abwerten. Das nervt doch eh nur die SPieler, die mit reinem telnet drin
sind und nicht scripten/gaggen.

-----------------------------------------------------------------------------



Re^3: Neues von der Heilung (Ahab, 16. Sep 2003, 12:58:47):
~#! rn=Muadib rt=1063709651 rg=entwicklung
~#! tid=1063153834
Dazu moechte ich nur am Rande anmerken, dass es hier inzwischen reichlich
Monster gibt, die nur deshalb so stark wurden, eben weil man so schnell
Geld in LP/KP tauschen konnte.

Ahoi,
Ahab.

-----------------------------------------------------------------------------



Re^4: Neues von der Heilung (Moonshine, 16. Sep 2003, 13:02:12):
~#! rn=Ahab rt=1063709927 rg=entwicklung
~#! tid=1063153834
Und wie haut man eben diese NPCs jetzt, da sie doch auf dem System des Geld in
LP/KP umwandeln?

Moonshine hatte es nie verstanden, wie man eine Spirale im Nachhinein
zurueckdrehen will.

-----------------------------------------------------------------------------



Re^5: Neues von der Heilung (Croft, 16. Sep 2003, 13:02:34):
~#! rn=Moonshine rt=1063710132 rg=entwicklung
~#! tid=1063153834
Mit nem groesserem Team.

Croft

-----------------------------------------------------------------------------



Re^6: Neues von der Heilung (Croft, 16. Sep 2003, 13:03:17):
~#! rn=Croft rt=1063710154 rg=entwicklung
~#! tid=1063153834
Wahlweise kann man natuerlich auch das eigene Tankverhalten anpassen :-)

Croft

-----------------------------------------------------------------------------



Re^6: Neues von der Heilung (Brotnael, 16. Sep 2003, 13:03:35):
~#! rn=Croft rt=1063710154 rg=entwicklung
~#! tid=1063153834
Oder Zweities vorschicken, wie mittlerweile recht viele bestimmte
Gegnenden/Monster haun...

Brot

-----------------------------------------------------------------------------



Re^7: Neues von der Heilung (Moonshine, 16. Sep 2003, 13:03:49):
~#! rn=Croft rt=1063710197 rg=entwicklung
~#! tid=1063153834
Baeh, dann waere ja das M in Mud wieder grossgeschrieben, pfui :-)

-----------------------------------------------------------------------------



Re^8: Neues von der Heilung (Humni, 16. Sep 2003, 14:04:35):
~#! rn=Moonshine rt=1063710229 rg=entwicklung
~#! tid=1063153834
Tja. Es hat sich vielleicht nicht ganz rumgesprochen, aber es gibt im MG
durchaus einige Instant-Enttanken. So aehnlich wie INstant-Tanken. Nur dass
die bisher niemanden interessiert haben - warum sollte man auch danach suchen,
wenn man auf dem Klo in viel weniger Zeit deutlich mehr enttanken kann...

Das ist nun wieder eine Aufgabe fuer Magier - diese koennen naemlich nun in
ihren Gebieten Enttanken verstecken, und die haben auf einmal einen gewissen
Wert. Ich finde, das foerdert das Spiel.

Humni
PS: Es gibt mehr als die Enttanken, die ohnehin jeder kennt.

-----------------------------------------------------------------------------



Re^9: Neues von der Heilung (Gabylon, 16. Sep 2003, 14:55:25):
~#! rn=Humni rt=1063713875 rg=entwicklung
~#! tid=1063153834
nur drei sachen dazu:

- das gegase und runtergefalle wurde etwas entschaerft.
- den zweiten punkt, den ich ansprechen wollte, hat mir humni geklaut. ;-)
  danke dafuer.
- die werte fuer die einzelnen rassen werden - hoechstwahrscheinlich -
  in absehbarer zeit etwas geaendert.

gab

p.s. ihr habt sicherlich schon gemerkt, dass die klo-meldungen nicht
     die originellsten sind. wer meint, ein paar besonders nette auf
     lager zu haben: immer her damit.
     dem sieger winken die goldene klobuerste, 1000 muenzen in bar und
     ewiger dank :)

-----------------------------------------------------------------------------



Re^10: Neues von der Heilung (Foobar, 16. Sep 2003, 15:24:29):
~#! rn=Gabylon rt=1063716925 rg=entwicklung
~#! tid=1063153834
Ich hoffe, bei der Klobuerste handelt es sich um eine Autoload-Keule?

Foobar

-----------------------------------------------------------------------------



Re^11: Neues von der Heilung (Anatol, 16. Sep 2003, 17:54:51):
~#! rn=Foobar rt=1063718669 rg=entwicklung
~#! tid=1063153834
Wenn jetzt massenhaft Instant-Enttanken angeschlossen werden, die man
womoeglich jeden Reset mal benutzen kann... dann war's den Aufwand nicht
wert, oder?

Anatol

-----------------------------------------------------------------------------



Re^12: Neues von der Heilung (Humni, 16. Sep 2003, 17:55:37):
~#! rn=Anatol rt=1063727691 rg=entwicklung
~#! tid=1063153834
Aha. Da es ja so viele Instanttanken gibt bist Du nie zum regulaeren Tanken in
den Imbiss gegangen? Oder wie versteh ich Dein Posting?

Humni

-----------------------------------------------------------------------------



Re^12: Neues von der Heilung (Foobar, 16. Sep 2003, 18:13:54):
~#! rn=Anatol rt=1063727691 rg=entwicklung
~#! tid=1063153834
a) Wo steht was von "massenhaft"?
b) Natuerlich war es den Aufwand wert. Anstatt jetzt stundenlang zu metzeln
indem man sich zum Tanken in den Imbiss stellt und sich anschliessend
erleichtert koennte man ja in Zukunft die Augen aufhalten nach Stellen, an
denen man sich auch erleichetern kann. Anders gesagt: Man koennte wieder
spielen.

Foobar

PS: Die "Wer definiert den Spielspass wie?"-Diskussion hatten wir schon
laenger nicht mehr, oder?

-----------------------------------------------------------------------------



Re^10: Neues von der Heilung (Vector, 16. Sep 2003, 18:41:36):
~#! rn=Kenny rt=1063730236 rg=entwicklung
~#! tid=1063153834
ich dachte schon an einen interessanten artikel jedoch
habe ich schon recht bald am anfang aufgehoert zu lesen,
da ein kaempfer der sein koennen einzig und allein auf 
eine waffe beschraenkt wissen will mit verlaub nicht
wirklich den ueberblick hat.

-----------------------------------------------------------------------------



Re^10: Neues von der Heilung (Brotnael, 16. Sep 2003, 18:45:36):
~#! rn=Kenny rt=1063730236 rg=entwicklung
~#! tid=1063153834
Ich versteh nichmal, was der "ich mach so wenig schaden" mit dem tread zu tun
hat, mal abgesehen davon das "schaden machen" nich das einzige wichtige waere,
noch das es vom richtigen gesagt wurde, aber egal ;o) Ich find das
enttanksystem gewoehnungsbeduerftig aber logisch und rechtfertigungswuerdig,
um mal beim thread zu bleiben :o)
Brot wollte auch mal was sagen ;)

-----------------------------------------------------------------------------



Re^10: Neues von der Heilung (Tylak, 16. Sep 2003, 19:33:23):
~#! rn=Kenny rt=1063730236 rg=entwicklung
~#! tid=1063153834
Aeh, Kenny ich glaube du versteht nicht welchen Vorteil die Umschichtung
von Toiletten nach Instant-Enttanken gerade fuer euch Hobbits hat.

Da ihr ein Tankvermoegen habt welches mehrfach so gross ist wie bei anderen
Gilden koennt ihr bei Instant-Enttanken auch ein Mehrfaches pro Zeiteinheit
enttanken.

Das ist imho eine grosse Aufwertung von Rassen die eh schon ein groesseres
Tankvolumen haben als andere. Hobbits und Zwerge.

Bei Nutzung von Instant-Enttanken die sagen wir mal 1x pro Reset enttanken
kann so z.B. ein Zwerg locker ca. 1.5x so viel tanken wie ein Mensch.

Tylak

-----------------------------------------------------------------------------



Re^12: Neues von der Heilung (Muadib, 16. Sep 2003, 19:41:46):
~#! rn=Kenny rt=1063733726 rg=entwicklung
~#! tid=1063153834
wegstecken?
ich glaub die spuelens eher das klo runter

-----------------------------------------------------------------------------



Re^5: Neues von der Heilung (Patryn, 16. Sep 2003, 20:57:10):
~#! rn=Moonshine rt=1063710132 rg=entwicklung
~#! tid=1063153834
Hach ja, aus denselben Gruenden kann man inzwischen wohl die Todesfolgen
nicht mehr in Todesfolgen umwandeln.
Damals hat man meine Argumentation belaechelt, dass sich das MUD darauf
einstellt (und nicht mit brauchbaren Konsequenzen), und heut wuergt man
laechelnd jede Pro-Todesfolgenargumentation mit dem Hinweis auf genau
die beschriebenen entstandenen Probleme ab. Hip hip, Hurra :)
Na macht nur.

-----------------------------------------------------------------------------



Re^6: Neues von der Heilung (Montanus, 17. Sep 2003, 09:54:39):
~#! rn=Patryn rt=1063738630 rg=entwicklung
~#! tid=1063153834
Ich muss konstatieren: ich habe noch keinen einzigen Zauberer in diesem Thread
jamemrn gelesen. Insofern: ich glaube, die neue Jammergilde Numemr 1 sind die
Kaempfer. Was ja auch niemand wundert.

-----------------------------------------------------------------------------



Re^8: Neues von der Heilung (Vardion, 17. Sep 2003, 10:07:01):
~#! rn=Kenny rt=1063785796 rg=entwicklung
~#! tid=1063153834
Wenn unsere Huelle an ist, verlieren wir keine LP mehr? Mist, dann buggt bei
mir irgendwas. Patryn!

Vardion

-----------------------------------------------------------------------------



Re^9: Neues von der Heilung (Montanus, 17. Sep 2003, 10:08:52):
~#! rn=Vardion rt=1063786021 rg=entwicklung
~#! tid=1063153834
Also Vardion, das war die falsche Reaktion. Du musst die armen Kaempferlis
bemitleiden. Schliesslich sind sie die unterprivilegierste Gilde hier, koennen
keine Waffen benutzen, die alleraermsten!

-----------------------------------------------------------------------------



Re^10: Neues von der Heilung (Kenny, 17. Sep 2003, 10:09:44):
~#! rn=Montanus rt=1063786132 rg=entwicklung
~#! tid=1063153834
Ich merk schon, hat keinen Sinn ..

-----------------------------------------------------------------------------



MPA-Haltezeit (Deepblue,  2. Okt 2003, 18:56:38):
Koennte man die Regionen- und Gildenrubriken in ihrer Haltezeit auf 90d oder
so setzen? 
Wenn man 1-2 Monate mal nicht da ist sind alle Infos ueber Neuerungen weg, und
das Archiv ist als Alternative nicht wirklich toll

-----------------------------------------------------------------------------



Re: MPA-Haltezeit (Vanion,  2. Okt 2003, 19:13:48):
~#! rn=Deepblue rt=1065113798 rg=entwicklung
~#! tid=1065113798
Done.

V*

-----------------------------------------------------------------------------



pilze & co. (Gabylon,  3. Okt 2003, 00:07:25):
hi,

wer es noch nicht gemerkt hat: pilze, beeren und co. sind jetzt
nicht mehr die unendlich-tanke von nebenan sondern gut angepasst.

gab

-----------------------------------------------------------------------------



ASCII-Kuenstler gesucht (Humni,  7. Okt 2003, 00:44:33):
Huhu,

da es ja jetzt Kampfstaebe gibt sollten diese auch angemessen bei
,,ausruestung'' dargestellt werden. Da das Ganze ohne Kampfstab-Grafik buggte
sehen die derzeit erstmal aus wie Keulen. Wer sich zutraut sich da
reinzuarbeiten und nette ASCII-Grafiken malt darf sich gerne bei mir melden
und aktiv werden ;-)

Humni
PS: reinarbeiten ist ein anderes Wort fuer ,,rumspielen und ausprobieren'' in
dem Fall.. ;-)
PPS: Das ist Mudprogrammierung uebrigens immer. (aua, auaaa, nicht hauen)

-----------------------------------------------------------------------------



Re: ASCII-Kuenstler gesucht (Croft,  7. Okt 2003, 10:46:17):
~#! rn=Humni rt=1065480273 rg=entwicklung
~#! tid=1065480273
Mach sie doch so wie Speere nur etwas kuerzer und mit anderer Spitze.

Croft

-----------------------------------------------------------------------------



Re: Re: ASCII-Kuenstler gesucht (Humni,  7. Okt 2003, 11:22:31):
~#! rn=Croft rt=1065516377 rg=entwicklung
~#! tid=1065480273
Hab ich getan. Vielleicht kennt jemand trotzdem ne schoenere Loesung als die,
die ich gemalt habe.

Humni

-----------------------------------------------------------------------------



Ein paar heilende Worte... (Gabylon, 12. Okt 2003, 21:53:41):
Hi,

um nochmal ein paar evtl. Missverstaendnisse aus dem Weg zu raeumen:

- Es ist nicht vorgesehen, irgendeine Heilstelle zu entfernen.

- Es ist nicht vorgesehen, irgendeine Heilstelle in der Hoehe ihrer
  Heilung zu beschneiden.

- Es werden nur die Heilstellen instant gelassen, bei denen es auch
  plausibel erscheint, dass sie instant sind.
  Sprich: Eine stinknormale Beere am Wegesrand, ein Flaeschchen, welches
  einen ordinaeren Heiltrunk enthaelt oder auch gewoehnliche, essbare
  Pilze am Boden haben nicht die Faehigkeit, die Wunden des Spielers
  sofort heilen zu lassen.
  Eine Heilrune hingegen (soviel sei verraten), die beim Lesen aufleuchtet
  und so den Spieler auf magische Weise sich sofort gut fuehlen laesst, wird
  auch weiterhin diese Faehigkeiten besitzen.
  Instante Heilstellen wird es also auch weiterhin geben und das nicht
  zu knapp.

- Bei kleinen Kaefern, die sich hin und wieder mal in das zwischenweltliche
  Gefuege einschleichen koennen :), bitte ich um kurze Nachricht.

gab

-----------------------------------------------------------------------------



Re: Ein paar heilende Worte... (Miril, 13. Okt 2003, 13:35:54):
~#! rn=Gabylon rt=1065988421 rg=entwicklung
~#! tid=1065988421
Und was ist mit magischen Heiltraenken ;-) ?

Miril

-----------------------------------------------------------------------------



Re: Re: Ein paar heilende Worte... (Darkwing, 13. Okt 2003, 13:37:08):
~#! rn=Miril rt=1066044954 rg=entwicklung
~#! tid=1065988421
genau... das "heile" der Kleriker heisst bald sicher auch "fuettere" ...

Darkwing

-----------------------------------------------------------------------------



Re: ASCII-Kuenstler gesucht (Lord, 13. Okt 2003, 17:23:30):
~#! rn=Humni rt=1065480273 rg=entwicklung
~#! tid=1065480273
Hi,
hier n paar Vorschlaege:             
1.     2.     3.     4.     5.     6.     7.     8.
                                                 
|\/|    ()    |\/|   |\/|    /\    \\//    /\    |\/|
|__|   /__\   |__|   ||_|   |__|    \/     \/    |()|
\  /   \  /   \  /   \\ /   \  /    ||     ||    \__/
 ||     ||     ||     ||     ||     ||     ||     )( 
 ||     ||     ||     ||     ||     ||     ||     || 
 ||     ||     ||     ||     ||     ||     ||     || 
 ..     ..     ..     ..     ..     ..     ..     ..
 ..     ..     ..     ..     ..     ..     ..     ..
 ..     ..     ..     ..     ..     ..     ..     ..
 ||     ||     ||     ||     ||     ||     ||     || 
 ||     ||     ||     ||     ||     ||     ||     || 
 ||     ||     ||     ||     ||     ||     ||     || 
 )(     ||     ||     )(     ||     ||     ||     )( 
 \/     |/     |/     \/     ()     /\     )(     \/ 
                         
man kann jetzt natuerlich kombinieren und Laenge anpassen :)

so nen knorrigen Stab, wie Gandalf ihn hat, kann man ascii-maessig 
nur bedingt darstellen .. und bei der groesse wol gar nicht.
Persoenlich find ich den Stab von Saruman eh viel schicker :)
.. daher ist #8 mein fav.

Lord

-----------------------------------------------------------------------------



Re: Re: ASCII-Kuenstler gesucht (Liara, 13. Okt 2003, 17:28:33):
~#! rn=Lord rt=1066058610 rg=entwicklung
~#! tid=1065480273
Vielleicht koennte man ja dann auch den Zauberstab nicht mehr als Keule,
sondern als (Kampf-)stab darstellen. :)
Oder gilt die Sache tatsaechlich als Keule? ;>

-----------------------------------------------------------------------------



Re^3: ASCII-Kuenstler gesucht (Croft, 13. Okt 2003, 17:29:59):
~#! rn=Liara rt=1066058913 rg=entwicklung
~#! tid=1065480273
Schlag Patryn vor den Zauberstab auf WT_STAFF zu aendern ,-)

Croft

-----------------------------------------------------------------------------



Re: Re: ASCII-Kuenstler gesucht (Darklor, 16. Okt 2003, 23:29:17):
~#! rn=Lord rt=1066058610 rg=entwicklung
~#! tid=1065480273
Wird der Runenstab eigentlich auch zu einem Kampfstab umgewadelt?

Darklor

-----------------------------------------------------------------------------



Re: Re: ASCII-Kuenstler gesucht (Kellybundy, 19. Okt 2003, 19:49:10):
~#! rn=Lord rt=1066058610 rg=entwicklung
~#! tid=1065480273
Habt Ihr mal an die armen Windoof-User mit truetype-fonts, sprich:
proportionalfonts gedacht? :)
Blondchen

-----------------------------------------------------------------------------



Re^3: ASCII-Kuenstler gesucht (Croft, 19. Okt 2003, 19:49:52):
~#! rn=Kellybundy rt=1066585750 rg=entwicklung
~#! tid=1065480273
Igitt.  Stell halt auf Nicht-Proportionalfonts um.  Die gibts auch
als TrueType.

Croft

-----------------------------------------------------------------------------



Kleine Ergaenzung... (Zook, 10. Dez 2003, 13:31:40):
Hallo zusammen,

beim Finger-Befehl wird nun auch angezeigt, fuer welche Gilden ein Magier
zustaendig ist. Ebenso kann man mit "kwer gildenmagier <gilde>" nach einem
Gildenmagier suchen.

Gruss, Zook.

PS: Irgendwas buggt da noch ein wenig; wer also was Komisches sieht, moege
mich ansprechen.

-----------------------------------------------------------------------------



Re: Kleine Ergaenzung... (Zook, 10. Dez 2003, 13:55:49):
~#! rn=Zook rt=1071059500 rg=entwicklung
~#! tid=1071059500
Falls noch irgendwelche "falschen" GIldenmagier herumlaufen, bitte kurze
Mitteilung, damit ich das fixen kann.

Zook.

PS: Weia, worauf man alles aufpassen muss ;)


-----------------------------------------------------------------------------



Re^7: Anpassung der Fluchtrichtung (Catweazle,  8. Jan 2004, 08:08:40):
~#! rn=Anatol rt=1073518044 rg=seher.entwicklung
~#! tid=1073474050
Verzeiht meine geheuchelte Naivitaet, aber es gibt Monster die in einer Runde
mehr Schaden austeilen, als ein Spieler mit Ausdauer 20 an maximalen
Lebenspunkten hat?

Irgendwas ist falsch gelaufen, oder? 

YTC

-----------------------------------------------------------------------------



Re^8: Anpassung der Fluchtrichtung (Ogo,  8. Jan 2004, 09:57:23):
~#! rn=Catweazle rt=1073545720 rg=entwicklung
~#! tid=1073474050
Nein, es ist nicht zwangsweise etwas falsch gelaufen. Wenn solche
Schadensummen durch eine Taktik vermeidbar sind, wenn man sich an Monstern
versucht, die nicht stupsen und die einem unmissverstaendlich sagen, dass man
die Finger von ihnen lassen soll, dann laeuft nicht unbedingt etwas falsch.
Stell dir mal vor, es gibt auch NPCs, die einen zappen, wenn man sich dagegen
nicht auf die eine oder andere Art wappnet.

Ogo, die geheuchelte Naivitaet sehend

-----------------------------------------------------------------------------



Re^9: Anpassung der Fluchtrichtung (Grimmborn,  8. Jan 2004, 10:04:58):
~#! rn=Ogo rt=1073552243 rg=entwicklung
~#! tid=1073474050
Ach was. Wenn ich zu so einem Monster reingehe brauche ich lediglich einen
kleinen Helm zu tragen, und ich ueberlebe den ersten Schlag auf jeden Fall.
Monster teilen aus, Spieler haben Ruestung und sonstigen Schutz.
Und wenn mal ein Spieler dran stirbt - hey, dazu sind Spieler schliesslich da.

GdA

-----------------------------------------------------------------------------



Re^8: Anpassung der Fluchtrichtung (Foobar,  8. Jan 2004, 11:58:41):
~#! rn=Catweazle rt=1073545720 rg=entwicklung
~#! tid=1073474050
<maus>
Das ist der Drache. Der Drache ist ein boeser NPC. Weil er so boese ist, haut
er mehrere Male die Runde zu. Meistens vier Mal. Der Drache ist sehr stark,
weswegen jeder Schlag des Drachen einem Spieler so um die 100 LP abzieht.

Wenn man lebensmuede ist und alleine zu dem Drachen geht, ist man ziemlich
schnell tot, weil vier Mal einhundert vierhundert ist und kein Spieler so
viele LP hat.

Geht man zu viert hin kann es vorkommen, dass der Drache jeden Spieler nur
einmal trifft und deswegen jeder Spieler nur 100 LP verliert.

Trotzdem kann man immer noch Pech haben. Dann wird man trotzdem zu oft in der
Runde getroffen. Das nennt man dann Risiko.
</maus>

-----------------------------------------------------------------------------



Re^9: Anpassung der Fluchtrichtung (Zook,  8. Jan 2004, 12:01:23):
~#! rn=Foobar rt=1073559521 rg=entwicklung
~#! tid=1073474050
Kann ich bitte eine Zwergenhirndump bekommen? ;) 

Zook.

-----------------------------------------------------------------------------



Re^10: Anpassung der Fluchtrichtung (Nonne,  8. Jan 2004, 12:39:13):
~#! rn=Zook rt=1073559683 rg=entwicklung
~#! tid=1073474050
Bitteschoen:

--> . <-- Da ist es, kleines Hirn, kleiner Dump (c;

-----------------------------------------------------------------------------



Re^9: Anpassung der Fluchtrichtung (Catweazle,  8. Jan 2004, 13:31:59):
~#! rn=Foobar rt=1073559521 rg=entwicklung
~#! tid=1073474050
Ok, spezifiziert dann die Frage. Gibt es auch Monster, die pro Schlag mehr
Schaden austeilen, als ein Spieler mit Ausdauer 20 an maximalen Lebenspunkten
hat? 

Ist dann irgendwas falsch gelaufen? 

YTC

-----------------------------------------------------------------------------



Re^10: Anpassung der Fluchtrichtung (Foobar,  8. Jan 2004, 13:37:50):
~#! rn=Catweazle rt=1073565119 rg=entwicklung
~#! tid=1073474050
Mir persoenlich faellt jetzt auf Anhieb kein NPC ein, der mich mit einem
Schlag aller 226 LP beraubt. Allerdings habe ich lang nix groesseres mehr
gemetzelt - gerade von den neuen Sachen nicht - und bei Felinen kann das auch
schon wieder anders aussehen.

Meiner bescheidenen Meinung nach waere ein solcher NPC ein Fall fuer die
NPC-Balance.

-----------------------------------------------------------------------------



Re^11: Anpassung der Fluchtrichtung (Grimmborn,  8. Jan 2004, 13:52:36):
~#! rn=Foobar rt=1073565470 rg=entwicklung
~#! tid=1073474050
Tja, die Frage ist, wieviel von den 227 Lebenspunkten, die der Schlag
austeilt, uebrig bleiben wenn Du volle Ruestung anhast und diverse
Abwehrzauber/skills einsetzt. Oder gehst Du nackig zu den grossen Monstern?

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re^12: Anpassung der Fluchtrichtung (Foobar,  8. Jan 2004, 14:48:49):
~#! rn=Grimmborn rt=1073566356 rg=entwicklung
~#! tid=1073474050
Wenn er mit 227 LP abzieht, zieht er mit 227 LP ab. Was ist daran so schwer zu
verstehen?

-----------------------------------------------------------------------------



Re^13: Anpassung der Fluchtrichtung (Grimmborn,  8. Jan 2004, 14:53:34):
~#! rn=Foobar rt=1073569729 rg=entwicklung
~#! tid=1073474050
Cat*: "Gibt es auch Monster, die pro Schlag mehr Schaden austeilen, als ein
Spieler mit Ausdauer 20 an maximalen Lebenspunkten hat?"
Du: "Meiner bescheidenen Meinung nach waere ein solcher NPC ein Fall fuer die
NPC-Balance."
Ich: Wenn ein Monster einem nackten Spieler mehr als 226 LP abzieht, ist das
noch lange kein Fall fuer die Balance und vermutlich nichtmal sonderlich
ungewoehnlich.

Was ist daran so schwer zu verstehen?

GdA

-----------------------------------------------------------------------------



Re^14: Anpassung der Fluchtrichtung (Foobar,  8. Jan 2004, 15:42:06):
~#! rn=Grimmborn rt=1073570014 rg=entwicklung
~#! tid=1073474050
Gar nichts. In diesem Artikel hast Du Dich ja auch ausnahmsweise korrekt
ausgedrueckt.

-----------------------------------------------------------------------------



Re^15: Anpassung der Fluchtrichtung (Grimmborn,  8. Jan 2004, 15:47:19):
~#! rn=Foobar rt=1073572926 rg=entwicklung
~#! tid=1073474050
Tja, wenns gar nicht anders geht, nehme ich anderen Leuten auch schonmal
intellektuelle Eigenleistung ab, aber im allgemeinen versuche ich das zu
vermeiden. Wer nicht denken kann/will, der soll halt dumm bleiben. Aber ab und
zu mache ich halt auch eine Ausnahme. 

GdA

-----------------------------------------------------------------------------



Re^16: Anpassung der Fluchtrichtung (Foobar,  8. Jan 2004, 16:15:00):
~#! rn=Grimmborn rt=1073573239 rg=entwicklung
~#! tid=1073474050
Warum genau willst Du dumm bleiben?

-----------------------------------------------------------------------------



Re^8: Anpassung der Fluchtrichtung (Ark,  8. Jan 2004, 18:14:24):
~#! rn=Catweazle rt=1073545720 rg=entwicklung
~#! tid=1073474050
So sind halt z.B. Drachen, wie man sie sich vorstellt. Ein Bauer stirbt dann,
ein Held ... nicht :-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^11: Anpassung der Fluchtrichtung (Ark,  8. Jan 2004, 18:15:50):
~#! rn=Foobar rt=1073565470 rg=entwicklung
~#! tid=1073474050
Wenn man mit entsprechend falscher Ausruestung dasteht, warum nicht? :-)
Kaelteschutzruestung bei Feuerdrachen ... hm.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^14: Anpassung der Fluchtrichtung (Gnome,  8. Jan 2004, 19:14:28):
~#! rn=Grimmborn rt=1073570014 rg=entwicklung
~#! tid=1073474050
bliebe noch zu klaeren, warum ein spieler nackt zu einem monster gehen
wuerde, von dem er weiss, dass es recht heftig schlaege austeilt.
ich denke mal, foobar meint 226 LP natuerlich _mit_ ruestung und
zwergendreckschutz. wie war das mit der intellektuellen eigenleistung?
oder wollte da nur jemand wieder haare spalten?

gnOme

-----------------------------------------------------------------------------



Re^15: Anpassung der Fluchtrichtung (Alkohol,  8. Jan 2004, 19:15:02):
~#! rn=Gnome rt=1073585668 rg=entwicklung
~#! tid=1073474050
da fragst du noch?

Alki

-----------------------------------------------------------------------------



Re^16: Anpassung der Fluchtrichtung (Grimmborn,  8. Jan 2004, 19:19:34):
~#! rn=Alkohol rt=1073585702 rg=entwicklung
~#! tid=1073474050
Die Ursprungsfrage war (von Cat*), ob Monster soviel Schaden austeilen. In
meinem Buch ist "austeilen" erstmal unabhaengig von Ruestung, also
unmodifiziert. Vielleicht seht ihr zwei beiden das ja anders, aber ich vermute
mehr dass es sich da um Leseschwaeche, gepaart mit dem freudigen Gefuehl
"endlich, *endlich* koennen wir Grimmborn einen logischen Fehler nachweisen"
handelt. 

GdA

-----------------------------------------------------------------------------



Re^17: Anpassung der Fluchtrichtung (Gnome,  8. Jan 2004, 19:24:57):
~#! rn=Grimmborn rt=1073585974 rg=entwicklung
~#! tid=1073474050
wie gesagt: eigentlich keiner wuerde auf die idee kommen, ohne rue
auf gut gebaute monster loszugehen. und von denen reden wir doch
gerade, wenn wir bei einem damage von >200 landen, oder?

insofern ist die frage nach einem nackten spieler bei nars nicht
recht sinnvoll.

gnOme

-----------------------------------------------------------------------------



Re^18: Anpassung der Fluchtrichtung (Grimmborn,  8. Jan 2004, 19:29:28):
~#! rn=Gnome rt=1073586297 rg=entwicklung
~#! tid=1073474050
Also redest Du von einem Monster, das unter allen Umstaenden jeden wie auch
immer gearteten/vorbereiteten Spieler mit einem Schlag toetet. Das halte ich
fuer eine sehr... freie Interpretation von Cat*'s urspruenglicher Frage.
Das macht aber die Antwort leicht: Das wuerde einem "zappen" des Spielers
durch das Monster entsprechen, und so ein direktes Sterbenlassen ohne
Moeglichkeit der Gegenwehr ist wohl nicht erlaubt. D.h.: Gibts nicht.

GdA

-----------------------------------------------------------------------------



Re^19: Anpassung der Fluchtrichtung (Maarg,  8. Jan 2004, 19:53:23):
~#! rn=Grimmborn rt=1073586568 rg=entwicklung
~#! tid=1073474050
Gibt es.

-----------------------------------------------------------------------------



Re^20: Anpassung der Fluchtrichtung (Bran,  8. Jan 2004, 20:40:07):
~#! rn=Maarg rt=1073588003 rg=entwicklung
~#! tid=1073474050
Den Sinn der Aenderung versteh ich zwar auch nicht so richtig, aber soooo
schlimm kann ichs nicht finden. Warum soll der Spielspass so sehr dadurch
vermindert werden, dass man mit Lvl < 60 nicht mehr risikolos zu _allen_
Monstern rennen kann? Es gibt nun wirklich mehr als genug NPC, auch staerkere,
die ohne sichere Fluchtrichtung ebensogut machbar sind wie mit (Nars z.B., der
reisst dir zwar den Kopp ab, aber das macht er mit den anderen genauso). Ich
finde es prinzipiell gar nicht so schlecht, wenn es auch noch auf den
mittleren bis hoeheren Leveln Verguenstigungen gibt, auf die man sich freuen
kann.

Ich gehoer weder zu den grossen Metzlern noch zu denen, die es toll finden,
jeden Stein 3 mal umzudrehen. Klar gibt es Gebiete, wo das FP-Sammeln genau
darauf rauslaeuft, aber meine (genug) hab ich vor allem aus Gebieten, die
wirklich schoen und spannend beschrieben sind und wo das Erforschen auch schon
teilweise einen gewissen Questcharakter hat (und zwar den von guten Quests,
auch wenn das natuerlich Ansichtssache ist). Wen im MG die Umgebung so wenig
interessiert, dass er sie sich gar nicht anschauen mag, um ein paar FP zu
sammeln, spielt vielleicht besser in einem MUD, in dem man direkt loshauen
kann, ohne sich viel umschauen zu muessen, solche gibts ja auch. Die sehen
dann halt, soweit ich das bisher gesehen hab, entsprechend trostlos aus. 

Bran, ziemlich zufrieden hier und froh, dass es da eine gewisse Vielfalt gibt

-----------------------------------------------------------------------------



Re^19: Anpassung der Fluchtrichtung (Gnome,  9. Jan 2004, 12:22:37):
~#! rn=Grimmborn rt=1073586568 rg=entwicklung
~#! tid=1073474050
du bist irgendwie suess.

ich fuehre mal den weghier mit seinem VS und TS als wohl bekanntestes
und aeltestes beispiel an. aber eigentlich hab ich auch keine lust mit
jemandem uebers metzeln zu diskutieren, der seit jahren nicht mehr
gespielt hat. das ist so mit nem blinden ueber farben reden.

gnOme

-----------------------------------------------------------------------------



Re^20: Anpassung der Fluchtrichtung (Grimmborn,  9. Jan 2004, 12:25:13):
~#! rn=Gnome rt=1073647357 rg=entwicklung
~#! tid=1073474050
Beispiel fuer was? Fuer einen NPC, der einen voll ausgeruesteten, maximal
geschuetzten Spieler mit vollen LP mit einem Schlag toetet?

GdA ist immer interessiert an neuen Farben

-----------------------------------------------------------------------------



Re^21: Anpassung der Fluchtrichtung (Ogo,  9. Jan 2004, 12:27:39):
~#! rn=Grimmborn rt=1073647513 rg=entwicklung
~#! tid=1073474050
Ochutzkian zieht mit einem Schlag auch > 270 lps bei einem voll ausgeruesteten
(extrem ausgeruesteten) Spieler, was nicht heisst, das man den nicht umhauen
kann.

Ogo

-----------------------------------------------------------------------------



Re^22: Anpassung der Fluchtrichtung (Grimmborn,  9. Jan 2004, 12:28:48):
~#! rn=Ogo rt=1073647659 rg=entwicklung
~#! tid=1073474050
Da kann ich als Blinder nur sagen: Ein NPC, bei dem man den ersten Schlag
definitiv nicht ueberleben kann, mutet schon ein bischen... seltsam an. 

GdA

-----------------------------------------------------------------------------



Re^23: Anpassung der Fluchtrichtung (Alkohol,  9. Jan 2004, 12:29:08):
~#! rn=Grimmborn rt=1073647728 rg=entwicklung
~#! tid=1073474050
schrieb Ogo was vom ersten Schlag?

Alki

-----------------------------------------------------------------------------



Re^23: Anpassung der Fluchtrichtung (Ogo,  9. Jan 2004, 12:29:44):
~#! rn=Grimmborn rt=1073647728 rg=entwicklung
~#! tid=1073474050
Nicht nur der NPC, nicht nur der NPC...

Ogo, ich sich hinein grinsend

-----------------------------------------------------------------------------



Re^24: Anpassung der Fluchtrichtung (Grimmborn,  9. Jan 2004, 12:29:56):
~#! rn=Alkohol rt=1073647748 rg=entwicklung
~#! tid=1073474050
Good point. Das setzt allerdings voraus, dass die vorigen Schlaege keinen
Schaden gemacht haben (sonst haette man ja nicht mehr volle LP), oder?

GdA

-----------------------------------------------------------------------------



Re^25: Anpassung der Fluchtrichtung (Ogo,  9. Jan 2004, 12:30:22):
~#! rn=Grimmborn rt=1073647796 rg=entwicklung
~#! tid=1073474050
Einigen wir uns einfach darauf, dass du in diesem Fall wenig bis gar keine
Ahnung hast? ;>

Ogo

-----------------------------------------------------------------------------



Re^26: Anpassung der Fluchtrichtung (Grimmborn,  9. Jan 2004, 12:34:32):
~#! rn=Ogo rt=1073647822 rg=entwicklung
~#! tid=1073474050
Jein. Eigentlich gibts nur zwei Moeglichkeiten: Entweder man stirbt, oder man
vermeidet diesen Schlag. Letzteres hiesse aber, dass man, wenn man den Schlag
doch abkriegt, nicht "maximal geschuetzt" war (es fehlt der Schutz, der den
Schlag vermeidet). Womit wir bei meiner Aussage waere: Ein maximal
geschuetzter Spieler stirbt nicht mit einem Schlag. 
Ich bitte hoeflich um die Erklaerung, wo da der logische Fehler liegt.

GdA

-----------------------------------------------------------------------------



Re^27: Anpassung der Fluchtrichtung (Ogo,  9. Jan 2004, 12:35:26):
~#! rn=Grimmborn rt=1073648072 rg=entwicklung
~#! tid=1073474050
Es gibt wirklich diese zwei Moeglichkeiten, wobei die Vermeidbarkeit nicht aus
dem maximalen Schutz resultiert. Da ist dein logischer Fehler.

Ogo

-----------------------------------------------------------------------------



Re^27: Anpassung der Fluchtrichtung (Alkohol,  9. Jan 2004, 12:35:38):
~#! rn=Grimmborn rt=1073648072 rg=entwicklung
~#! tid=1073474050
du meinst also, ein spieler ist nur dann optimal ausgeruestet, wenn er gar
nicht hingeht?

Alki 

-----------------------------------------------------------------------------



Re^28: Anpassung der Fluchtrichtung (Grimmborn,  9. Jan 2004, 12:37:24):
~#! rn=Alkohol rt=1073648138 rg=entwicklung
~#! tid=1073474050
Wir sind uns hoffentlich einig, dass "Schutz" nicht nur aus passivem Behaengen
mit Ausruestung besteht, ja? Und dass, wenn ein Tod bei einer Begegnung
vermeidbar ist, jemand, der stirbt, diese Vermeidung unterlassen hat? Also
nicht alles moegliche getan hat, um sich zu schuetzen?

GdA

-----------------------------------------------------------------------------



Re^27: Anpassung der Fluchtrichtung (Gnome,  9. Jan 2004, 12:38:04):
~#! rn=Grimmborn rt=1073648072 rg=entwicklung
~#! tid=1073474050
du kannst dir ja mal spasseshalber die lib ziehen und gucken, wie
das defend() eines angriffs berechnet wird.

gnOme

-----------------------------------------------------------------------------



Re^29: Anpassung der Fluchtrichtung (Alkohol,  9. Jan 2004, 12:38:12):
~#! rn=Grimmborn rt=1073648244 rg=entwicklung
~#! tid=1073474050
da sind wir uns einig, aber was das in letzter Konsequenz bedeutet ist Dir
auch klar, oder?

Alki

-----------------------------------------------------------------------------



Re^29: Anpassung der Fluchtrichtung (Ogo,  9. Jan 2004, 12:38:16):
~#! rn=Grimmborn rt=1073648244 rg=entwicklung
~#! tid=1073474050
Stell dir mal einen NPC vor, der dich zappt, wenn du nicht jede Runde
'Grimmborn ist ein alter Sack' rufst. Wenn du nicht rufst, bist du nicht
maximal geschuetzt? Seltsame Logik.

Ogo

-----------------------------------------------------------------------------



Re^30: Anpassung der Fluchtrichtung (Grimmborn,  9. Jan 2004, 12:38:50):
~#! rn=Alkohol rt=1073648292 rg=entwicklung
~#! tid=1073474050
Klar ist mir das klar: Ein maximal geschuetzter Spieler stirbt nicht an einem
einzigen Schlag.

GdA

-----------------------------------------------------------------------------



Re^31: Anpassung der Fluchtrichtung (Alkohol,  9. Jan 2004, 12:39:26):
~#! rn=Grimmborn rt=1073648330 rg=entwicklung
~#! tid=1073474050
noe die konsequenz ist eine andere

Alki

-----------------------------------------------------------------------------



Re^31: Anpassung der Fluchtrichtung (Ogo,  9. Jan 2004, 12:39:32):
~#! rn=Grimmborn rt=1073648330 rg=entwicklung
~#! tid=1073474050
Wenn ich wuesste, wie man die Haiavaia schreibt, wuerde ich die hier
anfuehren, aber ich weiss es nicht ... :(

Ogo

-----------------------------------------------------------------------------



Re^30: Anpassung der Fluchtrichtung (Grimmborn,  9. Jan 2004, 12:40:00):
~#! rn=Ogo rt=1073648296 rg=entwicklung
~#! tid=1073474050
Stell Dir einen NPC vor, der Dich zappt wenn Du keine spezielle
Smaragdruestung anhast. Wenn Du die Ruestung nicht anhast, bist Du nicht
maximal geschuetzt. Keine seltsame Logik.

GdA

-----------------------------------------------------------------------------



Re^32: Anpassung der Fluchtrichtung (Ogo,  9. Jan 2004, 12:40:28):
~#! rn=Ogo rt=1073648372 rg=entwicklung
~#! tid=1073474050
Der kleine Mann in meinem Ohr (hehehe) sagt es mir gerade: Haiavaha. Also sei
diese hier als Grimmborn-Widerleg-Argument angefuehrt.

Ogo

-----------------------------------------------------------------------------



Re^32: Anpassung der Fluchtrichtung (Grimmborn,  9. Jan 2004, 12:40:50):
~#! rn=Ogo rt=1073648372 rg=entwicklung
~#! tid=1073474050
Also, Rochus-NPCs, bei denen im Questzusammenhang klar hervorgeht, dass man
sie aussen vor lassen soll, lassen wir hier mal aussen vor. :-)

GdA

-----------------------------------------------------------------------------



Re^33: Anpassung der Fluchtrichtung (Bran,  9. Jan 2004, 12:41:25):
~#! rn=Grimmborn rt=1073648450 rg=entwicklung
~#! tid=1073474050
Da gibts noch andere.

-----------------------------------------------------------------------------



Re^33: Anpassung der Fluchtrichtung (Croft,  9. Jan 2004, 12:41:41):
~#! rn=Grimmborn rt=1073648450 rg=entwicklung
~#! tid=1073474050
Hey.  Der hat mal gestupst.  Da sind bestimmt Generationen von Sehern
dran gestorben.

Croft

-----------------------------------------------------------------------------



Re^34: Anpassung der Fluchtrichtung (Grimmborn,  9. Jan 2004, 12:42:20):
~#! rn=Bran rt=1073648485 rg=entwicklung
~#! tid=1073474050
Ja, mich zum Beispiel. Aber ich bin kein NPC.

GdA

-----------------------------------------------------------------------------



Re^34: Anpassung der Fluchtrichtung (Ogo,  9. Jan 2004, 12:42:22):
~#! rn=Croft rt=1073648501 rg=entwicklung
~#! tid=1073474050
Der passt aber nicht in Grimmborns Argumentationskette, deswegen bleibt der
aussen vor...

Ogo

-----------------------------------------------------------------------------



Re^31: Anpassung der Fluchtrichtung (Gnome,  9. Jan 2004, 12:44:36):
~#! rn=Grimmborn rt=1073648400 rg=entwicklung
~#! tid=1073474050
es gibt sogar - stell dir vor - monster, bei denen es gar keine special-
items gibt, die man anziehen koennte und sie machen trotzdem extremen
schaden. und dann gibt es monster, die trotz special-items reihenweise
leute killen (myung laesst gruessen).
und die darf es natuerlich alle nicht geben. aha.
uebernimmst du dann die neue NPC-balance? :)

gnOme

-----------------------------------------------------------------------------



Re^35: Anpassung der Fluchtrichtung (Bran,  9. Jan 2004, 12:48:11):
~#! rn=Grimmborn rt=1073648540 rg=entwicklung
~#! tid=1073474050
Och, schon auch NPC. Aber das waer doch auch was, du als NPC. Auch einer von
der Sorte am besten, dann kannst du die Leute, die dir widersprechen, einfach
zappen und dir das muehsame Argumentieren ohne vernuenftige Argumente
ersparen.

-----------------------------------------------------------------------------



Re^36: Anpassung der Fluchtrichtung (Alkohol,  9. Jan 2004, 12:49:18):
~#! rn=Bran rt=1073648891 rg=entwicklung
~#! tid=1073474050
es ist nicht schwer, von Grimmborn gezapt zu werden ;)

tm grimmborn zap mich 

hilf da ;)


-----------------------------------------------------------------------------



Re^32: Anpassung der Fluchtrichtung (Grimmborn,  9. Jan 2004, 12:51:49):
~#! rn=Gnome rt=1073648676 rg=entwicklung
~#! tid=1073474050
Ich uebernehme gar nichts, was nach Arbeit aussieht. Ansonsten waere die Regel
simpel: NPC, die zum killen da sind, muessen killbar sein. Ein zu killender
NPC, der "extremen Schaden" macht, man also mit keinen Schutzmassnahmen den
ersten Schlag ueberlebt, waere nicht genehmigungsfaehig. Und Deiner Aussage
nach schints sowas zu geben. 
Don't get me wrong: Ich habe nicht prinzipiell was dagegen, wenn Spieler
zuverlaessig sterben.

GdA

-----------------------------------------------------------------------------



Re^33: Anpassung der Fluchtrichtung (Bran,  9. Jan 2004, 12:52:50):
~#! rn=Grimmborn rt=1073649109 rg=entwicklung
~#! tid=1073474050




Gnome hats doch schon gesagt: Schutzmassnahmen gibt es normalerweise, nur
wirken die nicht immer bzw 100%ig zuverlaessig. Glaubs ihm doch einfach.

-----------------------------------------------------------------------------



Re^34: Anpassung der Fluchtrichtung (Ogo,  9. Jan 2004, 12:55:24):
~#! rn=Bran rt=1073649170 rg=entwicklung
~#! tid=1073474050
Ich kenn da jemand, der wirklich zuverlaessig von Nars den Kopf abgebissen
bekommen hat. Das ging dann soweit, dass gewisse andere Leute (huhu Pitfall)
den immer mitnehmen wollten, da es so super zuverlaessig funktionierte...

Ogo

-----------------------------------------------------------------------------



Re^35: Anpassung der Fluchtrichtung (Bran,  9. Jan 2004, 12:56:04):
~#! rn=Ogo rt=1073649324 rg=entwicklung
~#! tid=1073474050
Genau daran dachte ich auch gerade :-)
wille

-----------------------------------------------------------------------------



ignoriere shout (Vanion,  2. Feb 2004, 21:58:34):
Der Penetranz eines einzelnen nicht genannten Magiers ist es zu verdanken,
dass man jetzt shouts aller Art ignorieren kann.

Wer das mag, soll es tun. Ich gebe aber keine Garantie, dass das fuer den
Ignorierer Folgenfrei bleibt.

V*
PS: Da rufe nicht ueber shout realisiert ist, funktioniert kann man rufe und
shout vollstaendig voneinander getrennt ignorieren.

-----------------------------------------------------------------------------



idlezeit (Rikus, 25. Feb 2004, 12:53:32):
Hi,
um nicht immer per finger nachzusehen, ob jemand idle ist und sich so
auch den entsprechenden scroll zu sparen, gibt es ab ende/reboot
idlezeit <spieler> als Befehl.

Rikus

-----------------------------------------------------------------------------



Armageddon ... (Vanion,  4. Apr 2004, 21:55:00):
... scrollt jetzt erheblich weniger, wenn man "rufe", "ruf" oder "armageddon"
ignoriert.

V*

-----------------------------------------------------------------------------



Re: Armageddon ... (Pardauz,  4. Apr 2004, 22:01:43):
~#! rn=Vanion rt=1081108500 rg=entwicklung
~#! tid=1081108500
Hmm, Armageddon ganz ignorieren wollen sicherlich wenige.
Ein "teile armageddon mit habs notiert", um dann fuer _diesen_
Reboot nichts mehr mitzubekommen waere meines Erachtens viel
interessanter. :) Aber nein, ich meld mich grad nicht freiwillig
um das einzubauen ;)

Pardauz

-----------------------------------------------------------------------------



Re: Re: Armageddon ... (Maharet,  4. Apr 2004, 22:02:45):
~#! rn=Pardauz rt=1081108903 rg=entwicklung
~#! tid=1081108500
Ist es so schwierig, nach dem Reboot Armageddon zu ... aeh ... unignorieren?

Maharet

-----------------------------------------------------------------------------



Re: Re: Armageddon ... (Montanus,  4. Apr 2004, 22:03:15):
~#! rn=Pardauz rt=1081108903 rg=entwicklung
~#! tid=1081108500
Der wird doch eh dauernd wieder abgestellt, weil irgendein Magier sich an nem
Aprilscherz probiert hat. Ich war echt enttaeuscht, nichts geh ueber eine
nschoenen Armageddon mit guter Aussicht.

-----------------------------------------------------------------------------



Re^3: Armageddon ... (Ronda,  4. Apr 2004, 22:05:46):
~#! rn=Montanus rt=1081108995 rg=entwicklung
~#! tid=1081108500
Montanus? Da hat sich echt nen Magier an nem Aprlischerz mit Armageddon
versucht?! Das sollte man echt dem Sheriff melden!

Ronda *ENTZUERNT!*

-----------------------------------------------------------------------------



Re: Re: Armageddon ... (Vanion,  5. Apr 2004, 23:10:10):
~#! rn=Pardauz rt=1081108903 rg=entwicklung
~#! tid=1081108500
Ok. Die Idee war gut. Folgendes:

  ignoriere armageddon
    tut genau selbiges. Ignoriere rufe wird von Armageddon ignoriert. Kann ja
    sein, dass ein Spieler nich von MP-Verschwendern, aber von Armageddon zu-
    gescrollt werden moechte.

  teile armageddon mit ruhe
    sorgt dafuer, dass die aktuelle Instanz von Armageddon recht schweigsam
    ist. Das gilt aber nur bis zum Ende des Armageddon oder der Uptime. Das
    naechste Reboot verpasst man also nicht versehentlich. :)
    Bevor nu alle Welt anfaengt zu testen und zu meckern: Das geht nur, wenn
    Armageddon auch da ist.

Fuer die Nachwelt sind diese Features auch in 'hilfe reboot/armageddon'
festgehalten.

V*, geht nu ins Bett.

-----------------------------------------------------------------------------



NPC-Balance  (Zook,  9. Jun 2004, 16:17:50):
Aufruf zur Diskussion, zum Einreichen von Vorschlaegen
======================================================

Wir EM+ moechten die Aufgaben und die Arbeit der NPC-Balance bewerten
und eventuell neu festlegen. Eine Aufgabe, die wir in jedem Fall
weiter betreiben werden, ist die Vergabe zusaetzliche Stufenpunkte
fuer das Toeten von NPCs. Jedoch, welche weiteren Aufgaben sich mit
einer NPC-Balance verbinden, ist unserer Ansicht nach offen und dazu
moechten wir mit Euch diskutieren.

Hier unser Fragenkatalog:

 1. Welche Aufgaben sollte eine NPC-Balance haben?

 2. Wie sollte die Arbeitsweise einer NPC-Balance aussehen?

 3. Soll es verbindliche Regeln fuer "faire" NPCs geben, deren
    Einhaltung die NPC-Balance pruefen sollte?

    3.1 Was koennten solche Kriterien sein?
    3.2 Woran liesse sich ein unfairer NPC erkennen?
    3.3 Stellen unfaire NPCs ueberhaupt ein Problem fuer Spieler dar?

 4. Wie soll die Aufgabe "Beurteilung eines NPCs" auf Regionsmagier
    und eine etwaige NPC-Balance aufgeteilt werden?

 5. Wer soll die NPC-Balance personell wahrnehmen? Gibt es konkrete
    Namensvorschlaege? Soll sie durch ein Gremium wie das
    Objekt-Balance-Team ergaenzt werden? Wenn ja, wer sollte in diesem
    Gremium vertreten sein?

Ihr koennt an dieser Diskussion in den Threads der Spieler-, Magier-
und Regionsmagier-Rubriken teilnehmen und Vorschlaege oder Anregungen
geben. Ebenso sinnvoll ist es, etwaige Vorschlaege per E-Mail
einzureichen.


Gruss, Zook.

-----------------------------------------------------------------------------



Re: NPC-Balance  (Miril,  9. Jun 2004, 18:26:54):
~#! rn=Zook rt=1086790670 rg=entwicklung
~#! tid=1086790670


Zunaechst mal moechte ich sagen, dass ich es persoenlich sehr erfreulich 
finde, dass ihr diese Fragen oeffentlich zu Diskussion stellt. Eine groessere 
Durchsichtigtkeit bei Entscheidungsfindungen ist meiner Ansicht nach immer 
gut, um Noergeleien oder Geruechte schon im Vorfeld zu vermeiden.

zu 1:
Akasha ist bereits schon auf einen wichtigen Aspekt eingegangen, der Aufgabe
der NPC-Balance sein sollte. Auch ich denke, dass NPCs in Anfaengergebieten 
einem Level 1 Spieler milde gesonnen sein sollten, wenn dieser meint, gleich 
drauflosmetzeln zu muessen. Meine Zyklopen beispielsweise sind das, obwohl 
sie eher ab vom Schuss liegen, aber eben leicht erreichbar sind. 

Meiner Ansicht nach ist eine der wichtigsten Aufgaben der NPC Balance, dafuer
zu sorgen, dass die Vergabe von Sonderstupsen fuer schwierigere NPCs ausgewo-
gen bleibt. Das kann z.B. auch heissen, dass ein NPC, fuer den (aus Faulheit 
oder sonstigen Gruenden) nie Sonderstupse beantragt wurden, auf Antrag von 
Spielern oder Magiern nachtraeglich noch Sonderstupse zuerkannt werden 
koennten.

Natuerlich sollte sie dafuer sorgen, dass der NPC killbar bleibt. Zumindest 
wenn er stupst. (Also, alles was Pitmuh oder Zarkuh nicht klein kriegt, muss 
weg ;).

zu 2:
Aehnlich wie bei der Objekt-Balance, allerdings ist es fraglich, ob hier 
wirklich ein Team noetig ist. Zusammenarbeit mit der Objektbalance waere 
durchaus sinnvoll, um einen Ueberblick ueber die Ruestungsspirale zu haben. 

zu 3:
NPCs muessen nicht fair sein. Jedoch sollten sie der Gegend und deren 
Gefaehrlichkeit und Zugaenglichkeit angemessen sein. Gerade NPCs, die man
nicht mal eben waehrend eines Chats nebenbei erledigt, ohne selbst 
Konsequenzen zu erleiden, stellen durchaus eine Herausforderung dar. Spieler 
sind auch nicht immer fair, man nutzt halt, was man an Kram zur Verfuegung 
hat, selbst wenn es eigentlich so nie vorgesehen war. Also gibt es keinen 
Grund, wieso NPCs nicht genauso miese Tricks draufhaben sollten. Entspre-
chender Aufwand sollte nur dann auch entsprechend belohnt werden und nicht 
mit 2 Stupsen, nur weil der Magier keine Lust hatte, Sonderstupse zu 
beantragen.

zu 4:
Die Entscheidung und auch der Test eines NPCs hinsichtlich der Staerke und 
der evtl. Vergabe von Sonderstupsen sollte bei der NPC-Balance und nicht 
beim RM liegen. Die Aufgabe des RM kann es dabei m.E. nur sein, Punkte 
zu beantragen, falls ein nicht mehr aktiver Magier dies versaeumt hat, bzw. 
aktive Regionsmitarbeiter darauf hinzuweisen, solche zu beantragen.
Die RMs koennen und sollten jedoch auf die Punkte achten, die Akasha bereits
angesprochen hat, ein Water Luh auf der Hochebene (um mal ein Standardbeispiel
zu nennen) ist doch eher unerwuenscht. 

zu 5:
Aehnlich wie bei der Objektbalance sollten hier Leute zustaendig sein, die 
selbst viel Spielerfahrung haben und auch noch aktiv spielen, denn nur dann 
koennen sie sinnvoll beurteilen, wie stark der NPC unter den aktuell 
herrschenden Bedingungen hinsichtlich Gildenfaehigkeiten, Ausruestung, 
Tankmoeglichkeiten etc. wirklich ist. Zudem sollten sie hinreichend viele 
NPCs kennen, um eine vernuenftige und ausgewogene Zahl von Sonderstupsen 
richtig einschaetzen zu koennen. Vorzugsweise sollte es jemand sein, der 
moeglich viele der Gildenfaehigkeiten aus persoenlicher Spielerfahrung kennt.


Miril

-----------------------------------------------------------------------------



Re: NPC-Balance  (Muadib, 21. Jun 2004, 10:09:45):
~#! rn=Zook rt=1086790670 rg=entwicklung
~#! tid=1086790670
hmm, 
es herrscht zur zeit eine richtige beitragsflut.
das topic scheint kein grosses interesse zu wecken

woran liegts?

-----------------------------------------------------------------------------



Re: Re: NPC-Balance  (Montanus, 21. Jun 2004, 10:12:47):
~#! rn=Muadib rt=1087805385 rg=entwicklung
~#! tid=1086790670
Das koennte etwas mit einem Ort zu tun haben, dessen Postleitzahl 55595 ist.

-----------------------------------------------------------------------------



Re: Re: NPC-Balance  (Gabylon, 21. Jun 2004, 14:02:24):
~#! rn=Muadib rt=1087805385 rg=entwicklung
~#! tid=1086790670
nun, miril hat ja schon vieles dazu gesagt und ich wuerde in den meisten
punkten mit ihr konform gehen.

die wichtigsten punkte fuer mich waeren:
- eine _aktive_ npc-balance, d.h., dass diese balance die NPCs auf
  mud- und umgebungstauglichkeit prueft und ggf. dementsprechend anpasst.
  dazu braucht es aber magier, die selber noch sehr aktiv im mud
  spielen, da dazu einiger ueberblick notwendig ist.

- fair muss ein NPC natuerlich nicht sein. aber gerade wenn ich an wurzels
  viecher denke, wuerde ich dort sofort einiges aendern. ein team
  aufzuloesen sollte kein npc im mud koennen, egal wie der magier das
  begruendet.

- warum muessen NPCs in anfaengergebieten einem anfaenger wohlgesonnen
  sein? natuerlich stirbt er da, wenn er gerade den befehl "toete"
  entdeckt hat. aber jetzt mal ehrlich: wie oft macht er das wohl?
  ich bin dafuer, diesen "intelligenztest" beizubehalten. :o)

gab wirft 2 heller ins faesschen

-----------------------------------------------------------------------------



Re^3: NPC-Balance  (Padreic, 21. Jun 2004, 15:04:32):
~#! rn=Gabylon rt=1087819344 rg=entwicklung
~#! tid=1086790670
Nun ansich wollt ich ja nichts dazu schreiben, weil ich dachte: Wenn niemand
was dazu schreibt, bekommt dies Thema genau den Stellenwert der ihm eigentlich
zusteht - niente. Aber nachdem nun doch einiges kam und offensichtlich
Klaerungsbedarf von Seiten der EMs besteht, tu ich meine Meinung halt doch
kund:
- Von einer aktiven NPC-Balance halte ich im Gegensatz zu meinem Vorgaenger
absolut rein gar nichts, das letzte was dieses mud braucht, ist in meinen
Augen ein neues Balancegremium. Eine passive NPC-Balance die in Faellen
begruendeten Aergers zwischen Spielern und Magier vermitteln kann, ist doch
eigentlich voellig ausreichend.
- Von jeher bin ich der Meinung Spieler stimmen mit den Fuessen ab, was Ihnen
gefaellt und was nicht. Umso groesser das mud wird und umso mehr Auswahl es
auf diese Weise gibt, umso besser geht dies. Wem Wurzels NPCs nicht gefallen,
der gehe einfach nicht hin (und ich kenne eine Reihe von Spielern die das auch
tun). Niemand zwingt Euch diese NPCs zu metzeln. Hierueber beschwehren koennte
sich hoechstens jemand der alle anderen NPCs bereits hat. Ich habe gewisse
Zweifel, dass es so jemanden noch gibt. Zumindest weiss ich von mindestens
einem NPC bei mir, der bisher nur einmal gekillt wurde - und bei dem wuerde
ich mich dafuer verbuergen das der durch jede NPC balance kaeme.
- Angreifbarkeit von starken NPCs durch Anfaenger ist eine reine Ansichtssache
dafuer brauchts aber auch keine NPC-Balance. Wenn der Rassen-EM das so
moechte, setzt er es als Bedingung durch. Wenn die EMs es generell so wollen,
ueberschreiben sie einfach toete() im Spieler.

Ich hab 2x gucken muessen ob die Frage nach einer NPC-Balance nicht ein
April-Scherz ist. Aber scheint ja durchaus ernstgemeint gewesen zu sein...

Pad*

-----------------------------------------------------------------------------



Re^4: NPC-Balance  (Huraxprax, 21. Jun 2004, 16:45:10):
~#! rn=Padreic rt=1087823072 rg=entwicklung
~#! tid=1086790670
Wenn ich Jungspund darauf antworten darf, finde ich sollten auch die EP der
Monster einen ihrer Schwierigkeit angepassten Wert bekommen. Seherhausmetzeln
sollte nicht so ablaufen: ich kenn ein Gebiet von Magier M., hau da ein
Monster und schon ist der Block voll und hab in 5 Minuten das wofuer ich
anderswo eine halbe Stunde brauchen wuerde.

Zu NPCs in Anfaengergebieten: ein Baer sollte da auch ein Baer sein koennen
und kein Kaninchen, aber vor NPCs die in einer Runde einen Anfaenger umhauen
koennen (Wanze, Killerkarnickel) ist eine Levelabfrage schon sinnvoll.

Huraxprax

-----------------------------------------------------------------------------



Re^5: NPC-Balance  (Vector, 21. Jun 2004, 16:46:44):
~#! rn=Huraxprax rt=1087829110 rg=entwicklung
~#! tid=1086790670
es gibt auch gebiete da dauert eine blockrate 5 stunden oder mehr :)
klar frueher waren die 1'000'000 sicher aufwendiger zu hauen, aber
monster mit vielen eps hauen (im normalfall) auch mehr zu, und meist
folgt die xp-vergabe einer festen formel

-----------------------------------------------------------------------------



Re^5: NPC-Balance  (Darklor, 21. Jun 2004, 16:47:46):
~#! rn=Huraxprax rt=1087829110 rg=entwicklung
~#! tid=1086790670
Padreic soll man das als Aufruf verstehen, doch mehr von deinen NPC's zu
metzeln?

Darklor

-----------------------------------------------------------------------------



Re^4: NPC-Balance  (Amaryllis, 21. Jun 2004, 18:42:29):
~#! rn=Padreic rt=1087823072 rg=entwicklung
~#! tid=1086790670
Ich antworte hier mal, weil ich ja bislang an Rikus' Seite die
NPC-Sonderstups-"Beantragungen" mit unterstuetzt habe.

Bevor hier noch mehr schreien, warum ich mich hier nicht dazu geaeussert habe:
Ich habe den relevanten Personen meine Meinung per Mail kundgetan.
Grob gesagt:
- ich halte eine NPC-Balance zur Bewertung/Vergabe von Sonderstupsen fuer
- ich halte eine NPC-Balance zur Bewertung/Vergabe von Sonderstupsen fuer
sinnvoll (auch wenn in diesem Zusammenhang der Name "Balance" sicher nicht
passt, hoechstens dahingehend, dass diese "Balance" auch ein bisschen die
Anzahl und Verteilung der "sonderbestupsten" NPCs im Auge haben sollte)
- ich halte anfaengerfreundliche Helfer-NPCs, die in Rassenstartgebieten
Newbies unter die Arme greifen, fuer eine gute Idee - egal ob diese von der
NPC-Balance oder sonstwoher kommen :)
- ich sehe die "Uebersicht" ueber die Gebiete einer Region (d.h.
Schluessigkeit, Stimmigkeit, schwer/leicht, passend/unpassend etc.) auch in
Bezug auf NPCs nicht bei einer "NPC-Balance", sondern bei den RMs

Eine ausfuehrlichere Mail diesbezueglich haben die relevanten Erz+ uebrigens
erhalten :)

Ama*

-----------------------------------------------------------------------------



Re^4: NPC-Balance  (Anatol, 21. Jun 2004, 20:02:18):
~#! rn=Padreic rt=1087823072 rg=entwicklung
~#! tid=1086790670
Eines der Hauptargumente fuer ein Balancegremium mit Spielerbeteiligung
ist, dass Magier ohne aktive Zweitcharaktere den Blick fuer das Erleben
der Mudwelt aus der Position eines Spielers ueber kurz oder lang leider
verlieren.

Herzlichen Dank, Padreic, fuer die unmissverstaendliche Verdeutlichung.

Anatol

-----------------------------------------------------------------------------



Re^5: NPC-Balance  (Padreic, 21. Jun 2004, 22:37:22):
~#! rn=Anatol rt=1087840938 rg=entwicklung
~#! tid=1086790670
Das Du Dich genoetigt fuehlst gegenteilige Position einzunehmen, war ja so
sicher wie das Amen in der Kirche, aber normalerweise bin ich selbst in diesen
Faellen von Dir dann noch deutlich gehaltvollere Artikel gewoehnt.
Wenn Du fuer eine aktive NPC-Balance bist, dann geh doch konkret auf Zooks
Fragen ein und sage WAS diese Deiner Meinung nach tun soll. Ich halte Dich
fuer erfahren genug, als das ich Dir unterstelle das Du nicht ernsthaft
jedweden neuen NPC von einem neuen Balancegremium genehmigt wissen willst (es
gibt zwar Leute denen ich selbst _das_ zutrauen wuerde, aber da gehoerst Du
nicht zu). Also gib mal Butter bei die Fische und lass uns mal an Deinen
Vorstellungen teilhaben was denn zukuenftig genehmigungspflichtig werden soll
und am besten noch mit 1-2 Beispielen die die Notwendigkeit verdeutlichen
(also wo das ganze in der Vergangenheit schief gelaufen ist).

Pad*

-----------------------------------------------------------------------------



Re^6: NPC-Balance  (Gnome, 22. Jun 2004, 12:33:54):
~#! rn=Padreic rt=1087850242 rg=entwicklung
~#! tid=1086790670
du hast da was grundlegendes nicht verstanden.

es geht nicht darum, jede neue ameise auf der hochebene und jeden neuen
kolibri im dschungel abzunicken. das waere ungefaehr so, als wuerdest
du, als potentieller licht-balance-magier :), zu jeder neuen fackel dein
ok geben muessen. ich setzte voraus, dass du das weisst.
vllt. sollte man nicht zuviel voraussetzen.

es geht vor allen dingen darum, einerseits bestehende "grosse" monster
auf ihre fairness zu ueberpruefen und ggf. sie anzupassen, andererseits
ein offenes ohr fuer die fragen und probleme der realisierung neuer
monster von magiern zu haben ("kann man das so machen?", "ist das ok so
oder doch zu heftig?", "wie setze ich die und die idee um?").

in dieser hinsicht halte ich eine npc-balance (oder npc-team, falls dir
der ausdruck "balance" nicht schmeckt) fuer sehr sinnvoll.
ganz im gegensatz zu einer lichtbalance (was HAB ich gestern gelacht,
danke noch mal fuer diese amuesanten 5 minuten...).

gnOme

-----------------------------------------------------------------------------



Re^7: NPC-Balance  (Padreic, 22. Jun 2004, 13:18:09):
~#! rn=Gnome rt=1087900434 rg=entwicklung
~#! tid=1086790670
Sorry, aber das was Du da jetzt beschreibst hoert sich fuer mich 1a wie eine
Forderung nach einer passiven NPC-Balance an die Spielerhinweisen nachgeht
(soetwas haben wir ja bereits seit Jahren). Warst aber nicht Du derjenige der
eine aktive Balance haben wollte? Also eine Institution wo man bestimmte Dinge
(was auch immmer) genehmigen lassen muss?
Und damit Du es vielleicht beim 100.000ten mal kapierst: Extreme Lichtlevel
haben einen massiven Einfluss auf das Spielgeschehen und betreffen
insbesondere mehr als eine Gilde. Insofern halte ich es fuer absolut sinnvoll
das es hier Grenzwerte gab (und wie man mir inzwischen bestaetigt hat, auch
noch gibt) die Magier nicht willkuerlich einsetzen koennen (in Objekten).
Und auch wenn Du das super lustig findest, zeigt es in meinen Augen nur wie
erschreckend wenig Ahnung Du hast. Wenn Du mir dazu noch unterstellst ich
haette zu irgendeinem Zeitpunkt da eine eigene Balance haben wollen - dann
redest Du zudem noch Unfug. Von jeher war ich der Meinung  das gehoert in den
Aufgabenbereich der Objektbalance. Das das mal separat ausgegliedert war, lag
einzig und allein daran, das das damalige Balanceteam anderer Meinung war und
es nicht machen wollte.
Das gehoert zwar eigentlich alles nicht in eine Spielerrubrik, aber nachdem Du
es nunmal hierrhin getragen hast...

Es ist eine Sache keine Ahnung zu haben, aber Du laesst auch keine
Moeglichkeit aus, dies oeffentlich unter Beweis zu stellen...

Cad*

-----------------------------------------------------------------------------



Re^8: NPC-Balance  (Gnome, 22. Jun 2004, 14:12:45):
~#! rn=Padreic rt=1087903089 rg=entwicklung
~#! tid=1086790670
ist es eigentlich sehr hinderlich fuer dich, nur selektiv lesen zu koennen?

ich wuenschte mir ein aktives npc-team, dass von selbst auf die magier
zugeht und die npcs mit ihnen bespricht. das erfordert immer noch aktive,
ueberblick-besitzende spieler, welche die monster am eigenen leib
erfahren. es reicht dafuer nicht, in den source zu gucken und zu meinen:
"joa... des passt scho'."

und damit DU das endlich kapierst: natuerlich sind grenzwerte sinnvoll.
aber dafuer reicht eine manpage vollkommen aus.

gnOme

-----------------------------------------------------------------------------



Re^9: NPC-Balance  (Ark, 22. Jun 2004, 16:27:53):
~#! rn=Gnome rt=1087906365 rg=entwicklung
~#! tid=1086790670
Vorsicht, meine Meinung :-) ...
Ich stelle fest, Monster vor Anschluss koennen i.a. nur Magier beurteilen. Wie
sich das aus Spielersicht darstellt, erfaehrt man dann ueblicherweise erst
hinterher, egal welche Testspieler mit welchen Werten man testen laesst. Also
waeren die Aufgaben zweigeteilt: Monster mit Extrastupsen vorher nach festen
Kriterien zu bewerten (aktiv) und nach Anschluss ggf. anzupassen (passiv),
entweder nur durch Aenderungen der Stupse oder auch durch Beschraenkung der
Faehigkeiten.
Mir faellt auf, dass es da eigentlich keines extra Gremiums bedarf, sondern
schon vorhandene Personen (programmierender Magier, RM, eintragender EM)
ausreichen, um sowas zu gewaehrleisten. Wenn das nicht zufriedenstellend
passiert, regiert doch der Markt, sprich, die Spieler bestrafen den Magier
durch Ignoranz, wenn sich nichts aendert. Das ist mir allemal lieber, als
befuerchten zu muessen, ein Monster wird nach welchen Massstaeben auch immer
beschnitten, bevor es ueberhaupt angeschlossen wurde oder auf Anregung eines
oder einiger Personen. Ich moechte zumindest als Magier darueber entscheiden
koennen und unterwerfe mich gerne etwaiger Beschwerden. Meinung Ende :-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^10: NPC-Balance  (Anatol, 22. Jun 2004, 21:46:50):
~#! rn=Ark rt=1087914473 rg=entwicklung
~#! tid=1086790670
"Balance" bedeutet aber bisweilen, dass der Wunsch eines Einzelnen
zum Wohle des Gesamtkonzepts nicht beruecksichtigt werden kann. Dass
Du, als derjenige, der das hier anfuehrt, mit der Objektbalance, so
weit mir bekannt ist, nie ernsthafte Schwierigkeiten hattest, adelt
Dich natuerlich. Vor allem, weil Du nicht unbedingt immer mit der
Meinung des Gremiums konform gingst.

Ich persoenlich bin ein wenig hin und hergerissen. Die Argumentation
fuer ein Gremium mit Spielerbeteiligung steht nach wie vor: Magier
haben keine Ahnung - zumindest, wenn sie eine Weile Magier sind und
keinen aktiven Spieler fuehren. Dazu gehoeren auch Magier, die sich 
einen eigenen Spielerkluengel halten (und ggf. zum Ausgleich mit
Insider-Informationen von der anderen Seite anfuettern). Die Ahnungs-
losigkeit kann durch das Wissen aktiver Spieler aufgepeppt werden.

Fraglich ist, ob sich der Preis lohnt. Teamarbeit bedeutet, dass
es ein Steuerungsorgan geben muss. Teamarbeit in einer Umgebung,
in der auch asynchron kooperiert wird, bedeutet zudem Zeitverlust.

Es waere vielleicht ausreichend, wenn bestimmte NPC-Eigenschaften
bei bestimmten Leuten - ich halte mich bewusst vage - meldepflichtig
waeren. 

Beispiel: Ein NPC, der Schutzhuellen umkehrt oder dem Gegner bei
einer versuchten Finte die Waffe klaut, muss beim jeweiligen
Gildenmagier bekannt gemacht werden. Wenn dieser zum Schluss kommt,
dass der NPC das eigentlich nicht tun koennen sollte - nicht jeder
Wirt kann einfach so einen maechtigen Schutzzauber (wie "wille" ;))
aufheben - und sich keine Einigung finden laesst, kann eine
Schiedsstelle angerufen werden.

Ich wuerde dafuer kein eigenes Team auf die Beine stellen. Es gibt
schon eine Handvoll Bloedmaenner vom Dienst (Hand auf's Herz: Wer
zollt den Spielern der Objektbalance schon Respekt? "Nix Halbes und
nix Ganzes" ist man versucht zu sagen, mh?), die sich mit Wissen
ueber Dinge, die sie vielleicht gar nicht wissen wollen, belasten.
Das Gremium der Objektbalance ist normalerweise gut sortiert, der
Erzmagier fuer Gildenbalance ist beteiligt und nicht zuletzt liest
ein Gott als superoberste Schiedsinstanz mit (nicht dass es sicher
eine rundum zufriedenstellende Loesing ist, es gibt ja auch Magier, 
die es einfach BESSER wissen als Gott und die Welt. Aber fuer
diese Art Sozialversager gibt es so oder so keine Rettung ;)) mit
- was will man mehr?

Problem dabei ist, dass die Liste_der_meldepflichtigen_Faehigkeiten
wieder etwas Verwaltungsaufwand erzeugen koennte. Weil automatisch
aus dem NPC-Quellcode generieren... hm, waere ein forderndes 
Gesellenstueck. ;)

Auf die Gefahr hin, meine eigene Argumentation ad absurdum zu
fuehren: Fuer die Objektbalance halte ich das bisherige Verfahren
fuer optimal. Unter der Voraussetzung selbstverstaendlich, dass die
richtigen Leute den Job machen. Einzelgaenger ohne Teamfaehigkeit
haben dort nichts verloren.

Anatol

-----------------------------------------------------------------------------



Re^11: NPC-Balance  (Ark, 22. Jun 2004, 23:03:28):
~#! rn=Anatol rt=1087933610 rg=entwicklung
~#! tid=1086790670
Klar, ich beuge mich der Mehrheitsentscheidung, bin aber trotzdem der Meinung,
dass hier, im Gegensatz zur Objektbalance, die Arbeit durch besagte drei
"Kontrollinstanzen" gemacht werden muss. Objekte koennen sonstwo zum Einsatz
gebracht werden, NPCs koennen Spieler ignorieren ... und tun es auch. Insofern
-> Angebot!=Nachfrage, entweder aendert das der Magier selbst oder laesst es.
Benachteiligt wird dadurch erstmal keiner.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^8: NPC-Balance  (Tektuko, 28. Jun 2004, 10:42:55):
~#! rn=Padreic rt=1087903089 rg=entwicklung
~#! tid=1086790670
Hey das ist ein Spiel.. wollt ihr alle Magier in irgendeine Balance oder
sonstwohin stecken? In der Zeit koennen sie auch programmieren auf das es hier
viele schoene neue Gebiete gibt :) Kommt man sich ja vor wie beim Staat, wo
alles jemand ueberwachen muss und keinem einzelnen was zugetraut wird.. wenn
ein Gebiet nich so toll ist muss ja keiner hin, gibt doch tausend andere hier.
Gerade in so einem grossen Mud sollte das kein Problem sein

-----------------------------------------------------------------------------



Re^11: NPC-Balance  (Gato,  1. Jul 2004, 01:41:25):
~#! rn=Anatol rt=1087933610 rg=entwicklung
~#! tid=1086790670
Deine Comments konkurrieren mal wieder mit Arks Raumbeschreibungen...
Warum so viel schwafeln... Eine NPC-Balance macht IMHO erst dann Sinn,
wenn die Gildenbalance funktioniert.

Gato

-----------------------------------------------------------------------------



Ich wuenschte mir... (Amynthor, 13. Jul 2004, 13:46:02):
Ich wuenschte mir ein besonderes Steuerzeichen, das das Morgengrauen nach der
Bearbeitung jeder Eingabe, also unmittelbar nach dem Prompt, ausgibt. Dadurch
wuerde die Erkennung von Prompts durch einen Client wesentlich vereinfacht.

Es duerfte doch nicht allzu aufwendig sein, so etwas einzubauen?

Vielleicht gibt es das ja schon, und ich habe bloss die Option dafuer nicht
gefunden. In diesem Fall bin ich natuerlich fuer einen Hinweis dankbar. :-)

Amynthor


-----------------------------------------------------------------------------



Re: Ich wuenschte mir... (Grimmborn, 13. Jul 2004, 13:47:24):
~#! rn=Amynthor rt=1089719162 rg=entwicklung
~#! tid=1089719162
Hast Du keines, mach Dir eines: hilfe prompt

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re: Ich wuenschte mir... (Marcus, 13. Jul 2004, 13:47:28):
~#! rn=Amynthor rt=1089719162 rg=entwicklung
~#! tid=1089719162
Telnet End Of Record... oder SGA ... 

Ciao, Marcus

-----------------------------------------------------------------------------



Re: Re: Ich wuenschte mir... (Croft, 13. Jul 2004, 13:48:46):
~#! rn=Grimmborn rt=1089719244 rg=entwicklung
~#! tid=1089719162
Und was steht da drin?  Spielerlesbar ist das jedenfalls nicht :-)

Croft

-----------------------------------------------------------------------------



Re: Re: Ich wuenschte mir... (Lurchi, 13. Jul 2004, 13:48:50):
~#! rn=Marcus rt=1089719248 rg=entwicklung
~#! tid=1089719162
hilfe prompt -> Dazu ist keine Hilfe verfuegbar.
es soll hier auch spieler geben und nicht nur magier

lurchi

-----------------------------------------------------------------------------



Re: Re: Ich wuenschte mir... (Grimmborn, 13. Jul 2004, 13:48:52):
~#! rn=Grimmborn rt=1089719244 rg=entwicklung
~#! tid=1089719162
Ich werde gerade darauf hingewiesen, dass das nur als Magier geht. Tja, dann
spuck mal in die Haende und werd Magier, noech?

GdA

-----------------------------------------------------------------------------



Re: Re: Ich wuenschte mir... (Amynthor, 13. Jul 2004, 13:49:02):
~#! rn=Grimmborn rt=1089719244 rg=entwicklung
~#! tid=1089719162
> [hilfe prompt]
Dazu ist keine Hilfe verfuegbar.

Schoen waer's...
Amynthor


-----------------------------------------------------------------------------



Re: Ich wuenschte mir... (Tylak, 16. Jul 2004, 06:34:57):
~#! rn=Amynthor rt=1089719162 rg=entwicklung
~#! tid=1089719162
Sowas gibt es bereits. Da das Suchen im Archiv momentan nicht funktioniert
poste ich mal den alten Artikel von Ringor:

>Okay, bevor ich es allen einzeln erklaere, halt einmal oeffentlich:
>
>Das MG hat bis Montag alle Prompts ("> ", "--mehr--" etc) einfach als Zeilen
>ohne abschliessenden Zeilenumbruch abgeschickt. Dadurch hatten Clients wie TF
>oder zMud kein sicheres Kriterium, durch das sie Prompts von unvollstaendig
>uebermittelten Zeilen unterscheiden konnten.
>
>Um dennoch irgendwie eine Unterscheidung vornehmen zu koennen, hat TF z.B.
auf
>einen Timing-Mechanismus zurueckgegriffen: wenn nach einer "unvollstaendigen"
>Zeile eine bestimmte Zeit lang kein weiterer Text vom Mud kam, wurde diese
>Zeile als Prompt "erkannt".
>
>Das fuehrt natuerlich immer dann zu Fehlern, wenn entweder direkt nach einem
>Prompt eine neue Zeile kommt (z.B. "--mehr--" direkt gefolgt von "Jemand
teilt
>Dir mit: Hi!" - fuehrt dazu, dass das "--mehr--" zu der Zeile mit dem
>teile-mit gerechnet wird), oder wenn ein laengerer Text vom Mud dank
>schlechter Leitungen in Raten eintrudelt und zwischen den einzelnen Paketen
>zuviel Zeit vergeht.
>
>In letzterem Fall passiert noch nix wildes, so lange in der Zeit, bis der
Text
>komplett angekommen ist, keine Eingabe gemacht wird. Wenn man aber selbst
>gerade z.B. ein teile-mit an seinen Gespraechspartner abschickt, waehrend die
>erste Haelfte des ankommenden Textes gerade als Prompt "erkannt" wurde und
die
>zweite Haelfte noch irgendwo im Netz unterwegs ist, so sieht sich TF
>bestaetigt, dass es sich bei der ersten Haelfte wirklich um einen Prompt
>handelte und verwirft den Text.
>
>Auf die Art kann man bei schlechter Leitung ziemlich viele halbe teile-mits
>verlieren, was auf die Dauer recht nervig wird.
>
>Um es kurz zu machen: genau das passiert jetzt nicht mehr. Das MG
kennzeichnet
>die Prompts seit Montag fuer jeden Client, der das unterstuetzt, eindeutig
mit
>einem speziellen Steuerzeichen. Fuer alle anderen aendert sich nichts.
>
>Ringor

Genauere Informationen findest du hier:
<http://tf.tcp.com/~hawkeye/tf/tf-40s1-help/topics/prompt_protocol.html>

Aktivieren kannst du das ganze z.B. in TF indem du lpp statt lp
als Mudtyp bei addworld angibst.

Tylak

-----------------------------------------------------------------------------



Re: Vorschlag (Vanion, 17. Jul 2004, 21:58:02):
~#! rn=Skyfire rt=1090093621 rg=allgemeines
~#! tid=1090093621
Irgendwie verstehe ich den Naehrwert dieses Vorschlages nicht. Wo ist der
Unterschied? Im Finger sind doch alle Werte Momentaufnahmen. Ich schreib ja
auch nicht "Derzeigies Level", "Derzeit von" und "Derzeitiger Plan". Ohne
wirklich gute Argumente seh ich da wirklich keinen Handlungsbedarf. 

Anders ausgedrueckt: Ueberzeug mich.

V*

-----------------------------------------------------------------------------



Re: Re: Vorschlag (Skyfire, 17. Jul 2004, 21:58:42):
~#! rn=Vanion rt=1090094282 rg=entwicklung
~#! tid=1090093621
8) Ich glaube auch nicht, dass da was dran gemacht wird. War nur ein
Vorschlag, den ich lustig faende ;)

-----------------------------------------------------------------------------



Re^3: Vorschlag (Vanion, 17. Jul 2004, 21:59:40):
~#! rn=Skyfire rt=1090094322 rg=entwicklung
~#! tid=1090093621
Naja, den Vorschlag fand ich auch lustig.

V*

-----------------------------------------------------------------------------



Wunschentwicklung (Hobo, 20. Aug 2004, 21:47:18):
Ich beantrage hiermit foermlich und mit drei Durchschlaegen und allem, was
dazu gehoert, eine Rubrik Megahal.

   Hobo

-----------------------------------------------------------------------------



Re: Wunschentwicklung (Humni, 20. Aug 2004, 21:53:58):
~#! rn=Hobo rt=1093031238 rg=entwicklung
~#! tid=1093031238
Done.

Humni
PS: Drei Durchschlaege heisst drei Wuensche von Dir, Hobo. Damit ist das ein
vielfacher Wunsch. Und der muss natuerlich erfuellt werden.

-----------------------------------------------------------------------------



Re: Re: Wunschentwicklung (Hobo, 20. Aug 2004, 22:10:27):
~#! rn=Humni rt=1093031638 rg=entwicklung
~#! tid=1093031238
*huepf* *jubel* *freu*

DANKE!
    Hobo

-----------------------------------------------------------------------------



Re^3: Wunschentwicklung (Muadib, 21. Aug 2004, 10:08:24):
~#! rn=Hobo rt=1093032627 rg=entwicklung
~#! tid=1093031238
endlich kann man den scheiss ignorieren

btw muss megahal eigentlich auf jeder ebene rumstehen?
und was loggt der denn von da?

-----------------------------------------------------------------------------



Re^4: Wunschentwicklung (Anatol, 21. Aug 2004, 11:36:28):
~#! rn=Muadib rt=1093075704 rg=entwicklung
~#! tid=1093031238
Du koenntest den Erschaffer fragen.


-----------------------------------------------------------------------------



Re: Re: Wunschentwicklung (Catweazle, 21. Aug 2004, 18:36:12):
~#! rn=Humni rt=1093031638 rg=entwicklung
~#! tid=1093031238
Hiermit beantrage ich die Ebene megahal in mh umzubenennen. -mega ist nu
doppelt...

YTC

-----------------------------------------------------------------------------



Re^3: Wunschentwicklung (Catweazle, 21. Aug 2004, 20:20:14):
~#! rn=Catweazle rt=1093106172 rg=entwicklung
~#! tid=1093031238
Es ging um Rubriken. Nicht Ebenen.
Wer lesen kann ist klar im Vorteil.
Wer sich selbst niedermacht ist manchmal Schizo. Aber nur manchmal.

Wofuer ist jetzt die Rubrik megahal???

YTC

-----------------------------------------------------------------------------



Re^4: Wunschentwicklung (Bambi, 23. Aug 2004, 21:46:51):
~#! rn=Catweazle rt=1093112414 rg=entwicklung
~#! tid=1093031238
ebene mh=megahal

-----------------------------------------------------------------------------



Re^5: Wunschentwicklung (Catweazle, 23. Aug 2004, 23:31:21):
~#! rn=Bambi rt=1093290411 rg=entwicklung
~#! tid=1093031238
Was -megaschmarrn aber immer noch nicht eindeutig machen taete.
Was solls, ich bin auch nur ein traeger, alter Sack. Ausserdem gibts
mittlerweile ein dritten -mega.

YTC

-----------------------------------------------------------------------------



Re^6: Wunschentwicklung (Grimmborn, 24. Aug 2004, 07:34:34):
~#! rn=Catweazle rt=1093296681 rg=entwicklung
~#! tid=1093031238
Was ist an -megaschmarrn nicht eindeutig?

GdA

-----------------------------------------------------------------------------



Paralyse... (Humni,  2. Sep 2004, 19:56:16):
Huhu,

im Zuge von ein paar Aenderungen wird die Paralyse bald ein wenig in ihrer
Funktionalitaet eingeschraenkt. Wer paralysiert wird, wird so lange nicht mehr
paralysierbar, wie die Paralyse angedauert hat.

Beispiel: Chaot Mauermeister finstert das schreckliche Ungeheuer
Zabramaxastroth fuer die naechsten 20 Runden. Zabramaxastroth ist genau wie
frueher paralysiert, aber danach die naechsten 20 Runden nicht mehr
paralysierbar.

Das Ganze wird erst mit der Zeit wirksam. Noch sind dazu auch keine Meldungen
in den Gilden implementiert, das muss ich den GMs erstmal aufs Auge druecken,
die noch nix von ihrem Glueck wissen.

Humni
PS: Mit der Zeit wirksam heisst, aktuelle NPCs halten sich noch nicht daran.
Viel Spass ;-)

-----------------------------------------------------------------------------



Re: Paralyse... (Maharet,  3. Sep 2004, 09:26:35):
~#! rn=Humni rt=1094147776 rg=entwicklung
~#! tid=1094147776
Gilt das auch fuer Spieler? Also Chaot Mauermeister wird vom schrecklichen
Ungeheuer Zabramaxastroth fuer 20 Runden paralysiert und ist danach die
naechsten 20 Runden nicht mehr paralysierbar?

Maharet

-----------------------------------------------------------------------------



Re: Re: Paralyse... (Highlander,  3. Sep 2004, 09:31:26):
~#! rn=Maharet rt=1094196395 rg=entwicklung
~#! tid=1094147776
Ohne jetzt nachgesehen zu haben - aufgrund des Ortes der Aenderung
wuerde ich mal auf 'ja' tippen, es sei denn, es wird explizit abgefragt,
ob es sich um einen NPC handelt.

HrT

-----------------------------------------------------------------------------



Re^3: Paralyse... (Orktoeter,  3. Sep 2004, 13:07:53):
~#! rn=Highlander rt=1094196686 rg=entwicklung
~#! tid=1094147776
Generell nicht mehr paralysierbar oder nur von dem speziellen Gegner nicht
mehr paralysierbar?

OrkT, wills genau wissen.

-----------------------------------------------------------------------------



Re^4: Paralyse... (Nonne,  3. Sep 2004, 13:16:21):
~#! rn=Orktoeter rt=1094209673 rg=entwicklung
~#! tid=1094147776
Generell.

Nonne.

-----------------------------------------------------------------------------



Re^5: Paralyse... (Humni,  3. Sep 2004, 14:13:13):
~#! rn=Nonne rt=1094210181 rg=entwicklung
~#! tid=1094147776
Da ich drum gebeten wurde:

Die Paralyse ist mit dieser Neuregelung abgewertet worden. Das war unser Ziel.
Ob die Abwertung damit ihr Ziel voll erreicht hat, mag die Zukunft zeigen. Es
gibt immerhin NPCs, die man so nicht mehr Dauerparalysiert bekommt und also
auch nicht im Raum todideln kann - und sicher hat sich das kein Magier so
gedacht, dass das geht, ohne dass er die Paralyse direkt ganz ausgebaut hat.
Das ist uebrigens ein weiteres Argument, warum die Paralyse vielleicht in
Zukunft von Magiern nicht immer pauschal verboten werden koennte.

Das als Erklaerung.

Humni

-----------------------------------------------------------------------------



Re^6: Paralyse... (Darklor,  3. Sep 2004, 18:17:15):
~#! rn=Humni rt=1094213593 rg=entwicklung
~#! tid=1094147776
Hatte Highklander nun mit seiner Vermutung recht?

Darklor

-----------------------------------------------------------------------------



Re^6: Paralyse... (Anatol,  4. Sep 2004, 09:59:00):
~#! rn=Humni rt=1094213593 rg=entwicklung
~#! tid=1094147776
Ohne mich zur Entscheidung aeussern zu wollen: Ich dachte, es gaebe eine
Regel, die besagt, dass Monster mit >1 Killstups gegen Paralyse immun
zu sein haben?

Anatol (neugierig)

-----------------------------------------------------------------------------



Re^7: Paralyse... (Anatol,  4. Sep 2004, 10:01:42):
~#! rn=Anatol rt=1094284740 rg=entwicklung
~#! tid=1094147776
Nachtrag: Ja, ich WEISS, dass es 104245234 Monster gibt, die nicht in
diese Regelung passen. Ich kann leider auch die Quelle nicht mehr nennen,
ich glaube es war ein Erzmagier .... vor x Jahren. ;)

Anatol ;)

-----------------------------------------------------------------------------



Re^8: Paralyse... (Padreic,  4. Sep 2004, 11:27:05):
~#! rn=Anatol rt=1094284902 rg=entwicklung
~#! tid=1094147776
Vor X Jahren hat der damalige EM der fuer Killstupse zustaendig war, gesagt er
wuerde keine Killstupse >=5 mehr genehmigen, wenn diese nicht gegen Paralyse
immun sind. Ich bin mir jedoch auch nicht mehr sicher ob das schon Rikus oder
noch Wim war (ich glaube das stammt noch von Wim).
Die Zahl der NPCs mit 2-4 Stupsen ist aber _deutlich_ groesser als die Zahl
der NPCs mit 5 und mehr Stupsen Anatol :o)

Pad*

-----------------------------------------------------------------------------



Re^9: Paralyse... (Ark,  4. Sep 2004, 13:13:51):
~#! rn=Padreic rt=1094290025 rg=entwicklung
~#! tid=1094147776
Der Zusammenhang ist natuerlich hanebuechen, ob ein NPC resistent in
irgendeiner Form sein sollte, haengt von seiner Natur (jaja, und vom Magier)
ab, nicht von den willkuerlich vergebenen Stupsen. Insofern kann man so eine
Aussage ad acta legen, mit der Aenderung beim Paralysieren sowieso.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^10: Paralyse... (Anatol,  4. Sep 2004, 13:54:38):
~#! rn=Ark rt=1094296431 rg=entwicklung
~#! tid=1094147776
ad Padreic: Danke fuer die Richtigstellung.

ad Ark: Rollenspielerische Gruende fuer gewuenschtes
    Verhalten ist nach Belieben aus dem Hute zu zaubern.
    Da ist mal eine Lichtung magisch, oder die Schuhe
    des fraglichen NPCs (die sich natuerlich beim Tode
    aufloesen :)).

Anatol

-----------------------------------------------------------------------------



Re^10: Paralyse... (Padreic,  4. Sep 2004, 17:03:55):
~#! rn=Ark rt=1094296431 rg=entwicklung
~#! tid=1094147776
Wenn wir jede Regelung deren Zusammenhang hanebuechen ist, ad acta legen
duerften, dann waeren wir hier im mud schon deutlich weiter - dem ist aber
leider (viele moegen jetzt sagen gott sei dank) nicht so. Aber ich nehme gerne
zur Kenntnis, das diese Regel damit ausser Kraft gesetzt wurde (was ja
durchaus sinnvoll ist). Die Begruendung fuer die Regel ist allerdings damit
noch nicht ausgehebelt: denn man muss ja waehrend keine paralyse moeglich ist,
nicht im Raum stehen.
So oder so, ich fand es immer schon schwachsinnig und finde zudem die neue
Regel richtig gut - weil die Paralyse dennoch nicht mehr ganz so stark ist.

Pad*

-----------------------------------------------------------------------------



Re^11: Paralyse... (Anatol,  4. Sep 2004, 17:11:47):
~#! rn=Padreic rt=1094310235 rg=entwicklung
~#! tid=1094147776
Well. Ein gewisser Engel, der frueher zumindest mit 0 Stupsen in der
Liste stand, duerfte nach dieser Aenderung etwas... schwerer zu knacken
sein.

Anatol starb auch dafuer ;)


-----------------------------------------------------------------------------



Re^12: Paralyse... (Matis,  4. Sep 2004, 18:12:42):
~#! rn=Anatol rt=1094310707 rg=entwicklung
~#! tid=1094147776
Die Sehergladis 20 bis 25 duerften auch deutlich schwerer zu schaffen sein ...

Matis

-----------------------------------------------------------------------------



Re^9: Paralyse... (Zook,  4. Sep 2004, 20:57:17):
~#! rn=Padreic rt=1094290025 rg=entwicklung
~#! tid=1094147776
Interessant, mir war diese Regel gaenzlich unbekannt.

Zook.

-----------------------------------------------------------------------------



Re^10: Paralyse... (Gloinson,  4. Sep 2004, 20:57:39):
~#! rn=Zook rt=1094324237 rg=entwicklung
~#! tid=1094147776
Soll ich sie dokumentieren? ;)


-----------------------------------------------------------------------------



Re^11: Paralyse... (Morgoth,  4. Sep 2004, 20:58:03):
~#! rn=Croft rt=1094324261 rg=entwicklung
~#! tid=1094147776
:verteilt gleich Tampons

-----------------------------------------------------------------------------



Re^11: Paralyse... (Ark,  5. Sep 2004, 22:09:03):
~#! rn=Anatol rt=1094298878 rg=entwicklung
~#! tid=1094147776
Gerne kannst Du den Hut benutzen, aber einen direkten Zusammenhang zwischen
Stupsen ueber 5 und Paralyseresistenz lehne ich genausogern erstmal ab :-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^12: Paralyse... (Nizzl,  8. Sep 2004, 03:43:16):
~#! rn=Ark rt=1094414943 rg=entwicklung
~#! tid=1094147776
antwort auf letzten artikel zufaellig etc wie immer.

als boeser spieler denke ich bei sowas natuerlich an einen zweiti-
chaot der mich in der arena finstert fuer 29 runden, ich danach
zu einem heftigen npc flitze dessen hauptattacke paralyse ist
(da findet sich sicher ein grosser wurzel-npc) den ich dann 29
runden auslachen kann :)

nizzl, als vertretung herhaltend und nicht er selbst

-----------------------------------------------------------------------------



Re^13: Paralyse... (Ark,  8. Sep 2004, 15:21:04):
~#! rn=Nizzl rt=1094607796 rg=entwicklung
~#! tid=1094147776
Hauptattacke Paralyse? Das macht doch nur was aus, wenn er Dich auch noch
verfolgt, oder? Keiner bleibt dann freiwillig im Raum, es sei denn, er uebt.
Und viele Gilden haben eine Moeglichkeit, die Wirkung zumindest zu verkuerzen.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^14: Paralyse... (Padreic,  9. Sep 2004, 09:22:06):
~#! rn=Ark rt=1094649664 rg=entwicklung
~#! tid=1094147776
Ich glaube Nibel meinte eher: man laesst sich paralysieren, wartet bis die
Paralyse abgeklungen ist und betritt _dann_ den Raum mit feindlichem
Wurzelnpc, der dann fuer x Runden nicht paralysieren kann. Sofern die
Verkuerzung der Paralyse keine Auswirkung auf den Zeitpunkt der naechsten
Paralyse hat, verstaerkt das den Effekt nur noch.
Vor der Arena habe ich dennoch keine Angst:
1. Die Paralysesprueche z.B. der Bierschuettler gehen nicht auf Spieler
2. Die Paralyse der Gilden haelt i.d.R. nicht besonders lange - schon gar
nicht die 29 Runden von denen hier die Rede war - auch die der Chaoten nicht.
3. Das ganze ist extrem aufwendig, fuer vergleichbar geringen Nutzen
4. Das ganze ist nicht x-fach via Script wiederholbar. Zum einen weil man
Kaempfe nicht beliebig oft abbrechen kann, zum anderen wegen einem
Sonderfeature der Arena. Brichst Du den Kampf zu oft ab, tritt mit grosser
zuverlaessigkeit ein Bug auf, der die Arena fuer tage wieder ausser Betrieb
setzt :o)

Viel gefaehrlicher sind irgendwelche Luschennpcs, die kaum Schaden machen,
aber mit hoher Wahrscheinlichkeit im Kampf eine grosser Paralyse verbratzen.
Da scriptet geuebter Spieler dann mal eben hin und holt sich seine paralyse ab
und idlet diese auf der HE wieder ab.

Pad*

-----------------------------------------------------------------------------



Re^15: Paralyse... (Ark,  9. Sep 2004, 13:28:12):
~#! rn=Padreic rt=1094714526 rg=entwicklung
~#! tid=1094147776
Ok, vielleicht bin ich als Spieler nicht gerissen genug, aber warum sollte ich
mir meine Paralyse bei einem "Luschennpc" abholen und dann erst zum Monster
gehen, was mich paralysiert und heftig haut? Da kann ich auch gleich dorthin
gehen, mir die Paralyse dort verpassen lassen und "abideln". Die Haue vom NPC
bekomme ich ja sowieso. Der einzige Unterschied, der mir noch in den Kopf
kommt, ist die Dauer der Paralyse, die evtl. ein paar Runden hoeher beim
"gefaehrlichen" NPC ausfaellt als bei einem "Luschennpc", aber ob das nun den
vielen Aufwand rechtfertigt?

Thoughts of a naive.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^16: Paralyse... (Cassandra,  9. Sep 2004, 13:34:38):
~#! rn=Ark rt=1094729292 rg=entwicklung
~#! tid=1094147776
Ich denke das war anders gemeint.
schutz
Erst paralysieren lassen, dann abwarten bis die wieder wech ist und dann zum
heftigen Monster was einen dann erstmal nicht!!! paralysieren kann.

Cassy, hoffend das verstanden zu habend

-----------------------------------------------------------------------------



Re^15: Paralyse... (Nibel,  9. Sep 2004, 16:36:10):
~#! rn=Padreic rt=1094714526 rg=entwicklung
~#! tid=1094147776
Ich glaube Nibel meinte gar nix dazu...
  - Nibel
-----------------------------------------------------------------------------



Re^16: Paralyse... (Gloinson,  9. Sep 2004, 17:55:35):
~#! rn=Nibel rt=1094740570 rg=entwicklung
~#! tid=1094147776
Nippel, Nizzel, ist da ein Unterschied?


-----------------------------------------------------------------------------



Re^17: Paralyse... (Foobar,  9. Sep 2004, 18:23:30):
~#! rn=Gloinson rt=1094745335 rg=entwicklung
~#! tid=1094147776
So weit ich weiss, loesen Stein/Schaedel keinen Angriff aus. Man muss also
fuer die von Nizzl beschriebene Taktik gar nicht in die Arena.

F*

-----------------------------------------------------------------------------



Re^17: Paralyse... (Ark,  9. Sep 2004, 19:00:45):
~#! rn=Cassandra rt=1094729678 rg=entwicklung
~#! tid=1094147776
Jo, aber paralysiert wird von beiden, und nur wenn heftig Monster paralysiert,
ist ein kleiner Unterschied da. Abideln wirst Du es in jedem Fall. Und Haue
bekommst Du auch ohne Paralyse weiterhin.
Oben ergaenze ich noch ein ... wenn heftig Monster _laenger_ paralysiert :-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



MG-Webseiten (Catweazle,  2. Dez 2004, 08:31:09):
Ganz schoen leer hier.

Eine relevante Frage:
Warum sind eigentlich die neuen Webseiten, die glaub ich schon seit nem Jahr
fertig sind, immer noch nicht online?

Yours truly,
     Catweazle

PS: Seid froh, dass ich eine so einfache Frage stelle. Ich koennte 
    auch sterben 1 und 2 rausholen :)


-----------------------------------------------------------------------------



Re: MG-Webseiten (Croft,  2. Dez 2004, 08:33:47):
~#! rn=Catweazle rt=1101972669 rg=entwicklung
~#! tid=1101972669
Ich wuerde spontan auf aehnliche Gruende tippen, die momentan auch einen
Grossteil der alten Seiten nicht erreichbar gemacht haben.

SCNR, Croft

-----------------------------------------------------------------------------



Re: Re: MG-Webseiten (Catweazle,  2. Dez 2004, 08:36:43):
~#! rn=Croft rt=1101972827 rg=entwicklung
~#! tid=1101972669
Einer der Gruende, warum ich Frage.
Wenn schon umbauen, dann auch richtig :)

YTC

-----------------------------------------------------------------------------



Re: MG-Webseiten (Zook,  2. Dez 2004, 09:09:42):
~#! rn=Catweazle rt=1101972669 rg=entwicklung
~#! tid=1101972669
Catty, ich empfehle Dir bei dieser Frage mal kurz mit dem Besen vor der
eigenen Haustuere vorbeizuschauen.

Zook.

-----------------------------------------------------------------------------



Re: MG-Webseiten (Catweazle,  2. Dez 2004, 09:19:24):
~#! rn=Catweazle rt=1101972669 rg=entwicklung
~#! tid=1101972669
Da ich offenbar zu einem signifikanten Anteil an diesem Missstand beteiligt
bin, ziehe ich meine Frage zurueck.

Catweazle

-----------------------------------------------------------------------------



Re: Re: MG-Webseiten (Croft,  2. Dez 2004, 09:24:09):
~#! rn=Catweazle rt=1101975564 rg=entwicklung
~#! tid=1101972669
Darf man nach Details fragen? :o)

Croft

-----------------------------------------------------------------------------



Re^3: MG-Webseiten (Catweazle,  2. Dez 2004, 09:33:57):
~#! rn=Croft rt=1101975849 rg=entwicklung
~#! tid=1101972669
Ich schwieg zu lange.

YTC

-----------------------------------------------------------------------------



Re^4: MG-Webseiten (Darklor,  2. Dez 2004, 12:46:04):
~#! rn=Catweazle rt=1101976437 rg=entwicklung
~#! tid=1101972669
Ah, da Du nun Dein Schweigen gebrochen hast - Wie lange wird es dann nu dauern
die WebSeiten online zu stellen? 

Darklor

-----------------------------------------------------------------------------



Re^5: MG-Webseiten (Montanus,  2. Dez 2004, 14:36:47):
~#! rn=Darklor rt=1101987964 rg=entwicklung
~#! tid=1101972669
Wenn er vor der eigenen Haustuer fegen muss, gibt es folgende Moeglichkeiten:
(a) er ist gerade 30 geworden und noch nicht verheiratet, und wohnt
zufaelligerweise noch im Rathaus
(b) er hat schwaebisches Blut und muss oefters mal aus Heimweh Kehrwoche
machen.
(c) Es ist mal wieder Schnee gefallen und er will sich nicht auf die Nase
legen.

-----------------------------------------------------------------------------



Feindschaftsband (Zook,  2. Jan 2005, 19:30:34):
Hallo,

das Feindschaftsband (also neue Feindschaftsbaender) stehen nun automatisch
auf "behalte" und werden bei "verkaufe alles" nicht mit erfasst.

Wer das Feature nutzen moechte, muss sich ein neues Band besorgen. 

Zook.

-----------------------------------------------------------------------------



Re: Cicerones (Pitfall,  4. Jan 2005, 14:31:39):
~#! rn=Humni rt=1104845293 rg=bekanntmachungen
~#! tid=1104845293
Ich halte den Namen fuer unguenstig gewaehlt.
Ich denke, es wird viele Neulinge geben, die
mit dem begriff "cicerone" nichts anfangen
koennen.
Damit geht ein Grossteil des Nutzens schonmal
verloren (Bitte wende Dich an die Cicerones) ?

Pit*

-----------------------------------------------------------------------------



Re: Re: Cicerones (Arathorn,  4. Jan 2005, 14:36:53):
~#! rn=Pitfall rt=1104845499 rg=entwicklung
~#! tid=1104845293
Darueberhinaus faende ich es schick, wenn fuer die Newbies dort auch was
drinstuende, nicht nur fuer die potentiellen Fremdenfuehrer. Wer naemlich
wissen will, was das ist, und vor allem _wer_ das ist, hat mit den beiden
Hilfeseiten in der jetzigen Form u.U. ein Problem. Newbies, die einen 
Cicerone noetig haetten, koennten auch Schwierigkeiten haben, diese Hilfe-
seiten zu finden. ;-)

Just my EUR 0.02

Arathorn.

P.S.: Wird "kwer cicerone" dafuer implementiert?

-----------------------------------------------------------------------------



Re: Re: Cicerones (Muadib,  4. Jan 2005, 14:37:11):
~#! rn=Pitfall rt=1104845499 rg=entwicklung
~#! tid=1104845293
neue spieler bekommen das beim login erklaert
so kann man was fuer die bildung tun und es klingt einfach besser als
newbieguide

-----------------------------------------------------------------------------



Re^3: Cicerones (Muadib,  4. Jan 2005, 14:37:48):
~#! rn=Arathorn rt=1104845813 rg=entwicklung
~#! tid=1104845293
kwer cicerone ist implementiert
ende/shutdown/reboot/crash?

-----------------------------------------------------------------------------



Re^4: Cicerones (Pitfall,  4. Jan 2005, 14:39:32):
~#! rn=Muadib rt=1104845868 rg=entwicklung
~#! tid=1104845293
Welche Meldung bekommen neue Spieler beim Einloggen?
<Blabla> ist cicerone, sprich Ihn an?

Pit
*

-----------------------------------------------------------------------------



Re^5: Cicerones (Muadib,  4. Jan 2005, 14:39:48):
~#! rn=Pitfall rt=1104845972 rg=entwicklung
~#! tid=1104845293
probiers

-----------------------------------------------------------------------------



Re^6: Cicerones (Zook,  4. Jan 2005, 14:41:15):
~#! rn=Muadib rt=1104845988 rg=entwicklung
~#! tid=1104845293
geht auch mit gaesten. ;)

zook.

-----------------------------------------------------------------------------



Re^7: Cicerones (Maharet,  4. Jan 2005, 14:42:07):
~#! rn=Zook rt=1104846075 rg=entwicklung
~#! tid=1104845293
Bis wann ist man denn klein genug, um die Meldung zu kriegen?

-----------------------------------------------------------------------------



Re^7: Cicerones (Pitfall,  4. Jan 2005, 14:42:25):
~#! rn=Zook rt=1104846075 rg=entwicklung
~#! tid=1104845293
Es sollte meiner Meinung nach gleichzeitg der "Idlezustand" erklaert
werden und es sollte eine Anzeige geben, welcher "gigo^h^h^h^hcicero"
wie lange idle ist.

Pit*

-----------------------------------------------------------------------------



Re^8: Cicerones (Bran,  4. Jan 2005, 14:51:39):
~#! rn=Pitfall rt=1104846145 rg=entwicklung
~#! tid=1104845293
Mir gefaellt der Name ja :) aber was die Idle-Anzeige angeht, stimme ich zu.

Bran

-----------------------------------------------------------------------------



Re^9: Cicerones (Zook,  4. Jan 2005, 14:55:06):
~#! rn=Bran rt=1104846699 rg=entwicklung
~#! tid=1104845293
Wobei, wenn man nen idelnden Spieler anspricht, dann kommt doch auch da
eine verstaendlich Meldung "...ist seit XX Minuten voellig untaetig.", oder?

Eine andere Anregung haette ich: Vielleicht koennen die Cicerones in 
einigen Wochen einmal von ihren Erfahrungen berichten.

Zook.

-----------------------------------------------------------------------------



Re^10: Cicerones (Bran,  4. Jan 2005, 15:02:55):
~#! rn=Zook rt=1104846906 rg=entwicklung
~#! tid=1104845293
Wie waers mit einer Moeglichkeit fuer Mitteilungen unter Cicerones, in der Art
von zrufe? So dass man sich untereinander bei einem Hilferuf kurz bescheid
sagen kann, wenn man grad nicht kann, oder dass man uebernimmt?

-----------------------------------------------------------------------------



Re^11: Cicerones (Maharet,  4. Jan 2005, 15:03:19):
~#! rn=Bran rt=1104847375 rg=entwicklung
~#! tid=1104845293
Ich hatte ne Ebene gemacht, die aber offenbar keinen interessiert ;)

-----------------------------------------------------------------------------



Re^12: Cicerones (Gloinson,  4. Jan 2005, 16:10:37):
~#! rn=Maharet rt=1104847399 rg=entwicklung
~#! tid=1104845293
Waer noch schoen wenn in der Loginsequenz auch stuende, wie der Spieler diesen
Status erneut prueft (kwer cicerones), da durchaus zehn Minuten vergehen
koennen bevor der Neuling sich entscheidet wen zu fragen.


-----------------------------------------------------------------------------



Re^13: Cicerones (Ark,  4. Jan 2005, 16:13:17):
~#! rn=Gloinson rt=1104851437 rg=entwicklung
~#! tid=1104845293
Also ich stimme erstmal Zook zu, dass wir jetzt nicht die Neulinge mit lauter
Hilfsbereitschaft so zukleistern, dass sie das Denken und Selberrausfinden
ganz abschalten. Wenn sich im Laufe der Zeit noch nuetzliche Verbesserungen
ergeben, dann koennen wir die sicher noch einbauen. Nach Selbsttest finde ich
das schon sehr schoen.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^13: Cicerones (Zook,  4. Jan 2005, 18:49:30):
~#! rn=Gloinson rt=1104851437 rg=entwicklung
~#! tid=1104845293
Done.

Zook.

-----------------------------------------------------------------------------



Re^14: Cicerones (Liara,  5. Jan 2005, 20:18:46):
~#! rn=Zook rt=1104860970 rg=entwicklung
~#! tid=1104845293
Antwort ist zufaellig. :)

Ich finde es gut, dass bei der Newbiehilfe etwas in Gang kommt. Ich habe dazu
2 Vorschlaege:

1. Ich waere dafuer, dass bei Idlezeiten von j oder J die Ciceroneanzeige
inaktiv wird, auch ohne dass man es nachher wieder setzen muss.

2. Ich erinnere mich dunkel, dass Froesche im kwer gruen angefaerbt werden.
Ich faende es schoen, wenn man fuer die Cicerones auch eine Farbe finden
wuerde.

ZLL, Cicerone aus Leidenschaft

-----------------------------------------------------------------------------



Re^15: Cicerones (Liara,  5. Jan 2005, 20:42:56):
~#! rn=Liara rt=1104952726 rg=entwicklung
~#! tid=1104845293
Sorry, noch eine kleine Sache:

Mir ist aufgefallen, dass auch Magier den Cicerone setzen koennen bzw. gesetzt
haben.. Ich halte das fuer wenig gluecklich! :)

-----------------------------------------------------------------------------



Re^16: Cicerones (Bran,  5. Jan 2005, 20:45:24):
~#! rn=Liara rt=1104954176 rg=entwicklung
~#! tid=1104845293
Warum?

-----------------------------------------------------------------------------



Re^17: Cicerones (Maharet,  5. Jan 2005, 20:45:36):
~#! rn=Bran rt=1104954324 rg=entwicklung
~#! tid=1104845293
Spielerhilfe?

-----------------------------------------------------------------------------



Re^18: Cicerones (Bran,  5. Jan 2005, 20:45:58):
~#! rn=Maharet rt=1104954336 rg=entwicklung
~#! tid=1104845293
Inwiefern widerspricht sich das?

-----------------------------------------------------------------------------



Re^17: Cicerones (Liara,  5. Jan 2005, 20:46:36):
~#! rn=Bran rt=1104954324 rg=entwicklung
~#! tid=1104845293
Spielerhilfe. Irgendwie sollte man das dann doch trennen. Das ist eine
Spielersache. Ich denke,dass Magier sicher Kleinigkeiten erklaeren koennen und
moechten, aber auch, um den Newbies da gleich den Unterschied klar zu machen,
finde ich es besser, wenn das nicht geht.

-----------------------------------------------------------------------------



Re^18: Cicerones (Chagall,  5. Jan 2005, 20:49:48):
~#! rn=Liara rt=1104954396 rg=entwicklung
~#! tid=1104845293
Ich glaube, die Magier, welche sich den Cicerone-Status setzen wissen
ziemlich genau, wieviel sie helfen duerfen, ohne dass gleich jemand
laut Spielerhilfe schreit.

MC

-----------------------------------------------------------------------------



Re^18: Cicerones (Anatol,  5. Jan 2005, 20:50:16):
~#! rn=Liara rt=1104954396 rg=entwicklung
~#! tid=1104845293
Die Grundprinzipien des Muddens kann auch ein Magier vermitteln, ohne
gegen seinen virtuellen Vertrag zu verstossen. Und nur darum geht es - 
wer konkrete Tips geben will, macht auch als Spielerzitze was falsch.

Dass es zwischen KL und Grundprinzipien stufenlos Grautoene gibt, ist
mir klar. Aber ein Magier kann selbst entscheiden, wie weit er da 
gehen moechte.

Anatol

-----------------------------------------------------------------------------



Re^18: Cicerones (Bran,  5. Jan 2005, 20:50:20):
~#! rn=Liara rt=1104954396 rg=entwicklung
~#! tid=1104845293
Welchen Unterschied meinst du, was genau sollte man trennen? Magier-Cicerones
wuerden ja nicht mit Magier-Wissen helfen, sondern genau so wie andere auch. 

-----------------------------------------------------------------------------



Re^19: Cicerones (Liara,  5. Jan 2005, 20:50:54):
~#! rn=Chagall rt=1104954588 rg=entwicklung
~#! tid=1104845293
Mag sein. Waere schoen, wenn das nu net gleich wieder als Angriff
interpretiert werden wuerde, denn sow ar es nicht gemeint. Es geht mir darum,
dass man und vor allem die Newbies sich den Unterschied klarmachen. Immerhin
ist das eine Spieleraufgabe! :)

-----------------------------------------------------------------------------



Re^20: Cicerones (Bran,  5. Jan 2005, 20:51:24):
~#! rn=Liara rt=1104954654 rg=entwicklung
~#! tid=1104845293
1. Tut glaube ich keiner, 2. Ich weiss immer noch nicht, welchen Unterschied
Du eigentlich meinst.

-----------------------------------------------------------------------------



Re^21: Cicerones (Pitfall,  5. Jan 2005, 20:51:56):
~#! rn=Bran rt=1104954684 rg=entwicklung
~#! tid=1104845293
Dass die kleinen Spieler nicht von Anfang an
lernen immer einen Magier zu fragen, wenn
sie nicht weiterkommen?

Pit*

-----------------------------------------------------------------------------



Re^22: Cicerones (Bran,  5. Jan 2005, 20:52:26):
~#! rn=Pitfall rt=1104954716 rg=entwicklung
~#! tid=1104845293
Wie konstruktiv :)

-----------------------------------------------------------------------------



Re^23: Cicerones (Liara,  5. Jan 2005, 20:54:40):
~#! rn=Bran rt=1104954746 rg=entwicklung
~#! tid=1104845293
Ja. Generell sind fuer sowas meiner Meinung nach Spieler zustaendig. Ich
beziehe mich hier konkret auf das Beispiel aus der Hilfe. Wie dort schon
drinsteht, ist es eine Aufgabe, die zeitintensiv ist. Es geht eben nicht nur
drum, dass man kurz die absoluten Grundlagen erklaert.

-----------------------------------------------------------------------------



Re^24: Cicerones (Bran,  5. Jan 2005, 20:55:24):
~#! rn=Liara rt=1104954880 rg=entwicklung
~#! tid=1104845293
Warum sollten dafuer nur Spieler zustaendig sein? Was dein zweites Argument
betrifft: das sollte der betreffende Magier doch selber wissen.

-----------------------------------------------------------------------------



Re^25: Cicerones (Anatol,  5. Jan 2005, 21:04:22):
~#! rn=Bran rt=1104954924 rg=entwicklung
~#! tid=1104845293
a) Von einem Einfaerben der Zitzen halte ich nichts. Wegen mir kann auch
das Froschgruen raus, das nervt nur. Wer von einem Frosch was mitgeteilt
kriegt, ist mir "kwer frosch" eh besser bedient. Dasselbe gilt fuer
genausogut fuer "kwer cicerone", was der Newbie beim Einloggen mitgeteilt
kriegen kann und in "hilfe einfuehrung" (letzte Aenderung 2001 von
Nachtwind *glucks*) erklaert wird.

b) Ein Ausblenden der idelnden Cicerones ist in meinen Augen Unfug. Ein
Hinweis auf die lange Untaetigkeit und den Umstand, dass vielleicht
keine Antwort (oder eine solche nur verzoegert) kommt, reicht voellig
aus, zwingt idle-Mitleser, die Cicerones aus Passion sind, nicht zu
Anti-Agi^H^H^HIdle-Trigger und erspart auch "Oh, eben hab ich Dich gar
nicht als Cicerone gesehen!"-Halbfragen.

Anatol

-----------------------------------------------------------------------------



Re^26: Cicerones (Liara,  5. Jan 2005, 21:05:30):
~#! rn=Anatol rt=1104955462 rg=entwicklung
~#! tid=1104845293
Zu was soll denn ein idelnder Cicerone gut sein bitte?

-----------------------------------------------------------------------------



Re^27: Cicerones (Anatol,  5. Jan 2005, 21:11:38):
~#! rn=Liara rt=1104955530 rg=entwicklung
~#! tid=1104845293
*seufz* *vorkau*

Damit diejenigen, die sich als Cicerone eingetragen haben, das Fenster aber
halb unter dem TV-Fenster (oder GIMP oder einem Editor oder einem Tontie)
liegen haben, nach wie vor als Cicerone angesprochen und im Bedarfsfall,
vielleicht dankbar fuer die Abwechslung und Aufgabe, taetig werden koennen.

Anatol

-----------------------------------------------------------------------------



Re^28: Cicerones (Liara,  5. Jan 2005, 21:13:08):
~#! rn=Anatol rt=1104955898 rg=entwicklung
~#! tid=1104845293
Vielen Dank, lieber Anatol, dass du die Guete hast, deine andere Meinung so
gutgelaunt und wohlwollend in die MPA zu schreiben! :)

-----------------------------------------------------------------------------



Re^29: Cicerones (Gloinson,  6. Jan 2005, 01:31:21):
~#! rn=Liara rt=1104955988 rg=entwicklung
~#! tid=1104845293
(a) Magier sind Spieler
 Programmiertechnisch ausgedrueckt:
  /std/shells/magier erbt von /std/player/base
 Erfahrungstechnisch erzaehlt:
  Ich helfe regelmaessig Spielern auf Kanaelen oder persoenlich, auch
  wenn ich dafuer das obligatorische, humorvoll gemeinte "Magierhilfe!"
  von einigen ernte.

(b) Idler sind Helfer
 Abgesehen vom Szenario des arbeitenden Helfers der nur reagiert wenn
 er angesprochen wird gibt es noch dass Szenario des bereitwilligen
 und netten aber gerade idlenden Helfers dessen Name dennoch beim
 Neuling haengenbleibt und den er spaeter anspricht, "weil der ja
 vorhin auch schon da war".


-----------------------------------------------------------------------------



Re^31: Cicerones (Liara,  6. Jan 2005, 13:46:46):
~#! rn=Liara rt=1105015556 rg=entwicklung
~#! tid=1104845293
Hm, so erklaert, hat das Einiges fuer sich. :)

-----------------------------------------------------------------------------



Re^32: Cicerones (Foobar,  6. Jan 2005, 18:40:12):
~#! rn=Liara rt=1105015606 rg=entwicklung
~#! tid=1104845293
"cicerone idle aus" schaltet den Status beim Idlen aus, "cicerone idle an"
schaltet ihn nicht aus oder so.

Ist doch eine Superidee. Lobt mich!

-----------------------------------------------------------------------------



Re^33: Cicerones (Maharet,  6. Jan 2005, 18:43:00):
~#! rn=Foobar rt=1105033212 rg=entwicklung
~#! tid=1104845293
Ein guter Kompromiss. Proggst du das?

-----------------------------------------------------------------------------



Re^34: Cicerones (Foobar,  6. Jan 2005, 18:45:00):
~#! rn=Maharet rt=1105033380 rg=entwicklung
~#! tid=1104845293
Nein, mir fehlen die noetigen Rechte.

Deswegen konnte ich auch keinen Patch fuer die Klerus-Gilde einreichen.

Mist.

-----------------------------------------------------------------------------



Re^35: Cicerones (Gloinson,  6. Jan 2005, 18:55:51):
~#! rn=Foobar rt=1105033500 rg=entwicklung
~#! tid=1104845293
Dir fehlen die noetigen Rechte fuer "mail"? Uiui. Sofort loeschen.


-----------------------------------------------------------------------------



alias Erweiterung (Mesirii,  8. Jan 2005, 17:22:00):
Waere es moeglich, bei alias eine Erweiterung einzufuehren, so dass fuer die
Parameter auch Standardwerte vergeben werden koennen? So ala ${1-tutszt} wie
in ner Shell.
Danke
Mesi, Chaosehezwerg

-----------------------------------------------------------------------------



Re: alias Erweiterung (Muadib,  8. Jan 2005, 17:58:27):
~#! rn=Mesirii rt=1105201320 rg=entwicklung
~#! tid=1105201320
das waere moeglich

-----------------------------------------------------------------------------



Re: Re: alias Erweiterung (Orktoeter,  8. Jan 2005, 18:02:17):
~#! rn=Muadib rt=1105203507 rg=entwicklung
~#! tid=1105201320
"Chaosehezwerg".. klingt fast wie Schmusezwerg.. echt suess!

OrkT.

-----------------------------------------------------------------------------



Re^3: alias Erweiterung (Kellybundy,  8. Jan 2005, 18:05:39):
~#! rn=Orktoeter rt=1105203737 rg=entwicklung
~#! tid=1105201320
Ist aber ein Oxymoron.

-----------------------------------------------------------------------------



Kleine Syntax-Aenderung bei "cicerone" (Zook, 11. Jan 2005, 21:20:16):
Das Verhalten von "cicerone" ist nun dem von "inform" angepasst. Wenn man
keinen Parameter uebergibt, wird einem nur der aktuelle Zustand angezeigt.

Zook.

-----------------------------------------------------------------------------



Re: Kleine Syntax-Aenderung bei "cicerone" (Zook, 11. Jan 2005, 21:20:48):
~#! rn=Zook rt=1105474816 rg=entwicklung
~#! tid=1105474816
Wie immer aktiv nach Ende/Reboot/Crash.

Zook.

-----------------------------------------------------------------------------



Nicht der Rede wert... (Zook,  9. Mar 2005, 22:42:58):
... der Code des Planeditors wurde ein wenig aktualisiert, die Syntax
etwas vereinheitlicht und ein paar Typos entfernt. Dies nur zur Kenntnisnahme;
falls mit dem Ding also komische Sachen passieren sollten, koennte die 
an dieser Ueberarbeitung liegen. In dem Fall bitte eine Nachricht an mich.
Thx. an Gabylon fuer die Vorarbeiten.

Zook.

-----------------------------------------------------------------------------



Re^16: Erfahrungen mit Cicerone (Catweazle,  7. Apr 2005, 08:41:40):
~#! rn=Bambi rt=1112825574 rg=allgemeines
~#! tid=1110808632
Mir scheint, dass bei einigen der subjektive Hass auf WoW sie daran hindert
objektiv ueber Uebernahme von Konzepten nochzudenken. Ich halte es alles
andere als verkehrt gute Ideen, die anderswo auftauchen ins eigene Mud zu
implemenetieren.

Ich moechte die Idee des Bind-on-Equip nochmal aufgreifen.

Ich halte das bei WoW fuer eine sehr sehr effektive Methode zu verhindern,
dass die Spielwelt mit hochleveligen Objekten vollgemuellt wird. Ebenso die
Bindung an einen Mindestlevel der besseren Objekte. 
Mit diesen Methoden koennte man verhindern, dass nach 30 Tagen uptime jeder
Zweitie und Anfaenger mit nem Schwertmeisterschwert (man moege mir meine
Unkenntnis der aktuell grossartigsten Waffe verzeihen) rumlaeuft.

Jetzt haben manche gesagt "hammwer doch schon alles", aber ich finde das ist
nicht konsequent umgesetzt. Es mag mit Setzen von NEVERDROP wohl einige
Inselloesungen geben die eine Art Bind-on-Equip simulieren, aber um das
konsequent durchzusetzen muesste man das Mudlibseitig implementieren und den
Magiern anbieten. Aehnliches gilt fuer die Levelbindung, die wenigsten
Objekten machen auch wirklich eine wie auch immer geartete Abfrage auf den
Level des Spielers.

YTC

-----------------------------------------------------------------------------



Konzeptuebernahme zur Spielergewinnung (Catweazle,  7. Apr 2005, 08:41:48):
~#! on=Catweazle ot=1112855966 og=entwicklung
~#! on=Catweazle ot=1112855888 og=diskussion
Und wo wir schon bei der Konzeptuebernahme sind:

Es mag ein Aprilscherz gewesen sein, aber ich fand die Idee mit nem
HC-MorgenGrauen, also wo man wirklich nur einmal sterben darf und dann ist
Ende gar nicht verkehrt. Es mag bei Diablo2 geklaut sein, aber na und?

Spieler brauchen Herausforderungen. Klebt an die HC-Spieler eine schoene
Topliste dran. Auch wenn die Toplistengeilheit hier oft verpoehnt wird,
effektiv faengt man genau damit Spieler. Meinetwegen kann man auch die
Ladder-Idee von Diablo2 uebernehmen, und die Topliste regelmaessig loeschen
und neustarten.

Lets get it on :-)

YTC

-----------------------------------------------------------------------------



Re: Konzeptuebernahme zur Spielergewinnung (Wurzel,  7. Apr 2005, 09:18:10):
~#! rn=Catweazle rt=1112856108 rg=entwicklung
~#! tid=1112856108
dass das mg nicht auf hardcorespieler ausgelegt ist, ist dir aber schon klar?
ich moechte gar nicht darueber nachdenken, welche diskussionen ueber die
vielen "unfairen" tode es dann gibt... und was es fuer eine arbeit ist, das
mg hardcorefaehig zu machen. am besten man stellt alle charaktere darauf um,
dann gibt es in kurzer zeit eh nur noch magier hier.

-----------------------------------------------------------------------------



Re: Re: Konzeptuebernahme zur Spielergewinnung (Catweazle,  7. Apr 2005, 09:32:45):
~#! rn=Wurzel rt=1112858290 rg=entwicklung
~#! tid=1112856108
Ich wusste, dass das kommt :-)

Meine Antwort ist wieder: So what?

Wenn du HC spielst, weisst du, was dich erwartet. Und du weisst, dass es
unfaire Stellen gibt, an denen du spontan sterben kannst. 
Niemand hindert dich daran, dass MG erstmal mit Softcore erkunden, damit du
genau diese Stellen mit HC meiden kannst. Musst du bei D2 genauso machen. 

Und jammern und weinen ueber dummes Sterben gehoert zum HC-Modus dazu :-)

YTC

-----------------------------------------------------------------------------



Re^3: Konzeptuebernahme zur Spielergewinnung (Bambulko,  7. Apr 2005, 10:18:47):
~#! rn=Catweazle rt=1112859165 rg=entwicklung
~#! tid=1112856108
Wenn schon HC, dann sollte man den Spielern dafuer aber auch etwas bieten. Wie
waere es, wenn HC-Spieler schon mit besseren Stats anfangen, und schneller die
Gildenfaehigkeit lernen koennen. Dann waere das eine echte alternative, die
spass machen kann. So wie es jetzt ist, ist es total sinnlos.

Bambulko

-----------------------------------------------------------------------------



Re^4: Konzeptuebernahme zur Spielergewinnung (Highlander,  7. Apr 2005, 10:26:09):
~#! rn=Bambulko rt=1112861927 rg=entwicklung
~#! tid=1112856108
Und ich wage zu bezweifeln, dass es Hardcore-Chaoten geben wird *g*

HrT

-----------------------------------------------------------------------------



Re^5: Konzeptuebernahme zur Spielergewinnung (Taranis,  7. Apr 2005, 10:29:43):
~#! rn=Highlander rt=1112862369 rg=entwicklung
~#! tid=1112856108
Das MG ist IMHO voellig ungeeignet fuer Hardcorespieler. Und wenn man es
entsprechend umbauen will, ist das sicherlich einiges an Arbeit bzw. ein halb
neues Mud.

Taranis

-----------------------------------------------------------------------------



Re^6: Konzeptuebernahme zur Spielergewinnung (Wurzel,  7. Apr 2005, 10:31:18):
~#! rn=Taranis rt=1112862583 rg=entwicklung
~#! tid=1112856108
was vom mg dann noch uebrig bleibt, sind die details. immerhin :)

-----------------------------------------------------------------------------



Re: Konzeptuebernahme zur Spielergewinnung (Croft,  7. Apr 2005, 10:31:36):
~#! rn=Catweazle rt=1112856108 rg=entwicklung
~#! tid=1112856108
Naja.  Ich denke das HC im MG wenig sinnvoll ist.  Falls man das aehnlich
wie in D2 regelmaessiger betreiben wuerde, wuerden bestimmte
Handlungsablaeufe zur Routine werden und entsprechend auch die Spieler
in Richtung Vollskript werden lassen.  Ist zwar verboten, aber ich
wuerde trotzdem eine deutliche Zunahme erwarten, falls HC "ernsthaft"
betrieben wird.  Und ich denke nicht das soetwas gewollt ist. 

Croft

-----------------------------------------------------------------------------



Re: Re: Konzeptuebernahme zur Spielergewinnung (Requiem,  7. Apr 2005, 10:40:20):
~#! rn=Croft rt=1112862696 rg=entwicklung
~#! tid=1112856108
Es sind doch schon prima Vorschlaege gekommen, denen ich mich ohne weiteres
anschliessen wuerde.Zusammenfassend:

- eine Aktualisierung der Webseiten:
  die jetztigen Webseiten sind eine Katastrophe und wuerden mich als
Neubesucher allenfalls abschrecken,aber sicher nicht zum Spielen verleiten.
Zumal dann, wenn da etliche Seiten einen 404 produzieren, das Flashplugion
nicht funktioniert etc. Dass das historisch so verwachsen ist interessiert
mich als neuen Spieler nicht und ich kann es auch nicht wissen.
  
- Client bereitstellen:
  Halte ich fuer eine ausgezeichnete Idee. Vorkonfigurierte Pakete, die nur
entpackt / installiert werden muessen. Ich wuerde da am besten mehrere zur
Auswahl bieten: tf fuer Linux und Windows, ZMud und MushClient verlinken und
  ein Konfigurationspaket zur Verfuegung stellen. Mich selbst hat tf naemlich
anfangs wegen der fehlenden GUI und auf den ersten Blick umstaendlichen
Konfiguration ganz schoen abgeschreckt.
  
- Interaktives Tutorial:
  Super, wenn daran schon gearbeitet wird. Anschliessen, besser gestern als
heute ;) Das MG ist nicht einfach zu erlernen, und die Einarbeitung sollte
Spass machen. Wenn ich mir hier mal alle Jubeljahre ein neues RPG oder
Strategiespiel installiere und das mit tausend Funktionen ueberladen ist freue
ich mich ueber ein "learning-by-doing"-Tutorial, weil es mir das staendige
Handbuchlesen oder trial and error erspart. Warum sollte das hier im MG anders
sein?
  
- Cicerones sind schonmal eine tolle Idee. Vielleicht koennte man noch    
  mudlibseitig einbauen, dass der Befehl erwaitert wird:
  "cicerone ein 5" koennte einen zum Cicerone machen und nach 5 Minuten
idlezeit den Modus deaktivieren und bei der naechsten Eingabe wieder
aktivieren, das erspart Newbies frustrane Anfragen an idlende Cicerones.
  Weitere Optionen sind denkbar, zum Beispiel automatisches Abschalten des
Ciceronemodus bei gesetzter wegmeldung oder bei Aufnahme des Spielers in ein
Team.
  
Gruss,
Requiem

-----------------------------------------------------------------------------



Re^3: Konzeptuebernahme zur Spielergewinnung (Bambulko,  7. Apr 2005, 10:53:01):
~#! rn=Requiem rt=1112863220 rg=entwicklung
~#! tid=1112856108
Zum interaktiven Tutorial: Ich denke es ist sehr wichtig da Erfolgserlebnisse
fuer den neuen Spieler einzubauen. Denn das ist das wichtigste fuer neue
Spieler. Der neue Spieler sollte in eine Gegend kommen, wo er gefuehrt wird,
schon ein oder zwei Zaubertraenke findet, etwas Ausruestung bekommt, FPs
finden kann und seine ersten Monster erlegen kann. Vieleicht kann man auch
eine kleine Mini-quest einbauen, so dass der neue Spieler am Ende des
Tutorials schon ein-zwei Stufen aufsteigen kann.

Die Raeume sollten auch nicht zu detailreich gestaltet sein. Als neuer Spieler
will man schnell weiterkommen und neues kennenlernen und nicht pro Raum eine
halbe Stunde brauchen.

Bambulko

-----------------------------------------------------------------------------



Re^4: Konzeptuebernahme zur Spielergewinnung (Cornholio,  7. Apr 2005, 12:14:12):
~#! rn=Bambulko rt=1112863981 rg=entwicklung
~#! tid=1112856108
Zu Rangorn (Thema Karte):
Eine Karte in der Detailstaerke ist noch okay,
es sind ja quasi nur die Hauptstrassen zu erkennen;
viele (Quest-)Gebiete sind garnicht erwaehnt.
(Was wahrscheinlich auch af das Alter der Karte zurueckzufuehren ist.)
Ich glaub mittlerweile auch, dass die Karten, die auf den Webseiten
ausgestellt sind, ausreichen fuer den Anfang.
Denn sie verraten eigentlich nichts bis auf die ungefaehre Richtung.
<schleimmodus>Habe ich schon gesagt, wie toll ich Deine Karte
finde?:)</schleimmodus>

Zu Requiem (Cicerone):
Tolle Idee mit der optionalen Zeitangabe:
cicerone ein 15

Zu Amynthor und der Client-Diskussion:
Gerade um neue Mudder zu werben, sollte man Vorzuege in
den Vordergrund stellen.
Und eines davon ist mit Sicherheit die Minimalanforderung an die Technik
clientseitig. Spielt man beispielsweise WoW, muss man staendig
seinen Key rumschleppen plus den Riesenclient.

Eventuell sollte man, wenn man schon Fertig-Losleg-Pakete anbietet, auch
einen Minimalist-Package anbieten mit PuTTy o.ae. und einer Readme dazu,
in der steht, wo PuTTy aktualisiert werden kann und
wie man loslegt. (Ach ja, und vorkonfigurieren kann man das auch.)

Jemand, der *nix benutzt oder BSD oder wie auch immer, wird schon eher damit
klarkommen.


-----------------------------------------------------------------------------



Re^5: Konzeptuebernahme zur Spielergewinnung (Whitetiger,  7. Apr 2005, 20:05:46):
~#! rn=Cornholio rt=1112868852 rg=entwicklung
~#! tid=1112856108
Der Vorteil an Ein-Datei-Clients (wie Putty-Telnet, u.a.) ist, dass man sie
direkt aus dem Internet starten kann und nicht immer erst auf Platte
speichern, entpacken etc. muss....

-----------------------------------------------------------------------------



Re^17: Erfahrungen mit Cicerone (Bambi,  7. Apr 2005, 20:44:53):
~#! rn=Catweazle rt=1112856100 rg=entwicklung
~#! tid=1110808632
Da Du Dich auf meinen Artikel beziehst, nehme ich an, dass Du _mir_ Hass auf
WoW unterstellst. Selbst wenn ich einen wie auch immer gearteten Hass auf WoW
haette, was nicht so ist, dann bleiben meine Kritikpunkte dennoch bestehen.
Die Uebernahme von Konzepten, die nicht umsetzbar sind oder ueberhaupt nicht
ins MUD passen, werden nicht dazu fuehren, dass WoW-Spieler auch fuer
das/unser MUD zu begeistern sind.

Die konsequent(er)e Umsetzung von "bind on equip"-Loesungen mag ein guter Weg
sein, das MUD interessanter zu gestalten, jedoch hat die Idee nichts, aber
auch gar nichts mit "von WoW klauen" zu tun. WoW ist lediglich ein populaeres
Spiel, bei dem die konsequente Umsetzung erfolgreich war.

Wenn Du mir negative Gefuehle unterstellen willst, dann bitte Unmut ueber
diverse Epidemien ala "Das neue Spiel XY ist ganz toll. Ich finde das Spiel so
superendgeil, dass ich fast an nichts anderes mehr denken kann und das erst
mal bis zur Vergasung daddeln muss. Ich will genau dieses Feeling auch im MG
haben und jetzt versuche ich, dort alle in XY umgesetzten Konzepte
einzubauen."
Sowas hatten wir schon des oefteren und bei den wenigsten Diskussionen kamen
sinnvolle, uebernehmbare Konzepte zustande, die nicht sowieso schon zu
irgendeiner Zeit einmal ohne den Hype vorgeschlagen worden waren.

Ich betone gerne noch einmal: ich habe ueberhaupt nichts dagegen, wenn man ein
Konzept, das man in einem anderen Spiel sieht, das im MG nicht existiert, dort
aber gut hinpassen wuerde, hier zur Diskussion stellt und uebernimmt.

MfG, Bambi.

-----------------------------------------------------------------------------



Re^18: Erfahrungen mit Cicerone (Gloinson,  7. Apr 2005, 20:54:48):
~#! rn=Bambi rt=1112899493 rg=entwicklung
~#! tid=1110808632
Hat Bambi mit dem Terminus "Vergasung" jetzt eigentlich Godwins Gesetz
erfuellt?


-----------------------------------------------------------------------------



Re^19: Erfahrungen mit Cicerone (Cornholio,  7. Apr 2005, 22:43:29):
~#! rn=Gloinson rt=1112900088 rg=entwicklung
~#! tid=1110808632
Irgendwann hat jemand mal gesagt (Suedostasien?):
"Fuerchte Dich nicht vor der Veraenderung. Fuerchte Dich
vor dem Stillstand."
Ein wenig umkrempeln ist ja gut,
aber mal ehrlich:
Die Seiten des MG sind doch gut und die Navigation stimmt soweit.
Contentmaessig koennte noch etwas mehr in der Hilferubrik sein (s.
Diskussion),
aber ansonsten nichts, was potentielle Neumudder abhaelt, oder?
Zum Hilfecontent: Einfach nur paar mehr Informationen zu verfuegbaren Clients
(Pur Telnet plus MUD-Clients) hinzufuegen et voila fuer's erste.

Habe mir gerade (unwissenschaftlich) die Statistiken angeguckt und
glaube festgestellt zu haben, dass es seit 2004 einen rueckwaertigen Trend
gibt. Hat sich das jemand mal genauer angesehen?
Gibt es Erklaerungsversuche (jetzt nicht nur "WoW ist schuld") und
Deutungen? Oder empfinden die Vollblutstatistiker von euch das anders?


-----------------------------------------------------------------------------



Die Client-Serie, heute: PuTTY (Cornholio,  7. Apr 2005, 23:40:57):
Wir koennen ja Naegel mit Koepfen machen und Seiten fuer die Clients
kreieren. Hier ein Vorschlag fuer PuTTY.
Eventuell koennte man ja eine eigene Rubrik zum Sammeln aufmachen.
+++++++++++++++++
PuTTY
=====

PuTTY ist ein Telnet/SSH-Client fuer Windows.
Er ist sehr schlank (kleiner als 500kb) und sehr schnell
und stabil.

Besondere Merkmale:
-------------------
Copy&Paste sind sehr schoen implementiert:
Das mit der Maus Markierte wird automatisch in
den zwischenspeicher kopiert und kann jederzeit
mit der rechten Maustaste eingefuegt (natuerlich
am Cursor) werden.

Betriebssysteme:
----------------
Laeuft auf allen gaengigen Windowsversionen auf einem
"normalen" PC (x86-basiert, NT mit Alphaunterstuetzung).

Dateien:
--------
Es muss nichts installiert werden.
PuTTY kommt als einzelne Datei und kann sofort ausgefuehrt werden.

MUD-spezifische Eigenschaften:
------------------------------
keine (keine Trigger, keine Skripte)
Workaround fuer fehlende Skriptunterstuetzung:
Wege aufzeichnen und als Text speichern
(s. "lang" und "ultrakurz"), dann per Copy&Paste
einfuegen.

Schnellkonfiguration:
---------------------
[Host Name (or IP address):]
mg.mud.de
[Port]
23
[Protocol]
Telnet

Anschliessend auf "Load, save or delete a stored session"
und beispielsweise "MorgenGrauen" eingeben, "Save" betaetigen
und eben gemachten Einstellungen sind gespeichert.

Ein Doppelklick auf "MorgenGrauen" reicht beim naechsten Aufruf
zum Starten des Spiels.

Tipp:
Schriftart eventuell wechseln. (Ich bevorzuge Lucida Console,10p)
Dies geschieht unter Windows-->Appearance.


Fazit:
------
Klein und fein. Durchaus brauchbar auch fuer hohe Levels.
Allerdings ein reiner Telnet/SSH/RLogin-Client
ohne jegliche Unterstuetzung fuer MUDs.

Bezug:
------
http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html



Cornholiooooo

-----------------------------------------------------------------------------



Re^18: Erfahrungen mit Cicerone (Anatol,  8. Apr 2005, 00:10:47):
~#! rn=Bambi rt=1112899493 rg=entwicklung
~#! tid=1110808632

Ich komme nicht umhin, das Thema "Bind on Equip" und "Bind on Pick"
als "abgehandelt" zu betrachten, Vectors Artikel hat dies meiner
Meinung nach treffend zusammengefasst. Und WENN das Thema unbedingt
wieder aufgenommen werden muss, dann bitte mit entsprechend hoher
Komplexitaetsstufe. Ein Aspekt fuer sich allein zu betrachten und
mit dem Gedanken "In WoW ist's toll, warum nicht auch im MG?" zu
spielen, ist in etwa so wie Sex auf einem Nagelbrett haben zu 
wollen, weil es im Bett ja auch toll ist.

Ich persoenlich finde andere Aspekte interessanter.

z.B. die Distanz.

Man ist nicht mit /go huschhusch am anderen Ende des Universums.
Kann euch auch jeder HolyMission-Spieler bestaetigen: Der Spiel-
spass leidet nicht darunter, wenn man sich nicht beliebig schnell
fortbewegen kann. Im Gegenteil. Endlich wieder ein echtes Gefuehl
von Entfernung. Etwas, das, verglichen mit dem Ueberarbeiten der 
Combat, einfach umzusetzen waere, woellte man es gegen den recht
wahrscheinlich besitzstandwahrenden Willen der Spieler durchsetzen.


Oder Playerkill.

Die Spieler teilen sich auf in Allianz (Langweiler, Dreckspatzen, 
Kinder und Esel) und Horde (Kuehe, Wildschweine, Fische und 
Knochen). Es gibt hinsichtlich Spieler-gegen-Spieler zwei 
verschiedene Servertypen. Der PvE (Player vs. Environment) ist 
eigentlich der harmlosere, dort sieht die Sache so aus:

- Angehoerige der gleichen Fraktion koennen sie nur in explizit
vereinbarten Duellen (Herausforderung und Annahme) schlagen. 
Das Ende ist nicht Tod sondern Aufgabe.

- Jeder Spieler kann mit dem Befehl /pvp in den "Spieler gegen
Spieler"-Modus wechseln und wird fuer Spieler der anderen 
Fraktion angreifbar (d.h. "wird pvp").

- Manche NPCs sind pvp. Vornehmlich Stadtwachen und Quest-NPCs.
Klingt paradox, wird gleich klarer. :)

- Wenn ein Spieler einem pvp-aktiven Mitglied (egal ob Spieler oder
NPC) der feindlichen Fraktion angreift bzw. Schaden zufuegt, oder 
einen pvp-aktiven Angehoerigen (egal ob Spieler oder NPC) der 
eigenen Fraktion heilt/staerkt/..., wird auch er pvp.

- Der Pvp-Modus klingt fuenf Minuten nach der letzten 
pvp-Aktion ab.

In der Schlussfolgerung kann man auf eigenem Gebiet nicht mal
eben von einer Horde Horde ueberrannt und umgehauen werden,
da sie einen nicht in den pvp-Modus zwingen koennen; nichts-
destotrotz kann man seine Stadt verteidigen (riskiert dabei
aber dann sein Leben).... andererseits aber mit einer 
Ueberfallgruppe mal eben eine feindliche Stadt von NPCs
befreien - wenn der Widerstand von Spielerseite nicht doch
zu schnell formiert ist.

Hiesse fuer das Morgengrauen: Wenn ein daemlicher Dunkelelf
in der Elfensiedlung Streit sucht, duerfen die Elfenspieler
ihren Wachen helfen und ... nunja, am Dunkelelf sterben, 
bloede Gildenbalance. ;) Der Dunkelelf auf weiter Flur oder
gar Zuhause ist aber vor Uebergriffen sicher, wenn er selbst
nicht vorher Streit gesucht hat. Waere das MG nicht so 
pvp-feindlich ausgelegt, es waere eine nette Option und 
wuerde ENDLICH eine saubere Loesung fuer die Einfuehrung
anders gesinnter Rassen bieten.

Die Gedanken dazu sind nicht ausgegoren (vgl. dazu das obige
Nagelbrett ;)), eventuell aber verfolgenswert.

Anatol


-----------------------------------------------------------------------------



Re: Die Client-Serie, heute: PuTTY (Gralkor,  8. Apr 2005, 06:18:04):
~#! rn=Cornholio rt=1112910057 rg=entwicklung
~#! tid=1112910057
PuTTY gibt es fuer jedes aktuelle OS...
Auch wenn es die MEISTEN nur  unter Windows nutzen, um SSH zu nutzen.
G.

-----------------------------------------------------------------------------



Re^19: Erfahrungen mit Cicerone (Gloinson,  8. Apr 2005, 07:51:56):
~#! rn=Anatol rt=1112911847 rg=entwicklung
~#! tid=1110808632
Dass Bewegung nicht unendlich schnell unendlich lange gehen muss zeigt die
wetierhin existierende Spielerbeteiligung im SL, die da so leichte
Einschraenkungen haben.


-----------------------------------------------------------------------------



Re^18: Erfahrungen mit Cicerone (Catweazle,  8. Apr 2005, 08:33:32):
~#! rn=Bambi rt=1112899493 rg=entwicklung
~#! tid=1110808632
Ausgezeichnet. Dann sind wir uns ja einig :-)

Ich wollte lediglich vermeiden, das eine vermeintlich gute Idee von Anfang
zerrissen wird, nur weil sie in einem anderen Spiel schon benutzt wird, und
habe deshalb versucht die Diskussion darum nochmal neuzustarten.

Es ging mir um "Bind-on-Equip" ist eine gute Idee, die wir vielleicht gut
gebrauchen koennten und ich wollte den Balast "WoW-Spieler fangen wir damit
sowieso nicht" loswerden.

YTC

-----------------------------------------------------------------------------



Re^20: Erfahrungen mit Cicerone (Muadib,  8. Apr 2005, 10:00:23):
~#! rn=Cornholio rt=1112906609 rg=entwicklung
~#! tid=1110808632
die seiten sind grauslig und die navigation fuehrt bei etwas tiefergehender
benutzung in untiefen, die laaaaaaaaang zurueckliegen

-----------------------------------------------------------------------------



Re^19: Erfahrungen mit Cicerone (Dhojakt,  8. Apr 2005, 14:37:44):
~#! rn=Anatol rt=1112911847 rg=entwicklung
~#! tid=1110808632
Ich wollte mal anmerken, dass ich MG (auch) spiele, weil man so schnell
rennen kann wie es geht. Wenn einer ein MUD spielen will, wo er per
default nicht so schnell langrennen kann soll er halt wechseln, mich
jedenfalls wuerde so eine Begrenzung nerven.

Khidar.

-----------------------------------------------------------------------------



Re^20: Erfahrungen mit Cicerone (Grimmborn,  8. Apr 2005, 14:39:38):
~#! rn=Dhojakt rt=1112963864 rg=entwicklung
~#! tid=1110808632
Wenn Du Dich so schnell bewegen koennen willst, weil das fuer Dich der
Hauptspass am Spiel ist, kannst Du immer noch Magier werden. Ansonsten wuerde
ich Deinen Beitrag in die "Bestitzstandswahrungsansprueche der Spieler, die es
zu ueberwinden gilt" stecken.

GdA

-----------------------------------------------------------------------------



Re^20: Erfahrungen mit Cicerone (Gloinson,  8. Apr 2005, 14:40:28):
~#! rn=Dhojakt rt=1112963864 rg=entwicklung
~#! tid=1110808632
Als du angefangen hast zu spielen konntest du auch nur so schnell rennen wie
das Lag erlaubte. Dafuer gab es dann Sehertore. Also: zurueck den Sehertoren.

Wenn du meinst, dass die technische Seite das ja jetzt erlaubt ... gut, die
technische Seite erlaubt auch, alls 0.1 Sekunden einen HB durchlaufen zu
lassen. Da werden die Kaempfe auch endlich mal schneller.


-----------------------------------------------------------------------------



Re^21: Erfahrungen mit Cicerone (Dhojakt,  8. Apr 2005, 15:02:25):
~#! rn=Gloinson rt=1112964028 rg=entwicklung
~#! tid=1110808632
Jeder spielt halt das MUD, mit dem er sich anfreunden kann.
Ich habe jedenfalls keine Lust, alle 3 Wegbefehle 'ueber meine
eigenen Fuesse zu stolpern'.

Khidar.

-----------------------------------------------------------------------------



Re^22: Erfahrungen mit Cicerone (Gloinson,  8. Apr 2005, 15:10:55):
~#! rn=Dhojakt rt=1112965345 rg=entwicklung
~#! tid=1110808632
Ah, du hast schon eine fertige Implementation fuer die Idee. Sag das doch.


-----------------------------------------------------------------------------



Re^22: Erfahrungen mit Cicerone (Gloinson,  8. Apr 2005, 15:21:38):
~#! rn=Dhojakt rt=1112965345 rg=entwicklung
~#! tid=1110808632
Mal im Ernst. Nur weil ich das SL anfuehre, heisst das nicht, dass wir wie im
SL umsetzen. Eigentlich immer wieder die Grundlage der Diskussion, muss aber
wohl immer mal wieder gesagt werden.

Allerdings: wenn du im SL anfaengst herumzustolpern, dann bist du definitiv
schon ein wenig zu weit oder mit zu viel Gepaeck gerannt. Welche Kriterien
genau: keine Ahnung. Letztlich ist das aber der Zweck: Scripte nicht wie
bloede vom Kuehlschrank bis nach Umjak (es sei du bist nackig und hast
Ausdauer 100) und du stolperst nicht.


-----------------------------------------------------------------------------



Re^23: Erfahrungen mit Cicerone (Dhojakt,  8. Apr 2005, 15:45:41):
~#! rn=Gloinson rt=1112966498 rg=entwicklung
~#! tid=1110808632
Die Umsetzung aus dem SL kenne ich nicht, mir sind aber Versuche aus
dem Tapp bekannt.
Ich benutze(*) Scripte, damit ich nicht so viel tippen muss, und
erwarte (Vorsicht - Anspruchsdenken!), dass die auch nach einer
Umstellung ohne Klimmzuege noch funktionieren.
Die einzige Loesung, die mir momentan einfaellt, waere ein
Befehlsstack, der angenommen und mit Verzoegerung abgearbeitet
wird. Begeistert waere ich von einer solchen Loesung trotzdem
nicht, schliesslich will ich spielen und nicht vorm Rechner idlen.
Es sollte zumindest nicht langsamer sein als ich von Hand mit
geeigneten Aliases (Tasten 3ews fuer die Richtungen) tippen kann.

Khidar.
(*) Momentan bin ich zu Fuss unterwegs, weil ich erstmal wieder die
Gegenden erkunden muss, bevor ich mein Script irgendwohin schicke.

-----------------------------------------------------------------------------



Re^21: Erfahrungen mit Cicerone (Gabylon,  8. Apr 2005, 16:05:58):
~#! rn=Grimmborn rt=1112963978 rg=entwicklung
~#! tid=1110808632
und genau dort liegt das problem des schwindenden spielspasses.
es muesste heissen: "Bestitzstandswahrungsansprueche der Spieler, die es
zu beachten gilt".

gab

-----------------------------------------------------------------------------



Re^22: Erfahrungen mit Cicerone (Gloinson,  8. Apr 2005, 16:10:12):
~#! rn=Gabylon rt=1112969158 rg=entwicklung
~#! tid=1110808632
Nein.

Kommt jetzt noch ein "Doch." ? oder koennen wir das unter "Argument genannt"
ablegen?


-----------------------------------------------------------------------------



Re^23: Erfahrungen mit Cicerone (Gabylon,  8. Apr 2005, 16:11:26):
~#! rn=Gloinson rt=1112969412 rg=entwicklung
~#! tid=1110808632
nein, es kommt ein: jofseidankmachstdunurdokus.

-----------------------------------------------------------------------------



Re^24: Erfahrungen mit Cicerone (Gloinson,  8. Apr 2005, 16:12:50):
~#! rn=Gabylon rt=1112969486 rg=entwicklung
~#! tid=1110808632
Das sollte eher heissen: "JofseiDankmachstduDokus." Bei denen sind naemlich
auch nur die ganz wichtigen Dinge redundant und dann aus verschiedenen
Perspektiven formuliert.


-----------------------------------------------------------------------------



Re^24: Erfahrungen mit Cicerone (Dhojakt,  8. Apr 2005, 16:19:28):
~#! rn=Dhojakt rt=1112967941 rg=entwicklung
~#! tid=1110808632
Pardon, ich meinte natuerlich eine Befehlspipe.

-----------------------------------------------------------------------------



Re^23: Erfahrungen mit Cicerone (Turbo,  8. Apr 2005, 17:50:20):
~#! rn=Gloinson rt=1112965855 rg=entwicklung
~#! tid=1110808632
soso, warst also noch nie in fernwest :)

Turbo (Kater)

-----------------------------------------------------------------------------



Re^24: Erfahrungen mit Cicerone (Gloinson,  8. Apr 2005, 18:27:54):
~#! rn=Turbo rt=1112975420 rg=entwicklung
~#! tid=1110808632
Es gibt mehr als einen Weg dorthin ... Schlittern macht mehr Spass.


-----------------------------------------------------------------------------



Re^25: Erfahrungen mit Cicerone (Croft,  8. Apr 2005, 18:29:54):
~#! rn=Gloinson rt=1112977674 rg=entwicklung
~#! tid=1110808632
Sachen verlieren nicht.

Croft

-----------------------------------------------------------------------------



Re^26: Erfahrungen mit Cicerone (Anatol,  8. Apr 2005, 19:02:07):
~#! rn=Croft rt=1112977794 rg=entwicklung
~#! tid=1110808632
Ich kenne die SL-Implementierung (ach ;)), empfinde sie aber als
zu lasch - verglichen mit dem, was ich im Holy Mission erlebt habe.

Hier ist Distanz kein spielbeeinflussendes Kriterium mehr [1].

Anatol


[1] "mehr", weil es das frueher war. Erstens hatten alle ausser
den Muesteranern in 611 LAG ohne Ende, zweitens musste man den
Sermon immerhin noch runtertippen.


-----------------------------------------------------------------------------



Re^27: Erfahrungen mit Cicerone (Gloinson,  8. Apr 2005, 19:11:14):
~#! rn=Anatol rt=1112979727 rg=entwicklung
~#! tid=1110808632
Was du meinen mit "runtertippen"? Ich erinnere mich noch an die vor-tf-Zeit,
als bei Mahatma so etliche (10-20) Notepads auf dem Dec-Fenster rumschwirrten
zwecks Copy 'n Paste.


-----------------------------------------------------------------------------



Re^29: Erfahrungen mit Cicerone (Whitetiger,  8. Apr 2005, 19:13:38):
~#! rn=Anatol rt=1112980386 rg=entwicklung
~#! tid=1110808632
Grau auf hellgrau klingt eklig, wie waers mal mit helligkeit/kontrast
anpassen?

-----------------------------------------------------------------------------



Re^30: Erfahrungen mit Cicerone (Jameson,  8. Apr 2005, 19:34:08):
~#! rn=Whitetiger rt=1112980418 rg=entwicklung
~#! tid=1110808632
Das hiesse ja rumbasteln am Lichts... L... Es will mir nicht ueber die Lippen
kommen.

-----------------------------------------------------------------------------



Re^31: Erfahrungen mit Cicerone (Whitetiger,  8. Apr 2005, 19:37:58):
~#! rn=Jameson rt=1112981648 rg=entwicklung
~#! tid=1110808632
Naja, nicht alle Lichtsysteme sind gleich schlimm. ;)

-----------------------------------------------------------------------------



Re^27: Erfahrungen mit Cicerone (Turbo,  8. Apr 2005, 19:59:54):
~#! rn=Anatol rt=1112979727 rg=entwicklung
~#! tid=1110808632
Ich frage mich, ob Aenderungen des Typs "ich wuensche mir ein ganz anderes
Mud" wirklich akzeptanzsteigernd wirken werden. Das MG ist ein Mud, in dem
gescriptet werden darf und heftig gescriptet wird. Das moegen Puristen 
beklagen, es ist aber so. Das nun mit technischen Mitteln unterbinden
zu wollen, erscheint mir etwas fragwuerdig. Die hohe Bedeutung des 
Forschens ist ohnehin eine Sperre vor allzu hirnlosem Scripten, und
zwar eine spielkonforme.
Des weiteren gibt es eine Reihe von Gegenden im MG, in denen beliebig 
schnelle Bewegung eben nicht moeglich ist, und zu allem moeglichem 
bis hin zum Tod fuehrt, sowie einige Stellen, wo das Uebergehen von
noetigen Interaktionen infolge Scripten sehr unangenehm sein kann
(z.B. Goblinraeuber). 
All das wird entwertet, wenn man die Bewegung im Mud umkrempelt.

Wieviel Widerstand es von seiten der Spieler geben wuerde, weiss ich nicht.
Ich weiss aber, dass Erschwernis und Nutzen in einem gewissen Verhaeltnis
stehen sollten. Eine solche Aenderung wuerde die Taktiken in vielen 
Kampfgebieten zerstoeren bzw. voellige Umorientierungen erfordern.
Die Balance zwischen kampfstarken (nicht so tankbeduerftigen) und weniger
kampfstarken Spielern und Gilden waere ebenso betroffen.
Vielleicht wuerde man das als Herausforderung nehmen, neue Taktiken ersinnen,
haerter trainieren, was weiss ich. Vielleicht wuerde aber die Frust-/Spiel-
spassbilanz so beeinflusst, dass man sich fragt, wozu man sich das antut.

Turbo (Kater)

-----------------------------------------------------------------------------



Re^28: Erfahrungen mit Cicerone (Anatol,  8. Apr 2005, 20:20:37):
~#! rn=Turbo rt=1112983194 rg=entwicklung
~#! tid=1110808632
Etwas am Punkt vorbeigeredet, aber schoen, dass Du Dich beteiligst.

Anatol


-----------------------------------------------------------------------------



Re^28: Erfahrungen mit Cicerone (Gloinson,  8. Apr 2005, 20:38:53):
~#! rn=Turbo rt=1112983194 rg=entwicklung
~#! tid=1110808632
Ich empfehle eine laenge Lektuere von OLD.polizei.bekanntmachungen.
Erhaeltlich auf der verkrumpelten Webseite.


-----------------------------------------------------------------------------



Re^27: Erfahrungen mit Cicerone (Zardoz,  8. Apr 2005, 21:04:10):
~#! rn=Anatol rt=1112979727 rg=entwicklung
~#! tid=1110808632
Holy Mission hat wirklich eine extrem geniale Umsetzung. Ich habe es geliebt
zu spielen, HM war der Grund warum ich im MG aufgehoert hatte was zu machen.
Einfach ein unerreichbares Vorbild :)

-----------------------------------------------------------------------------



Re^28: Erfahrungen mit Cicerone (Anatol,  8. Apr 2005, 21:10:18):
~#! rn=Zardoz rt=1112987050 rg=entwicklung
~#! tid=1110808632
Wuerde ich in dieser Art nicht unterschreiben. Vor allem die
an Unfaehigkeit nicht zu uebertreffenden Impls (==Magier) sind
von spielerischer und die krautundrueben-Lib von technischer
Seite zwei klare Punkte fuer das Morgengrauen. 

Was, als Questmud, ohnehin nicht mit dem HM in den Wettbewerb
ging, nicht wahr. :) 

Anatol (bleeding to death)

-----------------------------------------------------------------------------



Re^4: Konzeptuebernahme zur Spielergewinnung (Ark, 10. Apr 2005, 15:22:47):
~#! rn=Bambulko rt=1112861927 rg=entwicklung
~#! tid=1112856108
Hm, wie man weiss, ist das MG fuer ein Konzept "Hardcore" im Sinne von
Kaempfen nicht ganz so reizvoll. Ein Grossteil besteht aus Forschen und
Questen, wenn man hier aufsteigen will. Ganz im Gegenteil zu Spielen, in denen
das Kaempfen und demnach auch der Aufstieg einen Hauptteil einnehmen, ist
unser Belohnungssystem nicht fuer Vielmetzler ausgelegt. Und damit fuer einen
Hardcore Modus im Sinne von "Sterben ist endgueltig" eher ungeeignet ... auch
wenn man den Spielern einen Vorteil verschaffen will, geht das am Sinn des
Spieles ein wenig vorbei.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^5: Konzeptuebernahme zur Spielergewinnung (Grimmborn, 10. Apr 2005, 16:26:59):
~#! rn=Ark rt=1113139367 rg=entwicklung
~#! tid=1112856108
Wo ist denn das Problem? Wenn es Spieler gibt die nach ihrem ersten Tod ihren
Charakter wegwerfen wollen sollte man ihnen das ermoeglichen. Ich schaetze,
die meisten werden wohl kaum ueber level 5 hinauskommen, aber hey, das ist
nicht mein Problem.

GdA

-----------------------------------------------------------------------------



Re^6: Konzeptuebernahme zur Spielergewinnung (Zardoz, 10. Apr 2005, 19:03:01):
~#! rn=Grimmborn rt=1113143219 rg=entwicklung
~#! tid=1112856108
Ich koennte mir vorstellen im Hardcore Modus zu spielen, wenn es z.B. eine
Hardcore-Topliste gibt. Einfach mal schauen wie weit man kommt und sich dan
TIERISCH aufregen, weil man wegen irgendeiner Dummheit stirbt :)
Hm, und dann koennte man noch einen Friedhof machen, auf den man kommt, sobald
man einen Mindestlevel erreicht hatte etc. Da koennte man schon paar witzige
Sachen machen. Muesste halt klare Regeln geben, z.B. tot ist tot, auch wenn es
ein Bug war etc, damit es niemals zum Rumgeheule kommt...


-----------------------------------------------------------------------------



Re^7: Konzeptuebernahme zur Spielergewinnung (Kellybundy, 10. Apr 2005, 19:04:55):
~#! rn=Zardoz rt=1113152581 rg=entwicklung
~#! tid=1112856108
Zum Rumgeheule kommt es IMMER. Das sollte deshalb kein Kriterium sein. man
muss halt entsprechend auf die Regeln hinweisen.

-----------------------------------------------------------------------------



Re^7: Konzeptuebernahme zur Spielergewinnung (Mesirii, 10. Apr 2005, 19:04:57):
~#! rn=Zardoz rt=1113152581 rg=entwicklung
~#! tid=1112856108
Hmm da koennte ich mich glatt dazu durchringen mal wieder etwas mehr zu
spielen :).
Mesi

-----------------------------------------------------------------------------



Re^8: Konzeptuebernahme zur Spielergewinnung (Zardoz, 10. Apr 2005, 19:08:37):
~#! rn=Kellybundy rt=1113152695 rg=entwicklung
~#! tid=1112856108
Ja, Rumgeheule wird es geben. Aber man darf erst gar nicht anfangen sich auf
eine Diskussion einzulassen. Wenn irgendwann mal beim ersten der Tod aus
welchen Gruenden auch immer rueckgaengig gemacht wird, dann kann man den Modus
frueher oder spaeter total vergessen.

-----------------------------------------------------------------------------



Re^3: Konzeptuebernahme zur Spielergewinnung (Mesirii, 10. Apr 2005, 19:20:00):
~#! rn=Requiem rt=1112863220 rg=entwicklung
~#! tid=1112856108
Hmm ein tm cicerone Kannst Du mir mal bitte bei XXX helfen,
waer auch nicht schlecht, das selbst einen nicht idelnden cicerone auswaehlt
Mesi

-----------------------------------------------------------------------------



Re^7: Konzeptuebernahme zur Spielergewinnung (Ogo, 11. Apr 2005, 06:07:21):
~#! rn=Zardoz rt=1113152581 rg=entwicklung
~#! tid=1112856108
Okay, fuer die Pseudotopliste des HC, will ich mal Knurps einwerfen. Wer
kann's toppen? :)

-----------------------------------------------------------------------------



Re^8: Konzeptuebernahme zur Spielergewinnung (Croft, 11. Apr 2005, 09:05:24):
~#! rn=Ogo rt=1113192441 rg=entwicklung
~#! tid=1112856108
Trick, noch nicht 1. aber er wird aktiver gespielt ,-)

Croft

-----------------------------------------------------------------------------



Re^28: Erfahrungen mit Cicerone (Puk, 11. Apr 2005, 16:17:33):
~#! rn=Zardoz rt=1112987050 rg=entwicklung
~#! tid=1110808632
muahahah 
das sagst du heute nimmer :P

-----------------------------------------------------------------------------



Quest-/Levelgebundener Webzugang (Cornholio, 13. Apr 2005, 09:11:41):
Man koennte beispielsweise die Karte einer Mudderin den Muddern zur Verfuegung
stellen, wenn sie eine Level7-Quest (-oder auch eine in der Questliste nicht
auftauchende Miniquest) geloest haben.
So koennte man auch mit anderen Webinhalten verfahren.

Allerdings verhindert das natuerlich nicht die Weitergabe per Email oder
aehnlich.
Ein weiterer Nachteil ist, dass sich hier Web (irgendwie fast RL) und MUD
(irgendwie doch VL) vermischen.

Yours,
Cornholio

-----------------------------------------------------------------------------



Re^28: Erfahrungen mit Cicerone (Zarniya, 13. Apr 2005, 10:07:51):
~#! rn=Zardoz rt=1112987050 rg=entwicklung
~#! tid=1110808632
STRIKE, Zardoz... HM hatte was.... da gab es Adrenalinschuebe, die es im MG
nie geben wird und das eben WEGEN der beschraenkten Bewegung... Nu rennt einem
hier im MG aber auch keiner hinterher, den man mit einem anderen Spieler
vergleichen kann.

Marc

-----------------------------------------------------------------------------



Re^7: Konzeptuebernahme zur Spielergewinnung (Zarniya, 13. Apr 2005, 10:11:07):
~#! rn=Zardoz rt=1113152581 rg=entwicklung
~#! tid=1112856108
sag mal, zardoz, sollen wir ernsthaft anfangen und weiter an unserer Hoelle
von damals arbeiten? DAS waren noch Zeiten.. ich glaube, bei den heutigen
Weicheier-Spielern waeren wir als Magier ganz schnell tot hier. 

Marc

-----------------------------------------------------------------------------



Re^8: Konzeptuebernahme zur Spielergewinnung (Trick, 13. Apr 2005, 10:12:03):
~#! rn=Zarniya rt=1113379867 rg=entwicklung
~#! tid=1112856108
die weicheier unter den spielern sind mittlerweile magier geworden :o)

-----------------------------------------------------------------------------



Re^9: Konzeptuebernahme zur Spielergewinnung (Zook, 13. Apr 2005, 10:12:15):
~#! rn=Trick rt=1113379923 rg=entwicklung
~#! tid=1112856108
Zook hustet.

-----------------------------------------------------------------------------



Re^10: Konzeptuebernahme zur Spielergewinnung (Gloinson, 13. Apr 2005, 10:26:06):
~#! rn=Zook rt=1113379935 rg=entwicklung
~#! tid=1112856108
Oder gar Goetter. Das waren ncoh Zeiten als Zook dem Drachengott eingeheizt
hat ... jaja.


-----------------------------------------------------------------------------



Re^11: Konzeptuebernahme zur Spielergewinnung (Trick, 13. Apr 2005, 10:28:20):
~#! rn=Gloinson rt=1113380766 rg=entwicklung
~#! tid=1112856108
oder goetter beim dg-hauen zugeschaut haben hohoho :)

-----------------------------------------------------------------------------



Re^12: Konzeptuebernahme zur Spielergewinnung (Skyfire, 13. Apr 2005, 18:53:43):
~#! rn=Trick rt=1113380900 rg=entwicklung
~#! tid=1112856108
eierschalensollbruchstellenverursacher

-----------------------------------------------------------------------------



Re^8: Konzeptuebernahme zur Spielergewinnung (Ark, 13. Apr 2005, 18:59:25):
~#! rn=Zarniya rt=1113379867 rg=entwicklung
~#! tid=1112856108
Ich empfehle jedem Altmagier erstmal einen Neuspieler zum Ueben. Ohne jemandem
nahetreten zu wollen, gestern ist nicht heute oder morgen, und bevor man sich
an was Neues setzt ... :-)
Das fuehrt i.a. zu tiefem Verstaendnis einiger Spieleransichten.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^9: Konzeptuebernahme zur Spielergewinnung (Miril, 13. Apr 2005, 22:24:28):
~#! rn=Ark rt=1113411565 rg=entwicklung
~#! tid=1112856108
:applaudiert dem Vorredner.

Miril

-----------------------------------------------------------------------------



Re^10: Konzeptuebernahme zur Spielergewinnung (Zarniya, 14. Apr 2005, 09:25:15):
~#! rn=Miril rt=1113423868 rg=entwicklung
~#! tid=1112856108
Also ich bin der Meinung, wenn eine Idee, ein Konzept oder eine neue Region
vollkommen stimmig ist und in sich interessant, dann kann man sowas auch
proggen, ohne dass man irgendwas anderes vom MG kennt. Eine genaue Ahnung von
den Kampfleistungen der Gilden etc braucht doch eh nur der Magier, der was
fuer die Highlevel Spieler machen will. Wer aber was fuer Anfaenger oder aber
das Mittelfeld proggen will, etwas, das Spass macht, da muss man eigentlich
nix ueber diese Sachen wissen. 

Ansonsten versteh ich den Hinweis von Ark nicht.. bzw zieh mir den Schuh
einfach nicht an. 

Marc 

-----------------------------------------------------------------------------



Re^11: Konzeptuebernahme zur Spielergewinnung (Wurzel, 14. Apr 2005, 09:33:12):
~#! rn=Zarniya rt=1113463515 rg=entwicklung
~#! tid=1112856108
warum wundert mich das jetzt nicht, dass du was nicht verstehst?

wenn man etwas mehr machen will als einfach nur beschreibungen und details,
sollte man wenigstens halbwegs ahnung haben was ansonsten im mg abgeht. und
wenn es nur ist, dass dein gut gemeintes objekt an irgend einer anderen
stelle im mud etwas unvorhergesehenes ausloest. dass die spieler sowas
schnell rausfinden und es gnadenlos ausnutzen, habe ich selbst mehrfach
beobachten koennen.

aber du hast es ja vor einigen jahren schon vorgezogen, hier nichts mehr zu
machen. in der zeitung rumstaenkern mal ausgenommen.

-----------------------------------------------------------------------------



Re^11: Konzeptuebernahme zur Spielergewinnung (Ark, 14. Apr 2005, 20:59:06):
~#! rn=Zarniya rt=1113463515 rg=entwicklung
~#! tid=1112856108
Nicht nur das Kampfsystem und die Gilden haben sich erweitert, auch die
Raeume, Npcs und Objekte. Ich schicke Dich gerne mal (Achtung: Extreme!) in
Deaths Orkhoehlen zum Umschauen und transe Dich stante pede zu Twingi :-)
Auch bezueglich Dingen, die man fuer neu haelt, bekommt man manchmal mit, dass
es das eine oder andere schon gibt. Das kann Dir auch nichtmal jeder Magier
sagen. Aber war nur eine Empfehlung, kein Zwang. Ich vermute halt, wer selbst
spielt, macht tendenziell beliebtere Gebiete. _Vermute_ ich :-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^12: Konzeptuebernahme zur Spielergewinnung (Darklor, 14. Apr 2005, 21:40:30):
~#! rn=Ark rt=1113505146 rg=entwicklung
~#! tid=1112856108
Und wenn man zu lange Magier war, macht man sie wieder kaputt? ;) 

Darklor

-----------------------------------------------------------------------------



party.bekanntmachungen fehlt im Archiv (Gloinson,  9. Mai 2005, 20:12:36):
Waer schoen, wenn die Rubrik mal mit reinkaeme, thx.


-----------------------------------------------------------------------------



Re: party.bekanntmachungen fehlt im Archiv (Zook, 11. Mai 2005, 09:41:04):
~#! rn=Gloinson rt=1115662356 rg=entwicklung
~#! tid=1115662356
Done. Zook.

-----------------------------------------------------------------------------



Werwolf-NPCs (Humni,  8. Aug 2005, 02:17:37):
Huhu,

im Rahmen von Aenderungen an der Werwolfgilde kommt es derzeit auch zu
aenderungen an saemtlichen NPCs, die Werwoelfe sind. Das koennen Abwertungen,
aber auch Aufwertungen sein.

Ich empfehle hohe Vorsicht (und nein, der Bug, dass der Spieler mit einem
Zehntel der Anzahl an Sekunden, die seit dem 1.1.1970 vergangen sind, als
Schaden angegriffen wird ist erstmal raus).

Humni, bastelt noch.

-----------------------------------------------------------------------------



ASCII-Grafiken (Zook, 18. Okt 2005, 20:12:48):
Hallo zusammen,

an verschiedenen Stellen im MorgenGrauen haben Magier die "grafischen"
Faehigkeiten von ASCII-Zeichen genutzt und ihre Gebiete, Quests etc.
entsprechend "aufgewertet".

Nicht jeder kann und mag solche ASCII-Grafiken sehen und daher haben wir
einen neuen Schalter eingebaut. Er heisst "grafik ein/aus" (Hilfeseite
sollte es auch schon geben). Damit kann man angeben, wenn man solche
Grafiken nicht mehr sehen moechte.

Wenn Ihr nun glaubt, das funktioniert, dann muss ich Euch enttaeuschen.
Zum einen muesst Ihr entweder "ende" machen oder auf Reboot/Crash warten.
Zum anderen ist das MG aber noch nicht auf diesen Schalter eingerichtet. 

Wenn Ihr also auf solche Stellen stosst, dann sprecht doch bitte den
jeweiligen Magier, Regionsmagier an (bitte Kopie der E-Mail an mich)
oder schickt mir gleich eine E-Mail. Wir werden versuchen, diese Stellen
nach und nach anzupassen.

Gruss, Zook.

-----------------------------------------------------------------------------



Re: ASCII-Grafiken (Kellybundy, 18. Okt 2005, 20:14:35):
~#! rn=Zook rt=1129659168 rg=entwicklung
~#! tid=1129659168
Oooch ich bin ein Bewunderer von ASCII-Art. Setzt allerdings die Verwendung
eines Console Fonts voraus. Falls ich damit jemandem etwas neues erzaehlen
sollte. nur mal so.

-----------------------------------------------------------------------------



Re: Re: ASCII-Grafiken (Maharet, 18. Okt 2005, 21:56:14):
~#! rn=Kellybundy rt=1129659275 rg=entwicklung
~#! tid=1129659168
Nicht jeder kann ASCII-Art bewundern. Man muss dazu naemlich sehen koennen.
Und das tolle an textbasierten Muds ist ja eigentlich, dass auch Blinde sie
voll und ganz geniessen koennen. Oder koennen sollten - wenn es da nicht diese
ASCII-Bildchen gaebe, die manchmal sogar questrelevant sind.

Maharet

-----------------------------------------------------------------------------



Re: Re: ASCII-Grafiken (Mogur, 19. Okt 2005, 00:45:21):
~#! rn=Kellybundy rt=1129659275 rg=entwicklung
~#! tid=1129659168
Das freut uns ja ungemein, meinst du, Zook hat einfach zu wenig zu tun und
wollte sich und den Magiern hier eine Freude machen, denn bekanntlich geht es
Allen immer exakt so, wie es einem selber geht...
Was fuer ein Glueck, du darfst ja sogar weiterhin bewundern... Gestehst du uns
denn zu, das wir nicht alle zwingend muessen? Vorallem, koennen auch nicht
alle.... Ich verweise da auf meine kluge Schwiegermama Maharet :-).

Manchmal koennte man glauben, bei manchen Personen waere ein Hirnschlag ein
Schlag ins leere ;-) - wobei ich das jetzt nicht wirklich boese meine... aber
ein wenig nachdenken, oder nachfragen, warum dieser Aufwand betrieben wird,
waere schon irgendwie sinnvoll, findest du nicht auch? :)

Ich fuer meinen Teil finde das super Klasse! Vielen Dank an die faulen Magier
und den gelangweilten Zook :-)

Mogur.

-----------------------------------------------------------------------------



Re^3: ASCII-Grafiken (Kellybundy, 19. Okt 2005, 20:02:29):
~#! rn=Mogur rt=1129675521 rg=entwicklung
~#! tid=1129659168
heeeh warum gleich so motzig?
Ich habe nicht mehr und nicht weniger gesagt, dass _ich_persoenlich_ ascii-art
bewundere. was gibbet da jetzt zu flamen? *verstaendnislos schau*

-----------------------------------------------------------------------------



Re: ASCII-Grafiken (Zook, 23. Okt 2005, 14:08:42):
~#! rn=Zook rt=1129659168 rg=entwicklung
~#! tid=1129659168
Als Notizblock, um solche Stellen zu melden, koennt Ihr auch folgendes
Wiki verwenden:

http://wiki.nicht-suechtig.de

oder gleich die passende Seite:

http://wiki.nicht-suechtig.de/index.php?n=MorgenGrauen.ASCII-Art

Zook.

-----------------------------------------------------------------------------



Re: Re: ASCII-Grafiken (Amaryllis, 23. Okt 2005, 19:11:58):
~#! rn=Zook rt=1130069322 rg=entwicklung
~#! tid=1129659168
Vllt. koennte man die "Red Hat Enterprise Linux Test Page" Startseite noch
ummodeln - sieht etwas komisch aus :)

Ama*

-----------------------------------------------------------------------------



Messenger-Dienster != ICQ (Zook,  5. Jan 2006, 15:53:31):
Hallo,

wer Messenger-Dienster anders als ICQ benutzt, kann die entsprechende
ID nun auch beim Finger-Befehl anzeigen lassen. Dazu dient das Kommando
"messenger". Sollte bisher schon ein ICQ-Eintrag bestehen, so wird
dieser einfach beim Finger automatisch hintan gestellt. 

Zook.

-----------------------------------------------------------------------------



Re: Messenger-Dienster != ICQ (Zook,  5. Jan 2006, 15:53:39):
~#! rn=Zook rt=1136472811 rg=entwicklung
~#! tid=1136472811
Ahja, geht dann nach Ende/Reboot/Crash.

Zook.

-----------------------------------------------------------------------------



Verschluesselter Zugang zum MorgenGrauen (Zook, 25. Jan 2006, 17:24:38):
Hallo zusammen,

verschiedentlich wurde angeregt, eine Option einzufuehren, die es erlaubt,
die Verbindung zwischen dem heimischen Computer und dem Morgengrauen
zu verschluesseln. Rumata und Muadib haben (dafuer sei Ihnen gedankt) 
eine testbare Loesung eingebaut, die wir Euch gerne vorstellen
moechten.

Wir verwenden die "stunnel"-Software, um die Daten zwischen MG und Rechner
ueber eine SSL-Verbindung zu verschluesseln. Dies sichert, dass man an
Driver und Clients keine Veraenderung vornehmen muss, sondern einfach 
nur zusaetzlich diese SW zum Einsatz bringen muss. Stunnel ist fuer
FreeBSE[sic!], Linux sowie auch fuer Windows verfuegbar (so dass auch
die ZMud- oder MGClient-Benutzer von dieser Moeglichkeit Gebraucht 
machen koennen). 

Wie kann man das nun ausprobieren?
Schaust Du hier:
http://mg.mud.de/newweb/download/stunnel.shtml

Wir sind sehr an Erfahrungen, Bugmeldungen oder anderen Anregungen 
interessiert. Wer eine kleine Beschreibung liefern kann, wie man 
dieses stunnel unter Windows einstellen muss, kann mir die gerne 
zusenden, dann koennen wir das auch auf die Webseite nehmen.

Viel Spass!


Gruss, Zook.

-----------------------------------------------------------------------------



Re: Verschluesselter Zugang zum MorgenGrauen (Zook, 26. Jan 2006, 10:20:41):
~#! rn=Zook rt=1138206278 rg=entwicklung
~#! tid=1138206278
Kleiner Hinweis noch: Die IP, von der aus man sich einloggt, wird im Mud
erst dann richtig angezeigt, wenn man seinen Spielercharakter erneuert,
also Ende/Crash/Reboot oder so.

Zook.

-----------------------------------------------------------------------------



Re: Re: Verschluesselter Zugang zum MorgenGrauen (Zook, 26. Jan 2006, 11:55:49):
~#! rn=Zook rt=1138267241 rg=entwicklung
~#! tid=1138206278
Hasenfuss sei Dank ist nun auch die Bedienung fuer Windows beschrieben.

Zook.

-----------------------------------------------------------------------------



Re: Verschluesselter Zugang zum MorgenGrauen (Jimdigriz, 27. Jan 2006, 10:55:01):
~#! rn=Zook rt=1138206278 rg=entwicklung
~#! tid=1138206278
Moin,

hier meine Erfahrungen.
Aufsetzen und benutzen funktioniert simpel und prima.
Ich find es uebrigens klasse, dass die "wahre" IP nun
trotzdem angezeigt werden kann. :-)

TF-User kriegen vermutlich folgendes Problem
(kann man also in die FAQ dazu aufnehmen):

Da sich der Host aendert, an den man connected
(bisher mg.mud.de, mit stunnel localhost), hat man
die ganzen MG-TF-Makros nicht mehr, weil die pro
host in ein Unterverzeichnis angelegt werden.
Die einfachste Loesung ist im entsprechenden Verzeichnis
der MG-TF-Lib einen link von "mg.mud.de" zu "localhost"
zu legen.

Dann ist mir noch was aufgefallen, bei der stunnel-Verbindung
bricht die Verbindung nun viel haeufiger ab wie frueher mit
"Connection reset by peer." Waehrend ohne stunnel die Verbindung
Wochen und Monate haelt, haelt die stunnel Verbidung leider nur sowas
um einen Tag rum. Was sein kann ist, dass stunnel die Verbindung abbaut
wenn wenig/kein traffic ruebergeht. Vermutlich kann man da aber
an ein paar tuning optionen drehen, zB SO_LINGER socket-option, 
session timeout, etc. Muss man mal testen.

Fuer die option "foreground = yes" sehe ich keinen Bedarf,
bei mir laeuft stunnel als Daemon im Hintergrund, der beim
systemstart hochfaehrt.

Ciao,
 JdG

-----------------------------------------------------------------------------



Re: Re: Verschluesselter Zugang zum MorgenGrauen (Muadib, 27. Jan 2006, 22:01:52):
~#! rn=Jimdigriz rt=1138355701 rg=entwicklung
~#! tid=1138206278
hi,

ein guter Hinweis mit den tf-macros.
Den Disconnect finde ich nicht so tragisch, eher vorteilhaft in Hinsicht auf
die Anzahl der Prozesse auf der Maschine.

Gruss
Muadib

-----------------------------------------------------------------------------



Re^3: Verschluesselter Zugang zum MorgenGrauen (Muadib, 27. Jan 2006, 22:16:08):
~#! rn=Muadib rt=1138395712 rg=entwicklung
~#! tid=1138206278
nur um sicherzugehen, du meintest eine idle verbindung oder?

-----------------------------------------------------------------------------



Re^4: Verschluesselter Zugang zum MorgenGrauen (Jimdigriz, 27. Jan 2006, 22:38:07):
~#! rn=Muadib rt=1138396568 rg=entwicklung
~#! tid=1138206278
Ja, idlend.

-----------------------------------------------------------------------------



Ignoriere und Ebenen (Muadib, 28. Jan 2006, 15:20:51):
Hi,

nach Ende/Reboot kann man nun mit "ignoriere name.ebenenname" Spieler
zuverlaessig auf einer Ebene ignorieren.
Das gleiche sollte auch fuer NPCs funktionieren, wenn man den richtigen Namen
verwendet.

Gruss
Muadib

-----------------------------------------------------------------------------



Re: Ignoriere und Ebenen (Knurps, 28. Jan 2006, 16:35:39):
~#! rn=Muadib rt=1138458051 rg=entwicklung
~#! tid=1138458051
Bitte,bitte bau gleich ein ignoriere name.npc als Wildcard fuer alle NPCs ein.

-----------------------------------------------------------------------------



Re: Re: Ignoriere und Ebenen (Muadib, 28. Jan 2006, 17:27:35):
~#! rn=Knurps rt=1138462539 rg=entwicklung
~#! tid=1138458051
aber dann bekommt man neue npcs doch gar nicht mit

-----------------------------------------------------------------------------



Re^5: Verschluesselter Zugang zum MorgenGrauen (Zook, 29. Jan 2006, 15:00:35):
~#! rn=Jimdigriz rt=1138397887 rg=entwicklung
~#! tid=1138206278
Bug-Report:

Man versuche einmal Text per cutnpaste in das MG (zB in die Zeitung oder
so zu posten). Ich hatte hier knapp 50 Zeilen und dann hing jedesmal die
Verbindung derart, dass von mir keine Eingaben mehr bis ins MG kamen. 
Ausgaben des MG wurden aber weiterhin angezeigt.

Zook.

-----------------------------------------------------------------------------



Re^6: Verschluesselter Zugang zum MorgenGrauen (Jimdigriz, 29. Jan 2006, 15:17:50):
~#! rn=Zook rt=1138543235 rg=entwicklung
~#! tid=1138206278
Geht bei mir Wunderbar, kann ich leider nicht nachvollziehen.
Tip, update mal Dein FreiBSE ;-) Du hast doch die uralt-buggy version.
JdG

-----------------------------------------------------------------------------



Re^7: Verschluesselter Zugang zum MorgenGrauen (Rumata, 29. Jan 2006, 16:32:02):
~#! rn=Jimdigriz rt=1138544270 rg=entwicklung
~#! tid=1138206278
Klingt nach einem Prolbem mit den Puffern.
minitelnet emuliert zwei pipes, einen fuer die eingabe, einen fuer die ausgabe
jeder ist 1k gross und hat ein etwas unkleveres puffermanagement, wenn es
in einem puffer zu einem fehler kommt, geht die zugehoerige pipe kaputt

ich werde mal etwas ausprobieren...

rum**

-----------------------------------------------------------------------------



Re^8: Verschluesselter Zugang zum MorgenGrauen (Muadib, 29. Jan 2006, 19:53:02):
~#! rn=Rumata rt=1138548722 rg=entwicklung
~#! tid=1138206278
Der stunnel-Zugang wurde neu gestartet mit Rumatas Probiererei.
Einige Idle werden es wohl an der fehlenden Verbindung bemerkt haben.
Wir versuchen das in Zukunft zu minimieren, aber manchmal sind Aenderungen
notwendig.

Gruss
Muadib

-----------------------------------------------------------------------------



Re: Re: Ignoriere und Ebenen (Kellybundy,  1. Feb 2006, 21:37:22):
~#! rn=Knurps rt=1138462539 rg=entwicklung
~#! tid=1138458051
Ja. die olle lotta nervt, good idea.

-----------------------------------------------------------------------------



Re^7: Verschluesselter Zugang zum MorgenGrauen (Kellybundy,  1. Feb 2006, 21:38:36):
~#! rn=Jimdigriz rt=1138544270 rg=entwicklung
~#! tid=1138206278
Liecht bei mir an irgendwelchen windoofeinstellungen. aufem annern rechner
funzt es einwandfrei. fragt mich nur nicht wos da haengt.

-----------------------------------------------------------------------------



Re^8: Verschluesselter Zugang zum MorgenGrauen (Zesstra,  1. Feb 2006, 23:46:50):
~#! rn=Kellybundy rt=1138826316 rg=entwicklung
~#! tid=1138206278
Bei mir hat sich die Anzahl der Disconnects bei grossem Scroll (Metzelei, Wege
gehen, etc.) reduziert, nachdem ich bei meinem stunnel die Sende- und
Empfangspuffer reduziert hab:
socket = r:SO_RCVBUF=1024
und
socket = r:SO_SNDBUF=512

Ob das bei jedem geht oder auch nicht, weiss ich nicht, aber ich wollts euch
mal mitteilen. ;-)

Taranis
P.S. Mudseitig wird diesbzgl. auch wohl noch etwas geschraubt, also nicht
verzweifeln, wenn ihr noch Probleme habt. ;-)

-----------------------------------------------------------------------------



Re: Neue Seheranforderungen (Zook, 21. Feb 2006, 20:41:14):
~#! rn=Zook rt=1140516269 rg=bekanntmachungen
~#! tid=1140516269
Kann sein, dass Merlin aufgrund irgendeines Fehlers von mir ein wenig zickt. 
Wenn Ihr also die Anforderungen erfuellt habt und er tut nix, wendet 
Euch mal an mich; ich werd den Bug nachher oder morgen noch fixen.

Zook.

-----------------------------------------------------------------------------



Re: Re: Neue Seheranforderungen (Bran, 23. Feb 2006, 22:45:52):
~#! rn=Zook rt=1140550874 rg=entwicklung
~#! tid=1140516269
Ich moechte mal festhalten, dass ich diese Aenderung klasse finde. Nicht dass
der Eindruck entsteht, es wird immer nur rumgemeckert :) Ich glaube, damit
habt ihr schon in den letzten Tagen einigen viel Freude gemacht, die noch so
an den letzten Puenktchen am Krebsen waren. Man bekommt richtig Lust, doch
nochmal eine neue Gilde auszuprobieren :-) Dankeschoen!

-----------------------------------------------------------------------------



Cicerones habens schwer... (Kellybundy, 27. Feb 2006, 19:19:01):
Es waere sehr hilfreich, wenn man mit der kristallkugel gaeste finden koennte.
Wie soll ich den armen Wuersten sonst helfen?
KB

-----------------------------------------------------------------------------



Re: Cicerones habens schwer... (Vector, 27. Feb 2006, 19:31:54):
~#! rn=Kellybundy rt=1141064341 rg=entwicklung
~#! tid=1141064341
gaeste stehen in der abenteuergilde, wer ernsthaft in die welt hinausziehen
will, tut das mit einem neu angelegten charakter?!

-----------------------------------------------------------------------------



Re: Re: Cicerones habens schwer... (Kellybundy, 27. Feb 2006, 19:34:32):
~#! rn=Vector rt=1141065114 rg=entwicklung
~#! tid=1141064341
eben nicht

-----------------------------------------------------------------------------



Re^3: Cicerones habens schwer... (Vector, 27. Feb 2006, 19:37:45):
~#! rn=Kellybundy rt=1141065272 rg=entwicklung
~#! tid=1141064341
also die kristallkugel der hexe findet gaeste, sowohl am sandtiger
als auch in der ab-gilde (eben getestet)
die kristallkugel unterscheidet zwischen "spieler nix da im mg"
und "spieler nix geben im mg", denke mal dass im normalfall
gaeste nicht lange genug eingeloggt sind, um auf die liste
der spieler zu kommen die es im mg gibt.

-----------------------------------------------------------------------------



"kurzinfo" bei "grafik aus" (Zook, 12. Mar 2006, 14:12:28):
Nach Ende/Reboot/Crash gibt "kurzinfo" bei "grafik aus" folgende
Information:

Gesundheit: 122 (202), Konzentration: 166 (210)

Also mit jeweils aktuellen Werten fuer den Spielern. Also aufpassen 
und Skripte/Trigger anpassen. :)

Zook.

-----------------------------------------------------------------------------



Rassengilden (Seleven, 21. Mar 2006, 14:57:45):
So. Setzen wir doch hier den Rassengilden-Thread fort.
Ich fang erstmal damit an, dass ich die drei Replys beantworte:
Muadib: Ja, das stimmt, aber das waere aber auch kein Unterschied zu den
Abenteurern. Man koennte auch das Reinschnuppern in eine Gilde als eine
Vorausssetzung fuer ein Level machen, ob man das ueber eine Art Ausbildung,
einem Vortrag von Llysche, Hasenfuss oder Bruno, oder sonstwie machen wuerde,
muesste man sich ueberlegen.
Darklor: Ich wuerde die Formuliereung "Ich biete dem Magier, der die
Anfaengergilde fuer Hobbits programiert gerne meine Hilfe an." :) Grund: Mir
fehlt das Wissen um eine Gilde zu proggen und momentan leider auch die Zeit es
mir anzueignen.
Kerrier: Besser so?

Seleven.

-----------------------------------------------------------------------------



Re: Rassengilden (Kerrier, 21. Mar 2006, 17:59:21):
~#! rn=Seleven rt=1142949465 rg=entwicklung
~#! tid=1142949465
Ja, besser ;-)

Ich wuerde ja vorschlagen, erstmal die Abenteurergilde in die 4 Teilgilden mit
jeweiligen Dependancen in den Anfaengergebieten der jew. Rassen aufzuteilen.
Das gaebe einem die Moeglichkeit, auch erstmal nur so ein paar Sachen
abzuaendern ... Also z.B. Waffentechniken statt feuerball/saeurestrahl/pfeil
fuer Zwerge.

Mittelfristig waere es ja im Prinzip schoen, wenn jede Rasse ein paar
(Rassengilden-)Features haette, die beim Wechsel erhalten blieben.

Z.B.:
Zwerge: SChmutzschicht, die bei harten Treffern broeckelt, mit der Zeit staer-
        ker wird und bei Wasser verschwindet, gibt Zusatz-AC

Elfen:  Lieder singen mit best. Wirkungen, braucht man Instrument fuer, die
        koennten ja wiederum unterschiedlich gut sein, etc ...

Hobbits: Hmm. Da gibts andere, die bessere Ideen haben. Irgendwas mit Voelle-
         Gefuehl und schlechter bei leerem Magen oder so wuerde ich machen

Menschen: k.A. derzeit ... 

Gruesse

EK

-----------------------------------------------------------------------------



Re: Re: Rassengilden (Terry, 21. Mar 2006, 19:35:59):
~#! rn=Kerrier rt=1142960361 rg=entwicklung
~#! tid=1142949465
Der Punkt mit dem Behalten von Eigenschaften finde ich gut - er hat allerdings
einen Haken: Wenn der Spieler sich zu frueh entscheidet aus der Anfaengergidle
auszutreten, lernt er einen Skill nur halb oder gar nicht. Aber eine
Neubewertung der Rassen faend ich nicht schlecht.
Zwerge: Schmutzschicht, Feilschen (Rabatt auf Einkaeufe aller Art, ausser
Essen)
Feline: Malus weg (den sie fuer den angeborenen Schnellkampf haben),
Nachtsicht
Hobbits: Neuer Vor- und Nachteil (Wenn nicht sowieso schon da): Schnellere
Selbstheilung, wenn man keine Schuhe an hat - und langsamere, wenn man welche
traegt. Vielleicht den Wanderlustskill (temporaere Ausdauer- und/oder
Kraftsteigerung)
Elfen: Singen hoert sich doch gut an ;), sollte das Bogenschiessen endlich
erfunden werden, sollte diese Rasse es am besten beherrschen.
Delfen: Sonnencreme in andere Gilden mitnehmen
Menschen: Aehm. Was ist menschlich? (Ja, irren, den Skill sollte man aber
nicht proggen)

Ansonsten finde ich Rassengilden besser. Sie kann man auf den [gewuenschten]
Charakter einer Rasse trimmen - so sollte jeder Hobbit kochen koennen (wenn er
in seiner Gilde bleibt), waehrend ein Zwerg dafuer eher maessig zu begeistern
waere (fuers Essen umso mehr).

Terry. Hobbit. Trves. Hungrig.

-----------------------------------------------------------------------------



Re^3: Rassengilden (Kerrier, 21. Mar 2006, 20:04:35):
~#! rn=Terry rt=1142966159 rg=entwicklung
~#! tid=1142949465
Naja. Die 'Rassen'-Skills sollte man auch in einer anderen Gilde noch ueben
koennen. 

EK

-----------------------------------------------------------------------------



Re^4: Rassengilden (Terry, 21. Mar 2006, 20:05:04):
~#! rn=Kerrier rt=1142967875 rg=entwicklung
~#! tid=1142949465
Stimmt. Hatte ich nicht bedacht, sorry.

-----------------------------------------------------------------------------



Re^5: Rassengilden (Humni, 21. Mar 2006, 20:30:25):
~#! rn=Terry rt=1142967904 rg=entwicklung
~#! tid=1142949465
Es gibt Boegen im Mud. Es gibt dafuer Munition im Mud. Ich gebe zu, dass es
mit der Kampfkraft davon noch hapert. Was aber daran liegt, dass es dafuer
noch keine vernuenftigen Skills gibt. Die eine Elfengilde haben koennte.

(Namensvorschlag, idee hatte ich mal: Wipfellaeufer...)

Humni

-----------------------------------------------------------------------------



Re^3: Rassengilden (Ark, 21. Mar 2006, 21:35:18):
~#! rn=Terry rt=1142966159 rg=entwicklung
~#! tid=1142949465
Lehne ich grundweg als Rassen EM ab. Angesprochene Eigenschaften, die
angeblich Rassen eigen sein sollten, in Gilden mit Skills zu tun, ist
unlogisch (a) und wuerde eine grundsaetzliche Neubewertung aller Gilden (b)
bedeuten. Nichts gegen Rassenindividualitaet, aber dann bitte nicht so viel
kampfspezifisches, denn nochmal alle Gilden auszubalancieren kann nicht das
Ziel sein.
Und wie gesagt, angesprochene Eigenschaften sind entweder da oder nicht da,
sind sie lernbar, dann sollten sie den allgemeinen Gildenskillregeln beim
Gildenwechsel unterworfen werden.
Mit o.g. Faehigkeiten kann es u.U. passieren, dass einige Gilden sehr oder
viel unattraktiver werden, die Moeglichkeit von Eigenschaften ist manchmal
sehr begrenzt.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^4: Rassengilden (Ark, 21. Mar 2006, 21:39:00):
~#! rn=Ark rt=1142973318 rg=entwicklung
~#! tid=1142949465
Sollte letzten Nebensatz nochmal praezisieren:
Es ist schwer, viele unterschiedliche Gildenskills zu machen, die nicht wieder
auf "Anzahl Angriffe pro Runde", "Waffenskill", "Laehmen", "Licht", etc.
hinauslaufen. Man muss schon sehen, dass nicht eine Gilde fast alles kann, die
andere dann aber nicht, weil der "Vorteil" der Rasse schon in der Gilde mit
einem aehnlichen Skill implementiert ist.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Cicerones (Humni,  3. Apr 2006, 17:59:51):
Huhu,

auf vielfachen Wunsch hab ich mal ein verschlepptes Cicerone-Detail geaendert:
Die "hilf mir" Meldung wurde etwas verausfuehrlicht.

Humni

-----------------------------------------------------------------------------



artikel Anfaengerbefragung (Mesirii,  4. Apr 2006, 11:12:42):
Nur mal aus Interesse:
Zook hatte mir mal erzaehlt, dass er Neuspieler ausfragt, was sie so machen
und wie sie zum Mud gefunden haben.
1) Gibt es da irgendwo eine Uebersicht?
2) Wer macht das, wenn Zook nich da ist?
Gruss Mesi

-----------------------------------------------------------------------------



Re: artikel Anfaengerbefragung (Mesirii,  4. Apr 2006, 11:24:18):
~#! rn=Mesirii rt=1144141962 rg=entwicklung
~#! tid=1144141962
Vielleicht wuerde sich da jemand anbieten, der sowieso in der AGilde rumsteht
:)
Mesi

-----------------------------------------------------------------------------



Re: Re: artikel Anfaengerbefragung (Vector,  4. Apr 2006, 11:47:35):
~#! rn=Mesirii rt=1144142658 rg=entwicklung
~#! tid=1144141962
oder das ganze automatisieren und ein paar fragen nach der
wahl der rasse anhaengen?!

-----------------------------------------------------------------------------



Re^3: artikel Anfaengerbefragung (Taranis,  4. Apr 2006, 11:59:04):
~#! rn=Vector rt=1144144055 rg=entwicklung
~#! tid=1144141962
Das kann man dann ins mud-interne Anfaenger-Einfuehrungs-Tutorial/Gebiet
einbauen, am Ende, bevor man wieder rausgeht. ;-)
Taranis

-----------------------------------------------------------------------------



Re^4: artikel Anfaengerbefragung (Mesirii,  4. Apr 2006, 12:02:26):
~#! rn=Taranis rt=1144144744 rg=entwicklung
~#! tid=1144141962
Ich wuerde es, wie Vector vorgeschlagen hat, als Frage direkt mit anschliessen
und dafuer die email weglassen. Wer gibt denn schon seine Email an.
Taranis ist ein alter Zyniker :)
Mesi, Hoffnungszwerg

-----------------------------------------------------------------------------



Re^4: artikel Anfaengerbefragung (Kerrier,  4. Apr 2006, 12:03:22):
~#! rn=Taranis rt=1144144744 rg=entwicklung
~#! tid=1144141962
Hmmm. Ist vielleicht auch ein bloeder Vorschlag .. aber hier kommt er:

Mucks, Zwirch, ich und ein paar andere hatten auch mal ein paar Ideen zu einem
Mud ... eins der Dinge, die dabei rauskam und potentiell doch uebernehmenswert
ist, ist die Idee eines Gast-Gebiets ...

Und zwar waeren das ein paar Raeume, in die ein neu erschaffener Char kommt.
Er hat als erstes die Rasse 'Gast' und wird in diesem Gebiet ein paar Infos
bekommen und whlt sich danach eine Rasse. Rassenwechsel ist zu diesem Zeit-
punkt ja kein Problem. Zweitspieler huschen da halt nur durch.

Da koennte man wunderbar und toll eine Menge Infos fuer Newbies unterbringen
und ihnen auch jenseits der derzeitigen Rassenwahl Informationen angedeihen
lassen.

EK

-----------------------------------------------------------------------------



Re^5: artikel Anfaengerbefragung (Madness,  4. Apr 2006, 12:04:18):
~#! rn=Mesirii rt=1144144946 rg=entwicklung
~#! tid=1144141962
Seh ich als unrealistisch an, da man das jedesmal ausfuellen muss, auch bei
2ties? oder man es leer lassen koennen muss? Wenn ja fuellt das es keiner aus
oder habt ihr schonmal sowas bei Bestellungen und co ausgefuellt? Da sind
persoenliche Gespraeche schon besser.

Mad

-----------------------------------------------------------------------------



Re^5: artikel Anfaengerbefragung (Mesirii,  4. Apr 2006, 12:04:36):
~#! rn=Kerrier rt=1144145002 rg=entwicklung
~#! tid=1144141962
Nur wer schreibt es. Machen das Mucks, Zwirch und Du?
Aber die Ideen kann man ja sammeln -> ab ins Wiki damit.
Mesi, Wikizwerg

-----------------------------------------------------------------------------



Re^6: artikel Anfaengerbefragung (Taranis,  4. Apr 2006, 12:07:39):
~#! rn=Mesirii rt=1144145076 rg=entwicklung
~#! tid=1144141962
Najal. Das ist ja im Prinzip die Idee mit dem Gebiet, was seit Jahren geplant
ist und momentan bei Prinzessin auf dem Schreibtisch liegt.
Was den Fragebogen angeht, seh ich das tendenziell eher so wie Madness, bei
freiwilligem Ausfuellen wuerde die meisten, die ganze neu ins Mud kommen, es
nicht ausfuellen und es verpflichtend zu machen, finde ich auch nicht gut.
Taranis

-----------------------------------------------------------------------------



Re^6: artikel Anfaengerbefragung (Kerrier,  4. Apr 2006, 12:08:15):
~#! rn=Mesirii rt=1144145076 rg=entwicklung
~#! tid=1144141962
Anfaengerbefragung MUSS imho persoenlich sein.

Ich kenne meine Reaktion auf die Umfrage-Popups und koennte mir gut vorstel-
len, dass sowas Newbies eher vergrault. Im persoenlichen Gespraech ist das
was Anderes ...

EK

-----------------------------------------------------------------------------



Re^7: artikel Anfaengerbefragung (Mesirii,  4. Apr 2006, 12:09:27):
~#! rn=Taranis rt=1144145259 rg=entwicklung
~#! tid=1144141962
Dann muss sich halt jemand um das ausfragen kuemmern, auch wenn Zook nicht da
ist und
die Daten zusammentragen helfen. Das wollte ich damit eigentlich nur mal
ansprechen.
Mesi
Ansprechzwerg

-----------------------------------------------------------------------------



Re^8: artikel Anfaengerbefragung (Darklor,  6. Apr 2006, 16:20:07):
~#! rn=Mesirii rt=1144145367 rg=entwicklung
~#! tid=1144141962
Ein Ausfrage NPC ala Hippe? ;)

Darklor

-----------------------------------------------------------------------------



SSL Zugang (Rumata,  6. Apr 2006, 19:00:51):
Halloele,
nachdem Taranis so fleissig beim Debuggen geholfen hat, scheint der
SSL Zugang nun auch unter Last zu funktionieren.

Wie man sich per SSL mit dem MUD verbindet, steht unter
  http://mg.mud.de/newweb/download/stunnel.shtml

Viel Spass damit
  Rumata

-----------------------------------------------------------------------------



Re: artikel Anfaengerbefragung (Zook, 17. Apr 2006, 20:09:44):
~#! rn=Mesirii rt=1144141962 rg=entwicklung
~#! tid=1144141962
Hm. Ich habe das immer mal so sporadisch gemacht. Vielleicht sollte man das
ein wenig institutionalisieren. Ideen nur herbei. Zook.

-----------------------------------------------------------------------------



Abenteuer-Punkte bei info (Zook, 20. Apr 2006, 15:45:47):
Die Zahl in Klammern gibt nun die maximale Zahl der Abenteuerpunkte incl.
optionaler AP an (hoffentlich stimmt die Zahl auch ;). Also jedenfalls
nach ende/reboot/crash.

Zook.

-----------------------------------------------------------------------------



Re: Abenteuer-Punkte bei info (Zook, 20. Apr 2006, 16:42:33):
~#! rn=Zook rt=1145540747 rg=entwicklung
~#! tid=1145540747
*hust* Schoen, wenn man ueber seine eigenen Bugs stolpert. Nun sollte die
Summe der Questspunkte stimmen. Thx an Croft fuers handverzaehlen. ;) 

Zook.

-----------------------------------------------------------------------------



Erwarte MPA und ignorierte Threads (Ronda, 15. Jun 2006, 16:33:49):
Hallo,

gibt es eigentlich eine Moeglichkeit, dass man bei erwarteter MPA KEINE Info
angezeigt bekommt fuer Threads, die man grade ignoriert? Denn manchmal scrollt
das ganz schoen durch ;-)

Ronda

-----------------------------------------------------------------------------



Re: Erwarte MPA und ignorierte Threads (Maharet, 15. Jun 2006, 17:10:19):
~#! rn=Ronda rt=1150382029 rg=entwicklung
~#! tid=1150382029
Hmtja, nen Gag-Trigger. Aber warum sollte jemand Megaschmarrn ignorieren
wollen?

Maha

-----------------------------------------------------------------------------



Re: Erwarte MPA und ignorierte Threads (Zook, 17. Jun 2006, 20:11:08):
~#! rn=Ronda rt=1150382029 rg=entwicklung
~#! tid=1150382029
das ist ein feature!

zook.

-----------------------------------------------------------------------------



-grats+ als default (Maharet, 25. Jul 2006, 13:06:30):
Ich schlage vor, die -grats-Ebene fuer Anfaenger per default einzuschalten.
Ich selbst hatte erst nach Monaten herausgefunden, dass es diese Ebene gibt
(und damit sehr lange die Glueckwuensche ignoriert) und fand das sehr
bedauerlich.  Jetzt checke ich oefter, ob ein Anfaenger nach Loesen einer
Quest die Ebene an hat (was ueblicherweise nicht der Fall ist) und weise ihn
darauf hin.  Alle haben die Ebene eingeschaltet und sich fuer den Hinweis
bedankt.  Ich kann nun aber nicht staendig nachschauen, ist ja auch nicht
meine Aufgabe.  Deswegen bin ich dafuer, dass die Ebene von Haus aus
eingeschaltet ist.  Wen der Scroll stoert, kann die ja problemlos ausschalten.
Aber es ist ganz nett als Kleiner, der noch niemanden kennt, das Feedback fuer
eine geloeste Quest zu kriegen.  Ich haette es damals toll gefunden.

Maharet

-----------------------------------------------------------------------------



Re: -grats+ als default (Gwen, 25. Jul 2006, 13:08:20):
~#! rn=Maharet rt=1153825590 rg=entwicklung
~#! tid=1153825590
Bin aus den gleichen Gruenden dafuer.
Ciao, Gwen.

-----------------------------------------------------------------------------



Re: -grats+ als default (Alkohol, 25. Jul 2006, 13:08:42):
~#! rn=Maharet rt=1153825590 rg=entwicklung
~#! tid=1153825590
ich bin sehr dafuer. Insbesondere ist es doch ein bischen albern, dass alle
auf der Ebene gratulieren, derjenige davon aber gar nichts mitbekommt.

Alki

-----------------------------------------------------------------------------



Re: Re: -grats+ als default (Shaeena, 25. Jul 2006, 13:14:20):
~#! rn=Alkohol rt=1153825722 rg=entwicklung
~#! tid=1153825590
Bin auch dafuer, und wenn wir grade dabei sind: die Ebene Tod waere auch ganz
praktisch, als ich das erste mal gestorben bin habe ich mich nur gewundert,
was da eigentlich grade passiert. Da waere der eindeutige Hinweis "Bla hat
dich gerade umgebracht" doch ganz praktisch gewesen. :)

Shaeena

-----------------------------------------------------------------------------



Re^3: -grats+ als default (Madness, 25. Jul 2006, 13:21:25):
~#! rn=Shaeena rt=1153826060 rg=entwicklung
~#! tid=1153825590
Bin auch dafuer, dass die Ebenen -grats und -tod direkt eingeschalten sind.
Gruende wurden ja schon genug gesagt ;)

Mad

-----------------------------------------------------------------------------



Re^4: -grats+ als default (Anatol, 25. Jul 2006, 17:37:33):
~#! rn=Madness rt=1153826485 rg=entwicklung
~#! tid=1153825590
Ich plaediere an dieser Stelle dafuer, dass der Anfaenger als
erste Quest die Aufgabe "Lerne die Gespraechsebenen des Morgengrauens
kennen" vorgesetzt bekommt. 

DAMALS hab ich erst mit Stufe 10 oder so mitbekommen, dass es soetwas
gibt. Als Schrumpfi mir zum Erschlagen eines Schmetterlings gratuliert
hat und ich mich fragte woher sie das weiss.

HEUTE ist mehr Traffic auf den Kanaelen als damals. Insbesondere fuer
jene Neuzugaenge, die sich mit Screenreader oder Braillezeile hier her
verirren, mag es von Vorteil sein, grade am Anfang mit Opt-in statt
Opt-out bedacht zu werden.

Niemand sagt, dass wir uns an winzigen Minderheiten orientieren sollten,
aber vielleicht findet sich eine Loesung, die allen gerecht wird?

Anatol


-----------------------------------------------------------------------------



Re^5: -grats+ als default (Maharet, 25. Jul 2006, 19:23:38):
~#! rn=Anatol rt=1153841853 rg=entwicklung
~#! tid=1153825590
Es ist deutlich einfacher, eine Ebene auszuschalten als herauszufinden, welche
Ebenen es alles so gibt und was fuer Funktionen die haben. 
Klar kann man alles in der Hilfe lesen.
Klar kann man laengere Texte an den Anfang des Mud-Daseins stellen.  Nur wird
dann wohl keiner mit dem Mudden hier anfangen, denn die Leute wollen doch
gleich losspielen und Spass haben, ohne seitenlange Einfuehrungen und
theoretisches Krams zu lesen.  Gerade Maenner (und es gibt bekannterweise
keine Frauen im Mud) sind doch bekannt fuer ihre
Ueberraschungseispielsachen-ohne-Anleitunganschauen-Zusammenbau-Geschichte.  

Maha

-----------------------------------------------------------------------------



Re^6: -grats+ als default (Muadib, 25. Jul 2006, 23:42:04):
~#! rn=Maharet rt=1153848218 rg=entwicklung
~#! tid=1153825590
Grats und Tod sind fuer neue Spieler Defaultebenen

-----------------------------------------------------------------------------



Re^7: -grats+ als default (Mogur, 25. Jul 2006, 23:47:36):
~#! rn=Muadib rt=1153863724 rg=entwicklung
~#! tid=1153825590

Super! :-)
Und zunaechst einmal find ich es schoen, das Anatol an die
Screenreaderbenutzer gedacht hat :-) ... Aber wie schon erwaehnt, die kann man
recht fix ausschalten :) mach ich bei extremscroll auch oft ;)

Mogur

-----------------------------------------------------------------------------



Re^8: -grats+ als default (Grimmborn, 26. Jul 2006, 08:52:44):
~#! rn=Mogur rt=1153864056 rg=entwicklung
~#! tid=1153825590
Ja, die Frage ist aber ob man das fixer ausschalten kann als man sich denkt
"das ist mir aber viel zu stressig hier, ich glaub ich les lieber ein gutes
Buch" und sich ausloggt. Zumal man erstmal auf die Idee kommen muss dass sich
das ausschalten laesst, und dann noch wie man das genau bewerkstelligt.

GdA[ex-R] OHdMuBdE  

-----------------------------------------------------------------------------



Re^9: -grats+ als default (Highlander, 26. Jul 2006, 09:45:20):
~#! rn=Grimmborn rt=1153896764 rg=entwicklung
~#! tid=1153825590
Also denen, die so etwas verwenden, und damit in ein Mud kommen,
denen traue ich durchaus zu, dass sie wissen, wie sie das
ausschalten. Was nichts daran aendert, dass die Vermeidung groesserer
Scrollmengen in dem Fall keine schlechte Idee ist.

HrT

-----------------------------------------------------------------------------



Re^9: -grats+ als default (Mogur, 26. Jul 2006, 16:48:26):
~#! rn=Grimmborn rt=1153896764 rg=entwicklung
~#! tid=1153825590

Also ehrlich gesagt ists es weit schwieriger nach einer Ebene zu fragen, von
der man ueberhaupt nicht weiss das sie existiert, als danach ob man dies oder
jene Ebene nicht ausknipsen kann.
Und Jemand, der wegen -G und -T lieber ein spannendes Buch liest, der wird das
Anfaengerbuch und etliche Hilfsseiten noch viel unspannender finden, als die
zwei Ebenen...

Ich finds nach wie vor super, das -G und -T nun default sind! :-)
Abgesehen davon das ich Highlanders Argument fuer nachvollziehbar halte..

Mogur.

-----------------------------------------------------------------------------



Re^10: -grats+ als default (Grimmborn, 26. Jul 2006, 18:34:11):
~#! rn=Mogur rt=1153925306 rg=entwicklung
~#! tid=1153825590
Ich habe Dein Argument, wie ein Anfaenger auf die Idee kommen soll dass das
was abstellbares ist, nicht verstanden. Und wenn er sich in einer Phase
einloggt wo alle default Ebenen mit voller Kraft scrollen, und dazu Leute im
Startraum sich lebhaft unterhalten, und das noch per Braillezeile o.ae., dann
kann ich mir schon Frust vorstellen. Da gehts dann nicht um unspannend finden.

GdA

-----------------------------------------------------------------------------



Re^11: -grats+ als default (Mogur, 26. Jul 2006, 18:55:12):
~#! rn=Grimmborn rt=1153931651 rg=entwicklung
~#! tid=1153825590

Hm, Ok.
Also ich hab das so verstanden, das die Gefahr bestuende, Jemand logt sich ein
und besagte Ebene(n) scrollen... also wird sich gleich wieder ausgelogt. So
hab ich dein Argument verstanden. Richtig?
Dann wuerd diese Person lieber was spannendes lesen... und ich meinte nur das
gewisse Dinge hier ebenfalls scrollen und unspannend sind.. nothing else.
Das man zu einem ungluecklichen Zeitpunkt einlogt, kann passieren und es
scrollt grad auf -G. Das ist aber meistens nicht so arg lang und viel. Du
redest von Ebenen... da find ich, das manchma die -b Ebene weit mehr scrollt
und die Anfaenger Ebene auch... Das diese zwei Ebenen trotzdem per default an
sind macht ja auch trotzdem Sinn... Ebenso wie -G und -T trotz der
Moeglichkeit, das es zufaellig mal wild scrollt... fuer wie lange? 1 min...
maximal oder?
In der Regel sogar nur fuer die kurze Zeit und die paar Zeilen die 5-10
Gratulierende benoetigen... Das ist doch echt nicht wild. Klar irgendwo muss
eine Grenze gezogen werden.. aber meiner Ansicht nach halt nicht unbedingt bei
-G - was doch motivierend ist und sich die "Neuzugaenge" einbezogen fuehlen
koennten - und -T die spannend ist weil man da ein paar Monster- und
Spielernamen sowie die Messages der NPCs mitliest.
Ich fuer meinen Teil habs zumindest so empfunden... Andere moegen es nicht so
empfinden, aber notfalls reicht ein kurzer Hinweis auf die Ebenen (Du kannst
jede Ebene mit -Ebenenname- abschalten) und man darf es sich frei aussuchen.
Dies ist wesentlich zugaenglicher, als von Jemanden zu verlangen ihm/ihr
muesse von selbst einfallen, das es ja auch eine -G Ebene geben koennte....

Und die Liste der Ebenen scrollt erheblich mehr als -G. Meistens zumindest...

Unabhaengig davon, wie gesagt es gibt Ebenen, die sollten einfach per default
an sein egal wie sehr sie scrollen solange es nicht permanent ist und der
scroll sich in Grenzen haelt. Das tut es bei Grats und Tod halt nicht.

So :-) das ist hoff ich verstaendlicher jetzt...

Mogur

-----------------------------------------------------------------------------



Re^12: -grats+ als default (Mogur, 26. Jul 2006, 18:58:54):
~#! rn=Mogur rt=1153932912 rg=entwicklung
~#! tid=1153825590

Meine Guete...
Meine Guete... ich hol mir noch einen Kaffee.. ich hoffe ihr entschuldigt den
aeh .. nicht grad gelungenen Schreibstil :)


mogur.

-----------------------------------------------------------------------------



Pegasus und Spieler (Gloinson, 27. Jul 2006, 14:15:07):
Stand nicht mal die Idee im Raum, den klapprigen Gaul Spielern zugaenglich zu
machen, damit der wieder was zu tun hat? Wenn nicht, hiermit als Vorschlag
eingereicht *stempel* *dreifachkopie*.

Warum ich drauf komme?
Darum:
[Allgemein:Jralf] gibts denn fuer nicht-seher keine andere Moeglichkeit, nach
[Allgemein:Jralf] Fernwest zu kommen, als die Karawane
[Allgemein:Jralf] ?
[Allgemein:Devnull] Nein. Solange du kein portal da hin hast
[Allgemein:Garug] doch, gibts
[Allgemein:Jralf] ja?
[Allgemein:Jralf] wo?


-----------------------------------------------------------------------------



Re^12: -grats+ als default (Woody,  2. Aug 2006, 16:02:42):
~#! rn=Mogur rt=1153932912 rg=entwicklung
~#! tid=1153825590
Warum nicht beim Erstlogin abfragen? ;)  Die Idee ist ausbaufaehig;
mehrseitige Registrationsprozeduren sind denkbar, um gleich von
Anfang an Spieler an langwierige Syntaxen und Ueberinformation
zu gewoehnen.

Woody.-

P.S. Was aber wirklich Sinn machen wuerde, waere die Zweitiemarkierung
beim Erstlogin (Abfrage mit Pwd).


-----------------------------------------------------------------------------



Re^13: -grats+ als default (Muadib,  6. Aug 2006, 19:24:53):
~#! rn=Woody rt=1154527362 rg=entwicklung
~#! tid=1153825590
das erstlogin ist schon recht umfangreich finde ich

-----------------------------------------------------------------------------



-grats+ als default ist unfug (Regenschein, 22. Aug 2006, 13:46:39):
Hallo zusammen!

Ich habe selbst kuerzlich einen Spieler ins MorgenGrauen gelockt, der bislang
noch keine MUD-Erfahrung hatte. Fuer jeden Neuling ist es verwirrend, wenn auf
einmal (er versucht gerade etwas einzutippen) mitten drin ein Text in seiner
Konsole erscheint - noch dazu ein so sinnloser wie [Grats:Name] grats! und das
auf mehreren Zeilen. Keiner weiss was das zu bedeuten hat. Daher wuerde ich es
begruessen, dem Anfaenger nach wie vor mittels Tipp auf die -grats Ebene
hinzuweisen.

Viele Gruesse 
Regenschein


-----------------------------------------------------------------------------



Re: -grats+ als default ist unfug (Muadib, 22. Aug 2006, 13:48:17):
~#! rn=Regenschein rt=1156247199 rg=entwicklung
~#! tid=1156247199
er hat doch abenteuer an und sieht direkt vorher was die ursache war

-----------------------------------------------------------------------------



Re: Re: -grats+ als default ist unfug (Sharia, 22. Aug 2006, 13:49:33):
~#! rn=Muadib rt=1156247297 rg=entwicklung
~#! tid=1156247199
vielleicht liegt es auch daran, dass er mit einem simplen telnet drin ist und
ihm daher immer alles wegscrollt was er getippt hat? Ein Client, wie z.b. tf
ist da sehr von Vorteil... 

Sharia

-----------------------------------------------------------------------------



Re^3: -grats+ als default ist unfug (Segimer, 22. Aug 2006, 13:53:03):
~#! rn=Sharia rt=1156247373 rg=entwicklung
~#! tid=1156247199
Kann man das nicht so einrichten, dass nach einer angezeigten Meldung ein
Zeilenumbruch und der bereits eingetippte Text angezeigt werden? Dann steht
die Zeile, die man gerade editiert, immer ganz unten und wird nicht
"zerstoert".

-----------------------------------------------------------------------------



Re^4: -grats+ als default ist unfug (Maharet, 22. Aug 2006, 13:53:51):
~#! rn=Segimer rt=1156247583 rg=entwicklung
~#! tid=1156247199
Mit Mesis Telnet war das ja nicht mehr das Problem. Muss man nur sehen, ob das
wieder angeschlossen werden kann.

-----------------------------------------------------------------------------



Re^4: -grats+ als default ist unfug (Muadib, 22. Aug 2006, 13:53:55):
~#! rn=Segimer rt=1156247583 rg=entwicklung
~#! tid=1156247199
nein, das geht leider technisch nicht

-----------------------------------------------------------------------------



Re^5: -grats+ als default ist unfug (Gloinson, 22. Aug 2006, 13:56:41):
~#! rn=Muadib rt=1156247635 rg=entwicklung
~#! tid=1156247199
Was technisch ginge waeren ... ja, iiieeeeh ... Default-Einfaerbungen (die man
dann auch wieder abschalten koennen sollte). Damit wuerden unter den
heutzutage ueblicheren telnets die Ebenen auf jeden Fall anders einffaerbar
sein und sich damit vom Rest Grau auf Schwarz oder Schwarz auf Weiss
unterscheiden.
Nur so eine Idee um den Telnettern das Leben etwas einfacher zu machen. Ich
weiss, die ist tiefgreifend und vielleicht moechte man dann auch individuell
anpassbare einfaerbungen und Blub ... aber man kann ja mal drueber nachdenken.


-----------------------------------------------------------------------------



Re^6: -grats+ als default ist unfug (Grimmborn, 22. Aug 2006, 13:58:28):
~#! rn=Gloinson rt=1156247801 rg=entwicklung
~#! tid=1156247199
Bottom line ist dass es sehr wohl sehr sinnvoll ist, dass der grats-Kanal per
default angeschaltet ist, weil sonst die Newbies ja nicht die tollen
Gratulationstrigger bewundern koennen. Wurde erst kuerzlich ausfuehrlich
diskutiert und ist als Thema erst wieder um den Jahreswechsel dran.

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re^6: -grats+ als default ist unfug (Muadib, 22. Aug 2006, 13:58:34):
~#! rn=Gloinson rt=1156247801 rg=entwicklung
~#! tid=1156247199
die eingegebene und noch nicht abgesandte eingabe wuerde das aber auch nicht
retten

-----------------------------------------------------------------------------



Re^6: -grats+ als default ist unfug (Segimer, 22. Aug 2006, 13:59:18):
~#! rn=Gloinson rt=1156247801 rg=entwicklung
~#! tid=1156247199
nn

-----------------------------------------------------------------------------



Re^7: -grats+ als default ist unfug (Gloinson, 22. Aug 2006, 14:00:00):
~#! rn=Muadib rt=1156247914 rg=entwicklung
~#! tid=1156247199
Ja, leider nicht, da hilft nur ein Client. Aber falls das lokale Echo
angeschaltet ist, waere die Eingabe durch abgrenzende Einfaerbungen ein wenig
besser auffindbar.


-----------------------------------------------------------------------------



Re^7: -grats+ als default ist unfug (Segimer, 22. Aug 2006, 14:00:28):
~#! rn=Segimer rt=1156247958 rg=entwicklung
~#! tid=1156247199
Hmm, Kampf mit dem Editor im Telnet :)
Aeh, ich faende es jedenfalls hilfreich zumindest die Ebenen einzufaerben.
Dann klappts vielleicht auch mit dem Editor ;).

-----------------------------------------------------------------------------



Re^8: -grats+ als default ist unfug (Muadib, 22. Aug 2006, 14:01:16):
~#! rn=Segimer rt=1156248028 rg=entwicklung
~#! tid=1156247199
ich empfehle wirklich einen clientwechsel
mudden via telnet geht zwar aber ein client ist wesentlich komfortabler

-----------------------------------------------------------------------------



Re^9: -grats+ als default ist unfug (Orktoeter, 23. Aug 2006, 11:20:13):
~#! rn=Muadib rt=1156248076 rg=entwicklung
~#! tid=1156247199
Wie waere es denn, wenn der Grats-kanal von begin an deaktiviert ist, aber mit
dem loesen der ersten Quest automatisch eingeschaltet wird?
Der Newbie wird nicht von Anfang an mit dem gescroll konfrontiert und wenn er
sich ein bische auskennt (die erste Quest geloest hat), bekommt der als die
Gratulationern die ihn betreffen mit.
Klingt fuer mich nach dem Besten aus zwei Welten.

OrkT.

-----------------------------------------------------------------------------



Re^10: -grats+ als default ist unfug (Segimer, 23. Aug 2006, 11:21:19):
~#! rn=Orktoeter rt=1156324813 rg=entwicklung
~#! tid=1156247199
Genau. Und dazu eine Meldung, die die Aktivierung begruendet und das
Abbestellen erklaert. Gute Idee!

-----------------------------------------------------------------------------



Re^10: -grats+ als default ist unfug (Maharet, 23. Aug 2006, 11:21:27):
~#! rn=Orktoeter rt=1156324813 rg=entwicklung
~#! tid=1156247199
Klingt gut. Laesst sich das denn so einfach umsetzen?

Maha

-----------------------------------------------------------------------------



Re^11: -grats+ als default ist unfug (Rumata, 23. Aug 2006, 11:25:29):
~#! rn=Maharet rt=1156324887 rg=entwicklung
~#! tid=1156247199
Im Questmaster eine Maldung an this_player klingt technisch moeglich.
Rum**

-----------------------------------------------------------------------------



Re^12: -grats+ als default ist unfug (Daria, 28. Aug 2006, 01:58:33):
~#! rn=Rumata rt=1156325129 rg=entwicklung
~#! tid=1156247199
Im uebrigen gehen sicher die meisten newbies als erstes per telnet rein, an
einen tf kommt man ja doch eher spaeter... von daher sind diskussionen a la
telnet ist doof irrelevant.
Daria

-----------------------------------------------------------------------------



betr. erwarte mpa (Orktoeter, 15. Sep 2006, 18:45:07):
Hallo!

Noch mals die bitte doch die Meldung "* MPA: Neuer Artikel von xyz in Rubrik
yzx"." fuer Threads die man uebergeht auszubauen.

Danke, OrkT.

-----------------------------------------------------------------------------



Re: betr. erwarte mpa (Bambi, 16. Sep 2006, 11:38:28):
~#! rn=Orktoeter rt=1158338707 rg=entwicklung
~#! tid=1158338707
Die Wahrscheinlichkeit, dass sich jemand findet, der die MPA anpasst, duerfte
bei etwa 0 liegen. Such lieber jemanden, der sie neu schreibt.

-----------------------------------------------------------------------------



Re: Was tun bei den derzeitigen Laufzeit-Problemen? (Zook, 17. Sep 2006, 19:46:04):
~#! rn=Zook rt=1158500200 rg=bekanntmachungen
~#! tid=1158500200
Korrigiere: Aus "hoechstwahrscheinlich" wird "sicher".

Also, kommenden Freitag im Merlin, LD-Test der Interessierten.

Zook.

-----------------------------------------------------------------------------



Bug, wenn NPCs Ruestungen/Waffen ausziehen (Zesstra, 24. Nov 2006, 00:15:08):
Huhu,

die meisten von euch kennen vermutlich den Bug, dass Spieler auf einmal ne
Meldung kriegen, wenn ein NPC, der gar nicht im Raum steht, eine Ruestung
auszieht oder eine Waffe wegsteckt. Z.B.
"Ein Ork zieht einen Schild aus."

Dieser Bug ist seit einiger Zeit behoben. Allerdings wirkt sich der Bugfix nur
auf neugeladene Items aus. Da viele Ruestungen und Waffen zu dem Zeitpunkt
schon geladen waren, wird sich dieser Bugfix erst nach dem naechsten Reboot
voll auswirken. Wenn euch solche Meldungen auch danach noch auffallen: Bitte
meldet euch bei mir.

Zesstra

-----------------------------------------------------------------------------



Fehler-/Syntaxmeldungen, "notify_fails" (Zesstra,  9. Mar 2007, 22:01:25):
Huhu,

ihr kennt ja sicher das leidige Problem mit den Fehlermeldungen von Kommandos,
naemlich dass z.B. ein Gegenstand in eurem Inventar die
Fehlermeldung/Syntaxhilfe (das sog. "notify_fail") von einem Kommando im Raum
ueberschreibt, was evtl. sogar wichtig fuer Quest, FP o.ae. ist. Prominentes
Beispiel sind da z.B. diverse Schaufeln, deren notify_fail das vom
Raumkommando 'grabe' ueberschreibt.
Ich hab jetzt in der Mudlib testweise eine Aenderung an der Funktion, die die
notify_fails im Driver setzt, vorgenommen. Damit sollte es nun eigentlich
seltener vorkommen, dass sowas passiert, da beim Setzen der notify_fails jetzt
Raeume die von anderen Gegenstaenden ueberschreiben, aber nicht umgekehrt.

Die Prioritaet von Objekten beim Setzen der notify_fails ist nun in etwa so
wie folgt:
Spielerobjekt < Gegenstand < Raum < anderes Lebewesen

Die Aenderung ist bereits aktiv und erfordert keinen Reboot. :-)

Ich hoffe, dass dies die Haeufigkeit solcher Probleme in Zukunft reduziert.
Bitte beobachtet das mal in der naechsten Zeit, ob es nun besser ist oder ob
vielleicht neue andere Probleme entstehen, an die ich nicht dachte.

Zesstra

-----------------------------------------------------------------------------



Grafiken entschaerft (Ennox, 19. Apr 2007, 08:47:19):
Kristallkugelquest
Pyramidenquest - Labbeschreibung
Duesterwaldplakette - Achtung, kann Auswerteskripte beeintraechtigen
Wegweiser Lupinental
Klosterschluessel Lupinental
Baumschule bei Eliza

Gruss Ennox

-----------------------------------------------------------------------------



Re: Grafiken entschaerft (Mesirii, 19. Apr 2007, 13:11:37):
~#! rn=Ennox rt=1176965239 rg=entwicklung
~#! tid=1176965239
Duesterwaldplakette nach Reboot oder Ende.
Mesi

-----------------------------------------------------------------------------



Grafikumstellung (Ennox, 20. Apr 2007, 05:34:08):
Runen der Menhire fuer Nibels Miniquest
Ring Vesray Sit
Karte vom Waeldchen

einige Details auf der Rieseninsel

Ennox

-----------------------------------------------------------------------------



Grafikumstellung (Ennox, 20. Apr 2007, 09:31:55):
Rodelbahnschilder und Wegweiser am Bergdorf
Ennox

-----------------------------------------------------------------------------



Das MUD lebendiger machen (Mesirii, 21. Apr 2007, 16:12:55):
Hallo Allerseits,

mir ist beim Kochen etwas eingefallen, was helfen koennte, das Mud noch ein
bisschen lebendiger zu gestalten. Mir gefallen diese ganz kleinen Miniquests
wie sie in letzter Zeit vor allem fuer kleine Spieler angeschlossen wurden.

Was haltet ihr davon, das Angebot an diesen Aufgaben, die man auch mal schnell
nebenbei erledigen kann, deutlich zu erhoehen.

Dazu moechte ich zum einen die Magier bitten, kleinere Ideen von sich selbst
und von Spielern (geht ja mal in 1-2 Stunden) in solche kleinen Aufgaben um-
zusetzen. Die Spieler darum, ihre Phantasie spielen zu lassen und aus in den
vorhandenen Gegenden und NPCs nach geeigneten Ideen zu gucken. Man muss
ja nicht immer gleich ein neues Gebiet mit neuen NPCs schreiben, um sowas
unterzukriegen.

Vielleicht bekommen auch einige Spieler Lust, selber etwas zu programmieren
und werden noch Magier. Das waere natuerlich das Optimum.

Vielen Dank fuer die geschaetzte Aufmerksamkeit.

Mesi

P.S. Ennox nimmt auch gern Ideen an und wuerde sie nach Realisierbarkeit und
Absprache mit dem RM einbaun.

-----------------------------------------------------------------------------



Re: Das MUD lebendiger machen (Ennox, 21. Apr 2007, 16:28:46):
~#! rn=Mesirii rt=1177164775 rg=entwicklung
~#! tid=1177164775
Wie? Ich?
Nagut, also wer was hat, kann das gern an mich schicken.

Gruss Ennox

-----------------------------------------------------------------------------



Re: Das MUD lebendiger machen (Zesstra, 21. Apr 2007, 20:54:45):
~#! rn=Mesirii rt=1177164775 rg=entwicklung
~#! tid=1177164775
Ich bin ja auch ein Freund von kleinen Miniquests, hab ja dementsprechend auch
schon ein paar gebaut. Wobei vielleicht nicht alle so ganz arg simpel
ausfallen muessen, einige koennten ja auch etwas mehr Aufwand sein, wenn es
machbar ist.
Wenn jemand eine Idee hat, bin ich auch gerne bereit, zu gucken, ob sie mit
vertretbarem Aufwand umsetzbar ist und ob ich es machen kann.

Zesstra

-----------------------------------------------------------------------------



Ascii-Grafik-Umstellung (Ennox, 22. Apr 2007, 10:12:16):
Botschaft und Anleitung von Shaky-Quest
und
Lege-Puzzle von Tarko Reub 
sollten jetzt auch ohne Grafik tun

Ennox

-----------------------------------------------------------------------------



artikel Das Mud soll lebendiger werden Berufe (Ennox, 23. Apr 2007, 07:44:27):
Hallo,

ich hab wieder mal eine Idee. Die ist zwar nicht neu, aber hier
offensichtlich noch nie bis zur Produktionsreife gelangt :)

In der richtigen Welt gibt es ja auch Berufe. Wir hatten diese
Diskussion auch schon mehrmals im Mud, aber sie ist immer wieder
eingeschlafen bzw. zerredet worden. Daher moechte ich folgende
Vorschlaege machen, die hoffentlich den droegen Berufsvorstellungen
aus anderen Spielen nicht so doll folgen und damit eher den Spielspass
erhoehen und nicht nerven.

Also ich wuerde die Berufe so gestalten, dass sie nicht durch stupides
Arbeiten bzw. Skripten gelernt werden, sondern durch das Loesen von MQ
oder Quests, Finden von FP (indirekt), Eks etcs. Also das was man
normalerweise sowieso macht (Nagut bis auf die speziellen MQ). Bei den
MQ bin ich noch voellig offen. Zum Teil koennen vorhandene Miniquests
oder Gildenquests genutzt werden, zum Teil ganz kreative neue
geschrieben werden.

Ich hatte mir das so vorgestellt, das man einen Beruf erlernt und wenn
man den meisterhaft beherrscht (80-100 Prozent?) kann man den
naechsten lernen. Damit man das dann trotzdem nicht hochskriptet waere
eine Zeitsperre angemessen. Z.b. 100 Realtage fuer 100 Prozent Skill.

Vorteile dieses Systems:
* Man kann das (Boni) mit relativ wenig Aufwand in die Lib integrieren
* es muessen keine riesigen neuen Gebiete geschrieben werden und auch 
kein Haufen von NPCs, 
* vorhandenes wird genutzt und lebendiger
* die Boni nuetzen allen was, vom kleinen Spieler bis zum SuperSeher
* man kann selbst steuern, was einem wichtig ist
* es gibt neue Toplisten
* hoffentlich lohnt sich skripten nicht
* kleine MiniQuests sind schnell mal geschrieben und angeschlossen
  d.h. niedrigere Hemmschwelle uns schnellere Motiviation fuer Magier 
  und solche die es werden wollen

Ich stelle mal im folgenden die angedachten Berufe vor und was da dazu
gehoert, die Boni und Lernsachen sind Dinge die mir so eingefallen
sind, weder absolut festgelegt aber auch nicht einfach ablehnbar
:). Aber natuerlich hat das alles noch keinen Anspruch auf
Vollstaendigkeit, daher faend ich eine rege Beteiligung und
Ideensammlung gut.

Insgesamt muss man natuerlich sehen, wie das dann laeuft. D.h. es gibt
keien Bestandsschutz fuer Zahlenwerte von Boni oder Lernen.

Schmied
Bonus: billiger Reparieren, selbst Reparieren, Schutzbonus beim Beschaedigen 
von Ausruestung, selber schmieden, Waffen schaerfen
Lernen: Schmiede besuchen, Kaputtmachen ueben, Reparieren ueben,
Metalle besorgen, Transportdiense und andere Auftraege, Bier, Wasser
fuer die Schmiede etc, Ruestungsskill, Gram

Haendler
Bonus: billiger kaufen, teurer verkaufen, noch geld bekommen, wenn der
laden schon pleite ist, P_NO_BUY sachen kaufen
Lernen: transportauftraege, inventur (z.b. kisten in PV),
Geldtransporte, Laden-Ueberfall abwehren, Lager putzen, Muell
entsorgen, Muellschlucker ausfuehren, Lage sortieren,

Wirt:
Bonus: billiger einkaufen, mehr heilung, weniger warten, weniger
fuellung, eigenen zustand besser kennenlernen, mitnehmbare speisen
Lernen: Speisen zubereiten, die dann verkaufen (Markt), Zutaten
besorgen, Transportauftraege, Kunden werben, Verkosten, Muell
entsorgen, Shaky-Belieferung, Trves-Koch-Quest

Postbote
Bonus: Spieler kann ueberall Post lesen, Spieler kann ueberall Post
verschicken, billigere Pakete, ueberall ein Paket falten (magisch),
Sonderbriefmarken, man kann npcs Briefmarkensammlung zeigen zum
Paralysieren
Lernen: Postkutsche fahren, Post austragen (Postquest, Oberpostquest),
Postaemter leeren, Ueberfall abwehren, Pegasus

Gourmet (vllt. statt Wirt):
Bonus: guenstiger Essen, mehr draus machen
Lernen: bewerten von Speisen (nach fuellung, heilung, warten, stimmung
und je nachdem wie nah das am wert ist, lernt man besser). zutaten
besorgen, verkosten

Fischer:
Bonus: Fische als mitnehmbare Tanke, Fische nach Humni werfen (*duck*), 
Lernen: Angeln, Fische ausnehmen und zubereiten, schwimmen, tauchen,
netze bauen, angelgruende ausprobieren und bewerten

Kapitaen:
Bonus: schneller reisen (Spieler), kuerzere Wartezeiten, Routen
ablegen unter Namen, eigenes Boot, rumschippern (erstmal auf den
Routen, spaeter vllt. freier)
Lernen: Routen bereisen, selbst steuern, Boote reparieren,
Leute/Schiffe aus Seenot retten, Schiffe bergen, Schaetze bergen,
fischen, Navigation, verfahren

Soweit erstmal. Wenn ihr eine Meinung dazu habt oder Euch noch weitere
Berufe vorschweben oder ihr noch mehr Ideen fuer die Boni oder
Lernmoeglichkeiten habt, schreibt in die Rubrik oder mir eine Mail.

Gruss Ennox

-----------------------------------------------------------------------------



Re: artikel Das Mud soll lebendiger werden Berufe (Gnome, 23. Apr 2007, 14:27:06):
~#! rn=Ennox rt=1177307067 rg=entwicklung
~#! tid=1177307067
ohne die idee jetzt komplett schlechtreden zu wollen: berufe in einer
virtuellen realitaet rufen bei mir als allererstes kopfschuetteln
hervor. warum? nun, ganz einfach: ich kann mir nur schwer vorstellen,
dass jemand nach seiner arbeit in rl auch noch seiner arbeit in vl
nachgehen moechte. gut, zumindest waere es bei mir so. vielleicht auch
bei anderen? vielleicht ist deshalb diese idee noch nicht weiter
ernsthaft verfolgt worden?
ich fuer meinen teil wuerde in einer phantasiewelt das erwarten wollen
zu sein, was man in der realen nicht oder nur sehr eingeschraenkt sein
kann (natuerlich kann jeder schwertkampf lernen, aber ein schwert-
kaempfender choaskrieger zu sein der daemonen beschwoert wird schon
schwieriger).

vielleicht bin ich aber auch der einzige, der das so sieht oder ich
mache mir gerade eine komplett falsche vorstellung von der ganzen sache.
waere gespannt auf weitere meinungen.

gnOme

-----------------------------------------------------------------------------



Re: Re: artikel Das Mud soll lebendiger werden Berufe (Maharet, 23. Apr 2007, 14:31:45):
~#! rn=Gnome rt=1177331226 rg=entwicklung
~#! tid=1177307067
Aeh ... das sind keine Berufe, in denen man dann jeden Tag 8 Stunden arbeiten
muss, sonst wird man gekuendigt.  Das sind Skills, die man erlernen kann (aber
auch nicht muss, auch nach Einfuehrung solcher Berufe kann man doch darauf
verzichten, diese zu erlernen) und von denen man dann ggf Vorteile haette. 
Eine neue Motivation, Miniquests zu loesen.

Ich verstehe dein Problem damit nicht.  Stoert Dich das Wort "Beruf"?


Maha

-----------------------------------------------------------------------------



Re: Re: artikel Das Mud soll lebendiger werden Berufe (Croft, 23. Apr 2007, 14:35:41):
~#! rn=Gnome rt=1177331226 rg=entwicklung
~#! tid=1177307067
Stell es dir als zusaetzliche Spieldimension wie eine Gilde vor.  Der
Beruf gibt zusaetzliche Faehigkeiten.  Und wenn Miniquesten loesen
o.ae. unter Arbeit faellt, nunja.  Dann kann man dir wohl nicht helfen.

Croft

-----------------------------------------------------------------------------



Re: Re: artikel Das Mud soll lebendiger werden Berufe (Mesirii, 23. Apr 2007, 14:40:30):
~#! rn=Gnome rt=1177331226 rg=entwicklung
~#! tid=1177307067
Ich wuerde noch den Beruf des Sandsiebers vorschlagen, extra fuer Kampf-
zwerge. Ausuebung: 8 Onlinestunden pro Tag Sand in der Wueste sieben.
Bonus kein Sonnenbrand und keine Sandhaie mehr. Lernen: verschiedene Sandarten
erkennen und sieben, mit Wassermangel und grosser Hitze sieben, Sandburgen und
Duenen bauen und abtragen, Wanderduenen hegen etc.

Mesi :)

-----------------------------------------------------------------------------



Re: artikel Das Mud soll lebendiger werden Berufe (Ark, 23. Apr 2007, 16:12:13):
~#! rn=Ennox rt=1177307067 rg=entwicklung
~#! tid=1177307067
Das Incentive System (was hat man davon) sollte vorher klar sein und von den
Gilden abgegrenzt werden. Viele der Beispiele simulieren Gildenfaehigkeiten
... das Zerreden der Idee resultierte ja u.a. immer daraus, dass man
befuerchten muss, die einzigartigen Faehigkeiten einiger Gilden werden
Allgemeingut und damit weniger wert.
Im allgemeinen finde ich das eine gute Idee (und viel Arbeit .-)).


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: Re: artikel Das Mud soll lebendiger werden Berufe (Bambulko, 23. Apr 2007, 16:15:57):
~#! rn=Ark rt=1177337533 rg=entwicklung
~#! tid=1177307067
Die Idee ist sicher gut, aber ich denke man sollte sich auf einen Beruf
spezialisieren und nicht alle hintereinander waehlen koennen. Wenn man nur
einen Beruf waehlen kann, hat das auch den Vorteil, dass man die einzelnen
Skills besser machen kann.

Bambulko

-----------------------------------------------------------------------------



Re: Re: artikel Das Mud soll lebendiger werden Berufe (Humni, 23. Apr 2007, 16:16:29):
~#! rn=Ark rt=1177337533 rg=entwicklung
~#! tid=1177307067
Das ganze ist eine tolle Idee (auch wenn sie nicht neu ist, haha, im
Epacris... aeh.. wenn ich jetzt sage gibts das auch schon.. dann stimmt das so
nicht... ach egal). Ich denke aber, dass das Berufssystem zum Beispiel ein
Grund fuer den Erfolg von World of Warcraft ist (mag man nun gut oder schlecht
finden, aber das ist ja kein Grund, sinnvolle Ideen zu uebernehmen). Da wird
das Ganze dann dadurch interessant, dass man heftige Rezepte suchen muss ("wie
baue ich als Schmied eine besonders coole Axt") oder schwierig zu besorgende
Materialien abbauen muss.

Aber: Das Ganze sollte von vornherein richtig gut durchdacht werden und dann
auch entsprechend umgesetzt. Einen Beruf mit allem was dazugehoert zu bauen
ist bestimmt so aufwaendig wie eine Gilde (klar, ne Miniquest zwischendurch
mag ein erfahrener Magier am WE schreiben, aber nicht den ganzen Beruf). Des
Weiteren sollte es hierfuer einen durchdenkenden Verantwortlichen geben. Und
so weiter. Aber ich wills nicht zerreden, ich find die Idee insgesamt sehr
reizvoll.

Humni
PS: Oben fehlt irgendwo ein "nicht". Ist mir gerade auch egal.

-----------------------------------------------------------------------------



Re^3: artikel Das Mud soll lebendiger werden Berufe (Mesirii, 23. Apr 2007, 17:46:35):
~#! rn=Humni rt=1177337789 rg=entwicklung
~#! tid=1177307067
Danke fuer das positive Feedback, ich werd auf jeden Fall mit Cakey wegen
der Talente aus dem Epa reden. Sicher kann man da wertvolle Dinge draus
lernen und uebernehmen. Zu den Multiberufen - ich faends schon schoen, wenn
man in mehr als einem Beruf Meisterschaft erlangen kann. Sonst ist die
Motivation nach dem ersten Beruf ja wieder weg. Und es zeichnet dann halt
auch einen HLP aus, dass er in vielen Berufen Meister ist, mit all dem Auf-
wand, den er reingesteckt hat und den Vorteilen die er daraus zieht.
Abgrenzung zu den Gilden ist klar, aber wird nicht absolut passieren.
Sofas und Spieleregale werden weiterhin bei den Gilden bleiben. 
Ich will das ganze halt auch nicht als Monolith einmal hinsetzen, sondern
sich entwickeln lassen, mit den notwendigen Aufs und Abs, dazu kann z.B. auch
gehoeren, dass der Skill dynamisch ist, abhaengig von den vorhandenen Lern-
moeglichkeiten. Und Bestandsschutz ignorier ich einfach, wer keinen Beruf
lernen will muss es nicht, wer es will und dafuer was tut, kriegt auch was
raus, nur wird das wahrscheinlich nicht konstant bleiben. Aber der weiss
dann auch dass er sich genau darauf einlaesst.
Wie schon gesagt stupides Haemmern, brauen etc. will ich eigentlich vermeiden.
alias tf_prompt end_13
Mal schauen wie sich das machen laesst. Ich bin auch offen fuer Ideen aus
jeder Art von Spielen. Hab da keine Animositaeten.
Usw. usw  :)

Mesi, da war nen trigger zwischendrin, ich schreib den Artikel jetzt nicht neu

-----------------------------------------------------------------------------



Re^4: artikel Das Mud soll lebendiger werden Berufe (Mesirii, 23. Apr 2007, 17:48:24):
~#! rn=Mesirii rt=1177343195 rg=entwicklung
~#! tid=1177307067
Achso ich wuerde mir dafuer auch den Hut aufsetzen, und ggf. Cakey treten und
gern auf Eure Erfahrungen aus den verschiedenen Balancen und Gilden zurueck- 
greifen.

Mesi.

-----------------------------------------------------------------------------



Re^5: artikel Das Mud soll lebendiger werden Berufe (Vanhelsing, 23. Apr 2007, 18:00:18):
~#! rn=Mesirii rt=1177343304 rg=entwicklung
~#! tid=1177307067
Nochmal ernsthaft.
Ich finde die Idee von Berufen und Talenten schon nich schlecht. Das hat mir
in Epacris schon gefallen, und ich denke, dass diese Idee dem MG gut tun
wuerde. Mir ist auch klar, dass das nicht so leicht werden wird bzw. kann, wie
ich mir vorstelle, aber das ist trotzdem ein Vorschlag, den man ueberdenken
sollte.

VH

-----------------------------------------------------------------------------



Re^6: artikel Das Mud soll lebendiger werden Berufe (Ark, 23. Apr 2007, 18:15:15):
~#! rn=Vanhelsing rt=1177344018 rg=entwicklung
~#! tid=1177307067
Solange das Koennen wirklich mal was Neues ist, waere das sogar gut ... aber
das sollte wirklich mit den bekannten Balancegremien besprochen werden. Ich
freunde mich eher mit einem Beruf pro Charakter an, mit dem man sich
identifiziert. Oder zumindest nur verwandte Berufe, oder sollten
steinesammelnde Trank-Schmiede-Haendler zugelassen sein? Ich denke nicht :-)
Hier noch ein paar Ideen:
Kraeutersammler ... was wird aus den schon fast fertigen Kraeutern?
Heilkundler, koennen in bestimmten Gebieten kleine Heilstellen finden (am
Wasser, unter der Erde...), die fuer kurze Zeit jedem eine kleine Heilung
geben.
Hautwechsler, die kennen sich mit Tieren gut aus, und koennen bestimmte Tiere
als Begleitung zum _Schutz_ im Kampf mitnehmen (keine bestehenden NPC).
Gerber, die aus Tierleichen brauchbare Ruestungen machen koennen.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^7: artikel Das Mud soll lebendiger werden Berufe (Bambulko, 23. Apr 2007, 18:18:44):
~#! rn=Ark rt=1177344915 rg=entwicklung
~#! tid=1177307067
Das meine ich ja mit der Balance. Entweder macht man die Skills sehr schwach,
dann kann man ruhig alle Berufe erlernen, oder man macht die Skills staerker,
wenn man nur einen Beruf erlernen kann. Sonst geht das nicht mit der Balance.

Bambulko

-----------------------------------------------------------------------------



Re^8: artikel Das Mud soll lebendiger werden Berufe (Gloinson, 23. Apr 2007, 18:20:04):
~#! rn=Bambulko rt=1177345124 rg=entwicklung
~#! tid=1177307067
Haengt davon ab ob alle Skills unbedingt mal wieder kampfbeeinflussend sein
muessen. Wenn ja, muss halt wie bloede balanciert werden.


-----------------------------------------------------------------------------



Re^8: artikel Das Mud soll lebendiger werden Berufe (Ark, 23. Apr 2007, 18:21:41):
~#! rn=Bambulko rt=1177345124 rg=entwicklung
~#! tid=1177307067
Ich hab es eher mit der Logik ... Beruf kommt von Berufung ... viele Berufe ->
keine Berufung :-) Sieht nach Skilloptimierung aus ;-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^10: artikel Das Mud soll lebendiger werden Berufe (Darklor, 23. Apr 2007, 19:45:35):
~#! rn=Darklor rt=1177349726 rg=entwicklung
~#! tid=1177307067
Ich waere fuer Koeche - natuerlich mit allem was dazu gehoert: Kochquests;
Kuechen/Koeche besuchen, eine eigene Kueche aufbauen bzw. mit Kuechenutensilen
ausstatten (selber Bauen/ ermetzeln);  Rezepte lernen, eigene Rezepte
entwickeln, und dann kochen (Ergebnis kleine mitnehmbare Tanken), Zutaten
besorgen: ermetzeln, finden, Miniquests; Faehigkeit - ausnehmen, zerlegen,
tranchieren  -> kleiner Bonus auf Messer / bzw. beim kaempfen mit
Kuechenutensilen, ...

Das koennte so natuerlich auch ne Gilde sein, aber wer wuerde das schon
programmieren (wollen)...

Darklor

-----------------------------------------------------------------------------



Re^11: artikel Das Mud soll lebendiger werden Berufe (Darklor, 23. Apr 2007, 19:53:32):
~#! rn=Darklor rt=1177350335 rg=entwicklung
~#! tid=1177307067
Ach was ich noch schreiben wollt: Welche Berufe aus Epacris? - Dort wurden sie
ja schliesslich nie umgesetzt. - Ansonsten kenn ich noch die Berufe aus
Avalon: je hoeher das Level, desto mehr Berufe konnte man erlernen, aber
dafuer gab es dort auch keine richtigen Gilden -> Magie und Waffenfaehigkeiten
gabs dort fuer alle, ueber Lehrer. 

Darklor

-----------------------------------------------------------------------------



Re^12: artikel Das Mud soll lebendiger werden Berufe (Gloinson, 23. Apr 2007, 22:16:42):
~#! rn=Darklor rt=1177350812 rg=entwicklung
~#! tid=1177307067
Wenn selbst die Koeche wieder nur noch kampfrelevant sind ... da hab ich eine
Datei zu einer sehr albernen Gilde herumliegen. Sprich ein Beruf sollte IMHO
eben nicht wieder allein nur fuer den Kampf und fuers Identifizieren gut sein,
sonst kann es eine Gilde werden.


-----------------------------------------------------------------------------



Re^13: artikel Das Mud soll lebendiger werden Berufe (Darklor, 23. Apr 2007, 22:23:32):
~#! rn=Gloinson rt=1177359402 rg=entwicklung
~#! tid=1177307067
Du hast schon ne Gilde fertig? - Na, dafuer wird sich doch bestimmt n Mud
finden lassen - und wenns Epacris is. ;) 

Darklor

-----------------------------------------------------------------------------



Re^11: artikel Das Mud soll lebendiger werden Berufe (Zook, 24. Apr 2007, 11:54:09):
~#! rn=Darklor rt=1177350335 rg=entwicklung
~#! tid=1177307067
Nicht zu vergessen:
Suppe versalzen
Brei verderben 
etc.

Z

-----------------------------------------------------------------------------



Leerzeichen zuviel? (Humni,  1. Mai 2007, 18:46:08):
Huhu,

vielleicht ists dem ein oder anderen schon aufgefallen: Ein paar Leerzeichen
sind manchmal vor Namen von NPCs zuviel derzeit. Sowas wie [Moerder: Geist 
Lofwyrs] scrollte kuerzlich mal ueber den Bildschirm, und da waren es zwei
Leerzeichen zwischen "Geist" und "Lofwyrs".

Das Ganze ist ein Mudlib-Bug, der nun behoben ist. Leider koennen wir nicht
mal eben alle Objekte im Spiel neuladen. Naja, das koennen wir schon, der
Preis waere ein kleiner Weltuntergang.

Ich glaube, es ist im Interesse aller, wenn wir darum keinen solchen
herbeifuehren und ihr bis zum naechsten sowieso passierenden solchen mit den
Leerzeichen lebt.

Gefixt habe den Bug natuerlich nicht ich, sondern Zesstra, ich habe nur
dummschwaetzend danebengestanden und habe so getan als wuerde ich mithelfen
und mich dann bereiterklaert den Zeitungsartikel zu schreiben. Nicht dass
jemand meint, ich wolle mich mit fremden Federn schmuecken.

Gruesse
Humni

-----------------------------------------------------------------------------



Re: Leerzeichen zuviel? (Liara,  4. Mai 2007, 13:45:06):
~#! rn=Humni rt=1178037968 rg=entwicklung
~#! tid=1178037968
Galt das zB auch fuer Phlyaken? Mein Farbtrigger ist beim Zaubi-Finde nur ab
und zu angesprungen und ich wollte schon meinen Rechner aus dem Fenster werfen
... ;)

-----------------------------------------------------------------------------



Waffenskills (Humni, 13. Mai 2007, 22:03:25):
Huhu,

es kann passieren, dass auch Nicht-Kaempfer (fuer die kaempfer steht schon was
in ihrer Rubrik) Probleme mit dem Erlernen von Waffenskills haben, da die
Gilden eventuell den allgemeinen Skill abfragen.

Solche Beobachtungen bitte an mich weitergeben, ein renewen der entsprechenden
Spieler sollte helfen. Sollten Gilden da die Moeglichkeit nicht mehr bieten,
den Skill nachtraeglich zu lernen, bitte mir oder (wenn vorhandem) dem
Gildenmagier mitteilen, wir kuemmern uns dann drum (wenn wir nicht da sind,
gerne auch per Mail).

Danke fuer die Aufmerksamkeit,
Humni


-----------------------------------------------------------------------------



Kluge Drachen. (Humni, 14. Mai 2007, 15:28:52):
Huhu.

Kluge Drachen machen kluge Dinge. So wie ich. Ich will boese, gemein und
fiesartig sein - und bin das auch. Darum funktionieren bei einigen von Euch
die Skills und Spells nicht mehr. Das habe ich gemacht, um Euch zu aergern,
damit Ihr Euch aufregt und schreit "Humni ist ein fieser Drache!".

Los, macht das!

Ansonsten duerfen Euch auch die Magier renewen, falls ihr dieses Problem habt.
Damit ihr glaubt, ihr haettet Macht ueber mich und meine Untaten.

Humni
(laesst jetzt besser wieder die Finger von der Mudlib).

-----------------------------------------------------------------------------



Re: Kluge Drachen. (Zesstra, 14. Mai 2007, 15:32:10):
~#! rn=Humni rt=1179149332 rg=entwicklung
~#! tid=1179149332
Humni ist gar nicht so fies, boese und gemein, ich moechte also festhalten,
dass ich auch meinen Anteil an dem Chaos hab, weil ich den urspruenglichen
fehler eingebaut hab. ;-)

Zesstra

-----------------------------------------------------------------------------



Re^12: artikel Das Mud soll lebendiger werden Berufe (Raschaua, 14. Mai 2007, 23:48:57):
~#! rn=Darklor rt=1177350812 rg=entwicklung
~#! tid=1177307067
Das stimmt so nicht, die Berufe im Epacris waren von der Lib her fertig. Und
ich hatte den Beruf des Totengraebers anschlussfertig. Naja, wie so vieles im
Epa, eigentlich vorhanden, nur die anschliessenden Magier sowie die
benutzenden Spieler fehlten.

Cakey

-----------------------------------------------------------------------------



Re^13: artikel Das Mud soll lebendiger werden Berufe (Ennox, 15. Mai 2007, 00:33:32):
~#! rn=Raschaua rt=1179179337 rg=entwicklung
~#! tid=1177307067
Dann ist das ja kein Problem, die Prinzipien und ggf. Code ins MG zu
uebernehmen. Wozu das Rad 2x erfinden.
Ennox

-----------------------------------------------------------------------------



Re^14: artikel Das Mud soll lebendiger werden Berufe (Darklor, 16. Mai 2007, 18:59:15):
~#! rn=Ennox rt=1179182012 rg=entwicklung
~#! tid=1177307067
Und warum nich auch gleich den Beruf des Totengraebers anschliessen? ;) hier
oder erstmal in Epacris zum testen. ;) 

Darklor

-----------------------------------------------------------------------------



Re^15: artikel Das Mud soll lebendiger werden Berufe (Kessa, 16. Mai 2007, 23:05:54):
~#! rn=Darklor rt=1179334755 rg=entwicklung
~#! tid=1177307067
Sehr huebsch passend zur Ueberschrift :)

-----------------------------------------------------------------------------



Re^6: artikel Das Mud soll lebendiger werden Berufe (Bambi, 17. Mai 2007, 12:02:07):
~#! rn=Vanhelsing rt=1177344018 rg=entwicklung
~#! tid=1177307067
Bin erst bei Artikel 19 von 37, aber ich geb trotzdem mal schon meinen Senf
dazu.
Was ich etwas vermisse ist eine Art Wirtschaftselement, wie in einer
Handelssimulation. Mir schwebte etwas in der Art vor:

Man kann sich einen Karren kaufen, der von Zugtieren auf bestimmten Strecken
gezogen werden kann und eine bestimmte (begrenzte) Menge Ladung transportieren
kann.
Ein Spieler kann nun an einem Ort A (z.B. irgendwo in der Wueste) fuer einen
bestimmten Preis eine bestimmte Ware (z.B. Sandstein) kaufen und damit zu
einem anderen Ort B (z.B: Port Vain) gondeln, um sie dort wieder (zu einem
hoeheren Preis) zu verkaufen.

Nebenbedingungen sind.

1. Die zu transportierende Waren kann (natuerlich) nur auf einem
entsprechenden Transportgefaehrt transportiert werden, damit der Spieler nicht
einfach 10.000 mal von A nach B skriptet.
2. Das Transportgefaehrt kann nur bestimmte Wege befahren. Der Spieler kann an
den "Kreuzungen" entscheiden, in welche Richtung er fahren will. (Er koennte
ggf. auch umkehren.)
3. Das Transportgefaehrt kann (richtungstechnisch) zwar vom besitzenden
Spieler gesteuert werden, aber es faehrt nur mit einer begrenzetn
Geschwindigkeit.
4. Der Spieler muss auf die Karawane natuerlich aufpassen, weil (auf den
definierten Wegen) Raeuber lauern koennten, die die Karawane ansonsten (oder
trotzdem) ueberfallen und dem Spieler auch etwas zu tun geben. (Er kann
natuerlich auch andere Spieler oder NSCs anheuern, um die Bewachung zu
uebernehmen. Kostet ihn halt (bei NSCs) Geld.)

Um Dauermetzel-Millionaeren keinen allzu grossen Vorteil zu gewaehren, koennte
es fuer diese Handelssimulation eine bestimmte (vom normalen Geld
unabhaengige) Waehrung geben.

Das Handelssystem wuerde sich imho in ein bestehendes Berufesystem einfuegen,
weil man nun auch mit Berufen etwas "von Wert" herstellen kann, das von den
Karawanen transportiert und woanders verkauft werden kann, ohne dass sich der
Berufeskill unnoetig auf das (metzeltechnische) Spielgleichgewicht auswirkt.


Beispiele:

Beruf 1 (Schuerfer) kann Rohstoffe im Gebirge bei den Zwergen erwirtschaften.
Er verkauft seine geschuerften Sachen dort an einen fahrenden Haendler.
Der bringt den Rohstoff zum Schmied in Port Vain (und streicht einen Gewinn
ein), der ihn zu Metall verarbeitet und/oder weiterverarbeitet.
Das Metall wird (wieder von einem Haendler) zu XYZ transportiert, die das fuer
irgendetwas anderes brauchen...

MfG, Bambi..

-----------------------------------------------------------------------------



Re^7: artikel Das Mud soll lebendiger werden Berufe (Darklor, 19. Mai 2007, 00:46:28):
~#! rn=Bambi rt=1179396127 rg=entwicklung
~#! tid=1177307067
Da faellt mir ein ich hatte ja noch eine Idee fuer n Beruf - Kartograph: Finde
alle Mud internen Karten und dann kann man das Mud auch selbst intern
kartographieren / oder von bestimmten Gebieten kleinere Karten anfertigen, die
man dann vllt auch mit anderen Kartographen untereinander austauschen kann.

Darklor

-----------------------------------------------------------------------------



Re^8: artikel Das Mud soll lebendiger werden Berufe (Orktoeter, 24. Mai 2007, 19:56:10):
~#! rn=Darklor rt=1179528388 rg=entwicklung
~#! tid=1177307067
Es gibt (gab?) nur einen Kartographen!

-----------------------------------------------------------------------------



'nimm eigenes' (Zesstra, 24. Mai 2007, 21:19:13):
Huhu,

ich hab das Kommando "nimm" ein kleines bisschen aufgebohrt.

Steht man in einem Raum, wo man gestorben ist und liegt dort der eigene
Kram in Form eines "Haufen Krempels", kann man mittels 'nimm eigenes'
alles aus diesem (und nur diesem) Haufen aufnehmen. Dieses schliesst
uebrigens 'nimm behaltenes' ein.
Fuer den Kram im Haufen ist es egal, ob man vor dem Sterben seinen Kram
"behalten" hat oder nicht. Allerdings nimmt man auch den Kram auf, den andere
Spieler ggf. nach dem eigenen Tod in die Leiche oder den eigenen Haufen gelegt
haben. ;-)
Achja, das ganze funktioniert in neuen _Raeumen_. Ihr braucht kein neues
Spielerobjekt. Da aber ne ganze Reihe von Raeumen waehrend der Uptime nicht
neugeladen werden, ist mit flaechendeckendem Funktionieren erst nach dem
naechsten Reboot zu rechnen.

Zesstra

-----------------------------------------------------------------------------



Re^9: artikel Das Mud soll lebendiger werden Berufe (Baboon, 25. Mai 2007, 15:07:29):
~#! rn=Orktoeter rt=1180029370 rg=entwicklung
~#! tid=1177307067
Der wurde aber mitvernichtet, als der Masterchief den Halo
gesprengt hat.

Babooniac.

-----------------------------------------------------------------------------



Re^8: artikel Das Mud soll lebendiger werden Berufe (Bambi, 25. Mai 2007, 19:52:33):
~#! rn=Darklor rt=1179528388 rg=entwicklung
~#! tid=1177307067
Stoesst eine mudinterne (optionale) Wirtschaftssimulation generell auf
Interesse oder bin ich der einzige, der das interessant faende?

-----------------------------------------------------------------------------



Re^9: artikel Das Mud soll lebendiger werden Berufe (Rumata, 25. Mai 2007, 20:38:56):
~#! rn=Bambi rt=1180115553 rg=entwicklung
~#! tid=1177307067
Interessant faenden das einige, aber viele der Ansaetze kollidieren mit
den (angestrebten) Gleichgewichten zwischen den Gilden.

Rum**

-----------------------------------------------------------------------------



Re^10: artikel Das Mud soll lebendiger werden Berufe (Bambi, 26. Mai 2007, 23:37:25):
~#! rn=Rumata rt=1180118336 rg=entwicklung
~#! tid=1177307067
Ich wuerde, wie schon erwaehnt, eine WiSi anstreben, in der nur der
letztendliche Output einen effektiven Mehrwert hat. Das kann (je nach
Balance-Entscheidung) kampfrelevant sein oder auch nicht. Sollte man bestimmte
Gueter der Produktionskette gegen echtes Geld verhoekern koennen, dann waere
das zwar eine Geldquelle, aber keine sonderlich effektive. Und die Berufe, die
in der Herstellungskette beteiligt sind (z.B. Bergbauarbeiter, Holzfaeller,
Koehler, Eisengiesser, Schmied) muessen keine Sachen koennen, die irgendeine
Gilde auch nur im enrferntesten beruehren, geschweige denn deren Skills sich
kampfrelevant auswirken.

-----------------------------------------------------------------------------



Re^11: artikel Das Mud soll lebendiger werden Berufe (Rumata, 29. Mai 2007, 10:38:53):
~#! rn=Bambi rt=1180215445 rg=entwicklung
~#! tid=1177307067
Die idee finde ich gut, das Problem ist nur, dass der Schmied noch
bevor er angelossen wird, doch bittebitte kaputte Ruestungen reparieren soll
und so weiter. Und egal wie man es dreht oder wendet, es wird immer
solche Beruehrpunkte mit der Kaempferei geben. Um die Beruehrung zu
verhindern, darf es zu allererst keinen Geldtransfer geben - also entweder
ganz etwas mit Tauschhandel oder wir brauchen eine zweite Waehrung.

Tschuldigung, dass ich hier so klinge, als wenn ich dagegen waere -
ich haette gerne so etwas (und ich persoenlich koennte mir sogar eine
Reduktion bei den Gilden vorstellen)

Rum**

-----------------------------------------------------------------------------



Re^12: artikel Das Mud soll lebendiger werden Berufe (Bambulko, 29. Mai 2007, 11:19:05):
~#! rn=Rumata rt=1180427933 rg=entwicklung
~#! tid=1177307067
Braucht denn hier ueberhaupt jemand Geld? Der Reiz eines Handwerks bei WOW usw
ist es doch, dass man damit entweder Sachen bekommt, fuer die man sonst Zahlen
muss, oder dass man damit an Geld kommt, um sich bessere Sachen kaufen zu
koennen.

Bambulko

-----------------------------------------------------------------------------



Re^13: artikel Das Mud soll lebendiger werden Berufe (Rumata, 29. Mai 2007, 12:39:23):
~#! rn=Bambulko rt=1180430345 rg=entwicklung
~#! tid=1177307067
Die Speler werden schon einen Weg finden, wie man bei Konvertierbarkeit
daraus Kapital :-) schlagen kann.

Rum**

-----------------------------------------------------------------------------



Re^13: artikel Das Mud soll lebendiger werden Berufe (Ark, 29. Mai 2007, 12:42:55):
~#! rn=Bambulko rt=1180430345 rg=entwicklung
~#! tid=1177307067
Der Witz, dass einige Gilden bestimmte Sachen koennen und andere nicht, hilft
imho ein wenig dem Multi im MUD. Ich befuerchte halt immer, dass ansonsten
jeder alleine vor sich hinwerkeln will/wird. Und ich faende es schade, wenn
jeder alles kann, egal ob ueber Gilde oder Berufe oder wass weiss ich.
Man mag das dann unlogisch oder wer weiss wie nennen, ich nenne es Vielfalt.
Ich kann mich nicht mit ruestungsschmiedenden Zauberern oder traenkemischenden
Kaempfern (polemisierte Extreme, ok) anfreunden.
Natuerlich ist das mit den Berufen so eine Sache. Spannende Frage: wenn es
keine Vorteile geben wuerde, die den Kampf beruehren (Ruestung, Waffe,
Heilung, Spells, etc.), wuerden Berufe dann dennoch Spass machen? Dann koennte
ich mir vorstellen, dass das ein Erfolg wird. Die Berufe, die kampfrelevant
erscheinen, koennte man immer noch so hinbiegen, dass sie eben _keinen_ Ersatz
fuer Kleriker-,Kaempfer-,Zauberer-,...-skills sind.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Toplisteninkonsistenzen (Humni, 16. Nov 2007, 18:38:43):
Huhu,

dank Zesstra wird die Problematik "alte EKs, die nicht mehr angeschlossen
sind", "neue EKs, die schon als Tips bei Brumni auftauchen" und Aehnliches
bald ein Ende haben bzw. eine Loesung dafuer vorliegen (bzw. liegt schon vor).
Im Zuge der notwendigen Umstrukturierungsarbeiten wurden dabei ein paar Daten
angefasst. 

Normalerweise werden Leute, die sich lange genug nicht im Mud haben blicken
lassen, von den Toplisten, die z.B. in den Kneipen ausliegen, gestrichen und
erst, wenn sie sich mal wieder einloggen, wieder dort aufgefuehrt.

Durch die Aenderungen sind die Toplisten allerdings so, als seien die Leute
kuerzlich alle mal dagewesen. Sprich, da tauchen jetzt gerade Spieler drauf
auf, die ewig nicht da waren.

Das Problem wird sich in den naechsten Wochen von alleine loesen (da der
Mechanismus durchaus noch intakt ist) und wird als "nicht sonderlich
gravierend" angesehen.

Darum solltet Ihr Euch also einfach nicht verwirren lassen, wenn ihr die
Toplisten lest.

Uebrigens: ignoriere topliste funktioniert immer noch und wird dadurch
natuerlich auch nicht geaendert. Die Leute stehen nach wie vor nicht auf der
Topliste.

Danke fuer die Aufmerksamkeit,
Humni
PS: ich meinte nicht ignoriere Topliste, sondern topliste ja/nein. Gerade
nochmal nachgelesen ;-)

-----------------------------------------------------------------------------



Re: Toplisteninkonsistenzen (Zesstra, 16. Nov 2007, 18:48:33):
~#! rn=Humni rt=1195234723 rg=entwicklung
~#! tid=1195234723
Ergaenzend dazu: Das Aufraeumen der EK-Liste nicht noch abgeschlossen und wird
vorraussichtlich noch min. einige Tage andauern, weil das doch recht viel
Arbeit ist, ca. 2500 NPCs zu pruefen. In Zukunft sollte sich weniger Muell in
der Liste ansammeln, weil neu angeschlossene EKs nicht mehr vollautomatisch
eingetragen werden.

Zesstra

-----------------------------------------------------------------------------



Yet another Editor (Gloinson, 14. Dez 2007, 23:46:20):
Hi,
ich benutze ganz gern PSPad (http://www.pspad.com/) in letzter Zeit unter
Windows. Also war Zessttra so freundlich

- unter /open/Software/Editoren ein Verzeichnis /PSPad/ mit dem
  Highlite-File anzulegen
- nebenbei alle Editoren nach /open/Software/Editoren zu verschieben

Alle Nichtmagier loggen sich per "anonymous" auf den FTP-Server mg.mud.de ein
und lassen das /open/ wegfallen um die entsprechenden Dateien zu finden.


-----------------------------------------------------------------------------



Aus gegebenem Anlass.... (Humni, 11. Feb 2008, 20:22:49):
... weise ich darauf hin:

Auch durchaus gerechtfertigte Unzufriedenheit mit der eigenen oder der Gilde
anderer Leute wird nicht dadurch behoben, dass man das anderen Spielern
erzaehlt. Es kann dann nur dann behoben werden, wenn das ein Magier
mitbekommt.

Wir aendern einiges. Ich hab einiges durchgehen lassen, bei dem ich manchmal
nicht immer das optimale Bauchgefuehl hatte, aber nichts, von dem ich dachte
"ist zu stark, macht aber nix". Gerade Leute mit MG-Erfahrung sind Leute, bei
denen ich mich zumindest bemuehe, zuzuhoeren. Wenn das aber erst durch 3
andere Ohren und Muender wandet, bis das bei mir landet, ist das reichlich
ineffizient. Man darf mir mailen, man darf mir schreiben, und wenn ich dann
nix tue, darf man auch als Spieler seinen Frust in der MPA auslassen. Oder mit
den Gildenmagiern reden, das geht auch.

Ich bitte das bei demnaechst mal anstehenden Aenderungen sowie auch bei
bisherigen solchen zu beachten. Balancing ist kein leichtes Geschaeft, manche
Aenderungen muessen sich auch aus dem Spiel erstmal ergeben, wie sie zu
balancieren sind.

Zum Thema "andere kriegen das auch hin": Spiele wie WoW haben eigene
Testserver, wo echte Spieler neue Dinge und Inhalte erstmal austesten. Die
Moeglichkeit haben wir hier nur beschraenkt. Gerade darum ist Spielerfeedback
immer wichtig.

Ja, wir haben ein Balanceteam. Ja, das macht an sich sehr gute Arbeit. Aber
man kann davon nicht verlangen, dass es jede Moeglichkeit und jede
Eventualitaet sieht.

Humni
PS: Ja, auch bei WoW gibt es Sachen, die auf den Testservern nicht auffallen
;-)

-----------------------------------------------------------------------------



Essen von Leichen (Arathorn, 11. Mar 2008, 22:38:46):
Hiho,

es gab bisher ein kleines Problem mit dem Aufessen von Leichen. Unter
bestimmten Umstaenden konnte es vorkommen, dass die Heilwirkung einer Leiche
ebenso wie eine eventuelle Schadenswirkung beim Essen ueberproportional
zu Buche schlugen. Dass dadurch oft mehr geheilt wurde, als beabsichtigt, 
faellt erstmal nicht so deutlich auf, ist Euch aber sicher auch lieber als
das Gegenteil, naemlich dass der von gewissen Leichen verursachte Schaden
ebenfalls deutlich staerker ausfiel als beabsichtigt. Dieser Effekt ist nun
behoben - Leichen heilen nun korrekt und fuegen auch den korrekten 
Schadenswert zu. Zusaetzliche positive Auswirkung ist, dass das vollstaendige
Aufessen einer Leiche Euch - anders als bisher - nicht mehr komplett voll
macht.

Arathorn.

-----------------------------------------------------------------------------



Fehler beim Auszahlen von Geld (Zesstra, 21. Mar 2008, 22:03:30):
Einigen von euch mag in dieser Uptime aufgefallen sein, dass es beim Auszahlen
von Geld (z.B. bei Haendlern) ab und an zu Fehlern (FiRZG) kommt. Dies
passiert, wenn ihr ueberladen seid und das Geld nicht mehr tragen koennt. Das
Problem ist in der Mudlib zwar bereits seit knapp 2 Wochen behoben, aber
wirksam wird der Fix bei den Spielern erst nach Reboot/Ende. Wollte ich aus
aktuellem Anlass nur mal verkuenden. ;-)

Zesstra

-----------------------------------------------------------------------------



Re: Fehler beim Auszahlen von Geld (Justavius, 22. Mar 2008, 11:18:35):
~#! rn=Zesstra rt=1206133410 rg=entwicklung
~#! tid=1206133410
im Sl (jaja) hatten wir mal das selbe problem ... jetzt werfen einem die
haendler in dem fall das geld vor die fuesse :)

just, 2mx2cents :)

ps: telnet, wer typos findet darf sie behalten

-----------------------------------------------------------------------------



Re: Re: Fehler beim Auszahlen von Geld (Zesstra, 22. Mar 2008, 11:23:26):
~#! rn=Justavius rt=1206181115 rg=entwicklung
~#! tid=1206133410
Das taten die Haendler eigentlich im MG auch. Und tun es jetzt auch wieder.
;-)

Zesstra

-----------------------------------------------------------------------------



Bug in Behaeltern ... (Vanion, 27. Mar 2008, 14:45:20):
Hallo Leute,

In einem im Mud gern genutzten Standardbehaelter hat sich vor einigen Tagen
ein Typo eingeschlichen. Fuer Spieler aeussert sich der Fehler darin, dass man
den Behaelter nicht schliessen kann, es kommt die Fehlermeldung "WAS moechtest
Du schliessen?". Das Objekt hoert nicht auf den eigenen namen, dafuer aber auf
alle anderen.

Prominentes Opfer fuer diesen Bug ist die Seherhaustruhe. Wenn euch dieser
Fehler auffaellt, wendet euch bitte an einen Magier eures Vertrauens. Er ist
behoben, aber es kann noch vereinzelt Objekte im Spiel geben, die sich falsch
verhalten.

Viel Spass beim nicht suechtig sein,
V*

-----------------------------------------------------------------------------



Adverbien (Vanion, 31. Mar 2008, 23:39:34):
Hallo zusammen,

Mit dem naechsten Ende/Renew/Reboot/Crash gibt es eine Neuerung, wie Adverbien
verwendet werden.

Wie ihr vielleicht wisst, gibt es eine Reihe von vordefinierten Adverbien und
die Moeglichkeit, sich eigene Abkuerzungen zu bauen. Naeheres dazu findet ihr
mit dem Befehl 'adverb ?' bzw. 'hilfe adverb' raus.

Bisher konnte man nur die Abkuerzungen benutzen:
 laechel glue -> Du laechelst gluecklich.
 grins scha und jofi

In der neuen Version werden die Adverbien unschaerfer gesucht, das heisst, man
kann z.b. die Adverbien auch ausschreiben, was hoffentlich einen
natuerlicheren Zugang zu den Adverbien bietet.

 grinse schamlos und jofig
 lache frus(triert) /wie es nur ein Zauberer kann

Ausserdem wird die Adverbienliste etwas anders aussehen.

V*

-----------------------------------------------------------------------------



Fwd: Neues LDMud-Entwicklungsteam (Zesstra, 10. Jul 2008, 09:44:27):
Huhu,

ich denke, es mag einige von euch (Magier wie Spieler) interessieren, die
nicht ldmud-talk oder de.alt.mud lesen, daher forwarde ich den entsprechenden
Artikel mal hierher.
Wem der Begriff LDMud nichts sagt: das ist der sog. Gamedriver, unter dem das
Morgengrauen momentan laeuft und dessen Entwicklung in den letzten 2 Jahren
leider mangels Zeit des bisherigen Entwicklers ziemlich eingeschlafen ist.

--- cut here ---
Hallo,

wir, Fuchur@Wunderland, Zesstra@Morgengrauen und Gnomi@UNItopia, haben
in Absprache mit Lars die Entwicklung des LDMud-Treibers uebernommen
und wollen hier kurz vorstellen, wo die Entwicklung hingehen soll.

Also zuallerst wird die 3.3er Serie der aktuelle stabile Zweig werden,
bei welchem es auch weiterhin noch neue Features geben kann, sofern
sie die Stabilitaet nicht wesentlich gefaehrden. Die 3.4er Snappshots
werden wir nicht mehr weiterverfolgen und auch in der 3.2er Serie nur
noch groebere Fehler beheben.

Unser primaeres Ziel ist es, die im Bugtracker bekannten Fehler und
auch im Quellcode bestehende TODO-Punkte, sofern dies ohne grosse
Umbauten moeglich ist, noch in der 3.3er Serie zu beheben.

In naher Zukunft eroeffnen wir dann den naechsten instabilen Zweig,
die 3.5er Serie. Dieser wird sich voraussichtlich weiterhin um Fehler-
behebungen drehen, die fuer den 3.3 zu umfangreich sind. Auch die
vollstaendige Unterstuetzung von 64-Bit-Systemen wird dort angestrebt
(teilweise werden Aenderungen dazu aber auch schon im 3.3 erfolgen),
Unicode-Unterstuetzung und Optimierungen der internen Datenstrukturen
stehen ebenfalls auf unserem Plan.

Alle zukuenftigen Beitraege und Entwicklungen von uns veroeffentlichen wir
unter der 2-Klausel-BSD-Lizenz (Beibehaltung des Copyright-Hinweises,
der Lizenzbedingungen und des Haftungsausschlusses im Quellcode sowie
auch Wiedergabe derselben in der Dokumentation) und nehmen auch nur
Patches unter dieser Lizenz an. Die Lizenzbedingung des Drivers, dass
dieser nicht zur Erzielung eines finanziellen Gewinns genutzt werden
darf, aendert sich durch diese Massnahme noch nicht, aber sie soll eine
Lizenzaenderung in ferner Zukunft erleichtern.

Falls Ihr Lust habt, uns bei der Arbeit an LDMud zu unterstuetzen, so
freuen wir uns ueber Ideen, Codebeitraege (z.B. Fixes und Features),
aber auch ueber Hife bei der Verbesserung der Dokumentation oder ueber
Tester, die dann nette Bugreports schreiben.

Ihr erreicht uns unter ldmud-dev@unitopia.de und natuerlich hier auf
de.alt.mud und gelegentlich auch im D-Chat. Die Homepage bleibt
bei http://www.bearnip.com/lars/proj/ldmud.html.

Viele Gruesse
Fuchur, Zesstra & Gnomi

-----------------------------------------------------------------------------



Re: Fwd: Neues LDMud-Entwicklungsteam (Humni, 10. Jul 2008, 13:03:58):
~#! rn=Zesstra rt=1215675867 rg=entwicklung
~#! tid=1215675867
Ich wuensche Euch viel Spass und Durchhaltevermoegen bei dieser Aufgabe.

Humni

-----------------------------------------------------------------------------



neue Skill-Attribut-Verwaltung (Zesstra, 14. Aug 2008, 21:28:43):
Huhu,

ich hatte ja letzte Woche in bekanntmachungen bereits erwaehnt, dass die
Skill-Attribut-Verwaltung beim Reboot geaendert wurde. (Diese haben uebrigens
nichts mit den normalen Attributen wie Staerke und Intelligenz zu tun.) Es
gibt eine Reihe verschiedener dieser Skill-Attribute und sie beeinflussen z.B.
sowas wie die Kampfgeschwindigkeit (Schlaege pro Kampfrunde), den Schaden, den
ein Lebewesen macht, die Dauer, die Skills und Spells anhalten oder auch die
Ausweichchancen eines Lebewesens.

Frueher war es so, dass alle Modifikatoren miteinander multipliziert wurden.
Wollten z.B. 2 Magier die Kampfgeschwindigkeit eines Spielers erhoehen und
haben ihm einen Bonus von 4 und von 4 gegeben, haette der Spieler nicht 8,
sondern 16 Schlaege bekommen. Dementsprechend waren nur 2 positive
Modifikatoren gleichzeitig moeglich und die Balance war sehr vorsichtig mit
Genehmigungen, denn der wirkliche Effekt eines Bonus hing davon ab, welche
anderen Boni gleichzeitig gesetzt waren.

Seit Samstag ist es nun so, dass die Modifikatoren nicht mehr multiplikativ,
sondern additiv sind. Dementsprechend steigen die Skill-Attribute nicht mehr
so schnell an. Der Genehmigungsprozess der Balance wird vereinfacht und
hoffentlich beschleunigt, denn ein Bonus +2 bei der Geschwindigkeit sind nun
auch immer 2 Schlaege mehr und nicht eine Verdopplung der aktuellen
Geschwindigkeit, sodass es in Zukunft auch hoffentlich mehr Vielfalt an
Objekten mit Skill-Attribut-Boni und -Mali geben wird. Im Gegenzug wurde die
Maximalzahl gleichzeitig wirkender Modifikatoren angehoben. Die Nutzung auch
von kleineren Boni wird fuer Spieler interessanter. Ebenfalls wird vermutlich
die Kenntnis von mehr als nur die 2-3 besten Boni des Spiels gefoerdert.

Zesstra

-----------------------------------------------------------------------------



Aufheben von Gegenstaenden durch NPC (Vanir, 21. Sep 2008, 15:48:05):
Hallo,
ich finde, dass das aufheben von Gegenstaenden durch NPCs eine echte Plage
ist. Ich habs nun schon ein paarmal erlebt, dass es Resets gab waehrend man
die Sachen des muehsam erlegten NPCs noch bewunderte. Ich finde die Sache so,
wie sie jetzt ist sehr suboptimal geloest.
Vanir.

-----------------------------------------------------------------------------



Re: Aufheben von Gegenstaenden durch NPC (Moonshine, 21. Sep 2008, 17:23:53):
~#! rn=Vanir rt=1222004885 rg=entwicklung
~#! tid=1222004885
NPC merken und draus lernen?

-----------------------------------------------------------------------------



Re: Aufheben von Gegenstaenden durch NPC (Ark, 21. Sep 2008, 21:18:30):
~#! rn=Vanir rt=1222004885 rg=entwicklung
~#! tid=1222004885
Aus spieltechnischer und oekonomischer sowie logischer Sicht freilich viel
optimaler als "Eine moerderische Daemonenaxt. (36)". Und ja, interessanter
auch ... muss man halt nochmal kaempfend ran. Das Phaenomen "reset" gab es
schon zu meiner Zeit, auch nach Einfuehrung des Aufhebens ist das Spiel
interessant geblieben.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: Re: Aufheben von Gegenstaenden durch NPC (Vanir, 21. Sep 2008, 21:25:04):
~#! rn=Ark rt=1222024710 rg=entwicklung
~#! tid=1222004885
Also so logisch finde ich das nicht. Da materialisiert der gerade verstorbene
NPC aus dem Nichts - voellig geheilt natuerlich - und erkennt sofort und ohne
Verzoegerung: Ah, meine Sachen, die schnapp ich mir mal. 
Oekonomisch mags sein. Interessanter finde ich das nur bedingt. Ich finde das
vor allem eins: frustrierend.
V.

-----------------------------------------------------------------------------



Re^3: Aufheben von Gegenstaenden durch NPC (Ark, 21. Sep 2008, 21:32:23):
~#! rn=Vanir rt=1222025104 rg=entwicklung
~#! tid=1222004885
Also schon allein das Rematerialisieren koennte man als genauso unlogisch
bezeichnen (incl. der identischen Ausruestung!). Insofern wurde nur die
Unlogik umorganisiert, nichts weiter. Besser als Muell in jedem Raum. Und wir
koennen halt "begehrenswerte" nicht von "uninteressanter" Ausruestung
unterscheiden.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^4: Aufheben von Gegenstaenden durch NPC (Vanir, 21. Sep 2008, 21:38:50):
~#! rn=Ark rt=1222025543 rg=entwicklung
~#! tid=1222004885
Realismus hin oder her. Worueber ich mich aerger ist, dass ich schon paarmal
solch unpassende resets erlebt habe. Ich finds vom Spielverhalten unschoen,
wenn ich gehetzt die Sachen aufheben muss und nichtmal in Ruhe die Sachen vor
Ort angucken kann. Was spricht dagegen, wenn der aufhebende NPC wenigstens ein
paar Sekunden Zeit braucht, bevor er die Sachen aufhebt? Dann haette man
wenigstens eine Chance ihm zuvorzukommen. 
Ich will hier keine Realismusdiskussion von der Stange brechen - das ist vl
und damit per se nicht real. Es geht mir hier nur um einen Umstand, der mir
keinen Spass bereitet - und um Spass gehts hier, oder ? 
BTW: Mich wuerde ebenso interessieren wie das andere Spieler sehen.
V.

-----------------------------------------------------------------------------



Re^5: Aufheben von Gegenstaenden durch NPC (Grimmborn, 21. Sep 2008, 21:41:43):
~#! rn=Vanir rt=1222025930 rg=entwicklung
~#! tid=1222004885
Du kannst also nicht so gut trigger schreiben wie die NPCs. Gut, dass Dich das
aergert kann ich verstehen, aber so ist das halt - mal gewinnt der PC, mal der
NPC. 

GdA[ex-R] OHdMuBdE  

-----------------------------------------------------------------------------



Re^5: Aufheben von Gegenstaenden durch NPC (Ark, 21. Sep 2008, 21:47:38):
~#! rn=Vanir rt=1222025930 rg=entwicklung
~#! tid=1222004885
Resets sind aus Spielersicht nie passend ... und wenn doch, dann kriegt man
das nicht mit. Also mindestens 50% aller Faelle ... mindestens. Ich sehe auch
nicht, warum (ausser der Magier will das) ein NPC sein Kommen anmelden
muesste. Gewisse Putzen und andere NPC heben sogar fremde Sachen auf, das ist
mindestens so aergerlich wie ein Reset (und dabei noch besser
"kontrollierbar"), dennoch siegt da der Sportsgeist, oder?


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^4: Aufheben von Gegenstaenden durch NPC (Gloinson, 21. Sep 2008, 22:19:16):
~#! rn=Ark rt=1222025543 rg=entwicklung
~#! tid=1222004885
Und um da nochmal nachzulegen: wir koennen nicht einmal gute von schlecht
gemachter und wieder hingelegter Ausruestung unterscheiden. Deshalb war die
Idee mit dem "NPC sammelt dem Kram vom Vorgaenger wieder ein" grosser Mist und
ist fuer alle nachlesbar in der Lib auch wieder abgehaengt. Das bedeutet, dass
das Einsammeln von Kram durch NPCs eigentlich nur eine Reinemach-Operation
ist, die der "Krempelhaufen" inzwischen ebenso gut erledigt.


-----------------------------------------------------------------------------



Re^5: Aufheben von Gegenstaenden durch NPC (Croft, 21. Sep 2008, 22:21:55):
~#! rn=Gloinson rt=1222028356 rg=entwicklung
~#! tid=1222004885
Dumme Technikidee: evtl im Tod des NPCs den Reset des Raums um ein paar
Minuten nach hinten schieben, so er binnen der naechsten Minute waere.
Natuerlich nur wenn der Raum den NPC erzeugt hat.

Croft

-----------------------------------------------------------------------------



Re^5: Aufheben von Gegenstaenden durch NPC (Zesstra, 21. Sep 2008, 22:37:31):
~#! rn=Gloinson rt=1222028356 rg=entwicklung
~#! tid=1222004885
Seit wann entsorgen denn die Haufen Objekte?

Zesstra

-----------------------------------------------------------------------------



Re^6: Aufheben von Gegenstaenden durch NPC (Gloinson, 21. Sep 2008, 22:44:12):
~#! rn=Zesstra rt=1222029451 rg=entwicklung
~#! tid=1222004885
Entsorgen nicht, aufraeumen schon. Und entsorgen koennten sie besser.


-----------------------------------------------------------------------------



Adventskalender: Suche Verstecke :-) (Zesstra,  6. Okt 2008, 21:37:43):
Huhu,

ich suche Verstecke fuer die Tuerchen des diesjaehrigen Adventskalenders.
Diese sollten in Gebieten liegen, in denen man forschen kann, aber es sollte
nicht zu detail-ueberfrachtet sein, da Spieler ja 24 Tuerchen finden koennen
und nicht endlos lang dafuer forschen sollen.
Gebiete, die nett, aber eher selten besucht sind, sind natuerlich besonders
gerne gesehen. ;-)
Also, wenn jemand Vorschlaege fuer Verstecke hat, bitte mir eine Mail
schreiben. Wenn Magier fuer eigene oder fremde Gebiete Werbung machen wollen:
auch gern.
Allgemeine Diskussionen und Vorschlaege um den Adventskalender koennt ihr
natuerlich auch hier posten, nur konkrete Verstecke sind kontra-produktiv. ;-)

Zesstra

-----------------------------------------------------------------------------



Re: Adventskalender: Suche Verstecke :-) (Zesstra,  6. Okt 2008, 21:38:49):
~#! rn=Zesstra rt=1223321863 rg=entwicklung
~#! tid=1223321863
Achja, bei konkreten Versteckvorschlaegen koennt ihr auch gerne einen kurzen
Tip fuer Spieler mit angeben. ;-)

Zesstra

-----------------------------------------------------------------------------



LDMud-3.3.718 fuer Windows (Zesstra,  5. Aug 2009, 20:25:27):
Da es evtl. auch Spieler interessiert, mal auch in dieser Rubrik:

Gloinson hat mal wieder ein Windows-Kompilat vom aktuellen Gamedriver
(3.3.718) erstellt. Dieses ist (noch) nicht die Version, auf der das MG
laeuft, das sollte euch aber nicht hindern, ihn zu verwenden.
ftp://mg.mud.de/Software/GameDriver/ldmud-3.3.718-win.zip
MD5: 7cc9058ac148b6a530259cfcebeb423b
SHA1: f99d185eec67b1acc0f5edf2e0b343fdf0fcec74
RIPEMD160: 42:2f:ba:0e:db:ef:be:0a:3b:af:e5:cc:b0:82:20:ec:29:1c:77:98

Dank an Gloinson. :-)

Zesstra

-----------------------------------------------------------------------------



kurzinfo -k (grafiklose kurzausgabe) (Zesstra,  9. Aug 2009, 20:00:27):
Einige Spieler bevorzugen die kuerzere Ausgabe von 'kurzinfo' bei
ausgeschalteter ASCII-Art, obwohl sie sonst ASCII-Art sehen wollen.
Daher gibt 'kurzinfo -k' jetzt unabhaengig von 'grafik ein/aus' die 
grafiklose Variante aus. Das ganze geht nach Ende/Reboot.

Zesstra

-----------------------------------------------------------------------------



Re: Kommando: 'gespraech' (Zesstra, 10. Aug 2009, 21:22:40):
~#! rn=Zesstra rt=1249850435 rg=diskussion
~#! tid=1249850435
Huhu,

entsprechend der kurzen Diskussion habe ich 'gespraech' nun wie folgt
geaendert:
In per 'gespraech' gestarteten Gespraechen werden jetzt standardmaessig die
eigenen Eingaben in Form von "Du sagst: ..." angezeigt (wie bei 'sage').
Dies kann durch das Argument '-s' unterdrueckt werden, d.h. gespraech -s.
Das ganze wie immer nach Ende/Reboot.

Zesstra

-----------------------------------------------------------------------------



Kommando 'ausruestung' (Zesstra, 14. Aug 2009, 22:41:54):
Huhu,

ich hab einen weiteren Spielerwunsch umgesetzt: der Befehl 'ausruestung' kennt
nun ebenfalls das Argument -k. Gibt man dieses an, wird unabhaengig von
'grafik ein/aus' eine kuerzere Version ohne ASCII-Grafik angezeigt.
Das ganze ausnahmsweise sogar ohne Reboot/Ende, es funktioniert bereits jetzt
fuer alle. ;-)

Zesstra

-----------------------------------------------------------------------------



#MG.DE: IRC-Anbindung (Zesstra, 21. Aug 2009, 00:02:55):
Huhu,

eigentlich keine Entwicklung, aber irgendwie passts doch am ehesten hier hin:
Die Ebene #MG.DE mit Anbindung an den IRC-Chat hat seit einiger Zeit wohl
schon nicht mehr funktioniert. Da die Aktivitaet auf der Ebene praktisch nicht
vorhanden war, die Ebene jetzt nicht unbedingt wichtig fuers Mud ist und ich
daher nicht so motiviert bin, da viel zu basteln, faellt die Anbindung an den
IRC in Zukunft komplett weg, die Ebene ist also nur noch eine normale, interne
Ebene.


Zesstra

-----------------------------------------------------------------------------



Farben im MorgenGrauen (Amynthor,  2. Feb 2010, 18:12:45):
Bisher wurde beim Thema Farben ja hauptsaechlich diskutiert, wie sich das
mudseitig regeln laesst. Ich wuerde da aber ganz woanders ansetzen.

Warum soll das MorgenGrauen zig Optionen anbieten, wie man sich Ebenen- und
Kampfmeldungen gruen oder rot oder lila mit Sternchen anzeigen lassen kann?
Und warum sollen sich Spieler mit den spaerlichen Moeglichkeiten, die dann
vielleicht tatsaechlich jemand umsetzt, zufriedengeben?

Meiner Auffassung nach ist das eine Aufgabe fuer den Client. Mit ein wenig
Logik laesst sich da schon viel machen, aber dass das bisher immer noch
irgendwie unbefriedigend funktioniert, liegt daran, dass Driver/Mudlib das
nicht vernuenftig unterstuetzen. Beispielsweise durch Marker am Beginn und
Ende von Ebenenmeldungen, damit die sicher erkannt und in einer anderen Farbe
oder sogar in einem Extrafenster dargestellt werden koennen. Vom Prompt, damit
der immer am unteren Fensterrand dargestellt werden kann. Von Spieler- und
NPC-Bewegungen, damit die im allgemeinen Meldungschaos nicht untergehen.

Ja, das kann man auch jetzt schon im Client parsen. Aber wenn man etwa naiv
auf '[' am Zeilenanfang parst, werden auch Teammitglieder und Bezugs- und
Autorzeilen in der MPA in Ebenenfarbe dargestellt. Das laesst sich
ausschliessen, indem man die Antworen auf Spielerbefehle separat parst. Die
aber lassen sich spaetestens im Kampfgetuemmel nicht mehr zuverlaessig
erkennen.

Es waere schon viel geholfen, wenn Driver oder Lib Beginn und Ende der
Befehlsverarbeitung und sinnvollerweise auch vom Prompt mit einem
(idealerweise konfigurierbaren) Marker kennzeichnen wuerden. Das wuerde es dem
Client mit vergleichsweise moderatem MUD-seitigem Mehraufwand ermoeglichen,
individuelle Farb- und Benutzerfuehrungswuensche umzusetzen.

Aber da sowieso gerade eine Umstrukturierung der Art und Weise, wie das MUD
Meldungen an die Spieler ausgibt, im Gespraech ist, waere das vielleicht der
Punkt, wo wir ansetzen muessten, um die sauberere Loesung anzustreben - dass
Meldungen je nach Art fuer die weitere Verarbeitung beim Spieler
gekennzeichnet werden koennen. Denn nur so lassen sich "fortgeschrittenere"
Funktionen wie separate Fenster fuer Ebenendiksussionen erreichen, ohne dass
die entscheidende Meldung dann doch fehlgeleitet wird.

Was schon, seit ich angefangen habe zu mudden, mein Traum war. :-)

Amynthor


-----------------------------------------------------------------------------



Re: Farben im MorgenGrauen (Zesstra,  3. Feb 2010, 00:18:59):
~#! rn=Amynthor rt=1265130765 rg=entwicklung
~#! tid=1265130765
Einige spontane Anmerkungen:

Grundsaetzlich tendier auch bei vielen Dingen zu dem Standpunkt, dass ein
Client flexibler ist.

Du brauchst ein Protokoll fuer die Uebertragung Deiner Marker. Sinnvollerweise
waere das ein Standard, den nicht nur das MG macht und nicht nur ein Client
kann.
Und von dem Punkt an ist man schnell bei sowas wie MXP (Mud Extension
Protocol), IMP (Interactive Mudding Protocol), MCP (Mud Client Protocol). Von
denen seh ich fuer uns nur MXP als vielleicht geeignet (mangels eigener
Erfahrungen) an. Es hat aber den Ruf, auf der Clientseite 'rather tricky' zu
sein.
Oder Du denkst Dir was neues aus und hoffst, dass es moeglichst viele
Client-Entwickler toll finden und implementieren. ;-)

Prompt-Erkennung: da gibt es schon Marker (und werden auch gesendet), das
ganze ist spezifiziert in div. Telnet-RfCs (Telnet-Options GOAHEAD und 'End of
Record', s. unter Weblinks auf http://de.wikipedia.org/wiki/Telnet).
Normalerweise sollten gaengige Clients mit einem von beiden was anfangen
koennen...

Bzgl. der diskutierten Umstrukturierung: auch wenn wir das einfuehren, wird
eine flaechendeckende Umsetzung ne ganze Weile brauchen (und in den Regionen
vielleicht nie komplett umgesetzt werden). Das spricht nicht gegen die Idee,
man sollte aber nicht erwarten, dass sowas dann schlagartig funktioniert. ;-)

Zesstra

-----------------------------------------------------------------------------



Re: Re: Farben im MorgenGrauen (Amynthor,  3. Feb 2010, 00:33:32):
~#! rn=Zesstra rt=1265152739 rg=entwicklung
~#! tid=1265130765
> Du brauchst ein Protokoll fuer die Uebertragung Deiner Marker.
Oder aber ich lasse den Spieler einstellen, wie er seinen Marker gerne haben
moechte. :-) Analog zum Befehl 'prompt'. Warum steht der eigentlich Spielern
nicht zur Verfuegung?

> Oder Du denkst Dir was neues aus und hoffst, dass es moeglichst viele
> Client-Entwickler toll finden und implementieren. ;-)
Stimmt, daran habe ich gar nicht gedacht. Ich ging davon aus, dass jeder an
seinem eigenen Client herumfrickelt. ;-)

> Prompt-Erkennung: da gibt es schon Marker (und werden auch gesendet)
Kenn ich, aber das loest die angesprochenen Probleme auch nicht wirklich.

> Bzgl. der diskutierten Umstrukturierung: auch wenn wir das einfuehren, wird
> eine flaechendeckende Umsetzung ne ganze Weile brauchen
Immerhin liessen sich die fuer die Farbgebung interessantesten Marker (Ebene,
Teile-mit, Start und Ende der Befehlsverarbeitung, Raumbeschreibung, mit
Einschraenkungen Kampf) ohne Anpassung der Gebiete umsetzen.

Amynthor


-----------------------------------------------------------------------------



Re: Farben im MorgenGrauen (Zesstra,  3. Feb 2010, 01:01:19):
~#! rn=Amynthor rt=1265130765 rg=entwicklung
~#! tid=1265130765
> Oder aber ich lasse den Spieler einstellen, wie er seinen Marker gerne
> haben moechte. :-)
Das halte ich nicht fuer allzu sinnvoll, weil dann jeder sein eigenes
Sueppchen kocht und nix wiederverwendbar ist. Und auch fuer unnoetig
aufwendig. Und dann hat man ein MG-Markup-Protocol (in x Varianten fuer x
Clients) und der naechste will dann doch MXP, weil sein Client MXP kann, aber
kein MGMP.

> Stimmt, daran habe ich gar nicht gedacht. Ich ging davon aus, dass jeder
> an seinem eigenen Client herumfrickelt. ;-)
Oeh. Nein. Trigger und Makros vielleicht noch, aber Clients gibts soviele
jetzt nicht.

>> Prompt-Erkennung: da gibt es schon Marker (und werden auch gesendet)
> Kenn ich, aber das loest die angesprochenen Probleme auch nicht wirklich.
Was sind denn die angesprochenen Probleme mit dem Prompt? Die Kennzeichnung
des Prompts fuer Telnet ist nen uralter Standard. Wenn das nicht funktioniert,
ist entweder das Mud kaputt (in dem Fall kann man ja dran arbeiten) oder der
Client. Oder ich versteh Dich falsch und es geht um andere Probleme. ;-)

Zesstra

-----------------------------------------------------------------------------



Re: Re: Farben im MorgenGrauen (Amynthor,  3. Feb 2010, 01:05:12):
~#! rn=Zesstra rt=1265155279 rg=entwicklung
~#! tid=1265130765
> >> Prompt-Erkennung: da gibt es schon Marker (und werden auch gesendet)
> > Kenn ich, aber das loest die angesprochenen Probleme auch nicht wirklich.
> Was sind denn die angesprochenen Probleme mit dem Prompt?
Die existierenden Marker loesen nicht das Problem, die Antwort des MUDs auf
ein Spielerkommando zuverlaessig als solche zu erkennen.

Amynthor


-----------------------------------------------------------------------------



Re^3: Farben im MorgenGrauen (Zesstra,  3. Feb 2010, 01:08:52):
~#! rn=Amynthor rt=1265155512 rg=entwicklung
~#! tid=1265130765
Ahso. Ja. Natuerlich nicht, hat ja auch nicht direkt was mit dem Prompt zu
tun.
Je nach Sichtweise ist das auch nicht trivial.

Zesstra

-----------------------------------------------------------------------------



Re: Re: Farben im MorgenGrauen (Croft,  3. Feb 2010, 09:39:02):
~#! rn=Zesstra rt=1265152739 rg=entwicklung
~#! tid=1265130765
Was waer eigentlich der Mehrwert solch einer Monsterumstellung?

Croft

-----------------------------------------------------------------------------



Re^3: Farben im MorgenGrauen (Highlander,  3. Feb 2010, 10:01:04):
~#! rn=Croft rt=1265186342 rg=entwicklung
~#! tid=1265130765
Im Wunderland wird das Einfaerben von der lib erledigt.
Es gibt diverse Farbereignisse (Ausgaenge, Bewegung, Dinge, Ebenen,
Erwarte, Finger, Geburtstag, Illusion (im Prinzip ein echo), Inform,
Lebewesen, Teile-mit und Wer-Namen.

Jedem Typ kann man seine eigene Farbe zuweisen und damit beispielsweise
Lebewesen erkennen, auch wenn sie bsp. als "Ein Stein." im Raum
rumlungern.

Das muesste man ohne allzugrossen Aufwand auch hier machen koennen,
und ich halte das fuer geschickt, da das mud selber halt diese Dinge
schon weiss, ohne sie einem client noch irgendwie mitteilen zu muessen.

HrT

-----------------------------------------------------------------------------



Zeitgenauigkeit (Zesstra, 14. Feb 2010, 22:15:48):
Da 2 Spieler mich angesprochen habe, schreibe ich mal besser nen Artikel.

Der Driver verarbeitet diese Uptime Zeiten mit einer Genauigkeit von 1s.
Bisher waren alle Zeiten nur auf 2s messbar. Normalerweise bemerkt man als
Spieler wenig davon.

Im Falle von Spells haben einige Spieler dies bemerkt:
Die Wartezeiten zwischen Spells sind eigentlich in Sekunden. Wenn ein Spell 2s
Wartezeit ausloest, soll man theoretisch 2s nix machen. Bisher war aber es so
diese Zeiten nur alle 2s ablaufen konnten, weil die Driverzeit nur alle zwei
Sekunden aktualisiert wurde (naemlich um 2 erhoeht). D.h. castete man bei 1.8s
und bekam eine 2s-Sperre, wurde bei 2s der Wert von time() um 2 erhoeht und
die Sperre war nach 0.2s abgelaufen. Macht man das jetzt, laeuft die Sperre
bei 3s ab.

Beispiele:
1s Verzoegerung:
   Frueher: Cast bei 0.1s -> naechster Spell um 2s (nach 1.9s).
   Jetzt:   Cast bei 0.1s -> naechster Spell um 1s (nach 0.9s).
2s Verzoegerung:
   Frueher: Cast bei 0.1s -> naechster Spell um 2s (nach 1.9s).
   Jetzt:   Case bei 0.1s -> naechster Spell um 2s (nach 1.9s).
5s Verzoegerung:
   Frueher: Cast bei 0.1s -> naechster Spell um 6s (nach 5.9s).
   Jetzt:   Case bei 0.1s -> naechster Spell um 5s (nach 4.9s).
5s Verzoegerung:
   Frueher: Cast bei 1.1s -> naechster Spell um 6s (nach 4.9s).
   Jetzt:   Case bei 1.1s -> naechster Spell um 6s (nach 4.9s).

Letztendlich fuehrt das dazu, dass die Wartezeiten genauer getroffen werden
und Spellverzoegerungen von ungeraden Zeiten (z.B. 1s) sinnvoller sind.

Zesstra

-----------------------------------------------------------------------------



Re: Zeitgenauigkeit (Amynthor, 16. Feb 2010, 15:48:49):
~#! rn=Zesstra rt=1266182148 rg=entwicklung
~#! tid=1266182148
Das halte ich fuer einen Bug. (Kampf-)Zaubersprueche werden ja aus gutem Grund
nach Kampfrunden, nicht nach Sekunden verteilt: bei langsameren Verbindungen
ist es schon schwer genug, den Spruch in der richtigen Runde abzusetzen - wenn
man jetzt, um die Moeglichkeiten seiner Gilde optimal auszunutzen, die
Sprueche sekundengenau absetzen muss, sind diese Spieler klar im Nachteil.

Mal abgesehen davon, dass ich mir einfach keinen Kopf drum machen will, wann
innerhalb einer Runde ich den Spruch spreche.

Bisher war das kein Thema, da eine Angabe in Kampfrunden und Sekunden sowieso
aequivalent gewesen waere. Jetzt sehe ich da jedoch Handlungsbedarf.

Amynthor


Nein, das heisst nicht, dass ich die feinere Aufloesung schlecht finde. Im
Gegenteil, die habe ich mir schon laenger gewuenscht. :-)


-----------------------------------------------------------------------------



Re: Re: Zeitgenauigkeit (Gloinson, 16. Feb 2010, 15:54:20):
~#! rn=Amynthor rt=1266331729 rg=entwicklung
~#! tid=1266182148
> Bug, weil Zaubersprueche nach Runde statt Sekunden

Bei einer Granularitaet von 1 oder 2 kann man immer noch jede Kampfrunde (2s)
den Spell sprechen. Ich wuerde dir zustimmen, wenn die Granularitaet kein
Teiler der Kampfrundenzeit waere.

> keinen Kopf machen wann, langsame Verbindungen

Fuer alle ohne Wunsch nach Kopf fuer "wann" hat sich nicht geaendert: alle 2
Sekunden wird die Spellsammlung abgeschossen. Ob die jetzt zum Beginn der
Kampfrunde um 0 oder 1s versetzt ist, bleibt sich gleich.

Langsame Verbindungen hab ich als Argument seit einem Jahrzehnt nicht mehr
gehoert. Und selbst mit 500-1000ms Netzlag anno 1996 haben wir einfach etwa
alle 2 Sekunden die Befehle abgesetzt.


-----------------------------------------------------------------------------



Re^3: Zeitgenauigkeit (Amynthor, 16. Feb 2010, 16:03:24):
~#! rn=Gloinson rt=1266332060 rg=entwicklung
~#! tid=1266182148
Naja, interessant ist ja der Fall:

2s Verzoegerung:
   Frueher: Cast bei 1.1s -> naechster Spell um 2s (nach 0.9s).
   Jetzt:   Cast bei 1.1s -> naechster Spell um 3s (nach 1.9s).

Wenn ich den Spell also in der zweiten Rundenhaelfte caste, kann ich den
Spruch in der naechsten Runde auch erst in der zweiten Haelfte casten. Das ist
das, was mich stoert.

> Fuer alle ohne Wunsch nach Kopf fuer "wann" hat sich nicht geaendert: alle 2
> Sekunden wird die Spellsammlung abgeschossen.

Tja, aber nun muss das auf eine Sekunde genau geschehen (statt "irgendwann"
innerhalb des Runden-Zeitfensters). Mit Client-Erweiterungen kein Problem,
aber es soll ja noch Leute geben, die tippen das (mit Aliases) von Hand...

Amynthor


-----------------------------------------------------------------------------



Re: Re: Zeitgenauigkeit (Ark, 16. Feb 2010, 23:44:06):
~#! rn=Amynthor rt=1266331729 rg=entwicklung
~#! tid=1266182148
Ok, hier sind wir beim Thema Kampftaktik/-geschick/-intelligenz/-erfahrung.
Das einfach auf eine technische Aenderung zu schieben, ist ein bisschen
einfach, nein?
"... ich mir einfach keinen Kopf drum machen will" ist dann der Grund fuer das
Scheitern, nicht die technische Aenderung. *Moep*


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^3: Zeitgenauigkeit (Gingko, 18. Feb 2010, 10:17:47):
~#! rn=Ark rt=1266360246 rg=entwicklung
~#! tid=1266182148
Also ganz ehrlich, ich halte es fuer utopisch, im Kampfscroll _von Hand_
synchronisiert, besser als 2-sekundengenau einen Befehl absetzen zu wollen.
Mal ganz abgesehen davon, dass ich sowohl bei DSL als auch schnelleren
Standleitungen trotzdem hin und wieder mal einen lag von durchaus auch mal 2s
vermerken kann.
Andererseits sehe ich auch das Problem der Aenderung nicht: wenn ich den spell
unbedingt gleich wieder haben will tipp ich (und das geht unsynchron deutlich
schneller als im sekundentakt) ihn halt so oft ein, bis er wieder moeglich
war. ... oder ueberseh ich als nicht-power-mit-tf-nur-von-hand-Spieler da
irgendwas?  ;-)
gruesze Gingko

-----------------------------------------------------------------------------



Re^4: Zeitgenauigkeit (Nicolai, 18. Feb 2010, 12:02:28):
~#! rn=Gingko rt=1266484667 rg=entwicklung
~#! tid=1266182148
das schoene daran ist: im gegensatz zu den npc sind die spieler
(zumindest potentiell) lernfaehig, und koennen der aenderung dann
mehr abgewinnen als die npc :) sehr gut moeglich, das der ein
oder andere zap bei monster xxx nun nichtmehr jede runde kommt,
sondern nur noch jede 2te runde, d.h. als spieler kriegste
nun VIEL weniger aufs maul. man wird als metzler das mud und
die ek-faehigen monster ganz neu entdecken, dessen bin ich
mir sicher :) einige als "unhaubar" geltenden npc wird man
mittelfristig auf -M bewundern koennen. nachteil sehe ich also
nicht fuer die spieler, sondern fuer die magier, die ihre
superduperlieblings-npc ueberarbeiten muessen

-----------------------------------------------------------------------------



Re^5: Zeitgenauigkeit (Gloinson, 18. Feb 2010, 12:07:26):
~#! rn=Nicolai rt=1266490948 rg=entwicklung
~#! tid=1266182148
Naja, fuer einen NPC, der alle 2s  was hat machen lassen aendert sich nichts.
Bei einem NPC, der jede 1s was macht ... wird es interessanter ;)


-----------------------------------------------------------------------------



Re^6: Zeitgenauigkeit (Nicolai, 18. Feb 2010, 12:08:18):
~#! rn=Gloinson rt=1266491246 rg=entwicklung
~#! tid=1266182148
je nachdem ob der npc am rundenanfang castet oder in der mitte
hahaha :)

-----------------------------------------------------------------------------



Re^5: Zeitgenauigkeit (Ark, 18. Feb 2010, 14:30:51):
~#! rn=Nicolai rt=1266490948 rg=entwicklung
~#! tid=1266182148
Nachtraegliche NPC Anpassung zur Erhoehung der Sterberate saugt ... hatte ich
das schon erwaehnt? Fehlerausbau natuerlich ausgeschlossen :-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^7: Zeitgenauigkeit (Ark, 18. Feb 2010, 14:31:19):
~#! rn=Nicolai rt=1266491298 rg=entwicklung
~#! tid=1266182148
Oder jeden HB :)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: Re: Zeitgenauigkeit (Ark, 22. Feb 2010, 13:46:51):
~#! rn=Amynthor rt=1266331729 rg=entwicklung
~#! tid=1266182148
Kann man mal von Spielerseite hoeren, wo dies ein wirkliches Problem
darstellt. Ein "wirkliches Problem" im Sinn von "brauche doppelt so lang, um
einen Eiswaechter zu besiegen" oder "ich verhedder mich mit meinem Timing"
oder ...
Ich sehe bei der durchschnittlichen Kampfkraft der Gilden eigentlich kein
groesseres Problem. Gilden NPC sollten ebenso "Probleme" haben, Kampfscripte,
die man anpassen muesste, gibt es bekanntlich nicht. Also?


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^3: Zeitgenauigkeit (Gloinson, 22. Feb 2010, 13:56:46):
~#! rn=Ark rt=1266842811 rg=entwicklung
~#! tid=1266182148
Der fliessende Castpunkt ist etwas gewoehnungsbeduerftig und zieht im
Handbetrieb circa 10% Spellcastverlust nach sich. Wenn ich naemlich nicht auf
Sekunde 0 des Heartbeats caste, sondern auf 1, dann muss ich das auch in den
folgenden Runden tun.


-----------------------------------------------------------------------------



Re^4: Zeitgenauigkeit (Ark, 22. Feb 2010, 14:10:56):
~#! rn=Gloinson rt=1266843406 rg=entwicklung
~#! tid=1266182148
Pscht, aus, kein Technik Krams. Wir sind hier nicht beim Rodeln, wo 21.2431 s
gut, aber 21.2522 s schlecht sind, weil man es messen kann.
Faellt das Monster immer noch? Oder fuehle ich mich nur beim BPS (Bumms pro
Sekunde) gestoert? Das ist eher das, was mich interessiert. Zahlen sind ja
gewaelzt worden :)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^5: Zeitgenauigkeit (Gloinson, 22. Feb 2010, 14:21:29):
~#! rn=Ark rt=1266844256 rg=entwicklung
~#! tid=1266182148
> der fliessende Castpunkt ist etwas gewoehnungsbeduerftig

Ich uebersetze: es ist unangenehm, wenn man am Anfang der naechsten Runde ein
"So schnell koennen ..." bekommt, weil man erst vor einer Sekunde in der
letzten Runde gecastet hat.

[Rundenanfang]
0s:
1s: > donner
[Rundenanfang]
0s: > donner -> "So schnell koennen sich die ..."
1s: > donner
[Rundenanfang]
0s: > donner -> "So schnell koennen sich die ..."
1s: > donner

Kapiert?

> zieht im Handbetrieb circa 10% Spellcastverlust nach sich

Im Handbetrieb tippe ich drei Alis pro einhaendigem Spell: y, d, c (frag nicht
wieso, hat sich historisch bei mir so entwickelt). Wenn ich da in einer Runde
mal um eine Sekunde nach hinten glitsche und in den Folgerunden deshalb NICHT
bei Rundenbeginn casten kann, dann lasse ich irgendwann mal eine Runde aus.
Jedenfalls momentan.

Ja, das Monster faellt. Ja, ich fuehle mich im Kampffluss momentan gestoert.


-----------------------------------------------------------------------------



Re^6: Zeitgenauigkeit (Ark, 22. Feb 2010, 14:31:38):
~#! rn=Gloinson rt=1266844889 rg=entwicklung
~#! tid=1266182148
Kapiert. Menschliche Umstellung. Wobei ich verstanden habe, dass es auch
Spells geben koennte, die davon profitieren, weil theoretisch wieder frueher
castbar. Ich vermute, ohne es bisher getestet zu haben, dass die allseits
uebliche finte/waffenschlag und finte/todesstoss Kombo in Deinem Beispiel
wiederfinden koennte. Bei Handbetrieb.
Teste ich mal. Wobei ein per Hand betriebener Kaempfer *hust* nicht schlechter
oder besser dadurch wird. Vielleicht einmal mehr tanken, weil ein paarmal
"rums" statt wie ueblich "RUUUMMMMS".
Immerhin lese ich auch das "momentan" im letzten Satz :-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^6: Zeitgenauigkeit (Xutelius, 22. Feb 2010, 14:39:14):
~#! rn=Gloinson rt=1266844889 rg=entwicklung
~#! tid=1266182148
Um den Artikel kurz zu halten stimme ich, was den reinen Kampffluss angeht,
einfach mal Gloinson zu.
Dazu kommt allerdings:
Wenn ich in der ersten Runde nicht am Anfang caste, muss ich auch in den
Folgerunden zu einem spteren Zeitpunkt casten.
Jetzt habe ich das Problem, dass die Wahrscheinlichkeit, das meine eigene
Treffermeldung vorgelesen wird wenn sie am Anfang der Runde kommt, vermutlich
weil vorher meist eine kurze Pause im Textfluss war, wesendlich hoeher ist,
als wenn sie irgendwann mitten drin war. In einigen faellen muss man
mitkriegen, ob man Schaden gemacht hat und wieviel. (Vesray, Water Luh...)
Natuerlich koennte man all sowas triggern, das kaeme den Bemuehungen das MuD
moeglichst von allen Barrieren zu befreien nicht wirklich endgegen.
Xut*

-----------------------------------------------------------------------------



Re^3: Zeitgenauigkeit (Malar, 22. Feb 2010, 14:50:04):
~#! rn=Ark rt=1266842811 rg=entwicklung
~#! tid=1266182148
Ich moechte gern eine Lanze fuer das alte Zeitverhalten brechen. Mein
Ziel ist es den Blickwinkel von Programmzeilen, Zehntelsekunden sowie
elementarer Mathematik auf den Spass am Spiel, die Sicht und Phantasie
des Spielers und die sich daraus ergebende Stimmigkeit zu lenken.

Vorausgeschickt sei noch das mir mit dem neuen Verhalten die Freude am
Spiel im allgemeinen sowie die Lust zu kaempfen im speziellen voellig
abhanden gekommen ist.

Ich habe seit nunmehr fast 16 Jahren den Kampf immer in kampfrunden
empfunden. Alle angegebenen Verzoegerungen sind, sofern es sich um
waehrend des Kampfes ausfuehrbare Aktionen handelt, in Kampfrunden-
wartezeit 'umgerechnet' worden.

Hier haben wir ein Henne-Ei-Problem. Ich glaube nicht das die Gilden-
magier wirklich wollten, das z.B. ein Feuerball fruehenstens nach
2.00s erneut gezaubert werden kann. Vielmehr wird man durch Testen
oder Wissen eben 2s eingestellt haben um das jede Runde zu
ermoeglichen bzw. einen Faktor von zwei um entsprechend mehr
Kampfrunden Wartezeit zu erzwingen.

Die angefuehrten Vorteile der genaueren Zeitaufloesung und der
Moeglichkeit von ungeraden Wartezeiten, allen voran Aktionen mit
Verzoegerungen von 1s, vermoegen mich nicht zu ueberzeugen. Letztere
halte ich fuer pure Theorie und alle anderen ungeraden Wartezeiten
sind im Kampf unhandlich und ausserhalb nur von Clients zu bemerken.

Bitte richtet euer Augenmerk auch auf die schon von Amynthor
angesprochenen Latenzen. Hier geht es nicht nur um Laufzeiten im Netz
die sich je nach Technologie noch immer ergeben koennen sondern um die
zwischen Bildschirm und Auge/Hand oder Ohr/Hand auftretenden. Es wird
hier viel Arbeit in den Abbau von Barrieren investiert aber die
momentane Situation macht einen bislang immer existierenden fluessigen
Ablauf zu einer Tortur fuer Latenzgeplagte. Fuer den gluecklichen Rest
bleibt es laestig - ich kann mir keinen kaempfenden Spieler vorstellen
der dies als besser empfindet als es vorher war.

Gilden die waehrend des Kampfes verschiedene Aktionen durchfuehren
spueren das neue Verhalten besonders. Landet man einmal in der zweiten
Rundenhaelfte (durch Skills deren Delay auf alle Faehigkeiten wirken,
z.B.  Fokus/Drache/Schnell) ist man fuer die Zeit die man beim Gegner
verbleibt auf ein Zeitfenster von 1s limitiert um wie frueher kaempfen
zu koennen. Uebersprungene Runden in denen man rein rechnerisch noch
etwas haette tun koennen was aber aufgrund von Latenz nicht zu
schaffen war sind dann vorprogrammiert.

Besonders bizarr wird es wenn ein Trves seine Attacken in seienr
zweiten Rundenhaelfte beschleunigt, dann ist jedoch erstmal der Gegner
dran und erst in der naechsten Runde kommt die Wirkung zum
tragen. Hier kommt zum Aerger ueber die Situation auch noch der
Verlust von Austeilvermoegen hinzu.

Ich bitte instaendig darum das alte kampfrundensynchrone Verhalten
wieder zu etablieren. Dafuer fallen mir zwei Moeglichkeiten ein:

1) Rueckbau der Aenderung
   + alles geht wieder wie zuvor
   - _alles_ geht wieder wie zuvor (2s Zeittakt)
   - vermutlich Reboot
2) Am Ende einer Kampfrunde (nachdem die Gegner dran waren) werden
   alle Delays die innerhalb der kommenden Kampfrunde ablaufen
   wuerden aufgehoben.
   ? Entscheidung zwischen Mathematik und Spass
   + alles geht wieder wie zuvor
   + die Taktung von 1s bleibt bestehen
   - zusaetzlicher Aufwand den ich nicht abschaetzen kann
   - vermutlich Reboot

Die 1s-Taktung mag Vorteile haben die Spieler derzeit nicht erkennen
koennen. In der momentanen Form macht sie jedoch deren unnoetige
Nachteile deutlich spuerbar. Bitte lasst den Spielspass nicht aus den
Augen und 'schenkt' den Spielern auch mal 0.5 Sekunden obwohl das
mathematisch nicht korrekt waere.

Malar

-----------------------------------------------------------------------------



Re^4: Zeitgenauigkeit (Gloinson, 22. Feb 2010, 14:56:56):
~#! rn=Malar rt=1266846604 rg=entwicklung
~#! tid=1266182148
Ich habe das "momentan" bei mir so betont, weil ich erstmal ein paar Wochen
ins Land gehen lassen wollen wuerde. Wie jede groessere Umstellung ist auch
diese gewoehnungsbeduerftig und sollte nicht nach drei Tagen gekappt werden,
nur weil sie "anders" ist.

Die zwei Sekunden - Heartbeats von frueher waren uebrigens eher nicht
grossartig getestet sondern einfach das kleinste, vom Driver vorgegebene
Intervall. Und es gab ergo auch MUDs mit anderen Taktungen (Gueldenland).

PS: Ich bin lange genug dabei um mich bei einem "frueher war alles besser"
zurueckhalten zu wollen. Und wenn "frueher" gerade mal drei Tage her ist :)


-----------------------------------------------------------------------------



Re^7: Zeitgenauigkeit (Ark, 22. Feb 2010, 15:17:43):
~#! rn=Xutelius rt=1266845954 rg=entwicklung
~#! tid=1266182148
Welche Barrieren sind das jetzt genau? Es geht immer alles noch, nur anders
als zuvor. Eine Barriere ist imho, wenn etwas nicht mehr oder maximal nur noch
unertraeglich schlecht geht.
Wer oefter mit UMTS Lag (jaja, so wie ich) spielt, dem faellt das ganze Bohei
zu verstehen umso schwerer :-) Fuehle mich aber dennoch nicht barriert.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^4: Zeitgenauigkeit (Ark, 22. Feb 2010, 15:41:30):
~#! rn=Malar rt=1266846604 rg=entwicklung
~#! tid=1266182148
Irre ich mich, oder bekommen wir keine Beispiele, wo laenger dauernde Spells
auch wieder frueher castbar/anwendbar sind? "schnell"? "drache", etc.? Das
"Zeitverhalten" (richtiger: Zeitmessung) stoert nur fuer kurz hintereinander
angewendete Faehigkeiten ... da wo man es "fuehlt"?
Was die Gildenmagier wollten ... zur Zeit des Designs aller momentan
angeschlossener Gilden war das wohl nicht wirklich diskutiert worden, es war
ja effektiv fuer alle das gleiche Verhalten. Diskutiert wird meist immer im
Vergleich zwischen Gilden, wenn es um Kampfkraftbeurteilung etc. geht.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^5: Zeitgenauigkeit (Xutelius, 22. Feb 2010, 16:05:22):
~#! rn=Ark rt=1266849690 rg=entwicklung
~#! tid=1266182148
Nach der Aenderung kommt es haeufiger vor, dass die eigene Schadensmeldung
nicht von der Sprachausgabe vorgelesen wird (jedenfals mit JAWS und TF).
Bei manchen gegnern muss man seinen Schaden zwischendurch anpassen (Water Luh,
wo man zwischen mechanischem und magischem Schaden wechseln muss, Vesray, der
Schutzauren gegen die magische Schadensart erstellt und dadurch den
entsprechenden magischen Anteil der Angriffe voellig blockt, sind grad die
beiden Beispiele die mir spontan einfallen, ich bin sicher, da gibts noch
mehr).
Wenn die Schadensmeldungen nich vorgelesen werden bekommt man das unter
Umstaenden erst wesendlich spaeter mit und das ist in meinen Augen schon ne
Barriere.
Xut*

-----------------------------------------------------------------------------



Re^6: Zeitgenauigkeit (Ark, 22. Feb 2010, 16:09:00):
~#! rn=Xutelius rt=1266851122 rg=entwicklung
~#! tid=1266182148
Also ist TF nicht barrierefrei? Ist das die Aussage?


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^7: Zeitgenauigkeit (Xutelius, 22. Feb 2010, 16:13:25):
~#! rn=Ark rt=1266851340 rg=entwicklung
~#! tid=1266182148
:prustet
Nein, ich weis nur nicht, wie sich das bei anderen Clients/Screenreadern
verhaelt.
Xut*

-----------------------------------------------------------------------------



Re^7: Zeitgenauigkeit (Malar, 22. Feb 2010, 16:14:22):
~#! rn=Ark rt=1266851340 rg=entwicklung
~#! tid=1266182148
Da sich weder an JAWS noch an TF etwas geaender hat
bleibt nur ein Kandidat uebrig der die Barriere 
errichtet hat.

Bitte hoert auf uns mit euren zynischen Bemerkungen
zu verspotten! Die Sache ist nicht so schwer zu
verstehen wir ihr tut.

Malar

-----------------------------------------------------------------------------



Re^8: Zeitgenauigkeit (Vector, 22. Feb 2010, 16:15:17):
~#! rn=Malar rt=1266851662 rg=entwicklung
~#! tid=1266182148
nehmt mal ALLE 10 Minuten Auszeit, sonst schaukelt sich noch
was hoch, an Stellen wo es eigentlich keine so grossen
Befindlichkeiten geben sollte (mehr von mir dann in 10 min)

-----------------------------------------------------------------------------



Re^8: Zeitgenauigkeit (Gloinson, 22. Feb 2010, 16:22:37):
~#! rn=Malar rt=1266851662 rg=entwicklung
~#! tid=1266182148
Ich weiss nicht, wo du jetzt Spott siehst. Xut* berichtet ein Problem mit dem
Screenreader, welches mit der Aenderung zusammenhaengen kann. Ark schliesst
die Moeglichkeit doch nicht dadurch aus, dass er versucht durch Nachfragen
wieso das genau und warum das genau passiert herauszufinden. Dass wir (die
Magier) das Problem erstmal nicht bei der feineren Taktung sehen, sondern an
der Anbindung, das kannst du uns wohl kaum verdenken.


-----------------------------------------------------------------------------



Re^8: Zeitgenauigkeit (Ark, 22. Feb 2010, 16:24:32):
~#! rn=Malar rt=1266851662 rg=entwicklung
~#! tid=1266182148
Ich meine das auch nicht zynisch. Sonst haette ich das mit einem "ohne Client
merkt man nix" abgetan. Aber ich krieg ein wenig Schaum im Gaumen, wenn ich
Barrierefreiheit in die Diskussion gezogen bekomme. Wenn etwas anders ist als
vorher, ok, let's discuss. Es ist ungewohnt, unguenstiger, ein wenig schwerer,
ok, let's discuss. Aber ne Barriere im Sinn von "Behinderung", das ist absolut
fehl am Platz in der Diskussion. Schonmal wenn man erst 2 Tage Erfahrung
sammeln konnte.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^9: Zeitgenauigkeit (Xutelius, 22. Feb 2010, 16:34:27):
~#! rn=Ark rt=1266852272 rg=entwicklung
~#! tid=1266182148
Lassen wir mal aussen vor, ob Barrierefreiheit hier der richtige Begriff ist,
oder nicht.
Ich hab erklaert was das Problem ist und wo es her kommt, wenn ihr mir
verratet was daran ihr noch nicht verstanden habt bzw. Fragen dazu stellt
kommen wir sicher schneller zu ner Loesung, als wenn wir diskutieren, ob
Barrierefreiheit hier der richtige Begriff ist oder nicht.
Xut*

-----------------------------------------------------------------------------



Re^10: Zeitgenauigkeit (Vector, 22. Feb 2010, 16:40:58):
~#! rn=Xutelius rt=1266852867 rg=entwicklung
~#! tid=1266182148
Mal unabhaengig von der barriere-Diskussion ein RICHTIGER Vorteil:
Man flieht eine halbe Runde spaeter, soll heissen: Auch wenn die
LPs schon unter der Fluchtgrenze sind hat man nochmal zeit dem
boesen NPC eins ueber zu ziehen, d.h. pro Tankrun hat man nun
auf JEDEN Fall eine Attacke mehr als bisher; endlich macht
fluchtrichtung todesstoss bei trves mal Sinn :)

-----------------------------------------------------------------------------



Re^11: Zeitgenauigkeit (Vanir, 22. Feb 2010, 19:01:42):
~#! rn=Vector rt=1266853258 rg=entwicklung
~#! tid=1266182148
Moin,
also ich habe einfach mal nen bischen herumgetestet und denke, dass die
Aenderungen mist sind. Zur Begr|ndung: Die neue Zeitaufloesung erfordert ein
gruseliges timing. Genauer: gar keins. Ich erreiche eine optimale Kampfkraft,
wenn ich moeglichst viele Befehle ins mud schiesse - und damit ist man
technisch wieder auf dem Stand von 1994, der Zeit des Megalags (zumindest war
das fuer mich damals so). 
Ich denke, dass Spieler, die es geschafft haben bei der alten Zeitaufloesung
einen Rhytmus zu finden, der ziemlich genau der 2s-Taktung entsprach, haben
ihre Kmapfkraft optimal ausgenutzt. Eine wechselnde Taktung - so zumindest
empfinde ich das Verhalten zur Zeit - hat in meinen Augen nur einen Sinn: Man
erreicht, dass Spieler, die es gut schaffen sich an solch einen Takt zu halten
keinen Vorteil mehr haben, da sie - je nach Rundenbeginn - mal mitten in der
Runde, mal am Anfang der Runde casten muessen. 
Mit alter Zeitaufloesung hatte man ebenfalls einen Vorteil durch das Setzen
einer extrem niedrigen Vorsicht (am besten gar keiner) - dadurch konnte man
naemlich dem Gegner noch eins Ueberbraten und dann fliehen. Ich finde es
spieltechnisch sehr unpassend, wenn man das nun ueber die Fluchtrichtung
erledigt, sprich dem Gegner panisch fliehend noch eine reinknallt.
Ich moechte noch etwas zur angesprochenen Barrierefreiheit sagen. Ich habe
Xutelius so verstanden, dass seine Sprachausgabe die Ausgabe seines Schadens
mal ausgibt, mal nicht. Das liegt vermutlich daran, dass mal die Ausgabe
seines Schadens zu Anfang der Runde und mal gegen Mitte (Ende?) kommt und dann
halt mal vom restlichen Kampfscroll 'verschluckt' (oder halt nicht). Fuer mich
klingt das so, als wenn ihr die Blinden durch diese Aenderungen nun wirklich
blind gemacht habt. 

Ich verbleibe dann mal und wuensch mir einfach, dass diese Aenderung wieder
ausgebaut wird.

Bis bald,
Vanir

-----------------------------------------------------------------------------



Re^4: Zeitgenauigkeit (Cutter, 22. Feb 2010, 22:02:19):
~#! rn=Malar rt=1266846604 rg=entwicklung
~#! tid=1266182148
Hallo,
ich moechte mich hiermit Malars Artikel anschliessen. Ob die Neuerung
theoretisch eine Verbesserung oder eine Verschlechterung darstellt ist fuer
mich persoenlich nicht ganz so erheblich.

Fakt ist, dass sie mehreren Spielern den Spielspass nimmt, die das MG
verlassen wollen oder sich einfach selbst spielpausen. Mit stellt sich dann
die Frage, wozu brauchen wir eine - nicht notwendige - Neuerung, die von den
Spielern nicht gewollt ist?

Wenn ich mich nicht irre, leben wir von den Spielern und deren Interesse am
MorgenGrauen. Wir wollen das MUD attraktiv fuer die Spieler halten und die
Leute sollen sich "wohl" fuehlen. Dies ist mit der timing-Neuerung
offensichtlich nicht gegeben.

Bei mir persoenlich ist es noch nicht so weit, dass ich von einer Verleidung
des Spielspasses sprechen moechte, aber ich merke die Aenderungen dennoch
negativ. Aus diesem Grund moechte auch ich eine Lanze fuer die urspruengliche
Zeitbetrachtung brechen, die uns ueber Jahre begleitet hat.

In diesem Sinne "never change a running system"...

alle weiteren wichtigen Argumente wurden in anderen Artikeln verbraten.

Fuer die Ausgeglichenheit
cutter

-----------------------------------------------------------------------------



Re^5: Zeitgenauigkeit (Nicolai, 22. Feb 2010, 22:11:26):
~#! rn=Cutter rt=1266872539 rg=entwicklung
~#! tid=1266182148
Wie schon Ark sagte "lets discuss". Irgendwie hoert man in dem
Artikel so ne Haltung a la "Wenn ihr das nicht zurueck nehmt mit
der Aenderung, dann hoeren wir mit Mudden auf"
und so ne Einstellung ist natuerlich alles andere als gesund
fuer ne Diskussion.
Auf so ne "Erpressung" werden sich die Magier schon deswegen
nicht einlassen, weil es dann bei jeder Aenderung oder
Gildenbalancierung wieder durch die Waelder rauscht, das 
ja ach so alle aufhoeren weil man ihnen "gezielt den Spiel-
spass nimmt".
Das letzte Zitat kam glaube ich von der Wurfsterndiskussion
oder vom Waffenwechsel/An/Ausziehen in einer Kampfrunde.

An Aenderungen hat das mg sicher schon weit schlimmeres
erlebt und ueberlebt. Was natuerlich interessant waere,
warum nun nach zig Jahren nun die Notwendigkeit gesehen
wird (oder Moeglichkeit gegeben ist?) Das Taktverhalten
zu "verfeinern"

-----------------------------------------------------------------------------



Re^5: Zeitgenauigkeit (Zook, 22. Feb 2010, 22:12:05):
~#! rn=Cutter rt=1266872539 rg=entwicklung
~#! tid=1266182148
Werwiewo bleibt denn weg oder spielpaust sich einfach?

Also ob sich die Aufregung so rentiert? Ich rate den ganz 
Aufgeregten, einmal inne zu halten, einmal durchzuatmen, dann
zu ueberlegen und noch mal durchzuatmen und dann zu entscheiden, 
was man macht.

Das MorgenGrauen ist (trotz allem) ein dynamisches Spiel, wo auch 
die eine und andere technische Weiterentwicklung auftritt; seien
es grundlegende Themen, seien es neue, auf- oder abgewertete 
Gilden, seien es Ojekte, die auftauchen, verschwinden, besser
oder schlechter werden. 

Und natuerlich kann man alles auch immer wieder mal anfassen
und veraendern. Also vor "Keiner mag mich und nun geh ich"-Aktionen
einfach noch einmal ein biscchen weiter testen, konstruktives
Feedback geben und dann fliesst das an dieser Stelle schon in die
Fortentwicklung ein.

Gruss, Zook.

-----------------------------------------------------------------------------



Re^6: Zeitgenauigkeit (Cutter, 22. Feb 2010, 22:16:02):
~#! rn=Nicolai rt=1266873086 rg=entwicklung
~#! tid=1266182148
Hm. Die Drohung sollte so nicht rueberkommen Nicolai. Das war lediglich eine
Feststellung bezogen auf einige Spieler. Ich will weiss Gott niemanden
erpressen oder zu etwas zwingen. Ich stelle hier nur meine Meinung im Rahmen
einer Bitte im Anschluss an Malars Artikel klar.

Deine Notwendigkeitsfrage greife ich gern auf. Wenn diese Aenderung
'notwendig' ist, muss man damit leben. Wenn diese aber nicht notwendig ist,
warum muss diese dann sein? Zu den anderen von Dir angefuehrten Aenderungen
ist meiner Ansicht nach festzustellen, dass hierueber zumindest vorab
gesprochen wurde. Dies kann kommen, jenes ist geplant und dann mit Balance
etc. diskutiert wurde. Im Vorraus. dies vermisse ich hier ein wenig. Auch die
Einbeziehung von Spielermeinungen ehe man eine derartige Aenderung in Kraft
setzt.

C

-----------------------------------------------------------------------------



Re^6: Zeitgenauigkeit (Gnome, 22. Feb 2010, 22:24:28):
~#! rn=Zook rt=1266873125 rg=entwicklung
~#! tid=1266182148
Nabend,

es ist doch schon ein ganze Menge Feedback geflossen, sogar Cutter
hat sich aufgemacht, seinen ersten Artikel zu schreiben.

Wenn man tiefgreifende Veraenderungen am Kampfsystem vornimmt,
bzw. Veraenderungen am Driver vornimmt, die tiefgreifende Veraenderungen
am Kampfsystem nachsichziehen, muss man imho schon massiv gute Gruende
dafuer angeben koennen. Eine feine Granularitaet von call_outs() und
resets() bzw. eine bessere Lastverteilung ueberwiegen nach meinem
Dafuerhalten in keinem Fall eine bis zu 18 Jahre waehrende Gewohnheit,
das Kaempfen in Runde zu erleben.
Besonders im grossen Kampfteamscroll konnte man gut die Pausen abpassen
und dann seine Befehle abschicken, jetzt muss man sich noch zusaetzlich
ueberlegen, ob man das durchgaengig in der ersten oder zweiten Haelfte
der Pause macht. Eine aus Spielersicht voellig unnoetige Huerde.

Aus meiner Sicht wurde auch sonst schon alles in den vorhergehenden
Artikeln gesagt. Tests wurden ja auch schon durchgefuehrt, so dass
ich mich nur noch der Bitte anschliessen kann, vollstaendig zum
alten Verhalten zurueckzukehren.

gnOme

-----------------------------------------------------------------------------



Re: verschluesselte Verbindung (SSL) ins Mud (Gloinson, 22. Feb 2010, 22:32:12):
~#! rn=Zesstra rt=1265924317 rg=bekanntmachungen
~#! tid=1265924317
Bei mir schliesst der stunnel die Verbindung bei schnellen Kommandos
(Wegescripten). Zumindest der Windows-stunnel ueber einen ADSL:

LOG7[:]: mg accepted FD=352 from 127.0.0.1:4313
LOG7[:]: Creating a new thread
LOG7[:]: New thread created
LOG7[:]: mg started
LOG7[:]: FD 352 in non-blocking mode
LOG7[:]: TCP_NODELAY option set on local socket
LOG5[:]: mg accepted connection from 127.0.0.1:4313
LOG7[:]: FD 364 in non-blocking mode
LOG7[:]: mg connecting 87.79.24.60:4712
LOG7[:]: connect_wait: waiting 10 seconds
LOG7[:]: connect_wait: connected
LOG5[:]: mg connected remote server from 192.168.178.36:4314
LOG7[:]: Remote FD=364 initialized
LOG7[:]: TCP_NODELAY option set on remote socket
LOG7[:]: SSL state (connect): before/connect initialization
LOG7[:]: SSL state (connect): SSLv3 write client hello A
LOG7[:]: SSL state (connect): SSLv3 read server hello A
LOG7[:]: SSL state (connect): SSLv3 read finished A
LOG7[:]: SSL state (connect): SSLv3 write change cipher spec A
LOG7[:]: SSL state (connect): SSLv3 write finished A
LOG7[:]: SSL state (connect): SSLv3 flush data
LOG7[:]:    1 items in the session cache
LOG7[:]:    2 client connects (SSL_connect())
LOG7[:]:    2 client connects that finished
LOG7[:]:    0 client renegotiations requested
LOG7[:]:    0 server connects (SSL_accept())
LOG7[:]:    0 server connects that finished
LOG7[:]:    0 server renegotiations requested
LOG7[:]:    1 session cache hits
LOG7[:]:    0 session cache misses
LOG7[:]:    0 session cache timeouts
LOG6[:]: SSL connected: previous session reused
LOG7[:]: SSL alert (read): warning: close notify
LOG7[:]: SSL closed on SSL_read
LOG7[:]: Socket write shutdown
LOG7[:]: SSL write shutdown
LOG7[:]: SSL alert (write): warning: close notify
LOG6[:]: SSL_shutdown successfully sent close_notify
LOG5[:]: Connection closed: 974 bytes sent to SSL, 95937 bytes sent to socket
LOG7[:]: mg finished (0 left)

Irgendwelche Erklaerungen?


-----------------------------------------------------------------------------



Re^7: Zeitgenauigkeit (Gloinson, 23. Feb 2010, 15:30:05):
~#! rn=Gnome rt=1266873868 rg=entwicklung
~#! tid=1266182148
Oeha. Ich hab mal eben mit alt/neu getestet, wie der Wechsel denn so aussieht
und dabei faellt mir eine Sache auf: Der eigene Angriff kommt jetzt _vor_ dem
NPC-Angriff.

Das mag ja eine Verbesserung sein (ha, ich hau ihn noch, bevor er mich haut).
Jedenfalls koennte es aber auch ein Grund dafuer sein, wieso die Scripte
durcheinander kommen.

Anbei der ganze Mist zum Selbstangucken. Ich habe die Spell-Meldungen und
Treffermeldungen mal durch identische Treffen ersetzt, macht das Vergleichen
mit WinMerge et al einfacher:

Testreihe neues Verhalten (2s Alarmzeit):
Auf 0 begonnen:

Tick: 0
Du erhebst die Haende gen Himmel ...
  Der Blitz schlaegt in die Titanwalze ein.
Tick: 1
Ein gewaltiger Donner erschuettert Dein Trommelfell.
  Du triffst eine Titanwalze.
  Eine Titanwalze trifft Dich.
Tick: 0
Du erhebst die Haende gen Himmel ...
  Der Blitz schlaegt in die Titanwalze ein.
Tick: 1
Ein gewaltiger Donner erschuettert Dein Trommelfell.
  Du triffst eine Titanwalze.
  Eine Titanwalze trifft Dich.
Tick: 0
Du erhebst die Haende gen Himmel ...
  Der Blitz schlaegt in die Titanwalze ein.
Tick: 1
Ein gewaltiger Donner erschuettert Dein Trommelfell.
  Du triffst eine Titanwalze.
  Eine Titanwalze trifft Dich.
Tick: 0
Du erhebst die Haende gen Himmel ...
  Der Blitz schlaegt in die Titanwalze ein.
Tick: 1
Ein gewaltiger Donner erschuettert Dein Trommelfell.
  Du triffst eine Titanwalze.
  Eine Titanwalze trifft Dich.
Tick: 0
Du erhebst die Haende gen Himmel ...
  Der Blitz schlaegt in die Titanwalze ein.
Tick: 1
Ein gewaltiger Donner erschuettert Dein Trommelfell.
  Du triffst eine Titanwalze.
  Eine Titanwalze trifft Dich.
Tick: 0

###

Auf 1 begonnen:

Tick: 1
Du erhebst die Haende gen Himmel ...
  Der Blitz schlaegt in die Titanwalze ein.
  Du triffst eine Titanwalze.
  Eine Titanwalze trifft Dich.
Tick: 0
Ein gewaltiger Donner erschuettert Dein Trommelfell.
Tick: 1
Du erhebst die Haende gen Himmel ...
  Der Blitz schlaegt in die Titanwalze ein.
  Du triffst eine Titanwalze.
  Eine Titanwalze trifft Dich.
Tick: 0
Ein gewaltiger Donner erschuettert Dein Trommelfell.
Tick: 1
Du erhebst die Haende gen Himmel ...
  Der Blitz schlaegt in die Titanwalze ein.
  Du triffst eine Titanwalze.
  Eine Titanwalze trifft Dich.
Tick: 0
Ein gewaltiger Donner erschuettert Dein Trommelfell.
Tick: 1
Du erhebst die Haende gen Himmel ...
  Der Blitz schlaegt in die Titanwalze ein.
  Du triffst eine Titanwalze.
  Eine Titanwalze trifft Dich.
Tick: 0
Ein gewaltiger Donner erschuettert Dein Trommelfell.
Tick: 1
Du erhebst die Haende gen Himmel ...
  Der Blitz schlaegt in die Titanwalze ein.
  Du triffst eine Titanwalze.
  Eine Titanwalze trifft Dich.
Tick: 0
Ein gewaltiger Donner erschuettert Dein Trommelfell.
Tick: 1
Du erhebst die Haende gen Himmel ...
  Der Blitz schlaegt in die Titanwalze ein.
  Du triffst eine Titanwalze.
  Eine Titanwalze trifft Dich.
Die Titanwalze versucht Dich platt zu walzen.
Tick: 0

###

Auf 0 begonnen mit Wechsel auf 1:

Tick: 0
Du erhebst die Haende gen Himmel ...
  Der Blitz schlaegt in die Titanwalze ein.
Tick: 1
Ein gewaltiger Donner erschuettert Dein Trommelfell.
  Du verfehlst eine Titanwalze.
  Eine Titanwalze trifft Dich.
Tick: 0
Du erhebst die Haende gen Himmel ...
  Der Blitz schlaegt in die Titanwalze ein.
Tick: 1
Ein gewaltiger Donner erschuettert Dein Trommelfell.
  Du triffst eine Titanwalze.
  Eine Titanwalze trifft Dich.
Tick: 0
Tick: 1
Du erhebst die Haende gen Himmel ...
  Der Blitz schlaegt in die Titanwalze ein.
  Du triffst eine Titanwalze.
  Eine Titanwalze trifft Dich.
Tick: 0
Ein gewaltiger Donner erschuettert Dein Trommelfell.

###

Testreihe altes Verhalten (2s Alarmzeit):

Tick: 0
Du erhebst die Haende gen Himmel ...
  Der Blitz schlaegt in die Titanwalze ein.
  Eine Titanwalze trifft Dich.
  Du triffst eine Titanwalze.
Ein gewaltiger Donner erschuettert Dein Trommelfell.
Tick: 0
Du erhebst die Haende gen Himmel ...
  Der Blitz schlaegt in die Titanwalze ein.
  Eine Titanwalze trifft Dich.
  Du triffst eine Titanwalze.
Ein gewaltiger Donner erschuettert Dein Trommelfell.
Tick: 0
Du erhebst die Haende gen Himmel ...
  Der Blitz schlaegt in die Titanwalze ein.
  Eine Titanwalze trifft Dich.
  Du triffst eine Titanwalze.
Ein gewaltiger Donner erschuettert Dein Trommelfell.
Tick: 0
Du erhebst die Haende gen Himmel ...
  Der Blitz schlaegt in die Titanwalze ein.
  Eine Titanwalze trifft Dich.
  Du triffst eine Titanwalze.


-----------------------------------------------------------------------------



Re^8: Zeitgenauigkeit (Gloinson, 23. Feb 2010, 15:45:33):
~#! rn=Gloinson rt=1266935405 rg=entwicklung
~#! tid=1266182148
Ok, Kommando zurueck, wer als erstes zuschlaegt, das ist keine Neuerung. Das
ist einfach nur zufaelliger Zufall. Und mein Test nicht hinreichend mit Daten
gefuettert um ihn auszuschliessen.


-----------------------------------------------------------------------------



Re^7: Zeitgenauigkeit (Ceilo, 23. Feb 2010, 21:24:21):
~#! rn=Gnome rt=1266873868 rg=entwicklung
~#! tid=1266182148
Erster Eindruck meinerseits: Es ist eher nervig, dass man sich jetzt
nicht mehrauf Rundengrenzen verlassen kann. Die Meldung

"So schnell bist Du nicht! Willst Du Dir saemtliche Knochen brechen?"

sehe ich jedenfalls fter als je zuvor. Mag aber sein, dass es auch
positive Auswirkungen gbt, die mir noch nicht direkt aufgefallen sind.

Ceilo
..

-----------------------------------------------------------------------------



Re^8: Zeitgenauigkeit (Zesstra, 23. Feb 2010, 21:32:44):
~#! rn=Ceilo rt=1266956661 rg=entwicklung
~#! tid=1266182148
Hier ist eine Menge geschrieben worden und ich kann nicht jedem antworten ohne
mein momentan ohnehin gut angefuelltes RL vollends zu vernachlaessigen, woran
nicht zuletzt der Serverumzug Anteil hat, denn der hat Amaryllis und mir
einiges an Arbeit beschert (auch immer noch). Daher Antwort auf den letzten
Artikel und ich wills relativ kurz halten und mich auf den Hintergrund
beschraenken ohne Einzelantworten zu formulieren. Ich hoffe, ich finde im
Laufe der naechsten Tage noch Gelegenheit, auf den einen oder anderen Punkt im
einzelnen einzugehen.
Hinzu kommt, dass mich der Stil der Diskussion stellenweise sehr befremdet hat
bzw. ich es als sehr destruktiv empfinde und ich erstmal etwas Abstand
gewinnen musste (und teilweise auch immer noch muss).

Ok, nun also zum Hintergrund dieser Aenderung: die ist nicht Laune heraus
getaetigt worden (wie man hier beim Lesen der Beitraege einiger Disputanten
vielleicht glauben koennte), sondern hat schlicht einige Vorteile:
a) Magier haben immer mal wieder nach einer genaueren Zeit gefragt bzw. 
   angemerkt, dass 2s doch unschoen seien.
b) es gibt Spellwartezeiten von 1s bzw. ungerader Anzahl an Sekunden (und
   zwar nicht nur als Einzelfall).
c) es eroeffnet Chancen, Boni auf solche Wartezeiten durchzukriegen. Sei es
   durch Items, Belohnungen fuer besondere Aufgaben in Gilden etc.
d) es eroeffnet mehr Flexibilitaet in der Spielgestaltung, weil nicht alles
   auf einmal passieren muss.
e) eine bessere Lastverteilung (tritt in der Bedeutung aber hinter den anderen
   Gruenden zZ deutlich zurueck).

Dass Spieler diese Aenderung als ernsthaft einschraenkend empfinden und sich
nicht nach kurzem dran gewoehnen wuerden, ist eine ueberraschende
Nebenwirkung. Wir waeren auch nicht das einzige Mud mit 1s-Genauigkeit. Auch
ist es keine 'tiefgreifende' Veraenderung des Kampfsystems. Einige Spieler
haben ja auch angemerkt, dass man daraus auch Vorteile neben den genannten
ziehen kann.

An a-d kann man vielleicht erkennen, dass es darum ging, neue Moeglichkeiten
zu schaffen. Es ging nicht darum, Spielern irgendwelche 0.5s zu klauen (im
Durchschnitt sind die Wartezeiten bei geraden Wartezeiten schliesslich
unveraendert), Spass durch Mathematik einzuschraenken oder gar um die mir per
Mail unterstellte Verhinderung eines angeblichen Missbrauchs.

Mehr dann demnaechst,

Zesstra

-----------------------------------------------------------------------------



Re^8: Zeitgenauigkeit (Vector, 23. Feb 2010, 21:42:28):
~#! rn=Ceilo rt=1266956661 rg=entwicklung
~#! tid=1266182148
Ganz ohne Frage haben Trves hier die meiste Arbeit was das 
Umstellen angeht, weil hier mit Abstand am meisten unterschiedliche
Faehigkeiten pro Runde zum Einsatz kommen.
Klar, in der guten alten heissgeliebten Combo kommen jetzt zig
"So schnell bist Du nicht! Willst Du Dir saemtliche Knochen brechen?"
aber genau das koennte man als Trves doch auch zum Anlass nehmen,
mal mit Testen anzufangen?
Komplett neue timing-durchlaeufe machen, und dann vielleicht
entdecken "Hey als Trves hab ich dank der vielen Skills den
meisten Zugewinn durch die Aenderung". 
Also auf gut Deutsch: Die Skills neu kennen lernen. Alternativ
kann man sich natuerlich auch selbst in Schrank haengen neben
das Alteisen und sagen "alles scheisse, frueher wars besser"

-----------------------------------------------------------------------------



Re^9: Zeitgenauigkeit (Grabpfleger, 23. Feb 2010, 21:43:51):
~#! rn=Vector rt=1266957748 rg=entwicklung
~#! tid=1266182148
Hm, aber die Feuerlanze sollte evtl. schon 2 sek sperre haben, mit spaltung 6
Feuerlanzen ist ein wenig uebertrieben pro runde

-----------------------------------------------------------------------------



Re^9: Zeitgenauigkeit (Ceilo, 23. Feb 2010, 22:02:34):
~#! rn=Vector rt=1266957748 rg=entwicklung
~#! tid=1266182148
Korrigier mich, wenn ich jetzt falsch liege, aber Deine Antwort scheint mir
davon auszugehen, dass man alles moegliche automatisiert raushaut. Mir geht es
eher darum, was man zu Fuss hinkriegt.

-----------------------------------------------------------------------------



Re^10: Zeitgenauigkeit (Vector, 23. Feb 2010, 22:10:28):
~#! rn=Ceilo rt=1266958954 rg=entwicklung
~#! tid=1266182148
nope von automatisiertem raushauen bin ich nicht ausgegangen, sondern
davon, dass trves die meiste arbeit haben werden, alte gewohnheiten
aufzubrechen.
jahrelang ist man z.b. mit der 08/18 combo: finte kopfstoss 
kniestoss waffenschlag rumgerannt, und nun wirft das eben paar
"taktungsfehler" wenn man sie nicht zum richtigen zeitpunkt
der runde anwirft. ob das nun per script oder per alias
(auf 1,2,3,4) geschieht ist ja erstmal wurst.
kaempfer muessen nun viel investieren, hier eine "neue" optimale
reihenfolge zu finden, die die neue zeiten optimal nutzt
(vielleicht wird ja wieder ellbogen interessant, oder auch
schildstoss lohnt sich fuer ueberzeugte zweihaender?!)
oder bisher war immer klar:
"wenn ich jetzt waffentrick mache habe ich ne sperre 
und kann dann nicht finte einsetzen in der combo etc,
und dieses "bisher war immer klar" gibts durch das neue
taktverhalten derzeit nichtmehr, sondern muss eben erst
neu entdeckt werden. und entweder man ist bereit sich
die arbeit zu machen, damit die "neuen bonbons" die moeglich
sind auch entdeckt werden, oder eben nicht. muss jede(r)
fuer sich entscheiden.

-----------------------------------------------------------------------------



Re^4: Zeitgenauigkeit (Zesstra, 23. Feb 2010, 22:23:42):
~#! rn=Malar rt=1266846604 rg=entwicklung
~#! tid=1266182148
> allen voran Aktionen mit Verzoegerungen von 1s, vermoegen mich nicht zu
> ueberzeugen. Letztere halte ich fuer pure Theorie [...]
Hier muss ich nach etwas Abkuehlzeit etwas zu sagen. Und zwar weil es mich auf
die Palme brachte. Ich habe auf diesen Umstand (Existenz von 1s-Delays)
hingewiesen. Irgendwie hab ich bei der Aussage, diese seien reine Theorie das
Gefuehl, mir wuerde eine Luege unterstellt. Das weise ich entschieden zurueck.


Zesstra

-----------------------------------------------------------------------------



Re^5: Zeitgenauigkeit (Zesstra, 23. Feb 2010, 22:25:28):
~#! rn=Cutter rt=1266872539 rg=entwicklung
~#! tid=1266182148
> In diesem Sinne "never change a running system"...
Ohne Dir zu nahe treten zu wollen: hast Du darueber nachgedacht, was dieser
Wunsch fuer ein Spiel fuer Konsequenzen hat und was dieser Wunsch in einem
aktiven Magier macht?


Zesstra

-----------------------------------------------------------------------------



Re^5: Zeitgenauigkeit (Amynthor, 23. Feb 2010, 22:25:47):
~#! rn=Zesstra rt=1266960222 rg=entwicklung
~#! tid=1266182148
Wenn ich die Diskussion so verfolge, draengt sich mir der Eindruck auf, ihr
redet hier gerade aneinander vorbei.

Zesstra:
  "Den Driver sekuendlich zu takten, hat eine Menge technischer Vorteile, und
   ausserdem haben die Magier so mehr Moeglichkeiten."
Spieler:
  "Wir moegen die Aenderungen im Kampfverhalten nicht. Warum habt ihr das
   gemacht? Wir wollen bitte das alte Verhalten wiederhaben!"

Zesstra hat mit folgendem Satz den Punkt getroffen:
> Dass Spieler diese Aenderung als ernsthaft einschraenkend empfinden und sich
> nicht nach kurzem dran gewoehnen wuerden, ist eine ueberraschende
> Nebenwirkung. Wir waeren auch nicht das einzige Mud mit 1s-Genauigkeit.

Wenn Zesstra das schon als ueberraschend bezeichnet - mal ehrlich, wer von den
Magiern hat im Voraus die Tragweite der Aenderung begriffen? Es geht gar nicht
darum, dass eine beabsichtigte Aenderung auf wenig Gegenliebe bei den Spielern
stoesst. Sondern dass eine technische Umstellung unerwartet deutlich massivere
Folgen hat, als das im Voraus klar war.

Sicher ist es schoen, wenn das Spiel feinere Zeitintervalle als 2s verarbeiten
kann. Das steht (noch deutlich feiner) schon lange auf meiner Wunschliste.
Aber wenn das ohne muehsame Nacharbeit im Kampfsystem derartige Folgen hat,
dann verzichte ich doch lieber darauf.

Mein Vorschlag waere daher, die Neuerung erst einmal wieder rueckgaengig zu
machen und das Spiel neu zu starten. Wenn es eine akzeptable Loesung gibt, wie
das rundenbasierte Spielmodell mit einem Zeittakt <2s abbildbar ist, koennen
wir einen zweiten Anlauf wagen. Denn das eilt ja nun wirklich nicht.

Amynthor


-----------------------------------------------------------------------------



Re^6: Zeitgenauigkeit (Nicolai, 23. Feb 2010, 22:30:53):
~#! rn=Amynthor rt=1266960347 rg=entwicklung
~#! tid=1266182148
also "die spieler" wollen sicher nicht, dass die aenderung
zurueck genommen wird.
die meisten haben sich nicht dazu geaeussert, und dann
gibts noch 2 fraktionen die eine testet die andere mault :)

-----------------------------------------------------------------------------



Re^6: Zeitgenauigkeit (Gloinson, 23. Feb 2010, 22:42:29):
~#! rn=Amynthor rt=1266960347 rg=entwicklung
~#! tid=1266182148
Erm. Ich finde, dass du sinnenstellend interpretierst. Zesstra schrieb, dass
wir Magier nicht damit gerechnet haben, dass Spieler die 1s-Taktung als
einschraenkend und ungewohnt empfinden. Das kann man selbst mit Wohlwollen
nicht zu einem "technische Umstellung hat massivere Folgen als vorher klar".

Warum nicht? Weil ich bitteschoen zwischen "massive Folgen" und "massive
Wortmeldung fuer 'frueher war alles besser' nach viel zu wenig Probzeit"
unterschieden haben will.


-----------------------------------------------------------------------------



Re^6: Zeitgenauigkeit (Zesstra, 23. Feb 2010, 23:12:03):
~#! rn=Amynthor rt=1266960347 rg=entwicklung
~#! tid=1266182148
> Zesstra:
>   "Den Driver sekuendlich zu takten, hat eine Menge technischer Vorteile,
und
>    ausserdem haben die Magier so mehr Moeglichkeiten."
[...]
> Wenn Zesstra das schon als ueberraschend bezeichnet - mal ehrlich, wer von
den
> Magiern hat im Voraus die Tragweite der Aenderung begriffen?
Wenn Du meine a-d auf die o.g. Aussage reduzierst - mal ehrlich, hast Du
begriffen, worum es dabei ging? Es geht mitnichten um technische Vorteile, was
ich sogar explizit geschrieben habe. Da das so ist, muss ich wohl von einer
absichtlichen falschen und irrefuehrenden Wiedergabe ausgehen.

Zum Rest s. Gloinson.

Bis demnaechst,


Zesstra

-----------------------------------------------------------------------------



Re^7: Zeitgenauigkeit (Amynthor, 23. Feb 2010, 23:32:16):
~#! rn=Gloinson rt=1266961349 rg=entwicklung
~#! tid=1266182148
> Warum nicht? Weil ich bitteschoen zwischen "massive Folgen" und "massive
> Wortmeldung fuer 'frueher war alles besser' nach viel zu wenig Probzeit"
> unterschieden haben will.

Auf den Post habe ich gewartet. -.-

Der Punkt ist, dass das nicht irgendeine Aenderung ist. Sondern mal eben das
komplette Spielprinzip durcheinanderwirft. Vorher waren Kaempfe im
MorgenGrauen rundenbasiert. Jetzt spielt Echtzeit eine Rolle. Das ist nichts,
was man im Zuge einer in erster Linie technischen Aenderung "so nebenbei"
umstellt und wartet, bis sie aufhoeren zu zucken.

Ich finde, dass Du die ueberwiegend konstruktiven Rueckmeldungen, die
verschiedene Spieler in den letzten Tagen gegeben haben, mit "frueher war
alles besser" in ungebuehrlicher Weise herabsetzt. Spieler haben eine so nicht
intendierte, hoechstens hingenommene Aenderung im Spielverhalten bemerkt und
sachlich argumentiert, warum sie ihnen den Spielspass mindert. Wie lange soll
denn Deiner Auffassung nach so eine Probezeit gehen?

> Zesstra schrieb, dass wir Magier nicht damit gerechnet haben, dass Spieler
> die 1s-Taktung als einschraenkend und ungewohnt empfinden. Das kann man
> selbst mit Wohlwollen nicht zu einem "technische Umstellung hat massivere
> Folgen als vorher klar".

Als was denn sonst? Ich habe im Vorfeld jedenfalls keine Diskussion zu dem
Thema, nicht mal eine Erwaehnung der Problematik gesehen. Was an "Oops, da
haben wir gerade ein grundlegendes Spielprinzip ueber den Haufen geworfen" ist
denn bitte nicht "massivere Folgen als vorher klar"?

Amynthor


-----------------------------------------------------------------------------



Re^8: Zeitgenauigkeit (Nicolai, 23. Feb 2010, 23:34:04):
~#! rn=Amynthor rt=1266964336 rg=entwicklung
~#! tid=1266182148
meine fresse was hast du denn geraucht kollege?
du bist magier? wie das denn?
hier wurde ein "grundlegendes spielprinzip ueber den haufen
geworfen"? sorry das ich dich auslache, aber mit dir kann
man sich wirklich nicht auf ne diskussion einlassen

wie waers mit ner aenderung das mud als rundenbasiertes
game und pro woche einen zug per email an zook

meine fresse......

-----------------------------------------------------------------------------



Re^7: Zeitgenauigkeit (Amynthor, 23. Feb 2010, 23:55:46):
~#! rn=Zesstra rt=1266963123 rg=entwicklung
~#! tid=1266182148
>> Zesstra:
>>   "Den Driver sekuendlich zu takten, hat eine Menge technischer Vorteile,
>>    und ausserdem haben die Magier so mehr Moeglichkeiten."
> [...]
>> Wenn Zesstra das schon als ueberraschend bezeichnet - mal ehrlich, wer von
>> den Magiern hat im Voraus die Tragweite der Aenderung begriffen?
> Wenn Du meine a-d auf die o.g. Aussage reduzierst - mal ehrlich, hast Du
> begriffen, worum es dabei ging? Es geht mitnichten um technische Vorteile,
> was ich sogar explizit geschrieben habe. Da das so ist, muss ich wohl von
> einer absichtlichen falschen und irrefuehrenden Wiedergabe ausgehen.

Ja, ich ging davon aus, begriffen zu haben, was Du mit a)-e) gemeint hast.
Offenbar habe ich mich darin geirrt. Warum geht es Dir "mitnichten um
technische Vorteile" und mehr Moeglichkeiten fuer Magier?

> a) Magier haben immer mal wieder nach einer genaueren Zeit gefragt bzw.
>    angemerkt, dass 2s doch unschoen seien.
> d) es eroeffnet mehr Flexibilitaet in der Spielgestaltung, weil nicht alles
>    auf einmal passieren muss.
> e) eine bessere Lastverteilung (tritt in der Bedeutung aber hinter den
>    anderen Gruenden zZ deutlich zurueck).

Das hast Du doch ziemlich exakt so geschrieben... oder nicht?

> b) es gibt Spellwartezeiten von 1s bzw. ungerader Anzahl an Sekunden (und
>    zwar nicht nur als Einzelfall).
> c) es eroeffnet Chancen, Boni auf solche Wartezeiten durchzukriegen. Sei es
>    durch Items, Belohnungen fuer besondere Aufgaben in Gilden etc.

Ich muss gestehen, dass mir Punkt c) tatsaechlich nicht ganz klar ist.
Vielleicht geht es anderen aehnlich. Moechtest Du nochmal erlaeutern, was
genau Du Dir darunter vorstellst?

Amynthor


-----------------------------------------------------------------------------



Re^8: Zeitgenauigkeit (Ark, 24. Feb 2010, 00:05:15):
~#! rn=Amynthor rt=1266965746 rg=entwicklung
~#! tid=1266182148
Stand aber schonmal irgendwo ... Finte alle 1s und Waffenschlag alle 3s ...
oder Todesstoss alle 5s statt (glaubich) alle 6 Runden. Oder Waffentrick alle
2s und damit frueher wieder Finte, etc.
Muss man halt kreativ werden. Und danach sich als Spieler umstellen. Aber
wups, das waere wohl wieder das boese Wort Umstellen, und damit waeren wir
wieder auf dem kreativen Abstellgleis, nach ein paar Tagen haelt der Spasszug,
weil er nicht mehr im Kreis faehrt.
Okok, Zynismus zurueck, aber der erste Teil soll (ich nur Kaempfer haben)
andeuten, dass man sich da als GM vielleicht mal mit dem Gilden EM unterhalten
koennte. Um die feinere Taktung mal positiv zu verwenden und nicht nur das
Gewohnte hochzuhalten.
Vielleicht kommen dann sogar wieder angestaubte Skills wieder zur Ehre, weil
sie nicht in den 0815 Rhythmus reinpassten. Vielleicht. Man kann ja hoffen.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^9: Zeitgenauigkeit (Gnome, 24. Feb 2010, 02:47:35):
~#! rn=Vector rt=1266957748 rg=entwicklung
~#! tid=1266182148
Ich weiss ja nicht, ich weiss ja nicht.

Die Sache ist doch die: keiner hat vorher gefragt, ob man diese Aenderung
einfuehren sollte. Ist Dir vielleicht schonmal in den Sinn gekommen,
dass ein erheblicher Teil der Spielerschaft diese Aenderung und deren
Auswirkung gar nicht haben wollen, egal wie die Vorteile aussehen?

Ich fuer meinen Teil kann sagen: ich moechte meine Skills gar nicht neu
kennenlernen und ich war vollkommen zufrieden mit der bisherigen "ganzen"
Rundentaktung. Denn fuer die eventuellen Vorteile, die sich durch die
Aenderung moeglicherweise ergeben - verschiedene Skills in einer
Kampfrunde, die vorher nicht passten - muesste ich nun stundenlang testen
und Scripte umschreiben und mich ueber Monate oder sogar Jahre hinweg
umgewoehnen. Du wuerdest jetzt vielleicht sagen: "ist doch super, mal was
Neues!", ich sage: "moechte ich nicht."

Ich begruesse sicherlich die verbesserte Zeitgenauigkeit, welche aus
Magiersicht feinere Abstimmungsmoeglichkeiten ermoeglicht. Wenn dies aber
nur zu Lasten des alten Kampfsystems machbar ist (was ich nicht weiss),
wuerde ich gerne das alte Verhalten wieder haben.
Denn bei allen Vorteilen, die sich durch die Aenderung fuer Magier ergeben,
darf man nicht vergessen, dass die Spieler mit den Auswirkungen zu leben
haben.

Ansonsten: d'accord Amynthor.


gnOme

-----------------------------------------------------------------------------



Spell-Zeiten (Gloinson, 24. Feb 2010, 02:57:24):
Moin,

auf Seher scrollten eine Frage zu "wieso gab es ueberhaupt Spells mit
ungeraden Wartezeiten". Dass Spells nicht unbedingt mit einer Taktung von
Heartbeat - 2s geworfen werden koennen sollen ist schon ziemlich alt. Meist
war dabei der Gedanke einer von vorzubereitenden Spells oder generell
Zeitkosten fuer Spells mit einem Vielfachen der Grundgranularitaet von
Heartbeat.

Im auch recht alten Klerusspellbook sind zwar schon seit Ewigkeiten ungerade
Fatigue-Zeiten fuer etliche HLP-Anrufungen, aber so richtig Einzug gehalten
hat die ungerade Sekundenzahl mit den Teamspells. Bei mehrfach gerufenen
Spruechen ist eben x*2 <= x*3 <= x*4 ... und man findet mit der Balance den
Kompromiss in der Mitte.

Und ja - das habe ich auch schon vor ueber einem Jahr in der Hoffnung auf
1s-Taktung so programmiert. Ich habe mich eher immer mal gewundert, warum es
_noch nicht_ aktiv war, aber die Uptime war in der Hinsicht auch grausam lang.

PS: Projektidee fuer LD: hot-swapping binaries :P


-----------------------------------------------------------------------------



Re^10: Zeitgenauigkeit (Vector, 24. Feb 2010, 12:54:33):
~#! rn=Gnome rt=1266976055 rg=entwicklung
~#! tid=1266182148





nope ich finde keinesfalls, dass eine neuerung per se "gut" sein
muss. ich habe nur langsam keine lust mehr, geweine und maulerei
in der mpa lesen zu muessen, von leuten die nichtmal getestet
haben wie die aenderung aussieht. das kommt fuer mich so ein
bissl rueber wie von ausserhalb des gartenzauns rueber zu maulen.

man hat jahrzehnte mit dem "alten" kampfsystem bzw den getakteten
runden gelebt und nun muss man sich das eben neu ankucken.
"muss" natuerlich nicht, ich schreibe keinem vor, das zu machen.
ich sehe das mud eben als dynamisches spiel, in dem sich laufend
viel veraendert. und entweder man geht mit der zeit oder man
geht mit der zeit?:)
im laufe der letzten jahre gab es zig aenderungen, vom
tanksystem (vortanken, keine instant-heilung mehr, dann
konnte man nichtmehr beliebig enttanken etc), an/ausziehen
in einer runde ging nichtmehr, im lauf der zeit hat sich
auch die staerke der gilden geaendert, mal war diese mal
jede vorne mit dabei, bei den rassen gilt aehnliches.

viele "alten saecke" haben schon bei den aenderungen als
"rein/raus" nimmer so wirklich ging, die segel gestrichen
und gesagt "das ist nicht mehr mein mud" oder "ich will
mich nicht umstellen".
jeder muss und darf fuer sich entscheiden in wie weit und
wie lange er an dem dynamischen spiel teilnehmen will, und
wann es zeit ist, im seherhaus zu bleiben, wie gesagt der
punkt liegt bei jedem an ner anderen stelle.

meine hauptkritik ist und bleibt das gemoser ohne zu testen
(zumal mit der neuen taktung ja auch nun die gildenmagier
ganz neue moeglichkeiten in die hand gegeben wird, vllt sollte
man den magiern mal ein paar wochen zeit geben schoene
features zu stricken?:) )
und der zweite kritikpunkt ist, dass amynthor in all seinen
artikeln immer "im namen der spieler" spricht. unter den
spielern gibt es keine einheitliche meinung, und grade
bei den kampfzeiten jetzt denke ich ist "die spielerschaft"
gespalten wie nie.
aus meiner persoenlichen sicht gab es die letzten 10 jahre
genau eine aenderung die WIRKLICH komplett spielerfeindlich
war und spielprinzipien ueber den haufen geworfen hat, und
das war die aenderung des zaubi-pentagramms und der spiegel
(sequenz mit delay bzw random-orte der spiegel). von wem
war das noch gleich? ich habs "vergessen"

-----------------------------------------------------------------------------



Re^8: Zeitgenauigkeit (Gloinson, 25. Feb 2010, 08:44:32):
~#! rn=Gloinson rt=1266935405 rg=entwicklung
~#! tid=1266182148
Stand nach prokrastinierendem Zuvielmuddens: an den Spell-Startpunkten sollten
wir eventuell schrauben, diese Versetzung um 1s nach hinten gegenueber den
Rundenbeginn bleibt sehr unangenehm.

Ansonsten weder mit Kaempfer noch Kleriker wirklich grosse Veraenderung.


-----------------------------------------------------------------------------



Re^10: Zeitgenauigkeit (Humni, 26. Feb 2010, 21:59:45):
~#! rn=Ceilo rt=1266958954 rg=entwicklung
~#! tid=1266182148
Danke fuer den Hinweis. Hab ich (hoffentlich erfolgreich) geaendert.

Kommentare an mich.

Humni

-----------------------------------------------------------------------------



Re^11: Zeitgenauigkeit (Humni, 26. Feb 2010, 22:04:06):
~#! rn=Humni rt=1267217985 rg=entwicklung
~#! tid=1266182148
Bezog sich auf Grabpfleger. Ich bin zu doof.

Humni

-----------------------------------------------------------------------------



Re^12: Zeitgenauigkeit (Anatol, 27. Feb 2010, 16:31:24):
~#! rn=Humni rt=1267218246 rg=entwicklung
~#! tid=1266182148

Ach ja, die alten Zeiten. Als die gesamte Uni ueber die Bandbreite einer
ISDN-Leitung geroutet wurde. Als alle drei Runden ein Feuerball schon ein
verdammt guter Schnitt war. He - dass das Mud rundenbasiert arbeitet, hab
ich erst erlebt, als Mupfel seinerzeit das Anderland in der Physik laufen
liess. Ploetzlich waren da Pausen im Scroll. Unglaubliche Erfahrung.

Du hast noch immer solche Lags? Verzoegerungen im Sekundenbereich? Und
Deiner Meinung nach muss deshalb eine Umstellung im Kampfsystem abgelehnt
werden? Weisst Du, ich wuesste nicht, warum die Weiterentwicklung eines
Muds daruner leiden sollte, dass Du neben dem Metzeln noch fleissig diese
bewegten Anatomiestudien weiblicher Homo sapiens aus dem Netz saugen musst?
Mach den Download aus.

Dein Client verschluckt sich, und es kommt nicht mehr alles an? Mit Verlaub,
das ist ein Problem Deines Clients, Deiner Scripte, was auch immer. Was
erwartest Du von der Welt, dass sie aller externer Anpassungen zuliebe
statisch bleibt, damit auch ja wirklich bloss keine Wartungsaufwaende 
entstehen? Denk mal drueber nach.

DU verschluckst Dich, kommst nicht mehr nach, haettest lieber alles beim
Alten, weil Dich Aenderungen nerven und Du lieber alles so haettest wie
vor 20 Jahren? Das Argument lasse ich gelten, wenn Du ueber 65 Jahre alt
bist und zudem Einschraenkungen in der Lernfaehigkeit hast. Ich lasse es
weniger gelten, nur weil Du entweder ein Berufsnoergler, stinkefaul oder
beides gleichzeitig bist.


Das eine oder andere ernsthaft vorgebrachte Argument liesse sich auch 
dazu verwenden, die Kampfrunden von 2 auf 4, 5 oder 6 Sekunden auszudehnen,
immerhin ist das freundlicher denen gegenueber, die keine Kampfscroll-
reduzierer verwenden oder auf Screenreader angewiesen sind. 

Waere euch das lieber?


-----------------------------------------------------------------------------



schreibe 2 cents (Endor,  4. Mar 2010, 01:13:29):
Also ich hab nichts getestet, nur mal den Thread gelesen.
Hier werden Spieler richtig beleidigt und in ihrer Wuerde verletzt.
Also ein Kampfmodus in dem man in < 1s durch die Uebrtragungsverzoegerung
un Reaktionszeit rausfinden muss in welcher Kampfrundenhaelfte man ist
und je nachdem andere Befehlsfolgen eingeben soll hoert sich fuer mich
einfach nicht wirklich machbar an.

Wenn einem die Spieler die fuer erstmal einzig sichtbar, machbare und
einfache Option vorschlagen, die Uhr zurueckzudrehen, ich glaube damit
muss man rechnen, auch wenn es nicht sehr nett ist.

Nachdem was ich da lese, ist das Hauptproblem der Spieler, die sich
beschweren, dass es wie in zwei Beispielen gezeigt wurde nicht mehr
so klar ist, die Meldungen zu lesen oder zu hoeren. Vorher uniformes
Schriftbild in jeder Kampfrunde, jetzt fast zufaellig durcheinandergewuerfelt.
Zum andern verhalten sich die eingebenen Befehlsfolgen anders, je nachdem
wann man sie eingibt und dass man das nicht entscheiden kann, hatte ich
vorheargumentiert.

Daraus schliesse ich ein Spieler der sich vorher als Experte in Ausuebung
seines Kampfstils fuehlte, fuehlt sich jetzt als Depp, auch wenn er 
optimal kaempft und selbt wenn er mehr Schaden machen wuerde, weil
er dauernd die Rueckmeldung bekommt, dass er ein Kommando zum falschen
Zeitpunkt eingegeben hat und weil der Kampfscroll jetzt weniger
Struktur hat, schafft er es auch nicht mehr unbedingt ihn in dem Tempo 
zu 'Scannen', wirkliches Lesen moechte ich bezweifeln.

-----------------------------------------------------------------------------



Re: schreibe 2 cents (Gloinson,  4. Mar 2010, 08:32:55):
~#! rn=Endor rt=1267661609 rg=entwicklung
~#! tid=1267661609
> Hier werden Spieler richtig beleidigt und in ihrer Wuerde verletzt.

Jetzt werde ich vielleicht mal ausfaellig. Was bist denn du fuer eine
Sockenpuppe? Wo hat man dich denn aus dem Stiefel gezaubert? Kann es sein,
dass dir gar nicht auffaellt, dass diese Art aggressiven Schreibens dazu
fuehrt, dass meine und anderer Leute Lektuere schlagartig abbricht?


-----------------------------------------------------------------------------



Re: schreibe 2 cents (Ark,  4. Mar 2010, 12:06:26):
~#! rn=Endor rt=1267661609 rg=entwicklung
~#! tid=1267661609
Ok, zur Info, Aussagen wie "lese ich", "wenn ich richtig verstehe", "nichts
getestet", "muss man rechnen", "schliesse ich", etc. sind NICHT geeignet, hier
glaubhaft mitzudiskutieren.
Bitte selbst testen, bevor man Hysterie und Meinungen anderer in den Mund
nimmt, durchkaut und in anderer Form wiedergibt. Sowas hilft absolut nicht.
Bitte testen. Bitte. Dann Meinung bilden. Vielen Dank.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: Re: schreibe 2 cents (Ark,  4. Mar 2010, 12:07:44):
~#! rn=Gloinson rt=1267687975 rg=entwicklung
~#! tid=1267661609
Stimmt, den Satz habe ich auch nicht verstanden. Bin ja auch Spieler, aber die
helle Seite meines Seins fuehlte sich nicht gedemuetigt o.ae.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^7: Zeitgenauigkeit (Gloinson,  5. Mar 2010, 13:56:38):
~#! rn=Gloinson rt=1266961349 rg=entwicklung
~#! tid=1266182148
Gloinson schrieb:
> Zesstra schrieb, dass wir Magier nicht damit gerechnet haben, dass
> Spieler die 1s-Taktung als einschraenkend und ungewohnt empfinden.

Gloinson schrieb woanders:
> Und ja - das habe ich auch schon vor ueber einem Jahr in der Hoffnung auf
> 1s-Taktung so programmiert. Ich habe mich eher immer mal gewundert, warum
> es _noch nicht_ aktiv war ...

Einige Diskutanten haben in den Raum gestellt, dass 'man haette so eine
gravierende Aenderung vorher ankuendigen muessen'. Ich hab dagegen
gehalten, dass uns die Brisanz nicht aufgefallen ist, ich zB im Gegenteil
sogar schon eine Weile auf die Aktivierung gewartet habe.

Um das mal mit harten Fakten zu hinterlegen: ALLE von mir und anderen in den
letzten anderthalb Jahren (August 2008) gebauten Driver >= 3.3.716 hatten die
Tikczeit von 1s bereits aktiviert. Meine CygWin-Builds stellen die EMs unter
/Software/GameDriver meist anderen zur Verfuegung.
Jeder Magier, der ein Homemud betreibt haette das also auch merken koennen.
Und bei den doch recht ausfuehrlichen Aenderungen in Chaos, Klerus und Trves
in dieser Zeit betrifft das einige Magier von uns.


-----------------------------------------------------------------------------



Re^8: Zeitgenauigkeit (Gabylon,  9. Mar 2010, 00:54:15):
~#! rn=Gloinson rt=1267793798 rg=entwicklung
~#! tid=1266182148
Kurze Frage an die EM+: gibt es diesbzlg. Ueberlegungen, die alte
Taktung wieder herzustellen oder bleibt die neue aktiv?

gab

-----------------------------------------------------------------------------



Re^9: Zeitgenauigkeit (Ark,  9. Mar 2010, 13:48:01):
~#! rn=Gabylon rt=1268092455 rg=entwicklung
~#! tid=1266182148
Ueberlegungen gibt es fuer einen Kompromiss, aber mehr kann man zur Zeit noch
nicht sagen. Also noch ein wenig Geduld.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: Jobwechsel (Zook, 16. Mar 2010, 21:15:37):
~#! rn=Amaryllis rt=1268770352 rg=bekanntmachungen
~#! tid=1268770352
Alles Gute im neuen Job! :) 

Und vielen Dank fuers Betreuen des Rechners vor Ort, fuer die 
(ich gehe davon aus) erfolgreichen Rechner-"Bleibeverhandlungen"!

Zook.

-----------------------------------------------------------------------------



Re^8: Zeitgenauigkeit (Zesstra, 18. Mar 2010, 21:50:16):
~#! rn=Amynthor rt=1266965746 rg=entwicklung
~#! tid=1266182148
Weiss zwar nicht, ob sichs noch lohnt, aber nen Versuch mags ja wert sein:

>> a) Magier haben immer mal wieder nach einer genaueren Zeit gefragt bzw.
>>    angemerkt, dass 2s doch unschoen seien.
>> d) es eroeffnet mehr Flexibilitaet in der Spielgestaltung, weil nicht alles
>>    auf einmal passieren muss.
>> e) eine bessere Lastverteilung (tritt in der Bedeutung aber hinter den
>>    anderen Gruenden zZ deutlich zurueck).
>Das hast Du doch ziemlich exakt so geschrieben... oder nicht?
Ja. Und davon ist genau e) 'technischer Vorteil'. Bei dem ich sogar explizit
geschrieben habe, dass der Aspekt im Vergleich deutlich zuruecktritt.

>> c) es eroeffnet Chancen, Boni auf solche Wartezeiten durchzukriegen. Sei es
>>    durch Items, Belohnungen fuer besondere Aufgaben in Gilden etc.
>Ich muss gestehen, dass mir Punkt c) tatsaechlich nicht ganz klar ist.
>Vielleicht geht es anderen aehnlich. Moechtest Du nochmal erlaeutern, was
>genau Du Dir darunter vorstellst?
Ich dachte, das waer recht klar formuliert gewesen. OK, Beispiel: Ich baue
eine Belohnung, welche kurzzeitig einen Bonus von 1s bei Spellfatigues gibt
(Spellschnell). War im alten System ziemlich witzlos. Und mehr als 1s? Viel
Erfolg bei der Balance, zumal die 2s sich bei vielen Spells auf 1s reduzieren
(aus praktischen Gruenden muss schliesslich 1s als Minimum immer ueberbleiben)
und damit s.o.

Zesstra

-----------------------------------------------------------------------------



Re^8: Zeitgenauigkeit (Zesstra, 18. Mar 2010, 21:51:45):
~#! rn=Amynthor rt=1266964336 rg=entwicklung
~#! tid=1266182148
> Vorher waren Kaempfe im MorgenGrauen rundenbasiert. Jetzt spielt Echtzeit
> eine Rolle.
Auch wenn man von Kampfrunden spricht, ist der Kampf im MG noch nie
rundenbasiert gewesen. Durch die (vorbehaltlich Lag) strikte Taktung auf 2s
und sofort wirksamen Spells war der Kampf im Gegenteil schon immer 'Echtzeit'.

> Das ist nichts, was man im Zuge einer in erster Linie technischen 
> Aenderung "so nebenbei" umstellt
Der Vollstaendigkeit halber: ich weise nochmal zurueck, dass es eine technisch
motivierte/begruendete Aenderung war.

> Ich habe im Vorfeld jedenfalls keine Diskussion zu dem Thema, nicht mal
> eine Erwaehnung der Problematik gesehen.
Evtl. ist Deine Anwesenheitszeit im MG jetzt auch nicht der Massstab der
Dinge. Gloinson erwaehnte ja in der Zwischenzeit schon, dass die
Standardkonfiguration des Drivers fuers MG (Driver-Distribution +
Binaerpakete) schon seit >1.5 Jahren 1s getaktet ist, ohne dass das
irgendjemand kritisierte. Auch gab es im Sommer 2008 eine Ankuendigung an die
Magier. Zugeben: grosse Diskussion gabs da nicht, hat wohl keiner sonderlich
problematisch gesehen... 

Zesstra

-----------------------------------------------------------------------------



Remote / r: (Arathorn,  4. Apr 2010, 21:17:27):
Hallo zusammen,

es kann in einigen Faellen zu Fehlern im Raum-Zeit-Gefuege bei der Verwendung
des "remote"-Befehls ("r:") kommen. Der Bug ist bereits gefixt, die Reparatur
wird allerdings wie ueblich erst nach Ende/Reboot im Spieler aktiv.

Gruss, Arathorn.

-----------------------------------------------------------------------------



Team Autofolge (Arathorn,  7. Apr 2010, 17:02:26):
Hallo zusammen,

da das gerade heute nochmal aufkam: Es gab ein Problem mit dem Autofolge-
Feature im Team, von dem etliche Spieler noch betroffen sein duerften.
Wenn Ihr ueber FiRZGs im Zusammenhang mit diesem Feature stolpern solltet,
bitte macht "ende" und loggt Euch neu ein.

Gruss, Arathorn.

P.S.: Bei "ende" wie gehabt auf Eure Ausruestung achten, insbesondere solche
      Gegenstaende, die erfahrungsgemaess allergisch darauf reagieren. Auf
      ein "renew" durch einen Magier sollte nur in Ausnahmefaellen
      zurueckgegriffen werden.

-----------------------------------------------------------------------------



Geruechte (Humni, 17. Apr 2010, 00:04:03):
Huhu,

wie wir gehoert haben gibt es Geruechte um einen vermeldeten Reboot am Samstag
um 14 Uhr.

Am Samstag um 14 Uhr ist kein Reboot geplant. Ich wiederhole: Wir planen
KEINEN Reboot fuer Samstag, 14 Uhr.

Humni

-----------------------------------------------------------------------------



Flucht erfolgt manchmal zu spaet (Nok, 17. Apr 2010, 19:18:50):
Hallo allerseits...

Wie mir eben aufgefallen ist, werden mitunter noch munter Attacken
ausgetauscht, obwohl die LP bereits unter der eingestellten Vorsichtsgrenze
liegen.

Kurzes Log hierzu (ich habe die Zeilen mal nummeriert):

 1 Du hast jetzt 136 Lebenspunkte und 142 Konzentrationspunkte.
 2 Vorsicht: 120. Fluchtrichtung: s
 3   Nepos Nero kratzt Dich.
 4 Du hast jetzt 133 Lebenspunkte und 142 Konzentrationspunkte.
 5 Vorsicht: 120. Fluchtrichtung: s
 6 Du feuerst eine frostige Eiswolke auf Nepos Nero ab.
 7   Du zerschmetterst Nepos Nero in kleine Stueckchen.
 8 Du hast jetzt 133 Lebenspunkte und 127 Konzentrationspunkte.
 9 Vorsicht: 120. Fluchtrichtung: s
10   Du kitzelst Nepos Nero am Bauch.
11   Nepos Nero trifft Dich sehr hart.
12 Du hast jetzt 114 Lebenspunkte und 127 Konzentrationspunkte.
13 Vorsicht: 120. Fluchtrichtung: s
14 Du feuerst eine frostige Eiswolke auf Nepos Nero ab.
15   Du zerschmetterst Nepos Nero in kleine Stueckchen.
16 Du hast jetzt 114 Lebenspunkte und 112 Konzentrationspunkte.
17 Vorsicht: 120. Fluchtrichtung: s
18 Nepos Neros Handschuhe reissen eine tiefe Wunde in Dich.
19   Nepos Nero trifft Dich hart.
20 Du hast jetzt 106 Lebenspunkte und 112 Konzentrationspunkte.
21 Vorsicht: 120. Fluchtrichtung: s
22 Die Angst ist staerker als Du ... Du willst nur noch weg hier.
23 Nepos Nero ist jetzt hinter Dir her.

Mit Neros Attacke in Zeile 11 sinken die LP unter die Fluchtgrenze.
Aber statt zu fliehen kann ich in Zeile 14 noch einen Zauber absetzen, und
Nero ist in Zeile 19 auch noch mal dran.

Ich kann mir vorstellen, dass das bei Monstern, die etwas mehr abziehen als
Nero, durchaus zu einem unerwarteten Tod fuehren kann.

Bis dann,
Nok.

-----------------------------------------------------------------------------



Re: Flucht erfolgt manchmal zu spaet (Nok, 17. Apr 2010, 20:16:02):
~#! rn=Nok rt=1271524730 rg=entwicklung
~#! tid=1271524730
Noch ein Nachtrag hierzu:
Wenn Monster wie Nero sekundengetaktet angreifen koennen, sollte die
Vorsichtsgrenze mMn auch sekundengetaktet geprueft werden.
Nok.

-----------------------------------------------------------------------------



Re^3: Flucht erfolgt manchmal zu spaet (Nok, 17. Apr 2010, 20:38:34):
~#! rn=Rahab rt=1271529302 rg=entwicklung
~#! tid=1271524730
Natuerlich gibt es Gegner, die einen Verbund von Spezialattacken loslassen.
Aber dann ist man auch nicht mittendrin noch mal mit nem Spell an der Reihe.
Das jetzige Verhalten unterscheidet sich jedenfalls deutlich von dem, das vor
der Umstellung der Zeitgranularitaet vorhanden war.
Nok.

-----------------------------------------------------------------------------



Re^4: Flucht erfolgt manchmal zu spaet (Nok, 17. Apr 2010, 20:47:28):
~#! rn=Nok rt=1271529514 rg=entwicklung
~#! tid=1271524730
Da mein Log offenbar nicht alle Fragen beantwortete gibts das hier noch mal
mit Zeitstempeln:

[18:51:16] Du hast jetzt 183 Lebenspunkte und 156 Konzentrationspunkte.
[18:51:16] Vorsicht: 120. Fluchtrichtung: s
[18:51:16]   Du triffst Nepos Nero.
[18:51:16]   Nepos Nero trifft Dich hart.
[18:51:16] Du hast jetzt 176 Lebenspunkte und 156 Konzentrationspunkte.
[18:51:16] Vorsicht: 120. Fluchtrichtung: s
[18:51:17] Du feuerst eine frostige Eiswolke auf Nepos Nero ab.
[18:51:17]   Du zerschmetterst Nepos Nero in kleine Stueckchen.
[18:51:17] Du hast jetzt 176 Lebenspunkte und 141 Konzentrationspunkte.
[18:51:17] Vorsicht: 120. Fluchtrichtung: s
[18:51:17] Nepos Neros Handschuhe reissen eine tiefe Wunde in Dich.
[18:51:17]   Nepos Nero trifft Dich hart.
[18:51:17] Du hast jetzt 169 Lebenspunkte und 141 Konzentrationspunkte.
[18:51:17] Vorsicht: 120. Fluchtrichtung: s
[18:51:18] Du hast jetzt 170 Lebenspunkte und 141 Konzentrationspunkte.
[18:51:18] Vorsicht: 120. Fluchtrichtung: s
[18:51:18] Du hast jetzt 170 Lebenspunkte und 142 Konzentrationspunkte.
[18:51:18] Vorsicht: 120. Fluchtrichtung: s
[18:51:18]   Du verfehlst Nepos Nero.
[18:51:18] Nepos Nero deckt Dich mit einem rasenden Hagel von Schlaegen ein.
[18:51:18]   Nepos Nero kratzt Dich.
[18:51:18] Du hast jetzt 167 Lebenspunkte und 142 Konzentrationspunkte.
[18:51:18] Vorsicht: 120. Fluchtrichtung: s
[18:51:18]   Nepos Nero trifft Dich sehr hart.
[18:51:18] Du hast jetzt 152 Lebenspunkte und 142 Konzentrationspunkte.
[18:51:18] Vorsicht: 120. Fluchtrichtung: s
[18:51:18]   Nepos Nero trifft Dich sehr hart.
[18:51:18] Du hast jetzt 136 Lebenspunkte und 142 Konzentrationspunkte.
[18:51:18] Vorsicht: 120. Fluchtrichtung: s
[18:51:18]   Nepos Nero kratzt Dich.
[18:51:18] Du hast jetzt 133 Lebenspunkte und 142 Konzentrationspunkte.
[18:51:18] Vorsicht: 120. Fluchtrichtung: s
[18:51:18] Du feuerst eine frostige Eiswolke auf Nepos Nero ab.
[18:51:18]   Du zerschmetterst Nepos Nero in kleine Stueckchen.
[18:51:18] Du hast jetzt 133 Lebenspunkte und 127 Konzentrationspunkte.
[18:51:18] Vorsicht: 120. Fluchtrichtung: s
[18:51:20]   Du kitzelst Nepos Nero am Bauch.
[18:51:20]   Nepos Nero trifft Dich sehr hart.
[18:51:20] Du hast jetzt 114 Lebenspunkte und 127 Konzentrationspunkte.
[18:51:20] Vorsicht: 120. Fluchtrichtung: s
[18:51:20] Du feuerst eine frostige Eiswolke auf Nepos Nero ab.
[18:51:20]   Du zerschmetterst Nepos Nero in kleine Stueckchen.
[18:51:20] Du hast jetzt 114 Lebenspunkte und 112 Konzentrationspunkte.
[18:51:20] Vorsicht: 120. Fluchtrichtung: s
[18:51:21] Nepos Neros Handschuhe reissen eine tiefe Wunde in Dich.
[18:51:21]   Nepos Nero trifft Dich hart.
[18:51:21] Du hast jetzt 106 Lebenspunkte und 112 Konzentrationspunkte.
[18:51:21] Vorsicht: 120. Fluchtrichtung: s
[18:51:21] Die Angst ist staerker als Du ... Du willst nur noch weg hier.
[18:51:21] Nepos Nero ist jetzt hinter Dir her.

Wie man gut sieht erfolgt die Flucht in der Mitte einer Kampfrunde. 

Bis dann,
Nok.

PS: Achja, wer sich ueber den Zauber bei 18:51:17 wundert: Ich habe die alte
Spruchermuedung aktiv.

-----------------------------------------------------------------------------



Re^5: Flucht erfolgt manchmal zu spaet (Drogo, 19. Apr 2010, 12:20:45):
~#! rn=Nok rt=1271530048 rg=entwicklung
~#! tid=1271524730
Ich habe mal vergeblich versucht, einigen durchaus intelligenten Leuten dieses
Verhalten zu beschreiben. 
Vielleicht hilft ja Dien Logfile dabei. :))

Drogo (setzt Vorsicht neuerdings viel hoeher als frueher)

-----------------------------------------------------------------------------



Re: Flucht erfolgt manchmal zu spaet (Zesstra, 20. Apr 2010, 22:12:31):
~#! rn=Nok rt=1271524730 rg=entwicklung
~#! tid=1271524730
So, hatte jetzt heut Abend Zeit, die Angelegenheit zu durchdenken. Zwischen
Ausloesen der Flucht bei Unterschreiten der Vorsicht und der Durchfuehrung
liegt tatsaechlich eine (gewollte) Verzoegerung, welche an sich auch nicht neu
ist, nur offenbar nicht bemerkbar war.
Dass man die jetzt bemerkt, liegt uebrigens nicht an der Aenderung der
Zeitgenauigkeit (erstaunlich, dass von allen Aenderungen an Driver und Mudlib
in >1.5 Jahren immer alles auf diese geschoben wird). Im Gegenteil - ohne die
Verbesserung der Zeitgenauigkeit wuerde die Verzoegerung der Flucht groesser
sein, naemlich fast volle 2s. ;-)

Es liegt daran, dass der Driver bis Herbst letztes Jahres einen Fehler hatte
und unter bestimmten Umstaenden zeitverzoegerte Aktionen zu frueh ausfuehrte
(Details: http://mantis.bearnip.com/view.php?id=375). Unsere
Fluchtverzoegerung fiel in genau die Kategorie und seit dem Bugfix im Driver
wurde sie auf einmal spuerbar.

Ich habe die Verzoegerung der Flucht jetzt etwas anders eingestellt, wer das
testen will, muss sich allerdings be'ende'n. (Verdammt, und was macht man als
dummer NPC?)
(Achja: das heisst _nicht_, dass man beim Triggern der Vorsicht die noch
ausstehenden Schlaege vermeidet, sollte ein oder mehrere Gegner noch welche
auszuteilen haben - aber das ist ja auch nicht der Sinn und war auch bisher
nicht so.)

Zesstra

-----------------------------------------------------------------------------



Re: Re: Flucht erfolgt manchmal zu spaet (Matis, 20. Apr 2010, 22:31:42):
~#! rn=Zesstra rt=1271794351 rg=entwicklung
~#! tid=1271524730
Da mag ein Fehler im Driver gewesen sein, das heisst aber nicht zwangslaeufig,
dass das alte Fluchtverhalten fehlerhaft war. Das kann durchaus in der alten
Form gedacht gewesen sein, wofuer ja spricht dass es mehr als 10 Jahre 
unveraendert war und keinem je etwas aufgefallen waere.

Das neue Fluchtverhalten ist jedenfalls eine deutliche Aenderung und ich sehe
keinerlei Begruendung dafuer. Gut, schlecht oder einfach nur anders kommentier
ich jetzt nicht.

Matis

-----------------------------------------------------------------------------



Re^3: Flucht erfolgt manchmal zu spaet (Zesstra, 20. Apr 2010, 22:32:48):
~#! rn=Matis rt=1271795502 rg=entwicklung
~#! tid=1271524730
Hast Du meinen Artikel zuende gelesen?

Zesstra

-----------------------------------------------------------------------------



Re^4: Flucht erfolgt manchmal zu spaet (Matis, 20. Apr 2010, 22:34:29):
~#! rn=Zesstra rt=1271795568 rg=entwicklung
~#! tid=1271524730
Ja.

-----------------------------------------------------------------------------



Re^6: Flucht erfolgt manchmal zu spaet (Amynthor, 22. Apr 2010, 13:20:00):
~#! rn=Amynthor rt=1271935066 rg=entwicklung
~#! tid=1271524730
Hm. Also weil das ja jetzt irgendwie System hat, gebe ich auch noch mal meinen
Senf dazu.

Es gibt Code, der wird vom Driver ausgefuehrt und das ganze tut irgendwas.
Jetzt gibt es Aenderungen, sei es ein Bugfix oder ein geaenderter Parameter,
und dadurch tut das ganze jetzt was anderes.

1. war dem das damals programmierende Magier nicht zwangslaeufig klar, dass
   das ein Bug im Driver ist, weshalb sein Code jetzt so ein Verhalten zeigt,
   und hat das einfach als normale Funktionalitaet angesehen.
   (Im Fall der Zeitgranularitaet: hat 1s und 2s als "dasselbe, macht ja eh
   keinen Unterschied" angesehen.)

2. ist das im Endergebnis bewirkte Verhalten das, was Spieler und Magier, die
   sich nicht eingehender mit dem Quelltext befasst haben, als den zu
   diskutieren Vorschlag und spaeter als Normalzustand kennengelernt haben.
   Jetzt zu sagen, aetsch, das haette aber schon immer was ganz anderes tun
   haben gesollt, halte ich fuer unsportlich.

3. ist eine Verhaltensaenderung in der Driver-Mudlib-Gesamtheit namens
   MorgenGrauen, die ja als solche durchaus ihre Rechtfertigung haben kann,
   ohne Korrektur der sich daraus ergebenden Aenderungen an anderer Stelle
   effektiv eine Aenderung genau dieser Stellen und ist meiner Auffassung
   nach auch als solche zu diskutieren.

Das ist ja jetzt bei der Flucht gar nicht mehr noetig, da sich ja alle einig
zu sein scheinen. Aber vielleicht gibt es mal wieder so eine Situation...

Amynthor


-----------------------------------------------------------------------------



Re^7: Flucht erfolgt manchmal zu spaet (Gloinson, 22. Apr 2010, 16:56:44):
~#! rn=Amynthor rt=1271935200 rg=entwicklung
~#! tid=1271524730
Ganz kurz fuer dich nochmal die Hierarchie:
Gott/EM: entscheidet ueber Funktionalitaeten in der Gesamtheit des MUDs
GM:      -"- in der Gilde, vorbehaltlich s.o.
RM:      -"- in der Region, -"-
RMit:    -"- in seinem Gebiet, -"-

Anders gesagt: auch bei der "naechsten Situation" ist deine Auffassung, dass
diese aus Gruenden der Sportlichkeit zu diskutieren _sei_ eine falsche
Auffassung. Mich stoert an deinem Artikel, dass er die Diskussion einfordert.

Kurzes Beispiel aus meinem momentanen Bereich: Wenn ich mit dem EM
Gildenbalance Aenderungen an der Gilde vornehme, dann muss beruecksichtige ich
da keinerlei Gewohnheitsrechte. Weder die der letzten 15 Jahre noch die des
letzten Jahres. Ich fuehle mich der Gilde und dem MUD verpflichtet, nicht dem
einzelnen diskussionsfreudigen Spieler mit seiner Auffassung von "wie alles
schon immer haette bleiben sollen".


-----------------------------------------------------------------------------



Re^7: Flucht erfolgt manchmal zu spaet (Zesstra, 22. Apr 2010, 21:29:48):
~#! rn=Amynthor rt=1271935200 rg=entwicklung
~#! tid=1271524730
Gloinson schrieb schon was, was ich jetzt nicht wiederholen will.
Ansonsten ist mir Dein Artikel bzw. seine Intention unklar. Vielleicht
erlaeuterst Du mal, was Du eigentlich von mir willst.

Zesstra

-----------------------------------------------------------------------------



Re^8: Flucht erfolgt manchmal zu spaet (Matis, 22. Apr 2010, 21:49:55):
~#! rn=Zesstra rt=1271964588 rg=entwicklung
~#! tid=1271524730
Die fundamentale Frage ist: War die Aenderung des Fluchtverhaltens ein 
gewollter und vorhergesehener Effekt des Driver-Fixes, oder war es ein 
ungewollter, nicht vorhergesehener Nebeneffekt? 
Falls gewollt, dann wurde solch eine bedeutende Aenderung sicherlich vorher
in Magierkreisen eroertert, und die Spielerschaft sollte es akzeptieren. Keine
Diskussion, so hat das Morgengrauen schon immer funktioniert.
Falls das neue Fluchtverhalten aber ein ungewollter Seiteneffekt war, dann
sollte das alte Verhalten, soweit moeglich, wiederhergestellt werden.

Leider ist mir die Antwort bisher nicht klar.

Matis

-----------------------------------------------------------------------------



Re^9: Flucht erfolgt manchmal zu spaet (Zesstra, 22. Apr 2010, 22:19:10):
~#! rn=Matis rt=1271965795 rg=entwicklung
~#! tid=1271524730
Es war ungewollt.
> Ich habe die Verzoegerung der Flucht jetzt etwas anders eingestellt, wer 
> das testen will, muss sich allerdings be'ende'n.
Hat das wer gemacht?

Zesstra

-----------------------------------------------------------------------------



Re^10: Flucht erfolgt manchmal zu spaet (Zesstra, 22. Apr 2010, 22:45:08):
~#! rn=Zesstra rt=1271967550 rg=entwicklung
~#! tid=1271524730
Oder, um das jetzt praeziser zusammenzufassen:
Hat der Gegner mehrere Schlaege auszuteilen, erfolgt die Flucht erst im
Anschluss, auch wenn man vielleicht schon im ersten Schlag unter die Vorsicht
fiel. Das war nicht neu und ist gewollt.
Eine spuerbare Verzoegerung darueber hinaus war neu und nicht gewuenscht
(vorbehaltlich Lag).

Zesstra

-----------------------------------------------------------------------------



Re^7: Flucht erfolgt manchmal zu spaet (Ark, 23. Apr 2010, 15:52:40):
~#! rn=Amynthor rt=1271935200 rg=entwicklung
~#! tid=1271524730
Wenn es aber (aetsch mal ausgenommen) nun einmal so ist? Was soll man sonst
sagen? "Es tat nicht so, wie es sollte, wir ignorieren das aber einfach mal
sicherheitshalber und deklarieren einen Bug unter Beruecksichtigung des
Gewohnheitsrechts zum Feature, statt ihn auszumerzen?"
Bezug war Punkt 2., sollte ich hinzufuegen :)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Mudlib Doxygen-Doku (Zesstra,  3. Jun 2010, 23:03:15):
Fuer die Leute, die keine Magier sind, aber sich fuer unsere Mudlib
interessieren:
Ich habe mal die Doxygen-Doku der Mudlib aktualisiert.
(Doxygen kann leider keine LPC-Vererbung, daher ists nicht so schoen, wie es
sein koennte, aber teilweise dennoch nuetzlich.)
Finden koennt ihr dies unter:
http://mg.mud.de/doxydir/

Zesstra

-----------------------------------------------------------------------------



r-emote (Arathorn, 12. Aug 2010, 19:18:29):
Hallo zusammen,

da es in letzter Zeit wieder vermehrt zu Fehlern im Raum-Zeit-Gefuege bei 
der Nutzung von r-emote kam, hier noch einmal folgender Hinweis:

Der Fehler tritt immer dann auf, wenn das erste Argument des r-emote-Befehls
(also das erste Wort nach dem r:) kein anwesender Spieler ist. Dieser Fehler
wurde schon vor laengerem behoben, die Reparatur ist aber noch nicht in 
allen Spielern aktiv. Solltet Ihr bei Euch das genannte Problem feststellen,
dann laesst sich das beheben, indem Ihr Euch einmal be"ende"t und neu
einloggt.

Ich waere Euch sehr verbunden, wenn Ihr das dann auch wirklich tun wuerdet,
sofern Ihr betroffen seid, denn sonst wird uns der Bug noch die ganze 
Uptime verfolgen.

Danke und Gruss, 
Arathorn.

-----------------------------------------------------------------------------



Re: r-emote (Amaryllis, 12. Aug 2010, 20:45:10):
~#! rn=Arathorn rt=1281633509 rg=entwicklung
~#! tid=1281633509
Ich sehe da kein Problem darin, denn die Uptime wird nicht mehr lange andauern
;)

Ama*

-----------------------------------------------------------------------------



Repfiles & Co: bug, fehler, sonnenfehler (Zesstra, 15. Aug 2010, 16:58:27):
Huhu,

die Befehle "bug" / "fehler" / "sonnenfehler" zum Absetzen von Fehlern haben
eine kleine Erweiterung bekommen. Nach Ende/Reboot gehen so gemeldete Fehler
zusaetzlich zum Repfile auch in den sog. Fehlerteufel, einem Magiertool,
welches Magier Fehler in Objekten anzeigt, fuer die sie zustaendig sind.
Hintergrund ist, dass im Fehlerteufel auch bereits alle moeglichen Fehler im
Raum-Zeit-Gefuege erfasst sind und so Meldungen etwas direkter an Magier gehen
als via ggf. seltem gelesenen Repfile. Ausserdem lassen sich so deutlich
besser einzelne Fehler durch Magier bearbeiten.
Dies gilt zur Zeit nicht fuer Ideen und fehlende Details. Ggf. kommen diese in
einem zweiten Schritt.

Zesstra

-----------------------------------------------------------------------------



Re: derin (Zesstra, 22. Aug 2010, 16:08:13):
~#! rn=Nielk rt=1282485990 rg=entwicklung
~#! tid=1282485990
Auf -zt fragen ist der deutlich bessere Weg...

Zesstra

-----------------------------------------------------------------------------



Re: Re: derin (Nicolai, 22. Aug 2010, 16:09:20):
~#! rn=Zesstra rt=1282486093 rg=entwicklung
~#! tid=1282485990
warum es lesen doch mehr leute die mpa als die -zt hist?:)

-----------------------------------------------------------------------------



Re^3: derin (Zesstra, 22. Aug 2010, 16:12:17):
~#! rn=Nicolai rt=1282486160 rg=entwicklung
~#! tid=1282485990
Auch wieder wahr. Wobei die Rubrik natuerlich falsch ist, sonst koennte man ja
die entsprechenden Tips hier auch reinschreiben. ;-)

Zesstra

-----------------------------------------------------------------------------



Wo gehobelt wird... (Gabylon, 12. Sep 2010, 15:23:09):
Hallo,


es hat sich vor einiger Zeit ein Kaeferchen im std-Kampfnpc versteckt,
welcher ihn im Kampf einige Sonderattacken nicht ausfuehren liess.
Dadurch mag es euch in letzter Zeit vorgekommen sein, dass die
Kaempfer-NPCs im MG totale Luschen geworden sind, was natuerlich
nicht stimmen kann! *rausred*

An dieser Stelle eine kleine Warnung an alle, die gegen Weghier & Co.
kaempfen: diese sollten spaetestens ab dem naechsten Reset wieder
ihre urspruengliche Kampfkraft besitzen.


gab

-----------------------------------------------------------------------------



Re: Avatarbildchen (Zesstra,  3. Sep 2011, 12:37:12):
~#! rn=Zesstra rt=1315044499 rg=bekanntmachungen
~#! tid=1315044499
*huestel* Das Kommando zum Setzen verhunzte manche Links. Das tut es nach
Ende/Reboot nicht mehr. Dank an Croft fuer die prompte Bugmeldung. ;-)

Zesstra

-----------------------------------------------------------------------------



Re: Re: Avatarbildchen (Brewer,  4. Sep 2011, 13:43:49):
~#! rn=Zesstra rt=1315046232 rg=entwicklung
~#! tid=1315044499
Vielleicht ist es sogar moeglich die Bildchen auf mg.mud.de anzuzeigen (sofern
gesetzt), wenn man einen Spieler dort fingert.

Brewer

-----------------------------------------------------------------------------



Vorschlag (Sparkle,  5. Sep 2011, 15:03:36):
Hallo zusammen,
ich wuerde mir auf der Seite mg.mud.de ein Forum wuenschen. Ich halte das fuer
deutlich uebersichtlicher als die MPA. Gerade MUD Neulinge bekommen so etwas
Vertrautes, um sich einzuarbeiten.
wille
MFG Sparkle

-----------------------------------------------------------------------------



Re: Vorschlag (Zesstra,  5. Sep 2011, 15:40:00):
~#! rn=Sparkle rt=1315227816 rg=entwicklung
~#! tid=1315227816
Erste paar Gedanken:
f
Ich halte es fuer keine gute Idee, eine MPA und ein davon separiertes Forum zu
haben, da ein Teil der Spielerschaft dann MPA liest und der andere Teil Forum.
Ebenso halte ich es fuer keine gute Idee, die MPA einzustellen.
Will man beides, waere die Konsequenz, dass sie untereinander synchronisiert
sein muessen.

Zesstra

-----------------------------------------------------------------------------



Re: Re: Vorschlag (Zook,  5. Sep 2011, 16:20:23):
~#! rn=Zesstra rt=1315230000 rg=entwicklung
~#! tid=1315227816
Zumindest eine Rubrik muesste synchronisiert sein. Nur, wie Authentifizierung
auf dem Forum sicherstellen?
Zook.

-----------------------------------------------------------------------------



Re^3: Vorschlag (Vector,  5. Sep 2011, 16:23:20):
~#! rn=Zook rt=1315232423 rg=entwicklung
~#! tid=1315227816
fuer mich bleiben die grossen W-fragen:
WER soll dieses forum fuellen, und WOMIT bitte?
lieber gar kein forum, als ein leeres, das wie ausgestorben
aussieht. die par aktiven spieler die es noch gibt koennen
ein forum sicher nicht in einer art nud weise fuellen, wie
es die heutige jugend von gamesforen (readmore.de) etc
gewohnt ist, da muss man sich nichts vormachen.

inhalte? auf der einen seite sind doch ausschliesslich
mud-relevante themen interessant aber wenn man neulinge
ansprechen will dann sind das auch genau die unwichtigen 
themen?
stecke waffe weg
zuecke ken
waffentrick
zuecke waffe
was man machen koennte waere eine faq bzw how-to in 
foren-verpackung reinstellen anstatt sich durch die
seiten zu klicken. sehe irgendwie den mehrwert nicht sry

-----------------------------------------------------------------------------



Re^4: Vorschlag (Vector,  5. Sep 2011, 16:23:39):
~#! rn=Vector rt=1315232600 rg=entwicklung
~#! tid=1315227816
und das waffentrick-ali lass ich drin, sieht gut aus :)

-----------------------------------------------------------------------------



Re^5: Vorschlag (Sparkle,  6. Sep 2011, 17:40:48):
~#! rn=Vector rt=1315232619 rg=entwicklung
~#! tid=1315227816
Ich versuche mal, alle genannten Argumente aufzugreifen. Ich bin jetzt ueber
10 Jahre im MG unterwegs. Dabei hatte ich eine laengere Pause (waren bestimmt
6 Jahre). Daher faellt mir der Spielerschwund besonders auf.
Dies ist mein erster Beitrag in der MPA. Ich mag den Editor einfach nicht.
Aber das ist erstmal ne persoenliche Sache. Wenn man aber mal die Artikel in
der MPA durchsieht,
faellt auf, dass nur ein sehr kleiner Kreis von alten Hasen die MPA aktiv zum
schreiben von Beitraegen nutzt.
Diese Tatsache war frueher auch kein Problem. Wenn ein Neuling ins MG kam,
standen immer ein halbes dutzend netter hilfreicher erfahrener Spieler zur
Verfuegung, um auf Nachfragen auf den Ebenen zu reagieren.
Man wurde fast automatisch in den ersten Stunden bzw. Tagen ans Haendchen
genommen und behutsam in diese am Anfang doch ueberwaeltigend komplexe Welt
eingefuehrt.
Die Spieler sind immer noch hilfreich und nett, nur leider nicht mehr
zahlreich.
Heute erlebe ich immer mehr, dass man der einzige nicht idle Spieler ist.
Fragen verschwinden damit automatisch unbeantwortet im Nichts.
Fuer einen Neuling kann gerade diese Erfahrung ausschlaggebend fuers Aufhoeren
sein.
Und in der MPA wird ein Neuling definitiv nicht fragen.
Wenn ich auf mg.mud.de die Rubrik Neuigkeiten anklicke, erscheint das Jahr
2009. Das finde ich abschreckender, als ein kleines Forum, dass aber aktuell
ist.
Ein Forum soll die MPA nicht ersetzen. Die MPA ist gut fuer Ankuendigungen.
Damit kommen wir zu den Inhalten. Ein Forum muss ja nicht mit readmore.de
konkurieren koennen.
Sinnvolle Themen fuer das Forum sind z.B. die FAQ. Gut koennte ich mir auch
einen Thread Suche Mitspieler fuer Mehrspielerquests, oder auch Verabredungen
zum Metzeln vorstellen.
Ich hoffe ich habe nichts vergessen.
LG Sparkle

-----------------------------------------------------------------------------



Re^6: Vorschlag (Zook,  6. Sep 2011, 18:06:10):
~#! rn=Sparkle rt=1315323648 rg=entwicklung
~#! tid=1315227816
Hm, aber was genau (neben der Bedienung und dem Editor) spricht gegen
die MPA fuer diese Themen?

Zook.

-----------------------------------------------------------------------------



Re^7: Vorschlag (Sparkle,  6. Sep 2011, 18:21:06):
~#! rn=Zook rt=1315325170 rg=entwicklung
~#! tid=1315227816
Nichts. Aber genau die Bedienung halte ich fuer den Neuling fuer entscheidend.
Entweder lese ich aktuell immer mit nn alle Artikel mit. Das geht im Spiel
sehr gut.
Allerdings muss der Neuling auch von dieser Funktion erst einmal wissen.
Wenn ich das erste mal die MPA aufschlage, stosse ich auf 100+ Artikel, die
ich mir entweder alle durchlese (welcher Neuling wird das machen ?) oder
gezielt nach Infos suche.
Letzteres wird kein Neuling versuchen oder hinbekommen. Ich persoenlich lese
die MPA z.B. auf mg.mud.de unter Zeitung, denn da kann ich mich gut
durchklicken.
Hier fehlt mir dann aber die Moeglichkeit, auf ein Thema zu antworten. Ich
habe nach anfang diesen Jahres (nach wie gesagt etlichen MG Jahren) selbst
ueberhaupt das erste mal MPA gelesen.
LG Sparkle

-----------------------------------------------------------------------------



Re^8: Vorschlag (Zesstra,  6. Sep 2011, 18:30:43):
~#! rn=Sparkle rt=1315326066 rg=entwicklung
~#! tid=1315227816
Es gibt uebrigens sogar nen MPA-Howto. Da steht auch drin, wie man Threads
uebergeben kann.
http://mg.mud.de/hilfe/mpa.shtml

Zesstra

-----------------------------------------------------------------------------



Re^9: Vorschlag (Sparkle,  6. Sep 2011, 18:42:21):
~#! rn=Zesstra rt=1315326643 rg=entwicklung
~#! tid=1315227816
ist mir bekannt. Ich kann mit der aktuellen Situation ja auch gut leben. Ich
koennte mir nur vorstellen, dass wir es dem einen oder anderen Neueinsteiger
mit einem Forum leichter machen koennten. Und ich bin wohl nicht der einzige,
der sich ein paar mehr Spieler wuenschen wuerde ?

-----------------------------------------------------------------------------



Re^10: Vorschlag (Zesstra,  6. Sep 2011, 19:11:37):
~#! rn=Sparkle rt=1315327341 rg=entwicklung
~#! tid=1315227816
Oh, sicher. Ich bin mir nur nicht sicher, ob das Einrichten und betreiben
eines Forums jetzt wirklich ein tolles "Kosten-Nutzen-Verhaeltnis" in unserem
Fall hat. Zum einen bin ich schon nicht ueberzeugt, dass der Spielerschwund
der letzten Jahr mit einem Forum signifikant geringer gewesen waere.
Aber letztendlich ist es so, dass es nicht damit getan ist, sich nen phpBB zu
schnappen, auf unserer Homepage abzukippen und alles ist gut. Da steckt
einiger Aufwand mehr dahinter, auch im langfristigen Betrieb.

Es waere vielleicht sinnvoller, die MPA und ihre Bedienung zu verbessern?

Zesstra

-----------------------------------------------------------------------------



Re^11: Vorschlag (Xutelius,  6. Sep 2011, 19:44:49):
~#! rn=Zesstra rt=1315329097 rg=entwicklung
~#! tid=1315227816
Moin,

ich hab die Erfahrung auch gemacht, dass die Artikelfuelle der MPA zu anfang
abschreckend wirkt. Aber ein Forum haette imho keinen Nutzen, solange es sich
nicht mit der MPA synchronisert, was vermutlich ein ziemliches Gefummel geben
duerfte, bis es funktioniert. Denn ich habe keine Lust, noch nebenher in einem
Forum Beitraege zu lesen und zu schreiben,. Und ich schaetze, das geht den
meisten anderen genau so. Damit waere der Nutzen eines solchen Forums dahin,
weil man zwar einfach Artikel schreiben kann, aber die Mehrzahl der Spieler
nicht sonderlich zeitnahe darauf reagieren wuerde.

Sich ein besseres Bedienkonzept fuer die MPA auszudenken waere vermutlich der
sinnvollere Weg. Und vielleicht Rubriken wie Megaschmarrn und WWW
standardmaessig zu vwerbergen, so dass man sie erst abonieren muss, wenn man
sie lesen moechte.

Xut*

-----------------------------------------------------------------------------



Re^12: Vorschlag (Mirimadel,  6. Sep 2011, 19:56:09):
~#! rn=Xutelius rt=1315331089 rg=entwicklung
~#! tid=1315227816
Halloechen,

finde ich auch so, fuer Anfaenger die MPa schlanker machen und erst mal nur
was zu MG gehoert.
Freischalten kann die anderen Rubriken jeder selst, ist gut in der Hilfe
beschrieben.
Miri

-----------------------------------------------------------------------------



Re^8: Vorschlag (Zook,  6. Sep 2011, 20:46:54):
~#! rn=Sparkle rt=1315326066 rg=entwicklung
~#! tid=1315227816
Okay, Punkt verstanden.

Hm, vielleicht sollte man im Tutorial auch noch etwas mehr (is da 
was zu drin?) zur MPA machen? Und vll. noch eine knackicke Bedienhilfe-
seite, wenn man die MPA in die Hand nimmt. 

Vielleicht sollte man auch noch mal ueberlegen, ob es vll. sinnig ist,
so Rubriken fuer wirklich Spielabsprachen ("Ich will metzeln gehen,
wer kommt mit?") anzulegen/vorzusehen?

Zook.

-----------------------------------------------------------------------------



Re^12: Vorschlag (Zesstra,  6. Sep 2011, 22:08:35):
~#! rn=Xutelius rt=1315331089 rg=entwicklung
~#! tid=1315227816
Ich denke, es waere kein grosses Problem, eine Vorauswahl an Rubriken zu
erstellen, die abonniert werden, wenn man die erste MPA erhaelt und den Rest
nicht zu abonnieren. Das waere auch etwas, was sich wohl zuegig umsetzen
laesst, weil man die MPA nicht umstricken muss.

Zesstra

-----------------------------------------------------------------------------



Re^13: Vorschlag (Mesirii,  6. Sep 2011, 23:14:50):
~#! rn=Zesstra rt=1315339715 rg=entwicklung
~#! tid=1315227816
+1 von mir fuer diesen vorschlag
Was man noch machen koennte, waere eine Rubrik anfaenger einzufuehren in der
man
auch Anfaenger Fragen stellen kann?! Aber vielleicht ist Allgemein dafuer auch
ausreichend.
Sticky-Artikel waeren auch ne gute idee, sind aber sicher aufwaendiger
umzusetzen.
Daraus koennte sich ne Art FAQ fuer Anfaenger entwickeln.

Mesi

-----------------------------------------------------------------------------



Re^3: Avatarbildchen (Mesirii,  7. Sep 2011, 01:07:38):
~#! rn=Brewer rt=1315136629 rg=entwicklung
~#! tid=1315044499
Dank an Zesstra, die Avatare werden ja sogar schon auf mg.mud.de angezeigt:
http://mg.mud.de/cgi-bin/mudwww.pl?REQ=finger&USER=mesirii

Nett
Mesi

-----------------------------------------------------------------------------



Re^12: Vorschlag (Gloinson,  7. Sep 2011, 02:56:40):
~#! rn=Xutelius rt=1315331089 rg=entwicklung
~#! tid=1315227816
* Forum und MPA

Die Frage hier ist "wollen wir". Mindestens in einem MUD (RB) wurde die MPA
auf Nutzung eines DBMS ueber den Driver umgestellt. Da hat man dann die
Synchronisation.


* Bedienungskonzept

Ich zweifle, das wir das zu einem Punkt verbessern koennen, an dem es mit
einem klickbaren Forum konkurrieren kann. Die MPA ist da ein ebenso altes
Konzept wie alle rein textbasierten Reader (Mailer) - wer von uns hat seine
Mails nicht auch schon mehr im Thunderbird oder Browser als in pine und mutt?


-----------------------------------------------------------------------------



Re^13: Vorschlag (Rumata,  7. Sep 2011, 09:15:04):
~#! rn=Gloinson rt=1315357000 rg=entwicklung
~#! tid=1315227816
:laesst nix auf mutt kommen!

-----------------------------------------------------------------------------



Re^3: Avatarbildchen (Zesstra,  7. Sep 2011, 09:16:21):
~#! rn=Brewer rt=1315136629 rg=entwicklung
~#! tid=1315044499
Wie Mesirii in nem anderen Posting erwaehnt hat, hab ich das testweise mal
umgesetzt. Kann aber noch Aenderungen in dem Bereich geben.

Zesstra

-----------------------------------------------------------------------------



Re^13: Vorschlag (Zesstra,  7. Sep 2011, 09:30:06):
~#! rn=Gloinson rt=1315357000 rg=entwicklung
~#! tid=1315227816
Ein Punkt, warum ich nen Thunderbird fuer meine Mails mutt vorziehe, ist
allerdings die Praesenz von allen moeglichen graphischen Elementen und
Anhaengen in Mails sowie formatiertem HTML-Zeugs, was man staendig kriegt.
Dieser Aspekt fehlt in der MPA zZ voellig. Das ist auch spannend, was man mit
som Zeug in einem MPA-Forum-Sync macht.
Das Bedienkonzept so zu aendern, dass es aehnlich zu dem eines Browser wird,
halte ich auch fuer ausgeschlossen. Verbesserungen ggue. den Istzustand aber
durchaus schon.

Aber eigentlich koennen wir das alles auf eine zweite Frage zurueckfuehren:
"Wer macht es"? (es: MPA ueberarbeiten/neuschreiben, Forum basteln,
DB-Wartung, Homepage-Wartung, MPA-Anpassung bei neuen Releases vom Forum an
neue Strukturen in der DB, etc.)

Zesstra

-----------------------------------------------------------------------------



Re^14: Vorschlag (Nicolai,  7. Sep 2011, 11:12:17):
~#! rn=Zesstra rt=1315380606 rg=entwicklung
~#! tid=1315227816
beim aufnehmen der mpa koennte direkt die grundidee bzw 
bedienung der mpa erscheinen. grad als anfaenger im start-
raum schnappt man sich doch immer alles was rumliegt.
"nn" ist in der heutigen zeit auch alles andere als intuitiv
ich weiss noch wie ich damals anno 1999 immer nur durch
zufall nen zeitungsartikel aufgerufen hab wenn ich zu
schnell nach norden gerannt bin

-----------------------------------------------------------------------------



Re^15: Vorschlag (Zesstra,  7. Sep 2011, 11:19:20):
~#! rn=Nicolai rt=1315386737 rg=entwicklung
~#! tid=1315227816
Ja, ich finde auch die Hilfe der MPA koennte uebersichtlicher sein. Ich bin
mir aber nicht sicher, ob ich geeignet bin, da grosse Verbesserungen zu
machen, denn ich bin die MPA seit langem gewoehnt und hab da nicht mehr so
ganz den Ueberblick, was ich am Anfang am schwierigsten fand. Wenn da jemand
sich mal mit Vorschlaegen versuchen mag...? Evtl. koennte man da auch eine
schnelle Hilfe mit dem wichtigsten und eine "Expertenhilfe" mit allem
moeglichen drin machen.
Per Default nicht mehr alle Rubriken zu abonnieren, sondern nur
bekanntmachungen und d.* und evtl. entwicklung werde ich heute abend mal in
Angriff nehmen.

Zesstra

-----------------------------------------------------------------------------



Re^16: Vorschlag (Mesirii,  7. Sep 2011, 11:24:27):
~#! rn=Zesstra rt=1315387160 rg=entwicklung
~#! tid=1315227816
Vielleicht auch noch allgemein und die jeweilige startgilde des spielers?
Bei den MPA Hinweisen waere vielleicht auch ein Tip in welcher Rubrik man
so generelle Fragen ("allgemein"?) posten sollte, nicht schlecht?

Mesi

-----------------------------------------------------------------------------



Re^17: Vorschlag (Gloinson,  7. Sep 2011, 12:04:33):
~#! rn=Mesirii rt=1315387467 rg=entwicklung
~#! tid=1315227816
Es koennte ja mal jemand einen "frischen" Bekannten an der MPA verbrennen, um
Vorschlaege fuer Verbesserungen aus Nutzersicht zu bekommen. Ich weiss, solche
Bekannte sind rar, das kann eher die junge Generation unter uns anbieten.

(Ich hab es am Wochenende versucht, hab aber fuer den Text-Teil nur
Suppentelleraugen als Reaktion geerntet ;) )


-----------------------------------------------------------------------------



Re^18: Vorschlag (Humni,  7. Sep 2011, 16:09:07):
~#! rn=Gloinson rt=1315389873 rg=entwicklung
~#! tid=1315227816
Die MPA ist an sich nicht das geeigenete Medium fuer Anfaenger. Das heisst
nicht, dass ich nicht will, dass Anfaenger hier schreiben, aber sie ist fuer
kleine Spieler nichts, was ihnen weiterhilft. Sie erklaert den Spielern nicht
die grundlegenden Befehle und sie ist auch kein Forum fuer Fragen zu Quests
oder Monstern.

Darum finde ich an sich nicht schlimm, dass die MPA von kleinen Spielern kaum
benutzt wird, bis sie sich hier ein wenig "eingelebt" haben und auch mal
bereit sind, ein paar Saetze zur Hilfe zu lesen. Und dann ist die MPA gar
nicht soo bedienerunfreundlich. Vorausgesetzt, wir lassen sie als Mud-internes
Instrument hat sie aufgrund ihrer Struktur eine ziemliche Komplexitaet (im
Vergleich zu anderem hier), die ich andererseits auch nicht missen moechte.

Darum faende ich ein (kleines, ueberschaubares) Forum "draussen" gar nicht
falsch. Das kann jeder bedienen, der ein wenig im Netz surft.

Ob das unbedingt mit dem Mud synchronisiert werden muss? Weiss ich nicht.

Humni

-----------------------------------------------------------------------------



Re^19: Vorschlag (Miril,  7. Sep 2011, 16:22:30):
~#! rn=Humni rt=1315404547 rg=entwicklung
~#! tid=1315227816
Ein Forum halte ich persoenlich fuer ueberfluessig. Das mag daran liegen, dass
ich eh kein haeufiger Forennutzer bin. Ich kann mir aber auch gerade nicht
vorstellen, dass allzu viele Mudder, die mit den hier vorhandenen
Kommunikationsmoeglichkeiten umgehen koennen, Lust haetten noch zusaetzlich
in ein Forum zu schreiben, sodass da vermutlich nicht viel los waere.

Hinzu kommt, dass jemand das pflegen muesste und darauf achten, dass dort 
kein Mist und keine regelwidrigen KLs rumliegen usw.. Momentan sehe ich
keinen Freiwilligen, der das uebernehmen wuerde, aber ich kann mich auch
taeuschen.

Hingegen waere es eventuell sinnvoll, FAQ und Hilfeseiten oder auch Artikel
zu anfaengerrelevanten Themen auf die Homepage zu legen (sofern nicht schon
vorhanden, hab da gerade nicht den Ueberblick).

Miril

-----------------------------------------------------------------------------



Re^20: Vorschlag (Humni,  7. Sep 2011, 16:24:40):
~#! rn=Miril rt=1315405350 rg=entwicklung
~#! tid=1315227816
(Nur zur Klarstellung)

Meine hier vertretene Meingun ist (wie man glaube ich merkt) meine eigene und
nicht die der EMs insgesamt. ;-)

Und den Punkt mit der Pflege sehe ich durchaus ein.

Humni

-----------------------------------------------------------------------------



MPA: anfaenglich abonnierte Rubriken (Zesstra,  7. Sep 2011, 20:41:26):
Ich hab soeben eine neue Version der MPA geladen, die wir gewuenscht die Menge
an anfaenglich abonnierten Rubriken verringert:
Nimmt jemand erstmalig eine MPA in die Hand, wird nur eine Vorauswahl
abonniert: bekanntmachungen, d.*, entwicklung und die jeweilige Gildenrubrik
des Lebewesens.

Zesstra

-----------------------------------------------------------------------------



Re^4: Avatarbildchen (Brewer,  7. Sep 2011, 21:05:09):
~#! rn=Zesstra rt=1315379781 rg=entwicklung
~#! tid=1315044499
Na das ging ja prompt.

Vielen Dank!

Brewer

-----------------------------------------------------------------------------



Re^21: Vorschlag (Sparkle,  8. Sep 2011, 09:07:25):
~#! rn=Humni rt=1315405480 rg=entwicklung
~#! tid=1315227816
ich finde die Anpassung der MPA (Auswahl der anfaenglich abbonierten Themen)
sehr gut.
Ansonsten stimme ich Humni zu. Die MPA ist nicht das geeignete Medium fuer
Anfaenger.
Ein kleines Forum muss auch nicht zur MPA konkurrieren. Mein Hauptanliegen
waren nicht die Probleme der MPA, sondern
das fehlen eines geeigneten Mediums fuer Anfaenger. Also sollte man es eher
als Verbesserung zu den Informationen auf mg.mud.de sehen.
D.H. das Ziel des Forums sind andere Themen. Questfragen, Fragen zu
Gegenstaenden Monstern etc. also genau die Sachen,
die bisher hauptsaechlich auf den Ebenen live geloest werden. Die Pflege sehe
ich eher unproblematisch.
Bei der aktuellen Spielerzahl wird die Anzahl der Themen und Beitraege
ueberschaubar bleiben. Und wenn man das Forum im Vergleich zu den Information
auf der Homepage sieht,
ist ein Forum deutlich leichter zu pflegen. Beispiele von der Homepage:
Neuigkeiten (Stand 2009), Spieler-Infos Regionen (mehrere tote Links, fehlende
Infos), FAQ (deutlich veraltet),
die Hilfe zu den Befehlen ist gut, aber es fehlt die Moeglichkeit direkt zu
den Befehlen nachfragen zu stellen.
Ein Forum koennte somit Infos von der Homepage ersetzen. Insgesamt muesste das
den Pflegeaufwand erleichtern.
LG Sparkle

-----------------------------------------------------------------------------



Re^22: Vorschlag (Xutelius,  8. Sep 2011, 09:26:17):
~#! rn=Sparkle rt=1315465645 rg=entwicklung
~#! tid=1315227816
Moin,

Hmm ich verstehe nicht, wo das Forum den Ebenen gegen|ber einen Vorteil
haette. Wie schon von mehreren Seiten angemerkt, die Spieler die mit der MPA
umgehen koennen, die wohl auch in vielen Faellen die Leute waeren, die auf
Ebenenfragen die Antworten wissen, werden sich kaum regelmaessig noch den
Inhalt des Forums anschauen, so dass es keine schnellere Reaktion, sondern
eher eine Langsamere geben wuerde. Ich reagiere eigentlich immer auf Fragen
auzf Ebenen, sofern nicht jemand anders schneller war und ich die Antwort
kenne. Und glaub mir, ich kenn auf viel die Antwort. ;-)
Aber ein Forum wuerde ich nicht mit lesen. Jedenfalls nicht regelmaessig. Ich
hab die MPA, die sich schoen nebenher lesen laesst, weil sie im gleichen
Fenster stkct wie das MuD und selbiges gilt fuer die Ebenen. Aber ein Forum?
Nae.

Was das Thema Pflege angeht, so sehe ich grade bei den von dir vorgeschlagenen
Themen ein ziemliches Problem. Wer soll es regelmaessig mitlesen, um zu
verhindern, dass jemand uebereifriges, der die Regeln noch nicht ordentlich
kennt, eine KL ins Netz stellt? Als Erzmagier, denen diese Aufgabe logischer
Weise zufallen wuerde, wuerde ich jedem der sowas vorschlaegt nen Vogel
zeigen, die haben schon genug anderes zu tun.

Was die Homepage angeht - die News sind eine Sache, aber zu den anderen
Sachen, tote Links, veraltete Texte, empfehle ich "mail webdev" und das
Problem beschreiben, dann kuemmert sich im Normalfall jemand.

Xut*

-----------------------------------------------------------------------------



Re^23: Vorschlag (Sparkle,  8. Sep 2011, 09:40:50):
~#! rn=Xutelius rt=1315466777 rg=entwicklung
~#! tid=1315227816
die Ebenen sind natuerlich immer die beste und direkteste Moeglichkeit
Antworten zu bekommen. Aber es kommt immer haeufiger vor, dass halt niemand
aktiv online ist.
In diesem Fall ist eine langsame Reaktion besser als ueberhaupt keine.
Desweiteren muessten viele Fragen nicht immer wieder gestellt werden. mail
webdev werden nur Spieler nutzen,
die beurteilen koennen, dass eine Information veraltet oder falsch ist. Diese
Spieler nutzen die HP nicht mehr. Jmd, der die Regeln noch nicht ordentlich
kennt, wird wohl auch nicht
so viele KLs haben, die er ins Netz stellen koennte. Das waere imo
Einzellfaelle.

-----------------------------------------------------------------------------



Re^24: Vorschlag (Chagall,  8. Sep 2011, 09:57:52):
~#! rn=Sparkle rt=1315467650 rg=entwicklung
~#! tid=1315227816
Irgendwie ist aber immer noch nicht die Frage beantwortet, wer denn das Forum
pflegen soll. Denn mit dem Aufsetzen der Software ist es ja nicht getan, da
fallen noch DB-Aufgaben an, abklemmen von Spambots etc, Posts muessen
gegebenenfalls entfernt werden, da sie gegen die Mudregeln (KLs, FP-Listen)
verstossen etc.

MC

-----------------------------------------------------------------------------



Re^25: Vorschlag (Sparkle,  8. Sep 2011, 10:07:17):
~#! rn=Chagall rt=1315468672 rg=entwicklung
~#! tid=1315227816
den Aufwand der DB-Aufgaben kann ich nicht abschaetzen, da fehlt mir die
Erfahrung. Aber sowohl Administration als auch Moderation muss ja nicht
zwingend an den EM haengenbleiben.
wille
Vielleicht lassen sich da ja freiwillige finden.
LG Sparkle

-----------------------------------------------------------------------------



Re^24: Vorschlag (Zesstra,  8. Sep 2011, 10:11:16):
~#! rn=Sparkle rt=1315467650 rg=entwicklung
~#! tid=1315227816
Du kommst als Betreiber einer Website nicht umhin, die dort angebotenen
Inhalte regelmaessig (das muss natuerlich nicht alle 2h sein) mal anzugucken,
auch wenn nur in Einzelfaellen Leute Mist bauen. Das faengt mit KLs nur an.
Zumindest wenn Du keinen Bock auf einen zeit- und ggf. kostenintensiven
Rechtsstreit hast.
Dazu kommt halt Zeitaufwand fuer Einrichten DB, Einrichten Forum, Backup DB,
Wartung DB, Wartung PHP-zeugs, Wartung Forum. Und das fiese dran ist, dass das
zum guten Teil langfristige, wiederkehrende Zeitkosten sind. Jetzt magst Du
sagen, dass sei alles nicht problematisch, aber irgendwer muss es trotzdem
machen.
Uebrigens ist die Tatsache, dass Questfragen und -Antworten, Fragen zu Items
und Monster von den Ebenen irgendwann wieder verschwinden, durchaus nicht
unerwuenscht: wuerde man das langfristig archivieren, ist die KL nach einigen
Monaten zwangslaeufig komplett. Sowas muesste man in einem Forum
beruecksichtigen und regelmaessig bereinigen.

Die Hypothese, dass veraltete Infos und tote Links in Foren viel weniger
Problem waeren, kann ich uebrigens aus Kenntnis der Foren aus meinem
Dunstkreis nicht bestaetigen - dort guckt naemlich kaum jemand alte Posts
durch. Oder wenn, nur sehr ausgewaehlte. Der Aufwand, einen einfachen Text auf
der Homepage zu aendern, ist uebrigens gar nicht so hoch - der eigentlich
zeitliche Aufwand stellt die inhaltliche Arbeit am Text dar. Und das ist bei
einem Forum nicht anders.

Ansonsten noch was als "Mitspieler" im MG: ich weiss, dass ich weder Zeit noch
Lust haben werde, regelmaessig noch ein Forum zu lesen.

Zesstra

-----------------------------------------------------------------------------



Re^25: Vorschlag (Sparkle,  8. Sep 2011, 10:18:31):
~#! rn=Zesstra rt=1315469476 rg=entwicklung
~#! tid=1315227816
extrahand
Dann habe ich den Aufwand tatsaechlich unterschaetzt. Ihr habt mich
ueberzeugt.
LG Sparkle

-----------------------------------------------------------------------------



Re^24: Vorschlag (Mesirii,  8. Sep 2011, 10:21:42):
~#! rn=Sparkle rt=1315467650 rg=entwicklung
~#! tid=1315227816
also ich finde prinzipiell den Vorschlag mit dem Forum fuer Anfaenger nicht so
schlecht. Das Problem der KL's / falschen Postings kann man relativ einfach
mit
Moderation loesen. Ausserdem ist so nen Forum von Suchmaschinen indexierbar
und sorgt damit wieder mehr fuer Publicity.
Ggf. kann man auch manche Inhalte der MPA manuell dorthin kopieren (z.b.
aus Bekanntmachungen).
Sparkle, da die Idee von Dir kommt - wuerdest Du Dich bereiterklaeren die
Moderation zu uebernehmen? Und ggf. das Verlinken bzw. kopieren von Inhalten
aus der MPA?
Aufsetzen koennte man das mit relativ wenig Aufwand, es gibt diverse gehostete
Forums, so dass man sich kein phpBB o.ae. lokal eintreten muss.
Auch Aspekte/Diskussionen fuer blinde Mitspieler, die laut Xut* ja eher
Browser
Games und Web-Anwendungen nutzen waeren dort ggf. gut aufgehoben.

Mein Vorschlag ist: Lasst es uns doch fuer einen gewissen Zeitraum versuchen
(z.B. bis Ende des Jahres) und wenn es sich herausstellt, dass es nur ein
totes Forum ist, dann kann man es relativ problemlos wieder entfernen.

Gruss
Mesi

-----------------------------------------------------------------------------



Re^25: Vorschlag (Sparkle,  8. Sep 2011, 10:26:40):
~#! rn=Mesirii rt=1315470102 rg=entwicklung
~#! tid=1315227816
Grundsaetzlich bin ich immer bereit, Aufgaben zu uebernehmen.
LG Sparkle

-----------------------------------------------------------------------------



Re^26: Vorschlag (Mesirii,  8. Sep 2011, 10:33:40):
~#! rn=Sparkle rt=1315470400 rg=entwicklung
~#! tid=1315227816
Oh, mit so generellen Aussagen wuerde ich mich ja an Deiner Stelle
zurueckhalten 

Mesi

-----------------------------------------------------------------------------



Re^27: Vorschlag (Vector,  8. Sep 2011, 12:38:06):
~#! rn=Mesirii rt=1315470820 rg=entwicklung
~#! tid=1315227816
(antwort auf letzten artikel ....)
selbst wenn es ein forum geben sollte (nach wie vor sehe
ich wirklich nicht den mehrwert) dann wird es zum einen
auch dort unter umstaenden tage dauern bis mal wer ne
antwort erhaelt, und zum anderen: wie will man verhindern
dass sich das forum im lauf der zeit in eine kl-sammlung
entwickelt?
spieler 1 fragt in quest A nach wie er denn den npc
dazu kriegt ein speziellen gegenstand anzunehmen,
und bekommt einen tip. andere spieler koennen so
lesen das eben jener gegenstand in der quest eine rolle
spielt, oder spielen die quest bis zu genau diesem 
punkt durch, fragen die naechste relevante frage
fuer die quest etc etc bis zu einer quest die
schrittweise loesung im forum steht.
was will man machen? allr paar wochen alle forenposts
nach dev/null verschieben? oder jemand entscheiden
lassen, ab wann eine tipsammlung zur kl wird?

-----------------------------------------------------------------------------



Re^28: Vorschlag (Zesstra,  8. Sep 2011, 14:18:16):
~#! rn=Vector rt=1315478286 rg=entwicklung
~#! tid=1315227816
Alle Artikel aelter als 7 Tage loeschen.

Zesstra

-----------------------------------------------------------------------------



Re^29: Vorschlag (Arathorn,  8. Sep 2011, 18:31:56):
~#! rn=Zesstra rt=1315484296 rg=entwicklung
~#! tid=1315227816
Mal von mir auch ne kleine Portion Senf dazu. Ich habe in den letzten 
Jahren das eine oder andere Forum selbst mit moderiert und administriert,
und ich kann eigentlich nur davon abraten, so etwas fuers MG einzufuehren.
Der Zeitaufwand dahinter ist auch bei kleinen Nutzergruppen relativ hoch,
bzw. wird fuers MG hoeher sein als in den meisten anderen Anwendungsfaellen,
da wir nicht nur auf potentielle KLs achten muessten, sondern auch auf
alle anderen Listen, die man so weitergeben wollen wuerde (FP, ZT, EKs,
you name it). D.h. es muss auf jeden Fall jemand da sein, der regelmaessig
mitliest und ggf. kritische Beitraege loescht, und das vor allem zeitnah.
Zusaetzlich gibt es immer irgendwelche Spambots, die man killen muss, und
sonstige Deppen, die unerwuenschten Muell posten (unappetitliche Schmuddel-
bildchen zB, alles schon dagewesen), und sofern das Forum komplett
oeffentlich lesbar und damit von Suchmaschinen indexierbar waere, hat man
nicht nur positive Publicity, sondern schnell auch mal negative Begleit-
erscheinungen am Hals.
Bezueglich der Spambots mache man sich uebrigens keine Hoffnungen, die 
Dinger sind heutzutage relativ hochentwickelt und fallen ueber ein Forum
schneller her als man schauen kann. Gegenmassnahme sind Zugangshuerden wie
z.B. schwer maschinenlesbare Captchas - wo man wiederum fuer die blinden
Mitspieler eine akustische Alternativloesung bereitstellen muss. Das alles
muss gewartet werden und auf dem aktuellen Stand gehalten werden. Ich 
persoenlich haette schon keine Lust darauf, sowas zu administrieren
und zu moderieren, und erst recht nicht, staendig nach Software- und 
sonstigen Technikupgrades Ausschau zu halten. Wir haben ein ordentliches,
brauchbares ingame-Medium mit Ebenen und MPA, und ich denke, dass wir
wirklich dabei bleiben sollten. 
Zusaetzlich bitte ich zu bedenken, dass wir mit mehr Software auf dem Mud-
Rechner auch mehr Angriffsflaeche nach aussen praesentieren; es gab in der
Vergangenheit genug Faelle, wo (z.B.) phpBB-Foren ueber bekannte oder 
unbekannte Schwachstellen gehackt wurden. 

Ich wuerde vielleicht an dieser Stelle einen anderen Punkt aufgreifen, den
Du ansprachst, Sparkle: "Auf den Ebenen antwortet keiner, weil nur noch
relativ wenig Leute da sind." - Was waere denn, wenn man statt eines 
offenbar unbeliebten, wenig Erfolg versprechenden zusaetzlichen Forums auf
dem Mudrechner die Zeit und Energie lieber darauf verwendet, wieder mehr
Spieler fuers MG zu begeistern?
Ich weiss, dass das leichter gesagt, als getan ist. Wenn jemand aber eine
gute Idee hat, wie sich das bewerkstelligen liesse, sollte man die nicht
undiskutiert lassen.

Gruss, Arathorn.

-----------------------------------------------------------------------------



Re^22: Vorschlag (Ark,  8. Sep 2011, 21:20:49):
~#! rn=Sparkle rt=1315465645 rg=entwicklung
~#! tid=1315227816
"Die Pflege sehe ich eher unproblematisch."
Hier irrst Du. Die Pflege ist extrem wichtig, und da steht/stehen immer eine
oder mehrere Personen dahinter. Da kommt dann die spannende Frage "Wer
macht's" und dann auch gern "Und vor allem, wie regelmaessig und wie lange?".
Wird gerne unterschaetzt. Ist aber immer ein Problem ... und damit ist die
Pflege problematisch :-)
Willst Du? :)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^30: Vorschlag (Mesirii,  8. Sep 2011, 21:30:04):
~#! rn=Arathorn rt=1315499516 rg=entwicklung
~#! tid=1315227816
Ok, ueberzeugt, 
Eine Idee die ich heute hatte: Warum nicht einen "Cicerone"-NPC erschaffen
den man als Anfaener ansprechen kann und der, wenn ein cicerone da ist,
die Frage weiterleitet, wenn nicht merkt er sich die Frage bis ein
Cicerone und der Frager wieder online sind und leitet sie dann weiter.
So haben wir nicht das speicher + KL Problem, da nur zwischengespeichert
wird.

Was haltet ihr davon?
Und fuer Sparkle waere die Aufgabe als Cicerone fuer Neuspieler mit
zur Verfuegung zu stehen, an der Aktualisierung der MG-Webseiten
mitzuarbeiten und Ideen fuer die Neuspieler-Begeisterung zu liefern.

Mesi

-----------------------------------------------------------------------------



Re^31: Vorschlag (Xutelius,  8. Sep 2011, 21:36:57):
~#! rn=Mesirii rt=1315510204 rg=entwicklung
~#! tid=1315227816
Hmm koennte man machen. Aber so ein grosses Problem ist das imho garnicht.
Meiner Erfahrung nach sind auch heute noch die meiste Zeit ueber Cicerones da.
Vielleicht morgens um 4 nicht, aber sonst ... Da ich selbst Cicerone bin kann
ich sagen, viel oeffter ist das Problem, dass, wenn man 5 Minuten nicht ins
MG-Fenster geschaut hat und dann auf eine Frage antworten will, der Spieler
sich ausgelogt hat, weil er wohl mit einer Antwortzeit von 30 Sek gerechnet
hat ...

Xut*

-----------------------------------------------------------------------------



Re^31: Vorschlag (Ark,  8. Sep 2011, 21:37:24):
~#! rn=Mesirii rt=1315510204 rg=entwicklung
~#! tid=1315227816
Also ich verstehe ja, dass man vieles tun moechte und will, aber ich sehe
eines nicht: dass sich einer, der sich hier einloggt und wirklich interessiert
ist und spielen will, nicht meldet durch rufen, ebenen oder aehnliches.
"hilfe" funktioniert, man wacht bei einem Tutorial auf ... es liegt an den
vorhandenen Spielern, einem Neuling hier alles beizubringen, und dazu braucht
man Zeit, die einem kein Bot oder NPC oder sonstwas oder sonstwer abnimmt,
Punkt. Auch Foren, Webseiten und anderes hilft nix, hier spielen immer noch
Menschen, und wenn die idlen, bloed sind oder einfach nicht antworten oder
auch mal auf Leute zugehen, hilft die beste Technik und das schniekste
Drumherum nicht :-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^25: Vorschlag (Zook,  8. Sep 2011, 21:44:14):
~#! rn=Mesirii rt=1315470102 rg=entwicklung
~#! tid=1315227816
Nicht so begeistert, lasst uns unsere Kraefte eher auf andere
Dinge, die wir angestossen haben (ich sag mal MGClient auf Webseite)
konzentrieren.
Only my 0.02$
Z

-----------------------------------------------------------------------------



Re^31: Vorschlag (Zook,  8. Sep 2011, 21:47:09):
~#! rn=Mesirii rt=1315510204 rg=entwicklung
~#! tid=1315227816
Klingt schon besser! ;) 
Zook.

-----------------------------------------------------------------------------



Re^32: Vorschlag (Xutelius,  8. Sep 2011, 21:53:52):
~#! rn=Xutelius rt=1315510617 rg=entwicklung
~#! tid=1315227816
Hmm, hat das schon jemand vorgeschlagen?

Waere evtl sinnvoll, die Ebenen, als Anlaufstelle ins Ingame-Turorial
aufzunehmen. iirc wird die Funktionalitaet nur ganz am Schluss, anhand von
-grats erklaert.

Xut*

-----------------------------------------------------------------------------



Re^33: Vorschlag (Mesirii,  8. Sep 2011, 21:55:05):
~#! rn=Xutelius rt=1315511632 rg=entwicklung
~#! tid=1315227816
Haste ne gute Idee, wie das aussehen koennte? Im Tutorial mein ich?

Mesi

-----------------------------------------------------------------------------



Re^34: Vorschlag (Xutelius,  8. Sep 2011, 21:56:09):
~#! rn=Mesirii rt=1315511705 rg=entwicklung
~#! tid=1315227816
Nein, aber ich denke drueber nach. Und ich hoffe, nicht als einziger ;-)

Xut*

-----------------------------------------------------------------------------



Re^35: Vorschlag (Sparkle,  9. Sep 2011, 09:20:52):
~#! rn=Xutelius rt=1315511769 rg=entwicklung
~#! tid=1315227816
Lasst uns damit die Diskussion ueber ein Forum einstellen. Ich hatte das
Kosten / Nutzen Verhaeltnis definitiv falsch eingeschaetzt. Und der
Hintergrund meines Vorschlags war
ausschliesslich das Ziel neue Spieler zu gewinnen und fuers MG zu begeistern.
Die Idee die Ebenen ins Ingame Tutorial aufzunehmen finde ich klasse.
Ich kenne das Tutorial leider noch gar nicht, so dass ich den bisherigen
Inhalt nicht bewerten kann. Muss ich mir mal anschauen.
Wenn wir neue Spieler gewinnen wollen, stellt sich mir die Frage, warum so
wenige Spieler neu dazukommen. Werden zu wenige auf das MG aufmerksam, oder
springen zu viele nach kurzer Zeit wieder ab ?
Wenn viele abspringen, muessen wir an den Inhalten, bzw. dem Einstieg
arbeiten. Wenn erst keiner darauf aufmerksam wird, liegts daran schon mal
nicht. Gibt es da Zahlen ?
Wie viele Neuanmeldungen (keine Zweities) gibt es ? Wie viele davon bleiben
laenger aktiv ? etc.
LG Sparkle

-----------------------------------------------------------------------------



Re^36: Vorschlag (Dunkeltyp,  9. Sep 2011, 10:17:11):
~#! rn=Sparkle rt=1315552852 rg=entwicklung
~#! tid=1315227816
Wuerde denken Ark ist auf dem richtigen Weg "auf einander zugehen".
Natuerlich muss auch ueberlegt werden, welche Art von Spielern wollen wir und
wo kommen sie her.
Bei einer Entwicklung zu hoeheren Anforderungen brauche ich andere Spieler,
mit niedrigen Anforderungen spreche ich mehr an und vertreibe vielleicht
Spieler die mehr Herausforderung wollen.
DT

-----------------------------------------------------------------------------



Re^37: Vorschlag (Durloth,  9. Sep 2011, 11:06:16):
~#! rn=Dunkeltyp rt=1315556231 rg=entwicklung
~#! tid=1315227816
Also ich finde die MPA auch viel zu kompliziert. Ich lese sie sehr gerne, aber
ausschliesslich auf der Website. In 10 Jahren hab ich vielleicht drei oder
vier Artikel verfasst, obwohl ich bei vielen Sachen gerne meine Meinung
geaeuszert haette, einfach weil der Editor fuer mich total abschreckend ist.
Wenn ich etwas laengeres schreibe, hab ich lieber ein Fenster und einen Cursor
mit dem ich in Saetzen rumspringen kann, um einfach und schnell Aenderungen
vorzunehmen oder Rechtschreibfehler auszubessern usw... Ist es denn nicht
moeglich, eine Option in die Webseite zu integrieren, dass auch von dort - mit
MG-Login-Daten - in die MPA geschrieben werden kann?

-----------------------------------------------------------------------------



Re^38: Vorschlag (Mesirii,  9. Sep 2011, 11:17:44):
~#! rn=Durloth rt=1315559176 rg=entwicklung
~#! tid=1315227816
Du kannst doch jederzeit Deinen Text in einem externen Editor schreiben und
dann
unter Beachtung der Zeilenlaenge einfach reinkopieren.

Mesi

-----------------------------------------------------------------------------



Re^39: Vorschlag (Rumata,  9. Sep 2011, 11:24:41):
~#! rn=Mesirii rt=1315559864 rg=entwicklung
~#! tid=1315227816
...und selbst den Zeilenumburch macht die MPA fuer dich.

-----------------------------------------------------------------------------



Re^39: Vorschlag (Durloth,  9. Sep 2011, 11:45:27):
~#! rn=Mesirii rt=1315559864 rg=entwicklung
~#! tid=1315227816
Klar kann ich das. Nur bei Copy and Paste ist es dann z.B. wieder so, dass
Absaetze nicht erkannt werden und alles in einem durchlaufenden Batzen
erscheint. Klar kann man auch das managen, wenn man die Geduld dazu hat... Ein
anderer Punkt ist aber auch, dass, wenn ich die MPA online lese, ich mich noch
extra ins MG einloggen muss, wenn ich auf einen Artikel antworten moechte.
Auch wenn das alles nur Kleinigkeiten sind, sind sie ein Mehraufwand. Daher
geht's mir ganz oft so, dass ich mir sage: 'Scheiss drauf, ich behalt meinen
Senf fuer mich.' (Vielleicht manchmal auch besser so. ^^) ... Ich denke aber,
dass es nicht nur fuer mich, sondern auch fuer Neuspieler oder die, die es
werden wollen, viel einfacher waere, wenn sie ueber ein ihnen bekanntes
forenaehnliches System mit anderen Spielern kommunizieren koennten.

-----------------------------------------------------------------------------



Re^40: Vorschlag (Vector,  9. Sep 2011, 11:46:13):
~#! rn=Durloth rt=1315561527 rg=entwicklung
~#! tid=1315227816
also anatol hat damals seine (viele seiten lange artikel)
stehts in blockschrift formatiert ->schmarrn

-----------------------------------------------------------------------------



Re^40: Vorschlag (Zesstra,  9. Sep 2011, 11:52:24):
~#! rn=Durloth rt=1315561527 rg=entwicklung
~#! tid=1315227816
Das ist so nicht richtig. Die MPA bricht zu lange Zeilen automatisch um und
behaelt existierende Zeilenumbrueche bei. D.h. wenn Du im Editor mit Absaetzen
schreibst, sind die auch im spaeteren Artikel.
Aus diesem Grund sollte man im Editor uebrigens keine Zeilen von 90 Zeichen
machen, sonst kriegt man 2 Zeilen a 78 und 12 Zeichen. Entweder man bricht im
Editor automatisch auf 78 Zeichen um oder der Editor sollte gar nicht
automatisch umbrechen. Dann klappt das auch mit den Absaetzen und
Zeilenlaengen.

Zesstra

-----------------------------------------------------------------------------



Re^41: Vorschlag (Durloth,  9. Sep 2011, 12:53:54):
~#! rn=Zesstra rt=1315561944 rg=entwicklung
~#! tid=1315227816
Okay. Leicht falsche (nicht allgemeingueltige) Definition des Wortes 'Absatz'
von mir. Ich meine eher, dass Freizeilen zwischen geschriebenen Bloecken bei
einem Copy and Paste nicht uebertragen werden...

-----------------------------------------------------------------------------



Re^42: Vorschlag (Rumata,  9. Sep 2011, 13:04:17):
~#! rn=Durloth rt=1315565634 rg=entwicklung
~#! tid=1315227816
a


b


c


d

u problem? ;-)

-----------------------------------------------------------------------------



Re^43: Vorschlag (Durloth,  9. Sep 2011, 13:09:23):
~#! rn=Rumata rt=1315566257 rg=entwicklung
~#! tid=1315227816
Ich hab nicht behauptet, dass es unmoeglich ist. Hat man aber einen laengeren
Text geschrieben, kann man ihn nicht komplett kopieren und einfuegen, sondern
muss das abschnittweise erledigen. Ein Mehraufwand. Mehr hab ich nicht gesagt.
Mir ist das damals beim Bericht fuer die Trves aufgefallen. Vielleicht bin ich
auch einfach nur zu dumm fuer den Editor. Das mag ich nicht ausschlieszen...

-----------------------------------------------------------------------------



Re^44: Vorschlag (Zesstra,  9. Sep 2011, 13:11:13):
~#! rn=Durloth rt=1315566563 rg=entwicklung
~#! tid=1315227816
Das entspricht nicht den Tatsachen. Ich schreibe fast alle Texte im Editor,
auch mit leeren Zeilen zwischen Absaetzen und kann sie in einem Rutsch
kopieren und es auch alles so in der MPA: schreibe bla/antworte, Ctrl-A,
Ctrl-C, Ctrl-V, . fertig. Aber das ist eigentlich hier in der Diskussion auch
zunehmend irrelevant.

Zesstra

-----------------------------------------------------------------------------



Re^45: Vorschlag (Anthea,  9. Sep 2011, 13:15:12):
~#! rn=Zesstra rt=1315566673 rg=entwicklung
~#! tid=1315227816
Es gab vor laengerer Zeit mal eine "relativ" knappe Begrenzung der Zeichen pro
Zeile, was dazu gefuehrt hat, dass der Text innerhalb einer Zeile nach ein
paar Hundert Zeichen abgebrochen wurde. Hatte mich auch schon mal irritiert.
Aber das ist auch schon einige Jahre her. Inzwischen hat sich der Editor bzw.
die Lib dahinter auch ein bisschen weiterentwickelt.

-----------------------------------------------------------------------------



Re^46: Vorschlag (Durloth,  9. Sep 2011, 13:32:10):
~#! rn=Anthea rt=1315566912 rg=entwicklung
~#! tid=1315227816
Mein Bericht liegt 9 Jahre zurueck. Es mag sein, dass ich noch auf diese alten
Erfahrungswerte zurueckgreife. Auch moeglich, dass mein Client am
Leerzeilenfiasko Schuld ist. Dann nehm ich alles zurueck und lobe die MPA
ueber den gruenen Klee: Super leicht bedienbar und total anfaengerfreundlich.
Wirklich!

-----------------------------------------------------------------------------



Re^47: Vorschlag (Gloinson,  9. Sep 2011, 13:39:06):
~#! rn=Durloth rt=1315567930 rg=entwicklung
~#! tid=1315227816
Nicht zu vergessen: jeder ordentliche, nach Manifest verfasster Artikel in
megaschmarrn gibt einen FP.


-----------------------------------------------------------------------------



Re^47: Vorschlag (Zesstra,  9. Sep 2011, 13:39:28):
~#! rn=Durloth rt=1315567930 rg=entwicklung
~#! tid=1315227816
Es geht nicht darum, die MPA zu loben, sondern darum, ihr nicht zuzuschreiben,
wofuer sie nix kann oder was sie definitiv nicht zu verantworten hat.
Aber wir koennen uns ja jetzt vielleicht auch wieder konstruktiver Kritik und
Verbesserungsvorschlaegen zuwenden. Danke.

Zesstra

-----------------------------------------------------------------------------



Re^48: Vorschlag (Gloinson,  9. Sep 2011, 13:40:19):
~#! rn=Zesstra rt=1315568368 rg=entwicklung
~#! tid=1315227816
Der Zeichensatz in der MPA ist leider kein UTF8.


-----------------------------------------------------------------------------



Re^47: Vorschlag (Maharet,  9. Sep 2011, 15:57:49):
~#! rn=Durloth rt=1315567930 rg=entwicklung
~#! tid=1315227816
Warum hattest du denn deinen Bericht in der MPA veroeffentlicht? Der gehoert
in den Struv.

-----------------------------------------------------------------------------



Re^48: Vorschlag (Durloth, 10. Sep 2011, 03:40:35):
~#! rn=Maharet rt=1315576669 rg=entwicklung
~#! tid=1315227816
Hab ich doch gar nicht. Aber da gibts auch so nen komischen Editor...
*rolleye*

Aber meine Frage, ob es denn moeglich waere, mit den MG-Login-Daten von der
Webseite aus in die MPA zu schreiben, wurde mal so gar nicht beachtet. Darum
ging es mir eigentlich. Es waere kein Extra-Forum. Spam gaebe es auch nicht so
viel, da man sich im MG zunaechst registrieren muss.

-----------------------------------------------------------------------------



Re^49: Vorschlag (Maharet, 10. Sep 2011, 09:24:09):
~#! rn=Durloth rt=1315618835 rg=entwicklung
~#! tid=1315227816
Ach, ich weiss nicht. Damit man sich so gar nicht mehr ins Mud einloggen muss?
Immerhin ist das die mud_interne_ Zeitung. Und mittlerweile kommst du doch
offensichtlich ganz gut damit zurecht.

Wie schon von anderen gesagt: die MPA ist nicht fuer Anfaenger gemacht und
gedacht und sinnvoll. Dafuer gibt es die Ebenen. Und die wuerde ich nicht
entwerten wollen.

-----------------------------------------------------------------------------



MG-Layer? (Bambi, 10. Sep 2011, 12:35:34):
Hi.

Wie wird das mit den Avatar-Bildern fuer Mesiriis Client aktuell gemacht? Muss
der Client das aus "finger" parsen?

Ich faende es interessant, wenn es eine optional anschaltbare ueber dem
Telnet-Protokoll liegende Schicht gibt, die (zum Beispiel mit XML) die Daten
bestimmter Kommandos strukturiert wiedergibt. Alles was vom MUD unstrukturiert
wiedergegeben wird, wird als "plain telnet" markiert. Alles, was strukturiert
geschickt wird, in einer bestimmten Notation verpackt.
Dann koennte man das neue Protokoll nach und nach zum Beispiel um teile mit,
sag, etc. erweitern.

Bambi

-----------------------------------------------------------------------------



Re^50: Vorschlag (Durloth, 10. Sep 2011, 14:08:49):
~#! rn=Maharet rt=1315639449 rg=entwicklung
~#! tid=1315227816
Ich komm schon mit der MPA klar. Nur ist ein Klarkommen nun auch kein Argument
dafuer, etwas nicht zu verbessern. Wenn es eine Moeglichkeit gibt, eine Sache
auch auf einfachere Art und Weise zu erledigen, waehlt man doch viel eher
diesen Weg bzw strebt, wie vielleicht hier, einen solchen unter Umstaenden an,
wenn ein Bedarf besteht und der Aufwand in einem angemessenen Verhaeltnis zum
Nutzen steht. Und da kann die Diskussion ansetzen. Bis jetzt scheinen ja nur
Sparkle (auch wenn es bei ihm eher um ein Forum ging) und ich ueberhaupt einen
Bedarf zu sehen. Aber vielleicht melden sich andere auch einfach nicht, weil
sie mit der MPA in jetziger Form gar nicht klarkommen. ^^ Ob ueberhaupt
soetwas moeglich ist, wurde auch noch nicht gesagt. Ich bin kein Programmierer
und hab davon keine Peilung. Aber immerhin funktioniert der Informationsweg
MPA->Webseite, also denke ich mal, dass der umgekehrte auch irgendwie
realisierbar ist. Bleibt der Aufwand, den ich ebensowenig einzuschaetzen
vermag. Dein Argument, dass sich dann weniger Spieler ueberhaupt einloggen
wuerden, halte ich fuer verfehlt, denn wer spielen, sich mit anderen
unterhalten oder die Morgengrauenatmosphaere genieszen moechte, kommt auch so
ins Mud. Und fuer diejenigen seltenen Faelle, die ausschliesslich im MG sind,
um in der MPA zu schreiben, ist es doch egal, von wo aus sie dies tun, da sie
in dem Moment mit dem eigentlichen Spiel auch gar nix am Hut haben. Und warum
soll die MPA nicht (auch) fuer Anfaenger gemacht sein? Ist es nicht gewollt,
dass diese ihre Meinung kundtun? Unverstaendnis. Aber vielleicht definieren
wir den Begriff auch einfach unterschiedlich. Mir geht es auszerdem auch nicht
darum, dass Anfaenger ihre Fragen in der MPA stellen sollen, sondern, dass sie
am sozialen Spielerleben teilnehmen koennen, und dazu gehoert auch die
Moeglichkeit, in der MPA mitzudiskutieren. Man sollte halt bedenken, dass
potentielle Neuzugaenge soetwas wie den MG-Editor ueberhaupt nicht gewohnt
sind und dieser erst einmal abschreckend wirkt, was zur Folge haben ko
ennte, dass von dieser Kommunikationsmoeglichkeit einfach Abstand genommen
wird. Eine Frage des Bedarfs...
Und ich geb mal noch ein Argument fuer das Webseiten-MPA-Schreiben. Man hat
nicht immer seinen eigenen Rechner zur Hand und ist auch mal bei Freunden,
Verwandten oder im Internetcafe eingeloggt und hat da nicht seinen Client
dabei, liest aber ueber die Webseite die MPA und moechte gerne was dazu
schreiben... Und jetzt bitte nicht mit Telnet kommen. ^^ 

Und ahja... es liegt dann wohl tatsaechlich an meinem Client, dass der die
Leerzeilen bei Copy and Paste frisst...

-----------------------------------------------------------------------------



Re^51: Vorschlag (Mirimadel, 10. Sep 2011, 15:43:35):
~#! rn=Durloth rt=1315656529 rg=entwicklung
~#! tid=1315227816
Halloechen,

eine Rubrik fuer Anfaenger in der MPA und eine Erklaerung zur Bedienung wuerde
ich klasse finden.
Anfaenger muessen auch zu Wort kommen und gehoert werden, sonst sind 
sie wieder weg.
Die meisten die hier anfangen hoeren bald wieder auf und dies 
hat Gruende.
Die Ebenen sind da und koennen auch genutzt werden, doch wie oft kommt keine
Antwort.
Am Editor Veraenderungen vorzunehmen, ist gut nur habe ich keine Ahnung wie
hoch der Aufwand ist.
Miri

-----------------------------------------------------------------------------



Re^51: Vorschlag (Mesirii, 10. Sep 2011, 15:48:05):
~#! rn=Durloth rt=1315656529 rg=entwicklung
~#! tid=1315227816
Ich denke in ein paar Wochen ist der Web-Client soweit, dass er dafuer genutzt
werden kann. Mir schwebt auch ein extra Editor fuer
Artikel/Mails/Hausbeschreibungen vor, der die notwendigen Editor-Kommandos (.,
~q, etc) absetzen kann. Aus der einzeiligen Eingabezeile ein grosses Textfeld
bzw. einen Editor zu machen, ist kein Problem.

Da moechte ich doch gleich die Gelegenheit nutzen, um noch einmal um Feedback
zu bitten und fuer Leute die Ahnung von Javascript, HTML, CSS haben und um
deren Mithilfe. Alleine an sowas zu entwickeln ist nicht so motivierend und
ohne Feedback noch weniger.
Zur Zeit ist es aufgrund von Kommunikations-Problemen auf Chrome, Safari
beschraenkt, ich hatte schonmal Experimente fuer andere Browser gemacht, aber
die haben nicht so gut funktioniert. Muss ich nochmal ran.

Danke

Mesi

-----------------------------------------------------------------------------



Re^52: Vorschlag (Maharet, 10. Sep 2011, 15:48:07):
~#! rn=Mirimadel rt=1315662215 rg=entwicklung
~#! tid=1315227816
Eine Erklaerung zur Bedienung koennte man ja ins Tutorial einfuegen. Und es
gibt ja die Hilfeseite, die muesste auch von der Webpage aus aufrufbar sein.
Ob die MPA jetzt wirklich geeignet ist, typische Anfaengerfragen zu
beantworten, weiss ich nicht. Das stelle ich mir schwierig vor. Dafuer gibt es
die Cicerones.
Und ganz ohne Geduld laesst sich das MG nunmal nicht spielen. Wer keinerlei
Geduld hat, wuerde hier eh frueher oder spaeter an seine Grenzen kommen.

Im Uebrigen ist es mir wurscht, ob man die MPA auch "von draussen" beschreiben
kann. Ich wuerde da jetzt keine Front gegen bilden, weil ich irgendwelche
Grundprinzipien des Morgengrauenschen Wertesystems oder der Wahren Natur der
MPA verletzt saehe oder so. Zumal niemand von mir ernstlich verlangen kann,
dass ich das einbaue ;)

-----------------------------------------------------------------------------



Re^52: Vorschlag (Mesirii, 10. Sep 2011, 15:48:37):
~#! rn=Mesirii rt=1315662485 rg=entwicklung
~#! tid=1315227816
Achso hier ist die Adresse: http://server.mesirii.de/~mg/test.html

Mesi

-----------------------------------------------------------------------------



Re^53: Vorschlag (Mesirii, 10. Sep 2011, 15:51:35):
~#! rn=Maharet rt=1315662487 rg=entwicklung
~#! tid=1315227816
Ich dachte Du baust das jetzt am Wochenende gleich ein. Es gibt da schon nen 
Mechanismus zur Interaktion der mudlib mit der Website, da ein Auth-Modul
einzubauen sollte fuer eine Juristin doch ein Klacks sein.

Mesi

-----------------------------------------------------------------------------



Re^54: Vorschlag (Maharet, 10. Sep 2011, 15:57:00):
~#! rn=Mesirii rt=1315662695 rg=entwicklung
~#! tid=1315227816
Dafuer bin ich nicht zustaendig.

-----------------------------------------------------------------------------



Re: MG-Layer? (Zesstra, 10. Sep 2011, 22:22:56):
~#! rn=Bambi rt=1315650934 rg=entwicklung
~#! tid=1315650934
Bzgl. der Uebermittlung von "Meta-Informationen" an den Client sehe ich als
eine Vorrausetzung, dass wir diese Infos in der Mudlib erstmal verfuegbar
haben. Zur Zeit ist das eher nicht so. Ich hatte da vor laengerer Zeit
schonmal und vor einigen Wochen erneut im Magierkreis eine Diskussion
angestossen (Stichwort: ReceiveMessage), welche aber bislang eher verhaltenes
Echo erfahren hat.

Was die Ergaenzung zum Telnet-Protokoll angeht:
Ja, solche Ideen hatte ich durchaus auch schonmal. Es gibt sogar div.
vorgeschlagene Protokolle (z.B. auf mudstandards.org). Allerdings finde ich
sie alle nicht so wirklich gut geeignet fuer uns (Details bei Bedarf) und
selbst bei denen ist die Verbreitung in Clients nur maessig.
Als eine moegliche Idee zum Umgehen dieses Problems mit der (fehlenden)
Unterstuetzung eines "MG-Protokolls" durch die div. Mudclients hatte ich als
letztes einfach die Idee, Nachrichten vom Mud so zu taggen, dass man sie in
vielen Clients mit userdefinierbaren Triggern/Makros auswerten kann. Dann
waere man nicht immer auf die Zeit und Goodwill der Clientautoren angewiesen.

Zesstra

-----------------------------------------------------------------------------



Re: MG-Layer? (Mesirii, 11. Sep 2011, 09:46:53):
~#! rn=Bambi rt=1315650934 rg=entwicklung
~#! tid=1315650934
Aber bitte kein XML, "der Tod durch spitze Klammern". Lieber was simples, was
auch trigger-basierte Clients verarbeiten koennen. Die Leute von BatMud haben
ein inline-Protokoll, dass von ihrem eignene Client aktiviert wird und
zusaetzlich zum Text mitgeschickt wird (auf extra-Zeilen).
Deren Kram basiert auf ScapeFX und nutzt das SFXP protokoll. Siehe hier:
http://scapefx.com/wiki/index.php?title=SFXP Ist halt schade, dass es keinen
mud-uebergreifenden Standard gibt.
Aber soo schlimm sind trigger nun auch wieder nicht, wir haben 20 Jahre damit
gelebt mit TF und anderen Clients unsere Infos aus dem Text-Strom zu ziehen
und es ging ausreichend gut. Also ich wuerde den Aufwand fuer ein
zusaetzliches Protokoll erstmal nicht treiben wollen. Ich bau jetzt erstmal
den Client und wenn sich dann herausstellt, das manche Infos zu schlecht zu
parsen sind, dann kann man immer noch drueber nachdenken.

Mesi

-----------------------------------------------------------------------------



Re: Re: MG-Layer? (Bambi, 11. Sep 2011, 13:58:37):
~#! rn=Mesirii rt=1315727213 rg=entwicklung
~#! tid=1315650934
Die sfxp-Seite sieht ganz ok aus, geht aber nicht so weit, wie ich erwarten
wuerde. Den im Client ankommenden Text zu parsen finde ich suboptimal, da ich
den Client ja anpassen muesste, wenn sich die Textausgabe aendert. Wenn man
die Werte passend taggt/markiert, z.B. mit "hier kommt die Angabe fuer
Lebenspunkte", dann koennte es dem Client egal sein, wieviel und welcher
"plain text" rechts und links der Information steht.
Mit Nicht-XML habe ich kein Problem. Allerdings finde ich "der Tod durch
spitze Klammern" kein wirkliches Argument. Und XML kann auch TF sehr
wahrscheinlich parsen. Ich sage auch nicht, dass XML gut waere. Vielleicht ist
das im Datenstrom sogar eher schlecht zu parsen. Das kaeme wohl auf ein paar
Tests an, aber wie gesagt, ich kann auch mit anderen sinnvollen Loesungen
leben. Und ja, ich waere an sowas durchaus interessiert. Ich hab mir auch mal
einen eigenen Client geschrieben...

Bezug nehmend auf Zesstras Antwort: Dass die Daten vom MUD noch nicht erfasst
sind, sollte uns ja nicht daran hindern, das zu aendern. Das laesst sich
vermutlich sogar recht einfach nach und nach loesen. Fangen wir bei info und
finger an, dann rueber zu den Standard-Kampfmeldungen, den TMs und
Standardemotes. Alles was vom MUD nicht verstanden wird, kommt halt ohne
Markierung rueber. Damit muss der Client ja sowieso rechnen.

Bambi

-----------------------------------------------------------------------------



Re^3: MG-Layer? (Mesirii, 11. Sep 2011, 14:26:04):
~#! rn=Bambi rt=1315742317 rg=entwicklung
~#! tid=1315650934
Man kann das ja relativ einfach gestalten einfach separate Zeilen senden, die
mit einem Praefix versehen sind. In diesen ist die Information dann key-value
maessig fuer den Client vorhanden.
Die normalen infos kann man ja trotzdem noch senden. Fuer Inline-informationen
wuerde ich dann dafuer plaedieren, dass die client + text infos in der
formatierten Darstellung kommen, so dass sie direkt ausgewertet/formatiert
werden koennen.

Z.b.
{ kp: 34, max_kp: 58, vorsicht: 20, text: "Konzentration .... 34  (58)        
Vorsicht ......... 20"}
Fuer eine inline-Auszeichnung muesste man mehr Aufwand treiben, sowohl im Mud
als auch im Client.
Sowas hier:
Konzentration .... {kp:34, text:"34"}  ({max_kp:58,text:"58"})          
Vorsicht ......... {vorsicht:0, text:"mutig"}

Just my 2 cents
Mesi

-----------------------------------------------------------------------------



Re^3: MG-Layer? (Zesstra, 11. Sep 2011, 14:52:59):
~#! rn=Bambi rt=1315742317 rg=entwicklung
~#! tid=1315650934
Deswegen waere ich aj dran interessiert, die ReceiveMessage-API zu
finalisieren. moechte ich allerdings nicht alleine machen.

Zesstra

-----------------------------------------------------------------------------



Re^4: MG-Layer? (Gloinson, 11. Sep 2011, 14:58:50):
~#! rn=Mesirii rt=1315743964 rg=entwicklung
~#! tid=1315650934
Bitte nicht ueber die Art des Markup diskutieren. Die Markup-Stil-Debatte ist,
pardon, Rumgewichse, sobald man sich von Sprache X entfernt.


-----------------------------------------------------------------------------



Re^4: MG-Layer? (Bambi, 11. Sep 2011, 16:01:31):
~#! rn=Zesstra rt=1315745579 rg=entwicklung
~#! tid=1315650934
Ohne dass sich das nun anhoeren soll als wuerde ich mich freiwillig zu
irgendwas melden: Was genau waere denn zu tun?

-----------------------------------------------------------------------------



Re^53: Vorschlag (Zook, 12. Sep 2011, 09:02:31):
~#! rn=Mesirii rt=1315662517 rg=entwicklung
~#! tid=1315227816
Habe die letzten Artikel nicht so intensiv gelesen; aber koennte fuer ein
weiteres Release/Version des Webclients vielleicht ein "forumsaehnliche"
Schnittstelle zur MPA angedacht werden? So, dass man damit ggf. etwas 
leichter zurecht kommt als mit dem "nn"...?
Zook.

-----------------------------------------------------------------------------



Re: Re: MG-Layer? (Zook, 12. Sep 2011, 09:03:41):
~#! rn=Mesirii rt=1315727213 rg=entwicklung
~#! tid=1315650934
Ja, bloss keinen Tod durch spitze Klammern.
Zook.

-----------------------------------------------------------------------------



Re^54: Vorschlag (Mesirii, 12. Sep 2011, 09:37:57):
~#! rn=Zook rt=1315810951 rg=entwicklung
~#! tid=1315227816
Ja, darueber hab ich auch nachgedacht, auch mit einem editor zum verfassen.

Mesi

-----------------------------------------------------------------------------



Re^55: Vorschlag (Sparkle, 14. Sep 2011, 09:42:56):
~#! rn=Mesirii rt=1315813077 rg=entwicklung
~#! tid=1315227816
die entwicklung im bereich webclient erfuellt voll und ganz den zweck. so wie
das jetzt schon aussieht wird dann definitiv kein forum benoetigt.
ich konnte meinen sohn jetzt mal ueberzeugen, im MG anzufangen. ich kann, wenn
das interesse besteht, immer mal ein feedback geben, wo als wirklich blutiger
anfaenger probleme entstehen, oder wo aenderungen gewuenscht sind.
der erste punkt, den ich schon mal loswerden kann, betrifft das tutorial. ein
neuer spieler steht an seinem startpunkt, muss das tutorial manuell starten
und wird dann ins tutorial geportet.
vorschlag: das tutorial ist automatisch gestartet. der spieler faengt im
ersten raum des tutorials an. zweities koennen das tutorial ja nach wie vor
deaktivieren.
LG Sparkle

-----------------------------------------------------------------------------



Re^56: Vorschlag (Mesirii, 14. Sep 2011, 09:46:41):
~#! rn=Sparkle rt=1315986176 rg=entwicklung
~#! tid=1315227816
Feedback waer toll, danke. Mal schauen wie es Deinem Sohn hier gefaellt.

Mit dem Tutorial - das ist absicht. Ist auch in den meisten anderen Spielen /
Muds so.
Koennte man von den Fragen am Anfang abhaengig machen.

Mesi

-----------------------------------------------------------------------------



Re^57: Vorschlag (Asuka, 14. Sep 2011, 09:49:32):
~#! rn=Mesirii rt=1315986401 rg=entwicklung
~#! tid=1315227816
Spricht was dagegen, im Erstlogin bei Neuspielern eine Abfrage zu machen, ob
man das Tutorial direkt spielen will oder spaeter? Dann kann jeder bei
Charerstellung festlegen, ob er spielen will oder nicht.

Asuka

-----------------------------------------------------------------------------



Re^58: Vorschlag (Rumata, 14. Sep 2011, 09:54:56):
~#! rn=Asuka rt=1315986572 rg=entwicklung
~#! tid=1315227816
Eigentlich will man fuer neue Chars moeglichst wenig Fragen haben.
Das sind ja jetzt schon zu viele.
Rum**

-----------------------------------------------------------------------------



Re^59: Vorschlag (Mesirii, 14. Sep 2011, 09:56:06):
~#! rn=Rumata rt=1315986896 rg=entwicklung
~#! tid=1315227816
Daher wuerde ich es von der "hast du schon mal in einem mud gespielt"
abhaengig machen.
Mesi

-----------------------------------------------------------------------------



Re^60: Vorschlag (Sparkle, 14. Sep 2011, 09:56:48):
~#! rn=Mesirii rt=1315986966 rg=entwicklung
~#! tid=1315227816
ok, das freut mich. werde dann immer mal berichten. was ist die absicht fuer
das manuelle aktivieren ? was soll der anfaenger dadurch lernen ? eine frage
am ende der charaktererstellung koennte ich mir auch vorstellen: moechtest du
mit dem tutorial beginnen (empfohlen) ja/nein. LG Sparkle

-----------------------------------------------------------------------------



Re^61: Vorschlag (Ark, 14. Sep 2011, 10:04:36):
~#! rn=Sparkle rt=1315987008 rg=entwicklung
~#! tid=1315227816
Man kann viele xties haben/anlegen wollen, die nicht unbedingt das Tutorial
spielen wollen. Deshalb ist in jedem Startraum der Rassen, wenn man ihn
betritt, eine Abfrage drin, ob man das Tutorial spielen moechte. Geht auch
noch mit Level 100. Mir persoenlich adaequat geloest, teste es mal. Wenn man
es beim Einloggen mit nein beantwortet und auf sowas verzichtet, dann vergisst
ein Neuling das, insofern finde ich die momentane Loesung nicht schlecht ...
als Neuling laeuft man ja tendenziell nicht so weit vom Anfang weg, weil man
dort ja gerade viel Info erwartet.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^41: Vorschlag (Brewer, 14. Sep 2011, 10:25:15):
~#! rn=Vector rt=1315561573 rg=entwicklung
~#! tid=1315227816
Ich persoenlich fand einen Vorschlag gut:
Einen NPC, der Hinweise auf interessante Gebiete fuer Spieler gibt, abhaengig
von dessen Spielerstufe/Gildenstufe.
Oder eine Art Liste, aehnlich der Abenteuerliste in der AG.

Der Hintergrund ist folgender... wenn man sich nicht so gut auskennt und seine
bekannten Gebiete abgegrast hat, dann ist die Gefahr ziemlich hoch, dass man
das Interesse verliert (meine Meinung). Dem kann jeder Spieler entgegenwirken,
indem er auf der Ebene fragt oder (noch besser) auf eigene Faust loszieht und
sich neue Gebiete erschliesst.
Beim selbststaendigen Erkunden kommt es mit Sicherheit vor, dass der Spieler
dann auf Gebiete trifft mit zu starken Gegnern oder sich unsicher ist und
deswegen nicht in das ein oder andere interessante Gebiet traut.
Leicht vorsichtige Spieler, die nicht die noetige Geduld haben das MG zu
erkunden, bis sie auf ein zum Spielerlevel passenden Gebiet stossen, koennten
so leicht die Geduld verlieren und das Spiel verlassen, eh es richtig
losgegangen ist.
Hier setzt dann so eine Gebietsliste an: der Spieler sieht, es gibt 4-5
Gebiete fuer seine Stufe und erkundet davon welche. Ich finde da ist auch die
Motivation groesser, wenn man weiss es gibt da noch Gebiete fuer meine
aktuelle Stufe.. da werd ich doch neugierig :o)

Ich hoffe mal, ihr wisst in welche Richtung mein viel zu langer Beitrag gehen
soll: mit ueberschaubarem Aufwand eine Moeglichkeit zur laengerfristigen
Spielerbindung schaffen.

MfG Brewer

PS: Prinzipiell steht natuerlich die Frage, ob so eine "stufenorientierte"
Liste ueberhaupt existieren soll.

-----------------------------------------------------------------------------



Re^32: Vorschlag (Darklor, 14. Sep 2011, 20:28:15):
~#! rn=Zook rt=1315511229 rg=entwicklung
~#! tid=1315227816
Wie saehs denn mit einem NPC aus, der einem an Amfang begleitet und die
wichtigsten Fragen beantworten kann

Darklor

-----------------------------------------------------------------------------



Re^51: Vorschlag (Darklor, 14. Sep 2011, 21:01:39):
~#! rn=Durloth rt=1315656529 rg=entwicklung
~#! tid=1315227816
Koennte man denn nicht einen bequemeren Editor in den neuen Webclient
integrieren, der dann den Text beim absenden autmatisch auf Mudformat
umbricht?

Darklor

-----------------------------------------------------------------------------



Re^52: Vorschlag (Darklor, 14. Sep 2011, 21:04:03):
~#! rn=Mesirii rt=1315662485 rg=entwicklung
~#! tid=1315227816
Argh, haette vllt doch erstmal noch weiterlesen sollen, so 1 2 Artikel... ;)

Darklor

-----------------------------------------------------------------------------



Re^33: Vorschlag (Mesirii, 14. Sep 2011, 23:23:46):
~#! rn=Darklor rt=1316024895 rg=entwicklung
~#! tid=1315227816
Hmm keine schlechte Idee, ich faend toll, wenn das einer von Arks Wonnewichten
waere. Ausserdem ist Ark eh gewohnt NPC's mit massiv vielen Infos zu schreiben
*duck*

Mesi

-----------------------------------------------------------------------------



Re^52: Vorschlag (Mesirii, 14. Sep 2011, 23:25:46):
~#! rn=Darklor rt=1316026899 rg=entwicklung
~#! tid=1315227816
Na klar kann man das. Ein rudimentaerer Editor ist schon drin. Mit Mud-Format
ist das nur nicht so leicht getan. Entweder du machst, wie empfohlen richtige
Absaetze draus, dann musste Leerzeilen dazwischen haben. Oder du brichst jede
Zeile bei maximal 78 Zeichen um, Problem ist dann wie Du mit existierenden
Umbruechen umgehst. Oder Blocksatz wie bei Anatol *duck*.
Mesi

-----------------------------------------------------------------------------



Re^34: Vorschlag (Ark, 14. Sep 2011, 23:31:14):
~#! rn=Mesirii rt=1316035426 rg=entwicklung
~#! tid=1315227816
Noe, hab mir schon sowas ausgedacht, aber Wonnewichte bleiben in ihrem Wald
und nur seltsame reisen in die Welt hinaus und gehen dann verlustig. Ne, ein
anderer im Wald kann dazu was erzaehlen ... muss ich bei Gelegenheit mal
machen ... also keep watching for posts in d.anfaenger.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^35: Vorschlag (Mesirii, 14. Sep 2011, 23:31:54):
~#! rn=Ark rt=1316035874 rg=entwicklung
~#! tid=1315227816
Du bist unser Held!
Mesi

-----------------------------------------------------------------------------



Re^36: Vorschlag (Ark, 15. Sep 2011, 00:19:10):
~#! rn=Mesirii rt=1316035914 rg=entwicklung
~#! tid=1315227816
Der Held, was er verspricht.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Homepage (Sparkle, 22. Sep 2011, 11:55:47):
Ich moechte gerne hier mal ein paar Ideen zur Verbesserung der Homepage
mg.mud.de sammeln. Aber erstmal ein fettes Danke dafuer, dass die Seite
Neuigkeiten wieder aktualisiert wurde.
Auf der Startseite finde ich die Moeglichkeit, mich einzuloggen zu versteckt,
bzw. uneindeutig. Es steht auf der Seite: Wie komme ich ins Spiel. Dann der
Link auf eine kurze Einfuehrung. Darauf folgt "los per Telnet", dann
"Webbrowser-Telnet" und am Schluss "Verbindungsprogramme/Clients".
Wir duerfen nicht davon ausgehen, dass der heutige User mit Telnet etwas
anfangen kann. Fuer Anfaenger sollte auf der Startseite ausschliesslich ein
dicker "Jetzt Spielen" Button zu finden sein. (War ja auf der alten HP mal so
aehnlich). Darunter kann dann noch ein kleiner Link auf
Verbindungsalternativen sein.
Als Standartverbindung wuerde ich fuer "Jetzt Spielen" den Webbrowser Client
nehmen. Damit wird es fuer Neulinge deutlich uebersichtlicher.
LG Sparkle

-----------------------------------------------------------------------------



Re: Homepage (Zook, 22. Sep 2011, 11:59:08):
~#! rn=Sparkle rt=1316685347 rg=entwicklung
~#! tid=1316685347
Ich vermute, wenn der neue Client von Mesirii in eine Beta-Phas geht,
werden wir so einen Link auf der Homepage sehen.

Zook.

-----------------------------------------------------------------------------



Re: Re: Homepage (Sparkle, 22. Sep 2011, 12:01:06):
~#! rn=Zook rt=1316685548 rg=entwicklung
~#! tid=1316685347
Super, der Client sieht ja auch schon richtig gut aus.

-----------------------------------------------------------------------------



Re^3: Homepage (Mesirii, 22. Sep 2011, 14:03:15):
~#! rn=Sparkle rt=1316685666 rg=entwicklung
~#! tid=1316685347
Da waere mal zu ueberlegen, was unbedingt noch fehlt, bevor eine oeffentliche
Beta-Phase startet.

Mesi

-----------------------------------------------------------------------------



Re^4: Homepage (Zesstra, 22. Sep 2011, 20:27:15):
~#! rn=Mesirii rt=1316692995 rg=entwicklung
~#! tid=1316685347
Eigentlich nicht soviel. Also, abgesehen von den Dingen, die wir noch per Mail
austauschten, finde ich, dass man das Ding benutzen kann - es ist besser als
das alte Webtelnet und allemal besser als Windows-Telnet.
Insofern finde ich, dass man es dann auch verlinken sollte.

Zesstra

-----------------------------------------------------------------------------



Re^5: Homepage (Nedime, 22. Sep 2011, 22:40:48):
~#! rn=Zesstra rt=1316716035 rg=entwicklung
~#! tid=1316685347
Seh ich auch so. Es tut, im Gegensatz zum anderen Webtelnet (da steht gerade
immer too many connections. Es ist zum spielen durchaus brauchbar und schon
uebersichtlich. Waere es vor zwei Tagen schon dagewesen, haetten sich
vielleicht och ein paar mehr eingelogt ;)

Nedime

-----------------------------------------------------------------------------



Spielerreport (Dotz, 26. Sep 2011, 20:23:18):
Spielerreport und Teddyreport vertragen sich anscheinend nicht wirklich gut.
Hat man einen Teddy, so erzeugt das Kommando "report lp" fuer den
Spielerreport ein "Wie bitte?", weil der Teddy mit dieser Syntax nichts
anfangen kann.
Vermutlich wird sich das nach Ende/Reboot genau umkehren, d.h. man erreicht
mit "report" nur noch den Spielerreport, kann aber nicht mehr den Teddyreport
kontrollieren.

Vorschlag:
Ds Teddykommando wird in "teddyreport" umbenannt. (Passt auch eh besser zu
stabreport, tanjianreport & Co.)

-----------------------------------------------------------------------------



Re: Spielerreport (Zesstra, 26. Sep 2011, 20:26:32):
~#! rn=Dotz rt=1317061398 rg=entwicklung
~#! tid=1317061398
Naja, vor Ende/Reboot kennt Dein Spielerobjekt das Kommando gar nicht, das
kann folglich keinen Erfolg haben, egal ob mit oder ohne Teddy.
Allerdings ist richtig, die beiden vertragen sich in sofern nicht, als dass
Kommandos von Objekten im Inventar immer Prioritaet vor Kommandos im Spieler
selber haben. Soll heissen: will man den neuen report aus dem Spielerobjekt
verwenden, muss man zur zeit den Teddy ablegen.
Ich kann das Kommando im Teddy relativ problemlos aendern, ich hatte es nicht
gemacht, weil ich Nutzer des Teddys noch nicht beeintraechtigen wollte.

Zesstra

-----------------------------------------------------------------------------



Re: Re: Spielerreport (Zesstra, 26. Sep 2011, 20:32:31):
~#! rn=Zesstra rt=1317061592 rg=entwicklung
~#! tid=1317061398
Ich habe Dort Vorschlag umgesetzt, das Kommando im Teddy heisst jetzt
"teddyreport".

Zesstra

-----------------------------------------------------------------------------



Re: Re: Spielerreport (Dotz, 27. Sep 2011, 02:20:31):
~#! rn=Zesstra rt=1317061592 rg=entwicklung
~#! tid=1317061398
Hab mich mal testweise vergiften lassen und dann:

:entgifte
Du hast keine Vergiftung.
Du heilst Deine Vergiftung voellig.

Scheint so, als wenn die Report-Meldung VOR der entgifte-Meldung kommt.
Etwas verwirrend jedenfalls.

-----------------------------------------------------------------------------



Re^3: Spielerreport (Zesstra, 27. Sep 2011, 09:17:01):
~#! rn=Dotz rt=1317082831 rg=entwicklung
~#! tid=1317061398
Naja. Der Statusreport erfolgt bei einer Veraenderung des Giftstatus (oder LP,
KP, etc.). Das einzige, was man da machen kann, ist eine Zeitverzoegerung der
Meldungen einbauen. Allerdings kommt dann das Update immer erst ne Sekunde
spaeter, glaub nicht, dass das besser ist.

Zesstra

-----------------------------------------------------------------------------



Re^4: Spielerreport (Mesirii, 27. Sep 2011, 09:30:17):
~#! rn=Zesstra rt=1317107821 rg=entwicklung
~#! tid=1317061398
Hmm wie ist das bei den aktuellen reports (zaubi, teddy, chaos). Ich glaub die
laufen einfach im HB mit, oder? D.h. bei Anderung der Property muesste man nur
nen Wert (prop, neuer-wert) ablegen, der dann in HB gesammelt ausgegeben wird?
Mesi

-----------------------------------------------------------------------------



Re^5: Spielerreport (Zesstra, 27. Sep 2011, 09:33:21):
~#! rn=Mesirii rt=1317108617 rg=entwicklung
~#! tid=1317061398
Der Teddy gibt Statusupdates nur bei Veraenderung von LP/KP aus und gibt dann
gift und vorsicht in dem Moment immer mit aus. Das hat den Nachteil, dass
Veraenderung dort so lange nicht gemeldet werden, bis das naechste Mal eine
Veraenderung von LP/KP auftritt und ne Meldung kommt, in der ggf. 4
unveraenderte Dinge drinstehen.

Zesstra

-----------------------------------------------------------------------------



Re^6: Spielerreport (Durloth, 29. Sep 2011, 05:52:20):
~#! rn=Zesstra rt=1317108801 rg=entwicklung
~#! tid=1317061398
Ich habe mal den neuen Report mit einem kleinen Spieler getestet.

An und fuer sich kann ich es nur begruessen, dieses Feature bereits ab Level 1
zur Verfuegung zu stellen.

Allerdings sind die Anzeigen - sofern ich da jetzt nicht einfach nur zu bloed
war, das Ganze richtig einzustellen - sehr verwirrend, da sie nicht, wie vom
Teddy- oder einem anderen gildenspezifischen Report gewohnt, in einer einzigen
Zeile zusammengefasst werden, sondern jeweils fuer LP's und KP's einzeln dann
erscheinen, wenn diese absinken.

In einem Kampfscroll verliert man da viel zu schnell den Ueberblick. Sieht man
eben noch, dass man z.B. 170 Lebenspunkte hat, erschrickt man im naechsten
Moment, wenn man eine Zahl von 60 sieht, rennt panisch aus dem Raum, nur um
dann festzustellen, dass dieser Wert den Konzentrationspunkten galt.

Beim Teddyreport weiss man, dass die LP's links und die KP's rechts in der
Reportzeile angeordnet sind. Da genuegt ein schneller Blick in die jeweilige
Richtung auf die Zahl, ohne dass die Woerter 'Lebenspunkte' oder
'Konzentrationspunkte' ueberhaupt noch gelesen werden muessen.

Ausserdem erzeugt eine einzige Zeile auch weniger Scroll.

Auch wird die Vorsicht beim neuen Report irgendwie gar nicht (staendig) mit
angezeigt, sondern nur dann, wenn man sie gerade aendert. Eine
Aenderungsmeldung erscheint aber sowieso schon von jeher, so dass eine
zusaetzliche einmalige nicht von Noeten ist. Ist dann wieder nur mehr Scroll,
der dann so aussieht:

Vorsicht-Modus (30)
Vorsicht: 30

Gut, es gibt auch NPC's die einen die VS aendern, da mag das dann sinnvoll
sein, falls man dies im ganzen Scroll mitbekommt. Aber ich faende eine
staendige Anzeige sinnvoller, da man dann zur Ueberpruefung (Hab ich jetzt
noch die Vorsicht von vorhin von Monster x drin?) nicht extra in die Info
schauen muss.

Von mir aus kann das letztendlich auch alles so bleiben, wie es ist, wenn der
Teddyreport nicht, wie angekuendigt, geaendert oder ausgebaut wird. Den dann
bitte bitte bitte (*) so lassen, wie er ist!

(*) mit Zucker oben drauf


-----------------------------------------------------------------------------



Re^7: Spielerreport (Gloinson, 29. Sep 2011, 06:20:01):
~#! rn=Durloth rt=1317268340 rg=entwicklung
~#! tid=1317061398
Nur mal aus einem anderen MUD kurz kopiert:
> herzschlag an
Du beachtest Deinen Herzschlag wieder.
Herzschlag: Leben:170/247 (+170) Konzentration:230/230 (+230) Vorsicht: 50
  Du triffst den Tempelwaechter hart.
  Der Tempelwaechter trifft Dich mit einem staehlernen Wachschwert hart.
Herzschlag: Leben:161/247 ( -9) Konzentration:230/230  Vorsicht: 50

[...]
  Du triffst eine Marktfrau hart.
  Eine Marktfrau streift Dich mit ihren Haenden.
Herzschlag: Leben:154/247 ( -1) Konzentration:230/230  Vorsicht: 50
Die Marktfrau wirft ein verfaultes Ei auf Dich.
Herzschlag: Leben:153/247 ( -1) Konzentration:230/230  Vorsicht: 50
  Eine Marktfrau kratzt Dich mit ihren Haenden.
Herzschlag: Leben:150/247 ( -3) Konzentration:230/230  Vorsicht: 50
Die Marktfrau wirft eine Gurke auf Dich.
  Du triffst eine Marktfrau hart.


-----------------------------------------------------------------------------



Status-Report (Arathorn, 20. Nov 2011, 20:40:22):
Hallo zusammen,

nachdem vor einiger Zeit noch einmal die Diskussion ueber den neuen
Spieler-Report aufkam, moechte ich die Angelegenheit aufgreifen und auf die
vorgebrachten Kritikpunkte eingehen.

Offenbar haben wir uns mit der Annahme vertan, dass kaum noch jemand mit
ungetriggertem Report spiele; es ist aber doch so, dass etliche von Euch
zumindest gelegentlich auf Plain Telnet als Minimalstandard angewiesen sind,
oder gar nicht erst davon wegwollen, oder auch den Report grundsaetzlich
durchlaufen lassen, obwohl ein Trigger fuer Statuszeile & Co existiert.

Jedenfalls moechte ich Euch gerne die nach einiger Diskussion und Abwaegung
von Vor- und Nachteilen folgende von Seiten der Mudlib her realisierbare
Alternativ-Variante vorschlagen:

Der Report wird wie beim Teddyreport in zwei Zeilen aufgeteilt ausgegeben,
wobei die erste Zeile LP, KP und Gift meldet, die zweite Zeile Vorsicht
und Fluchtrichtung.
Bei Aenderungen wird nur die Zeile neu ausgegeben, in der diese Aenderung
stattfand (bei LP-Aenderung also Zeile 1, aber nicht Zeile 2), die
ausgegebene Zeile aber immer komplett.

Spieler, die die Erweiterungen der Reportfaehigkeit nicht freigeschaltet
haben, bekommen dementsprechend nur einen Teil der Informationen angezeigt.

Die nicht verfuegbaren Daten werden ausge-xxx-t, so dass der ausgegebene
Report-Text immer identisch ist, nur dass an Stelle der Zahlenwerte dann
"###" steht als Kennzeichen, dass dieser Wert nicht verfuegbar ist. Wo
Zahlenwerte ausgegeben werden, sind diese rechtsbuendig formatiert.

Wir haben uns zusaetzlich entschieden, die Ausgabe in der ersten Zeile
des Reports in einer Kurzform darzustellen, da ja an sich ohnehin jeder
die Bedeutung kennt, und man irgendwann den genauen Text, der da steht,
ohnehin nicht mehr wirklich wahrnimmt.

Noch kurz einige Beispiele, wie das dann in der Praxis aussehen koennte:

1) Spieler hat nur LP- und Giftreport, LP aendern sich zB von 164 auf 64,
   nur die erste Zeile des Reports wird ausgegeben:

LP:  64, KP: ###, Gift: leicht

2) Seher mit Fluchtrichtung hat Vorsichtsreport und aendert die FR,
   nur die zweite Zeile des Reports wird ausgegeben:

> fluchtrichtung norden
Vorsicht: 120, FR: norden
Ok, Fluchtrichtung "norden".

Wenn nun ein Gegner diese Einstellung im Kampf aendert, wird nur diese
Zeile ausgegeben. Der Text "Vorsicht" ist absichtlich nicht als "VS"
abgekuerzt, um die Zeilen auch im Scroll besser unterscheidbar zu halten.

Ich denke, dass mit dieser Version alle Kritikpunkte beruecksichtigt wurden
und der Report auch fuer Telnet-Spieler gut nutzbar sein wird. Anmerkungen
und Hinweise zu dem Thema nehme ich aber natuerlich dennoch gerne entgegen
und leite sie zur Diskussion weiter.

Gruss, Arathorn

-----------------------------------------------------------------------------



Re: Status-Report (Zesstra, 21. Nov 2011, 21:28:21):
~#! rn=Arathorn rt=1321818022 rg=entwicklung
~#! tid=1321818022
Uebrigens ist nach dem naechsten Reboot geplant, den Report (und langfristig 
weitere Daten) ausserhalb des normalen Textstroms an den Client zu
uebertragen, sofern dieser das unterstuetzt und anfordert.
In dieser Form werden die Daten dann vom Client verarbeitet und clientseitigen
Scripten bereitgestellt und von vorherein (auch ohne irgendwelche Trigger)
nicht angezeigt. In dem Fall kann sich das jeder auch so anzeigen lassen, wie
er gerne lustig ist.

Zesstra

-----------------------------------------------------------------------------



Re: Re: Status-Report (Amynthor, 22. Nov 2011, 13:49:04):
~#! rn=Zesstra rt=1321907301 rg=entwicklung
~#! tid=1321818022
Das halte ich nicht fuer den optimalen Ansatz, da es ja noch wesentlich mehr
Informationen gibt, mit denen der Client den Text besser darstellen koennte:
wo der Prompt beginnt und aufhoert (damit er Zitatzeichen nicht
faelschlicherweise fuer den Prompt haelt), wo Ebenenmeldungen anfangen und
aufhoeren (damit er z.B. schmarrn-Artikel nicht fuer Ebenenmeldungen haelt)
und allgemein, wo die Antwort zu einem Befehl beginnt und aufhoert (um diese
Art von Problemen prinzipiell zu vermeiden).

Besser faende ich spezielle Codes (fuer Clients, die das unterstuetzen), die
die verschiedenen Arten der Ausgabe einleiten und beenden und eine Nummer
enthalten, die angibt, um was fuer eine Art von Ausgabe es sich handelt:

* Prompt
* Status
* Antwort auf einen Befehl
(damit ist automatisch alles andere eine Ausgabe zwischen zwei Befehlen, also
eine Aktion eines anderen Spielers, Kampfscroll oder aehnliches)

Innerhalb dieser Bloecke:
* Kampfscroll
* Kommunikationsbefehle (sag, teile mit, team rufe, ...)
* Ebenenmeldung
* Raumbeschreibung (Markierung sinnvoll fuer Mapper)

Es gibt sicher noch mehr sinnvolle Kategorien, das sind nur die, die mir
gerade eingefallen sind. ;)

Amynthor


-----------------------------------------------------------------------------



Re^3: Status-Report (Zesstra, 22. Nov 2011, 13:54:03):
~#! rn=Amynthor rt=1321966144 rg=entwicklung
~#! tid=1321818022
Und das beschriebene hat rein gar nix damit zu tun, worum es im Thread ging.
Aber danke fuer die Aufmerksamkeit.

Zesstra

-----------------------------------------------------------------------------



Re^3: Status-Report (Gloinson, 22. Nov 2011, 14:01:42):
~#! rn=Amynthor rt=1321966144 rg=entwicklung
~#! tid=1321818022
Zesstra schrieb:
> Uebrigens ist nach dem naechsten Reboot geplant, den Report (und
> langfristig weitere Daten) ausserhalb des normalen Textstroms an den
> Client zu uebertragen ...

Amynthor schrieb:
> Besser faende ich spezielle Codes (fuer Clients, die das unterstuetzen),
> die die verschiedenen Arten der Ausgabe einleiten und beenden

Zesstra ist nicht technisch geworden, aber hat letztlich etwas beschrieben,
was deine Wuensche erfuellt: etwas ausserhalb des normalen Textstroms,
[was fuer Client codiert ist].


-----------------------------------------------------------------------------



Re^4: Status-Report (Amynthor, 22. Nov 2011, 14:03:26):
~#! rn=Gloinson rt=1321966902 rg=entwicklung
~#! tid=1321818022
Naja, wenn man verschiedene Arten von Ausgaben technisch unterscheiden
moechte, kann man auch gleich Naegel mit Koepfen machen.  Oder zumindest das
Verfahren so waehlen, dass es sich in Zukunft ohne groesseren Aerger
entsprechend erweitern laesst.

Amynthor


-----------------------------------------------------------------------------



Re^5: Status-Report (Gloinson, 22. Nov 2011, 14:07:53):
~#! rn=Amynthor rt=1321967006 rg=entwicklung
~#! tid=1321818022
Dann red doch mal mit Zesstra und den Driver-Leuten direkt darueber und
disktuier, ob die geplanten Verfahren kompatibel sind. Teilweise wird und
wurde das auch auf -m diskutiert (Kontext: Xtian, Mud-Standards).


-----------------------------------------------------------------------------



Re^6: Status-Report (Zesstra, 22. Nov 2011, 14:17:47):
~#! rn=Gloinson rt=1321967273 rg=entwicklung
~#! tid=1321818022
Letztendlich sind es einfach zwei voellig verschiedene Dinge. Protokolle wie
GMCP (und ueber das geht es hier erstmal) stellen Daten so bereit, dass der
Client sie nicht aus der normalen Textausgabe rausparsen muss. Protokolle wie
MXP sind Markup-Protokolle um verschiedene Ausgaben zu taggen.
Aber damit ist fuer mich fuer diesen Thread EOT. Wer da Details diskutieren
will, darf gerne einen neuen in diskussion aufmachen.

Zesstra

-----------------------------------------------------------------------------



Re: Re: keepalive? (Zaphob, 11. Mai 2012, 20:36:58):
~#! rn=Zesstra rt=1336758943 rg=allgemeines
~#! tid=1336666272
Danke Zesstra. Habe jetz den Effekt in mehreren Clients beobachtet, wenn auch
immer bisschen anders. Jedenfalls wird mir anscheinend alle 30sec irgendwas
von Mud geschickt.
Hab auch mal Wireshark angeworfen, obwohl ich mich damit kaum auskenne, und
konnte schon was Spannendes mitschneiden. Jetzt versuche ich, den Hexdump zu
speichern, damit das nachvollzogen werden kann.
Siehe hier: http://piratenpad.de/p/telnetlog

-----------------------------------------------------------------------------



Re^3: keepalive? (Zesstra, 11. Mai 2012, 21:18:29):
~#! rn=Zaphob rt=1336761418 rg=entwicklung
~#! tid=1336666272
Das verursachende Objekt war der Kratzer von Rumata, der vor dem
mudlibseitigen Keepalive getestet wurde. Es ist etwas erstaunlich, dass diese
Sequenz angezeigt wird (sollte sie nicht), aber der Kratzer ist erstmal
deaktiviert. Wer den benutzte, sollte mal auf das 'keepalive' ausweichen.
Aber schoen, dass das Raetsel aufgeklaert werden konnte.

Zesstra

-----------------------------------------------------------------------------



faq (Zaphob,  4. Jun 2012, 00:38:52):
Hallo, mir ist zufaellig aufgefallen, dass "hilfe faq" von 2001 ist und als
bequemsten Zugang zur FAQ eine FTP Erklaerung oder eine Mailantwort anbietet.
Dabei gibt es bspw. im Spiel eine FAQ, die beim Orklager herumliegt, oder wie
waere es mit dem www? http://mg.mud.de/hilfe/faq/faq.shtml zeigt eine Version
von 2005, immerhin. Vielleicht gibt es auch noch eine Neuere, wer weiss? Waer
super, wenn die Hilfe aktualisiert wuerde.
Gruesse, Zap*

-----------------------------------------------------------------------------



Re: faq (Zaphob,  4. Jun 2012, 01:46:49):
~#! rn=Zaphob rt=1338763132 rg=entwicklung
~#! tid=1338763132
Die neuste Version im genannten FTP ist anscheinend von 1999.

-----------------------------------------------------------------------------



ersetzungsanzeige (Zaphob, 16. Jun 2012, 22:09:41):
Laut der Hilfe zu ersetzungsanzeige gilt:
Level 0: Nichts anzeigen
Level 1: Nur History-Ersetzungen anzeigen
Level 2: History- und Alias-Ersetzungen anzeigen

Wenn ich allerdings ersetzungsanzeige 2 starte, erhalte ich:
> sag hallo
[sag hallo]
Du sagst: hallo
>

Dabei ist "sag" kein Alias. Statt dessen wird anscheinend bei jeglicher
Eingabe diese nochmal zurueck gegeben. Waere ja vielleicht ein Vorschlag fuer
Level 3. :) Bis dahin vermisse ich aber das "echte" Level 2.

-----------------------------------------------------------------------------



&1 (Zaphob, 16. Jun 2012, 22:12:43):
Wann immer ich &1 eingebe, erhalte ich einen Fehler im RZG.
history kaputt? &wort funktioniert weiterhin.

-----------------------------------------------------------------------------



Re: ersetzungsanzeige (Xutelius, 16. Jun 2012, 22:14:29):
~#! rn=Zaphob rt=1339877381 rg=entwicklung
~#! tid=1339877381
Wer lesen kann ist klar im Vorteil. In der Hilfeseite steht doch klar, dass es
sowohl Aliasse _als auch_ die normale History ausgibt. Und bei mir
funktioniert beides wunderbar.

Also auf Deutsch: hast du ein alias ki = kurzinfo und gibst ki ein, bekommst
du als ausgabe "[kurzinfo]". Hast du kein Alias auf ki, bekommst du als
ausgabe [ki] ... also, was soll hier bitte nicht funktionieren?

Xut*

-----------------------------------------------------------------------------



Re: &1 (Derin, 16. Jun 2012, 22:15:15):
~#! rn=Zaphob rt=1339877563 rg=entwicklung
~#! tid=1339877563
He!

Das war meiner!

SCNR,
Derin.

-----------------------------------------------------------------------------



Re: Re: ersetzungsanzeige (Zaphob, 16. Jun 2012, 22:39:41):
~#! rn=Xutelius rt=1339877669 rg=entwicklung
~#! tid=1339877381
Du hast natuerlich Recht. Wenn ich "ki" eingebe, erscheint "[kurzinfo]", da
das mein Alias ersetzt. Das funktioniert soweit einwandfrei!

Es passiert nur noch viel mehr als dieses dort Beschriebene. Es wird mir
tatsaechlich bei jeglichem Kommando meine Eingabe zurueckgegeben, auch wenn
ich gar kein Alias dafuer definiert habe.

> denk
[denk]
Du faengst an zu denken. Kleine Rauchwoelkchen steigen auf...

Wozu die Ersetzungsanzeige in diesem Fall? Es musste nichts ersetzt werden. Es
war kein Alias und erst Recht keine History beteiligt.

Naja, ist bestimmt ein kleinerer Fehler, den niemand jagen will, also dann
Hilfeseite anpassen: "Level 2 = Alle Eingaben werden nochmal zurueckgegeben,
damit man bspw. Aliase ueberpruefen kann"

Zap*
Bugreporter in Ausbildung

-----------------------------------------------------------------------------



Re^3: ersetzungsanzeige (Zaphob, 17. Jun 2012, 02:08:46):
~#! rn=Zaphob rt=1339879181 rg=entwicklung
~#! tid=1339877381
Ich muss mich korrigieren. Auch die "ki" Alias Ersetzung funktioniert nicht
so wie man es vermuten koennte:

> ki
[kurzinfo]
[kurzinfo]
Gesundheit: und so weiter

Es wird also zweimal "[kurzinfo]" zurueckgemeldet, vermutlich einmal mehr weil
es diesmal tatsaechlich ein alias ist, das auch korrekt ersetzt wurde. Aber
eben nicht nur.

-----------------------------------------------------------------------------



Re^4: ersetzungsanzeige (Derin, 17. Jun 2012, 15:37:59):
~#! rn=Zaphob rt=1339891726 rg=entwicklung
~#! tid=1339877381
Huhu,

fuer mich sieht das durchaus OK aus. Zur Erinnerung: Level 2 des Befehls
loest Dir Alias UND History auf. Wenn also ein Alias gefunden wurde, dann
wird die Aufloesung angezeigt. Wenn der Befehl zusaetzlich in der History
auftaucht (per default immer), dann wird die Aufloesung dafuer AUCH ange-
zeigt. Beide Anzeigen zusammen ergeben zwei Anzeige-Zeilen.

Zumindest ist das meine Interpretation des Output. Kann vielleicht jemand
was dazu sagen, der da mehr weiss?

Danke,
Derin.

-----------------------------------------------------------------------------



Re^5: ersetzungsanzeige (Zesstra,  2. Jul 2012, 23:32:02):
~#! rn=Derin rt=1339940279 rg=entwicklung
~#! tid=1339877381
Nach Code wird bei Ersetzungsanzeige 2 immer das Kommando angezeigt, welches
versucht wird auszufuehren. Auch wenn es identisch mit der Eingabe sein
sollte.
Ich vermute, dass das das Absicht war/ist und die Doku da nicht so ganz
richtig ist. Aber ich weiss es auch nicht definitiv.

Zesstra

-----------------------------------------------------------------------------



Geruechte, Geruechte... (Humni, 24. Jul 2012, 19:58:46):
Huhu ihr,

mir ist zu Ohren gekommen (woher auch immer), dass einige Spieler glauben, es
sei gerade eine umfangreiche oder sonstige Abwertung der Dunkelelfen geplant.

Es kann IMMER mal sein, dass Anpassungen noetig sind, und was ich nun
verkuende ist kein Freibrief fuer die Ewigkeit, aber ich sag das trotzdem mal:

Derzeit plane ich keine Abwertung der Dunkelelfen. Auch von anderer Seite ist
mir nichts diesbezuegliches bekannt.

Wie gesagt, wenn ich morgen auf einmal sehe "weia, hilfe, geht nicht!" dann
aendere ich Dinge. Aber wie gesagt, geplant ist nichts.

Humni

-----------------------------------------------------------------------------



Re: Geruechte, Geruechte... (Amaryllis, 24. Jul 2012, 21:09:17):
~#! rn=Humni rt=1343152726 rg=entwicklung
~#! tid=1343152726
Ich kann das nur unterschreiben.

Ama*

-----------------------------------------------------------------------------



Re: Gastzugaenge temporaer deaktiviert (Anatol, 12. Aug 2012, 08:26:11):
~#! rn=Arathorn rt=1344735974 rg=bekanntmachungen
~#! tid=1344735974
Waere es in diesem Kontext nicht prinzipiell geschickter, die Intermud-
Kanaele fuer Gaeste und Stufe-1-Charaktere read_only zu gestalten? (*)

Anatol

(*) Jaja, wenn <Mud_Deiner_Wahl> down ist und Du hier mit nem Stufe 1
Charakter rumhaengst und ueber alle Welten fragen willst, wann das
<Mud_Deiner_Wahl> wieder da ist.... queste. ;-)


-----------------------------------------------------------------------------



Re: Re: Gastzugaenge temporaer deaktiviert (Arathorn, 12. Aug 2012, 13:27:12):
~#! rn=Anatol rt=1344752771 rg=entwicklung
~#! tid=1344735974
Ja, die Nebenwirkungen von read-only-Intermud sind mir auch klar. Die
Alternative waere nur, dass man mit der Spammerei ggf. leben muss und die
Anfaelle von den Typen einfach aussitzen, was leider beliebig laestig werden
kann.

Arathorn.

-----------------------------------------------------------------------------



Re^3: Gastzugaenge temporaer deaktiviert (Bambi, 12. Aug 2012, 14:22:33):
~#! rn=Arathorn rt=1344770832 rg=entwicklung
~#! tid=1344735974
Kriegt dieser Spammer es hin, beliebig schnell seine IP zu aendern?

-----------------------------------------------------------------------------



Re^4: Gastzugaenge temporaer deaktiviert (Gnome, 12. Aug 2012, 14:52:45):
~#! rn=Bambi rt=1344774153 rg=entwicklung
~#! tid=1344735974
Eben. Was spricht gegen temporaere IP-(Klassen-)Sperrung?

-----------------------------------------------------------------------------



Re^5: Gastzugaenge temporaer deaktiviert (Derin, 12. Aug 2012, 15:00:03):
~#! rn=Gnome rt=1344775965 rg=entwicklung
~#! tid=1344735974
Huhu,

das hatten wir schon. Der loggt ueber beliebig wechselnde offene Proxies,
VPN-Server und Anon-Server ein. Gibt ja genug davon. Fragt mal Arathorn,
der hat noch ganz wunde Finger vom haendischen Blacklisten.

Das ist nicht praktikabel, kann ja nicht staendig ein Magier da sein, der
den banisht.

LG,
Derin.

-----------------------------------------------------------------------------



Re^6: Gastzugaenge temporaer deaktiviert (Bambi, 12. Aug 2012, 21:53:50):
~#! rn=Derin rt=1344776403 rg=entwicklung
~#! tid=1344735974
Ich denke, eine praktikable Loesung koennte sein, wenn man die Spieler in zwei
Gruppen einteilt: Diejenigen, die unbeschrankt sind (z.B. ab Level 5 oder
Level 10 oder ...) und diejenigen, die beschraenkt werden, sobald zuviel
Geschnatter beginnt. Vielleicht kann man ja Sehern noch die Option geben, den
"Schnatter-Filter" anzuwerfen (mit Angabe des Grundes z.B.) - dann muss
nichtmal ein Magier da sein.

-----------------------------------------------------------------------------



Re^7: Gastzugaenge temporaer deaktiviert (Amaryllis, 12. Aug 2012, 21:57:24):
~#! rn=Bambi rt=1344801230 rg=entwicklung
~#! tid=1344735974
Wuerde bei unserem Nazi-Spammer nichts bringen, weil der nur ab und an mal
seine Parolen abwirft...

Ama*

-----------------------------------------------------------------------------



Re^8: Gastzugaenge temporaer deaktiviert (Bambi, 12. Aug 2012, 22:00:45):
~#! rn=Amaryllis rt=1344801444 rg=entwicklung
~#! tid=1344735974
Zwingende Angabe einer E-Mail-Adresse mit opt-in? Vielleicht schreckt das ab.

-----------------------------------------------------------------------------



Re^9: Gastzugaenge temporaer deaktiviert (Rumata, 12. Aug 2012, 23:09:07):
~#! rn=Bambi rt=1344801645 rg=entwicklung
~#! tid=1344735974
Wegwerf-EMails sind doch leicht zu beschaffen.
Rum**

-----------------------------------------------------------------------------



Re^10: Gastzugaenge temporaer deaktiviert (Anatol, 13. Aug 2012, 08:24:54):
~#! rn=Rumata rt=1344805747 rg=entwicklung
~#! tid=1344735974
Um das Aussenbild etwas zu schuetzen reicht fuer D-Chat und Intermud eine
"2" in einer bestimmten Spalte der channeld.init. Ich hatte zwar auch
schon Gaeste ein Stueck weit hochgespielt, aber das ist, gemessen daran,
dass jeder Spieler mit TF ziemlich fix und unkompliziert mal eben alle
Gaeste ausloggen kann, der Muehen natuerlich nicht wert.

Im Innenbild greift auch, dass jeder TF-Nutzer die Gaeste aus dem Spiel
druecken kann. Kollateralschaden allerdings inclusive: Es erwischt ggf.
alle Gaeste, nicht nur einen. Das ist natuerlich keine schoene Loesung,
aber es ist ein funktionierender Notnagel.

Bleibt die Moeglichkeit, dass sich unser Gast einen Charakter anlegt
und von den Gastregeln dann ausgenommen ist. Fraglich, wie oft er sich
die Muehe macht, einen Charakter auf Stufe 2 zu spielen, um Intermud
zu trollen. Nach innen gerichtet duerfte es kaum opportun sein, den
Anfaengerspielern die Kanaele zu sperren. 

Anatol selbst lernte die Kanaele erst mit Stufe 10 kennen. Allerdings 
war zu meiner "Spieler"-Zeit die Mudbevoelkerung groesstenteils un-idle
und zaehlte gefuehlt nur Sonntag morgens um 6 weniger als 10 aktive 
Personen.

Hier ist moeglicherweise der Email-Ansatz doch nicht so falsch. Nicht, 
weil nicht jeder fix 123151 Wegwerf-Adressen erzeugen kann - sogar mit
der serioes anmutenden Domain t-..line.de - sondern weil es den Aufwand
etwas erhoeht. Spieler abschrecken wird es nicht, die zwei, die sich
pro Jahr hier her verirren, nehmen das sicher auf sich. ;-)

Oder ein magierseitiges temporaeres "wird von allen ignoriert"-Flag.
Gibt permutate_string() "" zurueck, kommt die Nachricht nicht zustande,
was ein guter Anfang waere - das merkt der Betroffene allerdings recht
fix (zumindest was die Kanaele angeht).

Anatol

-----------------------------------------------------------------------------



Re^11: Gastzugaenge temporaer deaktiviert (Brum, 13. Aug 2012, 10:11:13):
~#! rn=Anatol rt=1344839094 rg=entwicklung
~#! tid=1344735974
Zwingende Angabe von E-Mail schreckt ab. Richtige E-Mail-Adressen haben einen
finanziellen Wert. Helfen kann ein Vertrag, der den Umgang mit den Adressen
regelt und eine Versicherung die im Missbrauchsfall einsteigt.
Testet man die Adressen nicht ab, kann ich schnell Adressen eingeben die nicht
angemeldet sind.
LG Brum

-----------------------------------------------------------------------------



Re^12: Gastzugaenge temporaer deaktiviert (Gnome, 13. Aug 2012, 10:23:15):
~#! rn=Brum rt=1344845473 rg=entwicklung
~#! tid=1344735974
Zudem lassen sich ja die 20 gebraeuchlichsten Wegwerf-e-mail-domains
rel. unkompliziert herausfiltern.

-----------------------------------------------------------------------------



Re^13: Gastzugaenge temporaer deaktiviert (Rumata, 13. Aug 2012, 10:24:15):
~#! rn=Gnome rt=1344846195 rg=entwicklung
~#! tid=1344735974
Wie zum Beispiel gmx?

-----------------------------------------------------------------------------



Re^14: Gastzugaenge temporaer deaktiviert (Gnome, 13. Aug 2012, 10:26:01):
~#! rn=Rumata rt=1344846255 rg=entwicklung
~#! tid=1344735974
Bei den "normalen" e-mail-Anbietern muss man, um eine gueltige e-mail zu
erhalten, zumindest einen Aufwand betreiben, der um einiges groesser ist
als "Hier klicken um Ihre Wegwerf-e-mail zu erhalten."

-----------------------------------------------------------------------------



Re^15: Gastzugaenge temporaer deaktiviert (Rumata, 13. Aug 2012, 10:28:53):
~#! rn=Gnome rt=1344846361 rg=entwicklung
~#! tid=1344735974
Also bei gmx lege ich eine email auch mit wenigen mausklicks an.
Der Unterscheid ist dort lediglich, dass man *theoretisch* von denen
erfahren kann, welcher gmx account dahinter zu einem bestimmten Zeitpunkt
stand.

Will nur sagen eMail-Zwang ist ein armsrace, das wir nur verlieren
koennen.

-----------------------------------------------------------------------------



Re^16: Gastzugaenge temporaer deaktiviert (Gnome, 13. Aug 2012, 10:32:04):
~#! rn=Rumata rt=1344846533 rg=entwicklung
~#! tid=1344735974
Nein, ich denke, e-mail-Zwang ist ein Schritt in die richtige Richtung,
um Trollen das Leben zu erschweren (verhindern kann man es eh kaum).
Und fuer alle anderen strahlt es einen Hauch Serioesitaet aus.

-----------------------------------------------------------------------------



Re^17: Gastzugaenge temporaer deaktiviert (Brum, 13. Aug 2012, 10:52:29):
~#! rn=Gnome rt=1344846724 rg=entwicklung
~#! tid=1344735974
E-Mailadressen-Zwang ist kein guter Schritt, er unterstreicht die Geldgier des
Betreibers. "Serioes" jeder Betreiber der den Datenschutz nicht regelt und
auch Schadensfall Absicherung anbietet, will nur schnelles Geld. So viel
Arbeit, man kann mit einer einfachen Schleife jemand aus dem MG druecken.
LG Brum

-----------------------------------------------------------------------------



Re^18: Gastzugaenge temporaer deaktiviert (Derin, 13. Aug 2012, 16:46:13):
~#! rn=Brum rt=1344847949 rg=entwicklung
~#! tid=1344735974
Huhu,

Emailzwang halt ich auch nicht fuer das Mittel der Wahl. Falls es nicht
alle mitbekommen haben: Heute nachmittag hat der Troll mit einem ganz
regulaeren Charakter eingeloggt (und mich angefluestert, was die Leute
hier eigentlich machen).
Mich schreckt EMail-Zwang regelmaessig ab, ich bekomme auch so schon mehr
als genug Spam.

HAND,
Derin.

-----------------------------------------------------------------------------



Re^18: Gastzugaenge temporaer deaktiviert (Humni, 13. Aug 2012, 16:51:18):
~#! rn=Brum rt=1344847949 rg=entwicklung
~#! tid=1344735974
(kein EM-Statement, persoenliche Meinung)

Ich bin gegen einen Mailzwang. Wir haben ohnehin wenig Spieler genug... da
muessen wir nicht anfangen, da noch Huerden einzubauen. Jeder soll hier
reinschnuppern koennen, so unkompliziert wie moeglich.

Ich wuerde vielleicht Spielern ab Level 5 oder 10 ... oder so.. die
Moeglichkeit geben, Spieler mit Level 1 und Gaesten temporaer den Kanalzugang
zu sperren. Dies wird geloggt und spaeter von Erzmagiern ueberprueft und darf
nur fuer solche Faelle genutzt werden.

Nur mal als Idee.

Humni

-----------------------------------------------------------------------------



Re^19: Gastzugaenge temporaer deaktiviert (Xutelius, 13. Aug 2012, 16:58:30):
~#! rn=Humni rt=1344869478 rg=entwicklung
~#! tid=1344735974
Aehm, ich kann mich irren, aber soweit ich mich erinner, ist es fuer
Neuspieler seit einigen Monaten sowieso Pflicht, eine Mailadresse anzugeben,
damit im Zweifelsfall ein neues Passwort verschickt werden kann.

Xut*

-----------------------------------------------------------------------------



Re^20: Gastzugaenge temporaer deaktiviert (Humni, 13. Aug 2012, 17:06:01):
~#! rn=Xutelius rt=1344869910 rg=entwicklung
~#! tid=1344735974
Oeh.. mag sein, aber ohne Opt-In, oder?

Humni

-----------------------------------------------------------------------------



Re^21: Gastzugaenge temporaer deaktiviert (Anatol, 14. Aug 2012, 07:28:03):
~#! rn=Humni rt=1344870361 rg=entwicklung
~#! tid=1344735974

Tja, dann gibt es nur noch eine Waffe: Die kollektive Nichtbeachtung.

Die Ignoriereliste ist weniger geeignet, immerhin kriegt er da eine
Art von Feedback. P_IGNORE_SILENT ist von der Implementierung mMn zu
aufwaendig, als dass man das einem Troll widmen sollte.

 /def ignore_tell = /def -agCblue -mregexp -t'^%1 teilt Dir mit : ' ignore_%1

Gibt bestimmt bessere Ansaetze, aber fuer jene, die sich mit echter
Gleichgueltigkeit schwer tun ein Anfang. ;-)


-----------------------------------------------------------------------------



Neuer Statusreport fuer Spieler (Arathorn, 21. Aug 2012, 01:10:20):
Hallo zusammen,

es gibt seit "gerade eben"[tm] einen neuen Statusreport fuer Spieler, der
im wesentlichen dem entspricht, was Ende letzten Jahres in der MPA 
diskutiert wurde. 

Fuer Details zu Funktionsweise und Ausgabeformaten wendet Euch bitte
vertrauensvoll an die Hilfeseite "hilfe report". Der Statusreport ist 
momentan bei neuen Spielern standardmaessig ausgeschaltet.

Die Aenderungen sind wie ueblich erst nach ende/reboot verfuegbar. Bitte
beachtet ausserdem, dass es aufgrund interner Umstellungen nach dem Wieder-
Einloggen nach "ende" zu inkonsistent erscheinenden Meldungen beim ersten
Einschalten des Reports kommen kann. In diesem Fall schaltet den Report bitte
noch einmal aus und wieder ein. Wenn danach immer noch etwas komisch ist,
meldet Euch bitte.

Viel Spass mit dem neuen Report wuenscht
Arathorn.

-----------------------------------------------------------------------------



Voreinstellung 'zeilen' (Zesstra, 22. Aug 2012, 19:53:15):
Ich habe die Voreinstellung von "zeilen" geaendert. Bei neuen Spielern wird
jetzt standardmaessig erstmal automatisch versucht, die Zeilenzahl vom Client
zu erfahren. Bislang musste man das explizit einschalten.
Wenn der Client da nichts meldet, ist es so als haette man "zeilen 0"
eingestellt.
Selbstverstaendlich kann man die Zeilenzahl jederzeit mit "zeilen" auf einen
gewuenschten Wert umstellen.

Dies loest das Problem, dass der Webclient (der keine Telnetnegs kann),
immer auf 20 Zeilen (bisheriger Default) festgelegt war.

Zesstra

-----------------------------------------------------------------------------



Re: Voreinstellung 'zeilen' (Shaeena, 23. Aug 2012, 11:59:41):
~#! rn=Zesstra rt=1345657995 rg=entwicklung
~#! tid=1345657995
Und dann tippt einer "hilfe" und wird erstmal vom Scroll erschlagen?
Erscheint mir keine so sinnvolle Einstellung, aber ich lasse mich gern vom
Gegenteil ueberzeugen.

Shaeena

-----------------------------------------------------------------------------



Re: Re: Voreinstellung 'zeilen' (Sparkle, 23. Aug 2012, 12:09:23):
~#! rn=Shaeena rt=1345715981 rg=entwicklung
~#! tid=1345657995
beim webclient wird das --mehr-- teilweise nicht angezeigt. da sind schon
viele neulinge verzweifelt, nachdem die auf ausruestung geclickt haben.
daher begruesse ich diese einstellung.

-----------------------------------------------------------------------------



Re^3: Voreinstellung 'zeilen' (Derin, 23. Aug 2012, 12:14:33):
~#! rn=Sparkle rt=1345716563 rg=entwicklung
~#! tid=1345657995
Huhu,

aber das klingt ja eher nach einem Defekt im Webclient. Waere es nicht eher
sinnvoll, den zu beheben, statt fuer alle anderen einen unguenstigen Default
zu setzen?

Just my 2p,
Derin.

-----------------------------------------------------------------------------



Re^4: Voreinstellung 'zeilen' (Sparkle, 23. Aug 2012, 12:19:55):
~#! rn=Derin rt=1345716873 rg=entwicklung
~#! tid=1345657995
ausruestung gibt 22 zeilen, dann sollte der default zumindest darueber liegen.
fand ich frueher auch immer sehr nervig, bis ich den zeilenbefehl entdeckt
hatte.
lg sparkle

-----------------------------------------------------------------------------



Re^4: Voreinstellung 'zeilen' (Zesstra, 26. Aug 2012, 23:56:26):
~#! rn=Derin rt=1345716873 rg=entwicklung
~#! tid=1345657995
Es waere schoener, wenn der Webclient die Zeilenzahl mit dem Mud aushandeln
wuerde, ja. Dummerweise laesst meine Kenntnis von node.js, JS & Co gerade
nicht zu, das da einzubauen.
Ich glaube aber, dass das 'zeilen 0' nicht so schlimm sein wird, weil alle mit
ordentlichem Mudclient werden das gar nicht erleben und die wenigen anderen,
die nicht per Webclient kommen, koennen das mit Sicherheit einstellen.

Zesstra

-----------------------------------------------------------------------------



Re^5: Voreinstellung 'zeilen' (Zesstra, 26. Aug 2012, 23:58:23):
~#! rn=Zesstra rt=1346018186 rg=entwicklung
~#! tid=1345657995
In diesem Zusammenhang: wenn jemand Ahnung, Zeit und Lust hat, waer das total
toll, wenn jemand am Webclient basteln wuerde. Das Projekt liegt auf github:
https://github.com/jexp/mg_client

Zesstra

-----------------------------------------------------------------------------



Re^6: Voreinstellung 'zeilen' (Bambi, 27. Aug 2012, 17:11:38):
~#! rn=Zesstra rt=1346018303 rg=entwicklung
~#! tid=1345657995
Mich wuerde es ja mehr reizen, meinen Client android-tauglich zu machen.

-----------------------------------------------------------------------------



"lese"-Kommandos (Zesstra,  7. Nov 2012, 23:43:50):
Huhu,

aufgrund einiger Umbauten des Lese-Kommandos kommt es bei diesen zur Zeit des
oefteren zu Fehlern im Raum-Zeit-Gefuege. Wenn diese auftauchen, bitte nicht
mehrfach direkt wieder versuchen, der Fehler wird geloggt und zeitnah gefixt.
Dafuer geht jetzt sowas wie "lies x in raum" und das "lese" beruecksichtigt
guckt jetzt auch zuerst nach einem lesbaren Detail an dem Gegenstand, den ihr
zuletzt untersucht habt.

Zesstra

-----------------------------------------------------------------------------



Nochmal zum Report (Arathorn,  9. Nov 2012, 21:55:23):
Hallo zusammen,

ich habe gerade eine weitere Reparatur am Standard-Report durchgefuehrt,
so dass jetzt an sich alle Merkwuerdigkeiten und Inkonsistenzen bei der
Ausgabe behoben sein sollten. Wer diese Uptime schonmal eingeloggt war,
bekommt den aktualisierten Report mittels "ende", alle anderen haben den
sofort. Bei weiteren unerklaerlichen Vorkommnissen im Zusammenhang mit dem
Report bitte melden.

Danke an Eljo fuers Bemerken und -scheidsagen.

Gruss, Arathorn.

-----------------------------------------------------------------------------



Re: Nochmal zum Report (Zesstra, 11. Nov 2012, 14:18:39):
~#! rn=Arathorn rt=1352494523 rg=entwicklung
~#! tid=1352494523
Huhu,

der report hat die spontane Selbstheilung bei Vergiftungen nicht berichtet.
Das lag nicht wirklich am Report, sondern an der Giftheilung, war aber
natuerlich trotzdem doof. Sollte fuer neue Spielerobjekte (ende/reboot)
behoben sein.

Zesstra

-----------------------------------------------------------------------------



Re: Re: Nochmal zum Report (Arathorn, 12. Nov 2012, 20:59:15):
~#! rn=Zesstra rt=1352639919 rg=entwicklung
~#! tid=1352494523
Und noch'n Gedicht. "report aus" schaltet jetzt immer auch den Vorsicht-
Report mit aus. Das war bisher nicht so, wenn der normale LP/KP-Report ab-
geschaltet war. 

Danke an Sator fuers Finden und Bescheidsagen.

Den aktualisierten Report gibt's wie immer mit "ende".

Gruss, Arathorn.

-----------------------------------------------------------------------------



Questliste... (Zesstra,  5. Dez 2012, 00:08:16):
Huhu,

wir planen, in absehbarer Zeit in der Questliste neben der Stufenangabe auch
eine Information darueber zu geben, welche Stufe die Leute so hatten, die die
Quest bisher gespielt haben. Ich hab heute als Vorbereitung die Questliste
etwas angepasst, falls sich jemand wundert, dass sie leicht anders aussieht.
Zur Zeit werden allerdings neben der Stufenangabe noch fuer alle ein "-"
angezeigt.


Zesstra

-----------------------------------------------------------------------------



Lesekommando: Finden von Objekten und Details (Zesstra,  8. Dez 2012, 19:16:49):
Huhu,

ich habe das Finden von passenden Objekten und Details beim "lese"-Kommando
verbessert.
In Zukunft sollte sich dieses Kommando wirklich so verhalten, wie man es
bereits von "untersuche", "taste", etc. kennt. Beispielsweise so Dinge wie
"lies widmung an buchstuetze in mir". Ausserdem wird das von "untersuche"
bekannte Bezugsobjekt genutzt.

Das funktioniert nach Ende/Reboot. 
Probleme im Bereich des Lesekommandos meldet bitte an mich - moeglichst mit
genauer Beschreibung, welcher Raum und welche Objekte beteiligt sind.
Alternativ koennt ihr sowas auch an Fehler an euch selber absetzen.

Zesstra

-----------------------------------------------------------------------------



Re: Questliste... (Bambi, 14. Dez 2012, 23:27:31):
~#! rn=Zesstra rt=1354662496 rg=entwicklung
~#! tid=1354662496
Ich haette da eine Frage zum Algorithmus: Werden da ungefiltert alle
Spielerstufen mit reingenommen, also auch die der Level 100+X-Spieler, die die
Quest einfach nur noch nicht hatten?

-----------------------------------------------------------------------------



Re: Re: Questliste... (Arathorn, 14. Dez 2012, 23:28:40):
~#! rn=Bambi rt=1355524051 rg=entwicklung
~#! tid=1354662496
:nickt.

-----------------------------------------------------------------------------



Mails bei bearbeiteten Fehlermeldungen von euch (Zesstra, 18. Jan 2013, 23:03:42):
Huhu,

wenn ihr einen Fehler (Typo, fehlendes Detail, Idee) absetzt und der
bearbeitende Magier diesen als gefixt markiert, bekommt ihr eine Mail. Manche
von euch kennen diese ja schon.
Ich habe vorhin die Mail an Spieler so umgebaut, dass der ganze technische
Krams, der vielen nicht wirklich was sagt, da nicht mehr drinnsteht.

(BTW: Wenn ihr keine Mail ueber das Loesen eines von euch abgesetzten Fehler
kriegt, dann heisst das nicht immer, dass er nicht geloest wurde. Manche
Magier loeschen Fehlereintrage nach Abschluss der Arbeiten - dann gibt es
keine Mail. Oder ihr wart laenger als 180 nicht mehr eingeloggt.)

Zesstra

-----------------------------------------------------------------------------



Forschen und der Bezugspunkt (Zesstra, 18. Jan 2013, 23:23:27):
Huhu,

mal noch nen Hinweis zum Thema untersuchen/tasten/lesen/riechen/lauschen etc.

Wie ihr vielleicht wisst, benutzt das Kommando "untersuche" oder "schau" einen
sogenannten Bezugspunkt (Bezugsobjekt) beim Untersuchen, d.h. das zuletzt
(erfolgreich) angeguckte Objekt ist der Bezugspunkt.

Beispiel 1:
> "unt schrank"
-> gibt es einen Schrank, wird der beschrieben _und_ er wird der neue
Bezugspunkt.
> "unt tuer"
-> Jetzt wird "tuer" am Bezugsobjekt "schrank" gesucht. Existiert das
   Detail, bleibt der Schrank auch weiterhin der Bezugspunkt. Existiert
   es nicht, wird ein Detail "tuer" oder ein Objekt "tuer" im Raum und
   dann in euch gesucht. Gibt es da sowas, wird es beschrieben und das
   neue Bezugsobjekt. Wenn alles fehlschlaegt, gibt es eine
   Fehlermeldung der Bezugspunkt geloescht. Beim naechsten "unt" wird
   zuerst im Raum und dann in euch gesucht.
(Es wuerde auch gehen: "unt tuer an schrank".)

Beispiel 2:
> "unt paket"
-> Das Paket wird beschrieben und der neue Bezugspunkt.
> "unt seil"
-> Die Fackel im paket wird beschrieben (sofern sie existiert) und der neue 
   Bezugspunkt.
> "unt wolle"
-> Das Detail "wolle" am Seil wird beschrieben. Die Fackel bleibt der
   Bezugspunkt.
(In diesem Beispiel koennte man die Wolle auch direkter untersuchen, indem
 man "unt wolle an seil in paket in mir" benutzt.)

Jetzt ist es so, dass die Standardbefehle "unt", "schau", "taste", "lausche",
"rieche" und "lies" alle das gleiche Bezugsobjekt haben. D.h. es geht sowas:
Beispiel 3:
> "unt rucksack"
-> Der Rucksack wird untersucht und der neue Bezugspunkt.
> "lies schild"
-> Hat der Rucksack ein lesbares Detail "schild", wird es ausgegeben. Der
   Rucksack bleibt der Bezugspunkt. Wenn nicht, wird ein lesbares Detail
   oder ein lesbarer Gegenstand "schild" im Raum und in euch gesucht.
(Es wuerde auch gehen: "lies schild an rucksack")


Hinweis: dies bezieht sich alles auf das Verhalten der Standardbefehle.
Kochen Magier hier ihre eigene Suppe, funktioniert das manchmal nicht so
wie beschrieben. In diesem Fall ruhig eine Fehlermeldung absetzen bzw.
bescheidsagen.

Zesstra

-----------------------------------------------------------------------------



Re: Forschen und der Bezugspunkt (Vanir, 19. Jan 2013, 11:04:30):
~#! rn=Zesstra rt=1358547807 rg=entwicklung
~#! tid=1358547807
Koennten die Beispiele bitte in die hilfe aufgenommen werden?
V.

-----------------------------------------------------------------------------



Re: Re: Forschen und der Bezugspunkt (Zesstra, 19. Jan 2013, 11:09:18):
~#! rn=Vanir rt=1358589870 rg=entwicklung
~#! tid=1358547807
Ja, hab ich mir gestern abend auch schon ueberlegt. Die Erlaeuterungen stehen
auf der Hilfeseite "bezugspunkt"/"bezugsobjekt" und die Hilfeseiten der
Forschkommandos verweisen drauf.

Zesstra

-----------------------------------------------------------------------------



Re: Forschen und der Bezugspunkt (Zook, 19. Jan 2013, 12:04:39):
~#! rn=Zesstra rt=1358547807 rg=entwicklung
~#! tid=1358547807
wieso bei "unt seil" eine Fackel beschrieben wird, habe ich 
nicht verstanden. :-)

zook

-----------------------------------------------------------------------------



Re: Re: Forschen und der Bezugspunkt (Zesstra, 19. Jan 2013, 12:06:05):
~#! rn=Zook rt=1358593479 rg=entwicklung
~#! tid=1358547807
Hmpf. Ja. Voellig richtig. Ich hatte erst ne Fackel benutzt bis mir auffiel,
dass die gar keine Details hat. Ok, also da ist natuerlich das Seil gemeint.
;-)

Zesstra

-----------------------------------------------------------------------------



Re^3: Forschen und der Bezugspunkt (Zook, 19. Jan 2013, 12:07:08):
~#! rn=Zesstra rt=1358593565 rg=entwicklung
~#! tid=1358547807
Ah gut, hatte ich das im Kopf schon richtig weiter gedacht.

Zook

-----------------------------------------------------------------------------



Telnet: keepalive, 'round-trip' Zeit, Kulissen... (Zesstra,  3. Feb 2013, 23:12:06):
Huhu,

es gab einige Neuerungen hinter den Kulissen im Bereich der sog. 'Telnet
Options'. Diese werden von euren Clients automatisch mit dem MUD ausgehandelt.
Wir verhalten uns da jetzt etwas standardkonformer. Vom groessten Teil der
Aenderungen solltet ihr gar nichts mitbekommen, aber zwei Dinge sind nicht nur
im Hintergrund:

1) Das Kommando 'keepalive' heisst jetzt 'telnet keepalive'.
2) Es gibt ein neues Kommando 'telnet rttime'. Dieses gibt euch die letzte
   gemessene 'round-trip' Zeit zwischen dem Mud und eurem Client an, das
   ist die Zeit, bis ein bestimmter Befehl vom Mud zu eurem Client und
   dessen Antwort zurueck zum Mud angekommen ist. (Manchmal nennt man das
   auch 'Ping'-Zeit.)
   Dieses funktioniert nur, wenn 'telnet keepalive' eingeschaltet ist und
   von eurem Client unterstuetzt wird.

Und das ganze nur fuer neue Spielerobjekte.
Wenn da jemand Bemerkungen/Kommentare zu hat: bitte melden.

Zesstra

-----------------------------------------------------------------------------



Re: Telnet: keepalive, 'round-trip' Zeit, Kulissen... (Zook,  3. Feb 2013, 23:35:06):
~#! rn=Zesstra rt=1359929526 rg=entwicklung
~#! tid=1359929526
Ist das der Grund, warum irgendwie mein Prompt im Telnet
ploetzlich oben weiterscrollt? Muss ich da was einstellen?

Zook

-----------------------------------------------------------------------------



Re: Telnet: keepalive, 'round-trip' Zeit, Kulissen... (Zook,  3. Feb 2013, 23:37:14):
~#! rn=Zesstra rt=1359929526 rg=entwicklung
~#! tid=1359929526
Und gibts da noch DOku zu? Oder bin ich grad zu doof/ungeduldig?

Zook

-----------------------------------------------------------------------------



Re: Re: Telnet: keepalive, 'round-trip' Zeit, Kulissen... (Zesstra,  3. Feb 2013, 23:40:17):
~#! rn=Zook rt=1359931034 rg=entwicklung
~#! tid=1359929526
Hilfeseiten fuer die Kommandos gibt es: 'telnet', 'telnet_keepalive'. Da steht
aber wenig neues drin, der groesste Teil davon stand schon in der Hilfeseite
vom weggefallenen 'keepalive'.

Zesstra

-----------------------------------------------------------------------------



Prompts und Erkennung von Prompts durch eure Clients (Zesstra,  4. Feb 2013, 22:12:50):
Ich habe einige Fehler gefunden, durch die einige Prompts keinen Promptmarker
bekommen haben, was Mudclients aus dem Tritt bringt, die sich drauf verlassen,
dass Prompts markiert werden.
Diese Fehler waren:
* MPA (neue Zeitung noetig)
* Post und div. Editoren (nix noetig)
* more (leider ende/reboot noetig)
* div. Eingaben bei Charaktererschaffung, selbstloeschung, spielpause,
  Fehler/Details absetzen, etc.) (ende/reboot noetig)

Einige Merkwuerdigkeit sind damit jetzt sicher weg.

Wenn ihr zu einer Eingabe aufgefordert werdet und der Prompt wird nicht
richtig dargestellt, dass meldet euch bitte bzw. setzt einen Fehler an dem
betreffenden Objekt ab.

Zesstra

-----------------------------------------------------------------------------



Bugs (Humni,  5. Feb 2013, 18:11:13):
Hallo ihr,

derzeit gibt es einige Bugs beim Einloggen. Was genau schieflaeuft, ist noch
unklar, dazu muss Zesstra gleich mehr sagen.

Wir bemuehen uns, Euch nach dem Einloggen direkt zu renewen. Dann scheint
bisher alles weitere zu funktionieren.

Mir wurde berichtet, dass manchen dann der Report fehlt. Schaltet ihn einfach
einmal aus und wieder ein, das scheint als erster Workaround zu funktionieren.

Was es auch tut, wenn kein Magier gerade zuhoert, ist "ende". Allerdings kann
danach Eure Ausruestung weg sein, inklusive der Autoloader. Tut das also in
dieser Phase besser nicht.

Soweit fuers erste, mehr, wenn wir mehr wissen.

Humni

-----------------------------------------------------------------------------



Re: Bugs (Malie,  5. Feb 2013, 18:12:09):
~#! rn=Humni rt=1360084273 rg=entwicklung
~#! tid=1360084273
meine ausruestung ist weg, weil mir heute morgen gesagt wurde, ich soll ende
eingeben.

malie

-----------------------------------------------------------------------------



GMCP-Support im MG (Zesstra,  9. Feb 2013, 23:51:52):
Huhu,

moeglicherweise hat jemand von euch ja schonmal von GMCP (Generic MUD
Communication Protocol) gehoert.
Falls nicht: Dies ist eine Methode, wie das Mud dem Client eine Vielzahl von
Informationen ausserhalb des normalen Textes uebermitteln kann. Beispiele sind
z.B. LP und KP, Vergiftungen (also unser Report), sonstige Stats des
Charakters, aber auch sowas etwas wie eindeutige IDs von Raeumen und sichtbare
Ausgaenge fuer Mapper. Der Vorteil ist, dass der Client nicht irgendwelche
Dinge per Trigger aus dem normalen Text fischen und gaggen muss.
(Und bei Clients, die keinen Support dafuer haben, sieht der Spieler nichts -
im Gegensatz zu Zeilen mit Infos, fuer die er keinen Trigger hat.)

Einige Clients bieten den Basis-Support dafuer an, der es ermoeglicht, Scripte
und Trigger zu schreiben, die diese Informationen auswerten. 

Ich bin jetzt dabei, mudseitig teilweisen Support fuer GMCP bereitzustellen.
Erst nur wenig, spaeter mehr.
Ich suche Leute, die Interesse dran haben und bereit waeren, das demnaechst
mal auszuprobieren und mir Fehler zu berichten.

Zesstra

-----------------------------------------------------------------------------



Re: GMCP-Support im MG (Zesstra, 10. Feb 2013, 23:12:17):
~#! rn=Zesstra rt=1360450312 rg=entwicklung
~#! tid=1360450312
Einen Entwurf der Beschreibung zum initial geplanten GMCP-Support findet ihr
auf der Hilfeseite gmcp: hilfe gmcp.
Ueber Kommentare/Meinungen freue ich mich.

Zesstra

-----------------------------------------------------------------------------



Re: Re: GMCP-Support im MG (Zesstra, 13. Feb 2013, 20:30:27):
~#! rn=Zesstra rt=1360534337 rg=entwicklung
~#! tid=1360450312
Ich habe jetzt den ersten Schwung an Patches eingespielt und GMCP mit einem
Basissupport aktiviert. Die in "hilfe gmcp" beschriebenen Module "Core",
"MG.Char", "Char" und "char" sind aktiv.
Wenn ihr einen Client mit GMCP-Support und Lust habt, koennt ihr das jetzt mal
ausprobieren.
Hierzu braucht ihr ein neues Spielerobjekt, d.h. ihr muesst dazu vorher "ende"
machen.

Und noch zwei Sachen:
1) wenn euer Client per GMCP das MG.char Modul anfordert, gehe ich davon aus,
dass ihr mit den Daten auch was anfangt. Daher wird in diesem Fall der normale
Spielerreport in der Textausgabe automatisch funktionslos - solange bis der
Client das MG.char wieder abbestellt. Dies kann auch in einer bestehenden
Loginsession gemacht werden.
2) Fuer die Uebermittlung von KP und Gift gelten die gleichen Einschraenkungen
fuer den normalen Report: ihr braucht die Quests.

Wie gesagt: Vorschlaege, Kommentare an mich und seid nicht boes, wenn nicht
alles von Anfang richtig geht oder was fehlt.

Zesstra

-----------------------------------------------------------------------------



Re^3: GMCP-Support im MG (Zook, 14. Feb 2013, 08:51:06):
~#! rn=Zesstra rt=1360783827 rg=entwicklung
~#! tid=1360450312
Gibt es einen "empfehlenswerten" Client, mit dem man das
ausprobieren kann? Oder welche sind das ueberhaupt?

Zook (muesste unter Linux oder Wine testen).

-----------------------------------------------------------------------------



Re^4: GMCP-Support im MG (Chagall, 14. Feb 2013, 09:01:57):
~#! rn=Zook rt=1360828266 rg=entwicklung
~#! tid=1360450312
Das steht tatsaechlich in 'hilfe gmcp' unter 5.3.

MC

-----------------------------------------------------------------------------



Re^5: GMCP-Support im MG (Zook, 14. Feb 2013, 09:14:49):
~#! rn=Chagall rt=1360828917 rg=entwicklung
~#! tid=1360450312
Wunnebar! So weit hatte ich gar nic t gelesen. 

Z
-.

-----------------------------------------------------------------------------



Re^6: GMCP-Support im MG (Zesstra, 14. Feb 2013, 19:20:05):
~#! rn=Zook rt=1360829689 rg=entwicklung
~#! tid=1360450312
Ich empfehle uebrigens keinen davon besonders. Das liegt aber groesstenteils
an mangelnden Erfahrungen. Mudlet hat ne Menge nette Sache und nervt mich bei
einigen. Es hat GMCP-Support, aber man muss erstmal eigene Scripte schreiben,
um die MG-Variante einzuschalten und damit was anzufangen.

Zesstra

-----------------------------------------------------------------------------



Re^7: GMCP-Support im MG (Zesstra, 14. Feb 2013, 21:31:54):
~#! rn=Zesstra rt=1360866005 rg=entwicklung
~#! tid=1360450312
Huhu,

auf Wunsch habe ich jetzt doch noch schnell das Modul comm.channel gebaut. Das
ist identisch zu dem im Aardwolf verwendeten. Wenn es aktiviert wird, werden
Ebenenmeldungen nicht mehr normal ausgegeben, sondern per GMCP geschickt.
Damit lassen sich dann Ebenentrigger zum Gaggen und Umleiten auch einsparen.
Doku, Details, Einschraenkungen wie immer in "hilfe gmcp".

Zesstra

-----------------------------------------------------------------------------



Neuerungen am Bezugsobjekt beim Forschen (Zesstra, 18. Feb 2013, 20:58:00):
Huhu,

auf Anregung einer Mitspielerin habe ich mal folgendes an "untersuche" & Co
geaendert:
1) Wenn man ein Detail im Raum untersucht hat, wird der Raum das Bezugsobjekt
   d.h. beim naechsten "unt" werden zuerst Objekte im Raum, dann Details
   im Raum und dann erst Objekte in euch gesucht. Bislang wurden in dem Fall
   erst Objekt im Raum oder euch gesucht und dann Details im Raum.

2) Wenn ihr euer Inventar mit "inventar", "inv", etc. anguckt, werde ihr
   zum Bezugsobjekt, d.h. nachfolgende "unt" schauen sich zuerst Objekte
   in eurem Inventar an.

(Das ganze wie immer nach Ende/Reboot.)

Beschwerden, Lob oder Nebenwirkungen etc. bitte an mich berichten.

Zesstra

-----------------------------------------------------------------------------



Questliste: durchschnittliche Stufe (Zesstra, 18. Feb 2013, 23:41:29):
Huhu,

die Questliste zeigt jetzt auch die Stufe an, mit der die jeweilige Quest
durchschnittlich geloest wurde. Voraussetzung ist, dass dieser Durchschnitt
von mehr als 10 Spielern resultiert.

Zur Info, bevor jemand fragt: Zweities gehen explizit in diesen Durchschnitt
ein.

Zesstra

-----------------------------------------------------------------------------



Bitte... (Humni, 20. Feb 2013, 09:12:17):
vorerst keine Details anschauen.

Danke.
Humni
meldet sich, wenn er den Bug behoben hat.
Was dauern kann, da er arbeiten muss.

-----------------------------------------------------------------------------



Re: Bitte... (Humni, 20. Feb 2013, 09:40:42):
~#! rn=Humni rt=1361347937 rg=entwicklung
~#! tid=1361347937
Schauen sollte nun gehen. Eine Menge mehr buggt noch.

Mehr spaeter.

Humni

-----------------------------------------------------------------------------



Mails (Humni, 20. Feb 2013, 09:44:36):
Gehen auch nicht. Sorry. Kann dauern. Damit geht auch die MPA nicht.

Humni

-----------------------------------------------------------------------------



Re: Mails (Humni, 20. Feb 2013, 10:32:28):
~#! rn=Humni rt=1361349876 rg=entwicklung
~#! tid=1361349876
Korrektur, sonst koennte ich hier nicht schreiben... also, mailen mit der MPA
geht nicht. ;-)

Behebung ist gerade ausserstande meines Zeitbudgets.

Humni

-----------------------------------------------------------------------------



Breaking news! (Humni, 20. Feb 2013, 10:51:09):
Mails gehen wieder.

Humni
(boeser Fixer per ueblem Hack, fuer die Zesstra mich bestimmt noch bestimmt
haut).

-----------------------------------------------------------------------------



Re: Neuerungen am Bezugsobjekt beim Forschen (Zesstra, 20. Feb 2013, 18:57:36):
~#! rn=Zesstra rt=1361217480 rg=entwicklung
~#! tid=1361217480
Ihr wuerdet mir einen grossen Gefallen tun, wenn ihr mir in den naechsten 2-3h
sagt, ob ihr mit dem aktuellen Verhalten von unt, lese, lausche, rieche, taste
und dem Verhalten des Bezugsobjektes einverstanden seid oder ob ihr Wuensche
habt. Dann kann ich naemlich versuchen, das vor dem naechsten Reboot
umzusetzen (falls in der Zeit moeglich!).
Ja, richtig gelesen: heute abend, vermutlich in 2-3h gibt es noch nen Reboot.

Zesstra

-----------------------------------------------------------------------------



Re: Re: Neuerlicher Crash am 22.2. (Zesstra, 23. Feb 2013, 00:11:29):
~#! rn=Zesstra rt=1361490901 rg=bekanntmachungen
~#! tid=1361488760
Der Fehler im Driver ist nach einem sehr langen Abend gefunden, ich werde
morgen einen Patch basteln.
Weitere Details gibt es auch morgen.

Zesstra

-----------------------------------------------------------------------------



Angreifen unsichtbarer NPCs (Zesstra, 23. Feb 2013, 15:48:53):
Das Spielerkommando "toete" greift demnaechst keine unsichtbaren Lebenwesen
mehr an. Dies betrifft sowas "toete xy", wenn xy unsichtbar ist als auch
"toete alle".

Zesstra

-----------------------------------------------------------------------------



Re: Angreifen unsichtbarer NPCs (Vector, 23. Feb 2013, 15:50:13):
~#! rn=Zesstra rt=1361630933 rg=entwicklung
~#! tid=1361630933
wird dann griblumas zum dauerhaften tuersteher?

-----------------------------------------------------------------------------



Re: Re: Angreifen unsichtbarer NPCs (Arathorn, 23. Feb 2013, 15:50:22):
~#! rn=Vector rt=1361631013 rg=entwicklung
~#! tid=1361630933
Nein.

-----------------------------------------------------------------------------



Re^3: Angreifen unsichtbarer NPCs (Zesstra, 23. Feb 2013, 15:54:21):
~#! rn=Arathorn rt=1361631022 rg=entwicklung
~#! tid=1361630933
Das betrifft den Allgemeinfall. Wenn der Magier das im Sonderfall erlauben
will, geht das auch in Zukunft noch. Aber generell immer und ueberall
Unsichtbare angreifen zu koenne, ist arg inkonsistent.

Zesstra

-----------------------------------------------------------------------------



Re^8: GMCP-Support im MG (Zesstra, 23. Feb 2013, 22:15:49):
~#! rn=Zesstra rt=1360873914 rg=entwicklung
~#! tid=1360450312
Mit dem letzten Reboot haben auch alle Spieler das GMCP-Modul MG.room
gekriegt, d.h. wenn ihr es einschaltet, uebertraegt das MG einige Infos ueber
den Raum in dem ihr ankommt: ID, Kurzbeschreibung, Region, sichtbare
Ausgaenge. In Labyrinthraeumen wird keine Raum-ID uebertragen.

Details gibts wie immer unter "hilfe gmcp".

Zesstra

-----------------------------------------------------------------------------



Re^9: GMCP-Support im MG (Zesstra, 24. Feb 2013, 15:04:48):
~#! rn=Zesstra rt=1361654149 rg=entwicklung
~#! tid=1360450312
Talanis hat das MG.room direkt mal getestet und noch nen kleinen Fehler bei
manchen Ausgaengen gefunden :-), die irrtuemlich nicht sichbar waren. Ist fuer
neue Spieler gefixt.

Zesstra

-----------------------------------------------------------------------------



Re: Angreifen unsichtbarer NPCs (Ogar, 24. Feb 2013, 23:47:53):
~#! rn=Zesstra rt=1361630933 rg=entwicklung
~#! tid=1361630933
Wie ich gerade feststellen musste, betrifft diese Aenderung auch das Nehmen
eines gewissen unsichtbaren Schattens in Paracelsus' Wuerfel. Bemueht euch
nicht, den zu metzeln, ihr wuerdet ihn nicht vom Boden kratzen koennen ...

Der zustaendige Magier ist informiert, damit der Schatten repariert wird.

Ogar

-----------------------------------------------------------------------------



Re: Re: Angreifen unsichtbarer NPCs (Anatol, 25. Feb 2013, 10:02:37):
~#! rn=Ogar rt=1361746073 rg=entwicklung
~#! tid=1361630933
War da nicht in der F&E ein Jemand, der auch noch stupst?


-----------------------------------------------------------------------------



Re^9: GMCP-Support im MG (Zook, 27. Feb 2013, 14:47:41):
~#! rn=Zesstra rt=1361654149 rg=entwicklung
~#! tid=1360450312
Wunderbar! Danke. Ich werde mal ein wenig experimentieren.

Gibt es sonst noch jemand, der damit herumbastelt?

Ich wollte dazu mal den Client Mudlet anfassen. Jemand Spass
das zusammen zu machen?

Zook

-----------------------------------------------------------------------------



Re^10: GMCP-Support im MG (Zesstra, 27. Feb 2013, 19:26:37):
~#! rn=Zook rt=1361972861 rg=entwicklung
~#! tid=1360450312
Arathorn hat mal tintin++ angeguckt. Talanis hat einen eigenen Client, dem er
das beigegebracht hat. Zaphob hat wohl was in Mudlet gemacht. Miril, Arathorn
und ich haben erste Versuche mit Modulregistrierung und einem Statusbalken
fuer LP/KP in Mudlib gemacht...
Ich wuerde ja die Tage auf github.com nen Repo anlegen, in das ich unsere
bisherigen Versuch hochlade - ist nix grossartiges, aber vielleicht nimmts
jemand als Anlass, Verbesserungen vorzunehmen.

Zesstra

-----------------------------------------------------------------------------



Re: Re: Neuerungen am Bezugsobjekt beim Forschen (Zesstra,  1. Mar 2013, 21:05:35):
~#! rn=Zesstra rt=1361383056 rg=entwicklung
~#! tid=1361217480
kleine weitere Neuerung: bei der Syntax "... in mir", "...in dir" bei den
Untersuchekommandos wird jetzt nicht mehr (auch) im Raum gesucht.

Zesstra

-----------------------------------------------------------------------------



Re^3: Angreifen unsichtbarer NPCs (Derin,  2. Mar 2013, 12:51:12):
~#! rn=Anatol rt=1361782957 rg=entwicklung
~#! tid=1361630933
Ja.

Und wie war das mit den Unsichtbaren unter Muspelheim?

Neugierig,
Derin.

-----------------------------------------------------------------------------



Re^4: Angreifen unsichtbarer NPCs (Vector,  2. Mar 2013, 12:52:55):
~#! rn=Derin rt=1362225072 rg=entwicklung
~#! tid=1361630933
tempel-des-todes-quest ist mir grad noch spontan eingefallen

-----------------------------------------------------------------------------



Re^5: Angreifen unsichtbarer NPCs (Zesstra,  2. Mar 2013, 12:55:10):
~#! rn=Vector rt=1362225175 rg=entwicklung
~#! tid=1361630933
Einfache antwort: Fehler absetzen, Regions-/Gebietsmagier bescheidsagen.

Zesstra

-----------------------------------------------------------------------------



Re^4: Angreifen unsichtbarer NPCs (Derin,  2. Mar 2013, 16:48:11):
~#! rn=Zesstra rt=1361631261 rg=entwicklung
~#! tid=1361630933
Huhu,

ich verstehe die Inkonsistenz nicht, dass man unsichtbare NPCs nicht angreifen
koennen soll. Der Default ist doch auch, dass man sie knuddeln/winken/emoten
kann.

Und falls jetzt die abgenutzte "realistisch"-Keule kommt: Ich kann doch
auch in einem Raum, der so dunkel ist, dass ich niemanden sehen kann, alle
ueblichen NPCs angreifen? Sind die dann fuer mich sichtbarer als unsichtbare?

Neugierig,
Derin.

-----------------------------------------------------------------------------



Re^5: Angreifen unsichtbarer NPCs (Zesstra,  2. Mar 2013, 18:34:47):
~#! rn=Derin rt=1362239291 rg=entwicklung
~#! tid=1361630933
Mhmm, jetzt wollte ich schon schreiben, dass bei mir unsichtbare NPC nicht per
knuddeln/winken/emoten ansprechbar sind (hatte ich naemlich geprueft) und ich
das daher eben gerade konsistent finde, wenn man sie auch nicht angreifen
kann.
(Das zweite Argument war: Es ist IMHO nicht einzusehen, warum man in Viechern,
die wirklich wirklich unsichtbar sein sollen, an alle evtl. durch Spieler
nutzbaren Moeglichkeiten einzeln denken muss (z.B. toete ueberschreiben),
damit sie nicht durch irgendein Kommando doch sichtbar sind.)

Aber da war ja was... Es gibt zwei wesentliche Methoden, Dinge unsichtbar zu
machen. Diese beiden Methoden werden AFAIK von fast allen Magiern als
gleichwertig betrachtet (und meist nach pers. Vorliebe genutzt). Sind sie
allerdings nicht. Nach der einen kann man naemlich NPC auch noch
knuddeln/winken etc. und es finden sich sicher noch ein paar mehr Kommandos,
welche da Unterschiede machen. Das erklaert unsere Unterschiedliche
Wahrnehmung. ;-)

Jetzt waere die eine Moeglichkeit der Konsistenzerstellung, beide Methoden
ueberall gleichwertig zu behandeln und die andere, diese Unterschied zu
kultivieren, d.h. bei der einen Methode sollen Dinge unsichtbar, aber
ansprechbar sein, bei der anderen nicht...

Die Sache mit den unsichtbaren Objekten ist technisch uebrigens unabhaengig
von der Aenderung bei "toete". Die Funktion, welche Objekte in einem
Behaelter/Raum sucht, filterte normalerweise unsichtbare Objekte aus. Ausser
an einer Stelle...

Zesstra

-----------------------------------------------------------------------------



Re^5: Angreifen unsichtbarer NPCs (Gnome,  3. Mar 2013, 18:36:12):
~#! rn=Vector rt=1362225175 rg=entwicklung
~#! tid=1361630933
Soweit ich mich erinnere, gibt es dort keinen unsichtbaren NPC.

-----------------------------------------------------------------------------



Re^6: Angreifen unsichtbarer NPCs (Zesstra,  4. Mar 2013, 22:04:48):
~#! rn=Zesstra rt=1362245687 rg=entwicklung
~#! tid=1361630933
Ok. Also, der Hintergrund der Unsichtbarkeitsaenderung war folgender:
a) war ich der Meinung, damit mehr Konsistenz herzustellen, weil unsichtbares
   Zeugs an div. Stellen ausgefiltert wird und an anderen nicht.
b) ist es doof, wenn Magier bei einem absichtlich unsichtbaren Objekt an
   alle moeglichen Kommandos einzeln denken muessen, mit denen Spieler die
   Unsichtbarkeit aufheben koennen.
c) wenn grundlegende Funktionen erst gar keine unsichtbaren Objekte liefern,
   kann der Code in vielen Benutzern dieser Funktionen einfacher gehalten
   werden, da er diese nicht aussortieren muss.
Hierbei war ich auch der Ansicht, dass es von Vorteil ist, wenn beide
(historisch gewachsenen) Methoden der Unsichtbarkeit in ihrer Wirkung
zusammenwachsen und man als Magier einfach eine davon nutzen kann.

Offenbar ist es jedoch besser, die beiden Methoden mit unterschiedlicher
Wirkung beizubehalten, sie besser voneinander zu trennen, besser zu
dokumentieren und dafuer zu sorgen, dass moeglichst viele Kommandos sich
jeweils konsistent bzgl. der jeweiligen Unsichtbarkeitsmethode verhalten.

So. Daher ist der Plan ist jetzt folgender:

A)
NPC, welche so unsichtbar gemacht wurden, dass man sie
knuddeln/herzen/wasauchimmer kann, sollen auch standardmaessig angreifbar
sein.
B)
NPC, welche so unsichtbar gemacht wurden, dass sie nicht knuddelbar (etc.)
sind, sollen auch standardmaessig nicht angreifbar sein.

D.h. allgemeiner: Methode A) macht Dinge/Lebewesen unsichtbar, behaelt aber
die Benutzbarkeit durch Spieler bei (und behaelt z.B. das Gewicht). Methode B)
macht Objekte unsichtbar und minimiert Interaktionen mit Spielern (z.B.
angreifen, aufnehmen, zeigen, wegwerfen etc.)

Seit gestern nachmittag gilt dementsprechend:
Neue Spielerobjekte koennen knuddelbare NPC (Methode A) jetzt auch wieder mit
"toete" angreifen, ohne dass der Magier basteln muss. In neugeladenen Raeumen
koennen unsichtbare Dinge nach Methode A wieder aufgenommen werden. Neue
Spielerobjekte koennen diese Objekte dann auch sogar wieder wegwerfen. ;)

Ich hoffe, das sorgt fuer mehr Klarheit.

Zesstra

-----------------------------------------------------------------------------



Re^7: Angreifen unsichtbarer NPCs (Lysania,  4. Mar 2013, 23:48:06):
~#! rn=Zesstra rt=1362431088 rg=entwicklung
~#! tid=1361630933
Weil ich das nicht nur an Zesstra sagen wollte:

ich finds wie gesagt gut, dass ueberhaupt jemand noch das mud am laufen haelt.
danke nochmals (auch an die anderen konsorten, ark, humni, zook, rumata,
gloinson, bugfix und wer sonst noch da ist, aber seltener in erscheinung
tritt)

Khidar.

-----------------------------------------------------------------------------



Re^8: Angreifen unsichtbarer NPCs (Amaryllis,  4. Mar 2013, 23:51:23):
~#! rn=Lysania rt=1362437286 rg=entwicklung
~#! tid=1361630933
Danke, das tut gut.

Ama* (Serveradmin)

-----------------------------------------------------------------------------



Re^7: Angreifen unsichtbarer NPCs (Derin,  6. Mar 2013, 00:27:24):
~#! rn=Zesstra rt=1362431088 rg=entwicklung
~#! tid=1361630933
Huhu,

danke -- ich finde, das klingt doch gut. Und auch danke fuer die Hinter-
grundinfos (in diesem und Deinem vorangegangenen Artikel), die haben das
gut geklaert.

LG,
Derin.

-----------------------------------------------------------------------------



Re^7: GMCP-Support im MG (Cruix,  9. Mar 2013, 13:32:02):
~#! rn=Zesstra rt=1360866005 rg=entwicklung
~#! tid=1360450312
Hallo allerseits,

ich spiele meistens mit einem selbstgeschriebenem Client und denke ueber die
Implementierung von GMCP nach.
Ist dies eine zusaetzliche TCP-Verbindung zwischen Client und Server?
Und falls ja, auf welchem Port lauscht der MG-Server auf Verbindungen?

Gruss,
Cruix

-----------------------------------------------------------------------------



Re^8: GMCP-Support im MG (Arathorn,  9. Mar 2013, 13:45:34):
~#! rn=Cruix rt=1362832322 rg=entwicklung
~#! tid=1360450312
Nein, das ist keine zusaetzliche Verbindung. Das laeuft alles ueber die
Telnet-(Sub)Negotiations.

Arathorn.

-----------------------------------------------------------------------------



Re^7: Angreifen unsichtbarer NPCs (Moonshine,  9. Mar 2013, 18:18:43):
~#! rn=Zesstra rt=1362431088 rg=entwicklung
~#! tid=1361630933
Nachdem ich heute mal auf TI unterwegs war, fiel mir auf, dass die von Zesstra
beschriebene Variante A) 'NPC der knuddelbar ist, ist auch angreifbar' nicht
zutrifft.

Finde ich persoenlich sehr unschoen, wenn ein bestehendes Gebiet auf einmal
nicht mehr wirklich funktioniert ... abgesehen davon, dass ich davon ausgehe,
dass manche Magier ihre NPCs extra so versteckt haben, dass sie nur ueber
knuddeln oder toeten zu finden sind.

Waere schoen, wenn da ein bisschen nachgebessert werden koennte ...


-----------------------------------------------------------------------------



Re^8: Angreifen unsichtbarer NPCs (Zesstra,  9. Mar 2013, 18:50:34):
~#! rn=Moonshine rt=1362849523 rg=entwicklung
~#! tid=1361630933
Da gibt es zwei Moeglichkeiten: entweder Du hast kein neues Spielerobjekt oder
der NPC hat nicht Standardverhalten. In dem Fall waere es gut, wenn man den
NPC kennen wuerde.

Zesstra

-----------------------------------------------------------------------------



Re^7: Angreifen unsichtbarer NPCs (Zesstra,  9. Mar 2013, 19:00:34):
~#! rn=Zesstra rt=1362431088 rg=entwicklung
~#! tid=1361630933
Ok, fuer die, denen das nix sagt: "neues Spielerobjekt" heisst: nach
ende/reboot.

Zesstra

-----------------------------------------------------------------------------



Homepage (Sparkle, 23. Apr 2013, 10:48:52):
Ich habe mit einigen anderen Spielern zusammen begonnen, die aktuelle Homepage
zu ueberarbeiten. Wir haben uns recht viel vorgenommen, und wir wuerden uns
freuen, wenn Ihr uns durch Kritik, Ideen und viel Feedback unterstuetzt. 
Grundgedanke war es, nicht das Rad neu zu erfinden. Viele Sachen waren schon
gut geloest. Am Design wird sich nichts aendern. Wir moechten zum einen die
vielen fehlenden Informationen ergaenzen. Auch sind viele Informationen
veraltet, oder nicht mehr richtig. Desweiteren soll die gesamte Navigation
anfaengerfreundlicher werden. Die Homepage soll vor allem potentielle
zukuenftige Mitmudder gewinnen. Also werden die fuer Anfaenger wesentlichen
Informationen offensichtlicher praesentiert, waehrend andere Informationen
eher in den Hintergrund treten werden.
Erste Massnahmen wurden bereits umgesetzt. Die Neuigkeiten sollten auf dem
aktuellen Stand sein, Abenteurer und Wipfellaeufer haben eigene Gildenseiten,
die Rassenuebersicht wurde aktualisiert.
Wir haben das kuerzlich in der MPA gepostete Kartentutorial gesehen. Das wird
auch auf der HP eingefuegt werden.
Ich werde den aktuellen Stand immer mal hier in der MPA posten. Ansonsten
freuen wir uns auf jegliches Feedback.
LG, Sparkle

-----------------------------------------------------------------------------



GMCP: MG.char uebertraegt Vorsicht + Fluchtrichtung (Zesstra, 12. Mai 2013, 20:28:25):
Huhu,

nach ende/reboot werden auch Vorsicht und Fluchtrichtung per GMCP uebertragen,
sofern ihr die Vorraussetzungen (s. report) dafuer erfuellt.
(BTW: Sollten euch Gift, KP/MP oder Vorsicht nicht per GMCP uebertragen
werden, der Rest aber schon, dann versucht als erstes einmal "report ein" und
"report vorsicht". Ihr koennt den report danach direkt wieder ausschalten (bei
aktivem GMCP hat er eh keine Funktion), aber das Kommando aktualisiert einige
Informationen in eurem Spieler.)

Zesstra

-----------------------------------------------------------------------------



Zaubertraenke (Arathorn, 30. Mai 2013, 01:44:29):
Hallo zusammen,

wir haben heute abend einiges an der Zaubertrank-Verwaltung gebastelt.
Eigentlich sollte sich fuer euch als Spieler nichts aendern, aber falls sich
doch irgendetwas beim Entdecken von ZTs oder beim Orakel selbst merkwuerdig
verhalten sollte (jedenfalls anders als sonst), sagt bitte Bescheid.

Gruss, Arathorn.

-----------------------------------------------------------------------------



Ignorieren... (Zesstra, 30. Sep 2013, 23:48:50):
Ich mache mal eine Vorankuendigung, dass ich demnaechst die
Ignoriereeinstellungen von allen Spielern zuruecksetzen muss.
Ich kuendige das spaeter auch nochmal explizit an, wenn es soweit ist. Aber
wer meint, sich da was notieren/speicher/ausdrucken zu muessen, kann das auch
jetzt schonmal machen.

Hintergrund ist die Uneindeutigkeit des aktuellen Ignoriere. Beispiele:
> ignoriere flunzel 
  ist 'flunzel' eine Aktion/Verb oder ein Spieler/Lebewesen? 
> ignoriere spieler.flubbel
  ist 'flubbel' ein Kommando oder eine Ebene mit dem Namen 'flubbel'

Da wird die Syntax von "ignoriere" entsprechend auch angepasst, um da
eindeutige Unterscheidungen treffen zu koennen.

Ansonsten: wenn ihr nicht mehr wisst, warum ihr jemanden/etwas ignoriert, ist
es bestimmt nicht (mehr) wichtig. ;-)

Zesstra

-----------------------------------------------------------------------------



Re: Ignorieren... (Zesstra, 10. Okt 2013, 19:10:20):
~#! rn=Zesstra rt=1380577730 rg=entwicklung
~#! tid=1380577730
Zweite Vorankuendigung: angekuendigte Massnahme wird vermutlich im Laufe des
Sa/So in Spielern umgesetzt und mit Ende/Reboot aktiv.

Zesstra

-----------------------------------------------------------------------------



Gierige Laeden: unbeabsichtig zuviel verkauft... (Zesstra, 31. Okt 2013, 00:15:28):
Huhu,

bei den Ladenbetreibern hat sich offenbar eine uebler Trick eingeschlichen,
Kunden uebers Ohr zu hauen. Sie haben sie bei bestimmten Gelegenheiten erst
mit Fragen abgelenkt und anschliessend zum vereinbarten Preis aber um mehr
Objekte erleichtert als verkauft werden sollten.
Ich habe denen heute Abend mal die Leviten gelesen und sie haben eingesehen,
das in Zukunft sein zu lassen.

Sprich:
Bei bestimmten Objekte konnte es vorkommen, dass man nach der Rueckfrage, ob
man wirklich verkaufen will, alle verkauft wurden und nicht nur die Anzahl,
die man urspruenglich angegeben hat.

Das ganze ist aber nur in neu geladenen Laeden korrigiert, d.h.
flaechendeckend koennt ihr euch erst nach dem naechsten Reboot drauf
verlaufen.

Vielen Dank an Tassram fuer die Beschreibung des Problems.

Zesstra

-----------------------------------------------------------------------------



Viele neue NPCs... (Humni, 31. Okt 2013, 11:23:07):
Huhu,

ich baue gerade an ein paar Stellen im MG neue NPCs und auch mal ein paar neue
kleine Objekte ein. Ein paar den NPCs koennten stupsen.

Also, nicht wundern, wenn Euch irgendwo jemand ueber den Weg laeuft, den ihr
noch nicht kennt. Ich mag nicht fuer jeden eine Ankuendigung schreiben, ihr
sollt ja auch selbst ein wenig suchen. Fakt ist aber, dass sie meist nicht so
gut versteckt sind.

(Einer ist schon da, der Rest folgt irgendwann. Ja, so richtig irgendwann.
Nochmal schreib ich nix.)

Humni

-----------------------------------------------------------------------------



typo / idee / bug (Zaphob,  2. Nov 2013, 21:48:08):
Hallo Magier,
hier mein Vorschlag, um Feedback geben noch netter zu gestalten: Einfach mal
die Reihenfolge umsortieren!

Bestaetigungsmeldung sieht derzeit so aus:

Die ID des abgesetzten Fehlers lautet: 1a9c6cb65eca68ac7a4f4edb9a598492
Du hast erfolgreich einen Fehler / eine Idee / einen Typo / ein fehlendes
Detail an der Genehmigung abgesetzt.
Vielen Dank fuer die Hilfe.

Wer noch nicht vom Hashcode abgeschreckt wurde, beendet das Lesen vielleicht
schon bei der Slash-Orgie. Dabei steht das Wichtige erst weiter hinten: Das
Objekt, an dem man die Meldung nun abgesetzt hat. Stimmt sie, oder doch nicht?
Daher wuerde ich die Meldung etwas anders aufziehen:

Vorschlag:

Du hast an der Genehmigung erfolgreich einen Fehler / eine Idee / einen 
Typo / ein fehlendes Detail abgesetzt.
Die ID des abgesetzten Fehlers lautet: 1a9c6cb65eca68ac7a4f4edb9a598492
Vielen Dank fuer die Hilfe.

Das sollte sich ja im Nullkommanix umstellen lassen. Haette fuer den Spieler
den immensen Vorteil, das Objekt auf den ersten Blick zu lesen. Fuer den
Magier den Vorteil, dass mehr Infos beim korrekten Objekt gemeldet werden.

Fuer den ganz grossen Wurf koennte man den Slash-Wald vielleicht gar noch
etwas begradigen, wobei mir da jetzt keine Formulierungsvorschlaege einfallen
wollen. Statt dessen schreibe ich lieber einen kleinen Roman fuer einen
kleinen Verbesserungvorschlag in die MPA. Ich gruesse euch alle!

-----------------------------------------------------------------------------



Re: typo / idee / bug (Zesstra,  3. Nov 2013, 13:11:51):
~#! rn=Zaphob rt=1383425288 rg=entwicklung
~#! tid=1383425288
Ich haette nicht gedacht, dass sich jemand daran so sehr stoert, aber bitte
schoen. Wird mit Reboot abgeaendert.

Zesstra

-----------------------------------------------------------------------------



Re: Re: typo / idee / bug (Zaphob,  3. Nov 2013, 13:40:56):
~#! rn=Zesstra rt=1383480711 rg=entwicklung
~#! tid=1383425288
Danke Zesstra, das war fix!

Ich weiss nicht, ob stoeren das richtig trifft, es macht es einfach
angenehmer.

So oder so, danke fuer die rasche Aenderung! :)

-----------------------------------------------------------------------------



Re^3: typo / idee / bug (Tin,  3. Nov 2013, 16:52:22):
~#! rn=Zaphob rt=1383482456 rg=entwicklung
~#! tid=1383425288
ich fand es auch komisch, ich wusste meist gar nich ob ich richtig abgesetzt
habe.

tin

-----------------------------------------------------------------------------



Geschenke (Humni, 25. Dez 2013, 11:06:55):
Liebe Mudgemeinde,

sollte jemand von Euch einen Ofen bekommen haben, den er/sie nicht oeffnen
kann, dann meldet Euch bitte bei einem Magier. Sollte der nicht wissen, wie
man das Problem loest, sagt ihm, er/sie solle Zeitung lesen.

Nach diesem Post herausgeholte Oefen sollten aber funktionieren. Wenn nicht,
bitte melden.

Humni

-----------------------------------------------------------------------------



Fehler beim Abrufen der tmhist (Zesstra,  1. Mai 2014, 10:18:49):
Huhu,

die Spieler, welche Probleme (Fehler im Raum-Zeit-Gefuege) beim Abrufen ihrer
tmhist haben, sollten bei Gelegenheit einmal ein "ende" machen. Ich habe
zumindest eine Ursache fuer diesen Fehler gestern abend korrigiert.
Ob es noch weitere gibt, muss die Zeit zeigen. Wenn jemand solche Fehler
_nach_ einem Ende bekommt, bitte melden.

Zesstra

-----------------------------------------------------------------------------



Re: Fehler beim Abrufen der tmhist (Zesstra,  1. Mai 2014, 21:50:58):
~#! rn=Zesstra rt=1398932329 rg=entwicklung
~#! tid=1398932329
Wenn ihr TMs bekommt, bei denen das letzte Zeichen fehlt, hilft ebenfalls
ende/reboot.

Zesstra

-----------------------------------------------------------------------------



Vereingen des Inhalts von Geldboersen (Zesstra,  2. Mai 2014, 01:17:17):
Huhu,

wenn ihr eine Geldboerse mit Geld habt und eine weitere Geldboerse mit Geld
aufnehmt, vereinigt sich der Inhalt der beiden Boersen in Zukunft nicht mehr.

Hintergrund ist, dass das Aufnehmen/Bergen von fremden Geldboersen mit dem
Verhalten sehr nervig ist und das Spieler dem Vernehmen nach auch deutlich
gestoert hat.

(Gilt fuer nur _neue_ Geldboersen.)

Zesstra

-----------------------------------------------------------------------------



Goblinisches (Arathorn,  4. Mai 2014, 19:11:42):
Hallo Goblins :-)

wie der eine oder andere sicher schon festgestellt hat, gibt es einen Fehler
im "waaagh"-Kommando eurer Rasse. Dieser ist behoben, jedoch muesst ihr,
um in den Genuss des reparierten Kommandos zu kommen, bitte einmal "ende"
machen.

Danke!

Gruss, Arathorn.

-----------------------------------------------------------------------------



Paralyseschutz nach Ablauf einer Paralyse (Zesstra, 23. Aug 2014, 01:21:30):
Huhu allerseits,

wenn ein Lebewesen paralysiert wird (egal ob Spieler oder NPC), ist es
anschliessend fuer nochmal die Paralysezeit vor erneuter Paralyse geschuetzt.
Dieser Schutz war defekt. Der Bug ist uns kuerzlich ins Netz gegangen.
Neue Spielerobjekte und neu geladene NPCs geniessen seit vorgestern einen
funktionierenden Paralyseschutz nach Ablauf einer Paralyse.
Nur falls sich jemand wundert.

Zesstra

-----------------------------------------------------------------------------



Re: Paralyseschutz nach Ablauf einer Paralyse (Zesstra, 23. Aug 2014, 01:22:42):
~#! rn=Zesstra rt=1408749690 rg=entwicklung
~#! tid=1408749690
Achso: es kann einzelne Ausnahmen geben, d.h. Situationen, wo der Schutz nicht
greift. ;-) Aber das beschriebene ist der Normalfall.

Zesstra

-----------------------------------------------------------------------------



Angelzubehoer (Arathorn,  2. Sep 2014, 00:48:50):
Hallo zusammen,

mit Zesstras Unterstuetzung habe ich heute abend eine groessere Umstellung
an den Angeln und deren Zubehoer sowie den fangbaren Fischen vorgenommen.
Da das alles noch nicht ganz fertig ist, kann es zu Schluckauf und
Stoerungen kommen, die ich erst nach und nach beheben kann. Wenn ihr etwas
derartiges feststellt, bitte gerne melden, jedoch _nicht_, wenn das Problem
sich ohnehin schon als "Fehler im Raum-Zeit-Gefuege" manifestiert hat.

Gruss, Arathorn.

-----------------------------------------------------------------------------



Mudlet-Client und Scripte fuer alle! (Zaphob, 23. Okt 2014, 11:00:25):
Hallo zusammen,

es gibt seit einigen Wochen (oder Monaten?) ein interessantes Angebot
fuer Spieler, die ihren Lieblings-Client noch nicht gefunden haben,
oder auch gern mal etwas Neues ausprobieren moechten. Hier folgen
einige Infos dazu.

Mit Stand heute funktioniert bereits: 

* Eine (etwas breitetere) Statuszeile mit Infos zum Spieler 
** Die aktuellen Lebenspunkte und Konzentrationspunkte als farbige 
   Balken - man sieht auf einen Blick, wenns dort bergab geht 
** Der aktuelle Ort, samt Infos zur Region, ggf. Para, usw. 
** Die aktuelle Vorsicht des Spielers, sowie die komplette 
   Fluchtrichtung, falls sie gesetzt sein sollte - sehr praktisch
* Unterstuerzung fuer Wegepunkte wie aus TF bekannt (go & dopath)
* Umlaute werden bei Eingabe erkannt und ersetzt 
* Farbige Hervorbehungen von Kommunikation und Bewegungsinfos

Ich habe es mir zur Aufgabe gemacht, den Mudlet Client mit einigen
Scripten zu versorgen, die das Spieler-Leben erleichtern koennen.
Nicht nur fuer hochentwickelte Seher, sondern gerade auch fuer neu
anfangende Spieler.

Hintergrund: Viele Spieler haben ein voll-konfiguriertes Tiny Fugue im
Einsatz, andere Spieler benutzen zB noch Telnet bzw. haben gar keine
Sonderfunktionen parat. Die Unterschiede in der Funktionalitaet sind 
mitunter sehr gross. Doch das muss nicht mehr so sein!

Da in Vergangenheit ja schon auffiel, wieviel Arbeit so ein neuer
Client bedeutet, und wieviel Arbeit auch schon von vielen Leuten ueber
viele Jahre in die Tiny Fugue Scripte gesteckt wurde, stecke ich meine
Ziele erstmal sehr gering. 

Wenn wir halbwegs sinnvolle Funktionen bereitstellen koennen, und die
leichten Erweiterungsmoeglichkeiten des Clients hervorheben, kann jeder
mithelfen, dass hier etwas Groesseres entsteht.

Folgendes funktioniert noch nicht, waere denkbar als naechster Schritt:

* Karten zeichnen mit den in Mudlet eingebauten Mapper-Funktionen 
* mehr Gilden-spezifische Unterstuetzungen 
* Komfortablere Bedienung der Wegepunkte 
* die meisten Scripts aus Tiny Fugue, denn sie sind sehr gut
* mehr grafische Unterstuetzung, einzelne Fenster fuer Kommunikation,.

Mudlet laesst sich komfortabel erweitern durch die Scriptsprache LUA
und/oder etwas Umhergeklicke zwischen den einzelnen Fenstern (Trigger,
Alias, Timer, uvm). Ich weiss nicht, wie sehr blinde Spieler hier mit
profitieren koennen, da fehlt mir noch Feedback.

Die Kurzanleitung, um direkt loszulegen: 

1) Mudlet installieren - Link siehe unten
2) In Mudlet, ein Profil fuer Morgengrauen anlegen - Zweities erhalten 
   ihr eigenes Profil 
3) In Mudlet - Scripts, die XML Scriptdatei importieren - Link s.u.
4) In Mudlet - Settings, GMCP aktivieren 
5) Neu verbinden, sollte automatisch funktionieren

Genauere Infos zur Installation und Einrichtung finden sich im
MorgenGrauen Wiki. Dort koennt ihr auch gerne was ergaenzen, oder eben
erst hier im Spiel diskutieren, sei es in der Zeitung (Rubrik
Mudclients?) oder per Mail an mich, oder direkt bei GitHub, usw.

Vielen Dank an alle Helfer & Tester! Ihr wisst, wer ihr seid.

Hier die genannten Links:

* Mudlet: http://www.mudlet.org/download
* MG Wiki: http://wiki.morgengrauen.info/index.php?n=MorgenGrauen.Mudlet
* Script Entwicklung bei GitHub: https://github.com/Kebap/krrrcks-mudlet 
* Direkter Download der XML Scriptdatei: 
https://raw.githubusercontent.com/Kebap/krrrcks-mudlet/master/krrrcks.xml

Viel Spass mit dem neuen Client wuenscht 
Zap*

-----------------------------------------------------------------------------



Re: Mudlet-Client und Scripte fuer alle! (Zaphob, 31. Okt 2014, 14:35:34):
~#! rn=Zaphob rt=1414054825 rg=entwicklung
~#! tid=1414054825
Ich wurde darauf hingewiesen, doch mal darauf hinzuweisen:

Mudlet gibts fuer viele Betriebssysteme, Windows und Linux sowie Mac, und auch
als Source Code.

Auf besonderen Wunsch eines einzelnen Herren, kann man sich nun mit den
Nummerntasten umherbewegen.

Dabei bedeuten die Zifferntasten die Himmelsrichtungen, Plus und Minus
bedeutet oben und unten, die Null bedeutet sich umschauen, der Stern bedeutet
raus gehen. Noch nix Gutes eingefallen ist mir fuer die Fuenf, das Komme und
das Geteiltzeichen, dann waer der Nummernblock voll.

Das ganze ist erstaunlich praktisch, weil so die Historie nicht mit
Richtungskommandos vollgestopft wird, und man schneller die "wichtigeren"
Kommandos zurueckholen kann. Ausserdem braucht man so pro Raum nur noch eine
Taste druecken, statt vorher mindestens zwei (Richtung plus Enter) = das
bedeutet also ueber 50% Beschleunigung! Das muss man erstmal toppen.. :)

Weitere Ideen und Wuensche fuer hilfreiche Skripte, Trigger, usw. sind
weiterhin gern gesehen! (Ob und wann sie umgesetzt werden koennen, haengt
natuerlich von anderen Sachen ab)

-----------------------------------------------------------------------------



Re: Re: Mudlet-Client und Scripte fuer alle! (Zesstra, 31. Okt 2014, 19:30:34):
~#! rn=Zaphob rt=1414762534 rg=entwicklung
~#! tid=1414054825
Die 5 ist "schau".

Zesstra

-----------------------------------------------------------------------------



Re^3: Mudlet-Client und Scripte fuer alle! (Rhovan,  3. Nov 2014, 21:40:08):
~#! rn=Zesstra rt=1414780234 rg=entwicklung
~#! tid=1414054825
Juup,
haette 5 auch zu schau lang gemacht, 0 zu kurzinfo und auf * hatte ich
wahlweise immer ausruestung oder spaeter dann das score amulett.

Gruss
Rhovan

-----------------------------------------------------------------------------



Re^4: Mudlet-Client und Scripte fuer alle! (Zaphob, 11. Nov 2014, 18:15:33):
~#! rn=Rhovan rt=1415047208 rg=entwicklung
~#! tid=1414054825
Danke fuer die Rueckmeldungen. Habe das soweit moeglich uebernommen.

Neuste Aenderungen der Keypad Buttons:

* Sowohl die Null als auch die Fuenf machen jetzt "schau"
* Das Komma macht jetzt "ausruestung"
* Der Stern macht weiterhin "raus"

* Die letzte freie Taste, das Divisionszeichen macht jetzt "kurz". Sobald man
  nochmal drueckt dann "ultrakurz", dann "lang", und danach wieder von vorne.
  Witzige Idee, wie ich finde.

* Das Kommando "kurzinfo" habe ich absichtlich auf keine Taste uebernommen.
  Die Statuszeile ist die ganze Zeit sichtbar und zeigt schon bunte Balken
  fuer Leben & Konzentration, usw. Hoffe, das gefaellt soweit. :)

Alle Tasten kann man sich natuerlich nach Lust und Laune umher konfigurieren.

Viel Spass mit den Aenderungen!
Zap*

-----------------------------------------------------------------------------



GMCP im Web-Client (Pico,  6. Dez 2014, 11:54:09):
Hallo allerseits!

Ich habe mir den Web-Client angeschaut und finde ihn sehr gut!
Daher wollte ich kurz fragen, wer sich hier mit dem Web-Client
auskennt und beschaeftigt. Ausserdem wollte ich fragen, ob es
evtl. moeglich ist, im web-client GMCP zu empfangen? Es scheint
bisher nicht beim client anzukommen (habe zumindest nach einigen
kurzen Experimenten nichts finden koennen).

Vielen Dank schonmal und viele Gruesse!

Pico

-----------------------------------------------------------------------------



Re: GMCP im Web-Client (Arathorn,  6. Dez 2014, 12:19:12):
~#! rn=Pico rt=1417863249 rg=entwicklung
~#! tid=1417863249
Der Webclient stammt von Mesirii und ist leider nicht ganz fertig geworden.
GMCP kann er nicht. Wenn du das nutzen willst, wuerde ich empfehlen, einen
spezialisierten Mudclient zu verwenden, der das beherrscht. Vielleicht
schaust du dir mal Mudlet an, fuer den existiert auch bereits ein Satz
MG-taugliche Skripte von Zaphob.

Arathorn.

-----------------------------------------------------------------------------



Re: Re: GMCP im Web-Client (Pico,  6. Dez 2014, 12:50:53):
~#! rn=Arathorn rt=1417864752 rg=entwicklung
~#! tid=1417863249
Danke Arathorn! Mir ging es weniger um die Verwendung von GMCP
sondern eher um die Programmierung neuer Funktionen im Web-Client
auf Grundlage von GMCP.

Macht Mesirii am Web-Client nicht mehr weiter?

-----------------------------------------------------------------------------



Re^3: GMCP im Web-Client (Arathorn,  6. Dez 2014, 13:00:42):
~#! rn=Pico rt=1417866653 rg=entwicklung
~#! tid=1417863249
Ich rechne nicht damit, dass er nochmal was dran macht, nein.
Aber der Code ist oeffentlich auf Github, wenn du den haben willst und
dran rumbasteln willst, kannst du dir den von dort holen.
Schau mal unter diesem Link nach: https://github.com/jexp/mg_client

Gruss, Arathorn.

-----------------------------------------------------------------------------



Re^4: GMCP im Web-Client (Pico,  6. Dez 2014, 14:03:16):
~#! rn=Arathorn rt=1417867242 rg=entwicklung
~#! tid=1417863249
ok, danke!

-----------------------------------------------------------------------------



Re: GMCP im Web-Client (Zesstra,  6. Dez 2014, 15:03:43):
~#! rn=Pico rt=1417863249 rg=entwicklung
~#! tid=1417863249
Wir haben zwei Webclienten auf der Homepage, waer jetzt erstmal gut, zu
wissen, ueber welchen Du sprichst. ;-)
Da waere einmal der Client von Mesirii, dessen Code liegt auf
https://github.com/jexp/mg_client.
Zum anderen ein System von https://github.com/kanaka/websockify/, mit
Anpassungen von Nightfall und uns, den Fork findest Du unter
https://github.com/xrm/websockify/.
Ich sehe groessere Zukunftschancen bei websockify, weil man dort nicht alles
selber machen muss, sondern auch andere Nutzer und Entwicjkler ausserhalb des
Muds dran basteln. Insofern waere mein Ansatzfuere Erweiterungen dort...
Allerdings ist GMCP eben kein Telnetstandard, insofern wird man es nie in das
Upstream-Projekt integrieren koennen.

Zesstra

-----------------------------------------------------------------------------



Re: Re: GMCP im Web-Client (Pico,  6. Dez 2014, 17:43:00):
~#! rn=Zesstra rt=1417874623 rg=entwicklung
~#! tid=1417863249
Danke fuer die Antwort Zesstra! Ich hatte den ersten client gemeint.
Also mg_client.

Ich hatte den websockify-basierten client gar nicht gesehen.
Allerdings habe ich heute Nachmittag einen eigenen client aufgesetzt,
der auch websockify verwendet. Ich werde mir mal anschauen, wie
der Unterschied zu den Sachen auf github.com/xrm/websockify/ ist.

Mit dem mg_client habe ich leider nicht geschafft, GMCP-Daten zu
empfangen. Evtl. laesst das der Proxy nicht zu. Mit meinem eigenen,
auf websockify basierenden Client klappt das aber jetzt.

Ich schaue mir mal github.com/xrm/websockify/ an und melde mich dann
nochmal.

Noch eine Frage: gibt es derzeit Leute, die an Web-clients arbeiten?

Danke und Gruesse, Pico

-----------------------------------------------------------------------------



Re^3: GMCP im Web-Client (Zesstra,  6. Dez 2014, 17:49:06):
~#! rn=Pico rt=1417884180 rg=entwicklung
~#! tid=1417863249
Wie Arathorn schon schrieb: kein GMCP-Support (oder ueberhaupt Support fuer
Telnet Options) in mg_client.
Meines Wissens arbeitet da gerade keiner dran.

Zesstra

-----------------------------------------------------------------------------



Update zu Web-Client (Pico,  9. Dez 2014, 22:35:38):
Hallo,
ich habe letztes Wochenende noch das GMCP mit einem
(sehr schlichten) auto-mapper zum laufen bekommen.
Man koennte das auch leicht mit dem websockify-basierten Client
verbinden, weil ich da auch auf websockify aufgesetzt habe.

Ich finde der Web-Client von euch sieht sehr gut aus, wuerde aber
einige Aufraumarbeiten vorschlagen (z.B. werden sehr viele Dateien
im Projekt auf Github vom Client ueberhaupt nicht benutzt und machen
den Code nur unuebersichtlicher). Mit wem koennte ich denn daruerber
sprechen? Wer ist XRM / YEN (dort als Autor genannt) und wie koennte
ich ihn/sie kontaktieren?

Unter der Woche habe ich dafuer leider keine Zeit, aber ich hoffe
am kommenden Wochenende habe ich ein wenig Zeit um damit weiter-
zu machen.

Danke und gruesse, Pico

-----------------------------------------------------------------------------



Re: Update zu Web-Client (Zesstra,  9. Dez 2014, 22:42:32):
~#! rn=Pico rt=1418160938 rg=entwicklung
~#! tid=1418160938
xrm und yen sind eine Person, naemlich yen@nightfall.
Das Projekt ist wie gesagt ein Fork mit minimalen Aenderungen eines
bestehenden Projekts (websockify). Ich persoenlich (und vermutlich auch Yen)
wuerde bevorzugen, nur wirklich notwendige oder zumindest leicht zu pflegende
Aenderungen/Patches ggue. dem Upstream-Projekt zu pflegen. D.h. naemlich eben
gerade nicht, den Fork "komplett" zu machen, alles unnoetige rauszuwerfen und
fortan alles selber zu entwickeln.
Am besten waere sogar, wenn man gar keine eigenen Aenderungen braeuchte und
einfach direkt den Code  vom Upstream-Projekt nehmen koennte. ;-)

Zesstra

-----------------------------------------------------------------------------



Re: Re: Update zu Web-Client (Pico,  9. Dez 2014, 22:59:29):
~#! rn=Zesstra rt=1418161352 rg=entwicklung
~#! tid=1418160938
Danke fuer die Info. Aufwand gering zu halten ist eine gute Idee.
Ich dachte an eine Loesung, bei der man mit einer Ausnahme alle
Dateien aus dem Upstream-Projekt komplett unveraendert uebernimmt.
Aber ob das auch wirklich so klappt kann ich noch nicht genau sagen.

Eine andere Frage ist natuerlich, was man als Zielvorstellung fuer
diesen Client hat: nur ein moeglichst einfacher Client fuer Leute,
die nur einmal reinschnuppern moechten, oder ein Client mit zumindest
einigen weitergehenden Komfort-Features der auch richtig auf Dauer
zum Spielen verwendbar ist.

Wenn man einige weitergehnde Features moechte (zB separates Fenster
fuer channels), dann kommt man um substantielle Erweiterungen
gegenuerber websockify nicht herum. In websockify ist der telnet
client ja nur als ein Beispiel gedacht, nicht als vollwertiger
Client.

Egal wie, ich finde Ihr habt mit Eurem Web-Client schon eine sehr
gute Grundlage!

Gruesse, Pico

-----------------------------------------------------------------------------



Re^3: Update zu Web-Client (Zesstra,  9. Dez 2014, 23:13:32):
~#! rn=Pico rt=1418162369 rg=entwicklung
~#! tid=1418160938
Das freut mich zu hoeren.
Tja, also, das Ziel ist eine gute Frage. Da sollte man sich am besten mit Yen
unterhalten. Ich fuer mich muss sagen, dass ich zu wenig Zeit habe, mich neben
dem Mud viel um nen Client zu kuemmern. Ich bin auch erstmal mit einem
einfachen Client zufrieden. Aber wenn es programmierinteressierte gibt, die da
Support fuer GMCP, Mapper, einfache Trigger etc. reinbasteln wollen, spricht
da sicher nix gegen. Vor allem nicht, wenn man das nicht fuer jedes Mud neu
bauen muss. Es kritisch ist da die Frage des laengerfristigen Supports
sozusagen, damit die Arbeit nicht schnell wieder obsolet wird. ;-)

Zesstra

-----------------------------------------------------------------------------



Kraeuter und unwirksame Kraeuter (Humni,  2. Jan 2015, 14:23:47):
Hallo ihr,

da wir gerade einiges neu basteln und uns insbesondere mit Kraeutern
beschaeftigen, kann es vorkommen (und sollte es auch), dass Ihr ueber Kraeuter
stolpert, die auch da wachsen, wo vorhe keine wuchsen.

Einerseits erneut der Hinweis: Es bringt recht wenig, fehlende Details an
diesen Kraeutern oder gar im Raum abzusetzen, da das die falsche Adresse ist.
Vielleicht wird es da irgendwann Details dran geben, aber derzeit sind andere
Dinge prioritaer.

Ferner kann es sein, dass Ihr ein Kraut mit dem Zusatz "(unwirksam)" pflueckt.
Da man derzeit mit den Kraeutern noch nicht viel machen kann, wundert Euch
einfach nicht drueber, wenn man damit was machen kann, sollte es da auch
wirksame Kraeuter geben. Also nicht wundern - all das ist so, wie es sein
sollte, nach derzeitigem Stand.

Humni

-----------------------------------------------------------------------------



Re: Kraeuter und unwirksame Kraeuter (Humni,  2. Jan 2015, 14:31:00):
~#! rn=Humni rt=1420205027 rg=entwicklung
~#! tid=1420205027
Ok, um das Ganze zu konkretisieren: Wenn ihr ein Kraut mit dem Zusatz
(unwirksam) findet, dann schreibt bitte eine Mail mit dem Krautnamen und einer
Beschreibung, wo ihr das Kraut gefunden habt, an einen Erzmagier Eurer Wahl.

Fehlende Details koennt ihr, wie gesagt, daran ignorieren, Typos koennt ihr
natuerlich auf demselben Wege melden (aber bitte per Mail und nicht per typo,
da das, wie gesagt, die falsche Adresse ist).

Humni

-----------------------------------------------------------------------------



Demo Web-Client (Pico,  4. Jan 2015, 19:44:19):
Hallo allerseits,
ich habe nun eine kleine Demo-Webseite fuer den Web-Client
aufgesetzt. Es ist natuerlich nur eine fruehe alpha-Version, vermutlich
mit vielen Fehlern. Bisher habe ich es nur mit Firefox unter MacOS getestet.
Habe schon gesehen, dass es unter Windows recht unschoen aussieht, wegen
Scrollbalken. Auf der Seite sind auch 2 Screenshots, damit man sehen kann
wie es gedacht ist.
Hier die Adresse: http://picoatmg.github.io/temp

Wuerde mich freuen wenn der eine oder die andere mal draufschauen wuerde.
Rueckmeldungen sind natuerlich willkommen. :-)

Gruesse, Pico

-----------------------------------------------------------------------------



Re: Demo Web-Client (Zesstra,  4. Jan 2015, 20:13:13):
~#! rn=Pico rt=1420397059 rg=entwicklung
~#! tid=1420397059
Oh, die Demo sieht huebsch aus. Der Automapper ist schick. Wirst Du da nen
oeffentlichen Fork von websockify haben oder hast Du schon?

Zesstra

-----------------------------------------------------------------------------



Re: Re: Demo Web-Client (Pico,  4. Jan 2015, 20:21:30):
~#! rn=Zesstra rt=1420398793 rg=entwicklung
~#! tid=1420397059
Danke fuers ausprobieren. Einen fork mache ich nicht, da ich den
Hauptteil von websockify unveraendert verwende (und zwar den proxy
server). Man kann dafuer also direkt das websockify-Projekt verwenden.
Es gibt nur eine Datei, die ich uebernommen und abgeaendert habe
(das telnet-Beispiel).
Aber ich werden natuerlich die sourcen auch auf github hochladen
unter einer open-source lizenz. Will damit nur noch warten, bis es
etwas stabiler ist.

Gruss, Pico

-----------------------------------------------------------------------------



Re^3: Demo Web-Client (Zook,  5. Jan 2015, 09:21:44):
~#! rn=Pico rt=1420399290 rg=entwicklung
~#! tid=1420397059
Ich habe es unter Chromium/Linux ausprobiert, schaut gut und wirkt
sehr funktionell! Tolle Karte.

Zook

-----------------------------------------------------------------------------



Re^3: Demo Web-Client (Zook,  5. Jan 2015, 09:24:38):
~#! rn=Pico rt=1420399290 rg=entwicklung
~#! tid=1420397059
Unter Internet Explorer und Windows ging es auch soweit ich testete.
Zook

-----------------------------------------------------------------------------



Re: Demo Web-Client (Amaryllis,  5. Jan 2015, 09:38:11):
~#! rn=Pico rt=1420397059 rg=entwicklung
~#! tid=1420397059
Tut unter Firefox auf Win7...

Ich finds insbesonders fuer Anfaenger ganz schick.

Ama*

-----------------------------------------------------------------------------



Kleinigkeiten bei Erstkills (Arathorn,  5. Jan 2015, 18:05:09):
Hallo zusammen,

ich habe heute im Laufe des Tages einige NPCs so geaendert, dass sie jetzt
von Brumni in der Region gemeldet werden, in der sie auch tatsaechlich
angeschlossen sind. Bei einigen anderen habe ich Brumni-Tips nachgetragen,
die jetzt etwas besser Aufschluss geben, worum es sich handelt. Einige
weitere haben jetzt ueberhaupt erstmals einen sinnvollen Brumni-Tip, so 
dass sie jetzt auch auf euren Listen auftauchen duerften.

Es gibt ausserdem einige wenige Erstkills, die reaktiviert werden konnten.

Insgesamt kann es bei einigen von euch zu Aenderungen in der Stups-Anzahl
gekommen sein, und bei einigen weiteren zu Aenderungen auf der Brumniliste.
In Zukunft koennen zusaetzlich NPCs neu auftauchen, die ihr noch nie 
zuvor auf der Liste gesehen habt.

Gruss, Arathorn.

-----------------------------------------------------------------------------



Re: Re: Demo Web-Client (Pico,  5. Jan 2015, 18:06:51):
~#! rn=Amaryllis rt=1420447091 rg=entwicklung
~#! tid=1420397059
Danke fuer die Rueckmeldungen! Ich werde mal am kommenden Wochenende einige
kleinere Probleme beheben (Scrollbalken unter Windows) und eine kurze
Doku schreiben.
Freut mich, dass es soweit auch unter anderen Browsern laeuft. Leider gibt
es auf iOS-Geraeten ein Problem, dass sich nicht so leicht beheben laesst.
Android-Geraete sollten besser funktionieren, habe ich aber noch nicht
testen koennen.

Gruesse, Pico

-----------------------------------------------------------------------------



Re: Re: Demo Web-Client (Moonshine,  5. Jan 2015, 19:34:13):
~#! rn=Amaryllis rt=1420447091 rg=entwicklung
~#! tid=1420397059
Windows 7 & Firefox -> Es erscheint bei mir kein login-Text, ich kann aber
problemlos einloggen, dann laeuft alles.

Windows 7 & Opera 26: laeuft alles prima.

Sieht sehr gut aus fuer Anfaenger!

Als kleine Verbesserungsvorschlaege:
Schoen waere es, wenn der Textcursor unten in der Eingabe bleiben wuerde, wenn
man mal hochscrollt oder ueber Fensterwechsel mal nur blind auf den Haupttext
klickt (Das Gesuche, jedesmal unten die Leiste genau zu treffen, um weiteren
Text einzugeben, erfordert Zielwasser).
Und gewohnheitsmaessig waere es natuerlich toll, wenn der zuletzt eingebene
Text stehen bleibt und nochmal aufrufbar bleibt (mehrmals nach o laufen),
jedoch aber natuerlich, wenn man was anderes als Enter drueckt, automatisch
weg ist. Hoffe, dass war soweit nachvollziehbar erklaert :-)
Ich weiss nicht, ob und wie aufwendig sich das umsetzen laesst, erleichtert
aber vielleicht das ein oder andere den Newbies.

-----------------------------------------------------------------------------



Re^3: Demo Web-Client (Pico,  7. Jan 2015, 18:20:52):
~#! rn=Moonshine rt=1420482853 rg=entwicklung
~#! tid=1420397059
Danke Moonshine, das sind gute Ideen! Werde ich mir notieren.
Viele Gruesse, Pico

-----------------------------------------------------------------------------



Vereinigung von Geld, Boersen und Geldkarten (Zesstra, 11. Jan 2015, 20:06:03):
Mit dem Reboot habe ich eine neue Vereinigung von Geld, Boersen und Geldkarten
eingebaut.
Die alte Loesung war ein ziemlicher Hack (der zugebenermassen die Zeit gut
ueberdauert hat, aber auch ziemlich schwer nachzuvollziehen war).

Das Sollverhalten ist wie folgt:

Betrag ist positiv:
  mit der ersten geld-enhaltenen Geldboerse im Inventar vereinigen.
  Gibt es keine geld-gefuellte, wird die erste leere genommen.
Betrag ist negativ:
  Es wird versucht, mit geldgefuellten Boersen und aktiven Seherkarten
  (d.h. Karten, diesem Environment gehoeren) zu vereinigen.
  Es wird erst von einer Boerse "abgebucht" (falls vorhanden) und dann
  (falls noch noetig) von einer Geldkarte. Es wird nur die erste 
  geldgefuellte Boerse genommen (an sich sollte es nur eine benutzte
  zur gleichen zeit geben). Auch QueryMoney() im Moneyhandler benutzt
  nur die jeweils erste gefundene zur Ermittlung der Finanzkraft.
  Ist der Betrag am Ende immer noch negativ, wird ein Fehler
  ausgeloest.

Ansonsten kann man weiter nur eine Geldboerse sinnvoll benutzen, gibt es im
Inventar eine, die Geld enthaelt, kann man nur in diese auch wieder Geld
reinstecken.

Zesstra

-----------------------------------------------------------------------------



Re: Vereinigung von Geld, Boersen und Geldkarten (Zesstra, 11. Jan 2015, 21:29:12):
~#! rn=Zesstra rt=1421003163 rg=entwicklung
~#! tid=1421003163
Ab naechstem Reboot (also gleich) finden zumindest standardkonforme Laeden und
Geldempfaenger euer Geld auch, wenn die volle Boerse nicht die erste im
Inventar ist oder wenn ihr auch noch eine Geldkarte eines anderes Spielers
dabei haben solltet.

Zesstra

-----------------------------------------------------------------------------



Re: Re: Vereinigung von Geld, Boersen und Geldkarten (Zesstra, 11. Jan 2015, 23:31:00):
~#! rn=Zesstra rt=1421008152 rg=entwicklung
~#! tid=1421003163
Nach Diskussion mit einem Mitspieler formuliere ich die Sache mit "nur eine
Boerse benutzbar" etwas anders: hat man eine oder mehrere Geldboerse mit Geld
im Inv, kann man kein Geld in welche tun, die kein Geld enthalten.
Natuerlich kann man volle Geldboerse noch austauschen und muss sie nicht
vorher leer machen. Dann wird die erste gefuellte im Inventar benutzt.

Man kann ausserdem wieder Geld aus Boerse explizit in sein Inventar rausnehmen
und es landet nicht wieder in der Boerse (das war auch etwas unbeabsichtigt).
Zumindest nicht, bis wieder neues Geld im Inventar landet...

Zesstra

-----------------------------------------------------------------------------



Re^3: Vereinigung von Geld, Boersen und Geldkarten (Zesstra, 11. Jan 2015, 23:41:40):
~#! rn=Zesstra rt=1421015460 rg=entwicklung
~#! tid=1421003163
So, um eine Diskussion von denen Ebenen hier festzuhalten:
Es wurden verschiedenerlei Einwaende geaeussert von Leuten, die das neue
Verhalten nicht moegen.

Ich habe das eingebaut, weil dieser Wunsch nach automatischem einpacken in die
Geldboerse stecken ueber die Jahre oefter kam und es mir eigentlich auch sehr
konsequent erscheint (nicht nur technisch). Wenn ich Geld automatisch
rausnehme zum bezahlen, warum sollte ich es nicht auch automatisch reinlegen?

Ansonsten kann ich auch das vereinigen entfernen - sogar ganz, dann muss man
vor Bezahlen Geld per Hand rausnehmen oder von der Geldkarte abheben (das ist
naemlich der gleiche Mechanismus, der dahinter steckt).
Ob ich da jetzt aber viel Zeit in 'individuelle Konfiguration' (pro
Geldboerse? pro Spieler?) oder 'vereinigen ausbauen und es selektiv in Laeden
einbauen' (damit man nur im Laden automatisch in die Geldboerse steckt)
investieren kann und will, muss ich mir erst reiflich ueberlegen.

Ich habe auch den Eindruck, dass nicht allen klar ist, dass das alles nicht
wenig Arbeit bedeutet. Allein am Umbau dieses Mechanismus inkl. Studium des
alten sind locker 3 Abende drauf gegangen. So Diskussionen foerdern
letztendlich enorm die Neigung, ueberhaupt nichts am Spiel zu aendern. Sicher
sind naemlich eigentlich nur Dinge, von denen Spieler nix merken. Oh, oder
doch nicht: macht man nen Fehler in diesem ziemlich komplexen System, sind
naemlich auch alle am Schreien.

Wenn ihr moegt, koennt ihr mir ein Meinungsbild geben und auch etwas zu diesen
Moeglichkeiten sagen:
1) erhaltenes Geld gar nicht in Boersen bewegen
2) wie 1 aber auch kein Geld automatisch rausnehmen
3) Geld aus Behaelter im Inventar nicht in Boersen bewegen

Andere Optionen haengen davon ab, wie viele Zeit und Lust ich so dafuer
aufbringen kann.

Zesstra

-----------------------------------------------------------------------------



Ignorieren auf Ebenen (Zesstra, 17. Jan 2015, 00:41:59):
Huhu,

es gab ein Problem mit dem Ignorieren auf Ebenen. Nach einem Ende/reboot
sollte es gehen.
Syntax: ignoriere <spieler>.ebenen.<ebene>

z.B. ignoriere jof.ebenen.moerder

Zesstra

-----------------------------------------------------------------------------



Transportmittel und Reisemoeglichkeiten (Arathorn, 18. Jan 2015, 18:24:17):
Hallo zusammen,

ich habe gestern und heute mit Zesstras Unterstuetzung einige Aenderungen
am Reisesystem vorgenommen, d.h. an den Schiffen und sonstigen Transportern
wie zum Beispiel Pegasus. Diese habe ich vorhin im Spiel aktiviert.

Was hat sich also geaendert?

Anlass des Ganzen war eine Fehlermeldung eines Spielers zu einem voellig
inkonsistenten Transporter, den man mit "reise" quasi gar nicht sinnvoll
bedienen konnte. Ich weiss, ich weiss - ihr werden nun sagen, "aber, aber,
die Galeere nach Orkhausen, die war immer schon kaputt!" und ich muss nach
den Arbeiten der letzten Tage zustimmen.

Das Problem der Transporter lag jedoch tiefer, so dass ich etwas laenger
graben musste, um die Ursache dafuer zu finden. Letztendlich lag es an einer
fehlerhaften Verarbeitung der Hafenkennzeichnungen durch den "reise"-Befehl.
Konkret war es so, dass man z.B. dem Anleger im Verlorenen Land zwar sagen
konnte "Du bist jetzt auch als 'vland' zu erreichen," das aber niemanden
interessiert hat, schon gar nicht die Kapitaene der Schiffe. Das ist jetzt
korrigiert.

Der Vorteil daran ist, dass jetzt *jedes* Schiff, das das Verlorene Land
ansteuert, auf "reise nach vland" reagiert, d.h. Galeere, Bierfass, 
Holzfrachter, Barke. Richtig: die langersehnten Ziel-Kuerzel gibt es jetzt.
Ich habe einige weitere Haefen bereits mit Kuerzeln ausgestattet, siehe 
"hilfe reise".

Wie es aber immer so ist, bringt so eine Aenderung unter Umstaenden
Verwerfungen im Raum-Zeit-Gefuege mit sich, auch als Transporterfehlfunktion
bekannt. ;-) Unten steht, ueber was ihr in der naechsten Zeit so alles
stolpern koenntet. Alles das sind jedoch nur temporaere Schwierigkeiten, 
und es sieht vielleicht schlimmer aus, als es ist. 

Welche Probleme koennen auftreten?

1) vormals existierender Transporter ist verschwunden
     -> direkt Bescheid sagen
2) existierender Transporter faehrt Haltepunkt nicht mehr an 
     -> direkt Bescheid sagen
3) "reise nach <ziel>" funktioniert nicht, wenn <ziel> mehr als ein Wort ist
   (koennte bei "Shaky Island" passieren)
     -> einmal "ende" machen
4) "reise route" spuckt Muell aus 
     -> nur Bescheid sagen, falls dabei kein FiRZG auftrat. Wenn doch, 
        haben wir das ohnehin auf dem Radar.
5) Zielort bzw. Anlegestelle hat einen umstaendlichen Namen und waere 
   huebscher ueber ein Kuerzel zu erreichen
     -> direkt Bescheid sagen
6) Zielort ist nicht ueber den erwarteten Namen erreichbar
     -> Handelt es sich um einen Zielort gemaess (3)? Dann "ende" machen.
        Ansonsten Bescheid sagen.
        
Probiert einfach aus, das allermeiste muesste
aber mindestens so funktionieren wie gewohnt, an sich aber besser bzw.
komfortabler.

Gruss, Arathorn.

-----------------------------------------------------------------------------



Dokumentationsproblem zum stunnel (Vanion, 31. Jan 2015, 13:38:20):
Hi,

ich ab mir gerade einen Stunnel auf meinem Server eingerichtet und bin bei der
Beispiel-Konfiguration unter http://mg.mud.de/download/stunnel.shtml auf ein
unerwartetes Problem gestossen:

Der Server ist im IPv4 und IPv6 erreichbar, meine /etc/hosts sieht
entsprechend so aus:
 root@server:/# cat /etc/hosts
  127.0.0.1       localhost
  ::1             localhost ip6-localhost ip6-loopback
  ff02::1         ip6-allnodes
  ff02::2         ip6-allrouters

Durch die Beispiel-Konfiguration auf der Seite fuer den MG-Tunnel ...
   [mg]
   client = yes
   connect = mg.mud.de:4712
   accept = localhost:4711

...bindet sich der stunnel auf die v6-Adresse:
  root@server:/# netstat -an | grep 4711
   tcp6       0      0 ::1:4711                :::*                    LISTEN

Das Ergebnis ist, dass "telnet localhost:4711" nicht funktioniert. Ob das
jetzt daran liegt, dass mg.mud.de keinen AAAA-Eintrag hat und nicht im IPv6
ist, oder der Port auf dem Server im IPv6 nicht gebunden ist oder "telnet
localhost:4711" es nur auf v4-Port hoert, habe ich nicht weiter untersucht.
Das Ergebnis ist jedenfalls, dass keine Verbindung aufgebaut wird.

Meine Loesung war, die Bindung auf das v4-localhost zu erzwingen:
  root@server:/# cat /etc/hosts
   127.0.0.1       localhost ip4-localhost
   ::1             localhost ip6-localhost ip6-loopback
   ff02::1         ip6-allnodes
   ff02::2         ip6-allrouters
  root@server:/# tail /etc/stunnel/stunnel.conf
   [mg]
   client = yes
   connect = mg.mud.de:4712
   accept = ip4-localhost:4711
  root@server:/# netstat -an | grep 4711
   tcp        0      0 127.0.0.1:4711          0.0.0.0:*               LISTEN
   tcp        0      0 127.0.0.1:58089         127.0.0.1:4711         
ESTABLISHED

Laeuft! Und zwar in diesem Moment :)

Ein einfacherer Weg waere es auch gewesen, in der Konfigdatei gleich direkt
127.0.0.1 einzutragen, aber das haette ich als unschoen empfunden.

Ich denke die Seite muesste mal angepasst werden.

V*

-----------------------------------------------------------------------------



Re: Dokumentationsproblem zum stunnel (Gloinson, 31. Jan 2015, 14:09:57):
~#! rn=Vanion rt=1422707900 rg=entwicklung
~#! tid=1422707900
Der letztgenannte einfache Weg steht in der Windows-Doku auf der Seite.
Wahrscheinlich wegen des selben Problems bei mir ;)

http://mg.mud.de/download/stunnel.shtml


-----------------------------------------------------------------------------



Re: Re: Dokumentationsproblem zum stunnel (Vanion, 31. Jan 2015, 14:24:31):
~#! rn=Gloinson rt=1422709797 rg=entwicklung
~#! tid=1422707900
Das hab ich wohl gesehen, aber ich hab ja nun keine Win-Maschine also habe ich
einen vernuenftigen stunnel4-Service aufgesetzt und bin in die v4/v6-Falle
getappt. Hat ein bisschen Doku lesen gebraucht, bis ich das Problem verstanden
habe. Daher waere ein kleiner Hinweis auf der Website, dass der Tunnel in v4
sein muss und wie man das sicherstellt hilfreich. Immerhin fangen einige
Kabelbetreiber an, aus Kostengruenden v6-only-zugaenge zu vergeben und
serverseitig 6to4 zu machen.

V*

-----------------------------------------------------------------------------



Re^3: Dokumentationsproblem zum stunnel (Zook,  1. Feb 2015, 16:24:26):
~#! rn=Vanion rt=1422710671 rg=entwicklung
~#! tid=1422707900
Wobei ich bei Unitymedia da kein Problem dieser Art hatte, Vanion und ich
Wobei ich bei Unitymedia da kein Problem dieser Art hatte, Vanion und ich
meine,
meine Konfiguration waere so wie auf der Homepage beschrieben. Ich sollte es
mir
nachher noch mal ansehen und die Doku etwas ergaenzen.

Zook

-----------------------------------------------------------------------------



Re^4: Dokumentationsproblem zum stunnel (Bugfix,  1. Feb 2015, 17:00:26):
~#! rn=Zook rt=1422804266 rg=entwicklung
~#! tid=1422707900
Moin,

Bei mir hatte es mit localhost auch nicht funktioniert, daher hatte Gloinson
die Doku fuer Windows auf der Webseite auch auf 127.0.0.1 geaendert. Bei mir
ist es auch Unity Media.

BF

-----------------------------------------------------------------------------



Re^5: Dokumentationsproblem zum stunnel (Zook,  2. Feb 2015, 10:14:35):
~#! rn=Bugfix rt=1422806426 rg=entwicklung
~#! tid=1422707900
Ah, dann muss ich zu Haus dann doch noch mal pruefen, wie ich das
genau eingerichtet habe.

Zook

-----------------------------------------------------------------------------



Re^6: Dokumentationsproblem zum stunnel (Zook,  5. Feb 2015, 20:48:40):
~#! rn=Zook rt=1422868475 rg=entwicklung
~#! tid=1422707900
Hm. ich habe es nun wie auf der Homepage eingerichtet und es geht
problemlos von Unitymedia aus. 

Hmm.... Was muessen wir da nun noch anpassen? 

Zook

-----------------------------------------------------------------------------



Re^7: Dokumentationsproblem zum stunnel (Vanion,  9. Feb 2015, 20:26:15):
~#! rn=Zook rt=1423165720 rg=entwicklung
~#! tid=1422707900
Den Hinweis, dass localhost in der eigenen /etc/host als v6-localhost
definiert sein kann und der stunnel sind dann ins v6-netz legt. um das zu
verhindern muss man explizit eine v4-Adresse angeben. Entweder direkt, wie bei
der Windows-Variante oder indem man ein localhost-v4 definiert.

stunnel ist v6-faehig, wenn du ihm eine v6-adresse gibst, bindet er sich ins
v6. Der Hinweis haette mich 2h Manpages lesen erspart. Ich wuerde unter der
Linux-Sektion auch noch den Hinweis (die Befehlszeile) zur Ueberpruefung des
Tunnels angebne.

V*

-----------------------------------------------------------------------------



Standard-Toplisten (Zesstra,  8. Mar 2015, 13:20:47):
Huhu,

die allgemeinen Toplisten in den Kneipen waren eine Weile nicht mehr so in
Ordnung. Ich habe den dahinter stehenden Mechanismus jetzt neu gebaut.

Die Aktualisierung der Werte in diesen Listen wird durch den Spielerlogin,
Stufenaufstieg, Questloesung oder Miniquestloesung ausgeloest, d.h. die Listen
sollten jetzt auch aktueller als bisher sein.

Die Listen enthalten allerdings nur Spieler, welche seit letztem Mittwoch
eingeloggt haben - sorry.

(Zur Zweit werden einige Spieler mit Level 0 angezeigt, allerdings richtig
sortiert. Das normalisiert sich, sobald die entsprechenden Spieler einloggen.)

Zesstra

-----------------------------------------------------------------------------



ausjesperrt? (Anatol, 14. Apr 2015, 07:48:00):
Welche Netze werden vom MG derzeit noch ausgeschlossen? Mir duenkt,
dass die NetCologne im Rahmen einer Anti-DDOS-Massnahme noch die eine
oder andere fuer Betroffene eher unvorteilhafte Regel aktiv haelt.

Zumindest nehme ich wohlwollend an, dass die Ursache darin liegt.


-----------------------------------------------------------------------------



Flaschen im MG.. (Zesstra, 29. Apr 2015, 00:01:31):
Huhu,

ich habe heute einige Umbauarbeiten an der Standardflasche gemacht.
Einiges ist nur unter der Haube wichtig, aber die Flasche kann einige Syntaxen
mehr. (fuelle flasche in x, fuelle x in flasche, fuelle flasche aus x, fuelle
x aus flasche, fuelle flasche mit x, fuelle x mit flasche)
(z.B. koennen Kessel zum Kochen von Kraeutertees so befuellt werden)

Das gilt aber
a) nur fuer Flaschen, die letztendlich auf die Standardflasche der Mudlib
zurueckgehen - das sind leider nicht alle,
b) nur fuer neu geladene Flaschen, d.h. fuer den Grossteil erst nach Reboot,
c) nur wenn der Raum das auch unterstuetzt.

Daher wird es eine Weile dauern, bis das wirklich so benutzbar ist.

Zesstra

-----------------------------------------------------------------------------



Warenanzeige in Laeden (Arathorn, 16. Aug 2015, 21:53:27):
Hallo zusammen,

den Befehl "zeige" kennt sicher jeder von euch, der sich schon einmal das
Angebot in einem Laden anzeigen lassen wollte. Dass dieser Befehl die
Argumente "waffen", "ruestungen" und "verschiedenes" versteht, um die
angezeigte Liste einzuschraenken, ist wahrscheinlich auch den meisten
bekannt.

Auf Anregung eines Spielers, die wir gerne aufgegriffen haben, habe ich 
den Standardladen ueberarbeitet, so dass er auf Wunsch nun auch eine
einspaltige Anzeige beherrscht. Anlass war, dass einige Gegenstaende sehr
lange Namen haben koennen, so dass man nicht erkennen kann, was da 
eigentlich angeboten wird.

Die neue Anzeige steht mit dem Befehl "zeige lang" oder "zeige -1" zur 
Verfuegung, jedoch nur in Laeden, die seit der Aenderung mal neugeladen
wurden. Bei den meisten Laeden wird der Befehl voraussichtlich erst mit dem
naechsten Reboot funktionieren.

Gruss, Arathorn

-----------------------------------------------------------------------------



Re: Warenanzeige in Laeden (Arathorn, 26. Aug 2015, 18:39:00):
~#! rn=Arathorn rt=1439754807 rg=entwicklung
~#! tid=1439754807
Nochmal zu den Laeden: Mir fiel bei der neuerlichen Durchsicht der Technik
im Laden auf, dass man sich in jedem normalen Laden auch die Beschreibung
einzelner Gegenstaende anzeigen lassen kann. Dies geht mit den Befehlen
"unt <nummer>" oder "unt <name> im laden".

Ich dachte, ich geb die Info mal weiter, weil das ein Feature ist, das schon
oefter mal gewuenscht wurde, aber schon seit gefuehlten Ewigkeiten 
existiert.

Gruss, Arathorn.

-----------------------------------------------------------------------------



Re: Re: Warenanzeige in Laeden (Zaphob, 27. Aug 2015, 16:33:09):
~#! rn=Arathorn rt=1440607140 rg=entwicklung
~#! tid=1439754807
Danke. Das letzte ist vielleicht deshalb so unbekannt, weil es nicht auf den
normalen Schildern im Shop erwaehnt wird? Zum ausprobieren war es mir zu
abwegig. Aber super Funktion!

-----------------------------------------------------------------------------



Re: Re: Warenanzeige in Laeden (Masul, 28. Aug 2015, 16:05:50):
~#! rn=Arathorn rt=1440607140 rg=entwicklung
~#! tid=1439754807
hm. Wenn ich mir bei Owen Braddon mit "zeige" die Liste anzeigen lasse und
anschliessend z.B. mit "unt 1" den ersten Gegenstand untersuche, dann stimmt
der beschriebene Gegenstand nicht mit dem gelisteten ueberein.

Grus
Masul

-----------------------------------------------------------------------------



telnet keepalive - disconnects (Zesstra,  7. Dez 2015, 23:01:23):
Einige Spieler haben gehaeuft Probleme mit Disconnects.
Ich habe aufgrund von Tests mit Ringor jetzt das Intervall fuer mudseitige
"telnet keepalive" (s. hilfe) auf 4min reduziert. Das hat bei Ringor die
Probleme beseitigt (mit TF und telnet).

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

-----------------------------------------------------------------------------



Re: telnet keepalive - disconnects (Zesstra,  8. Dez 2015, 00:04:19):
~#! rn=Zesstra rt=1449525683 rg=entwicklung
~#! tid=1449525683
Achja: es erfordert ende/reboot.

Zesstra

-----------------------------------------------------------------------------



Report (jetzt senden) (Zesstra,  9. Jan 2016, 19:06:28):
Das Kommando report hat jetzt ein neues Argument 'senden'. Dies sendet einmal
sofort einen Report mit den aktuellen Einstellungen des Charakters. Ggf.
werden also beide Zeilen gesendet.
Dies kann zum Testen verwendet werden oder wenn der Client nach dem Verbinden
alle Daten einmal braucht. (Nutzt man GMCP, werden die Daten per GMCP
gesendet.)

Zesstra

-----------------------------------------------------------------------------



Re: Report (jetzt senden) (Cruix,  9. Jan 2016, 22:07:23):
~#! rn=Zesstra rt=1452362788 rg=entwicklung
~#! tid=1452362788
Gibt es eine Dokumentation zu GMCP, oder muss man sich das Protokoll aus der
Implementierung in der Mudlib erschliessen?

Gruss,
Cruix

-----------------------------------------------------------------------------



Re: Re: Report (jetzt senden) (Croft,  9. Jan 2016, 22:20:52):
~#! rn=Cruix rt=1452373643 rg=entwicklung
~#! tid=1452362788
'hilfe gmcp' enthaelt noch nicht genuegend Hinweise?

Croft

-----------------------------------------------------------------------------



Re: Re: Report (jetzt senden) (Zesstra,  9. Jan 2016, 22:21:02):
~#! rn=Cruix rt=1452373643 rg=entwicklung
~#! tid=1452362788
Es gibt die Hilfeseite "gmcp" dazu. Die sollte alles MG-spezifische nennen,
falls was fehlt, gerne bescheidsagen (oder noch besser Vorschlag machen).
Die Transportspezifikation muesstest Du mal im Netz suchen. Leider ist das
recht schlecht dokumentiert. Brauchst Du aber nicht unbedingt, wenn Dein
Client GMCP grundsaetzlich unterstuetzt.
Sehe gerade, dass der Autor von mushclient sich die Muehe gemacht hat, das
nochmal aufzuschreiben, nachdem mudstandard.org gestorben ist (IMHO zurecht,
aber das ist nen anderes Thema): http://www.gammon.com.au/gmcp

Zesstra

-----------------------------------------------------------------------------



Re^3: Report (jetzt senden) (Cruix,  9. Jan 2016, 22:26:20):
~#! rn=Croft rt=1452374452 rg=entwicklung
~#! tid=1452362788
Danke!

-----------------------------------------------------------------------------



Ignorieren von Freundschaftsangeboten (Zesstra,  9. Apr 2016, 15:52:52):
... geht jetzt wie bei den anderen Ignoriereeintraegen auch:
<spieler>.freundschaft bzw. .freundschaft
(freundschaft.spieler geht in Zukunft NICHT mehr.)

Zesstra

-----------------------------------------------------------------------------



Befehle und Syntaxen im Mud (Zesstra, 17. Jun 2016, 19:29:55):
Huhu...

ich plane ein kleines (oder groesseres) Entwicklungsprojekt im Bereich
"Befehle und Syntaxen im Mud". Ich moechte noch nicht auf Details eingehen,
aber ich habe einige Ideen, um Befehle im MG flaechendeckend flexibler zu
machen und Spieler und Magier zu entlasten, indem das Spiel besser die Absicht
des Spielers bei einem Befehl erkennt. Diese Ideen wuerde ich gerne in den
naechsten paar Monaten antesten - vielleicht kommt etwas dabei heraus,
vielleicht auch nicht.

Damit ich das machen kann, braeuchte ich aber eure Hilfe. Und zwar brauche ich
ein moeglichst grosse Anzahl unterschiedlicher Befehle und die Angabe dazu, ob
die erfolgreich waren oder nicht.

Hierzu moechte ich bei damit einverstandenen Spielern die Syntaxen, den Erfolg
des jeweiligen Befehls und den ungefaehren Ort (Magier+Region) speichern.
Dieses erfolgt so, dass die Daten aus dem Spiel selber nicht lesbar sind und
man EM oder Gott sein muss, um sie einzusehen. Nicht gespeichert wird, von
welchem Char ein Befehl abgesetzt wurde. Ausserdem werde ich
Kommunikationsbefehle wie "teile-mit", sage, fluester, rufe ausfiltern, die
werden gar nicht erst gespeichert. Damit sollten in aller Regel keine
Rueckschluesse auf einzelne Spieler moeglich sein.

Spieler wuerden ein Kommando bekommen, mit welchem sie diese Datenerhebung
jederzeit (fuer die Zukunft) ein- und ausschalten koennen. (Da nicht
gespeichert wird, von wem ein Befehl kam, kann man aber nicht die Daten eines
bestimmten Chars loeschen.)

Und bevor ich jetzt anfange, irgendwas zu programmieren: Koennt ihr euch
vorstellen, dabei mitzumachen und diese Datensammlung in euren Chars zeitweise
einzuschalten? (Wenn es keiner machen wuerde, spare ich mir das Projekt.)
Mir hilft auch, wenn ihr mir per Mail oder TM euren Standpunkt mitteilt.

Zesstra

-----------------------------------------------------------------------------



Re: Befehle und Syntaxen im Mud (Mundron, 17. Jun 2016, 20:17:56):
~#! rn=Zesstra rt=1466184595 rg=entwicklung
~#! tid=1466184595
Also wenn ich das mit eigenen Worten wiederholen darf:
Wir helfen indem wir eine Funktion einschalten, bei der die genutzten Befehle
gespeichert werden?
Meinerseits helfe ich dabei sehr gerne. Ich wuerde mitmachen bei der
Datensammlung.
Kleine Zwischenfrage vielleicht: Ist die Sammlung der Daten auch wichtig, wenn
man neue Gebiete erforscht und dabei ggf verschiedene Syntaxen ausprobiert?

-----------------------------------------------------------------------------



Re: Re: Befehle und Syntaxen im Mud (Zesstra, 17. Jun 2016, 20:38:28):
~#! rn=Mundron rt=1466187476 rg=entwicklung
~#! tid=1466184595
Ja, das ist so ziemlich die Zusammenfassung. ;-) Spaeter kann man sicherlich
auch beim Testen helfen.
Ohja, neue Gebiete auch gerne. Oder generell: vor allem beim Forschen ist das
interessant. Beim Ideln, Chatten oder reinem Metzeln sind die Kommandos eher
weniger interessant.

Zesstra

-----------------------------------------------------------------------------



Syntaxsammlung (Zesstra, 18. Jun 2016, 17:01:02):
Huhu,

ich habe jetzt die Moeglichkeit eingebaut, bei dieser Syntaxsammlung helfen zu
koennen. Mit dem Kommando "syntaxsammlung" laesst sich dies jederzeit ein- und
ausschalten. (siehe Hilfeseite)

Uebliche Kommunikationsbefehle (z.B. sage, frage, teile-mit, erwidere,
teamrufe, mail, etc.) werden NICHT gespeichert.

Und weil vor allem (komplexe) Kommandos beim Forschen interessant sind,
weniger beim Metzeln, Ideln, Chatten etc. (Kommunikation s.o.), werden zur
Zeit nur Befehle erfasst, welche mehr als 2 Woerter enthalten.

Ein Beispiel, was gespeichert wird:
Befehl                   |Gegend|Erfolg|Anzahl|FP
unt jeden zweiten vorhang|ebene |0     |1     |0


Erfolg ist alles, was kein Notifyfail ausloest, Anzahl, wie oft diese Syntax
schonmal benutzt wurde und FP, ob diese Syntax (irgendwo) einen FP gegeben
hat.

Waer schoen, wenn immer mal wieder beim Forschen Leute teilnehmen wuerden. :-)

Vielen Dank!

Zesstra

-----------------------------------------------------------------------------



Re: Syntaxsammlung (Zesstra, 18. Jun 2016, 21:28:38):
~#! rn=Zesstra rt=1466262062 rg=entwicklung
~#! tid=1466262062
Die Kommunikation ueber den Matrixkristall ist auch nicht erfasst.

Zesstra

-----------------------------------------------------------------------------



Re: Re: Syntaxsammlung (Zaphob, 19. Jun 2016, 09:48:35):
~#! rn=Zesstra rt=1466278118 rg=entwicklung
~#! tid=1466262062
Spannende Entwicklung, unterstuetze ich gerne!

-----------------------------------------------------------------------------



Re^3: Syntaxsammlung (Ceilo, 19. Jun 2016, 21:31:50):
~#! rn=Zaphob rt=1466322515 rg=entwicklung
~#! tid=1466262062
Bei mir funktioniert der Befehl "syntaxsammlung" nicht.

Ceilo

-----------------------------------------------------------------------------



Re^4: Syntaxsammlung (Arathorn, 19. Jun 2016, 21:38:43):
~#! rn=Ceilo rt=1466364710 rg=entwicklung
~#! tid=1466262062
Das geht erst nach Ende.

Arathorn.

-----------------------------------------------------------------------------



Re^5: Syntaxsammlung (Ceilo, 19. Jun 2016, 21:42:35):
~#! rn=Arathorn rt=1466365123 rg=entwicklung
~#! tid=1466262062
Ach so. Und dann geht's nicht mit "syntaxsammlung ein" oder
"syntaxsammlung an", sondern nur mit "syntaxsammlung ja". Die
Syntax der Syntaxsammlung will also auch erst mal erforscht sein...

Ceilo

-----------------------------------------------------------------------------



Re^6: Syntaxsammlung (Ark, 19. Jun 2016, 21:48:38):
~#! rn=Ceilo rt=1466365355 rg=entwicklung
~#! tid=1466262062
Das steht aber schon im Artikel, dass es eine Hilfeseite gibt, und dort wird
das erwaehnt. Wollte heute nur auchmal klug sein :-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^7: Syntaxsammlung (Zesstra, 19. Jun 2016, 22:29:45):
~#! rn=Ark rt=1466365718 rg=entwicklung
~#! tid=1466262062
Einige Fragen in der Zwischenzeit beantworte ich auch hier nochmal fuer alle:

Ebenen werden nicht erfasst. Emotes, Remotes sind ausgeschlossen, Editor,
Mails etc. auch. (Fuer Magier: fast alle Befehle aus P_LOCALCMDS sind aussen
vor.)
Allgemeine Ausnahmen sind momentan weiterhin: Befehle mit weniger als 3
Woertern und Befehle, welche laenger als 100 Zeichen sind.

Einige Befehle der Soul (diese nicke, grinse, lache, etc.) mit halbwegs hoher
Wahrscheinlichkeit der Kommunikation (z.B. (r)knuddel, (r)nicke) werden
ausgefiltert. Jedoch nicht alle, einmal wegen der Laenge der Liste und zum
anderen, weil es leider keinen schoenen Weg gibt, sie automatisch zu
uebernehmen.
D.h. normalerweise fallen sie alle raus (weil weniger als 3 Woerter), aber
wenn jemand mit /... ein individuelles Abverb angibt, ggf. auch nicht. Macht
ihr das oft und/oder stoert euch das, solltet ihr es nicht einschalten.

Zesstra

-----------------------------------------------------------------------------



Ignorieren von frufe (Zesstra,  3. Jul 2016, 21:51:05):
Huhu,

das frufe in neuen Freundschaftsbaendern laesst sich jetzt - wie
woanders auch - mit spieler.frufe bzw. .frufe (fuer alle) ignorieren.
(Dafuer geht aber "frufe" nicht mehr.)

Zesstra

-----------------------------------------------------------------------------



Re: Ignorieren von frufe (Zesstra, 12. Jul 2016, 22:39:54):
~#! rn=Zesstra rt=1467575465 rg=entwicklung
~#! tid=1467575465
Als Nebenwirkung der letzten Aenderung sind die frufe in der teile-mit-history
gelandet. Das war eigentlich nicht gewollt und ist mit neuen fbaendern nicht
mehr der Fall.

Zesstra

-----------------------------------------------------------------------------



oeffentliche Basismudlib (Zesstra, 17. Jul 2016, 11:15:31):
Huhu,

die oeffentliche Basismudlib ist jetzt als git-Repository auf
https://anonymizer.zesstra.de:8443/#/admin/projects/
abgelegt.
Das Repo mudlib-public wird ebenfalls nach github repliziert:
https://github.com/MorgenGrauen/mg-mudlib

Damit braucht es eigentlich keinen daily snapshot mehr (den ich daher in
einige Zeit einstellen werde) und ihr bekommt unsere Aenderungen auch mit
commit-Message zu sehen. ;-)

Ausserdem koennt ihr auf https://anonymizer.zesstra.de:8443/ auch Aenderungen
einreichen, welche dann von mir oder Arathorn gemerged werden koennen.

Es kann sein, dass etwas in dieser oeffentlichen Lib fehlt, was da noch
hingehoert. Meldet euch dann mal.

Anmerkung zum Standort des Repos: dieser ist hoffentlich vorlaeufig und wird
in absehbarer Zukunft auf den MG-Rechner umziehen. Daher hat die Website auch
nur ein selbst-signiertes Zertifikat, welches eurer Browser als unsicher
anmeckern.
Unsicher ist es nicht, wenn es den folgenden SHA256-Fingerprint hat: ;-)
EC:BF:F3:D1:02:86:5F:00:1A:3A:1D:7C:47:AB:C6:6F:FB:9C:D2:3F:EA:DC:47:86:D6:40:
94:24:18:A2:67:D7

Zesstra

-----------------------------------------------------------------------------



oeffentliches MPA-Archiv (Zesstra, 17. Jul 2016, 11:28:59):
Huhu,

auf https://anonymizer.zesstra.de:8443/#/admin/projects/
liegt jetzt ein git-Repository mpa-archiv, welches das MPA-Archiv enthaelt.
Die oeffentlichen Rubriken sind im Zweig "public" und fuer jeden lesbar.
Magier haben Zugriff auf weiterer Zweige, welche nicht-oeffentliche Rubriken
enthalten.

Die bislang fuer Magier erstellten Archive unter /news/ entfallen damit in
Zukunft.

Zesstra

-----------------------------------------------------------------------------



neues Kommando: syntaxhilfe (Zesstra, 30. Jul 2016, 13:26:55):
Huhu...

seit heute koennen Magier in ihren Objekten eine explizite Hilfe zu Syntaxen
ihrer Kommandos ablegen. Diese koennen Spieler mit dem Kommando "syntaxhilfe
<objekt>" anzeigen.
Zur Zeit gibt es noch keine Objekte, die das haben.

Wenn ihr Vorschlaege fuer bessere Hilfen/Erlaeuterungen der moeglichen
Kommandosyntaxen in Objekten habt, dann sind die entsprechenden Magier sicher
dankbar.

Zesstra

-----------------------------------------------------------------------------



Vorschlag fuer Fremdenfuehrer (Nok, 14. Aug 2016, 23:22:45):
Hallo allerseits,

ich spiele grad etwas Anderland, und dort gibt es eine sehr praktische Sache:
NPCs, die einen zwischen den grossen Staedten herumfuehren koennen, und zwar
so, dass man dabei Wegekarten zeichnen kann (der NPC geht einen Schritt und
wartet im naechsten Raum, bis man angekommen ist, und geht dann den naechsten
usw.). Gerade bei Wegen wie Elfendorf-Hochebene waere sowas praktisch, weil es
da sehr viele Abzweige dabei gibt, wo man sich gut verlaufen kann.

Es waere jedenfalls fuer Anfaenger schoen, wenigstens zwischen den
Rassenstartpunkten solche Fuehrer zu haben. Die Biene ist jedenfalls kein
Ersatz dafuer.

Nok i.V.v. Khidar.

-----------------------------------------------------------------------------



Re: Vorschlag fuer Fremdenfuehrer (Zesstra, 16. Aug 2016, 23:13:57):
~#! rn=Nok rt=1471209765 rg=entwicklung
~#! tid=1471209765
Also, ich persoenlich seh es zur Zeit hauptsaechlich als nen Thema der Gilden-
und Regionsmagier (am besten in Absprache). Hab da nix gegen, wenn es
stimmungsvoll gemacht wird.
Ein RM arbeitet wohl an etwas in der Richtung. Vielleicht moegen ja die
entsprechenden Magier ihre Meinung hier dazu aeussern.

Zesstra

-----------------------------------------------------------------------------



Re: Re: Vorschlag fuer Fremdenfuehrer (Notstrom, 18. Aug 2016, 22:56:09):
~#! rn=Zesstra rt=1471382037 rg=entwicklung
~#! tid=1471209765
Huhu,

den Vorschlag finde ich gut. Ich werde aber in naechster Zukunft aufgrund
beruflicher Verschlechterung vermutlich recht wenig Zeit dafuer haben.
Vielleicht kann man ja Bugfix' Wegekundigen als Code-Grundlage auch fuer
andere Wege verwenden?

Notstrom.

-----------------------------------------------------------------------------



Re^3: Vorschlag fuer Fremdenfuehrer (Loom, 19. Aug 2016, 02:01:09):
~#! rn=Notstrom rt=1471553769 rg=entwicklung
~#! tid=1471209765
Hi,
ich finde die Idee auch nicht schlecht. Eventuell tuts ja als Basis auch der
Code von Humis Prinzen, der klappert im Moment ja auch schon eine Reihe von
Voelkern ab und labern kann er auch. :)

Gruesse Loom

-----------------------------------------------------------------------------



Re^4: Vorschlag fuer Fremdenfuehrer (Humni, 19. Aug 2016, 02:12:39):
~#! rn=Loom rt=1471564869 rg=entwicklung
~#! tid=1471209765
Naja, so ein NPC muesste ja mehr koennen. Der Prinz laeuft einen festen Weg
ab, aber so ein NPC muesste ja auf Spieler reagieren und dann diesen Weg
laufen. Andererseits haben wir eine Infrastruktur, die Wege im MG mit Zielen
ermoeglicht (jedenfalls ohne Schiffe und Portale - letztere koennten die NPCs
vermutlich, aber der kleine Spieler hat ja nix davon).

Kann man mal drueber nachdenken. Im Silberland gabs sowas auch. Der NPC heisst
bezeichnenderweise Navi ;-)

Humni

-----------------------------------------------------------------------------



Re^5: Vorschlag fuer Fremdenfuehrer (Loom, 19. Aug 2016, 11:06:37):
~#! rn=Humni rt=1471565559 rg=entwicklung
~#! tid=1471209765
Andererseits haben wir ja doch noch eine relativ hohe Spieleranzahl hier,
denkbar waere ja auch, dass Spieler anderen Spielern als Fremdenfuehrer helfen
und dafuer mit einer Auszeichnung oder sowas belohnt werden, wenn sie diese zu
bestimmten Orten fuehren. Das wuerde das Gemeinschaftsgefuehl neuerer Spieler
foerdern und gleich Kontakt zu den Spielern aufbauen. :)

-----------------------------------------------------------------------------



Re^6: Vorschlag fuer Fremdenfuehrer (Bugfix, 19. Aug 2016, 11:16:06):
~#! rn=Loom rt=1471597597 rg=entwicklung
~#! tid=1471209765
Das Problem, dass dafeur staendig Spieler mit entsprechender Erfahrung nicht
nur eingelogt, sondern auch aktiv sein muessen mal aussen vor ... Ich
befuerchte, dass das anfangs gut funktioniert und dann ganz schnell nicht
mehr, weil die Leute nach dreimal mit anfaengern von Katzmandu zur Hochebene
laufen einfach keinen Bock mehr haben, kostet ja ggf. schon Zeit, je nach dem,
wie gut der Spieler schon mit dem MG zurecht kommt und wie lang der Weg grad
ist.

Bugfix

-----------------------------------------------------------------------------



Re^7: Vorschlag fuer Fremdenfuehrer (Loom, 19. Aug 2016, 11:28:56):
~#! rn=Bugfix rt=1471598166 rg=entwicklung
~#! tid=1471209765
Naja Spieler rennen auch x-mal zum Drom :) Muss halt der Anreiz entsprechend
gross sein. Aber stimmt schon, wuerde vermutlich auf Dauer nicht
funktionieren, wird vermutlich das selbe uebel wie die Ausbildung bei den
Kaempfern werden.

-----------------------------------------------------------------------------



Re^7: Vorschlag fuer Fremdenfuehrer (Ark, 19. Aug 2016, 15:50:26):
~#! rn=Bugfix rt=1471598166 rg=entwicklung
~#! tid=1471209765
Ja, ist leider so. Ob die Spieler dann auch laenger bleiben und dem Spieler FF
auch Stolz und Motivation mitgeben, das ist immer fraglich. Einem NPC ist es
wurscht. Mir nicht recht, aber deshalb "leider".
Ein NPC muss ja nicht alles covern, wenn ich das recht verstanden habe, ist
nicht der Weg das Ziel, sondern das Ziel. Sonst laufen dem Fuehrer alle vor
dem Ziel wieder davon (klingt komisch, der Satz).


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^8: Vorschlag fuer Fremdenfuehrer (Nok, 19. Aug 2016, 20:42:07):
~#! rn=Ark rt=1471614626 rg=entwicklung
~#! tid=1471209765
Also die Fuehrer-NPCs sollen auch nur einen festen Weg ablaufen. Die Abzweige
(spaeter) zu erkunden bleibt dem Spieler ueberlassen, so ein NPC soll halt nur
ein paar Grundlagen vermitteln.
Es wuerde ja reichen, wenn der NPC im Goblindorf zu den Elfen und Hobbits
findet, der im Elfendorf ist mit Katzmandu, Zwergen, Hobbits, Goblins und PV
schon gefragter. Halt immer das, was so am naechsten miteinander verbunden
ist.
So ein NPC muesste auch Schiff fahren koennen, wegen VLand. Dafuer kann er ja
im Hafen auf das Reise-Kommando hinweisen.

Nok i.V.v. Khidar.

-----------------------------------------------------------------------------



Re^9: Vorschlag fuer Fremdenfuehrer (Zesstra, 19. Aug 2016, 21:15:58):
~#! rn=Nok rt=1471632127 rg=entwicklung
~#! tid=1471209765
Technisch ist das Problem "wie komme ich von A nach B" auch geloest - da haben
Tiamak, Humni und ich dran gearbeitet und bis auf einige Schoenheitsfehler tut
das. Sogar nicht nur zwischen bestimmten Endpunkten, sondern weitgehend
beliebigen Raeumen, solange die Raeume dazwischen mehr oder weniger
regelmaessig von Spielern begangen werden.
Soll heissen: ihr muesst euch nicht zuviele Gedanken ueber die technische
Umsetzung machen, die ist nicht mehr so kompliziert. Ist halt noch etwas
Fleissarbeit, huebsche NPCs damit zu bauen, wie was wissen und sagen und was
wollen etc.

Zesstra

-----------------------------------------------------------------------------



Re^9: Vorschlag fuer Fremdenfuehrer (Notstrom, 19. Aug 2016, 22:58:09):
~#! rn=Nok rt=1471632127 rg=entwicklung
~#! tid=1471209765
Aeh.

Also, Fuehrer brauchen wir im Mud nicht. Ich bin immer noch fuer Bugfix'
Formulierung "Wegekundige".

Mein ja nur,
Notstrom.

P.S.: Wochenende!

-----------------------------------------------------------------------------



Die Kommandos Bug/Typo/Idee/Detail (Arathorn,  1. Sep 2016, 00:16:42):
Hallo zusammen,

wir haben heute abend eine Aenderung an den o.g. Kommandos ins Mud 
eingespielt. Fuer euch am wichtigsten ist vermutlich das neue Feature,
dass sich die Eingabezeilen fuer die Fehlermeldung so wie ueberall sonst
ueblich mit "~q" oder ".." abbrechen lassen, ohne eine Meldung abzusetzen.

Weiterhin wird nun bei Eingabe einer Objekt-ID mit Hilfe der Doppelpunkt-
Syntax (siehe auch die Hilfeseiten dazu) sichergestellt, dass die Meldung
nicht leer ist.

Danke an Anatol fuers Absetzen.

Gruss, Arathorn.

P.S.: Wie so oft werden die Neuerungen mit Ende oder Reboot aktiv.

-----------------------------------------------------------------------------



Mailaliase wieder funktionsfaehig (Zesstra,  5. Okt 2016, 21:38:55):
Huhu...

unsere Mailaliase (z.B. erzmagier, aber auch rm_inseln etc.) gingen teilweise
seit einer unbekannten Weile nicht.
Das ist seit vorhin behoben. Nur, falls das doch jemand bemerkt hat...



Zesstra

-----------------------------------------------------------------------------



tmhist und emotes/Soulkommandos (Zesstra, 12. Dez 2016, 21:51:19):
Hallo allerseits,

seit der Einfuehrung der History fuer Kommunikation (tmhist) wird immer mal
wieder kontrovers diskutiert, ob da nicht nur TMs rein sollten. Damals sollten
auch (r)emotes und Soulkommandos rein, weil man das gerne im
Kommunikationskontext haben wollte.

Ich bin da recht offen, will es nur nicht oefter als noetig aendern.
Gebt mir doch mal nen Meinungsbild: sollen (r)emotes und Soulkommandos in die
tmhistory oder nicht?

Zesstra

-----------------------------------------------------------------------------



Re: tmhist und emotes/Soulkommandos (Tin, 12. Dez 2016, 22:08:03):
~#! rn=Zesstra rt=1481575879 rg=entwicklung
~#! tid=1481575879
ic find d a sug t das die drin sind. dann seehe ic wenigstens ob ic jemand
geknuddel t hat .. doer irgendwie zb auf meine nacicht reagier th at mit
winken oder  soonst wie...

-----------------------------------------------------------------------------



Re: tmhist und emotes/Soulkommandos (Xutelius, 12. Dez 2016, 22:11:03):
~#! rn=Zesstra rt=1481575879 rg=entwicklung
~#! tid=1481575879
Moin,

Remotes bzw. Soulkommandos wie rknuddel koennen von mir aus rein, wuerd ich
wohl nicht vermissen, wenn sie nicht drin waeren, stoeren mich aber auch
nicht. Was mich aber stoert sind die femotes, also Emotes vom
Freundschaftsband. Die gehoeren nicht zu den tm-Gespraechen, sind also auch
nicht im gleichen Kontext. Und wenn man prueft ob einem jemand etwas
mitgeteilt hat und dann feststellt, dass das nur ein fknuddel oder so war ist
das eher nervig. Wenn man das speichern will wuerde sich imo eher ein "fhist"
oder so fuers freundschaftsband anbieten, in dem dann auch frufe gespeichert
wird, sonst hat man da nur aus dem Zusammenhang gerissene femotes. Und frufe
mit in die tmhist aufzunehmen find ich auch keine gute Idee, dann wuerden sich
Gespraeche mit mehreren beteiligten naemlich ueber eine ganze Reihe
einzel-Gespraeche in der tmhist verteilen.

Xut*

-----------------------------------------------------------------------------



Re: Re: tmhist und emotes/Soulkommandos (Tin, 12. Dez 2016, 22:12:25):
~#! rn=Xutelius rt=1481577063 rg=entwicklung
~#! tid=1481575879
ic watte scon lalge auf eine fhist...

-----------------------------------------------------------------------------



Re: Re: tmhist und emotes/Soulkommandos (Xutelius, 12. Dez 2016, 22:12:45):
~#! rn=Xutelius rt=1481577063 rg=entwicklung
~#! tid=1481575879
Nachtrag: Ich bin nicht sicher, ob das derzeit passiert, glauber aber nicht.
Man sollte dann der Vollstaendigkeit halber auch die Knuddelmaus in der tmhist
speichern.

Xut*

-----------------------------------------------------------------------------



Re: Re: tmhist und emotes/Soulkommandos (Zesstra, 13. Dez 2016, 20:18:16):
~#! rn=Xutelius rt=1481577063 rg=entwicklung
~#! tid=1481575879
ja, danke fuer den Hinweis. Also, frufe und femote verhalten sich nun gleich,
beides landet nicht in der normalen tmhistory. So war es vermutlich auch
gedacht.
Davon unabhaengig sagt bitte weiterhin was zu normalen emotes/soulverben. ;-)

Zesstra

-----------------------------------------------------------------------------



Re^3: tmhist und emotes/Soulkommandos (Huraxprax, 14. Dez 2016, 19:59:23):
~#! rn=Zesstra rt=1481656696 rg=entwicklung
~#! tid=1481575879
Also ich schliesse mich dabei Xutelius an. Ich benutze remotes, rknuddel,
rgrins und aehnliches als teil der Kommunikation, und finde die sollten auch
somit teil der tmhist werden. Fband, frufe und femotes sind eine eigene Sache,
ob es dafuer eine interne Hist geben soll, waere fuer mich in Ordnung aber
nichts was ich sehr vermisse, aber bin prinzipiell dafuer dass remote und tm
zusammengefasst werden.

hurax

-----------------------------------------------------------------------------



Re^4: tmhist und emotes/Soulkommandos (Zaphob, 14. Dez 2016, 22:23:22):
~#! rn=Huraxprax rt=1481741963 rg=entwicklung
~#! tid=1481575879
Ich bin auch fuer fhist und die normale tmhistory soll bitte die Knuddelmaus
und alles beruecksichtigen, notfalls auch deaktivierbar, falls Puristen das
irgendwie stoert. Ob mir aber jemand einen Smiley oder ein "grins" mitteilt
oder eben emote oder Knuddelmaus benutzt, gehoert beides zu unserem
Ferngespraech.

-----------------------------------------------------------------------------



Re^5: tmhist und emotes/Soulkommandos (Zesstra, 14. Dez 2016, 22:40:12):
~#! rn=Zaphob rt=1481750602 rg=entwicklung
~#! tid=1481575879
ok, dann weiss ich Bescheid.
Dann noch was: sollte das Ziel fuer "erwidere" nur von teile-mit geaendert
werden oder auch von anderen Verben, die in der tmhistory landen?

Zesstra

-----------------------------------------------------------------------------



Re^6: tmhist und emotes/Soulkommandos (Zaphob, 14. Dez 2016, 22:43:02):
~#! rn=Zesstra rt=1481751612 rg=entwicklung
~#! tid=1481575879
Hier bin ich selbst Purist und wuerde die Regel nicht erweitern: Nur
Textnachrichten sollen das Ziel aendern, keine Verben.

Wer schreibt denn die fhist? Es gibt feinste Anerkennung gratis.

-----------------------------------------------------------------------------



Re^6: tmhist und emotes/Soulkommandos (Huraxprax, 14. Dez 2016, 22:44:46):
~#! rn=Zesstra rt=1481751612 rg=entwicklung
~#! tid=1481575879
Nachdem "erwidere" bei mir zu boesen und chronischen Zookelsymptomen gefuehrt
hat, habe ich das Alias fuer erwidere entfernt, und durch aliase fuer haeufige
Konversationspartner ersetzt, was doe Symptomati deutlich verbessert aber noch
nicht geheilt hat... also "erwidere" nutze ich ohnehin nicht mehr, wuerde aber
das nicht aendern.

-----------------------------------------------------------------------------



Re^7: tmhist und emotes/Soulkommandos (Zesstra, 14. Dez 2016, 22:44:48):
~#! rn=Zaphob rt=1481751782 rg=entwicklung
~#! tid=1481575879
Achso: ich verspreche nicht, dass das geht - aber ich guck ggf. nochmal, ob
mir was dazu einfaellt.

Zesstra

-----------------------------------------------------------------------------



Re^8: tmhist und emotes/Soulkommandos (Zesstra, 17. Dez 2016, 20:24:13):
~#! rn=Zesstra rt=1481751888 rg=entwicklung
~#! tid=1481575879
Also... Ich denke, ich habe es jetzt so umgebaut, dass das Ziel von erwidere
tatsaechlich nur noch beim teile-mit/erwidere geaendert wird, nicht mehr von
soulverben oder (r)emotes.
Das ganze erst nach ende/reboot. Bitte meldet euch, falls es nicht klappt oder
das mal wieder Nebenwirkungen haben sollte.

Zesstra

-----------------------------------------------------------------------------



Toplisten: Rasse und Austragen (Zesstra, 28. Jan 2017, 14:12:39):
Huhu...

Wenn man sich fuer die Toplisten sperrt, wird man nun auch sofort aus den
Toplisten geloescht (nur die Standardtoplisten aus Kneipen etc.).
Entsperrt man sich wieder, kann man jedoch fruehstens nach dem naechsten Login
(NICHT: ende) wieder in den Listen auftauchen.

Ausserdem: man taucht immer mit seiner realen Rasse in den Listen auf, nicht
mit etwaigen getarnten Rassen.

Zesstra

-----------------------------------------------------------------------------



Selbstloeschung (Zesstra, 29. Jan 2017, 12:35:35):
Bei der Warnung von Selbstloeschung wird nun der Name des zu loeschenden Chars
nochmal explizit mit angegeben.
Ausserdem Meldung bei Chars mit P_NO_ASCII_ART verbessert.

Zesstra

-----------------------------------------------------------------------------



Schiffe und Transporter... (Zesstra, 27. Sep 2017, 20:22:18):
In dieser Uptime gab es ja schon leider verschiedentlich Probleme mit selten
benutzten Transportern, die ihren Dienst einstellten... Ich habe vor kurzem
eine Aenderung eingebaut, die das Problem entschaerfen sollte (ein
Workaround). Bitte bei Problemen weiterhin melden...

Zesstra

-----------------------------------------------------------------------------



Bugfix in Transportern/Schiffen seit 24.10. (Zesstra, 25. Okt 2017, 23:03:38):
Seit gestern neu geladene Transporter/Schiffe enthalten einen Bugfix, der das
Problem loest, dass Transporter u.U. den Startpunkt ihrer Route ueberspringen
koennen. Das ist vermutlich auch ein Teil der Probleme in dieser Uptime
gewesen.
Ich versprech zwar nicht, dass alles geloest ist, aber die Transporter sollten
wieder ein bisschen zuverlaessiger sein. ;-)

Zesstra

-----------------------------------------------------------------------------



Transporter (Zesstra, 11. Feb 2018, 21:34:09):
Nachdem mir heute mal wieder zugetragen wurde, es gaebe Probleme mit den
Transportern im MG:
Im Laufe der leztzten 8 Monate gabs es div. Bugfixes an den Transpoprtern.
Wenn jemand Probleme bemerkt: es waere gut zu wissen, ob es dann ein
Transporter ist, der noch nicht auf dem aktuellen Stand ist oder ob ich ein
neues Problem suchen muss.
Mich erreichen fast immer nur so "transporter kommen manchmal nicht", manchmal
auch nur zweiter Hand, aber nur selten gibt mir mal jemand nen ordentlichen
Bugreport.

Also:
Wenn ein Transport nicht kommt, schreibt dazu: Wann? Wo? Welcher Transporter?
Sind alle an dem Haltepunkt betroffen?

Wenn ihr Magier seid: ist dieser Transporter geladen oder nicht? Welche
program_time() hat er (wenn aelter als Tue Oct 24 22:36:08 2017, bitte
neuladen)? Steht er permanent in irgendeinem (anderen) Raum rum? Wenn er
geladen ist: kommt er, wenn ihr am Transport Continue() ruft? Wenn nicht:
setzt er seine Route fort, wenn ihr in seinen Raum geht?
Hilfreich waere auch, mir mal mit einem konkreten Auftreten bescheid zu sagen,
damit ich das mal selber untersuchen kann.

Zesstra

-----------------------------------------------------------------------------



Re: Transporter (Zesstra, 12. Feb 2018, 21:59:33):
~#! rn=Zesstra rt=1518381249 rg=entwicklung
~#! tid=1518381249
Huhu...

So, ich habe heute Abend drei weitere Probleme im Zusammenhang mit
Transportern identifiziert.

1) Die Navigatoren hatten die komische Angewohnheit, unter bestimmten
Umstaenden den ersten Haltepunkt ihrer Route zu umfahren.
2) Die Kapitaene waren etwas faul, haben sie auf der ersten Rundfahrt nicht
gelernt, wie ein Spieler aussieht, haben sie einfach staendig Pause gemacht.

Speziell beides zusammen wurde von den Mannschaften bei selten besuchen
Transportmitteln genutzt, um sich die Sonne auf den Bauch scheinen zu lassen.

3) Die Hafenmeister haben generell einfach zuviel Urlaub gemacht und
vergessen, den Kapitaenen ne Nachricht zu schicken, dass wieder Leute da
stehen und mit wollen.

Alles drei konnte durche eine Kombination von Ausschimpfen, leichte Anhebung
des Mindestlohns und dem Bedrohen mit aus den Drachenzinnen gerufenen Drachen
korrigiert werden.

Wir haben uns bemueht, alle Betroffenen Navigatoren, Kapitaene und
Hafenmeister persoenlich zu besuchen. Aber falls wir jemanden vergessen haben
oder gar noch jemand der im Reisesektor taetigen Personen ihren Job nicht
korrekt ausfuehren, ist die Regulierungsbehoerde fuer Reisen und Teleports
dankbar fuer sachdienliche Hinweise.

Zesstra

-----------------------------------------------------------------------------



Flaschenfuellen (Zesstra,  6. Mar 2018, 22:59:26):
Huhu...

neue Flaschen (bzw. Behaelter) kann jetzt in viel mehr Raeumen mit Wasser
nicht nur mit der Syntax "fuelle flasche" fuellen, sondern auch mit "fuelle
wasser in flasche", "fuelle flasche mit wasser" oder "fuelle flasche aus
wasser" fuellen. Bisher ging das nur in relativ wenigen Raeumen mit Wasser
(weil eine bestimmte technische Gegebenheit erfuellt sein musste, die eher
selten gebaut wurde.

Alte Flaschen sind doof wie immer.

Zesstra

-----------------------------------------------------------------------------



Allgemeine Waffenskills (Humni, 15. Mar 2018, 23:06:41):
Hallo ihr,

die allgemeinen Waffenskills wurden einer Aenderung unterzogen.

a) Ihr lernt sie nun schneller.
b) Ihr lernt sie nun schneller, vor allem auch im oberen Bereich.

Die Wirkung wurde nicht veraendert.

Damit das Ganze aktiv wird, muesst ihr einmal "ende" machen, einen Reboot
abwarten oder gerade zufaellig Seher werden.

Danke an Zesstra und Arathorn fuer die umfangreichen Beratungen.

Humni

-----------------------------------------------------------------------------



Maximale Zeilenbreite (Zaphob, 26. Jul 2018, 16:37:07):
Gab es nicht eine maximale Laenge, die eine Zeile im Spiel erreichen darf,
bevor sie umgebrochen wird?

Wie gross ist die genau?

Ich frage deshalb, weil das im Client manchmal doof kommt, wenn man das
Fenster entsprechend schmal einstellt, und dann doch nicht allen Inhalt sehen
kann, ohne zu scrollen.

Also wie und wo sollten solche ueberlangen Zeilen gemeldet werden, damit sie
repariert werden koennen?

Aktuelles Beispiel bei finger ennox: Ueber 100 Zeichen in folgender Zeile:
Regionsmitarbeiter von: Anfaenger, Ebene, Fernwest, Gebirge, Schattenwelt,
Unterwelt, Vland.

-----------------------------------------------------------------------------



Re: Maximale Zeilenbreite (Zook, 26. Jul 2018, 17:09:54):
~#! rn=Zaphob rt=1532615827 rg=entwicklung
~#! tid=1532615827
Wir haben eine Empfehlung nach 78 Zeichen umzubrechen. Aber ich meine
man kann auch mehr ausgeben, dann gibt es ggf. bei einigen Clients
Probleme.

Zook

-----------------------------------------------------------------------------



Re: Re: Maximale Zeilenbreite (Bugfix, 26. Jul 2018, 17:10:42):
~#! rn=Zook rt=1532617794 rg=entwicklung
~#! tid=1532615827
Ja, 78 Zeichen ist das uebliche und ich als RM bau auch laengere Zeilen aus.

Bugfix

-----------------------------------------------------------------------------



Re^3: Maximale Zeilenbreite (Zaphob, 26. Jul 2018, 17:16:00):
~#! rn=Bugfix rt=1532617842 rg=entwicklung
~#! tid=1532615827
OK, also in Raumbeschreibungen usw. einfach als Typo?

Im vorherigen Beispiel ist es ja etwas anders gelagert. 
Ich schreibe mal ein Update fuer p/daemon/finger.c

-----------------------------------------------------------------------------



Re^4: Maximale Zeilenbreite (Zesstra, 26. Jul 2018, 17:24:31):
~#! rn=Zaphob rt=1532618160 rg=entwicklung
~#! tid=1532615827
Ja...
Anmerkung dazu aber: Clients koennen im Prinzip eine Zeilenlaenge aushandeln.
Aber das wird nur in wenigen Faellen beachtet. Dies zu aendern ist moeglich,
braucht aber viel Zeit und in der Zwischenzeit kommt eine wilde Mischung
zwischen dem 78-Zeichen-Standard und dann laengeren oder kuerzeren Zeilen, was
IMHO arg doof aussieht.

Zesstra

-----------------------------------------------------------------------------



Re^4: Maximale Zeilenbreite (Ark, 26. Jul 2018, 17:57:26):
~#! rn=Zaphob rt=1532618160 rg=entwicklung
~#! tid=1532615827
Ja, als Typo absetzen. Ich schliesse "Verstoesse" gegen die 78 Zeichen
Konvention in meinem aelteren Code auch nicht aus, besonders "Gesprochenes"
hab ich der Optik halber haendisch umgebrochen und frueher nicht auf 78
Zeichen geachtet. Mails oder aehnliches sind eher ungeeignet.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^4: Maximale Zeilenbreite (Zesstra, 27. Jul 2018, 10:25:42):
~#! rn=Zaphob rt=1532618160 rg=entwicklung
~#! tid=1532615827
Jetzt gab es direkt zwei Patches fuer den finger.c, die das gefixt haben. Waer
schoen, wenn das oefter so waere. :-)
Dank an Zaphob und Bugfix.

Zesstra

-----------------------------------------------------------------------------



Maximale Anzahl erwarte-wegen (Zesstra, 27. Jul 2018, 13:11:23):
Wir haben die max. Anzahl an Eintraegen von "erwarte x wegen grund" angehoben.
Spieler koennen nun 30, Seher 60 Eintraege vornehmen.

Zesstra

-----------------------------------------------------------------------------



Re^5: Maximale Zeilenbreite (Zaphob, 30. Jul 2018, 01:44:59):
~#! rn=Zesstra rt=1532679942 rg=entwicklung
~#! tid=1532615827
Ein aehnliches Problem gibt es anscheinend bei "alias" - wenn sehr lange Alias
definiert wurden, werden diese hier auch in einer Zeile ausgegeben, ohne die
maximale Laenge zu beachten.

Gab es eigentlich eine Entscheidung GEGEN eine Ausgabeoption fuer "alias", das
die Ergebnisse so darstellt, dass man sie leicht bei einem Zweitie wieder
einkopieren kann? Das wuerde o.g. naemlich noch weiter erschweren.


-----------------------------------------------------------------------------



Re^6: Maximale Zeilenbreite (Zaphob, 30. Jul 2018, 01:48:30):
~#! rn=Zaphob rt=1532907899 rg=entwicklung
~#! tid=1532615827
Wo wir schon dabei sind: Auch der Editor, der bspw. Zeitungsartikel schreiben
laesst, wird unter gewissen Umstaenden mehr als 78 Zeichen auswerfen. Er
ergaenzt ja pro Zeile ein Zeichen am Anfang, bspw. Doppelpunkt oder Raute.
Somit wird eine eigentlich auf 78 Zeichen begrenzte eingegebene Zeile dann ein
Zeichen laenger. Als Beispiel die Zeile vor dieser hier. Sie ist genau 78
Zeichen lang, wird dann aber mit 79 Zeichen angezeigt. Sollte der Editor also
schon bei 77 abschneiden? Oder ist dies alles eingeplanter Puffer fuer ein
"wirkliches" Limit bei 80 Zeichen o.s.ae?

-----------------------------------------------------------------------------



Re^6: Maximale Zeilenbreite (Chagall, 30. Jul 2018, 07:32:29):
~#! rn=Zaphob rt=1532907899 rg=entwicklung
~#! tid=1532615827
"alias -a" existiert doch schon.

MC

-----------------------------------------------------------------------------



Re^6: Maximale Zeilenbreite (Zesstra, 30. Jul 2018, 09:19:19):
~#! rn=Zaphob rt=1532907899 rg=entwicklung
~#! tid=1532615827
Also, Chagall wies ja schon auf -a hin, das ist fuer den Transfer zu anderen
Chars zur Zeit das Mittel der Wahl.
Gerade in dem Fall koennte ich mir aber vorstellen, dass ein Zeilenumbruch in
der Ausgabe meist kontroproduktiv fuer das Cut&Paste ist - ich wuerde sowas
ungebrochen bevorzugen und dann soll notfalls der Client umbrechen. Dann kann
man meist kopieren und einfuegen ohne die Zeile in einem externen Editor
nochmal zusammenzusetzenm.

Zesstra

-----------------------------------------------------------------------------



Re^7: Maximale Zeilenbreite (Zesstra, 30. Jul 2018, 09:22:13):
~#! rn=Zaphob rt=1532908110 rg=entwicklung
~#! tid=1532615827
Mhmm, meinst Du wirklich den Editor oder die spaetere Ausgabe in der MPA?

Zesstra

-----------------------------------------------------------------------------



Re^7: Maximale Zeilenbreite (Zaphob, 30. Jul 2018, 17:13:15):
~#! rn=Zesstra rt=1532935159 rg=entwicklung
~#! tid=1532615827
OK -a hatte ich nicht auf dem Schirm. Das sollte wohl ohne Umbrueche sein,
wenn man das explizit so anfordert. Hingegen die normale Anzeige braucht noch
Umbrueche spendiert. Ich wuerde einen Bugfix einreichen, aber vermutlich ist
er schneller. :D 

-----------------------------------------------------------------------------



Re^8: Maximale Zeilenbreite (Zaphob, 30. Jul 2018, 17:14:39):
~#! rn=Zesstra rt=1532935333 rg=entwicklung
~#! tid=1532615827
Ich meine explizit den Editor, der auch fuer Mail usw. genutzt wird. Die Mail
und MPA erlauben 78 Zeichen, also nutzt der Editor eins mehr, wenn man bspw.
~r aufruft. 

-----------------------------------------------------------------------------



Re^9: Maximale Zeilenbreite (Zaphob, 31. Jul 2018, 00:57:15):
~#! rn=Zaphob rt=1532963679 rg=entwicklung
~#! tid=1532615827
Weiter geht die breite Reise...

Extralook (hilfe extralook) kann Probleme machen, wenn man andere Spieler
untersucht. Genau so wie bspw. die Taetowierung im Struv, die beim Anschauen
des Spielers ebenfalls nicht richtig bzw. gar nicht umgebrochen werden. Und
zwar sowohl die vom Spieler eingegebenen Texte, als auch die Beschreibung,
wenn man so wie ich schon zwei Taetowationen traegt.

Abgesehen davon werden auch die Meldungen, die sich Seher so setzen koennen,
um Raeume zu betreten und verlassen nicht rechtzeitig umgebrochen. Ich meine
Kommandos wie setmin, setmmin, und -out, usw. Das betrifft sowohl den review,
als auch das tatsaechliche Bewegen im Raum. Hingegen der Titel macht nur
innerhalb Review Probleme, aber beim Untersuchen vom Raum wird er korrekt
umgebrochen.

Ich kann mir vorstellen, dass ich ein bisschen zu nervig werde, dann bitte ein
Feedback geben. :)

-----------------------------------------------------------------------------



Re^10: Maximale Zeilenbreite (Zesstra, 31. Jul 2018, 09:05:46):
~#! rn=Zaphob rt=1532991435 rg=entwicklung
~#! tid=1532615827
Also, erstmal grundsaetzlich: die 78 Zeichen sind eine uebliche Konvention,
kein Versprechen. 80 Zeichen sind auch in Ordnung. Gar nicht umgebrochen
sollte hingegen nicht vorkommen und sind IMHO ein Fehler. Am besten dann
direkt an dem Objekt/Raum etc. als Fehler absetzen.
Extralook und Taetowierungen kann man vermutlich sinnvoll umbrechen.
Die Bewegungsmeldungen sind etwas anderes. Wenn man sie umbricht, ist der Rest
in der naechsten Zeile getrennt vom Spielernamen (was z.B. fuer Clientscripte
eher doof ist). All diese Meldungen (und der Titel+Presay) sollten kurze
Meldungen sein, die mit dem Spielernamen dann auch noch in 78 Zeichen passen.
Wenn das zu oft nicht der Fall ist und Spieler stoert, muessten wir diese
individuellen Einstellungen begrenzen auf eine sinnvolle Laenge.

Zesstra

-----------------------------------------------------------------------------



Re^10: Maximale Zeilenbreite (Notstrom, 31. Jul 2018, 15:01:30):
~#! rn=Zaphob rt=1532991435 rg=entwicklung
~#! tid=1532615827
Die Struv-Taetowierungen befinden sich momentan eh gerade im Umbruch (Pun
intended). Man kann bei dem Umzug darauf achten, die gleich mit umzubrechen,
aber momentan fummel ich da nicht dran rum.

Notstrom.

-----------------------------------------------------------------------------



Freundschaftsband (Arathorn, 13. Nov 2018, 20:37:10):
Hallo zusammen,

ich habe gerade einige Aenderungen am FBand vorgenommen. Idealerweise sollte
sich an den Funktionen und den Ausgaben fuer euch nichts geaendert haben.
Wenn ihr aber doch etwas feststellt, das nicht mehr so ist wie vorher,
meldet euch.

Gruss, Arathorn.

-----------------------------------------------------------------------------



Re: Freundschaftsband (Arathorn, 13. Nov 2018, 20:38:55):
~#! rn=Arathorn rt=1542137830 rg=entwicklung
~#! tid=1542137830
Achso, Aenderungen natuerlich nur nach Reboot/Ende/Crash oder Erneuerung
des FBandes mittels Autoloadertruhe. Ich habe nicht alle bestehenden
FBaender ausgetauscht.

Arathorn.

-----------------------------------------------------------------------------



Untersuchen von Dingen (Zesstra, 18. Nov 2018, 22:53:48):
Huhu,

ich habe die letzten Tage das Untersuchen (Kommandos: untersuche, rieche,
lausche, taste, lese etc.) ziemlich viel umgebaut. Auch fuer Spieler gibt es
ein paar Aenderungen, aber groesstenteils sollte alles wie gewohnt
funktionieren.
Was in Zukunft geht: untersuchen von Detail/Objekten in Containern, die in
Container enthalten sind. (z.B. "unt riss an diament in beutel in paket").
Ausserdem wird diese Suche des gewuenschten Objekts/Details auch
durchgefuehrt, wenn sich "der Blick der Umgebung zuwendet", das war frueher
nicht so.

Ansonsten gibts viele technische Aenderungen im Getriebe, die ihr hoffentlich
allesamt nicht bemerkt. Wenn irgendwas nicht richtig funktioniert, sagt
Bescheid.

Die Aenderungen bekommt ihr nach Ende/Reboot mit.

Zesstra

-----------------------------------------------------------------------------



Re: Untersuchen von Dingen (Tizona, 21. Nov 2018, 21:38:52):
~#! rn=Zesstra rt=1542578028 rg=entwicklung
~#! tid=1542578028
OK ich habe jetzt einigermassen versucht das einzugrenzen: Manchmal, wenn man
durch die Gegend laeuft, geht der Fokus verloren und anstatt auf einem selber,
liegt er auf einem ominoesen 0.

Also genauer:
westen
osten
westen
osten
unt doenertier
Ausgabe: Du findest an 0 kein "Doenertier". Dein Blick wendet sich der
Umgebung zu.
Erwartet: Du findest an Tizona kein "Doenertier". Dein Blick wendet sich der
Umgebung zu.

Wenn man dann mal wieder etwas anguckt, was auch wirklich existiert, dann geht
es eine Weile, aber nach etwas hin und herlaufen laesst sich obiges
reproduzieren.

Bei den anderen Sinnen bin ich noch nicht ueber aehnliches gestolpert.
Das ist auch erst nach Ende/bei einem neuen Char so, Zweities die ich bereits
eingeloggt hatte, haben das nicht.

-----------------------------------------------------------------------------



Re: Re: Untersuchen von Dingen (Zesstra, 21. Nov 2018, 22:34:11):
~#! rn=Tizona rt=1542832732 rg=entwicklung
~#! tid=1542578028
Danke fuer die Info. Das Problem mit der "0" ist mir zwischenzeitlich auch
selber aufgefallen und weiss auch, wann das passiert, hab aber noch keine Zeit
gefunden, mich drum zu kuemmern. Diese Woche ist gerade unguenstig.
Der Verlust des Referenzobjektes ist zwar nicht ueblich beim Raumwechsel
(falls man es mitnimmt), passiert aber z.B. bei einem "schau". Das koennten
clientscripte ggf. automatisiert tun.

Zesstra

-----------------------------------------------------------------------------



Re^3: Untersuchen von Dingen (Zesstra, 22. Nov 2018, 20:26:50):
~#! rn=Zesstra rt=1542836051 rg=entwicklung
~#! tid=1542578028
Die Meldung sollte jetzt korrigiert sein.

Zesstra

-----------------------------------------------------------------------------



Re^4: Untersuchen von Dingen (Tizona,  2. Dez 2018, 19:00:05):
~#! rn=Zesstra rt=1542914810 rg=entwicklung
~#! tid=1542578028
Manchmal sind jetzt Dinge kaputt, die vorher funktionierten, also mit der
alten Shell funktioniert es ordnungsgemaess, mit der neuen Shell und der
dazwischen (die noch die 0 hat, ich hab die noch hier) gibt es ein seltsames
Fehlerbild. Ist die neue Shell jetzt so reif, dass das lediglich an den
Objekten abzusetzen ist, oder ist da noch eine gesonderte Meldung gewuenscht,
damit man etwaige konzeptionelle Fehler finden kann? Falls ja, was waere der
kanonische Ort?

Konkretes Beispiel waere jetzt gerade die Karte von Katzmandu vom Priester in
Katzmandu, die nur sehr eigenartig funktioniert, aber vielleicht ist die ja
auch einfach eigenartig geschrieben. (Man muss schau machen bevor das lies
karte klappt).

-----------------------------------------------------------------------------



Re^5: Untersuchen von Dingen (Zesstra,  2. Dez 2018, 23:15:17):
~#! rn=Tizona rt=1543773605 rg=entwicklung
~#! tid=1542578028
Was Tizona beschrieb, wird im Laufe der Woche gefixt.
Wer beim Untersuchen Fehler im Raum-Zeit-Gefuege bekommt, kann ein ende
versuchen, der bisher bekannte FiRZG ist repariert.

Zesstra

-----------------------------------------------------------------------------



Re^6: Untersuchen von Dingen (Zesstra,  3. Dez 2018, 21:50:28):
~#! rn=Zesstra rt=1543788917 rg=entwicklung
~#! tid=1542578028
Das von Tizona berichtete Problem (bei Vorhandensein eines gueltigen
Referenzobjektes wurden Objekte im eigenen Inventar nicht gefunden), ist auch
repariert. Ausserdem gibt es ausfuehrlichere und hoffentliche bessere
Meldungen wo gesucht wird und wenn nix gefunden wird. (Es scrollt etwas
mehr...)

Zum Wirksamwerden des Fixes braucht es ein ende/reboot.

Zesstra

-----------------------------------------------------------------------------



Sehr fruehe Spieler (Zaphob,  5. Dez 2018, 12:50:33):
Wenn man sehr fruehe Spieler fingert, scheint es so, als seien sie vor 0
Sekunden ausgeloggt. Auch weitere Felder scheinen seltsam, bspw. Ort oder
Gildenstufe, usw. Vielleicht gab es diese Felder damals noch gar nicht oder
anders, und nun werden sie durch "finger" seltsam dargestellt..? Vielleicht
sollte "finger" das bemerken und abfangen.

Beispiel: finger trude, finger hobbit, usw.

-----------------------------------------------------------------------------



Re^7: Untersuchen von Dingen (Zesstra,  5. Dez 2018, 21:26:54):
~#! rn=Zesstra rt=1543870228 rg=entwicklung
~#! tid=1542578028
Ich hab auf Wunsch die Formulierung der Meldungen geaendert. Weitere
Aenderungen nicht ausgeschlossen. ;-)

Zesstra

-----------------------------------------------------------------------------



Re^8: Untersuchen von Dingen (Zesstra,  5. Dez 2018, 22:31:35):
~#! rn=Zesstra rt=1544041614 rg=entwicklung
~#! tid=1542578028
Mal zwei Fragen fuer ein Meinungsbild:
1) Moechtet ihr lieber diese Meldungen "Dein Blick wendet sich ..." u.ae.
immer haben, wenn das passiert oder nur im (Fehler-)Falle, dass gar nix
gefunden wird, angezeigt bekommen? (Nachteil waere: wenn was gefunden wird,
erkennt man nicht, ob das nun am Referenzobjekt, im Raum oder in euch gefunden
wurde.)
2) Moechtet ihr diese Meldungen wie bisher nur fuer das normale Untersuchen
(anschauen) oder auch fuer lesen, tasten, riechen, schmecken? Die Meldungen
machen es einfacher zu erkennen, was wo gesucht wird, aber es scrollt
natuerlich mehr, insb. bei den Sachen, die selten beschrieben sind.

Zesstra

-----------------------------------------------------------------------------



Re^9: Untersuchen von Dingen (Deaddy,  5. Dez 2018, 22:50:01):
~#! rn=Zesstra rt=1544045495 rg=entwicklung
~#! tid=1542578028
Ich faende es schoen, wenn man, analog zu ultrakurz, kurz und lang bei den
Raumbeschreibungen, auch die Verbositaet von Untersuche einstellen koennte.
Die kleinste Stufe so wie es vorher war, die naechste Stufe zeigt lediglich
noch einmal das gesuchte Wort an und die dritte das volle Programm, so wie
gerade.

Bei den anderen Sinnen finde ich es nicht ganz so wichtig, einzig beim Lesen
ist das doch manchmal etwas hakelig, aber ich glaube das liegt meist an
schlechten Implementationen in den jeweiligen Gegenstaenden, also vermutlich
wuerde es dort gar nicht helfen.

-----------------------------------------------------------------------------



Re^10: Untersuchen von Dingen (Mundron,  6. Dez 2018, 11:05:26):
~#! rn=Deaddy rt=1544046601 rg=entwicklung
~#! tid=1542578028
Ich finde Deaddys Vorschlag sehr gut, dass man sich einstellen kann, wie viel
man angezeigt bekommt und wuerde mich darueber auch sehr freuen. Wobei ich das
bei den anderen aktionen, wie lesen, tasten etc nicht sicher bin ob es wichtig
ist.

-----------------------------------------------------------------------------



Re^11: Untersuchen von Dingen (Deaddy,  6. Dez 2018, 11:07:46):
~#! rn=Mundron rt=1544090726 rg=entwicklung
~#! tid=1542578028
Mein Vorschlag ist leider zu komplex umzusetzen, auch wenn er natuerlich der
beste ist.

Persoenlich finde ich es mit den neuen Formulierungen gut, aber ich bin auch
scrollimmun, da sollte jemand anders was zu sagen.

-----------------------------------------------------------------------------



Re^12: Untersuchen von Dingen (Zesstra,  6. Dez 2018, 16:18:36):
~#! rn=Deaddy rt=1544090866 rg=entwicklung
~#! tid=1542578028
Also, nicht grundsaetzlich zu komplex, aber mir zur Zeit zuviel, weil ich
soviel Zeit und Lust fuer das Untersuche nicht habe. Ich habe mich in den
letzten Wochen bestimmt jenseits von 20h damit befasst und irgendwann ist auch
mal schluss, weil Pensum gedeckt fuer 2-3 jahre. Aber vielleicht mags ja
spaeter jemand anders aufgreifen.

Zesstra

-----------------------------------------------------------------------------



Re^13: Untersuchen von Dingen (Zaphob,  6. Dez 2018, 19:21:02):
~#! rn=Zesstra rt=1544109516 rg=entwicklung
~#! tid=1542578028
Dafuer wuerde ich auch plaedieren.
Das Untersuchen ist eben mit die zentralste Spielmechanik und eine der ersten
Sachen, die neue Spieler im Tutorial so auf die Nase gedrueckt bekommen. Dort
scrollt es zudem sowieso schon stark ueberdurchschnittlich. Deswegen schon mal
danke fuer den korrigierten Entwurf jetzt, der die probierte Reihenfolge
wiedergibt und auch das untersuchte Objekt benennt.  

Zap*

-----------------------------------------------------------------------------



Re^14: Untersuchen von Dingen (Zesstra,  6. Dez 2018, 22:08:32):
~#! rn=Zaphob rt=1544120462 rg=entwicklung
~#! tid=1542578028
Also der Status zur Zeit ist:

Bei unt(ersuche) und lies wird angezeigt, wo man nach dem angebenen Ding
sucht.
Bei den anderen Sinnen nicht.

# unt seil in mir
Du siehst ein ganz normales Seil. ...
# unt wolle (gleich wie: unt wolle an seil [in mir])
Diese Wolle ist ...
# unt blafasel
Sowas siehst Du an/in einem Seil nicht. Du schaust Dich um.
Sowas siehst Du hier nicht. Du schaust Dich an.
'Blafasel' siehst Du auch da nicht! 
# unt kratzer an muenze in boerse in mir
Das Konterfei ist schon ganz schoen zerkratzt.

Wird endgueltig nichts gefunden, wird bei untersuche (und lies) mit angeben,
wonach man gesucht hat.

# unt foobar
'Foobar' siehst Du auch da nicht!

nicht vorhandene Details an gefundenen Objekten:
# unt foobar an seil
'Foobar' siehst Du da nicht!
# unt nichtda an muenze in boerse in mir
'Nichtda' siehst Du da nicht!

Details an nicht gefundenen Objekten:
# unt foobar an nichtda
Sowas siehst Du hier nicht. Du schaust Dich an.
'Foobar an nichtda' siehst Du auch da nicht!
# unt kratzer an muenze in boersedd in mir
'Kratzer an muenze in boersedd' siehst Du da nicht!

Zesstra

-----------------------------------------------------------------------------



Re^16: Untersuchen von Dingen (Arson,  7. Dez 2018, 17:10:39):
~#! rn=Arson rt=1544198624 rg=entwicklung
~#! tid=1542578028
Gibt es eine Moeglichkeit, zu differenzieren, ob ein Detail oder ein Objekt im
Raum untersucht werden soll?
bzw. ist dies gewuenscht oder wurde mit den neusten Entwicklungen schon
umgesetzt?
Beispielsweise steht irgendwo in der Raumbeschreibung: "auf einem der
Regalbretter steht eine Flasche."
Gleichzeitig liegt im Raum ein Objekt namens "Flasche"
In diesen Faellen habe ich es bisher nur geschafft, das Detail aus der
Raumbeschreibung zu untersuchen.

arson

-----------------------------------------------------------------------------



Re^17: Untersuchen von Dingen (Zesstra,  7. Dez 2018, 17:16:54):
~#! rn=Arson rt=1544199039 rg=entwicklung
~#! tid=1542578028
Man kann das nicht festlegen, dass man nur Details oder nur Objekte finden
will. Also weder frueher noch jetzt.
In Deinem Beispiel muss aber eigentlich immer das Objekt "Flasche" gefunden
werden, nicht das Detail im Raum. Das wird von einigen Magiern auch gezielt
genutzt, daher ist ne Aenderung nicht ganz einfach.
Es wuerde aber mit einer Neuentwicklung gehen, die ich seit einiger Zeit in
Entwicklung habe. Das geht dann aber nicht automagisch, sondern muss gezielt
im Raum so genutzt werden. Dann koennte man naemlich im Raum ein Objekt
(regal) definieren, was ein Detail "Flasche" (oder sogar nen echtes Objekt)
hat und es dann mittels "unt flasche auf regel" untersuchen.

Zesstra

-----------------------------------------------------------------------------



Re^18: Untersuchen von Dingen (Arson,  7. Dez 2018, 17:29:26):
~#! rn=Zesstra rt=1544199414 rg=entwicklung
~#! tid=1542578028
Ja, habe es gerade nochmal reproduziert. Es wird die Objektbeschreibung
ausgegeben.
Ich war der Meinung, dass ich vesrays Leiche letztens aufgrund dieses Umstands
nicht untersuchen konnte. muss ich bei Gelegenheit noch mal testen.


-----------------------------------------------------------------------------



Re^18: Untersuchen von Dingen (Xutelius, 16. Dez 2018, 17:01:04):
~#! rn=Zesstra rt=1544199414 rg=entwicklung
~#! tid=1542578028
> In Deinem Beispiel muss aber eigentlich immer das Objekt "Flasche" gefunden
> werden, nicht das Detail im Raum. Das wird von einigen Magiern auch gezielt
> genutzt, daher ist ne Aenderung nicht ganz einfach.

Stimmt nicht ganz, seit der Aenderung vor ein paar Jahren bzgl.
Referenzobjekt, wird zuerst das Detail gefunden, wenn der Raum grad das
Referenzobjekt ist.

-----------------------------------------------------------------------------



Re^19: Untersuchen von Dingen (Zesstra, 16. Dez 2018, 20:11:29):
~#! rn=Xutelius rt=1544976064 rg=entwicklung
~#! tid=1542578028
Da moechte ich widersprechen.
Prioritaet der geprueften Umgebungen:
1) die explizit angegeben (in mir, in raum)
2) Das Referenzobjekt
3a) der umgebende Raum
3b) ich selbst

Innerhalb dieser Umgebungen werden erst Objekte mit passender ID gesucht und
wenn keine gefunden werden, nach Details.

Bis vor ein paar Wochen gab es aber eine Variation davon:
In 3a und 3b hatten Objekte in mir Vorrang vor Details im Raum.
Dafuer war ein Fehler drin, dass Details an mir nicht gefunden wurden, wenn
ich nicht das Referenzobjekt war oder explizit angegeben wurde.

Aber in der Situation "Objekt im Raum mit gleicher ID wie Detail in Raum" muss
in beiden Faellen das Objekt im Raum gefunden werden, nicht das Detail.

Zesstra

-----------------------------------------------------------------------------



Familienaliase (Zesstra, 27. Mai 2019, 22:23:55):
Huhu allerseits,

ich habe vorhin eine Erweiterung der Aliase im Spiel eingebaut. Und zwar kann
man nun Familienaliase definieren, welche sich alle Chars in einer
Zweitiefamilie (inkl. dem Erstie) teilen.

Hierbei ist es unerheblich, welcher Char das Familienalias erstellt hat. Alle
anderen Chars bekommen Aenderungen der Familienaliase beim naechsten Login
automatisch mit (vorher kennen sie ein neues nicht oder benutzen, falls eins
geaendert wurde).

Familienaliase werden ggf. von gleichnamigen Aliasen im Char ueberdeckt, d.h.
das Familienalias ist dann nicht erreichbar oder benutzbar.

Bitte beachten: wenn ihr einen Char verleiht, sieht der Entleiher alle eure
Familienaliase und kann diese alle aendern oder loeschen.

Die Familienaliase kann mit ganz normal mit alias anlegen und anzeigen und mit
unalias loeschen, wenn man das Argument "-f" mit angibt. Details findet ihr in
der Hilfeseite zu alias + unalias.

Hinweis: Die Familienaliase sind ab jetzt fuer *Menschen* (und Magier) nach
Ende/Reboot verfuegbar. In 1-2 Tagen werden sie fuer alle Rassen verfuegbar
sein, bis dahin sind die Menschen die Versuchskaninchen. ;-) Feedback bitte an
mich.

Zesstra

-----------------------------------------------------------------------------



Re: Familienaliase (Zesstra, 29. Mai 2019, 22:18:45):
~#! rn=Zesstra rt=1558988635 rg=entwicklung
~#! tid=1558988635
Ab jetzt kommen alle Rassen in den Genuss der Familienaliase. (Nach
Ende/Reboot)

Zesstra

-----------------------------------------------------------------------------



Fehlereingabe an Raeumen (Zesstra, 12. Jun 2019, 23:49:12):
Huhu,

da Raeume ja keine ansprechbare ID haben, war das Absetzen von Fehlern am Raum
etwas umstaendlich. Der Einfachheit halber kann man dies nun mit der ID "hier"
oder "raum" erzwingen.
Beispiel:
bug hier:Die Meldung x bei Befehl y kommt doppelt.
typo raum: Am detail TOD wird TOD nicht gross geschrieben.

Wie immer ab Ende/Reboot.

Zesstra

-----------------------------------------------------------------------------



Re: Fehlereingabe an Raeumen (Tizona, 13. Jun 2019, 00:42:15):
~#! rn=Zesstra rt=1560376152 rg=entwicklung
~#! tid=1560376152
Klasse, in Zukunft sollte es dann viel weniger Fehler an
Tizona/darkelf.c/woauchimmerdasbeimirimmerlandete geben .:-D

-----------------------------------------------------------------------------



Transporterpausen (Zesstra,  4. Jul 2019, 23:13:43):
Huhu allerseits,

ich habe vorhin noch ein paar Korrekturen in den Transportern/Schiffen
eingebaut.

Eine davon loest ein Problem, was vielleicht jemandem passiert ist.
Wenn man zu einem unguenstigen Zeitpunkt zu einem Haltepunkt kam, konnte es
passieren, dass der Transporter gerade "Pause macht", bevor er wieder
vorbeikommt. Wenn man dann dort idelte, passierte das nicht, denn die Pause
von Transportern wird grundsaetzlich dann beendet, wenn man einen Haltepunkt
betritt...
Die Pausenvorschriften sehen nun vor, dass das Personal vor der Pause prueft,
ob  noch jemand an einem Haltepunkt rumsteht.

Es sind noch nicht alle Transporter mit diesem Fix versehen - wenn ihr an
einem Haltepunkt idelt und der Transporter kommt nicht: geht einfach mal raus
und rein, das sollte es dann tun.

Zesstra

-----------------------------------------------------------------------------



Anfaengerhandbuecher... (Zesstra, 28. Aug 2019, 23:00:27):
... loesen sich ja bekanntlich auf, wenn sie nicht mehr in einem Spieler sind.
Sie tun dies aber jetzt nicht mehr, wenn sie in einem Behaelter in einem
Spieler sind, d.h. man kann sie nun in Pakete/Rucksaecke/etc. packen.

Zesstra

-----------------------------------------------------------------------------



